@tangle-network/agent-runtime 7.0.0 → 8.0.1
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.
- package/CHANGELOG.md +74 -0
- package/README.md +0 -3
- package/dist/{activation-Ba9IAgQ3.js → activation-8AdN-3r4.js} +4 -4
- package/dist/{activation-Ba9IAgQ3.js.map → activation-8AdN-3r4.js.map} +1 -1
- package/dist/{activation-DIkTEBWF.d.ts → activation-xxvLF1-1.d.ts} +2 -2
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +3 -3
- package/dist/{bundle-Cy5igJdv.js → bundle-CcpL2lfr.js} +2 -2
- package/dist/{bundle-Cy5igJdv.js.map → bundle-CcpL2lfr.js.map} +1 -1
- package/dist/candidate-execution/index.js +4 -4
- package/dist/continuation-CIyKnS1Q.js +451 -0
- package/dist/continuation-CIyKnS1Q.js.map +1 -0
- package/dist/{coordination-manager-DQZ2u6L-.js → coordination-manager-DAGPerJy.js} +194 -148
- package/dist/coordination-manager-DAGPerJy.js.map +1 -0
- package/dist/{coordination-map-routing-CKRNZSaV.js → coordination-map-routing-XZXTlCmn.js} +2 -4
- package/dist/coordination-map-routing-XZXTlCmn.js.map +1 -0
- package/dist/{delegate-DFLSVjFG.js → delegate-CoaNr0hO.js} +3 -3
- package/dist/{delegate-DFLSVjFG.js.map → delegate-CoaNr0hO.js.map} +1 -1
- package/dist/durable.d.ts +1 -1
- package/dist/durable.js +13 -12
- package/dist/durable.js.map +1 -1
- package/dist/{errors-AzSuGI23.js → errors-DG8yufqX.js} +8 -1
- package/dist/errors-DG8yufqX.js.map +1 -0
- package/dist/{failure-cause-rJTm_Tx8.js → failure-cause-CVB-YE88.js} +12 -8
- package/dist/{failure-cause-rJTm_Tx8.js.map → failure-cause-CVB-YE88.js.map} +1 -1
- package/dist/graph-pFTeNZ-G.js +1793 -0
- package/dist/graph-pFTeNZ-G.js.map +1 -0
- package/dist/{graph-registry-7X2nrreR.js → graph-registry-czAwYwNj.js} +133 -9
- package/dist/graph-registry-czAwYwNj.js.map +1 -0
- package/dist/{graph-registry-gYbq4L5Z.js → graph-registry-uTIyyy7A.js} +1 -1
- package/dist/{improve-BolbYegO.js → improve-I43jex8v.js} +19 -48
- package/dist/improve-I43jex8v.js.map +1 -0
- package/dist/index.d.ts +3 -3
- package/dist/index.js +16 -16
- package/dist/intelligence.d.ts +2 -2
- package/dist/intelligence.js +8 -8
- package/dist/intelligence.js.map +1 -1
- package/dist/kernel.d.ts +2 -2
- package/dist/kernel.js +16 -15
- package/dist/{loop-runner-Cs9IJ6Nk.d.ts → loop-runner-BGwhcn1p.d.ts} +2 -2
- package/dist/{loop-runner-C9W3T_3T.js → loop-runner-BN4KozR0.js} +3 -3
- package/dist/{loop-runner-C9W3T_3T.js.map → loop-runner-BN4KozR0.js.map} +1 -1
- package/dist/loop-runner-bin.d.ts +1 -1
- package/dist/loop-runner-bin.js +1 -1
- package/dist/mcp/bin.js +7 -5
- package/dist/mcp/bin.js.map +1 -1
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +9 -9
- package/dist/mcp/memory-bin.js +2 -2
- package/dist/{model-policy-JOcg3NRs.js → model-policy-CZwhXp8O.js} +15 -10
- package/dist/model-policy-CZwhXp8O.js.map +1 -0
- package/dist/{prepare-Dtfk_Wi_.js → prepare-BnF8nGIg.js} +4 -4
- package/dist/{prepare-Dtfk_Wi_.js.map → prepare-BnF8nGIg.js.map} +1 -1
- package/dist/{profile-CNSQjOes.js → profile-CD25rTJF.js} +4 -4
- package/dist/{profile-CNSQjOes.js.map → profile-CD25rTJF.js.map} +1 -1
- package/dist/profiles.d.ts +1 -1
- package/dist/profiles.js +2 -2
- package/dist/{provision-supervisor-BQFHjCtN.js → provision-supervisor-DvzayGpe.js} +8 -8
- package/dist/{provision-supervisor-BQFHjCtN.js.map → provision-supervisor-DvzayGpe.js.map} +1 -1
- package/dist/{run-cancellation-B84X8ZAP.js → run-cancellation-C5__aBKW.js} +4 -4
- package/dist/{run-cancellation-B84X8ZAP.js.map → run-cancellation-C5__aBKW.js.map} +1 -1
- package/dist/{run-state-Dh1bGERI.js → run-state-CJAaxqfp.js} +5 -5
- package/dist/{run-state-Dh1bGERI.js.map → run-state-CJAaxqfp.js.map} +1 -1
- package/dist/{runtime-C9F1PG2A.js → runtime-CuwHe8_K.js} +76 -987
- package/dist/runtime-CuwHe8_K.js.map +1 -0
- package/dist/{sandbox-profile-compat-oFGWESLn.js → sandbox-profile-compat-l-SLQnGb.js} +2 -2
- package/dist/{sandbox-profile-compat-oFGWESLn.js.map → sandbox-profile-compat-l-SLQnGb.js.map} +1 -1
- package/dist/{search-executor-CKR9_6NR.js → search-executor-DAjm-NlG.js} +17 -46
- package/dist/search-executor-DAjm-NlG.js.map +1 -0
- package/dist/{server-Dh3SQGQT.js → server-BUpNUn5D.js} +32 -8
- package/dist/{server-Dh3SQGQT.js.map → server-BUpNUn5D.js.map} +1 -1
- package/dist/{settle-record-C6LdVvok.js → settle-record-CeBdBuxP.js} +2 -2
- package/dist/{settle-record-C6LdVvok.js.map → settle-record-CeBdBuxP.js.map} +1 -1
- package/dist/{snapshot-Cgj2Wzi6.js → snapshot-BKI_w3JD.js} +19 -5
- package/dist/snapshot-BKI_w3JD.js.map +1 -0
- package/dist/{structural-rollout-Dapf2aZY.js → structural-rollout-CqxBKxKY.js} +18 -54
- package/dist/structural-rollout-CqxBKxKY.js.map +1 -0
- package/dist/{supervise-xwl2D6q3.js → supervise-Cdqj_oe4.js} +101 -111
- package/dist/supervise-Cdqj_oe4.js.map +1 -0
- package/dist/{supervision-discovery-B47U8TH5.js → supervision-discovery-CW-ildZ-.js} +4 -4
- package/dist/{supervision-discovery-B47U8TH5.js.map → supervision-discovery-CW-ildZ-.js.map} +1 -1
- package/dist/{supervisor-gC-u_PRk.js → supervisor-D-eT-6Tu.js} +206 -693
- package/dist/supervisor-D-eT-6Tu.js.map +1 -0
- package/dist/{supervisor-accounting-DxLQ_TQe.js → supervisor-accounting-Ow6CChpB.js} +434 -423
- package/dist/supervisor-accounting-Ow6CChpB.js.map +1 -0
- package/dist/testing.d.ts +1 -1
- package/dist/testing.js +61 -61
- package/dist/{tool-server-Dg350Bgz.js → tool-server-DYwRbi0I.js} +3 -3
- package/dist/{tool-server-Dg350Bgz.js.map → tool-server-DYwRbi0I.js.map} +1 -1
- package/dist/{top-web-BJLnFQdr.js → top-web-BuYMkJN4.js} +9 -7
- package/dist/{top-web-BJLnFQdr.js.map → top-web-BuYMkJN4.js.map} +1 -1
- package/dist/tui/bin.js +3 -3
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +2 -2
- package/dist/{types-Jg274chm.d.ts → types-C_qbnw9N.d.ts} +1335 -1413
- package/dist/{util-C_cdPNC4.js → util-fcckrkKp.js} +39 -113
- package/dist/util-fcckrkKp.js.map +1 -0
- package/dist/viewer/report-viewer.js +90 -90
- package/dist/viewer/runtime-viewer/AgentGraphCanvas-P_PFS2Ko-B7S6Fwwy.js +563 -0
- package/dist/viewer/runtime-viewer/latest-events-wofY6ifW-B8_bfLwI.js +17870 -0
- package/dist/viewer/styles.css +1592 -7027
- package/dist/viewer/workspace-viewer.js +10926 -10522
- package/dist/{workspace-streams-B7yNMahl.js → workspace-streams-DA9R3j-p.js} +2 -2
- package/dist/{workspace-streams-B7yNMahl.js.map → workspace-streams-DA9R3j-p.js.map} +1 -1
- package/package.json +9 -9
- package/dist/coordination-manager-DQZ2u6L-.js.map +0 -1
- package/dist/coordination-map-routing-CKRNZSaV.js.map +0 -1
- package/dist/errors-AzSuGI23.js.map +0 -1
- package/dist/graph-BjQF2syl.js +0 -579
- package/dist/graph-BjQF2syl.js.map +0 -1
- package/dist/graph-registry-7X2nrreR.js.map +0 -1
- package/dist/improve-BolbYegO.js.map +0 -1
- package/dist/model-policy-JOcg3NRs.js.map +0 -1
- package/dist/runtime-C9F1PG2A.js.map +0 -1
- package/dist/search-executor-CKR9_6NR.js.map +0 -1
- package/dist/snapshot-Cgj2Wzi6.js.map +0 -1
- package/dist/structural-rollout-Dapf2aZY.js.map +0 -1
- package/dist/supervise-xwl2D6q3.js.map +0 -1
- package/dist/supervisor-accounting-DxLQ_TQe.js.map +0 -1
- package/dist/supervisor-gC-u_PRk.js.map +0 -1
- package/dist/util-C_cdPNC4.js.map +0 -1
- package/dist/viewer/runtime-viewer/AgentGraphCanvas-DGq7_u8--C6yDfIUT.js +0 -8555
- package/dist/viewer/runtime-viewer/latest-events-CRq9sGkK-CfoBl1dP.js +0 -9592
- package/dist/viewer/runtime-viewer/sandbox-ui-BEziPi7D.css +0 -2
|
@@ -8,7 +8,7 @@ import { AgentEvalError, AgentEvalError as AgentEvalError$1, AgentEvalErrorCode,
|
|
|
8
8
|
import { AgentRunOutcome } from "@tangle-network/sandbox/runtime";
|
|
9
9
|
import { BackendType, CreateRequestOptions, CreateSandboxOptions, CreateSandboxOptions as CreateSandboxOptions$1, PromptOptions, SandboxEvent, SandboxEvent as SandboxEvent$1, SandboxInstance, SandboxInstance as SandboxInstance$1, SandboxResources } from "@tangle-network/sandbox";
|
|
10
10
|
import { z } from "zod";
|
|
11
|
-
import { AgentEnvironment, AgentEnvironment as AgentEnvironment$1, AgentEnvironmentCapabilities, AgentEnvironmentCapabilities as AgentEnvironmentCapabilities$1, AgentEnvironmentEvent, AgentEnvironmentEvent as AgentEnvironmentEvent$1, AgentEnvironmentProvider, AgentEnvironmentProvider as AgentEnvironmentProvider$1, AgentEnvironmentQuery, AgentEnvironmentStatus, AgentEnvironmentSummary, AgentSession, AgentSessionRef, AgentSessionStatus as AgentSessionStatus$1, AgentTurnFailure, AgentTurnInput, AgentTurnInput as AgentTurnInput$1, AgentTurnResult as AgentTurnResult$1, AgentTurnResult as AgentTurnResult$2, CheckpointRef, CheckpointRequest, CreateAgentEnvironmentInput, CreateAgentEnvironmentInput as CreateAgentEnvironmentInput$1, ExecRequest, ExecResult, ForkRequest, PlacementInfo, ResourceRequest, WorkspaceRequest } from "@tangle-network/agent-interface/environment-provider";
|
|
11
|
+
import { AgentEnvironment, AgentEnvironment as AgentEnvironment$1, AgentEnvironmentCapabilities, AgentEnvironmentCapabilities as AgentEnvironmentCapabilities$1, AgentEnvironmentEvent, AgentEnvironmentEvent as AgentEnvironmentEvent$1, AgentEnvironmentProvider, AgentEnvironmentProvider as AgentEnvironmentProvider$1, AgentEnvironmentQuery, AgentEnvironmentStatus, AgentEnvironmentSummary, AgentSession, AgentSessionRef, AgentSessionStatus as AgentSessionStatus$1, AgentTurnFailure, AgentTurnInput, AgentTurnInput as AgentTurnInput$1, AgentTurnResult as AgentTurnResult$1, AgentTurnResult as AgentTurnResult$2, CheckpointRef, CheckpointRequest, CreateAgentEnvironmentInput, CreateAgentEnvironmentInput as CreateAgentEnvironmentInput$1, ExecRequest, ExecResult, ForkRequest, PlacementInfo, ResourceRequest as ResourceRequest$1, WorkspaceRequest } from "@tangle-network/agent-interface/environment-provider";
|
|
12
12
|
import { watch } from "node:fs";
|
|
13
13
|
import { ChildProcess } from "node:child_process";
|
|
14
14
|
import { HarnessId, WorkspacePlanReceipt } from "@tangle-network/agent-profile-materialize";
|
|
@@ -65,13 +65,7 @@ type RetainedRunTurnInput = Omit<AgentTurnInput, 'contextTransfer'> & {
|
|
|
65
65
|
readonly turnId: string;
|
|
66
66
|
readonly contextTransfer?: ContextTransferRequest;
|
|
67
67
|
};
|
|
68
|
-
/**
|
|
69
|
-
* Admission and terminal result for one same-session continuation.
|
|
70
|
-
*
|
|
71
|
-
* The provider resolves `admission` after it durably owns the next exact run
|
|
72
|
-
* reference. `result` resolves when that run reaches its terminal result.
|
|
73
|
-
* @stable
|
|
74
|
-
*/
|
|
68
|
+
/** Admission once the next exact reference is durable, and the terminal result. @stable */
|
|
75
69
|
interface NativeContextContinuationHandle {
|
|
76
70
|
readonly admission: Promise<AgentExactRunControlRef>;
|
|
77
71
|
readonly result: Promise<NativeContextContinuationExecution>;
|
|
@@ -97,14 +91,7 @@ interface RetainedRunHandle {
|
|
|
97
91
|
continueNative(request: NativeContextContinuationRequest, turn: NativeContextContinuationInput): Promise<NativeContextContinuationExecution>;
|
|
98
92
|
cancel(options: RetainedRunCancelOptions): Promise<RetainedRunCancellation>;
|
|
99
93
|
}
|
|
100
|
-
/**
|
|
101
|
-
* Sanitized headless intent durable before environment creation.
|
|
102
|
-
*
|
|
103
|
-
* The request digest binds the public create and turn material without
|
|
104
|
-
* retaining secret values. The original start material is required to replay
|
|
105
|
-
* this record after a process crash.
|
|
106
|
-
* @stable
|
|
107
|
-
*/
|
|
94
|
+
/** Intent durable before create. The digest omits secrets; replay needs the original start material. @stable */
|
|
108
95
|
interface RetainedRunIntentAdmission {
|
|
109
96
|
readonly phase: 'intent';
|
|
110
97
|
readonly provider: string;
|
|
@@ -135,14 +122,7 @@ interface RetainedRunDispatchedAdmission {
|
|
|
135
122
|
readonly idempotencyKey: string;
|
|
136
123
|
readonly turnId: string;
|
|
137
124
|
}
|
|
138
|
-
/**
|
|
139
|
-
* Sanitized intent durable before an interactive environment create begins.
|
|
140
|
-
*
|
|
141
|
-
* The digest covers the public start and create material without retaining that
|
|
142
|
-
* material. It never carries environment variables, secret values, or provider
|
|
143
|
-
* options. The replay input supplies private values after this check.
|
|
144
|
-
* @stable
|
|
145
|
-
*/
|
|
125
|
+
/** Interactive intent durable before create. The digest omits secrets, env, and provider options. @stable */
|
|
146
126
|
interface RetainedInteractiveIntentAdmission {
|
|
147
127
|
readonly phase: 'interactive_intent';
|
|
148
128
|
readonly provider: string;
|
|
@@ -174,16 +154,7 @@ interface RetainedInteractiveStartedAdmission {
|
|
|
174
154
|
type RetainedInteractiveAdmission = RetainedInteractiveIntentAdmission | RetainedInteractiveEnvironmentAdmission | RetainedInteractiveStartedAdmission;
|
|
175
155
|
/** One detached-run admission record the runtime persists before creation or dispatch proceeds. @stable */
|
|
176
156
|
type RetainedRunAdmission = RetainedRunIntentAdmission | RetainedRunEnvironmentAdmission | RetainedRunDispatchedAdmission;
|
|
177
|
-
/**
|
|
178
|
-
* Awaited durability hook for retained admission records.
|
|
179
|
-
*
|
|
180
|
-
* The runtime blocks after the pre-create intent, environment creation, and
|
|
181
|
-
* provider work until the hook resolves. No retained run becomes caller-visible
|
|
182
|
-
* before its exact recovery record is durable. A rejection keeps provider state
|
|
183
|
-
* for recovery when provider work has already started.
|
|
184
|
-
*
|
|
185
|
-
* @stable
|
|
186
|
-
*/
|
|
157
|
+
/** Blocks until the admission is durable. A rejection keeps provider state already started. @stable */
|
|
187
158
|
type RetainedRunAdmissionHook = (admission: RetainedRunAdmission) => Promise<void>;
|
|
188
159
|
/** Environment, turn, and optional identity needed to replay one retained start. @stable */
|
|
189
160
|
interface RetainedRunStartMaterial {
|
|
@@ -197,11 +168,7 @@ interface RetainedRunStartMaterial {
|
|
|
197
168
|
readonly turn: RetainedRunTurnInput;
|
|
198
169
|
/** Accepted destination to attach, without creating or replacing its environment. */
|
|
199
170
|
readonly contextTransferReceipt?: ContextTransferReceipt;
|
|
200
|
-
/**
|
|
201
|
-
* Explicit dispatch coordinates. When omitted, the runtime mints
|
|
202
|
-
* deterministic coordinates from `(environment.idempotencyKey, turn.turnId)`
|
|
203
|
-
* so every process derives the same values.
|
|
204
|
-
*/
|
|
171
|
+
/** Explicit coordinates. Omitted values are minted from the environment key and turn id. */
|
|
205
172
|
readonly identity?: {
|
|
206
173
|
readonly sessionId: string;
|
|
207
174
|
readonly executionId: string;
|
|
@@ -214,6 +181,8 @@ interface StartRetainedRunOptions extends RetainedRunStartMaterial {
|
|
|
214
181
|
readonly intent?: RetainedRunIntentAdmission;
|
|
215
182
|
readonly onAdmission: RetainedRunAdmissionHook;
|
|
216
183
|
readonly now?: () => number;
|
|
184
|
+
/** How long create may take after intent is durable. Absent uses the retained materialization bound. */
|
|
185
|
+
readonly materializationTimeoutMs?: number;
|
|
217
186
|
/** Directory whose `<runId>/observer.jsonl` (intent run id) receives admissions for agent-runtime-top. */
|
|
218
187
|
readonly journalRoot?: string;
|
|
219
188
|
}
|
|
@@ -253,48 +222,18 @@ interface RecoverRetainedRunIntentOptions {
|
|
|
253
222
|
readonly onAdmission: RetainedRunAdmissionHook;
|
|
254
223
|
readonly now?: () => number;
|
|
255
224
|
}
|
|
256
|
-
/**
|
|
257
|
-
* Pre-dispatch admission coordinates for one recovery attempt.
|
|
258
|
-
*
|
|
259
|
-
* A `phase: 'environment'` admission record carries these fields, so a caller
|
|
260
|
-
* can pass that record after a crash before the dispatched record landed.
|
|
261
|
-
*
|
|
262
|
-
* @stable
|
|
263
|
-
*/
|
|
225
|
+
/** Environment-phase coordinates, enough to recover before a dispatched record lands. @stable */
|
|
264
226
|
interface RecoverRetainedRunOptions {
|
|
265
227
|
readonly provider: AgentEnvironmentProvider;
|
|
266
228
|
readonly environmentId: string;
|
|
267
229
|
readonly sessionId: string;
|
|
268
230
|
readonly executionId: string;
|
|
269
|
-
/**
|
|
270
|
-
* Transfer replay identity, when the crashed run started from an ACCEPTED
|
|
271
|
-
* context transfer: the original request and its authoritative receipt.
|
|
272
|
-
* Recovery repeats the receipt-authorized lookup and verifies the receipt's
|
|
273
|
-
* run binding — without it, an adapter that requires receipt-authorized
|
|
274
|
-
* lookup answers not_found, and one that does not can return a run the
|
|
275
|
-
* receipt never bound. Callers that persisted the turn's context-transfer
|
|
276
|
-
* material supply these; behavior is unchanged for runs that had none.
|
|
277
|
-
*/
|
|
231
|
+
/** Accepted transfer request. Recovery repeats the receipt-authorized lookup; omit it only when the run had none. */
|
|
278
232
|
readonly contextTransfer?: ContextTransferRequest;
|
|
279
233
|
readonly transferReceipt?: ContextTransferReceipt;
|
|
280
234
|
readonly now?: () => number;
|
|
281
235
|
}
|
|
282
|
-
/**
|
|
283
|
-
* Outcome of one recovery attempt.
|
|
284
|
-
*
|
|
285
|
-
* `recovered` with `via: 'reattached'`: the provider self-identified the
|
|
286
|
-
* original session with a strict exact reference matching the recorded
|
|
287
|
-
* environment coordinates. `recovered` with `via: 'resumed'`: a pre-create
|
|
288
|
-
* intent was replayed through the exact, idempotent create and dispatch; the
|
|
289
|
-
* handle controls the admitted run, whether this call or the crashed one
|
|
290
|
-
* dispatched it. `not_found`: the provider no longer holds the environment;
|
|
291
|
-
* nothing remains to destroy. `unverifiable`: the environment exists but the
|
|
292
|
-
* provider cannot self-identify the session. Never destroy on this outcome:
|
|
293
|
-
* keep the environment, retry `reconnectRetainedRun` with a dispatched
|
|
294
|
-
* admission record, or inspect it with provider-native tools.
|
|
295
|
-
*
|
|
296
|
-
* @stable
|
|
297
|
-
*/
|
|
236
|
+
/** `reattached` matched the recorded session. `resumed` replayed intent. `not_found` has nothing to destroy. `unverifiable` keeps the environment. @stable */
|
|
298
237
|
type RecoverRetainedRunResult = {
|
|
299
238
|
readonly outcome: 'recovered';
|
|
300
239
|
readonly via: 'reattached' | 'resumed';
|
|
@@ -324,6 +263,12 @@ declare class BackendTransportError extends AgentEvalError {
|
|
|
324
263
|
* package does not understand, remains unknown to Runtime.
|
|
325
264
|
*/
|
|
326
265
|
readonly providerDispatch?: 'not_started';
|
|
266
|
+
/**
|
|
267
|
+
* Bridge-owned proof that the refusal came from a full executor semaphore, not a
|
|
268
|
+
* provider: the request waited on the host's concurrency gate and was refused as
|
|
269
|
+
* capacity (`executor_saturated`, HTTP 429). Retryable after `Retry-After`.
|
|
270
|
+
*/
|
|
271
|
+
readonly capacity?: true;
|
|
327
272
|
/**
|
|
328
273
|
* The upstream's own error class when it names one (the bridge's `parse_error`,
|
|
329
274
|
* `not_configured`, a provider's `invalid_request_error`). A class the upstream never
|
|
@@ -347,6 +292,7 @@ declare class BackendTransportError extends AgentEvalError {
|
|
|
347
292
|
remediation?: RuntimeFailureCause['remediation'];
|
|
348
293
|
body?: string;
|
|
349
294
|
providerDispatch?: 'not_started';
|
|
295
|
+
capacity?: true;
|
|
350
296
|
});
|
|
351
297
|
}
|
|
352
298
|
/**
|
|
@@ -2326,6 +2272,28 @@ interface MaterializedExecutionIdentity {
|
|
|
2326
2272
|
readonly kind: string;
|
|
2327
2273
|
readonly id: string;
|
|
2328
2274
|
}
|
|
2275
|
+
/** The box sizes the created environment reported as applied, or an explicit unknown. Known
|
|
2276
|
+
* values come from the environment's normalized observation (`resources.effective`), never from
|
|
2277
|
+
* the create input: the request was admission-validated, not applied, and the applied sizes stay
|
|
2278
|
+
* comparable against what the guest itself reads from its cgroup limits. `origin` and
|
|
2279
|
+
* `observedAt` carry the observation's provenance so an estimate is never mistaken for a
|
|
2280
|
+
* provider-applied size; `accelerator` is the observation's hardware shape. */
|
|
2281
|
+
type MaterializedResources = {
|
|
2282
|
+
readonly status: 'known';
|
|
2283
|
+
readonly cpu?: number;
|
|
2284
|
+
readonly memoryMb?: number;
|
|
2285
|
+
readonly diskMb?: number;
|
|
2286
|
+
readonly accelerator?: {
|
|
2287
|
+
readonly kind: string;
|
|
2288
|
+
readonly count: number;
|
|
2289
|
+
readonly memoryMb?: number;
|
|
2290
|
+
};
|
|
2291
|
+
readonly origin: 'estimated' | 'measured' | 'reported';
|
|
2292
|
+
readonly observedAt: string;
|
|
2293
|
+
} | {
|
|
2294
|
+
readonly status: 'unknown';
|
|
2295
|
+
readonly reason: string;
|
|
2296
|
+
};
|
|
2329
2297
|
/**
|
|
2330
2298
|
* Data-only declaration from trusted executor code about the exact sealed plan `execute` uses.
|
|
2331
2299
|
* Scope snapshots this value and computes the durable receipt; callers never provide digests.
|
|
@@ -2340,6 +2308,8 @@ interface ExecutorMaterialization {
|
|
|
2340
2308
|
readonly backend: string;
|
|
2341
2309
|
/** Exact selected model, or an explicit unknown reason. */
|
|
2342
2310
|
readonly model: MaterializedModelIdentity;
|
|
2311
|
+
/** Applied resources the created environment reported, or an explicit unknown reason. */
|
|
2312
|
+
readonly resources?: MaterializedResources;
|
|
2343
2313
|
/** Backend-native session/run/request/process identity. */
|
|
2344
2314
|
readonly execution: MaterializedExecutionIdentity;
|
|
2345
2315
|
/** Named implementation that turns the effective profile into executable backend inputs. */
|
|
@@ -2375,6 +2345,7 @@ type ProfileMaterializationReceipt = {
|
|
|
2375
2345
|
readonly runtime: Runtime;
|
|
2376
2346
|
readonly backend: string;
|
|
2377
2347
|
readonly model: MaterializedModelIdentity;
|
|
2348
|
+
readonly resources: MaterializedResources;
|
|
2378
2349
|
readonly execution: MaterializedExecutionIdentity;
|
|
2379
2350
|
readonly materializer: string;
|
|
2380
2351
|
} | {
|
|
@@ -3034,6 +3005,9 @@ interface RootStreamReceipt {
|
|
|
3034
3005
|
readonly ref: string;
|
|
3035
3006
|
/** Committed lines in the file. `0` is a root that drove and produced no observable output. */
|
|
3036
3007
|
readonly events: number;
|
|
3008
|
+
/** Subagent sessions the harness itself spawned, as its `task` tool results named them
|
|
3009
|
+
* (#1264: a completed subagent reached no record before). Absent when none were observed. */
|
|
3010
|
+
readonly subagentSessionIds?: readonly string[];
|
|
3037
3011
|
}
|
|
3038
3012
|
/** An empty observation list is unknown served identity unless dispatch was proven not started. */
|
|
3039
3013
|
interface ProviderModelAttemptEvidence {
|
|
@@ -3063,7 +3037,7 @@ interface NoWinnerError {
|
|
|
3063
3037
|
}
|
|
3064
3038
|
/** Children across the owned forest after the join barrier and release sweep.
|
|
3065
3039
|
* spawned === done + down + cancelled + neverSettled. Unlike the breaker's downCount,
|
|
3066
|
-
* down includes released retained children. spendGaps
|
|
3040
|
+
* down includes released retained children. spendGaps and tree read the whole forest (#1189). */
|
|
3067
3041
|
interface FleetYield {
|
|
3068
3042
|
/** Spawned children; excludes root and synthetic owned-tree root copies. */
|
|
3069
3043
|
readonly spawned: number;
|
|
@@ -3175,9 +3149,9 @@ interface SpawnOpts {
|
|
|
3175
3149
|
* always run.
|
|
3176
3150
|
*/
|
|
3177
3151
|
readonly key?: string;
|
|
3178
|
-
/** The
|
|
3179
|
-
* whose work. The caller asserts the relation; the coordination `spawn_worker` tool admits
|
|
3180
|
-
*
|
|
3152
|
+
/** The sibling node this spawn revises or replaces, so a run's record names which worker took over
|
|
3153
|
+
* whose work. The caller asserts the relation; the coordination `spawn_worker` tool admits any
|
|
3154
|
+
* worker of the same manager, live or settled. Journaled on `spawned` and on the `agent.spawn` hook. */
|
|
3181
3155
|
readonly successorOf?: NodeId;
|
|
3182
3156
|
/**
|
|
3183
3157
|
* With `key`: when the key's committed result ended over its budget and its environment is still
|
|
@@ -3463,72 +3437,36 @@ interface Budget {
|
|
|
3463
3437
|
readonly deadlineMs?: number;
|
|
3464
3438
|
readonly resources?: Readonly<Record<string, ResourceLimit>>;
|
|
3465
3439
|
}
|
|
3466
|
-
/**
|
|
3467
|
-
*
|
|
3468
|
-
* channels (never folded).
|
|
3469
|
-
*
|
|
3470
|
-
* `boxMinutes` is a REPORTED channel, not a conserved one: it is summed across a run and carried
|
|
3471
|
-
* in the journal, and the budget pool never reserves, commits, or refunds against it. `budget.ts`
|
|
3472
|
-
* holds the reason.
|
|
3473
|
-
*/
|
|
3440
|
+
/** Conserved spend from the `UsageEvent` stream. Tokens and dollars stay separate.
|
|
3441
|
+
* `boxMinutes` is reported only: the pool does not reserve against it. */
|
|
3474
3442
|
interface Spend {
|
|
3475
3443
|
resources?: Readonly<Record<string, ResourceSpend>>;
|
|
3476
3444
|
iterations: number;
|
|
3477
3445
|
tokens: LoopTokenUsage;
|
|
3478
|
-
/**
|
|
3479
|
-
* an unreported token count: `tokens` then carries the known subtotal (often `{0,0}`) and must
|
|
3480
|
-
* not be read as the measured total. The twin of `usdKnown` on the token channel — an inference
|
|
3481
|
-
* turn whose provider reported no usage is recorded with this flag rather than omitted, because
|
|
3482
|
-
* omitting it makes the turn look free. */
|
|
3446
|
+
/** False marks work that happened with an unreported count. `tokens` is then a floor, not the total. */
|
|
3483
3447
|
tokensKnown?: boolean;
|
|
3484
3448
|
/** Dollar accounting is known unless explicitly false. A false value must not be treated as $0
|
|
3485
3449
|
* when enforcing a dollar-denominated comparison or limit. */
|
|
3486
3450
|
usdKnown?: boolean;
|
|
3487
3451
|
usd: number;
|
|
3488
|
-
/** The part of `usd
|
|
3489
|
-
* the work: a model catalog's own number, or a figure a provider stated but did not bill.
|
|
3490
|
-
* `usd - usdEstimated` is what a provider is known to have billed. Present only with
|
|
3491
|
-
* `usdKnown: false`; absence means nothing here was priced, not that `usd` is measured. */
|
|
3452
|
+
/** The priced part of `usd`, present only with `usdKnown: false`. `usd - usdEstimated` was billed. */
|
|
3492
3453
|
usdEstimated?: number;
|
|
3493
3454
|
ms: number;
|
|
3494
|
-
/**
|
|
3495
|
-
* Platform box wall time in minutes — the third conserved channel, beside tokens and dollars.
|
|
3496
|
-
*
|
|
3497
|
-
* A run on a subscription seat has no marginal dollar per model call, so box time is the only
|
|
3498
|
-
* real resource it consumes. Before this channel existed such a run reported `$0` with nothing
|
|
3499
|
-
* beside it and was unaccountable by construction.
|
|
3500
|
-
*
|
|
3501
|
-
* ABSENT when nothing was measured. Never `0` for unknown: a zero would claim the box consumed
|
|
3502
|
-
* no platform time, which is a different fact from a box nobody metered. The field is absent
|
|
3503
|
-
* entirely on a run with no box (router, cli-bridge, inline), because "not applicable" is not
|
|
3504
|
-
* the same fact as "unmeasured" either.
|
|
3505
|
-
*/
|
|
3455
|
+
/** Platform box minutes. Absent when unmeasured or when no box ran. Never `0` for unknown. */
|
|
3506
3456
|
boxMinutes?: number;
|
|
3507
|
-
/**
|
|
3508
|
-
* be paired, so `boxMinutes` — when present at all — is a floor, never the total. The twin of
|
|
3509
|
-
* `tokensKnown` and `usdKnown` on the platform channel. */
|
|
3457
|
+
/** False: a box ran and `boxMinutes`, if present, is a floor. */
|
|
3510
3458
|
boxMinutesKnown?: boolean;
|
|
3511
|
-
/**
|
|
3512
|
-
*
|
|
3513
|
-
* (`CostProvenance`, `cost-ledger.ts`).
|
|
3514
|
-
*
|
|
3515
|
-
* `'observed'` — the platform itself reported the minutes.
|
|
3516
|
-
* `'estimated'` — this runtime derived them from the box lifetime it watched. A derived number
|
|
3517
|
-
* is not a platform receipt, and the conserved pool never reserves against it.
|
|
3518
|
-
* `'uncaptured'` — a box ran and nothing measured its time. Comes WITHOUT `boxMinutes`.
|
|
3519
|
-
*/
|
|
3459
|
+
/** `observed` is the platform's number. `estimated` is derived and not reserved against.
|
|
3460
|
+
* `uncaptured` means a box ran and comes without `boxMinutes`. */
|
|
3520
3461
|
boxMinutesProvenance?: 'observed' | 'estimated' | 'uncaptured';
|
|
3521
|
-
/**
|
|
3522
|
-
* How the token counters in `tokens` were obtained, when this record states it.
|
|
3523
|
-
*
|
|
3524
|
-
* ABSENT means every count came from the executor's live stream, which is what every path
|
|
3525
|
-
* reported before harness stores were readable. `'harness-store'` says the harness's own file was
|
|
3526
|
-
* the receipt; `'mixed'` says both sources contributed to this settlement.
|
|
3527
|
-
*
|
|
3528
|
-
* This is a provenance fact, not a confidence one: a store read is the provider's own number and
|
|
3529
|
-
* carries `tokensKnown: true`. The twin of `boxMinutesProvenance` on the token channel.
|
|
3530
|
-
*/
|
|
3462
|
+
/** Where `tokens` came from. Absent means the live stream. A store read still has `tokensKnown: true`. */
|
|
3531
3463
|
tokensProvenance?: TokenUsageProvenance;
|
|
3464
|
+
/** Tokens the live stream had reported when a broken stream's exact result arrived. `tokens` stays the recorded total. */
|
|
3465
|
+
streamedTokens?: LoopTokenUsage;
|
|
3466
|
+
/** Recorded total minus `streamedTokens`, for each counter that grew. Absent when the exact result did not exceed the stream. */
|
|
3467
|
+
unobservedTokens?: LoopTokenUsage;
|
|
3468
|
+
/** False when `iterations` is only the provider-invocation floor: the exact result exceeded the stream, so this count does not name the model calls. */
|
|
3469
|
+
iterationsKnown?: false;
|
|
3532
3470
|
}
|
|
3533
3471
|
/** The accounting channels a usage gap leaves incomplete. */
|
|
3534
3472
|
type SpendChannel = 'tokens' | 'usd' | `resource:${string}`;
|
|
@@ -3553,15 +3491,7 @@ interface BudgetOverspend {
|
|
|
3553
3491
|
readonly reserved: number;
|
|
3554
3492
|
readonly spent: number;
|
|
3555
3493
|
}
|
|
3556
|
-
/**
|
|
3557
|
-
* A settled reservation whose measured spend exceeded what it reserved.
|
|
3558
|
-
*
|
|
3559
|
-
* It records an accounting fact, not an outcome. A child that completed stays `done` with its
|
|
3560
|
-
* artifact, and a child that failed stays `down`. The pool commits the true spend, so its free
|
|
3561
|
-
* balance already carries the overspend and later reservations are refused on their own.
|
|
3562
|
-
* Spend the pool cannot verify (unknown dollars under a dollar cap, unknown or overflowing
|
|
3563
|
-
* resource usage) is not an overspend: it fails the child closed instead.
|
|
3564
|
-
*/
|
|
3494
|
+
/** Measured spend past the reservation. The child stays done or down; unverifiable spend fails closed. */
|
|
3565
3495
|
interface BudgetViolation {
|
|
3566
3496
|
/** Every overspent channel, in the order tokens, iterations, usd, then resources. Never empty. */
|
|
3567
3497
|
readonly overspent: ReadonlyArray<BudgetOverspend>;
|
|
@@ -4071,7 +4001,7 @@ type SpawnEvent = {
|
|
|
4071
4001
|
key?: string;
|
|
4072
4002
|
/** Manager-scoped assignment identity used to join unkeyed and keyed work alike. */
|
|
4073
4003
|
assignmentId?: string;
|
|
4074
|
-
/** The
|
|
4004
|
+
/** The sibling node this spawn revises or replaces (`SpawnOpts.successorOf`). */
|
|
4075
4005
|
successorOf?: NodeId;
|
|
4076
4006
|
/** The budget-stopped node whose held environment and session this node continues. */
|
|
4077
4007
|
continues?: {
|
|
@@ -8930,49 +8860,14 @@ interface ResolvedMcpServerLaunch {
|
|
|
8930
8860
|
*/
|
|
8931
8861
|
declare function resolveMcpServerLaunch(server: AgentProfileMcpServer, keys: KeyProvider | undefined, label: string): Promise<ResolvedMcpServerLaunch>;
|
|
8932
8862
|
/**
|
|
8933
|
-
* cli-bridge seam.
|
|
8934
|
-
*
|
|
8935
|
-
*
|
|
8936
|
-
*
|
|
8937
|
-
*
|
|
8938
|
-
*
|
|
8939
|
-
*
|
|
8940
|
-
*
|
|
8941
|
-
* operation allowed to stop it. Omit `sessionId` and the executor mints one per spawn.
|
|
8942
|
-
*
|
|
8943
|
-
* ── HOW TO CONTROL WHAT THE HARNESS LOADS (there is no argv field, by design) ──
|
|
8944
|
-
*
|
|
8945
|
-
* A worker often needs the harness started in a KNOWN state — no ambient extensions, skills,
|
|
8946
|
-
* context files, or prompt templates — because ambient state is how a paired experiment silently
|
|
8947
|
-
* loses its pairing: an installed extension that persists memory across runs carries arm A's state
|
|
8948
|
-
* into arm B, and nothing reports it.
|
|
8949
|
-
*
|
|
8950
|
-
* That is what the spawned `AgentProfile` is FOR. `agent_profile`
|
|
8951
|
-
* rides every request verbatim, and cli-bridge maps it onto each harness's own native controls:
|
|
8952
|
-
*
|
|
8953
|
-
* - Materializing any profile at all already starts the harness isolated from ambient
|
|
8954
|
-
* workspace state — for pi that is `--no-context-files --no-skills --no-prompt-templates`,
|
|
8955
|
-
* applied to every request that carries an `agent_profile`.
|
|
8956
|
-
* - `AgentProfile.extensions.<harness>` is the named, per-harness control channel. An explicit
|
|
8957
|
-
* `extensions: { pi: { load: [] } }` disables ambient extension discovery outright
|
|
8958
|
-
* (pi's `--no-extensions`); listing package names loads exactly those and nothing else.
|
|
8959
|
-
* - `permissions` / `tools` / `mcp` map onto the harness's native tool and server controls.
|
|
8960
|
-
*
|
|
8961
|
-
* A caller therefore does NOT need to hand-roll an `Executor` to isolate a harness run, and the
|
|
8962
|
-
* profile expressing it stays portable: the same declaration means the same thing on a different
|
|
8963
|
-
* harness, whereas an argv string means nothing anywhere else.
|
|
8964
|
-
*
|
|
8965
|
-
* WHY NOT A GENERAL ARGV PASSTHROUGH. `bridgeUrl` addresses a process-spawning server. Forwarding
|
|
8966
|
-
* an arbitrary argv array to it would let any caller holding a bearer token choose the flags of a
|
|
8967
|
-
* process on the bridge host — which for real harness CLIs includes flags that load code from a
|
|
8968
|
-
* path, read a file into the prompt, redirect the working directory, or turn off the isolation the
|
|
8969
|
-
* bridge applies. cli-bridge deliberately confines workers (a filesystem jail and deny-by-default
|
|
8970
|
-
* network egress), and every one of those confinements is expressed as spawn configuration, so an
|
|
8971
|
-
* argv channel is a channel for unwinding them. It would also break this executor's own contract:
|
|
8972
|
-
* the durable-run replay protocol, session pinning, and streaming mode are all argv the bridge
|
|
8973
|
-
* owns, and a caller-supplied duplicate silently wins or corrupts the parse. The structured profile
|
|
8974
|
-
* channel is validated, per-harness, portable, and refuses controls it does not understand — keep
|
|
8975
|
-
* new harness capability there.
|
|
8863
|
+
* cli-bridge transport seam. The spawned `AgentProfile` is the harness authority and is forwarded
|
|
8864
|
+
* verbatim; this seam carries transport only. `sessionId` is the harness conversation; each turn has
|
|
8865
|
+
* its own run id. A dropped reader reattaches to that run, and explicit cancel is the only stop.
|
|
8866
|
+
* Omit `sessionId` and the executor mints one. There is no argv field: materializing a profile
|
|
8867
|
+
* isolates the harness from ambient workspace state, `extensions.<harness>` chooses which extensions
|
|
8868
|
+
* load, and `permissions` / `tools` / `mcp` map to the harness's own controls. An argv array would
|
|
8869
|
+
* let a bearer token unwind the bridge's jail and egress policy and collide with the replay,
|
|
8870
|
+
* session, and streaming flags the bridge owns.
|
|
8976
8871
|
*/
|
|
8977
8872
|
interface BridgeSeam {
|
|
8978
8873
|
bridgeUrl: string;
|
|
@@ -9638,6 +9533,8 @@ interface ProviderSeam extends ProviderExecutorOptions {
|
|
|
9638
9533
|
* environment that every co-tenant of a shared box could read.
|
|
9639
9534
|
*/
|
|
9640
9535
|
shared?: SharedBoxPlacement;
|
|
9536
|
+
/** Largest `spawn_worker` `resources` a worker may request; above it is refused (#1277). */
|
|
9537
|
+
maxWorkerResources?: ResourceRequest;
|
|
9641
9538
|
}
|
|
9642
9539
|
/**
|
|
9643
9540
|
* Router seam WITH tool use — the tool-using router backend. Same direct
|
|
@@ -9881,9 +9778,14 @@ interface SpawnResourceReader {
|
|
|
9881
9778
|
}
|
|
9882
9779
|
/**
|
|
9883
9780
|
* The environment reader: a manager running inside a provider environment whose `read()` serves
|
|
9884
|
-
* its own workspace.
|
|
9885
|
-
*
|
|
9886
|
-
*
|
|
9781
|
+
* its own workspace. Containment of relative paths is the provider's property, not this
|
|
9782
|
+
* function's: the tangle sidecar enforces it in `resolveWorkspacePath`
|
|
9783
|
+
* (apps/sidecar/src/lib/workspace.ts:98-155, agent-dev-container) — relative paths stay inside
|
|
9784
|
+
* the sandbox workspace, absolute paths only through an allowlist, `.sidecar/` refused at any
|
|
9785
|
+
* depth because that tree holds the guest's orchestrator token. If that enforcement widened,
|
|
9786
|
+
* this reader would serve files from outside the workspace; the absolute, `..`, and `.sidecar`
|
|
9787
|
+
* refusals below are belt-and-braces so it stays correct for every path shape they can name
|
|
9788
|
+
* (#1284).
|
|
9887
9789
|
*
|
|
9888
9790
|
* `read()` returns a string, so an environment cannot hand back bytes that are not UTF-8; the
|
|
9889
9791
|
* provider has already decoded. The size bound is checked on what arrives.
|
|
@@ -10440,37 +10342,29 @@ type SupervisorFinalizer = (ctx: FinalizeContext) => Promise<unknown | undefined
|
|
|
10440
10342
|
* existing caller had: the highest-scoring delivered child's output, `undefined` when nothing
|
|
10441
10343
|
* delivered (or the best delivered child carries no artifact). */
|
|
10442
10344
|
declare const bestDelivered: SupervisorFinalizer;
|
|
10443
|
-
/** What the next drive continues, as the drive harness can prove it before the turn starts. */
|
|
10444
10345
|
interface ReentryContinuity {
|
|
10445
|
-
/** `continued
|
|
10446
|
-
* `new`: a new harness session, which knows only what its task says. */
|
|
10346
|
+
/** `continued` reuses the harness session. `new` knows only this task. */
|
|
10447
10347
|
readonly session: 'continued' | 'new';
|
|
10448
|
-
/**
|
|
10449
|
-
* previous environment the provider no longer holds. */
|
|
10348
|
+
/** `replaced` names an environment the provider no longer holds. */
|
|
10450
10349
|
readonly environment: 'same' | 'replaced' | 'unknown';
|
|
10451
10350
|
readonly environmentId?: string;
|
|
10452
10351
|
readonly previousEnvironmentId?: string;
|
|
10453
|
-
/**
|
|
10454
|
-
* the checkpoint taken at `checkpointAt`; anything written after it is gone. */
|
|
10352
|
+
/** `restored` is the checkpoint at `checkpointAt`. Later writes are gone. */
|
|
10455
10353
|
readonly workspace: 'kept' | 'restored' | 'lost' | 'unknown';
|
|
10456
10354
|
readonly checkpointAt?: string;
|
|
10457
10355
|
}
|
|
10458
|
-
/**
|
|
10356
|
+
/** What a re-entry may assume when nothing proved its session, environment or workspace. */
|
|
10459
10357
|
declare const UNPROVEN_CONTINUITY: ReentryContinuity;
|
|
10460
10358
|
interface ReentryTaskInput {
|
|
10461
|
-
/** The run's original task, exactly as the first drive received it. */
|
|
10462
10359
|
readonly originalTask: unknown;
|
|
10463
|
-
/** What the completion check requires, when the caller described it. */
|
|
10464
10360
|
readonly contract?: string;
|
|
10465
|
-
/** Coordination tools served to this manager. Absent means none are proven available. */
|
|
10466
10361
|
readonly tools?: ReadonlyArray<string>;
|
|
10467
10362
|
readonly reentry: DriverReentry;
|
|
10468
10363
|
readonly continuity: ReentryContinuity;
|
|
10469
10364
|
readonly state: ManagerReentryState;
|
|
10470
|
-
/** 1-based driver attempt this task starts. */
|
|
10471
10365
|
readonly attempt: number;
|
|
10472
10366
|
}
|
|
10473
|
-
/**
|
|
10367
|
+
/** The task a re-entered driver receives: what changed, why it re-entered, and its objective. */
|
|
10474
10368
|
declare function composeReentryTask(input: ReentryTaskInput): string;
|
|
10475
10369
|
/** The read-model a `StopRule` decides from — the run's progress, not its budget. */
|
|
10476
10370
|
interface ProgressView {
|
|
@@ -11208,1152 +11102,1217 @@ declare function subscriptionUsageLimitSignal(failure: {
|
|
|
11208
11102
|
readonly error: string;
|
|
11209
11103
|
readonly errorCode?: string;
|
|
11210
11104
|
}): 'subscription-usage-limit' | undefined;
|
|
11211
|
-
/**
|
|
11212
|
-
|
|
11213
|
-
|
|
11214
|
-
|
|
11215
|
-
|
|
11216
|
-
|
|
11217
|
-
|
|
11218
|
-
|
|
11219
|
-
|
|
11105
|
+
/** Record-owned policy data; callbacks, panel execution and a host-computed best stay outside. */
|
|
11106
|
+
type PortableContinuationPolicy = Omit<ContinuationPolicy, 'append' | 'runPanel' | 'panel' | 'panelUsd' | 'best'> & {
|
|
11107
|
+
readonly panel: 'off';
|
|
11108
|
+
};
|
|
11109
|
+
/** The canonical policy admission, restricted to portable JSON rather than host callbacks. */
|
|
11110
|
+
declare const portableContinuationPolicySchema: z.ZodPipe<z.ZodUnknown, z.ZodTransform<PortableContinuationPolicy, unknown>>;
|
|
11111
|
+
/** A flow node's usable settle matched no routes edge leaving it (`unrouted`), or a fired edge named
|
|
11112
|
+
* a node that still had a running worker (`target-live`). The flow spawned nothing more; the full
|
|
11113
|
+
* evidence rides on the error, shaped like `GraphEdgeCapError`. */
|
|
11114
|
+
declare class GraphRouteError extends Error {
|
|
11115
|
+
readonly reason: 'unrouted' | 'target-live';
|
|
11116
|
+
readonly node: NodeId;
|
|
11117
|
+
readonly workerId: string;
|
|
11118
|
+
readonly ledger: ReadonlyArray<EdgeTraversal>;
|
|
11119
|
+
readonly result: SupervisedResult<unknown>;
|
|
11120
|
+
constructor(unrouted: {
|
|
11121
|
+
readonly reason: 'unrouted' | 'target-live';
|
|
11122
|
+
readonly node: NodeId;
|
|
11123
|
+
readonly workerId: string;
|
|
11124
|
+
readonly detail: string;
|
|
11125
|
+
}, ledger: ReadonlyArray<EdgeTraversal>, result: SupervisedResult<unknown>);
|
|
11126
|
+
}
|
|
11127
|
+
/** Default per-edge traversal cap — the cyclic-graph backstop when an edge names none. */
|
|
11128
|
+
declare const defaultEdgeTraversalCap = 32;
|
|
11129
|
+
/** A graph node: an id and a canonical `AgentProfile`. The profile is the ONLY way a node is
|
|
11130
|
+
* described — its `prompt.systemPrompt` is the standing role (the 0.117 canonical resolution;
|
|
11131
|
+
* never a legacy top-level-only reduction), its tools/mcp/resources are its capabilities. */
|
|
11132
|
+
interface GraphNode {
|
|
11133
|
+
readonly id: NodeId;
|
|
11134
|
+
readonly profile: AgentProfile;
|
|
11135
|
+
/** A check node: Runtime runs this command instead of an agent (flow graphs only). Its profile is
|
|
11136
|
+
* `{ name: id }`; `graphFromStored` writes both. */
|
|
11137
|
+
readonly check?: GraphCheckNode;
|
|
11220
11138
|
}
|
|
11139
|
+
type GraphEdge =
|
|
11140
|
+
/** Work flows down. The delegation directive is DATA → versionable, sweepable, optimizable.
|
|
11141
|
+
* Each spawn of `to` by `from` — and each mid-run steer from `from` to a live `to` worker —
|
|
11142
|
+
* is one traversal. */
|
|
11143
|
+
{
|
|
11144
|
+
readonly kind: 'delegates';
|
|
11145
|
+
readonly from: NodeId;
|
|
11146
|
+
readonly to: NodeId;
|
|
11147
|
+
readonly directive: PromptHandle;
|
|
11148
|
+
/** Cyclic-graph backstop: traversals beyond this REFUSE (fail loud). Default
|
|
11149
|
+
* {@link defaultEdgeTraversalCap}. */
|
|
11150
|
+
readonly maxTraversals?: number;
|
|
11151
|
+
/** Default continuity for this edge's SPAWN traversals. `'resume'` makes every spawn after
|
|
11152
|
+
* the node's first re-attach to its most recent SETTLED worker: a NEW live worker whose
|
|
11153
|
+
* spawn context carries `resume: { ofWorker, sequence }` for the executor seam, spending
|
|
11154
|
+
* from the same conserved pool — the node's first spawn is effectively `'fresh'`, and a
|
|
11155
|
+
* spawn while a prior worker is still live refuses loudly (steer is the live channel).
|
|
11156
|
+
* The driver's per-call `spawn_worker` `continuity` argument overrides either way. Omit =
|
|
11157
|
+
* `'fresh'` (today's behavior, byte-identical). Caps count resumes exactly like fresh
|
|
11158
|
+
* spawns. */
|
|
11159
|
+
readonly continuity?: ContinuityMode;
|
|
11160
|
+
} |
|
|
11161
|
+
/** Findings flow anywhere: an analyst over N nodes' settled traces, delivered to ONE node.
|
|
11162
|
+
* With a LENS analyst the directive wraps the findings for the recipient; with a NODE analyst
|
|
11163
|
+
* the directive is the analyst agent's task and the findings are its settle output. */
|
|
11164
|
+
{
|
|
11165
|
+
readonly kind: 'analyzes';
|
|
11166
|
+
/** The analyst REFERENCE, in one of two forms: a lens id resolved against
|
|
11167
|
+
* `RunGraphOptions.analysts` (environment), or the id of a graph NODE with no delegates
|
|
11168
|
+
* edge pointing at it — then each matching settle spawns that node's pinned profile as a
|
|
11169
|
+
* tool-equipped analyst WORKER (same spawn machinery, conserved budget, trace join) whose
|
|
11170
|
+
* task is this edge's directive plus the settled worker's trace evidence and whose settle
|
|
11171
|
+
* output is the findings. An id that is both a node and a registry lens is refused. */
|
|
11172
|
+
readonly analyst: string;
|
|
11173
|
+
readonly over: ReadonlyArray<NodeId>;
|
|
11174
|
+
readonly to: NodeId;
|
|
11175
|
+
readonly directive: PromptHandle;
|
|
11176
|
+
/** Observability cap: traversals beyond this are LEDGERED as exhausted (`unpropagated`).
|
|
11177
|
+
* Only delegates caps refuse traversal — they are what close the spawn cycle. */
|
|
11178
|
+
readonly maxTraversals?: number;
|
|
11179
|
+
} |
|
|
11221
11180
|
/**
|
|
11222
|
-
*
|
|
11223
|
-
*
|
|
11181
|
+
* Fan-out over a list that exists only at run time, then one join. When `from` settles `done`,
|
|
11182
|
+
* the array at `pointer` in its result is expanded: each element becomes the TASK of one item
|
|
11183
|
+
* run, at most `concurrency` at a time, and once every item settled the `join` node runs with
|
|
11184
|
+
* `{ map, source, items, results: [{ index, item, result }], failures: [{ index, item, outcome,
|
|
11185
|
+
* reason }] }`, results in item order. The runtime spawns the items and the join (`from`'s
|
|
11186
|
+
* driver spends no turn on them) through the same authorized spawn path a delegates spawn
|
|
11187
|
+
* takes: each item reserves its budget from the one conserved pool and is pinned to the edge's
|
|
11188
|
+
* profile, so an item's content can never choose what runs.
|
|
11224
11189
|
*
|
|
11225
|
-
*
|
|
11226
|
-
*
|
|
11227
|
-
*
|
|
11228
|
-
*
|
|
11229
|
-
*
|
|
11190
|
+
* An item is either the node `to` (its pinned profile plus this edge's directive) or the nested
|
|
11191
|
+
* `graph`, started per item exactly as `run_graph` starts a graph. Refusals are loud and
|
|
11192
|
+
* ledgered, and the driver is woken with them: a pointer that does not resolve to an array, more
|
|
11193
|
+
* elements than `maxItems`, or a `concurrency` the run's worker-slot bound can never honor.
|
|
11194
|
+
* `concurrency` otherwise THROTTLES (items wait for a free place); it never refuses an item.
|
|
11230
11195
|
*
|
|
11231
|
-
*
|
|
11232
|
-
*
|
|
11233
|
-
* `
|
|
11234
|
-
*
|
|
11235
|
-
*
|
|
11236
|
-
*
|
|
11196
|
+
* An edge rather than a node-level spec, because every kernel invariant a map must keep already
|
|
11197
|
+
* attaches to edge traversal: pinning admits only the edge's item and join nodes (the spawn
|
|
11198
|
+
* context carries a runtime-authored `map` marker), each item is admitted like a spawn and
|
|
11199
|
+
* reserves from the conserved pool, each item settles under its own deliverable check, and each
|
|
11200
|
+
* expansion, item and join is a ledger row with its journal twin. Topology stays static; only the
|
|
11201
|
+
* traversal count is dynamic, so validation and the one-node-one-profile rule are unchanged.
|
|
11237
11202
|
*/
|
|
11238
|
-
|
|
11239
|
-
readonly
|
|
11240
|
-
|
|
11241
|
-
|
|
11242
|
-
readonly
|
|
11243
|
-
|
|
11203
|
+
{
|
|
11204
|
+
readonly kind: 'maps';
|
|
11205
|
+
/** The source node: a delegates target, or the join of another maps edge. Each of its `done`
|
|
11206
|
+
* settles expands the map once. */
|
|
11207
|
+
readonly from: NodeId;
|
|
11208
|
+
/** RFC 6901 JSON pointer into `from`'s settled result (`''` is the whole result). */
|
|
11209
|
+
readonly pointer: string;
|
|
11210
|
+
/** The item node, run once per element with the element as its task. Exactly one of `to`
|
|
11211
|
+
* and `graph`. Reachable only through this edge: never a delegates target. */
|
|
11212
|
+
readonly to?: NodeId;
|
|
11213
|
+
/** A graph run per element as one subtask, through the `run_graph` path. */
|
|
11214
|
+
readonly graph?: GraphTopology;
|
|
11215
|
+
/** Receives the ordered results once every item settled. Reachable only through this edge. */
|
|
11216
|
+
readonly join: NodeId;
|
|
11217
|
+
/** The item directive, appended to the item node's instructions per traversal. */
|
|
11218
|
+
readonly directive: PromptHandle;
|
|
11219
|
+
/** Lists longer than this are refused before any item runs. */
|
|
11220
|
+
readonly maxItems: number;
|
|
11221
|
+
/** How many items run at once. */
|
|
11222
|
+
readonly concurrency: number;
|
|
11223
|
+
readonly onItemFailure: MapItemFailurePolicy;
|
|
11224
|
+
/** Each item's budget, merged over the per-worker default as `spawn_worker`'s `budget` is. */
|
|
11225
|
+
readonly itemBudget?: Partial<Budget>;
|
|
11226
|
+
} |
|
|
11227
|
+
/**
|
|
11228
|
+
* A route in a flow graph (one with `entry`): Runtime traverses it when `from` settles, so no
|
|
11229
|
+
* root decides the order, the branch, the repair loop or the stop. On each usable settle of
|
|
11230
|
+
* `from` its outgoing routes edges are tried in declaration order and the first whose `when`
|
|
11231
|
+
* holds fires; an edge without `when` is the default branch and comes last. A node target is
|
|
11232
|
+
* spawned with `{ from: { node, result }, evidence: { [id]: latest usable result } }` (a join's
|
|
11233
|
+
* target with `{ from: { nodes }, evidence }`, see below) and the directive appended to its pinned instructions; `{ stop }` ends the run with no winner and
|
|
11234
|
+
* `GraphResult.stopped`; `{ finish }` makes this settle part of the run's output.
|
|
11235
|
+
*
|
|
11236
|
+
* A fork lists two or more nodes in `to`: one traversal spawns each of them at once, each under
|
|
11237
|
+
* its own key `route:<edge id>#<traversal>:<node>`. A join lists two or more nodes in `from`: it
|
|
11238
|
+
* fires once every member has settled usably since it last fired, and the target's task is
|
|
11239
|
+
* `{ from: { nodes: <members in declared order> }, evidence }` with each member's latest result
|
|
11240
|
+
* in `evidence`, so it does not depend on which member settled last and a resumed run derives the
|
|
11241
|
+
* same task. A routes edge that spawns a node with a settled worker in this flow (a back edge)
|
|
11242
|
+
* names that node's latest settled worker as the spawn's `successorOf`. A join carries no `when`, and it is the only routes edge
|
|
11243
|
+
* leaving each of its members. A route into a node that still has a running worker throws
|
|
11244
|
+
* {@link GraphRouteError} with reason `target-live`: converging branches use a join.
|
|
11245
|
+
*/
|
|
11246
|
+
{
|
|
11247
|
+
readonly kind: 'routes';
|
|
11248
|
+
readonly from: NodeId | ReadonlyArray<NodeId>;
|
|
11249
|
+
readonly to: NodeId | ReadonlyArray<NodeId> | {
|
|
11250
|
+
readonly stop: string;
|
|
11251
|
+
} | {
|
|
11252
|
+
readonly finish: string;
|
|
11244
11253
|
};
|
|
11254
|
+
readonly directive: PromptHandle;
|
|
11255
|
+
/** Absent on the default edge and on every join. A match reads `from` unless it names a node
|
|
11256
|
+
* in `evidence`. */
|
|
11257
|
+
readonly when?: RouteWhen;
|
|
11258
|
+
/** Nodes whose latest usable result rides the target's task. */
|
|
11259
|
+
readonly evidence?: ReadonlyArray<NodeId>;
|
|
11260
|
+
/** Traversals beyond this are skipped (ledgered `unpropagated`) and matching continues with
|
|
11261
|
+
* the next edge. Default {@link defaultEdgeTraversalCap}. Every routes cycle, each subcycle
|
|
11262
|
+
* included, must cross an edge that sets it. */
|
|
11263
|
+
readonly maxTraversals?: number;
|
|
11264
|
+
/** `'resume'` re-attaches each spawn of the target to its latest settled session. Omit =
|
|
11265
|
+
* `'fresh'`. */
|
|
11266
|
+
readonly continuity?: ContinuityMode;
|
|
11267
|
+
};
|
|
11268
|
+
/** A topology without the run's own budget and deliverable: the form a `maps` edge runs per item,
|
|
11269
|
+
* as `run_graph` runs it. With `entry` it is a flow graph. Inside a maps item, the item value is
|
|
11270
|
+
* the task of every entry whose task is the placeholder `{ item: true }`; a down settle inside the item ends
|
|
11271
|
+
* that item only, and the maps edge's `onItemFailure` decides the join. */
|
|
11272
|
+
interface GraphTopology {
|
|
11273
|
+
readonly nodes: ReadonlyArray<GraphNode>;
|
|
11274
|
+
readonly edges: ReadonlyArray<GraphEdge>;
|
|
11275
|
+
readonly entry?: AgentGraph['entry'];
|
|
11276
|
+
/** Refused here: a maps item's graph and a `run_graph` subtask have no `decideGate`. */
|
|
11277
|
+
readonly gates?: AgentGraph['gates'];
|
|
11245
11278
|
}
|
|
11246
|
-
interface
|
|
11247
|
-
/**
|
|
11248
|
-
readonly
|
|
11249
|
-
|
|
11250
|
-
readonly
|
|
11251
|
-
/**
|
|
11252
|
-
|
|
11253
|
-
|
|
11254
|
-
|
|
11255
|
-
|
|
11256
|
-
readonly signal?: AbortSignal;
|
|
11257
|
-
/** Trusted candidate and pursuit attribution for the root. The runtime derives profile/task
|
|
11258
|
-
* digests itself from the exact detached values it executes. */
|
|
11259
|
-
readonly execution?: AgentExecutionRef;
|
|
11260
|
-
/** WHERE workers run — derives the worker seam. Provide this OR an explicit `makeWorkerAgent`. */
|
|
11261
|
-
readonly backend?: ExecutorConfig;
|
|
11262
|
-
/** Resolve an authored subscription stage to one eligible seat and a backend pinned to its
|
|
11263
|
-
* credential reference. The callback may report stage exhaustion with `resumeAt`; Runtime
|
|
11264
|
-
* advances the authored chain and never writes credentials into its record. */
|
|
11265
|
-
readonly selectSeat?: SelectSeat;
|
|
11266
|
-
/** The independent completion check for backend-derived workers and direct supervisor
|
|
11267
|
-
* submissions. Strongly recommended: without it the supervisor cannot submit its own work and
|
|
11268
|
-
* backend-derived workers fall back to their own validity signal. A `string` names an entry in
|
|
11269
|
-
* `registry.deliverables`. */
|
|
11270
|
-
readonly deliverable?: DeliverableSpec<unknown> | string;
|
|
11271
|
-
/** Resolve the completion check for one exact authorized backend-derived child. The callback runs
|
|
11272
|
-
* after spawn authorization and receives a detached immutable context. It may return `undefined`
|
|
11273
|
-
* to use the run-wide `deliverable`, or `null` to omit this child's assignment check and continuation.
|
|
11274
|
-
* Null does not turn completion into acceptance or erase existing backend/descendant verdicts.
|
|
11275
|
-
* An unchecked child must declare compatible tools: disable inherited spawn rights and author its
|
|
11276
|
-
* coordination grants without `submit_result` or `read_continuation`. Explicit incompatible
|
|
11277
|
-
* grants remain refused; the authorized profile is never rewritten after this callback. */
|
|
11278
|
-
readonly resolveDeliverable?: (input: DeliverableResolutionInput) => DeliverableSpec<unknown> | null | undefined;
|
|
11279
|
-
/** Name→value tables for the four code-valued options, so a recorded run configuration can name
|
|
11280
|
-
* them instead of carrying closures. See {@link SuperviseRegistry}. */
|
|
11281
|
-
readonly registry?: SuperviseRegistry;
|
|
11282
|
-
/** Where the coordination MCP binds when the supervisor is harness-driven. Omit = an ephemeral
|
|
11283
|
-
* port on `127.0.0.1`, which an off-host root cannot reach. A non-loopback host is refused
|
|
11284
|
-
* unless authentication is configured; provider managers also need a reachable public URL. */
|
|
11285
|
-
readonly coordination?: CoordinationBinding;
|
|
11286
|
-
/** OPT-IN peer mail for the run's workers: sibling-to-sibling `send_mail` / `read_mail`, bounded
|
|
11287
|
-
* and audited (`CoordinationToolsOptions.peerMail`). The runtime mints one capability URL per
|
|
11288
|
-
* spawn, serves the mail listener beside the coordination MCP, and hands each worker its
|
|
11289
|
-
* endpoint on {@link runtime.WorkerSpawnContext.peerMailUrl}.
|
|
11290
|
-
*
|
|
11291
|
-
* On the backend-derived worker path the runtime also MOUNTS that endpoint, the way a driver
|
|
11292
|
-
* receives its coordination MCP: out of band on the bridge's `runtime_attachments`, so the
|
|
11293
|
-
* authored profile digest never moves, and inside the leaf factory, so `authorizeSpawn` has
|
|
11294
|
-
* already decided the profile. A `bridge` worker therefore calls `send_mail` / `read_mail` as
|
|
11295
|
-
* native tools. `provider` workers mount it through their runtime MCP attachment capability. `router` and `router-tools` workers run no MCP client, so the URL
|
|
11296
|
-
* stays the caller's to use; every other backend refuses the spawn rather than mint a
|
|
11297
|
-
* capability it can never reach. A caller-owned `makeWorkerAgent` owns its own mount.
|
|
11298
|
-
*
|
|
11299
|
-
* Requires a harness-brained supervisor; a router-brained supervisor is refused rather than
|
|
11300
|
-
* silently unmailed. */
|
|
11301
|
-
readonly peerMail?: boolean | {
|
|
11302
|
-
limits?: Partial<PeerMailLimits>;
|
|
11279
|
+
interface AgentGraph {
|
|
11280
|
+
/** Preserve fully bound literal data when serializing a hydrated graph. */
|
|
11281
|
+
readonly triggerBindings?: readonly [];
|
|
11282
|
+
readonly nodes: ReadonlyArray<GraphNode>;
|
|
11283
|
+
readonly edges: ReadonlyArray<GraphEdge>;
|
|
11284
|
+
/** Termination is mandatory, not optional: the independent completion oracle. */
|
|
11285
|
+
readonly deliverable: DeliverableSpec<unknown> & {
|
|
11286
|
+
readonly checkRef?: string;
|
|
11287
|
+
readonly command?: GraphCommandCheck;
|
|
11288
|
+
readonly when?: RouteWhen;
|
|
11303
11289
|
};
|
|
11304
|
-
/**
|
|
11305
|
-
readonly
|
|
11306
|
-
/**
|
|
11307
|
-
|
|
11308
|
-
|
|
11309
|
-
*
|
|
11310
|
-
*
|
|
11311
|
-
*
|
|
11312
|
-
readonly
|
|
11313
|
-
|
|
11314
|
-
* profile security, spawn authorization, recursive-driver selection, nested supervisors — in
|
|
11315
|
-
* force. Unlike `makeWorkerAgent`, which replaces that path, this slots inside it: the kernel
|
|
11316
|
-
* authorizes and classifies every spawn, and a child that is NOT a driver runs through this
|
|
11317
|
-
* factory instead of `backend`. A child that IS a driver still becomes a nested supervisor, whose
|
|
11318
|
-
* own leaves use this same factory. Composes with `authorizeSpawn`; `backend` is then optional.
|
|
11319
|
-
* This is the seam an offline test or a pinning layer (an agent graph) should use. */
|
|
11320
|
-
readonly makeLeafAgent?: MakeWorkerAgent;
|
|
11321
|
-
/** Reconstruct executors for interrupted children on resume, for a run that owns its worker
|
|
11322
|
-
* factory (`makeWorkerAgent`/`makeLeafAgent`). Backend-derived recursive managers register one
|
|
11323
|
-
* automatically; a caller-owned factory cannot be, so a leaf whose execution can RE-ATTACH
|
|
11324
|
-
* across a process boundary (a sandbox session, a CLI bridge session — an executor that
|
|
11325
|
-
* journals its admission through the retained seam) needs this for a resume to recover the
|
|
11326
|
-
* in-flight child instead of refusing its key `in-doubt`. The factory receives the
|
|
11327
|
-
* reconstructed spec and the child's journaled context, including its prior admissions. */
|
|
11328
|
-
readonly recoverExecutor?: ExecutorFactory<unknown>;
|
|
11329
|
-
/** Run harness-brained supervisors here. Automatic execution supports a local `bridge`, or a
|
|
11330
|
-
* provider advertising runtime MCP attachments with authenticated `coordination.publicUrl`.
|
|
11331
|
-
* Defaults to `backend`; separate it when managers and workers use different services. */
|
|
11332
|
-
readonly driverBackend?: ExecutorConfig;
|
|
11333
|
-
/** Security policy applied to every manager-authored child profile before budget reservation.
|
|
11334
|
-
* The default blocks local and remote MCP, hooks, and connection grants. Pass an explicit
|
|
11335
|
-
* allowlist to grant remote MCP hosts or other author-controlled capabilities. */
|
|
11336
|
-
readonly profileSecurity?: AgentProfileSecurityPolicy;
|
|
11337
|
-
/** Product authority over one complete manager-authored spawn. The callback sees the detached,
|
|
11338
|
-
* immutable profile, task, budget, label, and key together, so approving a profile cannot
|
|
11339
|
-
* authorize a different task. Return the exact allowed profile (which may be narrowed) plus
|
|
11340
|
-
* trusted candidate/pursuit attribution, or throw to refuse the whole spawn before reservation. */
|
|
11341
|
-
readonly authorizeSpawn?: (input: {
|
|
11342
|
-
readonly profile: AgentProfile;
|
|
11343
|
-
readonly parent: AgentProfile;
|
|
11344
|
-
/** Trusted identity of the manager authorizing this exact child. */
|
|
11345
|
-
readonly parentIdentity: NodeExecutionIdentity;
|
|
11346
|
-
/** Concrete manager node; never accepted from model-authored tool arguments. */
|
|
11347
|
-
readonly parentNodeId: string;
|
|
11348
|
-
/** Stable manager-scoped assignment, including deterministic unkeyed siblings. */
|
|
11349
|
-
readonly assignmentId: string;
|
|
11290
|
+
/** One conserved pool across the whole graph — cycles without conservation never terminate. */
|
|
11291
|
+
readonly budget: Budget;
|
|
11292
|
+
/** Setting it makes this a FLOW graph: Runtime spawns every entry at once, each with its task,
|
|
11293
|
+
* and traverses `routes` edges itself. No node is a root and no caller brain runs; the run's
|
|
11294
|
+
* output is `{ [node]: latest usable result }` over its terminal nodes and `finish` sources,
|
|
11295
|
+
* judged by `deliverable`. A stored route check (`checkRef: 'route'`) may also name a
|
|
11296
|
+
* non-terminal node: its condition reads that node's latest delivered output, while the output
|
|
11297
|
+
* stays terminal-only. */
|
|
11298
|
+
readonly entry?: ReadonlyArray<{
|
|
11299
|
+
readonly node: NodeId;
|
|
11350
11300
|
readonly task: unknown;
|
|
11351
|
-
readonly budget: Budget;
|
|
11352
|
-
readonly label: string;
|
|
11353
|
-
readonly key?: string;
|
|
11354
|
-
readonly depth: number;
|
|
11355
|
-
/** Present (as the analyst id) only when the runtime's analyst-on-settle hook initiated this
|
|
11356
|
-
* spawn — authored by the runtime, never accepted from a driver's tool arguments. A node-pinning
|
|
11357
|
-
* authority reads it to admit the analyst node it would refuse as a driver-authored spawn. */
|
|
11358
|
-
readonly analyst?: string;
|
|
11359
|
-
/** Present only when a map route started this spawn — authored by the runtime, never accepted
|
|
11360
|
-
* from tool arguments. A node-pinning authority reads it to admit the map's item or join. */
|
|
11361
|
-
readonly map?: MapSpawnMarker;
|
|
11362
|
-
/** Present only when a flow's entry or routes edge started this spawn — authored by the
|
|
11363
|
-
* runtime, never accepted from tool arguments. A node-pinning authority reads it to admit the
|
|
11364
|
-
* node the edge names. */
|
|
11365
|
-
readonly route?: RouteSpawnMarker;
|
|
11366
|
-
/** The EFFECTIVE continuity of this spawn, resolved by the coordination layer. */
|
|
11367
|
-
readonly continuity?: ContinuityMode;
|
|
11368
|
-
}) => AuthorizedSpawn;
|
|
11369
|
-
/** Product authority over every continuation sent to a live child. When spawn authorization is
|
|
11370
|
-
* enabled, omitting this refuses steer/answer instructions instead of silently extending the
|
|
11371
|
-
* authorized task. The exact worker identity and detached bytes are recorded before delivery. */
|
|
11372
|
-
readonly authorizeMessage?: (input: DownMessageAuthorizationInput & {
|
|
11373
|
-
readonly parent: AgentProfile;
|
|
11374
|
-
readonly depth: number;
|
|
11375
|
-
}) => AuthorizedDownMessage;
|
|
11376
|
-
/** The supervisor's router substrate (`profile.harness` omitted or `cli-base`). The profile's
|
|
11377
|
-
* model wins. */
|
|
11378
|
-
readonly router?: RouterTransportConfig;
|
|
11379
|
-
/** When `driverBackend` is absent, whether an external-harness ROOT may default to running on
|
|
11380
|
-
* `backend` (where workers run). `true` (default) keeps the convenience every direct caller has.
|
|
11381
|
-
* Rooted `runGraph` calls set `false`, so an external root needs an explicit `driverBackend`.
|
|
11382
|
-
* Flow graphs keep derivation for native child drivers; their root uses Runtime's deterministic
|
|
11383
|
-
* brain and makes no model call through this backend. */
|
|
11384
|
-
readonly rootDriverFromBackend?: boolean;
|
|
11385
|
-
/** Pre-journal profile resolution for the spawn pre-flight: the profile a driver authored →
|
|
11386
|
-
* the profile that will run (`CoordinationToolsOptions.resolveSpawnProfile`). A pinning layer
|
|
11387
|
-
* sets this alongside `authorizeSpawn` so the backend gate and the authorization see the same
|
|
11388
|
-
* canonical profile. Identity-free and synchronous; throw to refuse. */
|
|
11389
|
-
readonly resolveSpawnProfile?: (profile: AgentProfile) => AgentProfile;
|
|
11390
|
-
/** OPT-IN standing guidance from the profile knowledge base
|
|
11391
|
-
* (`@tangle-network/agent-interface/profile-kb`). `'profile-kb'` composes harness guidance,
|
|
11392
|
-
* then model guidance, then the profile's own text into the root profile and into every
|
|
11393
|
-
* profile a manager spawns, before identity is fixed, so receipts bind the prompt that ran.
|
|
11394
|
-
* Omit to run profiles exactly as authored: Runtime selects no standing guidance by itself. */
|
|
11395
|
-
readonly profileGuidance?: 'profile-kb';
|
|
11396
|
-
/** Whether a spawned profile that declares no Runtime coordination tool receives its manager's
|
|
11397
|
-
* coordination grants (`spawn_worker`, `observe_agent`, and the rest, plus `submit_result` so it
|
|
11398
|
-
* can still deliver work it does itself), so every child can lead children of its own. Default
|
|
11399
|
-
* `true`. A child whose author wrote any coordination entry, true or false, keeps what was
|
|
11400
|
-
* written (a `false` entry is dropped once it has kept the child a leaf). A child this run
|
|
11401
|
-
* cannot drive as a manager (no driver for its harness, or no `router` for a harness-less one)
|
|
11402
|
-
* stays a leaf, and so does every child of a run with no completion check (`deliverable` or
|
|
11403
|
-
* `resolveDeliverable`), since a manager delivers its own work only through `submit_result`.
|
|
11404
|
-
* `false` runs every authored profile exactly as written. Applies to backend-derived workers;
|
|
11405
|
-
* a caller-owned `makeWorkerAgent` decides its own children. */
|
|
11406
|
-
readonly inheritSpawnRights?: boolean;
|
|
11407
|
-
/** The graph registry directory (`graph-registry`) whose stored graphs a manager's `run_graph`
|
|
11408
|
-
* may start by `graphDigest`. Omit and `run_graph` takes graphs as data only. */
|
|
11409
|
-
readonly graphRegistry?: string;
|
|
11410
|
-
/** The directive registry a graph subtask (a manager's `run_graph`, and a `maps` edge's `graph`
|
|
11411
|
-
* item) resolves its edge directives against. `runGraph` passes its own `registry`, so a nested
|
|
11412
|
-
* flow reads the directives of the graph that started it. Omit and subtasks resolve against the
|
|
11413
|
-
* seeded kernel registry. */
|
|
11414
|
-
readonly promptRegistry?: PromptRegistry;
|
|
11415
|
-
/** Run an external-harness supervisor explicitly. Required for a remote sandbox; optional as a
|
|
11416
|
-
* caller-owned override for a local bridge. */
|
|
11417
|
-
readonly driveHarness?: DriveHarness;
|
|
11418
|
-
/**
|
|
11419
|
-
* How hard a transiently-failed EXTERNAL driver is re-entered before the run ends
|
|
11420
|
-
* `driver-failed`. A harness process SIGKILLed at a bridge timeout, a stream cut mid-turn, or an
|
|
11421
|
-
* upstream 5xx used to end a run of arbitrary length while its budget and deadline sat almost
|
|
11422
|
-
* untouched (#741). A retry re-enters the driver over the SAME scope, coordination server, and
|
|
11423
|
-
* live children; the bridge backend reattaches the harness session by its durable execution id.
|
|
11424
|
-
*
|
|
11425
|
-
* Runtime's own refusals (a validation guard, an exhausted budget, an abort, a client-side
|
|
11426
|
-
* transport status) are never retried — they were decisions. Retries stop at the budget, the
|
|
11427
|
-
* deadline, an abort, or a run of attempts that changed nothing at all.
|
|
11428
|
-
*
|
|
11429
|
-
* Omit = retry under the defaults. `{ enabled: false }` = the historical behavior where the first
|
|
11430
|
-
* driver failure ends the run. Applies to the root manager and every recursive manager under it.
|
|
11431
|
-
*
|
|
11432
|
-
* `driverRetry.pauseRootStops: true` pauses recoverable ROOT stops: no progress, attempt ceilings,
|
|
11433
|
-
* repeated failure, unresolved pending work and spent budget. Each journals one `paused` row
|
|
11434
|
-
* (`replacesStop`, `streak`, `resumeAt`) and waits 5 minutes, doubling to 60. Terminal refusals,
|
|
11435
|
-
* completion, cancellation and declared deadlines still end the run. A root steer ends any pause;
|
|
11436
|
-
* a pool still spent pauses again. Nested managers keep their stops and settle `down` for their
|
|
11437
|
-
* parent. Refused with `driverRetry.enabled: false`. Default off.
|
|
11438
|
-
*/
|
|
11439
|
-
readonly driverRetry?: DriverRetryPolicy;
|
|
11440
|
-
/** Per-attempt record for every external driver in the tree — what makes "failed after N
|
|
11441
|
-
* attempts, last cause X" visible instead of one backend's last words. */
|
|
11442
|
-
readonly onDriverAttempt?: (record: DriverAttemptRecord) => void | Promise<void>;
|
|
11443
|
-
/**
|
|
11444
|
-
* How an EXTERNAL-harness manager with a completion check is sent back when its turn ends with
|
|
11445
|
-
* the check unmet: `maxBarren`, an optional deadline, and the continuation note's profile and
|
|
11446
|
-
* switches.
|
|
11447
|
-
*
|
|
11448
|
-
* A harness owns its own turn loop, so it decides when it is finished — and it can decide that
|
|
11449
|
-
* while the run has produced nothing. Measured on discovery-lab (n = 1,422 settled
|
|
11450
|
-
* runs): 376 of 376 winning runs ended on the driver's own completion, and the completion gate
|
|
11451
|
-
* could only LABEL an undelivered result `valid:false`, never send the driver back for it. By
|
|
11452
|
-
* 2026-09-24, 650 recorded inputs had chosen seven different re-prompt counts, and the note the
|
|
11453
|
-
* director heard held no line of the check's verdict.
|
|
11454
|
-
*
|
|
11455
|
-
* A continuation is the retry path, not a second loop: same scope, same coordination server,
|
|
11456
|
-
* same live children, and the same budget, deadline, and abort bounds. There is no count: the
|
|
11457
|
-
* loop ends when the check passes, on cancellation, on the budget, or at this deadline when one
|
|
11458
|
-
* is set; with none, no clock ends the run. After
|
|
11459
|
-
* `maxBarren` turns in a row without progress, each further continuation waits a barren pause
|
|
11460
|
-
* first, journaled `barren-pause`. A turn that ends, a blocked tool, and a lost
|
|
11461
|
-
* stream are segment boundaries, never the end of the run. Runtime writes the note from the check's verdict (`src/runtime/supervise/continuation.ts`); the
|
|
11462
|
-
* profile owns its words, and `append` may add a section but never replace one.
|
|
11463
|
-
*
|
|
11464
|
-
* Required with `deliverable` (or `resolveDeliverable`) for an external manager, and applied to
|
|
11465
|
-
* every external manager with a completion check in the tree. Refused for a router-brained
|
|
11466
|
-
* manager, which runs its turn loop in process.
|
|
11467
|
-
*/
|
|
11468
|
-
readonly continuation?: ContinuationPolicy;
|
|
11469
|
-
/**
|
|
11470
|
-
* How long live children may keep running after the root driver returns or fails, before the join
|
|
11471
|
-
* barrier cascades the abort into them. `null` waits until children settle or the caller cancels.
|
|
11472
|
-
* An explicit run deadline always wins. Omit/`0` = immediate teardown.
|
|
11473
|
-
*/
|
|
11474
|
-
readonly childSettleGraceMs?: number | null;
|
|
11475
|
-
/**
|
|
11476
|
-
* How long settlement keeps retrying a child teardown the executor has not confirmed, with
|
|
11477
|
-
* exponential backoff, before naming the child in `teardownUnconfirmed` with the provider
|
|
11478
|
-
* environment ids a sweeper deletes. `0` makes one attempt only. Default: 300000 (5 minutes).
|
|
11479
|
-
* See `SupervisorOpts.teardownConfirmMs`.
|
|
11480
|
-
*/
|
|
11481
|
-
readonly teardownConfirmMs?: number;
|
|
11482
|
-
/**
|
|
11483
|
-
* What root settlement does with provider environments that settled children still hold for a
|
|
11484
|
-
* retained execution: `'release'` them with one `environment-teardown` receipt each and close
|
|
11485
|
-
* each released child's cursor slot with a terminal record marked `retainedExecution:
|
|
11486
|
-
* 'released'`, or `'keep'` them for a later call that resumes this run. Default: `'keep'` with
|
|
11487
|
-
* `runDir` (re-running the same `runDir` and `runId` resumes), `'release'` without it (nothing
|
|
11488
|
-
* can resume an in-memory run). See `SupervisorOpts.retainedAtSettlement`.
|
|
11489
|
-
*/
|
|
11490
|
-
readonly retainedAtSettlement?: 'release' | 'keep';
|
|
11491
|
-
/** Resolve one custom external-harness session per trusted manager identity. Use this instead of
|
|
11492
|
-
* `driveHarness` when recursive managers must be independently steerable. */
|
|
11493
|
-
readonly resolveDriveHarness?: ResolveDriveHarness;
|
|
11494
|
-
/** Required with a custom `driveHarness` or `resolveDriveHarness`: declares which complete
|
|
11495
|
-
* AgentProfile axes that path really applies. Built-in bridge driving supplies its own
|
|
11496
|
-
* full-profile contract. */
|
|
11497
|
-
readonly driveHarnessMaterialization?: ProfileMaterializationContract;
|
|
11498
|
-
/** Resolve product-owned tools from the exact trusted manager context. The same descriptors and
|
|
11499
|
-
* handlers are bound to router and external-harness managers; resolution happens once per node.
|
|
11500
|
-
* Each handler receives that manager scope's live cancellation signal in its trusted invocation
|
|
11501
|
-
* context, including recursive parent and root cascades, plus `context.verbs` — that manager's
|
|
11502
|
-
* own coordination verbs, callable in code so a product tool can COMPOSE its children (fan out,
|
|
11503
|
-
* chain, join, retry) in one tool call instead of one model turn per verb. Every verb crosses
|
|
11504
|
-
* the same authorizeSpawn / security / allowedModels gate, pool reservation, worker-slot
|
|
11505
|
-
* queue, journal, and bus the MCP verb crosses, at every depth and on both arms. */
|
|
11506
|
-
readonly resolveSupervisorTools?: ResolveSupervisorTools;
|
|
11507
|
-
/**
|
|
11508
|
-
* Where an `ask_parent` question goes when it leaves a manager (see {@link EscalateQuestion}).
|
|
11509
|
-
*
|
|
11510
|
-
* Installed on EVERY manager of the run, at every depth, so a driver's escalation reaches the
|
|
11511
|
-
* product's own inbox — a UI, an operator queue, a human. Omit and every manager reports
|
|
11512
|
-
* `outcome: 'no-parent'` on `ask_parent`, which is the honest reading when nothing above it is
|
|
11513
|
-
* listening: the runtime routes no question to a parent by itself.
|
|
11514
|
-
*/
|
|
11515
|
-
readonly escalateQuestion?: EscalateQuestion;
|
|
11516
|
-
/** Awaited product transaction hook for every coordination record. `eventId` is stable across a
|
|
11517
|
-
* lost acknowledgement and durable restart; the record is not pull-visible until this commits. */
|
|
11518
|
-
readonly onCoordinationEvent?: (context: SupervisorNodeContext, eventId: Sha256Digest, record: BusRecord<CoordinationEvent>) => void | Promise<void>;
|
|
11519
|
-
/** WORK tools the supervisor may call DIRECTLY — so a recursive atom can ACT (do simple work
|
|
11520
|
-
* itself) OR SPAWN (delegate when it needs parallelism), not be a pure manager. Pair with
|
|
11521
|
-
* `executeExtraTool`. Router arm only (`profile.harness` omitted or `cli-base`). */
|
|
11522
|
-
readonly extraTools?: ReadonlyArray<{
|
|
11523
|
-
readonly name: string;
|
|
11524
|
-
readonly description?: string;
|
|
11525
|
-
readonly parameters: Record<string, unknown>;
|
|
11526
11301
|
}>;
|
|
11527
|
-
/**
|
|
11528
|
-
|
|
11529
|
-
|
|
11530
|
-
*
|
|
11531
|
-
|
|
11532
|
-
|
|
11533
|
-
|
|
11534
|
-
*
|
|
11535
|
-
|
|
11536
|
-
|
|
11537
|
-
|
|
11538
|
-
|
|
11539
|
-
|
|
11540
|
-
|
|
11541
|
-
|
|
11542
|
-
|
|
11543
|
-
|
|
11544
|
-
|
|
11545
|
-
|
|
11546
|
-
|
|
11547
|
-
|
|
11548
|
-
|
|
11549
|
-
|
|
11550
|
-
*
|
|
11551
|
-
|
|
11552
|
-
|
|
11553
|
-
|
|
11554
|
-
|
|
11555
|
-
readonly
|
|
11556
|
-
/**
|
|
11557
|
-
|
|
11558
|
-
|
|
11559
|
-
|
|
11560
|
-
readonly
|
|
11561
|
-
/**
|
|
11562
|
-
|
|
11563
|
-
|
|
11564
|
-
readonly
|
|
11565
|
-
|
|
11566
|
-
|
|
11567
|
-
readonly
|
|
11568
|
-
/**
|
|
11569
|
-
*
|
|
11570
|
-
readonly
|
|
11571
|
-
|
|
11572
|
-
|
|
11573
|
-
|
|
11574
|
-
|
|
11575
|
-
|
|
11576
|
-
|
|
11302
|
+
/** Flow-graph vertices that are not agents: a routes edge into one awaits
|
|
11303
|
+
* `RunGraphOptions.decideGate`, and one edge per choice leaves it, matching
|
|
11304
|
+
* `{ pointer: '/choice', equals: <choice> }`. A `finish` leaving a gate outputs
|
|
11305
|
+
* `{ [gate]: { choice, by } }`. */
|
|
11306
|
+
readonly gates?: ReadonlyArray<RouteGate>;
|
|
11307
|
+
/** Where nodes run: `cwd` (default) is the run's working directory; `fresh` is a new empty
|
|
11308
|
+
* directory the run owns, which the host creates and passes as that working directory
|
|
11309
|
+
* (`graphWorkspace`). */
|
|
11310
|
+
readonly workspace?: 'cwd' | 'fresh';
|
|
11311
|
+
/** The authored root's continuation; a flow has no root manager. */
|
|
11312
|
+
readonly continuation?: PortableContinuationPolicy;
|
|
11313
|
+
}
|
|
11314
|
+
/** `failed` is a maps item or join that ran and settled without a usable result (down, or
|
|
11315
|
+
* rejected by its deliverable check); a traversal that never reached a worker is `unpropagated`. */
|
|
11316
|
+
type EdgeDeliveryOutcome = 'delivered' | 'stripped' | 'empty' | 'unpropagated' | 'failed';
|
|
11317
|
+
/** How one ledgered hop CONTINUED: a spawn traversal stamps its effective spawn mode
|
|
11318
|
+
* (`'fresh'` | `'resume'`), and every mid-run delivery into an already-live recipient — a
|
|
11319
|
+
* driver steer leg and every analyzes delivery (routed steer or driver-destined finding) —
|
|
11320
|
+
* stamps `'steer'`. Zero ambiguity: every row carries exactly one of the three. */
|
|
11321
|
+
type TraversalContinuity = ContinuityMode | 'steer';
|
|
11322
|
+
/** One recorded edge traversal — the in-memory row; the journal twin is the `edge` SpawnEvent. */
|
|
11323
|
+
interface EdgeTraversal {
|
|
11324
|
+
/** Stable edge id: `delegates:<from>-><to>`, `analyzes:<analyst>:<over…>-><to>`,
|
|
11325
|
+
* `maps:<from>-><to | graph>-><join>`, `routes:<from>#<ordinal>-><to | stop:<reason> |
|
|
11326
|
+
* finish:<reason>>`, or `routes:entry-><node>` for an entry. */
|
|
11327
|
+
readonly edge: string;
|
|
11328
|
+
readonly kind: 'delegates' | 'analyzes' | 'maps' | 'routes';
|
|
11329
|
+
readonly from: string;
|
|
11330
|
+
readonly to: string;
|
|
11331
|
+
/** The resolved directive reference (`<surface>/v<n>`). */
|
|
11332
|
+
readonly directive: string;
|
|
11333
|
+
/** 1-based per-edge ordinal. */
|
|
11334
|
+
readonly traversal: number;
|
|
11335
|
+
readonly outcome: EdgeDeliveryOutcome;
|
|
11336
|
+
/** How this hop continued — see {@link TraversalContinuity}. */
|
|
11337
|
+
readonly continuity: TraversalContinuity;
|
|
11338
|
+
/** Bytes of directive + payload that actually crossed the edge. */
|
|
11339
|
+
readonly bytes: number;
|
|
11340
|
+
readonly reason?: string;
|
|
11341
|
+
/** The concrete worker node id, once known. A maps expansion names the source worker. */
|
|
11342
|
+
readonly workerId?: string;
|
|
11343
|
+
/** Present on maps rows: the expansion of the source's list, one item by its index, or the
|
|
11344
|
+
* join. */
|
|
11345
|
+
readonly map?: {
|
|
11346
|
+
readonly phase: 'expand' | 'item' | 'join';
|
|
11347
|
+
readonly index?: number;
|
|
11348
|
+
};
|
|
11349
|
+
/** Present on a gate's decision row (`gate:<id>`, `traversal` = visit): who decided, and what. */
|
|
11350
|
+
readonly gate?: GateDecisionRecord;
|
|
11351
|
+
}
|
|
11352
|
+
/** A delegates edge exhausted its traversal cap and the run produced no winner: the cap, not the
|
|
11353
|
+
* task, ended it. Carries the full evidence so failing loud loses nothing. */
|
|
11354
|
+
declare class GraphEdgeCapError extends Error {
|
|
11355
|
+
readonly exhaustedEdges: ReadonlyArray<string>;
|
|
11356
|
+
readonly ledger: ReadonlyArray<EdgeTraversal>;
|
|
11357
|
+
readonly result: SupervisedResult<unknown>;
|
|
11358
|
+
constructor(exhaustedEdges: ReadonlyArray<string>, ledger: ReadonlyArray<EdgeTraversal>, result: SupervisedResult<unknown>);
|
|
11359
|
+
}
|
|
11360
|
+
/**
|
|
11361
|
+
* Forwarded to the root `supervise()` VERBATIM. Everything not owned, transformed, or refused
|
|
11362
|
+
* above belongs here — the default is "a graph honors it", not "someone remembered to add it".
|
|
11363
|
+
*/
|
|
11364
|
+
declare const GRAPH_FORWARDED_SUPERVISE_OPTIONS: readonly ["parking", "backend", "profileGuidance", "escalateQuestion", "rootHandle", "signal", "execution", "resolveDeliverable", "coordination", "peerMail", "peerAudit", "traceTools", "driverBackend", "profileSecurity", "authorizeSpawn", "router", "driveHarness", "selectSeat", "driverRetry", "onDriverAttempt", "continuation", "childSettleGraceMs", "teardownConfirmMs", "retainedAtSettlement", "resolveDriveHarness", "driveHarnessMaterialization", "resolveSupervisorTools", "extraTools", "executeExtraTool", "recoverExecutor", "perWorker", "reservationPolicy", "deadlineCheckIn", "budgetStopHoldMs", "workerSlots", "watchWorkers", "stallAfterMs", "wake", "runDir", "resume", "segment", "runContext", "steerDir", "stopRule", "onProgressStop", "maxDepth", "maxTurns", "compaction", "now", "allowedModels", "finalizer", "otel", "graphRegistry"];
|
|
11365
|
+
/** `backend` and `driverBackend` keep graph-specific documentation below.
|
|
11366
|
+
*
|
|
11367
|
+
* Do not inherit and redeclare them through an indexed access type.
|
|
11368
|
+
* TypeScript 7 correctly treats `SuperviseOptions['backend']` as including `undefined`, which makes
|
|
11369
|
+
* that redeclaration wider than the exact optional property inherited from `SuperviseOptions`.
|
|
11370
|
+
*/
|
|
11371
|
+
type GraphInheritedSuperviseOption = Exclude<(typeof GRAPH_FORWARDED_SUPERVISE_OPTIONS)[number], 'backend' | 'driverBackend'>;
|
|
11372
|
+
/**
|
|
11373
|
+
* Options for one `runGraph` run.
|
|
11374
|
+
*
|
|
11375
|
+
* Extends every forwarded `SuperviseOptions` key, so a graph honors what a `supervise()` run
|
|
11376
|
+
* honors WITHOUT anyone restating it here. Only the graph-specific members and the ones whose
|
|
11377
|
+
* graph semantics differ are declared below; everything else inherits its type AND its
|
|
11378
|
+
* documentation from `SuperviseOptions`, which is the one owner of both.
|
|
11379
|
+
*/
|
|
11380
|
+
interface RunGraphOptions extends Pick<SuperviseOptions, GraphInheritedSuperviseOption> {
|
|
11381
|
+
/** WHERE worker nodes run — the executor backend. Provide this OR `makeLeafAgent`. Forwarded to
|
|
11382
|
+
* `supervise()`, which derives every authorized leaf from it. A node that declares
|
|
11383
|
+
* `agent_runtime_coordination_spawn_worker` becomes a nested supervisor instead, whose own
|
|
11384
|
+
* leaves are derived the same way. */
|
|
11385
|
+
readonly backend?: Exclude<SuperviseOptions['backend'], undefined>;
|
|
11386
|
+
/** WHERE the ROOT node's harness brain runs — forwarded to `supervise()` verbatim (see
|
|
11387
|
+
* `SuperviseOptions.driverBackend`). Needed when the root node's profile declares an external
|
|
11388
|
+
* harness (`codex`, `claude-code`, `opencode`): that root is driven by the harness, not by the
|
|
11389
|
+
* router brain, and automatic execution supports a local `bridge`. Unlike `supervise()`, this
|
|
11390
|
+
* does NOT default to `backend`: a graph's `backend` places WORKER nodes, so the root driver
|
|
11391
|
+
* is selected only by this field. Omit = no harness driver, which is correct for a root whose
|
|
11392
|
+
* `profile.harness` is omitted or `cli-base` (that root runs on the router brain). */
|
|
11393
|
+
readonly driverBackend?: Exclude<SuperviseOptions['driverBackend'], undefined>;
|
|
11394
|
+
/** Leaf-execution override (offline tests / advanced). `runGraph` still owns node pinning,
|
|
11395
|
+
* directive delivery, and the edge ledger AROUND this seam — only the leaf `act` is yours.
|
|
11396
|
+
* Slots INSIDE the kernel's authorized path (`SuperviseOptions.makeLeafAgent`), so a node that
|
|
11397
|
+
* declares the spawn tool still becomes a nested supervisor even under an offline leaf. */
|
|
11398
|
+
readonly makeLeafAgent?: MakeWorkerAgent;
|
|
11399
|
+
/** The ROOT driver's inference seam — a caller-owned `ToolLoopChat` that makes every root
|
|
11400
|
+
* model call. Use it when the root's decisions must be caller-owned orchestration (a
|
|
11401
|
+
* deterministic conversation driver, a persona loop with its own LLM calls) rather than a
|
|
11402
|
+
* router-derived model call. The graph machinery around the seam is unchanged: node pinning,
|
|
11403
|
+
* directive delivery, the edge ledger, and the journal twin all run the same shipped path,
|
|
11404
|
+
* and the root profile keeps prompt control (`prompt-control-execution` materialization —
|
|
11405
|
+
* `systemPrompt`/`instructions` still apply). What moves to the caller with the brain:
|
|
11406
|
+
* model selection and provider-identity validation (`expectedModel` cannot be enforced on a
|
|
11407
|
+
* call the runtime did not place) and per-turn usage reporting (a brain that reports no
|
|
11408
|
+
* usage meters nothing into the pool). Omit = the router brain derived from the root
|
|
11409
|
+
* profile — the unchanged default. Mutually exclusive with `driverBackend`, and refused
|
|
11410
|
+
* when the root profile declares an external harness (that root is driven BY the harness). */
|
|
11411
|
+
readonly brain?: ToolLoopChat;
|
|
11412
|
+
/** Caller-side runtime hooks (telemetry, policy, product extensions). Composed AFTER the
|
|
11413
|
+
* graph's own spawn-binding hook on the SAME event stream — the graph never swallows the
|
|
11414
|
+
* seam supervise() exposes. */
|
|
11415
|
+
readonly hooks?: RuntimeHooks;
|
|
11416
|
+
/** The analyst lens registry `analyzes` edges resolve against. ENVIRONMENT — needed only for
|
|
11417
|
+
* lens analysts; an analyzes edge naming a graph NODE as its analyst needs no registry. */
|
|
11418
|
+
readonly analysts?: AnalystRegistry$1;
|
|
11419
|
+
/** Answers a flow gate while the process holds the run; the wait counts against its deadline.
|
|
11420
|
+
* ENVIRONMENT, like `analysts`; required when the graph declares gates. */
|
|
11421
|
+
readonly decideGate?: (request: GateRequest) => Promise<GateDecision>;
|
|
11422
|
+
/** Directive registry. Default: the seeded kernel registry (`kernelPromptRegistry()`).
|
|
11577
11423
|
*
|
|
11578
|
-
*
|
|
11579
|
-
|
|
11580
|
-
|
|
11581
|
-
|
|
11582
|
-
|
|
11583
|
-
readonly
|
|
11584
|
-
/** How Runtime wakes a manager that ended its turn with work open: the heartbeat, the debounce
|
|
11585
|
-
* that coalesces events into one wake, and the deadline warning. Omit = the defaults in
|
|
11586
|
-
* `./wake` (15 min, 2 s, 15 min). */
|
|
11587
|
-
readonly wake?: ManagerWakePolicy;
|
|
11588
|
-
/** Default continuity per worker PROFILE NAME: `'resume'` makes each spawn of that name after
|
|
11589
|
-
* the first re-attach to the node's most recent SETTLED worker — a NEW live worker whose spawn
|
|
11590
|
-
* context carries the prior worker's identity (`WorkerSpawnContext.resume`), which the executor
|
|
11591
|
-
* seam re-attaches with. `spawn_worker`'s per-call `continuity` argument overrides in either
|
|
11592
|
-
* direction; `runGraph` derives this from delegates-edge `continuity`. Omit = every spawn is
|
|
11593
|
-
* `'fresh'` (status quo). See `CoordinationToolsOptions.continuityByProfile` for the
|
|
11594
|
-
* refusal semantics (no-prior / while-live / with-key) and the process-local resume boundary. */
|
|
11595
|
-
readonly continuityByProfile?: Readonly<Record<string, ContinuityMode>>;
|
|
11596
|
-
/** Worker output store. Defaults to in-memory. */
|
|
11424
|
+
* NOT `SuperviseOptions.registry`, which is the `SuperviseRegistry` name→value table for
|
|
11425
|
+
* code-valued options. The two share a name and nothing else, and this one wins here — see
|
|
11426
|
+
* `GRAPH_REFUSED_SUPERVISE_OPTIONS`. */
|
|
11427
|
+
readonly registry?: PromptRegistry;
|
|
11428
|
+
/** The run journal the edge ledger and every spawn/settle ride. Default: in-memory. */
|
|
11429
|
+
readonly journal?: SpawnJournal;
|
|
11597
11430
|
readonly blobs?: ResultBlobStore;
|
|
11598
|
-
|
|
11599
|
-
|
|
11600
|
-
*
|
|
11601
|
-
|
|
11602
|
-
|
|
11603
|
-
*
|
|
11604
|
-
*
|
|
11605
|
-
|
|
11606
|
-
|
|
11607
|
-
|
|
11608
|
-
|
|
11609
|
-
|
|
11610
|
-
|
|
11611
|
-
|
|
11612
|
-
*
|
|
11613
|
-
*
|
|
11614
|
-
*
|
|
11615
|
-
*
|
|
11616
|
-
*
|
|
11617
|
-
|
|
11618
|
-
|
|
11619
|
-
|
|
11620
|
-
*
|
|
11621
|
-
*/
|
|
11622
|
-
readonly
|
|
11623
|
-
|
|
11624
|
-
|
|
11625
|
-
|
|
11626
|
-
|
|
11627
|
-
readonly parking?: RunParkingPolicy;
|
|
11628
|
-
/** Advanced test seam: opt into resume-first when the durable stores are caller-supplied
|
|
11629
|
-
* (`journal` + `blobs` / `runContext`) instead of derived from `runDir`. The normal durable path
|
|
11630
|
-
* is `runDir` or a `runContext` (see `docs/durability.md`). Exactly what the file
|
|
11631
|
-
* context sets automatically: load the prior tree for `runId` before starting fresh, refuse a
|
|
11632
|
-
* reused id without it. Ignored when `runDir` is also set — the file context owns the flag. */
|
|
11633
|
-
readonly resume?: boolean;
|
|
11634
|
-
/**
|
|
11635
|
-
* The segment this entry runs the root in. A run keeps one id for its whole life: a turn that
|
|
11636
|
-
* ends, a lost stream and a dead supervisor are boundaries between entries, and a resume may move
|
|
11637
|
-
* the root to another model, provider, reasoning effort or harness, or onto another stack, as a
|
|
11638
|
-
* new segment of the same run. `profile` stays the root profile the run recorded, so its identity,
|
|
11639
|
-
* coordination owner and settled children resume unchanged; the root executes that profile with
|
|
11640
|
-
* `model.provider`, `model.default`, `model.reasoningEffort` and `harness` replaced where given. `stack` names the
|
|
11641
|
-
* package versions the caller runs this entry under, its Runtime among them; Runtime records it
|
|
11642
|
-
* and never reads it. When the segment differs from the one the run last ran, the journal gains
|
|
11643
|
-
* one `root-segment` record with the time and `reason`. A different task, or any other profile
|
|
11644
|
-
* change, is still a resume identity mismatch: that is a new run. A fresh run records its first
|
|
11645
|
-
* segment and refuses a model or harness change: a new run takes them from its profile.
|
|
11646
|
-
*
|
|
11647
|
-
* A harness change starts a new native session: a session of one harness cannot continue in
|
|
11648
|
-
* another. The root re-enters with its objective and the run's state, in a workspace restored
|
|
11649
|
-
* from its latest checkpoint when the provider holds one.
|
|
11650
|
-
*/
|
|
11651
|
-
readonly segment?: {
|
|
11652
|
-
readonly provider?: string;
|
|
11653
|
-
readonly model?: string;
|
|
11654
|
-
readonly reasoningEffort?: ReasoningEffort;
|
|
11655
|
-
readonly harness?: AgentProfile['harness'];
|
|
11656
|
-
readonly stack?: Readonly<Record<string, string>>;
|
|
11431
|
+
readonly runId?: string;
|
|
11432
|
+
/** Product authority over every steer/answer instruction (the filter seam). `runGraph` observes
|
|
11433
|
+
* what it CHANGES: a narrowed instruction ledgers its steer traversal as `stripped`. */
|
|
11434
|
+
readonly authorizeMessage?: SuperviseOptions['authorizeMessage'];
|
|
11435
|
+
/** Where check nodes run: a fresh Sandbox box per check, created by `client` on the check account,
|
|
11436
|
+
* from each node's `environment`. Absent = locally, in the run's working directory (a loopback
|
|
11437
|
+
* Bridge `cwd` or a `cli-in-place` workspace). */
|
|
11438
|
+
readonly checkPlacement?: GraphCheckPlacement;
|
|
11439
|
+
}
|
|
11440
|
+
interface GraphResult<Out = unknown> {
|
|
11441
|
+
readonly result: SupervisedResult<Out>;
|
|
11442
|
+
/** Every edge traversal, in occurrence order — the observable-edge contract. */
|
|
11443
|
+
readonly ledger: ReadonlyArray<EdgeTraversal>;
|
|
11444
|
+
/** Edge ids whose traversal cap was hit — analyzes exhaustion included (observable here, never
|
|
11445
|
+
* a refusal). A DELEGATES cap paired with a `no-winner` result THROWS
|
|
11446
|
+
* ({@link GraphEdgeCapError}) instead of returning: only delegates caps refuse spawns, so only
|
|
11447
|
+
* they can have ended the run. A LIFECYCLE no-winner (`aborted` / `budget-exhausted`) returns
|
|
11448
|
+
* normally even with an exhausted delegates cap — the abort or the pool, not the cap, ended
|
|
11449
|
+
* that run, and the exhaustion stays observable here. */
|
|
11450
|
+
readonly exhaustedEdges: ReadonlyArray<string>;
|
|
11451
|
+
readonly runId: string;
|
|
11452
|
+
/** Why a flow graph ended early: a `stop` edge fired (`edge` names it), or a flow node settled
|
|
11453
|
+
* down (no `edge`; `reason` is `down: <worker reason>`) or, where a route was needed, without a
|
|
11454
|
+
* usable result (no `edge`; `reason` is `unusable: <why>`). Live flow workers are aborted. */
|
|
11455
|
+
readonly stopped?: {
|
|
11456
|
+
readonly code?: string;
|
|
11457
|
+
readonly edge?: string;
|
|
11458
|
+
readonly at: NodeId;
|
|
11459
|
+
readonly workerId: string;
|
|
11657
11460
|
readonly reason: string;
|
|
11658
11461
|
};
|
|
11659
|
-
/** Durable steer directory when it differs from the run-control directory. */
|
|
11660
|
-
readonly steerDir?: string;
|
|
11661
|
-
/** Override the spawn journal directly (advanced; `runDir` is the ordinary durable path). Pair
|
|
11662
|
-
* with `blobs` — a journal whose result payloads live in a different store cannot replay. */
|
|
11663
|
-
readonly journal?: SpawnJournal;
|
|
11664
|
-
/**
|
|
11665
|
-
* PROGRESS-derived stop rule (BOTH arms). Ends a run that has stopped LEARNING before it
|
|
11666
|
-
* exhausts a ceiling — the answer to "a run should end because it is done or stuck, not because
|
|
11667
|
-
* it ran out". It composes with the budget guards and can never override one.
|
|
11668
|
-
*
|
|
11669
|
-
* The evaluation boundary differs by arm because the loop does: a router-brained supervisor is
|
|
11670
|
-
* evaluated before each of its own inference turns; a harness-brained supervisor is evaluated on
|
|
11671
|
-
* each worker settle, and a stop aborts its stop signal so the harness ends at its next turn
|
|
11672
|
-
* boundary. Both arms fold the same settled ledger through the same evaluator.
|
|
11673
|
-
*
|
|
11674
|
-
* Build it from `supervise/stop-rules`: `plateau({window, minDelta})`,
|
|
11675
|
-
* `noProgressFor({ms, settles})`, `allWorkersStalled({...})`, combined with `anyOf`/`allOf`. The
|
|
11676
|
-
* thresholds are policy and stay with you; the enforcement lives in the runtime. Omit = ceilings
|
|
11677
|
-
* only (unchanged behavior).
|
|
11678
|
-
*
|
|
11679
|
-
* A record may declare the plateau rule as data, `{ plateau: { window, minDelta } }`, so no
|
|
11680
|
-
* product module builds it.
|
|
11681
|
-
*/
|
|
11682
|
-
readonly stopRule?: StopRule | {
|
|
11683
|
-
readonly plateau: PlateauOptions;
|
|
11684
|
-
};
|
|
11685
|
-
/** One-shot notification of WHY a `stopRule` ended the run (BOTH arms) — so a caller records the
|
|
11686
|
-
* reason instead of inferring an early stop from an unexhausted budget. */
|
|
11687
|
-
readonly onProgressStop?: (reason: string) => void;
|
|
11688
|
-
/** Recursion ceiling for the tree (root = 0). The conserved pool is what bounds depth, since each
|
|
11689
|
-
* level's slice comes out of the level above; this only stops a runaway recursion. Omit =
|
|
11690
|
-
* `DEFAULT_MAX_DEPTH` (16). */
|
|
11691
|
-
readonly maxDepth?: number;
|
|
11692
|
-
/** Turn cap for the supervisor's OWN loop (BOTH arms). Router arm: inference turns of the
|
|
11693
|
-
* driver's tool loop. Harness arm: turns the harness reports, counted off its `iteration`
|
|
11694
|
-
* stream — reaching the cap aborts the stop signal, so the harness ends at its next turn
|
|
11695
|
-
* boundary rather than mid-request. `0` lifts the cap on both arms and leaves the conserved
|
|
11696
|
-
* pool, the deadline, and abort as the bounds; a negative value is refused. Omit = the router
|
|
11697
|
-
* arm's default cap, and no turn cap on the harness arm. */
|
|
11698
|
-
readonly maxTurns?: number;
|
|
11699
|
-
/** Give the supervisor brain a chapter-lifecycle on its OWN context window (ROUTER ARM ONLY —
|
|
11700
|
-
* a harness owns its own context window and its own compaction, so this is refused for a
|
|
11701
|
-
* harness-brained supervisor rather than silently ignored): once its coordination transcript
|
|
11702
|
-
* exceeds `thresholdTokens` it distills to a compact progress note and continues, instead of
|
|
11703
|
-
* re-billing the whole transcript every turn (the cost that makes the LLM-brain front door lose
|
|
11704
|
-
* to a dumb-Ralph respawn). The live `Scope` roster is the durable state across chapters.
|
|
11705
|
-
* Default off. `distill` defaults to a brain self-summary + the settled-worker roster. */
|
|
11706
|
-
readonly compaction?: ToolLoopCompactionOptions;
|
|
11707
|
-
readonly runId?: string;
|
|
11708
|
-
readonly now?: () => number;
|
|
11709
|
-
/** Restrict the run to this subset of models. When set, every configured model — the
|
|
11710
|
-
* supervisor router model, the profile's model, and the backend's model — must be a member,
|
|
11711
|
-
* or `supervise()` throws a `ConfigError` before any compute is spent. Unset = unrestricted.
|
|
11712
|
-
*
|
|
11713
|
-
* This is a MODEL-ID filter, not a route filter. The compared values are the bare ids a profile
|
|
11714
|
-
* declares — `model.default`, `model.small`, `subagents[].model`, `modes[].model`. The composed
|
|
11715
|
-
* wire id (`harness/provider/model`) is never built here and never compared, so an entry written
|
|
11716
|
-
* in qualified form matches nothing, and a child that names an allowed id is admitted whatever
|
|
11717
|
-
* harness and provider its own profile declares. Pin the route with `authorizeSpawn`: it reads
|
|
11718
|
-
* the authored child profile and may refuse the spawn before any reservation. */
|
|
11719
|
-
readonly allowedModels?: readonly string[];
|
|
11720
|
-
/** How the settled-worker ledger becomes the run's output. Default `bestDelivered` — the single
|
|
11721
|
-
* highest-scoring DELIVERED child (the exact behavior every existing caller had). Alternatives:
|
|
11722
|
-
* `collectDelivered` (every verified distinct output with provenance — a Pareto set / recorded
|
|
11723
|
-
* disagreement) or a custom `SupervisorFinalizer`. Whatever the finalizer, it operates on
|
|
11724
|
-
* structurally DELIVERED outputs only — an undelivered or invalid child stays ineligible. A
|
|
11725
|
-
* `string` names an entry in `registry.finalizers`. */
|
|
11726
|
-
readonly finalizer?: SupervisorFinalizer | string;
|
|
11727
|
-
/** Lifecycle observers for the whole recursive tree (`Scope` re-seeds them into every nested
|
|
11728
|
-
* scope). Composed with the `otel` recorder below when both are set. Omit = no observers, which
|
|
11729
|
-
* is the behavior every existing caller has. */
|
|
11730
|
-
readonly hooks?: RuntimeHooks;
|
|
11731
|
-
/**
|
|
11732
|
-
* OPT-IN OTLP tracing: emit one span per supervised node (opened at spawn, closed at settle,
|
|
11733
|
-
* parented to its parent node's span) plus an `LLM` child span per metered driver turn, so the
|
|
11734
|
-
* tree is readable by any trace viewer instead of only by a journal parser. See `otel-spans.ts`.
|
|
11735
|
-
*
|
|
11736
|
-
* Omit and the run emits nothing, allocates no recorder, and installs no hook — telemetry is
|
|
11737
|
-
* never a default. Present with no reachable endpoint (no `exportConfig.endpoint` and no
|
|
11738
|
-
* `OTEL_EXPORTER_OTLP_ENDPOINT`) is also a no-op. The spawn journal is untouched either way:
|
|
11739
|
-
* spans are telemetry, never the replay/resume record.
|
|
11740
|
-
*/
|
|
11741
|
-
readonly otel?: Omit<SupervisorSpanOptions, 'runId' | 'now' | 'namespace'>;
|
|
11742
11462
|
}
|
|
11743
|
-
/**
|
|
11744
|
-
*
|
|
11745
|
-
interface
|
|
11746
|
-
readonly
|
|
11747
|
-
readonly execution?: AgentExecutionRef;
|
|
11463
|
+
/** `RunGraphOptions` with the brain REQUIRED — the shape the `/testing` entry's
|
|
11464
|
+
* `runGraphWithTestBrain` keeps accepting now that `brain` is a production option. */
|
|
11465
|
+
interface RunGraphTestOptions extends RunGraphOptions {
|
|
11466
|
+
readonly brain: ToolLoopChat;
|
|
11748
11467
|
}
|
|
11749
|
-
/**
|
|
11750
|
-
|
|
11751
|
-
|
|
11752
|
-
|
|
11753
|
-
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
|
|
11758
|
-
|
|
11759
|
-
|
|
11760
|
-
|
|
11761
|
-
|
|
11468
|
+
/**
|
|
11469
|
+
* Execute an {@link AgentGraph}. A flow graph (`entry` set) runs from its entries and routes edges
|
|
11470
|
+
* under a runtime-owned root that places no model call. Otherwise the root node becomes the
|
|
11471
|
+
* supervisor (`supervise()` — the execution core), each worker node is spawnable BY NODE ID
|
|
11472
|
+
* (`spawn_worker` with `profile: { name: '<node id>' }`; the node's canonical profile is pinned by
|
|
11473
|
+
* the graph), each
|
|
11474
|
+
* delegates directive is appended to the worker profile's `prompt.instructions` per traversal,
|
|
11475
|
+
* and each analyzes edge becomes an analyst-on-settle route with a real DESTINATION. Every
|
|
11476
|
+
* traversal is ledgered and journaled.
|
|
11477
|
+
*/
|
|
11478
|
+
declare function runGraph(graph: AgentGraph, opts: RunGraphOptions): Promise<GraphResult>;
|
|
11479
|
+
/** Alias for graph tests written before `RunGraphOptions.brain` was production. The production
|
|
11480
|
+
* entry accepts the same shape; this wrapper only keeps the `/testing` import path working. */
|
|
11481
|
+
declare function runGraphWithTestBrain(graph: AgentGraph, opts: RunGraphTestOptions): Promise<GraphResult>;
|
|
11482
|
+
/** An environment-owned check command, run outside the agent's conversation. */
|
|
11483
|
+
interface GraphCommandCheck {
|
|
11484
|
+
readonly command: string;
|
|
11485
|
+
readonly timeoutMs?: number;
|
|
11762
11486
|
}
|
|
11763
|
-
/**
|
|
11764
|
-
|
|
11765
|
-
|
|
11766
|
-
interface
|
|
11767
|
-
readonly
|
|
11487
|
+
/** A graph node that runs a command instead of an agent: no model, no seat. Locally it runs in the
|
|
11488
|
+
* run's working directory; with `RunGraphOptions.checkPlacement` it runs in a fresh Sandbox box
|
|
11489
|
+
* built from `environment`, through the box runner a declared check uses. */
|
|
11490
|
+
interface GraphCheckNode {
|
|
11491
|
+
readonly command: string;
|
|
11492
|
+
/** Default 15 minutes. */
|
|
11493
|
+
readonly timeoutMs?: number;
|
|
11494
|
+
/** The box image under `checkPlacement`; required there, unused locally. */
|
|
11495
|
+
readonly environment?: string;
|
|
11496
|
+
/** Domains a box may reach. Absent or empty: egress is blocked. Unused locally. */
|
|
11497
|
+
readonly egress?: readonly string[];
|
|
11498
|
+
/** Environment variable names the command needs; a missing one fails the node. In a box they
|
|
11499
|
+
* resolve only from the placement's `env`, the run owner's secrets. */
|
|
11500
|
+
readonly secrets?: readonly string[];
|
|
11501
|
+
/** The box's size under `checkPlacement`. */
|
|
11502
|
+
readonly resources?: SandboxResources;
|
|
11503
|
+
}
|
|
11504
|
+
/** Where check nodes run in boxes: the run owner's own account. A check node is a step of the
|
|
11505
|
+
* graph, not a judge, so `builderAccounts` is optional and never refuses the owner's account. */
|
|
11506
|
+
interface GraphCheckPlacement extends Omit<DeclaredCheckPlacement, 'builderAccounts' | 'env'> {
|
|
11507
|
+
readonly builderAccounts?: DeclaredCheckPlacement['builderAccounts'];
|
|
11508
|
+
/** The owner's secrets, or a resolver called before each box run so short-lived tokens stay
|
|
11509
|
+
* fresh. Absent: no secrets. */
|
|
11510
|
+
readonly env?: Readonly<Record<string, string | undefined>> | ((request: {
|
|
11511
|
+
readonly node: string;
|
|
11512
|
+
readonly secrets: readonly string[];
|
|
11513
|
+
readonly signal: AbortSignal;
|
|
11514
|
+
}) => Promise<Readonly<Record<string, string | undefined>>>);
|
|
11515
|
+
}
|
|
11516
|
+
/** A check node's settled output. `json` is the last stdout line when it parses as an object. */
|
|
11517
|
+
interface GraphCheckOutput {
|
|
11518
|
+
readonly pass: boolean;
|
|
11519
|
+
readonly exitCode: number | null;
|
|
11520
|
+
/** The last 64 KiB of stdout followed by stderr. */
|
|
11521
|
+
readonly output: string;
|
|
11522
|
+
readonly json?: Record<string, unknown>;
|
|
11523
|
+
}
|
|
11524
|
+
interface GraphFromStoredOptions {
|
|
11525
|
+
readonly trigger?: Readonly<Record<string, unknown>>;
|
|
11526
|
+
readonly checks?: Readonly<Record<string, AgentGraph['deliverable']['check'] | GraphCommandCheck>>;
|
|
11527
|
+
}
|
|
11528
|
+
/** The leaves of a flow's check nodes, for `supervise()`'s leaf path. */
|
|
11529
|
+
interface GraphCheckNodes {
|
|
11530
|
+
readonly names: ReadonlyArray<string>;
|
|
11531
|
+
readonly leaf: MakeWorkerAgent;
|
|
11532
|
+
}
|
|
11533
|
+
/** A name→value table in this package's resolver-port shape: construction stays the caller's,
|
|
11534
|
+
* lookup stays lazy, and a table backed by a file, a plugin loader, or a plain object all
|
|
11535
|
+
* satisfy one interface. */
|
|
11536
|
+
interface SuperviseRegistryTable<T> {
|
|
11537
|
+
resolve(name: string): T | undefined;
|
|
11538
|
+
/** The names the table holds. The three code-valued tables may omit it, because a caller names
|
|
11539
|
+
* their entries from data it already has. The profiles table must list them, because a
|
|
11540
|
+
* director can choose only from a menu it can read. */
|
|
11541
|
+
names?(): readonly string[];
|
|
11768
11542
|
}
|
|
11769
11543
|
/**
|
|
11770
|
-
*
|
|
11771
|
-
*
|
|
11772
|
-
* deliver"). The ONE place a backend becomes a spawnable worker.
|
|
11544
|
+
* The name→value tables that make the three CODE-valued options expressible as run DATA, and the
|
|
11545
|
+
* profiles a director may spawn by name.
|
|
11773
11546
|
*
|
|
11774
|
-
* `
|
|
11775
|
-
*
|
|
11776
|
-
*
|
|
11777
|
-
*
|
|
11778
|
-
*
|
|
11779
|
-
* `supervise()` gives a traced run's workers their trace context without ordering the span recorder
|
|
11780
|
-
* ahead of the worker seam.
|
|
11547
|
+
* `deliverable` / `finalizer` / `analysts` are functions and registries, so a recorded
|
|
11548
|
+
* run configuration (a JSON row, a campaign spec, a resumed run's options) cannot carry them — and
|
|
11549
|
+
* a run with no `deliverable` cannot return a `winner` at all outside the sandbox backend, because
|
|
11550
|
+
* the finalizer keeps only children whose oracle passed and nothing else writes that verdict. A
|
|
11551
|
+
* caller that owns the code registers it here once and names it from data thereafter.
|
|
11781
11552
|
*
|
|
11782
|
-
*
|
|
11783
|
-
*
|
|
11784
|
-
*
|
|
11785
|
-
*
|
|
11786
|
-
*
|
|
11787
|
-
*
|
|
11788
|
-
* resume targets). Every other backend keeps failing loud: their executors have no re-attachable
|
|
11789
|
-
* session, and accepting the spawn would ledger `continuity: 'resume'` over a brand-new session —
|
|
11790
|
-
* a stamp asserting something that never happened.
|
|
11553
|
+
* `profiles` is the profiles table: named AgentProfiles that every manager in the tree may spawn
|
|
11554
|
+
* with `spawn_worker({ profile: '<name>' })` instead of retyping them. The table is read once, when
|
|
11555
|
+
* `supervise` is called: each entry is validated like a root profile and frozen, so every spawn by
|
|
11556
|
+
* a name starts from the same bytes. Unless `profileGuidance` or `authorizeSpawn` rewrites the
|
|
11557
|
+
* profile, the journal records the entry's digest for the child. Omit the table, or list no names,
|
|
11558
|
+
* and nothing about the run changes: `spawn_worker` keeps its object-only `profile`.
|
|
11791
11559
|
*/
|
|
11792
|
-
|
|
11793
|
-
|
|
11794
|
-
|
|
11795
|
-
|
|
11796
|
-
|
|
11797
|
-
|
|
11798
|
-
graphTools: true;
|
|
11799
|
-
}>;
|
|
11800
|
-
/** One-call supervisor: build + run a supervisor from its exact profile. @stable */
|
|
11801
|
-
declare function supervise(profile: SupervisorProfile, task: unknown, opts: SuperviseOptions): Promise<{
|
|
11802
|
-
execution?: AgentExecutionRef;
|
|
11803
|
-
rootProviderModel: ProviderModelExecutionEvidence;
|
|
11804
|
-
kind: "no-winner";
|
|
11805
|
-
tree: TreeView;
|
|
11806
|
-
downCount: number;
|
|
11807
|
-
spentTotal: Spend;
|
|
11808
|
-
usage?: SettledUsage;
|
|
11809
|
-
rootStream?: RootStreamReceipt;
|
|
11810
|
-
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
11811
|
-
continuation?: DriverContinuationRecord;
|
|
11812
|
-
providerModel?: ProviderModelExecutionEvidence;
|
|
11813
|
-
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
11814
|
-
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
11815
|
-
spendGaps?: ReadonlyArray<SpendGap>;
|
|
11816
|
-
fleetYield: FleetYield;
|
|
11817
|
-
error?: never;
|
|
11818
|
-
reason: "all-children-down" | "no-children-spawned" | "no-result-selected" | "stopped" | "budget-exhausted" | "deadline" | "aborted";
|
|
11819
|
-
} | {
|
|
11820
|
-
execution?: AgentExecutionRef;
|
|
11821
|
-
rootProviderModel: ProviderModelExecutionEvidence;
|
|
11822
|
-
kind: "no-winner";
|
|
11823
|
-
tree: TreeView;
|
|
11824
|
-
downCount: number;
|
|
11825
|
-
spentTotal: Spend;
|
|
11826
|
-
usage?: SettledUsage;
|
|
11827
|
-
rootStream?: RootStreamReceipt;
|
|
11828
|
-
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
11829
|
-
continuation?: DriverContinuationRecord;
|
|
11830
|
-
providerModel?: ProviderModelExecutionEvidence;
|
|
11831
|
-
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
11832
|
-
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
11833
|
-
spendGaps?: ReadonlyArray<SpendGap>;
|
|
11834
|
-
fleetYield: FleetYield;
|
|
11835
|
-
error?: never;
|
|
11836
|
-
reason: "cancelled";
|
|
11837
|
-
source: string;
|
|
11838
|
-
cancellationReason: string;
|
|
11839
|
-
operationId?: string;
|
|
11840
|
-
operator?: string;
|
|
11841
|
-
} | {
|
|
11842
|
-
execution?: AgentExecutionRef;
|
|
11843
|
-
rootProviderModel: ProviderModelExecutionEvidence;
|
|
11844
|
-
kind: "no-winner";
|
|
11845
|
-
reason: "driver-failed";
|
|
11846
|
-
tree: TreeView;
|
|
11847
|
-
downCount: number;
|
|
11848
|
-
spentTotal: Spend;
|
|
11849
|
-
usage?: SettledUsage;
|
|
11850
|
-
rootStream?: RootStreamReceipt;
|
|
11851
|
-
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
11852
|
-
continuation?: DriverContinuationRecord;
|
|
11853
|
-
providerModel?: ProviderModelExecutionEvidence;
|
|
11854
|
-
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
11855
|
-
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
11856
|
-
spendGaps?: ReadonlyArray<SpendGap>;
|
|
11857
|
-
fleetYield: FleetYield;
|
|
11858
|
-
error: NoWinnerError;
|
|
11859
|
-
} | {
|
|
11860
|
-
execution?: AgentExecutionRef;
|
|
11861
|
-
rootProviderModel: ProviderModelExecutionEvidence;
|
|
11862
|
-
kind: "winner";
|
|
11863
|
-
out: unknown;
|
|
11864
|
-
outRef: string;
|
|
11865
|
-
verdict?: import("@tangle-network/agent-eval").DefaultVerdict;
|
|
11866
|
-
tree: TreeView;
|
|
11867
|
-
spentTotal: Spend;
|
|
11868
|
-
usage?: SettledUsage;
|
|
11869
|
-
rootStream?: RootStreamReceipt;
|
|
11870
|
-
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
11871
|
-
continuation?: DriverContinuationRecord;
|
|
11872
|
-
providerModel?: ProviderModelExecutionEvidence;
|
|
11873
|
-
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
11874
|
-
spendGaps?: ReadonlyArray<SpendGap>;
|
|
11875
|
-
fleetYield: FleetYield;
|
|
11876
|
-
spentBreakdown?: {
|
|
11877
|
-
driverInference: Spend;
|
|
11878
|
-
childWork: Spend;
|
|
11560
|
+
interface SuperviseRegistry {
|
|
11561
|
+
readonly deliverables?: SuperviseRegistryTable<DeliverableSpec<unknown>>;
|
|
11562
|
+
readonly finalizers?: SuperviseRegistryTable<SupervisorFinalizer>;
|
|
11563
|
+
readonly analysts?: SuperviseRegistryTable<AnalystRegistry$1>;
|
|
11564
|
+
readonly profiles?: SuperviseRegistryTable<SuperviseProfileEntry> & {
|
|
11565
|
+
names(): readonly string[];
|
|
11879
11566
|
};
|
|
11880
|
-
}
|
|
11881
|
-
|
|
11882
|
-
|
|
11883
|
-
|
|
11884
|
-
|
|
11885
|
-
|
|
11886
|
-
|
|
11887
|
-
|
|
11888
|
-
|
|
11889
|
-
|
|
11890
|
-
|
|
11891
|
-
|
|
11892
|
-
|
|
11893
|
-
|
|
11894
|
-
|
|
11895
|
-
|
|
11896
|
-
|
|
11897
|
-
|
|
11898
|
-
|
|
11899
|
-
|
|
11900
|
-
|
|
11901
|
-
|
|
11902
|
-
|
|
11903
|
-
|
|
11904
|
-
|
|
11905
|
-
|
|
11906
|
-
|
|
11907
|
-
|
|
11908
|
-
|
|
11909
|
-
|
|
11910
|
-
|
|
11911
|
-
|
|
11912
|
-
|
|
11913
|
-
|
|
11914
|
-
|
|
11915
|
-
|
|
11916
|
-
|
|
11917
|
-
|
|
11918
|
-
|
|
11919
|
-
|
|
11920
|
-
|
|
11921
|
-
|
|
11922
|
-
|
|
11923
|
-
|
|
11924
|
-
|
|
11925
|
-
|
|
11926
|
-
|
|
11927
|
-
|
|
11928
|
-
|
|
11929
|
-
|
|
11930
|
-
|
|
11931
|
-
|
|
11932
|
-
|
|
11933
|
-
|
|
11934
|
-
|
|
11935
|
-
|
|
11936
|
-
|
|
11937
|
-
|
|
11938
|
-
fleetYield: FleetYield;
|
|
11939
|
-
error: NoWinnerError;
|
|
11940
|
-
} | {
|
|
11941
|
-
execution?: AgentExecutionRef;
|
|
11942
|
-
rootProviderModel: ProviderModelExecutionEvidence;
|
|
11943
|
-
kind: "winner";
|
|
11944
|
-
out: unknown;
|
|
11945
|
-
outRef: string;
|
|
11946
|
-
verdict?: import("@tangle-network/agent-eval").DefaultVerdict;
|
|
11947
|
-
tree: TreeView;
|
|
11948
|
-
spentTotal: Spend;
|
|
11949
|
-
usage?: SettledUsage;
|
|
11950
|
-
rootStream?: RootStreamReceipt;
|
|
11951
|
-
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
11952
|
-
continuation?: DriverContinuationRecord;
|
|
11953
|
-
providerModel?: ProviderModelExecutionEvidence;
|
|
11954
|
-
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
11955
|
-
spendGaps?: ReadonlyArray<SpendGap>;
|
|
11956
|
-
fleetYield: FleetYield;
|
|
11957
|
-
spentBreakdown?: {
|
|
11958
|
-
driverInference: Spend;
|
|
11959
|
-
childWork: Spend;
|
|
11567
|
+
}
|
|
11568
|
+
interface SuperviseOptions {
|
|
11569
|
+
/** Whole-run persistence and ownership. SQL contexts are acquired before replay and compute. */
|
|
11570
|
+
readonly runContext?: RunContext;
|
|
11571
|
+
/** The conserved compute pool for the whole run. */
|
|
11572
|
+
readonly budget: Budget;
|
|
11573
|
+
/** Caller-created live handle for observing, steering, or cancelling this root manager. Runtime
|
|
11574
|
+
* attaches it before execution and detaches it after the join barrier. */
|
|
11575
|
+
readonly rootHandle?: RootHandle<unknown>;
|
|
11576
|
+
/** Caller-owned cancellation for the complete recursive run. Aborting it cascades through the
|
|
11577
|
+
* root scope and every live child, including acquisition and backend execution. */
|
|
11578
|
+
readonly signal?: AbortSignal;
|
|
11579
|
+
/** Trusted candidate and pursuit attribution for the root. The runtime derives profile/task
|
|
11580
|
+
* digests itself from the exact detached values it executes. */
|
|
11581
|
+
readonly execution?: AgentExecutionRef;
|
|
11582
|
+
/** WHERE workers run — derives the worker seam. Provide this OR an explicit `makeWorkerAgent`. */
|
|
11583
|
+
readonly backend?: ExecutorConfig;
|
|
11584
|
+
/** Resolve an authored subscription stage to one eligible seat and a backend pinned to its
|
|
11585
|
+
* credential reference. The callback may report stage exhaustion with `resumeAt`; Runtime
|
|
11586
|
+
* advances the authored chain and never writes credentials into its record. */
|
|
11587
|
+
readonly selectSeat?: SelectSeat;
|
|
11588
|
+
/** The independent completion check for backend-derived workers and direct supervisor
|
|
11589
|
+
* submissions. Strongly recommended: without it the supervisor cannot submit its own work and
|
|
11590
|
+
* backend-derived workers fall back to their own validity signal. A `string` names an entry in
|
|
11591
|
+
* `registry.deliverables`. */
|
|
11592
|
+
readonly deliverable?: DeliverableSpec<unknown> | string;
|
|
11593
|
+
/** Resolve the completion check for one exact authorized backend-derived child. The callback runs
|
|
11594
|
+
* after spawn authorization and receives a detached immutable context. It may return `undefined`
|
|
11595
|
+
* to use the run-wide `deliverable`, or `null` to omit this child's assignment check and continuation.
|
|
11596
|
+
* Null does not turn completion into acceptance or erase existing backend/descendant verdicts.
|
|
11597
|
+
* An unchecked child must declare compatible tools: disable inherited spawn rights and author its
|
|
11598
|
+
* coordination grants without `submit_result` or `read_continuation`. Explicit incompatible
|
|
11599
|
+
* grants remain refused; the authorized profile is never rewritten after this callback. */
|
|
11600
|
+
readonly resolveDeliverable?: (input: DeliverableResolutionInput) => DeliverableSpec<unknown> | null | undefined;
|
|
11601
|
+
/** Name→value tables for the four code-valued options, so a recorded run configuration can name
|
|
11602
|
+
* them instead of carrying closures. See {@link SuperviseRegistry}. */
|
|
11603
|
+
readonly registry?: SuperviseRegistry;
|
|
11604
|
+
/** Where the coordination MCP binds when the supervisor is harness-driven. Omit = an ephemeral
|
|
11605
|
+
* port on `127.0.0.1`, which an off-host root cannot reach. A non-loopback host is refused
|
|
11606
|
+
* unless authentication is configured; provider managers also need a reachable public URL. */
|
|
11607
|
+
readonly coordination?: CoordinationBinding;
|
|
11608
|
+
/** OPT-IN peer mail for the run's workers: sibling-to-sibling `send_mail` / `read_mail`, bounded
|
|
11609
|
+
* and audited (`CoordinationToolsOptions.peerMail`). The runtime mints one capability URL per
|
|
11610
|
+
* spawn, serves the mail listener beside the coordination MCP, and hands each worker its
|
|
11611
|
+
* endpoint on {@link runtime.WorkerSpawnContext.peerMailUrl}.
|
|
11612
|
+
*
|
|
11613
|
+
* On the backend-derived worker path the runtime also MOUNTS that endpoint, the way a driver
|
|
11614
|
+
* receives its coordination MCP: out of band on the bridge's `runtime_attachments`, so the
|
|
11615
|
+
* authored profile digest never moves, and inside the leaf factory, so `authorizeSpawn` has
|
|
11616
|
+
* already decided the profile. A `bridge` worker therefore calls `send_mail` / `read_mail` as
|
|
11617
|
+
* native tools. `provider` workers mount it through their runtime MCP attachment capability. `router` and `router-tools` workers run no MCP client, so the URL
|
|
11618
|
+
* stays the caller's to use; every other backend refuses the spawn rather than mint a
|
|
11619
|
+
* capability it can never reach. A caller-owned `makeWorkerAgent` owns its own mount.
|
|
11620
|
+
*
|
|
11621
|
+
* Requires a harness-brained supervisor; a router-brained supervisor is refused rather than
|
|
11622
|
+
* silently unmailed. */
|
|
11623
|
+
readonly peerMail?: boolean | {
|
|
11624
|
+
limits?: Partial<PeerMailLimits>;
|
|
11960
11625
|
};
|
|
11961
|
-
|
|
11962
|
-
|
|
11963
|
-
|
|
11964
|
-
|
|
11965
|
-
|
|
11966
|
-
|
|
11967
|
-
|
|
11968
|
-
*/
|
|
11969
|
-
|
|
11970
|
-
/**
|
|
11971
|
-
|
|
11972
|
-
|
|
11973
|
-
|
|
11974
|
-
|
|
11975
|
-
|
|
11626
|
+
/** Let sibling root managers read each other's recorded evidence. No mutation or steering. Default false. */
|
|
11627
|
+
readonly peerAudit?: boolean;
|
|
11628
|
+
/** False removes observe_agent/read_journal from the root and every authored descendant. Default true. */
|
|
11629
|
+
readonly traceTools?: boolean;
|
|
11630
|
+
/** Override the worker seam directly (tests / advanced) instead of deriving it from `backend`.
|
|
11631
|
+
* This is caller-owned execution: profile security, spawn authorization, and recursive-driver
|
|
11632
|
+
* selection below apply only to the backend-derived worker path. `authorizeMessage` still
|
|
11633
|
+
* governs continuations sent through Runtime's coordination tools. */
|
|
11634
|
+
readonly makeWorkerAgent?: MakeWorkerAgent;
|
|
11635
|
+
/** Override ONLY how an authorized LEAF executes, keeping the whole backend-derived path —
|
|
11636
|
+
* profile security, spawn authorization, recursive-driver selection, nested supervisors — in
|
|
11637
|
+
* force. Unlike `makeWorkerAgent`, which replaces that path, this slots inside it: the kernel
|
|
11638
|
+
* authorizes and classifies every spawn, and a child that is NOT a driver runs through this
|
|
11639
|
+
* factory instead of `backend`. A child that IS a driver still becomes a nested supervisor, whose
|
|
11640
|
+
* own leaves use this same factory. Composes with `authorizeSpawn`; `backend` is then optional.
|
|
11641
|
+
* This is the seam an offline test or a pinning layer (an agent graph) should use. */
|
|
11642
|
+
readonly makeLeafAgent?: MakeWorkerAgent;
|
|
11643
|
+
/** Reconstruct executors for interrupted children on resume, for a run that owns its worker
|
|
11644
|
+
* factory (`makeWorkerAgent`/`makeLeafAgent`). Backend-derived recursive managers register one
|
|
11645
|
+
* automatically; a caller-owned factory cannot be, so a leaf whose execution can RE-ATTACH
|
|
11646
|
+
* across a process boundary (a sandbox session, a CLI bridge session — an executor that
|
|
11647
|
+
* journals its admission through the retained seam) needs this for a resume to recover the
|
|
11648
|
+
* in-flight child instead of refusing its key `in-doubt`. The factory receives the
|
|
11649
|
+
* reconstructed spec and the child's journaled context, including its prior admissions. */
|
|
11650
|
+
readonly recoverExecutor?: ExecutorFactory<unknown>;
|
|
11651
|
+
/** Run harness-brained supervisors here. Automatic execution supports a local `bridge`, or a
|
|
11652
|
+
* provider advertising runtime MCP attachments with authenticated `coordination.publicUrl`.
|
|
11653
|
+
* Defaults to `backend`; separate it when managers and workers use different services. */
|
|
11654
|
+
readonly driverBackend?: ExecutorConfig;
|
|
11655
|
+
/** Security policy applied to every manager-authored child profile before budget reservation.
|
|
11656
|
+
* The default blocks local and remote MCP, hooks, and connection grants. Pass an explicit
|
|
11657
|
+
* allowlist to grant remote MCP hosts or other author-controlled capabilities. */
|
|
11658
|
+
readonly profileSecurity?: AgentProfileSecurityPolicy;
|
|
11659
|
+
/** Product authority over one complete manager-authored spawn. The callback sees the detached,
|
|
11660
|
+
* immutable profile, task, budget, label, and key together, so approving a profile cannot
|
|
11661
|
+
* authorize a different task. Return the exact allowed profile (which may be narrowed) plus
|
|
11662
|
+
* trusted candidate/pursuit attribution, or throw to refuse the whole spawn before reservation. */
|
|
11663
|
+
readonly authorizeSpawn?: (input: {
|
|
11664
|
+
readonly profile: AgentProfile;
|
|
11665
|
+
readonly parent: AgentProfile;
|
|
11666
|
+
/** Trusted identity of the manager authorizing this exact child. */
|
|
11667
|
+
readonly parentIdentity: NodeExecutionIdentity;
|
|
11668
|
+
/** Concrete manager node; never accepted from model-authored tool arguments. */
|
|
11669
|
+
readonly parentNodeId: string;
|
|
11670
|
+
/** Stable manager-scoped assignment, including deterministic unkeyed siblings. */
|
|
11671
|
+
readonly assignmentId: string;
|
|
11672
|
+
readonly task: unknown;
|
|
11673
|
+
readonly budget: Budget;
|
|
11674
|
+
readonly label: string;
|
|
11675
|
+
readonly key?: string;
|
|
11676
|
+
readonly depth: number;
|
|
11677
|
+
/** Present (as the analyst id) only when the runtime's analyst-on-settle hook initiated this
|
|
11678
|
+
* spawn — authored by the runtime, never accepted from a driver's tool arguments. A node-pinning
|
|
11679
|
+
* authority reads it to admit the analyst node it would refuse as a driver-authored spawn. */
|
|
11680
|
+
readonly analyst?: string;
|
|
11681
|
+
/** Present only when a map route started this spawn — authored by the runtime, never accepted
|
|
11682
|
+
* from tool arguments. A node-pinning authority reads it to admit the map's item or join. */
|
|
11683
|
+
readonly map?: MapSpawnMarker;
|
|
11684
|
+
/** Present only when a flow's entry or routes edge started this spawn — authored by the
|
|
11685
|
+
* runtime, never accepted from tool arguments. A node-pinning authority reads it to admit the
|
|
11686
|
+
* node the edge names. */
|
|
11687
|
+
readonly route?: RouteSpawnMarker;
|
|
11688
|
+
/** The EFFECTIVE continuity of this spawn, resolved by the coordination layer. */
|
|
11689
|
+
readonly continuity?: ContinuityMode;
|
|
11690
|
+
}) => AuthorizedSpawn;
|
|
11691
|
+
/** Product authority over every continuation sent to a live child. When spawn authorization is
|
|
11692
|
+
* enabled, omitting this refuses steer/answer instructions instead of silently extending the
|
|
11693
|
+
* authorized task. The exact worker identity and detached bytes are recorded before delivery. */
|
|
11694
|
+
readonly authorizeMessage?: (input: DownMessageAuthorizationInput & {
|
|
11695
|
+
readonly parent: AgentProfile;
|
|
11696
|
+
readonly depth: number;
|
|
11697
|
+
}) => AuthorizedDownMessage;
|
|
11698
|
+
/** The supervisor's router substrate (`profile.harness` omitted or `cli-base`). The profile's
|
|
11699
|
+
* model wins. */
|
|
11700
|
+
readonly router?: RouterTransportConfig;
|
|
11701
|
+
/** When `driverBackend` is absent, whether an external-harness ROOT may default to running on
|
|
11702
|
+
* `backend` (where workers run). `true` (default) keeps the convenience every direct caller has.
|
|
11703
|
+
* Rooted `runGraph` calls set `false`, so an external root needs an explicit `driverBackend`.
|
|
11704
|
+
* Flow graphs keep derivation for native child drivers; their root uses Runtime's deterministic
|
|
11705
|
+
* brain and makes no model call through this backend. */
|
|
11706
|
+
readonly rootDriverFromBackend?: boolean;
|
|
11707
|
+
/** Pre-journal profile resolution: the profile a driver authored → the profile that will run
|
|
11708
|
+
* (`CoordinationToolsOptions.resolveSpawnProfile`), for the spawn itself and its pre-flight
|
|
11709
|
+
* gate alike (#1281). A pinning layer sets this alongside `authorizeSpawn` so the backend
|
|
11710
|
+
* gate and the authorization see the same canonical profile. Identity-free and synchronous;
|
|
11711
|
+
* throw to refuse. */
|
|
11712
|
+
readonly resolveSpawnProfile?: (profile: AgentProfile) => AgentProfile;
|
|
11713
|
+
/** OPT-IN standing guidance from the profile knowledge base
|
|
11714
|
+
* (`@tangle-network/agent-interface/profile-kb`). `'profile-kb'` composes harness guidance,
|
|
11715
|
+
* then model guidance, then the profile's own text into the root profile and into every
|
|
11716
|
+
* profile a manager spawns, before identity is fixed, so receipts bind the prompt that ran.
|
|
11717
|
+
* Omit to run profiles exactly as authored: Runtime selects no standing guidance by itself. */
|
|
11718
|
+
readonly profileGuidance?: 'profile-kb';
|
|
11719
|
+
/** Whether a spawned profile that declares no Runtime coordination tool receives its manager's
|
|
11720
|
+
* coordination grants (`spawn_worker`, `observe_agent`, and the rest, plus `submit_result` so it
|
|
11721
|
+
* can still deliver work it does itself), so every child can lead children of its own. Default
|
|
11722
|
+
* `true`. A child whose author wrote any coordination entry, true or false, keeps what was
|
|
11723
|
+
* written (a `false` entry is dropped once it has kept the child a leaf). A child this run
|
|
11724
|
+
* cannot drive as a manager (no driver for its harness, or no `router` for a harness-less one)
|
|
11725
|
+
* stays a leaf, and so does every child of a run with no completion check (`deliverable` or
|
|
11726
|
+
* `resolveDeliverable`), since a manager delivers its own work only through `submit_result`.
|
|
11727
|
+
* `false` runs every authored profile exactly as written. Applies to backend-derived workers;
|
|
11728
|
+
* a caller-owned `makeWorkerAgent` decides its own children. */
|
|
11729
|
+
readonly inheritSpawnRights?: boolean;
|
|
11730
|
+
/** The graph registry directory (`graph-registry`) whose stored graphs a manager's `run_graph`
|
|
11731
|
+
* may start by `graphDigest`. Omit and `run_graph` takes graphs as data only. */
|
|
11732
|
+
readonly graphRegistry?: string;
|
|
11733
|
+
/** The directive registry a graph subtask (a manager's `run_graph`, and a `maps` edge's `graph`
|
|
11734
|
+
* item) resolves its edge directives against. `runGraph` passes its own `registry`, so a nested
|
|
11735
|
+
* flow reads the directives of the graph that started it. Omit and subtasks resolve against the
|
|
11736
|
+
* seeded kernel registry. */
|
|
11737
|
+
readonly promptRegistry?: PromptRegistry;
|
|
11738
|
+
/** Run an external-harness supervisor explicitly. Required for a remote sandbox; optional as a
|
|
11739
|
+
* caller-owned override for a local bridge. */
|
|
11740
|
+
readonly driveHarness?: DriveHarness;
|
|
11741
|
+
/**
|
|
11742
|
+
* How hard a transiently-failed EXTERNAL driver is re-entered before the run ends
|
|
11743
|
+
* `driver-failed`. A harness process SIGKILLed at a bridge timeout, a stream cut mid-turn, or an
|
|
11744
|
+
* upstream 5xx used to end a run of arbitrary length while its budget and deadline sat almost
|
|
11745
|
+
* untouched (#741). A retry re-enters the driver over the SAME scope, coordination server, and
|
|
11746
|
+
* live children; the bridge backend reattaches the harness session by its durable execution id.
|
|
11747
|
+
*
|
|
11748
|
+
* Runtime's own refusals (a validation guard, an exhausted budget, an abort, a client-side
|
|
11749
|
+
* transport status) are never retried — they were decisions. Retries stop at the budget, the
|
|
11750
|
+
* deadline, an abort, or a run of attempts that changed nothing at all.
|
|
11751
|
+
*
|
|
11752
|
+
* Omit = retry under the defaults. `{ enabled: false }` = the historical behavior where the first
|
|
11753
|
+
* driver failure ends the run. Applies to the root manager and every recursive manager under it.
|
|
11754
|
+
*
|
|
11755
|
+
* `driverRetry.pauseRootStops: true` pauses recoverable ROOT stops: no progress, attempt ceilings,
|
|
11756
|
+
* repeated failure, unresolved pending work and spent budget. Each journals one `paused` row
|
|
11757
|
+
* (`replacesStop`, `streak`, `resumeAt`) and waits 5 minutes, doubling to 60. Terminal refusals,
|
|
11758
|
+
* completion, cancellation and declared deadlines still end the run. A root steer ends any pause;
|
|
11759
|
+
* a pool still spent pauses again. Nested managers keep their stops and settle `down` for their
|
|
11760
|
+
* parent. Refused with `driverRetry.enabled: false`. Default off.
|
|
11761
|
+
*/
|
|
11762
|
+
readonly driverRetry?: DriverRetryPolicy;
|
|
11763
|
+
/** Per-attempt record for every external driver in the tree — what makes "failed after N
|
|
11764
|
+
* attempts, last cause X" visible instead of one backend's last words. */
|
|
11765
|
+
readonly onDriverAttempt?: (record: DriverAttemptRecord) => void | Promise<void>;
|
|
11766
|
+
/**
|
|
11767
|
+
* How an EXTERNAL-harness manager with a completion check is sent back when its turn ends with
|
|
11768
|
+
* the check unmet: `maxBarren`, an optional deadline, and the continuation note's profile and
|
|
11769
|
+
* switches.
|
|
11770
|
+
*
|
|
11771
|
+
* A harness owns its own turn loop, so it decides when it is finished — and it can decide that
|
|
11772
|
+
* while the run has produced nothing. Measured on discovery-lab (n = 1,422 settled
|
|
11773
|
+
* runs): 376 of 376 winning runs ended on the driver's own completion, and the completion gate
|
|
11774
|
+
* could only LABEL an undelivered result `valid:false`, never send the driver back for it. By
|
|
11775
|
+
* 2026-09-24, 650 recorded inputs had chosen seven different re-prompt counts, and the note the
|
|
11776
|
+
* director heard held no line of the check's verdict.
|
|
11777
|
+
*
|
|
11778
|
+
* A continuation is the retry path, not a second loop: same scope, same coordination server,
|
|
11779
|
+
* same live children, and the same budget, deadline, and abort bounds. There is no count: the
|
|
11780
|
+
* loop ends when the check passes, on cancellation, on the budget, or at this deadline when one
|
|
11781
|
+
* is set; with none, no clock ends the run. After
|
|
11782
|
+
* `maxBarren` turns in a row without progress, each further continuation waits a barren pause
|
|
11783
|
+
* first, journaled `barren-pause`. A turn that ends, a blocked tool, and a lost
|
|
11784
|
+
* stream are segment boundaries, never the end of the run. Runtime writes the note from the check's verdict (`src/runtime/supervise/continuation.ts`); the
|
|
11785
|
+
* profile owns its words, and `append` may add a section but never replace one.
|
|
11786
|
+
*
|
|
11787
|
+
* Required with `deliverable` (or `resolveDeliverable`) for an external manager, and applied to
|
|
11788
|
+
* every external manager with a completion check in the tree. Refused for a router-brained
|
|
11789
|
+
* manager, which runs its turn loop in process.
|
|
11790
|
+
*/
|
|
11791
|
+
readonly continuation?: ContinuationPolicy;
|
|
11792
|
+
/**
|
|
11793
|
+
* How long live children may keep running after the root driver returns or fails, before the join
|
|
11794
|
+
* barrier cascades the abort into them. `null` waits until children settle or the caller cancels.
|
|
11795
|
+
* An explicit run deadline always wins. Omit/`0` = immediate teardown.
|
|
11796
|
+
*/
|
|
11797
|
+
readonly childSettleGraceMs?: number | null;
|
|
11798
|
+
/**
|
|
11799
|
+
* How long settlement keeps retrying a child teardown the executor has not confirmed, with
|
|
11800
|
+
* exponential backoff, before naming the child in `teardownUnconfirmed` with the provider
|
|
11801
|
+
* environment ids a sweeper deletes. `0` makes one attempt only. Default: 300000 (5 minutes).
|
|
11802
|
+
* See `SupervisorOpts.teardownConfirmMs`.
|
|
11803
|
+
*/
|
|
11804
|
+
readonly teardownConfirmMs?: number;
|
|
11805
|
+
/**
|
|
11806
|
+
* What root settlement does with provider environments that settled children still hold for a
|
|
11807
|
+
* retained execution: `'release'` them with one `environment-teardown` receipt each and close
|
|
11808
|
+
* each released child's cursor slot with a terminal record marked `retainedExecution:
|
|
11809
|
+
* 'released'`, or `'keep'` them for a later call that resumes this run. Default: `'keep'` with
|
|
11810
|
+
* `runDir` (re-running the same `runDir` and `runId` resumes), `'release'` without it (nothing
|
|
11811
|
+
* can resume an in-memory run). See `SupervisorOpts.retainedAtSettlement`.
|
|
11812
|
+
*/
|
|
11813
|
+
readonly retainedAtSettlement?: 'release' | 'keep';
|
|
11814
|
+
/** Resolve one custom external-harness session per trusted manager identity. Use this instead of
|
|
11815
|
+
* `driveHarness` when recursive managers must be independently steerable. */
|
|
11816
|
+
readonly resolveDriveHarness?: ResolveDriveHarness;
|
|
11817
|
+
/** Required with a custom `driveHarness` or `resolveDriveHarness`: declares which complete
|
|
11818
|
+
* AgentProfile axes that path really applies. Built-in bridge driving supplies its own
|
|
11819
|
+
* full-profile contract. */
|
|
11820
|
+
readonly driveHarnessMaterialization?: ProfileMaterializationContract;
|
|
11821
|
+
/** Resolve product-owned tools from the exact trusted manager context. The same descriptors and
|
|
11822
|
+
* handlers are bound to router and external-harness managers; resolution happens once per node.
|
|
11823
|
+
* Each handler receives that manager scope's live cancellation signal in its trusted invocation
|
|
11824
|
+
* context, including recursive parent and root cascades, plus `context.verbs` — that manager's
|
|
11825
|
+
* own coordination verbs, callable in code so a product tool can COMPOSE its children (fan out,
|
|
11826
|
+
* chain, join, retry) in one tool call instead of one model turn per verb. Every verb crosses
|
|
11827
|
+
* the same authorizeSpawn / security / allowedModels gate, pool reservation, worker-slot
|
|
11828
|
+
* queue, journal, and bus the MCP verb crosses, at every depth and on both arms. */
|
|
11829
|
+
readonly resolveSupervisorTools?: ResolveSupervisorTools;
|
|
11830
|
+
/**
|
|
11831
|
+
* Where an `ask_parent` question goes when it leaves a manager (see {@link EscalateQuestion}).
|
|
11832
|
+
*
|
|
11833
|
+
* Installed on EVERY manager of the run, at every depth, so a driver's escalation reaches the
|
|
11834
|
+
* product's own inbox — a UI, an operator queue, a human. Omit and every manager reports
|
|
11835
|
+
* `outcome: 'no-parent'` on `ask_parent`, which is the honest reading when nothing above it is
|
|
11836
|
+
* listening: the runtime routes no question to a parent by itself.
|
|
11837
|
+
*/
|
|
11838
|
+
readonly escalateQuestion?: EscalateQuestion;
|
|
11839
|
+
/** Awaited product transaction hook for every coordination record. `eventId` is stable across a
|
|
11840
|
+
* lost acknowledgement and durable restart; the record is not pull-visible until this commits. */
|
|
11841
|
+
readonly onCoordinationEvent?: (context: SupervisorNodeContext, eventId: Sha256Digest, record: BusRecord<CoordinationEvent>) => void | Promise<void>;
|
|
11842
|
+
/** WORK tools the supervisor may call DIRECTLY — so a recursive atom can ACT (do simple work
|
|
11843
|
+
* itself) OR SPAWN (delegate when it needs parallelism), not be a pure manager. Pair with
|
|
11844
|
+
* `executeExtraTool`. Router arm only (`profile.harness` omitted or `cli-base`). */
|
|
11845
|
+
readonly extraTools?: ReadonlyArray<{
|
|
11846
|
+
readonly name: string;
|
|
11847
|
+
readonly description?: string;
|
|
11848
|
+
readonly parameters: Record<string, unknown>;
|
|
11849
|
+
}>;
|
|
11850
|
+
/** Runs an `extraTools` call; null/undefined falls through to the coordination dispatch. */
|
|
11851
|
+
readonly executeExtraTool?: (name: string, args: Record<string, unknown>) => Promise<string | null | undefined>;
|
|
11852
|
+
/** The root's default slice for a child whose manager names no `budget`. Defaults to a quarter
|
|
11853
|
+
* of the part of the pool children may reserve (the pool less any owner share). A nested
|
|
11854
|
+
* manager always divides its own slice that way; `spawn_worker`'s `budget` overrides per spawn. */
|
|
11855
|
+
readonly perWorker?: Budget;
|
|
11856
|
+
/** Opt-in owner share: every manager, the root included, keeps this fraction of its own slice
|
|
11857
|
+
* free of its children's reservations, so its own turns keep budget. Default slices shrink to fit
|
|
11858
|
+
* beside it. Default: off. */
|
|
11859
|
+
readonly reservationPolicy?: RecursiveReservationPolicy;
|
|
11860
|
+
/** What a child's own time box (a `spawn_worker` `budget.deadlineMs`) does. Default: a check-in;
|
|
11861
|
+
* the child is told to save its state and submit what it has, and is stopped only once it then
|
|
11862
|
+
* makes no progress for 30 min. `false` stops it at the time box. The run's own deadline always
|
|
11863
|
+
* stops every node. See `deadline.ts` `DeadlineCheckIn`. */
|
|
11864
|
+
readonly deadlineCheckIn?: DeadlineCheckIn;
|
|
11865
|
+
/** How long a keyed worker whose turn ended over its budget keeps its environment for a
|
|
11866
|
+
* `spawn_worker` of the same key with a larger budget to continue the same session (ms).
|
|
11867
|
+
* Default 600,000; `0` keeps none. Released earlier by `cancel_worker` or the run's end. */
|
|
11868
|
+
readonly budgetStopHoldMs?: number;
|
|
11869
|
+
/** Bound on concurrently WORKING agents across the whole recursive tree: a number, or one
|
|
11870
|
+
* `createWorkerSlots` allocator that several runs in this process share. A spawn past it keeps
|
|
11871
|
+
* its budget slice and waits in a queue (deepest first) instead of being refused, and a manager
|
|
11872
|
+
* lends its slot to its first running child, so nested waits cannot deadlock. The root holds no
|
|
11873
|
+
* slot. Omit/`<= 0` = no bound (the conserved pool stays the only bound). */
|
|
11874
|
+
readonly workerSlots?: number | WorkerSlots;
|
|
11875
|
+
/** Analyst lenses available to the driver. Required for `analyzeOnSettle`. Unset → status quo
|
|
11876
|
+
* (the driver receives settled worker outputs, no analyst findings). A `string` names an entry in
|
|
11877
|
+
* `registry.analysts`. */
|
|
11878
|
+
readonly analysts?: AnalystRegistry$1 | string;
|
|
11879
|
+
/** Analyst kind ids run AUTOMATICALLY when a worker settles `done` — each re-enters as a `finding`
|
|
11880
|
+
* the driver receives in its next wake and composes its next steer from. The self-improving UP-leg,
|
|
11881
|
+
* threaded to the driver at this level (propagate to sub-drivers via a recursive `makeWorkerAgent`).
|
|
11882
|
+
* Omit/empty = status quo (no analyst feed). Requires `analysts`. */
|
|
11883
|
+
readonly analyzeOnSettle?: ReadonlyArray<string | AnalyzeOnSettleRoute>;
|
|
11884
|
+
/** Maps the runtime expands when their source worker settles: fan-out over a list in the
|
|
11885
|
+
* source's result, then one join. An AgentGraph's `maps` edges set it; see `MapOnSettleRoute`.
|
|
11886
|
+
* Omit = none. */
|
|
11887
|
+
readonly mapOnSettle?: ReadonlyArray<MapOnSettleRoute>;
|
|
11888
|
+
/** The flow the root manager runs: an AgentGraph with `entry` sets it, together with its
|
|
11889
|
+
* runtime-owned root, which makes no model call. See `RouteFlow`. Omit = none. */
|
|
11890
|
+
readonly routeFlow?: RouteFlow;
|
|
11891
|
+
/** The leaves of `routeFlow`'s check nodes: a route spawn of one runs its command, not an agent.
|
|
11892
|
+
* An AgentGraph's check nodes set it. Omit = none. */
|
|
11893
|
+
readonly checkNodes?: GraphCheckNodes;
|
|
11894
|
+
/** Answers each gate visit of `routeFlow`; `runGraph` sets it from `RunGraphOptions.decideGate`,
|
|
11895
|
+
* replaying a decision the run journal already holds. Omit = none. */
|
|
11896
|
+
readonly decideGate?: DecideGate;
|
|
11897
|
+
/**
|
|
11898
|
+
* Watch every worker's LIVE tool trace with the online detector panel and raise a `finding` the
|
|
11899
|
+
* moment one loops or error-storms — so the supervisor learns it mid-run (in its next wake)
|
|
11900
|
+
* instead of at settle. Pairs with a steerable worker: the finding is the evidence, `steer_agent`
|
|
11901
|
+
* is the correction. Requires a backend whose executor exposes a trace source (the steerable
|
|
11902
|
+
* sandbox worker and the pi wrapper do); other runtimes are simply not watched.
|
|
11903
|
+
*
|
|
11904
|
+
* Omit = off (status quo — no online watching, no extra events).
|
|
11905
|
+
*/
|
|
11906
|
+
readonly watchWorkers?: WorkerWatchOptions;
|
|
11907
|
+
/** Idle time after which `observe_agent` reports a running worker as `stalled`. A derived read
|
|
11908
|
+
* at observation time — nothing is killed or retried. Omit = the runtime default. */
|
|
11909
|
+
readonly stallAfterMs?: number;
|
|
11910
|
+
/** How Runtime wakes a manager that ended its turn with work open: the heartbeat, the debounce
|
|
11911
|
+
* that coalesces events into one wake, and the deadline warning. Omit = the defaults in
|
|
11912
|
+
* `./wake` (15 min, 2 s, 15 min). */
|
|
11913
|
+
readonly wake?: ManagerWakePolicy;
|
|
11914
|
+
/** Default continuity per worker PROFILE NAME: `'resume'` makes each spawn of that name after
|
|
11915
|
+
* the first re-attach to the node's most recent SETTLED worker — a NEW live worker whose spawn
|
|
11916
|
+
* context carries the prior worker's identity (`WorkerSpawnContext.resume`), which the executor
|
|
11917
|
+
* seam re-attaches with. `spawn_worker`'s per-call `continuity` argument overrides in either
|
|
11918
|
+
* direction; `runGraph` derives this from delegates-edge `continuity`. Omit = every spawn is
|
|
11919
|
+
* `'fresh'` (status quo). See `CoordinationToolsOptions.continuityByProfile` for the
|
|
11920
|
+
* refusal semantics (no-prior / while-live / with-key) and the process-local resume boundary. */
|
|
11921
|
+
readonly continuityByProfile?: Readonly<Record<string, ContinuityMode>>;
|
|
11922
|
+
/** Worker output store. Defaults to in-memory. */
|
|
11923
|
+
readonly blobs?: ResultBlobStore;
|
|
11924
|
+
/**
|
|
11925
|
+
* Make the run DURABLE: journal + result blobs + the coordination side-log are file-backed under
|
|
11926
|
+
* this directory (`createFileRunContext`), fsynced per write, and the supervisor reads the prior
|
|
11927
|
+
* tree first. Re-running with the same `runDir` AND the same `runId` resumes only when the exact
|
|
11928
|
+
* root profile/task identity and declared budget match. The original absolute deadline and prior
|
|
11929
|
+
* measured spend are restored before new admission. The built-in driver is resume-aware: children
|
|
11930
|
+
* that already settled, including their exact execution identities, are replayed onto
|
|
11931
|
+
* `Scope.resume` (and into the driver's settled ledger + its first context), keyed assignments
|
|
11932
|
+
* (`spawn_worker`'s `key`) resolve to their committed results instead of re-running, pending
|
|
11933
|
+
* waits re-arm on their original deadlines, and the coordination log loads prior questions,
|
|
11934
|
+
* findings, and instruction receipts. The router arm receives all three in its resume brief; the
|
|
11935
|
+
* external arm seeds prior questions while findings and receipts remain in the durable log.
|
|
11936
|
+
* Instruction receipts are evidence and are never delivered automatically to a replacement
|
|
11937
|
+
* worker. The final result spans both processes' work. Unset = in-memory, fresh every call.
|
|
11938
|
+
*
|
|
11939
|
+
* The boundary that remains: work that was IN FLIGHT when the process died is not recovered —
|
|
11940
|
+
* the built-in executors cannot re-attach to a dead process's executions. Each such keyed
|
|
11941
|
+
* assignment resumes as `in-doubt`, its full declared reservation stays charged, and its
|
|
11942
|
+
* token/dollar telemetry remains unknown. Runtime refuses a replacement under that key until the
|
|
11943
|
+
* exact prior execution is recovered, so restart cannot duplicate work or slide the deadline.
|
|
11944
|
+
*
|
|
11945
|
+
* `runId` matters here: it defaults to the constant `'supervise'`, which is fine for a single
|
|
11946
|
+
* resumable run per directory but collides across concurrent runs sharing one `runDir`.
|
|
11947
|
+
*/
|
|
11948
|
+
readonly runDir?: string;
|
|
11949
|
+
/** Hand a root with only a long wait and no live descendants to the caller's existing keeper.
|
|
11950
|
+
* Requires runDir. Rejects with RunParkedError after the idle threshold, retaining wakeAt in
|
|
11951
|
+
* the spawn journal without writing a terminal result. The caller must handle parking and
|
|
11952
|
+
* resume the same runDir/runId at wakeAt. Omit to keep waits in this process. */
|
|
11953
|
+
readonly parking?: RunParkingPolicy;
|
|
11954
|
+
/** Advanced test seam: opt into resume-first when the durable stores are caller-supplied
|
|
11955
|
+
* (`journal` + `blobs` / `runContext`) instead of derived from `runDir`. The normal durable path
|
|
11956
|
+
* is `runDir` or a `runContext` (see `docs/durability.md`). Exactly what the file
|
|
11957
|
+
* context sets automatically: load the prior tree for `runId` before starting fresh, refuse a
|
|
11958
|
+
* reused id without it. Ignored when `runDir` is also set — the file context owns the flag. */
|
|
11959
|
+
readonly resume?: boolean;
|
|
11976
11960
|
/**
|
|
11977
|
-
*
|
|
11978
|
-
*
|
|
11979
|
-
* the
|
|
11980
|
-
*
|
|
11961
|
+
* The segment this entry runs the root in. A run keeps one id for its whole life: a turn that
|
|
11962
|
+
* ends, a lost stream and a dead supervisor are boundaries between entries, and a resume may move
|
|
11963
|
+
* the root to another model, provider, reasoning effort or harness, or onto another stack, as a
|
|
11964
|
+
* new segment of the same run. `profile` stays the root profile the run recorded, so its identity,
|
|
11965
|
+
* coordination owner and settled children resume unchanged; the root executes that profile with
|
|
11966
|
+
* `model.provider`, `model.default`, `model.reasoningEffort` and `harness` replaced where given. `stack` names the
|
|
11967
|
+
* package versions the caller runs this entry under, its Runtime among them; Runtime records it
|
|
11968
|
+
* and never reads it. When the segment differs from the one the run last ran, the journal gains
|
|
11969
|
+
* one `root-segment` record with the time and `reason`. A different task, or any other profile
|
|
11970
|
+
* change, is still a resume identity mismatch: that is a new run. A fresh run records its first
|
|
11971
|
+
* segment and refuses a model or harness change: a new run takes them from its profile.
|
|
11972
|
+
*
|
|
11973
|
+
* A harness change starts a new native session: a session of one harness cannot continue in
|
|
11974
|
+
* another. The root re-enters with its objective and the run's state, in a workspace restored
|
|
11975
|
+
* from its latest checkpoint when the provider holds one.
|
|
11981
11976
|
*/
|
|
11982
|
-
readonly
|
|
11983
|
-
|
|
11984
|
-
|
|
11985
|
-
|
|
11986
|
-
|
|
11987
|
-
|
|
11988
|
-
|
|
11989
|
-
declare const RUN_FORK_CORRELATION_KEYS: readonly ["forkParentRunId", "forkParentSettleDigest", "forkProfileDiffId", "lineageRootRunId"];
|
|
11990
|
-
/** A flow node's usable settle matched no routes edge leaving it (`unrouted`), or a fired edge named
|
|
11991
|
-
* a node that still had a running worker (`target-live`). The flow spawned nothing more; the full
|
|
11992
|
-
* evidence rides on the error, shaped like `GraphEdgeCapError`. */
|
|
11993
|
-
declare class GraphRouteError extends Error {
|
|
11994
|
-
readonly reason: 'unrouted' | 'target-live';
|
|
11995
|
-
readonly node: NodeId;
|
|
11996
|
-
readonly workerId: string;
|
|
11997
|
-
readonly ledger: ReadonlyArray<EdgeTraversal>;
|
|
11998
|
-
readonly result: SupervisedResult<unknown>;
|
|
11999
|
-
constructor(unrouted: {
|
|
12000
|
-
readonly reason: 'unrouted' | 'target-live';
|
|
12001
|
-
readonly node: NodeId;
|
|
12002
|
-
readonly workerId: string;
|
|
12003
|
-
readonly detail: string;
|
|
12004
|
-
}, ledger: ReadonlyArray<EdgeTraversal>, result: SupervisedResult<unknown>);
|
|
12005
|
-
}
|
|
12006
|
-
/** Default per-edge traversal cap — the cyclic-graph backstop when an edge names none. */
|
|
12007
|
-
declare const defaultEdgeTraversalCap = 32;
|
|
12008
|
-
/** An environment-owned check command, run outside the agent's conversation. */
|
|
12009
|
-
interface GraphCommandCheck {
|
|
12010
|
-
readonly command: string;
|
|
12011
|
-
readonly timeoutMs?: number;
|
|
12012
|
-
}
|
|
12013
|
-
interface GraphFromStoredOptions {
|
|
12014
|
-
readonly trigger?: Readonly<Record<string, unknown>>;
|
|
12015
|
-
readonly checks?: Readonly<Record<string, AgentGraph['deliverable']['check'] | GraphCommandCheck>>;
|
|
12016
|
-
}
|
|
12017
|
-
/** A graph node: an id and a canonical `AgentProfile`. The profile is the ONLY way a node is
|
|
12018
|
-
* described — its `prompt.systemPrompt` is the standing role (the 0.117 canonical resolution;
|
|
12019
|
-
* never a legacy top-level-only reduction), its tools/mcp/resources are its capabilities. */
|
|
12020
|
-
interface GraphNode {
|
|
12021
|
-
readonly id: NodeId;
|
|
12022
|
-
readonly profile: AgentProfile;
|
|
12023
|
-
}
|
|
12024
|
-
type GraphEdge =
|
|
12025
|
-
/** Work flows down. The delegation directive is DATA → versionable, sweepable, optimizable.
|
|
12026
|
-
* Each spawn of `to` by `from` — and each mid-run steer from `from` to a live `to` worker —
|
|
12027
|
-
* is one traversal. */
|
|
12028
|
-
{
|
|
12029
|
-
readonly kind: 'delegates';
|
|
12030
|
-
readonly from: NodeId;
|
|
12031
|
-
readonly to: NodeId;
|
|
12032
|
-
readonly directive: PromptHandle;
|
|
12033
|
-
/** Cyclic-graph backstop: traversals beyond this REFUSE (fail loud). Default
|
|
12034
|
-
* {@link defaultEdgeTraversalCap}. */
|
|
12035
|
-
readonly maxTraversals?: number;
|
|
12036
|
-
/** Default continuity for this edge's SPAWN traversals. `'resume'` makes every spawn after
|
|
12037
|
-
* the node's first re-attach to its most recent SETTLED worker: a NEW live worker whose
|
|
12038
|
-
* spawn context carries `resume: { ofWorker, sequence }` for the executor seam, spending
|
|
12039
|
-
* from the same conserved pool — the node's first spawn is effectively `'fresh'`, and a
|
|
12040
|
-
* spawn while a prior worker is still live refuses loudly (steer is the live channel).
|
|
12041
|
-
* The driver's per-call `spawn_worker` `continuity` argument overrides either way. Omit =
|
|
12042
|
-
* `'fresh'` (today's behavior, byte-identical). Caps count resumes exactly like fresh
|
|
12043
|
-
* spawns. */
|
|
12044
|
-
readonly continuity?: ContinuityMode;
|
|
12045
|
-
} |
|
|
12046
|
-
/** Findings flow anywhere: an analyst over N nodes' settled traces, delivered to ONE node.
|
|
12047
|
-
* With a LENS analyst the directive wraps the findings for the recipient; with a NODE analyst
|
|
12048
|
-
* the directive is the analyst agent's task and the findings are its settle output. */
|
|
12049
|
-
{
|
|
12050
|
-
readonly kind: 'analyzes';
|
|
12051
|
-
/** The analyst REFERENCE, in one of two forms: a lens id resolved against
|
|
12052
|
-
* `RunGraphOptions.analysts` (environment), or the id of a graph NODE with no delegates
|
|
12053
|
-
* edge pointing at it — then each matching settle spawns that node's pinned profile as a
|
|
12054
|
-
* tool-equipped analyst WORKER (same spawn machinery, conserved budget, trace join) whose
|
|
12055
|
-
* task is this edge's directive plus the settled worker's trace evidence and whose settle
|
|
12056
|
-
* output is the findings. An id that is both a node and a registry lens is refused. */
|
|
12057
|
-
readonly analyst: string;
|
|
12058
|
-
readonly over: ReadonlyArray<NodeId>;
|
|
12059
|
-
readonly to: NodeId;
|
|
12060
|
-
readonly directive: PromptHandle;
|
|
12061
|
-
/** Observability cap: traversals beyond this are LEDGERED as exhausted (`unpropagated`).
|
|
12062
|
-
* Only delegates caps refuse traversal — they are what close the spawn cycle. */
|
|
12063
|
-
readonly maxTraversals?: number;
|
|
12064
|
-
} |
|
|
12065
|
-
/**
|
|
12066
|
-
* Fan-out over a list that exists only at run time, then one join. When `from` settles `done`,
|
|
12067
|
-
* the array at `pointer` in its result is expanded: each element becomes the TASK of one item
|
|
12068
|
-
* run, at most `concurrency` at a time, and once every item settled the `join` node runs with
|
|
12069
|
-
* `{ map, source, items, results: [{ index, item, result }], failures: [{ index, item, outcome,
|
|
12070
|
-
* reason }] }`, results in item order. The runtime spawns the items and the join (`from`'s
|
|
12071
|
-
* driver spends no turn on them) through the same authorized spawn path a delegates spawn
|
|
12072
|
-
* takes: each item reserves its budget from the one conserved pool and is pinned to the edge's
|
|
12073
|
-
* profile, so an item's content can never choose what runs.
|
|
12074
|
-
*
|
|
12075
|
-
* An item is either the node `to` (its pinned profile plus this edge's directive) or the nested
|
|
12076
|
-
* `graph`, started per item exactly as `run_graph` starts a graph. Refusals are loud and
|
|
12077
|
-
* ledgered, and the driver is woken with them: a pointer that does not resolve to an array, more
|
|
12078
|
-
* elements than `maxItems`, or a `concurrency` the run's worker-slot bound can never honor.
|
|
12079
|
-
* `concurrency` otherwise THROTTLES (items wait for a free place); it never refuses an item.
|
|
12080
|
-
*
|
|
12081
|
-
* An edge rather than a node-level spec, because every kernel invariant a map must keep already
|
|
12082
|
-
* attaches to edge traversal: pinning admits only the edge's item and join nodes (the spawn
|
|
12083
|
-
* context carries a runtime-authored `map` marker), each item is admitted like a spawn and
|
|
12084
|
-
* reserves from the conserved pool, each item settles under its own deliverable check, and each
|
|
12085
|
-
* expansion, item and join is a ledger row with its journal twin. Topology stays static; only the
|
|
12086
|
-
* traversal count is dynamic, so validation and the one-node-one-profile rule are unchanged.
|
|
12087
|
-
*/
|
|
12088
|
-
{
|
|
12089
|
-
readonly kind: 'maps';
|
|
12090
|
-
/** The source node: a delegates target, or the join of another maps edge. Each of its `done`
|
|
12091
|
-
* settles expands the map once. */
|
|
12092
|
-
readonly from: NodeId;
|
|
12093
|
-
/** RFC 6901 JSON pointer into `from`'s settled result (`''` is the whole result). */
|
|
12094
|
-
readonly pointer: string;
|
|
12095
|
-
/** The item node, run once per element with the element as its task. Exactly one of `to`
|
|
12096
|
-
* and `graph`. Reachable only through this edge: never a delegates target. */
|
|
12097
|
-
readonly to?: NodeId;
|
|
12098
|
-
/** A graph run per element as one subtask, through the `run_graph` path. */
|
|
12099
|
-
readonly graph?: GraphTopology;
|
|
12100
|
-
/** Receives the ordered results once every item settled. Reachable only through this edge. */
|
|
12101
|
-
readonly join: NodeId;
|
|
12102
|
-
/** The item directive, appended to the item node's instructions per traversal. */
|
|
12103
|
-
readonly directive: PromptHandle;
|
|
12104
|
-
/** Lists longer than this are refused before any item runs. */
|
|
12105
|
-
readonly maxItems: number;
|
|
12106
|
-
/** How many items run at once. */
|
|
12107
|
-
readonly concurrency: number;
|
|
12108
|
-
readonly onItemFailure: MapItemFailurePolicy;
|
|
12109
|
-
/** Each item's budget, merged over the per-worker default as `spawn_worker`'s `budget` is. */
|
|
12110
|
-
readonly itemBudget?: Partial<Budget>;
|
|
12111
|
-
} |
|
|
12112
|
-
/**
|
|
12113
|
-
* A route in a flow graph (one with `entry`): Runtime traverses it when `from` settles, so no
|
|
12114
|
-
* root decides the order, the branch, the repair loop or the stop. On each usable settle of
|
|
12115
|
-
* `from` its outgoing routes edges are tried in declaration order and the first whose `when`
|
|
12116
|
-
* holds fires; an edge without `when` is the default branch and comes last. A node target is
|
|
12117
|
-
* spawned with `{ from: { node, result }, evidence: { [id]: latest usable result } }` (a join's
|
|
12118
|
-
* target with `{ from: { nodes }, evidence }`, see below) and the directive appended to its pinned instructions; `{ stop }` ends the run with no winner and
|
|
12119
|
-
* `GraphResult.stopped`; `{ finish }` makes this settle part of the run's output.
|
|
12120
|
-
*
|
|
12121
|
-
* A fork lists two or more nodes in `to`: one traversal spawns each of them at once, each under
|
|
12122
|
-
* its own key `route:<edge id>#<traversal>:<node>`. A join lists two or more nodes in `from`: it
|
|
12123
|
-
* fires once every member has settled usably since it last fired, and the target's task is
|
|
12124
|
-
* `{ from: { nodes: <members in declared order> }, evidence }` with each member's latest result
|
|
12125
|
-
* in `evidence`, so it does not depend on which member settled last and a resumed run derives the
|
|
12126
|
-
* same task. A routes edge that spawns a node with a settled worker in this flow (a back edge)
|
|
12127
|
-
* names that node's latest settled worker as the spawn's `successorOf`. A join carries no `when`, and it is the only routes edge
|
|
12128
|
-
* leaving each of its members. A route into a node that still has a running worker throws
|
|
12129
|
-
* {@link GraphRouteError} with reason `target-live`: converging branches use a join.
|
|
12130
|
-
*/
|
|
12131
|
-
{
|
|
12132
|
-
readonly kind: 'routes';
|
|
12133
|
-
readonly from: NodeId | ReadonlyArray<NodeId>;
|
|
12134
|
-
readonly to: NodeId | ReadonlyArray<NodeId> | {
|
|
12135
|
-
readonly stop: string;
|
|
12136
|
-
} | {
|
|
12137
|
-
readonly finish: string;
|
|
11977
|
+
readonly segment?: {
|
|
11978
|
+
readonly provider?: string;
|
|
11979
|
+
readonly model?: string;
|
|
11980
|
+
readonly reasoningEffort?: ReasoningEffort;
|
|
11981
|
+
readonly harness?: AgentProfile['harness'];
|
|
11982
|
+
readonly stack?: Readonly<Record<string, string>>;
|
|
11983
|
+
readonly reason: string;
|
|
12138
11984
|
};
|
|
12139
|
-
|
|
12140
|
-
|
|
12141
|
-
|
|
12142
|
-
|
|
12143
|
-
|
|
12144
|
-
|
|
12145
|
-
|
|
12146
|
-
*
|
|
12147
|
-
*
|
|
12148
|
-
|
|
12149
|
-
|
|
12150
|
-
*
|
|
12151
|
-
|
|
12152
|
-
|
|
12153
|
-
|
|
12154
|
-
|
|
12155
|
-
|
|
12156
|
-
|
|
12157
|
-
|
|
12158
|
-
|
|
12159
|
-
|
|
12160
|
-
|
|
12161
|
-
|
|
12162
|
-
readonly
|
|
12163
|
-
|
|
12164
|
-
interface AgentGraph {
|
|
12165
|
-
/** Preserve fully bound literal data when serializing a hydrated graph. */
|
|
12166
|
-
readonly triggerBindings?: readonly [];
|
|
12167
|
-
readonly nodes: ReadonlyArray<GraphNode>;
|
|
12168
|
-
readonly edges: ReadonlyArray<GraphEdge>;
|
|
12169
|
-
/** Termination is mandatory, not optional: the independent completion oracle. */
|
|
12170
|
-
readonly deliverable: DeliverableSpec<unknown> & {
|
|
12171
|
-
readonly checkRef?: string;
|
|
12172
|
-
readonly command?: GraphCommandCheck;
|
|
12173
|
-
readonly when?: RouteWhen;
|
|
11985
|
+
/** Durable steer directory when it differs from the run-control directory. */
|
|
11986
|
+
readonly steerDir?: string;
|
|
11987
|
+
/** Override the spawn journal directly (advanced; `runDir` is the ordinary durable path). Pair
|
|
11988
|
+
* with `blobs` — a journal whose result payloads live in a different store cannot replay. */
|
|
11989
|
+
readonly journal?: SpawnJournal;
|
|
11990
|
+
/**
|
|
11991
|
+
* PROGRESS-derived stop rule (BOTH arms). Ends a run that has stopped LEARNING before it
|
|
11992
|
+
* exhausts a ceiling — the answer to "a run should end because it is done or stuck, not because
|
|
11993
|
+
* it ran out". It composes with the budget guards and can never override one.
|
|
11994
|
+
*
|
|
11995
|
+
* The evaluation boundary differs by arm because the loop does: a router-brained supervisor is
|
|
11996
|
+
* evaluated before each of its own inference turns; a harness-brained supervisor is evaluated on
|
|
11997
|
+
* each worker settle, and a stop aborts its stop signal so the harness ends at its next turn
|
|
11998
|
+
* boundary. Both arms fold the same settled ledger through the same evaluator.
|
|
11999
|
+
*
|
|
12000
|
+
* Build it from `supervise/stop-rules`: `plateau({window, minDelta})`,
|
|
12001
|
+
* `noProgressFor({ms, settles})`, `allWorkersStalled({...})`, combined with `anyOf`/`allOf`. The
|
|
12002
|
+
* thresholds are policy and stay with you; the enforcement lives in the runtime. Omit = ceilings
|
|
12003
|
+
* only (unchanged behavior).
|
|
12004
|
+
*
|
|
12005
|
+
* A record may declare the plateau rule as data, `{ plateau: { window, minDelta } }`, so no
|
|
12006
|
+
* product module builds it.
|
|
12007
|
+
*/
|
|
12008
|
+
readonly stopRule?: StopRule | {
|
|
12009
|
+
readonly plateau: PlateauOptions;
|
|
12174
12010
|
};
|
|
12175
|
-
/** One
|
|
12011
|
+
/** One-shot notification of WHY a `stopRule` ended the run (BOTH arms) — so a caller records the
|
|
12012
|
+
* reason instead of inferring an early stop from an unexhausted budget. */
|
|
12013
|
+
readonly onProgressStop?: (reason: string) => void;
|
|
12014
|
+
/** Recursion ceiling for the tree (root = 0). The conserved pool is what bounds depth, since each
|
|
12015
|
+
* level's slice comes out of the level above; this only stops a runaway recursion. Omit =
|
|
12016
|
+
* `DEFAULT_MAX_DEPTH` (16). */
|
|
12017
|
+
readonly maxDepth?: number;
|
|
12018
|
+
/** Turn cap for the supervisor's OWN loop (BOTH arms). Router arm: inference turns of the
|
|
12019
|
+
* driver's tool loop. Harness arm: turns the harness reports, counted off its `iteration`
|
|
12020
|
+
* stream — reaching the cap aborts the stop signal, so the harness ends at its next turn
|
|
12021
|
+
* boundary rather than mid-request. `0` lifts the cap on both arms and leaves the conserved
|
|
12022
|
+
* pool, the deadline, and abort as the bounds; a negative value is refused. Omit = the router
|
|
12023
|
+
* arm's default cap, and no turn cap on the harness arm. */
|
|
12024
|
+
readonly maxTurns?: number;
|
|
12025
|
+
/** Give the supervisor brain a chapter-lifecycle on its OWN context window (ROUTER ARM ONLY —
|
|
12026
|
+
* a harness owns its own context window and its own compaction, so this is refused for a
|
|
12027
|
+
* harness-brained supervisor rather than silently ignored): once its coordination transcript
|
|
12028
|
+
* exceeds `thresholdTokens` it distills to a compact progress note and continues, instead of
|
|
12029
|
+
* re-billing the whole transcript every turn (the cost that makes the LLM-brain front door lose
|
|
12030
|
+
* to a dumb-Ralph respawn). The live `Scope` roster is the durable state across chapters.
|
|
12031
|
+
* Default off. `distill` defaults to a brain self-summary + the settled-worker roster. */
|
|
12032
|
+
readonly compaction?: ToolLoopCompactionOptions;
|
|
12033
|
+
readonly runId?: string;
|
|
12034
|
+
readonly now?: () => number;
|
|
12035
|
+
/** Restrict the run to this subset of models. When set, every configured model — the
|
|
12036
|
+
* supervisor router model, the profile's model, and the backend's model — must be a member,
|
|
12037
|
+
* or `supervise()` throws a `ConfigError` before any compute is spent. Unset = unrestricted.
|
|
12038
|
+
*
|
|
12039
|
+
* This is a MODEL-ID filter, not a route filter. The compared values are the bare ids a profile
|
|
12040
|
+
* declares — `model.default`, `model.small`, `subagents[].model`, `modes[].model`. The composed
|
|
12041
|
+
* wire id (`harness/provider/model`) is never built here and never compared, so an entry written
|
|
12042
|
+
* in qualified form matches nothing, and a child that names an allowed id is admitted whatever
|
|
12043
|
+
* harness and provider its own profile declares. Pin the route with `authorizeSpawn`: it reads
|
|
12044
|
+
* the authored child profile and may refuse the spawn before any reservation. */
|
|
12045
|
+
readonly allowedModels?: readonly string[];
|
|
12046
|
+
/** How the settled-worker ledger becomes the run's output. Default `bestDelivered` — the single
|
|
12047
|
+
* highest-scoring DELIVERED child (the exact behavior every existing caller had). Alternatives:
|
|
12048
|
+
* `collectDelivered` (every verified distinct output with provenance — a Pareto set / recorded
|
|
12049
|
+
* disagreement) or a custom `SupervisorFinalizer`. Whatever the finalizer, it operates on
|
|
12050
|
+
* structurally DELIVERED outputs only — an undelivered or invalid child stays ineligible. A
|
|
12051
|
+
* `string` names an entry in `registry.finalizers`. */
|
|
12052
|
+
readonly finalizer?: SupervisorFinalizer | string;
|
|
12053
|
+
/** Lifecycle observers for the whole recursive tree (`Scope` re-seeds them into every nested
|
|
12054
|
+
* scope). Composed with the `otel` recorder below when both are set. Omit = no observers, which
|
|
12055
|
+
* is the behavior every existing caller has. */
|
|
12056
|
+
readonly hooks?: RuntimeHooks;
|
|
12057
|
+
/**
|
|
12058
|
+
* OPT-IN OTLP tracing: emit one span per supervised node (opened at spawn, closed at settle,
|
|
12059
|
+
* parented to its parent node's span) plus an `LLM` child span per metered driver turn, so the
|
|
12060
|
+
* tree is readable by any trace viewer instead of only by a journal parser. See `otel-spans.ts`.
|
|
12061
|
+
*
|
|
12062
|
+
* Omit and the run emits nothing, allocates no recorder, and installs no hook — telemetry is
|
|
12063
|
+
* never a default. Present with no reachable endpoint (no `exportConfig.endpoint` and no
|
|
12064
|
+
* `OTEL_EXPORTER_OTLP_ENDPOINT`) is also a no-op. The spawn journal is untouched either way:
|
|
12065
|
+
* spans are telemetry, never the replay/resume record.
|
|
12066
|
+
*/
|
|
12067
|
+
readonly otel?: Omit<SupervisorSpanOptions, 'runId' | 'now' | 'namespace'>;
|
|
12068
|
+
}
|
|
12069
|
+
/** The product-authorized result for one complete spawn request. Attribution is never accepted
|
|
12070
|
+
* from the manager itself; it enters only through this trusted callback. */
|
|
12071
|
+
interface AuthorizedSpawn {
|
|
12072
|
+
readonly profile: AgentProfile;
|
|
12073
|
+
readonly execution?: AgentExecutionRef;
|
|
12074
|
+
}
|
|
12075
|
+
/** Exact trusted context after a manager-authored spawn has passed product authorization. */
|
|
12076
|
+
interface AuthorizedSpawnContext {
|
|
12077
|
+
readonly profile: AgentProfile;
|
|
12078
|
+
readonly parent: AgentProfile;
|
|
12079
|
+
readonly parentIdentity: NodeExecutionIdentity;
|
|
12080
|
+
readonly execution: NodeExecutionIdentity;
|
|
12081
|
+
readonly parentNodeId: string;
|
|
12082
|
+
readonly assignmentId: string;
|
|
12083
|
+
readonly task: unknown;
|
|
12176
12084
|
readonly budget: Budget;
|
|
12177
|
-
|
|
12178
|
-
|
|
12179
|
-
|
|
12180
|
-
* judged by `deliverable`. A stored route check (`checkRef: 'route'`) may also name a
|
|
12181
|
-
* non-terminal node: its condition reads that node's latest delivered output, while the output
|
|
12182
|
-
* stays terminal-only. */
|
|
12183
|
-
readonly entry?: ReadonlyArray<{
|
|
12184
|
-
readonly node: NodeId;
|
|
12185
|
-
readonly task: unknown;
|
|
12186
|
-
}>;
|
|
12187
|
-
/** Flow-graph vertices that are not agents: a routes edge into one awaits
|
|
12188
|
-
* `RunGraphOptions.decideGate`, and one edge per choice leaves it, matching
|
|
12189
|
-
* `{ pointer: '/choice', equals: <choice> }`. A `finish` leaving a gate outputs
|
|
12190
|
-
* `{ [gate]: { choice, by } }`. */
|
|
12191
|
-
readonly gates?: ReadonlyArray<RouteGate>;
|
|
12085
|
+
readonly label: string;
|
|
12086
|
+
readonly key?: string;
|
|
12087
|
+
readonly depth: number;
|
|
12192
12088
|
}
|
|
12193
|
-
/**
|
|
12194
|
-
|
|
12195
|
-
|
|
12196
|
-
|
|
12197
|
-
|
|
12198
|
-
|
|
12199
|
-
|
|
12200
|
-
|
|
12201
|
-
|
|
12202
|
-
|
|
12203
|
-
|
|
12204
|
-
|
|
12205
|
-
|
|
12206
|
-
|
|
12207
|
-
|
|
12208
|
-
|
|
12209
|
-
|
|
12210
|
-
|
|
12211
|
-
|
|
12212
|
-
|
|
12213
|
-
|
|
12214
|
-
|
|
12215
|
-
|
|
12216
|
-
|
|
12217
|
-
|
|
12218
|
-
|
|
12219
|
-
|
|
12220
|
-
|
|
12221
|
-
|
|
12222
|
-
|
|
12223
|
-
|
|
12224
|
-
|
|
12225
|
-
|
|
12226
|
-
|
|
12089
|
+
/** Exact trusted context for selecting one backend-derived leaf's completion check. */
|
|
12090
|
+
type DeliverableResolutionInput = AuthorizedSpawnContext;
|
|
12091
|
+
/** Test-only one-call shape, exported only through the package's explicit `/testing` entry. */
|
|
12092
|
+
interface SuperviseTestOptions extends SuperviseOptions {
|
|
12093
|
+
readonly brain: ToolLoopChat;
|
|
12094
|
+
}
|
|
12095
|
+
/**
|
|
12096
|
+
* Build the worker seam from a backend (WHERE workers run) + an optional completion oracle (the
|
|
12097
|
+
* deliverable check that makes "settled ⟺ delivered" true — the guard against "ran but didn't
|
|
12098
|
+
* deliver"). The ONE place a backend becomes a spawnable worker.
|
|
12099
|
+
*
|
|
12100
|
+
* `seams` exists because this path builds the leaf executor EAGERLY and hands it back as a BYO
|
|
12101
|
+
* `executorSpec.executor`. The registry resolves a BYO executor without ever consulting the
|
|
12102
|
+
* per-child `ExecutorContext` the `Scope` seeds, so anything the scope would have supplied is
|
|
12103
|
+
* invisible here and has to be passed in. It is a FUNCTION because it is resolved once per worker
|
|
12104
|
+
* construction, so a caller may hand back something the run only learns later — which is exactly how
|
|
12105
|
+
* `supervise()` gives a traced run's workers their trace context without ordering the span recorder
|
|
12106
|
+
* ahead of the worker seam.
|
|
12107
|
+
*
|
|
12108
|
+
* Continuity: the `bridge` backend honors `continuity: 'resume'` by session re-attachment. A
|
|
12109
|
+
* bridge session id IS the harness conversation key (cli-bridge maps it to the CLI's own resume —
|
|
12110
|
+
* opencode `-s <id>`, claude `--resume`), so this seam records the session id each supervised
|
|
12111
|
+
* spawn was bound to, keyed by the worker id the Scope assigned, and a resume spawn binds the
|
|
12112
|
+
* prior worker's recorded session id instead of deriving a fresh one. The record is process-local
|
|
12113
|
+
* by construction, which matches the kernel's resume boundary (a prior process's workers are not
|
|
12114
|
+
* resume targets). Every other backend keeps failing loud: their executors have no re-attachable
|
|
12115
|
+
* session, and accepting the spawn would ledger `continuity: 'resume'` over a brand-new session —
|
|
12116
|
+
* a stamp asserting something that never happened.
|
|
12117
|
+
*/
|
|
12118
|
+
declare function workerFromBackend(backend: ExecutorConfig, deliverable?: DeliverableSpec<unknown>, seams?: () => Readonly<Record<string, unknown>>): MakeWorkerAgent;
|
|
12119
|
+
/** Capabilities a data-only consumer may require before building an opted-in run. `graphTools`:
|
|
12120
|
+
* a manager whose profile grants `run_graph` can start an agent graph as one subtask. */
|
|
12121
|
+
declare const superviseFleetCapabilities: Readonly<{
|
|
12122
|
+
peerAudit: true;
|
|
12123
|
+
traceTools: true;
|
|
12124
|
+
graphTools: true;
|
|
12125
|
+
}>;
|
|
12126
|
+
/** One-call supervisor: build + run a supervisor from its exact profile. @stable */
|
|
12127
|
+
declare function supervise(profile: SupervisorProfile, task: unknown, opts: SuperviseOptions): Promise<{
|
|
12128
|
+
execution?: AgentExecutionRef;
|
|
12129
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12130
|
+
kind: "no-winner";
|
|
12131
|
+
tree: TreeView;
|
|
12132
|
+
downCount: number;
|
|
12133
|
+
spentTotal: Spend;
|
|
12134
|
+
usage?: SettledUsage;
|
|
12135
|
+
rootStream?: RootStreamReceipt;
|
|
12136
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12137
|
+
continuation?: DriverContinuationRecord;
|
|
12138
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12139
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12140
|
+
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
12141
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12142
|
+
fleetYield: FleetYield;
|
|
12143
|
+
error?: never;
|
|
12144
|
+
reason: "all-children-down" | "no-children-spawned" | "no-result-selected" | "stopped" | "budget-exhausted" | "deadline" | "aborted";
|
|
12145
|
+
} | {
|
|
12146
|
+
execution?: AgentExecutionRef;
|
|
12147
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12148
|
+
kind: "no-winner";
|
|
12149
|
+
tree: TreeView;
|
|
12150
|
+
downCount: number;
|
|
12151
|
+
spentTotal: Spend;
|
|
12152
|
+
usage?: SettledUsage;
|
|
12153
|
+
rootStream?: RootStreamReceipt;
|
|
12154
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12155
|
+
continuation?: DriverContinuationRecord;
|
|
12156
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12157
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12158
|
+
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
12159
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12160
|
+
fleetYield: FleetYield;
|
|
12161
|
+
error?: never;
|
|
12162
|
+
reason: "cancelled";
|
|
12163
|
+
source: string;
|
|
12164
|
+
cancellationReason: string;
|
|
12165
|
+
operationId?: string;
|
|
12166
|
+
operator?: string;
|
|
12167
|
+
} | {
|
|
12168
|
+
execution?: AgentExecutionRef;
|
|
12169
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12170
|
+
kind: "no-winner";
|
|
12171
|
+
reason: "driver-failed";
|
|
12172
|
+
tree: TreeView;
|
|
12173
|
+
downCount: number;
|
|
12174
|
+
spentTotal: Spend;
|
|
12175
|
+
usage?: SettledUsage;
|
|
12176
|
+
rootStream?: RootStreamReceipt;
|
|
12177
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12178
|
+
continuation?: DriverContinuationRecord;
|
|
12179
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12180
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12181
|
+
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
12182
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12183
|
+
fleetYield: FleetYield;
|
|
12184
|
+
error: NoWinnerError;
|
|
12185
|
+
} | {
|
|
12186
|
+
execution?: AgentExecutionRef;
|
|
12187
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12188
|
+
kind: "winner";
|
|
12189
|
+
out: unknown;
|
|
12190
|
+
outRef: string;
|
|
12191
|
+
verdict?: import("@tangle-network/agent-eval").DefaultVerdict;
|
|
12192
|
+
tree: TreeView;
|
|
12193
|
+
spentTotal: Spend;
|
|
12194
|
+
usage?: SettledUsage;
|
|
12195
|
+
rootStream?: RootStreamReceipt;
|
|
12196
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12197
|
+
continuation?: DriverContinuationRecord;
|
|
12198
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12199
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12200
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12201
|
+
fleetYield: FleetYield;
|
|
12202
|
+
spentBreakdown?: {
|
|
12203
|
+
driverInference: Spend;
|
|
12204
|
+
childWork: Spend;
|
|
12227
12205
|
};
|
|
12228
|
-
|
|
12229
|
-
|
|
12230
|
-
|
|
12231
|
-
|
|
12232
|
-
|
|
12233
|
-
|
|
12234
|
-
|
|
12235
|
-
|
|
12236
|
-
|
|
12237
|
-
|
|
12238
|
-
|
|
12239
|
-
|
|
12240
|
-
|
|
12241
|
-
|
|
12242
|
-
|
|
12243
|
-
|
|
12244
|
-
|
|
12245
|
-
|
|
12246
|
-
|
|
12247
|
-
|
|
12248
|
-
|
|
12249
|
-
|
|
12250
|
-
|
|
12206
|
+
}>;
|
|
12207
|
+
/** Deterministic scripted-brain path for tests. Not exported from Runtime's main entry. */
|
|
12208
|
+
declare function superviseWithTestBrain(profile: SupervisorProfile, task: unknown, opts: SuperviseTestOptions): Promise<{
|
|
12209
|
+
execution?: AgentExecutionRef;
|
|
12210
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12211
|
+
kind: "no-winner";
|
|
12212
|
+
tree: TreeView;
|
|
12213
|
+
downCount: number;
|
|
12214
|
+
spentTotal: Spend;
|
|
12215
|
+
usage?: SettledUsage;
|
|
12216
|
+
rootStream?: RootStreamReceipt;
|
|
12217
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12218
|
+
continuation?: DriverContinuationRecord;
|
|
12219
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12220
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12221
|
+
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
12222
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12223
|
+
fleetYield: FleetYield;
|
|
12224
|
+
error?: never;
|
|
12225
|
+
reason: "all-children-down" | "no-children-spawned" | "no-result-selected" | "stopped" | "budget-exhausted" | "deadline" | "aborted";
|
|
12226
|
+
} | {
|
|
12227
|
+
execution?: AgentExecutionRef;
|
|
12228
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12229
|
+
kind: "no-winner";
|
|
12230
|
+
tree: TreeView;
|
|
12231
|
+
downCount: number;
|
|
12232
|
+
spentTotal: Spend;
|
|
12233
|
+
usage?: SettledUsage;
|
|
12234
|
+
rootStream?: RootStreamReceipt;
|
|
12235
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12236
|
+
continuation?: DriverContinuationRecord;
|
|
12237
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12238
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12239
|
+
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
12240
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12241
|
+
fleetYield: FleetYield;
|
|
12242
|
+
error?: never;
|
|
12243
|
+
reason: "cancelled";
|
|
12244
|
+
source: string;
|
|
12245
|
+
cancellationReason: string;
|
|
12246
|
+
operationId?: string;
|
|
12247
|
+
operator?: string;
|
|
12248
|
+
} | {
|
|
12249
|
+
execution?: AgentExecutionRef;
|
|
12250
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12251
|
+
kind: "no-winner";
|
|
12252
|
+
reason: "driver-failed";
|
|
12253
|
+
tree: TreeView;
|
|
12254
|
+
downCount: number;
|
|
12255
|
+
spentTotal: Spend;
|
|
12256
|
+
usage?: SettledUsage;
|
|
12257
|
+
rootStream?: RootStreamReceipt;
|
|
12258
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12259
|
+
continuation?: DriverContinuationRecord;
|
|
12260
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12261
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12262
|
+
leakedReservations?: ReadonlyArray<LeakedReservation>;
|
|
12263
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12264
|
+
fleetYield: FleetYield;
|
|
12265
|
+
error: NoWinnerError;
|
|
12266
|
+
} | {
|
|
12267
|
+
execution?: AgentExecutionRef;
|
|
12268
|
+
rootProviderModel: ProviderModelExecutionEvidence;
|
|
12269
|
+
kind: "winner";
|
|
12270
|
+
out: unknown;
|
|
12271
|
+
outRef: string;
|
|
12272
|
+
verdict?: import("@tangle-network/agent-eval").DefaultVerdict;
|
|
12273
|
+
tree: TreeView;
|
|
12274
|
+
spentTotal: Spend;
|
|
12275
|
+
usage?: SettledUsage;
|
|
12276
|
+
rootStream?: RootStreamReceipt;
|
|
12277
|
+
rootHarnessTranscript?: HarnessTranscriptEvidence;
|
|
12278
|
+
continuation?: DriverContinuationRecord;
|
|
12279
|
+
providerModel?: ProviderModelExecutionEvidence;
|
|
12280
|
+
teardownUnconfirmed?: ReadonlyArray<UnconfirmedTeardown>;
|
|
12281
|
+
spendGaps?: ReadonlyArray<SpendGap>;
|
|
12282
|
+
fleetYield: FleetYield;
|
|
12283
|
+
spentBreakdown?: {
|
|
12284
|
+
driverInference: Spend;
|
|
12285
|
+
childWork: Spend;
|
|
12286
|
+
};
|
|
12287
|
+
}>;
|
|
12251
12288
|
/**
|
|
12252
|
-
*
|
|
12289
|
+
* Start a run as a version of a settled run: the parent's recorded root inputs plus one change.
|
|
12253
12290
|
*
|
|
12254
|
-
*
|
|
12255
|
-
*
|
|
12256
|
-
*
|
|
12257
|
-
* documentation from `SuperviseOptions`, which is the one owner of both.
|
|
12291
|
+
* The call's `profile`, `task` and `budget` must be the parent's, byte for byte, as its sealed
|
|
12292
|
+
* journal records them. Runtime applies `change` to that profile and runs the result in a new
|
|
12293
|
+
* run directory. The parent directory is read and never written.
|
|
12258
12294
|
*/
|
|
12259
|
-
interface
|
|
12260
|
-
/**
|
|
12261
|
-
|
|
12262
|
-
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
|
|
12267
|
-
*
|
|
12268
|
-
*
|
|
12269
|
-
*
|
|
12270
|
-
*
|
|
12271
|
-
|
|
12272
|
-
readonly
|
|
12273
|
-
/** Leaf-execution override (offline tests / advanced). `runGraph` still owns node pinning,
|
|
12274
|
-
* directive delivery, and the edge ledger AROUND this seam — only the leaf `act` is yours.
|
|
12275
|
-
* Slots INSIDE the kernel's authorized path (`SuperviseOptions.makeLeafAgent`), so a node that
|
|
12276
|
-
* declares the spawn tool still becomes a nested supervisor even under an offline leaf. */
|
|
12277
|
-
readonly makeLeafAgent?: MakeWorkerAgent;
|
|
12278
|
-
/** The ROOT driver's inference seam — a caller-owned `ToolLoopChat` that makes every root
|
|
12279
|
-
* model call. Use it when the root's decisions must be caller-owned orchestration (a
|
|
12280
|
-
* deterministic conversation driver, a persona loop with its own LLM calls) rather than a
|
|
12281
|
-
* router-derived model call. The graph machinery around the seam is unchanged: node pinning,
|
|
12282
|
-
* directive delivery, the edge ledger, and the journal twin all run the same shipped path,
|
|
12283
|
-
* and the root profile keeps prompt control (`prompt-control-execution` materialization —
|
|
12284
|
-
* `systemPrompt`/`instructions` still apply). What moves to the caller with the brain:
|
|
12285
|
-
* model selection and provider-identity validation (`expectedModel` cannot be enforced on a
|
|
12286
|
-
* call the runtime did not place) and per-turn usage reporting (a brain that reports no
|
|
12287
|
-
* usage meters nothing into the pool). Omit = the router brain derived from the root
|
|
12288
|
-
* profile — the unchanged default. Mutually exclusive with `driverBackend`, and refused
|
|
12289
|
-
* when the root profile declares an external harness (that root is driven BY the harness). */
|
|
12290
|
-
readonly brain?: ToolLoopChat;
|
|
12291
|
-
/** Caller-side runtime hooks (telemetry, policy, product extensions). Composed AFTER the
|
|
12292
|
-
* graph's own spawn-binding hook on the SAME event stream — the graph never swallows the
|
|
12293
|
-
* seam supervise() exposes. */
|
|
12294
|
-
readonly hooks?: RuntimeHooks;
|
|
12295
|
-
/** The analyst lens registry `analyzes` edges resolve against. ENVIRONMENT — needed only for
|
|
12296
|
-
* lens analysts; an analyzes edge naming a graph NODE as its analyst needs no registry. */
|
|
12297
|
-
readonly analysts?: AnalystRegistry$1;
|
|
12298
|
-
/** Answers a flow gate while the process holds the run; the wait counts against its deadline.
|
|
12299
|
-
* ENVIRONMENT, like `analysts`; required when the graph declares gates. */
|
|
12300
|
-
readonly decideGate?: (request: GateRequest) => Promise<GateDecision>;
|
|
12301
|
-
/** Directive registry. Default: the seeded kernel registry (`kernelPromptRegistry()`).
|
|
12302
|
-
*
|
|
12303
|
-
* NOT `SuperviseOptions.registry`, which is the `SuperviseRegistry` name→value table for
|
|
12304
|
-
* code-valued options. The two share a name and nothing else, and this one wins here — see
|
|
12305
|
-
* `GRAPH_REFUSED_SUPERVISE_OPTIONS`. */
|
|
12306
|
-
readonly registry?: PromptRegistry;
|
|
12307
|
-
/** The run journal the edge ledger and every spawn/settle ride. Default: in-memory. */
|
|
12308
|
-
readonly journal?: SpawnJournal;
|
|
12309
|
-
readonly blobs?: ResultBlobStore;
|
|
12310
|
-
readonly runId?: string;
|
|
12311
|
-
/** Product authority over every steer/answer instruction (the filter seam). `runGraph` observes
|
|
12312
|
-
* what it CHANGES: a narrowed instruction ledgers its steer traversal as `stripped`. */
|
|
12313
|
-
readonly authorizeMessage?: SuperviseOptions['authorizeMessage'];
|
|
12314
|
-
}
|
|
12315
|
-
interface GraphResult<Out = unknown> {
|
|
12316
|
-
readonly result: SupervisedResult<Out>;
|
|
12317
|
-
/** Every edge traversal, in occurrence order — the observable-edge contract. */
|
|
12318
|
-
readonly ledger: ReadonlyArray<EdgeTraversal>;
|
|
12319
|
-
/** Edge ids whose traversal cap was hit — analyzes exhaustion included (observable here, never
|
|
12320
|
-
* a refusal). A DELEGATES cap paired with a `no-winner` result THROWS
|
|
12321
|
-
* ({@link GraphEdgeCapError}) instead of returning: only delegates caps refuse spawns, so only
|
|
12322
|
-
* they can have ended the run. A LIFECYCLE no-winner (`aborted` / `budget-exhausted`) returns
|
|
12323
|
-
* normally even with an exhausted delegates cap — the abort or the pool, not the cap, ended
|
|
12324
|
-
* that run, and the exhaustion stays observable here. */
|
|
12325
|
-
readonly exhaustedEdges: ReadonlyArray<string>;
|
|
12326
|
-
readonly runId: string;
|
|
12327
|
-
/** Why a flow graph ended early: a `stop` edge fired (`edge` names it), or a flow node settled
|
|
12328
|
-
* down (no `edge`; `reason` is `down: <worker reason>`) or, where a route was needed, without a
|
|
12329
|
-
* usable result (no `edge`; `reason` is `unusable: <why>`). Live flow workers are aborted. */
|
|
12330
|
-
readonly stopped?: {
|
|
12331
|
-
readonly code?: string;
|
|
12332
|
-
readonly edge?: string;
|
|
12333
|
-
readonly at: NodeId;
|
|
12334
|
-
readonly workerId: string;
|
|
12335
|
-
readonly reason: string;
|
|
12336
|
-
};
|
|
12337
|
-
}
|
|
12338
|
-
/** `RunGraphOptions` with the brain REQUIRED — the shape the `/testing` entry's
|
|
12339
|
-
* `runGraphWithTestBrain` keeps accepting now that `brain` is a production option. */
|
|
12340
|
-
interface RunGraphTestOptions extends RunGraphOptions {
|
|
12341
|
-
readonly brain: ToolLoopChat;
|
|
12295
|
+
interface PursuitFork {
|
|
12296
|
+
/** The settled parent's run directory. */
|
|
12297
|
+
readonly runDir: string;
|
|
12298
|
+
/** The sha256 of the parent's `result.json` bytes: the sealed point the fork starts from. */
|
|
12299
|
+
readonly settleDigest: Sha256Digest;
|
|
12300
|
+
/** The one change, applied to the parent's root profile. Its `id` is recorded. */
|
|
12301
|
+
readonly change: AgentProfileDiff;
|
|
12302
|
+
/**
|
|
12303
|
+
* Fork a parent whose journal holds a node without a terminal record, an unbegun owned tree, an
|
|
12304
|
+
* unconfirmed teardown, or work in flight. Such a node may still act, and a fork never replays
|
|
12305
|
+
* the parent's children, so it can only duplicate work outside the fork's tree. The root then
|
|
12306
|
+
* records those node ids as `forkParentUncertainNodes`. Omit it to refuse such a parent.
|
|
12307
|
+
*/
|
|
12308
|
+
readonly acceptUncertain?: boolean;
|
|
12342
12309
|
}
|
|
12343
12310
|
/**
|
|
12344
|
-
*
|
|
12345
|
-
*
|
|
12346
|
-
*
|
|
12347
|
-
* (`spawn_worker` with `profile: { name: '<node id>' }`; the node's canonical profile is pinned by
|
|
12348
|
-
* the graph), each
|
|
12349
|
-
* delegates directive is appended to the worker profile's `prompt.instructions` per traversal,
|
|
12350
|
-
* and each analyzes edge becomes an analyst-on-settle route with a real DESTINATION. Every
|
|
12351
|
-
* traversal is ledgered and journaled.
|
|
12311
|
+
* The `execution.correlation` keys a fork records on its root. Runtime writes them; a caller that
|
|
12312
|
+
* supplies one is refused. `lineageRootRunId` is the first run of the chain of parents, so the
|
|
12313
|
+
* spend of every version of one lineage groups under one id.
|
|
12352
12314
|
*/
|
|
12353
|
-
declare
|
|
12354
|
-
/** Alias for graph tests written before `RunGraphOptions.brain` was production. The production
|
|
12355
|
-
* entry accepts the same shape; this wrapper only keeps the `/testing` import path working. */
|
|
12356
|
-
declare function runGraphWithTestBrain(graph: AgentGraph, opts: RunGraphTestOptions): Promise<GraphResult>;
|
|
12315
|
+
declare const RUN_FORK_CORRELATION_KEYS: readonly ["forkParentRunId", "forkParentSettleDigest", "forkProfileDiffId", "lineageRootRunId"];
|
|
12357
12316
|
type ObserverRecordKind = 'event' | 'decision';
|
|
12358
12317
|
/**
|
|
12359
12318
|
* One immutable record in the observer plane. `sequence` is journal order, not
|
|
@@ -13003,6 +12962,9 @@ interface IsolatedCheckBox {
|
|
|
13003
12962
|
};
|
|
13004
12963
|
/** `customerId` from `Sandbox.getIdentity()` for every Sandbox key the judged run holds. */
|
|
13005
12964
|
builderAccounts: readonly [string, ...string[]];
|
|
12965
|
+
/** The check is the run's own step in its owner's account (a graph check node), not a judge:
|
|
12966
|
+
* `builderAccounts` is not consulted, and the box keeps a durable home. */
|
|
12967
|
+
ownerStep?: true;
|
|
13006
12968
|
/** Sandbox environment or image that holds the check's toolchain. */
|
|
13007
12969
|
environment: string;
|
|
13008
12970
|
/** Set `memoryMB` to require the API to report a finite granted limit before upload. */
|
|
@@ -15310,48 +15272,11 @@ interface ClaimRetainedInteractiveControlOptions {
|
|
|
15310
15272
|
* @stable
|
|
15311
15273
|
*/
|
|
15312
15274
|
declare function claimRetainedInteractiveControl(options: ClaimRetainedInteractiveControlOptions): Promise<AgentInteractiveSessionControlClaim>;
|
|
15313
|
-
/**
|
|
15314
|
-
* Dispatch one detached, replayable run and return only after exact durable
|
|
15315
|
-
* coordinates are confirmed by the provider and persisted by the caller.
|
|
15316
|
-
*
|
|
15317
|
-
* The required `onAdmission` hook first records a digest-only intent before
|
|
15318
|
-
* creation or receipt-authorized attachment, then records recovery coordinates and the verified exact control
|
|
15319
|
-
* reference. The returned promise resolves only after the dispatched admission
|
|
15320
|
-
* is durable, so a crash cannot lose a successful start's exact reference.
|
|
15321
|
-
*
|
|
15322
|
-
* @stable
|
|
15323
|
-
*/
|
|
15275
|
+
/** Dispatch one replayable run. Intent is durable before create; the promise resolves after dispatch is durable. @stable */
|
|
15324
15276
|
declare function startRetainedRun(options: StartRetainedRunOptions): Promise<RetainedRunHandle>;
|
|
15325
|
-
/**
|
|
15326
|
-
* Dispatch a fresh retained session inside an existing provider environment.
|
|
15327
|
-
*
|
|
15328
|
-
* This operation reuses only the environment. It does not append to a prior
|
|
15329
|
-
* harness chat and does not claim native conversation continuity. The caller
|
|
15330
|
-
* must use `RetainedRunHandle.continueNative` for a verified same-chat turn.
|
|
15331
|
-
*
|
|
15332
|
-
* @stable
|
|
15333
|
-
*/
|
|
15277
|
+
/** Fresh session in an existing environment. A same-chat turn uses `continueNative`. @stable */
|
|
15334
15278
|
declare function startRetainedRunInEnvironment(options: StartRetainedRunInEnvironmentOptions): Promise<RetainedRunHandle>;
|
|
15335
|
-
/**
|
|
15336
|
-
* Rebuild the exact run named by a persisted pre-create intent or pre-dispatch
|
|
15337
|
-
* admission coordinates, or report why the provider cannot prove it.
|
|
15338
|
-
*
|
|
15339
|
-
* An intent recovery replays the exact original start material through
|
|
15340
|
-
* `startRetainedRun`; a changed replay is rejected before provider creation.
|
|
15341
|
-
*
|
|
15342
|
-
* `not_found`: the provider no longer holds the environment, so nothing
|
|
15343
|
-
* remains to destroy. `recovered`: the provider self-identified the session
|
|
15344
|
-
* with a strict exact reference matching the recorded coordinates.
|
|
15345
|
-
* `unverifiable`: the environment exists but the provider cannot
|
|
15346
|
-
* self-identify the session — no session accessor, an accessor that throws,
|
|
15347
|
-
* a lazy accessor with no stored reference, or a loose reference. That
|
|
15348
|
-
* outcome is never destroy-safe: keep the environment, retry
|
|
15349
|
-
* `reconnectRetainedRun` with a dispatched admission record, or inspect the
|
|
15350
|
-
* environment with provider-native tools. A session that self-identifies
|
|
15351
|
-
* with different coordinates throws: something live is not the recorded run.
|
|
15352
|
-
*
|
|
15353
|
-
* @stable
|
|
15354
|
-
*/
|
|
15279
|
+
/** Replay a persisted intent, or reattach coordinates the provider can prove. `unverifiable` keeps the environment; different coordinates throw. @stable */
|
|
15355
15280
|
declare function recoverRetainedRun(options: RecoverRetainedRunIntentOptions): Promise<RecoverRetainedRunResult>;
|
|
15356
15281
|
declare function recoverRetainedRun(options: RecoverRetainedRunOptions): Promise<RecoverRetainedRunResult>;
|
|
15357
15282
|
/** Rebuild a retained-run client without retaining any object from the starter. @stable */
|
|
@@ -16379,11 +16304,15 @@ interface StoredGraphContent {
|
|
|
16379
16304
|
readonly nodes: ReadonlyArray<{
|
|
16380
16305
|
readonly id: string;
|
|
16381
16306
|
readonly profile: AgentProfile;
|
|
16307
|
+
/** A check node; its profile is `{ name: id }`. */
|
|
16308
|
+
readonly check?: GraphCheckNode;
|
|
16382
16309
|
}>;
|
|
16383
16310
|
readonly deliverable: Pick<AgentGraph['deliverable'], 'describe' | 'checkRef' | 'command' | 'when'>;
|
|
16384
16311
|
/** A flow graph's entry and gates; absent for any other graph. */
|
|
16385
16312
|
readonly entry?: AgentGraph['entry'];
|
|
16386
16313
|
readonly gates?: AgentGraph['gates'];
|
|
16314
|
+
readonly workspace?: AgentGraph['workspace'];
|
|
16315
|
+
readonly continuation?: AgentGraph['continuation'];
|
|
16387
16316
|
}
|
|
16388
16317
|
/** A graph as stored. Observed imports retain unknown directives and budgets;
|
|
16389
16318
|
* they describe what happened and cannot be replayed as executable graphs. */
|
|
@@ -16605,6 +16534,17 @@ interface LoadedGraphFile {
|
|
|
16605
16534
|
}
|
|
16606
16535
|
/** Compile canonical YAML/JSON to content-addressed graph data. Host resolvers may perform I/O. */
|
|
16607
16536
|
declare function loadGraphFile(file: string, options?: LoadGraphFileOptions): Promise<LoadedGraphFile>;
|
|
16537
|
+
/**
|
|
16538
|
+
* The directory a graph run's nodes work in. `workspace: cwd` (the default) is `cwd`. `workspace:
|
|
16539
|
+
* fresh` is a new empty directory the run owns, `<root>/<runId>` (default root
|
|
16540
|
+
* `~/.tangle/workspaces`); a resumed run with the same id reuses it. The host passes the result as
|
|
16541
|
+
* the backend's working directory, where agent and check nodes both run.
|
|
16542
|
+
*/
|
|
16543
|
+
declare function graphWorkspace(graph: Pick<AgentGraph, 'workspace'>, options: {
|
|
16544
|
+
readonly cwd: string;
|
|
16545
|
+
readonly runId: string;
|
|
16546
|
+
readonly root?: string;
|
|
16547
|
+
}): Promise<string>;
|
|
16608
16548
|
/** The same data grammar as routes; no executable expressions or additional operators. */
|
|
16609
16549
|
declare const graphRouteWhenSchema: z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
|
|
16610
16550
|
equals: z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>;
|
|
@@ -16655,7 +16595,24 @@ declare const graphFileSchema: z.ZodObject<{
|
|
|
16655
16595
|
profile: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
16656
16596
|
seat: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
|
|
16657
16597
|
needs: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16598
|
+
check: z.ZodOptional<z.ZodObject<{
|
|
16599
|
+
command: z.ZodString;
|
|
16600
|
+
timeoutMs: z.ZodOptional<z.ZodNumber>;
|
|
16601
|
+
environment: z.ZodOptional<z.ZodString>;
|
|
16602
|
+
egress: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16603
|
+
secrets: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
16604
|
+
resources: z.ZodOptional<z.ZodObject<{
|
|
16605
|
+
cpuCores: z.ZodOptional<z.ZodNumber>;
|
|
16606
|
+
memoryMB: z.ZodOptional<z.ZodNumber>;
|
|
16607
|
+
diskGB: z.ZodOptional<z.ZodNumber>;
|
|
16608
|
+
}, z.core.$strict>>;
|
|
16609
|
+
}, z.core.$strict>>;
|
|
16658
16610
|
}, z.core.$strict>>;
|
|
16611
|
+
workspace: z.ZodOptional<z.ZodEnum<{
|
|
16612
|
+
fresh: "fresh";
|
|
16613
|
+
cwd: "cwd";
|
|
16614
|
+
}>>;
|
|
16615
|
+
continuation: z.ZodOptional<z.ZodPipe<z.ZodUnknown, z.ZodTransform<PortableContinuationPolicy, unknown>>>;
|
|
16659
16616
|
entry: z.ZodOptional<z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
|
|
16660
16617
|
node: z.ZodString;
|
|
16661
16618
|
task: z.ZodUnknown;
|
|
@@ -17078,6 +17035,9 @@ interface RemoteSupervisorControl extends RemoteSupervisorReader {
|
|
|
17078
17035
|
declare function connectRemoteSupervisor(spec: HttpMcpServerSpec): Promise<RemoteSupervisorReader>;
|
|
17079
17036
|
/** Connect with the dedicated /control capability, keeping credentials on the protected transport. */
|
|
17080
17037
|
declare function connectRemoteSupervisorControl(access: CoordinationControlAccess): Promise<RemoteSupervisorControl>;
|
|
17038
|
+
/** An `escalateQuestion` that writes each `ask_parent` question to `questions/<id>.json` for an
|
|
17039
|
+
* out-of-process observer, who answers through `writeWorkerSteer` on the root (#1165). */
|
|
17040
|
+
declare function fileEscalateQuestion(rootDir: string, runId: string): EscalateQuestion;
|
|
17081
17041
|
/** One atomically admitted down-leg request for an exact worker id. @stable */
|
|
17082
17042
|
interface WorkerSteerRequest {
|
|
17083
17043
|
readonly schemaVersion: 1;
|
|
@@ -18148,6 +18108,8 @@ interface SettledWorker {
|
|
|
18148
18108
|
* children's results, each readable in full through `observe_agent({ outRef })`. */
|
|
18149
18109
|
readonly subtree?: SubtreeSummary;
|
|
18150
18110
|
}
|
|
18111
|
+
/** The machine a worker asks for: the canonical create-time resource request. */
|
|
18112
|
+
type ResourceRequest = NonNullable<CreateAgentEnvironmentInput['resources']>;
|
|
18151
18113
|
/** Immutable task, allocation, identity attribution, and semantic key supplied while a manager's
|
|
18152
18114
|
* complete worker profile is prepared for one spawn. */
|
|
18153
18115
|
interface WorkerSpawnContext {
|
|
@@ -18161,6 +18123,8 @@ interface WorkerSpawnContext {
|
|
|
18161
18123
|
readonly budget: Budget;
|
|
18162
18124
|
/** Detached, deeply immutable task bytes from this spawn request. */
|
|
18163
18125
|
readonly task: unknown;
|
|
18126
|
+
/** The machine `spawn_worker` requested, admitted under the backend's `maxWorkerResources`. */
|
|
18127
|
+
readonly resources?: ResourceRequest;
|
|
18164
18128
|
/** Exact trace label selected for this spawn. */
|
|
18165
18129
|
readonly label: string;
|
|
18166
18130
|
/** Semantic restart key, when the manager supplied one. */
|
|
@@ -18182,8 +18146,8 @@ interface WorkerSpawnContext {
|
|
|
18182
18146
|
readonly continuity?: ContinuityMode;
|
|
18183
18147
|
/** Present iff `continuity === 'resume'`: the lineage the executor seam re-attaches with. */
|
|
18184
18148
|
readonly resume?: WorkerResumeContext;
|
|
18185
|
-
/** The
|
|
18186
|
-
* `successorOf`). Runtime admits only a
|
|
18149
|
+
/** The worker this spawn revises or replaces, when the manager named one (`spawn_worker`'s
|
|
18150
|
+
* `successorOf`). Runtime admits only a worker of the same manager, live or settled, and journals the
|
|
18187
18151
|
* relation on the new node, so the run record shows who took over whose work. A seam may read
|
|
18188
18152
|
* it to hand the successor its predecessor's workspace or retained output; Runtime mounts
|
|
18189
18153
|
* nothing on its behalf. Independent of `resume`, which re-attaches the same node's session. */
|
|
@@ -18378,11 +18342,12 @@ interface CoordinationToolsOptions {
|
|
|
18378
18342
|
readonly preflightSpawn?: SpawnPreflight;
|
|
18379
18343
|
/**
|
|
18380
18344
|
* OPT-IN pre-journal PROFILE resolution: maps the profile a driver authored to the profile that
|
|
18381
|
-
* will actually run
|
|
18382
|
-
* profiles by name (an agent graph) installs this so the
|
|
18383
|
-
* its real model, tools and harness — never the `{ name }` stub the driver wrote.
|
|
18384
|
-
* throw-on-refusal, identity-free: it sees only the profile, never the assignment
|
|
18385
|
-
* because both are minted AFTER the pre-journal point. Omit = the authored profile
|
|
18345
|
+
* will actually run — both the spawn and `preflightSpawn`'s gate see the resolved profile. A
|
|
18346
|
+
* layer that pins profiles by name (an agent graph) installs this so the canonical profile —
|
|
18347
|
+
* its real model, tools and harness — runs, never the `{ name }` stub the driver wrote (#1281).
|
|
18348
|
+
* Synchronous, throw-on-refusal, identity-free: it sees only the profile, never the assignment
|
|
18349
|
+
* or budget, because both are minted AFTER the pre-journal point. Omit = the authored profile
|
|
18350
|
+
* is used.
|
|
18386
18351
|
*/
|
|
18387
18352
|
readonly resolveSpawnProfile?: (profile: AgentProfile) => AgentProfile;
|
|
18388
18353
|
/**
|
|
@@ -18490,6 +18455,7 @@ interface SpawnPreflightContext {
|
|
|
18490
18455
|
readonly label: string;
|
|
18491
18456
|
readonly key?: string;
|
|
18492
18457
|
readonly task: unknown;
|
|
18458
|
+
readonly resources?: ResourceRequest;
|
|
18493
18459
|
}
|
|
18494
18460
|
/** The gate `CoordinationToolsOptions.preflightSpawn` installs. */
|
|
18495
18461
|
type SpawnPreflight = (profile: AgentProfile, context: SpawnPreflightContext) => Promise<SpawnRefusal | undefined>;
|
|
@@ -18646,6 +18612,9 @@ interface DriverAttemptRecord {
|
|
|
18646
18612
|
readonly durationMs: number;
|
|
18647
18613
|
/** Absent when the attempt completed. */
|
|
18648
18614
|
readonly error?: string;
|
|
18615
|
+
/** With `error`: the deepest cause's stack, redacted and bounded, so a failure the message
|
|
18616
|
+
* alone cannot place still names its throw site (#2347). */
|
|
18617
|
+
readonly errorStack?: string;
|
|
18649
18618
|
/** Validated producer attribution, including its reset hint when supplied. */
|
|
18650
18619
|
readonly failure?: AgentTurnFailure;
|
|
18651
18620
|
readonly classification?: DriverFailureClass;
|
|
@@ -18707,26 +18676,9 @@ interface DriverAttemptRecord {
|
|
|
18707
18676
|
* already closed: the manager's own `stop` or a progress stop rule. A barren streak is never a
|
|
18708
18677
|
* refusal: it pauses the next continuation (`barrenPauseMs`). */
|
|
18709
18678
|
type DriverRepromptRefusal = 'closed' | Extract<DriverAttemptStop, 'aborted' | 'budget-exhausted' | 'deadline' | 'max-attempts'>;
|
|
18710
|
-
/**
|
|
18711
|
-
* How one driver failure is answered.
|
|
18712
|
-
*
|
|
18713
|
-
* - `terminal`: Runtime's own refusal, or a request that fails identically forever. The run ends.
|
|
18714
|
-
* - `transient`: a foreign accident. A streak in which nothing ran is retried as an outage for
|
|
18715
|
-
* `transientOutageMs`; after that, and for a failure that did work, `maxAttempts` and the
|
|
18716
|
-
* barren streak bound it.
|
|
18717
|
-
* - `unavailable`: the upstream cannot serve now (quota, rate limit, overload, or the router's
|
|
18718
|
-
* own provider credential refused). The driver pauses and re-enters, and only the deadline, the
|
|
18719
|
-
* budget, and cancellation bound the pauses.
|
|
18720
|
-
*/
|
|
18679
|
+
/** `terminal` ends the run. `transient` is an outage until `transientOutageMs`, then the attempt bounds. `unavailable` pauses until the deadline, budget, or cancel. */
|
|
18721
18680
|
type DriverFailureClass = 'transient' | 'terminal' | 'unavailable';
|
|
18722
|
-
/**
|
|
18723
|
-
* What one driver loop did, counted from its attempt records: the numbers a run's settle record
|
|
18724
|
-
* carries so a reader can tell genuine continuations from failure retries without the journal.
|
|
18725
|
-
*
|
|
18726
|
-
* Measured motive: the most genuine continuations in any recorded lab run was 11
|
|
18727
|
-
* (evidence-compiler-j, which won), while the two larger counts, 32 and 12, were re-entries after
|
|
18728
|
-
* failed turns. One `attempts` number hid which was which.
|
|
18729
|
-
*/
|
|
18681
|
+
/** Attempt counts split continuations from failure retries. One `attempts` number hid which was which. */
|
|
18730
18682
|
interface DriverLoopRecord {
|
|
18731
18683
|
/** Driver invocations started (the attempt numbers the loop reached). */
|
|
18732
18684
|
readonly attempts: number;
|
|
@@ -18777,46 +18729,16 @@ interface DriverContinuationRecord extends DriverLoopRecord {
|
|
|
18777
18729
|
readonly continuations: ReadonlyArray<ContinuationEntry>;
|
|
18778
18730
|
}
|
|
18779
18731
|
/**
|
|
18780
|
-
* Why a retained execution has no accepted terminal result
|
|
18781
|
-
*
|
|
18782
|
-
*
|
|
18783
|
-
*
|
|
18784
|
-
*
|
|
18785
|
-
*
|
|
18786
|
-
*
|
|
18787
|
-
*
|
|
18788
|
-
*
|
|
18789
|
-
*
|
|
18790
|
-
* Anything unclassifiable lands here, and so does a 4xx, a not-found, or a client deadline hit
|
|
18791
|
-
* AFTER admission: the provider cannot resolve what it admitted, which is exactly the case the
|
|
18792
|
-
* refusal exists for, not a rejected request.
|
|
18793
|
-
* - `'provider-contract'`: the provider answered with something its own contract forbids — a
|
|
18794
|
-
* `RetainedRunProviderContractError` naming a broken answer (an `*_INVALID`, `*_CHANGED`,
|
|
18795
|
-
* `*_DUPLICATE`, `*_MISSING` code), an event bound to another run.
|
|
18796
|
-
* - `'request-rejected'`: the request itself was refused BEFORE it ran — a schema violation
|
|
18797
|
-
* (`ZodError`), an HTTP 4xx at admission, a capacity refusal at admission that carries an
|
|
18798
|
-
* upstream capacity `code` and no HTTP status (the account owner's credential command refused a
|
|
18799
|
-
* fresh dispatch before the dispatch request existed), an unsupported credential route, or a
|
|
18800
|
-
* dispatch that Sandbox did not admit
|
|
18801
|
-
* because another execution owns the session or turn. Never named after admission.
|
|
18802
|
-
* - `'transport'`: the provider or a gateway in front of it failed — an HTTP 5xx, a socket
|
|
18803
|
-
* error, a platform service answering with a server error. Status is in doubt only because
|
|
18804
|
-
* the transport was.
|
|
18805
|
-
* - `'nested-recovery'`: a nested manager's own recovery could not be reconstructed. Stated by
|
|
18806
|
-
* the thrower, never inferred.
|
|
18807
|
-
*
|
|
18808
|
-
* Classification reads the cause's structure — class name, `code`, HTTP `status`, a Zod issue
|
|
18809
|
-
* list — and two untyped Sandbox refusals' text, never other message text: the provider is not a
|
|
18810
|
-
* dependency of this package and its messages are not a contract. #1204's exhibit 3 (an event
|
|
18811
|
-
* without a stable id) is delivered rather than thrown since agent-provider-tangle 1.4.0; its
|
|
18812
|
-
* exhibit 6 is typed as `JsonBoundError` (`code: 'JSON_BOUND_VIOLATION'`) since 1.5.0 and lands
|
|
18813
|
-
* with the schema violations. A provider still throwing plain `Error`s lands on `'unobservable'`,
|
|
18814
|
-
* which is the safe side.
|
|
18815
|
-
*
|
|
18816
|
-
* One `RetainedRunProviderContractError` is NOT one meaning. The runtime mints it both when the
|
|
18817
|
-
* provider answered wrongly and when a READ of the provider failed (`RETAINED_RESULT_READ_FAILED`,
|
|
18818
|
-
* `RETAINED_CONTROL_REF_READ_FAILED`). The second kind is a wrapper: what it wraps decides, in a
|
|
18819
|
-
* post-admission context, and a wrapper around nothing classifiable is exhibit 4.
|
|
18732
|
+
* Why a retained execution has no accepted terminal result. `unobservable` means it may have run
|
|
18733
|
+
* and nothing local can say, including a 4xx, not-found, or client deadline after admission, and
|
|
18734
|
+
* any plain `Error`. `provider-contract` is an answer the provider's contract forbids, or an event
|
|
18735
|
+
* bound to another run. `request-rejected` is a refusal before the request ran: schema, admission
|
|
18736
|
+
* 4xx, admission capacity code, unsupported credential route, or a session owned by another
|
|
18737
|
+
* execution. `transport` is HTTP 5xx, a socket error, or a platform server error. `nested-recovery`
|
|
18738
|
+
* is stated by the thrower. Classification reads class, `code`, HTTP `status`, and a Zod issue
|
|
18739
|
+
* list, plus two untyped Sandbox refusal strings, never other message text. A
|
|
18740
|
+
* `RetainedRunProviderContractError` for `RETAINED_RESULT_READ_FAILED` or
|
|
18741
|
+
* `RETAINED_CONTROL_REF_READ_FAILED` is classified by what it wraps.
|
|
18820
18742
|
*/
|
|
18821
18743
|
type RetainedPendingCause = 'unobservable' | 'provider-contract' | 'request-rejected' | 'transport' | 'nested-recovery';
|
|
18822
18744
|
/**
|
|
@@ -19468,5 +19390,5 @@ interface KnowledgeReadinessDecision {
|
|
|
19468
19390
|
blockingGapIds: string[];
|
|
19469
19391
|
nonBlockingGapIds: string[];
|
|
19470
19392
|
}
|
|
19471
|
-
export { AgentEnvironmentStatus as $, RuntimeRunStatus as $S, McpToolAnnotations as $_, startRetainedRunInEnvironment as $a, MaterializedModelIdentity as $b, ShapeContext as $c, FinalizeContext as $d, CliWorktreeBridgeSeam as $f, DecideGate as $g, HarnessUsage as $h, StructuralRolloutResult as $i, PursuitNodePlatform as $l, DelegationResultPayload as $m, safeWorkerFile as $n, SuperviseOptionsForDispatch as $o, SandboxUsageLedger as $p, graphDigest as $r, HarvestFailure as $s, settledWorkerOut as $t, createInMemoryRunContext as $u, TraceRootReceipt as $v, HARNESS_TRANSCRIPT_READ_LIMITS as $x, SpawnOpts as $y, DriverContinuationRecord as A, RetainedRunHandle as AC, LoopPlanPayload as AS, MapItemFailurePolicy as A_, Deliverable as Aa, BudgetPool as Ab, ScopeAnalyzeInput as Ac, SupervisorAgentDeps as Ad, ResolveSpawnResourcePathsResult as Af, bestSoFar as Ag, ExecutorResultMapping as Ah, ChatWorkerSeamOptions as Ai, IsolatedCheckOutputFailure as Al, runDetachedTurn as Am, SearchSpecOwnedOption as An, RegistryAnalyzeProjection as Ao, ProviderExecutorOptions as Ap, workerFromInteractiveProvider as Ar, StrategyShotResult as As, boxSurfaceReader as At, PursuitFork as Au, openSqlRunStore as Av, createActivityLog as Ax, sanitizeKnowledgeReadinessReport as Ay, PeerAuditAccess as B, MountRecorder as BS, PeerMailOutcome as B_, createSandboxLineage as Ba, ReserveOptions as Bb, WidenLineage as Bc, PlateauOptions as Bd, EventSubscription as Bf, WorktreeCheckRunner as Bg, sentinelCompletion as Bh, profileRichnessFinding as Bi, VersionJudge as Bl, SubmitOutput as Bm, TraceRootArtifact as Bn, BenchmarkCell as Bo, ResolvedMcpServerLaunch as Bp, LoadGraphFileOptions as Br, Strategy as Bs, WorktreePatchArtifact as Bt, SuperviseRegistry as Bu, FileSpawnJournal as Bv, HarnessTranscriptArtifact as Bx, BudgetOverspend as By, RuntimeFailureCause as C, RetainedRunAdmissionHook as CC, LoopDecisionPayload as CS, ContinuationInstruction as C_, EvolutionStrategy as Ca, SpawnForest as Cb, Panel as Cc, CoordinationToolFace as Cd, ContinuationProfile as Cf, renderLeaderboardSvg as Cg, FileDelegationStoreOptions as Ch, DelegateOptions as Ci, IsolatedCheckBox as Cl, FleetHandle as Cm, FencedSqlRunContext as Cn, loopUntil as Co, ROUTER_CLIENT_HEADER as Cp, profileRegistry as Cr, AgenticSurface as Cs, BoxSurfaceReaderOptions as Ct, TraversalContinuity as Cu, RunLocalHarnessOptions as Cv, ActivityLog as Cx, RuntimeStreamEventSink as Cy, RetainedPendingCause as D, RetainedRunEffect as DC, LoopIterationStartedPayload as DS, DownMessageDeliveryOutcome as D_, TournamentRow as Da, SpawnForestNode as Db, PipelineStage as Dc, ObserveSupervisorNodeEvent as Dd, DriverContractState as Df, AnytimeTaskCurve as Dg, CheckVerdict as Dh, ChatSessionStore as Di, runIsolatedCheck as Dl, createSiblingSandboxExecutor as Dm, SEARCH_SPEC_CORRELATION_KEY as Dn, verify as Do, AgentEnvironmentProviderRegistry as Dp, InteractiveWorkerKeyInput as Dr, CorpusReadbackOptions as Ds, SurfaceReadOutcome as Dt, GraphFromStoredOptions as Du, CodexTokenUsage as Dv, ScopeProgressInput as Dx, SanitizedKnowledgeRequirement as Dy, EvidencePendingEvent as E, RetainedRunDispatchedAdmission as EC, LoopIterationEndedPayload as ES, DownMessageDeliveryAttempt as E_, TournamentCell as Ea, SpawnForestMissingTree as Eb, PanelVerdict as Ec, DriveHarnessOwnerContext as Ed, admitContinuationPolicy as Ef, AnytimeStrategySummary as Eg, CheckUnavailableError as Eh, ChatCompletionsTransport as Ei, IsolatedCheckResult as El, createFleetWorkspaceExecutor as Em, CompiledSearchSpec as En, selectValidWinner as Eo, AgentEnvironmentProviderRef as Ep, InteractiveWorkerEnvironment as Er, ArtifactHandle as Es, SurfaceReadBox as Et, GraphCommandCheck as Eu, LocalHarness as Ev, ExecutorProgress as Ex, SanitizedKnowledgeReadinessReport as Ey, CoordinationTools as F, RetainedRunTurnInput as FC, LoopTokenUsage as FS, DEFAULT_PEER_MAIL_LIMITS as F_, SandboxRunAbortError as Fa, ReservationHolder as Fb, TrajectoryReportOptions as Fc, SupervisorToolInvocationContext as Fd, environmentReader as Ff, WaterfallSpan as Fg, CompletionEvidence as Fh, ProfileRichness as Fi, NextPursuitVersionInput as Fl, DelegationResumeTick as Fm, settledToIteration as Fn, observationFromRegistry as Fo, ProviderPlacement as Fp, graphFromSessionFacts as Fr, runAgentic as Fs, failuresAnalyst as Ft, workerFromBackend as Fu, SpawnJournalCursor as Fv, RetainedInteractiveEnvironmentInput as Fx, RunParkedError as Fy, SpawnRefusalCause as G, ValidationCtx as GS, PeerMailboxOptions as G_, S3PrivateCasStoreOptions as Ga, ExecutorRegistry as Gb, LoopShape as Gc, anyOf as Gd, DelegateHandlerOptions as Gf, AwaitWakeInput as Gg, CodexRolloutStoreReader as Gh, CheckRunContext as Gi, SupervisePursuitOptions as Gl, DelegateUiAuditArgs as Gm, WorkerSteerAcknowledgement as Gn, BenchmarkTaskRow as Go, secretEnvOfMcpServer as Gp, GraphRegistryDir as Gr, assertStrategyContract as Gs, attachWorker as Gt, SeatStage as Gu, cancelRun as Gv, HarnessTranscriptUnavailable as Gx, SpendChannel as Gy, SpawnPreflight as H, RunProvenance as HS, PeerMailRefusal as H_, AcquireOptions as Ha, AgentSpec as Hb, WinnerStrategy as Hc, StopDecision as Hd, McpEventRecord as Hf, WorktreeHarnessResult as Hg, CodexForkBoundary as Hh, RunCancellationReason as Hi, assertPursuitVersions as Hl, DelegateCodeConfig as Hm, RunTraceSources as Hn, BenchmarkLift as Ho, mcpSecretEnvMetadataKey as Hp, loadGraphFile as Hr, StrategyCtx as Hs, AttachWorkerOptions as Ht, SeatSegment as Hu, readRunState as Hv, HarnessTranscriptCapture as Hx, ResourceLimit as Hy, CoordinationToolsOptions as I, StartRetainedRunInEnvironmentOptions as IC, LoopTraceEmitter as IS, PEER_MAIL_WIRE_KEY as I_, TurnResult as Ia, ReservationRejection as Ib, Verify as Ic, ManagerWakePolicy as Id, resolveSpawnResourcePaths as If, createWaterfallCollector as Ig, CompletionPolicy as Ih, ProfileRichnessThresholds as Ii, PursuitVersionChain as Il, DelegationRunContext as Im, createScope as In, McpEndpoint as Io, BridgeHarnessStore as Ip, graphFileSchema as Ir, sample as Is, AuthoredHarness as It, AuthorizedSpawn as Iu, SpawnJournalReadOptions as Iv, RetainedInteractiveRunHandle as Ix, RunParkingPolicy as Iy, AgentEnvironment$1 as J, RuntimeRunCost as JS, isPeerMailEnvelope as J_, PrivateCasNamespaceObject as Ja, ExecutionBindingReceipt as Jb, PersonaContext as Jc, ReentryContinuity as Jd, createExecutorRegistry as Jf, LeadMessage as Jg, CodexStoreDelta as Jh, CheckSourceCtx as Ji, supervisePursuit as Jl, DelegationError as Jm, cancelWorker as Jn, runBenchmark as Jo, SandboxToolPartState as Jp, GraphSelection as Jr, sampleThenRefine as Js, NOTE_MAX_CHARS as Jt, InMemoryRunContext as Ju, InMemoryResultBlobStore as Jv, captureBoundHarnessTranscript as Jx, NodeId as Jy, SuperviseProfileEntry as K, Validator as KS, claimsAuthority as K_, createS3PrivateCasStore as Ka, SpawnModelSubstitution as Kb, Outcome as Kc, noProgressFor as Kd, DelegateResult as Kf, CoordinationEvent as Kg, CodexRolloutStoreRef as Kh, CheckRunner as Ki, SupervisedPursuitResult as Kl, DelegateUiAuditConfig as Km, WorkerSteerRequest as Kn, Environment as Ko, SandboxLeafOut as Kp, GraphRunQuery as Kr, authorStrategy as Ks, readWorkerInteractiveBinding as Kt, SelectSeat as Ku, readRunCancelRequest as Kv, HarnessTranscriptUnavailableReason as Kx, SpendGap as Ky, GraphSubtaskPreparation as L, StartRetainedRunOptions as LC, LoopTraceEvent as LS, PeerMailEnvelope as L_, openSandboxRun as La, ReservationShortfall as Lb, VerifySpec as Lc, SupervisorProfile as Ld, McpServer as Lf, RunAgentRoundsOptions as Lg, CompletionVerdict as Lh, asAuthoredProfile as Li, PursuitVersionStop as Ll, DelegationTaskQueue as Lm, ScopeArgs as Ln, McpEnvironmentOptions as Lo, BridgeModelCredential as Lp, graphRouteWhenSchema as Lr, AuthorStrategyOptions as Ls, WorktreeFanoutOptions as Lt, AuthorizedSpawnContext as Lu, SpawnJournalReadRecord as Lv, RetainedInteractiveStartMaterial as Lx, RunParkingRecord as Ly, DriverRepromptRefusal as M, RetainedRunReplayPoint as MC, LoopSandboxPlacement as MS, MapSpawnMarker as M_, OpenSandboxRunOptions as Ma, BudgetReadout as Mb, SteerContext as Mc, SupervisorNodeContext as Md, SpawnResourceBytes as Mf, renderAnytimeTable as Mg, mapExecutorResult as Mh, chatWorkerSeam as Mi, validateIsolatedCheckOutputs as Ml, DelegationRecord as Mm, compileSearchSpec as Mn, buildSteerContext as Mo, ProviderPromptOptions as Mp, createInPlaceCliExecutor as Mr, breadthStrategy as Ms, harvestSurfaceDiffs as Mt, supervise as Mu, materializeTreeView as Mv, ReconnectRetainedInteractiveRunOptions as Mx, WorkerSlots as My, BlockedToolReport as N, RetainedRunSnapshot as NC, LoopStartedPayload as NS, MapTraversalEvent as N_, OpenSandboxRunPromptOptions as Na, LeakedReservation as Nb, TrajectoryNode as Nc, SupervisorNodeContextSeed as Nd, SpawnResourceRead as Nf, WaterfallCollector as Ng, verdictFromJudgeScore as Nh, createChatSessionStore as Ni, JudgedPursuitVersion as Nl, DelegationResumeContext as Nm, searchPresets as Nn, createScopeAnalyst as No, providerAsExecutor as Np, GraphSessionObservationOptions as Nr, depthStrategy as Ns, AnalystAuthoring as Nt, superviseFleetCapabilities as Nu, FileResultBlobStore as Nv, RecoverRetainedInteractiveRunOptions as Nx, createWorkerSlots as Ny, DriverAttemptRecord as O, RetainedRunEnvironmentAdmission as OC, LoopLineageOptions as OS, DownMessageEvent as O_, runStrategyEvolution as Oa, SpawnForestTree as Ob, RenderCorpusToInstructionsOptions as Oc, ResolveDriveHarness as Od, DriverReentry as Of, anytimeReport as Og, CompletionCheckContext as Oh, ChatTransportExecutorOptions as Oi, IsolatedCheckOutputDeclaration as Ol, DetachedTurn as Om, SearchSpec as On, widen as Oo, createAgentEnvironmentProviderRegistry as Op, InteractiveWorkerOptions as Or, RunAgenticOptions as Os, SurfaceReader as Ot, defaultEdgeTraversalCap as Ou, CodexExecutionPolicy as Ov, TeamProgress as Ox, createRuntimeEventCollector as Oy, CoordinationStats as P, RetainedRunStartMaterial as PC, LoopTeardownFailedPayload as PS, AUTHORITY_MARKERS as P_, SandboxRun as Pa, ReservationFloor as Pb, TrajectoryReport as Pc, SupervisorToolDescriptor as Pd, SpawnResourceReader as Pf, WaterfallReport as Pg, CompletionAnalyst as Ph, AuthoredProfile as Pi, NextPursuitVersion as Pl, DelegationResumeDriver as Pm, searchSpecDigest as Pn, registryScopeAnalyst as Po, UnavailablePausePolicy as Pp, ObservedSessionFacts as Pr, refine as Ps, analystsFromRegistry as Pt, superviseWithTestBrain as Pu, replaySpawnTree as Pv, RetainedInteractiveAdmissionHook as Px, ParkedRun as Py, AgentEnvironmentQuery as Q, RuntimeRunRow as QS, JsonRpcResponse as Q_, startRetainedRun as Qa, MaterializedExecutionIdentity as Qb, ShapeBudget as Qc, DeliveredOutput as Qd, CliSeam as Qf, WorkerWatchOptions as Qg, readCodexRolloutSession as Qh, StructuralRolloutPolicy as Qi, PursuitNodeCost as Ql, DelegationProgress as Qm, readWorkerSteerRequests as Qn, SuperviseDispatchOptions as Qo, SandboxServedBackend as Qp, graphCorpusSummary as Qr, HarvestError as Qs, composeWorkerEvidence as Qt, createFileRunContext as Qu, SpawnJournal as Qv, BoundHarnessSession as Qx, Settled as Qy, GraphSubtasks as R, LoopWinner as RS, PeerMailEvent as R_, SandboxLineage as Ra, ReservationStage as Rb, Widen as Rc, AllWorkersStalledOptions as Rd, McpServerOptions as Rf, runAgentRounds as Rg, completionAuthorizes as Rh, assessAuthoredProfile as Ri, PursuitVersions as Rl, DelegationTaskQueueOptions as Rm, TRACE_ROOT_SCHEMA as Rn, createMcpEnvironment as Ro, BridgeSeam as Rp, GraphFileResolutionError as Rr, AuthoredStrategy as Rs, worktreeFanout as Rt, SuperviseOptions as Ru, SpawnJournalReadResult as Rv, StartRetainedInteractiveRunOptions as Rx, readRunParking as Ry, RuntimeStreamEvent as S, RetainedRunAdmission as SC, Iteration as SS, AuthorizedDownMessage as S_, EvolutionReport as Sa, SettledUsage as Sb, LoopUntilState as Sc, supervisorAgentWithTestBrain as Sd, ContinuationPolicy as Sf, renderLeaderboardMarkdown as Sg, FileDelegationStore as Sh, graphDesignerExtraTools as Si, readDeclaredCheck as Sl, DelegationExecutor as Sm, validateStoredGraph as Sn, flatWidenGate as So, sharedBoxPlacement as Sp, pickBestProfile as Sr, AgenticRunResult as Ss, createVerifierEnvironment as St, RunGraphTestOptions as Su, LocalHarnessResult as Sv, createPushTraceSource as Sx, RuntimeStreamEventCollector as Sy, RuntimeFailureOwner as T, RetainedRunCancellation as TC, LoopIterationDispatchPayload as TS, DownMessageAuthorizationInput as T_, StrategyTournament as Ta, SpawnForestInDoubtNode as Tb, PanelSpec as Tc, DriveHarness as Td, VerdictSummary as Tf, AnytimeReport as Tg, CoderTask as Th, delegate as Ti, IsolatedCheckOptions as Tl, SiblingSandboxExecutorOptions as Tm, createFencedSqlRunContext as Tn, pipeline as To, sharedWorkerClientName as Tp, recordProfileRun as Tr, AgenticTool as Ts, SurfaceDiff as Tt, runGraphWithTestBrain as Tu, LOCAL_HARNESSES as Tv, DEFAULT_STALL_AFTER_MS as Tx, RuntimeTelemetryOptions as Ty, SpawnPreflightContext as U, SandboxClient as US, PeerMailSendInput as U_, acquireSandbox as Ua, ExecutorContext as Ub, DefinePersona as Uc, StopRule as Ud, McpEventSource as Uf, WorktreeProfileMaterializationReceipt as Ug, CodexRolloutIdentity as Uh, CheckExecChannel as Ui, SuperviseGraphPursuitOptions as Ul, DelegateResearchArgs as Um, runToolSpans as Un, BenchmarkReport as Uo, resolveMcpServerLaunch as Up, GraphCorpusGroup as Ur, StrategyResult as Us, WorkerInteractiveBinding as Ut, SeatSelection as Uu, RunCancelRequest as Uv, HarnessTranscriptEvidence as Ux, ResourceSpend as Uy, SettledWorker as V, OutputAdapter as VS, PeerMailReadout as V_, SandboxEvidenceReceipt as Va, createBudgetPool as Vb, WidenSpec as Vc, ProgressView as Vd, EventSubscriptionStore as Vf, WorktreeCommandResult as Vg, stopSentinel as Vh, supervisorInstructions as Vi, VersionVerdict as Vl, DelegateCodeArgs as Vm, TraceSummary as Vn, BenchmarkConfig as Vo, envKeyProvider as Vp, LoadedGraphFile as Vr, StrategyArtifacts as Vs, createWorktreeCliExecutor as Vt, SuperviseRegistryTable as Vu, RunState as Vv, HarnessTranscriptBinding as Vx, BudgetViolation as Vy, SpawnRefusal as W, SelectionReceipt as WS, PeerMailbox as W_, S3PrivateCasStore as Wa, ExecutorFactory as Wb, DefinePersonaInput as Wc, allWorkersStalled as Wd, DelegateError as Wf, GitRunner as Wg, CodexRolloutSession as Wh, CheckOutcome as Wi, SupervisePursuitError as Wl, DelegateResearchConfig as Wm, WorkerCancellation as Wn, BenchmarkStrategySummary as Wo, resolveSecretEnv as Wp, GraphCorpusSummary as Wr, adaptiveRefine as Ws, WorkerInteractiveProviderSource as Wt, SeatSelectionInput as Wu, RunCancellation as Wv, HarnessTranscriptFile as Wx, Spend as Wy, AgentEnvironmentEvent$1 as X, RuntimeRunOptions as XS, peerMailVerbNames as X_, reconnectRetainedRun as Xa, ExecutorMaterialization as Xb, RunPersonified as Xc, UNPROVEN_CONTINUITY as Xd, createExecutor as Xf, ManagerWake as Xg, createCodexRolloutStoreReader as Xh, StructuralRolloutConfig as Xi, PursuitObserverDelivery as Xl, DelegationHistoryArgs as Xm, readWorkerCancellation as Xn, LoopDispatchOptions as Xo, mapSandboxEvent as Xp, StoredGraphInput as Xr, strategyAuthorSystemPrompt as Xs, WorkerEvidenceInput as Xt, RunContext as Xu, ResultBlobStore as Xv, harnessTranscriptArtifact as Xx, NodeStatus as Xy, AgentEnvironmentCapabilities$1 as Y, RuntimeRunHandle as YS, peerMailTools as Y_, PrivateCasNamespaceRetirement as Ya, ExecutorExecutionBinding as Yb, PersonaExecutors as Yc, ReentryTaskInput as Yd, ExecutorConfig as Yf, ManagerReentryState as Yg, addHarnessUsage as Yh, RepairStop as Yi, RunReopen as Yl, DelegationFeedbackSnapshot as Ym, legacySupervisorRunDir as Yn, LoopCampaignDispatchOptions as Yo, createSandboxToolPartState as Yp, StoredGraph as Yr, strategyAuthorContract as Ys, VERIFY_TAIL_CHARS as Yt, InMemoryRunContextOptions as Yu, InMemorySpawnJournal as Yv, captureHarnessTranscript as Yx, NodeSnapshot as Yy, AgentEnvironmentProvider$1 as Z, RuntimeRunPersistenceAdapter as ZS, JsonRpcMessage as Z_, recoverRetainedRun as Za, ExecutorNodeContext as Zb, RunPersonifiedOptions as Zc, composeReentryTask as Zd, CliInPlaceSeam as Zf, ToolOutcomeEvent as Zg, harnessUsageIsEmpty as Zh, StructuralRolloutMessage as Zi, PursuitCostProvenance as Zl, DelegationHistoryEntry as Zm, readWorkerSteerAcknowledgement as Zn, LoopOptionsForDispatch as Zo, mapSandboxToolEvent as Zp, digestOfGraph as Zr, HarvestCorpusOptions as Zs, closingWorkerNote as Zt, RunContextLease as Zu, SpawnEvent as Zv, persistHarnessTranscript as Zx, RetainedExecutionState as Zy, RunAgentTaskOptions as _, RecoverRetainedRunResult as _C, UsageEvent as _S, QuestionPolicy as __, CollectedAgentTurn as _a, UnconfirmedTeardown as _b, EqualKVerdict as _c, createSupervisorSpanRecorder as _d, ContinuationAppend as _f, ProfileKeyOf as _g, researcherProfile as _h, queueOf as _i, assertDeclaredCheck as _l, DelegateRunCtx as _m, parseWorkerToolTraceArtifact as _n, runPersonified as _o, SharedBoxCloseReceipt as _p, provisionSupervisor as _r, StdioMcpConnection as _s, SandboxInstance$1 as _t, GraphEdgeCapError as _u, AnalyzeOnSettleRoute as _v, WorkerTraceEvidence as _x, OtelSpan as _y, AgentKnowledgeProvider as a, AgentEvalErrorCode as aC, RetainedHarnessTranscriptDescriptor as aS, RouteGate as a_, defaultStructuralRolloutPolicy as aa, FleetYield as ab, ObserveInput as ac, createPromptRegistry as ad, CoordinationMcpHandle as af, CodeModeToolset as ag, UiAuditLensFilter as ah, lookupGraph as ai, LeaderboardBenchTask as al, ToolSpec as am, GitWorkspaceOptions as an, ResolveSandboxClientOptions as ao, DEFAULT_SANDBOX_STEERING_MAX_TURNS as ap, RemoteSupervisorCancelResult as ar, TerminalDecision as as, AgentTurnResult$2 as at, PursuitRunTotals as au, EventBus as av, Executor as ax, RootSignal as ay, RuntimeSession as b, RetainedInteractiveIntentAdmission as bC, Driver as bS, questionEscalationTargets as b_, streamAgentTurn as ba, WorkerEventEntry as bb, FanoutWinnerSelector as bc, readRootStreamReceipt as bd, ContinuationPanelInput as bf, pairwiseSignificance as bg, DelegationPersistenceError as bh, DesignerToolsEnv as bi, declaredCheckDigest as bl, UiAuditorDelegate as bm, createRootHandle as bn, renderCorpusToInstructions as bo, SharedBoxStats as bp, bestProfileFor as br, materializeLocalMcp as bs, makeFinding$1 as bt, GraphTopology as bu, DefinedAnalystRecord as bv, ToolStepInput as bx, loopEventToOtelSpan as by, AgentTaskContext as c, JudgeError as cC, retainHarnessTranscript as cS, ChildQuestionInbox as c_, officialChecksFromMeta as ca, ProviderModelExecutionEvidence as cb, observe as cc, dumbContinuationPassPrompt as cd, CoordinationTransportOptions as cf, runCodeMode as cg, UiFindingScreenshot as ch, recordStoredGraphRun as ci, LeaderboardIterationInfo as cl, ToolLoopCompaction as cm, WorkspaceCommit as cn, profileOptimizerModelCall as co, SteerableSandboxSession as cp, RemoteSupervisorSteerResult as cr, InProcessOnPrompt as cs, CheckpointRequest as ct, FileObserverJournal as cu, WatchTraceOptions as cv, ExecutorCancellationRequest as cx, SupervisorOpts as cy, AgentTaskStatus as d, NativeContextContinuationExecution as dC, ProviderWorkspaceCaptureReceipt as dS, QuestionDecision as d_, selectBestIndex as da, SupervisedResult as db, CombinatorShape as dc, naiveContinuationPrompt as dd, CoordinationRejectReason as df, Interval as dg, KnowledgeItem as dh, GraphTriggerBinding as di, LeaderboardScore as dl, ToolLoopToolCall as dm, jjWorkspace as dn, PrivateCasOffloadReport as do, Inbox as dp, connectRemoteSupervisor as dr, inProcessSandboxClient as ds, ExecRequest as dt, ObserverRecordKind as du, AnalystAssignmentRecord as dv, HeldEnvironment as dx, createPropagatingTraceEmitter as dy, startRuntimeRun as eC, HarnessFileBinding as eS, GateDecision as e_, VisibleCheck as ea, SpawnPrior as eb, HarvestReport as ec, withRunContext as ed, FinalizerSettled as ef, decodeHarnessUsage as eg, DelegationStatus as eh, graphFromStored as ei, ShapeRegistry as el, extractLlmCallEvent as em, spendFromUsageEvents as en, ClaimRetainedInteractiveControlOptions as eo, CliWorktreeSeam as ep, supervisorRunDir as er, loopCampaignDispatch as es, AgentEnvironmentSummary as et, PursuitNodeProjection as eu, McpToolDescriptor as ev, NodeExecutionIdentity as ex, WorkspaceCheckpointMarker as ey, BackendErrorDetail as f, NativeContextContinuationHandle as fC, ProviderWorkspaceCaptureResult as fS, QuestionEscalationOutcome as f_, structuralRollout as fa, Agent as fb, Corpus as fc, promptHandle as fd, CoordinationDeliveryEvidence as ff, Leaderboard as fg, KnowledgeUpdate as fh, DispatchReport as fi, LeaderboardSpec as fl, FeedbackEvent as fm, localShell as fn, PrivateCasOptions as fo, InboxLease as fp, connectRemoteSupervisorControl as fr, HttpMcpServerSpec as fs, ExecResult as ft, observerRecordDigest as fu, AnalystFindingEvent as fv, HeldForContinuation as fx, readTraceContextFromEnv as fy, OpenAIChatToolChoice as g, RecoverRetainedRunOptions as gC, TokenUsageProvenance as gS, QuestionOption as g_, AgentTurnUsage as ga, Scope as gb, EqualKOnCostOptions as gc, SupervisorSpanRecorder as gd, CheckRead as gf, PairwiseVerdict as gg, ResearcherProfileOptions as gh, freeSlots as gi, DeclaredCheckStateCapture as gl, CoderReviewer as gm, WorkerToolTraceArtifact as gn, definePersona as go, DEFAULT_SHARED_BOX_WORKERS as gp, SupervisorCleanupReceipt as gr, McpSpawnFault as gs, SandboxEvent$1 as gt, GraphEdge as gu, AnalystRunContext as gv, WorkerInteractiveUnavailableReason as gx, OtelExporter as gy, OpenAIChatTool as h, RecoverRetainedRunIntentOptions as hC, ExecutorToolCall as hS, QuestionLevel as h_, AgentTurnInput$1 as ha, ResumedWork as hb, EqualKArm as hc, SupervisorSpanOutcome as hd, PriorCoordination as hf, PairwiseOptions as hg, ResearchTask as hh, RollingDispatchOptions as hi, DeclaredCheckPlacement as hl, CoderReview as hm, analyzeTrace as hn, trajectoryReport as ho, DEFAULT_SHARED_BOX_RESOURCES as hp, ProvisionedSupervisor as hr, McpListedTool as hs, ResourceRequest as ht, EdgeTraversal as hu, AnalystRegistry$1 as hv, WorkerInteractiveSession as hx, OtelExportStats as hy, AgentExecutionBackend as i, AgentEvalError$1 as iC, RetainedHarnessTranscriptCapture as iS, RouteFlowEvent as i_, defaultExtractCandidate as ia, TreeView as ib, ObservationError as ic, analyzesFindingsReportPrompt as id, CoordinationControlAccess as if, CodeModeToolsOptions as ig, ResearchOutputShape as ih, loadGraph as ii, LeaderboardBenchScore as il, RouterRouting as im, withUntrackedArtifacts as in, startRetainedInteractiveRun as io, SandboxSeam as ip, RemoteSupervisorAgent as ir, TERMINAL_DECISIONS as is, AgentSessionStatus$1 as it, PursuitRunProjection as iu, BusStats as iv, EnvironmentTeardownReceipt as ix, RootSegmentEntry as iy, DriverFailureClass as j, RetainedRunIntentAdmission as jC, LoopResult as jS, MapOnSettleRoute as j_, OpenSandboxRunBeforeStartContext as ja, BudgetPoolRestore as jb, ScopeWidenGate as jc, SupervisorAgentTestDeps as jd, ResolvedSpawnResourcePath as jf, plateauLength as jg, gateOnDeliverable as jh, chatTransportExecutor as ji, IsolatedCheckOutputOptions as jl, DelegationArgs as jm, assertSearchSpec as jn, assertTraceDerivedFindings as jo, ProviderLeafOut as jp, InPlaceCliExecutorOptions as jr, SurfaceScore as js, fsSurfaceReader as jt, RUN_FORK_CORRELATION_KEYS as ju, SqlAdapter as jv, readWorkerProgress as jx, DeadlineCheckIn as jy, DriverAttemptStop as k, RetainedRunEventOptions as kC, LoopPlanDescription as kS, WorkerResumeContext as k_, strategyTournament as ka, loadSpawnForest as kb, ScopeAnalyst as kc, ResolveSupervisorTools as kd, DriverRetryPolicy as kf, areaUnderCurve as kg, DeliverableSpec as kh, ChatTransportTool as ki, IsolatedCheckOutputEvidence as kl, RunDetachedTurnOptions as km, SearchSpecInputs as kn, CreateScopeAnalystOptions as ko, resolveAgentEnvironmentProvider as kp, InteractiveWorkerResult as kr, StrategyMessage as ks, WatchedSurface as kt, GraphRouteError as ku, SqlRunOwnershipError as kv, WorkerProgress as kx, createRuntimeStreamEventCollector as ky, AgentTaskRunResult as l, NotFoundError as lC, ProviderWorkspaceAttemptProvenance as lS, EscalateQuestion as l_, resolveEntrySymbol as la, RootProviderModelEvidence as lb, renderReport as lc, formatPromptHandle as ld, serveCoordinationMcp as lf, AxisScoresOf as lg, UiFindingSeverity as lh, storedGraphDigests as li, LeaderboardRunContext as ll, ToolLoopCompactionOptions as lm, WorkspaceRun as ln, PrivateCasArtifactPort as lo, createSteerableSandboxSession as lp, RemoteSupervisorTree as lr, InProcessPromptCtx as ls, CreateAgentEnvironmentInput$1 as lt, ObserverJournal as lu, defaultToolDetectors as lv, ExecutorResult as lx, WorkerTraceResolver as ly, OpenAIChatResponseFormat as m, ReconnectRetainedRunOptions as mC, ExecutorProgressEvent as mS, QuestionEscalationTarget as m_, AgentTurnBackend as ma, ResumedKeyState as mb, CorpusRecord as mc, SupervisorSpanOptions as md, FileCoordinationLog as mf, LeaderboardRow as mg, ResearchSource as mh, DispatchUnit as mi, DeclaredCheck as ml, CoderDelegate as mm, TrajectoryAnalysis as mn, equalKOnCost as mo, PeerInboxMessage as mp, ProvisionSupervisorRequest as mr, MaterializeLocalMcpOptions as ms, PlacementInfo as mt, EdgeDeliveryOutcome as mu, AnalystLensOutput as mv, Runtime as mx, OtelExportConfig as my, AgentBackendContext as n, Redactor as nC, HarnessTranscriptReadLimits as nS, JsonScalar as n_, compareCheckOutcomes as na, SubtreeResult as nb, Observation as nc, PromptRegistry as nd, bestDelivered as nf, CodeModeTool as ng, FeedbackRating as nh, graphRunsFor as ni, providerAsSandboxClient as nl, RouterResponseReceipt as nm, UntrackedCopyStats as nn, reconnectRetainedInteractiveRun as no, RouterSeam as np, workerInboxFileFromEventDir as nr, superviseDispatch as ns, AgentSession as nt, PursuitNodeUsage as nu, BusEvent as nv, RootMaterialization as nx, RootHandle as ny, AgentRuntimeEvent as o, BackendTransportError as oC, readBoundHarnessSessions as oS, RouteMatch as o_, filterAuthoredAsserts as oa, NoWinnerError as ob, ObserveOptions as oc, delegatesWorkerBriefPrompt as od, CoordinationPublicAddress as of, RunCodeModeOptions as og, UiAuditorDelegationOutput as oh, pickBestGraph as oi, LeaderboardBenchmarkAdapter as ol, ToolLoopCallContext as om, Shell as on, resolveSandboxClient as oo, SandboxSteeringOptions as op, RemoteSupervisorControl as or, defaultSelectWinner as os, AnalystFinding$1 as ot, PursuitStatus as ou, PublishOptions as ov, ExecutorAccounting as ox, SteerableRootHandle as oy, KnowledgeReadinessDecision as p, NativeContextContinuationInput as pC, ProviderWorkspaceEntryMetadata as pS, QuestionEscalationRecord as p_, visibleCheckScore as pa, ReenteredWorkers as pb, CorpusFilter as pc, SupervisorSpanAttributes as pd, CoordinationLog as pf, LeaderboardOptions as pg, ResearchOutput as ph, DispatchStopReason as pi, defineLeaderboard as pl, FeedbackStore as pm, runInWorkspace as pn, createPrivateCasArtifactPort as po, InboxMessage as pp, ProvisionSupervisorConnection as pr, LocalMcpMaterialization as ps, ForkRequest as pt, AgentGraph as pu, AnalystKind as pv, HeldRelease as px, OtelAttribute as py, WorkerSpawnContext as q, RuntimeRunCompleteInput as qS, createPeerMailbox as q_, PrivateCasNamespaceInventory as qa, AgentExecutionRef as qb, Persona as qc, plateau as qd, createDelegateHandler as qf, EventAcknowledgement as qg, CodexRolloutTurn as qh, CheckSource as qi, superviseGraphPursuit as ql, DelegateUiAuditRoute as qm, WriteWorkerSteerOptions as qn, printBenchmarkReport as qo, SandboxOutputMarker as qp, GraphRunRecord as qr, defineStrategy as qs, EVIDENCE_MAX_CHARS as qt, subscriptionUsageLimitSignal as qu, readRunCancellation as qv, ReadableEnvironment as qx, Handle as qy, AgentBackendInput as r, defaultRedactor as rC, HarnessTranscriptReadOptions as rS, RouteFlow as r_, composeCheckSources as ra, SubtreeSummary as rb, ObservationAnalysis as rc, RegisteredPrompt as rd, CoordinationAuthentication as rf, CodeModeToolContext as rg, FeedbackRefersTo as rh, listGraphRuns as ri, DefinedLeaderboard as rl, RouterTransportConfig as rm, copyUntrackedIntoClone as rn, recoverRetainedInteractiveRun as ro, RouterToolsSeam as rp, writeWorkerSteer as rr, LocalSandboxClientOptions as rs, AgentSessionRef as rt, PursuitProjection as ru, BusRecord as rv, UnknownMaterializationReason as rx, RootSegment as ry, AgentRuntimeEventSink as s, ConfigError as sC, resolveHarnessTranscriptCapture as sS, RouteWhen as s_, modelAuthoredChecks as sa, ProviderModelAttemptEvidence as sb, defaultAnalystInstruction as sc, dumbContinuationFailPrompt as sd, CoordinationReadAccess as sf, createCodeModeTools as sg, UiFinding as sh, recordGraphRun as si, LeaderboardFlagSpec as sl, ToolLoopChat as sm, Workspace as sn, profileChatClient as so, SteerableSandboxArgs as sp, RemoteSupervisorReader as sr, inlineSandboxClient as ss, CheckpointRef as st, projectPursuit as su, createEventBus as sv, ExecutorCancellation as sx, Supervisor as sy, AgentAdapter as t, contentAddress as tC, HarnessTranscriptMetadata as tS, GateRequest as t_, canDisplace as ta, SpawnRejection as tb, harvestCorpus as tc, PromptHandle as td, SupervisorFinalizer as tf, CodeModeStore as tg, DelegationStatusResult as th, graphRegistry as ti, ProviderAsSandboxClientOptions as tl, sumSandboxUsage as tm, CopyOptions as tn, claimRetainedInteractiveControl as to, ProviderSeam as tp, supervisorRunsRoot as tr, loopDispatch as ts, AgentProfile$2 as tt, PursuitNodeTiming as tu, McpTransport as tv, ProfileMaterializationReceipt as tx, RecursiveReservationPolicy as ty, AgentTaskSpec as u, ValidationError as uC, ProviderWorkspaceCaptureProvenance as uS, Question as u_, sandboxCheckRunner as ua, RootStreamReceipt as ub, AssertTraceDerivedFindings as uc, kernelPromptRegistry as ud, CoordinationHttpAudit as uf, GroupOf as ug, UiLens as uh, taskShapeDigest as ui, LeaderboardScenario as ul, ToolLoopMessageRecord as um, gitWorkspace as un, PrivateCasDurableStore as uo, AuthorityInboxMessage as up, RemoteWorkerEvents as ur, InProcessSandboxClientOptions as us, CreateSandboxOptions$1 as ut, ObserverRecord as uu, watchTrace as uv, ExecutorTeardownWarning as ux, TraceContext as uy, RunAgentTaskStreamOptions as v, RetainedInteractiveAdmission as vC, AgentRunSpec as vS, QuestionRecord as v_, StreamAgentTurnOptions as va, WidenGate as vb, FanoutOptions as vc, RootStreamRecord as vd, ContinuationEntry as vf, ScoreOf as vg, DelegationTraceSpan as vh, rollingDispatch as vi, checkProgramDigest as vl, DetachedSessionDelegateOptions as vm, DEFAULT_MAX_DEPTH as vn, FileCorpus as vo, SharedBoxPlacement as vp, ProfileRegistryDir as vr, StdioMcpServerSpec as vs, WorkspaceRequest as vt, GraphNode as vu, AuthoredAnalystDefinition as vv, WorkerTraceUnavailableReason as vx, buildLoopOtelSpans as vy, RuntimeFailureCode as w, RetainedRunCancelOptions as wC, LoopEndedPayload as wS, ContinuityMode as w_, StrategyEvolutionConfig as wa, SpawnForestEvent as wb, PanelJudge as wc, CoordinationVerbs as wd, PanelFinding as wf, renderPairwiseMarkdown as wg, CoderOutput as wh, defaultDelegateBudget as wi, IsolatedCheckBoxEvidence as wl, FleetWorkspaceExecutorOptions as wm, SqlRunContextOptions as wn, panel as wo, sharedBoxRefusal as wp, profileRunsForName as wr, AgenticTask as ws, HarvestSurfaceDiffsOptions as wt, runGraph as wu, runLocalHarness as wv, ActivityNote as wx, RuntimeStreamEventSummary as wy, RuntimeSessionStore as x, RetainedInteractiveStartedAdmission as xC, ExecCtx as xS, AuthorizeDownMessage as x_, EvolutionAuthor as xa, WorkerEventPage as xb, LoopUntilSpec as xc, supervisorAgent as xd, ContinuationPanelResult as xf, renderLeaderboardHtml as xg, DelegationStore as xh, GraphDesignerExtraTools as xi, declaredCheckJudge as xl, detachedSessionDelegate as xm, ValidateStoredGraphOptions as xn, fanout as xo, SharedWorkerIdentity as xp, loadProfile as xr, AgenticOptions as xs, VerifierEnvironmentOptions as xt, RunGraphOptions as xu, CodexExecutionEvidence as xv, TraceSource as xx, RuntimeEventCollector as xy, RuntimeCanonicalStreamEvent as y, RetainedInteractiveEnvironmentAdmission as yC, DefaultVerdict$2 as yS, QuestionUrgency as y_, collectAgentTurn as ya, WorkerEventCursor as yb, FanoutSynthesis as yc, readRootStream as yd, ContinuationPanel as yf, leaderboard as yg, composeLoopTraceEmitters as yh, DesignerRunGraphEnv as yi, declaredCheckDeliverable as yl, DetachedWinnerSelection as ym, createSupervisor as yn, InMemoryCorpus as yo, SharedBoxPlacementOptions as yp, ProfileRunRecord as yr, connectStdioMcp as ys, computeFindingId$1 as yt, GraphResult as yu, AuthoredAnalystLimits as yv, SessionMessageLike as yx, createOtelExporter as yy, MakeWorkerAgent as z, MountManifestEntry as zS, PeerMailLimits as z_, SandboxLineageHandle as za, ReservationTicket as zb, WidenDecision as zc, NoProgressForOptions as zd, createMcpServer as zf, InPlaceHarnessResult as zg, deterministicCompletion as zh, defaultProfileRichnessThresholds as zi, SettledPursuitVersion as zl, SubmitInput as zm, TRACE_SUMMARY_SCHEMA as zn, sanitizeMcpToolSchema as zo, KeyProvider as zp, GraphFileSeat as zr, ShotSpec as zs, WorktreeCliExecutorOptions as zt, SuperviseTestOptions as zu, readSpawnJournal as zv, HARNESS_TRANSCRIPT_SETTLE_TIMEOUT_MS as zx, Budget as zy };
|
|
19472
|
-
//# sourceMappingURL=types-
|
|
19393
|
+
export { AgentEnvironmentStatus as $, SelectionReceipt as $S, PeerMailboxOptions as $_, recoverRetainedRun as $a, ExecutorRegistry as $b, RunPersonifiedOptions as $c, anyOf as $d, DelegateHandlerOptions as $f, AwaitWakeInput as $g, CodexRolloutStoreReader as $h, StructuralRolloutMessage as $i, PursuitCostProvenance as $l, DelegateUiAuditArgs as $m, readWorkerSteerRequests as $n, LoopOptionsForDispatch as $o, secretEnvOfMcpServer as $p, digestOfGraph as $r, HarvestCorpusOptions as $s, settledWorkerOut as $t, SeatStage as $u, cancelRun as $v, HarnessTranscriptFile as $x, SpendChannel as $y, DriverContinuationRecord as A, RetainedInteractiveStartedAdmission as AC, ExecCtx as AS, AuthorizedDownMessage as A_, runStrategyEvolution as Aa, SettledUsage as Ab, RenderCorpusToInstructionsOptions as Ac, supervisorAgentWithTestBrain as Ad, ContinuationPolicy as Af, renderLeaderboardMarkdown as Ag, FileDelegationStore as Ah, ChatTransportExecutorOptions as Ai, IsolatedCheckOutputDeclaration as Al, DelegationExecutor as Am, SearchSpecOwnedOption as An, widen as Ao, sharedBoxPlacement as Ap, InteractiveWorkerResult as Ar, RunAgenticOptions as As, boxSurfaceReader as At, GraphCheckPlacement as Au, LocalHarnessResult as Av, TraceSource as Ax, RuntimeStreamEventCollector as Ay, PeerAuditAccess as B, RetainedRunIntentAdmission as BC, LoopResult as BS, MapSpawnMarker as B_, SandboxLineage as Ba, BudgetReadout as Bb, Widen as Bc, SupervisorNodeContext as Bd, SpawnResourceBytes as Bf, renderAnytimeTable as Bg, mapExecutorResult as Bh, assessAuthoredProfile as Bi, PursuitVersions as Bl, DelegationRecord as Bm, TraceRootArtifact as Bn, createMcpEnvironment as Bo, ProviderPromptOptions as Bp, GraphFileSeat as Br, AuthoredStrategy as Bs, WorktreePatchArtifact as Bt, GraphTopology as Bu, materializeTreeView as Bv, readWorkerProgress as Bx, WorkerSlots as By, RuntimeFailureCause as C, ReconnectRetainedRunOptions as CC, ExecutorProgressEvent as CS, QuestionLevel as C_, EvolutionAuthor as Ca, ResumedWork as Cb, LoopUntilSpec as Cc, SupervisorSpanOutcome as Cd, PriorCoordination as Cf, PairwiseOptions as Cg, ResearchTask as Ch, GraphDesignerExtraTools as Ci, declaredCheckJudge as Cl, CoderReview as Cm, FencedSqlRunContext as Cn, fanout as Co, DEFAULT_SHARED_BOX_RESOURCES as Cp, pickBestProfile as Cr, AgenticOptions as Cs, BoxSurfaceReaderOptions as Ct, SuperviseOptions as Cu, AnalystRegistry$1 as Cv, Runtime as Cx, OtelExportStats as Cy, RetainedPendingCause as D, RetainedInteractiveAdmission as DC, AgentRunSpec as DS, QuestionUrgency as D_, StrategyTournament as Da, WorkerEventCursor as Db, PanelSpec as Dc, readRootStream as Dd, ContinuationPanel as Df, leaderboard as Dg, composeLoopTraceEmitters as Dh, delegate as Di, IsolatedCheckOptions as Dl, DetachedWinnerSelection as Dm, SEARCH_SPEC_CORRELATION_KEY as Dn, pipeline as Do, SharedBoxPlacementOptions as Dp, InteractiveWorkerEnvironment as Dr, AgenticTool as Ds, SurfaceReadOutcome as Dt, GraphCheckNode as Du, AuthoredAnalystLimits as Dv, WorkerTraceUnavailableReason as Dx, createOtelExporter as Dy, EvidencePendingEvent as E, RecoverRetainedRunResult as EC, UsageEvent as ES, QuestionRecord as E_, StrategyEvolutionConfig as Ea, WidenGate as Eb, PanelJudge as Ec, RootStreamRecord as Ed, ContinuationEntry as Ef, ScoreOf as Eg, DelegationTraceSpan as Eh, defaultDelegateBudget as Ei, IsolatedCheckBoxEvidence as El, DetachedSessionDelegateOptions as Em, CompiledSearchSpec as En, panel as Eo, SharedBoxPlacement as Ep, recordProfileRun as Er, AgenticTask as Es, SurfaceReadBox as Et, SuperviseRegistryTable as Eu, AuthoredAnalystDefinition as Ev, WorkerTraceEvidence as Ex, buildLoopOtelSpans as Ey, CoordinationTools as F, RetainedRunDispatchedAdmission as FC, LoopIterationEndedPayload as FS, DownMessageDeliveryOutcome as F_, OpenSandboxRunPromptOptions as Fa, SpawnForestNode as Fb, TrajectoryNode as Fc, ObserveSupervisorNodeEvent as Fd, DriverContractState as Ff, AnytimeTaskCurve as Fg, CheckVerdict as Fh, createChatSessionStore as Fi, JudgedPursuitVersion as Fl, createSiblingSandboxExecutor as Fm, settledToIteration as Fn, createScopeAnalyst as Fo, AgentEnvironmentProviderRegistry as Fp, ObservedSessionFacts as Fr, depthStrategy as Fs, failuresAnalyst as Ft, EdgeTraversal as Fu, CodexTokenUsage as Fv, ExecutorProgress as Fx, SanitizedKnowledgeRequirement as Fy, SpawnRefusalCause as G, StartRetainedRunInEnvironmentOptions as GC, LoopTraceEmitter as GS, PeerMailEnvelope as G_, acquireSandbox as Ga, ReservationShortfall as Gb, DefinePersona as Gc, SupervisorProfile as Gd, McpServer as Gf, RunAgentRoundsOptions as Gg, CompletionVerdict as Gh, CheckExecChannel as Gi, SuperviseGraphPursuitOptions as Gl, DelegationTaskQueue as Gm, WorkerSteerAcknowledgement as Gn, BenchmarkReport as Go, BridgeModelCredential as Gp, GraphCorpusGroup as Gr, StrategyResult as Gs, attachWorker as Gt, runGraphWithTestBrain as Gu, SpawnJournalReadRecord as Gv, RetainedInteractiveRunHandle as Gx, RunParkingRecord as Gy, SpawnPreflight as H, RetainedRunSnapshot as HC, LoopStartedPayload as HS, AUTHORITY_MARKERS as H_, createSandboxLineage as Ha, ReservationFloor as Hb, WidenLineage as Hc, SupervisorToolDescriptor as Hd, SpawnResourceReader as Hf, WaterfallReport as Hg, CompletionAnalyst as Hh, profileRichnessFinding as Hi, VersionJudge as Hl, DelegationResumeDriver as Hm, RunTraceSources as Hn, BenchmarkCell as Ho, UnavailablePausePolicy as Hp, LoadedGraphFile as Hr, Strategy as Hs, AttachWorkerOptions as Ht, RunGraphTestOptions as Hu, replaySpawnTree as Hv, RecoverRetainedInteractiveRunOptions as Hx, ParkedRun as Hy, CoordinationToolsOptions as I, RetainedRunEffect as IC, LoopIterationStartedPayload as IS, DownMessageEvent as I_, SandboxRun as Ia, SpawnForestTree as Ib, TrajectoryReport as Ic, ResolveDriveHarness as Id, DriverReentry as If, anytimeReport as Ig, CompletionCheckContext as Ih, AuthoredProfile as Ii, NextPursuitVersion as Il, DetachedTurn as Im, createScope as In, registryScopeAnalyst as Io, createAgentEnvironmentProviderRegistry as Ip, graphFromSessionFacts as Ir, refine as Is, AuthoredHarness as It, GraphEdge as Iu, CodexExecutionPolicy as Iv, ScopeProgressInput as Ix, createRuntimeEventCollector as Iy, AgentEnvironment$1 as J, MountManifestEntry as JS, PeerMailOutcome as J_, createS3PrivateCasStore as Ja, ReserveOptions as Jb, Outcome as Jc, PlateauOptions as Jd, EventSubscription as Jf, WorktreeCheckRunner as Jg, sentinelCompletion as Jh, CheckRunner as Ji, SupervisedPursuitResult as Jl, SubmitOutput as Jm, cancelWorker as Jn, Environment as Jo, ResolvedMcpServerLaunch as Jp, GraphRunQuery as Jr, authorStrategy as Js, NOTE_MAX_CHARS as Jt, PortableContinuationPolicy as Ju, FileSpawnJournal as Jv, HARNESS_TRANSCRIPT_SETTLE_TIMEOUT_MS as Jx, BudgetOverspend as Jy, SuperviseProfileEntry as K, StartRetainedRunOptions as KC, LoopTraceEvent as KS, PeerMailEvent as K_, S3PrivateCasStore as Ka, ReservationStage as Kb, DefinePersonaInput as Kc, AllWorkersStalledOptions as Kd, McpServerOptions as Kf, runAgentRounds as Kg, completionAuthorizes as Kh, CheckOutcome as Ki, SupervisePursuitError as Kl, DelegationTaskQueueOptions as Km, WorkerSteerRequest as Kn, BenchmarkStrategySummary as Ko, BridgeSeam as Kp, GraphCorpusSummary as Kr, adaptiveRefine as Ks, readWorkerInteractiveBinding as Kt, defaultEdgeTraversalCap as Ku, SpawnJournalReadResult as Kv, RetainedInteractiveStartMaterial as Kx, readRunParking as Ky, GraphSubtaskPreparation as L, RetainedRunEnvironmentAdmission as LC, LoopLineageOptions as LS, WorkerResumeContext as L_, SandboxRunAbortError as La, loadSpawnForest as Lb, TrajectoryReportOptions as Lc, ResolveSupervisorTools as Ld, DriverRetryPolicy as Lf, areaUnderCurve as Lg, DeliverableSpec as Lh, ProfileRichness as Li, NextPursuitVersionInput as Ll, RunDetachedTurnOptions as Lm, ScopeArgs as Ln, observationFromRegistry as Lo, resolveAgentEnvironmentProvider as Lp, graphFileSchema as Lr, runAgentic as Ls, WorktreeFanoutOptions as Lt, GraphEdgeCapError as Lu, SqlRunOwnershipError as Lv, TeamProgress as Lx, createRuntimeStreamEventCollector as Ly, DriverRepromptRefusal as M, RetainedRunAdmissionHook as MC, LoopDecisionPayload as MS, ContinuityMode as M_, Deliverable as Ma, SpawnForestEvent as Mb, ScopeAnalyzeInput as Mc, CoordinationVerbs as Md, PanelFinding as Mf, renderPairwiseMarkdown as Mg, CoderOutput as Mh, ChatWorkerSeamOptions as Mi, IsolatedCheckOutputFailure as Ml, FleetWorkspaceExecutorOptions as Mm, compileSearchSpec as Mn, RegistryAnalyzeProjection as Mo, sharedBoxRefusal as Mp, InPlaceCliExecutorOptions as Mr, StrategyShotResult as Ms, harvestSurfaceDiffs as Mt, GraphFromStoredOptions as Mu, runLocalHarness as Mv, ActivityLog as Mx, RuntimeStreamEventSummary as My, BlockedToolReport as N, RetainedRunCancelOptions as NC, LoopEndedPayload as NS, DownMessageAuthorizationInput as N_, OpenSandboxRunBeforeStartContext as Na, SpawnForestInDoubtNode as Nb, ScopeWidenGate as Nc, DriveHarness as Nd, VerdictSummary as Nf, AnytimeReport as Ng, CoderTask as Nh, chatTransportExecutor as Ni, IsolatedCheckOutputOptions as Nl, SiblingSandboxExecutorOptions as Nm, searchPresets as Nn, assertTraceDerivedFindings as No, sharedWorkerClientName as Np, createInPlaceCliExecutor as Nr, SurfaceScore as Ns, AnalystAuthoring as Nt, AgentGraph as Nu, LOCAL_HARNESSES as Nv, ActivityNote as Nx, RuntimeTelemetryOptions as Ny, DriverAttemptRecord as O, RetainedInteractiveEnvironmentAdmission as OC, DefaultVerdict$2 as OS, questionEscalationTargets as O_, TournamentCell as Oa, WorkerEventEntry as Ob, PanelVerdict as Oc, readRootStreamReceipt as Od, ContinuationPanelInput as Of, pairwiseSignificance as Og, DelegationPersistenceError as Oh, ChatCompletionsTransport as Oi, IsolatedCheckResult as Ol, UiAuditorDelegate as Om, SearchSpec as On, selectValidWinner as Oo, SharedBoxStats as Op, InteractiveWorkerKeyInput as Or, ArtifactHandle as Os, SurfaceReader as Ot, GraphCheckNodes as Ou, DefinedAnalystRecord as Ov, SessionMessageLike as Ox, loopEventToOtelSpan as Oy, CoordinationStats as P, RetainedRunCancellation as PC, LoopIterationDispatchPayload as PS, DownMessageDeliveryAttempt as P_, OpenSandboxRunOptions as Pa, SpawnForestMissingTree as Pb, SteerContext as Pc, DriveHarnessOwnerContext as Pd, admitContinuationPolicy as Pf, AnytimeStrategySummary as Pg, CheckUnavailableError as Ph, chatWorkerSeam as Pi, validateIsolatedCheckOutputs as Pl, createFleetWorkspaceExecutor as Pm, searchSpecDigest as Pn, buildSteerContext as Po, AgentEnvironmentProviderRef as Pp, GraphSessionObservationOptions as Pr, breadthStrategy as Ps, analystsFromRegistry as Pt, EdgeDeliveryOutcome as Pu, LocalHarness as Pv, DEFAULT_STALL_AFTER_MS as Px, SanitizedKnowledgeReadinessReport as Py, AgentEnvironmentQuery as Q, SandboxClient as QS, PeerMailbox as Q_, reconnectRetainedRun as Qa, ExecutorFactory as Qb, RunPersonified as Qc, allWorkersStalled as Qd, DelegateError as Qf, GitRunner as Qg, CodexRolloutSession as Qh, StructuralRolloutConfig as Qi, PursuitObserverDelivery as Ql, DelegateResearchConfig as Qm, readWorkerSteerAcknowledgement as Qn, LoopDispatchOptions as Qo, resolveSecretEnv as Qp, StoredGraphInput as Qr, strategyAuthorSystemPrompt as Qs, composeWorkerEvidence as Qt, SeatSelectionInput as Qu, RunCancellation as Qv, HarnessTranscriptEvidence as Qx, Spend as Qy, GraphSubtasks as R, RetainedRunEventOptions as RC, LoopPlanDescription as RS, MapItemFailurePolicy as R_, TurnResult as Ra, BudgetPool as Rb, Verify as Rc, SupervisorAgentDeps as Rd, ResolveSpawnResourcePathsResult as Rf, bestSoFar as Rg, ExecutorResultMapping as Rh, ProfileRichnessThresholds as Ri, PursuitVersionChain as Rl, runDetachedTurn as Rm, TRACE_ROOT_SCHEMA as Rn, McpEndpoint as Ro, ProviderExecutorOptions as Rp, graphRouteWhenSchema as Rr, sample as Rs, worktreeFanout as Rt, GraphNode as Ru, openSqlRunStore as Rv, WorkerProgress as Rx, sanitizeKnowledgeReadinessReport as Ry, RuntimeStreamEvent as S, NativeContextContinuationInput as SC, ProviderWorkspaceEntryMetadata as SS, QuestionEscalationTarget as S_, streamAgentTurn as Sa, ResumedKeyState as Sb, FanoutWinnerSelector as Sc, SupervisorSpanOptions as Sd, FileCoordinationLog as Sf, LeaderboardRow as Sg, ResearchSource as Sh, DesignerToolsEnv as Si, declaredCheckDigest as Sl, CoderDelegate as Sm, validateStoredGraph as Sn, renderCorpusToInstructions as So, PeerInboxMessage as Sp, loadProfile as Sr, materializeLocalMcp as Ss, createVerifierEnvironment as St, AuthorizedSpawnContext as Su, AnalystLensOutput as Sv, HeldRelease as Sx, OtelExportConfig as Sy, RuntimeFailureOwner as T, RecoverRetainedRunOptions as TC, TokenUsageProvenance as TS, QuestionPolicy as T_, EvolutionStrategy as Ta, UnconfirmedTeardown as Tb, Panel as Tc, createSupervisorSpanRecorder as Td, ContinuationAppend as Tf, ProfileKeyOf as Tg, researcherProfile as Th, DelegateOptions as Ti, IsolatedCheckBox as Tl, DelegateRunCtx as Tm, createFencedSqlRunContext as Tn, loopUntil as To, SharedBoxCloseReceipt as Tp, profileRunsForName as Tr, AgenticSurface as Ts, SurfaceDiff as Tt, SuperviseRegistry as Tu, AnalyzeOnSettleRoute as Tv, WorkerInteractiveUnavailableReason as Tx, OtelSpan as Ty, SpawnPreflightContext as U, RetainedRunStartMaterial as UC, LoopTeardownFailedPayload as US, DEFAULT_PEER_MAIL_LIMITS as U_, SandboxEvidenceReceipt as Ua, ReservationHolder as Ub, WidenSpec as Uc, SupervisorToolInvocationContext as Ud, environmentReader as Uf, WaterfallSpan as Ug, CompletionEvidence as Uh, supervisorInstructions as Ui, VersionVerdict as Ul, DelegationResumeTick as Um, runToolSpans as Un, BenchmarkConfig as Uo, ProviderPlacement as Up, graphWorkspace as Ur, StrategyArtifacts as Us, WorkerInteractiveBinding as Ut, TraversalContinuity as Uu, SpawnJournalCursor as Uv, RetainedInteractiveAdmissionHook as Ux, RunParkedError as Uy, SettledWorker as V, RetainedRunReplayPoint as VC, LoopSandboxPlacement as VS, MapTraversalEvent as V_, SandboxLineageHandle as Va, LeakedReservation as Vb, WidenDecision as Vc, SupervisorNodeContextSeed as Vd, SpawnResourceRead as Vf, WaterfallCollector as Vg, verdictFromJudgeScore as Vh, defaultProfileRichnessThresholds as Vi, SettledPursuitVersion as Vl, DelegationResumeContext as Vm, TraceSummary as Vn, sanitizeMcpToolSchema as Vo, providerAsExecutor as Vp, LoadGraphFileOptions as Vr, ShotSpec as Vs, createWorktreeCliExecutor as Vt, RunGraphOptions as Vu, FileResultBlobStore as Vv, ReconnectRetainedInteractiveRunOptions as Vx, createWorkerSlots as Vy, SpawnRefusal as W, RetainedRunTurnInput as WC, LoopTokenUsage as WS, PEER_MAIL_WIRE_KEY as W_, AcquireOptions as Wa, ReservationRejection as Wb, WinnerStrategy as Wc, ManagerWakePolicy as Wd, resolveSpawnResourcePaths as Wf, createWaterfallCollector as Wg, CompletionPolicy as Wh, RunCancellationReason as Wi, assertPursuitVersions as Wl, DelegationRunContext as Wm, WorkerCancellation as Wn, BenchmarkLift as Wo, BridgeHarnessStore as Wp, loadGraphFile as Wr, StrategyCtx as Ws, WorkerInteractiveProviderSource as Wt, runGraph as Wu, SpawnJournalReadOptions as Wv, RetainedInteractiveEnvironmentInput as Wx, RunParkingPolicy as Wy, AgentEnvironmentEvent$1 as X, OutputAdapter as XS, PeerMailRefusal as X_, PrivateCasNamespaceObject as Xa, AgentSpec as Xb, PersonaContext as Xc, StopDecision as Xd, McpEventRecord as Xf, WorktreeHarnessResult as Xg, CodexForkBoundary as Xh, CheckSourceCtx as Xi, supervisePursuit as Xl, DelegateCodeConfig as Xm, legacySupervisorRunDir as Xn, runBenchmark as Xo, mcpSecretEnvMetadataKey as Xp, GraphSelection as Xr, sampleThenRefine as Xs, WorkerEvidenceInput as Xt, SeatSegment as Xu, readRunState as Xv, HarnessTranscriptBinding as Xx, ResourceLimit as Xy, AgentEnvironmentCapabilities$1 as Y, MountRecorder as YS, PeerMailReadout as Y_, PrivateCasNamespaceInventory as Ya, createBudgetPool as Yb, Persona as Yc, ProgressView as Yd, EventSubscriptionStore as Yf, WorktreeCommandResult as Yg, stopSentinel as Yh, CheckSource as Yi, superviseGraphPursuit as Yl, DelegateCodeArgs as Ym, fileEscalateQuestion as Yn, printBenchmarkReport as Yo, envKeyProvider as Yp, GraphRunRecord as Yr, defineStrategy as Ys, VERIFY_TAIL_CHARS as Yt, portableContinuationPolicySchema as Yu, RunState as Yv, HarnessTranscriptArtifact as Yx, BudgetViolation as Yy, AgentEnvironmentProvider$1 as Z, RunProvenance as ZS, PeerMailSendInput as Z_, PrivateCasNamespaceRetirement as Za, ExecutorContext as Zb, PersonaExecutors as Zc, StopRule as Zd, McpEventSource as Zf, WorktreeProfileMaterializationReceipt as Zg, CodexRolloutIdentity as Zh, RepairStop as Zi, RunReopen as Zl, DelegateResearchArgs as Zm, readWorkerCancellation as Zn, LoopCampaignDispatchOptions as Zo, resolveMcpServerLaunch as Zp, StoredGraph as Zr, strategyAuthorContract as Zs, closingWorkerNote as Zt, SeatSelection as Zu, RunCancelRequest as Zv, HarnessTranscriptCapture as Zx, ResourceSpend as Zy, RunAgentTaskOptions as _, JudgeError as _C, retainHarnessTranscript as _S, EscalateQuestion as __, AgentTurnInput$1 as _a, RootProviderModelEvidence as _b, EqualKArm as _c, formatPromptHandle as _d, serveCoordinationMcp as _f, AxisScoresOf as _g, UiFindingSeverity as _h, RollingDispatchOptions as _i, DeclaredCheckPlacement as _l, ToolLoopCompactionOptions as _m, parseWorkerToolTraceArtifact as _n, trajectoryReport as _o, createSteerableSandboxSession as _p, SupervisorCleanupReceipt as _r, McpListedTool as _s, SandboxInstance$1 as _t, supervise as _u, defaultToolDetectors as _v, ExecutorCancellationRequest as _x, WorkerTraceResolver as _y, AgentKnowledgeProvider as a, RuntimeRunOptions as aC, harnessTranscriptArtifact as aS, ToolOutcomeEvent as a_, composeCheckSources as aa, RetainedExecutionState as ab, ObservationAnalysis as ac, RunContextLease as ad, composeReentryTask as af, harnessUsageIsEmpty as ag, DelegationHistoryEntry as ah, listGraphRuns as ai, DefinedLeaderboard as al, mapSandboxToolEvent as am, GitWorkspaceOptions as an, recoverRetainedInteractiveRun as ao, CliInPlaceSeam as ap, RemoteSupervisorAgent as ar, LocalSandboxClientOptions as as, AgentTurnResult$2 as at, PursuitProjection as au, JsonRpcMessage as av, ExecutorNodeContext as ax, SpawnEvent as ay, RuntimeSession as b, NativeContextContinuationExecution as bC, ProviderWorkspaceCaptureReceipt as bS, QuestionEscalationOutcome as b_, StreamAgentTurnOptions as ba, Agent as bb, FanoutOptions as bc, promptHandle as bd, CoordinationDeliveryEvidence as bf, Leaderboard as bg, KnowledgeUpdate as bh, rollingDispatch as bi, checkProgramDigest as bl, FeedbackEvent as bm, createRootHandle as bn, FileCorpus as bo, InboxLease as bp, ProfileRunRecord as br, StdioMcpServerSpec as bs, makeFinding$1 as bt, workerFromBackend as bu, AnalystFindingEvent as bv, HeldEnvironment as bx, readTraceContextFromEnv as by, AgentTaskContext as c, RuntimeRunStatus as cC, HARNESS_TRANSCRIPT_READ_LIMITS as cS, GateDecision as c_, filterAuthoredAsserts as ca, SpawnPrior as cb, ObserveOptions as cc, withRunContext as cd, FinalizerSettled as cf, decodeHarnessUsage as cg, DelegationStatus as ch, pickBestGraph as ci, LeaderboardBenchmarkAdapter as cl, extractLlmCallEvent as cm, WorkspaceCommit as cn, resolveSandboxClient as co, CliWorktreeSeam as cp, RemoteSupervisorReader as cr, defaultSelectWinner as cs, CheckpointRequest as ct, PursuitStatus as cu, McpToolDescriptor as cv, MaterializedResources as cx, WorkspaceCheckpointMarker as cy, AgentTaskStatus as d, Redactor as dC, HarnessTranscriptReadLimits as dS, RouteFlow as d_, resolveEntrySymbol as da, SubtreeSummary as db, renderReport as dc, RegisteredPrompt as dd, CoordinationAuthentication as df, CodeModeToolContext as dg, FeedbackRefersTo as dh, storedGraphDigests as di, LeaderboardRunContext as dl, RouterTransportConfig as dm, jjWorkspace as dn, PrivateCasArtifactPort as do, RouterToolsSeam as dp, RemoteWorkerEvents as dr, InProcessPromptCtx as ds, ExecRequest as dt, ObserverJournal as du, BusRecord as dv, RootMaterialization as dx, RootSegment as dy, ValidationCtx as eC, HarnessTranscriptUnavailable as eS, CoordinationEvent as e_, StructuralRolloutPolicy as ea, SpendGap as eb, HarvestError as ec, SelectSeat as ed, noProgressFor as ef, CodexRolloutStoreRef as eg, DelegateUiAuditConfig as eh, graphCorpusSummary as ei, ShapeBudget as el, SandboxLeafOut as em, spendFromUsageEvents as en, startRetainedRun as eo, DelegateResult as ep, safeWorkerFile as er, SuperviseDispatchOptions as es, AgentEnvironmentSummary as et, PursuitNodeCost as eu, claimsAuthority as ev, SpawnModelSubstitution as ex, readRunCancelRequest as ey, BackendErrorDetail as f, defaultRedactor as fC, HarnessTranscriptReadOptions as fS, RouteFlowEvent as f_, sandboxCheckRunner as fa, TreeView as fb, AssertTraceDerivedFindings as fc, analyzesFindingsReportPrompt as fd, CoordinationControlAccess as ff, CodeModeToolsOptions as fg, ResearchOutputShape as fh, taskShapeDigest as fi, LeaderboardScenario as fl, RouterRouting as fm, localShell as fn, PrivateCasDurableStore as fo, SandboxSeam as fp, connectRemoteSupervisor as fr, InProcessSandboxClientOptions as fs, ExecResult as ft, ObserverRecord as fu, BusStats as fv, UnknownMaterializationReason as fx, RootSegmentEntry as fy, OpenAIChatToolChoice as g, ConfigError as gC, resolveHarnessTranscriptCapture as gS, ChildQuestionInbox as g_, AgentTurnBackend as ga, ProviderModelExecutionEvidence as gb, CorpusRecord as gc, dumbContinuationPassPrompt as gd, CoordinationTransportOptions as gf, runCodeMode as gg, UiFindingScreenshot as gh, DispatchUnit as gi, DeclaredCheck as gl, ToolLoopCompaction as gm, WorkerToolTraceArtifact as gn, equalKOnCost as go, SteerableSandboxSession as gp, ProvisionedSupervisor as gr, MaterializeLocalMcpOptions as gs, SandboxEvent$1 as gt, RUN_FORK_CORRELATION_KEYS as gu, WatchTraceOptions as gv, ExecutorCancellation as gx, SupervisorOpts as gy, OpenAIChatTool as h, BackendTransportError as hC, readBoundHarnessSessions as hS, RouteWhen as h_, visibleCheckScore as ha, ProviderModelAttemptEvidence as hb, CorpusFilter as hc, dumbContinuationFailPrompt as hd, CoordinationReadAccess as hf, createCodeModeTools as hg, UiFinding as hh, DispatchStopReason as hi, defineLeaderboard as hl, ToolLoopChat as hm, analyzeTrace as hn, createPrivateCasArtifactPort as ho, SteerableSandboxArgs as hp, ProvisionSupervisorRequest as hr, LocalMcpMaterialization as hs, ResourceRequest$1 as ht, PursuitFork as hu, createEventBus as hv, ExecutorAccounting as hx, Supervisor as hy, AgentExecutionBackend as i, RuntimeRunHandle as iC, captureHarnessTranscript as iS, ManagerWake as i_, compareCheckOutcomes as ia, NodeStatus as ib, Observation as ic, RunContext as id, UNPROVEN_CONTINUITY as if, createCodexRolloutStoreReader as ig, DelegationHistoryArgs as ih, graphRunsFor as ii, providerAsSandboxClient as il, mapSandboxEvent as im, withUntrackedArtifacts as in, reconnectRetainedInteractiveRun as io, createExecutor as ip, writeWorkerSteer as ir, superviseDispatch as is, AgentSessionStatus$1 as it, PursuitNodeUsage as iu, peerMailVerbNames as iv, ExecutorMaterialization as ix, ResultBlobStore as iy, DriverFailureClass as j, RetainedRunAdmission as jC, Iteration as jS, ContinuationInstruction as j_, strategyTournament as ja, SpawnForest as jb, ScopeAnalyst as jc, CoordinationToolFace as jd, ContinuationProfile as jf, renderLeaderboardSvg as jg, FileDelegationStoreOptions as jh, ChatTransportTool as ji, IsolatedCheckOutputEvidence as jl, FleetHandle as jm, assertSearchSpec as jn, CreateScopeAnalystOptions as jo, ROUTER_CLIENT_HEADER as jp, workerFromInteractiveProvider as jr, StrategyMessage as js, fsSurfaceReader as jt, GraphCommandCheck as ju, RunLocalHarnessOptions as jv, createPushTraceSource as jx, RuntimeStreamEventSink as jy, DriverAttemptStop as k, RetainedInteractiveIntentAdmission as kC, Driver as kS, AuthorizeDownMessage as k_, TournamentRow as ka, WorkerEventPage as kb, PipelineStage as kc, supervisorAgent as kd, ContinuationPanelResult as kf, renderLeaderboardHtml as kg, DelegationStore as kh, ChatSessionStore as ki, runIsolatedCheck as kl, detachedSessionDelegate as km, SearchSpecInputs as kn, verify as ko, SharedWorkerIdentity as kp, InteractiveWorkerOptions as kr, CorpusReadbackOptions as ks, WatchedSurface as kt, GraphCheckOutput as ku, CodexExecutionEvidence as kv, ToolStepInput as kx, RuntimeEventCollector as ky, AgentTaskRunResult as l, startRuntimeRun as lC, HarnessFileBinding as lS, GateRequest as l_, modelAuthoredChecks as la, SpawnRejection as lb, defaultAnalystInstruction as lc, PromptHandle as ld, SupervisorFinalizer as lf, CodeModeStore as lg, DelegationStatusResult as lh, recordGraphRun as li, LeaderboardFlagSpec as ll, sumSandboxUsage as lm, WorkspaceRun as ln, profileChatClient as lo, ProviderSeam as lp, RemoteSupervisorSteerResult as lr, inlineSandboxClient as ls, CreateAgentEnvironmentInput$1 as lt, projectPursuit as lu, McpTransport as lv, NodeExecutionIdentity as lx, RecursiveReservationPolicy as ly, OpenAIChatResponseFormat as m, AgentEvalErrorCode as mC, RetainedHarnessTranscriptDescriptor as mS, RouteMatch as m_, structuralRollout as ma, NoWinnerError as mb, Corpus as mc, delegatesWorkerBriefPrompt as md, CoordinationPublicAddress as mf, RunCodeModeOptions as mg, UiAuditorDelegationOutput as mh, DispatchReport as mi, LeaderboardSpec as ml, ToolLoopCallContext as mm, TrajectoryAnalysis as mn, PrivateCasOptions as mo, SandboxSteeringOptions as mp, ProvisionSupervisorConnection as mr, HttpMcpServerSpec as ms, PlacementInfo as mt, observerRecordDigest as mu, PublishOptions as mv, Executor as mx, SteerableRootHandle as my, AgentBackendContext as n, RuntimeRunCompleteInput as nC, ReadableEnvironment as nS, LeadMessage as n_, VisibleCheck as na, NodeId as nb, HarvestReport as nc, InMemoryRunContext as nd, ReentryContinuity as nf, CodexStoreDelta as ng, DelegationError as nh, graphFromStored as ni, ShapeRegistry as nl, SandboxToolPartState as nm, UntrackedCopyStats as nn, ClaimRetainedInteractiveControlOptions as no, createExecutorRegistry as np, supervisorRunsRoot as nr, loopCampaignDispatch as ns, AgentSession as nt, PursuitNodeProjection as nu, isPeerMailEnvelope as nv, ExecutionBindingReceipt as nx, InMemoryResultBlobStore as ny, AgentRuntimeEvent as o, RuntimeRunPersistenceAdapter as oC, persistHarnessTranscript as oS, WorkerWatchOptions as o_, defaultExtractCandidate as oa, Settled as ob, ObservationError as oc, createFileRunContext as od, DeliveredOutput as of, readCodexRolloutSession as og, DelegationProgress as oh, loadGraph as oi, LeaderboardBenchScore as ol, SandboxServedBackend as om, Shell as on, startRetainedInteractiveRun as oo, CliSeam as op, RemoteSupervisorCancelResult as or, TERMINAL_DECISIONS as os, AnalystFinding$1 as ot, PursuitRunProjection as ou, JsonRpcResponse as ov, MaterializedExecutionIdentity as ox, SpawnJournal as oy, KnowledgeReadinessDecision as p, AgentEvalError$1 as pC, RetainedHarnessTranscriptCapture as pS, RouteGate as p_, selectBestIndex as pa, FleetYield as pb, CombinatorShape as pc, createPromptRegistry as pd, CoordinationMcpHandle as pf, CodeModeToolset as pg, UiAuditLensFilter as ph, GraphTriggerBinding as pi, LeaderboardScore as pl, ToolSpec as pm, runInWorkspace as pn, PrivateCasOffloadReport as po, DEFAULT_SANDBOX_STEERING_MAX_TURNS as pp, connectRemoteSupervisorControl as pr, inProcessSandboxClient as ps, ForkRequest as pt, ObserverRecordKind as pu, EventBus as pv, EnvironmentTeardownReceipt as px, RootSignal as py, WorkerSpawnContext as q, LoopWinner as qS, PeerMailLimits as q_, S3PrivateCasStoreOptions as qa, ReservationTicket as qb, LoopShape as qc, NoProgressForOptions as qd, createMcpServer as qf, InPlaceHarnessResult as qg, deterministicCompletion as qh, CheckRunContext as qi, SupervisePursuitOptions as ql, SubmitInput as qm, WriteWorkerSteerOptions as qn, BenchmarkTaskRow as qo, KeyProvider as qp, GraphRegistryDir as qr, assertStrategyContract as qs, EVIDENCE_MAX_CHARS as qt, GraphRouteError as qu, readSpawnJournal as qv, StartRetainedInteractiveRunOptions as qx, Budget as qy, AgentBackendInput as r, RuntimeRunCost as rC, captureBoundHarnessTranscript as rS, ManagerReentryState as r_, canDisplace as ra, NodeSnapshot as rb, harvestCorpus as rc, InMemoryRunContextOptions as rd, ReentryTaskInput as rf, addHarnessUsage as rg, DelegationFeedbackSnapshot as rh, graphRegistry as ri, ProviderAsSandboxClientOptions as rl, createSandboxToolPartState as rm, copyUntrackedIntoClone as rn, claimRetainedInteractiveControl as ro, ExecutorConfig as rp, workerInboxFileFromEventDir as rr, loopDispatch as rs, AgentSessionRef as rt, PursuitNodeTiming as ru, peerMailTools as rv, ExecutorExecutionBinding as rx, InMemorySpawnJournal as ry, AgentRuntimeEventSink as s, RuntimeRunRow as sC, BoundHarnessSession as sS, DecideGate as s_, defaultStructuralRolloutPolicy as sa, SpawnOpts as sb, ObserveInput as sc, createInMemoryRunContext as sd, FinalizeContext as sf, HarnessUsage as sg, DelegationResultPayload as sh, lookupGraph as si, LeaderboardBenchTask as sl, SandboxUsageLedger as sm, Workspace as sn, ResolveSandboxClientOptions as so, CliWorktreeBridgeSeam as sp, RemoteSupervisorControl as sr, TerminalDecision as ss, CheckpointRef as st, PursuitRunTotals as su, McpToolAnnotations as sv, MaterializedModelIdentity as sx, TraceRootReceipt as sy, AgentAdapter as t, Validator as tC, HarnessTranscriptUnavailableReason as tS, EventAcknowledgement as t_, StructuralRolloutResult as ta, Handle as tb, HarvestFailure as tc, subscriptionUsageLimitSignal as td, plateau as tf, CodexRolloutTurn as tg, DelegateUiAuditRoute as th, graphDigest as ti, ShapeContext as tl, SandboxOutputMarker as tm, CopyOptions as tn, startRetainedRunInEnvironment as to, createDelegateHandler as tp, supervisorRunDir as tr, SuperviseOptionsForDispatch as ts, AgentProfile$2 as tt, PursuitNodePlatform as tu, createPeerMailbox as tv, AgentExecutionRef as tx, readRunCancellation as ty, AgentTaskSpec as u, contentAddress as uC, HarnessTranscriptMetadata as uS, JsonScalar as u_, officialChecksFromMeta as ua, SubtreeResult as ub, observe as uc, PromptRegistry as ud, bestDelivered as uf, CodeModeTool as ug, FeedbackRating as uh, recordStoredGraphRun as ui, LeaderboardIterationInfo as ul, RouterResponseReceipt as um, gitWorkspace as un, profileOptimizerModelCall as uo, RouterSeam as up, RemoteSupervisorTree as ur, InProcessOnPrompt as us, CreateSandboxOptions$1 as ut, FileObserverJournal as uu, BusEvent as uv, ProfileMaterializationReceipt as ux, RootHandle as uy, RunAgentTaskStreamOptions as v, NotFoundError as vC, ProviderWorkspaceAttemptProvenance as vS, Question as v_, AgentTurnUsage as va, RootStreamReceipt as vb, EqualKOnCostOptions as vc, kernelPromptRegistry as vd, CoordinationHttpAudit as vf, GroupOf as vg, UiLens as vh, freeSlots as vi, DeclaredCheckStateCapture as vl, ToolLoopMessageRecord as vm, DEFAULT_MAX_DEPTH as vn, definePersona as vo, AuthorityInboxMessage as vp, provisionSupervisor as vr, McpSpawnFault as vs, WorkspaceRequest as vt, superviseFleetCapabilities as vu, watchTrace as vv, ExecutorResult as vx, TraceContext as vy, RuntimeFailureCode as w, RecoverRetainedRunIntentOptions as wC, ExecutorToolCall as wS, QuestionOption as w_, EvolutionReport as wa, Scope as wb, LoopUntilState as wc, SupervisorSpanRecorder as wd, CheckRead as wf, PairwiseVerdict as wg, ResearcherProfileOptions as wh, graphDesignerExtraTools as wi, readDeclaredCheck as wl, CoderReviewer as wm, SqlRunContextOptions as wn, flatWidenGate as wo, DEFAULT_SHARED_BOX_WORKERS as wp, profileRegistry as wr, AgenticRunResult as ws, HarvestSurfaceDiffsOptions as wt, SuperviseTestOptions as wu, AnalystRunContext as wv, WorkerInteractiveSession as wx, OtelExporter as wy, RuntimeSessionStore as x, NativeContextContinuationHandle as xC, ProviderWorkspaceCaptureResult as xS, QuestionEscalationRecord as x_, collectAgentTurn as xa, ReenteredWorkers as xb, FanoutSynthesis as xc, SupervisorSpanAttributes as xd, CoordinationLog as xf, LeaderboardOptions as xg, ResearchOutput as xh, DesignerRunGraphEnv as xi, declaredCheckDeliverable as xl, FeedbackStore as xm, ValidateStoredGraphOptions as xn, InMemoryCorpus as xo, InboxMessage as xp, bestProfileFor as xr, connectStdioMcp as xs, VerifierEnvironmentOptions as xt, AuthorizedSpawn as xu, AnalystKind as xv, HeldForContinuation as xx, OtelAttribute as xy, RuntimeCanonicalStreamEvent as y, ValidationError as yC, ProviderWorkspaceCaptureProvenance as yS, QuestionDecision as y_, CollectedAgentTurn as ya, SupervisedResult as yb, EqualKVerdict as yc, naiveContinuationPrompt as yd, CoordinationRejectReason as yf, Interval as yg, KnowledgeItem as yh, queueOf as yi, assertDeclaredCheck as yl, ToolLoopToolCall as ym, createSupervisor as yn, runPersonified as yo, Inbox as yp, ProfileRegistryDir as yr, StdioMcpConnection as ys, computeFindingId$1 as yt, superviseWithTestBrain as yu, AnalystAssignmentRecord as yv, ExecutorTeardownWarning as yx, createPropagatingTraceEmitter as yy, MakeWorkerAgent as z, RetainedRunHandle as zC, LoopPlanPayload as zS, MapOnSettleRoute as z_, openSandboxRun as za, BudgetPoolRestore as zb, VerifySpec as zc, SupervisorAgentTestDeps as zd, ResolvedSpawnResourcePath as zf, plateauLength as zg, gateOnDeliverable as zh, asAuthoredProfile as zi, PursuitVersionStop as zl, DelegationArgs as zm, TRACE_SUMMARY_SCHEMA as zn, McpEnvironmentOptions as zo, ProviderLeafOut as zp, GraphFileResolutionError as zr, AuthorStrategyOptions as zs, WorktreeCliExecutorOptions as zt, GraphResult as zu, SqlAdapter as zv, createActivityLog as zx, DeadlineCheckIn as zy };
|
|
19394
|
+
//# sourceMappingURL=types-C_qbnw9N.d.ts.map
|