@odla-ai/harness 0.5.2 → 0.7.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/dist/node.d.cts CHANGED
@@ -349,12 +349,12 @@ interface FrozenCodeLocalSource {
349
349
  }
350
350
 
351
351
  /** v1's system prompt, verbatim. Do not edit without re-baselining the bench. */
352
- declare const V1_SYSTEM_PROMPT = "You are Pi, the coding agent inside an odla Code harness.\nUse only the odla_read, odla_apply_git_diff, and odla_run_recipe tools.\nFor mutations, call odla_apply_git_diff with raw git diff text. It must start\nwith \"diff --git a/<path> b/<path>\", include matching \"---\" and \"+++\" file\nheaders and numbered \"@@\" hunks, and never use \"*** Begin Patch\" wrappers.\nThe workspace, model, and tool effects are controlled by the host broker.\nNever claim a build or test passed unless odla_run_recipe returned that result.";
352
+ declare const V1_SYSTEM_PROMPT = "You are Theseus, the coding agent inside an odla Code harness.\nUse only the odla_read, odla_apply_git_diff, and odla_run_recipe tools.\nFor mutations, call odla_apply_git_diff with raw git diff text. It must start\nwith \"diff --git a/<path> b/<path>\", include matching \"---\" and \"+++\" file\nheaders and numbered \"@@\" hunks, and never use \"*** Begin Patch\" wrappers.\nThe workspace, model, and tool effects are controlled by the host broker.\nNever claim a build or test passed unless odla_run_recipe returned that result.";
353
353
  /** The v2 prompt. v1's said "Use only the odla_read, odla_apply_git_diff, and
354
354
  * odla_run_recipe tools", so leaving it in place would have told the model not
355
355
  * to touch the tools this milestone exists to test. */
356
356
  declare const V2_SYSTEM_PROMPT = "You are the coding agent inside an odla Code harness.\nStart by orienting: odla_list shows the files in the workspace and odla_search\nfinds a literal string across them. Prefer those over guessing a path.\nThen odla_read a bounded range, and odla_apply_git_diff to mutate.\nFor mutations, call odla_apply_git_diff with raw git diff text. It must start\nwith \"diff --git a/<path> b/<path>\", include matching \"---\" and \"+++\" file\nheaders and numbered \"@@\" hunks, and never use \"*** Begin Patch\" wrappers.\nThe workspace, model, and tool effects are controlled by the host broker.\nNever claim a build or test passed unless odla_run_recipe returned that result.";
357
- /** Which tool surface the agent sees. `v1` reproduces the Pi container's exact
357
+ /** Which tool surface the agent sees. `v1` reproduces the Theseus container's exact
358
358
  * three tools so the recorded baseline stays comparable. */
359
359
  type CodeSurface = "v1" | "v2" | "v3";
360
360
  /** v3 leads with orientation, because that is where the tokens went. */
@@ -363,7 +363,7 @@ declare const V3_SYSTEM_PROMPT = "You are the coding agent inside an odla Code h
363
363
  * The system prompt for each tool surface, keyed by version.
364
364
  *
365
365
  * Kept addressable so a benchmark can hold everything else fixed and vary only
366
- * the prompt — v1 is byte-identical to what the retired Pi agent shipped, which
366
+ * the prompt — v1 is byte-identical to what the retired Theseus agent shipped, which
367
367
  * is what makes the comparison against v2 and v3 meaningful.
368
368
  */
369
369
  declare const SYSTEM_PROMPT_FOR: Record<CodeSurface, string>;
@@ -372,6 +372,8 @@ interface CodeSkillOpts {
372
372
  broker: HarnessToolBroker;
373
373
  lease: HarnessLease;
374
374
  workspaceDir: string;
375
+ /** Exact CaMeL-registered recipes available to this attempt. */
376
+ recipeIds?: readonly string[];
375
377
  /** Defaults to v1 so an unqualified run reproduces the baseline. */
376
378
  surface?: CodeSurface;
377
379
  /** Records every brokered call so the report can attribute errors per tool. */
@@ -379,6 +381,7 @@ interface CodeSkillOpts {
379
381
  tool: HarnessToolName;
380
382
  ok: boolean;
381
383
  durationMs: number;
384
+ error?: string;
382
385
  }): void;
383
386
  }
384
387
  /**
@@ -398,6 +401,8 @@ interface CodeAgentAttemptOptions {
398
401
  prompt: string;
399
402
  surface?: CodeSurface;
400
403
  maxSteps?: number;
404
+ /** Exact registered build/test recipe IDs available to the runtime. */
405
+ recipeIds?: readonly string[];
401
406
  /** Run-wide ceiling enforced by runAgent against incremental usage. */
402
407
  budget?: AgentRunBudget;
403
408
  signal?: AbortSignal;
@@ -406,6 +411,7 @@ interface CodeAgentAttemptOptions {
406
411
  tool: HarnessToolName;
407
412
  ok: boolean;
408
413
  durationMs: number;
414
+ error?: string;
409
415
  }): void;
410
416
  }
411
417
  /** Whether one attempt completed, and the text it ended on. */
@@ -481,7 +487,7 @@ interface CodeToolBrokerOptions {
481
487
  maxPatchBytes?: number;
482
488
  maxRecipeWorkspaceFiles?: number;
483
489
  maxRecipeWorkspaceBytes?: number;
484
- /** Paths Pi may read but may never modify. Prefixes are relative directory names. */
490
+ /** Paths Theseus may read but may never modify. Prefixes are relative directory names. */
485
491
  readOnlyPrefixes?: readonly string[];
486
492
  consumeApproval?(input: CodeToolDecision & {
487
493
  actionDigest: string;
@@ -489,8 +495,8 @@ interface CodeToolBrokerOptions {
489
495
  onDecision?(decision: CodeToolDecision): Promise<void> | void;
490
496
  }
491
497
 
492
- /** Trusted control plane, isolation engine, Pi image, recipes, and resource policy for a Code runtime. */
493
- interface CodePiRuntimeEngineOptions {
498
+ /** Trusted control plane, isolation engine, recipes, and resource policy for the Theseus Code runtime. */
499
+ interface TheseusRuntimeEngineOptions {
494
500
  control: CodeRuntimeAgentControlPlane;
495
501
  engine: ContainerEngine;
496
502
  recipes: readonly CodeBuildRecipe[];
@@ -505,11 +511,11 @@ interface CodePiRuntimeEngineOptions {
505
511
  localSource?: FrozenCodeLocalSource;
506
512
  }
507
513
 
508
- /** Execute fenced Code commands with real Pi in a credentialless, networkless container. */
509
- declare class CodePiRuntimeEngine implements CodeRuntimeCommandEngine {
514
+ /** Execute fenced Theseus Code commands in a credentialless, networkless container. */
515
+ declare class TheseusRuntimeEngine implements CodeRuntimeCommandEngine {
510
516
  #private;
511
517
  private readonly options;
512
- constructor(options: CodePiRuntimeEngineOptions);
518
+ constructor(options: TheseusRuntimeEngineOptions);
513
519
  execute(command: CodeRuntimeCommand): Promise<CodeRuntimeCommandResult>;
514
520
  acknowledged(command: CodeRuntimeCommand, result: CodeRuntimeCommandResult): Promise<void>;
515
521
  close(): Promise<void>;
@@ -583,7 +589,7 @@ interface Options {
583
589
  fallbackPolicyDigest: `sha256:${string}`;
584
590
  event(command: CodeRuntimeCommand, event: CodeSessionEventData, refs: string[]): Promise<void>;
585
591
  }
586
- /** Own checkpoint evidence and candidate admission retries outside the Pi process lifecycle. */
592
+ /** Own checkpoint evidence and candidate admission retries outside the Theseus process lifecycle. */
587
593
  declare class CodeRuntimeCheckpointManager {
588
594
  #private;
589
595
  private readonly options;
@@ -636,7 +642,7 @@ declare function materializeCommandWorkspace(input: {
636
642
  requestedLocal: CodeLocalSourceDescriptor | null;
637
643
  }>;
638
644
 
639
- /** Create the trusted CaMeL boundary for all Pi filesystem and build effects. */
645
+ /** Create the trusted CaMeL boundary for all Theseus filesystem and build effects. */
640
646
  declare function createCodeToolBroker(options: CodeToolBrokerOptions): HarnessToolBroker;
641
647
 
642
648
  /** One brokered tool call, recorded for per-tool error attribution. */
@@ -644,6 +650,9 @@ interface CodeToolCallRecord {
644
650
  tool: HarnessToolName;
645
651
  ok: boolean;
646
652
  durationMs: number;
653
+ /** Why it failed, bounded, when it did — the same phrasing the model was
654
+ * given. Absent on success. */
655
+ error?: string;
647
656
  }
648
657
  /** One coding run: which tool surface, which model, and what it may spend. */
649
658
  interface RunCodeAgentOptions {
@@ -687,6 +696,8 @@ interface RunCodeAgentOptions {
687
696
  * of this package's install graph for a capability not every consumer wants.
688
697
  */
689
698
  extraSkills?: Skill[];
699
+ /** Exact registered build/test recipe IDs exposed in the tool schema. */
700
+ recipeIds?: readonly string[];
690
701
  }
691
702
  /** A finished run — its final text, why it stopped, and what it cost. */
692
703
  interface CodeAgentRun {
@@ -1329,4 +1340,4 @@ interface CodeVerificationEvidence {
1329
1340
  /** Rebuild a candidate from an exact trusted base and emit a prose-free clean-verifier receipt. */
1330
1341
  declare function verifyCodeCandidate(input: VerifyCodeCandidateInput): Promise<CodeVerificationEvidence>;
1331
1342
 
1332
- export { CODE_RUNTIME_PROTOCOL_VERSION, type CodeAgentAttemptOptions, type CodeAgentAttemptResult, type CodeAgentRun, type CodeBuildRecipe, type CodeExpectedArtifact, type CodeLocalSourceDescriptor, type CodeMemory, type CodeMemoryEvidence, type CodeMemoryKind, type CodeMemoryStore, CodePiRuntimeEngine, type CodePiRuntimeEngineOptions, type CodeRecipeExecutor, type CodeRecipeResult, type CodeRuntimeAgentControlPlane, type CodeRuntimeBinding, type CodeRuntimeCandidateResponse, type CodeRuntimeCapabilities, CodeRuntimeCheckpointManager, type CodeRuntimeClientOptions, type CodeRuntimeCommand, type CodeRuntimeCommandEngine, type CodeRuntimeCommandKind, type CodeRuntimeCommandResult, CodeRuntimeControlError, type CodeRuntimeControlPlane, type CodeRuntimeInferenceOptions, type CodeRuntimeLoopOptions, type CodeRuntimeMemory, type CodeRuntimeNewMemory, CodeRuntimeReconciler, type CodeRuntimeReviewRequest, type CodeRuntimeReviewResponse, type CodeRuntimeSnapshot, type CodeRuntimeSourceSnapshot, type CodeSkillOpts, type CodeSurface, type CodeToolBrokerOptions, type CodeToolCallRecord, type CodeToolDecision, type CodeVerificationEvidence, type CodeVerificationLog, type CodeVerificationPolicy, type ContainerEngine, type ContainerEngineSelectionOptions, type ContainerEngineVerificationOptions, type ContainerLimits, type ContainerRunOptions, type ContainerRunResult, type CreateCodeWorkspaceCheckpointInput, type DecomposedRun, DecompositionError, type GoalAttempt, type GoalAttemptInput, type GoalAttemptOutcome, type GoalAttemptRecord, type GoalBudget, type GoalEvent, type GoalOutcome, type GoalRun, type GoalRunSpec, type GoalStoppedReason, type GoalStrategy, type HarnessRunnerOptions, type IntegrateOptions, type IntegrationStep, MAX_MEMORY_BODY, MEASURED_PREMIUM, type MaterializedCodeSource, type MaterializedGitTree, type NewCodeMemory, type PrepareRuntimeCheckpointInput, type PreparedRuntimeCheckpoint, type RacedAttemptOptions, type RacedOutcome, type RecallOptions, type RecipeDependencies, type RestoreCodeWorkspaceCheckpointInput, type RestoredCodeWorkspaceCheckpoint, type RunCodeAgentOptions, type RuntimeCheckpointSession, SYSTEM_PROMPT_FOR, type StageWorkspaceOptions, type StagedWorkspace, type StrategyChoice, type StrategySignals, type SubGoal, type SubGoalResult, V1_SYSTEM_PROMPT, V2_SYSTEM_PROMPT, V3_SYSTEM_PROMPT, type VerifyCodeCandidateInput, applyCodePatch, assertCodeBuildRecipe, assertDisjointPlan, assertPinnedImage, attachCodeRuntimeReferences, buildContainerRunArgs, buildRecipeContainerArgs, chooseStrategy, codeSkill, createCodeRuntimeControlClient, createCodeRuntimeInference, createCodeToolBroker, createCodeWorkspaceCheckpoint, createContainerRecipeExecutor, describePatchFailure, digestStagedWorkspace, feedbackIsActionable, hazardFromAttempt, installedDependencies, integrateSubGoals, isCheckpointEffectCompleted, materializeCodeRuntimeSource, materializeCommandWorkspace, materializeGitTree, outcomeCloses, outcomeMemory, patchPaths, planReachCollisions, prepareRuntimeCheckpoint, racedAttempt, recallAbout, registeredFiles, renderMemories, renderOutcome, resolveCodePath, restoreCodeWorkspaceCheckpoint, runCodeAgent, runCodeAgentAttempt, runCodeRuntimeHeartbeatLoop, runContainerAttempt, runGoal, runHarnessRunner, runLeasedAttempt, runtimeMemoryStore, safeWorkspaceLabel, selectContainerEngine, selectWinner, stageWorkspace, stageWorkspacePair, straySubGoalFiles, stripPatchEnvelope, validateCodePatch, validateMemory, validateRelativePath, verifyCodeCandidate, verifyContainerEngineBoundary, withRecipeDependencies };
1343
+ export { CODE_RUNTIME_PROTOCOL_VERSION, type CodeAgentAttemptOptions, type CodeAgentAttemptResult, type CodeAgentRun, type CodeBuildRecipe, type CodeExpectedArtifact, type CodeLocalSourceDescriptor, type CodeMemory, type CodeMemoryEvidence, type CodeMemoryKind, type CodeMemoryStore, type CodeRecipeExecutor, type CodeRecipeResult, type CodeRuntimeAgentControlPlane, type CodeRuntimeBinding, type CodeRuntimeCandidateResponse, type CodeRuntimeCapabilities, CodeRuntimeCheckpointManager, type CodeRuntimeClientOptions, type CodeRuntimeCommand, type CodeRuntimeCommandEngine, type CodeRuntimeCommandKind, type CodeRuntimeCommandResult, CodeRuntimeControlError, type CodeRuntimeControlPlane, type CodeRuntimeInferenceOptions, type CodeRuntimeLoopOptions, type CodeRuntimeMemory, type CodeRuntimeNewMemory, CodeRuntimeReconciler, type CodeRuntimeReviewRequest, type CodeRuntimeReviewResponse, type CodeRuntimeSnapshot, type CodeRuntimeSourceSnapshot, type CodeSkillOpts, type CodeSurface, type CodeToolBrokerOptions, type CodeToolCallRecord, type CodeToolDecision, type CodeVerificationEvidence, type CodeVerificationLog, type CodeVerificationPolicy, type ContainerEngine, type ContainerEngineSelectionOptions, type ContainerEngineVerificationOptions, type ContainerLimits, type ContainerRunOptions, type ContainerRunResult, type CreateCodeWorkspaceCheckpointInput, type DecomposedRun, DecompositionError, type GoalAttempt, type GoalAttemptInput, type GoalAttemptOutcome, type GoalAttemptRecord, type GoalBudget, type GoalEvent, type GoalOutcome, type GoalRun, type GoalRunSpec, type GoalStoppedReason, type GoalStrategy, type HarnessRunnerOptions, type IntegrateOptions, type IntegrationStep, MAX_MEMORY_BODY, MEASURED_PREMIUM, type MaterializedCodeSource, type MaterializedGitTree, type NewCodeMemory, type PrepareRuntimeCheckpointInput, type PreparedRuntimeCheckpoint, type RacedAttemptOptions, type RacedOutcome, type RecallOptions, type RecipeDependencies, type RestoreCodeWorkspaceCheckpointInput, type RestoredCodeWorkspaceCheckpoint, type RunCodeAgentOptions, type RuntimeCheckpointSession, SYSTEM_PROMPT_FOR, type StageWorkspaceOptions, type StagedWorkspace, type StrategyChoice, type StrategySignals, type SubGoal, type SubGoalResult, TheseusRuntimeEngine, type TheseusRuntimeEngineOptions, V1_SYSTEM_PROMPT, V2_SYSTEM_PROMPT, V3_SYSTEM_PROMPT, type VerifyCodeCandidateInput, applyCodePatch, assertCodeBuildRecipe, assertDisjointPlan, assertPinnedImage, attachCodeRuntimeReferences, buildContainerRunArgs, buildRecipeContainerArgs, chooseStrategy, codeSkill, createCodeRuntimeControlClient, createCodeRuntimeInference, createCodeToolBroker, createCodeWorkspaceCheckpoint, createContainerRecipeExecutor, describePatchFailure, digestStagedWorkspace, feedbackIsActionable, hazardFromAttempt, installedDependencies, integrateSubGoals, isCheckpointEffectCompleted, materializeCodeRuntimeSource, materializeCommandWorkspace, materializeGitTree, outcomeCloses, outcomeMemory, patchPaths, planReachCollisions, prepareRuntimeCheckpoint, racedAttempt, recallAbout, registeredFiles, renderMemories, renderOutcome, resolveCodePath, restoreCodeWorkspaceCheckpoint, runCodeAgent, runCodeAgentAttempt, runCodeRuntimeHeartbeatLoop, runContainerAttempt, runGoal, runHarnessRunner, runLeasedAttempt, runtimeMemoryStore, safeWorkspaceLabel, selectContainerEngine, selectWinner, stageWorkspace, stageWorkspacePair, straySubGoalFiles, stripPatchEnvelope, validateCodePatch, validateMemory, validateRelativePath, verifyCodeCandidate, verifyContainerEngineBoundary, withRecipeDependencies };
package/dist/node.d.ts CHANGED
@@ -349,12 +349,12 @@ interface FrozenCodeLocalSource {
349
349
  }
350
350
 
351
351
  /** v1's system prompt, verbatim. Do not edit without re-baselining the bench. */
352
- declare const V1_SYSTEM_PROMPT = "You are Pi, the coding agent inside an odla Code harness.\nUse only the odla_read, odla_apply_git_diff, and odla_run_recipe tools.\nFor mutations, call odla_apply_git_diff with raw git diff text. It must start\nwith \"diff --git a/<path> b/<path>\", include matching \"---\" and \"+++\" file\nheaders and numbered \"@@\" hunks, and never use \"*** Begin Patch\" wrappers.\nThe workspace, model, and tool effects are controlled by the host broker.\nNever claim a build or test passed unless odla_run_recipe returned that result.";
352
+ declare const V1_SYSTEM_PROMPT = "You are Theseus, the coding agent inside an odla Code harness.\nUse only the odla_read, odla_apply_git_diff, and odla_run_recipe tools.\nFor mutations, call odla_apply_git_diff with raw git diff text. It must start\nwith \"diff --git a/<path> b/<path>\", include matching \"---\" and \"+++\" file\nheaders and numbered \"@@\" hunks, and never use \"*** Begin Patch\" wrappers.\nThe workspace, model, and tool effects are controlled by the host broker.\nNever claim a build or test passed unless odla_run_recipe returned that result.";
353
353
  /** The v2 prompt. v1's said "Use only the odla_read, odla_apply_git_diff, and
354
354
  * odla_run_recipe tools", so leaving it in place would have told the model not
355
355
  * to touch the tools this milestone exists to test. */
356
356
  declare const V2_SYSTEM_PROMPT = "You are the coding agent inside an odla Code harness.\nStart by orienting: odla_list shows the files in the workspace and odla_search\nfinds a literal string across them. Prefer those over guessing a path.\nThen odla_read a bounded range, and odla_apply_git_diff to mutate.\nFor mutations, call odla_apply_git_diff with raw git diff text. It must start\nwith \"diff --git a/<path> b/<path>\", include matching \"---\" and \"+++\" file\nheaders and numbered \"@@\" hunks, and never use \"*** Begin Patch\" wrappers.\nThe workspace, model, and tool effects are controlled by the host broker.\nNever claim a build or test passed unless odla_run_recipe returned that result.";
357
- /** Which tool surface the agent sees. `v1` reproduces the Pi container's exact
357
+ /** Which tool surface the agent sees. `v1` reproduces the Theseus container's exact
358
358
  * three tools so the recorded baseline stays comparable. */
359
359
  type CodeSurface = "v1" | "v2" | "v3";
360
360
  /** v3 leads with orientation, because that is where the tokens went. */
@@ -363,7 +363,7 @@ declare const V3_SYSTEM_PROMPT = "You are the coding agent inside an odla Code h
363
363
  * The system prompt for each tool surface, keyed by version.
364
364
  *
365
365
  * Kept addressable so a benchmark can hold everything else fixed and vary only
366
- * the prompt — v1 is byte-identical to what the retired Pi agent shipped, which
366
+ * the prompt — v1 is byte-identical to what the retired Theseus agent shipped, which
367
367
  * is what makes the comparison against v2 and v3 meaningful.
368
368
  */
369
369
  declare const SYSTEM_PROMPT_FOR: Record<CodeSurface, string>;
@@ -372,6 +372,8 @@ interface CodeSkillOpts {
372
372
  broker: HarnessToolBroker;
373
373
  lease: HarnessLease;
374
374
  workspaceDir: string;
375
+ /** Exact CaMeL-registered recipes available to this attempt. */
376
+ recipeIds?: readonly string[];
375
377
  /** Defaults to v1 so an unqualified run reproduces the baseline. */
376
378
  surface?: CodeSurface;
377
379
  /** Records every brokered call so the report can attribute errors per tool. */
@@ -379,6 +381,7 @@ interface CodeSkillOpts {
379
381
  tool: HarnessToolName;
380
382
  ok: boolean;
381
383
  durationMs: number;
384
+ error?: string;
382
385
  }): void;
383
386
  }
384
387
  /**
@@ -398,6 +401,8 @@ interface CodeAgentAttemptOptions {
398
401
  prompt: string;
399
402
  surface?: CodeSurface;
400
403
  maxSteps?: number;
404
+ /** Exact registered build/test recipe IDs available to the runtime. */
405
+ recipeIds?: readonly string[];
401
406
  /** Run-wide ceiling enforced by runAgent against incremental usage. */
402
407
  budget?: AgentRunBudget;
403
408
  signal?: AbortSignal;
@@ -406,6 +411,7 @@ interface CodeAgentAttemptOptions {
406
411
  tool: HarnessToolName;
407
412
  ok: boolean;
408
413
  durationMs: number;
414
+ error?: string;
409
415
  }): void;
410
416
  }
411
417
  /** Whether one attempt completed, and the text it ended on. */
@@ -481,7 +487,7 @@ interface CodeToolBrokerOptions {
481
487
  maxPatchBytes?: number;
482
488
  maxRecipeWorkspaceFiles?: number;
483
489
  maxRecipeWorkspaceBytes?: number;
484
- /** Paths Pi may read but may never modify. Prefixes are relative directory names. */
490
+ /** Paths Theseus may read but may never modify. Prefixes are relative directory names. */
485
491
  readOnlyPrefixes?: readonly string[];
486
492
  consumeApproval?(input: CodeToolDecision & {
487
493
  actionDigest: string;
@@ -489,8 +495,8 @@ interface CodeToolBrokerOptions {
489
495
  onDecision?(decision: CodeToolDecision): Promise<void> | void;
490
496
  }
491
497
 
492
- /** Trusted control plane, isolation engine, Pi image, recipes, and resource policy for a Code runtime. */
493
- interface CodePiRuntimeEngineOptions {
498
+ /** Trusted control plane, isolation engine, recipes, and resource policy for the Theseus Code runtime. */
499
+ interface TheseusRuntimeEngineOptions {
494
500
  control: CodeRuntimeAgentControlPlane;
495
501
  engine: ContainerEngine;
496
502
  recipes: readonly CodeBuildRecipe[];
@@ -505,11 +511,11 @@ interface CodePiRuntimeEngineOptions {
505
511
  localSource?: FrozenCodeLocalSource;
506
512
  }
507
513
 
508
- /** Execute fenced Code commands with real Pi in a credentialless, networkless container. */
509
- declare class CodePiRuntimeEngine implements CodeRuntimeCommandEngine {
514
+ /** Execute fenced Theseus Code commands in a credentialless, networkless container. */
515
+ declare class TheseusRuntimeEngine implements CodeRuntimeCommandEngine {
510
516
  #private;
511
517
  private readonly options;
512
- constructor(options: CodePiRuntimeEngineOptions);
518
+ constructor(options: TheseusRuntimeEngineOptions);
513
519
  execute(command: CodeRuntimeCommand): Promise<CodeRuntimeCommandResult>;
514
520
  acknowledged(command: CodeRuntimeCommand, result: CodeRuntimeCommandResult): Promise<void>;
515
521
  close(): Promise<void>;
@@ -583,7 +589,7 @@ interface Options {
583
589
  fallbackPolicyDigest: `sha256:${string}`;
584
590
  event(command: CodeRuntimeCommand, event: CodeSessionEventData, refs: string[]): Promise<void>;
585
591
  }
586
- /** Own checkpoint evidence and candidate admission retries outside the Pi process lifecycle. */
592
+ /** Own checkpoint evidence and candidate admission retries outside the Theseus process lifecycle. */
587
593
  declare class CodeRuntimeCheckpointManager {
588
594
  #private;
589
595
  private readonly options;
@@ -636,7 +642,7 @@ declare function materializeCommandWorkspace(input: {
636
642
  requestedLocal: CodeLocalSourceDescriptor | null;
637
643
  }>;
638
644
 
639
- /** Create the trusted CaMeL boundary for all Pi filesystem and build effects. */
645
+ /** Create the trusted CaMeL boundary for all Theseus filesystem and build effects. */
640
646
  declare function createCodeToolBroker(options: CodeToolBrokerOptions): HarnessToolBroker;
641
647
 
642
648
  /** One brokered tool call, recorded for per-tool error attribution. */
@@ -644,6 +650,9 @@ interface CodeToolCallRecord {
644
650
  tool: HarnessToolName;
645
651
  ok: boolean;
646
652
  durationMs: number;
653
+ /** Why it failed, bounded, when it did — the same phrasing the model was
654
+ * given. Absent on success. */
655
+ error?: string;
647
656
  }
648
657
  /** One coding run: which tool surface, which model, and what it may spend. */
649
658
  interface RunCodeAgentOptions {
@@ -687,6 +696,8 @@ interface RunCodeAgentOptions {
687
696
  * of this package's install graph for a capability not every consumer wants.
688
697
  */
689
698
  extraSkills?: Skill[];
699
+ /** Exact registered build/test recipe IDs exposed in the tool schema. */
700
+ recipeIds?: readonly string[];
690
701
  }
691
702
  /** A finished run — its final text, why it stopped, and what it cost. */
692
703
  interface CodeAgentRun {
@@ -1329,4 +1340,4 @@ interface CodeVerificationEvidence {
1329
1340
  /** Rebuild a candidate from an exact trusted base and emit a prose-free clean-verifier receipt. */
1330
1341
  declare function verifyCodeCandidate(input: VerifyCodeCandidateInput): Promise<CodeVerificationEvidence>;
1331
1342
 
1332
- export { CODE_RUNTIME_PROTOCOL_VERSION, type CodeAgentAttemptOptions, type CodeAgentAttemptResult, type CodeAgentRun, type CodeBuildRecipe, type CodeExpectedArtifact, type CodeLocalSourceDescriptor, type CodeMemory, type CodeMemoryEvidence, type CodeMemoryKind, type CodeMemoryStore, CodePiRuntimeEngine, type CodePiRuntimeEngineOptions, type CodeRecipeExecutor, type CodeRecipeResult, type CodeRuntimeAgentControlPlane, type CodeRuntimeBinding, type CodeRuntimeCandidateResponse, type CodeRuntimeCapabilities, CodeRuntimeCheckpointManager, type CodeRuntimeClientOptions, type CodeRuntimeCommand, type CodeRuntimeCommandEngine, type CodeRuntimeCommandKind, type CodeRuntimeCommandResult, CodeRuntimeControlError, type CodeRuntimeControlPlane, type CodeRuntimeInferenceOptions, type CodeRuntimeLoopOptions, type CodeRuntimeMemory, type CodeRuntimeNewMemory, CodeRuntimeReconciler, type CodeRuntimeReviewRequest, type CodeRuntimeReviewResponse, type CodeRuntimeSnapshot, type CodeRuntimeSourceSnapshot, type CodeSkillOpts, type CodeSurface, type CodeToolBrokerOptions, type CodeToolCallRecord, type CodeToolDecision, type CodeVerificationEvidence, type CodeVerificationLog, type CodeVerificationPolicy, type ContainerEngine, type ContainerEngineSelectionOptions, type ContainerEngineVerificationOptions, type ContainerLimits, type ContainerRunOptions, type ContainerRunResult, type CreateCodeWorkspaceCheckpointInput, type DecomposedRun, DecompositionError, type GoalAttempt, type GoalAttemptInput, type GoalAttemptOutcome, type GoalAttemptRecord, type GoalBudget, type GoalEvent, type GoalOutcome, type GoalRun, type GoalRunSpec, type GoalStoppedReason, type GoalStrategy, type HarnessRunnerOptions, type IntegrateOptions, type IntegrationStep, MAX_MEMORY_BODY, MEASURED_PREMIUM, type MaterializedCodeSource, type MaterializedGitTree, type NewCodeMemory, type PrepareRuntimeCheckpointInput, type PreparedRuntimeCheckpoint, type RacedAttemptOptions, type RacedOutcome, type RecallOptions, type RecipeDependencies, type RestoreCodeWorkspaceCheckpointInput, type RestoredCodeWorkspaceCheckpoint, type RunCodeAgentOptions, type RuntimeCheckpointSession, SYSTEM_PROMPT_FOR, type StageWorkspaceOptions, type StagedWorkspace, type StrategyChoice, type StrategySignals, type SubGoal, type SubGoalResult, V1_SYSTEM_PROMPT, V2_SYSTEM_PROMPT, V3_SYSTEM_PROMPT, type VerifyCodeCandidateInput, applyCodePatch, assertCodeBuildRecipe, assertDisjointPlan, assertPinnedImage, attachCodeRuntimeReferences, buildContainerRunArgs, buildRecipeContainerArgs, chooseStrategy, codeSkill, createCodeRuntimeControlClient, createCodeRuntimeInference, createCodeToolBroker, createCodeWorkspaceCheckpoint, createContainerRecipeExecutor, describePatchFailure, digestStagedWorkspace, feedbackIsActionable, hazardFromAttempt, installedDependencies, integrateSubGoals, isCheckpointEffectCompleted, materializeCodeRuntimeSource, materializeCommandWorkspace, materializeGitTree, outcomeCloses, outcomeMemory, patchPaths, planReachCollisions, prepareRuntimeCheckpoint, racedAttempt, recallAbout, registeredFiles, renderMemories, renderOutcome, resolveCodePath, restoreCodeWorkspaceCheckpoint, runCodeAgent, runCodeAgentAttempt, runCodeRuntimeHeartbeatLoop, runContainerAttempt, runGoal, runHarnessRunner, runLeasedAttempt, runtimeMemoryStore, safeWorkspaceLabel, selectContainerEngine, selectWinner, stageWorkspace, stageWorkspacePair, straySubGoalFiles, stripPatchEnvelope, validateCodePatch, validateMemory, validateRelativePath, verifyCodeCandidate, verifyContainerEngineBoundary, withRecipeDependencies };
1343
+ export { CODE_RUNTIME_PROTOCOL_VERSION, type CodeAgentAttemptOptions, type CodeAgentAttemptResult, type CodeAgentRun, type CodeBuildRecipe, type CodeExpectedArtifact, type CodeLocalSourceDescriptor, type CodeMemory, type CodeMemoryEvidence, type CodeMemoryKind, type CodeMemoryStore, type CodeRecipeExecutor, type CodeRecipeResult, type CodeRuntimeAgentControlPlane, type CodeRuntimeBinding, type CodeRuntimeCandidateResponse, type CodeRuntimeCapabilities, CodeRuntimeCheckpointManager, type CodeRuntimeClientOptions, type CodeRuntimeCommand, type CodeRuntimeCommandEngine, type CodeRuntimeCommandKind, type CodeRuntimeCommandResult, CodeRuntimeControlError, type CodeRuntimeControlPlane, type CodeRuntimeInferenceOptions, type CodeRuntimeLoopOptions, type CodeRuntimeMemory, type CodeRuntimeNewMemory, CodeRuntimeReconciler, type CodeRuntimeReviewRequest, type CodeRuntimeReviewResponse, type CodeRuntimeSnapshot, type CodeRuntimeSourceSnapshot, type CodeSkillOpts, type CodeSurface, type CodeToolBrokerOptions, type CodeToolCallRecord, type CodeToolDecision, type CodeVerificationEvidence, type CodeVerificationLog, type CodeVerificationPolicy, type ContainerEngine, type ContainerEngineSelectionOptions, type ContainerEngineVerificationOptions, type ContainerLimits, type ContainerRunOptions, type ContainerRunResult, type CreateCodeWorkspaceCheckpointInput, type DecomposedRun, DecompositionError, type GoalAttempt, type GoalAttemptInput, type GoalAttemptOutcome, type GoalAttemptRecord, type GoalBudget, type GoalEvent, type GoalOutcome, type GoalRun, type GoalRunSpec, type GoalStoppedReason, type GoalStrategy, type HarnessRunnerOptions, type IntegrateOptions, type IntegrationStep, MAX_MEMORY_BODY, MEASURED_PREMIUM, type MaterializedCodeSource, type MaterializedGitTree, type NewCodeMemory, type PrepareRuntimeCheckpointInput, type PreparedRuntimeCheckpoint, type RacedAttemptOptions, type RacedOutcome, type RecallOptions, type RecipeDependencies, type RestoreCodeWorkspaceCheckpointInput, type RestoredCodeWorkspaceCheckpoint, type RunCodeAgentOptions, type RuntimeCheckpointSession, SYSTEM_PROMPT_FOR, type StageWorkspaceOptions, type StagedWorkspace, type StrategyChoice, type StrategySignals, type SubGoal, type SubGoalResult, TheseusRuntimeEngine, type TheseusRuntimeEngineOptions, V1_SYSTEM_PROMPT, V2_SYSTEM_PROMPT, V3_SYSTEM_PROMPT, type VerifyCodeCandidateInput, applyCodePatch, assertCodeBuildRecipe, assertDisjointPlan, assertPinnedImage, attachCodeRuntimeReferences, buildContainerRunArgs, buildRecipeContainerArgs, chooseStrategy, codeSkill, createCodeRuntimeControlClient, createCodeRuntimeInference, createCodeToolBroker, createCodeWorkspaceCheckpoint, createContainerRecipeExecutor, describePatchFailure, digestStagedWorkspace, feedbackIsActionable, hazardFromAttempt, installedDependencies, integrateSubGoals, isCheckpointEffectCompleted, materializeCodeRuntimeSource, materializeCommandWorkspace, materializeGitTree, outcomeCloses, outcomeMemory, patchPaths, planReachCollisions, prepareRuntimeCheckpoint, racedAttempt, recallAbout, registeredFiles, renderMemories, renderOutcome, resolveCodePath, restoreCodeWorkspaceCheckpoint, runCodeAgent, runCodeAgentAttempt, runCodeRuntimeHeartbeatLoop, runContainerAttempt, runGoal, runHarnessRunner, runLeasedAttempt, runtimeMemoryStore, safeWorkspaceLabel, selectContainerEngine, selectWinner, stageWorkspace, stageWorkspacePair, straySubGoalFiles, stripPatchEnvelope, validateCodePatch, validateMemory, validateRelativePath, verifyCodeCandidate, verifyContainerEngineBoundary, withRecipeDependencies };
package/dist/node.js CHANGED
@@ -4,12 +4,12 @@ import {
4
4
  } from "./chunk-XWXRNPGY.js";
5
5
  import {
6
6
  CODE_RUNTIME_PROTOCOL_VERSION,
7
- CodePiRuntimeEngine,
8
7
  CodeRuntimeCheckpointManager,
9
8
  CodeRuntimeControlError,
10
9
  CodeRuntimeReconciler,
11
10
  MAX_MEMORY_BODY,
12
11
  SYSTEM_PROMPT_FOR,
12
+ TheseusRuntimeEngine,
13
13
  V1_SYSTEM_PROMPT,
14
14
  V2_SYSTEM_PROMPT,
15
15
  V3_SYSTEM_PROMPT,
@@ -44,7 +44,7 @@ import {
44
44
  validateMemory,
45
45
  validateRelativePath,
46
46
  verifyCodeCandidate
47
- } from "./chunk-5HX5LWTG.js";
47
+ } from "./chunk-QZXCQSPZ.js";
48
48
  import {
49
49
  assertPinnedImage,
50
50
  buildContainerRunArgs,
@@ -361,7 +361,6 @@ async function installedDependencies(repoRoot) {
361
361
  }
362
362
  export {
363
363
  CODE_RUNTIME_PROTOCOL_VERSION,
364
- CodePiRuntimeEngine,
365
364
  CodeRuntimeCheckpointManager,
366
365
  CodeRuntimeControlError,
367
366
  CodeRuntimeReconciler,
@@ -369,6 +368,7 @@ export {
369
368
  MAX_MEMORY_BODY,
370
369
  MEASURED_PREMIUM,
371
370
  SYSTEM_PROMPT_FOR,
371
+ TheseusRuntimeEngine,
372
372
  V1_SYSTEM_PROMPT,
373
373
  V2_SYSTEM_PROMPT,
374
374
  V3_SYSTEM_PROMPT,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odla-ai/harness",
3
- "version": "0.5.2",
3
+ "version": "0.7.0",
4
4
  "description": "Safe, inspectable coding-task protocol and credentialless container runner for odla Studio.",
5
5
  "license": "MIT",
6
6
  "homepage": "https://odla.ai/docs/packages/harness",