@stigmer/runner 0.1.0-dev.20261017064309.g94d062a29f89 → 0.1.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 +52 -40
- package/dist/.build-fingerprint +1 -1
- package/dist/activities/ensure-thread.d.ts +2 -2
- package/dist/activities/ensure-thread.js +5 -3
- package/dist/activities/ensure-thread.js.map +1 -1
- package/dist/activities/execute-claude/adapter.d.ts +90 -0
- package/dist/activities/execute-claude/adapter.js +216 -0
- package/dist/activities/execute-claude/adapter.js.map +1 -0
- package/dist/activities/execute-claude/agents.d.ts +128 -0
- package/dist/activities/execute-claude/agents.js +259 -0
- package/dist/activities/execute-claude/agents.js.map +1 -0
- package/dist/activities/execute-claude/claude-capabilities.d.ts +54 -0
- package/dist/activities/execute-claude/claude-capabilities.js +68 -0
- package/dist/activities/execute-claude/claude-capabilities.js.map +1 -0
- package/dist/activities/execute-claude/engine-env.d.ts +64 -0
- package/dist/activities/execute-claude/engine-env.js +77 -0
- package/dist/activities/execute-claude/engine-env.js.map +1 -0
- package/dist/activities/execute-claude/engine-fetch.d.ts +80 -0
- package/dist/activities/execute-claude/engine-fetch.js +239 -0
- package/dist/activities/execute-claude/engine-fetch.js.map +1 -0
- package/dist/activities/execute-claude/engine-home.d.ts +125 -0
- package/dist/activities/execute-claude/engine-home.js +210 -0
- package/dist/activities/execute-claude/engine-home.js.map +1 -0
- package/dist/activities/execute-claude/engine-options.d.ts +116 -0
- package/dist/activities/execute-claude/engine-options.js +162 -0
- package/dist/activities/execute-claude/engine-options.js.map +1 -0
- package/dist/activities/execute-claude/engine-session-id.d.ts +28 -0
- package/dist/activities/execute-claude/engine-session-id.js +48 -0
- package/dist/activities/execute-claude/engine-session-id.js.map +1 -0
- package/dist/activities/execute-claude/file-store.d.ts +40 -0
- package/dist/activities/execute-claude/file-store.js +108 -0
- package/dist/activities/execute-claude/file-store.js.map +1 -0
- package/dist/activities/execute-claude/gate.d.ts +456 -0
- package/dist/activities/execute-claude/gate.js +712 -0
- package/dist/activities/execute-claude/gate.js.map +1 -0
- package/dist/activities/execute-claude/hook-views.d.ts +59 -0
- package/dist/activities/execute-claude/hook-views.js +133 -0
- package/dist/activities/execute-claude/hook-views.js.map +1 -0
- package/dist/activities/execute-claude/hooks.d.ts +64 -0
- package/dist/activities/execute-claude/hooks.js +136 -0
- package/dist/activities/execute-claude/hooks.js.map +1 -0
- package/dist/activities/execute-claude/host-shell.d.ts +74 -0
- package/dist/activities/execute-claude/host-shell.js +109 -0
- package/dist/activities/execute-claude/host-shell.js.map +1 -0
- package/dist/activities/execute-claude/http-store.d.ts +42 -0
- package/dist/activities/execute-claude/http-store.js +85 -0
- package/dist/activities/execute-claude/http-store.js.map +1 -0
- package/dist/activities/execute-claude/loopback-mcp.d.ts +78 -0
- package/dist/activities/execute-claude/loopback-mcp.js +147 -0
- package/dist/activities/execute-claude/loopback-mcp.js.map +1 -0
- package/dist/activities/execute-claude/mcp-bridge.d.ts +63 -0
- package/dist/activities/execute-claude/mcp-bridge.js +145 -0
- package/dist/activities/execute-claude/mcp-bridge.js.map +1 -0
- package/dist/activities/execute-claude/mid-turn-input.d.ts +72 -0
- package/dist/activities/execute-claude/mid-turn-input.js +123 -0
- package/dist/activities/execute-claude/mid-turn-input.js.map +1 -0
- package/dist/activities/execute-claude/prompt-stream.d.ts +24 -0
- package/dist/activities/execute-claude/prompt-stream.js +47 -0
- package/dist/activities/execute-claude/prompt-stream.js.map +1 -0
- package/dist/activities/execute-claude/prompt.d.ts +84 -0
- package/dist/activities/execute-claude/prompt.js +228 -0
- package/dist/activities/execute-claude/prompt.js.map +1 -0
- package/dist/activities/execute-claude/session-store.d.ts +75 -0
- package/dist/activities/execute-claude/session-store.js +170 -0
- package/dist/activities/execute-claude/session-store.js.map +1 -0
- package/dist/activities/execute-claude/settle.d.ts +45 -0
- package/dist/activities/execute-claude/settle.js +71 -0
- package/dist/activities/execute-claude/settle.js.map +1 -0
- package/dist/activities/execute-claude/skill-plugins.d.ts +79 -0
- package/dist/activities/execute-claude/skill-plugins.js +146 -0
- package/dist/activities/execute-claude/skill-plugins.js.map +1 -0
- package/dist/activities/execute-claude/transcript-facts.d.ts +42 -0
- package/dist/activities/execute-claude/transcript-facts.js +61 -0
- package/dist/activities/execute-claude/transcript-facts.js.map +1 -0
- package/dist/activities/execute-claude/translator.d.ts +112 -0
- package/dist/activities/execute-claude/translator.js +282 -0
- package/dist/activities/execute-claude/translator.js.map +1 -0
- package/dist/activities/execute-claude/turn.d.ts +119 -0
- package/dist/activities/execute-claude/turn.js +643 -0
- package/dist/activities/execute-claude/turn.js.map +1 -0
- package/dist/activities/execute-claude/usage.d.ts +55 -0
- package/dist/activities/execute-claude/usage.js +108 -0
- package/dist/activities/execute-claude/usage.js.map +1 -0
- package/dist/activities/execute-deep-agent/adapter.d.ts +12 -8
- package/dist/activities/execute-deep-agent/adapter.js +32 -12
- package/dist/activities/execute-deep-agent/adapter.js.map +1 -1
- package/dist/activities/execute-deep-agent/approval-file-change.d.ts +3 -4
- package/dist/activities/execute-deep-agent/approval-file-change.js +3 -4
- package/dist/activities/execute-deep-agent/approval-file-change.js.map +1 -1
- package/dist/activities/execute-deep-agent/background-facts.d.ts +36 -0
- package/dist/activities/execute-deep-agent/background-facts.js +104 -0
- package/dist/activities/execute-deep-agent/background-facts.js.map +1 -0
- package/dist/activities/execute-deep-agent/cas-capture-backend.d.ts +33 -8
- package/dist/activities/execute-deep-agent/cas-capture-backend.js +64 -7
- package/dist/activities/execute-deep-agent/cas-capture-backend.js.map +1 -1
- package/dist/activities/execute-deep-agent/deep-agent-capabilities.d.ts +16 -13
- package/dist/activities/execute-deep-agent/deep-agent-capabilities.js +21 -20
- package/dist/activities/execute-deep-agent/deep-agent-capabilities.js.map +1 -1
- package/dist/activities/execute-deep-agent/deepagents-profiles.d.ts +1 -1
- package/dist/activities/execute-deep-agent/deepagents-profiles.js +1 -1
- package/dist/activities/execute-deep-agent/deepagents-profiles.js.map +1 -1
- package/dist/activities/execute-deep-agent/engine-tools.d.ts +1 -1
- package/dist/activities/execute-deep-agent/engine-tools.js +1 -1
- package/dist/activities/execute-deep-agent/hitl.d.ts +13 -38
- package/dist/activities/execute-deep-agent/hitl.js +19 -65
- package/dist/activities/execute-deep-agent/hitl.js.map +1 -1
- package/dist/activities/execute-deep-agent/hooks-setup.d.ts +6 -6
- package/dist/activities/execute-deep-agent/hooks-setup.js +8 -8
- package/dist/activities/execute-deep-agent/hooks-setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/input-barrier.d.ts +44 -0
- package/dist/activities/execute-deep-agent/input-barrier.js +67 -0
- package/dist/activities/execute-deep-agent/input-barrier.js.map +1 -0
- package/dist/activities/execute-deep-agent/loose-edit.d.ts +42 -0
- package/dist/activities/execute-deep-agent/loose-edit.js +67 -0
- package/dist/activities/execute-deep-agent/loose-edit.js.map +1 -0
- package/dist/activities/execute-deep-agent/platform-route.d.ts +126 -46
- package/dist/activities/execute-deep-agent/platform-route.js +196 -84
- package/dist/activities/execute-deep-agent/platform-route.js.map +1 -1
- package/dist/activities/execute-deep-agent/prompt-builder.d.ts +34 -21
- package/dist/activities/execute-deep-agent/prompt-builder.js +33 -25
- package/dist/activities/execute-deep-agent/prompt-builder.js.map +1 -1
- package/dist/activities/execute-deep-agent/repository-instructions.d.ts +22 -0
- package/dist/activities/execute-deep-agent/repository-instructions.js +41 -0
- package/dist/activities/execute-deep-agent/repository-instructions.js.map +1 -0
- package/dist/activities/execute-deep-agent/resumed-history.d.ts +1 -1
- package/dist/activities/execute-deep-agent/resumed-history.js +1 -1
- package/dist/activities/execute-deep-agent/run-stamp.d.ts +37 -0
- package/dist/activities/execute-deep-agent/run-stamp.js +41 -0
- package/dist/activities/execute-deep-agent/run-stamp.js.map +1 -0
- package/dist/activities/execute-deep-agent/shell-tool.d.ts +138 -0
- package/dist/activities/execute-deep-agent/shell-tool.js +280 -0
- package/dist/activities/execute-deep-agent/shell-tool.js.map +1 -0
- package/dist/activities/execute-deep-agent/subagent-transformer.d.ts +69 -8
- package/dist/activities/execute-deep-agent/subagent-transformer.js +78 -26
- package/dist/activities/execute-deep-agent/subagent-transformer.js.map +1 -1
- package/dist/activities/execute-deep-agent/subagent-wiring.d.ts +23 -6
- package/dist/activities/execute-deep-agent/subagent-wiring.js +40 -6
- package/dist/activities/execute-deep-agent/subagent-wiring.js.map +1 -1
- package/dist/activities/execute-deep-agent/translator.d.ts +51 -23
- package/dist/activities/execute-deep-agent/translator.js +108 -34
- package/dist/activities/execute-deep-agent/translator.js.map +1 -1
- package/dist/activities/execute-deep-agent/turn-input-middleware.d.ts +80 -0
- package/dist/activities/execute-deep-agent/turn-input-middleware.js +121 -0
- package/dist/activities/execute-deep-agent/turn-input-middleware.js.map +1 -0
- package/dist/activities/execute-deep-agent/turn-settle.d.ts +3 -5
- package/dist/activities/execute-deep-agent/turn-settle.js +3 -19
- package/dist/activities/execute-deep-agent/turn-settle.js.map +1 -1
- package/dist/activities/execute-deep-agent/turn-setup.d.ts +63 -28
- package/dist/activities/execute-deep-agent/turn-setup.js +219 -85
- package/dist/activities/execute-deep-agent/turn-setup.js.map +1 -1
- package/dist/activities/execute-deep-agent/turn-stream.d.ts +29 -19
- package/dist/activities/execute-deep-agent/turn-stream.js +71 -22
- package/dist/activities/execute-deep-agent/turn-stream.js.map +1 -1
- package/dist/activities/execute-deep-agent/turn.d.ts +17 -6
- package/dist/activities/execute-deep-agent/turn.js +79 -23
- package/dist/activities/execute-deep-agent/turn.js.map +1 -1
- package/dist/activities/execute-deep-agent/v3-event-recorder.d.ts +1 -1
- package/dist/activities/execute-deep-agent/v3-event-recorder.js +1 -1
- package/dist/activities/generate-session-subject.d.ts +14 -24
- package/dist/activities/generate-session-subject.js +17 -25
- package/dist/activities/generate-session-subject.js.map +1 -1
- package/dist/activities/list-plugin-tools.d.ts +8 -0
- package/dist/activities/list-plugin-tools.js +15 -0
- package/dist/activities/list-plugin-tools.js.map +1 -1
- package/dist/agent-host/channel.d.ts +4 -1
- package/dist/agent-host/channel.js +8 -3
- package/dist/agent-host/channel.js.map +1 -1
- package/dist/agent-host/codec.d.ts +28 -54
- package/dist/agent-host/codec.js +50 -69
- package/dist/agent-host/codec.js.map +1 -1
- package/dist/agent-host/entry.js +0 -6
- package/dist/agent-host/entry.js.map +1 -1
- package/dist/agent-host/environment.d.ts +13 -3
- package/dist/agent-host/environment.js +20 -4
- package/dist/agent-host/environment.js.map +1 -1
- package/dist/agent-host/host-sink.d.ts +17 -5
- package/dist/agent-host/host-sink.js +55 -10
- package/dist/agent-host/host-sink.js.map +1 -1
- package/dist/agent-host/host.d.ts +2 -2
- package/dist/agent-host/host.js +21 -32
- package/dist/agent-host/host.js.map +1 -1
- package/dist/agent-host/hosting.d.ts +5 -31
- package/dist/agent-host/hosting.js +13 -46
- package/dist/agent-host/hosting.js.map +1 -1
- package/dist/agent-host/protocol.d.ts +95 -49
- package/dist/agent-host/protocol.js +116 -7
- package/dist/agent-host/protocol.js.map +1 -1
- package/dist/agent-host/remote-adapter.d.ts +14 -11
- package/dist/agent-host/remote-adapter.js +59 -42
- package/dist/agent-host/remote-adapter.js.map +1 -1
- package/dist/agent-host/remote-fs.js +20 -0
- package/dist/agent-host/remote-fs.js.map +1 -1
- package/dist/agent-host/supervisor.d.ts +9 -7
- package/dist/agent-host/supervisor.js +25 -18
- package/dist/agent-host/supervisor.js.map +1 -1
- package/dist/agent-proxy/lanes.d.ts +16 -5
- package/dist/agent-proxy/lanes.js +26 -9
- package/dist/agent-proxy/lanes.js.map +1 -1
- package/dist/agent-proxy/relay.d.ts +8 -10
- package/dist/agent-proxy/relay.js +2 -18
- package/dist/agent-proxy/relay.js.map +1 -1
- package/dist/agent-proxy/server.d.ts +22 -11
- package/dist/agent-proxy/server.js +61 -31
- package/dist/agent-proxy/server.js.map +1 -1
- package/dist/attach/push.d.ts +12 -6
- package/dist/attach/push.js +26 -10
- package/dist/attach/push.js.map +1 -1
- package/dist/attach/waiter.d.ts +5 -1
- package/dist/attach/waiter.js +20 -3
- package/dist/attach/waiter.js.map +1 -1
- package/dist/bootstrap.d.ts +16 -9
- package/dist/bootstrap.js +15 -7
- package/dist/bootstrap.js.map +1 -1
- package/dist/client/server-contracts.d.ts +2 -2
- package/dist/client/server-contracts.js +2 -2
- package/dist/client/stigmer-client.d.ts +84 -44
- package/dist/client/stigmer-client.js +84 -46
- package/dist/client/stigmer-client.js.map +1 -1
- package/dist/client/token-claims.d.ts +3 -6
- package/dist/client/token-claims.js +3 -6
- package/dist/client/token-claims.js.map +1 -1
- package/dist/config.d.ts +95 -80
- package/dist/config.js +80 -39
- package/dist/config.js.map +1 -1
- package/dist/environment/install.d.ts +141 -0
- package/dist/environment/install.js +389 -0
- package/dist/environment/install.js.map +1 -0
- package/dist/environment/prefix.d.ts +13 -0
- package/dist/environment/prefix.js +20 -0
- package/dist/environment/prefix.js.map +1 -0
- package/dist/environment/spec.d.ts +67 -0
- package/dist/environment/spec.js +113 -0
- package/dist/environment/spec.js.map +1 -0
- package/dist/exit-backstop.d.ts +3 -3
- package/dist/exit-backstop.js +3 -3
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/enum_pb.d.ts +58 -39
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/enum_pb.js +57 -38
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/enum_pb.js.map +1 -1
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/ledger_pb.d.ts +1 -1
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/rows_pb.d.ts +141 -92
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/rows_pb.js +17 -7
- package/dist/gen/turn/ai/stigmer/runner/turn/v1/rows_pb.js.map +1 -1
- package/dist/gen-ai-conventions.d.ts +1 -7
- package/dist/gen-ai-conventions.js +2 -8
- package/dist/gen-ai-conventions.js.map +1 -1
- package/dist/harness/approval-answers.d.ts +3 -7
- package/dist/harness/approval-answers.js +5 -7
- package/dist/harness/approval-answers.js.map +1 -1
- package/dist/harness/approval-decisions.d.ts +7 -8
- package/dist/harness/approval-decisions.js +7 -8
- package/dist/harness/approval-decisions.js.map +1 -1
- package/dist/harness/background-stops.d.ts +74 -0
- package/dist/harness/background-stops.js +126 -0
- package/dist/harness/background-stops.js.map +1 -0
- package/dist/harness/capabilities.d.ts +80 -86
- package/dist/harness/capabilities.js +61 -32
- package/dist/harness/capabilities.js.map +1 -1
- package/dist/harness/capture.d.ts +23 -18
- package/dist/harness/capture.js +37 -47
- package/dist/harness/capture.js.map +1 -1
- package/dist/harness/cost-cap-watch.d.ts +17 -1
- package/dist/harness/cost-cap-watch.js +24 -0
- package/dist/harness/cost-cap-watch.js.map +1 -1
- package/dist/harness/events/emitter.d.ts +124 -9
- package/dist/harness/events/emitter.js +384 -22
- package/dist/harness/events/emitter.js.map +1 -1
- package/dist/harness/events/ids.d.ts +21 -2
- package/dist/harness/events/ids.js +30 -2
- package/dist/harness/events/ids.js.map +1 -1
- package/dist/harness/liveness-pump.d.ts +73 -0
- package/dist/harness/liveness-pump.js +117 -0
- package/dist/harness/liveness-pump.js.map +1 -0
- package/dist/harness/open-operations.d.ts +158 -0
- package/dist/harness/open-operations.js +253 -0
- package/dist/harness/open-operations.js.map +1 -0
- package/dist/harness/owed-undos.d.ts +5 -3
- package/dist/harness/owed-undos.js +6 -4
- package/dist/harness/owed-undos.js.map +1 -1
- package/dist/harness/persist-chokepoint.d.ts +41 -6
- package/dist/harness/persist-chokepoint.js +69 -7
- package/dist/harness/persist-chokepoint.js.map +1 -1
- package/dist/harness/preview-pump.d.ts +47 -0
- package/dist/harness/preview-pump.js +67 -0
- package/dist/harness/preview-pump.js.map +1 -0
- package/dist/harness/registry.d.ts +22 -32
- package/dist/harness/registry.js +22 -27
- package/dist/harness/registry.js.map +1 -1
- package/dist/harness/run-span.d.ts +1 -2
- package/dist/harness/run-span.js +1 -2
- package/dist/harness/run-span.js.map +1 -1
- package/dist/harness/run-turn.d.ts +20 -15
- package/dist/harness/run-turn.js +304 -101
- package/dist/harness/run-turn.js.map +1 -1
- package/dist/harness/stop-controller.d.ts +41 -8
- package/dist/harness/stop-controller.js +42 -8
- package/dist/harness/stop-controller.js.map +1 -1
- package/dist/harness/terminal-table.d.ts +126 -24
- package/dist/harness/terminal-table.js +138 -34
- package/dist/harness/terminal-table.js.map +1 -1
- package/dist/harness/transcript/builder.d.ts +59 -51
- package/dist/harness/transcript/builder.js +192 -139
- package/dist/harness/transcript/builder.js.map +1 -1
- package/dist/harness/transcript/events.d.ts +142 -60
- package/dist/harness/transcript/events.js +21 -15
- package/dist/harness/transcript/events.js.map +1 -1
- package/dist/harness/transcript/resume-seed.d.ts +7 -9
- package/dist/harness/transcript/resume-seed.js +7 -10
- package/dist/harness/transcript/resume-seed.js.map +1 -1
- package/dist/harness/transcript/state.d.ts +4 -5
- package/dist/harness/transcript/state.js +4 -5
- package/dist/harness/transcript/state.js.map +1 -1
- package/dist/harness/turn-context.d.ts +151 -161
- package/dist/harness/turn-context.js +257 -277
- package/dist/harness/turn-context.js.map +1 -1
- package/dist/harness/turn-input.d.ts +106 -0
- package/dist/harness/turn-input.js +97 -0
- package/dist/harness/turn-input.js.map +1 -0
- package/dist/harness/turn-timeline.d.ts +35 -33
- package/dist/harness/turn-timeline.js +72 -37
- package/dist/harness/turn-timeline.js.map +1 -1
- package/dist/harness/types.d.ts +149 -108
- package/dist/harness/types.js +4 -5
- package/dist/harness/types.js.map +1 -1
- package/dist/harness/usage-accumulator.d.ts +19 -6
- package/dist/harness/usage-accumulator.js +29 -7
- package/dist/harness/usage-accumulator.js.map +1 -1
- package/dist/harness-adapters.d.ts +17 -17
- package/dist/harness-adapters.js +21 -21
- package/dist/harness-adapters.js.map +1 -1
- package/dist/in-flight.d.ts +1 -1
- package/dist/in-flight.js +1 -1
- package/dist/interceptors/run-credential-activity.d.ts +2 -4
- package/dist/interceptors/run-credential-activity.js +2 -4
- package/dist/interceptors/run-credential-activity.js.map +1 -1
- package/dist/ipc-protocol-fixtures.d.ts +0 -1
- package/dist/ipc-protocol-fixtures.js +0 -1
- package/dist/ipc-protocol-fixtures.js.map +1 -1
- package/dist/ipc-protocol.d.ts +1 -1
- package/dist/ipc-protocol.js +1 -1
- package/dist/main.d.ts +1 -8
- package/dist/main.js +26 -144
- package/dist/main.js.map +1 -1
- package/dist/middleware/approval-gate.d.ts +64 -76
- package/dist/middleware/approval-gate.js +149 -158
- package/dist/middleware/approval-gate.js.map +1 -1
- package/dist/middleware/background-commands.d.ts +102 -0
- package/dist/middleware/background-commands.js +303 -0
- package/dist/middleware/background-commands.js.map +1 -0
- package/dist/middleware/compaction-prompt.d.ts +69 -0
- package/dist/middleware/compaction-prompt.js +132 -0
- package/dist/middleware/compaction-prompt.js.map +1 -0
- package/dist/middleware/compaction.d.ts +71 -0
- package/dist/middleware/compaction.js +104 -0
- package/dist/middleware/compaction.js.map +1 -0
- package/dist/middleware/error-hints.d.ts +3 -1
- package/dist/middleware/error-hints.js +6 -1
- package/dist/middleware/error-hints.js.map +1 -1
- package/dist/middleware/execution-budget.d.ts +1 -1
- package/dist/middleware/execution-budget.js +1 -1
- package/dist/middleware/folder-instructions.d.ts +94 -0
- package/dist/middleware/folder-instructions.js +217 -0
- package/dist/middleware/folder-instructions.js.map +1 -0
- package/dist/middleware/index.d.ts +33 -8
- package/dist/middleware/index.js +56 -9
- package/dist/middleware/index.js.map +1 -1
- package/dist/middleware/model-retry.d.ts +52 -0
- package/dist/middleware/model-retry.js +98 -0
- package/dist/middleware/model-retry.js.map +1 -0
- package/dist/middleware/otel-spans.d.ts +7 -3
- package/dist/middleware/otel-spans.js +13 -6
- package/dist/middleware/otel-spans.js.map +1 -1
- package/dist/middleware/path-normalization.d.ts +3 -3
- package/dist/middleware/path-normalization.js +3 -3
- package/dist/middleware/shell.d.ts +59 -0
- package/dist/middleware/shell.js +133 -0
- package/dist/middleware/shell.js.map +1 -0
- package/dist/middleware/tool-intent.d.ts +5 -5
- package/dist/middleware/tool-intent.js +5 -5
- package/dist/middleware/tool-scope.d.ts +67 -30
- package/dist/middleware/tool-scope.js +103 -67
- package/dist/middleware/tool-scope.js.map +1 -1
- package/dist/middleware/tool-truncation.d.ts +140 -8
- package/dist/middleware/tool-truncation.js +304 -32
- package/dist/middleware/tool-truncation.js.map +1 -1
- package/dist/middleware/turn-boundary.d.ts +59 -0
- package/dist/middleware/turn-boundary.js +75 -0
- package/dist/middleware/turn-boundary.js.map +1 -0
- package/dist/middleware/types.d.ts +70 -4
- package/dist/middleware/types.js +1 -1
- package/dist/operator-bounds.d.ts +24 -0
- package/dist/operator-bounds.js +24 -0
- package/dist/operator-bounds.js.map +1 -0
- package/dist/otel-export.d.ts +1 -1
- package/dist/otel-export.js +1 -1
- package/dist/otel-metrics.d.ts +1 -2
- package/dist/otel-metrics.js +1 -5
- package/dist/otel-metrics.js.map +1 -1
- package/dist/otel.d.ts +0 -10
- package/dist/otel.js +0 -29
- package/dist/otel.js.map +1 -1
- package/dist/preflight.d.ts +12 -4
- package/dist/preflight.js +21 -4
- package/dist/preflight.js.map +1 -1
- package/dist/run-trace-id.d.ts +1 -1
- package/dist/run-trace-id.js +1 -1
- package/dist/runner-manager.d.ts +21 -38
- package/dist/runner-manager.js +85 -185
- package/dist/runner-manager.js.map +1 -1
- package/dist/runner-token-coordinator.d.ts +5 -4
- package/dist/runner-token-coordinator.js +3 -2
- package/dist/runner-token-coordinator.js.map +1 -1
- package/dist/runner.d.ts +47 -21
- package/dist/runner.js +86 -72
- package/dist/runner.js.map +1 -1
- package/dist/sandbox-token-renewal.d.ts +11 -8
- package/dist/sandbox-token-renewal.js +20 -13
- package/dist/sandbox-token-renewal.js.map +1 -1
- package/dist/shared/activity-input.d.ts +13 -25
- package/dist/shared/activity-input.js +13 -28
- package/dist/shared/activity-input.js.map +1 -1
- package/dist/shared/agent-fs.d.ts +4 -0
- package/dist/shared/agent-fs.js +21 -0
- package/dist/shared/agent-fs.js.map +1 -1
- package/dist/shared/agent-handover.d.ts +2 -2
- package/dist/shared/agent-handover.js +3 -3
- package/dist/shared/agent-handover.js.map +1 -1
- package/dist/shared/agent-identity.d.ts +24 -1
- package/dist/shared/agent-identity.js +53 -2
- package/dist/shared/agent-identity.js.map +1 -1
- package/dist/shared/approval-canonicalize.js +1 -1
- package/dist/shared/approval-canonicalize.js.map +1 -1
- package/dist/shared/approval-fingerprint.d.ts +6 -54
- package/dist/shared/approval-fingerprint.js +7 -53
- package/dist/shared/approval-fingerprint.js.map +1 -1
- package/dist/shared/approval-policy.d.ts +30 -27
- package/dist/shared/approval-policy.js +28 -23
- package/dist/shared/approval-policy.js.map +1 -1
- package/dist/shared/archive-mount.d.ts +20 -19
- package/dist/shared/archive-mount.js +11 -10
- package/dist/shared/archive-mount.js.map +1 -1
- package/dist/shared/args-preview.d.ts +15 -25
- package/dist/shared/args-preview.js +15 -25
- package/dist/shared/args-preview.js.map +1 -1
- package/dist/shared/artifact-storage.d.ts +9 -12
- package/dist/shared/artifact-storage.js +9 -12
- package/dist/shared/artifact-storage.js.map +1 -1
- package/dist/shared/attachment-vision.d.ts +43 -46
- package/dist/shared/attachment-vision.js +31 -53
- package/dist/shared/attachment-vision.js.map +1 -1
- package/dist/shared/blueprint-resolver.d.ts +0 -16
- package/dist/shared/blueprint-resolver.js +0 -28
- package/dist/shared/blueprint-resolver.js.map +1 -1
- package/dist/shared/builtin-assistant-prompt.d.ts +3 -3
- package/dist/shared/builtin-assistant-prompt.js +3 -3
- package/dist/shared/builtin-judge.d.ts +1 -1
- package/dist/shared/builtin-judge.js +5 -5
- package/dist/shared/builtin-judge.js.map +1 -1
- package/dist/shared/channel-attachment.js +3 -5
- package/dist/shared/channel-attachment.js.map +1 -1
- package/dist/shared/checkpointer/factory.d.ts +2 -3
- package/dist/shared/checkpointer/factory.js +2 -3
- package/dist/shared/checkpointer/factory.js.map +1 -1
- package/dist/shared/checkpointer/http-saver.d.ts +7 -8
- package/dist/shared/checkpointer/http-saver.js +10 -11
- package/dist/shared/checkpointer/http-saver.js.map +1 -1
- package/dist/shared/checkpointer/sqlite-saver.d.ts +2 -2
- package/dist/shared/checkpointer/sqlite-saver.js +2 -2
- package/dist/shared/checkpointer/types.d.ts +1 -1
- package/dist/shared/checkpointer/types.js +1 -1
- package/dist/shared/cold-start-timing.js +0 -3
- package/dist/shared/cold-start-timing.js.map +1 -1
- package/dist/shared/context-bridge.d.ts +1 -2
- package/dist/shared/context-bridge.js +1 -2
- package/dist/shared/context-bridge.js.map +1 -1
- package/dist/shared/conversation-catchup.d.ts +1 -1
- package/dist/shared/conversation-catchup.js +1 -1
- package/dist/shared/cost-guard.d.ts +4 -5
- package/dist/shared/cost-guard.js +4 -5
- package/dist/shared/cost-guard.js.map +1 -1
- package/dist/shared/edit-match.d.ts +85 -0
- package/dist/shared/edit-match.js +261 -0
- package/dist/shared/edit-match.js.map +1 -0
- package/dist/shared/error-chain.d.ts +31 -0
- package/dist/shared/error-chain.js +75 -0
- package/dist/shared/error-chain.js.map +1 -0
- package/dist/shared/eval-case/agent-mock.d.ts +1 -1
- package/dist/shared/eval-case/agent-mock.js +2 -2
- package/dist/shared/eval-case/agent-mock.js.map +1 -1
- package/dist/shared/eval-case/case-archive.d.ts +17 -6
- package/dist/shared/eval-case/case-archive.js +31 -16
- package/dist/shared/eval-case/case-archive.js.map +1 -1
- package/dist/shared/eval-case/mock-endpoint.d.ts +0 -5
- package/dist/shared/eval-case/mock-endpoint.js +1 -2
- package/dist/shared/eval-case/mock-endpoint.js.map +1 -1
- package/dist/shared/eval-case/prepare-case.d.ts +11 -10
- package/dist/shared/eval-case/prepare-case.js +7 -6
- package/dist/shared/eval-case/prepare-case.js.map +1 -1
- package/dist/shared/execution-context.d.ts +8 -11
- package/dist/shared/execution-context.js +8 -11
- package/dist/shared/execution-context.js.map +1 -1
- package/dist/shared/extract-structured-output.d.ts +2 -2
- package/dist/shared/extract-structured-output.js +2 -2
- package/dist/shared/file-change.d.ts +6 -6
- package/dist/shared/file-change.js +6 -6
- package/dist/shared/file-change.js.map +1 -1
- package/dist/shared/file-edit-policy.d.ts +154 -0
- package/dist/shared/file-edit-policy.js +143 -0
- package/dist/shared/file-edit-policy.js.map +1 -0
- package/dist/shared/file-mount.d.ts +114 -0
- package/dist/shared/file-mount.js +369 -0
- package/dist/shared/file-mount.js.map +1 -0
- package/dist/shared/file-tools.d.ts +18 -46
- package/dist/shared/file-tools.js +23 -67
- package/dist/shared/file-tools.js.map +1 -1
- package/dist/shared/filereview/capture.d.ts +22 -6
- package/dist/shared/filereview/capture.js +23 -6
- package/dist/shared/filereview/capture.js.map +1 -1
- package/dist/shared/filereview/cas-capture-observer.d.ts +86 -0
- package/dist/shared/filereview/cas-capture-observer.js +120 -0
- package/dist/shared/filereview/cas-capture-observer.js.map +1 -0
- package/dist/shared/filereview/cas-substrate.d.ts +2 -2
- package/dist/shared/filereview/cas-substrate.js +2 -2
- package/dist/shared/filereview/cas-touched.d.ts +2 -2
- package/dist/shared/filereview/cas-touched.js +2 -2
- package/dist/shared/filereview/command-provenance.d.ts +5 -8
- package/dist/shared/filereview/command-provenance.js +1 -1
- package/dist/shared/filereview/command-provenance.js.map +1 -1
- package/dist/shared/filereview/digest.d.ts +2 -3
- package/dist/shared/filereview/digest.js +4 -6
- package/dist/shared/filereview/digest.js.map +1 -1
- package/dist/shared/filereview/events.d.ts +4 -4
- package/dist/shared/filereview/events.js +5 -6
- package/dist/shared/filereview/events.js.map +1 -1
- package/dist/shared/filereview/git-substrate.d.ts +21 -10
- package/dist/shared/filereview/git-substrate.js +62 -18
- package/dist/shared/filereview/git-substrate.js.map +1 -1
- package/dist/shared/filereview/index.d.ts +2 -2
- package/dist/shared/filereview/index.js +2 -2
- package/dist/shared/filereview/progress.d.ts +8 -0
- package/dist/shared/filereview/progress.js +7 -1
- package/dist/shared/filereview/progress.js.map +1 -1
- package/dist/shared/filereview/record.d.ts +23 -0
- package/dist/shared/filereview/record.js +49 -0
- package/dist/shared/filereview/record.js.map +1 -1
- package/dist/shared/fingerprint-secret.d.ts +2 -3
- package/dist/shared/fingerprint-secret.js +2 -3
- package/dist/shared/fingerprint-secret.js.map +1 -1
- package/dist/shared/heartbeat.d.ts +22 -0
- package/dist/shared/heartbeat.js +22 -0
- package/dist/shared/heartbeat.js.map +1 -1
- package/dist/shared/hooks/condition.d.ts +9 -4
- package/dist/shared/hooks/condition.js +16 -8
- package/dist/shared/hooks/condition.js.map +1 -1
- package/dist/shared/hooks/evaluate.d.ts +9 -12
- package/dist/shared/hooks/evaluate.js +30 -13
- package/dist/shared/hooks/evaluate.js.map +1 -1
- package/dist/shared/hooks/formats/claude-code.d.ts +6 -3
- package/dist/shared/hooks/formats/claude-code.js +10 -4
- package/dist/shared/hooks/formats/claude-code.js.map +1 -1
- package/dist/shared/hooks/formats/cursor.d.ts +3 -3
- package/dist/shared/hooks/formats/cursor.js +3 -13
- package/dist/shared/hooks/formats/cursor.js.map +1 -1
- package/dist/shared/hooks/hook-set.d.ts +4 -0
- package/dist/shared/hooks/hook-set.js +3 -1
- package/dist/shared/hooks/hook-set.js.map +1 -1
- package/dist/shared/hooks/matcher.d.ts +37 -10
- package/dist/shared/hooks/matcher.js +75 -20
- package/dist/shared/hooks/matcher.js.map +1 -1
- package/dist/shared/hooks/messages.d.ts +13 -6
- package/dist/shared/hooks/messages.js +17 -6
- package/dist/shared/hooks/messages.js.map +1 -1
- package/dist/shared/hooks/setup.d.ts +3 -3
- package/dist/shared/hooks/setup.js +7 -5
- package/dist/shared/hooks/setup.js.map +1 -1
- package/dist/shared/hooks/shell-commands.d.ts +22 -7
- package/dist/shared/hooks/shell-commands.js +75 -23
- package/dist/shared/hooks/shell-commands.js.map +1 -1
- package/dist/shared/hooks/tool-view.d.ts +20 -21
- package/dist/shared/hooks/tool-view.js +39 -39
- package/dist/shared/hooks/tool-view.js.map +1 -1
- package/dist/shared/implement-plan-prompt.d.ts +19 -12
- package/dist/shared/implement-plan-prompt.js +19 -20
- package/dist/shared/implement-plan-prompt.js.map +1 -1
- package/dist/shared/json-schema-to-zod.d.ts +2 -2
- package/dist/shared/json-schema-to-zod.js +2 -2
- package/dist/shared/json-value.d.ts +18 -0
- package/dist/shared/json-value.js +26 -0
- package/dist/shared/json-value.js.map +1 -0
- package/dist/shared/llm-backend.d.ts +5 -5
- package/dist/shared/llm-backend.js +4 -4
- package/dist/shared/mcp-manager.d.ts +20 -6
- package/dist/shared/mcp-manager.js +43 -8
- package/dist/shared/mcp-manager.js.map +1 -1
- package/dist/shared/mcp-network-errors.d.ts +43 -0
- package/dist/shared/mcp-network-errors.js +132 -0
- package/dist/shared/mcp-network-errors.js.map +1 -0
- package/dist/shared/mcp-oauth-detect.d.ts +3 -2
- package/dist/shared/mcp-oauth-detect.js +3 -2
- package/dist/shared/mcp-oauth-detect.js.map +1 -1
- package/dist/shared/mcp-resolver.d.ts +6 -6
- package/dist/shared/mcp-resolver.js +4 -4
- package/dist/shared/mcp-schema-sanitizer.d.ts +3 -2
- package/dist/shared/mcp-schema-sanitizer.js +4 -3
- package/dist/shared/mcp-schema-sanitizer.js.map +1 -1
- package/dist/shared/mcp-tool-listing.d.ts +43 -17
- package/dist/shared/mcp-tool-listing.js +39 -35
- package/dist/shared/mcp-tool-listing.js.map +1 -1
- package/dist/shared/mcp-tool-names.d.ts +80 -0
- package/dist/shared/mcp-tool-names.js +122 -0
- package/dist/shared/mcp-tool-names.js.map +1 -0
- package/dist/shared/mcp-transport-guard.d.ts +2 -3
- package/dist/shared/mcp-transport-guard.js +2 -3
- package/dist/shared/mcp-transport-guard.js.map +1 -1
- package/dist/shared/memory-retrieval.d.ts +2 -2
- package/dist/shared/memory-retrieval.js +2 -2
- package/dist/shared/model-client.d.ts +19 -13
- package/dist/shared/model-client.js +18 -12
- package/dist/shared/model-client.js.map +1 -1
- package/dist/shared/model-error.d.ts +29 -3
- package/dist/shared/model-error.js +108 -23
- package/dist/shared/model-error.js.map +1 -1
- package/dist/shared/model-facts.d.ts +1 -1
- package/dist/shared/model-facts.js +1 -1
- package/dist/shared/model-registry.d.ts +37 -25
- package/dist/shared/model-registry.js +48 -29
- package/dist/shared/model-registry.js.map +1 -1
- package/dist/shared/model-retry.d.ts +135 -0
- package/dist/shared/model-retry.js +249 -0
- package/dist/shared/model-retry.js.map +1 -0
- package/dist/shared/model-window.d.ts +60 -0
- package/dist/shared/model-window.js +104 -0
- package/dist/shared/model-window.js.map +1 -0
- package/dist/shared/outputs.d.ts +106 -0
- package/dist/shared/outputs.js +388 -0
- package/dist/shared/outputs.js.map +1 -0
- package/dist/shared/persist-decision.d.ts +3 -7
- package/dist/shared/persist-decision.js +3 -7
- package/dist/shared/persist-decision.js.map +1 -1
- package/dist/shared/plan-file.d.ts +65 -0
- package/dist/shared/plan-file.js +155 -0
- package/dist/shared/plan-file.js.map +1 -0
- package/dist/shared/plan-mode-permissions.d.ts +2 -2
- package/dist/shared/plan-mode-permissions.js +2 -2
- package/dist/shared/plan-mode-prompt.d.ts +9 -10
- package/dist/shared/plan-mode-prompt.js +9 -10
- package/dist/shared/plan-mode-prompt.js.map +1 -1
- package/dist/shared/platform-hold.d.ts +30 -0
- package/dist/shared/platform-hold.js +49 -0
- package/dist/shared/platform-hold.js.map +1 -0
- package/dist/shared/plugin-mount.js +1 -4
- package/dist/shared/plugin-mount.js.map +1 -1
- package/dist/shared/prompt-sections.d.ts +52 -39
- package/dist/shared/prompt-sections.js +59 -47
- package/dist/shared/prompt-sections.js.map +1 -1
- package/dist/shared/provider-reach.d.ts +49 -0
- package/dist/shared/provider-reach.js +126 -0
- package/dist/shared/provider-reach.js.map +1 -0
- package/dist/shared/repository-instructions.d.ts +101 -0
- package/dist/shared/repository-instructions.js +155 -0
- package/dist/shared/repository-instructions.js.map +1 -0
- package/dist/shared/run-credential-store.d.ts +4 -3
- package/dist/shared/run-credential-store.js +4 -3
- package/dist/shared/run-credential-store.js.map +1 -1
- package/dist/shared/run-credential.d.ts +4 -4
- package/dist/shared/run-credential.js +4 -4
- package/dist/shared/run-values.d.ts +4 -4
- package/dist/shared/run-values.js +3 -3
- package/dist/shared/run-values.js.map +1 -1
- package/dist/shared/runner-credential-keys.js +6 -10
- package/dist/shared/runner-credential-keys.js.map +1 -1
- package/dist/shared/runner-credential-store.d.ts +5 -7
- package/dist/shared/runner-credential-store.js +5 -7
- package/dist/shared/runner-credential-store.js.map +1 -1
- package/dist/shared/service-tier.d.ts +3 -6
- package/dist/shared/service-tier.js +3 -6
- package/dist/shared/service-tier.js.map +1 -1
- package/dist/shared/shell/background-commands.d.ts +170 -0
- package/dist/shared/shell/background-commands.js +245 -0
- package/dist/shared/shell/background-commands.js.map +1 -0
- package/dist/shared/shell/limits.d.ts +16 -0
- package/dist/shared/shell/limits.js +17 -0
- package/dist/shared/shell/limits.js.map +1 -0
- package/dist/shared/shell/run-command.d.ts +105 -0
- package/dist/shared/shell/run-command.js +255 -0
- package/dist/shared/shell/run-command.js.map +1 -0
- package/dist/shared/shell-env.d.ts +4 -4
- package/dist/shared/shell-env.js +8 -9
- package/dist/shared/shell-env.js.map +1 -1
- package/dist/shared/skill-mount.d.ts +13 -16
- package/dist/shared/skill-mount.js +15 -21
- package/dist/shared/skill-mount.js.map +1 -1
- package/dist/shared/skill-resolver.d.ts +2 -5
- package/dist/shared/skill-resolver.js +2 -5
- package/dist/shared/skill-resolver.js.map +1 -1
- package/dist/shared/stall-watchdog.d.ts +22 -9
- package/dist/shared/stall-watchdog.js +24 -9
- package/dist/shared/stall-watchdog.js.map +1 -1
- package/dist/shared/status-offload.d.ts +7 -6
- package/dist/shared/status-offload.js +16 -19
- package/dist/shared/status-offload.js.map +1 -1
- package/dist/shared/status.d.ts +11 -6
- package/dist/shared/status.js +6 -6
- package/dist/shared/status.js.map +1 -1
- package/dist/shared/streaming-scheduler.d.ts +1 -1
- package/dist/shared/streaming-scheduler.js +1 -1
- package/dist/shared/subagent-gate.d.ts +1 -1
- package/dist/shared/subagent-gate.js +1 -1
- package/dist/shared/subagent-rows.d.ts +1 -4
- package/dist/shared/subagent-rows.js +1 -4
- package/dist/shared/subagent-rows.js.map +1 -1
- package/dist/shared/subagents.d.ts +23 -4
- package/dist/shared/subagents.js +14 -4
- package/dist/shared/subagents.js.map +1 -1
- package/dist/shared/task-queues.d.ts +24 -0
- package/dist/shared/task-queues.js +25 -0
- package/dist/shared/task-queues.js.map +1 -0
- package/dist/shared/text-cut.d.ts +34 -0
- package/dist/shared/text-cut.js +64 -0
- package/dist/shared/text-cut.js.map +1 -0
- package/dist/shared/thinking-mode.d.ts +11 -15
- package/dist/shared/thinking-mode.js +8 -12
- package/dist/shared/thinking-mode.js.map +1 -1
- package/dist/shared/todos.d.ts +2 -3
- package/dist/shared/todos.js +2 -3
- package/dist/shared/todos.js.map +1 -1
- package/dist/shared/tool-kind.d.ts +16 -16
- package/dist/shared/tool-kind.js +17 -17
- package/dist/shared/tool-kind.js.map +1 -1
- package/dist/shared/tool-lists.d.ts +12 -66
- package/dist/shared/tool-lists.js +14 -110
- package/dist/shared/tool-lists.js.map +1 -1
- package/dist/shared/tool-row.d.ts +20 -41
- package/dist/shared/tool-row.js +23 -61
- package/dist/shared/tool-row.js.map +1 -1
- package/dist/shared/unattended-skips.d.ts +40 -0
- package/dist/shared/unattended-skips.js +64 -0
- package/dist/shared/unattended-skips.js.map +1 -0
- package/dist/shared/with-timeout.d.ts +3 -4
- package/dist/shared/with-timeout.js +3 -4
- package/dist/shared/with-timeout.js.map +1 -1
- package/dist/shared/worker-shutdown.d.ts +35 -17
- package/dist/shared/worker-shutdown.js +42 -19
- package/dist/shared/worker-shutdown.js.map +1 -1
- package/dist/shared/workspace/clone-handoff.d.ts +41 -0
- package/dist/shared/workspace/clone-handoff.js +81 -0
- package/dist/shared/workspace/clone-handoff.js.map +1 -0
- package/dist/shared/workspace/git-credential.d.ts +17 -63
- package/dist/shared/workspace/git-credential.js +18 -159
- package/dist/shared/workspace/git-credential.js.map +1 -1
- package/dist/shared/workspace/local-backend.d.ts +1 -1
- package/dist/shared/workspace/local-backend.js +1 -1
- package/dist/shared/workspace/platform-dir.d.ts +25 -52
- package/dist/shared/workspace/platform-dir.js +35 -68
- package/dist/shared/workspace/platform-dir.js.map +1 -1
- package/dist/shared/workspace/platform-mount.d.ts +0 -2
- package/dist/shared/workspace/platform-mount.js +0 -2
- package/dist/shared/workspace/platform-mount.js.map +1 -1
- package/dist/shared/workspace/provisioner.d.ts +41 -27
- package/dist/shared/workspace/provisioner.js +26 -18
- package/dist/shared/workspace/provisioner.js.map +1 -1
- package/dist/shared/workspace/runner-git.d.ts +113 -0
- package/dist/shared/workspace/runner-git.js +372 -0
- package/dist/shared/workspace/runner-git.js.map +1 -0
- package/dist/shared/workspace/runtime-git.d.ts +22 -0
- package/dist/shared/workspace/runtime-git.js +42 -0
- package/dist/shared/workspace/runtime-git.js.map +1 -0
- package/dist/shared/workspace/session-provision.d.ts +13 -13
- package/dist/shared/workspace/session-provision.js +13 -13
- package/dist/shared/workspace/session-provision.js.map +1 -1
- package/dist/shared/workspace/session-root.d.ts +7 -7
- package/dist/shared/workspace/session-root.js +8 -8
- package/dist/shared/workspace/session-root.js.map +1 -1
- package/dist/shared/workspace/sources/git.d.ts +16 -7
- package/dist/shared/workspace/sources/git.js +117 -83
- package/dist/shared/workspace/sources/git.js.map +1 -1
- package/dist/shared/workspace/sources/local-path.js +1 -1
- package/dist/shared/workspace/sources/local-path.js.map +1 -1
- package/dist/shared/workspace/stigmer-link.d.ts +38 -11
- package/dist/shared/workspace/stigmer-link.js +91 -11
- package/dist/shared/workspace/stigmer-link.js.map +1 -1
- package/dist/shared/workspace/types.d.ts +6 -5
- package/dist/shared/workspace/types.js +1 -1
- package/dist/shared/workspace/workspace-lock.d.ts +19 -4
- package/dist/shared/workspace/workspace-lock.js +27 -13
- package/dist/shared/workspace/workspace-lock.js.map +1 -1
- package/dist/shared/workspace/writeback-coordinator.d.ts +34 -5
- package/dist/shared/workspace/writeback-coordinator.js +95 -31
- package/dist/shared/workspace/writeback-coordinator.js.map +1 -1
- package/dist/shared/zip-extract.d.ts +2 -5
- package/dist/shared/zip-extract.js +2 -5
- package/dist/shared/zip-extract.js.map +1 -1
- package/dist/temporal-lane.d.ts +86 -0
- package/dist/temporal-lane.js +93 -0
- package/dist/temporal-lane.js.map +1 -0
- package/dist/tools/index.d.ts +4 -4
- package/dist/tools/index.js +4 -4
- package/dist/tools/url-guard.d.ts +3 -5
- package/dist/tools/url-guard.js +3 -5
- package/dist/tools/url-guard.js.map +1 -1
- package/dist/tools/web-fetch-tool.d.ts +5 -5
- package/dist/tools/web-fetch-tool.js +5 -5
- package/dist/tools/web-fetch-tool.js.map +1 -1
- package/dist/worker.d.ts +9 -9
- package/dist/worker.js +23 -42
- package/dist/worker.js.map +1 -1
- package/package.json +26 -13
- package/src/__test-utils__/__tests__/harness-contract-self-check.test.ts +19 -10
- package/src/__test-utils__/__tests__/known-gap.test.ts +56 -0
- package/src/__test-utils__/__tests__/live-gate.test.ts +15 -15
- package/src/__test-utils__/__tests__/real-model-registry.test.ts +9 -15
- package/src/__test-utils__/agent-host-probe-child.ts +1 -1
- package/src/__test-utils__/approval-contract/contract.ts +51 -14
- package/src/__test-utils__/approval-contract/hook-commands.ts +1 -1
- package/src/__test-utils__/approval-contract/types.ts +33 -34
- package/src/__test-utils__/approval-log.ts +2 -3
- package/src/__test-utils__/claude-engine-fixture.ts +121 -0
- package/src/__test-utils__/config-fixture.ts +9 -5
- package/src/__test-utils__/engine-install-child.ts +29 -0
- package/src/__test-utils__/execution-record-fixture.ts +15 -12
- package/src/__test-utils__/fake-runner-repository.ts +30 -0
- package/src/__test-utils__/git-workspace-fixture.ts +11 -15
- package/src/__test-utils__/harness-boot-order-child.ts +19 -35
- package/src/__test-utils__/harness-contract/contract.ts +143 -115
- package/src/__test-utils__/harness-contract/kit-operations.ts +122 -0
- package/src/__test-utils__/harness-contract/message-queue.ts +51 -0
- package/src/__test-utils__/harness-contract/recording-sink.ts +30 -22
- package/src/__test-utils__/harness-contract/runtime-contract.ts +1287 -190
- package/src/__test-utils__/harness-contract/scripted-adapter.ts +221 -88
- package/src/__test-utils__/harness-contract/types.ts +135 -15
- package/src/__test-utils__/hermetic-activity.ts +133 -57
- package/src/__test-utils__/http-mcp-server.ts +80 -0
- package/src/__test-utils__/known-gap.ts +98 -0
- package/src/__test-utils__/live-gate.ts +2 -2
- package/src/__test-utils__/loopback-host.ts +9 -4
- package/src/__test-utils__/minted-download.ts +15 -0
- package/src/__test-utils__/mock-client.ts +7 -3
- package/src/__test-utils__/model-registry-fixture.ts +89 -51
- package/src/__test-utils__/module-specifiers.ts +7 -4
- package/src/__test-utils__/real-model-registry.ts +4 -12
- package/src/__test-utils__/refuse-engine-sdks.ts +5 -4
- package/src/__test-utils__/turn-input-fixture.ts +8 -11
- package/src/__tests__/approval-gateway-contract.test.ts +10 -9
- package/src/__tests__/bootstrap.test.ts +39 -1
- package/src/__tests__/config-boundary.test.ts +5 -5
- package/src/__tests__/config.test.ts +74 -51
- package/src/__tests__/harness-boot-order.test.ts +15 -21
- package/src/__tests__/harness-contract.test.ts +7 -12
- package/src/__tests__/ipc-protocol-fixtures.test.ts +0 -7
- package/src/__tests__/ipc-protocol.test.ts +1 -1
- package/src/__tests__/operator-bounds.test.ts +84 -0
- package/src/__tests__/otel-export.test.ts +2 -2
- package/src/__tests__/otel-metrics.test.ts +7 -3
- package/src/__tests__/preflight.test.ts +31 -2
- package/src/__tests__/readme-environment.test.ts +4 -0
- package/src/__tests__/runner-hosting.test.ts +116 -11
- package/src/__tests__/runner-is-undici-free.test.ts +53 -0
- package/src/__tests__/runner-manager-interceptors.test.ts +15 -47
- package/src/__tests__/runner-manager-shutdown.test.ts +88 -26
- package/src/__tests__/runner-manager.test.ts +4 -7
- package/src/__tests__/runner.test.ts +32 -14
- package/src/__tests__/sandbox-token-renewal.test.ts +18 -7
- package/src/__tests__/temporal-lane.test.ts +130 -0
- package/src/__tests__/worker.test.ts +39 -27
- package/src/activities/__tests__/generate-session-subject-wire.test.ts +6 -13
- package/src/activities/__tests__/generate-session-subject.test.ts +1 -1
- package/src/activities/__tests__/list-plugin-tools.test.ts +32 -0
- package/src/activities/ensure-thread.ts +5 -3
- package/src/activities/execute-claude/__test-utils__/claude-wire.ts +73 -0
- package/src/activities/execute-claude/__test-utils__/contract-subject.ts +549 -0
- package/src/activities/execute-claude/__test-utils__/gateway-substrate.ts +486 -0
- package/src/activities/execute-claude/__test-utils__/hermetic-claude.ts +237 -0
- package/src/activities/execute-claude/__test-utils__/hermetic-plugin.ts +57 -0
- package/src/activities/execute-claude/__test-utils__/served-client.ts +39 -0
- package/src/activities/execute-claude/__test-utils__/tool-view-capture.ts +52 -0
- package/src/activities/execute-claude/__tests__/adapter-engine-source.test.ts +337 -0
- package/src/activities/execute-claude/__tests__/adapter-graph-is-sdk-free.test.ts +70 -0
- package/src/activities/execute-claude/__tests__/adapter-is-temporal-free.test.ts +40 -0
- package/src/activities/execute-claude/__tests__/adapter.test.ts +140 -0
- package/src/activities/execute-claude/__tests__/admit-held.test.ts +56 -0
- package/src/activities/execute-claude/__tests__/agents.test.ts +246 -0
- package/src/activities/execute-claude/__tests__/claude-approval.live.test.ts +110 -0
- package/src/activities/execute-claude/__tests__/claude-capabilities.test.ts +41 -0
- package/src/activities/execute-claude/__tests__/engine-env.test.ts +103 -0
- package/src/activities/execute-claude/__tests__/engine-fetch.test.ts +398 -0
- package/src/activities/execute-claude/__tests__/engine-home.test.ts +236 -0
- package/src/activities/execute-claude/__tests__/engine-not-distributed.test.ts +47 -0
- package/src/activities/execute-claude/__tests__/engine-options.test.ts +302 -0
- package/src/activities/execute-claude/__tests__/engine-pin-tarballs.test.ts +63 -0
- package/src/activities/execute-claude/__tests__/engine-session-id.test.ts +48 -0
- package/src/activities/execute-claude/__tests__/gate.test.ts +1022 -0
- package/src/activities/execute-claude/__tests__/hermetic/approvals.test.ts +242 -0
- package/src/activities/execute-claude/__tests__/hermetic/cloud-store.test.ts +124 -0
- package/src/activities/execute-claude/__tests__/hermetic/file-review.test.ts +111 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/ask-alone.events.json +127 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/ask-alone.rows.json +31 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/ask-alone.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/hooks.events.json +156 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/hooks.rows.json +31 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/hooks.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/mcp-servers.events.json +104 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/mcp-servers.rows.json +71 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/mcp-servers.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/own-skills.events.json +83 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/own-skills.rows.json +54 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/own-skills.status.json +32 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plain-turn.events.json +14 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plain-turn.rows.json +9 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plain-turn.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/platform-stop.events.json +25 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/platform-stop.rows.json +28 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/platform-stop.status.json +17 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plugin-skill.events.json +37 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plugin-skill.rows.json +28 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plugin-skill.status.json +26 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plugin-subagent.events.json +175 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plugin-subagent.rows.json +97 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/plugin-subagent.status.json +26 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/saved-subagent.events.json +248 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/saved-subagent.rows.json +143 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/saved-subagent.status.json +26 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/shell-approved.events.json +58 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/shell-approved.rows.json +31 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/shell-approved.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/shell-rejected.events.json +60 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/shell-rejected.rows.json +30 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/shell-rejected.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/structured-output.events.json +34 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/structured-output.rows.json +25 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/structured-output.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/subagent-refusals.events.json +361 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/subagent-refusals.rows.json +147 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/subagent-refusals.status.json +26 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/subagent-unattended-skip.events.json +131 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/subagent-unattended-skip.rows.json +70 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/subagent-unattended-skip.status.json +26 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/todo-list.events.json +72 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/todo-list.rows.json +68 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/todo-list.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/tool-results.cases.json +73 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/unattended-skip.events.json +40 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/unattended-skip.rows.json +31 -0
- package/src/activities/execute-claude/__tests__/hermetic/goldens/unattended-skip.status.json +16 -0
- package/src/activities/execute-claude/__tests__/hermetic/harness-contract.test.ts +58 -0
- package/src/activities/execute-claude/__tests__/hermetic/hooks.test.ts +196 -0
- package/src/activities/execute-claude/__tests__/hermetic/isolation.test.ts +122 -0
- package/src/activities/execute-claude/__tests__/hermetic/lost-runner.test.ts +119 -0
- package/src/activities/execute-claude/__tests__/hermetic/mcp-servers.test.ts +138 -0
- package/src/activities/execute-claude/__tests__/hermetic/plain-turn.test.ts +76 -0
- package/src/activities/execute-claude/__tests__/hermetic/resume.test.ts +62 -0
- package/src/activities/execute-claude/__tests__/hermetic/signals.test.ts +160 -0
- package/src/activities/execute-claude/__tests__/hermetic/skills.test.ts +243 -0
- package/src/activities/execute-claude/__tests__/hermetic/subagents.test.ts +446 -0
- package/src/activities/execute-claude/__tests__/hermetic/tool-results.test.ts +69 -0
- package/src/activities/execute-claude/__tests__/hermetic/tool-turns.test.ts +168 -0
- package/src/activities/execute-claude/__tests__/hook-views.test.ts +103 -0
- package/src/activities/execute-claude/__tests__/hooks.test.ts +184 -0
- package/src/activities/execute-claude/__tests__/host-shell.test.ts +255 -0
- package/src/activities/execute-claude/__tests__/loopback-mcp.test.ts +163 -0
- package/src/activities/execute-claude/__tests__/mcp-bridge.test.ts +372 -0
- package/src/activities/execute-claude/__tests__/mid-turn-input.test.ts +280 -0
- package/src/activities/execute-claude/__tests__/prompt-stream.test.ts +91 -0
- package/src/activities/execute-claude/__tests__/prompt.test.ts +392 -0
- package/src/activities/execute-claude/__tests__/session-store.test.ts +550 -0
- package/src/activities/execute-claude/__tests__/settle.test.ts +216 -0
- package/src/activities/execute-claude/__tests__/skill-plugins.test.ts +149 -0
- package/src/activities/execute-claude/__tests__/tool-view-fixtures.test.ts +82 -0
- package/src/activities/execute-claude/__tests__/transcript-facts.test.ts +124 -0
- package/src/activities/execute-claude/__tests__/translator.test.ts +514 -0
- package/src/activities/execute-claude/__tests__/turn.test.ts +531 -0
- package/src/activities/execute-claude/__tests__/usage.test.ts +186 -0
- package/src/activities/execute-claude/adapter.ts +270 -0
- package/src/activities/execute-claude/agents.ts +322 -0
- package/src/activities/execute-claude/claude-capabilities.ts +75 -0
- package/src/activities/execute-claude/engine-env.ts +94 -0
- package/src/activities/execute-claude/engine-fetch.ts +294 -0
- package/src/activities/execute-claude/engine-home.ts +263 -0
- package/src/activities/execute-claude/engine-options.ts +208 -0
- package/src/activities/execute-claude/engine-session-id.ts +53 -0
- package/src/activities/execute-claude/file-store.ts +119 -0
- package/src/activities/execute-claude/gate.ts +912 -0
- package/src/activities/execute-claude/hook-views.ts +153 -0
- package/src/activities/execute-claude/hooks.ts +164 -0
- package/src/activities/execute-claude/host-shell.ts +130 -0
- package/src/activities/execute-claude/http-store.ts +102 -0
- package/src/activities/execute-claude/loopback-mcp.ts +187 -0
- package/src/activities/execute-claude/mcp-bridge.ts +176 -0
- package/src/activities/execute-claude/mid-turn-input.ts +130 -0
- package/src/activities/execute-claude/prompt-stream.ts +52 -0
- package/src/activities/execute-claude/prompt.ts +250 -0
- package/src/activities/execute-claude/session-store.ts +184 -0
- package/src/activities/execute-claude/settle.ts +89 -0
- package/src/activities/execute-claude/skill-plugins.ts +173 -0
- package/src/activities/execute-claude/transcript-facts.ts +70 -0
- package/src/activities/execute-claude/translator.ts +294 -0
- package/src/activities/execute-claude/turn.ts +730 -0
- package/src/activities/execute-claude/usage.ts +117 -0
- package/src/activities/execute-deep-agent/__test-utils__/contract-subject.ts +247 -44
- package/src/activities/execute-deep-agent/__test-utils__/gateway-substrate.ts +89 -60
- package/src/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.ts +32 -30
- package/src/activities/execute-deep-agent/__test-utils__/paused-session-fixture.ts +1 -1
- package/src/activities/execute-deep-agent/__test-utils__/scripted-model-module.ts +4 -5
- package/src/activities/execute-deep-agent/__test-utils__/scripted-model.ts +85 -3
- package/src/activities/execute-deep-agent/__tests__/adapter-graph-is-sdk-free.test.ts +7 -9
- package/src/activities/execute-deep-agent/__tests__/adapter-is-temporal-free.test.ts +5 -6
- package/src/activities/execute-deep-agent/__tests__/adapter-shutdown.test.ts +57 -0
- package/src/activities/execute-deep-agent/__tests__/adapter.test.ts +13 -9
- package/src/activities/execute-deep-agent/__tests__/background-binding.test.ts +416 -0
- package/src/activities/execute-deep-agent/__tests__/background-facts.test.ts +82 -0
- package/src/activities/execute-deep-agent/__tests__/builtin-tool-surface.test.ts +4 -4
- package/src/activities/execute-deep-agent/__tests__/cas-capture-backend.test.ts +165 -4
- package/src/activities/execute-deep-agent/__tests__/engine-tools.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.build-from-plan.prompt.md +2 -2
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.everything.prompt.md +1 -1
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.judge.prompt.md +1 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.minimal.append.prompt.md +1 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.minimal.prompt.md +1 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.plan-mode.prompt.md +0 -1
- package/src/activities/execute-deep-agent/__tests__/goldens/system-prompt.repository-instructions.prompt.md +139 -0
- package/src/activities/execute-deep-agent/__tests__/goldens/user-message.everything.md +7 -7
- package/src/activities/execute-deep-agent/__tests__/hermetic/answers.test.ts +2 -3
- package/src/activities/execute-deep-agent/__tests__/hermetic/background-shell.test.ts +285 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/cost-advisory.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/hermetic/file-review-capture.test.ts +83 -23
- package/src/activities/execute-deep-agent/__tests__/hermetic/format-on-edit.test.ts +283 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn1.events.json +12 -12
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn1.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn2.events.json +28 -28
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve-all-lease.turn2.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/approve.turn2.events.json +15 -15
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.events.json +13 -13
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.rows.json +14 -14
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-capture.status.json +7 -18
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-off.events.json +9 -9
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-off.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-off.status.json +0 -11
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-reconcile.events.json +19 -19
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-secret-refused.events.json +75 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-secret-refused.rows.json +45 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/file-review-secret-refused.status.json +16 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/gate.turn1.events.json +7 -7
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/gate.turn1.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.changed.turn1.events.json +36 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.changed.turn1.rows.json +28 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.changed.turn1.status.json +25 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.changed.turn2.events.json +71 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.changed.turn2.rows.json +31 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.changed.turn2.status.json +26 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.turn1.events.json +21 -21
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.turn1.rows.json +3 -3
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/hooks.turn2.events.json +29 -29
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/mcp-tool-definition.events.json +108 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/mcp-tool-definition.rows.json +70 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.after-tool.events.json +7 -7
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.mid-tool.events.json +17 -4
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/pause.loop.mid-tool.rows.json +3 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/plain-turn.events.json +2 -2
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/platform-stop.events.json +17 -4
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/platform-stop.rows.json +3 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/recursion-limit.persisted.events.json +70 -70
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/reject.turn2.events.json +15 -15
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn2.events.json +20 -20
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn2.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sequential-gates.turn3.events.json +28 -28
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/skip.turn2.events.json +15 -15
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.text-fallback.events.json +4 -4
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tier2.events.json +4 -4
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/structured-output.tool-strategy.events.json +6 -6
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/sub-agent-delegation.events.json +27 -27
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/tool-call.events.json +9 -9
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/unattended-skip.events.json +9 -9
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/unattended-skip.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.events.json +14 -7
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.rows.json +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/worker-shutdown.status.json +1 -5
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/write-todos.events.json +9 -9
- package/src/activities/execute-deep-agent/__tests__/hermetic/harness-contract.test.ts +62 -15
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-approve-all-lease.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-parallel-gates.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-round-trips.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/hermetic/hitl-sequential-gates.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/hooks.test.ts +118 -35
- package/src/activities/execute-deep-agent/__tests__/hermetic/long-output.test.ts +217 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/loose-edit.test.ts +167 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/mcp-tool-definition.test.ts +156 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/mcp-tool-names.test.ts +207 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/model-retry.test.ts +194 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/outputs.test.ts +181 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/pause-vs-shutdown.test.ts +21 -18
- package/src/activities/execute-deep-agent/__tests__/hermetic/plain-turn.test.ts +4 -16
- package/src/activities/execute-deep-agent/__tests__/hermetic/platform-stop.test.ts +4 -2
- package/src/activities/execute-deep-agent/__tests__/hermetic/recursion-limit.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/repository-instructions.test.ts +249 -0
- package/src/activities/execute-deep-agent/__tests__/hermetic/structured-output.test.ts +5 -5
- package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-delegation.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/sub-agent-own-context.test.ts +3 -3
- package/src/activities/execute-deep-agent/__tests__/hermetic/tool-call.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/turn-phases.test.ts +4 -4
- package/src/activities/execute-deep-agent/__tests__/hermetic/unattended-skip.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/workspace-lock-timeout.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/hermetic/write-todos.test.ts +6 -6
- package/src/activities/execute-deep-agent/__tests__/hitl.test.ts +51 -2
- package/src/activities/execute-deep-agent/__tests__/hooks-setup.test.ts +42 -27
- package/src/activities/execute-deep-agent/__tests__/input-barrier.test.ts +48 -0
- package/src/activities/execute-deep-agent/__tests__/loaded-tool-marks.test.ts +38 -19
- package/src/activities/execute-deep-agent/__tests__/plain-turn.live.test.ts +4 -4
- package/src/activities/execute-deep-agent/__tests__/plan-mode-path-normalization.test.ts +23 -4
- package/src/activities/execute-deep-agent/__tests__/platform-route.test.ts +158 -8
- package/src/activities/execute-deep-agent/__tests__/prompt-builder.test.ts +20 -51
- package/src/activities/execute-deep-agent/__tests__/prompt-goldens.test.ts +68 -30
- package/src/activities/execute-deep-agent/__tests__/repository-instructions.test.ts +193 -0
- package/src/activities/execute-deep-agent/__tests__/resume-across-think-retirement.live.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/resumed-history.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/scripted-model.test.ts +81 -0
- package/src/activities/execute-deep-agent/__tests__/shell-binding.test.ts +205 -0
- package/src/activities/execute-deep-agent/__tests__/shell-execute-gate.test.ts +5 -4
- package/src/activities/execute-deep-agent/__tests__/shell-tool.test.ts +255 -0
- package/src/activities/execute-deep-agent/__tests__/subagent-approval-propagation.test.ts +107 -3
- package/src/activities/execute-deep-agent/__tests__/subagent-gitignored-capture.test.ts +3 -2
- package/src/activities/execute-deep-agent/__tests__/subagent-plan-mode-permissions.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/subagent-spans.test.ts +3 -2
- package/src/activities/execute-deep-agent/__tests__/subagent-transformer.test.ts +77 -13
- package/src/activities/execute-deep-agent/__tests__/subagent-wiring.test.ts +21 -16
- package/src/activities/execute-deep-agent/__tests__/tool-call.live.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/tool-scope.test.ts +240 -141
- package/src/activities/execute-deep-agent/__tests__/translator-subagents.test.ts +2 -2
- package/src/activities/execute-deep-agent/__tests__/translator-through-builder.test.ts +24 -52
- package/src/activities/execute-deep-agent/__tests__/translator.test.ts +98 -10
- package/src/activities/execute-deep-agent/__tests__/turn-input-middleware.test.ts +133 -0
- package/src/activities/execute-deep-agent/__tests__/turn-setup-connect.test.ts +1 -1
- package/src/activities/execute-deep-agent/__tests__/turn-setup-tool-lists.test.ts +3 -2
- package/src/activities/execute-deep-agent/__tests__/turn-stream.test.ts +65 -66
- package/src/activities/execute-deep-agent/__tests__/vision-input.test.ts +1 -1
- package/src/activities/execute-deep-agent/adapter.ts +31 -12
- package/src/activities/execute-deep-agent/approval-file-change.ts +3 -4
- package/src/activities/execute-deep-agent/background-facts.ts +115 -0
- package/src/activities/execute-deep-agent/cas-capture-backend.ts +77 -10
- package/src/activities/execute-deep-agent/deep-agent-capabilities.ts +21 -20
- package/src/activities/execute-deep-agent/deepagents-profiles.ts +1 -1
- package/src/activities/execute-deep-agent/engine-tools.ts +1 -1
- package/src/activities/execute-deep-agent/hitl.ts +25 -73
- package/src/activities/execute-deep-agent/hooks-setup.ts +7 -9
- package/src/activities/execute-deep-agent/input-barrier.ts +69 -0
- package/src/activities/execute-deep-agent/loose-edit.ts +83 -0
- package/src/activities/execute-deep-agent/platform-route.ts +222 -79
- package/src/activities/execute-deep-agent/prompt-builder.ts +60 -44
- package/src/activities/execute-deep-agent/repository-instructions.ts +57 -0
- package/src/activities/execute-deep-agent/resumed-history.ts +1 -1
- package/src/activities/execute-deep-agent/run-stamp.ts +44 -0
- package/src/activities/execute-deep-agent/shell-tool.ts +340 -0
- package/src/activities/execute-deep-agent/subagent-transformer.ts +129 -32
- package/src/activities/execute-deep-agent/subagent-wiring.ts +47 -5
- package/src/activities/execute-deep-agent/translator.ts +115 -46
- package/src/activities/execute-deep-agent/turn-input-middleware.ts +139 -0
- package/src/activities/execute-deep-agent/turn-settle.ts +4 -20
- package/src/activities/execute-deep-agent/turn-setup.ts +259 -98
- package/src/activities/execute-deep-agent/turn-stream.ts +78 -41
- package/src/activities/execute-deep-agent/turn.ts +88 -23
- package/src/activities/execute-deep-agent/v3-event-recorder.ts +1 -1
- package/src/activities/generate-session-subject.ts +18 -26
- package/src/activities/list-plugin-tools.ts +19 -0
- package/src/agent-host/__tests__/codec.test.ts +77 -81
- package/src/agent-host/__tests__/entry-telemetry.test.ts +9 -9
- package/src/agent-host/__tests__/entry.test.ts +28 -58
- package/src/agent-host/__tests__/environment.test.ts +36 -4
- package/src/agent-host/__tests__/host-bounds.test.ts +45 -0
- package/src/agent-host/__tests__/host-sink.test.ts +3 -22
- package/src/agent-host/__tests__/host.test.ts +97 -51
- package/src/agent-host/__tests__/hostile-host.test.ts +101 -139
- package/src/agent-host/__tests__/offload-through-host.test.ts +2 -2
- package/src/agent-host/__tests__/remote-fs.test.ts +32 -2
- package/src/agent-host/__tests__/spawned-host.test.ts +2 -2
- package/src/agent-host/__tests__/supervisor.test.ts +68 -125
- package/src/agent-host/__tests__/turn-context-through-host.test.ts +60 -0
- package/src/agent-host/__tests__/wire-error.test.ts +236 -0
- package/src/agent-host/channel.ts +11 -4
- package/src/agent-host/codec.ts +62 -97
- package/src/agent-host/entry.ts +0 -5
- package/src/agent-host/environment.ts +26 -5
- package/src/agent-host/host-sink.ts +53 -10
- package/src/agent-host/host.ts +19 -36
- package/src/agent-host/hosting.ts +14 -48
- package/src/agent-host/protocol.ts +185 -39
- package/src/agent-host/remote-adapter.ts +61 -39
- package/src/agent-host/remote-fs.ts +23 -0
- package/src/agent-host/supervisor.ts +25 -19
- package/src/agent-proxy/__tests__/lanes.test.ts +1 -1
- package/src/agent-proxy/__tests__/relay.test.ts +1 -1
- package/src/agent-proxy/__tests__/server.test.ts +203 -10
- package/src/agent-proxy/lanes.ts +28 -8
- package/src/agent-proxy/relay.ts +3 -22
- package/src/agent-proxy/server.ts +60 -34
- package/src/attach/__tests__/import-graph.test.ts +7 -3
- package/src/attach/__tests__/push.test.ts +34 -3
- package/src/attach/__tests__/waiter.test.ts +85 -4
- package/src/attach/push.ts +27 -10
- package/src/attach/waiter.ts +20 -3
- package/src/bootstrap.ts +22 -20
- package/src/client/__tests__/eval-read.test.ts +26 -11
- package/src/client/__tests__/plugin-read.test.ts +4 -8
- package/src/client/__tests__/run-calls.test.ts +87 -4
- package/src/client/__tests__/server-contracts.test.ts +5 -5
- package/src/client/__tests__/session-events-calls.test.ts +2 -19
- package/src/client/__tests__/stigmer-client.test.ts +91 -31
- package/src/client/__tests__/token-claims.test.ts +1 -1
- package/src/client/server-contracts.ts +2 -2
- package/src/client/stigmer-client.ts +145 -70
- package/src/client/token-claims.ts +3 -8
- package/src/config.ts +155 -98
- package/src/environment/__tests__/install.test.ts +684 -0
- package/src/environment/__tests__/platform-lanes.test.ts +56 -0
- package/src/environment/__tests__/spec.test.ts +310 -0
- package/src/environment/install.ts +440 -0
- package/src/environment/prefix.ts +24 -0
- package/src/environment/spec.ts +133 -0
- package/src/exit-backstop.ts +3 -3
- package/src/gen/turn/ai/stigmer/runner/turn/v1/enum_pb.ts +60 -38
- package/src/gen/turn/ai/stigmer/runner/turn/v1/ledger_pb.ts +1 -1
- package/src/gen/turn/ai/stigmer/runner/turn/v1/rows_pb.ts +168 -103
- package/src/gen-ai-conventions.ts +2 -8
- package/src/harness/README.md +334 -131
- package/src/harness/__tests__/approval-answers.test.ts +7 -7
- package/src/harness/__tests__/approval-decisions.test.ts +3 -4
- package/src/harness/__tests__/attachment-credential.test.ts +3 -5
- package/src/harness/__tests__/background-stops.test.ts +122 -0
- package/src/harness/__tests__/capture.test.ts +39 -21
- package/src/harness/__tests__/import-direction.test.ts +10 -10
- package/src/harness/__tests__/liveness-pump.test.ts +115 -0
- package/src/harness/__tests__/mount-skills.test.ts +7 -10
- package/src/harness/__tests__/open-operations.test.ts +281 -0
- package/src/harness/__tests__/owed-undos.test.ts +17 -0
- package/src/harness/__tests__/persist-chokepoint.test.ts +168 -12
- package/src/harness/__tests__/preview-pump.test.ts +136 -0
- package/src/harness/__tests__/readme-index.test.ts +7 -7
- package/src/harness/__tests__/reconcile-turn.test.ts +4 -4
- package/src/harness/__tests__/registry.test.ts +17 -18
- package/src/harness/__tests__/reinvocation-carry.test.ts +7 -9
- package/src/harness/__tests__/resolve-hooks.test.ts +13 -14
- package/src/harness/__tests__/resolve-subagents.test.ts +32 -27
- package/src/harness/__tests__/run-span.test.ts +2 -3
- package/src/harness/__tests__/run-turn-eval-case.test.ts +1 -2
- package/src/harness/__tests__/run-turn.test.ts +356 -24
- package/src/harness/__tests__/runtime-touches-no-agent-path.test.ts +9 -1
- package/src/harness/__tests__/stop-controller.test.ts +45 -4
- package/src/harness/__tests__/terminal-table.test.ts +59 -3
- package/src/harness/__tests__/transcript-is-engine-free.test.ts +5 -5
- package/src/harness/__tests__/transcript-writers.test.ts +4 -4
- package/src/harness/__tests__/turn-context.test.ts +63 -76
- package/src/harness/__tests__/turn-files.test.ts +301 -0
- package/src/harness/__tests__/turn-input.test.ts +160 -0
- package/src/harness/__tests__/turn-mcp.test.ts +17 -112
- package/src/harness/__tests__/turn-timeline.test.ts +76 -33
- package/src/harness/__tests__/usage-accumulator.test.ts +1 -2
- package/src/harness/approval-answers.ts +5 -9
- package/src/harness/approval-decisions.ts +7 -8
- package/src/harness/background-stops.ts +142 -0
- package/src/harness/capabilities.ts +80 -87
- package/src/harness/capture.ts +40 -55
- package/src/harness/cost-cap-watch.ts +26 -1
- package/src/harness/events/__tests__/emitter.test.ts +568 -21
- package/src/harness/events/emitter.ts +400 -25
- package/src/harness/events/ids.ts +34 -2
- package/src/harness/liveness-pump.ts +134 -0
- package/src/harness/open-operations.ts +282 -0
- package/src/harness/owed-undos.ts +6 -4
- package/src/harness/persist-chokepoint.ts +73 -8
- package/src/harness/preview-pump.ts +76 -0
- package/src/harness/registry.ts +29 -34
- package/src/harness/run-span.ts +1 -2
- package/src/harness/run-turn.ts +327 -112
- package/src/harness/stop-controller.ts +56 -10
- package/src/harness/terminal-table.ts +163 -35
- package/src/harness/transcript/__tests__/builder.test.ts +220 -136
- package/src/harness/transcript/__tests__/resume-seed.test.ts +4 -4
- package/src/harness/transcript/builder.ts +197 -139
- package/src/harness/transcript/events.ts +162 -61
- package/src/harness/transcript/resume-seed.ts +8 -11
- package/src/harness/transcript/state.ts +4 -5
- package/src/harness/turn-context.ts +327 -329
- package/src/harness/turn-input.ts +194 -0
- package/src/harness/turn-timeline.ts +72 -42
- package/src/harness/types.ts +154 -108
- package/src/harness/usage-accumulator.ts +31 -7
- package/src/harness-adapters.ts +21 -21
- package/src/in-flight.ts +1 -1
- package/src/interceptors/__tests__/run-credential-activity.test.ts +5 -5
- package/src/interceptors/run-credential-activity.ts +2 -4
- package/src/ipc-protocol-fixtures.ts +0 -5
- package/src/ipc-protocol.ts +1 -1
- package/src/main.ts +26 -162
- package/src/middleware/__tests__/approval-gate-hooks.test.ts +266 -26
- package/src/middleware/__tests__/approval-gate.test.ts +162 -44
- package/src/middleware/__tests__/background-commands.test.ts +362 -0
- package/src/middleware/__tests__/compaction.test.ts +225 -0
- package/src/middleware/__tests__/cost-advisory.test.ts +1 -2
- package/src/middleware/__tests__/error-hints.test.ts +10 -0
- package/src/middleware/__tests__/execution-budget.test.ts +1 -1
- package/src/middleware/__tests__/folder-instructions.test.ts +269 -0
- package/src/middleware/__tests__/model-retry.test.ts +154 -0
- package/src/middleware/__tests__/otel-spans.test.ts +9 -8
- package/src/middleware/__tests__/shell.test.ts +104 -0
- package/src/middleware/__tests__/tool-intent.test.ts +1 -1
- package/src/middleware/__tests__/tool-truncation.test.ts +331 -65
- package/src/middleware/__tests__/turn-boundary.test.ts +82 -0
- package/src/middleware/approval-gate.ts +173 -221
- package/src/middleware/background-commands.ts +341 -0
- package/src/middleware/compaction-prompt.ts +142 -0
- package/src/middleware/compaction.ts +127 -0
- package/src/middleware/error-hints.ts +5 -1
- package/src/middleware/execution-budget.ts +1 -1
- package/src/middleware/folder-instructions.ts +231 -0
- package/src/middleware/index.ts +55 -9
- package/src/middleware/model-retry.ts +115 -0
- package/src/middleware/otel-spans.ts +13 -6
- package/src/middleware/path-normalization.ts +3 -3
- package/src/middleware/shell.ts +139 -0
- package/src/middleware/tool-intent.ts +5 -5
- package/src/middleware/tool-scope.ts +120 -71
- package/src/middleware/tool-truncation.ts +347 -42
- package/src/middleware/turn-boundary.ts +86 -0
- package/src/middleware/types.ts +71 -4
- package/src/operator-bounds.ts +36 -0
- package/src/otel-export.ts +1 -1
- package/src/otel-metrics.ts +1 -6
- package/src/otel.ts +0 -45
- package/src/preflight.ts +21 -4
- package/src/run-trace-id.ts +1 -1
- package/src/runner-manager.ts +109 -244
- package/src/runner-token-coordinator.ts +5 -4
- package/src/runner.ts +123 -89
- package/src/sandbox-token-renewal.ts +20 -13
- package/src/shared/__tests__/activity-input.test.ts +9 -30
- package/src/shared/__tests__/advisory-anthropic-payload.test.ts +1 -1
- package/src/shared/__tests__/agent-identity.test.ts +37 -7
- package/src/shared/__tests__/approval-canonicalize.test.ts +1 -1
- package/src/shared/__tests__/approval-fingerprint.test.ts +1 -39
- package/src/shared/__tests__/approval-policy.test.ts +8 -7
- package/src/shared/__tests__/args-preview.test.ts +12 -13
- package/src/shared/__tests__/artifact-storage.test.ts +6 -4
- package/src/shared/__tests__/attachment-vision.test.ts +17 -44
- package/src/shared/__tests__/blueprint-resolver.test.ts +1 -1
- package/src/shared/__tests__/builtin-judge.test.ts +6 -6
- package/src/shared/__tests__/channel-attachment.test.ts +14 -17
- package/src/shared/__tests__/cold-start-timing.test.ts +9 -17
- package/src/shared/__tests__/conversation-attachment.test.ts +1 -15
- package/src/shared/__tests__/cost-guard.test.ts +1 -1
- package/src/shared/__tests__/default-model-agrees-with-server.test.ts +20 -12
- package/src/shared/__tests__/edit-match.test.ts +208 -0
- package/src/shared/__tests__/error-chain.test.ts +101 -0
- package/src/shared/__tests__/file-change.test.ts +2 -2
- package/src/shared/__tests__/file-edit-policy.test.ts +103 -0
- package/src/shared/__tests__/file-mount.test.ts +429 -0
- package/src/shared/__tests__/file-tools.test.ts +4 -4
- package/src/shared/__tests__/foundry-seam.test.ts +1 -1
- package/src/shared/__tests__/implement-plan-prompt.test.ts +36 -24
- package/src/shared/__tests__/json-value.test.ts +28 -0
- package/src/shared/__tests__/mcp-manager.test.ts +42 -9
- package/src/shared/__tests__/mcp-network-errors.test.ts +278 -0
- package/src/shared/__tests__/mcp-tool-listing.test.ts +42 -51
- package/src/shared/__tests__/mcp-tool-names.test.ts +119 -0
- package/src/shared/__tests__/memory-attachment.test.ts +4 -18
- package/src/shared/__tests__/model-client-sampling.test.ts +4 -4
- package/src/shared/__tests__/model-client.test.ts +39 -9
- package/src/shared/__tests__/model-error.test.ts +72 -10
- package/src/shared/__tests__/model-lanes.test.ts +3 -3
- package/src/shared/__tests__/model-registry-at-provider.live.test.ts +14 -30
- package/src/shared/__tests__/model-registry.test.ts +129 -94
- package/src/shared/__tests__/model-retry-seam.test.ts +214 -0
- package/src/shared/__tests__/model-retry.test.ts +218 -0
- package/src/shared/__tests__/model-window.test.ts +97 -0
- package/src/shared/__tests__/outputs.test.ts +433 -0
- package/src/shared/__tests__/persist-decision.test.ts +1 -1
- package/src/shared/__tests__/plan-file.test.ts +168 -0
- package/src/shared/__tests__/platform-hold.test.ts +65 -0
- package/src/shared/__tests__/plugin-mount.test.ts +7 -9
- package/src/shared/__tests__/policy-source-corpus.test.ts +8 -12
- package/src/shared/__tests__/prompt-sections.test.ts +55 -26
- package/src/shared/__tests__/provider-reach.test.ts +178 -0
- package/src/shared/__tests__/run-credential.test.ts +4 -4
- package/src/shared/__tests__/shell-env.test.ts +3 -5
- package/src/shared/__tests__/skill-mount.test.ts +8 -38
- package/src/shared/__tests__/skill-resolver.test.ts +23 -31
- package/src/shared/__tests__/stall-watchdog.test.ts +45 -89
- package/src/shared/__tests__/stamp-flowed-rows.test.ts +1 -11
- package/src/shared/__tests__/status-offload.test.ts +10 -11
- package/src/shared/__tests__/status.test.ts +1 -1
- package/src/shared/__tests__/subagents.test.ts +43 -21
- package/src/shared/__tests__/telemetry-content.test.ts +1 -1
- package/src/shared/__tests__/text-cut.test.ts +75 -0
- package/src/shared/__tests__/thinking-mode.test.ts +6 -6
- package/src/shared/__tests__/todos.test.ts +1 -1
- package/src/shared/__tests__/tool-kind.test.ts +5 -5
- package/src/shared/__tests__/tool-lists.test.ts +11 -44
- package/src/shared/__tests__/tool-rounds.test.ts +1 -1
- package/src/shared/__tests__/tool-row.test.ts +7 -71
- package/src/shared/__tests__/with-timeout.test.ts +2 -2
- package/src/shared/__tests__/worker-shutdown.test.ts +21 -0
- package/src/shared/activity-input.ts +18 -36
- package/src/shared/agent-fs.ts +24 -0
- package/src/shared/agent-handover.ts +3 -3
- package/src/shared/agent-identity.ts +52 -2
- package/src/shared/approval-canonicalize.ts +3 -3
- package/src/shared/approval-fingerprint.ts +6 -76
- package/src/shared/approval-policy.ts +33 -27
- package/src/shared/archive-mount.ts +20 -19
- package/src/shared/args-preview.ts +15 -25
- package/src/shared/artifact-storage.ts +12 -16
- package/src/shared/attachment-vision.ts +42 -60
- package/src/shared/blueprint-resolver.ts +0 -40
- package/src/shared/builtin-assistant-prompt.ts +3 -3
- package/src/shared/builtin-judge.ts +5 -5
- package/src/shared/channel-attachment.ts +3 -6
- package/src/shared/checkpointer/__tests__/http-saver.test.ts +2 -2
- package/src/shared/checkpointer/factory.ts +2 -3
- package/src/shared/checkpointer/http-saver.ts +10 -11
- package/src/shared/checkpointer/sqlite-saver.ts +2 -2
- package/src/shared/checkpointer/types.ts +1 -1
- package/src/shared/cold-start-timing.ts +0 -3
- package/src/shared/context-bridge.ts +1 -2
- package/src/shared/conversation-catchup.ts +1 -1
- package/src/shared/cost-guard.ts +4 -5
- package/src/shared/edit-match.ts +292 -0
- package/src/shared/error-chain.ts +79 -0
- package/src/shared/eval-case/__tests__/agent-mock.test.ts +4 -4
- package/src/shared/eval-case/__tests__/case-archive.test.ts +66 -30
- package/src/shared/eval-case/__tests__/mock-endpoint.test.ts +0 -4
- package/src/shared/eval-case/agent-mock.ts +2 -2
- package/src/shared/eval-case/case-archive.ts +33 -16
- package/src/shared/eval-case/mock-endpoint.ts +1 -4
- package/src/shared/eval-case/prepare-case.ts +13 -12
- package/src/shared/execution-context.ts +8 -11
- package/src/shared/extract-structured-output.ts +2 -2
- package/src/shared/file-change.ts +6 -6
- package/src/shared/file-edit-policy.ts +226 -0
- package/src/shared/file-mount.ts +430 -0
- package/src/shared/file-tools.ts +22 -69
- package/src/shared/filereview/__tests__/capture.test.ts +8 -10
- package/src/shared/filereview/__tests__/cas-capture-observer.test.ts +163 -0
- package/src/shared/filereview/__tests__/cas-substrate.test.ts +1 -1
- package/src/shared/filereview/__tests__/command-provenance.test.ts +2 -2
- package/src/shared/filereview/__tests__/digest.test.ts +5 -6
- package/src/shared/filereview/__tests__/events.test.ts +4 -4
- package/src/shared/filereview/__tests__/git-substrate.test.ts +86 -12
- package/src/shared/filereview/__tests__/progress.test.ts +31 -4
- package/src/shared/filereview/__tests__/proxy-reconcile.test.ts +2 -2
- package/src/shared/filereview/__tests__/record.test.ts +43 -1
- package/src/shared/filereview/capture.ts +31 -6
- package/src/shared/filereview/cas-capture-observer.ts +135 -0
- package/src/shared/filereview/cas-substrate.ts +2 -2
- package/src/shared/filereview/cas-touched.ts +2 -2
- package/src/shared/filereview/command-provenance.ts +5 -8
- package/src/shared/filereview/digest.ts +4 -6
- package/src/shared/filereview/events.ts +6 -7
- package/src/shared/filereview/git-substrate.ts +58 -18
- package/src/shared/filereview/index.ts +2 -2
- package/src/shared/filereview/progress.ts +9 -1
- package/src/shared/filereview/record.ts +50 -0
- package/src/shared/fingerprint-secret.ts +2 -3
- package/src/shared/heartbeat.ts +25 -0
- package/src/shared/hooks/__tests__/condition.test.ts +162 -27
- package/src/shared/hooks/__tests__/cursor-format.test.ts +18 -8
- package/src/shared/hooks/__tests__/evaluate.test.ts +52 -4
- package/src/shared/hooks/__tests__/stall.test.ts +2 -3
- package/src/shared/hooks/__tests__/tool-view.test.ts +40 -30
- package/src/shared/hooks/condition.ts +20 -10
- package/src/shared/hooks/evaluate.ts +31 -20
- package/src/shared/hooks/formats/claude-code.ts +11 -5
- package/src/shared/hooks/formats/cursor.ts +3 -12
- package/src/shared/hooks/hook-set.ts +6 -1
- package/src/shared/hooks/matcher.ts +91 -19
- package/src/shared/hooks/messages.ts +19 -6
- package/src/shared/hooks/setup.ts +7 -5
- package/src/shared/hooks/shell-commands.ts +83 -28
- package/src/shared/hooks/tool-view.ts +48 -51
- package/src/shared/implement-plan-prompt.ts +25 -20
- package/src/shared/json-schema-to-zod.ts +2 -2
- package/src/shared/json-value.ts +29 -0
- package/src/shared/llm-backend.ts +5 -5
- package/src/shared/mcp-manager.ts +46 -9
- package/src/shared/mcp-network-errors.ts +151 -0
- package/src/shared/mcp-oauth-detect.ts +3 -2
- package/src/shared/mcp-resolver.ts +6 -6
- package/src/shared/mcp-schema-sanitizer.ts +4 -3
- package/src/shared/mcp-tool-listing.ts +62 -46
- package/src/shared/mcp-tool-names.ts +143 -0
- package/src/shared/mcp-transport-guard.ts +2 -3
- package/src/shared/memory-retrieval.ts +2 -2
- package/src/shared/model-client.ts +36 -23
- package/src/shared/model-error.ts +113 -23
- package/src/shared/model-facts.ts +1 -1
- package/src/shared/model-registry.ts +71 -41
- package/src/shared/model-retry.ts +298 -0
- package/src/shared/model-window.ts +131 -0
- package/src/shared/outputs.ts +450 -0
- package/src/shared/persist-decision.ts +3 -7
- package/src/shared/plan-file.ts +167 -0
- package/src/shared/plan-mode-permissions.ts +2 -2
- package/src/shared/plan-mode-prompt.ts +9 -10
- package/src/shared/platform-hold.ts +58 -0
- package/src/shared/plugin-mount.ts +1 -4
- package/src/shared/prompt-sections.ts +78 -56
- package/src/shared/provider-reach.ts +141 -0
- package/src/shared/repository-instructions.ts +186 -0
- package/src/shared/run-credential-store.ts +4 -3
- package/src/shared/run-credential.ts +4 -4
- package/src/shared/run-values.ts +4 -4
- package/src/shared/runner-credential-keys.ts +6 -10
- package/src/shared/runner-credential-store.ts +5 -7
- package/src/shared/service-tier.ts +3 -6
- package/src/shared/shell/__tests__/background-commands.test.ts +210 -0
- package/src/shared/shell/__tests__/background-output-file.test.ts +43 -0
- package/src/shared/shell/__tests__/run-command.test.ts +229 -0
- package/src/shared/shell/background-commands.ts +321 -0
- package/src/shared/shell/limits.ts +17 -0
- package/src/shared/shell/run-command.ts +295 -0
- package/src/shared/shell-env.ts +8 -9
- package/src/shared/skill-mount.ts +15 -21
- package/src/shared/skill-resolver.ts +2 -5
- package/src/shared/stall-watchdog.ts +31 -9
- package/src/shared/status-offload.ts +16 -19
- package/src/shared/status.ts +13 -8
- package/src/shared/streaming-scheduler.ts +1 -1
- package/src/shared/subagent-gate.ts +1 -1
- package/src/shared/subagent-rows.ts +1 -4
- package/src/shared/subagents.ts +26 -7
- package/src/shared/task-queues.ts +27 -0
- package/src/shared/telemetry-content.ts +1 -1
- package/src/shared/text-cut.ts +64 -0
- package/src/shared/thinking-mode.ts +11 -15
- package/src/shared/todos.ts +2 -3
- package/src/shared/tool-kind.ts +28 -27
- package/src/shared/tool-lists.ts +15 -136
- package/src/shared/tool-row.ts +23 -60
- package/src/shared/unattended-skips.ts +69 -0
- package/src/shared/with-timeout.ts +3 -4
- package/src/shared/worker-shutdown.ts +55 -23
- package/src/shared/workspace/__tests__/clone-handoff.test.ts +34 -0
- package/src/shared/workspace/__tests__/git-credential.test.ts +19 -412
- package/src/shared/workspace/__tests__/git-source.test.ts +138 -94
- package/src/shared/workspace/__tests__/provisioner.test.ts +54 -35
- package/src/shared/workspace/__tests__/runner-git.test.ts +519 -0
- package/src/shared/workspace/__tests__/runtime-git.test.ts +35 -0
- package/src/shared/workspace/__tests__/session-provision.test.ts +113 -47
- package/src/shared/workspace/__tests__/stigmer-link.test.ts +92 -16
- package/src/shared/workspace/__tests__/token-stays-in-runner.test.ts +163 -0
- package/src/shared/workspace/__tests__/writeback-coordinator-git.test.ts +33 -10
- package/src/shared/workspace/__tests__/writeback-coordinator.test.ts +146 -54
- package/src/shared/workspace/clone-handoff.ts +99 -0
- package/src/shared/workspace/git-credential.ts +18 -176
- package/src/shared/workspace/local-backend.ts +1 -1
- package/src/shared/workspace/platform-dir.ts +38 -71
- package/src/shared/workspace/platform-mount.ts +0 -2
- package/src/shared/workspace/provisioner.ts +44 -32
- package/src/shared/workspace/runner-git.ts +434 -0
- package/src/shared/workspace/runtime-git.ts +44 -0
- package/src/shared/workspace/session-provision.ts +16 -16
- package/src/shared/workspace/session-root.ts +8 -8
- package/src/shared/workspace/sources/git.ts +130 -87
- package/src/shared/workspace/sources/local-path.ts +1 -1
- package/src/shared/workspace/stigmer-link.ts +88 -11
- package/src/shared/workspace/types.ts +6 -5
- package/src/shared/workspace/workspace-lock.ts +32 -15
- package/src/shared/workspace/writeback-coordinator.ts +113 -41
- package/src/shared/zip-extract.ts +2 -5
- package/src/temporal-lane.ts +177 -0
- package/src/tools/index.ts +4 -4
- package/src/tools/url-guard.ts +3 -5
- package/src/tools/web-fetch-tool.ts +5 -5
- package/src/worker.ts +28 -53
- package/dist/__test-utils__/approval-contract/hook-commands.d.ts +0 -25
- package/dist/__test-utils__/approval-contract/hook-commands.js +0 -87
- package/dist/__test-utils__/approval-contract/hook-commands.js.map +0 -1
- package/dist/__test-utils__/approval-contract/types.d.ts +0 -326
- package/dist/__test-utils__/approval-contract/types.js +0 -24
- package/dist/__test-utils__/approval-contract/types.js.map +0 -1
- package/dist/__test-utils__/approval-log.d.ts +0 -34
- package/dist/__test-utils__/approval-log.js +0 -126
- package/dist/__test-utils__/approval-log.js.map +0 -1
- package/dist/__test-utils__/execution-record-fixture.d.ts +0 -121
- package/dist/__test-utils__/execution-record-fixture.js +0 -134
- package/dist/__test-utils__/execution-record-fixture.js.map +0 -1
- package/dist/__test-utils__/file-review-projection.d.ts +0 -45
- package/dist/__test-utils__/file-review-projection.js +0 -61
- package/dist/__test-utils__/file-review-projection.js.map +0 -1
- package/dist/__test-utils__/harness-contract/types.d.ts +0 -188
- package/dist/__test-utils__/harness-contract/types.js +0 -64
- package/dist/__test-utils__/harness-contract/types.js.map +0 -1
- package/dist/__test-utils__/hermetic-activity.d.ts +0 -450
- package/dist/__test-utils__/hermetic-activity.js +0 -883
- package/dist/__test-utils__/hermetic-activity.js.map +0 -1
- package/dist/__test-utils__/loopback-host.d.ts +0 -23
- package/dist/__test-utils__/loopback-host.js +0 -45
- package/dist/__test-utils__/loopback-host.js.map +0 -1
- package/dist/__test-utils__/mock-client.d.ts +0 -13
- package/dist/__test-utils__/mock-client.js +0 -46
- package/dist/__test-utils__/mock-client.js.map +0 -1
- package/dist/__test-utils__/mock-workspace.d.ts +0 -15
- package/dist/__test-utils__/mock-workspace.js +0 -21
- package/dist/__test-utils__/mock-workspace.js.map +0 -1
- package/dist/__test-utils__/model-registry-fixture.d.ts +0 -111
- package/dist/__test-utils__/model-registry-fixture.js +0 -109
- package/dist/__test-utils__/model-registry-fixture.js.map +0 -1
- package/dist/__test-utils__/turn-input-fixture.d.ts +0 -60
- package/dist/__test-utils__/turn-input-fixture.js +0 -129
- package/dist/__test-utils__/turn-input-fixture.js.map +0 -1
- package/dist/activities/attach-session.d.ts +0 -34
- package/dist/activities/attach-session.js +0 -94
- package/dist/activities/attach-session.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.d.ts +0 -107
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.js +0 -392
- package/dist/activities/execute-cursor/__test-utils__/contract-subject.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.d.ts +0 -251
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js +0 -254
- package/dist/activities/execute-cursor/__test-utils__/cursor-hook-harness.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/fold.d.ts +0 -62
- package/dist/activities/execute-cursor/__test-utils__/fold.js +0 -94
- package/dist/activities/execute-cursor/__test-utils__/fold.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.d.ts +0 -34
- package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.js +0 -287
- package/dist/activities/execute-cursor/__test-utils__/gateway-substrate.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.d.ts +0 -202
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js +0 -306
- package/dist/activities/execute-cursor/__test-utils__/hermetic-cursor.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/scripted-agent.d.ts +0 -176
- package/dist/activities/execute-cursor/__test-utils__/scripted-agent.js +0 -278
- package/dist/activities/execute-cursor/__test-utils__/scripted-agent.js.map +0 -1
- package/dist/activities/execute-cursor/__test-utils__/scripted-sdk.d.ts +0 -182
- package/dist/activities/execute-cursor/__test-utils__/scripted-sdk.js +0 -241
- package/dist/activities/execute-cursor/__test-utils__/scripted-sdk.js.map +0 -1
- package/dist/activities/execute-cursor/adapter.d.ts +0 -63
- package/dist/activities/execute-cursor/adapter.js +0 -141
- package/dist/activities/execute-cursor/adapter.js.map +0 -1
- package/dist/activities/execute-cursor/agent-session-cache.d.ts +0 -72
- package/dist/activities/execute-cursor/agent-session-cache.js +0 -186
- package/dist/activities/execute-cursor/agent-session-cache.js.map +0 -1
- package/dist/activities/execute-cursor/approval-policy.d.ts +0 -67
- package/dist/activities/execute-cursor/approval-policy.js +0 -101
- package/dist/activities/execute-cursor/approval-policy.js.map +0 -1
- package/dist/activities/execute-cursor/approval-state.d.ts +0 -657
- package/dist/activities/execute-cursor/approval-state.js +0 -682
- package/dist/activities/execute-cursor/approval-state.js.map +0 -1
- package/dist/activities/execute-cursor/boundary-rows.d.ts +0 -455
- package/dist/activities/execute-cursor/boundary-rows.js +0 -1268
- package/dist/activities/execute-cursor/boundary-rows.js.map +0 -1
- package/dist/activities/execute-cursor/cas-observations.d.ts +0 -126
- package/dist/activities/execute-cursor/cas-observations.js +0 -240
- package/dist/activities/execute-cursor/cas-observations.js.map +0 -1
- package/dist/activities/execute-cursor/cursor-capabilities.d.ts +0 -37
- package/dist/activities/execute-cursor/cursor-capabilities.js +0 -74
- package/dist/activities/execute-cursor/cursor-capabilities.js.map +0 -1
- package/dist/activities/execute-cursor/cursor-event-recorder.d.ts +0 -43
- package/dist/activities/execute-cursor/cursor-event-recorder.js +0 -88
- package/dist/activities/execute-cursor/cursor-event-recorder.js.map +0 -1
- package/dist/activities/execute-cursor/cursor-mcp-config.d.ts +0 -58
- package/dist/activities/execute-cursor/cursor-mcp-config.js +0 -86
- package/dist/activities/execute-cursor/cursor-mcp-config.js.map +0 -1
- package/dist/activities/execute-cursor/cursor-mode.d.ts +0 -32
- package/dist/activities/execute-cursor/cursor-mode.js +0 -36
- package/dist/activities/execute-cursor/cursor-mode.js.map +0 -1
- package/dist/activities/execute-cursor/error-classifier.d.ts +0 -138
- package/dist/activities/execute-cursor/error-classifier.js +0 -330
- package/dist/activities/execute-cursor/error-classifier.js.map +0 -1
- package/dist/activities/execute-cursor/fetch-interceptor.d.ts +0 -56
- package/dist/activities/execute-cursor/fetch-interceptor.js +0 -378
- package/dist/activities/execute-cursor/fetch-interceptor.js.map +0 -1
- package/dist/activities/execute-cursor/hook-scope.d.ts +0 -143
- package/dist/activities/execute-cursor/hook-scope.js +0 -149
- package/dist/activities/execute-cursor/hook-scope.js.map +0 -1
- package/dist/activities/execute-cursor/hook-script.d.ts +0 -172
- package/dist/activities/execute-cursor/hook-script.js +0 -1204
- package/dist/activities/execute-cursor/hook-script.js.map +0 -1
- package/dist/activities/execute-cursor/hook-server.d.ts +0 -152
- package/dist/activities/execute-cursor/hook-server.js +0 -422
- package/dist/activities/execute-cursor/hook-server.js.map +0 -1
- package/dist/activities/execute-cursor/hook-tool-hiding.d.ts +0 -37
- package/dist/activities/execute-cursor/hook-tool-hiding.js +0 -58
- package/dist/activities/execute-cursor/hook-tool-hiding.js.map +0 -1
- package/dist/activities/execute-cursor/hook-views.d.ts +0 -74
- package/dist/activities/execute-cursor/hook-views.js +0 -180
- package/dist/activities/execute-cursor/hook-views.js.map +0 -1
- package/dist/activities/execute-cursor/http2-interceptor.d.ts +0 -98
- package/dist/activities/execute-cursor/http2-interceptor.js +0 -218
- package/dist/activities/execute-cursor/http2-interceptor.js.map +0 -1
- package/dist/activities/execute-cursor/model-pricing-data.d.ts +0 -39
- package/dist/activities/execute-cursor/model-pricing-data.js +0 -109
- package/dist/activities/execute-cursor/model-pricing-data.js.map +0 -1
- package/dist/activities/execute-cursor/model-pricing.d.ts +0 -51
- package/dist/activities/execute-cursor/model-pricing.js +0 -160
- package/dist/activities/execute-cursor/model-pricing.js.map +0 -1
- package/dist/activities/execute-cursor/prompt-builder.d.ts +0 -437
- package/dist/activities/execute-cursor/prompt-builder.js +0 -719
- package/dist/activities/execute-cursor/prompt-builder.js.map +0 -1
- package/dist/activities/execute-cursor/rejection-capture.d.ts +0 -27
- package/dist/activities/execute-cursor/rejection-capture.js +0 -78
- package/dist/activities/execute-cursor/rejection-capture.js.map +0 -1
- package/dist/activities/execute-cursor/run-telemetry.d.ts +0 -61
- package/dist/activities/execute-cursor/run-telemetry.js +0 -149
- package/dist/activities/execute-cursor/run-telemetry.js.map +0 -1
- package/dist/activities/execute-cursor/sdk-warmup.d.ts +0 -53
- package/dist/activities/execute-cursor/sdk-warmup.js +0 -70
- package/dist/activities/execute-cursor/sdk-warmup.js.map +0 -1
- package/dist/activities/execute-cursor/service-tier.d.ts +0 -68
- package/dist/activities/execute-cursor/service-tier.js +0 -200
- package/dist/activities/execute-cursor/service-tier.js.map +0 -1
- package/dist/activities/execute-cursor/session-lifecycle.d.ts +0 -247
- package/dist/activities/execute-cursor/session-lifecycle.js +0 -330
- package/dist/activities/execute-cursor/session-lifecycle.js.map +0 -1
- package/dist/activities/execute-cursor/session-store.d.ts +0 -99
- package/dist/activities/execute-cursor/session-store.js +0 -156
- package/dist/activities/execute-cursor/session-store.js.map +0 -1
- package/dist/activities/execute-cursor/sub-agent-steps.d.ts +0 -79
- package/dist/activities/execute-cursor/sub-agent-steps.js +0 -180
- package/dist/activities/execute-cursor/sub-agent-steps.js.map +0 -1
- package/dist/activities/execute-cursor/subagent-config.d.ts +0 -61
- package/dist/activities/execute-cursor/subagent-config.js +0 -102
- package/dist/activities/execute-cursor/subagent-config.js.map +0 -1
- package/dist/activities/execute-cursor/tool-result.d.ts +0 -49
- package/dist/activities/execute-cursor/tool-result.js +0 -130
- package/dist/activities/execute-cursor/tool-result.js.map +0 -1
- package/dist/activities/execute-cursor/translator.d.ts +0 -183
- package/dist/activities/execute-cursor/translator.js +0 -485
- package/dist/activities/execute-cursor/translator.js.map +0 -1
- package/dist/activities/execute-cursor/turn-boundary.d.ts +0 -124
- package/dist/activities/execute-cursor/turn-boundary.js +0 -210
- package/dist/activities/execute-cursor/turn-boundary.js.map +0 -1
- package/dist/activities/execute-cursor/turn-recovery.d.ts +0 -62
- package/dist/activities/execute-cursor/turn-recovery.js +0 -208
- package/dist/activities/execute-cursor/turn-recovery.js.map +0 -1
- package/dist/activities/execute-cursor/turn-settle.d.ts +0 -59
- package/dist/activities/execute-cursor/turn-settle.js +0 -512
- package/dist/activities/execute-cursor/turn-settle.js.map +0 -1
- package/dist/activities/execute-cursor/turn-setup.d.ts +0 -281
- package/dist/activities/execute-cursor/turn-setup.js +0 -739
- package/dist/activities/execute-cursor/turn-setup.js.map +0 -1
- package/dist/activities/execute-cursor/turn-stream.d.ts +0 -133
- package/dist/activities/execute-cursor/turn-stream.js +0 -239
- package/dist/activities/execute-cursor/turn-stream.js.map +0 -1
- package/dist/activities/execute-cursor/turn.d.ts +0 -46
- package/dist/activities/execute-cursor/turn.js +0 -247
- package/dist/activities/execute-cursor/turn.js.map +0 -1
- package/dist/activities/execute-cursor/usage-pricing.d.ts +0 -38
- package/dist/activities/execute-cursor/usage-pricing.js +0 -50
- package/dist/activities/execute-cursor/usage-pricing.js.map +0 -1
- package/dist/activities/execute-cursor/workspace-hook-files.d.ts +0 -116
- package/dist/activities/execute-cursor/workspace-hook-files.js +0 -390
- package/dist/activities/execute-cursor/workspace-hook-files.js.map +0 -1
- package/dist/activities/execute-cursor/workspace-setup.d.ts +0 -148
- package/dist/activities/execute-cursor/workspace-setup.js +0 -444
- package/dist/activities/execute-cursor/workspace-setup.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.d.ts +0 -102
- package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js +0 -361
- package/dist/activities/execute-deep-agent/__test-utils__/contract-subject.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/gateway-substrate.d.ts +0 -33
- package/dist/activities/execute-deep-agent/__test-utils__/gateway-substrate.js +0 -423
- package/dist/activities/execute-deep-agent/__test-utils__/gateway-substrate.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.d.ts +0 -224
- package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js +0 -307
- package/dist/activities/execute-deep-agent/__test-utils__/hermetic-deep-agent.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.d.ts +0 -24
- package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js +0 -41
- package/dist/activities/execute-deep-agent/__test-utils__/hitl-script.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/paused-session-fixture.d.ts +0 -76
- package/dist/activities/execute-deep-agent/__test-utils__/paused-session-fixture.js +0 -112
- package/dist/activities/execute-deep-agent/__test-utils__/paused-session-fixture.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.d.ts +0 -53
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js +0 -71
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model-module.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.d.ts +0 -305
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js +0 -368
- package/dist/activities/execute-deep-agent/__test-utils__/scripted-model.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/think-bound-session.d.ts +0 -17
- package/dist/activities/execute-deep-agent/__test-utils__/think-bound-session.js +0 -23
- package/dist/activities/execute-deep-agent/__test-utils__/think-bound-session.js.map +0 -1
- package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.d.ts +0 -80
- package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js +0 -195
- package/dist/activities/execute-deep-agent/__test-utils__/v3-event-fixtures.js.map +0 -1
- package/dist/activities/execute-deep-agent/auto-publish.d.ts +0 -17
- package/dist/activities/execute-deep-agent/auto-publish.js +0 -71
- package/dist/activities/execute-deep-agent/auto-publish.js.map +0 -1
- package/dist/activities/execute-deep-agent/cas-capture-observer.d.ts +0 -83
- package/dist/activities/execute-deep-agent/cas-capture-observer.js +0 -117
- package/dist/activities/execute-deep-agent/cas-capture-observer.js.map +0 -1
- package/dist/activities/execute-deep-agent/inline-publisher.d.ts +0 -83
- package/dist/activities/execute-deep-agent/inline-publisher.js +0 -152
- package/dist/activities/execute-deep-agent/inline-publisher.js.map +0 -1
- package/dist/activities/execute-deep-agent/streaming-side-effects.d.ts +0 -49
- package/dist/activities/execute-deep-agent/streaming-side-effects.js +0 -73
- package/dist/activities/execute-deep-agent/streaming-side-effects.js.map +0 -1
- package/dist/agent-proxy/cursor-lane.d.ts +0 -124
- package/dist/agent-proxy/cursor-lane.js +0 -507
- package/dist/agent-proxy/cursor-lane.js.map +0 -1
- package/dist/agent-proxy/loopback-certificate.d.ts +0 -27
- package/dist/agent-proxy/loopback-certificate.js +0 -115
- package/dist/agent-proxy/loopback-certificate.js.map +0 -1
- package/dist/pool-member.d.ts +0 -61
- package/dist/pool-member.js +0 -51
- package/dist/pool-member.js.map +0 -1
- package/dist/shared/attachment-download-urls.d.ts +0 -53
- package/dist/shared/attachment-download-urls.js +0 -68
- package/dist/shared/attachment-download-urls.js.map +0 -1
- package/dist/shared/attachment-naming.d.ts +0 -53
- package/dist/shared/attachment-naming.js +0 -59
- package/dist/shared/attachment-naming.js.map +0 -1
- package/dist/shared/attachment-resolver.d.ts +0 -124
- package/dist/shared/attachment-resolver.js +0 -322
- package/dist/shared/attachment-resolver.js.map +0 -1
- package/dist/shared/attachment-zip.d.ts +0 -85
- package/dist/shared/attachment-zip.js +0 -185
- package/dist/shared/attachment-zip.js.map +0 -1
- package/dist/shared/exact-apply.d.ts +0 -109
- package/dist/shared/exact-apply.js +0 -205
- package/dist/shared/exact-apply.js.map +0 -1
- package/dist/shared/plan-artifact.d.ts +0 -105
- package/dist/shared/plan-artifact.js +0 -225
- package/dist/shared/plan-artifact.js.map +0 -1
- package/dist/workflow-source.d.ts +0 -38
- package/dist/workflow-source.js +0 -53
- package/dist/workflow-source.js.map +0 -1
- package/dist/workflows/index.d.ts +0 -32
- package/dist/workflows/index.js +0 -33
- package/dist/workflows/index.js.map +0 -1
- package/dist/workflows/list-plugin-tools.d.ts +0 -23
- package/dist/workflows/list-plugin-tools.js +0 -56
- package/dist/workflows/list-plugin-tools.js.map +0 -1
- package/dist/workflows/types.d.ts +0 -43
- package/dist/workflows/types.js +0 -18
- package/dist/workflows/types.js.map +0 -1
- package/src/__test-utils__/cursor-sdk-wire-child.ts +0 -47
- package/src/__test-utils__/import-http2-first.ts +0 -11
- package/src/__tests__/pool-member.test.ts +0 -77
- package/src/activities/__tests__/attach-session.test.ts +0 -133
- package/src/activities/__tests__/error-classifier.test.ts +0 -464
- package/src/activities/attach-session.ts +0 -111
- package/src/activities/execute-cursor/__test-utils__/__tests__/scripted-double.test.ts +0 -126
- package/src/activities/execute-cursor/__test-utils__/contract-subject.ts +0 -445
- package/src/activities/execute-cursor/__test-utils__/cursor-hook-harness.ts +0 -407
- package/src/activities/execute-cursor/__test-utils__/fold.ts +0 -118
- package/src/activities/execute-cursor/__test-utils__/gateway-substrate.ts +0 -316
- package/src/activities/execute-cursor/__test-utils__/hermetic-cursor.ts +0 -428
- package/src/activities/execute-cursor/__test-utils__/scripted-agent.ts +0 -374
- package/src/activities/execute-cursor/__test-utils__/scripted-sdk.ts +0 -310
- package/src/activities/execute-cursor/__tests__/adapter-is-temporal-free.test.ts +0 -45
- package/src/activities/execute-cursor/__tests__/agent-session-cache.test.ts +0 -220
- package/src/activities/execute-cursor/__tests__/approval-decisions-agree.test.ts +0 -141
- package/src/activities/execute-cursor/__tests__/approval-gate.test.ts +0 -335
- package/src/activities/execute-cursor/__tests__/approval-state.test.ts +0 -288
- package/src/activities/execute-cursor/__tests__/boundary-seal.test.ts +0 -125
- package/src/activities/execute-cursor/__tests__/build-prompt.test.ts +0 -1045
- package/src/activities/execute-cursor/__tests__/cas-observations.test.ts +0 -267
- package/src/activities/execute-cursor/__tests__/check-tool-scope.test.ts +0 -290
- package/src/activities/execute-cursor/__tests__/coarse-fingerprint.test.ts +0 -98
- package/src/activities/execute-cursor/__tests__/cursor-baseurl-routing.live.test.ts +0 -94
- package/src/activities/execute-cursor/__tests__/cursor-event-recorder.test.ts +0 -142
- package/src/activities/execute-cursor/__tests__/cursor-fetch-interceptor-bypass.live.test.ts +0 -76
- package/src/activities/execute-cursor/__tests__/cursor-generate-image.live.test.ts +0 -154
- package/src/activities/execute-cursor/__tests__/cursor-hook-protocol.live.test.ts +0 -479
- package/src/activities/execute-cursor/__tests__/cursor-hooks-gate.live.test.ts +0 -295
- package/src/activities/execute-cursor/__tests__/cursor-mcp-config.test.ts +0 -128
- package/src/activities/execute-cursor/__tests__/cursor-mode.test.ts +0 -95
- package/src/activities/execute-cursor/__tests__/cursor-sdk-auth.live.test.ts +0 -97
- package/src/activities/execute-cursor/__tests__/cursor-transcript.live.test.ts +0 -289
- package/src/activities/execute-cursor/__tests__/deny-gate-exact-apply.test.ts +0 -200
- package/src/activities/execute-cursor/__tests__/error-classifier-billing.test.ts +0 -178
- package/src/activities/execute-cursor/__tests__/error-classifier-extraction.test.ts +0 -208
- package/src/activities/execute-cursor/__tests__/error-classifier-introspection.test.ts +0 -156
- package/src/activities/execute-cursor/__tests__/fetch-interceptor.test.ts +0 -389
- package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.append.prompt.md +0 -147
- package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.everything.prompt.md +0 -164
- package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.no-instructions.prompt.md +0 -142
- package/src/activities/execute-cursor/__tests__/goldens/prompt.enhanced.plan-mode.prompt.md +0 -184
- package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.recovery.prompt.md +0 -189
- package/src/activities/execute-cursor/__tests__/goldens/prompt.hitl.reinvocation.prompt.md +0 -13
- package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.prefixed.prompt.md +0 -32
- package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.raw.append.prompt.md +0 -5
- package/src/activities/execute-cursor/__tests__/goldens/prompt.resumed.raw.prompt.md +0 -1
- package/src/activities/execute-cursor/__tests__/hermetic/answers.test.ts +0 -279
- package/src/activities/execute-cursor/__tests__/hermetic/built-in-assistant.test.ts +0 -127
- package/src/activities/execute-cursor/__tests__/hermetic/bypassed-tool-call.test.ts +0 -120
- package/src/activities/execute-cursor/__tests__/hermetic/deny-and-retry.test.ts +0 -233
- package/src/activities/execute-cursor/__tests__/hermetic/file-review-capture.test.ts +0 -262
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/approve-all.turn2.events.json +0 -94
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/approve-all.turn2.rows.json +0 -47
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/approve-all.turn2.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/cost-cap.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/cost-cap.rows.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/cost-cap.status.json +0 -18
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn1.events.json +0 -37
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn1.rows.json +0 -29
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn1.status.json +0 -4
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn2.events.json +0 -71
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn2.rows.json +0 -32
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/deny-and-retry.turn2.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-capture.events.json +0 -68
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-capture.rows.json +0 -96
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-capture.status.json +0 -74
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-off.events.json +0 -50
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-off.rows.json +0 -32
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-off.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-reconcile.events.json +0 -91
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-reconcile.rows.json +0 -9
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/file-review-reconcile.status.json +0 -6
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/hooks.turn1.events.json +0 -110
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/hooks.turn1.rows.json +0 -77
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/hooks.turn1.status.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/hooks.turn2.events.json +0 -144
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/hooks.turn2.rows.json +0 -34
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/hooks.turn2.status.json +0 -27
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/mcp-tool-call.events.json +0 -50
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/mcp-tool-call.rows.json +0 -30
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/mcp-tool-call.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/pause.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/pause.rows.json +0 -9
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/pause.status.json +0 -4
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/plain-turn.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/plain-turn.rows.json +0 -9
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/plain-turn.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/platform-stop.events.json +0 -37
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/platform-stop.rows.json +0 -29
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/platform-stop.status.json +0 -6
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-fresh-agent.events.json +0 -26
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-fresh-agent.rows.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-fresh-agent.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-transport-timeout.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-transport-timeout.rows.json +0 -9
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/recovery-transport-timeout.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/reject.turn2.events.json +0 -61
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/reject.turn2.rows.json +0 -31
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/reject.turn2.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/resolution-error.events.json +0 -1
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/resolution-error.rows.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/resolution-error.status.json +0 -7
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-cancelled.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-cancelled.rows.json +0 -9
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-cancelled.status.json +0 -5
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-error-non-retryable.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-error-non-retryable.rows.json +0 -9
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/run-error-non-retryable.status.json +0 -7
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.events.json +0 -1
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.rows.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-error-at-create.status.json +0 -7
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-task-note.events.json +0 -56
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-task-note.rows.json +0 -34
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sdk-task-note.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.error-delta.events.json +0 -64
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.error-delta.rows.json +0 -36
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.error-delta.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.events.json +0 -49
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.output-first.events.json +0 -49
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.output-first.rows.json +0 -31
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.output-first.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.rows.json +0 -31
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/shell-output-delta.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/stall.events.json +0 -24
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/stall.rows.json +0 -29
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/stall.status.json +0 -7
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sub-agent-delegation.events.json +0 -158
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sub-agent-delegation.rows.json +0 -70
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/sub-agent-delegation.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/thinking-turn.events.json +0 -77
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/thinking-turn.rows.json +0 -39
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/thinking-turn.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/todo-write.events.json +0 -99
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/todo-write.rows.json +0 -80
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/todo-write.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-call.events.json +0 -49
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-call.rows.json +0 -29
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-call.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-error.events.json +0 -50
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-error.rows.json +0 -29
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-error.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-only-step.events.json +0 -37
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-only-step.rows.json +0 -28
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/tool-only-step.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattended-skip.events.json +0 -51
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattended-skip.rows.json +0 -31
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattended-skip.status.json +0 -17
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattributed-hook-block.events.json +0 -50
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattributed-hook-block.rows.json +0 -36
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/unattributed-hook-block.status.json +0 -19
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/worker-shutdown.events.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/worker-shutdown.rows.json +0 -14
- package/src/activities/execute-cursor/__tests__/hermetic/goldens/worker-shutdown.status.json +0 -7
- package/src/activities/execute-cursor/__tests__/hermetic/harness-contract.test.ts +0 -198
- package/src/activities/execute-cursor/__tests__/hermetic/hooks.test.ts +0 -569
- package/src/activities/execute-cursor/__tests__/hermetic/mcp-tool-call.test.ts +0 -149
- package/src/activities/execute-cursor/__tests__/hermetic/pause-vs-shutdown.test.ts +0 -222
- package/src/activities/execute-cursor/__tests__/hermetic/plain-turn.test.ts +0 -178
- package/src/activities/execute-cursor/__tests__/hermetic/recovery-fresh-agent.test.ts +0 -162
- package/src/activities/execute-cursor/__tests__/hermetic/run-wait-arms.test.ts +0 -296
- package/src/activities/execute-cursor/__tests__/hermetic/sdk-task-note.test.ts +0 -125
- package/src/activities/execute-cursor/__tests__/hermetic/shell-output-delta.test.ts +0 -283
- package/src/activities/execute-cursor/__tests__/hermetic/stream-self-stop-arms.test.ts +0 -342
- package/src/activities/execute-cursor/__tests__/hermetic/sub-agent-delegation.test.ts +0 -197
- package/src/activities/execute-cursor/__tests__/hermetic/thinking-turn.test.ts +0 -149
- package/src/activities/execute-cursor/__tests__/hermetic/thrown-error-arms.test.ts +0 -214
- package/src/activities/execute-cursor/__tests__/hermetic/todo-write.test.ts +0 -169
- package/src/activities/execute-cursor/__tests__/hermetic/tool-call.test.ts +0 -143
- package/src/activities/execute-cursor/__tests__/hermetic/tool-error.test.ts +0 -141
- package/src/activities/execute-cursor/__tests__/hermetic/tool-lists.test.ts +0 -391
- package/src/activities/execute-cursor/__tests__/hermetic/tool-only-step.test.ts +0 -134
- package/src/activities/execute-cursor/__tests__/hermetic/turn-phases.test.ts +0 -136
- package/src/activities/execute-cursor/__tests__/hermetic/unattended-skip.test.ts +0 -157
- package/src/activities/execute-cursor/__tests__/hermetic/unattributed-hook-block.test.ts +0 -200
- package/src/activities/execute-cursor/__tests__/hermetic/workspace-lock-timeout.test.ts +0 -156
- package/src/activities/execute-cursor/__tests__/hitl-ledger.test.ts +0 -2109
- package/src/activities/execute-cursor/__tests__/hitl-resume-history.test.ts +0 -431
- package/src/activities/execute-cursor/__tests__/hook-refusal-rows.test.ts +0 -95
- package/src/activities/execute-cursor/__tests__/hook-scope.test.ts +0 -175
- package/src/activities/execute-cursor/__tests__/hook-script.test.ts +0 -1408
- package/src/activities/execute-cursor/__tests__/hook-server.test.ts +0 -465
- package/src/activities/execute-cursor/__tests__/hook-views.test.ts +0 -171
- package/src/activities/execute-cursor/__tests__/http2-interceptor.test.ts +0 -408
- package/src/activities/execute-cursor/__tests__/model-pricing.test.ts +0 -173
- package/src/activities/execute-cursor/__tests__/prepare-hooks.test.ts +0 -97
- package/src/activities/execute-cursor/__tests__/prompt-builder-delegation.test.ts +0 -85
- package/src/activities/execute-cursor/__tests__/prompt-goldens.test.ts +0 -270
- package/src/activities/execute-cursor/__tests__/resolve-timeout-message.test.ts +0 -24
- package/src/activities/execute-cursor/__tests__/run-telemetry.test.ts +0 -177
- package/src/activities/execute-cursor/__tests__/runner-error-regressions.test.ts +0 -103
- package/src/activities/execute-cursor/__tests__/same-identity-reproposal.test.ts +0 -174
- package/src/activities/execute-cursor/__tests__/scope-refusal-rows.test.ts +0 -269
- package/src/activities/execute-cursor/__tests__/sdk-warmup.test.ts +0 -45
- package/src/activities/execute-cursor/__tests__/sequential-gate-resume.test.ts +0 -182
- package/src/activities/execute-cursor/__tests__/service-tier.test.ts +0 -230
- package/src/activities/execute-cursor/__tests__/session-lifecycle.test.ts +0 -336
- package/src/activities/execute-cursor/__tests__/session-store.test.ts +0 -220
- package/src/activities/execute-cursor/__tests__/subagent-config.test.ts +0 -181
- package/src/activities/execute-cursor/__tests__/tool-result-image.test.ts +0 -250
- package/src/activities/execute-cursor/__tests__/translator.test.ts +0 -651
- package/src/activities/execute-cursor/__tests__/turn-boundary.test.ts +0 -415
- package/src/activities/execute-cursor/__tests__/turn-recovery.test.ts +0 -186
- package/src/activities/execute-cursor/__tests__/turn-stream.test.ts +0 -354
- package/src/activities/execute-cursor/__tests__/usage-pricing.test.ts +0 -84
- package/src/activities/execute-cursor/__tests__/workspace-setup.test.ts +0 -814
- package/src/activities/execute-cursor/adapter.ts +0 -161
- package/src/activities/execute-cursor/agent-session-cache.ts +0 -229
- package/src/activities/execute-cursor/approval-policy.ts +0 -129
- package/src/activities/execute-cursor/approval-state.ts +0 -1097
- package/src/activities/execute-cursor/boundary-rows.ts +0 -1419
- package/src/activities/execute-cursor/cas-observations.ts +0 -263
- package/src/activities/execute-cursor/cursor-capabilities.ts +0 -80
- package/src/activities/execute-cursor/cursor-event-recorder.ts +0 -112
- package/src/activities/execute-cursor/cursor-mcp-config.ts +0 -124
- package/src/activities/execute-cursor/cursor-mode.ts +0 -42
- package/src/activities/execute-cursor/error-classifier.ts +0 -416
- package/src/activities/execute-cursor/fetch-interceptor.ts +0 -454
- package/src/activities/execute-cursor/hook-scope.ts +0 -216
- package/src/activities/execute-cursor/hook-script.ts +0 -1232
- package/src/activities/execute-cursor/hook-server.ts +0 -473
- package/src/activities/execute-cursor/hook-tool-hiding.ts +0 -76
- package/src/activities/execute-cursor/hook-views.ts +0 -195
- package/src/activities/execute-cursor/http2-interceptor.ts +0 -267
- package/src/activities/execute-cursor/model-pricing-data.ts +0 -170
- package/src/activities/execute-cursor/model-pricing.ts +0 -190
- package/src/activities/execute-cursor/prompt-builder.ts +0 -1081
- package/src/activities/execute-cursor/rejection-capture.ts +0 -93
- package/src/activities/execute-cursor/run-telemetry.ts +0 -189
- package/src/activities/execute-cursor/sdk-warmup.ts +0 -77
- package/src/activities/execute-cursor/service-tier.ts +0 -251
- package/src/activities/execute-cursor/session-lifecycle.ts +0 -543
- package/src/activities/execute-cursor/session-store.ts +0 -186
- package/src/activities/execute-cursor/sub-agent-steps.ts +0 -188
- package/src/activities/execute-cursor/subagent-config.ts +0 -124
- package/src/activities/execute-cursor/tool-result.ts +0 -128
- package/src/activities/execute-cursor/translator.ts +0 -544
- package/src/activities/execute-cursor/turn-boundary.ts +0 -373
- package/src/activities/execute-cursor/turn-recovery.ts +0 -223
- package/src/activities/execute-cursor/turn-settle.ts +0 -605
- package/src/activities/execute-cursor/turn-setup.ts +0 -964
- package/src/activities/execute-cursor/turn-stream.ts +0 -354
- package/src/activities/execute-cursor/turn.ts +0 -271
- package/src/activities/execute-cursor/usage-pricing.ts +0 -67
- package/src/activities/execute-cursor/workspace-hook-files.ts +0 -424
- package/src/activities/execute-cursor/workspace-setup.ts +0 -549
- package/src/activities/execute-deep-agent/__tests__/auto-publish.test.ts +0 -144
- package/src/activities/execute-deep-agent/__tests__/cas-capture-observer.test.ts +0 -163
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.events.json +0 -71
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.rows.json +0 -50
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn1.status.json +0 -26
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.events.json +0 -105
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.rows.json +0 -30
- package/src/activities/execute-deep-agent/__tests__/hermetic/goldens/inline-artifact.turn2.status.json +0 -27
- package/src/activities/execute-deep-agent/__tests__/hermetic/inline-artifact-across-gate.test.ts +0 -188
- package/src/activities/execute-deep-agent/__tests__/hermetic/thrown-turn-drains-publishes.test.ts +0 -154
- package/src/activities/execute-deep-agent/__tests__/inline-publisher.test.ts +0 -350
- package/src/activities/execute-deep-agent/__tests__/streaming-side-effects.test.ts +0 -120
- package/src/activities/execute-deep-agent/auto-publish.ts +0 -80
- package/src/activities/execute-deep-agent/cas-capture-observer.ts +0 -132
- package/src/activities/execute-deep-agent/inline-publisher.ts +0 -208
- package/src/activities/execute-deep-agent/streaming-side-effects.ts +0 -83
- package/src/agent-proxy/__tests__/cursor-lane.test.ts +0 -635
- package/src/agent-proxy/__tests__/cursor-sdk-key-required.test.ts +0 -119
- package/src/agent-proxy/__tests__/cursor-sdk-wire.test.ts +0 -175
- package/src/agent-proxy/__tests__/loopback-certificate.test.ts +0 -100
- package/src/agent-proxy/cursor-lane.ts +0 -528
- package/src/agent-proxy/loopback-certificate.ts +0 -143
- package/src/harness/__tests__/run-turn-deterministic.test.ts +0 -94
- package/src/harness/__tests__/turn-attachments-vision.test.ts +0 -105
- package/src/pool-member.ts +0 -99
- package/src/shared/__tests__/attachment-download-urls.test.ts +0 -72
- package/src/shared/__tests__/attachment-naming.test.ts +0 -146
- package/src/shared/__tests__/attachment-resolver.test.ts +0 -644
- package/src/shared/__tests__/attachment-zip.test.ts +0 -236
- package/src/shared/__tests__/exact-apply.test.ts +0 -370
- package/src/shared/__tests__/plan-artifact.test.ts +0 -260
- package/src/shared/attachment-download-urls.ts +0 -76
- package/src/shared/attachment-naming.ts +0 -78
- package/src/shared/attachment-resolver.ts +0 -468
- package/src/shared/attachment-zip.ts +0 -281
- package/src/shared/exact-apply.ts +0 -247
- package/src/shared/plan-artifact.ts +0 -255
- package/src/workflow-source.ts +0 -72
- package/src/workflows/__tests__/barrel.test.ts +0 -21
- package/src/workflows/__tests__/list-plugin-tools.test.ts +0 -82
- package/src/workflows/index.ts +0 -36
- package/src/workflows/list-plugin-tools.ts +0 -70
- package/src/workflows/types.ts +0 -46
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @stigmer/runner
|
|
2
2
|
|
|
3
|
-
Embeddable Temporal worker
|
|
3
|
+
Embeddable Temporal worker that runs Stigmer's agent sessions: it drives the Stigmer and Claude harnesses, orchestrates MCP servers, and reports status and artifacts back to the Stigmer backend.
|
|
4
4
|
|
|
5
5
|
It is the single runtime behind three surfaces:
|
|
6
6
|
|
|
@@ -26,6 +26,8 @@ This runs `npm run build` in `backend/services/runner` (`tsc -p tsconfig.build.j
|
|
|
26
26
|
|
|
27
27
|
Requires a Node.js whose built-in `node:sqlite` is available unflagged — `>= 22.13` in the 22.x line, and `>= 23.4` after that (23.0–23.3 lack it). The durable local checkpointer depends on it, and the runner probes for it at boot (`src/preflight.ts`), refusing to start with an actionable error rather than crashing on the import.
|
|
28
28
|
|
|
29
|
+
On those floors below 22.19 / 23.8, npm may warn at install (`EBADENGINE`) that `@stigmer/outbound` and `undici` want a newer Node. That requirement belongs to outbound's `/dial` entry, which the runner never loads (`src/__tests__/runner-is-undici-free.test.ts` keeps it so), so the warning is safe to ignore.
|
|
30
|
+
|
|
29
31
|
### The slim embedding artifact
|
|
30
32
|
|
|
31
33
|
The plain `dist/` resolves its dependencies from `node_modules` at runtime — ~508 MB unpacked, which is unshippable inside a desktop app ([#170](https://github.com/stigmer/stigmer/issues/170)). For embedding, build the **slim artifact**:
|
|
@@ -34,29 +36,28 @@ The plain `dist/` resolves its dependencies from `node_modules` at runtime — ~
|
|
|
34
36
|
make build-runner-slim # or: npm run build:slim
|
|
35
37
|
```
|
|
36
38
|
|
|
37
|
-
This produces `dist-slim/`: a tree-shaken esbuild bundle of the whole runner (`main.js`),
|
|
39
|
+
This produces `dist-slim/`: a tree-shaken esbuild bundle of the whole runner (`main.js`), and a staged `node_modules` containing only the packages that genuinely cannot be bundled (the platform-pruned Temporal native bridge and the few packages that ship native code). `node dist-slim/main.js` accepts the same modes, environment variables, and IPC protocol as `dist/main.js`. It also holds `attach/main.js`, the attach entry (below) bundled on its own, which starts the `main.js` beside it with the same Node. See `scripts/bundle-slim.mjs` for the full layout, `scripts/verify-slim-artifact.mjs` for the boot verification that gates releases, and the [embedding guide](https://stigmer.ai/docs/guides/runners/embedding) for how apps stage it.
|
|
38
40
|
|
|
39
|
-
> **Why the slim bundle is CommonJS, not ESM.** The runner
|
|
41
|
+
> **Why the slim bundle is CommonJS, not ESM.** The runner loads its heavy modules lazily (`@connectrpc/connect-node`, LangChain, the activity factories, via dynamic `import()`) after the harnesses boot. An **ESM** esbuild bundle hoists every external `import` to the top of the output and evaluates them before any code runs; a **CJS** bundle preserves the source's lazy evaluation order (the module-order regression of [#170](https://github.com/stigmer/stigmer/issues/170) was an ESM bundle). The meta `package.json` deliberately omits `"type": "module"` so `node main.js` runs as CommonJS — do **not** add it back, and do not flip `format` to `"esm"` in `bundle-slim.mjs` (see its header). The authenticated boot check in `verify-slim-artifact.mjs` boots the artifact as a release would.
|
|
40
42
|
|
|
41
43
|
The slim build is also published to npm as `@stigmer/runner-slim` (with per-platform `@stigmer/runner-slim-<platform>` support packages) alongside the full `@stigmer/runner` package on every release.
|
|
42
44
|
|
|
43
|
-
The sandbox image (`Dockerfile.sandbox`) ships the same directory as its runner layer: `dist-slim/` at `/runner/dist`, started by the layer's own Node at `/runner/bin/node` (the repository's `.nvmrc` version), on a base image that holds the agent's tools. The server's drivers launch it with the command in `backend/services/stigmer-server/src/sandbox/runner-launch.ts`: `/runner/bin/start` (`layer/start.sh`), which refuses a base image the runner cannot run on (no glibc, not root, no `bash`, `git` or the
|
|
45
|
+
The sandbox image (`Dockerfile.sandbox`) ships the same directory as its runner layer: `dist-slim/` at `/runner/dist`, started by the layer's own Node at `/runner/bin/node` (the repository's `.nvmrc` version), on a base image that holds the agent's tools. The server's drivers launch it with the command in `backend/services/stigmer-server/src/sandbox/runner-launch.ts`: `/runner/bin/start` (`layer/start.sh`), which refuses a base image the runner cannot run on (no glibc, not root, no `bash`, `git` or the standard text tools) in one line that names the contract, refuses a layer whose `/runner/RELEASE` names another release than the server's `STIGMER_SERVER_RELEASE` (stigmer/stigmer#1831), clears `NODE_OPTIONS` and `NODE_PATH`, and execs that Node. The image's release lane runs `verify-slim-artifact.mjs` inside the built image, through the start script, before any tag but `main-<sha>` names it, and publishes the layer alone (`ghcr.io/stigmer/runner-layer`, amd64 and arm64) after booting it on Ubuntu and seeing it refuse Alpine; `deploy/runner-layer/Dockerfile` adds it to an operator's own base (the self-hosting guide's "Bring your own base image").
|
|
44
46
|
|
|
45
47
|
## Run modes
|
|
46
48
|
|
|
47
|
-
The runner has
|
|
49
|
+
The runner has two **run modes**, selected at boot by one environment variable (`src/main.ts`): `STIGMER_RUNNER_MODE=manager` selects manager mode; otherwise the runner is static. Do not confuse the run mode (process topology) with the execution location (`MODE=local|cloud`) or the transport (`STIGMER_PROXY_ENDPOINT`) — those are independent axes covered in [Execution location vs transport](#execution-location-vs-transport).
|
|
48
50
|
|
|
49
51
|
| Run mode | Selector | Topology | Used by |
|
|
50
52
|
|----------|----------|----------|---------|
|
|
51
|
-
| Static |
|
|
53
|
+
| Static | `STIGMER_RUNNER_MODE` unset or not `manager` (default) | One Worker polling one task queue; blocks until shutdown | CLI daemon, cloud deployments |
|
|
52
54
|
| Manager | `STIGMER_RUNNER_MODE=manager` | Shared Temporal connection; dynamic per-session / per-execution Workers; stdin/stdout JSON IPC | Desktop app |
|
|
53
|
-
| Pool | `STIGMER_POOL_MEMBER_ID` set, and `STIGMER_RUNNER_MODE` not `manager` | A warm-pool sandbox: boots the runner manager, then serves what its injected credential says — a blank member polls its `sandbox:{memberId}` control queue for a claim, a claimed member that restarted goes straight to its session's queue (`src/pool-member.ts`) | Hosted cloud sandboxes |
|
|
54
55
|
|
|
55
56
|
### Static mode
|
|
56
57
|
|
|
57
58
|
Static mode creates a single Temporal Worker that polls one task queue and runs until it receives `SIGTERM` / `SIGINT`. This is the right mode when the set of work is fixed at startup (a daemon or a pod dedicated to a queue).
|
|
58
59
|
|
|
59
|
-
On a signal it drains the worker, releases the harnesses, closes its Temporal connection and flushes telemetry, and the process
|
|
60
|
+
On a signal it drains the worker: every turn in flight yields at its engine's next step boundary within the drain grace (`STIGMER_DRAIN_GRACE_MS`), so a step that was running finishes, and the workflow continues the turn on the next runner from where it was. A second signal stops the turns in flight at once; they continue too, and the step each was running is run again. Then it releases the harnesses, closes its Temporal connection and flushes telemetry, and the process exits on its own, normally within milliseconds of the drain. As the CLI entry (`stigmer-runner`), a process still alive 5 s after that is made to exit, with one log line naming the resources that kept it alive (`src/exit-backstop.ts`). That line means a leaked handle to fix, not a slow shutdown to tune.
|
|
60
61
|
|
|
61
62
|
As a library:
|
|
62
63
|
|
|
@@ -105,19 +106,30 @@ A push is accepted only for the queue whose sandbox name (`sbx-<code>-<12 hex>`,
|
|
|
105
106
|
|
|
106
107
|
### The agent host (where the engines run)
|
|
107
108
|
|
|
108
|
-
In every run mode, and in a library embedding, the runner runs every harness's engine (the
|
|
109
|
+
In every run mode, and in a library embedding, the runner runs every harness's engine (the Stigmer one and Claude's) in a second process, the agent host: the runner's own entry started as `main.js agent-host`, on the same Node, with a private pipe on file descriptor 3 (`src/agent-host/`). The runner keeps the turn runtime, its credentials and all its control-plane traffic; the host runs the engines and every process an agent's turn starts there (its shell, its hooks, its MCP servers). The runner's own process loads no engine's SDK. The two meet at the harness adapter contract (`src/harness/types.ts`): the runner's remote adapter (`src/agent-host/remote-adapter.ts`) forwards each turn to the host and treats everything the host sends back as untrusted, and which harnesses are hosted is one set in `src/harness-adapters.ts` (`HOSTED_HARNESSES`).
|
|
109
110
|
|
|
110
|
-
The host is handed none of the runner's keys. Everything it calls that needs one goes through the runner's local proxy on `127.0.0.1` (`src/agent-proxy/`): model calls, the model registry, its telemetry (forwarded to the operator's collector with the collector's login, below), and on a runner behind the platform proxy the checkpoints. The platform's own MCP servers (memory, channels, the conversation tools) never carry the runner's own key: they carry a credential scoped to the run (in a hosted sandbox, the sandbox's session token until #2080), and a turn for which none can be had runs without them and says so. In a container shape the host's environment is an allow-list, so an ambient cloud identity in the runner's (`AWS_ACCESS_KEY_ID` and its siblings, `AWS_WEB_IDENTITY_TOKEN_FILE`, `GOOGLE_APPLICATION_CREDENTIALS`, Azure client secrets) does not reach it; on a local shape the host gets the runner's environment minus the runner's secret variables, as the agent's tools always did there. Each model lane serves its provider's model calls only, not the rest of the provider's API. The host authenticates with a token minted at each host start, and a model call is served only while a turn of the execution it names is running. On a runner that calls its providers directly, the proxy adds the operator's key or signs with the runner's cloud identity for each model backend (Anthropic, OpenAI, Bedrock, Vertex, Foundry), from the same settings as before; on a runner behind `STIGMER_PROXY_ENDPOINT`, it forwards to that proxy with the runner's own token. The
|
|
111
|
+
The host is handed none of the runner's keys. Everything it calls that needs one goes through the runner's local proxy on `127.0.0.1` (`src/agent-proxy/`): model calls, the model registry, its telemetry (forwarded to the operator's collector with the collector's login, below), and on a runner behind the platform proxy the checkpoints. The platform's own MCP servers (memory, channels, the conversation tools) never carry the runner's own key: they carry a credential scoped to the run (in a hosted sandbox, the sandbox's session token until #2080), and a turn for which none can be had runs without them and says so. In a container shape the host's environment is an allow-list, so an ambient cloud identity in the runner's (`AWS_ACCESS_KEY_ID` and its siblings, `AWS_WEB_IDENTITY_TOKEN_FILE`, `GOOGLE_APPLICATION_CREDENTIALS`, Azure client secrets) does not reach it; on a local shape the host gets the runner's environment minus the runner's secret variables, as the agent's tools always did there. Each model lane serves its provider's model calls only, not the rest of the provider's API. The host authenticates with a token minted at each host start, and a model call is served only while a turn of the execution it names is running. On a runner that calls its providers directly, the proxy adds the operator's key or signs with the runner's cloud identity for each model backend (Anthropic, OpenAI, Bedrock, Vertex, Foundry), from the same settings as before; on a runner behind `STIGMER_PROXY_ENDPOINT`, it forwards to that proxy with the runner's own token. The proxy listens on loopback only and needs no configuration.
|
|
111
112
|
|
|
112
|
-
The turn runtime's own work on the agent's paths (provisioning the workspace, the `.stigmer` link, skill, plugin and
|
|
113
|
+
The turn runtime's own work on the agent's paths (provisioning the workspace, the `.stigmer` link, skill, plugin and File mounts, the file-review capture, write-back's commits) goes through `src/shared/agent-fs.ts`, which the runner routes to the host: each file operation and each process is performed there, so a link, a git hook or a `core.fsmonitor` the agent planted never acts with the runner's rights. `src/harness/__tests__/runtime-touches-no-agent-path.test.ts` holds the runtime's graph to that. The one exception is git that talks to GitHub with a repository's token: the runner runs it itself, in a bare repository of its own under `~/.stigmer/git` (`src/shared/workspace/runner-git.ts`), never in the agent's clone, and moves commits to and from the clone as git bundles written and read through the host. So no process the agent can read ever holds the token, and what reaches GitHub is the session branch alone, whatever the clone's configuration says. That repository is a cache: deleted, it is fetched again, and on Kubernetes it sits on the runner container's own disk.
|
|
113
114
|
|
|
114
115
|
**In a container shape** (root, Linux, started through the runner layer's `/runner/bin/start`, which exports `STIGMER_RUNNER_LAYER=1`), the runner starts the host as a user of its own, `stigmer-agent` (uid and gid 10001), through `setpriv` (`src/shared/agent-identity.ts`), with the agent's home (`STIGMER_AGENT_HOME`, else `/home/stigmer-agent`) as `HOME`, so nothing an agent runs can read the runner's process, files or keys. At boot it adds the user when the image lacks it, hands the agent its home and workspace (on the first such boot, moving the agent's session state into that home, `src/shared/agent-handover.ts`), and proves the drop works; a runner that cannot drop exits 78. It keeps only `SETUID`, `SETGID`, `CHOWN`, `KILL` (to end a host that will not exit, which root cannot signal without it) and `DAC_OVERRIDE` (to write its own state on a volume it shares with the server). There the host's environment is an allow-list (`src/agent-host/environment.ts`), with `STIGMER_AGENT_ENV_PASSTHROUGH` naming extra variables; a credential under an allowed prefix (`NODE_AUTH_TOKEN`, an OpenTelemetry `*_HEADERS` name the runner does not hold) is held back unless named there, and the collector's login (`OTEL_EXPORTER_OTLP_HEADERS` and its per-signal forms) is a runner secret that never reaches it: the host exports through the runner's local proxy. The agent's home may hold none of the runner's own files: a `STIGMER_AGENT_HOME` above the runner's home or inside its `~/.stigmer` is refused with exit 78 before the handover moves anything. `src/__tests__/agent-separation.container.test.ts` proves it in a container (`STIGMER_TEST_CONTAINER=1`). A workspace root inside the runner's home that the agent cannot pass (the default `~/.stigmer/workspaces/runner` under a driver's `/root`) is refused the same way, naming `WORKSPACE_ROOT_DIR`. Local shapes (`stigmer up`, the all-in-one image, which runs it, and the desktop app) run the host as the same user, whose keys are their own.
|
|
115
116
|
|
|
116
117
|
Elsewhere the host starts with the environment the agent's tools have always seen: the runner's own, without the runner's secrets (`src/agent-host/environment.ts`). Its log lines are relayed through the runner's console unchanged. A host that exits is started again after one second, backing off to thirty; a turn running on it settles as an internal failure at once, and the next turn waits for the new host. The host exits when its pipe closes, so a runner that is killed leaves no host behind. `scripts/verify-agent-host-boot.mjs` (part of `npm run verify:dist`, and of `verify-slim-artifact.mjs` for the slim artifact) proves a build starts as the host.
|
|
117
118
|
|
|
119
|
+
### The Claude engine
|
|
120
|
+
|
|
121
|
+
A Claude turn runs Anthropic's engine: the Agent SDK (`@anthropic-ai/claude-agent-sdk`) and its per-platform package holding the `claude` executable, exactly as npm publishes them. The runner finds it at boot (`src/activities/execute-claude/engine-home.ts`): first its own install of the SDK (a checkout's development dependency, or an embedder's install beside `@stigmer/runner`), then the home for its pinned version under `STIGMER_ENGINES_DIR` (default `~/.stigmer/engines`). A published runner pins the version in `claude-engine.json` beside its entry, written from the lockfile with each package's registry URL and integrity, and loads no other version. Boot logs `[claude] engine ready <version> (<where>)`.
|
|
122
|
+
|
|
123
|
+
- **The images** (the cloud sandbox, the runner layer, compose, Helm and the all-in-one) carry the engine in a layer of their own: the runner layer at `/runner/engines`, which its start script names as `STIGMER_ENGINES_DIR`, and the all-in-one at `/opt/stigmer/engines`.
|
|
124
|
+
- **A local runner** (the desktop app, `stigmer up`, the `local-process` driver) carries only the pin. Its first Claude turn downloads the SDK and this machine's platform package from npm (120 to 140 MB), checks each against the pinned integrity before extracting it, and installs the home atomically under a lock, so runners sharing a machine download once (`src/activities/execute-claude/engine-fetch.ts`). The turn shows "Downloading Claude (one time): N%" while it does; a failed download ends the turn with a sentence saying so, and the next turn tries again. An install removes another version's home unused for 30 days.
|
|
125
|
+
- **Behind a proxy**, the runner's Node 22 honours `HTTPS_PROXY` for the download only with `NODE_USE_ENV_PROXY=1` set beside it (measured; Node calls it experimental).
|
|
126
|
+
- **A runner started from the runner layer never downloads**: its agent host runs as the agent user, which must never install an engine later turns run. Without the engine it refuses Claude turns.
|
|
127
|
+
|
|
128
|
+
Anthropic's conditions for running the engine in a product bind every path: its bytes are never changed or re-signed, it runs on the API-key method only, and a Claude turn runs on the organization's own Anthropic key, never one of Stigmer's (`src/harness/README.md`, "The Claude engine").
|
|
129
|
+
|
|
118
130
|
### Traces: every run as OpenTelemetry GenAI spans
|
|
119
131
|
|
|
120
|
-
The runner sends every run to the operator's tracing tool over OTLP, in OpenTelemetry's conventions for generative AI (`src/gen-ai-conventions.ts`): each turn an `invoke_agent <agent>` root span in a trace whose id is derived from the run id (`src/run-trace-id.ts`), so a run that resumed after an approval stays one trace; each model call a `chat <model>` span with its provider, model and tokens; each tool call an `execute_tool <tool>` span; a sub-agent an `invoke_agent <name>` span under its `task` call
|
|
132
|
+
The runner sends every run to the operator's tracing tool over OTLP, in OpenTelemetry's conventions for generative AI (`src/gen-ai-conventions.ts`): each turn an `invoke_agent <agent>` root span in a trace whose id is derived from the run id (`src/run-trace-id.ts`), so a run that resumed after an approval stays one trace; each model call a `chat <model>` span with its provider, model and tokens; each tool call an `execute_tool <tool>` span; a sub-agent an `invoke_agent <name>` span under its `task` call. It is configured only by the standard variables (`src/otel-export.ts`): an endpoint turns it on, `OTEL_EXPORTER_OTLP_PROTOCOL` picks `http/protobuf` (the default), `http/json` or `grpc`, and `OTEL_EXPORTER_OTLP_HEADERS` (with its per-signal forms) is the collector's login, a runner secret held in custody like the model keys. The conversation's text rides the spans only with `OTEL_INSTRUMENTATION_GENAI_CAPTURE_MESSAGE_CONTENT=true`, and never shows more than the saved conversation does (`src/shared/telemetry-content.ts`). The agent host never holds the login: it exports to the local proxy's `otlp` lane, which forwards to the collector (`src/agent-proxy/otlp-forward.ts`). The operator's guide is `docs/guides/self-hosting/tracing.mdx`.
|
|
121
133
|
|
|
122
134
|
### A note for embedders: OpenTelemetry
|
|
123
135
|
|
|
@@ -127,9 +139,9 @@ When you embed the runner as a **library** (`createStigmerRunner` / `createStigm
|
|
|
127
139
|
Two settings are easy to conflate but are deliberately independent:
|
|
128
140
|
|
|
129
141
|
- **`MODE` — execution location.** Where the agent runs and whose filesystem it sees. `local` allows local-path workspaces on the host filesystem; `cloud` runs in a server-provisioned sandbox (git-only).
|
|
130
|
-
- **`STIGMER_PROXY_ENDPOINT` — transport.** How credentials and artifacts move. When set, the runner routes
|
|
142
|
+
- **`STIGMER_PROXY_ENDPOINT` — transport.** How credentials and artifacts move. When set, the runner routes model traffic through the Stigmer proxy and pushes artifacts through it, instead of talking to providers and storage directly.
|
|
131
143
|
|
|
132
|
-
These are orthogonal. The **desktop runner** is the canonical case where they diverge: it executes **locally** (`MODE=local`, so local-path workspaces work) yet still routes
|
|
144
|
+
These are orthogonal. The **desktop runner** is the canonical case where they diverge: it executes **locally** (`MODE=local`, so local-path workspaces work) yet still routes model traffic and artifact uploads **through the proxy**. Coupling the two — forcing "proxy implies cloud" — is exactly what previously broke local-path sessions, which is why the env path (`MODE`) and both library factories (`executionMode`) treat them separately.
|
|
133
145
|
|
|
134
146
|
> **Library factories — `executionMode`.** Both `createStigmerRunner` and `createStigmerRunnerManager` accept an optional `executionMode: "local" | "cloud"` that sets execution location independently of proxy transport. When omitted, the static `createStigmerRunner` derives it for backward compatibility (`proxy ⇒ cloud`, otherwise `local`); the manager defaults to `local`. Set `executionMode: "local"` together with `proxyEndpoint` to express the desktop case — local execution with proxy transport.
|
|
135
147
|
|
|
@@ -137,8 +149,8 @@ These are orthogonal. The **desktop runner** is the canonical case where they di
|
|
|
137
149
|
|
|
138
150
|
The transport setting drives two credential modes:
|
|
139
151
|
|
|
140
|
-
- **Direct mode** (local / OSS):
|
|
141
|
-
- **Proxy mode** (cloud / managed runners): `STIGMER_PROXY_ENDPOINT` and `STIGMER_TOKEN` are required.
|
|
152
|
+
- **Direct mode** (local / OSS): the runner calls its model providers with the keys or cloud identity you configure; `STIGMER_TOKEN` is optional against a trusted-local server, which verifies no credential, and is the runner's own API key against a self-hosted server with sign-in on (the run's per-run credential arrives with each dispatch; see `src/shared/run-credential.ts`). `STIGMER_PROXY_ENDPOINT` is unset.
|
|
153
|
+
- **Proxy mode** (cloud / managed runners): `STIGMER_PROXY_ENDPOINT` and `STIGMER_TOKEN` are required. The organization's own provider keys are saved on the Models & providers page, and the proxy validates your token and injects the key upstream, so the key never reaches the runner or the sandbox. The agent host's model calls go to the runner's local proxy, which forwards them to `STIGMER_PROXY_ENDPOINT`.
|
|
142
154
|
|
|
143
155
|
## Required infrastructure
|
|
144
156
|
|
|
@@ -146,7 +158,7 @@ The transport setting drives two credential modes:
|
|
|
146
158
|
|-----------|------|---------|
|
|
147
159
|
| Temporal | Always | The runner is a Temporal Worker. It needs a reachable Temporal frontend and a namespace. You may set these explicitly (`TEMPORAL_SERVICE_ADDRESS`, `TEMPORAL_NAMESPACE`), but when a token is present the runner self-discovers them from the control plane at boot — see the env reference below. |
|
|
148
160
|
| Stigmer backend | Always | The control plane (`STIGMER_BACKEND_ENDPOINT`) for status updates, blueprints, and (local) artifact serving. |
|
|
149
|
-
| Stigmer proxy + token | Proxy/cloud only | The proxy (`STIGMER_PROXY_ENDPOINT`) injects the organization's own
|
|
161
|
+
| Stigmer proxy + token | Proxy/cloud only | The proxy (`STIGMER_PROXY_ENDPOINT`) injects the organization's own provider keys (saved on the Models & providers page) and brokers artifact storage; `STIGMER_TOKEN` authenticates to it. |
|
|
150
162
|
|
|
151
163
|
In local/direct mode, only Temporal and the Stigmer backend are required, and both default to localhost.
|
|
152
164
|
|
|
@@ -174,16 +186,16 @@ All configuration is environment-driven. Every variable the runner's source read
|
|
|
174
186
|
|
|
175
187
|
| Variable | Applies to | Required | Default | Purpose |
|
|
176
188
|
|----------|-----------|----------|---------|---------|
|
|
177
|
-
| `STIGMER_RUNNER_MODE` | All | No | `static` | Selects the run mode. Set to `manager` for dynamic per-session/per-execution Workers; any other value (or unset) means static mode
|
|
178
|
-
| `STIGMER_POOL_MEMBER_ID` | Hosted sandboxes | No | _(none)_ | Selects pool mode (see [Run modes](#run-modes)): the sandbox's identity in the warm pool. Set by the hosted edition's sandbox provisioning; a self-hosted runner never sets it. |
|
|
189
|
+
| `STIGMER_RUNNER_MODE` | All | No | `static` | Selects the run mode. Set to `manager` for dynamic per-session/per-execution Workers; any other value (or unset) means static mode. |
|
|
179
190
|
| `STIGMER_ATTACH_PORT` | The attach entry | No | `80` | Port the attach waiter listens on (`src/attach/entry.ts`), 80 being the port a Substrate router reaches without a `CONNECT` tunnel. Not passed to the runner. |
|
|
180
191
|
| `STIGMER_SANDBOX_NAME_FILE` | The attach entry | No | `/run/ate/actor-name` | File holding this sandbox's name, read on every push because each clone of a snapshot has its own (a Substrate template projects it with an actor-metadata volume). A push for a queue whose sandbox name differs is refused. Not passed to the runner. |
|
|
192
|
+
| `STIGMER_SANDBOX_ENVIRONMENT` | Sandboxes | No | _(none)_ | The sandbox's Environment as JSON, `{network, packages}`, set by the `docker` and `agent-sandbox` drivers and, on Substrate, by the attach waiter from the first push (`src/environment/spec.ts`). The runner installs the packages once its agent's home is handed over (apt as root, the other managers as the agent into `/opt/stigmer/environment`, first on the agent's `PATH`); each turn waits for the install. Unset: no Environment. |
|
|
181
193
|
| `STIGMER_SERVER_RELEASE` | The start script | No | _(none)_ | The server's release, set when the server is a release by the built-in `agent-sandbox`, `docker` and `substrate` drivers, and by a composition's own driver once it hands `SandboxDriverConfig.serverRelease` on (`SERVER_RELEASE_ENV` in the server's `src/sandbox/runner-launch.ts`); a sandbox started without it is not checked. The layer's start script (`layer/start.sh`) refuses a layer whose `/runner/RELEASE` names another release, and warns about one that names none. Read by the start script only, not by the runner. |
|
|
182
194
|
| `MODE` | All | No | `local` | Execution location: `local` (host filesystem, local-path workspaces) or `cloud` (server-provisioned sandbox, git-only). Independent of `STIGMER_PROXY_ENDPOINT`. Also the default for the two guards below. |
|
|
183
|
-
| `STIGMER_WEB_FETCH_ALLOW_PRIVATE` | All (
|
|
195
|
+
| `STIGMER_WEB_FETCH_ALLOW_PRIVATE` | All (the Stigmer harness's `web_fetch`) | No | follows `MODE`: strict in `cloud`, relaxed in `local` | The `web_fetch` address guard's override. `true` lets the agent fetch loopback and private-network addresses on any runner (link-local, which holds the cloud metadata endpoint, stays refused); `false` refuses them on a local runner too. For embedders whose execution location and network differ; managed cloud deployments never set it. See `src/tools/url-guard.ts`. |
|
|
184
196
|
| `STIGMER_MCP_ALLOW_STDIO` | All | No | follows `MODE`: forbidden in `cloud`, allowed in `local` | The MCP transport guard's override. `true` lets a cloud runner start stdio MCP servers, which download a package and run it as a subprocess holding the execution's secrets; `false` forbids them on a local runner too. For rolling the policy back without a redeploy; managed cloud deployments never set it. See `src/shared/mcp-transport-guard.ts`. |
|
|
185
|
-
| `STIGMER_TASK_QUEUE` | Static mode | No | `stigmer_runner` | Temporal task queue the static Worker polls.
|
|
186
|
-
| `TEMPORAL_SERVICE_ADDRESS` | All | No | _(discovered)_ | Address of the Temporal frontend. **Resolution order:** an explicit value always wins; otherwise, if `STIGMER_TOKEN` is set, the runner discovers it from the control plane at boot (`getRunnerBootstrapConfig`); otherwise it falls back to `localhost:7233`. Discovery failure aborts startup with an actionable error (no silent fallback). |
|
|
197
|
+
| `STIGMER_TASK_QUEUE` | Static mode | No | `stigmer_runner` | Temporal task queue the static Worker polls. Unused in manager mode, where each Worker derives its own queue. |
|
|
198
|
+
| `TEMPORAL_SERVICE_ADDRESS` | All | No | _(discovered)_ | Address of the Temporal frontend. **Resolution order:** an explicit value always wins; otherwise, if `STIGMER_TOKEN` is set, the runner discovers it from the control plane at boot (`getRunnerBootstrapConfig`); otherwise it falls back to `localhost:7233`. Discovery failure aborts startup with an actionable error (no silent fallback). When the address is the backend endpoint's own host and port, the runner reaches Temporal through the Stigmer server, as a sandboxed runner does: its `STIGMER_TOKEN` is its Temporal API key, TLS follows the endpoint's scheme, and the `STIGMER_TEMPORAL_*` settings below must be unset (`src/temporal-lane.ts`). |
|
|
187
199
|
| `TEMPORAL_NAMESPACE` | All | No | `default` | Temporal namespace. |
|
|
188
200
|
| `STIGMER_TEMPORAL_API_KEY` | All | No | — | Temporal frontend API key (Temporal Cloud, or a frontend with an authorizer); implies TLS. Taken into the credential store at boot, so agent tools never see it. |
|
|
189
201
|
| `STIGMER_TEMPORAL_TLS` | All | No | — | `true` or `1`: TLS to the frontend against the system's trusted roots. A CA, a client certificate or an API key implies it. |
|
|
@@ -192,15 +204,14 @@ All configuration is environment-driven. Every variable the runner's source read
|
|
|
192
204
|
| `STIGMER_TEMPORAL_TLS_CLIENT_CERT_DATA` / `_PATH`, `STIGMER_TEMPORAL_TLS_CLIENT_KEY_DATA` / `_PATH` | All | No | — | Mutual TLS: the client certificate and its key, both or neither (half a pair stops the boot). The key's `_DATA` form is taken into the credential store; a `_PATH` key is a file the agent's tools can read, so prefer `_DATA`. These are Stigmer's own names: Temporal's `TEMPORAL_API_KEY` and `TEMPORAL_TLS_*` belong to the user's own Temporal work and are never read. |
|
|
193
205
|
| `STIGMER_BACKEND_ENDPOINT` | All | In cloud mode | `http://localhost:7234` (local) | Stigmer backend endpoint for status, blueprints, and local artifact serving. A bare `host:port` is normalized to `http://` (or `https://` for port `443`). |
|
|
194
206
|
| `STIGMER_TOKEN` | Cloud or proxy mode | Yes (cloud/proxy) | _(none)_ | Auth token for the Stigmer backend / proxy. Required when `MODE=cloud` or `STIGMER_PROXY_ENDPOINT` is set; optional in local/direct mode. |
|
|
195
|
-
| `
|
|
196
|
-
| `
|
|
197
|
-
| `GIT_CONFIG_COUNT` | Git workspaces | No | _(none)_ | git's own per-command configuration, honoured as git honours it: a runner that sets it (a container's `safe.directory`, for one) keeps it, and the settings that hand a repository's token to a network git command are appended after it (`src/shared/workspace/git-credential.ts`), never in its place. |
|
|
207
|
+
| `STIGMER_PROXY_ENDPOINT` | Proxy/cloud | No | _(none)_ | Stigmer proxy endpoint. When set, activates proxy transport: model traffic and artifact uploads are routed through the proxy. |
|
|
208
|
+
| `GIT_CONFIG_COUNT` | Git workspaces | No | _(none)_ | git's own per-command configuration, honoured as git honours it: a runner that sets it (a container's `safe.directory`, for one) keeps it, and the settings that hand a repository's token to the runner's own git are appended after it (`src/shared/workspace/git-credential.ts`), never in its place. |
|
|
198
209
|
| `WORKSPACE_ROOT_DIR` | All | No | `~/.stigmer/workspaces/runner` (fallback) | Root directory for agent workspaces. If unset, the runner warns and creates an isolated fallback directory — it never falls back to the process working directory. |
|
|
210
|
+
| `STIGMER_ENGINES_DIR` | All | No | `~/.stigmer/engines`; `/runner/engines` under the runner layer | Where the Claude engine lives: one home per version, `<dir>/claude/<version>/node_modules/@anthropic-ai/`, holding the Agent SDK and its platform package exactly as npm publishes them. The runner layer's start script sets it to the engine the layer carries. A local runner (the desktop app, `stigmer up`, the `local-process` driver) that finds none downloads the version its `claude-engine.json` pins into it on the first Claude turn; on a machine that cannot download, put the two packages there yourself. The runner's own install of the SDK, when it has one, is used first. See [The Claude engine](#the-claude-engine). |
|
|
199
211
|
| `TEMPORAL_MAX_CONCURRENCY` | All | No | `5` | Maximum concurrent Temporal activity executions (per session Worker in manager mode). |
|
|
200
|
-
| `STIGMER_CHECKPOINTER_TYPE` | All | No | `sqlite` (local), `http` (cloud) | LangGraph checkpointer backend for the
|
|
212
|
+
| `STIGMER_CHECKPOINTER_TYPE` | All | No | `sqlite` (local), `http` (cloud) | LangGraph checkpointer backend for the Stigmer harness's agent state: `sqlite` (a durable per-session file under the platform dir, so a paused or interrupted run resumes across invocations), `http` (the proxy-backed saver), or `memory` (ephemeral; test runs only — a paused run cannot resume on it). The same setting places the Claude harness's conversation: a per-session transcript file under the session directory (`sqlite`), the platform's engine-sessions lane through the local proxy (`http`), or memory. |
|
|
201
213
|
| `STIGMER_CHECKPOINTER_PROXY_ENDPOINT` | `http` checkpointer | No | value of `STIGMER_PROXY_ENDPOINT` | Endpoint for the HTTP checkpointer; falls back to the proxy endpoint. |
|
|
202
214
|
| `STIGMER_PRIMARY_MODEL` | All | No | `gpt-4.1` | Default LLM model identifier. |
|
|
203
|
-
| `STIGMER_CURSOR_CLOUD_MODE_ENABLED` | All | No | `false` | When `true`, enables Cursor cloud (workspace-less) execution mode for the Cursor harness. |
|
|
204
215
|
| `STIGMER_IDLE_TIMEOUT_SECONDS` | All | No | _(none)_ | **Reserved.** Parsed from the environment but not currently honored by the runtime — no component reads it today. Documented for completeness; setting it has no effect. |
|
|
205
216
|
|
|
206
217
|
### Artifact storage
|
|
@@ -209,7 +220,7 @@ All configuration is environment-driven. Every variable the runner's source read
|
|
|
209
220
|
|----------|-----------|----------|---------|---------|
|
|
210
221
|
| `ARTIFACT_STORAGE_TYPE` | All | No | `proxy` if `STIGMER_ARTIFACT_PROXY_ENDPOINT` or `STIGMER_PROXY_ENDPOINT` is set, else `local` | Selects the artifact backend: `local` (filesystem, served by the Stigmer backend), `proxy` (presigned URLs via the proxy), or `none` (storage deliberately disabled: artifact features are refused rather than stored). An explicit value always wins. Storage follows transport, not execution location (`src/shared/artifact-storage.ts`). |
|
|
211
222
|
| `STIGMER_ARTIFACT_PROXY_ENDPOINT` | Proxy storage | No | value of `STIGMER_PROXY_ENDPOINT` | Endpoint the proxy artifact store presigns against, when artifact traffic must reach a different host than LLM traffic (the checkpointer-override pattern). |
|
|
212
|
-
| `LOCAL_ARTIFACT_PATH` | Local storage | No | `~/.stigmer/data/artifacts` | Filesystem root of the local artifact store. **Must equal the stigmer-server's `ARTIFACT_LOCAL_BASE_PATH`** — in local mode the server writes an artifact to `<ARTIFACT_LOCAL_BASE_PATH>/<key>` and the runner reads it from `<LOCAL_ARTIFACT_PATH>/<key>`, so a mismatch makes every
|
|
223
|
+
| `LOCAL_ARTIFACT_PATH` | Local storage | No | `~/.stigmer/data/artifacts` | Filesystem root of the local artifact store. **Must equal the stigmer-server's `ARTIFACT_LOCAL_BASE_PATH`** — in local mode the server writes an artifact to `<ARTIFACT_LOCAL_BASE_PATH>/<key>` and the runner reads it from `<LOCAL_ARTIFACT_PATH>/<key>`, so a mismatch makes every artifact read and offload fail to resolve. The defaults align out of the box; the CLI local daemon sets both explicitly. |
|
|
213
224
|
|
|
214
225
|
### Payload encryption (Temporal history at rest)
|
|
215
226
|
|
|
@@ -239,10 +250,10 @@ The claim-check codec offloads oversized Temporal payloads to artifact storage a
|
|
|
239
250
|
|
|
240
251
|
| Variable | Applies to | Required | Default | Purpose |
|
|
241
252
|
|----------|-----------|----------|---------|---------|
|
|
242
|
-
| `OPENAI_API_KEY` | Direct mode (
|
|
243
|
-
| `ANTHROPIC_API_KEY` | Direct mode (
|
|
244
|
-
| `ANTHROPIC_BASE_URL` | Direct mode (
|
|
245
|
-
| `STIGMER_LLM_REQUEST_TIMEOUT_MS` |
|
|
253
|
+
| `OPENAI_API_KEY` | Direct mode (Stigmer/OpenAI) | When using OpenAI directly | _(empty)_ | OpenAI API key for the Stigmer harness in direct mode. Not needed in proxy mode. |
|
|
254
|
+
| `ANTHROPIC_API_KEY` | Direct mode (Stigmer/Anthropic) | When using Anthropic directly | _(empty)_ | Anthropic API key for the Stigmer harness in direct mode. Not needed in proxy mode. |
|
|
255
|
+
| `ANTHROPIC_BASE_URL` | Direct mode (Stigmer/Anthropic, `public` backend) | No | _(empty: api.anthropic.com)_ | The address of an LLM gateway in front of Anthropic (the API root, without `/v1`). A value that is not an http(s) URL stops the runner at startup; ignored, with a warning, under the proxy or a non-`public` backend. |
|
|
256
|
+
| `STIGMER_LLM_REQUEST_TIMEOUT_MS` | Stigmer harness | No | `0` (no timeout) | Per-attempt bound on a Stigmer-harness LLM request, in milliseconds. On a streamed reply (every agent turn) it bounds the wait for the reply to begin, and a timed-out attempt is retried like any other passing failure; on a reply that does not stream (structured extraction, session subjects) it bounds the whole reply, and a timed-out attempt is not retried (`src/shared/model-retry.ts`). `0` or unset means no explicit timeout. |
|
|
246
257
|
| `STIGMER_CLOUD_API_URL` | All | No | _(unset)_ | Explicit override for the origin serving `/v1/proxy/model-registry` (model resolution and pricing). When unset, fetches go to `STIGMER_PROXY_ENDPOINT` (proxy mode) or `STIGMER_BACKEND_ENDPOINT` (direct/local mode — the local stigmer-server serves the registry). |
|
|
247
258
|
| `STIGMER_AUTH_TOKEN` | Pricing/registry fetch | No | value of `STIGMER_TOKEN` | Fallback bearer token for model-pricing and model-registry requests when `STIGMER_TOKEN` is not set. |
|
|
248
259
|
| `GITHUB_TOKEN` | Deep-agent git writeback | When writing back to GitHub | _(none)_ | Token used by the deep-agent harness for git writeback operations. |
|
|
@@ -250,7 +261,7 @@ The claim-check codec offloads oversized Temporal payloads to artifact storage a
|
|
|
250
261
|
|
|
251
262
|
### Model backends
|
|
252
263
|
|
|
253
|
-
Where the
|
|
264
|
+
Where the Stigmer harness's models are served when the runner talks to providers directly. Under `STIGMER_PROXY_ENDPOINT` the proxy owns provider routing, and the runner warns that a non-`public` backend is ignored. The [model backends guide](https://stigmer.ai/docs/guides/runners/model-backends) is the one explanation of each backend, its credentials and its errors; the rows below index what the runner reads.
|
|
254
265
|
|
|
255
266
|
| Variable | Applies to | Required | Default | Purpose |
|
|
256
267
|
|----------|-----------|----------|---------|---------|
|
|
@@ -290,15 +301,16 @@ These tune internal behavior or support testing. Most operators never set them.
|
|
|
290
301
|
| `STREAMING_MAX_INTERVAL_MS` | `5000` | Maximum time before a forced keepalive status update. Clamped up to the min if set lower. |
|
|
291
302
|
| `STREAMING_BURST_THRESHOLD` | `50` | Event count that triggers an immediate status update (burst protection). |
|
|
292
303
|
| `STIGMER_PROGRESS_CAPTURE_MIN_INTERVAL_MS` | `2000` | Minimum time between two mid-run captures of the "N files changed so far" strip. Each capture stages the working tree with git (git workspaces) or reads the touched files (other workspaces), so this bounds that cost however often status is written. Read once at startup; a non-numeric or negative value keeps the default, and `0` captures on every status write. |
|
|
293
|
-
| `CURSOR_STREAM_STALL_TIMEOUT_MS` | `180000` (3 min) |
|
|
294
|
-
| `
|
|
295
|
-
| `
|
|
296
|
-
| `
|
|
297
|
-
| `
|
|
298
|
-
| `
|
|
304
|
+
| `CURSOR_STREAM_STALL_TIMEOUT_MS` | `180000` (3 min) | How long a turn may go with nothing open and nothing arriving before the run is cancelled and the execution fails with a stall error, for every harness (the name predates the harnesses that read it). A tool call or delegated task that is still running holds it, so a long silent build is not a stall (`src/harness/open-operations.ts`). Embedders set it through the `cursorStreamStallTimeoutMs` option. |
|
|
305
|
+
| `STIGMER_OPEN_OPERATION_MAX_MS` | `3600000` (60 min) | The backstop for one open operation: a tool call or delegated task still running after this long is stopped and the execution fails with a sentence naming it. It exists for what has no bound of the runner's own (an engine's opaque tool); every operation the runner runs itself is bounded well below it. Embedders set it through the `openOperationMaxMs` option. |
|
|
306
|
+
| `STIGMER_DRAIN_GRACE_MS` | `25000` (25 s) | How long a static runner's shutdown waits for the turns in flight to reach a step boundary (Temporal's `shutdownGraceTime`). A turn that reaches one stops there and continues on the next runner; one still mid-step when it runs out is stopped there and continues too, running that step again. Keep it under the host's own termination grace: the default sits under Kubernetes' 30 s, and the agent sandbox's pod, whose grace is 600 s, sets 540 s. Embedders set it through the `drainGraceMs` option. The desktop manager has none: it exits at once. |
|
|
307
|
+
| `STIGMER_LIVENESS_INTERVAL_MS` | `30000` (30 s) | How often a working turn says what it has open: the runner sends a `stigmer.run.liveness` preview naming each open operation and its age at this interval while the turn runs, and at once when what is open changes, so a watcher that reconnects learns within the interval. From 1000 to under 60000; any other value falls back to the default with a warning. Embedders set it through the `livenessIntervalMs` option. |
|
|
308
|
+
| `STIGMER_SHELL_TIMEOUT_MAX_SECONDS` | `3300` (55 min) | The most the Stigmer harness's model may raise one shell command's timeout to; a command's default bound is 120 s, and a larger request is clamped to this and the result says so. A command the agent starts in the background (`execute` with `background: true`) is bounded by this unless it asks for less; it is stopped, and awaited, when its turn's invocation ends, an approval pause included, and the agent can stop it sooner with `stop_background_command` (`src/shared/shell/background-commands.ts`). The session's log carries each one's life as `stigmer.background_command.status` beside the call that started it, with its output previewed under that call (`src/activities/execute-deep-agent/background-facts.ts`), so the console shows it running and how it ended; a person can stop one alone (`SessionCommandController.stopBackgroundCommand`), which the runtime reads every 2 s while a command runs (`src/harness/background-stops.ts`). Kept under `STIGMER_OPEN_OPERATION_MAX_MS`, so the shell's own bound fires first. Embedders set it through the `shellTimeoutMaxSeconds` option. |
|
|
309
|
+
| `STIGMER_SHELL_BACKGROUND_ENABLED` | `true` | Whether the Stigmer harness's model may start a shell command in the background. `false` turns it off: `execute` is declared without `background`, `stop_background_command` is not bound, and no turn waits at its end for a command, so every command runs in the foreground, a turn never waits on one, and a sandbox never stays awake for one. Any other value keeps it on with a warning. Embedders set it through the `shellBackgroundEnabled` option. |
|
|
310
|
+
| `WORKSPACE_LOCK_TIMEOUT_MS` | `900000` (15 min) | How long a turn waits for another session's lock on the same workspace before the execution fails with "workspace is in use by another session" (`src/shared/workspace/workspace-lock.ts`). Embedders use the `workspaceLockTimeoutMs` option. |
|
|
311
|
+
| `STIGMER_MCP_BRIDGE_ENDPOINT` | _(none)_ | The MCP bridge the runner's own attachments (memory, channel messaging, conversation participation) connect to, as `https://…`. An embedded runner that discovers its Temporal coordinates from a server also learns the bridge from it, when the server names one (`STIGMER_RUNNER_BOOTSTRAP_MCP_BRIDGE_ENDPOINT`); a value set here wins. Neither selects the local shape: a spawned `stigmer mcp-server` stdio child against the local backend. |
|
|
299
312
|
| `SKIP_MCP_CONNECT_BACKFILL` | `false` | When `true`, skips MCP Connect backfill. |
|
|
300
313
|
| `STIGMER_MCP_PUBLIC_ENDPOINT` | _(none)_ | The server's public endpoint. A server that provisions this runner's sandbox sets it from its own configuration (`STIGMER_SANDBOX_MCP_PUBLIC_ENDPOINT`). Fills `STIGMER_SERVER_ADDRESS` (as `host:port`) for MCP servers that declare it and carry no value; without it, only stdio servers are filled, from `STIGMER_BACKEND_ENDPOINT`. A value already present is never overridden. |
|
|
301
|
-
| `CURSOR_EVENT_RECORD_DIR` | _(none)_ | Directory to record Cursor harness events (debugging/fixtures). |
|
|
302
314
|
| `V3_EVENT_RECORD_DIR` | _(none)_ | Directory to record deep-agent harness events (debugging/fixtures). |
|
|
303
315
|
|
|
304
316
|
## Related documentation
|
package/dist/.build-fingerprint
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"hash":"
|
|
1
|
+
{"hash":"9ac3c1b119ed74a8","builtAt":"2026-11-05T11:02:34.439Z","fileCount":385}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* EnsureThread Temporal activity — resolves a LangGraph thread ID for an
|
|
3
3
|
* agent execution.
|
|
4
4
|
*
|
|
5
|
-
* Called by the
|
|
6
|
-
*
|
|
5
|
+
* Called by the server's InvokeAgentExecutionWorkflow as Step 1 of the
|
|
6
|
+
* Stigmer harness flow, before ExecuteDeepAgent. The returned
|
|
7
7
|
* thread ID keys the LangGraph checkpointer for conversation continuity.
|
|
8
8
|
*
|
|
9
9
|
* Thread ID conventions (load-bearing for proxy authorization):
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* EnsureThread Temporal activity — resolves a LangGraph thread ID for an
|
|
3
3
|
* agent execution.
|
|
4
4
|
*
|
|
5
|
-
* Called by the
|
|
6
|
-
*
|
|
5
|
+
* Called by the server's InvokeAgentExecutionWorkflow as Step 1 of the
|
|
6
|
+
* Stigmer harness flow, before ExecuteDeepAgent. The returned
|
|
7
7
|
* thread ID keys the LangGraph checkpointer for conversation continuity.
|
|
8
8
|
*
|
|
9
9
|
* Thread ID conventions (load-bearing for proxy authorization):
|
|
@@ -20,10 +20,12 @@
|
|
|
20
20
|
* Output: string (thread ID)
|
|
21
21
|
*/
|
|
22
22
|
import { randomUUID } from "node:crypto";
|
|
23
|
+
import { ENSURE_THREAD_ACTIVITY_NAME } from "@stigmer/temporal-codecs/activity-names";
|
|
23
24
|
import { activityStarted, activityFinished } from "../idle-watchdog.js";
|
|
24
25
|
export function createEnsureThreadActivities() {
|
|
25
26
|
return {
|
|
26
|
-
|
|
27
|
+
// Registered under the name the server's workflow schedules, declared once for both.
|
|
28
|
+
[ENSURE_THREAD_ACTIVITY_NAME]: async (sessionId, agentId) => {
|
|
27
29
|
activityStarted();
|
|
28
30
|
try {
|
|
29
31
|
if (sessionId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ensure-thread.js","sourceRoot":"","sources":["../../src/activities/ensure-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,
|
|
1
|
+
{"version":3,"file":"ensure-thread.js","sourceRoot":"","sources":["../../src/activities/ensure-thread.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,2BAA2B,EAAE,MAAM,yCAAyC,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,MAAM,UAAU,4BAA4B;IAC1C,OAAO;QACL,qFAAqF;QACrF,CAAC,2BAA2B,CAAC,EAAE,KAAK,EAAE,SAAiB,EAAE,OAAe,EAAmB,EAAE;YAC3F,eAAe,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,QAAQ,GAAG,UAAU,SAAS,EAAE,CAAC;oBACvC,OAAO,CAAC,GAAG,CAAC,wCAAwC,QAAQ,EAAE,CAAC,CAAC;oBAChE,OAAO,QAAQ,CAAC;gBAClB,CAAC;gBAED,MAAM,QAAQ,GAAG,aAAa,OAAO,IAAI,UAAU,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;gBACtF,OAAO,CAAC,GAAG,CAAC,oCAAoC,QAAQ,EAAE,CAAC,CAAC;gBAC5D,OAAO,QAAQ,CAAC;YAClB,CAAC;oBAAS,CAAC;gBACT,gBAAgB,EAAE,CAAC;YACrB,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Claude harness as a `HarnessAdapter` — the worker- and session-
|
|
3
|
+
* lifetime half of its Agent SDK slice, behind the turn runtime's contract
|
|
4
|
+
* (`harness/types.ts`). One engine turn is `turn.ts`'s `runClaudeTurn`; this
|
|
5
|
+
* module boots and delegates.
|
|
6
|
+
*
|
|
7
|
+
* THIS MODULE'S STATIC GRAPH IS SDK-FREE, ON PURPOSE, as every adapter's is
|
|
8
|
+
* (`harness-adapters.ts`): `@anthropic-ai/claude-agent-sdk` and the turn
|
|
9
|
+
* module are loaded with a dynamic import inside `boot`.
|
|
10
|
+
* `__tests__/adapter-graph-is-sdk-free.test.ts` pins it.
|
|
11
|
+
*
|
|
12
|
+
* WHERE THE ENGINE COMES FROM (`engine-home.ts` has the order and the pin).
|
|
13
|
+
* `boot` finds it once and leaves one of three states:
|
|
14
|
+
*
|
|
15
|
+
* - ready: the engine loaded, from the runner's own install or an engine
|
|
16
|
+
* home, and boot logged `[claude] engine ready <version> (<where>)`;
|
|
17
|
+
* - fetchable: no engine, but the runner carries its pin and was not started
|
|
18
|
+
* from the runner layer. This is a local runner (the desktop app,
|
|
19
|
+
* `stigmer up`, the `local-process` driver), and its first Claude turn
|
|
20
|
+
* installs the engine into its home (`engine-fetch.ts`), showing
|
|
21
|
+
* "Downloading Claude (one time): N%" in the turn's setup label, then
|
|
22
|
+
* loads it and runs; every later turn starts at once. A failed download
|
|
23
|
+
* ends the turn `actionable` with {@link downloadFailedMessage}, and the
|
|
24
|
+
* next turn tries again;
|
|
25
|
+
* - absent: neither. The turn fails `actionable` with
|
|
26
|
+
* {@link NOT_INSTALLED_MESSAGE} before anything runs.
|
|
27
|
+
*
|
|
28
|
+
* A runner started from the runner layer (`layer/start.sh` exports
|
|
29
|
+
* `STIGMER_RUNNER_LAYER=1`, which reaches the agent host under its
|
|
30
|
+
* `STIGMER_` prefix) never fetches: every image built on the layer carries
|
|
31
|
+
* the engine in it, and in a separating runner this host runs as the agent
|
|
32
|
+
* user, which must never install an engine later turns run. The marker is
|
|
33
|
+
* read, not `agentIdentity()`: inside the separated host that is always
|
|
34
|
+
* null (it runs as uid 10001, and the identity is the runner's to know).
|
|
35
|
+
*
|
|
36
|
+
* A worker that failed its boot over one engine would take the others down
|
|
37
|
+
* with it, so nothing here throws out of `boot`.
|
|
38
|
+
*
|
|
39
|
+
* Anthropic's conditions for running the engine in a product bind this
|
|
40
|
+
* slice (`harness/README.md`, "The Claude engine"): the engine's bytes are
|
|
41
|
+
* never changed or re-signed, it runs on the API-key method only
|
|
42
|
+
* (`engine-env.ts`), and no Claude turn runs on a Stigmer-owned key.
|
|
43
|
+
*
|
|
44
|
+
* Nothing is parked per session: each invocation starts the engine's
|
|
45
|
+
* process and ends it, and the session's conversation lives in the session
|
|
46
|
+
* store (`session-store.ts`), so `releaseSession` is a no-op and `shutdown`
|
|
47
|
+
* holds nothing.
|
|
48
|
+
*
|
|
49
|
+
* What this adapter never does: throw out of `runTurn`, branch on why
|
|
50
|
+
* `stopSignal` aborted, write a phase or a terminal copy, bind a state id
|
|
51
|
+
* (the session id derives from the runtime's thread id, `deterministic`), or
|
|
52
|
+
* import `@temporalio/*` (`__tests__/adapter-is-temporal-free.test.ts`).
|
|
53
|
+
*/
|
|
54
|
+
import type { Config } from "../../config.js";
|
|
55
|
+
import type { HarnessAdapter } from "../../harness/types.js";
|
|
56
|
+
import { findClaudeEngine, type ClaudeEnginePin, type FoundEngine } from "./engine-home.js";
|
|
57
|
+
import type { ClaudeAdapterConfig, ClaudeSdk } from "./turn.js";
|
|
58
|
+
/** What a Claude turn on a runner without the engine is refused with. */
|
|
59
|
+
export declare const NOT_INSTALLED_MESSAGE = "The Claude Agent SDK is not installed on this runner, so this turn cannot run on the Claude Agent harness. Run it on another harness.";
|
|
60
|
+
/** What a Claude turn whose engine could not be downloaded ends with; the next turn tries again. */
|
|
61
|
+
export declare function downloadFailedMessage(reason: string): string;
|
|
62
|
+
/** The setup label while the engine downloads. */
|
|
63
|
+
export declare function downloadLabel(percent: number): string;
|
|
64
|
+
/** The least time between two download labels, so a fast download does not write a status per chunk. */
|
|
65
|
+
export declare const DOWNLOAD_LABEL_INTERVAL_MS = 1000;
|
|
66
|
+
/** The config slice this adapter reads per turn, taken at `boot`; a whole `Config` satisfies it. */
|
|
67
|
+
export declare function resolveClaudeConfig(config: Config): ClaudeAdapterConfig;
|
|
68
|
+
/** What `boot` reads from where it runs; a test replaces any of it. */
|
|
69
|
+
export interface ClaudeBootDeps {
|
|
70
|
+
readonly env: NodeJS.ProcessEnv;
|
|
71
|
+
readonly readPin: () => ClaudeEnginePin | null;
|
|
72
|
+
readonly find: typeof findClaudeEngine;
|
|
73
|
+
/** Imports a found engine's SDK: the runner's own by its bare name, a home's by file URL. */
|
|
74
|
+
readonly load: (engine: FoundEngine) => Promise<ClaudeSdk>;
|
|
75
|
+
/** Installs the engine for one turn (`engine-fetch.ts` `installForTurn`, loaded on first use). */
|
|
76
|
+
readonly install: (options: {
|
|
77
|
+
readonly root: string;
|
|
78
|
+
readonly pin: ClaudeEnginePin;
|
|
79
|
+
readonly platformPackage: string;
|
|
80
|
+
}, waiter: {
|
|
81
|
+
readonly signal: AbortSignal;
|
|
82
|
+
readonly onProgress: (fraction: number) => void;
|
|
83
|
+
readonly onActivity: () => void;
|
|
84
|
+
}) => Promise<{
|
|
85
|
+
readonly home: string;
|
|
86
|
+
readonly downloaded: boolean;
|
|
87
|
+
}>;
|
|
88
|
+
readonly now: () => number;
|
|
89
|
+
}
|
|
90
|
+
export declare function createClaudeAdapter(overrides?: Partial<ClaudeBootDeps>): HarnessAdapter;
|