@koda-sl/baker-bridge 0.172.0 → 0.173.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.
@@ -17,19 +17,19 @@
17
17
  * conversation on its warm instance "even if the opening messages change".
18
18
  *
19
19
  * Reference: OpenRouter → Prompt Caching (best practices) / Provider Selection.
20
- * `session_id` alone does NOT disable fallbacks, so provider resilience is kept.
20
+ * `session_id` only picks the instance; which providers may serve is `CLAUDE_ON_BEDROCK` below.
21
21
  */
22
22
  export declare const EXTRA_BODY_ENV = "CLAUDE_CODE_EXTRA_BODY";
23
23
  /**
24
- * Keeps every request servable by Bedrock, which the preference above needs.
24
+ * Keeps every request servable by Bedrock, which the pin above needs.
25
25
  *
26
26
  * From Opus 5.5 the CLI adds a per-turn effort to the `role: "system"` message it
27
27
  * puts mid-conversation (`output_config.effort`, beta `per-turn-control`).
28
28
  * OpenRouter has no Bedrock endpoint for that ("mid-conversation reasoning
29
29
  * effort (configuration_update)"), so it drops Bedrock from the route and the
30
- * fallback serves the turn — Azure or Claude on AWS, billed to OpenRouter
31
- * credits instead of our own Bedrock key. The request still succeeds, so
32
- * nothing fails loudly: measured the day Opus 5.5 shipped, 52 of ~4,600 Opus
30
+ * fallback served the turn — Azure or Claude on AWS, billed to OpenRouter
31
+ * credits instead of our own Bedrock key; with the pin it would fail instead.
32
+ * Measured the day Opus 5.5 shipped, 52 of ~4,600 Opus
33
33
  * 5.5 requests reached Bedrock, against nearly all of Opus 5's the day before.
34
34
  *
35
35
  * Removing the capability only stops the CLI restating the effort per message;
@@ -40,11 +40,11 @@ export declare const MODEL_CAPABILITIES_ENV = "CLAUDE_CODE_MODEL_CAPABILITIES";
40
40
  export declare const BEDROCK_SERVABLE_CAPABILITIES = "-per_turn_effort";
41
41
  /**
42
42
  * Build the `CLAUDE_CODE_EXTRA_BODY` JSON that pins this conversation to one
43
- * OpenRouter provider instance, prefers Bedrock, keeps OpenRouter's `web`
44
- * plugin off, and tags every request with whom and where it came from. Our
45
- * per-thread `session_id`, the tag and the plugin opt-out are authoritative and
46
- * override any inherited ones; other inherited fields (including `provider`)
47
- * are kept.
43
+ * OpenRouter provider instance, keeps Claude on our own Bedrock, keeps
44
+ * OpenRouter's `web` plugin off, and tags every request with whom and where it
45
+ * came from. The Bedrock pin, our per-thread `session_id`, the tag and the
46
+ * plugin opt-out are authoritative and override any inherited ones; other
47
+ * inherited fields are kept.
48
48
  */
49
49
  export declare function buildAgentExtraBody(threadId: string, inherited?: string,
50
50
  /** Who the turn runs for and from where (`openrouter-attribution.ts`); ours wins over an inherited one. */
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-session.d.ts","sourceRoot":"","sources":["../../src/hono/openrouter-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,2BAA2B,CAAC;AA8BvD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,mCAAmC,CAAC;AACvE,eAAO,MAAM,6BAA6B,qBAAqB,CAAC;AAwDhE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM;AAClB,2GAA2G;AAC3G,WAAW,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5D,MAAM,CASR"}
1
+ {"version":3,"file":"openrouter-session.d.ts","sourceRoot":"","sources":["../../src/hono/openrouter-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,cAAc,2BAA2B,CAAC;AA0BvD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,sBAAsB,mCAAmC,CAAC;AACvE,eAAO,MAAM,6BAA6B,qBAAqB,CAAC;AAwDhE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM;AAClB,2GAA2G;AAC3G,WAAW,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAC5D,MAAM,CASR"}
@@ -17,46 +17,42 @@
17
17
  * conversation on its warm instance "even if the opening messages change".
18
18
  *
19
19
  * Reference: OpenRouter → Prompt Caching (best practices) / Provider Selection.
20
- * `session_id` alone does NOT disable fallbacks, so provider resilience is kept.
20
+ * `session_id` only picks the instance; which providers may serve is `CLAUDE_ON_BEDROCK` below.
21
21
  */
22
22
  export const EXTRA_BODY_ENV = "CLAUDE_CODE_EXTRA_BODY";
23
23
  /**
24
- * Bedrock is our preferred Claude provider. Without an explicit `order`,
25
- * OpenRouter load-balances across Anthropic, Vertex and Bedrock by price and
26
- * uptime, and `session_id` then pins the whole conversation to whichever it
27
- * picked first — so most chats never touched Bedrock. Fallbacks stay on so a
28
- * Bedrock outage or rate limit moves the turn elsewhere instead of failing it.
29
- * An inherited `provider` still wins, as an operator override.
24
+ * Claude is served by our own Amazon Bedrock key (OpenRouter BYOK), or the turn
25
+ * fails: never Anthropic, Vertex, Azure or OpenRouter's own capacity, each paid
26
+ * from OpenRouter credits. A copy of `CLAUDE_ON_BEDROCK` in
27
+ * `@baker/openrouter-attribution`, which the bridge cannot import; keep the two
28
+ * in step. Ours wins over an inherited `provider`.
30
29
  *
31
30
  * A manual `order` bypasses OpenRouter's sticky routing, so while it is set the
32
31
  * `order` — not `session_id` — is what keeps the cache warm: the bare
33
- * `amazon-bedrock` slug is one endpoint (regional ones are separate slugs), and
34
- * every request lands on it. Measured: consecutive requests read the whole
35
- * cached prefix back. The cost is on fallback — each request retries Bedrock
36
- * first, so a cache warmed on the fallback provider is not reused.
32
+ * `amazon-bedrock` slug is one endpoint, and every request lands on it.
33
+ * Measured: consecutive requests read the whole cached prefix back.
37
34
  *
38
- * Two regional Bedrock endpoints follow the default one, because what fails
39
- * there is AWS capacity, not our quota: on weekday mornings the default endpoint
40
- * answered 503 to nearly every Opus 5.5 request for hours (Oct 2 and 5, 2026),
41
- * while Sonnet 5.5 on the same key was fine, and each one fell through to Azure
42
- * on OpenRouter credits. AWS's advice for a 503 is another region. Both regions
43
- * run on our own Bedrock key at no OpenRouter cost; Azure and the rest stay as
44
- * the last resort.
35
+ * The two regional endpoints are named because the bare slug skips them, and
36
+ * what fails there is AWS capacity, not our quota: on weekday mornings the
37
+ * default endpoint answered 503 to nearly every Opus 5.5 request for hours
38
+ * (Oct 2 and 5, 2026) while Sonnet 5.5 on the same key was fine. Both regions
39
+ * run on our own key at no OpenRouter cost (probed 2026-11-03).
45
40
  */
46
- const PREFERRED_PROVIDER = {
41
+ const CLAUDE_ON_BEDROCK = {
42
+ only: ["amazon-bedrock", "amazon-bedrock/eu-west-1", "amazon-bedrock/us-east-1"],
47
43
  order: ["amazon-bedrock", "amazon-bedrock/eu-west-1", "amazon-bedrock/us-east-1"],
48
- allow_fallbacks: true,
44
+ allow_fallbacks: false,
49
45
  };
50
46
  /**
51
- * Keeps every request servable by Bedrock, which the preference above needs.
47
+ * Keeps every request servable by Bedrock, which the pin above needs.
52
48
  *
53
49
  * From Opus 5.5 the CLI adds a per-turn effort to the `role: "system"` message it
54
50
  * puts mid-conversation (`output_config.effort`, beta `per-turn-control`).
55
51
  * OpenRouter has no Bedrock endpoint for that ("mid-conversation reasoning
56
52
  * effort (configuration_update)"), so it drops Bedrock from the route and the
57
- * fallback serves the turn — Azure or Claude on AWS, billed to OpenRouter
58
- * credits instead of our own Bedrock key. The request still succeeds, so
59
- * nothing fails loudly: measured the day Opus 5.5 shipped, 52 of ~4,600 Opus
53
+ * fallback served the turn — Azure or Claude on AWS, billed to OpenRouter
54
+ * credits instead of our own Bedrock key; with the pin it would fail instead.
55
+ * Measured the day Opus 5.5 shipped, 52 of ~4,600 Opus
60
56
  * 5.5 requests reached Bedrock, against nearly all of Opus 5's the day before.
61
57
  *
62
58
  * Removing the capability only stops the CLI restating the effort per message;
@@ -116,19 +112,19 @@ function parseInheritedExtraBody(inherited) {
116
112
  }
117
113
  /**
118
114
  * Build the `CLAUDE_CODE_EXTRA_BODY` JSON that pins this conversation to one
119
- * OpenRouter provider instance, prefers Bedrock, keeps OpenRouter's `web`
120
- * plugin off, and tags every request with whom and where it came from. Our
121
- * per-thread `session_id`, the tag and the plugin opt-out are authoritative and
122
- * override any inherited ones; other inherited fields (including `provider`)
123
- * are kept.
115
+ * OpenRouter provider instance, keeps Claude on our own Bedrock, keeps
116
+ * OpenRouter's `web` plugin off, and tags every request with whom and where it
117
+ * came from. The Bedrock pin, our per-thread `session_id`, the tag and the
118
+ * plugin opt-out are authoritative and override any inherited ones; other
119
+ * inherited fields are kept.
124
120
  */
125
121
  export function buildAgentExtraBody(threadId, inherited,
126
122
  /** Who the turn runs for and from where (`openrouter-attribution.ts`); ours wins over an inherited one. */
127
123
  attribution) {
128
124
  const parsed = parseInheritedExtraBody(inherited);
129
125
  return JSON.stringify({
130
- provider: PREFERRED_PROVIDER,
131
126
  ...parsed,
127
+ provider: CLAUDE_ON_BEDROCK,
132
128
  ...(attribution ? { user: attribution.user, trace: attribution.trace } : {}),
133
129
  session_id: threadId,
134
130
  plugins: [...inheritedPluginsWithoutWeb(parsed), WEB_PLUGIN_DISABLED],
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-session.js","sourceRoot":"","sources":["../../src/hono/openrouter-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,kBAAkB,GAAG;IACzB,KAAK,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;IACjF,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AACvE,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAE1D;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,SAAkC;IACpE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAQ,OAAqB,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,SAA6B;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,MAAiC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,SAAkB;AAClB,2GAA2G;AAC3G,WAA6D;IAE7D,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,QAAQ,EAAE,kBAAkB;QAC5B,GAAG,MAAM;QACT,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,CAAC,GAAG,0BAA0B,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;KACtE,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"openrouter-session.js","sourceRoot":"","sources":["../../src/hono/openrouter-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,wBAAwB,CAAC;AAEvD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,iBAAiB,GAAG;IACxB,IAAI,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;IAChF,KAAK,EAAE,CAAC,gBAAgB,EAAE,0BAA0B,EAAE,0BAA0B,CAAC;IACjF,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,gCAAgC,CAAC;AACvE,MAAM,CAAC,MAAM,6BAA6B,GAAG,kBAAkB,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,mBAAmB,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAE1D;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,SAAkC;IACpE,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC;IAClC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,OAAQ,OAAqB,CAAC,MAAM,CAClC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,IAAI;QACf,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;QACtB,CAAC,CAAC,IAAI,IAAI,MAAM,IAAI,MAAM,CAAC,EAAE,KAAK,KAAK,CAAC,CAC3C,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,SAA6B;IAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,MAAM,GAAY,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC9C,yEAAyE;QACzE,kEAAkE;QAClE,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YACnE,OAAO,MAAiC,CAAC;QAC3C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,4EAA4E;IAC9E,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,SAAkB;AAClB,2GAA2G;AAC3G,WAA6D;IAE7D,MAAM,MAAM,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,GAAG,MAAM;QACT,QAAQ,EAAE,iBAAiB;QAC3B,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5E,UAAU,EAAE,QAAQ;QACpB,OAAO,EAAE,CAAC,GAAG,0BAA0B,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC;KACtE,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import { describe, expect, it } from "vitest";
2
2
  import { buildAgentExtraBody, EXTRA_BODY_ENV } from "./openrouter-session.js";
3
+ const BEDROCK_REGIONS = ["amazon-bedrock", "amazon-bedrock/eu-west-1", "amazon-bedrock/us-east-1"];
4
+ const BEDROCK_ONLY = { only: BEDROCK_REGIONS, order: BEDROCK_REGIONS, allow_fallbacks: false };
3
5
  describe("buildAgentExtraBody", () => {
4
6
  it("pins the conversation with a stable session_id equal to the thread id", () => {
5
7
  const body = JSON.parse(buildAgentExtraBody("thread_abc123"));
@@ -11,17 +13,15 @@ describe("buildAgentExtraBody", () => {
11
13
  it("differs per conversation so two threads route independently", () => {
12
14
  expect(buildAgentExtraBody("thread_a")).not.toBe(buildAgentExtraBody("thread_b"));
13
15
  });
14
- it("tries two more Bedrock regions before any provider billed to OpenRouter credits", () => {
16
+ it("sends Claude to our own Bedrock only, in three regions, and fails rather than fall back", () => {
15
17
  const body = JSON.parse(buildAgentExtraBody("thread_abc123"));
16
- expect(body.provider).toEqual({
17
- order: ["amazon-bedrock", "amazon-bedrock/eu-west-1", "amazon-bedrock/us-east-1"],
18
- allow_fallbacks: true,
19
- });
18
+ expect(body.provider).toEqual(BEDROCK_ONLY);
20
19
  });
21
- it("merges an inherited extra-body value instead of dropping it", () => {
22
- const inherited = JSON.stringify({ provider: { order: ["google-vertex"] } });
20
+ it("keeps an inherited extra-body value, but never its provider", () => {
21
+ const inherited = JSON.stringify({ provider: { order: ["google-vertex"] }, transforms: ["middle-out"] });
23
22
  const body = JSON.parse(buildAgentExtraBody("thread_abc123", inherited));
24
- expect(body.provider).toEqual({ order: ["google-vertex"] });
23
+ expect(body.provider).toEqual(BEDROCK_ONLY);
24
+ expect(body.transforms).toEqual(["middle-out"]);
25
25
  expect(body.session_id).toBe("thread_abc123");
26
26
  });
27
27
  it("wins over an inherited session_id so our per-thread pin is authoritative", () => {
@@ -36,10 +36,7 @@ describe("buildAgentExtraBody", () => {
36
36
  it("ignores an inherited non-object (e.g. a JSON array or scalar)", () => {
37
37
  const body = JSON.parse(buildAgentExtraBody("thread_abc123", "[1,2,3]"));
38
38
  expect(body).toEqual({
39
- provider: {
40
- order: ["amazon-bedrock", "amazon-bedrock/eu-west-1", "amazon-bedrock/us-east-1"],
41
- allow_fallbacks: true,
42
- },
39
+ provider: BEDROCK_ONLY,
43
40
  session_id: "thread_abc123",
44
41
  plugins: [{ id: "web", enabled: false }],
45
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"openrouter-session.test.js","sourceRoot":"","sources":["../../src/hono/openrouter-session.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openrouter-session.test.js","sourceRoot":"","sources":["../../src/hono/openrouter-session.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@koda-sl/baker-bridge",
3
- "version": "0.172.0",
3
+ "version": "0.173.0",
4
4
  "description": "HTTP server wrapping the Claude Agent SDK. Persists chat events to Convex; the dashboard subscribes via Convex realtime",
5
5
  "license": "MIT",
6
6
  "type": "module",