@claudexor/orchestrator 3.1.0 → 3.1.2

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 (119) hide show
  1. package/dist/attemptFinalize.d.ts +38 -0
  2. package/dist/attemptFinalize.d.ts.map +1 -1
  3. package/dist/attemptFinalize.js +44 -0
  4. package/dist/attemptFinalize.js.map +1 -1
  5. package/dist/attemptTelemetry.d.ts +9 -20
  6. package/dist/attemptTelemetry.d.ts.map +1 -1
  7. package/dist/attemptTelemetry.js +36 -69
  8. package/dist/attemptTelemetry.js.map +1 -1
  9. package/dist/attemptUsageCost.d.ts +31 -0
  10. package/dist/attemptUsageCost.d.ts.map +1 -0
  11. package/dist/attemptUsageCost.js +181 -0
  12. package/dist/attemptUsageCost.js.map +1 -0
  13. package/dist/budgetFailure.d.ts +3 -1
  14. package/dist/budgetFailure.d.ts.map +1 -1
  15. package/dist/budgetFailure.js.map +1 -1
  16. package/dist/candidateEvidence.d.ts +5 -0
  17. package/dist/candidateEvidence.d.ts.map +1 -1
  18. package/dist/candidateEvidence.js +3 -1
  19. package/dist/candidateEvidence.js.map +1 -1
  20. package/dist/candidateOutputs.d.ts +19 -0
  21. package/dist/candidateOutputs.d.ts.map +1 -1
  22. package/dist/candidateOutputs.js +201 -67
  23. package/dist/candidateOutputs.js.map +1 -1
  24. package/dist/decisionBudget.d.ts +43 -0
  25. package/dist/decisionBudget.d.ts.map +1 -0
  26. package/dist/decisionBudget.js +84 -0
  27. package/dist/decisionBudget.js.map +1 -0
  28. package/dist/decisionTerminalReconciliation.d.ts +18 -0
  29. package/dist/decisionTerminalReconciliation.d.ts.map +1 -0
  30. package/dist/decisionTerminalReconciliation.js +26 -0
  31. package/dist/decisionTerminalReconciliation.js.map +1 -0
  32. package/dist/deepScanReducer.d.ts.map +1 -1
  33. package/dist/deepScanReducer.js +1 -5
  34. package/dist/deepScanReducer.js.map +1 -1
  35. package/dist/delegation-parent-activation.d.ts +6 -0
  36. package/dist/delegation-parent-activation.d.ts.map +1 -0
  37. package/dist/delegation-parent-activation.js +13 -0
  38. package/dist/delegation-parent-activation.js.map +1 -0
  39. package/dist/delegationBudgetAuthority.d.ts +30 -0
  40. package/dist/delegationBudgetAuthority.d.ts.map +1 -0
  41. package/dist/delegationBudgetAuthority.js +157 -0
  42. package/dist/delegationBudgetAuthority.js.map +1 -0
  43. package/dist/delegationFailure.d.ts +58 -0
  44. package/dist/delegationFailure.d.ts.map +1 -0
  45. package/dist/delegationFailure.js +184 -0
  46. package/dist/delegationFailure.js.map +1 -0
  47. package/dist/delegationToolEvidence.d.ts +20 -0
  48. package/dist/delegationToolEvidence.d.ts.map +1 -0
  49. package/dist/delegationToolEvidence.js +46 -0
  50. package/dist/delegationToolEvidence.js.map +1 -0
  51. package/dist/effortGovernance.d.ts +49 -0
  52. package/dist/effortGovernance.d.ts.map +1 -0
  53. package/dist/effortGovernance.js +35 -0
  54. package/dist/effortGovernance.js.map +1 -0
  55. package/dist/index.d.ts +3 -1
  56. package/dist/index.d.ts.map +1 -1
  57. package/dist/index.js +2 -0
  58. package/dist/index.js.map +1 -1
  59. package/dist/orchestrator.d.ts +29 -38
  60. package/dist/orchestrator.d.ts.map +1 -1
  61. package/dist/orchestrator.js +294 -392
  62. package/dist/orchestrator.js.map +1 -1
  63. package/dist/plan-prompt.d.ts +3 -0
  64. package/dist/plan-prompt.d.ts.map +1 -0
  65. package/dist/plan-prompt.js +28 -0
  66. package/dist/plan-prompt.js.map +1 -0
  67. package/dist/requestRequirements.d.ts +17 -0
  68. package/dist/requestRequirements.d.ts.map +1 -1
  69. package/dist/requestRequirements.js +69 -1
  70. package/dist/requestRequirements.js.map +1 -1
  71. package/dist/reviewerPanel.d.ts +4 -0
  72. package/dist/reviewerPanel.d.ts.map +1 -1
  73. package/dist/reviewerPanel.js +54 -9
  74. package/dist/reviewerPanel.js.map +1 -1
  75. package/dist/revisePrompt.d.ts +17 -0
  76. package/dist/revisePrompt.d.ts.map +1 -0
  77. package/dist/revisePrompt.js +15 -0
  78. package/dist/revisePrompt.js.map +1 -0
  79. package/dist/root-ledger.d.ts +13 -0
  80. package/dist/root-ledger.d.ts.map +1 -0
  81. package/dist/root-ledger.js +19 -0
  82. package/dist/root-ledger.js.map +1 -0
  83. package/dist/routing-failure.d.ts +6 -0
  84. package/dist/routing-failure.d.ts.map +1 -0
  85. package/dist/routing-failure.js +12 -0
  86. package/dist/routing-failure.js.map +1 -0
  87. package/dist/run-bounded.d.ts +3 -0
  88. package/dist/run-bounded.d.ts.map +1 -0
  89. package/dist/run-bounded.js +17 -0
  90. package/dist/run-bounded.js.map +1 -0
  91. package/dist/run-input-resolution.d.ts +10 -0
  92. package/dist/run-input-resolution.d.ts.map +1 -0
  93. package/dist/run-input-resolution.js +70 -0
  94. package/dist/run-input-resolution.js.map +1 -0
  95. package/dist/runSupport.d.ts +17 -0
  96. package/dist/runSupport.d.ts.map +1 -1
  97. package/dist/runSupport.js +26 -0
  98. package/dist/runSupport.js.map +1 -1
  99. package/dist/runTelemetryWriter.d.ts +5 -2
  100. package/dist/runTelemetryWriter.d.ts.map +1 -1
  101. package/dist/runTelemetryWriter.js +72 -1
  102. package/dist/runTelemetryWriter.js.map +1 -1
  103. package/dist/runTerminals.d.ts +34 -7
  104. package/dist/runTerminals.d.ts.map +1 -1
  105. package/dist/runTerminals.js +215 -24
  106. package/dist/runTerminals.js.map +1 -1
  107. package/dist/secretDiff.d.ts +29 -0
  108. package/dist/secretDiff.d.ts.map +1 -0
  109. package/dist/secretDiff.js +133 -0
  110. package/dist/secretDiff.js.map +1 -0
  111. package/dist/terminalOutcome.d.ts +22 -0
  112. package/dist/terminalOutcome.d.ts.map +1 -0
  113. package/dist/terminalOutcome.js +39 -0
  114. package/dist/terminalOutcome.js.map +1 -0
  115. package/dist/write-isolation.d.ts +11 -0
  116. package/dist/write-isolation.d.ts.map +1 -0
  117. package/dist/write-isolation.js +13 -0
  118. package/dist/write-isolation.js.map +1 -0
  119. package/package.json +17 -17
@@ -0,0 +1,3 @@
1
+ /** Explicitly keep a plan-mode harness in read-only planning work. */
2
+ export declare function planPrompt(goal: string): string;
3
+ //# sourceMappingURL=plan-prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-prompt.d.ts","sourceRoot":"","sources":["../src/plan-prompt.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB/C"}
@@ -0,0 +1,28 @@
1
+ /** Explicitly keep a plan-mode harness in read-only planning work. */
2
+ export function planPrompt(goal) {
3
+ return [
4
+ `You are planning, NOT implementing. Explore the repository read-only and produce a plan another agent will execute later. Do not write files or output full implementations.`,
5
+ ``,
6
+ `## Goal`,
7
+ goal,
8
+ ``,
9
+ `## Required output (markdown)`,
10
+ `1. Approach — 2-3 sentences on how you'd solve this.`,
11
+ `2. Steps — a numbered list; each step names the file(s) it touches and what changes.`,
12
+ `3. Risks & edge cases.`,
13
+ `4. End your response with a section titled exactly:`,
14
+ ``,
15
+ `## Open Questions`,
16
+ ``,
17
+ `List every decision the user must make before implementation, one per bullet, in EXACTLY this format:`,
18
+ ``,
19
+ `- [single] <question> :: <option A> :: <option B>`,
20
+ `- [multi] <question> :: <option A> :: <option B>`,
21
+ `- [text] <question that has no good fixed options>`,
22
+ ``,
23
+ `Rules: [single] = pick exactly one; [multi] = pick one or more; [text] = free-form (no "::" options). Ground every option in THIS repository. If nothing is ambiguous, write a single bullet: - (none)`,
24
+ ``,
25
+ `Keep it concise. Reference real paths you found. Do NOT paste large code blocks; describe the change instead.`,
26
+ ].join("\n");
27
+ }
28
+ //# sourceMappingURL=plan-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plan-prompt.js","sourceRoot":"","sources":["../src/plan-prompt.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO;QACL,8KAA8K;QAC9K,EAAE;QACF,SAAS;QACT,IAAI;QACJ,EAAE;QACF,+BAA+B;QAC/B,sDAAsD;QACtD,sFAAsF;QACtF,wBAAwB;QACxB,qDAAqD;QACrD,EAAE;QACF,mBAAmB;QACnB,EAAE;QACF,uGAAuG;QACvG,EAAE;QACF,mDAAmD;QACnD,kDAAkD;QAClD,oDAAoD;QACpD,EAAE;QACF,wMAAwM;QACxM,EAAE;QACF,+GAA+G;KAChH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
@@ -7,6 +7,16 @@ export interface BrowserLaneRequirementInput {
7
7
  webPolicy: ExternalContextPolicy;
8
8
  access: AccessProfile;
9
9
  }
10
+ export interface DelegationLaneRequirementInput {
11
+ harnessId: string;
12
+ requested: boolean;
13
+ runtimeAvailable: boolean;
14
+ manifestCapable: boolean;
15
+ requiresFullAccess: boolean;
16
+ fullAccess: boolean;
17
+ }
18
+ /** Access profiles that map to an unsandboxed/full-access harness lane. */
19
+ export declare function isFullAccess(access: AccessProfile): boolean;
10
20
  export declare class RequestRequirementsError extends HarnessUnavailableError {
11
21
  readonly resolutions: RequestRequirementResolution[];
12
22
  readonly code = "browser_unavailable";
@@ -33,6 +43,13 @@ export declare class RequestRequirementsResolver {
33
43
  * implying OS/native containment that is not there.
34
44
  */
35
45
  resolveDenyPaths(harnessId: string, requested: boolean): RequestRequirementResolution;
46
+ /**
47
+ * Resolve Delegate independently for each selected lane. Known pre-start
48
+ * unavailability is a disclosed degradation, not a routing refusal; an
49
+ * injected server that later reports startup failure is handled separately
50
+ * by attempt telemetry and remains terminal.
51
+ */
52
+ resolveDelegation(input: DelegationLaneRequirementInput): RequestRequirementResolution;
36
53
  requireEffectiveBrowser(requested: boolean, resolutions: RequestRequirementResolution[]): void;
37
54
  }
38
55
  //# sourceMappingURL=requestRequirements.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"requestRequirements.d.ts","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,MAAM,EACN,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,qBAAqB,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,qBAAa,wBAAyB,SAAQ,uBAAuB;IAKjE,QAAQ,CAAC,WAAW,EAAE,4BAA4B,EAAE;IAJtD,QAAQ,CAAC,IAAI,yBAAyB;gBAGpC,OAAO,EAAE,MAAM,EACN,WAAW,EAAE,4BAA4B,EAAE;CAIvD;AAED,4EAA4E;AAC5E,qBAAa,2BAA2B;IACtC,+EAA+E;IAC/E,aAAa,CACX,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,aAAa,GAC7B,aAAa;IAOhB,0BAA0B,CACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE;QAAE,uBAAuB,EAAE,uBAAuB,CAAA;KAAE,EAAE,GAC7D,IAAI;IAQP,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,YAAY,EAAE,oBAAoB,EAAE,GACnC,MAAM,GAAG,IAAI;IAmBhB,WAAW,CACT,UAAU,EAAE,4BAA4B,EACxC,SAAS,EAAE,MAAM,GAChB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAInD,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,4BAA4B;IA6DhF;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,4BAA4B;IAYrF,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,GAAG,IAAI;CAU/F"}
1
+ {"version":3,"file":"requestRequirements.d.ts","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,MAAM,EACN,4BAA4B,EAC7B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,eAAe,EAAE,OAAO,CAAC;IACzB,SAAS,EAAE,qBAAqB,CAAC;IACjC,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,OAAO,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAE3D;AAED,qBAAa,wBAAyB,SAAQ,uBAAuB;IAKjE,QAAQ,CAAC,WAAW,EAAE,4BAA4B,EAAE;IAJtD,QAAQ,CAAC,IAAI,yBAAyB;gBAGpC,OAAO,EAAE,MAAM,EACN,WAAW,EAAE,4BAA4B,EAAE;CAIvD;AAED,4EAA4E;AAC5E,qBAAa,2BAA2B;IACtC,+EAA+E;IAC/E,aAAa,CACX,MAAM,EAAE,MAAM,EACd,uBAAuB,EAAE,uBAAuB,EAChD,eAAe,EAAE,aAAa,GAC7B,aAAa;IAOhB,0BAA0B,CACxB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE;QAAE,uBAAuB,EAAE,uBAAuB,CAAA;KAAE,EAAE,GAC7D,IAAI;IAQP,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,EAAE,EACzB,YAAY,EAAE,oBAAoB,EAAE,GACnC,MAAM,GAAG,IAAI;IAmBhB,WAAW,CACT,UAAU,EAAE,4BAA4B,EACxC,SAAS,EAAE,MAAM,GAChB;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAInD,cAAc,CAAC,KAAK,EAAE,2BAA2B,GAAG,4BAA4B;IA6DhF;;;;;;OAMG;IACH,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,GAAG,4BAA4B;IAYrF;;;;;OAKG;IACH,iBAAiB,CAAC,KAAK,EAAE,8BAA8B,GAAG,4BAA4B;IA2DtF,uBAAuB,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,4BAA4B,EAAE,GAAG,IAAI;CAU/F"}
@@ -1,4 +1,8 @@
1
1
  import { HarnessUnavailableError } from "@claudexor/core";
2
+ /** Access profiles that map to an unsandboxed/full-access harness lane. */
3
+ export function isFullAccess(access) {
4
+ return access === "full" || access === "external_sandbox_full";
5
+ }
2
6
  export class RequestRequirementsError extends HarnessUnavailableError {
3
7
  resolutions;
4
8
  code = "browser_unavailable";
@@ -72,7 +76,7 @@ export class RequestRequirementsResolver {
72
76
  evidence_refs: ["request.external_context_policy"],
73
77
  };
74
78
  }
75
- if (input.access !== "full" && input.access !== "external_sandbox_full") {
79
+ if (!isFullAccess(input.access)) {
76
80
  return {
77
81
  capability: "browser",
78
82
  harness_id: input.harnessId,
@@ -115,6 +119,70 @@ export class RequestRequirementsResolver {
115
119
  evidence_refs: ["request.deny_paths"],
116
120
  };
117
121
  }
122
+ /**
123
+ * Resolve Delegate independently for each selected lane. Known pre-start
124
+ * unavailability is a disclosed degradation, not a routing refusal; an
125
+ * injected server that later reports startup failure is handled separately
126
+ * by attempt telemetry and remains terminal.
127
+ */
128
+ resolveDelegation(input) {
129
+ if (!input.requested) {
130
+ return {
131
+ capability: "delegation",
132
+ harness_id: input.harnessId,
133
+ eligible: input.manifestCapable,
134
+ requested: false,
135
+ effective: false,
136
+ reason: "not_requested",
137
+ evidence_refs: ["task.delegation_requested"],
138
+ };
139
+ }
140
+ if (!input.manifestCapable) {
141
+ return {
142
+ capability: "delegation",
143
+ harness_id: input.harnessId,
144
+ eligible: false,
145
+ requested: true,
146
+ effective: false,
147
+ reason: "manifest_unsupported",
148
+ evidence_refs: ["manifest.capability_profile.mcp_injection"],
149
+ };
150
+ }
151
+ if (!input.runtimeAvailable) {
152
+ return {
153
+ capability: "delegation",
154
+ harness_id: input.harnessId,
155
+ eligible: false,
156
+ requested: true,
157
+ effective: false,
158
+ reason: "runtime_unavailable",
159
+ evidence_refs: ["runtime.delegation_belt"],
160
+ };
161
+ }
162
+ if (input.requiresFullAccess && !input.fullAccess) {
163
+ return {
164
+ capability: "delegation",
165
+ harness_id: input.harnessId,
166
+ eligible: true,
167
+ requested: true,
168
+ effective: false,
169
+ reason: "access_profile_incompatible",
170
+ evidence_refs: [
171
+ "manifest.capability_profile.mcp_injection_requires_full_access",
172
+ "task.access.effective_profile",
173
+ ],
174
+ };
175
+ }
176
+ return {
177
+ capability: "delegation",
178
+ harness_id: input.harnessId,
179
+ eligible: true,
180
+ requested: true,
181
+ effective: true,
182
+ reason: "effective",
183
+ evidence_refs: ["runtime.delegation_belt", "manifest.capability_profile.mcp_injection"],
184
+ };
185
+ }
118
186
  requireEffectiveBrowser(requested, resolutions) {
119
187
  if (!requested || resolutions.some((resolution) => resolution.effective))
120
188
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"requestRequirements.js","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"requestRequirements.js","sourceRoot":"","sources":["../src/requestRequirements.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,10 @@ export interface ReviewerPanelDeps {
20
20
  registry: Map<string, HarnessAdapter>;
21
21
  harnessSettings: Record<string, PanelHarnessSettings | undefined>;
22
22
  authPreferenceFor: (harnessId: string) => AuthPreference;
23
+ /** Disclosure sink for a knob the panel dropped instead of refusing (the
24
+ * auto panel's `reviewerEfforts` map). Optional: the drop itself never
25
+ * depends on a listener being wired. */
26
+ onIgnoredSetting?: (detail: string) => void;
23
27
  }
24
28
  export declare function resolveExplicitReviewerPanel(deps: ReviewerPanelDeps, panel: ControlReviewerPanelEntry[]): Promise<ReviewerSpec[]>;
25
29
  export interface AutoReviewerPanelOverrides {
@@ -1 +1 @@
1
- {"version":3,"file":"reviewerPanel.d.ts","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,cAAc,EAGd,yBAAyB,EACzB,UAAU,EAEV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,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;CAC1D;AAED,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,yBAAyB,EAAE,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAyJzB;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,CAqEzB"}
1
+ {"version":3,"file":"reviewerPanel.d.ts","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,cAAc,EAGd,yBAAyB,EACzB,UAAU,EAGV,cAAc,EACf,MAAM,mBAAmB,CAAC;AAM3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAItD,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;;4CAEwC;IACxC,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7C;AA0CD,wBAAsB,4BAA4B,CAChD,IAAI,EAAE,iBAAiB,EACvB,KAAK,EAAE,yBAAyB,EAAE,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAyJzB;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,CAyFzB"}
@@ -1,7 +1,39 @@
1
- import { estimateEffectiveAuthRoute, knownModelIdsForRoute } from "@claudexor/schema";
1
+ import { effortLevelsForModel, estimateEffectiveAuthRoute, knownModelIdsForRoute, } from "@claudexor/schema";
2
2
  import { HarnessUnavailableError, validateModel } from "@claudexor/core";
3
3
  import { WorkspaceManager } from "@claudexor/workspace";
4
4
  const MODEL_INVENTORY_RETRY_DELAY_MS = 250;
5
+ /**
6
+ * The reviewer effort gate: a requested level must be one the SELECTED reviewer
7
+ * actually advertises.
8
+ *
9
+ * ONE owner for both panel paths (INV-104's effort sibling). The wire type is an
10
+ * open slug rather than an enum — a level is only meaningful per (harness,
11
+ * model), so the boundary cannot know it — which means this manifest check IS
12
+ * the guarantee that a typo or an unsupported level is refused instead of
13
+ * travelling inward. Without it a reviewer effort dies silently: the adapter's
14
+ * normalizer drops an unresolvable level to "send no flag", while the review
15
+ * artifact still records `requested_effort`, so the run reads as though the
16
+ * level had been honored.
17
+ */
18
+ function reviewerEffortRefusal(harnessId, requestedEffort, capabilities, model) {
19
+ if (!requestedEffort)
20
+ return null;
21
+ // Validate against the ladder of the model that will actually review: the
22
+ // model's own advertised list when the entry resolves one and the manifest
23
+ // recorded it, else the harness-wide merged ladder — which is then the only
24
+ // honest set, and the refusal says so.
25
+ const advertised = effortLevelsForModel(capabilities, model);
26
+ if (advertised.includes(requestedEffort))
27
+ return null;
28
+ const perModel = model !== null && (capabilities.model_effort_levels[model]?.levels.length ?? 0) > 0;
29
+ const supported = advertised.join(", ");
30
+ const suffix = !supported
31
+ ? " (harness declares no effort controls)"
32
+ : perModel
33
+ ? ` (model '${model}' advertises: ${supported})`
34
+ : ` (harness-wide advertised ladder — no per-model ladder recorded${model ? ` for '${model}'` : ""}: ${supported})`;
35
+ return `reviewer harness '${harnessId}' does not support requested effort '${requestedEffort}'${suffix}`;
36
+ }
5
37
  export async function resolveExplicitReviewerPanel(deps, panel) {
6
38
  const { cwd, registry, harnessSettings } = deps;
7
39
  const known = [...registry.keys()].sort().join(", ");
@@ -100,13 +132,11 @@ export async function resolveExplicitReviewerPanel(deps, panel) {
100
132
  }
101
133
  }
102
134
  const requestedEffort = entry.effort ?? null;
103
- if (requestedEffort && !manifest.capabilities.effort_levels.includes(requestedEffort)) {
104
- const supported = manifest.capabilities.effort_levels.join(", ");
105
- const suffix = supported
106
- ? ` (supported: ${supported})`
107
- : " (harness declares no effort controls)";
108
- throw new HarnessUnavailableError(`reviewer harness '${entry.harness}' does not support requested effort '${requestedEffort}'${suffix}`);
109
- }
135
+ // An EXPLICIT panel entry is a precise owner statement — an unadvertised
136
+ // level stays a hard, typed refusal (never forwarded to die natively).
137
+ const refusal = reviewerEffortRefusal(entry.harness, requestedEffort, manifest.capabilities, requestedModel);
138
+ if (refusal)
139
+ throw new HarnessUnavailableError(refusal);
110
140
  specs.push({
111
141
  adapter,
112
142
  providerFamily: manifest.provider_family,
@@ -182,12 +212,27 @@ export async function resolveAutoReviewerPanel(deps, overrides = {}) {
182
212
  `fix the reviewer model override or harnesses.${adapter.id}.default_model, or run \`claudexor models --harness ${adapter.id}\``);
183
213
  }
184
214
  }
215
+ // DISCLOSE-AND-DROP, deliberately weaker than the model gate above: the
216
+ // per-family `reviewerEfforts` map also rides stored replay surfaces
217
+ // (Exact Retry params, `ControlRunAgainDraft.request`), so a map recorded
218
+ // before a reviewer/catalog change must not hard-fail a replay that used
219
+ // to run. A fresh request and a replayed draft are indistinguishable at
220
+ // this layer, so the disclosed drop applies everywhere — the honest
221
+ // middle: the panel still reviews, at the reviewer's default effort, and
222
+ // the drop is disclosed instead of a typed refusal killing the run.
223
+ // (Explicit `reviewerPanel[].effort` entries above stay hard refusals.)
224
+ let requestedEffort = overrides.reviewerEfforts?.[m.provider_family] ?? null;
225
+ const dropped = reviewerEffortRefusal(adapter.id, requestedEffort, m.capabilities, requestedModel);
226
+ if (dropped) {
227
+ deps.onIgnoredSetting?.(`reviewer effort dropped: ${dropped}`);
228
+ requestedEffort = null;
229
+ }
185
230
  seen.add(m.provider_family);
186
231
  specs.push({
187
232
  adapter,
188
233
  providerFamily: m.provider_family,
189
234
  requestedModel,
190
- requestedEffort: overrides.reviewerEfforts?.[m.provider_family] ?? null,
235
+ requestedEffort,
191
236
  authPreference,
192
237
  });
193
238
  if (specs.length >= 2)
@@ -1 +1 @@
1
- {"version":3,"file":"reviewerPanel.js","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewerPanel.js","sourceRoot":"","sources":["../src/reviewerPanel.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Revise prompt for a convergence attempt that did not converge.
3
+ *
4
+ * Extracted from the loop body rather than inlined: the repair instruction is
5
+ * a contract (three legitimate moves, a per-finding accounting line, and an
6
+ * order of work), and an inline template literal both hides it from tests and
7
+ * grows the orchestrator god-file. Pure string building — no state.
8
+ *
9
+ * Naming all three moves is what stops a do-nothing resubmit, but only "fix"
10
+ * moves the loop: rebuttals and unreachability declarations are not persisted
11
+ * as a channel and nothing adjudicates them. The contract says so out loud
12
+ * instead of implying an arbiter that does not exist — the accounting rides in
13
+ * the attempt's own output, where a human reading the run artifacts sees it.
14
+ */
15
+ import type { ReviewFinding } from "@claudexor/schema";
16
+ export declare function buildRevisePrompt(basePrompt: string, findings: ReviewFinding[], runtimeErrors: string): string;
17
+ //# sourceMappingURL=revisePrompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revisePrompt.d.ts","sourceRoot":"","sources":["../src/revisePrompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,aAAa,EAAE,EACzB,aAAa,EAAE,MAAM,GACpB,MAAM,CAYR"}
@@ -0,0 +1,15 @@
1
+ import { formatFindings } from "./runSupport.js";
2
+ export function buildRevisePrompt(basePrompt, findings, runtimeErrors) {
3
+ const contract = [
4
+ "The previous attempt did not converge. Each finding below has exactly three legitimate moves: fix it, rebut it with evidence showing the finding is wrong, or state that it is unreachable in this environment and name the concrete gap. Re-emitting the same work with none of those three changes nothing and will not converge.",
5
+ "Only a fix changes what the next review sees. There is no rebuttal channel and nothing adjudicates a rebuttal or an unreachability declaration today: both live only in this attempt's own output, preserved in the run artifacts for a human who reads them. Write them for that reader, and expect the next review to look at the changed work rather than at your argument about the last round.",
6
+ "A finding is a hypothesis with an argument attached. Check that argument against the code before you act on it. An argument that does not survive checking must be rebutted, not complied with: complying with a disproved finding introduces a real defect.",
7
+ "Do not patch findings one at a time. Re-read the whole diff first, group the findings by root cause, and only then act.",
8
+ "Before the deliverable, write one short line per finding: which of the three moves you took and the concrete evidence for it, meaning a file and line, a symbol, or a test name. That accounting rides in this attempt's output and goes no further on its own.",
9
+ "",
10
+ "Review findings:",
11
+ formatFindings(findings),
12
+ ].join("\n");
13
+ return `${basePrompt}\n\n${contract}${runtimeErrors}`;
14
+ }
15
+ //# sourceMappingURL=revisePrompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"revisePrompt.js","sourceRoot":"","sources":["../src/revisePrompt.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,UAAU,iBAAiB,CAC/B,UAAkB,EAClB,QAAyB,EACzB,aAAqB;IAErB,MAAM,QAAQ,GAAG;QACf,qUAAqU;QACrU,qYAAqY;QACrY,8PAA8P;QAC9P,yHAAyH;QACzH,iQAAiQ;QACjQ,EAAE;QACF,kBAAkB;QAClB,cAAc,CAAC,QAAQ,CAAC;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACb,OAAO,GAAG,UAAU,OAAO,QAAQ,GAAG,aAAa,EAAE,CAAC;AACxD,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BudgetLedger } from "@claudexor/budget";
2
+ import type { EventLog } from "@claudexor/event-log";
3
+ import type { QuotaSnapshot, TaskContract } from "@claudexor/schema";
4
+ import type { DelegationBudgetAuthority } from "./delegationBudgetAuthority.js";
5
+ import type { RunInput } from "./orchestrator.js";
6
+ export declare function createRootLedger(args: {
7
+ input: RunInput;
8
+ contract: TaskContract;
9
+ log: EventLog;
10
+ authority?: DelegationBudgetAuthority;
11
+ quotaSnapshots: readonly QuotaSnapshot[];
12
+ }): BudgetLedger;
13
+ //# sourceMappingURL=root-ledger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-ledger.d.ts","sourceRoot":"","sources":["../src/root-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,KAAK,EAAE,QAAQ,CAAC;IAChB,QAAQ,EAAE,YAAY,CAAC;IACvB,GAAG,EAAE,QAAQ,CAAC;IACd,SAAS,CAAC,EAAE,yBAAyB,CAAC;IACtC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAC;CAC1C,GAAG,YAAY,CAgCf"}
@@ -0,0 +1,19 @@
1
+ import { BudgetLedger } from "@claudexor/budget";
2
+ export function createRootLedger(args) {
3
+ const onCashSettled = (cashSpendUsd, valuationUsd, cashEstimated, valuationKnowledge) => args.log.emit("budget.cash", {
4
+ cash_spend_usd: cashSpendUsd,
5
+ valuation_usd: valuationUsd,
6
+ estimated: cashEstimated,
7
+ valuation_knowledge: valuationKnowledge,
8
+ });
9
+ const ledger = args.input.delegatedFromRunId
10
+ ? args.authority?.attachChild(args.input.delegatedFromRunId, args.input.delegationAdmissionId ?? "", args.input.runId, args.contract.task_id, onCashSettled)
11
+ : new BudgetLedger(args.contract.budget.paid_budget, undefined, { onCashSettled });
12
+ if (!ledger) {
13
+ throw Object.assign(new Error(`delegated run ${args.contract.task_id} has no daemon-lifetime budget authority for parent ${args.input.delegatedFromRunId}`), { code: "delegation_budget_parent_unavailable", status: 409 });
14
+ }
15
+ for (const snapshot of args.quotaSnapshots)
16
+ ledger.observeQuotaSnapshot(snapshot);
17
+ return ledger;
18
+ }
19
+ //# sourceMappingURL=root-ledger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"root-ledger.js","sourceRoot":"","sources":["../src/root-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAMjD,MAAM,UAAU,gBAAgB,CAAC,IAMhC;IACC,MAAM,aAAa,GAAG,CACpB,YAAoB,EACpB,YAAoB,EACpB,aAAsB,EACtB,kBAAqD,EACrD,EAAE,CACF,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,EAAE;QAC3B,cAAc,EAAE,YAAY;QAC5B,aAAa,EAAE,YAAY;QAC3B,SAAS,EAAE,aAAa;QACxB,mBAAmB,EAAE,kBAAkB;KACxC,CAAC,CAAC;IACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB;QAC1C,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CACzB,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAC7B,IAAI,CAAC,KAAK,CAAC,qBAAqB,IAAI,EAAE,EACtC,IAAI,CAAC,KAAK,CAAC,KAAM,EACjB,IAAI,CAAC,QAAQ,CAAC,OAAO,EACrB,aAAa,CACd;QACH,CAAC,CAAC,IAAI,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC;IACrF,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,CAAC,MAAM,CACjB,IAAI,KAAK,CACP,iBAAiB,IAAI,CAAC,QAAQ,CAAC,OAAO,uDAAuD,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,CAC7H,EACD,EAAE,IAAI,EAAE,sCAAsC,EAAE,MAAM,EAAE,GAAG,EAAE,CAC9D,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,cAAc;QAAE,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAClF,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** Classify typed routing refusal separately from provider availability. */
2
+ export declare function routingFailureClassification(err: unknown): {
3
+ category: "config_error" | "harness_unavailable";
4
+ nextActions?: string[];
5
+ };
6
+ //# sourceMappingURL=routing-failure.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-failure.d.ts","sourceRoot":"","sources":["../src/routing-failure.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG;IAC1D,QAAQ,EAAE,cAAc,GAAG,qBAAqB,CAAC;IACjD,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB,CASA"}
@@ -0,0 +1,12 @@
1
+ import { harnessFailureNextActions } from "./harnessFailure.js";
2
+ /** Classify typed routing refusal separately from provider availability. */
3
+ export function routingFailureClassification(err) {
4
+ const isPreflightRefusal = !!err &&
5
+ typeof err === "object" &&
6
+ err.code === "routing_preflight_refused";
7
+ if (isPreflightRefusal) {
8
+ return { category: "config_error", nextActions: harnessFailureNextActions("config_error") };
9
+ }
10
+ return { category: "harness_unavailable" };
11
+ }
12
+ //# sourceMappingURL=routing-failure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routing-failure.js","sourceRoot":"","sources":["../src/routing-failure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,4EAA4E;AAC5E,MAAM,UAAU,4BAA4B,CAAC,GAAY;IAIvD,MAAM,kBAAkB,GACtB,CAAC,CAAC,GAAG;QACL,OAAO,GAAG,KAAK,QAAQ;QACtB,GAA0B,CAAC,IAAI,KAAK,2BAA2B,CAAC;IACnE,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,yBAAyB,CAAC,cAAc,CAAC,EAAE,CAAC;IAC9F,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,3 @@
1
+ /** Run work with bounded concurrency while preserving each item's source index. */
2
+ export declare function runBounded<T>(items: T[], limit: number, work: (item: T, index: number) => Promise<void>): Promise<void>;
3
+ //# sourceMappingURL=run-bounded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bounded.d.ts","sourceRoot":"","sources":["../src/run-bounded.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,wBAAsB,UAAU,CAAC,CAAC,EAChC,KAAK,EAAE,CAAC,EAAE,EACV,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -0,0 +1,17 @@
1
+ /** Run work with bounded concurrency while preserving each item's source index. */
2
+ export async function runBounded(items, limit, work) {
3
+ if (items.length === 0)
4
+ return;
5
+ const concurrency = Math.max(1, Math.min(limit, items.length));
6
+ let next = 0;
7
+ const workers = Array.from({ length: concurrency }, async () => {
8
+ for (;;) {
9
+ const idx = next++;
10
+ if (idx >= items.length)
11
+ return;
12
+ await work(items[idx], idx);
13
+ }
14
+ });
15
+ await Promise.all(workers);
16
+ }
17
+ //# sourceMappingURL=run-bounded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-bounded.js","sourceRoot":"","sources":["../src/run-bounded.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,KAAU,EACV,KAAa,EACb,IAA+C;IAE/C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAC/D,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,KAAK,IAAI,EAAE;QAC7D,SAAS,CAAC;YACR,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;YACnB,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM;gBAAE,OAAO;YAChC,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAM,EAAE,GAAG,CAAC,CAAC;QACnC,CAAC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC7B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ResolvedConfig, RoutingGoal } from "@claudexor/schema";
2
+ import type { RunInput } from "./orchestrator.js";
3
+ export interface RunInputResolutionDeps {
4
+ config: ResolvedConfig;
5
+ registryIds: Iterable<string>;
6
+ routingGoal?: RoutingGoal;
7
+ }
8
+ /** Resolve stable pool, primary, model, web, and routing defaults once per run. */
9
+ export declare function resolveRunInputDefaults(input: RunInput, deps: RunInputResolutionDeps): RunInput;
10
+ //# sourceMappingURL=run-input-resolution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-input-resolution.d.ts","sourceRoot":"","sources":["../src/run-input-resolution.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGrE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC9B,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,GAAG,QAAQ,CA8E/F"}
@@ -0,0 +1,70 @@
1
+ import { HarnessUnavailableError } from "@claudexor/core";
2
+ import { noProjectRepoRoot } from "@claudexor/util";
3
+ /** Resolve stable pool, primary, model, web, and routing defaults once per run. */
4
+ export function resolveRunInputDefaults(input, deps) {
5
+ if (input.contextMode === "off" &&
6
+ !(input.mode === "ask" && input.repoRoot === noProjectRepoRoot())) {
7
+ throw new Error("contextMode 'off' is only supported for Ask without a repoRoot");
8
+ }
9
+ const cfg = deps.config;
10
+ const configuredPool = cfg.global.routing.eligible_harnesses;
11
+ const harnesses = input.harnesses ?? (configuredPool.length > 0 ? configuredPool : undefined);
12
+ const explicitPrimary = input.primaryHarness;
13
+ const configPrimary = cfg.global.routing.primary_harness;
14
+ const primaryHarness = explicitPrimary ??
15
+ (input.harnesses?.length === 1 ? input.harnesses[0] : undefined) ??
16
+ configPrimary ??
17
+ undefined;
18
+ if (primaryHarness && harnesses?.length && !harnesses.includes(primaryHarness)) {
19
+ if (explicitPrimary) {
20
+ throw new Error(`primary harness '${explicitPrimary}' is not in the eligible harness pool (${harnesses.join(", ")}); ` +
21
+ `pass --primary-harness as one of [${harnesses.join(", ")}], or add '${explicitPrimary}' to --harness`);
22
+ }
23
+ throw new HarnessUnavailableError(`ambiguous primary harness: the configured default primary '${primaryHarness}' is not in the selected pool [${harnesses.join(", ")}], ` +
24
+ `and no --primary-harness was given. Pin one explicitly, e.g. \`--primary-harness ${harnesses[0]}\` ` +
25
+ `(or another of [${harnesses.join(", ")}]).`);
26
+ }
27
+ if (input.web && input.externalContextPolicy && input.web !== input.externalContextPolicy) {
28
+ throw new Error(`contradictory web policy: web='${input.web}' vs externalContextPolicy='${input.externalContextPolicy}' (pass one, or equal values)`);
29
+ }
30
+ const web = input.web ?? input.externalContextPolicy ?? "auto";
31
+ const knownHarnessIds = new Set(deps.registryIds);
32
+ for (const key of Object.keys(input.models ?? {})) {
33
+ if (!knownHarnessIds.has(key)) {
34
+ throw new Error(`models map names unknown harness '${key}' (registered: ${[...knownHarnessIds].sort().join(", ")}); ` +
35
+ `run \`claudexor harness list --all\``);
36
+ }
37
+ }
38
+ const models = { ...input.models };
39
+ if (input.model) {
40
+ const scalarTarget = primaryHarness ?? (harnesses?.length === 1 ? harnesses[0] : undefined);
41
+ if (!scalarTarget) {
42
+ throw new Error(`a scalar model ('${input.model}') is ambiguous without a primary harness: ` +
43
+ `the pool is ${harnesses?.length ? `[${harnesses.join(", ")}]` : "auto-resolved"} — ` +
44
+ `set a primary harness, pass exactly one --harness, or use a harness-scoped model map`);
45
+ }
46
+ models[scalarTarget] ??= input.model;
47
+ }
48
+ const harnessCfg = cfg.global.harnesses;
49
+ for (const harnessId of harnesses ?? []) {
50
+ const defaultModel = harnessCfg[harnessId]?.default_model;
51
+ if (defaultModel)
52
+ models[harnessId] ??= defaultModel;
53
+ }
54
+ return {
55
+ ...input,
56
+ harnesses,
57
+ primaryHarness,
58
+ primaryHarnessExplicit: explicitPrimary !== undefined,
59
+ model: undefined,
60
+ models,
61
+ routingGoal: input.routingGoal ??
62
+ deps.routingGoal ??
63
+ cfg.project.budget?.routing_goal ??
64
+ cfg.global.routing.goal ??
65
+ "auto",
66
+ web,
67
+ externalContextPolicy: web,
68
+ };
69
+ }
70
+ //# sourceMappingURL=run-input-resolution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-input-resolution.js","sourceRoot":"","sources":["../src/run-input-resolution.ts"],"names":[],"mappings":"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"}