feat(cli): auto-wire marketplace from @objectstack/cloud-connection when a cloud URL resolves#2009
Merged
Merged
Conversation
…hen a cloud URL resolves ADR-0006 Phase 4 removed the framework CLI's duplicate marketplace plugins (they lived in @objectstack/runtime, duplicating the cloud distribution's copies). ADR-0008 then open-sourced the canonical client into the Apache-2.0 @objectstack/cloud-connection package, so the CLI can wire it again without crossing the open-core boundary — there is no longer a cloud-only copy to duplicate. objectstack serve/dev/start now mount MarketplaceProxyPlugin + MarketplaceInstallLocalPlugin + the same-origin cloud-connection surface + RuntimeConfigPlugin (single-env, installLocal: true) whenever resolveCloudUrl() is truthy. OS_CLOUD_URL=off (or unset) mounts nothing, preserving the vanilla marketplace-less objectstack dev. Skipped in runtime/host-kernel mode (the cloud objectos-stack wires its own proxy on the host kernel — detected via ObjectOSEnvironmentPlugin, mirroring the existing AuthPlugin guard). Fixes objectstack start empty-boot, which advertised "boot an empty kernel against your marketplace" but — having no config or artifact to carry the wiring — actually mounted no marketplace at all. The plugins self-register their Setup nav bundles, so Browse Marketplace + Installed Apps reappear automatically. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
📓 Docs Drift CheckThis PR changes 1 package(s): 15 hand-written doc(s) reference the affected code and may need an implementation-accuracy re-verification:
|
os-zhuang
added a commit
that referenced
this pull request
Jun 26, 2026
fix(tree): render with object-shaped columns + offer Tree in Create View dialog (#2009) objectui@4ae978082c5e568cd0eaaf3bb2465ff57f311677
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.
What
The framework CLI (
objectstack serve/dev/start) auto-wires the marketplace again —MarketplaceProxyPlugin+MarketplaceInstallLocalPlugin+ the same-origin cloud-connection surface +RuntimeConfigPlugin(single-env,installLocal: true) — gated onresolveCloudUrl()being truthy. Imported from the open@objectstack/cloud-connectionpackage.Why
@objectstack/runtime.@objectstack/cloud-connectionpackage (framework-side).@objectstack/objectos-runtime) was stale.The concrete bug this fixes
objectstack startempty-boot (OS_BOOT_EMPTY=1) advertises "boot an empty kernel against your marketplace" — but with no config and no artifact, there is no host to carry the marketplace wiring, so the only place it can come from is the CLI itself. Post-ADR-0006 the CLI mounted nothing, so empty-boot was silently marketless. This restores it.Behavior
OS_CLOUD_URLresolvesOS_CLOUD_URL=off/ unsetobjectstack devpreservedobjectos-stackwires its own proxy on the host kernel; detected viaObjectOSEnvironmentPlugin, mirroring the existing AuthPlugin guard — avoids double-mount)Changes
packages/cli/package.json— add@objectstack/cloud-connection: workspace:*packages/cli/src/commands/serve.ts— conditional wiring block (replaces the ADR-0006 "REMOVED" comment).changeset/cli-marketplace-autowire.md— minorVerification
tsc -p tsconfig.build.json(real typecheck with declarations) — 53/53 pass, no errors in the changed block.eslintbinary in reponode_modules); code mirrors the existing5c/5dauto-inject blocks.🤖 Generated with Claude Code