@claudexor/orchestrator 5.0.1 → 5.1.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 (251) hide show
  1. package/dist/account-evidence.d.ts +7 -0
  2. package/dist/account-evidence.d.ts.map +1 -1
  3. package/dist/account-evidence.js +12 -0
  4. package/dist/account-evidence.js.map +1 -1
  5. package/dist/account-pool.d.ts +4 -0
  6. package/dist/account-pool.d.ts.map +1 -1
  7. package/dist/account-pool.js +8 -1
  8. package/dist/account-pool.js.map +1 -1
  9. package/dist/account-resolution.d.ts.map +1 -1
  10. package/dist/account-resolution.js +7 -5
  11. package/dist/account-resolution.js.map +1 -1
  12. package/dist/attemptFinalize.d.ts +22 -7
  13. package/dist/attemptFinalize.d.ts.map +1 -1
  14. package/dist/attemptFinalize.js +29 -7
  15. package/dist/attemptFinalize.js.map +1 -1
  16. package/dist/attemptTelemetry.d.ts +19 -18
  17. package/dist/attemptTelemetry.d.ts.map +1 -1
  18. package/dist/attemptTelemetry.js +32 -79
  19. package/dist/attemptTelemetry.js.map +1 -1
  20. package/dist/attemptUsage.d.ts.map +1 -1
  21. package/dist/attemptUsage.js +6 -14
  22. package/dist/attemptUsage.js.map +1 -1
  23. package/dist/attemptUsageCost.d.ts +11 -2
  24. package/dist/attemptUsageCost.d.ts.map +1 -1
  25. package/dist/attemptUsageCost.js +16 -3
  26. package/dist/attemptUsageCost.js.map +1 -1
  27. package/dist/candidateEvidence.d.ts +42 -8
  28. package/dist/candidateEvidence.d.ts.map +1 -1
  29. package/dist/candidateEvidence.js +75 -16
  30. package/dist/candidateEvidence.js.map +1 -1
  31. package/dist/candidateReview.d.ts.map +1 -1
  32. package/dist/candidateReview.js +4 -2
  33. package/dist/candidateReview.js.map +1 -1
  34. package/dist/candidateTerminals.d.ts +10 -0
  35. package/dist/candidateTerminals.d.ts.map +1 -1
  36. package/dist/candidateTerminals.js +55 -11
  37. package/dist/candidateTerminals.js.map +1 -1
  38. package/dist/captureRefusal.d.ts +14 -4
  39. package/dist/captureRefusal.d.ts.map +1 -1
  40. package/dist/captureRefusal.js +64 -27
  41. package/dist/captureRefusal.js.map +1 -1
  42. package/dist/carrier-planner.d.ts +5 -2
  43. package/dist/carrier-planner.d.ts.map +1 -1
  44. package/dist/carrier-planner.js +6 -3
  45. package/dist/carrier-planner.js.map +1 -1
  46. package/dist/command-telemetry.d.ts +15 -0
  47. package/dist/command-telemetry.d.ts.map +1 -0
  48. package/dist/command-telemetry.js +27 -0
  49. package/dist/command-telemetry.js.map +1 -0
  50. package/dist/continuation-custody.d.ts.map +1 -1
  51. package/dist/continuation-custody.js +3 -1
  52. package/dist/continuation-custody.js.map +1 -1
  53. package/dist/continuation-evidence-io.d.ts +13 -3
  54. package/dist/continuation-evidence-io.d.ts.map +1 -1
  55. package/dist/continuation-evidence-io.js +36 -4
  56. package/dist/continuation-evidence-io.js.map +1 -1
  57. package/dist/continuation-evidence.d.ts +13 -2
  58. package/dist/continuation-evidence.d.ts.map +1 -1
  59. package/dist/continuation-evidence.js +23 -4
  60. package/dist/continuation-evidence.js.map +1 -1
  61. package/dist/continuation-later.d.ts.map +1 -1
  62. package/dist/continuation-later.js +6 -6
  63. package/dist/continuation-later.js.map +1 -1
  64. package/dist/continuity-facts.d.ts +25 -1
  65. package/dist/continuity-facts.d.ts.map +1 -1
  66. package/dist/continuity-facts.js +71 -4
  67. package/dist/continuity-facts.js.map +1 -1
  68. package/dist/continuity-notice.d.ts.map +1 -1
  69. package/dist/continuity-notice.js +2 -1
  70. package/dist/continuity-notice.js.map +1 -1
  71. package/dist/continuity-summary.d.ts +4 -1
  72. package/dist/continuity-summary.d.ts.map +1 -1
  73. package/dist/continuity-summary.js +30 -12
  74. package/dist/continuity-summary.js.map +1 -1
  75. package/dist/continuity.d.ts +36 -8
  76. package/dist/continuity.d.ts.map +1 -1
  77. package/dist/continuity.js +96 -21
  78. package/dist/continuity.js.map +1 -1
  79. package/dist/credential-cooldown.d.ts +7 -0
  80. package/dist/credential-cooldown.d.ts.map +1 -1
  81. package/dist/credential-cooldown.js +31 -5
  82. package/dist/credential-cooldown.js.map +1 -1
  83. package/dist/credential-differential.d.ts +15 -1
  84. package/dist/credential-differential.d.ts.map +1 -1
  85. package/dist/credential-differential.js +32 -17
  86. package/dist/credential-differential.js.map +1 -1
  87. package/dist/credential-execution.d.ts.map +1 -1
  88. package/dist/credential-execution.js +14 -15
  89. package/dist/credential-execution.js.map +1 -1
  90. package/dist/credential-preflight.js +1 -1
  91. package/dist/credential-preflight.js.map +1 -1
  92. package/dist/credential-profile-rotation.d.ts +1 -0
  93. package/dist/credential-profile-rotation.d.ts.map +1 -1
  94. package/dist/credential-profile-rotation.js +1 -1
  95. package/dist/credential-profile-rotation.js.map +1 -1
  96. package/dist/deepScanReducer.d.ts.map +1 -1
  97. package/dist/deepScanReducer.js +8 -18
  98. package/dist/deepScanReducer.js.map +1 -1
  99. package/dist/delegatedHome.d.ts +6 -4
  100. package/dist/delegatedHome.d.ts.map +1 -1
  101. package/dist/delegatedHome.js.map +1 -1
  102. package/dist/delegationFailure.d.ts +75 -14
  103. package/dist/delegationFailure.d.ts.map +1 -1
  104. package/dist/delegationFailure.js +38 -9
  105. package/dist/delegationFailure.js.map +1 -1
  106. package/dist/directoryCandidate.d.ts +10 -0
  107. package/dist/directoryCandidate.d.ts.map +1 -1
  108. package/dist/directoryCandidate.js +59 -9
  109. package/dist/directoryCandidate.js.map +1 -1
  110. package/dist/harnessFailure.d.ts +6 -5
  111. package/dist/harnessFailure.d.ts.map +1 -1
  112. package/dist/harnessFailure.js +7 -6
  113. package/dist/harnessFailure.js.map +1 -1
  114. package/dist/index.d.ts +2 -2
  115. package/dist/index.d.ts.map +1 -1
  116. package/dist/index.js +2 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/inrun-continuity-carrier.d.ts +4 -1
  119. package/dist/inrun-continuity-carrier.d.ts.map +1 -1
  120. package/dist/inrun-continuity-carrier.js +2 -0
  121. package/dist/inrun-continuity-carrier.js.map +1 -1
  122. package/dist/inrun-continuity.d.ts +2 -2
  123. package/dist/inrun-continuity.d.ts.map +1 -1
  124. package/dist/inrun-continuity.js +22 -19
  125. package/dist/inrun-continuity.js.map +1 -1
  126. package/dist/inrun-retained-output.d.ts +18 -4
  127. package/dist/inrun-retained-output.d.ts.map +1 -1
  128. package/dist/inrun-retained-output.js +39 -8
  129. package/dist/inrun-retained-output.js.map +1 -1
  130. package/dist/laneStreamEvents.d.ts +9 -10
  131. package/dist/laneStreamEvents.d.ts.map +1 -1
  132. package/dist/laneStreamEvents.js +21 -7
  133. package/dist/laneStreamEvents.js.map +1 -1
  134. package/dist/modelGovernance.d.ts +10 -4
  135. package/dist/modelGovernance.d.ts.map +1 -1
  136. package/dist/modelGovernance.js +21 -1
  137. package/dist/modelGovernance.js.map +1 -1
  138. package/dist/native-retry-telemetry.d.ts +4 -1
  139. package/dist/native-retry-telemetry.d.ts.map +1 -1
  140. package/dist/native-retry-telemetry.js +6 -1
  141. package/dist/native-retry-telemetry.js.map +1 -1
  142. package/dist/orchestrator.d.ts +10 -2
  143. package/dist/orchestrator.d.ts.map +1 -1
  144. package/dist/orchestrator.js +137 -156
  145. package/dist/orchestrator.js.map +1 -1
  146. package/dist/planRun.js +4 -4
  147. package/dist/planRun.js.map +1 -1
  148. package/dist/plannerAttempt.d.ts +1 -0
  149. package/dist/plannerAttempt.d.ts.map +1 -1
  150. package/dist/plannerAttempt.js +14 -19
  151. package/dist/plannerAttempt.js.map +1 -1
  152. package/dist/pool-attempt-evidence.d.ts +3 -1
  153. package/dist/pool-attempt-evidence.d.ts.map +1 -1
  154. package/dist/pool-attempt-evidence.js +16 -3
  155. package/dist/pool-attempt-evidence.js.map +1 -1
  156. package/dist/quota-refusal-scope.d.ts +1 -0
  157. package/dist/quota-refusal-scope.d.ts.map +1 -1
  158. package/dist/quota-refusal-scope.js +29 -1
  159. package/dist/quota-refusal-scope.js.map +1 -1
  160. package/dist/rawPatchLane.d.ts +42 -0
  161. package/dist/rawPatchLane.d.ts.map +1 -0
  162. package/dist/rawPatchLane.js +79 -0
  163. package/dist/rawPatchLane.js.map +1 -0
  164. package/dist/readonlyTerminals.d.ts +0 -3
  165. package/dist/readonlyTerminals.d.ts.map +1 -1
  166. package/dist/readonlyTerminals.js +30 -10
  167. package/dist/readonlyTerminals.js.map +1 -1
  168. package/dist/requestRequirements.d.ts +5 -4
  169. package/dist/requestRequirements.d.ts.map +1 -1
  170. package/dist/requestRequirements.js +6 -5
  171. package/dist/requestRequirements.js.map +1 -1
  172. package/dist/retainedOutput.d.ts +19 -2
  173. package/dist/retainedOutput.d.ts.map +1 -1
  174. package/dist/retainedOutput.js +83 -12
  175. package/dist/retainedOutput.js.map +1 -1
  176. package/dist/reviewerInventory.d.ts +2 -8
  177. package/dist/reviewerInventory.d.ts.map +1 -1
  178. package/dist/reviewerInventory.js +2 -3
  179. package/dist/reviewerInventory.js.map +1 -1
  180. package/dist/reviewerPanel.d.ts +1 -1
  181. package/dist/reviewerPanel.d.ts.map +1 -1
  182. package/dist/reviewerPanel.js +9 -4
  183. package/dist/reviewerPanel.js.map +1 -1
  184. package/dist/route-admission.d.ts.map +1 -1
  185. package/dist/route-admission.js +3 -1
  186. package/dist/route-admission.js.map +1 -1
  187. package/dist/routeControls.d.ts +32 -0
  188. package/dist/routeControls.d.ts.map +1 -0
  189. package/dist/routeControls.js +47 -0
  190. package/dist/routeControls.js.map +1 -0
  191. package/dist/run-input-resolution.d.ts +5 -0
  192. package/dist/run-input-resolution.d.ts.map +1 -1
  193. package/dist/run-input-resolution.js +12 -6
  194. package/dist/run-input-resolution.js.map +1 -1
  195. package/dist/run-runtime-root.d.ts +16 -0
  196. package/dist/run-runtime-root.d.ts.map +1 -0
  197. package/dist/run-runtime-root.js +16 -0
  198. package/dist/run-runtime-root.js.map +1 -0
  199. package/dist/runAdmission.d.ts.map +1 -1
  200. package/dist/runAdmission.js +2 -1
  201. package/dist/runAdmission.js.map +1 -1
  202. package/dist/runEventLog.d.ts +2 -1
  203. package/dist/runEventLog.d.ts.map +1 -1
  204. package/dist/runEventLog.js +3 -1
  205. package/dist/runEventLog.js.map +1 -1
  206. package/dist/runFacts.d.ts +5 -2
  207. package/dist/runFacts.d.ts.map +1 -1
  208. package/dist/runFacts.js +11 -11
  209. package/dist/runFacts.js.map +1 -1
  210. package/dist/runScope.d.ts +2 -0
  211. package/dist/runScope.d.ts.map +1 -1
  212. package/dist/runScope.js +3 -2
  213. package/dist/runScope.js.map +1 -1
  214. package/dist/runSupport.d.ts +3 -1
  215. package/dist/runSupport.d.ts.map +1 -1
  216. package/dist/runSupport.js +3 -1
  217. package/dist/runSupport.js.map +1 -1
  218. package/dist/runTelemetryWriter.d.ts +18 -5
  219. package/dist/runTelemetryWriter.d.ts.map +1 -1
  220. package/dist/runTelemetryWriter.js +7 -2
  221. package/dist/runTelemetryWriter.js.map +1 -1
  222. package/dist/runTerminalResults.d.ts.map +1 -1
  223. package/dist/runTerminalResults.js +22 -7
  224. package/dist/runTerminalResults.js.map +1 -1
  225. package/dist/runTerminals.d.ts.map +1 -1
  226. package/dist/runTerminals.js +19 -8
  227. package/dist/runTerminals.js.map +1 -1
  228. package/dist/secretDiff.d.ts.map +1 -1
  229. package/dist/secretDiff.js +2 -1
  230. package/dist/secretDiff.js.map +1 -1
  231. package/dist/transientClassify.d.ts +17 -9
  232. package/dist/transientClassify.d.ts.map +1 -1
  233. package/dist/transientClassify.js +33 -9
  234. package/dist/transientClassify.js.map +1 -1
  235. package/dist/webEvidence.d.ts +41 -0
  236. package/dist/webEvidence.d.ts.map +1 -0
  237. package/dist/webEvidence.js +99 -0
  238. package/dist/webEvidence.js.map +1 -0
  239. package/dist/workReportEnvelope.d.ts +12 -0
  240. package/dist/workReportEnvelope.d.ts.map +1 -1
  241. package/dist/workReportEnvelope.js +19 -0
  242. package/dist/workReportEnvelope.js.map +1 -1
  243. package/package.json +17 -17
  244. package/dist/continuation-chain.test-support.d.ts +0 -473
  245. package/dist/continuation-chain.test-support.d.ts.map +0 -1
  246. package/dist/continuation-chain.test-support.js +0 -206
  247. package/dist/continuation-chain.test-support.js.map +0 -1
  248. package/dist/inrun-continuity.test-support.d.ts +0 -504
  249. package/dist/inrun-continuity.test-support.d.ts.map +0 -1
  250. package/dist/inrun-continuity.test-support.js +0 -212
  251. package/dist/inrun-continuity.test-support.js.map +0 -1
@@ -1,4 +1,3 @@
1
- import { commandOutcomeUnconfirmed } from "@claudexor/schema";
2
1
  import { attemptUsageCostSummary, newAttemptUsageCost, observeAttemptUsageEvent, } from "./attemptUsageCost.js";
3
2
  import { redactSecrets } from "@claudexor/util";
4
3
  import * as belt from "./delegationToolEvidence.js";
@@ -6,7 +5,10 @@ import * as marks from "./attemptOutputMarkers.js";
6
5
  import { observeProcessing } from "./processing-telemetry.js";
7
6
  import { observeObservedModel } from "./observed-model-telemetry.js";
8
7
  import { observePromptCacheTtl } from "./prompt-cache-telemetry.js";
9
- import { classifyCompletedCrash, classifyRateLimit, classifyPermissionDenial, classifyStatusError, classifyTransientSignal, } from "./transientClassify.js";
8
+ import { observeCommandReport, recoverable } from "./command-telemetry.js";
9
+ import * as routes from "./routeControls.js";
10
+ import * as evidence from "./webEvidence.js";
11
+ import { classifyCompletedCrash, classifyRateLimit, classifyPermissionDenial, classifyStatusError, classifyTransientSignal, completionVendorFailure, } from "./transientClassify.js";
10
12
  export { classifyAdapterThrow } from "./transientClassify.js";
11
13
  export function createAttemptTelemetry(policy, webRequired, effectiveMode = policy, requestRequirements = [], requestedModel = null,
12
14
  /** The delegation-belt MCP server name injected into THIS attempt's spec, or
@@ -21,18 +23,7 @@ browserServerName = null) {
21
23
  toolErrors: [],
22
24
  statuslessResults: 0,
23
25
  droppedEvents: 0,
24
- web: {
25
- required: webRequired,
26
- mode: policy,
27
- effectiveMode,
28
- attempted: false,
29
- satisfied: false,
30
- failed: false,
31
- verification: "none",
32
- tool: null,
33
- target: null,
34
- errorSummary: null,
35
- },
26
+ web: evidence.newWebEvidence(webRequired, policy, effectiveMode),
36
27
  observedModel: null,
37
28
  authMode: null,
38
29
  currentAuthMode: null,
@@ -41,6 +32,7 @@ browserServerName = null) {
41
32
  requestedModel,
42
33
  transientFailures: [],
43
34
  transientRetries: 0,
35
+ vendorFailure: null,
44
36
  rateLimits: [],
45
37
  outputMarkers: marks.newAttemptOutputMarkers(),
46
38
  delegationBelt: {
@@ -56,9 +48,11 @@ browserServerName = null) {
56
48
  attempted: false,
57
49
  satisfied: false,
58
50
  failed: false,
51
+ startup: null,
59
52
  },
60
53
  contextExhausted: false,
61
54
  contextExhaustedCause: null,
55
+ turnLimitReached: false,
62
56
  sideToolWorkReport: null,
63
57
  outcome: null,
64
58
  usage: { inputTokens: null, outputTokens: null, cachedInputTokens: null },
@@ -97,23 +91,17 @@ function matchesBrowser(t, tool) {
97
91
  export function browserUnused(t) {
98
92
  return t.browser.requested && !t.browser.attempted && t.web.satisfied;
99
93
  }
100
- /** QA-042: raise the web retrieval strength, never downgrading a proven
101
- * `verified`. A typed success promotes to verified; any other satisfied web
102
- * activity is dispatch-strength (completed, content not typed-proven). */
103
- function bumpWebVerification(t, retrieval) {
104
- if (retrieval === "verified")
105
- t.web.verification = "verified";
106
- else if (t.web.verification !== "verified")
107
- t.web.verification = "dispatched";
108
- }
109
94
  /** Observe typed adapter evidence, never payload strings or tool-name heuristics. */
110
95
  export function observeAttemptTelemetry(t, ev) {
111
96
  if (ev.type === "error" && ev.request_refusal)
112
97
  t.requestRefusal = ev.request_refusal;
113
98
  observeProcessing(t, ev);
114
99
  observePromptCacheTtl(t, ev);
100
+ observeCommandReport(t, ev);
115
101
  if (ev.effort_resolution)
116
102
  t.effortResolution = ev.effort_resolution;
103
+ routes.observeRouteControls(t, ev);
104
+ evidence.observeBrowserStartup(t.browser, ev);
117
105
  if (ev.raw_context)
118
106
  t.rawContext = ev.raw_context;
119
107
  marks.observeAttemptOutputMarkers(t.outputMarkers, ev);
@@ -163,11 +151,9 @@ export function observeAttemptTelemetry(t, ev) {
163
151
  });
164
152
  t.transientFailures.push(classifyRateLimit(ev.rate_limit.retry_delay_ms ?? null));
165
153
  }
166
- if (ev.status?.error_category) {
167
- const obs = classifyStatusError(ev.status.error_category, ev.status.retry_delay_ms ?? null);
168
- if (obs)
169
- t.transientFailures.push(obs);
170
- }
154
+ const statusFailure = classifyStatusError(ev);
155
+ if (statusFailure)
156
+ t.transientFailures.push(statusFailure);
171
157
  // D-16 context signal: a terminal capacity_exhausted marks the attempt for the
172
158
  // finalizer's interrupted/context_capacity_exhausted mapping. Context signals
173
159
  // NEVER enter the transient-retry loop (they are not transient failures).
@@ -175,6 +161,8 @@ export function observeAttemptTelemetry(t, ev) {
175
161
  t.contextExhausted = true;
176
162
  t.contextExhaustedCause = ev.context.cause ?? null;
177
163
  }
164
+ if (ev.turn_limit)
165
+ t.turnLimitReached = true;
178
166
  // D-16c side_tool: capture the raw work_report the StructuredOutput tool
179
167
  // surfaced on the final message (last-wins). The unwrap validates it.
180
168
  const sideTool = ev.payload?.["work_report_side_tool"];
@@ -199,6 +187,7 @@ export function observeAttemptTelemetry(t, ev) {
199
187
  const crash = classifyCompletedCrash(ev.payload);
200
188
  if (crash)
201
189
  t.transientFailures.push(crash);
190
+ t.vendorFailure = completionVendorFailure(ev);
202
191
  return;
203
192
  }
204
193
  const tool = ev.tool;
@@ -290,7 +279,7 @@ export function observeAttemptTelemetry(t, ev) {
290
279
  // use id when both sides have one (else the legacy tuple key), and an observed
291
280
  // command end: a background handoff or elapsed timeout proves nothing (#450).
292
281
  const resultToolUseId = tool.use_id ?? null;
293
- for (const err of commandOutcomeUnconfirmed(tool.command_outcome) ? [] : t.toolErrors) {
282
+ for (const err of recoverable(t.toolErrors, tool.command_outcome)) {
294
283
  // INV-043: a later identical-looking invocation cannot launder an earlier
295
284
  // error when both vendor records prove different invocation ids.
296
285
  if (!err.recovered &&
@@ -318,18 +307,17 @@ export function observeAttemptTelemetry(t, ev) {
318
307
  : null;
319
308
  t.web.tool = tool.name;
320
309
  t.web.target = tool.target ?? t.web.target;
321
- // QA-042: typed retrieval is verified; dispatch-only completion stays
322
- // dispatched. An absent stamp never claims verification.
323
- bumpWebVerification(t, tool.web_retrieval);
310
+ evidence.bumpWebRetrieval(t.web, tool, false);
324
311
  }
325
- // QA-040: a successful engine-injected browser call is verified web activity;
326
- // user MCP servers cannot match this namespace.
312
+ // QA-040: a successful engine-injected browser call is satisfied web activity;
313
+ // user MCP servers cannot match this namespace. #118: only the adapter's own
314
+ // stamp says it retrieved a page; one that read no web page retrieved nothing.
327
315
  if (matchesBrowser(t, tool)) {
328
316
  t.browser.attempted = true;
329
317
  t.browser.satisfied = true;
330
318
  t.web.attempted = true;
331
319
  t.web.satisfied = true;
332
- t.web.verification = "verified";
320
+ evidence.bumpWebRetrieval(t.web, tool, true);
333
321
  // The recovery loop above already marked a matching earlier browser error
334
322
  // recovered; recompute the disclosed failure rollup from what remains.
335
323
  t.browser.failed = t.toolErrors.some((e) => e.kind === "mcp" &&
@@ -378,15 +366,6 @@ export function setAttemptOutcome(t, opts) {
378
366
  ...(opts.workState ? { workState: opts.workState } : {}),
379
367
  };
380
368
  }
381
- function webStatus(t) {
382
- if (t.web.satisfied)
383
- return "satisfied";
384
- if (t.web.failed)
385
- return "failed";
386
- if (t.web.attempted)
387
- return "attempted";
388
- return t.web.required ? "unverified" : "none";
389
- }
390
369
  /** Bounded telemetry summary for events/artifacts (full detail lives in telemetry.yaml). */
391
370
  export function telemetrySummary(t) {
392
371
  const unrecovered = unrecoveredToolErrors(t);
@@ -399,7 +378,7 @@ export function telemetrySummary(t) {
399
378
  effective_mode: t.web.effectiveMode,
400
379
  attempted: t.web.attempted,
401
380
  satisfied: t.web.satisfied,
402
- status: webStatus(t),
381
+ status: evidence.webStatus(t.web),
403
382
  verification: t.web.verification,
404
383
  tool: t.web.tool,
405
384
  target: t.web.target,
@@ -455,8 +434,9 @@ export function telemetrySummary(t) {
455
434
  ...(t.statuslessResults > 0 ? { statusless_tool_results: t.statuslessResults } : {}),
456
435
  };
457
436
  }
458
- export function attemptTelemetryRecord(attemptId, harnessId, t) {
459
- const errors = t.toolErrors.slice(-TELEMETRY_TOOL_ERRORS_MAX);
437
+ export function attemptTelemetryRecord(attemptId, harnessId, t,
438
+ /** The attempt's applied facts, where the lane recorded them (Agent attempts). */
439
+ applied) {
460
440
  const warnings = toolWarnings(t);
461
441
  return {
462
442
  usage_cost: attemptUsageCostSummary(t.usageCost),
@@ -475,19 +455,9 @@ export function attemptTelemetryRecord(attemptId, harnessId, t) {
475
455
  profile_id: t.profileId,
476
456
  requested_model: t.requestedModel,
477
457
  request_requirements: t.requestRequirements,
478
- web: {
479
- required: t.web.required,
480
- policy: t.web.mode,
481
- effective_mode: t.web.effectiveMode,
482
- attempted: t.web.attempted,
483
- satisfied: t.web.satisfied,
484
- status: webStatus(t),
485
- verification: t.web.verification,
486
- tool: t.web.tool,
487
- target: t.web.target,
488
- error_summary: t.web.errorSummary,
489
- },
490
- tool_errors: errors.map((e) => ({
458
+ web: evidence.webEvidenceRecord(t.web),
459
+ ...routes.routeControlsRecord(t, applied),
460
+ tool_errors: t.toolErrors.slice(-TELEMETRY_TOOL_ERRORS_MAX).map((e) => ({
491
461
  tool: e.tool,
492
462
  kind: e.kind,
493
463
  target: e.target,
@@ -497,6 +467,7 @@ export function attemptTelemetryRecord(attemptId, harnessId, t) {
497
467
  })),
498
468
  tool_errors_total: t.toolErrors.length,
499
469
  unrecovered_tool_errors: unrecoveredToolErrors(t).length,
470
+ reported_command_outcomes: t.reportedCommandOutcomes,
500
471
  statusless_tool_results: t.statuslessResults,
501
472
  dropped_events: t.droppedEvents,
502
473
  transient_failures: t.transientFailures.slice(-TELEMETRY_TOOL_ERRORS_MAX).map((e) => ({
@@ -540,6 +511,7 @@ export function attemptTelemetryRecord(attemptId, harnessId, t) {
540
511
  satisfied: t.browser.satisfied,
541
512
  failed: t.browser.failed,
542
513
  unused: browserUnused(t),
514
+ ...(t.browser.startup ? { startup: t.browser.startup } : {}),
543
515
  },
544
516
  }
545
517
  : {}),
@@ -573,25 +545,6 @@ export function aggregateRunTokenUsage(records) {
573
545
  ...(inputTokenUsage === undefined ? {} : { input_token_usage: inputTokenUsage }),
574
546
  };
575
547
  }
576
- export function aggregateRunWebEvidence(records, contract) {
577
- const satisfied = records.find((r) => r.web.satisfied);
578
- if (satisfied)
579
- return satisfied.web;
580
- const severityRank = { none: 0, attempted: 1, unverified: 2, failed: 3, satisfied: 4 };
581
- const worst = [...records].sort((a, b) => (severityRank[b.web.status] ?? 0) - (severityRank[a.web.status] ?? 0))[0];
582
- return (worst?.web ?? {
583
- required: contract.external_context.web_required,
584
- policy: contract.external_context.policy,
585
- effective_mode: contract.external_context.effective_mode,
586
- attempted: false,
587
- satisfied: false,
588
- status: contract.external_context.web_required ? "unverified" : "none",
589
- verification: "none",
590
- tool: null,
591
- target: null,
592
- error_summary: null,
593
- });
594
- }
595
548
  /**
596
549
  * Web evidence gating for explicitly persisted required-web contracts.
597
550
  * Ordinary off/auto/cached/live run construction stores required=false, so
@@ -1 +1 @@
1
- {"version":3,"file":"attemptTelemetry.js","sourceRoot":"","sources":["../src/attemptTelemetry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attemptTelemetry.js","sourceRoot":"","sources":["../src/attemptTelemetry.ts"],"names":[],"mappings":"AAgBA,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,wBAAwB,GAEzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,IAAI,MAAM,6BAA6B,CAAC;AACpD,OAAO,KAAK,KAAK,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAA4B,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,oBAAoB,EAA+B,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAAE,qBAAqB,EAA6B,MAAM,6BAA6B,CAAC;AAC/F,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAyB,MAAM,wBAAwB,CAAC;AAClG,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAEL,sBAAsB,EACtB,iBAAiB,EACjB,wBAAwB,EACxB,mBAAmB,EACnB,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAoC,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AA0HhG,MAAM,UAAU,sBAAsB,CACpC,MAA6B,EAC7B,WAAoB,EACpB,aAAa,GAA0B,MAAM,EAC7C,mBAAmB,GAAmC,EAAE,EACxD,cAAc,GAAkB,IAAI;AACpC;iFACiF;AACjF,cAAc,GAAkB,IAAI;AACpC;;wCAEwC;AACxC,iBAAiB,GAAkB,IAAI;IAEvC,OAAO;QACL,mBAAmB;QACnB,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,CAAC;QACpB,aAAa,EAAE,CAAC;QAChB,GAAG,EAAE,QAAQ,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC;QAChE,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,IAAI;QACd,eAAe,EAAE,IAAI;QACrB,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,IAAI;QACf,cAAc;QACd,iBAAiB,EAAE,EAAE;QACrB,gBAAgB,EAAE,CAAC;QACnB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,EAAE;QACd,aAAa,EAAE,KAAK,CAAC,uBAAuB,EAAE;QAC9C,cAAc,EAAE;YACd,SAAS,EAAE,cAAc,KAAK,IAAI;YAClC,UAAU,EAAE,cAAc;YAC1B,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,KAAK;SACpB;QACD,OAAO,EAAE;YACP,SAAS,EAAE,iBAAiB,KAAK,IAAI;YACrC,UAAU,EAAE,iBAAiB;YAC7B,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,IAAI;SACd;QACD,gBAAgB,EAAE,KAAK;QACvB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,KAAK;QACvB,kBAAkB,EAAE,IAAI;QACxB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE;QACzE,SAAS,EAAE,mBAAmB,EAAE;KACjC,CAAC;AACJ,CAAC;AAED,+FAA+F;AAC/F,SAAS,QAAQ,CAAC,GAAkB,EAAE,KAAyB;IAC7D,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC;AACxD,CAAC;AAED,2FAA2F;AAC3F,SAAS,mBAAmB,CAC1B,GAAgC,EAChC,KAAkC;IAElC,MAAM,GAAG,GAAG,CAAC,GAA0B,EAAiB,EAAE;QACxD,MAAM,IAAI,GAAG,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;QAClC,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAChG,CAAC,CAAC;IACF,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,cAAc,CAAC;QACjC,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,CAAC;QAC3C,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,kFAAkF;AAClF,SAAS,cAAc,CAAC,CAAmB,EAAE,IAAuC;IAClF,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;IACpC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAClD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC;AAClG,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,CAAmB;IAC/C,OAAO,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;AACxE,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,uBAAuB,CAAC,CAAmB,EAAE,EAAgB;IAC3E,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,eAAe;QAAE,CAAC,CAAC,cAAc,GAAG,EAAE,CAAC,eAAe,CAAC;IACrF,iBAAiB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACzB,qBAAqB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC7B,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,IAAI,EAAE,CAAC,iBAAiB;QAAE,CAAC,CAAC,gBAAgB,GAAG,EAAE,CAAC,iBAAiB,CAAC;IACpE,MAAM,CAAC,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACnC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC9C,IAAI,EAAE,CAAC,WAAW;QAAE,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,WAAW,CAAC;IAClD,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IACvD,4EAA4E;IAC5E,6EAA6E;IAC7E,mEAAmE;IACnE,IAAI,CAAC,CAAC,cAAc,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;QAC7E,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACjC,CAAC;IACD,gFAAgF;IAChF,4EAA4E;IAC5E,MAAM,aAAa,GACjB,CAAC,CAAC,cAAc,CAAC,SAAS;QAC1B,CAAC,CAAC,cAAc,CAAC,UAAU;QAC3B,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAClE,IAAI,aAAa,EAAE,CAAC;QAClB,CAAC,CAAC,cAAc,CAAC,YAAY,GAAG,IAAI,CAAC;IACvC,CAAC;IACD,kFAAkF;IAClF,oBAAoB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5B,wEAAwE;IACxE,wDAAwD;IACxD,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,EAAE,CAAC,gBAAgB,KAAK,eAAe;YAAE,CAAC,CAAC,QAAQ,GAAG,eAAe,CAAC;aACrE,IAAI,EAAE,CAAC,gBAAgB,KAAK,iBAAiB;YAAE,CAAC,CAAC,QAAQ,GAAG,SAAS,CAAC;IAC7E,CAAC;IACD,CAAC,CAAC,eAAe,GAAG,wBAAwB,CAAC,CAAC,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,eAAe,CAAC,CAAC;IACjF,sEAAsE;IACtE,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,iBAAiB;QAAE,CAAC,CAAC,UAAU,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAC/E,0EAA0E;IAC1E,sEAAsE;IACtE,4BAA4B;IAC5B,IAAI,EAAE,CAAC,qBAAqB;QAAE,CAAC,CAAC,SAAS,GAAG,EAAE,CAAC,qBAAqB,CAAC;IACrE,uEAAuE;IACvE,0DAA0D;IAC1D,IAAI,EAAE,CAAC,SAAS;QAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,uBAAuB,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAClF,IAAI,EAAE,CAAC,iBAAiB;QAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAC/E,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;QAClB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAChB,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,cAAc,IAAI,IAAI;YAClD,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,SAAS,IAAI,IAAI;SAC1C,CAAC,CAAC;QACH,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,IAAI,IAAI,CAAC,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,EAAE,CAAC,CAAC;IAC9C,IAAI,aAAa;QAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3D,+EAA+E;IAC/E,8EAA8E;IAC9E,0EAA0E;IAC1E,IAAI,EAAE,CAAC,OAAO,EAAE,IAAI,KAAK,oBAAoB,EAAE,CAAC;QAC9C,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC1B,CAAC,CAAC,qBAAqB,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC;IACrD,CAAC;IACD,IAAI,EAAE,CAAC,UAAU;QAAE,CAAC,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAC7C,yEAAyE;IACzE,sEAAsE;IACtE,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,uBAAuB,CAAC,CAAC;IACvD,IAAI,QAAQ,KAAK,SAAS;QAAE,CAAC,CAAC,kBAAkB,GAAG,QAAQ,CAAC;IAC5D,4EAA4E;IAC5E,8EAA8E;IAC9E,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACpC,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC3E,CAAC,CAAC,KAAK,CAAC,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9E,CAAC,CAAC,KAAK,CAAC,iBAAiB,GAAG,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QAC9F,mEAAmE;QACnE,CAAC,CAAC,KAAK,CAAC,eAAe,GAAG,mBAAmB,CAC3C,CAAC,CAAC,KAAK,CAAC,eAAe,EACvB,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAC3B,CAAC;IACJ,CAAC;IACD,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAC5B,MAAM,OAAO,GACX,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAC;YACnD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,6BAA6B,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,CAAC,CAAC,aAAa,IAAI,OAAO,CAAC;QACxE,yEAAyE;QACzE,2EAA2E;QAC3E,MAAM,KAAK,GAAG,sBAAsB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,KAAK;YAAE,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC,CAAC,aAAa,GAAG,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC9C,OAAO;IACT,CAAC;IACD,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI;QAAE,OAAO;IAElB,IAAI,EAAE,CAAC,IAAI,KAAK,WAAW,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa,EAAE,CAAC;QACzD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,6EAA6E;QAC7E,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YACrC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAC7C,CAAC;QACD,OAAO;IACT,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,aAAa;QAAE,OAAO;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,6DAA6D;QAC7D,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC;QACzB,IAAI,aAAa;YACf,IAAI,CAAC,iCAAiC,CACpC,CAAC,EACD,IAAI,EACJ,qDAAqD,CACtD,CAAC;QACJ,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC5D,IAAI,aAAa;YACf,IAAI,CAAC,iCAAiC,CACpC,CAAC,EACD,IAAI,EACJ,+CAA+C,IAAI,CAAC,MAAM,EAAE,CAC7D,CAAC;QACJ,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,aAAa,CAC3B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,IAAI,0BAA0B,IAAI,CAAC,MAAM,EAAE,CACtF,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;YACjB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;gBAC3B,OAAO;gBACP,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;gBAC9B,SAAS,EAAE,KAAK;aACjB,CAAC,CAAC;YACH,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,OAAO,CAAC;QAC/B,CAAC;QACD,IAAI,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,OAAO;IACT,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;YAChB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC3B,OAAO,EAAE,aAAa,CACpB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,eAAe,IAAI,0BAA0B,CACzE,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC;YAChB,SAAS,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI;YAC9B,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACxB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YAC3C,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,aAAa,CAChC,IAAI,CAAC,aAAa,IAAI,8BAA8B,CACrD,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QACnB,CAAC;QACD,uEAAuE;QACvE,2EAA2E;QAC3E,2EAA2E;QAC3E,2EAA2E;QAC3E,IAAI,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;YAC3B,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;YACxB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;YACpB,CAAC,CAAC,GAAG,CAAC,YAAY;gBAChB,CAAC,CAAC,GAAG,CAAC,YAAY;oBAClB,aAAa,CAAC,IAAI,CAAC,aAAa,IAAI,kCAAkC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC3F,CAAC;QACD,OAAO;IACT,CAAC;IACD,mFAAmF;IACnF,+EAA+E;IAC/E,8EAA8E;IAC9E,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;IAC5C,KAAK,MAAM,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,UAAU,EAAE,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;QAClE,0EAA0E;QAC1E,iEAAiE;QACjE,IACE,CAAC,GAAG,CAAC,SAAS;YACd,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACtB,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;YACtB,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC;YACpC,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,IAAI,eAAe,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,eAAe,CAAC,EACzF,CAAC;YACD,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,2EAA2E;QAC3E,4DAA4D;QAC5D,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,+DAA+D;QAC/D,oEAAoE;QACpE,2EAA2E;QAC3E,uEAAuE;QACvE,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC1E,gEAAgE;QAChE,2DAA2D;QAC3D,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM;YAC/B,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC;YAC7F,CAAC,CAAC,IAAI,CAAC;QACT,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;QAC3C,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IACD,+EAA+E;IAC/E,6EAA6E;IAC7E,+EAA+E;IAC/E,IAAI,cAAc,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;QAC5B,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QAC3B,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,CAAC,CAAC,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC;QACvB,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QAC7C,0EAA0E;QAC1E,uEAAuE;QACvE,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,EAAE,CACJ,CAAC,CAAC,IAAI,KAAK,KAAK;YAChB,cAAc,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;YAClE,CAAC,CAAC,CAAC,SAAS,CACf,CAAC;QACF,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC9F,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM;YAAE,CAAC,CAAC,GAAG,CAAC,YAAY,GAAG,IAAI,CAAC;QAC7C,CAAC,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;QACrC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,yBAAyB,GAAG,EAAE,CAAC;AAErC,MAAM,UAAU,qBAAqB,CAAC,CAAmB;IACvD,OAAO,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,CAAmB;IAC9C,sEAAsE;IACtE,4EAA4E;IAC5E,uEAAuE;IACvE,kBAAkB;IAClB,OAAO,qBAAqB,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,CAAmB,EACnB,IAcC;IAED,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxC,MAAM,cAAc,GAClB,CAAC,CAAC,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,uBAAuB,KAAK,IAAI,CAAC;QACnE,IAAI,CAAC,WAAW,KAAK,KAAK,CAAC;IAC7B,yEAAyE;IACzE,uEAAuE;IACvE,wEAAwE;IACxE,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC,CAAC;IAC/F,MAAM,MAAM,GAAyB,IAAI,CAAC,sBAAsB;QAC9D,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,aAAa,IAAI,cAAc,IAAI,eAAe;YAC9E,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,QAAQ,GAAG,CAAC;gBACZ,CAAC,CAAC,uBAAuB;gBACzB,CAAC,CAAC,SAAS,CAAC;IAClB,CAAC,CAAC,OAAO,GAAG;QACV,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,cAAc,EAAE,IAAI,CAAC,cAAc;QACnC,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;QACnD,iBAAiB,EAAE,QAAQ;QAC3B,MAAM;QACN,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACzD,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,gBAAgB,CAAC,CAAmB;IAClD,MAAM,WAAW,GAAG,qBAAqB,CAAC,CAAC,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO;QACL,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,YAAY,EAAE;YACZ,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ;YACxB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;YAChB,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa;YACnC,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;YAC1B,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS;YAC1B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;YACjC,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY;YAChC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI;YAChB,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM;YACpB,aAAa,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY;SAClC;QACD,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;YACrB,CAAC,CAAC;gBACE,gBAAgB,EAAE;oBAChB,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;oBACjC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;oBAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;oBAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;oBACxB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;iBACzB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,iBAAiB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;QACtC,uBAAuB,EAAE,WAAW,CAAC,MAAM;QAC3C,WAAW,EAAE,WAAW;aACrB,KAAK,CAAC,CAAC,CAAC,CAAC;aACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACrF,mBAAmB,EAAE,QAAQ,CAAC,MAAM;QACpC,GAAG,CAAC,QAAQ,CAAC,MAAM;YACjB,CAAC,CAAC;gBACE,aAAa,EAAE,QAAQ;qBACpB,KAAK,CAAC,CAAC,CAAC,CAAC;qBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACtF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS;YAC5B,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU;oBACxC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK;oBAC7B,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM;oBAC/B,aAAa,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY;oBAC5C,WAAW,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;iBAC/C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC;YAChC,CAAC,CAAC;gBACE,kBAAkB,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5D,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,cAAc,EAAE,CAAC,CAAC,YAAY;iBAC/B,CAAC,CAAC;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACrF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,SAAiB,EACjB,SAAiB,EACjB,CAAmB;AACnB,kFAAkF;AAClF,OAA6C;IAE7C,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;IACjC,OAAO;QACL,UAAU,EAAE,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;QAChD,iBAAiB,EAAE,CAAC,CAAC,gBAAgB;QACrC,eAAe,EAAE,CAAC,CAAC,cAAc;QACjC,WAAW,EAAE,CAAC,CAAC,UAAU;QACzB,UAAU,EAAE,CAAC,CAAC,UAAU;QACxB,qBAAqB,EAAE,CAAC,CAAC,mBAAmB;QAC5C,gBAAgB,EAAE,CAAC,CAAC,cAAc;QAClC,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,cAAc,EAAE,CAAC,CAAC,aAAa;QAC/B,4BAA4B,EAAE,CAAC,CAAC,yBAAyB,IAAI,IAAI;QACjE,SAAS,EAAE,CAAC,CAAC,QAAQ;QACrB,WAAW,EAAE,CAAC,CAAC,UAAU;QACzB,UAAU,EAAE,CAAC,CAAC,SAAS;QACvB,eAAe,EAAE,CAAC,CAAC,cAAc;QACjC,oBAAoB,EAAE,CAAC,CAAC,mBAAmB;QAC3C,GAAG,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC;QACtC,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC;QACzC,WAAW,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtE,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,WAAW,EAAE,CAAC,CAAC,SAAS;SACzB,CAAC,CAAC;QACH,iBAAiB,EAAE,CAAC,CAAC,UAAU,CAAC,MAAM;QACtC,uBAAuB,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,MAAM;QACxD,yBAAyB,EAAE,CAAC,CAAC,uBAAuB;QACpD,uBAAuB,EAAE,CAAC,CAAC,iBAAiB;QAC5C,cAAc,EAAE,CAAC,CAAC,aAAa;QAC/B,kBAAkB,EAAE,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACpF,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,cAAc,EAAE,CAAC,CAAC,YAAY;YAC9B,WAAW,EAAE,CAAC,CAAC,UAAU;YACzB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,WAAW;SAC5B,CAAC,CAAC;QACH,OAAO,EAAE;YACP,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,kBAAkB,IAAI,KAAK;YAC3D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,IAAI,IAAI;YAC5C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK;YACnD,wBAAwB,EAAE,CAAC,CAAC,OAAO,EAAE,sBAAsB,IAAI,KAAK;YACpE,2BAA2B,EAAE,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YAC9D,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,iBAAiB,IAAI,QAAQ,CAAC,MAAM;YACpE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrE;QACD,6EAA6E;QAC7E,GAAG,CAAC,CAAC,CAAC,cAAc,CAAC,SAAS;YAC5B,CAAC,CAAC;gBACE,eAAe,EAAE;oBACf,SAAS,EAAE,CAAC,CAAC,cAAc,CAAC,SAAS;oBACrC,WAAW,EAAE,CAAC,CAAC,cAAc,CAAC,UAAU;oBACxC,KAAK,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK;oBAC7B,MAAM,EAAE,CAAC,CAAC,cAAc,CAAC,MAAM;oBAC/B,aAAa,EAAE,CAAC,CAAC,cAAc,CAAC,YAAY;iBAC7C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,qEAAqE;QACrE,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS;YACrB,CAAC,CAAC;gBACE,OAAO,EAAE;oBACP,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;oBAC9B,WAAW,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU;oBACjC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;oBAC9B,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS;oBAC9B,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM;oBACxB,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC;oBACxB,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC7D;aACF;YACH,CAAC,CAAC,EAAE,CAAC;QACP,KAAK,EAAE;YACL,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW;YACjC,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY;YACnC,mBAAmB,EAAE,CAAC,CAAC,KAAK,CAAC,iBAAiB;YAC9C,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,KAAK,SAAS;gBACvC,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,EAAE,iBAAiB,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;SACpD;KACF,CAAC;AACJ,CAAC;AAED;kFACkF;AAClF,MAAM,UAAU,sBAAsB,CACpC,OAAiC;IAEjC,MAAM,GAAG,GAAG,CAAC,IAA2D,EAAiB,EAAE;QACzF,IAAI,KAAK,GAAkB,IAAI,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,KAAK,IAAI;gBAAE,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CACpC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EACzE,SAAS,CACV,CAAC;IACF,OAAO;QACL,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QACxC,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC1C,mBAAmB,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC;QACtD,GAAG,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,eAAe,EAAE,CAAC;KACjF,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,CAAmB;IAChD,OAAO,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC;AAC5C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"attemptUsage.d.ts","sourceRoot":"","sources":["../src/attemptUsage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9E,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CA4BpE"}
1
+ {"version":3,"file":"attemptUsage.d.ts","sourceRoot":"","sources":["../src/attemptUsage.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,gFAAgF;AAChF,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IACzC,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;IAC9E,WAAW,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC;IAC/C,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,OAAO,CAAC;IAAC,cAAc,EAAE,OAAO,CAAA;CAAE,CAyBpE"}
@@ -1,21 +1,13 @@
1
+ import { observeUsageSpend } from "./laneStreamEvents.js";
1
2
  /** One owner for streamed usage accumulation + mid-flight cash-cap behavior. */
2
3
  export function processAttemptUsage(input) {
3
- const usage = input.event.usage;
4
- if (!usage?.cost_usd) {
5
- return { cost: input.cost, costEstimated: input.costEstimated, hardCapReached: false };
6
- }
7
- const cost = input.cost + usage.cost_usd;
8
- const costEstimated = input.costEstimated || usage.estimated === true;
9
- input.emit?.("budget.observation", {
10
- harness_id: input.harnessId,
11
- attempt_id: input.attemptId,
12
- kind: "spend",
13
- usd: usage.cost_usd,
14
- estimated: usage.estimated === true,
15
- });
4
+ const spend = observeUsageSpend(input.event, (type, payload) => input.emit?.(type, payload), input.harnessId, input.attemptId, input.telemetry.usageCost);
5
+ const cost = input.cost + spend.costUsd;
6
+ const costEstimated = input.costEstimated || spend.estimated;
16
7
  const paidOrUnknown = input.telemetry.usageCost.cashUsd +
17
8
  (input.telemetry.usageCost.unknownPaidUsd ?? input.telemetry.usageCost.unknownUsd);
18
- if (paidOrUnknown > 0 && input.budgetGuard?.(paidOrUnknown)) {
9
+ // A reported zero adds no spend, so it cannot reach the cap.
10
+ if (spend.costUsd > 0 && paidOrUnknown > 0 && input.budgetGuard?.(paidOrUnknown)) {
19
11
  input.emit?.("budget.observation", {
20
12
  harness_id: input.harnessId,
21
13
  attempt_id: input.attemptId,
@@ -1 +1 @@
1
- {"version":3,"file":"attemptUsage.js","sourceRoot":"","sources":["../src/attemptUsage.ts"],"names":[],"mappings":"AAGA,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CAAC,KAUnC;IACC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;IAChC,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrB,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;IACzF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC;IACzC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACtE,KAAK,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE;QACjC,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;QAC3B,IAAI,EAAE,OAAO;QACb,GAAG,EAAE,KAAK,CAAC,QAAQ;QACnB,SAAS,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI;KACpC,CAAC,CAAC;IACH,MAAM,aAAa,GACjB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO;QACjC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrF,IAAI,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5D,KAAK,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE;YACjC,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"attemptUsage.js","sourceRoot":"","sources":["../src/attemptUsage.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,gFAAgF;AAChF,MAAM,UAAU,mBAAmB,CAAC,KAUnC;IACC,MAAM,KAAK,GAAG,iBAAiB,CAC7B,KAAK,CAAC,KAAK,EACX,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAC9C,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,SAAS,CAAC,SAAS,CAC1B,CAAC;IACF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC;IACxC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,CAAC;IAC7D,MAAM,aAAa,GACjB,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO;QACjC,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,IAAI,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACrF,6DAA6D;IAC7D,IAAI,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC;QACjF,KAAK,CAAC,IAAI,EAAE,CAAC,oBAAoB,EAAE;YACjC,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,UAAU,EAAE,KAAK,CAAC,SAAS;YAC3B,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,2BAA2B;SACpC,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACxD,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { CostKnowledge, HarnessEvent, UsageCostSummary } from "@claudexor/schema";
2
- import { type BudgetLedger, type BudgetSettlement } from "@claudexor/budget";
1
+ import type { CostKnowledge, HarnessEvent, UsageCostBasis, UsageCostSummary } from "@claudexor/schema";
2
+ import { type BudgetLedger, type BudgetSettlement, type ObservedUsageAmounts } from "@claudexor/budget";
3
3
  import type { AppliedAttemptFacts } from "./delegatedHome.js";
4
4
  export interface AttemptUsageCost {
5
5
  cashUsd: number;
@@ -12,6 +12,10 @@ export interface AttemptUsageCost {
12
12
  readonly unknownPaidUsd?: number;
13
13
  /** Included work whose route reported no actual debit (reported cash unknown). */
14
14
  readonly allowanceDebitUnobserved?: boolean;
15
+ /** Meanings a usage event reported an amount for, zero included. */
16
+ readonly observedAmounts?: ObservedUsageAmounts;
17
+ /** Meaning of the latest reported amount. */
18
+ readonly lastAmountKind?: UsageCostBasis["kind"] | null;
15
19
  }
16
20
  export interface AttemptFailureCost {
17
21
  totalUsd: number;
@@ -53,6 +57,11 @@ export declare function newAttemptUsageCost(): AttemptUsageCost;
53
57
  /** Attempt-record projection. Reported cash stays unknown when an included
54
58
  * route reported no actual debit, while settlement keeps the controllable fact. */
55
59
  export declare function attemptUsageCostSummary(cost: AttemptUsageCost): UsageCostSummary;
60
+ /** One clean attempt's routing cost sample. Null means unpriced and clears the
61
+ * average. The only zero sample is a reported cash receipt with a known total:
62
+ * included work without a receipt, a zero valuation and an earlier unpriced
63
+ * interval are not evidence that the route is free. */
64
+ export declare function attemptRoutingCostSample(costUsd: number, usage: AttemptUsageCost): number | null;
56
65
  /** Observe one event and return the route to carry into the next event. */
57
66
  export declare function observeAttemptUsageEvent(cost: AttemptUsageCost, event: HarnessEvent, previousMode: "local_session" | "api_key" | null): "local_session" | "api_key" | null;
58
67
  //# sourceMappingURL=attemptUsageCost.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attemptUsageCost.d.ts","sourceRoot":"","sources":["../src/attemptUsageCost.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACvF,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,aAAa,CAAC;IAC5C,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC,kFAAkF;IAClF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;CAC7C;AAID,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,gBAAgB,CAAC;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,sBAAsB,EAAE,MAAM,CAAC;CAChC,GAAG,IAAI,CAcP;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IAG7C,QAAQ,CAAC,WAAW,EAAE,kBAAkB;IAF1C,YACE,KAAK,EAAE,OAAO,EACL,WAAW,EAAE,kBAAkB,EAIzC;CACF;AAED,kFAAkF;AAClF,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,kBAAkB,GAAG,CAAC,CAM3F;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,cAAc,EAAE,MAAM,EACtB,eAAe,CAAC,EAAE,MAAM,GACvB,kBAAkB,CAepB;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,kBAAkB,EACxB,KAAK,EAAE,WAAW,GAAG,SAAS,EAC9B,OAAO,EAAE,MAAM;AACf;;;sCAGsC;AACtC,OAAO,EAAE,mBAAmB,GAC3B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAWzB;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,CAoBtD;AAED;mFACmF;AACnF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,gBAAgB,GAAG,gBAAgB,CAWhF;AAED,2EAA2E;AAC3E,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,gBAAgB,EACtB,KAAK,EAAE,YAAY,EACnB,YAAY,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,GAC/C,eAAe,GAAG,SAAS,GAAG,IAAI,CAuBpC"}
1
+ {"version":3,"file":"attemptUsageCost.d.ts","sourceRoot":"","sources":["../src/attemptUsageCost.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { attemptUsageCostSettlement, reportedCashKnowledge, unknownCostSettlement, UsageCostTracker, } from "@claudexor/budget";
1
+ import { attemptUsageCostSettlement, reportedCashKnowledge, reportedUsageCostUsd, unknownCostSettlement, UsageCostTracker, } from "@claudexor/budget";
2
2
  const usageTrackers = new WeakMap();
3
3
  /**
4
4
  * Settle a granted attempt lease exactly where its owning outer finally runs.
@@ -80,6 +80,8 @@ export function newAttemptUsageCost() {
80
80
  enumerable: false,
81
81
  get: () => tracker.snapshot().allowanceDebitUnobserved,
82
82
  },
83
+ observedAmounts: { enumerable: false, get: () => tracker.snapshot().observedAmounts },
84
+ lastAmountKind: { enumerable: false, get: () => tracker.lastAmountKind },
83
85
  });
84
86
  return cost;
85
87
  }
@@ -94,6 +96,17 @@ export function attemptUsageCostSummary(cost) {
94
96
  valuationKnowledge: cost.valuationKnowledge ?? "unknown",
95
97
  };
96
98
  }
99
+ /** One clean attempt's routing cost sample. Null means unpriced and clears the
100
+ * average. The only zero sample is a reported cash receipt with a known total:
101
+ * included work without a receipt, a zero valuation and an earlier unpriced
102
+ * interval are not evidence that the route is free. */
103
+ export function attemptRoutingCostSample(costUsd, usage) {
104
+ if (costUsd > 0)
105
+ return costUsd;
106
+ const receipt = usage.observedAmounts?.cash === true && usage.cashUsd === 0;
107
+ const total = reportedCashKnowledge(usage.cashKnowledge ?? "unknown", usage.allowanceDebitUnobserved);
108
+ return receipt && total !== "unknown" ? 0 : null;
109
+ }
97
110
  /** Observe one event and return the route to carry into the next event. */
98
111
  export function observeAttemptUsageEvent(cost, event, previousMode) {
99
112
  const tracker = trackerFor(cost);
@@ -111,8 +124,8 @@ export function observeAttemptUsageEvent(cost, event, previousMode) {
111
124
  mode = "api_key";
112
125
  }
113
126
  tracker.observeEvent(mode, event);
114
- const usd = event.usage?.cost_usd;
115
- if (typeof usd === "number" && Number.isFinite(usd) && usd >= 0) {
127
+ const usd = reportedUsageCostUsd(event);
128
+ if (usd !== undefined) {
116
129
  const receiptMode = event.credential_route === "vendor_native"
117
130
  ? "local_session"
118
131
  : event.credential_route === "managed_api_key"
@@ -1 +1 @@
1
- {"version":3,"file":"attemptUsageCost.js","sourceRoot":"","sources":["../src/attemptUsageCost.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attemptUsageCost.js","sourceRoot":"","sources":["../src/attemptUsageCost.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,gBAAgB,GAIjB,MAAM,mBAAmB,CAAC;AAoB3B,MAAM,aAAa,GAAG,IAAI,OAAO,EAAsC,CAAC;AAQxE;;;;GAIG;AACH,MAAM,UAAU,yBAAyB,CAAC,IAUzC;IACC,IAAI,CAAC,MAAM,CAAC,MAAM,CAChB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,SAAS;QACZ,CAAC,CAAC,0BAA0B,CACxB,IAAI,CAAC,OAAO,EACZ,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,QAAQ,IAAI,IAAI,EACrB,IAAI,CAAC,SAAS,CACf;QACH,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CACvD,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,sBAAuB,SAAQ,KAAK;IAGpC,WAAW;IAFtB,YACE,KAAc,EACL,WAA+B;QAExC,KAAK,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;2BAFhE,WAAW;QAGpB,IAAI,CAAC,IAAI,GAAG,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,kFAAkF;AAClF,MAAM,UAAU,sBAAsB,CAAI,IAAa,EAAE,WAA+B;IACtF,IAAI,CAAC;QACH,OAAO,IAAI,EAAE,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IACvD,CAAC;AACH,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,cAAsB,EACtB,eAAwB;IAExB,IAAI,KAAK,YAAY,sBAAsB;QAAE,OAAO,KAAK,CAAC,WAAW,CAAC;IACtE,MAAM,cAAc,GAClB,OAAQ,KAA+B,EAAE,OAAO,KAAK,QAAQ;QAC7D,MAAM,CAAC,QAAQ,CAAE,KAA6B,CAAC,OAAO,CAAC;QACtD,KAA6B,CAAC,OAAO,IAAI,CAAC;QACzC,CAAC,CAAE,KAA6B,CAAC,OAAO;QACxC,CAAC,CAAC,eAAe,CAAC;IACtB,OAAO;QACL,QAAQ,EAAE,cAAc,IAAI,CAAC;QAC7B,wEAAwE;QACxE,6EAA6E;QAC7E,SAAS,EAAE,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC;QACpC,UAAU,EAAE,qBAAqB,CAAC,cAAc,EAAE,cAAc,CAAC;KAClE,CAAC;AACJ,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAClC,SAAiB,EACjB,SAAiB,EACjB,IAAwB,EACxB,KAA8B,EAC9B,OAAe;AACf;;;sCAGsC;AACtC,OAA4B;IAE5B,OAAO;QACL,UAAU,EAAE,SAAS;QACrB,UAAU,EAAE,SAAS;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,cAAc,EAAE,IAAI,CAAC,SAAS;QAC9B,OAAO,EAAE,IAAI;QACb,KAAK;QACL,MAAM,EAAE,CAAC,OAAO,CAAC;QACjB,GAAG,OAAO;KACX,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,IAAI,GAAqB;QAC7B,OAAO,EAAE,CAAC;QACV,YAAY,EAAE,CAAC;QACf,UAAU,EAAE,CAAC;QACb,aAAa,EAAE,KAAK;QACpB,kBAAkB,EAAE,KAAK;KAC1B,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC3C,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACjC,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE;QAC5B,aAAa,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,aAAa,EAAE;QACjF,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,kBAAkB,EAAE;QAC3F,cAAc,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE;QACxE,wBAAwB,EAAE;YACxB,UAAU,EAAE,KAAK;YACjB,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,wBAAwB;SACvD;QACD,eAAe,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE;QACrF,cAAc,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE;KACzE,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;mFACmF;AACnF,MAAM,UAAU,uBAAuB,CAAC,IAAsB;IAC5D,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,aAAa,EAAE,qBAAqB,CAClC,IAAI,CAAC,aAAa,IAAI,SAAS,EAC/B,IAAI,CAAC,wBAAwB,CAC9B;QACD,kBAAkB,EAAE,IAAI,CAAC,kBAAkB,IAAI,SAAS;KACzD,CAAC;AACJ,CAAC;AAED;;;uDAGuD;AACvD,MAAM,UAAU,wBAAwB,CAAC,OAAe,EAAE,KAAuB;IAC/E,IAAI,OAAO,GAAG,CAAC;QAAE,OAAO,OAAO,CAAC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC,eAAe,EAAE,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC;IAC5E,MAAM,KAAK,GAAG,qBAAqB,CACjC,KAAK,CAAC,aAAa,IAAI,SAAS,EAChC,KAAK,CAAC,wBAAwB,CAC/B,CAAC;IACF,OAAO,OAAO,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACnD,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,wBAAwB,CACtC,IAAsB,EACtB,KAAmB,EACnB,YAAgD;IAEhD,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;IAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,YAAY,EAAE,CAAC;IACrD,IAAI,KAAK,CAAC,gBAAgB,KAAK,eAAe;QAAE,IAAI,GAAG,eAAe,CAAC;SAClE,IAAI,KAAK,CAAC,gBAAgB,KAAK,iBAAiB;QAAE,IAAI,GAAG,SAAS,CAAC;IACxE,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1E,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,cAAc;YAAE,IAAI,GAAG,eAAe,CAAC;aACxE,IAAI,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,SAAS;YAAE,IAAI,GAAG,SAAS,CAAC;IACzE,CAAC;IACD,OAAO,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACxC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,MAAM,WAAW,GACf,KAAK,CAAC,gBAAgB,KAAK,eAAe;YACxC,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,KAAK,CAAC,gBAAgB,KAAK,iBAAiB;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,IAAI,CAAC;QACb,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,EAAE,KAAK,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,CAAC,aAAa,EAAE,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,UAAU,CAAC,IAAsB;IACxC,IAAI,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QACrC,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -1,11 +1,12 @@
1
1
  import type { GateResult, ReviewFinding, RunOutcomeFacts, TaskContract } from "@claudexor/schema";
2
2
  import type { CandidateEvidence } from "@claudexor/arbitration";
3
- import type { AttemptOutcomeClass } from "./attemptFinalize.js";
3
+ import type { AttemptInterruption, AttemptOutcomeClass } from "./attemptFinalize.js";
4
4
  import type { AttemptTelemetry } from "./attemptTelemetry.js";
5
5
  import type { DeclaredFailure } from "./runTerminalResults.js";
6
6
  import type { AppliedAttemptFacts } from "./delegatedHome.js";
7
7
  import type { ProducedOmission } from "./candidateOutputs.js";
8
8
  import type { CaptureRefusal } from "./secretDiff.js";
9
+ import { type TelemetryAttempt } from "./runTelemetryWriter.js";
9
10
  import { type DirectoryCandidate } from "./directoryCandidate.js";
10
11
  import type { ContinuityTerminalFacts } from "./continuity-terminal.js";
11
12
  import type { CandidateObjectFacts } from "./secretDiff.js";
@@ -13,6 +14,21 @@ import type { CandidateObjectFacts } from "./secretDiff.js";
13
14
  * answers by its trees, since its patch view may be absent; a legacy patch by
14
15
  * its text; a directory result by its manifest. */
15
16
  export declare function hasCandidateChanges(run: Pick<CandidateRun, "diff" | "result" | "files">): boolean;
17
+ /** A Git candidate whose COMPLETE final capture found no change (#502): its
18
+ * object result's trees agree. A refused or never-taken capture (no result),
19
+ * a refused continuation and a directory result are unknown, never unchanged. */
20
+ export declare function capturedNoGitChange(run: Pick<CandidateRun, "result" | "files" | "captureRefusal" | "continuationRefusal">): boolean;
21
+ /** The persisted form of the exact capture fact (#612). `null` means the
22
+ * producer cannot prove a Git capture was complete (directory output, missing
23
+ * result, or a refusal); a boolean is known only for a complete Git capture.
24
+ * Keeping unknown distinct from `false` prevents a failed capture from being
25
+ * mistaken for an unchanged tree by retention. */
26
+ export declare function capturedNoGitChangeValue(run: Pick<CandidateRun, "result" | "files" | "captureRefusal" | "continuationRefusal">): boolean | null;
27
+ /** Whether a live in-place turn takes its post-turn fence: the revert anchor's
28
+ * postimage. A refused capture has no anchor; a roster whose complete captures
29
+ * found no change has no revert target, and every reader of the fence is gated
30
+ * on a candidate change, so neither takes a snapshot (#502). */
31
+ export declare function needsPostTurnFence(runs: readonly CandidateRun[]): boolean;
16
32
  export interface CandidateRun extends ContinuityTerminalFacts, CandidateObjectFacts {
17
33
  attemptId: string;
18
34
  harnessId: string;
@@ -36,6 +52,13 @@ export interface CandidateRun extends ContinuityTerminalFacts, CandidateObjectFa
36
52
  /** The candidate's changes could not be captured at all. Secret-like content
37
53
  * is never a refusal; this is the honest name of a failed capture. */
38
54
  captureRefusal?: CaptureRefusal;
55
+ /** The one-shot continuation (its own attempt id) reran in this candidate's
56
+ * copy and its final capture refused: the copy is kept with this receipt,
57
+ * while this exhausted attempt still leads, since nothing superseded it. */
58
+ continuationRefusal?: {
59
+ attemptId: string;
60
+ refusal: CaptureRefusal;
61
+ };
39
62
  /** Where the exact bytes of an isolated candidate still are when its capture
40
63
  * was incomplete (the envelope is kept, not deleted). */
41
64
  exactBytesRetainedAt?: string;
@@ -58,6 +81,9 @@ export interface CandidateRun extends ContinuityTerminalFacts, CandidateObjectFa
58
81
  * applied fact instead of inferring it from the request. */
59
82
  applied?: AppliedAttemptFacts;
60
83
  }
84
+ /** Does a declared failure state a typed cause a terminal may speak with: a
85
+ * code, a config error, or a provider refusal with no code of its own (#558)? */
86
+ export declare function declaredFailureSpeaks(declared: DeclaredFailure | null | undefined): declared is DeclaredFailure;
61
87
  /**
62
88
  * The one typed refusal a run may speak with when NO candidate produced work.
63
89
  *
@@ -78,6 +104,16 @@ export declare function unanimousDeclaredFailure(runs: readonly Pick<CandidateRu
78
104
  * be reviewed/arbitrated/adopted?", shared by the race, convergence, and
79
105
  * synthesis lanes (D-16 r8) so no sibling path re-derives the veto. */
80
106
  export declare function isWorkingCandidate(run: CandidateRun): boolean;
107
+ /** Every capture refusal the candidates' attempts left, in attempt order: a
108
+ * candidate's own, then its one-shot continuation's. */
109
+ export declare function candidateCaptureRefusals(runs: readonly CandidateRun[]): CaptureRefusal[];
110
+ /** A candidate attempt's `harness.completed` payload (the first attempt and its
111
+ * one-shot continuation alike), a refused capture's receipt as its error.
112
+ * QA-027: never claim `success` over an attempt the operator/deadline cut
113
+ * short. An abort makes the run non-successful; the top-level status axis must
114
+ * say `cancelled` (the nested outcome axis already rides in telemetrySummary),
115
+ * not launder a torn-off stream as clean. */
116
+ export declare function candidateCompletion(run: CandidateRun, signal: AbortSignal | undefined): Record<string, unknown>;
81
117
  /**
82
118
  * Split the produced candidates into the set the reviewer panel / arbiter may
83
119
  * see, plus the terminal to fall back on when that set is EMPTY. When nothing
@@ -99,15 +135,13 @@ export declare function partitionCandidates(runs: CandidateRun[]): {
99
135
  facts: RunOutcomeFacts;
100
136
  why: string;
101
137
  };
138
+ /** The typed limit an interrupted candidate stopped on (#299); context when unrecorded. */
139
+ export declare function interruptionOf(run: Pick<CandidateRun, "telemetry">): AttemptInterruption;
102
140
  /** The telemetry-roster shape ({attemptId, harnessId, telemetry}) that
103
141
  * `writeRunTelemetry` and the cancelled terminals consume. ONE owner so the
104
142
  * race lane's several hand-offs don't each re-spell the same map (behavior-
105
143
  * identical to the inline form). */
106
- export declare function candidateRoster(runs: CandidateRun[]): {
107
- attemptId: string;
108
- harnessId: string;
109
- telemetry: AttemptTelemetry;
110
- }[];
144
+ export declare function candidateRoster(runs: CandidateRun[]): TelemetryAttempt[];
111
145
  /** Candidate status projection shared by normal and cancelled race results. */
112
146
  export declare function candidateStatuses(runs: readonly CandidateRun[]): {
113
147
  attemptId: string;
@@ -116,11 +150,11 @@ export declare function candidateStatuses(runs: readonly CandidateRun[]): {
116
150
  }[];
117
151
  export declare function toCandidateEvidence(run: CandidateRun, contract: TaskContract, findings: ReviewFinding[], finalReviewClean: boolean, reviewVerified?: boolean): CandidateEvidence;
118
152
  /** Convergence-loop terminal facts, ONE precedence owner (D-16 r8):
119
- * converged > interrupted (context exhausted, never arbitrated) >
153
+ * converged > interrupted (context exhausted or the max-turns cap, never arbitrated) >
120
154
  * stuck_no_progress > operator cancel > budget_exhausted > not_converged. */
121
155
  export declare function convergenceOutcomeFacts(state: {
122
156
  converged: boolean;
123
- interrupted: boolean;
157
+ interrupted: AttemptInterruption | null;
124
158
  stuckNoProgress: boolean;
125
159
  aborted: boolean;
126
160
  exhausted: boolean;