@deepseek-harness-tui/dsh-tui 0.9.0 → 0.9.2
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 +69 -256
- package/bin/dsh-tui.js +172 -5
- package/cordis.patch.yml +16 -4
- package/dsh-ecosystem-spec/protocols/profile-definitions.d.ts +13 -13
- package/dsh-ecosystem-spec/protocols/profile-definitions.js +59 -59
- package/dsh-ecosystem-spec/protocols/tui-channel-http.d.ts +15 -15
- package/dsh-ecosystem-spec/protocols/tui-channel-http.js +32 -32
- package/dsh-ecosystem-spec/protocols/tui-channel.d.ts +59 -59
- package/dsh-ecosystem-spec/protocols/tui-channel.js +166 -166
- package/dsh-ecosystem-spec/protocols/tui-contributions.d.ts +42 -42
- package/dsh-ecosystem-spec/protocols/tui-contributions.js +143 -143
- package/dsh-ecosystem-spec/registry/README.md +14 -14
- package/dsh-ecosystem-spec/registry/host-descriptor.tui.example.json +56 -56
- package/dsh-ecosystem-spec/registry/permissions-0.1.json +13 -13
- package/dsh-ecosystem-spec/registry/registry-0.15.json +149 -149
- package/lib/types/cc/hyperlink.d.ts +7 -1
- package/lib/types/cc/hyperlink.d.ts.map +1 -1
- package/lib/types/cc/hyperlink.js +3 -2
- package/lib/types/cc/markdown.d.ts.map +1 -1
- package/lib/types/cc/markdown.js +33 -3
- package/lib/types/cc/sessionColors.d.ts +27 -0
- package/lib/types/cc/sessionColors.d.ts.map +1 -0
- package/lib/types/cc/sessionColors.js +39 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +6 -0
- package/lib/types/components/AutoRecapRow.d.ts +23 -0
- package/lib/types/components/AutoRecapRow.d.ts.map +1 -0
- package/lib/types/components/AutoRecapRow.js +23 -0
- package/lib/types/components/ColorPicker.d.ts +17 -0
- package/lib/types/components/ColorPicker.d.ts.map +1 -0
- package/lib/types/components/ColorPicker.js +20 -0
- package/lib/types/components/CommandSuggestions.d.ts +3 -1
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -1
- package/lib/types/components/ContextBarView.d.ts +33 -0
- package/lib/types/components/ContextBarView.d.ts.map +1 -0
- package/lib/types/components/ContextBarView.js +46 -0
- package/lib/types/components/EffortInputBorder.d.ts +12 -1
- package/lib/types/components/EffortInputBorder.d.ts.map +1 -1
- package/lib/types/components/EffortInputBorder.js +22 -5
- package/lib/types/components/FileActionsPanel.d.ts +22 -0
- package/lib/types/components/FileActionsPanel.d.ts.map +1 -0
- package/lib/types/components/FileActionsPanel.js +28 -0
- package/lib/types/components/FileSuggestions.d.ts +3 -1
- package/lib/types/components/FileSuggestions.d.ts.map +1 -1
- package/lib/types/components/MessageList.d.ts +3 -1
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +13 -6
- package/lib/types/components/ModelPicker.d.ts +26 -4
- package/lib/types/components/ModelPicker.d.ts.map +1 -1
- package/lib/types/components/ModelPicker.js +26 -6
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/PromptInput.js +365 -57
- package/lib/types/components/RecapPanel.d.ts +25 -0
- package/lib/types/components/RecapPanel.d.ts.map +1 -0
- package/lib/types/components/RecapPanel.js +55 -0
- package/lib/types/components/ScrollbarGutter.d.ts.map +1 -1
- package/lib/types/components/ScrollbarGutter.js +55 -4
- package/lib/types/components/SubagentCard.d.ts.map +1 -1
- package/lib/types/components/SubagentCard.js +6 -4
- package/lib/types/components/SuggestionCard.d.ts +4 -2
- package/lib/types/components/SuggestionCard.d.ts.map +1 -1
- package/lib/types/components/TimelineRail.d.ts.map +1 -1
- package/lib/types/components/TimelineRail.js +9 -2
- package/lib/types/components/design-system/ThemeProvider.d.ts +7 -0
- package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemeProvider.js +2 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +8 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +36 -8
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts +7 -3
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -1
- package/lib/types/components/questions/AskUserQuestionPanel.js +41 -9
- package/lib/types/dsh-adapter/channel.d.ts +101 -2
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +969 -93
- package/lib/types/dsh-adapter/compat/index.d.ts +8 -6
- package/lib/types/dsh-adapter/compat/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/compat/index.js +8 -6
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts +150 -0
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts.map +1 -1
- package/lib/types/dsh-adapter/compat/sessionLog.js +518 -41
- package/lib/types/dsh-adapter/contract.d.ts +1 -1
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +1 -0
- package/lib/types/dsh-adapter/extension-events.d.ts +1 -1
- package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.d.ts +10 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +5 -0
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +317 -8
- package/lib/types/dsh-adapter/presets.d.ts +18 -0
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +31 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts +29 -1
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/providerWizard.js +89 -5
- package/lib/types/dsh-adapter/questions.d.ts +19 -2
- package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/questions.js +53 -10
- package/lib/types/dsh-adapter/recap.d.ts +49 -0
- package/lib/types/dsh-adapter/recap.d.ts.map +1 -0
- package/lib/types/dsh-adapter/recap.js +121 -0
- package/lib/types/dsh-adapter/sessionTree.d.ts +314 -0
- package/lib/types/dsh-adapter/sessionTree.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessionTree.js +954 -0
- package/lib/types/dsh-adapter/shortcuts.d.ts +15 -44
- package/lib/types/dsh-adapter/shortcuts.d.ts.map +1 -1
- package/lib/types/dsh-adapter/shortcuts.js +28 -165
- package/lib/types/dsh-adapter/types.d.ts +1 -1
- package/lib/types/dsh-adapter/types.d.ts.map +1 -1
- package/lib/types/herdr.js +1 -1
- package/lib/types/i18n.d.ts +604 -176
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +206 -72
- package/lib/types/ink/log-update.d.ts.map +1 -1
- package/lib/types/ink/log-update.js +21 -0
- package/lib/types/migrationPrefs.d.ts +60 -0
- package/lib/types/migrationPrefs.d.ts.map +1 -0
- package/lib/types/migrationPrefs.js +97 -0
- package/lib/types/modelGroups.d.ts +72 -0
- package/lib/types/modelGroups.d.ts.map +1 -0
- package/lib/types/modelGroups.js +97 -0
- package/lib/types/modelRecents.d.ts +39 -0
- package/lib/types/modelRecents.d.ts.map +1 -0
- package/lib/types/modelRecents.js +97 -0
- package/lib/types/native-ts/yoga-layout/index.d.ts +11 -0
- package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
- package/lib/types/native-ts/yoga-layout/index.js +31 -1
- package/lib/types/oauth.d.ts +15 -0
- package/lib/types/oauth.d.ts.map +1 -0
- package/lib/types/oauth.js +14 -0
- package/lib/types/plugin-spec/registry.d.ts +1 -1
- package/lib/types/plugin-spec/registry.js +1 -1
- package/lib/types/reload.d.ts +109 -0
- package/lib/types/reload.d.ts.map +1 -0
- package/lib/types/reload.js +118 -0
- package/lib/types/screens/Chat.d.ts +3 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +588 -64
- package/lib/types/screens/SessionTree.d.ts +27 -0
- package/lib/types/screens/SessionTree.d.ts.map +1 -0
- package/lib/types/screens/SessionTree.js +555 -0
- package/lib/types/screens/StatusLine.d.ts +0 -9
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +215 -52
- package/lib/types/screens/StatusMetrics.d.ts +35 -3
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -1
- package/lib/types/screens/StatusMetrics.js +63 -8
- package/lib/types/screens/chatOverlay.d.ts +17 -1
- package/lib/types/screens/chatOverlay.d.ts.map +1 -1
- package/lib/types/screens/chatOverlay.js +3 -1
- package/lib/types/tips.d.ts.map +1 -1
- package/lib/types/tips.js +22 -4
- package/lib/types/update.d.ts +159 -0
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +496 -30
- package/lib/types/utils/debug.d.ts +1 -1
- package/lib/types/utils/debug.js +3 -3
- package/lib/types/utils/fileTarget.d.ts +46 -0
- package/lib/types/utils/fileTarget.d.ts.map +1 -0
- package/lib/types/utils/fileTarget.js +178 -0
- package/lib/types/utils/keymap.d.ts +134 -0
- package/lib/types/utils/keymap.d.ts.map +1 -0
- package/lib/types/utils/keymap.js +311 -0
- package/lib/types/utils/mentions.d.ts +25 -2
- package/lib/types/utils/mentions.d.ts.map +1 -1
- package/lib/types/utils/mentions.js +69 -10
- package/lib/types/utils/openExternal.d.ts +50 -0
- package/lib/types/utils/openExternal.d.ts.map +1 -0
- package/lib/types/utils/openExternal.js +170 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/LICENSE +21 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/README.md +140 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/cordis.patch.yml +11 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/dsh-plugin.json +44 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/command.d.ts +14 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/command.js +67 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/credentials.d.ts +64 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/credentials.js +170 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/index.d.ts +79 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/index.js +196 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/interaction.d.ts +68 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/interaction.js +193 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/opener.d.ts +32 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/opener.js +101 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/profiles.d.ts +31 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/profiles.js +68 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/service.d.ts +69 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/service.js +129 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/package.json +70 -0
- package/node_modules/@dsh-std/command/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/command/LICENSE +21 -21
- package/node_modules/@dsh-std/command/README.md +26 -26
- package/node_modules/@dsh-std/command/README.zh.md +28 -28
- package/node_modules/@dsh-std/command/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/command/package.json +22 -22
- package/node_modules/@dsh-std/connection/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/connection/LICENSE +21 -21
- package/node_modules/@dsh-std/connection/README.md +42 -42
- package/node_modules/@dsh-std/connection/README.zh.md +42 -42
- package/node_modules/@dsh-std/connection/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/connection/lib/memory.js.map +1 -1
- package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -1
- package/node_modules/@dsh-std/connection/package.json +20 -20
- package/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/core/LICENSE +21 -21
- package/node_modules/@dsh-std/core/README.md +13 -13
- package/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/core/package.json +21 -21
- package/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -9
- package/node_modules/@dsh-std/manifest/LICENSE +21 -21
- package/node_modules/@dsh-std/manifest/README.md +5 -5
- package/node_modules/@dsh-std/manifest/README.zh.md +5 -5
- package/node_modules/@dsh-std/manifest/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/manifest/package.json +20 -20
- package/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -144
- package/node_modules/@dsh-std/messages/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/messages/LICENSE +21 -21
- package/node_modules/@dsh-std/messages/README.md +5 -5
- package/node_modules/@dsh-std/messages/README.zh.md +7 -7
- package/node_modules/@dsh-std/messages/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/messages/package.json +20 -20
- package/node_modules/@dsh-std/messages/schema/message-observer-envelope-0.15.schema.json +54 -54
- package/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -9
- package/node_modules/@dsh-std/presentation/LICENSE +21 -21
- package/node_modules/@dsh-std/presentation/README.md +27 -27
- package/node_modules/@dsh-std/presentation/README.zh.md +29 -29
- package/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -1
- package/node_modules/@dsh-std/presentation/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/presentation/package.json +25 -25
- package/node_modules/@dsh-std/storage/CHANGELOG.md +8 -8
- package/node_modules/@dsh-std/storage/LICENSE +21 -21
- package/node_modules/@dsh-std/storage/README.md +5 -5
- package/node_modules/@dsh-std/storage/README.zh.md +7 -7
- package/node_modules/@dsh-std/storage/lib/index.js.map +1 -1
- package/node_modules/@dsh-std/storage/package.json +20 -20
- package/node_modules/@dsh-std/storage/schema/local-storage-0.15.schema.json +56 -56
- package/package.json +17 -5
- package/presets/liangshen/.dsh-tui-managed.json +1 -1
- package/presets/liangshen/instruction-hint.mjs +8 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.md +42 -42
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.zh.md +42 -42
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/package.json +20 -20
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -9
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.md +5 -5
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.zh.md +5 -5
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/package.json +20 -20
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -144
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -9
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/LICENSE +21 -21
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.md +27 -27
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.zh.md +29 -29
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/package.json +25 -25
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/LICENSE +21 -21
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.md +42 -42
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.zh.md +42 -42
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/package.json +20 -20
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/package.json +21 -21
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/CHANGELOG.md +8 -8
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/LICENSE +21 -21
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.md +13 -13
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.zh.md +13 -13
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js.map +1 -1
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/package.json +21 -21
package/lib/types/tips.js
CHANGED
|
@@ -134,8 +134,8 @@ export const TIPS = [
|
|
|
134
134
|
{
|
|
135
135
|
id: 'keys-paste',
|
|
136
136
|
group: 'keys',
|
|
137
|
-
zh: 'Ctrl+V
|
|
138
|
-
en: 'Ctrl+V pastes text, file paths, or image attachments',
|
|
137
|
+
zh: 'Ctrl+V 或 Alt+V 粘贴文本、文件路径或图片附件;/settings 可改快捷键',
|
|
138
|
+
en: 'Ctrl+V or Alt+V pastes text, file paths, or image attachments; remappable in /settings',
|
|
139
139
|
},
|
|
140
140
|
{
|
|
141
141
|
id: 'keys-slash-search',
|
|
@@ -361,6 +361,18 @@ export const TIPS = [
|
|
|
361
361
|
zh: '时间回溯会 fork 新会话,原消息回到输入框',
|
|
362
362
|
en: 'Rewind forks a session; your message returns to the input',
|
|
363
363
|
},
|
|
364
|
+
{
|
|
365
|
+
id: 'flow-tree',
|
|
366
|
+
group: 'workflow',
|
|
367
|
+
zh: '/tree 打开会话分叉树:悬停预览、点击回退/分叉/切分支',
|
|
368
|
+
en: '/tree opens the session tree: hover to preview, click to rewind/fork/adopt',
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
id: 'flow-fork-copy',
|
|
372
|
+
group: 'workflow',
|
|
373
|
+
zh: '/fork 把当前会话复制成可恢复副本,原会话不受影响',
|
|
374
|
+
en: '/fork copies the session into a resumable twin; the original is untouched',
|
|
375
|
+
},
|
|
364
376
|
{
|
|
365
377
|
id: 'flow-resume',
|
|
366
378
|
group: 'workflow',
|
|
@@ -512,6 +524,12 @@ export const TIPS = [
|
|
|
512
524
|
zh: '全屏模式鼠标拖选即复制;Esc 取消选区',
|
|
513
525
|
en: 'Drag-select copies instantly in fullscreen; Esc cancels',
|
|
514
526
|
},
|
|
527
|
+
{
|
|
528
|
+
id: 'disp-hover-footer',
|
|
529
|
+
group: 'display',
|
|
530
|
+
zh: '悬停底栏字段:ctx 原地变等宽压力条,明细走常驻底行,布局不动',
|
|
531
|
+
en: 'Hover footer fields: ctx morphs in place into a same-width bar, details on a stable line',
|
|
532
|
+
},
|
|
515
533
|
{
|
|
516
534
|
id: 'disp-wheel-sel',
|
|
517
535
|
group: 'display',
|
|
@@ -534,8 +552,8 @@ export const TIPS = [
|
|
|
534
552
|
{
|
|
535
553
|
id: 'pit-esc',
|
|
536
554
|
group: 'pitfalls',
|
|
537
|
-
zh: '审批条 Esc
|
|
538
|
-
en: 'Esc rejects approvals and
|
|
555
|
+
zh: '审批条 Esc=拒绝;问卷第 2 题起 Esc=上一题,Ctrl+C=取消整批',
|
|
556
|
+
en: 'Esc rejects approvals; question batches use Esc for previous and Ctrl+C to cancel',
|
|
539
557
|
},
|
|
540
558
|
{
|
|
541
559
|
id: 'pit-ctrl-c',
|
package/lib/types/update.d.ts
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
import { shellQuote } from './utils/shellQuote.js';
|
|
2
2
|
export { shellQuote };
|
|
3
|
+
/**
|
|
4
|
+
* Append a /restart handoff event to ~/.dsh-tui/restart.log.
|
|
5
|
+
* @param event - Short stable event name.
|
|
6
|
+
* @param data - Small JSON-safe detail (never credentials or session text).
|
|
7
|
+
*/
|
|
8
|
+
export declare function logRestartEvent(event: string, data?: Record<string, unknown>): void;
|
|
9
|
+
/** Start a fresh, clearly delimited /restart attempt block in the log. */
|
|
10
|
+
export declare function beginRestartAttempt(sessionId: string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Write a handoff notice to stderr synchronously: process.exit() right after
|
|
13
|
+
* an async stream write skips the flush, and a vanished diagnosis is
|
|
14
|
+
* indistinguishable from a silent failure.
|
|
15
|
+
*/
|
|
16
|
+
export declare function writeHandoffNotice(text: string): void;
|
|
3
17
|
export interface TuiUpdateInfo {
|
|
4
18
|
current: string;
|
|
5
19
|
latest: string;
|
|
@@ -77,6 +91,26 @@ export declare function resolveTuiUpdateTarget(): Promise<TuiUpdateTarget>;
|
|
|
77
91
|
export declare function checkForTuiUpdate(): Promise<TuiUpdateInfo | undefined>;
|
|
78
92
|
/** Build the profile-manager command, preferring a preflight-pinned version. */
|
|
79
93
|
export declare function tuiUpdatePluginArgs(profile: string, targetVersion?: string): string[];
|
|
94
|
+
/** The profile's pnpm-workspace.yaml (`$DSH_HOME ?? ~/.dsh` layout). */
|
|
95
|
+
export declare function profileWorkspaceYamlPath(profile: string): string;
|
|
96
|
+
/** What ensureProfileAllowBuilds did to the profile workspace file. */
|
|
97
|
+
export interface AllowBuildsOutcome {
|
|
98
|
+
/** Keys already present before this run (left untouched). */
|
|
99
|
+
existing: string[];
|
|
100
|
+
/** Keys this run appended. */
|
|
101
|
+
added: string[];
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Make sure the profile's pnpm-workspace.yaml carries explicit `false`
|
|
105
|
+
* allowBuilds entries for the dsh-tui chain's postinstall-only deps, so a
|
|
106
|
+
* pnpm ≥11 update is not killed by ERR_PNPM_IGNORED_BUILDS. Best effort and
|
|
107
|
+
* idempotent: existing entries are never overwritten (an explicit user
|
|
108
|
+
* decision wins), a missing `allowBuilds:` block is appended, and a missing
|
|
109
|
+
* file is created. Returns undefined when the profile directory is absent or
|
|
110
|
+
* the file could not be updated — the caller still runs pnpm, whose own
|
|
111
|
+
* ERR_PNPM_IGNORED_BUILDS diagnostic stays the visible fallback.
|
|
112
|
+
*/
|
|
113
|
+
export declare function ensureProfileAllowBuilds(profile: string): AllowBuildsOutcome | undefined;
|
|
80
114
|
/**
|
|
81
115
|
* The pnpm Windows tmp-rename race signature (issue #225): pnpm swaps a
|
|
82
116
|
* package directory via a `<name>_tmp_<pid>` staging dir, and a file lock or
|
|
@@ -88,6 +122,50 @@ export declare function tuiUpdatePluginArgs(profile: string, targetVersion?: str
|
|
|
88
122
|
* token, so matching both keeps the retry from masking real failures.
|
|
89
123
|
*/
|
|
90
124
|
export declare function isTransientUpdateFailure(stderr: string): boolean;
|
|
125
|
+
/**
|
|
126
|
+
* The pnpm Linux flavor of the tmp-rename race (issue #479): the very same
|
|
127
|
+
* `importPackage` staging path, but overlayfs surfaces the second swap of an
|
|
128
|
+
* already-replaced package dir as EEXIST — deterministically, on every run,
|
|
129
|
+
* never transiently. A plain retry of the identical command ALWAYS fails the
|
|
130
|
+
* same way (the leftover `_tmp_<pid>_<threadId>` staging dir keeps colliding),
|
|
131
|
+
* so this signature must route to the recovery path
|
|
132
|
+
* (removeStalePackageInstall + rerun), not to the plain retry.
|
|
133
|
+
*/
|
|
134
|
+
export declare function isEexistTmpRenameFailure(stderr: string): boolean;
|
|
135
|
+
/**
|
|
136
|
+
* The dsh profile layout places plugin packages under
|
|
137
|
+
* `$DSH_HOME ?? ~/.dsh` — the same root dsh itself resolves
|
|
138
|
+
* (`dshHomePath is $DSH_HOME ?? ~/.dsh`, and packaged presets resolve
|
|
139
|
+
* identically). /update's recovery path needs this location to clear a
|
|
140
|
+
* half-updated install pnpm can no longer swap in place (issue #479).
|
|
141
|
+
*/
|
|
142
|
+
export declare function profilePackageDir(profile: string): string;
|
|
143
|
+
/** What removeStalePackageInstall actually cleared from disk. */
|
|
144
|
+
export interface StaleInstallRemoval {
|
|
145
|
+
/**
|
|
146
|
+
* `removed` — the package dir (or its junction/symlink link) is gone;
|
|
147
|
+
* `absent` — it was not there to begin with (custom profile roots just
|
|
148
|
+
* miss); `failed` — an error other than ENOENT blocked the removal.
|
|
149
|
+
*/
|
|
150
|
+
packageDir: 'removed' | 'absent' | 'failed';
|
|
151
|
+
/** Leftover pnpm staging dirs (`dsh-tui_tmp_<pid>_<threadId>`) removed. */
|
|
152
|
+
tmpDirs: string[];
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Recovery for the pnpm tmp-rename races (issues #225/#479): remove the
|
|
156
|
+
* profile's installed copy of this package plus the sibling `_tmp_`
|
|
157
|
+
* staging dirs a crashed swap leaves behind, so the next installer run
|
|
158
|
+
* takes the fresh-install path instead of renaming over the collision.
|
|
159
|
+
* Field-verified workaround (issue #479): `rm -rf <pkg dir>` + rerun
|
|
160
|
+
* succeeds where ten plain retries fail.
|
|
161
|
+
*
|
|
162
|
+
* A junction/symlink at the package dir is UNLINKED only — the link is
|
|
163
|
+
* removed, the target tree (a dev checkout it may point at) is never
|
|
164
|
+
* traversed or deleted. Best effort throughout: this runs inside a
|
|
165
|
+
* failure-recovery branch, so an unusable result simply falls through to
|
|
166
|
+
* the rerun and the manual repair hint.
|
|
167
|
+
*/
|
|
168
|
+
export declare function removeStalePackageInstall(profile: string): StaleInstallRemoval;
|
|
91
169
|
/**
|
|
92
170
|
* Best-effort migrate the GLOBAL launcher to the delegating shim (0.8.7):
|
|
93
171
|
* after a successful profile update, copy this package's `bin/dsh-tui.js`
|
|
@@ -106,6 +184,27 @@ export declare function isTransientUpdateFailure(stderr: string): boolean;
|
|
|
106
184
|
* @returns true when the global launcher files were replaced.
|
|
107
185
|
*/
|
|
108
186
|
export declare function migrateGlobalLauncher(): boolean;
|
|
187
|
+
/** Outcome of the install-only half of an update (no restart). */
|
|
188
|
+
export interface TuiUpdateOutcome {
|
|
189
|
+
/** 0 = the profile now runs the intended version; non-zero = failed. */
|
|
190
|
+
code: number;
|
|
191
|
+
/** Version installed before the update ran (the #307 stamp). */
|
|
192
|
+
updatedFrom: string;
|
|
193
|
+
/** Version installed after the update ran, when readable. */
|
|
194
|
+
installed?: string;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Install-only half of `/update`: run `dsh plugin add`, refuse boot-deadlock
|
|
198
|
+
* targets, verify the profile actually advanced, and migrate the global
|
|
199
|
+
* launcher. No restart — `updateTuiAndRestart` layers the session-preserving
|
|
200
|
+
* restart on top, and the `dsh-tui update` CLI stops here.
|
|
201
|
+
*
|
|
202
|
+
* @param profile - The dsh profile to update.
|
|
203
|
+
* @param targetVersion - Exact version from the preflight registry check, or
|
|
204
|
+
* undefined when that check failed and pnpm should resolve latest.
|
|
205
|
+
* @returns The update exit code plus the before/after versions.
|
|
206
|
+
*/
|
|
207
|
+
export declare function updateTui(profile: string, targetVersion?: string): Promise<TuiUpdateOutcome>;
|
|
109
208
|
/**
|
|
110
209
|
* Update the installed dsh-tui package and restart the same launcher while
|
|
111
210
|
* preserving the active session. The TUI must already be unmounted before
|
|
@@ -125,4 +224,64 @@ export declare function migrateGlobalLauncher(): boolean;
|
|
|
125
224
|
* @returns Exit codes for the update run and the replacement process.
|
|
126
225
|
*/
|
|
127
226
|
export declare function updateTuiAndRestart(sessionId: string, profile: string, targetVersion?: string): Promise<TuiUpdateResult>;
|
|
227
|
+
/**
|
|
228
|
+
* Headless `dsh-tui update`: the `/update` decision flow (preflight, deadlock
|
|
229
|
+
* refusal, mirror-lag note, `--latest` fallback) followed by the install-only
|
|
230
|
+
* half — no TUI, no restart. The bin launcher dynamic-imports this from the
|
|
231
|
+
* profile copy's compiled lib.
|
|
232
|
+
*
|
|
233
|
+
* @param profile - The dsh profile to update.
|
|
234
|
+
* @returns Process exit code: 0 on success or already-latest, 1 otherwise.
|
|
235
|
+
*/
|
|
236
|
+
export declare function cliUpdate(profile: string): Promise<number>;
|
|
237
|
+
/**
|
|
238
|
+
* Restart the running TUI in place and resume the active session — the
|
|
239
|
+
* `/update` restart path minus the pnpm step, for `/restart`. Spawns the
|
|
240
|
+
* same node process with the original argv and the dual-written resume
|
|
241
|
+
* contract, so a fresh process re-boots the same profile and attaches the
|
|
242
|
+
* same session. No installation is touched, so it works on any launch
|
|
243
|
+
* (profile, source checkout, `--config` overlay). `/update` reuses this
|
|
244
|
+
* handoff for its own restart tail (`kind: 'update'`): the keyboard-race
|
|
245
|
+
* hardening below is exactly the failure its users reported (issue #483:
|
|
246
|
+
* update restarts into a TUI that takes no input).
|
|
247
|
+
*
|
|
248
|
+
* The TUI must already be unmounted before this is called (same terminal
|
|
249
|
+
* handoff contract as `updateTuiAndRestart`): the caller runs this from the
|
|
250
|
+
* exit funnel's done callback, after finishExit detached the terminal and
|
|
251
|
+
* the readable stdin pump.
|
|
252
|
+
*
|
|
253
|
+
* This waits for the replacement's natural exit: the outer command
|
|
254
|
+
* interpreter that ran `dsh-tui` reclaims the console the moment the
|
|
255
|
+
* launch chain (cmd → wrapper → this process) unwinds, and an orphaned
|
|
256
|
+
* replacement still attached to the console then fights the interpreter's
|
|
257
|
+
* own prompt and line reader for every keypress (field evidence
|
|
258
|
+
* 2026-08-24: healthy child mounted the UI, the old process exited on a
|
|
259
|
+
* 4s survival timer, the interpreter printed its prompt over the TUI and
|
|
260
|
+
* the DA response bytes landed on the prompt line). Waiting is safe
|
|
261
|
+
* because finishExit already paused and unref'd this process's stdin —
|
|
262
|
+
* the child is the console's only key reader (issues #284/#307).
|
|
263
|
+
*
|
|
264
|
+
* The 4s survival window remains a DIAGNOSIS marker only: a replacement
|
|
265
|
+
* that dies within it never painted the TUI, and its captured stderr is
|
|
266
|
+
* reported synchronously (a raw inherit write can vanish mid-handoff). A
|
|
267
|
+
* late exit is quiet — by then the user owned a working TUI session.
|
|
268
|
+
*
|
|
269
|
+
* @param sessionId - Session to resume in the replacement process.
|
|
270
|
+
* @param options - `kind: 'update'` drops the /restart boot-diagnosis
|
|
271
|
+
* marker and tags restart.log events for the update flow; `env` adds
|
|
272
|
+
* marker variables for the replacement (e.g. DSH_TUI_UPDATED_FROM).
|
|
273
|
+
* @returns 0 when the replacement ran and exited cleanly, 127 when it
|
|
274
|
+
* failed to start, otherwise the child's own exit code.
|
|
275
|
+
*/
|
|
276
|
+
export interface TuiRestartOptions {
|
|
277
|
+
/** Extra env markers for the replacement process (/update's stamp). */
|
|
278
|
+
env?: Record<string, string>;
|
|
279
|
+
/**
|
|
280
|
+
* 'update' reuses this handoff after an install: no
|
|
281
|
+
* DSH_TUI_RESTART_CHILD marker (that flag is /restart-only boot
|
|
282
|
+
* diagnostics) and restart.log events carry the update-restart tag.
|
|
283
|
+
*/
|
|
284
|
+
kind?: 'restart' | 'update';
|
|
285
|
+
}
|
|
286
|
+
export declare function restartTui(sessionId: string, options?: TuiRestartOptions): Promise<number>;
|
|
128
287
|
//# sourceMappingURL=update.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/update.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;
|
|
1
|
+
{"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/update.ts"],"names":[],"mappings":"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"}
|