Skip to content

chore: version packages - #1355

Closed
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main
Closed

chore: version packages#1355
github-actions[bot] wants to merge 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@objectstack/platform-objects@7.0.0

Minor Changes

  • 4f9e9d4: Setup App: complete the Configuration settings pages.

    Setup App navigation

    The Configuration group now lists every built-in settings namespace
    (previously Storage was missing entirely, and Knowledge had no entry):

    • Branding · Email · File Storage · AI & Embedder · Knowledge · Feature Flags

    Order in the left-nav now matches builtinSettingsManifests so the
    "All Settings" index and the left-nav stay aligned.

    AI manifest — embedder section

    ai.manifest.ts now ships an Embedder section in addition to the
    existing chat-LLM section. Knobs:

    • embedder_providernone (default) / openai / azure /
      dashscope (阿里通义) / zhipu (智谱) / siliconflow (硅基流动) /
      doubao (火山引擎) / minimax / ollama / custom. Preset list
      mirrors @objectstack/embedder-openai's OPENAI_COMPATIBLE_PRESETS.
    • embedder_api_key — encrypted password.
    • embedder_model — free text with documented examples per provider.
    • embedder_base_url — visible for custom / azure only.
    • embedder_dimensions — optional Matryoshka override.
    • embedder_batch_sizeembed() chunk batch size.
    • Test action wired to POST /api/settings/ai/test_embedder — fallback
      validates form completeness; real probe lives in service-ai /
      service-knowledge.

    New knowledge settings manifest

    knowledge.manifest.ts is the canonical surface for RAG infrastructure:

    • adaptermemory / turso / ragflow.
    • Turso group — turso_url (libsql://, file:, :memory:) + encrypted
      turso_auth_token. Leaving URL blank means "reuse the tenant's
      primary libSQL connection" — the recommended cloud setup.
    • RAGFlow group — base URL + encrypted API key + default dataset id.
    • Indexing defaults — chunk_target, chunk_overlap, over_fetch.
    • Permissions — enforce_rls defaults to true (security-critical;
      toggling off skips the platform's unique RLS re-check on every hit).
    • Test action wired to POST /api/settings/knowledge/test.

    Translations

    Full ai and knowledge translation blocks added to both en.ts and
    zh-CN.ts. Storage block had translations already.

    Tests

    • ai.manifest.test.ts: +5 cases covering embedder select, encryption,
      test action wiring, and embedder handler validation across 5 provider
      shapes (none / ollama / OpenAI-compatible cloud / custom / azure).
    • knowledge.manifest.test.ts: 20 new cases covering manifest shape,
      adapter selection, secret encryption, default enforce_rls=true,
      test handler validation across all 3 adapters and payload merging.

    78/78 tests pass in @objectstack/service-settings.

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0

@objectstack/embedder-openai@7.0.0

Minor Changes

  • 430067b: Introduce IEmbedder protocol and extract @objectstack/embedder-openai plugin.

    What's new

    • IEmbedder contract (@objectstack/spec/contracts/embedder.ts) — protocol-level interface for text → vector providers. One contract covers cloud APIs (OpenAI / 阿里通义 / 智谱 / 硅基流动 / 火山 Doubao / MiniMax), local Ollama daemons, and in-process embedders.
    • @objectstack/embedder-openai — new package. Drop-in for any OpenAI-shape endpoint via baseUrl. Ships preset constants for 8 mainstream providers (createOpenAIEmbedder({ preset: 'siliconflow', ... })) and pre-baked dimensions for 16+ popular models.

    Breaking changes (@objectstack/knowledge-turso)

    • OpenAIEmbeddingProvider is removed — install @objectstack/embedder-openai and use OpenAIEmbedder instead (identical option shape).
    • EmbeddingProvider type alias kept as a deprecated re-export of IEmbedder for smoother migration; will be removed in a future major.
    • HashEmbeddingProvider is now an alias for the renamed HashEmbedder class — no functional change.

    Migration

    - import { OpenAIEmbeddingProvider } from '@objectstack/knowledge-turso';+ import { OpenAIEmbedder } from '@objectstack/embedder-openai';- const embedding = new OpenAIEmbeddingProvider({ apiKey });+ const embedding = new OpenAIEmbedder({ apiKey });

    For 国内 providers, use presets:

    import{createOpenAIEmbedder}from"@objectstack/embedder-openai";constembedding=createOpenAIEmbedder({preset: "siliconflow",// or 'dashscope', 'zhipu', 'doubao', 'ollama', …apiKey: process.env.SILICONFLOW_API_KEY!,model: "BAAI/bge-m3",});

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0

@objectstack/knowledge-turso@7.0.0

Minor Changes

  • 430067b: Introduce IEmbedder protocol and extract @objectstack/embedder-openai plugin.

    What's new

    • IEmbedder contract (@objectstack/spec/contracts/embedder.ts) — protocol-level interface for text → vector providers. One contract covers cloud APIs (OpenAI / 阿里通义 / 智谱 / 硅基流动 / 火山 Doubao / MiniMax), local Ollama daemons, and in-process embedders.
    • @objectstack/embedder-openai — new package. Drop-in for any OpenAI-shape endpoint via baseUrl. Ships preset constants for 8 mainstream providers (createOpenAIEmbedder({ preset: 'siliconflow', ... })) and pre-baked dimensions for 16+ popular models.

    Breaking changes (@objectstack/knowledge-turso)

    • OpenAIEmbeddingProvider is removed — install @objectstack/embedder-openai and use OpenAIEmbedder instead (identical option shape).
    • EmbeddingProvider type alias kept as a deprecated re-export of IEmbedder for smoother migration; will be removed in a future major.
    • HashEmbeddingProvider is now an alias for the renamed HashEmbedder class — no functional change.

    Migration

    - import { OpenAIEmbeddingProvider } from '@objectstack/knowledge-turso';+ import { OpenAIEmbedder } from '@objectstack/embedder-openai';- const embedding = new OpenAIEmbeddingProvider({ apiKey });+ const embedding = new OpenAIEmbedder({ apiKey });

    For 国内 providers, use presets:

    import{createOpenAIEmbedder}from"@objectstack/embedder-openai";constembedding=createOpenAIEmbedder({preset: "siliconflow",// or 'dashscope', 'zhipu', 'doubao', 'ollama', …apiKey: process.env.SILICONFLOW_API_KEY!,model: "BAAI/bge-m3",});
  • 4f9e9d4: Settings → runtime bridge: embedder_* settings now build a real
    IEmbedder and register it as a kernel-level DI service.

    @objectstack/spec

    • Exports EMBEDDER_SERVICE = 'embedder' from contracts/embedder.ts
      as the canonical DI token for the kernel-registered embedder.

    @objectstack/service-ai

    • Adds @objectstack/embedder-openai as an optional peer dependency
      (matches the @ai-sdk/* provider plugins pattern).
    • AIServicePlugin.bindSettings() now also:
      • Reads embedder_provider / embedder_api_key / embedder_model /
        embedder_base_url / embedder_dimensions from the ai namespace.
      • Dynamically imports @objectstack/embedder-openai and constructs
        an OpenAIEmbedder via createOpenAIEmbedder({ preset, … }).
      • Registers / replaces the instance under EMBEDDER_SERVICE. When
        the operator sets embedder_provider = none, the service is left
        unset so adapters can fail fast with a clear message.
      • Subscribes to settings:changed for the ai namespace so embedder
        swaps go live without restart (mirrors the chat-adapter pattern).
      • Overrides the manifest's fallback ai/test_embedder action with a
        live one-shot embed(['ping']) round-trip against the form's
        (possibly unsaved) values. Reports vector dims + latency.

    @objectstack/knowledge-turso

    • KnowledgeTursoPlugin's embedding constructor option is now
      optional. When omitted, the plugin resolves EMBEDDER_SERVICE
      from the kernel at start() time — typically the embedder built by
      @objectstack/service-ai from the ai settings namespace.
    • Explicit embedding still wins when both are present (useful for
      tests and multi-embedder setups).
    • Logs (embedder=<id>, dims=<n>) on adapter registration so operators
      can confirm wiring at a glance.
    • When neither path resolves, the plugin warns with a one-line hint
      pointing to Settings → AI & Embedder and no-ops gracefully (the
      host kernel still boots).

    Tests

    • service-ai: +5 cases (now 85) covering ai/test_embedder action
      registration, provider=none warning, missing-api-key error,
      custom-provider-without-base-URL error, and the full happy path
      (mocked fetch → embedder registered under EMBEDDER_SERVICE
      test_embedder action returns vector dims).
    • knowledge-turso: new plugin.test.ts (+5 cases) covering deferred
      construction, EMBEDDER_SERVICE fallback, explicit-wins precedence,
      missing-both warn-and-noop, and missing-knowledge-service warn.

    End-to-end now possible: operator opens Settings → AI & Embedder,
    picks 硅基流动 + paste API key + chooses BAAI/bge-m3, hits Save.
    Within the same process, EMBEDDER_SERVICE is registered/replaced,
    KnowledgeTursoPlugin (if started without an explicit embedder)
    picks it up, and subsequent knowledge.search() calls embed via the
    new provider — no restart, no env vars.

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/service-knowledge@7.0.0

@objectstack/service-ai@7.0.0

Minor Changes

  • 4f9e9d4: Settings → runtime bridge: embedder_* settings now build a real
    IEmbedder and register it as a kernel-level DI service.

    @objectstack/spec

    • Exports EMBEDDER_SERVICE = 'embedder' from contracts/embedder.ts
      as the canonical DI token for the kernel-registered embedder.

    @objectstack/service-ai

    • Adds @objectstack/embedder-openai as an optional peer dependency
      (matches the @ai-sdk/* provider plugins pattern).
    • AIServicePlugin.bindSettings() now also:
      • Reads embedder_provider / embedder_api_key / embedder_model /
        embedder_base_url / embedder_dimensions from the ai namespace.
      • Dynamically imports @objectstack/embedder-openai and constructs
        an OpenAIEmbedder via createOpenAIEmbedder({ preset, … }).
      • Registers / replaces the instance under EMBEDDER_SERVICE. When
        the operator sets embedder_provider = none, the service is left
        unset so adapters can fail fast with a clear message.
      • Subscribes to settings:changed for the ai namespace so embedder
        swaps go live without restart (mirrors the chat-adapter pattern).
      • Overrides the manifest's fallback ai/test_embedder action with a
        live one-shot embed(['ping']) round-trip against the form's
        (possibly unsaved) values. Reports vector dims + latency.

    @objectstack/knowledge-turso

    • KnowledgeTursoPlugin's embedding constructor option is now
      optional. When omitted, the plugin resolves EMBEDDER_SERVICE
      from the kernel at start() time — typically the embedder built by
      @objectstack/service-ai from the ai settings namespace.
    • Explicit embedding still wins when both are present (useful for
      tests and multi-embedder setups).
    • Logs (embedder=<id>, dims=<n>) on adapter registration so operators
      can confirm wiring at a glance.
    • When neither path resolves, the plugin warns with a one-line hint
      pointing to Settings → AI & Embedder and no-ops gracefully (the
      host kernel still boots).

    Tests

    • service-ai: +5 cases (now 85) covering ai/test_embedder action
      registration, provider=none warning, missing-api-key error,
      custom-provider-without-base-URL error, and the full happy path
      (mocked fetch → embedder registered under EMBEDDER_SERVICE
      test_embedder action returns vector dims).
    • knowledge-turso: new plugin.test.ts (+5 cases) covering deferred
      construction, EMBEDDER_SERVICE fallback, explicit-wins precedence,
      missing-both warn-and-noop, and missing-knowledge-service warn.

    End-to-end now possible: operator opens Settings → AI & Embedder,
    picks 硅基流动 + paste API key + chooses BAAI/bge-m3, hits Save.
    Within the same process, EMBEDDER_SERVICE is registered/replaced,
    KnowledgeTursoPlugin (if started without an explicit embedder)
    picks it up, and subsequent knowledge.search() calls embed via the
    new provider — no restart, no env vars.

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/embedder-openai@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-settings@7.0.0

Minor Changes

  • 4f9e9d4: Setup App: complete the Configuration settings pages.

    Setup App navigation

    The Configuration group now lists every built-in settings namespace
    (previously Storage was missing entirely, and Knowledge had no entry):

    • Branding · Email · File Storage · AI & Embedder · Knowledge · Feature Flags

    Order in the left-nav now matches builtinSettingsManifests so the
    "All Settings" index and the left-nav stay aligned.

    AI manifest — embedder section

    ai.manifest.ts now ships an Embedder section in addition to the
    existing chat-LLM section. Knobs:

    • embedder_providernone (default) / openai / azure /
      dashscope (阿里通义) / zhipu (智谱) / siliconflow (硅基流动) /
      doubao (火山引擎) / minimax / ollama / custom. Preset list
      mirrors @objectstack/embedder-openai's OPENAI_COMPATIBLE_PRESETS.
    • embedder_api_key — encrypted password.
    • embedder_model — free text with documented examples per provider.
    • embedder_base_url — visible for custom / azure only.
    • embedder_dimensions — optional Matryoshka override.
    • embedder_batch_sizeembed() chunk batch size.
    • Test action wired to POST /api/settings/ai/test_embedder — fallback
      validates form completeness; real probe lives in service-ai /
      service-knowledge.

    New knowledge settings manifest

    knowledge.manifest.ts is the canonical surface for RAG infrastructure:

    • adaptermemory / turso / ragflow.
    • Turso group — turso_url (libsql://, file:, :memory:) + encrypted
      turso_auth_token. Leaving URL blank means "reuse the tenant's
      primary libSQL connection" — the recommended cloud setup.
    • RAGFlow group — base URL + encrypted API key + default dataset id.
    • Indexing defaults — chunk_target, chunk_overlap, over_fetch.
    • Permissions — enforce_rls defaults to true (security-critical;
      toggling off skips the platform's unique RLS re-check on every hit).
    • Test action wired to POST /api/settings/knowledge/test.

    Translations

    Full ai and knowledge translation blocks added to both en.ts and
    zh-CN.ts. Storage block had translations already.

    Tests

    • ai.manifest.test.ts: +5 cases covering embedder select, encryption,
      test action wiring, and embedder handler validation across 5 provider
      shapes (none / ollama / OpenAI-compatible cloud / custom / azure).
    • knowledge.manifest.test.ts: 20 new cases covering manifest shape,
      adapter selection, secret encryption, default enforce_rls=true,
      test handler validation across all 3 adapters and payload merging.

    78/78 tests pass in @objectstack/service-settings.

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/spec@7.0.0

Minor Changes

  • 430067b: Introduce IEmbedder protocol and extract @objectstack/embedder-openai plugin.

    What's new

    • IEmbedder contract (@objectstack/spec/contracts/embedder.ts) — protocol-level interface for text → vector providers. One contract covers cloud APIs (OpenAI / 阿里通义 / 智谱 / 硅基流动 / 火山 Doubao / MiniMax), local Ollama daemons, and in-process embedders.
    • @objectstack/embedder-openai — new package. Drop-in for any OpenAI-shape endpoint via baseUrl. Ships preset constants for 8 mainstream providers (createOpenAIEmbedder({ preset: 'siliconflow', ... })) and pre-baked dimensions for 16+ popular models.

    Breaking changes (@objectstack/knowledge-turso)

    • OpenAIEmbeddingProvider is removed — install @objectstack/embedder-openai and use OpenAIEmbedder instead (identical option shape).
    • EmbeddingProvider type alias kept as a deprecated re-export of IEmbedder for smoother migration; will be removed in a future major.
    • HashEmbeddingProvider is now an alias for the renamed HashEmbedder class — no functional change.

    Migration

    - import { OpenAIEmbeddingProvider } from '@objectstack/knowledge-turso';+ import { OpenAIEmbedder } from '@objectstack/embedder-openai';- const embedding = new OpenAIEmbeddingProvider({ apiKey });+ const embedding = new OpenAIEmbedder({ apiKey });

    For 国内 providers, use presets:

    import{createOpenAIEmbedder}from"@objectstack/embedder-openai";constembedding=createOpenAIEmbedder({preset: "siliconflow",// or 'dashscope', 'zhipu', 'doubao', 'ollama', …apiKey: process.env.SILICONFLOW_API_KEY!,model: "BAAI/bge-m3",});
  • 4f9e9d4: Settings → runtime bridge: embedder_* settings now build a real
    IEmbedder and register it as a kernel-level DI service.

    @objectstack/spec

    • Exports EMBEDDER_SERVICE = 'embedder' from contracts/embedder.ts
      as the canonical DI token for the kernel-registered embedder.

    @objectstack/service-ai

    • Adds @objectstack/embedder-openai as an optional peer dependency
      (matches the @ai-sdk/* provider plugins pattern).
    • AIServicePlugin.bindSettings() now also:
      • Reads embedder_provider / embedder_api_key / embedder_model /
        embedder_base_url / embedder_dimensions from the ai namespace.
      • Dynamically imports @objectstack/embedder-openai and constructs
        an OpenAIEmbedder via createOpenAIEmbedder({ preset, … }).
      • Registers / replaces the instance under EMBEDDER_SERVICE. When
        the operator sets embedder_provider = none, the service is left
        unset so adapters can fail fast with a clear message.
      • Subscribes to settings:changed for the ai namespace so embedder
        swaps go live without restart (mirrors the chat-adapter pattern).
      • Overrides the manifest's fallback ai/test_embedder action with a
        live one-shot embed(['ping']) round-trip against the form's
        (possibly unsaved) values. Reports vector dims + latency.

    @objectstack/knowledge-turso

    • KnowledgeTursoPlugin's embedding constructor option is now
      optional. When omitted, the plugin resolves EMBEDDER_SERVICE
      from the kernel at start() time — typically the embedder built by
      @objectstack/service-ai from the ai settings namespace.
    • Explicit embedding still wins when both are present (useful for
      tests and multi-embedder setups).
    • Logs (embedder=<id>, dims=<n>) on adapter registration so operators
      can confirm wiring at a glance.
    • When neither path resolves, the plugin warns with a one-line hint
      pointing to Settings → AI & Embedder and no-ops gracefully (the
      host kernel still boots).

    Tests

    • service-ai: +5 cases (now 85) covering ai/test_embedder action
      registration, provider=none warning, missing-api-key error,
      custom-provider-without-base-URL error, and the full happy path
      (mocked fetch → embedder registered under EMBEDDER_SERVICE
      test_embedder action returns vector dims).
    • knowledge-turso: new plugin.test.ts (+5 cases) covering deferred
      construction, EMBEDDER_SERVICE fallback, explicit-wins precedence,
      missing-both warn-and-noop, and missing-knowledge-service warn.

    End-to-end now possible: operator opens Settings → AI & Embedder,
    picks 硅基流动 + paste API key + chooses BAAI/bge-m3, hits Save.
    Within the same process, EMBEDDER_SERVICE is registered/replaced,
    KnowledgeTursoPlugin (if started without an explicit embedder)
    picks it up, and subsequent knowledge.search() calls embed via the
    new provider — no restart, no env vars.

@objectstack/account@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/client@7.0.0
    • @objectstack/client-react@7.0.0

@objectstack/express@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0

@objectstack/fastify@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0

@objectstack/hono@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0
    • @objectstack/plugin-hono-server@7.0.0

@objectstack/nestjs@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0

@objectstack/nextjs@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0

@objectstack/nuxt@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0

@objectstack/sveltekit@7.0.0

Patch Changes

  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/runtime@7.0.0

@objectstack/cli@7.0.0

Patch Changes

  • c5efe15: Remove residual coupling to the (already-extracted) @objectstack/service-cloud package.

    The cloud distribution was migrated to a separate repo a while back, but the open-core CLI still carried:

    • A dynamic import('@objectstack/service-cloud') in the boot-mode dispatch for cloud / runtime modes.
    • A dev-mode auto-mount that tried to load createSingleEnvironmentPlugin from the cloud package (now fully covered by the built-in RuntimeConfigPlugin).
    • An ambient .d.ts stub for @objectstack/service-cloud.
    • A leftover empty packages/services/service-cloud/ directory (only stale dist/ + node_modules/).
    • Several doc-comment references.

    All gone. The open-core CLI now supports bootMode: 'standalone' only — non-standalone modes throw a clear error pointing users to the cloud distribution. No runtime behavior change for standalone users.

  • 4944f3a: Fix npx @objectstack/cli start crashing with Cannot find package '@objectstack/metadata' (and friends).

    @objectstack/runtime dynamically import()s @objectstack/metadata,
    @objectstack/objectql, and the storage drivers (driver-memory,
    driver-sql, driver-sqlite-wasm, driver-turso) from
    createStandaloneStack / createDefaultHostConfig, but they were only
    listed in devDependencies — so when the package was installed from npm
    (rather than the workspace) these imports failed at boot.

    They are now declared as real dependencies. @objectstack/driver-mongodb
    remains an optionalDependency because the standalone stack only loads
    it when the user passes a mongodb:// URL (the failure path already has
    a friendly error message).

    Also adds a small quick-start CLI command (objectstack start) that
    auto-creates ~/.objectstack/{data,dist,auth-secret}, boots an empty
    kernel with Studio + marketplace mounted, and lets users install apps at
    runtime — no objectstack.config.ts required.

  • e0c593f: Make @objectstack/driver-turso an optional peer dependency so default npx @objectstack/cli start no longer installs @libsql/client (~5MB + native binaries) nor libsql native modules.

    Rationale: objectstack start defaults to file: URLs which route to better-sqlite3 via driver-sql (10–15× faster than libsql for OLTP, see benchmarks). For RAG / vector workloads, sqlite-vec (~600KB) is the recommended local backend. Turso / libsql is only useful when the user explicitly opts in via libsql:// / https:// / --database-driver turso.

    Changes:

    • packages/cli/package.json: moved @objectstack/driver-turso from dependencies to optional peerDependencies (peerDependenciesMeta.optional = true). npm 7+ does not auto-install optional peers; optionalDependencies would have still installed it.
    • packages/runtime/package.json: same.
    • All three dynamic-import sites for driver-turso (runtime/src/standalone-stack.ts, runtime/src/cloud/artifact-environment-registry.ts, cli/src/commands/serve.ts) now wrap the import() in try/catch with an actionable error message pointing users to npm install @objectstack/driver-turso.

    Verified in /tmp/os-sim: fresh npm install @objectstack/cli no longer contains node_modules/@libsql, node_modules/libsql, or node_modules/@objectstack/driver-turso. objectstack start boots cleanly with better-sqlite3; --database libsql://… produces the friendly error.

  • Updated dependencies [4944f3a]

  • Updated dependencies [430067b]

  • Updated dependencies [4f9e9d4]

  • Updated dependencies [c5efe15]

  • Updated dependencies [4944f3a]

  • Updated dependencies [4f9e9d4]

  • Updated dependencies [e0c593f]

    • @objectstack/driver-sql@7.0.0
    • @objectstack/spec@7.0.0
    • @objectstack/service-ai@7.0.0
    • @objectstack/runtime@7.0.0
    • @objectstack/service-settings@7.0.0
    • @objectstack/driver-sqlite-wasm@7.0.0
    • @objectstack/driver-turso@7.0.0
    • @objectstack/client@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/objectql@7.0.0
    • @objectstack/observability@7.0.0
    • @objectstack/driver-memory@7.0.0
    • @objectstack/driver-mongodb@7.0.0
    • @objectstack/plugin-approvals@7.0.0
    • @objectstack/plugin-audit@7.0.0
    • @objectstack/plugin-auth@7.0.0
    • @objectstack/plugin-email@7.0.0
    • @objectstack/plugin-hono-server@7.0.0
    • @objectstack/plugin-mcp-server@7.0.0
    • @objectstack/plugin-reports@7.0.0
    • @objectstack/plugin-security@7.0.0
    • @objectstack/plugin-sharing@7.0.0
    • @objectstack/plugin-webhooks@7.0.0
    • @objectstack/rest@7.0.0
    • @objectstack/service-analytics@7.0.0
    • @objectstack/service-automation@7.0.0
    • @objectstack/service-cache@7.0.0
    • @objectstack/service-feed@7.0.0
    • @objectstack/service-job@7.0.0
    • @objectstack/service-package@7.0.0
    • @objectstack/service-queue@7.0.0
    • @objectstack/service-realtime@7.0.0
    • @objectstack/service-storage@7.0.0

@objectstack/client@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/client-react@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/client@7.0.0
    • @objectstack/core@7.0.0

@objectstack/core@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0

@objectstack/formula@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0

@objectstack/metadata@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/types@7.0.0
    • @objectstack/metadata-core@7.0.0
    • @objectstack/metadata-fs@7.0.0

@objectstack/metadata-fs@7.0.0

Patch Changes

  • @objectstack/metadata-core@7.0.0

@objectstack/objectql@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/formula@7.0.0
    • @objectstack/types@7.0.0
    • @objectstack/metadata-core@7.0.0

@objectstack/observability@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0

@objectstack/driver-memory@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/driver-mongodb@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/driver-sql@7.0.0

Patch Changes

  • 4944f3a: Promote native database client packages so npm consumers can boot without manual installs.

    • better-sqlite3 is now an optionalDependency (prebuilt binaries cover the common case), so npx @objectstack/cli start boots a default SQLite database out-of-the-box.
    • pg, mysql2, sqlite3, and tedious are declared as optional peerDependencies (peerDependenciesMeta.optional = true), removing install warnings while keeping the loader-on-demand pattern.

    Fixes: Knex: Cannot find module 'better-sqlite3' on fresh npm install @objectstack/cli followed by objectstack start.

  • Updated dependencies [430067b]

  • Updated dependencies [4f9e9d4]

    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/driver-sqlite-wasm@7.0.0

Patch Changes

  • Updated dependencies [4944f3a]
  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/driver-sql@7.0.0
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/driver-turso@7.0.0

Patch Changes

  • Updated dependencies [4944f3a]
  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/driver-sql@7.0.0
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/knowledge-memory@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/service-knowledge@7.0.0

@objectstack/knowledge-ragflow@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/service-knowledge@7.0.0

@objectstack/plugin-approvals@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/formula@7.0.0
    • @objectstack/metadata-core@7.0.0

@objectstack/plugin-audit@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-auth@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-dev@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/spec@7.0.0
    • @objectstack/runtime@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/objectql@7.0.0
    • @objectstack/driver-memory@7.0.0
    • @objectstack/plugin-auth@7.0.0
    • @objectstack/plugin-hono-server@7.0.0
    • @objectstack/plugin-security@7.0.0
    • @objectstack/rest@7.0.0
    • @objectstack/service-i18n@7.0.0

@objectstack/plugin-email@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-hono-server@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-mcp-server@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-msw@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/spec@7.0.0
    • @objectstack/runtime@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/objectql@7.0.0
    • @objectstack/types@7.0.0

@objectstack/plugin-reports@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-security@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/plugin-sharing@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/objectql@7.0.0

@objectstack/plugin-webhooks@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/service-cluster@7.0.0

@objectstack/rest@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/service-package@7.0.0

@objectstack/runtime@7.0.0

Patch Changes

  • c5efe15: Remove residual coupling to the (already-extracted) @objectstack/service-cloud package.

    The cloud distribution was migrated to a separate repo a while back, but the open-core CLI still carried:

    • A dynamic import('@objectstack/service-cloud') in the boot-mode dispatch for cloud / runtime modes.
    • A dev-mode auto-mount that tried to load createSingleEnvironmentPlugin from the cloud package (now fully covered by the built-in RuntimeConfigPlugin).
    • An ambient .d.ts stub for @objectstack/service-cloud.
    • A leftover empty packages/services/service-cloud/ directory (only stale dist/ + node_modules/).
    • Several doc-comment references.

    All gone. The open-core CLI now supports bootMode: 'standalone' only — non-standalone modes throw a clear error pointing users to the cloud distribution. No runtime behavior change for standalone users.

  • 4944f3a: Fix npx @objectstack/cli start crashing with Cannot find package '@objectstack/metadata' (and friends).

    @objectstack/runtime dynamically import()s @objectstack/metadata,
    @objectstack/objectql, and the storage drivers (driver-memory,
    driver-sql, driver-sqlite-wasm, driver-turso) from
    createStandaloneStack / createDefaultHostConfig, but they were only
    listed in devDependencies — so when the package was installed from npm
    (rather than the workspace) these imports failed at boot.

    They are now declared as real dependencies. @objectstack/driver-mongodb
    remains an optionalDependency because the standalone stack only loads
    it when the user passes a mongodb:// URL (the failure path already has
    a friendly error message).

    Also adds a small quick-start CLI command (objectstack start) that
    auto-creates ~/.objectstack/{data,dist,auth-secret}, boots an empty
    kernel with Studio + marketplace mounted, and lets users install apps at
    runtime — no objectstack.config.ts required.

  • e0c593f: Make @objectstack/driver-turso an optional peer dependency so default npx @objectstack/cli start no longer installs @libsql/client (~5MB + native binaries) nor libsql native modules.

    Rationale: objectstack start defaults to file: URLs which route to better-sqlite3 via driver-sql (10–15× faster than libsql for OLTP, see benchmarks). For RAG / vector workloads, sqlite-vec (~600KB) is the recommended local backend. Turso / libsql is only useful when the user explicitly opts in via libsql:// / https:// / --database-driver turso.

    Changes:

    • packages/cli/package.json: moved @objectstack/driver-turso from dependencies to optional peerDependencies (peerDependenciesMeta.optional = true). npm 7+ does not auto-install optional peers; optionalDependencies would have still installed it.
    • packages/runtime/package.json: same.
    • All three dynamic-import sites for driver-turso (runtime/src/standalone-stack.ts, runtime/src/cloud/artifact-environment-registry.ts, cli/src/commands/serve.ts) now wrap the import() in try/catch with an actionable error message pointing users to npm install @objectstack/driver-turso.

    Verified in /tmp/os-sim: fresh npm install @objectstack/cli no longer contains node_modules/@libsql, node_modules/libsql, or node_modules/@objectstack/driver-turso. objectstack start boots cleanly with better-sqlite3; --database libsql://… produces the friendly error.

  • Updated dependencies [4944f3a]

  • Updated dependencies [430067b]

  • Updated dependencies [4f9e9d4]

    • @objectstack/driver-sql@7.0.0
    • @objectstack/spec@7.0.0
    • @objectstack/driver-sqlite-wasm@7.0.0
    • @objectstack/driver-turso@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/formula@7.0.0
    • @objectstack/metadata@7.0.0
    • @objectstack/objectql@7.0.0
    • @objectstack/observability@7.0.0
    • @objectstack/driver-memory@7.0.0
    • @objectstack/plugin-auth@7.0.0
    • @objectstack/plugin-security@7.0.0
    • @objectstack/rest@7.0.0
    • @objectstack/service-cluster@7.0.0
    • @objectstack/service-i18n@7.0.0
    • @objectstack/types@7.0.0

@objectstack/service-analytics@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-automation@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/formula@7.0.0

@objectstack/service-cache@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/observability@7.0.0

@objectstack/service-cluster@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-cluster-redis@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/service-cluster@7.0.0

@objectstack/service-feed@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-i18n@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-job@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-knowledge@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-package@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-queue@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-realtime@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/platform-objects@7.0.0
    • @objectstack/core@7.0.0

@objectstack/service-storage@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0
    • @objectstack/core@7.0.0
    • @objectstack/observability@7.0.0

@objectstack/types@7.0.0

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
    • @objectstack/spec@7.0.0

create-objectstack@7.0.0

@objectstack/metadata-core@7.0.0

objectstack-vscode@7.0.0

@objectstack/example-crm@4.0.21

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/spec@7.0.0
    • @objectstack/runtime@7.0.0

@example/app-todo@4.0.21

Patch Changes

  • Updated dependencies [430067b]
  • Updated dependencies [4f9e9d4]
  • Updated dependencies [c5efe15]
  • Updated dependencies [4944f3a]
  • Updated dependencies [e0c593f]
    • @objectstack/spec@7.0.0
    • @objectstack/service-ai@7.0.0
    • @objectstack/runtime@7.0.0
    • @objectstack/driver-sqlite-wasm@7.0.0
    • @objectstack/client@7.0.0
    • @objectstack/metadata@7.0.0
    • @objectstack/objectql@7.0.0
    • @objectstack/knowledge-memory@7.0.0
    • @objectstack/service-knowledge@7.0.0

@github-actions
github-actionsBotforce-pushed the changeset-release/main branch from b3320c6 to 3cc9848CompareMay 26, 2026 03:57
@vercel

vercelBot commented May 26, 2026

Copy link
Copy Markdown

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

ProjectDeploymentActionsUpdated (UTC)
specReadyReadyPreview, CommentMay 26, 2026 4:01am

Request Review

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@hotlong