@songtonyli/dsh-cli 0.1.12 → 0.1.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/bin/dsh.mjs +1 -1
- package/node_modules/@deepseek-ai/cordis/lib/index.js +3 -2
- package/node_modules/@deepseek-ai/cordis/src/logger.ts +3 -2
- package/node_modules/@deepseek-ai/cordis-plugin-loader/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/cordis-plugin-loader/src/config/entry.ts +1 -1
- package/node_modules/@deepseek-ai/dsh/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh/README.md +6 -4
- package/node_modules/@deepseek-ai/dsh/README.zh.md +6 -4
- package/node_modules/@deepseek-ai/dsh/lib/bin.js +118 -54
- package/node_modules/@deepseek-ai/dsh/lib/{dump-config-CpQgpJa2.js → dump-config-Bb5YvFIX.js} +1 -1
- package/node_modules/@deepseek-ai/dsh/lib/plugin-DJ-rVHUS.js +31 -0
- package/node_modules/@deepseek-ai/dsh/lib/{profile-boot-CuwbWsnH.js → profile-boot-BNu17Y9U.js} +82 -135
- package/node_modules/@deepseek-ai/dsh/lib/profile-boot.js +2 -0
- package/node_modules/@deepseek-ai/dsh/package.json +117 -102
- package/node_modules/@deepseek-ai/dsh-acp/package.json +22 -22
- package/node_modules/@deepseek-ai/dsh-acp-app/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-acp-app/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-acp-app/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-acp-app/cordis.patch.yml +3 -0
- package/node_modules/@deepseek-ai/dsh-acp-app/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-agent/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-agent-default-model/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-agent-instructions/package.json +21 -21
- package/node_modules/@deepseek-ai/dsh-agent-loop/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-agent-loop/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-loop/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-loop/lib/index.js +2 -3
- package/node_modules/@deepseek-ai/dsh-agent-loop/package.json +25 -25
- package/node_modules/@deepseek-ai/dsh-agent-presets/package.json +27 -27
- package/node_modules/@deepseek-ai/dsh-agent-presets/presets/cordis/agent.cordis.yml +23 -13
- package/node_modules/@deepseek-ai/dsh-agent-presets/presets/cordis/preset.yml +1 -1
- package/node_modules/@deepseek-ai/dsh-agent-presets/presets/cordis/skills/cordis-plugin-development/SKILL.md +73 -385
- package/node_modules/@deepseek-ai/dsh-agent-presets/presets/cordis/skills/editing-cordis-compositions/SKILL.md +9 -72
- package/node_modules/@deepseek-ai/dsh-agent-presets/presets/ptc/agent.cordis.yml +4 -0
- package/node_modules/@deepseek-ai/dsh-agent-presets/presets/standard/agent.cordis.yml +4 -0
- package/node_modules/@deepseek-ai/dsh-agent-tool-presentation/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-anonymous-user-id/package.json +5 -5
- package/node_modules/@deepseek-ai/dsh-api-authorization-controller/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-api-gateway/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-api-gateway/README.md +9 -5
- package/node_modules/@deepseek-ai/dsh-api-gateway/README.zh.md +9 -5
- package/node_modules/@deepseek-ai/dsh-api-gateway/lib/client.js +41 -51
- package/node_modules/@deepseek-ai/dsh-api-gateway/lib/types/client/index.js +4 -17
- package/node_modules/@deepseek-ai/dsh-api-gateway/lib/types/client/remote-events.js +33 -38
- package/node_modules/@deepseek-ai/dsh-api-gateway/lib/types/client/stream-client.js +2 -1
- package/node_modules/@deepseek-ai/dsh-api-gateway/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-api-remotes/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-api-remotes/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-api-remotes/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-api-remotes/lib/client.js +754 -76
- package/node_modules/@deepseek-ai/dsh-api-remotes/lib/index.js +12 -0
- package/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/client/index.js +5 -4
- package/node_modules/@deepseek-ai/dsh-api-remotes/lib/types/remote-events.js +3 -0
- package/node_modules/@deepseek-ai/dsh-api-remotes/package.json +37 -35
- package/node_modules/@deepseek-ai/dsh-api-session-controller/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-api-session-controller/README.md +15 -3
- package/node_modules/@deepseek-ai/dsh-api-session-controller/README.zh.md +15 -3
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/client.js +428 -471
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/index.js +16 -47
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.host.js +11 -32
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/typert.remote-client.js +0 -21
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/agent.js +8 -1
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/index.js +16 -5
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/scope.js +15 -22
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/lineage.js +1 -3
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/manager.js +75 -174
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/projection-store.js +6 -14
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/service.js +259 -244
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/client/sessions/session.js +29 -33
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/commands.js +10 -4
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/control.js +1 -41
- package/node_modules/@deepseek-ai/dsh-api-session-controller/lib/types/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-api-session-controller/package.json +66 -66
- package/node_modules/@deepseek-ai/dsh-api-settings-controller/package.json +13 -13
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/README.md +14 -5
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/README.zh.md +14 -5
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/client.js +249 -19
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/index.js +258 -50
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/typert.host.js +67 -11
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/typert.remote-client.js +54 -9
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/client/bindings.js +71 -0
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/client/index.js +83 -8
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/client/model.js +20 -7
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/client/retention.js +77 -0
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/index.js +49 -43
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/retention.js +153 -0
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/lib/types/terminal.js +35 -0
- package/node_modules/@deepseek-ai/dsh-api-terminal-controller/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-api-workspace-controller/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/lib/index.js +6 -11
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/lib/typert.host.js +4 -4
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/lib/typert.remote-client.js +4 -4
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/lib/types/index.js +6 -7
- package/node_modules/@deepseek-ai/dsh-api-workspace-files/package.json +11 -10
- package/node_modules/@deepseek-ai/dsh-app-boot/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-app-boot/README.md +18 -8
- package/node_modules/@deepseek-ai/dsh-app-boot/README.zh.md +17 -7
- package/node_modules/@deepseek-ai/dsh-app-boot/lib/index.js +360 -202
- package/node_modules/@deepseek-ai/dsh-app-boot/package.json +9 -17
- package/node_modules/@deepseek-ai/dsh-atomic-write/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-atomic-write/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-atomic-write/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-atomic-write/lib/index.js +8 -3
- package/node_modules/@deepseek-ai/dsh-atomic-write/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-attachment/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-attachment-local/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-authorization/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-base/cordis.patch.yml +12 -5
- package/node_modules/@deepseek-ai/dsh-base/package.json +89 -88
- package/node_modules/@deepseek-ai/dsh-bash-local/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-bash-sandbox/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-brand/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-chunked-list/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-client-connection/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-connection/README.md +4 -0
- package/node_modules/@deepseek-ai/dsh-client-connection/README.zh.md +4 -0
- package/node_modules/@deepseek-ai/dsh-client-connection/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-connection/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-client-file-upload/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-client-hmr/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-hmr/README.md +11 -11
- package/node_modules/@deepseek-ai/dsh-client-hmr/README.zh.md +11 -11
- package/node_modules/@deepseek-ai/dsh-client-hmr/lib/client.js +10 -59
- package/node_modules/@deepseek-ai/dsh-client-hmr/lib/index.js +15 -7
- package/node_modules/@deepseek-ai/dsh-client-hmr/package.json +5 -5
- package/node_modules/@deepseek-ai/dsh-client-locale/package.json +8 -6
- package/node_modules/@deepseek-ai/dsh-client-modules/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-modules/README.md +14 -4
- package/node_modules/@deepseek-ai/dsh-client-modules/README.zh.md +14 -4
- package/node_modules/@deepseek-ai/dsh-client-modules/lib/client.js +407 -26
- package/node_modules/@deepseek-ai/dsh-client-modules/lib/index.js +62 -10
- package/node_modules/@deepseek-ai/dsh-client-modules/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-client-resources/package.json +4 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/lib/client.js +140 -48
- package/node_modules/@deepseek-ai/dsh-client-ui-agent-preset/package.json +15 -12
- package/node_modules/@deepseek-ai/dsh-client-ui-approval/package.json +12 -10
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/lib/client.js +24 -12
- package/node_modules/@deepseek-ai/dsh-client-ui-attachment/package.json +9 -7
- package/node_modules/@deepseek-ai/dsh-client-ui-brand-official/package.json +4 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-chat/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-chat/README.md +4 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-chat/README.zh.md +4 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-chat/lib/client.js +49 -34
- package/node_modules/@deepseek-ai/dsh-client-ui-chat/package.json +33 -29
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/lib/client.js +107 -34
- package/node_modules/@deepseek-ai/dsh-client-ui-commands/package.json +14 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/README.md +13 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/README.zh.md +13 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/lib/client.js +520 -384
- package/node_modules/@deepseek-ai/dsh-client-ui-conversation/package.json +30 -26
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/README.md +9 -13
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/README.zh.md +9 -13
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/lib/client.js +3 -35
- package/node_modules/@deepseek-ai/dsh-client-ui-cordis/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/README.md +25 -15
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/README.zh.md +25 -15
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/client.js +1364 -160
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/lib/index.js +164 -41
- package/node_modules/@deepseek-ai/dsh-client-ui-deliverables/package.json +27 -22
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-browse/package.json +7 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/README.md +8 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/README.zh.md +7 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/lib/client.js +3 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-directory-picker-native/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-goal/package.json +14 -12
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/lib/client.js +112 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-input-trigger/package.json +11 -8
- package/node_modules/@deepseek-ai/dsh-client-ui-jobs/package.json +8 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/lib/client.js +27 -8
- package/node_modules/@deepseek-ai/dsh-client-ui-layout/package.json +7 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-message-feedback/package.json +15 -13
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/README.md +5 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/README.zh.md +5 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/lib/client.js +152 -33
- package/node_modules/@deepseek-ai/dsh-client-ui-model-selection/package.json +14 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-open-in-app/package.json +10 -8
- package/node_modules/@deepseek-ai/dsh-client-ui-permission-presets/package.json +14 -12
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/README.md +9 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/README.zh.md +9 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/lib/client.js +564 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-plan/package.json +26 -10
- package/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/README.md +129 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/README.zh.md +129 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/lib/client.js +2550 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/lib/index.js +6 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-plugin-manager/package.json +65 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/LICENSE +21 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/README.md +172 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/README.zh.md +172 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Button.module.css +79 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Checkbox.module.css +28 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ConnectionIndicator.module.css +123 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DiffBlock.module.css +109 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/DisclosureRow.module.css +84 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/FileTypeIcon.module.css +50 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/HoverCard.module.css +54 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Input.module.css +38 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/JsonTree.module.css +345 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Menu.module.css +261 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Modal.module.css +103 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/OnboardingSurface.module.css +29 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Pill.module.css +27 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/ReadBlock.module.css +111 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/RiskConfirmation.module.css +73 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/SearchBlock.module.css +112 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/StateDot.module.css +73 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Switch.module.css +50 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tag.module.css +57 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/TerminalBlock.module.css +205 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Toast.module.css +72 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/Tooltip.module.css +42 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/WebBlock.module.css +141 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/index.js +8666 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/CodeBlock.module.css +130 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/JsonBlock.module.css +32 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/markdown/MarkdownText.module.css +462 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/BrandWordmark.d.ts +15 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Button.d.ts +18 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Checkbox.d.ts +20 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/CodeFileIcon.d.ts +12 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/ConnectionIndicator.d.ts +26 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/DiffBlock.d.ts +52 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/DisclosureRow.d.ts +29 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/FileTypeIcon.d.ts +43 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/FishLogo.d.ts +16 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/FoldToggle.d.ts +20 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/HoverCard.d.ts +24 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Input.d.ts +11 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/JsonTree.d.ts +59 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/LinkIcon.d.ts +49 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Menu.d.ts +90 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Modal.d.ts +36 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/OnboardingSurface.d.ts +11 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Pill.d.ts +13 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/ReadBlock.d.ts +47 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/ReferenceIcon.d.ts +16 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/RiskConfirmation.d.ts +20 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/SearchBlock.d.ts +72 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/SiteGlyph.d.ts +25 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/StateDot.d.ts +18 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Switch.d.ts +20 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Tag.d.ts +32 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/TerminalBlock.d.ts +66 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Toast.d.ts +32 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/Tooltip.d.ts +34 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/WebBlock.d.ts +61 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/ansi.d.ts +17 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/clipboard.d.ts +9 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/code-file-icon-artwork.d.ts +54 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/code-file-types.d.ts +30 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/darwin-desktop.d.ts +9 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/file-size.d.ts +8 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/head-tail-cap.d.ts +23 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/icons/index.d.ts +200 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/icons/props.d.ts +9 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/index.d.ts +70 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/CodeBlock.d.ts +30 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/JsonBlock.d.ts +8 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/MarkdownDelegate.d.ts +36 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/MarkdownText.d.ts +49 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/cjkFriendlyStrong.d.ts +9 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/file-link.d.ts +13 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/highlight.d.ts +142 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/incremental.d.ts +80 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/katex.d.ts +27 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/mathCompatibility.d.ts +11 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/parse.d.ts +25 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/plain-text.d.ts +22 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/render.d.ts +138 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/markdown/useViewportHighlighting.d.ts +11 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/pointer-grace.d.ts +22 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/rank-by-name.d.ts +22 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/relative-time.d.ts +23 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/use-copy-feedback.d.ts +14 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/useAnchoredMaxHeight.d.ts +11 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/useAnchoredPosition.d.ts +34 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/useDismissOnOutsidePointer.d.ts +11 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/types/user-text.d.ts +37 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/lib/user-text.module.css +43 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-primitives/package.json +60 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-reference/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-reference/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-reference/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-reference/lib/client.js +19 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-reference/package.json +13 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-renderer/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-renderer/README.md +4 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-renderer/README.zh.md +4 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-renderer/lib/client.js +463 -57
- package/node_modules/@deepseek-ai/dsh-client-ui-renderer/package.json +3 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-schedule/package.json +10 -8
- package/node_modules/@deepseek-ai/dsh-client-ui-session/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-session/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-session/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-session/lib/client.js +232 -72
- package/node_modules/@deepseek-ai/dsh-client-ui-session/package.json +8 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-settings/package.json +5 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/lib/client.js +293 -27
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-general/package.json +11 -9
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/README.md +4 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/README.zh.md +4 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/lib/client.js +244 -227
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-models/package.json +8 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/README.md +6 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/README.zh.md +6 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/lib/client.js +52 -10
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugin-inventory/package.json +12 -8
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/README.md +24 -19
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/README.zh.md +23 -18
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/lib/client.js +649 -509
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-plugins/package.json +10 -7
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-signin/package.json +7 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-settings-unarchive-sessions/package.json +11 -9
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/README.md +8 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/README.zh.md +8 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/lib/client.js +105 -25
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar/package.json +11 -7
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/README.md +117 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/README.zh.md +117 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/lib/client.js +821 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/lib/index.js +6 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-browser/package.json +60 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/README.md +39 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/README.zh.md +39 -6
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/lib/client.js +1821 -25130
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/lib/client.pdf.js +32609 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/lib/index.js +26 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-documentpreview/package.json +25 -15
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-files/package.json +11 -9
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-right/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-right/README.md +9 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-right/README.zh.md +9 -3
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-right/lib/client.js +4538 -13
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-right/package.json +13 -10
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/README.md +8 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/README.zh.md +8 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/lib/client.js +42 -13423
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/lib/client.terminal.js +13494 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-sidebar-terminal/package.json +14 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-skill/package.json +13 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/LICENSE +21 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/README.md +111 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/README.zh.md +111 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/lib/index.js +577 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/lib/types/index.d.ts +951 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/lib/types/renderer.d.ts +263 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/lib/types/store.d.ts +3 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-slots/package.json +37 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/README.md +3 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/README.zh.md +3 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/lib/client.js +212 -16
- package/node_modules/@deepseek-ai/dsh-client-ui-subagent/package.json +22 -12
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/client.js +1 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-theme/package.json +10 -8
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/lib/client.js +1 -0
- package/node_modules/@deepseek-ai/dsh-client-ui-tool/package.json +21 -19
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/README.md +5 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/README.zh.md +5 -1
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/lib/client.js +132 -66
- package/node_modules/@deepseek-ai/dsh-client-ui-trajectory/package.json +15 -13
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/README.md +6 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/README.zh.md +6 -4
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/lib/client.js +71 -74
- package/node_modules/@deepseek-ai/dsh-client-ui-user-questions/package.json +18 -15
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/lib/client.js +12 -5
- package/node_modules/@deepseek-ai/dsh-client-ui-workflow-run/package.json +15 -11
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/README.md +10 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/README.zh.md +10 -2
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/lib/client.js +403 -217
- package/node_modules/@deepseek-ai/dsh-client-ui-workspace/package.json +18 -15
- package/node_modules/@deepseek-ai/dsh-cmdline/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-command-compact/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-command-feedback/package.json +11 -11
- package/node_modules/@deepseek-ai/dsh-command-goal/package.json +11 -11
- package/node_modules/@deepseek-ai/dsh-commands/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-compaction/package.json +11 -11
- package/node_modules/@deepseek-ai/dsh-compaction-basic/package.json +22 -22
- package/node_modules/@deepseek-ai/dsh-compaction-image-offload/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-compaction-tool-result-pruner/package.json +13 -13
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/README.md +7 -7
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/README.zh.md +7 -7
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/lib/client.js +736 -219
- package/node_modules/@deepseek-ai/dsh-cordis-client-runner/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/README.md +7 -7
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/README.zh.md +7 -7
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/lib/index.js +5 -5
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/lib/types/index.js +5 -8
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/lib/types/lifecycle.js +2 -2
- package/node_modules/@deepseek-ai/dsh-cordis-host-runner/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-credentials/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-credentials-local/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-deepseek-llm-api-extensions/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-deque/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/README.md +220 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/README.zh.md +220 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/index.js +1894 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/invariant.js +361 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/typert.host.js +879 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/typert.remote-client.js +218 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/activity.js +85 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/client.js +3 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/error.js +23 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/index.js +313 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/invariant.js +26 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/journal.js +63 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/lifecycle.js +85 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/mailbox.js +293 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/persisted.js +20 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/projection.js +260 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/roster.js +448 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/session-message.js +23 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/task-board.js +275 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/task-graph.js +62 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/types.js +26 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/lib/types/validation.js +33 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team/package.json +87 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-profile/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-profile/README.md +107 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-profile/README.zh.md +107 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-profile/cordis.patch.yml +30 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-profile/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-profile/package.json +48 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-web-profile/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-web-profile/README.md +98 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-web-profile/README.zh.md +98 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-web-profile/cordis.patch.yml +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-web-profile/lib/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-experimental-agent-team-web-profile/package.json +47 -0
- package/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/README.md +98 -0
- package/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/README.zh.md +98 -0
- package/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/lib/client.js +4979 -0
- package/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/lib/index.js +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-client-ui-agent-team/package.json +81 -0
- package/node_modules/@deepseek-ai/dsh-experimental-tool-agent-team/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-experimental-tool-agent-team/README.md +159 -0
- package/node_modules/@deepseek-ai/dsh-experimental-tool-agent-team/README.zh.md +159 -0
- package/node_modules/@deepseek-ai/dsh-experimental-tool-agent-team/lib/index.js +550 -0
- package/node_modules/@deepseek-ai/dsh-experimental-tool-agent-team/package.json +59 -0
- package/node_modules/@deepseek-ai/dsh-file-reference/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-file-reference-local/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-fs/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-fs-local/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-fs-observation-policy/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-fs-sandbox/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-goal/package.json +22 -22
- package/node_modules/@deepseek-ai/dsh-goal-round-driver/package.json +15 -15
- package/node_modules/@deepseek-ai/dsh-headless/cordis.patch.yml +3 -0
- package/node_modules/@deepseek-ai/dsh-headless/package.json +17 -17
- package/node_modules/@deepseek-ai/dsh-hmr/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-hmr/README.md +95 -0
- package/node_modules/@deepseek-ai/dsh-hmr/README.zh.md +95 -0
- package/node_modules/@deepseek-ai/dsh-hmr/lib/index.js +672 -0
- package/node_modules/@deepseek-ai/{cordis-plugin-hmr → dsh-hmr}/package.json +18 -21
- package/node_modules/@deepseek-ai/dsh-home-paths/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-hook-protocol/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-hooks-claude-code/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-hooks-codex/package.json +18 -18
- 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 +13 -13
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-browse/package.json +2 -2
- package/node_modules/@deepseek-ai/dsh-host-directory-picker-native/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-host-frontend-static/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-host-open-in-app/package.json +5 -5
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/lib/index.js +40 -24
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/lib/typert.host.js +2 -1
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/lib/typert.remote-client.js +2 -1
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/lib/types/index.js +36 -24
- package/node_modules/@deepseek-ai/dsh-host-plugin-inventory/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-host-webserver/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-http-proxy/package.json +2 -2
- package/node_modules/@deepseek-ai/dsh-invariants/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-jobs/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-jobs-local/package.json +11 -11
- package/node_modules/@deepseek-ai/dsh-launch-environment/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-lazy-require/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-llm/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-llm/lib/index.js +2 -1
- package/node_modules/@deepseek-ai/dsh-llm/lib/typert.host.js +3 -2
- package/node_modules/@deepseek-ai/dsh-llm/lib/typert.remote-client.js +2 -1
- package/node_modules/@deepseek-ai/dsh-llm/lib/types/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-llm/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/README.md +4 -4
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/README.zh.md +4 -4
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/lib/index.js +33 -37
- package/node_modules/@deepseek-ai/dsh-llm-deepseek/package.json +37 -37
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/README.md +3 -2
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/README.zh.md +3 -2
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/lib/index.js +47 -3
- package/node_modules/@deepseek-ai/dsh-llm-pi-ai/package.json +21 -21
- package/node_modules/@deepseek-ai/dsh-llm-retry/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-mcp-client/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-mcp-resources/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-message-feedback/package.json +14 -14
- package/node_modules/@deepseek-ai/dsh-native-command/package.json +2 -2
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/README.md +105 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/README.zh.md +105 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/index.js +659 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/typert.host.js +193 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/typert.remote-client.js +94 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/types/errors.js +15 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/types/identity.js +23 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/types/index.js +287 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/types/output.js +47 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/types/queue.js +246 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/lib/types/types.js +2 -0
- package/node_modules/@deepseek-ai/dsh-office-to-pdf/package.json +64 -0
- package/node_modules/@deepseek-ai/dsh-output-retention/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-package-manifest/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-permission-presets/package.json +21 -21
- package/node_modules/@deepseek-ai/dsh-persona/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-plan-mode/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-plan-mode/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-plan-mode/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-plan-mode/lib/index.js +2 -1
- package/node_modules/@deepseek-ai/dsh-plan-mode/lib/types/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-plan-mode/package.json +22 -22
- package/node_modules/@deepseek-ai/dsh-plugin-manager/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/README.md +133 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/README.zh.md +133 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/index.js +1174 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/typert.host.js +604 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/typert.remote-client.js +393 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/build-approval.js +56 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/failure.js +8 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/index.js +623 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/install-failure.js +33 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/install-spec.js +73 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/operations.js +177 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/patch.js +50 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/tools.js +74 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/lib/types/types.js +2 -0
- package/node_modules/@deepseek-ai/dsh-plugin-manager/package.json +102 -0
- package/node_modules/@deepseek-ai/dsh-plugin-package-inventory-deepseek/package.json +13 -13
- package/node_modules/@deepseek-ai/dsh-ptc-runtime/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-ptc-runtime-node/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-ptc-runtime-node/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-ptc-runtime-node/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-ptc-runtime-node/lib/index.js +1 -1
- package/node_modules/@deepseek-ai/dsh-ptc-runtime-node/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-pwsh-local/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-pwsh-sandbox/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/lib/index.js +2 -1
- package/node_modules/@deepseek-ai/dsh-repeat-tool-reminder/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-sandbox/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-sandbox/README.md +2 -2
- package/node_modules/@deepseek-ai/dsh-sandbox/README.zh.md +2 -2
- package/node_modules/@deepseek-ai/dsh-sandbox/lib/index.js +6 -9
- package/node_modules/@deepseek-ai/dsh-sandbox/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-sandbox-local/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-sandbox-policy/package.json +13 -13
- package/node_modules/@deepseek-ai/dsh-sandbox-windows-acl/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-schedule/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-scope/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-sdk-app/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-sdk-app/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-sdk-app/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-sdk-app/cordis.patch.yml +3 -0
- package/node_modules/@deepseek-ai/dsh-sdk-app/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-sdk-jsonrpc-server/package.json +21 -21
- package/node_modules/@deepseek-ai/dsh-sdk-minimal/package.json +28 -28
- package/node_modules/@deepseek-ai/dsh-sdk-protocol/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-session/lib/index.js +2 -1
- package/node_modules/@deepseek-ai/dsh-session/lib/types/known-event-types.js +1 -0
- package/node_modules/@deepseek-ai/dsh-session/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-session-checkpoint-policy/package.json +15 -15
- package/node_modules/@deepseek-ai/dsh-session-format/package.json +2 -2
- package/node_modules/@deepseek-ai/dsh-session-format-catalog/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-session-format-v0-to-v1/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-session-format-v1-to-v2/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-session-format-v2-to-v3/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-session-log-deepseek/package.json +14 -14
- package/node_modules/@deepseek-ai/dsh-session-log-export/package.json +19 -17
- package/node_modules/@deepseek-ai/dsh-session-persistence/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/lib/worker.cjs +7 -4
- package/node_modules/@deepseek-ai/dsh-session-persistence-jsonl/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-session-projection/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-session-projection-cache/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-session-query/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-session-query-sqlite/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-session-reference/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-session-reference/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-session-reference/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-session-reference/lib/index.js +20 -16
- package/node_modules/@deepseek-ai/dsh-session-reference/lib/typert.host.js +4 -3
- package/node_modules/@deepseek-ai/dsh-session-reference/lib/typert.remote-client.js +2 -1
- package/node_modules/@deepseek-ai/dsh-session-reference/lib/types/index.js +30 -23
- package/node_modules/@deepseek-ai/dsh-session-reference/package.json +34 -32
- package/node_modules/@deepseek-ai/dsh-session-stats/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-session-telemetry/package.json +5 -5
- package/node_modules/@deepseek-ai/dsh-session-telemetry-otel/package.json +19 -19
- package/node_modules/@deepseek-ai/dsh-session-title/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-session-title-first-prompt-llm/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-session-title-llm/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-session-turn-outline/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-settings/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-settings-file/package.json +8 -8
- package/node_modules/@deepseek-ai/dsh-shell/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-shell-env/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-skill/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-skill-badge/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-skill-filesystem/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-spill/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-spill-local/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-spill-policy/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-storage/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-storage-domain/package.json +5 -5
- package/node_modules/@deepseek-ai/dsh-storage-json/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-subagent/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-subagent/README.md +12 -0
- package/node_modules/@deepseek-ai/dsh-subagent/README.zh.md +12 -0
- package/node_modules/@deepseek-ai/dsh-subagent/lib/index.js +116 -50
- package/node_modules/@deepseek-ai/dsh-subagent/lib/typert.host.js +11 -4
- package/node_modules/@deepseek-ai/dsh-subagent/lib/typert.remote-client.js +3 -3
- package/node_modules/@deepseek-ai/dsh-subagent/lib/types/continuation-activation.js +41 -4
- package/node_modules/@deepseek-ai/dsh-subagent/lib/types/continuation.js +2 -2
- package/node_modules/@deepseek-ai/dsh-subagent/lib/types/control.js +1 -0
- package/node_modules/@deepseek-ai/dsh-subagent/lib/types/index.js +29 -3
- package/node_modules/@deepseek-ai/dsh-subagent/package.json +54 -48
- package/node_modules/@deepseek-ai/dsh-subagent-acp/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-subagent-fork-in-process/package.json +14 -14
- package/node_modules/@deepseek-ai/dsh-subagent-in-process-driver/package.json +22 -22
- package/node_modules/@deepseek-ai/dsh-subagent-spawn-in-process/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-subprocess/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-subprocess/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-subprocess/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-subprocess/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-subprocess-local/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-subprocess-local/README.md +7 -0
- package/node_modules/@deepseek-ai/dsh-subprocess-local/README.zh.md +7 -0
- package/node_modules/@deepseek-ai/dsh-subprocess-local/lib/index.js +267 -20
- package/node_modules/@deepseek-ai/dsh-subprocess-local/lib/runner-launch-DGV26RBf.js +1525 -0
- package/node_modules/@deepseek-ai/dsh-subprocess-local/lib/runner.js +1 -1
- package/node_modules/@deepseek-ai/dsh-subprocess-local/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-system-prompt/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-terminal/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-terminal-bash/package.json +17 -17
- package/node_modules/@deepseek-ai/dsh-time-context/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-timeout/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-tmux-context/lib/index.js +2 -1
- package/node_modules/@deepseek-ai/dsh-tmux-context/package.json +11 -11
- package/node_modules/@deepseek-ai/dsh-token-meter/package.json +14 -14
- package/node_modules/@deepseek-ai/dsh-tool-ask-user/package.json +9 -9
- package/node_modules/@deepseek-ai/dsh-tool-bash/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-bash/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-bash/package.json +29 -29
- package/node_modules/@deepseek-ai/dsh-tool-bash-persistent/package.json +17 -17
- package/node_modules/@deepseek-ai/dsh-tool-call-timeout-policy/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-tool-cordis/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-cordis/README.md +11 -131
- package/node_modules/@deepseek-ai/dsh-tool-cordis/README.zh.md +15 -135
- package/node_modules/@deepseek-ai/dsh-tool-cordis/lib/index.js +688 -743
- package/node_modules/@deepseek-ai/dsh-tool-cordis/package.json +10 -16
- package/node_modules/@deepseek-ai/dsh-tool-fs/lib/index.js +10 -6
- package/node_modules/@deepseek-ai/dsh-tool-fs/package.json +27 -27
- package/node_modules/@deepseek-ai/dsh-tool-fs-search/package.json +20 -20
- package/node_modules/@deepseek-ai/dsh-tool-goal/package.json +16 -16
- package/node_modules/@deepseek-ai/dsh-tool-jobs/package.json +15 -15
- package/node_modules/@deepseek-ai/dsh-tool-present/README.i18n.yaml +1 -1
- package/node_modules/@deepseek-ai/dsh-tool-present/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-tool-pwsh/package.json +28 -28
- package/node_modules/@deepseek-ai/dsh-tool-pwsh-persistent/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-tool-ralph/package.json +19 -19
- package/node_modules/@deepseek-ai/dsh-tool-skill/package.json +12 -12
- package/node_modules/@deepseek-ai/dsh-tool-str-replace-editor/package.json +17 -17
- package/node_modules/@deepseek-ai/dsh-tool-subagent/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-subagent/README.md +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-subagent/README.zh.md +2 -2
- package/node_modules/@deepseek-ai/dsh-tool-subagent/lib/index.js +3 -3
- package/node_modules/@deepseek-ai/dsh-tool-subagent/package.json +28 -28
- package/node_modules/@deepseek-ai/dsh-tool-subagent-control/package.json +19 -19
- package/node_modules/@deepseek-ai/dsh-tool-todo/package.json +15 -15
- package/node_modules/@deepseek-ai/dsh-tool-web/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-tool-workflow/package.json +18 -18
- package/node_modules/@deepseek-ai/dsh-tools/package.json +24 -24
- package/node_modules/@deepseek-ai/dsh-tui-app/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-tui-app/README.md +13 -12
- package/node_modules/@deepseek-ai/dsh-tui-app/README.zh.md +13 -12
- package/node_modules/@deepseek-ai/dsh-tui-app/cordis.patch.yml +9 -0
- package/node_modules/@deepseek-ai/dsh-tui-app/lib/index.js +928 -130
- package/node_modules/@deepseek-ai/dsh-tui-app/package.json +68 -62
- package/node_modules/@deepseek-ai/dsh-typert-loader/package.json +4 -4
- package/node_modules/@deepseek-ai/dsh-typert-protocol/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-typert-protocol/README.md +3 -1
- package/node_modules/@deepseek-ai/dsh-typert-protocol/README.zh.md +3 -1
- package/node_modules/@deepseek-ai/dsh-typert-protocol/lib/index.js +32 -1
- package/node_modules/@deepseek-ai/dsh-typert-protocol/lib/types/index.js +1 -0
- package/node_modules/@deepseek-ai/dsh-typert-protocol/lib/types/owned-value.js +32 -0
- package/node_modules/@deepseek-ai/dsh-typert-protocol/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-typert-registry/package.json +2 -2
- package/node_modules/@deepseek-ai/dsh-user-approval/package.json +15 -15
- package/node_modules/@deepseek-ai/dsh-user-questions/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-user-questions/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-user-questions/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-user-questions/lib/index.js +2 -1
- package/node_modules/@deepseek-ai/dsh-user-questions/lib/types/plan-review.js +5 -1
- package/node_modules/@deepseek-ai/dsh-user-questions/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-util-crypto/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-util-time/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-util-values/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-util-values/README.md +6 -3
- package/node_modules/@deepseek-ai/dsh-util-values/README.zh.md +6 -3
- package/node_modules/@deepseek-ai/dsh-util-values/lib/index.js +62 -1
- package/node_modules/@deepseek-ai/dsh-util-values/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-util-workspace-path/package.json +1 -1
- package/node_modules/@deepseek-ai/dsh-web/package.json +3 -3
- package/node_modules/@deepseek-ai/dsh-web-app/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-web-app/README.md +1 -1
- package/node_modules/@deepseek-ai/dsh-web-app/README.zh.md +1 -1
- package/node_modules/@deepseek-ai/dsh-web-app/cordis.patch.yml +35 -12
- package/node_modules/@deepseek-ai/dsh-web-app/package.json +98 -86
- package/node_modules/@deepseek-ai/dsh-web-fetch-http/package.json +7 -7
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-8VXBH-f-.js +127 -0
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-lP1BfJ4l.css +1 -0
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/index.html +2 -2
- package/node_modules/@deepseek-ai/dsh-web-frontend/package.json +9 -6
- package/node_modules/@deepseek-ai/dsh-web-search-deepseek/package.json +15 -15
- package/node_modules/@deepseek-ai/dsh-web-search-exa/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-web-search-perplexity/package.json +6 -6
- package/node_modules/@deepseek-ai/dsh-webhook/package.json +21 -21
- package/node_modules/@deepseek-ai/dsh-webhook-github/package.json +10 -10
- package/node_modules/@deepseek-ai/dsh-win32-process/README.i18n.yaml +2 -2
- package/node_modules/@deepseek-ai/dsh-win32-process/README.md +2 -0
- package/node_modules/@deepseek-ai/dsh-win32-process/README.zh.md +2 -0
- package/node_modules/@deepseek-ai/dsh-win32-process/lib/index.js +7 -4
- package/node_modules/@deepseek-ai/dsh-win32-process/package.json +2 -2
- package/node_modules/@deepseek-ai/dsh-workflow/package.json +11 -11
- package/node_modules/@deepseek-ai/dsh-workflow-ptc/package.json +33 -33
- package/node_modules/@deepseek-ai/dsh-workspace/package.json +14 -14
- package/node_modules/@deepseek-ai/dsh-workspace-changes/README.i18n.yaml +6 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/README.md +108 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/README.zh.md +108 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/index.js +1106 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/capture.js +107 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/compare.js +56 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/git.js +224 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/index.js +139 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/numstat.js +45 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/paths.js +106 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/recorder.js +333 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/lib/types/types.js +2 -0
- package/node_modules/@deepseek-ai/dsh-workspace-changes/package.json +56 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/LICENSE +373 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/NOTICE +26 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/README.md +73 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/README.zh.md +73 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/lib/index.js +924 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/lib/worker.js +800 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/CHANGELOG.md +115 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/LICENSE +21 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/README.md +558 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/esm/browser.js +2665 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/esm/index.mjs +2679 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/lib/browser.cjs +2688 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/lib/index.cjs +2668 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/lib/node-worker.cjs +32 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/lib/node.cjs +2700 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/lib/worker.cjs +20 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/package.json +127 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/node_modules/fflate/umd/index.js +1 -0
- package/node_modules/@deepseek-ai/libreoffice-kit/package.json +39 -0
- package/node_modules/@sec-ant/readable-stream/LICENSE +21 -0
- package/node_modules/@sec-ant/readable-stream/README.md +230 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/asyncIterator.js +5 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/fromAnyIterable.js +5 -0
- package/node_modules/@sec-ant/readable-stream/dist/index/index.js +8 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/asyncIterator.js +3 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/fromAnyIterable.js +2 -0
- package/node_modules/@sec-ant/readable-stream/dist/polyfill/index.js +4 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/asyncIterator.js +89 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/fromAnyIterable.js +34 -0
- package/node_modules/@sec-ant/readable-stream/dist/ponyfill/index.js +6 -0
- package/node_modules/@sec-ant/readable-stream/package.json +73 -0
- package/node_modules/@sindresorhus/merge-streams/index.js +265 -0
- package/node_modules/@sindresorhus/merge-streams/license +9 -0
- package/node_modules/@sindresorhus/merge-streams/package.json +46 -0
- package/node_modules/@sindresorhus/merge-streams/readme.md +53 -0
- package/node_modules/@swc/helpers/LICENSE +201 -0
- package/node_modules/@swc/helpers/_/_apply_decorated_descriptor/package.json +4 -0
- package/node_modules/@swc/helpers/_/_apply_decs_2203_r/package.json +4 -0
- package/node_modules/@swc/helpers/_/_apply_decs_2311/package.json +4 -0
- package/node_modules/@swc/helpers/_/_array_like_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_array_with_holes/package.json +4 -0
- package/node_modules/@swc/helpers/_/_array_without_holes/package.json +4 -0
- package/node_modules/@swc/helpers/_/_assert_this_initialized/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_generator_delegate/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_iterator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_async_to_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_await_async_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_await_value/package.json +4 -0
- package/node_modules/@swc/helpers/_/_call_super/package.json +4 -0
- package/node_modules/@swc/helpers/_/_check_private_redeclaration/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_destructure/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_apply_descriptor_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_call_check/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_check_private_static_access/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_check_private_static_field_descriptor/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_extract_field_descriptor/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_name_tdz_error/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_destructure/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_init/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_loose_base/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_loose_key/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_field_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_method_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_method_init/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_private_method_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_destructure/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_spec_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_spec_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_field_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_class_static_private_method_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_construct/package.json +4 -0
- package/node_modules/@swc/helpers/_/_create_class/package.json +4 -0
- package/node_modules/@swc/helpers/_/_create_for_of_iterator_helper_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_create_super/package.json +4 -0
- package/node_modules/@swc/helpers/_/_decorate/package.json +4 -0
- package/node_modules/@swc/helpers/_/_defaults/package.json +4 -0
- package/node_modules/@swc/helpers/_/_define_enumerable_properties/package.json +4 -0
- package/node_modules/@swc/helpers/_/_define_property/package.json +4 -0
- package/node_modules/@swc/helpers/_/_dispose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_export_star/package.json +4 -0
- package/node_modules/@swc/helpers/_/_extends/package.json +4 -0
- package/node_modules/@swc/helpers/_/_get/package.json +4 -0
- package/node_modules/@swc/helpers/_/_get_prototype_of/package.json +4 -0
- package/node_modules/@swc/helpers/_/_identity/package.json +4 -0
- package/node_modules/@swc/helpers/_/_inherits/package.json +4 -0
- package/node_modules/@swc/helpers/_/_inherits_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_initializer_define_property/package.json +4 -0
- package/node_modules/@swc/helpers/_/_initializer_warning_helper/package.json +4 -0
- package/node_modules/@swc/helpers/_/_instanceof/package.json +4 -0
- package/node_modules/@swc/helpers/_/_interop_require_default/package.json +4 -0
- package/node_modules/@swc/helpers/_/_interop_require_wildcard/package.json +4 -0
- package/node_modules/@swc/helpers/_/_is_native_function/package.json +4 -0
- package/node_modules/@swc/helpers/_/_is_native_reflect_construct/package.json +4 -0
- package/node_modules/@swc/helpers/_/_iterable_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_iterable_to_array_limit/package.json +4 -0
- package/node_modules/@swc/helpers/_/_iterable_to_array_limit_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_jsx/package.json +4 -0
- package/node_modules/@swc/helpers/_/_new_arrow_check/package.json +4 -0
- package/node_modules/@swc/helpers/_/_non_iterable_rest/package.json +4 -0
- package/node_modules/@swc/helpers/_/_non_iterable_spread/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_destructuring_empty/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_spread/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_spread_props/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_without_properties/package.json +4 -0
- package/node_modules/@swc/helpers/_/_object_without_properties_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_overload_yield/package.json +4 -0
- package/node_modules/@swc/helpers/_/_possible_constructor_return/package.json +4 -0
- package/node_modules/@swc/helpers/_/_read_only_error/package.json +4 -0
- package/node_modules/@swc/helpers/_/_set/package.json +4 -0
- package/node_modules/@swc/helpers/_/_set_prototype_of/package.json +4 -0
- package/node_modules/@swc/helpers/_/_skip_first_generator_next/package.json +4 -0
- package/node_modules/@swc/helpers/_/_sliced_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_sliced_to_array_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_super_prop_base/package.json +4 -0
- package/node_modules/@swc/helpers/_/_tagged_template_literal/package.json +4 -0
- package/node_modules/@swc/helpers/_/_tagged_template_literal_loose/package.json +4 -0
- package/node_modules/@swc/helpers/_/_throw/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_consumable_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_primitive/package.json +4 -0
- package/node_modules/@swc/helpers/_/_to_property_key/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_add_disposable_resource/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_decorate/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_dispose_resources/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_metadata/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_param/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_rewrite_relative_import_extension/package.json +4 -0
- package/node_modules/@swc/helpers/_/_ts_values/package.json +4 -0
- package/node_modules/@swc/helpers/_/_type_of/package.json +4 -0
- package/node_modules/@swc/helpers/_/_unsupported_iterable_to_array/package.json +4 -0
- package/node_modules/@swc/helpers/_/_update/package.json +4 -0
- package/node_modules/@swc/helpers/_/_using/package.json +4 -0
- package/node_modules/@swc/helpers/_/_using_ctx/package.json +4 -0
- package/node_modules/@swc/helpers/_/_wrap_async_generator/package.json +4 -0
- package/node_modules/@swc/helpers/_/_wrap_native_super/package.json +4 -0
- package/node_modules/@swc/helpers/_/_wrap_reg_exp/package.json +4 -0
- package/node_modules/@swc/helpers/_/_write_only_error/package.json +4 -0
- package/node_modules/@swc/helpers/_/index/package.json +4 -0
- package/node_modules/@swc/helpers/cjs/_apply_decorated_descriptor.cjs +35 -0
- package/node_modules/@swc/helpers/cjs/_apply_decs_2203_r.cjs +574 -0
- package/node_modules/@swc/helpers/cjs/_apply_decs_2311.cjs +346 -0
- package/node_modules/@swc/helpers/cjs/_array_like_to_array.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_array_with_holes.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_array_without_holes.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_assert_this_initialized.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_async_generator.cjs +76 -0
- package/node_modules/@swc/helpers/cjs/_async_generator_delegate.cjs +53 -0
- package/node_modules/@swc/helpers/cjs/_async_iterator.cjs +46 -0
- package/node_modules/@swc/helpers/cjs/_async_to_generator.cjs +33 -0
- package/node_modules/@swc/helpers/cjs/_await_async_generator.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_await_value.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_call_super.cjs +19 -0
- package/node_modules/@swc/helpers/cjs/_check_private_redeclaration.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_destructure.cjs +25 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_get.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_set.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_class_apply_descriptor_update.cjs +30 -0
- package/node_modules/@swc/helpers/cjs/_class_call_check.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_check_private_static_access.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_check_private_static_field_descriptor.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_extract_field_descriptor.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_name_tdz_error.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_destructure.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_get.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_init.cjs +9 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_set.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_class_private_field_update.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_class_private_method_get.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_class_private_method_init.cjs +9 -0
- package/node_modules/@swc/helpers/cjs/_class_private_method_set.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_destructure.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_get.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_spec_set.cjs +14 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_field_update.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_class_static_private_method_get.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_construct.cjs +22 -0
- package/node_modules/@swc/helpers/cjs/_create_class.cjs +20 -0
- package/node_modules/@swc/helpers/cjs/_create_for_of_iterator_helper_loose.cjs +24 -0
- package/node_modules/@swc/helpers/cjs/_create_super.cjs +23 -0
- package/node_modules/@swc/helpers/cjs/_decorate.cjs +270 -0
- package/node_modules/@swc/helpers/cjs/_defaults.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_define_enumerable_properties.cjs +26 -0
- package/node_modules/@swc/helpers/cjs/_define_property.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_dispose.cjs +43 -0
- package/node_modules/@swc/helpers/cjs/_export_star.cjs +17 -0
- package/node_modules/@swc/helpers/cjs/_extends.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_get.cjs +23 -0
- package/node_modules/@swc/helpers/cjs/_get_prototype_of.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_identity.cjs +7 -0
- package/node_modules/@swc/helpers/cjs/_inherits.cjs +14 -0
- package/node_modules/@swc/helpers/cjs/_inherits_loose.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_initializer_define_property.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_initializer_warning_helper.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_instanceof.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_interop_require_default.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs +38 -0
- package/node_modules/@swc/helpers/cjs/_is_native_function.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_is_native_reflect_construct.cjs +18 -0
- package/node_modules/@swc/helpers/cjs/_iterable_to_array.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_iterable_to_array_limit.cjs +31 -0
- package/node_modules/@swc/helpers/cjs/_iterable_to_array_limit_loose.cjs +17 -0
- package/node_modules/@swc/helpers/cjs/_jsx.cjs +28 -0
- package/node_modules/@swc/helpers/cjs/_new_arrow_check.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_non_iterable_rest.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_non_iterable_spread.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_object_destructuring_empty.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_object_spread.cjs +25 -0
- package/node_modules/@swc/helpers/cjs/_object_spread_props.cjs +30 -0
- package/node_modules/@swc/helpers/cjs/_object_without_properties.cjs +35 -0
- package/node_modules/@swc/helpers/cjs/_object_without_properties_loose.cjs +16 -0
- package/node_modules/@swc/helpers/cjs/_overload_yield.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_possible_constructor_return.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_read_only_error.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_set.cjs +44 -0
- package/node_modules/@swc/helpers/cjs/_set_prototype_of.cjs +12 -0
- package/node_modules/@swc/helpers/cjs/_skip_first_generator_next.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_sliced_to_array.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_sliced_to_array_loose.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_super_prop_base.cjs +13 -0
- package/node_modules/@swc/helpers/cjs/_tagged_template_literal.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_throw.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/_to_array.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_to_consumable_array.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_to_primitive.cjs +18 -0
- package/node_modules/@swc/helpers/cjs/_to_property_key.cjs +11 -0
- package/node_modules/@swc/helpers/cjs/_ts_add_disposable_resource.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_decorate.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_dispose_resources.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_generator.cjs +31 -0
- package/node_modules/@swc/helpers/cjs/_ts_metadata.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_param.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_rewrite_relative_import_extension.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_ts_values.cjs +3 -0
- package/node_modules/@swc/helpers/cjs/_type_of.cjs +8 -0
- package/node_modules/@swc/helpers/cjs/_unsupported_iterable_to_array.cjs +15 -0
- package/node_modules/@swc/helpers/cjs/_update.cjs +16 -0
- package/node_modules/@swc/helpers/cjs/_using.cjs +24 -0
- package/node_modules/@swc/helpers/cjs/_using_ctx.cjs +75 -0
- package/node_modules/@swc/helpers/cjs/_wrap_async_generator.cjs +10 -0
- package/node_modules/@swc/helpers/cjs/_wrap_native_super.cjs +28 -0
- package/node_modules/@swc/helpers/cjs/_wrap_reg_exp.cjs +84 -0
- package/node_modules/@swc/helpers/cjs/_write_only_error.cjs +6 -0
- package/node_modules/@swc/helpers/cjs/index.cjs +439 -0
- package/node_modules/@swc/helpers/esm/_apply_decorated_descriptor.js +33 -0
- package/node_modules/@swc/helpers/esm/_apply_decs_2203_r.js +572 -0
- package/node_modules/@swc/helpers/esm/_apply_decs_2311.js +344 -0
- package/node_modules/@swc/helpers/esm/_array_like_to_array.js +8 -0
- package/node_modules/@swc/helpers/esm/_array_with_holes.js +4 -0
- package/node_modules/@swc/helpers/esm/_array_without_holes.js +6 -0
- package/node_modules/@swc/helpers/esm/_assert_this_initialized.js +6 -0
- package/node_modules/@swc/helpers/esm/_async_generator.js +74 -0
- package/node_modules/@swc/helpers/esm/_async_generator_delegate.js +51 -0
- package/node_modules/@swc/helpers/esm/_async_iterator.js +44 -0
- package/node_modules/@swc/helpers/esm/_async_to_generator.js +31 -0
- package/node_modules/@swc/helpers/esm/_await_async_generator.js +6 -0
- package/node_modules/@swc/helpers/esm/_await_value.js +4 -0
- package/node_modules/@swc/helpers/esm/_call_super.js +17 -0
- package/node_modules/@swc/helpers/esm/_check_private_redeclaration.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_destructure.js +23 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_get.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_set.js +13 -0
- package/node_modules/@swc/helpers/esm/_class_apply_descriptor_update.js +28 -0
- package/node_modules/@swc/helpers/esm/_class_call_check.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_check_private_static_access.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_check_private_static_field_descriptor.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_extract_field_descriptor.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_name_tdz_error.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_destructure.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_get.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_init.js +7 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_loose_base.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_loose_key.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_set.js +9 -0
- package/node_modules/@swc/helpers/esm/_class_private_field_update.js +8 -0
- package/node_modules/@swc/helpers/esm/_class_private_method_get.js +6 -0
- package/node_modules/@swc/helpers/esm/_class_private_method_init.js +7 -0
- package/node_modules/@swc/helpers/esm/_class_private_method_set.js +4 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_destructure.js +11 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_spec_get.js +11 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_spec_set.js +12 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_field_update.js +11 -0
- package/node_modules/@swc/helpers/esm/_class_static_private_method_get.js +8 -0
- package/node_modules/@swc/helpers/esm/_construct.js +20 -0
- package/node_modules/@swc/helpers/esm/_create_class.js +18 -0
- package/node_modules/@swc/helpers/esm/_create_for_of_iterator_helper_loose.js +22 -0
- package/node_modules/@swc/helpers/esm/_create_super.js +21 -0
- package/node_modules/@swc/helpers/esm/_decorate.js +268 -0
- package/node_modules/@swc/helpers/esm/_defaults.js +13 -0
- package/node_modules/@swc/helpers/esm/_define_enumerable_properties.js +24 -0
- package/node_modules/@swc/helpers/esm/_define_property.js +8 -0
- package/node_modules/@swc/helpers/esm/_dispose.js +41 -0
- package/node_modules/@swc/helpers/esm/_export_star.js +15 -0
- package/node_modules/@swc/helpers/esm/_extends.js +13 -0
- package/node_modules/@swc/helpers/esm/_get.js +21 -0
- package/node_modules/@swc/helpers/esm/_get_prototype_of.js +8 -0
- package/node_modules/@swc/helpers/esm/_identity.js +5 -0
- package/node_modules/@swc/helpers/esm/_inherits.js +12 -0
- package/node_modules/@swc/helpers/esm/_inherits_loose.js +6 -0
- package/node_modules/@swc/helpers/esm/_initializer_define_property.js +11 -0
- package/node_modules/@swc/helpers/esm/_initializer_warning_helper.js +9 -0
- package/node_modules/@swc/helpers/esm/_instanceof.js +8 -0
- package/node_modules/@swc/helpers/esm/_interop_require_default.js +4 -0
- package/node_modules/@swc/helpers/esm/_interop_require_wildcard.js +36 -0
- package/node_modules/@swc/helpers/esm/_is_native_function.js +4 -0
- package/node_modules/@swc/helpers/esm/_is_native_reflect_construct.js +16 -0
- package/node_modules/@swc/helpers/esm/_iterable_to_array.js +6 -0
- package/node_modules/@swc/helpers/esm/_iterable_to_array_limit.js +29 -0
- package/node_modules/@swc/helpers/esm/_iterable_to_array_limit_loose.js +15 -0
- package/node_modules/@swc/helpers/esm/_jsx.js +26 -0
- package/node_modules/@swc/helpers/esm/_new_arrow_check.js +4 -0
- package/node_modules/@swc/helpers/esm/_non_iterable_rest.js +4 -0
- package/node_modules/@swc/helpers/esm/_non_iterable_spread.js +4 -0
- package/node_modules/@swc/helpers/esm/_object_destructuring_empty.js +6 -0
- package/node_modules/@swc/helpers/esm/_object_spread.js +23 -0
- package/node_modules/@swc/helpers/esm/_object_spread_props.js +28 -0
- package/node_modules/@swc/helpers/esm/_object_without_properties.js +33 -0
- package/node_modules/@swc/helpers/esm/_object_without_properties_loose.js +14 -0
- package/node_modules/@swc/helpers/esm/_overload_yield.js +6 -0
- package/node_modules/@swc/helpers/esm/_possible_constructor_return.js +9 -0
- package/node_modules/@swc/helpers/esm/_read_only_error.js +4 -0
- package/node_modules/@swc/helpers/esm/_set.js +42 -0
- package/node_modules/@swc/helpers/esm/_set_prototype_of.js +10 -0
- package/node_modules/@swc/helpers/esm/_skip_first_generator_next.js +9 -0
- package/node_modules/@swc/helpers/esm/_sliced_to_array.js +9 -0
- package/node_modules/@swc/helpers/esm/_sliced_to_array_loose.js +9 -0
- package/node_modules/@swc/helpers/esm/_super_prop_base.js +11 -0
- package/node_modules/@swc/helpers/esm/_tagged_template_literal.js +6 -0
- package/node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js +8 -0
- package/node_modules/@swc/helpers/esm/_throw.js +4 -0
- package/node_modules/@swc/helpers/esm/_to_array.js +9 -0
- package/node_modules/@swc/helpers/esm/_to_consumable_array.js +9 -0
- package/node_modules/@swc/helpers/esm/_to_primitive.js +16 -0
- package/node_modules/@swc/helpers/esm/_to_property_key.js +9 -0
- package/node_modules/@swc/helpers/esm/_ts_add_disposable_resource.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_decorate.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_dispose_resources.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_generator.js +29 -0
- package/node_modules/@swc/helpers/esm/_ts_metadata.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_param.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_rewrite_relative_import_extension.js +1 -0
- package/node_modules/@swc/helpers/esm/_ts_values.js +1 -0
- package/node_modules/@swc/helpers/esm/_type_of.js +6 -0
- package/node_modules/@swc/helpers/esm/_unsupported_iterable_to_array.js +13 -0
- package/node_modules/@swc/helpers/esm/_update.js +14 -0
- package/node_modules/@swc/helpers/esm/_using.js +22 -0
- package/node_modules/@swc/helpers/esm/_using_ctx.js +73 -0
- package/node_modules/@swc/helpers/esm/_wrap_async_generator.js +8 -0
- package/node_modules/@swc/helpers/esm/_wrap_native_super.js +26 -0
- package/node_modules/@swc/helpers/esm/_wrap_reg_exp.js +82 -0
- package/node_modules/@swc/helpers/esm/_write_only_error.js +4 -0
- package/node_modules/@swc/helpers/esm/index.js +110 -0
- package/node_modules/@swc/helpers/package.json +702 -0
- package/node_modules/@swc/helpers/scripts/ast_grep.js +218 -0
- package/node_modules/@swc/helpers/scripts/build.js +133 -0
- package/node_modules/@swc/helpers/scripts/errors.js +1 -0
- package/node_modules/@swc/helpers/scripts/utils.js +3 -0
- package/node_modules/@swc/helpers/src/_apply_decorated_descriptor.mjs +1 -0
- package/node_modules/@swc/helpers/src/_apply_decs_2203_r.mjs +1 -0
- package/node_modules/@swc/helpers/src/_apply_decs_2311.mjs +1 -0
- package/node_modules/@swc/helpers/src/_array_like_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_array_with_holes.mjs +1 -0
- package/node_modules/@swc/helpers/src/_array_without_holes.mjs +1 -0
- package/node_modules/@swc/helpers/src/_assert_this_initialized.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_generator_delegate.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_iterator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_async_to_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_await_async_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_await_value.mjs +1 -0
- package/node_modules/@swc/helpers/src/_call_super.mjs +1 -0
- package/node_modules/@swc/helpers/src/_check_private_redeclaration.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_destructure.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_apply_descriptor_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_call_check.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_check_private_static_access.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_check_private_static_field_descriptor.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_extract_field_descriptor.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_name_tdz_error.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_destructure.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_init.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_loose_base.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_loose_key.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_field_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_method_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_method_init.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_private_method_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_destructure.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_spec_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_spec_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_field_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_class_static_private_method_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_construct.mjs +1 -0
- package/node_modules/@swc/helpers/src/_create_class.mjs +1 -0
- package/node_modules/@swc/helpers/src/_create_for_of_iterator_helper_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_create_super.mjs +1 -0
- package/node_modules/@swc/helpers/src/_decorate.mjs +1 -0
- package/node_modules/@swc/helpers/src/_defaults.mjs +1 -0
- package/node_modules/@swc/helpers/src/_define_enumerable_properties.mjs +1 -0
- package/node_modules/@swc/helpers/src/_define_property.mjs +1 -0
- package/node_modules/@swc/helpers/src/_dispose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_export_star.mjs +1 -0
- package/node_modules/@swc/helpers/src/_extends.mjs +1 -0
- package/node_modules/@swc/helpers/src/_get.mjs +1 -0
- package/node_modules/@swc/helpers/src/_get_prototype_of.mjs +1 -0
- package/node_modules/@swc/helpers/src/_identity.mjs +1 -0
- package/node_modules/@swc/helpers/src/_inherits.mjs +1 -0
- package/node_modules/@swc/helpers/src/_inherits_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_initializer_define_property.mjs +1 -0
- package/node_modules/@swc/helpers/src/_initializer_warning_helper.mjs +1 -0
- package/node_modules/@swc/helpers/src/_instanceof.mjs +1 -0
- package/node_modules/@swc/helpers/src/_interop_require_default.mjs +1 -0
- package/node_modules/@swc/helpers/src/_interop_require_wildcard.mjs +1 -0
- package/node_modules/@swc/helpers/src/_is_native_function.mjs +1 -0
- package/node_modules/@swc/helpers/src/_is_native_reflect_construct.mjs +1 -0
- package/node_modules/@swc/helpers/src/_iterable_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_iterable_to_array_limit.mjs +1 -0
- package/node_modules/@swc/helpers/src/_iterable_to_array_limit_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_jsx.mjs +1 -0
- package/node_modules/@swc/helpers/src/_new_arrow_check.mjs +1 -0
- package/node_modules/@swc/helpers/src/_non_iterable_rest.mjs +1 -0
- package/node_modules/@swc/helpers/src/_non_iterable_spread.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_destructuring_empty.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_spread.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_spread_props.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_without_properties.mjs +1 -0
- package/node_modules/@swc/helpers/src/_object_without_properties_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_overload_yield.mjs +1 -0
- package/node_modules/@swc/helpers/src/_possible_constructor_return.mjs +1 -0
- package/node_modules/@swc/helpers/src/_read_only_error.mjs +1 -0
- package/node_modules/@swc/helpers/src/_set.mjs +1 -0
- package/node_modules/@swc/helpers/src/_set_prototype_of.mjs +1 -0
- package/node_modules/@swc/helpers/src/_skip_first_generator_next.mjs +1 -0
- package/node_modules/@swc/helpers/src/_sliced_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_sliced_to_array_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_super_prop_base.mjs +1 -0
- package/node_modules/@swc/helpers/src/_tagged_template_literal.mjs +1 -0
- package/node_modules/@swc/helpers/src/_tagged_template_literal_loose.mjs +1 -0
- package/node_modules/@swc/helpers/src/_throw.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_consumable_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_primitive.mjs +1 -0
- package/node_modules/@swc/helpers/src/_to_property_key.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_add_disposable_resource.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_decorate.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_dispose_resources.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_metadata.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_param.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_rewrite_relative_import_extension.mjs +1 -0
- package/node_modules/@swc/helpers/src/_ts_values.mjs +1 -0
- package/node_modules/@swc/helpers/src/_type_of.mjs +1 -0
- package/node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs +1 -0
- package/node_modules/@swc/helpers/src/_update.mjs +1 -0
- package/node_modules/@swc/helpers/src/_using.mjs +1 -0
- package/node_modules/@swc/helpers/src/_using_ctx.mjs +1 -0
- package/node_modules/@swc/helpers/src/_wrap_async_generator.mjs +1 -0
- package/node_modules/@swc/helpers/src/_wrap_native_super.mjs +1 -0
- package/node_modules/@swc/helpers/src/_wrap_reg_exp.mjs +1 -0
- package/node_modules/@swc/helpers/src/_write_only_error.mjs +1 -0
- package/node_modules/@swc/helpers/src/index.mjs +1 -0
- package/node_modules/brotli/build/encode.js +57 -0
- package/node_modules/brotli/build/mem.js +1 -0
- package/node_modules/brotli/compress.js +43 -0
- package/node_modules/brotli/dec/bit_reader.js +124 -0
- package/node_modules/brotli/dec/context.js +250 -0
- package/node_modules/brotli/dec/decode.js +938 -0
- package/node_modules/brotli/dec/dictionary-browser.js +14 -0
- package/node_modules/brotli/dec/dictionary-data.js +9469 -0
- package/node_modules/brotli/dec/dictionary.bin.js +1 -0
- package/node_modules/brotli/dec/dictionary.js +36 -0
- package/node_modules/brotli/dec/huffman.js +123 -0
- package/node_modules/brotli/dec/prefix.js +60 -0
- package/node_modules/brotli/dec/streams.js +34 -0
- package/node_modules/brotli/dec/transform.js +247 -0
- package/node_modules/brotli/decompress.js +1 -0
- package/node_modules/brotli/enc/pre.js +7 -0
- package/node_modules/brotli/index.js +2 -0
- package/node_modules/brotli/package.json +31 -0
- package/node_modules/brotli/readme.md +61 -0
- package/node_modules/clone/.npmignore +4 -0
- package/node_modules/clone/LICENSE +18 -0
- package/node_modules/clone/README.md +194 -0
- package/node_modules/clone/clone.iml +10 -0
- package/node_modules/clone/clone.js +257 -0
- package/node_modules/clone/package.json +53 -0
- package/node_modules/dfa/README.md +83 -0
- package/node_modules/dfa/compile.js +1834 -0
- package/node_modules/dfa/index.js +91 -0
- package/node_modules/dfa/package.json +38 -0
- package/node_modules/execa/index.js +25 -0
- package/node_modules/execa/lib/arguments/command-file.js +201 -0
- package/node_modules/execa/lib/arguments/command.js +20 -0
- package/node_modules/execa/lib/arguments/cwd.js +39 -0
- package/node_modules/execa/lib/arguments/encoding-option.js +50 -0
- package/node_modules/execa/lib/arguments/escape.js +88 -0
- package/node_modules/execa/lib/arguments/fd-options.js +109 -0
- package/node_modules/execa/lib/arguments/file-url.js +25 -0
- package/node_modules/execa/lib/arguments/options.js +105 -0
- package/node_modules/execa/lib/arguments/shell.js +11 -0
- package/node_modules/execa/lib/arguments/specific.js +112 -0
- package/node_modules/execa/lib/convert/add.js +19 -0
- package/node_modules/execa/lib/convert/concurrent.js +33 -0
- package/node_modules/execa/lib/convert/duplex.js +69 -0
- package/node_modules/execa/lib/convert/iterable.js +34 -0
- package/node_modules/execa/lib/convert/readable.js +129 -0
- package/node_modules/execa/lib/convert/shared.js +46 -0
- package/node_modules/execa/lib/convert/web.js +7 -0
- package/node_modules/execa/lib/convert/writable.js +111 -0
- package/node_modules/execa/lib/io/contents.js +116 -0
- package/node_modules/execa/lib/io/input-sync.js +44 -0
- package/node_modules/execa/lib/io/iterate.js +110 -0
- package/node_modules/execa/lib/io/max-buffer.js +89 -0
- package/node_modules/execa/lib/io/output-async.js +82 -0
- package/node_modules/execa/lib/io/output-sync.js +136 -0
- package/node_modules/execa/lib/io/pipeline.js +48 -0
- package/node_modules/execa/lib/io/strip-newline.js +12 -0
- package/node_modules/execa/lib/ipc/array.js +4 -0
- package/node_modules/execa/lib/ipc/buffer-messages.js +47 -0
- package/node_modules/execa/lib/ipc/forward.js +56 -0
- package/node_modules/execa/lib/ipc/get-each.js +113 -0
- package/node_modules/execa/lib/ipc/get-one.js +92 -0
- package/node_modules/execa/lib/ipc/graceful.js +72 -0
- package/node_modules/execa/lib/ipc/incoming.js +79 -0
- package/node_modules/execa/lib/ipc/ipc-input.js +50 -0
- package/node_modules/execa/lib/ipc/methods.js +50 -0
- package/node_modules/execa/lib/ipc/outgoing.js +53 -0
- package/node_modules/execa/lib/ipc/reference.js +48 -0
- package/node_modules/execa/lib/ipc/send.js +91 -0
- package/node_modules/execa/lib/ipc/strict.js +113 -0
- package/node_modules/execa/lib/ipc/validation.js +111 -0
- package/node_modules/execa/lib/methods/bind.js +23 -0
- package/node_modules/execa/lib/methods/command.js +27 -0
- package/node_modules/execa/lib/methods/create.js +63 -0
- package/node_modules/execa/lib/methods/main-async.js +235 -0
- package/node_modules/execa/lib/methods/main-sync.js +167 -0
- package/node_modules/execa/lib/methods/node.js +63 -0
- package/node_modules/execa/lib/methods/parameters.js +32 -0
- package/node_modules/execa/lib/methods/promise.js +2 -0
- package/node_modules/execa/lib/methods/script.js +22 -0
- package/node_modules/execa/lib/methods/template.js +153 -0
- package/node_modules/execa/lib/pipe/abort.js +20 -0
- package/node_modules/execa/lib/pipe/pipe-arguments.js +91 -0
- package/node_modules/execa/lib/pipe/sequence.js +24 -0
- package/node_modules/execa/lib/pipe/setup.js +230 -0
- package/node_modules/execa/lib/pipe/streaming.js +51 -0
- package/node_modules/execa/lib/pipe/throw.js +58 -0
- package/node_modules/execa/lib/resolve/all-async.js +46 -0
- package/node_modules/execa/lib/resolve/all-sync.js +33 -0
- package/node_modules/execa/lib/resolve/exit-async.js +54 -0
- package/node_modules/execa/lib/resolve/exit-sync.js +25 -0
- package/node_modules/execa/lib/resolve/stdio.js +47 -0
- package/node_modules/execa/lib/resolve/wait-stream.js +97 -0
- package/node_modules/execa/lib/resolve/wait-subprocess.js +150 -0
- package/node_modules/execa/lib/return/duration.js +8 -0
- package/node_modules/execa/lib/return/early-error.js +77 -0
- package/node_modules/execa/lib/return/final-error.js +44 -0
- package/node_modules/execa/lib/return/message.js +157 -0
- package/node_modules/execa/lib/return/reject.js +13 -0
- package/node_modules/execa/lib/return/result.js +186 -0
- package/node_modules/execa/lib/stdio/direction.js +89 -0
- package/node_modules/execa/lib/stdio/duplicate.js +119 -0
- package/node_modules/execa/lib/stdio/handle-async.js +52 -0
- package/node_modules/execa/lib/stdio/handle-sync.js +68 -0
- package/node_modules/execa/lib/stdio/handle.js +243 -0
- package/node_modules/execa/lib/stdio/input-option.js +54 -0
- package/node_modules/execa/lib/stdio/native.js +106 -0
- package/node_modules/execa/lib/stdio/stdio-option.js +95 -0
- package/node_modules/execa/lib/stdio/type.js +181 -0
- package/node_modules/execa/lib/terminate/cancel.js +20 -0
- package/node_modules/execa/lib/terminate/cleanup.js +16 -0
- package/node_modules/execa/lib/terminate/graceful.js +73 -0
- package/node_modules/execa/lib/terminate/kill-descendants.js +79 -0
- package/node_modules/execa/lib/terminate/kill.js +93 -0
- package/node_modules/execa/lib/terminate/signal.js +70 -0
- package/node_modules/execa/lib/terminate/timeout.js +21 -0
- package/node_modules/execa/lib/transform/encoding-transform.js +51 -0
- package/node_modules/execa/lib/transform/generator.js +107 -0
- package/node_modules/execa/lib/transform/normalize.js +106 -0
- package/node_modules/execa/lib/transform/object-mode.js +41 -0
- package/node_modules/execa/lib/transform/run-async.js +60 -0
- package/node_modules/execa/lib/transform/run-sync.js +50 -0
- package/node_modules/execa/lib/transform/split.js +112 -0
- package/node_modules/execa/lib/transform/validate.js +43 -0
- package/node_modules/execa/lib/utils/abort-signal.js +8 -0
- package/node_modules/execa/lib/utils/deferred.js +7 -0
- package/node_modules/execa/lib/utils/max-listeners.js +14 -0
- package/node_modules/execa/lib/utils/standard-stream.js +6 -0
- package/node_modules/execa/lib/utils/uint-array.js +69 -0
- package/node_modules/execa/lib/verbose/complete.js +24 -0
- package/node_modules/execa/lib/verbose/custom.js +26 -0
- package/node_modules/execa/lib/verbose/default.js +54 -0
- package/node_modules/execa/lib/verbose/error.js +13 -0
- package/node_modules/execa/lib/verbose/info.js +39 -0
- package/node_modules/execa/lib/verbose/ipc.js +15 -0
- package/node_modules/execa/lib/verbose/log.js +54 -0
- package/node_modules/execa/lib/verbose/output.js +60 -0
- package/node_modules/execa/lib/verbose/start.js +15 -0
- package/node_modules/execa/lib/verbose/values.js +33 -0
- package/node_modules/execa/license +9 -0
- package/node_modules/execa/package.json +124 -0
- package/node_modules/execa/readme.md +461 -0
- package/node_modules/fast-deep-equal/LICENSE +21 -0
- package/node_modules/fast-deep-equal/README.md +96 -0
- package/node_modules/fast-deep-equal/es6/index.js +72 -0
- package/node_modules/fast-deep-equal/es6/react.js +79 -0
- package/node_modules/fast-deep-equal/index.js +46 -0
- package/node_modules/fast-deep-equal/package.json +51 -0
- package/node_modules/fast-deep-equal/react.js +53 -0
- package/node_modules/figures/index.js +292 -0
- package/node_modules/figures/license +9 -0
- package/node_modules/figures/package.json +46 -0
- package/node_modules/figures/readme.md +337 -0
- package/node_modules/fontkit/README.md +266 -0
- package/node_modules/fontkit/dist/browser-module.mjs +13316 -0
- package/node_modules/fontkit/dist/browser.cjs +13333 -0
- package/node_modules/fontkit/dist/main.cjs +13355 -0
- package/node_modules/fontkit/dist/module.mjs +13337 -0
- package/node_modules/fontkit/package.json +87 -0
- package/node_modules/fontkit/src/CmapProcessor.js +286 -0
- package/node_modules/fontkit/src/DFont.js +117 -0
- package/node_modules/fontkit/src/TTFFont.js +554 -0
- package/node_modules/fontkit/src/TrueTypeCollection.js +67 -0
- package/node_modules/fontkit/src/WOFF2Font.js +216 -0
- package/node_modules/fontkit/src/WOFFFont.js +36 -0
- package/node_modules/fontkit/src/aat/AATFeatureMap.js +543 -0
- package/node_modules/fontkit/src/aat/AATLayoutEngine.js +49 -0
- package/node_modules/fontkit/src/aat/AATLookupTable.js +125 -0
- package/node_modules/fontkit/src/aat/AATMorxProcessor.js +430 -0
- package/node_modules/fontkit/src/aat/AATStateMachine.js +96 -0
- package/node_modules/fontkit/src/base.js +29 -0
- package/node_modules/fontkit/src/cff/CFFCharsets.js +99 -0
- package/node_modules/fontkit/src/cff/CFFDict.js +167 -0
- package/node_modules/fontkit/src/cff/CFFEncodings.js +48 -0
- package/node_modules/fontkit/src/cff/CFFFont.js +159 -0
- package/node_modules/fontkit/src/cff/CFFIndex.js +150 -0
- package/node_modules/fontkit/src/cff/CFFOperand.js +134 -0
- package/node_modules/fontkit/src/cff/CFFPointer.js +50 -0
- package/node_modules/fontkit/src/cff/CFFPrivateDict.js +39 -0
- package/node_modules/fontkit/src/cff/CFFStandardStrings.js +71 -0
- package/node_modules/fontkit/src/cff/CFFTop.js +237 -0
- package/node_modules/fontkit/src/decorators.js +36 -0
- package/node_modules/fontkit/src/encodings.js +219 -0
- package/node_modules/fontkit/src/fs.js +17 -0
- package/node_modules/fontkit/src/glyph/BBox.js +72 -0
- package/node_modules/fontkit/src/glyph/CFFGlyph.js +604 -0
- package/node_modules/fontkit/src/glyph/COLRGlyph.js +90 -0
- package/node_modules/fontkit/src/glyph/Glyph.js +212 -0
- package/node_modules/fontkit/src/glyph/GlyphVariationProcessor.js +486 -0
- package/node_modules/fontkit/src/glyph/Path.js +244 -0
- package/node_modules/fontkit/src/glyph/SBIXGlyph.js +54 -0
- package/node_modules/fontkit/src/glyph/StandardNames.js +27 -0
- package/node_modules/fontkit/src/glyph/TTFGlyph.js +393 -0
- package/node_modules/fontkit/src/glyph/TTFGlyphEncoder.js +158 -0
- package/node_modules/fontkit/src/glyph/WOFF2Glyph.js +17 -0
- package/node_modules/fontkit/src/index.js +15 -0
- package/node_modules/fontkit/src/layout/GlyphPosition.js +30 -0
- package/node_modules/fontkit/src/layout/GlyphRun.js +108 -0
- package/node_modules/fontkit/src/layout/KernProcessor.js +94 -0
- package/node_modules/fontkit/src/layout/LayoutEngine.js +189 -0
- package/node_modules/fontkit/src/layout/Script.js +231 -0
- package/node_modules/fontkit/src/layout/UnicodeLayoutEngine.js +250 -0
- package/node_modules/fontkit/src/node.js +17 -0
- package/node_modules/fontkit/src/opentype/GPOSProcessor.js +353 -0
- package/node_modules/fontkit/src/opentype/GSUBProcessor.js +192 -0
- package/node_modules/fontkit/src/opentype/GlyphInfo.js +57 -0
- package/node_modules/fontkit/src/opentype/GlyphIterator.js +70 -0
- package/node_modules/fontkit/src/opentype/OTLayoutEngine.js +113 -0
- package/node_modules/fontkit/src/opentype/OTProcessor.js +438 -0
- package/node_modules/fontkit/src/opentype/ShapingPlan.js +118 -0
- package/node_modules/fontkit/src/opentype/shapers/ArabicShaper.js +123 -0
- package/node_modules/fontkit/src/opentype/shapers/DefaultShaper.js +72 -0
- package/node_modules/fontkit/src/opentype/shapers/HangulShaper.js +285 -0
- package/node_modules/fontkit/src/opentype/shapers/IndicShaper.js +911 -0
- package/node_modules/fontkit/src/opentype/shapers/UniversalShaper.js +185 -0
- package/node_modules/fontkit/src/opentype/shapers/data.trie +0 -0
- package/node_modules/fontkit/src/opentype/shapers/gen-indic.js +208 -0
- package/node_modules/fontkit/src/opentype/shapers/gen-use.js +287 -0
- package/node_modules/fontkit/src/opentype/shapers/generate-data.js +33 -0
- package/node_modules/fontkit/src/opentype/shapers/index.js +102 -0
- package/node_modules/fontkit/src/opentype/shapers/indic-data.js +175 -0
- package/node_modules/fontkit/src/opentype/shapers/indic.json +1 -0
- package/node_modules/fontkit/src/opentype/shapers/indic.machine +31 -0
- package/node_modules/fontkit/src/opentype/shapers/indic.trie +0 -0
- package/node_modules/fontkit/src/opentype/shapers/use.json +1 -0
- package/node_modules/fontkit/src/opentype/shapers/use.machine +44 -0
- package/node_modules/fontkit/src/opentype/shapers/use.trie +0 -0
- package/node_modules/fontkit/src/subset/CFFSubset.js +171 -0
- package/node_modules/fontkit/src/subset/Subset.js +27 -0
- package/node_modules/fontkit/src/subset/TTFSubset.js +131 -0
- package/node_modules/fontkit/src/tables/BASE.js +78 -0
- package/node_modules/fontkit/src/tables/COLR.js +25 -0
- package/node_modules/fontkit/src/tables/CPAL.js +24 -0
- package/node_modules/fontkit/src/tables/DSIG.js +21 -0
- package/node_modules/fontkit/src/tables/EBDT.js +91 -0
- package/node_modules/fontkit/src/tables/EBLC.js +80 -0
- package/node_modules/fontkit/src/tables/GDEF.js +57 -0
- package/node_modules/fontkit/src/tables/GPOS.js +209 -0
- package/node_modules/fontkit/src/tables/GSUB.js +84 -0
- package/node_modules/fontkit/src/tables/HVAR.js +44 -0
- package/node_modules/fontkit/src/tables/JSTF.js +43 -0
- package/node_modules/fontkit/src/tables/LTSH.js +10 -0
- package/node_modules/fontkit/src/tables/OS2.js +84 -0
- package/node_modules/fontkit/src/tables/PCLT.js +21 -0
- package/node_modules/fontkit/src/tables/VDMX.js +33 -0
- package/node_modules/fontkit/src/tables/VORG.js +14 -0
- package/node_modules/fontkit/src/tables/WOFF2Directory.js +74 -0
- package/node_modules/fontkit/src/tables/WOFFDirectory.js +38 -0
- package/node_modules/fontkit/src/tables/aat.js +157 -0
- package/node_modules/fontkit/src/tables/avar.js +19 -0
- package/node_modules/fontkit/src/tables/bsln.js +31 -0
- package/node_modules/fontkit/src/tables/cmap.js +127 -0
- package/node_modules/fontkit/src/tables/cvt.js +6 -0
- package/node_modules/fontkit/src/tables/directory.js +58 -0
- package/node_modules/fontkit/src/tables/feat.js +28 -0
- package/node_modules/fontkit/src/tables/fpgm.js +8 -0
- package/node_modules/fontkit/src/tables/fvar.js +31 -0
- package/node_modules/fontkit/src/tables/gasp.js +15 -0
- package/node_modules/fontkit/src/tables/glyf.js +4 -0
- package/node_modules/fontkit/src/tables/gvar.js +27 -0
- package/node_modules/fontkit/src/tables/hdmx.js +15 -0
- package/node_modules/fontkit/src/tables/head.js +25 -0
- package/node_modules/fontkit/src/tables/hhea.js +19 -0
- package/node_modules/fontkit/src/tables/hmtx.js +11 -0
- package/node_modules/fontkit/src/tables/index.js +117 -0
- package/node_modules/fontkit/src/tables/just.js +81 -0
- package/node_modules/fontkit/src/tables/kern.js +91 -0
- package/node_modules/fontkit/src/tables/loca.js +30 -0
- package/node_modules/fontkit/src/tables/maxp.js +20 -0
- package/node_modules/fontkit/src/tables/morx.js +79 -0
- package/node_modules/fontkit/src/tables/name.js +130 -0
- package/node_modules/fontkit/src/tables/opbd.js +15 -0
- package/node_modules/fontkit/src/tables/opentype.js +217 -0
- package/node_modules/fontkit/src/tables/post.js +34 -0
- package/node_modules/fontkit/src/tables/prep.js +6 -0
- package/node_modules/fontkit/src/tables/sbix.js +17 -0
- package/node_modules/fontkit/src/tables/variations.js +81 -0
- package/node_modules/fontkit/src/tables/vhea.js +19 -0
- package/node_modules/fontkit/src/tables/vmtx.js +12 -0
- package/node_modules/fontkit/src/utils.js +62 -0
- package/node_modules/get-stream/license +9 -0
- package/node_modules/get-stream/package.json +56 -0
- package/node_modules/get-stream/readme.md +303 -0
- package/node_modules/get-stream/source/array-buffer.js +84 -0
- package/node_modules/get-stream/source/array.js +32 -0
- package/node_modules/get-stream/source/buffer.js +19 -0
- package/node_modules/get-stream/source/contents.js +121 -0
- package/node_modules/get-stream/source/exports.js +5 -0
- package/node_modules/get-stream/source/index.js +13 -0
- package/node_modules/get-stream/source/stream.js +65 -0
- package/node_modules/get-stream/source/string.js +41 -0
- package/node_modules/get-stream/source/utils.js +11 -0
- package/node_modules/human-signals/LICENSE +201 -0
- package/node_modules/human-signals/README.md +171 -0
- package/node_modules/human-signals/build/src/core.js +273 -0
- package/node_modules/human-signals/build/src/main.js +70 -0
- package/node_modules/human-signals/build/src/realtime.js +16 -0
- package/node_modules/human-signals/build/src/signals.js +34 -0
- package/node_modules/human-signals/package.json +63 -0
- package/node_modules/is-plain-obj/index.js +8 -0
- package/node_modules/is-plain-obj/license +9 -0
- package/node_modules/is-plain-obj/package.json +38 -0
- package/node_modules/is-plain-obj/readme.md +58 -0
- package/node_modules/is-stream/index.js +37 -0
- package/node_modules/is-stream/license +9 -0
- package/node_modules/is-stream/package.json +45 -0
- package/node_modules/is-stream/readme.md +57 -0
- package/node_modules/is-unicode-supported/index.js +21 -0
- package/node_modules/is-unicode-supported/license +9 -0
- package/node_modules/is-unicode-supported/package.json +44 -0
- package/node_modules/is-unicode-supported/readme.md +35 -0
- package/node_modules/npm-run-path/index.js +55 -0
- package/node_modules/npm-run-path/license +9 -0
- package/node_modules/npm-run-path/node_modules/path-key/index.js +12 -0
- package/node_modules/npm-run-path/node_modules/path-key/license +9 -0
- package/node_modules/npm-run-path/node_modules/path-key/package.json +41 -0
- package/node_modules/npm-run-path/node_modules/path-key/readme.md +57 -0
- package/node_modules/npm-run-path/package.json +49 -0
- package/node_modules/npm-run-path/readme.md +104 -0
- package/node_modules/pako/LICENSE +21 -0
- package/node_modules/pako/README.md +176 -0
- package/node_modules/pako/dist/pako.js +6606 -0
- package/node_modules/pako/dist/pako.min.js +3 -0
- package/node_modules/pako/dist/pako_deflate.js +3879 -0
- package/node_modules/pako/dist/pako_deflate.min.js +2 -0
- package/node_modules/pako/dist/pako_inflate.js +3127 -0
- package/node_modules/pako/dist/pako_inflate.min.js +2 -0
- package/node_modules/pako/index.js +14 -0
- package/node_modules/pako/lib/deflate.js +400 -0
- package/node_modules/pako/lib/inflate.js +418 -0
- package/node_modules/pako/lib/utils/common.js +102 -0
- package/node_modules/pako/lib/utils/strings.js +185 -0
- package/node_modules/pako/lib/zlib/adler32.js +32 -0
- package/node_modules/pako/lib/zlib/constants.js +50 -0
- package/node_modules/pako/lib/zlib/crc32.js +41 -0
- package/node_modules/pako/lib/zlib/deflate.js +1855 -0
- package/node_modules/pako/lib/zlib/gzheader.js +40 -0
- package/node_modules/pako/lib/zlib/inffast.js +326 -0
- package/node_modules/pako/lib/zlib/inflate.js +1538 -0
- package/node_modules/pako/lib/zlib/inftrees.js +327 -0
- package/node_modules/pako/lib/zlib/messages.js +13 -0
- package/node_modules/pako/lib/zlib/trees.js +1202 -0
- package/node_modules/pako/lib/zlib/zstream.js +29 -0
- package/node_modules/pako/package.json +40 -0
- package/node_modules/parse-ms/index.js +45 -0
- package/node_modules/parse-ms/license +9 -0
- package/node_modules/parse-ms/package.json +44 -0
- package/node_modules/parse-ms/readme.md +46 -0
- package/node_modules/pretty-ms/index.js +150 -0
- package/node_modules/pretty-ms/license +9 -0
- package/node_modules/pretty-ms/package.json +52 -0
- package/node_modules/pretty-ms/readme.md +198 -0
- package/node_modules/restructure/LICENSE +21 -0
- package/node_modules/restructure/README.md +300 -0
- package/node_modules/restructure/dist/main.cjs +1019 -0
- package/node_modules/restructure/index.js +17 -0
- package/node_modules/restructure/package.json +36 -0
- package/node_modules/restructure/src/Array.js +106 -0
- package/node_modules/restructure/src/Base.js +17 -0
- package/node_modules/restructure/src/Bitfield.js +39 -0
- package/node_modules/restructure/src/Boolean.js +22 -0
- package/node_modules/restructure/src/Buffer.js +38 -0
- package/node_modules/restructure/src/DecodeStream.js +85 -0
- package/node_modules/restructure/src/EncodeStream.js +129 -0
- package/node_modules/restructure/src/Enum.js +27 -0
- package/node_modules/restructure/src/LazyArray.js +74 -0
- package/node_modules/restructure/src/Number.js +77 -0
- package/node_modules/restructure/src/Optional.js +44 -0
- package/node_modules/restructure/src/Pointer.js +167 -0
- package/node_modules/restructure/src/Reserved.js +23 -0
- package/node_modules/restructure/src/String.js +155 -0
- package/node_modules/restructure/src/Struct.js +113 -0
- package/node_modules/restructure/src/VersionedStruct.js +139 -0
- package/node_modules/restructure/src/utils.js +35 -0
- package/node_modules/restructure/test/Array.js +103 -0
- package/node_modules/restructure/test/Bitfield.js +29 -0
- package/node_modules/restructure/test/Boolean.js +39 -0
- package/node_modules/restructure/test/Buffer.js +45 -0
- package/node_modules/restructure/test/DecodeStream.js +101 -0
- package/node_modules/restructure/test/EncodeStream.js +104 -0
- package/node_modules/restructure/test/Enum.js +24 -0
- package/node_modules/restructure/test/LazyArray.js +59 -0
- package/node_modules/restructure/test/Number.js +356 -0
- package/node_modules/restructure/test/Optional.js +100 -0
- package/node_modules/restructure/test/Pointer.js +289 -0
- package/node_modules/restructure/test/Reserved.js +26 -0
- package/node_modules/restructure/test/String.js +151 -0
- package/node_modules/restructure/test/Struct.js +146 -0
- package/node_modules/restructure/test/VersionedStruct.js +495 -0
- package/node_modules/saxes/README.md +323 -0
- package/node_modules/saxes/package.json +55 -0
- package/node_modules/saxes/saxes.js +2053 -0
- package/node_modules/signal-exit/LICENSE.txt +16 -0
- package/node_modules/signal-exit/README.md +74 -0
- package/node_modules/signal-exit/dist/cjs/browser.js +10 -0
- package/node_modules/signal-exit/dist/cjs/index.js +279 -0
- package/node_modules/signal-exit/dist/cjs/package.json +3 -0
- package/node_modules/signal-exit/dist/cjs/signals.js +42 -0
- package/node_modules/signal-exit/dist/mjs/browser.js +4 -0
- package/node_modules/signal-exit/dist/mjs/index.js +275 -0
- package/node_modules/signal-exit/dist/mjs/package.json +3 -0
- package/node_modules/signal-exit/dist/mjs/signals.js +39 -0
- package/node_modules/signal-exit/package.json +93 -0
- package/node_modules/strip-final-newline/index.js +26 -0
- package/node_modules/strip-final-newline/license +9 -0
- package/node_modules/strip-final-newline/package.json +46 -0
- package/node_modules/strip-final-newline/readme.md +34 -0
- package/node_modules/tiny-inflate/LICENSE +21 -0
- package/node_modules/tiny-inflate/index.js +375 -0
- package/node_modules/tiny-inflate/package.json +25 -0
- package/node_modules/tiny-inflate/readme.md +31 -0
- package/node_modules/tiny-inflate/test/index.js +75 -0
- package/node_modules/tiny-inflate/test/lorem.txt +199 -0
- package/node_modules/unicode-properties/LICENSE +8 -0
- package/node_modules/unicode-properties/dist/main.cjs +150 -0
- package/node_modules/unicode-properties/dist/module.mjs +127 -0
- package/node_modules/unicode-properties/package.json +44 -0
- package/node_modules/unicode-properties/readme.md +78 -0
- package/node_modules/unicode-trie/LICENSE +8 -0
- package/node_modules/unicode-trie/README.md +77 -0
- package/node_modules/unicode-trie/builder.js +966 -0
- package/node_modules/unicode-trie/index.js +136 -0
- package/node_modules/unicode-trie/package.json +23 -0
- package/node_modules/unicode-trie/swap.js +25 -0
- package/node_modules/unicode-trie/test/mocha.opts +1 -0
- package/node_modules/unicode-trie/test/test.js +243 -0
- package/node_modules/unicorn-magic/default.js +14 -0
- package/node_modules/unicorn-magic/license +9 -0
- package/node_modules/unicorn-magic/node.js +49 -0
- package/node_modules/unicorn-magic/package.json +59 -0
- package/node_modules/unicorn-magic/readme.md +25 -0
- package/node_modules/which-command/cli.js +74 -0
- package/node_modules/which-command/index.js +170 -0
- package/node_modules/which-command/license +9 -0
- package/node_modules/which-command/package.json +46 -0
- package/node_modules/which-command/readme.md +121 -0
- package/node_modules/xmlchars/LICENSE +18 -0
- package/node_modules/xmlchars/README.md +33 -0
- package/node_modules/xmlchars/package.json +34 -0
- package/node_modules/xmlchars/xml/1.0/ed4.js +44 -0
- package/node_modules/xmlchars/xml/1.0/ed5.js +105 -0
- package/node_modules/xmlchars/xml/1.1/ed2.js +145 -0
- package/node_modules/xmlchars/xmlchars.js +191 -0
- package/node_modules/xmlchars/xmlns/1.0/ed3.js +65 -0
- package/node_modules/yoctocolors/base.js +118 -0
- package/node_modules/yoctocolors/index.js +2 -0
- package/node_modules/yoctocolors/license +9 -0
- package/node_modules/yoctocolors/package.json +66 -0
- package/node_modules/yoctocolors/readme.md +163 -0
- package/package.json +337 -246
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/README.md +0 -51
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/lib/index.js +0 -401
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/src/error.ts +0 -36
- package/node_modules/@deepseek-ai/cordis-plugin-hmr/src/index.ts +0 -427
- package/node_modules/@deepseek-ai/dsh/lib/plugin-Bk_PbPwP.js +0 -130
- package/node_modules/@deepseek-ai/dsh/lib/profile-boot-DB8eVKBx.js +0 -2
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-BRtJ62WN.css +0 -1
- package/node_modules/@deepseek-ai/dsh-web-frontend/dist/assets/index-Ly7KS3xS.js +0 -127
- /package/node_modules/@deepseek-ai/{cordis-plugin-hmr → dsh-hmr}/LICENSE +0 -0
|
@@ -0,0 +1,1525 @@
|
|
|
1
|
+
import { OutputCollector, prepareManagedProcessBinding } from "./output.js";
|
|
2
|
+
import { accessSync, chmodSync, closeSync, constants, existsSync, lstatSync, mkdtempSync, openSync, readFileSync, readSync, readdirSync, readlinkSync, rmdirSync, statSync, unlinkSync, writeFileSync } from "node:fs";
|
|
3
|
+
import { tmpdir } from "node:os";
|
|
4
|
+
import { basename, dirname, extname, isAbsolute, join } from "node:path";
|
|
5
|
+
import { createLazyRequire } from "@deepseek-ai/dsh-lazy-require";
|
|
6
|
+
import { scrubbedParentEnv } from "@deepseek-ai/dsh-subprocess";
|
|
7
|
+
import { execFileSync, spawn, spawnSync } from "node:child_process";
|
|
8
|
+
import { setTimeout as setTimeout$1 } from "node:timers/promises";
|
|
9
|
+
import { MAX_TIMER_DELAY_MS } from "@deepseek-ai/dsh-timeout";
|
|
10
|
+
import { SUBPROCESS_CONTROL_ENV, SUBPROCESS_CONTROL_FD } from "@deepseek-ai/dsh-subprocess/control";
|
|
11
|
+
import { getSystemErrorMessage, getSystemErrorName, inspect } from "node:util";
|
|
12
|
+
import { fileURLToPath } from "node:url";
|
|
13
|
+
//#region lib/types/managed-owner.js
|
|
14
|
+
/** Minimal managed-range ownership bound to one ordinary subprocess handle. */
|
|
15
|
+
/**
|
|
16
|
+
* Apply an optional abort bound to one shared wait promise.
|
|
17
|
+
* @param pending - managed-range wait shared by all callers.
|
|
18
|
+
* @param signal - optional caller cancellation signal.
|
|
19
|
+
* @returns whether the managed-range wait completed before cancellation.
|
|
20
|
+
*/
|
|
21
|
+
async function waitWithAbort(pending, signal) {
|
|
22
|
+
if (signal?.aborted) {
|
|
23
|
+
pending.catch(() => {});
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (signal === void 0) {
|
|
27
|
+
await pending;
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
const aborted = Promise.withResolvers();
|
|
31
|
+
const onAbort = () => {
|
|
32
|
+
aborted.resolve(false);
|
|
33
|
+
};
|
|
34
|
+
signal.addEventListener("abort", onAbort, { once: true });
|
|
35
|
+
try {
|
|
36
|
+
return await Promise.race([pending.then(() => true), aborted.promise]);
|
|
37
|
+
} finally {
|
|
38
|
+
signal.removeEventListener("abort", onAbort);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
//#endregion
|
|
42
|
+
//#region lib/types/control-spawn.js
|
|
43
|
+
/** Parent-side setup for one explicitly requested inherited control pipe. */
|
|
44
|
+
/**
|
|
45
|
+
* Read the optional extra pipe from Node's stdio tuple.
|
|
46
|
+
* @param child - child whose requested extra pipe was allocated by Node.
|
|
47
|
+
* @param control - requested transport, or undefined when absent.
|
|
48
|
+
* @returns the parent duplex endpoint, absent when not requested or native startup failed.
|
|
49
|
+
*/
|
|
50
|
+
function controlPipe(child, control) {
|
|
51
|
+
const streams = child.stdio;
|
|
52
|
+
return control === "pipe" ? streams[SUBPROCESS_CONTROL_FD] : void 0;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Stamp the private marker on a fresh child environment after rejecting a caller override.
|
|
56
|
+
* @param env - newly materialized child environment, owned by the caller.
|
|
57
|
+
* @param control - requested control transport, or undefined when absent.
|
|
58
|
+
* @returns the same environment with the provider-owned launch marker when requested.
|
|
59
|
+
*/
|
|
60
|
+
function controlEnvironment(env, control) {
|
|
61
|
+
for (const [key, value] of Object.entries(env)) if (key.toUpperCase() === SUBPROCESS_CONTROL_ENV && value !== void 0) throw new Error(`${SUBPROCESS_CONTROL_ENV} is reserved for subprocess control-channel setup`);
|
|
62
|
+
if (control === "pipe") Object.assign(env, { [SUBPROCESS_CONTROL_ENV]: "pipe" });
|
|
63
|
+
return env;
|
|
64
|
+
}
|
|
65
|
+
//#endregion
|
|
66
|
+
//#region lib/types/windows-inspector.js
|
|
67
|
+
/**
|
|
68
|
+
* Windows process-table operations for terminal readiness, signalling, and
|
|
69
|
+
* teardown: Toolhelp32 snapshot enumeration with GetProcessTimes creation-time
|
|
70
|
+
* identity and process-handle wait-state liveness, the shell pid as a pseudo
|
|
71
|
+
* process group (Windows has no POSIX groups), and taskkill tree signalling.
|
|
72
|
+
* The koffi bindings load lazily so
|
|
73
|
+
* non-Windows processes never touch Win32 libraries; all decision logic takes
|
|
74
|
+
* an injectable internals boundary so suites can pin it on any host.
|
|
75
|
+
* @module dsh-subprocess-local/windows-inspector
|
|
76
|
+
*/
|
|
77
|
+
const requireKoffi$1 = createLazyRequire("koffi", import.meta.url);
|
|
78
|
+
/**
|
|
79
|
+
* Walk a process table from one root in children-first order, retaining only
|
|
80
|
+
* members whose start identity is readable (unreadable members are detector
|
|
81
|
+
* misses, exactly like an unreadable `/proc` entry on Linux).
|
|
82
|
+
* @param entries - the process table snapshot.
|
|
83
|
+
* @param rootPid - the tree root to descend from.
|
|
84
|
+
* @param started - creation-time identity resolver for one member.
|
|
85
|
+
* @returns the root and its current transitive descendants, children first.
|
|
86
|
+
*/
|
|
87
|
+
function windowsProcessTree(entries, rootPid, started) {
|
|
88
|
+
const root = new Map(entries.map((entry) => [entry.pid, entry])).get(rootPid);
|
|
89
|
+
if (root === void 0) return [];
|
|
90
|
+
const byParent = /* @__PURE__ */ new Map();
|
|
91
|
+
for (const entry of entries) {
|
|
92
|
+
const children = byParent.get(entry.parentPid) ?? [];
|
|
93
|
+
children.push(entry);
|
|
94
|
+
byParent.set(entry.parentPid, children);
|
|
95
|
+
}
|
|
96
|
+
const visited = /* @__PURE__ */ new Set();
|
|
97
|
+
const result = [];
|
|
98
|
+
const visit = (entry) => {
|
|
99
|
+
if (visited.has(entry.pid)) return;
|
|
100
|
+
visited.add(entry.pid);
|
|
101
|
+
for (const child of byParent.get(entry.pid) ?? []) visit(child);
|
|
102
|
+
const identity = started(entry.pid);
|
|
103
|
+
if (identity !== void 0) result.push({
|
|
104
|
+
pid: entry.pid,
|
|
105
|
+
started: identity
|
|
106
|
+
});
|
|
107
|
+
};
|
|
108
|
+
visit(root);
|
|
109
|
+
return result;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Windows {@link ProcessInspector}. The shell pid stands in for a foreground
|
|
113
|
+
* process group: it is a stable pseudo-group that lets the prompt-marker
|
|
114
|
+
* readiness path compare foreground identities, while every actual signal
|
|
115
|
+
* targets the console-wide tree through taskkill (SIGINT is delivered by the
|
|
116
|
+
* terminal handle as a `\x03` input write and never reaches this layer).
|
|
117
|
+
*/
|
|
118
|
+
var WindowsProcessInspector = class {
|
|
119
|
+
internals;
|
|
120
|
+
constructor(internals = defaultWindowsProcessInternals()) {
|
|
121
|
+
this.internals = internals;
|
|
122
|
+
}
|
|
123
|
+
foregroundPgid(shellPid) {
|
|
124
|
+
return shellPid;
|
|
125
|
+
}
|
|
126
|
+
isStdinWaiting(_pgid, _shellPid) {
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
isAlive(identity) {
|
|
130
|
+
const state = this.internals.processState(identity.pid);
|
|
131
|
+
return state?.active === true && state.started === identity.started;
|
|
132
|
+
}
|
|
133
|
+
snapshot() {
|
|
134
|
+
let entries;
|
|
135
|
+
return {
|
|
136
|
+
tree: (rootPid) => windowsProcessTree(entries ??= this.internals.snapshot(), rootPid, (pid) => this.internals.processState(pid)?.started),
|
|
137
|
+
session: () => [],
|
|
138
|
+
alive: (identity) => this.isAlive(identity)
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
signalGroup(pgid, signal) {
|
|
142
|
+
this.internals.taskkill(pgid, signal === "SIGKILL");
|
|
143
|
+
}
|
|
144
|
+
signalProcess(identity, signal) {
|
|
145
|
+
if (this.isAlive(identity)) this.internals.taskkill(identity.pid, signal === "SIGKILL");
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
/**
|
|
149
|
+
* Create the Windows process inspector.
|
|
150
|
+
* @param internals - injectable process operations; defaults to the koffi-backed table.
|
|
151
|
+
* @returns the Windows inspector.
|
|
152
|
+
*/
|
|
153
|
+
function createWindowsProcessInspector(internals = defaultWindowsProcessInternals()) {
|
|
154
|
+
return new WindowsProcessInspector(internals);
|
|
155
|
+
}
|
|
156
|
+
/** Terminate one Windows process tree with taskkill, contained like POSIX group signalling. */
|
|
157
|
+
function taskkillTree(pid, force) {
|
|
158
|
+
if (pid <= 0) return;
|
|
159
|
+
spawnSync("taskkill", [
|
|
160
|
+
"/PID",
|
|
161
|
+
String(pid),
|
|
162
|
+
"/T",
|
|
163
|
+
...force ? ["/F"] : []
|
|
164
|
+
], {
|
|
165
|
+
stdio: "ignore",
|
|
166
|
+
windowsHide: true
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* True for NULL and INVALID_HANDLE_VALUE returns from Win32 handle APIs.
|
|
171
|
+
* @param value - a handle as koffi may hand it back (pointer, null, or 0n).
|
|
172
|
+
* @returns whether the value signals an invalid handle.
|
|
173
|
+
*/
|
|
174
|
+
function isInvalidHandle(value) {
|
|
175
|
+
if (value === null || value === void 0) return true;
|
|
176
|
+
const asBigInt = value;
|
|
177
|
+
return asBigInt === 0n || asBigInt === 18446744073709551615n || asBigInt === -1n;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Resolve the koffi Win32 struct types once. Registration is lazy and cached
|
|
181
|
+
* because koffi's type registry is global per process: test runners that
|
|
182
|
+
* re-evaluate this module (a hoisted `vi.mock` re-imports the graph) must not
|
|
183
|
+
* re-register the names.
|
|
184
|
+
*/
|
|
185
|
+
function win32Structs() {
|
|
186
|
+
if (cachedStructs !== void 0) return cachedStructs;
|
|
187
|
+
const koffi = requireKoffi$1();
|
|
188
|
+
const PVOID = koffi.pointer("void");
|
|
189
|
+
const PROCESSENTRY32W = koffi.struct("PROCESSENTRY32W", {
|
|
190
|
+
dwSize: "uint32",
|
|
191
|
+
cntUsage: "uint32",
|
|
192
|
+
th32ProcessID: "uint32",
|
|
193
|
+
th32DefaultHeapID: PVOID,
|
|
194
|
+
th32ModuleID: "uint32",
|
|
195
|
+
cCntThreads: "uint32",
|
|
196
|
+
th32ParentProcessID: "uint32",
|
|
197
|
+
pcPriClassBase: "int32",
|
|
198
|
+
dwFlags: "uint32",
|
|
199
|
+
szExeFile: koffi.array("char16", 260)
|
|
200
|
+
});
|
|
201
|
+
const FILETIME = koffi.struct("FILETIME", {
|
|
202
|
+
dwLowDateTime: "uint32",
|
|
203
|
+
dwHighDateTime: "uint32"
|
|
204
|
+
});
|
|
205
|
+
/* v8 ignore start -- a layout-mismatch guard fires only on ABI breakage; the windows-native suites exercise the real struct. */
|
|
206
|
+
if (PROCESSENTRY32W.size !== 568) throw new Error(`PROCESSENTRY32W layout mismatch: koffi computed ${PROCESSENTRY32W.size}, Windows headers say 568`);
|
|
207
|
+
/* v8 ignore stop */
|
|
208
|
+
cachedStructs = {
|
|
209
|
+
PVOID,
|
|
210
|
+
PROCESSENTRY32W,
|
|
211
|
+
FILETIME
|
|
212
|
+
};
|
|
213
|
+
return cachedStructs;
|
|
214
|
+
}
|
|
215
|
+
let cachedStructs;
|
|
216
|
+
const TH32CS_SNAPPROCESS = 2;
|
|
217
|
+
const WAIT_OBJECT_0 = 0;
|
|
218
|
+
const WAIT_TIMEOUT = 258;
|
|
219
|
+
let cachedBindings;
|
|
220
|
+
/**
|
|
221
|
+
* Resolve the lazy Win32 bindings (throws the first binding failure, fail-closed).
|
|
222
|
+
* @returns the cached binding table.
|
|
223
|
+
*/
|
|
224
|
+
function win32Bindings() {
|
|
225
|
+
if (cachedBindings !== void 0) return cachedBindings;
|
|
226
|
+
const koffi = requireKoffi$1();
|
|
227
|
+
const { PVOID, PROCESSENTRY32W, FILETIME } = win32Structs();
|
|
228
|
+
const kernel32 = koffi.load("kernel32.dll");
|
|
229
|
+
const bind = (name, result, args) => kernel32.func("__stdcall", name, result, args);
|
|
230
|
+
cachedBindings = {
|
|
231
|
+
createToolhelp32Snapshot: bind("CreateToolhelp32Snapshot", PVOID, ["uint32", "uint32"]),
|
|
232
|
+
process32FirstW: bind("Process32FirstW", "int", [PVOID, koffi.pointer(PROCESSENTRY32W)]),
|
|
233
|
+
process32NextW: bind("Process32NextW", "int", [PVOID, koffi.pointer(PROCESSENTRY32W)]),
|
|
234
|
+
openProcess: bind("OpenProcess", PVOID, [
|
|
235
|
+
"uint32",
|
|
236
|
+
"int",
|
|
237
|
+
"uint32"
|
|
238
|
+
]),
|
|
239
|
+
getProcessTimes: bind("GetProcessTimes", "int", [
|
|
240
|
+
PVOID,
|
|
241
|
+
koffi.pointer(FILETIME),
|
|
242
|
+
koffi.pointer(FILETIME),
|
|
243
|
+
koffi.pointer(FILETIME),
|
|
244
|
+
koffi.pointer(FILETIME)
|
|
245
|
+
]),
|
|
246
|
+
waitForSingleObject: bind("WaitForSingleObject", "uint32", [PVOID, "uint32"]),
|
|
247
|
+
closeHandle: bind("CloseHandle", "int", [PVOID])
|
|
248
|
+
};
|
|
249
|
+
return cachedBindings;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Allocate koffi memory as a branded {@link NativePtr}; koffi's TS types are
|
|
253
|
+
* `any`, so the cast goes through `unknown` to keep the unsafe surface here.
|
|
254
|
+
* @param type - the koffi type to allocate.
|
|
255
|
+
* @param count - element count.
|
|
256
|
+
* @returns the branded allocation pointer.
|
|
257
|
+
*/
|
|
258
|
+
function allocNative(type, count) {
|
|
259
|
+
return requireKoffi$1().alloc(type, count);
|
|
260
|
+
}
|
|
261
|
+
/** Enumerate the current process table through Toolhelp32. */
|
|
262
|
+
function snapshotWindowsProcesses(bindings) {
|
|
263
|
+
const koffi = requireKoffi$1();
|
|
264
|
+
const { PROCESSENTRY32W } = win32Structs();
|
|
265
|
+
const snapshot = bindings.createToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
|
|
266
|
+
/* v8 ignore next -- an invalid snapshot for the process flag is not producible through the public API;
|
|
267
|
+
the guard mirrors POSIX's unreadable-proc tolerance and isInvalidHandle is unit-tested. */
|
|
268
|
+
if (isInvalidHandle(snapshot)) return [];
|
|
269
|
+
const entries = [];
|
|
270
|
+
try {
|
|
271
|
+
const entry = allocNative(PROCESSENTRY32W, 1);
|
|
272
|
+
koffi.encode(entry, "uint32", PROCESSENTRY32W.size);
|
|
273
|
+
let ok = bindings.process32FirstW(snapshot, entry);
|
|
274
|
+
while (ok !== 0) {
|
|
275
|
+
const record = koffi.decode(entry, PROCESSENTRY32W);
|
|
276
|
+
entries.push({
|
|
277
|
+
pid: record.th32ProcessID,
|
|
278
|
+
parentPid: record.th32ParentProcessID
|
|
279
|
+
});
|
|
280
|
+
ok = bindings.process32NextW(snapshot, entry);
|
|
281
|
+
}
|
|
282
|
+
} finally {
|
|
283
|
+
bindings.closeHandle(snapshot);
|
|
284
|
+
}
|
|
285
|
+
return entries;
|
|
286
|
+
}
|
|
287
|
+
/** Read one process's creation identity and current wait state. */
|
|
288
|
+
function windowsProcessState(bindings, pid) {
|
|
289
|
+
const koffi = requireKoffi$1();
|
|
290
|
+
const { FILETIME } = win32Structs();
|
|
291
|
+
const handle = bindings.openProcess(1052672, 0, pid);
|
|
292
|
+
if (isInvalidHandle(handle)) return void 0;
|
|
293
|
+
try {
|
|
294
|
+
const creation = allocNative(FILETIME, 1);
|
|
295
|
+
const exit = allocNative(FILETIME, 1);
|
|
296
|
+
const kernel = allocNative(FILETIME, 1);
|
|
297
|
+
const user = allocNative(FILETIME, 1);
|
|
298
|
+
/* v8 ignore next -- a GetProcessTimes failure after a successful open races process exit and
|
|
299
|
+
cannot be staged deterministically; the absent-process path is covered and the caller
|
|
300
|
+
treats undefined as a detector miss. */
|
|
301
|
+
if (bindings.getProcessTimes(handle, creation, exit, kernel, user) === 0) return void 0;
|
|
302
|
+
const record = koffi.decode(creation, FILETIME);
|
|
303
|
+
const wait = bindings.waitForSingleObject(handle, 0);
|
|
304
|
+
/* v8 ignore next -- an opened process handle has exactly one of these two
|
|
305
|
+
zero-time wait states; an unexpected Win32 failure is an unreadable process. */
|
|
306
|
+
if (wait !== WAIT_OBJECT_0 && wait !== WAIT_TIMEOUT) return void 0;
|
|
307
|
+
return {
|
|
308
|
+
started: `${record.dwHighDateTime}:${record.dwLowDateTime}`,
|
|
309
|
+
active: wait === WAIT_TIMEOUT
|
|
310
|
+
};
|
|
311
|
+
} finally {
|
|
312
|
+
bindings.closeHandle(handle);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
/** The koffi-backed default internals; bindings resolve lazily on first use. */
|
|
316
|
+
function defaultWindowsProcessInternals() {
|
|
317
|
+
return {
|
|
318
|
+
snapshot: () => snapshotWindowsProcesses(win32Bindings()),
|
|
319
|
+
processState: (pid) => windowsProcessState(win32Bindings(), pid),
|
|
320
|
+
taskkill: taskkillTree
|
|
321
|
+
};
|
|
322
|
+
}
|
|
323
|
+
//#endregion
|
|
324
|
+
//#region lib/types/process-inspector.js
|
|
325
|
+
/** Platform process-table inspection for terminal readiness, signals, and teardown. */
|
|
326
|
+
/* v8 ignore start -- thin OS bindings; injected logic is unit-tested and real platform composition exercises them. */
|
|
327
|
+
const DEFAULT_INTERNALS = {
|
|
328
|
+
readFile: (path) => readFileSync(path, "utf8"),
|
|
329
|
+
readDir: (path) => readdirSync(path),
|
|
330
|
+
readLink: (path) => readlinkSync(path, "utf8"),
|
|
331
|
+
stat: (path) => statSync(path),
|
|
332
|
+
open: (path) => openSync(path, "r"),
|
|
333
|
+
read: (fd, buffer, length, position) => readSync(fd, buffer, 0, length, position),
|
|
334
|
+
close: closeSync,
|
|
335
|
+
exec: (file, args) => execFileSync(file, args, { encoding: "utf8" }),
|
|
336
|
+
kill: (pid, signal) => process.kill(pid, signal)
|
|
337
|
+
};
|
|
338
|
+
/**
|
|
339
|
+
* Parse fields used from Linux `/proc/<pid>/stat`, including parenthesized comm text.
|
|
340
|
+
* @param text - complete stat line.
|
|
341
|
+
* @returns Parsed identity/group fields, or undefined for malformed input.
|
|
342
|
+
*/
|
|
343
|
+
function parseProcStat(text) {
|
|
344
|
+
const open = text.indexOf("(");
|
|
345
|
+
const close = text.lastIndexOf(")");
|
|
346
|
+
if (open <= 0 || close <= open) return void 0;
|
|
347
|
+
const pid = Number(text.slice(0, open).trim());
|
|
348
|
+
const rest = text.slice(close + 2).trim().split(/\s+/);
|
|
349
|
+
const state = rest[0] || "";
|
|
350
|
+
const parentPid = Number(rest[1]);
|
|
351
|
+
const pgrp = Number(rest[2]);
|
|
352
|
+
const session = Number(rest[3]);
|
|
353
|
+
const ttyDevice = Number(rest[4]);
|
|
354
|
+
const tpgid = Number(rest[5]);
|
|
355
|
+
const started = rest[19];
|
|
356
|
+
if (![
|
|
357
|
+
pid,
|
|
358
|
+
parentPid,
|
|
359
|
+
pgrp,
|
|
360
|
+
session,
|
|
361
|
+
ttyDevice,
|
|
362
|
+
tpgid
|
|
363
|
+
].every(Number.isSafeInteger) || state.length !== 1 || started === void 0) return void 0;
|
|
364
|
+
return {
|
|
365
|
+
pid,
|
|
366
|
+
parentPid,
|
|
367
|
+
pgrp,
|
|
368
|
+
session,
|
|
369
|
+
state,
|
|
370
|
+
ttyDevice,
|
|
371
|
+
tpgid,
|
|
372
|
+
started
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
function readLinuxStat(internals, pid) {
|
|
376
|
+
try {
|
|
377
|
+
return parseProcStat(internals.readFile(`/proc/${pid}/stat`));
|
|
378
|
+
} catch (_unreadableProcEntry) {
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
function linuxDeviceNumber(value) {
|
|
383
|
+
return value >>> 0;
|
|
384
|
+
}
|
|
385
|
+
function readLinuxTerminalDevice(internals, pid, ttyDevice, tid) {
|
|
386
|
+
const terminalDevice = linuxDeviceNumber(ttyDevice);
|
|
387
|
+
if (terminalDevice === 0) return void 0;
|
|
388
|
+
const path = tid === void 0 ? `/proc/${pid}/fd/0` : `/proc/${pid}/task/${tid}/fd/0`;
|
|
389
|
+
try {
|
|
390
|
+
if (internals.readLink(path) === "/dev/tty") return terminalDevice;
|
|
391
|
+
const status = internals.stat(path);
|
|
392
|
+
return status.isCharacterDevice() && linuxDeviceNumber(status.rdev) === terminalDevice ? terminalDevice : void 0;
|
|
393
|
+
} catch (_unreadableStdinDevice) {
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
}
|
|
397
|
+
/**
|
|
398
|
+
* Report whether a Linux process group has an executing member. `false`
|
|
399
|
+
* means the group contains only zombie/dead entries; `undefined` means the
|
|
400
|
+
* process table could not prove either outcome.
|
|
401
|
+
* @param processGroupId - POSIX process-group id to inspect.
|
|
402
|
+
* @param internals - injectable process-table operations.
|
|
403
|
+
* @returns Live-member presence, or `undefined` when unavailable/absent.
|
|
404
|
+
*/
|
|
405
|
+
function linuxProcessGroupHasLiveMembers(processGroupId, internals = DEFAULT_INTERNALS) {
|
|
406
|
+
let entries;
|
|
407
|
+
try {
|
|
408
|
+
entries = internals.readDir("/proc");
|
|
409
|
+
} catch (_unreadableProcDirectory) {
|
|
410
|
+
return;
|
|
411
|
+
}
|
|
412
|
+
let matched = false;
|
|
413
|
+
for (const entry of entries) {
|
|
414
|
+
if (!/^\d+$/.test(entry)) continue;
|
|
415
|
+
const stat = readLinuxStat(internals, Number(entry));
|
|
416
|
+
if (stat?.pgrp !== processGroupId) continue;
|
|
417
|
+
matched = true;
|
|
418
|
+
if (!/^[ZXx]$/.test(stat.state)) return true;
|
|
419
|
+
}
|
|
420
|
+
return matched ? false : void 0;
|
|
421
|
+
}
|
|
422
|
+
function numericEntries(internals, path) {
|
|
423
|
+
try {
|
|
424
|
+
return internals.readDir(path).filter((entry) => /^\d+$/.test(entry)).map(Number);
|
|
425
|
+
} catch (_unreadableProcDirectory) {
|
|
426
|
+
return;
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
function readSyscall(internals, pid, tid) {
|
|
430
|
+
try {
|
|
431
|
+
const text = internals.readFile(`/proc/${pid}/task/${tid}/syscall`).trim();
|
|
432
|
+
if (text === "running" || text.startsWith("-1 ")) return void 0;
|
|
433
|
+
const fields = text.split(/\s+/);
|
|
434
|
+
const number = Number(fields[0]);
|
|
435
|
+
const args = fields.slice(1, 7).map((field) => Number.parseInt(field, 16));
|
|
436
|
+
if (!Number.isSafeInteger(number) || args.some((value) => !Number.isSafeInteger(value))) return void 0;
|
|
437
|
+
return {
|
|
438
|
+
number,
|
|
439
|
+
args
|
|
440
|
+
};
|
|
441
|
+
} catch (_unreadableSyscall) {
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
function readMemory(internals, pid, address, length) {
|
|
446
|
+
let fd;
|
|
447
|
+
try {
|
|
448
|
+
fd = internals.open(`/proc/${pid}/mem`);
|
|
449
|
+
const buffer = Buffer.alloc(length);
|
|
450
|
+
const count = internals.read(fd, buffer, length, address);
|
|
451
|
+
return buffer.subarray(0, count);
|
|
452
|
+
} catch (_unreadableProcessMemory) {
|
|
453
|
+
return;
|
|
454
|
+
} finally {
|
|
455
|
+
if (fd !== void 0) internals.close(fd);
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
function fdSetHasStdin(internals, pid, address) {
|
|
459
|
+
return address !== 0 && (readMemory(internals, pid, address, 8)?.[0] ?? 0) % 2 === 1;
|
|
460
|
+
}
|
|
461
|
+
function pollHasStdin(internals, pid, address, count) {
|
|
462
|
+
if (address === 0 || count <= 0) return false;
|
|
463
|
+
const memory = readMemory(internals, pid, address, Math.min(count, 1024) * 8);
|
|
464
|
+
if (memory === void 0) return false;
|
|
465
|
+
for (let offset = 0; offset + 8 <= memory.length; offset += 8) if (memory.readInt32LE(offset) === 0 && (memory.readInt16LE(offset + 4) & 1) !== 0) return true;
|
|
466
|
+
return false;
|
|
467
|
+
}
|
|
468
|
+
function epollHasStdin(internals, pid, tid, epfd) {
|
|
469
|
+
try {
|
|
470
|
+
return internals.readFile(`/proc/${pid}/task/${tid}/fdinfo/${epfd}`).split("\n").some((line) => /^tfd:\s+0\b/.test(line.trim()));
|
|
471
|
+
} catch (_unreadableFdInfo) {
|
|
472
|
+
return false;
|
|
473
|
+
}
|
|
474
|
+
}
|
|
475
|
+
const SYSCALLS = {
|
|
476
|
+
x64: {
|
|
477
|
+
read: 0,
|
|
478
|
+
select: 23,
|
|
479
|
+
pselect: 270,
|
|
480
|
+
poll: 7,
|
|
481
|
+
ppoll: 271,
|
|
482
|
+
epollWait: 232,
|
|
483
|
+
epollPwait: 281
|
|
484
|
+
},
|
|
485
|
+
arm64: {
|
|
486
|
+
read: 63,
|
|
487
|
+
pselect: 72,
|
|
488
|
+
ppoll: 73,
|
|
489
|
+
epollPwait: 22
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
const SUPPORTED_SYSCALL_TABLES = Object.values(SYSCALLS);
|
|
493
|
+
function linuxSyscallTables(arch) {
|
|
494
|
+
const primary = SYSCALLS[arch];
|
|
495
|
+
if (primary === void 0) return void 0;
|
|
496
|
+
return [primary, ...SUPPORTED_SYSCALL_TABLES.filter((table) => table !== primary)];
|
|
497
|
+
}
|
|
498
|
+
function syscallWaitsOnStdin(internals, pid, tid, syscall, tables) {
|
|
499
|
+
const [a0 = 0, a1 = 0, a2 = 0] = syscall.args;
|
|
500
|
+
for (const table of tables) {
|
|
501
|
+
if (syscall.number === table.read) return a0 === 0;
|
|
502
|
+
if (syscall.number === table.select || syscall.number === table.pselect) return a0 >= 1 && fdSetHasStdin(internals, pid, a1);
|
|
503
|
+
if (syscall.number === table.poll || syscall.number === table.ppoll) return a1 >= 1 && pollHasStdin(internals, pid, a0, a1);
|
|
504
|
+
if (syscall.number === table.epollWait || syscall.number === table.epollPwait) return a2 >= 1 && epollHasStdin(internals, pid, tid, a0);
|
|
505
|
+
}
|
|
506
|
+
return false;
|
|
507
|
+
}
|
|
508
|
+
var PosixProcessInspector = class {
|
|
509
|
+
internals;
|
|
510
|
+
constructor(internals) {
|
|
511
|
+
this.internals = internals;
|
|
512
|
+
}
|
|
513
|
+
signalGroup(pgid, signal) {
|
|
514
|
+
this.internals.kill(-pgid, signal);
|
|
515
|
+
}
|
|
516
|
+
signalProcess(identity, signal) {
|
|
517
|
+
if (this.isAlive(identity)) this.internals.kill(identity.pid, signal);
|
|
518
|
+
}
|
|
519
|
+
};
|
|
520
|
+
function quiescent(state) {
|
|
521
|
+
return state !== void 0 && /^[ZXx]$/.test(state);
|
|
522
|
+
}
|
|
523
|
+
var PosixProcessSnapshot = class {
|
|
524
|
+
rows;
|
|
525
|
+
complete;
|
|
526
|
+
byPid;
|
|
527
|
+
constructor(rows, complete) {
|
|
528
|
+
this.rows = rows;
|
|
529
|
+
this.complete = complete;
|
|
530
|
+
this.byPid = new Map(rows.map((row) => [row.pid, row]));
|
|
531
|
+
}
|
|
532
|
+
tree(rootPid) {
|
|
533
|
+
return processTree(this.rows, rootPid);
|
|
534
|
+
}
|
|
535
|
+
session(sessionId) {
|
|
536
|
+
return this.rows.flatMap((row) => row.session === sessionId ? [{
|
|
537
|
+
pid: row.pid,
|
|
538
|
+
started: row.started
|
|
539
|
+
}] : []);
|
|
540
|
+
}
|
|
541
|
+
alive(identity) {
|
|
542
|
+
const row = this.byPid.get(identity.pid);
|
|
543
|
+
return row?.started === identity.started && !quiescent(row.state);
|
|
544
|
+
}
|
|
545
|
+
};
|
|
546
|
+
function processTree(entries, rootPid) {
|
|
547
|
+
const root = new Map(entries.map((entry) => [entry.pid, entry])).get(rootPid);
|
|
548
|
+
if (root === void 0) return [];
|
|
549
|
+
const byParent = /* @__PURE__ */ new Map();
|
|
550
|
+
for (const entry of entries) {
|
|
551
|
+
const children = byParent.get(entry.parentPid) ?? [];
|
|
552
|
+
children.push(entry);
|
|
553
|
+
byParent.set(entry.parentPid, children);
|
|
554
|
+
}
|
|
555
|
+
const visited = /* @__PURE__ */ new Set();
|
|
556
|
+
const result = [];
|
|
557
|
+
const visit = (entry) => {
|
|
558
|
+
if (visited.has(entry.pid)) return;
|
|
559
|
+
visited.add(entry.pid);
|
|
560
|
+
for (const child of byParent.get(entry.pid) ?? []) visit(child);
|
|
561
|
+
result.push({
|
|
562
|
+
pid: entry.pid,
|
|
563
|
+
started: entry.started
|
|
564
|
+
});
|
|
565
|
+
};
|
|
566
|
+
visit(root);
|
|
567
|
+
return result;
|
|
568
|
+
}
|
|
569
|
+
var LinuxProcessInspector = class extends PosixProcessInspector {
|
|
570
|
+
arch;
|
|
571
|
+
constructor(arch, internals) {
|
|
572
|
+
super(internals);
|
|
573
|
+
this.arch = arch;
|
|
574
|
+
}
|
|
575
|
+
foregroundPgid(shellPid) {
|
|
576
|
+
const tpgid = readLinuxStat(this.internals, shellPid)?.tpgid;
|
|
577
|
+
return tpgid !== void 0 && tpgid > 0 ? tpgid : void 0;
|
|
578
|
+
}
|
|
579
|
+
isStdinWaiting(pgid, shellPid) {
|
|
580
|
+
const tables = linuxSyscallTables(this.arch);
|
|
581
|
+
if (tables === void 0) return false;
|
|
582
|
+
const shell = readLinuxStat(this.internals, shellPid);
|
|
583
|
+
if (shell === void 0) return false;
|
|
584
|
+
const terminalDevice = readLinuxTerminalDevice(this.internals, shellPid, shell.ttyDevice);
|
|
585
|
+
if (terminalDevice === void 0) return false;
|
|
586
|
+
for (const pid of numericEntries(this.internals, "/proc") ?? []) {
|
|
587
|
+
const process = readLinuxStat(this.internals, pid);
|
|
588
|
+
if (process?.pgrp !== pgid) continue;
|
|
589
|
+
for (const tid of numericEntries(this.internals, `/proc/${pid}/task`) ?? []) {
|
|
590
|
+
const syscall = readSyscall(this.internals, pid, tid);
|
|
591
|
+
if (syscall !== void 0 && syscallWaitsOnStdin(this.internals, pid, tid, syscall, tables) && readLinuxTerminalDevice(this.internals, pid, process.ttyDevice, tid) === terminalDevice) return true;
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
return false;
|
|
595
|
+
}
|
|
596
|
+
isAlive(identity) {
|
|
597
|
+
const stat = readLinuxStat(this.internals, identity.pid);
|
|
598
|
+
return stat?.started === identity.started && !quiescent(stat.state);
|
|
599
|
+
}
|
|
600
|
+
snapshot() {
|
|
601
|
+
const pids = numericEntries(this.internals, "/proc");
|
|
602
|
+
if (pids === void 0) throw new Error("Cannot inspect processes: /proc directory is unreadable");
|
|
603
|
+
let complete = true;
|
|
604
|
+
return new PosixProcessSnapshot(pids.flatMap((pid) => {
|
|
605
|
+
const stat = readLinuxStat(this.internals, pid);
|
|
606
|
+
if (stat === void 0) complete = false;
|
|
607
|
+
return stat === void 0 ? [] : [{
|
|
608
|
+
pid,
|
|
609
|
+
parentPid: stat.parentPid,
|
|
610
|
+
started: stat.started,
|
|
611
|
+
session: stat.session,
|
|
612
|
+
state: stat.state
|
|
613
|
+
}];
|
|
614
|
+
}), complete);
|
|
615
|
+
}
|
|
616
|
+
};
|
|
617
|
+
function macProcessTable(internals) {
|
|
618
|
+
let complete = true;
|
|
619
|
+
return {
|
|
620
|
+
rows: internals.exec("/bin/ps", ["-axo", "pid=,ppid=,lstart="]).split("\n").flatMap((line) => {
|
|
621
|
+
const match = /^\s*(\d+)\s+(\d+)\s+(.+?)\s*$/.exec(line);
|
|
622
|
+
if (match?.[1] === void 0 || match[2] === void 0 || match[3] === void 0) {
|
|
623
|
+
if (line.trim().length > 0) complete = false;
|
|
624
|
+
return [];
|
|
625
|
+
}
|
|
626
|
+
return [{
|
|
627
|
+
pid: Number(match[1]),
|
|
628
|
+
parentPid: Number(match[2]),
|
|
629
|
+
started: match[3],
|
|
630
|
+
session: void 0,
|
|
631
|
+
state: void 0
|
|
632
|
+
}];
|
|
633
|
+
}),
|
|
634
|
+
complete
|
|
635
|
+
};
|
|
636
|
+
}
|
|
637
|
+
var MacProcessInspector = class extends PosixProcessInspector {
|
|
638
|
+
foregroundPgid(shellPid) {
|
|
639
|
+
try {
|
|
640
|
+
const value = Number(this.internals.exec("/bin/ps", [
|
|
641
|
+
"-o",
|
|
642
|
+
"tpgid=",
|
|
643
|
+
"-p",
|
|
644
|
+
String(shellPid)
|
|
645
|
+
]).trim());
|
|
646
|
+
return Number.isSafeInteger(value) && value > 0 ? value : void 0;
|
|
647
|
+
} catch (_missingProcess) {
|
|
648
|
+
return;
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
isStdinWaiting(_pgid, _shellPid) {
|
|
652
|
+
return false;
|
|
653
|
+
}
|
|
654
|
+
isAlive(identity) {
|
|
655
|
+
return macProcessTable(this.internals).rows.some((entry) => entry.pid === identity.pid && entry.started === identity.started);
|
|
656
|
+
}
|
|
657
|
+
snapshot() {
|
|
658
|
+
const table = macProcessTable(this.internals);
|
|
659
|
+
return new PosixProcessSnapshot(table.rows, table.complete);
|
|
660
|
+
}
|
|
661
|
+
};
|
|
662
|
+
/**
|
|
663
|
+
* Create the supported platform inspector or fail at plugin load.
|
|
664
|
+
* @param platform - target Node platform.
|
|
665
|
+
* @param arch - target CPU architecture for Linux syscall numbers.
|
|
666
|
+
* @param internals - filesystem/process boundary, injectable for deterministic tests.
|
|
667
|
+
* @returns Platform process inspector.
|
|
668
|
+
*/
|
|
669
|
+
function createProcessInspector(platform = process.platform, arch = process.arch, internals = DEFAULT_INTERNALS) {
|
|
670
|
+
if (platform === "linux") return new LinuxProcessInspector(arch, internals);
|
|
671
|
+
if (platform === "darwin") return new MacProcessInspector(internals);
|
|
672
|
+
if (platform === "win32") return createWindowsProcessInspector();
|
|
673
|
+
throw new Error(`subprocess-local: terminal inspection is unsupported on platform ${platform}`);
|
|
674
|
+
}
|
|
675
|
+
//#endregion
|
|
676
|
+
//#region lib/types/spawn.js
|
|
677
|
+
/**
|
|
678
|
+
* Process plumbing for the local subprocess service: ordinary process launch
|
|
679
|
+
* with per-stream stdio dispositions, tail-keep collection with spill
|
|
680
|
+
* files, provider-owned range signalling, and common termination scheduling.
|
|
681
|
+
* POSIX owners stage TERM before KILL; Windows owners terminate immediately.
|
|
682
|
+
* This layer reacts to an abort signal; callers own deadlines, teardown
|
|
683
|
+
* ladders, and cause classification.
|
|
684
|
+
* @module dsh-subprocess-local/spawn
|
|
685
|
+
*/
|
|
686
|
+
/**
|
|
687
|
+
* Build a child environment: explicit caller entries override the scrubbed
|
|
688
|
+
* parent base using the target platform's environment-key semantics. A string
|
|
689
|
+
* deliberately restores or overrides an entry; an explicit `undefined`
|
|
690
|
+
* tombstone removes an ordinary ambient entry.
|
|
691
|
+
* @param extra - explicit caller entries and tombstones, merged after the scrub.
|
|
692
|
+
* @returns the environment to hand to `spawn` for the child process.
|
|
693
|
+
*/
|
|
694
|
+
function childEnv(extra) {
|
|
695
|
+
const env = scrubbedParentEnv();
|
|
696
|
+
if (process.platform !== "win32") return {
|
|
697
|
+
...env,
|
|
698
|
+
...extra
|
|
699
|
+
};
|
|
700
|
+
let entries = Object.entries(env);
|
|
701
|
+
for (const [key, value] of Object.entries(extra ?? {})) {
|
|
702
|
+
const normalized = key.toUpperCase();
|
|
703
|
+
entries = entries.filter(([inherited]) => inherited.toUpperCase() !== normalized);
|
|
704
|
+
entries.push([key, value]);
|
|
705
|
+
}
|
|
706
|
+
return Object.fromEntries(entries);
|
|
707
|
+
}
|
|
708
|
+
/**
|
|
709
|
+
* Liveness-poll cadence for tree-exit waits. The timer stays ref'd: an
|
|
710
|
+
* awaited teardown must keep the event loop alive until the tree really
|
|
711
|
+
* exits, or the parent can exit while claiming quiescence and orphan the
|
|
712
|
+
* survivors it promised to reap.
|
|
713
|
+
*/
|
|
714
|
+
function sleepTick() {
|
|
715
|
+
return setTimeout$1(15);
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* Terminate one Windows process tree with `taskkill /T /F`. Contained like
|
|
719
|
+
* POSIX group signalling — delivery races tree exit, so an absent tree, a
|
|
720
|
+
* nonzero status, or a missing taskkill binary must not break idempotent
|
|
721
|
+
* teardown.
|
|
722
|
+
* @param pid - root process id, when the spawn published one.
|
|
723
|
+
*/
|
|
724
|
+
function taskkillProcessTree(pid) {
|
|
725
|
+
if (pid === void 0 || pid <= 0) return;
|
|
726
|
+
spawnSync("taskkill", [
|
|
727
|
+
"/PID",
|
|
728
|
+
String(pid),
|
|
729
|
+
"/T",
|
|
730
|
+
"/F"
|
|
731
|
+
], {
|
|
732
|
+
stdio: "ignore",
|
|
733
|
+
windowsHide: true
|
|
734
|
+
});
|
|
735
|
+
}
|
|
736
|
+
/**
|
|
737
|
+
* Signal a detached process tree with platform-correct semantics: POSIX
|
|
738
|
+
* signals the negative process-group id and falls back to the direct child
|
|
739
|
+
* when the group is gone; Windows terminates the tree via taskkill (any
|
|
740
|
+
* signal value force-terminates — Node maps signals to TerminateProcess).
|
|
741
|
+
*/
|
|
742
|
+
function signalTree(platform, pid, sig, child, taskkill) {
|
|
743
|
+
/* v8 ignore next -- kill/terminate gate on treeAlive(), which is false without a pid; this guard protects direct callers only. */
|
|
744
|
+
if (pid === void 0) return;
|
|
745
|
+
if (platform === "win32") {
|
|
746
|
+
taskkill(pid);
|
|
747
|
+
return;
|
|
748
|
+
}
|
|
749
|
+
try {
|
|
750
|
+
process.kill(-pid, sig);
|
|
751
|
+
} catch {
|
|
752
|
+
/* v8 ignore start -- the fallback needs a live child whose group signal fails
|
|
753
|
+
(EPERM-style), which POSIX CI cannot stage; the swallow keeps teardown idempotent. */
|
|
754
|
+
try {
|
|
755
|
+
child.kill(sig);
|
|
756
|
+
} catch {}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
/**
|
|
760
|
+
* Validate the synchronous portion of one ordinary spawn request.
|
|
761
|
+
* @param spec - exact target request.
|
|
762
|
+
* @throws when grace, cancellation, or argv is invalid before launch.
|
|
763
|
+
*/
|
|
764
|
+
function validateSubprocessSpec(spec) {
|
|
765
|
+
if (!Number.isFinite(spec.graceMs) || spec.graceMs <= 0 || spec.graceMs > MAX_TIMER_DELAY_MS) throw new Error(`subprocess graceMs must be a positive finite number no greater than ${MAX_TIMER_DELAY_MS}`);
|
|
766
|
+
if (spec.signal?.aborted) {
|
|
767
|
+
let reason = "aborted";
|
|
768
|
+
try {
|
|
769
|
+
reason = String(spec.signal.reason ?? reason);
|
|
770
|
+
} catch {}
|
|
771
|
+
throw new Error(`aborted before spawn: ${reason}`);
|
|
772
|
+
}
|
|
773
|
+
const [program] = spec.argv;
|
|
774
|
+
if (program === void 0 || program.length === 0) throw new Error("invalid argv: expected a non-empty program name at argv[0]");
|
|
775
|
+
}
|
|
776
|
+
function directChildResult(child) {
|
|
777
|
+
return new Promise((resolve, reject) => {
|
|
778
|
+
let completed = false;
|
|
779
|
+
child.once("error", (error) => {
|
|
780
|
+
/* v8 ignore next -- ChildProcess may report a later operational error after its
|
|
781
|
+
terminal exit event; the first terminal event owns the result. */
|
|
782
|
+
if (completed) return;
|
|
783
|
+
completed = true;
|
|
784
|
+
reject(error);
|
|
785
|
+
});
|
|
786
|
+
child.once("exit", (exitCode, signal) => {
|
|
787
|
+
/* v8 ignore next -- a spawn/kill error may be followed by exit; a Promise can publish only the first terminal event. */
|
|
788
|
+
if (completed) return;
|
|
789
|
+
completed = true;
|
|
790
|
+
resolve({
|
|
791
|
+
exitCode,
|
|
792
|
+
signal
|
|
793
|
+
});
|
|
794
|
+
});
|
|
795
|
+
});
|
|
796
|
+
}
|
|
797
|
+
function fallbackOwner(platform, pid, child, taskkill, linuxGroupHasLiveMembers, direct) {
|
|
798
|
+
let stopped = false;
|
|
799
|
+
let directSettled = false;
|
|
800
|
+
let observation;
|
|
801
|
+
direct.then(() => {
|
|
802
|
+
directSettled = true;
|
|
803
|
+
}, () => {
|
|
804
|
+
directSettled = true;
|
|
805
|
+
});
|
|
806
|
+
const alive = () => {
|
|
807
|
+
if (stopped || pid === void 0) return false;
|
|
808
|
+
if (platform === "win32") return child.exitCode === null && child.signalCode === null;
|
|
809
|
+
try {
|
|
810
|
+
process.kill(-pid, 0);
|
|
811
|
+
if (directSettled && platform === "linux" && linuxGroupHasLiveMembers(pid) === false) return false;
|
|
812
|
+
return true;
|
|
813
|
+
} catch (error) {
|
|
814
|
+
const code = error.code;
|
|
815
|
+
if (code === "ESRCH") return false;
|
|
816
|
+
/* v8 ignore start -- EPERM and non-POSIX negative-pid failures are platform defenses. */
|
|
817
|
+
if (code === "EPERM") return true;
|
|
818
|
+
return child.exitCode === null && child.signalCode === null;
|
|
819
|
+
}
|
|
820
|
+
};
|
|
821
|
+
return {
|
|
822
|
+
signal: (signal) => {
|
|
823
|
+
if (!alive()) {
|
|
824
|
+
stopped = true;
|
|
825
|
+
return;
|
|
826
|
+
}
|
|
827
|
+
signalTree(platform, pid, signal, child, taskkill);
|
|
828
|
+
},
|
|
829
|
+
waitForExit: async () => {
|
|
830
|
+
/* v8 ignore next -- bindManagedProcess memoizes this owner wait; the guard only
|
|
831
|
+
protects direct internal re-entry after signal() observed absence. */
|
|
832
|
+
if (stopped) return;
|
|
833
|
+
observation ??= (async () => {
|
|
834
|
+
while (alive()) await sleepTick();
|
|
835
|
+
stopped = true;
|
|
836
|
+
})();
|
|
837
|
+
await observation;
|
|
838
|
+
},
|
|
839
|
+
terminateForHostExit: () => {
|
|
840
|
+
if (stopped) return;
|
|
841
|
+
signalTree(platform, pid, "SIGKILL", child, taskkill);
|
|
842
|
+
}
|
|
843
|
+
};
|
|
844
|
+
}
|
|
845
|
+
/**
|
|
846
|
+
* Bind platform launch facts to the existing stdio, outcome, abort, and termination lifecycle.
|
|
847
|
+
* @param spec - fully resolved argv, cwd, stdio, grace, cancellation, environment.
|
|
848
|
+
* @param launch - platform streams, direct outcome, and managed-range owner.
|
|
849
|
+
* @param internals - test-only spill-directory override.
|
|
850
|
+
* @returns live subprocess handle.
|
|
851
|
+
*/
|
|
852
|
+
function bindManagedProcess(spec, launch, internals = {}) {
|
|
853
|
+
const { spillDir } = prepareManagedProcessBinding(internals);
|
|
854
|
+
const { stdin, stdout, stderr } = launch;
|
|
855
|
+
const isCollect = (mode) => mode !== "pipe" && mode !== "inherit";
|
|
856
|
+
const outMode = spec.stdio.stdout;
|
|
857
|
+
const errMode = spec.stdio.stderr;
|
|
858
|
+
const stdinMode = spec.stdio.stdin;
|
|
859
|
+
const collectStream = (mode, stream, label) => {
|
|
860
|
+
if (!isCollect(mode) || stream === null) return void 0;
|
|
861
|
+
const collector = new OutputCollector(mode.maxBytes, mode.spill?.maxBytes, label, spillDir);
|
|
862
|
+
stream.on("data", (chunk) => {
|
|
863
|
+
collector.push(chunk);
|
|
864
|
+
});
|
|
865
|
+
return collector;
|
|
866
|
+
};
|
|
867
|
+
const stdoutCollector = collectStream(outMode, stdout, "stdout");
|
|
868
|
+
const stderrCollector = collectStream(errMode, stderr, "stderr");
|
|
869
|
+
const observeOutputStream = (mode, stream) => {
|
|
870
|
+
if (mode === "inherit" || stream === null || stream.readableEnded || stream.destroyed) return void 0;
|
|
871
|
+
return new Promise((resolve) => {
|
|
872
|
+
const settle = () => {
|
|
873
|
+
stream.off("end", settle);
|
|
874
|
+
stream.off("close", settle);
|
|
875
|
+
stream.off("error", settle);
|
|
876
|
+
resolve();
|
|
877
|
+
};
|
|
878
|
+
stream.once("end", settle);
|
|
879
|
+
stream.once("close", settle);
|
|
880
|
+
stream.once("error", settle);
|
|
881
|
+
});
|
|
882
|
+
};
|
|
883
|
+
const stdoutClosed = observeOutputStream(outMode, stdout);
|
|
884
|
+
const stderrClosed = observeOutputStream(errMode, stderr);
|
|
885
|
+
const outputStreamsClosed = Promise.all([stdoutClosed, stderrClosed]);
|
|
886
|
+
const stopCollectors = () => {
|
|
887
|
+
if (stdoutCollector !== void 0) stdout?.destroy();
|
|
888
|
+
if (stderrCollector !== void 0) stderr?.destroy();
|
|
889
|
+
stdoutCollector?.seal();
|
|
890
|
+
stderrCollector?.seal();
|
|
891
|
+
};
|
|
892
|
+
let graceTimer;
|
|
893
|
+
let terminationStarted = false;
|
|
894
|
+
let rangeExitObserved = false;
|
|
895
|
+
let rangeExitObservation;
|
|
896
|
+
let settled = false;
|
|
897
|
+
const scheduleOwnerCleanup = () => {
|
|
898
|
+
if (launch.owner.cleanup === void 0) return false;
|
|
899
|
+
queueMicrotask(() => {
|
|
900
|
+
done.finally(() => {
|
|
901
|
+
launch.owner.cleanup?.();
|
|
902
|
+
}).catch(() => {});
|
|
903
|
+
});
|
|
904
|
+
return true;
|
|
905
|
+
};
|
|
906
|
+
/**
|
|
907
|
+
* Start or reuse the handle's managed-range exit observer. A failed read
|
|
908
|
+
* before direct settlement can be retried. Once direct settlement permits
|
|
909
|
+
* cleanup, retain a failed observation because removing its private evidence
|
|
910
|
+
* must not turn a later wait into a false success. The first confirmed
|
|
911
|
+
* absence is the permanent no-more-signals boundary and cancels pending
|
|
912
|
+
* escalation before stale identity can be used.
|
|
913
|
+
*/
|
|
914
|
+
const observeRangeExit = () => {
|
|
915
|
+
rangeExitObservation ??= (async () => {
|
|
916
|
+
await launch.owner.waitForExit();
|
|
917
|
+
rangeExitObserved = true;
|
|
918
|
+
if (graceTimer !== void 0) clearTimeout(graceTimer);
|
|
919
|
+
graceTimer = void 0;
|
|
920
|
+
spec.signal?.removeEventListener("abort", onAbort);
|
|
921
|
+
scheduleOwnerCleanup();
|
|
922
|
+
})().catch((error) => {
|
|
923
|
+
if (!settled || !scheduleOwnerCleanup()) rangeExitObservation = void 0;
|
|
924
|
+
throw error;
|
|
925
|
+
});
|
|
926
|
+
return rangeExitObservation;
|
|
927
|
+
};
|
|
928
|
+
const kill = (sig, cancellationReason) => {
|
|
929
|
+
if (rangeExitObserved) return;
|
|
930
|
+
launch.owner.signal(sig, cancellationReason);
|
|
931
|
+
};
|
|
932
|
+
const terminateWithReason = (cancellationReason) => {
|
|
933
|
+
if (rangeExitObserved || terminationStarted) return;
|
|
934
|
+
terminationStarted = true;
|
|
935
|
+
observeRangeExit().catch(() => {});
|
|
936
|
+
kill("SIGTERM", cancellationReason);
|
|
937
|
+
graceTimer = setTimeout(() => {
|
|
938
|
+
graceTimer = void 0;
|
|
939
|
+
kill("SIGKILL");
|
|
940
|
+
}, spec.graceMs);
|
|
941
|
+
};
|
|
942
|
+
const terminate = () => {
|
|
943
|
+
terminateWithReason(/* @__PURE__ */ new Error("subprocess terminated before target start"));
|
|
944
|
+
};
|
|
945
|
+
const terminateForHostExit = () => {
|
|
946
|
+
launch.owner.terminateForHostExit();
|
|
947
|
+
};
|
|
948
|
+
const onAbort = () => {
|
|
949
|
+
terminateWithReason(spec.signal?.reason);
|
|
950
|
+
};
|
|
951
|
+
spec.signal?.addEventListener("abort", onAbort, { once: true });
|
|
952
|
+
if (typeof stdinMode === "object" && stdin !== null) {
|
|
953
|
+
stdin.on("error", () => {});
|
|
954
|
+
stdin.end(stdinMode.data);
|
|
955
|
+
}
|
|
956
|
+
const done = new Promise((resolve, reject) => {
|
|
957
|
+
let pipeDrainTimer;
|
|
958
|
+
const settle = (outcome) => {
|
|
959
|
+
if (settled) return;
|
|
960
|
+
settled = true;
|
|
961
|
+
stopCollectors();
|
|
962
|
+
cleanup();
|
|
963
|
+
resolve(outcome);
|
|
964
|
+
};
|
|
965
|
+
const fail = (error) => {
|
|
966
|
+
settled = true;
|
|
967
|
+
terminate();
|
|
968
|
+
stopCollectors();
|
|
969
|
+
cleanup();
|
|
970
|
+
reject(error);
|
|
971
|
+
};
|
|
972
|
+
launch.direct.then((outcome) => {
|
|
973
|
+
if (stdoutClosed === void 0 && stderrClosed === void 0) {
|
|
974
|
+
settle(outcome);
|
|
975
|
+
return;
|
|
976
|
+
}
|
|
977
|
+
pipeDrainTimer = setTimeout(() => {
|
|
978
|
+
settle(outcome);
|
|
979
|
+
}, spec.graceMs);
|
|
980
|
+
outputStreamsClosed.then(() => {
|
|
981
|
+
settle(outcome);
|
|
982
|
+
});
|
|
983
|
+
}, fail);
|
|
984
|
+
function cleanup() {
|
|
985
|
+
if (pipeDrainTimer !== void 0) clearTimeout(pipeDrainTimer);
|
|
986
|
+
}
|
|
987
|
+
});
|
|
988
|
+
const waitForExit = async (signal) => {
|
|
989
|
+
if (rangeExitObserved) return true;
|
|
990
|
+
return waitWithAbort(observeRangeExit(), signal);
|
|
991
|
+
};
|
|
992
|
+
return {
|
|
993
|
+
/* v8 ignore start -- pipe-mode streams exist on every conforming launch;
|
|
994
|
+
the null-coalesces guard an internal adapter defect only. */
|
|
995
|
+
stdin: stdinMode === "pipe" ? stdin ?? void 0 : void 0,
|
|
996
|
+
stdout: outMode === "pipe" ? stdout ?? void 0 : void 0,
|
|
997
|
+
stderr: errMode === "pipe" ? stderr ?? void 0 : void 0,
|
|
998
|
+
control: launch.control,
|
|
999
|
+
/* v8 ignore stop */
|
|
1000
|
+
collected: {
|
|
1001
|
+
...stdoutCollector !== void 0 ? { stdout: stdoutCollector } : {},
|
|
1002
|
+
...stderrCollector !== void 0 ? { stderr: stderrCollector } : {}
|
|
1003
|
+
},
|
|
1004
|
+
done,
|
|
1005
|
+
terminate,
|
|
1006
|
+
terminateForHostExit,
|
|
1007
|
+
waitForExit
|
|
1008
|
+
};
|
|
1009
|
+
}
|
|
1010
|
+
/**
|
|
1011
|
+
* Spawn one detached PGID/taskkill fallback and bind the common lifecycle.
|
|
1012
|
+
* @param spec - fully resolved argv, cwd, stdio, grace, cancellation, environment.
|
|
1013
|
+
* @param internals - test-only spill-directory, platform, and taskkill overrides.
|
|
1014
|
+
* @returns live subprocess handle.
|
|
1015
|
+
*/
|
|
1016
|
+
function spawnSubprocess(spec, internals = {}) {
|
|
1017
|
+
const binding = prepareManagedProcessBinding(internals);
|
|
1018
|
+
const platform = internals.platform ?? process.platform;
|
|
1019
|
+
const [program, ...args] = spec.argv;
|
|
1020
|
+
const stdio = [
|
|
1021
|
+
spec.stdio.stdin === "ignore" ? "ignore" : "pipe",
|
|
1022
|
+
spec.stdio.stdout === "inherit" ? "inherit" : "pipe",
|
|
1023
|
+
spec.stdio.stderr === "inherit" ? "inherit" : "pipe"
|
|
1024
|
+
];
|
|
1025
|
+
if (spec.stdio.control === "pipe") {
|
|
1026
|
+
while (stdio.length < SUBPROCESS_CONTROL_FD) stdio.push("ignore");
|
|
1027
|
+
stdio.push("overlapped");
|
|
1028
|
+
}
|
|
1029
|
+
const child = (internals.spawn ?? spawn)(program, args, {
|
|
1030
|
+
cwd: spec.cwd,
|
|
1031
|
+
env: controlEnvironment(childEnv(spec.env), spec.stdio.control),
|
|
1032
|
+
stdio,
|
|
1033
|
+
detached: platform !== "win32",
|
|
1034
|
+
windowsHide: platform === "win32"
|
|
1035
|
+
});
|
|
1036
|
+
const direct = directChildResult(child);
|
|
1037
|
+
const pid = child.pid;
|
|
1038
|
+
const owner = fallbackOwner(platform, pid, child, internals.taskkill ?? taskkillProcessTree, internals.linuxProcessGroupHasLiveMembers ?? linuxProcessGroupHasLiveMembers, direct);
|
|
1039
|
+
return bindManagedProcess(spec, {
|
|
1040
|
+
stdin: child.stdin,
|
|
1041
|
+
stdout: child.stdout,
|
|
1042
|
+
stderr: child.stderr,
|
|
1043
|
+
control: controlPipe(child, spec.stdio.control),
|
|
1044
|
+
direct,
|
|
1045
|
+
owner
|
|
1046
|
+
}, binding);
|
|
1047
|
+
}
|
|
1048
|
+
//#endregion
|
|
1049
|
+
//#region lib/types/linux-execve.js
|
|
1050
|
+
/** Lazy libc execve and descriptor bindings used by the one-shot Linux bootstrap. */
|
|
1051
|
+
const requireKoffi = createLazyRequire("koffi", import.meta.url);
|
|
1052
|
+
const STANDARD_FILE_DESCRIPTORS = [
|
|
1053
|
+
0,
|
|
1054
|
+
1,
|
|
1055
|
+
2
|
|
1056
|
+
];
|
|
1057
|
+
const F_GETFD = 1;
|
|
1058
|
+
const F_SETFD = 2;
|
|
1059
|
+
const FD_CLOEXEC = 1;
|
|
1060
|
+
let cachedExecve;
|
|
1061
|
+
function systemError(errno, syscall, path) {
|
|
1062
|
+
const uvError = -errno;
|
|
1063
|
+
const code = getSystemErrorName(uvError);
|
|
1064
|
+
const detail = getSystemErrorMessage(uvError);
|
|
1065
|
+
const subject = path === void 0 ? syscall : `${syscall} '${path}'`;
|
|
1066
|
+
const error = Object.assign(/* @__PURE__ */ new Error(`${code}: ${detail}, ${subject}`), {
|
|
1067
|
+
code,
|
|
1068
|
+
errno: uvError,
|
|
1069
|
+
syscall
|
|
1070
|
+
});
|
|
1071
|
+
return path === void 0 ? error : Object.assign(error, { path });
|
|
1072
|
+
}
|
|
1073
|
+
/**
|
|
1074
|
+
* Load libc's execve and fcntl symbols on first use and retain the native bindings.
|
|
1075
|
+
* @returns a process-replacing execve operation that throws Node-style errors on failure.
|
|
1076
|
+
*/
|
|
1077
|
+
function loadLinuxExecve() {
|
|
1078
|
+
if (cachedExecve !== void 0) return cachedExecve;
|
|
1079
|
+
const koffi = requireKoffi();
|
|
1080
|
+
const libc = koffi.load(null);
|
|
1081
|
+
const nativeExecve = libc.func("int execve(const char *pathname, const char **argv, const char **envp)");
|
|
1082
|
+
const nativeFcntl = libc.func("int fcntl(int fd, int cmd, int arg)");
|
|
1083
|
+
cachedExecve = (file, argv, env, control) => {
|
|
1084
|
+
const descriptors = control === "pipe" ? [...STANDARD_FILE_DESCRIPTORS, SUBPROCESS_CONTROL_FD] : STANDARD_FILE_DESCRIPTORS;
|
|
1085
|
+
for (const fd of descriptors) {
|
|
1086
|
+
const flags = nativeFcntl(fd, F_GETFD, 0);
|
|
1087
|
+
if (flags === -1) throw systemError(koffi.errno(), "fcntl");
|
|
1088
|
+
if ((flags & FD_CLOEXEC) === 0) continue;
|
|
1089
|
+
if (nativeFcntl(fd, F_SETFD, flags & -2) === -1) throw systemError(koffi.errno(), "fcntl");
|
|
1090
|
+
}
|
|
1091
|
+
nativeExecve(file, [...argv, null], [...Object.entries(env).map(([key, value]) => `${key}=${value}`), null]);
|
|
1092
|
+
throw systemError(koffi.errno(), "execve", file);
|
|
1093
|
+
};
|
|
1094
|
+
return cachedExecve;
|
|
1095
|
+
}
|
|
1096
|
+
//#endregion
|
|
1097
|
+
//#region lib/types/runner-protocol.js
|
|
1098
|
+
/** Closed private transports shared by the native subprocess runner. */
|
|
1099
|
+
function isRecord(value) {
|
|
1100
|
+
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
1101
|
+
}
|
|
1102
|
+
function hasExactKeys(value, required, optional = []) {
|
|
1103
|
+
const allowed = new Set([...required, ...optional]);
|
|
1104
|
+
return required.every((key) => Object.hasOwn(value, key)) && Object.keys(value).every((key) => allowed.has(key));
|
|
1105
|
+
}
|
|
1106
|
+
function isStringRecord(value) {
|
|
1107
|
+
return isRecord(value) && Object.values(value).every((entry) => typeof entry === "string");
|
|
1108
|
+
}
|
|
1109
|
+
function isSerializedRunnerError(value) {
|
|
1110
|
+
if (!isRecord(value) || !hasExactKeys(value, ["name", "message"], [
|
|
1111
|
+
"code",
|
|
1112
|
+
"syscall",
|
|
1113
|
+
"path"
|
|
1114
|
+
])) return false;
|
|
1115
|
+
return typeof value.name === "string" && typeof value.message === "string" && (value.code === void 0 || typeof value.code === "string") && (value.syscall === void 0 || typeof value.syscall === "string") && (value.path === void 0 || typeof value.path === "string");
|
|
1116
|
+
}
|
|
1117
|
+
function parseErrorResult(value) {
|
|
1118
|
+
if (!hasExactKeys(value, ["type", "error"]) || !isSerializedRunnerError(value.error)) throw new Error("subprocess runner emitted an invalid error result");
|
|
1119
|
+
if (value.type !== "error") throw new Error("subprocess runner emitted an unknown error result");
|
|
1120
|
+
return {
|
|
1121
|
+
type: "error",
|
|
1122
|
+
error: value.error
|
|
1123
|
+
};
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* Create a private 0700 directory and one complete 0600 launch request.
|
|
1127
|
+
* @param request - target cwd and complete environment for the bootstrap.
|
|
1128
|
+
* @returns private paths owned by this launch.
|
|
1129
|
+
*/
|
|
1130
|
+
function createLinuxLaunchFiles(request) {
|
|
1131
|
+
const directory = mkdtempSync(join(tmpdir(), "dsh-subprocess-launch-"));
|
|
1132
|
+
const files = {
|
|
1133
|
+
directory,
|
|
1134
|
+
requestPath: join(directory, "launch-request.json"),
|
|
1135
|
+
startupErrorPath: join(directory, "startup-error.json")
|
|
1136
|
+
};
|
|
1137
|
+
try {
|
|
1138
|
+
chmodSync(directory, 448);
|
|
1139
|
+
writeFileSync(files.requestPath, JSON.stringify(request), {
|
|
1140
|
+
flag: "wx",
|
|
1141
|
+
mode: 384
|
|
1142
|
+
});
|
|
1143
|
+
return files;
|
|
1144
|
+
} catch (error) {
|
|
1145
|
+
cleanupLinuxLaunchFiles(files);
|
|
1146
|
+
throw error;
|
|
1147
|
+
}
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* Derive the only permitted startup-error path from an absolute request locator.
|
|
1151
|
+
* @param requestPath - absolute path to the private launch-request file.
|
|
1152
|
+
* @returns validated sibling paths for this launch.
|
|
1153
|
+
*/
|
|
1154
|
+
function linuxLaunchFilesFromLocator(requestPath) {
|
|
1155
|
+
if (!isAbsolute(requestPath) || basename(requestPath) !== "launch-request.json") throw new Error("subprocess runner received an invalid Linux launch-request locator");
|
|
1156
|
+
const directory = dirname(requestPath);
|
|
1157
|
+
return {
|
|
1158
|
+
directory,
|
|
1159
|
+
requestPath,
|
|
1160
|
+
startupErrorPath: join(directory, "startup-error.json")
|
|
1161
|
+
};
|
|
1162
|
+
}
|
|
1163
|
+
/**
|
|
1164
|
+
* Strictly read and remove a one-shot Linux launch request.
|
|
1165
|
+
* @param requestPath - private launch-request path to consume.
|
|
1166
|
+
* @returns validated target cwd and environment.
|
|
1167
|
+
*/
|
|
1168
|
+
function consumeLinuxLaunchRequest(requestPath) {
|
|
1169
|
+
const text = readFileSync(requestPath, "utf8");
|
|
1170
|
+
unlinkSync(requestPath);
|
|
1171
|
+
const value = JSON.parse(text);
|
|
1172
|
+
if (!isRecord(value) || !hasExactKeys(value, ["cwd", "env"], ["control"]) || typeof value.cwd !== "string" || !isStringRecord(value.env) || value.control !== void 0 && value.control !== "pipe") throw new Error("subprocess runner received an invalid Linux launch request");
|
|
1173
|
+
return {
|
|
1174
|
+
cwd: value.cwd,
|
|
1175
|
+
env: value.env,
|
|
1176
|
+
...value.control === "pipe" ? { control: "pipe" } : {}
|
|
1177
|
+
};
|
|
1178
|
+
}
|
|
1179
|
+
/**
|
|
1180
|
+
* Publish one strict 0600 Linux pre-exec error.
|
|
1181
|
+
* @param files - private paths for this launch.
|
|
1182
|
+
* @param error - bounded spawn or runner failure to publish.
|
|
1183
|
+
*/
|
|
1184
|
+
function writeLinuxStartupError(files, error) {
|
|
1185
|
+
writeFileSync(files.startupErrorPath, JSON.stringify(error), {
|
|
1186
|
+
flag: "wx",
|
|
1187
|
+
mode: 384
|
|
1188
|
+
});
|
|
1189
|
+
}
|
|
1190
|
+
/**
|
|
1191
|
+
* Read the Linux pre-exec error, if the bootstrap published one.
|
|
1192
|
+
* @param path - expected startup-error path.
|
|
1193
|
+
* @returns the validated failure, or undefined when none was published.
|
|
1194
|
+
*/
|
|
1195
|
+
function readLinuxStartupError(path) {
|
|
1196
|
+
if (!existsSync(path)) return void 0;
|
|
1197
|
+
const value = JSON.parse(readFileSync(path, "utf8"));
|
|
1198
|
+
if (!isRecord(value)) throw new Error("subprocess runner emitted an invalid startup error");
|
|
1199
|
+
return parseErrorResult(value);
|
|
1200
|
+
}
|
|
1201
|
+
/**
|
|
1202
|
+
* Strictly parse the single Windows start message.
|
|
1203
|
+
* @param value - untrusted IPC payload.
|
|
1204
|
+
* @returns validated target start request.
|
|
1205
|
+
*/
|
|
1206
|
+
function parseWindowsStartRequest(value) {
|
|
1207
|
+
if (!isRecord(value) || !hasExactKeys(value, [
|
|
1208
|
+
"type",
|
|
1209
|
+
"cwd",
|
|
1210
|
+
"env"
|
|
1211
|
+
], ["control"]) || value.type !== "start" || typeof value.cwd !== "string" || !isStringRecord(value.env) || value.control !== void 0 && value.control !== "pipe") throw new Error("subprocess runner received an invalid Windows start request");
|
|
1212
|
+
return {
|
|
1213
|
+
type: "start",
|
|
1214
|
+
cwd: value.cwd,
|
|
1215
|
+
env: value.env,
|
|
1216
|
+
...value.control === "pipe" ? { control: "pipe" } : {}
|
|
1217
|
+
};
|
|
1218
|
+
}
|
|
1219
|
+
/**
|
|
1220
|
+
* Return true only for the exact, payload-free Windows terminate control.
|
|
1221
|
+
* @param value - untrusted IPC payload.
|
|
1222
|
+
* @returns whether the payload is the exact terminate request.
|
|
1223
|
+
*/
|
|
1224
|
+
function isWindowsTerminateRequest(value) {
|
|
1225
|
+
return isRecord(value) && hasExactKeys(value, ["type"]) && value.type === "terminate";
|
|
1226
|
+
}
|
|
1227
|
+
/**
|
|
1228
|
+
* Strictly parse one of the two Windows direct-result branches.
|
|
1229
|
+
* @param value - untrusted IPC payload.
|
|
1230
|
+
* @returns validated direct-result message.
|
|
1231
|
+
*/
|
|
1232
|
+
function parseWindowsRunnerResult(value) {
|
|
1233
|
+
if (!isRecord(value) || typeof value.type !== "string") throw new Error("subprocess runner emitted an invalid Windows result");
|
|
1234
|
+
if (value.type === "error") return parseErrorResult(value);
|
|
1235
|
+
if (value.type === "target-exit") {
|
|
1236
|
+
const validExitCode = typeof value.exitCode === "number" && Number.isSafeInteger(value.exitCode) && value.exitCode >= 0;
|
|
1237
|
+
if (!hasExactKeys(value, ["type", "exitCode"]) || !validExitCode) throw new Error("subprocess runner emitted an invalid target-exit result");
|
|
1238
|
+
return {
|
|
1239
|
+
type: "target-exit",
|
|
1240
|
+
exitCode: value.exitCode
|
|
1241
|
+
};
|
|
1242
|
+
}
|
|
1243
|
+
throw new Error(`subprocess runner emitted an unknown Windows result: ${value.type}`);
|
|
1244
|
+
}
|
|
1245
|
+
/**
|
|
1246
|
+
* Convert an unknown failure into the bounded cross-process error record.
|
|
1247
|
+
* @param error - failure caught at the process boundary.
|
|
1248
|
+
* @returns bounded serializable error fields.
|
|
1249
|
+
*/
|
|
1250
|
+
function serializeRunnerError(error) {
|
|
1251
|
+
const source = error instanceof Error ? error : new Error(String(error));
|
|
1252
|
+
const node = source;
|
|
1253
|
+
return {
|
|
1254
|
+
name: source.name,
|
|
1255
|
+
message: source.message,
|
|
1256
|
+
...typeof node.code === "string" ? { code: node.code } : {},
|
|
1257
|
+
...typeof node.syscall === "string" ? { syscall: node.syscall } : {},
|
|
1258
|
+
...typeof node.path === "string" ? { path: node.path } : {}
|
|
1259
|
+
};
|
|
1260
|
+
}
|
|
1261
|
+
/**
|
|
1262
|
+
* Rebuild a Node-shaped Error from a strict runner record.
|
|
1263
|
+
* @param serialized - validated bounded error fields.
|
|
1264
|
+
* @returns reconstructed Error with supported Node fields.
|
|
1265
|
+
*/
|
|
1266
|
+
function deserializeRunnerError(serialized) {
|
|
1267
|
+
const error = new Error(serialized.message);
|
|
1268
|
+
error.name = serialized.name;
|
|
1269
|
+
return Object.assign(error, {
|
|
1270
|
+
...serialized.code === void 0 ? {} : { code: serialized.code },
|
|
1271
|
+
...serialized.syscall === void 0 ? {} : { syscall: serialized.syscall },
|
|
1272
|
+
...serialized.path === void 0 ? {} : { path: serialized.path }
|
|
1273
|
+
});
|
|
1274
|
+
}
|
|
1275
|
+
/**
|
|
1276
|
+
* Best-effort removal of only the private paths created for this Linux spawn.
|
|
1277
|
+
* @param files - exact private paths owned by this launch.
|
|
1278
|
+
*/
|
|
1279
|
+
function cleanupLinuxLaunchFiles(files) {
|
|
1280
|
+
try {
|
|
1281
|
+
if (lstatSync(files.directory).isSymbolicLink()) {
|
|
1282
|
+
unlinkSync(files.directory);
|
|
1283
|
+
return;
|
|
1284
|
+
}
|
|
1285
|
+
for (const path of [files.requestPath, files.startupErrorPath]) try {
|
|
1286
|
+
unlinkSync(path);
|
|
1287
|
+
} catch (error) {
|
|
1288
|
+
if (error.code !== "ENOENT") throw error;
|
|
1289
|
+
}
|
|
1290
|
+
rmdirSync(files.directory);
|
|
1291
|
+
} catch {}
|
|
1292
|
+
}
|
|
1293
|
+
//#endregion
|
|
1294
|
+
//#region lib/types/runner-launch.js
|
|
1295
|
+
/** Parent-side invocation and bootstrap state for the private native runner. */
|
|
1296
|
+
/** The one private environment variable consumed before target state is restored. */
|
|
1297
|
+
const SUBPROCESS_RUNNER_ENV = "DSH_SUBPROCESS_RUNNER";
|
|
1298
|
+
/** Sentinel used by the packaged bootstrap for the Windows IPC runner. */
|
|
1299
|
+
const WINDOWS_RUNNER_SELECTION = "windows";
|
|
1300
|
+
const SOURCE_TSCONFIG_PATH = fileURLToPath(new URL("../../../../tsconfig.base.json", import.meta.url));
|
|
1301
|
+
const RUNNER_CONTROL_ENV_PREFIXES = ["NODE_", "TSX_"];
|
|
1302
|
+
/**
|
|
1303
|
+
* Resolve the source, built, or packaged entry that calls the same runner core.
|
|
1304
|
+
* @returns executable and arguments for the active runtime form.
|
|
1305
|
+
*/
|
|
1306
|
+
function spawnRunnerInvocation() {
|
|
1307
|
+
if ("pkg" in process) return [process.execPath];
|
|
1308
|
+
/* v8 ignore next -- built-artifact smoke imports the emitted JavaScript runner entry;
|
|
1309
|
+
* source-unit coverage cannot change import.meta.url. */
|
|
1310
|
+
if (extname(fileURLToPath(import.meta.url)) !== ".ts") return [process.execPath, fileURLToPath(import.meta.resolve("@deepseek-ai/dsh-subprocess-local/runner"))];
|
|
1311
|
+
return [
|
|
1312
|
+
process.execPath,
|
|
1313
|
+
"--import",
|
|
1314
|
+
import.meta.resolve("tsx/esm"),
|
|
1315
|
+
fileURLToPath(new URL("./bin.ts", import.meta.url))
|
|
1316
|
+
];
|
|
1317
|
+
}
|
|
1318
|
+
/**
|
|
1319
|
+
* Check the concrete runner executable and entry paths without executing a probe mode.
|
|
1320
|
+
* @param invocation - resolved executable and runner-entry arguments.
|
|
1321
|
+
* @returns whether every concrete executable or entry path is accessible.
|
|
1322
|
+
*/
|
|
1323
|
+
function runnerInvocationAvailable(invocation = spawnRunnerInvocation()) {
|
|
1324
|
+
try {
|
|
1325
|
+
if (isAbsolute(invocation[0])) accessSync(invocation[0], constants.X_OK);
|
|
1326
|
+
const entry = invocation.at(-1);
|
|
1327
|
+
if (entry !== void 0 && entry !== invocation[0] && isAbsolute(entry)) accessSync(entry, constants.R_OK);
|
|
1328
|
+
return true;
|
|
1329
|
+
} catch {
|
|
1330
|
+
return false;
|
|
1331
|
+
}
|
|
1332
|
+
}
|
|
1333
|
+
/**
|
|
1334
|
+
* Build the bootstrap-safe environment; target overrides arrive through request/IPC.
|
|
1335
|
+
* @param selection - private runner selector or Linux launch-request locator.
|
|
1336
|
+
* @param invocation - resolved runner invocation whose source form needs the workspace paths map.
|
|
1337
|
+
* @returns environment for the runner before target state is restored.
|
|
1338
|
+
*/
|
|
1339
|
+
function runnerEnvironment(selection, invocation) {
|
|
1340
|
+
const entry = invocation?.at(-1);
|
|
1341
|
+
const env = childEnv();
|
|
1342
|
+
for (const name of Object.keys(env)) {
|
|
1343
|
+
const normalized = name.toUpperCase();
|
|
1344
|
+
if (RUNNER_CONTROL_ENV_PREFIXES.some((prefix) => normalized.startsWith(prefix))) Reflect.deleteProperty(env, name);
|
|
1345
|
+
}
|
|
1346
|
+
return {
|
|
1347
|
+
...env,
|
|
1348
|
+
[SUBPROCESS_RUNNER_ENV]: selection,
|
|
1349
|
+
SYSTEMD_LOG_TARGET: "null",
|
|
1350
|
+
...entry?.endsWith(".ts") === true ? { TSX_TSCONFIG_PATH: SOURCE_TSCONFIG_PATH } : {}
|
|
1351
|
+
};
|
|
1352
|
+
}
|
|
1353
|
+
/**
|
|
1354
|
+
* Read and delete the private selector before importing or restoring target state.
|
|
1355
|
+
* @param env - mutable environment containing the private selector.
|
|
1356
|
+
* @returns the consumed selector, or undefined when no runner was requested.
|
|
1357
|
+
*/
|
|
1358
|
+
function consumeRunnerSelection(env = process.env) {
|
|
1359
|
+
const selection = env[SUBPROCESS_RUNNER_ENV];
|
|
1360
|
+
Reflect.deleteProperty(env, SUBPROCESS_RUNNER_ENV);
|
|
1361
|
+
return selection;
|
|
1362
|
+
}
|
|
1363
|
+
/**
|
|
1364
|
+
* Require the private argv delimiter and at least one target argv entry.
|
|
1365
|
+
* @param argv - private runner arguments.
|
|
1366
|
+
* @returns copied target argv after the private delimiter.
|
|
1367
|
+
*/
|
|
1368
|
+
function parseRunnerTargetArgv(argv) {
|
|
1369
|
+
if (argv[0] !== "--" || argv.length < 2) throw new Error("subprocess runner requires target argv after a private -- delimiter");
|
|
1370
|
+
return [...argv.slice(1)];
|
|
1371
|
+
}
|
|
1372
|
+
/**
|
|
1373
|
+
* Build direct Linux target stdio, or isolated Windows runner stdio with IPC
|
|
1374
|
+
* on fd 3 and target carriers on fd 4 through fd 6; optional control uses fd 7.
|
|
1375
|
+
* @param spec - ordinary subprocess request whose stdio modes are preserved.
|
|
1376
|
+
* @param ipc - whether to isolate the runner and add its private Node IPC descriptor.
|
|
1377
|
+
* @param stdinCarrier - runner fd 4 carrier; Windows ignore passes an opened null-device fd.
|
|
1378
|
+
* @returns child-process stdio options for the runner.
|
|
1379
|
+
*/
|
|
1380
|
+
function runnerStdio(spec, ipc, stdinCarrier = "pipe") {
|
|
1381
|
+
const targetStdio = [
|
|
1382
|
+
spec.stdio.stdin === "ignore" ? "ignore" : "pipe",
|
|
1383
|
+
spec.stdio.stdout === "inherit" ? "inherit" : "pipe",
|
|
1384
|
+
spec.stdio.stderr === "inherit" ? "inherit" : "pipe"
|
|
1385
|
+
];
|
|
1386
|
+
if (!ipc) {
|
|
1387
|
+
if (spec.stdio.control === "pipe") {
|
|
1388
|
+
while (targetStdio.length < SUBPROCESS_CONTROL_FD) targetStdio.push("ignore");
|
|
1389
|
+
targetStdio.push("overlapped");
|
|
1390
|
+
}
|
|
1391
|
+
return targetStdio;
|
|
1392
|
+
}
|
|
1393
|
+
const runner = [
|
|
1394
|
+
"ignore",
|
|
1395
|
+
"ignore",
|
|
1396
|
+
"ignore",
|
|
1397
|
+
"ipc",
|
|
1398
|
+
stdinCarrier,
|
|
1399
|
+
spec.stdio.stdout === "inherit" ? 1 : "pipe",
|
|
1400
|
+
spec.stdio.stderr === "inherit" ? 2 : "pipe"
|
|
1401
|
+
];
|
|
1402
|
+
if (spec.stdio.control === "pipe") runner.push("overlapped");
|
|
1403
|
+
return runner;
|
|
1404
|
+
}
|
|
1405
|
+
function windowsEnvironmentValue(env, name) {
|
|
1406
|
+
for (const key of Object.keys(env).sort()) if (key.toUpperCase() === name) return env[key];
|
|
1407
|
+
}
|
|
1408
|
+
function executableCandidateExists(candidate) {
|
|
1409
|
+
try {
|
|
1410
|
+
return !statSync(candidate).isDirectory();
|
|
1411
|
+
} catch {
|
|
1412
|
+
try {
|
|
1413
|
+
const entry = lstatSync(candidate);
|
|
1414
|
+
return entry.isFile() || entry.isSymbolicLink();
|
|
1415
|
+
} catch {
|
|
1416
|
+
return false;
|
|
1417
|
+
}
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1420
|
+
function windowsPathDirectories(path) {
|
|
1421
|
+
const directories = [];
|
|
1422
|
+
let start = 0;
|
|
1423
|
+
while (start < path.length) {
|
|
1424
|
+
if (path.charAt(start) === ";") {
|
|
1425
|
+
start += 1;
|
|
1426
|
+
continue;
|
|
1427
|
+
}
|
|
1428
|
+
const quote = path.charAt(start);
|
|
1429
|
+
const quoted = quote === "\"" || quote === "'";
|
|
1430
|
+
const quoteEnd = quoted ? path.indexOf(quote, start + 1) : -1;
|
|
1431
|
+
const separator = path.indexOf(";", quoted ? quoteEnd < 0 ? path.length : quoteEnd : start);
|
|
1432
|
+
const end = separator < 0 ? path.length : separator;
|
|
1433
|
+
let directory = path.slice(start, end);
|
|
1434
|
+
if (directory.startsWith("\"") || directory.startsWith("'")) directory = directory.slice(1);
|
|
1435
|
+
if (directory.endsWith("\"") || directory.endsWith("'")) directory = directory.slice(0, -1);
|
|
1436
|
+
if (directory.length > 0) directories.push(directory);
|
|
1437
|
+
start = end + 1;
|
|
1438
|
+
}
|
|
1439
|
+
return directories;
|
|
1440
|
+
}
|
|
1441
|
+
function windowsFileNameStart(command) {
|
|
1442
|
+
let start = command.length;
|
|
1443
|
+
while (start > 0 && !/[\\/:]/u.test(command.charAt(start - 1))) start -= 1;
|
|
1444
|
+
return start;
|
|
1445
|
+
}
|
|
1446
|
+
function windowsSearchPathJoin(directory, name, cwd) {
|
|
1447
|
+
let prefix = cwd;
|
|
1448
|
+
let adjustedDirectory = directory;
|
|
1449
|
+
const slash = (value) => value === "\\" || value === "/";
|
|
1450
|
+
if (directory.length > 2 && slash(directory.charAt(0)) && slash(directory.charAt(1))) prefix = "";
|
|
1451
|
+
else if (directory.length >= 1 && slash(directory.charAt(0))) prefix = cwd.slice(0, 2);
|
|
1452
|
+
else if (directory.length >= 2 && directory.charAt(1) === ":" && (directory.length < 3 || !slash(directory.charAt(2)))) if (cwd.length < 2 || cwd.slice(0, 2).toLowerCase() !== directory.slice(0, 2).toLowerCase()) prefix = "";
|
|
1453
|
+
else adjustedDirectory = directory.slice(2);
|
|
1454
|
+
else if (directory.length > 2 && directory.charAt(1) === ":") prefix = "";
|
|
1455
|
+
const append = (base, part) => {
|
|
1456
|
+
if (base.length === 0 || part.length === 0) return base + part;
|
|
1457
|
+
return /[\\/:]$/u.test(base) ? base + part : `${base}\\${part}`;
|
|
1458
|
+
};
|
|
1459
|
+
return append(append(prefix, adjustedDirectory), name);
|
|
1460
|
+
}
|
|
1461
|
+
function windowsExecutableNames(command, name) {
|
|
1462
|
+
const dot = name.indexOf(".");
|
|
1463
|
+
const hasExtension = dot >= 0 && dot < name.length - 1;
|
|
1464
|
+
const separator = name.endsWith(".") ? "" : ".";
|
|
1465
|
+
return [
|
|
1466
|
+
...hasExtension ? [command] : [],
|
|
1467
|
+
`${command}${separator}com`,
|
|
1468
|
+
`${command}${separator}exe`
|
|
1469
|
+
];
|
|
1470
|
+
}
|
|
1471
|
+
/**
|
|
1472
|
+
* Resolve the executable path with libuv/Node Windows spawn search order while
|
|
1473
|
+
* preserving the caller's original command-line argv entry separately.
|
|
1474
|
+
* @param command - original target argv[0].
|
|
1475
|
+
* @param cwd - final target working directory used for relative search roots.
|
|
1476
|
+
* @param env - final target environment containing the child PATH.
|
|
1477
|
+
* @param exists - injectable non-directory candidate probe used by tests.
|
|
1478
|
+
* @param currentEnv - runner environment supplying PATH fallback and cwd-search policy.
|
|
1479
|
+
* @returns a resolved application name suitable for `CreateProcessW`, or undefined when no candidate exists.
|
|
1480
|
+
*/
|
|
1481
|
+
function resolveWindowsExecutable(command, cwd, env, exists = executableCandidateExists, currentEnv = process.env) {
|
|
1482
|
+
const nameStart = windowsFileNameStart(command);
|
|
1483
|
+
const directory = command.slice(0, nameStart);
|
|
1484
|
+
const name = command.slice(nameStart);
|
|
1485
|
+
const hasPath = nameStart !== 0;
|
|
1486
|
+
const roots = [];
|
|
1487
|
+
if (hasPath) roots.push(directory);
|
|
1488
|
+
else {
|
|
1489
|
+
if (windowsEnvironmentValue(currentEnv, "NODEFAULTCURRENTDIRECTORYINEXEPATH") === void 0) roots.push("");
|
|
1490
|
+
const path = windowsEnvironmentValue(env, "PATH") ?? windowsEnvironmentValue(currentEnv, "PATH") ?? "";
|
|
1491
|
+
roots.push(...windowsPathDirectories(path));
|
|
1492
|
+
}
|
|
1493
|
+
for (const root of roots) {
|
|
1494
|
+
const base = windowsSearchPathJoin(root, name, cwd);
|
|
1495
|
+
for (const candidate of windowsExecutableNames(base, name)) if (exists(candidate)) return candidate;
|
|
1496
|
+
}
|
|
1497
|
+
}
|
|
1498
|
+
function throwNullByteError(property, value, argument) {
|
|
1499
|
+
const subject = argument ? `The argument '${property}'` : `The property '${property}'`;
|
|
1500
|
+
const error = /* @__PURE__ */ new TypeError(`${subject} must be a string without null bytes. Received ${inspect(value)}`);
|
|
1501
|
+
Object.assign(error, { code: "ERR_INVALID_ARG_VALUE" });
|
|
1502
|
+
throw error;
|
|
1503
|
+
}
|
|
1504
|
+
function validateNoNullByte(property, value, argument = false) {
|
|
1505
|
+
if (value.includes("\0")) throwNullByteError(property, value, argument);
|
|
1506
|
+
}
|
|
1507
|
+
/**
|
|
1508
|
+
* Materialize and synchronously validate the final target environment.
|
|
1509
|
+
* @param spec - final target argv, cwd, and environment overrides.
|
|
1510
|
+
* @returns complete target environment after Node-equivalent validation.
|
|
1511
|
+
*/
|
|
1512
|
+
function targetEnvironment(spec) {
|
|
1513
|
+
spec.argv.forEach((value, index) => {
|
|
1514
|
+
validateNoNullByte(index === 0 ? "file" : `args[${String(index - 1)}]`, value, true);
|
|
1515
|
+
});
|
|
1516
|
+
validateNoNullByte("options.cwd", spec.cwd);
|
|
1517
|
+
const env = Object.fromEntries(Object.entries(childEnv(spec.env)).filter((entry) => entry[1] !== void 0));
|
|
1518
|
+
for (const [key, value] of Object.entries(env)) {
|
|
1519
|
+
validateNoNullByte(`options.env['${key}']`, key);
|
|
1520
|
+
validateNoNullByte(`options.env['${key}']`, value);
|
|
1521
|
+
}
|
|
1522
|
+
return controlEnvironment(env, spec.stdio?.control);
|
|
1523
|
+
}
|
|
1524
|
+
//#endregion
|
|
1525
|
+
export { bindManagedProcess as C, createProcessInspector as D, validateSubprocessSpec as E, controlPipe as O, loadLinuxExecve as S, spawnSubprocess as T, parseWindowsRunnerResult as _, resolveWindowsExecutable as a, serializeRunnerError as b, runnerStdio as c, cleanupLinuxLaunchFiles as d, consumeLinuxLaunchRequest as f, linuxLaunchFilesFromLocator as g, isWindowsTerminateRequest as h, parseRunnerTargetArgv as i, spawnRunnerInvocation as l, deserializeRunnerError as m, WINDOWS_RUNNER_SELECTION as n, runnerEnvironment as o, createLinuxLaunchFiles as p, consumeRunnerSelection as r, runnerInvocationAvailable as s, SUBPROCESS_RUNNER_ENV as t, targetEnvironment as u, parseWindowsStartRequest as v, childEnv as w, writeLinuxStartupError as x, readLinuxStartupError as y };
|