@koda-sl/baker-bridge 0.107.0-dev.a5e33d211 → 0.107.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 +27 -22
- package/dist/hono/agent-session.test.js +6 -6
- package/dist/hono/agent.d.ts.map +1 -1
- package/dist/hono/agent.js +4 -1
- package/dist/hono/agent.js.map +1 -1
- package/dist/hono/agent.test.js +9 -9
- package/dist/hono/avatar-casting.js +2 -2
- package/dist/hono/avatar-casting.js.map +1 -1
- package/dist/hono/bridge-job.d.ts +14 -2
- package/dist/hono/bridge-job.d.ts.map +1 -1
- package/dist/hono/bridge-job.js +123 -57
- package/dist/hono/bridge-job.js.map +1 -1
- package/dist/hono/bridge-job.test.js +175 -39
- package/dist/hono/bridge-job.test.js.map +1 -1
- package/dist/hono/convex.d.ts +1 -0
- package/dist/hono/convex.d.ts.map +1 -1
- package/dist/hono/convex.js +4 -0
- package/dist/hono/convex.js.map +1 -1
- package/dist/hono/convex.test.js +3 -3
- package/dist/hono/mcp-servers.d.ts +0 -2
- package/dist/hono/mcp-servers.d.ts.map +1 -1
- package/dist/hono/mcp-servers.js +16 -17
- package/dist/hono/mcp-servers.js.map +1 -1
- package/dist/hono/mcp-servers.test.js +38 -10
- package/dist/hono/mcp-servers.test.js.map +1 -1
- package/dist/hono/model-capabilities.d.ts.map +1 -1
- package/dist/hono/model-capabilities.js +19 -28
- package/dist/hono/model-capabilities.js.map +1 -1
- package/dist/hono/model-capabilities.test.js +15 -37
- package/dist/hono/model-capabilities.test.js.map +1 -1
- package/dist/hono/relay.d.ts +2 -1
- package/dist/hono/relay.d.ts.map +1 -1
- package/dist/hono/relay.js +3 -0
- package/dist/hono/relay.js.map +1 -1
- package/dist/hono/relay.test.js +22 -6
- package/dist/hono/relay.test.js.map +1 -1
- package/dist/hono/session-continuity.integration.test.js +4 -4
- package/dist/hono/tag-fields.js +1 -1
- package/dist/hono/tag-fields.js.map +1 -1
- package/dist/hono/tag-input.js +1 -1
- package/dist/hono/tag-input.js.map +1 -1
- package/dist/hono/turn-events.d.ts +1 -1
- package/dist/hono/turn-events.d.ts.map +1 -1
- package/dist/hono/turn-events.js.map +1 -1
- package/dist/review/digest.d.ts +7 -1
- package/dist/review/digest.d.ts.map +1 -1
- package/dist/review/digest.js +80 -16
- package/dist/review/digest.js.map +1 -1
- package/dist/review/digest.test.js +83 -0
- package/dist/review/digest.test.js.map +1 -1
- package/package.json +2 -1
package/dist/hono/convex.d.ts
CHANGED
|
@@ -20,6 +20,7 @@ export declare function clearStreamBuffer(threadId: string, turnId?: string): vo
|
|
|
20
20
|
* Non-assistant events (system, result) are not persisted.
|
|
21
21
|
*/
|
|
22
22
|
export declare function postEvent(threadId: string, message: SDKMessage, model: string | undefined, turnId: string): Promise<boolean>;
|
|
23
|
+
export declare function postRetractedEvents(threadId: string, eventIds: string[], turnId: string): Promise<boolean>;
|
|
23
24
|
export declare function postInputRequest(threadId: string, toolUseId: string, questions: unknown, turnId: string): Promise<boolean>;
|
|
24
25
|
export declare function postInputResolved(threadId: string, turnId: string): Promise<boolean>;
|
|
25
26
|
export declare function postTagInputRequest(threadId: string, toolUseId: string, changes: unknown, turnId: string): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex.d.ts","sourceRoot":"","sources":["../../src/hono/convex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"convex.d.ts","sourceRoot":"","sources":["../../src/hono/convex.ts"],"names":[],"mappings":"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"}
|
package/dist/hono/convex.js
CHANGED
|
@@ -231,6 +231,10 @@ export async function postEvent(threadId, message, model, turnId) {
|
|
|
231
231
|
const result = await relay.assistantEvent({ threadId, turnId }, message, model);
|
|
232
232
|
return result.ok;
|
|
233
233
|
}
|
|
234
|
+
export async function postRetractedEvents(threadId, eventIds, turnId) {
|
|
235
|
+
const result = await relay.retractEvents({ threadId, turnId }, eventIds);
|
|
236
|
+
return result.ok;
|
|
237
|
+
}
|
|
234
238
|
export async function postInputRequest(threadId, toolUseId, questions, turnId) {
|
|
235
239
|
const result = await relay.inputRequest({ threadId, turnId }, { toolUseId, questions });
|
|
236
240
|
return result.ok;
|
package/dist/hono/convex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convex.js","sourceRoot":"","sources":["../../src/hono/convex.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"convex.js","sourceRoot":"","sources":["../../src/hono/convex.ts"],"names":[],"mappings":"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"}
|
package/dist/hono/convex.test.js
CHANGED
|
@@ -141,13 +141,13 @@ describe("stream buffer", () => {
|
|
|
141
141
|
});
|
|
142
142
|
describe("turn id propagation", () => {
|
|
143
143
|
it("preserves the explicit completion turn id", async () => {
|
|
144
|
-
await expect(signalComplete(THREAD, "turn-old", { kind: "completed", costUsd: 1.25, model: "claude-opus-
|
|
144
|
+
await expect(signalComplete(THREAD, "turn-old", { kind: "completed", costUsd: 1.25, model: "claude-opus-5-5" })).resolves.toBe(true);
|
|
145
145
|
expect(completeCalls()).toHaveLength(1);
|
|
146
146
|
expect(completeCalls()[0]?.body).toMatchObject({
|
|
147
147
|
threadId: THREAD,
|
|
148
148
|
costUsd: 1.25,
|
|
149
149
|
isError: false,
|
|
150
|
-
model: "claude-opus-
|
|
150
|
+
model: "claude-opus-5-5",
|
|
151
151
|
turnId: "turn-old",
|
|
152
152
|
});
|
|
153
153
|
});
|
|
@@ -169,7 +169,7 @@ describe("turn id propagation", () => {
|
|
|
169
169
|
await expect(signalComplete(THREAD, "turn-complete-chat", {
|
|
170
170
|
kind: "completed",
|
|
171
171
|
costUsd: 0.75,
|
|
172
|
-
model: "claude-opus-
|
|
172
|
+
model: "claude-opus-5-5",
|
|
173
173
|
completeChat: true,
|
|
174
174
|
})).resolves.toBe(true);
|
|
175
175
|
expect(completeCalls()).toHaveLength(1);
|
|
@@ -9,8 +9,6 @@ export type McpHttpServerConfig = {
|
|
|
9
9
|
export type McpServers = Record<string, McpHttpServerConfig>;
|
|
10
10
|
/** Parse and validate the /api/chat/mcp-servers response body; returns null on any mismatch. */
|
|
11
11
|
export declare function parseMcpServersResponse(json: unknown): McpServers | null;
|
|
12
|
-
export type Staleness = "fresh" | "stale_usable" | "expired";
|
|
13
|
-
export declare function staleness(fetchedAt: number, now: number): Staleness;
|
|
14
12
|
export type McpServersProvider = (threadId: string, actingUserId?: string) => Promise<McpServers | undefined>;
|
|
15
13
|
/** Map a failed MCP server name back to its Composio scope, or null if it isn't ours. */
|
|
16
14
|
export declare function composioScopeForServer(name: string): ComposioScope | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/hono/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;AAEpE,uFAAuF;AACvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAY7D,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAGxE;
|
|
1
|
+
{"version":3,"file":"mcp-servers.d.ts","sourceRoot":"","sources":["../../src/hono/mcp-servers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,KAAK,CAAC;AAEpE,uFAAuF;AACvF,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;AAY7D,gGAAgG;AAChG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,UAAU,GAAG,IAAI,CAGxE;AAOD,MAAM,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;AAS9G,yFAAyF;AACzF,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAEzE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,EAAE,CAmB3E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAkB7D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,EAAE,CAarE;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE;IAAE,KAAK,EAAE,aAAa,CAAA;CAAE,GAAG;IAAE,gBAAgB,EAAE,MAAM,CAAA;CAAE,EAC/D,YAAY,CAAC,EAAE,MAAM,iBAWtB;AAED,KAAK,YAAY,GAAG;IAClB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CACjE,CAAC;AA0DF,wBAAgB,wBAAwB,CAAC,IAAI,GAAE,YAAiB,GAAG,kBAAkB,CAqBpF"}
|
package/dist/hono/mcp-servers.js
CHANGED
|
@@ -15,18 +15,7 @@ export function parseMcpServersResponse(json) {
|
|
|
15
15
|
return parsed.success ? parsed.data.mcpServers : null;
|
|
16
16
|
}
|
|
17
17
|
const FRESH_MS = 60_000;
|
|
18
|
-
const STALE_USABLE_MS = 10 * 60_000;
|
|
19
18
|
const FETCH_TIMEOUT_MS = 2_500;
|
|
20
|
-
export function staleness(fetchedAt, now) {
|
|
21
|
-
const age = now - fetchedAt;
|
|
22
|
-
if (age < FRESH_MS) {
|
|
23
|
-
return "fresh";
|
|
24
|
-
}
|
|
25
|
-
if (age < STALE_USABLE_MS) {
|
|
26
|
-
return "stale_usable";
|
|
27
|
-
}
|
|
28
|
-
return "expired";
|
|
29
|
-
}
|
|
30
19
|
const SCOPE_BY_ENTRY = {
|
|
31
20
|
composio_user: "user",
|
|
32
21
|
composio_user_org: "user_org",
|
|
@@ -145,10 +134,20 @@ async function defaultLogError(entry) {
|
|
|
145
134
|
}
|
|
146
135
|
/**
|
|
147
136
|
* Per-turn MCP server resolver. Fetches the company's scoped Composio MCP
|
|
148
|
-
* endpoints from Convex over the existing bridge→Convex rail
|
|
149
|
-
* (thread, actor) for 60s
|
|
150
|
-
*
|
|
151
|
-
*
|
|
137
|
+
* endpoints from Convex over the existing bridge→Convex rail and caches them per
|
|
138
|
+
* (thread, actor) for 60s. It never throws — a Composio/Convex hiccup must not
|
|
139
|
+
* fail the turn.
|
|
140
|
+
*
|
|
141
|
+
* On a failed or timed-out refetch it serves the last set that (thread, actor)
|
|
142
|
+
* got, however old: the tool list is part of the prompt, so a turn that drops
|
|
143
|
+
* it rewrites the prompt cache and can invalidate preserved thinking. Only a
|
|
144
|
+
* (thread, actor) that never fetched successfully runs with no MCP.
|
|
145
|
+
*
|
|
146
|
+
* Keyed on the actor as well as the thread because the set is a permission
|
|
147
|
+
* boundary, not just a cache key: the `user` and `user_org` scopes (and custom
|
|
148
|
+
* servers' per-user OAuth) resolve to the acting user's own connections, so a
|
|
149
|
+
* teammate's turn in a shared chat must never inherit them. A chat whose sender
|
|
150
|
+
* changes therefore changes tool set, and that one cache rewrite is the price.
|
|
152
151
|
*/
|
|
153
152
|
async function fetchMcpServers(fetchFn, threadId, actingUserId) {
|
|
154
153
|
const controller = new AbortController();
|
|
@@ -181,7 +180,7 @@ export function createMcpServersProvider(deps = {}) {
|
|
|
181
180
|
return async (threadId, actingUserId) => {
|
|
182
181
|
const key = `${threadId}|${actingUserId ?? ""}`;
|
|
183
182
|
const cached = cache.get(key);
|
|
184
|
-
if (cached &&
|
|
183
|
+
if (cached && now() - cached.fetchedAt < FRESH_MS) {
|
|
185
184
|
return cached.servers;
|
|
186
185
|
}
|
|
187
186
|
try {
|
|
@@ -191,7 +190,7 @@ export function createMcpServersProvider(deps = {}) {
|
|
|
191
190
|
}
|
|
192
191
|
catch (error) {
|
|
193
192
|
logError({ error: error instanceof Error ? error.message : String(error), threadId });
|
|
194
|
-
return cached
|
|
193
|
+
return cached?.servers;
|
|
195
194
|
}
|
|
196
195
|
};
|
|
197
196
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../src/hono/mcp-servers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAa1E,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;IACvB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE;IACrB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,mBAAmB,CAAC;CACtD,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,UAAU,uBAAuB,CAAC,IAAa;IACnD,MAAM,MAAM,GAAG,wBAAwB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC;AACxD,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,CAAC;AACxB,MAAM,
|
|
1
|
+
{"version":3,"file":"mcp-servers.js","sourceRoot":"","sources":["../../src/hono/mcp-servers.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { describe, expect, it, vi } from "vitest";
|
|
|
2
2
|
vi.mock("./env.ts", () => ({
|
|
3
3
|
env: { BAKER_CONVEX_SITE_URL: "https://example.convex.site", BAKER_API_KEY: "bk_test" },
|
|
4
4
|
}));
|
|
5
|
-
import { composioScopesToInvalidate, createMcpServersProvider, failedCustomServers, parseMcpServersResponse, serversConnectedWithNoTools,
|
|
5
|
+
import { composioScopesToInvalidate, createMcpServersProvider, failedCustomServers, parseMcpServersResponse, serversConnectedWithNoTools, } from "./mcp-servers.js";
|
|
6
6
|
function initMessage(servers) {
|
|
7
7
|
return { type: "system", subtype: "init", mcp_servers: servers };
|
|
8
8
|
}
|
|
@@ -66,14 +66,6 @@ describe("failedCustomServers", () => {
|
|
|
66
66
|
expect(failedCustomServers(compactBoundary)).toEqual([]);
|
|
67
67
|
});
|
|
68
68
|
});
|
|
69
|
-
describe("staleness", () => {
|
|
70
|
-
it("classifies by age", () => {
|
|
71
|
-
const t = 1_000_000;
|
|
72
|
-
expect(staleness(t, t + 30_000)).toBe("fresh");
|
|
73
|
-
expect(staleness(t, t + 120_000)).toBe("stale_usable");
|
|
74
|
-
expect(staleness(t, t + 11 * 60_000)).toBe("expired");
|
|
75
|
-
});
|
|
76
|
-
});
|
|
77
69
|
describe("createMcpServersProvider", () => {
|
|
78
70
|
const opts = { logError: vi.fn() };
|
|
79
71
|
it("fetches and caches within the fresh window", async () => {
|
|
@@ -95,7 +87,7 @@ describe("createMcpServersProvider", () => {
|
|
|
95
87
|
await provider("thread_1");
|
|
96
88
|
expect(fetchFn).toHaveBeenCalledTimes(2);
|
|
97
89
|
});
|
|
98
|
-
it("serves
|
|
90
|
+
it("serves the cached set when a refetch fails", async () => {
|
|
99
91
|
let clock = 1_000_000;
|
|
100
92
|
const fetchFn = vi
|
|
101
93
|
.fn()
|
|
@@ -107,6 +99,31 @@ describe("createMcpServersProvider", () => {
|
|
|
107
99
|
const result = await provider("thread_1");
|
|
108
100
|
expect(result).toEqual({ composio_company: { type: "http", url: "https://mcp.example/co" } });
|
|
109
101
|
});
|
|
102
|
+
// The tool list is part of the prompt, so a turn that loses it rewrites the
|
|
103
|
+
// cache and can invalidate preserved thinking. A chat keeps the last set it had
|
|
104
|
+
// for as long as refetches fail, however old that set is.
|
|
105
|
+
it("keeps the last known set when a refetch times out, however old it is", async () => {
|
|
106
|
+
vi.useFakeTimers();
|
|
107
|
+
try {
|
|
108
|
+
let clock = 1_000_000;
|
|
109
|
+
const hangsUntilAborted = (_url, init) => new Promise((_resolve, reject) => {
|
|
110
|
+
init.signal?.addEventListener("abort", () => reject(new Error("aborted")));
|
|
111
|
+
});
|
|
112
|
+
const fetchFn = vi
|
|
113
|
+
.fn()
|
|
114
|
+
.mockResolvedValueOnce(jsonResponse(COMPANY_SERVERS))
|
|
115
|
+
.mockImplementation(hangsUntilAborted);
|
|
116
|
+
const provider = createMcpServersProvider({ fetchFn: fetchFn, now: () => clock, ...opts });
|
|
117
|
+
await provider("thread_1", "user_a");
|
|
118
|
+
clock += 60 * 60_000;
|
|
119
|
+
const pending = provider("thread_1", "user_a");
|
|
120
|
+
await vi.advanceTimersByTimeAsync(2_500);
|
|
121
|
+
expect(await pending).toEqual({ composio_company: { type: "http", url: "https://mcp.example/co" } });
|
|
122
|
+
}
|
|
123
|
+
finally {
|
|
124
|
+
vi.useRealTimers();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
110
127
|
it("returns undefined when there is no usable cache and the fetch fails", async () => {
|
|
111
128
|
const fetchFn = vi.fn(() => Promise.reject(new Error("down")));
|
|
112
129
|
const provider = createMcpServersProvider({ fetchFn: fetchFn, now: () => 1_000_000, ...opts });
|
|
@@ -129,6 +146,17 @@ describe("createMcpServersProvider", () => {
|
|
|
129
146
|
await provider("thread_1", "user_b");
|
|
130
147
|
expect(fetchFn).toHaveBeenCalledTimes(2);
|
|
131
148
|
});
|
|
149
|
+
// Personal scopes resolve to the acting user's own connections, so the
|
|
150
|
+
// last-known fallback must never hand one user's set to a teammate.
|
|
151
|
+
it("never falls back to another user's set in the same chat", async () => {
|
|
152
|
+
const fetchFn = vi
|
|
153
|
+
.fn()
|
|
154
|
+
.mockResolvedValueOnce(jsonResponse({ mcpServers: { composio_user: { type: "http", url: "https://mcp.example/user-a" } } }))
|
|
155
|
+
.mockRejectedValueOnce(new Error("down"));
|
|
156
|
+
const provider = createMcpServersProvider({ fetchFn: fetchFn, now: () => 1_000_000, ...opts });
|
|
157
|
+
await provider("thread_1", "user_a");
|
|
158
|
+
expect(await provider("thread_1", "user_b")).toBeUndefined();
|
|
159
|
+
});
|
|
132
160
|
});
|
|
133
161
|
describe("serversConnectedWithNoTools", () => {
|
|
134
162
|
const init = (servers, tools) => ({ type: "system", subtype: "init", mcp_servers: servers, tools });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-servers.test.js","sourceRoot":"","sources":["../../src/hono/mcp-servers.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,GAAG,EAAE,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,aAAa,EAAE,SAAS,EAAE;CACxF,CAAC,CAAC,CAAC;AAGJ,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,
|
|
1
|
+
{"version":3,"file":"mcp-servers.test.js","sourceRoot":"","sources":["../../src/hono/mcp-servers.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../src/hono/model-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"model-capabilities.d.ts","sourceRoot":"","sources":["../../src/hono/model-capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAgB9D,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAO/C,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAiBpD;AAsBD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAKrF;AAsCD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,EAAE,GAAG,SAAS,CAKrF;AA4BD,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,SAAS,CAM9F;AAMD,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAcnD,wBAAgB,kBAAkB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,GAAG,SAAS,CAO3F;AAGD,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAM,CAAC,UAAwB,GAAG,MAAM,CAE9E"}
|
|
@@ -9,26 +9,29 @@
|
|
|
9
9
|
// `medium` effort (see `bridge-job.ts`), and the shared subagents pin themselves
|
|
10
10
|
// to Sonnet 5 in their own frontmatter rather than inheriting this. Without that
|
|
11
11
|
// pin every fan-out worker would silently move to Opus pricing too.
|
|
12
|
+
//
|
|
13
|
+
// The Session review runs on the same id (`REVIEW_MODEL` in the backend's
|
|
14
|
+
// `chatReview/constants.ts`); `scripts/review-model-parity.test.mjs` pins the pair.
|
|
12
15
|
export const DEFAULT_MODEL = "claude-opus-5-5";
|
|
16
|
+
// No turn runs on a 4.x Opus or Sonnet any more. Such an id is passed through
|
|
17
|
+
// unchanged so it reads as unknown (no window, an override naming it ignored)
|
|
18
|
+
// instead of silently becoming its 5.x successor. Haiku 4.5 is current.
|
|
19
|
+
const RETIRED_FAMILY_VERSION = /(opus|sonnet)-4/;
|
|
13
20
|
export function normalizeModel(model) {
|
|
14
21
|
const lower = model.toLowerCase();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
//
|
|
19
|
-
//
|
|
22
|
+
if (RETIRED_FAMILY_VERSION.test(lower)) {
|
|
23
|
+
return model;
|
|
24
|
+
}
|
|
25
|
+
// "opus-5" is also a prefix of both Opus 5.5 slugs (`opus-5.5`, `opus-5-5`),
|
|
26
|
+
// so 5.5 is matched first.
|
|
20
27
|
if (lower.includes("opus")) {
|
|
21
|
-
|
|
22
|
-
return "claude-opus-5-5";
|
|
23
|
-
}
|
|
24
|
-
return lower.includes("opus-4") ? "claude-opus-4-6" : "claude-opus-5";
|
|
28
|
+
return lower.includes("opus-5.5") || lower.includes("opus-5-5") ? "claude-opus-5-5" : "claude-opus-5";
|
|
25
29
|
}
|
|
26
30
|
if (lower.includes("haiku")) {
|
|
27
31
|
return "claude-haiku-4-5";
|
|
28
32
|
}
|
|
29
|
-
// Same 4.x-vs-5 split as Opus above.
|
|
30
33
|
if (lower.includes("sonnet")) {
|
|
31
|
-
return
|
|
34
|
+
return "claude-sonnet-5";
|
|
32
35
|
}
|
|
33
36
|
return model;
|
|
34
37
|
}
|
|
@@ -36,12 +39,8 @@ export function normalizeModel(model) {
|
|
|
36
39
|
// `context_length`). We resolve this ourselves because the runtime reaches these
|
|
37
40
|
// models through the OpenRouter passthrough (`ANTHROPIC_BASE_URL=openrouter.ai`)
|
|
38
41
|
// while the Claude Code CLI resolves the window from its own bundled model
|
|
39
|
-
// catalog, which is keyed to the first-party API
|
|
40
|
-
//
|
|
41
|
-
// `[1m]` model suffix, which we never send), whereas OpenRouter serves both at
|
|
42
|
-
// 1M. Opus 5.5, Opus 5, Sonnet 5 and Haiku 4.5 agree in both. Keyed by the normalized id we
|
|
43
|
-
// pass to the SDK. Sonnet 4.6 and Opus 4.6 stay listed so a turn already running on
|
|
44
|
-
// one still resolves.
|
|
42
|
+
// catalog, which is keyed to the first-party API (see `betasForModel` for where
|
|
43
|
+
// the two disagree). Keyed by the normalized id we pass to the SDK.
|
|
45
44
|
//
|
|
46
45
|
// A model missing from this map resolves to null, which silently disables the
|
|
47
46
|
// auto-compact pin below — so every model reachable as DEFAULT_MODEL must have an
|
|
@@ -49,9 +48,7 @@ export function normalizeModel(model) {
|
|
|
49
48
|
const MODEL_CONTEXT_WINDOW = {
|
|
50
49
|
"claude-opus-5-5": 1_000_000,
|
|
51
50
|
"claude-opus-5": 1_000_000,
|
|
52
|
-
"claude-opus-4-6": 1_000_000,
|
|
53
51
|
"claude-sonnet-5": 1_000_000,
|
|
54
|
-
"claude-sonnet-4-6": 1_000_000,
|
|
55
52
|
"claude-haiku-4-5": 200_000,
|
|
56
53
|
};
|
|
57
54
|
// The context window for a model id, or null when we don't know it (callers then
|
|
@@ -66,8 +63,8 @@ export function contextWindowForModel(model) {
|
|
|
66
63
|
// Corrects the context window the *runtime* believes each model has. Needed for
|
|
67
64
|
// every 1M model we run, Opus 5.5 (the default) included.
|
|
68
65
|
//
|
|
69
|
-
// The API does not require this beta. Anthropic serves 1M by default on Opus 5.5, Opus 5
|
|
70
|
-
//
|
|
66
|
+
// The API does not require this beta. Anthropic serves 1M by default on Opus 5.5, Opus 5
|
|
67
|
+
// and Sonnet 5 — `context-1m-2025-08-07` is the legacy
|
|
71
68
|
// Sonnet 4/4.5 header, and sending it changes nothing about the response (verified
|
|
72
69
|
// against the OpenRouter endpoint: identical 200s with and without it).
|
|
73
70
|
//
|
|
@@ -97,13 +94,7 @@ export function contextWindowForModel(model) {
|
|
|
97
94
|
// the first-party host we never use. Omitting either would put the default model back on a
|
|
98
95
|
// 200k window with no error — the exact regression this block exists to prevent.
|
|
99
96
|
const ONE_MILLION_CONTEXT_BETA = "context-1m-2025-08-07";
|
|
100
|
-
const MODELS_NEEDING_1M_BETA = new Set([
|
|
101
|
-
"claude-opus-5-5",
|
|
102
|
-
"claude-opus-5",
|
|
103
|
-
"claude-sonnet-5",
|
|
104
|
-
"claude-opus-4-6",
|
|
105
|
-
"claude-sonnet-4-6",
|
|
106
|
-
]);
|
|
97
|
+
const MODELS_NEEDING_1M_BETA = new Set(["claude-opus-5-5", "claude-opus-5", "claude-sonnet-5"]);
|
|
107
98
|
export function betasForModel(model) {
|
|
108
99
|
if (!model || !MODELS_NEEDING_1M_BETA.has(normalizeModel(model))) {
|
|
109
100
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-capabilities.js","sourceRoot":"","sources":["../../src/hono/model-capabilities.ts"],"names":[],"mappings":"AAEA,wFAAwF;AACxF,mFAAmF;AACnF,8EAA8E;AAC9E,gFAAgF;AAChF,gFAAgF;AAChF,gCAAgC;AAChC,EAAE;AACF,sEAAsE;AACtE,iFAAiF;AACjF,iFAAiF;AACjF,oEAAoE;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,
|
|
1
|
+
{"version":3,"file":"model-capabilities.js","sourceRoot":"","sources":["../../src/hono/model-capabilities.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,25 +5,10 @@ import { AGENT_MODEL_ENV, agentModelOverride, autoCompactWindowForModel, betasFo
|
|
|
5
5
|
// OpenRouter-formatted IDs makes the SDK silently fall back to its CLI default
|
|
6
6
|
// (Sonnet). normalizeModel bridges the two formats.
|
|
7
7
|
describe("normalizeModel", () => {
|
|
8
|
-
it("strips the anthropic/ prefix
|
|
9
|
-
expect(normalizeModel("anthropic/claude-opus-4.6")).toBe("claude-opus-4-6");
|
|
10
|
-
});
|
|
11
|
-
it("normalizes Sonnet (already dashed) by stripping the prefix", () => {
|
|
12
|
-
expect(normalizeModel("anthropic/claude-sonnet-4-6")).toBe("claude-sonnet-4-6");
|
|
13
|
-
});
|
|
14
|
-
// Sonnet 5 has no 4.x version prefix, so matching on "sonnet" alone would
|
|
15
|
-
// silently route it to the older 4.6 id and mis-report its context window.
|
|
16
|
-
it("normalizes Sonnet 5 without collapsing it into the 4.6 id", () => {
|
|
8
|
+
it("strips the anthropic/ prefix from Sonnet 5", () => {
|
|
17
9
|
expect(normalizeModel("anthropic/claude-sonnet-5")).toBe("claude-sonnet-5");
|
|
18
10
|
});
|
|
19
|
-
it("
|
|
20
|
-
expect(normalizeModel("anthropic/claude-sonnet-4.6")).toBe("claude-sonnet-4-6");
|
|
21
|
-
expect(normalizeModel("anthropic/claude-sonnet-4-5-20250929")).toBe("claude-sonnet-4-6");
|
|
22
|
-
});
|
|
23
|
-
// Opus 5 dropped the 4.x prefix exactly like Sonnet 5 did. Matching on "opus"
|
|
24
|
-
// alone would silently serve 4.6 for the default model — same price, older
|
|
25
|
-
// model, and no error anywhere to say so.
|
|
26
|
-
it("normalizes Opus 5 without collapsing it into the 4.6 id", () => {
|
|
11
|
+
it("normalizes Opus 5", () => {
|
|
27
12
|
expect(normalizeModel("anthropic/claude-opus-5")).toBe("claude-opus-5");
|
|
28
13
|
expect(normalizeModel("claude-opus-5")).toBe("claude-opus-5");
|
|
29
14
|
});
|
|
@@ -33,9 +18,14 @@ describe("normalizeModel", () => {
|
|
|
33
18
|
expect(normalizeModel("anthropic/claude-opus-5.5")).toBe("claude-opus-5-5");
|
|
34
19
|
expect(normalizeModel("claude-opus-5-5")).toBe("claude-opus-5-5");
|
|
35
20
|
});
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
// No turn runs on a 4.x Opus or Sonnet any more. Collapsing one into its 5.x
|
|
22
|
+
// successor would silently run a different model than the id names — so it
|
|
23
|
+
// stays unknown: no window, and an override naming it is ignored.
|
|
24
|
+
it("leaves a retired 4.x Opus or Sonnet id unresolved instead of swapping in a 5.x model", () => {
|
|
25
|
+
expect(normalizeModel("anthropic/claude-opus-4.6")).toBe("anthropic/claude-opus-4.6");
|
|
26
|
+
expect(normalizeModel("claude-sonnet-4-6")).toBe("claude-sonnet-4-6");
|
|
27
|
+
expect(contextWindowForModel("claude-opus-4-6")).toBeNull();
|
|
28
|
+
expect(betasForModel("claude-sonnet-4-6")).toBeUndefined();
|
|
39
29
|
});
|
|
40
30
|
it("normalizes Haiku by stripping the prefix", () => {
|
|
41
31
|
expect(normalizeModel("anthropic/claude-haiku-4-5")).toBe("claude-haiku-4-5");
|
|
@@ -44,7 +34,7 @@ describe("normalizeModel", () => {
|
|
|
44
34
|
expect(normalizeModel("anthropic/claude-haiku-4-5-20251001")).toBe("claude-haiku-4-5");
|
|
45
35
|
});
|
|
46
36
|
it("ignores casing", () => {
|
|
47
|
-
expect(normalizeModel("ANTHROPIC/Claude-OPUS-
|
|
37
|
+
expect(normalizeModel("ANTHROPIC/Claude-OPUS-5.5")).toBe("claude-opus-5-5");
|
|
48
38
|
});
|
|
49
39
|
it("returns the input unchanged when no family keyword matches", () => {
|
|
50
40
|
expect(normalizeModel("anthropic/gpt-5")).toBe("anthropic/gpt-5");
|
|
@@ -54,12 +44,6 @@ describe("contextWindowForModel", () => {
|
|
|
54
44
|
// The runtime reaches these models through OpenRouter, whose real context
|
|
55
45
|
// windows differ from the CLI's reported 200k. These values mirror OpenRouter's
|
|
56
46
|
// /models `context_length` for each model.
|
|
57
|
-
it("returns 1M for Opus 4.6 (its OpenRouter context length)", () => {
|
|
58
|
-
expect(contextWindowForModel("claude-opus-4-6")).toBe(1_000_000);
|
|
59
|
-
});
|
|
60
|
-
it("returns 1M for Sonnet 4.6", () => {
|
|
61
|
-
expect(contextWindowForModel("claude-sonnet-4-6")).toBe(1_000_000);
|
|
62
|
-
});
|
|
63
47
|
it("returns 1M for Opus 5.5", () => {
|
|
64
48
|
expect(contextWindowForModel("claude-opus-5-5")).toBe(1_000_000);
|
|
65
49
|
});
|
|
@@ -70,7 +54,7 @@ describe("contextWindowForModel", () => {
|
|
|
70
54
|
expect(contextWindowForModel("claude-haiku-4-5")).toBe(200_000);
|
|
71
55
|
});
|
|
72
56
|
it("normalizes id form first, so OpenRouter slugs and dated variants resolve", () => {
|
|
73
|
-
expect(contextWindowForModel("anthropic/claude-opus-
|
|
57
|
+
expect(contextWindowForModel("anthropic/claude-opus-5.5")).toBe(1_000_000);
|
|
74
58
|
expect(contextWindowForModel("anthropic/claude-haiku-4-5-20251001")).toBe(200_000);
|
|
75
59
|
});
|
|
76
60
|
it("returns null for unknown models and empty input, so callers fall back", () => {
|
|
@@ -90,12 +74,6 @@ describe("betasForModel", () => {
|
|
|
90
74
|
it("requests the 1M context beta for Sonnet 5", () => {
|
|
91
75
|
expect(betasForModel("claude-sonnet-5")).toEqual(["context-1m-2025-08-07"]);
|
|
92
76
|
});
|
|
93
|
-
it("requests the 1M context beta for Opus 4.6", () => {
|
|
94
|
-
expect(betasForModel("claude-opus-4-6")).toEqual(["context-1m-2025-08-07"]);
|
|
95
|
-
});
|
|
96
|
-
it("requests the 1M context beta for Sonnet 4.6", () => {
|
|
97
|
-
expect(betasForModel("claude-sonnet-4-6")).toEqual(["context-1m-2025-08-07"]);
|
|
98
|
-
});
|
|
99
77
|
// Haiku 4.5 is genuinely a 200k model — the CLI refuses the beta for it, so
|
|
100
78
|
// sending it would be a lie we would then divide the meter by.
|
|
101
79
|
it("sends no beta for Haiku 4.5, which is genuinely 200k", () => {
|
|
@@ -111,8 +89,8 @@ describe("autoCompactWindowForModel", () => {
|
|
|
111
89
|
// client-data value or experiment gate. Asking for the full resolved window makes
|
|
112
90
|
// the CLI clamp to its own ceiling instead of whatever those branches say. It does
|
|
113
91
|
// NOT lift that ceiling to 1M — see `autoCompactWindowForModel`.
|
|
114
|
-
it("asks for the full window we resolve for
|
|
115
|
-
expect(autoCompactWindowForModel("claude-
|
|
92
|
+
it("asks for the full window we resolve for Sonnet 5, so remote gates cannot lower it", () => {
|
|
93
|
+
expect(autoCompactWindowForModel("claude-sonnet-5")).toBe(1_000_000);
|
|
116
94
|
});
|
|
117
95
|
it("pins 200k for Haiku 4.5, which really is a 200k model", () => {
|
|
118
96
|
expect(autoCompactWindowForModel("claude-haiku-4-5")).toBe(200_000);
|
|
@@ -147,7 +125,7 @@ describe("DEFAULT_MODEL", () => {
|
|
|
147
125
|
});
|
|
148
126
|
describe("resolveAgentModel", () => {
|
|
149
127
|
// Development deployments set this so a throwaway chat finishes fast instead
|
|
150
|
-
// of spending Opus 5 rates on it.
|
|
128
|
+
// of spending Opus 5.5 rates on it.
|
|
151
129
|
it("runs the Runtime on the model the deployment pins", () => {
|
|
152
130
|
expect(resolveAgentModel({ [AGENT_MODEL_ENV]: "claude-haiku-4-5" })).toBe("claude-haiku-4-5");
|
|
153
131
|
});
|