@qqbrowser/qbot-dsh 0.0.5 → 0.0.6
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/config/agent-presets/minimal/agent.cordis.yml +1 -1
- package/lib/bin.js +2 -2
- package/lib/{dump-config-k4Eekk03.js → dump-config-DRyeYoJB.js} +1 -1
- package/lib/{plugin-BVDd3xNU.js → plugin-peKc7sV-.js} +1 -1
- package/lib/profile-boot-BAgU8KvC.js +5 -0
- package/lib/profile-boot-KD3x0Z2S.js +1 -0
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-agent/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-agent-default-model/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-agent-instructions/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-agent-loop/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-agent-presets/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-agent-tool-presentation/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-anonymous-user-id/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-api-gateway/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-api-remotes/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-app-boot/lib/index.js +12 -12
- package/node_modules/@qqbrowser/qbot-dsh-app-boot/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-atomic-write/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-attachment/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-attachment-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-base/cordis.patch.yml +4 -4
- package/node_modules/@qqbrowser/qbot-dsh-base/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-bash-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-bash-sandbox/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-brand/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-connection/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-hmr/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-locale/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-locale/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-modules/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-modules/lib/index.js +3 -3
- package/node_modules/@qqbrowser/qbot-dsh-client-modules/lib/invariant.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-modules/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-runtime/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-runtime/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-schema-form/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-agent-preset/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-agent-preset/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-attachment/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-commands/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-commands/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-conversation/lib/client.js +8 -8
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-conversation/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-cordis/lib/client.js +3 -3
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-cordis/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-deliverables/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-deliverables/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-directory-picker-browse/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-directory-picker-browse/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-directory-picker-native/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-goal/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-goal/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-input-trigger/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-input-trigger/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-jobs/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-jobs/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-layout/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-layout/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-message-feedback/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-message-feedback/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-model-selection/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-model-selection/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-permission-presets/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-permission-presets/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-plan/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-plan/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-primitives/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-general/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-general/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-models/lib/client.js +3 -3
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-models/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugin-inventory/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugin-inventory/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugins/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-settings-plugins/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-sidebar/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-sidebar/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-skill/lib/client.js +3 -3
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-skill/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-slots/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-subagent/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-subagent/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-theme/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-theme/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-tool/lib/client.js +4 -4
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-tool/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-trajectory/lib/client.js +14 -14
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-trajectory/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-user-questions/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-user-questions/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-workflow-run/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-workflow-run/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-workspace/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-ui-workspace/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-web/lib/index.js +2 -2
- package/node_modules/@qqbrowser/qbot-dsh-client-web/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-client-web-react/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-cmdline/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-code-runtime/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-code-runtime-worker-thread/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-command-compact/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-command-feedback/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-command-goal/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-commands/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-compaction/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-compaction-basic/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-compaction-tool-result-pruner/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-cordis-client-runner/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-cordis-host-runner/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-credentials/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-credentials-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-fs/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-fs-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-fs-observation-policy/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-fs-sandbox/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-goal/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-goal-round-driver/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-headless/cordis.patch.yml +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-headless/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-home-paths/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-home-paths/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-apiproxy/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-auto/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-browse/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-native/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-native/lib/worker.cjs +2 -2
- package/node_modules/@qqbrowser/qbot-dsh-host-directory-picker-native/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-frontend-static/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-plugin-inventory/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-host-webserver/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-invariants/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-jobs/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-jobs-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-launch-environment/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-launch-environment/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-llm/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-llm-deepseek/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-llm-pi-ai/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-llm-retry/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-mcp-client/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-message-feedback/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-native-command/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-output-retention/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-permission-presets/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-persona/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-plan-mode/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-pwsh-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-pwsh-sandbox/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-repeat-tool-reminder/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-sandbox/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-sandbox-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-sandbox-policy/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-sandbox-windows-acl/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-schedule/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-scope/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-checkpoint-policy/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-log-export/lib/client.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-log-export/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-persistence/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-persistence-jsonl/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-persistence-jsonl/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-projection/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-projection-cache/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-query/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-query-sqlite/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-reference/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-stats/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-telemetry/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-telemetry-otel/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-title/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-title-first-prompt-llm/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-session-title-llm/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-settings/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-settings-file/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-shell/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-shell/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-shell-env/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-shell-env/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-skill/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-skill-badge/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-skill-filesystem/lib/index.js +2 -2
- package/node_modules/@qqbrowser/qbot-dsh-skill-filesystem/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-spill/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-spill-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-spill-policy/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-storage/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-storage-domain/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-storage-json/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subagent/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subagent-fork-in-process/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subagent-in-process-driver/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subagent-spawn-in-process/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subprocess/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subprocess/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-subprocess-local/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-system-prompt/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-terminal/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-terminal-bash/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-terminal-bash/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-time-context/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-timeout/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tmux-context/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-token-meter/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-ask-user/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-bash/lib/index.js +2 -2
- package/node_modules/@qqbrowser/qbot-dsh-tool-bash/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-bash-persistent/lib/index.js +8 -8
- package/node_modules/@qqbrowser/qbot-dsh-tool-bash-persistent/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-call-timeout-policy/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-cordis/lib/index.js +7 -5
- package/node_modules/@qqbrowser/qbot-dsh-tool-cordis/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-fs/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-fs-search/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-goal/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-jobs/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-pwsh/lib/index.js +2 -2
- package/node_modules/@qqbrowser/qbot-dsh-tool-pwsh/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-ralph/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-skill/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-str-replace-editor/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-subagent/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-subagent-control/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-subagent-report/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-todo/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-web/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tool-workflow/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-tools/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-typert-loader/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-typert-protocol/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-typert-registry/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-user-approval/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-user-questions/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web-app/cordis.patch.yml +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web-app/lib/index.js +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web-app/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web-frontend/dist/assets/{index-9qKLIol0.js → index-eqGZnPzD.js} +24 -24
- package/node_modules/@qqbrowser/qbot-dsh-web-frontend/dist/index.html +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web-frontend/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-web-search-deepseek/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-workflow/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-workflow-worker-thread/package.json +1 -1
- package/node_modules/@qqbrowser/qbot-dsh-workspace/package.json +1 -1
- package/package.json +1 -1
- package/lib/args-DEvDJqPu.js +0 -9
- package/lib/args-LilI9aDQ.js +0 -9
- package/lib/dump-config-B2DyR4dg.js +0 -1
- package/lib/dump-config-BITsCIFc.js +0 -1
- package/lib/dump-config-C3uXMpb-.js +0 -1
- package/lib/dump-config-CAkgocAS.js +0 -1
- package/lib/plugin-CuZ9TQG6.js +0 -6
- package/lib/plugin-DMh4mi7q.js +0 -6
- package/lib/plugin-DtRgTK19.js +0 -6
- package/lib/plugin-GoEpG7Lt.js +0 -6
- package/lib/profile-boot-9oPlPpAm.js +0 -5
- package/lib/profile-boot-B1cY1jRh.js +0 -5
- package/lib/profile-boot-B4JIT6XQ.js +0 -1
- package/lib/profile-boot-B4SoKsRj.js +0 -5
- package/lib/profile-boot-Bk4jvF5L.js +0 -1
- package/lib/profile-boot-CC3d8SUg.js +0 -5
- package/lib/profile-boot-CWiF3YiI.js +0 -1
- package/lib/profile-boot-DF9Fqljf.js +0 -1
- package/lib/profile-boot-DWtNaORu.js +0 -5
- package/lib/profile-boot-o7vgfnwK.js +0 -1
- package/node_modules/@qqbrowser/qbot-dsh-sandbox-windows-acl/lib/types-CNjZgO4h.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-output-retention","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-output-retention","version":"0.0.6","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/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-permission-presets","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-permission-presets","version":"0.0.6","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"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-shell":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-sandbox-policy":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-settings":"^0.0.6","@qqbrowser/qbot-dsh-session-projection":"^0.0.6","@qqbrowser/qbot-dsh-user-approval":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-persona","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-persona","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-plan-mode","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-plan-mode","version":"0.0.6","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"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session-projection":"^0.0.6","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-user-questions":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"peerDependenciesMeta":{"@qqbrowser/qbot-dsh-commands":{"optional":true}},"dependencies":{"zod":"^4.4.3"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-pwsh-local","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-pwsh-local","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-shell":"^0.0.6","@qqbrowser/qbot-dsh-subprocess":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-timeout":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-settings":"^0.0.6"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-pwsh-sandbox","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-pwsh-sandbox","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-shell":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-sandbox-policy":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-pwsh-local":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-repeat-tool-reminder","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-repeat-tool-reminder","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-sandbox","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-sandbox","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-sandbox-local","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-sandbox-local","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-sandbox":"^0.0.6"},"dependencies":{"@qqbrowser/qbot-dsh-sandbox-windows-acl":"^0.0.6","@deepseek-ai/schemastery":"^3.18.1","@deepseek-ai/node-addon-landlock-run":"^0.1.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-sandbox-policy","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-sandbox-policy","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-agent":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-system-prompt":"^0.0.6"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-sandbox-windows-acl","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-sandbox-windows-acl","version":"0.0.6","publishConfig":{"access":"public"},"type":"module","main":"lib/index.js","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./runner":{"types":"./lib/types/runner.d.ts","default":"./lib/runner.js"},"./invariant":{"types":"./lib/types/invariant.d.ts","default":"./lib/invariant.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"koffi":"^3.1.0"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-schedule","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-schedule","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-brand":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-scope","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-scope","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session","version":"0.0.6","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","./surface":{"types":"./lib/types/surface.d.ts","default":"./lib/types/surface.js"}},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-brand":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-scope":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-typert-protocol":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-checkpoint-policy","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-checkpoint-policy","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var
|
|
1
|
+
var P=Object.defineProperty;var n=(l,d)=>P(l,"name",{value:d,configurable:!0});window.__ModuleLoader__.load({id:"@qqbrowser/qbot-dsh-session-log-export",factory:n(l=>{var d={exports:{}},c=d.exports;Object.defineProperty(c,Symbol.toStringTag,{value:"Module"});let h=l("@qqbrowser/qbot-dsh-client-runtime/client"),a=l("react/jsx-runtime"),u=l("@qqbrowser/qbot-dsh-client-ui-primitives");const w={bySession:{}};function b(o){return`dsh-session-${String(o).replace(/[^A-Za-z0-9_-]/g,"_")}.zip`}n(b,"sessionLogZipFilename");function m(o,e){const s=document.createElement("a");s.href=o,s.download=e,s.click()}n(m,"downloadUrl");function f(){const o=globalThis.location?.origin;return o!==void 0&&o!=="null"?o:"http://dsh.internal"}n(f,"hostBase");function S(o){return o instanceof Error?o.message:String(o)}n(S,"messageOf");var v=class{static{n(this,"SessionLogDownloadController")}fetcher;save;store=(0,h.createSnapshotStore)(w);active=new Map;disposed=!1;constructor(o=(s,t)=>fetch(s,t),e=m){this.fetcher=o,this.save=e}download(o){const e=this.active.get(o);if(e!==void 0)return e.done;if(this.disposed)return Promise.resolve();const s=new AbortController,t=this.run(o,s.signal).finally(()=>{this.active.delete(o)});return this.active.set(o,{abort:s,done:t}),t}dismiss(o){const e=this.store.getSnapshot().bySession[String(o)];e===void 0||!e.open||this.publish(o,{...e,open:!1})}async dispose(){this.disposed=!0;const o=[...this.active.values()];for(const e of o)e.abort.abort();await Promise.allSettled(o.map(e=>e.done))}async run(o,e){this.publish(o,{open:!0,status:"downloading",error:null});try{const s=new URL("/api/session.export",f());s.searchParams.set("sessionId",o),s.searchParams.set("includeDescendants","true");const t=await this.fetcher(s,{method:"HEAD",signal:e});if(!t.ok){const r=await t.text().catch(()=>"");throw new Error(`Export failed: HTTP ${t.status}${r===""?"":` ${r}`}`)}this.save(s.toString(),b(o));const i=this.store.getSnapshot().bySession[String(o)]?.open??!0;this.publish(o,{open:i,status:"success",error:null})}catch(s){if(e.aborted)return;const t=this.store.getSnapshot().bySession[String(o)]?.open??!0;this.publish(o,{open:t,status:"error",error:S(s)})}}publish(o,e){this.store.update(s=>{s.bySession={...s.bySession,[String(o)]:e}})}};function y({sessionId:o,useSessionLogDownload:e,dismiss:s,t}){const i=e(N=>N.bySession[String(o)]),r=i?.status,F=i?.open===!0,B=r==="error"?i?.error||t("dialog.commandFailed"):null;return(0,a.jsx)(u.Modal,{open:F,onClose:n(()=>{s(o)},"onClose"),title:t(r==="downloading"?"dialog.preparingTitle":r==="success"?"dialog.successTitle":"dialog.errorTitle"),description:r==="downloading"?t("dialog.preparingDescription"):r==="success"?t("dialog.successDescription"):B??t("dialog.commandFailed"),closeLabel:t("dialog.close"),footer:(0,a.jsx)(u.Button,{variant:"primary",onClick:n(()=>{s(o)},"onClick"),children:t("dialog.close")})})}n(y,"SessionLogDownloadDialog");const x=".UFwDNa_sessionLogButton{border:1px solid var(--dsw-alias-border-l2);min-width:111px;height:32px;color:var(--dsw-alias-label-primary);font-family:var(--dsw-font-family);cursor:pointer;background:0 0;border-radius:18px;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:13px;font-weight:400;line-height:20px;display:inline-flex}.UFwDNa_sessionLogButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.UFwDNa_sessionLogButton:disabled{color:var(--dsw-alias-label-dimmed);cursor:wait}.UFwDNa_sessionLogButton span,.UFwDNa_sessionLogButton svg{flex:none}.UFwDNa_sessionLogButton span{white-space:nowrap}",g="@qqbrowser/qbot-dsh-session-log-export/HeaderAction.module.css";if(typeof document<"u"&&document.querySelector("style[data-plugin-css="+JSON.stringify(g)+"]")===null){const o=document.createElement("style");o.dataset.plugin="@qqbrowser/qbot-dsh-session-log-export",o.dataset.pluginCss=g,o.textContent=x,document.head.appendChild(o)}var _={sessionLogButton:"UFwDNa_sessionLogButton"};function D(o){const{sessionId:e,useSessionLogDownload:s,request:t}=o,i=s(r=>r.bySession[String(e)])?.status==="downloading";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)("button",{type:"button",className:_.sessionLogButton,disabled:i,"aria-busy":i,onClick:n(()=>{t(e)},"onClick"),children:[(0,a.jsx)("span",{children:"Session log"}),(0,a.jsx)(u.IconDownloadOutline16,{size:12})]}),(0,a.jsx)(y,{...o})]})}n(D,"SessionLogDownloadHeaderAction");const p="session-log-download",q={"dialog.preparingTitle":"正在导出 Session","dialog.preparingDescription":"正在准备包含当前 Session、子 Session 和附件的 ZIP 文件。","dialog.successTitle":"Session 导出已开始下载","dialog.successDescription":"浏览器正在下载 Session ZIP 文件。","dialog.errorTitle":"Session 导出失败","dialog.close":"关闭","dialog.commandFailed":"无法启动 Session 导出。"},L={"dialog.preparingTitle":"Exporting Session","dialog.preparingDescription":"Preparing a ZIP containing this Session, its sub-Sessions, and attachments.","dialog.successTitle":"Session download started","dialog.successDescription":"The browser is downloading the Session ZIP.","dialog.errorTitle":"Session export failed","dialog.close":"Close","dialog.commandFailed":"Could not start the Session export."},j=["slots","locale"];function T(o){const e=new v;o.provide("sessionLogDownload",e),o.effect(()=>async()=>{await e.dispose()},"session-log-download: browser download lifecycle"),o.effect(()=>o.locale.register(p,{zh:q,en:L}),"session-log-download: browser dictionaries"),o.on("command/executed",(s,t,i)=>{t==="export"&&i.kind==="success"&&e.download(s)}),o.slots.inject("conversation.session.header.utilities",()=>o.slots.register({name:"conversation.session.header.utilities",id:"session-log-download",locale:p,inject:n(()=>({hooks:{sessionLogDownload:e.store},request:n(s=>e.download(s),"request"),dismiss:n(s=>{e.dismiss(s)},"dismiss")}),"inject")},D))}return n(T,"apply"),c.apply=T,c.inject=j,d.exports},"factory")});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-log-export","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-log-export","version":"0.0.6","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/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"react":"^18.2.0","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-client-locale":"^0.0.6","@qqbrowser/qbot-dsh-client-runtime":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-commands":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-slots":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-primitives":"^0.0.6","@qqbrowser/qbot-dsh-commands":"^0.0.6","@qqbrowser/qbot-dsh-client-ui-conversation":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6"},"dsh":{"client":{"inject":["@qqbrowser/qbot-dsh-client-locale","@qqbrowser/qbot-dsh-client-runtime","@qqbrowser/qbot-dsh-client-ui-commands","@qqbrowser/qbot-dsh-client-ui-conversation"],"platform":"web"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-persistence","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-persistence","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-brand":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-timeout":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
var ut=Object.defineProperty;var a=(t,e)=>ut(t,"name",{value:e,configurable:!0});import m from"@deepseek-ai/schemastery";import{readdirSync as wt}from"node:fs";import{link as lt,mkdir as _,mkdtemp as pt,open as y,readFile as mt,readdir as $,realpath as k,rm as S,stat as A,truncate as yt}from"node:fs/promises";import{dirname as P,join as f,parse as Z,resolve as j,toNamespacedPath as I}from"node:path";import{performance as F}from"node:perf_hooks";import{scheduler as Et}from"node:timers/promises";import{randomBytes as bt}from"node:crypto";import{DEFAULT_PREPARED_SESSION_CACHE_SIZE as z,DEFAULT_WRITE_BATCH_MAX_DELAY_MS as M,MAX_WRITE_BATCH_DELAY_MS as At,PersistenceCoordinator as gt,SessionFormatUnsupportedError as L,SessionPersistence as St,SessionPersistenceRevision as It,sessionFormatVersionRefusal as vt}from"@qqbrowser/qbot-dsh-session-persistence";import{SESSION_FORMAT_VERSION as Dt,decodeStorageRecord as _t,packChunkRuns as Ft}from"@qqbrowser/qbot-dsh-session";import{constants as H,createZstdDecompress as Lt,zstdCompress as xt,zstdDecompress as Ot,zstdDecompressSync as Rt}from"node:zlib";import{promisify as U}from"node:util";import{constants as W}from"node:buffer";function E(t){return t==="zstd"?".jsonl.zstd":".jsonl"}a(E,"logSuffix");function Nt(t){return{type:"session",version:t.version,id:t.id,createdAt:t.createdAt,...t.cwd!==void 0?{cwd:t.cwd}:{},...t.parentSession!==void 0?{parentSession:t.parentSession}:{},...t.seedLength!==void 0?{seedLength:t.seedLength}:{},...t.origin!==void 0?{origin:t.origin}:{},delegationDepth:t.delegationDepth??0,...t.agentPreset!==void 0?{agentPreset:t.agentPreset}:{}}}a(Nt,"toHeaderLine");function J(t){if(Object.hasOwn(t,"sandboxMode")||Object.hasOwn(t,"approvalPolicy"))throw new Error("session header uses retired policy baseline fields");return{version:t.version,id:t.id,createdAt:t.createdAt,...t.cwd!==void 0?{cwd:t.cwd}:{},...t.parentSession!==void 0?{parentSession:t.parentSession}:{},...t.seedLength!==void 0?{seedLength:t.seedLength}:{},...t.origin!==void 0?{origin:t.origin}:{},delegationDepth:t.delegationDepth,...t.agentPreset!==void 0?{agentPreset:t.agentPreset}:{}}}a(J,"fromHeaderLine");function K(t){return typeof t=="object"&&t!==null&&t.type==="session"&&typeof t.version=="number"&&typeof t.id=="string"&&typeof t.createdAt=="number"&&Number.isSafeInteger(t.createdAt)&&t.createdAt>=0&&!Object.is(t.createdAt,-0)&&typeof t.delegationDepth=="number"&&Number.isSafeInteger(t.delegationDepth)&&t.delegationDepth>=0&&!Object.is(t.delegationDepth,-0)&&(t.origin===void 0||t.origin==="subagent")&&(t.agentPreset===void 0||typeof t.agentPreset=="string")}a(K,"isHeaderLine");function x(t){if(t.length===0)throw new Error("cannot encode an empty path segment");if(t===".")return"~002E";if(t==="..")return"~002E~002E";let e="";for(let r=0;r<t.length;r++){const o=t.charCodeAt(r),s=String.fromCharCode(o);s!=="~"&&/^[A-Za-z0-9._-]$/.test(s)?e+=s:e+="~"+o.toString(16).toUpperCase().padStart(4,"0")}return e}a(x,"encodeSegment");function Ct(t){if(t.length===0)throw new Error("cannot encode an empty project path");let e="",r=!1;for(let o=0;o<t.length;o++){const s=t.charCodeAt(o),i=String.fromCharCode(s);i==="/"||i==="\\"||i===":"?(r||(e+="-"),r=!0):i!=="~"&&/^[A-Za-z0-9._-]$/.test(i)?(e+=i,r=!1):(e+="~"+s.toString(16).toUpperCase().padStart(4,"0"),r=!1)}return`--${(e.replace(/^-+/,"")||"root").slice(0,251)}--`}a(Ct,"projectKey");function V(t,e){return e===void 0?f(t,"_no-cwd"):f(t,Ct(e))}a(V,"projectDir");function X(t,e,r){return f(V(t,e),x(r))}a(X,"sessionDir");function g(t,e,r,o){return f(X(t,e,r),`session${E(o)}`)}a(g,"logPath");function q(t,e){return(e?Ft(t):t).map(r=>JSON.stringify(r)).join(`
|
|
2
|
-
`)}a(q,"eventLines");function Bt(t){if(typeof t!="object"||t===null)return;const{version:e,id:r}=t;if(!(typeof e!="number"||e===Dt))throw new L(vt(typeof r=="string"?r:String(r),e))}a(Bt,"refuseForeignFormatVersion");function Tt(t){if(t.length===0||t.at(-1)!==10||t.indexOf(10)!==t.length-1)throw new Error("empty or header-less session log");let e;try{e=JSON.parse(t.subarray(0,-1).toString("utf8"))}catch{throw new Error("corrupt session log: header line is not valid JSON")}if(Bt(e),!K(e))throw new Error("corrupt session log: first line is not a session header");return J(e)}a(Tt,"parseHeaderRecord");var G=class{static{a(this,"SessionLogScanner")}meta;events=[];fragments=[];fragmentBytes=0;inputBytes;committedBytes;eventLine=0;issue;finished=!1;constructor(t){this.meta=Tt(t),this.inputBytes=t.length,this.committedBytes=t.length}write(t){if(this.finished)throw new Error("cannot write to a finished session log scanner");const e=this.inputBytes;this.inputBytes+=t.length;let r=0;for(let o=t.indexOf(10);o!==-1;o=t.indexOf(10,r)){const s=t.subarray(r,o);let i=s;this.fragments.length>0&&(s.length>0&&this.fragments.push(s),i=Buffer.concat(this.fragments,this.fragmentBytes+s.length),this.fragments=[],this.fragmentBytes=0),this.consumeEventLine(i,e+o+1),r=o+1}if(r<t.length){const o=Buffer.from(t.subarray(r));this.fragments.push(o),this.fragmentBytes+=o.length}}checkpoint(){return{inputBytes:this.inputBytes,committedBytes:this.committedBytes,eventCount:this.events.length}}finish(){return this.finished=!0,{meta:this.meta,events:this.events,committedBytes:this.committedBytes}}consumeEventLine(t,e){this.eventLine+=1;let r;try{r=_t(JSON.parse(t.toString("utf8")))}catch{this.issue??=new Error(`corrupt session log: unparsable committed event at line ${this.eventLine}`);return}if(this.issue!==void 0){if(r.some(s=>s.type==="turn/end"))throw this.issue;return}const o=this.events.length;for(const s of r){if(s.seq!==this.events.length){const i=this.events.length;if(this.events.length=o,this.issue=new Error(`corrupt session log: seq gap in committed region at line ${this.eventLine} (expected ${i}, got ${s.seq})`),r.some(n=>n.type==="turn/end"))throw this.issue;return}this.events.push(s)}this.committedBytes=e}};function $t(t){const e=t.indexOf(10);if(e===-1)throw new Error("empty or header-less session log");const r=new G(t.subarray(0,e+1));return r.write(t.subarray(e+1)),r.finish()}a($t,"scanLog");function Y(t){let e;try{e=JSON.parse(t)}catch{return}if(K(e))return J(e)}a(Y,"parseHeaderMeta");const Q=1024*1024;function kt(t){const e=t,r=e._handle,o=Reflect.ownKeys(t).find(s=>typeof s=="symbol"&&s.description==="kError");if(!(typeof r!="object"||r===null||typeof r.writeSync!="function"||!(e._writeState instanceof Uint32Array)||e._writeState.length<2||typeof e._defaultFlushFlag!="number"||o===void 0||e[o]!==null))return{stream:t,errorKey:o}}a(kt,"privateZstdStream");var Pt=class dt{static{a(this,"NodePrivateZstdFrameDecoder")}stream;errorKey;output=Buffer.allocUnsafe(Q);decoderError;started=!1;closed=!1;constructor(e,r){this.stream=e,this.errorKey=r,this.stream.on("error",o=>{this.decoderError??=o})}static create(){const e=Lt({chunkSize:Q}),r=kt(e);if(r!==void 0)return new dt(r.stream,r.errorKey);e.close()}*decode(e,r){if(this.started)throw new Error("Zstandard frame decoder was already started");if(this.closed)throw new Error("cannot start a closed Zstandard frame decoder");this.started=!0;try{for(const o of r)try{yield this.decodeFrame(e.subarray(o.start,o.end))}catch(s){throw new Error(`corrupt Zstandard session log: frame at byte ${o.start} failed validation`,{cause:s})}}finally{this.close()}}decodeFrame(e){const r=this.stream._handle;if(this.closed||r===null)throw new Error("cannot decode with a closed Zstandard frame decoder");let o=0,s=e.length,i=0;const n=[];for(;;){if(r.writeSync(this.stream._defaultFlushFlag,e,o,s,this.output,0,this.output.length),this.decoderError!==void 0)throw this.decoderError;const c=this.stream[this.errorKey];if(c!==null)throw c instanceof Error?c:new Error("Zstandard decoder exposed a non-Error internal failure");const d=this.stream._writeState[0],h=this.stream._writeState[1],u=s-h,l=this.output.length-d;if(l>0&&(i+=l,i>W.MAX_LENGTH))throw new Error(`Zstandard frame output exceeds ${W.MAX_LENGTH} bytes`);if(d!==0){if(h!==0)throw new Error("Zstandard frame decoder left trailing input");const p=this.output.subarray(0,l);if(n.length===0)return p;l>0&&n.push(Buffer.from(p));const w=n[0];return n.length===1?w:Buffer.concat(n,i)}n.push(Buffer.from(this.output)),o+=u,s=h}}close(){this.closed||(this.closed=!0,this.stream.close())}},Zt=class{static{a(this,"PublicZstdFrameDecoder")}started=!1;closed=!1;*decode(t,e){if(this.started)throw new Error("Zstandard frame decoder was already started");if(this.closed)throw new Error("cannot start a closed Zstandard frame decoder");this.started=!0;try{for(const{start:r,end:o}of e){let s;try{s=Rt(t.subarray(r,o))}catch(i){throw new Error(`corrupt Zstandard session log: frame at byte ${r} failed validation`,{cause:i})}yield s}}finally{this.close()}}close(){this.closed=!0}};const jt=4247762216,zt=U(xt),tt=U(Ot),Mt={params:{[H.ZSTD_c_checksumFlag]:1}},Ht={finishFlush:H.ZSTD_e_flush};function O(t,e=Number.POSITIVE_INFINITY){const r=[];let o=0;for(;o<t.length;){const s=o;if(t.length-o<4)return{frames:r,tornStart:s};if(t.readUInt32LE(o)!==jt)throw new Error(`corrupt Zstandard session log: invalid frame magic at byte ${o}`);if(o+=4,o===t.length)return{frames:r,tornStart:s};const i=t.readUInt8(o);if(o+=1,(i&24)!==0)throw new Error(`corrupt Zstandard session log: reserved frame-header bit at byte ${o-1}`);const n=i>>>6,c=(i&32)!==0,d=(i&4)!==0,h=i&3,u=h===3?4:h,l=n===0?c?1:0:1<<n,p=(c?0:1)+u+l;if(t.length-o<p)return{frames:r,tornStart:s};for(o+=p;;){if(t.length-o<3)return{frames:r,tornStart:s};const w=t.readUIntLE(o,3);o+=3;const ht=(w&1)!==0,B=w>>>1&3,ft=w>>>3;if(B===3)throw new Error(`corrupt Zstandard session log: reserved block type at byte ${o-3}`);const T=B===1?1:ft;if(t.length-o<T)return{frames:r,tornStart:s};if(o+=T,ht)break}if(d){if(t.length-o<4)return{frames:r,tornStart:s};o+=4}if(r.push({start:s,end:o}),r.length===e)return{frames:r}}return{frames:r}}a(O,"scanZstdFrames");async function R(t){return zt(t,Mt)}a(R,"compressZstdFrame");async function Ut(t){return tt(t)}a(Ut,"decompressZstdFrame");function et(){return Pt.create()??new Zt}a(et,"createZstdFrameDecoder");async function Wt(t){return tt(t,Ht)}a(Wt,"decompressZstdPrefix");const Jt=8,Kt=2,Vt=3,Xt=5,qt=17,Gt=80,Yt=123,Qt=183;let v;async function te(){if(v!==void 0)return v;const t=(await import("koffi")).default.load("kernel32.dll");return v={moveFileExW:t.func("__stdcall","MoveFileExW","int",["str16","str16","uint"]),getLastError:t.func("__stdcall","GetLastError","uint",[])},v}a(te,"win32");function ee(t){switch(t){case Kt:case Vt:return"ENOENT";case Xt:return"EACCES";case qt:return"EXDEV";case Gt:case Qt:return"EEXIST";case Yt:return"EINVAL";default:return"EIO"}}a(ee,"errnoCode");function re(t,e,r,o){const s=ee(e),i=new Error(`${t} ${s} (Win32 ${e}): ${r} -> ${o}`);return i.code=s,i.errno=e,i.syscall=t,i.path=r,i.dest=o,i.win32Code=e,i}a(re,"win32Error");function oe(t){return t?.code==="ENOENT"}a(oe,"isENOENT$1");function se(t){return t?.code==="EEXIST"}a(se,"isEEXIST");async function N(t){try{if((await A(t===Z(t).root?t:I(t))).isDirectory())return!0;const e=new Error(`path exists but is not a directory: ${t}`);throw e.code="ENOTDIR",e.path=t,e}catch(e){if(oe(e))return!1;throw e}}a(N,"assertDirectory");async function rt(t,e){const r=await te();if(r.moveFileExW(I(t),I(e),Jt)===0)throw re("MoveFileExW",r.getLastError(),t,e)}a(rt,"publishNewFileWin32");async function C(t){const e=j(t),r=Z(e).root;await N(r);const o=e.slice(r.length).split(/[\\/]+/).filter(i=>i.length>0);let s=r;for(const i of o){const n=f(s,i);await N(n)||await ie(s,n),s=n}}a(C,"ensureDurableDirectoryWin32");async function ie(t,e){const r=await pt(I(f(t,".qbot-dsh-mkdir-")));try{await rt(r,e)}catch(o){if(await S(r,{recursive:!0,force:!0}),se(o)&&await N(e))return;throw o}}a(ie,"createLeafDirectoryWin32");const ot=!0,st="zstd",it=500;function nt(t){if(t.length===0||t.indexOf(10)!==t.length-1)throw new Error("corrupt Zstandard session log: first frame is not exactly one header line")}a(nt,"assertZstdHeaderFrame");const at=m.union([m.const("zstd"),m.const("none")]).default(st);function D(t){return It([t.dev,t.ino,t.size,t.mtimeNs,t.ctimeNs].join(":"))}a(D,"fileRevision");function b(t){return t?.code==="ENOENT"}a(b,"isENOENT");var ct=class extends St{static{a(this,"JsonlSessionPersistence")}config;supportsRawArtifacts=!0;static inject=["sessions"];static Config=m.object({root:m.string().required(),packChunks:m.boolean().default(ot),compression:at,preparedSessionCacheSize:m.number().step(1).min(1).default(z),writeBatchMaxDelayMs:m.number().step(1).min(1).max(At).default(M)});name="session-persistence-jsonl";root;packChunks;compression;coordinator;rootEncodingCheck;constructor(t,e){super(t),this.config=e,this.root=j(e.root);const r=e.preparedSessionCacheSize??z,o=e.writeBatchMaxDelayMs??M;this.packChunks=e.packChunks??ot,this.compression=e.compression??st,this.assertUsableRoot(),this.coordinator=new gt(this.ctx,this,{preparedSessionCacheSize:r,writeBatchMaxDelayMs:o})}locate(t){return{kind:"jsonl",path:g(this.root,t.cwd,t.id,this.compression)}}create(t){return this.coordinator.create(t)}append(t,e){return this.coordinator.append(t,e)}prepare(t,e){return this.coordinator.prepare(t,e)}load(t){return this.coordinator.load(t)}inspect(t,e){return this.coordinator.inspect(t,e)}readFrom(t,e,r){return this.coordinator.readFrom(t,e,r)}async loadStored(t,e){e?.throwIfAborted(),await this.ensureRootEncoding(),e?.throwIfAborted();const r=await this.findLog(t,e);if(r!==void 0)return this.readPrefix(r,t,e)}async readStoredRevision(t,e){e?.throwIfAborted(),await this.ensureRootEncoding(),e?.throwIfAborted();const r=await this.findLog(t,e);if(r!==void 0)try{const o=await A(r,{bigint:!0});return e?.throwIfAborted(),D(o)}catch(o){if(e?.throwIfAborted(),b(o))return;throw o}}async readRaw(t,e){e?.throwIfAborted(),await this.ensureRootEncoding(),e?.throwIfAborted();const r=await this.findLog(t,e);if(r===void 0)return;const{buffer:o}=await this.readStableFile(r,e);let s;if(this.compression==="zstd"){const{frames:n}=O(o);if(n.length===0)throw new Error("empty or header-less Zstandard session log");const c=et(),d=[];for(const h of c.decode(o,n))e?.throwIfAborted(),d.push(Buffer.from(h));s=Buffer.concat(d).toString("utf8")}else s=o.toString("utf8");const i=Y(s.split(`
|
|
2
|
+
`)}a(q,"eventLines");function Bt(t){if(typeof t!="object"||t===null)return;const{version:e,id:r}=t;if(!(typeof e!="number"||e===Dt))throw new L(vt(typeof r=="string"?r:String(r),e))}a(Bt,"refuseForeignFormatVersion");function Tt(t){if(t.length===0||t.at(-1)!==10||t.indexOf(10)!==t.length-1)throw new Error("empty or header-less session log");let e;try{e=JSON.parse(t.subarray(0,-1).toString("utf8"))}catch{throw new Error("corrupt session log: header line is not valid JSON")}if(Bt(e),!K(e))throw new Error("corrupt session log: first line is not a session header");return J(e)}a(Tt,"parseHeaderRecord");var G=class{static{a(this,"SessionLogScanner")}meta;events=[];fragments=[];fragmentBytes=0;inputBytes;committedBytes;eventLine=0;issue;finished=!1;constructor(t){this.meta=Tt(t),this.inputBytes=t.length,this.committedBytes=t.length}write(t){if(this.finished)throw new Error("cannot write to a finished session log scanner");const e=this.inputBytes;this.inputBytes+=t.length;let r=0;for(let o=t.indexOf(10);o!==-1;o=t.indexOf(10,r)){const s=t.subarray(r,o);let i=s;this.fragments.length>0&&(s.length>0&&this.fragments.push(s),i=Buffer.concat(this.fragments,this.fragmentBytes+s.length),this.fragments=[],this.fragmentBytes=0),this.consumeEventLine(i,e+o+1),r=o+1}if(r<t.length){const o=Buffer.from(t.subarray(r));this.fragments.push(o),this.fragmentBytes+=o.length}}checkpoint(){return{inputBytes:this.inputBytes,committedBytes:this.committedBytes,eventCount:this.events.length}}finish(){return this.finished=!0,{meta:this.meta,events:this.events,committedBytes:this.committedBytes}}consumeEventLine(t,e){this.eventLine+=1;let r;try{r=_t(JSON.parse(t.toString("utf8")))}catch{this.issue??=new Error(`corrupt session log: unparsable committed event at line ${this.eventLine}`);return}if(this.issue!==void 0){if(r.some(s=>s.type==="turn/end"))throw this.issue;return}const o=this.events.length;for(const s of r){if(s.seq!==this.events.length){const i=this.events.length;if(this.events.length=o,this.issue=new Error(`corrupt session log: seq gap in committed region at line ${this.eventLine} (expected ${i}, got ${s.seq})`),r.some(n=>n.type==="turn/end"))throw this.issue;return}this.events.push(s)}this.committedBytes=e}};function $t(t){const e=t.indexOf(10);if(e===-1)throw new Error("empty or header-less session log");const r=new G(t.subarray(0,e+1));return r.write(t.subarray(e+1)),r.finish()}a($t,"scanLog");function Y(t){let e;try{e=JSON.parse(t)}catch{return}if(K(e))return J(e)}a(Y,"parseHeaderMeta");const Q=1024*1024;function kt(t){const e=t,r=e._handle,o=Reflect.ownKeys(t).find(s=>typeof s=="symbol"&&s.description==="kError");if(!(typeof r!="object"||r===null||typeof r.writeSync!="function"||!(e._writeState instanceof Uint32Array)||e._writeState.length<2||typeof e._defaultFlushFlag!="number"||o===void 0||e[o]!==null))return{stream:t,errorKey:o}}a(kt,"privateZstdStream");var Pt=class dt{static{a(this,"NodePrivateZstdFrameDecoder")}stream;errorKey;output=Buffer.allocUnsafe(Q);decoderError;started=!1;closed=!1;constructor(e,r){this.stream=e,this.errorKey=r,this.stream.on("error",o=>{this.decoderError??=o})}static create(){const e=Lt({chunkSize:Q}),r=kt(e);if(r!==void 0)return new dt(r.stream,r.errorKey);e.close()}*decode(e,r){if(this.started)throw new Error("Zstandard frame decoder was already started");if(this.closed)throw new Error("cannot start a closed Zstandard frame decoder");this.started=!0;try{for(const o of r)try{yield this.decodeFrame(e.subarray(o.start,o.end))}catch(s){throw new Error(`corrupt Zstandard session log: frame at byte ${o.start} failed validation`,{cause:s})}}finally{this.close()}}decodeFrame(e){const r=this.stream._handle;if(this.closed||r===null)throw new Error("cannot decode with a closed Zstandard frame decoder");let o=0,s=e.length,i=0;const n=[];for(;;){if(r.writeSync(this.stream._defaultFlushFlag,e,o,s,this.output,0,this.output.length),this.decoderError!==void 0)throw this.decoderError;const c=this.stream[this.errorKey];if(c!==null)throw c instanceof Error?c:new Error("Zstandard decoder exposed a non-Error internal failure");const d=this.stream._writeState[0],h=this.stream._writeState[1],u=s-h,l=this.output.length-d;if(l>0&&(i+=l,i>W.MAX_LENGTH))throw new Error(`Zstandard frame output exceeds ${W.MAX_LENGTH} bytes`);if(d!==0){if(h!==0)throw new Error("Zstandard frame decoder left trailing input");const p=this.output.subarray(0,l);if(n.length===0)return p;l>0&&n.push(Buffer.from(p));const w=n[0];return n.length===1?w:Buffer.concat(n,i)}n.push(Buffer.from(this.output)),o+=u,s=h}}close(){this.closed||(this.closed=!0,this.stream.close())}},Zt=class{static{a(this,"PublicZstdFrameDecoder")}started=!1;closed=!1;*decode(t,e){if(this.started)throw new Error("Zstandard frame decoder was already started");if(this.closed)throw new Error("cannot start a closed Zstandard frame decoder");this.started=!0;try{for(const{start:r,end:o}of e){let s;try{s=Rt(t.subarray(r,o))}catch(i){throw new Error(`corrupt Zstandard session log: frame at byte ${r} failed validation`,{cause:i})}yield s}}finally{this.close()}}close(){this.closed=!0}};const jt=4247762216,zt=U(xt),tt=U(Ot),Mt={params:{[H.ZSTD_c_checksumFlag]:1}},Ht={finishFlush:H.ZSTD_e_flush};function O(t,e=Number.POSITIVE_INFINITY){const r=[];let o=0;for(;o<t.length;){const s=o;if(t.length-o<4)return{frames:r,tornStart:s};if(t.readUInt32LE(o)!==jt)throw new Error(`corrupt Zstandard session log: invalid frame magic at byte ${o}`);if(o+=4,o===t.length)return{frames:r,tornStart:s};const i=t.readUInt8(o);if(o+=1,(i&24)!==0)throw new Error(`corrupt Zstandard session log: reserved frame-header bit at byte ${o-1}`);const n=i>>>6,c=(i&32)!==0,d=(i&4)!==0,h=i&3,u=h===3?4:h,l=n===0?c?1:0:1<<n,p=(c?0:1)+u+l;if(t.length-o<p)return{frames:r,tornStart:s};for(o+=p;;){if(t.length-o<3)return{frames:r,tornStart:s};const w=t.readUIntLE(o,3);o+=3;const ht=(w&1)!==0,B=w>>>1&3,ft=w>>>3;if(B===3)throw new Error(`corrupt Zstandard session log: reserved block type at byte ${o-3}`);const T=B===1?1:ft;if(t.length-o<T)return{frames:r,tornStart:s};if(o+=T,ht)break}if(d){if(t.length-o<4)return{frames:r,tornStart:s};o+=4}if(r.push({start:s,end:o}),r.length===e)return{frames:r}}return{frames:r}}a(O,"scanZstdFrames");async function R(t){return zt(t,Mt)}a(R,"compressZstdFrame");async function Ut(t){return tt(t)}a(Ut,"decompressZstdFrame");function et(){return Pt.create()??new Zt}a(et,"createZstdFrameDecoder");async function Wt(t){return tt(t,Ht)}a(Wt,"decompressZstdPrefix");const Jt=8,Kt=2,Vt=3,Xt=5,qt=17,Gt=80,Yt=123,Qt=183;let v;async function te(){if(v!==void 0)return v;const t=(await import("koffi")).default.load("kernel32.dll");return v={moveFileExW:t.func("__stdcall","MoveFileExW","int",["str16","str16","uint"]),getLastError:t.func("__stdcall","GetLastError","uint",[])},v}a(te,"win32");function ee(t){switch(t){case Kt:case Vt:return"ENOENT";case Xt:return"EACCES";case qt:return"EXDEV";case Gt:case Qt:return"EEXIST";case Yt:return"EINVAL";default:return"EIO"}}a(ee,"errnoCode");function re(t,e,r,o){const s=ee(e),i=new Error(`${t} ${s} (Win32 ${e}): ${r} -> ${o}`);return i.code=s,i.errno=e,i.syscall=t,i.path=r,i.dest=o,i.win32Code=e,i}a(re,"win32Error");function oe(t){return t?.code==="ENOENT"}a(oe,"isENOENT$1");function se(t){return t?.code==="EEXIST"}a(se,"isEEXIST");async function N(t){try{if((await A(t===Z(t).root?t:I(t))).isDirectory())return!0;const e=new Error(`path exists but is not a directory: ${t}`);throw e.code="ENOTDIR",e.path=t,e}catch(e){if(oe(e))return!1;throw e}}a(N,"assertDirectory");async function rt(t,e){const r=await te();if(r.moveFileExW(I(t),I(e),Jt)===0)throw re("MoveFileExW",r.getLastError(),t,e)}a(rt,"publishNewFileWin32");async function C(t){const e=j(t),r=Z(e).root;await N(r);const o=e.slice(r.length).split(/[\\/]+/).filter(i=>i.length>0);let s=r;for(const i of o){const n=f(s,i);await N(n)||await ie(s,n),s=n}}a(C,"ensureDurableDirectoryWin32");async function ie(t,e){const r=await pt(I(f(t,".dsh-mkdir-")));try{await rt(r,e)}catch(o){if(await S(r,{recursive:!0,force:!0}),se(o)&&await N(e))return;throw o}}a(ie,"createLeafDirectoryWin32");const ot=!0,st="zstd",it=500;function nt(t){if(t.length===0||t.indexOf(10)!==t.length-1)throw new Error("corrupt Zstandard session log: first frame is not exactly one header line")}a(nt,"assertZstdHeaderFrame");const at=m.union([m.const("zstd"),m.const("none")]).default(st);function D(t){return It([t.dev,t.ino,t.size,t.mtimeNs,t.ctimeNs].join(":"))}a(D,"fileRevision");function b(t){return t?.code==="ENOENT"}a(b,"isENOENT");var ct=class extends St{static{a(this,"JsonlSessionPersistence")}config;supportsRawArtifacts=!0;static inject=["sessions"];static Config=m.object({root:m.string().required(),packChunks:m.boolean().default(ot),compression:at,preparedSessionCacheSize:m.number().step(1).min(1).default(z),writeBatchMaxDelayMs:m.number().step(1).min(1).max(At).default(M)});name="session-persistence-jsonl";root;packChunks;compression;coordinator;rootEncodingCheck;constructor(t,e){super(t),this.config=e,this.root=j(e.root);const r=e.preparedSessionCacheSize??z,o=e.writeBatchMaxDelayMs??M;this.packChunks=e.packChunks??ot,this.compression=e.compression??st,this.assertUsableRoot(),this.coordinator=new gt(this.ctx,this,{preparedSessionCacheSize:r,writeBatchMaxDelayMs:o})}locate(t){return{kind:"jsonl",path:g(this.root,t.cwd,t.id,this.compression)}}create(t){return this.coordinator.create(t)}append(t,e){return this.coordinator.append(t,e)}prepare(t,e){return this.coordinator.prepare(t,e)}load(t){return this.coordinator.load(t)}inspect(t,e){return this.coordinator.inspect(t,e)}readFrom(t,e,r){return this.coordinator.readFrom(t,e,r)}async loadStored(t,e){e?.throwIfAborted(),await this.ensureRootEncoding(),e?.throwIfAborted();const r=await this.findLog(t,e);if(r!==void 0)return this.readPrefix(r,t,e)}async readStoredRevision(t,e){e?.throwIfAborted(),await this.ensureRootEncoding(),e?.throwIfAborted();const r=await this.findLog(t,e);if(r!==void 0)try{const o=await A(r,{bigint:!0});return e?.throwIfAborted(),D(o)}catch(o){if(e?.throwIfAborted(),b(o))return;throw o}}async readRaw(t,e){e?.throwIfAborted(),await this.ensureRootEncoding(),e?.throwIfAborted();const r=await this.findLog(t,e);if(r===void 0)return;const{buffer:o}=await this.readStableFile(r,e);let s;if(this.compression==="zstd"){const{frames:n}=O(o);if(n.length===0)throw new Error("empty or header-less Zstandard session log");const c=et(),d=[];for(const h of c.decode(o,n))e?.throwIfAborted(),d.push(Buffer.from(h));s=Buffer.concat(d).toString("utf8")}else s=o.toString("utf8");const i=Y(s.split(`
|
|
3
3
|
`,1)[0]);if(i===void 0||i.id!==t)throw new Error(`corrupt session log: invalid header line in "${r}"`);return{meta:i,filename:"session.jsonl",content:s}}async readStableFile(t,e){for(;;){e?.throwIfAborted();const r=D(await A(t,{bigint:!0})),o=await mt(t,{signal:e});e?.throwIfAborted();const s=D(await A(t,{bigint:!0}));if(r===s)return{buffer:o,revision:s}}}async readPrefix(t,e,r){const{buffer:o,revision:s}=await this.readStableFile(t,r);let i;try{if(this.compression==="zstd")i=await this.readZstdPrefix(o,r);else{r?.throwIfAborted();const{meta:n,events:c,committedBytes:d}=$t(o);r?.throwIfAborted(),i={meta:n,events:c,...d<o.byteLength?{tornMarker:{truncateTo:d,recoveredEvents:[]}}:{}}}}catch(n){throw n instanceof L&&n.location===void 0?new L(`${n.message} (raw log: ${t})`,{kind:"jsonl",path:t}):n}return r?.throwIfAborted(),await this.assertStoredIdentity(t,i.meta,e,r),r?.throwIfAborted(),{...i,revision:s}}async readZstdPrefix(t,e){e?.throwIfAborted();const{frames:r,tornStart:o}=O(t);if(e?.throwIfAborted(),r.length===0)throw new Error("empty or header-less Zstandard session log");const s=et();let i=F.now()+it;try{const n=s.decode(t,r);e?.throwIfAborted();const c=n.next();if(e?.throwIfAborted(),c.done)throw new Error("empty or header-less Zstandard session log");nt(c.value);const d=new G(c.value);let h=r.length-1;for(const w of n)e?.throwIfAborted(),d.write(w),h-=1,h>0&&F.now()>=i&&(await Et.yield(),e?.throwIfAborted(),i=F.now()+it);e?.throwIfAborted();const u=d.checkpoint();if(u.committedBytes!==u.inputBytes)throw new Error("corrupt Zstandard session log: complete frame contains a torn JSONL record");if(o===void 0){const w=d.finish();return{meta:w.meta,events:w.events}}let l=Buffer.alloc(0);try{e?.throwIfAborted(),l=await Wt(t.subarray(o))}catch{e?.aborted&&e.throwIfAborted()}e?.throwIfAborted(),d.write(l);const p=d.finish();return e?.throwIfAborted(),{meta:p.meta,events:p.events,tornMarker:{truncateTo:o,recoveredEvents:p.events.slice(u.eventCount)}}}catch(n){throw e?.aborted&&e.throwIfAborted(),n}finally{s.close()}}async appendBatch(t,e,r){await this.ensureRootEncoding(),r?await this.appendLines(t,e):await this.materialize(t,e)}async commitRepair(t,e,r){e!==void 0&&await this.repair(t,e.truncateTo);const o=[...e?.recoveredEvents??[],...r];o.length>0&&await this.appendLines(t,o)}async list(t){return(await this.listArtifacts(t)).map(e=>e.header)}async listSnapshots(t){const e=[];for(const r of await this.listArtifacts(t)){t?.throwIfAborted();try{const o=await A(r.path,{bigint:!0});t?.throwIfAborted(),e.push({header:r.header,revision:D(o)})}catch(o){if(t?.throwIfAborted(),!b(o))throw o}}return t?.throwIfAborted(),e}async listArtifacts(t){t?.throwIfAborted(),await this.ensureRootEncoding(),t?.throwIfAborted();const e=[],r=new Set;for(const o of await this.listProjectDirs(t)){t?.throwIfAborted();for(const s of await this.listSessionDirs(o,t)){t?.throwIfAborted();const i=f(s,`session${E(this.oppositeCompression())}`),n=await this.exists(i);if(t?.throwIfAborted(),n)throw this.encodingMismatch(i);const c=f(s,`session${E(this.compression)}`),d=await this.exists(c);if(t?.throwIfAborted(),!d)continue;const h=this.compression==="zstd"?await this.readFirstZstdLine(c,t):await this.readFirstLine(c,t);if(t?.throwIfAborted(),h===void 0)continue;const u=Y(h);if(u!==void 0){if(await this.assertStoredIdentity(c,u,void 0,t),t?.throwIfAborted(),r.has(u.id))throw new Error(`duplicate JSONL session id "${u.id}" appears in multiple project directories`);r.add(u.id),e.push({header:u,path:c})}}}return t?.throwIfAborted(),e}async materialize(t,e){const r=V(this.root,t.cwd),o=X(this.root,t.cwd,t.id),s=g(this.root,t.cwd,t.id,this.compression);await this.rejectOppositeArtifact(t.cwd,t.id);const i=await this.encodeMaterialization(t,e);process.platform==="win32"?await this.materializeWin32(r,o,s,t.id,i):await this.materializePosix(r,o,s,t.id,i)}async materializePosix(t,e,r,o,s){await _(this.root,{recursive:!0,mode:448}),await this.syncDirPosix(P(this.root)),await _(t,{recursive:!0,mode:448}),await this.syncDirPosix(this.root),await _(e,{recursive:!0,mode:448}),await this.syncDirPosix(t),await this.rejectExistingLog(r,o);const i=await this.writeSyncedTempFile(r,s);let n=!1;try{await lt(i,r),n=!0}finally{n||await S(i,{force:!0})}await this.syncDirPosix(e);try{await S(i,{force:!0})}catch{}}async materializeWin32(t,e,r,o,s){await C(this.root),await C(t),await C(e),await this.rejectExistingLog(r,o);const i=await this.writeSyncedTempFile(r,s);try{await rt(i,r)}catch(n){throw await S(i,{force:!0}),n}}async rejectExistingLog(t,e){if(await this.exists(t))throw new Error(`refusing to materialize "${e}": a log already exists on disk (load/resume it instead)`)}async writeSyncedTempFile(t,e){const r=`${t}.${bt(6).toString("hex")}.tmp`,o=await y(r,"wx",384);try{await o.writeFile(e),await o.sync()}finally{await o.close()}return r}async encodeMaterialization(t,e){const r=JSON.stringify(Nt(t))+`
|
|
4
4
|
`,o=q(e,this.packChunks)+`
|
|
5
5
|
`;if(this.compression==="none")return r+o;const s=await R(r),i=await R(o);return Buffer.concat([s,i])}async encodeEventBatch(t){const e=q(t,this.packChunks)+`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-persistence-jsonl","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-persistence-jsonl","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"koffi":"^3.1.0","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-projection","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-projection","version":"0.0.6","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","dependencies":{"zod":"^4.4.3"},"peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-projection-cache","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-projection-cache","version":"0.0.6","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":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6","@qqbrowser/qbot-dsh-storage-domain":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session-projection":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-query","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-query","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-brand":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session-title":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6"},"peerDependenciesMeta":{"@qqbrowser/qbot-dsh-session-persistence":{"optional":true}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-query-sqlite","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-query-sqlite","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session-query":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6"},"peerDependenciesMeta":{"@qqbrowser/qbot-dsh-session-persistence":{"optional":true}},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-reference","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-reference","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-compaction":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-output-retention":"^0.0.6","@qqbrowser/qbot-dsh-session-query":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-stats","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-stats","version":"0.0.6","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"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-session-projection":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-llm":"^0.0.6"},"dependencies":{"zod":"^4.4.3"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-telemetry","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-telemetry","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-agent":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session":"^0.0.6"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-telemetry-otel","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-telemetry-otel","version":"0.0.6","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":{"@opentelemetry/api":"^1.9.1","@opentelemetry/api-logs":"^0.220.0","@opentelemetry/exporter-logs-otlp-http":"^0.220.0","@opentelemetry/otlp-exporter-base":"^0.220.0","@opentelemetry/resources":"^2.9.0","@opentelemetry/sdk-logs":"^0.220.0","@deepseek-ai/schemastery":"^3.18.1"},"peerDependencies":{"@qqbrowser/qbot-dsh-command-feedback":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session-telemetry":"^0.0.6","@qqbrowser/qbot-dsh-anonymous-user-id":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-title","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-title","version":"0.0.6","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"},"./client":{"types":"./lib/types/client.d.ts","default":"./lib/types/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"license":"MIT","peerDependencies":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-brand":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session-projection":"^0.0.6"},"dependencies":{"zod":"^4.4.3","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-title-first-prompt-llm","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-title-first-prompt-llm","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-session-title":"^0.0.6","@qqbrowser/qbot-dsh-session-title-llm":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-session-title-llm","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-session-title-llm","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-timeout":"^0.0.6","@qqbrowser/qbot-dsh-session":"^0.0.6","@qqbrowser/qbot-dsh-session-title":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-settings","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-settings","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-brand":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-settings-file","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-settings-file","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@qqbrowser/qbot-dsh-atomic-write":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-settings":"^0.0.6"},"dependencies":{"chokidar":"^4.0.3","yaml":"^2.9.0","@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var n=Object.defineProperty;var s=(e,o)=>n(e,"name",{value:o,configurable:!0});import{Service as t}from"@deepseek-ai/cordis";import{settingsNamespace as d}from"@qqbrowser/qbot-dsh-settings";import{
|
|
1
|
+
var n=Object.defineProperty;var s=(e,o)=>n(e,"name",{value:o,configurable:!0});import{Service as t}from"@deepseek-ai/cordis";import{settingsNamespace as d}from"@qqbrowser/qbot-dsh-settings";import{DSH_ENV_PREFIX as c}from"@qqbrowser/qbot-dsh-subprocess";function l(e){const o=/\n\[killed by signal: ([^\]\n]+)\]$/.exec(e);if(o?.[1]!==void 0)return{body:e.slice(0,o.index),signal:o[1]};const i=/\n\[exit code: (\d+)\]$/.exec(e);return i?.[1]!==void 0?{body:e.slice(0,i.index),exitCode:Number(i[1])}:{body:e,exitCode:0}}s(l,"parseExitStatus");const a=d("shell");var r=class extends t{static{s(this,"ShellExecutor")}constructor(e){super(e,"shell")}get sandboxMode(){}};export{c as DSH_ENV_PREFIX,a as SHELL_SETTINGS_NAMESPACE,r as ShellExecutor,r as default,l as parseExitStatus};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-shell","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-shell","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-subprocess":"^0.0.6","@qqbrowser/qbot-dsh-sandbox":"^0.0.6","@qqbrowser/qbot-dsh-settings":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var b=Object.defineProperty;var c=(e,r)=>b(e,"name",{value:r,configurable:!0});import{Service as E}from"@deepseek-ai/cordis";import h from"@deepseek-ai/schemastery";import{
|
|
1
|
+
var b=Object.defineProperty;var c=(e,r)=>b(e,"name",{value:r,configurable:!0});import{Service as E}from"@deepseek-ai/cordis";import h from"@deepseek-ai/schemastery";import{DSH_ENV_PREFIX as i}from"@qqbrowser/qbot-dsh-shell";import{DSH_HOME_ENV as l,resolveDshHome as w}from"@qqbrowser/qbot-dsh-home-paths";const S="shell-env",p=[],u=h.object({dshHome:h.string()}),m=`${i}SHELL`,d=`${i}SESSION_ID`,v=`${i}SESSION_JSONL`,y=new Set([l,m,d]),_=/^[A-Z][A-Z0-9_]*$/;var f=class extends E{static{c(this,"ShellEnvRegistry")}contributors=new Map;keyOwners=new Map;dshHome;constructor(e,r={}){super(e,"shellEnv"),this.dshHome=w(r.dshHome)}register(e){const r=this.ctx.effect(function*(){if(e.name.trim().length===0)throw new Error("bash env contributor name must be non-empty");if(this.contributors.has(e.name))throw new Error(`bash env contributor "${e.name}" is already registered`);const s=Object.entries(e.variables);for(const[t,n]of s){if(y.has(t))throw new Error(`bash env contributor "${e.name}" cannot own reserved key "${t}"`);if(!t.startsWith(i)||!_.test(t.slice(i.length)))throw new Error(`bash env contributor "${e.name}" declared invalid key "${t}"`);if(n.description.trim().length===0)throw new Error(`bash env contributor "${e.name}" must describe "${t}"`);const o=this.keyOwners.get(t);if(o!==void 0)throw new Error(`bash env key "${t}" is already owned by contributor "${o}"; contributor "${e.name}" cannot also own it`)}this.contributors.set(e.name,e);for(const[t]of s)this.keyOwners.set(t,e.name);yield()=>{this.contributors.delete(e.name);for(const[t]of s)this.keyOwners.delete(t)}}.bind(this),"bashEnv.register()");return()=>{r()}}collect(e){const r={[l]:this.dshHome,[m]:"1"};e.agent!==void 0&&(r[d]=e.agent.session.header.id);for(const s of[...this.contributors.values()].sort((t,n)=>t.name.localeCompare(n.name))){const t=s.resolve(e);for(const[n,o]of Object.entries(t)){const a=n;if(!Object.hasOwn(s.variables,a))throw new Error(`bash env contributor "${s.name}" returned undeclared key "${a}"`);if(typeof o!="string")throw new Error(`bash env contributor "${s.name}" returned a non-string value for "${a}"`);r[a]=o}}return Object.freeze(Object.fromEntries(Object.entries(r).sort(([s],[t])=>s.localeCompare(t))))}list(){return[...this.contributors.values()].flatMap(e=>Object.entries(e.variables).map(([r,s])=>({contributor:e.name,description:s.description,key:r}))).sort((e,r)=>e.key.localeCompare(r.key))}};function O(e,r={}){new f(e,r).register({name:"session-persistence",variables:{[v]:{description:"Absolute target path of the current session JSONL when the active persistence backend provides one."}},resolve(s){const t=s.agent;if(t===void 0)return{};const n=e.get("sessionPersistence")?.locate(t.session.header);return n?.kind==="jsonl"?{[v]:n.path}:{}}})}c(O,"apply");export{u as Config,f as ShellEnvRegistry,O as apply,p as inject,S as name};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-shell-env","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-shell-env","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-shell":"^0.0.6","@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-home-paths":"^0.0.6","@qqbrowser/qbot-dsh-tools":"^0.0.6","@deepseek-ai/cordis":"^4.0.1","@qqbrowser/qbot-dsh-session-persistence":"^0.0.6"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-skill","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-skill","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-llm":"^0.0.6","@qqbrowser/qbot-dsh-scope":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"},"dependencies":{"@deepseek-ai/schemastery":"^3.18.1"}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@qqbrowser/qbot-dsh-skill-badge","version":"0.0.
|
|
1
|
+
{"name":"@qqbrowser/qbot-dsh-skill-badge","version":"0.0.6","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":{"@qqbrowser/qbot-dsh-invariants":"^0.0.6","@qqbrowser/qbot-dsh-skill":"^0.0.6","@deepseek-ai/cordis":"^4.0.1"}}
|