@deepseek-harness-tui/dsh-tui 0.10.0 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +146 -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 +227 -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/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/MessageList.d.ts.map +1 -1
- package/lib/types/components/MessageList.js +36 -8
- 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/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 +60 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/binding-events.js +159 -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 +34 -0
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/input-delivery.js +241 -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 +184 -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 +121 -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 +132 -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 +27 -0
- package/lib/types/dsh-adapter/channel/skill-catalog.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/skill-catalog.js +183 -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 +750 -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 +3 -1
- package/lib/types/dsh-adapter/compat/liveSession.d.ts.map +1 -1
- package/lib/types/dsh-adapter/compat/liveSession.js +23 -0
- 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/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 +25 -14
- package/lib/types/dsh-adapter/sessions/types.d.ts +2 -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/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 +103 -4
- 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/modelGroups.d.ts +1 -1
- package/lib/types/modelGroups.d.ts.map +1 -1
- package/lib/types/modelRoute.js +1 -1
- 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 +71 -9
- 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 +124 -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,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-internal Channel registry for the adapter Kernel.
|
|
3
|
+
*
|
|
4
|
+
* The live `Channel` is created by the TUI plugin row after the plugin-host
|
|
5
|
+
* Kernel may already have been constructed/mounted. Rather than trying to
|
|
6
|
+
* reorder service mounting, the TUI stores the live Channel under its
|
|
7
|
+
* composition root in a WeakMap; the Channel driver resolves it lazily when
|
|
8
|
+
* a Port method is actually called. This keeps the Kernel's composition
|
|
9
|
+
* independent of the TUI render lifecycle.
|
|
10
|
+
*
|
|
11
|
+
* Every entry is normalized to the Cordis composition root before it is used
|
|
12
|
+
* as a WeakMap key: a child/plugin context passed by a caller must never
|
|
13
|
+
* create a registry entry that the Kernel (which queries through the root)
|
|
14
|
+
* cannot resolve.
|
|
15
|
+
*/
|
|
16
|
+
export type TuiChannelRegistration = Readonly<{
|
|
17
|
+
channel: unknown;
|
|
18
|
+
token: symbol;
|
|
19
|
+
}>;
|
|
20
|
+
/** Register the live Channel for a composition root.
|
|
21
|
+
* @returns A token-safe disposer. Registrations have identity independent of
|
|
22
|
+
* their Channel object: A → B → A and repeated registration of the same
|
|
23
|
+
* Channel cannot let an older disposer erase or revive the current entry.
|
|
24
|
+
*/
|
|
25
|
+
export declare function registerTuiChannel(ctx: unknown, channel: unknown): () => boolean;
|
|
26
|
+
/** Resolve the live Channel for a composition root. */
|
|
27
|
+
export declare function getRegisteredTuiChannel(ctx: unknown): unknown | undefined;
|
|
28
|
+
/** Return the current registration identity, not only its Channel object. */
|
|
29
|
+
export declare function getTuiChannelRegistration(ctx: unknown): TuiChannelRegistration | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Subscribe to live-Channel registration for one composition root.
|
|
32
|
+
*
|
|
33
|
+
* The Kernel uses this to re-run a refresh/mount when the TUI plugin creates
|
|
34
|
+
* and registers its Channel after the plugin-host row has already started.
|
|
35
|
+
* Returns a disposer; listeners are keyed by normalized composition root.
|
|
36
|
+
*/
|
|
37
|
+
export declare function onTuiChannelRegistered(ctx: unknown, listener: (channel: unknown) => void): () => void;
|
|
38
|
+
/** Subscribe to registration identities for consumers that own capabilities. */
|
|
39
|
+
export declare function onTuiChannelRegistration(ctx: unknown, listener: (registration: TuiChannelRegistration | undefined) => void): () => void;
|
|
40
|
+
//# sourceMappingURL=host-registry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-registry.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/host-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAgBlF;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,OAAO,CAehF;AAyBD,uDAAuD;AACvD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAEzE;AAED,6EAA6E;AAC7E,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,GAAG,sBAAsB,GAAG,SAAS,CAG1F;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GACnC,MAAM,IAAI,CAUZ;AAED,gFAAgF;AAChF,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,OAAO,EACZ,QAAQ,EAAE,CAAC,YAAY,EAAE,sBAAsB,GAAG,SAAS,KAAK,IAAI,GACnE,MAAM,IAAI,CAUZ"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Host-internal Channel registry for the adapter Kernel.
|
|
3
|
+
*
|
|
4
|
+
* The live `Channel` is created by the TUI plugin row after the plugin-host
|
|
5
|
+
* Kernel may already have been constructed/mounted. Rather than trying to
|
|
6
|
+
* reorder service mounting, the TUI stores the live Channel under its
|
|
7
|
+
* composition root in a WeakMap; the Channel driver resolves it lazily when
|
|
8
|
+
* a Port method is actually called. This keeps the Kernel's composition
|
|
9
|
+
* independent of the TUI render lifecycle.
|
|
10
|
+
*
|
|
11
|
+
* Every entry is normalized to the Cordis composition root before it is used
|
|
12
|
+
* as a WeakMap key: a child/plugin context passed by a caller must never
|
|
13
|
+
* create a registry entry that the Kernel (which queries through the root)
|
|
14
|
+
* cannot resolve.
|
|
15
|
+
*/
|
|
16
|
+
import { compositionRoot } from '../../dsh-adapter/host-access.js';
|
|
17
|
+
const channels = new WeakMap();
|
|
18
|
+
const channelListeners = new WeakMap();
|
|
19
|
+
const registrationListeners = new WeakMap();
|
|
20
|
+
function rootKey(ctx) {
|
|
21
|
+
if (ctx === null || (typeof ctx !== 'object' && typeof ctx !== 'function'))
|
|
22
|
+
return undefined;
|
|
23
|
+
try {
|
|
24
|
+
return compositionRoot(ctx);
|
|
25
|
+
}
|
|
26
|
+
catch {
|
|
27
|
+
// Non-Cordis test values / minimal embedders are their own root.
|
|
28
|
+
return ctx;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/** Register the live Channel for a composition root.
|
|
32
|
+
* @returns A token-safe disposer. Registrations have identity independent of
|
|
33
|
+
* their Channel object: A → B → A and repeated registration of the same
|
|
34
|
+
* Channel cannot let an older disposer erase or revive the current entry.
|
|
35
|
+
*/
|
|
36
|
+
export function registerTuiChannel(ctx, channel) {
|
|
37
|
+
const key = rootKey(ctx);
|
|
38
|
+
if (key === undefined)
|
|
39
|
+
return () => false;
|
|
40
|
+
const registration = Object.freeze({ channel, token: Symbol('tui-channel-registration') });
|
|
41
|
+
channels.set(key, registration);
|
|
42
|
+
notifyChannelListeners(key, registration);
|
|
43
|
+
let disposed = false;
|
|
44
|
+
return () => {
|
|
45
|
+
if (disposed)
|
|
46
|
+
return false;
|
|
47
|
+
disposed = true;
|
|
48
|
+
if (channels.get(key)?.token !== registration.token)
|
|
49
|
+
return false;
|
|
50
|
+
channels.delete(key);
|
|
51
|
+
notifyChannelListeners(key, undefined);
|
|
52
|
+
return true;
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function notifyChannelListeners(key, registration) {
|
|
56
|
+
const listeners = channelListeners.get(key);
|
|
57
|
+
if (listeners !== undefined) {
|
|
58
|
+
for (const listener of [...listeners]) {
|
|
59
|
+
try {
|
|
60
|
+
listener(registration?.channel);
|
|
61
|
+
}
|
|
62
|
+
catch {
|
|
63
|
+
// A registration notification is advisory; one faulty listener must not
|
|
64
|
+
// prevent the Channel from being stored.
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
const identityListeners = registrationListeners.get(key);
|
|
69
|
+
if (identityListeners === undefined)
|
|
70
|
+
return;
|
|
71
|
+
for (const listener of [...identityListeners]) {
|
|
72
|
+
try {
|
|
73
|
+
listener(registration);
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
// Identity notifications have the same advisory, fan-out semantics.
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
/** Resolve the live Channel for a composition root. */
|
|
81
|
+
export function getRegisteredTuiChannel(ctx) {
|
|
82
|
+
return getTuiChannelRegistration(ctx)?.channel;
|
|
83
|
+
}
|
|
84
|
+
/** Return the current registration identity, not only its Channel object. */
|
|
85
|
+
export function getTuiChannelRegistration(ctx) {
|
|
86
|
+
const key = rootKey(ctx);
|
|
87
|
+
return key === undefined ? undefined : channels.get(key);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Subscribe to live-Channel registration for one composition root.
|
|
91
|
+
*
|
|
92
|
+
* The Kernel uses this to re-run a refresh/mount when the TUI plugin creates
|
|
93
|
+
* and registers its Channel after the plugin-host row has already started.
|
|
94
|
+
* Returns a disposer; listeners are keyed by normalized composition root.
|
|
95
|
+
*/
|
|
96
|
+
export function onTuiChannelRegistered(ctx, listener) {
|
|
97
|
+
const key = rootKey(ctx);
|
|
98
|
+
if (key === undefined)
|
|
99
|
+
return () => undefined;
|
|
100
|
+
let listeners = channelListeners.get(key);
|
|
101
|
+
if (listeners === undefined) {
|
|
102
|
+
listeners = new Set();
|
|
103
|
+
channelListeners.set(key, listeners);
|
|
104
|
+
}
|
|
105
|
+
listeners.add(listener);
|
|
106
|
+
return () => { listeners?.delete(listener); };
|
|
107
|
+
}
|
|
108
|
+
/** Subscribe to registration identities for consumers that own capabilities. */
|
|
109
|
+
export function onTuiChannelRegistration(ctx, listener) {
|
|
110
|
+
const key = rootKey(ctx);
|
|
111
|
+
if (key === undefined)
|
|
112
|
+
return () => undefined;
|
|
113
|
+
let listeners = registrationListeners.get(key);
|
|
114
|
+
if (listeners === undefined) {
|
|
115
|
+
listeners = new Set();
|
|
116
|
+
registrationListeners.set(key, listeners);
|
|
117
|
+
}
|
|
118
|
+
listeners.add(listener);
|
|
119
|
+
return () => { listeners?.delete(listener); };
|
|
120
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel split surface (P4).
|
|
3
|
+
*
|
|
4
|
+
* The live legacy `src/dsh-adapter/channel.ts` remains the implementation
|
|
5
|
+
* source, but the adapter-facing Channel behavior is decomposed here into
|
|
6
|
+
* five small modules:
|
|
7
|
+
* projection / actions / state / plugins / transcript.
|
|
8
|
+
*
|
|
9
|
+
* This module re-exports the host-internal builder functions and the
|
|
10
|
+
* composition-root registry.
|
|
11
|
+
*/
|
|
12
|
+
export { projectChannelRows, projectChannelSnapshot } from './projection.js';
|
|
13
|
+
export { projectChannelState } from './state.js';
|
|
14
|
+
export { createChannelActions } from './actions.js';
|
|
15
|
+
export { createChannelPlugins } from './plugins.js';
|
|
16
|
+
export { createChannelTranscript } from './transcript.js';
|
|
17
|
+
export { registerTuiChannel, onTuiChannelRegistered } from './host-registry.js';
|
|
18
|
+
export { CHANNEL_FEATURES, CHANNEL_PORT_METHOD_CAPABILITIES, CHANNEL_STANDARD_DECLARATIONS } from './features.js';
|
|
19
|
+
export { TUI_CHANNEL_WIRE_REVISION, type TuiChannelSnapshot } from '../spec/index.js';
|
|
20
|
+
export { createReplayChannelProvider, createReplayChannelProviderFromSnapshot, REPLAY_CHANNEL_WIRE_REVISION, type ChannelProvider, type ChannelProviderOpenInput, type ReplayChannelSnapshotSource, } from './provider.js';
|
|
21
|
+
export { createChannelConsumer, type ChannelConsumer, } from './consumer.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,EAAE,gBAAgB,EAAE,gCAAgC,EAAE,6BAA6B,EAAE,MAAM,eAAe,CAAA;AACjH,OAAO,EAAE,yBAAyB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrF,OAAO,EACL,2BAA2B,EAC3B,uCAAuC,EACvC,4BAA4B,EAC5B,KAAK,eAAe,EACpB,KAAK,wBAAwB,EAC7B,KAAK,2BAA2B,GACjC,MAAM,eAAe,CAAA;AACtB,OAAO,EACL,qBAAqB,EACrB,KAAK,eAAe,GACrB,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel split surface (P4).
|
|
3
|
+
*
|
|
4
|
+
* The live legacy `src/dsh-adapter/channel.ts` remains the implementation
|
|
5
|
+
* source, but the adapter-facing Channel behavior is decomposed here into
|
|
6
|
+
* five small modules:
|
|
7
|
+
* projection / actions / state / plugins / transcript.
|
|
8
|
+
*
|
|
9
|
+
* This module re-exports the host-internal builder functions and the
|
|
10
|
+
* composition-root registry.
|
|
11
|
+
*/
|
|
12
|
+
export { projectChannelRows, projectChannelSnapshot } from './projection.js';
|
|
13
|
+
export { projectChannelState } from './state.js';
|
|
14
|
+
export { createChannelActions } from './actions.js';
|
|
15
|
+
export { createChannelPlugins } from './plugins.js';
|
|
16
|
+
export { createChannelTranscript } from './transcript.js';
|
|
17
|
+
export { registerTuiChannel, onTuiChannelRegistered } from './host-registry.js';
|
|
18
|
+
export { CHANNEL_FEATURES, CHANNEL_PORT_METHOD_CAPABILITIES, CHANNEL_STANDARD_DECLARATIONS } from './features.js';
|
|
19
|
+
export { TUI_CHANNEL_WIRE_REVISION } from '../spec/index.js';
|
|
20
|
+
export { createReplayChannelProvider, createReplayChannelProviderFromSnapshot, REPLAY_CHANNEL_WIRE_REVISION, } from './provider.js';
|
|
21
|
+
export { createChannelConsumer, } from './consumer.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal capability token for the split Channel builder modules.
|
|
3
|
+
*
|
|
4
|
+
* The split `actions` / `plugins` / `transcript` builders are host-internal
|
|
5
|
+
* and must be reached through the Kernel-driven Channel driver / HostFacade
|
|
6
|
+
* shadow gate, not imported and invoked directly from arbitrary TUI code.
|
|
7
|
+
* This token is intentionally not re-exported through `src/adapter/channel`
|
|
8
|
+
* or `src/adapter/index`; only the upstream driver and the split modules
|
|
9
|
+
* themselves import it.
|
|
10
|
+
*/
|
|
11
|
+
export declare const CHANNEL_SPLIT_TOKEN: unique symbol;
|
|
12
|
+
//# sourceMappingURL=internal-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-token.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/internal-token.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,eAAO,MAAM,mBAAmB,EAAE,OAAO,MAA8C,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal capability token for the split Channel builder modules.
|
|
3
|
+
*
|
|
4
|
+
* The split `actions` / `plugins` / `transcript` builders are host-internal
|
|
5
|
+
* and must be reached through the Kernel-driven Channel driver / HostFacade
|
|
6
|
+
* shadow gate, not imported and invoked directly from arbitrary TUI code.
|
|
7
|
+
* This token is intentionally not re-exported through `src/adapter/channel`
|
|
8
|
+
* or `src/adapter/index`; only the upstream driver and the split modules
|
|
9
|
+
* themselves import it.
|
|
10
|
+
*/
|
|
11
|
+
export const CHANNEL_SPLIT_TOKEN = Symbol('dsh-tui.channel-split-token');
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel plugins module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* Projects the plugin-visible seams that hang off the live Channel into a
|
|
5
|
+
* small host-internal Port: external plugin commands, plugin scenes and
|
|
6
|
+
* settings sections. It never exposes plugin registration or permission
|
|
7
|
+
* evaluation; those stay in Standard/Kernel.
|
|
8
|
+
*
|
|
9
|
+
* The internal `CHANNEL_SPLIT_TOKEN` is required so this split builder cannot
|
|
10
|
+
* be invoked outside the Kernel/driver path and bypass the HostFacade shadow
|
|
11
|
+
* gate.
|
|
12
|
+
*/
|
|
13
|
+
import type { Channel } from '../../dsh-adapter/channel.js';
|
|
14
|
+
import type { HostChannelPluginsPort } from '../ports/channel.js';
|
|
15
|
+
/** Build the host-internal plugin-facing surface over one live Channel. */
|
|
16
|
+
export declare function createChannelPlugins(channel: Channel, token: symbol): HostChannelPluginsPort;
|
|
17
|
+
//# sourceMappingURL=plugins.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/plugins.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAE3D,OAAO,KAAK,EACV,sBAAsB,EAEvB,MAAM,qBAAqB,CAAA;AAuB5B,2EAA2E;AAC3E,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,sBAAsB,CAa5F"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel plugins module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* Projects the plugin-visible seams that hang off the live Channel into a
|
|
5
|
+
* small host-internal Port: external plugin commands, plugin scenes and
|
|
6
|
+
* settings sections. It never exposes plugin registration or permission
|
|
7
|
+
* evaluation; those stay in Standard/Kernel.
|
|
8
|
+
*
|
|
9
|
+
* The internal `CHANNEL_SPLIT_TOKEN` is required so this split builder cannot
|
|
10
|
+
* be invoked outside the Kernel/driver path and bypass the HostFacade shadow
|
|
11
|
+
* gate.
|
|
12
|
+
*/
|
|
13
|
+
import { CHANNEL_SPLIT_TOKEN } from './internal-token.js';
|
|
14
|
+
function projectSettingsSection(section) {
|
|
15
|
+
return Object.freeze({
|
|
16
|
+
ns: section.ns,
|
|
17
|
+
title: section.title,
|
|
18
|
+
...(section.groups === undefined ? {} : {
|
|
19
|
+
groups: Object.freeze(section.groups.map(group => Object.freeze({ id: group.id, title: group.title }))),
|
|
20
|
+
}),
|
|
21
|
+
fields: Object.freeze(section.fields.map(field => Object.freeze({
|
|
22
|
+
path: Object.freeze([...field.path]),
|
|
23
|
+
label: field.label,
|
|
24
|
+
kind: field.kind,
|
|
25
|
+
...(field.hint === undefined ? {} : { hint: field.hint }),
|
|
26
|
+
...(field.group === undefined ? {} : { group: field.group }),
|
|
27
|
+
...(field.options === undefined ? {} : { options: Object.freeze(field.options.map(option => Object.freeze({ ...option }))) }),
|
|
28
|
+
...(field.placeholder === undefined ? {} : { placeholder: field.placeholder }),
|
|
29
|
+
...(field.secret === undefined ? {} : { secret: Object.freeze({ ref: field.secret.ref }) }),
|
|
30
|
+
}))),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/** Build the host-internal plugin-facing surface over one live Channel. */
|
|
34
|
+
export function createChannelPlugins(channel, token) {
|
|
35
|
+
if (token !== CHANNEL_SPLIT_TOKEN) {
|
|
36
|
+
throw new Error('dsh-tui: Channel split plugins require the internal host token');
|
|
37
|
+
}
|
|
38
|
+
return Object.freeze({
|
|
39
|
+
async runExternalCommand(name, rawInput) {
|
|
40
|
+
return channel.runExternalCommand(name, rawInput);
|
|
41
|
+
},
|
|
42
|
+
openPluginScene: id => channel.openPluginScene(id),
|
|
43
|
+
closePluginScene: () => channel.closePluginScene(),
|
|
44
|
+
settingsSections: () => Object.freeze(channel.settingsSections().map(projectSettingsSection)),
|
|
45
|
+
subscribeSettingsSections: listener => channel.subscribeSettingsSections(listener),
|
|
46
|
+
});
|
|
47
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel projection module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* This is the pure projection half of the live Channel: it maps the legacy
|
|
5
|
+
* Channel/ChannelState surface into a serializable host-internal projection
|
|
6
|
+
* used by the Kernel Channel Port. It deliberately strips functions, handles,
|
|
7
|
+
* secrets and renderer-only objects from the snapshot.
|
|
8
|
+
*/
|
|
9
|
+
import type { Channel, ChatRow } from '../../dsh-adapter/channel.js';
|
|
10
|
+
import type { HostChannelProjectionSnapshot, HostChannelRowProjection } from '../ports/channel.js';
|
|
11
|
+
/** Project the current channel transcript rows into a JSON-safe view. */
|
|
12
|
+
export declare function projectChannelRows(rows: readonly ChatRow[]): readonly HostChannelRowProjection[];
|
|
13
|
+
/** Project the live Channel into the serializable renderer projection. */
|
|
14
|
+
export declare function projectChannelSnapshot(channel: Channel): HostChannelProjectionSnapshot;
|
|
15
|
+
//# sourceMappingURL=projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/projection.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAW,MAAM,8BAA8B,CAAA;AAC7E,OAAO,KAAK,EACV,6BAA6B,EAC7B,wBAAwB,EAEzB,MAAM,qBAAqB,CAAA;AA4B5B,yEAAyE;AACzE,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,wBAAwB,EAAE,CAEhG;AAED,0EAA0E;AAC1E,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,6BAA6B,CAqBtF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel projection module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* This is the pure projection half of the live Channel: it maps the legacy
|
|
5
|
+
* Channel/ChannelState surface into a serializable host-internal projection
|
|
6
|
+
* used by the Kernel Channel Port. It deliberately strips functions, handles,
|
|
7
|
+
* secrets and renderer-only objects from the snapshot.
|
|
8
|
+
*/
|
|
9
|
+
function projectTool(row) {
|
|
10
|
+
return Object.freeze({
|
|
11
|
+
callId: row.callId,
|
|
12
|
+
name: row.name,
|
|
13
|
+
status: row.status,
|
|
14
|
+
argsPreview: row.argsText,
|
|
15
|
+
...(row.resultText === undefined ? {} : { resultPreview: row.resultText }),
|
|
16
|
+
...(row.errorText === undefined ? {} : { errorText: row.errorText }),
|
|
17
|
+
startedAt: row.startedAt,
|
|
18
|
+
...(row.durationMs === undefined ? {} : { durationMs: row.durationMs }),
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
function projectRow(row) {
|
|
22
|
+
return Object.freeze({
|
|
23
|
+
id: row.id,
|
|
24
|
+
kind: row.kind,
|
|
25
|
+
text: row.text,
|
|
26
|
+
...(row.label === undefined ? {} : { label: row.label }),
|
|
27
|
+
...(row.streaming === undefined ? {} : { streaming: row.streaming }),
|
|
28
|
+
...(row.time === undefined ? {} : { time: row.time }),
|
|
29
|
+
...(row.seq === undefined ? {} : { seq: row.seq }),
|
|
30
|
+
...(row.tool === undefined ? {} : { tool: projectTool(row.tool) }),
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/** Project the current channel transcript rows into a JSON-safe view. */
|
|
34
|
+
export function projectChannelRows(rows) {
|
|
35
|
+
return Object.freeze(rows.map(projectRow));
|
|
36
|
+
}
|
|
37
|
+
/** Project the live Channel into the serializable renderer projection. */
|
|
38
|
+
export function projectChannelSnapshot(channel) {
|
|
39
|
+
return Object.freeze({
|
|
40
|
+
version: channel.version,
|
|
41
|
+
rows: projectChannelRows(channel.rows),
|
|
42
|
+
status: channel.status,
|
|
43
|
+
sessionTitle: channel.sessionTitle,
|
|
44
|
+
agentId: channel.agentId,
|
|
45
|
+
model: channel.model,
|
|
46
|
+
provider: channel.provider,
|
|
47
|
+
cwd: channel.cwd,
|
|
48
|
+
displayCwd: channel.displayCwd,
|
|
49
|
+
working: channel.working,
|
|
50
|
+
activeToolCount: channel.activeToolCount,
|
|
51
|
+
lastUserText: channel.lastUserText,
|
|
52
|
+
commandList: Object.freeze(channel.commandList.map(command => Object.freeze({
|
|
53
|
+
name: command.name,
|
|
54
|
+
...(command.description === undefined ? {} : { description: command.description }),
|
|
55
|
+
}))),
|
|
56
|
+
contextSegments: Object.freeze({ ...channel.contextSegments }),
|
|
57
|
+
subagents: Object.freeze([...channel.subagents]),
|
|
58
|
+
});
|
|
59
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TUI Channel Provider (P5).
|
|
3
|
+
*
|
|
4
|
+
* A Channel Provider owns the Agent/Session/Workspace side of
|
|
5
|
+
* `tui.dsh/v1alpha1#Channel`. This module implements an in-memory replay
|
|
6
|
+
* provider used by the replay harness: it does not attach to a real DSH
|
|
7
|
+
* service, but it follows the protocol envelope (open/subscribe/invoke/
|
|
8
|
+
* close), validates inputs/outputs, preserves monotonic channel versions,
|
|
9
|
+
* and can be driven from a real recorded DSH session snapshot/transcript.
|
|
10
|
+
*
|
|
11
|
+
* The replay provider is intentionally protocol-envelope focused:
|
|
12
|
+
* - unknown methods are rejected (never treated as a successful no-op);
|
|
13
|
+
* - feature/support validation happens in the replay harness, not here;
|
|
14
|
+
* - values are bounded in size/depth and deep-frozen before being handed out;
|
|
15
|
+
* - method handlers only run inside the harness-provided replay isolation.
|
|
16
|
+
*/
|
|
17
|
+
import type { TuiChannelInvokeOutput, TuiChannelSnapshot } from '../spec/index.js';
|
|
18
|
+
export interface ChannelProviderOpenInput {
|
|
19
|
+
readonly workspace?: string;
|
|
20
|
+
readonly sessionId?: string;
|
|
21
|
+
readonly options?: unknown;
|
|
22
|
+
}
|
|
23
|
+
export interface ChannelProvider {
|
|
24
|
+
open(input: ChannelProviderOpenInput): Promise<TuiChannelSnapshot>;
|
|
25
|
+
subscribe(channelId: string, afterVersion: number, listener: (snapshot: TuiChannelSnapshot) => void): Promise<() => void>;
|
|
26
|
+
invoke(channelId: string, method: string, args: readonly unknown[]): Promise<TuiChannelInvokeOutput>;
|
|
27
|
+
close(channelId: string): Promise<{
|
|
28
|
+
readonly closed: true;
|
|
29
|
+
}>;
|
|
30
|
+
}
|
|
31
|
+
export interface ReplayChannelSnapshotSource {
|
|
32
|
+
/** Monotonic snapshots, oldest first. The provider serves the latest
|
|
33
|
+
* snapshot from `open` and replays newer snapshots through `subscribe`. */
|
|
34
|
+
readonly snapshots: readonly TuiChannelSnapshot[];
|
|
35
|
+
/** Optional transcript/event log carried alongside the snapshots. It is
|
|
36
|
+
* not interpreted by the provider; it exists for replay provenance and
|
|
37
|
+
* for conformance report details. */
|
|
38
|
+
readonly transcript?: readonly unknown[];
|
|
39
|
+
/** Optional method invocation handlers. Unknown methods are rejected with
|
|
40
|
+
* `FEATURE_UNAVAILABLE` (or `INVALID_ARGUMENT` for malformed input). */
|
|
41
|
+
readonly methods?: Readonly<Record<string, (args: readonly unknown[]) => unknown | Promise<unknown>>>;
|
|
42
|
+
}
|
|
43
|
+
/** Safety bound for replay JSON payloads. */
|
|
44
|
+
export declare const REPLAY_JSON_MAX_BYTES: number;
|
|
45
|
+
/** Safety bound for replay JSON nesting depth. */
|
|
46
|
+
export declare const REPLAY_JSON_MAX_DEPTH = 64;
|
|
47
|
+
/** Create an isolated replay Channel Provider over recorded snapshots. */
|
|
48
|
+
export declare function createReplayChannelProvider(source: ReplayChannelSnapshotSource): ChannelProvider;
|
|
49
|
+
/** Convenience provider over one snapshot (common replay fixture). */
|
|
50
|
+
export declare function createReplayChannelProviderFromSnapshot(snapshot: TuiChannelSnapshot, transcript?: readonly unknown[]): ChannelProvider;
|
|
51
|
+
export declare const REPLAY_CHANNEL_WIRE_REVISION: 6;
|
|
52
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AASH,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAElF,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;IAClE,SAAS,CACP,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,IAAI,GAC/C,OAAO,CAAC,MAAM,IAAI,CAAC,CAAA;IACtB,MAAM,CACJ,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,SAAS,OAAO,EAAE,GACvB,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClC,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;KAAE,CAAC,CAAA;CAC7D;AAED,MAAM,WAAW,2BAA2B;IAC1C;+EAC2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,SAAS,kBAAkB,EAAE,CAAA;IACjD;;yCAEqC;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC;4EACwE;IACxE,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;CACtG;AAED,6CAA6C;AAC7C,eAAO,MAAM,qBAAqB,QAAa,CAAA;AAC/C,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,KAAK,CAAA;AA2EvC,0EAA0E;AAC1E,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,2BAA2B,GAAG,eAAe,CA2HhG;AAED,sEAAsE;AACtE,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,kBAAkB,EAC5B,UAAU,GAAE,SAAS,OAAO,EAAO,GAClC,eAAe,CAKjB;AAUD,eAAO,MAAM,4BAA4B,GAA4B,CAAA"}
|