Skip to content

Commit 21d4f89

Browse files
os-zhuangclaude
andauthored
feat(framework)!: remove service-ai — open edition is MCP-only (ADR-0025 S2) (#2325)
Completes the ADR-0025 migration on the framework side. @objectstack/service-ai (in-UI AI runtime + ask agent) now lives in cloud/packages/service-ai (closed). The open framework exposes AI only via @objectstack/mcp (BYO-AI). - delete packages/services/service-ai - drop dep from packages/cli + examples/app-todo (CLI keeps its dynamic-import + silent-skip path for cloud/EE hosts) - remove app-todo's 7 in-UI-AI tests; keep mcp-actions.test.ts (CE test that proves actions work over MCP with no service-ai) - drop service-ai from .changeset/config.json fixed[] - de-stale ai-capabilities + packages docs (open AI -> MCP) Verified: turbo build (CLI + example-todo closures) green; app-todo CE MCP-actions E2E passes with service-ai absent. BREAKING CHANGE: @objectstack/service-ai is no longer published from the open framework. Self-hosted open runtimes use @objectstack/mcp (BYO-AI). Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 13e5845 commit 21d4f89

98 files changed

Lines changed: 5 additions & 22904 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.changeset/config.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@
5959
"@objectstack/nextjs",
6060
"@objectstack/nuxt",
6161
"@objectstack/sveltekit",
62-
"@objectstack/service-ai",
6362
"@objectstack/service-analytics",
6463
"@objectstack/service-automation",
6564
"@objectstack/service-cache",

content/docs/guides/ai-capabilities.mdx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ description: "Complete guide to leveraging AI agents, RAG pipelines, and intelli
77

88
Complete guide to leveraging AI agents, knowledge retrieval, and intelligent automation in ObjectStack.
99

10+
> **Note — the open edition exposes AI via MCP (BYO-AI).** Per ADR-0025, the in-UI AI runtime (`@objectstack/service-ai`: agents, the `ask`/`build` assistants, in-product chat) ships in the **cloud / Enterprise** distribution, not the open framework. A self-hosted **open** runtime instead exposes its objects, queries, and business actions to *your own* AI — Claude, Cursor, any MCP client, or a local model — through **`@objectstack/mcp`** (bring-your-own-AI, zero platform AI cost). The `@objectstack/service-ai` examples below therefore describe the cloud/EE distribution.
11+
1012
## Table of Contents
1113

1214
1. [AI Architecture](#ai-architecture)

content/docs/guides/packages.mdx

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ ObjectStack is organized into **70 package manifests** across multiple categorie
1616
| **Framework adapters** | 7 | `express`, `fastify`, `hono`, `nestjs`, `nextjs`, `nuxt`, `sveltekit` |
1717
| **Drivers** | 4 | `driver-memory`, `driver-sql`, `driver-sqlite-wasm`, `driver-mongodb` |
1818
| **Plugins** | 22 | `plugin-auth`, `plugin-security`, `plugin-org-scoping`, `plugin-audit`, `plugin-approvals`, `plugin-sharing`, `plugin-email`, `plugin-webhooks`, `plugin-reports`, `plugin-hono-server`, `mcp`, `plugin-msw`, `plugin-dev`, trigger plugins, and knowledge/embedder plugins |
19-
| **Platform services** | 17 | `service-ai`, `service-analytics`, `service-automation`, `service-cache`, `service-cluster`, `service-cluster-redis`, `service-datasource`, `service-feed`, `service-i18n`, `service-job`, `service-knowledge`, `service-messaging`, `service-package`, `service-queue`, `service-realtime`, `service-settings`, `service-storage` |
19+
| **Platform services** | 16 | `service-analytics`, `service-automation`, `service-cache`, `service-cluster`, `service-cluster-redis`, `service-datasource`, `service-feed`, `service-i18n`, `service-job`, `service-knowledge`, `service-messaging`, `service-package`, `service-queue`, `service-realtime`, `service-settings`, `service-storage` |
2020

2121

2222
## Core Packages
@@ -194,15 +194,6 @@ const driver = new SqliteWasmDriver({ filename: ':memory:' });
194194

195195
All services implement contracts from `@objectstack/spec/contracts` and are kernel-managed singletons.
196196

197-
### @objectstack/service-ai
198-
199-
**AI Service** — LLM adapter layer, conversation management, tool registry.
200-
201-
- **Supports**: OpenAI, Anthropic, Google, custom providers via Vercel AI SDK
202-
- **Features**: Multi-model support, streaming, tool calling, conversation history
203-
- **When to use**: AI-powered features, chatbots, agents, RAG pipelines
204-
- **README**: [View README](/packages/services/service-ai/README.md)
205-
206197
### @objectstack/service-analytics
207198

208199
**Analytics Service** — Multi-driver analytics with NativeSQL, ObjectQL, InMemory strategies.
@@ -515,11 +506,11 @@ The snippets below illustrate which **runtime** packages you typically reach for
515506
// Host bootstrap (pseudocode — exact shape depends on adapter)
516507
import { ObjectKernel } from '@objectstack/core';
517508
import { SqliteWasmDriver } from '@objectstack/driver-sqlite-wasm';
518-
import { createServiceAiPlugin } from '@objectstack/service-ai';
509+
// Open edition: AI is exposed via @objectstack/mcp (BYO-AI), not an in-process plugin.
519510

520511
const kernel = new ObjectKernel();
521512
await kernel.use(new SqliteWasmDriver({ filename: ':memory:' }));
522-
await kernel.use(createServiceAiPlugin({ /* model providers */ }));
513+
// Point your own AI (Claude/Cursor/local model) at objects, queries & actions over MCP.
523514
await kernel.bootstrap();
524515
```
525516

examples/app-todo/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
"@objectstack/objectql": "workspace:^",
3535
"@objectstack/knowledge-memory": "workspace:*",
3636
"@objectstack/runtime": "workspace:^",
37-
"@objectstack/service-ai": "workspace:*",
3837
"@objectstack/service-knowledge": "workspace:*",
3938
"@objectstack/spec": "workspace:*"
4039
},

examples/app-todo/test/ai-action.test.ts

Lines changed: 0 additions & 201 deletions
This file was deleted.

examples/app-todo/test/ai-agent.test.ts

Lines changed: 0 additions & 129 deletions
This file was deleted.

0 commit comments

Comments
 (0)