feat(server): marketplace + Console SPA deps for self-host runtime (ADR-0020 T1)#27
Merged
Merged
Conversation
…t runtime (ADR-0020 T1)
Make @objectos/server a complete open-source self-host runtime distribution by
pinning the Console SPA and marketplace client as explicit dependencies:
- @objectstack/console ^10.2.0 — the /_console/ SPA
- @objectstack/cloud-connection ^10.2.0 — marketplace browse/install,
cloud-connection, runtime-config
The objectstack CLI already auto-provisions both on top of the standalone stack
for every entry point (Docker, dev, and the ObjectOS One desktop — all route
through `objectstack serve`): it injects the marketplace + cloud-connection +
runtime-config plugins from @objectstack/cloud-connection (gated on
resolveCloudUrl(); OS_CLOUD_URL=off -> fully offline) and serves the
@objectstack/console SPA at /_console/. So objectstack.config.ts stays a bare
standalone stack; a doc note records why explicit wiring is omitted (it would
double-mount) and the ADR-0006 Phase 4 caveat.
Verified: online -> SPA renders in-browser (no console errors) + marketplace API
returns the live catalog + runtime-config served; offline (OS_CLOUD_URL=off) ->
marketplace plugins unmounted, SPA still served, zero outbound cloud calls.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ADR-0020 T1 — grow
@objectos/serverinto the open-source self-host runtimeMakes
apps/objectosa complete open-source self-host runtime distribution (marketplace client + Console SPA), per ADR-0020.What changed
apps/objectos/package.json— pin two deps so the distribution explicitly carries them:@objectstack/console@^10.2.0— the/_console/SPA@objectstack/cloud-connection@^10.2.0— marketplace browse/install + cloud-connection + runtime-configapps/objectos/objectstack.config.ts— doc-only note (config stays a bare standalone stack).Key finding (why no explicit plugin wiring)
The
objectstackCLI already auto-provisions the full self-host runtime on top of any standalone stack — every entry point (Docker,dev, and the ObjectOS One desktop viaone.mjs) routes throughobjectstack serve, which injects the marketplace + cloud-connection + runtime-config plugins from@objectstack/cloud-connection(gated onresolveCloudUrl();OS_CLOUD_URL=off→ fully offline) and serves the@objectstack/consoleSPA at/_console/. Wiring those plugins explicitly inobjectstack.config.tswould double-mount, so it's intentionally omitted (documented in the config; would only be needed if a future framework drops the CLI auto-injection — ADR-0006 Phase 4).Verification
type-checkclean./_console/SPA renders in a real browser (React mounts, zero console errors) ·/api/v1/marketplace/packagesreturns the live catalog ·/api/v1/runtime/configserved.OS_CLOUD_URL=off): marketplace/cloud-connection/runtime-config unmounted, SPA still served, zero outbound cloud calls.apps/objectos-one+one.mjs) untouched — kept per ADR-0020.🤖 Generated with Claude Code