@sema-ai/core 1.275.1
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 +5433 -0
- package/LICENSE +27 -0
- package/NOTICE.md +30 -0
- package/README.md +1040 -0
- package/dist/agents/agent-definition.d.ts +10 -0
- package/dist/agents/agent-definition.d.ts.map +1 -0
- package/dist/agents/agent-definition.js +18 -0
- package/dist/agents/agent-definition.js.map +1 -0
- package/dist/agents/builtin-agents.d.ts +69 -0
- package/dist/agents/builtin-agents.d.ts.map +1 -0
- package/dist/agents/builtin-agents.js +177 -0
- package/dist/agents/builtin-agents.js.map +1 -0
- package/dist/agents/cascade.d.ts +101 -0
- package/dist/agents/cascade.d.ts.map +1 -0
- package/dist/agents/cascade.js +189 -0
- package/dist/agents/cascade.js.map +1 -0
- package/dist/agents/observer.d.ts +209 -0
- package/dist/agents/observer.d.ts.map +1 -0
- package/dist/agents/observer.js +495 -0
- package/dist/agents/observer.js.map +1 -0
- package/dist/agents/repair-loop.d.ts +236 -0
- package/dist/agents/repair-loop.d.ts.map +1 -0
- package/dist/agents/repair-loop.js +293 -0
- package/dist/agents/repair-loop.js.map +1 -0
- package/dist/agents/session-util.d.ts +8 -0
- package/dist/agents/session-util.d.ts.map +1 -0
- package/dist/agents/session-util.js +9 -0
- package/dist/agents/session-util.js.map +1 -0
- package/dist/agents/subagent-steps.d.ts +93 -0
- package/dist/agents/subagent-steps.d.ts.map +1 -0
- package/dist/agents/subagent-steps.js +206 -0
- package/dist/agents/subagent-steps.js.map +1 -0
- package/dist/agents/subagent.d.ts +441 -0
- package/dist/agents/subagent.d.ts.map +1 -0
- package/dist/agents/subagent.js +2492 -0
- package/dist/agents/subagent.js.map +1 -0
- package/dist/agents/suspend-guard.d.ts +35 -0
- package/dist/agents/suspend-guard.d.ts.map +1 -0
- package/dist/agents/suspend-guard.js +48 -0
- package/dist/agents/suspend-guard.js.map +1 -0
- package/dist/agents/teacher.d.ts +137 -0
- package/dist/agents/teacher.d.ts.map +1 -0
- package/dist/agents/teacher.js +575 -0
- package/dist/agents/teacher.js.map +1 -0
- package/dist/agents/team.d.ts +211 -0
- package/dist/agents/team.d.ts.map +1 -0
- package/dist/agents/team.js +293 -0
- package/dist/agents/team.js.map +1 -0
- package/dist/agents/tool-filter.d.ts +29 -0
- package/dist/agents/tool-filter.d.ts.map +1 -0
- package/dist/agents/tool-filter.js +50 -0
- package/dist/agents/tool-filter.js.map +1 -0
- package/dist/agents/verify.d.ts +177 -0
- package/dist/agents/verify.d.ts.map +1 -0
- package/dist/agents/verify.js +305 -0
- package/dist/agents/verify.js.map +1 -0
- package/dist/bench/metrics.d.ts +714 -0
- package/dist/bench/metrics.d.ts.map +1 -0
- package/dist/bench/metrics.js +618 -0
- package/dist/bench/metrics.js.map +1 -0
- package/dist/bin/sema-tb.d.ts +3 -0
- package/dist/bin/sema-tb.d.ts.map +1 -0
- package/dist/bin/sema-tb.js +516 -0
- package/dist/bin/sema-tb.js.map +1 -0
- package/dist/bin/tb-env.d.ts +13 -0
- package/dist/bin/tb-env.d.ts.map +1 -0
- package/dist/bin/tb-env.js +26 -0
- package/dist/bin/tb-env.js.map +1 -0
- package/dist/brain/anthropic.d.ts +46 -0
- package/dist/brain/anthropic.d.ts.map +1 -0
- package/dist/brain/anthropic.js +830 -0
- package/dist/brain/anthropic.js.map +1 -0
- package/dist/brain/circuit-breaker.d.ts +46 -0
- package/dist/brain/circuit-breaker.d.ts.map +1 -0
- package/dist/brain/circuit-breaker.js +173 -0
- package/dist/brain/circuit-breaker.js.map +1 -0
- package/dist/brain/degrading.d.ts +98 -0
- package/dist/brain/degrading.d.ts.map +1 -0
- package/dist/brain/degrading.js +249 -0
- package/dist/brain/degrading.js.map +1 -0
- package/dist/brain/errors.d.ts +31 -0
- package/dist/brain/errors.d.ts.map +1 -0
- package/dist/brain/errors.js +58 -0
- package/dist/brain/errors.js.map +1 -0
- package/dist/brain/failover.d.ts +18 -0
- package/dist/brain/failover.d.ts.map +1 -0
- package/dist/brain/failover.js +118 -0
- package/dist/brain/failover.js.map +1 -0
- package/dist/brain/model-presets.d.ts +36 -0
- package/dist/brain/model-presets.d.ts.map +1 -0
- package/dist/brain/model-presets.js +54 -0
- package/dist/brain/model-presets.js.map +1 -0
- package/dist/brain/openai.d.ts +43 -0
- package/dist/brain/openai.d.ts.map +1 -0
- package/dist/brain/openai.js +784 -0
- package/dist/brain/openai.js.map +1 -0
- package/dist/brain/reasoning.d.ts +138 -0
- package/dist/brain/reasoning.d.ts.map +1 -0
- package/dist/brain/reasoning.js +146 -0
- package/dist/brain/reasoning.js.map +1 -0
- package/dist/brain/repetition.d.ts +60 -0
- package/dist/brain/repetition.d.ts.map +1 -0
- package/dist/brain/repetition.js +121 -0
- package/dist/brain/repetition.js.map +1 -0
- package/dist/brain/request-params.d.ts +29 -0
- package/dist/brain/request-params.d.ts.map +1 -0
- package/dist/brain/request-params.js +78 -0
- package/dist/brain/request-params.js.map +1 -0
- package/dist/brain/retry.d.ts +18 -0
- package/dist/brain/retry.d.ts.map +1 -0
- package/dist/brain/retry.js +42 -0
- package/dist/brain/retry.js.map +1 -0
- package/dist/brain/routing.d.ts +19 -0
- package/dist/brain/routing.d.ts.map +1 -0
- package/dist/brain/routing.js +44 -0
- package/dist/brain/routing.js.map +1 -0
- package/dist/brain/status-sink.d.ts +46 -0
- package/dist/brain/status-sink.d.ts.map +1 -0
- package/dist/brain/status-sink.js +36 -0
- package/dist/brain/status-sink.js.map +1 -0
- package/dist/brain/stream-engine.d.ts +85 -0
- package/dist/brain/stream-engine.d.ts.map +1 -0
- package/dist/brain/stream-engine.js +391 -0
- package/dist/brain/stream-engine.js.map +1 -0
- package/dist/brain/timeout.d.ts +44 -0
- package/dist/brain/timeout.d.ts.map +1 -0
- package/dist/brain/timeout.js +41 -0
- package/dist/brain/timeout.js.map +1 -0
- package/dist/brain/tool-call-repair.d.ts +15 -0
- package/dist/brain/tool-call-repair.d.ts.map +1 -0
- package/dist/brain/tool-call-repair.js +67 -0
- package/dist/brain/tool-call-repair.js.map +1 -0
- package/dist/brain/walltime.d.ts +14 -0
- package/dist/brain/walltime.d.ts.map +1 -0
- package/dist/brain/walltime.js +14 -0
- package/dist/brain/walltime.js.map +1 -0
- package/dist/core/arg-summary.d.ts +19 -0
- package/dist/core/arg-summary.d.ts.map +1 -0
- package/dist/core/arg-summary.js +96 -0
- package/dist/core/arg-summary.js.map +1 -0
- package/dist/core/ask-question.d.ts +113 -0
- package/dist/core/ask-question.d.ts.map +1 -0
- package/dist/core/ask-question.js +246 -0
- package/dist/core/ask-question.js.map +1 -0
- package/dist/core/auto-compaction.d.ts +341 -0
- package/dist/core/auto-compaction.d.ts.map +1 -0
- package/dist/core/auto-compaction.js +495 -0
- package/dist/core/auto-compaction.js.map +1 -0
- package/dist/core/auto-promote.d.ts +126 -0
- package/dist/core/auto-promote.d.ts.map +1 -0
- package/dist/core/auto-promote.js +171 -0
- package/dist/core/auto-promote.js.map +1 -0
- package/dist/core/background-shell.d.ts +128 -0
- package/dist/core/background-shell.d.ts.map +1 -0
- package/dist/core/background-shell.js +42 -0
- package/dist/core/background-shell.js.map +1 -0
- package/dist/core/cache-break-detector.d.ts +63 -0
- package/dist/core/cache-break-detector.d.ts.map +1 -0
- package/dist/core/cache-break-detector.js +0 -0
- package/dist/core/cache-break-detector.js.map +1 -0
- package/dist/core/canonical-json.d.ts +45 -0
- package/dist/core/canonical-json.d.ts.map +1 -0
- package/dist/core/canonical-json.js +132 -0
- package/dist/core/canonical-json.js.map +1 -0
- package/dist/core/checkpoint-store.d.ts +1101 -0
- package/dist/core/checkpoint-store.d.ts.map +1 -0
- package/dist/core/checkpoint-store.js +514 -0
- package/dist/core/checkpoint-store.js.map +1 -0
- package/dist/core/consolidate-scope.d.ts +94 -0
- package/dist/core/consolidate-scope.d.ts.map +1 -0
- package/dist/core/consolidate-scope.js +158 -0
- package/dist/core/consolidate-scope.js.map +1 -0
- package/dist/core/context-edit.d.ts +82 -0
- package/dist/core/context-edit.d.ts.map +1 -0
- package/dist/core/context-edit.js +149 -0
- package/dist/core/context-edit.js.map +1 -0
- package/dist/core/context-guard.d.ts +43 -0
- package/dist/core/context-guard.d.ts.map +1 -0
- package/dist/core/context-guard.js +171 -0
- package/dist/core/context-guard.js.map +1 -0
- package/dist/core/dynamic-recall.d.ts +100 -0
- package/dist/core/dynamic-recall.d.ts.map +1 -0
- package/dist/core/dynamic-recall.js +108 -0
- package/dist/core/dynamic-recall.js.map +1 -0
- package/dist/core/exec-gate.d.ts +74 -0
- package/dist/core/exec-gate.d.ts.map +1 -0
- package/dist/core/exec-gate.js +143 -0
- package/dist/core/exec-gate.js.map +1 -0
- package/dist/core/exec-output-tail.d.ts +37 -0
- package/dist/core/exec-output-tail.d.ts.map +1 -0
- package/dist/core/exec-output-tail.js +63 -0
- package/dist/core/exec-output-tail.js.map +1 -0
- package/dist/core/file-snapshot-store.d.ts +137 -0
- package/dist/core/file-snapshot-store.d.ts.map +1 -0
- package/dist/core/file-snapshot-store.js +319 -0
- package/dist/core/file-snapshot-store.js.map +1 -0
- package/dist/core/git-worktree-env.d.ts +41 -0
- package/dist/core/git-worktree-env.d.ts.map +1 -0
- package/dist/core/git-worktree-env.js +64 -0
- package/dist/core/git-worktree-env.js.map +1 -0
- package/dist/core/hooks.d.ts +372 -0
- package/dist/core/hooks.d.ts.map +1 -0
- package/dist/core/hooks.js +269 -0
- package/dist/core/hooks.js.map +1 -0
- package/dist/core/lsp-diagnostics.d.ts +74 -0
- package/dist/core/lsp-diagnostics.d.ts.map +1 -0
- package/dist/core/lsp-diagnostics.js +125 -0
- package/dist/core/lsp-diagnostics.js.map +1 -0
- package/dist/core/lsp-protocol.d.ts +28 -0
- package/dist/core/lsp-protocol.d.ts.map +1 -0
- package/dist/core/lsp-protocol.js +179 -0
- package/dist/core/lsp-protocol.js.map +1 -0
- package/dist/core/lsp-session.d.ts +56 -0
- package/dist/core/lsp-session.d.ts.map +1 -0
- package/dist/core/lsp-session.js +185 -0
- package/dist/core/lsp-session.js.map +1 -0
- package/dist/core/lsp.d.ts +132 -0
- package/dist/core/lsp.d.ts.map +1 -0
- package/dist/core/lsp.js +147 -0
- package/dist/core/lsp.js.map +1 -0
- package/dist/core/mcp.d.ts +294 -0
- package/dist/core/mcp.d.ts.map +1 -0
- package/dist/core/mcp.js +992 -0
- package/dist/core/mcp.js.map +1 -0
- package/dist/core/media-byte-cap.d.ts +34 -0
- package/dist/core/media-byte-cap.d.ts.map +1 -0
- package/dist/core/media-byte-cap.js +76 -0
- package/dist/core/media-byte-cap.js.map +1 -0
- package/dist/core/memory-engine/data-plane.d.ts +103 -0
- package/dist/core/memory-engine/data-plane.d.ts.map +1 -0
- package/dist/core/memory-engine/data-plane.js +272 -0
- package/dist/core/memory-engine/data-plane.js.map +1 -0
- package/dist/core/memory-engine/dual-root.d.ts +40 -0
- package/dist/core/memory-engine/dual-root.d.ts.map +1 -0
- package/dist/core/memory-engine/dual-root.js +95 -0
- package/dist/core/memory-engine/dual-root.js.map +1 -0
- package/dist/core/memory-engine/engine.d.ts +161 -0
- package/dist/core/memory-engine/engine.d.ts.map +1 -0
- package/dist/core/memory-engine/engine.js +1110 -0
- package/dist/core/memory-engine/engine.js.map +1 -0
- package/dist/core/memory-engine/file-backend.d.ts +162 -0
- package/dist/core/memory-engine/file-backend.d.ts.map +1 -0
- package/dist/core/memory-engine/file-backend.js +948 -0
- package/dist/core/memory-engine/file-backend.js.map +1 -0
- package/dist/core/memory-engine/frontmatter.d.ts +24 -0
- package/dist/core/memory-engine/frontmatter.d.ts.map +1 -0
- package/dist/core/memory-engine/frontmatter.js +135 -0
- package/dist/core/memory-engine/frontmatter.js.map +1 -0
- package/dist/core/memory-engine/index.d.ts +13 -0
- package/dist/core/memory-engine/index.d.ts.map +1 -0
- package/dist/core/memory-engine/index.js +28 -0
- package/dist/core/memory-engine/index.js.map +1 -0
- package/dist/core/memory-engine/layout.d.ts +123 -0
- package/dist/core/memory-engine/layout.d.ts.map +1 -0
- package/dist/core/memory-engine/layout.js +643 -0
- package/dist/core/memory-engine/layout.js.map +1 -0
- package/dist/core/memory-engine/memory-backend-contract.d.ts +22 -0
- package/dist/core/memory-engine/memory-backend-contract.d.ts.map +1 -0
- package/dist/core/memory-engine/memory-backend-contract.js +271 -0
- package/dist/core/memory-engine/memory-backend-contract.js.map +1 -0
- package/dist/core/memory-engine/migrate.d.ts +17 -0
- package/dist/core/memory-engine/migrate.d.ts.map +1 -0
- package/dist/core/memory-engine/migrate.js +35 -0
- package/dist/core/memory-engine/migrate.js.map +1 -0
- package/dist/core/memory-engine/scan.d.ts +20 -0
- package/dist/core/memory-engine/scan.d.ts.map +1 -0
- package/dist/core/memory-engine/scan.js +84 -0
- package/dist/core/memory-engine/scan.js.map +1 -0
- package/dist/core/memory-engine/scope-contract.d.ts +104 -0
- package/dist/core/memory-engine/scope-contract.d.ts.map +1 -0
- package/dist/core/memory-engine/scope-contract.js +288 -0
- package/dist/core/memory-engine/scope-contract.js.map +1 -0
- package/dist/core/memory-engine/sync-client.d.ts +100 -0
- package/dist/core/memory-engine/sync-client.d.ts.map +1 -0
- package/dist/core/memory-engine/sync-client.js +328 -0
- package/dist/core/memory-engine/sync-client.js.map +1 -0
- package/dist/core/memory-engine/sync.d.ts +97 -0
- package/dist/core/memory-engine/sync.d.ts.map +1 -0
- package/dist/core/memory-engine/sync.js +91 -0
- package/dist/core/memory-engine/sync.js.map +1 -0
- package/dist/core/memory-engine/types.d.ts +279 -0
- package/dist/core/memory-engine/types.d.ts.map +1 -0
- package/dist/core/memory-engine/types.js +9 -0
- package/dist/core/memory-engine/types.js.map +1 -0
- package/dist/core/memory-recall.d.ts +261 -0
- package/dist/core/memory-recall.d.ts.map +1 -0
- package/dist/core/memory-recall.js +600 -0
- package/dist/core/memory-recall.js.map +1 -0
- package/dist/core/memory-vector.d.ts +24 -0
- package/dist/core/memory-vector.d.ts.map +1 -0
- package/dist/core/memory-vector.js +51 -0
- package/dist/core/memory-vector.js.map +1 -0
- package/dist/core/memory.d.ts +502 -0
- package/dist/core/memory.d.ts.map +1 -0
- package/dist/core/memory.js +881 -0
- package/dist/core/memory.js.map +1 -0
- package/dist/core/message-utils.d.ts +7 -0
- package/dist/core/message-utils.d.ts.map +1 -0
- package/dist/core/message-utils.js +10 -0
- package/dist/core/message-utils.js.map +1 -0
- package/dist/core/oracle-isolation.d.ts +85 -0
- package/dist/core/oracle-isolation.d.ts.map +1 -0
- package/dist/core/oracle-isolation.js +121 -0
- package/dist/core/oracle-isolation.js.map +1 -0
- package/dist/core/permission-rules.d.ts +102 -0
- package/dist/core/permission-rules.d.ts.map +1 -0
- package/dist/core/permission-rules.js +357 -0
- package/dist/core/permission-rules.js.map +1 -0
- package/dist/core/present-plan-tool.d.ts +28 -0
- package/dist/core/present-plan-tool.d.ts.map +1 -0
- package/dist/core/present-plan-tool.js +119 -0
- package/dist/core/present-plan-tool.js.map +1 -0
- package/dist/core/pricing.d.ts +48 -0
- package/dist/core/pricing.d.ts.map +1 -0
- package/dist/core/pricing.js +46 -0
- package/dist/core/pricing.js.map +1 -0
- package/dist/core/property-harness.d.ts +126 -0
- package/dist/core/property-harness.d.ts.map +1 -0
- package/dist/core/property-harness.js +192 -0
- package/dist/core/property-harness.js.map +1 -0
- package/dist/core/push-queue.d.ts +10 -0
- package/dist/core/push-queue.d.ts.map +1 -0
- package/dist/core/push-queue.js +42 -0
- package/dist/core/push-queue.js.map +1 -0
- package/dist/core/remote-env.d.ts +432 -0
- package/dist/core/remote-env.d.ts.map +1 -0
- package/dist/core/remote-env.js +77 -0
- package/dist/core/remote-env.js.map +1 -0
- package/dist/core/roles.d.ts +74 -0
- package/dist/core/roles.d.ts.map +1 -0
- package/dist/core/roles.js +272 -0
- package/dist/core/roles.js.map +1 -0
- package/dist/core/runner/active-skill-scope.d.ts +64 -0
- package/dist/core/runner/active-skill-scope.d.ts.map +1 -0
- package/dist/core/runner/active-skill-scope.js +197 -0
- package/dist/core/runner/active-skill-scope.js.map +1 -0
- package/dist/core/runner/assemble-result.d.ts +191 -0
- package/dist/core/runner/assemble-result.d.ts.map +1 -0
- package/dist/core/runner/assemble-result.js +250 -0
- package/dist/core/runner/assemble-result.js.map +1 -0
- package/dist/core/runner/call-cap.d.ts +130 -0
- package/dist/core/runner/call-cap.d.ts.map +1 -0
- package/dist/core/runner/call-cap.js +151 -0
- package/dist/core/runner/call-cap.js.map +1 -0
- package/dist/core/runner/grounding-signal.d.ts +12 -0
- package/dist/core/runner/grounding-signal.d.ts.map +1 -0
- package/dist/core/runner/grounding-signal.js +94 -0
- package/dist/core/runner/grounding-signal.js.map +1 -0
- package/dist/core/runner/image.d.ts +23 -0
- package/dist/core/runner/image.d.ts.map +1 -0
- package/dist/core/runner/image.js +151 -0
- package/dist/core/runner/image.js.map +1 -0
- package/dist/core/runner/memory-consolidation.d.ts +112 -0
- package/dist/core/runner/memory-consolidation.d.ts.map +1 -0
- package/dist/core/runner/memory-consolidation.js +372 -0
- package/dist/core/runner/memory-consolidation.js.map +1 -0
- package/dist/core/runner/prepare-task.d.ts +583 -0
- package/dist/core/runner/prepare-task.d.ts.map +1 -0
- package/dist/core/runner/prepare-task.js +3612 -0
- package/dist/core/runner/prepare-task.js.map +1 -0
- package/dist/core/runner/prompt-suggestions.d.ts +33 -0
- package/dist/core/runner/prompt-suggestions.d.ts.map +1 -0
- package/dist/core/runner/prompt-suggestions.js +116 -0
- package/dist/core/runner/prompt-suggestions.js.map +1 -0
- package/dist/core/runner/runtask.d.ts +274 -0
- package/dist/core/runner/runtask.d.ts.map +1 -0
- package/dist/core/runner/runtask.js +4606 -0
- package/dist/core/runner/runtask.js.map +1 -0
- package/dist/core/runner/session-rule-policy.d.ts +28 -0
- package/dist/core/runner/session-rule-policy.d.ts.map +1 -0
- package/dist/core/runner/session-rule-policy.js +110 -0
- package/dist/core/runner/session-rule-policy.js.map +1 -0
- package/dist/core/runner/strict-output-schema.d.ts +36 -0
- package/dist/core/runner/strict-output-schema.d.ts.map +1 -0
- package/dist/core/runner/strict-output-schema.js +365 -0
- package/dist/core/runner/strict-output-schema.js.map +1 -0
- package/dist/core/runner/synthetic-tools.d.ts +72 -0
- package/dist/core/runner/synthetic-tools.d.ts.map +1 -0
- package/dist/core/runner/synthetic-tools.js +203 -0
- package/dist/core/runner/synthetic-tools.js.map +1 -0
- package/dist/core/runner/tool-disclosure.d.ts +117 -0
- package/dist/core/runner/tool-disclosure.d.ts.map +1 -0
- package/dist/core/runner/tool-disclosure.js +0 -0
- package/dist/core/runner/tool-disclosure.js.map +1 -0
- package/dist/core/runner/turn-attachments.d.ts +381 -0
- package/dist/core/runner/turn-attachments.d.ts.map +1 -0
- package/dist/core/runner/turn-attachments.js +596 -0
- package/dist/core/runner/turn-attachments.js.map +1 -0
- package/dist/core/runner/usage-accounting.d.ts +35 -0
- package/dist/core/runner/usage-accounting.d.ts.map +1 -0
- package/dist/core/runner/usage-accounting.js +45 -0
- package/dist/core/runner/usage-accounting.js.map +1 -0
- package/dist/core/runtime.d.ts +9 -0
- package/dist/core/runtime.d.ts.map +1 -0
- package/dist/core/runtime.js +17 -0
- package/dist/core/runtime.js.map +1 -0
- package/dist/core/safety-axis-vocab.d.ts +33 -0
- package/dist/core/safety-axis-vocab.d.ts.map +1 -0
- package/dist/core/safety-axis-vocab.js +35 -0
- package/dist/core/safety-axis-vocab.js.map +1 -0
- package/dist/core/safety-merge-corpus.d.ts +48 -0
- package/dist/core/safety-merge-corpus.d.ts.map +1 -0
- package/dist/core/safety-merge-corpus.js +203 -0
- package/dist/core/safety-merge-corpus.js.map +1 -0
- package/dist/core/scheduler.d.ts +126 -0
- package/dist/core/scheduler.d.ts.map +1 -0
- package/dist/core/scheduler.js +54 -0
- package/dist/core/scheduler.js.map +1 -0
- package/dist/core/secret-env.d.ts +23 -0
- package/dist/core/secret-env.d.ts.map +1 -0
- package/dist/core/secret-env.js +35 -0
- package/dist/core/secret-env.js.map +1 -0
- package/dist/core/select-model.d.ts +26 -0
- package/dist/core/select-model.d.ts.map +1 -0
- package/dist/core/select-model.js +58 -0
- package/dist/core/select-model.js.map +1 -0
- package/dist/core/sensitive-path-policy.d.ts +24 -0
- package/dist/core/sensitive-path-policy.d.ts.map +1 -0
- package/dist/core/sensitive-path-policy.js +96 -0
- package/dist/core/sensitive-path-policy.js.map +1 -0
- package/dist/core/session-policy-store.d.ts +102 -0
- package/dist/core/session-policy-store.d.ts.map +1 -0
- package/dist/core/session-policy-store.js +177 -0
- package/dist/core/session-policy-store.js.map +1 -0
- package/dist/core/session-reconcile.d.ts +63 -0
- package/dist/core/session-reconcile.d.ts.map +1 -0
- package/dist/core/session-reconcile.js +71 -0
- package/dist/core/session-reconcile.js.map +1 -0
- package/dist/core/session-store.d.ts +99 -0
- package/dist/core/session-store.d.ts.map +1 -0
- package/dist/core/session-store.js +298 -0
- package/dist/core/session-store.js.map +1 -0
- package/dist/core/session.d.ts +144 -0
- package/dist/core/session.d.ts.map +1 -0
- package/dist/core/session.js +56 -0
- package/dist/core/session.js.map +1 -0
- package/dist/core/spec-contract.d.ts +147 -0
- package/dist/core/spec-contract.d.ts.map +1 -0
- package/dist/core/spec-contract.js +340 -0
- package/dist/core/spec-contract.js.map +1 -0
- package/dist/core/strategy-store.d.ts +50 -0
- package/dist/core/strategy-store.d.ts.map +1 -0
- package/dist/core/strategy-store.js +100 -0
- package/dist/core/strategy-store.js.map +1 -0
- package/dist/core/stub-env.d.ts +35 -0
- package/dist/core/stub-env.d.ts.map +1 -0
- package/dist/core/stub-env.js +69 -0
- package/dist/core/stub-env.js.map +1 -0
- package/dist/core/task-notification.d.ts +115 -0
- package/dist/core/task-notification.d.ts.map +1 -0
- package/dist/core/task-notification.js +247 -0
- package/dist/core/task-notification.js.map +1 -0
- package/dist/core/task-outcome.d.ts +80 -0
- package/dist/core/task-outcome.d.ts.map +1 -0
- package/dist/core/task-outcome.js +40 -0
- package/dist/core/task-outcome.js.map +1 -0
- package/dist/core/task-registry.d.ts +349 -0
- package/dist/core/task-registry.d.ts.map +1 -0
- package/dist/core/task-registry.js +1751 -0
- package/dist/core/task-registry.js.map +1 -0
- package/dist/core/tighten-task-spec.d.ts +27 -0
- package/dist/core/tighten-task-spec.d.ts.map +1 -0
- package/dist/core/tighten-task-spec.js +95 -0
- package/dist/core/tighten-task-spec.js.map +1 -0
- package/dist/core/tool-detach.d.ts +31 -0
- package/dist/core/tool-detach.d.ts.map +1 -0
- package/dist/core/tool-detach.js +62 -0
- package/dist/core/tool-detach.js.map +1 -0
- package/dist/core/tool-errors.d.ts +72 -0
- package/dist/core/tool-errors.d.ts.map +1 -0
- package/dist/core/tool-errors.js +194 -0
- package/dist/core/tool-errors.js.map +1 -0
- package/dist/core/tool-name-aliases.d.ts +5 -0
- package/dist/core/tool-name-aliases.d.ts.map +1 -0
- package/dist/core/tool-name-aliases.js +130 -0
- package/dist/core/tool-name-aliases.js.map +1 -0
- package/dist/core/tool-policy.d.ts +295 -0
- package/dist/core/tool-policy.d.ts.map +1 -0
- package/dist/core/tool-policy.js +567 -0
- package/dist/core/tool-policy.js.map +1 -0
- package/dist/core/tool-result-budget.d.ts +44 -0
- package/dist/core/tool-result-budget.d.ts.map +1 -0
- package/dist/core/tool-result-budget.js +140 -0
- package/dist/core/tool-result-budget.js.map +1 -0
- package/dist/core/tool-result-store.d.ts +136 -0
- package/dist/core/tool-result-store.d.ts.map +1 -0
- package/dist/core/tool-result-store.js +219 -0
- package/dist/core/tool-result-store.js.map +1 -0
- package/dist/core/tools.d.ts +14 -0
- package/dist/core/tools.d.ts.map +1 -0
- package/dist/core/tools.js +98 -0
- package/dist/core/tools.js.map +1 -0
- package/dist/core/trace.d.ts +340 -0
- package/dist/core/trace.d.ts.map +1 -0
- package/dist/core/trace.js +12 -0
- package/dist/core/trace.js.map +1 -0
- package/dist/core/types.d.ts +2828 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +2 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/untrusted-egress.d.ts +32 -0
- package/dist/core/untrusted-egress.d.ts.map +1 -0
- package/dist/core/untrusted-egress.js +49 -0
- package/dist/core/untrusted-egress.js.map +1 -0
- package/dist/core/untrusted-text.d.ts +64 -0
- package/dist/core/untrusted-text.d.ts.map +1 -0
- package/dist/core/untrusted-text.js +119 -0
- package/dist/core/untrusted-text.js.map +1 -0
- package/dist/core/warm-resume.d.ts +23 -0
- package/dist/core/warm-resume.d.ts.map +1 -0
- package/dist/core/warm-resume.js +28 -0
- package/dist/core/warm-resume.js.map +1 -0
- package/dist/core/with-retry.d.ts +43 -0
- package/dist/core/with-retry.d.ts.map +1 -0
- package/dist/core/with-retry.js +59 -0
- package/dist/core/with-retry.js.map +1 -0
- package/dist/core/workflow-journal-store.d.ts +44 -0
- package/dist/core/workflow-journal-store.d.ts.map +1 -0
- package/dist/core/workflow-journal-store.js +47 -0
- package/dist/core/workflow-journal-store.js.map +1 -0
- package/dist/core/workflow-run-store-contract.d.ts +31 -0
- package/dist/core/workflow-run-store-contract.d.ts.map +1 -0
- package/dist/core/workflow-run-store-contract.js +191 -0
- package/dist/core/workflow-run-store-contract.js.map +1 -0
- package/dist/core/workflow-run-store.d.ts +149 -0
- package/dist/core/workflow-run-store.d.ts.map +1 -0
- package/dist/core/workflow-run-store.js +110 -0
- package/dist/core/workflow-run-store.js.map +1 -0
- package/dist/engine/compaction/compaction.d.ts +139 -0
- package/dist/engine/compaction/compaction.d.ts.map +1 -0
- package/dist/engine/compaction/compaction.js +1030 -0
- package/dist/engine/compaction/compaction.js.map +1 -0
- package/dist/engine/compaction/utils.d.ts +45 -0
- package/dist/engine/compaction/utils.d.ts.map +1 -0
- package/dist/engine/compaction/utils.js +203 -0
- package/dist/engine/compaction/utils.js.map +1 -0
- package/dist/engine/execution-env/kill-tree.d.ts +20 -0
- package/dist/engine/execution-env/kill-tree.d.ts.map +1 -0
- package/dist/engine/execution-env/kill-tree.js +183 -0
- package/dist/engine/execution-env/kill-tree.js.map +1 -0
- package/dist/engine/execution-env/node-execution-env.d.ts +133 -0
- package/dist/engine/execution-env/node-execution-env.d.ts.map +1 -0
- package/dist/engine/execution-env/node-execution-env.js +1031 -0
- package/dist/engine/execution-env/node-execution-env.js.map +1 -0
- package/dist/engine/harness/agent-harness.d.ts +174 -0
- package/dist/engine/harness/agent-harness.d.ts.map +1 -0
- package/dist/engine/harness/agent-harness.js +1053 -0
- package/dist/engine/harness/agent-harness.js.map +1 -0
- package/dist/engine/harness/messages.d.ts +17 -0
- package/dist/engine/harness/messages.d.ts.map +1 -0
- package/dist/engine/harness/messages.js +122 -0
- package/dist/engine/harness/messages.js.map +1 -0
- package/dist/engine/harness/types.d.ts +713 -0
- package/dist/engine/harness/types.d.ts.map +1 -0
- package/dist/engine/harness/types.js +100 -0
- package/dist/engine/harness/types.js.map +1 -0
- package/dist/engine/llm/diagnostics.d.ts +23 -0
- package/dist/engine/llm/diagnostics.d.ts.map +1 -0
- package/dist/engine/llm/diagnostics.js +32 -0
- package/dist/engine/llm/diagnostics.js.map +1 -0
- package/dist/engine/llm/event-stream.d.ts +25 -0
- package/dist/engine/llm/event-stream.d.ts.map +1 -0
- package/dist/engine/llm/event-stream.js +103 -0
- package/dist/engine/llm/event-stream.js.map +1 -0
- package/dist/engine/llm/index.d.ts +12 -0
- package/dist/engine/llm/index.d.ts.map +1 -0
- package/dist/engine/llm/index.js +12 -0
- package/dist/engine/llm/index.js.map +1 -0
- package/dist/engine/llm/types.d.ts +753 -0
- package/dist/engine/llm/types.d.ts.map +1 -0
- package/dist/engine/llm/types.js +2 -0
- package/dist/engine/llm/types.js.map +1 -0
- package/dist/engine/llm/validation.d.ts +8 -0
- package/dist/engine/llm/validation.d.ts.map +1 -0
- package/dist/engine/llm/validation.js +318 -0
- package/dist/engine/llm/validation.js.map +1 -0
- package/dist/engine/loop/agent-loop.d.ts +74 -0
- package/dist/engine/loop/agent-loop.d.ts.map +1 -0
- package/dist/engine/loop/agent-loop.js +1490 -0
- package/dist/engine/loop/agent-loop.js.map +1 -0
- package/dist/engine/loop/runtime-deps.d.ts +17 -0
- package/dist/engine/loop/runtime-deps.d.ts.map +1 -0
- package/dist/engine/loop/runtime-deps.js +21 -0
- package/dist/engine/loop/runtime-deps.js.map +1 -0
- package/dist/engine/loop/types.d.ts +609 -0
- package/dist/engine/loop/types.d.ts.map +1 -0
- package/dist/engine/loop/types.js +2 -0
- package/dist/engine/loop/types.js.map +1 -0
- package/dist/engine/lsp/frame-decoder.d.ts +16 -0
- package/dist/engine/lsp/frame-decoder.d.ts.map +1 -0
- package/dist/engine/lsp/frame-decoder.js +53 -0
- package/dist/engine/lsp/frame-decoder.js.map +1 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts +105 -0
- package/dist/engine/lsp/node-lsp-manager.d.ts.map +1 -0
- package/dist/engine/lsp/node-lsp-manager.js +343 -0
- package/dist/engine/lsp/node-lsp-manager.js.map +1 -0
- package/dist/engine/lsp/stdio-lsp-transport.d.ts +37 -0
- package/dist/engine/lsp/stdio-lsp-transport.d.ts.map +1 -0
- package/dist/engine/lsp/stdio-lsp-transport.js +185 -0
- package/dist/engine/lsp/stdio-lsp-transport.js.map +1 -0
- package/dist/engine/session/import-validate.d.ts +44 -0
- package/dist/engine/session/import-validate.d.ts.map +1 -0
- package/dist/engine/session/import-validate.js +92 -0
- package/dist/engine/session/import-validate.js.map +1 -0
- package/dist/engine/session/memory-repo.d.ts +25 -0
- package/dist/engine/session/memory-repo.d.ts.map +1 -0
- package/dist/engine/session/memory-repo.js +59 -0
- package/dist/engine/session/memory-repo.js.map +1 -0
- package/dist/engine/session/memory-storage.d.ts +14 -0
- package/dist/engine/session/memory-storage.d.ts.map +1 -0
- package/dist/engine/session/memory-storage.js +17 -0
- package/dist/engine/session/memory-storage.js.map +1 -0
- package/dist/engine/session/repo-utils.d.ts +11 -0
- package/dist/engine/session/repo-utils.d.ts.map +1 -0
- package/dist/engine/session/repo-utils.js +40 -0
- package/dist/engine/session/repo-utils.js.map +1 -0
- package/dist/engine/session/session.d.ts +34 -0
- package/dist/engine/session/session.d.ts.map +1 -0
- package/dist/engine/session/session.js +227 -0
- package/dist/engine/session/session.js.map +1 -0
- package/dist/engine/session/storage-base.d.ts +38 -0
- package/dist/engine/session/storage-base.d.ts.map +1 -0
- package/dist/engine/session/storage-base.js +157 -0
- package/dist/engine/session/storage-base.js.map +1 -0
- package/dist/engine/session/timestamps.d.ts +3 -0
- package/dist/engine/session/timestamps.d.ts.map +1 -0
- package/dist/engine/session/timestamps.js +15 -0
- package/dist/engine/session/timestamps.js.map +1 -0
- package/dist/engine/session/uuid.d.ts +2 -0
- package/dist/engine/session/uuid.d.ts.map +1 -0
- package/dist/engine/session/uuid.js +50 -0
- package/dist/engine/session/uuid.js.map +1 -0
- package/dist/index.d.ts +160 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +374 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/harness.d.ts +26 -0
- package/dist/internal/harness.d.ts.map +1 -0
- package/dist/internal/harness.js +24 -0
- package/dist/internal/harness.js.map +1 -0
- package/dist/internal/llm.d.ts +9 -0
- package/dist/internal/llm.d.ts.map +1 -0
- package/dist/internal/llm.js +8 -0
- package/dist/internal/llm.js.map +1 -0
- package/dist/orchestration/builtin-workflows.d.ts +44 -0
- package/dist/orchestration/builtin-workflows.d.ts.map +1 -0
- package/dist/orchestration/builtin-workflows.js +165 -0
- package/dist/orchestration/builtin-workflows.js.map +1 -0
- package/dist/orchestration/dev-vm-script-runner.d.ts +24 -0
- package/dist/orchestration/dev-vm-script-runner.d.ts.map +1 -0
- package/dist/orchestration/dev-vm-script-runner.js +106 -0
- package/dist/orchestration/dev-vm-script-runner.js.map +1 -0
- package/dist/orchestration/goal.d.ts +97 -0
- package/dist/orchestration/goal.d.ts.map +1 -0
- package/dist/orchestration/goal.js +248 -0
- package/dist/orchestration/goal.js.map +1 -0
- package/dist/orchestration/run-spec.d.ts +63 -0
- package/dist/orchestration/run-spec.d.ts.map +1 -0
- package/dist/orchestration/run-spec.js +274 -0
- package/dist/orchestration/run-spec.js.map +1 -0
- package/dist/orchestration/run-workflow-tool.d.ts +187 -0
- package/dist/orchestration/run-workflow-tool.d.ts.map +1 -0
- package/dist/orchestration/run-workflow-tool.js +612 -0
- package/dist/orchestration/run-workflow-tool.js.map +1 -0
- package/dist/orchestration/workflow-governance.d.ts +70 -0
- package/dist/orchestration/workflow-governance.d.ts.map +1 -0
- package/dist/orchestration/workflow-governance.js +176 -0
- package/dist/orchestration/workflow-governance.js.map +1 -0
- package/dist/orchestration/workflow-meta.d.ts +41 -0
- package/dist/orchestration/workflow-meta.d.ts.map +1 -0
- package/dist/orchestration/workflow-meta.js +426 -0
- package/dist/orchestration/workflow-meta.js.map +1 -0
- package/dist/orchestration/workflow-observe.d.ts +77 -0
- package/dist/orchestration/workflow-observe.d.ts.map +1 -0
- package/dist/orchestration/workflow-observe.js +177 -0
- package/dist/orchestration/workflow-observe.js.map +1 -0
- package/dist/orchestration/workflow-primitives.d.ts +31 -0
- package/dist/orchestration/workflow-primitives.d.ts.map +1 -0
- package/dist/orchestration/workflow-primitives.js +104 -0
- package/dist/orchestration/workflow-primitives.js.map +1 -0
- package/dist/orchestration/workflow-sandbox-conformance.d.ts +34 -0
- package/dist/orchestration/workflow-sandbox-conformance.d.ts.map +1 -0
- package/dist/orchestration/workflow-sandbox-conformance.js +301 -0
- package/dist/orchestration/workflow-sandbox-conformance.js.map +1 -0
- package/dist/orchestration/workflow-script-runner.d.ts +127 -0
- package/dist/orchestration/workflow-script-runner.d.ts.map +1 -0
- package/dist/orchestration/workflow-script-runner.js +48 -0
- package/dist/orchestration/workflow-script-runner.js.map +1 -0
- package/dist/orchestration/workflow-script-store.d.ts +99 -0
- package/dist/orchestration/workflow-script-store.d.ts.map +1 -0
- package/dist/orchestration/workflow-script-store.js +133 -0
- package/dist/orchestration/workflow-script-store.js.map +1 -0
- package/dist/orchestration/workflow-size-guideline.d.ts +50 -0
- package/dist/orchestration/workflow-size-guideline.d.ts.map +1 -0
- package/dist/orchestration/workflow-size-guideline.js +78 -0
- package/dist/orchestration/workflow-size-guideline.js.map +1 -0
- package/dist/orchestration/workflow.d.ts +624 -0
- package/dist/orchestration/workflow.d.ts.map +1 -0
- package/dist/orchestration/workflow.js +1596 -0
- package/dist/orchestration/workflow.js.map +1 -0
- package/dist/prompts/default.d.ts +474 -0
- package/dist/prompts/default.d.ts.map +1 -0
- package/dist/prompts/default.js +676 -0
- package/dist/prompts/default.js.map +1 -0
- package/dist/prompts/supervisor.d.ts +60 -0
- package/dist/prompts/supervisor.d.ts.map +1 -0
- package/dist/prompts/supervisor.js +162 -0
- package/dist/prompts/supervisor.js.map +1 -0
- package/dist/scenarios/env.d.ts +41 -0
- package/dist/scenarios/env.d.ts.map +1 -0
- package/dist/scenarios/env.js +65 -0
- package/dist/scenarios/env.js.map +1 -0
- package/dist/scenarios/full-body.d.ts +47 -0
- package/dist/scenarios/full-body.d.ts.map +1 -0
- package/dist/scenarios/full-body.js +36 -0
- package/dist/scenarios/full-body.js.map +1 -0
- package/dist/scenarios/scenario-registry.d.ts +107 -0
- package/dist/scenarios/scenario-registry.d.ts.map +1 -0
- package/dist/scenarios/scenario-registry.js +192 -0
- package/dist/scenarios/scenario-registry.js.map +1 -0
- package/dist/scenarios/teacher-quickstart.d.ts +41 -0
- package/dist/scenarios/teacher-quickstart.d.ts.map +1 -0
- package/dist/scenarios/teacher-quickstart.js +32 -0
- package/dist/scenarios/teacher-quickstart.js.map +1 -0
- package/dist/server/http.d.ts +36 -0
- package/dist/server/http.d.ts.map +1 -0
- package/dist/server/http.js +144 -0
- package/dist/server/http.js.map +1 -0
- package/dist/stores/file/checkpoint-store.d.ts +62 -0
- package/dist/stores/file/checkpoint-store.d.ts.map +1 -0
- package/dist/stores/file/checkpoint-store.js +250 -0
- package/dist/stores/file/checkpoint-store.js.map +1 -0
- package/dist/stores/file/file-snapshot-store.d.ts +43 -0
- package/dist/stores/file/file-snapshot-store.d.ts.map +1 -0
- package/dist/stores/file/file-snapshot-store.js +374 -0
- package/dist/stores/file/file-snapshot-store.js.map +1 -0
- package/dist/stores/file/fs-atomic.d.ts +95 -0
- package/dist/stores/file/fs-atomic.d.ts.map +1 -0
- package/dist/stores/file/fs-atomic.js +415 -0
- package/dist/stores/file/fs-atomic.js.map +1 -0
- package/dist/stores/file/index.d.ts +98 -0
- package/dist/stores/file/index.d.ts.map +1 -0
- package/dist/stores/file/index.js +109 -0
- package/dist/stores/file/index.js.map +1 -0
- package/dist/stores/file/memory-store.d.ts +95 -0
- package/dist/stores/file/memory-store.d.ts.map +1 -0
- package/dist/stores/file/memory-store.js +393 -0
- package/dist/stores/file/memory-store.js.map +1 -0
- package/dist/stores/file/session-policy-store.d.ts +24 -0
- package/dist/stores/file/session-policy-store.d.ts.map +1 -0
- package/dist/stores/file/session-policy-store.js +123 -0
- package/dist/stores/file/session-policy-store.js.map +1 -0
- package/dist/stores/file/session-store.d.ts +34 -0
- package/dist/stores/file/session-store.d.ts.map +1 -0
- package/dist/stores/file/session-store.js +175 -0
- package/dist/stores/file/session-store.js.map +1 -0
- package/dist/stores/file/tool-result-store.d.ts +23 -0
- package/dist/stores/file/tool-result-store.d.ts.map +1 -0
- package/dist/stores/file/tool-result-store.js +61 -0
- package/dist/stores/file/tool-result-store.js.map +1 -0
- package/dist/stores/file/workflow-journal-store.d.ts +36 -0
- package/dist/stores/file/workflow-journal-store.d.ts.map +1 -0
- package/dist/stores/file/workflow-journal-store.js +157 -0
- package/dist/stores/file/workflow-journal-store.js.map +1 -0
- package/dist/stores/file/workflow-run-store.d.ts +58 -0
- package/dist/stores/file/workflow-run-store.d.ts.map +1 -0
- package/dist/stores/file/workflow-run-store.js +178 -0
- package/dist/stores/file/workflow-run-store.js.map +1 -0
- package/dist/stores/pg.d.ts +210 -0
- package/dist/stores/pg.d.ts.map +1 -0
- package/dist/stores/pg.js +652 -0
- package/dist/stores/pg.js.map +1 -0
- package/dist/tools/fs/encoding.d.ts +51 -0
- package/dist/tools/fs/encoding.d.ts.map +1 -0
- package/dist/tools/fs/encoding.js +74 -0
- package/dist/tools/fs/encoding.js.map +1 -0
- package/dist/tools/fs/gh-rate-limit.d.ts +19 -0
- package/dist/tools/fs/gh-rate-limit.d.ts.map +1 -0
- package/dist/tools/fs/gh-rate-limit.js +35 -0
- package/dist/tools/fs/gh-rate-limit.js.map +1 -0
- package/dist/tools/fs/index.d.ts +246 -0
- package/dist/tools/fs/index.d.ts.map +1 -0
- package/dist/tools/fs/index.js +2130 -0
- package/dist/tools/fs/index.js.map +1 -0
- package/dist/tools/fs/pdf.d.ts +106 -0
- package/dist/tools/fs/pdf.d.ts.map +1 -0
- package/dist/tools/fs/pdf.js +178 -0
- package/dist/tools/fs/pdf.js.map +1 -0
- package/dist/tools/fs/repo-map.d.ts +15 -0
- package/dist/tools/fs/repo-map.d.ts.map +1 -0
- package/dist/tools/fs/repo-map.js +251 -0
- package/dist/tools/fs/repo-map.js.map +1 -0
- package/dist/tools/fs/safety.d.ts +168 -0
- package/dist/tools/fs/safety.d.ts.map +1 -0
- package/dist/tools/fs/safety.js +479 -0
- package/dist/tools/fs/safety.js.map +1 -0
- package/dist/tools/fs/search.d.ts +118 -0
- package/dist/tools/fs/search.d.ts.map +1 -0
- package/dist/tools/fs/search.js +650 -0
- package/dist/tools/fs/search.js.map +1 -0
- package/dist/tools/gitea-issue.d.ts +39 -0
- package/dist/tools/gitea-issue.d.ts.map +1 -0
- package/dist/tools/gitea-issue.js +91 -0
- package/dist/tools/gitea-issue.js.map +1 -0
- package/dist/tools/monitor.d.ts +64 -0
- package/dist/tools/monitor.d.ts.map +1 -0
- package/dist/tools/monitor.js +135 -0
- package/dist/tools/monitor.js.map +1 -0
- package/dist/tools/scheduler-tools.d.ts +48 -0
- package/dist/tools/scheduler-tools.d.ts.map +1 -0
- package/dist/tools/scheduler-tools.js +449 -0
- package/dist/tools/scheduler-tools.js.map +1 -0
- package/dist/tools/sql-adapters.d.ts +32 -0
- package/dist/tools/sql-adapters.d.ts.map +1 -0
- package/dist/tools/sql-adapters.js +31 -0
- package/dist/tools/sql-adapters.js.map +1 -0
- package/dist/tools/sql.d.ts +36 -0
- package/dist/tools/sql.d.ts.map +1 -0
- package/dist/tools/sql.js +131 -0
- package/dist/tools/sql.js.map +1 -0
- package/dist/tools/task-list.d.ts +26 -0
- package/dist/tools/task-list.d.ts.map +1 -0
- package/dist/tools/task-list.js +352 -0
- package/dist/tools/task-list.js.map +1 -0
- package/dist/tools/todo.d.ts +11 -0
- package/dist/tools/todo.d.ts.map +1 -0
- package/dist/tools/todo.js +126 -0
- package/dist/tools/todo.js.map +1 -0
- package/dist/tools/web.d.ts +59 -0
- package/dist/tools/web.d.ts.map +1 -0
- package/dist/tools/web.js +607 -0
- package/dist/tools/web.js.map +1 -0
- package/dist/tools/worktree.d.ts +88 -0
- package/dist/tools/worktree.d.ts.map +1 -0
- package/dist/tools/worktree.js +434 -0
- package/dist/tools/worktree.js.map +1 -0
- package/docs/A1-ATTRIBUTION-ROUND1-2026-07-09.md +181 -0
- package/docs/AB-ORACLE-GATE-VERDICT-2026-07-10.md +100 -0
- package/docs/ANCHOR-GAP-INVENTORY-2026-07-09.md +143 -0
- package/docs/ARCHITECTURE.md +125 -0
- package/docs/BUGHUNT-2026-07-05-NIGHT.md +98 -0
- package/docs/BUILD.md +63 -0
- package/docs/CANCEL-ASYNC-ATTRIBUTION-2026-07-09.md +98 -0
- package/docs/CC-198-VS-201-DRIFT-2026-07-09.md +70 -0
- package/docs/CC-BASELINE-FAKE-ZERO-AUDIT-2026-07-09.md +51 -0
- package/docs/CC-DRIFT-198-206-AGENT-TYPES-2026-07-10.md +82 -0
- package/docs/CC-DRIFT-198-206-CHANGELOG-2026-07-10.md +82 -0
- package/docs/CC-DRIFT-198-206-REMINDERS-2026-07-10.md +96 -0
- package/docs/CC-DRIFT-198-206-ROADMAP-2026-07-10.md +110 -0
- package/docs/CC-DRIFT-198-206-TOOL-INVENTORY-2026-07-10.md +53 -0
- package/docs/CC-DRIFT-198-206-USAGE-CONSTANTS-2026-07-10.md +64 -0
- package/docs/CC-DRIFT-198-206-WORKFLOW-2026-07-10.md +83 -0
- package/docs/CC-PARITY-CHECKLIST.md +220 -0
- package/docs/CC-PARITY-DEEP-SWEEP-2026-07-07.md +149 -0
- package/docs/CC-SUBAGENT-PROMPT-STUDY-2026-07-09.md +219 -0
- package/docs/CC-TASK-REMINDER-CADENCE-STUDY-2026-07-09.md +396 -0
- package/docs/CC-TOOL-PARITY-SWEEP-2026-07.md +56 -0
- package/docs/CC-TOOL-PROMPT-DEEP-DIFF-2026-07-08.md +274 -0
- package/docs/CC-TOOLSURFACE-DEEP-DIVE-2026-07-07.md +197 -0
- package/docs/CC206-OBSERVER-ANCHORS-2026-07-11.md +463 -0
- package/docs/CC207-CORE-SWEEP-BACKLOG-2026-07-12.md +155 -0
- package/docs/CENTER-CONTROL-PLANE-SEAM.md +86 -0
- package/docs/CLEANUP-CONTRACT-ANCHOR-2026-07-09.md +83 -0
- package/docs/COLD-START-RSI-2026-07-09.md +72 -0
- package/docs/COMPACTION-LIVE-AUDIT-2026-07-09.md +114 -0
- package/docs/CONTEXT-lifecycle-extension-points-and-stop-attribution.md +71 -0
- package/docs/COREWARS-POLYGLOT-TRIAGE-2026-07-09.md +85 -0
- package/docs/DEADTARGET-OVERFULL-HBOX-2026-07-10.md +92 -0
- package/docs/DEADTARGET-PATH-TRACING-REVERSE-2026-07-10.md +87 -0
- package/docs/DEADTARGET-WINNING-AVG-COREWARS-2026-07-10.md +96 -0
- package/docs/DEEPSEEK-API-LIMITS-PROBE-2026-07-09.md +118 -0
- package/docs/DESIGN-140-MOCK-VERIFY-2026-07-11.md +79 -0
- package/docs/DESIGN-140-VERIFICATION-2026-07-11.md +43 -0
- package/docs/DESIGN-DRAFT-workflow-collab-2026-07-11.md +56 -0
- package/docs/DESIGN-ORACLE-GROUNDING-GATE-2026-07-10.md +167 -0
- package/docs/DESIGN-TFRAG-RECONCILE-SCAFFOLD-2026-07-09.md +102 -0
- package/docs/EXP-PA2-PE-DESIGN-2026-07-11.md +220 -0
- package/docs/EXT-DOGFOOD-2026-07-12.md +50 -0
- package/docs/FINAL-VERIFY-SURFACE-AUDIT-2026-07-09.md +44 -0
- package/docs/FRAG-RECON-INVESTIGATION-2026-07-09.md +183 -0
- package/docs/HANDOFF.md +121 -0
- package/docs/KNOWN-ISSUES.md +96 -0
- package/docs/LEGW-WINDOW-TAX-2026-07-10.md +82 -0
- package/docs/LIVE-PROBE-BATCH-2026-07-11.md +207 -0
- package/docs/M2-CERT-ATTRIBUTION-2026-07-10.md +61 -0
- package/docs/M25-LEG-VARIANCE-ATTRIBUTION-2026-07-10.md +81 -0
- package/docs/MAILMAN-TIMEOUT-ATTRIBUTION-2026-07-10.md +88 -0
- package/docs/MEMORY-BACKEND-DIALECT-NOTES.md +69 -0
- package/docs/MTEB-ESCAPE-HATCH-ATTRIBUTION-2026-07-09.md +57 -0
- package/docs/MTEB-LEADERBOARD-ATTRIBUTION-2026-07-10.md +134 -0
- package/docs/ORACLE-GATE-NEGATIVE-SAMPLE-2026-07-11.md +28 -0
- package/docs/PARITY-CONTEXT-TRANSACTIONS-2026-07-10.md +67 -0
- package/docs/PARITY-PROGRESS-MATRIX-2026-07-10.md +37 -0
- package/docs/PARITY-SPOT-AGENT-TYPES-2026-07-10.md +70 -0
- package/docs/PARITY-SPOT-REMINDERS-2026-07-10.md +144 -0
- package/docs/PARITY-SPOT-TOOL-INVENTORY-2026-07-10.md +61 -0
- package/docs/PARITY-SPOT-USAGE-CONSTANTS-2026-07-10.md +95 -0
- package/docs/PARITY-SPOT-WORKFLOW-2026-07-10.md +93 -0
- package/docs/PASSWORD-RECOVERY-PANEL-VERDICT-2026-07-10.md +62 -0
- package/docs/R8-R9-FINALIZE-COORDINATION-2026-07-09.md +124 -0
- package/docs/REPL-CODE-MODE-EVALUATION-2026-07-10.md +187 -0
- package/docs/REPORT-1249-TARGETED.md +48 -0
- package/docs/RESEARCH-3P-MEMORY-SWAP-2026-07-12.md +273 -0
- package/docs/ROADMAP.md +111 -0
- package/docs/RSI-CLOUD-DEPLOY-2026-07-06.md +289 -0
- package/docs/RSI-PROCESS-AI-COLDSTART-2026-07-11.md +68 -0
- package/docs/S18-THOROUGHNESS-AUDIT-2026-07-09.md +113 -0
- package/docs/SERVICE-INTEGRATION-GUIDE.md +298 -0
- package/docs/SUBAGENT-STREAM-RESILIENCE-PARITY-2026-07-10.md +118 -0
- package/docs/SWEBENCH-PRO-RECON-2026-07-11.md +31 -0
- package/docs/TB-EFFICIENCY-TELEMETRY-2026-07-08.md +114 -0
- package/docs/TB-FAILURE-AUTOPSY-2026-07-05-RERUN.md +67 -0
- package/docs/TB-FAIRNESS-AUDIT-2026-07-08.md +141 -0
- package/docs/TB-FULL-1257-2026-07-08.md +77 -0
- package/docs/TB-LEG-GAP-ATTRIBUTION-1261-1263-2026-07-11.md +154 -0
- package/docs/TB-REGRESSION-DAEMON-KILL-2026-07-08.md +58 -0
- package/docs/TB-RSI-CROSSCHECK-2026-07-06.md +68 -0
- package/docs/TB-RSI-LEDGER.md +30 -0
- package/docs/TB-STABLE-SET-2026-07-08.md +127 -0
- package/docs/TB21-RECON-2026-07-11.md +28 -0
- package/docs/TEST-DESIGN-BATCH-1-2-3.md +97 -0
- package/docs/THIRD-PARTY-INTEGRATION.md +45 -0
- package/docs/TOKEN-ESTIMATE-CALIBRATION-LIVE-2026-07-09.md +102 -0
- package/docs/audit-2026-06-10-/347/254/254/344/272/214/350/275/256-/347/251/272/347/231/275/345/214/272/344/270/216/345/277/230/346/216/245/347/272/277.md +147 -0
- package/docs/audit-2026-06-10-/350/256/241/347/256/227bug/346/211/253/346/217/217.md +163 -0
- package/docs/audit-2026-06-11-/344/277/256/345/244/215/345/244/215/345/256/241/344/270/216/345/233/236/345/275/222/344/270/223/346/211/253.md +95 -0
- package/docs/audit-2026-06-12-design71-P1/346/275/234/344/274/217/351/235/242/350/243/201/345/206/263/344/270/216/345/220/236/351/224/231/345/256/241/350/256/241.md +45 -0
- package/docs/audit-2026-06-12-/345/205/254/345/274/200/346/227/213/351/222/256/346/264/273/346/200/247/344/270/216vendored/346/255/273/350/267/257.md +63 -0
- package/docs/audit-2026-06-15/ADDENDUM-second-pass.md +88 -0
- package/docs/audit-2026-06-15/ARCHITECTURE-AND-ROADMAP.md +187 -0
- package/docs/audit-2026-06-15/DOC-CORRECTIONS.md +105 -0
- package/docs/audit-2026-06-15/INDEX.md +49 -0
- package/docs/audit-2026-06-15/ORCHESTRATION-STATUS.md +98 -0
- package/docs/audit-2026-06-15/PRODUCTION-ISSUES.md +189 -0
- package/docs/audit-2026-06-15/REFERENCES-literature.md +139 -0
- package/docs/audit-2026-06-15/VENDOR-REFACTOR-PLAN.md +96 -0
- package/docs/cc-probe-198/README.md +72 -0
- package/docs/cc-probe-198/STABILITY-AUDIT.md +118 -0
- package/docs/cc-probe-198/live-schema-monitor-worktree-2026-07-09.json +56 -0
- package/docs/cc-probe-198/mount-variants.json +536 -0
- package/docs/cc-probe-198/plan-mode-run.json +1 -0
- package/docs/cc-probe-198/probe-bash-bg.json +224 -0
- package/docs/cc-probe-198/probe-edit-mismatch.json +120 -0
- package/docs/cc-probe-198/probe-read-missing.json +62 -0
- package/docs/cc-probe-198/probe-search-empty.json +127 -0
- package/docs/cc-probe-198/probe-task-family.json +227 -0
- package/docs/cc-probe-198/probes.status +6 -0
- package/docs/cc-probe-198/raw-capture-interactive.json +948 -0
- package/docs/cc-probe-198/raw-capture-print.json +787 -0
- package/docs/cc-probe-198/raw-capture2-interactive.json +948 -0
- package/docs/cc-probe-198/raw-capture2-print.json +787 -0
- package/docs/cc-probe-198/system-prompt.txt +135 -0
- package/docs/cc-probe-198/tools-array.json +962 -0
- package/docs/durability-boundary.md +63 -0
- package/docs/fix-2026-06-10-/350/256/241/347/256/227bug/344/277/256/345/244/215-search/346/211/271.md +75 -0
- package/docs/fix-2026-06-11-/347/254/254/344/272/214/350/275/256-/344/277/256/345/244/215-search/346/211/271.md +62 -0
- package/docs/parity-sweep/REPORT-DYNAMIC.md +97 -0
- package/docs/parity-sweep/REPORT-STATIC-GGB.md +127 -0
- package/docs/parity-sweep/REPORT-STATIC-RWE.md +133 -0
- package/docs/vendor-history.md +385 -0
- package/docs/vendored-upstream-diff-2026-07.md +83 -0
- package/package.json +70 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Teacher-mode strategy repository (design/14). Stores the *generalized* strategies a teacher gave
|
|
3
|
+
* that actually worked, so a later similar problem can be solved without re-consulting the teacher
|
|
4
|
+
* (Inter-Cascade cross-session reuse). Retrieval is deliberately **high-precision / low-recall**: a
|
|
5
|
+
* wrong strategy injected into a student costs wasted turns + a likely escalation (net negative),
|
|
6
|
+
* while a missed strategy just falls back to asking the teacher (baseline). `scope` is a **mandatory
|
|
7
|
+
* isolation boundary** (multi-tenant: one user's strategies must never leak to another).
|
|
8
|
+
*/
|
|
9
|
+
const STOP = new Set([
|
|
10
|
+
"the", "and", "for", "with", "from", "this", "that", "into", "your", "you", "are", "was", "were", "has",
|
|
11
|
+
"have", "had", "not", "but", "all", "any", "can", "use", "using", "via", "then", "than", "out", "get",
|
|
12
|
+
"got", "its", "it's", "their", "them", "they", "what", "when", "which", "who", "how", "why", "a", "an",
|
|
13
|
+
"of", "to", "in", "on", "is", "it", "or", "as", "at", "by", "be", "do", "if", "so", "no", "up", "we",
|
|
14
|
+
]);
|
|
15
|
+
/** Lowercased word tokens. */
|
|
16
|
+
function tokens(s) {
|
|
17
|
+
return s.toLowerCase().match(/[a-z0-9]+/g) ?? [];
|
|
18
|
+
}
|
|
19
|
+
/** Meaningful tokens: ≥3 chars and not a stopword. */
|
|
20
|
+
function significant(s) {
|
|
21
|
+
return tokens(s).filter((t) => t.length >= 3 && !STOP.has(t));
|
|
22
|
+
}
|
|
23
|
+
function normalize(s) {
|
|
24
|
+
return s.trim().toLowerCase().replace(/\s+/g, " ");
|
|
25
|
+
}
|
|
26
|
+
function ageDays(tsISO) {
|
|
27
|
+
const t = new Date(tsISO).getTime();
|
|
28
|
+
if (Number.isNaN(t)) {
|
|
29
|
+
return Infinity; // a malformed timestamp scores ~0 (evicted first) rather than poisoning the sort with NaN
|
|
30
|
+
}
|
|
31
|
+
return Math.max(0, Date.now() - t) / 86_400_000;
|
|
32
|
+
}
|
|
33
|
+
/** Ranking score: confidence weighted by recency (no `uses` — avoids a reinforcement feedback loop). */
|
|
34
|
+
function score(s) {
|
|
35
|
+
return (s.confidence + 1) * (1 / (1 + ageDays(s.ts)));
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Default in-memory store. Retrieval: a stored problem must contain **every significant** query token
|
|
39
|
+
* (and there must be ≥1) — near-exact on the meaningful words, ignoring stopword noise. High precision
|
|
40
|
+
* by design. Ranked by `confidence × recency`. Per-scope capacity cap with eviction on save.
|
|
41
|
+
*/
|
|
42
|
+
export class InMemoryStrategyStore {
|
|
43
|
+
maxPerScope;
|
|
44
|
+
byScope = new Map();
|
|
45
|
+
constructor(maxPerScope = 100) {
|
|
46
|
+
this.maxPerScope = maxPerScope;
|
|
47
|
+
}
|
|
48
|
+
save(s) {
|
|
49
|
+
const arr = this.byScope.get(s.scope) ?? [];
|
|
50
|
+
const np = normalize(s.problem);
|
|
51
|
+
const ng = normalize(s.strategy);
|
|
52
|
+
const dup = arr.find((e) => normalize(e.problem) === np && normalize(e.strategy) === ng);
|
|
53
|
+
if (dup) {
|
|
54
|
+
// Guard against a NaN confidence poisoning the stored entry (→ NaN score → corrupt sort for the whole scope).
|
|
55
|
+
dup.confidence = Number.isFinite(s.confidence) ? Math.max(dup.confidence, s.confidence) : dup.confidence;
|
|
56
|
+
dup.ts = s.ts;
|
|
57
|
+
dup.teacherModel = s.teacherModel ?? dup.teacherModel;
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
arr.push(s);
|
|
61
|
+
}
|
|
62
|
+
// Evict the lowest-scoring when over capacity.
|
|
63
|
+
if (arr.length > this.maxPerScope) {
|
|
64
|
+
arr.sort((a, b) => score(b) - score(a));
|
|
65
|
+
arr.length = this.maxPerScope;
|
|
66
|
+
}
|
|
67
|
+
this.byScope.set(s.scope, arr);
|
|
68
|
+
}
|
|
69
|
+
find(scope, query, limit) {
|
|
70
|
+
const arr = this.byScope.get(scope);
|
|
71
|
+
if (!arr || arr.length === 0) {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
const qSig = significant(query);
|
|
75
|
+
if (qSig.length === 0) {
|
|
76
|
+
return []; // nothing meaningful to match on → don't inject random strategies
|
|
77
|
+
}
|
|
78
|
+
const matches = arr.filter((s) => {
|
|
79
|
+
const probTokens = new Set(tokens(s.problem));
|
|
80
|
+
return qSig.every((t) => probTokens.has(t)); // every significant query token present in the problem
|
|
81
|
+
});
|
|
82
|
+
return matches.sort((a, b) => score(b) - score(a)).slice(0, Math.max(0, Number.isFinite(limit) ? limit : 0));
|
|
83
|
+
}
|
|
84
|
+
prune(scope, maxSize) {
|
|
85
|
+
const arr = this.byScope.get(scope);
|
|
86
|
+
const n = Math.max(0, maxSize); // a negative maxSize would throw RangeError on `arr.length = n`
|
|
87
|
+
if (arr && arr.length > n) {
|
|
88
|
+
arr.sort((a, b) => score(b) - score(a));
|
|
89
|
+
arr.length = n;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/** Total stored strategies (across scopes); for tests/observability. */
|
|
93
|
+
get size() {
|
|
94
|
+
let n = 0;
|
|
95
|
+
for (const arr of this.byScope.values())
|
|
96
|
+
n += arr.length;
|
|
97
|
+
return n;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=strategy-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"strategy-store.js","sourceRoot":"","sources":["../../src/core/strategy-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ExecutionEnv, ExecutionError, FileError, type FileInfo, type Result } from "../internal/harness.js";
|
|
2
|
+
/**
|
|
3
|
+
* A no-op ExecutionEnv for tool/MCP-only deployments (no shell, no filesystem).
|
|
4
|
+
*
|
|
5
|
+
* AgentHarness requires an `env`, but the normal tools+MCP code path never touches it.
|
|
6
|
+
* Every filesystem op returns a `not_supported` FileError; `exec` returns `shell_unavailable`.
|
|
7
|
+
* If a task genuinely needs shell/fs, supply a real ExecutionEnv instead (e.g. a Node or SSH one).
|
|
8
|
+
*/
|
|
9
|
+
export declare class StubExecutionEnv implements ExecutionEnv {
|
|
10
|
+
cwd: string;
|
|
11
|
+
constructor(cwd?: string);
|
|
12
|
+
private fsErr;
|
|
13
|
+
absolutePath(path: string): Promise<Result<string, FileError>>;
|
|
14
|
+
joinPath(): Promise<Result<string, FileError>>;
|
|
15
|
+
readTextFile(path: string): Promise<Result<string, FileError>>;
|
|
16
|
+
readTextLines(path: string): Promise<Result<string[], FileError>>;
|
|
17
|
+
readBinaryFile(path: string): Promise<Result<Uint8Array, FileError>>;
|
|
18
|
+
writeFile(path: string): Promise<Result<void, FileError>>;
|
|
19
|
+
appendFile(path: string): Promise<Result<void, FileError>>;
|
|
20
|
+
fileInfo(path: string): Promise<Result<FileInfo, FileError>>;
|
|
21
|
+
listDir(path: string): Promise<Result<FileInfo[], FileError>>;
|
|
22
|
+
canonicalPath(path: string): Promise<Result<string, FileError>>;
|
|
23
|
+
exists(path: string): Promise<Result<boolean, FileError>>;
|
|
24
|
+
createDir(path: string): Promise<Result<void, FileError>>;
|
|
25
|
+
remove(path: string): Promise<Result<void, FileError>>;
|
|
26
|
+
createTempDir(): Promise<Result<string, FileError>>;
|
|
27
|
+
createTempFile(): Promise<Result<string, FileError>>;
|
|
28
|
+
exec(): Promise<Result<{
|
|
29
|
+
stdout: string;
|
|
30
|
+
stderr: string;
|
|
31
|
+
exitCode: number;
|
|
32
|
+
}, ExecutionError>>;
|
|
33
|
+
cleanup(): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=stub-env.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-env.d.ts","sourceRoot":"","sources":["../../src/core/stub-env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,YAAY,EACjB,cAAc,EACd,SAAS,EACT,KAAK,QAAQ,EACb,KAAK,MAAM,EAEZ,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,qBAAa,gBAAiB,YAAW,YAAY;IACnD,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,SAAM;IAIrB,OAAO,CAAC,KAAK;IAMb,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAG9D,QAAQ,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAG9C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAG9D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,CAAC,CAAC;IAGjE,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IAGpE,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAGzD,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAG1D,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAG5D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,CAAC,CAAC;IAG7D,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAG/D,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAGzD,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAGzD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAGtD,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAGnD,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAIpD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,cAAc,CAAC,CAAC;IAMvF,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { ExecutionError, FileError, err, } from "../internal/harness.js";
|
|
2
|
+
/**
|
|
3
|
+
* A no-op ExecutionEnv for tool/MCP-only deployments (no shell, no filesystem).
|
|
4
|
+
*
|
|
5
|
+
* AgentHarness requires an `env`, but the normal tools+MCP code path never touches it.
|
|
6
|
+
* Every filesystem op returns a `not_supported` FileError; `exec` returns `shell_unavailable`.
|
|
7
|
+
* If a task genuinely needs shell/fs, supply a real ExecutionEnv instead (e.g. a Node or SSH one).
|
|
8
|
+
*/
|
|
9
|
+
export class StubExecutionEnv {
|
|
10
|
+
cwd;
|
|
11
|
+
constructor(cwd = "/") {
|
|
12
|
+
this.cwd = cwd;
|
|
13
|
+
}
|
|
14
|
+
fsErr(path) {
|
|
15
|
+
return Promise.resolve(err(new FileError("not_supported", "filesystem is not available in this environment", path)));
|
|
16
|
+
}
|
|
17
|
+
absolutePath(path) {
|
|
18
|
+
return this.fsErr(path);
|
|
19
|
+
}
|
|
20
|
+
joinPath() {
|
|
21
|
+
return this.fsErr();
|
|
22
|
+
}
|
|
23
|
+
readTextFile(path) {
|
|
24
|
+
return this.fsErr(path);
|
|
25
|
+
}
|
|
26
|
+
readTextLines(path) {
|
|
27
|
+
return this.fsErr(path);
|
|
28
|
+
}
|
|
29
|
+
readBinaryFile(path) {
|
|
30
|
+
return this.fsErr(path);
|
|
31
|
+
}
|
|
32
|
+
writeFile(path) {
|
|
33
|
+
return this.fsErr(path);
|
|
34
|
+
}
|
|
35
|
+
appendFile(path) {
|
|
36
|
+
return this.fsErr(path);
|
|
37
|
+
}
|
|
38
|
+
fileInfo(path) {
|
|
39
|
+
return this.fsErr(path);
|
|
40
|
+
}
|
|
41
|
+
listDir(path) {
|
|
42
|
+
return this.fsErr(path);
|
|
43
|
+
}
|
|
44
|
+
canonicalPath(path) {
|
|
45
|
+
return this.fsErr(path);
|
|
46
|
+
}
|
|
47
|
+
exists(path) {
|
|
48
|
+
return this.fsErr(path);
|
|
49
|
+
}
|
|
50
|
+
createDir(path) {
|
|
51
|
+
return this.fsErr(path);
|
|
52
|
+
}
|
|
53
|
+
remove(path) {
|
|
54
|
+
return this.fsErr(path);
|
|
55
|
+
}
|
|
56
|
+
createTempDir() {
|
|
57
|
+
return this.fsErr();
|
|
58
|
+
}
|
|
59
|
+
createTempFile() {
|
|
60
|
+
return this.fsErr();
|
|
61
|
+
}
|
|
62
|
+
exec() {
|
|
63
|
+
return Promise.resolve(err(new ExecutionError("shell_unavailable", "shell execution is not available in this environment")));
|
|
64
|
+
}
|
|
65
|
+
async cleanup() {
|
|
66
|
+
// nothing to release
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=stub-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stub-env.js","sourceRoot":"","sources":["../../src/core/stub-env.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,cAAc,EACd,SAAS,EAGT,GAAG,GACJ,MAAM,wBAAwB,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAC3B,GAAG,CAAS;IAEZ,YAAY,GAAG,GAAG,GAAG;QACnB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAEO,KAAK,CAAI,IAAa;QAC5B,OAAO,OAAO,CAAC,OAAO,CACpB,GAAG,CAAC,IAAI,SAAS,CAAC,eAAe,EAAE,iDAAiD,EAAE,IAAI,CAAC,CAAC,CAC7F,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAS,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAU,CAAC;IAC9B,CAAC;IACD,YAAY,CAAC,IAAY;QACvB,OAAO,IAAI,CAAC,KAAK,CAAS,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAW,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,cAAc,CAAC,IAAY;QACzB,OAAO,IAAI,CAAC,KAAK,CAAa,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,KAAK,CAAO,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAO,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,QAAQ,CAAC,IAAY;QACnB,OAAO,IAAI,CAAC,KAAK,CAAW,IAAI,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,IAAY;QAClB,OAAO,IAAI,CAAC,KAAK,CAAa,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,aAAa,CAAC,IAAY;QACxB,OAAO,IAAI,CAAC,KAAK,CAAS,IAAI,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,KAAK,CAAU,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,SAAS,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,KAAK,CAAO,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,MAAM,CAAC,IAAY;QACjB,OAAO,IAAI,CAAC,KAAK,CAAO,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,aAAa;QACX,OAAO,IAAI,CAAC,KAAK,EAAU,CAAC;IAC9B,CAAC;IACD,cAAc;QACZ,OAAO,IAAI,CAAC,KAAK,EAAU,CAAC;IAC9B,CAAC;IAED,IAAI;QACF,OAAO,OAAO,CAAC,OAAO,CACpB,GAAG,CAAC,IAAI,cAAc,CAAC,mBAAmB,EAAE,sDAAsD,CAAC,CAAC,CACrG,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO;QACX,qBAAqB;IACvB,CAAC;CACF"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/** design/135 G2: `"event"` is the ONE non-terminal member — a Monitor batch notification (new stdout
|
|
2
|
+
* lines from a still-running watch). Everything else is a terminal completion notification. */
|
|
3
|
+
export type TaskNotificationStatus = "completed" | "failed" | "killed" | "cancelled" | "event";
|
|
4
|
+
export type SystemInjectionPriority = "now" | "next" | "later";
|
|
5
|
+
export interface TaskNotificationPayload {
|
|
6
|
+
task_id: string;
|
|
7
|
+
task_type: "background_bash" | "workflow" | "background_agent" | "monitor";
|
|
8
|
+
toolUseId?: string;
|
|
9
|
+
status: TaskNotificationStatus;
|
|
10
|
+
/** design/135 G2 (Monitor): the batched stdout lines of ONE `status:"event"` notification (lines that
|
|
11
|
+
* arrived within the same batch window). `result` carries the same text joined/clipped for the model;
|
|
12
|
+
* this structured mirror is for SDK/UI consumers. */
|
|
13
|
+
lines?: string[];
|
|
14
|
+
/** design/135 G2 (Monitor): per-task monotonically increasing batch counter. Load-bearing for dedup —
|
|
15
|
+
* {@link taskNotificationDedupKey} folds it in, so successive event batches (same task_id+status)
|
|
16
|
+
* don't collapse into one queue entry. Terminal notifications omit it (one per status, as before). */
|
|
17
|
+
seq?: number;
|
|
18
|
+
/** design/134 §3.3: only on `status:"killed"` — who stopped it. MIRROR of task-registry `StopSource`
|
|
19
|
+
* (the single source; inlined here to avoid an import cycle — task-registry imports this module;
|
|
20
|
+
* third mirror: types.ts `BackgroundChildEvent.stoppedBy` — keep all three in sync). OPEN ENUM:
|
|
21
|
+
* consumers must tolerate unknown values (a future "timeout" etc. is not breaking) and fall back
|
|
22
|
+
* to default copy. */
|
|
23
|
+
stoppedBy?: "user" | "parent" | "system" | (string & {});
|
|
24
|
+
summary: string;
|
|
25
|
+
result?: string;
|
|
26
|
+
output_file?: string;
|
|
27
|
+
usage?: unknown;
|
|
28
|
+
/** 黑板 [428]b — the child run's SESSION id, when known. A shell keys its fleet/footer rows by its own
|
|
29
|
+
* local ids; the a* task_id alone can be unmappable on its side — sessionId is the stable cross-system
|
|
30
|
+
* anchor (the same handle TaskResult.sessionId / fleet rows carry). Optional: bash lane has none. */
|
|
31
|
+
sessionId?: string;
|
|
32
|
+
/** 黑板 [558] A — the child's last ≤10 completed tool steps, so the parent can write a precise resume
|
|
33
|
+
* prompt for a killed/stopped child without reading the transcript. Rendered as a compact block.
|
|
34
|
+
* Background-agent lane only; bounded upstream. */
|
|
35
|
+
recentSteps?: import("../agents/subagent-steps.js").SubagentStep[];
|
|
36
|
+
/** 黑板 [558] D (core half) — files the child mutated with edit counts. Background-agent lane only. */
|
|
37
|
+
editedFiles?: import("../agents/subagent-steps.js").SubagentEditedFile[];
|
|
38
|
+
/** 黑板 [558] E — `true` when the child can be revived via SendMessage (retained + not user-stopped).
|
|
39
|
+
* Lets the parent decide continue-vs-restart without trial-and-error. Background-agent lane only. */
|
|
40
|
+
resumable?: boolean;
|
|
41
|
+
}
|
|
42
|
+
export interface SystemInjection<TPayload = unknown> {
|
|
43
|
+
kind: "task_notification";
|
|
44
|
+
/** design/116 §7 — priority is ENFORCED at the runner's subscribe listener (runtask.ts): now/next →
|
|
45
|
+
* harness.steer() (next turn boundary, mid-work), later → harness.followUp() (only when the agent
|
|
46
|
+
* would otherwise stop). CC's Sleep-gated later-drain is N/A (Sleep retired, design/136 §2.2). A
|
|
47
|
+
* delivery that races the agent going idle parks on PendingSessionNotifications for the session's
|
|
48
|
+
* next run ([492]②/[496]④). `drain()` serves that parked lane. */
|
|
49
|
+
priority: SystemInjectionPriority;
|
|
50
|
+
dedupKey: string;
|
|
51
|
+
payload: TPayload;
|
|
52
|
+
}
|
|
53
|
+
export declare function taskNotificationDedupKey(n: Pick<TaskNotificationPayload, "task_id" | "status" | "seq">): string;
|
|
54
|
+
export declare function renderTaskNotificationXml(n: TaskNotificationPayload): string;
|
|
55
|
+
/**
|
|
56
|
+
* 飞轮 [492]② / 黑板 [494]② — the BETWEEN-TURNS pending lane. A task notification born while NO turn is
|
|
57
|
+
* live (the run's notification lane is torn down, or the harness rejected the injection because the agent
|
|
58
|
+
* was already idle) used to be silently unreachable: the Monitor main use-case (long-watch events between
|
|
59
|
+
* turns) and the [496]④ stoppedBy notifications (a killed-evicted child whose registry row is already gone)
|
|
60
|
+
* both land exactly in that window. This store parks them PER SESSION; the session's next run drains it at
|
|
61
|
+
* start and rides the payloads down the SAME notification lane (steer at the next turn boundary), so
|
|
62
|
+
* in-turn and between-turn events keep one shape.
|
|
63
|
+
*
|
|
64
|
+
* Bounds (1.254 F4 家族纪律): per-task cap + per-session cap + session-count cap, oldest dropped first —
|
|
65
|
+
* preferring NON-terminal victims (an exit/killed terminal is the single most load-bearing notification of
|
|
66
|
+
* a watch and dies only when nothing else can) — and every drop is counted per task and DISCLOSED on
|
|
67
|
+
* delivery ({@link discloseDroppedPending}), never silent.
|
|
68
|
+
*
|
|
69
|
+
* NOT checkpointed (durable-resume ruling, recorded): the registry itself (`defaultTaskRegistry`) is
|
|
70
|
+
* process-local — a cross-process durable resume cannot reconnect a monitor's watcher/process anyway, so a
|
|
71
|
+
* pending queue that outlives the process would advertise events for handles that no longer exist. Same-
|
|
72
|
+
* process resume legs share this store via the Runner and drain normally.
|
|
73
|
+
*/
|
|
74
|
+
export declare const MAX_PENDING_EVENTS_PER_TASK = 50;
|
|
75
|
+
export declare const MAX_PENDING_EVENTS_PER_SESSION = 200;
|
|
76
|
+
export declare const MAX_PENDING_SESSIONS = 100;
|
|
77
|
+
export interface DrainedPendingNotifications {
|
|
78
|
+
/** Chronological (pend order) payloads still held when the session's next run drained. */
|
|
79
|
+
items: TaskNotificationPayload[];
|
|
80
|
+
/** task_id → notifications evicted by the bounds while pending (never delivered). `taskType` remembers
|
|
81
|
+
* the victim's lane so a survivors-none disclosure can still render an honest synthetic payload. */
|
|
82
|
+
dropped: Map<string, {
|
|
83
|
+
count: number;
|
|
84
|
+
taskType: TaskNotificationPayload["task_type"];
|
|
85
|
+
}>;
|
|
86
|
+
}
|
|
87
|
+
export declare class PendingSessionNotifications {
|
|
88
|
+
private readonly sessions;
|
|
89
|
+
/** Whole sessions evicted by {@link MAX_PENDING_SESSIONS} (their pendings were never delivered). */
|
|
90
|
+
droppedSessions: number;
|
|
91
|
+
pend(sessionId: string, n: TaskNotificationPayload): void;
|
|
92
|
+
/** Remove and return the session's pendings (one-shot — the next run consumes them exactly once). */
|
|
93
|
+
drain(sessionId: string): DrainedPendingNotifications | undefined;
|
|
94
|
+
get size(): number;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Delivery-side overflow disclosure: fold the per-task drop counts into the drained payloads. The first
|
|
98
|
+
* surviving payload of a task that lost events gets a `[task_id]`-prefixed disclosure line prepended to its
|
|
99
|
+
* summary (backgroundTasks 同规: the id keeps the loss addressable via TaskOutput). A task whose EVERY
|
|
100
|
+
* pending item was evicted still gets one honest synthetic `event` payload saying so — a fully silent loss
|
|
101
|
+
* is never allowed.
|
|
102
|
+
*/
|
|
103
|
+
export declare function discloseDroppedPending(drained: DrainedPendingNotifications): TaskNotificationPayload[];
|
|
104
|
+
export declare class SystemInjectionQueue<TPayload = TaskNotificationPayload> {
|
|
105
|
+
private readonly queues;
|
|
106
|
+
private readonly dedup;
|
|
107
|
+
private readonly listeners;
|
|
108
|
+
/** F4 observability: how many queued items were evicted by the retention cap (never delivered). */
|
|
109
|
+
droppedOldest: number;
|
|
110
|
+
enqueue(item: SystemInjection<TPayload>): boolean;
|
|
111
|
+
drain(priority?: SystemInjectionPriority): Array<SystemInjection<TPayload>>;
|
|
112
|
+
subscribe(listener: (item: SystemInjection<TPayload>) => void): () => void;
|
|
113
|
+
get size(): number;
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=task-notification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-notification.d.ts","sourceRoot":"","sources":["../../src/core/task-notification.ts"],"names":[],"mappings":"AAEA;gGACgG;AAChG,MAAM,MAAM,sBAAsB,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAC/F,MAAM,MAAM,uBAAuB,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;AAE/D,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,iBAAiB,GAAG,UAAU,GAAG,kBAAkB,GAAG,SAAS,CAAC;IAC3E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,sBAAsB,CAAC;IAC/B;;0DAEsD;IACtD,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB;;2GAEuG;IACvG,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;;2BAIuB;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;0GAEsG;IACtG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;wDAEoD;IACpD,WAAW,CAAC,EAAE,OAAO,6BAA6B,EAAE,YAAY,EAAE,CAAC;IACnE,qGAAqG;IACrG,WAAW,CAAC,EAAE,OAAO,6BAA6B,EAAE,kBAAkB,EAAE,CAAC;IACzE;0GACsG;IACtG,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,eAAe,CAAC,QAAQ,GAAG,OAAO;IACjD,IAAI,EAAE,mBAAmB,CAAC;IAC1B;;;;uEAImE;IACnE,QAAQ,EAAE,uBAAuB,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,QAAQ,CAAC;CACnB;AAsCD,wBAAgB,wBAAwB,CAAC,CAAC,EAAE,IAAI,CAAC,uBAAuB,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC,GAAG,MAAM,CAK/G;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,uBAAuB,GAAG,MAAM,CA6B5E;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,8BAA8B,MAAM,CAAC;AAClD,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAIxC,MAAM,WAAW,2BAA2B;IAC1C,0FAA0F;IAC1F,KAAK,EAAE,uBAAuB,EAAE,CAAC;IACjC;yGACqG;IACrG,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,uBAAuB,CAAC,WAAW,CAAC,CAAA;KAAE,CAAC,CAAC;CACzF;AAED,qBAAa,2BAA2B;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkD;IAC3E,oGAAoG;IACpG,eAAe,SAAK;IAEpB,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,uBAAuB,GAAG,IAAI;IAqBzD,qGAAqG;IACrG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,2BAA2B,GAAG,SAAS;IAMjE,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAYD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,2BAA2B,GAAG,uBAAuB,EAAE,CAsBtG;AAED,qBAAa,oBAAoB,CAAC,QAAQ,GAAG,uBAAuB;IAClE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAIrB;IACF,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAqB;IAC3C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwD;IAClF,mGAAmG;IACnG,aAAa,SAAK;IAElB,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,OAAO;IA8BjD,KAAK,CAAC,QAAQ,CAAC,EAAE,uBAAuB,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAc3E,SAAS,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,eAAe,CAAC,QAAQ,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IAK1E,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
import { sanitizeUntrustedText } from "./untrusted-text.js";
|
|
2
|
+
const TASK_NOTIFICATION_TAGS = [
|
|
3
|
+
"task-notification",
|
|
4
|
+
"task-id",
|
|
5
|
+
"task-type",
|
|
6
|
+
"tool-use-id",
|
|
7
|
+
"status",
|
|
8
|
+
"summary",
|
|
9
|
+
"result",
|
|
10
|
+
"output-file",
|
|
11
|
+
"usage",
|
|
12
|
+
"session-id",
|
|
13
|
+
"recent-steps",
|
|
14
|
+
"edited-files",
|
|
15
|
+
"resumable",
|
|
16
|
+
];
|
|
17
|
+
/** 黑板 [558] A/D — render the residual (recent steps + edited files) as a compact model-facing block. */
|
|
18
|
+
function renderResidual(n) {
|
|
19
|
+
const lines = [];
|
|
20
|
+
if (n.recentSteps && n.recentSteps.length > 0) {
|
|
21
|
+
lines.push(...n.recentSteps.map((s) => `- ${s.tool}${s.target ? ` ${s.target}` : ""}${s.outcome ? ` → ${s.outcome}` : ""}`));
|
|
22
|
+
}
|
|
23
|
+
if (n.editedFiles && n.editedFiles.length > 0) {
|
|
24
|
+
lines.push(`edited: ${n.editedFiles.map((f) => `${f.path}${f.edits > 1 ? ` (×${f.edits})` : ""}`).join(", ")}`);
|
|
25
|
+
}
|
|
26
|
+
return lines.length > 0 ? lines.join("\n") : undefined;
|
|
27
|
+
}
|
|
28
|
+
function tag(name, value) {
|
|
29
|
+
const text = sanitizeUntrustedText(String(value), TASK_NOTIFICATION_TAGS)
|
|
30
|
+
.replace(/&/g, "&")
|
|
31
|
+
.replace(/</g, "<")
|
|
32
|
+
.replace(/>/g, ">");
|
|
33
|
+
return `<${name}>${text}</${name}>`;
|
|
34
|
+
}
|
|
35
|
+
export function taskNotificationDedupKey(n) {
|
|
36
|
+
// design/135 G2: a Monitor event stream emits MANY notifications under the same task_id+status — the
|
|
37
|
+
// per-batch `seq` keeps each one's key unique (without it, batch #2 would be silently dedup-dropped
|
|
38
|
+
// while batch #1 sits undrained in the queue).
|
|
39
|
+
return `task_notification:${n.task_id}:${n.status}${n.seq !== undefined ? `:${n.seq}` : ""}`;
|
|
40
|
+
}
|
|
41
|
+
export function renderTaskNotificationXml(n) {
|
|
42
|
+
const usage = n.usage === undefined
|
|
43
|
+
? undefined
|
|
44
|
+
: (() => {
|
|
45
|
+
try {
|
|
46
|
+
return JSON.stringify(n.usage);
|
|
47
|
+
}
|
|
48
|
+
catch {
|
|
49
|
+
return undefined;
|
|
50
|
+
}
|
|
51
|
+
})();
|
|
52
|
+
return [
|
|
53
|
+
"<task-notification>",
|
|
54
|
+
tag("task-id", n.task_id),
|
|
55
|
+
tag("task-type", n.task_type),
|
|
56
|
+
...(n.toolUseId !== undefined ? [tag("tool-use-id", n.toolUseId)] : []),
|
|
57
|
+
tag("status", n.status),
|
|
58
|
+
tag("summary", n.summary),
|
|
59
|
+
...(n.result !== undefined ? [tag("result", n.result)] : []),
|
|
60
|
+
...(n.output_file !== undefined ? [tag("output-file", n.output_file)] : []),
|
|
61
|
+
...(n.sessionId !== undefined ? [tag("session-id", n.sessionId)] : []),
|
|
62
|
+
...(usage !== undefined ? [tag("usage", usage)] : []),
|
|
63
|
+
...(() => {
|
|
64
|
+
const residual = renderResidual(n);
|
|
65
|
+
return residual !== undefined ? [tag("recent-steps", residual)] : [];
|
|
66
|
+
})(),
|
|
67
|
+
...(n.resumable !== undefined ? [tag("resumable", n.resumable)] : []),
|
|
68
|
+
"</task-notification>",
|
|
69
|
+
].join("\n");
|
|
70
|
+
}
|
|
71
|
+
/** codex 1.254 F4 bounds — a Monitor event stream can enqueue THOUSANDS of unique-keyed notifications per
|
|
72
|
+
* task; nothing in production ever called drain(), so both the priority queues and the dedup set grew
|
|
73
|
+
* without bound. Per-priority retention cap (oldest dropped + counted) and a dedup-key cap (insertion-order
|
|
74
|
+
* eviction ≈ TTL: old keys age out; a re-enqueue of an evicted TERMINAL key is impossible in practice
|
|
75
|
+
* because the producer fires each terminal exactly once). */
|
|
76
|
+
const MAX_QUEUED_PER_PRIORITY = 200;
|
|
77
|
+
const MAX_DEDUP_KEYS = 2_000;
|
|
78
|
+
/**
|
|
79
|
+
* 飞轮 [492]② / 黑板 [494]② — the BETWEEN-TURNS pending lane. A task notification born while NO turn is
|
|
80
|
+
* live (the run's notification lane is torn down, or the harness rejected the injection because the agent
|
|
81
|
+
* was already idle) used to be silently unreachable: the Monitor main use-case (long-watch events between
|
|
82
|
+
* turns) and the [496]④ stoppedBy notifications (a killed-evicted child whose registry row is already gone)
|
|
83
|
+
* both land exactly in that window. This store parks them PER SESSION; the session's next run drains it at
|
|
84
|
+
* start and rides the payloads down the SAME notification lane (steer at the next turn boundary), so
|
|
85
|
+
* in-turn and between-turn events keep one shape.
|
|
86
|
+
*
|
|
87
|
+
* Bounds (1.254 F4 家族纪律): per-task cap + per-session cap + session-count cap, oldest dropped first —
|
|
88
|
+
* preferring NON-terminal victims (an exit/killed terminal is the single most load-bearing notification of
|
|
89
|
+
* a watch and dies only when nothing else can) — and every drop is counted per task and DISCLOSED on
|
|
90
|
+
* delivery ({@link discloseDroppedPending}), never silent.
|
|
91
|
+
*
|
|
92
|
+
* NOT checkpointed (durable-resume ruling, recorded): the registry itself (`defaultTaskRegistry`) is
|
|
93
|
+
* process-local — a cross-process durable resume cannot reconnect a monitor's watcher/process anyway, so a
|
|
94
|
+
* pending queue that outlives the process would advertise events for handles that no longer exist. Same-
|
|
95
|
+
* process resume legs share this store via the Runner and drain normally.
|
|
96
|
+
*/
|
|
97
|
+
export const MAX_PENDING_EVENTS_PER_TASK = 50;
|
|
98
|
+
export const MAX_PENDING_EVENTS_PER_SESSION = 200;
|
|
99
|
+
export const MAX_PENDING_SESSIONS = 100;
|
|
100
|
+
const TERMINAL_STATUSES = new Set(["completed", "failed", "killed", "cancelled"]);
|
|
101
|
+
export class PendingSessionNotifications {
|
|
102
|
+
sessions = new Map();
|
|
103
|
+
/** Whole sessions evicted by {@link MAX_PENDING_SESSIONS} (their pendings were never delivered). */
|
|
104
|
+
droppedSessions = 0;
|
|
105
|
+
pend(sessionId, n) {
|
|
106
|
+
let s = this.sessions.get(sessionId);
|
|
107
|
+
if (s === undefined) {
|
|
108
|
+
if (this.sessions.size >= MAX_PENDING_SESSIONS) {
|
|
109
|
+
// insertion-order eviction (≈ oldest-idle session goes first); counted, not silent
|
|
110
|
+
const oldest = this.sessions.keys().next().value;
|
|
111
|
+
if (oldest !== undefined) {
|
|
112
|
+
this.sessions.delete(oldest);
|
|
113
|
+
this.droppedSessions += 1;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
s = { items: [], dropped: new Map() };
|
|
117
|
+
this.sessions.set(sessionId, s);
|
|
118
|
+
}
|
|
119
|
+
s.items.push(n);
|
|
120
|
+
let mine = 0;
|
|
121
|
+
for (const i of s.items)
|
|
122
|
+
if (i.task_id === n.task_id)
|
|
123
|
+
mine += 1;
|
|
124
|
+
if (mine > MAX_PENDING_EVENTS_PER_TASK)
|
|
125
|
+
evictOldest(s, (i) => i.task_id === n.task_id);
|
|
126
|
+
if (s.items.length > MAX_PENDING_EVENTS_PER_SESSION)
|
|
127
|
+
evictOldest(s, () => true);
|
|
128
|
+
}
|
|
129
|
+
/** Remove and return the session's pendings (one-shot — the next run consumes them exactly once). */
|
|
130
|
+
drain(sessionId) {
|
|
131
|
+
const s = this.sessions.get(sessionId);
|
|
132
|
+
if (s !== undefined)
|
|
133
|
+
this.sessions.delete(sessionId);
|
|
134
|
+
return s;
|
|
135
|
+
}
|
|
136
|
+
get size() {
|
|
137
|
+
return this.sessions.size;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
/** Drop the OLDEST matching item, preferring a non-terminal (`event`) victim over a terminal one. */
|
|
141
|
+
function evictOldest(s, match) {
|
|
142
|
+
let idx = s.items.findIndex((i) => match(i) && !TERMINAL_STATUSES.has(i.status));
|
|
143
|
+
if (idx === -1)
|
|
144
|
+
idx = s.items.findIndex(match);
|
|
145
|
+
if (idx === -1)
|
|
146
|
+
return;
|
|
147
|
+
const victim = s.items.splice(idx, 1)[0];
|
|
148
|
+
const prior = s.dropped.get(victim.task_id);
|
|
149
|
+
s.dropped.set(victim.task_id, { count: (prior?.count ?? 0) + 1, taskType: victim.task_type });
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Delivery-side overflow disclosure: fold the per-task drop counts into the drained payloads. The first
|
|
153
|
+
* surviving payload of a task that lost events gets a `[task_id]`-prefixed disclosure line prepended to its
|
|
154
|
+
* summary (backgroundTasks 同规: the id keeps the loss addressable via TaskOutput). A task whose EVERY
|
|
155
|
+
* pending item was evicted still gets one honest synthetic `event` payload saying so — a fully silent loss
|
|
156
|
+
* is never allowed.
|
|
157
|
+
*/
|
|
158
|
+
export function discloseDroppedPending(drained) {
|
|
159
|
+
if (drained.dropped.size === 0)
|
|
160
|
+
return drained.items;
|
|
161
|
+
const disclosed = new Set();
|
|
162
|
+
const out = drained.items.map((n) => {
|
|
163
|
+
const dropped = drained.dropped.get(n.task_id);
|
|
164
|
+
if (dropped === undefined || disclosed.has(n.task_id))
|
|
165
|
+
return n;
|
|
166
|
+
disclosed.add(n.task_id);
|
|
167
|
+
return {
|
|
168
|
+
...n,
|
|
169
|
+
summary: `[${n.task_id}] ${dropped.count} earlier pending notification(s) from this task were dropped (pending-queue overflow). ${n.summary}`,
|
|
170
|
+
};
|
|
171
|
+
});
|
|
172
|
+
for (const [taskId, dropped] of drained.dropped) {
|
|
173
|
+
if (disclosed.has(taskId))
|
|
174
|
+
continue;
|
|
175
|
+
out.push({
|
|
176
|
+
task_id: taskId,
|
|
177
|
+
task_type: dropped.taskType,
|
|
178
|
+
status: "event",
|
|
179
|
+
summary: `[${taskId}] ${dropped.count} pending notification(s) from this task were dropped (pending-queue overflow) before this turn; nothing else from it survived. TaskOutput("${taskId}") may still serve its spool.`,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
return out;
|
|
183
|
+
}
|
|
184
|
+
export class SystemInjectionQueue {
|
|
185
|
+
queues = {
|
|
186
|
+
now: [],
|
|
187
|
+
next: [],
|
|
188
|
+
later: [],
|
|
189
|
+
};
|
|
190
|
+
dedup = new Set();
|
|
191
|
+
listeners = new Set();
|
|
192
|
+
/** F4 observability: how many queued items were evicted by the retention cap (never delivered). */
|
|
193
|
+
droppedOldest = 0;
|
|
194
|
+
enqueue(item) {
|
|
195
|
+
if (this.dedup.has(item.dedupKey))
|
|
196
|
+
return false;
|
|
197
|
+
this.dedup.add(item.dedupKey);
|
|
198
|
+
// Bound the dedup set (F4): evict oldest-inserted keys past the cap. The key must OUTLIVE delivery
|
|
199
|
+
// (it is what suppresses a duplicate re-enqueue of the same terminal notification), so it is never
|
|
200
|
+
// deleted on the delivered path — only drained items (below) and cap evictions release keys.
|
|
201
|
+
if (this.dedup.size > MAX_DEDUP_KEYS) {
|
|
202
|
+
for (const k of this.dedup) {
|
|
203
|
+
this.dedup.delete(k);
|
|
204
|
+
if (this.dedup.size <= MAX_DEDUP_KEYS)
|
|
205
|
+
break;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
// codex 1.254 F4 (delivery-is-the-drain): with a subscriber attached (the runtask lane subscribes
|
|
209
|
+
// BEFORE any producer is wired), enqueue==delivery — retaining a second copy in the queue was the
|
|
210
|
+
// unbounded growth, since the production path never calls drain(). Deliver and do NOT retain.
|
|
211
|
+
if (this.listeners.size > 0) {
|
|
212
|
+
for (const listener of this.listeners)
|
|
213
|
+
listener(item);
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
// No subscriber (tests / future priority-ordered drain path): retain, bounded per priority lane.
|
|
217
|
+
const q = this.queues[item.priority];
|
|
218
|
+
q.push(item);
|
|
219
|
+
if (q.length > MAX_QUEUED_PER_PRIORITY) {
|
|
220
|
+
const evicted = q.shift();
|
|
221
|
+
this.dedup.delete(evicted.dedupKey);
|
|
222
|
+
this.droppedOldest += 1;
|
|
223
|
+
}
|
|
224
|
+
return true;
|
|
225
|
+
}
|
|
226
|
+
drain(priority) {
|
|
227
|
+
const priorities = priority ? [priority] : ["now", "next", "later"];
|
|
228
|
+
const out = [];
|
|
229
|
+
for (const p of priorities) {
|
|
230
|
+
const q = this.queues[p];
|
|
231
|
+
while (q.length > 0) {
|
|
232
|
+
const item = q.shift();
|
|
233
|
+
this.dedup.delete(item.dedupKey);
|
|
234
|
+
out.push(item);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return out;
|
|
238
|
+
}
|
|
239
|
+
subscribe(listener) {
|
|
240
|
+
this.listeners.add(listener);
|
|
241
|
+
return () => this.listeners.delete(listener);
|
|
242
|
+
}
|
|
243
|
+
get size() {
|
|
244
|
+
return this.queues.now.length + this.queues.next.length + this.queues.later.length;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
//# sourceMappingURL=task-notification.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-notification.js","sourceRoot":"","sources":["../../src/core/task-notification.ts"],"names":[],"mappings":"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"}
|