Skip to content

feat(runtime)!: remove multi-tenant runtime — framework is single-environment only#1600

Merged
xuyushun441-sys merged 1 commit into
mainfrom
feat/slim-remove-multitenant-runtime
Jun 5, 2026
Merged

feat(runtime)!: remove multi-tenant runtime — framework is single-environment only#1600
xuyushun441-sys merged 1 commit into
mainfrom
feat/slim-remove-multitenant-runtime

Conversation

@xuyushun441-sys

Copy link
Copy Markdown
Contributor

⚠️ BREAKING CHANGE — 需人工评审 + 与 cloud 协调,勿自动合并

多租户 ObjectOS 运行时整体移出开源 framework,迁到 cloud 私有发行包 @objectstack/objectos-runtime。framework 自此只支持单环境本地运行时

动机

cloud 业务/多租户路由不应存在于开源 framework;演进 cloud 策略绝不应要求改 framework(参见已 revert 的 #1598——按 plan 门控 aiStudio 本应在 cloud)。

删除(@objectstack/runtime 不再导出)

createObjectOSStackKernelManager(实现)、ArtifactApiClientFileArtifactApiClientArtifactEnvironmentRegistryArtifactKernelFactoryAuthProxyPlugin、capability-loader、per-env owner/org seeds、platform-SSO。

保留(本地 os serve 控制台需要)

RuntimeConfigPlugin(已恢复为 plan-agnostic)、MarketplaceProxyPluginMarketplaceInstallLocalPluginresolveCloudUrl/DEFAULT_CLOUD_URL
另保留纯接口契约供宿主运行时接入外部多租户路由:EnvironmentDriverRegistry + 最小 KernelManager(getOrCreate)——http-dispatcher 的可选 kernelManager seam 现在类型指向它们。

验证

  • runtime build(ESM+CJS+DTS)全绿;138 个 runtime 测试通过。
  • cloud 侧已先行:apps/objectos + apps/cloud 不再从 @objectstack/runtime 引任何多租户符号(改用 @objectstack/objectos-runtime / @objectstack/service-cloud)。

合并顺序(重要)

  1. 先合 cloud 侧 PR(引入 @objectstack/objectos-runtime + 接线)。
  2. 再合本 PR。
  3. cloud bump-framework 钉到本 PR 的 SHA → cloud 在瘦身后的 framework 上构建。

外部使用者若依赖多租户 API:迁移到 cloud 发行版。CLI os serve(单环境)不受影响。

BREAKING CHANGE: the multi-tenant ObjectOS runtime moves out of the
open-source framework to the cloud distribution (@objectstack/objectos-runtime).

The framework now supports only the SINGLE-environment local runtime. Removed
from @objectstack/runtime: createObjectOSStack, KernelManager (impl),
ArtifactApiClient, FileArtifactApiClient, ArtifactEnvironmentRegistry,
ArtifactKernelFactory, AuthProxyPlugin, the capability loader, the
per-environment owner/org seeds, and platform-SSO.

Kept (the local `os serve` console needs them): RuntimeConfigPlugin (now
plan-agnostic again), MarketplaceProxyPlugin, MarketplaceInstallLocalPlugin,
resolveCloudUrl/DEFAULT_CLOUD_URL. Also kept as pure interface contracts so a
host runtime can accept an externally-supplied multi-tenant kernel router:
EnvironmentDriverRegistry and a minimal KernelManager (getOrCreate) — the
http-dispatcher's optional `kernelManager` seam now types against these.

Why: cloud business / multi-tenant routing must not live in the open-source
framework, and evolving cloud policy must never require a framework change
(see the reverted #1598). The cloud side already consumes the relocated code
from @objectstack/objectos-runtime; apps/objectos + apps/cloud no longer import
any multi-tenant symbol from @objectstack/runtime.

runtime build (ESM+CJS+DTS) green; 138 runtime tests pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 5, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
spec Ready Ready Preview, Comment Jun 5, 2026 4:17pm

Request Review

@xuyushun441-sys xuyushun441-sys merged commit 60fc501 into main Jun 5, 2026
12 checks passed
@xuyushun441-sys xuyushun441-sys deleted the feat/slim-remove-multitenant-runtime branch June 5, 2026 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants