@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,1177 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
2
|
+
import { appendFileSync, closeSync, existsSync, openSync, readdirSync, readFileSync, readSync, realpathSync, rmSync, } from 'node:fs';
|
|
3
|
+
import { dirname, join, sep } from 'node:path';
|
|
4
|
+
import { zstdCompressSync, zstdDecompressSync } from 'node:zlib';
|
|
5
|
+
import { homeDir } from '../../utils/paths.js';
|
|
6
|
+
/**
|
|
7
|
+
* Legacy third-party session-event types the TUI vouches for as ephemeral
|
|
8
|
+
* UI frames — safe for the strict read path to accept and skip. Exported
|
|
9
|
+
* for the regression verifier; grow it only with proof the type was always
|
|
10
|
+
* inert (never load-bearing for session reconstruction).
|
|
11
|
+
*
|
|
12
|
+
* 0.1.5 note: the vouch is not only for OLD logs. `session/color` is written
|
|
13
|
+
* by the TUI itself on every host generation (session-metadata.ts), and
|
|
14
|
+
* 0.1.5's `validateStoredEvents` refuses unknown non-ignorable types at load
|
|
15
|
+
* — without this registration a single color pick makes that session
|
|
16
|
+
* permanently unresumable (probed: SessionFormatUnsupportedError without the
|
|
17
|
+
* vouch, clean load with it). The type stays inert for reconstruction either
|
|
18
|
+
* way: it only re-tints the row.
|
|
19
|
+
*/
|
|
20
|
+
export const LEGACY_SESSION_EVENT_TYPES = ['activity/status', 'session/color'];
|
|
21
|
+
/** Zstd frame magic number, little-endian (0xFD2FB528). */
|
|
22
|
+
const ZSTD_MAGIC = 0xfd2fb528;
|
|
23
|
+
/**
|
|
24
|
+
* Session-log storage roots, in priority order, mirroring the persistence
|
|
25
|
+
* backend's `root` resolution: cordis.patch.yml sets `DSH_TUI_SESSION_ROOT ?? dshHomePath(
|
|
26
|
+
* 'sessions')` where dshHomePath is `$DSH_HOME ?? ~/.dsh`; the unpatched
|
|
27
|
+
* cordis.yml base falls back to ~/.dsh-tui/sessions, kept here as the legacy
|
|
28
|
+
* last resort. Every candidate is scanned — the first hit wins, so an
|
|
29
|
+
* explicit DSH_TUI_SESSION_ROOT always outranks the defaults.
|
|
30
|
+
*/
|
|
31
|
+
export function sessionsRoots() {
|
|
32
|
+
const home = homeDir();
|
|
33
|
+
const roots = [];
|
|
34
|
+
const override = process.env.DSH_TUI_SESSION_ROOT;
|
|
35
|
+
if (override !== undefined && override.trim().length > 0)
|
|
36
|
+
roots.push(override);
|
|
37
|
+
const dshHome = process.env.DSH_HOME;
|
|
38
|
+
roots.push(join(dshHome !== undefined && dshHome.trim().length > 0 ? dshHome : join(home, '.dsh'), 'sessions'));
|
|
39
|
+
roots.push(join(home, '.dsh-tui', 'sessions'));
|
|
40
|
+
return [...new Set(roots)];
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Session ids reach path.join() below from picker/channel callers, and
|
|
44
|
+
* deleteSessionLog recursively removes the resolved parent directory — so
|
|
45
|
+
* an id must be a single safe path segment. Real ids are UUIDs or
|
|
46
|
+
* `session-<uuid>`; anything with separators, dots, or shell-y characters
|
|
47
|
+
* is rejected outright (treated as "no such session").
|
|
48
|
+
*/
|
|
49
|
+
function isSafeSessionId(sessionId) {
|
|
50
|
+
return /^[A-Za-z0-9][A-Za-z0-9_-]*$/.test(sessionId);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Canonical session-log generation basename, mirroring upstream
|
|
54
|
+
* dsh-session-format's `CANONICAL_LOG_FILENAME` (that package is not a
|
|
55
|
+
* blessed import, so the rule is re-derived here): version zero keeps the
|
|
56
|
+
* original `session.jsonl`; every later generation carries a lowercase
|
|
57
|
+
* numeric `.vN` component (0.1.5 writes `session.v3.jsonl`). Noncanonical,
|
|
58
|
+
* uppercase, leading-zero, and `.v0` names never identify committed
|
|
59
|
+
* generations. A `.zstd` suffix marks the compressed encoding.
|
|
60
|
+
*/
|
|
61
|
+
const GENERATION_LOG_NAME = /^session(?:\.v([1-9][0-9]*))?\.jsonl$/;
|
|
62
|
+
function parseGenerationName(name) {
|
|
63
|
+
const compressed = name.endsWith('.zstd');
|
|
64
|
+
const match = GENERATION_LOG_NAME.exec(compressed ? name.slice(0, -'.zstd'.length) : name);
|
|
65
|
+
if (match === null)
|
|
66
|
+
return undefined;
|
|
67
|
+
return { name, version: match[1] === undefined ? 0 : Number(match[1]), compressed };
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Pick the newest committed generation inside one session directory — the
|
|
71
|
+
* backend's `resolveGenerationInDirectory` rule (highest format version
|
|
72
|
+
* wins), with the compressed twin preferred on a tie (the stock default
|
|
73
|
+
* encoding; a mixed-encoding directory is something the backend itself
|
|
74
|
+
* refuses, so either tiebreak is honest for a read-only consumer).
|
|
75
|
+
* @param dir - Absolute session directory (`<root>/<workspace>/<id>`).
|
|
76
|
+
* @param compressedOnly - Restrict to zstd artifacts (the rename/delete
|
|
77
|
+
* caller's historical contract).
|
|
78
|
+
*/
|
|
79
|
+
function selectGenerationLog(dir, compressedOnly) {
|
|
80
|
+
let entries;
|
|
81
|
+
try {
|
|
82
|
+
entries = readdirSync(dir);
|
|
83
|
+
}
|
|
84
|
+
catch {
|
|
85
|
+
return undefined;
|
|
86
|
+
}
|
|
87
|
+
let best;
|
|
88
|
+
for (const name of entries) {
|
|
89
|
+
const candidate = parseGenerationName(name);
|
|
90
|
+
if (candidate === undefined)
|
|
91
|
+
continue;
|
|
92
|
+
if (compressedOnly && !candidate.compressed)
|
|
93
|
+
continue;
|
|
94
|
+
if (best === undefined ||
|
|
95
|
+
candidate.version > best.version ||
|
|
96
|
+
(candidate.version === best.version && candidate.compressed && !best.compressed)) {
|
|
97
|
+
best = candidate;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
return best === undefined ? undefined : { path: join(dir, best.name), compressed: best.compressed };
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Locate a session's log by scanning workspace directories for the session
|
|
104
|
+
* id — deliberately NOT replicating the persistence plugin's workspace-key
|
|
105
|
+
* sanitization, so the helpers survive upstream key-scheme changes. Every
|
|
106
|
+
* committed generation is considered; the newest wins (the backend migrates
|
|
107
|
+
* historical artifacts by publishing a `session.vN` sibling and reading only
|
|
108
|
+
* it, so the newest generation is always the authoritative one).
|
|
109
|
+
* @param sessionId - Session id (directory name under each workspace dir).
|
|
110
|
+
* @returns Absolute path of the selected log, or undefined when absent.
|
|
111
|
+
*/
|
|
112
|
+
export function findSessionLogFile(sessionId) {
|
|
113
|
+
if (!isSafeSessionId(sessionId))
|
|
114
|
+
return undefined;
|
|
115
|
+
for (const root of sessionsRoots()) {
|
|
116
|
+
let workspaces;
|
|
117
|
+
try {
|
|
118
|
+
workspaces = readdirSync(root);
|
|
119
|
+
}
|
|
120
|
+
catch {
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
for (const ws of workspaces) {
|
|
124
|
+
// Historical contract of this helper: the compressed artifact only
|
|
125
|
+
// (the rename/delete/title-string paths predate plain-encoding logs).
|
|
126
|
+
const selected = selectGenerationLog(join(root, ws, sessionId), true);
|
|
127
|
+
if (selected !== undefined)
|
|
128
|
+
return selected.path;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
return undefined;
|
|
132
|
+
}
|
|
133
|
+
let cachedDecoder;
|
|
134
|
+
function decodeStorageRecord(value) {
|
|
135
|
+
if (cachedDecoder === undefined) {
|
|
136
|
+
cachedDecoder = loadUpstreamDecoder() ?? decodeStorageRecordLocal;
|
|
137
|
+
}
|
|
138
|
+
return cachedDecoder(value);
|
|
139
|
+
}
|
|
140
|
+
function loadUpstreamDecoder() {
|
|
141
|
+
try {
|
|
142
|
+
const req = createRequire(import.meta.url);
|
|
143
|
+
const mod = req('@deepseek-ai/dsh-session');
|
|
144
|
+
return typeof mod.decodeStorageRecord === 'function'
|
|
145
|
+
? mod.decodeStorageRecord
|
|
146
|
+
: undefined;
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
// No resolvable dsh-session copy from this tree — the local decoder is
|
|
150
|
+
// fully self-contained, so reads still work.
|
|
151
|
+
return undefined;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
/* ------------------------------------------------------------------------- *\
|
|
155
|
+
* Local port of the removed dsh-session chunk-rows decoder (0.1.2-rc.1 and
|
|
156
|
+
* earlier, lib/types/chunk-rows.js). Storage rows are a durable-encoding
|
|
157
|
+
* vocabulary, NOT session events: the packChunks writer folded each run of
|
|
158
|
+
* same-block delta chunks into ONE `text-chunks`/`reasoning-chunks`/
|
|
159
|
+
* `tool-call-chunks` line. Row-tagged values validate and expand (a malformed
|
|
160
|
+
* row throws — it is corrupt storage, and treating it as an event would
|
|
161
|
+
* silently drop a whole run); every other value passes through as a single
|
|
162
|
+
* event, unvalidated.
|
|
163
|
+
\* ------------------------------------------------------------------------- */
|
|
164
|
+
function isRecordValue(value) {
|
|
165
|
+
return typeof value === 'object' && value !== null;
|
|
166
|
+
}
|
|
167
|
+
/** Exact-key check: `value` has every key in `keys` and nothing else. */
|
|
168
|
+
function hasExactKeys(value, keys) {
|
|
169
|
+
return Object.keys(value).length === keys.length && keys.every(k => Object.hasOwn(value, k));
|
|
170
|
+
}
|
|
171
|
+
/** The uniform malformed-row diagnostic. */
|
|
172
|
+
function malformedRow(tag, why) {
|
|
173
|
+
throw new Error(`malformed ${tag} storage row: ${why}`);
|
|
174
|
+
}
|
|
175
|
+
/** Validate the shared run-data fields and the payload/dt arity; returns the member payload. */
|
|
176
|
+
function validateRunData(tag, data, payloadKey) {
|
|
177
|
+
if (typeof data.turn !== 'number' || typeof data.step !== 'number' || typeof data.index !== 'number') {
|
|
178
|
+
malformedRow(tag, 'turn/step/index must be numbers');
|
|
179
|
+
}
|
|
180
|
+
const payload = data[payloadKey];
|
|
181
|
+
if (!Array.isArray(payload) || payload.length === 0 || payload.some(entry => typeof entry !== 'string')) {
|
|
182
|
+
malformedRow(tag, `${payloadKey} must be a non-empty string array`);
|
|
183
|
+
}
|
|
184
|
+
const dt = data.dt;
|
|
185
|
+
if (!Array.isArray(dt) || dt.some(gap => !Number.isSafeInteger(gap))) {
|
|
186
|
+
malformedRow(tag, 'dt must be an array of safe integers');
|
|
187
|
+
}
|
|
188
|
+
if (dt.length !== payload.length - 1) {
|
|
189
|
+
malformedRow(tag, `dt length ${dt.length} does not match ${payload.length} members`);
|
|
190
|
+
}
|
|
191
|
+
return payload;
|
|
192
|
+
}
|
|
193
|
+
/** Validate a row-tagged parsed value's envelope and data, throwing on any malformation. */
|
|
194
|
+
function validateChunkRow(value, tag) {
|
|
195
|
+
if (!hasExactKeys(value, ['type', 'seq0', 'time0', 'data'])) {
|
|
196
|
+
malformedRow(tag, 'envelope must be exactly {type, seq0, time0, data}');
|
|
197
|
+
}
|
|
198
|
+
if (!Number.isSafeInteger(value['seq0']) || value['seq0'] < 0) {
|
|
199
|
+
malformedRow(tag, 'seq0 must be a non-negative safe integer');
|
|
200
|
+
}
|
|
201
|
+
if (!Number.isSafeInteger(value['time0'])) {
|
|
202
|
+
malformedRow(tag, 'time0 must be a safe integer');
|
|
203
|
+
}
|
|
204
|
+
const data = value['data'];
|
|
205
|
+
if (!isRecordValue(data))
|
|
206
|
+
malformedRow(tag, 'data must be an object');
|
|
207
|
+
const row = data;
|
|
208
|
+
let payload;
|
|
209
|
+
if (tag === 'tool-call-chunks') {
|
|
210
|
+
const withName = hasExactKeys(row, ['turn', 'step', 'index', 'id', 'name', 'dt', 'args']);
|
|
211
|
+
if (!withName && !hasExactKeys(row, ['turn', 'step', 'index', 'id', 'dt', 'args'])) {
|
|
212
|
+
malformedRow(tag, 'data must be exactly {turn, step, index, id, name?, dt, args}');
|
|
213
|
+
}
|
|
214
|
+
if (typeof row['id'] !== 'string' || (withName && typeof row['name'] !== 'string')) {
|
|
215
|
+
malformedRow(tag, 'id (and name when present) must be strings');
|
|
216
|
+
}
|
|
217
|
+
payload = validateRunData(tag, row, 'args');
|
|
218
|
+
}
|
|
219
|
+
else {
|
|
220
|
+
if (!hasExactKeys(row, ['turn', 'step', 'index', 'dt', 'texts'])) {
|
|
221
|
+
malformedRow(tag, 'data must be exactly {turn, step, index, dt, texts}');
|
|
222
|
+
}
|
|
223
|
+
payload = validateRunData(tag, row, 'texts');
|
|
224
|
+
}
|
|
225
|
+
// Reconstruction bounds. The encoder only packs runs whose member seqs and
|
|
226
|
+
// times are all safe integers, so a running value that leaves safe range is
|
|
227
|
+
// outside any encoder's image: float arithmetic would round it to a
|
|
228
|
+
// different number than exact arithmetic, a silent corruption. Within safe
|
|
229
|
+
// range every step is exact, so the first departure is always caught.
|
|
230
|
+
const seq0 = value['seq0'];
|
|
231
|
+
if (!Number.isSafeInteger(seq0 + payload.length - 1)) {
|
|
232
|
+
malformedRow(tag, 'member seqs must stay safe integers');
|
|
233
|
+
}
|
|
234
|
+
let time = value['time0'];
|
|
235
|
+
for (const gap of row['dt']) {
|
|
236
|
+
time += gap;
|
|
237
|
+
if (!Number.isSafeInteger(time)) {
|
|
238
|
+
malformedRow(tag, 'member times must stay safe integers');
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return { type: tag, seq0, time0: value['time0'], data: row };
|
|
242
|
+
}
|
|
243
|
+
/** Expand a validated row back into its exact original events, in order. */
|
|
244
|
+
function expandChunkRow(row) {
|
|
245
|
+
const members = row.type === 'tool-call-chunks' ? row.data.args : row.data.texts;
|
|
246
|
+
const events = [];
|
|
247
|
+
let time = row.time0;
|
|
248
|
+
for (let k = 0; k < members.length; k++) {
|
|
249
|
+
if (k > 0)
|
|
250
|
+
time += row.data.dt[k - 1];
|
|
251
|
+
let chunk;
|
|
252
|
+
switch (row.type) {
|
|
253
|
+
case 'text-chunks':
|
|
254
|
+
chunk = { type: 'text-delta', index: row.data.index, text: members[k] };
|
|
255
|
+
break;
|
|
256
|
+
case 'reasoning-chunks':
|
|
257
|
+
chunk = { type: 'reasoning-delta', index: row.data.index, text: members[k] };
|
|
258
|
+
break;
|
|
259
|
+
default:
|
|
260
|
+
chunk = {
|
|
261
|
+
type: 'tool-call-delta',
|
|
262
|
+
index: row.data.index,
|
|
263
|
+
id: row.data.id,
|
|
264
|
+
...(row.data.name !== undefined ? { name: row.data.name } : {}),
|
|
265
|
+
argumentsDelta: members[k],
|
|
266
|
+
};
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
269
|
+
// assistant/chunk is gone from the 0.1.5 SessionEvent union; the events
|
|
270
|
+
// are reconstructed structurally for the legacy-log replay path.
|
|
271
|
+
events.push({
|
|
272
|
+
type: 'assistant/chunk',
|
|
273
|
+
seq: row.seq0 + k,
|
|
274
|
+
time,
|
|
275
|
+
data: { turn: row.data.turn, step: row.data.step, chunk },
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
return events;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Structural twin of the removed upstream `decodeStorageRecord`: packed
|
|
282
|
+
* chunk rows expand, everything else passes through as one event.
|
|
283
|
+
*/
|
|
284
|
+
function decodeStorageRecordLocal(value) {
|
|
285
|
+
if (!isRecordValue(value))
|
|
286
|
+
return [value];
|
|
287
|
+
const tag = value['type'];
|
|
288
|
+
if (tag !== 'text-chunks' && tag !== 'reasoning-chunks' && tag !== 'tool-call-chunks') {
|
|
289
|
+
return [value];
|
|
290
|
+
}
|
|
291
|
+
return expandChunkRow(validateChunkRow(value, tag));
|
|
292
|
+
}
|
|
293
|
+
/** I/O slice for streamed log reads. */
|
|
294
|
+
const READ_CHUNK = 64 * 1024;
|
|
295
|
+
/**
|
|
296
|
+
* Compressed-size cap for a single zstd frame, checked DURING accumulation
|
|
297
|
+
* (before any decompress attempt): a bare magic prefix followed by inert
|
|
298
|
+
* bytes must bail instead of buffering unboundedly.
|
|
299
|
+
*/
|
|
300
|
+
const MAX_FRAME_BYTES = 64 * 1024 * 1024;
|
|
301
|
+
/**
|
|
302
|
+
* Decompressed-size cap for a single frame: a tiny on-disk bomb must be
|
|
303
|
+
* refused, not exploded into memory.
|
|
304
|
+
*/
|
|
305
|
+
const MAX_FRAME_TEXT_BYTES = 64 * 1024 * 1024;
|
|
306
|
+
/**
|
|
307
|
+
* Dual-encoding sibling of {@link findSessionLogFile} for the bounded tree
|
|
308
|
+
* reader: also accepts plain `session*.jsonl` artifacts (a
|
|
309
|
+
* `compression:"none"` backend), which the rename/delete/title-string path
|
|
310
|
+
* has no use for. Same multi-root scan, id whitelist, and newest-generation
|
|
311
|
+
* selection; the compressed twin still wins a same-generation tie.
|
|
312
|
+
* @param sessionId - Session id (directory name under each workspace dir).
|
|
313
|
+
* @returns The log path and encoding, or undefined when absent.
|
|
314
|
+
*/
|
|
315
|
+
function findSessionLogFileAnyEncoding(sessionId) {
|
|
316
|
+
if (!isSafeSessionId(sessionId))
|
|
317
|
+
return undefined;
|
|
318
|
+
for (const root of sessionsRoots()) {
|
|
319
|
+
let workspaces;
|
|
320
|
+
try {
|
|
321
|
+
workspaces = readdirSync(root);
|
|
322
|
+
}
|
|
323
|
+
catch {
|
|
324
|
+
continue;
|
|
325
|
+
}
|
|
326
|
+
for (const ws of workspaces) {
|
|
327
|
+
const selected = selectGenerationLog(join(root, ws, sessionId), false);
|
|
328
|
+
if (selected !== undefined)
|
|
329
|
+
return selected;
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
return undefined;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Yield a file's bytes in READ_CHUNK slices. Each yielded buffer is freshly
|
|
336
|
+
* allocated, so consumers may hold frames/lines across yields.
|
|
337
|
+
* @param fd - Open file descriptor (closed by the caller).
|
|
338
|
+
* @yields Raw byte slices in file order.
|
|
339
|
+
*/
|
|
340
|
+
function* fileChunks(fd) {
|
|
341
|
+
for (;;) {
|
|
342
|
+
const buf = Buffer.allocUnsafe(READ_CHUNK);
|
|
343
|
+
const n = readSync(fd, buf, 0, READ_CHUNK, null);
|
|
344
|
+
if (n === 0)
|
|
345
|
+
return;
|
|
346
|
+
yield buf.subarray(0, n);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* Iterate the concatenated zstd frames of a log lazily, over byte chunks,
|
|
351
|
+
* walking each frame's RFC 8878 structure instead of scanning for magic
|
|
352
|
+
* bytes: magic (4) → frame header descriptor → window descriptor →
|
|
353
|
+
* dictionary id → frame content size → data blocks (3-byte little-endian
|
|
354
|
+
* header: last-block flag, block type, block size) until the last block →
|
|
355
|
+
* optional 4-byte content checksum. Structure walking wins over a magic
|
|
356
|
+
* scan twice over: a magic sequence inside a COMPRESSED payload no longer
|
|
357
|
+
* mis-splits its frame, and the exact frame end is known — so a crash
|
|
358
|
+
* mid-flush leaves a torn FINAL frame that is dropped like the plain
|
|
359
|
+
* reader's unterminated tail line (uncommitted), keeping every committed
|
|
360
|
+
* frame before it readable. Frame bytes accumulate as SEGMENTS (references
|
|
361
|
+
* into the 64 KiB read chunks) with one concat per completed frame; the
|
|
362
|
+
* MAX_FRAME_BYTES cap is checked on the running length, so it fires while
|
|
363
|
+
* the frame is still being read, not after it is buffered. Throws when no
|
|
364
|
+
* complete frame exists at all (not a zstd log / nothing committed), on
|
|
365
|
+
* structural corruption (a reserved block type, non-magic bytes at a frame
|
|
366
|
+
* boundary), or when one frame grows past MAX_FRAME_BYTES.
|
|
367
|
+
* @param chunks - Raw file bytes, in order.
|
|
368
|
+
* @yields Each frame's original compressed byte span, in log order.
|
|
369
|
+
*/
|
|
370
|
+
function* zstdFrames(chunks) {
|
|
371
|
+
const stream = chunks[Symbol.iterator]();
|
|
372
|
+
let current = null;
|
|
373
|
+
let pos = 0;
|
|
374
|
+
const advance = () => {
|
|
375
|
+
const next = stream.next();
|
|
376
|
+
if (next.done === true) {
|
|
377
|
+
current = null;
|
|
378
|
+
return false;
|
|
379
|
+
}
|
|
380
|
+
current = next.value;
|
|
381
|
+
pos = 0;
|
|
382
|
+
return true;
|
|
383
|
+
};
|
|
384
|
+
let segments = [];
|
|
385
|
+
let frameLength = 0;
|
|
386
|
+
const append = (bytes) => {
|
|
387
|
+
if (bytes.length === 0)
|
|
388
|
+
return;
|
|
389
|
+
segments.push(bytes);
|
|
390
|
+
frameLength += bytes.length;
|
|
391
|
+
if (frameLength > MAX_FRAME_BYTES) {
|
|
392
|
+
throw new Error(`zstd frame exceeds the ${MAX_FRAME_BYTES}-byte browse cap`);
|
|
393
|
+
}
|
|
394
|
+
};
|
|
395
|
+
/** Pull exactly n structural bytes (≤ 18, concatenating across chunk
|
|
396
|
+
* boundaries); fewer only at EOF. The bytes join the current frame. */
|
|
397
|
+
const field = (n) => {
|
|
398
|
+
const parts = [];
|
|
399
|
+
let left = n;
|
|
400
|
+
while (left > 0) {
|
|
401
|
+
if (current === null && !advance())
|
|
402
|
+
break;
|
|
403
|
+
if (current === null || current.length === pos) {
|
|
404
|
+
current = null;
|
|
405
|
+
continue;
|
|
406
|
+
}
|
|
407
|
+
const take = Math.min(current.length - pos, left);
|
|
408
|
+
parts.push(current.subarray(pos, pos + take));
|
|
409
|
+
pos += take;
|
|
410
|
+
left -= take;
|
|
411
|
+
}
|
|
412
|
+
const out = parts.length === 1 ? parts[0] : Buffer.concat(parts);
|
|
413
|
+
append(out);
|
|
414
|
+
return out;
|
|
415
|
+
};
|
|
416
|
+
/** Swallow exactly n payload bytes into the current frame, in per-chunk
|
|
417
|
+
* pieces (no concat — payloads can be megabytes). Returns the shortfall
|
|
418
|
+
* at EOF (0 when the payload was fully consumed). */
|
|
419
|
+
const payload = (n) => {
|
|
420
|
+
let left = n;
|
|
421
|
+
while (left > 0) {
|
|
422
|
+
if (current === null && !advance())
|
|
423
|
+
return left;
|
|
424
|
+
if (current === null || current.length === pos) {
|
|
425
|
+
current = null;
|
|
426
|
+
continue;
|
|
427
|
+
}
|
|
428
|
+
const take = Math.min(current.length - pos, left);
|
|
429
|
+
append(current.subarray(pos, pos + take));
|
|
430
|
+
pos += take;
|
|
431
|
+
left -= take;
|
|
432
|
+
}
|
|
433
|
+
return 0;
|
|
434
|
+
};
|
|
435
|
+
// EOF partway through a frame is a torn write: committed frames already
|
|
436
|
+
// yielded stay yielded, the partial frame is dropped. Before the FIRST
|
|
437
|
+
// frame completes it instead means "nothing committed" — the old magic
|
|
438
|
+
// scan threw in that case, and the contract is kept.
|
|
439
|
+
let frames = 0;
|
|
440
|
+
const torn = () => frames > 0;
|
|
441
|
+
for (;;) {
|
|
442
|
+
const magic = field(4);
|
|
443
|
+
if (magic.length < 4) {
|
|
444
|
+
// Clean EOF at a frame boundary, or a 1–3 byte torn tail.
|
|
445
|
+
if (magic.length === 0 && frames === 0)
|
|
446
|
+
throw new Error('no zstd frame found');
|
|
447
|
+
if (!torn())
|
|
448
|
+
throw new Error('no complete zstd frame found');
|
|
449
|
+
return;
|
|
450
|
+
}
|
|
451
|
+
if (magic.readUInt32LE(0) !== ZSTD_MAGIC) {
|
|
452
|
+
throw new Error('non-zstd bytes at a frame boundary');
|
|
453
|
+
}
|
|
454
|
+
const descriptor = field(1);
|
|
455
|
+
if (descriptor.length < 1) {
|
|
456
|
+
if (!torn())
|
|
457
|
+
throw new Error('no complete zstd frame found');
|
|
458
|
+
return;
|
|
459
|
+
}
|
|
460
|
+
const d = descriptor[0];
|
|
461
|
+
const fcsFlag = d >>> 6;
|
|
462
|
+
const singleSegment = (d & 0x20) !== 0;
|
|
463
|
+
const hasChecksum = (d & 0x04) !== 0;
|
|
464
|
+
// Dictionary_ID flag: 0/1/2/3 → 0/1/2/4 bytes.
|
|
465
|
+
const dictIdBytes = (d & 0x03) === 3 ? 4 : d & 0x03;
|
|
466
|
+
// Frame_Content_Size: flag 0 → 1 byte only for single-segment frames;
|
|
467
|
+
// flags 1/2/3 → 2/4/8 bytes.
|
|
468
|
+
const fcsBytes = fcsFlag === 0 ? (singleSegment ? 1 : 0) : fcsFlag === 1 ? 2 : fcsFlag === 2 ? 4 : 8;
|
|
469
|
+
const headerBytes = (singleSegment ? 0 : 1) + dictIdBytes + fcsBytes;
|
|
470
|
+
if (field(headerBytes).length < headerBytes) {
|
|
471
|
+
if (!torn())
|
|
472
|
+
throw new Error('no complete zstd frame found');
|
|
473
|
+
return;
|
|
474
|
+
}
|
|
475
|
+
for (;;) {
|
|
476
|
+
const blockHeader = field(3);
|
|
477
|
+
if (blockHeader.length < 3) {
|
|
478
|
+
if (!torn())
|
|
479
|
+
throw new Error('no complete zstd frame found');
|
|
480
|
+
return;
|
|
481
|
+
}
|
|
482
|
+
const packed = blockHeader[0] | (blockHeader[1] << 8) | (blockHeader[2] << 16);
|
|
483
|
+
const lastBlock = (packed & 1) !== 0;
|
|
484
|
+
const blockType = (packed >>> 1) & 0x03;
|
|
485
|
+
if (blockType === 3)
|
|
486
|
+
throw new Error('reserved zstd block type');
|
|
487
|
+
// RLE blocks carry a single byte; raw/compressed carry Block_Size.
|
|
488
|
+
if (payload(blockType === 1 ? 1 : packed >>> 3) > 0) {
|
|
489
|
+
if (!torn())
|
|
490
|
+
throw new Error('no complete zstd frame found');
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
if (lastBlock)
|
|
494
|
+
break;
|
|
495
|
+
}
|
|
496
|
+
if (hasChecksum && field(4).length < 4) {
|
|
497
|
+
if (!torn())
|
|
498
|
+
throw new Error('no complete zstd frame found');
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
frames += 1;
|
|
502
|
+
yield Buffer.concat(segments);
|
|
503
|
+
segments = [];
|
|
504
|
+
frameLength = 0;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
/**
|
|
508
|
+
* Iterate the lines of a plain-text (compression:"none") log lazily. A
|
|
509
|
+
* streaming UTF-8 decoder keeps multi-byte characters intact across read
|
|
510
|
+
* chunks. An unterminated FINAL line is a torn write (a crash mid-append):
|
|
511
|
+
* the backend's own reader ignores uncommitted records, and so does this
|
|
512
|
+
* one — the tree must never show events persistence.load() would not
|
|
513
|
+
* acknowledge.
|
|
514
|
+
* @param chunks - Raw file bytes, in order.
|
|
515
|
+
* @yields Each non-empty newline-terminated line's text, in log order.
|
|
516
|
+
*/
|
|
517
|
+
function* plainLines(chunks) {
|
|
518
|
+
const decoder = new TextDecoder('utf-8');
|
|
519
|
+
let pending = '';
|
|
520
|
+
for (const chunk of chunks) {
|
|
521
|
+
pending += decoder.decode(chunk, { stream: true });
|
|
522
|
+
let idx = pending.indexOf('\n');
|
|
523
|
+
while (idx !== -1) {
|
|
524
|
+
const line = pending.slice(0, idx);
|
|
525
|
+
pending = pending.slice(idx + 1);
|
|
526
|
+
if (line.length > 0)
|
|
527
|
+
yield line;
|
|
528
|
+
idx = pending.indexOf('\n');
|
|
529
|
+
}
|
|
530
|
+
}
|
|
531
|
+
// `pending` here (plus any partial code point in the decoder) is the
|
|
532
|
+
// unterminated torn tail — dropped, not yielded.
|
|
533
|
+
}
|
|
534
|
+
/**
|
|
535
|
+
* Iterate the lines of a decoded zstd frame lazily: lines are located by
|
|
536
|
+
* indexOf as the consumer pulls, so a reader stopping at its event budget
|
|
537
|
+
* never allocates the frame's remaining line strings (a single flush can be
|
|
538
|
+
* many MB of text). A COMPLETE frame must end newline-terminated — the
|
|
539
|
+
* backend flushes whole frames, so an unterminated tail line inside one is
|
|
540
|
+
* corruption (the strict backend rejects it too), never a torn write. The
|
|
541
|
+
* check runs UP FRONT, before the first line is yielded: a budget-limited
|
|
542
|
+
* reader returning early must not skip it and misjudge a corrupt frame as
|
|
543
|
+
* merely truncated.
|
|
544
|
+
* @param text - The frame's full decoded text.
|
|
545
|
+
* @yields Each non-empty line's text, in order. Throws on a torn frame.
|
|
546
|
+
*/
|
|
547
|
+
function* frameLines(text) {
|
|
548
|
+
if (text.length > 0 && !text.endsWith('\n')) {
|
|
549
|
+
throw new Error('unterminated record inside a zstd frame');
|
|
550
|
+
}
|
|
551
|
+
let pos = 0;
|
|
552
|
+
for (;;) {
|
|
553
|
+
const nl = text.indexOf('\n', pos);
|
|
554
|
+
if (nl === -1)
|
|
555
|
+
return;
|
|
556
|
+
if (nl > pos)
|
|
557
|
+
yield text.slice(pos, nl);
|
|
558
|
+
pos = nl + 1;
|
|
559
|
+
}
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Parse one log's storage records (one JSON value per line) lazily, in log
|
|
563
|
+
* order, from whichever on-disk encoding was located. Decompression and
|
|
564
|
+
* parsing happen per frame/line as the consumer pulls, so stopping early
|
|
565
|
+
* (event budget reached) stops the I/O too — with one honest exception: a
|
|
566
|
+
* zstd FRAME is the atomic unit. The next magic (or EOF) delimits it and the
|
|
567
|
+
* whole frame is decompressed and stringified before its first line exists,
|
|
568
|
+
* so a single giant flush (a big seed write, a batched append) costs its
|
|
569
|
+
* full frame size in time and memory regardless of the budget. The budget
|
|
570
|
+
* bounds ACROSS frames; within one frame it only stops line splitting and
|
|
571
|
+
* JSON parsing early.
|
|
572
|
+
* @param fd - Open file descriptor of the log.
|
|
573
|
+
* @param compressed - Whether the log is zstd-framed (vs plain jsonl text).
|
|
574
|
+
* @yields Each line's JSON.parse result, unvalidated.
|
|
575
|
+
*/
|
|
576
|
+
function* logRecords(fd, compressed) {
|
|
577
|
+
if (compressed) {
|
|
578
|
+
for (const frame of zstdFrames(fileChunks(fd))) {
|
|
579
|
+
// maxOutputLength is the REAL resource bound: repetitive chunk deltas
|
|
580
|
+
// compress ~56×, so the compressed-byte cap alone says nothing about
|
|
581
|
+
// the text a frame inflates into. Over the limit zstd throws — the
|
|
582
|
+
// log degrades to unreadable rather than ballooning the TUI's RSS.
|
|
583
|
+
const text = zstdDecompressSync(frame, { maxOutputLength: MAX_FRAME_TEXT_BYTES }).toString('utf8');
|
|
584
|
+
for (const line of frameLines(text)) {
|
|
585
|
+
yield JSON.parse(line);
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
}
|
|
589
|
+
else {
|
|
590
|
+
for (const line of plainLines(fileChunks(fd))) {
|
|
591
|
+
yield JSON.parse(line);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Sniff a located artifact's encoding from its first bytes: zstd framing
|
|
597
|
+
* declares itself with the magic number; anything else is plain JSONL text.
|
|
598
|
+
* @param path - Candidate log path (must exist).
|
|
599
|
+
* @returns The path with its detected encoding, or undefined when unreadable.
|
|
600
|
+
*/
|
|
601
|
+
function sniffLogFile(path) {
|
|
602
|
+
let fd;
|
|
603
|
+
try {
|
|
604
|
+
fd = openSync(path, 'r');
|
|
605
|
+
const head = Buffer.alloc(4);
|
|
606
|
+
const n = readSync(fd, head, 0, 4, 0);
|
|
607
|
+
return { path, compressed: n === 4 && head.readUInt32LE(0) === ZSTD_MAGIC };
|
|
608
|
+
}
|
|
609
|
+
catch {
|
|
610
|
+
return undefined;
|
|
611
|
+
}
|
|
612
|
+
finally {
|
|
613
|
+
if (fd !== undefined) {
|
|
614
|
+
try {
|
|
615
|
+
closeSync(fd);
|
|
616
|
+
}
|
|
617
|
+
catch {
|
|
618
|
+
// A close failure leaves nothing actionable.
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
/**
|
|
624
|
+
* Resolve a `persistence.locate()` hint to a readable log. The hint may name
|
|
625
|
+
* the physical artifact directly or the backend's LOGICAL name for it (the
|
|
626
|
+
* jsonl backend's raw-artifact filename carries no encoding suffix), so the
|
|
627
|
+
* compressed twin is probed as well. Since 0.1.5 the hint names the CURRENT
|
|
628
|
+
* generation (`session.vN.jsonl[.zstd]`) without touching the filesystem —
|
|
629
|
+
* for a session never opened since its format was superseded that file does
|
|
630
|
+
* not exist yet, and the authoritative artifact is an older-generation
|
|
631
|
+
* sibling in the same directory. Encoding is sniffed from content, never
|
|
632
|
+
* inferred from the extension.
|
|
633
|
+
* @param hint - Absolute path from SessionPersistence.locate().
|
|
634
|
+
* @returns The readable log, or undefined when nothing materialized there.
|
|
635
|
+
*/
|
|
636
|
+
export function resolveLocatedPath(hint) {
|
|
637
|
+
const direct = existsSync(hint) ? sniffLogFile(hint) : undefined;
|
|
638
|
+
if (direct !== undefined)
|
|
639
|
+
return direct;
|
|
640
|
+
const twin = `${hint}.zstd`;
|
|
641
|
+
if (existsSync(twin))
|
|
642
|
+
return { path: twin, compressed: true };
|
|
643
|
+
// Generation fallback: only when the hint itself is a canonical
|
|
644
|
+
// generation name — a foreign backend's logical name must not steer a
|
|
645
|
+
// directory scan. The scan stays inside the backend's own session
|
|
646
|
+
// directory, so locate's authority over root and workspace key is kept.
|
|
647
|
+
const base = hint.slice(hint.lastIndexOf(sep) + 1);
|
|
648
|
+
const withoutSuffix = base.endsWith('.zstd') ? base.slice(0, -'.zstd'.length) : base;
|
|
649
|
+
if (!GENERATION_LOG_NAME.test(withoutSuffix))
|
|
650
|
+
return undefined;
|
|
651
|
+
return selectGenerationLog(dirname(hint), false);
|
|
652
|
+
}
|
|
653
|
+
/**
|
|
654
|
+
* Shared bounded read loop over a located log. See readSessionEventsFromLog
|
|
655
|
+
* for the contract; this is the file-level entry for backend-resolved paths.
|
|
656
|
+
* Returns undefined ONLY when the log vanished between the location scan and
|
|
657
|
+
* the open — every other failure lands in {@link SessionLogRead.failed}.
|
|
658
|
+
*/
|
|
659
|
+
function readEvents(file, maxEvents, maxScanned, skipBelowSeq) {
|
|
660
|
+
let fd;
|
|
661
|
+
try {
|
|
662
|
+
fd = openSync(file.path, 'r');
|
|
663
|
+
}
|
|
664
|
+
catch {
|
|
665
|
+
return undefined;
|
|
666
|
+
}
|
|
667
|
+
let scanned = 0;
|
|
668
|
+
let formatVersion;
|
|
669
|
+
const events = [];
|
|
670
|
+
const result = (complete, failed) => ({ events, complete, scanned, formatVersion, ...(failed ? { failed } : {}) });
|
|
671
|
+
try {
|
|
672
|
+
for (const record of logRecords(fd, file.compressed)) {
|
|
673
|
+
if (scanned === 0 && isRecordValue(record) && record['type'] === 'session' && Number.isSafeInteger(record['version'])) {
|
|
674
|
+
formatVersion = record['version'];
|
|
675
|
+
}
|
|
676
|
+
for (const event of decodeStorageRecord(record)) {
|
|
677
|
+
// The SCAN budget bounds the real cost drivers — I/O, decompression,
|
|
678
|
+
// JSON.parse — which are paid for EVERY envelope, collected or not.
|
|
679
|
+
// Without it, a log carrying hundreds of thousands of skipped rows
|
|
680
|
+
// (ignorable-marked activity frames) forces a full parse just
|
|
681
|
+
// to collect a handful of events, blocking the TUI on panel open.
|
|
682
|
+
scanned += 1;
|
|
683
|
+
if (scanned > maxScanned)
|
|
684
|
+
return result(false);
|
|
685
|
+
const envelope = event;
|
|
686
|
+
if (typeof envelope['seq'] !== 'number' || envelope['ignorable'] === true)
|
|
687
|
+
continue;
|
|
688
|
+
// Inherited-prefix skip (session-tree dedup): seqs an ancestor
|
|
689
|
+
// already shows are not collected. They still cost the scan budget
|
|
690
|
+
// (their bytes were read and parsed), but NOT the event budget — a
|
|
691
|
+
// fork of a huge parent is charged only for its OWN events, so two
|
|
692
|
+
// small forks of a 70k-event parent both stay visible. Titles still
|
|
693
|
+
// collect below the cutoff: branch-head labels need them and they
|
|
694
|
+
// never extract into entries.
|
|
695
|
+
if (envelope['seq'] < skipBelowSeq && envelope['type'] !== 'session/title')
|
|
696
|
+
continue;
|
|
697
|
+
// Budget check BEFORE the push: an exact-fit log reports complete,
|
|
698
|
+
// and only a surviving (maxEvents+1)-th event marks truncation.
|
|
699
|
+
if (events.length >= maxEvents)
|
|
700
|
+
return result(false);
|
|
701
|
+
events.push(event);
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
return result(true);
|
|
705
|
+
}
|
|
706
|
+
catch {
|
|
707
|
+
// An EXISTING but undecodable log (corruption, over-cap frame, decode
|
|
708
|
+
// bomb): fail closed — never silently empty, never eligible for an
|
|
709
|
+
// unbounded fallback re-read.
|
|
710
|
+
return result(false, true);
|
|
711
|
+
}
|
|
712
|
+
finally {
|
|
713
|
+
try {
|
|
714
|
+
closeSync(fd);
|
|
715
|
+
}
|
|
716
|
+
catch {
|
|
717
|
+
// A close failure leaves nothing actionable — the read already ended.
|
|
718
|
+
}
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
/**
|
|
722
|
+
* Default scan budget derived from the event budget: 4× headroom over the
|
|
723
|
+
* collectible events (legitimate logs interleave a modest share of skipped
|
|
724
|
+
* rows — headers, repair-marked ignorable frames), plus a floor so even a
|
|
725
|
+
* tiny `maxEvents` tolerates a noisy prefix. Unbounded reads stay unbounded.
|
|
726
|
+
*/
|
|
727
|
+
export function defaultMaxScanned(maxEvents) {
|
|
728
|
+
return Number.isFinite(maxEvents) ? maxEvents * 4 + 4096 : Number.POSITIVE_INFINITY;
|
|
729
|
+
}
|
|
730
|
+
/**
|
|
731
|
+
* File-level sibling of {@link readSessionEventsFromLog} for paths resolved
|
|
732
|
+
* by the backend itself (`persistence.locate`) — covers a custom-configured
|
|
733
|
+
* root that none of the stock sessionsRoots() candidates describes.
|
|
734
|
+
* @param path - Absolute artifact path (physical or logical name).
|
|
735
|
+
* @param maxEvents - Stop before collecting more than this many events.
|
|
736
|
+
* @param maxScanned - Stop after INSPECTING this many envelopes, collected
|
|
737
|
+
* or skipped (default: {@link defaultMaxScanned} of maxEvents).
|
|
738
|
+
* @param skipBelowSeq - Inherited-prefix cutoff (session-tree dedup):
|
|
739
|
+
* seq'd events below it are skipped without spending the event budget —
|
|
740
|
+
* they still count against maxScanned. `session/title` events are always
|
|
741
|
+
* collected (branch-head labels need them; they never become entries).
|
|
742
|
+
* @returns The read outcome, or undefined ONLY when nothing materialized at
|
|
743
|
+
* the path — an existing-but-undecodable log reports `failed: true`.
|
|
744
|
+
*/
|
|
745
|
+
export function readSessionEventsFromFile(path, maxEvents = Number.POSITIVE_INFINITY, maxScanned = defaultMaxScanned(maxEvents), skipBelowSeq = 0) {
|
|
746
|
+
const file = resolveLocatedPath(path);
|
|
747
|
+
if (file === undefined)
|
|
748
|
+
return undefined;
|
|
749
|
+
return readEvents(file, maxEvents, maxScanned, skipBelowSeq);
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Read a session's events from its persisted log — tolerant, read-only, and
|
|
753
|
+
* cost-bounded. Built for the session tree (buildSessionTree), whose browse
|
|
754
|
+
* must satisfy three constraints the strict backend read cannot:
|
|
755
|
+
*
|
|
756
|
+
* - READ-ONLY: the strict backend read (`persistence.inspect` on pre-0.1.5
|
|
757
|
+
* hosts, the validated `handle.read` path since) rejects logs carrying
|
|
758
|
+
* third-party event types (working-activity's `activity/status`), and
|
|
759
|
+
* the resume seam's answer (in-process type registration, issue #153)
|
|
760
|
+
* must not be inverted here: opening a picker never rewrites a history
|
|
761
|
+
* log. This reader never writes; unknown types are simply passed through
|
|
762
|
+
* (extractEntries skips what it does not know).
|
|
763
|
+
* - TOLERANT: envelope-shape or decode anomalies degrade to
|
|
764
|
+
* `failed: true` (a structure-only tree node) instead of rejecting the
|
|
765
|
+
* whole log — and a torn FINAL zstd frame (crash mid-flush) is dropped
|
|
766
|
+
* as uncommitted, keeping the frames before it readable.
|
|
767
|
+
* - BOUNDED: the file is read in 64 KiB slices and frames decode lazily,
|
|
768
|
+
* stopping the moment `maxEvents` events have been collected — a
|
|
769
|
+
* 200k-event log costs budget × per-event work, not a whole-file read +
|
|
770
|
+
* decompress + parse. `complete: false` marks the early stop (the caller
|
|
771
|
+
* surfaces it as `truncated`). One honest exception: a single zstd FRAME
|
|
772
|
+
* is the atomic unit (see logRecords) — the budget bounds work ACROSS
|
|
773
|
+
* frames, never inside one giant flush.
|
|
774
|
+
*
|
|
775
|
+
* Packed rows are expanded with the backend's own `decodeStorageRecord`:
|
|
776
|
+
* the packChunks writer folds each run of same-block delta chunks into ONE
|
|
777
|
+
* `text-chunks`/`reasoning-chunks`/`tool-call-chunks` line (the default —
|
|
778
|
+
* the finding that motivated this reader's third revision), so a line is a
|
|
779
|
+
* storage record, not an event, and seq-less rows must not be dropped as if
|
|
780
|
+
* they were headers. The budget counts EXPANDED events, matching the tree's
|
|
781
|
+
* per-event cost. Malformed packed rows throw inside decodeStorageRecord —
|
|
782
|
+
* corrupt storage degrades to `undefined`, never to silently dropped runs.
|
|
783
|
+
*
|
|
784
|
+
* Torn-tail semantics mirror the backend's own reader: a plain log's
|
|
785
|
+
* unterminated final line (crash mid-append) is uncommitted data and
|
|
786
|
+
* ignored, while an unterminated record INSIDE a complete zstd frame is
|
|
787
|
+
* corruption and fails the read.
|
|
788
|
+
*
|
|
789
|
+
* Envelopes with `ignorable: true` are skipped (the read path's own skip
|
|
790
|
+
* signal) and the seq-less header row is metadata, not an event. Skipped
|
|
791
|
+
* envelopes still count against the SCAN budget (maxScanned): skipping is
|
|
792
|
+
* not free — the I/O, decompress and JSON.parse for them have already been
|
|
793
|
+
* paid — so an ignorable-heavy log cannot bypass the cost bound by keeping
|
|
794
|
+
* its collectible count low. Never throws; returns undefined ONLY when the
|
|
795
|
+
* log is absent — an existing-but-undecodable log returns `failed: true`
|
|
796
|
+
* so the caller degrades to a placeholder instead of escalating to an
|
|
797
|
+
* unbounded strict re-read.
|
|
798
|
+
* @param sessionId - Session whose log should be read.
|
|
799
|
+
* @param maxEvents - Stop before collecting more than this many events
|
|
800
|
+
* (default: unbounded). 0 collects nothing and reports complete: false
|
|
801
|
+
* whenever the log holds any collectible event.
|
|
802
|
+
* @param maxScanned - Stop after INSPECTING this many envelopes, collected
|
|
803
|
+
* or skipped (default: 4× maxEvents + 4096; unbounded when maxEvents is).
|
|
804
|
+
* @param skipBelowSeq - Inherited-prefix cutoff (session-tree dedup):
|
|
805
|
+
* seq'd events below it are skipped without spending the event budget —
|
|
806
|
+
* they still count against maxScanned. `session/title` events are always
|
|
807
|
+
* collected (branch-head labels need them; they never become entries).
|
|
808
|
+
* @returns The read outcome — events, completeness, real scan cost, and a
|
|
809
|
+
* `failed` marker for safety-cap/corruption bailouts.
|
|
810
|
+
*/
|
|
811
|
+
export function readSessionEventsFromLog(sessionId, maxEvents = Number.POSITIVE_INFINITY, maxScanned = defaultMaxScanned(maxEvents), skipBelowSeq = 0) {
|
|
812
|
+
const file = findSessionLogFileAnyEncoding(sessionId);
|
|
813
|
+
if (file === undefined)
|
|
814
|
+
return undefined;
|
|
815
|
+
return readEvents(file, maxEvents, maxScanned, skipBelowSeq);
|
|
816
|
+
}
|
|
817
|
+
function seedLengthOfPhysicalHeader(record) {
|
|
818
|
+
if (record === null || typeof record !== 'object' || Array.isArray(record))
|
|
819
|
+
return undefined;
|
|
820
|
+
const rec = record;
|
|
821
|
+
if (rec['type'] !== 'session')
|
|
822
|
+
return undefined;
|
|
823
|
+
const seed = rec['seedLength'];
|
|
824
|
+
if (typeof seed === 'number' && Number.isSafeInteger(seed) && seed >= 0 && !Object.is(seed, -0))
|
|
825
|
+
return seed;
|
|
826
|
+
return undefined;
|
|
827
|
+
}
|
|
828
|
+
/** The header's `isSeeded` flag (V2/V3 headers carry it instead of `seedLength`). */
|
|
829
|
+
function isSeededPhysicalHeader(record) {
|
|
830
|
+
if (record === null || typeof record !== 'object' || Array.isArray(record))
|
|
831
|
+
return false;
|
|
832
|
+
const rec = record;
|
|
833
|
+
return rec['type'] === 'session' && rec['isSeeded'] === true;
|
|
834
|
+
}
|
|
835
|
+
/**
|
|
836
|
+
* The inherited cut recorded by a `session/end-seed` marker: seq of the last
|
|
837
|
+
* marker whose data carries `inherited: true` (the V2/V3 contract — the
|
|
838
|
+
* marker closes the inherited prefix, so its seq IS the prefix length).
|
|
839
|
+
*/
|
|
840
|
+
function inheritedMarkerCut(record) {
|
|
841
|
+
if (record === null || typeof record !== 'object' || Array.isArray(record))
|
|
842
|
+
return undefined;
|
|
843
|
+
const rec = record;
|
|
844
|
+
if (rec['type'] !== 'session/end-seed')
|
|
845
|
+
return undefined;
|
|
846
|
+
const data = rec['data'];
|
|
847
|
+
if (data === null || typeof data !== 'object' || data['inherited'] !== true) {
|
|
848
|
+
return undefined;
|
|
849
|
+
}
|
|
850
|
+
const seq = rec['seq'];
|
|
851
|
+
if (typeof seq === 'number' && Number.isSafeInteger(seq) && seq >= 0 && !Object.is(seq, -0))
|
|
852
|
+
return seq;
|
|
853
|
+
return undefined;
|
|
854
|
+
}
|
|
855
|
+
/**
|
|
856
|
+
* Envelope ceiling for the seeded-header marker scan: a fork's marker closes
|
|
857
|
+
* its inherited prefix, but earlier markers can belong to an ancestor. Scan
|
|
858
|
+
* the log to find the last one, bounded so a huge log degrades to "cut unknown"
|
|
859
|
+
* (the tree detaches the parent edge) instead of an unbounded read.
|
|
860
|
+
*/
|
|
861
|
+
const INHERITED_CUT_SCAN_LIMIT = 2_000_000;
|
|
862
|
+
/**
|
|
863
|
+
* Read the exact inherited-prefix length from a log. Pre-V2 physical headers
|
|
864
|
+
* carry it as `seedLength` on the first line; V2/V3 headers only have
|
|
865
|
+
* `isSeeded`, and the cut is the seq of the `session/end-seed` marker event
|
|
866
|
+
* stamped with `inherited: true` — scanned for, bounded, only when the
|
|
867
|
+
* header says the session is seeded. Logical list headers never carry the
|
|
868
|
+
* cut on any generation. Never guesses from snapshot length, and an
|
|
869
|
+
* unseeded or marker-less log reports undefined (no cut to report).
|
|
870
|
+
*/
|
|
871
|
+
export function readPhysicalHeaderSeedLength(path) {
|
|
872
|
+
const file = resolveLocatedPath(path);
|
|
873
|
+
if (file === undefined)
|
|
874
|
+
return undefined;
|
|
875
|
+
let fd;
|
|
876
|
+
try {
|
|
877
|
+
fd = openSync(file.path, 'r');
|
|
878
|
+
let first = true;
|
|
879
|
+
let seeded = false;
|
|
880
|
+
let scanned = 0;
|
|
881
|
+
let inheritedCut;
|
|
882
|
+
for (const record of logRecords(fd, file.compressed)) {
|
|
883
|
+
if (first) {
|
|
884
|
+
first = false;
|
|
885
|
+
const seed = seedLengthOfPhysicalHeader(record);
|
|
886
|
+
if (seed !== undefined)
|
|
887
|
+
return seed;
|
|
888
|
+
if (!isSeededPhysicalHeader(record))
|
|
889
|
+
return undefined;
|
|
890
|
+
seeded = true;
|
|
891
|
+
continue;
|
|
892
|
+
}
|
|
893
|
+
if (!seeded)
|
|
894
|
+
return undefined;
|
|
895
|
+
scanned += 1;
|
|
896
|
+
if (scanned > INHERITED_CUT_SCAN_LIMIT)
|
|
897
|
+
return undefined;
|
|
898
|
+
const cut = inheritedMarkerCut(record);
|
|
899
|
+
if (cut !== undefined)
|
|
900
|
+
inheritedCut = cut;
|
|
901
|
+
}
|
|
902
|
+
return inheritedCut;
|
|
903
|
+
}
|
|
904
|
+
catch {
|
|
905
|
+
return undefined;
|
|
906
|
+
}
|
|
907
|
+
finally {
|
|
908
|
+
if (fd !== undefined) {
|
|
909
|
+
try {
|
|
910
|
+
closeSync(fd);
|
|
911
|
+
}
|
|
912
|
+
catch {
|
|
913
|
+
// A close failure leaves nothing actionable.
|
|
914
|
+
}
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
/** Locate a session log by id and read its inherited-prefix cut. */
|
|
919
|
+
export function readPhysicalHeaderSeedLengthForSession(sessionId) {
|
|
920
|
+
const file = findSessionLogFileAnyEncoding(sessionId);
|
|
921
|
+
if (file === undefined)
|
|
922
|
+
return undefined;
|
|
923
|
+
return readPhysicalHeaderSeedLength(file.path);
|
|
924
|
+
}
|
|
925
|
+
/**
|
|
926
|
+
* Decode a (possibly multi-frame) zstd jsonl log. Frames are split by magic
|
|
927
|
+
* scan; any frame failing to decode or any line failing to parse throws, so
|
|
928
|
+
* callers abort instead of acting on a log they did not fully understand.
|
|
929
|
+
* @param buf - Raw file bytes.
|
|
930
|
+
* @returns Parsed event envelopes, in log order.
|
|
931
|
+
*/
|
|
932
|
+
function decodeEvents(buf) {
|
|
933
|
+
const offsets = [];
|
|
934
|
+
for (let i = 0; i + 4 <= buf.length; i++) {
|
|
935
|
+
if (buf.readUInt32LE(i) === ZSTD_MAGIC)
|
|
936
|
+
offsets.push(i);
|
|
937
|
+
}
|
|
938
|
+
if (offsets.length === 0)
|
|
939
|
+
throw new Error('no zstd frame found');
|
|
940
|
+
return offsets.flatMap((start, i) => {
|
|
941
|
+
const end = i + 1 < offsets.length ? offsets[i + 1] : buf.length;
|
|
942
|
+
const text = zstdDecompressSync(buf.subarray(start, end)).toString('utf8');
|
|
943
|
+
return text
|
|
944
|
+
.split('\n')
|
|
945
|
+
.filter((line) => line.length > 0)
|
|
946
|
+
.map((line) => {
|
|
947
|
+
const parsed = JSON.parse(line);
|
|
948
|
+
if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
|
|
949
|
+
throw new Error('session log line is not an event envelope');
|
|
950
|
+
}
|
|
951
|
+
return parsed;
|
|
952
|
+
});
|
|
953
|
+
});
|
|
954
|
+
}
|
|
955
|
+
/**
|
|
956
|
+
* Register every {@link LEGACY_SESSION_EVENT_TYPES} type as known in EVERY
|
|
957
|
+
* reachable KNOWN_SESSION_EVENT_TYPES copy, ahead of the strict read path
|
|
958
|
+
* (`agents.resume` seed validation, `persistence.load`). Idempotent; never
|
|
959
|
+
* throws.
|
|
960
|
+
*
|
|
961
|
+
* Why a walk instead of a single import: a runtime can load dsh-session
|
|
962
|
+
* more than once (CLI tree vs profile tree, version overlap during
|
|
963
|
+
* upgrades, pnpm peer-context splits), and the strict validator — which
|
|
964
|
+
* lives in the dsh-session-persistence package — consults only ITS OWN
|
|
965
|
+
* tree's copy. Registering through one import leaves the other trees'
|
|
966
|
+
* copies untouched. So from EACH base anchor (this module = the dsh-tui
|
|
967
|
+
* tree, the process entry point = the launcher/CLI tree) the walk
|
|
968
|
+
* registers the tree's own dsh-session AND steps one edge further:
|
|
969
|
+
* resolve the validator package from that same tree, then register the
|
|
970
|
+
* dsh-session copy the validator's entry resolves. A branch that cannot
|
|
971
|
+
* be resolved simply is not there; resolved module paths are deduped.
|
|
972
|
+
*/
|
|
973
|
+
export function ensureLegacySessionEventTypes() {
|
|
974
|
+
const roots = [import.meta.url, process.argv[1]].filter((anchor) => typeof anchor === 'string' && anchor.length > 0);
|
|
975
|
+
const visitedAnchors = new Set();
|
|
976
|
+
const registeredCopies = new Set();
|
|
977
|
+
const walk = (anchor) => {
|
|
978
|
+
if (visitedAnchors.has(anchor))
|
|
979
|
+
return;
|
|
980
|
+
visitedAnchors.add(anchor);
|
|
981
|
+
let req;
|
|
982
|
+
try {
|
|
983
|
+
req = createRequire(anchor);
|
|
984
|
+
}
|
|
985
|
+
catch {
|
|
986
|
+
return;
|
|
987
|
+
}
|
|
988
|
+
try {
|
|
989
|
+
const copy = req.resolve('@deepseek-ai/dsh-session');
|
|
990
|
+
if (!registeredCopies.has(copy)) {
|
|
991
|
+
registeredCopies.add(copy);
|
|
992
|
+
const mod = req(copy);
|
|
993
|
+
for (const type of LEGACY_SESSION_EVENT_TYPES) {
|
|
994
|
+
mod.KNOWN_SESSION_EVENT_TYPES?.add(type);
|
|
995
|
+
}
|
|
996
|
+
}
|
|
997
|
+
}
|
|
998
|
+
catch {
|
|
999
|
+
// No resolvable dsh-session copy from this anchor — nothing here.
|
|
1000
|
+
}
|
|
1001
|
+
try {
|
|
1002
|
+
walk(req.resolve('@deepseek-ai/dsh-session-persistence'));
|
|
1003
|
+
}
|
|
1004
|
+
catch {
|
|
1005
|
+
// Validator package not reachable from this tree — nothing to cover.
|
|
1006
|
+
}
|
|
1007
|
+
};
|
|
1008
|
+
for (const root of roots)
|
|
1009
|
+
walk(root);
|
|
1010
|
+
}
|
|
1011
|
+
/**
|
|
1012
|
+
* Read a session's display title from its persisted log, tolerantly.
|
|
1013
|
+
*
|
|
1014
|
+
* Why not `persistence.load()`: the backend validates every event against
|
|
1015
|
+
* KNOWN_SESSION_EVENT_TYPES and throws the WHOLE load when a third-party
|
|
1016
|
+
* plugin wrote an unmarked unknown type. A picker label is
|
|
1017
|
+
* read-only UI state: decoding frames directly here keeps titles working
|
|
1018
|
+
* for logs the strict path refuses, now and for future plugin event types.
|
|
1019
|
+
*
|
|
1020
|
+
* Title precedence: the LAST `session/title` event wins (a /rename append
|
|
1021
|
+
* overrides the first-prompt auto title), falling back to the first user
|
|
1022
|
+
* message text. `hasUserMessage` drives the picker's launch-artifact filter.
|
|
1023
|
+
* @param sessionId - Session whose log should be read.
|
|
1024
|
+
* @returns The title info, or undefined when the log is absent/undecodable.
|
|
1025
|
+
*/
|
|
1026
|
+
export function readSessionTitleFromLog(sessionId) {
|
|
1027
|
+
try {
|
|
1028
|
+
const file = findSessionLogFile(sessionId);
|
|
1029
|
+
if (file === undefined)
|
|
1030
|
+
return undefined;
|
|
1031
|
+
const events = decodeEvents(readFileSync(file));
|
|
1032
|
+
let titled;
|
|
1033
|
+
let firstUser;
|
|
1034
|
+
let hasUserMessage = false;
|
|
1035
|
+
for (const event of events) {
|
|
1036
|
+
if (event['type'] === 'session/title') {
|
|
1037
|
+
const title = event['data']?.['title'];
|
|
1038
|
+
if (typeof title === 'string' && title.trim().length > 0)
|
|
1039
|
+
titled = title;
|
|
1040
|
+
}
|
|
1041
|
+
else if (event['type'] === 'user/message') {
|
|
1042
|
+
hasUserMessage = true;
|
|
1043
|
+
if (firstUser === undefined) {
|
|
1044
|
+
firstUser = firstTextOfContent(event['data']?.['content']);
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
}
|
|
1048
|
+
return { title: titled ?? firstUser, hasUserMessage };
|
|
1049
|
+
}
|
|
1050
|
+
catch {
|
|
1051
|
+
return undefined;
|
|
1052
|
+
}
|
|
1053
|
+
}
|
|
1054
|
+
/**
|
|
1055
|
+
* Extract the first text block from a user/message `content` payload.
|
|
1056
|
+
* Content is normally a block array; a bare string is accepted defensively.
|
|
1057
|
+
* @param content - The event's content field.
|
|
1058
|
+
* @returns The trimmed text, or undefined when no text block exists.
|
|
1059
|
+
*/
|
|
1060
|
+
function firstTextOfContent(content) {
|
|
1061
|
+
if (typeof content === 'string')
|
|
1062
|
+
return content.trim() || undefined;
|
|
1063
|
+
if (!Array.isArray(content))
|
|
1064
|
+
return undefined;
|
|
1065
|
+
for (const block of content) {
|
|
1066
|
+
if (block !== null &&
|
|
1067
|
+
typeof block === 'object' &&
|
|
1068
|
+
block.type === 'text' &&
|
|
1069
|
+
typeof block.text === 'string') {
|
|
1070
|
+
const text = (block.text).trim();
|
|
1071
|
+
if (text.length > 0)
|
|
1072
|
+
return text;
|
|
1073
|
+
}
|
|
1074
|
+
}
|
|
1075
|
+
return undefined;
|
|
1076
|
+
}
|
|
1077
|
+
/**
|
|
1078
|
+
* Payload of an explicit user rename — the shape upstream
|
|
1079
|
+
* `SessionTitleService.rename()` writes. The strict reader requires BOTH
|
|
1080
|
+
* fields on every `session/title` event: `messageSeqs` must be an array, and
|
|
1081
|
+
* empty exactly when the user supplied the title (`source.kind === 'user'`).
|
|
1082
|
+
* A `{ title }`-only payload makes the whole log unopenable
|
|
1083
|
+
* (`title messageSeqs requires an array`, issue #1006). The live `/rename`
|
|
1084
|
+
* and this module's offline append share this builder so the two writers
|
|
1085
|
+
* cannot drift apart again.
|
|
1086
|
+
* @param title - New display title (already trimmed by the caller).
|
|
1087
|
+
*/
|
|
1088
|
+
export function userTitleData(title) {
|
|
1089
|
+
return { title, messageSeqs: [], source: { kind: 'user' } };
|
|
1090
|
+
}
|
|
1091
|
+
/**
|
|
1092
|
+
* Append a `session/title` event to a persisted session's log — the
|
|
1093
|
+
* `/resume` picker rename for a NON-LIVE session (the live one goes through
|
|
1094
|
+
* `session.append` in the channel). The backend flushes by appending zstd
|
|
1095
|
+
* frames, so the new event lands as one more frame: existing bytes stay
|
|
1096
|
+
* untouched (the frame-0 header invariant holds), and `last title wins` in
|
|
1097
|
+
* {@link readSessionTitleFromLog} surfaces the new name. The seq continues
|
|
1098
|
+
* the log's contiguity contract (seq = event count) by taking maxSeq + 1.
|
|
1099
|
+
* The frame is APPEND-ONLY (O_APPEND), matching the backend's own flush
|
|
1100
|
+
* discipline: this store is shared with dsh web (#24), and a
|
|
1101
|
+
* read-concat-rewrite (tmp + rename) would silently drop a frame another
|
|
1102
|
+
* writer lands between our read and replace. A single append never rewrites
|
|
1103
|
+
* existing bytes, so concurrent frames all survive; the worst remaining
|
|
1104
|
+
* race is a duplicate seq when the maxSeq read above passes another
|
|
1105
|
+
* appender — benign next to lost frames, since last-title-wins keeps the
|
|
1106
|
+
* rename semantics. Never throws.
|
|
1107
|
+
* @param sessionId - Session to rename.
|
|
1108
|
+
* @param title - New display title (already trimmed by the caller).
|
|
1109
|
+
* @returns 'appended', or 'unavailable' when the log is absent/undecodable.
|
|
1110
|
+
*/
|
|
1111
|
+
export function appendSessionTitle(sessionId, title) {
|
|
1112
|
+
try {
|
|
1113
|
+
const file = findSessionLogFile(sessionId);
|
|
1114
|
+
if (file === undefined)
|
|
1115
|
+
return 'unavailable';
|
|
1116
|
+
const events = decodeEvents(readFileSync(file));
|
|
1117
|
+
let maxSeq = -1;
|
|
1118
|
+
for (const event of events) {
|
|
1119
|
+
const seq = event['seq'];
|
|
1120
|
+
if (typeof seq === 'number' && seq > maxSeq)
|
|
1121
|
+
maxSeq = seq;
|
|
1122
|
+
}
|
|
1123
|
+
// Same payload a manual /rename appends ({@link userTitleData}); the
|
|
1124
|
+
// strict reader validates the SHAPE of every event, not just the
|
|
1125
|
+
// envelope keys the seed validator asks for.
|
|
1126
|
+
const event = {
|
|
1127
|
+
type: 'session/title',
|
|
1128
|
+
seq: maxSeq + 1,
|
|
1129
|
+
time: Date.now(),
|
|
1130
|
+
data: userTitleData(title),
|
|
1131
|
+
};
|
|
1132
|
+
const frame = zstdCompressSync(Buffer.from(JSON.stringify(event) + '\n', 'utf8'));
|
|
1133
|
+
appendFileSync(file, frame);
|
|
1134
|
+
return 'appended';
|
|
1135
|
+
}
|
|
1136
|
+
catch {
|
|
1137
|
+
return 'unavailable';
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
1140
|
+
/**
|
|
1141
|
+
* Delete a persisted session's log directory (`<root>/<workspace>/<id>/`),
|
|
1142
|
+
* the `/resume` picker delete. The directory holds only session.jsonl.zstd
|
|
1143
|
+
* today; removing it whole keeps future sidecar files from orphaning. The
|
|
1144
|
+
* backend's list() materializes entries from these logs, so the session
|
|
1145
|
+
* drops out of the picker on the next refresh. Never throws.
|
|
1146
|
+
* @param sessionId - Session to delete (must not be the live session).
|
|
1147
|
+
* @returns 'deleted', or 'unavailable' when the log is absent.
|
|
1148
|
+
*/
|
|
1149
|
+
export function deleteSessionLog(sessionId) {
|
|
1150
|
+
try {
|
|
1151
|
+
const file = findSessionLogFile(sessionId);
|
|
1152
|
+
if (file === undefined)
|
|
1153
|
+
return 'unavailable';
|
|
1154
|
+
const dir = dirname(file);
|
|
1155
|
+
// Containment must hold after resolving symlinks, not just lexically:
|
|
1156
|
+
// a symlinked workspace directory (<root>/<ws -> /outside>/<id>) would
|
|
1157
|
+
// steer the recursive rm outside the sessions root even with a clean
|
|
1158
|
+
// whitelisted id. realpath BOTH sides — the root itself may legitimately
|
|
1159
|
+
// live behind a symlink (macOS /tmp -> /private/tmp).
|
|
1160
|
+
const realDir = realpathSync(dir);
|
|
1161
|
+
const contained = sessionsRoots().some(root => {
|
|
1162
|
+
try {
|
|
1163
|
+
return realDir.startsWith(realpathSync(root) + sep);
|
|
1164
|
+
}
|
|
1165
|
+
catch {
|
|
1166
|
+
return false;
|
|
1167
|
+
}
|
|
1168
|
+
});
|
|
1169
|
+
if (!contained)
|
|
1170
|
+
return 'unavailable';
|
|
1171
|
+
rmSync(dir, { recursive: true, force: true });
|
|
1172
|
+
return 'deleted';
|
|
1173
|
+
}
|
|
1174
|
+
catch {
|
|
1175
|
+
return 'unavailable';
|
|
1176
|
+
}
|
|
1177
|
+
}
|