diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json index 0cd3978d..51162152 100644 --- a/.claude-plugin/marketplace.json +++ b/.claude-plugin/marketplace.json @@ -6,13 +6,13 @@ "url": "https://github.com/jjackson" }, "metadata": { - "version": "0.13.281" + "version": "0.13.282" }, "plugins": [ { "name": "ace", "source": "./", - "version": "0.13.281", + "version": "0.13.282", "description": "AI Connect Engine — orchestrates the CRISPR-Connect lifecycle from idea through app building, Connect setup, LLO management, and closeout" } ] diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json index 3ee33e2a..93318d3b 100644 --- a/.claude-plugin/plugin.json +++ b/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "ace", - "version": "0.13.281", + "version": "0.13.282", "description": "AI Connect Engine — orchestrates the CRISPR-Connect lifecycle from idea through app building, Connect setup, LLO management, and closeout", "author": { "name": "Jonathan Jackson", diff --git a/CLAUDE.md b/CLAUDE.md index 7a6199c3..a5eedb04 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -38,7 +38,7 @@ Phase 1 produces the PDD (the formal design doc). Phase 2 derives test prompts ( - `commands/` — 15 slash commands: `run`, `step`, `status`, `eval`, `qa-deep`, `docs`, `setup`, `update`, `doctor`, `ocs-login`, `connect-login`, `labs-login`, `labs-token-mint`, `mobile-bootstrap`, `ocs-bootstrap-template`. - `mcp/` — 5 MCP servers wired inline in `.claude-plugin/plugin.json` `mcpServers` (inline since 0.5.16 to work around [anthropics/claude-code#9427](https://github.com/anthropics/claude-code/issues/9427)): - `ace-gdrive` (`google-drive-server.ts`) — Drive + Docs + Slides + Sheets. - - `ace-ocs` (`ocs-server.ts`) — Open Chat Studio composite, 23 atoms (Authoring 11 + Observation 12). Source under `mcp/ocs/`. + - `ace-ocs` (`ocs-server.ts`) — Open Chat Studio composite, 27 atoms (Authoring 15 + Observation 12). Source under `mcp/ocs/`. - `ace-connect` (`connect-server.ts`) — `connect.dimagi.com` composite, 21 atoms; 8 authoring atoms via REST automation API ([commcare-connect#1135](https://github.com/dimagi/commcare-connect/pull/1135)), rest via Playwright. Same MCP exposes 5 `commcare_*` atoms (`download_ccz`, `make_build`, `patch_xform`, `release_build`, `upload_multimedia`) via `backends/commcare.ts`. Source under `mcp/connect/`. - `ace-mobile` (`mobile-server.ts`) — Mac-local AVD + Maestro, 11 atoms. Static recipes in `mcp/mobile/recipes/static/` ship as scaffolds with `REPLACE_*` selectors that must be filled via `maestro studio` against the Connect APK before live runs. Source under `mcp/mobile/`. - `connect-labs` (`connect-labs-server.ts`) — stdio proxy forwarding JSON-RPC to `https://labs.connect.dimagi.com/mcp/`, injecting `LABS_MCP_TOKEN`. 9 atoms back Phase 8. One-line config swap to delete when Claude Code gains first-class HTTP MCP support. diff --git a/VERSION b/VERSION index 247c6576..32e9ca86 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.13.281 +0.13.282 diff --git a/mcp/ocs/capability-map.ts b/mcp/ocs/capability-map.ts index d373493b..e5f4d08a 100644 --- a/mcp/ocs/capability-map.ts +++ b/mcp/ocs/capability-map.ts @@ -6,7 +6,7 @@ export interface CapabilityRoute { } export type Capability = - // Authoring (11) + // Authoring (15) | 'clone_chatbot' | 'set_chatbot_system_prompt' | 'set_chatbot_pipeline' diff --git a/package.json b/package.json index 5dfc1edc..1e3ac860 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ace", - "version": "0.13.281", + "version": "0.13.282", "description": "AI Connect Engine - orchestrator for building Connect Opps using AI", "type": "module", "scripts": { diff --git a/test/mcp/registration-coverage.test.ts b/test/mcp/registration-coverage.test.ts index 213be944..002f22c7 100644 --- a/test/mcp/registration-coverage.test.ts +++ b/test/mcp/registration-coverage.test.ts @@ -71,7 +71,7 @@ const SERVERS: Record = { }, ocs: { file: 'mcp/ocs-server.ts', - expectedCount: 26, + expectedCount: 27, allowedPrefixes: ['ocs_'], capabilityMap: OCS_MAP, capabilityPrefix: 'ocs_',