@qqbrowser/qbot-dsh 0.0.11 → 0.0.12
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/lib/bin.js +1 -1
- package/lib/{dump-config-BD79jvHi.js → dump-config-xQTUTTDD.js} +1 -1
- package/lib/{plugin-B3Ecl7VN.js → plugin-DNAeLZbb.js} +1 -1
- package/lib/profile-boot-BkordgJK.js +1 -0
- package/node_modules/@deepseek-ai/cordis-plugin-group/package.json +1 -1
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-agent/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-agent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-instructions/lib/index.js +3 -3
- package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-api-remotes/lib/client.js +2 -2
- package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +12 -12
- package/node_modules/@deepseek-ai/dsh-app-boot/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-atomic-write/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment-local/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +2 -2
- package/node_modules/@deepseek-ai/dsh-base/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-local/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-bash-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-brand/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-connection/lib/client.js +6 -6
- package/node_modules/@deepseek-ai/dsh-client-connection/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-client-connection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-hmr/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-locale/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-locale/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-modules/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-runtime/lib/client.js +2 -2
- package/node_modules/@deepseek-ai/dsh-client-runtime/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-schema-form/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +6 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js +11 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +13 -13
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-web-react/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-web-react/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cmdline/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-code-runtime/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/lib/worker.cjs +4 -2
- package/node_modules/@deepseek-ai/dsh-code-runtime-worker-thread/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-compact/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-commands/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-basic/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-content-review/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/lib/client.js +7 -7
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-credentials/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-local/lib/index.js +4 -4
- package/node_modules/@deepseek-ai/dsh-fs-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-observation-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-headless/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-home-paths/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-home-paths/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-home-quarantine-macos/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/lib/index.js +4 -4
- package/node_modules/@deepseek-ai/dsh-host-apiproxy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-auto/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/lib/worker.cjs +9 -7
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-frontend-static/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-host-webserver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-invariants/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-launch-environment/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/lib/invariant.js +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-gateway-openai/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-mcp-client/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-native-command/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-output-retention/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-output-retention/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-permission-presets/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-persona/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-local/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-qb-auth/lib/index.js +3 -3
- package/node_modules/@deepseek-ai/dsh-qb-auth/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/runner.js +1 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/types-D2_FQYSK.js +1 -0
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-schedule/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-schedule/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-scope/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session/lib/invariant.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-log-export/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-projection/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-query/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-reference/lib/index.js +4 -4
- package/node_modules/@deepseek-ai/dsh-session-reference/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-stats/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-session-title/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-session-title-llm/lib/index.js +3 -3
- package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-settings/lib/invariant.js +1 -1
- package/node_modules/@deepseek-ai/dsh-settings/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-settings-file/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-shell/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-shell-env/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-filesystem/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill-local/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-spill-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-spill-policy/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-storage/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-storage-domain/lib/invariant.js +1 -1
- package/node_modules/@deepseek-ai/dsh-storage-domain/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-storage-json/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subagent-spawn-in-process/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subprocess/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-terminal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-terminal-bash/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-time-context/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-time-context/lib/invariant.js +1 -1
- package/node_modules/@deepseek-ai/dsh-time-context/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-timeout/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-token-meter/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-token-meter/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash-persistent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs-search/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ralph/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/lib/index.js +6 -6
- package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent-control/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-subagent-report/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-workflow/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tools/lib/index.js +26 -26
- package/node_modules/@deepseek-ai/dsh-tools/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-loader/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-protocol/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-registry/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-user-approval/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-user-questions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-web/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-app/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/{index-Dqw48FrP.js → index-BQQQ5Qt-.js} +2 -2
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/langs/cpp-DddhVWhK.js +1 -0
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/langs/{php-D-uCvoST.js → php-9bx0az3O.js} +1 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/langs/{ruby-DEItuUFs.js → ruby-HDLHRjSL.js} +1 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/langs/swift-C2oV4EkX.js +1 -0
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/{vendor-Cjbwl5VI.js → vendor-CeMKrCZm.js} +24 -24
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/index.html +2 -2
- package/node_modules/@deepseek-ai/dsh-web-frontend/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/LICENSE +21 -0
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/lib/invariant.js +1 -0
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +1 -0
- package/node_modules/@deepseek-ai/dsh-web-search-dsh/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-web-search-dsh/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workflow/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/lib/index.js +2 -2
- package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/lib/worker.cjs +3 -4
- package/node_modules/@deepseek-ai/dsh-workflow-worker-thread/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-workspace/lib/invariant.js +1 -1
- package/node_modules/@deepseek-ai/dsh-workspace/package.json +1 -1
- package/package.json +1 -1
- package/lib/profile-boot-_PCyp_wB.js +0 -1
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/lib/types-BjBvdldw.js +0 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/langs/cpp-DIPi6g--.js +0 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/langs/swift-D82vCrfD.js +0 -1
- /package/lib/{profile-boot-B71dQloK.js → profile-boot-DDo03lXi.js} +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var I=Object.defineProperty;var s=(e,t)=>I(e,"name",{value:t,configurable:!0});import c from"@deepseek-ai/schemastery";import{defineTool as h}from"@deepseek-ai/dsh-tools";import{FsError as p}from"@deepseek-ai/dsh-fs";import{ESCALATION_TARGETS as S,approveEscalation as j,canonicalPath as A,escalationHintMarker as B,sandboxDenialMarker as R,validateEscalationArgs as F}from"@deepseek-ai/dsh-sandbox";import{structuredPatch as N}from"diff";import{basename as q,extname as w}from"node:path";import{AttachmentError as O,AttachmentId as k}from"@deepseek-ai/dsh-attachment";import{createUserMessage as C}from"@deepseek-ai/dsh-llm";const D=2e3,U=
|
|
1
|
+
var I=Object.defineProperty;var s=(e,t)=>I(e,"name",{value:t,configurable:!0});import c from"@deepseek-ai/schemastery";import{defineTool as h}from"@deepseek-ai/dsh-tools";import{FsError as p}from"@deepseek-ai/dsh-fs";import{ESCALATION_TARGETS as S,approveEscalation as j,canonicalPath as A,escalationHintMarker as B,sandboxDenialMarker as R,validateEscalationArgs as F}from"@deepseek-ai/dsh-sandbox";import{structuredPatch as N}from"diff";import{basename as q,extname as w}from"node:path";import{AttachmentError as O,AttachmentId as k}from"@deepseek-ai/dsh-attachment";import{createUserMessage as C}from"@deepseek-ai/dsh-llm";const D=2e3,U=51200;function G(){return{lines:[],totalLines:0,outputBytes:0,truncatedByBytes:!1}}s(G,"newAccumulator");function W(e,t){return e.length>t?`${e.substring(0,t)}... (line truncated to ${t} chars)`:e}s(W,"truncateLine");function z(e,t){return Buffer.byteLength(e,"utf8")+(t>0?1:0)}s(z,"lineByteSize");function H(e,t,i){if(e.totalLines+=1,e.truncatedByBytes||e.totalLines<i.offset||e.lines.length>=i.limit)return;const n=W(t,i.maxLineLength),r=z(n,e.lines.length);if(e.outputBytes+r>i.maxBytes){e.truncatedByBytes=!0;return}e.outputBytes+=r,e.lines.push({number:e.totalLines,text:n})}s(H,"consumeLine");function X(e){return e.endsWith("\r")?e.slice(0,-1):e}s(X,"stripCarriageReturn");function J(e,t,i){if(!e.truncatedByBytes&&t.offset>e.totalLines&&!(e.totalLines===0&&t.offset===1))throw new p(`offset ${t.offset} is out of range for "${i}" (${e.totalLines} lines)`,"FS_NOT_FOUND");return{lines:e.lines,totalLines:e.totalLines,truncatedByBytes:e.truncatedByBytes}}s(J,"finish");async function V(e,t,i){const n=G(),r=t.maxLineLength+1;let o="";function a(f){o.length>=r||(o+=f,o.length>r&&(o=o.slice(0,r)))}s(a,"appendToLineBuffer");function l(){H(n,X(o),t),o=""}s(l,"flushLine");for await(const f of e){let d=0,u;for(;(u=f.indexOf(`
|
|
2
2
|
`,d))!==-1;)a(f.slice(d,u)),l(),d=u+1;a(f.slice(d))}return o.length>0&&l(),J(n,t,i)}s(V,"buildWindow");function Y(e,t){const i=t.lines.at(-1)?.number??Math.max(0,t.offset-1);let n;return t.truncatedByBytes?n=`(Output capped. Showing lines ${t.offset}-${i}. Use offset=${i+1} to continue.)`:i<t.totalLines?n=`(Showing lines ${t.offset}-${i} of ${t.totalLines}. Use offset=${i+1} to continue.)`:n=`(End of file - total ${t.totalLines} lines)`,`<path>${e}</path>
|
|
3
3
|
<type>file</type>
|
|
4
4
|
<content>
|
|
@@ -6,7 +6,7 @@ ${t.lines.length>0?`${t.lines.map(r=>`${r.number}: ${r.text}`).join(`
|
|
|
6
6
|
`)}
|
|
7
7
|
|
|
8
8
|
${n}`:n}
|
|
9
|
-
</content>`}s(Y,"formatReadOutput");const b={ts:"ts",tsx:"tsx",mts:"ts",cts:"ts",js:"js",jsx:"jsx",mjs:"js",cjs:"js",json:"json",jsonc:"json",py:"py",rb:"rb",go:"go",rs:"rs",java:"java",c:"c",h:"c",cc:"cpp",cpp:"cpp",hpp:"cpp",cxx:"cpp",cs:"cs",kt:"kotlin",swift:"swift",php:"php",sh:"sh",bash:"sh",zsh:"sh",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",md:"md",markdown:"md",mdx:"mdx",html:"html",htm:"html",css:"css",scss:"scss",less:"less",sql:"sql",xml:"xml",lua:"lua"};function Z(e){const t=e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1),i=t.lastIndexOf(".");if(i<=0)return;const n=t.slice(i+1).toLowerCase();return Object.hasOwn(b,n)?b[n]:void 0}s(Z,"langFromPath");function K(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;const{number:t,text:i}=e;return typeof t=="number"&&Number.isInteger(t)&&t>=1&&typeof i=="string"}s(K,"isFileTextLine");function Q(e){if(typeof e!="object"||e===null||Array.isArray(e))return;const{path:t,offset:i,lines:n,totalLines:r,lang:o}=e;if(typeof t!="string"||typeof r!="number"||typeof i!="number"||!Number.isInteger(i)||i<1||!Number.isInteger(r)||r<0||!Array.isArray(n)||!n.every(K)||o!==void 0&&typeof o!="string")return;let a=i-1;for(const{number:l}of n){if(l<=a||l>r)return;a=l}return{path:t,offset:i,lines:n,totalLines:r,...o===void 0?{}:{lang:o}}}s(Q,"readMetaFromMeta");const _=/(?:^|[\\/])\.\.(?:[\\/]|$)/;function ee(e,t){const i=e.agent?.session.header.cwd;return i===void 0||!_.test(i)&&!_.test(t)?i:A(i)}s(ee,"sessionCwd");function g(e,t,i){const n=i??ee(e,t);return{...n!==void 0?{cwd:n}:{},signal:e.signal}}s(g,"sessionResolveOptions");async function v(e,t,i){const n=await e.fs.resolve(i,g(t,i)),r=await e.fs.stat(n,t.signal);if(r===void 0)throw e.emit("fs/observed",n,{kind:"absent"},t),new p(`cannot read "${n.displayPath}": not found`,"FS_NOT_FOUND");if(r.type!=="file")throw new p(`cannot read "${n.displayPath}": not a regular file`,"FS_NOT_REGULAR_FILE");return{target:n,info:r}}s(v,"resolveRegularReadTarget");const te=2e3,ie=
|
|
9
|
+
</content>`}s(Y,"formatReadOutput");const b={ts:"ts",tsx:"tsx",mts:"ts",cts:"ts",js:"js",jsx:"jsx",mjs:"js",cjs:"js",json:"json",jsonc:"json",py:"py",rb:"rb",go:"go",rs:"rs",java:"java",c:"c",h:"c",cc:"cpp",cpp:"cpp",hpp:"cpp",cxx:"cpp",cs:"cs",kt:"kotlin",swift:"swift",php:"php",sh:"sh",bash:"sh",zsh:"sh",yaml:"yaml",yml:"yaml",toml:"toml",ini:"ini",md:"md",markdown:"md",mdx:"mdx",html:"html",htm:"html",css:"css",scss:"scss",less:"less",sql:"sql",xml:"xml",lua:"lua"};function Z(e){const t=e.slice(Math.max(e.lastIndexOf("/"),e.lastIndexOf("\\"))+1),i=t.lastIndexOf(".");if(i<=0)return;const n=t.slice(i+1).toLowerCase();return Object.hasOwn(b,n)?b[n]:void 0}s(Z,"langFromPath");function K(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;const{number:t,text:i}=e;return typeof t=="number"&&Number.isInteger(t)&&t>=1&&typeof i=="string"}s(K,"isFileTextLine");function Q(e){if(typeof e!="object"||e===null||Array.isArray(e))return;const{path:t,offset:i,lines:n,totalLines:r,lang:o}=e;if(typeof t!="string"||typeof r!="number"||typeof i!="number"||!Number.isInteger(i)||i<1||!Number.isInteger(r)||r<0||!Array.isArray(n)||!n.every(K)||o!==void 0&&typeof o!="string")return;let a=i-1;for(const{number:l}of n){if(l<=a||l>r)return;a=l}return{path:t,offset:i,lines:n,totalLines:r,...o===void 0?{}:{lang:o}}}s(Q,"readMetaFromMeta");const _=/(?:^|[\\/])\.\.(?:[\\/]|$)/;function ee(e,t){const i=e.agent?.session.header.cwd;return i===void 0||!_.test(i)&&!_.test(t)?i:A(i)}s(ee,"sessionCwd");function g(e,t,i){const n=i??ee(e,t);return{...n!==void 0?{cwd:n}:{},signal:e.signal}}s(g,"sessionResolveOptions");async function v(e,t,i){const n=await e.fs.resolve(i,g(t,i)),r=await e.fs.stat(n,t.signal);if(r===void 0)throw e.emit("fs/observed",n,{kind:"absent"},t),new p(`cannot read "${n.displayPath}": not found`,"FS_NOT_FOUND");if(r.type!=="file")throw new p(`cannot read "${n.displayPath}": not a regular file`,"FS_NOT_REGULAR_FILE");return{target:n,info:r}}s(v,"resolveRegularReadTarget");const te=2e3,ie=10485760;function E(e,t){if(!Number.isFinite(e)||!Number.isInteger(e)||e<1)throw new Error(`${t} must be a positive integer`);return e}s(E,"parsePositiveInteger");function L(e,t){if(e.file_path.trim().length===0)throw new Error("file_path must be a non-empty string");const i=e.offset===void 0?1:E(e.offset,"offset"),n=e.limit===void 0?t:E(e.limit,"limit");if(n>t)throw new Error(`limit must be less than or equal to ${t}`);return{filePath:e.file_path,offset:i,limit:n}}s(L,"parseReadArgs");function ne(e,t){e.systemPrompt.section({name:"tool:read",order:100,text:"Use the read tool — not shell commands like cat — to inspect text files. Results include line numbers. Use offset and limit to continue reading large files."}),e.tools.register(h({name:"read",description:"Read a UTF-8 text file and return line-numbered content.",parameters:{file_path:{type:"string",required:!0,description:"Path to read, resolved by the filesystem backend."},offset:{type:"number",description:"1-based first line to return. Defaults to 1."},limit:{type:"number",description:`Maximum number of lines to return. Defaults to ${t.limit}.`}},output:{schema:{type:"object",additionalProperties:!1,properties:{path:{type:"string",required:!0},offset:{type:"integer",required:!0},lines:{type:"array",required:!0,items:{type:"object",additionalProperties:!1,properties:{number:{type:"integer",required:!0},text:{type:"string",required:!0}}}},totalLines:{type:"integer",required:!0}}},render:s((i,n)=>{const r=L(i,t.limit),o=n.lines.at(-1)?.number??Math.max(0,n.offset-1),a=n.lines.length<r.limit&&o<n.totalLines;return[{type:"text",text:Y(n.path,{offset:n.offset,lines:n.lines,totalLines:n.totalLines,...a?{truncatedByBytes:!0}:{}})}]},"render"),presentationMeta:s((i,n)=>{const r=Z(n.path);return{path:n.path,offset:n.offset,lines:n.lines.map(({number:o,text:a})=>({number:o,text:a})),totalLines:n.totalLines,...r===void 0?{}:{lang:r}}},"presentationMeta")},isConcurrencySafe:s(()=>!0,"isConcurrencySafe"),async execute(i,n){const r=L(i,t.limit),{target:o,info:a}=await v(e,n,r.filePath),l=await V(a.size===void 0||a.size>=t.streamMinSize?await e.fs.streamText(o,n.signal):[await e.fs.readText(o,n.signal)],{offset:r.offset,limit:r.limit,maxLineLength:t.maxLineLength,maxBytes:t.maxBytes},o.displayPath),f={path:o.displayPath,offset:r.offset,lines:l.lines,totalLines:l.totalLines};return e.emit("fs/observed",o,{kind:"present",version:a.version},n),f},presentResult(i,n){if(n.isError)return;const r=Q(n.meta);if(r===void 0)return;const o=n.content.length===1?n.content[0]:void 0,a=o?.type==="text"?o.text:void 0;if(a===void 0)return;const l=/^<path>[^\n]*<\/path>\n<type>file<\/type>\n<content>\n([\s\S]*)\n<\/content>$/u.exec(a)?.[1];if(l!==void 0)return{card:"read",path:r.path,offset:r.offset,lines:r.lines,totalLines:r.totalLines,...r.lang===void 0?{}:{lang:r.lang},content:[{type:"text",text:l}]}},presentCall(i){const{offset:n,limit:r}=i,o=r!==void 0&&r>0?` (${n??1} - ${(n??1)+r-1})`:n!==void 0?` (from line ${n})`:"";return{card:"generic",title:`Read ${i.file_path}${o}`,kind:"read",locations:[{path:i.file_path,line:n??1}]}}}))}s(ne,"applyReadTool");function x(e,t,i){const n=N("","",t,i,void 0,void 0,{context:3}),r=[];for(const o of n.hunks){const a=[],l=[];for(const f of o.lines){if(f.startsWith("\\"))continue;const d=f.slice(1);f.startsWith("-")?a.push(d):(f.startsWith("+")||a.push(d),l.push(d))}r.push({path:e,oldText:a.length>0?a.join(`
|
|
10
10
|
`):null,newText:l.join(`
|
|
11
11
|
`)})}return r}s(x,"computeHunkDiffs");function re(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;const{path:t,oldText:i,newText:n}=e;return typeof t=="string"&&(i===null||typeof i=="string")&&typeof n=="string"}s(re,"isFileDiff");function $(e){if(typeof e!="object"||e===null||Array.isArray(e))return;const t=e.diffs;if(!(!Array.isArray(t)||t.length===0||!t.every(re)))return t}s($,"diffsFromMeta");const oe={FS_STALE_VERSION:"re-read the file, then retry",FS_NOT_OBSERVED:"read the file, then retry"};function T(e){if(!(e instanceof p))return e;const t=oe[e.code];return t?new p(`${e.message} — ${t}`,e.code,{cause:e}):e}s(T,"remediateFsError");function se(e){if(e.file_path.trim().length===0)throw new Error("file_path must be a non-empty string");return{filePath:e.file_path,content:e.content}}s(se,"parseWriteArgs");function ae(e,t){return`<path>${e}</path>
|
|
12
12
|
<type>file</type>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-fs","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-fs","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"diff":"^9.0.0","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-attachment":"^0.0.12","@deepseek-ai/dsh-fs":"^0.0.12","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-sandbox":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-session":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-sandbox-policy":"^0.0.12","@deepseek-ai/dsh-user-approval":"^0.0.12","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var ie=Object.defineProperty;var s=(e,t)=>ie(e,"name",{value:t,configurable:!0});import f from"@deepseek-ai/schemastery";import{MAX_TIMER_DELAY_MS as S}from"@deepseek-ai/dsh-timeout";import{isAbsolute as le,relative as ce,sep as b}from"node:path";import{defineTool as B}from"@deepseek-ai/dsh-tools";import{HarnessError as ue}from"@deepseek-ai/dsh-llm";import{ItemRetainer as de,TextRetainer as he}from"@deepseek-ai/dsh-output-retention";const O=2e7,T=3e4,G=
|
|
1
|
+
var ie=Object.defineProperty;var s=(e,t)=>ie(e,"name",{value:t,configurable:!0});import f from"@deepseek-ai/schemastery";import{MAX_TIMER_DELAY_MS as S}from"@deepseek-ai/dsh-timeout";import{isAbsolute as le,relative as ce,sep as b}from"node:path";import{defineTool as B}from"@deepseek-ai/dsh-tools";import{HarnessError as ue}from"@deepseek-ai/dsh-llm";import{ItemRetainer as de,TextRetainer as he}from"@deepseek-ai/dsh-output-retention";const O=2e7,T=3e4,G=65536,L=3e3,k=65536;var p=class extends ue{static{s(this,"SearchError")}code;constructor(e,t,r){super(e,t,r),this.code=t}};function pe(e,t){const r=e.trim();return r.length===0?"":t?`${r} [stderr truncated]`:r}s(pe,"stderrExcerpt");function fe(e,t,r,n){const o=pe(r,n);return/regex parse error|error parsing glob/i.test(o)?new p(`${e} pattern rejected by ripgrep: ${o}`,"SEARCH_INVALID_PATTERN"):new p(`${e} search failed (exit ${t})${o.length>0?`: ${o}`:""}`,"SEARCH_FAILED")}s(fe,"classifyRunFailure");function me(e,t,r){const n="narrow pattern, path, or include and retry";if(!t.lossy){const o=Buffer.byteLength(t.text,"utf8");if(o>r)throw new p(`${e} produced ${o} bytes of raw output, over the ${r}-byte cap; ${n}`,"SEARCH_RAW_OUTPUT_OVERFLOW");return t.text}throw new p(`${e} produced more raw output than the subprocess seam retained within the ${r}-byte cap; ${n}`,"SEARCH_RAW_OUTPUT_OVERFLOW")}s(me,"completeStdout");let j;function F(){return j??=import("@vscode/ripgrep").then(e=>e.rgPath),j}s(F,"resolveRgPath");async function M(e,t,r,n,o,a,l){if(t.signal.aborted)throw new p(`${r} was aborted before completion (tool timeout or caller cancellation)`,"SEARCH_ABORTED");const c=t.agent?.session.header.cwd??process.cwd();let i;try{i=e.subprocess.spawn({argv:[await F(),"--no-config",...n],cwd:c,stdio:{stdin:"ignore",stdout:{maxBytes:o},stderr:{maxBytes:l}},graceMs:a,signal:t.signal})}catch(m){throw t.signal.aborted?new p(`${r} was aborted before completion (tool timeout or caller cancellation)`,"SEARCH_ABORTED"):new p(`${r} could not start its search command (ripgrep launch failed)`,"SEARCH_FAILED",{cause:m})}let u;try{u=await i.done}catch(m){throw new p(`${r} could not start its search command (ripgrep launch failed)`,"SEARCH_FAILED",{cause:m})}const d=i.collected.stdout?.readFrom(0),h=i.collected.stderr?.readFrom(0);if(d===void 0||h===void 0)throw new p(`${r} search command produced no collected output streams`,"SEARCH_FAILED");if(t.signal.aborted)throw new p(`${r} was aborted before completion (tool timeout or caller cancellation)`,"SEARCH_ABORTED");if(u.signal!==null||u.exitCode===null)throw new p(`${r} search command was killed by signal ${u.signal??"(unknown)"}`,"SEARCH_FAILED");if(u.exitCode!==0&&u.exitCode!==1)throw fe(r,u.exitCode,h.text,h.lossy);return{stdout:me(r,d,o),noMatches:u.exitCode===1,workdir:c}}s(M,"runRipgrep");function w(e,t){if(!le(e))return e;const r=ce(t,e);return r.length===0?".":r===".."||r.startsWith(`..${b}`)?e:r}s(w,"toWorkdirRelative");function v(e,t){const r=new he({kind:"head",maxBytes:t});r.push(e);const n=r.finish();return n.truncated?`${n.text} (line truncated)`:n.text}s(v,"previewLine");function x(e,t,r){const n=new de({kind:"head",maxItems:t});for(const o of e)n.push({...o,line:v(o.line,r)});return n.finish()}s(x,"retainGrepMatches");async function $(e,t,r,n){const o=t.agent?.session.header.id;if(o===void 0){e.logger.warn(`tool-fs-search: no session owner for ${t.name} result; complete result not saved`);return}const a=e.get("spillStore");if(!a){e.logger.warn(`tool-fs-search: no ctx.spillStore backend loaded; complete ${t.name} result not saved`);return}const l={owner:{sessionId:o},source:{toolName:t.name,callId:t.callId,label:"result"},suggestedName:r,content:n};try{return await a.saveText(l)}catch(c){e.logger.warn(`tool-fs-search: saveText failed for ${t.name}: ${String(c)}; complete result not saved`);return}}s($,"trySaveFormattedResult");function ge(e){const t=new Map;for(const r of e){const n={lineNumber:r.lineNumber,line:r.line},o=t.get(r.path);o!==void 0?o.push(n):t.set(r.path,[n])}return Array.from(t,([r,n])=>({path:r,matches:n}))}s(ge,"groupMatchesByFile");function R(e){return Buffer.byteLength(JSON.stringify(e),"utf8")}s(R,"metaBytes");function P(e,t){if(R(e)<=t)return e;if(e.shape==="matches"){const n=[...e.files];for(;n.length>1&&R({...e,files:n,truncated:!0})>t;)n.pop();return{...e,files:n,truncated:!0}}const r=[...e.paths];for(;r.length>1&&R({...e,paths:r,truncated:!0})>t;)r.pop();return{...e,paths:r,truncated:!0}}s(P,"capMetaBytes");function ye(e,t){return P({shape:"matches",files:ge(e.items),truncated:e.truncated,total:e.seen},t)}s(ye,"grepSearchMeta");function be(e,t){return P({shape:"paths",paths:e.items,truncated:e.truncated,total:e.seen},t)}s(be,"globSearchMeta");function we(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;const{lineNumber:t,line:r}=e;return typeof t=="number"&&typeof r=="string"}s(we,"isSearchLineMatch");function Me(e){if(typeof e!="object"||e===null||Array.isArray(e))return!1;const{path:t,matches:r}=e;return typeof t=="string"&&Array.isArray(r)&&r.every(we)}s(Me,"isSearchFileMatches");function I(e){if(typeof e!="object"||e===null||Array.isArray(e))return;const t=e,{truncated:r,total:n}=t;if(!(typeof r!="boolean"||typeof n!="number")){if(t.shape==="matches"){const{files:o}=t;return!Array.isArray(o)||!o.every(Me)?void 0:{card:"search",shape:"matches",files:o,truncated:r,total:n}}if(t.shape==="paths"){const{paths:o}=t;return!Array.isArray(o)||!o.every(a=>typeof a=="string")?void 0:{card:"search",shape:"paths",paths:o,truncated:r,total:n}}}}s(I,"searchViewFromMeta");function H(e,t,r,n,o){if(!(o.kind!=="accept"||o.content!==void 0||Object.hasOwn(o,"value")||r.parent!==void 0||r.name!==t.name||n.isError||e.tools.get(r.name,r.agent)!==t))return n.value}s(H,"acceptedDirectCallValue");const ve=100,D=[".git",".svn",".hg",".bzr",".jj",".sl"];function U(e){if(e.pattern.trim().length===0)throw new Error("pattern must be a non-empty string");if(e.path!==void 0&&e.path.trim().length===0)throw new Error("path must be a non-empty string when given");return{pattern:e.pattern,...e.path!==void 0?{path:e.path}:{}}}s(U,"parseGlobArgs");function N(e){const t=["--files",`--glob=${e.pattern}`,"--sort=modified","--no-ignore","--hidden",...D.flatMap(r=>[`--glob=!**/${r}`,`--glob=!**/${r}/**`])];return e.path!==void 0&&t.push("--",e.path),t}s(N,"buildGlobCommand");function xe(e,t){if(t===".")return e.startsWith(`.${b}`)?e.slice(2):e;let r=t.length;for(;r>0&&t[r-1]===b;)r-=1;const n=t.slice(0,r);return n.length===0?W(e):e===n?"":e.startsWith(`${n}${b}`)?e.slice(n.length+1):e}s(xe,"relativeToSearchRoot");function W(e){let t=0;for(;e[t]===b;)t+=1;return e.slice(t)}s(W,"stripLeadingSeparators");function $e(e){const t=W(e),r=t.indexOf(b);return r===-1?t:t.slice(0,r)}s($e,"topLevelSegment");function A(e,t,r="."){const n=new Map;let o=[];for(const c of e){const i=$e(xe(c,r)),u=n.get(i);if(u===void 0){const d=[c];n.set(i,d),o.push({key:i,items:d,index:0,current:c})}else u.push(c)}const a=new Map;let l=0;for(;o.length>0&&l<t;){const c=[];for(const{key:i,items:u,index:d,current:h}of o){if(l>=t)break;l+=1;const m=a.get(i);m===void 0?a.set(i,[h]):m.push(h);const _=d+1,C=u[_];C!==void 0&&c.push({key:i,items:u,index:_,current:C})}o=c}return{items:[...a.values()].flat(),shown:a.size,total:n.size}}s(A,"sampleAcrossTopLevel");function q(e,t,r){const n=e.total===t?".":`, sampled across ${e.shown} of the ${e.total} top-level entries this pattern matched instead of taken in modification-time order.`+(e.shown<e.total?" Narrow path to inspect a specific subtree.":"");return X(e.items,t,r,n)}s(q,"formatGlobOutput");function X(e,t,r,n){const o=e.join(`
|
|
2
2
|
`),a=r!==void 0?`Full sorted result stored at: ${r.locator}. ${r.retrievalHint}`:"The complete result could not be saved; narrow pattern or path to see more.";return`${o}
|
|
3
3
|
|
|
4
4
|
(Showing ${e.length} of ${t} paths${n} ${a})`}s(X,"formatGlobPage");function V(e,t,r,n){return e.length===0?"No files found":e.length<=t.maxResults?e.join(`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-fs-search","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-fs-search","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@vscode/ripgrep":"^1.18.0","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-session":"^0.0.12","@deepseek-ai/dsh-output-retention":"^0.0.12","@deepseek-ai/dsh-spill":"^0.0.12","@deepseek-ai/dsh-timeout":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-subprocess":"^0.0.12"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-goal","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-goal","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-session":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-goal":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-system-prompt":"^0.0.12"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-jobs","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-jobs","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-output-retention":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-jobs":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-pwsh","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-pwsh","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-shell":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-sandbox":"^0.0.12","@deepseek-ai/dsh-sandbox-policy":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-shell-env":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-jobs":"^0.0.12","@deepseek-ai/dsh-user-approval":"^0.0.12"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -92,7 +92,7 @@ ${JSON.stringify(r.report,null,2)}`;break;case"blocked":o=`Ralph worker reported
|
|
|
92
92
|
Final report:
|
|
93
93
|
${JSON.stringify(r.report,null,2)}`;break;case"budget-limited":o=`Ralph reached its ${e} limit; the worker reported work remaining.
|
|
94
94
|
Final report:
|
|
95
|
-
${JSON.stringify(r.report,null,2)}
|
|
95
|
+
${JSON.stringify(r.report,null,2)}`}return y(o,t)}n(z,"renderResult");const C={runId:{type:"string",required:!0},agentsStarted:{type:"integer",required:!0},result:{type:"json",required:!0}};function _(r,t){const e=`Ralph round ${r.roundsStarted} child failed before producing a structured report.`;return y(r.lastReport===void 0?`${e}
|
|
96
96
|
No previous handoff was available.`:`${e}
|
|
97
97
|
Last successful handoff:
|
|
98
98
|
${JSON.stringify(r.lastReport,null,2)}`,t)}n(_,"renderRoundFailure");function F(r){return{card:"generic",title:"ralph",rawInput:r.objective}}n(F,"presentCall");function L(r,t){return{card:"generic"}}n(L,"presentResult");function H(r,t){const e=N(t);r.systemPrompt.section({name:"tool:ralph",order:116,text:"Use the ralph tool ONLY when the direct human explicitly asks for a Ralph loop or fresh-agent iterative execution. Each Ralph round starts a fresh child with no conversation seed and uses the shared workspace as durable memory. Completion and blockers are worker reports, not independent evaluation. Use same-session goal tools for ordinary long-running objectives, and plain subagents or workflows for bounded delegation and fan-out."}),r.tools.register(v({name:"ralph",description:$,parameters:{objective:{type:"string",required:!0,description:"The immutable completion objective for every fresh Ralph round."},maxRounds:{type:"number",description:"Optional positive safe-integer round cap, bounded by the deployment ceiling."}},output:{schema:{type:"object",additionalProperties:!1,properties:C},render:n((o,a)=>[{type:"text",text:z(a.result,e.maxResultChars)}],"render")},async execute(o,a){const h=a.agent;if(h===void 0)throw new Error("Ralph tool requires a calling agent (exec.agent was undefined)");const f=o.objective.trim();if(f.length===0)throw new Error("Ralph objective must be a non-empty string");const l=P(o.maxRounds,e.maxRounds);A(r,e.subagentProvider);const s=r.workflowEngine.start({script:T,meta:j,args:{objective:f,maxRounds:l,maxHandoffChars:e.maxHandoffChars},subagentProvider:e.subagentProvider,maxTotalAgents:l,parent:h,signal:a.signal}),m=n(()=>{s.cancel("parent step aborted")},"onAbort");a.signal.addEventListener("abort",m,{once:!0}),a.signal.aborted&&s.cancel("parent step aborted");try{const u=await s.result,w=I(u);if(w!==void 0)throw new Error(w);const p=O(u.value,l,e.maxHandoffChars);if(p.status==="round-failed")throw new Error(_(p,e.maxResultChars));return{runId:s.id,agentsStarted:u.agentsStarted,result:p}}finally{a.signal.removeEventListener("abort",m),await s.dispose()}},presentCall:F,presentResult:L}))}n(H,"apply");export{x as Config,H as apply,S as inject,E as name};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-ralph","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-ralph","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-workflow":"^0.0.12","@deepseek-ai/dsh-subagent":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-skill","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-skill","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-skill":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
var I=Object.defineProperty;var d=(e,t)=>I(e,"name",{value:t,configurable:!0});import{isAbsolute as P}from"node:path";import
|
|
2
|
-
`&&(r+=1),i+=1;return r})}d(A,"lineNumbersAt");var D=class{static{d(this,"MutationPolicy")}policy;constructor(e){if(this.policy=e.fs.sandboxMode===void 0?void 0:e.get("sandboxPolicy"),e.fs.sandboxMode!==void 0&&this.policy===void 0)throw new Error("tool-str-replace-editor: the mounted filesystem confines but ctx.sandboxPolicy is missing")}resolve(e){return this.policy?.resolve({...e.agent===void 0?{}:{session:e.agent.session}})}mapError(e,t){if(!(e instanceof u)||e.code!=="FS_SANDBOX_DENIED")return e;const r=t.mode;return new u(F(r),"FS_SANDBOX_DENIED",{cause:e})}};async function v(e,t,r){if(t.trim().length===0)throw new Error("path must be a non-empty string");if(!P(t))throw new Error(`The path ${t} is not an absolute path, it should start with \`/\`. Maybe you meant /${t}?`);return e.fs.resolve(t,{signal:r})}d(v,"resolveTarget");async function
|
|
1
|
+
var I=Object.defineProperty;var d=(e,t)=>I(e,"name",{value:t,configurable:!0});import{isAbsolute as P}from"node:path";import g from"@deepseek-ai/schemastery";import{FsError as u}from"@deepseek-ai/dsh-fs";import{sandboxDenialMarker as F}from"@deepseek-ai/dsh-sandbox";import{defineTool as O}from"@deepseek-ai/dsh-tools";const N="<response clipped><NOTE>To save on context only part of this file has been shown to you. You should retry this tool after you have searched inside the file with `grep -n` in order to find the line numbers of what you are looking for.</NOTE>",E="\nCustom editing tool for viewing, creating and editing files\n* State is persistent across command calls and discussions with the user\n* If `path` is a file, `view` displays the result of applying `cat -n`. If `path` is a directory, `view` lists non-hidden files and directories up to 2 levels deep\n* The `create` command cannot be used if the specified `path` already exists as a file\n* If a `command` generates a long output, it will be truncated and marked with `<response clipped>`\n\nNotes for using the `str_replace` command:\n* The `old_str` parameter should match EXACTLY one or more consecutive lines from the original file. Be mindful of whitespaces!\n* If the `old_str` parameter is not unique in the file, the replacement will not be performed. Make sure to include enough context in `old_str` to make it unique\n* The `new_str` parameter should contain the edited lines that should replace the `old_str`\n".trim();function T(e,t){return e.length<=t?e:e.slice(0,t)+N}d(T,"maybeTruncate");function S(e,t){return e<t?-1:e>t?1:0}d(S,"codepointCompare");function k(e,t){const r=[];let i=0;for(;;){const n=e.indexOf(t,i);if(n<0)return r;r.push(n),i=n+t.length}}d(k,"matchOffsets");function A(e,t){let r=1,i=0;return t.map(n=>{for(;i<n;)e[i]===`
|
|
2
|
+
`&&(r+=1),i+=1;return r})}d(A,"lineNumbersAt");var D=class{static{d(this,"MutationPolicy")}policy;constructor(e){if(this.policy=e.fs.sandboxMode===void 0?void 0:e.get("sandboxPolicy"),e.fs.sandboxMode!==void 0&&this.policy===void 0)throw new Error("tool-str-replace-editor: the mounted filesystem confines but ctx.sandboxPolicy is missing")}resolve(e){return this.policy?.resolve({...e.agent===void 0?{}:{session:e.agent.session}})}mapError(e,t){if(!(e instanceof u)||e.code!=="FS_SANDBOX_DENIED")return e;const r=t.mode;return new u(F(r),"FS_SANDBOX_DENIED",{cause:e})}};async function v(e,t,r){if(t.trim().length===0)throw new Error("path must be a non-empty string");if(!P(t))throw new Error(`The path ${t} is not an absolute path, it should start with \`/\`. Maybe you meant /${t}?`);return e.fs.resolve(t,{signal:r})}d(v,"resolveTarget");async function b(e,t,r,i){const n=await e.fs.stat(t,i.signal);if(n===void 0)throw e.emit("fs/observed",t,{kind:"absent"},i),new u(`The path ${t.displayPath} does not exist. Please provide a valid path.`,"FS_NOT_FOUND");if(n.type==="directory"&&r!=="view")throw new u(`The path ${t.displayPath} is a directory and only the \`view\` command can be used on directories`,"FS_NOT_REGULAR_FILE");return n}d(b,"statExisting");function $(e,t,r,i=!0){if(e===void 0)throw new Error(`Parameter \`${t}\` is required for command: ${r}`);if(!i&&e.length===0)throw new Error(`Parameter \`${t}\` is empty for command: ${r}`);return e}d($,"requiredForCommand");function q(e,t,r,i){const n=t.split(`
|
|
3
3
|
`);let s=n,a=1,o,l=`Here's the content of ${e} with line numbers (which has a total of ${n.length} lines)`;if(i!==void 0){const[f,c]=i;if(i.length!==2||f===void 0||c===void 0||!i.every(Number.isInteger))throw new Error("Invalid `view_range`. It should be a list of two integers.");if(a=f,o=c,a<1||a>n.length)throw new Error(`Invalid \`view_range\`: [${i.join(", ")}]. Its first element \`${a}\` should be within the range of lines of the file: [1, ${n.length}]`);if(o>n.length)throw new Error(`Invalid \`view_range\`: [${i.join(", ")}]. Its second element \`${o}\` should be smaller than the number of lines in the file: \`${n.length}\``);if(o!==-1&&o<a)throw new Error(`Invalid \`view_range\`: [${i.join(", ")}]. Its second element \`${o}\` should be larger or equal than its first \`${a}\``);s=o===-1?n.slice(a-1):n.slice(a-1,o),l+=` with view_range=[${a}, ${o}]`}const h=s.map((f,c)=>`${String(a+c).padStart(6," ")} ${f}`).join(`
|
|
4
|
-
`);return
|
|
4
|
+
`);return T(`${l}:
|
|
5
5
|
${h}
|
|
6
|
-
`,r)}d(q,"formatFileView");async function C(e,t,r,i){async function n(o,l){const h=await e.fs.listDir(o,i.signal),f=[];for(const c of h.filter(p=>!p.name.startsWith(".")&&p.name!=="node_modules"&&p.name!=="__pycache__")){const p=c.type==="directory"?"d":c.type==="file"?"f":"?";f.push(`${p} ${c.target.displayPath}`),c.type==="directory"&&l<2&&f.push(...await n(c.target,l+1))}return f}d(n,"visit");const s=[`d ${t.displayPath}`,...await n(t,1)];s.sort((o,l)=>S(o.slice(o.indexOf(" ")+1),l.slice(l.indexOf(" ")+1)));const a=
|
|
6
|
+
`,r)}d(q,"formatFileView");async function C(e,t,r,i){async function n(o,l){const h=await e.fs.listDir(o,i.signal),f=[];for(const c of h.filter(p=>!p.name.startsWith(".")&&p.name!=="node_modules"&&p.name!=="__pycache__")){const p=c.type==="directory"?"d":c.type==="file"?"f":"?";f.push(`${p} ${c.target.displayPath}`),c.type==="directory"&&l<2&&f.push(...await n(c.target,l+1))}return f}d(n,"visit");const s=[`d ${t.displayPath}`,...await n(t,1)];s.sort((o,l)=>S(o.slice(o.indexOf(" ")+1),l.slice(l.indexOf(" ")+1)));const a=T(s.join(`
|
|
7
7
|
`)+`
|
|
8
8
|
`,r);return`Here're the files and directories up to 2 levels deep in ${t.displayPath}, excluding hidden items, node_modules, and Python cache directories:
|
|
9
9
|
${a}
|
|
10
|
-
`}d(C,"listDirectory");async function M(e,t,r,i,n){const s=await v(e,t,n.signal),a=await
|
|
10
|
+
`}d(C,"listDirectory");async function M(e,t,r,i,n){const s=await v(e,t,n.signal),a=await b(e,s,"view",n);if(a.type==="directory"){if(r!==void 0)throw new Error("The `view_range` parameter is not allowed when `path` points to a directory.");return C(e,s,i,n)}if(a.type!=="file")throw new u(`cannot view "${s.displayPath}": not a regular file or directory`,"FS_NOT_REGULAR_FILE");const o=await e.fs.readText(s,n.signal);return e.emit("fs/observed",s,{kind:"present",version:a.version},n),q(s.displayPath,o,i,r)}d(M,"viewPath");async function U(e,t,r,i,n){const s=$(i,"file_text","create"),a=t.resolve(n),o=await v(e,r,n.signal);if(await e.fs.stat(o,n.signal)!==void 0)throw new Error(`File already exists at: ${o.displayPath}. Cannot overwrite files using command \`create\`.`);const l=await e.waterfall("fs/write-intent",o,n,()=>({kind:"createIfAbsent"}));let h;try{h=await e.fs.writeText(o,s,l,n.signal,a)}catch(f){throw t.mapError(f,a)}return e.emit("fs/observed",o,{kind:"present",version:h.version},n),`New file created successfully at: ${o.displayPath}`}d(U,"createFile");async function j(e,t,r,i,n,s){const a=t.resolve(s),o=await v(e,r,s.signal),l=await e.waterfall("fs/edit-intent",o,s,()=>{}),h=$(i,"old_str","str_replace",!1),f=n??"",c=await b(e,o,"str_replace",s);if(c.type!=="file")throw new u(`cannot edit "${o.displayPath}": not a regular file`,"FS_NOT_REGULAR_FILE");const p=await e.fs.readText(o,s.signal),w=k(p,h),m=w[0];if(m===void 0)throw new u(`No replacement was performed, old_str \`${h}\` did not appear verbatim in ${o.displayPath}.`,"FS_EDIT_NOT_FOUND");if(w.length>1){const _=A(p,w);throw new u(`No replacement was performed. Multiple occurrences of old_str \`${h}\` in lines [${_.join(", ")}]. Please ensure it is unique`,"FS_AMBIGUOUS_EDIT")}let y;try{y=await e.fs.writeText(o,p.slice(0,m)+f+p.slice(m+h.length),l===void 0?{kind:"replaceIfVersion",version:c.version}:{kind:"replaceIfVersion",version:l.version},s.signal,a)}catch(_){throw t.mapError(_,a)}return e.emit("fs/observed",o,{kind:"present",version:y.version},s),`The file ${o.displayPath} has been edited successfully.`}d(j,"replaceInFile");async function L(e,t,r,i,n,s){if(i===void 0)throw new Error("Parameter `insert_line` is required for command: insert");const a=$(n,"new_str","insert"),o=t.resolve(s),l=await v(e,r,s.signal),h=await e.waterfall("fs/edit-intent",l,s,()=>{}),f=await b(e,l,"insert",s);if(f.type!=="file")throw new u(`cannot insert into "${l.displayPath}": not a regular file`,"FS_NOT_REGULAR_FILE");const c=(await e.fs.readText(l,s.signal)).split(`
|
|
11
11
|
`);if(!Number.isInteger(i)||i<0||i>c.length)throw new Error(`Invalid \`insert_line\` parameter: ${i}. It should be within the range of lines of the file: [0, ${c.length}]`);const p=[...c.slice(0,i),...a.split(`
|
|
12
12
|
`),...c.slice(i)].join(`
|
|
13
|
-
`),w=h===void 0?{kind:"replaceIfVersion",version:f.version}:{kind:"replaceIfVersion",version:h.version};let m;try{m=await e.fs.writeText(l,p,w,s.signal,o)}catch(y){throw t.mapError(y,o)}return e.emit("fs/observed",l,{kind:"present",version:m.version},s),`The file ${l.displayPath} has been edited successfully.`}d(L,"insertInFile");function R(e){switch(e.command){case"view":return{card:"generic",title:`view ${e.path}`,kind:"read",locations:[{path:e.path}]};case"create":return{card:"diff",title:`create ${e.path}`,diffs:[{path:e.path,oldText:null,newText:e.file_text??""}],locations:[{path:e.path}]};case"str_replace":return{card:"diff",title:`str_replace ${e.path}`,diffs:[{path:e.path,oldText:e.old_str??null,newText:e.new_str??""}],locations:[{path:e.path}]};case"insert":return{card:"generic",title:`insert ${e.path}`,kind:"edit",locations:[{path:e.path,...e.insert_line===void 0?{}:{line:Math.max(1,e.insert_line+1)}}]}}}d(R,"presentEditorCall");function V(e,t){const r=new D(e);e.tools.register(O({name:"str_replace_editor",description:t.description,parameters:{command:{type:"string",required:!0,enum:["view","create","str_replace","insert"],description:"The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`."},path:{type:"string",required:!0,description:"Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`."},file_text:{type:"string",description:"Required parameter of `create` command, with the content of the file to be created."},insert_line:{type:"integer",description:"Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`."},new_str:{type:"string",description:"Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert."},old_str:{type:"string",description:"Required parameter of `str_replace` command containing the string in `path` to replace."},view_range:{type:"array",items:{type:"integer"},description:"Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file."}},output:{schema:{type:"string"},render:d((i,n)=>[{type:"text",text:n}],"render")},async execute(i,n){switch(i.command){case"view":return M(e,i.path,i.view_range,t.maxOutputChars,n);case"create":return U(e,r,i.path,i.file_text,n);case"str_replace":return j(e,r,i.path,i.old_str,i.new_str,n);case"insert":return L(e,r,i.path,i.insert_line,i.new_str,n)}},presentCall:R}))}d(V,"registerStrReplaceEditor");const G="tool-str-replace-editor",B=["tools","fs"],X=
|
|
13
|
+
`),w=h===void 0?{kind:"replaceIfVersion",version:f.version}:{kind:"replaceIfVersion",version:h.version};let m;try{m=await e.fs.writeText(l,p,w,s.signal,o)}catch(y){throw t.mapError(y,o)}return e.emit("fs/observed",l,{kind:"present",version:m.version},s),`The file ${l.displayPath} has been edited successfully.`}d(L,"insertInFile");function R(e){switch(e.command){case"view":return{card:"generic",title:`view ${e.path}`,kind:"read",locations:[{path:e.path}]};case"create":return{card:"diff",title:`create ${e.path}`,diffs:[{path:e.path,oldText:null,newText:e.file_text??""}],locations:[{path:e.path}]};case"str_replace":return{card:"diff",title:`str_replace ${e.path}`,diffs:[{path:e.path,oldText:e.old_str??null,newText:e.new_str??""}],locations:[{path:e.path}]};case"insert":return{card:"generic",title:`insert ${e.path}`,kind:"edit",locations:[{path:e.path,...e.insert_line===void 0?{}:{line:Math.max(1,e.insert_line+1)}}]}}}d(R,"presentEditorCall");function V(e,t){const r=new D(e);e.tools.register(O({name:"str_replace_editor",description:t.description,parameters:{command:{type:"string",required:!0,enum:["view","create","str_replace","insert"],description:"The commands to run. Allowed options are: `view`, `create`, `str_replace`, `insert`."},path:{type:"string",required:!0,description:"Absolute path to file or directory, e.g. `/repo/file.py` or `/repo`."},file_text:{type:"string",description:"Required parameter of `create` command, with the content of the file to be created."},insert_line:{type:"integer",description:"Required parameter of `insert` command. The `new_str` will be inserted AFTER the line `insert_line` of `path`."},new_str:{type:"string",description:"Optional parameter of `str_replace` command containing the new string (if not given, no string will be added). Required parameter of `insert` command containing the string to insert."},old_str:{type:"string",description:"Required parameter of `str_replace` command containing the string in `path` to replace."},view_range:{type:"array",items:{type:"integer"},description:"Optional parameter of `view` command when `path` points to a file. If none is given, the full file is shown. If provided, the file will be shown in the indicated line number range, e.g. [11, 12] will show lines 11 and 12. Indexing at 1 to start. Setting `[start_line, -1]` shows all lines from `start_line` to the end of the file."}},output:{schema:{type:"string"},render:d((i,n)=>[{type:"text",text:n}],"render")},async execute(i,n){switch(i.command){case"view":return M(e,i.path,i.view_range,t.maxOutputChars,n);case"create":return U(e,r,i.path,i.file_text,n);case"str_replace":return j(e,r,i.path,i.old_str,i.new_str,n);case"insert":return L(e,r,i.path,i.insert_line,i.new_str,n)}},presentCall:R}))}d(V,"registerStrReplaceEditor");const G="tool-str-replace-editor",B=["tools","fs"],X=g.object({maxOutputChars:g.number().default(16e3),description:g.string().default(E)});function H(e,t){const r={maxOutputChars:t.maxOutputChars??16e3,description:t.description??E};if(!Number.isSafeInteger(r.maxOutputChars)||r.maxOutputChars<=0)throw new Error("tool-str-replace-editor: maxOutputChars must be a positive safe integer");if(r.description.trim().length===0)throw new Error("tool-str-replace-editor: description must be non-empty");V(e,r)}d(H,"apply");export{X as Config,H as apply,B as inject,G as name};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-str-replace-editor","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-str-replace-editor","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-sandbox-policy":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-sandbox":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.0.12"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-subagent","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-subagent","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-subagent":"^0.0.12","@deepseek-ai/dsh-jobs":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-subagent-control","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-subagent-control","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./list-agents":{"types":"./lib/types/list-agents.d.ts","default":"./lib/types/list-agents.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-session":"^0.0.12","@deepseek-ai/dsh-subagent":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-subagent-report","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-subagent-report","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-subagent":"^0.0.12","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-todo","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-todo","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-session":"^0.0.12","@deepseek-ai/dsh-session-projection":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-invariants":"^0.0.12"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-web","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-web","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-web":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-llm":"^0.0.12"},"dependencies":{"@joplin/turndown-plugin-gfm":"^1.0.67","turndown":"^7.2.4","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var f=Object.defineProperty;var
|
|
1
|
+
var f=Object.defineProperty;var a=(r,n)=>f(r,"name",{value:n,configurable:!0});import u from"@deepseek-ai/schemastery";import{defineTool as g}from"@deepseek-ai/dsh-tools";const m="tool-workflow",y=["tools","workflowEngine","systemPrompt"],b=u.object({toolName:u.string().default("workflow"),maxResultChars:u.natural().min(1).default(5e4)});function v(r){try{return String(r)}catch{return"[unrenderable thrown value]"}}a(v,"renderRecordingError");function k(r){const n=new Map,i=a((t,e,o)=>{const s=t.append.bind(t);try{return s(e,o),!0}catch(p){return r.logger.warn(`tool-workflow: disabled durable record after ${e} append failed: ${v(p)}`),!1}},"append");return r.on("workflow/agent-start",(t,e)=>{const o=n.get(t.id);if(o===void 0)return;const s={runId:t.id,seq:e.seq,label:e.label,...e.phase===void 0?{}:{phase:e.phase},childId:e.childId};i(o,"tool-workflow/agent-start",s)||n.delete(t.id)}),r.on("workflow/agent-end",(t,e)=>{const o=n.get(t.id);if(o===void 0)return;const s={runId:t.id,seq:e.seq,outcome:e.outcome};i(o,"tool-workflow/agent-end",s)||n.delete(t.id)}),{start(t,e){i(t,"tool-workflow/run-start",{runId:e.id,name:e.meta.name})&&n.set(e.id,t)},finish(t,e){const o=n.get(t);o!==void 0&&i(o,"tool-workflow/run-end",{runId:t,stopReason:e}),n.delete(t)},abandon:a(t=>{n.delete(t)},"abandon")}}a(k,"createWorkflowRecorder");const O="Run a JavaScript workflow script that orchestrates subagents at scale. Use this for work that fans out across many independent pieces — an audit over many files, a migration, multi-angle research, adversarial verification of findings — where you write the orchestration as a script instead of delegating turn by turn.\n\nThe workflow's identity rides the `meta` parameter as JSON: required `name` (short kebab-case) and `description` strings, optional `whenToUse` string and `phases` array (`{title, detail?, provider?, model?}`). The `script` parameter is the plain JavaScript body ONLY (NOT TypeScript, and NO `export const meta` statement — meta is a parameter, not code), running with top-level await; end with `return <value>` — the value must be JSON-serializable and is this tool's result.\n\nScript-body hooks:\n- `agent(prompt, opts?): Promise<any>` — run one subagent to completion. Without `opts.schema` it resolves to the child's final text; with `opts.schema` (an object-rooted JSON Schema using ONLY type/properties/required/additionalProperties/items/enum/const/oneOf — no pattern/format/numeric bounds) it resolves to the validated object. Resolves `null` when the child fails (filter with `.filter(Boolean)`). Other opts: `label` (display), `phase` (progress group), and independent `provider`/`model` LLM target overrides (either may be provided alone). Anything else (`effort`/`isolation`/`agentType`) is rejected loudly.\n- `pipeline(items, ...stages): Promise<any[]>` — run each item through the stages independently with NO barrier between stages (prefer this for multi-stage work). Each stage receives `(prev, item, index)`. An ordinary stage throw drops that ITEM to `null` and skips its remaining stages.\n- `parallel(thunks): Promise<any[]>` — run zero-argument functions concurrently and await ALL of them (a barrier; use only when a stage genuinely needs every prior result together). A throwing thunk resolves to `null`.\n- `phase(title)` — start a progress phase; `log(message)` — narrate progress; `args` — the tool call's `args` input, verbatim.\n\nMisused hooks (bad arguments, unknown options, unsupported schemas, tripped caps) throw errors that ALWAYS kill the script — they never dissolve into a per-item `null`.\n\nConstraints: concurrency and total-agent caps apply; no filesystem, network, timers, or Node.js APIs are provided — the agents do the work, the script only coordinates them. The run executes in the foreground: this call returns when the whole script finishes.";function S(r){return{card:"generic",title:`workflow: ${r.meta.name}`,rawInput:r.script}}a(S,"presentWorkflowCall");function N(r,n){return{card:"generic"}}a(N,"presentWorkflowResult");function R(r){switch(r.stopReason){case"completed":return;case"cancelled":return`workflow run was cancelled${r.error!==void 0?` (${r.error})`:""}`;case"error":return`workflow run failed: ${r.error??"unknown error"}`;default:return`workflow run ended abnormally (${String(r.stopReason)})`}}a(R,"stopReasonError");function q(r,n,i,t){const e=JSON.stringify(i,null,2),o=e.length>t?`${e.slice(0,t)}
|
|
2
2
|
… [truncated: ${e.length-t} more characters]`:e;return`workflow "${r}" completed (${n} agent${n===1?"":"s"}).
|
|
3
3
|
Return value:
|
|
4
|
-
${o}`}
|
|
4
|
+
${o}`}a(q,"renderResult");function $(r,n){const{toolName:i,maxResultChars:t}=n,e=k(r);r.systemPrompt.section({name:`tool:${i}`,order:115,text:`Use the ${i} tool ONLY when the user explicitly asks for a workflow or for large multi-agent orchestration: you write a JavaScript script (the tool description documents the exact format) that fans work out across many subagents with phases and structured results. For one or two delegations, prefer plain subagent calls.`}),r.tools.register(g({name:i,description:O,parameters:{script:{type:"string",required:!0,description:"The plain-JS workflow script body (top-level await allowed; NO `export const meta` statement; end with `return <json-value>`)."},meta:{type:"object",additionalProperties:!0,required:!0,description:"The workflow identity block (plain JSON — never code).",properties:{name:{type:"string",required:!0,description:"Short kebab-case workflow name."},description:{type:"string",required:!0,description:"One-line description of what the workflow does."},whenToUse:{type:"string",description:"Optional guidance on when this workflow applies."},phases:{type:"array",description:"Optional phase declarations matched by phase() calls.",items:{type:"object",additionalProperties:!0,properties:{title:{type:"string",required:!0,description:"The phase title phase() calls match by exact string."},detail:{type:"string",description:"Optional one-line description of the phase."},provider:{type:"string",description:"Optional provider override this phase is expected to use."},model:{type:"string",description:"Optional model override this phase is expected to use."}}}}}},args:{type:"object",additionalProperties:!0,description:'Optional JSON input exposed to the script as the `args` global (wrap a bare list as a field, e.g. {"files": [...]}).'}},output:{schema:{type:"object",additionalProperties:!1,properties:{runId:{type:"string",required:!0},agentsStarted:{type:"integer",required:!0},result:{type:"json",required:!0}}},render:a((o,s)=>[{type:"text",text:q(o.meta.name,s.agentsStarted,s.result,t)}],"render")},async execute(o,s){const p=s.agent;if(!p)throw new Error("workflow tool requires a calling agent (exec.agent was undefined)");const l=r.workflowEngine.start({script:o.script,meta:o.meta,...o.args!==void 0?{args:o.args}:{},parent:p,signal:s.signal}),c=s.parent===void 0;c&&e.start(p.session,l);const h=a(()=>{l.cancel("parent step aborted")},"onAbort");s.signal.addEventListener("abort",h,{once:!0});let d;try{d=await l.result;const w=R(d);if(w!==void 0)throw new Error(w);return{runId:l.id,agentsStarted:d.agentsStarted,result:d.value}}finally{s.signal.removeEventListener("abort",h);try{if(await l.dispose(),c){if(d===void 0)throw new Error("workflow run settled without a result");e.finish(l.id,d.stopReason)}}finally{c&&e.abandon(l.id)}}},presentCall:a(o=>S(o),"presentCall"),presentResult:a((o,s)=>N(o,s),"presentResult")}))}a($,"apply");export{b as Config,$ as apply,y as inject,m as name};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@deepseek-ai/dsh-tool-workflow","version":"0.0.
|
|
1
|
+
{"name":"@deepseek-ai/dsh-tool-workflow","version":"0.0.12","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./types":{"types":"./lib/types/types.d.ts","default":"./lib/types/types.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@deepseek-ai/dsh-agent":"^0.0.12","@deepseek-ai/dsh-llm":"^0.0.12","@deepseek-ai/dsh-invariants":"^0.0.12","@deepseek-ai/dsh-workflow":"^0.0.12","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-tools":"^0.0.12","@deepseek-ai/dsh-system-prompt":"^0.0.12","@deepseek-ai/dsh-session":"^0.0.12"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|