@deepseek-harness-tui/dsh-tui 0.7.3 → 0.8.1
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 +15 -7
- package/bin/dsh-tui.js +19 -3
- package/cordis.patch.yml +43 -11
- package/cordis.yml +20 -1
- package/ecosystem-spec/registry/contracts/decision-events-v1alpha1.json +13 -0
- package/ecosystem-spec/registry/host-descriptor.tui.example.json +56 -0
- package/ecosystem-spec/registry/permissions-0.1.json +13 -0
- package/ecosystem-spec/registry/registry-0.15.json +57 -0
- package/ecosystem-spec/schemas/conformance-claim.schema.json +15 -0
- package/ecosystem-spec/schemas/effect-ledger-record.schema.json +16 -0
- package/ecosystem-spec/schemas/host-descriptor.schema.json +26 -0
- package/lib/types/cc/figures.d.ts +4 -0
- package/lib/types/cc/figures.d.ts.map +1 -1
- package/lib/types/cc/figures.js +4 -0
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +4 -1
- package/lib/types/components/ExtensionDialog.d.ts +40 -0
- package/lib/types/components/ExtensionDialog.d.ts.map +1 -0
- package/lib/types/components/ExtensionDialog.js +210 -0
- package/lib/types/components/HelpMenu.js +1 -1
- package/lib/types/components/LoadedContextPanel.d.ts +5 -10
- package/lib/types/components/LoadedContextPanel.d.ts.map +1 -1
- package/lib/types/components/LoadedContextPanel.js +7 -18
- package/lib/types/components/LogoV2.d.ts.map +1 -1
- package/lib/types/components/LogoV2.js +1 -2
- 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 +29 -5
- package/lib/types/components/PluginSceneBoundary.d.ts +31 -0
- package/lib/types/components/PluginSceneBoundary.d.ts.map +1 -0
- package/lib/types/components/PluginSceneBoundary.js +29 -0
- package/lib/types/components/RewindPicker.d.ts +13 -1
- package/lib/types/components/RewindPicker.d.ts.map +1 -1
- package/lib/types/components/RewindPicker.js +26 -2
- package/lib/types/components/SkillsPicker.d.ts +18 -0
- package/lib/types/components/SkillsPicker.d.ts.map +1 -0
- package/lib/types/components/SkillsPicker.js +50 -0
- package/lib/types/components/SplitDiffView.d.ts +28 -0
- package/lib/types/components/SplitDiffView.d.ts.map +1 -0
- package/lib/types/components/SplitDiffView.js +417 -0
- package/lib/types/components/ToolUseLoader.d.ts +8 -3
- package/lib/types/components/ToolUseLoader.d.ts.map +1 -1
- package/lib/types/components/ToolUseLoader.js +43 -9
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +3 -1
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +17 -7
- package/lib/types/dsh-adapter/channel.d.ts +98 -7
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +623 -26
- package/lib/types/dsh-adapter/command-attribution.d.ts +51 -0
- package/lib/types/dsh-adapter/command-attribution.d.ts.map +1 -0
- package/lib/types/dsh-adapter/command-attribution.js +93 -0
- package/lib/types/dsh-adapter/command-errors.d.ts +42 -0
- package/lib/types/dsh-adapter/command-errors.d.ts.map +1 -0
- package/lib/types/dsh-adapter/command-errors.js +63 -0
- package/lib/types/dsh-adapter/component-identity.d.ts +28 -0
- package/lib/types/dsh-adapter/component-identity.d.ts.map +1 -0
- package/lib/types/dsh-adapter/component-identity.js +108 -0
- package/lib/types/dsh-adapter/contract.d.ts +2 -2
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +3 -2
- package/lib/types/dsh-adapter/decision-guard.d.ts +84 -0
- package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/decision-guard.js +354 -0
- package/lib/types/dsh-adapter/dialogs.d.ts +146 -0
- package/lib/types/dsh-adapter/dialogs.d.ts.map +1 -0
- package/lib/types/dsh-adapter/dialogs.js +262 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts +99 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -0
- package/lib/types/dsh-adapter/effect-ledger.js +231 -0
- package/lib/types/dsh-adapter/extension-events.d.ts +193 -0
- package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -0
- package/lib/types/dsh-adapter/extension-events.js +169 -0
- package/lib/types/dsh-adapter/extensions.d.ts +32 -0
- package/lib/types/dsh-adapter/extensions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/extensions.js +42 -0
- package/lib/types/dsh-adapter/grants.d.ts +25 -0
- package/lib/types/dsh-adapter/grants.d.ts.map +1 -0
- package/lib/types/dsh-adapter/grants.js +184 -0
- package/lib/types/dsh-adapter/host-descriptor.d.ts +24 -0
- package/lib/types/dsh-adapter/host-descriptor.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-descriptor.js +146 -0
- package/lib/types/dsh-adapter/index.d.ts +4 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/index.js +1 -0
- package/lib/types/dsh-adapter/message-observer.d.ts +178 -0
- package/lib/types/dsh-adapter/message-observer.d.ts.map +1 -0
- package/lib/types/dsh-adapter/message-observer.js +509 -0
- package/lib/types/dsh-adapter/plugin-host.d.ts +103 -0
- package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-host.js +270 -0
- package/lib/types/dsh-adapter/plugin-storage.d.ts +113 -0
- package/lib/types/dsh-adapter/plugin-storage.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-storage.js +385 -0
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +106 -1
- package/lib/types/dsh-adapter/plugins-info.d.ts +43 -0
- package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugins-info.js +276 -0
- package/lib/types/dsh-adapter/promptDebug.d.ts +10 -0
- package/lib/types/dsh-adapter/promptDebug.d.ts.map +1 -0
- package/lib/types/dsh-adapter/promptDebug.js +148 -0
- package/lib/types/dsh-adapter/renderers.d.ts +65 -0
- package/lib/types/dsh-adapter/renderers.d.ts.map +1 -0
- package/lib/types/dsh-adapter/renderers.js +138 -0
- package/lib/types/dsh-adapter/sanitize.d.ts +36 -0
- package/lib/types/dsh-adapter/sanitize.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sanitize.js +65 -0
- package/lib/types/dsh-adapter/scenes.d.ts +81 -0
- package/lib/types/dsh-adapter/scenes.d.ts.map +1 -0
- package/lib/types/dsh-adapter/scenes.js +93 -0
- package/lib/types/dsh-adapter/settings-sections.d.ts +116 -0
- package/lib/types/dsh-adapter/settings-sections.d.ts.map +1 -0
- package/lib/types/dsh-adapter/settings-sections.js +63 -0
- package/lib/types/dsh-adapter/settingsEditor.d.ts +128 -0
- package/lib/types/dsh-adapter/settingsEditor.d.ts.map +1 -0
- package/lib/types/dsh-adapter/settingsEditor.js +244 -0
- package/lib/types/dsh-adapter/shortcuts.d.ts +109 -0
- package/lib/types/dsh-adapter/shortcuts.d.ts.map +1 -0
- package/lib/types/dsh-adapter/shortcuts.js +268 -0
- package/lib/types/dsh-adapter/status.d.ts +75 -0
- package/lib/types/dsh-adapter/status.d.ts.map +1 -0
- package/lib/types/dsh-adapter/status.js +168 -0
- package/lib/types/extensions.d.ts +8 -0
- package/lib/types/extensions.d.ts.map +1 -0
- package/lib/types/extensions.js +15 -0
- package/lib/types/i18n.d.ts +299 -26
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +89 -8
- package/lib/types/ink/ink.d.ts +11 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +33 -0
- package/lib/types/ink/log-update.d.ts.map +1 -1
- package/lib/types/ink/log-update.js +101 -51
- package/lib/types/ink/output.d.ts +7 -0
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +125 -4
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +14 -6
- package/lib/types/ink/terminal.d.ts.map +1 -1
- package/lib/types/ink/terminal.js +18 -6
- package/lib/types/jsx-runtime.d.ts +2 -0
- package/lib/types/jsx-runtime.d.ts.map +1 -0
- package/lib/types/jsx-runtime.js +13 -0
- package/lib/types/modelRoute.d.ts +10 -2
- package/lib/types/modelRoute.d.ts.map +1 -1
- package/lib/types/modelRoute.js +33 -4
- package/lib/types/plugin-host.d.ts +13 -0
- package/lib/types/plugin-host.d.ts.map +1 -0
- package/lib/types/plugin-host.js +17 -0
- package/lib/types/plugin-spec/negotiate.d.ts +11 -0
- package/lib/types/plugin-spec/negotiate.d.ts.map +1 -0
- package/lib/types/plugin-spec/negotiate.js +97 -0
- package/lib/types/plugin-spec/permission-scope.d.ts +32 -0
- package/lib/types/plugin-spec/permission-scope.d.ts.map +1 -0
- package/lib/types/plugin-spec/permission-scope.js +90 -0
- package/lib/types/plugin-spec/registry.d.ts +23 -0
- package/lib/types/plugin-spec/registry.d.ts.map +1 -0
- package/lib/types/plugin-spec/registry.js +157 -0
- package/lib/types/plugin-spec/schema-check.d.ts +17 -0
- package/lib/types/plugin-spec/schema-check.d.ts.map +1 -0
- package/lib/types/plugin-spec/schema-check.js +165 -0
- package/lib/types/plugin-spec/tui-extension.d.ts +16 -0
- package/lib/types/plugin-spec/tui-extension.d.ts.map +1 -0
- package/lib/types/plugin-spec/tui-extension.js +77 -0
- package/lib/types/plugin-spec/types.d.ts +114 -0
- package/lib/types/plugin-spec/types.d.ts.map +1 -0
- package/lib/types/plugin-spec/types.js +10 -0
- package/lib/types/plugin-spec/validate.d.ts +21 -0
- package/lib/types/plugin-spec/validate.d.ts.map +1 -0
- package/lib/types/plugin-spec/validate.js +119 -0
- package/lib/types/scenes.d.ts +3 -0
- package/lib/types/scenes.d.ts.map +1 -0
- package/lib/types/scenes.js +4 -0
- package/lib/types/screens/Chat.d.ts +14 -1
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +247 -48
- package/lib/types/screens/Settings.d.ts +20 -0
- package/lib/types/screens/Settings.d.ts.map +1 -0
- package/lib/types/screens/Settings.js +333 -0
- package/lib/types/screens/StatusLine.js +1 -1
- package/lib/types/settings-sections.d.ts +3 -0
- package/lib/types/settings-sections.d.ts.map +1 -0
- package/lib/types/settings-sections.js +4 -0
- package/lib/types/theme.d.ts +17 -0
- package/lib/types/theme.d.ts.map +1 -1
- package/lib/types/theme.js +51 -0
- package/lib/types/update.d.ts +20 -0
- package/lib/types/update.d.ts.map +1 -1
- package/lib/types/update.js +54 -7
- package/lib/types/utils/loaded-context.d.ts +8 -3
- package/lib/types/utils/loaded-context.d.ts.map +1 -1
- package/lib/types/utils/loaded-context.js +39 -3
- package/lib/types/utils/modifiers.d.ts.map +1 -1
- package/lib/types/utils/modifiers.js +3 -2
- package/lib/types/working-activity.d.ts +12 -0
- package/lib/types/working-activity.d.ts.map +1 -1
- package/lib/types/working-activity.js +13 -0
- package/node_modules/@dsh-std/command/LICENSE +21 -0
- package/node_modules/@dsh-std/command/README.md +26 -0
- package/node_modules/@dsh-std/command/README.zh.md +28 -0
- package/node_modules/@dsh-std/command/lib/index.d.ts +144 -0
- package/node_modules/@dsh-std/command/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/command/lib/index.js +252 -0
- package/node_modules/@dsh-std/command/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/command/package.json +22 -0
- package/node_modules/@dsh-std/connection/LICENSE +21 -0
- package/node_modules/@dsh-std/connection/README.md +42 -0
- package/node_modules/@dsh-std/connection/README.zh.md +42 -0
- package/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
- package/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
- package/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
- package/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/connection/lib/index.js +158 -0
- package/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
- package/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
- package/node_modules/@dsh-std/connection/lib/memory.js +257 -0
- package/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
- package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
- package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
- package/node_modules/@dsh-std/connection/package.json +20 -0
- package/node_modules/@dsh-std/core/LICENSE +21 -0
- package/node_modules/@dsh-std/core/README.md +13 -0
- package/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/core/package.json +21 -0
- package/node_modules/@dsh-std/manifest/LICENSE +21 -0
- package/node_modules/@dsh-std/manifest/README.md +5 -0
- package/node_modules/@dsh-std/manifest/README.zh.md +5 -0
- package/node_modules/@dsh-std/manifest/lib/index.d.ts +182 -0
- package/node_modules/@dsh-std/manifest/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/manifest/lib/index.js +625 -0
- package/node_modules/@dsh-std/manifest/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/manifest/package.json +20 -0
- package/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -0
- package/node_modules/@dsh-std/messages/LICENSE +21 -0
- package/node_modules/@dsh-std/messages/README.md +5 -0
- package/node_modules/@dsh-std/messages/README.zh.md +7 -0
- package/node_modules/@dsh-std/messages/lib/index.d.ts +50 -0
- package/node_modules/@dsh-std/messages/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/messages/lib/index.js +151 -0
- package/node_modules/@dsh-std/messages/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/messages/package.json +20 -0
- package/node_modules/@dsh-std/messages/schema/message-observer-envelope-0.15.schema.json +54 -0
- package/node_modules/@dsh-std/presentation/LICENSE +21 -0
- package/node_modules/@dsh-std/presentation/README.md +26 -0
- package/node_modules/@dsh-std/presentation/README.zh.md +28 -0
- package/node_modules/@dsh-std/presentation/lib/index.d.ts +219 -0
- package/node_modules/@dsh-std/presentation/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/presentation/lib/index.js +547 -0
- package/node_modules/@dsh-std/presentation/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/presentation/lib/interaction.d.ts +2 -0
- package/node_modules/@dsh-std/presentation/lib/interaction.js +2 -0
- package/node_modules/@dsh-std/presentation/lib/operations.d.ts +2 -0
- package/node_modules/@dsh-std/presentation/lib/operations.js +2 -0
- package/node_modules/@dsh-std/presentation/package.json +21 -0
- package/node_modules/@dsh-std/storage/LICENSE +21 -0
- package/node_modules/@dsh-std/storage/README.md +5 -0
- package/node_modules/@dsh-std/storage/README.zh.md +7 -0
- package/node_modules/@dsh-std/storage/lib/index.d.ts +48 -0
- package/node_modules/@dsh-std/storage/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/storage/lib/index.js +104 -0
- package/node_modules/@dsh-std/storage/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/storage/package.json +20 -0
- package/node_modules/@dsh-std/storage/schema/local-storage-0.15.schema.json +56 -0
- package/package.json +118 -67
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.md +42 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.zh.md +42 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js +158 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js +257 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/package.json +20 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.md +5 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.zh.md +5 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.d.ts +182 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js +625 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/package.json +20 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.md +26 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.zh.md +28 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.d.ts +219 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js +547 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/interaction.d.ts +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/interaction.js +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/operations.d.ts +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/operations.js +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/package.json +21 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/LICENSE +21 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.md +42 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.zh.md +42 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js +158 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js +257 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/package.json +20 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/package.json +21 -0
package/lib/types/i18n.d.ts
CHANGED
|
@@ -775,14 +775,6 @@ declare const dict: {
|
|
|
775
775
|
readonly zh: "需要时可在 cordis.yml 挂载对应 hooks 插件。";
|
|
776
776
|
readonly en: "Mount the matching hooks plugin in cordis.yml when needed.";
|
|
777
777
|
};
|
|
778
|
-
readonly 'memory-none': {
|
|
779
|
-
readonly zh: "DSH 暂无持久记忆服务。";
|
|
780
|
-
readonly en: "DSH has no persistent memory service yet.";
|
|
781
|
-
};
|
|
782
|
-
readonly 'memory-hint': {
|
|
783
|
-
readonly zh: "长期约定可写入 AGENTS.md(工作区上下文)或技能(~/.dsh/skills)。";
|
|
784
|
-
readonly en: "Long-term conventions can go into AGENTS.md (workspace context) or skills (~/.dsh/skills).";
|
|
785
|
-
};
|
|
786
778
|
readonly 'update-unavailable': {
|
|
787
779
|
readonly zh: "当前运行方式不支持自动更新(需经 dsh --profile 启动),请在终端执行 dsh plugin --profile <name> update @deepseek-harness-tui/dsh-tui";
|
|
788
780
|
readonly en: "Automatic update is unavailable in this launch mode (needs dsh --profile). Run dsh plugin --profile <name> update @deepseek-harness-tui/dsh-tui in a terminal.";
|
|
@@ -807,6 +799,14 @@ declare const dict: {
|
|
|
807
799
|
readonly zh: "无法确认新版本(网络或 registry 不可达),已尝试直接更新……";
|
|
808
800
|
readonly en: "Could not confirm a newer version (network or registry unreachable); attempting the update anyway…";
|
|
809
801
|
};
|
|
802
|
+
readonly 'update-refused-deadlock': {
|
|
803
|
+
readonly zh: "已取消更新:镜像 registry 目前只能装到 v{{latest}},而该版本在旧全局启动器的 patch 下会启动死锁(#183/#307);官方最新为 v{{authoritative}},待镜像同步后再 /update。";
|
|
804
|
+
readonly en: "Update cancelled: the mirror registry can only serve v{{latest}}, which deadlocks boot under older global-launcher patches (#183/#307); official latest is v{{authoritative}} — retry /update after the mirror syncs.";
|
|
805
|
+
};
|
|
806
|
+
readonly 'update-mirror-lag': {
|
|
807
|
+
readonly zh: "镜像 registry 滞后:本次安装 v{{latest}};官方最新 v{{authoritative}},镜像同步后可再 /update。";
|
|
808
|
+
readonly en: "Mirror registry lag: installing v{{latest}} now; official latest is v{{authoritative}} — run /update again once the mirror syncs.";
|
|
809
|
+
};
|
|
810
810
|
readonly 'vim-not-implemented': {
|
|
811
811
|
readonly zh: "vim 模式暂未实现";
|
|
812
812
|
readonly en: "vim mode not implemented yet";
|
|
@@ -979,10 +979,6 @@ declare const dict: {
|
|
|
979
979
|
readonly zh: "自动补全";
|
|
980
980
|
readonly en: "autocomplete";
|
|
981
981
|
};
|
|
982
|
-
readonly 'logo-tip-trace': {
|
|
983
|
-
readonly zh: "会话轨迹";
|
|
984
|
-
readonly en: "trajectory";
|
|
985
|
-
};
|
|
986
982
|
readonly 'logo-tip-prefix': {
|
|
987
983
|
readonly zh: "提示:";
|
|
988
984
|
readonly en: "Tip: ";
|
|
@@ -1119,9 +1115,9 @@ declare const dict: {
|
|
|
1119
1115
|
readonly zh: "{{mod}}o 详细输出";
|
|
1120
1116
|
readonly en: "{{mod}}o for verbose output";
|
|
1121
1117
|
};
|
|
1122
|
-
readonly 'help-
|
|
1123
|
-
readonly zh: "{{mod}}t
|
|
1124
|
-
readonly en: "{{mod}}t to
|
|
1118
|
+
readonly 'help-open-trajectory': {
|
|
1119
|
+
readonly zh: "{{mod}}t 打开会话轨迹";
|
|
1120
|
+
readonly en: "{{mod}}t to open trajectory";
|
|
1125
1121
|
};
|
|
1126
1122
|
readonly 'help-search-history': {
|
|
1127
1123
|
readonly zh: "{{mod}}r 搜索历史";
|
|
@@ -1227,6 +1223,90 @@ declare const dict: {
|
|
|
1227
1223
|
readonly zh: "恢复会话";
|
|
1228
1224
|
readonly en: "Resume session";
|
|
1229
1225
|
};
|
|
1226
|
+
readonly 'settings-title': {
|
|
1227
|
+
readonly zh: "插件设置";
|
|
1228
|
+
readonly en: "Plugin settings";
|
|
1229
|
+
};
|
|
1230
|
+
readonly 'settings-unavailable': {
|
|
1231
|
+
readonly zh: "设置服务未挂载——只读";
|
|
1232
|
+
readonly en: "settings service absent — read-only";
|
|
1233
|
+
};
|
|
1234
|
+
readonly 'settings-empty': {
|
|
1235
|
+
readonly zh: "没有可配置的插件设置(尚无插件注册设置区块)";
|
|
1236
|
+
readonly en: "No configurable plugin settings (no plugin has registered a section)";
|
|
1237
|
+
};
|
|
1238
|
+
readonly 'settings-section-unavailable': {
|
|
1239
|
+
readonly zh: "命名空间未注册";
|
|
1240
|
+
readonly en: "namespace not served";
|
|
1241
|
+
};
|
|
1242
|
+
readonly 'settings-readonly-heading': {
|
|
1243
|
+
readonly zh: "其他设置命名空间(只读)";
|
|
1244
|
+
readonly en: "Other settings namespaces (read-only)";
|
|
1245
|
+
};
|
|
1246
|
+
readonly 'settings-readonly-hint': {
|
|
1247
|
+
readonly zh: "以上命名空间尚无 TUI 设置区块,可手工编辑 {{path}}";
|
|
1248
|
+
readonly en: "No TUI section for these namespaces yet — edit {{path}} by hand";
|
|
1249
|
+
};
|
|
1250
|
+
readonly 'settings-badge-override': {
|
|
1251
|
+
readonly zh: "已覆盖";
|
|
1252
|
+
readonly en: "overridden";
|
|
1253
|
+
};
|
|
1254
|
+
readonly 'settings-badge-restart': {
|
|
1255
|
+
readonly zh: "重启生效";
|
|
1256
|
+
readonly en: "applies on restart";
|
|
1257
|
+
};
|
|
1258
|
+
readonly 'settings-badge-dirty': {
|
|
1259
|
+
readonly zh: "未保存";
|
|
1260
|
+
readonly en: "unsaved";
|
|
1261
|
+
};
|
|
1262
|
+
readonly 'settings-badge-saving': {
|
|
1263
|
+
readonly zh: "保存中";
|
|
1264
|
+
readonly en: "saving";
|
|
1265
|
+
};
|
|
1266
|
+
readonly 'settings-badge-failed': {
|
|
1267
|
+
readonly zh: "保存失败";
|
|
1268
|
+
readonly en: "save failed";
|
|
1269
|
+
};
|
|
1270
|
+
readonly 'settings-field-empty': {
|
|
1271
|
+
readonly zh: "(未设置)";
|
|
1272
|
+
readonly en: "(unset)";
|
|
1273
|
+
};
|
|
1274
|
+
readonly 'settings-field-invalid': {
|
|
1275
|
+
readonly zh: "无效输入";
|
|
1276
|
+
readonly en: "invalid";
|
|
1277
|
+
};
|
|
1278
|
+
readonly 'settings-secret-set': {
|
|
1279
|
+
readonly zh: "●●●●●●(已配置)";
|
|
1280
|
+
readonly en: "●●●●●● (configured)";
|
|
1281
|
+
};
|
|
1282
|
+
readonly 'settings-secret-unset': {
|
|
1283
|
+
readonly zh: "(未配置)";
|
|
1284
|
+
readonly en: "(not configured)";
|
|
1285
|
+
};
|
|
1286
|
+
readonly 'settings-secret-staged': {
|
|
1287
|
+
readonly zh: "(待保存)";
|
|
1288
|
+
readonly en: "(pending save)";
|
|
1289
|
+
};
|
|
1290
|
+
readonly 'settings-saved': {
|
|
1291
|
+
readonly zh: "已保存 {{ns}}";
|
|
1292
|
+
readonly en: "Saved {{ns}}";
|
|
1293
|
+
};
|
|
1294
|
+
readonly 'settings-save-failed': {
|
|
1295
|
+
readonly zh: "保存 {{ns}} 失败——请重试";
|
|
1296
|
+
readonly en: "Saving {{ns}} failed — please retry";
|
|
1297
|
+
};
|
|
1298
|
+
readonly 'settings-discarded': {
|
|
1299
|
+
readonly zh: "已放弃所有未保存的修改";
|
|
1300
|
+
readonly en: "Discarded all unsaved edits";
|
|
1301
|
+
};
|
|
1302
|
+
readonly 'settings-hint-list': {
|
|
1303
|
+
readonly zh: "**Enter** 编辑/切换 · s 保存 · d 放弃 · Esc 放弃/退出";
|
|
1304
|
+
readonly en: "**Enter** edit/toggle · s save · d discard · Esc discard/exit";
|
|
1305
|
+
};
|
|
1306
|
+
readonly 'settings-hint-edit': {
|
|
1307
|
+
readonly zh: "**Enter** 确认 · Esc 取消";
|
|
1308
|
+
readonly en: "**Enter** to confirm · Esc to cancel";
|
|
1309
|
+
};
|
|
1230
1310
|
readonly 'session-loading': {
|
|
1231
1311
|
readonly zh: "正在读取会话…";
|
|
1232
1312
|
readonly en: "Reading sessions…";
|
|
@@ -1355,10 +1435,18 @@ declare const dict: {
|
|
|
1355
1435
|
readonly zh: "**Enter** 选择 · Esc 退出";
|
|
1356
1436
|
readonly en: "**Enter** to select · Esc to exit";
|
|
1357
1437
|
};
|
|
1438
|
+
readonly 'hint-fill-exit': {
|
|
1439
|
+
readonly zh: "**Enter** 填入命令 · Esc 退出";
|
|
1440
|
+
readonly en: "**Enter** to insert · Esc to exit";
|
|
1441
|
+
};
|
|
1358
1442
|
readonly 'hint-rewind-back': {
|
|
1359
1443
|
readonly zh: "**Enter** 回退 · Esc 返回";
|
|
1360
1444
|
readonly en: "**Enter** to rewind · Esc to back";
|
|
1361
1445
|
};
|
|
1446
|
+
readonly 'hint-ext-dialog-input': {
|
|
1447
|
+
readonly zh: "**Enter** 确认 · Esc 取消";
|
|
1448
|
+
readonly en: "**Enter** to confirm · Esc to cancel";
|
|
1449
|
+
};
|
|
1362
1450
|
readonly 'hint-adjust-done': {
|
|
1363
1451
|
readonly zh: "**←/→** 调整 · Enter/Esc 完成";
|
|
1364
1452
|
readonly en: "**←/→** to adjust · Enter/Esc to done";
|
|
@@ -1375,6 +1463,50 @@ declare const dict: {
|
|
|
1375
1463
|
readonly zh: "模型";
|
|
1376
1464
|
readonly en: "Model";
|
|
1377
1465
|
};
|
|
1466
|
+
readonly 'picker-title-skills': {
|
|
1467
|
+
readonly zh: "技能";
|
|
1468
|
+
readonly en: "Skills";
|
|
1469
|
+
};
|
|
1470
|
+
readonly 'skills-loading': {
|
|
1471
|
+
readonly zh: "正在加载技能";
|
|
1472
|
+
readonly en: "Loading skills";
|
|
1473
|
+
};
|
|
1474
|
+
readonly 'skills-loading-subtitle': {
|
|
1475
|
+
readonly zh: "正在查询技能注册表…";
|
|
1476
|
+
readonly en: "Querying the skill registry…";
|
|
1477
|
+
};
|
|
1478
|
+
readonly 'skills-empty': {
|
|
1479
|
+
readonly zh: "当前会话没有可用技能";
|
|
1480
|
+
readonly en: "No skills available in this session";
|
|
1481
|
+
};
|
|
1482
|
+
readonly 'skills-load-failed': {
|
|
1483
|
+
readonly zh: "技能列表加载失败";
|
|
1484
|
+
readonly en: "Failed to load the skill list";
|
|
1485
|
+
};
|
|
1486
|
+
readonly 'plugin-scene-crashed': {
|
|
1487
|
+
readonly zh: "插件场景「{{id}}」渲染崩溃:{{err}}(已自动关闭)";
|
|
1488
|
+
readonly en: "Plugin scene \"{{id}}\" crashed while rendering: {{err}} (closed)";
|
|
1489
|
+
};
|
|
1490
|
+
readonly 'skills-source-bundled': {
|
|
1491
|
+
readonly zh: "内置";
|
|
1492
|
+
readonly en: "built-in";
|
|
1493
|
+
};
|
|
1494
|
+
readonly 'skills-source-user': {
|
|
1495
|
+
readonly zh: "用户";
|
|
1496
|
+
readonly en: "user";
|
|
1497
|
+
};
|
|
1498
|
+
readonly 'skills-source-project': {
|
|
1499
|
+
readonly zh: "项目";
|
|
1500
|
+
readonly en: "project";
|
|
1501
|
+
};
|
|
1502
|
+
readonly 'skills-source-runtime': {
|
|
1503
|
+
readonly zh: "运行时";
|
|
1504
|
+
readonly en: "runtime";
|
|
1505
|
+
};
|
|
1506
|
+
readonly 'skills-source-custom': {
|
|
1507
|
+
readonly zh: "自定义";
|
|
1508
|
+
readonly en: "custom";
|
|
1509
|
+
};
|
|
1378
1510
|
readonly 'picker-title-theme': {
|
|
1379
1511
|
readonly zh: "颜色主题";
|
|
1380
1512
|
readonly en: "Color theme";
|
|
@@ -1435,6 +1567,142 @@ declare const dict: {
|
|
|
1435
1567
|
readonly zh: "已回退——编辑后按 Enter 重新发送";
|
|
1436
1568
|
readonly en: "Rewound — edit and press Enter to resend";
|
|
1437
1569
|
};
|
|
1570
|
+
readonly 'rewind-mode-default': {
|
|
1571
|
+
readonly zh: "仅回退会话";
|
|
1572
|
+
readonly en: "Conversation only";
|
|
1573
|
+
};
|
|
1574
|
+
readonly 'rewind-waiting-plugins': {
|
|
1575
|
+
readonly zh: "正在等待插件决定…(Esc 放弃等待)";
|
|
1576
|
+
readonly en: "Waiting for plugins… (Esc to stop waiting)";
|
|
1577
|
+
};
|
|
1578
|
+
readonly 'ext-action-cancelled': {
|
|
1579
|
+
readonly zh: "操作已被插件取消";
|
|
1580
|
+
readonly en: "Action cancelled by a plugin";
|
|
1581
|
+
};
|
|
1582
|
+
readonly 'ext-action-handled': {
|
|
1583
|
+
readonly zh: "输入已由插件处理";
|
|
1584
|
+
readonly en: "Input handled by a plugin";
|
|
1585
|
+
};
|
|
1586
|
+
readonly 'ext-decision-pending': {
|
|
1587
|
+
readonly zh: "正在等待插件决定({{event}})…";
|
|
1588
|
+
readonly en: "Waiting for a plugin decision ({{event}})…";
|
|
1589
|
+
};
|
|
1590
|
+
readonly 'ext-stale-dropped': {
|
|
1591
|
+
readonly zh: "等待插件期间会话已切换,该条输入已丢弃";
|
|
1592
|
+
readonly en: "Session switched while a plugin decided — the input was dropped";
|
|
1593
|
+
};
|
|
1594
|
+
readonly 'ext-compact-stale': {
|
|
1595
|
+
readonly zh: "等待插件期间会话已切换,压缩已取消";
|
|
1596
|
+
readonly en: "Session switched while a plugin decided — compaction abandoned";
|
|
1597
|
+
};
|
|
1598
|
+
readonly 'ext-shortcut-failed': {
|
|
1599
|
+
readonly zh: "插件快捷键 {{combo}} 执行失败";
|
|
1600
|
+
readonly en: "Plugin shortcut {{combo}} failed";
|
|
1601
|
+
};
|
|
1602
|
+
readonly 'command-invoke-denied': {
|
|
1603
|
+
readonly zh: "命令调用已被授权文件拒绝(commands.invoke 已撤销)";
|
|
1604
|
+
readonly en: "Command invocation denied by the grants file (commands.invoke revoked)";
|
|
1605
|
+
};
|
|
1606
|
+
readonly 'command-invoke-denied-owner': {
|
|
1607
|
+
readonly zh: "命令 \"/{{name}}\" 的调用已被拒绝——注册它的插件 \"{{owner}}\" 已被撤销 commands.invoke";
|
|
1608
|
+
readonly en: "Command \"/{{name}}\" invocation denied — its owner plugin \"{{owner}}\" lost commands.invoke";
|
|
1609
|
+
};
|
|
1610
|
+
readonly 'plugins-check-tui-extension': {
|
|
1611
|
+
readonly zh: "注:该 manifest 依赖 TUI 宿主扩展面(tui.dsh/v1alpha1 DecisionEvents / session.*.intercept 权限),判定基于宿主扩展覆盖层而非 vendored 社区注册表。";
|
|
1612
|
+
readonly en: "Note: this manifest relies on the TUI host-extension surface (tui.dsh/v1alpha1 DecisionEvents / session.*.intercept permissions); the verdict used the host extension overlay, not the vendored community registry.";
|
|
1613
|
+
};
|
|
1614
|
+
readonly 'plugins-trust-banner': {
|
|
1615
|
+
readonly zh: "插件与宿主同进程运行:授权是行为约束而非安全隔离;通过校验 ≠ 插件安全(C-070)。";
|
|
1616
|
+
readonly en: "Plugins run in-process with the host: grants are behavioral constraints, not a security boundary; passing validation ≠ a safe plugin (C-070).";
|
|
1617
|
+
};
|
|
1618
|
+
readonly 'plugins-host-unavailable': {
|
|
1619
|
+
readonly zh: "plugin-host 行未挂载:Host Descriptor 与授权矩阵按无信息降级。";
|
|
1620
|
+
readonly en: "plugin-host row not mounted: Host Descriptor and grant matrix degraded to no-data.";
|
|
1621
|
+
};
|
|
1622
|
+
readonly 'plugins-contract-dropped': {
|
|
1623
|
+
readonly zh: "已剔除(vendored 哈希漂移)";
|
|
1624
|
+
readonly en: "dropped (vendored hash drift)";
|
|
1625
|
+
};
|
|
1626
|
+
readonly 'plugins-matrix-note': {
|
|
1627
|
+
readonly zh: "授权矩阵(✓ 允许 / · 拒绝;仅显示有足迹的插件——授权文件、效果台账与存储目录的并集):";
|
|
1628
|
+
readonly en: "Grant matrix (✓ allowed / · denied; plugins with footprints only — union of the grants file, effect ledger, and storage directory):";
|
|
1629
|
+
};
|
|
1630
|
+
readonly 'plugins-matrix-no-registry': {
|
|
1631
|
+
readonly zh: "(权限注册表不可用)";
|
|
1632
|
+
readonly en: "(permission registry unavailable)";
|
|
1633
|
+
};
|
|
1634
|
+
readonly 'plugins-matrix-empty': {
|
|
1635
|
+
readonly zh: "(暂无插件足迹)";
|
|
1636
|
+
readonly en: "(no plugin footprints yet)";
|
|
1637
|
+
};
|
|
1638
|
+
readonly 'plugins-footprint-overflow': {
|
|
1639
|
+
readonly zh: "…另有 {{count}} 个插件未显示";
|
|
1640
|
+
readonly en: "…{{count}} more plugin(s) not shown";
|
|
1641
|
+
};
|
|
1642
|
+
readonly 'plugins-ledger-empty': {
|
|
1643
|
+
readonly zh: "效果台账为空。";
|
|
1644
|
+
readonly en: "The effect ledger is empty.";
|
|
1645
|
+
};
|
|
1646
|
+
readonly 'plugins-ledger-header': {
|
|
1647
|
+
readonly zh: "效果台账({{file}})尾 5 条:";
|
|
1648
|
+
readonly en: "Effect ledger ({{file}}), last 5 records:";
|
|
1649
|
+
};
|
|
1650
|
+
readonly 'plugins-unknown-subcommand': {
|
|
1651
|
+
readonly zh: "未知子命令:{{sub}}(支持:check <路径>)";
|
|
1652
|
+
readonly en: "Unknown subcommand: {{sub}} (supported: check <path>)";
|
|
1653
|
+
};
|
|
1654
|
+
readonly 'plugins-check-usage': {
|
|
1655
|
+
readonly zh: "用法:/plugins check <dsh-plugin.json 路径>";
|
|
1656
|
+
readonly en: "Usage: /plugins check <path-to-dsh-plugin.json>";
|
|
1657
|
+
};
|
|
1658
|
+
readonly 'plugins-check-not-found': {
|
|
1659
|
+
readonly zh: "文件不存在:{{path}}";
|
|
1660
|
+
readonly en: "File not found: {{path}}";
|
|
1661
|
+
};
|
|
1662
|
+
readonly 'plugins-check-invalid-json': {
|
|
1663
|
+
readonly zh: "不是可解析的 JSON:{{err}}";
|
|
1664
|
+
readonly en: "Not parseable JSON: {{err}}";
|
|
1665
|
+
};
|
|
1666
|
+
readonly 'plugins-check-spec-unavailable': {
|
|
1667
|
+
readonly zh: "vendored 规范数据不可用(ecosystem-spec/),无法校验。";
|
|
1668
|
+
readonly en: "Vendored spec data unavailable (ecosystem-spec/); cannot validate.";
|
|
1669
|
+
};
|
|
1670
|
+
readonly 'plugins-check-schema-failed': {
|
|
1671
|
+
readonly zh: "schema 校验失败:{{err}}";
|
|
1672
|
+
readonly en: "Schema validation failed: {{err}}";
|
|
1673
|
+
};
|
|
1674
|
+
readonly 'plugins-check-invalid': {
|
|
1675
|
+
readonly zh: "语义校验失败:{{err}}";
|
|
1676
|
+
readonly en: "Semantic validation failed: {{err}}";
|
|
1677
|
+
};
|
|
1678
|
+
readonly 'plugins-check-state': {
|
|
1679
|
+
readonly zh: "协商结果:{{state}}";
|
|
1680
|
+
readonly en: "Negotiation decision: {{state}}";
|
|
1681
|
+
};
|
|
1682
|
+
readonly 'plugins-check-dropped': {
|
|
1683
|
+
readonly zh: "(宿主描述符已剔除漂移契约:{{dropped}})";
|
|
1684
|
+
readonly en: "(host descriptor dropped drifted contracts: {{dropped}})";
|
|
1685
|
+
};
|
|
1686
|
+
readonly 'doctor-plugin-generation': {
|
|
1687
|
+
readonly zh: "插件运行时 generation:{{id}}";
|
|
1688
|
+
readonly en: "Plugin runtime generation: {{id}}";
|
|
1689
|
+
};
|
|
1690
|
+
readonly 'doctor-plugin-registry': {
|
|
1691
|
+
readonly zh: "插件规范注册表自检:{{state}}";
|
|
1692
|
+
readonly en: "Plugin-spec registry self-check: {{state}}";
|
|
1693
|
+
};
|
|
1694
|
+
readonly 'doctor-plugin-host-missing': {
|
|
1695
|
+
readonly zh: "plugin-host 行未挂载";
|
|
1696
|
+
readonly en: "plugin-host row not mounted";
|
|
1697
|
+
};
|
|
1698
|
+
readonly 'ext-dialog-yes': {
|
|
1699
|
+
readonly zh: "是";
|
|
1700
|
+
readonly en: "Yes";
|
|
1701
|
+
};
|
|
1702
|
+
readonly 'ext-dialog-no': {
|
|
1703
|
+
readonly zh: "否";
|
|
1704
|
+
readonly en: "No";
|
|
1705
|
+
};
|
|
1438
1706
|
readonly 'thinking-title': {
|
|
1439
1707
|
readonly zh: "切换思考模式";
|
|
1440
1708
|
readonly en: "Toggle thinking mode";
|
|
@@ -1539,13 +1807,9 @@ declare const dict: {
|
|
|
1539
1807
|
readonly zh: "{{base}} 基底 · ~/.dsh-tui/themes/{{name}}.json";
|
|
1540
1808
|
readonly en: "{{base}} base · ~/.dsh-tui/themes/{{name}}.json";
|
|
1541
1809
|
};
|
|
1542
|
-
readonly 'context-
|
|
1543
|
-
readonly zh: "
|
|
1544
|
-
readonly en: "
|
|
1545
|
-
};
|
|
1546
|
-
readonly 'context-panel-expand': {
|
|
1547
|
-
readonly zh: "展开";
|
|
1548
|
-
readonly en: "Expand";
|
|
1810
|
+
readonly 'context-unavailable': {
|
|
1811
|
+
readonly zh: "当前会话没有已加载的上下文";
|
|
1812
|
+
readonly en: "No loaded context is available for this session";
|
|
1549
1813
|
};
|
|
1550
1814
|
readonly 'context-panel-sections': {
|
|
1551
1815
|
readonly zh: "系统提示词 · {{n}} 段";
|
|
@@ -1828,8 +2092,8 @@ declare const dict: {
|
|
|
1828
2092
|
readonly en: "Key rollback failed — check ~/.dsh/.credentials.yaml manually";
|
|
1829
2093
|
};
|
|
1830
2094
|
readonly 'provider-write-failed': {
|
|
1831
|
-
readonly zh: "provider 配置写入失败 · {{err}}";
|
|
1832
|
-
readonly en: "Failed to write the provider configuration · {{err}}";
|
|
2095
|
+
readonly zh: "provider 配置写入失败 · {{{err}}}";
|
|
2096
|
+
readonly en: "Failed to write the provider configuration · {{{err}}}";
|
|
1833
2097
|
};
|
|
1834
2098
|
readonly 'provider-cancelled': {
|
|
1835
2099
|
readonly zh: "已取消添加 provider";
|
|
@@ -1882,6 +2146,9 @@ declare const dict: {
|
|
|
1882
2146
|
readonly 'cmd-desc-export': {
|
|
1883
2147
|
readonly zh: "导出会话为 Markdown 文件";
|
|
1884
2148
|
};
|
|
2149
|
+
readonly 'cmd-desc-context': {
|
|
2150
|
+
readonly zh: "查看已加载的上下文明细";
|
|
2151
|
+
};
|
|
1885
2152
|
readonly 'cmd-desc-status': {
|
|
1886
2153
|
readonly zh: "查看会话状态";
|
|
1887
2154
|
};
|
|
@@ -1891,6 +2158,9 @@ declare const dict: {
|
|
|
1891
2158
|
readonly 'cmd-desc-config': {
|
|
1892
2159
|
readonly zh: "查看 dsh-tui 配置来源";
|
|
1893
2160
|
};
|
|
2161
|
+
readonly 'cmd-desc-settings': {
|
|
2162
|
+
readonly zh: "查看和编辑插件设置";
|
|
2163
|
+
};
|
|
1894
2164
|
readonly 'cmd-desc-doctor': {
|
|
1895
2165
|
readonly zh: "运行环境检查";
|
|
1896
2166
|
};
|
|
@@ -1942,8 +2212,11 @@ declare const dict: {
|
|
|
1942
2212
|
readonly 'cmd-desc-mcp': {
|
|
1943
2213
|
readonly zh: "查看 MCP 状态";
|
|
1944
2214
|
};
|
|
1945
|
-
readonly 'cmd-desc-
|
|
1946
|
-
readonly zh: "
|
|
2215
|
+
readonly 'cmd-desc-skills': {
|
|
2216
|
+
readonly zh: "列出所有可用技能";
|
|
2217
|
+
};
|
|
2218
|
+
readonly 'cmd-desc-plugins': {
|
|
2219
|
+
readonly zh: "显示插件契约、授权与台账诊断";
|
|
1947
2220
|
};
|
|
1948
2221
|
readonly 'cmd-desc-update': {
|
|
1949
2222
|
readonly zh: "更新 dsh-tui 并重启";
|
package/lib/types/i18n.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAI9B,+DAA+D;AAC/D,eAAO,MAAM,KAAK,uBAAwB,CAAA;AAE1C,QAAA,MAAM,IAAI
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAMH,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA;AAI9B,+DAA+D;AAC/D,eAAO,MAAM,KAAK,uBAAwB,CAAA;AAE1C,QAAA,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmtBA,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,IAAI,CAAA;AACvC,MAAM,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;AAUxD,uEAAuE;AACvE,KAAK,QAAQ,GAAG,MAAM,IAAI,CAAA;AAG1B,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,IAAI,CAG5D;AAED,qCAAqC;AACrC,wBAAgB,OAAO,IAAI,IAAI,CAE9B;AAED,yDAAyD;AACzD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,CAGxC;AAED,iDAAiD;AACjD,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,IAAI,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,GAAE,UAAe,GAAG,MAAM,CAM/D;AAED;;;;;;;;GAQG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAGzD;AAID;;;GAGG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAS5D;AAED,wEAAwE;AACxE,wBAAgB,YAAY,CAAC,GAAG,GAAE,MAAkB,GAAG,IAAI,GAAG,SAAS,CAMtE;AAED,iDAAiD;AACjD,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,GAAE,MAAkB,GAAG,OAAO,CAQ1E;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAavC;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAIzC"}
|
package/lib/types/i18n.js
CHANGED
|
@@ -216,14 +216,14 @@ const dict = {
|
|
|
216
216
|
'permissions-path-hint': { zh: '模型工具相对路径均解析自该目录;跨目录访问由 fs-policy 拦截。', en: 'Relative paths of model tools resolve from this directory; cross-directory access is blocked by fs-policy.' },
|
|
217
217
|
'hooks-not-mounted': { zh: 'DSH hooks(dsh-hooks-claude / dsh-hooks-codex)未在本 leaf 挂载。', en: 'DSH hooks (dsh-hooks-claude / dsh-hooks-codex) are not mounted in this leaf.' },
|
|
218
218
|
'hooks-mount-hint': { zh: '需要时可在 cordis.yml 挂载对应 hooks 插件。', en: 'Mount the matching hooks plugin in cordis.yml when needed.' },
|
|
219
|
-
'memory-none': { zh: 'DSH 暂无持久记忆服务。', en: 'DSH has no persistent memory service yet.' },
|
|
220
|
-
'memory-hint': { zh: '长期约定可写入 AGENTS.md(工作区上下文)或技能(~/.dsh/skills)。', en: 'Long-term conventions can go into AGENTS.md (workspace context) or skills (~/.dsh/skills).' },
|
|
221
219
|
'update-unavailable': { zh: '当前运行方式不支持自动更新(需经 dsh --profile 启动),请在终端执行 dsh plugin --profile <name> update @deepseek-harness-tui/dsh-tui', en: 'Automatic update is unavailable in this launch mode (needs dsh --profile). Run dsh plugin --profile <name> update @deepseek-harness-tui/dsh-tui in a terminal.' },
|
|
222
220
|
'update-working': { zh: '当前回合仍在运行,请等待完成后再更新 TUI。', en: 'The current turn is still running. Wait for it to finish before updating the TUI.' },
|
|
223
221
|
'update-starting': { zh: '正在更新 @deepseek-harness-tui/dsh-tui,完成后会自动重启并恢复当前会话……', en: 'Updating @deepseek-harness-tui/dsh-tui. The TUI will restart and resume this session when finished…' },
|
|
224
222
|
'update-available': { zh: '发现新版本:v{{latest}}(当前 v{{current}})· 输入 /update 更新 TUI', en: 'New version available: v{{latest}} (current v{{current}}) · type /update to update the TUI' },
|
|
225
223
|
'update-already-latest': { zh: '当前已是最新版本(v{{current}})。', en: 'Already on the latest version (v{{current}}).' },
|
|
226
224
|
'update-check-failed': { zh: '无法确认新版本(网络或 registry 不可达),已尝试直接更新……', en: 'Could not confirm a newer version (network or registry unreachable); attempting the update anyway…' },
|
|
225
|
+
'update-refused-deadlock': { zh: '已取消更新:镜像 registry 目前只能装到 v{{latest}},而该版本在旧全局启动器的 patch 下会启动死锁(#183/#307);官方最新为 v{{authoritative}},待镜像同步后再 /update。', en: 'Update cancelled: the mirror registry can only serve v{{latest}}, which deadlocks boot under older global-launcher patches (#183/#307); official latest is v{{authoritative}} — retry /update after the mirror syncs.' },
|
|
226
|
+
'update-mirror-lag': { zh: '镜像 registry 滞后:本次安装 v{{latest}};官方最新 v{{authoritative}},镜像同步后可再 /update。', en: 'Mirror registry lag: installing v{{latest}} now; official latest is v{{authoritative}} — run /update again once the mirror syncs.' },
|
|
227
227
|
'vim-not-implemented': { zh: 'vim 模式暂未实现', en: 'vim mode not implemented yet' },
|
|
228
228
|
'terminal-setup-hint': { zh: '推荐 Windows Terminal(≥110 列、等宽字体、TrueColor)。', en: 'Recommended: Windows Terminal (≥110 columns, monospace, TrueColor).' },
|
|
229
229
|
'terminal-paste-hint': { zh: '{{mod}}V 粘贴文本、文件路径或图片;Ctrl+Shift+V 终端原生粘贴;右键粘贴同样可用。', en: '{{mod}}V pastes text, file paths, or images; Ctrl+Shift+V is native terminal paste; right-click paste also works.' },
|
|
@@ -275,7 +275,6 @@ const dict = {
|
|
|
275
275
|
'logo-tip-model': { zh: '切换模型', en: 'switch model' },
|
|
276
276
|
'logo-tip-help': { zh: '查看命令', en: 'view commands' },
|
|
277
277
|
'logo-tip-tab': { zh: '自动补全', en: 'autocomplete' },
|
|
278
|
-
'logo-tip-trace': { zh: '会话轨迹', en: 'trajectory' },
|
|
279
278
|
'logo-tip-prefix': { zh: '提示:', en: 'Tip: ' },
|
|
280
279
|
// ── components/PromptInput.tsx ──────────────────────────────────────
|
|
281
280
|
'input-sent-after-turn': { zh: '已发送,当前回合结束后处理', en: 'Sent, processed after the current turn' },
|
|
@@ -313,7 +312,7 @@ const dict = {
|
|
|
313
312
|
'help-for-commands': { zh: '/ 查看命令', en: '/ for commands' },
|
|
314
313
|
'help-this-help': { zh: '? 查看本帮助', en: '? for this help' },
|
|
315
314
|
'help-verbose-output': { zh: '{{mod}}o 详细输出', en: '{{mod}}o for verbose output' },
|
|
316
|
-
'help-
|
|
315
|
+
'help-open-trajectory': { zh: '{{mod}}t 打开会话轨迹', en: '{{mod}}t to open trajectory' },
|
|
317
316
|
'help-search-history': { zh: '{{mod}}r 搜索历史', en: '{{mod}}r to search history' },
|
|
318
317
|
'help-interrupt': { zh: 'ctrl+c 打断', en: 'ctrl+c to interrupt' },
|
|
319
318
|
'help-exit': { zh: 'ctrl+d 退出', en: 'ctrl+d to exit' },
|
|
@@ -343,6 +342,28 @@ const dict = {
|
|
|
343
342
|
'resume-hint-delete': { zh: '**Enter** 删除 · Esc 取消', en: '**Enter** to delete · Esc to cancel' },
|
|
344
343
|
'resume-hint-rename': { zh: '**Enter** 保存 · Esc 取消', en: '**Enter** to save · Esc to cancel' },
|
|
345
344
|
'resume-title': { zh: '恢复会话', en: 'Resume session' },
|
|
345
|
+
// ── screens/Settings.tsx (/settings, issue #165) ───────────────────
|
|
346
|
+
'settings-title': { zh: '插件设置', en: 'Plugin settings' },
|
|
347
|
+
'settings-unavailable': { zh: '设置服务未挂载——只读', en: 'settings service absent — read-only' },
|
|
348
|
+
'settings-empty': { zh: '没有可配置的插件设置(尚无插件注册设置区块)', en: 'No configurable plugin settings (no plugin has registered a section)' },
|
|
349
|
+
'settings-section-unavailable': { zh: '命名空间未注册', en: 'namespace not served' },
|
|
350
|
+
'settings-readonly-heading': { zh: '其他设置命名空间(只读)', en: 'Other settings namespaces (read-only)' },
|
|
351
|
+
'settings-readonly-hint': { zh: '以上命名空间尚无 TUI 设置区块,可手工编辑 {{path}}', en: 'No TUI section for these namespaces yet — edit {{path}} by hand' },
|
|
352
|
+
'settings-badge-override': { zh: '已覆盖', en: 'overridden' },
|
|
353
|
+
'settings-badge-restart': { zh: '重启生效', en: 'applies on restart' },
|
|
354
|
+
'settings-badge-dirty': { zh: '未保存', en: 'unsaved' },
|
|
355
|
+
'settings-badge-saving': { zh: '保存中', en: 'saving' },
|
|
356
|
+
'settings-badge-failed': { zh: '保存失败', en: 'save failed' },
|
|
357
|
+
'settings-field-empty': { zh: '(未设置)', en: '(unset)' },
|
|
358
|
+
'settings-field-invalid': { zh: '无效输入', en: 'invalid' },
|
|
359
|
+
'settings-secret-set': { zh: '●●●●●●(已配置)', en: '●●●●●● (configured)' },
|
|
360
|
+
'settings-secret-unset': { zh: '(未配置)', en: '(not configured)' },
|
|
361
|
+
'settings-secret-staged': { zh: '(待保存)', en: '(pending save)' },
|
|
362
|
+
'settings-saved': { zh: '已保存 {{ns}}', en: 'Saved {{ns}}' },
|
|
363
|
+
'settings-save-failed': { zh: '保存 {{ns}} 失败——请重试', en: 'Saving {{ns}} failed — please retry' },
|
|
364
|
+
'settings-discarded': { zh: '已放弃所有未保存的修改', en: 'Discarded all unsaved edits' },
|
|
365
|
+
'settings-hint-list': { zh: '**Enter** 编辑/切换 · s 保存 · d 放弃 · Esc 放弃/退出', en: '**Enter** edit/toggle · s save · d discard · Esc discard/exit' },
|
|
366
|
+
'settings-hint-edit': { zh: '**Enter** 确认 · Esc 取消', en: '**Enter** to confirm · Esc to cancel' },
|
|
346
367
|
// ── 会话浏览器:行、计数、筛选、预览 ───────────────────────────────
|
|
347
368
|
'session-loading': { zh: '正在读取会话…', en: 'Reading sessions…' },
|
|
348
369
|
'session-list-failed': { zh: '无法读取会话列表 · {{err}}', en: 'Could not read the session list · {{err}}' },
|
|
@@ -380,12 +401,25 @@ const dict = {
|
|
|
380
401
|
'hint-confirm-exit': { zh: '**Enter** 确认 · Esc 退出', en: '**Enter** to confirm · Esc to exit' },
|
|
381
402
|
'hint-confirm-cancel': { zh: '**Enter** 确认 · Esc 取消', en: '**Enter** to confirm · Esc to cancel' },
|
|
382
403
|
'hint-select-exit': { zh: '**Enter** 选择 · Esc 退出', en: '**Enter** to select · Esc to exit' },
|
|
404
|
+
'hint-fill-exit': { zh: '**Enter** 填入命令 · Esc 退出', en: '**Enter** to insert · Esc to exit' },
|
|
383
405
|
'hint-rewind-back': { zh: '**Enter** 回退 · Esc 返回', en: '**Enter** to rewind · Esc to back' },
|
|
406
|
+
'hint-ext-dialog-input': { zh: '**Enter** 确认 · Esc 取消', en: '**Enter** to confirm · Esc to cancel' },
|
|
384
407
|
'hint-adjust-done': { zh: '**←/→** 调整 · Enter/Esc 完成', en: '**←/→** to adjust · Enter/Esc to done' },
|
|
385
408
|
'hint-history-search': { zh: '↑/↓ 选择 · **Enter** 确认 · Esc 取消', en: '↑/↓ to navigate · **Enter** to select · Esc to cancel' },
|
|
386
409
|
'hint-expand-ctrl-o': { zh: '(ctrl+o 展开)', en: '(ctrl+o to expand)' },
|
|
387
410
|
// ── components/ModelPicker.tsx / ThemePicker.tsx / ActivityPicker.tsx / EffortSlider.tsx ──
|
|
388
411
|
'picker-title-model': { zh: '模型', en: 'Model' },
|
|
412
|
+
'picker-title-skills': { zh: '技能', en: 'Skills' },
|
|
413
|
+
'skills-loading': { zh: '正在加载技能', en: 'Loading skills' },
|
|
414
|
+
'skills-loading-subtitle': { zh: '正在查询技能注册表…', en: 'Querying the skill registry…' },
|
|
415
|
+
'skills-empty': { zh: '当前会话没有可用技能', en: 'No skills available in this session' },
|
|
416
|
+
'skills-load-failed': { zh: '技能列表加载失败', en: 'Failed to load the skill list' },
|
|
417
|
+
'plugin-scene-crashed': { zh: '插件场景「{{id}}」渲染崩溃:{{err}}(已自动关闭)', en: 'Plugin scene "{{id}}" crashed while rendering: {{err}} (closed)' },
|
|
418
|
+
'skills-source-bundled': { zh: '内置', en: 'built-in' },
|
|
419
|
+
'skills-source-user': { zh: '用户', en: 'user' },
|
|
420
|
+
'skills-source-project': { zh: '项目', en: 'project' },
|
|
421
|
+
'skills-source-runtime': { zh: '运行时', en: 'runtime' },
|
|
422
|
+
'skills-source-custom': { zh: '自定义', en: 'custom' },
|
|
389
423
|
'picker-title-theme': { zh: '颜色主题', en: 'Color theme' },
|
|
390
424
|
'picker-title-activity': { zh: '指示器预设', en: 'Indicator preset' },
|
|
391
425
|
'picker-title-effort': { zh: '推理强度', en: 'Reasoning effort' },
|
|
@@ -402,6 +436,51 @@ const dict = {
|
|
|
402
436
|
'rewind-last-message': { zh: '最近一条消息', en: 'last message' },
|
|
403
437
|
'rewind-none': { zh: '还没有可回退的消息', en: 'Nothing to rewind yet' },
|
|
404
438
|
'rewind-done': { zh: '已回退——编辑后按 Enter 重新发送', en: 'Rewound — edit and press Enter to resend' },
|
|
439
|
+
'rewind-mode-default': { zh: '仅回退会话', en: 'Conversation only' },
|
|
440
|
+
'rewind-waiting-plugins': { zh: '正在等待插件决定…(Esc 放弃等待)', en: 'Waiting for plugins… (Esc to stop waiting)' },
|
|
441
|
+
// ── 插件扩展缝(dsh-tui-extensions:决策事件 + 托管对话框 + 快捷键)──
|
|
442
|
+
'ext-action-cancelled': { zh: '操作已被插件取消', en: 'Action cancelled by a plugin' },
|
|
443
|
+
'ext-action-handled': { zh: '输入已由插件处理', en: 'Input handled by a plugin' },
|
|
444
|
+
'ext-decision-pending': { zh: '正在等待插件决定({{event}})…', en: 'Waiting for a plugin decision ({{event}})…' },
|
|
445
|
+
'ext-stale-dropped': { zh: '等待插件期间会话已切换,该条输入已丢弃', en: 'Session switched while a plugin decided — the input was dropped' },
|
|
446
|
+
'ext-compact-stale': { zh: '等待插件期间会话已切换,压缩已取消', en: 'Session switched while a plugin decided — compaction abandoned' },
|
|
447
|
+
'ext-shortcut-failed': { zh: '插件快捷键 {{combo}} 执行失败', en: 'Plugin shortcut {{combo}} failed' },
|
|
448
|
+
'command-invoke-denied': { zh: '命令调用已被授权文件拒绝(commands.invoke 已撤销)', en: 'Command invocation denied by the grants file (commands.invoke revoked)' },
|
|
449
|
+
'command-invoke-denied-owner': {
|
|
450
|
+
zh: '命令 "/{{name}}" 的调用已被拒绝——注册它的插件 "{{owner}}" 已被撤销 commands.invoke',
|
|
451
|
+
en: 'Command "/{{name}}" invocation denied — its owner plugin "{{owner}}" lost commands.invoke',
|
|
452
|
+
},
|
|
453
|
+
'plugins-check-tui-extension': {
|
|
454
|
+
zh: '注:该 manifest 依赖 TUI 宿主扩展面(tui.dsh/v1alpha1 DecisionEvents / session.*.intercept 权限),判定基于宿主扩展覆盖层而非 vendored 社区注册表。',
|
|
455
|
+
en: 'Note: this manifest relies on the TUI host-extension surface (tui.dsh/v1alpha1 DecisionEvents / session.*.intercept permissions); the verdict used the host extension overlay, not the vendored community registry.',
|
|
456
|
+
},
|
|
457
|
+
// /plugins 诊断面(C-070 信任披露 + 协商诊断)
|
|
458
|
+
'plugins-trust-banner': {
|
|
459
|
+
zh: '插件与宿主同进程运行:授权是行为约束而非安全隔离;通过校验 ≠ 插件安全(C-070)。',
|
|
460
|
+
en: 'Plugins run in-process with the host: grants are behavioral constraints, not a security boundary; passing validation ≠ a safe plugin (C-070).',
|
|
461
|
+
},
|
|
462
|
+
'plugins-host-unavailable': { zh: 'plugin-host 行未挂载:Host Descriptor 与授权矩阵按无信息降级。', en: 'plugin-host row not mounted: Host Descriptor and grant matrix degraded to no-data.' },
|
|
463
|
+
'plugins-contract-dropped': { zh: '已剔除(vendored 哈希漂移)', en: 'dropped (vendored hash drift)' },
|
|
464
|
+
'plugins-matrix-note': { zh: '授权矩阵(✓ 允许 / · 拒绝;仅显示有足迹的插件——授权文件、效果台账与存储目录的并集):', en: 'Grant matrix (✓ allowed / · denied; plugins with footprints only — union of the grants file, effect ledger, and storage directory):' },
|
|
465
|
+
'plugins-matrix-no-registry': { zh: '(权限注册表不可用)', en: '(permission registry unavailable)' },
|
|
466
|
+
'plugins-matrix-empty': { zh: '(暂无插件足迹)', en: '(no plugin footprints yet)' },
|
|
467
|
+
'plugins-footprint-overflow': { zh: '…另有 {{count}} 个插件未显示', en: '…{{count}} more plugin(s) not shown' },
|
|
468
|
+
'plugins-ledger-empty': { zh: '效果台账为空。', en: 'The effect ledger is empty.' },
|
|
469
|
+
'plugins-ledger-header': { zh: '效果台账({{file}})尾 5 条:', en: 'Effect ledger ({{file}}), last 5 records:' },
|
|
470
|
+
'plugins-unknown-subcommand': { zh: '未知子命令:{{sub}}(支持:check <路径>)', en: 'Unknown subcommand: {{sub}} (supported: check <path>)' },
|
|
471
|
+
'plugins-check-usage': { zh: '用法:/plugins check <dsh-plugin.json 路径>', en: 'Usage: /plugins check <path-to-dsh-plugin.json>' },
|
|
472
|
+
'plugins-check-not-found': { zh: '文件不存在:{{path}}', en: 'File not found: {{path}}' },
|
|
473
|
+
'plugins-check-invalid-json': { zh: '不是可解析的 JSON:{{err}}', en: 'Not parseable JSON: {{err}}' },
|
|
474
|
+
'plugins-check-spec-unavailable': { zh: 'vendored 规范数据不可用(ecosystem-spec/),无法校验。', en: 'Vendored spec data unavailable (ecosystem-spec/); cannot validate.' },
|
|
475
|
+
'plugins-check-schema-failed': { zh: 'schema 校验失败:{{err}}', en: 'Schema validation failed: {{err}}' },
|
|
476
|
+
'plugins-check-invalid': { zh: '语义校验失败:{{err}}', en: 'Semantic validation failed: {{err}}' },
|
|
477
|
+
'plugins-check-state': { zh: '协商结果:{{state}}', en: 'Negotiation decision: {{state}}' },
|
|
478
|
+
'plugins-check-dropped': { zh: '(宿主描述符已剔除漂移契约:{{dropped}})', en: '(host descriptor dropped drifted contracts: {{dropped}})' },
|
|
479
|
+
'doctor-plugin-generation': { zh: '插件运行时 generation:{{id}}', en: 'Plugin runtime generation: {{id}}' },
|
|
480
|
+
'doctor-plugin-registry': { zh: '插件规范注册表自检:{{state}}', en: 'Plugin-spec registry self-check: {{state}}' },
|
|
481
|
+
'doctor-plugin-host-missing': { zh: 'plugin-host 行未挂载', en: 'plugin-host row not mounted' },
|
|
482
|
+
'ext-dialog-yes': { zh: '是', en: 'Yes' },
|
|
483
|
+
'ext-dialog-no': { zh: '否', en: 'No' },
|
|
405
484
|
// ── components/ThinkingToggle.tsx + messages/AssistantThinkingMessage.tsx ──
|
|
406
485
|
'thinking-title': { zh: '切换思考模式', en: 'Toggle thinking mode' },
|
|
407
486
|
'thinking-subtitle': { zh: '为本会话启用或关闭思考。', en: 'Enable or disable thinking for this session.' },
|
|
@@ -433,8 +512,7 @@ const dict = {
|
|
|
433
512
|
'theme-auto-base': { zh: '内置 · 跟随系统/终端背景自动选择 light/dark', en: 'Built-in · follows the system/terminal background (light/dark)' },
|
|
434
513
|
'theme-user-base': { zh: '{{base}} 基底 · ~/.dsh-tui/themes/{{name}}.json', en: '{{base}} base · ~/.dsh-tui/themes/{{name}}.json' },
|
|
435
514
|
// ── components/LoadedContextPanel.tsx ───────────────────────────────
|
|
436
|
-
'context-
|
|
437
|
-
'context-panel-expand': { zh: '展开', en: 'Expand' },
|
|
515
|
+
'context-unavailable': { zh: '当前会话没有已加载的上下文', en: 'No loaded context is available for this session' },
|
|
438
516
|
'context-panel-sections': { zh: '系统提示词 · {{n}} 段', en: 'System prompt · {{n}} sections' },
|
|
439
517
|
'context-panel-files': { zh: '工作区指令 · {{n}} 个文件', en: 'Workspace instructions · {{n}} files' },
|
|
440
518
|
'context-panel-runtime': { zh: '运行时上下文 · {{n}} 项', en: 'Runtime context · {{n}} items' },
|
|
@@ -509,7 +587,7 @@ const dict = {
|
|
|
509
587
|
'provider-line-models-catalog': { zh: '模型:整个 catalog(未收窄)', en: 'Models: the whole catalog (not narrowed)' },
|
|
510
588
|
'provider-rollback-ok': { zh: '已回滚刚写入的密钥', en: 'Rolled back the just-written key' },
|
|
511
589
|
'provider-rollback-failed': { zh: '密钥回滚失败,请手动检查 ~/.dsh/.credentials.yaml', en: 'Key rollback failed — check ~/.dsh/.credentials.yaml manually' },
|
|
512
|
-
'provider-write-failed': { zh: 'provider 配置写入失败 · {{err}}', en: 'Failed to write the provider configuration · {{err}}' },
|
|
590
|
+
'provider-write-failed': { zh: 'provider 配置写入失败 · {{{err}}}', en: 'Failed to write the provider configuration · {{{err}}}' },
|
|
513
591
|
'provider-cancelled': { zh: '已取消添加 provider', en: 'Provider setup cancelled' },
|
|
514
592
|
'provider-success': { zh: 'provider {{route}} 已添加', en: 'Provider {{route}} added' },
|
|
515
593
|
'provider-switch-hint': { zh: '运行 /model 可切换到新 provider 的模型', en: 'Run /model to switch to the new provider’s models' },
|
|
@@ -533,9 +611,11 @@ const dict = {
|
|
|
533
611
|
'cmd-desc-rewind': { zh: '回退会话到历史消息' },
|
|
534
612
|
'cmd-desc-export': { zh: '导出会话为 Markdown 文件' },
|
|
535
613
|
// Session / environment
|
|
614
|
+
'cmd-desc-context': { zh: '查看已加载的上下文明细' },
|
|
536
615
|
'cmd-desc-status': { zh: '查看会话状态' },
|
|
537
616
|
'cmd-desc-cost': { zh: '查看会话 token 用量' },
|
|
538
617
|
'cmd-desc-config': { zh: '查看 dsh-tui 配置来源' },
|
|
618
|
+
'cmd-desc-settings': { zh: '查看和编辑插件设置' },
|
|
539
619
|
'cmd-desc-doctor': { zh: '运行环境检查' },
|
|
540
620
|
'cmd-desc-init': { zh: '在工作目录创建 AGENTS.md' },
|
|
541
621
|
'cmd-desc-agents': { zh: '查看本会话的子代理' },
|
|
@@ -555,7 +635,8 @@ const dict = {
|
|
|
555
635
|
'cmd-desc-add-dir': { zh: '查看文件系统策略范围' },
|
|
556
636
|
'cmd-desc-hooks': { zh: '查看 hooks 状态' },
|
|
557
637
|
'cmd-desc-mcp': { zh: '查看 MCP 状态' },
|
|
558
|
-
'cmd-desc-
|
|
638
|
+
'cmd-desc-skills': { zh: '列出所有可用技能' },
|
|
639
|
+
'cmd-desc-plugins': { zh: '显示插件契约、授权与台账诊断' },
|
|
559
640
|
'cmd-desc-update': { zh: '更新 dsh-tui 并重启' },
|
|
560
641
|
// Built-in skills
|
|
561
642
|
'cmd-desc-audit': { zh: '对当前项目做全面代码审计' },
|
package/lib/types/ink/ink.d.ts
CHANGED
|
@@ -150,6 +150,17 @@ export default class Ink {
|
|
|
150
150
|
* as restoring the saved cursor position — clobbering the resume hint.
|
|
151
151
|
*/
|
|
152
152
|
detachForShutdown(): void;
|
|
153
|
+
/**
|
|
154
|
+
* Fully detach stdin before handing the terminal to a child process that
|
|
155
|
+
* inherits it (the /update restart). `detachForShutdown()` restores
|
|
156
|
+
* cooked mode but leaves the App's 'readable' pump attached — ordinary
|
|
157
|
+
* exits don't care because the process dies right after, but a parent
|
|
158
|
+
* that lingers waiting on the child keeps a libuv read pending on the
|
|
159
|
+
* console and races the child for every keypress: the restarted TUI
|
|
160
|
+
* sees dropped or entirely swallowed input (issues #284/#307). Remove
|
|
161
|
+
* the listeners and pause the pump so the child is the sole reader.
|
|
162
|
+
*/
|
|
163
|
+
detachStdinForHandoff(): void;
|
|
153
164
|
/** @see drainStdin */
|
|
154
165
|
drainStdin(): void;
|
|
155
166
|
/**
|