Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 16 additions & 6 deletions apps/desktop/runtimes/claude/README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Claude runtime

This private installation manifest pins the published Claude ACP adapter to
`0.88.0`, using its official Claude Agent SDK dependency `0.3.293`. All eight
`0.89.1`, using its official Claude Agent SDK dependency `0.3.293`. All eight
SDK native packages are locked to `0.3.293` too. `baseline.json` records the
complete production graph and published runtime hashes. There is no SDK
override or local runtime patch; `patches.json` is empty.
Expand Down Expand Up @@ -36,7 +36,7 @@ https://github.com/agentclientprotocol/claude-agent-acp/pull/1006, so the runtim
no longer carries a TaskList patch. The TaskList contracts remain as regression
coverage for the published implementation.

ACP `0.88.0` supplies Claude Code `2.1.293`. Its model catalog exposes Sonnet 5.5
ACP `0.89.1` supplies Claude Code `2.1.293`. Its model catalog exposes Sonnet 5.5
and Haiku 5.5 under the official `sonnet` and `haiku` aliases. NeverWrite's chat
selector uses the model options returned by ACP; the native CLI resolves these
aliases to `claude-sonnet-5-5` and `claude-haiku-5-5` on provider requests.
Expand Down Expand Up @@ -80,11 +80,11 @@ The `0.81.2` update keeps the same production dependency graph. Its published
JavaScript changes the ACP agent, exit-plan handling, and native subagent
runtime; the runtime baseline records those three new file hashes.

The `0.88.0` baseline comes from published tag commit
`d43fec3fa3118e88ff8a8ed99b85d2a5f444e538`. It includes ACP SDK `1.7.0`,
The `0.89.1` baseline comes from published tag commit
`4e1fc1e8df2b9af3b1b2d6880ba90c5862283ba8`. It includes ACP SDK `1.8.0`,
Claude Agent SDK `0.3.293`, the resolved Anthropic SDK peer `0.132.1`, `diff`
`9.0.0` and `zod` `4.6.5`. It records all 72 published JavaScript modules,
including the MCP command, turn events and expanded draft ACP v2 surface,
`9.0.0` and `zod` `4.6.5`. It records all 86 published JavaScript modules,
including the MCP command, turn events, AIR session index and draft ACP v2 surface,
and the complete locked production dependency graph.

### Updating the runtime
Expand Down Expand Up @@ -161,6 +161,16 @@ sessions. The runtime remains unmodified, with no local patches or SDK overrides
In `0.88.0`, the adapter updates Claude Agent SDK and all eight native packages
to `0.3.293`. ACP SDK stays at `1.7.0`; NeverWrite continues using ACP v1 and
the published Sonnet model alias without enabling additional client capabilities.
In `0.89.0`, ACP SDK moves to `1.8.0`, and logout recreates live sessions when
it clears provider or gateway routing. Message forwarding yields to the event
loop under load, and repeated file diffs reuse a bounded cache. AIR custom
instructions and the session index are opt-in; NeverWrite sends no AIR custom
instructions metadata, does not negotiate the index and continues using its own
history. The experimental ACP v2 error, cancelled-tool and setup-command changes
remain outside its ACP v1 integration.
The `0.89.1` fixes for renamed-session subscriptions and session-list pagination
apply to that opt-in AIR index. Claude Agent SDK and all native packages remain
at `0.3.293`, with no local patches or SDK overrides.

The push-only authStatus, goal, AIR session-failure and JetBrains file-audit
extensions remain outside the current client integration. NeverWrite's own
Expand Down
44 changes: 29 additions & 15 deletions apps/desktop/runtimes/claude/baseline.json
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
{
"version": "0.88.0",
"upstreamCommit": "d43fec3fa3118e88ff8a8ed99b85d2a5f444e538",
"version": "0.89.1",
"upstreamCommit": "4e1fc1e8df2b9af3b1b2d6880ba90c5862283ba8",
"normalization": "Trim trailing whitespace on each line and terminate with one newline.",
"runtimeFiles": {
"dist/acp-agent.js": "24ba34df4e0e7970320372c2172c706ab2f7ff8ec3c3943c0dc67e87973530e3",
"dist/acp-agent.js": "4c2ad5288f484b70a901ec6954d93eff3abc4d4cc95507f97c37bc9f96549e67",
"dist/acp-subagents.js": "aeb9fca26d4118bd20bb4661fb8311259b62ce332b131fa47e54f745cab09156",
"dist/air-extension.js": "13a10873bc6e3750fcd6aa9cd633cded65b38a1209719d0aa0272c0ce2215d2e",
"dist/air-extension.js": "69875f9340c9a7b2547c4200eee8b36eb5362877706dece4b6b786a6635e21dc",
"dist/async-tasks.js": "e459b0b24d6cd6a17ab2c289a37c1e6ed634d43c7e840919c5efb52cfc96891a",
"dist/auth-status.js": "0cc5054336b3849cf5987f01e296dece1ecaeb023f236d6698780f6a42cbb24a",
"dist/clear-context-coordinator.js": "c388c199e2a04591bb54a6df7018861b52ef9fea222768cf07f6e6b7b11735e0",
"dist/context-compaction-meta.js": "072320ff55f285e36ddef677ba6328835c34ef9c5ed2afcd648cf066d3fbdae6",
"dist/context-compaction.js": "345fe4cd3970bd7acddb6156b384310c82144c07209866c306802bb7f27368ab",
"dist/diff.js": "2ed5f1e2e0da1736deb7b6a041899672c951ee924a0a716794ba27c9c13424f9",
"dist/diff.js": "ef49f95a49cb2d45dac67984408850ed56dcd659c47149299f0221c7c5401cfb",
"dist/elicitation.js": "5bf7ad25cd4e70090ef8cb3186ca17028b7ee5213f16d05122446882df420a36",
"dist/exit-plan.js": "87c78428f2bd3ce73e7f6c8b0476a4b46984db8b43580393124807b219c7122b",
"dist/file-change-audit.js": "716c24e6b6fb289dfc3ecf98c2d9832ecaafe7c3e24b169d44ef4148aaae9527",
"dist/fork-session.js": "70da6567b5d9f76dedef4aa02dc1c53e4bdb5e7f4bc28e374d1ad680e6287c2a",
"dist/goal-extension.js": "822a8e90ac4eaf4b7ffb866abd3de531498e9c9a5ad72ec582dc232e814cbb1a",
"dist/hide-claude-auth.js": "6fcd554c58bc380efe11896337cd8c104ecd7f072111d82daf46941160cfb827",
"dist/hide-claude-auth.js": "f40b3bb1ddf782f81b485cf1b199a64a1cdc23d6099ca44569b3db9ef3081edd",
"dist/index.js": "4a1f0fff5cdd26b8c9adb5f9b3d314640e06f876cfff97cac437159b4551ec27",
"dist/lib.js": "a39ff2411f35100442ba9092fe9628ab551f470bfa5d672969d349e376a85e02",
"dist/managed-policy.js": "7371dcd3aa94c29b72061521269b5cbe3473ca8e838dc32e303bc2b7f22d5756",
"dist/mcp-command.js": "f6b751f317a34aaba07fa6639ca0c33f1cf38c51b29e48c7e963e9267bf9855a",
"dist/mcp-command.js": "0e7d482e38c95621da65ffcb16cb183867c799f3443d9bab82f74f556f788042",
"dist/native-subagents.js": "b4e65a57eacd03509f49fb91fe3b27f132fa6e2509e3ecb91d84e22e62eed306",
"dist/paths.js": "bfb69caad5d450788eba632e0046cfdd66c2f8b2631286c9457e20844886c879",
"dist/permissions/effects.js": "f2d2ce76f2012b6062ad565b079c2078ae4dbf9282f505876ff38313c521745b",
Expand All @@ -39,11 +39,25 @@
"dist/session-config-ids.js": "24148e79435afabd7e3c6cf4f8bf5d3c16c7887b97f172cd507de60f19ec551d",
"dist/session-effort.js": "73b21951b7e1dc3baa9aa6861221d7e136bebb4efc8133941d97bd004f9069fc",
"dist/session-failure-extension.js": "79661ca0cbd893849d0610e5ed730c903117139d319ee010a4a851844028a068",
"dist/session-index/activity.js": "58ce567131b85e0749dbf23fd99c47ce895f92f90859dd08307eafe07a4d0cd2",
"dist/session-index/archive-title.js": "048af1cf5985f69780931715a8301f4180a3de3eef6b3584b674d08f9daca6f3",
"dist/session-index/connection.js": "fdf8f844ec41fbef7b00ebfa794a23784fb7e0e569edd53f24290fdadf637ab6",
"dist/session-index/dir-listing.js": "754505218d82676aa85bac20daf9eb4b3726540a65b91fd5c9911fd9d85587f0",
"dist/session-index/explicit-title.js": "9c82645871dbcfa1f95ba5e477a8ce332b10277138c6c4444bfa9c41598e247a",
"dist/session-index/first-prompt.js": "fd36ea4e9616eb9594d4864dece0fc0acb701c10eb25049b39aafb04415d5078",
"dist/session-index/list-subscriptions.js": "bd76ce014c20a0bf612b0af97ae580196020cf8bf2ecaddb668dada900ee682f",
"dist/session-index/live-registry.js": "e4c72794ed6b007932ca9a51957517004ec1695b356363406d2baf8d816b7452",
"dist/session-index/project-dirs.js": "48e4190cbd2d4b42d4da06dc0082801efc35bb537b7fe7e838c89b4fdcec65f4",
"dist/session-index/service.js": "5e95f39d64b29744a71ea94ffd203d33e3eacd61ac2e85fddcb6e7b665fec034",
"dist/session-index/session-index.js": "339a97d180a7d1f1eb7df2fb346396e5702480dd9c994e7845943b783098772d",
"dist/session-index/session-info.js": "09f3580bfb722d83d7e7d61bea04ddf2255bcf70bcccd7cc48cd116740950a40",
"dist/session-index/transcript-scan.js": "eee6c8808fffd9df8c6389b85c68f458449aa8f6cd77b82ad9f9c92a2a473664",
"dist/session-index/worktrees.js": "8b662c574081e3e288bfd3850f3bf322daffb8dc08391062095c74664da268eb",
"dist/session-mode.js": "169095da66c8ce7e00d1975830c158acf3f1ffba267c20027d374c74b2df5614",
"dist/session-model.js": "b54f68d0a26e279729bc7761c8fa4ac21bb918f9d3a4e865e48f8d101b01f310",
"dist/session-notices.js": "e538588d8a0b0cf09e3d411348c5a488663c3b2eedc1a936eb485e08fc62c5d4",
"dist/session-timing.js": "7bf1567850d05094c1313295efd404b5cceb90d4251c5357387b8841bca4819f",
"dist/session-titles.js": "a78f6ed7e85193fbb0ebc97b37c0adde70d1000eac94e70e310e75dd580e079a",
"dist/session-titles.js": "f240005fcf400e167ecf3c043d055c6bf48f2855a0d3704d08cd30ac8fd10771",
"dist/settings.js": "24781de56455b0dbff4c142a951d2c91b0f57b142870b48e0022f494444c273e",
"dist/subagent-history.js": "5f1156fbf6a2bb24fe3ef5a70ab46827e748aaf8e8cbd505494ac8d937bc36ba",
"dist/tool-calls/background.js": "2d48c89c864fa5f460094055aca0a18e4539bc5337c45a7546721132c9f2e283",
Expand All @@ -52,7 +66,7 @@
"dist/tool-calls/content.js": "51a91f15420e50de2a380f4c6fd966e8f5f3c11f6a30ae1ed84e682a806c4ca4",
"dist/tool-calls/facts.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
"dist/tool-calls/field-tracker.js": "d39ff27d4d3594b187ff37a3f69c6d2955da2c766962dc81b5755fb5681e8132",
"dist/tool-calls/renderer.js": "e04395108a8a36afba1306d38ade2446ca9e5e01a8b3c560b42f17e8d36078b1",
"dist/tool-calls/renderer.js": "8e1982fa052f1f76fe0f29249ed20ba0a18711df3d926e1f8e72408e031668b1",
"dist/tool-calls/reporters/agent.js": "7d63619e553778984d57e348fbecd9a261030d3db029856b81d1eca1f8a7089f",
"dist/tool-calls/reporters/bash.js": "11a563127796ccf37db1aa01088b029fe54eacb109f89fd98a06f24d7b2518b5",
"dist/tool-calls/reporters/compaction.js": "6724c5b0ac51ea929f19dc61645a0433fb5b90ced5e45ea4a676ad4986a26454",
Expand All @@ -62,24 +76,24 @@
"dist/tool-calls/reporters/read.js": "441c25e731108a1d2acf8f18f11ee4eee25762068053094c2f35cd0426be6972",
"dist/tool-calls/reporters/search.js": "71589da441e4f469dd5dc8f5d38fda6a46eccd2114193604de804803f7621f16",
"dist/tool-calls/reporters/web.js": "fee06cbd0d4e0d6dcc6a6b68d723d497f92069aed9f4f932b963d5f661b41525",
"dist/tool-result-meta.js": "2c3301104d4b4066244631a0c52cdd0f7e99b5d3189d2318762ee88110f6c0a9",
"dist/tool-result-meta.js": "61478ed639594bfa147b7d5641e79bca114f3d0f7e75629ffd0575994c7e7199",
"dist/tools.js": "d8c51a3f0cff5086cb6ee2c2caafe8d23bf263b33eb817847621369c5b7842d9",
"dist/turn-events.js": "8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881",
"dist/usage-markdown.js": "3ba0b12c5232321876bf7757ef6c733538b373ef50d2bd905aa5b88b30af545e",
"dist/utils.js": "e31dbf52fff4a8eae598e4ad554f6ca8429264730cf6bb9eefb07291497f42bb",
"dist/v2/agent.js": "9f0d2361eedc08547bde6d75653871da6031374347d95cbe7a3b7a6f8b1f4c2e",
"dist/utils.js": "98a27da0e933c49006025a6f60723ecaaf4db5137106b18c74a0c7204ea49bfa",
"dist/v2/agent.js": "8d8987707969977942bf79e367842d15c9cc3b48c7dd63e019ab171c8b304881",
"dist/v2/initialize.js": "ee2ebe4771d76764fae6f99805665715a3ad20f1867fda0259d031145e9e74cf",
"dist/v2/permission.js": "46d72c21a5ea84277a3812039300561d4c4aeb90fa44222e370e9f77a08ead52",
"dist/v2/prompt.js": "a83e2160f505a14647bdd4ecc92e9891ac840c48dab5e633c5a88dbfe3b8e2d3",
"dist/v2/prompt.js": "7908b6464dc8d09a00be26411f9a8133a51473ef64d077280c6eecdcde2f2a0b",
"dist/v2/session-update.js": "8c3bc6eb39f33a42a20b8fa67ec1a743bf2fc72c66bb823d9a9cde7e8990fbd0",
"dist/v2/session.js": "3778b11b4c699441bf28472e6134ae0ad99a5955a68adbdcd99d67788803742d",
"dist/v2/terminal.js": "d5b9fbc8e8cad4d8e48cc13c9c53c801b546f26036043bde0ce44c8841c22fd9",
"dist/v2/tool-call.js": "df0963aafc7c93d16fc88c30ee40afdd54a49853b50fc592f0bc3253f03cd462"
},
"productionPackages": {
"node_modules/@agentclientprotocol/sdk": {
"version": "1.7.0",
"integrity": "sha512-ZORuxsuEnLjRly7t6Ad7zAsWitjWsyprswyPUHz/yycPb+tTm3DGa8XheaHhRXqX8LS9snuxaYavXSRA50TlHw=="
"version": "1.8.0",
"integrity": "sha512-fbP7qHZsFyTJVT0/RPrcWJ8An26qLXHEuGCHHEKDyxD1xpXV+Ejyh2LAE6vBAFePkpVjZeeohnbgvuEhZ7wLMg=="
},
"node_modules/@anthropic-ai/claude-agent-sdk": {
"version": "0.3.293",
Expand Down
16 changes: 8 additions & 8 deletions apps/desktop/runtimes/claude/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion apps/desktop/runtimes/claude/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,6 @@
"name": "neverwrite-claude-runtime",
"private": true,
"dependencies": {
"@agentclientprotocol/claude-agent-acp": "0.88.0"
"@agentclientprotocol/claude-agent-acp": "0.89.1"
}
}
6 changes: 3 additions & 3 deletions apps/desktop/scripts/claude-upstream-watch.test.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import { readPinnedClaudeVersion, parseSemver, compareSemver } from "../../../sc

test("watcher reads the dependency version, not the private package version", async () => {
const manifest = JSON.parse(await fs.readFile(new URL("../runtimes/claude/package.json", import.meta.url), "utf8"));
assert.equal(readPinnedClaudeVersion({ ...manifest, version: "9.0.0" }), "0.88.0");
assert.equal(compareSemver(parseSemver("v0.88.0"), parseSemver(readPinnedClaudeVersion(manifest))), 0);
assert.equal(compareSemver(parseSemver("v0.88.1"), parseSemver(readPinnedClaudeVersion(manifest))), 1);
assert.equal(readPinnedClaudeVersion({ ...manifest, version: "9.0.0" }), "0.89.1");
assert.equal(compareSemver(parseSemver("v0.89.1"), parseSemver(readPinnedClaudeVersion(manifest))), 0);
assert.equal(compareSemver(parseSemver("v0.89.2"), parseSemver(readPinnedClaudeVersion(manifest))), 1);
});

test("watcher rejects floating, preview and missing runtime pins", () => {
Expand Down
Loading