@tangle-network/agent-runtime 0.266.0 → 0.273.3

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 (76) hide show
  1. package/dist/{activation-BERiJjx5.js → activation-Cx2dKA_l.js} +2 -2
  2. package/dist/{activation-BERiJjx5.js.map → activation-Cx2dKA_l.js.map} +1 -1
  3. package/dist/{activation-VpxSbDKJ.d.ts → activation-IfDlhR3J.d.ts} +4 -4
  4. package/dist/agent.d.ts +2 -2
  5. package/dist/agent.js +2 -2
  6. package/dist/candidate-execution/index.js +2 -2
  7. package/dist/{coordination-driver-DdZ-nh_4.js → coordination-driver-CkcW4dxU.js} +173 -92
  8. package/dist/coordination-driver-CkcW4dxU.js.map +1 -0
  9. package/dist/{delegate-Ajx_PVyu.js → delegate-Dvb1-mE-.js} +2 -2
  10. package/dist/{delegate-Ajx_PVyu.js.map → delegate-Dvb1-mE-.js.map} +1 -1
  11. package/dist/durable.d.ts +3 -571
  12. package/dist/durable.js +93 -19
  13. package/dist/durable.js.map +1 -1
  14. package/dist/{graph-CK50N9vG.js → graph-C69Uxtzt.js} +17 -8
  15. package/dist/graph-C69Uxtzt.js.map +1 -0
  16. package/dist/{improvement-cycle-GRPoHLm1.js → improvement-cycle-CO2HRCQq.js} +10 -10
  17. package/dist/improvement-cycle-CO2HRCQq.js.map +1 -0
  18. package/dist/{index-CU2mlMfc.d.ts → index-D2ipSqkP.d.ts} +4335 -3055
  19. package/dist/index.d.ts +7 -451
  20. package/dist/index.js +14 -11
  21. package/dist/index.js.map +1 -1
  22. package/dist/intelligence.d.ts +9 -3
  23. package/dist/intelligence.js +13 -7
  24. package/dist/intelligence.js.map +1 -1
  25. package/dist/kernel.d.ts +4 -4
  26. package/dist/kernel.js +9 -9
  27. package/dist/{loop-runner-bin-cC16EPUq.js → loop-runner-bin-B9MIq9O7.js} +3 -3
  28. package/dist/{loop-runner-bin-cC16EPUq.js.map → loop-runner-bin-B9MIq9O7.js.map} +1 -1
  29. package/dist/{loop-runner-bin-XKZXM08Q.d.ts → loop-runner-bin-ThlwVkvo.d.ts} +3 -3
  30. package/dist/loop-runner-bin.d.ts +1 -1
  31. package/dist/loop-runner-bin.js +1 -1
  32. package/dist/mcp/bin.js +3 -3
  33. package/dist/mcp/index.d.ts +12 -6
  34. package/dist/mcp/index.js +7 -7
  35. package/dist/mcp/memory-bin.js +1 -1
  36. package/dist/{memory-server-Cn8LbAxO.js → memory-server-DXQ8IxGR.js} +2 -2
  37. package/dist/{memory-server-Cn8LbAxO.js.map → memory-server-DXQ8IxGR.js.map} +1 -1
  38. package/dist/{openai-tools-D3ajI_D2.d.ts → openai-tools-Bb0mAr5z.d.ts} +2 -2
  39. package/dist/{prepare-oHUQdC5-.js → prepare-DVlvGP7V.js} +2 -2
  40. package/dist/{prepare-oHUQdC5-.js.map → prepare-DVlvGP7V.js.map} +1 -1
  41. package/dist/profiles.d.ts +2 -2
  42. package/dist/{protected-model-port-DqF0qDU6.js → protected-model-port-BrWgsCnl.js} +2 -2
  43. package/dist/{protected-model-port-DqF0qDU6.js.map → protected-model-port-BrWgsCnl.js.map} +1 -1
  44. package/dist/{protected-redaction--F3v1oo8.js → protected-redaction-DylCC_ot.js} +14 -20
  45. package/dist/protected-redaction-DylCC_ot.js.map +1 -0
  46. package/dist/{provision-supervisor-Bf_bPaCv.js → provision-supervisor-BKAvsDtP.js} +3 -3
  47. package/dist/{provision-supervisor-Bf_bPaCv.js.map → provision-supervisor-BKAvsDtP.js.map} +1 -1
  48. package/dist/{runtime-hOLlAc1i.js → runtime-CHxXrUeZ.js} +1714 -854
  49. package/dist/runtime-CHxXrUeZ.js.map +1 -0
  50. package/dist/{server-DOb67ohd.js → server-2OeFrEVG.js} +4 -4
  51. package/dist/{server-DOb67ohd.js.map → server-2OeFrEVG.js.map} +1 -1
  52. package/dist/{stream-agent-turn-Gw9hLpBn.d.ts → stream-agent-turn-ewm3BZAp.d.ts} +34 -17
  53. package/dist/{structural-rollout-DV9YoQF6.js → structural-rollout-DCUprNpH.js} +2 -2
  54. package/dist/{structural-rollout-DV9YoQF6.js.map → structural-rollout-DCUprNpH.js.map} +1 -1
  55. package/dist/{substrate-CLt9S9ym.d.ts → substrate-VKjmrksz.d.ts} +2 -2
  56. package/dist/{supervise--njTtSL3.js → supervise-Dej5aSDa.js} +220 -52
  57. package/dist/supervise-Dej5aSDa.js.map +1 -0
  58. package/dist/{supervisor-B8UMAXya.js → supervisor-DdKPGluv.js} +1233 -303
  59. package/dist/supervisor-DdKPGluv.js.map +1 -0
  60. package/dist/testing.d.ts +2 -2
  61. package/dist/testing.js +62 -62
  62. package/dist/testing.js.map +1 -1
  63. package/dist/{tool-server-x9NEhvHZ.js → tool-server-Dqer2M4_.js} +30 -12
  64. package/dist/tool-server-Dqer2M4_.js.map +1 -0
  65. package/dist/tui/index.d.ts +1 -1
  66. package/dist/tui/index.js +1 -1
  67. package/dist/{types-CrnwLVYQ.d.ts → types-DMRc3jru.d.ts} +463 -105
  68. package/package.json +6 -5
  69. package/dist/coordination-driver-DdZ-nh_4.js.map +0 -1
  70. package/dist/graph-CK50N9vG.js.map +0 -1
  71. package/dist/improvement-cycle-GRPoHLm1.js.map +0 -1
  72. package/dist/protected-redaction--F3v1oo8.js.map +0 -1
  73. package/dist/runtime-hOLlAc1i.js.map +0 -1
  74. package/dist/supervise--njTtSL3.js.map +0 -1
  75. package/dist/supervisor-B8UMAXya.js.map +0 -1
  76. package/dist/tool-server-x9NEhvHZ.js.map +0 -1
@@ -1998,6 +1998,322 @@ declare class RetainedRunDispatchBindingError extends AgentEvalError {
1998
1998
  });
1999
1999
  }
2000
2000
  //#endregion
2001
+ //#region src/runtime/supervise/continuation.d.ts
2002
+ /**
2003
+ * One reading of a completion check.
2004
+ *
2005
+ * A check program prints an agent-eval `JudgeScore`; {@link verdictFromJudgeScore} reads it into
2006
+ * this shape. A plain boolean check is a verdict with no items.
2007
+ */
2008
+ interface CheckVerdict {
2009
+ /** Whether the check accepts the result. */
2010
+ readonly pass: boolean;
2011
+ /** Every item the check read, by name: 1 when it passes, lower when it does not. The
2012
+ * `JudgeScore.dimensions` of the check program. */
2013
+ readonly items?: Readonly<Record<string, number>>;
2014
+ /** The check's score. */
2015
+ readonly composite?: number;
2016
+ /** The pass threshold on `composite`, when the check has one. */
2017
+ readonly threshold?: number;
2018
+ /** One `FAIL <item> <where>: <reason>` line per failed item, in the check's order. */
2019
+ readonly failures?: ReadonlyArray<string>;
2020
+ /** The check's prose review of the result, when it writes one. */
2021
+ readonly review?: string;
2022
+ }
2023
+ /**
2024
+ * The check could not run: its box did not start, its judge's provider refused, its program
2025
+ * crashed. It is not a verdict on the result. Inside a run the loop pauses, as it does for an
2026
+ * unavailable upstream, and the refusal tells the director its result was not judged.
2027
+ */
2028
+ declare class CheckUnavailableError extends Error {
2029
+ constructor(message: string, options?: {
2030
+ readonly cause?: unknown;
2031
+ });
2032
+ }
2033
+ /** Read a check function's return value into a verdict. Anything but `true` or a passing verdict
2034
+ * is a failure: a check fails closed. */
2035
+ declare function checkVerdictOf(outcome: unknown): CheckVerdict;
2036
+ /**
2037
+ * Read an agent-eval `JudgeScore` from a check program into a verdict.
2038
+ *
2039
+ * Each dimension is a checked item. `notes` lines that start with `FAIL ` are the failures; the
2040
+ * remaining lines are the check's review. The verdict passes when `composite >= threshold` and the
2041
+ * score is not marked `failed`; a `failed` score means the judge itself did not run, which is
2042
+ * {@link CheckUnavailableError}, not a verdict.
2043
+ */
2044
+ declare function verdictFromJudgeScore(score: {
2045
+ readonly dimensions: Readonly<Record<string, number>>;
2046
+ readonly composite: number;
2047
+ readonly notes: string;
2048
+ readonly failed?: true;
2049
+ }, threshold: number): CheckVerdict;
2050
+ /** Items that fail in `verdict`: every item below 1, or the named items of its FAIL lines. */
2051
+ declare function failedItems(verdict: CheckVerdict): ReadonlyArray<string>;
2052
+ /** Items that pass in `verdict`. */
2053
+ declare function passedItems(verdict: CheckVerdict): ReadonlyArray<string>;
2054
+ /** One time the check ran inside the run, whatever started it. */
2055
+ interface CheckRead {
2056
+ /** 1-based count of check reads in this manager, the unavailable ones included. */
2057
+ readonly read: number;
2058
+ /** The driver attempt the read belongs to. */
2059
+ readonly attempt: number;
2060
+ /** Epoch ms. */
2061
+ readonly at: number;
2062
+ /** `submit`: a `submit_result` call. `turn-end`: the turn ended with no accepted result. */
2063
+ readonly source: 'submit' | 'turn-end';
2064
+ /** Absent when the check could not run. */
2065
+ readonly verdict?: CheckVerdict;
2066
+ /** Why the check could not run. */
2067
+ readonly unavailable?: string;
2068
+ }
2069
+ /**
2070
+ * How a manager with a completion check is sent back when its turn ends unmet.
2071
+ *
2072
+ * Required for an external manager with a check: Runtime supplies no default, because a retry
2073
+ * default in source is a research decision the record must make. There is no re-prompt count.
2074
+ * The loop re-enters until the check passes, `report_blocked` ends the run, or a bound ends it:
2075
+ * this deadline, the budget, `maxBarren` turns in a row without progress, or cancellation.
2076
+ * Progress means the check's best composite rose, an accepted result, or a worker that delivered.
2077
+ */
2078
+ interface ContinuationPolicy {
2079
+ /** No re-entry starts at or after this instant: epoch ms, or an ISO 8601 time. */
2080
+ readonly deadline: number | string;
2081
+ /** Re-entered turns in a row that may end without progress before the run ends. Minimum 1.
2082
+ * The evidence for 2: repair loses most of its effect within two or three attempts, and a
2083
+ * fresh start at the same budget scored higher (Debugging Decay Index). */
2084
+ readonly maxBarren: number;
2085
+ /** Every instruction word of the note. */
2086
+ readonly profile: ContinuationProfile;
2087
+ /** `verbatim` sends the check's FAIL lines, the protected items, and what changed. A check with
2088
+ * `feedback: 'pass-only'` overrides this to `off`. */
2089
+ readonly failures: 'verbatim' | 'off';
2090
+ /** `on` runs the question panel at each continuation and puts its admitted findings in the note.
2091
+ * Requires `runPanel`. */
2092
+ readonly panel: 'on' | 'off';
2093
+ /** `on` states the bar: every check item with its state, the best version's verdict and the
2094
+ * gap, the reference result, and the check's review. */
2095
+ readonly bar: 'on' | 'off';
2096
+ /** The play's registered reference result, for the bar. */
2097
+ readonly reference?: string;
2098
+ /** The best version's verdict on the same check, for the bar. The version loop sets it. */
2099
+ readonly best?: {
2100
+ readonly label: string;
2101
+ readonly verdict: CheckVerdict;
2102
+ };
2103
+ /** The panel's dollar caps. Required with `panel: 'on'`. */
2104
+ readonly panelUsd?: {
2105
+ readonly perContinuation: number;
2106
+ readonly perRun: number;
2107
+ };
2108
+ /** The question panel. Required with `panel: 'on'`. */
2109
+ readonly runPanel?: ContinuationPanel;
2110
+ /** A play's own section, appended after Runtime's sections. It cannot remove or rewrite one. */
2111
+ readonly append?: ContinuationAppend;
2112
+ }
2113
+ /** Resolve and check a policy before any compute. Returns the deadline in epoch ms. */
2114
+ declare function admitContinuationPolicy(policy: ContinuationPolicy, context: string): number;
2115
+ /**
2116
+ * Every instruction word of the note. Runtime supplies the facts and their order; this data
2117
+ * supplies the words, so the note can be improved (by a person, reflection, or GEPA) without a code
2118
+ * change. Templates may name the facts in {@link CONTINUATION_FACTS} as `{name}`.
2119
+ */
2120
+ interface ContinuationProfile {
2121
+ /** Recorded with every note, so each continuation names the words it carried. */
2122
+ readonly id: string;
2123
+ /** Section 1, the verdict. The first line should state the failure as a fact. */
2124
+ readonly opening: string;
2125
+ /** Section 7: what to do before the next submit. */
2126
+ readonly plan: string;
2127
+ /** Section 8: what the harness enforces, and the honest exit. */
2128
+ readonly rules: string;
2129
+ /** Section headings; an empty heading prints the section without one. */
2130
+ readonly headings: {
2131
+ readonly failures: string;
2132
+ readonly protected: string;
2133
+ readonly changed: string;
2134
+ readonly findings: string;
2135
+ readonly bar: string;
2136
+ readonly plan: string;
2137
+ readonly rules: string;
2138
+ };
2139
+ /** The bar's standing instruction, printed under its heading. */
2140
+ readonly barRule?: string;
2141
+ /** The panel's question templates. `{item}` expands over failed items and `{worker}` over
2142
+ * settled workers; a template with neither is asked once. */
2143
+ readonly questions?: ReadonlyArray<string>;
2144
+ /** The panel's model, when the profile chooses one. */
2145
+ readonly panelModel?: string;
2146
+ /** What a new version's director reads about the best version's review, for the version
2147
+ * chain's `'review-of-best'`. It may name `{version}`, `{path}` and `{score}`. */
2148
+ readonly review?: string;
2149
+ }
2150
+ /** The facts a profile template may name. */
2151
+ declare const CONTINUATION_FACTS: readonly ["composite", "threshold", "failed", "total", "reads", "owed", "settled", "delivered", "continuation"];
2152
+ /** What the question panel reads for one continuation. */
2153
+ interface ContinuationPanelInput {
2154
+ /** 1-based continuation number. */
2155
+ readonly continuation: number;
2156
+ readonly task: unknown;
2157
+ /** The check's verdict this note reports; absent when no result reached the check. */
2158
+ readonly verdict?: CheckVerdict;
2159
+ /** Every check read so far, oldest first. */
2160
+ readonly reads: ReadonlyArray<CheckRead>;
2161
+ /** The expanded questions, one per atomic question. */
2162
+ readonly questions: ReadonlyArray<string>;
2163
+ /** `<runDir>/root-stream.jsonl`, the director's own trace, when the run has a directory. */
2164
+ readonly rootStreamPath?: string;
2165
+ /** Settled workers, with the evidence reference their trace is read from. */
2166
+ readonly workers: ReadonlyArray<{
2167
+ readonly id: string;
2168
+ readonly label: string;
2169
+ }>;
2170
+ readonly bar?: ContinuationPolicy['best'];
2171
+ readonly reference?: string;
2172
+ /** The dollars this panel call may spend. */
2173
+ readonly usdCap: number;
2174
+ readonly signal: AbortSignal;
2175
+ }
2176
+ /** One answer the panel proposes for the note. */
2177
+ interface PanelFinding {
2178
+ readonly question: string;
2179
+ /** The finding, stated as a claim about the run. */
2180
+ readonly claim: string;
2181
+ /** Every `trace://` citation in the answer, and whether the trace store holds it. */
2182
+ readonly citations: ReadonlyArray<{
2183
+ readonly uri: string;
2184
+ readonly resolved: boolean;
2185
+ }>;
2186
+ /** Whether an independent verifier, shown only the cited spans, agreed with the claim. */
2187
+ readonly verified: boolean;
2188
+ /** The failed check items the finding explains, when it names any. */
2189
+ readonly items?: ReadonlyArray<string>;
2190
+ }
2191
+ interface ContinuationPanelResult {
2192
+ readonly findings: ReadonlyArray<PanelFinding>;
2193
+ /** Dollars spent; `null` when the provider reported no cost. Unknown is never zero. */
2194
+ readonly usd: number | null;
2195
+ /** Provider receipts, recorded verbatim in `panel.jsonl`. */
2196
+ readonly receipts?: unknown;
2197
+ }
2198
+ /** Ask the panel's questions over the run's own traces. */
2199
+ type ContinuationPanel = (input: ContinuationPanelInput) => Promise<ContinuationPanelResult>;
2200
+ /** A play's own section for one note. Return `undefined` to add nothing this time. */
2201
+ type ContinuationAppend = (context: {
2202
+ readonly continuation: number;
2203
+ readonly verdict?: CheckVerdict;
2204
+ readonly reads: ReadonlyArray<CheckRead>;
2205
+ readonly signal: AbortSignal;
2206
+ }) => Promise<{
2207
+ readonly heading: string;
2208
+ readonly text: string;
2209
+ } | undefined>;
2210
+ /** A finding that reached the note, with the continuation that admitted it. */
2211
+ interface AdmittedFinding extends PanelFinding {
2212
+ readonly admittedAt: number;
2213
+ /** Set once every item the finding named passes. */
2214
+ readonly resolvedAt?: number;
2215
+ }
2216
+ /** Findings reach the note only when every citation resolves, at least two distinct spans are
2217
+ * cited, and the independent verifier agreed. The best method in Who&When found the failing step
2218
+ * 14.2% of the time, so an unverified finding is noise with a citation. */
2219
+ declare function admitFinding(finding: PanelFinding): boolean;
2220
+ /**
2221
+ * Rank the admitted findings by how many failed items they explain, drop repeats, and keep them
2222
+ * within the note's cap. Earlier findings stay as they were written (ACE: itemized additions keep
2223
+ * detail that repeated rewrites lose); a finding whose items all pass now is marked resolved.
2224
+ */
2225
+ declare function distillFindings(prior: ReadonlyArray<AdmittedFinding>, proposed: ReadonlyArray<PanelFinding>, failing: ReadonlySet<string>, continuation: number): ReadonlyArray<AdmittedFinding>;
2226
+ /** Expand the profile's question templates over the failed items and the settled workers. */
2227
+ declare function expandQuestions(templates: ReadonlyArray<string>, failing: ReadonlyArray<string>, workers: ReadonlyArray<{
2228
+ readonly id: string;
2229
+ readonly label: string;
2230
+ }>): ReadonlyArray<string>;
2231
+ /** The facts one note is written from. */
2232
+ interface ContinuationNoteInput {
2233
+ readonly profile: ContinuationProfile;
2234
+ /** 1-based. */
2235
+ readonly continuation: number;
2236
+ /** The verdict this turn ended on; absent when no result has reached the check. */
2237
+ readonly verdict?: CheckVerdict;
2238
+ /** The verdict the previous note reported, for what changed. */
2239
+ readonly previous?: CheckVerdict;
2240
+ /** Check reads so far, the unavailable ones included. */
2241
+ readonly reads: number;
2242
+ /** `verbatim` only when the policy and the check both allow the FAIL lines. */
2243
+ readonly failures: 'verbatim' | 'off';
2244
+ readonly findings?: ReadonlyArray<AdmittedFinding>;
2245
+ readonly bar?: {
2246
+ readonly best?: ContinuationPolicy['best'];
2247
+ readonly reference?: string;
2248
+ };
2249
+ readonly appended?: ReadonlyArray<{
2250
+ readonly heading: string;
2251
+ readonly text: string;
2252
+ }>;
2253
+ /** What the run owes, from the check's description. */
2254
+ readonly owed?: string;
2255
+ readonly progress: DriverProgressMark;
2256
+ /** Whether `read_continuation` is served to this manager. */
2257
+ readonly canReadMore: boolean;
2258
+ /** Whether the check's score comes from cases the director cannot see. */
2259
+ readonly sealed?: boolean;
2260
+ }
2261
+ /**
2262
+ * Write one continuation note, sections 1 to 8 of docs/38. Section 9, the run's state, is
2263
+ * `composeReentryTask`, which wraps this text. Pure: the same input writes the same note.
2264
+ */
2265
+ declare function composeContinuationNote(input: ContinuationNoteInput): string;
2266
+ /** One continuation as the settle record carries it (`DriverContinuationRecord.continuations`). */
2267
+ interface ContinuationEntry {
2268
+ /** 1-based. */
2269
+ readonly continuation: number;
2270
+ /** The driver attempt whose end this note answered. */
2271
+ readonly attempt: number;
2272
+ /** sha256 of the note's text. */
2273
+ readonly noteDigest: string;
2274
+ readonly profile: string;
2275
+ readonly switches: {
2276
+ readonly failures: 'verbatim' | 'off';
2277
+ readonly panel: 'on' | 'off';
2278
+ readonly bar: 'on' | 'off';
2279
+ };
2280
+ /** The verdict the note reported: `null` when no result had reached the check. */
2281
+ readonly before: VerdictSummary | null;
2282
+ /** The verdict at the director's next turn end: `null` when the run ended first. */
2283
+ readonly after: VerdictSummary | null;
2284
+ /** The panel's part: questions asked, findings admitted, dollars (`null` = unknown). */
2285
+ readonly panel?: {
2286
+ readonly asked: number;
2287
+ readonly proposed: number;
2288
+ readonly admitted: number;
2289
+ readonly usd: number | null;
2290
+ };
2291
+ /** Sections a play appended. */
2292
+ readonly appended: number;
2293
+ }
2294
+ interface VerdictSummary {
2295
+ readonly pass: boolean;
2296
+ readonly composite?: number;
2297
+ readonly failed?: number;
2298
+ readonly total?: number;
2299
+ }
2300
+ /** A run directory's continuation files: the root's at `<runDir>/continuations/<n>/`, a nested
2301
+ * manager's at `<runDir>/continuations/managers/<owner>/<n>/`. */
2302
+ declare const CONTINUATIONS_DIR = "continuations";
2303
+ /** The readout a continuation is composed from. */
2304
+ interface ContinuationContext {
2305
+ /** The attempt that just completed, 1-based. */
2306
+ readonly attempt: number;
2307
+ /** Continuations this run has already sent. */
2308
+ readonly continuations: number;
2309
+ /** The mark read after the completed drive. */
2310
+ readonly progress: DriverProgressMark;
2311
+ readonly budget: DriverBudgetReadout;
2312
+ /** Re-entered drives in a row, this one included, that ended without progress. */
2313
+ readonly barrenReentries: number;
2314
+ readonly signal: AbortSignal;
2315
+ }
2316
+ //#endregion
2001
2317
  //#region src/runtime/supervise/upstream-unavailable.d.ts
2002
2318
  /** How long an agent waits after its upstream refused a turn for capacity: the codes and
2003
2319
  * statuses `upstreamUnavailableSignal` reads. A pause is not a failure: a driver spends neither
@@ -2059,15 +2375,16 @@ interface DriverAttemptRecord {
2059
2375
  readonly unavailableSignal?: string;
2060
2376
  /** The completion check's verdict after this attempt. Absent when the caller declares none. */
2061
2377
  readonly contract?: DriverContractState;
2062
- /** True when this COMPLETED attempt's unmet contract sent the loop back into the live session. */
2378
+ /** True when this COMPLETED attempt's unmet contract sent the loop back with a continuation. */
2063
2379
  readonly reprompted?: boolean;
2064
2380
  /** Why an unmet contract did NOT re-enter the session. Absent when the contract was met, when
2065
- * the caller configured no re-prompt, or when the re-prompt was issued. */
2381
+ * the manager has no continuation policy, or when the continuation was sent. */
2066
2382
  readonly repromptRefusedBy?: DriverRepromptRefusal;
2067
2383
  }
2068
2384
  /** Why a completed drive with an unmet contract was not re-entered. `no-progress` means
2069
- * `reprompt.maxBarren` consecutive re-entered drives completed without a delivery. */
2070
- type DriverRepromptRefusal = 'reprompts-exhausted' | 'caller-stop' | Extract<DriverAttemptStop, 'aborted' | 'budget-exhausted' | 'deadline' | 'max-attempts' | 'no-progress'>;
2385
+ * `continuation.maxBarren` consecutive re-entered drives completed without progress. `closed`
2386
+ * means the run was already closed: a failed `report_blocked` probe or a progress stop rule. */
2387
+ type DriverRepromptRefusal = 'closed' | Extract<DriverAttemptStop, 'aborted' | 'budget-exhausted' | 'deadline' | 'max-attempts' | 'no-progress'>;
2071
2388
  /** The comparable mark used to decide whether an attempt moved the run TOWARD ITS DELIVERABLE.
2072
2389
  * While a declared check is unmet, spend and settlements are not progress on their own; see this
2073
2390
  * file's header for the measurement that made that the rule. */
@@ -2088,19 +2405,22 @@ interface DriverProgressMark {
2088
2405
  /** Monotone count of settled children that PASSED the completion check. A child that ran and
2089
2406
  * settled without delivering does not count here, which is the whole point. */
2090
2407
  readonly deliveredCount?: number;
2408
+ /** The best composite any check read has scored so far. A rise is progress: the director moved
2409
+ * the outside check even though it has not passed. */
2410
+ readonly composite?: number;
2091
2411
  }
2092
2412
  /** Why the loop is entering the driver again. Absent on the first attempt only.
2093
2413
  *
2094
- * An `unmet-contract` re-entry carries the unmet items. A `driver-failure` re-entry carries no
2095
- * instruction of its own: the drive that failed may never have read the last one, so the caller
2096
- * re-enters with the ORIGINAL task and the run's state, never with the unmet-items text alone. */
2414
+ * An `unmet-contract` re-entry carries Runtime's continuation note. A `driver-failure` re-entry
2415
+ * carries no instruction of its own: the drive that failed may never have read the last one, so
2416
+ * the caller re-enters with the ORIGINAL task and the run's state, never with the note alone. */
2097
2417
  type DriverReentry = {
2098
2418
  readonly reason: 'unmet-contract';
2099
- /** The unmet items. Whether they are the whole turn depends on where the drive runs: only a
2100
- * backend that proves the same harness session may be re-entered with this text alone. */
2419
+ /** The continuation note. Whether it is the whole turn depends on where the drive runs: only
2420
+ * a backend that proves the same harness session may be re-entered with this text alone. */
2101
2421
  readonly steer: string;
2102
- /** 1-based: which re-prompt this is. */
2103
- readonly reprompt: number;
2422
+ /** 1-based: which continuation this is. */
2423
+ readonly continuation: number;
2104
2424
  } | {
2105
2425
  readonly reason: 'driver-failure';
2106
2426
  /** The failure that ended the previous drive, as recorded. */
@@ -2108,61 +2428,15 @@ type DriverReentry = {
2108
2428
  /** 1-based: which failure retry this is. */
2109
2429
  readonly retry: number;
2110
2430
  } | {
2111
- /** The upstream refused the previous drive for capacity, and the loop paused before this
2112
- * one. Re-entered like a failure, with the original task and the run's state. */
2431
+ /** The upstream refused the previous drive for capacity, or the check could not run, and the
2432
+ * loop paused before this one. Re-entered like a failure, with the original task and the
2433
+ * run's state. */
2113
2434
  readonly reason: 'upstream-unavailable';
2114
2435
  /** The code or status that classified the refusal, such as `provider_quota_exhausted`. */
2115
2436
  readonly signal: string;
2116
2437
  /** 1-based: which pause this is. */
2117
2438
  readonly pause: number;
2118
2439
  };
2119
- /** What the caller sees when a drive returns with its completion check unmet. */
2120
- interface DriverUnmetContractContext {
2121
- /** The attempt that just completed, 1-based. */
2122
- readonly attempt: number;
2123
- /** How many re-prompts this run has already issued. */
2124
- readonly reprompts: number;
2125
- readonly maxReprompts: DriverRepromptPolicy['maxReprompts'];
2126
- /** The mark read AFTER the completed drive. */
2127
- readonly progress: DriverProgressMark;
2128
- readonly budget: DriverBudgetReadout;
2129
- /** What the run was supposed to produce, from the caller's completion check. */
2130
- readonly describe?: string;
2131
- /** Consecutive re-entered drives, this one included, that completed without a delivery. */
2132
- readonly barrenReentries: number;
2133
- }
2134
- /** The caller's answer: re-enter the session with `steer`, or end the run here. */
2135
- type DriverUnmetContractDecision = {
2136
- readonly steer: string;
2137
- } | 'stop';
2138
- /** Compose the re-entry instruction for a completed drive that delivered nothing, or refuse. */
2139
- type OnUnmetContract = (context: DriverUnmetContractContext) => DriverUnmetContractDecision | Promise<DriverUnmetContractDecision>;
2140
- /** How a completed-but-undelivered drive is re-entered. Absent = the historical behavior, where
2141
- * such a drive ends the run and only the completion gate's label records what happened. */
2142
- interface DriverRepromptPolicy {
2143
- /** How many times one run may re-enter its driver with the unmet items. `0` = never.
2144
- * `'until-complete'` removes the count cap and requires a finite positive scope deadline.
2145
- * Budget, cancellation, explicit stop, the barren bound, and failure retry limits still apply. */
2146
- readonly maxReprompts: number | 'until-complete';
2147
- /** Consecutive re-entered drives that may complete without a delivery before re-prompting stops
2148
- * (`repromptRefusedBy: 'no-progress'`). Default {@link DEFAULT_MAX_BARREN_REPROMPTS}; minimum 1.
2149
- * A delivery — an accepted submission, a child that passed its check, the contract turning
2150
- * met — resets the count. */
2151
- readonly maxBarren?: number;
2152
- /** Compose the instruction, or return `'stop'`. Omit = {@link defaultUnmetContractSteer}. */
2153
- readonly onUnmetContract?: OnUnmetContract;
2154
- /** What the run owes, surfaced in the default instruction. */
2155
- readonly describe?: string;
2156
- }
2157
- /**
2158
- * The instruction a completed-but-undelivered drive is re-entered with when the caller supplies no
2159
- * `onUnmetContract`. It states the verdict, names what is owed, reports the ledger, and gives the
2160
- * three steps — the same shape `depthStrategy` re-prompts a resumed session with, said in the
2161
- * driver's own terms.
2162
- */
2163
- declare function defaultUnmetContractSteer(context: DriverUnmetContractContext): string;
2164
- /** Two re-prompted drives in a row that deliver nothing end the re-prompts. */
2165
- declare const DEFAULT_MAX_BARREN_REPROMPTS = 2;
2166
2440
  /**
2167
2441
  * How one driver failure is answered.
2168
2442
  *
@@ -2232,11 +2506,15 @@ interface DriverContinuationRecord extends DriverLoopRecord {
2232
2506
  /** Re-entries that ran in a new environment because the provider no longer held the old one. */
2233
2507
  readonly environmentReplacements: number;
2234
2508
  /** How the run was closed, when something closed it: an accepted `submit_result`, the
2235
- * manager's own `stop`, a `report_blocked` whose probe failed, or the caller's progress
2236
- * `stopRule`. Absent when the loop ended on a bound or a failure. */
2509
+ * manager's own `stop` (served only to a manager with no check), a `report_blocked` whose
2510
+ * probe failed, or the caller's progress `stopRule`. Absent when the loop ended on a bound or a
2511
+ * failure. */
2237
2512
  readonly closedBy?: 'result-accepted' | 'stop' | 'blocked' | 'stop-rule';
2238
2513
  /** The reason the manager gave, or the failed probe, verbatim. */
2239
2514
  readonly stopReason?: string;
2515
+ /** Every continuation note this manager was sent, with the check's verdict before and after it.
2516
+ * Empty for a manager with no check. */
2517
+ readonly continuations: ReadonlyArray<ContinuationEntry>;
2240
2518
  }
2241
2519
  /** Count a loop's attempt records into its {@link DriverLoopRecord}. */
2242
2520
  declare function summarizeDriverAttempts(records: ReadonlyArray<DriverAttemptRecord>): DriverLoopRecord;
@@ -2921,18 +3199,45 @@ interface OtelExportConfig {
2921
3199
  batchSize?: number;
2922
3200
  /** Flush interval ms. Default 5000. */
2923
3201
  flushIntervalMs?: number;
3202
+ /**
3203
+ * Most spans held at once, queued plus in flight. Default 2048, the OpenTelemetry batch
3204
+ * processor's own default. A span that arrives when the queue is full is dropped and counted in
3205
+ * {@link OtelExportStats.dropped}, so a stalled collector costs a bounded amount of memory.
3206
+ */
3207
+ maxQueueSize?: number;
3208
+ /** Milliseconds one POST may take before it is abandoned and its spans count as dropped. Default 10000. */
3209
+ timeoutMs?: number;
2924
3210
  /** Resource attributes stamped on every export. */
2925
3211
  resourceAttributes?: Record<string, string | number | boolean>;
2926
3212
  /** Service name. Default 'agent-runtime'. */
2927
3213
  serviceName?: string;
2928
3214
  }
2929
3215
  interface OtelExporter {
2930
- /** Export a span. */
3216
+ /** Export a span. Never throws: a sink that cannot take the span counts it as dropped. */
2931
3217
  exportSpan(span: OtelSpan): void;
2932
- /** Force flush pending spans. */
3218
+ /**
3219
+ * Deliver everything queued so far. Rejects when spans were dropped since the previous `flush`,
3220
+ * naming how many and the last error, because a caller that awaits delivery is owed the answer.
3221
+ */
2933
3222
  flush(): Promise<void>;
2934
- /** Shutdown cleanly. */
3223
+ /** Stop accepting spans and deliver what is queued. Never rejects. */
2935
3224
  shutdown(): Promise<void>;
3225
+ /** What this sink has delivered and lost so far. */
3226
+ stats(): OtelExportStats;
3227
+ }
3228
+ /**
3229
+ * Delivery accounting for one exporter. `written + dropped + pending` covers every span handed to
3230
+ * `exportSpan`, so a trace that arrives short can be told apart from a run that emitted less.
3231
+ */
3232
+ interface OtelExportStats {
3233
+ /** Spans the sink confirmed: a 2xx collector response, or a completed file append. */
3234
+ written: number;
3235
+ /** Spans lost: refused by the collector, failed in transit, over the queue bound, or unwritable. */
3236
+ dropped: number;
3237
+ /** Spans accepted and not yet written or dropped. */
3238
+ pending: number;
3239
+ /** The most recent failure, when there has been one. */
3240
+ lastError?: string;
2936
3241
  }
2937
3242
  interface OtelSpan {
2938
3243
  traceId: string;
@@ -2978,7 +3283,13 @@ interface OtelAttribute {
2978
3283
  */
2979
3284
  declare function createOpenInferenceFileExporter(filePath: string): OtelExporter;
2980
3285
  /**
2981
- * Create an OTEL exporter. Returns undefined when no endpoint is configured.
3286
+ * Create an OTLP/HTTP exporter. Returns undefined when no endpoint is configured.
3287
+ *
3288
+ * One batch is in flight at a time; spans that arrive meanwhile wait in a queue bounded by
3289
+ * `maxQueueSize`. Every span ends in exactly one of `written` or `dropped`: a non-2xx response, a
3290
+ * network error, a timeout, an OTLP `partialSuccess.rejectedSpans` count and a full queue each count
3291
+ * as drops and set `lastError`. Nothing here throws into the caller's run; `flush()` reports the
3292
+ * loss, the same rule {@link createOpenInferenceFileExporter} follows.
2982
3293
  */
2983
3294
  declare function createOtelExporter(config?: OtelExportConfig): OtelExporter | undefined;
2984
3295
  /**
@@ -4029,10 +4340,14 @@ interface SpawnOpts {
4029
4340
  * idempotent per key: once a child spawned under a key settles `done` — in this process or in a
4030
4341
  * journaled prior one — spawning the same key returns that committed result (`prior.state:
4031
4342
  * 'completed'`) instead of paying for the work again. A key whose prior attempt settled `down`
4032
- * spawns fresh and says so explicitly (`prior.state: 'retried'`). A key whose prior attempt was
4033
- * journaled as started but never settled is refused (`'in-doubt'`): the remote execution may
4034
- * still exist and must be recovered before replacement. A key that is currently LIVE is refused
4035
- * (`'duplicate-key'`). Unkeyed spawns (the default) are position-identified and always run.
4343
+ * spawns fresh and says so explicitly (`prior.state: 'retried'`); a resume DERIVES that same
4344
+ * `down` for an interrupted `inline` attempt, because an in-process execution cannot outlive
4345
+ * its process — so a worker killed mid-flight under a plain in-process executor retries under
4346
+ * its own key instead of wedging. A key whose un-settled prior attempt may still exist
4347
+ * elsewhere (`sandbox`/`cli`/`router` runtimes) is refused (`'in-doubt'`): the remote execution
4348
+ * may still be running and must be recovered before replacement. A key that is currently LIVE
4349
+ * is refused (`'duplicate-key'`). Unkeyed spawns (the default) are position-identified and
4350
+ * always run.
4036
4351
  */
4037
4352
  readonly key?: string;
4038
4353
  /** The settled sibling node this spawn replaces, so a run's record names which worker took over
@@ -4149,8 +4464,9 @@ type Settled<Out> = {
4149
4464
  budgetViolation?: BudgetViolation;
4150
4465
  /** Present only when this child's provider execution was RETAINED (see
4151
4466
  * `RetainedExecutionState`); absent on an ordinary down. `'pending'` on the settlement the
4152
- * driver receives at the reconcile; `'released'` on the replayed settlement of a node the
4153
- * release sweep closed. The driver and every replay reader see the fact the journal
4467
+ * driver receives at the reconcile; `'released'` or `'release-unconfirmed'` on the
4468
+ * replayed settlement of a node a final settlement closed. The driver and every replay
4469
+ * reader see the fact the journal
4154
4470
  * states, so a reader never splits this population on `reason` text — which is identical
4155
4471
  * on every one of these children. */
4156
4472
  retainedExecution?: RetainedExecutionState;
@@ -4419,8 +4735,12 @@ interface ResumedKeyState<Out = unknown> {
4419
4735
  /** Identity recorded when this key was first admitted. Every reuse must match it exactly. */
4420
4736
  readonly identity?: NodeExecutionIdentity;
4421
4737
  readonly state: 'completed' | 'down' | 'in-doubt';
4422
- /** The rehydrated settlement; absent exactly when `state` is `'in-doubt'`. */
4738
+ /** The rehydrated settlement; absent when `state` is `'in-doubt'`, and when `'down'` was
4739
+ * *derived* — the resume itself proved the execution dead (an `inline` runtime cannot outlive
4740
+ * its process), so there is no settlement to rehydrate and `reason` says how it died. */
4423
4741
  readonly settled?: Settled<Out>;
4742
+ /** Why a derived `'down'` state exists. Absent on every state backed by a settlement. */
4743
+ readonly reason?: string;
4424
4744
  }
4425
4745
  interface NodeSnapshot {
4426
4746
  readonly id: NodeId;
@@ -4467,10 +4787,10 @@ interface NodeSnapshot {
4467
4787
  readonly trace?: WorkerTraceEvidence;
4468
4788
  /** Present once a settled node's measured spend exceeded its reservation. */
4469
4789
  readonly budgetViolation?: BudgetViolation;
4470
- /** Present on a retained child: `'pending'` while its cursor slot is open, `'released'` once
4471
- * the release sweep closed it. The live view (`makeTreeView`) and the journal view
4472
- * (`materializeTreeView`) state the same fact, so a settle record's `tree` answers the
4473
- * retained-vs-down question without the observer journal. */
4790
+ /** Present on a retained child: `'pending'` while its cursor slot is open, `'released'` or
4791
+ * `'release-unconfirmed'` once a final settlement closed it. The live view (`makeTreeView`)
4792
+ * and the journal view (`materializeTreeView`) state the same fact, so a settle record's
4793
+ * `tree` answers the retained-vs-down question without the observer journal. */
4474
4794
  readonly retainedExecution?: RetainedExecutionState;
4475
4795
  /** Why a retained child has no accepted result; see `RetainedPendingCause`. */
4476
4796
  readonly retainedPendingCause?: RetainedPendingCause;
@@ -4585,13 +4905,15 @@ type SpawnEvent = {
4585
4905
  harnessTranscript?: HarnessTranscriptEvidence;
4586
4906
  /** Present when the reconciled spend exceeded the reservation, on either status. */
4587
4907
  budgetViolation?: BudgetViolation;
4588
- /** Written by the release sweep in the settling process, on the same tree, after every
4589
- * `environment-teardown` receipt for the node reads `destroyed: true` and the executor's
4590
- * own teardown confirmed — or by `healReleasedSlots` on the next resume, when that process
4591
- * died between the last `destroyed: true` receipt and this record: the same builder, `seq`
4592
- * and `at`, read from the `reconciled` record, so the bytes are identical either way. A
4593
- * `destroyed: false` receipt, an empty receipt set, or a `reconciled` record without
4594
- * `settledSeq` leaves the slot open.
4908
+ /** `'released'` is written by the release sweep in the settling process, on the same tree,
4909
+ * after every `environment-teardown` receipt for the node reads `destroyed: true` and the
4910
+ * executor's own teardown confirmed — or by `healReleasedSlots` on the next resume, when
4911
+ * that process died between the last `destroyed: true` receipt and this record: the same
4912
+ * builder, `seq` and `at`, read from the `reconciled` record, so the bytes are identical
4913
+ * either way. `'release-unconfirmed'` is written by the same builder at the end of a final
4914
+ * settlement for every retained node the release could not confirm: a `destroyed: false`
4915
+ * receipt, an empty receipt set, or a refused teardown probe. Only a crash before that point
4916
+ * or a `reconciled` record without `settledSeq` leaves the slot open.
4595
4917
  * `spent` is this node's child-work component of the reconcile the pool committed — for
4596
4918
  * a leaf the streamed floor itself, for a recursive executor its `accounting().reported`
4597
4919
  * split with the remainder on its `metered` records — never the reservation ceiling.
@@ -4600,7 +4922,7 @@ type SpawnEvent = {
4600
4922
  * delivery, so replay yields it at the position the driver saw it; `at` is the settlement
4601
4923
  * instant, and the release instant is on the receipt immediately before it. Typed so a
4602
4924
  * `'pending'` can never be journaled: the journal states that as `reconciled`. */
4603
- retainedExecution?: Extract<RetainedExecutionState, 'released'>;
4925
+ retainedExecution?: Exclude<RetainedExecutionState, 'pending'>;
4604
4926
  retainedPendingCause?: RetainedPendingCause;
4605
4927
  /** The bounded account of the team this child led, when it led one. */
4606
4928
  subtree?: SubtreeSummary;
@@ -4622,7 +4944,7 @@ type SpawnEvent = {
4622
4944
  budgetViolation?: BudgetViolation;
4623
4945
  /** As on `settled`: a retained child that was cancelled settles `cancelled`, and the one
4624
4946
  * builder writes whichever kind the settlement had. */
4625
- retainedExecution?: Extract<RetainedExecutionState, 'released'>;
4947
+ retainedExecution?: Exclude<RetainedExecutionState, 'pending'>;
4626
4948
  retainedPendingCause?: RetainedPendingCause;
4627
4949
  /** The bounded account of the team this child led, when it led one. */
4628
4950
  subtree?: SubtreeSummary;
@@ -4729,12 +5051,14 @@ type SpawnEvent = {
4729
5051
  * observed, while its cursor slot stays OPEN so a resume can recover the execution. It stands
4730
5052
  * in for the `settled` record an open node cannot carry: cost readers and a restored pool
4731
5053
  * charge this floor for the node instead of its declared ceiling, and a later `settled` or
4732
- * `cancelled` record for the same node supersedes it. That record has three writers: a
5054
+ * `cancelled` record for the same node supersedes it. That record has four writers: a
4733
5055
  * resumed process's recovered settlement, the release sweep's terminal record marked
4734
- * `retainedExecution: 'released'`, or `healReleasedSlots` on the next resume when the
4735
- * process died between the last `environment-teardown` receipt and that record. The last
4736
- * two write the same bytes, because both read the settlement from THIS record: it is
4737
- * literally the settlement it stands in for, minus the cursor position it cannot hold. A
5056
+ * `retainedExecution: 'released'`, the final settlement's record marked
5057
+ * `'release-unconfirmed'` for a node whose release it could not confirm, or
5058
+ * `healReleasedSlots` on the next resume when the process died between the last
5059
+ * `environment-teardown` receipt and the released record. The last three carry the same
5060
+ * settlement, because each reads it from THIS record or from the live child it mirrors: it
5061
+ * is literally the settlement it stands in for, minus the cursor position it cannot hold. A
4738
5062
  * driver's own inference travels on its `metered` record as on every other path, so
4739
5063
  * `reconciled + metered` is what the pool committed. Its `seq` lives outside the
4740
5064
  * cursor-uniqueness namespace; `settledSeq` is the cursor seq. */
@@ -4836,8 +5160,10 @@ type SpawnEvent = {
4836
5160
  * terminal `settled`/`cancelled` record with `retainedExecution: 'released'` follows on
4837
5161
  * the same tree and closes the cursor slot; when the settling process dies between this
4838
5162
  * receipt and that record, `healReleasedSlots` writes the same record on the next resume
4839
- * from the `reconciled` record. A `destroyed: false` receipt, an empty receipt set, or an
4840
- * unconfirmed teardown leaves the slot open because the environment may still exist.
5163
+ * from the `reconciled` record. After a `destroyed: false` receipt, an empty receipt set, or
5164
+ * an unconfirmed teardown, the environment may still exist: the node is journaled as
5165
+ * `teardown-unconfirmed`, and its slot closes with `retainedExecution:
5166
+ * 'release-unconfirmed'` instead, because the settlement is final either way.
4841
5167
  * Informational: replay, `materializeTreeView`, and cost readers skip it, and its `seq` is
4842
5168
  * per node, outside the cursor-uniqueness namespace. */
4843
5169
  kind: 'environment-teardown';
@@ -4928,6 +5254,8 @@ interface SpawnJournal {
4928
5254
  loadTree(root: NodeId): Promise<SpawnEvent[] | undefined>;
4929
5255
  beginTree(root: NodeId, at: string): Promise<void>;
4930
5256
  appendEvent(root: NodeId, ev: SpawnEvent): Promise<void>;
5257
+ /** Publish all events together or none; SQL contexts use this for initialization records. */
5258
+ appendEvents?(root: NodeId, events: ReadonlyArray<SpawnEvent>): Promise<void>;
4931
5259
  }
4932
5260
  /** Content-addressed result blobs (the `outRef` → artifact map) backing the replay
4933
5261
  * invariant. Split from the journal so the journal stays small (decisions) and the
@@ -5041,10 +5369,16 @@ interface SupervisorOpts {
5041
5369
  * Sandbox fleet for 19 to 37 hours without it. It then closes each released child's cursor
5042
5370
  * slot with a terminal record marked `retainedExecution: 'released'`, so `spendGaps` names
5043
5371
  * it `unreported` (a floor) rather than `never-settled` (a ceiling) and
5044
- * `fleetYield.releasedUnrecovered` counts it; a refused release leaves the slot open and
5045
- * the node in `teardownUnconfirmed`. A process that dies between the last `destroyed: true`
5046
- * receipt and that record leaves the slot open only until the next resume, whose
5047
- * `healReleasedSlots` writes the identical record from the `reconciled` record.
5372
+ * `fleetYield.releasedUnrecovered` counts it. A release that is refused or cannot be
5373
+ * confirmed names the node in `teardownUnconfirmed` and its `teardown-unconfirmed` record,
5374
+ * and after the retry window closes its slot with `retainedExecution: 'release-unconfirmed'`,
5375
+ * counted by `fleetYield.releaseUnconfirmed`: the settlement is final, so the slot closes
5376
+ * whether or not the environment is confirmed gone. Measured 2026-09-23/24 on the Discovery
5377
+ * fleet (Runtime 0.249.1 to 0.261.0): 338 of 1,620 agents never settled, and 179 of the
5378
+ * retained ones had an admission that never named an environment. A process that dies
5379
+ * between the last `destroyed: true` receipt and the released record leaves the slot open
5380
+ * only until the next resume, whose `healReleasedSlots` writes the identical record from the
5381
+ * `reconciled` record.
5048
5382
  * - `'keep'`: a later process may resume this run, so the environments stay for its recovery.
5049
5383
  *
5050
5384
  * Default: `'keep'` when `resume` is true (a durable run a later process may continue), else
@@ -5169,13 +5503,20 @@ interface SpendGap {
5169
5503
  * `destroyed: true` receipt and the record (same builder, `seq` and `at`, from the
5170
5504
  * `reconciled` record). The pool's own admission fault, if the reconcile raised one, is not
5171
5505
  * on this record.
5506
+ * - `'release-unconfirmed'`: root settlement under `retainedAtSettlement: 'release'` ended with
5507
+ * the execution unrecovered and its environment NOT confirmed destroyed: the provider refused
5508
+ * the delete, the executor could not confirm it, or the admission never named an environment
5509
+ * (a create that timed out). The settlement is final, so no process will recover the execution
5510
+ * and the slot closes anyway, with the same builder, `seq` and `at` as `'released'`. What the
5511
+ * node may still hold stays named by its `teardown-unconfirmed` record and in
5512
+ * `teardownUnconfirmed`, for a sweeper.
5172
5513
  *
5173
5514
  * Absent = an ordinary child. The live `Settled` a driver branched on carried `'pending'` where
5174
- * replay yields `'released'` for the same seq, so a resume-aware driver must not branch on the
5175
- * two values. No `'recovered'` value exists yet: a live-adopted recovery settles on the ordinary
5176
- * path and the recorded-result path writes no marker.
5515
+ * replay yields `'released'` or `'release-unconfirmed'` for the same seq, so a resume-aware driver
5516
+ * must not branch on these values. No `'recovered'` value exists yet: a live-adopted recovery
5517
+ * settles on the ordinary path and the recorded-result path writes no marker.
5177
5518
  */
5178
- type RetainedExecutionState = 'pending' | 'released';
5519
+ type RetainedExecutionState = 'pending' | 'released' | 'release-unconfirmed';
5179
5520
  /**
5180
5521
  * How this run's spawned CHILDREN ended, counted by node id off the complete journal FOREST at
5181
5522
  * root settlement — after the join barrier and the release sweep, so the terminal records the
@@ -5194,13 +5535,18 @@ interface FleetYield {
5194
5535
  /** `settled` records with `status: 'down'`, released records included. */
5195
5536
  readonly down: number;
5196
5537
  readonly cancelled: number;
5197
- /** Spawned with no terminal record: a crash-orphaned child, a refused release, or a retained
5198
- * executor with nothing to release. Named after `SpendGap`'s `never-settled`. */
5538
+ /** Spawned with no terminal record: a crash-orphaned child, or a retained child of a run that
5539
+ * keeps its environments for a resume (`retainedAtSettlement: 'keep'`). Named after
5540
+ * `SpendGap`'s `never-settled`. */
5199
5541
  readonly neverSettled: number;
5200
5542
  /** Terminal records marked `retainedExecution: 'released'` — a subset of `down + cancelled`.
5201
5543
  * A nested manager whose OWN retained execution was released counts here beside the
5202
5544
  * grandchildren it released, because its execution was destroyed unrecovered too. */
5203
5545
  readonly releasedUnrecovered: number;
5546
+ /** Terminal records marked `retainedExecution: 'release-unconfirmed'` — a subset of
5547
+ * `down + cancelled`, disjoint from `releasedUnrecovered`: executions a final settlement left
5548
+ * unrecovered without confirming their environment destroyed. */
5549
+ readonly releaseUnconfirmed: number;
5204
5550
  }
5205
5551
  /**
5206
5552
  * One channel on which a settled reservation's measured spend exceeded what it reserved.
@@ -5244,6 +5590,10 @@ type SupervisedResult<Out> = {
5244
5590
  readonly rootProviderModel?: RootProviderModelEvidence;
5245
5591
  /** The root manager's retained provider stream, when the run directory holds one. */
5246
5592
  readonly rootStream?: RootStreamReceipt;
5593
+ /** The root manager's native harness session, persisted like a child's receipt. A child's
5594
+ * receipt rides its settle record and the root has none, so the result carries it. Absent
5595
+ * for a router-brained root, which runs no driver. */
5596
+ readonly rootHarnessTranscript?: HarnessTranscriptEvidence;
5247
5597
  /** What the root's external driver loop did: genuine continuations, failure retries,
5248
5598
  * environment replacements, why the loop ended, and how the root closed the run. Absent for
5249
5599
  * a router-brained root, which runs no driver loop. */
@@ -5291,6 +5641,10 @@ type SupervisedResult<Out> = {
5291
5641
  readonly rootProviderModel?: RootProviderModelEvidence;
5292
5642
  /** The root manager's retained provider stream, when the run directory holds one. */
5293
5643
  readonly rootStream?: RootStreamReceipt;
5644
+ /** The root manager's native harness session, persisted like a child's receipt. A child's
5645
+ * receipt rides its settle record and the root has none, so the result carries it. Absent
5646
+ * for a router-brained root, which runs no driver. */
5647
+ readonly rootHarnessTranscript?: HarnessTranscriptEvidence;
5294
5648
  /** What the root's external driver loop did: genuine continuations, failure retries,
5295
5649
  * environment replacements, why the loop ended, and how the root closed the run. Absent for
5296
5650
  * a router-brained root, which runs no driver loop. */
@@ -5361,6 +5715,10 @@ type SupervisedResult<Out> = {
5361
5715
  readonly rootProviderModel?: RootProviderModelEvidence;
5362
5716
  /** The root manager's retained provider stream, when the run directory holds one. */
5363
5717
  readonly rootStream?: RootStreamReceipt;
5718
+ /** The root manager's native harness session, persisted like a child's receipt. A child's
5719
+ * receipt rides its settle record and the root has none, so the result carries it. Absent
5720
+ * for a router-brained root, which runs no driver. */
5721
+ readonly rootHarnessTranscript?: HarnessTranscriptEvidence;
5364
5722
  /** What the root's external driver loop did: genuine continuations, failure retries,
5365
5723
  * environment replacements, why the loop ended, and how the root closed the run. Absent for
5366
5724
  * a router-brained root, which runs no driver loop. */
@@ -5433,5 +5791,5 @@ interface WidenGate<Out> {
5433
5791
  readonly judgeExempt?: boolean;
5434
5792
  }
5435
5793
  //#endregion
5436
- export { SpawnJournal as $, LoopWinner as $i, HarnessTranscriptEvidence as $n, RetainedInteractiveEnvironmentAdmission as $r, padSpanId as $t, NodeExecutionIdentity as A, OpenAIChatTool as Aa, ReserveOptions as Ai, createPushTraceSource as An, AgentEvalErrorCode as Ar, createPropagatingTraceEmitter as At, ResultBlobStore as B, LoopIterationDispatchPayload as Bi, TeamProgress as Bn, RuntimeRunStateError as Br, OtelAttribute as Bt, ExecutorToolCall as C, AgentTaskContext as Ca, ReservationFloor as Ci, timerAt as Cn, OnUnmetContract as Cr, WorkerTraceResolver as Ct, MaterializedExecutionIdentity as D, BackendErrorDetail as Da, ReservationStage as Di, SessionTraceBox as Dn, upstreamUnavailableSignal as Dr, workerTraceHeaders as Dt, HeldEnvironment as E, AgentTaskStatus as Ea, ReservationShortfall as Ei, SessionMessageLike as En, summarizeDriverAttempts as Er, workerTraceEnv as Et, ProviderModelAttemptEvidence as F, RuntimeSession as Fa, Driver as Fi, ActivityLog as Fn, PlannerError as Fr, EvalRunGeneration as Ft, RootMaterialization as G, LoopPlanPayload as Gi, RecoverRetainedInteractiveRunOptions as Gn, NativeContextContinuationExecution as Gr, buildLoopOtelSpans as Gt, ResumedWork as H, LoopIterationStartedPayload as Hi, createActivityLog as Hn, SlotPermit as Hr, OtelExporter as Ht, ProviderModelExecutionEvidence as I, RuntimeSessionStore as Ia, ExecCtx as Ii, ActivityNote as In, RetainedInteractiveAdmissionError as Ir, EvalRunsExportConfig as It, RootStreamReceipt as J, LoopStartedPayload as Ji, RetainedInteractiveRunHandle as Jn, ReconnectRetainedRunOptions as Jr, createOpenInferenceFileExporter as Jt, RootProviderModelEvidence as K, LoopResult as Ki, RetainedInteractiveAdmissionHook as Kn, NativeContextContinuationHandle as Kr, buildLoopSpanNodes as Kt, RecursiveReservationPolicy as L, RuntimeStreamEvent as La, Iteration as Li, DEFAULT_STALL_AFTER_MS as Ln, RetainedInteractiveBindingError as Lr, EvalRunsExportResult as Lt, NodeSnapshot as M, RunAgentTaskOptions as Ma, spendFromUsageEvents as Mi, sandboxSessionTraceSource as Mn, ConfigError as Mr, readTraceContextFromEnv as Mt, NodeStatus as N, RunAgentTaskStreamOptions as Na, AgentRunSpec as Ni, RetainedChildRecovery as Nn, JudgeError as Nr, traceContextToEnv as Nt, MaterializedModelIdentity as O, KnowledgeReadinessDecision as Oa, ReservationTicket as Oi, ToolStepInput as On, UnavailablePausePolicy as Or, workerTraceSeamKey as Ot, ProfileMaterializationReceipt as P, RuntimeCanonicalStreamEvent as Pa, DefaultVerdict$1 as Pi, RetainedPendingCause as Pn, NotFoundError as Pr, EvalRunEvent as Pt, SpawnEvent as Q, LoopTraceEvent as Qi, HarnessTranscriptCapture as Qn, RetainedInteractiveAdmission as Qr, loopEventToOtelSpan as Qt, ResourceLimit as R, LoopDecisionPayload as Ri, ExecutorProgress as Rn, RetainedRunAdmissionError as Rr, INTELLIGENCE_WIRE_VERSION as Rt, ExecutorTeardownWarning as S, AgentRuntimeEventSink as Sa, LeakedReservation as Si, pollFor as Sn, DriverUnmetContractDecision as Sr, WorkerTraceUnavailableReason as St, Handle as T, AgentTaskSpec as Ta, ReservationRejection as Ti, waitUntil as Tn, defaultUnmetContractSteer as Tr, readWorkerTraceContext as Tt, RetainedExecutionState as U, LoopLineageOptions as Ui, readWorkerProgress as Un, WorkerSlots as Ur, OtelSpan as Ut, ResumedKeyState as V, LoopIterationEndedPayload as Vi, WorkerProgress as Vn, ValidationError as Vr, OtelExportConfig as Vt, RootHandle as W, LoopPlanDescription as Wi, ReconnectRetainedInteractiveRunOptions as Wn, createWorkerSlots as Wr, RuntimeEventOtelOptions as Wt, Scope as X, LoopTokenUsage as Xi, StartRetainedInteractiveRunOptions as Xn, RecoverRetainedRunOptions as Xr, exportEvalRuns as Xt, Runtime as Y, LoopTeardownFailedPayload as Yi, RetainedInteractiveStartMaterial as Yn, RecoverRetainedRunIntentOptions as Yr, createOtelExporter as Yt, Settled as Z, LoopTraceEmitter as Zi, HarnessTranscriptArtifact as Zn, RecoverRetainedRunResult as Zr, generateSpanId as Zt, ExecutorMaterialization as _, AgentBackendContext as _a, StartRetainedRunOptions as _i, WaitProbeRegistry as _n, DriverReentry as _r, WaitOpts as _t, BudgetOverspend as a, SelectionReceipt as aa, RetainedRunCancellation as ai, RuntimeStreamEventSummary as an, harnessTranscriptArtifact as ar, SpendGap as at, ExecutorRegistry as b, AgentKnowledgeProvider as ba, BudgetReadout as bi, createWaitProbes as bn, DriverRetryPolicy as br, WorkerInteractiveUnavailableReason as bt, EnvironmentTeardownReceipt as c, RuntimeRunCompleteInput as ca, RetainedRunEnvironmentAdmission as ci, SanitizedKnowledgeRequirement as cn, DriverAttemptRecord as cr, SubtreeSummary as ct, ExecutorAccounting as d, RuntimeRunOptions as da, RetainedRunIntentAdmission as di, sanitizeAgentRuntimeEvent as dn, DriverBudgetReadout as dr, SupervisorOpts as dt, MountManifestEntry as ea, RetainedInteractiveIntentAdmission as ei, padTraceId as en, HarnessTranscriptFile as er, SpawnOpts as et, ExecutorCancellation as f, RuntimeRunPersistenceAdapter as fa, RetainedRunReplayPoint as fi, sanitizeKnowledgeReadinessReport as fn, DriverContinuationRecord as fr, TokenUsageProvenance as ft, ExecutorFactory as g, AgentAdapter as ga, StartRetainedRunInEnvironmentOptions as gi, WaitProbe as gn, DriverProgressMark as gr, UsageEvent as gt, ExecutorExecutionBinding as h, startRuntimeRun as ha, RetainedRunTurnInput as hi, WaitOutcome as hn, DriverLoopRecord as hr, UnknownMaterializationReason as ht, Budget as i, SandboxClient as ia, RetainedRunCancelOptions as ii, RuntimeStreamEventSink as in, captureHarnessTranscript as ir, SpendChannel as it, NodeId as j, OpenAIChatToolChoice as ja, createBudgetPool as ji, decodeToolPart as jn, BackendTransportError as jr, mergeTraceEnv as jt, NoWinnerError as k, OpenAIChatResponseFormat as ka, ReservationWaitRefused as ki, TraceSource as kn, AgentEvalError$1 as kr, TraceContext as kt, ExecutionBindingReceipt as l, RuntimeRunCost as la, RetainedRunEventOptions as li, createRuntimeEventCollector as ln, DriverAttemptStop as lr, SupervisedResult as lt, ExecutorContext as m, RuntimeRunStatus as ma, RetainedRunStartMaterial as mi, PendingWait as mn, DriverFailureClass as mr, UnconfirmedTeardown as mt, AgentExecutionRef as n, OutputAdapter as na, RetainedRunAdmission as ni, RuntimeEventCollector as nn, HarnessTranscriptUnavailableReason as nr, SpawnRejection as nt, BudgetViolation as o, ValidationCtx as oa, RetainedRunDispatchedAdmission as oi, RuntimeTelemetryOptions as on, persistHarnessTranscript as or, SteerableRootHandle as ot, ExecutorCancellationRequest as p, RuntimeRunRow as pa, RetainedRunSnapshot as pi, sanitizeRuntimeStreamEvent as pn, DriverContractState as pr, TreeView as pt, RootSignal as q, LoopSandboxPlacement as qi, RetainedInteractiveEnvironmentInput as qn, NativeContextContinuationInput as qr, buildRuntimeEventOtelSpans as qt, AgentSpec as r, RunProvenance as ra, RetainedRunAdmissionHook as ri, RuntimeStreamEventCollector as rn, ReadableEnvironment as rr, Spend as rt, DefaultVerdict as s, Validator as sa, RetainedRunEffect as si, SanitizedKnowledgeReadinessReport as sn, DEFAULT_MAX_BARREN_REPROMPTS as sr, SubtreeResult as st, Agent as t, MountRecorder as ta, RetainedInteractiveStartedAdmission as ti, toOtelAttributes as tn, HarnessTranscriptUnavailable as tr, SpawnPrior as tt, Executor as u, RuntimeRunHandle as ua, RetainedRunHandle as ui, createRuntimeStreamEventCollector as un, DriverAttemptsExhaustedError as ur, Supervisor as ut, ExecutorNodeContext as v, AgentBackendInput as va, BudgetPool as vi, WaitRejection as vn, DriverRepromptPolicy as vr, WidenGate as vt, FleetYield as w, AgentTaskRunResult as wa, ReservationHolder as wi, validateWaitSpec as wn, classifyDriverFailure as wr, WorkerTraceSeamCarrier as wt, ExecutorResult as x, AgentRuntimeEvent as xa, BudgetReconcileFault as xi, isWaitOutcome as xn, DriverUnmetContractContext as xr, WorkerTraceEvidence as xt, ExecutorProgressEvent as y, AgentExecutionBackend as ya, BudgetPoolRestore as yi, WaitSpec as yn, DriverRepromptRefusal as yr, WorkerInteractiveSession as yt, ResourceSpend as z, LoopEndedPayload as zi, ScopeProgressInput as zn, RetainedRunDispatchBindingError as zr, LoopSpanNode as zt };
5437
- //# sourceMappingURL=types-CrnwLVYQ.d.ts.map
5794
+ export { SpawnJournal as $, RunAgentTaskOptions as $a, spendFromUsageEvents as $i, HarnessTranscriptCapture as $n, ConfigError as $r, loopEventToOtelSpan as $t, NodeExecutionIdentity as A, RuntimeRunCost as Aa, RetainedRunEventOptions as Ai, TraceSource as An, ContinuationAppend as Ar, createPropagatingTraceEmitter as At, ResultBlobStore as B, AgentExecutionBackend as Ba, BudgetPoolRestore as Bi, ScopeProgressInput as Bn, VerdictSummary as Br, OtelAttribute as Bt, ExecutorToolCall as C, OutputAdapter as Ca, RetainedRunAdmission as Ci, pollFor as Cn, UnavailablePausePolicy as Cr, WorkerTraceResolver as Ct, MaterializedExecutionIdentity as D, ValidationCtx as Da, RetainedRunDispatchedAdmission as Di, SessionMessageLike as Dn, CheckRead as Dr, workerTraceHeaders as Dt, HeldEnvironment as E, SelectionReceipt as Ea, RetainedRunCancellation as Ei, waitUntil as En, CONTINUATION_FACTS as Er, workerTraceEnv as Et, ProviderModelAttemptEvidence as F, RuntimeRunStatus as Fa, RetainedRunStartMaterial as Fi, RetainedPendingCause as Fn, ContinuationPanelInput as Fr, EvalRunGeneration as Ft, RootMaterialization as G, AgentTaskRunResult as Ga, ReservationHolder as Gi, ReconnectRetainedInteractiveRunOptions as Gn, distillFindings as Gr, RuntimeEventOtelOptions as Gt, ResumedWork as H, AgentRuntimeEvent as Ha, BudgetReconcileFault as Hi, WorkerProgress as Hn, admitFinding as Hr, OtelExportStats as Ht, ProviderModelExecutionEvidence as I, startRuntimeRun as Ia, RetainedRunTurnInput as Ii, ActivityLog as In, ContinuationPanelResult as Ir, EvalRunsExportConfig as It, RootStreamReceipt as J, BackendErrorDetail as Ja, ReservationStage as Ji, RetainedInteractiveEnvironmentInput as Jn, passedItems as Jr, buildRuntimeEventOtelSpans as Jt, RootProviderModelEvidence as K, AgentTaskSpec as Ka, ReservationRejection as Ki, RecoverRetainedInteractiveRunOptions as Kn, expandQuestions as Kr, buildLoopOtelSpans as Kt, RecursiveReservationPolicy as L, AgentAdapter as La, StartRetainedRunInEnvironmentOptions as Li, ActivityNote as Ln, ContinuationPolicy as Lr, EvalRunsExportResult as Lt, NodeSnapshot as M, RuntimeRunOptions as Ma, RetainedRunIntentAdmission as Mi, decodeToolPart as Mn, ContinuationEntry as Mr, readTraceContextFromEnv as Mt, NodeStatus as N, RuntimeRunPersistenceAdapter as Na, RetainedRunReplayPoint as Ni, sandboxSessionTraceSource as Nn, ContinuationNoteInput as Nr, traceContextToEnv as Nt, MaterializedModelIdentity as O, Validator as Oa, RetainedRunEffect as Oi, SessionTraceBox as On, CheckUnavailableError as Or, workerTraceSeamKey as Ot, ProfileMaterializationReceipt as P, RuntimeRunRow as Pa, RetainedRunSnapshot as Pi, RetainedChildRecovery as Pn, ContinuationPanel as Pr, EvalRunEvent as Pt, SpawnEvent as Q, OpenAIChatToolChoice as Qa, createBudgetPool as Qi, HarnessTranscriptArtifact as Qn, BackendTransportError as Qr, generateSpanId as Qt, ResourceLimit as R, AgentBackendContext as Ra, StartRetainedRunOptions as Ri, DEFAULT_STALL_AFTER_MS as Rn, ContinuationProfile as Rr, INTELLIGENCE_WIRE_VERSION as Rt, ExecutorTeardownWarning as S, MountRecorder as Sa, RetainedInteractiveStartedAdmission as Si, isWaitOutcome as Sn, upstreamUnavailableSignal as Sr, WorkerTraceUnavailableReason as St, Handle as T, SandboxClient as Ta, RetainedRunCancelOptions as Ti, validateWaitSpec as Tn, CONTINUATIONS_DIR as Tr, readWorkerTraceContext as Tt, RetainedExecutionState as U, AgentRuntimeEventSink as Ua, LeakedReservation as Ui, createActivityLog as Un, checkVerdictOf as Ur, OtelExporter as Ut, ResumedKeyState as V, AgentKnowledgeProvider as Va, BudgetReadout as Vi, TeamProgress as Vn, admitContinuationPolicy as Vr, OtelExportConfig as Vt, RootHandle as W, AgentTaskContext as Wa, ReservationFloor as Wi, readWorkerProgress as Wn, composeContinuationNote as Wr, OtelSpan as Wt, Scope as X, OpenAIChatResponseFormat as Xa, ReservationWaitRefused as Xi, RetainedInteractiveStartMaterial as Xn, AgentEvalError$1 as Xr, createOtelExporter as Xt, Runtime as Y, KnowledgeReadinessDecision as Ya, ReservationTicket as Yi, RetainedInteractiveRunHandle as Yn, verdictFromJudgeScore as Yr, createOpenInferenceFileExporter as Yt, Settled as Z, OpenAIChatTool as Za, ReserveOptions as Zi, StartRetainedInteractiveRunOptions as Zn, AgentEvalErrorCode as Zr, exportEvalRuns as Zt, ExecutorMaterialization as _, LoopTokenUsage as _a, RecoverRetainedRunOptions as _i, WaitProbe as _n, DriverReentry as _r, WaitOpts as _t, BudgetOverspend as a, LoopDecisionPayload as aa, RetainedRunAdmissionError as ai, RuntimeStreamEventSink as an, captureHarnessTranscript as ar, SpendGap as at, ExecutorRegistry as b, LoopWinner as ba, RetainedInteractiveEnvironmentAdmission as bi, WaitSpec as bn, classifyDriverFailure as br, WorkerInteractiveUnavailableReason as bt, EnvironmentTeardownReceipt as c, LoopIterationEndedPayload as ca, ValidationError as ci, SanitizedKnowledgeReadinessReport as cn, DriverAttemptRecord as cr, SubtreeSummary as ct, ExecutorAccounting as d, LoopPlanDescription as da, createWorkerSlots as di, createRuntimeStreamEventCollector as dn, DriverBudgetReadout as dr, SupervisorOpts as dt, AgentRunSpec as ea, JudgeError as ei, padSpanId as en, RunAgentTaskStreamOptions as eo, HarnessTranscriptEvidence as er, SpawnOpts as et, ExecutorCancellation as f, LoopPlanPayload as fa, NativeContextContinuationExecution as fi, sanitizeAgentRuntimeEvent as fn, DriverContinuationRecord as fr, TokenUsageProvenance as ft, ExecutorFactory as g, LoopTeardownFailedPayload as ga, RecoverRetainedRunIntentOptions as gi, WaitOutcome as gn, DriverProgressMark as gr, UsageEvent as gt, ExecutorExecutionBinding as h, LoopStartedPayload as ha, ReconnectRetainedRunOptions as hi, PendingWait as hn, DriverLoopRecord as hr, UnknownMaterializationReason as ht, Budget as i, Iteration as ia, RetainedInteractiveBindingError as ii, RuntimeStreamEventCollector as in, RuntimeStreamEvent as io, ReadableEnvironment as ir, SpendChannel as it, NodeId as j, RuntimeRunHandle as ja, RetainedRunHandle as ji, createPushTraceSource as jn, ContinuationContext as jr, mergeTraceEnv as jt, NoWinnerError as k, RuntimeRunCompleteInput as ka, RetainedRunEnvironmentAdmission as ki, ToolStepInput as kn, CheckVerdict as kr, TraceContext as kt, ExecutionBindingReceipt as l, LoopIterationStartedPayload as la, SlotPermit as li, SanitizedKnowledgeRequirement as ln, DriverAttemptStop as lr, SupervisedResult as lt, ExecutorContext as m, LoopSandboxPlacement as ma, NativeContextContinuationInput as mi, sanitizeRuntimeStreamEvent as mn, DriverFailureClass as mr, UnconfirmedTeardown as mt, AgentExecutionRef as n, Driver as na, PlannerError as ni, toOtelAttributes as nn, RuntimeSession as no, HarnessTranscriptUnavailable as nr, SpawnRejection as nt, BudgetViolation as o, LoopEndedPayload as oa, RetainedRunDispatchBindingError as oi, RuntimeStreamEventSummary as on, harnessTranscriptArtifact as or, SteerableRootHandle as ot, ExecutorCancellationRequest as p, LoopResult as pa, NativeContextContinuationHandle as pi, sanitizeKnowledgeReadinessReport as pn, DriverContractState as pr, TreeView as pt, RootSignal as q, AgentTaskStatus as qa, ReservationShortfall as qi, RetainedInteractiveAdmissionHook as qn, failedItems as qr, buildLoopSpanNodes as qt, AgentSpec as r, ExecCtx as ra, RetainedInteractiveAdmissionError as ri, RuntimeEventCollector as rn, RuntimeSessionStore as ro, HarnessTranscriptUnavailableReason as rr, Spend as rt, DefaultVerdict as s, LoopIterationDispatchPayload as sa, RuntimeRunStateError as si, RuntimeTelemetryOptions as sn, persistHarnessTranscript as sr, SubtreeResult as st, Agent as t, DefaultVerdict$1 as ta, NotFoundError as ti, padTraceId as tn, RuntimeCanonicalStreamEvent as to, HarnessTranscriptFile as tr, SpawnPrior as tt, Executor as u, LoopLineageOptions as ua, WorkerSlots as ui, createRuntimeEventCollector as un, DriverAttemptsExhaustedError as ur, Supervisor as ut, ExecutorNodeContext as v, LoopTraceEmitter as va, RecoverRetainedRunResult as vi, WaitProbeRegistry as vn, DriverRepromptRefusal as vr, WidenGate as vt, FleetYield as w, RunProvenance as wa, RetainedRunAdmissionHook as wi, timerAt as wn, AdmittedFinding as wr, WorkerTraceSeamCarrier as wt, ExecutorResult as x, MountManifestEntry as xa, RetainedInteractiveIntentAdmission as xi, createWaitProbes as xn, summarizeDriverAttempts as xr, WorkerTraceEvidence as xt, ExecutorProgressEvent as y, LoopTraceEvent as ya, RetainedInteractiveAdmission as yi, WaitRejection as yn, DriverRetryPolicy as yr, WorkerInteractiveSession as yt, ResourceSpend as z, AgentBackendInput as za, BudgetPool as zi, ExecutorProgress as zn, PanelFinding as zr, LoopSpanNode as zt };
5795
+ //# sourceMappingURL=types-DMRc3jru.d.ts.map