@askdkc/dsh-cli 0.11.3
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/LICENSE +21 -0
- package/README.md +321 -0
- package/bin/dsh-tui.js +1366 -0
- package/cordis.patch.yml +482 -0
- package/cordis.yml +250 -0
- package/dsh-ecosystem-spec/protocols/profile-definitions.d.ts +13 -0
- package/dsh-ecosystem-spec/protocols/profile-definitions.js +59 -0
- package/dsh-ecosystem-spec/protocols/tui-channel-http.d.ts +15 -0
- package/dsh-ecosystem-spec/protocols/tui-channel-http.js +32 -0
- package/dsh-ecosystem-spec/protocols/tui-channel.d.ts +59 -0
- package/dsh-ecosystem-spec/protocols/tui-channel.js +166 -0
- package/dsh-ecosystem-spec/protocols/tui-contributions.d.ts +42 -0
- package/dsh-ecosystem-spec/protocols/tui-contributions.js +143 -0
- package/dsh-ecosystem-spec/registry/README.md +14 -0
- package/dsh-ecosystem-spec/registry/contracts/decision-events-v1alpha1.json +13 -0
- package/dsh-ecosystem-spec/registry/contracts/scene-v1alpha1.json +13 -0
- package/dsh-ecosystem-spec/registry/contracts/settings-section-v1alpha1.json +13 -0
- package/dsh-ecosystem-spec/registry/contracts/tui-channel-v1alpha1.json +30 -0
- package/dsh-ecosystem-spec/registry/contracts/workspace-provider-v1alpha1.json +6 -0
- package/dsh-ecosystem-spec/registry/host-descriptor.tui.example.json +56 -0
- package/dsh-ecosystem-spec/registry/permissions-0.1.json +13 -0
- package/dsh-ecosystem-spec/registry/registry-0.15.json +149 -0
- package/dsh-ecosystem-spec/schemas/conformance-claim.schema.json +15 -0
- package/dsh-ecosystem-spec/schemas/effect-ledger-record.schema.json +16 -0
- package/dsh-ecosystem-spec/schemas/host-descriptor.schema.json +26 -0
- package/lib/types/activityPrefs.d.ts +63 -0
- package/lib/types/activityPrefs.d.ts.map +1 -0
- package/lib/types/activityPrefs.js +126 -0
- 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 +249 -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 +57 -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 +109 -0
- package/lib/types/adapter/channel/ui-policy.d.ts.map +1 -0
- package/lib/types/adapter/channel/ui-policy.js +170 -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 +173 -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 +216 -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 +428 -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 +327 -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 +16 -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 +279 -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 +593 -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 +663 -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 +68 -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 +148 -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 +62 -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/adapter/standard/grants.d.ts +30 -0
- package/lib/types/adapter/standard/grants.d.ts.map +1 -0
- package/lib/types/adapter/standard/grants.js +219 -0
- 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 +11 -0
- package/lib/types/adapter/standard/negotiate.d.ts.map +1 -0
- package/lib/types/adapter/standard/negotiate.js +97 -0
- package/lib/types/adapter/standard/permission-scope.d.ts +27 -0
- package/lib/types/adapter/standard/permission-scope.d.ts.map +1 -0
- package/lib/types/adapter/standard/permission-scope.js +68 -0
- 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 +23 -0
- package/lib/types/adapter/standard/registry.d.ts.map +1 -0
- package/lib/types/adapter/standard/registry.js +240 -0
- package/lib/types/adapter/standard/schema-check.d.ts +17 -0
- package/lib/types/adapter/standard/schema-check.d.ts.map +1 -0
- package/lib/types/adapter/standard/schema-check.js +167 -0
- 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/adapter/standard/types.d.ts +108 -0
- package/lib/types/adapter/standard/types.d.ts.map +1 -0
- package/lib/types/adapter/standard/types.js +10 -0
- package/lib/types/adapter/standard/validate.d.ts +21 -0
- package/lib/types/adapter/standard/validate.d.ts.map +1 -0
- package/lib/types/adapter/standard/validate.js +139 -0
- 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 +198 -0
- package/lib/types/api.d.ts +7 -0
- package/lib/types/api.d.ts.map +1 -0
- package/lib/types/api.js +1 -0
- package/lib/types/bootstrap/state.d.ts +11 -0
- package/lib/types/bootstrap/state.d.ts.map +1 -0
- package/lib/types/bootstrap/state.js +10 -0
- package/lib/types/command-trees.d.ts +4 -0
- package/lib/types/command-trees.d.ts.map +1 -0
- package/lib/types/command-trees.js +4 -0
- package/lib/types/commands.d.ts +87 -0
- package/lib/types/commands.d.ts.map +1 -0
- package/lib/types/commands.js +218 -0
- package/lib/types/components/ActivityLine.d.ts +34 -0
- package/lib/types/components/ActivityLine.d.ts.map +1 -0
- package/lib/types/components/ActivityLine.js +39 -0
- package/lib/types/components/ActivityPicker.d.ts +16 -0
- package/lib/types/components/ActivityPicker.d.ts.map +1 -0
- package/lib/types/components/ActivityPicker.js +23 -0
- package/lib/types/components/AutoRecapRow.d.ts +23 -0
- package/lib/types/components/AutoRecapRow.d.ts.map +1 -0
- package/lib/types/components/AutoRecapRow.js +23 -0
- package/lib/types/components/BalanceReportRow.d.ts +24 -0
- package/lib/types/components/BalanceReportRow.d.ts.map +1 -0
- package/lib/types/components/BalanceReportRow.js +87 -0
- package/lib/types/components/BtwPanel.d.ts +16 -0
- package/lib/types/components/BtwPanel.d.ts.map +1 -0
- package/lib/types/components/BtwPanel.js +47 -0
- package/lib/types/components/Chat/JobCard.d.ts +23 -0
- package/lib/types/components/Chat/JobCard.d.ts.map +1 -0
- package/lib/types/components/Chat/JobCard.js +93 -0
- package/lib/types/components/Chat/SubagentMessage.d.ts +20 -0
- package/lib/types/components/Chat/SubagentMessage.d.ts.map +1 -0
- package/lib/types/components/Chat/SubagentMessage.js +83 -0
- package/lib/types/components/ColorPicker.d.ts +17 -0
- package/lib/types/components/ColorPicker.d.ts.map +1 -0
- package/lib/types/components/ColorPicker.js +20 -0
- package/lib/types/components/CommandSuggestions.d.ts +34 -0
- package/lib/types/components/CommandSuggestions.d.ts.map +1 -0
- package/lib/types/components/CommandSuggestions.js +61 -0
- package/lib/types/components/ContextBarView.d.ts +41 -0
- package/lib/types/components/ContextBarView.d.ts.map +1 -0
- package/lib/types/components/ContextBarView.js +50 -0
- package/lib/types/components/EffortChargeGlyph.d.ts +26 -0
- package/lib/types/components/EffortChargeGlyph.d.ts.map +1 -0
- package/lib/types/components/EffortChargeGlyph.js +70 -0
- package/lib/types/components/EffortInputBorder.d.ts +47 -0
- package/lib/types/components/EffortInputBorder.d.ts.map +1 -0
- package/lib/types/components/EffortInputBorder.js +90 -0
- package/lib/types/components/EffortSlider.d.ts +18 -0
- package/lib/types/components/EffortSlider.d.ts.map +1 -0
- package/lib/types/components/EffortSlider.js +19 -0
- package/lib/types/components/EffortTierBadge.d.ts +26 -0
- package/lib/types/components/EffortTierBadge.d.ts.map +1 -0
- package/lib/types/components/EffortTierBadge.js +97 -0
- package/lib/types/components/ExtensionDialog.d.ts +40 -0
- package/lib/types/components/ExtensionDialog.d.ts.map +1 -0
- package/lib/types/components/ExtensionDialog.js +253 -0
- package/lib/types/components/FileActionsPanel.d.ts +22 -0
- package/lib/types/components/FileActionsPanel.d.ts.map +1 -0
- package/lib/types/components/FileActionsPanel.js +28 -0
- package/lib/types/components/FileSuggestions.d.ts +18 -0
- package/lib/types/components/FileSuggestions.d.ts.map +1 -0
- package/lib/types/components/FileSuggestions.js +78 -0
- package/lib/types/components/GoalTodoPanel.d.ts +38 -0
- package/lib/types/components/GoalTodoPanel.d.ts.map +1 -0
- package/lib/types/components/GoalTodoPanel.js +131 -0
- package/lib/types/components/HelpMenu.d.ts +29 -0
- package/lib/types/components/HelpMenu.d.ts.map +1 -0
- package/lib/types/components/HelpMenu.js +39 -0
- package/lib/types/components/HistorySearchDialog.d.ts +18 -0
- package/lib/types/components/HistorySearchDialog.d.ts.map +1 -0
- package/lib/types/components/HistorySearchDialog.js +47 -0
- package/lib/types/components/ImagePreviewOverlay.d.ts +51 -0
- package/lib/types/components/ImagePreviewOverlay.d.ts.map +1 -0
- package/lib/types/components/ImagePreviewOverlay.js +269 -0
- package/lib/types/components/JobsPanel.d.ts +17 -0
- package/lib/types/components/JobsPanel.d.ts.map +1 -0
- package/lib/types/components/JobsPanel.js +111 -0
- package/lib/types/components/LangPicker.d.ts +14 -0
- package/lib/types/components/LangPicker.d.ts.map +1 -0
- package/lib/types/components/LangPicker.js +17 -0
- package/lib/types/components/LoadedContextPanel.d.ts +20 -0
- package/lib/types/components/LoadedContextPanel.d.ts.map +1 -0
- package/lib/types/components/LoadedContextPanel.js +32 -0
- package/lib/types/components/LogoV2.d.ts +48 -0
- package/lib/types/components/LogoV2.d.ts.map +1 -0
- package/lib/types/components/LogoV2.js +239 -0
- package/lib/types/components/Markdown.d.ts +46 -0
- package/lib/types/components/Markdown.d.ts.map +1 -0
- package/lib/types/components/Markdown.js +178 -0
- package/lib/types/components/MarkdownTable.d.ts +13 -0
- package/lib/types/components/MarkdownTable.d.ts.map +1 -0
- package/lib/types/components/MarkdownTable.js +155 -0
- package/lib/types/components/MermaidDiagram.d.ts +13 -0
- package/lib/types/components/MermaidDiagram.d.ts.map +1 -0
- package/lib/types/components/MermaidDiagram.js +61 -0
- package/lib/types/components/MessageList.d.ts +144 -0
- package/lib/types/components/MessageList.d.ts.map +1 -0
- package/lib/types/components/MessageList.js +1170 -0
- package/lib/types/components/MigratePicker.d.ts +30 -0
- package/lib/types/components/MigratePicker.d.ts.map +1 -0
- package/lib/types/components/MigratePicker.js +38 -0
- package/lib/types/components/ModelPicker.d.ts +42 -0
- package/lib/types/components/ModelPicker.d.ts.map +1 -0
- package/lib/types/components/ModelPicker.js +51 -0
- package/lib/types/components/OverlayAbove.d.ts +48 -0
- package/lib/types/components/OverlayAbove.d.ts.map +1 -0
- package/lib/types/components/OverlayAbove.js +98 -0
- package/lib/types/components/PageMargin.d.ts +58 -0
- package/lib/types/components/PageMargin.d.ts.map +1 -0
- package/lib/types/components/PageMargin.js +38 -0
- package/lib/types/components/PermissionsPicker.d.ts +20 -0
- package/lib/types/components/PermissionsPicker.d.ts.map +1 -0
- package/lib/types/components/PermissionsPicker.js +33 -0
- package/lib/types/components/PlanPicker.d.ts +15 -0
- package/lib/types/components/PlanPicker.d.ts.map +1 -0
- package/lib/types/components/PlanPicker.js +18 -0
- package/lib/types/components/PluginSceneBoundary.d.ts +31 -0
- package/lib/types/components/PluginSceneBoundary.d.ts.map +1 -0
- package/lib/types/components/PluginSceneBoundary.js +29 -0
- package/lib/types/components/PluginStatusViewBoundary.d.ts +26 -0
- package/lib/types/components/PluginStatusViewBoundary.d.ts.map +1 -0
- package/lib/types/components/PluginStatusViewBoundary.js +22 -0
- package/lib/types/components/PresetPicker.d.ts +20 -0
- package/lib/types/components/PresetPicker.d.ts.map +1 -0
- package/lib/types/components/PresetPicker.js +24 -0
- package/lib/types/components/PromptEditor.d.ts +48 -0
- package/lib/types/components/PromptEditor.d.ts.map +1 -0
- package/lib/types/components/PromptEditor.js +75 -0
- package/lib/types/components/PromptInput.d.ts +163 -0
- package/lib/types/components/PromptInput.d.ts.map +1 -0
- package/lib/types/components/PromptInput.js +3503 -0
- package/lib/types/components/RecapPanel.d.ts +25 -0
- package/lib/types/components/RecapPanel.d.ts.map +1 -0
- package/lib/types/components/RecapPanel.js +55 -0
- package/lib/types/components/RewindPicker.d.ts +37 -0
- package/lib/types/components/RewindPicker.d.ts.map +1 -0
- package/lib/types/components/RewindPicker.js +66 -0
- package/lib/types/components/ScrollbarGutter.d.ts +43 -0
- package/lib/types/components/ScrollbarGutter.d.ts.map +1 -0
- package/lib/types/components/ScrollbarGutter.js +197 -0
- package/lib/types/components/SearchBox.d.ts +24 -0
- package/lib/types/components/SearchBox.d.ts.map +1 -0
- package/lib/types/components/SearchBox.js +132 -0
- package/lib/types/components/Select.d.ts +29 -0
- package/lib/types/components/Select.d.ts.map +1 -0
- package/lib/types/components/Select.js +21 -0
- package/lib/types/components/SkillsPicker.d.ts +21 -0
- package/lib/types/components/SkillsPicker.d.ts.map +1 -0
- package/lib/types/components/SkillsPicker.js +52 -0
- package/lib/types/components/Spinner/GlimmerMessage.d.ts +16 -0
- package/lib/types/components/Spinner/GlimmerMessage.d.ts.map +1 -0
- package/lib/types/components/Spinner/GlimmerMessage.js +57 -0
- package/lib/types/components/Spinner/SpinnerAnimationRow.d.ts +33 -0
- package/lib/types/components/Spinner/SpinnerAnimationRow.d.ts.map +1 -0
- package/lib/types/components/Spinner/SpinnerAnimationRow.js +168 -0
- package/lib/types/components/Spinner/SpinnerGlyph.d.ts +16 -0
- package/lib/types/components/Spinner/SpinnerGlyph.d.ts.map +1 -0
- package/lib/types/components/Spinner/SpinnerGlyph.js +36 -0
- package/lib/types/components/Spinner/spinnerMode.d.ts +2 -0
- package/lib/types/components/Spinner/spinnerMode.d.ts.map +1 -0
- package/lib/types/components/Spinner/spinnerMode.js +1 -0
- package/lib/types/components/Spinner/spinnerUtils.d.ts +36 -0
- package/lib/types/components/Spinner/spinnerUtils.d.ts.map +1 -0
- package/lib/types/components/Spinner/spinnerUtils.js +94 -0
- package/lib/types/components/Spinner/useStalledAnimation.d.ts +16 -0
- package/lib/types/components/Spinner/useStalledAnimation.d.ts.map +1 -0
- package/lib/types/components/Spinner/useStalledAnimation.js +52 -0
- package/lib/types/components/SplitDiffView.d.ts +25 -0
- package/lib/types/components/SplitDiffView.d.ts.map +1 -0
- package/lib/types/components/SplitDiffView.js +279 -0
- package/lib/types/components/StreamingMarkdown.d.ts +6 -0
- package/lib/types/components/StreamingMarkdown.d.ts.map +1 -0
- package/lib/types/components/StreamingMarkdown.js +279 -0
- package/lib/types/components/SubagentCard.d.ts +10 -0
- package/lib/types/components/SubagentCard.d.ts.map +1 -0
- package/lib/types/components/SubagentCard.js +39 -0
- package/lib/types/components/SubagentDashboard.d.ts +17 -0
- package/lib/types/components/SubagentDashboard.d.ts.map +1 -0
- package/lib/types/components/SubagentDashboard.js +58 -0
- package/lib/types/components/SubagentDetailScene.d.ts +16 -0
- package/lib/types/components/SubagentDetailScene.d.ts.map +1 -0
- package/lib/types/components/SubagentDetailScene.js +147 -0
- package/lib/types/components/SuggestionCard.d.ts +65 -0
- package/lib/types/components/SuggestionCard.d.ts.map +1 -0
- package/lib/types/components/SuggestionCard.js +77 -0
- package/lib/types/components/SyntaxText.d.ts +15 -0
- package/lib/types/components/SyntaxText.d.ts.map +1 -0
- package/lib/types/components/SyntaxText.js +34 -0
- package/lib/types/components/ThemePicker.d.ts +27 -0
- package/lib/types/components/ThemePicker.d.ts.map +1 -0
- package/lib/types/components/ThemePicker.js +55 -0
- package/lib/types/components/ThinkingToggle.d.ts +13 -0
- package/lib/types/components/ThinkingToggle.d.ts.map +1 -0
- package/lib/types/components/ThinkingToggle.js +25 -0
- package/lib/types/components/TimelineRail.d.ts +53 -0
- package/lib/types/components/TimelineRail.d.ts.map +1 -0
- package/lib/types/components/TimelineRail.js +197 -0
- package/lib/types/components/TipsPanel.d.ts +14 -0
- package/lib/types/components/TipsPanel.d.ts.map +1 -0
- package/lib/types/components/TipsPanel.js +37 -0
- package/lib/types/components/ToolUseLoader.d.ts +18 -0
- package/lib/types/components/ToolUseLoader.d.ts.map +1 -0
- package/lib/types/components/ToolUseLoader.js +51 -0
- package/lib/types/components/Tooltip.d.ts +67 -0
- package/lib/types/components/Tooltip.d.ts.map +1 -0
- package/lib/types/components/Tooltip.js +266 -0
- package/lib/types/components/TurnInterruptedRow.d.ts +6 -0
- package/lib/types/components/TurnInterruptedRow.d.ts.map +1 -0
- package/lib/types/components/TurnInterruptedRow.js +9 -0
- package/lib/types/components/Whale.d.ts +42 -0
- package/lib/types/components/Whale.d.ts.map +1 -0
- package/lib/types/components/Whale.js +108 -0
- package/lib/types/components/WorkingSpinner.d.ts +26 -0
- package/lib/types/components/WorkingSpinner.d.ts.map +1 -0
- package/lib/types/components/WorkingSpinner.js +67 -0
- package/lib/types/components/WorkspaceFlowPicker.d.ts +20 -0
- package/lib/types/components/WorkspaceFlowPicker.d.ts.map +1 -0
- package/lib/types/components/WorkspaceFlowPicker.js +21 -0
- package/lib/types/components/WorkspaceMenuPicker.d.ts +19 -0
- package/lib/types/components/WorkspaceMenuPicker.d.ts.map +1 -0
- package/lib/types/components/WorkspaceMenuPicker.js +19 -0
- package/lib/types/components/WorkspacePicker.d.ts +12 -0
- package/lib/types/components/WorkspacePicker.d.ts.map +1 -0
- package/lib/types/components/WorkspacePicker.js +13 -0
- package/lib/types/components/activityFrames.d.ts +23 -0
- package/lib/types/components/activityFrames.d.ts.map +1 -0
- package/lib/types/components/activityFrames.js +31 -0
- package/lib/types/components/approvals/ApprovalPanel.d.ts +24 -0
- package/lib/types/components/approvals/ApprovalPanel.d.ts.map +1 -0
- package/lib/types/components/approvals/ApprovalPanel.js +53 -0
- package/lib/types/components/bigfont.d.ts +28 -0
- package/lib/types/components/bigfont.d.ts.map +1 -0
- package/lib/types/components/bigfont.js +91 -0
- package/lib/types/components/design-system/Byline.d.ts +14 -0
- package/lib/types/components/design-system/Byline.d.ts.map +1 -0
- package/lib/types/components/design-system/Byline.js +17 -0
- package/lib/types/components/design-system/Divider.d.ts +61 -0
- package/lib/types/components/design-system/Divider.d.ts.map +1 -0
- package/lib/types/components/design-system/Divider.js +115 -0
- package/lib/types/components/design-system/HintLine.d.ts +11 -0
- package/lib/types/components/design-system/HintLine.d.ts.map +1 -0
- package/lib/types/components/design-system/HintLine.js +14 -0
- package/lib/types/components/design-system/ListItem.d.ts +42 -0
- package/lib/types/components/design-system/ListItem.d.ts.map +1 -0
- package/lib/types/components/design-system/ListItem.js +84 -0
- package/lib/types/components/design-system/LoadingState.d.ts +19 -0
- package/lib/types/components/design-system/LoadingState.d.ts.map +1 -0
- package/lib/types/components/design-system/LoadingState.js +22 -0
- package/lib/types/components/design-system/Pane.d.ts +17 -0
- package/lib/types/components/design-system/Pane.d.ts.map +1 -0
- package/lib/types/components/design-system/Pane.js +15 -0
- package/lib/types/components/design-system/ProgressBar.d.ts +21 -0
- package/lib/types/components/design-system/ProgressBar.d.ts.map +1 -0
- package/lib/types/components/design-system/ProgressBar.js +26 -0
- package/lib/types/components/design-system/StatusIcon.d.ts +15 -0
- package/lib/types/components/design-system/StatusIcon.d.ts.map +1 -0
- package/lib/types/components/design-system/StatusIcon.js +20 -0
- package/lib/types/components/design-system/ThemeProvider.d.ts +21 -0
- package/lib/types/components/design-system/ThemeProvider.d.ts.map +1 -0
- package/lib/types/components/design-system/ThemeProvider.js +256 -0
- package/lib/types/components/design-system/ThemedBox.d.ts +60 -0
- package/lib/types/components/design-system/ThemedBox.d.ts.map +1 -0
- package/lib/types/components/design-system/ThemedBox.js +29 -0
- package/lib/types/components/design-system/ThemedText.d.ts +61 -0
- package/lib/types/components/design-system/ThemedText.d.ts.map +1 -0
- package/lib/types/components/design-system/ThemedText.js +42 -0
- package/lib/types/components/listWindow.d.ts +26 -0
- package/lib/types/components/listWindow.d.ts.map +1 -0
- package/lib/types/components/listWindow.js +47 -0
- package/lib/types/components/messages/AssistantTextMessage.d.ts +20 -0
- package/lib/types/components/messages/AssistantTextMessage.d.ts.map +1 -0
- package/lib/types/components/messages/AssistantTextMessage.js +18 -0
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts +40 -0
- package/lib/types/components/messages/AssistantThinkingMessage.d.ts.map +1 -0
- package/lib/types/components/messages/AssistantThinkingMessage.js +84 -0
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts +72 -0
- package/lib/types/components/messages/AssistantToolUseMessage.d.ts.map +1 -0
- package/lib/types/components/messages/AssistantToolUseMessage.js +517 -0
- package/lib/types/components/messages/MessageMetadata.d.ts +14 -0
- package/lib/types/components/messages/MessageMetadata.d.ts.map +1 -0
- package/lib/types/components/messages/MessageMetadata.js +19 -0
- package/lib/types/components/messages/TranscriptImages.d.ts +21 -0
- package/lib/types/components/messages/TranscriptImages.d.ts.map +1 -0
- package/lib/types/components/messages/TranscriptImages.js +83 -0
- package/lib/types/components/messages/UserPromptMessage.d.ts +18 -0
- package/lib/types/components/messages/UserPromptMessage.d.ts.map +1 -0
- package/lib/types/components/messages/UserPromptMessage.js +28 -0
- package/lib/types/components/messages/imageInspection.d.ts +33 -0
- package/lib/types/components/messages/imageInspection.d.ts.map +1 -0
- package/lib/types/components/messages/imageInspection.js +107 -0
- package/lib/types/components/messages/originalImage.d.ts +5 -0
- package/lib/types/components/messages/originalImage.d.ts.map +1 -0
- package/lib/types/components/messages/originalImage.js +56 -0
- package/lib/types/components/messages/transcriptImageDecode.d.ts +9 -0
- package/lib/types/components/messages/transcriptImageDecode.d.ts.map +1 -0
- package/lib/types/components/messages/transcriptImageDecode.js +144 -0
- package/lib/types/components/messages/useImageInspection.d.ts +10 -0
- package/lib/types/components/messages/useImageInspection.d.ts.map +1 -0
- package/lib/types/components/messages/useImageInspection.js +91 -0
- 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/components/promptDraftCache.d.ts +102 -0
- package/lib/types/components/promptDraftCache.d.ts.map +1 -0
- package/lib/types/components/promptDraftCache.js +76 -0
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts +94 -0
- package/lib/types/components/questions/AskUserQuestionPanel.d.ts.map +1 -0
- package/lib/types/components/questions/AskUserQuestionPanel.js +527 -0
- package/lib/types/components/questions/PlanReviewPanel.d.ts +55 -0
- package/lib/types/components/questions/PlanReviewPanel.d.ts.map +1 -0
- package/lib/types/components/questions/PlanReviewPanel.js +351 -0
- package/lib/types/components/questions/QuestionMinimizedBar.d.ts +12 -0
- package/lib/types/components/questions/QuestionMinimizedBar.d.ts.map +1 -0
- package/lib/types/components/questions/QuestionMinimizedBar.js +43 -0
- package/lib/types/components/sessions/SessionListRow.d.ts +58 -0
- package/lib/types/components/sessions/SessionListRow.d.ts.map +1 -0
- package/lib/types/components/sessions/SessionListRow.js +108 -0
- package/lib/types/components/sessions/SessionPreview.d.ts +25 -0
- package/lib/types/components/sessions/SessionPreview.d.ts.map +1 -0
- package/lib/types/components/sessions/SessionPreview.js +62 -0
- package/lib/types/components/sessions/WorkspaceListRow.d.ts +17 -0
- package/lib/types/components/sessions/WorkspaceListRow.d.ts.map +1 -0
- package/lib/types/components/sessions/WorkspaceListRow.js +27 -0
- package/lib/types/components/shimmer.d.ts +35 -0
- package/lib/types/components/shimmer.d.ts.map +1 -0
- package/lib/types/components/shimmer.js +43 -0
- package/lib/types/components/smoothReveal.d.ts +57 -0
- package/lib/types/components/smoothReveal.d.ts.map +1 -0
- package/lib/types/components/smoothReveal.js +305 -0
- package/lib/types/components/trajectory/HotspotView.d.ts +20 -0
- package/lib/types/components/trajectory/HotspotView.d.ts.map +1 -0
- package/lib/types/components/trajectory/HotspotView.js +89 -0
- package/lib/types/components/trajectory/Inspector.d.ts +31 -0
- package/lib/types/components/trajectory/Inspector.d.ts.map +1 -0
- package/lib/types/components/trajectory/Inspector.js +67 -0
- package/lib/types/components/trajectory/Ledger.d.ts +28 -0
- package/lib/types/components/trajectory/Ledger.d.ts.map +1 -0
- package/lib/types/components/trajectory/Ledger.js +130 -0
- package/lib/types/components/trajectory/MiniWake.d.ts +24 -0
- package/lib/types/components/trajectory/MiniWake.d.ts.map +1 -0
- package/lib/types/components/trajectory/MiniWake.js +99 -0
- package/lib/types/components/trajectory/WaveBand.d.ts +42 -0
- package/lib/types/components/trajectory/WaveBand.d.ts.map +1 -0
- package/lib/types/components/trajectory/WaveBand.js +150 -0
- package/lib/types/components/whaleFrames.d.ts +81 -0
- package/lib/types/components/whaleFrames.d.ts.map +1 -0
- package/lib/types/components/whaleFrames.js +768 -0
- package/lib/types/components/whaleIdle.d.ts +66 -0
- package/lib/types/components/whaleIdle.d.ts.map +1 -0
- package/lib/types/components/whaleIdle.js +174 -0
- package/lib/types/components/whaleLayers.d.ts +28 -0
- package/lib/types/components/whaleLayers.d.ts.map +1 -0
- package/lib/types/components/whaleLayers.js +90 -0
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts +49 -0
- package/lib/types/components/workspaces/HomeWorkspaceRow.d.ts.map +1 -0
- package/lib/types/components/workspaces/HomeWorkspaceRow.js +50 -0
- package/lib/types/customTheme.d.ts +108 -0
- package/lib/types/customTheme.d.ts.map +1 -0
- package/lib/types/customTheme.js +281 -0
- package/lib/types/deepseekBalance.d.ts +19 -0
- package/lib/types/deepseekBalance.d.ts.map +1 -0
- package/lib/types/deepseekBalance.js +72 -0
- package/lib/types/deepseekPricing.d.ts +83 -0
- package/lib/types/deepseekPricing.d.ts.map +1 -0
- package/lib/types/deepseekPricing.js +140 -0
- package/lib/types/dsh-adapter/activity-store.d.ts +221 -0
- package/lib/types/dsh-adapter/activity-store.d.ts.map +1 -0
- package/lib/types/dsh-adapter/activity-store.js +359 -0
- package/lib/types/dsh-adapter/agent-view.d.ts +66 -0
- package/lib/types/dsh-adapter/agent-view.d.ts.map +1 -0
- package/lib/types/dsh-adapter/agent-view.js +153 -0
- package/lib/types/dsh-adapter/approvals.d.ts +225 -0
- package/lib/types/dsh-adapter/approvals.d.ts.map +1 -0
- package/lib/types/dsh-adapter/approvals.js +465 -0
- package/lib/types/dsh-adapter/bundled-presets.d.ts +10 -0
- package/lib/types/dsh-adapter/bundled-presets.d.ts.map +1 -0
- package/lib/types/dsh-adapter/bundled-presets.js +80 -0
- 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 +86 -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 +312 -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 +110 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts +67 -0
- package/lib/types/dsh-adapter/channel/binding-events.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/binding-events.js +170 -0
- package/lib/types/dsh-adapter/channel/binding.d.ts +58 -0
- package/lib/types/dsh-adapter/channel/binding.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/binding.js +287 -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 +18 -0
- package/lib/types/dsh-adapter/channel/compaction.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/compaction.js +114 -0
- package/lib/types/dsh-adapter/channel/composer-images.d.ts +62 -0
- package/lib/types/dsh-adapter/channel/composer-images.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/composer-images.js +316 -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 +34 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/context-bookkeeping.js +31 -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/ide-selection.d.ts +58 -0
- package/lib/types/dsh-adapter/channel/ide-selection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/ide-selection.js +226 -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 +42 -0
- package/lib/types/dsh-adapter/channel/input-delivery.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/input-delivery.js +313 -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 +54 -0
- package/lib/types/dsh-adapter/channel/local-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/local-actions.js +109 -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 +49 -0
- package/lib/types/dsh-adapter/channel/model-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/model-actions.js +351 -0
- package/lib/types/dsh-adapter/channel/model-switch.d.ts +31 -0
- package/lib/types/dsh-adapter/channel/model-switch.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/model-switch.js +116 -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 +44 -0
- package/lib/types/dsh-adapter/channel/projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/projection.js +1031 -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 +163 -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 +36 -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 +109 -0
- package/lib/types/dsh-adapter/channel/session-live-adoption.d.ts +35 -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 +64 -0
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts +91 -0
- package/lib/types/dsh-adapter/channel/session-metadata.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-metadata.js +220 -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 +43 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts +65 -0
- package/lib/types/dsh-adapter/channel/session-resume.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/session-resume.js +438 -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 +146 -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 +154 -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 +257 -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 +51 -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 +67 -0
- package/lib/types/dsh-adapter/channel/subagent-projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/subagent-projection.js +307 -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 +306 -0
- package/lib/types/dsh-adapter/channel/types.d.ts +167 -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 +23 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel/workspace-actions.js +96 -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 +23 -0
- package/lib/types/dsh-adapter/channel.d.ts.map +1 -0
- package/lib/types/dsh-adapter/channel.js +999 -0
- package/lib/types/dsh-adapter/childStderr.d.ts +63 -0
- package/lib/types/dsh-adapter/childStderr.d.ts.map +1 -0
- package/lib/types/dsh-adapter/childStderr.js +180 -0
- package/lib/types/dsh-adapter/command-attribution.d.ts +51 -0
- package/lib/types/dsh-adapter/command-attribution.d.ts.map +1 -0
- package/lib/types/dsh-adapter/command-attribution.js +93 -0
- package/lib/types/dsh-adapter/command-errors.d.ts +42 -0
- package/lib/types/dsh-adapter/command-errors.d.ts.map +1 -0
- package/lib/types/dsh-adapter/command-errors.js +63 -0
- package/lib/types/dsh-adapter/command-trees.d.ts +34 -0
- package/lib/types/dsh-adapter/command-trees.d.ts.map +1 -0
- package/lib/types/dsh-adapter/command-trees.js +111 -0
- package/lib/types/dsh-adapter/compat/index.d.ts +29 -0
- package/lib/types/dsh-adapter/compat/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/index.js +28 -0
- package/lib/types/dsh-adapter/compat/liveSession.d.ts +79 -0
- package/lib/types/dsh-adapter/compat/liveSession.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/liveSession.js +223 -0
- package/lib/types/dsh-adapter/compat/messages.d.ts +15 -0
- package/lib/types/dsh-adapter/compat/messages.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/messages.js +15 -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 +309 -0
- package/lib/types/dsh-adapter/compat/sessionLog.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/sessionLog.js +1177 -0
- package/lib/types/dsh-adapter/compat/settings.d.ts +35 -0
- package/lib/types/dsh-adapter/compat/settings.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/settings.js +57 -0
- package/lib/types/dsh-adapter/compat/shell.d.ts +25 -0
- package/lib/types/dsh-adapter/compat/shell.d.ts.map +1 -0
- package/lib/types/dsh-adapter/compat/shell.js +11 -0
- package/lib/types/dsh-adapter/component-identity.d.ts +33 -0
- package/lib/types/dsh-adapter/component-identity.d.ts.map +1 -0
- package/lib/types/dsh-adapter/component-identity.js +108 -0
- package/lib/types/dsh-adapter/contract.d.ts +91 -0
- package/lib/types/dsh-adapter/contract.d.ts.map +1 -0
- package/lib/types/dsh-adapter/contract.js +276 -0
- package/lib/types/dsh-adapter/credentialRefGuard.d.ts +40 -0
- package/lib/types/dsh-adapter/credentialRefGuard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/credentialRefGuard.js +43 -0
- package/lib/types/dsh-adapter/decision-guard.d.ts +128 -0
- package/lib/types/dsh-adapter/decision-guard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/decision-guard.js +460 -0
- package/lib/types/dsh-adapter/dialogs.d.ts +145 -0
- package/lib/types/dsh-adapter/dialogs.d.ts.map +1 -0
- package/lib/types/dsh-adapter/dialogs.js +329 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts +96 -0
- package/lib/types/dsh-adapter/effect-ledger.d.ts.map +1 -0
- package/lib/types/dsh-adapter/effect-ledger.js +290 -0
- package/lib/types/dsh-adapter/extension-events.d.ts +186 -0
- package/lib/types/dsh-adapter/extension-events.d.ts.map +1 -0
- package/lib/types/dsh-adapter/extension-events.js +187 -0
- package/lib/types/dsh-adapter/extensions.d.ts +36 -0
- package/lib/types/dsh-adapter/extensions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/extensions.js +51 -0
- package/lib/types/dsh-adapter/host-access.d.ts +37 -0
- package/lib/types/dsh-adapter/host-access.d.ts.map +1 -0
- package/lib/types/dsh-adapter/host-access.js +652 -0
- 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/ide-channel.d.ts +224 -0
- package/lib/types/dsh-adapter/ide-channel.d.ts.map +1 -0
- package/lib/types/dsh-adapter/ide-channel.js +556 -0
- package/lib/types/dsh-adapter/index.d.ts +151 -0
- package/lib/types/dsh-adapter/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/index.js +119 -0
- package/lib/types/dsh-adapter/inject-channel.d.ts +108 -0
- package/lib/types/dsh-adapter/inject-channel.d.ts.map +1 -0
- package/lib/types/dsh-adapter/inject-channel.js +247 -0
- package/lib/types/dsh-adapter/invariant.d.ts +20 -0
- package/lib/types/dsh-adapter/invariant.d.ts.map +1 -0
- package/lib/types/dsh-adapter/invariant.js +26 -0
- package/lib/types/dsh-adapter/jobs.d.ts +101 -0
- package/lib/types/dsh-adapter/jobs.d.ts.map +1 -0
- package/lib/types/dsh-adapter/jobs.js +177 -0
- package/lib/types/dsh-adapter/message-observer.d.ts +186 -0
- package/lib/types/dsh-adapter/message-observer.d.ts.map +1 -0
- package/lib/types/dsh-adapter/message-observer.js +682 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/claude-code.js +191 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/codex.js +133 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/grok-build.js +175 -0
- package/lib/types/dsh-adapter/migrate/adapters/omp.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/omp.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/omp.js +132 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan.d.ts +6 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/scan.js +38 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.d.ts +3 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/adapters/zcode.js +107 -0
- package/lib/types/dsh-adapter/migrate/bin-path.d.ts +6 -0
- package/lib/types/dsh-adapter/migrate/bin-path.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/bin-path.js +30 -0
- package/lib/types/dsh-adapter/migrate/cli.d.ts +9 -0
- package/lib/types/dsh-adapter/migrate/cli.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/cli.js +105 -0
- package/lib/types/dsh-adapter/migrate/index.d.ts +29 -0
- package/lib/types/dsh-adapter/migrate/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/index.js +108 -0
- package/lib/types/dsh-adapter/migrate/picker.d.ts +64 -0
- package/lib/types/dsh-adapter/migrate/picker.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/picker.js +86 -0
- package/lib/types/dsh-adapter/migrate/recent-agents.d.ts +40 -0
- package/lib/types/dsh-adapter/migrate/recent-agents.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/recent-agents.js +100 -0
- package/lib/types/dsh-adapter/migrate/sessionize.d.ts +19 -0
- package/lib/types/dsh-adapter/migrate/sessionize.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/sessionize.js +101 -0
- package/lib/types/dsh-adapter/migrate/types.d.ts +52 -0
- package/lib/types/dsh-adapter/migrate/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/types.js +11 -0
- package/lib/types/dsh-adapter/migrate/uuid.d.ts +7 -0
- package/lib/types/dsh-adapter/migrate/uuid.d.ts.map +1 -0
- package/lib/types/dsh-adapter/migrate/uuid.js +25 -0
- package/lib/types/dsh-adapter/packaged-presets.d.ts +22 -0
- package/lib/types/dsh-adapter/packaged-presets.d.ts.map +1 -0
- package/lib/types/dsh-adapter/packaged-presets.js +94 -0
- package/lib/types/dsh-adapter/plugin-host.d.ts +205 -0
- package/lib/types/dsh-adapter/plugin-host.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-host.js +762 -0
- package/lib/types/dsh-adapter/plugin-storage.d.ts +118 -0
- package/lib/types/dsh-adapter/plugin-storage.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin-storage.js +536 -0
- package/lib/types/dsh-adapter/plugin.d.ts +70 -0
- package/lib/types/dsh-adapter/plugin.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugin.js +2140 -0
- package/lib/types/dsh-adapter/plugins-info.d.ts +43 -0
- package/lib/types/dsh-adapter/plugins-info.d.ts.map +1 -0
- package/lib/types/dsh-adapter/plugins-info.js +293 -0
- package/lib/types/dsh-adapter/preset-resolution.d.ts +57 -0
- package/lib/types/dsh-adapter/preset-resolution.d.ts.map +1 -0
- package/lib/types/dsh-adapter/preset-resolution.js +52 -0
- package/lib/types/dsh-adapter/presets.d.ts +110 -0
- package/lib/types/dsh-adapter/presets.d.ts.map +1 -0
- package/lib/types/dsh-adapter/presets.js +161 -0
- package/lib/types/dsh-adapter/promptDebug.d.ts +4 -0
- package/lib/types/dsh-adapter/promptDebug.d.ts.map +1 -0
- package/lib/types/dsh-adapter/promptDebug.js +163 -0
- package/lib/types/dsh-adapter/providerGuard.d.ts +75 -0
- package/lib/types/dsh-adapter/providerGuard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/providerGuard.js +104 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts +42 -0
- package/lib/types/dsh-adapter/providerWizard.d.ts.map +1 -0
- package/lib/types/dsh-adapter/providerWizard.js +921 -0
- package/lib/types/dsh-adapter/questions-answerer.d.ts +51 -0
- package/lib/types/dsh-adapter/questions-answerer.d.ts.map +1 -0
- package/lib/types/dsh-adapter/questions-answerer.js +64 -0
- package/lib/types/dsh-adapter/questions.d.ts +130 -0
- package/lib/types/dsh-adapter/questions.d.ts.map +1 -0
- package/lib/types/dsh-adapter/questions.js +282 -0
- package/lib/types/dsh-adapter/recap.d.ts +41 -0
- package/lib/types/dsh-adapter/recap.d.ts.map +1 -0
- package/lib/types/dsh-adapter/recap.js +111 -0
- package/lib/types/dsh-adapter/renderers.d.ts +58 -0
- package/lib/types/dsh-adapter/renderers.d.ts.map +1 -0
- package/lib/types/dsh-adapter/renderers.js +198 -0
- package/lib/types/dsh-adapter/sanitize.d.ts +45 -0
- package/lib/types/dsh-adapter/sanitize.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sanitize.js +84 -0
- package/lib/types/dsh-adapter/scenes.d.ts +87 -0
- package/lib/types/dsh-adapter/scenes.d.ts.map +1 -0
- package/lib/types/dsh-adapter/scenes.js +223 -0
- package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts +53 -0
- package/lib/types/dsh-adapter/session-mount-heartbeat.d.ts.map +1 -0
- package/lib/types/dsh-adapter/session-mount-heartbeat.js +100 -0
- package/lib/types/dsh-adapter/sessionTree.d.ts +232 -0
- package/lib/types/dsh-adapter/sessionTree.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessionTree.js +984 -0
- package/lib/types/dsh-adapter/sessions/digest.d.ts +54 -0
- package/lib/types/dsh-adapter/sessions/digest.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/digest.js +478 -0
- package/lib/types/dsh-adapter/sessions/frames.d.ts +103 -0
- package/lib/types/dsh-adapter/sessions/frames.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/frames.js +263 -0
- package/lib/types/dsh-adapter/sessions/header.d.ts +56 -0
- package/lib/types/dsh-adapter/sessions/header.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/header.js +85 -0
- package/lib/types/dsh-adapter/sessions/index.d.ts +17 -0
- package/lib/types/dsh-adapter/sessions/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/index.js +15 -0
- package/lib/types/dsh-adapter/sessions/list.d.ts +64 -0
- package/lib/types/dsh-adapter/sessions/list.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/list.js +331 -0
- package/lib/types/dsh-adapter/sessions/recovery.d.ts +17 -0
- package/lib/types/dsh-adapter/sessions/recovery.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/recovery.js +109 -0
- package/lib/types/dsh-adapter/sessions/store.d.ts +60 -0
- package/lib/types/dsh-adapter/sessions/store.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/store.js +221 -0
- package/lib/types/dsh-adapter/sessions/types.d.ts +21 -0
- package/lib/types/dsh-adapter/sessions/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sessions/types.js +1 -0
- package/lib/types/dsh-adapter/settings-sections.d.ts +48 -0
- package/lib/types/dsh-adapter/settings-sections.d.ts.map +1 -0
- package/lib/types/dsh-adapter/settings-sections.js +253 -0
- package/lib/types/dsh-adapter/settingsEditor.d.ts +100 -0
- package/lib/types/dsh-adapter/settingsEditor.d.ts.map +1 -0
- package/lib/types/dsh-adapter/settingsEditor.js +238 -0
- package/lib/types/dsh-adapter/sharp.d.ts +10 -0
- package/lib/types/dsh-adapter/sharp.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sharp.js +59 -0
- package/lib/types/dsh-adapter/shortcuts.d.ts +82 -0
- package/lib/types/dsh-adapter/shortcuts.d.ts.map +1 -0
- package/lib/types/dsh-adapter/shortcuts.js +252 -0
- package/lib/types/dsh-adapter/sideQuestion.d.ts +36 -0
- package/lib/types/dsh-adapter/sideQuestion.d.ts.map +1 -0
- package/lib/types/dsh-adapter/sideQuestion.js +59 -0
- package/lib/types/dsh-adapter/status.d.ts +148 -0
- package/lib/types/dsh-adapter/status.d.ts.map +1 -0
- package/lib/types/dsh-adapter/status.js +435 -0
- package/lib/types/dsh-adapter/subagents.d.ts +64 -0
- package/lib/types/dsh-adapter/subagents.d.ts.map +1 -0
- package/lib/types/dsh-adapter/subagents.js +366 -0
- package/lib/types/dsh-adapter/themes.d.ts +52 -0
- package/lib/types/dsh-adapter/themes.d.ts.map +1 -0
- package/lib/types/dsh-adapter/themes.js +307 -0
- package/lib/types/dsh-adapter/toast.d.ts +80 -0
- package/lib/types/dsh-adapter/toast.d.ts.map +1 -0
- package/lib/types/dsh-adapter/toast.js +171 -0
- package/lib/types/dsh-adapter/trajectory/aggregate.d.ts +47 -0
- package/lib/types/dsh-adapter/trajectory/aggregate.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/aggregate.js +208 -0
- package/lib/types/dsh-adapter/trajectory/guards.d.ts +196 -0
- package/lib/types/dsh-adapter/trajectory/guards.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/guards.js +273 -0
- package/lib/types/dsh-adapter/trajectory/index.d.ts +16 -0
- package/lib/types/dsh-adapter/trajectory/index.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/index.js +15 -0
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts +40 -0
- package/lib/types/dsh-adapter/trajectory/inspect.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/inspect.js +160 -0
- package/lib/types/dsh-adapter/trajectory/projection.d.ts +146 -0
- package/lib/types/dsh-adapter/trajectory/projection.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/projection.js +710 -0
- package/lib/types/dsh-adapter/trajectory/types.d.ts +232 -0
- package/lib/types/dsh-adapter/trajectory/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/types.js +70 -0
- package/lib/types/dsh-adapter/trajectory/wave.d.ts +45 -0
- package/lib/types/dsh-adapter/trajectory/wave.d.ts.map +1 -0
- package/lib/types/dsh-adapter/trajectory/wave.js +210 -0
- package/lib/types/dsh-adapter/transcript-images.d.ts +17 -0
- package/lib/types/dsh-adapter/transcript-images.d.ts.map +1 -0
- package/lib/types/dsh-adapter/transcript-images.js +96 -0
- package/lib/types/dsh-adapter/types.d.ts +23 -0
- package/lib/types/dsh-adapter/types.d.ts.map +1 -0
- package/lib/types/dsh-adapter/types.js +1 -0
- package/lib/types/dsh-adapter/workspace.d.ts +22 -0
- package/lib/types/dsh-adapter/workspace.d.ts.map +1 -0
- package/lib/types/dsh-adapter/workspace.js +16 -0
- package/lib/types/dsh-adapter/workspaces.d.ts +125 -0
- package/lib/types/dsh-adapter/workspaces.d.ts.map +1 -0
- package/lib/types/dsh-adapter/workspaces.js +543 -0
- package/lib/types/effortPrefs.d.ts +48 -0
- package/lib/types/effortPrefs.d.ts.map +1 -0
- package/lib/types/effortPrefs.js +95 -0
- package/lib/types/extensions.d.ts +18 -0
- package/lib/types/extensions.d.ts.map +1 -0
- package/lib/types/extensions.js +27 -0
- package/lib/types/force-production-react.d.ts +1 -0
- package/lib/types/force-production-react.d.ts.map +1 -0
- package/lib/types/force-production-react.js +12 -0
- package/lib/types/herdr.d.ts +28 -0
- package/lib/types/herdr.d.ts.map +1 -0
- package/lib/types/herdr.js +133 -0
- package/lib/types/history.d.ts +39 -0
- package/lib/types/history.d.ts.map +1 -0
- package/lib/types/history.js +177 -0
- package/lib/types/homePrefs.d.ts +15 -0
- package/lib/types/homePrefs.d.ts.map +1 -0
- package/lib/types/homePrefs.js +53 -0
- package/lib/types/hooks/useBlink.d.ts +10 -0
- package/lib/types/hooks/useBlink.d.ts.map +1 -0
- package/lib/types/hooks/useBlink.js +19 -0
- package/lib/types/hooks/useExternalVersion.d.ts +32 -0
- package/lib/types/hooks/useExternalVersion.d.ts.map +1 -0
- package/lib/types/hooks/useExternalVersion.js +53 -0
- package/lib/types/hooks/useRevealVersion.d.ts +21 -0
- package/lib/types/hooks/useRevealVersion.d.ts.map +1 -0
- package/lib/types/hooks/useRevealVersion.js +33 -0
- package/lib/types/hooks/useRuntimeThemeSnapshot.d.ts +10 -0
- package/lib/types/hooks/useRuntimeThemeSnapshot.d.ts.map +1 -0
- package/lib/types/hooks/useRuntimeThemeSnapshot.js +32 -0
- package/lib/types/i18n.d.ts +4433 -0
- package/lib/types/i18n.d.ts.map +1 -0
- package/lib/types/i18n.js +1493 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/index.js +4 -0
- package/lib/types/ink/Ansi.d.ts +9 -0
- package/lib/types/ink/Ansi.d.ts.map +1 -0
- package/lib/types/ink/Ansi.js +45 -0
- package/lib/types/ink/bidi.d.ts +18 -0
- package/lib/types/ink/bidi.d.ts.map +1 -0
- package/lib/types/ink/bidi.js +119 -0
- package/lib/types/ink/clearTerminal.d.ts +22 -0
- package/lib/types/ink/clearTerminal.d.ts.map +1 -0
- package/lib/types/ink/clearTerminal.js +72 -0
- package/lib/types/ink/colorize.d.ts +43 -0
- package/lib/types/ink/colorize.d.ts.map +1 -0
- package/lib/types/ink/colorize.js +233 -0
- package/lib/types/ink/components/AlternateScreen.d.ts +8 -0
- package/lib/types/ink/components/AlternateScreen.d.ts.map +1 -0
- package/lib/types/ink/components/AlternateScreen.js +29 -0
- package/lib/types/ink/components/App.d.ts +149 -0
- package/lib/types/ink/components/App.d.ts.map +1 -0
- package/lib/types/ink/components/App.js +1027 -0
- package/lib/types/ink/components/AppContext.d.ts +17 -0
- package/lib/types/ink/components/AppContext.d.ts.map +1 -0
- package/lib/types/ink/components/AppContext.js +12 -0
- package/lib/types/ink/components/Box.d.ts +85 -0
- package/lib/types/ink/components/Box.d.ts.map +1 -0
- package/lib/types/ink/components/Box.js +22 -0
- package/lib/types/ink/components/Button.d.ts +37 -0
- package/lib/types/ink/components/Button.d.ts.map +1 -0
- package/lib/types/ink/components/Button.js +23 -0
- package/lib/types/ink/components/ClockContext.d.ts +17 -0
- package/lib/types/ink/components/ClockContext.d.ts.map +1 -0
- package/lib/types/ink/components/ClockContext.js +99 -0
- package/lib/types/ink/components/CursorDeclarationContext.d.ts +30 -0
- package/lib/types/ink/components/CursorDeclarationContext.d.ts.map +1 -0
- package/lib/types/ink/components/CursorDeclarationContext.js +6 -0
- package/lib/types/ink/components/ErrorOverview.d.ts +7 -0
- package/lib/types/ink/components/ErrorOverview.d.ts.map +1 -0
- package/lib/types/ink/components/ErrorOverview.js +49 -0
- package/lib/types/ink/components/Image.d.ts +28 -0
- package/lib/types/ink/components/Image.d.ts.map +1 -0
- package/lib/types/ink/components/Image.js +44 -0
- package/lib/types/ink/components/Link.d.ts +8 -0
- package/lib/types/ink/components/Link.d.ts.map +1 -0
- package/lib/types/ink/components/Link.js +7 -0
- package/lib/types/ink/components/Newline.d.ts +7 -0
- package/lib/types/ink/components/Newline.d.ts.map +1 -0
- package/lib/types/ink/components/Newline.js +5 -0
- package/lib/types/ink/components/NoSelect.d.ts +9 -0
- package/lib/types/ink/components/NoSelect.d.ts.map +1 -0
- package/lib/types/ink/components/NoSelect.js +6 -0
- package/lib/types/ink/components/RawAnsi.d.ts +9 -0
- package/lib/types/ink/components/RawAnsi.d.ts.map +1 -0
- package/lib/types/ink/components/RawAnsi.js +7 -0
- package/lib/types/ink/components/ScrollBox.d.ts +78 -0
- package/lib/types/ink/components/ScrollBox.d.ts.map +1 -0
- package/lib/types/ink/components/ScrollBox.js +309 -0
- package/lib/types/ink/components/Spacer.d.ts +4 -0
- package/lib/types/ink/components/Spacer.d.ts.map +1 -0
- package/lib/types/ink/components/Spacer.js +6 -0
- package/lib/types/ink/components/StdinContext.d.ts +32 -0
- package/lib/types/ink/components/StdinContext.d.ts.map +1 -0
- package/lib/types/ink/components/StdinContext.js +16 -0
- package/lib/types/ink/components/TerminalFocusContext.d.ts +11 -0
- package/lib/types/ink/components/TerminalFocusContext.d.ts.map +1 -0
- package/lib/types/ink/components/TerminalFocusContext.js +11 -0
- package/lib/types/ink/components/TerminalSizeContext.d.ts +6 -0
- package/lib/types/ink/components/TerminalSizeContext.d.ts.map +1 -0
- package/lib/types/ink/components/TerminalSizeContext.js +2 -0
- package/lib/types/ink/components/Text.d.ts +64 -0
- package/lib/types/ink/components/Text.d.ts.map +1 -0
- package/lib/types/ink/components/Text.js +19 -0
- package/lib/types/ink/constants.d.ts +12 -0
- package/lib/types/ink/constants.d.ts.map +1 -0
- package/lib/types/ink/constants.js +11 -0
- package/lib/types/ink/cursor.d.ts +11 -0
- package/lib/types/ink/cursor.d.ts.map +1 -0
- package/lib/types/ink/cursor.js +1 -0
- package/lib/types/ink/devtools.d.ts +7 -0
- package/lib/types/ink/devtools.d.ts.map +1 -0
- package/lib/types/ink/devtools.js +1 -0
- package/lib/types/ink/dom.d.ts +194 -0
- package/lib/types/ink/dom.d.ts.map +1 -0
- package/lib/types/ink/dom.js +424 -0
- package/lib/types/ink/events/click-event.d.ts +23 -0
- package/lib/types/ink/events/click-event.d.ts.map +1 -0
- package/lib/types/ink/events/click-event.js +33 -0
- package/lib/types/ink/events/context-menu-event.d.ts +19 -0
- package/lib/types/ink/events/context-menu-event.d.ts.map +1 -0
- package/lib/types/ink/events/context-menu-event.js +20 -0
- package/lib/types/ink/events/dispatcher.d.ts +63 -0
- package/lib/types/ink/events/dispatcher.d.ts.map +1 -0
- package/lib/types/ink/events/dispatcher.js +194 -0
- package/lib/types/ink/events/drag-event.d.ts +44 -0
- package/lib/types/ink/events/drag-event.d.ts.map +1 -0
- package/lib/types/ink/events/drag-event.js +39 -0
- package/lib/types/ink/events/emitter.d.ts +20 -0
- package/lib/types/ink/events/emitter.d.ts.map +1 -0
- package/lib/types/ink/events/emitter.js +43 -0
- package/lib/types/ink/events/event-handlers.d.ts +65 -0
- package/lib/types/ink/events/event-handlers.d.ts.map +1 -0
- package/lib/types/ink/events/event-handlers.js +40 -0
- package/lib/types/ink/events/event.d.ts +19 -0
- package/lib/types/ink/events/event.d.ts.map +1 -0
- package/lib/types/ink/events/event.js +22 -0
- package/lib/types/ink/events/focus-event.d.ts +19 -0
- package/lib/types/ink/events/focus-event.d.ts.map +1 -0
- package/lib/types/ink/events/focus-event.js +21 -0
- package/lib/types/ink/events/input-event.d.ts +72 -0
- package/lib/types/ink/events/input-event.d.ts.map +1 -0
- package/lib/types/ink/events/input-event.js +185 -0
- package/lib/types/ink/events/keyboard-event.d.ts +40 -0
- package/lib/types/ink/events/keyboard-event.d.ts.map +1 -0
- package/lib/types/ink/events/keyboard-event.js +65 -0
- package/lib/types/ink/events/paste-event.d.ts +11 -0
- package/lib/types/ink/events/paste-event.d.ts.map +1 -0
- package/lib/types/ink/events/paste-event.js +13 -0
- package/lib/types/ink/events/pointer-event.d.ts +61 -0
- package/lib/types/ink/events/pointer-event.d.ts.map +1 -0
- package/lib/types/ink/events/pointer-event.js +61 -0
- package/lib/types/ink/events/resize-event.d.ts +13 -0
- package/lib/types/ink/events/resize-event.d.ts.map +1 -0
- package/lib/types/ink/events/resize-event.js +16 -0
- package/lib/types/ink/events/terminal-event.d.ts +112 -0
- package/lib/types/ink/events/terminal-event.d.ts.map +1 -0
- package/lib/types/ink/events/terminal-event.js +131 -0
- package/lib/types/ink/events/terminal-focus-event.d.ts +21 -0
- package/lib/types/ink/events/terminal-focus-event.d.ts.map +1 -0
- package/lib/types/ink/events/terminal-focus-event.js +18 -0
- package/lib/types/ink/events/wheel-event.d.ts +17 -0
- package/lib/types/ink/events/wheel-event.d.ts.map +1 -0
- package/lib/types/ink/events/wheel-event.js +20 -0
- package/lib/types/ink/flush-tick.d.ts +26 -0
- package/lib/types/ink/flush-tick.d.ts.map +1 -0
- package/lib/types/ink/flush-tick.js +31 -0
- package/lib/types/ink/focus.d.ts +74 -0
- package/lib/types/ink/focus.d.ts.map +1 -0
- package/lib/types/ink/focus.js +188 -0
- package/lib/types/ink/frame.d.ts +128 -0
- package/lib/types/ink/frame.d.ts.map +1 -0
- package/lib/types/ink/frame.js +43 -0
- package/lib/types/ink/geometry-trace.d.ts +51 -0
- package/lib/types/ink/geometry-trace.d.ts.map +1 -0
- package/lib/types/ink/geometry-trace.js +83 -0
- package/lib/types/ink/get-max-width.d.ts +12 -0
- package/lib/types/ink/get-max-width.d.ts.map +1 -0
- package/lib/types/ink/get-max-width.js +12 -0
- package/lib/types/ink/hit-test.d.ts +181 -0
- package/lib/types/ink/hit-test.d.ts.map +1 -0
- package/lib/types/ink/hit-test.js +540 -0
- package/lib/types/ink/hooks/use-animation-frame.d.ts +27 -0
- package/lib/types/ink/hooks/use-animation-frame.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-animation-frame.js +48 -0
- package/lib/types/ink/hooks/use-app.d.ts +7 -0
- package/lib/types/ink/hooks/use-app.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-app.js +7 -0
- package/lib/types/ink/hooks/use-copy-on-select.d.ts +26 -0
- package/lib/types/ink/hooks/use-copy-on-select.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-copy-on-select.js +54 -0
- package/lib/types/ink/hooks/use-declared-cursor.d.ts +31 -0
- package/lib/types/ink/hooks/use-declared-cursor.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-declared-cursor.js +65 -0
- package/lib/types/ink/hooks/use-input.d.ts +41 -0
- package/lib/types/ink/hooks/use-input.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-input.js +81 -0
- package/lib/types/ink/hooks/use-interval.d.ts +23 -0
- package/lib/types/ink/hooks/use-interval.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-interval.js +58 -0
- package/lib/types/ink/hooks/use-search-highlight.d.ts +34 -0
- package/lib/types/ink/hooks/use-search-highlight.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-search-highlight.js +35 -0
- package/lib/types/ink/hooks/use-selection.d.ts +44 -0
- package/lib/types/ink/hooks/use-selection.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-selection.js +64 -0
- package/lib/types/ink/hooks/use-stdin.d.ts +8 -0
- package/lib/types/ink/hooks/use-stdin.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-stdin.js +8 -0
- package/lib/types/ink/hooks/use-tab-status.d.ts +18 -0
- package/lib/types/ink/hooks/use-tab-status.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-tab-status.js +58 -0
- package/lib/types/ink/hooks/use-terminal-focus.d.ts +11 -0
- package/lib/types/ink/hooks/use-terminal-focus.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-terminal-focus.js +15 -0
- package/lib/types/ink/hooks/use-terminal-images.d.ts +14 -0
- package/lib/types/ink/hooks/use-terminal-images.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-terminal-images.js +22 -0
- package/lib/types/ink/hooks/use-terminal-size.d.ts +6 -0
- package/lib/types/ink/hooks/use-terminal-size.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-terminal-size.js +12 -0
- package/lib/types/ink/hooks/use-terminal-title.d.ts +14 -0
- package/lib/types/ink/hooks/use-terminal-title.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-terminal-title.js +30 -0
- package/lib/types/ink/hooks/use-terminal-viewport.d.ts +32 -0
- package/lib/types/ink/hooks/use-terminal-viewport.d.ts.map +1 -0
- package/lib/types/ink/hooks/use-terminal-viewport.js +79 -0
- package/lib/types/ink/ink.d.ts +571 -0
- package/lib/types/ink/ink.d.ts.map +1 -0
- package/lib/types/ink/ink.js +2818 -0
- package/lib/types/ink/input-suppression.d.ts +20 -0
- package/lib/types/ink/input-suppression.d.ts.map +1 -0
- package/lib/types/ink/input-suppression.js +26 -0
- package/lib/types/ink/instances.d.ts +10 -0
- package/lib/types/ink/instances.d.ts.map +1 -0
- package/lib/types/ink/instances.js +13 -0
- package/lib/types/ink/kitty-graphics.d.ts +41 -0
- package/lib/types/ink/kitty-graphics.d.ts.map +1 -0
- package/lib/types/ink/kitty-graphics.js +229 -0
- package/lib/types/ink/layout/engine.d.ts +7 -0
- package/lib/types/ink/layout/engine.d.ts.map +1 -0
- package/lib/types/ink/layout/engine.js +8 -0
- package/lib/types/ink/layout/geometry.d.ts +86 -0
- package/lib/types/ink/layout/geometry.d.ts.map +1 -0
- package/lib/types/ink/layout/geometry.js +95 -0
- package/lib/types/ink/layout/node.d.ts +153 -0
- package/lib/types/ink/layout/node.d.ts.map +1 -0
- package/lib/types/ink/layout/node.js +72 -0
- package/lib/types/ink/layout/yoga.d.ts +70 -0
- package/lib/types/ink/layout/yoga.d.ts.map +1 -0
- package/lib/types/ink/layout/yoga.js +252 -0
- package/lib/types/ink/line-width-cache.d.ts +9 -0
- package/lib/types/ink/line-width-cache.d.ts.map +1 -0
- package/lib/types/ink/line-width-cache.js +45 -0
- package/lib/types/ink/log-update.d.ts +57 -0
- package/lib/types/ink/log-update.d.ts.map +1 -0
- package/lib/types/ink/log-update.js +1000 -0
- package/lib/types/ink/measure-element.d.ts +19 -0
- package/lib/types/ink/measure-element.d.ts.map +1 -0
- package/lib/types/ink/measure-element.js +10 -0
- package/lib/types/ink/measure-text.d.ts +13 -0
- package/lib/types/ink/measure-text.d.ts.map +1 -0
- package/lib/types/ink/measure-text.js +38 -0
- package/lib/types/ink/node-cache.d.ts +54 -0
- package/lib/types/ink/node-cache.d.ts.map +1 -0
- package/lib/types/ink/node-cache.js +45 -0
- package/lib/types/ink/optimizer.d.ts +18 -0
- package/lib/types/ink/optimizer.d.ts.map +1 -0
- package/lib/types/ink/optimizer.js +83 -0
- package/lib/types/ink/output.d.ts +300 -0
- package/lib/types/ink/output.d.ts.map +1 -0
- package/lib/types/ink/output.js +1205 -0
- package/lib/types/ink/parse-keypress.d.ts +217 -0
- package/lib/types/ink/parse-keypress.d.ts.map +1 -0
- package/lib/types/ink/parse-keypress.js +1550 -0
- package/lib/types/ink/reconciler.d.ts +43 -0
- package/lib/types/ink/reconciler.d.ts.map +1 -0
- package/lib/types/ink/reconciler.js +414 -0
- package/lib/types/ink/render-border.d.ts +41 -0
- package/lib/types/ink/render-border.d.ts.map +1 -0
- package/lib/types/ink/render-border.js +159 -0
- package/lib/types/ink/render-node-to-output.d.ts +199 -0
- package/lib/types/ink/render-node-to-output.d.ts.map +1 -0
- package/lib/types/ink/render-node-to-output.js +1758 -0
- package/lib/types/ink/render-to-screen.d.ts +65 -0
- package/lib/types/ink/render-to-screen.d.ts.map +1 -0
- package/lib/types/ink/render-to-screen.js +189 -0
- package/lib/types/ink/renderer.d.ts +34 -0
- package/lib/types/ink/renderer.d.ts.map +1 -0
- package/lib/types/ink/renderer.js +181 -0
- package/lib/types/ink/root.d.ts +109 -0
- package/lib/types/ink/root.d.ts.map +1 -0
- package/lib/types/ink/root.js +96 -0
- package/lib/types/ink/screen.d.ts +545 -0
- package/lib/types/ink/screen.d.ts.map +1 -0
- package/lib/types/ink/screen.js +1607 -0
- package/lib/types/ink/selection.d.ts +529 -0
- package/lib/types/ink/selection.d.ts.map +1 -0
- package/lib/types/ink/selection.js +1292 -0
- package/lib/types/ink/sixel-codec.d.ts +41 -0
- package/lib/types/ink/sixel-codec.d.ts.map +1 -0
- package/lib/types/ink/sixel-codec.js +128 -0
- package/lib/types/ink/sixel-graphics.d.ts +74 -0
- package/lib/types/ink/sixel-graphics.d.ts.map +1 -0
- package/lib/types/ink/sixel-graphics.js +498 -0
- package/lib/types/ink/sixel-worker.d.ts +2 -0
- package/lib/types/ink/sixel-worker.d.ts.map +1 -0
- package/lib/types/ink/sixel-worker.js +12 -0
- package/lib/types/ink/squash-text-nodes.d.ts +30 -0
- package/lib/types/ink/squash-text-nodes.d.ts.map +1 -0
- package/lib/types/ink/squash-text-nodes.js +63 -0
- package/lib/types/ink/stringWidth.d.ts +3 -0
- package/lib/types/ink/stringWidth.d.ts.map +1 -0
- package/lib/types/ink/stringWidth.js +248 -0
- package/lib/types/ink/styles.d.ts +346 -0
- package/lib/types/ink/styles.d.ts.map +1 -0
- package/lib/types/ink/styles.js +307 -0
- package/lib/types/ink/supports-hyperlinks.d.ts +20 -0
- package/lib/types/ink/supports-hyperlinks.d.ts.map +1 -0
- package/lib/types/ink/supports-hyperlinks.js +44 -0
- package/lib/types/ink/tabstops.d.ts +10 -0
- package/lib/types/ink/tabstops.d.ts.map +1 -0
- package/lib/types/ink/tabstops.js +47 -0
- package/lib/types/ink/terminal-focus-state.d.ts +35 -0
- package/lib/types/ink/terminal-focus-state.d.ts.map +1 -0
- package/lib/types/ink/terminal-focus-state.js +57 -0
- package/lib/types/ink/terminal-image-protocol.d.ts +4 -0
- package/lib/types/ink/terminal-image-protocol.d.ts.map +1 -0
- package/lib/types/ink/terminal-image-protocol.js +8 -0
- package/lib/types/ink/terminal-image.d.ts +102 -0
- package/lib/types/ink/terminal-image.d.ts.map +1 -0
- package/lib/types/ink/terminal-image.js +223 -0
- package/lib/types/ink/terminal-querier.d.ts +203 -0
- package/lib/types/ink/terminal-querier.d.ts.map +1 -0
- package/lib/types/ink/terminal-querier.js +286 -0
- package/lib/types/ink/terminal.d.ts +192 -0
- package/lib/types/ink/terminal.d.ts.map +1 -0
- package/lib/types/ink/terminal.js +436 -0
- package/lib/types/ink/termio/ansi.d.ts +75 -0
- package/lib/types/ink/termio/ansi.d.ts.map +1 -0
- package/lib/types/ink/termio/ansi.js +79 -0
- package/lib/types/ink/termio/csi.d.ts +263 -0
- package/lib/types/ink/termio/csi.d.ts.map +1 -0
- package/lib/types/ink/termio/csi.js +367 -0
- package/lib/types/ink/termio/dec.d.ts +61 -0
- package/lib/types/ink/termio/dec.d.ts.map +1 -0
- package/lib/types/ink/termio/dec.js +76 -0
- package/lib/types/ink/termio/esc.d.ts +15 -0
- package/lib/types/ink/termio/esc.d.ts.map +1 -0
- package/lib/types/ink/termio/esc.js +57 -0
- package/lib/types/ink/termio/osc.d.ts +198 -0
- package/lib/types/ink/termio/osc.d.ts.map +1 -0
- package/lib/types/ink/termio/osc.js +475 -0
- package/lib/types/ink/termio/parser.d.ts +46 -0
- package/lib/types/ink/termio/parser.d.ts.map +1 -0
- package/lib/types/ink/termio/parser.js +366 -0
- package/lib/types/ink/termio/sgr.d.ts +17 -0
- package/lib/types/ink/termio/sgr.d.ts.map +1 -0
- package/lib/types/ink/termio/sgr.js +300 -0
- package/lib/types/ink/termio/tokenize.d.ts +56 -0
- package/lib/types/ink/termio/tokenize.d.ts.map +1 -0
- package/lib/types/ink/termio/tokenize.js +290 -0
- package/lib/types/ink/termio/types.d.ts +211 -0
- package/lib/types/ink/termio/types.d.ts.map +1 -0
- package/lib/types/ink/termio/types.js +68 -0
- package/lib/types/ink/termio.d.ts +25 -0
- package/lib/types/ink/termio.d.ts.map +1 -0
- package/lib/types/ink/termio.js +24 -0
- package/lib/types/ink/timeline-rail.d.ts +134 -0
- package/lib/types/ink/timeline-rail.d.ts.map +1 -0
- package/lib/types/ink/timeline-rail.js +175 -0
- package/lib/types/ink/transcript-highlight.d.ts +25 -0
- package/lib/types/ink/transcript-highlight.d.ts.map +1 -0
- package/lib/types/ink/transcript-highlight.js +82 -0
- package/lib/types/ink/truncateToWidth.d.ts +7 -0
- package/lib/types/ink/truncateToWidth.d.ts.map +1 -0
- package/lib/types/ink/truncateToWidth.js +18 -0
- package/lib/types/ink/update-overflow-guard.d.ts +62 -0
- package/lib/types/ink/update-overflow-guard.d.ts.map +1 -0
- package/lib/types/ink/update-overflow-guard.js +164 -0
- package/lib/types/ink/useTerminalNotification.d.ts +45 -0
- package/lib/types/ink/useTerminalNotification.d.ts.map +1 -0
- package/lib/types/ink/useTerminalNotification.js +70 -0
- package/lib/types/ink/warn.d.ts +7 -0
- package/lib/types/ink/warn.d.ts.map +1 -0
- package/lib/types/ink/warn.js +15 -0
- package/lib/types/ink/widest-line.d.ts +7 -0
- package/lib/types/ink/widest-line.d.ts.map +1 -0
- package/lib/types/ink/widest-line.js +19 -0
- package/lib/types/ink/wrap-text.d.ts +10 -0
- package/lib/types/ink/wrap-text.d.ts.map +1 -0
- package/lib/types/ink/wrap-text.js +103 -0
- package/lib/types/ink/wrapAnsi.d.ts +17 -0
- package/lib/types/ink/wrapAnsi.d.ts.map +1 -0
- package/lib/types/ink/wrapAnsi.js +38 -0
- package/lib/types/jsx-runtime.d.ts +2 -0
- package/lib/types/jsx-runtime.d.ts.map +1 -0
- package/lib/types/jsx-runtime.js +13 -0
- package/lib/types/migrationPrefs.d.ts +60 -0
- package/lib/types/migrationPrefs.d.ts.map +1 -0
- package/lib/types/migrationPrefs.js +97 -0
- package/lib/types/minimalMode.d.ts +13 -0
- package/lib/types/minimalMode.d.ts.map +1 -0
- package/lib/types/minimalMode.js +17 -0
- package/lib/types/modelGroups.d.ts +72 -0
- package/lib/types/modelGroups.d.ts.map +1 -0
- package/lib/types/modelGroups.js +97 -0
- package/lib/types/modelPrefs.d.ts +37 -0
- package/lib/types/modelPrefs.d.ts.map +1 -0
- package/lib/types/modelPrefs.js +66 -0
- package/lib/types/modelRecents.d.ts +39 -0
- package/lib/types/modelRecents.d.ts.map +1 -0
- package/lib/types/modelRecents.js +97 -0
- package/lib/types/modelRoute.d.ts +87 -0
- package/lib/types/modelRoute.d.ts.map +1 -0
- package/lib/types/modelRoute.js +125 -0
- package/lib/types/native-ts/yoga-layout/enums.d.ts +183 -0
- package/lib/types/native-ts/yoga-layout/enums.d.ts.map +1 -0
- package/lib/types/native-ts/yoga-layout/enums.js +150 -0
- package/lib/types/native-ts/yoga-layout/index.d.ts +804 -0
- package/lib/types/native-ts/yoga-layout/index.d.ts.map +1 -0
- package/lib/types/native-ts/yoga-layout/index.js +2614 -0
- package/lib/types/oauth.d.ts +15 -0
- package/lib/types/oauth.d.ts.map +1 -0
- package/lib/types/oauth.js +14 -0
- package/lib/types/plugin-host.d.ts +14 -0
- package/lib/types/plugin-host.d.ts.map +1 -0
- package/lib/types/plugin-host.js +19 -0
- package/lib/types/presetPrefs.d.ts +30 -0
- package/lib/types/presetPrefs.d.ts.map +1 -0
- package/lib/types/presetPrefs.js +66 -0
- package/lib/types/reload.d.ts +109 -0
- package/lib/types/reload.d.ts.map +1 -0
- package/lib/types/reload.js +118 -0
- package/lib/types/scenes.d.ts +4 -0
- package/lib/types/scenes.d.ts.map +1 -0
- package/lib/types/scenes.js +4 -0
- package/lib/types/screens/Chat.d.ts +82 -0
- package/lib/types/screens/Chat.d.ts.map +1 -0
- package/lib/types/screens/Chat.js +4299 -0
- package/lib/types/screens/SessionSupervisor.d.ts +84 -0
- package/lib/types/screens/SessionSupervisor.d.ts.map +1 -0
- package/lib/types/screens/SessionSupervisor.js +350 -0
- package/lib/types/screens/SessionTree.d.ts +27 -0
- package/lib/types/screens/SessionTree.d.ts.map +1 -0
- package/lib/types/screens/SessionTree.js +583 -0
- package/lib/types/screens/Settings.d.ts +22 -0
- package/lib/types/screens/Settings.d.ts.map +1 -0
- package/lib/types/screens/Settings.js +592 -0
- package/lib/types/screens/StatusLine.d.ts +48 -0
- package/lib/types/screens/StatusLine.d.ts.map +1 -0
- package/lib/types/screens/StatusLine.js +453 -0
- package/lib/types/screens/StatusMetrics.d.ts +176 -0
- package/lib/types/screens/StatusMetrics.d.ts.map +1 -0
- package/lib/types/screens/StatusMetrics.js +372 -0
- package/lib/types/screens/TrajectoryScene.d.ts +16 -0
- package/lib/types/screens/TrajectoryScene.d.ts.map +1 -0
- package/lib/types/screens/TrajectoryScene.js +374 -0
- package/lib/types/screens/chatOverlay.d.ts +267 -0
- package/lib/types/screens/chatOverlay.d.ts.map +1 -0
- package/lib/types/screens/chatOverlay.js +132 -0
- package/lib/types/screens/sessionSupervisor/model.d.ts +83 -0
- package/lib/types/screens/sessionSupervisor/model.d.ts.map +1 -0
- package/lib/types/screens/sessionSupervisor/model.js +69 -0
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts +120 -0
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.d.ts.map +1 -0
- package/lib/types/screens/sessionSupervisor/useSessionSupervisor.js +639 -0
- package/lib/types/sessionHistory.d.ts +59 -0
- package/lib/types/sessionHistory.d.ts.map +1 -0
- package/lib/types/sessionHistory.js +223 -0
- package/lib/types/sessionModes.d.ts +83 -0
- package/lib/types/sessionModes.d.ts.map +1 -0
- package/lib/types/sessionModes.js +141 -0
- package/lib/types/sessionMounts.d.ts +272 -0
- package/lib/types/sessionMounts.d.ts.map +1 -0
- package/lib/types/sessionMounts.js +706 -0
- package/lib/types/sessionPins.d.ts +33 -0
- package/lib/types/sessionPins.d.ts.map +1 -0
- package/lib/types/sessionPins.js +181 -0
- package/lib/types/sessions/format.d.ts +125 -0
- package/lib/types/sessions/format.d.ts.map +1 -0
- package/lib/types/sessions/format.js +276 -0
- package/lib/types/sessions/resumeFailure.d.ts +38 -0
- package/lib/types/sessions/resumeFailure.d.ts.map +1 -0
- package/lib/types/sessions/resumeFailure.js +58 -0
- package/lib/types/sessions/view.d.ts +162 -0
- package/lib/types/sessions/view.d.ts.map +1 -0
- package/lib/types/sessions/view.js +350 -0
- package/lib/types/settings-sections.d.ts +4 -0
- package/lib/types/settings-sections.d.ts.map +1 -0
- package/lib/types/settings-sections.js +4 -0
- package/lib/types/terminal-utils/cliHighlight.d.ts +20 -0
- package/lib/types/terminal-utils/cliHighlight.d.ts.map +1 -0
- package/lib/types/terminal-utils/cliHighlight.js +53 -0
- package/lib/types/terminal-utils/figures.d.ts +26 -0
- package/lib/types/terminal-utils/figures.d.ts.map +1 -0
- package/lib/types/terminal-utils/figures.js +36 -0
- package/lib/types/terminal-utils/format.d.ts +35 -0
- package/lib/types/terminal-utils/format.d.ts.map +1 -0
- package/lib/types/terminal-utils/format.js +63 -0
- package/lib/types/terminal-utils/hash.d.ts +25 -0
- package/lib/types/terminal-utils/hash.d.ts.map +1 -0
- package/lib/types/terminal-utils/hash.js +41 -0
- package/lib/types/terminal-utils/hyperlink.d.ts +27 -0
- package/lib/types/terminal-utils/hyperlink.d.ts.map +1 -0
- package/lib/types/terminal-utils/hyperlink.js +70 -0
- package/lib/types/terminal-utils/markdown.d.ts +58 -0
- package/lib/types/terminal-utils/markdown.d.ts.map +1 -0
- package/lib/types/terminal-utils/markdown.js +441 -0
- package/lib/types/terminal-utils/mermaid.d.ts +44 -0
- package/lib/types/terminal-utils/mermaid.d.ts.map +1 -0
- package/lib/types/terminal-utils/mermaid.js +83 -0
- package/lib/types/terminal-utils/sessionColors.d.ts +27 -0
- package/lib/types/terminal-utils/sessionColors.d.ts.map +1 -0
- package/lib/types/terminal-utils/sessionColors.js +39 -0
- package/lib/types/terminal-utils/spinnerVerbs.d.ts +3 -0
- package/lib/types/terminal-utils/spinnerVerbs.d.ts.map +1 -0
- package/lib/types/terminal-utils/spinnerVerbs.js +21 -0
- package/lib/types/terminal-utils/syntaxRuns.d.ts +16 -0
- package/lib/types/terminal-utils/syntaxRuns.d.ts.map +1 -0
- package/lib/types/terminal-utils/syntaxRuns.js +79 -0
- package/lib/types/terminal-utils/syntaxTheme.d.ts +12 -0
- package/lib/types/terminal-utils/syntaxTheme.d.ts.map +1 -0
- package/lib/types/terminal-utils/syntaxTheme.js +76 -0
- package/lib/types/theme.d.ts +201 -0
- package/lib/types/theme.d.ts.map +1 -0
- package/lib/types/theme.js +525 -0
- package/lib/types/themeCatalog.d.ts +36 -0
- package/lib/types/themeCatalog.d.ts.map +1 -0
- package/lib/types/themeCatalog.js +159 -0
- package/lib/types/themePrefs.d.ts +28 -0
- package/lib/types/themePrefs.d.ts.map +1 -0
- package/lib/types/themePrefs.js +59 -0
- package/lib/types/tips.d.ts +30 -0
- package/lib/types/tips.d.ts.map +1 -0
- package/lib/types/tips.js +899 -0
- package/lib/types/trajectory/effortIgnition.d.ts +66 -0
- package/lib/types/trajectory/effortIgnition.d.ts.map +1 -0
- package/lib/types/trajectory/effortIgnition.js +142 -0
- package/lib/types/trajectory/format.d.ts +100 -0
- package/lib/types/trajectory/format.d.ts.map +1 -0
- package/lib/types/trajectory/format.js +213 -0
- package/lib/types/trajectory/motion.d.ts +99 -0
- package/lib/types/trajectory/motion.d.ts.map +1 -0
- package/lib/types/trajectory/motion.js +143 -0
- package/lib/types/trajectory/query.d.ts +83 -0
- package/lib/types/trajectory/query.d.ts.map +1 -0
- package/lib/types/trajectory/query.js +187 -0
- package/lib/types/trajectoryPrefs.d.ts +36 -0
- package/lib/types/trajectoryPrefs.d.ts.map +1 -0
- package/lib/types/trajectoryPrefs.js +65 -0
- package/lib/types/tuiDisplayPrefs.d.ts +49 -0
- package/lib/types/tuiDisplayPrefs.d.ts.map +1 -0
- package/lib/types/tuiDisplayPrefs.js +168 -0
- package/lib/types/ui.d.ts +29 -0
- package/lib/types/ui.d.ts.map +1 -0
- package/lib/types/ui.js +25 -0
- package/lib/types/update.d.ts +550 -0
- package/lib/types/update.d.ts.map +1 -0
- package/lib/types/update.js +1751 -0
- package/lib/types/utils/clipboard.d.ts +122 -0
- package/lib/types/utils/clipboard.d.ts.map +1 -0
- package/lib/types/utils/clipboard.js +577 -0
- 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/debug.d.ts +18 -0
- package/lib/types/utils/debug.d.ts.map +1 -0
- package/lib/types/utils/debug.js +37 -0
- package/lib/types/utils/earlyInput.d.ts +6 -0
- package/lib/types/utils/earlyInput.d.ts.map +1 -0
- package/lib/types/utils/earlyInput.js +5 -0
- package/lib/types/utils/env.d.ts +8 -0
- package/lib/types/utils/env.d.ts.map +1 -0
- package/lib/types/utils/env.js +7 -0
- package/lib/types/utils/envUtils.d.ts +8 -0
- package/lib/types/utils/envUtils.d.ts.map +1 -0
- package/lib/types/utils/envUtils.js +13 -0
- package/lib/types/utils/execFileNoThrow.d.ts +17 -0
- package/lib/types/utils/execFileNoThrow.d.ts.map +1 -0
- package/lib/types/utils/execFileNoThrow.js +65 -0
- package/lib/types/utils/externalEditor.d.ts +116 -0
- package/lib/types/utils/externalEditor.d.ts.map +1 -0
- package/lib/types/utils/externalEditor.js +270 -0
- package/lib/types/utils/fileSuggestions.d.ts +12 -0
- package/lib/types/utils/fileSuggestions.d.ts.map +1 -0
- package/lib/types/utils/fileSuggestions.js +40 -0
- package/lib/types/utils/fileTarget.d.ts +46 -0
- package/lib/types/utils/fileTarget.d.ts.map +1 -0
- package/lib/types/utils/fileTarget.js +178 -0
- 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/lib/types/utils/fullscreen.d.ts +7 -0
- package/lib/types/utils/fullscreen.d.ts.map +1 -0
- package/lib/types/utils/fullscreen.js +9 -0
- package/lib/types/utils/imageResize.d.ts +90 -0
- package/lib/types/utils/imageResize.d.ts.map +1 -0
- package/lib/types/utils/imageResize.js +272 -0
- package/lib/types/utils/intl.d.ts +7 -0
- package/lib/types/utils/intl.d.ts.map +1 -0
- package/lib/types/utils/intl.js +9 -0
- package/lib/types/utils/keymap.d.ts +138 -0
- package/lib/types/utils/keymap.d.ts.map +1 -0
- package/lib/types/utils/keymap.js +351 -0
- package/lib/types/utils/loaded-context.d.ts +25 -0
- package/lib/types/utils/loaded-context.d.ts.map +1 -0
- package/lib/types/utils/loaded-context.js +72 -0
- package/lib/types/utils/log.d.ts +7 -0
- package/lib/types/utils/log.d.ts.map +1 -0
- package/lib/types/utils/log.js +9 -0
- package/lib/types/utils/mentions.d.ts +53 -0
- package/lib/types/utils/mentions.d.ts.map +1 -0
- package/lib/types/utils/mentions.js +133 -0
- package/lib/types/utils/modifiers.d.ts +43 -0
- package/lib/types/utils/modifiers.d.ts.map +1 -0
- package/lib/types/utils/modifiers.js +45 -0
- package/lib/types/utils/narration.d.ts +11 -0
- package/lib/types/utils/narration.d.ts.map +1 -0
- package/lib/types/utils/narration.js +16 -0
- package/lib/types/utils/openExternal.d.ts +50 -0
- package/lib/types/utils/openExternal.d.ts.map +1 -0
- package/lib/types/utils/openExternal.js +170 -0
- package/lib/types/utils/pastedImagePath.d.ts +51 -0
- package/lib/types/utils/pastedImagePath.d.ts.map +1 -0
- package/lib/types/utils/pastedImagePath.js +194 -0
- package/lib/types/utils/paths.d.ts +16 -0
- package/lib/types/utils/paths.d.ts.map +1 -0
- package/lib/types/utils/paths.js +19 -0
- package/lib/types/utils/semver.d.ts +9 -0
- package/lib/types/utils/semver.d.ts.map +1 -0
- package/lib/types/utils/semver.js +24 -0
- package/lib/types/utils/shellQuote.d.ts +14 -0
- package/lib/types/utils/shellQuote.d.ts.map +1 -0
- package/lib/types/utils/shellQuote.js +39 -0
- package/lib/types/utils/sliceAnsi.d.ts +12 -0
- package/lib/types/utils/sliceAnsi.d.ts.map +1 -0
- package/lib/types/utils/sliceAnsi.js +79 -0
- package/lib/types/utils/truncateMiddle.d.ts +9 -0
- package/lib/types/utils/truncateMiddle.d.ts.map +1 -0
- package/lib/types/utils/truncateMiddle.js +28 -0
- package/lib/types/utils/urlGuard.d.ts +28 -0
- package/lib/types/utils/urlGuard.d.ts.map +1 -0
- package/lib/types/utils/urlGuard.js +21 -0
- package/lib/types/utils/workspaceRoot.d.ts +21 -0
- package/lib/types/utils/workspaceRoot.d.ts.map +1 -0
- package/lib/types/utils/workspaceRoot.js +47 -0
- package/lib/types/working-activity.d.ts +32 -0
- package/lib/types/working-activity.d.ts.map +1 -0
- package/lib/types/working-activity.js +38 -0
- package/lib/types/workspaces.d.ts +5 -0
- package/lib/types/workspaces.d.ts.map +1 -0
- package/lib/types/workspaces.js +4 -0
- package/node_modules/@askdkc/dsh-auth/LICENSE +21 -0
- package/node_modules/@askdkc/dsh-auth/README.ja.md +164 -0
- package/node_modules/@askdkc/dsh-auth/README.md +163 -0
- package/node_modules/@askdkc/dsh-auth/cordis.patch.yml +11 -0
- package/node_modules/@askdkc/dsh-auth/dsh-plugin.json +44 -0
- package/node_modules/@askdkc/dsh-auth/lib/command.d.ts +14 -0
- package/node_modules/@askdkc/dsh-auth/lib/command.js +70 -0
- package/node_modules/@askdkc/dsh-auth/lib/credentials.d.ts +63 -0
- package/node_modules/@askdkc/dsh-auth/lib/credentials.js +204 -0
- package/node_modules/@askdkc/dsh-auth/lib/custom-profiles.d.ts +26 -0
- package/node_modules/@askdkc/dsh-auth/lib/custom-profiles.js +142 -0
- package/node_modules/@askdkc/dsh-auth/lib/index.d.ts +96 -0
- package/node_modules/@askdkc/dsh-auth/lib/index.js +263 -0
- package/node_modules/@askdkc/dsh-auth/lib/interaction.d.ts +68 -0
- package/node_modules/@askdkc/dsh-auth/lib/interaction.js +193 -0
- package/node_modules/@askdkc/dsh-auth/lib/nous-oauth.d.ts +5 -0
- package/node_modules/@askdkc/dsh-auth/lib/nous-oauth.js +112 -0
- package/node_modules/@askdkc/dsh-auth/lib/opener.d.ts +32 -0
- package/node_modules/@askdkc/dsh-auth/lib/opener.js +101 -0
- package/node_modules/@askdkc/dsh-auth/lib/pi-ai.d.ts +23 -0
- package/node_modules/@askdkc/dsh-auth/lib/pi-ai.js +27 -0
- package/node_modules/@askdkc/dsh-auth/lib/profiles.d.ts +45 -0
- package/node_modules/@askdkc/dsh-auth/lib/profiles.js +110 -0
- package/node_modules/@askdkc/dsh-auth/lib/service.d.ts +80 -0
- package/node_modules/@askdkc/dsh-auth/lib/service.js +224 -0
- package/node_modules/@askdkc/dsh-auth/package.json +70 -0
- package/node_modules/@dsh-std/command/CHANGELOG.md +8 -0
- package/node_modules/@dsh-std/command/LICENSE +21 -0
- package/node_modules/@dsh-std/command/README.md +26 -0
- package/node_modules/@dsh-std/command/README.zh.md +28 -0
- package/node_modules/@dsh-std/command/lib/index.d.ts +144 -0
- package/node_modules/@dsh-std/command/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/command/lib/index.js +252 -0
- package/node_modules/@dsh-std/command/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/command/package.json +22 -0
- package/node_modules/@dsh-std/connection/CHANGELOG.md +8 -0
- package/node_modules/@dsh-std/connection/LICENSE +21 -0
- package/node_modules/@dsh-std/connection/README.md +42 -0
- package/node_modules/@dsh-std/connection/README.zh.md +42 -0
- package/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
- package/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
- package/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
- package/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/connection/lib/index.js +158 -0
- package/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
- package/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
- package/node_modules/@dsh-std/connection/lib/memory.js +258 -0
- package/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
- package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
- package/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
- package/node_modules/@dsh-std/connection/package.json +20 -0
- package/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/node_modules/@dsh-std/core/LICENSE +21 -0
- package/node_modules/@dsh-std/core/README.md +13 -0
- package/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/core/package.json +21 -0
- package/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -0
- package/node_modules/@dsh-std/manifest/LICENSE +21 -0
- package/node_modules/@dsh-std/manifest/README.md +5 -0
- package/node_modules/@dsh-std/manifest/README.zh.md +5 -0
- package/node_modules/@dsh-std/manifest/lib/index.d.ts +182 -0
- package/node_modules/@dsh-std/manifest/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/manifest/lib/index.js +625 -0
- package/node_modules/@dsh-std/manifest/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/manifest/package.json +20 -0
- package/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -0
- package/node_modules/@dsh-std/messages/CHANGELOG.md +8 -0
- package/node_modules/@dsh-std/messages/LICENSE +21 -0
- package/node_modules/@dsh-std/messages/README.md +5 -0
- package/node_modules/@dsh-std/messages/README.zh.md +7 -0
- package/node_modules/@dsh-std/messages/lib/index.d.ts +50 -0
- package/node_modules/@dsh-std/messages/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/messages/lib/index.js +151 -0
- package/node_modules/@dsh-std/messages/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/messages/package.json +20 -0
- package/node_modules/@dsh-std/messages/schema/message-observer-envelope-0.15.schema.json +54 -0
- package/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -0
- package/node_modules/@dsh-std/presentation/LICENSE +21 -0
- package/node_modules/@dsh-std/presentation/README.md +27 -0
- package/node_modules/@dsh-std/presentation/README.zh.md +29 -0
- package/node_modules/@dsh-std/presentation/lib/callback.d.ts +2 -0
- package/node_modules/@dsh-std/presentation/lib/callback.js +179 -0
- package/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -0
- package/node_modules/@dsh-std/presentation/lib/index.d.ts +262 -0
- package/node_modules/@dsh-std/presentation/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/presentation/lib/index.js +550 -0
- package/node_modules/@dsh-std/presentation/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/presentation/lib/interaction.d.ts +2 -0
- package/node_modules/@dsh-std/presentation/lib/interaction.js +2 -0
- package/node_modules/@dsh-std/presentation/lib/operations.d.ts +2 -0
- package/node_modules/@dsh-std/presentation/lib/operations.js +2 -0
- package/node_modules/@dsh-std/presentation/package.json +25 -0
- package/node_modules/@dsh-std/storage/CHANGELOG.md +8 -0
- package/node_modules/@dsh-std/storage/LICENSE +21 -0
- package/node_modules/@dsh-std/storage/README.md +5 -0
- package/node_modules/@dsh-std/storage/README.zh.md +7 -0
- package/node_modules/@dsh-std/storage/lib/index.d.ts +48 -0
- package/node_modules/@dsh-std/storage/lib/index.d.ts.map +1 -0
- package/node_modules/@dsh-std/storage/lib/index.js +104 -0
- package/node_modules/@dsh-std/storage/lib/index.js.map +1 -0
- package/node_modules/@dsh-std/storage/package.json +20 -0
- package/node_modules/@dsh-std/storage/schema/local-storage-0.15.schema.json +56 -0
- package/package.json +492 -0
- package/presets/liangshen/.dsh-tui-managed.json +5 -0
- package/presets/liangshen/agent.cordis.yml +425 -0
- package/presets/liangshen/compaction-epoch.mjs +83 -0
- package/presets/liangshen/custom-bash.mjs +301 -0
- package/presets/liangshen/instruction-hint.mjs +190 -0
- package/presets/liangshen/preset.yml +3 -0
- package/presets/liangshen/session-events.mjs +8 -0
- package/presets/liangshen/skill-search.mjs +141 -0
- package/presets/liangshen/tool-bootstrap.mjs +300 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.md +42 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/README.zh.md +42 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js +158 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js +258 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/connection/package.json +20 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/CHANGELOG.md +9 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.md +5 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/README.zh.md +5 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.d.ts +182 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js +625 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/package.json +20 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/manifest/schema/dsh-plugin-0.15.schema.json +144 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/CHANGELOG.md +9 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/LICENSE +21 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.md +27 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/README.zh.md +29 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.d.ts +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.js +179 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/callback.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.d.ts +262 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js +550 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/interaction.d.ts +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/interaction.js +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/operations.d.ts +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/lib/operations.js +2 -0
- package/vendor/dsh-std/packages/command/node_modules/@dsh-std/presentation/package.json +25 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/connection/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/manifest/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/messages/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/LICENSE +21 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.md +42 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/README.zh.md +42 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts +125 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/connection-CdGcSQnu.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.d.ts +89 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js +158 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.d.ts +24 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js +258 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/memory.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js +226 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/lib/resolve-3X6ausgz.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/connection/package.json +20 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/presentation/node_modules/@dsh-std/core/package.json +21 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/CHANGELOG.md +8 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/LICENSE +21 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.md +13 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/README.zh.md +13 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.d.ts +112 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.d.ts.map +1 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js +424 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/lib/index.js.map +1 -0
- package/vendor/dsh-std/packages/storage/node_modules/@dsh-std/core/package.json +21 -0
|
@@ -0,0 +1,1000 @@
|
|
|
1
|
+
import { ansiCodesToString, } from '@alcalzone/ansi-tokenize';
|
|
2
|
+
import { logForDebugging } from '../utils/debug.js';
|
|
3
|
+
import { cellAt, charInCellAt, diffEach, isEmptyCellAt, shiftRows, transitionAnsiCodes, visibleCellAtIndex, } from './screen.js';
|
|
4
|
+
import { CURSOR_HOME, cursorDown, eraseToEndOfScreen, scrollDown as csiScrollDown, scrollUp as csiScrollUp, RESET_SCROLL_REGION, SGR_RESET, setScrollRegion, } from './termio/csi.js';
|
|
5
|
+
import { isJetBrainsIdeTerminal } from './terminal.js';
|
|
6
|
+
import { LINK_END, link as oscLink } from './termio/osc.js';
|
|
7
|
+
const CARRIAGE_RETURN = { type: 'carriageReturn' };
|
|
8
|
+
const NEWLINE = { type: 'stdout', content: '\n' };
|
|
9
|
+
/**
|
|
10
|
+
* Converts frame diffs into terminal write patches. Holds per-instance
|
|
11
|
+
* state (previous output, style pool, TTY mode) across frames.
|
|
12
|
+
*/
|
|
13
|
+
export class LogUpdate {
|
|
14
|
+
options;
|
|
15
|
+
state;
|
|
16
|
+
constructor(options) {
|
|
17
|
+
this.options = options;
|
|
18
|
+
this.state = {
|
|
19
|
+
previousOutput: '',
|
|
20
|
+
reanchorPending: false,
|
|
21
|
+
anchoredPad: 0,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Request a one-shot viewport re-anchor on the next main-screen frame.
|
|
26
|
+
*
|
|
27
|
+
* The main-screen diff engine addresses rows purely relative to where it
|
|
28
|
+
* left the cursor — it has no absolute anchor and no way to notice when a
|
|
29
|
+
* third party moved it. A subprocess writing directly to the tty (an MCP
|
|
30
|
+
* server's stderr, a stray native log line — issue #17) advances the
|
|
31
|
+
* cursor and scrolls the terminal; every subsequent diff then lands N
|
|
32
|
+
* rows off, garbling the UI (missing labels, shifted rows — issue #16)
|
|
33
|
+
* until some full repaint happens to run. There is nothing to detect
|
|
34
|
+
* after the fact (a newline-terminated write parks the cursor back at
|
|
35
|
+
* the bottom column 0, exactly where the engine expects it), so the
|
|
36
|
+
* recovery is a blind idempotent repaint: rebuild the viewport from the
|
|
37
|
+
* physical cursor position, which re-syncs the virtual↔physical mapping
|
|
38
|
+
* no matter how far they had drifted. Wired to the stdin-gap reassert
|
|
39
|
+
* (>5s idle then a keypress) — the same trigger that re-asserts DEC
|
|
40
|
+
* modes after tmux attach / ssh reconnect.
|
|
41
|
+
*/
|
|
42
|
+
requestViewportReanchor() {
|
|
43
|
+
this.state.reanchorPending = true;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Render the terminal state for a finished run, for streams that no
|
|
47
|
+
* longer support string output.
|
|
48
|
+
* @param prevFrame - the previously rendered frame.
|
|
49
|
+
* @returns the patches that restore the terminal to the previous frame's state.
|
|
50
|
+
*/
|
|
51
|
+
renderPreviousOutput_DEPRECATED(prevFrame) {
|
|
52
|
+
if (!this.options.isTTY) {
|
|
53
|
+
// Non-TTY output is no longer supported (string output was removed)
|
|
54
|
+
return [NEWLINE];
|
|
55
|
+
}
|
|
56
|
+
return this.getRenderOpsForDone(prevFrame);
|
|
57
|
+
}
|
|
58
|
+
// Called when process resumes from suspension (SIGCONT) to prevent clobbering terminal content
|
|
59
|
+
/** Drop the previous-output state after the process resumes from suspension (SIGCONT) so terminal content is not clobbered. */
|
|
60
|
+
reset() {
|
|
61
|
+
this.state.previousOutput = '';
|
|
62
|
+
// Any anchored-pad offset is void: the next frame repaints from the
|
|
63
|
+
// physical cursor without it (SIGCONT resume, repaint(), forceRedraw,
|
|
64
|
+
// and alt-screen entry all land here — without the clear, rows the
|
|
65
|
+
// repaint just drew at the viewport top would stay marked unreachable).
|
|
66
|
+
this.state.anchoredPad = 0;
|
|
67
|
+
}
|
|
68
|
+
renderFullFrame(frame) {
|
|
69
|
+
const { screen } = frame;
|
|
70
|
+
const lines = [];
|
|
71
|
+
let currentStyles = [];
|
|
72
|
+
let currentHyperlink = undefined;
|
|
73
|
+
for (let y = 0; y < screen.height; y++) {
|
|
74
|
+
let line = '';
|
|
75
|
+
for (let x = 0; x < screen.width; x++) {
|
|
76
|
+
const cell = cellAt(screen, x, y);
|
|
77
|
+
if (cell && cell.width !== 2 /* CellWidth.SpacerTail */) {
|
|
78
|
+
// Handle hyperlink transitions
|
|
79
|
+
if (cell.hyperlink !== currentHyperlink) {
|
|
80
|
+
if (currentHyperlink !== undefined) {
|
|
81
|
+
line += LINK_END;
|
|
82
|
+
}
|
|
83
|
+
if (cell.hyperlink !== undefined) {
|
|
84
|
+
line += oscLink(cell.hyperlink);
|
|
85
|
+
}
|
|
86
|
+
currentHyperlink = cell.hyperlink;
|
|
87
|
+
}
|
|
88
|
+
const cellStyles = this.options.stylePool.get(cell.styleId);
|
|
89
|
+
const styleDiff = transitionAnsiCodes(currentStyles, cellStyles);
|
|
90
|
+
if (styleDiff.length > 0) {
|
|
91
|
+
line += ansiCodesToString(styleDiff);
|
|
92
|
+
currentStyles = cellStyles;
|
|
93
|
+
}
|
|
94
|
+
line += cell.char;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
// Close any open hyperlink before resetting styles
|
|
98
|
+
if (currentHyperlink !== undefined) {
|
|
99
|
+
line += LINK_END;
|
|
100
|
+
currentHyperlink = undefined;
|
|
101
|
+
}
|
|
102
|
+
// Reset styles at end of line so trimEnd doesn't leave dangling codes
|
|
103
|
+
const resetCodes = transitionAnsiCodes(currentStyles, []);
|
|
104
|
+
if (resetCodes.length > 0) {
|
|
105
|
+
line += ansiCodesToString(resetCodes);
|
|
106
|
+
currentStyles = [];
|
|
107
|
+
}
|
|
108
|
+
lines.push(line.trimEnd());
|
|
109
|
+
}
|
|
110
|
+
if (lines.length === 0) {
|
|
111
|
+
return [];
|
|
112
|
+
}
|
|
113
|
+
return [{ type: 'stdout', content: lines.join('\n') }];
|
|
114
|
+
}
|
|
115
|
+
getRenderOpsForDone(prev) {
|
|
116
|
+
this.state.previousOutput = '';
|
|
117
|
+
if (!prev.cursor.visible) {
|
|
118
|
+
return [{ type: 'cursorShow' }];
|
|
119
|
+
}
|
|
120
|
+
return [];
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Diff the previous and next frames and produce the patches that update
|
|
124
|
+
* the terminal from one to the other.
|
|
125
|
+
* @param prev - the previously rendered frame.
|
|
126
|
+
* @param next - the frame to render.
|
|
127
|
+
* @param altScreen - whether the frame renders to the alternate screen.
|
|
128
|
+
* @param decstbmSafe - whether the DECSTBM scroll sequence can be made atomic (DEC 2026 / BSU/ESU).
|
|
129
|
+
* @returns the terminal write patches.
|
|
130
|
+
*/
|
|
131
|
+
render(prev, next, altScreen = false, decstbmSafe = true) {
|
|
132
|
+
if (!this.options.isTTY) {
|
|
133
|
+
return this.renderFullFrame(next);
|
|
134
|
+
}
|
|
135
|
+
const startTime = performance.now();
|
|
136
|
+
const stylePool = this.options.stylePool;
|
|
137
|
+
// Since we assume the cursor is at the bottom on the screen, we only need
|
|
138
|
+
// to clear when the viewport gets shorter (i.e. the cursor position drifts)
|
|
139
|
+
// or when it gets thinner (and text wraps). We _could_ figure out how to
|
|
140
|
+
// not reset here but that would involve predicting the current layout
|
|
141
|
+
// _after_ the viewport change which means calcuating text wrapping.
|
|
142
|
+
// Resizing is a rare enough event that it's not practically a big issue.
|
|
143
|
+
if (next.viewport.height !== prev.viewport.height ||
|
|
144
|
+
(prev.viewport.width !== 0 && next.viewport.width !== prev.viewport.width)) {
|
|
145
|
+
// A resize re-aligns the whole terminal (reflow rewraps scrollback):
|
|
146
|
+
// any anchored-pad offset from a previous shrink repaint is void.
|
|
147
|
+
// Height-only growth is included: the shrink branches below would
|
|
148
|
+
// otherwise mix the old and new viewport heights in their geometry.
|
|
149
|
+
this.state.anchoredPad = 0;
|
|
150
|
+
return fullResetSequence_CAUSES_FLICKER(next, 'resize', stylePool);
|
|
151
|
+
}
|
|
152
|
+
// One-shot viewport re-anchor (see requestViewportReanchor): repaint
|
|
153
|
+
// the whole visible window from the physical cursor position, blind to
|
|
154
|
+
// whatever a third-party tty write did to it. Main-screen only — the
|
|
155
|
+
// alt-screen path already self-heals with CSI H every frame. Checked
|
|
156
|
+
// after the resize reset (which supersedes it; the flag survives to
|
|
157
|
+
// the next frame) and before the DECSTBM path (alt-screen only, so
|
|
158
|
+
// mutually exclusive anyway).
|
|
159
|
+
if (this.state.reanchorPending && !altScreen) {
|
|
160
|
+
this.state.reanchorPending = false;
|
|
161
|
+
// Plain in-place viewport repaint, and the anchored layout (if any)
|
|
162
|
+
// is superseded: pad 0. An earlier revision routed pad>0 frames
|
|
163
|
+
// through shrinkAnchoredRepaint here to preserve the anchored layout
|
|
164
|
+
// — empirically that occasionally painted nothing after alt-screen
|
|
165
|
+
// exits (verify-trace-scene's settle-gap check, ~15% flake), while
|
|
166
|
+
// the plain path is verified stable; a reanchor-with-pad is rare
|
|
167
|
+
// (idle gap right after a settle shrink) and its cost is one stale
|
|
168
|
+
// scrollback copy, not a lost paint.
|
|
169
|
+
this.state.anchoredPad = 0;
|
|
170
|
+
return repaintViewportInPlace(prev, next, stylePool);
|
|
171
|
+
}
|
|
172
|
+
// DECSTBM scroll optimization: when a ScrollBox's scrollTop changed,
|
|
173
|
+
// shift content with a hardware scroll (CSI top;bot r + CSI n S/T)
|
|
174
|
+
// instead of rewriting the whole scroll region. The shiftRows on
|
|
175
|
+
// prev.screen simulates the shift so the diff loop below naturally
|
|
176
|
+
// finds only the rows that scrolled IN as diffs. prev.screen is
|
|
177
|
+
// about to become backFrame (reused next render) so mutation is safe.
|
|
178
|
+
// CURSOR_HOME after RESET_SCROLL_REGION is defensive — DECSTBM reset
|
|
179
|
+
// homes cursor per spec but terminal implementations vary.
|
|
180
|
+
//
|
|
181
|
+
// decstbmSafe: caller passes false when the DECSTBM→diff sequence
|
|
182
|
+
// can't be made atomic (no DEC 2026 / BSU/ESU). Without atomicity the
|
|
183
|
+
// outer terminal renders the intermediate state — region scrolled,
|
|
184
|
+
// edge rows not yet painted — a visible vertical jump on every frame
|
|
185
|
+
// where scrollTop moves. Falling through to the diff loop writes all
|
|
186
|
+
// shifted rows: more bytes, no intermediate state. next.screen from
|
|
187
|
+
// render-node-to-output's blit+shift is correct either way.
|
|
188
|
+
let scrollPatch = [];
|
|
189
|
+
if (altScreen && next.scrollHint && decstbmSafe) {
|
|
190
|
+
const { top, bottom, delta } = next.scrollHint;
|
|
191
|
+
if (top >= 0 &&
|
|
192
|
+
bottom < prev.screen.height &&
|
|
193
|
+
bottom < next.screen.height) {
|
|
194
|
+
shiftRows(prev.screen, top, bottom, delta);
|
|
195
|
+
// The hardware scroll's blank fill uses the terminal's CURRENT
|
|
196
|
+
// background (BCE); the SGR reset at the head of every frame buffer
|
|
197
|
+
// (writeDiffToTerminal) guarantees the default background here even
|
|
198
|
+
// after a truncated previous frame left a colored SGR stuck.
|
|
199
|
+
scrollPatch = [
|
|
200
|
+
{
|
|
201
|
+
type: 'stdout',
|
|
202
|
+
content: setScrollRegion(top + 1, bottom + 1) +
|
|
203
|
+
(delta > 0 ? csiScrollUp(delta) : csiScrollDown(-delta)) +
|
|
204
|
+
RESET_SCROLL_REGION +
|
|
205
|
+
CURSOR_HOME,
|
|
206
|
+
},
|
|
207
|
+
];
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// We have to use purely relative operations to manipulate the cursor since
|
|
211
|
+
// we don't know its starting point.
|
|
212
|
+
//
|
|
213
|
+
// When content height >= viewport height AND cursor is at the bottom,
|
|
214
|
+
// the cursor restore at the end of the previous frame caused terminal scroll.
|
|
215
|
+
// viewportY tells us how many rows are in scrollback from content overflow.
|
|
216
|
+
// Additionally, the cursor-restore scroll pushes 1 more row into scrollback.
|
|
217
|
+
// We need fullReset if any changes are to rows that are now in scrollback.
|
|
218
|
+
//
|
|
219
|
+
// This early full-reset check only applies in "steady state" (not growing).
|
|
220
|
+
// For growing, the viewportY calculation below (with cursorRestoreScroll)
|
|
221
|
+
// catches unreachable scrollback rows in the diff loop instead.
|
|
222
|
+
const cursorAtBottom = prev.cursor.y >= prev.screen.height;
|
|
223
|
+
const isGrowing = next.screen.height > prev.screen.height;
|
|
224
|
+
// When content fills the viewport exactly (height == viewport) and the
|
|
225
|
+
// cursor is at the bottom, the cursor-restore LF at the end of the
|
|
226
|
+
// previous frame scrolled 1 row into scrollback. Use >= to catch this.
|
|
227
|
+
const prevHadScrollback = cursorAtBottom && prev.screen.height >= prev.viewport.height;
|
|
228
|
+
const isShrinking = next.screen.height < prev.screen.height;
|
|
229
|
+
const nextFitsViewport = next.screen.height <= prev.viewport.height;
|
|
230
|
+
// When shrinking from above-viewport to at-or-below-viewport, the rows
|
|
231
|
+
// that scrolled into scrollback during growth come BACK into the live
|
|
232
|
+
// frame, so their scrollback snapshots are now duplicates (seen as the
|
|
233
|
+
// duplicated whale logo after the first turn). Use a clear-terminal
|
|
234
|
+
// reset, not an in-place repaint: at this point the UI's scrollback
|
|
235
|
+
// footprint is at most a viewport tall (prev was at most one row past
|
|
236
|
+
// the viewport), which is exactly what the clear sequence blanks — the
|
|
237
|
+
// in-place repaint kept both copies (snapshot + live). The former full
|
|
238
|
+
// reset here was once changed to an in-place repaint to stop the
|
|
239
|
+
// per-shrink stale-copy deposits (#38 #39 #19), but that fix traded
|
|
240
|
+
// them for a different duplication: the repainted viewport overlaps
|
|
241
|
+
// rows whose growth snapshots are still in scrollback.
|
|
242
|
+
// Use <= (not <) because even when next height equals viewport height,
|
|
243
|
+
// the scrollback depth from the previous render differs from a fresh
|
|
244
|
+
// render.
|
|
245
|
+
if (!altScreen && prevHadScrollback && nextFitsViewport && isShrinking) {
|
|
246
|
+
// Anchored tail repaint (see shrinkAnchoredRepaint): rows already in
|
|
247
|
+
// scrollback keep their originals; only the changed tail is
|
|
248
|
+
// repainted. The former full reset here reprinted the whole short
|
|
249
|
+
// frame from the viewport top — duplicating every pre-shrink row the
|
|
250
|
+
// user scrolls up to (the whale-logo / duplicated-transcript
|
|
251
|
+
// reports).
|
|
252
|
+
const scrollbackRows = Math.max(0, Math.max(prev.screen.height, next.screen.height) -
|
|
253
|
+
next.viewport.height +
|
|
254
|
+
(prevHadScrollback ? 1 : 0));
|
|
255
|
+
const { patches, anchoredPad } = shrinkAnchoredRepaint(prev, next, stylePool, scrollbackRows);
|
|
256
|
+
this.state.anchoredPad = anchoredPad;
|
|
257
|
+
logForDebugging(`Anchored shrink repaint (shrink->below): prevHeight=${prev.screen.height}, nextHeight=${next.screen.height}, viewport=${prev.viewport.height}, skip=${anchoredPad}`);
|
|
258
|
+
return patches;
|
|
259
|
+
}
|
|
260
|
+
// Steady-state scrollback check removed: rows above the viewport used
|
|
261
|
+
// to force a full reset (ESC[2J+ESC[3J) whenever they changed, which
|
|
262
|
+
// wipes terminal scrollback and snaps the viewport to the top — firing
|
|
263
|
+
// on every streaming pause frame. The diff loop below now skips those
|
|
264
|
+
// rows instead (y < viewportY → skip), repainting them when they
|
|
265
|
+
// scroll back into view. Shrink and resize resets below are kept.
|
|
266
|
+
const screen = new VirtualScreen(prev.cursor, next.viewport.width);
|
|
267
|
+
// Treat empty screen as height 1 to avoid spurious adjustments on first render
|
|
268
|
+
const heightDelta = Math.max(next.screen.height, 1) - Math.max(prev.screen.height, 1);
|
|
269
|
+
const shrinking = heightDelta < 0;
|
|
270
|
+
const growing = heightDelta > 0;
|
|
271
|
+
// Handle shrinking: clear lines from the bottom
|
|
272
|
+
// When prevHadScrollback, add 1 for the cursor-restore LF that scrolled
|
|
273
|
+
// an additional row out of view at the end of the previous frame.
|
|
274
|
+
const cursorRestoreScroll = prevHadScrollback ? 1 : 0;
|
|
275
|
+
if (shrinking) {
|
|
276
|
+
const linesToClear = prev.screen.height - next.screen.height;
|
|
277
|
+
// Main-screen mode + content taller than the viewport: the terminal
|
|
278
|
+
// viewport does NOT follow the content bottom when content shrinks —
|
|
279
|
+
// a diff-loop path would write rows at stale physical offsets. Two
|
|
280
|
+
// sub-cases:
|
|
281
|
+
//
|
|
282
|
+
// 1. Frame shrinks but stays >= viewport height: take the ordinary
|
|
283
|
+
// diff loop. Its viewportY bookkeeping (the shrinking formula plus
|
|
284
|
+
// cursorRestoreScroll below) addresses rows through the parked
|
|
285
|
+
// cursor correctly, and the diff only touches the few rows that
|
|
286
|
+
// actually changed. A viewport repaint here re-paints the whole
|
|
287
|
+
// window from the viewport top while the frame top sits a few rows
|
|
288
|
+
// ABOVE it (frame is taller than the window) — the growth frames
|
|
289
|
+
// around the shrink freeze those overlapped rows into scrollback
|
|
290
|
+
// as snapshots while the same rows stay live in the window, which
|
|
291
|
+
// the user sees as duplicated transcript rows when scrolling up.
|
|
292
|
+
// 2. Frame shrinks to BELOW the viewport (content now fits): the rows
|
|
293
|
+
// that scrolled into scrollback during growth come BACK into the
|
|
294
|
+
// live frame, so their scrollback snapshots are now duplicates
|
|
295
|
+
// (seen as the duplicated whale logo after the first turn). Use a
|
|
296
|
+
// clear-terminal reset here, not an in-place repaint: at this
|
|
297
|
+
// point the UI's scrollback footprint is at most a viewport tall,
|
|
298
|
+
// which is exactly what the clear sequence blanks, while the
|
|
299
|
+
// in-place repaint would keep both copies. Only fires early in a
|
|
300
|
+
// session (frame ~= viewport); once the transcript outgrows the
|
|
301
|
+
// viewport, case 1 handles every shrink.
|
|
302
|
+
if (!altScreen &&
|
|
303
|
+
prev.screen.height > prev.viewport.height &&
|
|
304
|
+
next.screen.height < next.viewport.height) {
|
|
305
|
+
// Same anchored tail repaint as the shrink->below branch above —
|
|
306
|
+
// rows already in scrollback keep their originals; only the
|
|
307
|
+
// non-scrollback tail is repainted. The former full reset
|
|
308
|
+
// reprinted the whole frame, duplicating the scrollback rows
|
|
309
|
+
// (whale-logo / duplicated-transcript reports).
|
|
310
|
+
const scrollbackRows = Math.max(0, prev.screen.height - prev.viewport.height + cursorRestoreScroll);
|
|
311
|
+
const { patches, anchoredPad } = shrinkAnchoredRepaint(prev, next, this.options.stylePool, scrollbackRows);
|
|
312
|
+
this.state.anchoredPad = anchoredPad;
|
|
313
|
+
logForDebugging(`Anchored shrink repaint (shrink to fit): prevHeight=${prev.screen.height}, nextHeight=${next.screen.height}, viewport=${prev.viewport.height}, skip=${anchoredPad}`);
|
|
314
|
+
return patches;
|
|
315
|
+
}
|
|
316
|
+
// eraseLines only works within the viewport - it can't clear scrollback.
|
|
317
|
+
// If we need to clear more lines than fit in the viewport, some are in
|
|
318
|
+
// scrollback, so we need a full reset.
|
|
319
|
+
if (linesToClear > prev.viewport.height) {
|
|
320
|
+
return fullResetSequence_CAUSES_FLICKER(next, 'offscreen', this.options.stylePool);
|
|
321
|
+
}
|
|
322
|
+
// Record the scrollback rows stranded by this shrink. The terminal's
|
|
323
|
+
// scrollback cannot shrink with the content: rows that were above the
|
|
324
|
+
// viewport BEFORE the shrink stay there after it, but the heights
|
|
325
|
+
// formula below (height - viewport + cursorRestoreScroll) recomputes
|
|
326
|
+
// scrollback from the SMALLER next height on every following frame and
|
|
327
|
+
// undercounts by the shrink delta. Those frames then treat a
|
|
328
|
+
// scrolled-away row as reachable, the cursor-up move clamps at the
|
|
329
|
+
// viewport top, and the whole relative write chain lands one row low —
|
|
330
|
+
// stale duplicate rows and torn leading cells that no later sparse
|
|
331
|
+
// diff ever repairs (verify-trace-scene settle-gap flake). The
|
|
332
|
+
// shrink-to-below-viewport branch above already records this via
|
|
333
|
+
// shrinkAnchoredRepaint; this ordinary-diff shrink path must record it
|
|
334
|
+
// too. viewportY takes max(anchoredPad, heights formula), so the pad
|
|
335
|
+
// naturally hands back to the formula once growth scrolls the gap away.
|
|
336
|
+
if (!altScreen) {
|
|
337
|
+
const strandedScrollback = Math.max(0, prev.screen.height - prev.viewport.height) +
|
|
338
|
+
cursorRestoreScroll;
|
|
339
|
+
if (strandedScrollback > this.state.anchoredPad) {
|
|
340
|
+
this.state.anchoredPad = strandedScrollback;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
// clear(N) moves cursor UP by N-1 lines and to column 0
|
|
344
|
+
// This puts us at line prev.screen.height - N = next.screen.height
|
|
345
|
+
// But we want to be at next.screen.height - 1 (bottom of new screen)
|
|
346
|
+
screen.txn(prev2 => [
|
|
347
|
+
[
|
|
348
|
+
{ type: 'clear', count: linesToClear },
|
|
349
|
+
{ type: 'cursorMove', x: 0, y: -1 },
|
|
350
|
+
],
|
|
351
|
+
{ dx: -prev2.x, dy: -linesToClear },
|
|
352
|
+
]);
|
|
353
|
+
}
|
|
354
|
+
// viewportY = number of rows in scrollback (not visible on terminal).
|
|
355
|
+
// For shrinking: use max(prev, next) because terminal clears don't scroll.
|
|
356
|
+
// For growing: use prev state because new rows haven't scrolled old ones yet.
|
|
357
|
+
// When prevHadScrollback, add 1 for the cursor-restore LF that scrolled
|
|
358
|
+
// an additional row out of view at the end of the previous frame. Without
|
|
359
|
+
// this, the diff loop treats that row as reachable — but the cursor clamps
|
|
360
|
+
// at viewport top, causing writes to land 1 row off and garbling the output.
|
|
361
|
+
// Unreachable frame rows = terminal scrollback. Two contributors, take
|
|
362
|
+
// the MAX, never the sum: after an anchored shrink repaint the pad rows
|
|
363
|
+
// ARE the scrollback (heights undercount while H < V); once growth
|
|
364
|
+
// scrolls the blank band away, the heights formula takes over (summing
|
|
365
|
+
// would overcount and skip REACHABLE viewport rows — changes inside
|
|
366
|
+
// the viewport would never paint, scrambling the layout on mid-frame
|
|
367
|
+
// edits like Ctrl+O expansion).
|
|
368
|
+
const viewportY = Math.max(this.state.anchoredPad, growing
|
|
369
|
+
? Math.max(0, prev.screen.height - prev.viewport.height + cursorRestoreScroll)
|
|
370
|
+
: Math.max(prev.screen.height, next.screen.height) -
|
|
371
|
+
next.viewport.height +
|
|
372
|
+
cursorRestoreScroll);
|
|
373
|
+
// Rows above viewportY live in terminal scrollback and are skipped by the
|
|
374
|
+
// diff loop (see below). Clip the damage region to the visible area so the
|
|
375
|
+
// loop doesn't scan scrollback rows cell-by-cell every frame — with a tall
|
|
376
|
+
// conversation that's a per-frame O(full screen) cost and stalls rendering.
|
|
377
|
+
// prev.damage participates in diffEach's region union, so clip it too
|
|
378
|
+
// (blit doesn't read damage — renderer.ts uses it only in comments).
|
|
379
|
+
if (viewportY > 0) {
|
|
380
|
+
for (const src of [next.screen, prev.screen]) {
|
|
381
|
+
const dmg = src.damage;
|
|
382
|
+
if (dmg && dmg.y < viewportY) {
|
|
383
|
+
const overhang = viewportY - dmg.y;
|
|
384
|
+
src.damage = {
|
|
385
|
+
x: dmg.x,
|
|
386
|
+
y: viewportY,
|
|
387
|
+
width: dmg.width,
|
|
388
|
+
height: Math.max(0, dmg.height - overhang),
|
|
389
|
+
};
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
let currentStyleId = stylePool.none;
|
|
394
|
+
let currentHyperlink = undefined;
|
|
395
|
+
// First pass: render changes to existing rows (rows < prev.screen.height)
|
|
396
|
+
diffEach(prev.screen, next.screen, (x, y, removed, added) => {
|
|
397
|
+
// Skip new rows - we'll render them directly after
|
|
398
|
+
if (growing && y >= prev.screen.height) {
|
|
399
|
+
return;
|
|
400
|
+
}
|
|
401
|
+
// Skip spacers during rendering because the terminal will automatically
|
|
402
|
+
// advance 2 columns when we write the wide character itself.
|
|
403
|
+
// SpacerTail: Second cell of a wide character
|
|
404
|
+
// SpacerHead: Marks line-end position where wide char wraps to next line
|
|
405
|
+
if (added &&
|
|
406
|
+
(added.width === 2 /* CellWidth.SpacerTail */ ||
|
|
407
|
+
added.width === 3 /* CellWidth.SpacerHead */)) {
|
|
408
|
+
return;
|
|
409
|
+
}
|
|
410
|
+
if (removed &&
|
|
411
|
+
(removed.width === 2 /* CellWidth.SpacerTail */ ||
|
|
412
|
+
removed.width === 3 /* CellWidth.SpacerHead */) &&
|
|
413
|
+
!added) {
|
|
414
|
+
return;
|
|
415
|
+
}
|
|
416
|
+
// Skip empty cells that don't need to overwrite existing content.
|
|
417
|
+
// This prevents writing trailing spaces that would cause unnecessary
|
|
418
|
+
// line wrapping at the edge of the screen.
|
|
419
|
+
// Uses isEmptyCellAt to check if both packed words are zero (empty cell).
|
|
420
|
+
if (added && isEmptyCellAt(next.screen, x, y) && !removed) {
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
// Rows above the viewport live in terminal scrollback — the cursor
|
|
424
|
+
// can't reach them, and the only way to repaint them is a full reset
|
|
425
|
+
// (ESC[2J+ESC[3J), which wipes the scrollback and snaps the terminal
|
|
426
|
+
// viewport back to the top (user scrolled up → jumps to the very
|
|
427
|
+
// first line). Skip updating them; they repaint normally when they
|
|
428
|
+
// scroll back into the viewport. Chat history is static content, so
|
|
429
|
+
// nothing visible is lost by leaving scrollback rows stale.
|
|
430
|
+
if (y < viewportY) {
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
moveCursorTo(screen, x, y);
|
|
434
|
+
if (added) {
|
|
435
|
+
const targetHyperlink = added.hyperlink;
|
|
436
|
+
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, targetHyperlink);
|
|
437
|
+
const styleStr = stylePool.transition(currentStyleId, added.styleId);
|
|
438
|
+
if (writeCellWithStyleStr(screen, added, styleStr)) {
|
|
439
|
+
currentStyleId = added.styleId;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
else if (removed) {
|
|
443
|
+
// Cell was removed - clear it with a space
|
|
444
|
+
// (This handles shrinking content)
|
|
445
|
+
// Reset any active styles/hyperlinks first to avoid leaking into cleared cells
|
|
446
|
+
const styleIdToReset = currentStyleId;
|
|
447
|
+
const hyperlinkToReset = currentHyperlink;
|
|
448
|
+
currentStyleId = stylePool.none;
|
|
449
|
+
currentHyperlink = undefined;
|
|
450
|
+
screen.txn(() => {
|
|
451
|
+
const patches = [];
|
|
452
|
+
transitionStyle(patches, stylePool, styleIdToReset, stylePool.none);
|
|
453
|
+
transitionHyperlink(patches, hyperlinkToReset, undefined);
|
|
454
|
+
patches.push({ type: 'stdout', content: ' ' });
|
|
455
|
+
return [patches, { dx: 1, dy: 0 }];
|
|
456
|
+
});
|
|
457
|
+
}
|
|
458
|
+
});
|
|
459
|
+
// Reset styles before rendering new rows (they'll set their own styles)
|
|
460
|
+
currentStyleId = transitionStyle(screen.diff, stylePool, currentStyleId, stylePool.none);
|
|
461
|
+
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, undefined);
|
|
462
|
+
// Handle growth: render new rows directly (they naturally scroll the terminal)
|
|
463
|
+
if (growing) {
|
|
464
|
+
renderFrameSlice(screen, next, prev.screen.height, next.screen.height, stylePool);
|
|
465
|
+
}
|
|
466
|
+
// Restore cursor. Skipped in alt-screen: the cursor is hidden, its
|
|
467
|
+
// position only matters as the starting point for the NEXT frame's
|
|
468
|
+
// relative moves, and in alt-screen the next frame always begins with
|
|
469
|
+
// CSI H (see ink.tsx onRender) which resets to (0,0) regardless. This
|
|
470
|
+
// saves a CR + cursorMove round-trip (~6-10 bytes) every frame.
|
|
471
|
+
//
|
|
472
|
+
// Main screen: if cursor needs to be past the last line of content
|
|
473
|
+
// (typical: cursor.y = screen.height), emit \n to create that line
|
|
474
|
+
// since cursor movement can't create new lines.
|
|
475
|
+
//
|
|
476
|
+
// LFs are only for CREATING rows: past the viewport bottom they scroll a
|
|
477
|
+
// row into scrollback, which is what grows the transcript. A target row
|
|
478
|
+
// that is still on screen (cursor.y < viewport.height) is reachable by
|
|
479
|
+
// plain cursor movement, and LF-ing to it instead scrolls the terminal
|
|
480
|
+
// one row per LF for no content gain — the idle-repaint churn: a settled
|
|
481
|
+
// session whose header only animates wrote 9-22 LF per frame (5 frames/s,
|
|
482
|
+
// ~73 LF/s measured) for a screen that changed nothing visible, refilling
|
|
483
|
+
// a 1000-row phone scrollback window with duplicate viewports in seconds.
|
|
484
|
+
// Same destination, no scroll: fall through to moveCursorTo.
|
|
485
|
+
if (altScreen) {
|
|
486
|
+
// no-op; next frame's CSI H anchors cursor
|
|
487
|
+
}
|
|
488
|
+
else if (next.cursor.y >= next.viewport.height) {
|
|
489
|
+
// Target row is below the visible viewport: only LF can create it.
|
|
490
|
+
// Move to column 0 of current line, then emit newlines to reach target row
|
|
491
|
+
screen.txn(prev => {
|
|
492
|
+
const rowsToCreate = next.cursor.y - prev.y;
|
|
493
|
+
if (rowsToCreate > 0) {
|
|
494
|
+
// Use CR to resolve pending wrap (if any) without advancing
|
|
495
|
+
// to the next line, then LF to create each new row.
|
|
496
|
+
const patches = new Array(1 + rowsToCreate);
|
|
497
|
+
patches[0] = CARRIAGE_RETURN;
|
|
498
|
+
for (let i = 0; i < rowsToCreate; i++) {
|
|
499
|
+
patches[1 + i] = NEWLINE;
|
|
500
|
+
}
|
|
501
|
+
return [patches, { dx: -prev.x, dy: rowsToCreate }];
|
|
502
|
+
}
|
|
503
|
+
// At or past target row - need to move cursor to correct position
|
|
504
|
+
const dy = next.cursor.y - prev.y;
|
|
505
|
+
if (dy !== 0 || prev.x !== next.cursor.x) {
|
|
506
|
+
// Use CR to clear pending wrap (if any), then cursor move
|
|
507
|
+
const patches = [CARRIAGE_RETURN];
|
|
508
|
+
patches.push({ type: 'cursorMove', x: next.cursor.x, y: dy });
|
|
509
|
+
return [patches, { dx: next.cursor.x - prev.x, dy }];
|
|
510
|
+
}
|
|
511
|
+
return [[], { dx: 0, dy: 0 }];
|
|
512
|
+
});
|
|
513
|
+
}
|
|
514
|
+
else {
|
|
515
|
+
moveCursorTo(screen, next.cursor.x, next.cursor.y);
|
|
516
|
+
}
|
|
517
|
+
const elapsed = performance.now() - startTime;
|
|
518
|
+
if (elapsed > 50) {
|
|
519
|
+
const damage = next.screen.damage;
|
|
520
|
+
const damageInfo = damage
|
|
521
|
+
? `${damage.width}x${damage.height} at (${damage.x},${damage.y})`
|
|
522
|
+
: 'none';
|
|
523
|
+
logForDebugging(`Slow render: ${elapsed.toFixed(1)}ms, screen: ${next.screen.height}x${next.screen.width}, damage: ${damageInfo}, changes: ${screen.diff.length}`);
|
|
524
|
+
}
|
|
525
|
+
let result = scrollPatch.length > 0
|
|
526
|
+
? [...scrollPatch, ...screen.diff]
|
|
527
|
+
: screen.diff;
|
|
528
|
+
// JetBrains IDE terminals (JediTerm) in main-screen (inline) mode:
|
|
529
|
+
// append a visible-frame rewrite to the incremental diff.
|
|
530
|
+
//
|
|
531
|
+
// JediTerm's reworked block renderer (the default terminal in JetBrains
|
|
532
|
+
// IDEs 2025.2+) repaints a view row only when its model cells change,
|
|
533
|
+
// and it re-renders between writes. The incremental diff above writes
|
|
534
|
+
// only the cells that changed since the previous frame — so a row the
|
|
535
|
+
// block renderer misrendered mid-frame (partial reflow) is never
|
|
536
|
+
// touched again, and the garbage persists and accumulates as the
|
|
537
|
+
// transcript streams and scrolls: the "works in VS Code, slowly garbles
|
|
538
|
+
// in JetBrains" symptom. xterm.js-family terminals (VS Code) repaint
|
|
539
|
+
// the fixed grid on every write, so the same byte stream is clean
|
|
540
|
+
// there; the model-level state is identical on both (verified by
|
|
541
|
+
// replaying captured frame bytes through the IDE's bundled JediTerm
|
|
542
|
+
// emulator against xterm.js) — the divergence is purely the view
|
|
543
|
+
// layer's incremental repaint.
|
|
544
|
+
//
|
|
545
|
+
// The rewrite runs AFTER the incremental writes instead of replacing
|
|
546
|
+
// them: the growth path's CR+LF writes are what scroll scrolled-off
|
|
547
|
+
// rows into the terminal's native scrollback (inline mode's whole
|
|
548
|
+
// point). A pure full-repaint mode would never emit those scrolls and
|
|
549
|
+
// the transcript above the viewport would vanish. Appending a repaint
|
|
550
|
+
// anchored at the visible frame start (CR + CUU(visibleRows) + ED0 +
|
|
551
|
+
// frame tail) overwrites every application cell, forcing the block
|
|
552
|
+
// renderer to a correct full repaint without touching scrollback or
|
|
553
|
+
// shell output above a short frame. The appended slice lands its
|
|
554
|
+
// row-ending CR+LFs inside the viewport so nothing extra scrolls. The
|
|
555
|
+
// anchor prefixes SGR_RESET + link('') so the ED0's BCE fill uses the
|
|
556
|
+
// default background and any hyperlink the incremental writes left open
|
|
557
|
+
// is closed first. Frames that took a full-reset path already repaint
|
|
558
|
+
// everything and are skipped. A one-row viewport has no separate park
|
|
559
|
+
// row, so it keeps the original incremental output. Alt-screen is
|
|
560
|
+
// unaffected: its per-frame CSI H anchor + BSU/ESU atomic frames already
|
|
561
|
+
// keep the block renderer consistent.
|
|
562
|
+
if (!altScreen &&
|
|
563
|
+
isJetBrainsIdeTerminal() &&
|
|
564
|
+
prev.viewport.height > 1 &&
|
|
565
|
+
!result.some(patch => patch.type === 'clearTerminal')) {
|
|
566
|
+
logForDebugging(`JetBrains inline frame: append viewport repaint (height=${next.screen.height}, viewport=${prev.viewport.height})`);
|
|
567
|
+
result = [
|
|
568
|
+
...result,
|
|
569
|
+
...viewportRepaintPatches(prev, next, stylePool, true, 'frame-end'),
|
|
570
|
+
];
|
|
571
|
+
}
|
|
572
|
+
return result;
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
function transitionHyperlink(diff, current, target) {
|
|
576
|
+
if (current !== target) {
|
|
577
|
+
diff.push({ type: 'hyperlink', uri: target ?? '' });
|
|
578
|
+
return target;
|
|
579
|
+
}
|
|
580
|
+
return current;
|
|
581
|
+
}
|
|
582
|
+
function transitionStyle(diff, stylePool, currentId, targetId) {
|
|
583
|
+
const str = stylePool.transition(currentId, targetId);
|
|
584
|
+
if (str.length > 0) {
|
|
585
|
+
diff.push({ type: 'styleStr', str });
|
|
586
|
+
}
|
|
587
|
+
return targetId;
|
|
588
|
+
}
|
|
589
|
+
function readLine(screen, y) {
|
|
590
|
+
let line = '';
|
|
591
|
+
for (let x = 0; x < screen.width; x++) {
|
|
592
|
+
line += charInCellAt(screen, x, y) ?? ' ';
|
|
593
|
+
}
|
|
594
|
+
return line.trimEnd();
|
|
595
|
+
}
|
|
596
|
+
function fullResetSequence_CAUSES_FLICKER(frame, reason, stylePool, debug) {
|
|
597
|
+
// After clearTerminal the viewport is blank and the cursor is at (0, 0), so
|
|
598
|
+
// this paints downward from the top — and therefore must paint only what
|
|
599
|
+
// fits. Every row here ends in CR+LF, the bottom viewport row is reserved
|
|
600
|
+
// for the cursor park, and so at most viewportHeight-1 rows of content can
|
|
601
|
+
// land above it. Painting the whole frame regardless overflows as soon as
|
|
602
|
+
// the frame is as tall as the viewport: the trailing CR+LF is emitted on the
|
|
603
|
+
// bottom row, the terminal scrolls, and the frame's last row — the status
|
|
604
|
+
// hint, always the final row of the main screen — is carried off the bottom.
|
|
605
|
+
// A narrowing resize is what makes a frame reach full height (content wraps
|
|
606
|
+
// onto more rows while the row count stays put), which is why that direction
|
|
607
|
+
// lost its bottom row while widening never did.
|
|
608
|
+
//
|
|
609
|
+
// Painting the frame's tail instead keeps the same end state the in-place
|
|
610
|
+
// viewport repaint documents — frame rows [H-contentRows, H) on screen with
|
|
611
|
+
// the cursor parked one row below the last of them — so the next frame's
|
|
612
|
+
// bookkeeping needs no special case for having come through a reset.
|
|
613
|
+
const height = frame.screen.height;
|
|
614
|
+
const contentRows = Math.min(height, Math.max(1, frame.viewport.height - 1));
|
|
615
|
+
const startY = height - contentRows;
|
|
616
|
+
const screen = new VirtualScreen({ x: 0, y: startY }, frame.viewport.width);
|
|
617
|
+
renderFrameSlice(screen, frame, startY, height, stylePool, false);
|
|
618
|
+
return [{ type: 'clearTerminal', reason, debug }, ...screen.diff];
|
|
619
|
+
}
|
|
620
|
+
/**
|
|
621
|
+
* Anchored tail repaint for shrink-to-fit frames — the fix for the
|
|
622
|
+
* duplicated-whale/duplicated-transcript family. When growth pushed frame
|
|
623
|
+
* rows into terminal scrollback and a shrink then brings the frame back
|
|
624
|
+
* below the viewport, repainting the whole (short) frame from the viewport
|
|
625
|
+
* top re-prints rows whose originals already sit in scrollback — the user
|
|
626
|
+
* scrolls up and sees every pre-shrink row twice.
|
|
627
|
+
*
|
|
628
|
+
* Two layouts, decided by content:
|
|
629
|
+
* - The new frame's top rows are UNCHANGED from the previous frame (the
|
|
630
|
+
* common small shrink — a fold, a spinner unmounting): those rows
|
|
631
|
+
* already live in scrollback and keep their originals. Erase the
|
|
632
|
+
* viewport in place (no 2J — history untouched) and repaint ONLY the
|
|
633
|
+
* changed tail, anchored at the viewport BOTTOM so the frame continues
|
|
634
|
+
* the scrollback seamlessly. The leading blank band is recorded as
|
|
635
|
+
* `anchoredPad` so later frames' viewportY math skips the scrollback
|
|
636
|
+
* rows and relative addressing stays consistent (the band scrolls away
|
|
637
|
+
* naturally as the next turn grows).
|
|
638
|
+
* - The frame's top content CHANGED (a panel collapsing, 38 rows → 2):
|
|
639
|
+
* nothing in scrollback represents the new frame — repaint the whole
|
|
640
|
+
* short frame top-anchored, matching a fresh render (collapse-shrink's
|
|
641
|
+
* contract), pad 0.
|
|
642
|
+
*/
|
|
643
|
+
function shrinkAnchoredRepaint(prev, next, stylePool, scrollbackRows) {
|
|
644
|
+
// Seam check, not prefix equality: the scrollback's DEEPEST row (old row
|
|
645
|
+
// skip-1) sits directly above the region we are about to paint — if it
|
|
646
|
+
// equals the new frame's row at the same index, the frame's lineage is
|
|
647
|
+
// intact (the shrink removed rows from the bottom region) and the
|
|
648
|
+
// scrollback originals stay authoritative. Volatile top rows (the
|
|
649
|
+
// status header's ticking counters) don't matter — only the seam does.
|
|
650
|
+
// Walk the skip down until the seam matches; 0 means the frame's top
|
|
651
|
+
// content changed (a collapsing panel) and the whole short frame gets a
|
|
652
|
+
// top-anchored repaint instead.
|
|
653
|
+
const width = Math.min(prev.screen.width, next.screen.width);
|
|
654
|
+
const rowsDiffer = (y) => {
|
|
655
|
+
if (y >= prev.screen.height || y >= next.screen.height)
|
|
656
|
+
return true;
|
|
657
|
+
const po = y * prev.screen.width * 2;
|
|
658
|
+
const no = y * next.screen.width * 2;
|
|
659
|
+
for (let x = 0; x < width * 2; x++) {
|
|
660
|
+
if (prev.screen.cells[po + x] !== next.screen.cells[no + x])
|
|
661
|
+
return true;
|
|
662
|
+
}
|
|
663
|
+
return false;
|
|
664
|
+
};
|
|
665
|
+
let skip = Math.min(scrollbackRows, next.screen.height);
|
|
666
|
+
while (skip > 0 && rowsDiffer(skip - 1))
|
|
667
|
+
skip -= 1;
|
|
668
|
+
const viewportHeight = prev.viewport.height;
|
|
669
|
+
const height = next.screen.height;
|
|
670
|
+
if (skip <= 0) {
|
|
671
|
+
// Top-anchored whole-frame repaint — the fresh-render layout.
|
|
672
|
+
const contentRows = Math.min(height, Math.max(1, viewportHeight - 1));
|
|
673
|
+
const startY = height - contentRows;
|
|
674
|
+
const anchor = CURSOR_HOME + eraseToEndOfScreen();
|
|
675
|
+
const screen = new VirtualScreen({ x: 0, y: startY }, next.viewport.width);
|
|
676
|
+
renderFrameSlice(screen, next, startY, height, stylePool, false);
|
|
677
|
+
return { patches: [{ type: 'stdout', content: anchor }, ...screen.diff], anchoredPad: 0 };
|
|
678
|
+
}
|
|
679
|
+
const rowsToPaint = Math.max(1, Math.min(height, viewportHeight - 1, height - skip));
|
|
680
|
+
const startY = height - rowsToPaint;
|
|
681
|
+
const blankBand = Math.max(0, viewportHeight - 1 - rowsToPaint);
|
|
682
|
+
const anchor = CURSOR_HOME + eraseToEndOfScreen() + (blankBand > 0 ? cursorDown(blankBand) : '');
|
|
683
|
+
const screen = new VirtualScreen({ x: 0, y: startY }, next.viewport.width);
|
|
684
|
+
renderFrameSlice(screen, next, startY, height, stylePool, false);
|
|
685
|
+
return {
|
|
686
|
+
patches: [{ type: 'stdout', content: anchor }, ...screen.diff],
|
|
687
|
+
// Cap at height-1: a seam that matches every row of a very short frame
|
|
688
|
+
// must not mark the WHOLE frame as scrollback — the last row (the
|
|
689
|
+
// input area) stays live and repaintable.
|
|
690
|
+
anchoredPad: Math.min(skip, height - 1),
|
|
691
|
+
};
|
|
692
|
+
}
|
|
693
|
+
/**
|
|
694
|
+
* Repaint the visible viewport in place — the main-screen shrink recovery
|
|
695
|
+
* that replaces fullResetSequence's clearTerminal + whole-frame reprint.
|
|
696
|
+
*
|
|
697
|
+
* Precondition (caller-guarded): the cursor is parked on the physical
|
|
698
|
+
* bottom row (the renderer pins cursor.y = screen.height every main-screen
|
|
699
|
+
* frame), so the viewport top is exactly viewportHeight-1 rows up. Walk
|
|
700
|
+
* there, erase to the end of the screen, and repaint the frame's tail
|
|
701
|
+
* directly into the viewport. Nothing scrolls: no rows are pushed into
|
|
702
|
+
* (WT semantics) or spliced out of (xterm.js semantics) the terminal
|
|
703
|
+
* scrollback, so the shrink frames that fire on EVERY turn — thinking
|
|
704
|
+
* fold, spinner/esc-hint rows unmounting at end of turn, streaming
|
|
705
|
+
* markdown reflow — stop depositing a full stale UI copy per turn into
|
|
706
|
+
* the user's scroll history (issues #38 #39 #19).
|
|
707
|
+
*
|
|
708
|
+
* Frame-row bookkeeping stays on the steady-state formulas: the repaint
|
|
709
|
+
* leaves frame rows [H-min(H,V-1), H) on the viewport with the cursor at
|
|
710
|
+
* frame row H on the physical bottom row — exactly the mapping viewportY
|
|
711
|
+
* derives (viewport top = H-V+1 when H >= V), so the next frame needs no
|
|
712
|
+
* special casing. Cost is O(viewport) cells once per shrink frame, well
|
|
713
|
+
* under the fullReset path it replaces (whole frame + 10000-row scroll).
|
|
714
|
+
*
|
|
715
|
+
* Also reused by the viewport re-anchor (requestViewportReanchor), where
|
|
716
|
+
* the cursor may NOT be exactly on the park row — a third-party write
|
|
717
|
+
* left it somewhere in the bottom region. The CR + cursorUp(V-1) still
|
|
718
|
+
* lands on the viewport top because CUU clamps at the top margin, so the
|
|
719
|
+
* repaint re-syncs the mapping from any bottom-region start. (On legacy
|
|
720
|
+
* conhost the clamp can drag the viewport instead — see
|
|
721
|
+
* hasCursorUpViewportYankBug — but only when the cursor starts above the
|
|
722
|
+
* bottom row, which no known writer produces.)
|
|
723
|
+
*/
|
|
724
|
+
function repaintViewportInPlace(prev, next, stylePool) {
|
|
725
|
+
return viewportRepaintPatches(prev, next, stylePool, false, 'viewport-bottom');
|
|
726
|
+
}
|
|
727
|
+
/**
|
|
728
|
+
* Patches that rewrite the visible viewport in place, then paint the frame
|
|
729
|
+
* tail top-to-bottom. See repaintViewportInPlace for the layout rationale.
|
|
730
|
+
*
|
|
731
|
+
* When these patches are APPENDED to an incremental diff (rather than being
|
|
732
|
+
* the whole frame), the incremental writes may have left an SGR style and/or
|
|
733
|
+
* an OSC 8 hyperlink open; `resetPrefix` then prepends SGR_RESET + link('')
|
|
734
|
+
* so the ED0 BCE fill and the slice's style/hyperlink transitions start from
|
|
735
|
+
* a clean state. In that path the physical cursor is at the frame end, so a
|
|
736
|
+
* short frame must move up only its visible row count. Moving up V-1 rows
|
|
737
|
+
* would clamp at the terminal top, erase shell history above the application,
|
|
738
|
+
* and relocate the application to the top of the viewport.
|
|
739
|
+
*/
|
|
740
|
+
function viewportRepaintPatches(prev, next, stylePool, resetPrefix, origin) {
|
|
741
|
+
const viewportHeight = prev.viewport.height;
|
|
742
|
+
const height = next.screen.height;
|
|
743
|
+
// The bottom viewport row stays reserved for the cursor park; content
|
|
744
|
+
// occupies at most viewportHeight-1 rows above it (same split as the
|
|
745
|
+
// steady state, where the park LF materializes one row below the frame).
|
|
746
|
+
const contentRows = Math.min(height, viewportHeight - 1);
|
|
747
|
+
const startY = height - contentRows;
|
|
748
|
+
// Anchor with CSI H (cursor to viewport origin) instead of a RELATIVE
|
|
749
|
+
// cursor-up walk. The relative form assumed the physical cursor sits
|
|
750
|
+
// exactly on the park row — an assumption that breaks after a terminal
|
|
751
|
+
// reflow (a width change rewraps scrollback, shifting the buffer/cursor
|
|
752
|
+
// bookkeeping by a row or two). The over-shot cursor-up lands ABOVE the
|
|
753
|
+
// viewport top, and the subsequent erase+repaint writes a full UI copy
|
|
754
|
+
// into the scrollback (duplicated-history reports). CSI H has absolute
|
|
755
|
+
// semantics — it always lands on the current viewport's top-left — so the
|
|
756
|
+
// repaint can never cross into scrollback regardless of cursor drift.
|
|
757
|
+
// Erase down from there (BCE fill — the SGR reset guarantees the default
|
|
758
|
+
// background). The erase also blanks the park row, so no stale
|
|
759
|
+
// prompt/status pixels survive below short content.
|
|
760
|
+
const anchor = (resetPrefix ? SGR_RESET + LINK_END : '') +
|
|
761
|
+
CURSOR_HOME +
|
|
762
|
+
eraseToEndOfScreen();
|
|
763
|
+
const screen = new VirtualScreen({ x: 0, y: startY }, next.viewport.width);
|
|
764
|
+
renderFrameSlice(screen, next, startY, height, stylePool, false);
|
|
765
|
+
return [{ type: 'stdout', content: anchor }, ...screen.diff];
|
|
766
|
+
}
|
|
767
|
+
/**
|
|
768
|
+
* Render a slice of rows from the frame's screen.
|
|
769
|
+
* Each row is rendered followed by a newline. Cursor ends at (0, endY).
|
|
770
|
+
*/
|
|
771
|
+
function renderFrameSlice(screen, frame, startY, endY, stylePool,
|
|
772
|
+
/**
|
|
773
|
+
* When false (repaint / full-reset paths), advance rows with
|
|
774
|
+
* CR + cursor-down instead of bare LFs. The repaint paints exactly a
|
|
775
|
+
* viewport of rows starting at the viewport top; a trailing LF on the
|
|
776
|
+
* bottom row SCROLLS the terminal, pushing a copy of the just-painted
|
|
777
|
+
* rows into the scrollback that the cursor bookkeeping never accounted
|
|
778
|
+
* for — every later relative move lands offset, writing content into
|
|
779
|
+
* the history (duplicated transcript rows on scroll-up). cursor-down
|
|
780
|
+
* clamps at the bottom margin instead of scrolling, so the physical
|
|
781
|
+
* cursor stays exactly where the model expects it.
|
|
782
|
+
*/
|
|
783
|
+
allowScroll = true) {
|
|
784
|
+
let currentStyleId = stylePool.none;
|
|
785
|
+
let currentHyperlink = undefined;
|
|
786
|
+
// Track the styleId of the last rendered cell on this line (-1 if none).
|
|
787
|
+
// Passed to visibleCellAtIndex to enable fg-only space optimization.
|
|
788
|
+
let lastRenderedStyleId = -1;
|
|
789
|
+
const { width: screenWidth, cells, charPool, hyperlinkPool } = frame.screen;
|
|
790
|
+
let index = startY * screenWidth;
|
|
791
|
+
for (let y = startY; y < endY; y += 1) {
|
|
792
|
+
// Advance cursor to this row. With allowScroll, use LF (not CSI CUD /
|
|
793
|
+
// cursor-down): CSI CUD stops at the viewport bottom margin and cannot
|
|
794
|
+
// scroll, but LF scrolls the viewport to create new lines. Without this,
|
|
795
|
+
// when the cursor is at the viewport bottom, moveCursorTo's
|
|
796
|
+
// cursor-down silently fails, creating a permanent off-by-one
|
|
797
|
+
// between the virtual cursor and the real terminal cursor.
|
|
798
|
+
if (screen.cursor.y < y) {
|
|
799
|
+
const rowsToAdvance = y - screen.cursor.y;
|
|
800
|
+
if (allowScroll) {
|
|
801
|
+
screen.txn(prev => {
|
|
802
|
+
const patches = new Array(1 + rowsToAdvance);
|
|
803
|
+
patches[0] = CARRIAGE_RETURN;
|
|
804
|
+
for (let i = 0; i < rowsToAdvance; i++) {
|
|
805
|
+
patches[1 + i] = NEWLINE;
|
|
806
|
+
}
|
|
807
|
+
return [patches, { dx: -prev.x, dy: rowsToAdvance }];
|
|
808
|
+
});
|
|
809
|
+
}
|
|
810
|
+
else {
|
|
811
|
+
screen.txn(prev => [
|
|
812
|
+
[CARRIAGE_RETURN, { type: 'cursorMove', x: 0, y: rowsToAdvance }],
|
|
813
|
+
{ dx: -prev.x, dy: rowsToAdvance },
|
|
814
|
+
]);
|
|
815
|
+
}
|
|
816
|
+
}
|
|
817
|
+
// Reset at start of each line — no cell rendered yet
|
|
818
|
+
lastRenderedStyleId = -1;
|
|
819
|
+
for (let x = 0; x < screenWidth; x += 1, index += 1) {
|
|
820
|
+
// Skip spacers, unstyled empty cells, and fg-only styled spaces that
|
|
821
|
+
// match the last rendered style (since cursor-forward produces identical
|
|
822
|
+
// visual result). visibleCellAtIndex handles the optimization internally
|
|
823
|
+
// to avoid allocating Cell objects for skipped cells.
|
|
824
|
+
const cell = visibleCellAtIndex(cells, charPool, hyperlinkPool, index, lastRenderedStyleId);
|
|
825
|
+
if (!cell) {
|
|
826
|
+
continue;
|
|
827
|
+
}
|
|
828
|
+
moveCursorTo(screen, x, y);
|
|
829
|
+
// Handle hyperlink
|
|
830
|
+
const targetHyperlink = cell.hyperlink;
|
|
831
|
+
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, targetHyperlink);
|
|
832
|
+
// Style transition — cached string, zero allocations after warmup
|
|
833
|
+
const styleStr = stylePool.transition(currentStyleId, cell.styleId);
|
|
834
|
+
if (writeCellWithStyleStr(screen, cell, styleStr)) {
|
|
835
|
+
currentStyleId = cell.styleId;
|
|
836
|
+
lastRenderedStyleId = cell.styleId;
|
|
837
|
+
}
|
|
838
|
+
}
|
|
839
|
+
// Reset styles/hyperlinks before newline so background color doesn't
|
|
840
|
+
// bleed into the next line when the terminal scrolls. The old code
|
|
841
|
+
// reset implicitly by writing trailing unstyled spaces; now that we
|
|
842
|
+
// skip empty cells, we must reset explicitly.
|
|
843
|
+
currentStyleId = transitionStyle(screen.diff, stylePool, currentStyleId, stylePool.none);
|
|
844
|
+
currentHyperlink = transitionHyperlink(screen.diff, currentHyperlink, undefined);
|
|
845
|
+
// CR+LF (or CR+cursor-down for non-scrolling slices) at end of row —
|
|
846
|
+
// \r resets to column 0. Without \r, the terminal cursor stays at
|
|
847
|
+
// whatever column content ended (since we skip trailing spaces, this
|
|
848
|
+
// can be mid-row).
|
|
849
|
+
if (allowScroll) {
|
|
850
|
+
screen.txn(prev => [[CARRIAGE_RETURN, NEWLINE], { dx: -prev.x, dy: 1 }]);
|
|
851
|
+
}
|
|
852
|
+
else {
|
|
853
|
+
screen.txn(prev => [
|
|
854
|
+
[CARRIAGE_RETURN, { type: 'cursorMove', x: 0, y: 1 }],
|
|
855
|
+
{ dx: -prev.x, dy: 1 },
|
|
856
|
+
]);
|
|
857
|
+
}
|
|
858
|
+
}
|
|
859
|
+
// Reset any open style/hyperlink at end of slice
|
|
860
|
+
transitionStyle(screen.diff, stylePool, currentStyleId, stylePool.none);
|
|
861
|
+
transitionHyperlink(screen.diff, currentHyperlink, undefined);
|
|
862
|
+
return screen;
|
|
863
|
+
}
|
|
864
|
+
/**
|
|
865
|
+
* Write a cell with a pre-serialized style transition string (from
|
|
866
|
+
* StylePool.transition). Inlines the txn logic to avoid closure/tuple/delta
|
|
867
|
+
* allocations on every cell.
|
|
868
|
+
*
|
|
869
|
+
* Returns true if the cell was written, false if skipped (wide char at
|
|
870
|
+
* viewport edge). Callers MUST gate currentStyleId updates on this — when
|
|
871
|
+
* skipped, styleStr is never pushed and the terminal's style state is
|
|
872
|
+
* unchanged. Updating the virtual tracker anyway desyncs it from the
|
|
873
|
+
* terminal, and the next transition is computed from phantom state.
|
|
874
|
+
*/
|
|
875
|
+
function writeCellWithStyleStr(screen, cell, styleStr) {
|
|
876
|
+
const cellWidth = cell.width === 1 /* CellWidth.Wide */ ? 2 : 1;
|
|
877
|
+
const px = screen.cursor.x;
|
|
878
|
+
const vw = screen.viewportWidth;
|
|
879
|
+
// Don't write wide chars that would cross the viewport edge.
|
|
880
|
+
// Single-codepoint chars (CJK) at vw-2 are safe; multi-codepoint
|
|
881
|
+
// graphemes (flags, ZWJ emoji) need stricter threshold.
|
|
882
|
+
if (cellWidth === 2 && px < vw) {
|
|
883
|
+
const threshold = cell.char.length > 2 ? vw : vw + 1;
|
|
884
|
+
if (px + 2 >= threshold) {
|
|
885
|
+
return false;
|
|
886
|
+
}
|
|
887
|
+
}
|
|
888
|
+
const diff = screen.diff;
|
|
889
|
+
if (styleStr.length > 0) {
|
|
890
|
+
diff.push({ type: 'styleStr', str: styleStr });
|
|
891
|
+
}
|
|
892
|
+
const needsCompensation = cellWidth === 2 && needsWidthCompensation(cell.char);
|
|
893
|
+
// On terminals with old wcwidth tables, a compensated emoji only advances
|
|
894
|
+
// the cursor 1 column, so the CHA below skips column x+1 without painting
|
|
895
|
+
// it. Write a styled space there first — on correct terminals the emoji
|
|
896
|
+
// glyph (width 2) overwrites it harmlessly; on old terminals it fills the
|
|
897
|
+
// gap with the emoji's background. Also clears any stale content at x+1.
|
|
898
|
+
// CHA is 1-based, so column px+1 (0-based) is CHA target px+2.
|
|
899
|
+
if (needsCompensation && px + 1 < vw) {
|
|
900
|
+
diff.push({ type: 'cursorTo', col: px + 2 });
|
|
901
|
+
diff.push({ type: 'stdout', content: ' ' });
|
|
902
|
+
diff.push({ type: 'cursorTo', col: px + 1 });
|
|
903
|
+
}
|
|
904
|
+
diff.push({ type: 'stdout', content: cell.char });
|
|
905
|
+
// Force terminal cursor to correct column after the emoji.
|
|
906
|
+
if (needsCompensation) {
|
|
907
|
+
diff.push({ type: 'cursorTo', col: px + cellWidth + 1 });
|
|
908
|
+
}
|
|
909
|
+
// Update cursor — mutate in place to avoid Point allocation
|
|
910
|
+
if (px >= vw) {
|
|
911
|
+
screen.cursor.x = cellWidth;
|
|
912
|
+
screen.cursor.y++;
|
|
913
|
+
}
|
|
914
|
+
else {
|
|
915
|
+
screen.cursor.x = px + cellWidth;
|
|
916
|
+
}
|
|
917
|
+
return true;
|
|
918
|
+
}
|
|
919
|
+
function moveCursorTo(screen, targetX, targetY) {
|
|
920
|
+
screen.txn(prev => {
|
|
921
|
+
const dx = targetX - prev.x;
|
|
922
|
+
const dy = targetY - prev.y;
|
|
923
|
+
const inPendingWrap = prev.x >= screen.viewportWidth;
|
|
924
|
+
// Already there (and not in pending wrap): nothing to emit. Without this
|
|
925
|
+
// the patch below is returned for a zero-length move, which is a non-empty
|
|
926
|
+
// diff — it costs a content-free write on every frame that only re-parks
|
|
927
|
+
// the cursor (exactly what the inline idle tail now does, see #995), and it
|
|
928
|
+
// breaks fixtures that assert on the final stdout chunk.
|
|
929
|
+
if (!inPendingWrap && dx === 0 && dy === 0)
|
|
930
|
+
return [[], { dx: 0, dy: 0 }];
|
|
931
|
+
// If we're in pending wrap state (cursor.x >= width), use CR
|
|
932
|
+
// to reset to column 0 on the current line without advancing
|
|
933
|
+
// to the next line, then issue the cursor movement.
|
|
934
|
+
if (inPendingWrap) {
|
|
935
|
+
return [
|
|
936
|
+
[CARRIAGE_RETURN, { type: 'cursorMove', x: targetX, y: dy }],
|
|
937
|
+
{ dx, dy },
|
|
938
|
+
];
|
|
939
|
+
}
|
|
940
|
+
// When moving to a different line, use carriage return (\r) to reset to
|
|
941
|
+
// column 0 first, then cursor move.
|
|
942
|
+
if (dy !== 0) {
|
|
943
|
+
return [
|
|
944
|
+
[CARRIAGE_RETURN, { type: 'cursorMove', x: targetX, y: dy }],
|
|
945
|
+
{ dx, dy },
|
|
946
|
+
];
|
|
947
|
+
}
|
|
948
|
+
// Standard same-line cursor move
|
|
949
|
+
return [[{ type: 'cursorMove', x: dx, y: dy }], { dx, dy }];
|
|
950
|
+
});
|
|
951
|
+
}
|
|
952
|
+
/**
|
|
953
|
+
* Identify emoji where the terminal's wcwidth may disagree with Unicode.
|
|
954
|
+
* On terminals with correct tables, the CHA we emit is a harmless no-op.
|
|
955
|
+
*
|
|
956
|
+
* Two categories:
|
|
957
|
+
* 1. Newer emoji (Unicode 12.0+) missing from terminal wcwidth tables.
|
|
958
|
+
* 2. Text-by-default emoji + VS16 (U+FE0F): the base codepoint is width 1
|
|
959
|
+
* in wcwidth, but VS16 triggers emoji presentation making it width 2.
|
|
960
|
+
* Examples: ⚔️ (U+2694), ☠️ (U+2620), ❤️ (U+2764).
|
|
961
|
+
*/
|
|
962
|
+
function needsWidthCompensation(char) {
|
|
963
|
+
const cp = char.codePointAt(0);
|
|
964
|
+
if (cp === undefined)
|
|
965
|
+
return false;
|
|
966
|
+
// U+1FA70-U+1FAFF: Symbols and Pictographs Extended-A (Unicode 12.0-15.0)
|
|
967
|
+
// U+1FB00-U+1FBFF: Symbols for Legacy Computing (Unicode 13.0)
|
|
968
|
+
if ((cp >= 0x1fa70 && cp <= 0x1faff) || (cp >= 0x1fb00 && cp <= 0x1fbff)) {
|
|
969
|
+
return true;
|
|
970
|
+
}
|
|
971
|
+
// Text-by-default emoji with VS16: scan for U+FE0F in multi-codepoint
|
|
972
|
+
// graphemes. Single BMP chars (length 1) and surrogate pairs without VS16
|
|
973
|
+
// skip this check. VS16 (0xFE0F) can't collide with surrogates (0xD800-0xDFFF).
|
|
974
|
+
if (char.length >= 2) {
|
|
975
|
+
for (let i = 0; i < char.length; i++) {
|
|
976
|
+
if (char.charCodeAt(i) === 0xfe0f)
|
|
977
|
+
return true;
|
|
978
|
+
}
|
|
979
|
+
}
|
|
980
|
+
return false;
|
|
981
|
+
}
|
|
982
|
+
class VirtualScreen {
|
|
983
|
+
viewportWidth;
|
|
984
|
+
// Public for direct mutation by writeCellWithStyleStr (avoids txn overhead).
|
|
985
|
+
// File-private class — not exposed outside log-update.ts.
|
|
986
|
+
cursor;
|
|
987
|
+
diff = [];
|
|
988
|
+
constructor(origin, viewportWidth) {
|
|
989
|
+
this.viewportWidth = viewportWidth;
|
|
990
|
+
this.cursor = { ...origin };
|
|
991
|
+
}
|
|
992
|
+
txn(fn) {
|
|
993
|
+
const [patches, next] = fn(this.cursor);
|
|
994
|
+
for (const patch of patches) {
|
|
995
|
+
this.diff.push(patch);
|
|
996
|
+
}
|
|
997
|
+
this.cursor.x += next.dx;
|
|
998
|
+
this.cursor.y += next.dy;
|
|
999
|
+
}
|
|
1000
|
+
}
|