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
|
@@ -4,10 +4,10 @@ export declare const EnvInputSchema: z.ZodObject<{
|
|
|
4
4
|
query: z.ZodDefault<z.ZodEnum<["node_version", "platform", "env_var", "cwd", "memory", "uptime"]>>;
|
|
5
5
|
varName: z.ZodOptional<z.ZodString>;
|
|
6
6
|
}, "strip", z.ZodTypeAny, {
|
|
7
|
-
query: "
|
|
7
|
+
query: "memory" | "cwd" | "platform" | "uptime" | "node_version" | "env_var";
|
|
8
8
|
varName?: string | undefined;
|
|
9
9
|
}, {
|
|
10
|
-
query?: "
|
|
10
|
+
query?: "memory" | "cwd" | "platform" | "uptime" | "node_version" | "env_var" | undefined;
|
|
11
11
|
varName?: string | undefined;
|
|
12
12
|
}>;
|
|
13
13
|
export type EnvInput = z.infer<typeof EnvInputSchema>;
|
|
@@ -21,10 +21,10 @@ export declare class EnvTool implements ITool<EnvInput, EnvOutput> {
|
|
|
21
21
|
query: z.ZodDefault<z.ZodEnum<["node_version", "platform", "env_var", "cwd", "memory", "uptime"]>>;
|
|
22
22
|
varName: z.ZodOptional<z.ZodString>;
|
|
23
23
|
}, "strip", z.ZodTypeAny, {
|
|
24
|
-
query: "
|
|
24
|
+
query: "memory" | "cwd" | "platform" | "uptime" | "node_version" | "env_var";
|
|
25
25
|
varName?: string | undefined;
|
|
26
26
|
}, {
|
|
27
|
-
query?: "
|
|
27
|
+
query?: "memory" | "cwd" | "platform" | "uptime" | "node_version" | "env_var" | undefined;
|
|
28
28
|
varName?: string | undefined;
|
|
29
29
|
}>;
|
|
30
30
|
description(_context?: ToolDescriptionContext): string;
|
|
@@ -10,13 +10,13 @@ export declare const ProcessSessionStartInputSchema: z.ZodObject<{
|
|
|
10
10
|
command: string;
|
|
11
11
|
args: string[];
|
|
12
12
|
label?: string | undefined;
|
|
13
|
-
cwd?: string | undefined;
|
|
14
13
|
env?: Record<string, string> | undefined;
|
|
14
|
+
cwd?: string | undefined;
|
|
15
15
|
}, {
|
|
16
16
|
command: string;
|
|
17
17
|
label?: string | undefined;
|
|
18
|
-
cwd?: string | undefined;
|
|
19
18
|
env?: Record<string, string> | undefined;
|
|
19
|
+
cwd?: string | undefined;
|
|
20
20
|
args?: string[] | undefined;
|
|
21
21
|
}>;
|
|
22
22
|
export type ProcessSessionStartInput = z.infer<typeof ProcessSessionStartInputSchema>;
|
|
@@ -125,13 +125,13 @@ export declare class ProcessSessionStartTool extends ProcessSessionBaseTool<Proc
|
|
|
125
125
|
command: string;
|
|
126
126
|
args: string[];
|
|
127
127
|
label?: string | undefined;
|
|
128
|
-
cwd?: string | undefined;
|
|
129
128
|
env?: Record<string, string> | undefined;
|
|
129
|
+
cwd?: string | undefined;
|
|
130
130
|
}, {
|
|
131
131
|
command: string;
|
|
132
132
|
label?: string | undefined;
|
|
133
|
-
cwd?: string | undefined;
|
|
134
133
|
env?: Record<string, string> | undefined;
|
|
134
|
+
cwd?: string | undefined;
|
|
135
135
|
args?: string[] | undefined;
|
|
136
136
|
}>;
|
|
137
137
|
description(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/system/ShellTool/ShellTool.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,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellTool.d.ts","sourceRoot":"","sources":["../../../../src/tools/system/ShellTool/ShellTool.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,MAAM,gBAAgB,CAAC;AAM9G,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;EAK3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,MAAM,WAAW,WAAW;IAAG,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;CAAE;AAElF,qBAAa,SAAU,YAAW,KAAK,CAAC,UAAU,EAAE,WAAW,CAAC;IAC9D,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAK7B;IACF,QAAQ,CAAC,WAAW;;;;;;;;;;;;;;;OAAoB;IAExC,WAAW,IAAI,MAAM;IAIf,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BtE,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASpG,iBAAiB,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO;CAS9C"}
|
|
@@ -2,6 +2,7 @@ import { z } from "zod";
|
|
|
2
2
|
import { execFileNoThrow } from "../../../base/utils/execFileNoThrow.js";
|
|
3
3
|
import { DESCRIPTION } from "./prompt.js";
|
|
4
4
|
import { TAGS, MAX_OUTPUT_CHARS, PERMISSION_LEVEL } from "./constants.js";
|
|
5
|
+
import { assessShellCommand } from "./command-policy.js";
|
|
5
6
|
export const ShellInputSchema = z.object({
|
|
6
7
|
command: z.string().min(1),
|
|
7
8
|
cwd: z.string().optional(),
|
|
@@ -46,54 +47,13 @@ export class ShellTool {
|
|
|
46
47
|
}
|
|
47
48
|
}
|
|
48
49
|
async checkPermissions(input, context) {
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
/^(cat|head|tail|wc|ls|pwd|echo|date|hostname|which|type|file)/,
|
|
52
|
-
/^git\s+(status|log|diff|show|branch|rev-parse|rev-list|describe|tag\s+-l)/,
|
|
53
|
-
/^npm\s+(ls|list|view|info|outdated|audit)/,
|
|
54
|
-
/^npx\s+vitest\s+(run|list|--reporter)/,
|
|
55
|
-
/^npx\s+tsc\s+--noEmit/,
|
|
56
|
-
/^rg\s/, /^find\s/, /^du\s/, /^df\s/, /^tree\s/,
|
|
57
|
-
];
|
|
58
|
-
const DENY_PATTERNS = [
|
|
59
|
-
/rm\s/, /mv\s/, /cp\s/, /mkdir\s/, /touch\s/, /chmod\s/, /chown\s/,
|
|
60
|
-
/git\s+(push|commit|merge|rebase|reset|checkout|clean|stash)/,
|
|
61
|
-
/npm\s+(install|uninstall|publish|run|exec)/,
|
|
62
|
-
/curl\s.*(-X\s*(POST|PUT|DELETE|PATCH)|-d\s)/,
|
|
63
|
-
/wget\s/, /sudo\s/, /mkfs/, /dd\s+if=/, /shutdown/, /reboot/,
|
|
64
|
-
];
|
|
65
|
-
const segments = cmd.split(/\s*(?:&&|\|\||;)\s*/);
|
|
66
|
-
// Injection patterns always checked regardless of trust level
|
|
67
|
-
const INJECTION_PATTERNS = [/>/, /\|.*(tee|dd|rm|mv)/];
|
|
68
|
-
for (const segment of segments) {
|
|
69
|
-
const trimmed = segment.trim();
|
|
70
|
-
if (!trimmed)
|
|
71
|
-
continue;
|
|
72
|
-
if (INJECTION_PATTERNS.some(p => p.test(trimmed))) {
|
|
73
|
-
return { status: "denied", reason: `Denied command segment (injection risk): ${trimmed}` };
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
// trusted: skip DENY_PATTERNS and SAFE_PATTERNS; only injection checks above apply
|
|
77
|
-
if (context?.trusted) {
|
|
50
|
+
const assessment = assessShellCommand(input.command, context?.executionPolicy, context?.trusted === true);
|
|
51
|
+
if (assessment.status === "allowed")
|
|
78
52
|
return { status: "allowed" };
|
|
53
|
+
if (assessment.status === "needs_approval") {
|
|
54
|
+
return { status: "needs_approval", reason: assessment.reason ?? "Shell command requires approval" };
|
|
79
55
|
}
|
|
80
|
-
|
|
81
|
-
const trimmed = segment.trim();
|
|
82
|
-
if (!trimmed)
|
|
83
|
-
continue;
|
|
84
|
-
if (DENY_PATTERNS.some(p => p.test(trimmed))) {
|
|
85
|
-
return { status: "denied", reason: `Denied command segment: ${trimmed}` };
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
for (const segment of segments) {
|
|
89
|
-
const trimmed = segment.trim();
|
|
90
|
-
if (!trimmed)
|
|
91
|
-
continue;
|
|
92
|
-
if (!SAFE_PATTERNS.some(p => p.test(trimmed))) {
|
|
93
|
-
return { status: "needs_approval", reason: `Unknown command segment requires approval: ${trimmed}` };
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return { status: "allowed" };
|
|
56
|
+
return { status: "denied", reason: assessment.reason ?? "Shell command denied by policy" };
|
|
97
57
|
}
|
|
98
58
|
isConcurrencySafe(input) {
|
|
99
59
|
const cmd = input.command.trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShellTool.js","sourceRoot":"","sources":["../../../../src/tools/system/ShellTool/ShellTool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"ShellTool.js","sourceRoot":"","sources":["../../../../src/tools/system/ShellTool/ShellTool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ExecutionPolicy } from "../../../orchestrator/execution/agent-loop/execution-policy.js";
|
|
2
|
+
export interface ShellCommandAssessment {
|
|
3
|
+
status: "allowed" | "needs_approval" | "denied";
|
|
4
|
+
reason?: string;
|
|
5
|
+
capabilities: {
|
|
6
|
+
readOnly: boolean;
|
|
7
|
+
localWrite: boolean;
|
|
8
|
+
network: boolean;
|
|
9
|
+
destructive: boolean;
|
|
10
|
+
protectedTarget: boolean;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export declare function assessShellCommand(command: string, policy?: ExecutionPolicy, trusted?: boolean): ShellCommandAssessment;
|
|
14
|
+
//# sourceMappingURL=command-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-policy.d.ts","sourceRoot":"","sources":["../../../../src/tools/system/ShellTool/command-policy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gEAAgE,CAAC;AAEtG,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC;IAChD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,UAAU,EAAE,OAAO,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAiDD,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,eAAe,EACxB,OAAO,UAAQ,GACd,sBAAsB,CAkFxB"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
const SAFE_PATTERNS = [
|
|
2
|
+
/^(cat|head|tail|wc|ls|pwd|echo|date|hostname|which|type|file)\b/,
|
|
3
|
+
/^git\s+(status|log|diff|show|branch|rev-parse|rev-list|describe|tag\s+-l)\b/,
|
|
4
|
+
/^npm\s+(ls|list|view|info|outdated|audit)\b/,
|
|
5
|
+
/^npx\s+vitest\s+(run|list|--reporter)\b/,
|
|
6
|
+
/^npx\s+tsc\s+--noemit\b/i,
|
|
7
|
+
/^rg\b/, /^find\b/, /^du\b/, /^df\b/, /^tree\b/,
|
|
8
|
+
];
|
|
9
|
+
const LOCAL_WRITE_PATTERNS = [
|
|
10
|
+
/\brm\b/, /\bmv\b/, /\bcp\b/, /\bmkdir\b/, /\btouch\b/, /\bchmod\b/, /\bchown\b/,
|
|
11
|
+
/\bsed\s+-i\b/, /\bperl\s+-i\b/, /\btee\b/, />/, /\bapply_patch\b/,
|
|
12
|
+
/\bgit\s+(apply|checkout|restore)\b/,
|
|
13
|
+
/\bnpm\s+(install|uninstall|run|exec)\b/,
|
|
14
|
+
];
|
|
15
|
+
const NETWORK_PATTERNS = [
|
|
16
|
+
/\bcurl\b/, /\bwget\b/, /\bssh\b/, /\bscp\b/, /\brsync\b/, /\bpip\s+install\b/,
|
|
17
|
+
/\bnpm\s+(install|publish)\b/, /\bgit\s+(fetch|pull|push|clone)\b/,
|
|
18
|
+
];
|
|
19
|
+
const DESTRUCTIVE_PATTERNS = [
|
|
20
|
+
/\brm\b/, /\bmkfs\b/, /\bdd\s+if=/, /\bshutdown\b/, /\breboot\b/,
|
|
21
|
+
/\bgit\s+(push|commit|merge|rebase|reset|clean|stash)\b/,
|
|
22
|
+
/\bsudo\b/,
|
|
23
|
+
];
|
|
24
|
+
const BLOCKED_PATTERNS = [
|
|
25
|
+
/\brm\b/, /\bmv\b/, /\bcp\b/, /\bmkdir\b/, /\btouch\b/, /\bchmod\b/, /\bchown\b/,
|
|
26
|
+
/\bgit\s+(push|commit|merge|rebase|reset|checkout|clean|stash)\b/,
|
|
27
|
+
/\bnpm\s+(install|uninstall|publish|run|exec)\b/,
|
|
28
|
+
/\bcurl\b/, /\bwget\b/, /\bsudo\b/, /\bmkfs\b/, /\bdd\s+if=/, /\bshutdown\b/, /\breboot\b/,
|
|
29
|
+
];
|
|
30
|
+
const INJECTION_PATTERNS = [/>/, /\$\(/, /`/, /\|.*(tee|dd|rm|mv)\b/];
|
|
31
|
+
const PROTECTED_TARGET_PATTERNS = [
|
|
32
|
+
/\.git\b/i,
|
|
33
|
+
/\.codex\b/i,
|
|
34
|
+
/\.agents\b/i,
|
|
35
|
+
/\.pulseed\b/i,
|
|
36
|
+
/\bagents\.md\b/i,
|
|
37
|
+
/\.env(\.[a-z0-9_-]+)?\b/i,
|
|
38
|
+
/\bnode_modules\b/i,
|
|
39
|
+
/\bpackage\.json\b/i,
|
|
40
|
+
/\btsconfig(\.[^/\s]+)?\.json\b/i,
|
|
41
|
+
];
|
|
42
|
+
export function assessShellCommand(command, policy, trusted = false) {
|
|
43
|
+
const trimmed = command.trim();
|
|
44
|
+
const segments = trimmed.split(/\s*(?:&&|\|\||;)\s*/).map((segment) => segment.trim()).filter(Boolean);
|
|
45
|
+
const capabilities = {
|
|
46
|
+
readOnly: true,
|
|
47
|
+
localWrite: false,
|
|
48
|
+
network: false,
|
|
49
|
+
destructive: false,
|
|
50
|
+
protectedTarget: false,
|
|
51
|
+
};
|
|
52
|
+
for (const segment of segments) {
|
|
53
|
+
if (INJECTION_PATTERNS.some((pattern) => pattern.test(segment))) {
|
|
54
|
+
return {
|
|
55
|
+
status: "denied",
|
|
56
|
+
reason: `Denied command segment (injection risk): ${segment}`,
|
|
57
|
+
capabilities,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
const isSafe = SAFE_PATTERNS.some((pattern) => pattern.test(segment));
|
|
61
|
+
const writes = LOCAL_WRITE_PATTERNS.some((pattern) => pattern.test(segment));
|
|
62
|
+
const network = NETWORK_PATTERNS.some((pattern) => pattern.test(segment));
|
|
63
|
+
const destructive = DESTRUCTIVE_PATTERNS.some((pattern) => pattern.test(segment));
|
|
64
|
+
const protectedTarget = PROTECTED_TARGET_PATTERNS.some((pattern) => pattern.test(segment));
|
|
65
|
+
if (!isSafe)
|
|
66
|
+
capabilities.readOnly = false;
|
|
67
|
+
if (writes)
|
|
68
|
+
capabilities.localWrite = true;
|
|
69
|
+
if (network)
|
|
70
|
+
capabilities.network = true;
|
|
71
|
+
if (destructive)
|
|
72
|
+
capabilities.destructive = true;
|
|
73
|
+
if (protectedTarget)
|
|
74
|
+
capabilities.protectedTarget = true;
|
|
75
|
+
}
|
|
76
|
+
if (trusted && !capabilities.protectedTarget) {
|
|
77
|
+
return { status: "allowed", capabilities };
|
|
78
|
+
}
|
|
79
|
+
if (segments.some((segment) => INJECTION_PATTERNS.some((pattern) => pattern.test(segment)))) {
|
|
80
|
+
return {
|
|
81
|
+
status: "denied",
|
|
82
|
+
reason: `Denied command segment (injection risk): ${segments.find((segment) => INJECTION_PATTERNS.some((pattern) => pattern.test(segment)))}`,
|
|
83
|
+
capabilities,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
if (segments.some((segment) => BLOCKED_PATTERNS.some((pattern) => pattern.test(segment)))) {
|
|
87
|
+
return { status: "denied", reason: `Denied command segment: ${segments.find((segment) => BLOCKED_PATTERNS.some((pattern) => pattern.test(segment)))}`, capabilities };
|
|
88
|
+
}
|
|
89
|
+
if (capabilities.destructive) {
|
|
90
|
+
return { status: "denied", reason: "Denied command segment: destructive shell command", capabilities };
|
|
91
|
+
}
|
|
92
|
+
if (capabilities.protectedTarget && capabilities.localWrite) {
|
|
93
|
+
return { status: "denied", reason: "Shell command targets a protected path", capabilities };
|
|
94
|
+
}
|
|
95
|
+
if (capabilities.network && policy && !policy.networkAccess) {
|
|
96
|
+
return { status: "denied", reason: "Network access is disabled for this session", capabilities };
|
|
97
|
+
}
|
|
98
|
+
if (!capabilities.localWrite && !capabilities.network && capabilities.readOnly) {
|
|
99
|
+
return { status: "allowed", capabilities };
|
|
100
|
+
}
|
|
101
|
+
if (policy?.sandboxMode === "read_only") {
|
|
102
|
+
return { status: "denied", reason: "Read-only sandbox blocks mutating shell commands", capabilities };
|
|
103
|
+
}
|
|
104
|
+
if (!policy) {
|
|
105
|
+
return {
|
|
106
|
+
status: capabilities.localWrite || capabilities.network || !capabilities.readOnly ? "needs_approval" : "allowed",
|
|
107
|
+
reason: capabilities.localWrite || capabilities.network || !capabilities.readOnly ? "Unknown command segment requires approval" : undefined,
|
|
108
|
+
capabilities,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
const needsApproval = policy.approvalPolicy !== "never";
|
|
112
|
+
if (capabilities.localWrite || capabilities.network) {
|
|
113
|
+
return {
|
|
114
|
+
status: needsApproval ? "needs_approval" : "allowed",
|
|
115
|
+
reason: needsApproval ? "Shell command requires approval under current execution policy" : undefined,
|
|
116
|
+
capabilities,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
return { status: "allowed", capabilities };
|
|
120
|
+
}
|
|
121
|
+
//# sourceMappingURL=command-policy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-policy.js","sourceRoot":"","sources":["../../../../src/tools/system/ShellTool/command-policy.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/types.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
+
import type { ExecutionPolicy, SubagentRole } from "../orchestrator/execution/agent-loop/execution-policy.js";
|
|
2
3
|
export declare const ToolResultSchema: z.ZodObject<{
|
|
3
4
|
/** Whether the tool invocation succeeded */
|
|
4
5
|
success: z.ZodBoolean;
|
|
@@ -85,6 +86,8 @@ export declare const ToolMetadataSchema: z.ZodObject<{
|
|
|
85
86
|
* Used by the context-filtered tier of the registry.
|
|
86
87
|
*/
|
|
87
88
|
tags: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
|
|
89
|
+
/** Whether this tool requires network access even if it is otherwise read-only. */
|
|
90
|
+
requiresNetwork: z.ZodOptional<z.ZodBoolean>;
|
|
88
91
|
}, "strip", z.ZodTypeAny, {
|
|
89
92
|
name: string;
|
|
90
93
|
tags: string[];
|
|
@@ -96,6 +99,7 @@ export declare const ToolMetadataSchema: z.ZodObject<{
|
|
|
96
99
|
alwaysLoad: boolean;
|
|
97
100
|
maxConcurrency: number;
|
|
98
101
|
maxOutputChars: number;
|
|
102
|
+
requiresNetwork?: boolean | undefined;
|
|
99
103
|
}, {
|
|
100
104
|
name: string;
|
|
101
105
|
permissionLevel: "read_only" | "read_metrics" | "write_local" | "execute" | "write_remote";
|
|
@@ -107,6 +111,7 @@ export declare const ToolMetadataSchema: z.ZodObject<{
|
|
|
107
111
|
alwaysLoad?: boolean | undefined;
|
|
108
112
|
maxConcurrency?: number | undefined;
|
|
109
113
|
maxOutputChars?: number | undefined;
|
|
114
|
+
requiresNetwork?: boolean | undefined;
|
|
110
115
|
}>;
|
|
111
116
|
export type ToolMetadata = z.infer<typeof ToolMetadataSchema>;
|
|
112
117
|
/**
|
|
@@ -171,6 +176,10 @@ export interface ToolCallContext {
|
|
|
171
176
|
}) => Promise<void> | void;
|
|
172
177
|
/** When true, bypass DENY_PATTERNS in ShellTool (internal use only) */
|
|
173
178
|
trusted?: boolean;
|
|
179
|
+
/** Shared execution policy for chat/agent-loop sessions. */
|
|
180
|
+
executionPolicy?: ExecutionPolicy;
|
|
181
|
+
/** Optional subagent role for delegated runs. */
|
|
182
|
+
agentRole?: SubagentRole;
|
|
174
183
|
/** Abort signal for cancellation */
|
|
175
184
|
abortSignal?: AbortSignal;
|
|
176
185
|
/** Timeout in milliseconds (per-tool-call) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/types.js
CHANGED
|
@@ -62,6 +62,8 @@ export const ToolMetadataSchema = z.object({
|
|
|
62
62
|
* Used by the context-filtered tier of the registry.
|
|
63
63
|
*/
|
|
64
64
|
tags: z.array(z.string()).default([]),
|
|
65
|
+
/** Whether this tool requires network access even if it is otherwise read-only. */
|
|
66
|
+
requiresNetwork: z.boolean().optional(),
|
|
65
67
|
});
|
|
66
68
|
export const PermissionCheckResultSchema = z.discriminatedUnion("status", [
|
|
67
69
|
z.object({ status: z.literal("allowed") }),
|
package/dist/tools/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/tools/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pulseed",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.16",
|
|
4
4
|
"description": "AI agent orchestrator that gives existing agents the drive to persist — set a goal, and PulSeed observes, delegates, verifies, and loops until done.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
},
|
|
42
42
|
"files": [
|
|
43
43
|
"dist",
|
|
44
|
+
"assets/seedy.png",
|
|
44
45
|
"README.md",
|
|
45
46
|
"LICENSE"
|
|
46
47
|
],
|
|
@@ -71,16 +72,16 @@
|
|
|
71
72
|
"node": ">=20"
|
|
72
73
|
},
|
|
73
74
|
"dependencies": {
|
|
74
|
-
"@anthropic-ai/sdk": "^0.
|
|
75
|
+
"@anthropic-ai/sdk": "^0.89.0",
|
|
75
76
|
"@clack/prompts": "^1.2.0",
|
|
76
77
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
77
|
-
"better-sqlite3": "^12.
|
|
78
|
+
"better-sqlite3": "^12.9.0",
|
|
78
79
|
"cron-parser": "^5.5.0",
|
|
79
80
|
"glob": "^13.0.0",
|
|
80
81
|
"ink": "^6.8.0",
|
|
81
82
|
"ink-text-input": "^6.0.0",
|
|
82
83
|
"js-yaml": "^4.1.1",
|
|
83
|
-
"nodemailer": "^8.0.
|
|
84
|
+
"nodemailer": "^8.0.5",
|
|
84
85
|
"openai": "^6.27.0",
|
|
85
86
|
"react": "^19.2.4",
|
|
86
87
|
"zod": "^3.22.0",
|