@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,272 @@
|
|
|
1
|
+
import { selectModel } from "./select-model.js";
|
|
2
|
+
/** Resolve a string ModelRef against the catalog (a Model object passes through). */
|
|
3
|
+
export function resolveModel(ref, models) {
|
|
4
|
+
if (typeof ref !== "string") {
|
|
5
|
+
return ref;
|
|
6
|
+
}
|
|
7
|
+
const m = models?.[ref];
|
|
8
|
+
if (!m) {
|
|
9
|
+
throw new Error(`Unknown model ref "${ref}". Provide it in RunnerDeps.models or pass a Model object.`);
|
|
10
|
+
}
|
|
11
|
+
return m;
|
|
12
|
+
}
|
|
13
|
+
// --- 模型档位层(model tiers,clay 拍 2026-07-11)-----------------------------------------------------------
|
|
14
|
+
// sema 自己的能力档位命名(简洁、业界心智):pro/flash 承 DeepSeek 既有习惯,向上 max(前沿旗舰)、向下
|
|
15
|
+
// lite(最便宜);ultra 预留在 max 之上(降档链已排位,center 绑定模型即生效,零码改扩档)。
|
|
16
|
+
// CC alias 兼容:CC-trained 模型/用户会说 opus/sonnet/haiku/fable —— 内置固定映射到 sema 档位
|
|
17
|
+
// (兼容语义不随部署漂,故不可配)。档位→具体模型的绑定(RunnerDeps.tiers)是部署/center 配置。
|
|
18
|
+
// ⚠️ 与 select-model.ts 的 `ModelTier`("cheap|standard|premium",model.params.tier 上的选型过滤属性)
|
|
19
|
+
// 是不同层:那是 selectModel criteria 的机器过滤维度,这里是人/模型可寻址的命名档位——不合并。
|
|
20
|
+
/** 档位降档链(强→弱)。解析某档无绑定时沿链向后找第一个有绑定的档(fail-open 可用性优先;绑定缺口
|
|
21
|
+
* 在部署 catalog 审计面可见)。`ultra` 预留:排在 `max` 前,今天不绑,未来加档零码改。 */
|
|
22
|
+
export const DEFAULT_TIER_ORDER = ["ultra", "max", "pro", "flash", "lite"];
|
|
23
|
+
/** CC 档位词 → sema 档位(内置固定,兼容层):fable/mythos→max · opus→pro · sonnet→flash · haiku→lite。 */
|
|
24
|
+
export const CC_MODEL_TIER_ALIASES = {
|
|
25
|
+
fable: "max",
|
|
26
|
+
mythos: "max",
|
|
27
|
+
opus: "pro",
|
|
28
|
+
sonnet: "flash",
|
|
29
|
+
haiku: "lite",
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Expand a deployment's tier bindings into the model catalog: every tier name (and every CC alias whose
|
|
33
|
+
* tier resolves) becomes a catalog key pointing at the bound Model, so the ENTIRE resolve surface
|
|
34
|
+
* (`resolveModel` / roles / `@model` mentions / Agent tool `model` / workflow `agent() opts.model`)
|
|
35
|
+
* accepts tier vocabulary with ZERO per-callsite changes. Called ONCE at Runner construction.
|
|
36
|
+
*
|
|
37
|
+
* Rules:
|
|
38
|
+
* - a tier with no binding falls back DOWN {@link DEFAULT_TIER_ORDER} to the first bound tier
|
|
39
|
+
* (e.g. `max` unbound + `pro` bound ⇒ "max" resolves to the pro model — availability over strictness;
|
|
40
|
+
* the gap stays visible in the deployment's catalog audit, not silently absent);
|
|
41
|
+
* - an existing catalog key of the same name WINS (deployment SHADOW semantics, mirroring agents):
|
|
42
|
+
* a deployment that already ships a model literally named "pro" keeps it untouched;
|
|
43
|
+
* - a binding may itself be a catalog name or a Model object (resolved through `resolveModel`);
|
|
44
|
+
* an unknown binding name throws at construction (config error surfaces at boot, not first use).
|
|
45
|
+
*/
|
|
46
|
+
/** Symbol key stamped onto a tier-expanded catalog so role→tier defaults know tiers are ACTIVE.
|
|
47
|
+
* A deployment whose plain catalog happens to carry a key literally named `pro`/`flash` must NOT be
|
|
48
|
+
* pulled into tier routing (the INERT promise holds by configuration, not by key-name luck). A symbol
|
|
49
|
+
* survives object spread yet stays invisible to Object.keys/JSON/`@model` allowlists. */
|
|
50
|
+
const TIERS_ACTIVE = Symbol.for("sema.tiersActive");
|
|
51
|
+
export function expandTiers(models, tiers) {
|
|
52
|
+
if (!tiers || Object.keys(tiers).length === 0)
|
|
53
|
+
return models;
|
|
54
|
+
const out = { ...models };
|
|
55
|
+
out[TIERS_ACTIVE] = true;
|
|
56
|
+
const bound = (name) => {
|
|
57
|
+
const b = tiers[name];
|
|
58
|
+
return b === undefined ? undefined : resolveModel(b, models);
|
|
59
|
+
};
|
|
60
|
+
// A tier name outside the default order (a deployment inventing its own tier) still resolves directly;
|
|
61
|
+
// only the KNOWN order participates in the fallback walk.
|
|
62
|
+
const resolveTier = (name) => {
|
|
63
|
+
const direct = bound(name);
|
|
64
|
+
if (direct)
|
|
65
|
+
return direct;
|
|
66
|
+
const at = DEFAULT_TIER_ORDER.indexOf(name);
|
|
67
|
+
if (at === -1)
|
|
68
|
+
return undefined;
|
|
69
|
+
for (let i = at + 1; i < DEFAULT_TIER_ORDER.length; i++) {
|
|
70
|
+
const next = bound(DEFAULT_TIER_ORDER[i]);
|
|
71
|
+
if (next)
|
|
72
|
+
return next;
|
|
73
|
+
}
|
|
74
|
+
return undefined;
|
|
75
|
+
};
|
|
76
|
+
const tierNames = new Set([...DEFAULT_TIER_ORDER, ...Object.keys(tiers)]);
|
|
77
|
+
for (const name of tierNames) {
|
|
78
|
+
if (out[name])
|
|
79
|
+
continue; // deployment catalog key SHADOWs the tier expansion
|
|
80
|
+
const m = resolveTier(name);
|
|
81
|
+
if (m)
|
|
82
|
+
out[name] = m;
|
|
83
|
+
}
|
|
84
|
+
for (const [alias, tier] of Object.entries(CC_MODEL_TIER_ALIASES)) {
|
|
85
|
+
if (out[alias])
|
|
86
|
+
continue; // same SHADOW rule for alias keys
|
|
87
|
+
const m = resolveTier(tier);
|
|
88
|
+
if (m)
|
|
89
|
+
out[alias] = m;
|
|
90
|
+
}
|
|
91
|
+
return out;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Parse a leading/inline `@model` mention out of a user message, restoring the chat "@-model" UX.
|
|
95
|
+
* Returns the matched model **name** (a catalog ref the caller resolves), never a Model object — and
|
|
96
|
+
* **only ever a name from `allowedNames`**. This is the security boundary: untrusted end-user text can
|
|
97
|
+
* pick *which configured model* to use, but can never inject an arbitrary `baseUrl`/`apiKey`/Model
|
|
98
|
+
* (see design/11). Matches the first allow-listed mention; the rest of the text is returned cleaned.
|
|
99
|
+
*
|
|
100
|
+
* Typical use: `const { model, cleanedText } = parseModelMention(userMsg, Object.keys(deps.models));`
|
|
101
|
+
* then `runTask({ objective: cleanedText, model })` (omit `model` to fall back to the default role).
|
|
102
|
+
*/
|
|
103
|
+
export function parseModelMention(text, allowedNames) {
|
|
104
|
+
const allowed = new Map();
|
|
105
|
+
for (const n of allowedNames)
|
|
106
|
+
allowed.set(n.toLowerCase(), n);
|
|
107
|
+
const re = /(^|\s)@([A-Za-z0-9._/-]+)/g;
|
|
108
|
+
let m;
|
|
109
|
+
while ((m = re.exec(text)) !== null) {
|
|
110
|
+
const raw = m[2];
|
|
111
|
+
const trimmed = raw.replace(/[.,!?:;]+$/, ""); // drop trailing sentence punctuation
|
|
112
|
+
const canon = allowed.get(trimmed.toLowerCase());
|
|
113
|
+
if (canon) {
|
|
114
|
+
const at = m.index + m[1].length; // position of '@'
|
|
115
|
+
const end = at + 1 + trimmed.length; // end of the matched name (excl. trailing punctuation)
|
|
116
|
+
const cleaned = (text.slice(0, at) + text.slice(end)).replace(/[ \t]{2,}/g, " ").trim();
|
|
117
|
+
return { model: canon, cleanedText: cleaned };
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return { cleanedText: text.trim() };
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Role → 档位默认表(clay 拍 2026-07-11:「role 体系用户不感知」)。配了 `RunnerDeps.tiers` 的部署,
|
|
124
|
+
* 各 role 未显式配置时自动落到语义档位——用户/壳只感知档位,roles 降级为内部路由层:
|
|
125
|
+
* - `default` → `pro`(主力档兜底;用户/部署 roles.default / TaskSpec.model 恒可覆盖);
|
|
126
|
+
* - `summarize` → `flash`(压缩本该便宜;flash 未绑沿降档链到 lite);
|
|
127
|
+
* - `advisor` → 第一档(`ultra` 起,未绑降档到 max/pro——teacher 用最强的);
|
|
128
|
+
* - `verifier` → `pro`;
|
|
129
|
+
* - `subagent`/`team`/`synthesize` 无档位默认 = 走 FALLBACK 继承主模型(LLM 可经 model 参数自选档)。
|
|
130
|
+
* 未配 tiers 的部署:catalog 无 TIERS_ACTIVE 标记 → 表整体 INERT,行为与从前逐字节一致
|
|
131
|
+
* (即使 catalog 恰有裸模型名 `pro`/`flash` 也不入档位路由——INERT 靠配置成立,不靠键名运气)。
|
|
132
|
+
*/
|
|
133
|
+
export const ROLE_TIER_DEFAULTS = {
|
|
134
|
+
default: "pro",
|
|
135
|
+
summarize: "flash",
|
|
136
|
+
advisor: DEFAULT_TIER_ORDER[0], // "ultra" — 第一档起,降档链兜底
|
|
137
|
+
verifier: "pro",
|
|
138
|
+
};
|
|
139
|
+
/** The role's tier-default model — ONLY when the catalog was actually tier-expanded ({@link TIERS_ACTIVE}).
|
|
140
|
+
* Without the stamp the table is INERT even if the catalog carries a key coincidentally named like a tier. */
|
|
141
|
+
function roleTierModel(role, models) {
|
|
142
|
+
if (!models || !models[TIERS_ACTIVE])
|
|
143
|
+
return undefined;
|
|
144
|
+
const tier = ROLE_TIER_DEFAULTS[role];
|
|
145
|
+
return tier !== undefined ? models[tier] : undefined;
|
|
146
|
+
}
|
|
147
|
+
/** Each role falls back along this chain when it has no model of its own. */
|
|
148
|
+
const FALLBACK = {
|
|
149
|
+
default: [],
|
|
150
|
+
summarize: ["default"],
|
|
151
|
+
subagent: ["default"],
|
|
152
|
+
team: ["default"],
|
|
153
|
+
synthesize: ["team", "default"],
|
|
154
|
+
advisor: ["default"], // unset → the "teacher" falls back to the student model (degrades gracefully)
|
|
155
|
+
verifier: ["default"], // unset → the verification gate's verifier falls back to the main model
|
|
156
|
+
};
|
|
157
|
+
/** Split a RoleSpec (a bare ModelRef OR `{ model, select, thinking, systemPrompt }`) into its parts. */
|
|
158
|
+
function specParts(s) {
|
|
159
|
+
if (s == null) {
|
|
160
|
+
return {};
|
|
161
|
+
}
|
|
162
|
+
if (typeof s === "string") {
|
|
163
|
+
return { model: s };
|
|
164
|
+
}
|
|
165
|
+
// A Model object (has `id`+`api`) is itself the model; otherwise it's a config object.
|
|
166
|
+
if ("id" in s && "api" in s) {
|
|
167
|
+
return { model: s };
|
|
168
|
+
}
|
|
169
|
+
const cfg = s;
|
|
170
|
+
return { model: cfg.model, select: cfg.select, thinking: cfg.thinking, systemPrompt: cfg.systemPrompt };
|
|
171
|
+
}
|
|
172
|
+
/** Normalize a RoleSpec to its `{ model, select, thinking, systemPrompt }` parts (a string/Model becomes `{ model }`). */
|
|
173
|
+
function toConfig(s) {
|
|
174
|
+
if (s == null) {
|
|
175
|
+
return undefined;
|
|
176
|
+
}
|
|
177
|
+
if (typeof s === "string" || ("id" in s && "api" in s)) {
|
|
178
|
+
return { model: s };
|
|
179
|
+
}
|
|
180
|
+
return s;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Merge one role's spec from the runner default (`base`) with a task/scenario override (`over`),
|
|
184
|
+
* **field-aware** so a partial override doesn't silently wipe the model (review finding):
|
|
185
|
+
* `{ thinking }` keeps the base model and just changes thinking; but a `model` OR `select` in the
|
|
186
|
+
* override replaces both (they're alternative sources, so a `select` override beats a fixed base model).
|
|
187
|
+
*/
|
|
188
|
+
function mergeRoleSpec(base, over) {
|
|
189
|
+
const b = toConfig(base);
|
|
190
|
+
const o = toConfig(over);
|
|
191
|
+
if (!o)
|
|
192
|
+
return base;
|
|
193
|
+
if (!b)
|
|
194
|
+
return over;
|
|
195
|
+
const overHasSource = o.model !== undefined || o.select !== undefined;
|
|
196
|
+
return {
|
|
197
|
+
model: overHasSource ? o.model : b.model,
|
|
198
|
+
select: overHasSource ? o.select : b.select,
|
|
199
|
+
thinking: o.thinking ?? b.thinking,
|
|
200
|
+
// systemPrompt is independent of the model source (it's the role's prompt preset): override wins.
|
|
201
|
+
systemPrompt: o.systemPrompt ?? b.systemPrompt,
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
/** Merge two role maps, field-aware per role (task `over` wins). */
|
|
205
|
+
function mergeRoles(base, over) {
|
|
206
|
+
const out = { ...base };
|
|
207
|
+
for (const role of Object.keys(over ?? {})) {
|
|
208
|
+
out[role] = mergeRoleSpec(base?.[role], over?.[role]);
|
|
209
|
+
}
|
|
210
|
+
return out;
|
|
211
|
+
}
|
|
212
|
+
/** Resolve a parts → Model: an explicit model wins, else a capability/price `select`. */
|
|
213
|
+
function partsModel(parts, models) {
|
|
214
|
+
if (parts.model) {
|
|
215
|
+
return resolveModel(parts.model, models);
|
|
216
|
+
}
|
|
217
|
+
if (parts.select) {
|
|
218
|
+
return selectModel(models ?? {}, parts.select);
|
|
219
|
+
}
|
|
220
|
+
return undefined;
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Resolve the model (and default thinking) for a task. Explicit `spec.model` wins; otherwise walk the
|
|
224
|
+
* `modelRole`'s fallback chain over the merged roles (task overrides runner) and use the first role
|
|
225
|
+
* that supplies a model. Throws a helpful error if nothing resolves.
|
|
226
|
+
*/
|
|
227
|
+
export function resolveTaskModel(spec, deps) {
|
|
228
|
+
if (spec.model) {
|
|
229
|
+
// An explicit model must NOT drop the resolved role's systemPrompt preset — the preset is conditioned on
|
|
230
|
+
// TaskSpec.systemPrompt (applied later in prepare-task as `spec.systemPrompt ?? resolvedRole.systemPrompt`),
|
|
231
|
+
// not on whether the model was named explicitly (P-16: a `default` role carrying CODE_AGENT_PROMPT used to
|
|
232
|
+
// be silently lost for any explicit-model task).
|
|
233
|
+
const start = spec.modelRole ?? "default";
|
|
234
|
+
// Read the start role's parts ONCE: an explicit model must drop neither the systemPrompt preset NOR the
|
|
235
|
+
// role's default `thinking` (codex [R145]: ResolvedRole.thinking is "explicit wins, else the role default" —
|
|
236
|
+
// the fallback branch below honors that via `spec.thinking ?? parts.thinking`; this branch must match, else
|
|
237
|
+
// an explicit-model task with a role-default thinking level silently loses it).
|
|
238
|
+
const startParts = specParts(mergeRoles(deps.roles, spec.roles)[start]);
|
|
239
|
+
return {
|
|
240
|
+
model: resolveModel(spec.model, deps.models),
|
|
241
|
+
thinking: spec.thinking ?? startParts.thinking,
|
|
242
|
+
systemPrompt: startParts.systemPrompt,
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
const start = spec.modelRole ?? "default";
|
|
246
|
+
const merged = mergeRoles(deps.roles, spec.roles);
|
|
247
|
+
// The prompt preset belongs to the REQUESTED role's identity, so take it from `start` itself —
|
|
248
|
+
// it must not be lost when the model resolves via a fallback role that has no preset.
|
|
249
|
+
const startSystemPrompt = specParts(merged[start]).systemPrompt;
|
|
250
|
+
for (const role of [start, ...FALLBACK[start]]) {
|
|
251
|
+
const parts = specParts(merged[role]);
|
|
252
|
+
// 档位默认(clay 2026-07-11):显式配置 > 本 role 的档位默认 > FALLBACK 链下一站。语义本位——
|
|
253
|
+
// summarize 未配时先落 flash 档(比继承 default 便宜),而非沿链吃主模型;无 tiers 时 INERT。
|
|
254
|
+
const model = partsModel(parts, deps.models) ?? roleTierModel(role, deps.models);
|
|
255
|
+
if (model) {
|
|
256
|
+
return { model, thinking: spec.thinking ?? parts.thinking, systemPrompt: startSystemPrompt };
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
throw new Error(`No model for role "${start}": set TaskSpec.model, or configure RunnerDeps.roles / TaskSpec.roles["${start}"] (or a "default" role). A "select" RoleSpec also fails here if no catalog model matches.`);
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Resolve a role's model **only if that exact role key is configured** (no fallback chain). Used for
|
|
263
|
+
* the `summarize` compaction model: override only when a summarize-specific model is set, otherwise
|
|
264
|
+
* let the caller fall back to the main model (unchanged behavior).
|
|
265
|
+
*/
|
|
266
|
+
export function roleModelIfSet(role, spec, deps) {
|
|
267
|
+
const merged = mergeRoles(deps.roles, spec.roles);
|
|
268
|
+
// 档位默认同样适用(clay 2026-07-11):tiers 部署下未显式配 summarize 也切 flash 档做压缩;
|
|
269
|
+
// 无 tiers 时返回 undefined = 调用方沿用主模型(行为不变)。
|
|
270
|
+
return partsModel(specParts(merged[role]), deps.models) ?? roleTierModel(role, deps.models);
|
|
271
|
+
}
|
|
272
|
+
//# sourceMappingURL=roles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roles.js","sourceRoot":"","sources":["../../src/core/roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import type { ExecutionEnv } from "../../internal/harness.js";
|
|
2
|
+
import type { SkillManifest, ToolEffect } from "../types.js";
|
|
3
|
+
import type { ToolPolicy } from "../tool-policy.js";
|
|
4
|
+
/** One active skill frame: either a resolved manifest, or a fail-closed marker that the manifest for a
|
|
5
|
+
* loaded skill could not be resolved (→ DENY-ALL while this frame is active). */
|
|
6
|
+
export type ActiveSkillFrame = {
|
|
7
|
+
kind: "manifest";
|
|
8
|
+
manifest: SkillManifest;
|
|
9
|
+
} | {
|
|
10
|
+
kind: "unresolved";
|
|
11
|
+
lineageId: string;
|
|
12
|
+
reason: string;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* The per-task LIFO stack of active skill frames (design/77 §3). Owned by `prepare-task`'s closure;
|
|
16
|
+
* the injected `skill` tool pushes onto it on a successful load, and a deny-narrowing policy reads it
|
|
17
|
+
* on every tool call. A simple array is the stack — `push` on load, and the policy reads ALL frames
|
|
18
|
+
* currently on it (the intersection). v1 keeps lifetime heuristic (see module header).
|
|
19
|
+
*/
|
|
20
|
+
export declare class ActiveSkillScope {
|
|
21
|
+
private readonly frames;
|
|
22
|
+
/** Push a resolved manifest frame (skill loaded successfully WITH a manifest). */
|
|
23
|
+
push(frame: ActiveSkillFrame): void;
|
|
24
|
+
/** Pop the most-recently-pushed frame (LIFO). Returns it, or undefined when empty. v1 surfaces this
|
|
25
|
+
* for the "next-skill-load pops the previous sibling frame" lifetime — see prepare-task wiring. */
|
|
26
|
+
pop(): ActiveSkillFrame | undefined;
|
|
27
|
+
/** Snapshot of the live frames (a copy — callers must not mutate the stack through it). */
|
|
28
|
+
active(): readonly ActiveSkillFrame[];
|
|
29
|
+
get size(): number;
|
|
30
|
+
}
|
|
31
|
+
/** Path-segment-aware containment, FAMILY-AWARE ([K-PLATFORM-SWEEP] MAJOR#2: canonical keys are
|
|
32
|
+
* backslash-form on a win32 env — the "/"-hardcoded suffix rejected every legitimate write there).
|
|
33
|
+
* Compare in "/" form with drive-letter case folded; never keyed on process.platform (the env may be
|
|
34
|
+
* remote and of the OTHER family than the host). */
|
|
35
|
+
export declare function isWithin(root: string, p: string): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Build the Gate-3 deny-narrowing policy over a live {@link ActiveSkillScope} (design/77 §3). For each
|
|
38
|
+
* tool call, WHILE any skill frame is active:
|
|
39
|
+
* - DENY any tool not in the INTERSECTION of every active frame's `allowTools`.
|
|
40
|
+
* - For a WRITE tool with an `allowPaths` constraint on ANY active frame, DENY a write whose
|
|
41
|
+
* canonicalized target is outside every listed prefix (reuses {@link canonicalizeTarget}, so a
|
|
42
|
+
* symlink can't smuggle a write outside the allowed paths).
|
|
43
|
+
* - A frame whose manifest could not be resolved (`kind:"unresolved"`) → DENY-ALL (fail-closed: no
|
|
44
|
+
* allowlist means nothing is allowed — NOT the bare task policy).
|
|
45
|
+
* When NO frame is active, the policy returns `allow` for everything (it only ever subtracts), leaving
|
|
46
|
+
* the task policy unmodified — so a skill WITHOUT a manifest, or a task before any skill load, behaves
|
|
47
|
+
* exactly as before (backward-compatible).
|
|
48
|
+
*
|
|
49
|
+
* This policy must be composed via `combinePolicies(scopePolicy, taskPolicy)` so its `deny`
|
|
50
|
+
* short-circuits the fold and a task-policy `allow` can never widen it.
|
|
51
|
+
*
|
|
52
|
+
* `env`/`rootPath` are the SAME execution env + tracked cwd the hand tools resolve against, so
|
|
53
|
+
* `allowPaths` matching sees the task's real filesystem (a remote/E2B task resolves in its container).
|
|
54
|
+
*/
|
|
55
|
+
export declare function createActiveSkillScopePolicy(opts: {
|
|
56
|
+
scope: ActiveSkillScope;
|
|
57
|
+
env: ExecutionEnv;
|
|
58
|
+
rootPath?: string;
|
|
59
|
+
/** Per-tool side-effect class (the SAME `toolEffects` map prepare-task builds). Lets the scope policy
|
|
60
|
+
* fail CLOSED on a mutating tool that `allowPaths` can NOT confine (e.g. `bash` — no parseable path):
|
|
61
|
+
* while an `allowPaths` constraint is active, such a tool is DENIED, never allowed to write anywhere. */
|
|
62
|
+
toolEffects?: ReadonlyMap<string, ToolEffect>;
|
|
63
|
+
}): ToolPolicy;
|
|
64
|
+
//# sourceMappingURL=active-skill-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-skill-scope.d.ts","sourceRoot":"","sources":["../../../src/core/runner/active-skill-scope.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,KAAK,EAAqC,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGvF;kFACkF;AAClF,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE9D;;;;;GAKG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IAEjD,kFAAkF;IAClF,IAAI,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAInC;wGACoG;IACpG,GAAG,IAAI,gBAAgB,GAAG,SAAS;IAInC,2FAA2F;IAC3F,MAAM,IAAI,SAAS,gBAAgB,EAAE;IAIrC,IAAI,IAAI,IAAI,MAAM,CAEjB;CACF;AAMD;;;qDAGqD;AACrD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAWzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,KAAK,EAAE,gBAAgB,CAAC;IACxB,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;8GAE0G;IAC1G,WAAW,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CAC/C,GAAG,UAAU,CA4Gb"}
|
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
// design/77 §3 — Gate-3: per-artifact manifest → ToolPolicy deny-narrowing (the RUNTIME-SCOPING
|
|
2
|
+
// mechanism only). When a skill carrying a `manifest` is loaded, the rest of the invocation is scoped
|
|
3
|
+
// at runtime to ONLY the tools/paths in that manifest — for the duration of the skill's frame — via a
|
|
4
|
+
// composable `ToolPolicy` folded into the gate's adjudicate chain.
|
|
5
|
+
//
|
|
6
|
+
// Why this is SAFE by construction (design/77 §3 / §8 G3): the scope policy can only ever return
|
|
7
|
+
// `allow` or `deny`. It is composed BEFORE the caller's task policy inside `combinePolicies`, whose
|
|
8
|
+
// fold is `deny > ask > allow` with a deny short-circuit (tool-policy.ts:196). So a scope `deny`
|
|
9
|
+
// outranks any task-policy `allow` — the manifest can only SUBTRACT capability, never add it. An
|
|
10
|
+
// attacker who controls a manifest can therefore only further restrict the run, never widen it. Worst
|
|
11
|
+
// case (the model never pops the frame) = no narrowing applied yet, never a widening — still ⊆ task
|
|
12
|
+
// policy. Nested skills compose MONOTONICALLY: the allowed set is the INTERSECTION of every active
|
|
13
|
+
// frame's `allowTools`, so a child skill can only narrow further, never re-grant what a parent removed.
|
|
14
|
+
//
|
|
15
|
+
// 🔴 KNOWN RESIDUAL — NOT solved here (design/77 §3 / §7 "ON 前必关"): a skill that spawns a SUBAGENT
|
|
16
|
+
// (design/38 Path A) does NOT propagate its manifest scope into the child task — the child has its own
|
|
17
|
+
// `prepare-task` and adjudicate chain and runs UNMANIFESTED. v1 scope applies WITHIN the task only;
|
|
18
|
+
// threading the scope across the subagent boundary is an explicitly-deferred future must-close before
|
|
19
|
+
// auto-promote can turn ON. This slice deliberately does not attempt it.
|
|
20
|
+
//
|
|
21
|
+
// Secondary residual (design/77 §3): the scope stack is in-process worker state (the 2-of-3 asymmetry,
|
|
22
|
+
// in-process axis) and its lifetime is heuristic — the model controls its own turns; we push on a
|
|
23
|
+
// successful skill load and pop on the next skill load (LIFO) / task end. Worst case = no narrowing.
|
|
24
|
+
import { canonicalizeTarget, fileArgPath } from "../../tools/fs/safety.js";
|
|
25
|
+
import { canonicalToolName } from "../tool-name-aliases.js";
|
|
26
|
+
/**
|
|
27
|
+
* The per-task LIFO stack of active skill frames (design/77 §3). Owned by `prepare-task`'s closure;
|
|
28
|
+
* the injected `skill` tool pushes onto it on a successful load, and a deny-narrowing policy reads it
|
|
29
|
+
* on every tool call. A simple array is the stack — `push` on load, and the policy reads ALL frames
|
|
30
|
+
* currently on it (the intersection). v1 keeps lifetime heuristic (see module header).
|
|
31
|
+
*/
|
|
32
|
+
export class ActiveSkillScope {
|
|
33
|
+
frames = [];
|
|
34
|
+
/** Push a resolved manifest frame (skill loaded successfully WITH a manifest). */
|
|
35
|
+
push(frame) {
|
|
36
|
+
this.frames.push(frame);
|
|
37
|
+
}
|
|
38
|
+
/** Pop the most-recently-pushed frame (LIFO). Returns it, or undefined when empty. v1 surfaces this
|
|
39
|
+
* for the "next-skill-load pops the previous sibling frame" lifetime — see prepare-task wiring. */
|
|
40
|
+
pop() {
|
|
41
|
+
return this.frames.pop();
|
|
42
|
+
}
|
|
43
|
+
/** Snapshot of the live frames (a copy — callers must not mutate the stack through it). */
|
|
44
|
+
active() {
|
|
45
|
+
return [...this.frames];
|
|
46
|
+
}
|
|
47
|
+
get size() {
|
|
48
|
+
return this.frames.length;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/** Tool names that take a writable `path` arg and are narrowed by `allowPaths` (mirrors the
|
|
52
|
+
* sensitive-path guard's guarded set — only these expose a parseable, write-able target). */
|
|
53
|
+
const PATH_WRITE_TOOLS = new Set(["Write", "Edit", "MultiEdit"]);
|
|
54
|
+
/** Path-segment-aware containment, FAMILY-AWARE ([K-PLATFORM-SWEEP] MAJOR#2: canonical keys are
|
|
55
|
+
* backslash-form on a win32 env — the "/"-hardcoded suffix rejected every legitimate write there).
|
|
56
|
+
* Compare in "/" form with drive-letter case folded; never keyed on process.platform (the env may be
|
|
57
|
+
* remote and of the OTHER family than the host). */
|
|
58
|
+
export function isWithin(root, p) {
|
|
59
|
+
const norm = (x) => {
|
|
60
|
+
let n = x.replace(/\\/g, "/");
|
|
61
|
+
if (/^[A-Za-z]:(\/|$)/.test(n))
|
|
62
|
+
n = n[0].toLowerCase() + n.slice(1);
|
|
63
|
+
return n;
|
|
64
|
+
};
|
|
65
|
+
const r = norm(root);
|
|
66
|
+
const c = norm(p);
|
|
67
|
+
if (c === r)
|
|
68
|
+
return true;
|
|
69
|
+
const base = r.endsWith("/") ? r : r + "/";
|
|
70
|
+
return c.startsWith(base);
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Build the Gate-3 deny-narrowing policy over a live {@link ActiveSkillScope} (design/77 §3). For each
|
|
74
|
+
* tool call, WHILE any skill frame is active:
|
|
75
|
+
* - DENY any tool not in the INTERSECTION of every active frame's `allowTools`.
|
|
76
|
+
* - For a WRITE tool with an `allowPaths` constraint on ANY active frame, DENY a write whose
|
|
77
|
+
* canonicalized target is outside every listed prefix (reuses {@link canonicalizeTarget}, so a
|
|
78
|
+
* symlink can't smuggle a write outside the allowed paths).
|
|
79
|
+
* - A frame whose manifest could not be resolved (`kind:"unresolved"`) → DENY-ALL (fail-closed: no
|
|
80
|
+
* allowlist means nothing is allowed — NOT the bare task policy).
|
|
81
|
+
* When NO frame is active, the policy returns `allow` for everything (it only ever subtracts), leaving
|
|
82
|
+
* the task policy unmodified — so a skill WITHOUT a manifest, or a task before any skill load, behaves
|
|
83
|
+
* exactly as before (backward-compatible).
|
|
84
|
+
*
|
|
85
|
+
* This policy must be composed via `combinePolicies(scopePolicy, taskPolicy)` so its `deny`
|
|
86
|
+
* short-circuits the fold and a task-policy `allow` can never widen it.
|
|
87
|
+
*
|
|
88
|
+
* `env`/`rootPath` are the SAME execution env + tracked cwd the hand tools resolve against, so
|
|
89
|
+
* `allowPaths` matching sees the task's real filesystem (a remote/E2B task resolves in its container).
|
|
90
|
+
*/
|
|
91
|
+
export function createActiveSkillScopePolicy(opts) {
|
|
92
|
+
const { scope, env, rootPath, toolEffects } = opts;
|
|
93
|
+
return {
|
|
94
|
+
async check(req, signal) {
|
|
95
|
+
// durable compat: a resumed checkpoint may carry a pre-rename persisted tool name; manifest allowlists hold
|
|
96
|
+
// the new (CC) names, so canonicalize before every set/map lookup (identity for live new names).
|
|
97
|
+
const toolName = canonicalToolName(req.toolName);
|
|
98
|
+
const frames = scope.active();
|
|
99
|
+
if (frames.length === 0)
|
|
100
|
+
return { action: "allow" }; // no active manifest → no narrowing
|
|
101
|
+
// Fail-closed: any unresolved frame means a loaded skill's manifest is unknown → DENY-ALL.
|
|
102
|
+
const unresolved = frames.find((f) => f.kind === "unresolved");
|
|
103
|
+
if (unresolved && unresolved.kind === "unresolved") {
|
|
104
|
+
return {
|
|
105
|
+
action: "deny",
|
|
106
|
+
reason: `tool "${req.toolName}" denied: active skill artifact "${unresolved.lineageId}" manifest could not be resolved (${unresolved.reason}) — fail-closed deny-all`,
|
|
107
|
+
decisionReason: "safety",
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
// INTERSECTION of allowTools across every active manifest frame (nested = monotonic narrowing).
|
|
111
|
+
// Start from the first frame's set and intersect the rest, so a tool must be in ALL of them.
|
|
112
|
+
const manifests = frames.flatMap((f) => (f.kind === "manifest" ? [f.manifest] : []));
|
|
113
|
+
let allowed;
|
|
114
|
+
for (const m of manifests) {
|
|
115
|
+
const here = new Set(m.allowTools.map(canonicalToolName));
|
|
116
|
+
allowed = allowed === undefined ? here : new Set([...allowed].filter((t) => here.has(t)));
|
|
117
|
+
}
|
|
118
|
+
// `allowed` is defined here (manifests is non-empty: unresolved handled above, frames non-empty).
|
|
119
|
+
if (!allowed || !allowed.has(toolName)) {
|
|
120
|
+
const ids = manifests.map((m) => m.lineageId).join(", ");
|
|
121
|
+
return {
|
|
122
|
+
action: "deny",
|
|
123
|
+
reason: `tool "${req.toolName}" is not in the active skill manifest allowlist (artifact(s): ${ids})`,
|
|
124
|
+
decisionReason: "safety",
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
// FIX (fail-closed, MAJOR-2): `allowPaths` only confines tools we can parse a write target from
|
|
128
|
+
// (PATH_WRITE_TOOLS). A mutating tool we CANNOT path-confine — `bash`, or any allowlisted effect:write/
|
|
129
|
+
// idempotent tool that is not in PATH_WRITE_TOOLS — would otherwise BYPASS allowPaths entirely and write/
|
|
130
|
+
// egress anywhere. So while ANY active frame constrains paths, DENY such a tool (mirrors the no-resolvable-
|
|
131
|
+
// path deny below: a write that can't be proven inside the allowed set is denied, not allowed). Reads are
|
|
132
|
+
// unaffected — `allowPaths` restricts capability, not visibility (a read tool can't write outside it).
|
|
133
|
+
const pathConstrainingActive = manifests.some((m) => m.allowPaths && m.allowPaths.length > 0);
|
|
134
|
+
if (pathConstrainingActive && !PATH_WRITE_TOOLS.has(toolName)) {
|
|
135
|
+
// 🔴 Conservative default (verify-round-2 MAJOR): `effect` is OPTIONAL on ToolSpec (types.ts) and
|
|
136
|
+
// effect-less tools are legal — the codebase convention is "unknown ⇒ write" (prepare-task.ts:188-189,
|
|
137
|
+
// and the sibling `?? "write"` one line over). `toolEffects` only carries tools that DECLARED an effect,
|
|
138
|
+
// so a custom effect-less write tool would read back `undefined` and slip the deny. Treat undefined as
|
|
139
|
+
// write: only an EXPLICIT `read` is allowed to bypass path-confinement; anything else fails closed.
|
|
140
|
+
const eff = toolEffects?.get(toolName) ?? "write";
|
|
141
|
+
if (eff !== "read") {
|
|
142
|
+
const ids = manifests.filter((m) => m.allowPaths?.length).map((m) => m.lineageId).join(", ");
|
|
143
|
+
return {
|
|
144
|
+
action: "deny",
|
|
145
|
+
reason: `write-capable tool "${req.toolName}" denied: active skill manifest constrains writes to allowPaths but this tool's target cannot be path-confined (only ${[...PATH_WRITE_TOOLS].join("/")} are) — fail-closed (artifact(s): ${ids})`,
|
|
146
|
+
decisionReason: "safety",
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
// Path narrowing for write tools: a write must land inside the allowPaths of EVERY frame that
|
|
151
|
+
// constrains them. A frame with no `allowPaths` does not constrain paths (only `allowTools`).
|
|
152
|
+
if (PATH_WRITE_TOOLS.has(toolName)) {
|
|
153
|
+
const constraining = manifests.filter((m) => m.allowPaths && m.allowPaths.length > 0);
|
|
154
|
+
if (constraining.length > 0) {
|
|
155
|
+
const path = fileArgPath(req.args); // batch-B: CC `file_path` or legacy `path` (else a file_path write is wrongly denied)
|
|
156
|
+
if (typeof path !== "string" || path.length === 0) {
|
|
157
|
+
// A write tool with no parseable path while a path constraint is active → fail-closed deny
|
|
158
|
+
// (we can't prove it lands inside the allowed set).
|
|
159
|
+
return {
|
|
160
|
+
action: "deny",
|
|
161
|
+
reason: `write tool "${req.toolName}" denied: active skill manifest constrains writes to allowPaths but the call has no resolvable path`,
|
|
162
|
+
decisionReason: "safety",
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
const canon = await canonicalizeTarget(env, path, signal, rootPath);
|
|
166
|
+
if (!canon.ok) {
|
|
167
|
+
// Cannot resolve the real target (unresolvable symlink / bad path) → fail-closed deny: it
|
|
168
|
+
// could resolve outside the allowed paths (mirrors the sensitive-path guard's symlink stance).
|
|
169
|
+
return {
|
|
170
|
+
action: "deny",
|
|
171
|
+
reason: `write to "${path}" denied: its real target could not be resolved against the active skill manifest allowPaths`,
|
|
172
|
+
decisionReason: "safety",
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
for (const m of constraining) {
|
|
176
|
+
const roots = [];
|
|
177
|
+
for (const raw of m.allowPaths ?? []) {
|
|
178
|
+
const r = await canonicalizeTarget(env, raw, signal, rootPath);
|
|
179
|
+
if (r.ok)
|
|
180
|
+
roots.push(r.key);
|
|
181
|
+
}
|
|
182
|
+
const inside = roots.some((root) => isWithin(root, canon.key));
|
|
183
|
+
if (!inside) {
|
|
184
|
+
return {
|
|
185
|
+
action: "deny",
|
|
186
|
+
reason: `write to "${path}" is outside the paths allowed by skill manifest "${m.lineageId}" (allowPaths: ${(m.allowPaths ?? []).join(", ")})`,
|
|
187
|
+
decisionReason: "safety",
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
return { action: "allow" };
|
|
194
|
+
},
|
|
195
|
+
};
|
|
196
|
+
}
|
|
197
|
+
//# sourceMappingURL=active-skill-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"active-skill-scope.js","sourceRoot":"","sources":["../../../src/core/runner/active-skill-scope.ts"],"names":[],"mappings":"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"}
|