pi-smart-router 0.17.0 → 0.18.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.
Files changed (38) hide show
  1. package/.pi/extensions/smart-router/route-and-delegate.ts +57 -0
  2. package/README.md +10 -8
  3. package/config/benchmark-profiles.json +2 -2
  4. package/dist/domain/delegation/delegation-context.d.ts +12 -5
  5. package/dist/domain/delegation/delegation-context.d.ts.map +1 -1
  6. package/dist/domain/delegation/delegation-context.js +14 -10
  7. package/dist/domain/delegation/delegation-context.js.map +1 -1
  8. package/dist/domain/pinning/session-pinner.d.ts.map +1 -1
  9. package/dist/domain/pinning/session-pinner.js +16 -6
  10. package/dist/domain/pinning/session-pinner.js.map +1 -1
  11. package/dist/domain/routing/tool-history-guard.d.ts +27 -6
  12. package/dist/domain/routing/tool-history-guard.d.ts.map +1 -1
  13. package/dist/domain/routing/tool-history-guard.js +70 -10
  14. package/dist/domain/routing/tool-history-guard.js.map +1 -1
  15. package/dist/domain/types/store-port.d.ts +47 -5
  16. package/dist/domain/types/store-port.d.ts.map +1 -1
  17. package/dist/domain/types/store-port.js +21 -0
  18. package/dist/domain/types/store-port.js.map +1 -1
  19. package/dist/infra/gemini-provider.d.ts +7 -0
  20. package/dist/infra/gemini-provider.d.ts.map +1 -1
  21. package/dist/infra/gemini-provider.js +9 -1
  22. package/dist/infra/gemini-provider.js.map +1 -1
  23. package/dist/infrastructure/persistence/sqlite-store.d.ts +34 -1
  24. package/dist/infrastructure/persistence/sqlite-store.d.ts.map +1 -1
  25. package/dist/infrastructure/persistence/sqlite-store.js +210 -110
  26. package/dist/infrastructure/persistence/sqlite-store.js.map +1 -1
  27. package/dist/infrastructure/persistence/write-queue.d.ts +94 -0
  28. package/dist/infrastructure/persistence/write-queue.d.ts.map +1 -0
  29. package/dist/infrastructure/persistence/write-queue.js +144 -0
  30. package/dist/infrastructure/persistence/write-queue.js.map +1 -0
  31. package/package.json +1 -1
  32. package/src/domain/delegation/delegation-context.ts +14 -11
  33. package/src/domain/pinning/session-pinner.ts +16 -6
  34. package/src/domain/routing/tool-history-guard.ts +91 -9
  35. package/src/domain/types/store-port.ts +47 -5
  36. package/src/infra/gemini-provider.ts +10 -1
  37. package/src/infrastructure/persistence/sqlite-store.ts +242 -121
  38. package/src/infrastructure/persistence/write-queue.ts +232 -0
@@ -16,6 +16,7 @@ import {
16
16
  import {
17
17
  assertRoutableFleetAfterGeminiToolHistoryGuard,
18
18
  GEMINI_TOOL_HISTORY_EXCLUDED,
19
+ isGoogleGeminiProfile,
19
20
  resolveEffectiveFleet,
20
21
  } from '../../../src/domain/routing/tool-history-guard.js';
21
22
  import type { ModelProfile, RoutingDecision, RoutingRequest } from '../../../src/domain/types/index.js';
@@ -24,6 +25,7 @@ import {
24
25
  isGeminiThoughtSignatureAssistantError,
25
26
  parseAssistantMessageError,
26
27
  } from '../../../src/infrastructure/delegation/provider-error.js';
28
+ import { GEMINI_REPLAY_INCOMPATIBLE } from '../../../src/infra/gemini-provider.js';
27
29
  import { shouldFailoverOnProviderError } from '../../../src/infrastructure/gateway/gateway-dispatch.js';
28
30
  import {
29
31
  commitPipedTerminal,
@@ -446,6 +448,7 @@ export async function routeAndDelegate(
446
448
 
447
449
  const failedModelIds: string[] = [];
448
450
  const headroomExcludedModelIds: string[] = [];
451
+ let geminiReplayFailoverAttempted = false;
449
452
  const estimatedInputTokens =
450
453
  request.estimated_input_tokens ?? request.prompt_text.length;
451
454
  let pendingFailoverInfo: FailoverNoticeInfo | undefined;
@@ -570,6 +573,60 @@ export async function routeAndDelegate(
570
573
  result.finalMessage &&
571
574
  isGeminiThoughtSignatureAssistantError(result.finalMessage)
572
575
  ) {
576
+ // SP-233 residual safety net: a thought_signature 400 that survived
577
+ // repair/guard means the session replay state is incompatible with
578
+ // Gemini — fail over ONCE to a non-Google fleet member so the agent
579
+ // loop continues. Never counted as provider infra failure; never
580
+ // Gemini↔Gemini.
581
+ if (!geminiReplayFailoverAttempted) {
582
+ geminiReplayFailoverAttempted = true;
583
+ if (!failedModelIds.includes(targetModel.id)) {
584
+ failedModelIds.push(targetModel.id);
585
+ }
586
+ const nonGoogleFleet = effectiveFleet.filter(
587
+ (profile) => !isGoogleGeminiProfile(profile),
588
+ );
589
+ const replayFailover =
590
+ nonGoogleFleet.length > 0
591
+ ? deps.router.dispatch.selectFailover(
592
+ decision,
593
+ failedModelIds,
594
+ nonGoogleFleet,
595
+ )
596
+ : undefined;
597
+ const failover = replayFailover
598
+ ? { ...replayFailover, reason_code: GEMINI_REPLAY_INCOMPATIBLE }
599
+ : undefined;
600
+ const alternateModel = failover ? resolveTargetModel(deps, failover) : undefined;
601
+
602
+ if (failover && alternateModel && alternateModel.id !== targetModel.id) {
603
+ console.warn(
604
+ '[smart-router] gemini replay incompatible, failing over to non-Google model',
605
+ alternateModel.id,
606
+ );
607
+ if (isRoutingLogEnabled()) {
608
+ console.warn(
609
+ '[smart-router] routing decision',
610
+ JSON.stringify({
611
+ reason_code: GEMINI_REPLAY_INCOMPATIBLE,
612
+ failed_model_id: targetModel.id,
613
+ selected_model_id: alternateModel.id,
614
+ }),
615
+ );
616
+ }
617
+ pendingFailoverInfo = {
618
+ failedModelId: targetModel.id,
619
+ alternateModelId: alternateModel.id,
620
+ errorObj: resolveFailoverProviderError(result.finalMessage),
621
+ };
622
+ decision = failover;
623
+ deps.onRoutingDecision?.(decision);
624
+ targetModel = alternateModel;
625
+ continue;
626
+ }
627
+ }
628
+ // No non-Google candidate (or one-shot already used): actionable
629
+ // terminal guidance — never a silent loop.
573
630
  commitPipedTerminal(result, { sanitizeErrors: true });
574
631
  return;
575
632
  }
package/README.md CHANGED
@@ -201,7 +201,7 @@ pi exposes two different **auto** models. They are easy to confuse but play diff
201
201
 
202
202
  - You want cost/capability-aware model selection across your full authenticated fleet
203
203
  - You rely on session pinning, failover, or `/smart-router status` / `history` / `stats` telemetry
204
- - Tool-heavy sessions with Gemini economical models work via in-repo replay repair; add `cursor/auto` for unrepairable Google replay edge cases (see [pi-smart-router#85](https://github.com/beettlle/pi-smart-router/issues/85))
204
+ - Tool-heavy sessions with Gemini economical models work via in-repo replay repair (cross-provider included); the tool-history guard reroutes to non-Google models such as `cursor/auto` for unrepairable replay state (see [pi-smart-router#85](https://github.com/beettlle/pi-smart-router/issues/85), [pi-smart-router#158](https://github.com/beettlle/pi-smart-router/issues/158))
205
205
 
206
206
  Cursor models (`cursor/*`, `composer-*`, and the opaque fleet id `default`) map to **frontier-cloud** tier in `pi-model-mapper.ts` so HyDRA can score them against Gemini and Claude instead of treating them as unknown economical models ([pi-smart-router#40](https://github.com/beettlle/pi-smart-router/issues/40), [pi-smart-router#70](https://github.com/beettlle/pi-smart-router/issues/70)). Related: [pi-smart-router#23](https://github.com/beettlle/pi-smart-router/issues/23) (turn envelope / pin order), [pi-smart-router#37](https://github.com/beettlle/pi-smart-router/issues/37) (Gemini `thought_signature` errors).
207
207
 
@@ -878,23 +878,25 @@ The `GatewayDispatch` layer wraps the pipeline with:
878
878
 
879
879
  #### Gemini `thought_signature` 400 errors
880
880
 
881
- If Gemini returns **400 INVALID_ARGUMENT** mentioning `thought_signature`, the router treats this as a **protocol validation error** (incomplete tool-call replay), not provider unavailability — it will **not** failover to another model.
881
+ If Gemini returns **400 INVALID_ARGUMENT** mentioning `thought_signature`, the router treats this as a **protocol validation error** (incomplete tool-call replay), not provider unavailability — it is never classified as an infrastructure failure and never trips the circuit breaker. If the error survives repair and the tool-history guard, the router fails over **once** to a non-Google fleet model automatically (telemetry `reason_code: gemini_replay_incompatible`, distinct from infra failover) so the agent loop continues; only when no non-Google candidate exists does it surface a terminal error with actionable guidance.
882
882
 
883
883
  See [Google's thought signatures documentation](https://ai.google.dev/gemini-api/docs/generate-content/thought-signatures).
884
884
 
885
- **Primary fixreplay repair (SP-127/128):** before every Google-target delegation, smart-router repairs tool-call replay state: prior turns keep captured `thoughtSignature` values; tool calls missing a signature receive the Google-accepted skip sentinel so pi-ai can replay without a 400. Typical Gemini-first tool loops on `/model smart-router/auto` no longer require `/new` or switching away from Google models.
885
+ **Primary pathsilent repair and reroute (SP-127/128, SP-231/232):** in the common cross-provider case (tool-heavy turns on OpenAI/Anthropic/GLM/Cursor, then a Gemini selection) you do **not** need `/new` or manual model switching. Before every Google-target delegation, smart-router repairs tool-call replay state for **any** prior provider: unsigned tool calls receive the Google-accepted skip sentinel, captured signatures are preserved, and assistant identity aligns so pi-ai replays the turns without a 400. When history carries replay state repair cannot make Google-safe, the tool-history guard silently reroutes to a non-Google model instead (`reason_code: gemini_tool_history_excluded`) see below.
886
886
 
887
- **Narrowed guard fail-safe (SP-129):** sessions with **unrepairable** Google-origin replay state (e.g. redacted thinking blocks paired with tool calls) exclude Gemini from routing (`reason_code: gemini_tool_history_excluded`) unless the operator sets `force_model_id` via `/model`. Repairable Google tool history is delegated normally.
887
+ **Guard fail-safe (SP-129, expanded SP-232):** sessions with **unrepairable** replay state exclude Gemini from routing unless the operator sets `force_model_id` via `/model`. Unrepairable means: Google-origin turns with redacted thinking or captured signatures (SP-129), and — after SP-232 — **cross-provider** turns whose state repair preserves but Google rejects, such as foreign provider signatures (Claude signed thinking, signed text, or signed tool calls) or redacted thinking from any origin replayed toward a Google target. Unsigned cross-provider tool calls alone are repairable and stay routable to Gemini.
888
888
 
889
- **Empty fleet fail-safe (SP-084):** when the guard filters every model in the scoped fleet (e.g. Google/Gemini-only dogfood configs with unrepairable replay risk), the router throws an actionable error instead of delegating with `selected_model_id: unknown`. Add a non-Google model such as `openai/gpt-4o-mini` or `cursor/auto` to the fleet, start `/new`, or pin `/model` to force a specific model.
889
+ **Empty fleet fail-safe (SP-084):** when the guard filters every model in the scoped fleet (e.g. Google/Gemini-only dogfood configs with unrepairable replay risk), the router throws an actionable error instead of delegating with `selected_model_id: unknown`. Add a non-Google model such as `openai/gpt-4o-mini` or `cursor/auto` to the fleet, or pin `/model` to force a specific model.
890
+
891
+ **Residual path — one-shot non-Google failover (SP-233):** when a `thought_signature` 400 still reaches the stream (repair could not make the session replay state Google-safe), smart-router selects at most one non-Google fleet member and continues the stream with it. This is protocol-affinity failover, not infra failover: it is not recorded as a provider outage, does not trip the circuit breaker, and never retries Gemini↔Gemini for this error. If the scoped fleet has no non-Google model, the router fails fast with terminal guidance instead of looping silently.
890
892
 
891
893
  **If you still see a `thought_signature` error:**
892
894
 
893
- 1. Start a fresh session with `/new` in pi (clears unrepairable history).
894
- 2. Switch to a non-Google model (e.g. `/model openai/gpt-4o-mini`) for that session.
895
+ 1. Add a non-Google model (e.g. `openai/gpt-4o-mini` or `cursor/auto`) to the scoped fleet so the residual failover can reroute automatically — or switch manually with `/model openai/gpt-4o-mini` for that session.
896
+ 2. Start a fresh session with `/new` in pi (clears unrepairable history) last resort, rarely needed outside Google-only fleets or residual edge cases.
895
897
  3. Upstream: [pi#6342](https://github.com/earendil-works/pi/issues/6342) tracks pi preserving thought signatures in session replay; smart-router repair covers the common cross-model routing case without waiting on that fix.
896
898
 
897
- Related: [pi-smart-router#37](https://github.com/beettlle/pi-smart-router/issues/37), [pi-smart-router#38](https://github.com/beettlle/pi-smart-router/issues/38), [pi-smart-router#40](https://github.com/beettlle/pi-smart-router/issues/40), [pi-smart-router#41](https://github.com/beettlle/pi-smart-router/issues/41), [pi-smart-router#85](https://github.com/beettlle/pi-smart-router/issues/85).
899
+ Related: [pi-smart-router#37](https://github.com/beettlle/pi-smart-router/issues/37), [pi-smart-router#38](https://github.com/beettlle/pi-smart-router/issues/38), [pi-smart-router#40](https://github.com/beettlle/pi-smart-router/issues/40), [pi-smart-router#41](https://github.com/beettlle/pi-smart-router/issues/41), [pi-smart-router#85](https://github.com/beettlle/pi-smart-router/issues/85), [pi-smart-router#158](https://github.com/beettlle/pi-smart-router/issues/158), [pi-smart-router#159](https://github.com/beettlle/pi-smart-router/issues/159).
898
900
 
899
901
  ### Explain endpoint (library API)
900
902
 
@@ -7,8 +7,8 @@
7
7
  "livecodebench": "https://livecodebench.github.io/leaderboard.html",
8
8
  "bfcl": "https://gorilla.cs.berkeley.edu/leaderboard.html"
9
9
  },
10
- "scrape_date": "2026-08-22",
11
- "catalog_freeze_date": "2026-08-22"
10
+ "scrape_date": "2026-08-28",
11
+ "catalog_freeze_date": "2026-08-28"
12
12
  },
13
13
  "aliases": {
14
14
  "anthropic/claude-opus-4": "claude-opus-4-5",
@@ -2,7 +2,8 @@
2
2
  * Delegation context normalization — provider-agnostic replay identity fix.
3
3
  *
4
4
  * pi-ai transformMessages compares assistant message provider/api/model to the
5
- * target model. Virtual smart-router tags break isSameModel and strip replay
5
+ * target model. Foreign identities (virtual smart-router tags or any prior
6
+ * provider such as OpenAI/Anthropic/GLM) break isSameModel and strip replay
6
7
  * state (thoughtSignature, thinkingSignature, etc.).
7
8
  */
8
9
  import type { Api, AssistantMessage, Context, Message, Model } from '@earendil-works/pi-ai/compat';
@@ -35,11 +36,17 @@ export interface NormalizeDelegationContextOptions {
35
36
  */
36
37
  export declare function normalizeDelegationContext<TApi extends Api>(context: Context, targetModel: Model<TApi>, options?: NormalizeDelegationContextOptions): Context;
37
38
  /**
38
- * Repair Gemini tool-call replay for cross-model Google delegation.
39
+ * Repair Gemini tool-call replay for Google delegation targets.
39
40
  *
40
- * Call after {@link normalizeDelegationContext}. Aligns Google-origin assistant
41
- * identity to the delegation target and injects the thought-signature sentinel
42
- * when tool calls lack a captured signature.
41
+ * Call after {@link normalizeDelegationContext}. Aligns assistant identity to
42
+ * the delegation target and injects the thought-signature sentinel on every
43
+ * unsigned tool call, regardless of which provider produced the prior turn
44
+ * (Google, OpenAI, Anthropic, GLM, …). Captured signatures are preserved.
45
+ *
46
+ * Cross-provider repair (SP-231, #158): pi-ai strips replay state from any
47
+ * assistant message whose identity fails isSameModel, so a Gemini target
48
+ * would receive unsigned tool calls from non-Google turns and the Google API
49
+ * would reject the replay with a thought_signature error.
43
50
  */
44
51
  export declare function repairGeminiReplayContext<TApi extends Api>(context: Context, targetModel: Model<TApi>, sessionExecution?: ExecutionModel | null): Context;
45
52
  //# sourceMappingURL=delegation-context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-context.d.ts","sourceRoot":"","sources":["../../../src/domain/delegation/delegation-context.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,KAAK,EACN,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,uBAAuB,EAAG,cAAuB,CAAC;AAC/D,eAAO,MAAM,uBAAuB,EAAG,MAAe,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sCAAsC,EACjD,8CAAuD,CAAC;AAW1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAetF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAmBjF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CA+B7E;AAoCD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,GAAG,EACzD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EACxB,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CA2BT;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,SAAS,GAAG,EACxD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EACxB,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,GACvC,OAAO,CA4BT"}
1
+ {"version":3,"file":"delegation-context.d.ts","sourceRoot":"","sources":["../../../src/domain/delegation/delegation-context.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EACV,GAAG,EACH,gBAAgB,EAChB,OAAO,EACP,OAAO,EACP,KAAK,EACN,MAAM,8BAA8B,CAAC;AAEtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE5D,eAAO,MAAM,uBAAuB,EAAG,cAAuB,CAAC;AAC/D,eAAO,MAAM,uBAAuB,EAAG,MAAe,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sCAAsC,EACjD,8CAAuD,CAAC;AAW1D,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAElF;AAED,wBAAgB,wBAAwB,CAAC,IAAI,SAAS,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,CAetF;AAED,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAmBjF;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,GAAG,OAAO,CA+B7E;AAoCD,MAAM,WAAW,iCAAiC;IAChD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,uBAAuB,CAAC;IAC1D,QAAQ,CAAC,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;CACnD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,SAAS,GAAG,EACzD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EACxB,OAAO,CAAC,EAAE,iCAAiC,GAC1C,OAAO,CA2BT;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,SAAS,GAAG,EACxD,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EACxB,gBAAgB,CAAC,EAAE,cAAc,GAAG,IAAI,GACvC,OAAO,CAwBT"}
@@ -2,7 +2,8 @@
2
2
  * Delegation context normalization — provider-agnostic replay identity fix.
3
3
  *
4
4
  * pi-ai transformMessages compares assistant message provider/api/model to the
5
- * target model. Virtual smart-router tags break isSameModel and strip replay
5
+ * target model. Foreign identities (virtual smart-router tags or any prior
6
+ * provider such as OpenAI/Anthropic/GLM) break isSameModel and strip replay
6
7
  * state (thoughtSignature, thinkingSignature, etc.).
7
8
  */
8
9
  export const VIRTUAL_ROUTER_PROVIDER = 'smart-router';
@@ -92,7 +93,7 @@ function rewriteAssistantIdentity(message, executionModel) {
92
93
  model: executionModel.id,
93
94
  };
94
95
  }
95
- function repairGoogleOriginAssistantMessage(message, targetExecution) {
96
+ function repairAssistantForGoogleReplay(message, targetExecution) {
96
97
  const content = message.content.map((block) => {
97
98
  if (block.type !== 'toolCall') {
98
99
  return block;
@@ -134,11 +135,17 @@ export function normalizeDelegationContext(context, targetModel, options) {
134
135
  return { ...context, messages };
135
136
  }
136
137
  /**
137
- * Repair Gemini tool-call replay for cross-model Google delegation.
138
+ * Repair Gemini tool-call replay for Google delegation targets.
138
139
  *
139
- * Call after {@link normalizeDelegationContext}. Aligns Google-origin assistant
140
- * identity to the delegation target and injects the thought-signature sentinel
141
- * when tool calls lack a captured signature.
140
+ * Call after {@link normalizeDelegationContext}. Aligns assistant identity to
141
+ * the delegation target and injects the thought-signature sentinel on every
142
+ * unsigned tool call, regardless of which provider produced the prior turn
143
+ * (Google, OpenAI, Anthropic, GLM, …). Captured signatures are preserved.
144
+ *
145
+ * Cross-provider repair (SP-231, #158): pi-ai strips replay state from any
146
+ * assistant message whose identity fails isSameModel, so a Gemini target
147
+ * would receive unsigned tool calls from non-Google turns and the Google API
148
+ * would reject the replay with a thought_signature error.
142
149
  */
143
150
  export function repairGeminiReplayContext(context, targetModel, sessionExecution) {
144
151
  // Accepted for SP-128 call-site symmetry with normalizeDelegationContext; identity
@@ -156,10 +163,7 @@ export function repairGeminiReplayContext(context, targetModel, sessionExecution
156
163
  if (message.role !== 'assistant') {
157
164
  return message;
158
165
  }
159
- if (!isGoogleOriginAssistantMessage(message)) {
160
- return message;
161
- }
162
- return repairGoogleOriginAssistantMessage(message, targetExecution);
166
+ return repairAssistantForGoogleReplay(message, targetExecution);
163
167
  });
164
168
  return { ...context, messages };
165
169
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delegation-context.js","sourceRoot":"","sources":["../../../src/domain/delegation/delegation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation-context.js","sourceRoot":"","sources":["../../../src/domain/delegation/delegation-context.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-pinner.d.ts","sourceRoot":"","sources":["../../../src/domain/pinning/session-pinner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-pinner.d.ts","sourceRoot":"","sources":["../../../src/domain/pinning/session-pinner.ts"],"names":[],"mappings":"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"}
@@ -515,21 +515,31 @@ export class SessionPinner {
515
515
  };
516
516
  }
517
517
  // ─── Persistence (StorePort) ────────────────────────────────────────────────
518
+ // SP-236 / #142: explicit queue/async boundary. StorePort documents pin
519
+ // writes as non-blocking enqueue operations (store-port.ts sync semantics):
520
+ // the returned promise settles after the in-memory enqueue and must NOT
521
+ // reject asynchronously — write failures surface at flush time via the
522
+ // bounded write queue (console.warn + stats.dropped/flushed; see
523
+ // write-queue.ts and docs/sqlite-write-queue-design.md §3). The sync
524
+ // lookupPin hot path therefore discards the promise WITHOUT .catch() —
525
+ // under better-sqlite3 the .catch() never moved work off the event loop
526
+ // anyway (sync body; SP-234 audit §1) and only dressed a blocking call up
527
+ // as async.
518
528
  persistPin(pin) {
519
529
  if (!this.store) {
520
530
  return;
521
531
  }
522
- void this.store.putSessionPin(pin).catch((error) => {
523
- console.warn('Failed to persist session pin', { sessionId: pin.session_id, error });
524
- });
532
+ void this.store.putSessionPin(pin);
525
533
  }
534
+ // SP-236 / #142: same explicit queue/async boundary as persistPin — the
535
+ // DELETE is enqueued (DURABLE class) and the promise is discarded per the
536
+ // StorePort sync-semantics contract (no asynchronous rejection; flush-time
537
+ // failures are logged by the write queue).
526
538
  deletePersistedPin(sessionId) {
527
539
  if (!this.store) {
528
540
  return;
529
541
  }
530
- void this.store.deleteSessionPin(sessionId).catch((error) => {
531
- console.warn('Failed to delete persisted session pin', { sessionId, error });
532
- });
542
+ void this.store.deleteSessionPin(sessionId);
533
543
  }
534
544
  // ─── Sub-routing (FR-024) ───────────────────────────────────────────────────
535
545
  evaluateSubRouting(request, pin, fleet) {
@@ -1 +1 @@
1
- {"version":3,"file":"session-pinner.js","sourceRoot":"","sources":["../../../src/domain/pinning/session-pinner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-pinner.js","sourceRoot":"","sources":["../../../src/domain/pinning/session-pinner.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  /**
2
- * Gemini tool-history guard — SP-077, narrowed SP-129.
2
+ * Gemini tool-history guard — SP-077, narrowed SP-129, expanded SP-232.
3
3
  *
4
4
  * Excludes Google/Gemini fleet entries only when session history contains
5
- * Google-origin assistant tool calls with replay state SP-128 repair cannot fix.
6
- * OpenAI-only tool sessions may route to economical Gemini; repairable Google
7
- * tool history relies on delegation replay repair instead of a blunt ban.
5
+ * tool-call replay state that delegation repair cannot make Google-safe.
6
+ * Unsigned cross-provider toolCalls are silently sentinel-repaired (SP-231)
7
+ * and stay routable to Gemini; the guard fires on repair-unsafe state:
8
+ * redacted thinking (any origin — SP-231 identity alignment replays it to
9
+ * Google as-is) and foreign non-Google signatures that repair preserves but
10
+ * Google rejects, plus unrepairable Google-origin replay state (SP-129).
8
11
  */
9
12
  import type { Message as PiMessage } from '@earendil-works/pi-ai/compat';
10
13
  import type { Message as RoutingMessage, ModelProfile, RoutingRequest } from '../types/index.js';
@@ -39,8 +42,26 @@ export declare function hasGoogleReplayRisk(messages: readonly RoutingMessage[])
39
42
  export declare function hasUnrepairableGoogleReplayStateFromContext(messages: readonly PiMessage[]): boolean;
40
43
  export declare function hasUnrepairableGoogleReplayRiskFromContext(messages: readonly PiMessage[]): boolean;
41
44
  /**
42
- * Apply Gemini exclusion when unrepairable Google replay risk is present.
43
- * Honors `force_model_id` by returning the unfiltered fleet.
45
+ * Replay state repair cannot make Google-safe on cross-provider turns (SP-232, #158).
46
+ *
47
+ * SP-231 aligns every assistant identity to the Google delegation target, so
48
+ * replay-sensitive blocks from ANY origin reach the Google API. Redacted
49
+ * thinking cannot be fabricated and foreign signatures (Claude/GLM/OpenAI
50
+ * thinking, text, or toolCall signatures) are preserved by repair but rejected
51
+ * by Google — the previously injected skip sentinel is Google-accepted and
52
+ * does not count as a foreign signature.
53
+ */
54
+ export declare function hasCrossProviderUnrepairableReplayStateFromContext(messages: readonly PiMessage[]): boolean;
55
+ /**
56
+ * Cross-provider replay risk: tool history present AND repair-unsafe replay
57
+ * state on a non-Google turn (SP-232). Tool-history coupling keeps text-only
58
+ * sessions routable to Gemini.
59
+ */
60
+ export declare function hasUnrepairableCrossProviderReplayRiskFromContext(messages: readonly PiMessage[]): boolean;
61
+ /**
62
+ * Apply Gemini exclusion when tool history is Google-unsafe (unrepairable
63
+ * Google-origin replay state or cross-provider state SP-231 repair cannot
64
+ * make safe). Honors `force_model_id` by returning the unfiltered fleet.
44
65
  */
45
66
  export declare function resolveEffectiveFleet(fleet: readonly ModelProfile[], request: RoutingRequest, contextMessages?: readonly PiMessage[]): GeminiToolHistoryGuardResult;
46
67
  /** Shared SP-129 detector for SP-080 fleet deprioritization. */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-history-guard.d.ts","sourceRoot":"","sources":["../../../src/domain/routing/tool-history-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAKzE,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjG,eAAO,MAAM,4BAA4B,EAAG,8BAAuC,CAAC;AACpF,eAAO,MAAM,+BAA+B,EAAG,iCAA0C,CAAC;AAS1F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,4BAA4B,CAAC;IAC1D,qEAAqE;IACrE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,UAAU,oCAAmC;;CAUvD;AAED,wBAAgB,8CAA8C,CAC5D,MAAM,EAAE,4BAA4B,GACnC,IAAI,CAIN;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAgBpE;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAgBT;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,OAAO,CAcT;AAED,kFAAkF;AAClF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAkBT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,OAAO,CAIT;AAED;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CA2BT;AAED,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAKT;AAwBD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,SAAS,SAAS,EAAE,GACrC,4BAA4B,CA4B9B;AAED,gEAAgE;AAChE,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,SAAS,SAAS,EAAE,GACrC,OAAO,CAET"}
1
+ {"version":3,"file":"tool-history-guard.d.ts","sourceRoot":"","sources":["../../../src/domain/routing/tool-history-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAMzE,OAAO,KAAK,EAAE,OAAO,IAAI,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEjG,eAAO,MAAM,4BAA4B,EAAG,8BAAuC,CAAC;AACpF,eAAO,MAAM,+BAA+B,EAAG,iCAA0C,CAAC;AAS1F,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,cAAc,EAAE,SAAS,YAAY,EAAE,CAAC;IACjD,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,4BAA4B,CAAC;IAC1D,qEAAqE;IACrE,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAC1C;AAED,qBAAa,gCAAiC,SAAQ,KAAK;IACzD,QAAQ,CAAC,UAAU,oCAAmC;;CAUvD;AAED,wBAAgB,8CAA8C,CAC5D,MAAM,EAAE,4BAA4B,GACnC,IAAI,CAIN;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAgBpE;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAgBT;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,OAAO,CAcT;AAED,kFAAkF;AAClF,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAkBT;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,SAAS,cAAc,EAAE,GAClC,OAAO,CAIT;AAED;;;GAGG;AACH,wBAAgB,2CAA2C,CACzD,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CA2BT;AAED,wBAAgB,0CAA0C,CACxD,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAKT;AAED;;;;;;;;;GASG;AACH,wBAAgB,kDAAkD,CAChE,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CA8CT;AAED;;;;GAIG;AACH,wBAAgB,iDAAiD,CAC/D,QAAQ,EAAE,SAAS,SAAS,EAAE,GAC7B,OAAO,CAKT;AA2BD;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,SAAS,SAAS,EAAE,GACrC,4BAA4B,CA4B9B;AAED,gEAAgE;AAChE,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,cAAc,EACvB,eAAe,CAAC,EAAE,SAAS,SAAS,EAAE,GACrC,OAAO,CAET"}
@@ -1,12 +1,15 @@
1
1
  /**
2
- * Gemini tool-history guard — SP-077, narrowed SP-129.
2
+ * Gemini tool-history guard — SP-077, narrowed SP-129, expanded SP-232.
3
3
  *
4
4
  * Excludes Google/Gemini fleet entries only when session history contains
5
- * Google-origin assistant tool calls with replay state SP-128 repair cannot fix.
6
- * OpenAI-only tool sessions may route to economical Gemini; repairable Google
7
- * tool history relies on delegation replay repair instead of a blunt ban.
5
+ * tool-call replay state that delegation repair cannot make Google-safe.
6
+ * Unsigned cross-provider toolCalls are silently sentinel-repaired (SP-231)
7
+ * and stay routable to Gemini; the guard fires on repair-unsafe state:
8
+ * redacted thinking (any origin — SP-231 identity alignment replays it to
9
+ * Google as-is) and foreign non-Google signatures that repair preserves but
10
+ * Google rejects, plus unrepairable Google-origin replay state (SP-129).
8
11
  */
9
- import { isGoogleOriginAssistantMessage, } from '../delegation/delegation-context.js';
12
+ import { GEMINI_SKIP_THOUGHT_SIGNATURE_SENTINEL, isGoogleOriginAssistantMessage, } from '../delegation/delegation-context.js';
10
13
  export const GEMINI_TOOL_HISTORY_EXCLUDED = 'gemini_tool_history_excluded';
11
14
  export const GEMINI_TOOL_HISTORY_EMPTY_FLEET = 'gemini_tool_history_empty_fleet';
12
15
  const GOOGLE_GEMINI_PROVIDER_ALIASES = new Set([
@@ -129,27 +132,84 @@ export function hasUnrepairableGoogleReplayRiskFromContext(messages) {
129
132
  return (hasGoogleReplayRiskFromContext(messages) &&
130
133
  hasUnrepairableGoogleReplayStateFromContext(messages));
131
134
  }
135
+ /**
136
+ * Replay state repair cannot make Google-safe on cross-provider turns (SP-232, #158).
137
+ *
138
+ * SP-231 aligns every assistant identity to the Google delegation target, so
139
+ * replay-sensitive blocks from ANY origin reach the Google API. Redacted
140
+ * thinking cannot be fabricated and foreign signatures (Claude/GLM/OpenAI
141
+ * thinking, text, or toolCall signatures) are preserved by repair but rejected
142
+ * by Google — the previously injected skip sentinel is Google-accepted and
143
+ * does not count as a foreign signature.
144
+ */
145
+ export function hasCrossProviderUnrepairableReplayStateFromContext(messages) {
146
+ for (const message of messages) {
147
+ if (message.role !== 'assistant') {
148
+ continue;
149
+ }
150
+ const googleOrigin = isGoogleOriginAssistantMessage(message);
151
+ for (const block of message.content) {
152
+ if (block.type === 'thinking') {
153
+ // Redacted thinking is unrepairable from any origin; Google-origin
154
+ // signed thinking is covered by hasUnrepairableGoogleReplayStateFromContext.
155
+ if (block.redacted) {
156
+ return true;
157
+ }
158
+ if (!googleOrigin &&
159
+ block.thinkingSignature &&
160
+ block.thinkingSignature.length > 0) {
161
+ return true;
162
+ }
163
+ }
164
+ if (!googleOrigin &&
165
+ block.type === 'text' &&
166
+ block.textSignature &&
167
+ block.textSignature.length > 0) {
168
+ return true;
169
+ }
170
+ if (!googleOrigin &&
171
+ block.type === 'toolCall' &&
172
+ block.thoughtSignature &&
173
+ block.thoughtSignature.length > 0 &&
174
+ block.thoughtSignature !== GEMINI_SKIP_THOUGHT_SIGNATURE_SENTINEL) {
175
+ return true;
176
+ }
177
+ }
178
+ }
179
+ return false;
180
+ }
181
+ /**
182
+ * Cross-provider replay risk: tool history present AND repair-unsafe replay
183
+ * state on a non-Google turn (SP-232). Tool-history coupling keeps text-only
184
+ * sessions routable to Gemini.
185
+ */
186
+ export function hasUnrepairableCrossProviderReplayRiskFromContext(messages) {
187
+ return (hasToolCallHistoryFromContext(messages) &&
188
+ hasCrossProviderUnrepairableReplayStateFromContext(messages));
189
+ }
132
190
  function sessionHasGoogleReplayRisk(request, contextMessages) {
133
191
  if (contextMessages !== undefined && contextMessages.length > 0) {
134
192
  return hasGoogleReplayRiskFromContext(contextMessages);
135
193
  }
136
194
  return hasGoogleReplayRisk(request.messages ?? []);
137
195
  }
138
- function sessionHasUnrepairableGoogleReplayRisk(request, contextMessages) {
196
+ function sessionHasGoogleUnsafeToolHistory(request, contextMessages) {
139
197
  if (contextMessages !== undefined && contextMessages.length > 0) {
140
- return hasUnrepairableGoogleReplayRiskFromContext(contextMessages);
198
+ return (hasUnrepairableGoogleReplayRiskFromContext(contextMessages) ||
199
+ hasUnrepairableCrossProviderReplayRiskFromContext(contextMessages));
141
200
  }
142
201
  return false;
143
202
  }
144
203
  /**
145
- * Apply Gemini exclusion when unrepairable Google replay risk is present.
146
- * Honors `force_model_id` by returning the unfiltered fleet.
204
+ * Apply Gemini exclusion when tool history is Google-unsafe (unrepairable
205
+ * Google-origin replay state or cross-provider state SP-231 repair cannot
206
+ * make safe). Honors `force_model_id` by returning the unfiltered fleet.
147
207
  */
148
208
  export function resolveEffectiveFleet(fleet, request, contextMessages) {
149
209
  if (request.force_model_id) {
150
210
  return { effectiveFleet: fleet, excluded: false };
151
211
  }
152
- if (!sessionHasUnrepairableGoogleReplayRisk(request, contextMessages)) {
212
+ if (!sessionHasGoogleUnsafeToolHistory(request, contextMessages)) {
153
213
  return { effectiveFleet: fleet, excluded: false };
154
214
  }
155
215
  const filtered = fleet.filter((profile) => !isGoogleGeminiProfile(profile));
@@ -1 +1 @@
1
- {"version":3,"file":"tool-history-guard.js","sourceRoot":"","sources":["../../../src/domain/routing/tool-history-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-history-guard.js","sourceRoot":"","sources":["../../../src/domain/routing/tool-history-guard.ts"],"names":[],"mappings":"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"}