@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
|
@@ -1,125 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*
|
|
4
|
-
* The shape here is the whole point of this feature. The picker used to run on
|
|
5
|
-
* `{ id, title, cwd, createdAt, updatedAt }`, and every defect it had was
|
|
6
|
-
* downstream of that: it could not tell a delegated sub-agent run from a
|
|
7
|
-
* conversation because it never carried the distinction, and it could not show
|
|
8
|
-
* why a row was labelled the way it was because the label arrived without its
|
|
9
|
-
* provenance. So the types below carry both — the kind as a closed sum, and
|
|
10
|
-
* every derived label together with the evidence that produced it.
|
|
11
|
-
*
|
|
12
|
-
* @module @deepseek-harness-tui/dsh-tui/sessions/types
|
|
13
|
-
*/
|
|
14
|
-
/**
|
|
15
|
-
* What a persisted session *is*, decided once from its immutable header.
|
|
16
|
-
*
|
|
17
|
-
* A closed sum rather than a pair of booleans: `isSubagent`/`isFork` would
|
|
18
|
-
* admit a fourth, meaningless combination, and every reader would have to
|
|
19
|
-
* re-derive the precedence between them. Deciding once, here, is also the fix
|
|
20
|
-
* for the defect that started this work — `origin` and `parentSession` reached
|
|
21
|
-
* the picker and were dropped on the floor.
|
|
22
|
-
*
|
|
23
|
-
* The discriminator is `origin`, never `parentSession`. A `/rewind` fork
|
|
24
|
-
* carries `parentSession` and no `origin`, so filtering on lineage alone would
|
|
25
|
-
* silently hide the user's own rewound branches along with the sub-agents.
|
|
26
|
-
*/
|
|
27
|
-
export type SessionKind =
|
|
28
|
-
/** A conversation the user started. */
|
|
29
|
-
{
|
|
30
|
-
readonly kind: 'root';
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* A `/rewind` fork: a real conversation that inherited a prefix of its
|
|
34
|
-
* parent's log. `parent` is what defines it, so it is never absent.
|
|
35
|
-
*/
|
|
36
|
-
| {
|
|
37
|
-
readonly kind: 'fork';
|
|
38
|
-
readonly parent: string;
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* A delegated sub-agent run. `origin: 'subagent'` is the authority, so the
|
|
42
|
-
* lineage link is reported as it is found — a run whose header records no
|
|
43
|
-
* parent is still a sub-agent run.
|
|
44
|
-
*/
|
|
45
|
-
| {
|
|
46
|
-
readonly kind: 'subagent';
|
|
47
|
-
readonly parent: string | undefined;
|
|
48
|
-
readonly depth: number;
|
|
49
|
-
};
|
|
50
|
-
/** Which evidence produced a session's display title. */
|
|
51
|
-
export type TitleSource =
|
|
52
|
-
/** A `session/title` event appended after the session's own opening — a rename. */
|
|
53
|
-
'renamed'
|
|
54
|
-
/** The session's first `session/title`, written for it automatically. */
|
|
55
|
-
| 'auto'
|
|
56
|
-
/** No title event; the opening user prompt stands in. */
|
|
57
|
-
| 'prompt'
|
|
58
|
-
/** Nothing readable; the working directory's basename stands in. */
|
|
59
|
-
| 'fallback';
|
|
60
|
-
/**
|
|
61
|
-
* A display title and the evidence behind it.
|
|
62
|
-
*
|
|
63
|
-
* The source travels with the text because the UI consumes it: a `fallback`
|
|
64
|
-
* title is dimmed rather than presented as if the session were named that, and
|
|
65
|
-
* a reader who wonders why a row carries a fallback label can be told. A source that
|
|
66
|
-
* nothing consumed would be decoration; this one changes what is rendered.
|
|
67
|
-
*/
|
|
68
|
-
export interface SessionTitle {
|
|
69
|
-
readonly text: string;
|
|
70
|
-
readonly source: TitleSource;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Everything the browser shows for one session, and nothing that costs an
|
|
74
|
-
* unbounded read to learn.
|
|
75
|
-
*
|
|
76
|
-
* That second half is an invariant, not an accident: every field here comes
|
|
77
|
-
* from the persistence header, one `stat`, or a bounded window at one end of
|
|
78
|
-
* the log. A session's full statistics (turn counts, tool totals, token spend)
|
|
79
|
-
* require folding the entire event log, which is what the trajectory scene is
|
|
80
|
-
* for — the browser stays responsive on a 4 MB log because it never asks a
|
|
81
|
-
* question that big.
|
|
82
|
-
*/
|
|
83
|
-
export interface SessionSummary {
|
|
84
|
-
readonly id: string;
|
|
85
|
-
readonly kind: SessionKind;
|
|
86
|
-
readonly title: SessionTitle;
|
|
87
|
-
/** Working directory recorded in the header; '' when it recorded none. */
|
|
88
|
-
readonly cwd: string;
|
|
89
|
-
readonly createdAt: number;
|
|
90
|
-
/**
|
|
91
|
-
* Last activity: the later of the log's own mtime and this install's
|
|
92
|
-
* last-used note. Both are lower bounds on "when this session was last
|
|
93
|
-
* touched" — the mtime catches writes by another client (dsh web appends to
|
|
94
|
-
* the same store), the note catches a resume this install performed. The
|
|
95
|
-
* later of two lower bounds is the best available answer, and unlike a
|
|
96
|
-
* composite value there is no risk of stitching halves from different
|
|
97
|
-
* origins: this is one scalar with two witnesses.
|
|
98
|
-
*/
|
|
99
|
-
readonly updatedAt: number;
|
|
100
|
-
/** Log size in bytes; undefined when the backend owns no per-session file. */
|
|
101
|
-
readonly bytes: number | undefined;
|
|
102
|
-
/**
|
|
103
|
-
* Whether the log holds a user prompt at all.
|
|
104
|
-
*
|
|
105
|
-
* `list()` reports *materialized* sessions, not conversations: a session
|
|
106
|
-
* that only ever recorded its own boot policy is a real stored session with
|
|
107
|
-
* nothing to resume. Answering this is the consumer's job — the header does
|
|
108
|
-
* not promise it — and getting it wrong is why one empty row per launch used
|
|
109
|
-
* to accumulate in the picker.
|
|
110
|
-
*/
|
|
111
|
-
readonly hasPrompt: boolean;
|
|
112
|
-
/** Agent preset the session was composed from, when the deployment records one. */
|
|
113
|
-
readonly agentPreset: string | undefined;
|
|
114
|
-
/** Model last seen in the log's trailing window, when one is recorded. */
|
|
115
|
-
readonly model: string | undefined;
|
|
116
|
-
/** Sub-agent label from the run's descriptor (`subagent` kind only). */
|
|
117
|
-
readonly label: string | undefined;
|
|
118
|
-
/** Git branch noted when this install last used the session. */
|
|
119
|
-
readonly branch: string | undefined;
|
|
120
|
-
/** How many sub-agent runs name this session as their parent. */
|
|
121
|
-
readonly childCount: number;
|
|
122
|
-
}
|
|
1
|
+
import type { SessionTitle } from '../../adapter/ports/channel-session.js';
|
|
2
|
+
export type { SessionSummary, SessionKind, SessionTitle, TitleSource, PreviewEntry } from '../../adapter/ports/channel-session.js';
|
|
123
3
|
/**
|
|
124
4
|
* Facts a bounded read can recover from one session log.
|
|
125
5
|
*
|
|
@@ -129,6 +9,8 @@ export interface SessionSummary {
|
|
|
129
9
|
*/
|
|
130
10
|
export interface SessionDigest {
|
|
131
11
|
readonly title: SessionTitle | undefined;
|
|
12
|
+
/** False only after a complete successful scan proves no human message;
|
|
13
|
+
* true also keeps inconclusive reads visible and out of empty cleanup. */
|
|
132
14
|
readonly hasPrompt: boolean;
|
|
133
15
|
readonly model: string | undefined;
|
|
134
16
|
readonly label: string | undefined;
|
|
@@ -136,10 +18,4 @@ export interface SessionDigest {
|
|
|
136
18
|
* trailing window; no unseen middle event can supersede it. */
|
|
137
19
|
readonly titleComplete?: true;
|
|
138
20
|
}
|
|
139
|
-
/** One exchange in the preview pane, newest last. */
|
|
140
|
-
export interface PreviewEntry {
|
|
141
|
-
readonly role: 'user' | 'assistant';
|
|
142
|
-
readonly text: string;
|
|
143
|
-
readonly at: number | undefined;
|
|
144
|
-
}
|
|
145
21
|
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/sessions/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/dsh-adapter/sessions/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA+B,YAAY,EAA6B,MAAM,wCAAwC,CAAA;AAClI,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAA;AAGlI;;;;;;GAMG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,CAAA;IACxC;8EAC0E;IAC1E,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAA;IAClC;mEAC+D;IAC/D,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,CAAA;CAC9B"}
|
|
@@ -1,14 +1 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* What the TUI knows about a persisted session before opening it.
|
|
3
|
-
*
|
|
4
|
-
* The shape here is the whole point of this feature. The picker used to run on
|
|
5
|
-
* `{ id, title, cwd, createdAt, updatedAt }`, and every defect it had was
|
|
6
|
-
* downstream of that: it could not tell a delegated sub-agent run from a
|
|
7
|
-
* conversation because it never carried the distinction, and it could not show
|
|
8
|
-
* why a row was labelled the way it was because the label arrived without its
|
|
9
|
-
* provenance. So the types below carry both — the kind as a closed sum, and
|
|
10
|
-
* every derived label together with the evidence that produced it.
|
|
11
|
-
*
|
|
12
|
-
* @module @deepseek-harness-tui/dsh-tui/sessions/types
|
|
13
|
-
*/
|
|
14
1
|
export {};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { TuiSettingsSection } from '../adapter/ports/channel-settings.js';
|
|
2
|
+
export type { TuiSettingsSection, TuiSettingsGroup, TuiSettingsField, TuiSettingsFieldKind, TuiSettingsFieldOption, TuiSettingsFieldWrite } from '../adapter/ports/channel-settings.js';
|
|
1
3
|
/**
|
|
2
4
|
* Plugin settings-section extension seam for terminal front doors.
|
|
3
5
|
*
|
|
@@ -10,104 +12,11 @@
|
|
|
10
12
|
* metadata only.
|
|
11
13
|
*/
|
|
12
14
|
import { Context, Service } from '@deepseek-ai/cordis';
|
|
13
|
-
import type { LocalizedDescriptions } from '../commands.js';
|
|
14
|
-
/** Control kinds the TUI settings screen knows how to render. */
|
|
15
|
-
export type TuiSettingsFieldKind = 'text' | 'number' | 'boolean' | 'select';
|
|
16
|
-
export interface TuiSettingsFieldOption {
|
|
17
|
-
/** Stored value. */
|
|
18
|
-
value: string;
|
|
19
|
-
/** Display label (English; also the fallback). */
|
|
20
|
-
label: string;
|
|
21
|
-
/** Provider-owned translations for the label. */
|
|
22
|
-
descriptions?: LocalizedDescriptions;
|
|
23
|
-
}
|
|
24
|
-
/** Optional navigation group inside one settings section. */
|
|
25
|
-
export interface TuiSettingsGroup {
|
|
26
|
-
/** Stable identifier, unique inside the section. */
|
|
27
|
-
id: string;
|
|
28
|
-
/** Group title (English; also the fallback). */
|
|
29
|
-
title: string;
|
|
30
|
-
/** Provider-owned translations for the title. */
|
|
31
|
-
descriptions?: LocalizedDescriptions;
|
|
32
|
-
}
|
|
33
|
-
/** The write one field's draft stages when the section is saved. */
|
|
34
|
-
export type TuiSettingsFieldWrite = {
|
|
35
|
-
kind: 'set';
|
|
36
|
-
value: unknown;
|
|
37
|
-
} | {
|
|
38
|
-
kind: 'clear';
|
|
39
|
-
};
|
|
40
|
-
export interface TuiSettingsField {
|
|
41
|
-
/**
|
|
42
|
-
* Key path from the section root, in the settings service's `mutate` path
|
|
43
|
-
* vocabulary (object keys; dict keys name their entry directly).
|
|
44
|
-
*/
|
|
45
|
-
path: readonly string[];
|
|
46
|
-
/** Short field label (English; also the fallback). */
|
|
47
|
-
label: string;
|
|
48
|
-
/** Provider-owned translations for the label. */
|
|
49
|
-
descriptions?: LocalizedDescriptions;
|
|
50
|
-
/** Optional one-line help rendered under the field. */
|
|
51
|
-
hint?: string;
|
|
52
|
-
/** Provider-owned translations for the hint. */
|
|
53
|
-
hintDescriptions?: LocalizedDescriptions;
|
|
54
|
-
/** Optional group id; grouped fields render on that group's subpage. */
|
|
55
|
-
group?: string;
|
|
56
|
-
kind: TuiSettingsFieldKind;
|
|
57
|
-
/**
|
|
58
|
-
* Choices for `kind: 'select'`; any options-bearing field (text hybrids
|
|
59
|
-
* included — e.g. the page-margin presets) also cycles via ←/→ in the
|
|
60
|
-
* settings list while Enter keeps the kind's own action (select cycles,
|
|
61
|
-
* text opens the editor for a custom value).
|
|
62
|
-
*/
|
|
63
|
-
options?: readonly TuiSettingsFieldOption[];
|
|
64
|
-
/** Input placeholder for `kind: 'text' | 'number'`. */
|
|
65
|
-
placeholder?: string;
|
|
66
|
-
/**
|
|
67
|
-
* Credential control (mirrors the web cards' CardSecretSpec): the literal
|
|
68
|
-
* never rides the settings document — the draft starts blank on every
|
|
69
|
-
* open, a blank draft writes nothing, and a typed draft writes through the
|
|
70
|
-
* credentials seam under `ref`. The screen shows only whether a value is
|
|
71
|
-
* configured.
|
|
72
|
-
*/
|
|
73
|
-
secret?: {
|
|
74
|
-
ref: string;
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* Render a stored value as draft text. Defaults to the kind's conversion
|
|
78
|
-
* (strings verbatim, numbers via `String`, booleans/selects by value).
|
|
79
|
-
*/
|
|
80
|
-
format?(value: unknown): string;
|
|
81
|
-
/**
|
|
82
|
-
* The write this draft text stages, or `undefined` when the text is not a
|
|
83
|
-
* value this field accepts — an invalid draft blocks the save rather than
|
|
84
|
-
* being discarded. Defaults to the kind's conversion (an empty text/number
|
|
85
|
-
* draft stages a clear, letting the field re-inherit the composition
|
|
86
|
-
* layer).
|
|
87
|
-
*/
|
|
88
|
-
parse?(text: string): TuiSettingsFieldWrite | undefined;
|
|
89
|
-
}
|
|
90
|
-
/** One plugin's section inside the TUI settings screen. */
|
|
91
|
-
export interface TuiSettingsSection {
|
|
92
|
-
/**
|
|
93
|
-
* Settings namespace this section edits. Should match a namespace the
|
|
94
|
-
* plugin registers on the dsh settings service; the screen marks the
|
|
95
|
-
* section unavailable when the composition serves no such namespace.
|
|
96
|
-
*/
|
|
97
|
-
ns: string;
|
|
98
|
-
/** Section title (English; also the fallback). */
|
|
99
|
-
title: string;
|
|
100
|
-
/** Provider-owned translations for the title. */
|
|
101
|
-
descriptions?: LocalizedDescriptions;
|
|
102
|
-
/** Optional navigation groups, in display order. */
|
|
103
|
-
groups?: readonly TuiSettingsGroup[];
|
|
104
|
-
/** Editable fields, in display order. */
|
|
105
|
-
fields: readonly TuiSettingsField[];
|
|
106
|
-
}
|
|
107
15
|
/** Host-only settings-section controls used by the TUI bootstrap/channel. */
|
|
108
16
|
export interface TuiSettingsSectionsHost {
|
|
109
17
|
register(section: TuiSettingsSection): () => void;
|
|
110
18
|
list(): readonly TuiSettingsSection[];
|
|
19
|
+
section(ns: string): TuiSettingsSection | undefined;
|
|
111
20
|
subscribe(listener: () => void): () => void;
|
|
112
21
|
}
|
|
113
22
|
declare module '@deepseek-ai/cordis' {
|
|
@@ -134,6 +43,6 @@ export declare class TuiSettingsSectionsRuntime extends Service {
|
|
|
134
43
|
subscribe(listener: () => void): () => void;
|
|
135
44
|
}
|
|
136
45
|
export declare function getHostSettingsSections(runtime: TuiSettingsSectionsRuntime | undefined): TuiSettingsSectionsHost | undefined;
|
|
137
|
-
export declare function getLocalSettingsSectionsHost(): TuiSettingsSectionsHost;
|
|
46
|
+
export declare function getLocalSettingsSectionsHost(ctx?: Context): TuiSettingsSectionsHost;
|
|
138
47
|
export default TuiSettingsSectionsRuntime;
|
|
139
48
|
//# sourceMappingURL=settings-sections.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-sections.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/settings-sections.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"settings-sections.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/settings-sections.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAA2G,MAAM,sCAAsC,CAAA;AACvL,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AACvL;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAWtD,6EAA6E;AAC7E,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAA;IACjD,IAAI,IAAI,SAAS,kBAAkB,EAAE,CAAA;IACrC,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAAA;IACnD,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAA;CAC5C;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,mBAAmB,EAAE,0BAA0B,CAAA;KAChD;CACF;AAED,eAAO,MAAM,IAAI,8BAA8B,CAAA;AAE/C;;;GAGG;AACH,qBAAa,0BAA2B,SAAQ,OAAO;gBACzC,GAAG,EAAE,OAAO;IAsBxB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI;IAuBjD,iDAAiD;IACjD,IAAI,IAAI,SAAS,kBAAkB,EAAE;IASrC,sDAAsD;IACtD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS;IASnD;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAU5C;AAyFD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,GAAG,uBAAuB,GAAG,SAAS,CAO5H;AAiDD,wBAAgB,4BAA4B,CAAC,GAAG,CAAC,EAAE,OAAO,GAAG,uBAAuB,CAiBnF;AAED,eAAe,0BAA0B,CAAA"}
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
import { Service } from '@deepseek-ai/cordis';
|
|
13
13
|
import { activationFiber, bindCallerEffect, compositionRoot, concreteService, requirePluginCaller } from './host-access.js';
|
|
14
14
|
import { vetSectionSecretRefs } from './credentialRefGuard.js';
|
|
15
|
+
import { assertCapabilityShadowPolicy, defaultAdapterRuntime, } from '../adapter/kernel/runtime.js';
|
|
16
|
+
import { adapterRuntimeFor } from '../adapter/kernel/runtime-context.js';
|
|
15
17
|
export const name = 'dsh-tui-settings-sections';
|
|
16
18
|
/**
|
|
17
19
|
* Small host-only registry; settings storage and validation remain owned by
|
|
@@ -22,7 +24,7 @@ export class TuiSettingsSectionsRuntime extends Service {
|
|
|
22
24
|
super(ctx, 'tuiSettingsSections');
|
|
23
25
|
compositionRoot(ctx);
|
|
24
26
|
const runtime = this;
|
|
25
|
-
const state = { sections: new Map(), owners: new Map(), listeners: new Set(), host: undefined };
|
|
27
|
+
const state = { sections: new Map(), owners: new Map(), listeners: new Set(), host: undefined, runtime: adapterRuntimeFor(ctx) };
|
|
26
28
|
state.host = Object.freeze({
|
|
27
29
|
register(section) {
|
|
28
30
|
return registerSection(runtime, section);
|
|
@@ -30,6 +32,9 @@ export class TuiSettingsSectionsRuntime extends Service {
|
|
|
30
32
|
list() {
|
|
31
33
|
return [...settingsSectionStateFor(runtime).sections.values()];
|
|
32
34
|
},
|
|
35
|
+
section(ns) {
|
|
36
|
+
return settingsSectionStateFor(runtime).sections.get(ns.trim());
|
|
37
|
+
},
|
|
33
38
|
subscribe(listener) {
|
|
34
39
|
return subscribeSections(runtime, listener);
|
|
35
40
|
},
|
|
@@ -37,6 +42,7 @@ export class TuiSettingsSectionsRuntime extends Service {
|
|
|
37
42
|
settingsSectionStates.set(this, state);
|
|
38
43
|
}
|
|
39
44
|
register(section) {
|
|
45
|
+
assertCapabilityShadowPolicy('host.settings.register', settingsSectionStateFor(this).runtime.mode, settingsSectionStateFor(this).runtime.slices);
|
|
40
46
|
const caller = requirePluginCaller(this.ctx, 'tuiSettingsSections.register', this);
|
|
41
47
|
const owner = activationFiber(caller);
|
|
42
48
|
if (owner === undefined)
|
|
@@ -58,6 +64,7 @@ export class TuiSettingsSectionsRuntime extends Service {
|
|
|
58
64
|
}
|
|
59
65
|
/** Registered sections in registration order. */
|
|
60
66
|
list() {
|
|
67
|
+
assertCapabilityShadowPolicy('host.settings.list', settingsSectionStateFor(this).runtime.mode, settingsSectionStateFor(this).runtime.slices);
|
|
61
68
|
const caller = requirePluginCaller(this.ctx, 'tuiSettingsSections.list', this);
|
|
62
69
|
const owner = activationFiber(caller);
|
|
63
70
|
return owner === undefined ? [] : [...settingsSectionStateFor(this).sections.entries()]
|
|
@@ -66,6 +73,7 @@ export class TuiSettingsSectionsRuntime extends Service {
|
|
|
66
73
|
}
|
|
67
74
|
/** The section registered for a namespace, if any. */
|
|
68
75
|
section(ns) {
|
|
76
|
+
assertCapabilityShadowPolicy('host.settings.section', settingsSectionStateFor(this).runtime.mode, settingsSectionStateFor(this).runtime.slices);
|
|
69
77
|
const caller = requirePluginCaller(this.ctx, 'tuiSettingsSections.section', this);
|
|
70
78
|
const owner = activationFiber(caller);
|
|
71
79
|
const state = settingsSectionStateFor(this);
|
|
@@ -77,6 +85,7 @@ export class TuiSettingsSectionsRuntime extends Service {
|
|
|
77
85
|
* re-read the section list (a plugin (un)loading mid-session changes it).
|
|
78
86
|
*/
|
|
79
87
|
subscribe(listener) {
|
|
88
|
+
assertCapabilityShadowPolicy('host.settings.subscribe', settingsSectionStateFor(this).runtime.mode, settingsSectionStateFor(this).runtime.slices);
|
|
80
89
|
const caller = requirePluginCaller(this.ctx, 'tuiSettingsSections.subscribe', this);
|
|
81
90
|
const owner = activationFiber(caller);
|
|
82
91
|
if (owner === undefined)
|
|
@@ -190,24 +199,52 @@ function isSectionState(value) {
|
|
|
190
199
|
* service is unavailable. Third-party sections still require the service
|
|
191
200
|
* row; the local host only carries the TUI's own section.
|
|
192
201
|
*/
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
202
|
+
let defaultLocalSectionsState;
|
|
203
|
+
const localSectionsStates = new WeakMap();
|
|
204
|
+
function localSectionsStateFor(ctx) {
|
|
205
|
+
if (ctx === undefined) {
|
|
206
|
+
// The no-context fallback is captured lazily on first use so importing
|
|
207
|
+
// this module never freezes an env-dependent policy before the embedding
|
|
208
|
+
// process has a chance to configure adapter mode.
|
|
209
|
+
defaultLocalSectionsState ??= {
|
|
210
|
+
runtime: defaultAdapterRuntime(),
|
|
211
|
+
sections: new Map(),
|
|
212
|
+
owners: new Map(),
|
|
213
|
+
listeners: new Set(),
|
|
214
|
+
host: undefined,
|
|
215
|
+
};
|
|
216
|
+
return defaultLocalSectionsState;
|
|
217
|
+
}
|
|
218
|
+
const root = compositionRoot(ctx);
|
|
219
|
+
let state = localSectionsStates.get(root);
|
|
220
|
+
if (state === undefined) {
|
|
221
|
+
state = {
|
|
222
|
+
runtime: adapterRuntimeFor(ctx),
|
|
223
|
+
sections: new Map(),
|
|
224
|
+
owners: new Map(),
|
|
225
|
+
listeners: new Set(),
|
|
226
|
+
host: undefined,
|
|
227
|
+
};
|
|
228
|
+
localSectionsStates.set(root, state);
|
|
229
|
+
}
|
|
230
|
+
return state;
|
|
231
|
+
}
|
|
232
|
+
export function getLocalSettingsSectionsHost(ctx) {
|
|
233
|
+
const state = localSectionsStateFor(ctx);
|
|
234
|
+
state.host ??= Object.freeze({
|
|
201
235
|
register(section) {
|
|
202
|
-
return registerSection(
|
|
236
|
+
return registerSection(state, section);
|
|
203
237
|
},
|
|
204
238
|
list() {
|
|
205
|
-
return [...
|
|
239
|
+
return [...state.sections.values()];
|
|
240
|
+
},
|
|
241
|
+
section(ns) {
|
|
242
|
+
return state.sections.get(ns.trim());
|
|
206
243
|
},
|
|
207
244
|
subscribe(listener) {
|
|
208
|
-
return subscribeSections(
|
|
245
|
+
return subscribeSections(state, listener);
|
|
209
246
|
},
|
|
210
247
|
});
|
|
211
|
-
return
|
|
248
|
+
return state.host;
|
|
212
249
|
}
|
|
213
250
|
export default TuiSettingsSectionsRuntime;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import type { SettingsHost, SettingsNamespaceView } from '../adapter/ports/channel-settings.js';
|
|
2
|
+
export type { SettingsHost, SettingsNamespaceView, SettingsPathOp } from '../adapter/ports/channel-settings.js';
|
|
1
3
|
/**
|
|
2
4
|
* React-free form model behind the `/settings` screen (issue #165), mirroring
|
|
3
5
|
* the web front door's card-form.ts semantics: a section stages what the user
|
|
@@ -17,42 +19,6 @@
|
|
|
17
19
|
* translates between drafts and `mutate` path ops.
|
|
18
20
|
*/
|
|
19
21
|
import type { TuiSettingsField } from './settings-sections.js';
|
|
20
|
-
/** One settings namespace as the screen reads it (secrets redacted). */
|
|
21
|
-
export interface SettingsNamespaceView {
|
|
22
|
-
readonly ns: string;
|
|
23
|
-
/** Monotonic revision of the raw user section; fences writes. */
|
|
24
|
-
readonly revision: number;
|
|
25
|
-
/** 'live' applies immediately; 'restart' needs a relaunch. */
|
|
26
|
-
readonly applies: 'live' | 'restart';
|
|
27
|
-
/** Current resolved value (all layers composed). */
|
|
28
|
-
readonly value: unknown;
|
|
29
|
-
/** Raw user layer; a path present here is a user override. */
|
|
30
|
-
readonly user: unknown;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Runtime capabilities the settings screen needs, implemented by the channel
|
|
34
|
-
* over the dsh `settings` / `credentials` seams. `undefined` from
|
|
35
|
-
* `channel.settingsHost()` means the composition lacks them (bare cordis.yml
|
|
36
|
-
* start) and the screen shows namespaces read-only.
|
|
37
|
-
*/
|
|
38
|
-
export interface SettingsHost {
|
|
39
|
-
/** Every registered namespace, secrets redacted, in registration order. */
|
|
40
|
-
listNamespaces(): readonly SettingsNamespaceView[];
|
|
41
|
-
/** Write path ops against a namespace, fenced by its current revision. */
|
|
42
|
-
write(ns: string, ops: readonly SettingsPathOp[], expectedRevision?: number): Promise<void>;
|
|
43
|
-
/** Whether any layer supplies a credential under `ref`. */
|
|
44
|
-
credentialConfigured(ref: string): Promise<boolean>;
|
|
45
|
-
/** Persist a credential; rejects when env-shadowed or the store is read-only. */
|
|
46
|
-
writeCredential(ref: string, value: string): Promise<void>;
|
|
47
|
-
}
|
|
48
|
-
export type SettingsPathOp = {
|
|
49
|
-
op: 'set';
|
|
50
|
-
path: readonly string[];
|
|
51
|
-
value: unknown;
|
|
52
|
-
} | {
|
|
53
|
-
op: 'unset';
|
|
54
|
-
path: readonly string[];
|
|
55
|
-
};
|
|
56
22
|
/** One field as the screen renders it. */
|
|
57
23
|
export interface SettingsFieldState {
|
|
58
24
|
/** Draft text the control renders. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settingsEditor.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/settingsEditor.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"settingsEditor.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/settingsEditor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAkB,MAAM,sCAAsC,CAAA;AAC/G,YAAY,EAAE,YAAY,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC/G;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,wBAAwB,CAAA;AAErF,0CAA0C;AAC1C,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,UAAU,EAAE,OAAO,CAAA;IACnB,8EAA8E;IAC9E,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,gDAAgD;AAChD,MAAM,WAAW,oBAAoB;IACnC,iEAAiE;IACjE,SAAS,EAAE,OAAO,CAAA;IAClB,4DAA4D;IAC5D,KAAK,EAAE,OAAO,CAAA;IACd,kEAAkE;IAClE,OAAO,EAAE,OAAO,CAAA;IAChB,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAA;IACf,sEAAsE;IACtE,MAAM,EAAE,OAAO,CAAA;IACf;4EACwE;IACxE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,8DAA8D;AAC9D,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAWxE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAOxE;AAiDD;;;;GAIG;AACH,qBAAa,YAAY;IAOrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgC;IACtD,MAAM,UAAQ;IACd,MAAM,UAAQ;IACd,cAAc,EAAE,MAAM,GAAG,SAAS,CAAY;gBAG3B,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,MAAM,EAAE,SAAS,gBAAgB,EAAE;IAGtD,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,4EAA4E;IAC5E,IAAI,SAAS,IAAI,qBAAqB,GAAG,SAAS,CAEjD;IAED,KAAK,CAAC,KAAK,EAAE,gBAAgB,GAAG,kBAAkB;IAuBlD,KAAK,IAAI,oBAAoB;IAe7B,uDAAuD;IACvD,QAAQ,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO;IAI1C,sCAAsC;IACtC,IAAI,CAAC,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAKjD,gFAAgF;IAChF,UAAU,CAAC,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAKzC,8BAA8B;IAC9B,OAAO,IAAI,IAAI;IAKf,uEAAuE;IACvE,OAAO,CAAC,YAAY;IAKpB,kEAAkE;IAClE,IAAI,OAAO,IAAI,OAAO,CAErB;IAED;;;;;;;;;;OAUG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAsD9B,0EAA0E;IAC1E,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;CAGhE"}
|
|
@@ -1,21 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* React-free form model behind the `/settings` screen (issue #165), mirroring
|
|
3
|
-
* the web front door's card-form.ts semantics: a section stages what the user
|
|
4
|
-
* types and writes it only on save — every settings write is a durable,
|
|
5
|
-
* revision-fenced `settings.mutate`, so a control that committed as it
|
|
6
|
-
* settled turned one edit into a write the user never asked for and could
|
|
7
|
-
* not preview; staged text makes what is on screen exactly what a save would
|
|
8
|
-
* store.
|
|
9
|
-
*
|
|
10
|
-
* A field shows its effective value — the user layer over the composition
|
|
11
|
-
* layer over the schema default — and whether the user layer carries it. That
|
|
12
|
-
* presence, not a value comparison, is what marks a field overridden: an
|
|
13
|
-
* override equal to the composition default is still an override.
|
|
14
|
-
*
|
|
15
|
-
* The kernel side (storage, schema validation, layering, revision fencing)
|
|
16
|
-
* stays with the dsh settings / credentials services; this module only
|
|
17
|
-
* translates between drafts and `mutate` path ops.
|
|
18
|
-
*/
|
|
19
1
|
/** Read a nested value by path (array indexes as strings). */
|
|
20
2
|
export function getPath(value, path) {
|
|
21
3
|
let current = value;
|
|
@@ -36,6 +36,11 @@ export type { ParsedCombo };
|
|
|
36
36
|
* Cordis service object, so one plugin cannot synthesize an input event to
|
|
37
37
|
* invoke another plugin's shortcut handler. */
|
|
38
38
|
export interface TuiShortcutHost {
|
|
39
|
+
register(combo: string, options: TuiShortcutOptions): () => void;
|
|
40
|
+
list(): readonly {
|
|
41
|
+
combo: string;
|
|
42
|
+
description: string;
|
|
43
|
+
}[];
|
|
39
44
|
dispatch(input: string, key: TuiShortcutKey): boolean;
|
|
40
45
|
setErrorHandler(handler: (combo: string, error: unknown) => void): () => void;
|
|
41
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/shortcuts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"shortcuts.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/shortcuts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAQtD,OAAO,EAEL,kBAAkB,EAElB,UAAU,EAEV,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,oBAAoB,CAAA;AAE3B;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,aAAa,CAAA;AAI1C,eAAO,MAAM,kBAAkB,mBAAa,CAAA;AAC5C,eAAO,MAAM,aAAa,2BAAqB,CAAA;AAC/C,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B;;+CAE+C;AAC/C,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,MAAM,IAAI,CAAA;IAChE,IAAI,IAAI,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAA;IACrD,eAAe,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,MAAM,IAAI,CAAA;CAC9E;AAED,MAAM,WAAW,kBAAkB;IACjC,kEAAkE;IAClE,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACpC;AAiBD,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,YAAY,EAAE,kBAAkB,CAAA;KACjC;CACF;AAED,8DAA8D;AAC9D,qBAAa,kBAAmB,SAAQ,OAAO;gBACjC,GAAG,EAAE,OAAO;IA+DxB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,IAAI;IA2FpF,sEAAsE;IACtE,IAAI,IAAI,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE;CAU1D;AAqCD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAOrG;AAED,eAAe,kBAAkB,CAAA"}
|
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
import { Service } from '@deepseek-ai/cordis';
|
|
25
25
|
import { cleanScalarText } from './sanitize.js';
|
|
26
26
|
import { activationFiber, bindCallerEffect, compositionRoot, concreteService, requirePluginCaller } from './host-access.js';
|
|
27
|
+
import { assertCapabilityShadowPolicy, } from '../adapter/kernel/runtime.js';
|
|
28
|
+
import { adapterRuntimeFor } from '../adapter/kernel/runtime-context.js';
|
|
27
29
|
import { canonicalCombo, comboMatchesStrict, fixedReservedCombos, parseCombo, reservedActionCombos, } from '../utils/keymap.js';
|
|
28
30
|
// Shared combo grammar + built-in keymap live in src/utils/keymap.ts; the
|
|
29
31
|
// parse/match entry points stay re-exported here for API stability.
|
|
@@ -49,8 +51,52 @@ export class TuiShortcutRuntime extends Service {
|
|
|
49
51
|
onError: undefined,
|
|
50
52
|
host: undefined,
|
|
51
53
|
logger: ctx.logger,
|
|
54
|
+
runtime: adapterRuntimeFor(ctx),
|
|
52
55
|
};
|
|
53
56
|
const host = Object.freeze({
|
|
57
|
+
register: (combo, options) => {
|
|
58
|
+
const shortcutState = shortcutStateFor(runtime);
|
|
59
|
+
let parsed;
|
|
60
|
+
try {
|
|
61
|
+
parsed = parseShortcutCombo(combo);
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return () => { };
|
|
65
|
+
}
|
|
66
|
+
if (parsed === undefined)
|
|
67
|
+
return () => { };
|
|
68
|
+
const key = canonicalCombo(parsed);
|
|
69
|
+
const shiftlessKey = canonicalCombo({ ...parsed, shift: false });
|
|
70
|
+
const actionReserved = reservedActionCombos();
|
|
71
|
+
if (FIXED_RESERVED_CANONICAL.has(key) || FIXED_RESERVED_CANONICAL.has(shiftlessKey)
|
|
72
|
+
|| actionReserved.has(key) || actionReserved.has(shiftlessKey)
|
|
73
|
+
|| shortcutState.shortcuts.has(key)) {
|
|
74
|
+
return () => { };
|
|
75
|
+
}
|
|
76
|
+
let description;
|
|
77
|
+
let handler;
|
|
78
|
+
try {
|
|
79
|
+
description = cleanScalarText(options?.description, 120);
|
|
80
|
+
handler = options?.handler;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return () => { };
|
|
84
|
+
}
|
|
85
|
+
if (typeof handler !== 'function' || description === '')
|
|
86
|
+
return () => { };
|
|
87
|
+
const entry = { combo: parsed, description, handler };
|
|
88
|
+
shortcutState.shortcuts.set(key, entry);
|
|
89
|
+
return () => {
|
|
90
|
+
if (shortcutState.shortcuts.get(key) !== entry)
|
|
91
|
+
return;
|
|
92
|
+
shortcutState.shortcuts.delete(key);
|
|
93
|
+
shortcutState.owners.delete(key);
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
list: () => [...shortcutStateFor(runtime).shortcuts.entries()].map(([, entry]) => ({
|
|
97
|
+
combo: entry.combo.raw,
|
|
98
|
+
description: entry.description,
|
|
99
|
+
})),
|
|
54
100
|
dispatch: (input, key) => dispatchShortcut(runtime, input, key),
|
|
55
101
|
setErrorHandler: (handler) => {
|
|
56
102
|
state.onError = handler;
|
|
@@ -77,6 +123,7 @@ export class TuiShortcutRuntime extends Service {
|
|
|
77
123
|
* effect ledger's pluginId — omitting it records `undeclared` (C-060).
|
|
78
124
|
*/
|
|
79
125
|
register(combo, options, identity) {
|
|
126
|
+
assertCapabilityShadowPolicy('host.shortcuts.register', shortcutStateFor(this).runtime.mode, shortcutStateFor(this).runtime.slices);
|
|
80
127
|
let caller;
|
|
81
128
|
try {
|
|
82
129
|
caller = requirePluginCaller(this.ctx, 'tuiShortcuts.register', this);
|
|
@@ -158,6 +205,7 @@ export class TuiShortcutRuntime extends Service {
|
|
|
158
205
|
}
|
|
159
206
|
/** Combos and descriptions owned by the calling plugin activation. */
|
|
160
207
|
list() {
|
|
208
|
+
assertCapabilityShadowPolicy('host.shortcuts.list', shortcutStateFor(this).runtime.mode, shortcutStateFor(this).runtime.slices);
|
|
161
209
|
const caller = requirePluginCaller(this.ctx, 'tuiShortcuts.list', this);
|
|
162
210
|
const owner = activationFiber(caller);
|
|
163
211
|
if (owner === undefined)
|
|
@@ -176,6 +224,7 @@ function shortcutStateFor(runtime) {
|
|
|
176
224
|
return state;
|
|
177
225
|
}
|
|
178
226
|
function dispatchShortcut(runtime, input, key) {
|
|
227
|
+
assertCapabilityShadowPolicy('host.shortcuts.dispatch', shortcutStateFor(runtime).runtime.mode, shortcutStateFor(runtime).runtime.slices);
|
|
179
228
|
const state = shortcutStateFor(runtime);
|
|
180
229
|
for (const entry of state.shortcuts.values()) {
|
|
181
230
|
if (!matchShortcut(entry.combo, input, key))
|
|
@@ -137,6 +137,11 @@ export declare class TuiStatusRuntime extends Service {
|
|
|
137
137
|
* same attribution-only meaning as `set()`.
|
|
138
138
|
*/
|
|
139
139
|
registerView(descriptor: TuiStatusViewDescriptor, identity?: Context): TuiStatusViewDisposer | undefined;
|
|
140
|
+
/**
|
|
141
|
+
* Subscribe to status-line changes. Kept on the plugin-visible service so
|
|
142
|
+
* the shadow-policy gate covers this subscription effect too.
|
|
143
|
+
*/
|
|
144
|
+
subscribe(listener: () => void): () => void;
|
|
140
145
|
}
|
|
141
146
|
export declare function getHostStatusStore(runtime: TuiStatusRuntime | undefined): TuiStatusStore | undefined;
|
|
142
147
|
export default TuiStatusRuntime;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/dsh-adapter/status.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA;AAUtD,iCAAiC;AACjC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACtB;AAED,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAE5C,KAAK,8BAA8B,GAC/B,KAAK,GACL,UAAU,GACV,WAAW,GACX,eAAe,GACf,SAAS,GACT,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,WAAW,GACX,kBAAkB,GAClB,SAAS,CAAA;AAEb,KAAK,qBAAqB,GAAG,IAAI,CAC/B,KAAK,CAAC,cAAc,CAAC,cAAc,UAAU,EAAE,GAAG,CAAC,EACnD,8BAA8B,CAC/B,CAAA;AAED,KAAK,sBAAsB,GAAG,IAAI,CAChC,KAAK,CAAC,cAAc,CAAC,cAAc,UAAU,EAAE,IAAI,CAAC,EACpD,KAAK,CACN,CAAA;AAED,KAAK,uBAAuB,GAAG,KAAK,CAAC,cAAc,CACjD,cAAc,UAAU,EAAE,KAAK,CAChC,CAAA;AA2BD;;sEAEsE;AACtE,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAA;IACxD,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAA;IAC5D,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,sBAAsB,CAAC,CAAA;IAC1D,QAAQ,CAAC,eAAe,EAAE,cAAc,UAAU,EAAE,eAAe,CAAA;CACpE;AAED;4EAC4E;AAC5E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,OAAO,KAAK,CAAA;IAC5B,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAA;CAC7B;AAED,wEAAwE;AACxE,MAAM,MAAM,qBAAqB,GAAG,MAAM,IAAI,CAAA;AAE9C;;;4BAG4B;AAC5B,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,oEAAoE;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;IACvC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;CAC5D;AAED,6EAA6E;AAC7E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAA;IAC3D,8EAA8E;IAC9E,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;CAChC;AAWD;4EAC4E;AAC5E,qBAAa,cAAc;IAcvB,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC;IAb/B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAKlD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoE;IAC5F,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgF;IAGtG,OAAO,CAAC,QAAQ,CAAgC;IAChD,OAAO,CAAC,YAAY,CAAoC;gBAGrC,WAAW,CAAC,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,aAAA;IAGpE,8CAA8C;IAC9C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,SAAI,EAAE,KAAK,GAAE,MAA0B,GAAG,IAAI;IAmB9F,uEAAuE;IACvE,WAAW,IAAI,SAAS,cAAc,EAAE;IAIxC;8DAC0D;IAC1D,eAAe,IAAI,SAAS,kBAAkB,EAAE;IAIhD;wDACoD;IACpD,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIxC,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI5C,OAAO,CAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAMrE,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAUhE,mDAAmD;IACnD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAIhD;;yEAEqE;IACrE,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO;IAS5D,kCAAkC;IAClC,KAAK,IAAI,IAAI;IASb,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAO3C,OAAO,CAAC,IAAI;CAGb;AAED,OAAO,QAAQ,qBAAqB,CAAC;IACnC,UAAU,OAAO;QACf,SAAS,EAAE,gBAAgB,CAAA;KAC5B;CACF;AAED;;;;GAIG;AACH,qBAAa,gBAAiB,SAAQ,OAAO;gBAC/B,GAAG,EAAE,OAAO;IAgBxB;;;;;;;;;;;;;;;;;;OAkBG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,IAAI;IA2G7F;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,UAAU,EAAE,uBAAuB,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,qBAAqB,GAAG,SAAS;IAkHxG;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;CAiB5C;AAiBD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,cAAc,GAAG,SAAS,CAOpG;AAED,eAAe,gBAAgB,CAAA"}
|