@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
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream Driver Plane.
|
|
3
|
+
*
|
|
4
|
+
* This directory is the future/only allowed home for direct `@deepseek-ai/*`
|
|
5
|
+
* imports. The current migration keeps legacy drivers in `src/dsh-adapter/` so
|
|
6
|
+
* no behavior changes in this iteration; new drivers must land here.
|
|
7
|
+
*/
|
|
8
|
+
export { buildHostCapabilityLifecycles, refreshHostCapabilityLifecycles, detectHostDescriptorCapability, hostDescriptorDriver, } from './host-descriptor-driver.js';
|
|
9
|
+
export { detectWorkspaceCapability, workspaceDriver, } from './workspace-driver.js';
|
|
10
|
+
export { detectScenesCapability, scenesDriver, } from './scenes-driver.js';
|
|
11
|
+
export { detectSettingsCapability, settingsDriver, } from './settings-driver.js';
|
|
12
|
+
export { detectPresentationCapability, presentationDriver, } from './presentation-driver.js';
|
|
13
|
+
export { detectDecisionsCapability, decisionsDriver, } from './decisions-driver.js';
|
|
14
|
+
export { detectStatusCapability, detectShortcutsCapability, detectRenderersCapability, detectThemesCapability, detectToastCapability, detectCommandTreesCapability, statusDriver, shortcutsDriver, renderersDriver, themesDriver, toastDriver, commandTreesDriver, } from './extensions-driver.js';
|
|
15
|
+
export { detectChannelCapability, verifyChannelLive, channelDriver, } from './channel-driver.js';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI presentation capability.
|
|
3
|
+
*
|
|
4
|
+
* Presentation is fundamentally interactive: ask/approve/confirm require a
|
|
5
|
+
* human answer and cannot be safely auto-reversed without producing user-
|
|
6
|
+
* visible UI. This driver therefore stays honest:
|
|
7
|
+
* - detect() reports the service/method topology as `degraded` until a real
|
|
8
|
+
* reversible presentation probe exists;
|
|
9
|
+
* - verifyLive() returns a degraded lifecycle and never fabricates `live`.
|
|
10
|
+
* The only thin port surface mounted today is the host dialog queue; ask and
|
|
11
|
+
* approve are intentionally staged and fail closed.
|
|
12
|
+
*/
|
|
13
|
+
import type { Detection } from './detection.js';
|
|
14
|
+
import type { UpstreamDriver } from './driver.js';
|
|
15
|
+
export declare function detectPresentationCapability(ctx: unknown): Detection;
|
|
16
|
+
export declare const presentationDriver: UpstreamDriver;
|
|
17
|
+
//# sourceMappingURL=presentation-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentation-driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/presentation-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAA;AAqBtE,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAmBpE;AA0ED,eAAO,MAAM,kBAAkB,EAAE,cAWhC,CAAA"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI presentation capability.
|
|
3
|
+
*
|
|
4
|
+
* Presentation is fundamentally interactive: ask/approve/confirm require a
|
|
5
|
+
* human answer and cannot be safely auto-reversed without producing user-
|
|
6
|
+
* visible UI. This driver therefore stays honest:
|
|
7
|
+
* - detect() reports the service/method topology as `degraded` until a real
|
|
8
|
+
* reversible presentation probe exists;
|
|
9
|
+
* - verifyLive() returns a degraded lifecycle and never fabricates `live`.
|
|
10
|
+
* The only thin port surface mounted today is the host dialog queue; ask and
|
|
11
|
+
* approve are intentionally staged and fail closed.
|
|
12
|
+
*/
|
|
13
|
+
import { lifecycleFromDetection } from '../kernel/lifecycle.js';
|
|
14
|
+
import { getHostDialogStore } from '../../dsh-adapter/dialogs.js';
|
|
15
|
+
import { getQuestionStore } from '../../dsh-adapter/questions.js';
|
|
16
|
+
import { getApprovalStore } from '../../dsh-adapter/approvals.js';
|
|
17
|
+
const CAPABILITY = 'host.presentation';
|
|
18
|
+
function serviceEvidence(id) {
|
|
19
|
+
return { kind: 'service', id };
|
|
20
|
+
}
|
|
21
|
+
function methodEvidence(service, method) {
|
|
22
|
+
return { kind: 'method', id: `${service}:${method}` };
|
|
23
|
+
}
|
|
24
|
+
function probeEvidence(id, detail) {
|
|
25
|
+
return { kind: 'probe', id, detail };
|
|
26
|
+
}
|
|
27
|
+
export function detectPresentationCapability(ctx) {
|
|
28
|
+
const service = ctx?.get?.('tuiDialogs');
|
|
29
|
+
if (service === undefined) {
|
|
30
|
+
return { state: 'unsupported', reason: 'tuiDialogs service is not mounted' };
|
|
31
|
+
}
|
|
32
|
+
const evidence = [serviceEvidence('tuiDialogs')];
|
|
33
|
+
for (const method of ['select', 'confirm', 'input']) {
|
|
34
|
+
if (typeof service[method] === 'function') {
|
|
35
|
+
evidence.push(methodEvidence('tuiDialogs', method));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
state: 'degraded',
|
|
40
|
+
missing: ['reversible-presentation-probe'],
|
|
41
|
+
evidence: [
|
|
42
|
+
...evidence,
|
|
43
|
+
probeEvidence('presentation.interactive', 'ask/approve/confirm require human interaction; no safe auto-reversible live probe in P3'),
|
|
44
|
+
],
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
async function verifyPresentationLive(ctx) {
|
|
48
|
+
const detection = detectPresentationCapability(ctx);
|
|
49
|
+
if (detection.state === 'unsupported') {
|
|
50
|
+
return [lifecycleFromDetection(CAPABILITY, detection)];
|
|
51
|
+
}
|
|
52
|
+
return [lifecycleFromDetection(CAPABILITY, {
|
|
53
|
+
state: 'degraded',
|
|
54
|
+
missing: ['reversible-presentation-probe'],
|
|
55
|
+
evidence: detection.evidence ?? [],
|
|
56
|
+
})];
|
|
57
|
+
}
|
|
58
|
+
function createPresentationPort(ctx) {
|
|
59
|
+
const service = ctx?.get?.('tuiDialogs');
|
|
60
|
+
const store = service === undefined ? undefined : (() => {
|
|
61
|
+
try {
|
|
62
|
+
return getHostDialogStore(service);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
})();
|
|
68
|
+
return Object.freeze({
|
|
69
|
+
async ask(request) {
|
|
70
|
+
const questionStore = getQuestionStore(ctx);
|
|
71
|
+
if (questionStore === undefined) {
|
|
72
|
+
throw new Error('dsh-tui: host.presentation.ask is unavailable because no QuestionStore is mounted in this composition');
|
|
73
|
+
}
|
|
74
|
+
const answer = await questionStore.ask({
|
|
75
|
+
questions: request.questions.map(item => ({
|
|
76
|
+
id: item.id,
|
|
77
|
+
question: item.question,
|
|
78
|
+
...(item.options === undefined ? {} : {
|
|
79
|
+
options: item.options.map(label => ({ label })),
|
|
80
|
+
}),
|
|
81
|
+
...(item.multiple === true ? { multiSelect: true } : {}),
|
|
82
|
+
})),
|
|
83
|
+
});
|
|
84
|
+
return { answers: answer.answers };
|
|
85
|
+
},
|
|
86
|
+
async approve(_request) {
|
|
87
|
+
// P3: approval is intentionally staged on the Host Port because a real
|
|
88
|
+
// ApprovalStore.park() needs the DSH ApprovalRequest's live agent/session
|
|
89
|
+
// context, which this internal Port does not carry. It is not silently
|
|
90
|
+
// pretending to be a working approval path.
|
|
91
|
+
const approvalStore = getApprovalStore(ctx);
|
|
92
|
+
if (approvalStore === undefined) {
|
|
93
|
+
throw new Error('dsh-tui: host.presentation.approve is unavailable because no ApprovalStore is mounted in this composition');
|
|
94
|
+
}
|
|
95
|
+
throw new Error('dsh-tui: host.presentation.approve is staged in P3; use the DSH approval/request waterfall which carries a live ApprovalRequest');
|
|
96
|
+
},
|
|
97
|
+
dialog(request) {
|
|
98
|
+
if (store === undefined)
|
|
99
|
+
return Promise.resolve(undefined);
|
|
100
|
+
const snapshot = {
|
|
101
|
+
kind: request.kind,
|
|
102
|
+
title: request.title,
|
|
103
|
+
...(request.kind === 'select' ? { options: request.options } : {}),
|
|
104
|
+
...(request.kind === 'confirm' ? {
|
|
105
|
+
...(request.message === undefined ? {} : { message: request.message }),
|
|
106
|
+
confirmLabel: request.confirmLabel ?? 'OK',
|
|
107
|
+
cancelLabel: request.cancelLabel ?? 'Cancel',
|
|
108
|
+
} : {}),
|
|
109
|
+
...(request.kind === 'input' ? {
|
|
110
|
+
...(request.placeholder === undefined ? {} : { placeholder: request.placeholder }),
|
|
111
|
+
initial: request.initial ?? '',
|
|
112
|
+
} : {}),
|
|
113
|
+
};
|
|
114
|
+
return store.ask(snapshot, request.signal, request.timeoutMs);
|
|
115
|
+
},
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
export const presentationDriver = {
|
|
119
|
+
id: 'dsh-tui-presentation',
|
|
120
|
+
upstreamFamily: 'dsh-tui',
|
|
121
|
+
capability: 'host.presentation',
|
|
122
|
+
mountEffectClass: 'mutate',
|
|
123
|
+
detect: detectPresentationCapability,
|
|
124
|
+
verifyLive: verifyPresentationLive,
|
|
125
|
+
async mount(context) {
|
|
126
|
+
const ports = { presentation: createPresentationPort(context) };
|
|
127
|
+
return { disposer: () => undefined, ports };
|
|
128
|
+
},
|
|
129
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI scenes capability.
|
|
3
|
+
*
|
|
4
|
+
* Scenes are a register-class capability. The driver performs a real
|
|
5
|
+
* reversible probe through the host-only scenes facade: register a uniquely
|
|
6
|
+
* named temporary scene, list it, dispose it, then prove the same name can
|
|
7
|
+
* be registered again (no residue). It never opens the scene during the
|
|
8
|
+
* probe, so no visible UI mutation is caused.
|
|
9
|
+
*
|
|
10
|
+
* Publication is feature-level: register/list are live only after the
|
|
11
|
+
* reversible no-residue probe; open/close/active/subscribe are not safely
|
|
12
|
+
* auto-verifiable in P3 and stay degraded.
|
|
13
|
+
*/
|
|
14
|
+
import type { Detection } from './detection.js';
|
|
15
|
+
import type { UpstreamDriver } from './driver.js';
|
|
16
|
+
export declare function detectScenesCapability(ctx: unknown): Detection;
|
|
17
|
+
export declare const scenesDriver: UpstreamDriver;
|
|
18
|
+
//# sourceMappingURL=scenes-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scenes-driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/scenes-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAA;AAwDtE,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAmB9D;AA4ED,eAAO,MAAM,YAAY,EAAE,cAY1B,CAAA"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI scenes capability.
|
|
3
|
+
*
|
|
4
|
+
* Scenes are a register-class capability. The driver performs a real
|
|
5
|
+
* reversible probe through the host-only scenes facade: register a uniquely
|
|
6
|
+
* named temporary scene, list it, dispose it, then prove the same name can
|
|
7
|
+
* be registered again (no residue). It never opens the scene during the
|
|
8
|
+
* probe, so no visible UI mutation is caused.
|
|
9
|
+
*
|
|
10
|
+
* Publication is feature-level: register/list are live only after the
|
|
11
|
+
* reversible no-residue probe; open/close/active/subscribe are not safely
|
|
12
|
+
* auto-verifiable in P3 and stay degraded.
|
|
13
|
+
*/
|
|
14
|
+
import { randomUUID } from 'node:crypto';
|
|
15
|
+
import { lifecycleFromDetection } from '../kernel/lifecycle.js';
|
|
16
|
+
import { getHostSceneRuntime } from '../../dsh-adapter/scenes.js';
|
|
17
|
+
const CAPABILITY = 'host.scenes';
|
|
18
|
+
const SCENE_FEATURES = Object.freeze([
|
|
19
|
+
'host.scenes.register',
|
|
20
|
+
'host.scenes.list',
|
|
21
|
+
'host.scenes.open',
|
|
22
|
+
'host.scenes.close',
|
|
23
|
+
'host.scenes.active',
|
|
24
|
+
'host.scenes.subscribe',
|
|
25
|
+
]);
|
|
26
|
+
function serviceEvidence(id) {
|
|
27
|
+
return { kind: 'service', id };
|
|
28
|
+
}
|
|
29
|
+
function methodEvidence(service, method) {
|
|
30
|
+
return { kind: 'method', id: `${service}:${method}` };
|
|
31
|
+
}
|
|
32
|
+
function probeEvidence(id, detail) {
|
|
33
|
+
return { kind: 'probe', id, detail };
|
|
34
|
+
}
|
|
35
|
+
function errorText(error) {
|
|
36
|
+
return error instanceof Error ? error.message : String(error);
|
|
37
|
+
}
|
|
38
|
+
function sceneHost(ctx) {
|
|
39
|
+
const service = ctx?.get?.('tuiScenes');
|
|
40
|
+
if (service === undefined)
|
|
41
|
+
return undefined;
|
|
42
|
+
try {
|
|
43
|
+
return getHostSceneRuntime(service);
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return undefined;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function degradedFeature(capability, evidence, missing) {
|
|
50
|
+
return lifecycleFromDetection(capability, {
|
|
51
|
+
state: 'degraded',
|
|
52
|
+
missing: [missing],
|
|
53
|
+
evidence,
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
function liveFeature(capability, evidence) {
|
|
57
|
+
return lifecycleFromDetection(capability, {
|
|
58
|
+
state: 'supported',
|
|
59
|
+
evidence,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
export function detectScenesCapability(ctx) {
|
|
63
|
+
const service = ctx?.get?.('tuiScenes');
|
|
64
|
+
if (service === undefined) {
|
|
65
|
+
return { state: 'unsupported', reason: 'tuiScenes service is not mounted' };
|
|
66
|
+
}
|
|
67
|
+
const evidence = [serviceEvidence('tuiScenes')];
|
|
68
|
+
const host = sceneHost(ctx);
|
|
69
|
+
if (host === undefined) {
|
|
70
|
+
return { state: 'degraded', missing: ['tuiScenes host facade'], evidence };
|
|
71
|
+
}
|
|
72
|
+
const methods = ['register', 'list', 'open', 'close', 'subscribe'];
|
|
73
|
+
for (const method of methods) {
|
|
74
|
+
if (typeof host[method] === 'function') {
|
|
75
|
+
evidence.push(methodEvidence('tuiScenes', method));
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
return { state: 'degraded', missing: [`tuiScenes.${method}()`], evidence };
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return { state: 'supported', evidence };
|
|
82
|
+
}
|
|
83
|
+
async function verifyScenesLive(ctx) {
|
|
84
|
+
const host = sceneHost(ctx);
|
|
85
|
+
const baseEvidence = [serviceEvidence('tuiScenes')];
|
|
86
|
+
if (host === undefined) {
|
|
87
|
+
return SCENE_FEATURES.map(feature => degradedFeature(feature, baseEvidence, `${feature}.live-probe`));
|
|
88
|
+
}
|
|
89
|
+
const evidence = [serviceEvidence('tuiScenes')];
|
|
90
|
+
const missing = [];
|
|
91
|
+
const id = `dsh_tui_probe_${randomUUID().replace(/-/g, '').slice(0, 12)}`;
|
|
92
|
+
const descriptor = {
|
|
93
|
+
id,
|
|
94
|
+
title: 'dsh-tui reversible scene probe',
|
|
95
|
+
component: () => undefined,
|
|
96
|
+
};
|
|
97
|
+
let dispose;
|
|
98
|
+
let registerLive = false;
|
|
99
|
+
try {
|
|
100
|
+
dispose = host.register(descriptor);
|
|
101
|
+
const listed = host.list();
|
|
102
|
+
if (!Array.isArray(listed) || !listed.some(scene => scene.id === id)) {
|
|
103
|
+
missing.push('tuiScenes.register/list()');
|
|
104
|
+
throw new Error('temporary scene was not visible through list()');
|
|
105
|
+
}
|
|
106
|
+
evidence.push(probeEvidence(`tuiScenes.register+dispose(${id})`, 'temporary scene registered and listed'));
|
|
107
|
+
dispose();
|
|
108
|
+
dispose = undefined;
|
|
109
|
+
// No-residue proof: the same id must be registrable again.
|
|
110
|
+
const second = host.register(descriptor);
|
|
111
|
+
second();
|
|
112
|
+
evidence.push(probeEvidence(`tuiScenes.dispose(${id})`, 'temporary scene removed; same id re-register succeeded'));
|
|
113
|
+
registerLive = true;
|
|
114
|
+
}
|
|
115
|
+
catch (error) {
|
|
116
|
+
missing.push('tuiScenes.reversible-live-probe');
|
|
117
|
+
evidence.push(probeEvidence('tuiScenes.reversible-live-probe', errorText(error)));
|
|
118
|
+
}
|
|
119
|
+
finally {
|
|
120
|
+
try {
|
|
121
|
+
dispose?.();
|
|
122
|
+
}
|
|
123
|
+
catch {
|
|
124
|
+
// Best-effort cleanup.
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
const out = [];
|
|
128
|
+
out.push(registerLive
|
|
129
|
+
? liveFeature('host.scenes.register', evidence)
|
|
130
|
+
: degradedFeature('host.scenes.register', evidence, 'tuiScenes.reversible-live-probe'));
|
|
131
|
+
if (registerLive) {
|
|
132
|
+
out.push(liveFeature('host.scenes.list', [
|
|
133
|
+
serviceEvidence('tuiScenes'),
|
|
134
|
+
methodEvidence('tuiScenes', 'list'),
|
|
135
|
+
probeEvidence('tuiScenes.list()', 'temporary scene visible through list()'),
|
|
136
|
+
]));
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
out.push(degradedFeature('host.scenes.list', [serviceEvidence('tuiScenes'), methodEvidence('tuiScenes', 'list')], 'tuiScenes.list() live-probe'));
|
|
140
|
+
}
|
|
141
|
+
for (const feature of ['host.scenes.open', 'host.scenes.close', 'host.scenes.active', 'host.scenes.subscribe']) {
|
|
142
|
+
out.push(degradedFeature(feature, [serviceEvidence('tuiScenes')], `${feature}.live-probe`));
|
|
143
|
+
}
|
|
144
|
+
return out;
|
|
145
|
+
}
|
|
146
|
+
function createScenesPort(host) {
|
|
147
|
+
return Object.freeze({
|
|
148
|
+
register: descriptor => host.register(descriptor),
|
|
149
|
+
list: () => host.list(),
|
|
150
|
+
open: id => host.open(id),
|
|
151
|
+
close: () => host.close(),
|
|
152
|
+
get active() {
|
|
153
|
+
return host.active;
|
|
154
|
+
},
|
|
155
|
+
subscribe: listener => host.subscribe(listener),
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
export const scenesDriver = {
|
|
159
|
+
id: 'dsh-tui-scenes',
|
|
160
|
+
upstreamFamily: 'dsh-tui',
|
|
161
|
+
capability: 'host.scenes',
|
|
162
|
+
mountEffectClass: 'register',
|
|
163
|
+
detect: detectScenesCapability,
|
|
164
|
+
verifyLive: verifyScenesLive,
|
|
165
|
+
async mount(context) {
|
|
166
|
+
const host = sceneHost(context);
|
|
167
|
+
const ports = host === undefined ? undefined : { scenes: createScenesPort(host) };
|
|
168
|
+
return { disposer: () => undefined, ...(ports === undefined ? {} : { ports }) };
|
|
169
|
+
},
|
|
170
|
+
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI settings-section capability.
|
|
3
|
+
*
|
|
4
|
+
* Settings sections are a register-class host extension. The driver performs
|
|
5
|
+
* a reversible probe through the host-only settings facade: register a
|
|
6
|
+
* uniquely named temporary section, list it, dispose it, then prove the same
|
|
7
|
+
* namespace can be registered again (no residue).
|
|
8
|
+
*
|
|
9
|
+
* Publication is feature-level: register/list/section are live after the
|
|
10
|
+
* reversible no-residue probe; subscribe stays degraded in P3 because the
|
|
11
|
+
* probe does not own a real subscriber lifecycle.
|
|
12
|
+
*/
|
|
13
|
+
import type { CapabilityLifecycle } from '../kernel/lifecycle.js';
|
|
14
|
+
import type { Detection } from './detection.js';
|
|
15
|
+
import type { UpstreamDriver } from './driver.js';
|
|
16
|
+
import { type TuiSettingsSectionsHost } from '../../dsh-adapter/settings-sections.js';
|
|
17
|
+
export declare function detectSettingsCapability(ctx: unknown): Detection;
|
|
18
|
+
export declare function verifySettingsLiveForHost(host: TuiSettingsSectionsHost | undefined): Promise<CapabilityLifecycle[]>;
|
|
19
|
+
export declare const settingsDriver: UpstreamDriver;
|
|
20
|
+
//# sourceMappingURL=settings-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings-driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/settings-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAEjE,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAA;AACtE,OAAO,EAA2B,KAAK,uBAAuB,EAAE,MAAM,wCAAwC,CAAA;AAqD9G,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAqBhE;AAED,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,uBAAuB,GAAG,SAAS,GACxC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAiEhC;AAeD,eAAO,MAAM,cAAc,EAAE,cAY5B,CAAA"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI settings-section capability.
|
|
3
|
+
*
|
|
4
|
+
* Settings sections are a register-class host extension. The driver performs
|
|
5
|
+
* a reversible probe through the host-only settings facade: register a
|
|
6
|
+
* uniquely named temporary section, list it, dispose it, then prove the same
|
|
7
|
+
* namespace can be registered again (no residue).
|
|
8
|
+
*
|
|
9
|
+
* Publication is feature-level: register/list/section are live after the
|
|
10
|
+
* reversible no-residue probe; subscribe stays degraded in P3 because the
|
|
11
|
+
* probe does not own a real subscriber lifecycle.
|
|
12
|
+
*/
|
|
13
|
+
import { randomUUID } from 'node:crypto';
|
|
14
|
+
import { lifecycleFromDetection } from '../kernel/lifecycle.js';
|
|
15
|
+
import { getHostSettingsSections } from '../../dsh-adapter/settings-sections.js';
|
|
16
|
+
const CAPABILITY = 'host.settings';
|
|
17
|
+
const SETTINGS_FEATURES = Object.freeze([
|
|
18
|
+
'host.settings.register',
|
|
19
|
+
'host.settings.list',
|
|
20
|
+
'host.settings.section',
|
|
21
|
+
'host.settings.subscribe',
|
|
22
|
+
]);
|
|
23
|
+
function serviceEvidence(id) {
|
|
24
|
+
return { kind: 'service', id };
|
|
25
|
+
}
|
|
26
|
+
function methodEvidence(service, method) {
|
|
27
|
+
return { kind: 'method', id: `${service}:${method}` };
|
|
28
|
+
}
|
|
29
|
+
function probeEvidence(id, detail) {
|
|
30
|
+
return { kind: 'probe', id, detail };
|
|
31
|
+
}
|
|
32
|
+
function errorText(error) {
|
|
33
|
+
return error instanceof Error ? error.message : String(error);
|
|
34
|
+
}
|
|
35
|
+
function settingsHost(ctx) {
|
|
36
|
+
const service = ctx?.get?.('tuiSettingsSections');
|
|
37
|
+
if (service === undefined)
|
|
38
|
+
return undefined;
|
|
39
|
+
try {
|
|
40
|
+
return getHostSettingsSections(service);
|
|
41
|
+
}
|
|
42
|
+
catch {
|
|
43
|
+
return undefined;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function degradedFeature(capability, evidence, missing) {
|
|
47
|
+
return lifecycleFromDetection(capability, {
|
|
48
|
+
state: 'degraded',
|
|
49
|
+
missing: [missing],
|
|
50
|
+
evidence,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
function liveFeature(capability, evidence) {
|
|
54
|
+
return lifecycleFromDetection(capability, {
|
|
55
|
+
state: 'supported',
|
|
56
|
+
evidence,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export function detectSettingsCapability(ctx) {
|
|
60
|
+
const service = ctx?.get?.('tuiSettingsSections');
|
|
61
|
+
if (service === undefined) {
|
|
62
|
+
return { state: 'unsupported', reason: 'tuiSettingsSections service is not mounted' };
|
|
63
|
+
}
|
|
64
|
+
const evidence = [serviceEvidence('tuiSettingsSections')];
|
|
65
|
+
const host = settingsHost(ctx);
|
|
66
|
+
if (host === undefined) {
|
|
67
|
+
return { state: 'degraded', missing: ['tuiSettingsSections host facade'], evidence };
|
|
68
|
+
}
|
|
69
|
+
for (const method of ['register', 'list', 'subscribe']) {
|
|
70
|
+
if (typeof host[method] === 'function') {
|
|
71
|
+
evidence.push(methodEvidence('tuiSettingsSections', method));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return { state: 'degraded', missing: [`tuiSettingsSections.${method}()`], evidence };
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
return {
|
|
78
|
+
state: 'supported',
|
|
79
|
+
evidence: [...evidence, probeEvidence('tuiSettingsSections.host()', 'host settings facade is present')],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export async function verifySettingsLiveForHost(host) {
|
|
83
|
+
const baseEvidence = [serviceEvidence('tuiSettingsSections')];
|
|
84
|
+
if (host === undefined) {
|
|
85
|
+
return SETTINGS_FEATURES.map(feature => degradedFeature(feature, baseEvidence, `${feature}.live-probe`));
|
|
86
|
+
}
|
|
87
|
+
const evidence = [serviceEvidence('tuiSettingsSections')];
|
|
88
|
+
const missing = [];
|
|
89
|
+
const ns = `dsh_tui_probe_${randomUUID().replace(/-/g, '').slice(0, 12)}`;
|
|
90
|
+
const section = {
|
|
91
|
+
ns,
|
|
92
|
+
title: 'dsh-tui reversible settings probe',
|
|
93
|
+
fields: [],
|
|
94
|
+
};
|
|
95
|
+
let dispose;
|
|
96
|
+
let registerLive = false;
|
|
97
|
+
try {
|
|
98
|
+
dispose = host.register(section);
|
|
99
|
+
const listed = host.list();
|
|
100
|
+
if (!Array.isArray(listed) || !listed.some(entry => entry.ns === ns)) {
|
|
101
|
+
missing.push('tuiSettingsSections.register/list()');
|
|
102
|
+
throw new Error('temporary settings section was not visible through list()');
|
|
103
|
+
}
|
|
104
|
+
evidence.push(probeEvidence(`tuiSettingsSections.register+list(${ns})`, 'temporary settings section registered and listed'));
|
|
105
|
+
const resolved = host.section(ns);
|
|
106
|
+
if (resolved === undefined || resolved.ns !== ns) {
|
|
107
|
+
missing.push('tuiSettingsSections.section()');
|
|
108
|
+
throw new Error('temporary settings section was not resolvable through section()');
|
|
109
|
+
}
|
|
110
|
+
evidence.push(probeEvidence(`tuiSettingsSections.section(${ns})`, 'temporary settings section resolvable by namespace'));
|
|
111
|
+
dispose();
|
|
112
|
+
dispose = undefined;
|
|
113
|
+
const second = host.register(section);
|
|
114
|
+
second();
|
|
115
|
+
evidence.push(probeEvidence(`tuiSettingsSections.dispose(${ns})`, 'temporary settings section removed; same ns re-register succeeded'));
|
|
116
|
+
registerLive = true;
|
|
117
|
+
}
|
|
118
|
+
catch (error) {
|
|
119
|
+
missing.push('tuiSettingsSections.reversible-live-probe');
|
|
120
|
+
evidence.push(probeEvidence('tuiSettingsSections.reversible-live-probe', errorText(error)));
|
|
121
|
+
}
|
|
122
|
+
finally {
|
|
123
|
+
try {
|
|
124
|
+
dispose?.();
|
|
125
|
+
}
|
|
126
|
+
catch {
|
|
127
|
+
// Best-effort cleanup.
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const out = [];
|
|
131
|
+
out.push(registerLive
|
|
132
|
+
? liveFeature('host.settings.register', evidence)
|
|
133
|
+
: degradedFeature('host.settings.register', evidence, 'tuiSettingsSections.reversible-live-probe'));
|
|
134
|
+
out.push(registerLive
|
|
135
|
+
? liveFeature('host.settings.list', [
|
|
136
|
+
serviceEvidence('tuiSettingsSections'),
|
|
137
|
+
methodEvidence('tuiSettingsSections', 'list'),
|
|
138
|
+
probeEvidence('tuiSettingsSections.list()', 'temporary settings section visible through list()'),
|
|
139
|
+
])
|
|
140
|
+
: degradedFeature('host.settings.list', [serviceEvidence('tuiSettingsSections'), methodEvidence('tuiSettingsSections', 'list')], 'tuiSettingsSections.list() live-probe'));
|
|
141
|
+
out.push(registerLive
|
|
142
|
+
? liveFeature('host.settings.section', [
|
|
143
|
+
serviceEvidence('tuiSettingsSections'),
|
|
144
|
+
probeEvidence('tuiSettingsSections.section()', 'temporary settings section resolvable by namespace'),
|
|
145
|
+
])
|
|
146
|
+
: degradedFeature('host.settings.section', [serviceEvidence('tuiSettingsSections')], 'tuiSettingsSections.section() live-probe'));
|
|
147
|
+
out.push(degradedFeature('host.settings.subscribe', [serviceEvidence('tuiSettingsSections'), methodEvidence('tuiSettingsSections', 'subscribe')], 'host.settings.subscribe.live-probe'));
|
|
148
|
+
return out;
|
|
149
|
+
}
|
|
150
|
+
async function verifySettingsLive(ctx) {
|
|
151
|
+
return verifySettingsLiveForHost(settingsHost(ctx));
|
|
152
|
+
}
|
|
153
|
+
function createSettingsPort(host) {
|
|
154
|
+
return Object.freeze({
|
|
155
|
+
register: section => host.register(section),
|
|
156
|
+
list: () => host.list(),
|
|
157
|
+
section: ns => host.section(ns),
|
|
158
|
+
subscribe: listener => host.subscribe(listener),
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
export const settingsDriver = {
|
|
162
|
+
id: 'dsh-tui-settings',
|
|
163
|
+
upstreamFamily: 'dsh-tui',
|
|
164
|
+
capability: 'host.settings',
|
|
165
|
+
mountEffectClass: 'register',
|
|
166
|
+
detect: detectSettingsCapability,
|
|
167
|
+
verifyLive: verifySettingsLive,
|
|
168
|
+
async mount(context) {
|
|
169
|
+
const host = settingsHost(context);
|
|
170
|
+
const ports = host === undefined ? undefined : { settings: createSettingsPort(host) };
|
|
171
|
+
return { disposer: () => undefined, ...(ports === undefined ? {} : { ports }) };
|
|
172
|
+
},
|
|
173
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Upstream driver for the TUI workspace capability.
|
|
3
|
+
*
|
|
4
|
+
* This driver detects the `tuiWorkspaces` service and its host-only facade,
|
|
5
|
+
* performs real read-only enumeration/resolution probes in `verifyLive`, and
|
|
6
|
+
* mounts a thin Host Workspace Port over the same legacy host facade. It
|
|
7
|
+
* deliberately does not import Standard/Spec and does not define protocol
|
|
8
|
+
* semantics.
|
|
9
|
+
*
|
|
10
|
+
* Publication is feature-level: only the methods actually verified by a
|
|
11
|
+
* read-only/reversible probe are promoted to live. Mutating methods
|
|
12
|
+
* (rename/runCommand) and command-shell execution remain degraded in P3
|
|
13
|
+
* because they cannot be safely auto-reversed on a real host.
|
|
14
|
+
*/
|
|
15
|
+
import type { Detection } from './detection.js';
|
|
16
|
+
import type { UpstreamDriver } from './driver.js';
|
|
17
|
+
export declare function detectWorkspaceCapability(ctx: unknown): Detection;
|
|
18
|
+
export declare const workspaceDriver: UpstreamDriver;
|
|
19
|
+
//# sourceMappingURL=workspace-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-driver.d.ts","sourceRoot":"","sources":["../../../../src/adapter/upstream/workspace-driver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,gBAAgB,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAuB,MAAM,aAAa,CAAA;AA0DtE,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,SAAS,CAqBjE;AA8FD,eAAO,MAAM,eAAe,EAAE,cAY7B,CAAA"}
|