@zhixuan92/multi-model-agent-core 3.10.6 → 3.11.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 (155) hide show
  1. package/README.md +3 -3
  2. package/dist/config/schema.d.ts +15 -0
  3. package/dist/config/schema.d.ts.map +1 -1
  4. package/dist/config/schema.js +17 -2
  5. package/dist/config/schema.js.map +1 -1
  6. package/dist/diagnostics/types.d.ts +11 -0
  7. package/dist/diagnostics/types.d.ts.map +1 -1
  8. package/dist/escalation/fallback.d.ts +14 -0
  9. package/dist/escalation/fallback.d.ts.map +1 -1
  10. package/dist/escalation/fallback.js +254 -19
  11. package/dist/escalation/fallback.js.map +1 -1
  12. package/dist/executors/audit.d.ts.map +1 -1
  13. package/dist/executors/audit.js +6 -4
  14. package/dist/executors/audit.js.map +1 -1
  15. package/dist/executors/debug.d.ts.map +1 -1
  16. package/dist/executors/debug.js +5 -3
  17. package/dist/executors/debug.js.map +1 -1
  18. package/dist/executors/delegate.d.ts +12 -0
  19. package/dist/executors/delegate.d.ts.map +1 -1
  20. package/dist/executors/delegate.js +45 -11
  21. package/dist/executors/delegate.js.map +1 -1
  22. package/dist/executors/execute-plan.d.ts.map +1 -1
  23. package/dist/executors/execute-plan.js +6 -4
  24. package/dist/executors/execute-plan.js.map +1 -1
  25. package/dist/executors/retry.js +1 -1
  26. package/dist/executors/retry.js.map +1 -1
  27. package/dist/executors/review.js +1 -1
  28. package/dist/executors/review.js.map +1 -1
  29. package/dist/executors/shared-compute.js +4 -4
  30. package/dist/executors/shared-compute.js.map +1 -1
  31. package/dist/executors/types.d.ts +1 -1
  32. package/dist/executors/types.d.ts.map +1 -1
  33. package/dist/executors/verify.js +2 -2
  34. package/dist/executors/verify.js.map +1 -1
  35. package/dist/heartbeat.d.ts +5 -5
  36. package/dist/heartbeat.d.ts.map +1 -1
  37. package/dist/heartbeat.js +21 -17
  38. package/dist/heartbeat.js.map +1 -1
  39. package/dist/index.d.ts +4 -3
  40. package/dist/index.d.ts.map +1 -1
  41. package/dist/index.js +5 -3
  42. package/dist/index.js.map +1 -1
  43. package/dist/intake/compilers/audit.d.ts.map +1 -1
  44. package/dist/intake/compilers/audit.js +5 -2
  45. package/dist/intake/compilers/audit.js.map +1 -1
  46. package/dist/intake/compilers/debug.d.ts.map +1 -1
  47. package/dist/intake/compilers/debug.js +4 -0
  48. package/dist/intake/compilers/debug.js.map +1 -1
  49. package/dist/intake/compilers/delegate.d.ts +3 -0
  50. package/dist/intake/compilers/delegate.d.ts.map +1 -1
  51. package/dist/intake/compilers/delegate.js +5 -1
  52. package/dist/intake/compilers/delegate.js.map +1 -1
  53. package/dist/intake/compilers/execute-plan.d.ts.map +1 -1
  54. package/dist/intake/compilers/execute-plan.js +5 -0
  55. package/dist/intake/compilers/execute-plan.js.map +1 -1
  56. package/dist/intake/compilers/review.d.ts.map +1 -1
  57. package/dist/intake/compilers/review.js +3 -0
  58. package/dist/intake/compilers/review.js.map +1 -1
  59. package/dist/intake/compilers/verify.d.ts.map +1 -1
  60. package/dist/intake/compilers/verify.js +7 -0
  61. package/dist/intake/compilers/verify.js.map +1 -1
  62. package/dist/intake/force-clarification.d.ts +5 -0
  63. package/dist/intake/force-clarification.d.ts.map +1 -0
  64. package/dist/intake/force-clarification.js +44 -0
  65. package/dist/intake/force-clarification.js.map +1 -0
  66. package/dist/intake/pipeline.d.ts +1 -1
  67. package/dist/intake/pipeline.d.ts.map +1 -1
  68. package/dist/intake/pipeline.js +32 -1
  69. package/dist/intake/pipeline.js.map +1 -1
  70. package/dist/intake/resolve.d.ts.map +1 -1
  71. package/dist/intake/resolve.js +0 -1
  72. package/dist/intake/resolve.js.map +1 -1
  73. package/dist/observability/bus.d.ts.map +1 -1
  74. package/dist/observability/bus.js +20 -0
  75. package/dist/observability/bus.js.map +1 -1
  76. package/dist/observability/events.d.ts +81 -4
  77. package/dist/observability/events.d.ts.map +1 -1
  78. package/dist/observability/events.js +77 -2
  79. package/dist/observability/events.js.map +1 -1
  80. package/dist/provider.d.ts +1 -0
  81. package/dist/provider.d.ts.map +1 -1
  82. package/dist/provider.js +8 -1
  83. package/dist/provider.js.map +1 -1
  84. package/dist/review/diff-review.d.ts +1 -0
  85. package/dist/review/diff-review.d.ts.map +1 -1
  86. package/dist/review/diff-review.js +1 -0
  87. package/dist/review/diff-review.js.map +1 -1
  88. package/dist/review/quality-reviewer.d.ts +1 -1
  89. package/dist/review/quality-reviewer.d.ts.map +1 -1
  90. package/dist/review/quality-reviewer.js +6 -6
  91. package/dist/review/quality-reviewer.js.map +1 -1
  92. package/dist/review/spec-reviewer.d.ts +1 -1
  93. package/dist/review/spec-reviewer.d.ts.map +1 -1
  94. package/dist/review/spec-reviewer.js +3 -1
  95. package/dist/review/spec-reviewer.js.map +1 -1
  96. package/dist/routing/canonical-model-identity.d.ts +9 -0
  97. package/dist/routing/canonical-model-identity.d.ts.map +1 -0
  98. package/dist/routing/canonical-model-identity.js +54 -0
  99. package/dist/routing/canonical-model-identity.js.map +1 -0
  100. package/dist/run-tasks/execute-task.js +1 -1
  101. package/dist/run-tasks/execute-task.js.map +1 -1
  102. package/dist/run-tasks/index.js +1 -1
  103. package/dist/run-tasks/index.js.map +1 -1
  104. package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -1
  105. package/dist/run-tasks/reviewed-lifecycle.js +145 -31
  106. package/dist/run-tasks/reviewed-lifecycle.js.map +1 -1
  107. package/dist/runners/base/result-builders.d.ts +13 -2
  108. package/dist/runners/base/result-builders.d.ts.map +1 -1
  109. package/dist/runners/base/result-builders.js +25 -1
  110. package/dist/runners/base/result-builders.js.map +1 -1
  111. package/dist/runners/base/time-check.d.ts +9 -0
  112. package/dist/runners/base/time-check.d.ts.map +1 -0
  113. package/dist/runners/base/time-check.js +18 -0
  114. package/dist/runners/base/time-check.js.map +1 -0
  115. package/dist/runners/base/usage-accumulator.d.ts +9 -0
  116. package/dist/runners/base/usage-accumulator.d.ts.map +1 -0
  117. package/dist/runners/base/usage-accumulator.js +19 -0
  118. package/dist/runners/base/usage-accumulator.js.map +1 -0
  119. package/dist/runners/claude-runner.d.ts.map +1 -1
  120. package/dist/runners/claude-runner.js +129 -175
  121. package/dist/runners/claude-runner.js.map +1 -1
  122. package/dist/runners/codex-runner.d.ts.map +1 -1
  123. package/dist/runners/codex-runner.js +96 -128
  124. package/dist/runners/codex-runner.js.map +1 -1
  125. package/dist/runners/error-classification.d.ts +11 -0
  126. package/dist/runners/error-classification.d.ts.map +1 -1
  127. package/dist/runners/error-classification.js +51 -0
  128. package/dist/runners/error-classification.js.map +1 -1
  129. package/dist/runners/openai-runner.d.ts.map +1 -1
  130. package/dist/runners/openai-runner.js +80 -171
  131. package/dist/runners/openai-runner.js.map +1 -1
  132. package/dist/runners/supervision.d.ts +0 -49
  133. package/dist/runners/supervision.d.ts.map +1 -1
  134. package/dist/runners/supervision.js +0 -67
  135. package/dist/runners/supervision.js.map +1 -1
  136. package/dist/runners/types.d.ts +12 -5
  137. package/dist/runners/types.d.ts.map +1 -1
  138. package/dist/telemetry/concern-classifier.d.ts +1 -1
  139. package/dist/telemetry/concern-classifier.d.ts.map +1 -1
  140. package/dist/telemetry/concern-classifier.js +5 -0
  141. package/dist/telemetry/concern-classifier.js.map +1 -1
  142. package/dist/telemetry/event-builder.d.ts.map +1 -1
  143. package/dist/telemetry/event-builder.js +5 -5
  144. package/dist/telemetry/event-builder.js.map +1 -1
  145. package/dist/telemetry/field-coverage.js +2 -2
  146. package/dist/telemetry/field-coverage.js.map +1 -1
  147. package/dist/telemetry/types.d.ts +139 -91
  148. package/dist/telemetry/types.d.ts.map +1 -1
  149. package/dist/telemetry/types.js +23 -17
  150. package/dist/telemetry/types.js.map +1 -1
  151. package/dist/types.d.ts +2 -2
  152. package/dist/types.d.ts.map +1 -1
  153. package/dist/types.js +5 -2
  154. package/dist/types.js.map +1 -1
  155. package/package.json +1 -1
package/README.md CHANGED
@@ -28,11 +28,11 @@ const results = await runTasks([
28
28
  ], config);
29
29
 
30
30
  for (const r of results) {
31
- console.log(r.status, r.usage.costUSD, r.savedCostUSD, r.output);
31
+ console.log(r.status, r.usage.costUSD, r.usage.costDeltaVsParentUSD, r.output);
32
32
  }
33
33
  ```
34
34
 
35
- `savedCostUSD` is populated when `defaults.parentModel` is set in the config — it's the difference between the agent's actual cost and what the parent model would have charged for the same input/output token count. Use it to surface a `$X saved (Y× ROI)` figure in your own UI.
35
+ `costDeltaVsParentUSD` is populated when `defaults.parentModel` is set in the config — it's `actualCost parentCost` (negative = worker cheaper/savings). Use it to surface a `$X saved (Y× ROI)` figure in your own UI.
36
36
 
37
37
  ## What's inside
38
38
 
@@ -104,7 +104,7 @@ As of 3.4.0 every task-execution event the worker emits to the verbose stderr st
104
104
 
105
105
  ## What's new
106
106
 
107
- Latest: **3.10.6** — Skill content packaged in `@zhixuan92/multi-model-agent-core/skills` was corrected: the router skill (`multi-model-agent/SKILL.md`) and `mma-execute-plan/SKILL.md` had drifted from the executor code. Only `delegate.ts` schema accepts `agentType`; every other tool-schema is `.strict()` and rejects it with HTTP 400. Per-route hardcoded tiers (`executors/*.ts:agentType`) are now accurately documented. Full history: [CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md).
107
+ Latest: **3.11.0** — Core runtime correctness pass: reviewer cwd plumbed through all runners; new `forbiddenIdentities` parameter on `runWithFallback` for R3-respecting reviewer separation via canonical model identity tuples; `force_salvage` watchdog and 80% warning-nudge removed across all runners (input-token-volume aborts gone); new `time_ceiling` abort path mirrors `cost_ceiling` (both at 0.80 × budget); `executeDelegate` synthesizes `proposedInterpretation` when intake produces clarifications; per-route prompt scope contracts in compilers; canonical `CanonicalUsage` shape for cached / reasoning tokens; new `canonical-model-identity` module with URL normalization and credential-stripping. Breaking telemetry: `savedCostUSD` → `costDeltaVsParentUSD` (formula flipped), dead `style` / `findingsFlagged` / `severityCorrections` fields removed, watchdog event types removed. Full history: [CHANGELOG](https://github.com/zhixuan312/multi-model-agent/blob/master/CHANGELOG.md).
108
108
 
109
109
  ## Full documentation
110
110
 
@@ -12,6 +12,21 @@ export declare const DEFAULT_TASK_TIMEOUT_MS = 3600000;
12
12
  * Bumped from 10 min in v3.9.0 — the prior value occasionally fired on
13
13
  * legitimately slow reviewers (deepseek-v4-pro, large diffs). */
14
14
  export declare const DEFAULT_STALL_TIMEOUT_MS = 1200000;
15
+ /** Per-task cost cap in USD. Negative is rejected; zero allows free-agent
16
+ * runs (both input/output price rates set to 0). */
17
+ export declare const DEFAULT_MAX_COST_USD = 10;
18
+ /** Pre-stop threshold ratio for cost — the runtime warns and may refuse
19
+ * new turns when cost reaches DEFAULT_MAX_COST_USD × this ratio ($8).
20
+ * A turn already in flight is allowed to complete, so the worst-case
21
+ * total is DEFAULT_MAX_COST_USD / MAX_COST_PRESTOP_RATIO ($12.50).
22
+ * This is NOT an 80%-overshoot allowance; it is an 80%-of-cap pre-stop.
23
+ * See §3.8 for the rationale. */
24
+ export declare const MAX_COST_PRESTOP_RATIO = 0.8;
25
+ /** Clock counterpart of MAX_COST_PRESTOP_RATIO — same pre-stop semantics
26
+ * applied to wall-clock time: the runtime warns at
27
+ * DEFAULT_TASK_TIMEOUT_MS × this ratio (48 min), with a worst-case
28
+ * total of DEFAULT_TASK_TIMEOUT_MS / MAX_TIME_PRESTOP_RATIO (1.25 h). */
29
+ export declare const MAX_TIME_PRESTOP_RATIO = 0.8;
15
30
  /** Raw (possibly compressed) request body cap — 256 KiB. */
16
31
  export declare const COMPRESSED_BODY_LIMIT_BYTES: number;
17
32
  export declare const serverConfigSchema: z.ZodObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB;;;;;0BAK0B;AAC1B,eAAO,MAAM,uBAAuB,UAAY,CAAC;AAEjD;;;iEAGiE;AACjE,eAAO,MAAM,wBAAwB,UAAY,CAAC;AA2FlD,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,QAAa,CAAC;AAsCtD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;kBAUpB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0BxB,CAAC;AAEZ,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;AAEzE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAE1D"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EACV,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB;;;;;0BAK0B;AAC1B,eAAO,MAAM,uBAAuB,UAAY,CAAC;AAEjD;;;iEAGiE;AACjE,eAAO,MAAM,wBAAwB,UAAY,CAAC;AAElD;oDACoD;AACpD,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC;;;;;iCAKiC;AACjC,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAE3C;;;yEAGyE;AACzE,eAAO,MAAM,sBAAsB,MAAO,CAAC;AA2F3C,4DAA4D;AAC5D,eAAO,MAAM,2BAA2B,QAAa,CAAC;AAsCtD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;kBAUpB,CAAC;AAEZ,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA0BxB,CAAC;AAEZ,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,gBAAgB,CAAA;IACxB,OAAO,EAAE,IAAI,CAAA;CACd;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,MAAM,iBAAiB,GAAG,mBAAmB,GAAG,mBAAmB,CAAA;AAEzE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAE1D"}
@@ -11,6 +11,21 @@ export const DEFAULT_TASK_TIMEOUT_MS = 3_600_000;
11
11
  * Bumped from 10 min in v3.9.0 — the prior value occasionally fired on
12
12
  * legitimately slow reviewers (deepseek-v4-pro, large diffs). */
13
13
  export const DEFAULT_STALL_TIMEOUT_MS = 1_200_000;
14
+ /** Per-task cost cap in USD. Negative is rejected; zero allows free-agent
15
+ * runs (both input/output price rates set to 0). */
16
+ export const DEFAULT_MAX_COST_USD = 10;
17
+ /** Pre-stop threshold ratio for cost — the runtime warns and may refuse
18
+ * new turns when cost reaches DEFAULT_MAX_COST_USD × this ratio ($8).
19
+ * A turn already in flight is allowed to complete, so the worst-case
20
+ * total is DEFAULT_MAX_COST_USD / MAX_COST_PRESTOP_RATIO ($12.50).
21
+ * This is NOT an 80%-overshoot allowance; it is an 80%-of-cap pre-stop.
22
+ * See §3.8 for the rationale. */
23
+ export const MAX_COST_PRESTOP_RATIO = 0.80;
24
+ /** Clock counterpart of MAX_COST_PRESTOP_RATIO — same pre-stop semantics
25
+ * applied to wall-clock time: the runtime warns at
26
+ * DEFAULT_TASK_TIMEOUT_MS × this ratio (48 min), with a worst-case
27
+ * total of DEFAULT_TASK_TIMEOUT_MS / MAX_TIME_PRESTOP_RATIO (1.25 h). */
28
+ export const MAX_TIME_PRESTOP_RATIO = 0.80;
14
29
  // === Shared field schemas ===
15
30
  const effortSchema = z.enum(['none', 'low', 'medium', 'high']);
16
31
  const hostedToolsSchema = z.array(z.enum(['web_search', 'image_generation', 'code_interpreter']));
@@ -71,7 +86,7 @@ const agentConfigSchema = z.discriminatedUnion('type', [
71
86
  const defaultsSchema = z.object({
72
87
  timeoutMs: z.number().int().positive().default(DEFAULT_TASK_TIMEOUT_MS),
73
88
  stallTimeoutMs: z.number().int().positive().default(DEFAULT_STALL_TIMEOUT_MS),
74
- maxCostUSD: z.number().nonnegative().default(10),
89
+ maxCostUSD: z.number().nonnegative().default(DEFAULT_MAX_COST_USD),
75
90
  tools: z.enum(['none', 'readonly', 'no-shell', 'full']).default('full'),
76
91
  sandboxPolicy: z.enum(['none', 'cwd-only']).default('cwd-only'),
77
92
  largeResponseThresholdChars: z.number().int().positive().optional(),
@@ -79,7 +94,7 @@ const defaultsSchema = z.object({
79
94
  }).default(() => ({
80
95
  timeoutMs: DEFAULT_TASK_TIMEOUT_MS,
81
96
  stallTimeoutMs: DEFAULT_STALL_TIMEOUT_MS,
82
- maxCostUSD: 10,
97
+ maxCostUSD: DEFAULT_MAX_COST_USD,
83
98
  tools: 'full',
84
99
  sandboxPolicy: 'cwd-only',
85
100
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/config/schema.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,17 @@ export interface FallbackEventParams {
41
41
  reason: DiagReason;
42
42
  triggeringStatus?: RunStatus;
43
43
  violatesSeparation: boolean;
44
+ fallbackSeparationRespected?: boolean;
45
+ assignedIdentity?: {
46
+ providerType: string;
47
+ normalizedEndpoint: string;
48
+ modelId: string;
49
+ } | null;
50
+ usedIdentity?: {
51
+ providerType: string;
52
+ normalizedEndpoint: string;
53
+ modelId: string;
54
+ } | null;
44
55
  }
45
56
  export interface FallbackUnavailableEventParams {
46
57
  batchId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAElI,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC9D,MAAM,WAAW,SAAS;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAAE;AAE5H,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAC3F,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/diagnostics/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,MAAM,aAAa,GACrB,WAAW,GACX,cAAc,GACd,oBAAoB,GACpB,mBAAmB,GACnB,oBAAoB,GACpB,SAAS,GACT,QAAQ,GACR,SAAS,GACT,QAAQ,GACR,SAAS,GACT,kBAAkB,GAClB,uBAAuB,CAAC;AAE5B,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAElI,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;AAC9D,MAAM,WAAW,SAAS;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAAC;CAAE;AAE5H,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC;AACnD,MAAM,MAAM,QAAQ,GAAG,aAAa,GAAG,cAAc,GAAG,iBAAiB,GAAG,cAAc,CAAC;AAC3F,MAAM,MAAM,UAAU,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AAEhE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,EAAE,SAAS,CAAC;IACpB,YAAY,EAAE,SAAS,CAAC;CACzB;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,SAAS,CAAC;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,UAAU,CAAC;IACnB,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,gBAAgB,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChG,YAAY,CAAC,EAAE;QAAE,YAAY,EAAE,MAAM,CAAC;QAAC,kBAAkB,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC7F;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf,YAAY,EAAE,SAAS,CAAC;IACxB,MAAM,EAAE,UAAU,CAAC;CACpB"}
@@ -1,5 +1,6 @@
1
1
  import type { Provider, AgentType, RunResult } from '../types.js';
2
2
  import type { RunStatus } from '../runners/types.js';
3
+ import { type CanonicalIdentity } from '../routing/canonical-model-identity.js';
3
4
  export declare const TRANSPORT_FAILURES: ReadonlySet<RunStatus>;
4
5
  export type FallbackReason = 'transport_failure' | 'not_configured';
5
6
  export type UnavailableMap = Map<AgentType, FallbackReason>;
@@ -22,6 +23,12 @@ export interface RunWithFallbackInput<T> {
22
23
  getStatus?: (result: T) => RunStatus | undefined;
23
24
  makeSyntheticFailure: (assigned: AgentType) => T;
24
25
  call: (provider: Provider) => Promise<T>;
26
+ /** Canonical identities to exclude from candidate selection. When a candidate
27
+ * provider's resolved identity matches one in this set, the candidate is skipped
28
+ * as a separation violation. If identity resolution throws on a successfully-constructed
29
+ * provider, the candidate is also skipped (fail-closed). Provider construction
30
+ * failures (providerFor throws/returns undefined) follow the existing unavailable path. */
31
+ forbiddenIdentities?: CanonicalIdentity[];
25
32
  }
26
33
  export interface RunWithFallbackResult<T> {
27
34
  result: T;
@@ -47,6 +54,13 @@ export interface RunWithFallbackResult<T> {
47
54
  * fallbackReason set without calling assigned. Distinct from `fallbackReason` so callers
48
55
  * can tell "we substituted at the start" vs "we substituted because the assigned call failed". */
49
56
  assignedUnavailableReason?: FallbackReason;
57
+ /** True iff the final used tier differs in canonical identity from all forbiddenIdentities.
58
+ * Set only when forbiddenIdentities was provided. */
59
+ fallbackSeparationRespected?: boolean;
60
+ /** Canonical identity of the assigned tier's provider (resolved at selection time). */
61
+ assignedIdentity?: CanonicalIdentity;
62
+ /** Canonical identity of the actually-used tier's provider. */
63
+ usedIdentity?: CanonicalIdentity;
50
64
  }
51
65
  export declare function runWithFallback<T>(input: RunWithFallbackInput<T>): Promise<RunWithFallbackResult<T>>;
52
66
  /** Lifecycle helper: builds the synthetic RunResult expected when both tiers are
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/escalation/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAErD,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAIpD,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAE5D,8DAA8D;AAC9D,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,GACrB,IAAI,CAEN;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAEjD;AAED;;;;yEAIyE;AACzE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAEpE;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IACvD,gBAAgB,EAAE,cAAc,CAAC;IACjC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C;0FACsF;IACtF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;IACjD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAE7B;;;4EAGwE;IACxE,aAAa,EAAE,OAAO,CAAC;IACvB,sGAAsG;IACtG,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;2EACuE;IACvE,wBAAwB,CAAC,EAAE,SAAS,CAAC;IAErC,8DAA8D;IAC9D,eAAe,EAAE,OAAO,CAAC;IACzB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;wFACoF;IACpF,2BAA2B,CAAC,EAAE,SAAS,CAAC;IAExC;;uGAEmG;IACnG,yBAAyB,CAAC,EAAE,cAAc,CAAC;CAC5C;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CA0JnC;AAED;;;;;;;;oBAQoB;AACpB,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAexF;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB,OAAO,CAET"}
1
+ {"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../src/escalation/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAqC,KAAK,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAEnH,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,SAAS,CAIpD,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,gBAAgB,CAAC;AACpE,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;AAE5D,8DAA8D;AAC9D,wBAAgB,eAAe,CAC7B,GAAG,EAAE,cAAc,EACnB,IAAI,EAAE,SAAS,EACf,MAAM,EAAE,cAAc,GACrB,IAAI,CAEN;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,GAAG,SAAS,CAEjD;AAED;;;;yEAIyE;AACzE,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,GAAG,OAAO,CAEpE;AAED,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,QAAQ,EAAE,SAAS,CAAC;IACpB,WAAW,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,QAAQ,GAAG,SAAS,CAAC;IACvD,gBAAgB,EAAE,cAAc,CAAC;IACjC,kBAAkB,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,OAAO,CAAC;IAC3C;0FACsF;IACtF,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,SAAS,GAAG,SAAS,CAAC;IACjD,oBAAoB,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,CAAC,CAAC;IACjD,IAAI,EAAE,CAAC,QAAQ,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACzC;;;;gGAI4F;IAC5F,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,SAAS,GAAG,MAAM,CAAC;IAE7B;;;4EAGwE;IACxE,aAAa,EAAE,OAAO,CAAC;IACvB,sGAAsG;IACtG,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;2EACuE;IACvE,wBAAwB,CAAC,EAAE,SAAS,CAAC;IAErC,8DAA8D;IAC9D,eAAe,EAAE,OAAO,CAAC;IACzB,yFAAyF;IACzF,iBAAiB,CAAC,EAAE,cAAc,CAAC;IACnC;wFACoF;IACpF,2BAA2B,CAAC,EAAE,SAAS,CAAC;IAExC;;uGAEmG;IACnG,yBAAyB,CAAC,EAAE,cAAc,CAAC;IAE3C;0DACsD;IACtD,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,+DAA+D;IAC/D,YAAY,CAAC,EAAE,iBAAiB,CAAC;CAClC;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,KAAK,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC7B,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAuVnC;AAED;;;;;;;;oBAQoB;AACpB,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAexF;AAED,wBAAgB,wBAAwB,CACtC,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GACrB,OAAO,CAET"}
@@ -1,3 +1,4 @@
1
+ import { canonicalIdentity, identityEquals } from '../routing/canonical-model-identity.js';
1
2
  export const TRANSPORT_FAILURES = new Set([
2
3
  'api_error',
3
4
  'network_error',
@@ -22,34 +23,134 @@ export function providersIdentical(a, b) {
22
23
  export async function runWithFallback(input) {
23
24
  const { assigned, providerFor, unavailableTiers, isTransportFailure, makeSyntheticFailure, call } = input;
24
25
  const getStatus = input.getStatus ?? (() => undefined);
26
+ const forbidden = input.forbiddenIdentities ?? [];
27
+ // ── Helpers for identity separation ──
28
+ // Returns { skip: true } when the tier should be skipped due to separation.
29
+ // - providerFor throws → { skip: false } (construction failure, NOT separation)
30
+ // - providerFor returns undefined → { skip: false } (unavailable, NOT separation)
31
+ // - canonicalIdentity throws → { skip: true } (fail-closed: provider exists but identity unresolvable)
32
+ // - identity matches forbiddenIdentities → { skip: true }
33
+ // - identity differs → { skip: false, identity }
34
+ const checkSeparation = (tier) => {
35
+ if (forbidden.length === 0)
36
+ return { skip: false };
37
+ let p;
38
+ try {
39
+ p = providerFor(tier);
40
+ }
41
+ catch {
42
+ return { skip: false };
43
+ }
44
+ if (!p)
45
+ return { skip: false };
46
+ try {
47
+ const id = canonicalIdentity(p.config);
48
+ if (forbidden.some(f => identityEquals(f, id)))
49
+ return { skip: true, identity: id };
50
+ return { skip: false, identity: id };
51
+ }
52
+ catch {
53
+ // Identity unresolvable on a successfully-constructed provider: fail closed.
54
+ return { skip: true };
55
+ }
56
+ };
57
+ const resolveProviderIdentity = (tier) => {
58
+ let p;
59
+ try {
60
+ p = providerFor(tier);
61
+ }
62
+ catch {
63
+ return null;
64
+ }
65
+ if (!p)
66
+ return null;
67
+ try {
68
+ return canonicalIdentity(p.config);
69
+ }
70
+ catch {
71
+ return null;
72
+ }
73
+ };
74
+ // ── Resolve assigned identity (before any availability checks) ──
75
+ const assignedIdentity = resolveProviderIdentity(assigned) ?? undefined;
25
76
  // ── Step 1: resolve assigned tier (sticky check first, then not-configured) ──
26
77
  let usedTier = assigned;
27
78
  let fallbackFired = false;
28
79
  let fallbackReason;
29
80
  let assignedUnavailableReason;
81
+ let skippedDueToSeparation = false;
82
+ let usedIdentity = assignedIdentity;
30
83
  if (unavailableTiers.has(assigned)) {
31
84
  assignedUnavailableReason = unavailableTiers.get(assigned);
32
85
  fallbackReason = assignedUnavailableReason;
33
86
  }
34
- else if (providerFor(assigned) === undefined) {
35
- markUnavailable(unavailableTiers, assigned, 'not_configured');
36
- assignedUnavailableReason = 'not_configured';
37
- fallbackReason = 'not_configured';
87
+ else {
88
+ let assignedProvider;
89
+ try {
90
+ assignedProvider = providerFor(assigned);
91
+ }
92
+ catch { /* construction failure → treat as unavailable below */ }
93
+ if (assignedProvider === undefined) {
94
+ markUnavailable(unavailableTiers, assigned, 'not_configured');
95
+ assignedUnavailableReason = 'not_configured';
96
+ fallbackReason = 'not_configured';
97
+ }
98
+ else {
99
+ const sep = checkSeparation(assigned);
100
+ if (sep.skip) {
101
+ skippedDueToSeparation = true;
102
+ fallbackReason = 'not_configured';
103
+ }
104
+ else if (sep.identity) {
105
+ usedIdentity = sep.identity;
106
+ }
107
+ }
38
108
  }
39
109
  if (fallbackReason !== undefined) {
40
- // Assigned is unavailable up-front. Try the alt tier.
110
+ // Assigned is unavailable up-front (or forbidden). Try the alt tier.
41
111
  const alt = otherTier(assigned);
42
112
  let altUnavailableReason;
43
113
  if (unavailableTiers.has(alt)) {
44
114
  altUnavailableReason = unavailableTiers.get(alt);
45
115
  }
46
- else if (providerFor(alt) === undefined) {
47
- markUnavailable(unavailableTiers, alt, 'not_configured');
48
- altUnavailableReason = 'not_configured';
116
+ else {
117
+ let altProv;
118
+ try {
119
+ altProv = providerFor(alt);
120
+ }
121
+ catch { /* construction failure */ }
122
+ if (altProv === undefined) {
123
+ markUnavailable(unavailableTiers, alt, 'not_configured');
124
+ altUnavailableReason = 'not_configured';
125
+ }
126
+ else {
127
+ const altSep = checkSeparation(alt);
128
+ if (altSep.skip) {
129
+ skippedDueToSeparation = true;
130
+ altUnavailableReason = 'not_configured';
131
+ }
132
+ else if (altSep.identity) {
133
+ usedIdentity = altSep.identity;
134
+ }
135
+ }
49
136
  }
50
137
  if (altUnavailableReason !== undefined) {
51
- // Both unavailable up-front. Report the BLOCKING tier's reason (the alt's, since
52
- // the alt is what we actually tried to use — round-1 audit C4 fix).
138
+ // Both unavailable up-front. If separation was the blocking reason for
139
+ // either tier, emit the separation error code.
140
+ if (skippedDueToSeparation) {
141
+ return {
142
+ result: makeSyntheticFailure(assigned),
143
+ usedTier: 'none',
144
+ fallbackFired: false,
145
+ bothUnavailable: true,
146
+ fallbackReason,
147
+ assignedUnavailableReason,
148
+ unavailableReason: altUnavailableReason,
149
+ fallbackSeparationRespected: true,
150
+ assignedIdentity,
151
+ usedIdentity: undefined,
152
+ };
153
+ }
53
154
  return {
54
155
  result: makeSyntheticFailure(assigned),
55
156
  usedTier: 'none',
@@ -64,10 +165,63 @@ export async function runWithFallback(input) {
64
165
  fallbackFired = true;
65
166
  }
66
167
  // ── Step 4: call the chosen provider ──
67
- const provider = providerFor(usedTier);
168
+ let provider;
169
+ try {
170
+ provider = providerFor(usedTier);
171
+ }
172
+ catch {
173
+ // providerFor threw — construction failure on the chosen tier.
174
+ // If fallback hasn't fired yet, try alt; otherwise both exhausted.
175
+ if (!fallbackFired) {
176
+ const alt = otherTier(usedTier);
177
+ fallbackFired = true;
178
+ usedTier = alt;
179
+ try {
180
+ provider = providerFor(alt);
181
+ }
182
+ catch {
183
+ return {
184
+ result: makeSyntheticFailure(assigned),
185
+ usedTier: 'none',
186
+ fallbackFired: true,
187
+ bothUnavailable: true,
188
+ fallbackReason: 'not_configured',
189
+ assignedUnavailableReason,
190
+ unavailableReason: 'not_configured',
191
+ ...(forbidden.length > 0 ? {
192
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
193
+ assignedIdentity,
194
+ usedIdentity: undefined,
195
+ } : {}),
196
+ };
197
+ }
198
+ }
199
+ else {
200
+ return {
201
+ result: makeSyntheticFailure(assigned),
202
+ usedTier: 'none',
203
+ fallbackFired: true,
204
+ bothUnavailable: true,
205
+ fallbackReason,
206
+ assignedUnavailableReason,
207
+ unavailableReason: 'not_configured',
208
+ ...(forbidden.length > 0 ? {
209
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
210
+ assignedIdentity,
211
+ usedIdentity: undefined,
212
+ } : {}),
213
+ };
214
+ }
215
+ }
68
216
  const result = await call(provider);
69
217
  if (!isTransportFailure(result)) {
70
- // Success (or non-transport failure passed through) return current state.
218
+ // Resolve usedIdentity from the actually-used provider if not already set
219
+ if (!usedIdentity) {
220
+ try {
221
+ usedIdentity = canonicalIdentity(provider.config) ?? undefined;
222
+ }
223
+ catch { /* leave undefined */ }
224
+ }
71
225
  return {
72
226
  result,
73
227
  usedTier,
@@ -75,11 +229,22 @@ export async function runWithFallback(input) {
75
229
  fallbackReason,
76
230
  assignedUnavailableReason,
77
231
  bothUnavailable: false,
232
+ ...(forbidden.length > 0 ? {
233
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
234
+ assignedIdentity,
235
+ usedIdentity,
236
+ } : {}),
78
237
  };
79
238
  }
80
239
  // Transport failure on the called tier. Capture the original triggering status.
81
240
  const calledStatus = getStatus(result);
82
241
  markUnavailable(unavailableTiers, usedTier, 'transport_failure');
242
+ if (!usedIdentity) {
243
+ try {
244
+ usedIdentity = canonicalIdentity(provider.config) ?? undefined;
245
+ }
246
+ catch { /* leave undefined */ }
247
+ }
83
248
  // If the called tier WAS the alt (i.e. we already substituted before calling),
84
249
  // there's no further alt to try; we've burned both options.
85
250
  if (fallbackFired) {
@@ -93,6 +258,11 @@ export async function runWithFallback(input) {
93
258
  bothUnavailable: true,
94
259
  unavailableReason: 'transport_failure',
95
260
  unavailableTriggeringStatus: calledStatus,
261
+ ...(forbidden.length > 0 ? {
262
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
263
+ assignedIdentity,
264
+ usedIdentity,
265
+ } : {}),
96
266
  };
97
267
  }
98
268
  // The assigned tier just failed in this call. Promote to fallback path.
@@ -107,25 +277,49 @@ export async function runWithFallback(input) {
107
277
  // rework attempt should still be allowed to try.
108
278
  const altProviderForSameCheck = providerFor(altOfUsed);
109
279
  if (altProviderForSameCheck !== undefined && providersIdentical(provider, altProviderForSameCheck)) {
280
+ // Also check if the same-provider situation constitutes a separation violation
281
+ const sameProviderSep = forbidden.length > 0 ? checkSeparation(usedTier) : { skip: false };
110
282
  return {
111
283
  result,
112
284
  usedTier,
113
285
  fallbackFired: false,
114
286
  bothUnavailable: false,
287
+ ...(forbidden.length > 0 ? {
288
+ fallbackSeparationRespected: sameProviderSep.skip || skippedDueToSeparation || undefined,
289
+ assignedIdentity,
290
+ usedIdentity,
291
+ } : {}),
115
292
  };
116
293
  }
117
- // Check alt availability (sticky first, then not-configured)
294
+ // Check alt availability (sticky first, then not-configured, then separation)
118
295
  let altUnavailableReason;
296
+ let altSeparation = false;
119
297
  if (unavailableTiers.has(altOfUsed)) {
120
298
  altUnavailableReason = unavailableTiers.get(altOfUsed);
121
299
  }
122
- else if (providerFor(altOfUsed) === undefined) {
123
- markUnavailable(unavailableTiers, altOfUsed, 'not_configured');
124
- altUnavailableReason = 'not_configured';
300
+ else {
301
+ let altProv2;
302
+ try {
303
+ altProv2 = providerFor(altOfUsed);
304
+ }
305
+ catch { /* construction failure */ }
306
+ if (altProv2 === undefined) {
307
+ markUnavailable(unavailableTiers, altOfUsed, 'not_configured');
308
+ altUnavailableReason = 'not_configured';
309
+ }
310
+ else {
311
+ const altSep = checkSeparation(altOfUsed);
312
+ if (altSep.skip) {
313
+ altSeparation = true;
314
+ altUnavailableReason = 'not_configured';
315
+ }
316
+ else if (altSep.identity) {
317
+ usedIdentity = altSep.identity;
318
+ }
319
+ }
125
320
  }
126
321
  if (altUnavailableReason !== undefined) {
127
322
  // Both unavailable mid-call — assigned called and failed; alt unreachable.
128
- // Return the actual failed result (not synthetic) per Spec Section D step 4b.
129
323
  return {
130
324
  result,
131
325
  usedTier,
@@ -134,11 +328,42 @@ export async function runWithFallback(input) {
134
328
  fallbackTriggeringStatus,
135
329
  bothUnavailable: true,
136
330
  unavailableReason: altUnavailableReason,
331
+ ...(forbidden.length > 0 ? {
332
+ fallbackSeparationRespected: altSeparation || skippedDueToSeparation || undefined,
333
+ assignedIdentity,
334
+ usedIdentity,
335
+ } : {}),
137
336
  };
138
337
  }
139
338
  // Try alt.
140
- const altProvider = providerFor(altOfUsed);
339
+ let altProvider;
340
+ try {
341
+ altProvider = providerFor(altOfUsed);
342
+ }
343
+ catch {
344
+ return {
345
+ result,
346
+ usedTier,
347
+ fallbackFired: true,
348
+ fallbackReason,
349
+ fallbackTriggeringStatus,
350
+ bothUnavailable: true,
351
+ unavailableReason: 'not_configured',
352
+ ...(forbidden.length > 0 ? {
353
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
354
+ assignedIdentity,
355
+ usedIdentity,
356
+ } : {}),
357
+ };
358
+ }
141
359
  const altResult = await call(altProvider);
360
+ // Resolve usedIdentity from the alt provider if not already set
361
+ if (!usedIdentity) {
362
+ try {
363
+ usedIdentity = canonicalIdentity(altProvider.config) ?? undefined;
364
+ }
365
+ catch { /* leave undefined */ }
366
+ }
142
367
  const altStatus = getStatus(altResult);
143
368
  if (isTransportFailure(altResult)) {
144
369
  // Both transport-failed mid-call — preserve BOTH triggering statuses.
@@ -152,6 +377,11 @@ export async function runWithFallback(input) {
152
377
  bothUnavailable: true,
153
378
  unavailableReason: 'transport_failure',
154
379
  unavailableTriggeringStatus: altStatus, // alt's failure status (final state)
380
+ ...(forbidden.length > 0 ? {
381
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
382
+ assignedIdentity,
383
+ usedIdentity,
384
+ } : {}),
155
385
  };
156
386
  }
157
387
  // Alt succeeded.
@@ -162,6 +392,11 @@ export async function runWithFallback(input) {
162
392
  fallbackReason,
163
393
  fallbackTriggeringStatus, // assigned's failure status (root cause)
164
394
  bothUnavailable: false,
395
+ ...(forbidden.length > 0 ? {
396
+ fallbackSeparationRespected: skippedDueToSeparation || undefined,
397
+ assignedIdentity,
398
+ usedIdentity,
399
+ } : {}),
165
400
  };
166
401
  }
167
402
  /** Lifecycle helper: builds the synthetic RunResult expected when both tiers are
@@ -182,7 +417,7 @@ export function makeSyntheticRunResult(assigned, errorCode) {
182
417
  errorCode,
183
418
  retryable: false,
184
419
  turns: 0,
185
- usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: 0, savedCostUSD: 0 },
420
+ usage: { inputTokens: 0, outputTokens: 0, totalTokens: 0, costUSD: 0, costDeltaVsParentUSD: 0, cachedTokens: null, reasoningTokens: null },
186
421
  filesRead: [],
187
422
  filesWritten: [],
188
423
  toolCalls: [],
@@ -1 +1 @@
1
- {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/escalation/fallback.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../src/escalation/fallback.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/executors/audit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA+GtD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,CAAC,CAiHtB"}
1
+ {"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/executors/audit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA+GtD,MAAM,WAAW,WAAY,SAAQ,cAAc;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,wBAAsB,YAAY,CAChC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,WAAW,CAAC,CAmHtB"}