@koda-sl/baker-bridge 0.56.1 → 0.60.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 +37 -12
- package/dist/hono/agent-tasks.d.ts +11 -0
- package/dist/hono/agent-tasks.d.ts.map +1 -1
- package/dist/hono/agent-tasks.js +37 -0
- package/dist/hono/agent-tasks.js.map +1 -1
- package/dist/hono/agent-tasks.test.js +42 -1
- package/dist/hono/agent-tasks.test.js.map +1 -1
- package/dist/hono/agent.d.ts.map +1 -1
- package/dist/hono/agent.js +41 -2
- package/dist/hono/agent.js.map +1 -1
- package/dist/hono/agent.test.js +28 -5
- package/dist/hono/agent.test.js.map +1 -1
- package/dist/hono/bridge-job.d.ts +12 -1
- package/dist/hono/bridge-job.d.ts.map +1 -1
- package/dist/hono/bridge-job.js +205 -11
- package/dist/hono/bridge-job.js.map +1 -1
- package/dist/hono/bridge-job.test.js +235 -0
- package/dist/hono/bridge-job.test.js.map +1 -1
- package/dist/hono/env.d.ts +1 -0
- package/dist/hono/env.d.ts.map +1 -1
- package/dist/hono/env.js +5 -0
- package/dist/hono/env.js.map +1 -1
- package/dist/hono/model-router.d.ts +2 -1
- package/dist/hono/model-router.d.ts.map +1 -1
- package/dist/hono/model-router.js +24 -5
- package/dist/hono/model-router.js.map +1 -1
- package/dist/hono/model-router.test.js +64 -12
- package/dist/hono/model-router.test.js.map +1 -1
- package/dist/hono/session-continuity.d.ts +6 -0
- package/dist/hono/session-continuity.d.ts.map +1 -1
- package/dist/hono/session-continuity.integration.test.js +24 -3
- package/dist/hono/session-continuity.integration.test.js.map +1 -1
- package/dist/hono/session-continuity.js +7 -1
- package/dist/hono/session-continuity.js.map +1 -1
- package/package.json +1 -1
|
@@ -2,13 +2,26 @@ import { env } from "./env.js";
|
|
|
2
2
|
import { buildRepoContext } from "./repo-context.js";
|
|
3
3
|
const NOTDIAMOND_API_URL = "https://api.notdiamond.ai/v2/modelRouter/modelSelect";
|
|
4
4
|
// OpenRouter-formatted IDs sent to NotDiamond's selection API.
|
|
5
|
+
//
|
|
6
|
+
// Only models NotDiamond actually lists belong here — it silently DROPS an
|
|
7
|
+
// unrecognized entry from the candidate set rather than erroring, so an
|
|
8
|
+
// unsupported model looks routed but can never be selected. Check a new
|
|
9
|
+
// candidate against `GET https://api.notdiamond.ai/v2/models?provider=anthropic`
|
|
10
|
+
// (match on its `openrouter_model`) before adding it — that catalog currently
|
|
11
|
+
// tops out at Sonnet 5 / Opus 4.7, so newer ids are not routable.
|
|
12
|
+
// Keep in sync with MODEL_CONTEXT_WINDOW.
|
|
5
13
|
export const CANDIDATE_MODELS = [
|
|
6
14
|
{ model: "anthropic/claude-haiku-4.5" },
|
|
7
|
-
{ model: "anthropic/claude-sonnet-
|
|
15
|
+
{ model: "anthropic/claude-sonnet-5" },
|
|
8
16
|
{ model: "anthropic/claude-opus-4.6" },
|
|
9
17
|
];
|
|
10
18
|
// Anthropic-native ID expected by the Claude Agent SDK `query({ options: { model } })`.
|
|
11
|
-
|
|
19
|
+
// Sonnet 5 rather than Opus: $2/$10 per MTok on OpenRouter against Opus 4.6's
|
|
20
|
+
// $5/$25, so every un-routed turn costs ~60% less, and it holds near-Opus
|
|
21
|
+
// quality on the agentic/coding work this runtime does. Sonnet 5's tokenizer
|
|
22
|
+
// emits ~30% more tokens for the same text, which erodes but does not come
|
|
23
|
+
// close to erasing that gap.
|
|
24
|
+
export const DEFAULT_MODEL = "claude-sonnet-5";
|
|
12
25
|
export function normalizeModel(model) {
|
|
13
26
|
const lower = model.toLowerCase();
|
|
14
27
|
if (lower.includes("opus")) {
|
|
@@ -17,8 +30,10 @@ export function normalizeModel(model) {
|
|
|
17
30
|
if (lower.includes("haiku")) {
|
|
18
31
|
return "claude-haiku-4-5";
|
|
19
32
|
}
|
|
33
|
+
// Sonnet 5 dropped the 4.x version prefix, so the family keyword alone can no
|
|
34
|
+
// longer pick the id — anything still on a 4.x slug maps to 4.6, the rest to 5.
|
|
20
35
|
if (lower.includes("sonnet")) {
|
|
21
|
-
return "claude-sonnet-4-6";
|
|
36
|
+
return lower.includes("sonnet-4") ? "claude-sonnet-4-6" : "claude-sonnet-5";
|
|
22
37
|
}
|
|
23
38
|
return model;
|
|
24
39
|
}
|
|
@@ -27,10 +42,12 @@ export function normalizeModel(model) {
|
|
|
27
42
|
// models through the OpenRouter passthrough (`ANTHROPIC_BASE_URL=openrouter.ai`),
|
|
28
43
|
// and the Claude Code CLI's reported `contextWindow` is its own catalog value for
|
|
29
44
|
// the Anthropic-native id — the standard 200k for Claude — which does NOT reflect
|
|
30
|
-
// the OpenRouter window (opus/sonnet
|
|
31
|
-
// normalized id we pass to the SDK. Keep in sync with CANDIDATE_MODELS
|
|
45
|
+
// the OpenRouter window (opus/sonnet are served at 1M there). Keyed by the
|
|
46
|
+
// normalized id we pass to the SDK. Keep in sync with CANDIDATE_MODELS; Sonnet
|
|
47
|
+
// 4.6 stays listed so a turn already running on it still resolves.
|
|
32
48
|
const MODEL_CONTEXT_WINDOW = {
|
|
33
49
|
"claude-opus-4-6": 1_000_000,
|
|
50
|
+
"claude-sonnet-5": 1_000_000,
|
|
34
51
|
"claude-sonnet-4-6": 1_000_000,
|
|
35
52
|
"claude-haiku-4-5": 200_000,
|
|
36
53
|
};
|
|
@@ -54,6 +71,7 @@ function getRepoContext() {
|
|
|
54
71
|
/**
|
|
55
72
|
* Use NotDiamond to select the optimal Claude model for a given prompt.
|
|
56
73
|
* Set NOTDIAMOND_ENABLED=true to enable routing; defaults to Opus 4.6 otherwise.
|
|
74
|
+
* NOTDIAMOND_TRADEOFF decides what it optimizes for (see its env.ts definition).
|
|
57
75
|
*/
|
|
58
76
|
export async function selectModel(prompt) {
|
|
59
77
|
const systemPrompt = await getRepoContext();
|
|
@@ -74,6 +92,7 @@ export async function selectModel(prompt) {
|
|
|
74
92
|
body: JSON.stringify({
|
|
75
93
|
messages,
|
|
76
94
|
llm_providers: CANDIDATE_MODELS,
|
|
95
|
+
...(env.NOTDIAMOND_TRADEOFF === "quality" ? {} : { tradeoff: env.NOTDIAMOND_TRADEOFF }),
|
|
77
96
|
}),
|
|
78
97
|
});
|
|
79
98
|
if (!response.ok) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-router.js","sourceRoot":"","sources":["../../src/hono/model-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,MAAM,kBAAkB,GAAG,sDAAsD,CAAC;AAElF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,EAAE,KAAK,EAAE,4BAA4B,EAAE;IACvC,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"model-router.js","sourceRoot":"","sources":["../../src/hono/model-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
|
-
import { describe, expect, it, vi } from "vitest";
|
|
1
|
+
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
2
2
|
// Stub env before importing model-router so env validation passes.
|
|
3
|
-
vi.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
const mockEnv = vi.hoisted(() => ({
|
|
4
|
+
BAKER_CONVEX_SITE_URL: "https://example.convex.site",
|
|
5
|
+
BAKER_API_KEY: "bk_test",
|
|
6
|
+
AUTH_TOKEN: "tok",
|
|
7
|
+
INTERNAL_SECRET_KEY: "0".repeat(64),
|
|
8
|
+
NOTDIAMOND_ENABLED: false,
|
|
9
|
+
NOTDIAMOND_API_KEY: "nd_test",
|
|
10
|
+
NOTDIAMOND_TRADEOFF: "cost",
|
|
11
11
|
}));
|
|
12
|
-
|
|
12
|
+
vi.mock("./env.ts", () => ({ env: mockEnv }));
|
|
13
|
+
vi.mock("./repo-context.ts", () => ({ buildRepoContext: async () => "repo context" }));
|
|
14
|
+
import { CANDIDATE_MODELS, contextWindowForModel, DEFAULT_MODEL, normalizeModel, selectModel } from "./model-router.js";
|
|
13
15
|
// The Claude Agent SDK's `query({ options: { model } })` expects native
|
|
14
16
|
// Anthropic IDs (no `anthropic/` prefix, dashes-only versions). Passing
|
|
15
17
|
// NotDiamond / OpenRouter formatted IDs makes the SDK silently fall back to
|
|
@@ -21,6 +23,15 @@ describe("normalizeModel", () => {
|
|
|
21
23
|
it("normalizes Sonnet (already dashed) by stripping the prefix", () => {
|
|
22
24
|
expect(normalizeModel("anthropic/claude-sonnet-4-6")).toBe("claude-sonnet-4-6");
|
|
23
25
|
});
|
|
26
|
+
// Sonnet 5 has no 4.x version prefix, so matching on "sonnet" alone would
|
|
27
|
+
// silently route it to the older 4.6 id and mis-report its context window.
|
|
28
|
+
it("normalizes Sonnet 5 without collapsing it into the 4.6 id", () => {
|
|
29
|
+
expect(normalizeModel("anthropic/claude-sonnet-5")).toBe("claude-sonnet-5");
|
|
30
|
+
});
|
|
31
|
+
it("still maps dotted and dated 4.x Sonnet slugs to 4.6", () => {
|
|
32
|
+
expect(normalizeModel("anthropic/claude-sonnet-4.6")).toBe("claude-sonnet-4-6");
|
|
33
|
+
expect(normalizeModel("anthropic/claude-sonnet-4-5-20250929")).toBe("claude-sonnet-4-6");
|
|
34
|
+
});
|
|
24
35
|
it("normalizes Haiku by stripping the prefix", () => {
|
|
25
36
|
expect(normalizeModel("anthropic/claude-haiku-4-5")).toBe("claude-haiku-4-5");
|
|
26
37
|
});
|
|
@@ -44,6 +55,9 @@ describe("contextWindowForModel", () => {
|
|
|
44
55
|
it("returns 1M for Sonnet 4.6", () => {
|
|
45
56
|
expect(contextWindowForModel("claude-sonnet-4-6")).toBe(1_000_000);
|
|
46
57
|
});
|
|
58
|
+
it("returns 1M for Sonnet 5", () => {
|
|
59
|
+
expect(contextWindowForModel("claude-sonnet-5")).toBe(1_000_000);
|
|
60
|
+
});
|
|
47
61
|
it("returns 200k for Haiku 4.5 (not a 1M model on OpenRouter)", () => {
|
|
48
62
|
expect(contextWindowForModel("claude-haiku-4-5")).toBe(200_000);
|
|
49
63
|
});
|
|
@@ -66,11 +80,49 @@ describe("contextWindowForModel", () => {
|
|
|
66
80
|
}
|
|
67
81
|
});
|
|
68
82
|
});
|
|
83
|
+
describe("selectModel", () => {
|
|
84
|
+
afterEach(() => {
|
|
85
|
+
mockEnv.NOTDIAMOND_ENABLED = false;
|
|
86
|
+
mockEnv.NOTDIAMOND_TRADEOFF = "cost";
|
|
87
|
+
vi.unstubAllGlobals();
|
|
88
|
+
});
|
|
89
|
+
async function capturePostedBody() {
|
|
90
|
+
const fetchMock = vi.fn(async (_url, _init) => new Response(JSON.stringify({ providers: [{ model: "anthropic/claude-haiku-4-5" }] })));
|
|
91
|
+
vi.stubGlobal("fetch", fetchMock);
|
|
92
|
+
await selectModel("write a landing page");
|
|
93
|
+
const [, init] = fetchMock.mock.calls[0] ?? [];
|
|
94
|
+
return JSON.parse(String(init?.body));
|
|
95
|
+
}
|
|
96
|
+
// Without a tradeoff NotDiamond optimizes for quality alone, which pins nearly
|
|
97
|
+
// every turn to Opus. Sending it is what makes the router actually save money.
|
|
98
|
+
it("sends the configured tradeoff so the router optimizes for cost by default", async () => {
|
|
99
|
+
mockEnv.NOTDIAMOND_ENABLED = true;
|
|
100
|
+
expect(await capturePostedBody()).toMatchObject({ tradeoff: "cost" });
|
|
101
|
+
});
|
|
102
|
+
it("sends latency when configured to optimize for speed", async () => {
|
|
103
|
+
mockEnv.NOTDIAMOND_ENABLED = true;
|
|
104
|
+
mockEnv.NOTDIAMOND_TRADEOFF = "latency";
|
|
105
|
+
expect(await capturePostedBody()).toMatchObject({ tradeoff: "latency" });
|
|
106
|
+
});
|
|
107
|
+
// "quality" is the router's default posture, not a wire enum — sending it
|
|
108
|
+
// literally would be rejected, so the field has to be dropped instead.
|
|
109
|
+
it("omits the tradeoff field entirely when configured for quality", async () => {
|
|
110
|
+
mockEnv.NOTDIAMOND_ENABLED = true;
|
|
111
|
+
mockEnv.NOTDIAMOND_TRADEOFF = "quality";
|
|
112
|
+
expect(await capturePostedBody()).not.toHaveProperty("tradeoff");
|
|
113
|
+
});
|
|
114
|
+
});
|
|
69
115
|
describe("DEFAULT_MODEL", () => {
|
|
116
|
+
// Every turn that isn't routed runs on this model, so it is the single
|
|
117
|
+
// biggest lever on the runtime's model bill. Opus 4.6 costs $5/$25 per MTok
|
|
118
|
+
// against Sonnet 5's $2/$10 — pin the cheaper default so a silent revert to
|
|
119
|
+
// Opus shows up here rather than on the invoice.
|
|
120
|
+
it("defaults to Sonnet 5 rather than an Opus tier", () => {
|
|
121
|
+
expect(DEFAULT_MODEL).toBe("claude-sonnet-5");
|
|
122
|
+
});
|
|
70
123
|
// Locks the fallback to the SDK-native format. If this regresses to the
|
|
71
|
-
// OpenRouter/NotDiamond form, the SDK silently
|
|
124
|
+
// OpenRouter/NotDiamond form, the SDK silently falls back to its CLI default.
|
|
72
125
|
it("uses the Claude Agent SDK-native format", () => {
|
|
73
|
-
expect(DEFAULT_MODEL).toBe("claude-opus-4-6");
|
|
74
126
|
expect(DEFAULT_MODEL).not.toMatch(/^anthropic\//);
|
|
75
127
|
expect(DEFAULT_MODEL).not.toMatch(/\./);
|
|
76
128
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-router.test.js","sourceRoot":"","sources":["../../src/hono/model-router.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"model-router.test.js","sourceRoot":"","sources":["../../src/hono/model-router.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,12 @@ export declare const STALL_RESUME_PROMPT: string;
|
|
|
27
27
|
* When the stalled query already produced a session id, resume it — the CLI's
|
|
28
28
|
* transcript holds everything up to the last completed message. Before any
|
|
29
29
|
* message arrived nothing was consumed, so the original attempt is resent as-is.
|
|
30
|
+
*
|
|
31
|
+
* The resume FORKS the session: the stalled CLI gets stdin-EOF → SIGTERM →
|
|
32
|
+
* SIGKILL over ~7s, and until it dies it can still append to its transcript.
|
|
33
|
+
* Resuming under the same id would have two processes writing one file;
|
|
34
|
+
* forking snapshots the transcript into a fresh id the old process never
|
|
35
|
+
* touches.
|
|
30
36
|
*/
|
|
31
37
|
export declare function stallContinuationAttempt(attempt: SessionAttempt, inProgress: InProgressSession): SessionAttempt;
|
|
32
38
|
export declare function observeInProgressSession(inProgress: InProgressSession, msg: SDKMessage): InProgressSession;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-continuity.d.ts","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEpH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,iBAAiB,GAAG,aAAa,CAAC,CAAC;IAC3E,aAAa,CAAC,EAAE,cAAc,GAAG,4BAA4B,CAAC;CAC/D,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,iBAAiB,CAE1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC,GAAG,cAAc,CAkCjB;AAMD,eAAO,MAAM,mBAAmB,QAE6D,CAAC;AAE9F
|
|
1
|
+
{"version":3,"file":"session-continuity.d.ts","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC1E,OAAO,KAAK,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAEpH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,OAAO,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,oBAAoB,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,aAAa,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,iBAAiB,GAAG,aAAa,CAAC,CAAC;IAC3E,aAAa,CAAC,EAAE,cAAc,GAAG,4BAA4B,CAAC;CAC/D,CAAC;AAEF,wBAAgB,sBAAsB,IAAI,iBAAiB,CAE1D;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC,GAAG,cAAc,CAkCjB;AAMD,eAAO,MAAM,mBAAmB,QAE6D,CAAC;AAE9F;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,iBAAiB,GAAG,cAAc,CAU/G;AAED,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,EAAE,UAAU,GAAG,iBAAiB,CAqB1G;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,qBAAqB,GAAG,SAAS,CAWpC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,GAAG,MAAM,CAMhG;AAaD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,MAAM,CAIhE;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,MAAM,CAK9F;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAY5D"}
|
|
@@ -2,6 +2,27 @@ import { mkdir, mkdtemp, readFile, rm, writeFile } from "node:fs/promises";
|
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join } from "node:path";
|
|
4
4
|
import { afterEach, describe, expect, it, vi } from "vitest";
|
|
5
|
+
// The bridge sends its prompt as a held-open message stream (so the CLI's
|
|
6
|
+
// control channel survives background work); read the streamed text back out.
|
|
7
|
+
async function promptText(prompt) {
|
|
8
|
+
if (typeof prompt === "string") {
|
|
9
|
+
return prompt;
|
|
10
|
+
}
|
|
11
|
+
if (!prompt) {
|
|
12
|
+
return "";
|
|
13
|
+
}
|
|
14
|
+
for await (const msg of prompt) {
|
|
15
|
+
const content = msg.message?.content;
|
|
16
|
+
if (typeof content === "string") {
|
|
17
|
+
return content;
|
|
18
|
+
}
|
|
19
|
+
if (Array.isArray(content)) {
|
|
20
|
+
return content.map((block) => (block && typeof block.text === "string" ? block.text : "")).join("");
|
|
21
|
+
}
|
|
22
|
+
return "";
|
|
23
|
+
}
|
|
24
|
+
return "";
|
|
25
|
+
}
|
|
5
26
|
class Deferred {
|
|
6
27
|
promise;
|
|
7
28
|
resolve;
|
|
@@ -191,7 +212,7 @@ describe("bridge session continuity integration", () => {
|
|
|
191
212
|
history: history([{ role: "user", text: "Start tool work", createdAt: 1 }]),
|
|
192
213
|
});
|
|
193
214
|
expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
|
|
194
|
-
expect(harness.sdk.queries[1]?.prompt).toContain("Current user request\nContinue after abort");
|
|
215
|
+
expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nContinue after abort");
|
|
195
216
|
});
|
|
196
217
|
it("replacement during a dirty stream does not resume the replaced turn's in-progress session", async () => {
|
|
197
218
|
const harness = await createHarness();
|
|
@@ -260,7 +281,7 @@ describe("bridge session continuity integration", () => {
|
|
|
260
281
|
history: history([{ role: "assistant", text: "Tool output", createdAt: 1 }]),
|
|
261
282
|
});
|
|
262
283
|
expect(harness.sdk.queries[1]?.options).not.toHaveProperty("resume");
|
|
263
|
-
expect(harness.sdk.queries[1]?.prompt).toContain("Current user request\nRecover");
|
|
284
|
+
expect(await promptText(harness.sdk.queries[1]?.prompt)).toContain("Current user request\nRecover");
|
|
264
285
|
});
|
|
265
286
|
it("clears legacy session files and does not resume them", async () => {
|
|
266
287
|
const harness = await createHarness();
|
|
@@ -277,7 +298,7 @@ describe("bridge session continuity integration", () => {
|
|
|
277
298
|
legacyQuery.release();
|
|
278
299
|
await turn;
|
|
279
300
|
expect(harness.sdk.queries[0]?.options).not.toHaveProperty("resume");
|
|
280
|
-
expect(harness.sdk.queries[0]?.prompt).toContain("Current user request\nContinue safely");
|
|
301
|
+
expect(await promptText(harness.sdk.queries[0]?.prompt)).toContain("Current user request\nContinue safely");
|
|
281
302
|
await expect(harness.readSessionFile("thread_legacy_dirty")).resolves.toMatchObject({
|
|
282
303
|
version: 2,
|
|
283
304
|
sessionId: "session_after_legacy",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-continuity.integration.test.js","sourceRoot":"","sources":["../../src/hono/session-continuity.integration.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-continuity.integration.test.js","sourceRoot":"","sources":["../../src/hono/session-continuity.integration.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,6 +46,12 @@ export const STALL_RESUME_PROMPT = "[The previous model request was interrupted
|
|
|
46
46
|
* When the stalled query already produced a session id, resume it — the CLI's
|
|
47
47
|
* transcript holds everything up to the last completed message. Before any
|
|
48
48
|
* message arrived nothing was consumed, so the original attempt is resent as-is.
|
|
49
|
+
*
|
|
50
|
+
* The resume FORKS the session: the stalled CLI gets stdin-EOF → SIGTERM →
|
|
51
|
+
* SIGKILL over ~7s, and until it dies it can still append to its transcript.
|
|
52
|
+
* Resuming under the same id would have two processes writing one file;
|
|
53
|
+
* forking snapshots the transcript into a fresh id the old process never
|
|
54
|
+
* touches.
|
|
49
55
|
*/
|
|
50
56
|
export function stallContinuationAttempt(attempt, inProgress) {
|
|
51
57
|
if (!inProgress.sessionId) {
|
|
@@ -55,7 +61,7 @@ export function stallContinuationAttempt(attempt, inProgress) {
|
|
|
55
61
|
prompt: STALL_RESUME_PROMPT,
|
|
56
62
|
attemptedRehydration: attempt.attemptedRehydration,
|
|
57
63
|
usedBoundary: attempt.usedBoundary,
|
|
58
|
-
resumeOptions: { resume: inProgress.sessionId },
|
|
64
|
+
resumeOptions: { resume: inProgress.sessionId, forkSession: true },
|
|
59
65
|
};
|
|
60
66
|
}
|
|
61
67
|
export function observeInProgressSession(inProgress, msg) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-continuity.js","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAoBnE,MAAM,UAAU,sBAAsB;IACpC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,KAIrC;IACC,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;QACnC,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC;QACvC,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,aAAa;YAC3B,oBAAoB,EAAE,KAAK;YAC3B,YAAY,EAAE,QAAQ;YACtB,aAAa,EAAE;gBACb,MAAM,EAAE,QAAQ,CAAC,SAAS;gBAC1B,WAAW,EAAE,IAAI;gBACjB,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACnF;YACD,aAAa,EAAE,cAAc;SAC9B,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,yEAAyE;IACzE,wEAAwE;IACxE,oEAAoE;IACpE,IAAI,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,4BAA4B,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QACzF,OAAO;YACL,MAAM,EAAE,qBAAqB,CAAC,KAAK,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,CAAC;YACjE,oBAAoB,EAAE,IAAI;YAC1B,aAAa,EAAE,EAAE;YACjB,aAAa,EAAE,4BAA4B;SAC5C,CAAC;IACJ,CAAC;IAED,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,aAAa;QAC3B,oBAAoB,EAAE,KAAK;QAC3B,aAAa,EAAE,EAAE;KAClB,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,iEAAiE;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAC9B,yGAAyG;IACzG,2FAA2F,CAAC;AAE9F
|
|
1
|
+
{"version":3,"file":"session-continuity.js","sourceRoot":"","sources":["../../src/hono/session-continuity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED