Browse Source

Update OpenCode and MCP SDK dependencies to latest versions

Alvin Unreal 4 days ago
parent
commit
e89b319573
6 changed files with 49 additions and 45 deletions
  1. 13 13
      .slim/clonedeps.json
  2. 4 4
      AGENTS.md
  3. 7 8
      bun.lock
  4. 19 14
      docs/clonedeps.md
  5. 3 3
      package.json
  6. 3 3
      src/hooks/foreground-fallback/index.test.ts

+ 13 - 13
.slim/clonedeps.json

@@ -1,30 +1,30 @@
 {
   "version": "1.0.0",
-  "updatedAt": "2026-06-15T00:00:00.000Z",
+  "updatedAt": "2026-08-04T19:15:39.000Z",
   "dependencies": [
     {
       "name": "@opencode-ai/plugin",
-      "resolvedVersion": "1.4.3",
-      "repoUrl": "https://github.com/opencode-ai/opencode.git",
-      "ref": "main@73ee493265acf15fcd8caab2bc8cd3bd375b63cb",
-      "path": ".slim/clonedeps/repos/opencode-ai__opencode",
+      "resolvedVersion": "1.18.13",
+      "repoUrl": "https://github.com/anomalyco/opencode.git",
+      "ref": "v1.18.13@a105350812f05f914c768e468559dbd6bd508d8e",
+      "path": ".slim/clonedeps/repos/anomalyco__opencode-v1.18.13",
       "packagePath": "packages/plugin",
       "reason": "Core plugin lifecycle and hook API used by the orchestration plugin."
     },
     {
       "name": "@opencode-ai/sdk",
-      "resolvedVersion": "1.4.3",
-      "repoUrl": "https://github.com/opencode-ai/opencode.git",
-      "ref": "main@73ee493265acf15fcd8caab2bc8cd3bd375b63cb",
-      "path": ".slim/clonedeps/repos/opencode-ai__opencode",
+      "resolvedVersion": "1.18.13",
+      "repoUrl": "https://github.com/anomalyco/opencode.git",
+      "ref": "v1.18.13@a105350812f05f914c768e468559dbd6bd508d8e",
+      "path": ".slim/clonedeps/repos/anomalyco__opencode-v1.18.13",
       "packagePath": "packages/sdk/js",
       "reason": "SDK types and runtime client/session/message shapes used across agents, hooks, tools, and council code."
     },
     {
       "name": "@modelcontextprotocol/sdk",
-      "resolvedVersion": "1.29.0",
+      "resolvedVersion": "1.30.0",
       "repoUrl": "https://github.com/modelcontextprotocol/typescript-sdk.git",
-      "ref": "v1.29.0@e12cbd7078db388152f6e839abdbe09ba01f3f32",
+      "ref": "1.30.0@2d889f2b329e46680ec9bdd565de4616c497825a",
       "path": ".slim/clonedeps/repos/modelcontextprotocol__typescript-sdk",
       "packagePath": ".",
       "reason": "MCP protocol/server implementation details used by built-in MCP integrations."
@@ -33,7 +33,7 @@
       "name": "anomalyco/opencode",
       "resolvedVersion": "dev",
       "repoUrl": "https://github.com/anomalyco/opencode.git",
-      "ref": "dev@356f6841865d68adf6d0123c37357ad50814497a",
+      "ref": "dev@f0afb6750e63ee0a60b052914531bde0afb9bc2b",
       "path": ".slim/clonedeps/repos/opencode",
       "packagePath": "packages/opencode",
       "reason": "Latest OpenCode TypeScript runtime source with experimental background subagent support."
@@ -42,7 +42,7 @@
       "name": "agentclientprotocol/agent-client-protocol",
       "resolvedVersion": "main",
       "repoUrl": "https://github.com/agentclientprotocol/agent-client-protocol.git",
-      "ref": "main@8110fde4e8283b4bef1329d1ef7b074fd14cee1e",
+      "ref": "main@541daf8fa488c6b93aad4a874ac050b3daf9b282",
       "path": ".slim/clonedeps/repos/agentclientprotocol__agent-client-protocol",
       "packagePath": ".",
       "reason": "Authoritative ACP specification and schema source for implementing ACP client/server compatibility."

+ 4 - 4
AGENTS.md

@@ -179,10 +179,10 @@ You can set the log level with the --log-level command-line option to get more d
 Read-only dependency source repositories are available under
 `.slim/clonedeps/repos/` for inspection. Do not edit these clones.
 
-- `.slim/clonedeps/repos/opencode-ai__opencode/` - `https://github.com/opencode-ai/opencode.git` at `main@73ee493265acf15fcd8caab2bc8cd3bd375b63cb`; inspect `packages/plugin` and `packages/sdk/js` for OpenCode plugin and SDK internals.
-- `.slim/clonedeps/repos/opencode/` - `https://github.com/anomalyco/opencode.git` at `dev@356f6841865d68adf6d0123c37357ad50814497a`; inspect `packages/opencode` for latest TypeScript runtime internals and experimental background subagent support.
-- `.slim/clonedeps/repos/modelcontextprotocol__typescript-sdk/` - `https://github.com/modelcontextprotocol/typescript-sdk.git` at `v1.29.0@e12cbd7078db388152f6e839abdbe09ba01f3f32`; inspect it for MCP protocol and server integration internals.
-- `.slim/clonedeps/repos/agentclientprotocol__agent-client-protocol/` - `https://github.com/agentclientprotocol/agent-client-protocol.git` at `main@8110fde4e8283b4bef1329d1ef7b074fd14cee1e`; inspect it for ACP protocol specification and schema details.
+- `.slim/clonedeps/repos/anomalyco__opencode-v1.18.13/` - `https://github.com/anomalyco/opencode.git` at `v1.18.13@a105350812f05f914c768e468559dbd6bd508d8e`; inspect `packages/plugin` and `packages/sdk/js` for OpenCode plugin and SDK internals.
+- `.slim/clonedeps/repos/opencode/` - `https://github.com/anomalyco/opencode.git` at `dev@f0afb6750e63ee0a60b052914531bde0afb9bc2b`; inspect `packages/opencode` for latest TypeScript runtime internals and experimental background subagent support.
+- `.slim/clonedeps/repos/modelcontextprotocol__typescript-sdk/` - `https://github.com/modelcontextprotocol/typescript-sdk.git` at `1.30.0@2d889f2b329e46680ec9bdd565de4616c497825a`; inspect it for MCP protocol and server integration internals.
+- `.slim/clonedeps/repos/agentclientprotocol__agent-client-protocol/` - `https://github.com/agentclientprotocol/agent-client-protocol.git` at `main@541daf8fa488c6b93aad4a874ac050b3daf9b282`; inspect it for ACP protocol specification and schema details.
 
 ## Agent Operating Context
 

+ 7 - 8
bun.lock

@@ -1,14 +1,15 @@
 {
   "lockfileVersion": 1,
+  "configVersion": 0,
   "workspaces": {
     "": {
       "name": "oh-my-opencode-slim",
       "dependencies": {
         "@ast-grep/cli": "^0.44.1",
-        "@modelcontextprotocol/sdk": "^1.29.0",
+        "@modelcontextprotocol/sdk": "^1.30.0",
         "@mozilla/readability": "^0.6.0",
-        "@opencode-ai/plugin": "1.18.3",
-        "@opencode-ai/sdk": "1.18.3",
+        "@opencode-ai/plugin": "1.18.13",
+        "@opencode-ai/sdk": "1.18.13",
         "jsdom": "^29.0.0",
         "lru-cache": "^11.5.2",
         "turndown": "^7.2.4",
@@ -225,7 +226,7 @@
 
     "@mixmark-io/domino": ["@mixmark-io/domino@2.2.0", "", {}, "sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw=="],
 
-    "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.29.0", "", { "dependencies": { "@hono/node-server": "^1.19.9", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ=="],
+    "@modelcontextprotocol/sdk": ["@modelcontextprotocol/sdk@1.30.0", "", { "dependencies": { "@hono/node-server": "^1.19.9 || ^2.0.5", "ajv": "^8.17.1", "ajv-formats": "^3.0.1", "content-type": "^1.0.5", "cors": "^2.8.5", "cross-spawn": "^7.0.5", "eventsource": "^3.0.2", "eventsource-parser": "^3.0.0", "express": "^5.2.1", "express-rate-limit": "^8.2.1", "hono": "^4.11.4", "jose": "^6.1.3", "json-schema-typed": "^8.0.2", "pkce-challenge": "^5.0.0", "raw-body": "^3.0.0", "zod": "^3.25 || ^4.0", "zod-to-json-schema": "^3.25.1" }, "peerDependencies": { "@cfworker/json-schema": "^4.1.1" }, "optionalPeers": ["@cfworker/json-schema"] }, "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA=="],
 
     "@mozilla/readability": ["@mozilla/readability@0.6.0", "", {}, "sha512-juG5VWh4qAivzTAeMzvY9xs9HY5rAcr2E4I7tiSSCokRFi7XIZCAu92ZkSTsIj1OPceCifL3cpfteP3pDT9/QQ=="],
 
@@ -241,9 +242,9 @@
 
     "@msgpackr-extract/msgpackr-extract-win32-x64": ["@msgpackr-extract/msgpackr-extract-win32-x64@3.0.4", "", { "os": "win32", "cpu": "x64" }, "sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ=="],
 
-    "@opencode-ai/plugin": ["@opencode-ai/plugin@1.18.3", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@opencode-ai/sdk": "1.18.3", "effect": "4.0.0-beta.83", "zod": "4.1.8" }, "peerDependencies": { "@opentui/core": ">=0.4.3", "@opentui/keymap": ">=0.4.3", "@opentui/solid": ">=0.4.3" }, "optionalPeers": ["@opentui/core", "@opentui/keymap", "@opentui/solid"] }, "sha512-hAm/hZkSCsMSNHVy9DKmFtZAve/qYoIWpduNPcvXnnKK7NMlJEOQitA6CQC67Ym5DFKypDW1TC9YO6S1WdGtpg=="],
+    "@opencode-ai/plugin": ["@opencode-ai/plugin@1.18.13", "", { "dependencies": { "@ai-sdk/provider": "3.0.8", "@opencode-ai/sdk": "1.18.13", "effect": "4.0.0-beta.83", "zod": "4.1.8" }, "peerDependencies": { "@opentui/core": ">=0.4.5", "@opentui/keymap": ">=0.4.5", "@opentui/solid": ">=0.4.5" }, "optionalPeers": ["@opentui/core", "@opentui/keymap", "@opentui/solid"] }, "sha512-2H9YT80M1PYElpG+lmd/9kGqsNouiJIBCUhLblmgFwoSrB4wyahgkCS6NcFQR/AYXNH4I1Yd3lmQcVaEPu1qNg=="],
 
-    "@opencode-ai/sdk": ["@opencode-ai/sdk@1.18.3", "", { "dependencies": { "cross-spawn": "7.0.6" } }, "sha512-Mevo4e6kQwbvto9E+42KSIVMhp+JBu+SwQhC5AomAvrV6Xkio3U249T+xDILDCXhl5Z/Hi/DlAuVLzpGnuh0gg=="],
+    "@opencode-ai/sdk": ["@opencode-ai/sdk@1.18.13", "", { "dependencies": { "cross-spawn": "7.0.6" } }, "sha512-JY9etiVcu1G/pZjaH2vjK/b8z54ujxaWCD1GziO4ADUhRM6m6zm2332bPGcxEfA6TwweiJfNlK6wVZQ0f/X4KQ=="],
 
     "@opentui/core": ["@opentui/core@0.1.97", "", { "dependencies": { "bun-ffi-structs": "0.1.2", "diff": "8.0.2", "jimp": "1.6.0", "marked": "17.0.1", "yoga-layout": "3.2.1" }, "optionalDependencies": { "@dimforge/rapier2d-simd-compat": "^0.17.3", "@opentui/core-darwin-arm64": "0.1.97", "@opentui/core-darwin-x64": "0.1.97", "@opentui/core-linux-arm64": "0.1.97", "@opentui/core-linux-x64": "0.1.97", "@opentui/core-win32-arm64": "0.1.97", "@opentui/core-win32-x64": "0.1.97", "bun-webgpu": "0.1.5", "planck": "^1.4.2", "three": "0.177.0" }, "peerDependencies": { "web-tree-sitter": "0.25.10" } }, "sha512-2ENH0Dc4NUAeHeeQCQhF1lg68RuyntOUP68UvortvDqTz/hqLG0tIwF+DboCKtWi8Nmao4SAQEJ7lfmyQNEDOQ=="],
 
@@ -911,8 +912,6 @@
 
     "@jimp/types/zod": ["zod@3.25.76", "", {}, "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ=="],
 
-    "@modelcontextprotocol/sdk/zod": ["zod@4.3.6", "", {}, "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg=="],
-
     "@opencode-ai/plugin/zod": ["zod@4.1.8", "", {}, "sha512-5R1P+WwQqmmMIEACyzSvo4JXHY5WiAFHRMg+zBZKgKS+Q1viRa0C1hmUKtHltoIFKtIdki3pRxkmpP74jnNYHQ=="],
 
     "@types/node/undici-types": ["undici-types@8.3.0", "", {}, "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ=="],

+ 19 - 14
docs/clonedeps.md

@@ -61,9 +61,12 @@ Ignored local clones live here, one folder per source repository:
 .slim/clonedeps/repos/<safe-repo-name>/
 ```
 
-The safe folder name is derived from the repository owner/name, not the package
-name. For example, `https://github.com/opencode-ai/opencode.git` becomes
-`.slim/clonedeps/repos/opencode-ai__opencode/`.
+The safe folder name is based on the repository owner/name, not the package
+name, and may include a pinned-release suffix when multiple revisions need to
+coexist. For example, the TypeScript OpenCode repository
+`https://github.com/anomalyco/opencode.git` becomes
+`.slim/clonedeps/repos/anomalyco__opencode-v1.18.13/` when pinned to that
+release.
 
 If multiple packages come from the same monorepo, they share one cloned repo path
 and use different `packagePath` values in the manifest.
@@ -77,23 +80,23 @@ This is the structured manifest. It is intentionally small and committable:
 ```json
 {
   "version": "1.0.0",
-  "updatedAt": "2026-05-12T00:00:00.000Z",
+  "updatedAt": "2026-08-04T19:15:39.000Z",
   "dependencies": [
     {
       "name": "@opencode-ai/plugin",
-      "resolvedVersion": "1.3.17",
-      "repoUrl": "https://github.com/opencode-ai/opencode.git",
-      "ref": "v1.3.17",
-      "path": ".slim/clonedeps/repos/opencode-ai__opencode",
+      "resolvedVersion": "1.18.13",
+      "repoUrl": "https://github.com/anomalyco/opencode.git",
+      "ref": "v1.18.13@a105350812f05f914c768e468559dbd6bd508d8e",
+      "path": ".slim/clonedeps/repos/anomalyco__opencode-v1.18.13",
       "packagePath": "packages/plugin",
       "reason": "Plugin API source used by the project"
     },
     {
       "name": "@opencode-ai/sdk",
-      "resolvedVersion": "1.3.17",
-      "repoUrl": "https://github.com/opencode-ai/opencode.git",
-      "ref": "v1.3.17",
-      "path": ".slim/clonedeps/repos/opencode-ai__opencode",
+      "resolvedVersion": "1.18.13",
+      "repoUrl": "https://github.com/anomalyco/opencode.git",
+      "ref": "v1.18.13@a105350812f05f914c768e468559dbd6bd508d8e",
+      "path": ".slim/clonedeps/repos/anomalyco__opencode-v1.18.13",
       "packagePath": "packages/sdk/js",
       "reason": "Core SDK source used to inspect runtime behavior"
     }
@@ -117,8 +120,10 @@ Example:
 Read-only dependency source repositories are available under
 `.slim/clonedeps/repos/` for inspection. Do not edit these clones.
 
-- `.slim/clonedeps/repos/opencode-ai__opencode/` - `opencode-ai/opencode` at
-  `v1.3.17`; inspect `packages/sdk/js` for OpenCode SDK internals.
+- `.slim/clonedeps/repos/anomalyco__opencode-v1.18.13/` -
+  `anomalyco/opencode` at
+  `v1.18.13@a105350812f05f914c768e468559dbd6bd508d8e`; inspect `packages/plugin` and
+  `packages/sdk/js` for OpenCode plugin and SDK internals.
 ```
 
 ---

+ 3 - 3
package.json

@@ -79,10 +79,10 @@
   },
   "dependencies": {
     "@ast-grep/cli": "^0.44.1",
-    "@modelcontextprotocol/sdk": "^1.29.0",
+    "@modelcontextprotocol/sdk": "^1.30.0",
     "@mozilla/readability": "^0.6.0",
-    "@opencode-ai/plugin": "1.18.3",
-    "@opencode-ai/sdk": "1.18.3",
+    "@opencode-ai/plugin": "1.18.13",
+    "@opencode-ai/sdk": "1.18.13",
     "jsdom": "^29.0.0",
     "lru-cache": "^11.5.2",
     "turndown": "^7.2.4"

+ 3 - 3
src/hooks/foreground-fallback/index.test.ts

@@ -319,11 +319,11 @@ describe('ForegroundFallbackManager session.error', () => {
 
     const call = mocks.promptAsync.mock.calls[0] as [
       {
-        body: { model: { providerID: string; modelID: string } };
+        model: { providerID: string; modelID: string };
       },
     ];
-    expect(call[0].body.model.providerID).toBe('openai');
-    expect(call[0].body.model.modelID).toBe('gpt-4o');
+    expect(call[0].model.providerID).toBe('openai');
+    expect(call[0].model.modelID).toBe('gpt-4o');
   });
 
   test('marks the replayed user prompt as an internal initiator', async () => {