@namzu/sdk 42.0.2 → 44.0.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/CHANGELOG.md +540 -0
- package/README.md +41 -34
- package/dist/advisory/budget.js +3 -3
- package/dist/advisory/budget.js.map +1 -1
- package/dist/advisory/context.d.ts +5 -5
- package/dist/advisory/context.d.ts.map +1 -1
- package/dist/advisory/context.js +6 -6
- package/dist/advisory/context.js.map +1 -1
- package/dist/advisory/evaluator.js +2 -2
- package/dist/advisory/evaluator.js.map +1 -1
- package/dist/advisory/parse.d.ts +1 -1
- package/dist/advisory/parse.js +1 -1
- package/dist/agents/AbstractAgent.d.ts +47 -40
- package/dist/agents/AbstractAgent.d.ts.map +1 -1
- package/dist/agents/AbstractAgent.js +60 -46
- package/dist/agents/AbstractAgent.js.map +1 -1
- package/dist/agents/PipelineAgent.d.ts +7 -7
- package/dist/agents/PipelineAgent.d.ts.map +1 -1
- package/dist/agents/PipelineAgent.js +75 -23
- package/dist/agents/PipelineAgent.js.map +1 -1
- package/dist/agents/ReactiveAgent.d.ts +7 -7
- package/dist/agents/ReactiveAgent.d.ts.map +1 -1
- package/dist/agents/ReactiveAgent.js +32 -25
- package/dist/agents/ReactiveAgent.js.map +1 -1
- package/dist/agents/RouterAgent.d.ts +7 -7
- package/dist/agents/RouterAgent.d.ts.map +1 -1
- package/dist/agents/RouterAgent.js +29 -32
- package/dist/agents/RouterAgent.js.map +1 -1
- package/dist/agents/SupervisorAgent.d.ts +13 -10
- package/dist/agents/SupervisorAgent.d.ts.map +1 -1
- package/dist/agents/SupervisorAgent.js +50 -36
- package/dist/agents/SupervisorAgent.js.map +1 -1
- package/dist/agents/budget.d.ts +17 -4
- package/dist/agents/budget.d.ts.map +1 -1
- package/dist/agents/budget.js +55 -14
- package/dist/agents/budget.js.map +1 -1
- package/dist/agents/defineAgent.d.ts +2 -2
- package/dist/agents/defineAgent.d.ts.map +1 -1
- package/dist/agents/defineAgent.js.map +1 -1
- package/dist/agents/handle.d.ts +12 -14
- package/dist/agents/handle.d.ts.map +1 -1
- package/dist/agents/handle.js +6 -6
- package/dist/agents/handle.js.map +1 -1
- package/dist/agents/lock.js +4 -4
- package/dist/agents/lock.js.map +1 -1
- package/dist/agents/runAgent.d.ts +42 -29
- package/dist/agents/runAgent.d.ts.map +1 -1
- package/dist/agents/runAgent.js +53 -14
- package/dist/agents/runAgent.js.map +1 -1
- package/dist/agents/storage.d.ts +21 -0
- package/dist/agents/storage.d.ts.map +1 -0
- package/dist/agents/storage.js +33 -0
- package/dist/agents/storage.js.map +1 -0
- package/dist/authorization/command-line.d.ts +1 -1
- package/dist/authorization/command-line.js +1 -1
- package/dist/authorization/gate.js +1 -1
- package/dist/authorization/gate.js.map +1 -1
- package/dist/authorization/permission-presets.d.ts +4 -4
- package/dist/authorization/permission-presets.d.ts.map +1 -1
- package/dist/authorization/permission-presets.js +2 -2
- package/dist/bridge/a2a/client.d.ts +1 -1
- package/dist/bridge/a2a/client.js +2 -2
- package/dist/bridge/a2a/client.js.map +1 -1
- package/dist/bridge/a2a/context.d.ts +26 -0
- package/dist/bridge/a2a/context.d.ts.map +1 -0
- package/dist/bridge/a2a/context.js +20 -0
- package/dist/bridge/a2a/context.js.map +1 -0
- package/dist/bridge/a2a/index.d.ts +4 -2
- package/dist/bridge/a2a/index.d.ts.map +1 -1
- package/dist/bridge/a2a/index.js +6 -2
- package/dist/bridge/a2a/index.js.map +1 -1
- package/dist/bridge/a2a/mapper.d.ts +12 -4
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +38 -31
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/a2a/task.d.ts +39 -7
- package/dist/bridge/a2a/task.d.ts.map +1 -1
- package/dist/bridge/a2a/task.js +52 -31
- package/dist/bridge/a2a/task.js.map +1 -1
- package/dist/bridge/acp/permission.d.ts +2 -2
- package/dist/bridge/acp/server.d.ts +22 -8
- package/dist/bridge/acp/server.d.ts.map +1 -1
- package/dist/bridge/acp/server.js +18 -5
- package/dist/bridge/acp/server.js.map +1 -1
- package/dist/bridge/acp/update.d.ts +4 -4
- package/dist/bridge/acp/update.d.ts.map +1 -1
- package/dist/bridge/acp/update.js +6 -6
- package/dist/bridge/acp/update.js.map +1 -1
- package/dist/bridge/external-session.d.ts +43 -0
- package/dist/bridge/external-session.d.ts.map +1 -0
- package/dist/bridge/external-session.js +28 -0
- package/dist/bridge/external-session.js.map +1 -0
- package/dist/bridge/sse/index.d.ts +1 -1
- package/dist/bridge/sse/index.d.ts.map +1 -1
- package/dist/bridge/sse/index.js +1 -1
- package/dist/bridge/sse/index.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts +21 -13
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +99 -129
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/bus/breaker.d.ts +6 -6
- package/dist/bus/breaker.d.ts.map +1 -1
- package/dist/bus/breaker.js +28 -27
- package/dist/bus/breaker.js.map +1 -1
- package/dist/bus/index.d.ts +2 -2
- package/dist/bus/index.d.ts.map +1 -1
- package/dist/bus/index.js +6 -6
- package/dist/bus/index.js.map +1 -1
- package/dist/bus/lock.d.ts +5 -5
- package/dist/bus/lock.d.ts.map +1 -1
- package/dist/bus/lock.js.map +1 -1
- package/dist/bus/ownership.d.ts +8 -8
- package/dist/bus/ownership.d.ts.map +1 -1
- package/dist/bus/ownership.js.map +1 -1
- package/dist/compaction/consolidation.d.ts +23 -11
- package/dist/compaction/consolidation.d.ts.map +1 -1
- package/dist/compaction/consolidation.js +43 -13
- package/dist/compaction/consolidation.js.map +1 -1
- package/dist/compaction/context-window.d.ts +4 -4
- package/dist/compaction/context-window.js +4 -4
- package/dist/compaction/index.d.ts +1 -1
- package/dist/compaction/index.d.ts.map +1 -1
- package/dist/compaction/index.js +2 -2
- package/dist/compaction/index.js.map +1 -1
- package/dist/compaction/manager.d.ts +4 -4
- package/dist/compaction/manager.js +4 -4
- package/dist/compaction/manual.d.ts +2 -2
- package/dist/compaction/manual.js +3 -3
- package/dist/compaction/manual.js.map +1 -1
- package/dist/compaction/plan.d.ts +5 -5
- package/dist/compaction/plan.js +4 -4
- package/dist/compaction/plan.js.map +1 -1
- package/dist/compaction/reducer.d.ts +8 -8
- package/dist/compaction/reducer.d.ts.map +1 -1
- package/dist/compaction/retention.js +2 -2
- package/dist/compaction/salience/bm25.d.ts +2 -2
- package/dist/compaction/salience/bm25.js +2 -2
- package/dist/compaction/salience/goal.d.ts +3 -3
- package/dist/compaction/salience/goal.js +3 -3
- package/dist/compaction/salience/minhash.d.ts +1 -1
- package/dist/compaction/salience/minhash.js +1 -1
- package/dist/compaction/salience/score.d.ts +2 -2
- package/dist/compaction/salience/score.js +3 -3
- package/dist/compaction/salience/score.js.map +1 -1
- package/dist/compaction/salience/tokenize.d.ts +1 -1
- package/dist/compaction/salience/tokenize.js +1 -1
- package/dist/compaction/verifier.d.ts +6 -6
- package/dist/compaction/verifier.js +5 -5
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/compaction/wire.d.ts +1 -1
- package/dist/config/registry.d.ts +4 -4
- package/dist/config/registry.js +2 -2
- package/dist/config/runtime.d.ts +24 -24
- package/dist/config/runtime.js +3 -3
- package/dist/connector/http-operation.d.ts +1 -1
- package/dist/connector/http-operation.js +1 -1
- package/dist/connector/mcp/adapter.js +1 -1
- package/dist/connector/mcp/client.d.ts +1 -1
- package/dist/connector/mcp/client.js +1 -1
- package/dist/connector/mcp/discovery.d.ts +1 -1
- package/dist/connector/mcp/discovery.js +1 -1
- package/dist/connector/mcp/discovery.js.map +1 -1
- package/dist/connector/mcp/policy.d.ts +1 -1
- package/dist/connector/mcp/prompt-adapter.d.ts +1 -1
- package/dist/connector/mcp/prompt-adapter.js +3 -3
- package/dist/connector/mcp/prompt-adapter.js.map +1 -1
- package/dist/constants/a2a/index.d.ts +8 -2
- package/dist/constants/a2a/index.d.ts.map +1 -1
- package/dist/constants/a2a/index.js +9 -2
- package/dist/constants/a2a/index.js.map +1 -1
- package/dist/constants/continuation.d.ts +1 -1
- package/dist/constants/continuation.js +1 -1
- package/dist/constants/index.d.ts +0 -1
- package/dist/constants/index.d.ts.map +1 -1
- package/dist/constants/index.js +0 -1
- package/dist/constants/index.js.map +1 -1
- package/dist/constants/limits.d.ts +2 -2
- package/dist/constants/limits.js +2 -2
- package/dist/constants/telemetry/index.d.ts +9 -3
- package/dist/constants/telemetry/index.d.ts.map +1 -1
- package/dist/constants/telemetry/index.js +14 -12
- package/dist/constants/telemetry/index.js.map +1 -1
- package/dist/constants/tools/index.d.ts +2 -2
- package/dist/constants/tools/index.js +2 -2
- package/dist/contracts/a2a.d.ts +2 -2
- package/dist/contracts/api.d.ts +11 -126
- package/dist/contracts/api.d.ts.map +1 -1
- package/dist/contracts/index.d.ts +3 -2
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +7 -2
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/schemas.d.ts +6 -165
- package/dist/contracts/schemas.d.ts.map +1 -1
- package/dist/contracts/schemas.js +6 -36
- package/dist/contracts/schemas.js.map +1 -1
- package/dist/contracts/session/api.d.ts +94 -0
- package/dist/contracts/session/api.d.ts.map +1 -0
- package/dist/contracts/session/api.js +10 -0
- package/dist/contracts/session/api.js.map +1 -0
- package/dist/contracts/session/index.d.ts +7 -0
- package/dist/contracts/session/index.d.ts.map +1 -0
- package/dist/contracts/session/index.js +7 -0
- package/dist/contracts/session/index.js.map +1 -0
- package/dist/contracts/session/schemas.d.ts +173 -0
- package/dist/contracts/session/schemas.d.ts.map +1 -0
- package/dist/contracts/session/schemas.js +52 -0
- package/dist/contracts/session/schemas.js.map +1 -0
- package/dist/contracts/session/turn-status.d.ts +45 -0
- package/dist/contracts/session/turn-status.d.ts.map +1 -0
- package/dist/contracts/session/turn-status.js +46 -0
- package/dist/contracts/session/turn-status.js.map +1 -0
- package/dist/contracts/session/turn.d.ts +64 -0
- package/dist/contracts/session/turn.d.ts.map +1 -0
- package/dist/contracts/session/turn.js +2 -0
- package/dist/contracts/session/turn.js.map +1 -0
- package/dist/directory/derive-supervisor.d.ts +1 -1
- package/dist/directory/derive-supervisor.js +2 -2
- package/dist/directory/derive-supervisor.js.map +1 -1
- package/dist/directory/derive.d.ts +2 -2
- package/dist/directory/derive.d.ts.map +1 -1
- package/dist/directory/derive.js +2 -2
- package/dist/directory/derive.js.map +1 -1
- package/dist/directory/index.d.ts +2 -2
- package/dist/directory/index.d.ts.map +1 -1
- package/dist/directory/index.js +1 -1
- package/dist/directory/index.js.map +1 -1
- package/dist/directory/load.js +2 -2
- package/dist/directory/load.js.map +1 -1
- package/dist/directory/types.d.ts +2 -2
- package/dist/directory/types.d.ts.map +1 -1
- package/dist/eval/experiment.d.ts +5 -5
- package/dist/eval/experiment.d.ts.map +1 -1
- package/dist/eval/experiment.js +18 -18
- package/dist/eval/experiment.js.map +1 -1
- package/dist/eval/from-turn.d.ts +30 -0
- package/dist/eval/from-turn.d.ts.map +1 -0
- package/dist/eval/from-turn.js +46 -0
- package/dist/eval/from-turn.js.map +1 -0
- package/dist/eval/harness-verification.js +7 -7
- package/dist/eval/harness-verification.js.map +1 -1
- package/dist/eval/index.d.ts +2 -2
- package/dist/eval/index.d.ts.map +1 -1
- package/dist/eval/index.js +1 -1
- package/dist/eval/index.js.map +1 -1
- package/dist/eval/judge.d.ts +3 -3
- package/dist/eval/judge.d.ts.map +1 -1
- package/dist/eval/judge.js +6 -6
- package/dist/eval/judge.js.map +1 -1
- package/dist/eval/scorers.d.ts +8 -8
- package/dist/eval/scorers.d.ts.map +1 -1
- package/dist/eval/scorers.js +21 -21
- package/dist/eval/scorers.js.map +1 -1
- package/dist/eval/types.d.ts +12 -12
- package/dist/eval/types.d.ts.map +1 -1
- package/dist/eval/uncertainty.d.ts +2 -2
- package/dist/eval/uncertainty.js +2 -2
- package/dist/execution/code-runtime/types.d.ts +4 -4
- package/dist/execution/code-runtime/types.js +2 -2
- package/dist/execution/code-runtime/worker.d.ts +1 -1
- package/dist/execution/code-runtime/worker.js +1 -1
- package/dist/invariants/index.d.ts +1 -1
- package/dist/manager/agent/child-session.d.ts +49 -0
- package/dist/manager/agent/child-session.d.ts.map +1 -0
- package/dist/manager/agent/child-session.js +94 -0
- package/dist/manager/agent/child-session.js.map +1 -0
- package/dist/manager/agent/lifecycle.d.ts +90 -13
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +332 -88
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/index.d.ts +1 -2
- package/dist/manager/index.d.ts.map +1 -1
- package/dist/manager/index.js +1 -2
- package/dist/manager/index.js.map +1 -1
- package/dist/manager/plan/lifecycle.d.ts +11 -7
- package/dist/manager/plan/lifecycle.d.ts.map +1 -1
- package/dist/manager/plan/lifecycle.js +12 -9
- package/dist/manager/plan/lifecycle.js.map +1 -1
- package/dist/manager/resident/consumption.d.ts +12 -6
- package/dist/manager/resident/consumption.d.ts.map +1 -1
- package/dist/manager/resident/consumption.js +7 -5
- package/dist/manager/resident/consumption.js.map +1 -1
- package/dist/manager/resident/evidence-recall.d.ts +5 -5
- package/dist/manager/resident/evidence-recall.d.ts.map +1 -1
- package/dist/manager/resident/evidence-recall.js +9 -9
- package/dist/manager/resident/evidence-recall.js.map +1 -1
- package/dist/manager/resident/host.d.ts +2 -2
- package/dist/manager/resident/host.d.ts.map +1 -1
- package/dist/manager/resident/host.js +1 -1
- package/dist/manager/resident/learning-cycle.d.ts +8 -4
- package/dist/manager/resident/learning-cycle.d.ts.map +1 -1
- package/dist/manager/resident/learning-cycle.js +4 -2
- package/dist/manager/resident/learning-cycle.js.map +1 -1
- package/dist/manager/resident/learning-observation.d.ts +12 -7
- package/dist/manager/resident/learning-observation.d.ts.map +1 -1
- package/dist/manager/resident/learning-observation.js +8 -4
- package/dist/manager/resident/learning-observation.js.map +1 -1
- package/dist/manager/resident/learning-store.d.ts +13 -0
- package/dist/manager/resident/learning-store.d.ts.map +1 -1
- package/dist/manager/resident/learning-store.js +35 -16
- package/dist/manager/resident/learning-store.js.map +1 -1
- package/dist/manager/resident/learning.d.ts +14 -14
- package/dist/manager/resident/outbox.d.ts +4 -4
- package/dist/manager/resident/store.d.ts +8 -8
- package/dist/manager/resident/tool-evidence.d.ts +15 -10
- package/dist/manager/resident/tool-evidence.d.ts.map +1 -1
- package/dist/manager/resident/tool-evidence.js +14 -14
- package/dist/manager/resident/tool-evidence.js.map +1 -1
- package/dist/manager/session/turn-recorder.d.ts +261 -0
- package/dist/manager/session/turn-recorder.d.ts.map +1 -0
- package/dist/manager/session/turn-recorder.js +1115 -0
- package/dist/manager/session/turn-recorder.js.map +1 -0
- package/dist/plugin/lifecycle.d.ts +4 -4
- package/dist/plugin/lifecycle.d.ts.map +1 -1
- package/dist/plugin/lifecycle.js +17 -10
- package/dist/plugin/lifecycle.js.map +1 -1
- package/dist/plugin/shell-hook.d.ts +35 -12
- package/dist/plugin/shell-hook.d.ts.map +1 -1
- package/dist/plugin/shell-hook.js +52 -20
- package/dist/plugin/shell-hook.js.map +1 -1
- package/dist/pricing/index.d.ts +4 -4
- package/dist/pricing/index.js +5 -5
- package/dist/pricing/index.js.map +1 -1
- package/dist/probe/context.d.ts +3 -2
- package/dist/probe/context.d.ts.map +1 -1
- package/dist/probe/context.js +2 -1
- package/dist/probe/context.js.map +1 -1
- package/dist/probe/registry.js +1 -1
- package/dist/probe/registry.js.map +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
- package/dist/prompt/coding-agent-doctrine.js +1 -1
- package/dist/prompt/contributions.d.ts +27 -6
- package/dist/prompt/contributions.d.ts.map +1 -1
- package/dist/prompt/contributions.js +1 -1
- package/dist/prompt/contributions.js.map +1 -1
- package/dist/prompt/resident-learning.js +2 -2
- package/dist/prompt/resident-learning.js.map +1 -1
- package/dist/provider/collect-chat-completion.d.ts +2 -2
- package/dist/provider/collect-chat-completion.js +3 -3
- package/dist/provider/collect-chat-completion.js.map +1 -1
- package/dist/provider/conformance.d.ts +8 -1
- package/dist/provider/conformance.d.ts.map +1 -1
- package/dist/provider/conformance.js +13 -1
- package/dist/provider/conformance.js.map +1 -1
- package/dist/provider/errors.d.ts +1 -1
- package/dist/provider/errors.js +2 -2
- package/dist/provider/fallback.d.ts +4 -4
- package/dist/provider/fallback.js +6 -6
- package/dist/provider/fallback.js.map +1 -1
- package/dist/provider/idle-timeout.d.ts +2 -2
- package/dist/provider/idle-timeout.d.ts.map +1 -1
- package/dist/provider/idle-timeout.js +3 -3
- package/dist/provider/idle-timeout.js.map +1 -1
- package/dist/provider/instrumentation.d.ts +5 -2
- package/dist/provider/instrumentation.d.ts.map +1 -1
- package/dist/provider/instrumentation.js +9 -5
- package/dist/provider/instrumentation.js.map +1 -1
- package/dist/provider/mock.d.ts +1 -1
- package/dist/provider/mock.js +1 -1
- package/dist/provider/retry.d.ts +2 -2
- package/dist/provider/retry.js +6 -6
- package/dist/provider/retry.js.map +1 -1
- package/dist/provider/stream-text.d.ts +1 -1
- package/dist/provider/stream-text.d.ts.map +1 -1
- package/dist/provider/stream-text.js +1 -1
- package/dist/provider/stream-text.js.map +1 -1
- package/dist/provider/thinking-support.js +2 -2
- package/dist/provider/thinking-support.js.map +1 -1
- package/dist/provider/token-budget.d.ts +2 -2
- package/dist/provider/token-budget.d.ts.map +1 -1
- package/dist/provider/token-budget.js.map +1 -1
- package/dist/public-runtime.d.ts +69 -55
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +104 -99
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +2 -2
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +7 -7
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +18 -16
- package/dist/public-types.d.ts.map +1 -1
- package/dist/rag/embedding.js +1 -1
- package/dist/rag/embedding.js.map +1 -1
- package/dist/read-model/index.d.ts +2 -2
- package/dist/read-model/index.d.ts.map +1 -1
- package/dist/read-model/index.js +1 -1
- package/dist/read-model/index.js.map +1 -1
- package/dist/read-model/registry.d.ts +11 -11
- package/dist/read-model/registry.d.ts.map +1 -1
- package/dist/read-model/registry.js +2 -2
- package/dist/read-model/registry.js.map +1 -1
- package/dist/read-model/session-status.d.ts +34 -0
- package/dist/read-model/session-status.d.ts.map +1 -0
- package/dist/read-model/session-status.js +58 -0
- package/dist/read-model/session-status.js.map +1 -0
- package/dist/registry/command/kernel-commands.d.ts +4 -4
- package/dist/registry/command/kernel-commands.d.ts.map +1 -1
- package/dist/registry/command/kernel-commands.js +6 -6
- package/dist/registry/command/kernel-commands.js.map +1 -1
- package/dist/registry/tool/dialect.js +1 -1
- package/dist/registry/tool/execute.d.ts +2 -2
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +19 -7
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/portable.d.ts +1 -1
- package/dist/registry/tool/portable.js +1 -1
- package/dist/registry/tool/presentation.d.ts +1 -1
- package/dist/registry/tool/presentation.js +1 -1
- package/dist/registry/tool/schema.js +1 -1
- package/dist/registry/tool/screen.js +3 -3
- package/dist/registry/tool/screen.js.map +1 -1
- package/dist/runtime/bidi/index.d.ts +2 -2
- package/dist/runtime/bidi/index.d.ts.map +1 -1
- package/dist/runtime/bidi/index.js +1 -1
- package/dist/runtime/bidi/index.js.map +1 -1
- package/dist/runtime/bidi/session.d.ts +14 -11
- package/dist/runtime/bidi/session.d.ts.map +1 -1
- package/dist/runtime/bidi/session.js +27 -21
- package/dist/runtime/bidi/session.js.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.d.ts +15 -15
- package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.js +13 -13
- package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
- package/dist/runtime/jobs/registry.d.ts +10 -10
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +5 -5
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/abandon-turn.d.ts +35 -0
- package/dist/runtime/query/abandon-turn.d.ts.map +1 -0
- package/dist/runtime/query/abandon-turn.js +81 -0
- package/dist/runtime/query/abandon-turn.js.map +1 -0
- package/dist/runtime/query/approval-policy.d.ts +10 -10
- package/dist/runtime/query/approval-policy.d.ts.map +1 -1
- package/dist/runtime/query/approval-policy.js +5 -5
- package/dist/runtime/query/approval-policy.js.map +1 -1
- package/dist/runtime/query/callback-inference.d.ts +1 -1
- package/dist/runtime/query/callback-inference.d.ts.map +1 -1
- package/dist/runtime/query/callback-inference.js +12 -6
- package/dist/runtime/query/callback-inference.js.map +1 -1
- package/dist/runtime/query/cancelled-before-start.d.ts +20 -20
- package/dist/runtime/query/cancelled-before-start.d.ts.map +1 -1
- package/dist/runtime/query/cancelled-before-start.js +72 -55
- package/dist/runtime/query/cancelled-before-start.js.map +1 -1
- package/dist/runtime/query/checkpoint.d.ts +153 -220
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +399 -370
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/compact-session.d.ts +20 -0
- package/dist/runtime/query/compact-session.d.ts.map +1 -0
- package/dist/runtime/query/compact-session.js +81 -0
- package/dist/runtime/query/compact-session.js.map +1 -0
- package/dist/runtime/query/context.d.ts +42 -85
- package/dist/runtime/query/context.d.ts.map +1 -1
- package/dist/runtime/query/context.js +36 -75
- package/dist/runtime/query/context.js.map +1 -1
- package/dist/runtime/query/events.d.ts +54 -26
- package/dist/runtime/query/events.d.ts.map +1 -1
- package/dist/runtime/query/events.js +121 -114
- package/dist/runtime/query/events.js.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.d.ts.map +1 -1
- package/dist/runtime/query/executor/tool-call-admission.js +6 -5
- package/dist/runtime/query/executor/tool-call-admission.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +56 -34
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +165 -85
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/file-evidence-seed.d.ts +1 -1
- package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -1
- package/dist/runtime/query/file-evidence-seed.js +1 -1
- package/dist/runtime/query/finalize-turn.d.ts +55 -0
- package/dist/runtime/query/finalize-turn.d.ts.map +1 -0
- package/dist/runtime/query/finalize-turn.js +129 -0
- package/dist/runtime/query/finalize-turn.js.map +1 -0
- package/dist/runtime/query/fork/list.d.ts +15 -0
- package/dist/runtime/query/fork/list.d.ts.map +1 -0
- package/dist/runtime/query/fork/list.js +11 -0
- package/dist/runtime/query/fork/list.js.map +1 -0
- package/dist/runtime/query/fork/mutate.d.ts +17 -0
- package/dist/runtime/query/fork/mutate.d.ts.map +1 -0
- package/dist/runtime/query/fork/mutate.js +69 -0
- package/dist/runtime/query/fork/mutate.js.map +1 -0
- package/dist/runtime/query/fork/prepare.d.ts +52 -0
- package/dist/runtime/query/fork/prepare.d.ts.map +1 -0
- package/dist/runtime/query/fork/prepare.js +43 -0
- package/dist/runtime/query/fork/prepare.js.map +1 -0
- package/dist/runtime/query/guard.d.ts +16 -16
- package/dist/runtime/query/guard.d.ts.map +1 -1
- package/dist/runtime/query/guard.js +16 -16
- package/dist/runtime/query/guard.js.map +1 -1
- package/dist/runtime/query/guardrail-presets.d.ts +10 -10
- package/dist/runtime/query/guardrail-presets.js +12 -12
- package/dist/runtime/query/guardrail-presets.js.map +1 -1
- package/dist/runtime/query/guardrails.d.ts +4 -4
- package/dist/runtime/query/guardrails.js +11 -11
- package/dist/runtime/query/guardrails.js.map +1 -1
- package/dist/runtime/query/index.d.ts +178 -155
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +1294 -1260
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +16 -16
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +285 -243
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.d.ts +22 -22
- package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.js +63 -63
- package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.js +16 -16
- package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
- package/dist/runtime/query/iteration/phases/checkpoint.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/checkpoint.js +25 -8
- package/dist/runtime/query/iteration/phases/checkpoint.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +74 -72
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +32 -29
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js +29 -29
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/plan.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/plan.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/plan.js +5 -4
- package/dist/runtime/query/iteration/phases/plan.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts +2 -2
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +129 -24
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.d.ts +27 -3
- package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.js +54 -20
- package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
- package/dist/runtime/query/iteration/step-context.d.ts +11 -0
- package/dist/runtime/query/iteration/step-context.d.ts.map +1 -0
- package/dist/runtime/query/iteration/step-context.js +14 -0
- package/dist/runtime/query/iteration/step-context.js.map +1 -0
- package/dist/runtime/query/iteration/step-shaping.d.ts +4 -3
- package/dist/runtime/query/iteration/step-shaping.d.ts.map +1 -1
- package/dist/runtime/query/iteration/step-shaping.js +20 -19
- package/dist/runtime/query/iteration/step-shaping.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts +5 -3
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +32 -28
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/plugin-hooks.js +1 -1
- package/dist/runtime/query/plugin-hooks.js.map +1 -1
- package/dist/runtime/query/prepare-turn.d.ts +105 -0
- package/dist/runtime/query/prepare-turn.d.ts.map +1 -0
- package/dist/runtime/query/prepare-turn.js +779 -0
- package/dist/runtime/query/prepare-turn.js.map +1 -0
- package/dist/runtime/query/project-instructions.d.ts +5 -4
- package/dist/runtime/query/project-instructions.d.ts.map +1 -1
- package/dist/runtime/query/project-instructions.js.map +1 -1
- package/dist/runtime/query/prompt-cache.js +1 -1
- package/dist/runtime/query/prompt-cache.js.map +1 -1
- package/dist/runtime/query/prompt.d.ts +3 -3
- package/dist/runtime/query/prompt.d.ts.map +1 -1
- package/dist/runtime/query/prompt.js +3 -3
- package/dist/runtime/query/prompt.js.map +1 -1
- package/dist/runtime/query/question-park.d.ts +7 -7
- package/dist/runtime/query/question-park.d.ts.map +1 -1
- package/dist/runtime/query/question-park.js +5 -5
- package/dist/runtime/query/question-park.js.map +1 -1
- package/dist/runtime/query/release-turn.d.ts +53 -0
- package/dist/runtime/query/release-turn.d.ts.map +1 -0
- package/dist/runtime/query/release-turn.js +95 -0
- package/dist/runtime/query/release-turn.js.map +1 -0
- package/dist/runtime/query/repeat-call.d.ts +2 -2
- package/dist/runtime/query/repeat-call.js +7 -7
- package/dist/runtime/query/repeat-call.js.map +1 -1
- package/dist/runtime/query/result.d.ts +25 -17
- package/dist/runtime/query/result.d.ts.map +1 -1
- package/dist/runtime/query/result.js +110 -115
- package/dist/runtime/query/result.js.map +1 -1
- package/dist/runtime/query/resume-pending.d.ts +34 -17
- package/dist/runtime/query/resume-pending.d.ts.map +1 -1
- package/dist/runtime/query/resume-pending.js +70 -30
- package/dist/runtime/query/resume-pending.js.map +1 -1
- package/dist/runtime/query/resume-session.d.ts +65 -0
- package/dist/runtime/query/resume-session.d.ts.map +1 -0
- package/dist/runtime/query/resume-session.js +88 -0
- package/dist/runtime/query/resume-session.js.map +1 -0
- package/dist/runtime/query/review-policy.d.ts +57 -16
- package/dist/runtime/query/review-policy.d.ts.map +1 -1
- package/dist/runtime/query/review-policy.js +115 -11
- package/dist/runtime/query/review-policy.js.map +1 -1
- package/dist/runtime/query/sandbox-lifecycle.d.ts +5 -5
- package/dist/runtime/query/sandbox-lifecycle.d.ts.map +1 -1
- package/dist/runtime/query/sandbox-lifecycle.js +4 -4
- package/dist/runtime/query/sandbox-lifecycle.js.map +1 -1
- package/dist/runtime/query/session-storage.d.ts +75 -0
- package/dist/runtime/query/session-storage.d.ts.map +1 -0
- package/dist/runtime/query/session-storage.js +236 -0
- package/dist/runtime/query/session-storage.js.map +1 -0
- package/dist/runtime/query/steering.d.ts +9 -3
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +12 -2
- package/dist/runtime/query/steering.js.map +1 -1
- package/dist/runtime/query/token-budget.d.ts +19 -5
- package/dist/runtime/query/token-budget.d.ts.map +1 -1
- package/dist/runtime/query/token-budget.js +43 -74
- package/dist/runtime/query/token-budget.js.map +1 -1
- package/dist/runtime/query/tool-call-budget.d.ts +6 -5
- package/dist/runtime/query/tool-call-budget.d.ts.map +1 -1
- package/dist/runtime/query/tool-call-budget.js +10 -12
- package/dist/runtime/query/tool-call-budget.js.map +1 -1
- package/dist/runtime/query/tool-executions.d.ts +26 -0
- package/dist/runtime/query/tool-executions.d.ts.map +1 -0
- package/dist/runtime/query/tool-executions.js +66 -0
- package/dist/runtime/query/tool-executions.js.map +1 -0
- package/dist/runtime/query/tool-grants.d.ts +3 -3
- package/dist/runtime/query/tool-grants.js +3 -3
- package/dist/runtime/query/tool-output-budget.d.ts +2 -2
- package/dist/runtime/query/tool-output-budget.js +4 -4
- package/dist/runtime/query/tool-output-budget.js.map +1 -1
- package/dist/runtime/query/tool-pause.d.ts +4 -3
- package/dist/runtime/query/tool-pause.d.ts.map +1 -1
- package/dist/runtime/query/tool-pause.js +5 -4
- package/dist/runtime/query/tool-pause.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +15 -10
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +7 -4
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/runtime/query/turn-state.d.ts +56 -0
- package/dist/runtime/query/turn-state.d.ts.map +1 -0
- package/dist/runtime/query/turn-state.js +99 -0
- package/dist/runtime/query/turn-state.js.map +1 -0
- package/dist/sandbox/isolation.d.ts +1 -1
- package/dist/sandbox/isolation.js +2 -2
- package/dist/sandbox/isolation.js.map +1 -1
- package/dist/sandbox/provider/local.d.ts +2 -2
- package/dist/sandbox/provider/local.js +7 -7
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/scheduler/completion-inbox.d.ts +21 -21
- package/dist/scheduler/completion-inbox.js +36 -36
- package/dist/scheduler/completion-inbox.js.map +1 -1
- package/dist/scheduler/delegating.d.ts +6 -3
- package/dist/scheduler/delegating.d.ts.map +1 -1
- package/dist/scheduler/delegating.js +15 -8
- package/dist/scheduler/delegating.js.map +1 -1
- package/dist/scheduler/local.d.ts +10 -8
- package/dist/scheduler/local.d.ts.map +1 -1
- package/dist/scheduler/local.js +37 -11
- package/dist/scheduler/local.js.map +1 -1
- package/dist/session/events/index.d.ts +3 -3
- package/dist/session/events/index.d.ts.map +1 -1
- package/dist/session/events/index.js +4 -8
- package/dist/session/events/index.js.map +1 -1
- package/dist/session/handoff/broadcast.d.ts +3 -3
- package/dist/session/handoff/broadcast.d.ts.map +1 -1
- package/dist/session/handoff/broadcast.js +4 -4
- package/dist/session/handoff/broadcast.js.map +1 -1
- package/dist/session/handoff/events.d.ts +1 -1
- package/dist/session/handoff/events.js +1 -1
- package/dist/session/handoff/index.d.ts +1 -1
- package/dist/session/handoff/index.d.ts.map +1 -1
- package/dist/session/handoff/single.d.ts +12 -12
- package/dist/session/handoff/single.d.ts.map +1 -1
- package/dist/session/handoff/single.js +9 -9
- package/dist/session/handoff/single.js.map +1 -1
- package/dist/session/handoff/version.d.ts +7 -7
- package/dist/session/handoff/version.d.ts.map +1 -1
- package/dist/session/handoff/version.js +2 -2
- package/dist/session/handoff/version.js.map +1 -1
- package/dist/session/home.d.ts +23 -0
- package/dist/session/home.d.ts.map +1 -0
- package/dist/session/home.js +45 -0
- package/dist/session/home.js.map +1 -0
- package/dist/session/index.d.ts +1 -0
- package/dist/session/index.d.ts.map +1 -1
- package/dist/session/index.js +1 -0
- package/dist/session/index.js.map +1 -1
- package/dist/session/log-hash.d.ts +25 -0
- package/dist/session/log-hash.d.ts.map +1 -0
- package/dist/session/log-hash.js +82 -0
- package/dist/session/log-hash.js.map +1 -0
- package/dist/session/messages.d.ts +11 -0
- package/dist/session/messages.d.ts.map +1 -0
- package/dist/session/messages.js +32 -0
- package/dist/session/messages.js.map +1 -0
- package/dist/session/paths.d.ts +168 -0
- package/dist/session/paths.d.ts.map +1 -0
- package/dist/session/paths.js +338 -0
- package/dist/session/paths.js.map +1 -0
- package/dist/session/retention/archive.d.ts +8 -1
- package/dist/session/retention/archive.d.ts.map +1 -1
- package/dist/session/retention/archive.js +3 -5
- package/dist/session/retention/archive.js.map +1 -1
- package/dist/session/status/derive.d.ts +13 -13
- package/dist/session/status/derive.d.ts.map +1 -1
- package/dist/session/status/derive.js +20 -20
- package/dist/session/status/derive.js.map +1 -1
- package/dist/session/workspace/git-worktree.d.ts +8 -1
- package/dist/session/workspace/git-worktree.d.ts.map +1 -1
- package/dist/session/workspace/git-worktree.js +29 -1
- package/dist/session/workspace/git-worktree.js.map +1 -1
- package/dist/session/workspace/index.d.ts +2 -4
- package/dist/session/workspace/index.d.ts.map +1 -1
- package/dist/session/workspace/index.js +2 -3
- package/dist/session/workspace/index.js.map +1 -1
- package/dist/session/workspace/shared-session.d.ts +112 -0
- package/dist/session/workspace/shared-session.d.ts.map +1 -0
- package/dist/session/workspace/shared-session.js +290 -0
- package/dist/session/workspace/shared-session.js.map +1 -0
- package/dist/session-query/index.d.ts +67 -0
- package/dist/session-query/index.d.ts.map +1 -0
- package/dist/session-query/index.js +100 -0
- package/dist/session-query/index.js.map +1 -0
- package/dist/skills/registry.d.ts +1 -1
- package/dist/skills/registry.js +1 -1
- package/dist/store/activity/memory.d.ts +3 -3
- package/dist/store/activity/memory.d.ts.map +1 -1
- package/dist/store/activity/memory.js +4 -4
- package/dist/store/activity/memory.js.map +1 -1
- package/dist/store/attachment/index.d.ts +4 -4
- package/dist/store/attachment/index.d.ts.map +1 -1
- package/dist/store/attachment/index.js +3 -3
- package/dist/store/attachment/index.js.map +1 -1
- package/dist/store/budget/disk.d.ts +59 -0
- package/dist/store/budget/disk.d.ts.map +1 -0
- package/dist/store/budget/disk.js +179 -0
- package/dist/store/budget/disk.js.map +1 -0
- package/dist/store/budget/index.d.ts +6 -0
- package/dist/store/budget/index.d.ts.map +1 -0
- package/dist/store/budget/index.js +6 -0
- package/dist/store/budget/index.js.map +1 -0
- package/dist/store/budget/ledger.d.ts +156 -0
- package/dist/store/budget/ledger.d.ts.map +1 -0
- package/dist/store/budget/ledger.js +683 -0
- package/dist/store/budget/ledger.js.map +1 -0
- package/dist/store/budget/memory.d.ts +18 -0
- package/dist/store/budget/memory.d.ts.map +1 -0
- package/dist/store/budget/memory.js +31 -0
- package/dist/store/budget/memory.js.map +1 -0
- package/dist/store/checkpoint/contract.d.ts +140 -0
- package/dist/store/checkpoint/contract.d.ts.map +1 -0
- package/dist/store/checkpoint/contract.js +91 -0
- package/dist/store/checkpoint/contract.js.map +1 -0
- package/dist/store/checkpoint/disk.d.ts +44 -0
- package/dist/store/checkpoint/disk.d.ts.map +1 -0
- package/dist/store/checkpoint/disk.js +168 -0
- package/dist/store/checkpoint/disk.js.map +1 -0
- package/dist/store/checkpoint/index.d.ts +9 -0
- package/dist/store/checkpoint/index.d.ts.map +1 -0
- package/dist/store/checkpoint/index.js +7 -0
- package/dist/store/checkpoint/index.js.map +1 -0
- package/dist/store/checkpoint/memory.d.ts +27 -0
- package/dist/store/checkpoint/memory.d.ts.map +1 -0
- package/dist/store/checkpoint/memory.js +80 -0
- package/dist/store/checkpoint/memory.js.map +1 -0
- package/dist/store/checkpoint/prune.d.ts +45 -0
- package/dist/store/checkpoint/prune.d.ts.map +1 -0
- package/dist/store/checkpoint/prune.js +71 -0
- package/dist/store/checkpoint/prune.js.map +1 -0
- package/dist/store/config/index.d.ts +1 -1
- package/dist/store/config/index.js +1 -1
- package/dist/store/evidence/disk.d.ts +25 -8
- package/dist/store/evidence/disk.d.ts.map +1 -1
- package/dist/store/evidence/disk.js +148 -47
- package/dist/store/evidence/disk.js.map +1 -1
- package/dist/store/evidence/index-page.d.ts +31 -140
- package/dist/store/evidence/index-page.d.ts.map +1 -1
- package/dist/store/evidence/index-page.js +59 -129
- package/dist/store/evidence/index-page.js.map +1 -1
- package/dist/store/evidence/source-text.d.ts +7 -6
- package/dist/store/evidence/source-text.d.ts.map +1 -1
- package/dist/store/evidence/source-text.js +16 -23
- package/dist/store/evidence/source-text.js.map +1 -1
- package/dist/store/evidence/types.d.ts +38 -39
- package/dist/store/evidence/types.d.ts.map +1 -1
- package/dist/store/feedback/conformance.d.ts +6 -6
- package/dist/store/feedback/conformance.d.ts.map +1 -1
- package/dist/store/feedback/conformance.js +30 -29
- package/dist/store/feedback/conformance.js.map +1 -1
- package/dist/store/feedback/disk.d.ts +20 -19
- package/dist/store/feedback/disk.d.ts.map +1 -1
- package/dist/store/feedback/disk.js +53 -53
- package/dist/store/feedback/disk.js.map +1 -1
- package/dist/store/feedback/index.d.ts +1 -1
- package/dist/store/feedback/index.d.ts.map +1 -1
- package/dist/store/feedback/index.js +1 -1
- package/dist/store/feedback/index.js.map +1 -1
- package/dist/store/feedback/memory.d.ts +8 -5
- package/dist/store/feedback/memory.d.ts.map +1 -1
- package/dist/store/feedback/memory.js +0 -0
- package/dist/store/feedback/memory.js.map +1 -1
- package/dist/store/feedback/types.d.ts +12 -11
- package/dist/store/feedback/types.d.ts.map +1 -1
- package/dist/store/feedback/types.js +3 -3
- package/dist/store/feedback/types.js.map +1 -1
- package/dist/store/index.d.ts +7 -8
- package/dist/store/index.d.ts.map +1 -1
- package/dist/store/index.js +4 -16
- package/dist/store/index.js.map +1 -1
- package/dist/store/memory/digest.d.ts +15 -0
- package/dist/store/memory/digest.d.ts.map +1 -0
- package/dist/store/memory/digest.js +27 -0
- package/dist/store/memory/digest.js.map +1 -0
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +42 -7
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/memory/index-file.d.ts +56 -0
- package/dist/store/memory/index-file.d.ts.map +1 -0
- package/dist/store/memory/index-file.js +92 -0
- package/dist/store/memory/index-file.js.map +1 -0
- package/dist/store/memory/index.d.ts.map +1 -1
- package/dist/store/memory/index.js +4 -2
- package/dist/store/memory/index.js.map +1 -1
- package/dist/store/memory/links.d.ts +15 -0
- package/dist/store/memory/links.d.ts.map +1 -0
- package/dist/store/memory/links.js +35 -0
- package/dist/store/memory/links.js.map +1 -0
- package/dist/store/memory/markdown-format.d.ts +88 -0
- package/dist/store/memory/markdown-format.d.ts.map +1 -0
- package/dist/store/memory/markdown-format.js +222 -0
- package/dist/store/memory/markdown-format.js.map +1 -0
- package/dist/store/memory/markdown.d.ts +109 -0
- package/dist/store/memory/markdown.d.ts.map +1 -0
- package/dist/store/memory/markdown.js +606 -0
- package/dist/store/memory/markdown.js.map +1 -0
- package/dist/store/memory/memory.d.ts.map +1 -1
- package/dist/store/memory/memory.js +17 -4
- package/dist/store/memory/memory.js.map +1 -1
- package/dist/store/memory/naming.d.ts +66 -0
- package/dist/store/memory/naming.d.ts.map +1 -0
- package/dist/store/memory/naming.js +162 -0
- package/dist/store/memory/naming.js.map +1 -0
- package/dist/store/memory/origin.d.ts +25 -0
- package/dist/store/memory/origin.d.ts.map +1 -0
- package/dist/store/memory/origin.js +26 -0
- package/dist/store/memory/origin.js.map +1 -0
- package/dist/store/session/disk.d.ts +21 -24
- package/dist/store/session/disk.d.ts.map +1 -1
- package/dist/store/session/disk.js +27 -132
- package/dist/store/session/disk.js.map +1 -1
- package/dist/store/session/index.d.ts +0 -3
- package/dist/store/session/index.d.ts.map +1 -1
- package/dist/store/session/index.js +5 -7
- package/dist/store/session/index.js.map +1 -1
- package/dist/store/session/memory.d.ts +1 -8
- package/dist/store/session/memory.d.ts.map +1 -1
- package/dist/store/session/memory.js +1 -58
- package/dist/store/session/memory.js.map +1 -1
- package/dist/store/session-claim.d.ts +30 -0
- package/dist/store/session-claim.d.ts.map +1 -0
- package/dist/store/session-claim.js +71 -0
- package/dist/store/session-claim.js.map +1 -0
- package/dist/store/session-index/fts.d.ts +60 -0
- package/dist/store/session-index/fts.d.ts.map +1 -0
- package/dist/store/session-index/fts.js +160 -0
- package/dist/store/session-index/fts.js.map +1 -0
- package/dist/store/session-index/index.d.ts +206 -0
- package/dist/store/session-index/index.d.ts.map +1 -0
- package/dist/store/session-index/index.js +22 -0
- package/dist/store/session-index/index.js.map +1 -0
- package/dist/store/session-index/rebuild.d.ts +180 -0
- package/dist/store/session-index/rebuild.d.ts.map +1 -0
- package/dist/store/session-index/rebuild.js +669 -0
- package/dist/store/session-index/rebuild.js.map +1 -0
- package/dist/store/session-index/refs.d.ts +66 -0
- package/dist/store/session-index/refs.d.ts.map +1 -0
- package/dist/store/session-index/refs.js +107 -0
- package/dist/store/session-index/refs.js.map +1 -0
- package/dist/store/session-index/scan.d.ts +42 -0
- package/dist/store/session-index/scan.d.ts.map +1 -0
- package/dist/store/session-index/scan.js +188 -0
- package/dist/store/session-index/scan.js.map +1 -0
- package/dist/store/session-index/sqlite.d.ts +76 -0
- package/dist/store/session-index/sqlite.d.ts.map +1 -0
- package/dist/store/session-index/sqlite.js +547 -0
- package/dist/store/session-index/sqlite.js.map +1 -0
- package/dist/store/session-log/chain.d.ts +111 -0
- package/dist/store/session-log/chain.d.ts.map +1 -0
- package/dist/store/session-log/chain.js +212 -0
- package/dist/store/session-log/chain.js.map +1 -0
- package/dist/store/session-log/conformance.d.ts +61 -0
- package/dist/store/session-log/conformance.d.ts.map +1 -0
- package/dist/store/session-log/conformance.js +392 -0
- package/dist/store/session-log/conformance.js.map +1 -0
- package/dist/store/session-log/core.d.ts +203 -0
- package/dist/store/session-log/core.d.ts.map +1 -0
- package/dist/store/session-log/core.js +516 -0
- package/dist/store/session-log/core.js.map +1 -0
- package/dist/store/session-log/disk.d.ts +56 -0
- package/dist/store/session-log/disk.d.ts.map +1 -0
- package/dist/store/session-log/disk.js +169 -0
- package/dist/store/session-log/disk.js.map +1 -0
- package/dist/store/session-log/fold.d.ts +115 -0
- package/dist/store/session-log/fold.d.ts.map +1 -0
- package/dist/store/session-log/fold.js +265 -0
- package/dist/store/session-log/fold.js.map +1 -0
- package/dist/store/session-log/heal.d.ts +34 -0
- package/dist/store/session-log/heal.d.ts.map +1 -0
- package/dist/store/session-log/heal.js +12 -0
- package/dist/store/session-log/heal.js.map +1 -0
- package/dist/store/session-log/held-leases.d.ts +56 -0
- package/dist/store/session-log/held-leases.d.ts.map +1 -0
- package/dist/store/session-log/held-leases.js +67 -0
- package/dist/store/session-log/held-leases.js.map +1 -0
- package/dist/store/session-log/index.d.ts +10 -0
- package/dist/store/session-log/index.d.ts.map +1 -0
- package/dist/store/session-log/index.js +16 -0
- package/dist/store/session-log/index.js.map +1 -0
- package/dist/store/session-log/lease.d.ts +126 -0
- package/dist/store/session-log/lease.d.ts.map +1 -0
- package/dist/store/session-log/lease.js +226 -0
- package/dist/store/session-log/lease.js.map +1 -0
- package/dist/store/session-log/memory.d.ts +43 -0
- package/dist/store/session-log/memory.d.ts.map +1 -0
- package/dist/store/session-log/memory.js +78 -0
- package/dist/store/session-log/memory.js.map +1 -0
- package/dist/store/session-log/spill.d.ts +109 -0
- package/dist/store/session-log/spill.d.ts.map +1 -0
- package/dist/store/session-log/spill.js +223 -0
- package/dist/store/session-log/spill.js.map +1 -0
- package/dist/store/task/context.d.ts +25 -0
- package/dist/store/task/context.d.ts.map +1 -0
- package/dist/store/task/context.js +18 -0
- package/dist/store/task/context.js.map +1 -0
- package/dist/store/task/disk.d.ts +29 -26
- package/dist/store/task/disk.d.ts.map +1 -1
- package/dist/store/task/disk.js +102 -137
- package/dist/store/task/disk.js.map +1 -1
- package/dist/store/task/memory.d.ts +2 -2
- package/dist/store/task/memory.d.ts.map +1 -1
- package/dist/store/task/memory.js +10 -6
- package/dist/store/task/memory.js.map +1 -1
- package/dist/store/topic/index.js +2 -2
- package/dist/store/topic/index.js.map +1 -1
- package/dist/store/topic/objective.d.ts.map +1 -1
- package/dist/store/topic/objective.js +10 -3
- package/dist/store/topic/objective.js.map +1 -1
- package/dist/store/topic/state.js +1 -1
- package/dist/streaming/coalesce.d.ts +3 -3
- package/dist/streaming/coalesce.d.ts.map +1 -1
- package/dist/streaming/coalesce.js +1 -1
- package/dist/streaming/coalesce.js.map +1 -1
- package/dist/telemetry/attributes.d.ts +9 -8
- package/dist/telemetry/attributes.d.ts.map +1 -1
- package/dist/telemetry/attributes.js +6 -5
- package/dist/telemetry/attributes.js.map +1 -1
- package/dist/telemetry/metrics.d.ts +2 -2
- package/dist/telemetry/metrics.d.ts.map +1 -1
- package/dist/telemetry/metrics.js +5 -5
- package/dist/telemetry/metrics.js.map +1 -1
- package/dist/telemetry/runtime-accessors.js +1 -1
- package/dist/telemetry/runtime-accessors.js.map +1 -1
- package/dist/test-support/ids.d.ts +4 -4
- package/dist/test-support/ids.d.ts.map +1 -1
- package/dist/test-support/ids.js +3 -3
- package/dist/test-support/ids.js.map +1 -1
- package/dist/testing.d.ts +4 -6
- package/dist/testing.d.ts.map +1 -1
- package/dist/testing.js +3 -5
- package/dist/testing.js.map +1 -1
- package/dist/tools/advisory/index.js +1 -1
- package/dist/tools/advisory/index.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts +6 -0
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +37 -5
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/content-fingerprint.d.ts +2 -2
- package/dist/tools/builtins/content-fingerprint.js +2 -2
- package/dist/tools/builtins/edit-apply.js +1 -1
- package/dist/tools/builtins/edit-apply.js.map +1 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +3 -0
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/glob.d.ts.map +1 -1
- package/dist/tools/builtins/glob.js +3 -0
- package/dist/tools/builtins/glob.js.map +1 -1
- package/dist/tools/builtins/grep.d.ts.map +1 -1
- package/dist/tools/builtins/grep.js +3 -0
- package/dist/tools/builtins/grep.js.map +1 -1
- package/dist/tools/builtins/job.js +5 -5
- package/dist/tools/builtins/job.js.map +1 -1
- package/dist/tools/builtins/ls.d.ts +1 -1
- package/dist/tools/builtins/ls.d.ts.map +1 -1
- package/dist/tools/builtins/ls.js +3 -0
- package/dist/tools/builtins/ls.js.map +1 -1
- package/dist/tools/builtins/lsp.d.ts +1 -1
- package/dist/tools/builtins/lsp.d.ts.map +1 -1
- package/dist/tools/builtins/lsp.js +5 -2
- package/dist/tools/builtins/lsp.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +3 -0
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/run-code.js +9 -9
- package/dist/tools/builtins/run-code.js.map +1 -1
- package/dist/tools/builtins/skill.js +3 -3
- package/dist/tools/builtins/skill.js.map +1 -1
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +4 -4
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job-bounds.js +2 -2
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
- package/dist/tools/builtins/wait-for-job.js +3 -3
- package/dist/tools/builtins/wait-for-job.js.map +1 -1
- package/dist/tools/builtins/web-guidance.d.ts +2 -2
- package/dist/tools/builtins/web-guidance.js +2 -2
- package/dist/tools/builtins/web.js +3 -3
- package/dist/tools/builtins/web.js.map +1 -1
- package/dist/tools/builtins/write-file.d.ts.map +1 -1
- package/dist/tools/builtins/write-file.js +3 -0
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/agent.d.ts +1 -1
- package/dist/tools/coordinator/agent.js +7 -7
- package/dist/tools/coordinator/agent.js.map +1 -1
- package/dist/tools/coordinator/ask-user-question.d.ts +10 -9
- package/dist/tools/coordinator/ask-user-question.d.ts.map +1 -1
- package/dist/tools/coordinator/ask-user-question.js +9 -8
- package/dist/tools/coordinator/ask-user-question.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts +17 -11
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +45 -44
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/coordinator/outcome.d.ts +5 -5
- package/dist/tools/coordinator/outcome.js +7 -7
- package/dist/tools/coordinator/outcome.js.map +1 -1
- package/dist/tools/coordinator/plan-dependencies.js +1 -1
- package/dist/tools/coordinator/plan-dependencies.js.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts +4 -4
- package/dist/tools/coordinator/wait-with-idle-bound.d.ts.map +1 -1
- package/dist/tools/coordinator/wait-with-idle-bound.js +2 -2
- package/dist/tools/coordinator/wait-with-idle-bound.js.map +1 -1
- package/dist/tools/defineTool.d.ts +5 -1
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +4 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/env-scrub.d.ts +1 -1
- package/dist/tools/env-scrub.js +1 -1
- package/dist/tools/goal/index.d.ts +10 -6
- package/dist/tools/goal/index.d.ts.map +1 -1
- package/dist/tools/goal/index.js +9 -9
- package/dist/tools/goal/index.js.map +1 -1
- package/dist/tools/memory/fields.d.ts +8 -0
- package/dist/tools/memory/fields.d.ts.map +1 -0
- package/dist/tools/memory/fields.js +22 -0
- package/dist/tools/memory/fields.js.map +1 -0
- package/dist/tools/memory/read.d.ts.map +1 -1
- package/dist/tools/memory/read.js +60 -7
- package/dist/tools/memory/read.js.map +1 -1
- package/dist/tools/memory/resolve.d.ts +21 -0
- package/dist/tools/memory/resolve.d.ts.map +1 -0
- package/dist/tools/memory/resolve.js +23 -0
- package/dist/tools/memory/resolve.js.map +1 -0
- package/dist/tools/memory/save.d.ts.map +1 -1
- package/dist/tools/memory/save.js +57 -18
- package/dist/tools/memory/save.js.map +1 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +9 -2
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/tools/memory/update.d.ts.map +1 -1
- package/dist/tools/memory/update.js +45 -7
- package/dist/tools/memory/update.js.map +1 -1
- package/dist/tools/paths.d.ts +29 -3
- package/dist/tools/paths.d.ts.map +1 -1
- package/dist/tools/paths.js +81 -23
- package/dist/tools/paths.js.map +1 -1
- package/dist/tools/posix-path.js +1 -1
- package/dist/tools/posix-path.js.map +1 -1
- package/dist/tools/resident-history.d.ts +1 -1
- package/dist/tools/resident-history.js +1 -1
- package/dist/tools/resident-tool-evidence.d.ts +1 -1
- package/dist/tools/resident-tool-evidence.d.ts.map +1 -1
- package/dist/tools/resident-tool-evidence.js +1 -1
- package/dist/tools/resident-tool-evidence.js.map +1 -1
- package/dist/tools/task/create.d.ts +2 -2
- package/dist/tools/task/create.d.ts.map +1 -1
- package/dist/tools/task/create.js +3 -2
- package/dist/tools/task/create.js.map +1 -1
- package/dist/tools/task/index.d.ts +16 -2
- package/dist/tools/task/index.d.ts.map +1 -1
- package/dist/tools/task/index.js +4 -3
- package/dist/tools/task/index.js.map +1 -1
- package/dist/tools/task/list.d.ts +4 -2
- package/dist/tools/task/list.d.ts.map +1 -1
- package/dist/tools/task/list.js +8 -4
- package/dist/tools/task/list.js.map +1 -1
- package/dist/turn/LimitChecker.d.ts +30 -0
- package/dist/turn/LimitChecker.d.ts.map +1 -0
- package/dist/turn/LimitChecker.js +57 -0
- package/dist/turn/LimitChecker.js.map +1 -0
- package/dist/turn/command-gate.d.ts +107 -0
- package/dist/turn/command-gate.d.ts.map +1 -0
- package/dist/turn/command-gate.js +221 -0
- package/dist/turn/command-gate.js.map +1 -0
- package/dist/turn/drain.d.ts +138 -0
- package/dist/turn/drain.d.ts.map +1 -0
- package/dist/turn/drain.js +209 -0
- package/dist/turn/drain.js.map +1 -0
- package/dist/turn/evidence-query.d.ts +41 -0
- package/dist/turn/evidence-query.d.ts.map +1 -0
- package/dist/turn/evidence-query.js +270 -0
- package/dist/turn/evidence-query.js.map +1 -0
- package/dist/turn/evidence-recall.d.ts +102 -0
- package/dist/turn/evidence-recall.d.ts.map +1 -0
- package/dist/turn/evidence-recall.js +635 -0
- package/dist/turn/evidence-recall.js.map +1 -0
- package/dist/turn/index.d.ts +17 -0
- package/dist/turn/index.d.ts.map +1 -0
- package/dist/turn/index.js +9 -0
- package/dist/turn/index.js.map +1 -0
- package/dist/turn/json-claim-verifier.d.ts +83 -0
- package/dist/turn/json-claim-verifier.d.ts.map +1 -0
- package/dist/turn/json-claim-verifier.js +200 -0
- package/dist/turn/json-claim-verifier.js.map +1 -0
- package/dist/turn/memory-promoter.d.ts +43 -0
- package/dist/turn/memory-promoter.d.ts.map +1 -0
- package/dist/turn/memory-promoter.js +111 -0
- package/dist/turn/memory-promoter.js.map +1 -0
- package/dist/turn/memory-recall.d.ts +33 -0
- package/dist/turn/memory-recall.d.ts.map +1 -0
- package/dist/turn/memory-recall.js +248 -0
- package/dist/turn/memory-recall.js.map +1 -0
- package/dist/turn/preparation-context-error.d.ts.map +1 -0
- package/dist/turn/preparation-context-error.js.map +1 -0
- package/dist/turn/reporter.d.ts +8 -0
- package/dist/turn/reporter.d.ts.map +1 -0
- package/dist/turn/reporter.js +420 -0
- package/dist/turn/reporter.js.map +1 -0
- package/dist/turn/workspace-fingerprint.d.ts.map +1 -0
- package/dist/turn/workspace-fingerprint.js.map +1 -0
- package/dist/types/activity/index.d.ts +2 -2
- package/dist/types/activity/index.d.ts.map +1 -1
- package/dist/types/advisory/config.d.ts +7 -7
- package/dist/types/advisory/config.d.ts.map +1 -1
- package/dist/types/agent/base.d.ts +71 -44
- package/dist/types/agent/base.d.ts.map +1 -1
- package/dist/types/agent/core.d.ts +10 -10
- package/dist/types/agent/core.d.ts.map +1 -1
- package/dist/types/agent/delegate.d.ts +2 -2
- package/dist/types/agent/factory.d.ts +6 -4
- package/dist/types/agent/factory.d.ts.map +1 -1
- package/dist/types/agent/manager.d.ts +6 -6
- package/dist/types/agent/manager.d.ts.map +1 -1
- package/dist/types/agent/pipeline.d.ts +5 -4
- package/dist/types/agent/pipeline.d.ts.map +1 -1
- package/dist/types/agent/reactive.d.ts +11 -10
- package/dist/types/agent/reactive.d.ts.map +1 -1
- package/dist/types/agent/router.d.ts +1 -1
- package/dist/types/agent/scheduler.d.ts +27 -11
- package/dist/types/agent/scheduler.d.ts.map +1 -1
- package/dist/types/agent/supervisor.d.ts +13 -13
- package/dist/types/agent/task.d.ts +48 -12
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/agent/working-memory.d.ts +5 -4
- package/dist/types/agent/working-memory.d.ts.map +1 -1
- package/dist/types/authorization/index.d.ts +6 -6
- package/dist/types/bidi/index.d.ts +21 -12
- package/dist/types/bidi/index.d.ts.map +1 -1
- package/dist/types/bus/index.d.ts +34 -28
- package/dist/types/bus/index.d.ts.map +1 -1
- package/dist/types/code-navigation/index.d.ts +1 -1
- package/dist/types/common/index.d.ts +10 -18
- package/dist/types/common/index.d.ts.map +1 -1
- package/dist/types/common/index.js +3 -2
- package/dist/types/common/index.js.map +1 -1
- package/dist/types/connector/core.d.ts +2 -2
- package/dist/types/connector/definition.d.ts +1 -1
- package/dist/types/connector/mcp.d.ts +1 -1
- package/dist/types/errors/catalog.js +4 -4
- package/dist/types/errors/catalog.js.map +1 -1
- package/dist/types/errors/index.d.ts +5 -5
- package/dist/types/errors/index.d.ts.map +1 -1
- package/dist/types/guardrail/index.d.ts +12 -10
- package/dist/types/guardrail/index.d.ts.map +1 -1
- package/dist/types/hitl/index.d.ts +60 -117
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/hitl/policy.d.ts +8 -6
- package/dist/types/hitl/policy.d.ts.map +1 -1
- package/dist/types/ids/brand.d.ts +10 -3
- package/dist/types/ids/brand.d.ts.map +1 -1
- package/dist/types/ids/brand.js.map +1 -1
- package/dist/types/ids/index.d.ts +10 -4
- package/dist/types/ids/index.d.ts.map +1 -1
- package/dist/types/ids/index.js.map +1 -1
- package/dist/types/memory/index.d.ts +35 -0
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/memory/index.js +17 -0
- package/dist/types/memory/index.js.map +1 -1
- package/dist/types/message/index.d.ts +4 -4
- package/dist/types/plan/index.d.ts +5 -3
- package/dist/types/plan/index.d.ts.map +1 -1
- package/dist/types/plugin/index.d.ts +27 -19
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +16 -3
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/probe/event-kind.d.ts +3 -3
- package/dist/types/probe/event-kind.d.ts.map +1 -1
- package/dist/types/probe/registry.d.ts +3 -2
- package/dist/types/probe/registry.d.ts.map +1 -1
- package/dist/types/project/entity.d.ts +3 -3
- package/dist/types/provider/config.d.ts +3 -3
- package/dist/types/provider/error.d.ts +1 -1
- package/dist/types/provider/errors.d.ts +2 -2
- package/dist/types/provider/errors.js +2 -2
- package/dist/types/provider/errors.js.map +1 -1
- package/dist/types/provider/interface.d.ts +5 -5
- package/dist/types/provider/model.d.ts +26 -2
- package/dist/types/provider/model.d.ts.map +1 -1
- package/dist/types/router/task-router.d.ts +1 -1
- package/dist/types/sandbox/index.d.ts +14 -14
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js +4 -4
- package/dist/types/session/answer-review.d.ts +80 -0
- package/dist/types/session/answer-review.d.ts.map +1 -0
- package/dist/types/session/answer-review.js.map +1 -0
- package/dist/types/session/audit.d.ts +153 -0
- package/dist/types/session/audit.d.ts.map +1 -0
- package/dist/types/session/audit.js +35 -0
- package/dist/types/session/audit.js.map +1 -0
- package/dist/types/session/cancel-cause.d.ts +49 -0
- package/dist/types/session/cancel-cause.d.ts.map +1 -0
- package/dist/types/session/cancel-cause.js +39 -0
- package/dist/types/session/cancel-cause.js.map +1 -0
- package/dist/types/session/checkpoint.d.ts +325 -0
- package/dist/types/session/checkpoint.d.ts.map +1 -0
- package/dist/types/session/checkpoint.js +100 -0
- package/dist/types/session/checkpoint.js.map +1 -0
- package/dist/types/session/config.d.ts +199 -0
- package/dist/types/session/config.d.ts.map +1 -0
- package/dist/types/session/config.js.map +1 -0
- package/dist/types/session/derive-status.d.ts +28 -0
- package/dist/types/session/derive-status.d.ts.map +1 -0
- package/dist/types/session/derive-status.js +49 -0
- package/dist/types/session/derive-status.js.map +1 -0
- package/dist/types/session/durable.d.ts +142 -0
- package/dist/types/session/durable.d.ts.map +1 -0
- package/dist/types/session/durable.js +11 -0
- package/dist/types/session/durable.js.map +1 -0
- package/dist/types/session/entity.d.ts +1 -1
- package/dist/types/session/events.d.ts +1139 -0
- package/dist/types/session/events.d.ts.map +1 -0
- package/dist/types/session/events.js +15 -0
- package/dist/types/session/events.js.map +1 -0
- package/dist/types/session/fork.d.ts +45 -0
- package/dist/types/session/fork.d.ts.map +1 -0
- package/dist/types/session/fork.js +15 -0
- package/dist/types/session/fork.js.map +1 -0
- package/dist/types/session/ids.d.ts +1 -1
- package/dist/types/session/ids.d.ts.map +1 -1
- package/dist/types/session/index.d.ts +20 -1
- package/dist/types/session/index.d.ts.map +1 -1
- package/dist/types/session/index.js +22 -4
- package/dist/types/session/index.js.map +1 -1
- package/dist/types/session/lineage.d.ts +15 -0
- package/dist/types/session/lineage.d.ts.map +1 -0
- package/dist/types/session/lineage.js.map +1 -0
- package/dist/types/session/log-cursor.d.ts +57 -0
- package/dist/types/session/log-cursor.d.ts.map +1 -0
- package/dist/types/session/log-cursor.js +34 -0
- package/dist/types/session/log-cursor.js.map +1 -0
- package/dist/types/session/memory-promotion.d.ts +91 -0
- package/dist/types/session/memory-promotion.d.ts.map +1 -0
- package/dist/types/session/memory-promotion.js +39 -0
- package/dist/types/session/memory-promotion.js.map +1 -0
- package/dist/types/session/messages.d.ts +1 -1
- package/dist/types/session/messages.js +1 -1
- package/dist/types/session/prepare-step.d.ts +278 -0
- package/dist/types/session/prepare-step.d.ts.map +1 -0
- package/dist/types/session/prepare-step.js.map +1 -0
- package/dist/types/session/records.d.ts +5597 -0
- package/dist/types/session/records.d.ts.map +1 -0
- package/dist/types/session/records.js +721 -0
- package/dist/types/session/records.js.map +1 -0
- package/dist/types/session/step.d.ts +195 -0
- package/dist/types/session/step.d.ts.map +1 -0
- package/dist/types/session/step.js +26 -0
- package/dist/types/session/step.js.map +1 -0
- package/dist/types/session/stop-reason.d.ts +67 -0
- package/dist/types/session/stop-reason.d.ts.map +1 -0
- package/dist/types/session/stop-reason.js.map +1 -0
- package/dist/types/session/store.d.ts +2 -43
- package/dist/types/session/store.d.ts.map +1 -1
- package/dist/types/session/tool-execution.d.ts +34 -0
- package/dist/types/session/tool-execution.d.ts.map +1 -0
- package/dist/types/session/tool-execution.js +11 -0
- package/dist/types/session/tool-execution.js.map +1 -0
- package/dist/types/session/turn-state.d.ts +74 -0
- package/dist/types/session/turn-state.d.ts.map +1 -0
- package/dist/types/session/turn-state.js +59 -0
- package/dist/types/session/turn-state.js.map +1 -0
- package/dist/types/session/turn.d.ts +215 -0
- package/dist/types/session/turn.d.ts.map +1 -0
- package/dist/types/session/turn.js +44 -0
- package/dist/types/session/turn.js.map +1 -0
- package/dist/types/structured-output/index.d.ts +2 -2
- package/dist/types/structured-output/index.d.ts.map +1 -1
- package/dist/types/summary/deliverable.d.ts +4 -4
- package/dist/types/summary/deliverable.d.ts.map +1 -1
- package/dist/types/task/index.d.ts +8 -4
- package/dist/types/task/index.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +73 -26
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/topic/entity.d.ts +6 -6
- package/dist/types/topic/objective.d.ts +10 -5
- package/dist/types/topic/objective.d.ts.map +1 -1
- package/dist/types/topic/objective.js.map +1 -1
- package/dist/types/topic/state.d.ts +4 -4
- package/dist/types/topic/store.d.ts +1 -1
- package/dist/types/topic/store.js +1 -1
- package/dist/types/workspace/index.d.ts +1 -1
- package/dist/types/workspace/index.d.ts.map +1 -1
- package/dist/types/workspace/index.js +1 -1
- package/dist/types/workspace/index.js.map +1 -1
- package/dist/types/workspace/ref.d.ts +3 -3
- package/dist/types/workspace/shared-session.d.ts +61 -0
- package/dist/types/workspace/shared-session.d.ts.map +1 -0
- package/dist/types/workspace/shared-session.js +2 -0
- package/dist/types/workspace/shared-session.js.map +1 -0
- package/dist/utils/abort.js +4 -4
- package/dist/utils/abort.js.map +1 -1
- package/dist/utils/atomic-write.d.ts +29 -1
- package/dist/utils/atomic-write.d.ts.map +1 -1
- package/dist/utils/atomic-write.js +60 -4
- package/dist/utils/atomic-write.js.map +1 -1
- package/dist/utils/cost.d.ts +3 -3
- package/dist/utils/cost.d.ts.map +1 -1
- package/dist/utils/cost.js +11 -12
- package/dist/utils/cost.js.map +1 -1
- package/dist/utils/env.d.ts +1 -1
- package/dist/utils/env.js +1 -1
- package/dist/utils/id.d.ts +9 -8
- package/dist/utils/id.d.ts.map +1 -1
- package/dist/utils/id.js +20 -13
- package/dist/utils/id.js.map +1 -1
- package/dist/utils/log/create-logger.js +1 -1
- package/dist/utils/log/create-logger.js.map +1 -1
- package/dist/utils/log/types.js +1 -1
- package/dist/utils/log/types.js.map +1 -1
- package/dist/utils/shell-compress.js +2 -2
- package/dist/utils/shell-compress.js.map +1 -1
- package/dist/utils/uuidv7.d.ts +33 -0
- package/dist/utils/uuidv7.d.ts.map +1 -0
- package/dist/utils/uuidv7.js +70 -0
- package/dist/utils/uuidv7.js.map +1 -0
- package/dist/vault/instrumentation.d.ts +5 -2
- package/dist/vault/instrumentation.d.ts.map +1 -1
- package/dist/vault/instrumentation.js +12 -6
- package/dist/vault/instrumentation.js.map +1 -1
- package/package.json +1 -1
- package/src/advisory/budget.ts +3 -3
- package/src/advisory/context.ts +9 -9
- package/src/advisory/evaluator.ts +2 -2
- package/src/advisory/parse.ts +1 -1
- package/src/agents/AbstractAgent.ts +74 -50
- package/src/agents/PipelineAgent.ts +91 -26
- package/src/agents/ReactiveAgent.ts +35 -29
- package/src/agents/RouterAgent.ts +32 -44
- package/src/agents/SupervisorAgent.ts +55 -41
- package/src/agents/budget.ts +73 -16
- package/src/agents/defineAgent.ts +7 -3
- package/src/agents/handle.ts +17 -19
- package/src/agents/lock.ts +4 -4
- package/src/agents/runAgent.ts +96 -38
- package/src/agents/storage.ts +36 -0
- package/src/authorization/command-line.ts +1 -1
- package/src/authorization/gate.ts +1 -1
- package/src/authorization/permission-presets.ts +4 -4
- package/src/bridge/a2a/client.ts +2 -2
- package/src/bridge/a2a/context.ts +46 -0
- package/src/bridge/a2a/index.ts +12 -5
- package/src/bridge/a2a/mapper.ts +48 -38
- package/src/bridge/a2a/task.ts +91 -37
- package/src/bridge/acp/permission.ts +2 -2
- package/src/bridge/acp/server.ts +45 -11
- package/src/bridge/acp/update.ts +9 -9
- package/src/bridge/external-session.ts +82 -0
- package/src/bridge/sse/index.ts +1 -1
- package/src/bridge/sse/mapper.ts +116 -145
- package/src/bus/breaker.ts +30 -29
- package/src/bus/index.ts +7 -7
- package/src/bus/lock.ts +7 -7
- package/src/bus/ownership.ts +8 -8
- package/src/compaction/consolidation.ts +61 -15
- package/src/compaction/context-window.ts +4 -4
- package/src/compaction/index.ts +2 -2
- package/src/compaction/manager.ts +4 -4
- package/src/compaction/manual.ts +5 -5
- package/src/compaction/plan.ts +8 -8
- package/src/compaction/reducer.ts +8 -8
- package/src/compaction/retention.ts +2 -2
- package/src/compaction/salience/bm25.ts +2 -2
- package/src/compaction/salience/goal.ts +3 -3
- package/src/compaction/salience/minhash.ts +1 -1
- package/src/compaction/salience/score.ts +3 -3
- package/src/compaction/salience/tokenize.ts +1 -1
- package/src/compaction/verifier.ts +7 -7
- package/src/compaction/wire.ts +1 -1
- package/src/config/registry.ts +4 -4
- package/src/config/runtime.ts +3 -3
- package/src/connector/http-operation.ts +1 -1
- package/src/connector/mcp/adapter.ts +1 -1
- package/src/connector/mcp/client.ts +1 -1
- package/src/connector/mcp/discovery.ts +2 -2
- package/src/connector/mcp/policy.ts +1 -1
- package/src/connector/mcp/prompt-adapter.ts +3 -3
- package/src/constants/a2a/index.ts +10 -3
- package/src/constants/continuation.ts +1 -1
- package/src/constants/index.ts +0 -1
- package/src/constants/limits.ts +2 -2
- package/src/constants/telemetry/index.ts +15 -12
- package/src/constants/tools/index.ts +2 -2
- package/src/contracts/api.ts +11 -202
- package/src/contracts/index.ts +8 -15
- package/src/contracts/schemas.ts +6 -39
- package/src/contracts/session/api.ts +150 -0
- package/src/contracts/session/index.ts +29 -0
- package/src/contracts/session/schemas.ts +60 -0
- package/src/contracts/session/turn-status.ts +83 -0
- package/src/contracts/session/turn.ts +67 -0
- package/src/directory/derive-supervisor.ts +2 -2
- package/src/directory/derive.ts +4 -4
- package/src/directory/index.ts +2 -2
- package/src/directory/load.ts +2 -2
- package/src/directory/types.ts +2 -2
- package/src/eval/experiment.ts +23 -23
- package/src/eval/from-turn.ts +50 -0
- package/src/eval/harness-verification.ts +7 -7
- package/src/eval/index.ts +2 -2
- package/src/eval/judge.ts +10 -10
- package/src/eval/scorers.ts +23 -23
- package/src/eval/types.ts +12 -12
- package/src/eval/uncertainty.ts +2 -2
- package/src/execution/code-runtime/types.ts +4 -4
- package/src/execution/code-runtime/worker.ts +1 -1
- package/src/invariants/index.ts +2 -2
- package/src/manager/agent/child-session.ts +120 -0
- package/src/manager/agent/lifecycle.ts +422 -102
- package/src/manager/index.ts +1 -2
- package/src/manager/plan/lifecycle.ts +16 -10
- package/src/manager/resident/consumption.ts +8 -6
- package/src/manager/resident/evidence-recall.ts +14 -14
- package/src/manager/resident/host.ts +2 -2
- package/src/manager/resident/learning-cycle.ts +5 -3
- package/src/manager/resident/learning-observation.ts +9 -4
- package/src/manager/resident/learning-store.ts +46 -16
- package/src/manager/resident/tool-evidence.ts +38 -31
- package/src/manager/session/turn-recorder.ts +1291 -0
- package/src/plugin/lifecycle.ts +20 -13
- package/src/plugin/shell-hook.ts +64 -25
- package/src/pricing/index.ts +5 -5
- package/src/pricing/rates.source.json +5 -5
- package/src/probe/context.ts +5 -3
- package/src/probe/registry.ts +1 -1
- package/src/prompt/coding-agent-doctrine.ts +1 -1
- package/src/prompt/contributions.ts +28 -6
- package/src/prompt/resident-learning.ts +2 -2
- package/src/provider/collect-chat-completion.ts +3 -3
- package/src/provider/conformance.ts +21 -6
- package/src/provider/errors.ts +2 -2
- package/src/provider/fallback.ts +8 -8
- package/src/provider/idle-timeout.ts +4 -4
- package/src/provider/instrumentation.ts +14 -7
- package/src/provider/mock.ts +1 -1
- package/src/provider/retry.ts +7 -7
- package/src/provider/stream-text.ts +1 -1
- package/src/provider/thinking-support.ts +2 -2
- package/src/provider/token-budget.ts +2 -2
- package/src/public-runtime.ts +213 -141
- package/src/public-tools.ts +14 -7
- package/src/public-types.ts +71 -59
- package/src/rag/embedding.ts +1 -1
- package/src/read-model/index.ts +2 -2
- package/src/read-model/registry.ts +11 -11
- package/src/read-model/session-status.ts +87 -0
- package/src/registry/command/kernel-commands.ts +10 -10
- package/src/registry/tool/dialect.ts +1 -1
- package/src/registry/tool/execute.ts +20 -7
- package/src/registry/tool/portable.ts +1 -1
- package/src/registry/tool/presentation.ts +1 -1
- package/src/registry/tool/schema.ts +1 -1
- package/src/registry/tool/screen.ts +3 -3
- package/src/runtime/bidi/index.ts +2 -2
- package/src/runtime/bidi/session.ts +45 -34
- package/src/runtime/jobs/awaited-jobs.ts +13 -13
- package/src/runtime/jobs/registry.ts +11 -11
- package/src/runtime/query/abandon-turn.ts +110 -0
- package/src/runtime/query/approval-policy.ts +13 -13
- package/src/runtime/query/callback-inference.ts +16 -10
- package/src/runtime/query/cancelled-before-start.ts +96 -79
- package/src/runtime/query/checkpoint.ts +519 -420
- package/src/runtime/query/compact-session.ts +92 -0
- package/src/runtime/query/context.ts +80 -136
- package/src/runtime/query/events.ts +159 -126
- package/src/runtime/query/executor/tool-call-admission.ts +6 -5
- package/src/runtime/query/executor.ts +206 -111
- package/src/runtime/query/file-evidence-seed.ts +2 -2
- package/src/runtime/query/finalize-turn.ts +209 -0
- package/src/runtime/query/fork/list.ts +20 -0
- package/src/runtime/query/fork/mutate.ts +82 -0
- package/src/runtime/query/fork/prepare.ts +92 -0
- package/src/runtime/query/guard.ts +22 -22
- package/src/runtime/query/guardrail-presets.ts +12 -12
- package/src/runtime/query/guardrails.ts +11 -11
- package/src/runtime/query/index.ts +1607 -1533
- package/src/runtime/query/iteration/index.ts +304 -253
- package/src/runtime/query/iteration/outstanding-work.ts +65 -65
- package/src/runtime/query/iteration/phases/advisory.ts +16 -16
- package/src/runtime/query/iteration/phases/checkpoint.ts +26 -10
- package/src/runtime/query/iteration/phases/compaction.ts +74 -72
- package/src/runtime/query/iteration/phases/context.ts +57 -60
- package/src/runtime/query/iteration/phases/plan.ts +9 -6
- package/src/runtime/query/iteration/phases/tool-review.ts +141 -27
- package/src/runtime/query/iteration/phases/working-memory.ts +57 -22
- package/src/runtime/query/iteration/step-context.ts +17 -0
- package/src/runtime/query/iteration/step-shaping.ts +21 -24
- package/src/runtime/query/iteration/stream-turn.ts +36 -32
- package/src/runtime/query/plugin-hooks.ts +1 -1
- package/src/runtime/query/prepare-turn.ts +932 -0
- package/src/runtime/query/project-instructions.ts +5 -4
- package/src/runtime/query/prompt-cache.ts +1 -1
- package/src/runtime/query/prompt.ts +5 -5
- package/src/runtime/query/question-park.ts +7 -7
- package/src/runtime/query/release-turn.ts +157 -0
- package/src/runtime/query/repeat-call.ts +7 -7
- package/src/runtime/query/result.ts +123 -131
- package/src/runtime/query/resume-pending.ts +101 -44
- package/src/runtime/query/resume-session.ts +153 -0
- package/src/runtime/query/review-policy.ts +147 -19
- package/src/runtime/query/sandbox-lifecycle.ts +5 -5
- package/src/runtime/query/session-storage.ts +302 -0
- package/src/runtime/query/steering.ts +17 -4
- package/src/runtime/query/token-budget.ts +59 -93
- package/src/runtime/query/tool-call-budget.ts +14 -14
- package/src/runtime/query/tool-executions.ts +77 -0
- package/src/runtime/query/tool-grants.ts +3 -3
- package/src/runtime/query/tool-output-budget.ts +4 -4
- package/src/runtime/query/tool-pause.ts +8 -6
- package/src/runtime/query/tooling.ts +22 -14
- package/src/runtime/query/turn-state.ts +153 -0
- package/src/sandbox/isolation.ts +2 -2
- package/src/sandbox/provider/local.ts +8 -8
- package/src/scheduler/completion-inbox.ts +36 -36
- package/src/scheduler/delegating.ts +27 -13
- package/src/scheduler/local.ts +49 -21
- package/src/session/events/index.ts +10 -14
- package/src/session/handoff/broadcast.ts +7 -7
- package/src/session/handoff/events.ts +1 -1
- package/src/session/handoff/index.ts +1 -1
- package/src/session/handoff/single.ts +21 -21
- package/src/session/handoff/version.ts +11 -7
- package/src/session/home.ts +66 -0
- package/src/session/index.ts +1 -0
- package/src/session/log-hash.ts +115 -0
- package/src/session/messages.ts +39 -0
- package/src/session/paths.ts +449 -0
- package/src/session/retention/archive.ts +13 -5
- package/src/session/status/derive.ts +21 -21
- package/src/session/workspace/git-worktree.ts +31 -2
- package/src/session/workspace/index.ts +5 -8
- package/src/session/workspace/shared-session.ts +354 -0
- package/src/session-query/index.ts +152 -0
- package/src/skills/registry.ts +1 -1
- package/src/store/activity/memory.ts +5 -5
- package/src/store/attachment/index.ts +5 -5
- package/src/store/budget/disk.ts +243 -0
- package/src/store/budget/index.ts +24 -0
- package/src/store/budget/ledger.ts +836 -0
- package/src/store/budget/memory.ts +39 -0
- package/src/store/checkpoint/contract.ts +225 -0
- package/src/store/checkpoint/disk.ts +209 -0
- package/src/store/checkpoint/index.ts +22 -0
- package/src/store/checkpoint/memory.ts +112 -0
- package/src/store/checkpoint/prune.ts +93 -0
- package/src/store/config/index.ts +1 -1
- package/src/store/evidence/disk.ts +185 -81
- package/src/store/evidence/index-page.ts +67 -140
- package/src/store/evidence/source-text.ts +23 -28
- package/src/store/evidence/types.ts +51 -41
- package/src/store/feedback/conformance.ts +37 -35
- package/src/store/feedback/disk.ts +61 -63
- package/src/store/feedback/index.ts +1 -1
- package/src/store/feedback/memory.ts +0 -0
- package/src/store/feedback/types.ts +14 -13
- package/src/store/index.ts +24 -28
- package/src/store/memory/digest.ts +35 -0
- package/src/store/memory/disk.ts +66 -20
- package/src/store/memory/index-file.ts +121 -0
- package/src/store/memory/index.ts +4 -2
- package/src/store/memory/links.ts +37 -0
- package/src/store/memory/markdown-format.ts +276 -0
- package/src/store/memory/markdown.ts +741 -0
- package/src/store/memory/memory.ts +39 -17
- package/src/store/memory/naming.ts +195 -0
- package/src/store/memory/origin.ts +35 -0
- package/src/store/session/disk.ts +27 -200
- package/src/store/session/index.ts +5 -9
- package/src/store/session/memory.ts +1 -78
- package/src/store/session-claim.ts +101 -0
- package/src/store/session-index/fts.ts +215 -0
- package/src/store/session-index/index.ts +253 -0
- package/src/store/session-index/rebuild.ts +869 -0
- package/src/store/session-index/refs.ts +164 -0
- package/src/store/session-index/scan.ts +273 -0
- package/src/store/session-index/sqlite.ts +772 -0
- package/src/store/session-log/chain.ts +314 -0
- package/src/store/session-log/conformance.ts +487 -0
- package/src/store/session-log/core.ts +809 -0
- package/src/store/session-log/disk.ts +217 -0
- package/src/store/session-log/fold.ts +368 -0
- package/src/store/session-log/heal.ts +44 -0
- package/src/store/session-log/held-leases.ts +103 -0
- package/src/store/session-log/index.ts +87 -0
- package/src/store/session-log/lease.ts +354 -0
- package/src/store/session-log/memory.ts +111 -0
- package/src/store/session-log/spill.ts +311 -0
- package/src/store/task/context.ts +33 -0
- package/src/store/task/disk.ts +122 -141
- package/src/store/task/memory.ts +14 -8
- package/src/store/topic/index.ts +2 -2
- package/src/store/topic/objective.ts +12 -3
- package/src/store/topic/state.ts +1 -1
- package/src/streaming/coalesce.ts +8 -7
- package/src/telemetry/attributes.ts +10 -9
- package/src/telemetry/metrics.ts +6 -6
- package/src/telemetry/runtime-accessors.ts +1 -1
- package/src/test-support/ids.ts +5 -6
- package/src/testing.ts +11 -16
- package/src/tools/advisory/index.ts +1 -1
- package/src/tools/builtins/bash.ts +43 -5
- package/src/tools/builtins/content-fingerprint.ts +2 -2
- package/src/tools/builtins/edit-apply.ts +1 -1
- package/src/tools/builtins/edit.ts +3 -0
- package/src/tools/builtins/glob.ts +3 -0
- package/src/tools/builtins/grep.ts +3 -0
- package/src/tools/builtins/job.ts +5 -5
- package/src/tools/builtins/ls.ts +3 -0
- package/src/tools/builtins/lsp.ts +5 -2
- package/src/tools/builtins/read-file.ts +3 -0
- package/src/tools/builtins/run-code.ts +11 -11
- package/src/tools/builtins/skill.ts +3 -3
- package/src/tools/builtins/wait-for-job-bounds.ts +6 -6
- package/src/tools/builtins/wait-for-job.ts +3 -3
- package/src/tools/builtins/web-guidance.ts +2 -2
- package/src/tools/builtins/web.ts +3 -3
- package/src/tools/builtins/write-file.ts +3 -0
- package/src/tools/coordinator/agent.ts +8 -8
- package/src/tools/coordinator/ask-user-question.ts +16 -14
- package/src/tools/coordinator/index.ts +64 -54
- package/src/tools/coordinator/outcome.ts +7 -7
- package/src/tools/coordinator/plan-dependencies.ts +1 -1
- package/src/tools/coordinator/wait-with-idle-bound.ts +6 -6
- package/src/tools/defineTool.ts +9 -1
- package/src/tools/env-scrub.ts +1 -1
- package/src/tools/goal/index.ts +16 -12
- package/src/tools/memory/fields.ts +26 -0
- package/src/tools/memory/read.ts +75 -8
- package/src/tools/memory/resolve.ts +37 -0
- package/src/tools/memory/save.ts +54 -18
- package/src/tools/memory/search.ts +9 -5
- package/src/tools/memory/update.ts +43 -7
- package/src/tools/paths.ts +87 -27
- package/src/tools/posix-path.ts +1 -1
- package/src/tools/resident-history.ts +1 -1
- package/src/tools/resident-tool-evidence.ts +1 -1
- package/src/tools/task/create.ts +7 -3
- package/src/tools/task/index.ts +20 -4
- package/src/tools/task/list.ts +12 -6
- package/src/turn/LimitChecker.ts +99 -0
- package/src/turn/command-gate.ts +294 -0
- package/src/turn/drain.ts +324 -0
- package/src/turn/evidence-query.ts +333 -0
- package/src/turn/evidence-recall.ts +860 -0
- package/src/turn/index.ts +38 -0
- package/src/turn/json-claim-verifier.ts +298 -0
- package/src/turn/memory-promoter.ts +160 -0
- package/src/turn/memory-recall.ts +285 -0
- package/src/turn/reporter.ts +469 -0
- package/src/types/activity/index.ts +2 -2
- package/src/types/advisory/config.ts +7 -7
- package/src/types/agent/base.ts +74 -44
- package/src/types/agent/core.ts +10 -10
- package/src/types/agent/delegate.ts +2 -2
- package/src/types/agent/factory.ts +8 -4
- package/src/types/agent/manager.ts +6 -6
- package/src/types/agent/pipeline.ts +5 -4
- package/src/types/agent/reactive.ts +11 -10
- package/src/types/agent/router.ts +1 -1
- package/src/types/agent/scheduler.ts +28 -11
- package/src/types/agent/supervisor.ts +13 -13
- package/src/types/agent/task.ts +53 -12
- package/src/types/agent/working-memory.ts +6 -4
- package/src/types/bidi/index.ts +31 -12
- package/src/types/bus/index.ts +32 -26
- package/src/types/code-navigation/index.ts +1 -1
- package/src/types/common/index.ts +12 -26
- package/src/types/connector/core.ts +2 -2
- package/src/types/connector/definition.ts +1 -1
- package/src/types/connector/mcp.ts +1 -1
- package/src/types/errors/catalog.ts +4 -4
- package/src/types/errors/index.ts +5 -5
- package/src/types/guardrail/index.ts +12 -10
- package/src/types/hitl/index.ts +81 -125
- package/src/types/hitl/policy.ts +8 -6
- package/src/types/ids/brand.ts +10 -2
- package/src/types/ids/index.ts +10 -4
- package/src/types/memory/index.ts +53 -0
- package/src/types/message/index.ts +4 -4
- package/src/types/plan/index.ts +5 -3
- package/src/types/plugin/index.ts +41 -24
- package/src/types/probe/event-kind.ts +3 -3
- package/src/types/probe/registry.ts +3 -2
- package/src/types/project/entity.ts +3 -3
- package/src/types/provider/config.ts +3 -3
- package/src/types/provider/error.ts +1 -1
- package/src/types/provider/errors.ts +3 -3
- package/src/types/provider/interface.ts +5 -5
- package/src/types/provider/model.ts +26 -2
- package/src/types/router/task-router.ts +1 -1
- package/src/types/sandbox/index.ts +12 -12
- package/src/types/session/answer-review.ts +85 -0
- package/src/types/session/audit.ts +167 -0
- package/src/types/session/cancel-cause.ts +60 -0
- package/src/types/session/checkpoint.ts +167 -0
- package/src/types/session/config.ts +212 -0
- package/src/types/session/derive-status.ts +61 -0
- package/src/types/session/durable.ts +150 -0
- package/src/types/session/entity.ts +1 -1
- package/src/types/session/events.ts +1187 -0
- package/src/types/session/fork.ts +52 -0
- package/src/types/session/ids.ts +1 -1
- package/src/types/session/index.ts +24 -4
- package/src/types/session/lineage.ts +15 -0
- package/src/types/session/log-cursor.ts +69 -0
- package/src/types/session/memory-promotion.ts +116 -0
- package/src/types/session/messages.ts +1 -1
- package/src/types/session/prepare-step.ts +299 -0
- package/src/types/session/records.ts +931 -0
- package/src/types/session/step.ts +214 -0
- package/src/types/session/stop-reason.ts +83 -0
- package/src/types/session/store.ts +5 -52
- package/src/types/session/tool-execution.ts +32 -0
- package/src/types/session/turn-state.ts +136 -0
- package/src/types/session/turn.ts +289 -0
- package/src/types/structured-output/index.ts +4 -4
- package/src/types/summary/deliverable.ts +4 -4
- package/src/types/task/index.ts +8 -4
- package/src/types/tool/index.ts +74 -27
- package/src/types/topic/entity.ts +6 -6
- package/src/types/topic/objective.ts +7 -5
- package/src/types/topic/state.ts +4 -4
- package/src/types/topic/store.ts +1 -1
- package/src/types/workspace/index.ts +8 -8
- package/src/types/workspace/ref.ts +3 -3
- package/src/types/workspace/shared-session.ts +65 -0
- package/src/utils/abort.ts +4 -4
- package/src/utils/atomic-write.ts +67 -4
- package/src/utils/cost.ts +11 -12
- package/src/utils/env.ts +1 -1
- package/src/utils/id.ts +25 -18
- package/src/utils/log/attributes.ts +2 -2
- package/src/utils/log/create-logger.ts +1 -1
- package/src/utils/log/types.ts +1 -1
- package/src/utils/shell-compress.ts +2 -2
- package/src/utils/uuidv7.ts +107 -0
- package/src/vault/instrumentation.ts +21 -8
- package/dist/constants/emergency.d.ts +0 -4
- package/dist/constants/emergency.d.ts.map +0 -1
- package/dist/constants/emergency.js +0 -4
- package/dist/constants/emergency.js.map +0 -1
- package/dist/contracts/run-status.d.ts +0 -17
- package/dist/contracts/run-status.d.ts.map +0 -1
- package/dist/contracts/run-status.js +0 -41
- package/dist/contracts/run-status.js.map +0 -1
- package/dist/eval/from-run.d.ts +0 -30
- package/dist/eval/from-run.d.ts.map +0 -1
- package/dist/eval/from-run.js +0 -46
- package/dist/eval/from-run.js.map +0 -1
- package/dist/manager/run/emergency.d.ts +0 -19
- package/dist/manager/run/emergency.d.ts.map +0 -1
- package/dist/manager/run/emergency.js +0 -122
- package/dist/manager/run/emergency.js.map +0 -1
- package/dist/manager/run/persistence.d.ts +0 -312
- package/dist/manager/run/persistence.d.ts.map +0 -1
- package/dist/manager/run/persistence.js +0 -656
- package/dist/manager/run/persistence.js.map +0 -1
- package/dist/read-model/run-status.d.ts +0 -43
- package/dist/read-model/run-status.d.ts.map +0 -1
- package/dist/read-model/run-status.js +0 -89
- package/dist/read-model/run-status.js.map +0 -1
- package/dist/run/LimitChecker.d.ts +0 -30
- package/dist/run/LimitChecker.d.ts.map +0 -1
- package/dist/run/LimitChecker.js +0 -57
- package/dist/run/LimitChecker.js.map +0 -1
- package/dist/run/command-gate.d.ts +0 -107
- package/dist/run/command-gate.d.ts.map +0 -1
- package/dist/run/command-gate.js +0 -221
- package/dist/run/command-gate.js.map +0 -1
- package/dist/run/drain.d.ts +0 -204
- package/dist/run/drain.d.ts.map +0 -1
- package/dist/run/drain.js +0 -238
- package/dist/run/drain.js.map +0 -1
- package/dist/run/evidence-query.d.ts +0 -41
- package/dist/run/evidence-query.d.ts.map +0 -1
- package/dist/run/evidence-query.js +0 -270
- package/dist/run/evidence-query.js.map +0 -1
- package/dist/run/evidence-recall.d.ts +0 -99
- package/dist/run/evidence-recall.d.ts.map +0 -1
- package/dist/run/evidence-recall.js +0 -633
- package/dist/run/evidence-recall.js.map +0 -1
- package/dist/run/index.d.ts +0 -19
- package/dist/run/index.d.ts.map +0 -1
- package/dist/run/index.js +0 -11
- package/dist/run/index.js.map +0 -1
- package/dist/run/json-claim-verifier.d.ts +0 -83
- package/dist/run/json-claim-verifier.d.ts.map +0 -1
- package/dist/run/json-claim-verifier.js +0 -200
- package/dist/run/json-claim-verifier.js.map +0 -1
- package/dist/run/memory-promoter.d.ts +0 -38
- package/dist/run/memory-promoter.d.ts.map +0 -1
- package/dist/run/memory-promoter.js +0 -109
- package/dist/run/memory-promoter.js.map +0 -1
- package/dist/run/memory-recall.d.ts +0 -25
- package/dist/run/memory-recall.d.ts.map +0 -1
- package/dist/run/memory-recall.js +0 -228
- package/dist/run/memory-recall.js.map +0 -1
- package/dist/run/preparation-context-error.d.ts.map +0 -1
- package/dist/run/preparation-context-error.js.map +0 -1
- package/dist/run/reporter.d.ts +0 -8
- package/dist/run/reporter.d.ts.map +0 -1
- package/dist/run/reporter.js +0 -420
- package/dist/run/reporter.js.map +0 -1
- package/dist/run/token-budget.d.ts +0 -116
- package/dist/run/token-budget.d.ts.map +0 -1
- package/dist/run/token-budget.js +0 -626
- package/dist/run/token-budget.js.map +0 -1
- package/dist/run/workspace-fingerprint.d.ts.map +0 -1
- package/dist/run/workspace-fingerprint.js.map +0 -1
- package/dist/run-query/index.d.ts +0 -90
- package/dist/run-query/index.d.ts.map +0 -1
- package/dist/run-query/index.js +0 -127
- package/dist/run-query/index.js.map +0 -1
- package/dist/runtime/query/finalize-run.d.ts +0 -55
- package/dist/runtime/query/finalize-run.d.ts.map +0 -1
- package/dist/runtime/query/finalize-run.js +0 -113
- package/dist/runtime/query/finalize-run.js.map +0 -1
- package/dist/runtime/query/prepare-run.d.ts +0 -94
- package/dist/runtime/query/prepare-run.d.ts.map +0 -1
- package/dist/runtime/query/prepare-run.js +0 -589
- package/dist/runtime/query/prepare-run.js.map +0 -1
- package/dist/runtime/query/release-run.d.ts +0 -56
- package/dist/runtime/query/release-run.d.ts.map +0 -1
- package/dist/runtime/query/release-run.js +0 -101
- package/dist/runtime/query/release-run.js.map +0 -1
- package/dist/runtime/query/replay/list.d.ts +0 -40
- package/dist/runtime/query/replay/list.d.ts.map +0 -1
- package/dist/runtime/query/replay/list.js +0 -38
- package/dist/runtime/query/replay/list.js.map +0 -1
- package/dist/runtime/query/replay/mutate.d.ts +0 -17
- package/dist/runtime/query/replay/mutate.d.ts.map +0 -1
- package/dist/runtime/query/replay/mutate.js +0 -69
- package/dist/runtime/query/replay/mutate.js.map +0 -1
- package/dist/runtime/query/replay/prepare.d.ts +0 -66
- package/dist/runtime/query/replay/prepare.d.ts.map +0 -1
- package/dist/runtime/query/replay/prepare.js +0 -81
- package/dist/runtime/query/replay/prepare.js.map +0 -1
- package/dist/runtime/query/resume-run.d.ts +0 -103
- package/dist/runtime/query/resume-run.d.ts.map +0 -1
- package/dist/runtime/query/resume-run.js +0 -105
- package/dist/runtime/query/resume-run.js.map +0 -1
- package/dist/runtime/query/run-state.d.ts +0 -57
- package/dist/runtime/query/run-state.d.ts.map +0 -1
- package/dist/runtime/query/run-state.js +0 -96
- package/dist/runtime/query/run-state.js.map +0 -1
- package/dist/session/workspace/path-builder.d.ts +0 -50
- package/dist/session/workspace/path-builder.d.ts.map +0 -1
- package/dist/session/workspace/path-builder.js +0 -51
- package/dist/session/workspace/path-builder.js.map +0 -1
- package/dist/session/workspace/shared-run.d.ts +0 -112
- package/dist/session/workspace/shared-run.d.ts.map +0 -1
- package/dist/session/workspace/shared-run.js +0 -290
- package/dist/session/workspace/shared-run.js.map +0 -1
- package/dist/store/evidence/compaction-archive.d.ts +0 -109
- package/dist/store/evidence/compaction-archive.d.ts.map +0 -1
- package/dist/store/evidence/compaction-archive.js +0 -125
- package/dist/store/evidence/compaction-archive.js.map +0 -1
- package/dist/store/evidence/linked.d.ts +0 -9
- package/dist/store/evidence/linked.d.ts.map +0 -1
- package/dist/store/evidence/linked.js +0 -314
- package/dist/store/evidence/linked.js.map +0 -1
- package/dist/store/evidence/record-chain.d.ts +0 -42
- package/dist/store/evidence/record-chain.d.ts.map +0 -1
- package/dist/store/evidence/record-chain.js +0 -111
- package/dist/store/evidence/record-chain.js.map +0 -1
- package/dist/store/run/checkpoint-disk.d.ts +0 -98
- package/dist/store/run/checkpoint-disk.d.ts.map +0 -1
- package/dist/store/run/checkpoint-disk.js +0 -190
- package/dist/store/run/checkpoint-disk.js.map +0 -1
- package/dist/store/run/checkpoint-memory.d.ts +0 -51
- package/dist/store/run/checkpoint-memory.d.ts.map +0 -1
- package/dist/store/run/checkpoint-memory.js +0 -178
- package/dist/store/run/checkpoint-memory.js.map +0 -1
- package/dist/store/run/claim-disk.d.ts +0 -130
- package/dist/store/run/claim-disk.d.ts.map +0 -1
- package/dist/store/run/claim-disk.js +0 -570
- package/dist/store/run/claim-disk.js.map +0 -1
- package/dist/store/run/conformance.d.ts +0 -159
- package/dist/store/run/conformance.d.ts.map +0 -1
- package/dist/store/run/conformance.js +0 -466
- package/dist/store/run/conformance.js.map +0 -1
- package/dist/store/run/disk.d.ts +0 -189
- package/dist/store/run/disk.d.ts.map +0 -1
- package/dist/store/run/disk.js +0 -804
- package/dist/store/run/disk.js.map +0 -1
- package/dist/store/run/listing.d.ts +0 -118
- package/dist/store/run/listing.d.ts.map +0 -1
- package/dist/store/run/listing.js +0 -333
- package/dist/store/run/listing.js.map +0 -1
- package/dist/store/run/memory.d.ts +0 -55
- package/dist/store/run/memory.d.ts.map +0 -1
- package/dist/store/run/memory.js +0 -176
- package/dist/store/run/memory.js.map +0 -1
- package/dist/store/run/token-budget-disk.d.ts +0 -37
- package/dist/store/run/token-budget-disk.d.ts.map +0 -1
- package/dist/store/run/token-budget-disk.js +0 -211
- package/dist/store/run/token-budget-disk.js.map +0 -1
- package/dist/store/run/tool-executions.d.ts +0 -13
- package/dist/store/run/tool-executions.d.ts.map +0 -1
- package/dist/store/run/tool-executions.js +0 -99
- package/dist/store/run/tool-executions.js.map +0 -1
- package/dist/store/session/sqlite.d.ts +0 -57
- package/dist/store/session/sqlite.d.ts.map +0 -1
- package/dist/store/session/sqlite.js +0 -430
- package/dist/store/session/sqlite.js.map +0 -1
- package/dist/types/run/answer-review.d.ts +0 -79
- package/dist/types/run/answer-review.d.ts.map +0 -1
- package/dist/types/run/answer-review.js.map +0 -1
- package/dist/types/run/audit.d.ts +0 -150
- package/dist/types/run/audit.d.ts.map +0 -1
- package/dist/types/run/audit.js +0 -39
- package/dist/types/run/audit.js.map +0 -1
- package/dist/types/run/cancel-cause.d.ts +0 -49
- package/dist/types/run/cancel-cause.d.ts.map +0 -1
- package/dist/types/run/cancel-cause.js +0 -39
- package/dist/types/run/cancel-cause.js.map +0 -1
- package/dist/types/run/checkpoint-store.d.ts +0 -511
- package/dist/types/run/checkpoint-store.d.ts.map +0 -1
- package/dist/types/run/checkpoint-store.js +0 -12
- package/dist/types/run/checkpoint-store.js.map +0 -1
- package/dist/types/run/config.d.ts +0 -207
- package/dist/types/run/config.d.ts.map +0 -1
- package/dist/types/run/config.js.map +0 -1
- package/dist/types/run/derive-status.d.ts +0 -29
- package/dist/types/run/derive-status.d.ts.map +0 -1
- package/dist/types/run/derive-status.js +0 -49
- package/dist/types/run/derive-status.js.map +0 -1
- package/dist/types/run/emergency.d.ts +0 -32
- package/dist/types/run/emergency.d.ts.map +0 -1
- package/dist/types/run/emergency.js +0 -6
- package/dist/types/run/emergency.js.map +0 -1
- package/dist/types/run/entity.d.ts +0 -151
- package/dist/types/run/entity.d.ts.map +0 -1
- package/dist/types/run/entity.js +0 -2
- package/dist/types/run/entity.js.map +0 -1
- package/dist/types/run/event-cursor.d.ts +0 -90
- package/dist/types/run/event-cursor.d.ts.map +0 -1
- package/dist/types/run/event-cursor.js +0 -47
- package/dist/types/run/event-cursor.js.map +0 -1
- package/dist/types/run/events.d.ts +0 -1064
- package/dist/types/run/events.d.ts.map +0 -1
- package/dist/types/run/events.js +0 -31
- package/dist/types/run/events.js.map +0 -1
- package/dist/types/run/index.d.ts +0 -24
- package/dist/types/run/index.d.ts.map +0 -1
- package/dist/types/run/index.js +0 -23
- package/dist/types/run/index.js.map +0 -1
- package/dist/types/run/lineage.d.ts +0 -15
- package/dist/types/run/lineage.d.ts.map +0 -1
- package/dist/types/run/lineage.js.map +0 -1
- package/dist/types/run/memory-promotion.d.ts +0 -90
- package/dist/types/run/memory-promotion.d.ts.map +0 -1
- package/dist/types/run/memory-promotion.js +0 -38
- package/dist/types/run/memory-promotion.js.map +0 -1
- package/dist/types/run/metadata.d.ts +0 -47
- package/dist/types/run/metadata.d.ts.map +0 -1
- package/dist/types/run/metadata.js +0 -2
- package/dist/types/run/metadata.js.map +0 -1
- package/dist/types/run/prepare-step.d.ts +0 -260
- package/dist/types/run/prepare-step.d.ts.map +0 -1
- package/dist/types/run/prepare-step.js.map +0 -1
- package/dist/types/run/replay.d.ts +0 -53
- package/dist/types/run/replay.d.ts.map +0 -1
- package/dist/types/run/replay.js +0 -15
- package/dist/types/run/replay.js.map +0 -1
- package/dist/types/run/schema-version.d.ts +0 -19
- package/dist/types/run/schema-version.d.ts.map +0 -1
- package/dist/types/run/schema-version.js +0 -18
- package/dist/types/run/schema-version.js.map +0 -1
- package/dist/types/run/state.d.ts +0 -109
- package/dist/types/run/state.d.ts.map +0 -1
- package/dist/types/run/state.js +0 -109
- package/dist/types/run/state.js.map +0 -1
- package/dist/types/run/status.d.ts +0 -26
- package/dist/types/run/status.d.ts.map +0 -1
- package/dist/types/run/status.js +0 -2
- package/dist/types/run/status.js.map +0 -1
- package/dist/types/run/step.d.ts +0 -198
- package/dist/types/run/step.d.ts.map +0 -1
- package/dist/types/run/step.js +0 -26
- package/dist/types/run/step.js.map +0 -1
- package/dist/types/run/stop-reason.d.ts +0 -67
- package/dist/types/run/stop-reason.d.ts.map +0 -1
- package/dist/types/run/stop-reason.js.map +0 -1
- package/dist/types/run/store.d.ts +0 -300
- package/dist/types/run/store.d.ts.map +0 -1
- package/dist/types/run/store.js +0 -2
- package/dist/types/run/store.js.map +0 -1
- package/dist/types/run/subsession-events.d.ts +0 -64
- package/dist/types/run/subsession-events.d.ts.map +0 -1
- package/dist/types/run/subsession-events.js +0 -2
- package/dist/types/run/subsession-events.js.map +0 -1
- package/dist/types/run/token-budget-store.d.ts +0 -29
- package/dist/types/run/token-budget-store.d.ts.map +0 -1
- package/dist/types/run/token-budget-store.js +0 -25
- package/dist/types/run/token-budget-store.js.map +0 -1
- package/dist/types/workspace/shared-run.d.ts +0 -61
- package/dist/types/workspace/shared-run.d.ts.map +0 -1
- package/dist/types/workspace/shared-run.js +0 -2
- package/dist/types/workspace/shared-run.js.map +0 -1
- package/src/constants/emergency.ts +0 -3
- package/src/contracts/run-status.ts +0 -43
- package/src/eval/from-run.ts +0 -48
- package/src/manager/run/emergency.ts +0 -148
- package/src/manager/run/persistence.ts +0 -746
- package/src/read-model/run-status.ts +0 -127
- package/src/run/LimitChecker.ts +0 -99
- package/src/run/command-gate.ts +0 -294
- package/src/run/drain.ts +0 -403
- package/src/run/evidence-query.ts +0 -333
- package/src/run/evidence-recall.ts +0 -854
- package/src/run/index.ts +0 -42
- package/src/run/json-claim-verifier.ts +0 -298
- package/src/run/memory-promoter.ts +0 -147
- package/src/run/memory-recall.ts +0 -254
- package/src/run/reporter.ts +0 -469
- package/src/run/token-budget.ts +0 -733
- package/src/run-query/index.ts +0 -177
- package/src/runtime/query/finalize-run.ts +0 -192
- package/src/runtime/query/prepare-run.ts +0 -718
- package/src/runtime/query/release-run.ts +0 -168
- package/src/runtime/query/replay/list.ts +0 -66
- package/src/runtime/query/replay/mutate.ts +0 -82
- package/src/runtime/query/replay/prepare.ts +0 -147
- package/src/runtime/query/resume-run.ts +0 -202
- package/src/runtime/query/run-state.ts +0 -138
- package/src/session/workspace/path-builder.ts +0 -72
- package/src/session/workspace/shared-run.ts +0 -354
- package/src/store/evidence/compaction-archive.ts +0 -139
- package/src/store/evidence/linked.ts +0 -365
- package/src/store/evidence/record-chain.ts +0 -108
- package/src/store/run/checkpoint-disk.ts +0 -264
- package/src/store/run/checkpoint-memory.ts +0 -216
- package/src/store/run/claim-disk.ts +0 -638
- package/src/store/run/conformance.ts +0 -728
- package/src/store/run/disk.ts +0 -911
- package/src/store/run/listing.ts +0 -422
- package/src/store/run/memory.ts +0 -204
- package/src/store/run/token-budget-disk.ts +0 -250
- package/src/store/run/tool-executions.ts +0 -112
- package/src/store/session/sqlite.ts +0 -584
- package/src/types/run/answer-review.ts +0 -84
- package/src/types/run/audit.ts +0 -164
- package/src/types/run/cancel-cause.ts +0 -60
- package/src/types/run/checkpoint-store.ts +0 -545
- package/src/types/run/config.ts +0 -221
- package/src/types/run/derive-status.ts +0 -62
- package/src/types/run/emergency.ts +0 -28
- package/src/types/run/entity.ts +0 -161
- package/src/types/run/event-cursor.ts +0 -118
- package/src/types/run/events.ts +0 -1146
- package/src/types/run/index.ts +0 -32
- package/src/types/run/lineage.ts +0 -15
- package/src/types/run/memory-promotion.ts +0 -112
- package/src/types/run/metadata.ts +0 -51
- package/src/types/run/prepare-step.ts +0 -281
- package/src/types/run/replay.ts +0 -61
- package/src/types/run/schema-version.ts +0 -19
- package/src/types/run/state.ts +0 -206
- package/src/types/run/status.ts +0 -33
- package/src/types/run/step.ts +0 -217
- package/src/types/run/stop-reason.ts +0 -83
- package/src/types/run/store.ts +0 -325
- package/src/types/run/subsession-events.ts +0 -71
- package/src/types/run/token-budget-store.ts +0 -54
- package/src/types/workspace/shared-run.ts +0 -65
- /package/dist/{run → turn}/preparation-context-error.d.ts +0 -0
- /package/dist/{run → turn}/preparation-context-error.js +0 -0
- /package/dist/{run → turn}/workspace-fingerprint.d.ts +0 -0
- /package/dist/{run → turn}/workspace-fingerprint.js +0 -0
- /package/dist/types/{run → session}/answer-review.js +0 -0
- /package/dist/types/{run → session}/config.js +0 -0
- /package/dist/types/{run → session}/lineage.js +0 -0
- /package/dist/types/{run → session}/prepare-step.js +0 -0
- /package/dist/types/{run → session}/stop-reason.js +0 -0
- /package/src/{run → turn}/preparation-context-error.ts +0 -0
- /package/src/{run → turn}/workspace-fingerprint.ts +0 -0
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { rm } from 'node:fs/promises'
|
|
1
2
|
import { AGENT_MANAGER_DEFAULTS } from '../../constants/agent/index.js'
|
|
2
3
|
import { EMPTY_TOKEN_USAGE } from '../../constants/limits.js'
|
|
3
4
|
import { GENAI } from '../../constants/telemetry/index.js'
|
|
@@ -6,8 +7,14 @@ import {
|
|
|
6
7
|
type CapacityValidator,
|
|
7
8
|
DelegationCapacityExceeded,
|
|
8
9
|
} from '../../session/handoff/capacity.js'
|
|
10
|
+
import type { SessionLocator, SessionPaths } from '../../session/paths.js'
|
|
9
11
|
import type { SessionSummaryMaterializer } from '../../session/summary/materialize.js'
|
|
10
12
|
import type { WorkspaceBackendRegistry } from '../../session/workspace/registry.js'
|
|
13
|
+
import {
|
|
14
|
+
DiskSessionLog,
|
|
15
|
+
InMemorySessionLog,
|
|
16
|
+
type SessionLog,
|
|
17
|
+
} from '../../store/session-log/index.js'
|
|
11
18
|
import type { BaseAgentConfig, BaseAgentResult } from '../../types/agent/base.js'
|
|
12
19
|
import type {
|
|
13
20
|
AgentLifecycleEvent,
|
|
@@ -22,15 +29,16 @@ import type {
|
|
|
22
29
|
} from '../../types/agent/task.js'
|
|
23
30
|
import { isTerminalAgentTaskState } from '../../types/agent/task.js'
|
|
24
31
|
import { NamzuError } from '../../types/errors/index.js'
|
|
25
|
-
import type {
|
|
32
|
+
import type { SessionId, TaskId, TenantId, ToolUseId, TurnId } from '../../types/ids/index.js'
|
|
26
33
|
import type { Message } from '../../types/message/index.js'
|
|
27
|
-
import { type CancelCause, RunCancelled } from '../../types/run/cancel-cause.js'
|
|
28
|
-
import type { RunEvent, RunEventListener } from '../../types/run/events.js'
|
|
29
|
-
import type { Lineage } from '../../types/run/lineage.js'
|
|
30
|
-
import { RUN_EVENT_SCHEMA_VERSION } from '../../types/run/schema-version.js'
|
|
31
34
|
import type { ActorRef } from '../../types/session/actor.js'
|
|
35
|
+
import { type CancelCause, TurnCancelled } from '../../types/session/cancel-cause.js'
|
|
36
|
+
import type { SessionEvent, SessionEventListener } from '../../types/session/events.js'
|
|
32
37
|
import type { SubSessionId } from '../../types/session/ids.js'
|
|
38
|
+
import type { Lineage } from '../../types/session/lineage.js'
|
|
39
|
+
import type { ChildSessionMeta } from '../../types/session/records.js'
|
|
33
40
|
import type { SessionStore } from '../../types/session/store.js'
|
|
41
|
+
import type { TurnExecutionStatus } from '../../types/session/turn.js'
|
|
34
42
|
import type { SessionSummaryOutcome } from '../../types/summary/ref.js'
|
|
35
43
|
import type { WorkspaceRef } from '../../types/workspace/ref.js'
|
|
36
44
|
import { createChildAbortController } from '../../utils/abort.js'
|
|
@@ -42,6 +50,7 @@ import { type Logger, resolveLogger } from '../../utils/logger.js'
|
|
|
42
50
|
import { requireOpenProject } from '../project/lifecycle.js'
|
|
43
51
|
import { type TopicManagerDependency, resolveTopicManager } from '../topic/dependency.js'
|
|
44
52
|
import type { TopicManager } from '../topic/lifecycle.js'
|
|
53
|
+
import { registerChildSessionLog, writeChildSessionMeta } from './child-session.js'
|
|
45
54
|
|
|
46
55
|
/**
|
|
47
56
|
* Dependencies threaded into {@link AgentManager}. Phase 6 promoted the
|
|
@@ -76,10 +85,22 @@ interface AgentManagerBaseDeps {
|
|
|
76
85
|
* which is SDK-only) — but the field is genuinely host-reachable: it is
|
|
77
86
|
* a plain object-literal parameter (no exported type import required to
|
|
78
87
|
* satisfy it structurally) on `AgentManager`, which IS exported from
|
|
79
|
-
* `public-runtime.ts`. Same standing as `
|
|
88
|
+
* `public-runtime.ts`. Same standing as `TurnConfig.logger` when it was
|
|
80
89
|
* first added.
|
|
81
90
|
*/
|
|
82
91
|
readonly log?: Logger
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* The project layout child sessions are written into when neither the
|
|
95
|
+
* child config (`sessionLog`, `paths`) nor the parent
|
|
96
|
+
* (`AgentTaskContext.childStorage`) names one: the child's log at
|
|
97
|
+
* `<parent-session-dir>/subagents/<child-id>.jsonl` and its
|
|
98
|
+
* `<child-id>.meta.json` beside it, nested under each ancestor. A parent
|
|
99
|
+
* on disk hands down its own layout, which wins over this, because a
|
|
100
|
+
* child's log nests under its parent's session directory. A parent held
|
|
101
|
+
* in memory gives its children in-memory logs whatever this says.
|
|
102
|
+
*/
|
|
103
|
+
readonly paths?: SessionPaths
|
|
83
104
|
}
|
|
84
105
|
|
|
85
106
|
/**
|
|
@@ -100,7 +121,7 @@ interface PendingSpawn {
|
|
|
100
121
|
readonly task: AgentTask
|
|
101
122
|
readonly options: SendMessageOptions
|
|
102
123
|
readonly context: AgentTaskContext
|
|
103
|
-
readonly listener?:
|
|
124
|
+
readonly listener?: SessionEventListener
|
|
104
125
|
readonly removeAbortListener: () => void
|
|
105
126
|
}
|
|
106
127
|
|
|
@@ -109,8 +130,26 @@ interface ChildSpawnRecord {
|
|
|
109
130
|
childSessionId: SessionId
|
|
110
131
|
tenantId: TenantId
|
|
111
132
|
parentSessionId: SessionId
|
|
133
|
+
/** The parent turn whose tool call spawned the child. */
|
|
134
|
+
parentTurnId: TurnId
|
|
112
135
|
rootSessionId: SessionId
|
|
136
|
+
/** The parent's ancestors and the parent itself, root first: the child's `SessionLocator.ancestors`. */
|
|
137
|
+
ancestry: readonly SessionId[]
|
|
113
138
|
childDepth: number
|
|
139
|
+
/**
|
|
140
|
+
* Where the child's log and meta document were placed, when this manager
|
|
141
|
+
* placed them (a layout was known and the child named no storage).
|
|
142
|
+
*/
|
|
143
|
+
placement?: {
|
|
144
|
+
readonly paths: SessionPaths
|
|
145
|
+
readonly metaPath: string
|
|
146
|
+
readonly createdAt: string
|
|
147
|
+
readonly toolCallId: string
|
|
148
|
+
readonly agentType: string
|
|
149
|
+
readonly description: string
|
|
150
|
+
}
|
|
151
|
+
/** Removes the child's log from the process-local lookup. */
|
|
152
|
+
releaseLog?: () => void
|
|
114
153
|
workspaceRef?: WorkspaceRef
|
|
115
154
|
/**
|
|
116
155
|
* What this child was actually granted, after the ancestor union.
|
|
@@ -181,7 +220,7 @@ export class AgentManager {
|
|
|
181
220
|
async sendMessage(
|
|
182
221
|
options: SendMessageOptions,
|
|
183
222
|
context: AgentTaskContext,
|
|
184
|
-
listener?:
|
|
223
|
+
listener?: SessionEventListener,
|
|
185
224
|
): Promise<AgentTask> {
|
|
186
225
|
if (this.disposed) throw new Error('Agent manager is disposed')
|
|
187
226
|
if (this.config.capacityBehavior === 'queue')
|
|
@@ -192,7 +231,7 @@ export class AgentManager {
|
|
|
192
231
|
private async enqueueMessage(
|
|
193
232
|
options: SendMessageOptions,
|
|
194
233
|
context: AgentTaskContext,
|
|
195
|
-
listener?:
|
|
234
|
+
listener?: SessionEventListener,
|
|
196
235
|
): Promise<AgentTask> {
|
|
197
236
|
context.parentAbortController.signal.throwIfAborted()
|
|
198
237
|
if (context.depth >= this.config.maxDepth)
|
|
@@ -214,7 +253,7 @@ export class AgentManager {
|
|
|
214
253
|
state: 'pending',
|
|
215
254
|
pendingMessages: [],
|
|
216
255
|
createdAt: Date.now(),
|
|
217
|
-
|
|
256
|
+
sessionEventListener: listener,
|
|
218
257
|
}
|
|
219
258
|
this.instances.set(task.taskId, task)
|
|
220
259
|
const onAbort = (): void => {
|
|
@@ -247,7 +286,8 @@ export class AgentManager {
|
|
|
247
286
|
try {
|
|
248
287
|
await listener?.({
|
|
249
288
|
type: 'agent_pending',
|
|
250
|
-
|
|
289
|
+
sessionId: context.parentSessionId,
|
|
290
|
+
turnId: context.parentTurnId,
|
|
251
291
|
taskId: task.taskId,
|
|
252
292
|
parentAgentId: context.parentAgentId,
|
|
253
293
|
childAgentId: options.agentId,
|
|
@@ -331,8 +371,11 @@ export class AgentManager {
|
|
|
331
371
|
if (isTerminalAgentTaskState(task.state)) return
|
|
332
372
|
task.childAbortController.abort(reason)
|
|
333
373
|
const error = toErrorMessage(reason)
|
|
374
|
+
// The child never got a session, so its result names the parent turn
|
|
375
|
+
// that asked for it.
|
|
334
376
|
task.result = {
|
|
335
|
-
|
|
377
|
+
sessionId: entry.context.parentSessionId,
|
|
378
|
+
turnId: entry.context.parentTurnId,
|
|
336
379
|
status: 'failed',
|
|
337
380
|
usage: { ...EMPTY_TOKEN_USAGE },
|
|
338
381
|
cost: { ...ZERO_COST },
|
|
@@ -344,9 +387,10 @@ export class AgentManager {
|
|
|
344
387
|
task.state = 'failed'
|
|
345
388
|
task.completedAt = Date.now()
|
|
346
389
|
this.emit({ type: 'failed', taskId: task.taskId, error })
|
|
347
|
-
this.
|
|
390
|
+
this.emitSessionEvent(task, {
|
|
348
391
|
type: 'agent_failed',
|
|
349
|
-
|
|
392
|
+
sessionId: entry.context.parentSessionId,
|
|
393
|
+
turnId: entry.context.parentTurnId,
|
|
350
394
|
taskId: task.taskId,
|
|
351
395
|
error,
|
|
352
396
|
})
|
|
@@ -357,7 +401,7 @@ export class AgentManager {
|
|
|
357
401
|
private async startMessage(
|
|
358
402
|
options: SendMessageOptions,
|
|
359
403
|
context: AgentTaskContext,
|
|
360
|
-
listener?:
|
|
404
|
+
listener?: SessionEventListener,
|
|
361
405
|
queuedTask?: AgentTask,
|
|
362
406
|
): Promise<AgentTask> {
|
|
363
407
|
await options.beforeStart?.()
|
|
@@ -377,8 +421,8 @@ export class AgentManager {
|
|
|
377
421
|
// A shell this task has to itself, not the registry's shared instance.
|
|
378
422
|
//
|
|
379
423
|
// `resolve` returns one `typedAgent` per registered id, and an instance
|
|
380
|
-
// refuses a second concurrent `run` because it holds per-
|
|
381
|
-
// a fan-out naming the same `agent_id` four times drove four
|
|
424
|
+
// refuses a second concurrent `run` because it holds per-turn state. So
|
|
425
|
+
// a fan-out naming the same `agent_id` four times drove four turns at one
|
|
382
426
|
// shell: one worked and three died with `ConcurrentInvocationError` —
|
|
383
427
|
// while `create_task`'s own description tells the model that this
|
|
384
428
|
// fan-out is the thing to do. Observed live on 12.0.1, four launches,
|
|
@@ -394,7 +438,7 @@ export class AgentManager {
|
|
|
394
438
|
// the agent. The shell was the only shared thing left.
|
|
395
439
|
const definitionForSpawn = this.registry.getOrThrow(options.agentId)
|
|
396
440
|
const sharedAgent = definitionForSpawn.typedAgent
|
|
397
|
-
const agent = definitionForSpawn.createAgent?.() ?? sharedAgent.
|
|
441
|
+
const agent = definitionForSpawn.createAgent?.() ?? sharedAgent.forTurn?.() ?? sharedAgent
|
|
398
442
|
|
|
399
443
|
context.parentAbortController.signal.throwIfAborted()
|
|
400
444
|
|
|
@@ -490,7 +534,7 @@ export class AgentManager {
|
|
|
490
534
|
// A check that cannot fail reads as a safeguard and is not one. The
|
|
491
535
|
// predicate is exported for the callers that do face an actor they
|
|
492
536
|
// did not construct: an audit walking a subtree, a host asking
|
|
493
|
-
// whether one
|
|
537
|
+
// whether one turn's actor is contained by another's.
|
|
494
538
|
//
|
|
495
539
|
// Union, not replace, and not "innermost wins": a descendant may
|
|
496
540
|
// narrow further and may never widen.
|
|
@@ -499,7 +543,8 @@ export class AgentManager {
|
|
|
499
543
|
const resolvedDenies = [...new Set([...inheritedDenies, ...ownDenies])]
|
|
500
544
|
|
|
501
545
|
const childContext: AgentTaskContext = {
|
|
502
|
-
|
|
546
|
+
parentSessionId: context.parentSessionId,
|
|
547
|
+
parentTurnId: context.parentTurnId,
|
|
503
548
|
parentAgentId: context.parentAgentId,
|
|
504
549
|
parentAbortController: context.parentAbortController,
|
|
505
550
|
depth: context.depth + 1,
|
|
@@ -511,6 +556,7 @@ export class AgentManager {
|
|
|
511
556
|
projectId: context.projectId,
|
|
512
557
|
parentActor: childParentActor,
|
|
513
558
|
...(resolvedDenies.length > 0 ? { toolDenies: resolvedDenies } : {}),
|
|
559
|
+
...(context.childStorage ? { childStorage: context.childStorage } : {}),
|
|
514
560
|
}
|
|
515
561
|
|
|
516
562
|
agentTask = Object.assign(queuedTask ?? {}, {
|
|
@@ -522,7 +568,7 @@ export class AgentManager {
|
|
|
522
568
|
state: 'pending',
|
|
523
569
|
pendingMessages: queuedTask?.pendingMessages ?? [],
|
|
524
570
|
createdAt: queuedTask?.createdAt ?? Date.now(),
|
|
525
|
-
|
|
571
|
+
sessionEventListener: listener,
|
|
526
572
|
} satisfies AgentTask)
|
|
527
573
|
|
|
528
574
|
childAbortController.signal.throwIfAborted()
|
|
@@ -542,7 +588,8 @@ export class AgentManager {
|
|
|
542
588
|
if (!queuedTask)
|
|
543
589
|
await listener({
|
|
544
590
|
type: 'agent_pending',
|
|
545
|
-
|
|
591
|
+
sessionId: context.parentSessionId,
|
|
592
|
+
turnId: context.parentTurnId,
|
|
546
593
|
taskId,
|
|
547
594
|
parentAgentId: context.parentAgentId,
|
|
548
595
|
childAgentId: options.agentId,
|
|
@@ -558,14 +605,25 @@ export class AgentManager {
|
|
|
558
605
|
depth: spawnRecord.childDepth,
|
|
559
606
|
}
|
|
560
607
|
await listener({
|
|
561
|
-
type: '
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
608
|
+
type: 'child_session_spawned',
|
|
609
|
+
sessionId: spawnRecord.parentSessionId,
|
|
610
|
+
turnId: spawnRecord.parentTurnId,
|
|
611
|
+
childSessionId: spawnRecord.childSessionId,
|
|
612
|
+
toolCallId: spawnToolCallId(taskId),
|
|
613
|
+
kind: 'agent_spawn',
|
|
614
|
+
description: describeSpawn(options),
|
|
615
|
+
path: childLogPath(spawnRecord.childSessionId),
|
|
616
|
+
...(options.workflow
|
|
617
|
+
? {
|
|
618
|
+
batch: {
|
|
619
|
+
batchId: options.workflow,
|
|
620
|
+
name: options.workflow,
|
|
621
|
+
...(options.phase ? { phase: options.phase } : {}),
|
|
622
|
+
},
|
|
623
|
+
}
|
|
624
|
+
: {}),
|
|
625
|
+
budgetAccountId: childBudget.accountId,
|
|
566
626
|
lineage,
|
|
567
|
-
schemaVersion: RUN_EVENT_SCHEMA_VERSION,
|
|
568
|
-
at: new Date(),
|
|
569
627
|
})
|
|
570
628
|
}
|
|
571
629
|
this.log.info('Agent task pending', {
|
|
@@ -587,7 +645,9 @@ export class AgentManager {
|
|
|
587
645
|
...(context.factoryOptions ?? {}),
|
|
588
646
|
tokenBudget: allocatedTokens,
|
|
589
647
|
timeoutMs: options.budgetAllocation?.timeoutMs ?? this.config.childTimeoutMs,
|
|
590
|
-
|
|
648
|
+
sessionId: spawnRecord.childSessionId,
|
|
649
|
+
parentSessionId: spawnRecord.parentSessionId,
|
|
650
|
+
parentTurnId: spawnRecord.parentTurnId,
|
|
591
651
|
depth: context.depth + 1,
|
|
592
652
|
...options.configOverrides,
|
|
593
653
|
})),
|
|
@@ -617,7 +677,7 @@ export class AgentManager {
|
|
|
617
677
|
//
|
|
618
678
|
// Without this every delegated child fell through to
|
|
619
679
|
// `autoApproveHandler`, so a host's "ask before acting" gate
|
|
620
|
-
// covered the top-level
|
|
680
|
+
// covered the top-level turn and nothing it delegated.
|
|
621
681
|
const inheritedHandler = options.configOverrides?.resumeHandler ?? context.resumeHandler
|
|
622
682
|
if (inheritedHandler) childConfig.resumeHandler = inheritedHandler
|
|
623
683
|
|
|
@@ -670,18 +730,19 @@ export class AgentManager {
|
|
|
670
730
|
topicId: context.topicId,
|
|
671
731
|
projectId: context.projectId,
|
|
672
732
|
tenantId: context.tenantId,
|
|
673
|
-
|
|
733
|
+
parentSessionId: spawnRecord.parentSessionId,
|
|
734
|
+
parentTurnId: spawnRecord.parentTurnId,
|
|
674
735
|
depth: context.depth + 1,
|
|
675
736
|
resumeHandler: options.configOverrides?.resumeHandler ?? context.resumeHandler,
|
|
676
737
|
}
|
|
677
738
|
}
|
|
678
739
|
|
|
679
|
-
// The screens in force for the parent
|
|
740
|
+
// The screens in force for the parent session, stamped onto the child
|
|
680
741
|
// the way the trace parent and the review handler are — and after
|
|
681
742
|
// both branches, because the bare-config branch builds its whole
|
|
682
743
|
// config by hand and would otherwise omit this one field.
|
|
683
744
|
//
|
|
684
|
-
// A child
|
|
745
|
+
// A child session builds its own executor, which installs
|
|
685
746
|
// `DEFAULT_TOOL_RESULT_GUARDRAILS` when nothing said otherwise — so
|
|
686
747
|
// without this a parent that turned the screens off, or exempted a
|
|
687
748
|
// tool it knows, had that decision revert the moment it delegated,
|
|
@@ -701,8 +762,9 @@ export class AgentManager {
|
|
|
701
762
|
// Lineage is assigned by the spawning manager, not proposed by the
|
|
702
763
|
// child definition. A fixed configBuilder can ignore its inputs and
|
|
703
764
|
// configOverrides is caller-authored; neither may turn a child back
|
|
704
|
-
// into depth zero or attach it to a different parent
|
|
705
|
-
childConfig.
|
|
765
|
+
// into depth zero or attach it to a different parent session.
|
|
766
|
+
childConfig.parentSessionId = spawnRecord.parentSessionId
|
|
767
|
+
childConfig.parentTurnId = spawnRecord.parentTurnId
|
|
706
768
|
childConfig.depth = context.depth + 1
|
|
707
769
|
childConfig.budget = childBudget
|
|
708
770
|
// The reservation is the execution ceiling, regardless of a builder's
|
|
@@ -739,7 +801,7 @@ export class AgentManager {
|
|
|
739
801
|
// Narrowing only: the deny list is SUBTRACTED from whatever the child
|
|
740
802
|
// would otherwise have. `allowedTools` absent means "every registered
|
|
741
803
|
// tool", so a deny with no existing allow-list has to be resolved
|
|
742
|
-
// against the registry at the
|
|
804
|
+
// against the registry at the turn rather than here — which `query()`
|
|
743
805
|
// does, and which is why this appends to `deniedTools` rather than
|
|
744
806
|
// synthesising an allow-list.
|
|
745
807
|
if (resolvedDenies.length > 0) {
|
|
@@ -749,6 +811,33 @@ export class AgentManager {
|
|
|
749
811
|
}
|
|
750
812
|
if (options.personaOverride) childConfig.persona = options.personaOverride
|
|
751
813
|
|
|
814
|
+
// Where the child session lives, stamped after the builder for the
|
|
815
|
+
// same reason as everything above: a `configBuilder` cannot forward
|
|
816
|
+
// a field it was never told about.
|
|
817
|
+
//
|
|
818
|
+
// A parent held in memory gives its child a fresh in-memory log (a
|
|
819
|
+
// log is one session's, never shared), and its checkpoint store
|
|
820
|
+
// when it named one, so the child writes nothing under
|
|
821
|
+
// `NAMZU_HOME`. Otherwise, with a layout known, the child's log goes
|
|
822
|
+
// under its parent (`<parent>/subagents/<child-id>.jsonl`) with its
|
|
823
|
+
// meta document beside it. A child config that names a session log
|
|
824
|
+
// or paths of its own chose where it goes, and keeps it.
|
|
825
|
+
const childLog = await this.placeChildSession(
|
|
826
|
+
spawnRecord,
|
|
827
|
+
childConfig,
|
|
828
|
+
context,
|
|
829
|
+
options,
|
|
830
|
+
taskId,
|
|
831
|
+
)
|
|
832
|
+
if (childLog) {
|
|
833
|
+
await this.startChildSessionLog(childLog, spawnRecord, context, options, taskId, {
|
|
834
|
+
id: agent.metadata.id,
|
|
835
|
+
name: agent.metadata.name,
|
|
836
|
+
})
|
|
837
|
+
childConfig.sessionLog = childLog
|
|
838
|
+
spawnRecord.releaseLog = registerChildSessionLog(childLog)
|
|
839
|
+
}
|
|
840
|
+
|
|
752
841
|
// Outside the branch, like the scope above it and for the same reason:
|
|
753
842
|
// a `configBuilder` cannot forward a field it was never told about.
|
|
754
843
|
//
|
|
@@ -778,6 +867,12 @@ export class AgentManager {
|
|
|
778
867
|
} catch (writeError) {
|
|
779
868
|
failure = writeError
|
|
780
869
|
}
|
|
870
|
+
// The child's turn is over either way; its parent hears so first.
|
|
871
|
+
await this.settleChildSession(
|
|
872
|
+
runningTask,
|
|
873
|
+
spawnRecord,
|
|
874
|
+
runningTask.state === 'canceled' ? 'cancelled' : 'failed',
|
|
875
|
+
)
|
|
781
876
|
// Cancellation may already have published a terminal handle. Its
|
|
782
877
|
// invocation has only NOW stopped; release the persisted edge here.
|
|
783
878
|
if (!this.instances.has(taskId) || isTerminalAgentTaskState(runningTask.state)) {
|
|
@@ -786,7 +881,7 @@ export class AgentManager {
|
|
|
786
881
|
})
|
|
787
882
|
.finally(() => {
|
|
788
883
|
this.executingTasks.delete(taskId)
|
|
789
|
-
if (!this.instances.has(taskId)) this.
|
|
884
|
+
if (!this.instances.has(taskId)) this.dropSpawnRecord(taskId)
|
|
790
885
|
this.pumpAdmissions(options.parentSessionId)
|
|
791
886
|
})
|
|
792
887
|
.catch((error) =>
|
|
@@ -827,9 +922,10 @@ export class AgentManager {
|
|
|
827
922
|
const error = toErrorMessage(reason)
|
|
828
923
|
this.emit({ type: 'failed', taskId: agentTask.taskId, error })
|
|
829
924
|
try {
|
|
830
|
-
await agentTask.
|
|
925
|
+
await agentTask.sessionEventListener?.({
|
|
831
926
|
type: 'agent_failed',
|
|
832
|
-
|
|
927
|
+
sessionId: agentTask.context.parentSessionId,
|
|
928
|
+
turnId: agentTask.context.parentTurnId,
|
|
833
929
|
taskId: agentTask.taskId,
|
|
834
930
|
error,
|
|
835
931
|
})
|
|
@@ -843,7 +939,8 @@ export class AgentManager {
|
|
|
843
939
|
this.clearEvictionTimer(agentTask.taskId)
|
|
844
940
|
if (retainHandle) {
|
|
845
941
|
agentTask.result ??= {
|
|
846
|
-
|
|
942
|
+
sessionId: agentTask.context.parentSessionId,
|
|
943
|
+
turnId: agentTask.context.parentTurnId,
|
|
847
944
|
status: 'failed',
|
|
848
945
|
usage: { ...EMPTY_TOKEN_USAGE },
|
|
849
946
|
cost: { ...ZERO_COST },
|
|
@@ -855,12 +952,23 @@ export class AgentManager {
|
|
|
855
952
|
agentTask.completedAt = Date.now()
|
|
856
953
|
this.scheduleEviction(agentTask.taskId)
|
|
857
954
|
} else this.instances.delete(agentTask.taskId)
|
|
858
|
-
this.
|
|
955
|
+
this.dropSpawnRecord(agentTask.taskId)
|
|
859
956
|
this.resolveCompletionCallbacks(agentTask.taskId)
|
|
860
957
|
await this.rollbackSpawnResources(spawnRecord)
|
|
861
958
|
}
|
|
862
959
|
|
|
863
960
|
private async rollbackSpawnResources(spawnRecord: ChildSpawnRecord): Promise<void> {
|
|
961
|
+
spawnRecord.releaseLog?.()
|
|
962
|
+
// A child that never started leaves no meta document naming it: the
|
|
963
|
+
// session it describes is being deleted below.
|
|
964
|
+
if (spawnRecord.placement) {
|
|
965
|
+
await rm(spawnRecord.placement.metaPath, { force: true }).catch((err) =>
|
|
966
|
+
this.log.warn('Unstarted child meta removal failed', {
|
|
967
|
+
'namzu.store.path': spawnRecord.placement?.metaPath,
|
|
968
|
+
'exception.message': toErrorMessage(err),
|
|
969
|
+
}),
|
|
970
|
+
)
|
|
971
|
+
}
|
|
864
972
|
await this.disposeChildWorkspace(spawnRecord)
|
|
865
973
|
try {
|
|
866
974
|
// The edge must be removed before its child: stores reject deletion
|
|
@@ -875,6 +983,139 @@ export class AgentManager {
|
|
|
875
983
|
}
|
|
876
984
|
}
|
|
877
985
|
|
|
986
|
+
/** Forget a spawn record, and take its child's log out of the process-local lookup. */
|
|
987
|
+
private dropSpawnRecord(taskId: TaskId): void {
|
|
988
|
+
this.spawnRecords.get(taskId)?.releaseLog?.()
|
|
989
|
+
this.spawnRecords.delete(taskId)
|
|
990
|
+
}
|
|
991
|
+
|
|
992
|
+
/** The parent session's place in the tree: its ancestors, root first. */
|
|
993
|
+
private parentLocator(spawnRecord: ChildSpawnRecord): SessionLocator {
|
|
994
|
+
return {
|
|
995
|
+
sessionId: spawnRecord.parentSessionId,
|
|
996
|
+
ancestors: spawnRecord.ancestry.slice(0, -1),
|
|
997
|
+
}
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
/** The meta document for a placed child, as it stands at spawn. */
|
|
1001
|
+
private childMeta(spawnRecord: ChildSpawnRecord): ChildSessionMeta {
|
|
1002
|
+
const placement = spawnRecord.placement
|
|
1003
|
+
if (!placement) throw new Error('A child session placed by no layout has no meta document')
|
|
1004
|
+
return {
|
|
1005
|
+
v: 1,
|
|
1006
|
+
kind: 'child-session',
|
|
1007
|
+
sessionId: spawnRecord.childSessionId,
|
|
1008
|
+
parentSessionId: spawnRecord.parentSessionId,
|
|
1009
|
+
parentTurnId: spawnRecord.parentTurnId,
|
|
1010
|
+
rootSessionId: spawnRecord.rootSessionId,
|
|
1011
|
+
depth: spawnRecord.childDepth,
|
|
1012
|
+
toolCallId: placement.toolCallId,
|
|
1013
|
+
agentType: placement.agentType,
|
|
1014
|
+
description: placement.description,
|
|
1015
|
+
status: 'running',
|
|
1016
|
+
createdAt: placement.createdAt,
|
|
1017
|
+
}
|
|
1018
|
+
}
|
|
1019
|
+
|
|
1020
|
+
/**
|
|
1021
|
+
* Decide where a child session's log lives, and write its meta document
|
|
1022
|
+
* when this manager places it.
|
|
1023
|
+
*
|
|
1024
|
+
* - A config that names a `sessionLog` keeps it; one that names `paths`
|
|
1025
|
+
* gets its log in that layout, under its parent.
|
|
1026
|
+
* - A parent held in memory gives a fresh `InMemorySessionLog`, plus its
|
|
1027
|
+
* checkpoint store when it named one.
|
|
1028
|
+
* - Otherwise, with {@link AgentManagerDeps.paths} known, the log goes to
|
|
1029
|
+
* `<parent-session-dir>/subagents/<child-id>.jsonl`, nested under every
|
|
1030
|
+
* ancestor, with `<child-id>.meta.json` beside it.
|
|
1031
|
+
*
|
|
1032
|
+
* Returns the log the child should append to, or `undefined` to leave
|
|
1033
|
+
* the child's config as it is.
|
|
1034
|
+
*/
|
|
1035
|
+
private async placeChildSession(
|
|
1036
|
+
spawnRecord: ChildSpawnRecord,
|
|
1037
|
+
childConfig: BaseAgentConfig,
|
|
1038
|
+
context: AgentTaskContext,
|
|
1039
|
+
options: SendMessageOptions,
|
|
1040
|
+
taskId: TaskId,
|
|
1041
|
+
): Promise<SessionLog | undefined> {
|
|
1042
|
+
if (childConfig.sessionLog !== undefined) return undefined
|
|
1043
|
+
const inherited = context.childStorage
|
|
1044
|
+
if (inherited?.kind === 'memory' && childConfig.paths === undefined) {
|
|
1045
|
+
if (inherited.checkpointStore && childConfig.checkpointStore === undefined) {
|
|
1046
|
+
childConfig.checkpointStore = inherited.checkpointStore
|
|
1047
|
+
}
|
|
1048
|
+
return new InMemorySessionLog({ sessionId: spawnRecord.childSessionId })
|
|
1049
|
+
}
|
|
1050
|
+
// The parent's own layout first: a child's log nests under its
|
|
1051
|
+
// parent's session directory, so it must be the parent's layout.
|
|
1052
|
+
const paths =
|
|
1053
|
+
childConfig.paths ??
|
|
1054
|
+
(inherited?.kind === 'disk' ? inherited.paths : undefined) ??
|
|
1055
|
+
this.deps.paths
|
|
1056
|
+
if (!paths) return undefined
|
|
1057
|
+
childConfig.paths = paths
|
|
1058
|
+
const parent = this.parentLocator(spawnRecord)
|
|
1059
|
+
spawnRecord.placement = {
|
|
1060
|
+
paths,
|
|
1061
|
+
metaPath: paths.subagentMeta(parent, spawnRecord.childSessionId),
|
|
1062
|
+
createdAt: new Date().toISOString(),
|
|
1063
|
+
toolCallId: spawnToolCallId(taskId),
|
|
1064
|
+
agentType: options.agentId,
|
|
1065
|
+
description: describeSpawn(options),
|
|
1066
|
+
}
|
|
1067
|
+
await writeChildSessionMeta(spawnRecord.placement.metaPath, this.childMeta(spawnRecord))
|
|
1068
|
+
return DiskSessionLog.at(paths, {
|
|
1069
|
+
sessionId: spawnRecord.childSessionId,
|
|
1070
|
+
ancestors: spawnRecord.ancestry,
|
|
1071
|
+
})
|
|
1072
|
+
}
|
|
1073
|
+
|
|
1074
|
+
/**
|
|
1075
|
+
* Open a child session placed by this manager with its `session_started`,
|
|
1076
|
+
* naming where it sits in the tree (`parent`: the spawning session, turn
|
|
1077
|
+
* and tool call, the root session, the depth, and the kind of spawn).
|
|
1078
|
+
*
|
|
1079
|
+
* Written here, before the child sessions, because only the manager knows all
|
|
1080
|
+
* of it: a child's config carries its parent session and turn but not the
|
|
1081
|
+
* tool call or the root. The child's own turn then finds the log started
|
|
1082
|
+
* and appends after it. A log that already has records is left alone.
|
|
1083
|
+
*/
|
|
1084
|
+
private async startChildSessionLog(
|
|
1085
|
+
log: SessionLog,
|
|
1086
|
+
spawnRecord: ChildSpawnRecord,
|
|
1087
|
+
context: AgentTaskContext,
|
|
1088
|
+
options: SendMessageOptions,
|
|
1089
|
+
taskId: TaskId,
|
|
1090
|
+
agent: { readonly id: string; readonly name: string },
|
|
1091
|
+
): Promise<void> {
|
|
1092
|
+
const lease = await log.claim({ holder: `namzu:agent-manager:${taskId}`, ttlMs: 30_000 })
|
|
1093
|
+
if (lease === null) {
|
|
1094
|
+
throw new Error(`Child session ${spawnRecord.childSessionId} is already leased`)
|
|
1095
|
+
}
|
|
1096
|
+
try {
|
|
1097
|
+
if ((await log.head()) !== null) return
|
|
1098
|
+
await log.append(lease, {
|
|
1099
|
+
type: 'session_started',
|
|
1100
|
+
projectId: context.projectId,
|
|
1101
|
+
tenantId: spawnRecord.tenantId,
|
|
1102
|
+
topicId: context.topicId,
|
|
1103
|
+
cwd: options.input.workingDirectory ?? process.cwd(),
|
|
1104
|
+
agent: { id: agent.id, name: agent.name, type: options.agentId },
|
|
1105
|
+
parent: {
|
|
1106
|
+
sessionId: spawnRecord.parentSessionId,
|
|
1107
|
+
turnId: spawnRecord.parentTurnId,
|
|
1108
|
+
toolCallId: spawnToolCallId(taskId),
|
|
1109
|
+
rootSessionId: spawnRecord.rootSessionId,
|
|
1110
|
+
depth: spawnRecord.childDepth,
|
|
1111
|
+
kind: 'agent_spawn',
|
|
1112
|
+
},
|
|
1113
|
+
})
|
|
1114
|
+
} finally {
|
|
1115
|
+
await log.release(lease)
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
|
|
878
1119
|
cancel(taskId: TaskId, cause?: CancelCause): void {
|
|
879
1120
|
if (this.cancelingTasks.has(taskId)) return
|
|
880
1121
|
const agentTask = this.instances.get(taskId)
|
|
@@ -882,23 +1123,23 @@ export class AgentManager {
|
|
|
882
1123
|
|
|
883
1124
|
// Was the bare string `'canceled'`, which `abortReasonText` suppresses
|
|
884
1125
|
// by name — its docblock cites this exact call site — so the child's
|
|
885
|
-
//
|
|
1126
|
+
// turn saw a cancellation with no attributable origin at all.
|
|
886
1127
|
// Abort listeners run synchronously. A pending task's parent observer
|
|
887
1128
|
// must not reenter this method and replace an explicit user's cause.
|
|
888
1129
|
this.cancelingTasks.add(taskId)
|
|
889
1130
|
try {
|
|
890
|
-
agentTask.childAbortController.abort(cause ? new
|
|
1131
|
+
agentTask.childAbortController.abort(cause ? new TurnCancelled(cause) : undefined)
|
|
891
1132
|
this.markCanceled(taskId, cause)
|
|
892
1133
|
} finally {
|
|
893
1134
|
this.cancelingTasks.delete(taskId)
|
|
894
1135
|
}
|
|
895
1136
|
}
|
|
896
1137
|
|
|
897
|
-
cancelAll(
|
|
1138
|
+
cancelAll(parentSessionId: SessionId, cause: CancelCause = 'parent'): void {
|
|
898
1139
|
// `'parent'` by default, because this call site IS a parent
|
|
899
1140
|
// abandoning its children. `AbstractAgent.cancel` takes no default
|
|
900
1141
|
// for the opposite reason: its caller could be anyone.
|
|
901
|
-
for (const agentTask of this.listByParent(
|
|
1142
|
+
for (const agentTask of this.listByParent(parentSessionId)) {
|
|
902
1143
|
this.cancel(agentTask.taskId, cause)
|
|
903
1144
|
}
|
|
904
1145
|
}
|
|
@@ -960,8 +1201,10 @@ export class AgentManager {
|
|
|
960
1201
|
return this.spawnRecords.get(taskId)
|
|
961
1202
|
}
|
|
962
1203
|
|
|
963
|
-
listByParent(
|
|
964
|
-
return Array.from(this.instances.values()).filter(
|
|
1204
|
+
listByParent(parentSessionId: SessionId): AgentTask[] {
|
|
1205
|
+
return Array.from(this.instances.values()).filter(
|
|
1206
|
+
(t) => t.context.parentSessionId === parentSessionId,
|
|
1207
|
+
)
|
|
965
1208
|
}
|
|
966
1209
|
|
|
967
1210
|
listActive(): AgentTask[] {
|
|
@@ -990,7 +1233,7 @@ export class AgentManager {
|
|
|
990
1233
|
if (isTerminalAgentTaskState(agentTask.state)) {
|
|
991
1234
|
this.clearEvictionTimer(taskId)
|
|
992
1235
|
this.instances.delete(taskId)
|
|
993
|
-
if (!this.executingTasks.has(taskId)) this.
|
|
1236
|
+
if (!this.executingTasks.has(taskId)) this.dropSpawnRecord(taskId)
|
|
994
1237
|
}
|
|
995
1238
|
}
|
|
996
1239
|
}
|
|
@@ -1006,7 +1249,8 @@ export class AgentManager {
|
|
|
1006
1249
|
this.clearEvictionTimer(taskId)
|
|
1007
1250
|
}
|
|
1008
1251
|
// Every live child, not the children of one parent. This used to call
|
|
1009
|
-
// `cancelAll
|
|
1252
|
+
// `cancelAll` with an invented empty parent id, and `cancelAll` filters
|
|
1253
|
+
// by parent —
|
|
1010
1254
|
// no task has an empty parent, so it matched nothing and the lines
|
|
1011
1255
|
// below then dropped every reference to work that was still running.
|
|
1012
1256
|
for (const taskId of [...this.instances.keys()]) {
|
|
@@ -1014,7 +1258,7 @@ export class AgentManager {
|
|
|
1014
1258
|
}
|
|
1015
1259
|
this.instances.clear()
|
|
1016
1260
|
for (const taskId of this.spawnRecords.keys())
|
|
1017
|
-
if (!this.executingTasks.has(taskId)) this.
|
|
1261
|
+
if (!this.executingTasks.has(taskId)) this.dropSpawnRecord(taskId)
|
|
1018
1262
|
this.listeners.length = 0
|
|
1019
1263
|
}
|
|
1020
1264
|
|
|
@@ -1227,7 +1471,7 @@ export class AgentManager {
|
|
|
1227
1471
|
// deny-by-default cascade policy (Convention #5): `deleteSession`
|
|
1228
1472
|
// throws when any subsession still references it, so the subsession
|
|
1229
1473
|
// record must be removed first. No failed-subsession audit row is
|
|
1230
|
-
// kept — the `
|
|
1474
|
+
// kept — the `child_session_spawned` event never fired (we aborted
|
|
1231
1475
|
// before `buildSpawnRecord`), so no observer is expecting one, and
|
|
1232
1476
|
// leaving a `status: 'failed'` breadcrumb would be a dangling
|
|
1233
1477
|
// record with no corresponding emission. The original `err` is the
|
|
@@ -1245,7 +1489,9 @@ export class AgentManager {
|
|
|
1245
1489
|
childSessionId: childSession.id,
|
|
1246
1490
|
tenantId: context.tenantId,
|
|
1247
1491
|
parentSessionId: options.parentSessionId,
|
|
1492
|
+
parentTurnId: context.parentTurnId,
|
|
1248
1493
|
rootSessionId,
|
|
1494
|
+
ancestry: parentAncestry,
|
|
1249
1495
|
childDepth,
|
|
1250
1496
|
workspaceRef,
|
|
1251
1497
|
}
|
|
@@ -1255,7 +1501,7 @@ export class AgentManager {
|
|
|
1255
1501
|
agentTask: AgentTask,
|
|
1256
1502
|
options: SendMessageOptions,
|
|
1257
1503
|
childConfig: BaseAgentConfig,
|
|
1258
|
-
listener?:
|
|
1504
|
+
listener?: SessionEventListener,
|
|
1259
1505
|
): Promise<void> {
|
|
1260
1506
|
this.updateState(agentTask.taskId, 'running')
|
|
1261
1507
|
this.emit({ type: 'running', taskId: agentTask.taskId })
|
|
@@ -1269,22 +1515,24 @@ export class AgentManager {
|
|
|
1269
1515
|
const childListener = this.wrapChildListener(listener, spawnRecord)
|
|
1270
1516
|
|
|
1271
1517
|
const result = await agentTask.agent.run(input, childConfig, childListener)
|
|
1272
|
-
agentTask.context.budget.
|
|
1518
|
+
agentTask.context.budget.bindTurn(result.sessionId, result.turnId)
|
|
1273
1519
|
agentTask.context.budget.settle(result.usage?.totalTokens)
|
|
1274
1520
|
await agentTask.context.budget.flush()
|
|
1275
1521
|
await this.finalizeChild(agentTask, result)
|
|
1276
1522
|
}
|
|
1277
1523
|
|
|
1278
1524
|
/**
|
|
1279
|
-
* Wraps the parent listener so every event
|
|
1280
|
-
* carries
|
|
1281
|
-
*
|
|
1282
|
-
*
|
|
1525
|
+
* Wraps the parent listener so every event relayed from the child session
|
|
1526
|
+
* carries its `lineage`. The child's own `seq` is dropped: it is a
|
|
1527
|
+
* position in the CHILD's log, and a parent listener keeping a reconnect
|
|
1528
|
+
* cursor per session must not read it as one in the parent's. Replaces the
|
|
1529
|
+
* old `Object.assign({sourceAgentId, parentTaskId}, event)` loose-cast
|
|
1530
|
+
* pattern entirely — the types now encode the linkage.
|
|
1283
1531
|
*/
|
|
1284
1532
|
private wrapChildListener(
|
|
1285
|
-
listener:
|
|
1533
|
+
listener: SessionEventListener | undefined,
|
|
1286
1534
|
spawnRecord: ChildSpawnRecord | undefined,
|
|
1287
|
-
):
|
|
1535
|
+
): SessionEventListener | undefined {
|
|
1288
1536
|
if (!listener) return undefined
|
|
1289
1537
|
if (!spawnRecord) return listener
|
|
1290
1538
|
|
|
@@ -1294,13 +1542,9 @@ export class AgentManager {
|
|
|
1294
1542
|
depth: spawnRecord.childDepth,
|
|
1295
1543
|
}
|
|
1296
1544
|
|
|
1297
|
-
return async (event:
|
|
1298
|
-
const
|
|
1299
|
-
|
|
1300
|
-
lineage,
|
|
1301
|
-
schemaVersion: RUN_EVENT_SCHEMA_VERSION,
|
|
1302
|
-
} as RunEvent
|
|
1303
|
-
await listener(stamped)
|
|
1545
|
+
return async (event: SessionEvent): Promise<void> => {
|
|
1546
|
+
const { seq: _childSeq, ...relayed } = event
|
|
1547
|
+
await listener({ ...relayed, lineage } as SessionEvent)
|
|
1304
1548
|
}
|
|
1305
1549
|
}
|
|
1306
1550
|
|
|
@@ -1360,7 +1604,7 @@ export class AgentManager {
|
|
|
1360
1604
|
//
|
|
1361
1605
|
// It runs after the summary is sealed and the sub-session flipped
|
|
1362
1606
|
// to `idle`, so nothing the terminalization path reads is gone
|
|
1363
|
-
// before it reads it. It also runs BEFORE the `
|
|
1607
|
+
// before it reads it. It also runs BEFORE the `child_session_idled`
|
|
1364
1608
|
// emission below: a listener cannot reach into the workspace from
|
|
1365
1609
|
// that event. Stated rather than hedged — no consumer does today,
|
|
1366
1610
|
// and holding a worktree open for a hypothetical one is what this
|
|
@@ -1374,34 +1618,67 @@ export class AgentManager {
|
|
|
1374
1618
|
}
|
|
1375
1619
|
}
|
|
1376
1620
|
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1621
|
+
if (spawnRecord) await this.settleChildSession(agentTask, spawnRecord, result.status)
|
|
1622
|
+
|
|
1623
|
+
this.markCompleted(agentTask.taskId, result)
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1626
|
+
/**
|
|
1627
|
+
* The child's turn is over: its meta document records how, and the
|
|
1628
|
+
* parent hears `child_session_idled`, before the task is marked settled —
|
|
1629
|
+
* consumers expect `turn_completed (child) → child_session_idled →
|
|
1630
|
+
* turn_completed (parent)`.
|
|
1631
|
+
*
|
|
1632
|
+
* Idled on every outcome, not only success: the event says the child's
|
|
1633
|
+
* turn ended and nothing is queued, which a failure is too. It is the
|
|
1634
|
+
* parent writer's cue to append `child_session_ended`, read from the
|
|
1635
|
+
* child's own terminal record (`childSessionEnded`).
|
|
1636
|
+
*/
|
|
1637
|
+
private async settleChildSession(
|
|
1638
|
+
agentTask: AgentTask,
|
|
1639
|
+
spawnRecord: ChildSpawnRecord,
|
|
1640
|
+
status: TurnExecutionStatus,
|
|
1641
|
+
): Promise<void> {
|
|
1642
|
+
if (spawnRecord.placement) {
|
|
1386
1643
|
try {
|
|
1387
|
-
await
|
|
1388
|
-
|
|
1389
|
-
|
|
1390
|
-
|
|
1391
|
-
|
|
1392
|
-
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1644
|
+
await writeChildSessionMeta(
|
|
1645
|
+
spawnRecord.placement.paths.subagentMeta(
|
|
1646
|
+
this.parentLocator(spawnRecord),
|
|
1647
|
+
spawnRecord.childSessionId,
|
|
1648
|
+
),
|
|
1649
|
+
{
|
|
1650
|
+
...this.childMeta(spawnRecord),
|
|
1651
|
+
status,
|
|
1652
|
+
endedAt: new Date().toISOString(),
|
|
1653
|
+
},
|
|
1654
|
+
)
|
|
1396
1655
|
} catch (err) {
|
|
1397
|
-
this.log.
|
|
1656
|
+
this.log.warn('Child session meta update failed', {
|
|
1398
1657
|
'namzu.task.id': agentTask.taskId,
|
|
1399
1658
|
'exception.message': toErrorMessage(err),
|
|
1400
1659
|
})
|
|
1401
1660
|
}
|
|
1402
1661
|
}
|
|
1403
|
-
|
|
1404
|
-
|
|
1662
|
+
const listener = agentTask.sessionEventListener
|
|
1663
|
+
if (!listener) return
|
|
1664
|
+
try {
|
|
1665
|
+
await listener({
|
|
1666
|
+
type: 'child_session_idled',
|
|
1667
|
+
sessionId: spawnRecord.parentSessionId,
|
|
1668
|
+
turnId: spawnRecord.parentTurnId,
|
|
1669
|
+
childSessionId: spawnRecord.childSessionId,
|
|
1670
|
+
lineage: {
|
|
1671
|
+
parentSessionId: spawnRecord.parentSessionId,
|
|
1672
|
+
rootSessionId: spawnRecord.rootSessionId,
|
|
1673
|
+
depth: spawnRecord.childDepth,
|
|
1674
|
+
},
|
|
1675
|
+
})
|
|
1676
|
+
} catch (err) {
|
|
1677
|
+
this.log.error('child_session_idled emission error', {
|
|
1678
|
+
'namzu.task.id': agentTask.taskId,
|
|
1679
|
+
'exception.message': toErrorMessage(err),
|
|
1680
|
+
})
|
|
1681
|
+
}
|
|
1405
1682
|
}
|
|
1406
1683
|
|
|
1407
1684
|
private markCompleted(taskId: TaskId, result: BaseAgentResult): void {
|
|
@@ -1412,9 +1689,10 @@ export class AgentManager {
|
|
|
1412
1689
|
agentTask.completedAt = Date.now()
|
|
1413
1690
|
this.updateState(taskId, 'completed')
|
|
1414
1691
|
this.emit({ type: 'completed', taskId, result })
|
|
1415
|
-
this.
|
|
1692
|
+
this.emitSessionEvent(agentTask, {
|
|
1416
1693
|
type: 'agent_completed',
|
|
1417
|
-
|
|
1694
|
+
sessionId: agentTask.context.parentSessionId,
|
|
1695
|
+
turnId: agentTask.context.parentTurnId,
|
|
1418
1696
|
taskId,
|
|
1419
1697
|
result,
|
|
1420
1698
|
})
|
|
@@ -1427,8 +1705,12 @@ export class AgentManager {
|
|
|
1427
1705
|
const agentTask = this.instances.get(taskId)
|
|
1428
1706
|
if (!agentTask || isTerminalAgentTaskState(agentTask.state)) return
|
|
1429
1707
|
|
|
1708
|
+
// The child's own turn when its budget was bound to one; the parent
|
|
1709
|
+
// turn that asked for it otherwise.
|
|
1710
|
+
const bound = agentTask.context.budget.turn
|
|
1430
1711
|
agentTask.result = {
|
|
1431
|
-
|
|
1712
|
+
sessionId: bound?.sessionId ?? agentTask.context.parentSessionId,
|
|
1713
|
+
turnId: bound?.turnId ?? agentTask.context.parentTurnId,
|
|
1432
1714
|
status: 'failed',
|
|
1433
1715
|
usage: agentTask.context.budget.ownUsage,
|
|
1434
1716
|
budget: agentTask.context.budget.summary(),
|
|
@@ -1441,9 +1723,10 @@ export class AgentManager {
|
|
|
1441
1723
|
agentTask.completedAt = Date.now()
|
|
1442
1724
|
this.updateState(taskId, 'failed')
|
|
1443
1725
|
this.emit({ type: 'failed', taskId, error })
|
|
1444
|
-
this.
|
|
1726
|
+
this.emitSessionEvent(agentTask, {
|
|
1445
1727
|
type: 'agent_failed',
|
|
1446
|
-
|
|
1728
|
+
sessionId: agentTask.context.parentSessionId,
|
|
1729
|
+
turnId: agentTask.context.parentTurnId,
|
|
1447
1730
|
taskId,
|
|
1448
1731
|
error,
|
|
1449
1732
|
})
|
|
@@ -1487,7 +1770,7 @@ export class AgentManager {
|
|
|
1487
1770
|
*
|
|
1488
1771
|
* Called on every terminal path, success included. `has(backend)` before
|
|
1489
1772
|
* `get(backend)` because the registry is deny-by-default and throws on an
|
|
1490
|
-
* unknown kind — a driver deregistered mid-
|
|
1773
|
+
* unknown kind — a driver deregistered mid-turn must not turn cleanup into
|
|
1491
1774
|
* an exception on a child that already finished.
|
|
1492
1775
|
*
|
|
1493
1776
|
* Never throws. Disposal is cleanup, not part of the child's result: the
|
|
@@ -1522,9 +1805,10 @@ export class AgentManager {
|
|
|
1522
1805
|
agentTask.completedAt = Date.now()
|
|
1523
1806
|
this.updateState(taskId, 'canceled')
|
|
1524
1807
|
this.emit({ type: 'canceled', taskId })
|
|
1525
|
-
this.
|
|
1808
|
+
this.emitSessionEvent(agentTask, {
|
|
1526
1809
|
type: 'agent_canceled',
|
|
1527
|
-
|
|
1810
|
+
sessionId: agentTask.context.parentSessionId,
|
|
1811
|
+
turnId: agentTask.context.parentTurnId,
|
|
1528
1812
|
taskId,
|
|
1529
1813
|
...(cause ? { cancelCause: cause } : {}),
|
|
1530
1814
|
})
|
|
@@ -1557,7 +1841,7 @@ export class AgentManager {
|
|
|
1557
1841
|
|
|
1558
1842
|
const timer = setTimeout(() => {
|
|
1559
1843
|
this.instances.delete(taskId)
|
|
1560
|
-
if (!this.executingTasks.has(taskId)) this.
|
|
1844
|
+
if (!this.executingTasks.has(taskId)) this.dropSpawnRecord(taskId)
|
|
1561
1845
|
this.evictionTimers.delete(taskId)
|
|
1562
1846
|
this.log.info('Agent task evicted', { 'namzu.agent.task_id': taskId })
|
|
1563
1847
|
}, this.config.evictionMs)
|
|
@@ -1594,10 +1878,11 @@ export class AgentManager {
|
|
|
1594
1878
|
}
|
|
1595
1879
|
}
|
|
1596
1880
|
|
|
1597
|
-
private
|
|
1598
|
-
|
|
1881
|
+
private emitSessionEvent(agentTask: AgentTask, event: SessionEvent): void {
|
|
1882
|
+
const listener = agentTask.sessionEventListener
|
|
1883
|
+
if (!listener) return
|
|
1599
1884
|
const reportFailure = (error: unknown): void => {
|
|
1600
|
-
this.log.error('
|
|
1885
|
+
this.log.error('SessionEvent emission error', {
|
|
1601
1886
|
'namzu.event.type': event.type,
|
|
1602
1887
|
'exception.message': toErrorMessage(error),
|
|
1603
1888
|
})
|
|
@@ -1605,13 +1890,48 @@ export class AgentManager {
|
|
|
1605
1890
|
try {
|
|
1606
1891
|
// Terminal observation must not delay completion or leak a rejected
|
|
1607
1892
|
// listener promise into the host as an unhandled rejection.
|
|
1608
|
-
void Promise.resolve(
|
|
1893
|
+
void Promise.resolve(listener(event)).catch(reportFailure)
|
|
1609
1894
|
} catch (error) {
|
|
1610
1895
|
reportFailure(error)
|
|
1611
1896
|
}
|
|
1612
1897
|
}
|
|
1613
1898
|
}
|
|
1614
1899
|
|
|
1900
|
+
/**
|
|
1901
|
+
* The id `child_session_spawned` and the meta document name as the call that
|
|
1902
|
+
* spawned the child.
|
|
1903
|
+
*
|
|
1904
|
+
* The provider's tool-call id does not reach this manager: neither
|
|
1905
|
+
* `CreateTaskOptions` nor `SendMessageOptions` carries it. Until it does, the
|
|
1906
|
+
* spawn's task id stands in, which is unique per spawn and is the id every
|
|
1907
|
+
* `agent_*` event for this child already carries.
|
|
1908
|
+
*/
|
|
1909
|
+
function spawnToolCallId(taskId: TaskId): ToolUseId {
|
|
1910
|
+
return taskId as string as ToolUseId
|
|
1911
|
+
}
|
|
1912
|
+
|
|
1913
|
+
/** Longest spawn description kept on the record. */
|
|
1914
|
+
const SPAWN_DESCRIPTION_MAX_CHARS = 200
|
|
1915
|
+
|
|
1916
|
+
/**
|
|
1917
|
+
* One line saying what the child was asked to do: the first line of the last
|
|
1918
|
+
* user message it was handed, or its agent id when there is none.
|
|
1919
|
+
*/
|
|
1920
|
+
function describeSpawn(options: SendMessageOptions): string {
|
|
1921
|
+
for (let i = options.input.messages.length - 1; i >= 0; i--) {
|
|
1922
|
+
const message = options.input.messages[i]
|
|
1923
|
+
if (message?.role !== 'user' || typeof message.content !== 'string') continue
|
|
1924
|
+
const line = message.content.trim().split('\n', 1)[0]?.trim() ?? ''
|
|
1925
|
+
if (line.length > 0) return line.slice(0, SPAWN_DESCRIPTION_MAX_CHARS)
|
|
1926
|
+
}
|
|
1927
|
+
return options.agentId
|
|
1928
|
+
}
|
|
1929
|
+
|
|
1930
|
+
/** The child's log, relative to the parent's session directory. */
|
|
1931
|
+
function childLogPath(childSessionId: SessionId): string {
|
|
1932
|
+
return `subagents/${childSessionId}.jsonl`
|
|
1933
|
+
}
|
|
1934
|
+
|
|
1615
1935
|
/**
|
|
1616
1936
|
* The display grouping a host supplied at spawn, in the shape `agent_pending`
|
|
1617
1937
|
* carries it.
|