@koda-sl/baker-bridge 0.168.0-dev.d78500250 → 0.168.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -42
- package/dist/hono/agent.d.ts.map +1 -1
- package/dist/hono/agent.js +2 -1
- package/dist/hono/agent.js.map +1 -1
- package/dist/hono/agent.test.js +91 -175
- package/dist/hono/agent.test.js.map +1 -1
- package/dist/hono/attachments.d.ts.map +1 -1
- package/dist/hono/attachments.js +9 -1
- package/dist/hono/attachments.js.map +1 -1
- package/dist/hono/attachments.test.js +22 -1
- package/dist/hono/attachments.test.js.map +1 -1
- package/dist/hono/bridge-job.d.ts +7 -17
- package/dist/hono/bridge-job.d.ts.map +1 -1
- package/dist/hono/bridge-job.js +31 -110
- package/dist/hono/bridge-job.js.map +1 -1
- package/dist/hono/bridge-job.test.js +44 -184
- package/dist/hono/bridge-job.test.js.map +1 -1
- package/dist/hono/flow-input-card-fields.test.js +1 -1
- package/dist/hono/flow-input.d.ts +1 -1
- package/dist/hono/flow-input.js +1 -1
- package/dist/hono/main-sync.d.ts +22 -0
- package/dist/hono/main-sync.d.ts.map +1 -1
- package/dist/hono/main-sync.js +110 -2
- package/dist/hono/main-sync.js.map +1 -1
- package/dist/hono/main-sync.test.js +127 -1
- package/dist/hono/main-sync.test.js.map +1 -1
- package/dist/hono/openrouter-session.d.ts +13 -16
- package/dist/hono/openrouter-session.d.ts.map +1 -1
- package/dist/hono/openrouter-session.js +13 -16
- package/dist/hono/openrouter-session.js.map +1 -1
- package/dist/hono/relay.d.ts +0 -8
- package/dist/hono/relay.d.ts.map +1 -1
- package/dist/hono/relay.js +0 -2
- package/dist/hono/relay.js.map +1 -1
- package/dist/hono/relay.test.js +0 -24
- package/dist/hono/relay.test.js.map +1 -1
- package/dist/hono/runtime-files.d.ts +0 -1
- package/dist/hono/runtime-files.d.ts.map +1 -1
- package/dist/hono/runtime-files.js +0 -3
- package/dist/hono/runtime-files.js.map +1 -1
- package/dist/review/digest.d.ts +0 -13
- package/dist/review/digest.d.ts.map +1 -1
- package/dist/review/digest.js +1 -1
- package/dist/review/digest.js.map +1 -1
- package/package.json +1 -1
- package/dist/hono/effort-route.d.ts +0 -43
- package/dist/hono/effort-route.d.ts.map +0 -1
- package/dist/hono/effort-route.js +0 -36
- package/dist/hono/effort-route.js.map +0 -1
- package/dist/hono/effort-route.test.d.ts +0 -2
- package/dist/hono/effort-route.test.d.ts.map +0 -1
- package/dist/hono/effort-route.test.js +0 -54
- package/dist/hono/effort-route.test.js.map +0 -1
- package/dist/hono/tool-result-ledger.d.ts +0 -30
- package/dist/hono/tool-result-ledger.d.ts.map +0 -1
- package/dist/hono/tool-result-ledger.js +0 -63
- package/dist/hono/tool-result-ledger.js.map +0 -1
- package/dist/hono/tool-result-ledger.test.d.ts +0 -2
- package/dist/hono/tool-result-ledger.test.d.ts.map +0 -1
- package/dist/hono/tool-result-ledger.test.js +0 -61
- package/dist/hono/tool-result-ledger.test.js.map +0 -1
- package/dist/hono/workspace-instructions.d.ts +0 -43
- package/dist/hono/workspace-instructions.d.ts.map +0 -1
- package/dist/hono/workspace-instructions.js +0 -68
- package/dist/hono/workspace-instructions.js.map +0 -1
- package/dist/hono/workspace-instructions.test.d.ts +0 -2
- package/dist/hono/workspace-instructions.test.d.ts.map +0 -1
- package/dist/hono/workspace-instructions.test.js +0 -68
- package/dist/hono/workspace-instructions.test.js.map +0 -1
package/README.md
CHANGED
|
@@ -50,7 +50,8 @@ await server.start();
|
|
|
50
50
|
| `BAKER_CHAT_ID` | Present only when running inside a chat sandbox. When set, the bridge relocates Claude Code auto-memory into the cloned repo (`.claude/memory`) — see [Session journal](#session-journal-agent-memory) |
|
|
51
51
|
| `BAKER_ACTING_USER_ID` | Injected into the Agent SDK subprocess env per turn (when the turn's sender is known) so in-sandbox `baker` CLI calls can scope work to the acting user — e.g. `baker mcp add --scope user` |
|
|
52
52
|
| `CLAUDE_CODE_ENABLE_TASKS` | Set to `0` on every Agent SDK subprocess. Turns off the CLI's built-in task backlog and its `task_reminder` — see [Session surface](#session-surface) |
|
|
53
|
-
| `
|
|
53
|
+
| `CLAUDE_CODE_DISABLE_TERMINAL_TITLE` | Set to `1` on every Agent SDK subprocess. The CLI's session-title request carries a structured output OpenRouter cannot route to Bedrock — see [Bedrock is the preferred provider](#bedrock-is-the-preferred-provider) |
|
|
54
|
+
| `CLAUDE_CODE_MODEL_CAPABILITIES` | Set to `-per_turn_effort` on every Agent SDK subprocess so no request carries a per-message effort, which OpenRouter cannot route to Bedrock — see [Bedrock is the preferred provider](#bedrock-is-the-preferred-provider) |
|
|
54
55
|
| `NO_COLOR` | Set to `1` on every Agent SDK subprocess so `baker --help` output carries no ANSI escapes — see [Session surface](#session-surface) |
|
|
55
56
|
| `BAKER_AGENT_MODEL` | Optional. Runs every turn in this runtime on the named model instead of the default, and is forwarded to subagents as `CLAUDE_CODE_SUBAGENT_MODEL`. Ignored unless it names a model with a known context window — see [Model selection](#model-selection) |
|
|
56
57
|
| `CLAUDE_CODE_SUBAGENT_MODEL`, `CLAUDE_CODE_SUBAGENT_MODEL_FORCE` | Set on the Agent SDK subprocess only when `BAKER_AGENT_MODEL` is set. Together they override the `model:` each subagent pins in its own frontmatter |
|
|
@@ -110,9 +111,6 @@ use, and each one costs context on every turn. The bridge trims them at the
|
|
|
110
111
|
disallowed — it is the subagent spawn the workspace's own agents ride — and
|
|
111
112
|
neither is `SendMessage`, which continues a subagent the session already ran;
|
|
112
113
|
the turn stays open until the continued subagent finishes.
|
|
113
|
-
- **Developer tools are disallowed** — `DesignSync`, `ReportFindings`,
|
|
114
|
-
`NotebookEdit`. None was called in 358 production chats, and each definition
|
|
115
|
-
rides every request whenever the CLI does not defer it.
|
|
116
114
|
|
|
117
115
|
To see what a session actually ends up with, read the tool list off its own
|
|
118
116
|
`init` message (`--output-format stream-json --verbose`) rather than this list:
|
|
@@ -124,13 +122,6 @@ the CLI gates some tools on the model, so the resolved set differs per model.
|
|
|
124
122
|
are never TTY-gated, so without it every help read spends ~5-10% of its tokens
|
|
125
123
|
on colour codes the model cannot see.
|
|
126
124
|
|
|
127
|
-
**The workspace's `CLAUDE.md` is sent as the system prompt**, minus its
|
|
128
|
-
`@COMPANY.md` import, which loads from `~/.baker/instructions/CLAUDE.md` as an
|
|
129
|
-
additional directory; the root file is excluded so it is not loaded twice. In
|
|
130
|
-
the system prompt the scaffold's text ends on a cache breakpoint, so every chat
|
|
131
|
-
reads one cached copy instead of writing its own ~24k tokens. A `CLAUDE.md`
|
|
132
|
-
without that exact block loads as before. See `workspace-instructions.ts`.
|
|
133
|
-
|
|
134
125
|
`Options.agents` is deliberately left unset: the workspace ships its own
|
|
135
126
|
subagents in `.claude/agents/`, discovered from disk via
|
|
136
127
|
`settingSources: ["project"]`, and setting the option risks replacing them.
|
|
@@ -174,30 +165,17 @@ Opus 5.5 it suppressed the short progress notes users read during long turns.
|
|
|
174
165
|
|
|
175
166
|
## Reasoning effort
|
|
176
167
|
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
turns did. Effort governs thinking depth, preamble, and how many tool calls the
|
|
189
|
-
model makes; Anthropic's own cost index puts `low` ~12% under `medium` per task.
|
|
190
|
-
|
|
191
|
-
**A change of effort must go through the per-message form.** A top-level
|
|
192
|
-
effort that differs from the previous request re-writes the cached conversation
|
|
193
|
-
from its first tool exchange onward — on a session carrying hundreds of
|
|
194
|
-
thousands of tokens, far more than any per-turn tuning saves. The bridge sets
|
|
195
|
-
`CLAUDE_CODE_MODEL_CAPABILITIES=per_turn_effort`, so the CLI also restates the
|
|
196
|
-
effort on its mid-conversation `role: "system"` message (`output_config.effort`,
|
|
197
|
-
beta `per-turn-control`), which keeps the whole cache. Measured through the real
|
|
198
|
-
CLI on Bedrock, effort medium → low → medium across resumed turns: 3,580 tokens
|
|
199
|
-
re-written on the change without it, 106 with it. Prompt text is no substitute
|
|
200
|
-
for the effort parameter on Opus 5.5.
|
|
168
|
+
Every turn is sent with `effort: "medium"` (the API default is `high`). Effort
|
|
169
|
+
governs thinking depth, preamble, and how many tool calls the model makes; the
|
|
170
|
+
tool-call reduction matters most, because each tool call is another request that
|
|
171
|
+
re-reads the whole prompt, so fewer calls also means less cache-read volume.
|
|
172
|
+
|
|
173
|
+
**It must stay a single constant.** The resolved effort is rendered into the
|
|
174
|
+
prompt, so changing it between requests invalidates every cache breakpoint above
|
|
175
|
+
it — on a session carrying hundreds of thousands of tokens, that re-write costs
|
|
176
|
+
far more than any per-turn tuning saves. To vary reasoning per task, steer with
|
|
177
|
+
prompt text on the newest user message instead; that leaves earlier breakpoints
|
|
178
|
+
intact.
|
|
201
179
|
|
|
202
180
|
Subagents set their own `effort` (and `model`) in their markdown frontmatter and
|
|
203
181
|
do **not** inherit either from the main thread. The four scaffold-shared agents
|
|
@@ -263,13 +241,16 @@ The `session_id` pin still applies whenever an inherited `provider` drops the
|
|
|
263
241
|
`order`.
|
|
264
242
|
|
|
265
243
|
The preference only holds for a request Bedrock can serve, and OpenRouter drops
|
|
266
|
-
Bedrock from the route without an error when it can't.
|
|
267
|
-
the
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
244
|
+
Bedrock from the route without an error when it can't. From Opus 5.5 the CLI
|
|
245
|
+
restates the effort on its mid-conversation `role: "system"` message
|
|
246
|
+
(`output_config.effort`, beta `per-turn-control`), which no Bedrock endpoint
|
|
247
|
+
supports — so the day Opus 5.5 shipped, 52 of ~4,600 of its requests reached
|
|
248
|
+
Bedrock and the rest were billed to OpenRouter credits. The bridge sets
|
|
249
|
+
`CLAUDE_CODE_MODEL_CAPABILITIES=-per_turn_effort` to stop that; the request-level
|
|
250
|
+
`effort` still applies. A request with a structured-output schema is served
|
|
251
|
+
elsewhere, because Bedrock lacks structured outputs on OpenRouter; the CLI's one
|
|
252
|
+
such request, naming the session, is never sent
|
|
253
|
+
(`CLAUDE_CODE_DISABLE_TERMINAL_TITLE=1`), since nothing in Baker reads the name.
|
|
273
254
|
|
|
274
255
|
## OpenRouter web plugin is forced off
|
|
275
256
|
|
|
@@ -852,6 +833,27 @@ whose reflog or remote branch still holds a commit it no longer reaches (reset
|
|
|
852
833
|
or rebased back to `main`) holds lost work, not none, so it never reports
|
|
853
834
|
unchanged. If git cannot answer, the field is left out.
|
|
854
835
|
|
|
836
|
+
## After a Publish is pushed
|
|
837
|
+
|
|
838
|
+
A chat can go on after Publish, so once this chat's Publish is on `main` (its
|
|
839
|
+
`publish: <branch>` commit), the bridge settles it: when the publish turn ends,
|
|
840
|
+
and again before the next turn's catch-up for a Runtime that stopped first. In
|
|
841
|
+
order:
|
|
842
|
+
|
|
843
|
+
1. The chat branch starts again from `main` (`git checkout -B <branch>
|
|
844
|
+
origin/main`), only when the workspace holds exactly what was published:
|
|
845
|
+
nothing written since, and the same tree as the published commit, or the
|
|
846
|
+
same change when the Publish re-applied it on a newer `main`. Its reflog
|
|
847
|
+
from before goes with it: everything it held is live. Anything else leaves
|
|
848
|
+
the branch as it is, with a warning in the log.
|
|
849
|
+
2. The remote chat branch is deleted.
|
|
850
|
+
3. `refs/baker/published` records the published commit, and how many entries
|
|
851
|
+
the branch's reflog held then. The lost-work check above reads only the
|
|
852
|
+
entries after them, so what was published never reads as lost work, while a
|
|
853
|
+
commit lost after Publish still does.
|
|
854
|
+
|
|
855
|
+
A Publish already recorded is not settled twice.
|
|
856
|
+
|
|
855
857
|
## Keeping the CLI on the current release
|
|
856
858
|
|
|
857
859
|
A turn's request may carry `cliVersion`: the `baker` CLI release the turn should
|
package/dist/hono/agent.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/hono/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAiCvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAU3D,OAAO,EACL,KAAK,qBAAqB,EAK3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAoB/E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAEhG;AA2DD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAOD,cAAM,oBAAoB;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,YAAY,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,qBAAqB,EAcpE;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,KAAK,IAAI,OAAO,CAEf;IAED,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9F;IAED,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE9D;IAED,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAE3E;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAE5E;IAED,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAyB,GAAG,OAAO,CAExF;IAED,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEhF;IAED,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAE5E;IAEK,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF;IAED,OAAO,CAAC,uBAAuB;
|
|
1
|
+
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../src/hono/agent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA2B,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAI5F,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAiCvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAU3D,OAAO,EACL,KAAK,qBAAqB,EAK3B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAE1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAoB/E,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAEhG;AA2DD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5D;AAOD,cAAM,oBAAoB;IACxB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAE5C,YAAY,QAAQ,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,qBAAqB,EAcpE;IAED,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAE3B;IAED,KAAK,IAAI,OAAO,CAEf;IAED,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9F;IAED,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,OAAO,CAE9D;IAED,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAE3E;IAED,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAE5E;IAED,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,yBAAyB,GAAG,OAAO,CAExF;IAED,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAEhF;IAED,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAE5E;IAEK,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCjF;IAED,OAAO,CAAC,uBAAuB;YA+FjB,kBAAkB;YAQlB,mBAAmB;YAOnB,sBAAsB;YAItB,cAAc;IAO5B,OAAO,CAAC,wBAAwB;YAKlB,uBAAuB;YAQvB,+BAA+B;YAQ/B,wBAAwB;YAwBxB,kBAAkB;CAejC;AAwBD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAElF;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEtD;AAWD,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC,CA2BhE"}
|
package/dist/hono/agent.js
CHANGED
|
@@ -4,7 +4,7 @@ import { buildAttachmentPromptSuffix, downloadAttachments } from "./attachments.
|
|
|
4
4
|
import { BridgeJobExecutor, } from "./bridge-job.js";
|
|
5
5
|
import { cliKeeper } from "./cli-sync.js";
|
|
6
6
|
import { clearStreamBuffer, enqueueStreamingTools, enqueueStreamText, flushStream, markStreamReplace, postAgentActivity, postAvatarCastingRequest, postAvatarCastingResolved, postCompaction, postConnectionInputRequest, postConnectionInputResolved, postContextUsage, postCredentialInputRequest, postCredentialInputResolved, postEvent, postFlowInputRequest, postFlowInputResolved, postHeartbeat, postInputRequest, postInputResolved, postPlanResolved, postPlanReview, postRetractedEvents, postReviewDigest, postTagInputRequest, postTagInputResolved, postToolOutcomes, recordContextSource, signalComplete, waitForTerminalCompletionLifecycle, } from "./convex.js";
|
|
7
|
-
import { catchUpWithMain, holdsNoWorkOfItsOwn } from "./main-sync.js";
|
|
7
|
+
import { catchUpWithMain, holdsNoWorkOfItsOwn, settleAfterPublish } from "./main-sync.js";
|
|
8
8
|
import { createMcpServersProvider } from "./mcp-servers.js";
|
|
9
9
|
import { resolveAgentModel } from "./model-capabilities.js";
|
|
10
10
|
import { recoverStalledPublish, waitForStalledPublishRecovery } from "./publish-recovery.js";
|
|
@@ -234,6 +234,7 @@ class BridgeRuntimeSession {
|
|
|
234
234
|
mcpServersProvider,
|
|
235
235
|
catchUpWithMain: (threadId) => catchUpWithMain(bridgeRuntimeFiles.projectRoot(), threadId),
|
|
236
236
|
holdsNoWork: () => holdsNoWorkOfItsOwn(bridgeRuntimeFiles.projectRoot()),
|
|
237
|
+
settleAfterPublish: () => settleAfterPublish(bridgeRuntimeFiles.projectRoot()),
|
|
237
238
|
keepCliInStep,
|
|
238
239
|
model: resolveAgentModel(),
|
|
239
240
|
sessionStore: {
|
package/dist/hono/agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/hono/agent.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../../src/hono/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/hono/agent.test.js
CHANGED
|
@@ -2,14 +2,43 @@ import { mkdir, mkdtemp } from "node:fs/promises";
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
|
|
5
|
+
// The turn runs in a workspace of its own: a temp directory outside any git repository, so the
|
|
6
|
+
// before-turn sync with main never fetches or writes refs in the checkout running these tests.
|
|
7
|
+
// getSlashCommands reads the workspace's skills off disk, so the project root stays steerable.
|
|
8
|
+
// The session boundary and in-flight turn are kept under a temp Baker home, where the tests read them.
|
|
9
|
+
const dirs = await vi.hoisted(async () => {
|
|
10
|
+
const { mkdtempSync } = await import("node:fs");
|
|
11
|
+
const { tmpdir } = await import("node:os");
|
|
12
|
+
const { join } = await import("node:path");
|
|
13
|
+
return {
|
|
14
|
+
projectRoot: { value: mkdtempSync(join(tmpdir(), "baker-agent-workspace-")) },
|
|
15
|
+
bakerHome: mkdtempSync(join(tmpdir(), "baker-agent-home-")),
|
|
16
|
+
};
|
|
17
|
+
});
|
|
18
|
+
const projectRootMock = dirs.projectRoot;
|
|
19
|
+
// The real session store clears a boundary by deleting its file. A test that
|
|
20
|
+
// needs a stale clear to land late holds that delete open here.
|
|
21
|
+
const sessionFileDeletes = vi.hoisted(() => ({
|
|
22
|
+
hold: undefined,
|
|
23
|
+
}));
|
|
24
|
+
vi.mock("node:fs/promises", async (importOriginal) => {
|
|
25
|
+
const actual = await importOriginal();
|
|
26
|
+
return {
|
|
27
|
+
...actual,
|
|
28
|
+
rm: async (...args) => {
|
|
29
|
+
await sessionFileDeletes.hold?.(String(args[0]));
|
|
30
|
+
return actual.rm(...args);
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
});
|
|
8
34
|
vi.mock("./runtime-files.ts", async (importOriginal) => {
|
|
9
35
|
const actual = await importOriginal();
|
|
10
36
|
return {
|
|
11
37
|
...actual,
|
|
12
|
-
bridgeRuntimeFiles: {
|
|
38
|
+
bridgeRuntimeFiles: {
|
|
39
|
+
...actual.createBridgeRuntimeFiles({ bakerHome: dirs.bakerHome }),
|
|
40
|
+
projectRoot: () => projectRootMock.value,
|
|
41
|
+
},
|
|
13
42
|
};
|
|
14
43
|
});
|
|
15
44
|
// The real provider POSTs to the convex site above: every turn here went out to
|
|
@@ -33,24 +62,6 @@ vi.mock("@anthropic-ai/claude-agent-sdk", () => ({
|
|
|
33
62
|
createSdkMcpServer: vi.fn(() => ({ type: "sdk", name: "baker_ui", instance: {} })),
|
|
34
63
|
tool: vi.fn((name) => ({ name })),
|
|
35
64
|
}));
|
|
36
|
-
vi.mock("./model-capabilities.ts", () => ({
|
|
37
|
-
DEFAULT_MODEL: "claude-opus-5-5",
|
|
38
|
-
resolveAgentModel: () => "claude-opus-5-5",
|
|
39
|
-
agentModelOverride: () => undefined,
|
|
40
|
-
contextWindowForModel: (model) => (model === "claude-opus-5-5" ? 1_000_000 : null),
|
|
41
|
-
autoCompactWindowForModel: (model) => model === "claude-opus-5-5" ? 1_000_000 : undefined,
|
|
42
|
-
betasForModel: (model) => model === "claude-haiku-4-5" ? undefined : ["context-1m-2025-08-07"],
|
|
43
|
-
}));
|
|
44
|
-
vi.mock("./session-store.ts", () => ({
|
|
45
|
-
loadSessionBoundary: vi.fn(async () => undefined),
|
|
46
|
-
saveSessionBoundary: vi.fn(async () => undefined),
|
|
47
|
-
clearSessionBoundary: vi.fn(async () => undefined),
|
|
48
|
-
inFlightTurnStore: {
|
|
49
|
-
load: vi.fn(async () => undefined),
|
|
50
|
-
save: vi.fn(async () => undefined),
|
|
51
|
-
clear: vi.fn(async () => undefined),
|
|
52
|
-
},
|
|
53
|
-
}));
|
|
54
65
|
vi.mock("./convex.ts", () => ({
|
|
55
66
|
clearStreamBuffer: vi.fn(),
|
|
56
67
|
enqueueStreamingTools: vi.fn(),
|
|
@@ -76,9 +87,11 @@ import { abortSession, buildRehydratedPrompt, getSlashCommands, isResumeSessionE
|
|
|
76
87
|
import { processAsync } from "./callback.js";
|
|
77
88
|
import { recordContextSource, signalComplete, waitForTerminalCompletionLifecycle } from "./convex.js";
|
|
78
89
|
import { recoverStalledPublish, waitForStalledPublishRecovery } from "./publish-recovery.js";
|
|
79
|
-
import {
|
|
90
|
+
import { loadSessionBoundary, saveSessionBoundary } from "./session-store.js";
|
|
80
91
|
beforeEach(() => {
|
|
81
92
|
vi.clearAllMocks();
|
|
93
|
+
// Every turn here runs on the default model; a developer's own override stays out of it.
|
|
94
|
+
vi.stubEnv("BAKER_AGENT_MODEL", "");
|
|
82
95
|
});
|
|
83
96
|
// Two tests install fake timers and restore them in a `finally`. A test that
|
|
84
97
|
// times out never reaches its `finally` — vitest fails it but leaves the body
|
|
@@ -87,6 +100,7 @@ beforeEach(() => {
|
|
|
87
100
|
// dozen. Hooks still run after a timed-out test, so restore the clock here.
|
|
88
101
|
afterEach(() => {
|
|
89
102
|
vi.useRealTimers();
|
|
103
|
+
vi.unstubAllEnvs();
|
|
90
104
|
});
|
|
91
105
|
function history(entries, renderedContext) {
|
|
92
106
|
return {
|
|
@@ -105,11 +119,14 @@ function history(entries, renderedContext) {
|
|
|
105
119
|
].join("\n")),
|
|
106
120
|
};
|
|
107
121
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
122
|
+
/** A clean boundary a thread's last turn left on disk, to resume from. */
|
|
123
|
+
async function savedCleanBoundary(threadId, sessionId) {
|
|
124
|
+
await saveSessionBoundary(threadId, { version: 2, sessionId, resumeSessionAt: "assistant_saved", updatedAtMs: 100 });
|
|
125
|
+
}
|
|
126
|
+
/** The session the thread's next turn would resume, as the bridge left it on disk. */
|
|
127
|
+
async function persistedSessionId(threadId) {
|
|
128
|
+
const loaded = await loadSessionBoundary(threadId);
|
|
129
|
+
return loaded?.kind === "clean" ? loaded.boundary.sessionId : undefined;
|
|
113
130
|
}
|
|
114
131
|
function deferred() {
|
|
115
132
|
let resolve;
|
|
@@ -373,7 +390,7 @@ describe("processAsync rehydration flow", () => {
|
|
|
373
390
|
});
|
|
374
391
|
expect(signalComplete).toHaveBeenCalledWith("thread_flow_missing_session", "turn_flow", expect.objectContaining({ kind: "completed", costUsd: 0, model: "claude-opus-5-5" }));
|
|
375
392
|
expect(vi.mocked(signalComplete).mock.lastCall?.[2]).not.toMatchObject({ completeChat: true });
|
|
376
|
-
expect(
|
|
393
|
+
expect(await persistedSessionId("thread_flow_missing_session")).toBe("session_next");
|
|
377
394
|
});
|
|
378
395
|
it("sends the preview-pane context as its own system-reminder block, leaving the marketer's words alone", async () => {
|
|
379
396
|
const queryMock = vi.mocked(query);
|
|
@@ -447,44 +464,9 @@ describe("processAsync rehydration flow", () => {
|
|
|
447
464
|
expect(reminders.join("\n")).toContain("Baker: this chat's last publish failed.");
|
|
448
465
|
expect(reminders.join("\n")).toContain("Verify failed (exit 1)");
|
|
449
466
|
});
|
|
450
|
-
it("clears an invalid saved SDK session and retries once with rehydrated history", async () => {
|
|
451
|
-
const queryMock = vi.mocked(query);
|
|
452
|
-
vi.mocked(loadSessionBoundary).mockResolvedValueOnce(cleanLoadedBoundary("session_stale"));
|
|
453
|
-
queryMock
|
|
454
|
-
.mockReturnValueOnce({
|
|
455
|
-
async *[Symbol.asyncIterator]() {
|
|
456
|
-
yield await Promise.reject(new Error("Cannot resume: session not found"));
|
|
457
|
-
},
|
|
458
|
-
})
|
|
459
|
-
.mockReturnValueOnce({
|
|
460
|
-
async *[Symbol.asyncIterator]() {
|
|
461
|
-
await Promise.resolve();
|
|
462
|
-
yield { type: "result", total_cost_usd: 0.5, session_id: "session_next" };
|
|
463
|
-
},
|
|
464
|
-
});
|
|
465
|
-
await processAsync({
|
|
466
|
-
threadId: "thread_flow_invalid_resume",
|
|
467
|
-
prompt: "Continue from context",
|
|
468
|
-
history: history([{ role: "user", text: "Persisted fact", createdAt: 1 }]),
|
|
469
|
-
turnId: "turn_invalid_resume",
|
|
470
|
-
});
|
|
471
|
-
expect(queryMock).toHaveBeenCalledTimes(2);
|
|
472
|
-
expect(queryMock.mock.calls[0]?.[0].options).toMatchObject({
|
|
473
|
-
resume: "session_stale",
|
|
474
|
-
forkSession: true,
|
|
475
|
-
resumeSessionAt: "assistant_saved",
|
|
476
|
-
});
|
|
477
|
-
expect(await promptText(queryMock.mock.calls[0]?.[0].prompt)).toBe("Continue from context");
|
|
478
|
-
expect(queryMock.mock.calls[1]?.[0].options).not.toHaveProperty("resume");
|
|
479
|
-
const retryPrompt = await promptText(queryMock.mock.calls[1]?.[0].prompt);
|
|
480
|
-
expect(retryPrompt).toContain("[user] Persisted fact");
|
|
481
|
-
expect(retryPrompt).toContain("Current user request\nContinue from context");
|
|
482
|
-
expect(clearSessionBoundary).toHaveBeenCalledWith("thread_flow_invalid_resume");
|
|
483
|
-
expect(recordContextSource).toHaveBeenCalledWith("thread_flow_invalid_resume", "rehydrated_invalid_resume", expect.objectContaining({ historyEntryCount: 1, reason: "invalid_resume" }), "turn_invalid_resume");
|
|
484
|
-
});
|
|
485
467
|
it("treats tool-use concurrency SDK errors as failed dirty continuity instead of string-match repair", async () => {
|
|
486
468
|
const queryMock = vi.mocked(query);
|
|
487
|
-
|
|
469
|
+
await savedCleanBoundary("thread_flow_tool_use_error", "session_broken_tool_state");
|
|
488
470
|
queryMock.mockReturnValueOnce({
|
|
489
471
|
async *[Symbol.asyncIterator]() {
|
|
490
472
|
yield await Promise.reject(new Error("Claude Code returned an error result: API Error: 400 due to tool use concurrency issues."));
|
|
@@ -502,7 +484,7 @@ describe("processAsync rehydration flow", () => {
|
|
|
502
484
|
forkSession: true,
|
|
503
485
|
resumeSessionAt: "assistant_saved",
|
|
504
486
|
});
|
|
505
|
-
expect(
|
|
487
|
+
expect(await loadSessionBoundary("thread_flow_tool_use_error")).toBeUndefined();
|
|
506
488
|
expect(recordContextSource).not.toHaveBeenCalledWith("thread_flow_tool_use_error", "rehydrated_repaired_tool_state", expect.anything(), "turn_tool_use_error");
|
|
507
489
|
expect(signalComplete).toHaveBeenCalledWith("thread_flow_tool_use_error", "turn_tool_use_error", expect.objectContaining({
|
|
508
490
|
kind: "errored",
|
|
@@ -511,65 +493,6 @@ describe("processAsync rehydration flow", () => {
|
|
|
511
493
|
errors: [expect.stringContaining("tool use concurrency issues")],
|
|
512
494
|
}));
|
|
513
495
|
});
|
|
514
|
-
it("treats tool-use concurrency result errors as failed dirty continuity instead of retrying", async () => {
|
|
515
|
-
const queryMock = vi.mocked(query);
|
|
516
|
-
vi.mocked(loadSessionBoundary).mockResolvedValueOnce(cleanLoadedBoundary("session_broken_tool_state_result"));
|
|
517
|
-
queryMock.mockReturnValueOnce({
|
|
518
|
-
async *[Symbol.asyncIterator]() {
|
|
519
|
-
await Promise.resolve();
|
|
520
|
-
yield {
|
|
521
|
-
type: "result",
|
|
522
|
-
subtype: "error_during_execution",
|
|
523
|
-
is_error: true,
|
|
524
|
-
errors: ["API Error: 400 due to tool use concurrency issues"],
|
|
525
|
-
total_cost_usd: 0.3,
|
|
526
|
-
session_id: "session_broken_tool_state_result",
|
|
527
|
-
};
|
|
528
|
-
},
|
|
529
|
-
});
|
|
530
|
-
await processAsync({
|
|
531
|
-
threadId: "thread_flow_tool_use_result_error",
|
|
532
|
-
prompt: "Continue from persisted state",
|
|
533
|
-
history: history([{ role: "assistant", text: "I was about to run a tool", createdAt: 1 }]),
|
|
534
|
-
turnId: "turn_tool_use_result_error",
|
|
535
|
-
});
|
|
536
|
-
expect(queryMock).toHaveBeenCalledTimes(1);
|
|
537
|
-
expect(clearSessionBoundary).toHaveBeenCalledWith("thread_flow_tool_use_result_error");
|
|
538
|
-
expect(signalComplete).toHaveBeenCalledWith("thread_flow_tool_use_result_error", "turn_tool_use_result_error", expect.objectContaining({
|
|
539
|
-
kind: "errored",
|
|
540
|
-
costUsd: 0.3,
|
|
541
|
-
model: "claude-opus-5-5",
|
|
542
|
-
errors: ["Claude Code returned an error result: API Error: 400 due to tool use concurrency issues"],
|
|
543
|
-
}));
|
|
544
|
-
});
|
|
545
|
-
it("does not retry invalid resume after any user-visible SDK event has been observed", async () => {
|
|
546
|
-
const queryMock = vi.mocked(query);
|
|
547
|
-
vi.mocked(loadSessionBoundary).mockResolvedValueOnce(cleanLoadedBoundary("session_stale_after_event"));
|
|
548
|
-
queryMock.mockReturnValueOnce({
|
|
549
|
-
async *[Symbol.asyncIterator]() {
|
|
550
|
-
yield { type: "stream_event", event: { type: "message_start" } };
|
|
551
|
-
yield {
|
|
552
|
-
type: "stream_event",
|
|
553
|
-
event: { type: "content_block_delta", delta: { type: "text_delta", text: "Visible" } },
|
|
554
|
-
};
|
|
555
|
-
yield await Promise.reject(new Error("Cannot resume: session not found"));
|
|
556
|
-
},
|
|
557
|
-
});
|
|
558
|
-
await processAsync({
|
|
559
|
-
threadId: "thread_flow_invalid_resume_after_event",
|
|
560
|
-
prompt: "Continue from context",
|
|
561
|
-
history: history([{ role: "user", text: "Persisted fact", createdAt: 1 }]),
|
|
562
|
-
turnId: "turn_invalid_resume_after_event",
|
|
563
|
-
});
|
|
564
|
-
expect(queryMock).toHaveBeenCalledTimes(1);
|
|
565
|
-
expect(clearSessionBoundary).toHaveBeenCalledWith("thread_flow_invalid_resume_after_event");
|
|
566
|
-
expect(signalComplete).toHaveBeenCalledWith("thread_flow_invalid_resume_after_event", "turn_invalid_resume_after_event", expect.objectContaining({
|
|
567
|
-
kind: "errored",
|
|
568
|
-
costUsd: 0,
|
|
569
|
-
model: "claude-opus-5-5",
|
|
570
|
-
errors: [expect.stringContaining("Cannot resume: session not found")],
|
|
571
|
-
}));
|
|
572
|
-
});
|
|
573
496
|
it("does not resume from a clean SDK result that is replaced before completion publishes", async () => {
|
|
574
497
|
vi.useFakeTimers();
|
|
575
498
|
try {
|
|
@@ -600,7 +523,7 @@ describe("processAsync rehydration flow", () => {
|
|
|
600
523
|
turnId: "turn_completion_clean",
|
|
601
524
|
});
|
|
602
525
|
await completionStarted.promise;
|
|
603
|
-
expect(
|
|
526
|
+
expect(await persistedSessionId("thread_flow_replace_during_completion")).not.toBe("session_unpublished_clean");
|
|
604
527
|
const second = processAsync({
|
|
605
528
|
threadId: "thread_flow_replace_during_completion",
|
|
606
529
|
prompt: "Replace before publish finishes",
|
|
@@ -611,10 +534,10 @@ describe("processAsync rehydration flow", () => {
|
|
|
611
534
|
await second;
|
|
612
535
|
expect(queryMock).toHaveBeenCalledTimes(2);
|
|
613
536
|
expect(queryMock.mock.calls[1]?.[0].options).not.toHaveProperty("resume", "session_unpublished_clean");
|
|
614
|
-
expect(
|
|
537
|
+
expect(await persistedSessionId("thread_flow_replace_during_completion")).toBe("session_replacement_clean");
|
|
615
538
|
releaseCompletion.resolve(true);
|
|
616
539
|
await first;
|
|
617
|
-
expect(
|
|
540
|
+
expect(await persistedSessionId("thread_flow_replace_during_completion")).not.toBe("session_unpublished_clean");
|
|
618
541
|
}
|
|
619
542
|
finally {
|
|
620
543
|
vi.useRealTimers();
|
|
@@ -641,9 +564,9 @@ describe("processAsync rehydration flow", () => {
|
|
|
641
564
|
history: history([]),
|
|
642
565
|
turnId: "turn_idle_clean_1",
|
|
643
566
|
});
|
|
644
|
-
expect(
|
|
567
|
+
expect(await persistedSessionId("thread_flow_stale_abort_after_clean")).toBe("session_idle_clean");
|
|
645
568
|
expect(abortSession("thread_flow_stale_abort_after_clean")).toBe(false);
|
|
646
|
-
expect(
|
|
569
|
+
expect(await persistedSessionId("thread_flow_stale_abort_after_clean")).toBe("session_idle_clean");
|
|
647
570
|
await processAsync({
|
|
648
571
|
threadId: "thread_flow_stale_abort_after_clean",
|
|
649
572
|
prompt: "Continue after stale abort",
|
|
@@ -657,70 +580,63 @@ describe("processAsync rehydration flow", () => {
|
|
|
657
580
|
});
|
|
658
581
|
it("repairs a stale dirty clear that finishes after a replacement committed a clean boundary", async () => {
|
|
659
582
|
vi.useFakeTimers();
|
|
583
|
+
const queryMock = vi.mocked(query);
|
|
584
|
+
await savedCleanBoundary("thread_flow_stale_clear_race", "session_prior_race");
|
|
585
|
+
// The failing turn's clear deletes the boundary file; hold that delete open
|
|
586
|
+
// until the replacement has committed its own boundary.
|
|
587
|
+
const clearStarted = deferred();
|
|
588
|
+
const staleClear = deferred();
|
|
589
|
+
sessionFileDeletes.hold = (path) => {
|
|
590
|
+
if (!path.endsWith("thread_flow_stale_clear_race.json"))
|
|
591
|
+
return undefined;
|
|
592
|
+
sessionFileDeletes.hold = undefined;
|
|
593
|
+
clearStarted.resolve();
|
|
594
|
+
return staleClear.promise;
|
|
595
|
+
};
|
|
596
|
+
queryMock
|
|
597
|
+
.mockReturnValueOnce({
|
|
598
|
+
async *[Symbol.asyncIterator]() {
|
|
599
|
+
yield await Promise.reject(new Error("Claude Code returned an error result: API Error: 400 due to tool use concurrency issues."));
|
|
600
|
+
},
|
|
601
|
+
})
|
|
602
|
+
.mockReturnValueOnce({
|
|
603
|
+
async *[Symbol.asyncIterator]() {
|
|
604
|
+
await Promise.resolve();
|
|
605
|
+
yield {
|
|
606
|
+
type: "assistant",
|
|
607
|
+
uuid: "assistant_replacement_race",
|
|
608
|
+
session_id: "session_replacement_race",
|
|
609
|
+
message: { role: "assistant", content: [{ type: "text", text: "Replacement" }] },
|
|
610
|
+
};
|
|
611
|
+
yield { type: "result", total_cost_usd: 0.3, session_id: "session_replacement_race" };
|
|
612
|
+
},
|
|
613
|
+
});
|
|
660
614
|
try {
|
|
661
|
-
const queryMock = vi.mocked(query);
|
|
662
|
-
vi.mocked(loadSessionBoundary).mockResolvedValueOnce(cleanLoadedBoundary("session_prior_race"));
|
|
663
|
-
const staleClear = deferred();
|
|
664
|
-
const dirtyBlocked = deferred();
|
|
665
|
-
const releaseDirty = deferred();
|
|
666
|
-
let clearCalls = 0;
|
|
667
|
-
let persistedBoundary = cleanLoadedBoundary("session_prior_race").boundary;
|
|
668
|
-
vi.mocked(clearSessionBoundary).mockImplementation(async () => {
|
|
669
|
-
clearCalls += 1;
|
|
670
|
-
if (clearCalls === 2) {
|
|
671
|
-
await staleClear.promise;
|
|
672
|
-
}
|
|
673
|
-
persistedBoundary = undefined;
|
|
674
|
-
});
|
|
675
|
-
vi.mocked(saveSessionBoundary).mockImplementation((_threadId, boundary) => {
|
|
676
|
-
persistedBoundary = boundary;
|
|
677
|
-
return Promise.resolve();
|
|
678
|
-
});
|
|
679
|
-
queryMock
|
|
680
|
-
.mockReturnValueOnce({
|
|
681
|
-
close: () => {
|
|
682
|
-
setTimeout(() => releaseDirty.resolve(), 0);
|
|
683
|
-
},
|
|
684
|
-
async *[Symbol.asyncIterator]() {
|
|
685
|
-
yield { type: "system", subtype: "init", session_id: "session_dirty_race" };
|
|
686
|
-
dirtyBlocked.resolve();
|
|
687
|
-
await releaseDirty.promise;
|
|
688
|
-
},
|
|
689
|
-
})
|
|
690
|
-
.mockReturnValueOnce({
|
|
691
|
-
async *[Symbol.asyncIterator]() {
|
|
692
|
-
await Promise.resolve();
|
|
693
|
-
yield {
|
|
694
|
-
type: "assistant",
|
|
695
|
-
uuid: "assistant_replacement_race",
|
|
696
|
-
session_id: "session_replacement_race",
|
|
697
|
-
message: { role: "assistant", content: [{ type: "text", text: "Replacement" }] },
|
|
698
|
-
};
|
|
699
|
-
yield { type: "result", total_cost_usd: 0.3, session_id: "session_replacement_race" };
|
|
700
|
-
},
|
|
701
|
-
});
|
|
702
615
|
const first = processAsync({
|
|
703
616
|
threadId: "thread_flow_stale_clear_race",
|
|
704
617
|
prompt: "Start dirty work",
|
|
705
618
|
history: history([]),
|
|
706
619
|
turnId: "turn_stale_clear_1",
|
|
707
620
|
});
|
|
708
|
-
await
|
|
621
|
+
await clearStarted.promise;
|
|
622
|
+
// The replacement waits out the stuck turn's takeover window before it runs.
|
|
709
623
|
const second = processAsync({
|
|
710
624
|
threadId: "thread_flow_stale_clear_race",
|
|
711
625
|
prompt: "Replace dirty work",
|
|
712
626
|
history: history([{ role: "user", text: "Start dirty work", createdAt: 1 }]),
|
|
713
627
|
turnId: "turn_stale_clear_2",
|
|
714
628
|
});
|
|
715
|
-
await vi.advanceTimersByTimeAsync(0);
|
|
716
629
|
await vi.advanceTimersByTimeAsync(30_000);
|
|
717
630
|
await second;
|
|
718
|
-
expect(
|
|
631
|
+
expect(await persistedSessionId("thread_flow_stale_clear_race")).toBe("session_replacement_race");
|
|
632
|
+
// The stale clear lands only now, after the replacement committed: it must not stick.
|
|
719
633
|
staleClear.resolve();
|
|
720
634
|
await first;
|
|
721
|
-
expect(
|
|
635
|
+
expect(await persistedSessionId("thread_flow_stale_clear_race")).toBe("session_replacement_race");
|
|
722
636
|
}
|
|
723
637
|
finally {
|
|
638
|
+
sessionFileDeletes.hold = undefined;
|
|
639
|
+
staleClear.resolve();
|
|
724
640
|
vi.useRealTimers();
|
|
725
641
|
}
|
|
726
642
|
});
|