pulseed 0.4.14 → 0.4.16
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/assets/seedy.png +0 -0
- package/dist/adapters/agents/openai-codex.d.ts +2 -2
- package/dist/adapters/agents/openai-codex.js +2 -2
- package/dist/adapters/agents/openai-codex.js.map +1 -1
- package/dist/adapters/types/mcp.d.ts +6 -6
- package/dist/base/config/global-config.d.ts +44 -0
- package/dist/base/config/global-config.d.ts.map +1 -1
- package/dist/base/config/global-config.js +39 -2
- package/dist/base/config/global-config.js.map +1 -1
- package/dist/base/config/tool-metadata.d.ts +1 -1
- package/dist/base/config/tool-metadata.d.ts.map +1 -1
- package/dist/base/config/tool-metadata.js +21 -0
- package/dist/base/config/tool-metadata.js.map +1 -1
- package/dist/base/llm/codex-llm-client.d.ts +7 -1
- package/dist/base/llm/codex-llm-client.d.ts.map +1 -1
- package/dist/base/llm/codex-llm-client.js +10 -4
- package/dist/base/llm/codex-llm-client.js.map +1 -1
- package/dist/base/llm/provider-config.d.ts +8 -1
- package/dist/base/llm/provider-config.d.ts.map +1 -1
- package/dist/base/llm/provider-config.js +156 -94
- package/dist/base/llm/provider-config.js.map +1 -1
- package/dist/base/llm/provider-factory.d.ts.map +1 -1
- package/dist/base/llm/provider-factory.js +15 -0
- package/dist/base/llm/provider-factory.js.map +1 -1
- package/dist/base/utils/json-io.d.ts +6 -1
- package/dist/base/utils/json-io.d.ts.map +1 -1
- package/dist/base/utils/json-io.js +16 -3
- package/dist/base/utils/json-io.js.map +1 -1
- package/dist/interface/chat/chat-history.d.ts +7 -1
- package/dist/interface/chat/chat-history.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.js +35 -2
- package/dist/interface/chat/chat-history.js.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +33 -1
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +559 -7
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/grounding.d.ts.map +1 -1
- package/dist/interface/chat/grounding.js +2 -1
- package/dist/interface/chat/grounding.js.map +1 -1
- package/dist/interface/chat/mutation-tool-defs.d.ts +22 -9
- package/dist/interface/chat/mutation-tool-defs.d.ts.map +1 -1
- package/dist/interface/chat/mutation-tool-defs.js +26 -42
- package/dist/interface/chat/mutation-tool-defs.js.map +1 -1
- package/dist/interface/chat/self-knowledge-tools.d.ts +4 -0
- package/dist/interface/chat/self-knowledge-tools.d.ts.map +1 -1
- package/dist/interface/chat/self-knowledge-tools.js +16 -6
- package/dist/interface/chat/self-knowledge-tools.js.map +1 -1
- package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
- package/dist/interface/cli/commands/daemon.js +4 -14
- package/dist/interface/cli/commands/daemon.js.map +1 -1
- package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/import/apply.js +4 -0
- package/dist/interface/cli/commands/setup/import/apply.js.map +1 -1
- package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/import/discovery.js +10 -2
- package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -1
- package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/import/flow.js +11 -1
- package/dist/interface/cli/commands/setup/import/flow.js.map +1 -1
- package/dist/interface/cli/commands/setup/import/types.d.ts +3 -0
- package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.js +14 -1
- package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
- package/dist/interface/cli/setup.d.ts.map +1 -1
- package/dist/interface/cli/setup.js +6 -5
- package/dist/interface/cli/setup.js.map +1 -1
- package/dist/interface/mcp-server/index.d.ts.map +1 -1
- package/dist/interface/mcp-server/index.js +2 -1
- package/dist/interface/mcp-server/index.js.map +1 -1
- package/dist/interface/tui/app.d.ts +8 -0
- package/dist/interface/tui/app.d.ts.map +1 -1
- package/dist/interface/tui/app.js +50 -27
- package/dist/interface/tui/app.js.map +1 -1
- package/dist/interface/tui/chat.d.ts +2 -1
- package/dist/interface/tui/chat.d.ts.map +1 -1
- package/dist/interface/tui/chat.js +17 -22
- package/dist/interface/tui/chat.js.map +1 -1
- package/dist/interface/tui/clipboard.d.ts.map +1 -1
- package/dist/interface/tui/clipboard.js +2 -1
- package/dist/interface/tui/clipboard.js.map +1 -1
- package/dist/interface/tui/cursor-tracker.d.ts +4 -4
- package/dist/interface/tui/cursor-tracker.d.ts.map +1 -1
- package/dist/interface/tui/cursor-tracker.js +6 -10
- package/dist/interface/tui/cursor-tracker.js.map +1 -1
- package/dist/interface/tui/entry.d.ts.map +1 -1
- package/dist/interface/tui/entry.js +198 -154
- package/dist/interface/tui/entry.js.map +1 -1
- package/dist/interface/tui/flicker/AlternateScreen.d.ts +2 -1
- package/dist/interface/tui/flicker/AlternateScreen.d.ts.map +1 -1
- package/dist/interface/tui/flicker/AlternateScreen.js +5 -4
- package/dist/interface/tui/flicker/AlternateScreen.js.map +1 -1
- package/dist/interface/tui/flicker/MouseTracking.d.ts +2 -1
- package/dist/interface/tui/flicker/MouseTracking.d.ts.map +1 -1
- package/dist/interface/tui/flicker/MouseTracking.js +4 -3
- package/dist/interface/tui/flicker/MouseTracking.js.map +1 -1
- package/dist/interface/tui/flicker/frame-writer.js +3 -3
- package/dist/interface/tui/flicker/frame-writer.js.map +1 -1
- package/dist/interface/tui/fullscreen-chat.d.ts +3 -1
- package/dist/interface/tui/fullscreen-chat.d.ts.map +1 -1
- package/dist/interface/tui/fullscreen-chat.js +47 -44
- package/dist/interface/tui/fullscreen-chat.js.map +1 -1
- package/dist/interface/tui/git-branch.d.ts +2 -0
- package/dist/interface/tui/git-branch.d.ts.map +1 -0
- package/dist/interface/tui/git-branch.js +14 -0
- package/dist/interface/tui/git-branch.js.map +1 -0
- package/dist/interface/tui/output-controller.d.ts +10 -0
- package/dist/interface/tui/output-controller.d.ts.map +1 -0
- package/dist/interface/tui/output-controller.js +79 -0
- package/dist/interface/tui/output-controller.js.map +1 -0
- package/dist/interface/tui/terminal-output.d.ts +6 -0
- package/dist/interface/tui/terminal-output.d.ts.map +1 -0
- package/dist/interface/tui/terminal-output.js +11 -0
- package/dist/interface/tui/terminal-output.js.map +1 -0
- package/dist/interface/tui/test-app.d.ts +2 -1
- package/dist/interface/tui/test-app.d.ts.map +1 -1
- package/dist/interface/tui/test-app.js +2 -2
- package/dist/interface/tui/test-app.js.map +1 -1
- package/dist/interface/tui/test-entry.d.ts.map +1 -1
- package/dist/interface/tui/test-entry.js +40 -42
- package/dist/interface/tui/test-entry.js.map +1 -1
- package/dist/interface/tui/text-width.d.ts +3 -0
- package/dist/interface/tui/text-width.d.ts.map +1 -0
- package/dist/interface/tui/text-width.js +8 -0
- package/dist/interface/tui/text-width.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts +4 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js +29 -5
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts +3 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js +13 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +5 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +4 -0
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/execution-policy.d.ts +26 -0
- package/dist/orchestrator/execution/agent-loop/execution-policy.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/execution-policy.js +45 -0
- package/dist/orchestrator/execution/agent-loop/execution-policy.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts +1 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/index.js +1 -0
- package/dist/orchestrator/execution/agent-loop/index.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts +2 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js +2 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js +11 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts +4 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js +3 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/task/task-executor.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-executor.js +9 -14
- package/dist/orchestrator/execution/task/task-executor.js.map +1 -1
- package/dist/platform/observation/observation-tools.d.ts.map +1 -1
- package/dist/platform/observation/observation-tools.js +4 -1
- package/dist/platform/observation/observation-tools.js.map +1 -1
- package/dist/platform/soil/config.d.ts.map +1 -1
- package/dist/platform/soil/config.js +1 -2
- package/dist/platform/soil/config.js.map +1 -1
- package/dist/platform/soil/contracts.d.ts +36 -36
- package/dist/platform/soil/display/index.d.ts +4 -0
- package/dist/platform/soil/display/index.d.ts.map +1 -0
- package/dist/platform/soil/display/index.js +4 -0
- package/dist/platform/soil/display/index.js.map +1 -0
- package/dist/platform/soil/display/materialize.d.ts +3 -0
- package/dist/platform/soil/display/materialize.d.ts.map +1 -0
- package/dist/platform/soil/display/materialize.js +381 -0
- package/dist/platform/soil/display/materialize.js.map +1 -0
- package/dist/platform/soil/display/registry.d.ts +4 -0
- package/dist/platform/soil/display/registry.d.ts.map +1 -0
- package/dist/platform/soil/display/registry.js +19 -0
- package/dist/platform/soil/display/registry.js.map +1 -0
- package/dist/platform/soil/display/types.d.ts +28 -0
- package/dist/platform/soil/display/types.d.ts.map +1 -0
- package/dist/platform/soil/display/types.js +2 -0
- package/dist/platform/soil/display/types.js.map +1 -0
- package/dist/platform/soil/index.d.ts +1 -0
- package/dist/platform/soil/index.d.ts.map +1 -1
- package/dist/platform/soil/index.js +1 -0
- package/dist/platform/soil/index.js.map +1 -1
- package/dist/platform/soil/open.d.ts.map +1 -1
- package/dist/platform/soil/open.js +2 -0
- package/dist/platform/soil/open.js.map +1 -1
- package/dist/platform/soil/publish/publisher.d.ts.map +1 -1
- package/dist/platform/soil/publish/publisher.js +2 -0
- package/dist/platform/soil/publish/publisher.js.map +1 -1
- package/dist/reflection/evening-catchup.d.ts.map +1 -1
- package/dist/reflection/evening-catchup.js +6 -41
- package/dist/reflection/evening-catchup.js.map +1 -1
- package/dist/reflection/morning-planning.d.ts.map +1 -1
- package/dist/reflection/morning-planning.js +6 -46
- package/dist/reflection/morning-planning.js.map +1 -1
- package/dist/reflection/reflection-utils.d.ts +16 -0
- package/dist/reflection/reflection-utils.d.ts.map +1 -0
- package/dist/reflection/reflection-utils.js +56 -0
- package/dist/reflection/reflection-utils.js.map +1 -0
- package/dist/reflection/weekly-review.d.ts.map +1 -1
- package/dist/reflection/weekly-review.js +3 -12
- package/dist/reflection/weekly-review.js.map +1 -1
- package/dist/reporting/report-formatters.d.ts +7 -0
- package/dist/reporting/report-formatters.d.ts.map +1 -1
- package/dist/reporting/report-formatters.js +22 -33
- package/dist/reporting/report-formatters.js.map +1 -1
- package/dist/reporting/reporting-engine.d.ts.map +1 -1
- package/dist/reporting/reporting-engine.js +34 -49
- package/dist/reporting/reporting-engine.js.map +1 -1
- package/dist/runtime/builtin-integrations.d.ts +4 -0
- package/dist/runtime/builtin-integrations.d.ts.map +1 -0
- package/dist/runtime/builtin-integrations.js +67 -0
- package/dist/runtime/builtin-integrations.js.map +1 -0
- package/dist/runtime/daemon/runner-lifecycle.d.ts +5 -0
- package/dist/runtime/daemon/runner-lifecycle.d.ts.map +1 -1
- package/dist/runtime/daemon/runner-lifecycle.js +6 -4
- package/dist/runtime/daemon/runner-lifecycle.js.map +1 -1
- package/dist/runtime/daemon/runner.d.ts +3 -0
- package/dist/runtime/daemon/runner.d.ts.map +1 -1
- package/dist/runtime/daemon/runner.js +1 -0
- package/dist/runtime/daemon/runner.js.map +1 -1
- package/dist/runtime/event/server.d.ts +1 -1
- package/dist/runtime/event/server.d.ts.map +1 -1
- package/dist/runtime/event/server.js +5 -27
- package/dist/runtime/event/server.js.map +1 -1
- package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
- package/dist/runtime/executor/loop-supervisor.js +2 -2
- package/dist/runtime/executor/loop-supervisor.js.map +1 -1
- package/dist/runtime/foreign-plugins/compatibility.d.ts +7 -0
- package/dist/runtime/foreign-plugins/compatibility.d.ts.map +1 -0
- package/dist/runtime/foreign-plugins/compatibility.js +175 -0
- package/dist/runtime/foreign-plugins/compatibility.js.map +1 -0
- package/dist/runtime/foreign-plugins/index.d.ts +3 -0
- package/dist/runtime/foreign-plugins/index.d.ts.map +1 -0
- package/dist/runtime/foreign-plugins/index.js +2 -0
- package/dist/runtime/foreign-plugins/index.js.map +1 -0
- package/dist/runtime/foreign-plugins/types.d.ts +25 -0
- package/dist/runtime/foreign-plugins/types.d.ts.map +1 -0
- package/dist/runtime/foreign-plugins/types.js +2 -0
- package/dist/runtime/foreign-plugins/types.js.map +1 -0
- package/dist/runtime/interactive-automation/default-registry.d.ts +9 -0
- package/dist/runtime/interactive-automation/default-registry.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/default-registry.js +24 -0
- package/dist/runtime/interactive-automation/default-registry.js.map +1 -0
- package/dist/runtime/interactive-automation/index.d.ts +9 -0
- package/dist/runtime/interactive-automation/index.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/index.js +9 -0
- package/dist/runtime/interactive-automation/index.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.d.ts +14 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.js +33 -0
- package/dist/runtime/interactive-automation/providers/anthropic-computer-use.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/codex-app.d.ts +29 -0
- package/dist/runtime/interactive-automation/providers/codex-app.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/codex-app.js +67 -0
- package/dist/runtime/interactive-automation/providers/codex-app.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.d.ts +23 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.js +88 -0
- package/dist/runtime/interactive-automation/providers/manus-browser.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/noop.d.ts +21 -0
- package/dist/runtime/interactive-automation/providers/noop.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/noop.js +59 -0
- package/dist/runtime/interactive-automation/providers/noop.js.map +1 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.d.ts +25 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.js +124 -0
- package/dist/runtime/interactive-automation/providers/perplexity-research.js.map +1 -0
- package/dist/runtime/interactive-automation/registry.d.ts +20 -0
- package/dist/runtime/interactive-automation/registry.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/registry.js +55 -0
- package/dist/runtime/interactive-automation/registry.js.map +1 -0
- package/dist/runtime/interactive-automation/types.d.ts +132 -0
- package/dist/runtime/interactive-automation/types.d.ts.map +1 -0
- package/dist/runtime/interactive-automation/types.js +8 -0
- package/dist/runtime/interactive-automation/types.js.map +1 -0
- package/dist/runtime/schedule/engine.d.ts +12 -0
- package/dist/runtime/schedule/engine.d.ts.map +1 -1
- package/dist/runtime/schedule/engine.js +402 -243
- package/dist/runtime/schedule/engine.js.map +1 -1
- package/dist/runtime/types/builtin-integration.d.ts +13 -0
- package/dist/runtime/types/builtin-integration.d.ts.map +1 -0
- package/dist/runtime/types/builtin-integration.js +2 -0
- package/dist/runtime/types/builtin-integration.js.map +1 -0
- package/dist/tools/automation/InteractiveAutomationTools.d.ts +333 -0
- package/dist/tools/automation/InteractiveAutomationTools.d.ts.map +1 -0
- package/dist/tools/automation/InteractiveAutomationTools.js +424 -0
- package/dist/tools/automation/InteractiveAutomationTools.js.map +1 -0
- package/dist/tools/automation/index.d.ts +2 -0
- package/dist/tools/automation/index.d.ts.map +1 -0
- package/dist/tools/automation/index.js +2 -0
- package/dist/tools/automation/index.js.map +1 -0
- package/dist/tools/builtin/index.d.ts +6 -0
- package/dist/tools/builtin/index.d.ts.map +1 -1
- package/dist/tools/builtin/index.js +25 -0
- package/dist/tools/builtin/index.js.map +1 -1
- package/dist/tools/execution/SoilOpenTool/SoilOpenTool.d.ts +4 -4
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.d.ts +40 -8
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.d.ts.map +1 -1
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.js +28 -4
- package/dist/tools/execution/SpawnSessionTool/SpawnSessionTool.js.map +1 -1
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +18 -2
- package/dist/tools/executor.js.map +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js.map +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.d.ts +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.d.ts.map +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.js +3 -16
- package/dist/tools/fs/FileValidationTool/FileValidationTool.js.map +1 -1
- package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts +12 -0
- package/dist/tools/fs/FileValidationTool/protected-path-policy.d.ts.map +1 -0
- package/dist/tools/fs/FileValidationTool/protected-path-policy.js +58 -0
- package/dist/tools/fs/FileValidationTool/protected-path-policy.js.map +1 -0
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js.map +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.js +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
- package/dist/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.d.ts.map +1 -1
- package/dist/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.js +21 -5
- package/dist/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.js.map +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js.map +1 -1
- package/dist/tools/fs/WritePulseedFileTool/WritePulseedFileTool.d.ts.map +1 -1
- package/dist/tools/fs/WritePulseedFileTool/WritePulseedFileTool.js +61 -6
- package/dist/tools/fs/WritePulseedFileTool/WritePulseedFileTool.js.map +1 -1
- package/dist/tools/interaction/plan-utils.js +2 -2
- package/dist/tools/interaction/plan-utils.js.map +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js.map +1 -1
- package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +8 -8
- package/dist/tools/network/WebSearchTool/WebSearchTool.d.ts.map +1 -1
- package/dist/tools/network/WebSearchTool/WebSearchTool.js +1 -0
- package/dist/tools/network/WebSearchTool/WebSearchTool.js.map +1 -1
- package/dist/tools/permission.d.ts +1 -0
- package/dist/tools/permission.d.ts.map +1 -1
- package/dist/tools/permission.js +33 -0
- package/dist/tools/permission.js.map +1 -1
- package/dist/tools/query/ConfigTool/ConfigTool.d.ts.map +1 -1
- package/dist/tools/query/ConfigTool/ConfigTool.js +4 -3
- package/dist/tools/query/ConfigTool/ConfigTool.js.map +1 -1
- package/dist/tools/query/PluginStateTool/PluginStateTool.d.ts.map +1 -1
- package/dist/tools/query/PluginStateTool/PluginStateTool.js +13 -2
- package/dist/tools/query/PluginStateTool/PluginStateTool.js.map +1 -1
- package/dist/tools/system/EnvTool/EnvTool.d.ts +4 -4
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +4 -4
- package/dist/tools/system/ShellTool/ShellTool.d.ts.map +1 -1
- package/dist/tools/system/ShellTool/ShellTool.js +6 -46
- package/dist/tools/system/ShellTool/ShellTool.js.map +1 -1
- package/dist/tools/system/ShellTool/command-policy.d.ts +14 -0
- package/dist/tools/system/ShellTool/command-policy.d.ts.map +1 -0
- package/dist/tools/system/ShellTool/command-policy.js +121 -0
- package/dist/tools/system/ShellTool/command-policy.js.map +1 -0
- package/dist/tools/types.d.ts +9 -0
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -1
- package/package.json +5 -4
|
@@ -7,12 +7,12 @@ export declare const SoilOpenInputSchema: z.ZodObject<{
|
|
|
7
7
|
target: z.ZodDefault<z.ZodEnum<["root", "schedule_active", "status", "report", "schedule", "memory", "knowledge", "path"]>>;
|
|
8
8
|
targetPath: z.ZodOptional<z.ZodString>;
|
|
9
9
|
}, "strip", z.ZodTypeAny, {
|
|
10
|
-
target: "path" | "status" | "schedule" | "knowledge" | "
|
|
10
|
+
target: "path" | "status" | "schedule" | "knowledge" | "memory" | "root" | "report" | "schedule_active";
|
|
11
11
|
viewer: "default" | "finder" | "vscode" | "obsidian" | "logseq";
|
|
12
12
|
rootDir?: string | undefined;
|
|
13
13
|
targetPath?: string | undefined;
|
|
14
14
|
}, {
|
|
15
|
-
target?: "path" | "status" | "schedule" | "knowledge" | "
|
|
15
|
+
target?: "path" | "status" | "schedule" | "knowledge" | "memory" | "root" | "report" | "schedule_active" | undefined;
|
|
16
16
|
rootDir?: string | undefined;
|
|
17
17
|
viewer?: "default" | "finder" | "vscode" | "obsidian" | "logseq" | undefined;
|
|
18
18
|
targetPath?: string | undefined;
|
|
@@ -27,12 +27,12 @@ export declare class SoilOpenTool implements ITool<SoilOpenInput> {
|
|
|
27
27
|
target: z.ZodDefault<z.ZodEnum<["root", "schedule_active", "status", "report", "schedule", "memory", "knowledge", "path"]>>;
|
|
28
28
|
targetPath: z.ZodOptional<z.ZodString>;
|
|
29
29
|
}, "strip", z.ZodTypeAny, {
|
|
30
|
-
target: "path" | "status" | "schedule" | "knowledge" | "
|
|
30
|
+
target: "path" | "status" | "schedule" | "knowledge" | "memory" | "root" | "report" | "schedule_active";
|
|
31
31
|
viewer: "default" | "finder" | "vscode" | "obsidian" | "logseq";
|
|
32
32
|
rootDir?: string | undefined;
|
|
33
33
|
targetPath?: string | undefined;
|
|
34
34
|
}, {
|
|
35
|
-
target?: "path" | "status" | "schedule" | "knowledge" | "
|
|
35
|
+
target?: "path" | "status" | "schedule" | "knowledge" | "memory" | "root" | "report" | "schedule_active" | undefined;
|
|
36
36
|
rootDir?: string | undefined;
|
|
37
37
|
viewer?: "default" | "finder" | "vscode" | "obsidian" | "logseq" | undefined;
|
|
38
38
|
targetPath?: string | undefined;
|
|
@@ -1,41 +1,73 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { ITool, ToolResult, ToolCallContext, PermissionCheckResult, ToolMetadata, ToolDescriptionContext } from "../../types.js";
|
|
3
3
|
import type { SessionManager } from "../../../orchestrator/execution/session-manager.js";
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
import type { SessionType } from "../../../orchestrator/execution/types/session.js";
|
|
5
|
+
export declare const SpawnSessionInputSchema: z.ZodEffects<z.ZodObject<{
|
|
6
|
+
session_type: z.ZodOptional<z.ZodEnum<["task_execution", "observation", "task_review", "goal_review", "chat_execution"]>>;
|
|
7
|
+
role: z.ZodOptional<z.ZodEnum<["default", "explorer", "worker", "reviewer"]>>;
|
|
6
8
|
goal_id: z.ZodString;
|
|
7
9
|
task_id: z.ZodOptional<z.ZodString>;
|
|
8
10
|
context_budget: z.ZodOptional<z.ZodNumber>;
|
|
9
11
|
}, "strip", z.ZodTypeAny, {
|
|
10
12
|
goal_id: string;
|
|
11
|
-
session_type: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution";
|
|
12
13
|
task_id?: string | undefined;
|
|
14
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
13
15
|
context_budget?: number | undefined;
|
|
16
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
14
17
|
}, {
|
|
15
18
|
goal_id: string;
|
|
16
|
-
session_type: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution";
|
|
17
19
|
task_id?: string | undefined;
|
|
20
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
18
21
|
context_budget?: number | undefined;
|
|
22
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
23
|
+
}>, {
|
|
24
|
+
goal_id: string;
|
|
25
|
+
task_id?: string | undefined;
|
|
26
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
27
|
+
context_budget?: number | undefined;
|
|
28
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
29
|
+
}, {
|
|
30
|
+
goal_id: string;
|
|
31
|
+
task_id?: string | undefined;
|
|
32
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
33
|
+
context_budget?: number | undefined;
|
|
34
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
19
35
|
}>;
|
|
20
36
|
export type SpawnSessionInput = z.infer<typeof SpawnSessionInputSchema>;
|
|
37
|
+
export declare function resolveSpawnSessionType(input: Pick<SpawnSessionInput, "session_type" | "role">): SessionType;
|
|
21
38
|
export declare class SpawnSessionTool implements ITool<SpawnSessionInput, unknown> {
|
|
22
39
|
private readonly sessionManager;
|
|
23
40
|
readonly metadata: ToolMetadata;
|
|
24
|
-
readonly inputSchema: z.ZodObject<{
|
|
25
|
-
session_type: z.ZodEnum<["task_execution", "observation", "task_review", "goal_review", "chat_execution"]
|
|
41
|
+
readonly inputSchema: z.ZodEffects<z.ZodObject<{
|
|
42
|
+
session_type: z.ZodOptional<z.ZodEnum<["task_execution", "observation", "task_review", "goal_review", "chat_execution"]>>;
|
|
43
|
+
role: z.ZodOptional<z.ZodEnum<["default", "explorer", "worker", "reviewer"]>>;
|
|
26
44
|
goal_id: z.ZodString;
|
|
27
45
|
task_id: z.ZodOptional<z.ZodString>;
|
|
28
46
|
context_budget: z.ZodOptional<z.ZodNumber>;
|
|
29
47
|
}, "strip", z.ZodTypeAny, {
|
|
30
48
|
goal_id: string;
|
|
31
|
-
session_type: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution";
|
|
32
49
|
task_id?: string | undefined;
|
|
50
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
51
|
+
context_budget?: number | undefined;
|
|
52
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
53
|
+
}, {
|
|
54
|
+
goal_id: string;
|
|
55
|
+
task_id?: string | undefined;
|
|
56
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
57
|
+
context_budget?: number | undefined;
|
|
58
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
59
|
+
}>, {
|
|
60
|
+
goal_id: string;
|
|
61
|
+
task_id?: string | undefined;
|
|
62
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
33
63
|
context_budget?: number | undefined;
|
|
64
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
34
65
|
}, {
|
|
35
66
|
goal_id: string;
|
|
36
|
-
session_type: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution";
|
|
37
67
|
task_id?: string | undefined;
|
|
68
|
+
session_type?: "observation" | "task_execution" | "task_review" | "goal_review" | "chat_execution" | undefined;
|
|
38
69
|
context_budget?: number | undefined;
|
|
70
|
+
role?: "default" | "reviewer" | "explorer" | "worker" | undefined;
|
|
39
71
|
}>;
|
|
40
72
|
constructor(sessionManager: SessionManager);
|
|
41
73
|
description(_context?: ToolDescriptionContext): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnSessionTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/execution/SpawnSessionTool/SpawnSessionTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;
|
|
1
|
+
{"version":3,"file":"SpawnSessionTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/execution/SpawnSessionTool/SpawnSessionTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACtI,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kDAAkD,CAAC;AAKpF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAclC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,cAAc,GAAG,MAAM,CAAC,GAAG,WAAW,CAQ5G;AAED,qBAAa,gBAAiB,YAAW,KAAK,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAe5D,OAAO,CAAC,QAAQ,CAAC,cAAc;IAd3C,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAW7B;IACF,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAA2B;gBAElB,cAAc,EAAE,cAAc;IAE3D,WAAW,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,MAAM;IAIhD,IAAI,CAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA+B9E,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI5G,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO;CAGtD"}
|
|
@@ -3,11 +3,30 @@ import { DEFAULT_CONTEXT_BUDGET } from "../../../orchestrator/execution/session-
|
|
|
3
3
|
import { DESCRIPTION } from "./prompt.js";
|
|
4
4
|
import { TAGS, READ_ONLY, PERMISSION_LEVEL } from "./constants.js";
|
|
5
5
|
export const SpawnSessionInputSchema = z.object({
|
|
6
|
-
session_type: z.enum(["task_execution", "observation", "task_review", "goal_review", "chat_execution"]),
|
|
6
|
+
session_type: z.enum(["task_execution", "observation", "task_review", "goal_review", "chat_execution"]).optional(),
|
|
7
|
+
role: z.enum(["default", "explorer", "worker", "reviewer"]).optional(),
|
|
7
8
|
goal_id: z.string().min(1, "goal_id is required"),
|
|
8
9
|
task_id: z.string().optional(),
|
|
9
10
|
context_budget: z.number().int().positive().optional(),
|
|
11
|
+
}).superRefine((value, ctx) => {
|
|
12
|
+
if (!value.session_type && !value.role) {
|
|
13
|
+
ctx.addIssue({
|
|
14
|
+
code: z.ZodIssueCode.custom,
|
|
15
|
+
path: ["session_type"],
|
|
16
|
+
message: "session_type or role is required",
|
|
17
|
+
});
|
|
18
|
+
}
|
|
10
19
|
});
|
|
20
|
+
export function resolveSpawnSessionType(input) {
|
|
21
|
+
if (input.session_type)
|
|
22
|
+
return input.session_type;
|
|
23
|
+
switch (input.role) {
|
|
24
|
+
case "explorer": return "observation";
|
|
25
|
+
case "reviewer": return "task_review";
|
|
26
|
+
case "worker": return "task_execution";
|
|
27
|
+
default: return "chat_execution";
|
|
28
|
+
}
|
|
29
|
+
}
|
|
11
30
|
export class SpawnSessionTool {
|
|
12
31
|
sessionManager;
|
|
13
32
|
metadata = {
|
|
@@ -32,11 +51,16 @@ export class SpawnSessionTool {
|
|
|
32
51
|
async call(input, _context) {
|
|
33
52
|
const startTime = Date.now();
|
|
34
53
|
try {
|
|
35
|
-
const session = await this.sessionManager.createSession(input
|
|
54
|
+
const session = await this.sessionManager.createSession(resolveSpawnSessionType(input), input.goal_id, input.task_id ?? null, input.context_budget ?? DEFAULT_CONTEXT_BUDGET);
|
|
36
55
|
return {
|
|
37
56
|
success: true,
|
|
38
|
-
data: {
|
|
39
|
-
|
|
57
|
+
data: {
|
|
58
|
+
sessionId: session.id,
|
|
59
|
+
session_type: session.session_type,
|
|
60
|
+
goal_id: session.goal_id,
|
|
61
|
+
role: input.role ?? "default",
|
|
62
|
+
},
|
|
63
|
+
summary: `Session ${session.id} created (type=${session.session_type}, role=${input.role ?? "default"})`,
|
|
40
64
|
durationMs: Date.now() - startTime,
|
|
41
65
|
};
|
|
42
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpawnSessionTool.js","sourceRoot":"","sources":["../../../../src/tools/execution/SpawnSessionTool/SpawnSessionTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAyB,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1F,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SpawnSessionTool.js","sourceRoot":"","sources":["../../../../src/tools/execution/SpawnSessionTool/SpawnSessionTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAExC,IAAI,EAAE,gBAAgB;IAM5B,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAEV,UAAU,EACV,eAAe,EAChB,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAE9D;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAwB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAwB;gBAExC,IAAI,EAAE,gBAAgB;IAM5B,OAAO,CACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,CAAC;IA+IhB,YAAY,CAChB,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,EAClD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,UAAU,EAAE,CAAC;IAkCxB,OAAO,CAAC,aAAa;YAiBP,WAAW;IAezB;;;;OAIG;YACW,aAAa;IAoD3B,OAAO,CAAC,UAAU;CASnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,YAAY,CAAC;IACvB,iBAAiB,EAAE,qBAAqB,CAAC;IACzC,WAAW,EAAE,qBAAqB,CAAC;CACpC"}
|
package/dist/tools/executor.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// src/tools/executor.ts
|
|
2
2
|
import { mkdirSync, writeFileSync } from "fs";
|
|
3
3
|
import { join } from "path";
|
|
4
|
-
import { homedir } from "os";
|
|
5
4
|
import { randomUUID } from "crypto";
|
|
5
|
+
import { getPulseedDirPath } from "../base/utils/paths.js";
|
|
6
6
|
/**
|
|
7
7
|
* 5-gate execution pipeline for tool invocations.
|
|
8
8
|
*
|
|
@@ -45,6 +45,22 @@ export class ToolExecutor {
|
|
|
45
45
|
if (semanticResult.status === "denied") {
|
|
46
46
|
return this.failResult(`Permission denied: ${semanticResult.reason}`, Date.now() - startTime);
|
|
47
47
|
}
|
|
48
|
+
if (semanticResult.status === "needs_approval" && tool.metadata.tags.includes("automation")) {
|
|
49
|
+
const approvalRequest = {
|
|
50
|
+
toolName: tool.metadata.name,
|
|
51
|
+
input,
|
|
52
|
+
reason: semanticResult.reason,
|
|
53
|
+
permissionLevel: tool.metadata.permissionLevel,
|
|
54
|
+
isDestructive: tool.metadata.isDestructive,
|
|
55
|
+
reversibility: "unknown",
|
|
56
|
+
...(callId ? { callId } : {}),
|
|
57
|
+
};
|
|
58
|
+
await context.onApprovalRequested?.(approvalRequest);
|
|
59
|
+
const approved = await context.approvalFn(approvalRequest);
|
|
60
|
+
if (!approved) {
|
|
61
|
+
return this.failResult(`User denied approval: ${semanticResult.reason}`, Date.now() - startTime);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
48
64
|
// --- Gate 3: Permission Manager (3-layer) ---
|
|
49
65
|
const permResult = await this.permissionManager.check(tool, input, context);
|
|
50
66
|
if (permResult.status === "denied") {
|
|
@@ -102,7 +118,7 @@ export class ToolExecutor {
|
|
|
102
118
|
if (serialized.length > tool.metadata.maxOutputChars) {
|
|
103
119
|
const originalLength = serialized.length;
|
|
104
120
|
const truncatedStr = serialized.slice(0, tool.metadata.maxOutputChars);
|
|
105
|
-
const overflowDir = join(
|
|
121
|
+
const overflowDir = join(getPulseedDirPath(), "tmp");
|
|
106
122
|
mkdirSync(overflowDir, { recursive: true });
|
|
107
123
|
const overflowPath = join(overflowDir, `overflow-${randomUUID()}.json`);
|
|
108
124
|
writeFileSync(overflowPath, serialized, "utf-8");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAExB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"executor.js","sourceRoot":"","sources":["../../src/tools/executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,7 +37,7 @@ export class FileEditTool {
|
|
|
37
37
|
}
|
|
38
38
|
async call(input, context) {
|
|
39
39
|
const startTime = Date.now();
|
|
40
|
-
const validation = validateFilePath(input.path, context.cwd);
|
|
40
|
+
const validation = validateFilePath(input.path, context.cwd, context.executionPolicy?.protectedPaths);
|
|
41
41
|
if (!validation.valid) {
|
|
42
42
|
return {
|
|
43
43
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileEditTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileEditTool/FileEditTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;CACvC,CAAC,CAAC;AASH,SAAS,gBAAgB,CAAC,IAAY,EAAE,MAAc;IACpD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChD,KAAK,EAAE,CAAC;QACR,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,OAAO,YAAY;IACd,QAAQ,GAAiB;QAChC,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,gBAAgB;QACjC,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,gBAAgB;QAChC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;KAChB,CAAC;IACO,WAAW,GAAG,mBAAmB,CAAC;IAE3C,WAAW;QACT,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAoB,EAAE,OAAwB;QACvD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FileEditTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileEditTool/FileEditTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileValidationTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/fs/FileValidationTool/FileValidationTool.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FileValidationTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/fs/FileValidationTool/FileValidationTool.ts"],"names":[],"mappings":"AAEA,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,MAAM,EACX,cAAc,CAAC,EAAE,MAAM,EAAE,GACxB;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAEtD"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const resolvedCwd = resolve(cwd);
|
|
5
|
-
const resolved = resolve(cwd, filePath);
|
|
6
|
-
const pathFromCwd = relative(resolvedCwd, resolved);
|
|
7
|
-
if (pathFromCwd.startsWith("..") || isAbsolute(pathFromCwd)) {
|
|
8
|
-
return { valid: false, resolved, error: "Path traversal outside working directory" };
|
|
9
|
-
}
|
|
10
|
-
const lower = resolved.toLowerCase();
|
|
11
|
-
for (const p of BLOCKED_PATTERNS) {
|
|
12
|
-
if (lower.includes(p)) {
|
|
13
|
-
return { valid: false, resolved, error: `Blocked: path contains sensitive pattern "${p}"` };
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
return { valid: true, resolved };
|
|
1
|
+
import { validateProtectedPath } from "./protected-path-policy.js";
|
|
2
|
+
export function validateFilePath(filePath, cwd, protectedPaths) {
|
|
3
|
+
return validateProtectedPath(filePath, { cwd, workspaceRoot: cwd, protectedPaths });
|
|
17
4
|
}
|
|
18
5
|
//# sourceMappingURL=FileValidationTool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileValidationTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileValidationTool/FileValidationTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FileValidationTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileValidationTool/FileValidationTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,GAAW,EACX,cAAyB;IAEzB,OAAO,qBAAqB,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,CAAC,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export interface ProtectedPathPolicyInput {
|
|
2
|
+
cwd: string;
|
|
3
|
+
workspaceRoot?: string;
|
|
4
|
+
protectedPaths?: string[];
|
|
5
|
+
}
|
|
6
|
+
export interface ProtectedPathValidationResult {
|
|
7
|
+
valid: boolean;
|
|
8
|
+
resolved: string;
|
|
9
|
+
error?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function validateProtectedPath(filePath: string, input: ProtectedPathPolicyInput): ProtectedPathValidationResult;
|
|
12
|
+
//# sourceMappingURL=protected-path-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-path-policy.d.ts","sourceRoot":"","sources":["../../../../src/tools/fs/FileValidationTool/protected-path-policy.ts"],"names":[],"mappings":"AAoBA,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,wBAAwB,GAC9B,6BAA6B,CAgC/B"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { realpathSync } from "node:fs";
|
|
2
|
+
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
3
|
+
const DEFAULT_PROTECTED_PATH_PATTERNS = [
|
|
4
|
+
".git",
|
|
5
|
+
".codex",
|
|
6
|
+
".agents",
|
|
7
|
+
".pulseed",
|
|
8
|
+
"AGENTS.md",
|
|
9
|
+
"AGENTS.override.md",
|
|
10
|
+
".env",
|
|
11
|
+
".env.local",
|
|
12
|
+
".env.production",
|
|
13
|
+
"credentials",
|
|
14
|
+
"secret",
|
|
15
|
+
".ssh",
|
|
16
|
+
"id_rsa",
|
|
17
|
+
"node_modules",
|
|
18
|
+
];
|
|
19
|
+
export function validateProtectedPath(filePath, input) {
|
|
20
|
+
const workspaceRoot = canonicalPath(input.workspaceRoot ?? input.cwd);
|
|
21
|
+
const resolved = canonicalPath(resolve(input.cwd, filePath));
|
|
22
|
+
const pathFromWorkspace = relative(workspaceRoot, resolved);
|
|
23
|
+
if (pathFromWorkspace.startsWith("..") || isAbsolute(pathFromWorkspace)) {
|
|
24
|
+
return { valid: false, resolved, error: "Path traversal outside workspace root" };
|
|
25
|
+
}
|
|
26
|
+
const protectedPatterns = [
|
|
27
|
+
...DEFAULT_PROTECTED_PATH_PATTERNS,
|
|
28
|
+
...(input.protectedPaths ?? []),
|
|
29
|
+
];
|
|
30
|
+
const normalized = normalizeForMatch(pathFromWorkspace === "" ? "." : pathFromWorkspace);
|
|
31
|
+
for (const pattern of protectedPatterns) {
|
|
32
|
+
const protectedPattern = normalizeForMatch(pattern);
|
|
33
|
+
const isBroadToken = !protectedPattern.includes("/") && !protectedPattern.startsWith(".");
|
|
34
|
+
if (normalized === protectedPattern
|
|
35
|
+
|| normalized.startsWith(`${protectedPattern}/`)
|
|
36
|
+
|| normalized.includes(`/${protectedPattern}/`)
|
|
37
|
+
|| (isBroadToken && normalized.includes(protectedPattern))) {
|
|
38
|
+
return {
|
|
39
|
+
valid: false,
|
|
40
|
+
resolved,
|
|
41
|
+
error: `Blocked: path targets protected area "${pattern}"`,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return { valid: true, resolved };
|
|
46
|
+
}
|
|
47
|
+
function canonicalPath(value) {
|
|
48
|
+
try {
|
|
49
|
+
return realpathSync(value);
|
|
50
|
+
}
|
|
51
|
+
catch {
|
|
52
|
+
return resolve(value);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
function normalizeForMatch(value) {
|
|
56
|
+
return value.split(sep).join("/").replace(/^\.\/+/, "").toLowerCase();
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=protected-path-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"protected-path-policy.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileValidationTool/protected-path-policy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAE/D,MAAM,+BAA+B,GAAG;IACtC,MAAM;IACN,QAAQ;IACR,SAAS;IACT,UAAU;IACV,WAAW;IACX,oBAAoB;IACpB,MAAM;IACN,YAAY;IACZ,iBAAiB;IACjB,aAAa;IACb,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,cAAc;CACf,CAAC;AAcF,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,KAA+B;IAE/B,MAAM,aAAa,GAAG,aAAa,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACtE,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IAE5D,IAAI,iBAAiB,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,uCAAuC,EAAE,CAAC;IACpF,CAAC;IAED,MAAM,iBAAiB,GAAG;QACxB,GAAG,+BAA+B;QAClC,GAAG,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;KAChC,CAAC;IACF,MAAM,UAAU,GAAG,iBAAiB,CAAC,iBAAiB,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACzF,KAAK,MAAM,OAAO,IAAI,iBAAiB,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC1F,IACE,UAAU,KAAK,gBAAgB;eAC5B,UAAU,CAAC,UAAU,CAAC,GAAG,gBAAgB,GAAG,CAAC;eAC7C,UAAU,CAAC,QAAQ,CAAC,IAAI,gBAAgB,GAAG,CAAC;eAC5C,CAAC,YAAY,IAAI,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAC1D,CAAC;YACD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,QAAQ;gBACR,KAAK,EAAE,yCAAyC,OAAO,GAAG;aAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACnC,CAAC;AAED,SAAS,aAAa,CAAC,KAAa;IAClC,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;IACxB,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACxE,CAAC"}
|
|
@@ -28,7 +28,7 @@ export class FileWriteTool {
|
|
|
28
28
|
}
|
|
29
29
|
async call(input, context) {
|
|
30
30
|
const startTime = Date.now();
|
|
31
|
-
const validation = validateFilePath(input.path, context.cwd);
|
|
31
|
+
const validation = validateFilePath(input.path, context.cwd, context.executionPolicy?.protectedPaths);
|
|
32
32
|
if (!validation.valid) {
|
|
33
33
|
return {
|
|
34
34
|
success: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileWriteTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileWriteTool/FileWriteTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CACtC,CAAC,CAAC;AAQH,MAAM,OAAO,aAAa;IACf,QAAQ,GAAiB;QAChC,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,EAAE;QACX,eAAe,EAAE,gBAAgB;QACjC,UAAU,EAAE,KAAK;QACjB,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;QACjB,UAAU,EAAE,KAAK;QACjB,cAAc,EAAE,CAAC;QACjB,cAAc,EAAE,gBAAgB;QAChC,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;KAChB,CAAC;IACO,WAAW,GAAG,oBAAoB,CAAC;IAE5C,WAAW;QACT,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAqB,EAAE,OAAwB;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"FileWriteTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/FileWriteTool/FileWriteTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ export class GlobTool {
|
|
|
56
56
|
return { status: "needs_approval", reason: `Glob pattern may access outside the working directory: ${input.pattern}` };
|
|
57
57
|
}
|
|
58
58
|
if (context) {
|
|
59
|
-
const validation = validateFilePath(input.path ?? ".", context.cwd);
|
|
59
|
+
const validation = validateFilePath(input.path ?? ".", context.cwd, context.executionPolicy?.protectedPaths);
|
|
60
60
|
if (!validation.valid) {
|
|
61
61
|
return { status: "needs_approval", reason: `Globbing outside the working directory: ${validation.resolved}` };
|
|
62
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GlobTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/GlobTool/GlobTool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GlobTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/GlobTool/GlobTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -81,7 +81,7 @@ export class GrepTool {
|
|
|
81
81
|
}
|
|
82
82
|
async checkPermissions(input, context) {
|
|
83
83
|
if (context) {
|
|
84
|
-
const validation = validateFilePath(input.path ?? ".", context.cwd);
|
|
84
|
+
const validation = validateFilePath(input.path ?? ".", context.cwd, context.executionPolicy?.protectedPaths);
|
|
85
85
|
if (!validation.valid) {
|
|
86
86
|
return { status: "needs_approval", reason: `Searching outside the working directory: ${validation.resolved}` };
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GrepTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/GrepTool/GrepTool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"GrepTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/GrepTool/GrepTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,7 +34,7 @@ export class JsonQueryTool {
|
|
|
34
34
|
}
|
|
35
35
|
async checkPermissions(input, context) {
|
|
36
36
|
if (context) {
|
|
37
|
-
const validation = validateFilePath(input.file_path, context.cwd);
|
|
37
|
+
const validation = validateFilePath(input.file_path, context.cwd, context.executionPolicy?.protectedPaths);
|
|
38
38
|
if (!validation.valid) {
|
|
39
39
|
return { status: "needs_approval", reason: `Reading JSON outside the working directory: ${validation.resolved}` };
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JsonQueryTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/JsonQueryTool/JsonQueryTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAyB,gBAAgB,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAE5G,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;CACzB,CAAC,CAAC;AAGH,MAAM,OAAO,aAAa;IACf,QAAQ,GAAiB;QAChC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;QAChD,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK;QAC9E,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;QACvD,cAAc,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;KAClD,CAAC;IACO,WAAW,GAAG,oBAAoB,CAAC;IAE5C,WAAW;QACT,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,KAAqB,EAAE,OAAwB;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjH,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACxJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAuB,GAAa,CAAC,OAAO,EAAE,EAAE,KAAK,EAAG,GAAa,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE,CAAC;QACpK,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,KAAqB,EAAE,OAAyB;QACrE,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"JsonQueryTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/JsonQueryTool/JsonQueryTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,7 @@ export class ListDirTool {
|
|
|
53
53
|
}
|
|
54
54
|
async checkPermissions(input, context) {
|
|
55
55
|
if (context) {
|
|
56
|
-
const validation = validateFilePath(input.path, context.cwd);
|
|
56
|
+
const validation = validateFilePath(input.path, context.cwd, context.executionPolicy?.protectedPaths);
|
|
57
57
|
if (!validation.valid) {
|
|
58
58
|
return { status: "needs_approval", reason: `Listing outside the working directory: ${validation.resolved}` };
|
|
59
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListDirTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/ListDirTool/ListDirTool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ListDirTool.js","sourceRoot":"","sources":["../../../../src/tools/fs/ListDirTool/ListDirTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReadPulseedFileTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"ReadPulseedFileTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/fs/ReadPulseedFileTool/ReadPulseedFileTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAKtI,eAAO,MAAM,0BAA0B;;;;;;EAErC,CAAC;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAmB9E,qBAAa,mBAAoB,YAAW,KAAK,CAAC,oBAAoB,EAAE,OAAO,CAAC;IAC9E,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAW7B;IACF,QAAQ,CAAC,WAAW;;;;;;OAA8B;IAElD,WAAW,CAAC,QAAQ,CAAC,EAAE,sBAAsB,GAAG,MAAM;IAIhD,IAAI,CAAC,KAAK,EAAE,oBAAoB,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IAyCjF,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,EAAE,QAAQ,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAI/G,iBAAiB,CAAC,MAAM,EAAE,oBAAoB,GAAG,OAAO;CAGzD"}
|