@ai-hero/sandcastle 0.5.1 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/README.md +93 -62
  2. package/dist/AgentProvider.d.ts +17 -1
  3. package/dist/AgentProvider.d.ts.map +1 -1
  4. package/dist/AgentProvider.js +75 -6
  5. package/dist/AgentProvider.js.map +1 -1
  6. package/dist/AgentStreamEmitter.d.ts +36 -0
  7. package/dist/AgentStreamEmitter.d.ts.map +1 -0
  8. package/dist/AgentStreamEmitter.js +21 -0
  9. package/dist/AgentStreamEmitter.js.map +1 -0
  10. package/dist/Display.js +1 -1
  11. package/dist/Display.js.map +1 -1
  12. package/dist/DockerLifecycle.d.ts +0 -10
  13. package/dist/DockerLifecycle.d.ts.map +1 -1
  14. package/dist/DockerLifecycle.js +0 -22
  15. package/dist/DockerLifecycle.js.map +1 -1
  16. package/dist/InitService.d.ts.map +1 -1
  17. package/dist/InitService.js +3 -1
  18. package/dist/InitService.js.map +1 -1
  19. package/dist/MountConfig.d.ts +1 -2
  20. package/dist/MountConfig.d.ts.map +1 -1
  21. package/dist/Orchestrator.d.ts +10 -3
  22. package/dist/Orchestrator.d.ts.map +1 -1
  23. package/dist/Orchestrator.js +79 -12
  24. package/dist/Orchestrator.js.map +1 -1
  25. package/dist/PodmanLifecycle.d.ts +0 -10
  26. package/dist/PodmanLifecycle.d.ts.map +1 -1
  27. package/dist/PodmanLifecycle.js +0 -22
  28. package/dist/PodmanLifecycle.js.map +1 -1
  29. package/dist/PromptArgumentSubstitution.d.ts +6 -0
  30. package/dist/PromptArgumentSubstitution.d.ts.map +1 -1
  31. package/dist/PromptArgumentSubstitution.js +32 -6
  32. package/dist/PromptArgumentSubstitution.js.map +1 -1
  33. package/dist/PromptPreprocessor.d.ts +8 -0
  34. package/dist/PromptPreprocessor.d.ts.map +1 -1
  35. package/dist/PromptPreprocessor.js +13 -9
  36. package/dist/PromptPreprocessor.js.map +1 -1
  37. package/dist/PromptResolver.d.ts +13 -1
  38. package/dist/PromptResolver.d.ts.map +1 -1
  39. package/dist/PromptResolver.js +3 -2
  40. package/dist/PromptResolver.js.map +1 -1
  41. package/dist/SandboxFactory.d.ts +5 -5
  42. package/dist/SandboxFactory.d.ts.map +1 -1
  43. package/dist/SandboxFactory.js +20 -10
  44. package/dist/SandboxFactory.js.map +1 -1
  45. package/dist/SandboxLifecycle.d.ts +4 -1
  46. package/dist/SandboxLifecycle.d.ts.map +1 -1
  47. package/dist/SandboxLifecycle.js +40 -12
  48. package/dist/SandboxLifecycle.js.map +1 -1
  49. package/dist/SandboxProvider.d.ts +30 -0
  50. package/dist/SandboxProvider.d.ts.map +1 -1
  51. package/dist/SandboxProvider.js +1 -0
  52. package/dist/SandboxProvider.js.map +1 -1
  53. package/dist/SessionStore.d.ts +1 -1
  54. package/dist/SessionStore.d.ts.map +1 -1
  55. package/dist/SessionStore.js +3 -0
  56. package/dist/SessionStore.js.map +1 -1
  57. package/dist/WorktreeManager.d.ts +6 -3
  58. package/dist/WorktreeManager.d.ts.map +1 -1
  59. package/dist/WorktreeManager.js +52 -7
  60. package/dist/WorktreeManager.js.map +1 -1
  61. package/dist/createSandbox.d.ts +23 -2
  62. package/dist/createSandbox.d.ts.map +1 -1
  63. package/dist/createSandbox.js +114 -50
  64. package/dist/createSandbox.js.map +1 -1
  65. package/dist/createWorktree.d.ts +23 -0
  66. package/dist/createWorktree.d.ts.map +1 -1
  67. package/dist/createWorktree.js +83 -24
  68. package/dist/createWorktree.js.map +1 -1
  69. package/dist/index.d.ts +3 -2
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js.map +1 -1
  72. package/dist/interactive.d.ts +11 -0
  73. package/dist/interactive.d.ts.map +1 -1
  74. package/dist/interactive.js +32 -13
  75. package/dist/interactive.js.map +1 -1
  76. package/dist/mountUtils.d.ts +104 -0
  77. package/dist/mountUtils.d.ts.map +1 -0
  78. package/dist/mountUtils.js +245 -0
  79. package/dist/mountUtils.js.map +1 -0
  80. package/dist/raceAbortSignal.d.ts +18 -0
  81. package/dist/raceAbortSignal.d.ts.map +1 -0
  82. package/dist/raceAbortSignal.js +32 -0
  83. package/dist/raceAbortSignal.js.map +1 -0
  84. package/dist/run.d.ts +34 -4
  85. package/dist/run.d.ts.map +1 -1
  86. package/dist/run.js +63 -18
  87. package/dist/run.js.map +1 -1
  88. package/dist/sandboxes/docker.d.ts +2 -6
  89. package/dist/sandboxes/docker.d.ts.map +1 -1
  90. package/dist/sandboxes/docker.js +44 -78
  91. package/dist/sandboxes/docker.js.map +1 -1
  92. package/dist/sandboxes/no-sandbox.d.ts.map +1 -1
  93. package/dist/sandboxes/no-sandbox.js +9 -1
  94. package/dist/sandboxes/no-sandbox.js.map +1 -1
  95. package/dist/sandboxes/podman.d.ts +19 -8
  96. package/dist/sandboxes/podman.d.ts.map +1 -1
  97. package/dist/sandboxes/podman.js +49 -87
  98. package/dist/sandboxes/podman.js.map +1 -1
  99. package/dist/startSandbox.d.ts.map +1 -1
  100. package/dist/startSandbox.js +8 -3
  101. package/dist/startSandbox.js.map +1 -1
  102. package/dist/templates/parallel-planner/implement-prompt.md +1 -1
  103. package/dist/templates/parallel-planner-with-review/implement-prompt.md +1 -1
  104. package/dist/templates/parallel-planner-with-review/main.mts +8 -1
  105. package/dist/templates/parallel-planner-with-review/review-prompt.md +2 -2
  106. package/dist/templates/sequential-reviewer/review-prompt.md +2 -2
  107. package/dist/testSandbox.d.ts.map +1 -1
  108. package/dist/testSandbox.js +38 -48
  109. package/dist/testSandbox.js.map +1 -1
  110. package/dist/testSetup.d.ts +2 -0
  111. package/dist/testSetup.d.ts.map +1 -0
  112. package/dist/testSetup.js +29 -0
  113. package/dist/testSetup.js.map +1 -0
  114. package/package.json +1 -1
package/README.md CHANGED
@@ -189,7 +189,17 @@ const result = await run({
189
189
  copyToWorktree: [".env"],
190
190
 
191
191
  // How to record progress. Default: write to a file under .sandcastle/logs/
192
- logging: { type: "file", path: ".sandcastle/logs/my-run.log" },
192
+ logging: {
193
+ type: "file",
194
+ path: ".sandcastle/logs/my-run.log",
195
+ // Optional: forward the agent's output stream to your own observability system.
196
+ // Fires for each text chunk and tool call the agent produces. Errors thrown
197
+ // by the callback are swallowed so a broken forwarder cannot kill the run.
198
+ onAgentStreamEvent: (event) => {
199
+ // event is { type: "text" | "toolCall", iteration, timestamp, ... }
200
+ myLogger.info(event);
201
+ },
202
+ },
193
203
  // logging: { type: "stdout" }, // OR render an interactive UI in the terminal
194
204
 
195
205
  // String (or array of strings) the agent emits to end the iteration loop early.
@@ -279,24 +289,24 @@ if (closeResult.preservedWorktreePath) {
279
289
 
280
290
  #### `CreateSandboxOptions`
281
291
 
282
- | Option | Type | Default | Description |
283
- | -------------------------- | --------------- | --------------- | ------------------------------------------------------------------------ |
284
- | `branch` | string | — | **Required.** Explicit branch for the sandbox |
285
- | `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (e.g. `docker()`, `podman()`) |
286
- | `cwd` | string | `process.cwd()` | Host repo directory — relative paths resolve against `process.cwd()` |
287
- | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) — run once at creation time |
288
- | `copyToWorktree` | string[] | — | Host-relative file paths to copy into the sandbox at creation time |
289
- | `throwOnDuplicateWorktree` | boolean | `true` | When `false`, reuse an existing worktree instead of failing on collision |
292
+ | Option | Type | Default | Description |
293
+ | ---------------- | --------------- | --------------- | -------------------------------------------------------------------- |
294
+ | `branch` | string | — | **Required.** Explicit branch for the sandbox |
295
+ | `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (e.g. `docker()`, `podman()`) |
296
+ | `cwd` | string | `process.cwd()` | Host repo directory — relative paths resolve against `process.cwd()` |
297
+ | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) — run once at creation time |
298
+ | `copyToWorktree` | string[] | — | Host-relative file paths to copy into the sandbox at creation time |
290
299
 
291
300
  #### `Sandbox`
292
301
 
293
- | Property / Method | Type | Description |
294
- | ----------------------- | -------------------------------------------------- | ------------------------------------------- |
295
- | `branch` | string | The branch the sandbox is on |
296
- | `worktreePath` | string | Host path to the worktree |
297
- | `run(options)` | `(SandboxRunOptions) => Promise<SandboxRunResult>` | Invoke an agent inside the existing sandbox |
298
- | `close()` | `() => Promise<CloseResult>` | Tear down the container and sandbox |
299
- | `[Symbol.asyncDispose]` | `() => Promise<void>` | Auto teardown via `await using` |
302
+ | Property / Method | Type | Description |
303
+ | ----------------------- | ------------------------------------------------------------------ | -------------------------------------------- |
304
+ | `branch` | string | The branch the sandbox is on |
305
+ | `worktreePath` | string | Host path to the worktree |
306
+ | `run(options)` | `(SandboxRunOptions) => Promise<SandboxRunResult>` | Invoke an agent inside the existing sandbox |
307
+ | `interactive(options)` | `(SandboxInteractiveOptions) => Promise<SandboxInteractiveResult>` | Launch an interactive session in the sandbox |
308
+ | `close()` | `() => Promise<CloseResult>` | Tear down the container and sandbox |
309
+ | `[Symbol.asyncDispose]` | `() => Promise<void>` | Auto teardown via `await using` |
300
310
 
301
311
  #### `SandboxRunOptions`
302
312
 
@@ -311,6 +321,7 @@ if (closeResult.preservedWorktreePath) {
311
321
  | `idleTimeoutSeconds` | number | `600` | Idle timeout in seconds — resets on each agent output event |
312
322
  | `name` | string | — | Display name for the run |
313
323
  | `logging` | object | file (auto-generated) | `{ type: 'file', path }` or `{ type: 'stdout' }` |
324
+ | `signal` | AbortSignal | — | Cancels the run when aborted; handle stays usable afterward |
314
325
 
315
326
  #### `SandboxRunResult`
316
327
 
@@ -402,33 +413,36 @@ await sandbox.close();
402
413
 
403
414
  #### `WorktreeInteractiveOptions`
404
415
 
405
- | Option | Type | Default | Description |
406
- | ------------ | ---------------------- | ------------- | ---------------------------------------------------- |
407
- | `agent` | AgentProvider | — | **Required.** Agent provider |
408
- | `sandbox` | AnySandboxProvider | `noSandbox()` | Sandbox provider (defaults to no sandbox) |
409
- | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
410
- | `promptFile` | string | — | Path to prompt file |
411
- | `name` | string | — | Optional session name |
412
- | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
413
- | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
414
- | `env` | Record<string, string> | — | Environment variables to inject into the sandbox |
416
+ | Option | Type | Default | Description |
417
+ | ------------ | ---------------------- | ------------- | ------------------------------------------------------------------------------------------------- |
418
+ | `agent` | AgentProvider | — | **Required.** Agent provider |
419
+ | `sandbox` | AnySandboxProvider | `noSandbox()` | Sandbox provider (defaults to no sandbox) |
420
+ | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
421
+ | `promptFile` | string | — | Path to prompt file |
422
+ | `name` | string | — | Optional session name |
423
+ | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
424
+ | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
425
+ | `env` | Record<string, string> | — | Environment variables to inject into the sandbox |
426
+ | `signal` | AbortSignal | — | Cancel the session when aborted. The worktree is preserved on disk. Rejects with `signal.reason`. |
415
427
 
416
428
  #### `WorktreeRunOptions`
417
429
 
418
- | Option | Type | Default | Description |
419
- | -------------------- | ---------------------- | ------- | ------------------------------------------------------------- |
420
- | `agent` | AgentProvider | — | **Required.** Agent provider |
421
- | `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (AFK agents must be sandboxed) |
422
- | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
423
- | `promptFile` | string | — | Path to prompt file |
424
- | `maxIterations` | number | 1 | Maximum iterations to run |
425
- | `completionSignal` | string \| string[] | — | Substring(s) to stop the iteration loop early |
426
- | `idleTimeoutSeconds` | number | 600 | Idle timeout in seconds |
427
- | `name` | string | — | Optional run name |
428
- | `logging` | LoggingOption | file | Logging mode |
429
- | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
430
- | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
431
- | `env` | Record<string, string> | — | Environment variables to inject into the sandbox |
430
+ | Option | Type | Default | Description |
431
+ | -------------------- | ---------------------- | ------- | ----------------------------------------------------------------------------------------------------------------------------------- |
432
+ | `agent` | AgentProvider | — | **Required.** Agent provider |
433
+ | `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (AFK agents must be sandboxed) |
434
+ | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
435
+ | `promptFile` | string | — | Path to prompt file |
436
+ | `maxIterations` | number | 1 | Maximum iterations to run |
437
+ | `completionSignal` | string \| string[] | — | Substring(s) to stop the iteration loop early |
438
+ | `idleTimeoutSeconds` | number | 600 | Idle timeout in seconds |
439
+ | `name` | string | — | Optional run name |
440
+ | `logging` | LoggingOption | file | Logging mode |
441
+ | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
442
+ | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
443
+ | `env` | Record<string, string> | — | Environment variables to inject into the sandbox |
444
+ | `resumeSession` | string | — | Resume a prior Claude Code session by ID. Incompatible with `maxIterations > 1`. Session file must exist on host. |
445
+ | `signal` | AbortSignal | — | Cancel the run when aborted. Kills the in-flight agent subprocess; the worktree is preserved on disk. Rejects with `signal.reason`. |
432
446
 
433
447
  #### `WorktreeRunResult`
434
448
 
@@ -474,6 +488,10 @@ You must provide exactly one of:
474
488
 
475
489
  `prompt` and `promptFile` are mutually exclusive — providing both is an error. If neither is provided, `run()` throws an error asking you to supply one.
476
490
 
491
+ **Inline prompts (`prompt: "..."`) are passed to the agent literally.** No `{{KEY}}` substitution, no `` !`command` `` expansion, no built-in `{{SOURCE_BRANCH}}` / `{{TARGET_BRANCH}}` injection. If you need values interpolated into an inline prompt, build the string in JavaScript (`` `Work on ${branch}…` ``). Passing `promptArgs` alongside an inline prompt is an error — switch to `promptFile` to use substitution.
492
+
493
+ The substitution and expansion features below apply **only** to prompts sourced from `promptFile`.
494
+
477
495
  > **Convention**: `sandcastle init` scaffolds `.sandcastle/prompt.md` and all templates explicitly reference it via `promptFile: ".sandcastle/prompt.md"`. This is a convention, not an automatic fallback — Sandcastle does not read `.sandcastle/prompt.md` unless you pass it as `promptFile`.
478
496
 
479
497
  ### Dynamic context with `` !`command` ``
@@ -521,6 +539,8 @@ Prompt argument substitution runs on the host before shell expression expansion,
521
539
 
522
540
  A `{{KEY}}` placeholder with no matching prompt argument is an error. Unused prompt arguments produce a warning.
523
541
 
542
+ `` !`command` `` expansion only runs on shell blocks written in the prompt file itself. Any `` !`…` `` pattern that appears inside an argument value is treated as inert text — it won't be executed against the host shell. This makes it safe to pass user-authored content (issue titles, PR descriptions, docs excerpts) through `promptArgs`.
543
+
524
544
  ### Built-in prompt arguments
525
545
 
526
546
  Sandcastle automatically injects two built-in prompt arguments into every prompt:
@@ -636,24 +656,24 @@ Removes the Podman image.
636
656
 
637
657
  ### `RunOptions`
638
658
 
639
- | Option | Type | Default | Description |
640
- | -------------------------- | ------------------ | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
641
- | `agent` | AgentProvider | — | **Required.** Agent provider (e.g. `claudeCode("claude-opus-4-6")`, `pi("claude-sonnet-4-6")`, `codex("gpt-5.4-mini")`, `opencode("opencode/big-pickle")`) |
642
- | `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (e.g. `docker()`, `podman()`, `docker({ imageName: "sandcastle:local" })`) |
643
- | `cwd` | string | `process.cwd()` | Host repo directory — anchor for `.sandcastle/` artifacts and git operations. Relative paths resolve against `process.cwd()`. |
644
- | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
645
- | `promptFile` | string | — | Path to prompt file (mutually exclusive with `prompt`). Resolves against `process.cwd()`, **not** `cwd`. |
646
- | `maxIterations` | number | `1` | Maximum iterations to run |
647
- | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
648
- | `name` | string | — | Display name for the run, shown as a prefix in log output |
649
- | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
650
- | `branchStrategy` | BranchStrategy | per-provider default | Branch strategy: `{ type: 'head' }`, `{ type: 'merge-to-head' }`, or `{ type: 'branch', branch: '…' }` |
651
- | `copyToWorktree` | string[] | — | Host-relative file paths to copy into the sandbox before start (not supported with `branchStrategy: { type: 'head' }`) |
652
- | `logging` | object | file (auto-generated) | `{ type: 'file', path }` or `{ type: 'stdout' }` |
653
- | `completionSignal` | string \| string[] | `<promise>COMPLETE</promise>` | String or array of strings the agent emits to stop the iteration loop early |
654
- | `idleTimeoutSeconds` | number | `600` | Idle timeout in seconds — resets on each agent output event |
655
- | `throwOnDuplicateWorktree` | boolean | `true` | When `false`, reuse an existing worktree for the target branch instead of failing on collision |
656
- | `resumeSession` | string | — | Resume a prior Claude Code session by ID. Incompatible with `maxIterations > 1`. Session file must exist on host. |
659
+ | Option | Type | Default | Description |
660
+ | -------------------- | ------------------ | ----------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
661
+ | `agent` | AgentProvider | — | **Required.** Agent provider (e.g. `claudeCode("claude-opus-4-6")`, `pi("claude-sonnet-4-6")`, `codex("gpt-5.4-mini")`, `opencode("opencode/big-pickle")`) |
662
+ | `sandbox` | SandboxProvider | — | **Required.** Sandbox provider (e.g. `docker()`, `podman()`, `docker({ imageName: "sandcastle:local" })`) |
663
+ | `cwd` | string | `process.cwd()` | Host repo directory — anchor for `.sandcastle/` artifacts and git operations. Relative paths resolve against `process.cwd()`. |
664
+ | `prompt` | string | — | Inline prompt (mutually exclusive with `promptFile`) |
665
+ | `promptFile` | string | — | Path to prompt file (mutually exclusive with `prompt`). Resolves against `process.cwd()`, **not** `cwd`. |
666
+ | `maxIterations` | number | `1` | Maximum iterations to run |
667
+ | `hooks` | SandboxHooks | — | Lifecycle hooks (`host.*`, `sandbox.*`) |
668
+ | `name` | string | — | Display name for the run, shown as a prefix in log output |
669
+ | `promptArgs` | PromptArgs | — | Key-value map for `{{KEY}}` placeholder substitution |
670
+ | `branchStrategy` | BranchStrategy | per-provider default | Branch strategy: `{ type: 'head' }`, `{ type: 'merge-to-head' }`, or `{ type: 'branch', branch: '…' }` |
671
+ | `copyToWorktree` | string[] | — | Host-relative file paths to copy into the sandbox before start (not supported with `branchStrategy: { type: 'head' }`) |
672
+ | `logging` | object | file (auto-generated) | `{ type: 'file', path }` or `{ type: 'stdout' }` |
673
+ | `completionSignal` | string \| string[] | `<promise>COMPLETE</promise>` | String or array of strings the agent emits to stop the iteration loop early |
674
+ | `idleTimeoutSeconds` | number | `600` | Idle timeout in seconds — resets on each agent output event |
675
+ | `resumeSession` | string | | Resume a prior Claude Code session by ID. Incompatible with `maxIterations > 1`. Session file must exist on host. |
676
+ | `signal` | AbortSignal | — | Cancel the run when aborted. Kills the in-flight agent subprocess and cancels lifecycle hooks; the worktree is preserved on disk. Rejects with `signal.reason`. |
657
677
 
658
678
  ### `RunResult`
659
679
 
@@ -668,10 +688,20 @@ Removes the Podman image.
668
688
 
669
689
  ### `IterationResult`
670
690
 
671
- | Field | Type | Description |
672
- | ----------------- | ------- | ------------------------------------------------------------------------------------ |
673
- | `sessionId` | string? | Claude Code session ID from the init line, or `undefined` for non-Claude agents |
674
- | `sessionFilePath` | string? | Absolute host path to the captured session JSONL, or `undefined` when capture is off |
691
+ | Field | Type | Description |
692
+ | ----------------- | ----------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
693
+ | `sessionId` | string? | Claude Code session ID from the init line, or `undefined` for non-Claude agents |
694
+ | `sessionFilePath` | string? | Absolute host path to the captured session JSONL, or `undefined` when capture is off |
695
+ | `usage` | `IterationUsage`? | Token usage snapshot from the last assistant message, or `undefined` when capture is off or provider does not support usage parsing |
696
+
697
+ ### `IterationUsage`
698
+
699
+ | Field | Type | Description |
700
+ | -------------------------- | ------ | ------------------------------------------ |
701
+ | `inputTokens` | number | Input tokens consumed |
702
+ | `cacheCreationInputTokens` | number | Tokens used to create prompt cache entries |
703
+ | `cacheReadInputTokens` | number | Tokens read from prompt cache |
704
+ | `outputTokens` | number | Output tokens generated |
675
705
 
676
706
  ### Session capture
677
707
 
@@ -1113,6 +1143,7 @@ hooks: {
1113
1143
  - **Sandbox hooks** accept `{ command: string; sudo?: boolean }` — set `sudo: true` for elevated privileges.
1114
1144
  - Within each hook point, sandbox hooks run in parallel; host hooks within `onSandboxReady` also run in parallel with sandbox hooks. `host.onWorktreeReady` hooks run sequentially in declared order.
1115
1145
  - If any hook exits non-zero, setup fails fast.
1146
+ - When a `signal` is passed to `run()`, it is threaded to all hooks — aborting the signal cancels any in-flight hook commands.
1116
1147
 
1117
1148
  ## Development
1118
1149
 
@@ -19,15 +19,31 @@ export interface AgentCommandOptions {
19
19
  /** When set, the agent should resume the given session ID instead of starting fresh. */
20
20
  readonly resumeSession?: string;
21
21
  }
22
+ /** Return type of buildPrintCommand — command string plus optional stdin content.
23
+ * When `stdin` is set, the sandbox pipes it to the child process's stdin
24
+ * instead of inlining the prompt in argv, avoiding the Linux 128 KB per-arg limit. */
25
+ export interface PrintCommand {
26
+ readonly command: string;
27
+ readonly stdin?: string;
28
+ }
29
+ /** Per-iteration token usage snapshot extracted from the agent session. */
30
+ export interface IterationUsage {
31
+ readonly inputTokens: number;
32
+ readonly cacheCreationInputTokens: number;
33
+ readonly cacheReadInputTokens: number;
34
+ readonly outputTokens: number;
35
+ }
22
36
  export interface AgentProvider {
23
37
  readonly name: string;
24
38
  /** Environment variables injected by this agent provider. Merged at launch time with env resolver and sandbox provider env. */
25
39
  readonly env: Record<string, string>;
26
40
  /** When true, session capture is enabled for this provider. Default: true for Claude Code, false for others. */
27
41
  readonly captureSessions: boolean;
28
- buildPrintCommand(options: AgentCommandOptions): string;
42
+ buildPrintCommand(options: AgentCommandOptions): PrintCommand;
29
43
  buildInteractiveArgs?(options: AgentCommandOptions): string[];
30
44
  parseStreamLine(line: string): ParsedStreamEvent[];
45
+ /** Parse token usage from the captured session JSONL content. Only implemented by Claude Code. */
46
+ parseSessionUsage?(content: string): IterationUsage | undefined;
31
47
  }
32
48
  export declare const DEFAULT_MODEL = "claude-opus-4-6";
33
49
  /** Options for the pi agent provider. */
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GACzB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC;AAoE9C,oEAAoE;AACpE,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,0BAA0B,EAAE,OAAO,CAAC;IAC7C,wFAAwF;IACxF,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,+HAA+H;IAC/H,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrC,gHAAgH;IAChH,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,iBAAiB,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,CAAC;IACxD,oBAAoB,CAAC,CAAC,OAAO,EAAE,mBAAmB,GAAG,MAAM,EAAE,CAAC;IAC9D,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAAC;CACpD;AAED,eAAO,MAAM,aAAa,oBAAoB,CAAC;AA2D/C,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,EAAE,mEAkBb,CAAC;AAwCH,4CAA4C;AAC5C,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACtD,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,KAAK,sEAwBhB,CAAC;AAMH,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED,eAAO,MAAM,QAAQ,yEAqBnB,CAAC;AAMH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACpD,6DAA6D;IAC7D,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,8DAA8D;IAC9D,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,eAAO,MAAM,UAAU,2EAsCrB,CAAC"}
1
+ {"version":3,"file":"AgentProvider.d.ts","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,21 @@ const TOOL_ARG_FIELDS = {
6
6
  WebFetch: "url",
7
7
  Agent: "description",
8
8
  };
9
+ /**
10
+ * Extract an error message from a parsed JSON error event.
11
+ * Handles { error: "string" }, { error: { message: "string" } }, and { message: "string" }.
12
+ */
13
+ const extractErrorMessage = (obj) => {
14
+ const err = obj.error;
15
+ if (typeof err === "string")
16
+ return err;
17
+ if (typeof err === "object" && err !== null && typeof err.message === "string") {
18
+ return err.message;
19
+ }
20
+ if (typeof obj.message === "string")
21
+ return obj.message;
22
+ return undefined;
23
+ };
9
24
  const parseStreamJsonLine = (line) => {
10
25
  if (!line.startsWith("{"))
11
26
  return [];
@@ -88,6 +103,13 @@ const parsePiStreamLine = (line) => {
88
103
  return [];
89
104
  return [{ type: "tool_call", name: toolName, args: argValue }];
90
105
  }
106
+ // Pi emits agent_error / error events on stdout (not stderr) for auth
107
+ // failures, rate limits, and API errors. Capture them as result events so
108
+ // the Orchestrator's stderr-empty fallback can surface them to the user.
109
+ if (obj.type === "agent_error" || obj.type === "error") {
110
+ const msg = extractErrorMessage(obj);
111
+ return msg ? [{ type: "result", result: msg }] : [];
112
+ }
91
113
  if (obj.type === "agent_end" && Array.isArray(obj.messages)) {
92
114
  const messages = obj.messages;
93
115
  for (let i = messages.length - 1; i >= 0; i--) {
@@ -118,7 +140,10 @@ export const pi = (model, options) => ({
118
140
  env: options?.env ?? {},
119
141
  captureSessions: false,
120
142
  buildPrintCommand({ prompt }) {
121
- return `pi -p --mode json --no-session --model ${shellEscape(model)} ${shellEscape(prompt)}`;
143
+ return {
144
+ command: `pi -p --mode json --no-session --model ${shellEscape(model)}`,
145
+ stdin: prompt,
146
+ };
122
147
  },
123
148
  buildInteractiveArgs({ prompt }) {
124
149
  const args = ["pi", "--model", model];
@@ -141,8 +166,8 @@ const parseCodexStreamLine = (line) => {
141
166
  // item.completed with agent_message → text + result
142
167
  if (obj.type === "item.completed" &&
143
168
  obj.item?.type === "agent_message" &&
144
- typeof obj.item.content === "string") {
145
- const text = obj.item.content;
169
+ typeof obj.item.text === "string") {
170
+ const text = obj.item.text;
146
171
  return [
147
172
  { type: "text", text },
148
173
  { type: "result", result: text },
@@ -154,6 +179,13 @@ const parseCodexStreamLine = (line) => {
154
179
  typeof obj.item.command === "string") {
155
180
  return [{ type: "tool_call", name: "Bash", args: obj.item.command }];
156
181
  }
182
+ // Codex emits error events on stdout (not stderr) for auth failures,
183
+ // rate limits, and API errors. Capture them as result events so the
184
+ // Orchestrator's stderr-empty fallback can surface them to the user.
185
+ if (obj.type === "error") {
186
+ const msg = extractErrorMessage(obj);
187
+ return msg ? [{ type: "result", result: msg }] : [];
188
+ }
157
189
  // turn.completed → skip
158
190
  }
159
191
  catch {
@@ -169,7 +201,10 @@ export const codex = (model, options) => ({
169
201
  const effortFlag = options?.effort
170
202
  ? ` -c ${shellEscape(`model_reasoning_effort="${options.effort}"`)}`
171
203
  : "";
172
- return `codex exec --json --dangerously-bypass-approvals-and-sandbox -m ${shellEscape(model)}${effortFlag} ${shellEscape(prompt)}`;
204
+ return {
205
+ command: `codex exec --json --dangerously-bypass-approvals-and-sandbox -m ${shellEscape(model)}${effortFlag}`,
206
+ stdin: prompt,
207
+ };
173
208
  },
174
209
  buildInteractiveArgs({ prompt }) {
175
210
  const args = ["codex", "--model", model];
@@ -186,7 +221,9 @@ export const opencode = (model, options) => ({
186
221
  env: options?.env ?? {},
187
222
  captureSessions: false,
188
223
  buildPrintCommand({ prompt }) {
189
- return `opencode run --model ${shellEscape(model)} ${shellEscape(prompt)}`;
224
+ return {
225
+ command: `opencode run --model ${shellEscape(model)} ${shellEscape(prompt)}`,
226
+ };
190
227
  },
191
228
  buildInteractiveArgs({ prompt }) {
192
229
  const args = ["opencode", "--model", model];
@@ -210,7 +247,10 @@ export const claudeCode = (model, options) => ({
210
247
  const resumeFlag = resumeSession
211
248
  ? ` --resume ${shellEscape(resumeSession)}`
212
249
  : "";
213
- return `claude --print --verbose${skipPerms} --output-format stream-json --model ${shellEscape(model)}${effortFlag}${resumeFlag} -p ${shellEscape(prompt)}`;
250
+ return {
251
+ command: `claude --print --verbose${skipPerms} --output-format stream-json --model ${shellEscape(model)}${effortFlag}${resumeFlag} -p -`,
252
+ stdin: prompt,
253
+ };
214
254
  },
215
255
  buildInteractiveArgs({ prompt, dangerouslySkipPermissions, }) {
216
256
  const args = ["claude"];
@@ -226,5 +266,34 @@ export const claudeCode = (model, options) => ({
226
266
  parseStreamLine(line) {
227
267
  return parseStreamJsonLine(line);
228
268
  },
269
+ parseSessionUsage(content) {
270
+ const lines = content.split("\n");
271
+ for (let i = lines.length - 1; i >= 0; i--) {
272
+ const line = lines[i];
273
+ if (!line.startsWith("{"))
274
+ continue;
275
+ try {
276
+ const obj = JSON.parse(line);
277
+ if (obj.type === "assistant" && obj.message?.usage) {
278
+ const u = obj.message.usage;
279
+ if (typeof u.input_tokens === "number" &&
280
+ typeof u.cache_creation_input_tokens === "number" &&
281
+ typeof u.cache_read_input_tokens === "number" &&
282
+ typeof u.output_tokens === "number") {
283
+ return {
284
+ inputTokens: u.input_tokens,
285
+ cacheCreationInputTokens: u.cache_creation_input_tokens,
286
+ cacheReadInputTokens: u.cache_read_input_tokens,
287
+ outputTokens: u.output_tokens,
288
+ };
289
+ }
290
+ }
291
+ }
292
+ catch {
293
+ // Not valid JSON — skip
294
+ }
295
+ }
296
+ return undefined;
297
+ },
229
298
  });
230
299
  //# sourceMappingURL=AgentProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentProvider.js","sourceRoot":"","sources":["../src/AgentProvider.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC;AAEhF,gFAAgF;AAChF,MAAM,eAAe,GAA2B;IAC9C,IAAI,EAAE,SAAS;IACf,SAAS,EAAE,OAAO;IAClB,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,aAAa;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,mBAAmB,GAAG,CAAC,GAAQ,EAAsB,EAAE;IAC3D,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC;IACtB,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC/E,OAAO,GAAG,CAAC,OAAO,CAAC;IACrB,CAAC;IACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC,OAAO,CAAC;IACxD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAuB,EAAE;IAChE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACpE,MAAM,MAAM,GAAwB,EAAE,CAAC;YACvC,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,CAAC,OAK7B,EAAE,CAAC;gBACJ,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,IACL,KAAK,CAAC,IAAI,KAAK,UAAU;oBACzB,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ;oBAC9B,KAAK,CAAC,KAAK,KAAK,SAAS,EACzB,CAAC;oBACD,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAC7C,IAAI,QAAQ,KAAK,SAAS;wBAAE,SAAS,CAAC,kBAAkB;oBACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACvC,IAAI,OAAO,QAAQ,KAAK,QAAQ;wBAAE,SAAS,CAAC,0BAA0B;oBACtE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;wBACpD,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBACnB,CAAC;oBACD,MAAM,CAAC,IAAI,CAAC;wBACV,IAAI,EAAE,WAAW;wBACjB,IAAI,EAAE,KAAK,CAAC,IAAI;wBAChB,IAAI,EAAE,QAAQ;qBACf,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACtD,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC5D,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QACD,IACE,GAAG,CAAC,IAAI,KAAK,QAAQ;YACrB,GAAG,CAAC,OAAO,KAAK,MAAM;YACtB,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,EAClC,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAuCF,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAC;AAE/C,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAuB,EAAE;IAC9D,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,IAAI,GAAG,CAAC,qBAAqB,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,GAAG,CAAC,qBAGf,CAAC;YACF,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,IAAI,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC/D,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;YACxC,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC9B,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,GAAG,CAAC,IAA2C,CAAC;YAC7D,IAAI,CAAC,IAAI;gBAAE,OAAO,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,OAAO,QAAQ,KAAK,QAAQ;gBAAE,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,sEAAsE;QACtE,0EAA0E;QAC1E,yEAAyE;QACzE,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvD,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAGlB,CAAC;YACJ,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,GAAG,EAAE,IAAI,KAAK,WAAW,EAAE,CAAC;oBAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;oBAC3B,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC5D,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;wBACzB,CAAC;oBACH,CAAC;oBACD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrB,OAAO,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBACtD,CAAC;oBACD,MAAM;gBACR,CAAC;YACH,CAAC;YACD,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAQF,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,OAAmB,EAAiB,EAAE,CAAC,CAAC;IACxE,IAAI,EAAE,IAAI;IACV,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;IACvB,eAAe,EAAE,KAAK;IAEtB,iBAAiB,CAAC,EAAE,MAAM,EAAuB;QAC/C,OAAO;YACL,OAAO,EAAE,0CAA0C,WAAW,CAAC,KAAK,CAAC,EAAE;YACvE,KAAK,EAAE,MAAM;SACd,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,EAAE,MAAM,EAAuB;QAClD,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAC,CAAC;AAEH,8EAA8E;AAC9E,uBAAuB;AACvB,8EAA8E;AAE9E,MAAM,oBAAoB,GAAG,CAAC,IAAY,EAAuB,EAAE;IACjE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7B,oDAAoD;QACpD,IACE,GAAG,CAAC,IAAI,KAAK,gBAAgB;YAC7B,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,eAAe;YAClC,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,EACjC,CAAC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAC3B,OAAO;gBACL,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;gBACtB,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;aACjC,CAAC;QACJ,CAAC;QAED,kDAAkD;QAClD,IACE,GAAG,CAAC,IAAI,KAAK,cAAc;YAC3B,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,mBAAmB;YACtC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,KAAK,QAAQ,EACpC,CAAC;YACD,OAAO,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;QAED,qEAAqE;QACrE,oEAAoE;QACpE,qEAAqE;QACrE,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;YACrC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,CAAC;QAED,wBAAwB;IAC1B,CAAC;IAAC,MAAM,CAAC;QACP,wBAAwB;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AASF,MAAM,CAAC,MAAM,KAAK,GAAG,CACnB,KAAa,EACb,OAAsB,EACP,EAAE,CAAC,CAAC;IACnB,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;IACvB,eAAe,EAAE,KAAK;IAEtB,iBAAiB,CAAC,EAAE,MAAM,EAAuB;QAC/C,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM;YAChC,CAAC,CAAC,OAAO,WAAW,CAAC,2BAA2B,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACpE,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,OAAO,EAAE,mEAAmE,WAAW,CAAC,KAAK,CAAC,GAAG,UAAU,EAAE;YAC7G,KAAK,EAAE,MAAM;SACd,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,EAAE,MAAM,EAAuB;QAClD,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QACzC,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAC,CAAC;AAYH,MAAM,CAAC,MAAM,QAAQ,GAAG,CACtB,KAAa,EACb,OAAyB,EACV,EAAE,CAAC,CAAC;IACnB,IAAI,EAAE,UAAU;IAChB,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;IACvB,eAAe,EAAE,KAAK;IAEtB,iBAAiB,CAAC,EAAE,MAAM,EAAuB;QAC/C,OAAO;YACL,OAAO,EAAE,wBAAwB,WAAW,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,CAAC,EAAE;SAC7E,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,EAAE,MAAM,EAAuB;QAClD,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5C,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,KAAa;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;CACF,CAAC,CAAC;AAcH,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,KAAa,EACb,OAA2B,EACZ,EAAE,CAAC,CAAC;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE;IACvB,eAAe,EAAE,OAAO,EAAE,eAAe,IAAI,IAAI;IAEjD,iBAAiB,CAAC,EAChB,MAAM,EACN,0BAA0B,EAC1B,aAAa,GACO;QACpB,MAAM,SAAS,GAAG,0BAA0B;YAC1C,CAAC,CAAC,iCAAiC;YACnC,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,UAAU,GAAG,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,UAAU,GAAG,aAAa;YAC9B,CAAC,CAAC,aAAa,WAAW,CAAC,aAAa,CAAC,EAAE;YAC3C,CAAC,CAAC,EAAE,CAAC;QACP,OAAO;YACL,OAAO,EAAE,2BAA2B,SAAS,wCAAwC,WAAW,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,UAAU,OAAO;YACxI,KAAK,EAAE,MAAM;SACd,CAAC;IACJ,CAAC;IAED,oBAAoB,CAAC,EACnB,MAAM,EACN,0BAA0B,GACN;QACpB,MAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QACxB,IAAI,0BAA0B;YAAE,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC5E,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC5B,IAAI,OAAO,EAAE,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAI,MAAM;YAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,iBAAiB,CAAC,OAAe;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAClC,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC7B,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,IAAI,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBACnD,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC;oBAC5B,IACE,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ;wBAClC,OAAO,CAAC,CAAC,2BAA2B,KAAK,QAAQ;wBACjD,OAAO,CAAC,CAAC,uBAAuB,KAAK,QAAQ;wBAC7C,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ,EACnC,CAAC;wBACD,OAAO;4BACL,WAAW,EAAE,CAAC,CAAC,YAAY;4BAC3B,wBAAwB,EAAE,CAAC,CAAC,2BAA2B;4BACvD,oBAAoB,EAAE,CAAC,CAAC,uBAAuB;4BAC/C,YAAY,EAAE,CAAC,CAAC,aAAa;yBAC9B,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ /**
3
+ * A single event in the agent's output stream, surfaced to callers of `run()`
4
+ * so they can forward it to their own observability system.
5
+ *
6
+ * Emitted only in log-to-file mode when an `onAgentStreamEvent` callback is
7
+ * provided via `logging`. See `run()`.
8
+ */
9
+ export type AgentStreamEvent = {
10
+ readonly type: "text";
11
+ readonly message: string;
12
+ readonly iteration: number;
13
+ readonly timestamp: Date;
14
+ } | {
15
+ readonly type: "toolCall";
16
+ readonly name: string;
17
+ readonly formattedArgs: string;
18
+ readonly iteration: number;
19
+ readonly timestamp: Date;
20
+ };
21
+ export interface AgentStreamEmitterService {
22
+ readonly emit: (event: AgentStreamEvent) => Effect.Effect<void>;
23
+ }
24
+ declare const AgentStreamEmitter_base: Context.TagClass<AgentStreamEmitter, "AgentStreamEmitter", AgentStreamEmitterService>;
25
+ export declare class AgentStreamEmitter extends AgentStreamEmitter_base {
26
+ }
27
+ export declare const noopAgentStreamEmitterLayer: Layer.Layer<AgentStreamEmitter>;
28
+ /**
29
+ * Build a layer that forwards each event to the provided callback.
30
+ * The callback is invoked synchronously inside an `Effect.sync`; any error
31
+ * thrown by the callback is caught and discarded so observability failures
32
+ * cannot kill the run.
33
+ */
34
+ export declare const callbackAgentStreamEmitterLayer: (onEvent: (event: AgentStreamEvent) => void) => Layer.Layer<AgentStreamEmitter, never, never>;
35
+ export {};
36
+ //# sourceMappingURL=AgentStreamEmitter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentStreamEmitter.d.ts","sourceRoot":"","sources":["../src/AgentStreamEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GACxB;IACE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B,GACD;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B,CAAC;AAEN,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;CACjE;;AAED,qBAAa,kBAAmB,SAAQ,uBAGrC;CAAG;AAEN,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,KAAK,CAAC,kBAAkB,CACR,CAAC;AAEjE;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,+FAYxC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { Context, Effect, Layer } from "effect";
2
+ export class AgentStreamEmitter extends Context.Tag("AgentStreamEmitter")() {
3
+ }
4
+ export const noopAgentStreamEmitterLayer = Layer.succeed(AgentStreamEmitter, { emit: () => Effect.void });
5
+ /**
6
+ * Build a layer that forwards each event to the provided callback.
7
+ * The callback is invoked synchronously inside an `Effect.sync`; any error
8
+ * thrown by the callback is caught and discarded so observability failures
9
+ * cannot kill the run.
10
+ */
11
+ export const callbackAgentStreamEmitterLayer = (onEvent) => Layer.succeed(AgentStreamEmitter, {
12
+ emit: (event) => Effect.sync(() => {
13
+ try {
14
+ onEvent(event);
15
+ }
16
+ catch {
17
+ // Swallow callback errors — a broken forwarder must not kill the run.
18
+ }
19
+ }),
20
+ });
21
+ //# sourceMappingURL=AgentStreamEmitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentStreamEmitter.js","sourceRoot":"","sources":["../src/AgentStreamEmitter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AA4BhD,MAAM,OAAO,kBAAmB,SAAQ,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAGtE;CAAG;AAEN,MAAM,CAAC,MAAM,2BAA2B,GACtC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAC7C,OAA0C,EACT,EAAE,CACnC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE;IAChC,IAAI,EAAE,CAAC,KAAK,EAAE,EAAE,CACd,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE;QACf,IAAI,CAAC;YACH,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,sEAAsE;QACxE,CAAC;IACH,CAAC,CAAC;CACL,CAAC,CAAC"}
package/dist/Display.js CHANGED
@@ -56,7 +56,7 @@ export const FileDisplay = {
56
56
  .pipe(Effect.orDie);
57
57
  const appendToLog = (line) => fs
58
58
  .writeFileString(filePath, line + "\n", { flag: "a" })
59
- .pipe(Effect.orDie);
59
+ .pipe(Effect.ignore);
60
60
  return {
61
61
  intro: () => Effect.void,
62
62
  status: (message, _severity) => appendToLog(message.replace(/^\[[^\]]+\] /, "")),
@@ -1 +1 @@
1
- {"version":3,"file":"Display.js","sourceRoot":"","sources":["../src/Display.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Display.js","sourceRoot":"","sources":["../src/Display.ts"],"names":[],"mappings":"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"}
@@ -22,16 +22,6 @@ export interface StartContainerOptions {
22
22
  * Start a new container with environment variables injected.
23
23
  */
24
24
  export declare const startContainer: (containerName: string, imageName: string, env: Record<string, string>, options?: StartContainerOptions | undefined) => Effect.Effect<void, DockerError, never>;
25
- /**
26
- * Fix ownership of a directory inside the container.
27
- * Runs as root so the target owner can write to the path.
28
- *
29
- * Non-fatal: if chown fails (e.g. read-only .git/objects on macOS VirtioFS),
30
- * a warning is logged but the error is not propagated.
31
- *
32
- * @param owner - chown-compatible owner spec, e.g. "1000:1000" or "agent"
33
- */
34
- export declare const chownInContainer: (containerName: string, owner: string, path: string) => Effect.Effect<void, never, never>;
35
25
  /**
36
26
  * Stop and remove a container without removing the image.
37
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DockerLifecycle.d.ts","sourceRoot":"","sources":["../src/DockerLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwB1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;yDAkBnB,CAAC;AAEL,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,iKAwDvB,CAAC;AAEL;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,2FAuB1B,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,eAAe,oEAQxB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,WAAW,gEAKpB,CAAC"}
1
+ {"version":3,"file":"DockerLifecycle.d.ts","sourceRoot":"","sources":["../src/DockerLifecycle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAwB1C;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;yDAkBnB,CAAC;AAEL,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1C,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC;CAC/C;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,iKAwDvB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,eAAe,oEAQxB,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,WAAW,gEAKpB,CAAC"}