@claudexor/orchestrator 3.10.4 → 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 (114) hide show
  1. package/dist/attemptTelemetry.d.ts +2 -1
  2. package/dist/attemptTelemetry.d.ts.map +1 -1
  3. package/dist/attemptTelemetry.js +11 -0
  4. package/dist/attemptTelemetry.js.map +1 -1
  5. package/dist/attemptUsage.d.ts.map +1 -1
  6. package/dist/attemptUsage.js +2 -1
  7. package/dist/attemptUsage.js.map +1 -1
  8. package/dist/attemptUsageCost.d.ts +1 -1
  9. package/dist/attemptUsageCost.d.ts.map +1 -1
  10. package/dist/attemptUsageCost.js +19 -110
  11. package/dist/attemptUsageCost.js.map +1 -1
  12. package/dist/candidateEvidence.d.ts +8 -0
  13. package/dist/candidateEvidence.d.ts.map +1 -1
  14. package/dist/candidateEvidence.js +22 -4
  15. package/dist/candidateEvidence.js.map +1 -1
  16. package/dist/candidateOutputs.d.ts +6 -0
  17. package/dist/candidateOutputs.d.ts.map +1 -1
  18. package/dist/candidateOutputs.js +6 -1
  19. package/dist/candidateOutputs.js.map +1 -1
  20. package/dist/candidateReview.d.ts +2 -0
  21. package/dist/candidateReview.d.ts.map +1 -1
  22. package/dist/candidateReview.js +27 -3
  23. package/dist/candidateReview.js.map +1 -1
  24. package/dist/candidateTerminals.d.ts +34 -0
  25. package/dist/candidateTerminals.d.ts.map +1 -0
  26. package/dist/candidateTerminals.js +183 -0
  27. package/dist/candidateTerminals.js.map +1 -0
  28. package/dist/continuity-facts.d.ts +4 -1
  29. package/dist/continuity-facts.d.ts.map +1 -1
  30. package/dist/continuity-facts.js +3 -0
  31. package/dist/continuity-facts.js.map +1 -1
  32. package/dist/continuity-summary.d.ts +7 -2
  33. package/dist/continuity-summary.d.ts.map +1 -1
  34. package/dist/continuity-summary.js +19 -2
  35. package/dist/continuity-summary.js.map +1 -1
  36. package/dist/deepScanOutput.d.ts +19 -0
  37. package/dist/deepScanOutput.d.ts.map +1 -0
  38. package/dist/deepScanOutput.js +38 -0
  39. package/dist/deepScanOutput.js.map +1 -0
  40. package/dist/deepScanReducer.d.ts +2 -17
  41. package/dist/deepScanReducer.d.ts.map +1 -1
  42. package/dist/deepScanReducer.js +19 -40
  43. package/dist/deepScanReducer.js.map +1 -1
  44. package/dist/delegationBelt.d.ts +9 -0
  45. package/dist/delegationBelt.d.ts.map +1 -0
  46. package/dist/delegationBelt.js +54 -0
  47. package/dist/delegationBelt.js.map +1 -0
  48. package/dist/delegationBudgetAuthority.d.ts +1 -1
  49. package/dist/delegationBudgetAuthority.d.ts.map +1 -1
  50. package/dist/delegationBudgetAuthority.js.map +1 -1
  51. package/dist/directoryCandidate.d.ts +75 -0
  52. package/dist/directoryCandidate.d.ts.map +1 -0
  53. package/dist/directoryCandidate.js +171 -0
  54. package/dist/directoryCandidate.js.map +1 -0
  55. package/dist/git-precondition.d.ts +2 -0
  56. package/dist/git-precondition.d.ts.map +1 -1
  57. package/dist/git-precondition.js +20 -1
  58. package/dist/git-precondition.js.map +1 -1
  59. package/dist/index.d.ts +1 -0
  60. package/dist/index.d.ts.map +1 -1
  61. package/dist/index.js +1 -0
  62. package/dist/index.js.map +1 -1
  63. package/dist/modelGovernance.d.ts +2 -1
  64. package/dist/modelGovernance.d.ts.map +1 -1
  65. package/dist/modelGovernance.js +33 -2
  66. package/dist/modelGovernance.js.map +1 -1
  67. package/dist/orchestrator.d.ts +8 -33
  68. package/dist/orchestrator.d.ts.map +1 -1
  69. package/dist/orchestrator.js +468 -513
  70. package/dist/orchestrator.js.map +1 -1
  71. package/dist/plannerAttempt.d.ts +1 -1
  72. package/dist/plannerAttempt.d.ts.map +1 -1
  73. package/dist/plannerAttempt.js +17 -2
  74. package/dist/plannerAttempt.js.map +1 -1
  75. package/dist/policyFindings.d.ts +2 -0
  76. package/dist/policyFindings.d.ts.map +1 -1
  77. package/dist/policyFindings.js +11 -1
  78. package/dist/policyFindings.js.map +1 -1
  79. package/dist/processing-dispatch.d.ts +25 -0
  80. package/dist/processing-dispatch.d.ts.map +1 -0
  81. package/dist/processing-dispatch.js +122 -0
  82. package/dist/processing-dispatch.js.map +1 -0
  83. package/dist/processing-routing.d.ts +9 -0
  84. package/dist/processing-routing.d.ts.map +1 -0
  85. package/dist/processing-routing.js +86 -0
  86. package/dist/processing-routing.js.map +1 -0
  87. package/dist/processing-telemetry.d.ts +11 -0
  88. package/dist/processing-telemetry.d.ts.map +1 -0
  89. package/dist/processing-telemetry.js +31 -0
  90. package/dist/processing-telemetry.js.map +1 -0
  91. package/dist/reviewerPanel.d.ts.map +1 -1
  92. package/dist/reviewerPanel.js +12 -9
  93. package/dist/reviewerPanel.js.map +1 -1
  94. package/dist/root-ledger.d.ts.map +1 -1
  95. package/dist/root-ledger.js +2 -1
  96. package/dist/root-ledger.js.map +1 -1
  97. package/dist/runFactsBuilder.d.ts.map +1 -1
  98. package/dist/runFactsBuilder.js +23 -10
  99. package/dist/runFactsBuilder.js.map +1 -1
  100. package/dist/runFactsDeliverable.d.ts.map +1 -1
  101. package/dist/runFactsDeliverable.js +14 -1
  102. package/dist/runFactsDeliverable.js.map +1 -1
  103. package/dist/runFactsPresentation.d.ts.map +1 -1
  104. package/dist/runFactsPresentation.js +1 -0
  105. package/dist/runFactsPresentation.js.map +1 -1
  106. package/dist/runSupport.d.ts +1 -1
  107. package/dist/runTerminalResults.d.ts.map +1 -1
  108. package/dist/runTerminalResults.js +14 -6
  109. package/dist/runTerminalResults.js.map +1 -1
  110. package/dist/task-contract-builder.d.ts +2 -1
  111. package/dist/task-contract-builder.d.ts.map +1 -1
  112. package/dist/task-contract-builder.js +1 -0
  113. package/dist/task-contract-builder.js.map +1 -1
  114. package/package.json +17 -17
@@ -59,7 +59,7 @@ export interface PreparedPlannerAttempt {
59
59
  * fields; this module owns the planner lease, stream, telemetry, and outcome. */
60
60
  export interface PlannerAttemptDeps {
61
61
  prepare(args: PlannerAttemptArgs): Promise<PreparedPlannerAttempt>;
62
- billingKnowledge(input: RunInput, harnessId: string): "metered" | "unknown";
62
+ billingKnowledge(input: RunInput, harnessId: string): "metered" | "subscription_entitlement" | "unknown";
63
63
  inactivityTimeoutMs(repoRoot: string): number;
64
64
  quotaEventSink?: (harnessId: string, event: HarnessEvent) => void;
65
65
  }
@@ -1 +1 @@
1
- {"version":3,"file":"plannerAttempt.d.ts","sourceRoot":"","sources":["../src/plannerAttempt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plannerAttempt.d.ts","sourceRoot":"","sources":["../src/plannerAttempt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { bindProcessingAdmission, updateProcessingStreamHold, ProcessingBudgetAdmissionError, } from "./processing-dispatch.js";
1
2
  import { join } from "node:path";
3
+ import { processingCostEvidence } from "./processing-routing.js";
2
4
  import { attemptCostEvidence } from "@claudexor/budget";
3
5
  import { AnswerAssembly, countsAsAgentProgress, withInactivityWatchdog, } from "@claudexor/core";
4
6
  import { appendLine, redactSecrets, safeInvoke } from "@claudexor/util";
@@ -16,7 +18,7 @@ export async function runPlannerAttempt(deps, args) {
16
18
  attemptId,
17
19
  intent: args.intent,
18
20
  harnessId: adapter.id,
19
- cost: attemptCostEvidence(adapter.id, attemptId, args.reservationEstimateUsd, deps.billingKnowledge(input, adapter.id)),
21
+ cost: attemptCostEvidence(adapter.id, attemptId, args.reservationEstimateUsd, deps.billingKnowledge(input, adapter.id), processingCostEvidence(routed.processing, "unknown", [`harness:${adapter.id}`])),
20
22
  });
21
23
  if (!lease.granted) {
22
24
  log.emit("budget.lease.created", {
@@ -78,6 +80,7 @@ export async function runPlannerAttempt(deps, args) {
78
80
  };
79
81
  }
80
82
  const { knobs, spec, plannerAbort, planInteraction, planWorkMode, attemptEventsPath, answer, telemetry, } = preparation.value;
83
+ bindProcessingAdmission(spec, ledger, lease.lease.lease_id, adapter.id, attemptId);
81
84
  const onAbort = () => {
82
85
  void adapter.cancel?.(spec.session_id)?.catch(() => { });
83
86
  };
@@ -90,6 +93,7 @@ export async function runPlannerAttempt(deps, args) {
90
93
  let cost = 0;
91
94
  let costEstimated = false;
92
95
  let harnessError = null;
96
+ let processingDenial = null;
93
97
  const budgetSignalState = { quotaPressureDisclosed: false };
94
98
  try {
95
99
  log.emit("harness.started", {
@@ -141,6 +145,14 @@ export async function runPlannerAttempt(deps, args) {
141
145
  estimated: safeEv.usage.estimated === true,
142
146
  });
143
147
  }
148
+ const streamDenial = updateProcessingStreamHold(spec, telemetry.usageCost, ledger, lease.lease.lease_id, adapter.id, attemptId);
149
+ if (streamDenial) {
150
+ processingDenial = streamDenial;
151
+ harnessError = streamDenial.reason;
152
+ plannerAbort.abort();
153
+ void adapter.cancel?.(spec.session_id)?.catch(() => { });
154
+ break;
155
+ }
144
156
  answer.observe(safeEv);
145
157
  if (safeEv.type === "error")
146
158
  harnessError = safeEv.error ? redactSecrets(safeEv.error) : "harness emitted an error";
@@ -149,6 +161,8 @@ export async function runPlannerAttempt(deps, args) {
149
161
  }
150
162
  catch (error) {
151
163
  harnessError = safeErrorMessage(error);
164
+ if (error instanceof ProcessingBudgetAdmissionError)
165
+ processingDenial = error.denial;
152
166
  }
153
167
  finally {
154
168
  input.signal?.removeEventListener("abort", onAbort);
@@ -216,7 +230,8 @@ export async function runPlannerAttempt(deps, args) {
216
230
  reportProblem: planUnwrapped.reportProblem,
217
231
  text: hasPlanText ? planText : null,
218
232
  telemetry,
219
- budgetDenied: false,
233
+ budgetDenied: processingDenial !== null,
234
+ ...(processingDenial ? { budgetDenial: processingDenial } : {}),
220
235
  };
221
236
  }
222
237
  const text = planText || "(no output)";
@@ -1 +1 @@
1
- {"version":3,"file":"plannerAttempt.js","sourceRoot":"","sources":["../src/plannerAttempt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plannerAttempt.js","sourceRoot":"","sources":["../src/plannerAttempt.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { ProtectedPathApproval, ReviewFinding } from "@claudexor/schema";
2
+ import { type DirectoryCandidate } from "./directoryCandidate.js";
2
3
  /**
3
4
  * Deterministic policy findings from the typed diff (no LLM, no regex over
4
5
  * prose): protected-path changes and critical-risk diffs escalate NEEDS_HUMAN;
@@ -7,6 +8,7 @@ import type { ProtectedPathApproval, ReviewFinding } from "@claudexor/schema";
7
8
  */
8
9
  export declare function policyFindings(run: {
9
10
  diff: string;
11
+ files?: DirectoryCandidate;
10
12
  }, reviewVerified: boolean, protectedPaths?: string[], autoProtectedPaths?: string[], protectedPathApprovals?: ProtectedPathApproval[], denyPaths?: string[], reviewRequested?: boolean): {
11
13
  findings: ReviewFinding[];
12
14
  risk: {
@@ -1 +1 @@
1
- {"version":3,"file":"policyFindings.d.ts","sourceRoot":"","sources":["../src/policyFindings.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAI9E;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACrB,cAAc,EAAE,OAAO,EACvB,cAAc,GAAE,MAAM,EAAO,EAC7B,kBAAkB,GAAE,MAAM,EAAO,EACjC,sBAAsB,GAAE,qBAAqB,EAAO,EACpD,SAAS,GAAE,MAAM,EAAO,EACxB,eAAe,UAAO,GACrB;IACD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAyKA"}
1
+ {"version":3,"file":"policyFindings.d.ts","sourceRoot":"","sources":["../src/policyFindings.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG9E,OAAO,EAA2B,KAAK,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE3F;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,kBAAkB,CAAA;CAAE,EACjD,cAAc,EAAE,OAAO,EACvB,cAAc,GAAE,MAAM,EAAO,EAC7B,kBAAkB,GAAE,MAAM,EAAO,EACjC,sBAAsB,GAAE,qBAAqB,EAAO,EACpD,SAAS,GAAE,MAAM,EAAO,EACxB,eAAe,UAAO,GACrB;IACD,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;CAClE,CAkLA"}
@@ -3,6 +3,7 @@ import { classifyRisk, DEFAULT_REQUIRE_HUMAN_PATHS, requireHuman, reviewDepthFor
3
3
  import { summarizeDiffPaths as diffStats } from "@claudexor/core";
4
4
  import { ReviewFinding as ReviewFindingSchema } from "@claudexor/schema";
5
5
  import { newId } from "@claudexor/util";
6
+ import { directoryChangedEntries } from "./directoryCandidate.js";
6
7
  /**
7
8
  * Deterministic policy findings from the typed diff (no LLM, no regex over
8
9
  * prose): protected-path changes and critical-risk diffs escalate NEEDS_HUMAN;
@@ -10,7 +11,16 @@ import { newId } from "@claudexor/util";
10
11
  * finding cites the matched files as evidence (BIBLE: evidence beats summaries).
11
12
  */
12
13
  export function policyFindings(run, reviewVerified, protectedPaths = [], autoProtectedPaths = [], protectedPathApprovals = [], denyPaths = [], reviewRequested = true) {
13
- const stats = diffStats(run.diff);
14
+ const changes = run.files ? directoryChangedEntries(run.files.manifest) : null;
15
+ const stats = changes
16
+ ? {
17
+ paths: changes.map((entry) => entry.path),
18
+ touchedPaths: changes.map((entry) => entry.path),
19
+ existingPaths: changes.filter((entry) => entry.before !== null).map((entry) => entry.path),
20
+ additions: 0,
21
+ deletions: 0,
22
+ }
23
+ : diffStats(run.diff);
14
24
  // Path policy gates match stats.touchedPaths — the one owner of "what the
15
25
  // diff touches" (core diff.ts, G1 class); a gate matching a narrower
16
26
  // projection is an EXPLICIT decision, never an accident. deny_paths: ANY
@@ -1 +1 @@
1
- {"version":3,"file":"policyFindings.js","sourceRoot":"","sources":["../src/policyFindings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"policyFindings.js","sourceRoot":"","sources":["../src/policyFindings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { BudgetLedger } from "@claudexor/budget";
2
+ import type { ProcessingAdmission } from "@claudexor/core";
3
+ import type { HarnessRunSpec } from "@claudexor/schema";
4
+ import type { ReviewerSpec } from "@claudexor/review";
5
+ import type { AttemptUsageCost } from "./attemptUsageCost.js";
6
+ import type { BudgetDenial } from "./budgetFailure.js";
7
+ /** A budget refusal before native dispatch, never an adapter or auth failure. */
8
+ export declare class ProcessingBudgetAdmissionError extends Error {
9
+ readonly denial: BudgetDenial;
10
+ readonly retryable = false;
11
+ readonly category = "budget";
12
+ readonly code: BudgetDenial["code"];
13
+ constructor(denial: BudgetDenial);
14
+ }
15
+ /** Bind once when the logical lease and spec meet. Copies/retries preserve the
16
+ * callback, which receives each actual prepared profile/model before spawn. */
17
+ export declare function processingAdmissionForLease(ledger: BudgetLedger, leaseId: string, harnessId: string, attemptId: string | null, onDenied?: (denial: BudgetDenial) => void): ProcessingAdmission;
18
+ export declare function bindProcessingAdmission(spec: HarnessRunSpec, ledger: BudgetLedger, leaseId: string, harnessId: string, attemptId: string | null, onDenied?: (denial: BudgetDenial) => void, admission?: ProcessingAdmission): ProcessingAdmission;
19
+ /** One panel owns one lease. A later slot must not erase another slot's paid
20
+ * prospective class; observed panel hold/debt stays in the same ledger. */
21
+ export declare function reviewerProcessingAdmission(ledger: BudgetLedger, leaseId: string, reviewers: ReviewerSpec[], attemptId: string | null, onDenied?: (denial: BudgetDenial) => void): (index: number, spec: HarnessRunSpec) => void;
22
+ /** Streamed amounts share the same lease as admission. Included subscription
23
+ * valuation never becomes a paid hold; unresolved potentially paid amounts do. */
24
+ export declare function updateProcessingStreamHold(spec: HarnessRunSpec, usage: AttemptUsageCost, ledger: BudgetLedger, leaseId: string, harnessId: string, attemptId: string): BudgetDenial | null;
25
+ //# sourceMappingURL=processing-dispatch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing-dispatch.d.ts","sourceRoot":"","sources":["../src/processing-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGvD,iFAAiF;AACjF,qBAAa,8BAA+B,SAAQ,KAAK;IAI3C,QAAQ,CAAC,MAAM,EAAE,YAAY;IAHzC,QAAQ,CAAC,SAAS,SAAS;IAC3B,QAAQ,CAAC,QAAQ,YAAY;IAC7B,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACpC,YAAqB,MAAM,EAAE,YAAY,EAIxC;CACF;AAyDD;+EAC+E;AAC/E,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GACxC,mBAAmB,CAKrB;AAED,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,EACzC,SAAS,CAAC,EAAE,mBAAmB,GAC9B,mBAAmB,CAMrB;AAED;2EAC2E;AAC3E,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,YAAY,EAAE,EACzB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,GACxC,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,KAAK,IAAI,CAgC/C;AAED;kFACkF;AAClF,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,gBAAgB,EACvB,MAAM,EAAE,YAAY,EACpB,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB,YAAY,GAAG,IAAI,CAarB"}
@@ -0,0 +1,122 @@
1
+ import { processingCostEvidence } from "./processing-routing.js";
2
+ /** A budget refusal before native dispatch, never an adapter or auth failure. */
3
+ export class ProcessingBudgetAdmissionError extends Error {
4
+ denial;
5
+ retryable = false;
6
+ category = "budget";
7
+ code;
8
+ constructor(denial) {
9
+ super(denial.reason);
10
+ this.denial = denial;
11
+ this.code = denial.code;
12
+ this.name = "ProcessingBudgetAdmissionError";
13
+ }
14
+ }
15
+ function preparedCost(spec, harnessId) {
16
+ if (!spec.processing || !spec.processing_cost_basis)
17
+ return undefined;
18
+ // A concrete profile on the prepared spec is authoritative. The extra is
19
+ // only a resolver/fallback for routes that have no profile identity yet.
20
+ const profileBilling = spec.credential_profile?.credential_kind === "api_key"
21
+ ? "metered"
22
+ : spec.credential_profile
23
+ ? "subscription_entitlement"
24
+ : undefined;
25
+ const resolver = spec.extra["routeBillingKnowledge"];
26
+ const resolved = profileBilling ??
27
+ (typeof resolver === "function"
28
+ ? resolver(spec)
29
+ : resolver);
30
+ const ordinary = resolved === "metered" || resolved === "subscription_entitlement" || resolved === "unknown"
31
+ ? resolved
32
+ : spec.credential_profile?.credential_kind === "api_key"
33
+ ? "metered"
34
+ : spec.credential_profile
35
+ ? "subscription_entitlement"
36
+ : spec.auth_preference === "api_key"
37
+ ? "metered"
38
+ : spec.auth_preference === "subscription"
39
+ ? "subscription_entitlement"
40
+ : "unknown";
41
+ return processingCostEvidence({ model: spec.model_hint, receipt: spec.processing, costBasis: spec.processing_cost_basis }, ordinary, [`harness:${harnessId}`, `profile:${spec.credential_profile?.profile_id ?? "default"}`]);
42
+ }
43
+ function reprice(ledger, leaseId, cost, harnessId, attemptId, onDenied) {
44
+ const result = ledger.repriceReservedLease(leaseId, cost);
45
+ if (result.granted)
46
+ return;
47
+ const denial = {
48
+ code: result.denied,
49
+ reason: result.reason,
50
+ harnessId,
51
+ attemptId,
52
+ };
53
+ onDenied?.(denial);
54
+ throw new ProcessingBudgetAdmissionError(denial);
55
+ }
56
+ /** Bind once when the logical lease and spec meet. Copies/retries preserve the
57
+ * callback, which receives each actual prepared profile/model before spawn. */
58
+ export function processingAdmissionForLease(ledger, leaseId, harnessId, attemptId, onDenied) {
59
+ return (actual) => {
60
+ const cost = preparedCost(actual, harnessId);
61
+ if (cost)
62
+ reprice(ledger, leaseId, cost, harnessId, attemptId, onDenied);
63
+ };
64
+ }
65
+ export function bindProcessingAdmission(spec, ledger, leaseId, harnessId, attemptId, onDenied, admission) {
66
+ const bound = admission ?? processingAdmissionForLease(ledger, leaseId, harnessId, attemptId, onDenied);
67
+ spec.extra["processingAdmission"] = bound;
68
+ spec.extra["markPhysicalDispatchStarted"] = () => ledger.markPhysicalDispatchStarted(leaseId);
69
+ return bound;
70
+ }
71
+ /** One panel owns one lease. A later slot must not erase another slot's paid
72
+ * prospective class; observed panel hold/debt stays in the same ledger. */
73
+ export function reviewerProcessingAdmission(ledger, leaseId, reviewers, attemptId, onDenied) {
74
+ const costs = reviewers.map((reviewer) => processingCostEvidence(reviewer.processing, "unknown", [`harness:${reviewer.adapter.id}`]));
75
+ let paidOrUnknownSeen = false;
76
+ return (index, spec) => {
77
+ const current = preparedCost(spec, reviewers[index].adapter.id);
78
+ if (!current)
79
+ return;
80
+ costs[index] = current;
81
+ const currentPaid = current.billing !== "proven_zero" && current.billing !== "subscription_entitlement";
82
+ paidOrUnknownSeen ||= currentPaid;
83
+ // A later included route must not erase the paid/unknown class already
84
+ // admitted for this panel lease. The marker remains until settle/cancel.
85
+ if (!currentPaid && paidOrUnknownSeen)
86
+ return;
87
+ if (!costs.some(Boolean))
88
+ return;
89
+ const included = costs.every((cost) => cost?.billing === "subscription_entitlement" || cost?.billing === "proven_zero");
90
+ const cost = {
91
+ billing: included
92
+ ? "subscription_entitlement"
93
+ : costs.some((c) => c?.billing === "metered")
94
+ ? "metered"
95
+ : "unknown",
96
+ knowledge: included ? "exact" : "unknown",
97
+ estimatedUsd: null,
98
+ source: "review-processing-dispatch",
99
+ provenance: costs.flatMap((c) => c?.provenance ?? ["processing:unknown"]),
100
+ };
101
+ reprice(ledger, leaseId, cost, "review-panel", attemptId, onDenied);
102
+ };
103
+ }
104
+ /** Streamed amounts share the same lease as admission. Included subscription
105
+ * valuation never becomes a paid hold; unresolved potentially paid amounts do. */
106
+ export function updateProcessingStreamHold(spec, usage, ledger, leaseId, harnessId, attemptId) {
107
+ if (!spec.processing)
108
+ return null;
109
+ const amount = usage.cashUsd + (usage.unknownPaidUsd ?? usage.unknownUsd);
110
+ if (!(amount > 0))
111
+ return null;
112
+ ledger.updateHold(leaseId, amount);
113
+ return ledger.tier() === "hard"
114
+ ? {
115
+ code: "hard_cap",
116
+ reason: "The paid budget cap was reached during processing",
117
+ harnessId,
118
+ attemptId,
119
+ }
120
+ : null;
121
+ }
122
+ //# sourceMappingURL=processing-dispatch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing-dispatch.js","sourceRoot":"","sources":["../src/processing-dispatch.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { type PreparedHarnessProcessing } from "@claudexor/core";
2
+ import type { BillingKnowledge, CostEvidence, GlobalConfig, PaidBudget } from "@claudexor/schema";
3
+ import type { RoutedAdapter, RunInput } from "./orchestrator.js";
4
+ import type { ReviewerSpec } from "@claudexor/review";
5
+ export declare function prepareRoutedProcessing(routes: RoutedAdapter[], input: RunInput, cwd: string, config: GlobalConfig, paidBudget: PaidBudget, envFor?: (id: string) => Record<string, string> | undefined): Promise<void>;
6
+ export declare function processingCostEvidence(prepared: PreparedHarnessProcessing | undefined, ordinary: BillingKnowledge, provenance: string[]): CostEvidence | undefined;
7
+ export declare function prepareReviewerProcessing(reviewers: ReviewerSpec[], input: RunInput, config: GlobalConfig, budget: PaidBudget): Promise<ReviewerSpec[]>;
8
+ export declare function reviewerProcessingCost(reviewers: ReviewerSpec[]): CostEvidence | undefined;
9
+ //# sourceMappingURL=processing-routing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing-routing.d.ts","sourceRoot":"","sources":["../src/processing-routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,KAAK,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE3F,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAClG,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,aAAa,EAAE,EACvB,KAAK,EAAE,QAAQ,EACf,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,YAAY,EACpB,UAAU,EAAE,UAAU,EACtB,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC1D,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,yBAAyB,GAAG,SAAS,EAC/C,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,MAAM,EAAE,GACnB,YAAY,GAAG,SAAS,CA0B1B;AAED,wBAAsB,yBAAyB,CAC7C,SAAS,EAAE,YAAY,EAAE,EACzB,KAAK,EAAE,QAAQ,EACf,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,YAAY,EAAE,CAAC,CAyBzB;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,YAAY,EAAE,GAAG,YAAY,GAAG,SAAS,CAmB1F"}
@@ -0,0 +1,86 @@
1
+ import { prepareHarnessProcessing } from "@claudexor/core";
2
+ import { processingBillingKnowledge } from "@claudexor/budget";
3
+ export async function prepareRoutedProcessing(routes, input, cwd, config, paidBudget, envFor) {
4
+ await Promise.all(routes.map(async (route) => {
5
+ if (!input.processingPreference && !route.adapter.prepareProcessing)
6
+ return;
7
+ route.processingAllowPaid =
8
+ config.routing.paid_fallback !== "never" &&
9
+ !(paidBudget.kind === "finite" && paidBudget.maxUsd === 0);
10
+ route.processing = await prepareHarnessProcessing(route.adapter, {
11
+ preference: input.processingPreference,
12
+ model: route.quotaAdmission.model,
13
+ effort: input.efforts?.[route.adapter.id] ?? input.effort ?? route.settings?.effort ?? null,
14
+ cwd,
15
+ env: envFor?.(route.adapter.id),
16
+ credentialProfile: route.quotaAdmission.profile,
17
+ authPreference: input.authPreference,
18
+ allowPaid: route.processingAllowPaid,
19
+ });
20
+ }));
21
+ }
22
+ export function processingCostEvidence(prepared, ordinary, provenance) {
23
+ if (!prepared ||
24
+ prepared.receipt.reason === "processing_control_unavailable" ||
25
+ (prepared.receipt.requested === null &&
26
+ prepared.receipt.submitted === null &&
27
+ prepared.receipt.reason !== "native_explicit" &&
28
+ !prepared.receipt.reason?.startsWith("paid_processing_")))
29
+ return undefined;
30
+ const costBasis = prepared.costBasis.kind === "unknown" &&
31
+ prepared.receipt.submitted === "standard" &&
32
+ ordinary === "subscription_entitlement"
33
+ ? { ...prepared.costBasis, kind: "included" }
34
+ : prepared.costBasis;
35
+ const billing = processingBillingKnowledge(costBasis, ordinary);
36
+ return {
37
+ billing,
38
+ knowledge: billing === "subscription_entitlement" || billing === "proven_zero" ? "exact" : "unknown",
39
+ estimatedUsd: null,
40
+ source: prepared.costBasis.source,
41
+ provenance,
42
+ processing: costBasis,
43
+ };
44
+ }
45
+ export async function prepareReviewerProcessing(reviewers, input, config, budget) {
46
+ return Promise.all(reviewers.map(async (reviewer) => {
47
+ const preference = reviewer.processingPreference ?? input.processingPreference;
48
+ if (!preference && !reviewer.adapter.prepareProcessing)
49
+ return reviewer;
50
+ const allowPaid = config.routing.paid_fallback !== "never" &&
51
+ !(budget.kind === "finite" && budget.maxUsd === 0);
52
+ const processing = await prepareHarnessProcessing(reviewer.adapter, {
53
+ preference,
54
+ model: reviewer.requestedModel ?? null,
55
+ effort: reviewer.requestedEffort ?? null,
56
+ cwd: input.repoRoot,
57
+ credentialProfile: reviewer.credentialProfile,
58
+ authPreference: reviewer.authPreference ?? undefined,
59
+ allowPaid,
60
+ });
61
+ return {
62
+ ...reviewer,
63
+ processingPreference: preference,
64
+ processing,
65
+ processingAllowPaid: allowPaid,
66
+ };
67
+ }));
68
+ }
69
+ export function reviewerProcessingCost(reviewers) {
70
+ if (!reviewers.some((r) => r.processing))
71
+ return undefined;
72
+ const costs = reviewers.map((r) => processingCostEvidence(r.processing, "unknown", [`harness:${r.adapter.id}`]));
73
+ const included = costs.every((c) => c?.billing === "subscription_entitlement" || c?.billing === "proven_zero");
74
+ return {
75
+ billing: included
76
+ ? "subscription_entitlement"
77
+ : costs.some((c) => c?.billing === "metered")
78
+ ? "metered"
79
+ : "unknown",
80
+ knowledge: included ? "exact" : "unknown",
81
+ estimatedUsd: null,
82
+ source: "review-processing-preflight",
83
+ provenance: costs.flatMap((c) => c?.provenance ?? ["processing:unknown"]),
84
+ };
85
+ }
86
+ //# sourceMappingURL=processing-routing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing-routing.js","sourceRoot":"","sources":["../src/processing-routing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { HarnessEvent, ProcessingCostBasis, ProcessingReceipt } from "@claudexor/schema";
2
+ export interface ProcessingTelemetry {
3
+ processing?: ProcessingReceipt;
4
+ processingCostBasis?: ProcessingCostBasis;
5
+ processingIntervals?: ProcessingReceipt[];
6
+ currentProcessing?: ProcessingReceipt;
7
+ }
8
+ /** Adapters own each native session's observations. Preserve completed native
9
+ * retry intervals as well, so a later ordinary run cannot erase paid/mixed work. */
10
+ export declare function observeProcessing(t: ProcessingTelemetry, event: HarnessEvent): void;
11
+ //# sourceMappingURL=processing-telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing-telemetry.d.ts","sourceRoot":"","sources":["../src/processing-telemetry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE9F,MAAM,WAAW,mBAAmB;IAClC,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C,mBAAmB,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC1C,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACvC;AAED;oFACoF;AACpF,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,mBAAmB,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI,CAyBnF"}
@@ -0,0 +1,31 @@
1
+ /** Adapters own each native session's observations. Preserve completed native
2
+ * retry intervals as well, so a later ordinary run cannot erase paid/mixed work. */
3
+ export function observeProcessing(t, event) {
4
+ if (event.type === "started")
5
+ t.currentProcessing = t.processing
6
+ ? { ...t.processing, observed: "unknown", observedNative: [] }
7
+ : undefined;
8
+ if (event.processing)
9
+ t.currentProcessing = event.processing;
10
+ if (event.processing_cost_basis)
11
+ t.processingCostBasis = event.processing_cost_basis;
12
+ const current = t.currentProcessing;
13
+ if (!current)
14
+ return;
15
+ const all = [...(t.processingIntervals ?? []), current];
16
+ const modes = new Set(all.map((receipt) => receipt.observed));
17
+ t.processing = {
18
+ ...current,
19
+ observedNative: [...new Set(all.flatMap((receipt) => receipt.observedNative))],
20
+ observed: modes.has("mixed") || [...modes].filter((mode) => mode !== "unknown").length > 1
21
+ ? "mixed"
22
+ : modes.has("unknown")
23
+ ? "unknown"
24
+ : current.observed,
25
+ };
26
+ if (event.type === "completed") {
27
+ (t.processingIntervals ??= []).push(current);
28
+ t.currentProcessing = undefined;
29
+ }
30
+ }
31
+ //# sourceMappingURL=processing-telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processing-telemetry.js","sourceRoot":"","sources":["../src/processing-telemetry.ts"],"names":[],"mappings":"AASA;oFACoF;AACpF,MAAM,UAAU,iBAAiB,CAAC,CAAsB,EAAE,KAAmB;IAC3E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAC1B,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,UAAU;YAChC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,EAAE,EAAE;YAC9D,CAAC,CAAC,SAAS,CAAC;IAChB,IAAI,KAAK,CAAC,UAAU;QAAE,CAAC,CAAC,iBAAiB,GAAG,KAAK,CAAC,UAAU,CAAC;IAC7D,IAAI,KAAK,CAAC,qBAAqB;QAAE,CAAC,CAAC,mBAAmB,GAAG,KAAK,CAAC,qBAAqB,CAAC;IACrF,MAAM,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO;IACrB,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9D,CAAC,CAAC,UAAU,GAAG;QACb,GAAG,OAAO;QACV,cAAc,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;QAC9E,QAAQ,EACN,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC;YAC9E,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,OAAO,CAAC,QAAQ;KACzB,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7C,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC;IAClC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"reviewerPanel.d.ts","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,cAAc,EAEd,yBAAyB,EACzB,iBAAiB,EACjB,UAAU,EAGV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAC;IACzD,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,cAAc,CAAC;QAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KAC1C,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACxC;;4CAEwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAwED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,yBAAyB,EAAE,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAwMzB;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,0BAA+B,GACzC,OAAO,CAAC,YAAY,EAAE,CAAC,CAqKzB"}
1
+ {"version":3,"file":"reviewerPanel.d.ts","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,cAAc,EAEd,yBAAyB,EACzB,iBAAiB,EACjB,UAAU,EAGV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAKtD,UAAU,oBAAoB;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,GAAG,SAAS,CAAC,CAAC;IAClE,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,cAAc,CAAC;IACzD,gFAAgF;IAChF,sBAAsB,CAAC,EAAE,CAAC,KAAK,EAAE;QAC/B,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;QACrB,cAAc,EAAE,cAAc,CAAC;QAC/B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;QACnC,kBAAkB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KAC1C,KAAK,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC;IACxC;;4CAEwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AAwED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,yBAAyB,EAAE,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAyMzB;AAED,MAAM,WAAW,0BAA0B;IACzC,cAAc,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IACzD,eAAe,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;CAC/D;AAED;;;;;;;;GAQG;AACH,wBAAsB,wBAAwB,CAC5C,IAAI,EAAE,iBAAiB,EACvB,SAAS,GAAE,0BAA+B,GACzC,OAAO,CAAC,YAAY,EAAE,CAAC,CAsKzB"}
@@ -1,5 +1,5 @@
1
1
  import { ConformanceReport, effortLevelsForModel, estimateEffectiveAuthRoute, knownModelIdsForRoute, } from "@claudexor/schema";
2
- import { HarnessUnavailableError, validateModel } from "@claudexor/core";
2
+ import { HarnessUnavailableError, hasModelInventoryForRoute, validateModel } from "@claudexor/core";
3
3
  import { WorkspaceManager } from "@claudexor/workspace";
4
4
  import { safeErrorMessage } from "./runSupport.js";
5
5
  const MODEL_INVENTORY_RETRY_DELAY_MS = 250;
@@ -156,13 +156,14 @@ export async function resolveExplicitReviewerPanel(deps, panel) {
156
156
  throw new HarnessUnavailableError(`reviewer harness '${entry.harness}' cannot perform readonly review`);
157
157
  }
158
158
  if (requestedModel) {
159
- if (typeof adapter.models !== "function") {
159
+ const route = credentialProfile
160
+ ? credentialProfileAuthRoute(credentialProfile)
161
+ : estimateEffectiveAuthRoute(authPreference, status.authSources);
162
+ if (!hasModelInventoryForRoute(adapter, manifest.capabilities.model_inventory_routes, route)) {
160
163
  // STRICT: the manifest list is the truth source here; an empty
161
164
  // list means the harness cannot verify models and the explicit
162
165
  // model is refused (validateModel phrases both refusals).
163
- const check = validateModel(requestedModel, knownModelIdsForRoute(manifest.capabilities.known_models, credentialProfile
164
- ? credentialProfileAuthRoute(credentialProfile)
165
- : estimateEffectiveAuthRoute(authPreference, status.authSources)), "manifest");
166
+ const check = validateModel(requestedModel, knownModelIdsForRoute(manifest.capabilities.known_models, route), "manifest");
166
167
  if (check.status !== "ok") {
167
168
  if (!entry.credentialProfileId && credentialProfile && deps.resolveReviewerProfile) {
168
169
  excludedProfileIds.add(credentialProfile.profile_id);
@@ -207,6 +208,7 @@ export async function resolveExplicitReviewerPanel(deps, panel) {
207
208
  requestedModel,
208
209
  requestedEffort,
209
210
  authPreference,
211
+ processingPreference: entry.processingPreference,
210
212
  ...(deps.resolveReviewerProfile ? { credentialProfile } : {}),
211
213
  });
212
214
  break;
@@ -315,7 +317,10 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
315
317
  // explicit panel — a doomed reviewer model is refused here, never
316
318
  // forwarded to die as an opaque native error mid-review.
317
319
  if (requestedModel) {
318
- const inventory = typeof adapter.models === "function"
320
+ const route = credentialProfile
321
+ ? credentialProfileAuthRoute(credentialProfile)
322
+ : estimateEffectiveAuthRoute(authPreference, report.auth_sources);
323
+ const inventory = hasModelInventoryForRoute(adapter, m.capabilities.model_inventory_routes, route)
319
324
  ? await readAutoModelInventory(adapter, {
320
325
  cwd,
321
326
  env: reviewHome.env,
@@ -323,9 +328,7 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
323
328
  ...(credentialProfile ? { credentialProfile } : {}),
324
329
  })
325
330
  : (() => {
326
- const ids = knownModelIdsForRoute(m.capabilities.known_models, credentialProfile
327
- ? credentialProfileAuthRoute(credentialProfile)
328
- : estimateEffectiveAuthRoute(authPreference, report.auth_sources));
331
+ const ids = knownModelIdsForRoute(m.capabilities.known_models, route);
329
332
  return ids.length > 0
330
333
  ? {
331
334
  status: "available",