@prestyj/cli 5.13.0 → 5.16.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/README.md +7 -2
- package/assets/skills/clarify/SKILL.md +30 -0
- package/assets/skills/code-review/SKILL.md +30 -0
- package/assets/skills/root-cause/SKILL.md +36 -0
- package/assets/skills/shared-language/SKILL.md +30 -0
- package/assets/skills/tdd/SKILL.md +30 -0
- package/dist/app-sidecar.js +394 -67
- package/dist/app-sidecar.js.map +1 -1
- package/dist/chat-agents/research.d.ts +1 -1
- package/dist/chat-agents/research.d.ts.map +1 -1
- package/dist/chat-agents/research.js +1 -1
- package/dist/chat-agents/research.js.map +1 -1
- package/dist/cli/shared.d.ts.map +1 -1
- package/dist/cli/shared.js +2 -0
- package/dist/cli/shared.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +10 -3
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -0
- package/dist/config.js.map +1 -1
- package/dist/core/agent-session.d.ts +34 -7
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +168 -33
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/agents.d.ts +2 -3
- package/dist/core/agents.d.ts.map +1 -1
- package/dist/core/agents.js +2 -3
- package/dist/core/agents.js.map +1 -1
- package/dist/core/ask-user.d.ts +63 -0
- package/dist/core/ask-user.d.ts.map +1 -0
- package/dist/core/ask-user.js +40 -0
- package/dist/core/ask-user.js.map +1 -0
- package/dist/core/auth-providers.d.ts +6 -0
- package/dist/core/auth-providers.d.ts.map +1 -1
- package/dist/core/auth-providers.js +30 -24
- package/dist/core/auth-providers.js.map +1 -1
- package/dist/core/bundled-agents.d.ts.map +1 -1
- package/dist/core/bundled-agents.js +13 -4
- package/dist/core/bundled-agents.js.map +1 -1
- package/dist/core/context-limits.d.ts +35 -0
- package/dist/core/context-limits.d.ts.map +1 -0
- package/dist/core/context-limits.js +35 -0
- package/dist/core/context-limits.js.map +1 -0
- package/dist/core/env-delta.d.ts +27 -0
- package/dist/core/env-delta.d.ts.map +1 -0
- package/dist/core/env-delta.js +65 -0
- package/dist/core/env-delta.js.map +1 -0
- package/dist/core/event-bus.d.ts +6 -6
- package/dist/core/event-bus.d.ts.map +1 -1
- package/dist/core/event-bus.js.map +1 -1
- package/dist/core/goal-worker.js +1 -1
- package/dist/core/goal-worker.js.map +1 -1
- package/dist/core/hashline-edit-benchmark.d.ts +2 -0
- package/dist/core/hashline-edit-benchmark.d.ts.map +1 -1
- package/dist/core/hashline-edit-benchmark.js +5 -1
- package/dist/core/hashline-edit-benchmark.js.map +1 -1
- package/dist/core/lsp/edit-telemetry.d.ts +27 -0
- package/dist/core/lsp/edit-telemetry.d.ts.map +1 -0
- package/dist/core/lsp/edit-telemetry.js +50 -0
- package/dist/core/lsp/edit-telemetry.js.map +1 -0
- package/dist/core/lsp/manager.d.ts +24 -1
- package/dist/core/lsp/manager.d.ts.map +1 -1
- package/dist/core/lsp/manager.js +53 -2
- package/dist/core/lsp/manager.js.map +1 -1
- package/dist/core/mcp/client.js +1 -1
- package/dist/core/mcp/client.js.map +1 -1
- package/dist/core/mcp/content.d.ts +5 -0
- package/dist/core/mcp/content.d.ts.map +1 -1
- package/dist/core/mcp/content.js +20 -2
- package/dist/core/mcp/content.js.map +1 -1
- package/dist/core/mcp/defaults.d.ts +4 -2
- package/dist/core/mcp/defaults.d.ts.map +1 -1
- package/dist/core/mcp/defaults.js +10 -12
- package/dist/core/mcp/defaults.js.map +1 -1
- package/dist/core/mcp/deferred-catalog.d.ts +9 -0
- package/dist/core/mcp/deferred-catalog.d.ts.map +1 -1
- package/dist/core/mcp/deferred-catalog.js +15 -1
- package/dist/core/mcp/deferred-catalog.js.map +1 -1
- package/dist/core/mcp/elicitation-bridge.d.ts.map +1 -1
- package/dist/core/mcp/elicitation-bridge.js +12 -28
- package/dist/core/mcp/elicitation-bridge.js.map +1 -1
- package/dist/core/mcp/shared-pool.d.ts +2 -2
- package/dist/core/mcp/shared-pool.js +2 -2
- package/dist/core/nolan-prompt.d.ts +1 -1
- package/dist/core/nolan-prompt.js +16 -8
- package/dist/core/nolan-prompt.js.map +1 -1
- package/dist/core/parked-requests.d.ts +44 -0
- package/dist/core/parked-requests.d.ts.map +1 -0
- package/dist/core/parked-requests.js +34 -0
- package/dist/core/parked-requests.js.map +1 -0
- package/dist/core/platform-clis.d.ts +16 -0
- package/dist/core/platform-clis.d.ts.map +1 -0
- package/dist/core/platform-clis.js +299 -0
- package/dist/core/platform-clis.js.map +1 -0
- package/dist/core/process-manager.d.ts +11 -0
- package/dist/core/process-manager.d.ts.map +1 -1
- package/dist/core/process-manager.js +9 -2
- package/dist/core/process-manager.js.map +1 -1
- package/dist/core/prompt-commands.d.ts.map +1 -1
- package/dist/core/prompt-commands.js +75 -37
- package/dist/core/prompt-commands.js.map +1 -1
- package/dist/core/sandbox.d.ts +17 -1
- package/dist/core/sandbox.d.ts.map +1 -1
- package/dist/core/sandbox.js +140 -9
- package/dist/core/sandbox.js.map +1 -1
- package/dist/core/session-manager.d.ts +18 -1
- package/dist/core/session-manager.d.ts.map +1 -1
- package/dist/core/session-manager.js +62 -23
- package/dist/core/session-manager.js.map +1 -1
- package/dist/core/settings-manager.d.ts +12 -2
- package/dist/core/settings-manager.d.ts.map +1 -1
- package/dist/core/settings-manager.js +28 -0
- package/dist/core/settings-manager.js.map +1 -1
- package/dist/core/skills.d.ts +16 -1
- package/dist/core/skills.d.ts.map +1 -1
- package/dist/core/skills.js +37 -5
- package/dist/core/skills.js.map +1 -1
- package/dist/core/steroids.d.ts +59 -0
- package/dist/core/steroids.d.ts.map +1 -0
- package/dist/core/steroids.js +227 -0
- package/dist/core/steroids.js.map +1 -0
- package/dist/core/subagent-manager.d.ts +17 -0
- package/dist/core/subagent-manager.d.ts.map +1 -1
- package/dist/core/subagent-manager.js +92 -1
- package/dist/core/subagent-manager.js.map +1 -1
- package/dist/core/subagent-turn-record.d.ts +17 -0
- package/dist/core/subagent-turn-record.d.ts.map +1 -0
- package/dist/core/subagent-turn-record.js +82 -0
- package/dist/core/subagent-turn-record.js.map +1 -0
- package/dist/core/verification-gate.d.ts +81 -13
- package/dist/core/verification-gate.d.ts.map +1 -1
- package/dist/core/verification-gate.js +288 -30
- package/dist/core/verification-gate.js.map +1 -1
- package/dist/core/workspace-guard.d.ts +6 -0
- package/dist/core/workspace-guard.d.ts.map +1 -1
- package/dist/core/workspace-guard.js +58 -7
- package/dist/core/workspace-guard.js.map +1 -1
- package/dist/hf-pull.d.ts +102 -0
- package/dist/hf-pull.d.ts.map +1 -0
- package/dist/hf-pull.js +225 -0
- package/dist/hf-pull.js.map +1 -0
- package/dist/modes/json-mode.d.ts +2 -2
- package/dist/modes/json-mode.d.ts.map +1 -1
- package/dist/modes/json-mode.js +2 -8
- package/dist/modes/json-mode.js.map +1 -1
- package/dist/modes/subagent-worker-mode.d.ts.map +1 -1
- package/dist/modes/subagent-worker-mode.js +66 -18
- package/dist/modes/subagent-worker-mode.js.map +1 -1
- package/dist/system-prompt.d.ts +5 -2
- package/dist/system-prompt.d.ts.map +1 -1
- package/dist/system-prompt.js +90 -36
- package/dist/system-prompt.js.map +1 -1
- package/dist/tools/ask-user.d.ts +35 -0
- package/dist/tools/ask-user.d.ts.map +1 -0
- package/dist/tools/ask-user.js +157 -0
- package/dist/tools/ask-user.js.map +1 -0
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +6 -1
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/edit.d.ts +2 -1
- package/dist/tools/edit.d.ts.map +1 -1
- package/dist/tools/edit.js +21 -5
- package/dist/tools/edit.js.map +1 -1
- package/dist/tools/index.d.ts +9 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +8 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/operations.d.ts +48 -0
- package/dist/tools/operations.d.ts.map +1 -1
- package/dist/tools/operations.js +92 -2
- package/dist/tools/operations.js.map +1 -1
- package/dist/tools/path-utils.d.ts +28 -1
- package/dist/tools/path-utils.d.ts.map +1 -1
- package/dist/tools/path-utils.js +44 -2
- package/dist/tools/path-utils.js.map +1 -1
- package/dist/tools/prompt-hints.d.ts.map +1 -1
- package/dist/tools/prompt-hints.js +7 -6
- package/dist/tools/prompt-hints.js.map +1 -1
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +35 -3
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/skill.d.ts +3 -2
- package/dist/tools/skill.d.ts.map +1 -1
- package/dist/tools/skill.js +10 -7
- package/dist/tools/skill.js.map +1 -1
- package/dist/tools/steroids.d.ts +46 -0
- package/dist/tools/steroids.d.ts.map +1 -0
- package/dist/tools/steroids.js +233 -0
- package/dist/tools/steroids.js.map +1 -0
- package/dist/tools/subagent-shared.d.ts +1 -1
- package/dist/tools/subagent-shared.d.ts.map +1 -1
- package/dist/tools/subagent-shared.js +1 -4
- package/dist/tools/subagent-shared.js.map +1 -1
- package/dist/tools/subagent.js +1 -1
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/tool-search.d.ts +2 -1
- package/dist/tools/tool-search.d.ts.map +1 -1
- package/dist/tools/tool-search.js +28 -3
- package/dist/tools/tool-search.js.map +1 -1
- package/dist/tools/tool-tiers.d.ts.map +1 -1
- package/dist/tools/tool-tiers.js +5 -0
- package/dist/tools/tool-tiers.js.map +1 -1
- package/dist/tools/web-fetch.d.ts +7 -0
- package/dist/tools/web-fetch.d.ts.map +1 -1
- package/dist/tools/web-fetch.js +308 -20
- package/dist/tools/web-fetch.js.map +1 -1
- package/dist/tools/write.d.ts +1 -1
- package/dist/tools/write.d.ts.map +1 -1
- package/dist/tools/write.js +1 -1
- package/dist/tools/write.js.map +1 -1
- package/dist/ui/App.d.ts.map +1 -1
- package/dist/ui/App.js +21 -31
- package/dist/ui/App.js.map +1 -1
- package/dist/ui/app-items.d.ts +3 -0
- package/dist/ui/app-items.d.ts.map +1 -1
- package/dist/ui/app-items.js +3 -0
- package/dist/ui/app-items.js.map +1 -1
- package/dist/ui/components/Footer.js +1 -1
- package/dist/ui/components/Footer.js.map +1 -1
- package/dist/ui/components/ModelSelector.d.ts.map +1 -1
- package/dist/ui/components/ModelSelector.js +1 -0
- package/dist/ui/components/ModelSelector.js.map +1 -1
- package/dist/ui/components/ToolExecution.d.ts.map +1 -1
- package/dist/ui/components/ToolExecution.js +10 -3
- package/dist/ui/components/ToolExecution.js.map +1 -1
- package/dist/ui/login.d.ts.map +1 -1
- package/dist/ui/login.js +5 -33
- package/dist/ui/login.js.map +1 -1
- package/dist/ui/prompt-routing.d.ts +2 -2
- package/dist/ui/prompt-routing.d.ts.map +1 -1
- package/dist/ui/prompt-routing.js +20 -8
- package/dist/ui/prompt-routing.js.map +1 -1
- package/dist/ui/submit-prompt-command.d.ts.map +1 -1
- package/dist/ui/submit-prompt-command.js +1 -1
- package/dist/ui/submit-prompt-command.js.map +1 -1
- package/dist/ui/terminal-history.js +4 -2
- package/dist/ui/terminal-history.js.map +1 -1
- package/dist/ui/tool-group-summary.d.ts +2 -0
- package/dist/ui/tool-group-summary.d.ts.map +1 -1
- package/dist/ui/tool-group-summary.js +11 -25
- package/dist/ui/tool-group-summary.js.map +1 -1
- package/dist/ui/tool-line-summary.d.ts.map +1 -1
- package/dist/ui/tool-line-summary.js +12 -9
- package/dist/ui/tool-line-summary.js.map +1 -1
- package/dist/ui/transcript/tool-presentation.d.ts.map +1 -1
- package/dist/ui/transcript/tool-presentation.js +2 -7
- package/dist/ui/transcript/tool-presentation.js.map +1 -1
- package/dist/ui/utils/text-utils.d.ts +0 -6
- package/dist/ui/utils/text-utils.d.ts.map +1 -1
- package/dist/ui/utils/text-utils.js +8 -3
- package/dist/ui/utils/text-utils.js.map +1 -1
- package/dist/utils/text.d.ts +41 -0
- package/dist/utils/text.d.ts.map +1 -1
- package/dist/utils/text.js +46 -0
- package/dist/utils/text.js.map +1 -1
- package/package.json +6 -7
- package/dist/app-sidecar-auth-broadcast.test.d.ts +0 -2
- package/dist/app-sidecar-auth-broadcast.test.d.ts.map +0 -1
- package/dist/app-sidecar-auth-broadcast.test.js +0 -383
- package/dist/app-sidecar-auth-broadcast.test.js.map +0 -1
- package/dist/app-sidecar-sessions.test.d.ts +0 -2
- package/dist/app-sidecar-sessions.test.d.ts.map +0 -1
- package/dist/app-sidecar-sessions.test.js +0 -178
- package/dist/app-sidecar-sessions.test.js.map +0 -1
- package/dist/chat-agents/general.test.d.ts +0 -2
- package/dist/chat-agents/general.test.d.ts.map +0 -1
- package/dist/chat-agents/general.test.js +0 -52
- package/dist/chat-agents/general.test.js.map +0 -1
- package/dist/chat-agents/jiwa.test.d.ts +0 -2
- package/dist/chat-agents/jiwa.test.d.ts.map +0 -1
- package/dist/chat-agents/jiwa.test.js +0 -66
- package/dist/chat-agents/jiwa.test.js.map +0 -1
- package/dist/chat-agents/memory.test.d.ts +0 -2
- package/dist/chat-agents/memory.test.d.ts.map +0 -1
- package/dist/chat-agents/memory.test.js +0 -165
- package/dist/chat-agents/memory.test.js.map +0 -1
- package/dist/chat-agents/specialists.test.d.ts +0 -2
- package/dist/chat-agents/specialists.test.d.ts.map +0 -1
- package/dist/chat-agents/specialists.test.js +0 -98
- package/dist/chat-agents/specialists.test.js.map +0 -1
- package/dist/cli/command-routing.test.d.ts +0 -2
- package/dist/cli/command-routing.test.d.ts.map +0 -1
- package/dist/cli/command-routing.test.js +0 -61
- package/dist/cli/command-routing.test.js.map +0 -1
- package/dist/config.test.d.ts +0 -2
- package/dist/config.test.d.ts.map +0 -1
- package/dist/config.test.js +0 -158
- package/dist/config.test.js.map +0 -1
- package/dist/core/agent-mcp-passthrough.test.d.ts +0 -2
- package/dist/core/agent-mcp-passthrough.test.d.ts.map +0 -1
- package/dist/core/agent-mcp-passthrough.test.js +0 -61
- package/dist/core/agent-mcp-passthrough.test.js.map +0 -1
- package/dist/core/agent-notifications.test.d.ts +0 -2
- package/dist/core/agent-notifications.test.d.ts.map +0 -1
- package/dist/core/agent-notifications.test.js +0 -97
- package/dist/core/agent-notifications.test.js.map +0 -1
- package/dist/core/agent-session-add-dir.test.d.ts +0 -2
- package/dist/core/agent-session-add-dir.test.d.ts.map +0 -1
- package/dist/core/agent-session-add-dir.test.js +0 -110
- package/dist/core/agent-session-add-dir.test.js.map +0 -1
- package/dist/core/agent-session-checkpoint-flush.test.d.ts +0 -2
- package/dist/core/agent-session-checkpoint-flush.test.d.ts.map +0 -1
- package/dist/core/agent-session-checkpoint-flush.test.js +0 -201
- package/dist/core/agent-session-checkpoint-flush.test.js.map +0 -1
- package/dist/core/agent-session-compaction.test.d.ts +0 -2
- package/dist/core/agent-session-compaction.test.d.ts.map +0 -1
- package/dist/core/agent-session-compaction.test.js +0 -1156
- package/dist/core/agent-session-compaction.test.js.map +0 -1
- package/dist/core/agent-session-crash-durability.test.d.ts +0 -2
- package/dist/core/agent-session-crash-durability.test.d.ts.map +0 -1
- package/dist/core/agent-session-crash-durability.test.js +0 -102
- package/dist/core/agent-session-crash-durability.test.js.map +0 -1
- package/dist/core/agent-session-marker-anchors.test.d.ts +0 -2
- package/dist/core/agent-session-marker-anchors.test.d.ts.map +0 -1
- package/dist/core/agent-session-marker-anchors.test.js +0 -326
- package/dist/core/agent-session-marker-anchors.test.js.map +0 -1
- package/dist/core/agent-session-memory-tail.test.d.ts +0 -2
- package/dist/core/agent-session-memory-tail.test.d.ts.map +0 -1
- package/dist/core/agent-session-memory-tail.test.js +0 -119
- package/dist/core/agent-session-memory-tail.test.js.map +0 -1
- package/dist/core/agent-session-model-switch.test.d.ts +0 -2
- package/dist/core/agent-session-model-switch.test.d.ts.map +0 -1
- package/dist/core/agent-session-model-switch.test.js +0 -161
- package/dist/core/agent-session-model-switch.test.js.map +0 -1
- package/dist/core/agent-session-notifications.test.d.ts +0 -2
- package/dist/core/agent-session-notifications.test.d.ts.map +0 -1
- package/dist/core/agent-session-notifications.test.js +0 -114
- package/dist/core/agent-session-notifications.test.js.map +0 -1
- package/dist/core/agent-session-process-gate.test.d.ts +0 -2
- package/dist/core/agent-session-process-gate.test.d.ts.map +0 -1
- package/dist/core/agent-session-process-gate.test.js +0 -98
- package/dist/core/agent-session-process-gate.test.js.map +0 -1
- package/dist/core/agent-session-queue.test.d.ts +0 -2
- package/dist/core/agent-session-queue.test.d.ts.map +0 -1
- package/dist/core/agent-session-queue.test.js +0 -184
- package/dist/core/agent-session-queue.test.js.map +0 -1
- package/dist/core/agent-session-review-coverage.test.d.ts +0 -2
- package/dist/core/agent-session-review-coverage.test.d.ts.map +0 -1
- package/dist/core/agent-session-review-coverage.test.js +0 -191
- package/dist/core/agent-session-review-coverage.test.js.map +0 -1
- package/dist/core/agent-session-slash-restore.test.d.ts +0 -2
- package/dist/core/agent-session-slash-restore.test.d.ts.map +0 -1
- package/dist/core/agent-session-slash-restore.test.js +0 -121
- package/dist/core/agent-session-slash-restore.test.js.map +0 -1
- package/dist/core/agent-session-subagent-policy.test.d.ts +0 -2
- package/dist/core/agent-session-subagent-policy.test.d.ts.map +0 -1
- package/dist/core/agent-session-subagent-policy.test.js +0 -40
- package/dist/core/agent-session-subagent-policy.test.js.map +0 -1
- package/dist/core/agent-session-tool-result-policy.test.d.ts +0 -2
- package/dist/core/agent-session-tool-result-policy.test.d.ts.map +0 -1
- package/dist/core/agent-session-tool-result-policy.test.js +0 -25
- package/dist/core/agent-session-tool-result-policy.test.js.map +0 -1
- package/dist/core/agent-session-tool-tiers.test.d.ts +0 -2
- package/dist/core/agent-session-tool-tiers.test.d.ts.map +0 -1
- package/dist/core/agent-session-tool-tiers.test.js +0 -138
- package/dist/core/agent-session-tool-tiers.test.js.map +0 -1
- package/dist/core/agent-session-verification-gate.test.d.ts +0 -2
- package/dist/core/agent-session-verification-gate.test.d.ts.map +0 -1
- package/dist/core/agent-session-verification-gate.test.js +0 -135
- package/dist/core/agent-session-verification-gate.test.js.map +0 -1
- package/dist/core/agent-tools-allowlist.test.d.ts +0 -2
- package/dist/core/agent-tools-allowlist.test.d.ts.map +0 -1
- package/dist/core/agent-tools-allowlist.test.js +0 -74
- package/dist/core/agent-tools-allowlist.test.js.map +0 -1
- package/dist/core/agents.test.d.ts +0 -2
- package/dist/core/agents.test.d.ts.map +0 -1
- package/dist/core/agents.test.js +0 -147
- package/dist/core/agents.test.js.map +0 -1
- package/dist/core/auto-update.test.d.ts +0 -2
- package/dist/core/auto-update.test.d.ts.map +0 -1
- package/dist/core/auto-update.test.js +0 -204
- package/dist/core/auto-update.test.js.map +0 -1
- package/dist/core/autopilot-cycle.test.d.ts +0 -2
- package/dist/core/autopilot-cycle.test.d.ts.map +0 -1
- package/dist/core/autopilot-cycle.test.js +0 -375
- package/dist/core/autopilot-cycle.test.js.map +0 -1
- package/dist/core/autopilot-gate.test.d.ts +0 -2
- package/dist/core/autopilot-gate.test.d.ts.map +0 -1
- package/dist/core/autopilot-gate.test.js +0 -298
- package/dist/core/autopilot-gate.test.js.map +0 -1
- package/dist/core/autopilot-verdict.test.d.ts +0 -2
- package/dist/core/autopilot-verdict.test.d.ts.map +0 -1
- package/dist/core/autopilot-verdict.test.js +0 -153
- package/dist/core/autopilot-verdict.test.js.map +0 -1
- package/dist/core/checkpoint-store.test.d.ts +0 -2
- package/dist/core/checkpoint-store.test.d.ts.map +0 -1
- package/dist/core/checkpoint-store.test.js +0 -111
- package/dist/core/checkpoint-store.test.js.map +0 -1
- package/dist/core/code-retrieval-chunkers.test.d.ts +0 -2
- package/dist/core/code-retrieval-chunkers.test.d.ts.map +0 -1
- package/dist/core/code-retrieval-chunkers.test.js +0 -203
- package/dist/core/code-retrieval-chunkers.test.js.map +0 -1
- package/dist/core/compaction/active-context.test.d.ts +0 -2
- package/dist/core/compaction/active-context.test.d.ts.map +0 -1
- package/dist/core/compaction/active-context.test.js +0 -57
- package/dist/core/compaction/active-context.test.js.map +0 -1
- package/dist/core/compaction/compactor.test.d.ts +0 -2
- package/dist/core/compaction/compactor.test.d.ts.map +0 -1
- package/dist/core/compaction/compactor.test.js +0 -1072
- package/dist/core/compaction/compactor.test.js.map +0 -1
- package/dist/core/compaction/policy.test.d.ts +0 -2
- package/dist/core/compaction/policy.test.d.ts.map +0 -1
- package/dist/core/compaction/policy.test.js +0 -35
- package/dist/core/compaction/policy.test.js.map +0 -1
- package/dist/core/compaction/query-aware-selector.test.d.ts +0 -2
- package/dist/core/compaction/query-aware-selector.test.d.ts.map +0 -1
- package/dist/core/compaction/query-aware-selector.test.js +0 -96
- package/dist/core/compaction/query-aware-selector.test.js.map +0 -1
- package/dist/core/compaction/token-estimator.test.d.ts +0 -2
- package/dist/core/compaction/token-estimator.test.d.ts.map +0 -1
- package/dist/core/compaction/token-estimator.test.js +0 -283
- package/dist/core/compaction/token-estimator.test.js.map +0 -1
- package/dist/core/compaction/tool-result-pruner.test.d.ts +0 -2
- package/dist/core/compaction/tool-result-pruner.test.d.ts.map +0 -1
- package/dist/core/compaction/tool-result-pruner.test.js +0 -320
- package/dist/core/compaction/tool-result-pruner.test.js.map +0 -1
- package/dist/core/continue-replay-inventory.test.d.ts +0 -2
- package/dist/core/continue-replay-inventory.test.d.ts.map +0 -1
- package/dist/core/continue-replay-inventory.test.js +0 -42
- package/dist/core/continue-replay-inventory.test.js.map +0 -1
- package/dist/core/encode-cwd.test.d.ts +0 -2
- package/dist/core/encode-cwd.test.d.ts.map +0 -1
- package/dist/core/encode-cwd.test.js +0 -80
- package/dist/core/encode-cwd.test.js.map +0 -1
- package/dist/core/event-bus.test.d.ts +0 -2
- package/dist/core/event-bus.test.d.ts.map +0 -1
- package/dist/core/event-bus.test.js +0 -33
- package/dist/core/event-bus.test.js.map +0 -1
- package/dist/core/extensions/plugin-bundles.test.d.ts +0 -2
- package/dist/core/extensions/plugin-bundles.test.d.ts.map +0 -1
- package/dist/core/extensions/plugin-bundles.test.js +0 -110
- package/dist/core/extensions/plugin-bundles.test.js.map +0 -1
- package/dist/core/foreign-session-import.test.d.ts +0 -2
- package/dist/core/foreign-session-import.test.d.ts.map +0 -1
- package/dist/core/foreign-session-import.test.js +0 -220
- package/dist/core/foreign-session-import.test.js.map +0 -1
- package/dist/core/goal-controller.test.d.ts +0 -2
- package/dist/core/goal-controller.test.d.ts.map +0 -1
- package/dist/core/goal-controller.test.js +0 -784
- package/dist/core/goal-controller.test.js.map +0 -1
- package/dist/core/goal-lifecycle-smoke.test.d.ts +0 -2
- package/dist/core/goal-lifecycle-smoke.test.d.ts.map +0 -1
- package/dist/core/goal-lifecycle-smoke.test.js +0 -248
- package/dist/core/goal-lifecycle-smoke.test.js.map +0 -1
- package/dist/core/goal-prerequisites.test.d.ts +0 -2
- package/dist/core/goal-prerequisites.test.d.ts.map +0 -1
- package/dist/core/goal-prerequisites.test.js +0 -118
- package/dist/core/goal-prerequisites.test.js.map +0 -1
- package/dist/core/goal-store.test.d.ts +0 -2
- package/dist/core/goal-store.test.d.ts.map +0 -1
- package/dist/core/goal-store.test.js +0 -398
- package/dist/core/goal-store.test.js.map +0 -1
- package/dist/core/goal-verifier.test.d.ts +0 -2
- package/dist/core/goal-verifier.test.d.ts.map +0 -1
- package/dist/core/goal-verifier.test.js +0 -131
- package/dist/core/goal-verifier.test.js.map +0 -1
- package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts +0 -2
- package/dist/core/goal-worker-dev-server-lifecycle.test.d.ts.map +0 -1
- package/dist/core/goal-worker-dev-server-lifecycle.test.js +0 -68
- package/dist/core/goal-worker-dev-server-lifecycle.test.js.map +0 -1
- package/dist/core/goal-worker.test.d.ts +0 -2
- package/dist/core/goal-worker.test.d.ts.map +0 -1
- package/dist/core/goal-worker.test.js +0 -269
- package/dist/core/goal-worker.test.js.map +0 -1
- package/dist/core/hashline-edit-benchmark.test.d.ts +0 -2
- package/dist/core/hashline-edit-benchmark.test.d.ts.map +0 -1
- package/dist/core/hashline-edit-benchmark.test.js +0 -190
- package/dist/core/hashline-edit-benchmark.test.js.map +0 -1
- package/dist/core/ideal-review.test.d.ts +0 -2
- package/dist/core/ideal-review.test.d.ts.map +0 -1
- package/dist/core/ideal-review.test.js +0 -242
- package/dist/core/ideal-review.test.js.map +0 -1
- package/dist/core/input-normalization.test.d.ts +0 -2
- package/dist/core/input-normalization.test.d.ts.map +0 -1
- package/dist/core/input-normalization.test.js +0 -75
- package/dist/core/input-normalization.test.js.map +0 -1
- package/dist/core/json-mode-flag-parity.test.d.ts +0 -2
- package/dist/core/json-mode-flag-parity.test.d.ts.map +0 -1
- package/dist/core/json-mode-flag-parity.test.js +0 -66
- package/dist/core/json-mode-flag-parity.test.js.map +0 -1
- package/dist/core/language-detector.test.d.ts +0 -2
- package/dist/core/language-detector.test.d.ts.map +0 -1
- package/dist/core/language-detector.test.js +0 -109
- package/dist/core/language-detector.test.js.map +0 -1
- package/dist/core/local-endpoint-store.test.d.ts +0 -2
- package/dist/core/local-endpoint-store.test.d.ts.map +0 -1
- package/dist/core/local-endpoint-store.test.js +0 -131
- package/dist/core/local-endpoint-store.test.js.map +0 -1
- package/dist/core/loop-breaker.test.d.ts +0 -2
- package/dist/core/loop-breaker.test.d.ts.map +0 -1
- package/dist/core/loop-breaker.test.js +0 -238
- package/dist/core/loop-breaker.test.js.map +0 -1
- package/dist/core/lsp/client-navigation.test.d.ts +0 -2
- package/dist/core/lsp/client-navigation.test.d.ts.map +0 -1
- package/dist/core/lsp/client-navigation.test.js +0 -135
- package/dist/core/lsp/client-navigation.test.js.map +0 -1
- package/dist/core/lsp/format.test.d.ts +0 -2
- package/dist/core/lsp/format.test.d.ts.map +0 -1
- package/dist/core/lsp/format.test.js +0 -56
- package/dist/core/lsp/format.test.js.map +0 -1
- package/dist/core/lsp/integration.test.d.ts +0 -2
- package/dist/core/lsp/integration.test.d.ts.map +0 -1
- package/dist/core/lsp/integration.test.js +0 -60
- package/dist/core/lsp/integration.test.js.map +0 -1
- package/dist/core/lsp/jsonrpc.test.d.ts +0 -2
- package/dist/core/lsp/jsonrpc.test.d.ts.map +0 -1
- package/dist/core/lsp/jsonrpc.test.js +0 -127
- package/dist/core/lsp/jsonrpc.test.js.map +0 -1
- package/dist/core/lsp/manager-navigation.test.d.ts +0 -2
- package/dist/core/lsp/manager-navigation.test.d.ts.map +0 -1
- package/dist/core/lsp/manager-navigation.test.js +0 -121
- package/dist/core/lsp/manager-navigation.test.js.map +0 -1
- package/dist/core/lsp/manager.test.d.ts +0 -2
- package/dist/core/lsp/manager.test.d.ts.map +0 -1
- package/dist/core/lsp/manager.test.js +0 -220
- package/dist/core/lsp/manager.test.js.map +0 -1
- package/dist/core/lsp/pool.test.d.ts +0 -2
- package/dist/core/lsp/pool.test.d.ts.map +0 -1
- package/dist/core/lsp/pool.test.js +0 -286
- package/dist/core/lsp/pool.test.js.map +0 -1
- package/dist/core/lsp/servers.test.d.ts +0 -2
- package/dist/core/lsp/servers.test.d.ts.map +0 -1
- package/dist/core/lsp/servers.test.js +0 -67
- package/dist/core/lsp/servers.test.js.map +0 -1
- package/dist/core/lsp/uri.test.d.ts +0 -2
- package/dist/core/lsp/uri.test.d.ts.map +0 -1
- package/dist/core/lsp/uri.test.js +0 -56
- package/dist/core/lsp/uri.test.js.map +0 -1
- package/dist/core/lsp/windows.test.d.ts +0 -2
- package/dist/core/lsp/windows.test.d.ts.map +0 -1
- package/dist/core/lsp/windows.test.js +0 -239
- package/dist/core/lsp/windows.test.js.map +0 -1
- package/dist/core/mcp/catalog-cache.test.d.ts +0 -2
- package/dist/core/mcp/catalog-cache.test.d.ts.map +0 -1
- package/dist/core/mcp/catalog-cache.test.js +0 -99
- package/dist/core/mcp/catalog-cache.test.js.map +0 -1
- package/dist/core/mcp/client-session-recovery.test.d.ts +0 -2
- package/dist/core/mcp/client-session-recovery.test.d.ts.map +0 -1
- package/dist/core/mcp/client-session-recovery.test.js +0 -231
- package/dist/core/mcp/client-session-recovery.test.js.map +0 -1
- package/dist/core/mcp/content.test.d.ts +0 -2
- package/dist/core/mcp/content.test.d.ts.map +0 -1
- package/dist/core/mcp/content.test.js +0 -135
- package/dist/core/mcp/content.test.js.map +0 -1
- package/dist/core/mcp/defaults.test.d.ts +0 -2
- package/dist/core/mcp/defaults.test.d.ts.map +0 -1
- package/dist/core/mcp/defaults.test.js +0 -60
- package/dist/core/mcp/defaults.test.js.map +0 -1
- package/dist/core/mcp/elicitation.test.d.ts +0 -2
- package/dist/core/mcp/elicitation.test.d.ts.map +0 -1
- package/dist/core/mcp/elicitation.test.js +0 -158
- package/dist/core/mcp/elicitation.test.js.map +0 -1
- package/dist/core/mcp/legacy-negotiation.test.d.ts +0 -2
- package/dist/core/mcp/legacy-negotiation.test.d.ts.map +0 -1
- package/dist/core/mcp/legacy-negotiation.test.js +0 -80
- package/dist/core/mcp/legacy-negotiation.test.js.map +0 -1
- package/dist/core/mcp/loopback.test.d.ts +0 -2
- package/dist/core/mcp/loopback.test.d.ts.map +0 -1
- package/dist/core/mcp/loopback.test.js +0 -87
- package/dist/core/mcp/loopback.test.js.map +0 -1
- package/dist/core/mcp/oauth-store.test.d.ts +0 -2
- package/dist/core/mcp/oauth-store.test.d.ts.map +0 -1
- package/dist/core/mcp/oauth-store.test.js +0 -94
- package/dist/core/mcp/oauth-store.test.js.map +0 -1
- package/dist/core/mcp/parse-add-command.test.d.ts +0 -2
- package/dist/core/mcp/parse-add-command.test.d.ts.map +0 -1
- package/dist/core/mcp/parse-add-command.test.js +0 -81
- package/dist/core/mcp/parse-add-command.test.js.map +0 -1
- package/dist/core/mcp/resolve-stdio.test.d.ts +0 -2
- package/dist/core/mcp/resolve-stdio.test.d.ts.map +0 -1
- package/dist/core/mcp/resolve-stdio.test.js +0 -239
- package/dist/core/mcp/resolve-stdio.test.js.map +0 -1
- package/dist/core/mcp/session-elicitation-wiring.test.d.ts +0 -2
- package/dist/core/mcp/session-elicitation-wiring.test.d.ts.map +0 -1
- package/dist/core/mcp/session-elicitation-wiring.test.js +0 -138
- package/dist/core/mcp/session-elicitation-wiring.test.js.map +0 -1
- package/dist/core/mcp/shared-pool.test.d.ts +0 -2
- package/dist/core/mcp/shared-pool.test.d.ts.map +0 -1
- package/dist/core/mcp/shared-pool.test.js +0 -425
- package/dist/core/mcp/shared-pool.test.js.map +0 -1
- package/dist/core/mcp/store.test.d.ts +0 -2
- package/dist/core/mcp/store.test.d.ts.map +0 -1
- package/dist/core/mcp/store.test.js +0 -110
- package/dist/core/mcp/store.test.js.map +0 -1
- package/dist/core/mcp/when-connected.test.d.ts +0 -2
- package/dist/core/mcp/when-connected.test.d.ts.map +0 -1
- package/dist/core/mcp/when-connected.test.js +0 -46
- package/dist/core/mcp/when-connected.test.js.map +0 -1
- package/dist/core/message-images.test.d.ts +0 -2
- package/dist/core/message-images.test.d.ts.map +0 -1
- package/dist/core/message-images.test.js +0 -62
- package/dist/core/message-images.test.js.map +0 -1
- package/dist/core/network-guard.test.d.ts +0 -2
- package/dist/core/network-guard.test.d.ts.map +0 -1
- package/dist/core/network-guard.test.js +0 -72
- package/dist/core/network-guard.test.js.map +0 -1
- package/dist/core/nolan-context.test.d.ts +0 -2
- package/dist/core/nolan-context.test.d.ts.map +0 -1
- package/dist/core/nolan-context.test.js +0 -342
- package/dist/core/nolan-context.test.js.map +0 -1
- package/dist/core/nolan-model.test.d.ts +0 -2
- package/dist/core/nolan-model.test.d.ts.map +0 -1
- package/dist/core/nolan-model.test.js +0 -51
- package/dist/core/nolan-model.test.js.map +0 -1
- package/dist/core/nolan-prompt.test.d.ts +0 -2
- package/dist/core/nolan-prompt.test.d.ts.map +0 -1
- package/dist/core/nolan-prompt.test.js +0 -160
- package/dist/core/nolan-prompt.test.js.map +0 -1
- package/dist/core/persistent-shell.test.d.ts +0 -2
- package/dist/core/persistent-shell.test.d.ts.map +0 -1
- package/dist/core/persistent-shell.test.js +0 -84
- package/dist/core/persistent-shell.test.js.map +0 -1
- package/dist/core/pixel-fix.test.d.ts +0 -2
- package/dist/core/pixel-fix.test.d.ts.map +0 -1
- package/dist/core/pixel-fix.test.js +0 -310
- package/dist/core/pixel-fix.test.js.map +0 -1
- package/dist/core/pixel.test.d.ts +0 -2
- package/dist/core/pixel.test.d.ts.map +0 -1
- package/dist/core/pixel.test.js +0 -269
- package/dist/core/pixel.test.js.map +0 -1
- package/dist/core/process-gate.test.d.ts +0 -2
- package/dist/core/process-gate.test.d.ts.map +0 -1
- package/dist/core/process-gate.test.js +0 -87
- package/dist/core/process-gate.test.js.map +0 -1
- package/dist/core/process-manager-dev-server-repro.test.d.ts +0 -2
- package/dist/core/process-manager-dev-server-repro.test.d.ts.map +0 -1
- package/dist/core/process-manager-dev-server-repro.test.js +0 -225
- package/dist/core/process-manager-dev-server-repro.test.js.map +0 -1
- package/dist/core/process-manager-notifications.test.d.ts +0 -2
- package/dist/core/process-manager-notifications.test.d.ts.map +0 -1
- package/dist/core/process-manager-notifications.test.js +0 -227
- package/dist/core/process-manager-notifications.test.js.map +0 -1
- package/dist/core/process-manager-wake.test.d.ts +0 -2
- package/dist/core/process-manager-wake.test.d.ts.map +0 -1
- package/dist/core/process-manager-wake.test.js +0 -96
- package/dist/core/process-manager-wake.test.js.map +0 -1
- package/dist/core/progress/engine.test.d.ts +0 -2
- package/dist/core/progress/engine.test.d.ts.map +0 -1
- package/dist/core/progress/engine.test.js +0 -136
- package/dist/core/progress/engine.test.js.map +0 -1
- package/dist/core/progress/git-xp.test.d.ts +0 -2
- package/dist/core/progress/git-xp.test.d.ts.map +0 -1
- package/dist/core/progress/git-xp.test.js +0 -88
- package/dist/core/progress/git-xp.test.js.map +0 -1
- package/dist/core/progress/ranks.test.d.ts +0 -2
- package/dist/core/progress/ranks.test.d.ts.map +0 -1
- package/dist/core/progress/ranks.test.js +0 -100
- package/dist/core/progress/ranks.test.js.map +0 -1
- package/dist/core/progress/rebuild.test.d.ts +0 -2
- package/dist/core/progress/rebuild.test.d.ts.map +0 -1
- package/dist/core/progress/rebuild.test.js +0 -103
- package/dist/core/progress/rebuild.test.js.map +0 -1
- package/dist/core/progress/store.test.d.ts +0 -2
- package/dist/core/progress/store.test.d.ts.map +0 -1
- package/dist/core/progress/store.test.js +0 -108
- package/dist/core/progress/store.test.js.map +0 -1
- package/dist/core/project-discovery.test.d.ts +0 -2
- package/dist/core/project-discovery.test.d.ts.map +0 -1
- package/dist/core/project-discovery.test.js +0 -519
- package/dist/core/project-discovery.test.js.map +0 -1
- package/dist/core/prompt-commands.test.d.ts +0 -2
- package/dist/core/prompt-commands.test.d.ts.map +0 -1
- package/dist/core/prompt-commands.test.js +0 -175
- package/dist/core/prompt-commands.test.js.map +0 -1
- package/dist/core/provider-cache.e2e.test.d.ts +0 -2
- package/dist/core/provider-cache.e2e.test.d.ts.map +0 -1
- package/dist/core/provider-cache.e2e.test.js +0 -125
- package/dist/core/provider-cache.e2e.test.js.map +0 -1
- package/dist/core/radio.test.d.ts +0 -2
- package/dist/core/radio.test.d.ts.map +0 -1
- package/dist/core/radio.test.js +0 -117
- package/dist/core/radio.test.js.map +0 -1
- package/dist/core/regrounding.test.d.ts +0 -2
- package/dist/core/regrounding.test.d.ts.map +0 -1
- package/dist/core/regrounding.test.js +0 -38
- package/dist/core/regrounding.test.js.map +0 -1
- package/dist/core/resolve-start.test.d.ts +0 -2
- package/dist/core/resolve-start.test.d.ts.map +0 -1
- package/dist/core/resolve-start.test.js +0 -68
- package/dist/core/resolve-start.test.js.map +0 -1
- package/dist/core/run-claim.test.d.ts +0 -2
- package/dist/core/run-claim.test.d.ts.map +0 -1
- package/dist/core/run-claim.test.js +0 -107
- package/dist/core/run-claim.test.js.map +0 -1
- package/dist/core/run-journal.test.d.ts +0 -2
- package/dist/core/run-journal.test.d.ts.map +0 -1
- package/dist/core/run-journal.test.js +0 -195
- package/dist/core/run-journal.test.js.map +0 -1
- package/dist/core/run-lifecycle.test.d.ts +0 -2
- package/dist/core/run-lifecycle.test.d.ts.map +0 -1
- package/dist/core/run-lifecycle.test.js +0 -64
- package/dist/core/run-lifecycle.test.js.map +0 -1
- package/dist/core/sandbox-feedback.test.d.ts +0 -2
- package/dist/core/sandbox-feedback.test.d.ts.map +0 -1
- package/dist/core/sandbox-feedback.test.js +0 -32
- package/dist/core/sandbox-feedback.test.js.map +0 -1
- package/dist/core/sandbox.test.d.ts +0 -2
- package/dist/core/sandbox.test.d.ts.map +0 -1
- package/dist/core/sandbox.test.js +0 -157
- package/dist/core/sandbox.test.js.map +0 -1
- package/dist/core/semantic-search-benchmark.test.d.ts +0 -2
- package/dist/core/semantic-search-benchmark.test.d.ts.map +0 -1
- package/dist/core/semantic-search-benchmark.test.js +0 -89
- package/dist/core/semantic-search-benchmark.test.js.map +0 -1
- package/dist/core/session-compaction.test.d.ts +0 -2
- package/dist/core/session-compaction.test.d.ts.map +0 -1
- package/dist/core/session-compaction.test.js +0 -92
- package/dist/core/session-compaction.test.js.map +0 -1
- package/dist/core/session-export.test.d.ts +0 -2
- package/dist/core/session-export.test.d.ts.map +0 -1
- package/dist/core/session-export.test.js +0 -353
- package/dist/core/session-export.test.js.map +0 -1
- package/dist/core/session-history.test.d.ts +0 -2
- package/dist/core/session-history.test.d.ts.map +0 -1
- package/dist/core/session-history.test.js +0 -272
- package/dist/core/session-history.test.js.map +0 -1
- package/dist/core/session-injections.test.d.ts +0 -2
- package/dist/core/session-injections.test.d.ts.map +0 -1
- package/dist/core/session-injections.test.js +0 -117
- package/dist/core/session-injections.test.js.map +0 -1
- package/dist/core/session-manager.test.d.ts +0 -2
- package/dist/core/session-manager.test.d.ts.map +0 -1
- package/dist/core/session-manager.test.js +0 -573
- package/dist/core/session-manager.test.js.map +0 -1
- package/dist/core/session-notification-visibility.test.d.ts +0 -2
- package/dist/core/session-notification-visibility.test.d.ts.map +0 -1
- package/dist/core/session-notification-visibility.test.js +0 -113
- package/dist/core/session-notification-visibility.test.js.map +0 -1
- package/dist/core/session-reconstructability.test.d.ts +0 -2
- package/dist/core/session-reconstructability.test.d.ts.map +0 -1
- package/dist/core/session-reconstructability.test.js +0 -105
- package/dist/core/session-reconstructability.test.js.map +0 -1
- package/dist/core/session-restore-display.test.d.ts +0 -2
- package/dist/core/session-restore-display.test.d.ts.map +0 -1
- package/dist/core/session-restore-display.test.js +0 -103
- package/dist/core/session-restore-display.test.js.map +0 -1
- package/dist/core/session-storage-fd-leak.test.d.ts +0 -2
- package/dist/core/session-storage-fd-leak.test.d.ts.map +0 -1
- package/dist/core/session-storage-fd-leak.test.js +0 -116
- package/dist/core/session-storage-fd-leak.test.js.map +0 -1
- package/dist/core/session-storage.test.d.ts +0 -2
- package/dist/core/session-storage.test.d.ts.map +0 -1
- package/dist/core/session-storage.test.js +0 -277
- package/dist/core/session-storage.test.js.map +0 -1
- package/dist/core/setup-history.test.d.ts +0 -2
- package/dist/core/setup-history.test.d.ts.map +0 -1
- package/dist/core/setup-history.test.js +0 -59
- package/dist/core/setup-history.test.js.map +0 -1
- package/dist/core/shell.test.d.ts +0 -2
- package/dist/core/shell.test.d.ts.map +0 -1
- package/dist/core/shell.test.js +0 -87
- package/dist/core/shell.test.js.map +0 -1
- package/dist/core/shutdown.test.d.ts +0 -2
- package/dist/core/shutdown.test.d.ts.map +0 -1
- package/dist/core/shutdown.test.js +0 -160
- package/dist/core/shutdown.test.js.map +0 -1
- package/dist/core/sidecar-error-reporter.d.ts +0 -12
- package/dist/core/sidecar-error-reporter.d.ts.map +0 -1
- package/dist/core/sidecar-error-reporter.js +0 -57
- package/dist/core/sidecar-error-reporter.js.map +0 -1
- package/dist/core/sidecar-error-reporter.test.d.ts +0 -2
- package/dist/core/sidecar-error-reporter.test.d.ts.map +0 -1
- package/dist/core/sidecar-error-reporter.test.js +0 -61
- package/dist/core/sidecar-error-reporter.test.js.map +0 -1
- package/dist/core/skills-routing.test.d.ts +0 -2
- package/dist/core/skills-routing.test.d.ts.map +0 -1
- package/dist/core/skills-routing.test.js +0 -214
- package/dist/core/skills-routing.test.js.map +0 -1
- package/dist/core/slash-commands.test.d.ts +0 -2
- package/dist/core/slash-commands.test.d.ts.map +0 -1
- package/dist/core/slash-commands.test.js +0 -59
- package/dist/core/slash-commands.test.js.map +0 -1
- package/dist/core/source-maps.test.d.ts +0 -2
- package/dist/core/source-maps.test.d.ts.map +0 -1
- package/dist/core/source-maps.test.js +0 -175
- package/dist/core/source-maps.test.js.map +0 -1
- package/dist/core/speed-benchmark.test.d.ts +0 -2
- package/dist/core/speed-benchmark.test.d.ts.map +0 -1
- package/dist/core/speed-benchmark.test.js +0 -102
- package/dist/core/speed-benchmark.test.js.map +0 -1
- package/dist/core/subagent-manager.test.d.ts +0 -2
- package/dist/core/subagent-manager.test.d.ts.map +0 -1
- package/dist/core/subagent-manager.test.js +0 -375
- package/dist/core/subagent-manager.test.js.map +0 -1
- package/dist/core/subagent-store.test.d.ts +0 -2
- package/dist/core/subagent-store.test.d.ts.map +0 -1
- package/dist/core/subagent-store.test.js +0 -106
- package/dist/core/subagent-store.test.js.map +0 -1
- package/dist/core/verification-evidence.test.d.ts +0 -2
- package/dist/core/verification-evidence.test.d.ts.map +0 -1
- package/dist/core/verification-evidence.test.js +0 -103
- package/dist/core/verification-evidence.test.js.map +0 -1
- package/dist/core/verification-gate.test.d.ts +0 -2
- package/dist/core/verification-gate.test.d.ts.map +0 -1
- package/dist/core/verification-gate.test.js +0 -102
- package/dist/core/verification-gate.test.js.map +0 -1
- package/dist/core/verify-commands.test.d.ts +0 -2
- package/dist/core/verify-commands.test.d.ts.map +0 -1
- package/dist/core/verify-commands.test.js +0 -81
- package/dist/core/verify-commands.test.js.map +0 -1
- package/dist/core/workspace-guard.test.d.ts +0 -2
- package/dist/core/workspace-guard.test.d.ts.map +0 -1
- package/dist/core/workspace-guard.test.js +0 -107
- package/dist/core/workspace-guard.test.js.map +0 -1
- package/dist/modes/acp-mode.test.d.ts +0 -2
- package/dist/modes/acp-mode.test.d.ts.map +0 -1
- package/dist/modes/acp-mode.test.js +0 -1067
- package/dist/modes/acp-mode.test.js.map +0 -1
- package/dist/modes/json-mode.test.d.ts +0 -2
- package/dist/modes/json-mode.test.d.ts.map +0 -1
- package/dist/modes/json-mode.test.js +0 -84
- package/dist/modes/json-mode.test.js.map +0 -1
- package/dist/modes/subagent-worker-mode.test.d.ts +0 -2
- package/dist/modes/subagent-worker-mode.test.d.ts.map +0 -1
- package/dist/modes/subagent-worker-mode.test.js +0 -52
- package/dist/modes/subagent-worker-mode.test.js.map +0 -1
- package/dist/session.test.d.ts +0 -2
- package/dist/session.test.d.ts.map +0 -1
- package/dist/session.test.js +0 -35
- package/dist/session.test.js.map +0 -1
- package/dist/system-prompt.test.d.ts +0 -2
- package/dist/system-prompt.test.d.ts.map +0 -1
- package/dist/system-prompt.test.js +0 -616
- package/dist/system-prompt.test.js.map +0 -1
- package/dist/system-prompt.tiering.test.d.ts +0 -2
- package/dist/system-prompt.tiering.test.d.ts.map +0 -1
- package/dist/system-prompt.tiering.test.js +0 -108
- package/dist/system-prompt.tiering.test.js.map +0 -1
- package/dist/tools/bash.test.d.ts +0 -2
- package/dist/tools/bash.test.d.ts.map +0 -1
- package/dist/tools/bash.test.js +0 -241
- package/dist/tools/bash.test.js.map +0 -1
- package/dist/tools/checkpoint-hook.test.d.ts +0 -2
- package/dist/tools/checkpoint-hook.test.d.ts.map +0 -1
- package/dist/tools/checkpoint-hook.test.js +0 -65
- package/dist/tools/checkpoint-hook.test.js.map +0 -1
- package/dist/tools/code-nav.test.d.ts +0 -2
- package/dist/tools/code-nav.test.d.ts.map +0 -1
- package/dist/tools/code-nav.test.js +0 -136
- package/dist/tools/code-nav.test.js.map +0 -1
- package/dist/tools/code-skeleton.test.d.ts +0 -2
- package/dist/tools/code-skeleton.test.d.ts.map +0 -1
- package/dist/tools/code-skeleton.test.js +0 -115
- package/dist/tools/code-skeleton.test.js.map +0 -1
- package/dist/tools/compress-integration.test.d.ts +0 -2
- package/dist/tools/compress-integration.test.d.ts.map +0 -1
- package/dist/tools/compress-integration.test.js +0 -59
- package/dist/tools/compress-integration.test.js.map +0 -1
- package/dist/tools/compress.test.d.ts +0 -2
- package/dist/tools/compress.test.d.ts.map +0 -1
- package/dist/tools/compress.test.js +0 -60
- package/dist/tools/compress.test.js.map +0 -1
- package/dist/tools/edit-diff.test.d.ts +0 -2
- package/dist/tools/edit-diff.test.d.ts.map +0 -1
- package/dist/tools/edit-diff.test.js +0 -329
- package/dist/tools/edit-diff.test.js.map +0 -1
- package/dist/tools/edit-robustness.test.d.ts +0 -2
- package/dist/tools/edit-robustness.test.d.ts.map +0 -1
- package/dist/tools/edit-robustness.test.js +0 -417
- package/dist/tools/edit-robustness.test.js.map +0 -1
- package/dist/tools/edit.test.d.ts +0 -2
- package/dist/tools/edit.test.d.ts.map +0 -1
- package/dist/tools/edit.test.js +0 -984
- package/dist/tools/edit.test.js.map +0 -1
- package/dist/tools/exit-plan.test.d.ts +0 -2
- package/dist/tools/exit-plan.test.d.ts.map +0 -1
- package/dist/tools/exit-plan.test.js +0 -72
- package/dist/tools/exit-plan.test.js.map +0 -1
- package/dist/tools/generate-image.test.d.ts +0 -2
- package/dist/tools/generate-image.test.d.ts.map +0 -1
- package/dist/tools/generate-image.test.js +0 -240
- package/dist/tools/generate-image.test.js.map +0 -1
- package/dist/tools/goal-mode.test.d.ts +0 -2
- package/dist/tools/goal-mode.test.d.ts.map +0 -1
- package/dist/tools/goal-mode.test.js +0 -121
- package/dist/tools/goal-mode.test.js.map +0 -1
- package/dist/tools/goals.test.d.ts +0 -2
- package/dist/tools/goals.test.d.ts.map +0 -1
- package/dist/tools/goals.test.js +0 -795
- package/dist/tools/goals.test.js.map +0 -1
- package/dist/tools/grep-parity.test.d.ts +0 -2
- package/dist/tools/grep-parity.test.d.ts.map +0 -1
- package/dist/tools/grep-parity.test.js +0 -92
- package/dist/tools/grep-parity.test.js.map +0 -1
- package/dist/tools/grep-recall.test.d.ts +0 -2
- package/dist/tools/grep-recall.test.d.ts.map +0 -1
- package/dist/tools/grep-recall.test.js +0 -114
- package/dist/tools/grep-recall.test.js.map +0 -1
- package/dist/tools/grep-spawn.test.d.ts +0 -2
- package/dist/tools/grep-spawn.test.d.ts.map +0 -1
- package/dist/tools/grep-spawn.test.js +0 -66
- package/dist/tools/grep-spawn.test.js.map +0 -1
- package/dist/tools/grep.test.d.ts +0 -2
- package/dist/tools/grep.test.d.ts.map +0 -1
- package/dist/tools/grep.test.js +0 -82
- package/dist/tools/grep.test.js.map +0 -1
- package/dist/tools/html-extract.test.d.ts +0 -2
- package/dist/tools/html-extract.test.d.ts.map +0 -1
- package/dist/tools/html-extract.test.js +0 -60
- package/dist/tools/html-extract.test.js.map +0 -1
- package/dist/tools/index.test.d.ts +0 -2
- package/dist/tools/index.test.d.ts.map +0 -1
- package/dist/tools/index.test.js +0 -55
- package/dist/tools/index.test.js.map +0 -1
- package/dist/tools/overflow.test.d.ts +0 -2
- package/dist/tools/overflow.test.d.ts.map +0 -1
- package/dist/tools/overflow.test.js +0 -59
- package/dist/tools/overflow.test.js.map +0 -1
- package/dist/tools/path-utils.test.d.ts +0 -2
- package/dist/tools/path-utils.test.d.ts.map +0 -1
- package/dist/tools/path-utils.test.js +0 -54
- package/dist/tools/path-utils.test.js.map +0 -1
- package/dist/tools/pdf-extract.test.d.ts +0 -2
- package/dist/tools/pdf-extract.test.d.ts.map +0 -1
- package/dist/tools/pdf-extract.test.js +0 -15
- package/dist/tools/pdf-extract.test.js.map +0 -1
- package/dist/tools/plan-mode.test.d.ts +0 -2
- package/dist/tools/plan-mode.test.d.ts.map +0 -1
- package/dist/tools/plan-mode.test.js +0 -116
- package/dist/tools/plan-mode.test.js.map +0 -1
- package/dist/tools/read-only-bash.test.d.ts +0 -2
- package/dist/tools/read-only-bash.test.d.ts.map +0 -1
- package/dist/tools/read-only-bash.test.js +0 -96
- package/dist/tools/read-only-bash.test.js.map +0 -1
- package/dist/tools/read.test.d.ts +0 -2
- package/dist/tools/read.test.d.ts.map +0 -1
- package/dist/tools/read.test.js +0 -146
- package/dist/tools/read.test.js.map +0 -1
- package/dist/tools/screenshot.test.d.ts +0 -2
- package/dist/tools/screenshot.test.d.ts.map +0 -1
- package/dist/tools/screenshot.test.js +0 -145
- package/dist/tools/screenshot.test.js.map +0 -1
- package/dist/tools/search-code.test.d.ts +0 -2
- package/dist/tools/search-code.test.d.ts.map +0 -1
- package/dist/tools/search-code.test.js +0 -83
- package/dist/tools/search-code.test.js.map +0 -1
- package/dist/tools/source-path.test.d.ts +0 -2
- package/dist/tools/source-path.test.d.ts.map +0 -1
- package/dist/tools/source-path.test.js +0 -80
- package/dist/tools/source-path.test.js.map +0 -1
- package/dist/tools/subagent-control.test.d.ts +0 -2
- package/dist/tools/subagent-control.test.d.ts.map +0 -1
- package/dist/tools/subagent-control.test.js +0 -73
- package/dist/tools/subagent-control.test.js.map +0 -1
- package/dist/tools/subagent-shared.test.d.ts +0 -2
- package/dist/tools/subagent-shared.test.d.ts.map +0 -1
- package/dist/tools/subagent-shared.test.js +0 -83
- package/dist/tools/subagent-shared.test.js.map +0 -1
- package/dist/tools/subagent.test.d.ts +0 -2
- package/dist/tools/subagent.test.d.ts.map +0 -1
- package/dist/tools/subagent.test.js +0 -180
- package/dist/tools/subagent.test.js.map +0 -1
- package/dist/tools/task-send.test.d.ts +0 -2
- package/dist/tools/task-send.test.d.ts.map +0 -1
- package/dist/tools/task-send.test.js +0 -104
- package/dist/tools/task-send.test.js.map +0 -1
- package/dist/tools/tasks.test.d.ts +0 -2
- package/dist/tools/tasks.test.d.ts.map +0 -1
- package/dist/tools/tasks.test.js +0 -62
- package/dist/tools/tasks.test.js.map +0 -1
- package/dist/tools/tool-catalog.test.d.ts +0 -2
- package/dist/tools/tool-catalog.test.d.ts.map +0 -1
- package/dist/tools/tool-catalog.test.js +0 -124
- package/dist/tools/tool-catalog.test.js.map +0 -1
- package/dist/tools/tool-search.test.d.ts +0 -2
- package/dist/tools/tool-search.test.d.ts.map +0 -1
- package/dist/tools/tool-search.test.js +0 -69
- package/dist/tools/tool-search.test.js.map +0 -1
- package/dist/tools/tool-tiers.test.d.ts +0 -2
- package/dist/tools/tool-tiers.test.d.ts.map +0 -1
- package/dist/tools/tool-tiers.test.js +0 -48
- package/dist/tools/tool-tiers.test.js.map +0 -1
- package/dist/tools/truncate-utils.test.d.ts +0 -2
- package/dist/tools/truncate-utils.test.d.ts.map +0 -1
- package/dist/tools/truncate-utils.test.js +0 -93
- package/dist/tools/truncate-utils.test.js.map +0 -1
- package/dist/tools/truncate.test.d.ts +0 -2
- package/dist/tools/truncate.test.d.ts.map +0 -1
- package/dist/tools/truncate.test.js +0 -100
- package/dist/tools/truncate.test.js.map +0 -1
- package/dist/tools/web-fetch.test.d.ts +0 -2
- package/dist/tools/web-fetch.test.d.ts.map +0 -1
- package/dist/tools/web-fetch.test.js +0 -539
- package/dist/tools/web-fetch.test.js.map +0 -1
- package/dist/tools/web-search.test.d.ts +0 -2
- package/dist/tools/web-search.test.d.ts.map +0 -1
- package/dist/tools/web-search.test.js +0 -333
- package/dist/tools/web-search.test.js.map +0 -1
- package/dist/tools/write.test.d.ts +0 -2
- package/dist/tools/write.test.d.ts.map +0 -1
- package/dist/tools/write.test.js +0 -176
- package/dist/tools/write.test.js.map +0 -1
- package/dist/ui/anchor-pad-reclaim.test.d.ts +0 -2
- package/dist/ui/anchor-pad-reclaim.test.d.ts.map +0 -1
- package/dist/ui/anchor-pad-reclaim.test.js +0 -146
- package/dist/ui/anchor-pad-reclaim.test.js.map +0 -1
- package/dist/ui/app-items.test.d.ts +0 -2
- package/dist/ui/app-items.test.d.ts.map +0 -1
- package/dist/ui/app-items.test.js +0 -54
- package/dist/ui/app-items.test.js.map +0 -1
- package/dist/ui/app-state-persistence.test.d.ts +0 -2
- package/dist/ui/app-state-persistence.test.d.ts.map +0 -1
- package/dist/ui/app-state-persistence.test.js +0 -71
- package/dist/ui/app-state-persistence.test.js.map +0 -1
- package/dist/ui/assistant-stream-flush-parity.test.d.ts +0 -2
- package/dist/ui/assistant-stream-flush-parity.test.d.ts.map +0 -1
- package/dist/ui/assistant-stream-flush-parity.test.js +0 -85
- package/dist/ui/assistant-stream-flush-parity.test.js.map +0 -1
- package/dist/ui/atomic-flush-regression.test.d.ts +0 -2
- package/dist/ui/atomic-flush-regression.test.d.ts.map +0 -1
- package/dist/ui/atomic-flush-regression.test.js +0 -218
- package/dist/ui/atomic-flush-regression.test.js.map +0 -1
- package/dist/ui/chat-layout-pinning.test.d.ts +0 -2
- package/dist/ui/chat-layout-pinning.test.d.ts.map +0 -1
- package/dist/ui/chat-layout-pinning.test.js +0 -525
- package/dist/ui/chat-layout-pinning.test.js.map +0 -1
- package/dist/ui/components/ActivityIndicator.test.d.ts +0 -2
- package/dist/ui/components/ActivityIndicator.test.d.ts.map +0 -1
- package/dist/ui/components/ActivityIndicator.test.js +0 -40
- package/dist/ui/components/ActivityIndicator.test.js.map +0 -1
- package/dist/ui/components/AssistantMessage.test.d.ts +0 -2
- package/dist/ui/components/AssistantMessage.test.d.ts.map +0 -1
- package/dist/ui/components/AssistantMessage.test.js +0 -418
- package/dist/ui/components/AssistantMessage.test.js.map +0 -1
- package/dist/ui/components/Footer.test.d.ts +0 -2
- package/dist/ui/components/Footer.test.d.ts.map +0 -1
- package/dist/ui/components/Footer.test.js +0 -16
- package/dist/ui/components/Footer.test.js.map +0 -1
- package/dist/ui/components/InputArea.test.d.ts +0 -2
- package/dist/ui/components/InputArea.test.d.ts.map +0 -1
- package/dist/ui/components/InputArea.test.js +0 -95
- package/dist/ui/components/InputArea.test.js.map +0 -1
- package/dist/ui/components/PlanOverlay.test.d.ts +0 -2
- package/dist/ui/components/PlanOverlay.test.d.ts.map +0 -1
- package/dist/ui/components/PlanOverlay.test.js +0 -24
- package/dist/ui/components/PlanOverlay.test.js.map +0 -1
- package/dist/ui/components/StreamingArea.test.d.ts +0 -2
- package/dist/ui/components/StreamingArea.test.d.ts.map +0 -1
- package/dist/ui/components/StreamingArea.test.js +0 -18
- package/dist/ui/components/StreamingArea.test.js.map +0 -1
- package/dist/ui/components/UserMessage.test.d.ts +0 -2
- package/dist/ui/components/UserMessage.test.d.ts.map +0 -1
- package/dist/ui/components/UserMessage.test.js +0 -39
- package/dist/ui/components/UserMessage.test.js.map +0 -1
- package/dist/ui/components/themed-output.test.d.ts +0 -2
- package/dist/ui/components/themed-output.test.d.ts.map +0 -1
- package/dist/ui/components/themed-output.test.js +0 -111
- package/dist/ui/components/themed-output.test.js.map +0 -1
- package/dist/ui/footer-jump-regression.test.d.ts +0 -2
- package/dist/ui/footer-jump-regression.test.d.ts.map +0 -1
- package/dist/ui/footer-jump-regression.test.js +0 -224
- package/dist/ui/footer-jump-regression.test.js.map +0 -1
- package/dist/ui/footer-status-layout.test.d.ts +0 -2
- package/dist/ui/footer-status-layout.test.d.ts.map +0 -1
- package/dist/ui/footer-status-layout.test.js +0 -71
- package/dist/ui/footer-status-layout.test.js.map +0 -1
- package/dist/ui/frame-clip-regression.test.d.ts +0 -2
- package/dist/ui/frame-clip-regression.test.d.ts.map +0 -1
- package/dist/ui/frame-clip-regression.test.js +0 -215
- package/dist/ui/frame-clip-regression.test.js.map +0 -1
- package/dist/ui/goal-events.test.d.ts +0 -2
- package/dist/ui/goal-events.test.d.ts.map +0 -1
- package/dist/ui/goal-events.test.js +0 -350
- package/dist/ui/goal-events.test.js.map +0 -1
- package/dist/ui/goal-lifecycle-orchestration.test.d.ts +0 -2
- package/dist/ui/goal-lifecycle-orchestration.test.d.ts.map +0 -1
- package/dist/ui/goal-lifecycle-orchestration.test.js +0 -512
- package/dist/ui/goal-lifecycle-orchestration.test.js.map +0 -1
- package/dist/ui/goal-overlay.test.d.ts +0 -2
- package/dist/ui/goal-overlay.test.d.ts.map +0 -1
- package/dist/ui/goal-overlay.test.js +0 -384
- package/dist/ui/goal-overlay.test.js.map +0 -1
- package/dist/ui/goal-status-bar.test.d.ts +0 -2
- package/dist/ui/goal-status-bar.test.d.ts.map +0 -1
- package/dist/ui/goal-status-bar.test.js +0 -172
- package/dist/ui/goal-status-bar.test.js.map +0 -1
- package/dist/ui/hooks/stall-retry-duplicate.test.d.ts +0 -2
- package/dist/ui/hooks/stall-retry-duplicate.test.d.ts.map +0 -1
- package/dist/ui/hooks/stall-retry-duplicate.test.js +0 -94
- package/dist/ui/hooks/stall-retry-duplicate.test.js.map +0 -1
- package/dist/ui/hooks/useAgentLoop.test.d.ts +0 -2
- package/dist/ui/hooks/useAgentLoop.test.d.ts.map +0 -1
- package/dist/ui/hooks/useAgentLoop.test.js +0 -66
- package/dist/ui/hooks/useAgentLoop.test.js.map +0 -1
- package/dist/ui/hooks/useContextCompaction.test.d.ts +0 -2
- package/dist/ui/hooks/useContextCompaction.test.d.ts.map +0 -1
- package/dist/ui/hooks/useContextCompaction.test.js +0 -135
- package/dist/ui/hooks/useContextCompaction.test.js.map +0 -1
- package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.d.ts +0 -2
- package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.d.ts.map +0 -1
- package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.js +0 -81
- package/dist/ui/hooks/useTranscriptHistory.sessionstore.test.js.map +0 -1
- package/dist/ui/hooks/useTranscriptHistory.test.d.ts +0 -2
- package/dist/ui/hooks/useTranscriptHistory.test.d.ts.map +0 -1
- package/dist/ui/hooks/useTranscriptHistory.test.js +0 -61
- package/dist/ui/hooks/useTranscriptHistory.test.js.map +0 -1
- package/dist/ui/hooks/useTranscriptScroll.test.d.ts +0 -2
- package/dist/ui/hooks/useTranscriptScroll.test.d.ts.map +0 -1
- package/dist/ui/hooks/useTranscriptScroll.test.js +0 -119
- package/dist/ui/hooks/useTranscriptScroll.test.js.map +0 -1
- package/dist/ui/live-area-clamp.test.d.ts +0 -2
- package/dist/ui/live-area-clamp.test.d.ts.map +0 -1
- package/dist/ui/live-area-clamp.test.js +0 -125
- package/dist/ui/live-area-clamp.test.js.map +0 -1
- package/dist/ui/live-area-height.test.d.ts +0 -2
- package/dist/ui/live-area-height.test.d.ts.map +0 -1
- package/dist/ui/live-area-height.test.js +0 -76
- package/dist/ui/live-area-height.test.js.map +0 -1
- package/dist/ui/live-frame-height.test.d.ts +0 -2
- package/dist/ui/live-frame-height.test.d.ts.map +0 -1
- package/dist/ui/live-frame-height.test.js +0 -116
- package/dist/ui/live-frame-height.test.js.map +0 -1
- package/dist/ui/live-item-flush.test.d.ts +0 -2
- package/dist/ui/live-item-flush.test.d.ts.map +0 -1
- package/dist/ui/live-item-flush.test.js +0 -437
- package/dist/ui/live-item-flush.test.js.map +0 -1
- package/dist/ui/long-prompt-regression-harness.test.d.ts +0 -2
- package/dist/ui/long-prompt-regression-harness.test.d.ts.map +0 -1
- package/dist/ui/long-prompt-regression-harness.test.js +0 -195
- package/dist/ui/long-prompt-regression-harness.test.js.map +0 -1
- package/dist/ui/pixel.test.d.ts +0 -2
- package/dist/ui/pixel.test.d.ts.map +0 -1
- package/dist/ui/pixel.test.js +0 -138
- package/dist/ui/pixel.test.js.map +0 -1
- package/dist/ui/plan-overlay.test.d.ts +0 -2
- package/dist/ui/plan-overlay.test.d.ts.map +0 -1
- package/dist/ui/plan-overlay.test.js +0 -305
- package/dist/ui/plan-overlay.test.js.map +0 -1
- package/dist/ui/queued-message.test.d.ts +0 -2
- package/dist/ui/queued-message.test.d.ts.map +0 -1
- package/dist/ui/queued-message.test.js +0 -172
- package/dist/ui/queued-message.test.js.map +0 -1
- package/dist/ui/render.test.d.ts +0 -2
- package/dist/ui/render.test.d.ts.map +0 -1
- package/dist/ui/render.test.js +0 -42
- package/dist/ui/render.test.js.map +0 -1
- package/dist/ui/scroll-stabilization.test.d.ts +0 -2
- package/dist/ui/scroll-stabilization.test.d.ts.map +0 -1
- package/dist/ui/scroll-stabilization.test.js +0 -64
- package/dist/ui/scroll-stabilization.test.js.map +0 -1
- package/dist/ui/slash-command-images.test.d.ts +0 -2
- package/dist/ui/slash-command-images.test.d.ts.map +0 -1
- package/dist/ui/slash-command-images.test.js +0 -110
- package/dist/ui/slash-command-images.test.js.map +0 -1
- package/dist/ui/startup-banner-order.test.d.ts +0 -2
- package/dist/ui/startup-banner-order.test.d.ts.map +0 -1
- package/dist/ui/startup-banner-order.test.js +0 -105
- package/dist/ui/startup-banner-order.test.js.map +0 -1
- package/dist/ui/stores/transcript-scroll-store.test.d.ts +0 -2
- package/dist/ui/stores/transcript-scroll-store.test.d.ts.map +0 -1
- package/dist/ui/stores/transcript-scroll-store.test.js +0 -73
- package/dist/ui/stores/transcript-scroll-store.test.js.map +0 -1
- package/dist/ui/streaming-flush-bounce.test.d.ts +0 -2
- package/dist/ui/streaming-flush-bounce.test.d.ts.map +0 -1
- package/dist/ui/streaming-flush-bounce.test.js +0 -177
- package/dist/ui/streaming-flush-bounce.test.js.map +0 -1
- package/dist/ui/submit-boundary-gap.test.d.ts +0 -2
- package/dist/ui/submit-boundary-gap.test.d.ts.map +0 -1
- package/dist/ui/submit-boundary-gap.test.js +0 -180
- package/dist/ui/submit-boundary-gap.test.js.map +0 -1
- package/dist/ui/terminal-history-repaint.test.d.ts +0 -2
- package/dist/ui/terminal-history-repaint.test.d.ts.map +0 -1
- package/dist/ui/terminal-history-repaint.test.js +0 -73
- package/dist/ui/terminal-history-repaint.test.js.map +0 -1
- package/dist/ui/terminal-history-retry-dedup.test.d.ts +0 -2
- package/dist/ui/terminal-history-retry-dedup.test.d.ts.map +0 -1
- package/dist/ui/terminal-history-retry-dedup.test.js +0 -61
- package/dist/ui/terminal-history-retry-dedup.test.js.map +0 -1
- package/dist/ui/terminal-history.test.d.ts +0 -2
- package/dist/ui/terminal-history.test.d.ts.map +0 -1
- package/dist/ui/terminal-history.test.js +0 -557
- package/dist/ui/terminal-history.test.js.map +0 -1
- package/dist/ui/thinking-level-cycle.test.d.ts +0 -2
- package/dist/ui/thinking-level-cycle.test.d.ts.map +0 -1
- package/dist/ui/thinking-level-cycle.test.js +0 -45
- package/dist/ui/thinking-level-cycle.test.js.map +0 -1
- package/dist/ui/tool-group-summary.test.d.ts +0 -2
- package/dist/ui/tool-group-summary.test.d.ts.map +0 -1
- package/dist/ui/tool-group-summary.test.js +0 -79
- package/dist/ui/tool-group-summary.test.js.map +0 -1
- package/dist/ui/transcript/spacing.test.d.ts +0 -2
- package/dist/ui/transcript/spacing.test.d.ts.map +0 -1
- package/dist/ui/transcript/spacing.test.js +0 -191
- package/dist/ui/transcript/spacing.test.js.map +0 -1
- package/dist/ui/transcript/transcript-lines.test.d.ts +0 -2
- package/dist/ui/transcript/transcript-lines.test.d.ts.map +0 -1
- package/dist/ui/transcript/transcript-lines.test.js +0 -76
- package/dist/ui/transcript/transcript-lines.test.js.map +0 -1
- package/dist/ui/transcript-viewport-pinning.test.d.ts +0 -2
- package/dist/ui/transcript-viewport-pinning.test.d.ts.map +0 -1
- package/dist/ui/transcript-viewport-pinning.test.js +0 -148
- package/dist/ui/transcript-viewport-pinning.test.js.map +0 -1
- package/dist/ui/tui-history-parity.test.d.ts +0 -2
- package/dist/ui/tui-history-parity.test.d.ts.map +0 -1
- package/dist/ui/tui-history-parity.test.js +0 -388
- package/dist/ui/tui-history-parity.test.js.map +0 -1
- package/dist/ui/tui-simulation.test.d.ts +0 -2
- package/dist/ui/tui-simulation.test.d.ts.map +0 -1
- package/dist/ui/tui-simulation.test.js +0 -145
- package/dist/ui/tui-simulation.test.js.map +0 -1
- package/dist/ui/tui-terminal-recorder.test.d.ts +0 -2
- package/dist/ui/tui-terminal-recorder.test.d.ts.map +0 -1
- package/dist/ui/tui-terminal-recorder.test.js +0 -134
- package/dist/ui/tui-terminal-recorder.test.js.map +0 -1
- package/dist/ui/utils/assistant-stream-split.test.d.ts +0 -2
- package/dist/ui/utils/assistant-stream-split.test.d.ts.map +0 -1
- package/dist/ui/utils/assistant-stream-split.test.js +0 -74
- package/dist/ui/utils/assistant-stream-split.test.js.map +0 -1
- package/dist/ui/utils/markdown-renderer.test.d.ts +0 -2
- package/dist/ui/utils/markdown-renderer.test.d.ts.map +0 -1
- package/dist/ui/utils/markdown-renderer.test.js +0 -63
- package/dist/ui/utils/markdown-renderer.test.js.map +0 -1
- package/dist/ui/utils/table-text.test.d.ts +0 -2
- package/dist/ui/utils/table-text.test.d.ts.map +0 -1
- package/dist/ui/utils/table-text.test.js +0 -202
- package/dist/ui/utils/table-text.test.js.map +0 -1
- package/dist/ui/utils/terminal-graphics.test.d.ts +0 -2
- package/dist/ui/utils/terminal-graphics.test.d.ts.map +0 -1
- package/dist/ui/utils/terminal-graphics.test.js +0 -100
- package/dist/ui/utils/terminal-graphics.test.js.map +0 -1
- package/dist/ui/utils/terminal-input.test.d.ts +0 -2
- package/dist/ui/utils/terminal-input.test.d.ts.map +0 -1
- package/dist/ui/utils/terminal-input.test.js +0 -15
- package/dist/ui/utils/terminal-input.test.js.map +0 -1
- package/dist/utils/git.test.d.ts +0 -2
- package/dist/utils/git.test.d.ts.map +0 -1
- package/dist/utils/git.test.js +0 -36
- package/dist/utils/git.test.js.map +0 -1
- package/dist/utils/github.test.d.ts +0 -2
- package/dist/utils/github.test.d.ts.map +0 -1
- package/dist/utils/github.test.js +0 -23
- package/dist/utils/github.test.js.map +0 -1
- package/dist/utils/http-body.test.d.ts +0 -2
- package/dist/utils/http-body.test.d.ts.map +0 -1
- package/dist/utils/http-body.test.js +0 -68
- package/dist/utils/http-body.test.js.map +0 -1
- package/dist/utils/image.test.d.ts +0 -2
- package/dist/utils/image.test.d.ts.map +0 -1
- package/dist/utils/image.test.js +0 -139
- package/dist/utils/image.test.js.map +0 -1
- package/dist/utils/plan-steps.test.d.ts +0 -2
- package/dist/utils/plan-steps.test.d.ts.map +0 -1
- package/dist/utils/plan-steps.test.js +0 -159
- package/dist/utils/plan-steps.test.js.map +0 -1
- package/dist/utils/process.test.d.ts +0 -2
- package/dist/utils/process.test.d.ts.map +0 -1
- package/dist/utils/process.test.js +0 -42
- package/dist/utils/process.test.js.map +0 -1
|
@@ -15,11 +15,6 @@ const CLAUDE_MD_RESTART_NOTICE = IS_EZ_APP
|
|
|
15
15
|
: "> ⚠️ The project context file was created/updated. ezcoder loads it at startup, so **exit and restart ezcoder** (`/quit` then run `ezcoder` again) before continuing. Without a restart, I won't see the new context.";
|
|
16
16
|
/** Shared sub-agent fan-out phrasing. */
|
|
17
17
|
const spawnParallel = (count) => `in parallel using the subagent tool (call the subagent tool ${count} times in a single response)`;
|
|
18
|
-
/**
|
|
19
|
-
* Kencode-search ships behind deferred MCP loading, so tell commands how to
|
|
20
|
-
* promote it before naming one of its tools.
|
|
21
|
-
*/
|
|
22
|
-
const KENCODE_UNLOCK_NOTE = 'If the `mcp__kencode-search__*` tools aren\'t active yet, call `tool_search` (e.g. "search public code") first to unlock them.';
|
|
23
18
|
export const PROMPT_COMMANDS = [
|
|
24
19
|
{
|
|
25
20
|
name: "goal",
|
|
@@ -78,7 +73,7 @@ For every candidate from the sub-agents, validate it yourself before reporting:
|
|
|
78
73
|
1. Confirm the external source is relevant to this project and fresh enough (normally within 6 months).
|
|
79
74
|
2. Search this repo with grep/find and language-aware anchors to confirm the feature is not already present under another name.
|
|
80
75
|
3. Check routes, CLI commands, UI surfaces, package exports, config, docs, and examples before calling a feature missing.
|
|
81
|
-
4. Use
|
|
76
|
+
4. Use the \`steroids\` tool (\`search\`, then \`show\` to read the full file) when a code-level look clarifies how peers actually ship the feature. Use literal imports, functions, config keys, CLI flags, route names, or package names — not conceptual phrases.
|
|
82
77
|
5. Drop anything already present, irrelevant, too vague, too stale, or that is not a real user-facing feature.
|
|
83
78
|
6. Merge duplicates and keep only the most exciting 5–10 features.
|
|
84
79
|
|
|
@@ -98,18 +93,18 @@ Rules:
|
|
|
98
93
|
- Keep each cell concise but specific enough to be actionable.
|
|
99
94
|
- If no exciting validated features are found, output one row saying no fresh validated features were found.
|
|
100
95
|
|
|
101
|
-
After the table, ask
|
|
96
|
+
After the table, ask the user what to do with the \`ask_user\` tool: one \`choice\` question (\`id: "scope"\`, question "What should I do?") with these options, each carrying a one-line hint:
|
|
102
97
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
98
|
+
- Build all of these features in plan mode
|
|
99
|
+
- Build only the top priority ones in plan mode
|
|
100
|
+
|
|
101
|
+
Leave the free-text escape on so they can pick specific ranks or re-scope. The card is the ONLY ask: do not also list the options as text, and do not end with an asking line. Only if \`ask_user\` is unavailable, ask the same question in prose as a lettered list.
|
|
107
102
|
|
|
108
103
|
Do not start implementing until the user chooses.
|
|
109
104
|
|
|
110
|
-
If
|
|
105
|
+
If they choose all or the top ones, do not implement directly. First call the enter_plan tool, then research and design an implementation plan for the selected features (all of them, or the top 3 most exciting — ranks 1-3). The plan must cover, per feature: the user-facing behavior, the local files/anchors it touches, the implementation approach (compared against real-world examples via the steroids tool using literal code tokens), and how it will be verified. Write the plan to .ezcoder/plans/<name>.md, then call exit_plan with the plan path so the user can review and approve it. Do not begin implementing until the user approves the plan.
|
|
111
106
|
|
|
112
|
-
If
|
|
107
|
+
If they answer with anything else, follow what they asked — specific features by rank, a refined or re-scoped list, or skipping — and do not implement anything until they say so.`,
|
|
113
108
|
},
|
|
114
109
|
{
|
|
115
110
|
name: "raise-floor",
|
|
@@ -197,7 +192,7 @@ If the user chooses A, B, or C, do not fix directly. Add one task per selected f
|
|
|
197
192
|
|
|
198
193
|
End EVERY task's standalone prompt with this exact line, verbatim, on its own line:
|
|
199
194
|
|
|
200
|
-
use
|
|
195
|
+
use steroids to reference working code. /commit when done.
|
|
201
196
|
|
|
202
197
|
After adding the tasks, tell the user exactly: "Tasks added. Press Ctrl+T to open the task list and run them." Do not begin executing them unless the user explicitly says so.
|
|
203
198
|
|
|
@@ -209,7 +204,7 @@ If the user chooses D, stop after the report.
|
|
|
209
204
|
- **Existing features only.** Net-new capability is /expand; security is /bullet-proof; pure refactors/tooling are out of scope.
|
|
210
205
|
- **No finding without a concrete, code-grounded first-run scenario.** No "could be polished" nudges.
|
|
211
206
|
- **Report-first.** No edits, installs, or commits until the user picks an option.
|
|
212
|
-
- **Every generated task must end with the exact line:** use
|
|
207
|
+
- **Every generated task must end with the exact line:** use steroids to reference working code. /commit when done.`,
|
|
213
208
|
},
|
|
214
209
|
{
|
|
215
210
|
name: "test-drive",
|
|
@@ -257,7 +252,7 @@ For every bug, decide one of two paths:
|
|
|
257
252
|
**A) BLOCKING — it stops you from testing further.** The app won't start, a screen crashes, a flow can't be completed, or a broken gate hides everything behind it. You cannot meaningfully continue the test pass until it's fixed. **Fix these immediately**, right now, so you can keep testing:
|
|
258
253
|
|
|
259
254
|
1. Reproduce it and find the root cause in the code.
|
|
260
|
-
2. Use the \`
|
|
255
|
+
2. Use the \`steroids\` tool (\`search\`, then \`show\`) to reference how real projects implement the same pattern correctly, and base your fix on that working code. (If the tool isn't available, fix using project conventions and authoritative docs.)
|
|
261
256
|
3. Implement the fix, then re-run the app and CONFIRM with your eyes (re-screenshot / re-read output) that the bug is actually gone.
|
|
262
257
|
4. Commit the fix by running the \`/commit\` command, so each fix lands on working, committed code before you continue.
|
|
263
258
|
5. Resume the test pass from where you were blocked.
|
|
@@ -278,9 +273,9 @@ For every deferrable bug (or a tightly-coupled group), add one task with the \`t
|
|
|
278
273
|
|
|
279
274
|
End EVERY task's standalone prompt with this exact line, verbatim, on its own line:
|
|
280
275
|
|
|
281
|
-
use
|
|
276
|
+
use steroids to reference working code. /commit when done.
|
|
282
277
|
|
|
283
|
-
That line guarantees the next agent bases its fix on real working code (via
|
|
278
|
+
That line guarantees the next agent bases its fix on real working code (via steroids) and commits it.
|
|
284
279
|
|
|
285
280
|
## Phase 4: Report
|
|
286
281
|
|
|
@@ -297,9 +292,9 @@ Then tell the user exactly: "Tasks added. Press Ctrl+T to open the task list and
|
|
|
297
292
|
- **Actually run the app and look.** Don't claim a screen works without observing it — a screenshot, captured output, or log line. No "this should work." But observation alone is not a filed bug: confirming a defect requires tracing the cause, which means reading the code/data/inputs.
|
|
298
293
|
- **Trace cause before filing.** A symptom is not a bug until you've traced it to a code defect and ruled out bad seed/test/mock data, misconfig, and expected behavior. For numeric/calculation bugs, reproduce the arithmetic from the underlying inputs.
|
|
299
294
|
- **An AI/agent (or the model itself) noticing something looks wrong is NOT evidence** — a model flags "big number vs small position" the same way whether the cause is data or logic. Only reproduced behavior plus a traced cause counts.
|
|
300
|
-
- **Only fix what blocks you.** Blocking bugs get fixed inline (
|
|
301
|
-
- **Every fix is on working, committed code** — reference real code via
|
|
302
|
-
- **Every filed task ends with the exact line:** use
|
|
295
|
+
- **Only fix what blocks you.** Blocking bugs get fixed inline (steroids-referenced + \`/commit\`); everything else becomes a task. When in doubt, defer.
|
|
296
|
+
- **Every fix is on working, committed code** — reference real code via steroids, verify the fix by re-running, then \`/commit\`.
|
|
297
|
+
- **Every filed task ends with the exact line:** use steroids to reference working code. /commit when done.
|
|
303
298
|
- **File only reproduced bugs with a traced root cause.** No speculative or "could be improved" tasks, and no symptoms with an unverified cause — this is a bug hunt, not a polish wishlist.`,
|
|
304
299
|
},
|
|
305
300
|
{
|
|
@@ -398,7 +393,7 @@ If the user chooses A, B, or C, do not delete directly. Add one task per selecte
|
|
|
398
393
|
|
|
399
394
|
End EVERY task's standalone prompt with this exact line, verbatim, on its own line:
|
|
400
395
|
|
|
401
|
-
use
|
|
396
|
+
use steroids to reference working code. /commit when done.
|
|
402
397
|
|
|
403
398
|
After adding the tasks, tell the user exactly: "Tasks added. Press Ctrl+T to open the task list and run them." Do not begin executing them unless the user explicitly says so.
|
|
404
399
|
|
|
@@ -412,7 +407,7 @@ If the user chooses D, stop after the report.
|
|
|
412
407
|
- **App-wide first, specific areas second** — in both the hunt and the ledger.
|
|
413
408
|
- **No deletion without code-grounded evidence** that the thing is dead weight (no callers / write-only / unreachable / redundant). No "feels bloated" nudges.
|
|
414
409
|
- **Report-first. No deletions, edits, installs, or commits until the user picks an option.**
|
|
415
|
-
- **Every generated task must end with the exact line:** use
|
|
410
|
+
- **Every generated task must end with the exact line:** use steroids to reference working code. /commit when done.`,
|
|
416
411
|
},
|
|
417
412
|
{
|
|
418
413
|
name: "elon-2",
|
|
@@ -511,7 +506,7 @@ If the user chooses A, B, or C, do not implement directly. Add one task per sele
|
|
|
511
506
|
|
|
512
507
|
End EVERY task's standalone prompt with this exact line, verbatim, on its own line:
|
|
513
508
|
|
|
514
|
-
use
|
|
509
|
+
use steroids to reference working code. /commit when done.
|
|
515
510
|
|
|
516
511
|
After adding the tasks, tell the user exactly: "Tasks added. Press Ctrl+T to open the task list and run them." Do not begin executing them unless the user explicitly says so.
|
|
517
512
|
|
|
@@ -524,7 +519,7 @@ If the user chooses D, stop after the report.
|
|
|
524
519
|
- **Algorithm order is law.** Add-back → simplify → accelerate → automate. Never accelerate or automate before simplifying.
|
|
525
520
|
- **Survivors only for steps 3–5.** Don't optimize something that should have been deleted; don't re-add scope (that's /expand).
|
|
526
521
|
- **Report-first. No edits, installs, or commits until the user picks an option.**
|
|
527
|
-
- **Every generated task must end with the exact line:** use
|
|
522
|
+
- **Every generated task must end with the exact line:** use steroids to reference working code. /commit when done.`,
|
|
528
523
|
},
|
|
529
524
|
{
|
|
530
525
|
name: "bullet-proof",
|
|
@@ -675,7 +670,7 @@ After the report, ask:
|
|
|
675
670
|
|
|
676
671
|
**Do not start fixing until the user picks.**
|
|
677
672
|
|
|
678
|
-
If the user chooses A, B, or C, do not fix directly. Instead, add one task per selected finding or tightly coupled finding group using the \`tasks\` tool (action=add), ordered by severity, exploitability, and dependency. Each task needs a short title and a standalone prompt that includes the finding ID, vulnerability scenario, affected local files/anchors, concrete remediation, instructions to compare security-sensitive implementation details with
|
|
673
|
+
If the user chooses A, B, or C, do not fix directly. Instead, add one task per selected finding or tightly coupled finding group using the \`tasks\` tool (action=add), ordered by severity, exploitability, and dependency. Each task needs a short title and a standalone prompt that includes the finding ID, vulnerability scenario, affected local files/anchors, concrete remediation, instructions to compare security-sensitive implementation details with steroids or authoritative docs before editing, project verification commands, and instructions to compare the final fix with steroids or authoritative docs again before completing the task. After adding the tasks, tell the user exactly: "${TASKS_ADDED_NOTICE}" Do not begin executing them unless the user explicitly says so.
|
|
679
674
|
|
|
680
675
|
## Threat reference (May 2026)
|
|
681
676
|
|
|
@@ -841,11 +836,12 @@ description: Run checks, agent code review, commit with AI message, and push
|
|
|
841
836
|
one-line fix. If none, reply "CLEAR". This is a last check, not a deep audit - be fast.
|
|
842
837
|
|
|
843
838
|
4. If CLEAR: proceed straight to step 5 and push WITHOUT asking the user anything.
|
|
844
|
-
If issues >= 80 were reported: STOP, show the issues, and ask
|
|
845
|
-
"Want me to fix this first, or commit and push anyway?
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
839
|
+
If issues >= 80 were reported: STOP, show the issues, and ask with the \`ask_user\`
|
|
840
|
+
tool — one \`choice\` question (\`id: "land"\`, question "Want me to fix this first, or commit and push anyway?") with:
|
|
841
|
+
- "Fix it first, then commit & push" (recommended, hint: keeps the branch green)
|
|
842
|
+
- "Commit & push anyway" (hint: issue stays open in the log)
|
|
843
|
+
The card is the ONLY ask: show the issues, then stop — do not restate the two options as text or end with an asking line. Only if \`ask_user\` is unavailable, ask the same two options in prose.
|
|
844
|
+
On fix-first: fix, re-run step 1, then continue (no re-review). Otherwise continue as-is.
|
|
849
845
|
|
|
850
846
|
5. Stage relevant files with git add (specific files, not -A)
|
|
851
847
|
|
|
@@ -870,11 +866,9 @@ Report that /commit is now available with quality checks, an agent code review g
|
|
|
870
866
|
name: "compare",
|
|
871
867
|
aliases: [],
|
|
872
868
|
description: "Compare real-world code",
|
|
873
|
-
prompt: `Compare the code you just created or modified in this conversation against real-world implementations using the \`
|
|
874
|
-
|
|
875
|
-
${KENCODE_UNLOCK_NOTE}
|
|
869
|
+
prompt: `Compare the code you just created or modified in this conversation against real-world implementations using the \`steroids\` tool (\`search\`, then \`show\` to read the full file).
|
|
876
870
|
|
|
877
|
-
You already know what you just built. For each file you created or modified, use \`
|
|
871
|
+
You already know what you just built. For each file you created or modified, use \`steroids\` \`search\` to find how real projects implement the same patterns. Look at the specific APIs, hooks, functions, and architecture you used.
|
|
878
872
|
|
|
879
873
|
If you find something consistently done differently across real codebases, or something commonly included that you left out, report it:
|
|
880
874
|
|
|
@@ -882,12 +876,56 @@ If you find something consistently done differently across real codebases, or so
|
|
|
882
876
|
[MISSING/DIVERGENT/INCOMPLETE] file:line - What it is
|
|
883
877
|
Wrote: What was implemented
|
|
884
878
|
Real-world: What real projects do instead/additionally
|
|
885
|
-
Evidence:
|
|
879
|
+
Evidence: steroids — pattern seen in X of Y repos
|
|
886
880
|
\`\`\`
|
|
887
881
|
|
|
888
|
-
Style preferences and subjective improvements are not valid findings. Only report things backed by clear
|
|
882
|
+
Style preferences and subjective improvements are not valid findings. Only report things backed by clear steroids evidence across multiple repos.
|
|
889
883
|
|
|
890
884
|
If the code aligns well with real-world patterns, say so. That's a good outcome.`,
|
|
885
|
+
},
|
|
886
|
+
{
|
|
887
|
+
name: "steroids",
|
|
888
|
+
aliases: [],
|
|
889
|
+
description: "Index real repos like this project",
|
|
890
|
+
prompt: `# Steroids: build a code corpus that matches THIS project
|
|
891
|
+
|
|
892
|
+
Goal: fill the local \`steroids\` corpus with real, current, well-maintained repos that do what this project does, in the same stack, so later work can read proven code instead of guessing.
|
|
893
|
+
|
|
894
|
+
If the \`steroids\` tool is not available, stop and tell the user to install Agent Steroids first (Home screen, Steroids button). Do not improvise with bash.
|
|
895
|
+
|
|
896
|
+
## Phase 0: Profile the project
|
|
897
|
+
|
|
898
|
+
Inspect the local project (manifests, top-level layout, README, main entry points) and write a short private profile:
|
|
899
|
+
|
|
900
|
+
- What it is and does, and who uses it.
|
|
901
|
+
- Primary language(s) and the frameworks/libraries that define it (not every dependency, the ones that shape the code).
|
|
902
|
+
- Its shape: CLI, web app, desktop app, API, library, game, firmware, pipeline, etc.
|
|
903
|
+
- The 3-5 hardest or most central technical topics (e.g. "Tauri sidecar lifecycle", "streaming LLM tool calls", "trigram search index").
|
|
904
|
+
|
|
905
|
+
If the user passed arguments to /steroids, treat them as the focus and let them override the profile.
|
|
906
|
+
|
|
907
|
+
## Phase 1: Discover candidates
|
|
908
|
+
|
|
909
|
+
Call \`steroids\` \`repos\` once so you know what is already indexed. Then run 3-6 \`steroids\` \`discover\` queries WITHOUT \`add\`, each targeting a different angle from the profile: the framework (\`topic:<framework> language:<lang>\`), the product category (peer projects), and the central technical topics. Queries are GitHub repo searches, so keep each one SHORT: one \`topic:\` plus \`language:\`, or 2-3 keywords. A sentence like "llm streaming tool calls sdk" returns nothing. \`limit\` 10-15 per query. Never pass \`add\`.
|
|
910
|
+
|
|
911
|
+
Merge the results, drop anything already indexed, and rank by fit with this project first, then stars and recent \`pushed_at\`. Keep at most 20.
|
|
912
|
+
|
|
913
|
+
## Phase 2: Present and ask
|
|
914
|
+
|
|
915
|
+
FIRST print ONE markdown table of the ranked candidates: rank, repo, stars, last push, and a one-line "why it fits" tied to the profile. The user decides from this table, so it is never optional and never summarised away. ONLY THEN ask with the \`ask_user\` tool: one \`choice\` question (\`id: "count"\`, question "How many of these should I index?") with these options, each with a one-line hint on disk/time cost:
|
|
916
|
+
|
|
917
|
+
- All of them
|
|
918
|
+
- Top 10
|
|
919
|
+
- Top 5
|
|
920
|
+
- None
|
|
921
|
+
|
|
922
|
+
Mark Top 10 as recommended. Leave the free-text escape on so they can name specific ranks. The card is the ONLY ask: do not also list the options as text, and do not end with an asking line. Only if \`ask_user\` is unavailable, ask the same question in prose as a lettered list.
|
|
923
|
+
|
|
924
|
+
Do not index anything until the user answers.
|
|
925
|
+
|
|
926
|
+
## Phase 3: Index
|
|
927
|
+
|
|
928
|
+
Tell the user indexing is starting and can take a few minutes (each repo is a full download). Then index exactly the chosen repos with \`steroids\` \`add\` (\`repos\` = owner/name list, \`tag\` = a short slug for this project, e.g. its directory name), 2-3 repos per call so progress is visible and a cancel loses little. Then confirm with \`steroids\` \`repos\` filtered by that tag and report what was added, what failed, and the new corpus size. Suggest one concrete \`steroids\` \`search\` the user could run next against the new repos.`,
|
|
891
929
|
},
|
|
892
930
|
{
|
|
893
931
|
name: "setup-skills",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-commands.js","sourceRoot":"","sources":["../../src/core/prompt-commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAS5C,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC;AAE5B,MAAM,kBAAkB,GAAG,SAAS;IAClC,CAAC,CAAC,2EAA2E;IAC7E,CAAC,CAAC,+DAA+D,CAAC;AACpE,8EAA8E;AAC9E,wEAAwE;AACxE,0DAA0D;AAC1D,MAAM,wBAAwB,GAAG,SAAS;IACxC,CAAC,CAAC,4MAA4M;IAC9M,CAAC,CAAC,uNAAuN,CAAC;AAE5N,yCAAyC;AACzC,MAAM,aAAa,GAAG,CAAC,KAAsB,EAAU,EAAE,CACvD,+DAA+D,KAAK,8BAA8B,CAAC;AAErG
|
|
1
|
+
{"version":3,"file":"prompt-commands.js","sourceRoot":"","sources":["../../src/core/prompt-commands.ts"],"names":[],"mappings":"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"}
|
package/dist/core/sandbox.d.ts
CHANGED
|
@@ -21,6 +21,12 @@ export interface SandboxPolicy {
|
|
|
21
21
|
additionalRoots?: string[];
|
|
22
22
|
/** The user consented to writes outside the workspace; do not contradict them. */
|
|
23
23
|
allowOutsideWorkspaceWrites?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Unix socket paths sandboxed commands may open, e.g.
|
|
26
|
+
* `/var/run/docker.sock`. Empty by default — each entry is a hole straight
|
|
27
|
+
* through the sandbox (see {@link buildSandboxSettings}).
|
|
28
|
+
*/
|
|
29
|
+
allowUnixSockets?: string[];
|
|
24
30
|
}
|
|
25
31
|
export interface SandboxLaunch extends ShellResolution {
|
|
26
32
|
sandboxed: boolean;
|
|
@@ -60,9 +66,15 @@ interface SandboxSettings {
|
|
|
60
66
|
allowGitConfig: boolean;
|
|
61
67
|
};
|
|
62
68
|
}
|
|
69
|
+
export interface SandboxSupport {
|
|
70
|
+
supported: boolean;
|
|
71
|
+
reason: string;
|
|
72
|
+
/** Isolation started but is missing a control we promised; null when intact. */
|
|
73
|
+
degraded?: string | null;
|
|
74
|
+
}
|
|
63
75
|
/** Pure policy builder, exported so the security boundary is regression-tested. */
|
|
64
76
|
export declare function buildSandboxSettings(cwd: string, policy: SandboxPolicy, platform?: NodeJS.Platform): SandboxSettings;
|
|
65
|
-
export declare function resetSandboxSupportProbeForTests(): void;
|
|
77
|
+
export declare function resetSandboxSupportProbeForTests(seed?: SandboxSupport): void;
|
|
66
78
|
/**
|
|
67
79
|
* Known limitations when `sandboxMode` is enabled (upstream, not fixable here):
|
|
68
80
|
*
|
|
@@ -78,6 +90,10 @@ export declare function resetSandboxSupportProbeForTests(): void;
|
|
|
78
90
|
* registry host configured explicitly.
|
|
79
91
|
* - **Ubuntu 24.04+**: AppArmor blocks the sandbox entirely, so `auto`
|
|
80
92
|
* degrades to no isolation (sandbox-runtime#428, #429).
|
|
93
|
+
* - **Loopback egress is unfiltered**: sandboxed commands can reach any local
|
|
94
|
+
* TCP port, because upstream ties that to port binding and dev servers need
|
|
95
|
+
* to bind. A service listening on localhost without authentication is
|
|
96
|
+
* reachable from sandboxed bash.
|
|
81
97
|
*
|
|
82
98
|
* These are why the default is `off`; revisit when fixed upstream.
|
|
83
99
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;IACnC;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"sandbox.d.ts","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,WAAW,aAAa;IAC5B;;;;;OAKG;IACH,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,CAAC;IACnC;;;OAGG;IACH,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,kFAAkF;IAClF,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,aAAc,SAAQ,eAAe;IACpD,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAE9D,CAAC;AAEF,UAAU,eAAe;IACvB,OAAO,EAAE;QACP,cAAc,EAAE,MAAM,EAAE,CAAC;QACzB,aAAa,EAAE,MAAM,EAAE,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;QACzB,gBAAgB,EAAE,MAAM,EAAE,CAAC;QAC3B,iBAAiB,EAAE,OAAO,CAAC;KAC5B,CAAC;IACF;;;;;;;;OAQG;IACH,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,UAAU,EAAE;QACV,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,8EAA8E;QAC9E,cAAc,EAAE,OAAO,CAAC;KACzB,CAAC;CACH;AAkBD,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAsGD,mFAAmF;AACnF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,eAAe,CAkHjB;AAeD,wBAAgB,gCAAgC,CAAC,IAAI,CAAC,EAAE,cAAc,GAAG,IAAI,CAI5E;AAiED;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,eAAe,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,aAAa,CAAC,CA6CxB"}
|
package/dist/core/sandbox.js
CHANGED
|
@@ -22,6 +22,16 @@ export const SANDBOX_ENV_PATCH = {
|
|
|
22
22
|
const SANDBOX_CONFIG_DIR = path.join(os.homedir(), ".ezcoder", "sandbox-configs");
|
|
23
23
|
const PROBE_TIMEOUT_MS = 20_000;
|
|
24
24
|
let warnedUnsupported = false;
|
|
25
|
+
let warnedDegraded = false;
|
|
26
|
+
/**
|
|
27
|
+
* Linux ships unix-socket blocking as a separate `apply-seccomp` helper, and
|
|
28
|
+
* when it is missing SRT continues with the filter silently dropped
|
|
29
|
+
* (linux-sandbox-utils.js:403 and :1118). The sandbox still starts, still
|
|
30
|
+
* reports success, and still filters the network — but a sandboxed process can
|
|
31
|
+
* open AF_UNIX sockets again, which is the Docker/SSH-agent socket back.
|
|
32
|
+
* `workspace` mode promises to fail closed, so it has to notice.
|
|
33
|
+
*/
|
|
34
|
+
const DEGRADED_ISOLATION = /seccomp[^\n]*not available|unix socket (?:blocking disabled|access not restricted)/i;
|
|
25
35
|
function sensitiveReadPaths(home) {
|
|
26
36
|
return [
|
|
27
37
|
path.join(home, ".ssh"),
|
|
@@ -78,6 +88,48 @@ function withRealPath(target) {
|
|
|
78
88
|
return [target];
|
|
79
89
|
}
|
|
80
90
|
}
|
|
91
|
+
/** `candidate` is `zone` or sits underneath it. */
|
|
92
|
+
function isInside(candidate, zone) {
|
|
93
|
+
return candidate === zone || candidate.startsWith(zone + path.sep);
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Resolve one WRITE root, refusing to let a symlink widen our own authority.
|
|
97
|
+
*
|
|
98
|
+
* {@link withRealPath} grants write access to wherever a path resolves to. That
|
|
99
|
+
* is required for OS aliases (/tmp → /private/tmp) but is unsafe for roots the
|
|
100
|
+
* sandbox itself hands over to untrusted code: every {@link toolCacheDirs}
|
|
101
|
+
* entry is writable *by the sandboxed process*, so a command could delete one
|
|
102
|
+
* and leave a symlink behind (`rm -rf ~/.deno && ln -s / ~/.deno`). The next
|
|
103
|
+
* policy build would resolve that root to `/` and grant write access to the
|
|
104
|
+
* whole filesystem — a persistent escape that outlives the run that planted it.
|
|
105
|
+
*
|
|
106
|
+
* So a resolved root is only accepted while it stays inside a zone we already
|
|
107
|
+
* intended to expose. Anything else is an authority expansion rather than a
|
|
108
|
+
* path alias, and BOTH forms are dropped: keeping the symlink itself would
|
|
109
|
+
* still write through to the target. Losing a tool cache costs a slower
|
|
110
|
+
* install; keeping it can cost the machine.
|
|
111
|
+
*/
|
|
112
|
+
function safeWriteRoots(target, zones) {
|
|
113
|
+
let real;
|
|
114
|
+
try {
|
|
115
|
+
real = realpathSync(target);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
// Not created yet (common for tool caches) — nothing to resolve, and a
|
|
119
|
+
// path that does not exist cannot be pointing anywhere dangerous yet.
|
|
120
|
+
return [target];
|
|
121
|
+
}
|
|
122
|
+
if (real === target)
|
|
123
|
+
return [target];
|
|
124
|
+
if (!zones.some((zone) => isInside(real, zone))) {
|
|
125
|
+
log("WARN", "sandbox", "refusing write root that resolves outside the sandbox", {
|
|
126
|
+
target,
|
|
127
|
+
real,
|
|
128
|
+
});
|
|
129
|
+
return [];
|
|
130
|
+
}
|
|
131
|
+
return [target, real];
|
|
132
|
+
}
|
|
81
133
|
/** Pure policy builder, exported so the security boundary is regression-tested. */
|
|
82
134
|
export function buildSandboxSettings(cwd, policy, platform = process.platform) {
|
|
83
135
|
const workspace = path.resolve(cwd);
|
|
@@ -88,6 +140,29 @@ export function buildSandboxSettings(cwd, policy, platform = process.platform) {
|
|
|
88
140
|
.map((host) => host.trim())
|
|
89
141
|
.filter(Boolean)),
|
|
90
142
|
].sort();
|
|
143
|
+
// Where a write root is allowed to LAND once symlinks are resolved. These are
|
|
144
|
+
// the areas we already intended to expose, so an alias inside them is just an
|
|
145
|
+
// alias; a root resolving anywhere else is an escape attempt (see
|
|
146
|
+
// safeWriteRoots). Anchors are themselves resolved so the comparison works on
|
|
147
|
+
// macOS, where the workspace and temp dir are usually reached via /var.
|
|
148
|
+
const writeZones = [
|
|
149
|
+
...new Set([
|
|
150
|
+
temp,
|
|
151
|
+
workspace,
|
|
152
|
+
...(policy.additionalRoots ?? []).map((root) => path.resolve(root)),
|
|
153
|
+
path.resolve(getAppPaths().agentDir),
|
|
154
|
+
// Only when the user opted in. Listing $HOME unconditionally would
|
|
155
|
+
// accept a tool cache repointed at ~/.ssh — writing authorized_keys is
|
|
156
|
+
// persistence, and this list governs WRITES, so the ~/.ssh READ denial
|
|
157
|
+
// below would not stop it.
|
|
158
|
+
...(policy.allowOutsideWorkspaceWrites ? [home] : []),
|
|
159
|
+
...(platform === "win32" ? [] : ["/tmp"]),
|
|
160
|
+
// NB: the macOS /private aliases need no entry of their own — each
|
|
161
|
+
// anchor above is expanded through withRealPath, so /var/folders/… and
|
|
162
|
+
// /private/var/folders/… are both already zones. Listing bare /private
|
|
163
|
+
// would be far wider than intended (it also holds /private/etc).
|
|
164
|
+
].flatMap(withRealPath)),
|
|
165
|
+
];
|
|
91
166
|
// Mirror resolveWriteGuard's roots. The sandbox must never be stricter than
|
|
92
167
|
// the write guard the user already controls, or bash silently loses
|
|
93
168
|
// multi-root workspaces and the documented outside-workspace opt-out.
|
|
@@ -101,17 +176,43 @@ export function buildSandboxSettings(cwd, policy, platform = process.platform) {
|
|
|
101
176
|
path.resolve(getAppPaths().agentDir),
|
|
102
177
|
...toolCacheDirs(home),
|
|
103
178
|
...(policy.allowOutsideWorkspaceWrites ? [home] : []),
|
|
104
|
-
].flatMap(
|
|
179
|
+
].flatMap((target) => safeWriteRoots(target, writeZones))),
|
|
105
180
|
];
|
|
106
181
|
return {
|
|
107
182
|
network: {
|
|
108
183
|
allowedDomains,
|
|
109
184
|
deniedDomains: [],
|
|
110
185
|
strictAllowlist: true,
|
|
111
|
-
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
//
|
|
186
|
+
// Opt-in, and empty by default. Every entry is a full bypass of the
|
|
187
|
+
// isolation around it: `/var/run/docker.sock` is unauthenticated
|
|
188
|
+
// root-equivalent control of the host (mount / into a container and the
|
|
189
|
+
// workspace boundary is gone), and the SSH agent socket signs anything
|
|
190
|
+
// asked of it. The domain allowlist cannot see either — no TCP is
|
|
191
|
+
// involved. Users who need `docker` in sandboxed bash grant it here
|
|
192
|
+
// explicitly, rather than the sandbox quietly deciding for them.
|
|
193
|
+
//
|
|
194
|
+
// macOS only: on Linux/WSL2 SRT's seccomp filter blocks AF_UNIX by
|
|
195
|
+
// syscall and cannot inspect paths, so a per-path list is unenforceable
|
|
196
|
+
// there (it would need allowAllUnixSockets, which we do not expose).
|
|
197
|
+
allowUnixSockets: platform === "darwin" ? [...new Set(policy.allowUnixSockets ?? [])] : [],
|
|
198
|
+
// Always on, with no setting to turn it off.
|
|
199
|
+
//
|
|
200
|
+
// SRT couples three rules into this flag: network-bind, network-inbound
|
|
201
|
+
// and `(allow network-outbound (remote ip "localhost:*"))`
|
|
202
|
+
// (macos-sandbox-utils.js:473-477), with no per-port form. Dev servers,
|
|
203
|
+
// preview servers and the screenshot tool all bind loopback, so turning
|
|
204
|
+
// it off breaks everyday work outright.
|
|
205
|
+
//
|
|
206
|
+
// The egress half is a real hole only for someone running an
|
|
207
|
+
// unauthenticated service on a local TCP port — `docker` exposed on
|
|
208
|
+
// tcp://localhost:2375, a bare Ollama, a live `kubectl proxy`. That is
|
|
209
|
+
// rare and self-inflicted, and the common case is already covered: Docker
|
|
210
|
+
// listens on /var/run/docker.sock by default, which allowUnixSockets
|
|
211
|
+
// above keeps shut. A setting for the remainder would be one more knob
|
|
212
|
+
// nobody turns, breaking dev servers for whoever found it by accident.
|
|
213
|
+
//
|
|
214
|
+
// Linux is unaffected regardless: bwrap gives the sandbox its own network
|
|
215
|
+
// namespace, so its loopback is not the host's.
|
|
115
216
|
allowLocalBinding: true,
|
|
116
217
|
},
|
|
117
218
|
...(platform === "darwin" ? { enableWeakerNetworkIsolation: true } : {}),
|
|
@@ -149,9 +250,10 @@ function resolveSandboxCli() {
|
|
|
149
250
|
* reimplementing its per-platform dependency matrix.
|
|
150
251
|
*/
|
|
151
252
|
let supportProbe = null;
|
|
152
|
-
export function resetSandboxSupportProbeForTests() {
|
|
153
|
-
supportProbe = null;
|
|
253
|
+
export function resetSandboxSupportProbeForTests(seed) {
|
|
254
|
+
supportProbe = seed ? Promise.resolve(seed) : null;
|
|
154
255
|
warnedUnsupported = false;
|
|
256
|
+
warnedDegraded = false;
|
|
155
257
|
}
|
|
156
258
|
function probeSandboxSupport(settingsPath) {
|
|
157
259
|
supportProbe ??= new Promise((resolve) => {
|
|
@@ -159,6 +261,11 @@ function probeSandboxSupport(settingsPath) {
|
|
|
159
261
|
try {
|
|
160
262
|
child = spawn(process.execPath, [resolveSandboxCli(), "--settings", settingsPath, "-c", "exit 0"], {
|
|
161
263
|
stdio: ["ignore", "ignore", "pipe"],
|
|
264
|
+
// SRT reports the dropped seccomp filter through its debug logger, so
|
|
265
|
+
// the one probe run has to ask for it. Only on Linux, which is the
|
|
266
|
+
// only platform that degrades this way, and the output is parsed and
|
|
267
|
+
// discarded here rather than shown.
|
|
268
|
+
...(process.platform === "linux" ? { env: { ...process.env, SRT_DEBUG: "1" } } : {}),
|
|
162
269
|
});
|
|
163
270
|
}
|
|
164
271
|
catch (error) {
|
|
@@ -166,12 +273,17 @@ function probeSandboxSupport(settingsPath) {
|
|
|
166
273
|
return;
|
|
167
274
|
}
|
|
168
275
|
let stderr = "";
|
|
276
|
+
let degraded = null;
|
|
169
277
|
child.stderr?.on("data", (chunk) => {
|
|
170
|
-
|
|
278
|
+
const text = chunk.toString("utf8");
|
|
279
|
+
// Match per chunk: `stderr` keeps only the tail for the failure message,
|
|
280
|
+
// and under SRT_DEBUG the warning is easily scrolled past it.
|
|
281
|
+
degraded ??= text.match(DEGRADED_ISOLATION)?.[0] ?? null;
|
|
282
|
+
stderr = `${stderr}${text}`.slice(-500);
|
|
171
283
|
});
|
|
172
284
|
const timer = setTimeout(() => {
|
|
173
285
|
child.kill("SIGKILL");
|
|
174
|
-
resolve({ supported: false, reason: "sandbox probe timed out" });
|
|
286
|
+
resolve({ supported: false, reason: "sandbox probe timed out", degraded });
|
|
175
287
|
}, PROBE_TIMEOUT_MS);
|
|
176
288
|
timer.unref?.();
|
|
177
289
|
child.once("error", (error) => {
|
|
@@ -183,6 +295,7 @@ function probeSandboxSupport(settingsPath) {
|
|
|
183
295
|
resolve({
|
|
184
296
|
supported: code === 0,
|
|
185
297
|
reason: code === 0 ? "ok" : stderr.trim() || `sandbox probe exited with code ${code}`,
|
|
298
|
+
degraded,
|
|
186
299
|
});
|
|
187
300
|
});
|
|
188
301
|
});
|
|
@@ -217,6 +330,10 @@ async function writeStableSettings(settings) {
|
|
|
217
330
|
* registry host configured explicitly.
|
|
218
331
|
* - **Ubuntu 24.04+**: AppArmor blocks the sandbox entirely, so `auto`
|
|
219
332
|
* degrades to no isolation (sandbox-runtime#428, #429).
|
|
333
|
+
* - **Loopback egress is unfiltered**: sandboxed commands can reach any local
|
|
334
|
+
* TCP port, because upstream ties that to port binding and dev servers need
|
|
335
|
+
* to bind. A service listening on localhost without authentication is
|
|
336
|
+
* reachable from sandboxed bash.
|
|
220
337
|
*
|
|
221
338
|
* These are why the default is `off`; revisit when fixed upstream.
|
|
222
339
|
*/
|
|
@@ -244,6 +361,20 @@ export async function prepareSandboxLaunch(shell, cwd, policy) {
|
|
|
244
361
|
}
|
|
245
362
|
return { ...shell, sandboxed: false };
|
|
246
363
|
}
|
|
364
|
+
if (support.degraded) {
|
|
365
|
+
if (policy.mode === "workspace") {
|
|
366
|
+
throw new Error(`OS sandbox isolation is incomplete: ${support.degraded}. Unix sockets ` +
|
|
367
|
+
`(Docker, the SSH agent) stay reachable from sandboxed commands. Install ` +
|
|
368
|
+
`@anthropic-ai/sandbox-runtime globally so the apply-seccomp helper is on ` +
|
|
369
|
+
`disk, or set sandboxMode to "auto" to accept reduced isolation.`);
|
|
370
|
+
}
|
|
371
|
+
if (!warnedDegraded) {
|
|
372
|
+
warnedDegraded = true;
|
|
373
|
+
log("WARN", "sandbox", "OS sandbox running with reduced isolation", {
|
|
374
|
+
reason: support.degraded,
|
|
375
|
+
});
|
|
376
|
+
}
|
|
377
|
+
}
|
|
247
378
|
return {
|
|
248
379
|
file: process.execPath,
|
|
249
380
|
args: [resolveSandboxCli(), "--settings", settingsPath, "--", shell.file, ...shell.args],
|
package/dist/core/sandbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AA+B/D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAqC;IACjE,gBAAgB,EAAE,EAAE;CACrB,CAAC;AA6BF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC;AAClF,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,IAAI,iBAAiB,GAAG,KAAK,CAAC;AAE9B,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC;KACzC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,aAAa,CAAC,IAAY;IACjC,OAAO;QACL,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC;QAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC;KAClD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,oBAAoB,CAClC,GAAW,EACX,MAAqB,EACrB,WAA4B,OAAO,CAAC,QAAQ;IAE5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAG;QACrB,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;aACjF,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;aAC1B,MAAM,CAAC,OAAO,CAAC,CACnB;KACF,CAAC,IAAI,EAAE,CAAC;IACT,4EAA4E;IAC5E,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,UAAU,GAAG;QACjB,GAAG,IAAI,GAAG,CACR;YACE,SAAS;YACT,GAAG,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnE,IAAI;YACJ,oEAAoE;YACpE,GAAG,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACzC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC;YACpC,GAAG,aAAa,CAAC,IAAI,CAAC;YACtB,GAAG,CAAC,MAAM,CAAC,2BAA2B,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SACtD,CAAC,OAAO,CAAC,YAAY,CAAC,CACxB;KACF,CAAC;IAEF,OAAO;QACL,OAAO,EAAE;YACP,cAAc;YACd,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,IAAI;YACrB,gBAAgB,EAAE,EAAE;YACpB,wEAAwE;YACxE,qEAAqE;YACrE,wCAAwC;YACxC,iBAAiB,EAAE,IAAI;SACxB;QACD,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,4BAA4B,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,UAAU,EAAE;YACV,QAAQ,EAAE,kBAAkB,CAAC,IAAI,CAAC;YAClC,qEAAqE;YACrE,kDAAkD;YAClD,UAAU,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,WAAW,CAAC;YAC5E,wEAAwE;YACxE,yEAAyE;YACzE,qEAAqE;YACrE,sDAAsD;YACtD,EAAE;YACF,qEAAqE;YACrE,iCAAiC;YACjC,cAAc,EAAE,IAAI;YACpB,2EAA2E;YAC3E,2EAA2E;YAC3E,0BAA0B;YAC1B,SAAS,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;aAC9B,CAAC;SACH;KACF,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB;IACxB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;IAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;AACxE,CAAC;AAED;;;;;GAKG;AACH,IAAI,YAAY,GAA2D,IAAI,CAAC;AAEhF,MAAM,UAAU,gCAAgC;IAC9C,YAAY,GAAG,IAAI,CAAC;IACpB,iBAAiB,GAAG,KAAK,CAAC;AAC5B,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAoB;IAEpB,YAAY,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QACvC,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,KAAK,CACX,OAAO,CAAC,QAAQ,EAChB,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,CAAC,EACjE;gBACE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC;aACpC,CACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAG,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;YAChE,OAAO;QACT,CAAC;QACD,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;YACzC,MAAM,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACtB,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC,CAAC;QACnE,CAAC,EAAE,gBAAgB,CAAC,CAAC;QACrB,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;QAChB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YAC5B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YAC1B,YAAY,CAAC,KAAK,CAAC,CAAC;YACpB,OAAO,CAAC;gBACN,SAAS,EAAE,IAAI,KAAK,CAAC;gBACrB,MAAM,EAAE,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,kCAAkC,IAAI,EAAE;aACtF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,QAAyB;IAC1D,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IACtD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,GAAG,MAAM,OAAO,CAAC,CAAC;IACrE,MAAM,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACrE,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,KAAK,CAAC;IACtE,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAsB,EACtB,GAAW,EACX,MAAqB;IAErB,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACjE,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,oBAAoB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;IAElF,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC;IACxD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChC,MAAM,IAAI,KAAK,CACb,GAAG,OAAO,CAAC,MAAM,yCAAyC;gBACxD,qEAAqE;gBACrE,2DAA2D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,iBAAiB,GAAG,IAAI,CAAC;YACzB,GAAG,CAAC,MAAM,EAAE,SAAS,EAAE,iDAAiD,EAAE;gBACxE,MAAM,EAAE,OAAO,CAAC,MAAM;aACvB,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,GAAG,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO,CAAC,QAAQ;QACtB,IAAI,EAAE,CAAC,iBAAiB,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC;QACxF,aAAa,EAAE,KAAK,CAAC,aAAa;QAClC,SAAS,EAAE,IAAI;KAChB,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"sandbox.js","sourceRoot":"","sources":["../../src/core/sandbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Message, type Provider, type Usage } from "@prestyj/ai";
|
|
2
|
-
import type
|
|
2
|
+
import { type AgentTurnTiming } from "@prestyj/agent";
|
|
3
3
|
import type { CompletedItem } from "../ui/app-items.js";
|
|
4
4
|
import { type StorageNormalizationMetrics } from "./session-storage.js";
|
|
5
5
|
interface BaseEntry {
|
|
@@ -259,6 +259,8 @@ export declare class SessionManager {
|
|
|
259
259
|
private static maintenanceByRoot;
|
|
260
260
|
private sessionsDir;
|
|
261
261
|
private warnedPersistCodes;
|
|
262
|
+
/** Session files whose tail this process already checked (see {@link sealTornTail}). */
|
|
263
|
+
private sealedTails;
|
|
262
264
|
/** Called once per error code when session persistence fails (e.g. ENOSPC). */
|
|
263
265
|
onPersistError?: (error: NodeJS.ErrnoException) => void;
|
|
264
266
|
constructor(sessionsDir: string);
|
|
@@ -271,6 +273,21 @@ export declare class SessionManager {
|
|
|
271
273
|
withCompactionLease<T>(conversationId: string, signal: AbortSignal | undefined, work: () => Promise<T>): Promise<T>;
|
|
272
274
|
readCompactionAttemptState(conversationId: string): Promise<CompactionAttemptState | null>;
|
|
273
275
|
writeCompactionAttemptState(conversationId: string, state: CompactionAttemptState): Promise<void>;
|
|
276
|
+
/**
|
|
277
|
+
* Terminate a half-written last line before appending after it.
|
|
278
|
+
*
|
|
279
|
+
* Entries are one JSON object per line, appended with a trailing newline. A
|
|
280
|
+
* process killed mid-append leaves that final line without its newline — and
|
|
281
|
+
* the next append then fuses onto it, so ONE torn write destroys TWO records:
|
|
282
|
+
* the incomplete one and the first record of the resumed turn. Both are then
|
|
283
|
+
* silently skipped as malformed at load, so the user loses a message from
|
|
284
|
+
* their own history with no error shown. Writing the missing newline first
|
|
285
|
+
* confines the loss to the record that was actually torn.
|
|
286
|
+
*
|
|
287
|
+
* Once per file per process: the fuse can only happen on the first append
|
|
288
|
+
* after opening a file that someone else left torn.
|
|
289
|
+
*/
|
|
290
|
+
private sealTornTail;
|
|
274
291
|
/**
|
|
275
292
|
* Session persistence must never crash a live session. Disk-full (ENOSPC),
|
|
276
293
|
* permission, or quota errors during transcript writes are reported once
|