@tangle-network/agent-runtime 0.82.0 → 0.84.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/agent.d.ts +5 -3
- package/dist/agent.js +7 -7
- package/dist/agent.js.map +1 -1
- package/dist/analyst-loop.d.ts +3 -2
- package/dist/analyst-loop.js +2 -2
- package/dist/{chunk-A7LZR5DT.js → chunk-4WXGK6GV.js} +2 -2
- package/dist/chunk-4WXGK6GV.js.map +1 -0
- package/dist/{chunk-UZ5SODU7.js → chunk-5IBQAPVB.js} +1 -1
- package/dist/chunk-5IBQAPVB.js.map +1 -0
- package/dist/{chunk-5JAUQZQA.js → chunk-7LO5GMAO.js} +1 -1
- package/dist/chunk-7LO5GMAO.js.map +1 -0
- package/dist/{chunk-H7IBHAFT.js → chunk-BZF3KQ6G.js} +1 -1
- package/dist/chunk-BZF3KQ6G.js.map +1 -0
- package/dist/{chunk-WIR4HOOJ.js → chunk-DPEUKJRO.js} +1 -1
- package/dist/chunk-DPEUKJRO.js.map +1 -0
- package/dist/{chunk-DJQFJEOD.js → chunk-G7HQI6DB.js} +2 -2
- package/dist/chunk-G7HQI6DB.js.map +1 -0
- package/dist/{chunk-GRAGM4MC.js → chunk-NURIQBJQ.js} +1 -1
- package/dist/chunk-NURIQBJQ.js.map +1 -0
- package/dist/{chunk-FNMGYYSS.js → chunk-SGKPNBXE.js} +1 -1
- package/dist/chunk-SGKPNBXE.js.map +1 -0
- package/dist/{chunk-SRGV56W4.js → chunk-UD4BHQMI.js} +2 -2
- package/dist/{chunk-SRGV56W4.js.map → chunk-UD4BHQMI.js.map} +1 -1
- package/dist/{chunk-JYURIKPF.js → chunk-UJW6EVNY.js} +503 -218
- package/dist/chunk-UJW6EVNY.js.map +1 -0
- package/dist/{chunk-LWGVVP2C.js → chunk-VNOOH22O.js} +2 -2
- package/dist/chunk-VNOOH22O.js.map +1 -0
- package/dist/{chunk-KSGHI53L.js → chunk-XBSWWF6A.js} +6 -6
- package/dist/chunk-XBSWWF6A.js.map +1 -0
- package/dist/{chunk-CO2KBPRE.js → chunk-XN5TIJGP.js} +1011 -1011
- package/dist/chunk-XN5TIJGP.js.map +1 -0
- package/dist/{chunk-NBV35BR6.js → chunk-YEJR7IXO.js} +1 -1
- package/dist/chunk-YEJR7IXO.js.map +1 -0
- package/dist/{chunk-C2FZ6GR6.js → chunk-YPA5MLVE.js} +2 -2
- package/dist/chunk-YPA5MLVE.js.map +1 -0
- package/dist/{coordination-BI9tpcmF.d.ts → coordination-CuDLO8wj.d.ts} +53 -32
- package/dist/environment-provider.d.ts +2 -2
- package/dist/environment-provider.js +1 -1
- package/dist/{improvement-adapter-CioiEE2z.d.ts → improvement-adapter-CDR8QNVM.d.ts} +3 -0
- package/dist/index.d.ts +163 -49
- package/dist/index.js +43 -13
- package/dist/index.js.map +1 -1
- package/dist/intelligence.d.ts +14 -8
- package/dist/intelligence.js +1 -1
- package/dist/intelligence.js.map +1 -1
- package/dist/{kb-gate-CuzMYGYM.d.ts → kb-gate-CwHO0vz6.d.ts} +4 -2
- package/dist/lifecycle.d.ts +2 -2
- package/dist/lifecycle.js +3 -3
- package/dist/{local-harness-DU7yV6mG.d.ts → local-harness-sI0S_XNA.d.ts} +2 -1
- package/dist/{loop-runner-bin-CBkLsyFg.d.ts → loop-runner-bin-hQDUL8Ld.d.ts} +28 -13
- package/dist/loop-runner-bin.d.ts +7 -7
- package/dist/loop-runner-bin.js +10 -10
- package/dist/loops.d.ts +257 -48
- package/dist/loops.js +9 -7
- package/dist/mcp/bin.js +8 -8
- package/dist/mcp/bin.js.map +1 -1
- package/dist/mcp/index.d.ts +44 -38
- package/dist/mcp/index.js +11 -11
- package/dist/mcp/index.js.map +1 -1
- package/dist/{mcp-serve-verifier-BvMAV_8U.d.ts → mcp-serve-verifier-FL7-ZEb_.d.ts} +8 -3
- package/dist/{openai-tools-B-3v06BE.d.ts → openai-tools-BnrOmGjN.d.ts} +7 -4
- package/dist/platform.d.ts +4 -0
- package/dist/platform.js.map +1 -1
- package/dist/profiles.d.ts +36 -23
- package/dist/profiles.js +2 -2
- package/dist/profiles.js.map +1 -1
- package/dist/{router-client-D6Ocf4jG.d.ts → router-client-r8y_VFVM.d.ts} +1 -0
- package/dist/{substrate-rNj6TDc3.d.ts → substrate-DO2GHNg2.d.ts} +5 -3
- package/dist/{types-By9LXllv.d.ts → types-Driepl87.d.ts} +3 -2
- package/dist/{types-BF-MEsQB.d.ts → types-ESeMOj94.d.ts} +26 -11
- package/dist/{worktree-fanout-D9Z2dMS9.d.ts → worktree-fanout-D6xR2CIA.d.ts} +16 -10
- package/dist/{worktree-harness-Dx8XULW3.d.ts → worktree-harness-CX_McRLp.d.ts} +11 -8
- package/package.json +3 -3
- package/dist/chunk-5JAUQZQA.js.map +0 -1
- package/dist/chunk-A7LZR5DT.js.map +0 -1
- package/dist/chunk-C2FZ6GR6.js.map +0 -1
- package/dist/chunk-CO2KBPRE.js.map +0 -1
- package/dist/chunk-DJQFJEOD.js.map +0 -1
- package/dist/chunk-FNMGYYSS.js.map +0 -1
- package/dist/chunk-GRAGM4MC.js.map +0 -1
- package/dist/chunk-H7IBHAFT.js.map +0 -1
- package/dist/chunk-JYURIKPF.js.map +0 -1
- package/dist/chunk-KSGHI53L.js.map +0 -1
- package/dist/chunk-LWGVVP2C.js.map +0 -1
- package/dist/chunk-NBV35BR6.js.map +0 -1
- package/dist/chunk-UZ5SODU7.js.map +0 -1
- package/dist/chunk-WIR4HOOJ.js.map +0 -1
package/dist/loops.d.ts
CHANGED
|
@@ -1,32 +1,31 @@
|
|
|
1
|
-
import { ChatClient, RunRecord,
|
|
1
|
+
import { ChatClient, RunRecord, HarnessType, AgentProfile, AnalystFinding, AnalystRunInputs, ToolSpan, StreamingDetector, DetectorSignal, buildTrajectory } from '@tangle-network/agent-eval';
|
|
2
2
|
export { AnalystFinding, DefaultVerdict, computeFindingId, makeFinding } from '@tangle-network/agent-eval';
|
|
3
3
|
import { SandboxEvent, SandboxInstance, CreateSandboxOptions } from '@tangle-network/sandbox';
|
|
4
4
|
export { AgentProfile, CreateSandboxOptions, SandboxEvent, SandboxInstance } from '@tangle-network/sandbox';
|
|
5
|
-
import { d as ResultBlobStore, S as SpawnJournal, N as NodeId, j as SpawnEvent, E as ExecutorFactory, c as Agent, B as Budget, i as Scope, g as Settled, f as SupervisedResult, h as Spend, U as UsageEvent, b as ExecutorRegistry, k as Supervisor } from './types-
|
|
6
|
-
export { A as AgentSpec, a as Executor, l as ExecutorContext, m as ExecutorResult, R as Runtime, n as SupervisorOpts, T as TreeView, W as WidenGate } from './types-
|
|
7
|
-
import { ak as MakeWorkerAgent, A as AnalystRegistry, o as CoordinationTools, n as CoordinationEvent, ar as QuestionPolicy, a$ as ExecutorConfig } from './coordination-
|
|
8
|
-
export { b0 as BusEvent, b1 as BusRecord, b2 as BusStats, b3 as EventBus, b4 as ProviderSeam, b5 as PublishOptions, b6 as cliWorktreeExecutor, b7 as createEventBus, b8 as createExecutor, b9 as createExecutorRegistry } from './coordination-
|
|
9
|
-
import { R as RuntimeHooks, I as Iteration, S as SandboxClient, W as Driver, A as AgentRunSpec, b as OutputAdapter, V as Validator, E as ExecCtx, X as LoopWinner, Y as LoopLineageOptions, Z as LoopResult, L as LoopTokenUsage, a as RuntimeStreamEvent, _ as MountRecorder } from './types-
|
|
10
|
-
export { $ as LoopDecisionPayload, a0 as LoopEndedPayload, a1 as LoopIterationDispatchPayload, a2 as LoopIterationEndedPayload, a3 as LoopIterationStartedPayload, a4 as LoopPlanDescription, a5 as LoopPlanPayload, d as LoopSandboxPlacement, a6 as LoopStartedPayload, a7 as LoopTeardownFailedPayload, e as LoopTraceEmitter, c as LoopTraceEvent, a8 as MountManifestEntry, a9 as RunProvenance, aa as SelectionReceipt, ab as ValidationCtx } from './types-
|
|
5
|
+
import { d as ResultBlobStore, S as SpawnJournal, N as NodeId, j as SpawnEvent, E as ExecutorFactory, c as Agent, B as Budget, i as Scope, g as Settled, f as SupervisedResult, h as Spend, U as UsageEvent, b as ExecutorRegistry, k as Supervisor } from './types-Driepl87.js';
|
|
6
|
+
export { A as AgentSpec, a as Executor, l as ExecutorContext, m as ExecutorResult, R as Runtime, n as SupervisorOpts, T as TreeView, W as WidenGate } from './types-Driepl87.js';
|
|
7
|
+
import { ak as MakeWorkerAgent, A as AnalystRegistry, o as CoordinationTools, n as CoordinationEvent, ar as QuestionPolicy, a$ as ExecutorConfig } from './coordination-CuDLO8wj.js';
|
|
8
|
+
export { b0 as BusEvent, b1 as BusRecord, b2 as BusStats, b3 as EventBus, b4 as ProviderSeam, b5 as PublishOptions, b6 as cliWorktreeExecutor, b7 as createEventBus, b8 as createExecutor, b9 as createExecutorRegistry } from './coordination-CuDLO8wj.js';
|
|
9
|
+
import { R as RuntimeHooks, I as Iteration, S as SandboxClient, W as Driver, A as AgentRunSpec, b as OutputAdapter, V as Validator, E as ExecCtx, X as LoopWinner, Y as LoopLineageOptions, Z as LoopResult, L as LoopTokenUsage, a as RuntimeStreamEvent, _ as MountRecorder } from './types-ESeMOj94.js';
|
|
10
|
+
export { $ as LoopDecisionPayload, a0 as LoopEndedPayload, a1 as LoopIterationDispatchPayload, a2 as LoopIterationEndedPayload, a3 as LoopIterationStartedPayload, a4 as LoopPlanDescription, a5 as LoopPlanPayload, d as LoopSandboxPlacement, a6 as LoopStartedPayload, a7 as LoopTeardownFailedPayload, e as LoopTraceEmitter, c as LoopTraceEvent, a8 as MountManifestEntry, a9 as RunProvenance, aa as SelectionReceipt, ab as ValidationCtx } from './types-ESeMOj94.js';
|
|
11
|
+
import { RunProfileMatrixResult, Scenario, ProfileDispatchFn, JudgeConfig, RunProfileMatrixOptions, DispatchFn } from '@tangle-network/agent-eval/campaign';
|
|
11
12
|
export { AgentEnvironmentProviderRef, AgentEnvironmentProviderRegistry, ProviderAsSandboxClientOptions, ProviderExecutorOptions, SandboxClientProviderOptions, createAgentEnvironmentProviderRegistry, providerAsExecutor, providerAsSandboxClient, resolveAgentEnvironmentProvider, sandboxClientAsProvider } from './environment-provider.js';
|
|
12
|
-
import { C as CorpusRecord, c as Corpus, O as Outcome, S as ScopeAnalyzeInput, d as AssertTraceDerivedFindings, e as SteerContext, f as ScopeAnalyst, F as FanoutOptions, g as CombinatorShape, h as ScopeWidenGate, L as LoopUntilSpec, P as PanelSpec, i as PipelineStage, W as WinnerStrategy, j as FanoutWinnerSelector, V as VerifySpec, k as WidenSpec, l as CorpusFilter, R as RenderCorpusToInstructionsOptions, D as DefinePersonaInput, m as Persona, n as RunPersonifiedOptions, o as ShapeRegistry, p as LoopShape, E as EqualKArm, q as EqualKOnCostOptions, r as EqualKVerdict, T as TrajectoryReportOptions, s as TrajectoryReport } from './worktree-fanout-
|
|
13
|
-
export { A as AuthoredHarness, t as DefinePersona, u as EqualKOnCost, v as Fanout, w as FanoutSynthesis, x as FlatWidenGate, y as LoopUntil, z as LoopUntilState, B as Panel, G as PanelJudge, H as PanelVerdict, I as PatchDeliverableOptions, J as PersonaContext, K as PersonaExecutors, M as Pipeline, N as RenderCorpusToInstructions, Q as RunPersonified, U as ShapeBudget, X as ShapeContext, Y as TrajectoryNode, Z as TrajectoryReportFn, _ as Verify, $ as Widen, a0 as WidenDecision, a1 as WidenLineage, a2 as WorktreeCliExecutorOptions, a as WorktreeFanoutOptions, b as WorktreePatchArtifact, a3 as createWorktreeCliExecutor, a4 as patchDelivered, a5 as worktreeFanout } from './worktree-fanout-
|
|
14
|
-
import { Scenario, DispatchFn, ProfileDispatchFn } from '@tangle-network/agent-eval/campaign';
|
|
13
|
+
import { C as CorpusRecord, c as Corpus, O as Outcome, S as ScopeAnalyzeInput, d as AssertTraceDerivedFindings, e as SteerContext, f as ScopeAnalyst, F as FanoutOptions, g as CombinatorShape, h as ScopeWidenGate, L as LoopUntilSpec, P as PanelSpec, i as PipelineStage, W as WinnerStrategy, j as FanoutWinnerSelector, V as VerifySpec, k as WidenSpec, l as CorpusFilter, R as RenderCorpusToInstructionsOptions, D as DefinePersonaInput, m as Persona, n as RunPersonifiedOptions, o as ShapeRegistry, p as LoopShape, E as EqualKArm, q as EqualKOnCostOptions, r as EqualKVerdict, T as TrajectoryReportOptions, s as TrajectoryReport } from './worktree-fanout-D6xR2CIA.js';
|
|
14
|
+
export { A as AuthoredHarness, t as DefinePersona, u as EqualKOnCost, v as Fanout, w as FanoutSynthesis, x as FlatWidenGate, y as LoopUntil, z as LoopUntilState, B as Panel, G as PanelJudge, H as PanelVerdict, I as PatchDeliverableOptions, J as PersonaContext, K as PersonaExecutors, M as Pipeline, N as RenderCorpusToInstructions, Q as RunPersonified, U as ShapeBudget, X as ShapeContext, Y as TrajectoryNode, Z as TrajectoryReportFn, _ as Verify, $ as Widen, a0 as WidenDecision, a1 as WidenLineage, a2 as WorktreeCliExecutorOptions, a as WorktreeFanoutOptions, b as WorktreePatchArtifact, a3 as createWorktreeCliExecutor, a4 as patchDelivered, a5 as worktreeFanout } from './worktree-fanout-D6xR2CIA.js';
|
|
15
15
|
import { b as AnalystRegistryLike } from './types-BC3bZpH0.js';
|
|
16
16
|
import { AgentProfile as AgentProfile$1 } from '@tangle-network/agent-interface';
|
|
17
|
-
import { R as RouterConfig, a as ToolLoopChat, b as ToolLoopCompactionOptions } from './router-client-
|
|
18
|
-
export { c as RouterChatResult, d as RouterChatToolsResult, e as RouterToolCall, f as RouterToolLoopResult, g as ToolLoopCompaction, T as ToolSpec, r as routerBrain, h as routerChatWithTools, i as routerChatWithUsage, j as routerToolLoop } from './router-client-
|
|
19
|
-
import { D as DeliverableSpec } from './worktree-harness-
|
|
20
|
-
export { g as WorktreeCommandResult, h as gateOnDeliverable } from './worktree-harness-
|
|
17
|
+
import { R as RouterConfig, a as ToolLoopChat, b as ToolLoopCompactionOptions } from './router-client-r8y_VFVM.js';
|
|
18
|
+
export { c as RouterChatResult, d as RouterChatToolsResult, e as RouterToolCall, f as RouterToolLoopResult, g as ToolLoopCompaction, T as ToolSpec, r as routerBrain, h as routerChatWithTools, i as routerChatWithUsage, j as routerToolLoop } from './router-client-r8y_VFVM.js';
|
|
19
|
+
import { D as DeliverableSpec } from './worktree-harness-CX_McRLp.js';
|
|
20
|
+
export { g as WorktreeCommandResult, h as gateOnDeliverable } from './worktree-harness-CX_McRLp.js';
|
|
21
21
|
import { stuckLoopView, toolWasteView } from '@tangle-network/agent-eval/pipelines';
|
|
22
22
|
export { AgentEnvironment, AgentEnvironmentCapabilities, AgentEnvironmentEvent, AgentEnvironmentProvider, AgentEnvironmentQuery, AgentEnvironmentStatus, AgentEnvironmentSummary, AgentProfileRef, AgentSession, AgentSessionRef, AgentSessionStatus, AgentTurnInput, AgentTurnResult, CheckpointRef, CheckpointRequest, CreateAgentEnvironmentInput, ExecRequest, ExecResult, ForkRequest, PlacementInfo, ResourceRequest, WorkspaceRequest } from '@tangle-network/agent-interface/environment-provider';
|
|
23
|
-
import './substrate-
|
|
23
|
+
import './substrate-DO2GHNg2.js';
|
|
24
24
|
import './otel-export-BKmNwiCb.js';
|
|
25
|
-
import './local-harness-
|
|
25
|
+
import './local-harness-sI0S_XNA.js';
|
|
26
26
|
import 'node:child_process';
|
|
27
27
|
|
|
28
28
|
/**
|
|
29
|
-
* @experimental
|
|
30
29
|
*
|
|
31
30
|
* Event-sourced spawn journal for the recursive execution atom (build steps 3 + 7).
|
|
32
31
|
*
|
|
@@ -44,6 +43,8 @@ import 'node:child_process';
|
|
|
44
43
|
* each settlement — NOT wall-clock. `replaySpawnTree` sorts strictly by `seq` before
|
|
45
44
|
* touching the blob store, so the order in which rehydration `get`s resolve can never
|
|
46
45
|
* reorder the replayed `Settled[]`; the result is identical regardless of blob latency.
|
|
46
|
+
*
|
|
47
|
+
* @experimental
|
|
47
48
|
*/
|
|
48
49
|
|
|
49
50
|
/**
|
|
@@ -136,6 +137,7 @@ interface WaterfallCollector {
|
|
|
136
137
|
}): string;
|
|
137
138
|
reset(): void;
|
|
138
139
|
}
|
|
140
|
+
/** Build a `WaterfallCollector` that records agent spans and renders them as an ASCII timeline. */
|
|
139
141
|
declare function createWaterfallCollector(): WaterfallCollector;
|
|
140
142
|
|
|
141
143
|
/**
|
|
@@ -273,7 +275,9 @@ interface IntentAudit {
|
|
|
273
275
|
steer?: string;
|
|
274
276
|
confidence: number;
|
|
275
277
|
}
|
|
278
|
+
/** Default system instruction for intent-auditor agents: diagnose diverged/drifting trajectories. */
|
|
276
279
|
declare const defaultAuditorInstruction: string;
|
|
280
|
+
/** The route-rigor analyst: compare declared vs revealed vs user intent over a trajectory and return aligned / drifting / diverged with evidence and one recommended intervention. */
|
|
277
281
|
declare function auditIntent(input: AuditIntentInput, opts: AuditIntentOptions): Promise<IntentAudit>;
|
|
278
282
|
|
|
279
283
|
/**
|
|
@@ -410,7 +414,6 @@ declare function renderLeaderboardSvg(report: Leaderboard): string;
|
|
|
410
414
|
declare function renderLeaderboardHtml(report: Leaderboard): string;
|
|
411
415
|
|
|
412
416
|
/**
|
|
413
|
-
* @experimental
|
|
414
417
|
*
|
|
415
418
|
* Completion / satisfiability — the OTHER output of the pluggable analyst (the steer output
|
|
416
419
|
* is `AnalystFinding[]` via the `analyze` hook; this is the "is it done?" output via the
|
|
@@ -431,6 +434,8 @@ declare function renderLeaderboardHtml(report: Leaderboard): string;
|
|
|
431
434
|
* unguessable + attributable, so it can't be spuriously emitted or confused with content.
|
|
432
435
|
* - deterministic check (compile/test/citation/proof): `deterministicCompletion(check)` —
|
|
433
436
|
* a verifier over the output, never the judge verdict (selector ≠ judge holds).
|
|
437
|
+
*
|
|
438
|
+
* @experimental
|
|
434
439
|
*/
|
|
435
440
|
|
|
436
441
|
/** Trace-derived evidence for a completion claim — an artifact (output) or a verifier metric,
|
|
@@ -464,6 +469,7 @@ interface CompletionPolicy {
|
|
|
464
469
|
/** Minimum confidence a PROBABILISTIC verdict must clear to end. Default 0.8. */
|
|
465
470
|
minConfidence?: number;
|
|
466
471
|
}
|
|
472
|
+
/** Decide whether a `CompletionVerdict` may end the node under the policy: authority scales with the verdict's determinism, and probabilistic verdicts must clear `minConfidence`. */
|
|
467
473
|
declare function completionAuthorizes(v: CompletionVerdict, policy?: CompletionPolicy): boolean;
|
|
468
474
|
/**
|
|
469
475
|
* A unique, attributable stop sentinel for a node (ralph-loop style). Deterministic from the
|
|
@@ -488,6 +494,158 @@ declare function deterministicCompletion<Task, Output>(check: (output: Output, h
|
|
|
488
494
|
reasons?: string;
|
|
489
495
|
}): CompletionAnalyst<Task, Output>;
|
|
490
496
|
|
|
497
|
+
/** Structured per-case verdict a `score` function may return (a bare number is
|
|
498
|
+
* shorthand for `{ composite }`). `composite` is the [0,1] leaderboard score;
|
|
499
|
+
* `dimensions` are recorded as extra judge dimensions. */
|
|
500
|
+
interface LeaderboardScore {
|
|
501
|
+
composite: number;
|
|
502
|
+
dimensions?: Record<string, number>;
|
|
503
|
+
notes?: string;
|
|
504
|
+
}
|
|
505
|
+
/** The campaign scenario a case is wrapped into: the case rides along so
|
|
506
|
+
* judges and hooks can reach the full domain payload, not just its id. */
|
|
507
|
+
interface LeaderboardScenario<TCase> extends Scenario {
|
|
508
|
+
case: TCase;
|
|
509
|
+
}
|
|
510
|
+
/** One extra CLI flag a spec declares. Parsed by `run()` as `--<name> <value>`
|
|
511
|
+
* and surfaced to every hook via `ctx.args`. */
|
|
512
|
+
interface LeaderboardFlagSpec {
|
|
513
|
+
default?: string;
|
|
514
|
+
description: string;
|
|
515
|
+
}
|
|
516
|
+
/** Resolved run configuration handed to `setup` / `teardown` / `export`. */
|
|
517
|
+
interface LeaderboardRunContext {
|
|
518
|
+
name: string;
|
|
519
|
+
/** Execution backend name (`--backend`), a key of `backends`. */
|
|
520
|
+
backend: string;
|
|
521
|
+
runDir: string;
|
|
522
|
+
exportDir: string;
|
|
523
|
+
/** Every parsed flag (standard + `spec.flags`), by name without `--`. */
|
|
524
|
+
args: Record<string, string | undefined>;
|
|
525
|
+
harnesses: readonly HarnessType[];
|
|
526
|
+
/** Snapshot-stamped model ids (`name@snapshot`) — the eval identity models. */
|
|
527
|
+
models: readonly string[];
|
|
528
|
+
caseIds: readonly string[];
|
|
529
|
+
shots: number;
|
|
530
|
+
reps: number;
|
|
531
|
+
}
|
|
532
|
+
/** Structurally `BenchTask` (bench registry shape) — declared locally so this
|
|
533
|
+
* module adds no dependency on a benchmark package. */
|
|
534
|
+
interface LeaderboardBenchTask {
|
|
535
|
+
id: string;
|
|
536
|
+
prompt: string;
|
|
537
|
+
split?: string;
|
|
538
|
+
metadata?: Record<string, unknown>;
|
|
539
|
+
}
|
|
540
|
+
/** Structurally `BenchScore` (bench registry shape). */
|
|
541
|
+
interface LeaderboardBenchScore {
|
|
542
|
+
resolved: boolean;
|
|
543
|
+
score: number;
|
|
544
|
+
detail?: string;
|
|
545
|
+
}
|
|
546
|
+
/** Structurally `BenchmarkAdapter` (bench registry shape): `name`,
|
|
547
|
+
* `preflight()`, `loadTasks()`, deterministic `judge()`, `goldArtifact()`. */
|
|
548
|
+
interface LeaderboardBenchmarkAdapter {
|
|
549
|
+
readonly name: string;
|
|
550
|
+
preflight(): Promise<void>;
|
|
551
|
+
loadTasks(opts?: {
|
|
552
|
+
limit?: number;
|
|
553
|
+
split?: string;
|
|
554
|
+
ids?: string[];
|
|
555
|
+
}): Promise<LeaderboardBenchTask[]>;
|
|
556
|
+
judge(task: LeaderboardBenchTask, artifact: string): Promise<LeaderboardBenchScore>;
|
|
557
|
+
goldArtifact(task: LeaderboardBenchTask): Promise<string | undefined>;
|
|
558
|
+
}
|
|
559
|
+
interface LeaderboardSpec<TCase> {
|
|
560
|
+
/** Leaderboard name — the scenario `kind`, default profile name, and report title. */
|
|
561
|
+
name: string;
|
|
562
|
+
/** The case corpus. Every case needs a stable string id (see `caseId`). */
|
|
563
|
+
cases: TCase[];
|
|
564
|
+
/** Stable id extractor. Default: the case's own `id` property (fail-loud
|
|
565
|
+
* when absent or not a string). */
|
|
566
|
+
caseId?: (c: TCase) => string;
|
|
567
|
+
/** The per-case task prompt. May be async (e.g. built by shelling out to a
|
|
568
|
+
* reference implementation); resolved ONCE per case before dispatch. */
|
|
569
|
+
prompt: (c: TCase) => string | Promise<string>;
|
|
570
|
+
/** The domain grader: agent output text → score. Used BOTH as the per-shot
|
|
571
|
+
* validator (a shot with `composite > 0` stops the naive retry loop) and,
|
|
572
|
+
* wrapped as a campaign judge, as the recorded leaderboard score. */
|
|
573
|
+
score: (output: string, c: TCase) => number | LeaderboardScore;
|
|
574
|
+
/** Harness × model axes for `expandProfileAxes`. Defaults: the canonical
|
|
575
|
+
* `CODING_HARNESSES` × the base profile's `model.default`. `--harnesses` /
|
|
576
|
+
* `--models` override per run. */
|
|
577
|
+
axis?: {
|
|
578
|
+
harnesses?: readonly HarnessType[];
|
|
579
|
+
models?: readonly string[];
|
|
580
|
+
};
|
|
581
|
+
/** Base profile the axes expand over (prompt/tools/skills held fixed).
|
|
582
|
+
* Default: a minimal `{ name, model: { default: <first model> } }`. */
|
|
583
|
+
baseProfile?: AgentProfile;
|
|
584
|
+
/**
|
|
585
|
+
* Execution-backend registry: `--backend <name>` picks the factory that
|
|
586
|
+
* yields the `SandboxClient` every cell runs on. Merged over the defaults:
|
|
587
|
+
* - `sandbox` — throws with guidance (a product must supply its real
|
|
588
|
+
* Sandbox-backed client; the facade has no credentials).
|
|
589
|
+
* - `cli-bridge` — `resolveSandboxClient({ backend: 'bridge' })` reading
|
|
590
|
+
* `CLI_BRIDGE_URL` + `BRIDGE_BEARER`/`CLI_BRIDGE_BEARER`; the per-cell
|
|
591
|
+
* harness/model ride in via `sandboxOverrides.backend`.
|
|
592
|
+
*/
|
|
593
|
+
backends?: Record<string, (() => SandboxClient) | undefined>;
|
|
594
|
+
/** Extra `--flag value` CLI args `run()` parses and surfaces via `ctx.args`. */
|
|
595
|
+
flags?: Record<string, LeaderboardFlagSpec>;
|
|
596
|
+
/** Extra fields merged into each cell's `backend.model` create override —
|
|
597
|
+
* e.g. `{ provider: 'openai-compat', apiKey, baseUrl }` for a router-backed
|
|
598
|
+
* sandbox. The cell's bare model id is set by the facade from the axis. */
|
|
599
|
+
modelBackend?: Record<string, unknown>;
|
|
600
|
+
/** Runs once before the matrix (fetch fixtures, warm caches). */
|
|
601
|
+
setup?: (ctx: LeaderboardRunContext) => Promise<void> | void;
|
|
602
|
+
/** Runs once after the matrix, even on failure (reap boxes, close handles). */
|
|
603
|
+
teardown?: (ctx: LeaderboardRunContext) => Promise<void> | void;
|
|
604
|
+
/** Per-cell event tap: the raw sandbox events of each parsed iteration,
|
|
605
|
+
* with the case — the seam for domain metric capture (search counts,
|
|
606
|
+
* citations) without a substrate change. */
|
|
607
|
+
onCellEvents?: (events: readonly SandboxEvent[], c: TCase) => void;
|
|
608
|
+
/** Output decode override: raw events → the scored output text. Default:
|
|
609
|
+
* the sandbox SDK's `collectAgentResponseText` (final answer text; empty
|
|
610
|
+
* string when the stream carried none — which then scores 0). */
|
|
611
|
+
parseOutput?: (events: readonly SandboxEvent[], c: TCase) => string;
|
|
612
|
+
/** Result export. Default: write `matrix-result.json` under the run dir and
|
|
613
|
+
* print (+ write) the ranked leaderboard markdown under the export dir. */
|
|
614
|
+
export?: (result: RunProfileMatrixResult<string, LeaderboardScenario<TCase>>, ctx: LeaderboardRunContext) => Promise<void> | void;
|
|
615
|
+
/** LEVEL 2 — full dispatch replacement (in-process products bring their own).
|
|
616
|
+
* The default is `loopDispatch` + `naiveDriver` over the resolved backend. */
|
|
617
|
+
dispatch?: ProfileDispatchFn<LeaderboardScenario<TCase>, string>;
|
|
618
|
+
/** LEVEL 2 — full judge replacement. Default: `score` wrapped as one judge. */
|
|
619
|
+
judges?: JudgeConfig<string, LeaderboardScenario<TCase>>[];
|
|
620
|
+
/** Naive-retry shot cap per cell (`--shots`). Default 1. */
|
|
621
|
+
shots?: number;
|
|
622
|
+
/** Replicates per cell (`--reps`). Default 1. */
|
|
623
|
+
reps?: number;
|
|
624
|
+
/** Passthrough overrides spread onto the final `runProfileMatrix` call
|
|
625
|
+
* (e.g. `maxConcurrency`, `costCeiling`, `integrity`, `storage`) — spread
|
|
626
|
+
* LAST, so anything the facade wired can be overridden. */
|
|
627
|
+
matrix?: Partial<RunProfileMatrixOptions<LeaderboardScenario<TCase>, string>>;
|
|
628
|
+
}
|
|
629
|
+
interface DefinedLeaderboard<TCase> {
|
|
630
|
+
/**
|
|
631
|
+
* Parse flags, run the matrix, export, and return the raw result.
|
|
632
|
+
*
|
|
633
|
+
* Standard flags: `--backend <name>` (default `sandbox`), `--harnesses a,b`,
|
|
634
|
+
* `--models m1,m2`, `--cases id1,id2`, `--shots N`, `--reps N`,
|
|
635
|
+
* `--model-snapshot <tag>`, `--run-dir <path>`, `--export-dir <path>`,
|
|
636
|
+
* plus every `spec.flags` entry. `argv` defaults to `process.argv.slice(2)`.
|
|
637
|
+
*
|
|
638
|
+
* The default run dir is FRESH per invocation (timestamp+pid under the OS
|
|
639
|
+
* tmpdir). `runProfileMatrix` caches cells by run dir, and a stable default
|
|
640
|
+
* would silently reuse a prior FAILED zero-token cell and skip dispatch —
|
|
641
|
+
* only an explicit `--run-dir` opts into that resume behavior.
|
|
642
|
+
*/
|
|
643
|
+
run(argv?: string[]): Promise<RunProfileMatrixResult<string, LeaderboardScenario<TCase>>>;
|
|
644
|
+
/** The same domain surface in the structural `BenchmarkAdapter` shape. */
|
|
645
|
+
toBenchmarkAdapter(): LeaderboardBenchmarkAdapter;
|
|
646
|
+
}
|
|
647
|
+
declare function defineLeaderboard<TCase>(spec: LeaderboardSpec<TCase>): DefinedLeaderboard<TCase>;
|
|
648
|
+
|
|
491
649
|
/**
|
|
492
650
|
* The third-person observer — the connective tissue that closes the loop.
|
|
493
651
|
*
|
|
@@ -546,6 +704,7 @@ interface Observation {
|
|
|
546
704
|
/** Operator-facing markdown: what the observer noticed + what to change. */
|
|
547
705
|
report: string;
|
|
548
706
|
}
|
|
707
|
+
/** The third-person trace analyst: read a worker's trace and produce steer findings for the next attempt plus durable `learned` facts for the cross-run corpus. */
|
|
549
708
|
declare function observe(input: ObserveInput, opts: ObserveOptions): Promise<Observation>;
|
|
550
709
|
/** Operator-facing report, split by who should act. The agent block is the
|
|
551
710
|
* steer; the operator block is the advice. */
|
|
@@ -605,6 +764,7 @@ interface HarvestReport {
|
|
|
605
764
|
/** Per-run analysis failures — reported, never silently dropped. */
|
|
606
765
|
failures: HarvestFailure[];
|
|
607
766
|
}
|
|
767
|
+
/** Batch the firewalled `observe()` analyst over completed runs and accrete the trace-derived facts into the durable corpus — the production-traces→corpus write side of the flywheel. */
|
|
608
768
|
declare function harvestCorpus(opts: HarvestCorpusOptions): Promise<HarvestReport>;
|
|
609
769
|
|
|
610
770
|
/** Context handed to each `onPrompt` call. */
|
|
@@ -664,7 +824,6 @@ declare function inProcessSandboxClient(options: InProcessSandboxClientOptions):
|
|
|
664
824
|
declare function inlineSandboxClient(factory: ExecutorFactory<unknown>): SandboxClient;
|
|
665
825
|
|
|
666
826
|
/**
|
|
667
|
-
* @experimental
|
|
668
827
|
*
|
|
669
828
|
* `runLoop` — the topology-agnostic kernel built atop the sandbox SDK.
|
|
670
829
|
*
|
|
@@ -686,6 +845,8 @@ declare function inlineSandboxClient(factory: ExecutorFactory<unknown>): Sandbox
|
|
|
686
845
|
* emission. The kernel does NOT own: what the agent runs (sandbox SDK +
|
|
687
846
|
* profile), how outputs are decoded (output adapter), how outputs are
|
|
688
847
|
* scored (validator), or topology (driver).
|
|
848
|
+
*
|
|
849
|
+
* @experimental
|
|
689
850
|
*/
|
|
690
851
|
|
|
691
852
|
/** @experimental */
|
|
@@ -753,7 +914,11 @@ interface RunLoopOptions<Task, Output, Decision> {
|
|
|
753
914
|
*/
|
|
754
915
|
lineage?: LoopLineageOptions;
|
|
755
916
|
}
|
|
756
|
-
/**
|
|
917
|
+
/**
|
|
918
|
+
* The round-synchronous loop kernel: each round `driver.plan()` fans N tasks to sandboxes (bounded concurrency), parses + validates each output, and folds results through `driver.decide`.
|
|
919
|
+
*
|
|
920
|
+
* @experimental
|
|
921
|
+
*/
|
|
757
922
|
declare function runLoop<Task, Output, Decision>(options: RunLoopOptions<Task, Output, Decision>): Promise<LoopResult<Task, Output, Decision>>;
|
|
758
923
|
/**
|
|
759
924
|
* The kernel's winner argmax — best-valid-score, ties broken by earliest index,
|
|
@@ -975,7 +1140,9 @@ interface Strategy {
|
|
|
975
1140
|
readonly name: string;
|
|
976
1141
|
driver(surface: AgenticSurface, task: AgenticTask, opts: AgenticOptions, budget: number): Agent<unknown, Outcome<unknown>>;
|
|
977
1142
|
}
|
|
1143
|
+
/** Built-in `Strategy`: K independent attempts, keep the best-verifying (best-of-N / resample). */
|
|
978
1144
|
declare const sample: Strategy;
|
|
1145
|
+
/** Built-in `Strategy`: attempt → `observe()` reads the trace → steer the next attempt → repeat (deepen one lineage). */
|
|
979
1146
|
declare const refine: Strategy;
|
|
980
1147
|
/** A role for one shot — multi-agent loops (researcher + engineer, a panel of k
|
|
981
1148
|
* researchers) give each shot its own system prompt and optionally its own model. */
|
|
@@ -1144,6 +1311,7 @@ interface BenchmarkStrategySummary {
|
|
|
1144
1311
|
usd: number;
|
|
1145
1312
|
ms: number;
|
|
1146
1313
|
}
|
|
1314
|
+
/** Benchmark output: per-strategy means plus the full per-task × per-strategy losses table an optimizer mines. */
|
|
1147
1315
|
interface BenchmarkReport {
|
|
1148
1316
|
n: number;
|
|
1149
1317
|
excluded: number;
|
|
@@ -1206,10 +1374,10 @@ interface McpEnvironmentOptions {
|
|
|
1206
1374
|
/** Cap on a tool result's text fed back to the worker. Default 1500 chars. */
|
|
1207
1375
|
maxResultChars?: number;
|
|
1208
1376
|
}
|
|
1377
|
+
/** Wrap any MCP server as an `Environment`: `tools/list` becomes `AgenticTool[]` with provider-safe schemas; the domain supplies only the artifact lifecycle hooks. */
|
|
1209
1378
|
declare function createMcpEnvironment(opts: McpEnvironmentOptions): Environment;
|
|
1210
1379
|
|
|
1211
1380
|
/**
|
|
1212
|
-
* @experimental
|
|
1213
1381
|
*
|
|
1214
1382
|
* Analyst-on-scope (G1) — the analyze→findings→steer wire over the reactive `Scope`.
|
|
1215
1383
|
*
|
|
@@ -1226,6 +1394,8 @@ declare function createMcpEnvironment(opts: McpEnvironmentOptions): Environment;
|
|
|
1226
1394
|
* drains its settlement, then enforces the firewall on the way out — a judge-derived finding
|
|
1227
1395
|
* ABORTS, it is never filtered. Fail loud: a down analyst, a non-array result, or a tainted finding
|
|
1228
1396
|
* throws; there is no silent empty-findings path that would let a combinator steer on nothing.
|
|
1397
|
+
*
|
|
1398
|
+
* @experimental
|
|
1229
1399
|
*/
|
|
1230
1400
|
|
|
1231
1401
|
declare const assertTraceDerivedFindings: AssertTraceDerivedFindings;
|
|
@@ -1303,7 +1473,6 @@ declare function registryScopeAnalyst<D>(registry: AnalystRegistryLike, buildInp
|
|
|
1303
1473
|
declare function buildSteerContext<D>(findings: ReadonlyArray<AnalystFinding>, settledSoFar: ReadonlyArray<Settled<Outcome<D>>>): SteerContext<D>;
|
|
1304
1474
|
|
|
1305
1475
|
/**
|
|
1306
|
-
* @experimental
|
|
1307
1476
|
*
|
|
1308
1477
|
* The generic combinator library — the content-free act-bodies the wave's §1 contract froze.
|
|
1309
1478
|
*
|
|
@@ -1323,6 +1492,8 @@ declare function buildSteerContext<D>(findings: ReadonlyArray<AnalystFinding>, s
|
|
|
1323
1492
|
* Two fail-loud invariants every combinator honors: a child the conserved pool cannot admit is a
|
|
1324
1493
|
* CONCRETE blocker (never an eager over-fan, never a silent drop), and a `blocked` outcome always
|
|
1325
1494
|
* names at least one blocker (a shape that cannot finish MUST say why — `blocked([])` throws).
|
|
1495
|
+
*
|
|
1496
|
+
* @experimental
|
|
1326
1497
|
*/
|
|
1327
1498
|
|
|
1328
1499
|
/**
|
|
@@ -1406,7 +1577,6 @@ declare function widen<Task, Seed, D>(spec: WidenSpec<Seed, D>): CombinatorShape
|
|
|
1406
1577
|
declare function flatWidenGate<D>(): ScopeWidenGate<D>;
|
|
1407
1578
|
|
|
1408
1579
|
/**
|
|
1409
|
-
* @experimental
|
|
1410
1580
|
*
|
|
1411
1581
|
* The cross-run corpus (G2) — the learning-flywheel's durable accreted-fact store.
|
|
1412
1582
|
*
|
|
@@ -1421,6 +1591,8 @@ declare function flatWidenGate<D>(): ScopeWidenGate<D>;
|
|
|
1421
1591
|
* the same `id`. Malformed records — a structurally-invalid `CorpusRecord` from disk or a caller —
|
|
1422
1592
|
* fail loud (the validator throws), since a corpus that silently accepts garbage would poison
|
|
1423
1593
|
* every downstream run that reads it back.
|
|
1594
|
+
*
|
|
1595
|
+
* @experimental
|
|
1424
1596
|
*/
|
|
1425
1597
|
|
|
1426
1598
|
/**
|
|
@@ -1475,7 +1647,6 @@ declare class FileCorpus implements Corpus {
|
|
|
1475
1647
|
declare function renderCorpusToInstructions(opts: RenderCorpusToInstructionsOptions): Promise<AgentProfile$1>;
|
|
1476
1648
|
|
|
1477
1649
|
/**
|
|
1478
|
-
* @experimental
|
|
1479
1650
|
*
|
|
1480
1651
|
* The personify layer impl — `definePersona` (the thin builder) + `runPersonified` (composes
|
|
1481
1652
|
* the persona + chosen shape onto the keystone `Supervisor`), plus `createShapeContext`, the
|
|
@@ -1492,6 +1663,8 @@ declare function renderCorpusToInstructions(opts: RenderCorpusToInstructionsOpti
|
|
|
1492
1663
|
* that supplies raw `seams` is therefore wrapped here into a registry whose resolved factories
|
|
1493
1664
|
* receive a ctx with the persona seams merged in — so a persona never has to pre-close its
|
|
1494
1665
|
* factories by hand. A persona may instead supply a fully-built `registry` and skip the wrap.
|
|
1666
|
+
*
|
|
1667
|
+
* @experimental
|
|
1495
1668
|
*/
|
|
1496
1669
|
|
|
1497
1670
|
/**
|
|
@@ -1510,7 +1683,6 @@ declare function definePersona<D = unknown>(input: DefinePersonaInput<D>): Perso
|
|
|
1510
1683
|
declare function runPersonified<Task, D>(options: RunPersonifiedOptions<Task, D>): Promise<SupervisedResult<Outcome<D>>>;
|
|
1511
1684
|
|
|
1512
1685
|
/**
|
|
1513
|
-
* @experimental
|
|
1514
1686
|
*
|
|
1515
1687
|
* The loop-shape registry — the OPEN, content-free extension point for the personify layer.
|
|
1516
1688
|
*
|
|
@@ -1524,6 +1696,8 @@ declare function runPersonified<Task, D>(options: RunPersonifiedOptions<Task, D>
|
|
|
1524
1696
|
* `verify`/`widen`) take spec arguments, so they are not bare zero-arg factories — a caller that
|
|
1525
1697
|
* wants name-resolution registers its own COMPOSED shape (a combinator already applied to its
|
|
1526
1698
|
* spec) on a registry instance. The registry carries SHAPE only; the domain lives on the persona.
|
|
1699
|
+
*
|
|
1700
|
+
* @experimental
|
|
1527
1701
|
*/
|
|
1528
1702
|
|
|
1529
1703
|
/**
|
|
@@ -1539,7 +1713,6 @@ declare const builtinShapes: ShapeRegistry;
|
|
|
1539
1713
|
declare function registerShape<Task, D>(name: string, factory: LoopShape<Task, D>): void;
|
|
1540
1714
|
|
|
1541
1715
|
/**
|
|
1542
|
-
* @experimental
|
|
1543
1716
|
*
|
|
1544
1717
|
* Trajectory trace + cost ledger — the post-hoc tree reconstructor (§4 of `wave-types`).
|
|
1545
1718
|
*
|
|
@@ -1560,6 +1733,8 @@ declare function registerShape<Task, D>(name: string, factory: LoopShape<Task, D
|
|
|
1560
1733
|
* CROSS-run analogue the pool cannot reach — proving equal compute before any win is claimed.
|
|
1561
1734
|
*
|
|
1562
1735
|
* Pure over the journal/blobs — no live agent calls; safe to run on a finished run's log.
|
|
1736
|
+
*
|
|
1737
|
+
* @experimental
|
|
1563
1738
|
*/
|
|
1564
1739
|
|
|
1565
1740
|
/**
|
|
@@ -1635,6 +1810,7 @@ interface PromotionVerdict {
|
|
|
1635
1810
|
high: number;
|
|
1636
1811
|
};
|
|
1637
1812
|
}
|
|
1813
|
+
/** Statistical promotion decision over a holdout benchmark: a seeded paired bootstrap (`heldoutSignificance`) whose CI lower bound must clear `deltaThreshold`. */
|
|
1638
1814
|
declare function promotionGate(opts: PromotionGateOptions): PromotionVerdict;
|
|
1639
1815
|
|
|
1640
1816
|
/**
|
|
@@ -1720,7 +1896,6 @@ interface ResolveSandboxClientOptions {
|
|
|
1720
1896
|
declare function resolveSandboxClient(opts: ResolveSandboxClientOptions): SandboxClient;
|
|
1721
1897
|
|
|
1722
1898
|
/**
|
|
1723
|
-
* @experimental
|
|
1724
1899
|
*
|
|
1725
1900
|
* `acquireSandbox` — cold-start-resilient sandbox acquisition. Eliminates the
|
|
1726
1901
|
* "create timed out at the proxy" failure mode conceptually by DECOUPLING "the
|
|
@@ -1744,6 +1919,8 @@ declare function resolveSandboxClient(opts: ResolveSandboxClientOptions): Sandbo
|
|
|
1744
1919
|
* but never reaches `running` (abort, terminal status, budget) is torn down
|
|
1745
1920
|
* before the failure propagates, so an abort storm during cold start does not
|
|
1746
1921
|
* leak live sandboxes.
|
|
1922
|
+
*
|
|
1923
|
+
* @experimental
|
|
1747
1924
|
*/
|
|
1748
1925
|
|
|
1749
1926
|
/** @experimental */
|
|
@@ -1765,11 +1942,14 @@ interface AcquireOptions {
|
|
|
1765
1942
|
/** Sleep override for deterministic tests. */
|
|
1766
1943
|
sleep?: (ms: number) => Promise<void>;
|
|
1767
1944
|
}
|
|
1768
|
-
/**
|
|
1945
|
+
/**
|
|
1946
|
+
* Cold-start-resilient sandbox acquisition: create by name, observe readiness from the sandbox's own status (not the create call), and re-attach after gateway timeouts.
|
|
1947
|
+
*
|
|
1948
|
+
* @experimental
|
|
1949
|
+
*/
|
|
1769
1950
|
declare function acquireSandbox(client: SandboxClient, options: CreateSandboxOptions, acquire?: AcquireOptions): Promise<SandboxInstance>;
|
|
1770
1951
|
|
|
1771
1952
|
/**
|
|
1772
|
-
* @experimental
|
|
1773
1953
|
*
|
|
1774
1954
|
* Capability probe for the loop kernel's backend-blind lineage seams. The
|
|
1775
1955
|
* kernel must NEVER ask "is this Docker or Firecracker?"; it asks "can this
|
|
@@ -1781,6 +1961,8 @@ declare function acquireSandbox(client: SandboxClient, options: CreateSandboxOpt
|
|
|
1781
1961
|
* Invariant: a client with no `criuStatus` method (the loop's test fakes, the
|
|
1782
1962
|
* raw SDK before it grew the probe) reports `canFork = false`. The seam is
|
|
1783
1963
|
* fail-CLOSED — never assume forking works, only enable it on a positive probe.
|
|
1964
|
+
*
|
|
1965
|
+
* @experimental
|
|
1784
1966
|
*/
|
|
1785
1967
|
|
|
1786
1968
|
/**
|
|
@@ -1892,7 +2074,6 @@ declare function mapSandboxEvent(event: SandboxEvent, opts?: {
|
|
|
1892
2074
|
}): RuntimeStreamEvent | undefined;
|
|
1893
2075
|
|
|
1894
2076
|
/**
|
|
1895
|
-
* @experimental
|
|
1896
2077
|
*
|
|
1897
2078
|
* `SandboxLineage` — the backend-blind owner of box + session handles for a
|
|
1898
2079
|
* single `runLoop` invocation. It exists so `run-loop.ts` never references a
|
|
@@ -1923,6 +2104,8 @@ declare function mapSandboxEvent(event: SandboxEvent, opts?: {
|
|
|
1923
2104
|
* in `run-loop.ts`; the lineage only hands back the live `streamPrompt` iterable
|
|
1924
2105
|
* so the kernel keeps ownership of event collection, cost accounting, and trace
|
|
1925
2106
|
* emission.
|
|
2107
|
+
*
|
|
2108
|
+
* @experimental
|
|
1926
2109
|
*/
|
|
1927
2110
|
|
|
1928
2111
|
/**
|
|
@@ -2074,12 +2257,13 @@ interface SessionCapableBox {
|
|
|
2074
2257
|
*/
|
|
2075
2258
|
|
|
2076
2259
|
/**
|
|
2077
|
-
* @experimental
|
|
2078
2260
|
* How a typed deliverable `Out` is materialized from a finished turn.
|
|
2079
2261
|
* - `events` — pure parse over the event array (identical to `OutputAdapter`).
|
|
2080
2262
|
* - `artifact` — read a file off the box AFTER the turn drains, then map it (+ the
|
|
2081
2263
|
* events). For diffs/codebases/documents that don't fit the chat
|
|
2082
2264
|
* stream. `path` relative ⇒ workspace root; absolute ⇒ container FS.
|
|
2265
|
+
*
|
|
2266
|
+
* @experimental
|
|
2083
2267
|
*/
|
|
2084
2268
|
type Deliverable<Out> = {
|
|
2085
2269
|
kind: 'events';
|
|
@@ -2090,10 +2274,11 @@ type Deliverable<Out> = {
|
|
|
2090
2274
|
fromArtifact: (raw: string, events: SandboxEvent[]) => Out;
|
|
2091
2275
|
};
|
|
2092
2276
|
/**
|
|
2093
|
-
* @experimental
|
|
2094
2277
|
* One finished turn over the artifact. A failed FS read is surfaced in `readError`
|
|
2095
2278
|
* (never masked as an empty deliverable) so a caller distinguishes "agent produced
|
|
2096
2279
|
* nothing" from a transport/FS fault.
|
|
2280
|
+
*
|
|
2281
|
+
* @experimental
|
|
2097
2282
|
*/
|
|
2098
2283
|
interface TurnResult<Out> {
|
|
2099
2284
|
out: Out;
|
|
@@ -2101,7 +2286,6 @@ interface TurnResult<Out> {
|
|
|
2101
2286
|
readError?: string;
|
|
2102
2287
|
}
|
|
2103
2288
|
/**
|
|
2104
|
-
* @experimental
|
|
2105
2289
|
* Thrown when a turn is aborted/timed-out mid-settle. Carries the events drained
|
|
2106
2290
|
* BEFORE the abort fired (and any in-progress `readError`) so an aborted run is
|
|
2107
2291
|
* DIAGNOSABLE — the caller can tell never-started (`events: []`) from looped
|
|
@@ -2109,6 +2293,8 @@ interface TurnResult<Out> {
|
|
|
2109
2293
|
*
|
|
2110
2294
|
* `name === 'AbortError'`, so existing `err.name === 'AbortError'` callers (the
|
|
2111
2295
|
* loop kernel, scope, supervise runtime) keep matching it unchanged.
|
|
2296
|
+
*
|
|
2297
|
+
* @experimental
|
|
2112
2298
|
*/
|
|
2113
2299
|
declare class SandboxRunAbortError extends Error {
|
|
2114
2300
|
readonly name = "AbortError";
|
|
@@ -2149,15 +2335,15 @@ interface OpenSandboxRunOptions {
|
|
|
2149
2335
|
readRetryDelayMs?: number;
|
|
2150
2336
|
}
|
|
2151
2337
|
/**
|
|
2152
|
-
* @experimental
|
|
2153
2338
|
* Open a sandbox run. Harness-agnostic: the harness lives in
|
|
2154
2339
|
* `options.agentRun.sandboxOverrides.backend.type`, so opencode/codex/claude-code/
|
|
2155
2340
|
* kimi-code all flow through this one entrypoint with identical env/auth wiring.
|
|
2341
|
+
*
|
|
2342
|
+
* @experimental
|
|
2156
2343
|
*/
|
|
2157
2344
|
declare function openSandboxRun<Out>(client: SandboxClient, options: OpenSandboxRunOptions, deliverable: Deliverable<Out>): Promise<SandboxRun<Out>>;
|
|
2158
2345
|
|
|
2159
2346
|
/**
|
|
2160
|
-
* @experimental
|
|
2161
2347
|
*
|
|
2162
2348
|
* Leak-free steering drivers — the non-LLM controls for the driven loop.
|
|
2163
2349
|
*
|
|
@@ -2198,6 +2384,8 @@ declare function openSandboxRun<Out>(client: SandboxClient, options: OpenSandbox
|
|
|
2198
2384
|
* They consume nothing the loop kernel does not already give `plan()`/`decide()`
|
|
2199
2385
|
* — `runLoop` requires no change. A benchmark picks a driver by name and the
|
|
2200
2386
|
* kernel does the rest.
|
|
2387
|
+
*
|
|
2388
|
+
* @experimental
|
|
2201
2389
|
*/
|
|
2202
2390
|
|
|
2203
2391
|
/**
|
|
@@ -2554,10 +2742,10 @@ declare function pickChampion(means: Record<string, {
|
|
|
2554
2742
|
}>, fieldOrder: string[], policy: ChampionPolicy, epsilon: number): ChampionPick;
|
|
2555
2743
|
/** Search-side champion selection over a tournament report. */
|
|
2556
2744
|
declare function selectChampion(report: BenchmarkReport, fieldOrder: string[], policy: ChampionPolicy, epsilon: number): ChampionPick;
|
|
2745
|
+
/** Multi-generation strategy search: author candidates from tournament losses, play them against the incumbent at equal budget, promote via `promotionGate` on an untouched holdout slice. */
|
|
2557
2746
|
declare function runStrategyEvolution(cfg: StrategyEvolutionConfig): Promise<EvolutionReport>;
|
|
2558
2747
|
|
|
2559
2748
|
/**
|
|
2560
|
-
* @experimental
|
|
2561
2749
|
*
|
|
2562
2750
|
* The supervisor's intelligence is AUTHORING the agents it spawns — not pressing buttons.
|
|
2563
2751
|
*
|
|
@@ -2569,6 +2757,8 @@ declare function runStrategyEvolution(cfg: StrategyEvolutionConfig): Promise<Evo
|
|
|
2569
2757
|
*
|
|
2570
2758
|
* The skill is the single OPTIMIZABLE surface: edit it → the supervisor designs better agents.
|
|
2571
2759
|
* That is the self-improvement lever (the prompt/skill lever), not the execution plumbing.
|
|
2760
|
+
*
|
|
2761
|
+
* @experimental
|
|
2572
2762
|
*/
|
|
2573
2763
|
|
|
2574
2764
|
/** What the supervisor AUTHORS per sub-task — a worker recipe (a partial `AgentProfile`). */
|
|
@@ -2602,6 +2792,7 @@ interface ProfileRichnessThresholds {
|
|
|
2602
2792
|
/** A prompt with fewer than this many non-blank lines is thin (default 6). */
|
|
2603
2793
|
readonly minSystemPromptLines: number;
|
|
2604
2794
|
}
|
|
2795
|
+
/** Default thresholds for `ProfileRichnessThresholds` — 600 chars / 6 lines minimum system prompt. */
|
|
2605
2796
|
declare const defaultProfileRichnessThresholds: ProfileRichnessThresholds;
|
|
2606
2797
|
/** Per-field verdict on one authored profile — the raw material the bench renders + scores. */
|
|
2607
2798
|
interface ProfileRichness {
|
|
@@ -2639,7 +2830,6 @@ declare function profileRichnessFinding(richness: ProfileRichness, opts?: {
|
|
|
2639
2830
|
}): AnalystFinding;
|
|
2640
2831
|
|
|
2641
2832
|
/**
|
|
2642
|
-
* @experimental
|
|
2643
2833
|
*
|
|
2644
2834
|
* The conserved budget reservation pool — the invariant the whole instrument
|
|
2645
2835
|
* rests on (critique M5/B3). One root `Budget` becomes a conserved pool of three
|
|
@@ -2657,6 +2847,8 @@ declare function profileRichnessFinding(richness: ProfileRichness, opts?: {
|
|
|
2657
2847
|
* Pure and deterministic: `now()` is injected, there is no I/O, and no wall-clock or
|
|
2658
2848
|
* RNG read. A `reserve`/`reconcile` ticket is single-use (fail-loud on double or
|
|
2659
2849
|
* unknown reconcile) so a child can never refund twice.
|
|
2850
|
+
*
|
|
2851
|
+
* @experimental
|
|
2660
2852
|
*/
|
|
2661
2853
|
|
|
2662
2854
|
/** Opaque, single-use reservation handle returned by `reserve` and consumed by
|
|
@@ -2735,7 +2927,6 @@ declare function spendFromUsageEvents(events: UsageEvent[]): Spend;
|
|
|
2735
2927
|
declare function createBudgetPool(root: Budget, now?: () => number): BudgetPool;
|
|
2736
2928
|
|
|
2737
2929
|
/**
|
|
2738
|
-
* @experimental
|
|
2739
2930
|
*
|
|
2740
2931
|
* `driverAgent` — the driver's BRAIN.
|
|
2741
2932
|
*
|
|
@@ -2759,6 +2950,8 @@ declare function createBudgetPool(root: Budget, now?: () => number): BudgetPool;
|
|
|
2759
2950
|
* sandboxed harness drives the verbs as MCP tools. The same seam every tool-loop uses.
|
|
2760
2951
|
* - `systemPrompt` — the driver's stance (the agent-eval worker-driver prompt / the prompt
|
|
2761
2952
|
* generator). Injected, never hardcoded — the prompt is a pluggable role.
|
|
2953
|
+
*
|
|
2954
|
+
* @experimental
|
|
2762
2955
|
*/
|
|
2763
2956
|
|
|
2764
2957
|
interface DriverAgentOptions {
|
|
@@ -2835,7 +3028,6 @@ declare function finalizeBestDelivered(settled: ReadonlyArray<{
|
|
|
2835
3028
|
}>, blobs: ResultBlobStore): Promise<unknown>;
|
|
2836
3029
|
|
|
2837
3030
|
/**
|
|
2838
|
-
* @experimental
|
|
2839
3031
|
*
|
|
2840
3032
|
* Serve the coordination verbs (spawn_agent / await_event / observe_agent / steer_agent / stop)
|
|
2841
3033
|
* as a real HTTP MCP server over a LIVE `Scope`. This is the keystone that lets a coding-harness
|
|
@@ -2852,6 +3044,8 @@ declare function finalizeBestDelivered(settled: ReadonlyArray<{
|
|
|
2852
3044
|
* Transport: JSON-RPC over HTTP POST (the MCP streamable-HTTP shape — `application/json` for a
|
|
2853
3045
|
* single response). The server is created INSIDE an agent's `act(task, scope)` so it fronts that
|
|
2854
3046
|
* agent's live scope; tear it down when the act returns.
|
|
3047
|
+
*
|
|
3048
|
+
* @experimental
|
|
2855
3049
|
*/
|
|
2856
3050
|
|
|
2857
3051
|
interface CoordinationMcpHandle {
|
|
@@ -2955,10 +3149,10 @@ interface SupervisorAgentDeps {
|
|
|
2955
3149
|
* instead of re-billing the whole thing every turn. See `DriverAgentOptions.compaction`. */
|
|
2956
3150
|
readonly compaction?: ToolLoopCompactionOptions;
|
|
2957
3151
|
}
|
|
3152
|
+
/** Build a supervisor `Agent` from its profile: the brain resolves from `profile.harness` (backend-as-data), the same resolution rule as every worker. */
|
|
2958
3153
|
declare function supervisorAgent(profile: SupervisorProfile, deps: SupervisorAgentDeps): Agent<unknown, unknown>;
|
|
2959
3154
|
|
|
2960
3155
|
/**
|
|
2961
|
-
* @experimental
|
|
2962
3156
|
*
|
|
2963
3157
|
* `delegate` — the one generic delegation verb. You hand it an INTENT (what you want done) and it
|
|
2964
3158
|
* hands that intent to a default AUTHORING supervisor: a router-brained supervisor whose standing
|
|
@@ -2975,6 +3169,8 @@ declare function supervisorAgent(profile: SupervisorProfile, deps: SupervisorAge
|
|
|
2975
3169
|
* caller on BOTH paths — a `winner` carries the delivered worker's spend, a `no-winner` carries the
|
|
2976
3170
|
* spend incurred before it failed. That cost channel means a `delegate()` caller always learns what
|
|
2977
3171
|
* the delegation actually spent.
|
|
3172
|
+
*
|
|
3173
|
+
* @experimental
|
|
2978
3174
|
*/
|
|
2979
3175
|
|
|
2980
3176
|
/** The conserved pool a `delegate()` call applies when the caller does not pass its own `budget`.
|
|
@@ -3020,7 +3216,6 @@ interface DelegateOptions<Out = unknown> {
|
|
|
3020
3216
|
declare function delegate<Out = unknown>(intent: string, opts?: DelegateOptions<Out>): Promise<SupervisedResult<Out>>;
|
|
3021
3217
|
|
|
3022
3218
|
/**
|
|
3023
|
-
* @experimental
|
|
3024
3219
|
*
|
|
3025
3220
|
* `TraceSource` — the ONE substrate-agnostic source of a worker's tool-call trace. The online
|
|
3026
3221
|
* detectors and the settle-time analyzers consume agent-eval `ToolSpan`s from here, regardless of
|
|
@@ -3036,6 +3231,8 @@ declare function delegate<Out = unknown>(intent: string, opts?: DelegateOptions<
|
|
|
3036
3231
|
*
|
|
3037
3232
|
* This module imports NO substrate SDK — it decodes generic message parts / OpenAI tool-call shapes.
|
|
3038
3233
|
* The sandbox wiring (`sandboxSessionTraceSource`) is the thin adapter that feeds box session parts in.
|
|
3234
|
+
*
|
|
3235
|
+
* @experimental
|
|
3039
3236
|
*/
|
|
3040
3237
|
|
|
3041
3238
|
interface ToolStepInput {
|
|
@@ -3095,13 +3292,14 @@ declare function sandboxSessionTraceSource(box: SessionTraceBox, sessionId: stri
|
|
|
3095
3292
|
}): TraceSource;
|
|
3096
3293
|
|
|
3097
3294
|
/**
|
|
3098
|
-
* @experimental
|
|
3099
3295
|
*
|
|
3100
3296
|
* The ONLINE analyst: watch a `TraceSource` and fold each tool span through agent-eval's published
|
|
3101
3297
|
* streaming detector kernel (`repeatedActionDetector`/`errorStreakDetector` — the SAME kernel the
|
|
3102
3298
|
* control loop folds), firing `onSignal` the moment a worker loops or error-storms. Substrate-
|
|
3103
3299
|
* agnostic: it consumes spans from any source (owned router/bridge loop OR a sandbox box session),
|
|
3104
3300
|
* never the raw tool seam. Detection logic + the failure taxonomy live in agent-eval; not reimplemented.
|
|
3301
|
+
*
|
|
3302
|
+
* @experimental
|
|
3105
3303
|
*/
|
|
3106
3304
|
|
|
3107
3305
|
interface WatchTraceOptions {
|
|
@@ -3124,7 +3322,6 @@ declare function defaultToolDetectors(): StreamingDetector[];
|
|
|
3124
3322
|
declare function watchTrace(source: TraceSource, opts?: WatchTraceOptions): () => void;
|
|
3125
3323
|
|
|
3126
3324
|
/**
|
|
3127
|
-
* @experimental
|
|
3128
3325
|
*
|
|
3129
3326
|
* The worker-side receive end of the down-leg: a per-worker inbox an executor exposes as
|
|
3130
3327
|
* `Executor.deliver`. The driver's `steer_agent` / `answer_question` land here,
|
|
@@ -3138,6 +3335,8 @@ declare function watchTrace(source: TraceSource, opts?: WatchTraceOptions): () =
|
|
|
3138
3335
|
* of a wrong path mid-task instead of waiting for it to finish the step.
|
|
3139
3336
|
*
|
|
3140
3337
|
* `deliver` never throws — a malformed message is ignored, per the `Executor.deliver` contract.
|
|
3338
|
+
*
|
|
3339
|
+
* @experimental
|
|
3141
3340
|
*/
|
|
3142
3341
|
interface InboxMessage {
|
|
3143
3342
|
readonly kind: 'steer' | 'answer';
|
|
@@ -3159,6 +3358,7 @@ interface Inbox {
|
|
|
3159
3358
|
/** Render drained messages as ONE operator turn to fold into the worker's conversation. */
|
|
3160
3359
|
fold(messages: ReadonlyArray<InboxMessage>): string;
|
|
3161
3360
|
}
|
|
3361
|
+
/** Create the worker-side inbox for the down-leg: the driver's `steer_agent` / `answer_question` messages queue here and the worker's loop drains them at step boundaries and before settle. */
|
|
3162
3362
|
declare function createInbox(): Inbox;
|
|
3163
3363
|
|
|
3164
3364
|
/**
|
|
@@ -3169,7 +3369,6 @@ declare function createInbox(): Inbox;
|
|
|
3169
3369
|
declare function assertModelAllowed(model: string | undefined, allowed: readonly string[] | undefined): void;
|
|
3170
3370
|
|
|
3171
3371
|
/**
|
|
3172
|
-
* @experimental
|
|
3173
3372
|
*
|
|
3174
3373
|
* `createInMemoryRunContext` — the one-call bundle of the in-memory stores a
|
|
3175
3374
|
* `createSupervisor().run(root, task, opts)` needs: a fresh `InMemorySpawnJournal`
|
|
@@ -3191,6 +3390,8 @@ declare function assertModelAllowed(model: string | undefined, allowed: readonly
|
|
|
3191
3390
|
* The spread shape matches `SupervisorOpts` exactly, so the call site reads:
|
|
3192
3391
|
* const run = createInMemoryRunContext()
|
|
3193
3392
|
* await createSupervisor().run(root, task, { budget, runId, ...run })
|
|
3393
|
+
*
|
|
3394
|
+
* @experimental
|
|
3194
3395
|
*/
|
|
3195
3396
|
|
|
3196
3397
|
/** Options for the in-memory run context. */
|
|
@@ -3219,7 +3420,6 @@ interface InMemoryRunContext {
|
|
|
3219
3420
|
declare function createInMemoryRunContext(opts?: InMemoryRunContextOptions): InMemoryRunContext;
|
|
3220
3421
|
|
|
3221
3422
|
/**
|
|
3222
|
-
* @experimental
|
|
3223
3423
|
*
|
|
3224
3424
|
* The reactive `Scope` impl (KEYSTONE, build step 4 + the step-8 adapter).
|
|
3225
3425
|
*
|
|
@@ -3242,6 +3442,8 @@ declare function createInMemoryRunContext(opts?: InMemoryRunContextOptions): InM
|
|
|
3242
3442
|
* The settle path is the only writer of journal `settled` events; the spawn path the only
|
|
3243
3443
|
* writer of `spawned` events. The result blob is `put` BEFORE the journal `settled` record
|
|
3244
3444
|
* references its `outRef`, so a crash can never leave a journaled ref with no blob.
|
|
3445
|
+
*
|
|
3446
|
+
* @experimental
|
|
3245
3447
|
*/
|
|
3246
3448
|
|
|
3247
3449
|
/** Construction args for `createScope`. The supervisor threads the shared pool, journal,
|
|
@@ -3275,6 +3477,7 @@ interface ScopeArgs {
|
|
|
3275
3477
|
* (the topology viewer reads it). Undefined ⇒ the journal stays the only record. */
|
|
3276
3478
|
readonly hooks?: RuntimeHooks;
|
|
3277
3479
|
}
|
|
3480
|
+
/** Create the reactive `Scope` a driver's `Agent.act` runs inside: spawn children on an atomically reserved conserved budget, settle via the `next()` cursor, journal for replay. */
|
|
3278
3481
|
declare function createScope<Out>(args: ScopeArgs): Scope<Out>;
|
|
3279
3482
|
/**
|
|
3280
3483
|
* The step-8 merge-boundary adapter (M4): rehydrate a `Settled.done` into the kernel's
|
|
@@ -3351,10 +3554,10 @@ interface SuperviseOptions {
|
|
|
3351
3554
|
* or `supervise()` throws a `ConfigError` before any compute is spent. Unset = unrestricted. */
|
|
3352
3555
|
readonly allowedModels?: readonly string[];
|
|
3353
3556
|
}
|
|
3557
|
+
/** One-call supervisor: build + run a supervisor from its profile with sensible defaults; the raw `supervisorAgent` + `createSupervisor().run` seams stay available for power use. */
|
|
3354
3558
|
declare function supervise(profile: SupervisorProfile, task: unknown, opts: SuperviseOptions): Promise<SupervisedResult<unknown>>;
|
|
3355
3559
|
|
|
3356
3560
|
/**
|
|
3357
|
-
* @experimental
|
|
3358
3561
|
*
|
|
3359
3562
|
* The `Supervisor` impl (KEYSTONE, build step 5).
|
|
3360
3563
|
*
|
|
@@ -3386,18 +3589,21 @@ declare function supervise(profile: SupervisorProfile, task: unknown, opts: Supe
|
|
|
3386
3589
|
* winner `Out`. The supervisor content-addresses that `Out` for its replay `outRef`, reads
|
|
3387
3590
|
* `spentTotal` off the journal (`settled` child work + `metered` driver inference), and wraps
|
|
3388
3591
|
* it as a typed `winner` — it does not re-rank children behind the driver's back.
|
|
3592
|
+
*
|
|
3593
|
+
* @experimental
|
|
3389
3594
|
*/
|
|
3390
3595
|
|
|
3391
3596
|
declare function createSupervisor<Task, Out>(): Supervisor<Task, Out>;
|
|
3392
3597
|
|
|
3393
3598
|
/**
|
|
3394
|
-
* @experimental
|
|
3395
3599
|
*
|
|
3396
3600
|
* The SETTLE-time analyst: when a worker finishes, collect its tool spans from a `TraceSource` and run
|
|
3397
3601
|
* agent-eval's PUBLISHED batch analyzers over them — `buildTrajectory` (structured run summary),
|
|
3398
3602
|
* `stuckLoopView` (full-run repeated-call view, complementing the online consecutive detector), and
|
|
3399
3603
|
* `toolWasteView`. Substrate-agnostic: the spans come from any source (an owned loop's buffer OR a
|
|
3400
3604
|
* sandbox box session). No analysis reimplemented — this is the thin bridge into agent-eval's analyzers.
|
|
3605
|
+
*
|
|
3606
|
+
* @experimental
|
|
3401
3607
|
*/
|
|
3402
3608
|
|
|
3403
3609
|
interface TrajectoryAnalysis {
|
|
@@ -3513,6 +3719,7 @@ interface VerifierEnvironmentOptions {
|
|
|
3513
3719
|
/** Executes the extra tools. Required when `extraTools` is set. */
|
|
3514
3720
|
callExtra?(task: AgenticTask, name: string, args: Record<string, unknown>): Promise<string> | string;
|
|
3515
3721
|
}
|
|
3722
|
+
/** Any checkable task as an `Environment`, no tool surface required: the artifact is the worker's answer and the domain is one deployable `check` over it. */
|
|
3516
3723
|
declare function createVerifierEnvironment(opts: VerifierEnvironmentOptions): Environment;
|
|
3517
3724
|
|
|
3518
3725
|
/** Command runner seam. Host code can use `localShell`; sandbox code can wrap `box.exec`. */
|
|
@@ -3534,6 +3741,7 @@ interface Workspace {
|
|
|
3534
3741
|
commit(dir: string, message: string): Promise<WorkspaceCommit>;
|
|
3535
3742
|
head(): Promise<string>;
|
|
3536
3743
|
}
|
|
3744
|
+
/** Host-process `Shell`: run a command via `execFile`, resolving `{ stdout, stderr, code }` (never throws on non-zero exit). */
|
|
3537
3745
|
declare function localShell(): Shell;
|
|
3538
3746
|
interface GitWorkspaceOptions {
|
|
3539
3747
|
readonly ref: string;
|
|
@@ -3541,6 +3749,7 @@ interface GitWorkspaceOptions {
|
|
|
3541
3749
|
readonly branch?: string;
|
|
3542
3750
|
readonly noHooks?: boolean;
|
|
3543
3751
|
}
|
|
3752
|
+
/** A `Workspace` over a git checkout: materialize an isolated worktree at `ref`, commit produced changes (conflict-aware), and read `head` — hooks disabled, identity pinned. */
|
|
3544
3753
|
declare function gitWorkspace(opts: GitWorkspaceOptions): Workspace;
|
|
3545
3754
|
/** A jj-backed `Workspace` (Jujutsu, colocated with git for the durable remote).
|
|
3546
3755
|
* Same port, same `Shell` — a drop-in for `gitWorkspace`. jj suits agent loops:
|
|
@@ -3569,4 +3778,4 @@ declare function runInWorkspace<T>(ws: Workspace, body: (cwd: string) => Promise
|
|
|
3569
3778
|
commitOnInvalid?: boolean;
|
|
3570
3779
|
}): Promise<WorkspaceRun<T>>;
|
|
3571
3780
|
|
|
3572
|
-
export { Agent, AgentRunSpec, type AgenticOptions, type AgenticRunResult, type AgenticSurface, type AgenticTask, type AgenticTool, AnalystRegistry, type AnytimeReport, type AnytimeStrategySummary, type AnytimeTaskCurve, type ApplyContinuation, type ArtifactHandle, AssertTraceDerivedFindings, type AuditIntentInput, type AuditIntentOptions, type AuthorStrategyOptions, type AuthoredProfile, type AuthoredStrategy, type BenchmarkCell, type BenchmarkConfig, type BenchmarkLift, type BenchmarkReport, type BenchmarkStrategySummary, type BenchmarkTaskRow, Budget, type BudgetPool, type BudgetReadout, type ChampionPick, type ChampionPolicy, type CheckpointCapableBox, CombinatorShape, type CompletionAnalyst, type CompletionEvidence, type CompletionPolicy, type CompletionVerdict, CoordinationEvent, type CoordinationMcpHandle, Corpus, CorpusFilter, CorpusRecord, type CreateScopeAnalystOptions, type CriuCapableClient, DefinePersonaInput, type DelegateOptions, type Deliverable, DeliverableSpec, type DriveHarness, Driver, type DriverAgentOptions, type DumbDriverOptions, type Environment, EqualKArm, EqualKOnCostOptions, EqualKVerdict, type EvolutionArchiveNode, type EvolutionAuthor, type EvolutionBandInfo, type EvolutionCandidate, type EvolutionGeneration, type EvolutionReport, ExecCtx, ExecutorConfig, ExecutorFactory, ExecutorRegistry, FanoutOptions, FanoutWinnerSelector, FileCorpus, type ForkCapableBox, type GitWorkspaceOptions, type HarvestCorpusOptions, type HarvestFailure, type HarvestReport, InMemoryCorpus, InMemoryResultBlobStore, type InMemoryRunContext, type InMemoryRunContextOptions, InMemorySpawnJournal, type InProcessOnPrompt, type InProcessPromptCtx, type InProcessSandboxClientOptions, type Inbox, type InboxMessage, type IntentAudit, type Interval, Iteration, type Leaderboard, type LeaderboardOptions, type LeaderboardRow, type LoopCampaignDispatchOptions, type LoopDispatchOptions, LoopLineageOptions, type LoopOptionsForDispatch, LoopResult, LoopShape, LoopTokenUsage, LoopUntilSpec, LoopWinner, MakeWorkerAgent, type McpEndpoint, type McpEnvironmentOptions, MountRecorder, type NaiveDriverOptions, type Observation, type ObserveInput, type ObserveOptions, type OpenSandboxRunOptions, Outcome, OutputAdapter, type PairwiseOptions, type PairwiseVerdict, PanelSpec, Persona, PipelineStage, type ProfileRichness, type ProfileRichnessThresholds, type PromotionGateOptions, type PromotionVerdict, type RegistryAnalyzeProjection, RenderCorpusToInstructionsOptions, type ReservationTicket, type ResolveSandboxClientOptions, ResultBlobStore, RouterConfig, type RunAgenticOptions, RunPersonifiedOptions, type SandboxCapabilities, SandboxClient, type SandboxLineage, type SandboxLineageHandle, type SandboxRun, SandboxRunAbortError, Scope, ScopeAnalyst, ScopeAnalyzeInput, ScopeWidenGate, type SessionCapableBox, type SessionTraceBox, Settled, ShapeRegistry, type Shell, type ShotPersona, type ShotSpec, Spend, SteerContext, type SteeringDecision, type Strategy, type StrategyCtx, type StrategyEvolutionConfig, type StrategyResult, type SuperviseOptions, type SuperviseSurfaceOptions, type SuperviseSurfaceResult, SupervisedResult, Supervisor, type SupervisorAgentDeps, type SupervisorProfile, type SurfaceScore, type SurfaceWorkerConfig, type SurfaceWorkerOut, ToolLoopChat, ToolLoopCompactionOptions, type TraceSource, type TrajectoryAnalysis, TrajectoryReport, TrajectoryReportOptions, type TurnResult, UsageEvent, type UsageSink, Validator, type VerifierEnvironmentOptions, VerifySpec, type WatchTraceOptions, type WaterfallCollector, type WaterfallReport, type WaterfallSpan, WidenSpec, WinnerStrategy, type Workspace, type WorkspaceCommit, type WorkspaceRun, acquireSandbox, adaptiveRefine, analyzeTrace, anytimeReport, asAuthoredProfile, assertModelAllowed, assertStrategyContract, assertTraceDerivedFindings, assessAuthoredProfile, auditIntent, authorStrategy, authoredWorker, breadthStrategy, buildSteerContext, builtinShapes, completionAuthorizes, contentAddress, createBudgetPool, createInMemoryRunContext, createInbox, createMcpEnvironment, createPushTraceSource, createSandboxLineage, createScope, createScopeAnalyst, createShapeRegistry, createSupervisor, createVerifierEnvironment, createWaterfallCollector, decodeToolPart, defaultAnalystInstruction, defaultAuditorInstruction, defaultDelegateBudget, defaultProfileRichnessThresholds, defaultSelectWinner, defaultToolDetectors, definePersona, defineStrategy, delegate, depthStrategy, deterministicCompletion, discriminatingMeans, driverAgent, dumbDriver, equalKOnCost, extractLlmCallEvent, failuresAnalyst, fanout, finalizeBestDelivered, flatWidenGate, gitWorkspace, harvestCorpus, inProcessSandboxClient, inlineSandboxClient, jjWorkspace, leaderboard, localShell, loopCampaignDispatch, loopDispatch, loopUntil, mapSandboxEvent, naiveDriver, observe, openSandboxRun, pairwiseSignificance, panel, pickChampion, pipeline, printBenchmarkReport, probeSandboxCapabilities, profileRichnessFinding, promotionGate, refine, registerShape, registryScopeAnalyst, renderAnytimeTable, renderCorpusToInstructions, renderLeaderboardHtml, renderLeaderboardMarkdown, renderLeaderboardSvg, renderPairwiseMarkdown, renderReport, reportLoopUsage, resolveSandboxClient, runAgentic, runBenchmark, runInWorkspace, runLoop, runPersonified, runStrategyEvolution, sample, sampleThenRefine, sandboxSessionTraceSource, selectChampion, selectValidWinner, sentinelCompletion, serveCoordinationMcp, settledToIteration, spendFromUsageEvents, stopSentinel, strategyAuthorContract, sumSandboxUsage, supervise, superviseSurface, supervisorAgent, supervisorInstructions, trajectoryReport, verify, watchTrace, widen, workerFromBackend };
|
|
3781
|
+
export { Agent, AgentRunSpec, type AgenticOptions, type AgenticRunResult, type AgenticSurface, type AgenticTask, type AgenticTool, AnalystRegistry, type AnytimeReport, type AnytimeStrategySummary, type AnytimeTaskCurve, type ApplyContinuation, type ArtifactHandle, AssertTraceDerivedFindings, type AuditIntentInput, type AuditIntentOptions, type AuthorStrategyOptions, type AuthoredProfile, type AuthoredStrategy, type BenchmarkCell, type BenchmarkConfig, type BenchmarkLift, type BenchmarkReport, type BenchmarkStrategySummary, type BenchmarkTaskRow, Budget, type BudgetPool, type BudgetReadout, type ChampionPick, type ChampionPolicy, type CheckpointCapableBox, CombinatorShape, type CompletionAnalyst, type CompletionEvidence, type CompletionPolicy, type CompletionVerdict, CoordinationEvent, type CoordinationMcpHandle, Corpus, CorpusFilter, CorpusRecord, type CreateScopeAnalystOptions, type CriuCapableClient, DefinePersonaInput, type DefinedLeaderboard, type DelegateOptions, type Deliverable, DeliverableSpec, type DriveHarness, Driver, type DriverAgentOptions, type DumbDriverOptions, type Environment, EqualKArm, EqualKOnCostOptions, EqualKVerdict, type EvolutionArchiveNode, type EvolutionAuthor, type EvolutionBandInfo, type EvolutionCandidate, type EvolutionGeneration, type EvolutionReport, ExecCtx, ExecutorConfig, ExecutorFactory, ExecutorRegistry, FanoutOptions, FanoutWinnerSelector, FileCorpus, type ForkCapableBox, type GitWorkspaceOptions, type HarvestCorpusOptions, type HarvestFailure, type HarvestReport, InMemoryCorpus, InMemoryResultBlobStore, type InMemoryRunContext, type InMemoryRunContextOptions, InMemorySpawnJournal, type InProcessOnPrompt, type InProcessPromptCtx, type InProcessSandboxClientOptions, type Inbox, type InboxMessage, type IntentAudit, type Interval, Iteration, type Leaderboard, type LeaderboardBenchScore, type LeaderboardBenchTask, type LeaderboardBenchmarkAdapter, type LeaderboardFlagSpec, type LeaderboardOptions, type LeaderboardRow, type LeaderboardRunContext, type LeaderboardScenario, type LeaderboardScore, type LeaderboardSpec, type LoopCampaignDispatchOptions, type LoopDispatchOptions, LoopLineageOptions, type LoopOptionsForDispatch, LoopResult, LoopShape, LoopTokenUsage, LoopUntilSpec, LoopWinner, MakeWorkerAgent, type McpEndpoint, type McpEnvironmentOptions, MountRecorder, type NaiveDriverOptions, type Observation, type ObserveInput, type ObserveOptions, type OpenSandboxRunOptions, Outcome, OutputAdapter, type PairwiseOptions, type PairwiseVerdict, PanelSpec, Persona, PipelineStage, type ProfileRichness, type ProfileRichnessThresholds, type PromotionGateOptions, type PromotionVerdict, type RegistryAnalyzeProjection, RenderCorpusToInstructionsOptions, type ReservationTicket, type ResolveSandboxClientOptions, ResultBlobStore, RouterConfig, type RunAgenticOptions, RunPersonifiedOptions, type SandboxCapabilities, SandboxClient, type SandboxLineage, type SandboxLineageHandle, type SandboxRun, SandboxRunAbortError, Scope, ScopeAnalyst, ScopeAnalyzeInput, ScopeWidenGate, type SessionCapableBox, type SessionTraceBox, Settled, ShapeRegistry, type Shell, type ShotPersona, type ShotSpec, Spend, SteerContext, type SteeringDecision, type Strategy, type StrategyCtx, type StrategyEvolutionConfig, type StrategyResult, type SuperviseOptions, type SuperviseSurfaceOptions, type SuperviseSurfaceResult, SupervisedResult, Supervisor, type SupervisorAgentDeps, type SupervisorProfile, type SurfaceScore, type SurfaceWorkerConfig, type SurfaceWorkerOut, ToolLoopChat, ToolLoopCompactionOptions, type TraceSource, type TrajectoryAnalysis, TrajectoryReport, TrajectoryReportOptions, type TurnResult, UsageEvent, type UsageSink, Validator, type VerifierEnvironmentOptions, VerifySpec, type WatchTraceOptions, type WaterfallCollector, type WaterfallReport, type WaterfallSpan, WidenSpec, WinnerStrategy, type Workspace, type WorkspaceCommit, type WorkspaceRun, acquireSandbox, adaptiveRefine, analyzeTrace, anytimeReport, asAuthoredProfile, assertModelAllowed, assertStrategyContract, assertTraceDerivedFindings, assessAuthoredProfile, auditIntent, authorStrategy, authoredWorker, breadthStrategy, buildSteerContext, builtinShapes, completionAuthorizes, contentAddress, createBudgetPool, createInMemoryRunContext, createInbox, createMcpEnvironment, createPushTraceSource, createSandboxLineage, createScope, createScopeAnalyst, createShapeRegistry, createSupervisor, createVerifierEnvironment, createWaterfallCollector, decodeToolPart, defaultAnalystInstruction, defaultAuditorInstruction, defaultDelegateBudget, defaultProfileRichnessThresholds, defaultSelectWinner, defaultToolDetectors, defineLeaderboard, definePersona, defineStrategy, delegate, depthStrategy, deterministicCompletion, discriminatingMeans, driverAgent, dumbDriver, equalKOnCost, extractLlmCallEvent, failuresAnalyst, fanout, finalizeBestDelivered, flatWidenGate, gitWorkspace, harvestCorpus, inProcessSandboxClient, inlineSandboxClient, jjWorkspace, leaderboard, localShell, loopCampaignDispatch, loopDispatch, loopUntil, mapSandboxEvent, naiveDriver, observe, openSandboxRun, pairwiseSignificance, panel, pickChampion, pipeline, printBenchmarkReport, probeSandboxCapabilities, profileRichnessFinding, promotionGate, refine, registerShape, registryScopeAnalyst, renderAnytimeTable, renderCorpusToInstructions, renderLeaderboardHtml, renderLeaderboardMarkdown, renderLeaderboardSvg, renderPairwiseMarkdown, renderReport, reportLoopUsage, resolveSandboxClient, runAgentic, runBenchmark, runInWorkspace, runLoop, runPersonified, runStrategyEvolution, sample, sampleThenRefine, sandboxSessionTraceSource, selectChampion, selectValidWinner, sentinelCompletion, serveCoordinationMcp, settledToIteration, spendFromUsageEvents, stopSentinel, strategyAuthorContract, sumSandboxUsage, supervise, superviseSurface, supervisorAgent, supervisorInstructions, trajectoryReport, verify, watchTrace, widen, workerFromBackend };
|