@deepseek-harness-tui/dsh-tui 0.10.0 → 0.10.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 +5 -2
- package/bin/dsh-tui.js +99 -33
- package/cordis.patch.yml +25 -5
- package/lib/types/adapter/channel/actions.d.ts +17 -0
- package/lib/types/adapter/channel/actions.d.ts.map +1 -0
- package/lib/types/adapter/channel/actions.js +28 -0
- package/lib/types/adapter/channel/consumer.d.ts +34 -0
- package/lib/types/adapter/channel/consumer.d.ts.map +1 -0
- package/lib/types/adapter/channel/consumer.js +87 -0
- package/lib/types/adapter/channel/features.d.ts +12 -0
- package/lib/types/adapter/channel/features.d.ts.map +1 -0
- package/lib/types/adapter/channel/features.js +41 -0
- package/lib/types/adapter/channel/host-registry.d.ts +40 -0
- package/lib/types/adapter/channel/host-registry.d.ts.map +1 -0
- package/lib/types/adapter/channel/host-registry.js +120 -0
- package/lib/types/adapter/channel/index.d.ts +22 -0
- package/lib/types/adapter/channel/index.d.ts.map +1 -0
- package/lib/types/adapter/channel/index.js +21 -0
- package/lib/types/adapter/channel/internal-token.d.ts +12 -0
- package/lib/types/adapter/channel/internal-token.d.ts.map +1 -0
- package/lib/types/adapter/channel/internal-token.js +11 -0
- package/lib/types/adapter/channel/plugins.d.ts +17 -0
- package/lib/types/adapter/channel/plugins.d.ts.map +1 -0
- package/lib/types/adapter/channel/plugins.js +47 -0
- package/lib/types/adapter/channel/projection.d.ts +15 -0
- package/lib/types/adapter/channel/projection.d.ts.map +1 -0
- package/lib/types/adapter/channel/projection.js +59 -0
- package/lib/types/adapter/channel/provider.d.ts +52 -0
- package/lib/types/adapter/channel/provider.d.ts.map +1 -0
- package/lib/types/adapter/channel/provider.js +231 -0
- package/lib/types/adapter/channel/read-view.d.ts +4 -0
- package/lib/types/adapter/channel/read-view.d.ts.map +1 -0
- package/lib/types/adapter/channel/read-view.js +132 -0
- package/lib/types/adapter/channel/session-projection.d.ts +56 -0
- package/lib/types/adapter/channel/session-projection.d.ts.map +1 -0
- package/lib/types/adapter/channel/session-projection.js +247 -0
- package/lib/types/adapter/channel/state.d.ts +11 -0
- package/lib/types/adapter/channel/state.d.ts.map +1 -0
- package/lib/types/adapter/channel/state.js +55 -0
- package/lib/types/adapter/channel/transcript.d.ts +15 -0
- package/lib/types/adapter/channel/transcript.d.ts.map +1 -0
- package/lib/types/adapter/channel/transcript.js +22 -0
- package/lib/types/adapter/channel/ui-policy.d.ts +106 -0
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -0
- package/lib/types/adapter/channel/ui-policy.js +166 -0
- package/lib/types/adapter/channel/ui.d.ts +16 -0
- package/lib/types/adapter/channel/ui.d.ts.map +1 -0
- package/lib/types/adapter/channel/ui.js +168 -0
- package/lib/types/adapter/index.d.ts +20 -0
- package/lib/types/adapter/index.d.ts.map +1 -0
- package/lib/types/adapter/index.js +19 -0
- package/lib/types/adapter/kernel/contract-catalog.d.ts +12 -0
- package/lib/types/adapter/kernel/contract-catalog.d.ts.map +1 -0
- package/lib/types/adapter/kernel/contract-catalog.js +11 -0
- package/lib/types/adapter/kernel/diagnostics.d.ts +18 -0
- package/lib/types/adapter/kernel/diagnostics.d.ts.map +1 -0
- package/lib/types/adapter/kernel/diagnostics.js +16 -0
- package/lib/types/adapter/kernel/driver-types.d.ts +16 -0
- package/lib/types/adapter/kernel/driver-types.d.ts.map +1 -0
- package/lib/types/adapter/kernel/driver-types.js +8 -0
- package/lib/types/adapter/kernel/host-facade.d.ts +65 -0
- package/lib/types/adapter/kernel/host-facade.d.ts.map +1 -0
- package/lib/types/adapter/kernel/host-facade.js +215 -0
- package/lib/types/adapter/kernel/host-probe-access.d.ts +71 -0
- package/lib/types/adapter/kernel/host-probe-access.d.ts.map +1 -0
- package/lib/types/adapter/kernel/host-probe-access.js +121 -0
- package/lib/types/adapter/kernel/index.d.ts +20 -0
- package/lib/types/adapter/kernel/index.d.ts.map +1 -0
- package/lib/types/adapter/kernel/index.js +19 -0
- package/lib/types/adapter/kernel/kernel-runtime.d.ts +138 -0
- package/lib/types/adapter/kernel/kernel-runtime.d.ts.map +1 -0
- package/lib/types/adapter/kernel/kernel-runtime.js +572 -0
- package/lib/types/adapter/kernel/ledger.d.ts +55 -0
- package/lib/types/adapter/kernel/ledger.d.ts.map +1 -0
- package/lib/types/adapter/kernel/ledger.js +33 -0
- package/lib/types/adapter/kernel/legacy-facade.d.ts +22 -0
- package/lib/types/adapter/kernel/legacy-facade.d.ts.map +1 -0
- package/lib/types/adapter/kernel/legacy-facade.js +34 -0
- package/lib/types/adapter/kernel/lifecycle.d.ts +38 -0
- package/lib/types/adapter/kernel/lifecycle.d.ts.map +1 -0
- package/lib/types/adapter/kernel/lifecycle.js +53 -0
- package/lib/types/adapter/kernel/replay-isolation.d.ts +27 -0
- package/lib/types/adapter/kernel/replay-isolation.d.ts.map +1 -0
- package/lib/types/adapter/kernel/replay-isolation.js +45 -0
- package/lib/types/adapter/kernel/replay.d.ts +132 -0
- package/lib/types/adapter/kernel/replay.d.ts.map +1 -0
- package/lib/types/adapter/kernel/replay.js +425 -0
- package/lib/types/adapter/kernel/runtime-context.d.ts +15 -0
- package/lib/types/adapter/kernel/runtime-context.d.ts.map +1 -0
- package/lib/types/adapter/kernel/runtime-context.js +24 -0
- package/lib/types/adapter/kernel/runtime.d.ts +70 -0
- package/lib/types/adapter/kernel/runtime.d.ts.map +1 -0
- package/lib/types/adapter/kernel/runtime.js +325 -0
- package/lib/types/adapter/kernel/slices/channel.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/channel.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/channel.js +8 -0
- package/lib/types/adapter/kernel/slices/decisions.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/decisions.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/decisions.js +10 -0
- package/lib/types/adapter/kernel/slices/extensions.d.ts +8 -0
- package/lib/types/adapter/kernel/slices/extensions.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/extensions.js +43 -0
- package/lib/types/adapter/kernel/slices/index.d.ts +19 -0
- package/lib/types/adapter/kernel/slices/index.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/index.js +36 -0
- package/lib/types/adapter/kernel/slices/presentation.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/presentation.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/presentation.js +14 -0
- package/lib/types/adapter/kernel/slices/scenes.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/scenes.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/scenes.js +14 -0
- package/lib/types/adapter/kernel/slices/settings.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/settings.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/settings.js +12 -0
- package/lib/types/adapter/kernel/slices/types.d.ts +20 -0
- package/lib/types/adapter/kernel/slices/types.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/types.js +12 -0
- package/lib/types/adapter/kernel/slices/workspace.d.ts +3 -0
- package/lib/types/adapter/kernel/slices/workspace.d.ts.map +1 -0
- package/lib/types/adapter/kernel/slices/workspace.js +15 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts +90 -0
- package/lib/types/adapter/ports/channel-catalog.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-catalog.js +2 -0
- package/lib/types/adapter/ports/channel-display.d.ts +90 -0
- package/lib/types/adapter/ports/channel-display.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-display.js +2 -0
- package/lib/types/adapter/ports/channel-session.d.ts +229 -0
- package/lib/types/adapter/ports/channel-session.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-session.js +2 -0
- package/lib/types/adapter/ports/channel-settings.d.ts +273 -0
- package/lib/types/adapter/ports/channel-settings.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-settings.js +1 -0
- package/lib/types/adapter/ports/channel-ui.d.ts +569 -0
- package/lib/types/adapter/ports/channel-ui.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-ui.js +1 -0
- package/lib/types/adapter/ports/channel-view.d.ts +609 -0
- package/lib/types/adapter/ports/channel-view.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-view.js +2 -0
- package/lib/types/adapter/ports/channel-workspace.d.ts +45 -0
- package/lib/types/adapter/ports/channel-workspace.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel-workspace.js +2 -0
- package/lib/types/adapter/ports/channel.d.ts +145 -0
- package/lib/types/adapter/ports/channel.d.ts.map +1 -0
- package/lib/types/adapter/ports/channel.js +22 -0
- package/lib/types/adapter/ports/decisions.d.ts +18 -0
- package/lib/types/adapter/ports/decisions.d.ts.map +1 -0
- package/lib/types/adapter/ports/decisions.js +9 -0
- package/lib/types/adapter/ports/descriptor.d.ts +25 -0
- package/lib/types/adapter/ports/descriptor.d.ts.map +1 -0
- package/lib/types/adapter/ports/descriptor.js +11 -0
- package/lib/types/adapter/ports/extensions.d.ts +86 -0
- package/lib/types/adapter/ports/extensions.d.ts.map +1 -0
- package/lib/types/adapter/ports/extensions.js +9 -0
- package/lib/types/adapter/ports/index.d.ts +23 -0
- package/lib/types/adapter/ports/index.d.ts.map +1 -0
- package/lib/types/adapter/ports/index.js +14 -0
- package/lib/types/adapter/ports/owner.d.ts +19 -0
- package/lib/types/adapter/ports/owner.d.ts.map +1 -0
- package/lib/types/adapter/ports/owner.js +9 -0
- package/lib/types/adapter/ports/presentation.d.ts +81 -0
- package/lib/types/adapter/ports/presentation.d.ts.map +1 -0
- package/lib/types/adapter/ports/presentation.js +10 -0
- package/lib/types/adapter/ports/scenes.d.ts +24 -0
- package/lib/types/adapter/ports/scenes.d.ts.map +1 -0
- package/lib/types/adapter/ports/scenes.js +8 -0
- package/lib/types/adapter/ports/settings.d.ts +44 -0
- package/lib/types/adapter/ports/settings.d.ts.map +1 -0
- package/lib/types/adapter/ports/settings.js +9 -0
- package/lib/types/adapter/ports/workspace.d.ts +60 -0
- package/lib/types/adapter/ports/workspace.d.ts.map +1 -0
- package/lib/types/adapter/ports/workspace.js +8 -0
- package/lib/types/adapter/spec/index.d.ts +11 -0
- package/lib/types/adapter/spec/index.d.ts.map +1 -0
- package/lib/types/adapter/spec/index.js +10 -0
- package/lib/types/adapter/spec/profile.d.ts +10 -0
- package/lib/types/adapter/spec/profile.d.ts.map +1 -0
- package/lib/types/adapter/spec/profile.js +9 -0
- package/lib/types/adapter/spec/protocol-constants.d.ts +60 -0
- package/lib/types/adapter/spec/protocol-constants.d.ts.map +1 -0
- package/lib/types/adapter/spec/protocol-constants.js +129 -0
- package/lib/types/adapter/spec/tui-contributions.d.ts +18 -0
- package/lib/types/adapter/spec/tui-contributions.d.ts.map +1 -0
- package/lib/types/adapter/spec/tui-contributions.js +19 -0
- package/lib/types/adapter/standard/admission.d.ts +11 -0
- package/lib/types/adapter/standard/admission.d.ts.map +1 -0
- package/lib/types/adapter/standard/admission.js +10 -0
- package/lib/types/adapter/standard/descriptor.d.ts +74 -0
- package/lib/types/adapter/standard/descriptor.d.ts.map +1 -0
- package/lib/types/adapter/standard/descriptor.js +356 -0
- package/lib/types/{dsh-adapter → adapter/standard}/grants.d.ts +8 -3
- package/lib/types/adapter/standard/grants.d.ts.map +1 -0
- package/lib/types/{dsh-adapter → adapter/standard}/grants.js +14 -8
- package/lib/types/adapter/standard/index.d.ts +25 -0
- package/lib/types/adapter/standard/index.d.ts.map +1 -0
- package/lib/types/adapter/standard/index.js +24 -0
- package/lib/types/adapter/standard/negotiate.d.ts.map +1 -0
- package/lib/types/{plugin-spec → adapter/standard}/permission-scope.d.ts +3 -8
- package/lib/types/adapter/standard/permission-scope.d.ts.map +1 -0
- package/lib/types/{plugin-spec → adapter/standard}/permission-scope.js +4 -26
- package/lib/types/adapter/standard/protocols.d.ts +12 -0
- package/lib/types/adapter/standard/protocols.d.ts.map +1 -0
- package/lib/types/adapter/standard/protocols.js +11 -0
- package/lib/types/adapter/standard/registry.d.ts.map +1 -0
- package/lib/types/{plugin-spec → adapter/standard}/registry.js +3 -15
- package/lib/types/adapter/standard/schema-check.d.ts.map +1 -0
- package/lib/types/{plugin-spec → adapter/standard}/schema-check.js +4 -2
- package/lib/types/adapter/standard/tui-extension.d.ts +25 -0
- package/lib/types/adapter/standard/tui-extension.d.ts.map +1 -0
- package/lib/types/adapter/standard/tui-extension.js +45 -0
- package/lib/types/{plugin-spec → adapter/standard}/types.d.ts +3 -9
- package/lib/types/adapter/standard/types.d.ts.map +1 -0
- package/lib/types/{plugin-spec → adapter/standard}/validate.d.ts +3 -3
- package/lib/types/adapter/standard/validate.d.ts.map +1 -0
- package/lib/types/{plugin-spec → adapter/standard}/validate.js +14 -13
- package/lib/types/adapter/upstream/channel-driver.d.ts +22 -0
- package/lib/types/adapter/upstream/channel-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/channel-driver.js +424 -0
- package/lib/types/adapter/upstream/decisions-driver.d.ts +15 -0
- package/lib/types/adapter/upstream/decisions-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/decisions-driver.js +141 -0
- package/lib/types/adapter/upstream/detection.d.ts +26 -0
- package/lib/types/adapter/upstream/detection.d.ts.map +1 -0
- package/lib/types/adapter/upstream/detection.js +9 -0
- package/lib/types/adapter/upstream/driver.d.ts +50 -0
- package/lib/types/adapter/upstream/driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/driver.js +8 -0
- package/lib/types/adapter/upstream/extensions-driver.d.ts +24 -0
- package/lib/types/adapter/upstream/extensions-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/extensions-driver.js +697 -0
- package/lib/types/adapter/upstream/host-descriptor-driver.d.ts +45 -0
- package/lib/types/adapter/upstream/host-descriptor-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/host-descriptor-driver.js +606 -0
- package/lib/types/adapter/upstream/index.d.ts +18 -0
- package/lib/types/adapter/upstream/index.d.ts.map +1 -0
- package/lib/types/adapter/upstream/index.js +15 -0
- package/lib/types/adapter/upstream/presentation-driver.d.ts +17 -0
- package/lib/types/adapter/upstream/presentation-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/presentation-driver.js +129 -0
- package/lib/types/adapter/upstream/scenes-driver.d.ts +18 -0
- package/lib/types/adapter/upstream/scenes-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/scenes-driver.js +170 -0
- package/lib/types/adapter/upstream/settings-driver.d.ts +20 -0
- package/lib/types/adapter/upstream/settings-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/settings-driver.js +173 -0
- package/lib/types/adapter/upstream/workspace-driver.d.ts +19 -0
- package/lib/types/adapter/upstream/workspace-driver.d.ts.map +1 -0
- package/lib/types/adapter/upstream/workspace-driver.js +190 -0
- package/lib/types/api.d.ts +1 -1
- package/lib/types/api.d.ts.map +1 -1
- package/lib/types/commands.d.ts +2 -41
- package/lib/types/commands.d.ts.map +1 -1
- package/lib/types/commands.js +1 -1
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -1
- package/lib/types/components/Chat/JobCard.js +8 -1
- package/lib/types/components/GoalTodoPanel.d.ts +2 -1
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -1
- package/lib/types/components/HistorySearchDialog.d.ts.map +1 -1
- package/lib/types/components/HistorySearchDialog.js +7 -5
- package/lib/types/components/Markdown.d.ts +2 -2
- package/lib/types/components/Markdown.d.ts.map +1 -1
- package/lib/types/components/Markdown.js +28 -3
- package/lib/types/components/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +46 -17
- package/lib/types/components/ModelPicker.d.ts +1 -1
- package/lib/types/components/ModelPicker.d.ts.map +1 -1
- package/lib/types/components/ModelPicker.js +8 -4
- package/lib/types/components/OverlayAbove.d.ts +22 -1
- package/lib/types/components/OverlayAbove.d.ts.map +1 -1
- package/lib/types/components/OverlayAbove.js +74 -5
- package/lib/types/components/PromptInput.d.ts +2 -1
- package/lib/types/components/PromptInput.d.ts.map +1 -1
- package/lib/types/components/RewindPicker.d.ts.map +1 -1
- package/lib/types/components/RewindPicker.js +14 -6
- package/lib/types/components/SkillsPicker.d.ts.map +1 -1
- package/lib/types/components/SkillsPicker.js +6 -4
- package/lib/types/components/Spinner/spinnerMode.d.ts +1 -5
- package/lib/types/components/Spinner/spinnerMode.d.ts.map +1 -1
- package/lib/types/components/StreamingMarkdown.d.ts.map +1 -1
- package/lib/types/components/StreamingMarkdown.js +61 -9
- package/lib/types/components/design-system/ThemedBox.d.ts +4 -2
- package/lib/types/components/design-system/ThemedBox.d.ts.map +1 -1
- package/lib/types/components/design-system/ThemedBox.js +2 -2
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -1
- package/lib/types/components/messages/AssistantToolUseMessage.js +69 -25
- package/lib/types/components/overlayBudget.d.ts +39 -0
- package/lib/types/components/overlayBudget.d.ts.map +1 -0
- package/lib/types/components/overlayBudget.js +43 -0
- package/lib/types/deepseekBalance.d.ts +2 -36
- package/lib/types/deepseekBalance.d.ts.map +1 -1
- package/lib/types/deepseekBalance.js +0 -14
- package/lib/types/deepseekPricing.d.ts +2 -1
- package/lib/types/deepseekPricing.d.ts.map +1 -1
- package/lib/types/deepseekPricing.js +8 -1
- package/lib/types/dsh-adapter/approvals.d.ts +11 -1
- package/lib/types/dsh-adapter/approvals.d.ts.map +1 -1
- package/lib/types/dsh-adapter/approvals.js +32 -12
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/action-readiness.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/action-readiness.js +83 -0
- package/lib/types/dsh-adapter/channel/activity.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/activity.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/activity.js +113 -0
- package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts +64 -0
- package/lib/types/dsh-adapter/channel/agent-view-projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/agent-view-projection.js +295 -0
- package/lib/types/dsh-adapter/channel/background-action.d.ts +41 -0
- package/lib/types/dsh-adapter/channel/background-action.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/background-action.js +86 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +65 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/binding-events.js +169 -0
- package/lib/types/dsh-adapter/channel/binding.d.ts +41 -0
- package/lib/types/dsh-adapter/channel/binding.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/binding.js +227 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts +29 -0
- package/lib/types/dsh-adapter/channel/command-completions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/command-completions.js +94 -0
- package/lib/types/dsh-adapter/channel/commands.d.ts +8 -0
- package/lib/types/dsh-adapter/channel/commands.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/commands.js +9 -0
- package/lib/types/dsh-adapter/channel/compaction.d.ts +19 -0
- package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/compaction.js +116 -0
- package/lib/types/dsh-adapter/channel/composer-images.d.ts +57 -0
- package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/composer-images.js +217 -0
- package/lib/types/dsh-adapter/channel/composer-mentions.d.ts +15 -0
- package/lib/types/dsh-adapter/channel/composer-mentions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/composer-mentions.js +200 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts +26 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.js +30 -0
- package/lib/types/dsh-adapter/channel/decisions.d.ts +19 -0
- package/lib/types/dsh-adapter/channel/decisions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/decisions.js +90 -0
- package/lib/types/dsh-adapter/channel/emitter.d.ts +10 -0
- package/lib/types/dsh-adapter/channel/emitter.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/emitter.js +71 -0
- package/lib/types/dsh-adapter/channel/external-commands.d.ts +31 -0
- package/lib/types/dsh-adapter/channel/external-commands.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/external-commands.js +187 -0
- package/lib/types/dsh-adapter/channel/file-actions.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/file-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/file-actions.js +45 -0
- package/lib/types/dsh-adapter/channel/input-actions.d.ts +13 -0
- package/lib/types/dsh-adapter/channel/input-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/input-actions.js +135 -0
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts +37 -0
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/input-delivery.js +305 -0
- package/lib/types/dsh-adapter/channel/job-projection.d.ts +28 -0
- package/lib/types/dsh-adapter/channel/job-projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/job-projection.js +150 -0
- package/lib/types/dsh-adapter/channel/lifetime-resources.d.ts +9 -0
- package/lib/types/dsh-adapter/channel/lifetime-resources.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/lifetime-resources.js +33 -0
- package/lib/types/dsh-adapter/channel/loaded-context.d.ts +40 -0
- package/lib/types/dsh-adapter/channel/loaded-context.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/loaded-context.js +62 -0
- package/lib/types/dsh-adapter/channel/local-actions.d.ts +70 -0
- package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/local-actions.js +108 -0
- package/lib/types/dsh-adapter/channel/mentions.d.ts +29 -0
- package/lib/types/dsh-adapter/channel/mentions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/mentions.js +235 -0
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts +30 -0
- package/lib/types/dsh-adapter/channel/mode-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/mode-actions.js +247 -0
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts +35 -0
- package/lib/types/dsh-adapter/channel/mode-permission-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/mode-permission-actions.js +199 -0
- package/lib/types/dsh-adapter/channel/mode-permission.d.ts +58 -0
- package/lib/types/dsh-adapter/channel/mode-permission.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/mode-permission.js +240 -0
- package/lib/types/dsh-adapter/channel/mode-roster.d.ts +51 -0
- package/lib/types/dsh-adapter/channel/mode-roster.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/mode-roster.js +119 -0
- package/lib/types/dsh-adapter/channel/model-actions.d.ts +46 -0
- package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/model-actions.js +275 -0
- package/lib/types/dsh-adapter/channel/model-switch.d.ts +32 -0
- package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/model-switch.js +98 -0
- package/lib/types/dsh-adapter/channel/notifications.d.ts +9 -0
- package/lib/types/dsh-adapter/channel/notifications.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/notifications.js +24 -0
- package/lib/types/dsh-adapter/channel/owner.d.ts +18 -0
- package/lib/types/dsh-adapter/channel/owner.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/owner.js +73 -0
- package/lib/types/dsh-adapter/channel/paths.d.ts +31 -0
- package/lib/types/dsh-adapter/channel/paths.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/paths.js +147 -0
- package/lib/types/dsh-adapter/channel/permissions.d.ts +40 -0
- package/lib/types/dsh-adapter/channel/permissions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/permissions.js +187 -0
- package/lib/types/dsh-adapter/channel/preferences.d.ts +3 -0
- package/lib/types/dsh-adapter/channel/preferences.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/preferences.js +103 -0
- package/lib/types/dsh-adapter/channel/projection-helpers.d.ts +13 -0
- package/lib/types/dsh-adapter/channel/projection-helpers.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/projection-helpers.js +63 -0
- package/lib/types/dsh-adapter/channel/projection.d.ts +40 -0
- package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/projection.js +1021 -0
- package/lib/types/dsh-adapter/channel/reports.d.ts +32 -0
- package/lib/types/dsh-adapter/channel/reports.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/reports.js +171 -0
- package/lib/types/dsh-adapter/channel/session-actions.d.ts +13 -0
- package/lib/types/dsh-adapter/channel/session-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-actions.js +29 -0
- package/lib/types/dsh-adapter/channel/session-adoption.d.ts +32 -0
- package/lib/types/dsh-adapter/channel/session-adoption.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-adoption.js +35 -0
- package/lib/types/dsh-adapter/channel/session-fork.d.ts +19 -0
- package/lib/types/dsh-adapter/channel/session-fork.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-fork.js +85 -0
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +32 -0
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-live-adoption.js +62 -0
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts +81 -0
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-metadata.js +209 -0
- package/lib/types/dsh-adapter/channel/session-reset.d.ts +11 -0
- package/lib/types/dsh-adapter/channel/session-reset.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-reset.js +44 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts +56 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-resume.js +240 -0
- package/lib/types/dsh-adapter/channel/session-rewind.d.ts +19 -0
- package/lib/types/dsh-adapter/channel/session-rewind.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-rewind.js +128 -0
- package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts +19 -0
- package/lib/types/dsh-adapter/channel/session-tree-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-tree-actions.js +138 -0
- package/lib/types/dsh-adapter/channel/session-tree.d.ts +10 -0
- package/lib/types/dsh-adapter/channel/session-tree.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-tree.js +503 -0
- package/lib/types/dsh-adapter/channel/settings-host.d.ts +4 -0
- package/lib/types/dsh-adapter/channel/settings-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/settings-host.js +256 -0
- package/lib/types/dsh-adapter/channel/skill-catalog.d.ts +33 -0
- package/lib/types/dsh-adapter/channel/skill-catalog.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/skill-catalog.js +215 -0
- package/lib/types/dsh-adapter/channel/state.d.ts +46 -0
- package/lib/types/dsh-adapter/channel/state.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/state.js +31 -0
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts +47 -0
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/subagent-projection.js +140 -0
- package/lib/types/dsh-adapter/channel/transcript.d.ts +73 -0
- package/lib/types/dsh-adapter/channel/transcript.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/transcript.js +312 -0
- package/lib/types/dsh-adapter/channel/types.d.ts +162 -0
- package/lib/types/dsh-adapter/channel/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/types.js +1 -0
- package/lib/types/dsh-adapter/channel/usage.d.ts +13 -0
- package/lib/types/dsh-adapter/channel/usage.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/usage.js +48 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.d.ts +20 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.js +56 -0
- package/lib/types/dsh-adapter/channel-facade-actions.d.ts +25 -0
- package/lib/types/dsh-adapter/channel-facade-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel-facade-actions.js +55 -0
- package/lib/types/dsh-adapter/channel-scene-outlet.d.ts +6 -0
- package/lib/types/dsh-adapter/channel-scene-outlet.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel-scene-outlet.js +13 -0
- package/lib/types/dsh-adapter/channel-ui.d.ts +9 -0
- package/lib/types/dsh-adapter/channel-ui.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel-ui.js +128 -0
- package/lib/types/dsh-adapter/channel.d.ts +9 -1525
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -1
- package/lib/types/dsh-adapter/channel.js +753 -8145
- package/lib/types/dsh-adapter/command-trees.d.ts +1 -0
- package/lib/types/dsh-adapter/command-trees.d.ts.map +1 -1
- package/lib/types/dsh-adapter/command-trees.js +20 -1
- package/lib/types/dsh-adapter/compat/liveSession.d.ts +8 -4
- package/lib/types/dsh-adapter/compat/liveSession.d.ts.map +1 -1
- package/lib/types/dsh-adapter/compat/liveSession.js +28 -3
- package/lib/types/dsh-adapter/compat/persistence.d.ts +21 -0
- package/lib/types/dsh-adapter/compat/persistence.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/persistence.js +17 -0
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts +50 -11
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts.map +1 -1
- package/lib/types/dsh-adapter/compat/sessionLog.js +325 -36
- package/lib/types/dsh-adapter/component-identity.d.ts +1 -1
- package/lib/types/dsh-adapter/component-identity.d.ts.map +1 -1
- package/lib/types/dsh-adapter/component-identity.js +1 -1
- package/lib/types/dsh-adapter/contract.d.ts +11 -9
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -1
- package/lib/types/dsh-adapter/contract.js +19 -12
- package/lib/types/dsh-adapter/decision-guard.d.ts +56 -12
- package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/decision-guard.js +134 -22
- package/lib/types/dsh-adapter/dialogs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/dialogs.js +13 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts +5 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -1
- package/lib/types/dsh-adapter/effect-ledger.js +53 -15
- package/lib/types/dsh-adapter/extension-events.d.ts +2 -9
- package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -1
- package/lib/types/dsh-adapter/extension-events.js +0 -20
- package/lib/types/dsh-adapter/extensions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/extensions.js +3 -2
- package/lib/types/dsh-adapter/host-grants.d.ts +23 -0
- package/lib/types/dsh-adapter/host-grants.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-grants.js +45 -0
- package/lib/types/dsh-adapter/jobs.d.ts +2 -46
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -1
- package/lib/types/dsh-adapter/jobs.js +0 -25
- package/lib/types/dsh-adapter/message-observer.d.ts +15 -2
- package/lib/types/dsh-adapter/message-observer.d.ts.map +1 -1
- package/lib/types/dsh-adapter/message-observer.js +157 -28
- package/lib/types/dsh-adapter/plugin-host.d.ts +80 -11
- package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin-host.js +438 -41
- package/lib/types/dsh-adapter/plugin-storage.d.ts +11 -1
- package/lib/types/dsh-adapter/plugin-storage.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin-storage.js +150 -11
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugin.js +75 -34
- package/lib/types/dsh-adapter/plugins-info.d.ts +2 -2
- package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -1
- package/lib/types/dsh-adapter/plugins-info.js +11 -6
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -1
- package/lib/types/dsh-adapter/presets.js +3 -2
- package/lib/types/dsh-adapter/providerWizard.d.ts +2 -159
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -1
- package/lib/types/dsh-adapter/questions.d.ts +8 -0
- package/lib/types/dsh-adapter/questions.d.ts.map +1 -1
- package/lib/types/dsh-adapter/questions.js +18 -0
- package/lib/types/dsh-adapter/recap.d.ts +1 -9
- package/lib/types/dsh-adapter/recap.d.ts.map +1 -1
- package/lib/types/dsh-adapter/recap.js +0 -14
- package/lib/types/dsh-adapter/renderers.d.ts +1 -0
- package/lib/types/dsh-adapter/renderers.d.ts.map +1 -1
- package/lib/types/dsh-adapter/renderers.js +26 -1
- package/lib/types/dsh-adapter/scenes.d.ts +3 -1
- package/lib/types/dsh-adapter/scenes.d.ts.map +1 -1
- package/lib/types/dsh-adapter/scenes.js +31 -0
- package/lib/types/dsh-adapter/sessionTree.d.ts +14 -95
- package/lib/types/dsh-adapter/sessionTree.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessionTree.js +51 -36
- package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/digest.js +40 -19
- package/lib/types/dsh-adapter/sessions/frames.js +2 -0
- package/lib/types/dsh-adapter/sessions/index.d.ts +1 -1
- package/lib/types/dsh-adapter/sessions/index.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/index.js +1 -1
- package/lib/types/dsh-adapter/sessions/list.d.ts +23 -0
- package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/list.js +28 -17
- package/lib/types/dsh-adapter/sessions/store.d.ts +2 -2
- package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/store.js +12 -11
- package/lib/types/dsh-adapter/sessions/types.d.ts +4 -128
- package/lib/types/dsh-adapter/sessions/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/sessions/types.js +0 -13
- package/lib/types/dsh-adapter/settings-sections.d.ts +4 -95
- package/lib/types/dsh-adapter/settings-sections.d.ts.map +1 -1
- package/lib/types/dsh-adapter/settings-sections.js +50 -13
- package/lib/types/dsh-adapter/settingsEditor.d.ts +2 -36
- package/lib/types/dsh-adapter/settingsEditor.d.ts.map +1 -1
- package/lib/types/dsh-adapter/settingsEditor.js +0 -18
- package/lib/types/dsh-adapter/shortcuts.d.ts +5 -0
- package/lib/types/dsh-adapter/shortcuts.d.ts.map +1 -1
- package/lib/types/dsh-adapter/shortcuts.js +49 -0
- package/lib/types/dsh-adapter/status.d.ts +5 -0
- package/lib/types/dsh-adapter/status.d.ts.map +1 -1
- package/lib/types/dsh-adapter/status.js +29 -0
- package/lib/types/dsh-adapter/subagents.d.ts +9 -49
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -1
- package/lib/types/dsh-adapter/subagents.js +92 -1
- package/lib/types/dsh-adapter/themes.d.ts +1 -0
- package/lib/types/dsh-adapter/themes.d.ts.map +1 -1
- package/lib/types/dsh-adapter/themes.js +29 -0
- package/lib/types/dsh-adapter/toast.d.ts +13 -0
- package/lib/types/dsh-adapter/toast.d.ts.map +1 -1
- package/lib/types/dsh-adapter/toast.js +31 -1
- package/lib/types/dsh-adapter/trajectory/aggregate.d.ts +2 -1
- package/lib/types/dsh-adapter/trajectory/aggregate.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/aggregate.js +2 -1
- package/lib/types/dsh-adapter/trajectory/guards.d.ts +37 -18
- package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/guards.js +43 -5
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts +2 -2
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/projection.d.ts +31 -13
- package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -1
- package/lib/types/dsh-adapter/trajectory/projection.js +71 -14
- package/lib/types/dsh-adapter/trajectory/types.d.ts +1 -1
- package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -1
- package/lib/types/dsh-adapter/transcript-images.d.ts +2 -19
- package/lib/types/dsh-adapter/transcript-images.d.ts.map +1 -1
- package/lib/types/dsh-adapter/workspaces.d.ts +2 -49
- package/lib/types/dsh-adapter/workspaces.d.ts.map +1 -1
- package/lib/types/dsh-adapter/workspaces.js +23 -3
- package/lib/types/i18n.d.ts +19 -7
- package/lib/types/i18n.d.ts.map +1 -1
- package/lib/types/i18n.js +8 -3
- package/lib/types/ink/components/ScrollBox.d.ts.map +1 -1
- package/lib/types/ink/components/ScrollBox.js +30 -33
- package/lib/types/ink/dom.d.ts.map +1 -1
- package/lib/types/ink/dom.js +32 -64
- package/lib/types/ink/get-max-width.d.ts +7 -15
- package/lib/types/ink/get-max-width.d.ts.map +1 -1
- package/lib/types/ink/get-max-width.js +7 -20
- package/lib/types/ink/ink.d.ts +1 -0
- package/lib/types/ink/ink.d.ts.map +1 -1
- package/lib/types/ink/ink.js +22 -3
- package/lib/types/ink/layout/node.d.ts +2 -0
- package/lib/types/ink/layout/node.d.ts.map +1 -1
- package/lib/types/ink/layout/yoga.d.ts +1 -0
- package/lib/types/ink/layout/yoga.d.ts.map +1 -1
- package/lib/types/ink/layout/yoga.js +3 -0
- package/lib/types/ink/node-cache.d.ts +11 -0
- package/lib/types/ink/node-cache.d.ts.map +1 -1
- package/lib/types/ink/node-cache.js +3 -0
- package/lib/types/ink/output.d.ts +6 -1
- package/lib/types/ink/output.d.ts.map +1 -1
- package/lib/types/ink/output.js +55 -65
- package/lib/types/ink/render-node-to-output.d.ts +24 -1
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -1
- package/lib/types/ink/render-node-to-output.js +195 -71
- package/lib/types/ink/renderer.d.ts.map +1 -1
- package/lib/types/ink/renderer.js +14 -2
- package/lib/types/ink/styles.d.ts +12 -0
- package/lib/types/ink/styles.d.ts.map +1 -1
- package/lib/types/ink/tabstops.d.ts +3 -2
- package/lib/types/ink/tabstops.d.ts.map +1 -1
- package/lib/types/ink/tabstops.js +5 -4
- package/lib/types/ink/wrap-text.js +2 -2
- package/lib/types/modelGroups.d.ts +1 -1
- package/lib/types/modelGroups.d.ts.map +1 -1
- package/lib/types/modelRoute.js +1 -1
- package/lib/types/native-ts/yoga-layout/index.d.ts +8 -3
- package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -1
- package/lib/types/native-ts/yoga-layout/index.js +23 -8
- package/lib/types/plugin-host.d.ts +3 -4
- package/lib/types/plugin-host.d.ts.map +1 -1
- package/lib/types/plugin-host.js +8 -6
- package/lib/types/screens/AgentView.d.ts +1 -1
- package/lib/types/screens/AgentView.d.ts.map +1 -1
- package/lib/types/screens/Chat.d.ts +3 -2
- package/lib/types/screens/Chat.d.ts.map +1 -1
- package/lib/types/screens/Chat.js +91 -17
- package/lib/types/screens/SessionBrowser.d.ts +1 -1
- package/lib/types/screens/SessionBrowser.d.ts.map +1 -1
- package/lib/types/screens/SessionTree.d.ts +1 -1
- package/lib/types/screens/SessionTree.d.ts.map +1 -1
- package/lib/types/screens/Settings.d.ts +1 -1
- package/lib/types/screens/Settings.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.d.ts +1 -1
- package/lib/types/screens/StatusLine.d.ts.map +1 -1
- package/lib/types/screens/StatusLine.js +40 -1
- package/lib/types/screens/TrajectoryScene.d.ts +1 -1
- package/lib/types/screens/TrajectoryScene.d.ts.map +1 -1
- package/lib/types/sessionModes.d.ts +11 -15
- package/lib/types/sessionModes.d.ts.map +1 -1
- package/lib/types/sessionModes.js +11 -0
- package/lib/types/tuiDisplayPrefs.d.ts +2 -68
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -1
- package/lib/types/tuiDisplayPrefs.js +5 -1
- package/lib/types/utils/credentials.d.ts +13 -0
- package/lib/types/utils/credentials.d.ts.map +1 -0
- package/lib/types/utils/credentials.js +41 -0
- package/lib/types/utils/fileSuggestions.d.ts +2 -9
- package/lib/types/utils/fileSuggestions.d.ts.map +1 -1
- package/lib/types/utils/fold-long-lines.d.ts +38 -0
- package/lib/types/utils/fold-long-lines.d.ts.map +1 -0
- package/lib/types/utils/fold-long-lines.js +91 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/pi-ai.d.ts +1 -1
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/profiles.js +4 -0
- package/node_modules/@deepseek-harness-tui/dsh-auth/lib/service.js +15 -2
- package/node_modules/@deepseek-harness-tui/dsh-auth/package.json +10 -10
- package/package.json +125 -81
- package/presets/liangshen/.dsh-tui-managed.json +1 -1
- package/presets/liangshen/agent.cordis.yml +20 -4
- package/presets/liangshen/compaction-epoch.mjs +3 -1
- package/presets/liangshen/instruction-hint.mjs +2 -1
- package/presets/liangshen/session-events.mjs +8 -0
- package/lib/types/dsh-adapter/grants.d.ts.map +0 -1
- package/lib/types/dsh-adapter/host-descriptor.d.ts +0 -24
- package/lib/types/dsh-adapter/host-descriptor.d.ts.map +0 -1
- package/lib/types/dsh-adapter/host-descriptor.js +0 -169
- package/lib/types/dsh-adapter/plugin-test-utils.d.ts +0 -62
- package/lib/types/dsh-adapter/plugin-test-utils.d.ts.map +0 -1
- package/lib/types/dsh-adapter/plugin-test-utils.js +0 -61
- package/lib/types/plugin-spec/negotiate.d.ts.map +0 -1
- package/lib/types/plugin-spec/permission-scope.d.ts.map +0 -1
- package/lib/types/plugin-spec/registry.d.ts.map +0 -1
- package/lib/types/plugin-spec/schema-check.d.ts.map +0 -1
- package/lib/types/plugin-spec/tui-extension.d.ts +0 -16
- package/lib/types/plugin-spec/tui-extension.d.ts.map +0 -1
- package/lib/types/plugin-spec/tui-extension.js +0 -79
- package/lib/types/plugin-spec/types.d.ts.map +0 -1
- package/lib/types/plugin-spec/validate.d.ts.map +0 -1
- package/lib/types/test-utils.d.ts +0 -2
- package/lib/types/test-utils.d.ts.map +0 -1
- package/lib/types/test-utils.js +0 -8
- /package/lib/types/{plugin-spec → adapter/standard}/negotiate.d.ts +0 -0
- /package/lib/types/{plugin-spec → adapter/standard}/negotiate.js +0 -0
- /package/lib/types/{plugin-spec → adapter/standard}/registry.d.ts +0 -0
- /package/lib/types/{plugin-spec → adapter/standard}/schema-check.d.ts +0 -0
- /package/lib/types/{plugin-spec → adapter/standard}/types.js +0 -0
|
@@ -9,7 +9,6 @@ import { envThemeOverride } from '../components/design-system/ThemeProvider.js';
|
|
|
9
9
|
import { hasPath } from '../dsh-adapter/settingsEditor.js';
|
|
10
10
|
import { planReload } from '../reload.js';
|
|
11
11
|
import { AlternateScreen, Box, Image, Text, useInput, ScrollBox, useTheme, useTerminalSize } from '../ui.js';
|
|
12
|
-
import * as tuiKit from '../ui.js';
|
|
13
12
|
import { usePageInset } from '../components/PageMargin.js';
|
|
14
13
|
import { POINTER } from '../terminal-utils/figures.js';
|
|
15
14
|
import { isPlainReturnInput, modLabel } from '../utils/modifiers.js';
|
|
@@ -205,7 +204,7 @@ let fallbackStatusStore;
|
|
|
205
204
|
function peekKey(image, title) {
|
|
206
205
|
return `${title ?? ''} ${image.id}`;
|
|
207
206
|
}
|
|
208
|
-
export function Chat({ channel, questionStore, approvalStore, extensionDialogs, extensionStatus, extensionShortcuts, themeHost, onExit, onUpdate, onRestart, fullscreen = false, trajectorySeen: trajectorySeenProp, injectControllerRef, }) {
|
|
207
|
+
export function Chat({ channel, questionStore, approvalStore, extensionDialogs, extensionStatus, extensionShortcuts, themeHost, onExit, onUpdate, onRestart, fullscreen = false, trajectorySeen: trajectorySeenProp, injectControllerRef, renderScene, }) {
|
|
209
208
|
const writeRaw = React.useContext(TerminalWriteContext);
|
|
210
209
|
// Re-render whenever the channel mutates; rows/status are read fresh below.
|
|
211
210
|
// DEFAULT lane on purpose (useExternalVersion): the channel version bumps
|
|
@@ -456,8 +455,19 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
456
455
|
}, [channel]);
|
|
457
456
|
const balanceSessionId = channel.agentId;
|
|
458
457
|
React.useEffect(() => {
|
|
458
|
+
// Retire every in-flight /balance completion from the previous binding;
|
|
459
|
+
// the balance seam has no UI session id in its readonly DTO.
|
|
460
|
+
balanceSeqRef.current += 1;
|
|
459
461
|
setBalance(null);
|
|
460
462
|
}, [balanceSessionId]);
|
|
463
|
+
// A side question belongs to its captured session just like a recap. Chat
|
|
464
|
+
// remains mounted across /resume, so explicitly retire its request/UI when
|
|
465
|
+
// the binding changes instead of allowing a former conversation to finish.
|
|
466
|
+
React.useEffect(() => {
|
|
467
|
+
btwAbortRef.current?.abort();
|
|
468
|
+
btwAbortRef.current = null;
|
|
469
|
+
setBtw(null);
|
|
470
|
+
}, [channel.agentId]);
|
|
461
471
|
// Auto-recap (`dsh-tui.recapOnOpen`): every time the session switches
|
|
462
472
|
// (mount = open/resume, rewind/fork included), summarize its tail into
|
|
463
473
|
// the dim AutoRecapRow. Failures stay silent in auto mode — `/recap`
|
|
@@ -491,6 +501,9 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
491
501
|
return null;
|
|
492
502
|
return { ...prev, summary: result.summary, title: result.title, error: result.error, done: true };
|
|
493
503
|
});
|
|
504
|
+
}).catch(() => {
|
|
505
|
+
if (!controller.signal.aborted)
|
|
506
|
+
setRecap(null);
|
|
494
507
|
});
|
|
495
508
|
return () => controller.abort();
|
|
496
509
|
}, [autoRecapSessionId]);
|
|
@@ -562,6 +575,9 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
562
575
|
/** Subagent dashboard (Ctrl+A): displays active/completed subagents. */
|
|
563
576
|
const [subagentDashboardOpen, setSubagentDashboardOpen] = React.useState(false);
|
|
564
577
|
const [jobsPanelOpen, setJobsPanelOpen] = React.useState(false);
|
|
578
|
+
// MessageList forwards these open handlers to every memoized row. Their
|
|
579
|
+
// identities must survive token/metrics updates, including for tool rows.
|
|
580
|
+
const openJobsPanel = React.useCallback(() => setJobsPanelOpen(true), []);
|
|
565
581
|
/** Detail view for a specific subagent (opened from dashboard). */
|
|
566
582
|
const [subagentDetailId, setSubagentDetailId] = React.useState(null);
|
|
567
583
|
/**
|
|
@@ -603,18 +619,21 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
603
619
|
const loadedContextVisible = channel.rows.length === 0 && channel.loadedContext !== undefined;
|
|
604
620
|
/** Startup context panel: collapsed by default, toggled with Ctrl+P. */
|
|
605
621
|
const [loadedContextOpen, setLoadedContextOpen] = React.useState(false);
|
|
606
|
-
/**
|
|
607
|
-
* The context panel changes the height of the main-screen transcript by a
|
|
608
|
-
* large amount. In inline mode that invalidates the renderer's previous
|
|
609
|
-
* scrollback/layout correspondence; asking it to repaint from the physical
|
|
610
|
-
* viewport prevents the collapsed frame from reusing stale blank cells.
|
|
611
|
-
*/
|
|
612
622
|
const toggleLoadedContext = React.useCallback(() => {
|
|
613
623
|
setLoadedContextOpen(previous => !previous);
|
|
624
|
+
}, []);
|
|
625
|
+
const renderedLoadedContextOpen = React.useRef(loadedContextOpen);
|
|
626
|
+
React.useLayoutEffect(() => {
|
|
627
|
+
if (renderedLoadedContextOpen.current === loadedContextOpen)
|
|
628
|
+
return;
|
|
629
|
+
renderedLoadedContextOpen.current = loadedContextOpen;
|
|
630
|
+
// Reanchor after the new panel geometry commits. Requesting it in the
|
|
631
|
+
// key handler lets a pending paint consume it on the old tall layout,
|
|
632
|
+
// leaving the collapsed summary stranded outside the physical viewport.
|
|
614
633
|
const ink = instances.get(process.stdout) ?? instances.values().next().value;
|
|
615
634
|
ink?.invalidatePrevFrame();
|
|
616
635
|
ink?.reanchorViewport();
|
|
617
|
-
}, []);
|
|
636
|
+
}, [loadedContextOpen]);
|
|
618
637
|
/**
|
|
619
638
|
* Click-to-act targets: the Ink instance's hyperlink-open callback (wired
|
|
620
639
|
* in the effect below) resolves every clickable target the transcript
|
|
@@ -2103,6 +2122,10 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
2103
2122
|
done: true,
|
|
2104
2123
|
}
|
|
2105
2124
|
: prev));
|
|
2125
|
+
}).catch(error => {
|
|
2126
|
+
if (controller.signal.aborted)
|
|
2127
|
+
return;
|
|
2128
|
+
setRecap(prev => prev ? { ...prev, error: error instanceof Error ? error.message : String(error), done: true } : prev);
|
|
2106
2129
|
});
|
|
2107
2130
|
return true;
|
|
2108
2131
|
}
|
|
@@ -2126,6 +2149,10 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
2126
2149
|
if (controller.signal.aborted)
|
|
2127
2150
|
return;
|
|
2128
2151
|
setBtw(prev => (prev ? { ...prev, answer: result.answer ?? prev.answer, error: result.error, done: true } : prev));
|
|
2152
|
+
}).catch(error => {
|
|
2153
|
+
if (controller.signal.aborted)
|
|
2154
|
+
return;
|
|
2155
|
+
setBtw(prev => prev ? { ...prev, error: error instanceof Error ? error.message : String(error), done: true } : prev);
|
|
2129
2156
|
});
|
|
2130
2157
|
return true;
|
|
2131
2158
|
}
|
|
@@ -2453,6 +2480,12 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
2453
2480
|
// Subagent dashboard or detail scene: it owns the keyboard while open.
|
|
2454
2481
|
if (subagentDashboardOpen || subagentDetailId !== null)
|
|
2455
2482
|
return;
|
|
2483
|
+
// The `/jobs` panel replaces the conversation too, so it owns Esc (close)
|
|
2484
|
+
// and k (kill) while open. Unguarded, Esc meant to CLOSE the panel also
|
|
2485
|
+
// reached the chat:cancel branch below whenever a turn was in flight —
|
|
2486
|
+
// dismissing the panel and killing the turn with one key.
|
|
2487
|
+
if (jobsPanelOpen)
|
|
2488
|
+
return;
|
|
2456
2489
|
// A plugin scene (dsh-tui-scenes) or the trajectory scene owns the whole
|
|
2457
2490
|
// screen while open: every key belongs to it. Unguarded, an Esc meant to
|
|
2458
2491
|
// CLOSE the scene also reached the chat:cancel branch below whenever a
|
|
@@ -2490,6 +2523,48 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
2490
2523
|
event.stopImmediatePropagation();
|
|
2491
2524
|
return;
|
|
2492
2525
|
}
|
|
2526
|
+
// PgUp/PgDn page the transcript a full viewport at a time — the keyboard
|
|
2527
|
+
// counterpart of the wheel branch above. Without it, a fullscreen session
|
|
2528
|
+
// has no keyboard route to scrollback at all: the alt screen holds no
|
|
2529
|
+
// native scrollback (see MessageList's historyPaint gate), so a mouse-less
|
|
2530
|
+
// user cannot reach an earlier turn.
|
|
2531
|
+
//
|
|
2532
|
+
// Fullscreen only, on purpose. Inline mode paints committed history onto
|
|
2533
|
+
// the main screen, so the terminal's OWN scrollback owns these keys there;
|
|
2534
|
+
// claiming them would break paging that already works, exactly like the
|
|
2535
|
+
// wheel branch above is a no-op inline.
|
|
2536
|
+
//
|
|
2537
|
+
// Routing mirrors the wheel branch: help stays yielded (PromptInput pages
|
|
2538
|
+
// its help viewport with the same keys) and open pickers/dialogs are modal,
|
|
2539
|
+
// so the transcript behind them must not move. Every guard above (session
|
|
2540
|
+
// tree, settings, scenes, dashboards) already claimed the keyboard — those
|
|
2541
|
+
// surfaces page their own lists with these keys.
|
|
2542
|
+
//
|
|
2543
|
+
// The question/approval/dialog panels deliberately do NOT yield: like the
|
|
2544
|
+
// wheel branch above (whose comment spells this out), those panels mount
|
|
2545
|
+
// BELOW the transcript — replacing the prompt, not covering it — so the
|
|
2546
|
+
// transcript above them stays visible and scrollable while a decision is
|
|
2547
|
+
// pending. The panels bind ↑/↓/Space/Tab/Enter/Esc and never these keys,
|
|
2548
|
+
// so paging cannot steal anything from them.
|
|
2549
|
+
if ((key.pageUp || key.pageDown) && fullscreen) {
|
|
2550
|
+
if (helpOpen)
|
|
2551
|
+
return;
|
|
2552
|
+
const overlayModal = overlay.kind !== 'none' &&
|
|
2553
|
+
(overlay.kind !== 'workspace-picker' || workspaceTargets.length > 0);
|
|
2554
|
+
if (overlayModal)
|
|
2555
|
+
return;
|
|
2556
|
+
// One less than the viewport keeps a row of context so a page never
|
|
2557
|
+
// reads as a blank jump; a not-yet-measured handle falls back to a
|
|
2558
|
+
// fixed page rather than paging by 0 (a dead key). The final page
|
|
2559
|
+
// overshoots and the renderer clamps it exactly onto maxScroll, whose
|
|
2560
|
+
// positional at-bottom restore re-pins sticky (the #421/#422 wheel
|
|
2561
|
+
// contract) — so paging back home clears the new-messages pill too.
|
|
2562
|
+
const viewport = handle?.getViewportHeight() ?? 0;
|
|
2563
|
+
const page = viewport > 1 ? viewport - 1 : 12;
|
|
2564
|
+
handle?.scrollBy(key.pageUp ? -page : page);
|
|
2565
|
+
event.stopImmediatePropagation();
|
|
2566
|
+
return;
|
|
2567
|
+
}
|
|
2493
2568
|
// Help is modal over Chat. Chat's listener registers before PromptInput's,
|
|
2494
2569
|
// so yield every remaining key before any global/custom shortcut, search,
|
|
2495
2570
|
// selection, or working-turn cancellation branch can mutate hidden state.
|
|
@@ -3316,12 +3391,7 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
3316
3391
|
const node = (_jsx(PluginSceneBoundary, { id: pluginScene.id, onError: (id, error) => {
|
|
3317
3392
|
channel.notify(t('plugin-scene-crashed', { id, err: error.message }), { color: 'error' });
|
|
3318
3393
|
channel.closePluginScene();
|
|
3319
|
-
}, children:
|
|
3320
|
-
React,
|
|
3321
|
-
ui: tuiKit,
|
|
3322
|
-
channel,
|
|
3323
|
-
close: () => channel.closePluginScene(),
|
|
3324
|
-
}) }));
|
|
3394
|
+
}, children: renderScene ? renderScene(pluginScene.id, channel) : _jsxs(Text, { children: ["Scene unavailable: ", pluginScene.id] }) }));
|
|
3325
3395
|
return fullscreen ? node : _jsx(AlternateScreen, { children: node });
|
|
3326
3396
|
}
|
|
3327
3397
|
// The agent view is a screen like the browser: it REPLACES the
|
|
@@ -3498,7 +3568,7 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
3498
3568
|
// sessions keep the full intro; restored ones settle instantly.
|
|
3499
3569
|
// A remount after a whole screen closed also settles instantly
|
|
3500
3570
|
// (see suppressLogoIntroRef).
|
|
3501
|
-
skipIntro: suppressLogoIntroRef.current || channel.rows.length > 30 }, logoNonce), loadedContextVisible && (_jsx(LoadedContextPanel, { context: channel.loadedContext, open: loadedContextOpen, onToggle: toggleLoadedContext })), _jsx(MessageList, { rows: channel.rows, failureHintRowId: failureHintRowId, failureHint: t('traj-hint-failure', { key: `${modLabel}t` }), expanded: expanded, expandedRows: expandedRows, selectedId: selectionActive ? selectedId : null, onToggleRow: toggleRowExpanded, streamViewToggledRows: streamViewToggledRows, onToggleStreamView: toggleStreamView, model: channel.model, diffLayout: channel.diffLayout, thinkingFold: channel.thinkingFold, toolBackground: channel.toolBackground, foldTerminalCommand: channel.foldTerminalCommand, smoothStreaming: channel.smoothStreaming, activityFrames: channel.activityFrames, showAll: showAllMessages, thinkingVisible: thinkingVisible, historyPaintEnabled: !fullscreen, onToggleAll: () => { setShowAllMessages(previous => !previous); }, onLoadOlder: () => channel.loadOlder(), registerRowRef: registerRowRef, scrollHandle: handle, forceMountRowId: forceMountRowId, newSinceRowId: isSticky ? null : lastSeenRowIdRef.current, onUnseenCount: setUnseenCount, onTimeline: setTimeline, onOpenSubagent:
|
|
3571
|
+
skipIntro: suppressLogoIntroRef.current || channel.rows.length > 30 }, logoNonce), loadedContextVisible && (_jsx(LoadedContextPanel, { context: channel.loadedContext, open: loadedContextOpen, onToggle: toggleLoadedContext })), _jsx(MessageList, { rows: channel.rows, failureHintRowId: failureHintRowId, failureHint: t('traj-hint-failure', { key: `${modLabel}t` }), expanded: expanded, expandedRows: expandedRows, selectedId: selectionActive ? selectedId : null, onToggleRow: toggleRowExpanded, streamViewToggledRows: streamViewToggledRows, onToggleStreamView: toggleStreamView, model: channel.model, diffLayout: channel.diffLayout, thinkingFold: channel.thinkingFold, toolBackground: channel.toolBackground, foldTerminalCommand: channel.foldTerminalCommand, smoothStreaming: channel.smoothStreaming, activityFrames: channel.activityFrames, showAll: showAllMessages, thinkingVisible: thinkingVisible, historyPaintEnabled: !fullscreen, onToggleAll: () => { setShowAllMessages(previous => !previous); }, onLoadOlder: () => channel.loadOlder(), registerRowRef: registerRowRef, scrollHandle: handle, forceMountRowId: forceMountRowId, newSinceRowId: isSticky ? null : lastSeenRowIdRef.current, onUnseenCount: setUnseenCount, onTimeline: setTimeline, onOpenSubagent: setSubagentDetailId, onOpenJobs: openJobsPanel, onOpenFile: openFileActions, onPreviewImage: openImagePreview, suppressImageGraphics: activePreview !== null })] }), (() => {
|
|
3502
3572
|
// Gutter mode (settings `dsh-tui.scrollGutter`): the timeline
|
|
3503
3573
|
// rail (default), the proportional scrollbar, or nothing. The
|
|
3504
3574
|
// slot keeps its 2 columns in both rendered modes (Qwen's
|
|
@@ -3705,7 +3775,11 @@ export function Chat({ channel, questionStore, approvalStore, extensionDialogs,
|
|
|
3705
3775
|
* ScrollBox never shifts when the text changes.
|
|
3706
3776
|
*/
|
|
3707
3777
|
function PinnedTurnHeader({ text, onClick, }) {
|
|
3708
|
-
|
|
3778
|
+
const { columns } = useTerminalSize();
|
|
3779
|
+
// A one-row Box does not clip its children. Flatten hard line breaks before
|
|
3780
|
+
// truncating, otherwise later prompt lines paint down the transcript gutter.
|
|
3781
|
+
const label = cleanRenderText(`${POINTER} ${text}`, Math.max(1, columns - 1));
|
|
3782
|
+
return (_jsx(Box, { flexShrink: 0, width: "100%", height: 1, overflow: "hidden", paddingRight: 1, onClick: onClick, children: _jsx(Text, { color: "userPromptLabel", bold: true, wrap: "truncate-end", children: label }) }));
|
|
3709
3783
|
}
|
|
3710
3784
|
/** The `↓ N new messages` pill shown while scrolled up with new content. */
|
|
3711
3785
|
function NewMessagesPill({ count, onClick, }) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionBrowser.d.ts","sourceRoot":"","sources":["../../../src/screens/SessionBrowser.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AA+BzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SessionBrowser.d.ts","sourceRoot":"","sources":["../../../src/screens/SessionBrowser.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AA+BzB,OAAO,KAAK,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAA;AA+E3E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,IAAI,EACJ,WAAW,EACX,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAA;IACZ,4EAA4E;IAC5E,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,OAAO,CAAA;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,GAAG,KAAK,CAAC,SAAS,CAw/BlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Channel } from '../
|
|
2
|
+
import type { ChannelUi as Channel } from '../adapter/channel/ui-policy.js';
|
|
3
3
|
/**
|
|
4
4
|
* The session family tree — `/tree` as a screen of its own (pi's Session
|
|
5
5
|
* Tree over DSH's cross-session fork model).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SessionTree.d.ts","sourceRoot":"","sources":["../../../src/screens/SessionTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SessionTree.d.ts","sourceRoot":"","sources":["../../../src/screens/SessionTree.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,KAAK,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAA;AA8I3E;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,gBAAgB,EAChB,OAAO,EACP,aAAa,GACd,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,sEAAsE;IACtE,gBAAgB,EAAE,MAAM,CAAA;IACxB,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,yEAAyE;IACzE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACtC,GAAG,KAAK,CAAC,SAAS,CA6flB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../src/screens/Settings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"Settings.d.ts","sourceRoot":"","sources":["../../../src/screens/Settings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,KAAK,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAuP3E;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,QAAQ,CAAC,EACvB,OAAO,EACP,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,GAAG,KAAK,CAAC,SAAS,CAgiBlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import type { Channel } from '../
|
|
2
|
+
import type { ChannelUi as Channel } from '../adapter/channel/ui-policy.js';
|
|
3
3
|
import type { WaveBand } from '../dsh-adapter/types.js';
|
|
4
4
|
export declare function StatusLine({ channel, selectionActive, helpOpen, wake, }: {
|
|
5
5
|
channel: Channel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StatusLine.d.ts","sourceRoot":"","sources":["../../../src/screens/StatusLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"StatusLine.d.ts","sourceRoot":"","sources":["../../../src/screens/StatusLine.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,OAAO,KAAK,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAA;AAe3E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAoHvD,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,eAAuB,EACvB,QAAgB,EAChB,IAAI,GACL,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACvD,qBAoZA;AAED,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,EAAE,MAAM,CAAA;CACnB,CAAA;AAuKD,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAKvF"}
|
|
@@ -18,6 +18,45 @@ import { TooltipTarget } from '../components/Tooltip.js';
|
|
|
18
18
|
import { formatProject } from '../sessions/format.js';
|
|
19
19
|
import { homeDir } from '../utils/paths.js';
|
|
20
20
|
import { USED_SEGMENTS, renderMiniContextBar, renderTpsGauge, renderTpsSparkline, speedColor, tpsStats, } from './StatusMetrics.js';
|
|
21
|
+
/**
|
|
22
|
+
* The footer under the prompt input: the segmented context progress bar on
|
|
23
|
+
* its own first line, the
|
|
24
|
+
* status line below (left group: model · tokens · think level · cache · tps
|
|
25
|
+
* gauge/sparkline; right group: git · cwd · title · short session id,
|
|
26
|
+
* right-aligned), and the
|
|
27
|
+
* mode/hint line last. The right side of the footer shows the latest
|
|
28
|
+
* transient notification (errors in red, warnings in amber).
|
|
29
|
+
*
|
|
30
|
+
* Every metric field is hover-aware (fullscreen mouse): dwelling on a field
|
|
31
|
+
* swaps the ctx readout for a mini pressure gauge and parks that field's
|
|
32
|
+
* detailed breakdown on the supplemental row where the idle hint lives —
|
|
33
|
+
* the footer stays one line tall, the detail is a peek, not a layout
|
|
34
|
+
* change. Hovering a context-bar segment does the same for that segment.
|
|
35
|
+
*/
|
|
36
|
+
/**
|
|
37
|
+
* Minimal mode's footer config. It ignores every SAVED preference (built from
|
|
38
|
+
* scratch rather than `normalizeStatusBar(channel.statusBar)`) and pins the
|
|
39
|
+
* DECORATION switches OFF — the shared defaults are free to change
|
|
40
|
+
* (`contextBar` became default-on in 2026-09) and minimal mode must not follow
|
|
41
|
+
* them into the footer.
|
|
42
|
+
*
|
|
43
|
+
* The metric fields keep their `DEFAULT_STATUS_BAR` values on purpose: minimal
|
|
44
|
+
* mode has ALWAYS shown the default-on metrics (thinking / contextUsage /
|
|
45
|
+
* cache / cost / goal) next to model + cwd — that predates the long-line fold
|
|
46
|
+
* and the context-bar flip, and trimming them further is a product decision,
|
|
47
|
+
* not a regression fix. Module scope: one frozen object, no per-render
|
|
48
|
+
* allocation.
|
|
49
|
+
*/
|
|
50
|
+
const MINIMAL_STATUS_BAR = Object.freeze({
|
|
51
|
+
...DEFAULT_STATUS_BAR,
|
|
52
|
+
compact: true,
|
|
53
|
+
model: true,
|
|
54
|
+
cwd: true,
|
|
55
|
+
contextBar: false,
|
|
56
|
+
activity: false,
|
|
57
|
+
trajectory: false,
|
|
58
|
+
shortcutHint: false,
|
|
59
|
+
});
|
|
21
60
|
/**
|
|
22
61
|
* Render field parts as sibling shrinkable Boxes joined by the Byline
|
|
23
62
|
* separator (` · `). The Box-per-field layout is what makes individual
|
|
@@ -42,7 +81,7 @@ export function StatusLine({ channel, selectionActive = false, helpOpen = false,
|
|
|
42
81
|
const statusBar = channel.minimal
|
|
43
82
|
// Minimal mode overrides every field switch: model + cwd only, so the
|
|
44
83
|
// footer can never grow decorations regardless of saved preferences.
|
|
45
|
-
?
|
|
84
|
+
? MINIMAL_STATUS_BAR
|
|
46
85
|
: normalizeStatusBar(channel.statusBar);
|
|
47
86
|
// Provider workspaces expose a remote display path alongside a host alias;
|
|
48
87
|
// only the local target has identical cwd/displayCwd values to fold.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type TrajBuild } from '../dsh-adapter/trajectory/index.js';
|
|
3
|
-
import type { Channel } from '../
|
|
3
|
+
import type { ChannelUi as Channel } from '../adapter/channel/ui-policy.js';
|
|
4
4
|
export type TrajectoryView = 'timeline' | 'hotspot';
|
|
5
5
|
export declare function TrajectoryScene({ channel, build, onClose, }: {
|
|
6
6
|
channel: Channel;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrajectoryScene.d.ts","sourceRoot":"","sources":["../../../src/screens/TrajectoryScene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAML,KAAK,SAAS,EACf,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"TrajectoryScene.d.ts","sourceRoot":"","sources":["../../../src/screens/TrajectoryScene.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAezB,OAAO,EAML,KAAK,SAAS,EACf,MAAM,oCAAoC,CAAA;AAE3C,OAAO,KAAK,EAAE,SAAS,IAAI,OAAO,EAAE,MAAM,iCAAiC,CAAA;AA+B3E,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,SAAS,CAAA;AAEnD,wBAAgB,eAAe,CAAC,EAC9B,OAAO,EACP,KAAK,EACL,OAAO,GACR,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB;;;;OAIG;IACH,KAAK,EAAE,SAAS,CAAA;IAChB,sDAAsD;IACtD,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,GAAG,KAAK,CAAC,SAAS,CA2hBlB"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* localized built-in (`default`/`plan`/`full`). */
|
|
4
|
-
id: string;
|
|
5
|
-
/** Optional display label; wins over the built-in i18n name. */
|
|
6
|
-
label?: string;
|
|
7
|
-
/** Plan mode on/off (dsh-plan-mode `/plan`). */
|
|
8
|
-
plan?: boolean;
|
|
9
|
-
/** Sandbox mode override (dsh-sandbox-policy `sandbox/mode`). */
|
|
10
|
-
sandbox?: 'read-only' | 'workspace-write' | 'danger-full-access';
|
|
11
|
-
/** Approval policy override (dsh-user-approval `approval/policy`). */
|
|
12
|
-
approval?: 'ask' | 'never';
|
|
13
|
-
/** Durable DSH permission preset identity (`permission/preset`). */
|
|
14
|
-
permission?: string;
|
|
15
|
-
}
|
|
1
|
+
import type { SessionModeSpec } from './adapter/ports/channel-display.js';
|
|
2
|
+
export type { SessionModeSpec } from './adapter/ports/channel-display.js';
|
|
16
3
|
/** The shipped cycle when cordis.yml pins no `modes` — array order IS the
|
|
17
4
|
* Shift+Tab cycle order; index 0 is the unmarked base mode. */
|
|
18
5
|
export declare const DEFAULT_SESSION_MODES: readonly SessionModeSpec[];
|
|
@@ -84,4 +71,13 @@ export declare function resolveSessionModes(raw: readonly SessionModeSpec[] | un
|
|
|
84
71
|
/** Display name: explicit `label` > built-in i18n (`mode-default`/
|
|
85
72
|
* `mode-plan`/`mode-full` for those ids) > the raw id. */
|
|
86
73
|
export declare function modeDisplayName(spec: SessionModeSpec): string;
|
|
74
|
+
/**
|
|
75
|
+
* One dynamic Shift+Tab entry for a runtime permission preset. The id is
|
|
76
|
+
* namespaced so it can never collide with a configured mode id, the label
|
|
77
|
+
* carries the registry's display name, and the entry declares NO atoms: a
|
|
78
|
+
* dynamic preset is selected through its durable `permission/preset`
|
|
79
|
+
* identity only, never by an atom wildcard match (which would steal the
|
|
80
|
+
* indicator on sessions that never held that identity).
|
|
81
|
+
*/
|
|
82
|
+
export declare function permissionModeSpec(option: PermissionRosterOptionLike): SessionModeSpec;
|
|
87
83
|
//# sourceMappingURL=sessionModes.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessionModes.d.ts","sourceRoot":"","sources":["../../src/sessionModes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sessionModes.d.ts","sourceRoot":"","sources":["../../src/sessionModes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,YAAY,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAYzE;gEACgE;AAChE,eAAO,MAAM,qBAAqB,EAAE,SAAS,eAAe,EAI3D,CAAA;AAED;;;0CAG0C;AAC1C,eAAO,MAAM,4BAA4B,EAAE,WAAW,CAAC,MAAM,CAI3D,CAAA;AAEF,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B,EAAE,SAAS;IAClD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAA;IAC/D,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAA;CAC1B,EAIA,CAAA;AAED,0EAA0E;AAC1E,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAC9B;AAED,mEAAmE;AACnE,eAAO,MAAM,2BAA2B,EAAE,WAAW,CAAC,MAAM,CAAiC,CAAA;AAE7F;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,EAC/D,QAAQ,EAAE,KAAK,GAAG,OAAO,EACzB,MAAM,CAAC,EAAE,SAAS;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,GAAG,OAAO,CAAA;CAAE,EAAE,GAClI,MAAM,GAAG,SAAS,CAQpB;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,SAAS,MAAM,EAAE,EAC3B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,SAAS,MAAM,EAAE,CAiBnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,0BAA0B,EAClC,qBAAqB,EAAE,WAAW,CAAC,MAAM,CAAC,GACzC;IAAE,QAAQ,EAAE,IAAI,CAAC;IAAC,MAAM,EAAE,0BAA0B,CAAA;CAAE,GAAG;IAAE,QAAQ,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAK9F;AAED;;;;;;;kEAOkE;AAClE,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,SAAS,eAAe,EAAE,GAAG,SAAS,GAAG;IAChF,KAAK,EAAE,SAAS,eAAe,EAAE,CAAA;IACjC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAC3B,CAgBA;AAED;2DAC2D;AAC3D,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,MAAM,CAM7D;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,GAAG,eAAe,CAEtF"}
|
|
@@ -128,3 +128,14 @@ export function modeDisplayName(spec) {
|
|
|
128
128
|
return t('mode-full');
|
|
129
129
|
return spec.id;
|
|
130
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* One dynamic Shift+Tab entry for a runtime permission preset. The id is
|
|
133
|
+
* namespaced so it can never collide with a configured mode id, the label
|
|
134
|
+
* carries the registry's display name, and the entry declares NO atoms: a
|
|
135
|
+
* dynamic preset is selected through its durable `permission/preset`
|
|
136
|
+
* identity only, never by an atom wildcard match (which would steal the
|
|
137
|
+
* indicator on sessions that never held that identity).
|
|
138
|
+
*/
|
|
139
|
+
export function permissionModeSpec(option) {
|
|
140
|
+
return { id: `permission:${option.value}`, label: option.name, permission: option.value };
|
|
141
|
+
}
|
|
@@ -1,54 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export type ToolBackground
|
|
3
|
-
/**
|
|
4
|
-
* What the fullscreen transcript's right gutter shows:
|
|
5
|
-
* - `timeline`: Grok-style turn rail — one tick per user turn (conversation
|
|
6
|
-
* order, not scroll proportion), active turn highlighted, click to jump;
|
|
7
|
-
* - `scrollbar`: classic proportional thumb — position/size of the visible
|
|
8
|
-
* window over the whole content, click the track to scroll there;
|
|
9
|
-
* - `hidden`: no gutter; the transcript takes the full width.
|
|
10
|
-
*/
|
|
11
|
-
export type ScrollGutterMode = 'timeline' | 'scrollbar' | 'hidden';
|
|
12
|
-
/** Individually selectable fields in the status footer. */
|
|
13
|
-
export interface StatusBarConfig {
|
|
14
|
-
/** Prefer the compact, single-line presentation when space permits. */
|
|
15
|
-
compact: boolean;
|
|
16
|
-
/** Live model id. */
|
|
17
|
-
model: boolean;
|
|
18
|
-
/** Reasoning effort / thinking mode. */
|
|
19
|
-
thinking: boolean;
|
|
20
|
-
/** Session working directory. */
|
|
21
|
-
cwd: boolean;
|
|
22
|
-
/** Current context-window consumption. */
|
|
23
|
-
contextUsage: boolean;
|
|
24
|
-
/** Prompt-cache hit rate. */
|
|
25
|
-
cache: boolean;
|
|
26
|
-
/** Running input/output token totals. */
|
|
27
|
-
tokens: boolean;
|
|
28
|
-
/** Estimated session spend (≈¥, DeepSeek official pricing — only shown
|
|
29
|
-
* for official DeepSeek providers whose model has a known price). */
|
|
30
|
-
cost: boolean;
|
|
31
|
-
/** Live and recent output speed. */
|
|
32
|
-
tps: boolean;
|
|
33
|
-
/** Current git branch. */
|
|
34
|
-
gitBranch: boolean;
|
|
35
|
-
/** Current session title. */
|
|
36
|
-
sessionTitle: boolean;
|
|
37
|
-
/** Short session id (# + first 8 chars), matching the session log filename. */
|
|
38
|
-
sessionId: boolean;
|
|
39
|
-
/** Compact goal chip (phase glyph + rounds) while a goal exists. */
|
|
40
|
-
goal: boolean;
|
|
41
|
-
/** Non-default session mode. */
|
|
42
|
-
mode: boolean;
|
|
43
|
-
/** Segmented context progress bar on its own footer row. */
|
|
44
|
-
contextBar: boolean;
|
|
45
|
-
/** Idle working-activity summary. */
|
|
46
|
-
activity: boolean;
|
|
47
|
-
/** Mini trajectory wake rendered at the footer's right edge. */
|
|
48
|
-
trajectory: boolean;
|
|
49
|
-
/** Idle `? for shortcuts` reminder; shortcut keys remain available when hidden. */
|
|
50
|
-
shortcutHint: boolean;
|
|
51
|
-
}
|
|
1
|
+
import type { ToolBackground, ScrollGutterMode, PageMarginSetting, PageMarginMode, PageMarginSpec, StatusBarConfig } from './adapter/ports/channel-display.js';
|
|
2
|
+
export type { ToolBackground, ScrollGutterMode, PageMarginSetting, PageMarginMode, PageMarginSpec, StatusBarConfig } from './adapter/ports/channel-display.js';
|
|
52
3
|
/** Defaults keep the essential route/context information visible. */
|
|
53
4
|
export declare const DEFAULT_STATUS_BAR: Readonly<StatusBarConfig>;
|
|
54
5
|
/** Normalize untrusted/config-layer values without mutating the input. */
|
|
@@ -62,23 +13,6 @@ export declare function normalizeStatusBar(value: unknown): StatusBarConfig;
|
|
|
62
13
|
* Invalid or unavailable inputs intentionally produce no field.
|
|
63
14
|
*/
|
|
64
15
|
export declare function formatContextUsage(used: number | undefined, contextWindow: number | undefined, compact?: boolean): string | undefined;
|
|
65
|
-
/**
|
|
66
|
-
* Root page inset (settings `dsh-tui.pageMargin`): some terminals carry
|
|
67
|
-
* their own viewport padding (Windows Terminal's 8px default, GUI
|
|
68
|
-
* emulators), others — bare WSL, tmux, SSH — have none, so the UI text
|
|
69
|
-
* touches the screen edges. A setting is either a preset name
|
|
70
|
-
* (none/slim/normal/roomy) or a custom spec (see {@link PageMarginSpec}).
|
|
71
|
-
* The resolved geometry is what `PageMargin` (the root inset box above
|
|
72
|
-
* Chat) renders; the channel carries the setting for tests, the module
|
|
73
|
-
* store below is what the box itself subscribes to (the channel's version
|
|
74
|
-
* bump only re-renders below Chat).
|
|
75
|
-
*/
|
|
76
|
-
export type PageMarginMode = 'none' | 'slim' | 'normal' | 'roomy';
|
|
77
|
-
/** Custom spec: `NxM` — N blank columns per side, M blank rows top/bottom
|
|
78
|
-
* (e.g. `3x1`). */
|
|
79
|
-
export type PageMarginSpec = `${number}x${number}`;
|
|
80
|
-
/** A stored page-margin setting: a preset name or a custom spec. */
|
|
81
|
-
export type PageMarginSetting = PageMarginMode | PageMarginSpec;
|
|
82
16
|
/** Page inset per preset: `{ x }` = blank columns per side, `{ y }` = blank
|
|
83
17
|
* rows top/bottom. `normal` is the default and matches the original
|
|
84
18
|
* hard-coded inset (2 columns / 1 row). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuiDisplayPrefs.d.ts","sourceRoot":"","sources":["../../src/tuiDisplayPrefs.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"tuiDisplayPrefs.d.ts","sourceRoot":"","sources":["../../src/tuiDisplayPrefs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAC9J,YAAY,EAAE,cAAc,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AAG9J,qEAAqE;AACrE,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,eAAe,CAuBvD,CAAA;AAMF,0EAA0E;AAC1E,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAItE;AAED,4EAA4E;AAC5E,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,gBAAgB,CAItE;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CASlE;AASD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,OAAO,UAAO,GACb,MAAM,GAAG,SAAS,CASpB;AAED;;4CAE4C;AAC5C,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,cAAc,EAAE;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAK3G,CAAA;AAEF,eAAO,MAAM,mBAAmB,EAAE,cAAyB,CAAA;AAE3D;4CAC4C;AAC5C,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAClC,eAAO,MAAM,iBAAiB,IAAI,CAAA;AAQlC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE;AAED;wBACwB;AACxB,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAO5E;AAED;;kCAEkC;AAClC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,iBAAiB,CAOrE;AAED;2EAC2E;AAC3E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG;IAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CAWxG;AAUD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAGpE;AAED;8CAC8C;AAC9C,wBAAgB,oBAAoB,IAAI,iBAAiB,CAExD;AAED;;eAEe;AACf,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,iBAAiB,CAOnE"}
|
|
@@ -14,7 +14,11 @@ export const DEFAULT_STATUS_BAR = Object.freeze({
|
|
|
14
14
|
sessionId: false,
|
|
15
15
|
goal: true,
|
|
16
16
|
mode: false,
|
|
17
|
-
|
|
17
|
+
// On by default (2026-09-10, user ask): the segmented bar is the only place
|
|
18
|
+
// the per-segment context breakdown shows, so users who never open
|
|
19
|
+
// /settings were missing it entirely. `/settings → statusBar.contextBar`
|
|
20
|
+
// (or cordis.yml `contextBar: false`) still turns it off.
|
|
21
|
+
contextBar: true,
|
|
18
22
|
activity: false,
|
|
19
23
|
trajectory: false,
|
|
20
24
|
shortcutHint: false,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** The DSH home that owns the credential store, following the launcher's rule. */
|
|
2
|
+
export declare function dshHomeDir(): string;
|
|
3
|
+
/**
|
|
4
|
+
* Whether the DSH credential store declares a reference by this name.
|
|
5
|
+
*
|
|
6
|
+
* Only the top-level `refs:` block is inspected — the bare name also appears in
|
|
7
|
+
* grants and payloads, where a match would be a false positive.
|
|
8
|
+
* @param name - Reference name to look for (for example `DEEPSEEK_API_KEY`).
|
|
9
|
+
* @param home - DSH home override; defaults to {@link dshHomeDir}.
|
|
10
|
+
* @returns True when a `refs` entry with that name exists.
|
|
11
|
+
*/
|
|
12
|
+
export declare function credentialRefDeclared(name: string, home?: string): boolean;
|
|
13
|
+
//# sourceMappingURL=credentials.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../src/utils/credentials.ts"],"names":[],"mappings":"AAgBA,kFAAkF;AAClF,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,MAAqB,GAAG,OAAO,CAUxF"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DSH credential-store presence checks.
|
|
3
|
+
*
|
|
4
|
+
* The store is a small YAML document at `$DSH_HOME/.credentials.yaml` whose
|
|
5
|
+
* top-level `refs:` block maps reference names (for example `DEEPSEEK_API_KEY`)
|
|
6
|
+
* to stored secrets. dsh resolves those refs into a session at launch, so an
|
|
7
|
+
* environment-only check reports "missing" for a key that works. This module
|
|
8
|
+
* only ever answers "is a ref declared": the value is never read, formatted, or
|
|
9
|
+
* logged. The launcher keeps a mirror of this check in `bin/dsh-tui.js` (it is
|
|
10
|
+
* dependency-free and cannot import `lib/`); the two must not diverge.
|
|
11
|
+
* @module dsh-tui/utils/credentials
|
|
12
|
+
*/
|
|
13
|
+
import { readFileSync } from 'node:fs';
|
|
14
|
+
import { homedir } from 'node:os';
|
|
15
|
+
import { join } from 'node:path';
|
|
16
|
+
/** The DSH home that owns the credential store, following the launcher's rule. */
|
|
17
|
+
export function dshHomeDir() {
|
|
18
|
+
return process.env.DSH_HOME ?? join(homedir(), '.dsh');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Whether the DSH credential store declares a reference by this name.
|
|
22
|
+
*
|
|
23
|
+
* Only the top-level `refs:` block is inspected — the bare name also appears in
|
|
24
|
+
* grants and payloads, where a match would be a false positive.
|
|
25
|
+
* @param name - Reference name to look for (for example `DEEPSEEK_API_KEY`).
|
|
26
|
+
* @param home - DSH home override; defaults to {@link dshHomeDir}.
|
|
27
|
+
* @returns True when a `refs` entry with that name exists.
|
|
28
|
+
*/
|
|
29
|
+
export function credentialRefDeclared(name, home = dshHomeDir()) {
|
|
30
|
+
try {
|
|
31
|
+
const text = readFileSync(join(home, '.credentials.yaml'), 'utf8');
|
|
32
|
+
const block = /^refs:[ \t]*\r?\n((?:[ \t]+\S.*(?:\r?\n|$))*)/mu.exec(text);
|
|
33
|
+
if (block === null)
|
|
34
|
+
return false;
|
|
35
|
+
const escaped = name.replace(/[.*+?^${}()|[\]\\]/gu, '\\$&');
|
|
36
|
+
return new RegExp(`^[ \t]+${escaped}[ \t]*:`, 'mu').test(block[1] ?? '');
|
|
37
|
+
}
|
|
38
|
+
catch {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
3
|
-
id: string;
|
|
4
|
-
path: string;
|
|
5
|
-
displayPath: string;
|
|
6
|
-
name: string;
|
|
7
|
-
kind: FileCandidateKind;
|
|
8
|
-
score: number;
|
|
9
|
-
}
|
|
1
|
+
import type { FileCandidate } from '../adapter/ports/channel-catalog.js';
|
|
2
|
+
export type { FileCandidate, FileCandidateKind } from '../adapter/ports/channel-catalog.js';
|
|
10
3
|
export interface FileSuggestionOptions {
|
|
11
4
|
topK?: number;
|
|
12
5
|
maxFiles?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileSuggestions.d.ts","sourceRoot":"","sources":["../../../src/utils/fileSuggestions.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"fileSuggestions.d.ts","sourceRoot":"","sources":["../../../src/utils/fileSuggestions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAqB,MAAM,qCAAqC,CAAA;AAC3F,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AAG3F,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAID,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAiB1F;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,SAAS,aAAa,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,SAAK,GAAG,aAAa,EAAE,CAMlH;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,SAAS,EAAE,IAAI,EAAE,SAAS,aAAa,EAAE,EAAE,QAAQ,SAAI,GAAG,MAAM,CAM3H"}
|