@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,132 @@
|
|
|
1
|
+
/** Detached in-process read projections. Executable leaves are guarded, not serialized. */
|
|
2
|
+
/**
|
|
3
|
+
* Rows are mutable while the channel reduces live events, but renderer-facing
|
|
4
|
+
* snapshots are not. The reducer marks a row when it changes so a later read
|
|
5
|
+
* can retain every untouched immutable row from the preceding revision.
|
|
6
|
+
*/
|
|
7
|
+
const dirtyRevisions = new WeakMap();
|
|
8
|
+
/**
|
|
9
|
+
* Projection brands distinguish inert immutable data from a graph containing
|
|
10
|
+
* an executable leaf. An outer capability may reuse the former, but MUST walk
|
|
11
|
+
* the latter so its own lifetime fence wraps every retained callback.
|
|
12
|
+
*/
|
|
13
|
+
const projectedValues = new WeakMap();
|
|
14
|
+
let nextDirtyRevision = 1;
|
|
15
|
+
export function markChannelReadDirty(value) {
|
|
16
|
+
dirtyRevisions.set(value, nextDirtyRevision++);
|
|
17
|
+
}
|
|
18
|
+
function isTranscriptRow(value) {
|
|
19
|
+
return 'id' in value && 'kind' in value && 'text' in value;
|
|
20
|
+
}
|
|
21
|
+
export function createChannelReadView(check) {
|
|
22
|
+
let version = -1;
|
|
23
|
+
let copies = new WeakMap();
|
|
24
|
+
function copy(value, key = '', receiver) {
|
|
25
|
+
if (typeof value === 'function') {
|
|
26
|
+
const prior = copies.get(value);
|
|
27
|
+
if (prior?.version === version)
|
|
28
|
+
return prior.value;
|
|
29
|
+
// Settings conversions are local presentation callbacks. Every other
|
|
30
|
+
// executable leaf (workspace continuations/run, etc.) is a mutation.
|
|
31
|
+
const result = ((...args) => {
|
|
32
|
+
check(key !== 'format' && key !== 'parse');
|
|
33
|
+
const output = Reflect.apply(value, receiver, args);
|
|
34
|
+
if (output instanceof Promise)
|
|
35
|
+
return output.then(v => { check(false); return copy(v); });
|
|
36
|
+
return copy(output);
|
|
37
|
+
});
|
|
38
|
+
projectedValues.set(result, true);
|
|
39
|
+
copies.set(value, { value: result, version, dirtyRevision: 0 });
|
|
40
|
+
return result;
|
|
41
|
+
}
|
|
42
|
+
if (value === null || typeof value !== 'object')
|
|
43
|
+
return value;
|
|
44
|
+
// Structural containers are detached below. Every other object is a leaf
|
|
45
|
+
// with its own identity and semantics — binary buffers, Date, Error, class
|
|
46
|
+
// instances, promises — and copying one key by key silently hollows it
|
|
47
|
+
// out: a projected transcript image reached sharp as a plain object and
|
|
48
|
+
// decoded as "Input file is missing" (rendered 无法预览). Date and RegExp
|
|
49
|
+
// get a faithful detached copy; everything else is shared as-is, because
|
|
50
|
+
// no copy preserves an opaque value and a hollow one is strictly worse.
|
|
51
|
+
if (!Array.isArray(value) && !(value instanceof Map) && !(value instanceof Set)) {
|
|
52
|
+
if (value instanceof Date)
|
|
53
|
+
return new Date(value.getTime());
|
|
54
|
+
if (value instanceof RegExp)
|
|
55
|
+
return new RegExp(value.source, value.flags);
|
|
56
|
+
const proto = Object.getPrototypeOf(value);
|
|
57
|
+
if (proto !== Object.prototype && proto !== null)
|
|
58
|
+
return value;
|
|
59
|
+
}
|
|
60
|
+
// An inner ChannelUi projection is safe immutable data, but an outer
|
|
61
|
+
// production mount must still capture its own lifetime around nested
|
|
62
|
+
// callbacks. Reuse purely structural data; walk callable graphs again.
|
|
63
|
+
if (projectedValues.get(value) === false)
|
|
64
|
+
return value;
|
|
65
|
+
const prior = copies.get(value);
|
|
66
|
+
const dirtyRevision = dirtyRevisions.get(value) ?? 0;
|
|
67
|
+
// Transcript row identity is deliberately stable across unrelated channel
|
|
68
|
+
// revisions. A dirty row gets a new detached copy; old snapshots remain
|
|
69
|
+
// frozen and therefore cannot observe the backend mutation.
|
|
70
|
+
if (prior !== undefined && isTranscriptRow(value) && prior.dirtyRevision === dirtyRevision)
|
|
71
|
+
return prior.value;
|
|
72
|
+
// The transcript container is marked on membership or row changes. When
|
|
73
|
+
// no such mark occurred, activity/status versions retain the exact frozen
|
|
74
|
+
// array rather than visiting historical rows again.
|
|
75
|
+
if (prior !== undefined &&
|
|
76
|
+
Array.isArray(value) &&
|
|
77
|
+
(value.length === 0 || (value[0] !== null && typeof value[0] === 'object' && isTranscriptRow(value[0]))) &&
|
|
78
|
+
prior.value.length === value.length &&
|
|
79
|
+
prior.dirtyRevision === dirtyRevision)
|
|
80
|
+
return prior.value;
|
|
81
|
+
if (prior !== undefined && !isTranscriptRow(value) && prior.version === version)
|
|
82
|
+
return prior.value;
|
|
83
|
+
if (value instanceof Map) {
|
|
84
|
+
const entries = new Map([...value].map(([k, v]) => [copy(k), copy(v)]));
|
|
85
|
+
const view = Object.freeze({
|
|
86
|
+
get size() { return entries.size; }, has: entries.has.bind(entries), get: entries.get.bind(entries),
|
|
87
|
+
entries: entries.entries.bind(entries), keys: entries.keys.bind(entries), values: entries.values.bind(entries),
|
|
88
|
+
[Symbol.iterator]: entries[Symbol.iterator].bind(entries),
|
|
89
|
+
forEach(callback, thisArg) { entries.forEach((v, k) => callback.call(thisArg, v, k, view)); },
|
|
90
|
+
});
|
|
91
|
+
const executable = [...entries].some(([key, entry]) => projectedValues.get(key) === true || projectedValues.get(entry) === true);
|
|
92
|
+
projectedValues.set(view, executable);
|
|
93
|
+
copies.set(value, { value: view, version, dirtyRevision });
|
|
94
|
+
return view;
|
|
95
|
+
}
|
|
96
|
+
if (value instanceof Set) {
|
|
97
|
+
const entries = new Set([...value].map(v => copy(v)));
|
|
98
|
+
const view = Object.freeze({
|
|
99
|
+
get size() { return entries.size; }, has: entries.has.bind(entries),
|
|
100
|
+
entries: entries.entries.bind(entries), keys: entries.keys.bind(entries), values: entries.values.bind(entries),
|
|
101
|
+
[Symbol.iterator]: entries[Symbol.iterator].bind(entries),
|
|
102
|
+
forEach(callback, thisArg) { entries.forEach(v => callback.call(thisArg, v, v, view)); },
|
|
103
|
+
});
|
|
104
|
+
const executable = [...entries].some(entry => projectedValues.get(entry) === true);
|
|
105
|
+
projectedValues.set(view, executable);
|
|
106
|
+
copies.set(value, { value: view, version, dirtyRevision });
|
|
107
|
+
return view;
|
|
108
|
+
}
|
|
109
|
+
const result = Array.isArray(value) ? [] : Object.create(null);
|
|
110
|
+
copies.set(value, { value: result, version, dirtyRevision });
|
|
111
|
+
if (Array.isArray(value)) {
|
|
112
|
+
// Avoid Object.entries' whole-history tuple allocation. The new frozen
|
|
113
|
+
// container is required to preserve old array snapshots, while each
|
|
114
|
+
// unchanged row itself is structurally shared above.
|
|
115
|
+
for (let index = 0; index < value.length; index++)
|
|
116
|
+
result.push(copy(value[index], String(index), value));
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
for (const [name, child] of Object.entries(value))
|
|
120
|
+
result[name] = copy(child, name, value);
|
|
121
|
+
}
|
|
122
|
+
const frozen = Object.freeze(result);
|
|
123
|
+
const executable = Object.values(result).some(child => child !== null && (typeof child === 'object' || typeof child === 'function') && projectedValues.get(child) === true);
|
|
124
|
+
projectedValues.set(frozen, executable);
|
|
125
|
+
copies.set(value, { value: frozen, version, dirtyRevision });
|
|
126
|
+
return frozen;
|
|
127
|
+
}
|
|
128
|
+
return (value, nextVersion) => {
|
|
129
|
+
version = nextVersion;
|
|
130
|
+
return copy(value);
|
|
131
|
+
};
|
|
132
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal real DSH session-event → TuiChannelSnapshot projection.
|
|
3
|
+
*
|
|
4
|
+
* This is the P5 "real DSH replay" bridge: instead of only counting a
|
|
5
|
+
* transcript, it reads `agent.session.events`-shaped records and projects the
|
|
6
|
+
* visible rows/status into protocol-envelope `TuiChannelSnapshot` objects.
|
|
7
|
+
*
|
|
8
|
+
* It intentionally stays small and does not copy the full production
|
|
9
|
+
* `src/dsh-adapter/channel.ts` projection (which is still the live Channel
|
|
10
|
+
* implementation source). It is a durable-session *minimal transcript
|
|
11
|
+
* replay* projection used by the harness and documentation, not a complete
|
|
12
|
+
* RFC 0007 TUI Channel state projection.
|
|
13
|
+
*
|
|
14
|
+
* Unknown event types are fail-closed unless the event marks itself
|
|
15
|
+
* top-level `ignorable: true`, so a newer required DSH event cannot be
|
|
16
|
+
* silently skipped. Prefix-based recognition is deliberately not used.
|
|
17
|
+
*/
|
|
18
|
+
import type { TuiChannelSnapshot } from '../spec/index.js';
|
|
19
|
+
export interface DshSessionProjectionMeta {
|
|
20
|
+
readonly channelId: string;
|
|
21
|
+
readonly sessionTitle?: string;
|
|
22
|
+
readonly homeDir?: string;
|
|
23
|
+
readonly pathCaseInsensitive?: boolean;
|
|
24
|
+
/** Optional RFC-adjacent Channel state fields carried through when known. */
|
|
25
|
+
readonly model?: string;
|
|
26
|
+
readonly mode?: string;
|
|
27
|
+
readonly agentPreset?: string;
|
|
28
|
+
readonly settingsSections?: readonly unknown[];
|
|
29
|
+
readonly scene?: unknown;
|
|
30
|
+
readonly diagnostic?: unknown;
|
|
31
|
+
readonly trace?: readonly unknown[];
|
|
32
|
+
readonly context?: unknown;
|
|
33
|
+
readonly pending?: readonly unknown[];
|
|
34
|
+
}
|
|
35
|
+
export declare class DshSessionProjectionError extends Error {
|
|
36
|
+
constructor(message: string);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Explicit DSH session event types this minimal projection recognizes.
|
|
40
|
+
*
|
|
41
|
+
* This is NOT a prefix list: `user/unknown-required` is not recognized unless
|
|
42
|
+
* the exact type is present. Unknown types must be marked top-level
|
|
43
|
+
* `ignorable: true` to be skipped.
|
|
44
|
+
*/
|
|
45
|
+
export declare const KNOWN_DSH_EVENT_TYPES: Set<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Project DSH session events to strictly-increasing channel snapshots.
|
|
48
|
+
*
|
|
49
|
+
* The returned snapshots are plain JSON-safe objects suitable for
|
|
50
|
+
* `createReplayChannelProvider`. If `events` is empty, one initial snapshot
|
|
51
|
+
* is returned so a replay can still open/subscribe cleanly.
|
|
52
|
+
*
|
|
53
|
+
* Unknown non-ignorable event types cause a `DshSessionProjectionError`.
|
|
54
|
+
*/
|
|
55
|
+
export declare function projectDshSessionEventsToSnapshots(events: readonly unknown[], meta: DshSessionProjectionMeta): readonly TuiChannelSnapshot[];
|
|
56
|
+
//# sourceMappingURL=session-projection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-projection.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/session-projection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AAE1D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,6EAA6E;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IAC9C,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;CACtC;AAED,qBAAa,yBAA0B,SAAQ,KAAK;gBACtC,OAAO,EAAE,MAAM;CAI5B;AAaD;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,aA6FhC,CAAA;AAsCF;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,MAAM,EAAE,SAAS,OAAO,EAAE,EAC1B,IAAI,EAAE,wBAAwB,GAC7B,SAAS,kBAAkB,EAAE,CAqE/B"}
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Minimal real DSH session-event → TuiChannelSnapshot projection.
|
|
3
|
+
*
|
|
4
|
+
* This is the P5 "real DSH replay" bridge: instead of only counting a
|
|
5
|
+
* transcript, it reads `agent.session.events`-shaped records and projects the
|
|
6
|
+
* visible rows/status into protocol-envelope `TuiChannelSnapshot` objects.
|
|
7
|
+
*
|
|
8
|
+
* It intentionally stays small and does not copy the full production
|
|
9
|
+
* `src/dsh-adapter/channel.ts` projection (which is still the live Channel
|
|
10
|
+
* implementation source). It is a durable-session *minimal transcript
|
|
11
|
+
* replay* projection used by the harness and documentation, not a complete
|
|
12
|
+
* RFC 0007 TUI Channel state projection.
|
|
13
|
+
*
|
|
14
|
+
* Unknown event types are fail-closed unless the event marks itself
|
|
15
|
+
* top-level `ignorable: true`, so a newer required DSH event cannot be
|
|
16
|
+
* silently skipped. Prefix-based recognition is deliberately not used.
|
|
17
|
+
*/
|
|
18
|
+
import { TUI_CHANNEL_WIRE_REVISION } from '../spec/index.js';
|
|
19
|
+
export class DshSessionProjectionError extends Error {
|
|
20
|
+
constructor(message) {
|
|
21
|
+
super(message);
|
|
22
|
+
this.name = 'DshSessionProjectionError';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Explicit DSH session event types this minimal projection recognizes.
|
|
27
|
+
*
|
|
28
|
+
* This is NOT a prefix list: `user/unknown-required` is not recognized unless
|
|
29
|
+
* the exact type is present. Unknown types must be marked top-level
|
|
30
|
+
* `ignorable: true` to be skipped.
|
|
31
|
+
*/
|
|
32
|
+
export const KNOWN_DSH_EVENT_TYPES = new Set([
|
|
33
|
+
// dsh-session core event map
|
|
34
|
+
'turn/start',
|
|
35
|
+
'turn/end',
|
|
36
|
+
'step/start',
|
|
37
|
+
'step/end',
|
|
38
|
+
'user/message',
|
|
39
|
+
// Retired by 0.1.5 (stream timing moved into the settlement events) but
|
|
40
|
+
// still present in pre-V3 logs this projection must keep replaying.
|
|
41
|
+
'assistant/chunk',
|
|
42
|
+
'assistant/message',
|
|
43
|
+
// 0.1.5: abandoned attempt (failed/retried/cancelled, no surface message).
|
|
44
|
+
'assistant/attempt',
|
|
45
|
+
// 0.1.5: the system prompt became a surface node.
|
|
46
|
+
'system/message',
|
|
47
|
+
'tool/call',
|
|
48
|
+
'tool/result',
|
|
49
|
+
'command/run',
|
|
50
|
+
'command/done',
|
|
51
|
+
'hook/invoked',
|
|
52
|
+
'hook/result',
|
|
53
|
+
'agent/inbox/spliced',
|
|
54
|
+
'todo/write',
|
|
55
|
+
'request/header',
|
|
56
|
+
'request/context',
|
|
57
|
+
'session/end-seed',
|
|
58
|
+
// Not an appendable session event: 0.1.5 declares it in the same types file
|
|
59
|
+
// as a RemoteErrorDetailsMap key (SessionId resolution failure). Recognized
|
|
60
|
+
// here so the conformance sweep over that file stays total; it folds to no
|
|
61
|
+
// row like every other non-transcript type.
|
|
62
|
+
'session/not-found',
|
|
63
|
+
// Known dsh-tui / ecosystem plugin event types (exact, not prefix-based)
|
|
64
|
+
'session/created',
|
|
65
|
+
'session/disposed',
|
|
66
|
+
'session/flush',
|
|
67
|
+
'session/title',
|
|
68
|
+
'session/color',
|
|
69
|
+
'session/title-llm-request',
|
|
70
|
+
'session/event',
|
|
71
|
+
'agent/status',
|
|
72
|
+
'agent/disposed',
|
|
73
|
+
'agent/request',
|
|
74
|
+
'agent/inbox/claimed',
|
|
75
|
+
'agent/inbox/discarded',
|
|
76
|
+
'agent-preset/selected',
|
|
77
|
+
'approval/asked',
|
|
78
|
+
'approval/decided',
|
|
79
|
+
'approval/policy',
|
|
80
|
+
'commands/change',
|
|
81
|
+
'skills/change',
|
|
82
|
+
'goal/change',
|
|
83
|
+
'plan/mode',
|
|
84
|
+
'sandbox/mode',
|
|
85
|
+
'permission/preset',
|
|
86
|
+
'llm/retry',
|
|
87
|
+
'llm/retry-started',
|
|
88
|
+
'model/selection',
|
|
89
|
+
'compaction/start',
|
|
90
|
+
'compaction/end',
|
|
91
|
+
'compaction/prune',
|
|
92
|
+
'compaction/summary',
|
|
93
|
+
'deliverables/presented',
|
|
94
|
+
'feedback/record',
|
|
95
|
+
'feedback/message-put',
|
|
96
|
+
'feedback/message-delete',
|
|
97
|
+
'schedule/change',
|
|
98
|
+
'session-invariant',
|
|
99
|
+
'session-log-deepseek/delivery-accepted',
|
|
100
|
+
'subagent/start',
|
|
101
|
+
'subagent/end',
|
|
102
|
+
'subagent/descriptor',
|
|
103
|
+
'subagent/catalog',
|
|
104
|
+
'subagent/model-selection-policy',
|
|
105
|
+
'team/member',
|
|
106
|
+
'team/message/delivered',
|
|
107
|
+
'team/message/queued',
|
|
108
|
+
'team/task',
|
|
109
|
+
'tool-workflow/agent-start',
|
|
110
|
+
'tool-workflow/agent-end',
|
|
111
|
+
'tool-workflow/run-start',
|
|
112
|
+
'tool-workflow/run-end',
|
|
113
|
+
// The code runner's dispatch bracket was renamed in 0.1.5; old logs still
|
|
114
|
+
// carry the `code-` spellings, so both generations stay recognized.
|
|
115
|
+
'tool/code-dispatch',
|
|
116
|
+
'tool/code-dispatch-start',
|
|
117
|
+
'tool/ptc-dispatch',
|
|
118
|
+
'tool/ptc-dispatch-start',
|
|
119
|
+
'web/deepseek-search-llm-request',
|
|
120
|
+
'dsh-tui/btw',
|
|
121
|
+
'dsh-tui/recap',
|
|
122
|
+
'dsh-working-activity/config',
|
|
123
|
+
'dsh-working-activity/status',
|
|
124
|
+
'activity/status',
|
|
125
|
+
]);
|
|
126
|
+
function isKnownEventType(type) {
|
|
127
|
+
return KNOWN_DSH_EVENT_TYPES.has(type);
|
|
128
|
+
}
|
|
129
|
+
function firstText(value) {
|
|
130
|
+
if (typeof value === 'string')
|
|
131
|
+
return value;
|
|
132
|
+
if (value === null || typeof value !== 'object')
|
|
133
|
+
return '';
|
|
134
|
+
const record = value;
|
|
135
|
+
if (typeof record.text === 'string')
|
|
136
|
+
return record.text;
|
|
137
|
+
const content = record.content;
|
|
138
|
+
if (!Array.isArray(content))
|
|
139
|
+
return '';
|
|
140
|
+
const parts = [];
|
|
141
|
+
for (const block of content) {
|
|
142
|
+
if (block === null || typeof block !== 'object')
|
|
143
|
+
continue;
|
|
144
|
+
const item = block;
|
|
145
|
+
if (typeof item.text === 'string')
|
|
146
|
+
parts.push(item.text);
|
|
147
|
+
}
|
|
148
|
+
return parts.join('');
|
|
149
|
+
}
|
|
150
|
+
function projectEvent(event) {
|
|
151
|
+
const type = typeof event.type === 'string' ? event.type : '';
|
|
152
|
+
const data = (event.data ?? {});
|
|
153
|
+
const text = firstText(data.message ?? data);
|
|
154
|
+
if (text === '')
|
|
155
|
+
return undefined;
|
|
156
|
+
if (type === 'user/message')
|
|
157
|
+
return { kind: 'user', text };
|
|
158
|
+
if (type === 'assistant/message')
|
|
159
|
+
return { kind: 'assistant', text };
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
function isIgnorable(event) {
|
|
163
|
+
// DSH `SessionEvent` places `ignorable` at the top level of the event,
|
|
164
|
+
// never inside `data`.
|
|
165
|
+
return event.ignorable === true;
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Project DSH session events to strictly-increasing channel snapshots.
|
|
169
|
+
*
|
|
170
|
+
* The returned snapshots are plain JSON-safe objects suitable for
|
|
171
|
+
* `createReplayChannelProvider`. If `events` is empty, one initial snapshot
|
|
172
|
+
* is returned so a replay can still open/subscribe cleanly.
|
|
173
|
+
*
|
|
174
|
+
* Unknown non-ignorable event types cause a `DshSessionProjectionError`.
|
|
175
|
+
*/
|
|
176
|
+
export function projectDshSessionEventsToSnapshots(events, meta) {
|
|
177
|
+
const rows = [];
|
|
178
|
+
const snapshots = [];
|
|
179
|
+
let version = 0;
|
|
180
|
+
let status = 'idle';
|
|
181
|
+
let usage = Object.freeze({});
|
|
182
|
+
let context = meta.context;
|
|
183
|
+
let pending = meta.pending;
|
|
184
|
+
let diagnostic = meta.diagnostic;
|
|
185
|
+
let trace = meta.trace ?? Object.freeze([]);
|
|
186
|
+
const push = () => {
|
|
187
|
+
const state = {
|
|
188
|
+
status,
|
|
189
|
+
sessionTitle: meta.sessionTitle ?? 'dsh session',
|
|
190
|
+
homeDir: meta.homeDir ?? '/',
|
|
191
|
+
pathCaseInsensitive: meta.pathCaseInsensitive ?? false,
|
|
192
|
+
transcript: Object.freeze(rows.map(row => Object.freeze({ ...row }))),
|
|
193
|
+
commandCatalog: Object.freeze([]),
|
|
194
|
+
...(Object.keys(usage).length === 0 ? {} : { usage }),
|
|
195
|
+
...(meta.model === undefined ? {} : { model: meta.model }),
|
|
196
|
+
...(meta.mode === undefined ? {} : { mode: meta.mode }),
|
|
197
|
+
...(meta.agentPreset === undefined ? {} : { agentPreset: meta.agentPreset }),
|
|
198
|
+
...(meta.settingsSections === undefined ? {} : { settingsSections: Object.freeze([...meta.settingsSections]) }),
|
|
199
|
+
...(meta.scene === undefined ? {} : { scene: meta.scene }),
|
|
200
|
+
...(context === undefined ? {} : { context }),
|
|
201
|
+
...(pending === undefined ? {} : { pending: Object.freeze([...pending]) }),
|
|
202
|
+
...(diagnostic === undefined ? {} : { diagnostic }),
|
|
203
|
+
...(trace === undefined ? {} : { trace }),
|
|
204
|
+
};
|
|
205
|
+
version += 1;
|
|
206
|
+
snapshots.push({
|
|
207
|
+
wireRevision: TUI_CHANNEL_WIRE_REVISION,
|
|
208
|
+
channelId: meta.channelId,
|
|
209
|
+
version,
|
|
210
|
+
state: Object.freeze(state),
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
push();
|
|
214
|
+
for (const raw of events) {
|
|
215
|
+
if (raw === null || typeof raw !== 'object') {
|
|
216
|
+
throw new DshSessionProjectionError('DSH session event must be an object');
|
|
217
|
+
}
|
|
218
|
+
const event = raw;
|
|
219
|
+
const type = typeof event.type === 'string' ? event.type : '';
|
|
220
|
+
if (type === '') {
|
|
221
|
+
// Missing type is always rejectable: even an `ignorable` marker cannot
|
|
222
|
+
// describe which event is being skipped.
|
|
223
|
+
throw new DshSessionProjectionError('DSH session event is missing a type');
|
|
224
|
+
}
|
|
225
|
+
if (!isKnownEventType(type)) {
|
|
226
|
+
if (isIgnorable(event))
|
|
227
|
+
continue;
|
|
228
|
+
throw new DshSessionProjectionError(`unknown non-ignorable DSH session event: ${type}`);
|
|
229
|
+
}
|
|
230
|
+
const data = (event.data ?? {});
|
|
231
|
+
if (type === 'turn/start')
|
|
232
|
+
status = 'working';
|
|
233
|
+
if (type === 'turn/end' || type === 'session/end-seed')
|
|
234
|
+
status = 'idle';
|
|
235
|
+
if (type === 'assistant/message' && data.usage !== null && typeof data.usage === 'object') {
|
|
236
|
+
usage = Object.freeze({ ...data.usage });
|
|
237
|
+
}
|
|
238
|
+
if (type === 'request/context') {
|
|
239
|
+
context = data;
|
|
240
|
+
}
|
|
241
|
+
const row = projectEvent(event);
|
|
242
|
+
if (row !== undefined)
|
|
243
|
+
rows.push(row);
|
|
244
|
+
push();
|
|
245
|
+
}
|
|
246
|
+
return Object.freeze(snapshots);
|
|
247
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel state module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* Reads the live Channel's mutable reactive state and returns a frozen,
|
|
5
|
+
* JSON-ish state snapshot. This module only projects; it never mutates.
|
|
6
|
+
*/
|
|
7
|
+
import type { Channel } from '../../dsh-adapter/channel.js';
|
|
8
|
+
import type { HostChannelStateSnapshot } from '../ports/channel.js';
|
|
9
|
+
/** Project the live Channel state into a serializable host-internal snapshot. */
|
|
10
|
+
export declare function projectChannelState(channel: Channel): HostChannelStateSnapshot;
|
|
11
|
+
//# sourceMappingURL=state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/state.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAA;AAgBnE,iFAAiF;AACjF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,wBAAwB,CAgC9E"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel state module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* Reads the live Channel's mutable reactive state and returns a frozen,
|
|
5
|
+
* JSON-ish state snapshot. This module only projects; it never mutates.
|
|
6
|
+
*/
|
|
7
|
+
function asRecord(value) {
|
|
8
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
9
|
+
return undefined;
|
|
10
|
+
return Object.freeze({ ...value });
|
|
11
|
+
}
|
|
12
|
+
function asNumberRecord(value) {
|
|
13
|
+
if (value === null || typeof value !== 'object' || Array.isArray(value))
|
|
14
|
+
return Object.freeze({});
|
|
15
|
+
const out = {};
|
|
16
|
+
for (const [key, item] of Object.entries(value)) {
|
|
17
|
+
if (typeof item === 'number' && Number.isFinite(item))
|
|
18
|
+
out[key] = item;
|
|
19
|
+
}
|
|
20
|
+
return Object.freeze(out);
|
|
21
|
+
}
|
|
22
|
+
/** Project the live Channel state into a serializable host-internal snapshot. */
|
|
23
|
+
export function projectChannelState(channel) {
|
|
24
|
+
return Object.freeze({
|
|
25
|
+
version: channel.version,
|
|
26
|
+
status: channel.status,
|
|
27
|
+
sessionTitle: channel.sessionTitle,
|
|
28
|
+
sessionColor: channel.sessionColor,
|
|
29
|
+
agentId: channel.agentId,
|
|
30
|
+
agentBindingGeneration: channel.agentBindingGeneration,
|
|
31
|
+
model: channel.model,
|
|
32
|
+
provider: channel.provider,
|
|
33
|
+
cwd: channel.cwd,
|
|
34
|
+
displayCwd: channel.displayCwd,
|
|
35
|
+
...(channel.gitBranch === undefined ? {} : { gitBranch: channel.gitBranch }),
|
|
36
|
+
working: channel.working,
|
|
37
|
+
cancelPending: channel.cancelPending,
|
|
38
|
+
spinnerMode: channel.spinnerMode,
|
|
39
|
+
responseChars: channel.responseChars,
|
|
40
|
+
activeToolCount: channel.activeToolCount,
|
|
41
|
+
turnStart: channel.turnStart,
|
|
42
|
+
lastUserText: channel.lastUserText,
|
|
43
|
+
tokens: asNumberRecord(channel.tokens),
|
|
44
|
+
...(channel.lastUsage === undefined ? {} : { lastUsage: asNumberRecord(channel.lastUsage) }),
|
|
45
|
+
...(channel.workingActivity === undefined ? {} : { workingActivity: asRecord(channel.workingActivity) }),
|
|
46
|
+
...(channel.activityFrames === undefined ? {} : { activityFrames: channel.activityFrames }),
|
|
47
|
+
...(channel.goal === undefined ? {} : { goal: asRecord(channel.goal) }),
|
|
48
|
+
todos: Object.freeze(channel.todos.map(todo => Object.freeze({ ...todo }))),
|
|
49
|
+
...(channel.loadedContext === undefined ? {} : { loadedContext: asRecord(channel.loadedContext) }),
|
|
50
|
+
pending: Object.freeze(channel.pending.map(pending => Object.freeze({ ...pending }))),
|
|
51
|
+
...(channel.pluginScene === undefined ? {} : { pluginScene: asRecord(channel.pluginScene) }),
|
|
52
|
+
mode: asRecord(channel.mode) ?? Object.freeze({}),
|
|
53
|
+
...(channel.agentPreset === undefined ? {} : { agentPreset: channel.agentPreset }),
|
|
54
|
+
});
|
|
55
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel transcript module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* Provides the durable transcript/event access half of the live Channel:
|
|
5
|
+
* rendered rows plus the raw DSH session event log used by `/trace`.
|
|
6
|
+
*
|
|
7
|
+
* The internal `CHANNEL_SPLIT_TOKEN` is required so this split builder cannot
|
|
8
|
+
* be invoked outside the Kernel/driver path and bypass the HostFacade shadow
|
|
9
|
+
* gate.
|
|
10
|
+
*/
|
|
11
|
+
import type { Channel } from '../../dsh-adapter/channel.js';
|
|
12
|
+
import type { HostChannelTranscriptPort } from '../ports/channel.js';
|
|
13
|
+
/** Build the host-internal transcript surface over one live Channel. */
|
|
14
|
+
export declare function createChannelTranscript(channel: Channel, token: symbol): HostChannelTranscriptPort;
|
|
15
|
+
//# sourceMappingURL=transcript.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transcript.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/transcript.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAIpE,wEAAwE;AACxE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAQlG"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Channel transcript module (P4 channel split).
|
|
3
|
+
*
|
|
4
|
+
* Provides the durable transcript/event access half of the live Channel:
|
|
5
|
+
* rendered rows plus the raw DSH session event log used by `/trace`.
|
|
6
|
+
*
|
|
7
|
+
* The internal `CHANNEL_SPLIT_TOKEN` is required so this split builder cannot
|
|
8
|
+
* be invoked outside the Kernel/driver path and bypass the HostFacade shadow
|
|
9
|
+
* gate.
|
|
10
|
+
*/
|
|
11
|
+
import { projectChannelRows } from './projection.js';
|
|
12
|
+
import { CHANNEL_SPLIT_TOKEN } from './internal-token.js';
|
|
13
|
+
/** Build the host-internal transcript surface over one live Channel. */
|
|
14
|
+
export function createChannelTranscript(channel, token) {
|
|
15
|
+
if (token !== CHANNEL_SPLIT_TOKEN) {
|
|
16
|
+
throw new Error('dsh-tui: Channel split transcript requires the internal host token');
|
|
17
|
+
}
|
|
18
|
+
return Object.freeze({
|
|
19
|
+
rows: () => projectChannelRows(channel.rows),
|
|
20
|
+
traceEvents: () => channel.traceEvents(),
|
|
21
|
+
});
|
|
22
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
/** Explicit in-process UI method inventory; never a wire protocol.
|
|
2
|
+
* Queries that warm caches or publish notices remain effectful.
|
|
3
|
+
*/
|
|
4
|
+
import type { ChannelUi } from '../ports/channel-ui.js';
|
|
5
|
+
export type { ChannelUi } from '../ports/channel-ui.js';
|
|
6
|
+
export type ChannelPreferences = Pick<ChannelUi, 'setDiffLayout' | 'setThinkingFold' | 'setToolBackground' | 'setScrollGutter' | 'setPageMargin' | 'setFoldTerminalCommand' | 'setPromptSessionLabel' | 'setExpandEditor' | 'setSmoothStreaming' | 'setStatusBar' | 'setWhale' | 'setWhaleIdle' | 'setMinimal'>;
|
|
7
|
+
export declare const CHANNEL_UI_EFFECTS: Readonly<{
|
|
8
|
+
setDiffLayout: "mutate";
|
|
9
|
+
setThinkingFold: "mutate";
|
|
10
|
+
setToolBackground: "mutate";
|
|
11
|
+
setScrollGutter: "mutate";
|
|
12
|
+
setPageMargin: "mutate";
|
|
13
|
+
setFoldTerminalCommand: "mutate";
|
|
14
|
+
setPromptSessionLabel: "mutate";
|
|
15
|
+
setExpandEditor: "mutate";
|
|
16
|
+
setSmoothStreaming: "mutate";
|
|
17
|
+
setStatusBar: "mutate";
|
|
18
|
+
setWhale: "mutate";
|
|
19
|
+
setWhaleIdle: "mutate";
|
|
20
|
+
setMinimal: "mutate";
|
|
21
|
+
commandCompletions: "mutate";
|
|
22
|
+
runExternalCommand: "mutate";
|
|
23
|
+
runExternalCommandOutcome: "mutate";
|
|
24
|
+
openPluginScene: "mutate";
|
|
25
|
+
closePluginScene: "mutate";
|
|
26
|
+
sideQuestion: "mutate";
|
|
27
|
+
stagedImageGeneration: "read-only";
|
|
28
|
+
stageImage: "mutate";
|
|
29
|
+
stageComposerImage: "mutate";
|
|
30
|
+
hasStagedImage: "read-only";
|
|
31
|
+
discardStagedImage: "mutate";
|
|
32
|
+
stagedImage: "read-only";
|
|
33
|
+
stagedImageLimits: "read-only";
|
|
34
|
+
submit: "mutate";
|
|
35
|
+
steer: "mutate";
|
|
36
|
+
removePending: "mutate";
|
|
37
|
+
cancel: "mutate";
|
|
38
|
+
interruptAndDeliver: "mutate";
|
|
39
|
+
rewindTo: "mutate";
|
|
40
|
+
promptRewind: "mutate";
|
|
41
|
+
buildSessionTree: "mutate";
|
|
42
|
+
rewindToNode: "mutate";
|
|
43
|
+
forkSession: "mutate";
|
|
44
|
+
resumeTo: "mutate";
|
|
45
|
+
newSession: "mutate";
|
|
46
|
+
listWorkspaces: "read-only";
|
|
47
|
+
resolveWorkspace: "mutate";
|
|
48
|
+
switchWorkspace: "mutate";
|
|
49
|
+
renameWorkspace: "mutate";
|
|
50
|
+
workspaceCommands: "read-only";
|
|
51
|
+
runWorkspaceCommand: "mutate";
|
|
52
|
+
switchModel: "mutate";
|
|
53
|
+
listEfforts: "mutate";
|
|
54
|
+
setEffort: "mutate";
|
|
55
|
+
setDefaultEffort: "mutate";
|
|
56
|
+
cycleMode: "mutate";
|
|
57
|
+
permissionPresets: "read-only";
|
|
58
|
+
runPermissionPreset: "mutate";
|
|
59
|
+
listPresets: "read-only";
|
|
60
|
+
switchPreset: "mutate";
|
|
61
|
+
clear: "mutate";
|
|
62
|
+
loadOlder: "mutate";
|
|
63
|
+
notify: "mutate";
|
|
64
|
+
setActivityFrames: "mutate";
|
|
65
|
+
listModels: "read-only";
|
|
66
|
+
listProviders: "read-only";
|
|
67
|
+
invalidateModelCompletion: "mutate";
|
|
68
|
+
listSkills: "read-only";
|
|
69
|
+
describeCredential: "read-only";
|
|
70
|
+
balanceInfo: "mutate";
|
|
71
|
+
providerSetup: "read-only";
|
|
72
|
+
oauthProviderStatuses: "read-only";
|
|
73
|
+
settingsHost: "read-only";
|
|
74
|
+
settingsSections: "read-only";
|
|
75
|
+
subscribeSettingsSections: "subscribe";
|
|
76
|
+
listFileCandidates: "read-only";
|
|
77
|
+
listFiles: "read-only";
|
|
78
|
+
listSessions: "read-only";
|
|
79
|
+
previewSession: "read-only";
|
|
80
|
+
setResumeTarget: "mutate";
|
|
81
|
+
renameSession: "mutate";
|
|
82
|
+
setSessionColor: "mutate";
|
|
83
|
+
recapRecent: "mutate";
|
|
84
|
+
deleteSession: "mutate";
|
|
85
|
+
renameSessionTo: "mutate";
|
|
86
|
+
compact: "mutate";
|
|
87
|
+
pushLocal: "mutate";
|
|
88
|
+
mcpStatus: "read-only";
|
|
89
|
+
exportSession: "mutate";
|
|
90
|
+
initWorkspace: "mutate";
|
|
91
|
+
doctorInfo: "read-only";
|
|
92
|
+
pluginsInfo: "mutate";
|
|
93
|
+
listSubagents: "read-only";
|
|
94
|
+
agentViewRows: "read-only";
|
|
95
|
+
subscribeAgentView: "subscribe";
|
|
96
|
+
dispatchBackgroundAgent: "mutate";
|
|
97
|
+
stopBackgroundAgent: "mutate";
|
|
98
|
+
attachToAgent: "mutate";
|
|
99
|
+
peekAgentSession: "read-only";
|
|
100
|
+
backgroundCurrent: "mutate";
|
|
101
|
+
replyToAgent: "mutate";
|
|
102
|
+
traceEvents: "read-only";
|
|
103
|
+
subscribe: "subscribe";
|
|
104
|
+
}>;
|
|
105
|
+
export declare const CHANNEL_UI_PROPERTIES: readonly ["version", "rows", "status", "sessionTitle", "sessionColor", "agentId", "agentBindingGeneration", "autoRecapOnOpen", "model", "provider", "configuredProvider", "configuredModel", "configuredPreset", "configuredActivityFrames", "configuredLang", "tokens", "cwd", "displayCwd", "gitBranch", "working", "cancelPending", "spinnerMode", "responseChars", "activeToolCount", "turnStart", "lastUserText", "notifications", "contextWindow", "reasoningEffort", "effortLevels", "lastUsage", "tps", "tpsSamples", "workingActivity", "activityFrames", "diffLayout", "thinkingFold", "toolBackground", "scrollGutter", "pageMargin", "foldTerminalCommand", "promptSessionLabel", "expandEditor", "smoothStreaming", "statusBar", "whale", "whaleIdle", "minimal", "activityEnabled", "contextBarEnabled", "goal", "todos", "loadedContext", "pending", "commandList", "pluginScene", "contextSegments", "subagents", "subagentControl", "backgroundJobs", "jobControl", "mode", "modeIndex", "agentPreset"];
|
|
106
|
+
//# sourceMappingURL=ui-policy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui-policy.d.ts","sourceRoot":"","sources":["../../../../src/adapter/channel/ui-policy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AACvD,YAAY,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAIvD,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAC3C,eAAe,GAAG,iBAAiB,GAAG,mBAAmB,GAAG,iBAAiB,GAC7E,eAAe,GAAG,wBAAwB,GAAG,uBAAuB,GACpE,iBAAiB,GAAG,oBAAoB,GAAG,cAAc,GAAG,UAAU,GAAG,cAAc,GAAG,YAAY,CACzG,CAAA;AACD,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiG4B,CAAA;AAE3D,eAAO,MAAM,qBAAqB,09BAiEe,CAAA"}
|