@timurproko/a1 0.2.7-dev.1249 → 0.2.7-dev.1255
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -36
- package/bin/cli.js +2 -17
- package/bin/ui.js +10 -51
- package/dist/app/session-shell/clipboard-diagnostics.d.ts +2 -2
- package/dist/app/session-shell/clipboard-image.d.ts +0 -1
- package/dist/app/session-shell/clipboard-image.js +1 -1
- package/dist/app/session-shell/dialog-coordinator.d.ts +6 -5
- package/dist/app/session-shell/dialog-coordinator.js +3 -4
- package/dist/app/session-shell/dock-chrome.d.ts +11 -6
- package/dist/app/session-shell/dock-chrome.js +5 -8
- package/dist/app/session-shell/editor-hyperlink-budget.d.ts +0 -2
- package/dist/app/session-shell/editor-hyperlink-budget.js +1 -1
- package/dist/app/session-shell/exit-notice.d.ts +3 -3
- package/dist/app/session-shell/exit-notice.js +10 -10
- package/dist/app/session-shell/extension-surface.d.ts +8 -7
- package/dist/app/session-shell/helper-pool.d.ts +3 -4
- package/dist/app/session-shell/helper-pool.js +1 -1
- package/dist/app/session-shell/image-preparation-client.d.ts +4 -3
- package/dist/app/session-shell/image-preparation.d.ts +0 -2
- package/dist/app/session-shell/image-preparation.js +2 -2
- package/dist/app/session-shell/image-source.d.ts +2 -3
- package/dist/app/session-shell/image-source.js +2 -2
- package/dist/app/session-shell/input-surface-switch.d.ts +9 -7
- package/dist/app/session-shell/input-surface-switch.js +1 -2
- package/dist/app/session-shell/login-interaction.d.ts +5 -4
- package/dist/app/session-shell/login-interaction.js +2 -3
- package/dist/app/session-shell/paste-executor.d.ts +4 -8
- package/dist/app/session-shell/paste-executor.js +2 -2
- package/dist/app/session-shell/paste-protocol.d.ts +2 -2
- package/dist/app/session-shell/path-chip-presentation.d.ts +0 -5
- package/dist/app/session-shell/path-chip-presentation.js +3 -3
- package/dist/app/session-shell/prompt-chips.d.ts +8 -7
- package/dist/app/session-shell/prompt-history-controller.d.ts +3 -3
- package/dist/app/session-shell/prompt-submission.d.ts +7 -6
- package/dist/app/session-shell/prompt-submission.js +7 -28
- package/dist/app/session-shell/quit-outro-effects.d.ts +3 -3
- package/dist/app/session-shell/quit-outro-effects.js +1 -4
- package/dist/app/session-shell/quit-outro.d.ts +9 -12
- package/dist/app/session-shell/quit-outro.js +11 -11
- package/dist/app/session-shell/response-copy-protocol.d.ts +3 -2
- package/dist/app/session-shell/response-copy-transport.d.ts +2 -14
- package/dist/app/session-shell/response-copy-transport.js +2 -3
- package/dist/app/session-shell/session-lifecycle.d.ts +3 -3
- package/dist/app/session-shell/session-lifecycle.js +2 -4
- package/dist/app/session-shell/session-shell-root.d.ts +74 -120
- package/dist/app/session-shell/session-shell-root.js +82 -115
- package/dist/app/session-shell/session-shell.d.ts +13 -16
- package/dist/app/session-shell/session-shell.js +149 -314
- package/dist/app/session-shell/session-viewport-controller.d.ts +7 -6
- package/dist/app/session-shell/session-viewport-controller.js +5 -8
- package/dist/app/session-shell/settings-bindings.d.ts +24 -2
- package/dist/app/session-shell/settings-bindings.js +24 -0
- package/dist/app/session-shell/share-operation.d.ts +3 -3
- package/dist/app/session-shell/share-operation.js +4 -6
- package/dist/app/session-shell/shell-clipboard.d.ts +59 -0
- package/dist/app/session-shell/shell-clipboard.js +119 -0
- package/dist/app/session-shell/shell-editor-factory.d.ts +8 -4
- package/dist/app/session-shell/shell-editor-factory.js +13 -15
- package/dist/app/session-shell/shell-host.d.ts +16 -17
- package/dist/app/session-shell/shell-host.js +20 -37
- package/dist/app/session-shell/shell-layout.d.ts +2 -2
- package/dist/app/session-shell/shell-prompt-suggestions.d.ts +26 -0
- package/dist/app/session-shell/shell-prompt-suggestions.js +48 -0
- package/dist/app/session-shell/suggestion-surface.d.ts +1 -6
- package/dist/app/session-shell/suggestion-surface.js +1 -1
- package/dist/app/session-shell/system-clipboard.d.ts +2 -14
- package/dist/app/session-shell/system-clipboard.js +2 -7
- package/dist/app/session-shell/transcript-document.d.ts +12 -10
- package/dist/app/session-shell/transcript-document.js +15 -41
- package/dist/app/session-shell/viewport-layout.d.ts +2 -2
- package/dist/app/session-shell/workflow-output.d.ts +5 -3
- package/dist/app/session-shell/workflow-output.js +13 -15
- package/dist/app/session-shell/workflow-router.d.ts +1 -3
- package/dist/app/session-shell/workflow-router.js +1 -4
- package/dist/cli/dispatch.d.ts +1 -11
- package/dist/cli/dispatch.js +5 -92
- package/dist/cli/package-messages.d.ts +0 -1
- package/dist/cli/package-messages.js +1 -1
- package/dist/cli/session-context.d.ts +1 -1
- package/dist/cli/session-context.js +5 -7
- package/dist/cli/uninstall.d.ts +4 -7
- package/dist/cli/uninstall.js +6 -35
- package/dist/cli/version-stats.js +4 -7
- package/dist/composition/owned-settings.d.ts +2 -2
- package/dist/composition/owned-settings.js +0 -4
- package/dist/composition/owned-ui.d.ts +3 -25
- package/dist/composition/owned-ui.js +37 -113
- package/dist/composition/reference-selection-options.d.ts +1 -1
- package/dist/composition/reference-selection-options.js +1 -1
- package/dist/composition/release-update-observation.d.ts +4 -4
- package/dist/composition/release-update-observation.js +17 -47
- package/dist/composition/session-backend.d.ts +0 -1
- package/dist/composition/session-runtime-registry.d.ts +5 -4
- package/dist/composition/settings-route-host.d.ts +0 -7
- package/dist/composition/settings-route-host.js +7 -20
- package/dist/composition/settings-search-input.d.ts +2 -1
- package/dist/composition/startup-route.d.ts +2 -3
- package/dist/composition/startup-route.js +2 -3
- package/dist/contracts/owned-ui/extension-ui.d.ts +2 -1
- package/dist/contracts/owned-ui/index.d.ts +2 -1
- package/dist/contracts/owned-ui/model.d.ts +0 -3
- package/dist/contracts/owned-ui/session-presenters.d.ts +3 -0
- package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
- package/dist/contracts/owned-ui/shell-components.d.ts +543 -0
- package/dist/contracts/presentation/component.d.ts +17 -0
- package/dist/contracts/presentation/component.js +8 -0
- package/dist/contracts/presentation/index.d.ts +6 -15
- package/dist/contracts/presentation/index.js +2 -0
- package/dist/contracts/presentation/terminal.d.ts +290 -0
- package/dist/contracts/presentation/theme.d.ts +46 -0
- package/dist/features/launch/development-launch.js +1 -2
- package/dist/features/launch/index.d.ts +1 -1
- package/dist/features/launch/intent.d.ts +1 -3
- package/dist/features/launch/intent.js +2 -4
- package/dist/features/launch/runtime-selection.d.ts +2 -2
- package/dist/features/launch/runtime-selection.js +2 -2
- package/dist/features/launch/session-context.d.ts +2 -2
- package/dist/features/owned-ui/project-trust-prompt.d.ts +2 -2
- package/dist/features/owned-ui/project-trust-prompt.js +1 -1
- package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
- package/dist/features/owned-ui/reference-screen-app.js +2 -9
- package/dist/features/owned-ui/release-note-state.d.ts +2 -1
- package/dist/features/owned-ui/settings-app.d.ts +0 -6
- package/dist/features/owned-ui/settings-app.js +42 -254
- package/dist/features/owned-ui/settings-edits.d.ts +31 -0
- package/dist/features/owned-ui/settings-edits.js +139 -0
- package/dist/features/owned-ui/settings-scroll-rail.d.ts +29 -0
- package/dist/features/owned-ui/settings-scroll-rail.js +79 -0
- package/dist/features/owned-ui/settings-search-input.d.ts +2 -1
- package/dist/features/prompt-history/service.d.ts +3 -2
- package/dist/foundation/launch-context/index.d.ts +0 -12
- package/dist/foundation/launch-context/index.js +0 -26
- package/dist/foundation/lifecycle/claim-gate.d.ts +9 -0
- package/dist/foundation/lifecycle/claim-gate.js +37 -0
- package/dist/foundation/lifecycle/index.d.ts +5 -9
- package/dist/foundation/lifecycle/index.js +3 -4
- package/dist/foundation/lifecycle/model.d.ts +2 -59
- package/dist/foundation/lifecycle/model.js +0 -35
- package/dist/foundation/lifecycle/paths.d.ts +0 -24
- package/dist/foundation/lifecycle/paths.js +0 -40
- package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
- package/dist/foundation/lifecycle/process-liveness.js +18 -0
- package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
- package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
- package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
- package/dist/foundation/lifecycle/session-repository-context.js +2 -3
- package/dist/foundation/release/automatic-update.d.ts +6 -17
- package/dist/foundation/release/automatic-update.js +23 -44
- package/dist/foundation/release/bootstrap.d.ts +2 -25
- package/dist/foundation/release/bootstrap.js +37 -348
- package/dist/foundation/release/dependency-certification.d.ts +1 -2
- package/dist/foundation/release/dependency-certification.js +1 -1
- package/dist/foundation/release/early-accent.d.ts +2 -2
- package/dist/foundation/release/early-accent.js +1 -1
- package/dist/foundation/release/index.d.ts +10 -17
- package/dist/foundation/release/index.js +7 -11
- package/dist/foundation/release/latest-release.d.ts +3 -19
- package/dist/foundation/release/latest-release.js +11 -12
- package/dist/foundation/release/ordinary-launch-selection.d.ts +1 -1
- package/dist/foundation/release/ordinary-launch-selection.js +1 -1
- package/dist/foundation/release/process-liveness.d.ts +2 -0
- package/dist/foundation/release/process-liveness.js +12 -0
- package/dist/foundation/release/release-gc.d.ts +13 -10
- package/dist/foundation/release/release-gc.js +37 -101
- package/dist/foundation/release/{cohort-state.d.ts → release-state.d.ts} +44 -69
- package/dist/foundation/release/{cohort-state.js → release-state.js} +38 -70
- package/dist/foundation/release/release-store.d.ts +2 -2
- package/dist/foundation/release/release-store.js +2 -2
- package/dist/foundation/release/restart-certification.js +1 -1
- package/dist/foundation/release/update-activation.d.ts +2 -9
- package/dist/foundation/release/update-activation.js +30 -45
- package/dist/foundation/release/update-execution-lease.d.ts +2 -3
- package/dist/foundation/release/update-execution-lease.js +2 -2
- package/dist/foundation/release/update-launch.d.ts +2 -4
- package/dist/foundation/release/update-launch.js +0 -7
- package/dist/foundation/release/update-recovery.js +1 -1
- package/dist/foundation/release/update-transaction.d.ts +1 -1
- package/dist/foundation/release/update-transaction.js +5 -2
- package/dist/foundation/release/update.d.ts +2 -12
- package/dist/foundation/release/update.js +37 -214
- package/dist/foundation/session-writer-lock/index.d.ts +14 -6
- package/dist/foundation/session-writer-lock/index.js +48 -103
- package/dist/foundation/startup/startup-budget.d.ts +5 -5
- package/dist/foundation/startup/startup-budget.js +2 -2
- package/dist/foundation/startup/startup-runtime.d.ts +1 -1
- package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
- package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
- package/dist/foundation/terminal-cleanup/index.js +2 -1
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
- package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
- package/dist/integrations/pi/components/editor-interaction.d.ts +4 -12
- package/dist/integrations/pi/components/index.d.ts +15 -9
- package/dist/integrations/pi/components/index.js +9 -5
- package/dist/integrations/pi/components/lazy-selectors.d.ts +2 -10
- package/dist/integrations/pi/components/lazy-selectors.js +1 -1
- package/dist/integrations/pi/components/modal-frame.d.ts +5 -22
- package/dist/integrations/pi/components/modal-frame.js +3 -23
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +4 -3
- package/dist/integrations/pi/components/prompt-input-port.d.ts +2 -19
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -1
- package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +3 -2
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
- package/dist/integrations/pi/components/shell-footer-status.d.ts +3 -3
- package/dist/integrations/pi/components/shell-footer-status.js +5 -4
- package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +6 -8
- package/dist/integrations/pi/components/shell-presenters-info.js +6 -19
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
- package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
- package/dist/integrations/pi/components/shell-session-info-reference.d.ts +2 -1
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +33 -229
- package/dist/integrations/pi/components/shell-shared-facade.js +8 -1
- package/dist/integrations/pi/components/skills-command.d.ts +1 -9
- package/dist/integrations/pi/components/skills-command.js +5 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
- package/dist/integrations/pi/components/theme.d.ts +9 -2
- package/dist/integrations/pi/components/theme.js +17 -2
- package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
- package/dist/integrations/pi/engine/adapter.d.ts +3 -6
- package/dist/integrations/pi/engine/adapter.js +4 -28
- package/dist/integrations/pi/engine/changelog.d.ts +2 -2
- package/dist/integrations/pi/engine/changelog.js +3 -3
- package/dist/integrations/pi/engine/compaction-progress.d.ts +2 -3
- package/dist/integrations/pi/engine/compaction-progress.js +1 -1
- package/dist/integrations/pi/engine/conformance.d.ts +2 -1
- package/dist/integrations/pi/engine/default-model-setting.d.ts +0 -2
- package/dist/integrations/pi/engine/default-model-setting.js +1 -2
- package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
- package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
- package/dist/integrations/pi/engine/event-delivery.d.ts +2 -1
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
- package/dist/integrations/pi/engine/host.js +2 -2
- package/dist/integrations/pi/engine/message-values.d.ts +0 -1
- package/dist/integrations/pi/engine/message-values.js +1 -1
- package/dist/integrations/pi/engine/pending-delivery.d.ts +0 -4
- package/dist/integrations/pi/engine/pending-delivery.js +3 -3
- package/dist/integrations/pi/engine/ports.d.ts +7 -1
- package/dist/integrations/pi/engine/ports.js +4 -0
- package/dist/integrations/pi/engine/project-trust-preflight.d.ts +2 -1
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +3 -3
- package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
- package/dist/integrations/pi/engine/provider-authentication.d.ts +1 -1
- package/dist/integrations/pi/engine/public-main-entry.d.ts +1 -5
- package/dist/integrations/pi/engine/public-main-entry.js +1 -1
- package/dist/integrations/pi/engine/repository-pr-rest.d.ts +1 -9
- package/dist/integrations/pi/engine/repository-pr-rest.js +2 -2
- package/dist/integrations/pi/engine/repository-pr.d.ts +1 -3
- package/dist/integrations/pi/engine/repository-pr.js +1 -1
- package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
- package/dist/integrations/pi/engine/session-integration.d.ts +1 -1
- package/dist/integrations/pi/engine/session-runtime.d.ts +4 -3
- package/dist/integrations/pi/engine/session-runtime.js +0 -2
- package/dist/integrations/pi/engine/settings-bridge.d.ts +0 -2
- package/dist/integrations/pi/engine/settings-bridge.js +1 -1
- package/dist/integrations/pi/engine/settings-port.d.ts +3 -2
- package/dist/integrations/pi/engine/transcript-projection.d.ts +2 -1
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +1 -1
- package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -1
- package/dist/integrations/pi/engine/workflow-runner.js +1 -1
- package/dist/integrations/pi/engine/workflow-support.d.ts +0 -6
- package/dist/integrations/pi/engine/workflow-support.js +4 -18
- package/dist/integrations/pi/engine/workflows.d.ts +5 -5
- package/dist/integrations/pi/session-presenters/components.d.ts +3 -0
- package/dist/integrations/pi/session-presenters/components.js +75 -0
- package/dist/integrations/pi/session-presenters/index.d.ts +1 -0
- package/dist/integrations/pi/session-presenters/index.js +1 -0
- package/dist/integrations/pi/session-presenters/presentation.d.ts +3 -0
- package/dist/integrations/pi/session-presenters/presentation.js +10 -0
- package/dist/integrations/pi/session-presenters/presenters.d.ts +2 -1
- package/dist/integrations/pi/session-presenters/presenters.js +3 -1
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
- package/dist/integrations/pi/tui-runtime/adapter.js +23 -32
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +22 -166
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +5 -40
- package/dist/integrations/pi/tui-runtime/index.d.ts +1 -0
- package/dist/integrations/pi/tui-runtime/index.js +1 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +4 -6
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -8
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +3 -9
- package/dist/integrations/pi/tui-runtime/runtime-factory.d.ts +3 -0
- package/dist/integrations/pi/tui-runtime/runtime-factory.js +11 -0
- package/dist/product-identity.d.ts +4 -6
- package/dist/product-identity.js +6 -11
- package/dist/product-identity.json +1 -40
- package/dist/runtime-payload-inventory.json +0 -3
- package/dist/ui/components/index.d.ts +4 -4
- package/dist/ui/components/index.js +2 -2
- package/dist/ui/components/selection-copy.d.ts +0 -1
- package/dist/ui/components/selection-copy.js +0 -12
- package/dist/ui/components/submitted-prompt.d.ts +3 -13
- package/dist/ui/components/submitted-prompt.js +8 -41
- package/dist/ui/components/theme.d.ts +4 -19
- package/dist/ui/components/theme.js +6 -0
- package/dist/ui/components/transcript-viewport.d.ts +1 -3
- package/dist/ui/components/transcript-viewport.js +1 -4
- package/dist/ui/settings/declarations.d.ts +2 -97
- package/dist/ui/settings/declarations.js +2 -78
- package/dist/ui/settings/early-accent.js +1 -1
- package/dist/ui/settings/index.d.ts +3 -5
- package/dist/ui/settings/index.js +2 -3
- package/dist/ui/settings/manager.d.ts +0 -4
- package/dist/ui/settings/manager.js +6 -62
- package/dist/ui/settings/resolution.d.ts +6 -18
- package/dist/ui/settings/resolution.js +4 -103
- package/dist/ui/settings/sections.d.ts +0 -4
- package/dist/ui/settings/sections.js +1 -1
- package/docs/architecture/boundaries.md +23 -40
- package/docs/architecture/code-documentation.md +2 -2
- package/docs/architecture/internal-naming.md +11 -17
- package/docs/architecture/project-structure.md +13 -16
- package/docs/architecture/resource-and-data-policy.md +16 -31
- package/docs/architecture/toolchain.md +14 -19
- package/docs/architecture/ui-reference-provenance.md +2 -2
- package/docs/ci-release-runbook.md +5 -5
- package/docs/features/launch-profiles.md +11 -17
- package/docs/features/prompt-history.md +10 -11
- package/docs/local-worktree-cleanup.md +28 -1
- package/docs/manual-owned-ui-checkpoint.md +0 -1
- package/docs/validation.md +5 -11
- package/docs/worktree-link-recovery.md +6 -6
- package/package.json +7 -20
- package/bin/guardian.js +0 -42
- package/bin/supervisor.js +0 -7
- package/bin/tab-launch-context.d.ts +0 -27
- package/bin/tab-launch-context.js +0 -94
- package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
- package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
- package/dist/cli/tabs-request.d.ts +0 -7
- package/dist/cli/tabs.d.ts +0 -14
- package/dist/cli/tabs.js +0 -151
- package/dist/composition/resident-tab-bridge.d.ts +0 -41
- package/dist/composition/resident-tab-bridge.js +0 -209
- package/dist/composition/utility-tab.d.ts +0 -28
- package/dist/composition/utility-tab.js +0 -244
- package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
- package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
- package/dist/features/resident-tab/auto-name.d.ts +0 -11
- package/dist/features/resident-tab/auto-name.js +0 -44
- package/dist/features/resident-tab/index.d.ts +0 -5
- package/dist/features/resident-tab/index.js +0 -7
- package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
- package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
- package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
- package/dist/features/resident-tab/shortcut-declarations.js +0 -26
- package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
- package/dist/features/resident-tab/shortcut-projection.js +0 -64
- package/dist/features/resident-tab/status-deriver.d.ts +0 -10
- package/dist/features/resident-tab/status-deriver.js +0 -12
- package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
- package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
- package/dist/foundation/launch-guardian/index.d.ts +0 -2
- package/dist/foundation/launch-guardian/index.js +0 -1
- package/dist/foundation/launch-guardian/main.d.ts +0 -39
- package/dist/foundation/launch-guardian/main.js +0 -232
- package/dist/foundation/lifecycle/commands.d.ts +0 -40
- package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
- package/dist/foundation/lifecycle/launch-instance.js +0 -134
- package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
- package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
- package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
- package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
- package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
- package/dist/foundation/process-containment/addon-containment.js +0 -139
- package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
- package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
- package/dist/foundation/process-containment/addon.d.ts +0 -47
- package/dist/foundation/process-containment/addon.js +0 -57
- package/dist/foundation/process-containment/artifact.d.ts +0 -1
- package/dist/foundation/process-containment/artifact.js +0 -35
- package/dist/foundation/process-containment/contracts.d.ts +0 -33
- package/dist/foundation/process-containment/contracts.js +0 -35
- package/dist/foundation/process-containment/index.d.ts +0 -9
- package/dist/foundation/process-containment/index.js +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
- package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
- package/dist/foundation/process-containment/native-process-inspector.js +0 -21
- package/dist/foundation/protocol/client.d.ts +0 -18
- package/dist/foundation/protocol/client.js +0 -130
- package/dist/foundation/protocol/index.d.ts +0 -3
- package/dist/foundation/protocol/index.js +0 -2
- package/dist/foundation/protocol/messages.d.ts +0 -90
- package/dist/foundation/protocol/messages.js +0 -100
- package/dist/foundation/release/cohort-selection.d.ts +0 -33
- package/dist/foundation/release/cohort-selection.js +0 -67
- package/dist/foundation/release/endpoint-lock.d.ts +0 -2
- package/dist/foundation/release/endpoint-lock.js +0 -37
- package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
- package/dist/foundation/release/endpoint-recovery.js +0 -45
- package/dist/foundation/release/endpoints.d.ts +0 -32
- package/dist/foundation/release/endpoints.js +0 -152
- package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
- package/dist/foundation/release/prepared-update-activation.js +0 -27
- package/dist/foundation/release/process-cleanup.d.ts +0 -14
- package/dist/foundation/release/process-cleanup.js +0 -76
- package/dist/foundation/release/supervisor-identity.d.ts +0 -15
- package/dist/foundation/release/supervisor-identity.js +0 -63
- package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
- package/dist/foundation/resident-tabs/boot-identity.js +0 -16
- package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
- package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
- package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
- package/dist/foundation/resident-tabs/bridge-client.js +0 -327
- package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
- package/dist/foundation/resident-tabs/continuity.js +0 -63
- package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
- package/dist/foundation/resident-tabs/doctor.js +0 -166
- package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
- package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
- package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
- package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
- package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
- package/dist/foundation/resident-tabs/fault-injection.js +0 -26
- package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
- package/dist/foundation/resident-tabs/fixture-control.js +0 -35
- package/dist/foundation/resident-tabs/host-entry.js +0 -17
- package/dist/foundation/resident-tabs/index.d.ts +0 -15
- package/dist/foundation/resident-tabs/index.js +0 -10
- package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
- package/dist/foundation/resident-tabs/maintenance.js +0 -75
- package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
- package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
- package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
- package/dist/foundation/resident-tabs/progress-observation.js +0 -150
- package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
- package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
- package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
- package/dist/foundation/resident-tabs/protocol.js +0 -195
- package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
- package/dist/foundation/resident-tabs/recovery.js +0 -205
- package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
- package/dist/foundation/resident-tabs/release-holds.js +0 -78
- package/dist/foundation/resident-tabs/routes.d.ts +0 -5
- package/dist/foundation/resident-tabs/routes.js +0 -5
- package/dist/foundation/resident-tabs/routing.d.ts +0 -11
- package/dist/foundation/resident-tabs/routing.js +0 -10
- package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
- package/dist/foundation/resident-tabs/runtime-control.js +0 -74
- package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
- package/dist/foundation/resident-tabs/session-sync.js +0 -37
- package/dist/foundation/resident-tabs/settings.d.ts +0 -16
- package/dist/foundation/resident-tabs/settings.js +0 -60
- package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
- package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
- package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
- package/dist/foundation/resident-tabs/zip-archive.js +0 -56
- package/dist/foundation/storage/control-store.d.ts +0 -20
- package/dist/foundation/storage/control-store.js +0 -331
- package/dist/foundation/storage/index.d.ts +0 -1
- package/dist/foundation/storage/index.js +0 -1
- package/dist/foundation/supervision/index.d.ts +0 -3
- package/dist/foundation/supervision/index.js +0 -3
- package/dist/foundation/supervision/main.d.ts +0 -1
- package/dist/foundation/supervision/main.js +0 -86
- package/dist/foundation/supervision/paths.d.ts +0 -1
- package/dist/foundation/supervision/paths.js +0 -1
- package/dist/foundation/supervision/server.d.ts +0 -46
- package/dist/foundation/supervision/server.js +0 -611
- package/dist/integrations/pi/components/components.d.ts +0 -4
- package/dist/integrations/pi/components/components.js +0 -48
- package/dist/integrations/pi/components/conformance.d.ts +0 -18
- package/dist/integrations/pi/components/conformance.js +0 -70
- package/dist/integrations/pi/components/shell-components.d.ts +0 -7
- package/dist/integrations/pi/components/shell-components.js +0 -7
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +0 -33
- package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -114
- package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
- package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
- package/dist/native/darwin-arm64/manifest.json +0 -23
- package/dist/native/darwin-arm64/process-guardian.node +0 -0
- package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
- package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-arm64/terminal-host.node +0 -0
- package/dist/native/darwin-x64/manifest.json +0 -23
- package/dist/native/darwin-x64/process-guardian.node +0 -0
- package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
- package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-x64/terminal-host.node +0 -0
- package/dist/native/linux-x64/manifest.json +0 -23
- package/dist/native/linux-x64/process-guardian.node +0 -0
- package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
- package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
- package/dist/native/linux-x64/terminal-host.node +0 -0
- package/dist/native/win32-x64/manifest.json +0 -23
- package/dist/native/win32-x64/process-guardian.node +0 -0
- package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
- package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
- package/dist/native/win32-x64/terminal-host.node +0 -0
- package/dist/ui/settings/migrations.d.ts +0 -19
- package/dist/ui/settings/migrations.js +0 -209
- package/dist/ui/settings/progress-palette.generated.d.ts +0 -139
- package/dist/ui/settings/progress-palette.generated.js +0 -139
- package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
- package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
- package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
- package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
- package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
- package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
- package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
- package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
- package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
- package/docs/architecture/native-fixture-isolation.md +0 -23
- package/docs/architecture/process-guardian-provenance.md +0 -36
- package/docs/architecture/resident-tabs-requirements.md +0 -18
- package/docs/architecture/resident-tabs.md +0 -668
- package/docs/architecture/terminal-host-proof-gate.md +0 -34
- package/docs/architecture/terminal-host-provenance.md +0 -81
- package/docs/architecture/terminal-host-spike-evidence.md +0 -39
- package/docs/launch-recovery.md +0 -23
- package/docs/manual-launch-instance-acceptance.md +0 -43
- package/docs/manual-resident-tabs-acceptance.md +0 -51
- /package/dist/{cli/tabs-request.js → contracts/owned-ui/shell-components.js} +0 -0
- /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.d.ts +0 -0
- /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.js +0 -0
- /package/dist/{foundation/lifecycle/commands.js → contracts/presentation/terminal.js} +0 -0
- /package/dist/{foundation/resident-tabs/host-entry.d.ts → contracts/presentation/theme.js} +0 -0
|
@@ -1,14 +1,8 @@
|
|
|
1
|
-
import { ImageAttachmentError } from "../../contracts/owned-ui/index.js";
|
|
2
1
|
import { promptArrow } from "../../ui/components/prompt-input.js";
|
|
3
2
|
import { composeSubmittedPromptRows, submittedPromptLayout, } from "../../ui/components/submitted-prompt.js";
|
|
4
3
|
import { nativeHyperlinkStyle } from "../../ui/components/spans.js";
|
|
5
4
|
import { paintTextSelection } from "../../ui/components/text-selection.js";
|
|
6
5
|
import { progressStatusFrame, progressStatusText } from "../../ui/components/progress-status.js";
|
|
7
|
-
import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../../integrations/pi/components/shell-footer-status.js";
|
|
8
|
-
import { createPiShellTranscriptComponent, } from "../../integrations/pi/components/shell-presenters-transcript.js";
|
|
9
|
-
import { onPiThemeChange, piTheme } from "../../integrations/pi/components/upstream/theme/theme.js";
|
|
10
|
-
import { piShellTruncateToWidth, } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
11
|
-
import {} from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
|
|
12
6
|
import { PromptChipStore } from "./prompt-chips.js";
|
|
13
7
|
import { SessionViewportController } from "./session-viewport-controller.js";
|
|
14
8
|
import { createShellEditor } from "./shell-editor-factory.js";
|
|
@@ -18,14 +12,15 @@ import { WorkflowOutput } from "./workflow-output.js";
|
|
|
18
12
|
import { InputSurfaceSwitch } from "./input-surface-switch.js";
|
|
19
13
|
import { PinnedLayout } from "./shell-layout.js";
|
|
20
14
|
import { ViewportLayout } from "./viewport-layout.js";
|
|
21
|
-
import {
|
|
15
|
+
import { transcriptLinkColor, TranscriptDocument } from "./transcript-document.js";
|
|
22
16
|
/** Composes session state into the owned transcript, viewport, editor, and dock. */
|
|
23
17
|
export class OwnedUiSessionShellRoot {
|
|
24
18
|
editor;
|
|
25
19
|
header;
|
|
26
20
|
resources;
|
|
27
21
|
#cwd;
|
|
28
|
-
|
|
22
|
+
/** The transcript's semantic rows, caches, and engine-backed block renderers. */
|
|
23
|
+
transcript;
|
|
29
24
|
#themeUnsubscribe;
|
|
30
25
|
#view;
|
|
31
26
|
#status;
|
|
@@ -47,11 +42,13 @@ export class OwnedUiSessionShellRoot {
|
|
|
47
42
|
#showImages = true;
|
|
48
43
|
#imageWidthCells = 80;
|
|
49
44
|
#outputPad = 1;
|
|
50
|
-
|
|
45
|
+
/** Workflow results, messages, and status lines appended to the transcript. */
|
|
46
|
+
workflow;
|
|
51
47
|
#input;
|
|
52
48
|
#layout;
|
|
53
49
|
#extensions = new ExtensionSurface();
|
|
54
|
-
|
|
50
|
+
/** The dock's notices, copy acknowledgement, and release banner. */
|
|
51
|
+
chrome;
|
|
55
52
|
#imageSubmissionsSending = 0;
|
|
56
53
|
constructor(view, cwd, handlers, startup = {}, agentDir, extensionRenderers = {
|
|
57
54
|
getMessageRenderer: () => undefined,
|
|
@@ -64,26 +61,26 @@ export class OwnedUiSessionShellRoot {
|
|
|
64
61
|
...(handlers.pasteDiagnostics === undefined ? {} : { onEvent: handlers.pasteDiagnostics }),
|
|
65
62
|
...(handlers.pastePreparation === undefined ? {} : { preparation: handlers.pastePreparation }),
|
|
66
63
|
...(handlers.promptImageLimit === undefined ? {} : { imageLimit: handlers.promptImageLimit }) });
|
|
67
|
-
this.#submittedPromptComposer = this.#customViewport ? this.#createSubmittedPromptComposer() : undefined;
|
|
64
|
+
this.#submittedPromptComposer = this.#customViewport ? this.#createSubmittedPromptComposer(handlers.presentation.theme) : undefined;
|
|
68
65
|
this.#cwd = cwd;
|
|
69
|
-
this
|
|
66
|
+
this.transcript = this.#createDocument(cwd, handlers.presentation.theme, handlers.components);
|
|
70
67
|
this.#extensionRenderers = extensionRenderers;
|
|
71
68
|
this.#imageAssets = imageAssets;
|
|
72
69
|
this.#componentRuntime = handlers;
|
|
73
70
|
this.#onPromptSuggestionEligibilityChanged = handlers.onPromptSuggestionEligibilityChanged;
|
|
74
|
-
this.header =
|
|
71
|
+
this.header = handlers.components.chrome.header({
|
|
75
72
|
...startup,
|
|
76
73
|
...(this.#customViewport ? { getKeybindings: () => this.editor.keybindingConfig() } : {}),
|
|
77
74
|
});
|
|
78
|
-
this.resources =
|
|
79
|
-
this.#status =
|
|
75
|
+
this.resources = handlers.components.chrome.loadedResources(startup.resources ?? [], startup.expanded ?? false);
|
|
76
|
+
this.#status = handlers.components.chrome.status(view, {
|
|
80
77
|
text: (message, mode) => progressStatusText(message, mode === "custom-viewport" ? "…" : "..."),
|
|
81
78
|
frame: progressStatusFrame,
|
|
82
79
|
}, handlers);
|
|
83
80
|
this.#status.setProgressPresentation(this.#customViewport ? "custom-viewport" : "pinned");
|
|
84
|
-
this.#footer =
|
|
81
|
+
this.#footer = handlers.components.chrome.footer(this.#extensions.withStatuses(view), cwd, this.#customViewport ? "a1" : "pi", () => this.#footerLevel);
|
|
85
82
|
this.editor = createShellEditor({
|
|
86
|
-
handlers,
|
|
83
|
+
handlers, theme: handlers.presentation.theme, components: handlers.components,
|
|
87
84
|
customViewport: this.#customViewport,
|
|
88
85
|
cwd,
|
|
89
86
|
...(agentDir === undefined ? {} : { agentDir }),
|
|
@@ -92,7 +89,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
92
89
|
nextPasteDiagnosticRequest: () => --this.#pasteDiagnosticId,
|
|
93
90
|
toggleToolsExpanded: () => this.#setToolsExpanded(!this.#toolsExpanded),
|
|
94
91
|
});
|
|
95
|
-
this.#queued =
|
|
92
|
+
this.#queued = handlers.components.chrome.queuedInput(view.editor.queuedSubmissions, this.#customViewport ? "custom-viewport" : "pinned", this.#customViewport ? () => this.editor.keybindingConfig() : undefined);
|
|
96
93
|
this.#viewportController = new SessionViewportController({
|
|
97
94
|
enabled: this.#customViewport,
|
|
98
95
|
editor: this.editor,
|
|
@@ -102,15 +99,15 @@ export class OwnedUiSessionShellRoot {
|
|
|
102
99
|
...(handlers.pasteDiagnostics === undefined ? {} : { pasteDiagnostics: handlers.pasteDiagnostics }),
|
|
103
100
|
nextPasteDiagnosticRequest: () => --this.#pasteDiagnosticId,
|
|
104
101
|
});
|
|
105
|
-
this
|
|
102
|
+
this.chrome = new DockChrome({ theme: handlers.presentation.theme, outputPad: handlers.presentation.pinnedOutputPad, components: handlers.components,
|
|
106
103
|
invalidateChrome: () => this.#invalidateChrome(),
|
|
107
104
|
requestRender: () => this.#componentRuntime.requestRender(),
|
|
108
105
|
viewport: this.#viewportController,
|
|
109
106
|
});
|
|
110
|
-
this
|
|
111
|
-
customViewport: this.#customViewport,
|
|
112
|
-
document: this
|
|
113
|
-
dock: this
|
|
107
|
+
this.workflow = new WorkflowOutput({
|
|
108
|
+
customViewport: this.#customViewport, components: handlers.components,
|
|
109
|
+
document: this.transcript,
|
|
110
|
+
dock: this.chrome,
|
|
114
111
|
transcriptLength: () => this.#view.transcript.length,
|
|
115
112
|
outputPad: () => this.#outputPad,
|
|
116
113
|
hotkeysPresentation: () => this.hotkeysPresentation(),
|
|
@@ -119,26 +116,27 @@ export class OwnedUiSessionShellRoot {
|
|
|
119
116
|
});
|
|
120
117
|
this.editor.setThinkingLevel(view.thinkingLevel);
|
|
121
118
|
this.#input = new InputSurfaceSwitch(this.editor, {
|
|
122
|
-
dockInputReuse: this.#customViewport && (handlers.enableDockInputReuse ?? true),
|
|
119
|
+
dockInputReuse: this.#customViewport && (handlers.enableDockInputReuse ?? true), classifyInput: handlers.presentation.terminalRuntime.classifyInput,
|
|
123
120
|
viewport: this.#viewportController,
|
|
124
121
|
...(handlers.onInputSurfaceChanged === undefined ? {} : { onChanged: handlers.onInputSurfaceChanged }),
|
|
125
122
|
});
|
|
126
|
-
this.#layout = this.#createLayout(handlers.onViewportFrame);
|
|
123
|
+
this.#layout = this.#createLayout(handlers.onViewportFrame, createViewportTheme(handlers.presentation.theme));
|
|
127
124
|
for (const block of view.transcript) {
|
|
128
125
|
if (block.kind === "user")
|
|
129
126
|
this.editor.addToHistory(block.text);
|
|
130
127
|
}
|
|
131
|
-
this
|
|
128
|
+
this.transcript.sync(view.transcript);
|
|
132
129
|
// Invariant: rendered rows expire when
|
|
133
130
|
// their active theme changes.
|
|
134
|
-
this.#themeUnsubscribe =
|
|
131
|
+
this.#themeUnsubscribe = handlers.presentation.theme.onChange(() => {
|
|
135
132
|
this.invalidate();
|
|
136
133
|
this.#componentRuntime.requestRender(true);
|
|
137
134
|
});
|
|
138
135
|
}
|
|
139
136
|
// Invariant: the document reads the shell's chrome lazily, so it may be built before the header and viewport.
|
|
140
|
-
#createDocument(cwd) {
|
|
137
|
+
#createDocument(cwd, theme, components) {
|
|
141
138
|
return new TranscriptDocument({
|
|
139
|
+
theme, components,
|
|
142
140
|
customViewport: this.#customViewport,
|
|
143
141
|
cwd,
|
|
144
142
|
mount: block => this.#mountTranscript(block),
|
|
@@ -149,38 +147,38 @@ export class OwnedUiSessionShellRoot {
|
|
|
149
147
|
resourceRows: width => this.#customViewport ? [] : this.resources.render(width),
|
|
150
148
|
hasExtensionHeader: () => this.#extensions.header !== null,
|
|
151
149
|
thinkingVisible: () => this.#thinkingVisible,
|
|
152
|
-
timeFormat: () => this.#viewportController.config.timeFormat,
|
|
153
150
|
},
|
|
154
151
|
});
|
|
155
152
|
}
|
|
156
153
|
// Invariant: one layout per root; the render path never consults the layout mode again.
|
|
157
|
-
#createLayout(onFrame) {
|
|
154
|
+
#createLayout(onFrame, theme) {
|
|
158
155
|
const ports = {
|
|
159
156
|
viewport: this.#viewportController,
|
|
160
157
|
input: this.#input,
|
|
161
158
|
editor: this.editor,
|
|
162
159
|
promptChips: this.#promptChips,
|
|
163
|
-
dockChrome: this
|
|
164
|
-
theme
|
|
160
|
+
dockChrome: this.chrome,
|
|
161
|
+
theme,
|
|
165
162
|
...(onFrame === undefined ? {} : { onFrame }),
|
|
166
163
|
rows: () => this.#componentRuntime.getRows(),
|
|
167
164
|
dock: width => this.#renderDockLayout(width),
|
|
168
|
-
document: width => this
|
|
165
|
+
document: width => this.transcript.layout(width),
|
|
169
166
|
queued: width => this.#renderQueued(width),
|
|
170
167
|
liveStatus: width => this.#renderStatus(width),
|
|
171
168
|
diagnostics: () => this.#view.diagnostics,
|
|
172
169
|
};
|
|
173
170
|
return this.#customViewport ? new ViewportLayout(ports) : new PinnedLayout(ports);
|
|
174
171
|
}
|
|
175
|
-
#createSubmittedPromptComposer() {
|
|
172
|
+
#createSubmittedPromptComposer(theme) {
|
|
173
|
+
const linkColor = transcriptLinkColor(theme);
|
|
176
174
|
return {
|
|
177
|
-
layout:
|
|
178
|
-
compose: (rows, width,
|
|
175
|
+
layout: width => submittedPromptLayout(width),
|
|
176
|
+
compose: (rows, width, style) => composeSubmittedPromptRows(rows, width, { ...style, prefix: text => promptArrow(text, theme.current()) }).map(row => nativeHyperlinkStyle(row, linkColor)),
|
|
179
177
|
};
|
|
180
178
|
}
|
|
181
179
|
setEditorPaddingX(padding) {
|
|
182
180
|
this.editor.setPaddingX(padding);
|
|
183
|
-
this
|
|
181
|
+
this.transcript.invalidate("editor-padding");
|
|
184
182
|
}
|
|
185
183
|
setAutocompleteMaxVisible(maxVisible) {
|
|
186
184
|
this.editor.setAutocompleteMaxVisible(maxVisible);
|
|
@@ -190,7 +188,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
190
188
|
return;
|
|
191
189
|
this.#outputPad = padding;
|
|
192
190
|
this.#status.setOutputPad(padding);
|
|
193
|
-
for (const component of this
|
|
191
|
+
for (const component of this.transcript.components())
|
|
194
192
|
component.setOutputPad(padding);
|
|
195
193
|
this.#invalidateTranscriptPresentation();
|
|
196
194
|
}
|
|
@@ -198,7 +196,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
198
196
|
if (this.#thinkingVisible === !hidden)
|
|
199
197
|
return;
|
|
200
198
|
this.#thinkingVisible = !hidden;
|
|
201
|
-
for (const component of this
|
|
199
|
+
for (const component of this.transcript.components())
|
|
202
200
|
component.setHideThinkingBlock(hidden);
|
|
203
201
|
this.#invalidateTranscriptPresentation();
|
|
204
202
|
}
|
|
@@ -206,7 +204,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
206
204
|
if (this.#mermaidRenderingMode === mode)
|
|
207
205
|
return;
|
|
208
206
|
this.#mermaidRenderingMode = mode;
|
|
209
|
-
for (const component of this
|
|
207
|
+
for (const component of this.transcript.components())
|
|
210
208
|
component.setMermaidRenderingMode(mode);
|
|
211
209
|
this.#invalidateTranscriptPresentation();
|
|
212
210
|
}
|
|
@@ -215,7 +213,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
215
213
|
return;
|
|
216
214
|
this.#showImages = showImages;
|
|
217
215
|
this.#imageWidthCells = imageWidthCells;
|
|
218
|
-
for (const component of this
|
|
216
|
+
for (const component of this.transcript.components())
|
|
219
217
|
component.setImagePresentation(showImages, imageWidthCells);
|
|
220
218
|
this.#invalidateTranscriptPresentation();
|
|
221
219
|
}
|
|
@@ -235,9 +233,9 @@ export class OwnedUiSessionShellRoot {
|
|
|
235
233
|
return this.#promptChips.prepareSubmission(text);
|
|
236
234
|
}
|
|
237
235
|
reconcilePromptImageLimitNotice(text = this.editor.getText()) {
|
|
238
|
-
if (this
|
|
236
|
+
if (this.chrome.notice?.errorCode !== "image-count" || !this.#promptChips.imageLimitState(text).corrected)
|
|
239
237
|
return false;
|
|
240
|
-
this.dismissNotice();
|
|
238
|
+
this.chrome.dismissNotice();
|
|
241
239
|
return true;
|
|
242
240
|
}
|
|
243
241
|
hasPendingPastes(text) { return this.#promptChips.hasPending(text); }
|
|
@@ -281,14 +279,14 @@ export class OwnedUiSessionShellRoot {
|
|
|
281
279
|
const becameReady = this.#view.lifecycle !== "ready" && view.lifecycle === "ready";
|
|
282
280
|
if (view.diagnostics.length !== this.#view.diagnostics.length
|
|
283
281
|
|| view.diagnostics.some((diagnostic, index) => diagnostic.sequence !== this.#view.diagnostics[index]?.sequence)) {
|
|
284
|
-
this
|
|
282
|
+
this.transcript.invalidate("diagnostics");
|
|
285
283
|
}
|
|
286
284
|
const promptAccepted = this.#view.lifecycle !== "busy" && view.lifecycle === "busy";
|
|
287
285
|
this.#view = view;
|
|
288
286
|
// Invariant: the idle new-session confirmation yields to the first truthful live status;
|
|
289
287
|
// ordinary dock notices deliberately remain visible below Working during a run.
|
|
290
|
-
if (promptAccepted && this
|
|
291
|
-
this
|
|
288
|
+
if (promptAccepted && this.chrome.notice?.kind === "new-session")
|
|
289
|
+
this.chrome.forgetNotice();
|
|
292
290
|
if (promptAccepted && this.#imageSubmissionsSending > 0) {
|
|
293
291
|
this.#imageSubmissionsSending = 0;
|
|
294
292
|
this.#syncWorkingOverride();
|
|
@@ -296,7 +294,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
296
294
|
this.#status.update(view);
|
|
297
295
|
this.#footer.update(this.#extensions.withStatuses(view));
|
|
298
296
|
this.#queued.update(view.editor.queuedSubmissions);
|
|
299
|
-
this
|
|
297
|
+
this.transcript.sync(view.transcript);
|
|
300
298
|
this.editor.setSubmitEnabled(view.lifecycle !== "stopping" && view.lifecycle !== "stopped" && view.lifecycle !== "failed");
|
|
301
299
|
this.editor.setThinkingLevel(view.thinkingLevel);
|
|
302
300
|
// Performance: semantic updates already invalidate affected transcript blocks. Chrome is a separate authority.
|
|
@@ -304,23 +302,15 @@ export class OwnedUiSessionShellRoot {
|
|
|
304
302
|
if (becameReady)
|
|
305
303
|
this.#onPromptSuggestionEligibilityChanged?.();
|
|
306
304
|
}
|
|
307
|
-
/**
|
|
308
|
-
* Applies one block: its component is created or updated in place and the order grows
|
|
309
|
-
* only when the block is new. A streamed chunk costs one component update rather than a
|
|
310
|
-
* walk of the whole transcript.
|
|
311
|
-
*/
|
|
312
|
-
applyTranscriptBlock(block) {
|
|
313
|
-
this.#document.apply(block);
|
|
314
|
-
}
|
|
315
305
|
#mountTranscript(block) {
|
|
316
306
|
// Invariant: the notice answers the reader's last command, so only their next prompt or
|
|
317
307
|
// shell command retires it; assistant, tool, and compaction blocks streaming in keep it.
|
|
318
308
|
if (block.kind === "user" || block.kind === "bash")
|
|
319
|
-
this.dismissNotice();
|
|
320
|
-
const created =
|
|
321
|
-
if (this
|
|
309
|
+
this.chrome.dismissNotice();
|
|
310
|
+
const created = this.#componentRuntime.components.transcript.component(block, this.#cwd, this.#extensionRenderers, this.#submittedPromptComposer, this.#outputPad, !this.#thinkingVisible, this.#mermaidRenderingMode, this.#showImages, this.#imageWidthCells, this.#imageAssets, { ...this.#componentRuntime, changed: () => {
|
|
311
|
+
if (this.transcript.component(block.id) !== created)
|
|
322
312
|
return;
|
|
323
|
-
this
|
|
313
|
+
this.transcript.blockChanged(block.id);
|
|
324
314
|
this.#layout.invalidate();
|
|
325
315
|
this.#input.clearDockInputCandidate();
|
|
326
316
|
this.#componentRuntime.requestRender();
|
|
@@ -362,26 +352,19 @@ export class OwnedUiSessionShellRoot {
|
|
|
362
352
|
}
|
|
363
353
|
setViewportConfig(config) {
|
|
364
354
|
if (this.#viewportController.setConfig(config)) {
|
|
365
|
-
this
|
|
355
|
+
this.transcript.invalidate("viewport-config");
|
|
366
356
|
this.#layout.invalidate();
|
|
367
357
|
}
|
|
368
358
|
}
|
|
369
359
|
setFullscreenCopyOnSelect(enabled) {
|
|
370
360
|
this.#viewportController.setCopyOnSelect(enabled);
|
|
371
361
|
}
|
|
372
|
-
showCopyAcknowledgement(message) {
|
|
373
|
-
this.#dockChrome.showCopyAcknowledgement(message);
|
|
374
|
-
}
|
|
375
362
|
resumeViewportFollowing() {
|
|
376
363
|
this.#viewportController.resumeFollowing();
|
|
377
364
|
}
|
|
378
365
|
noteCompletedAssistantMessage() {
|
|
379
366
|
this.#viewportController.noteCompletedAssistantMessage();
|
|
380
367
|
}
|
|
381
|
-
/** A new session binding owns new mounts even when it reuses semantic invocation ids. */
|
|
382
|
-
resetTranscript() {
|
|
383
|
-
this.#document.reset();
|
|
384
|
-
}
|
|
385
368
|
resetViewport() {
|
|
386
369
|
this.#viewportController.reset();
|
|
387
370
|
}
|
|
@@ -401,7 +384,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
401
384
|
#renderDockLayout(width) {
|
|
402
385
|
const queued = this.#customViewport ? [] : this.#renderQueued(width);
|
|
403
386
|
const statusRows = this.#customViewport ? this.#status.renderDock(width) : this.#renderStatus(width);
|
|
404
|
-
const noticeRows = this
|
|
387
|
+
const noticeRows = this.chrome.renderNotice(width, this.#outputPad);
|
|
405
388
|
const transientRows = [...queued, ...statusRows, ...noticeRows];
|
|
406
389
|
const messageStart = queued.length;
|
|
407
390
|
const copyableMessageRows = Array.from({ length: statusRows.length + noticeRows.length }, (_value, index) => ({ row: messageStart + index }));
|
|
@@ -421,9 +404,6 @@ export class OwnedUiSessionShellRoot {
|
|
|
421
404
|
copyableMessageRows,
|
|
422
405
|
};
|
|
423
406
|
}
|
|
424
|
-
dismissNotice() {
|
|
425
|
-
this.#dockChrome.dismissNotice();
|
|
426
|
-
}
|
|
427
407
|
#renderQueued(width) {
|
|
428
408
|
return this.#view.editor.queuedSubmissions.length === 0 ? [] : this.#queued.render(width);
|
|
429
409
|
}
|
|
@@ -440,22 +420,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
440
420
|
};
|
|
441
421
|
}
|
|
442
422
|
#renderDocument(width) {
|
|
443
|
-
return this
|
|
444
|
-
}
|
|
445
|
-
transcriptComponent(id) {
|
|
446
|
-
return this.#document.component(id);
|
|
447
|
-
}
|
|
448
|
-
exitTranscript(width) {
|
|
449
|
-
return this.#document.exitTranscript(width);
|
|
450
|
-
}
|
|
451
|
-
appendWorkflowStatus(message) {
|
|
452
|
-
this.#workflowOutput.appendStatus(message);
|
|
453
|
-
}
|
|
454
|
-
appendWorkflowMessage(message, errorCode) {
|
|
455
|
-
this.#workflowOutput.appendMessage(message, errorCode);
|
|
456
|
-
}
|
|
457
|
-
appendWorkflowResult(result, errorCode) {
|
|
458
|
-
this.#workflowOutput.appendResult(result, errorCode);
|
|
423
|
+
return this.transcript.layout(width).rows;
|
|
459
424
|
}
|
|
460
425
|
toggleThinkingVisibility() {
|
|
461
426
|
this.setHideThinkingBlock(this.#thinkingVisible);
|
|
@@ -472,7 +437,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
472
437
|
}
|
|
473
438
|
setExtensionHeader(component) {
|
|
474
439
|
this.#extensions.replaceHeader(component);
|
|
475
|
-
this
|
|
440
|
+
this.transcript.invalidate("extension-header");
|
|
476
441
|
this.invalidate();
|
|
477
442
|
}
|
|
478
443
|
setExtensionFooter(component) {
|
|
@@ -517,9 +482,9 @@ export class OwnedUiSessionShellRoot {
|
|
|
517
482
|
};
|
|
518
483
|
}
|
|
519
484
|
resetWorkflowPresentation() {
|
|
520
|
-
this
|
|
521
|
-
this
|
|
522
|
-
this
|
|
485
|
+
this.chrome.forgetNotice();
|
|
486
|
+
this.chrome.clearCopyAcknowledgement(false);
|
|
487
|
+
this.workflow.reset();
|
|
523
488
|
this.invalidate();
|
|
524
489
|
}
|
|
525
490
|
resetExtensionUi() {
|
|
@@ -527,15 +492,15 @@ export class OwnedUiSessionShellRoot {
|
|
|
527
492
|
this.#syncWorkingOverride();
|
|
528
493
|
this.#footer.update(this.#extensions.withStatuses(this.#view));
|
|
529
494
|
// Invariant: an extension renderer may have drawn transcript blocks that are now unrendered by it.
|
|
530
|
-
this
|
|
495
|
+
this.transcript.invalidate("extension-renderers");
|
|
531
496
|
this.invalidate();
|
|
532
497
|
}
|
|
533
498
|
addExtensionNotification(message, type) {
|
|
534
499
|
if (type === "info") {
|
|
535
|
-
this.
|
|
500
|
+
this.workflow.appendStatus(message);
|
|
536
501
|
return;
|
|
537
502
|
}
|
|
538
|
-
this.
|
|
503
|
+
this.workflow.appendMessage({ kind: type, message });
|
|
539
504
|
}
|
|
540
505
|
extensionFooterData() {
|
|
541
506
|
return {
|
|
@@ -555,7 +520,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
555
520
|
return this.#layout.compositions();
|
|
556
521
|
}
|
|
557
522
|
transcriptRenderCount() {
|
|
558
|
-
return this
|
|
523
|
+
return this.transcript.renderCount;
|
|
559
524
|
}
|
|
560
525
|
setFooterLevel(visible) { this.#footerLevel = visible; }
|
|
561
526
|
setInputSurface(component, disposePrevious = true, coordination = "owned") {
|
|
@@ -566,7 +531,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
566
531
|
this.#input.handleInput(data);
|
|
567
532
|
}
|
|
568
533
|
invalidate() {
|
|
569
|
-
this
|
|
534
|
+
this.transcript.invalidate("repaint");
|
|
570
535
|
this.#invalidateChrome();
|
|
571
536
|
}
|
|
572
537
|
#invalidateChrome() {
|
|
@@ -586,12 +551,12 @@ export class OwnedUiSessionShellRoot {
|
|
|
586
551
|
this.#onPromptSuggestionEligibilityChanged?.();
|
|
587
552
|
}
|
|
588
553
|
dispose() {
|
|
589
|
-
this
|
|
554
|
+
this.chrome.clearCopyAcknowledgement(false);
|
|
590
555
|
this.clearViewportPointerState();
|
|
591
556
|
this.#themeUnsubscribe();
|
|
592
557
|
this.header.dispose?.();
|
|
593
558
|
this.resources.dispose?.();
|
|
594
|
-
this
|
|
559
|
+
this.transcript.dispose();
|
|
595
560
|
this.#layout.invalidate();
|
|
596
561
|
this.#input.dispose();
|
|
597
562
|
this.#extensions.dispose();
|
|
@@ -601,7 +566,7 @@ export class OwnedUiSessionShellRoot {
|
|
|
601
566
|
this.#queued.dispose?.();
|
|
602
567
|
}
|
|
603
568
|
#invalidateTranscriptPresentation() {
|
|
604
|
-
this
|
|
569
|
+
this.transcript.invalidate("block-presentation");
|
|
605
570
|
this.invalidate();
|
|
606
571
|
}
|
|
607
572
|
#renderStatus(width) {
|
|
@@ -612,16 +577,16 @@ export class OwnedUiSessionShellRoot {
|
|
|
612
577
|
if (!this.#customViewport)
|
|
613
578
|
return footer.render(width);
|
|
614
579
|
width = Math.max(0, width - 2);
|
|
615
|
-
return footer.render(width).map(row => ` ${
|
|
580
|
+
return footer.render(width).map(row => ` ${this.#componentRuntime.components.text.truncateToWidth(row, width)}`);
|
|
616
581
|
}
|
|
617
582
|
#setToolsExpanded(expanded) {
|
|
618
583
|
this.#toolsExpanded = expanded;
|
|
619
584
|
this.header.setExpanded(expanded);
|
|
620
585
|
this.resources.setExpanded(expanded);
|
|
621
|
-
for (const component of this
|
|
586
|
+
for (const component of this.transcript.components())
|
|
622
587
|
component.setExpanded(expanded);
|
|
623
588
|
// Invariant: expansion changes what a block draws without changing its revision.
|
|
624
|
-
this
|
|
589
|
+
this.transcript.invalidate("tools-expanded");
|
|
625
590
|
this.invalidate();
|
|
626
591
|
}
|
|
627
592
|
}
|
|
@@ -635,7 +600,7 @@ function withoutTerminalBackground(text) {
|
|
|
635
600
|
* The pinned-profile screen: a followed transcript scroll above the dock. The runtime mounts one such layout,
|
|
636
601
|
* so its single `transcript` scroll view is shared by whichever session the parts currently resolve to.
|
|
637
602
|
*/
|
|
638
|
-
export function pinnedLayoutRoot(parts) {
|
|
603
|
+
export function pinnedLayoutRoot(parts, theme) {
|
|
639
604
|
return {
|
|
640
605
|
type: "stack",
|
|
641
606
|
direction: "vertical",
|
|
@@ -652,8 +617,8 @@ export function pinnedLayoutRoot(parts) {
|
|
|
652
617
|
primary: true,
|
|
653
618
|
overscroll: "chain",
|
|
654
619
|
scrollbar: "auto",
|
|
655
|
-
scrollbarTrackStyle: text =>
|
|
656
|
-
scrollbarThumbStyle: text =>
|
|
620
|
+
scrollbarTrackStyle: text => theme.current().fg("scrollbarTrack", text),
|
|
621
|
+
scrollbarThumbStyle: text => theme.current().fg("scrollbarThumb", text),
|
|
657
622
|
child: { type: "component", component: parts.document },
|
|
658
623
|
},
|
|
659
624
|
},
|
|
@@ -840,13 +805,15 @@ function isPackageExtensionSource(sourceInfo) {
|
|
|
840
805
|
const source = sourceInfo?.source ?? "";
|
|
841
806
|
return source.startsWith("npm:") || source.startsWith("git:");
|
|
842
807
|
}
|
|
843
|
-
// Performance:
|
|
844
|
-
// selection variants while each callback still resolves the live
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
808
|
+
// Performance: one painter set per root keeps identities stable, so the neutral viewport retains row-level
|
|
809
|
+
// selection variants while each callback still resolves the live theme.
|
|
810
|
+
function createViewportTheme(source) {
|
|
811
|
+
return {
|
|
812
|
+
track: text => `${SCROLLBAR_CELL_RESET}${source.current().fg("dim", text)}`,
|
|
813
|
+
thumb: text => `${SCROLLBAR_CELL_RESET}${source.current().fg("accent", text)}`,
|
|
814
|
+
sticky: (text, hovered) => source.current().background(hovered ? "selectedBg" : "toolPendingBg", source.current().fg("text", withoutTerminalBackground(text))),
|
|
815
|
+
quietSticky: text => `\u001b[2m${text.replace(/\u001b\[(?:0|22)m/g, "$&\u001b[2m")}\u001b[22m`,
|
|
816
|
+
bottomControl: (text, hovered) => source.current().background(hovered ? "selectedBg" : "toolPendingBg", source.current().fg("text", text)),
|
|
817
|
+
selection: paintTextSelection,
|
|
818
|
+
};
|
|
819
|
+
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
|
+
import type { OwnedUiShellSelectorOption } from "../../contracts/owned-ui/index.js";
|
|
2
|
+
import type { TerminalComponentPort, TerminalInputListenerResult, TerminalInputSurfaceKind, TerminalOverlayHandle, TerminalPointerSurface } from "../../contracts/presentation/index.js";
|
|
1
3
|
import type { OwnedUiCommandResult, OwnedUiSessionBackend, OwnedUiSessionViewModel, OwnedUiThinkingLevel, OwnedUiWorkflowRequest } from "../../contracts/owned-ui/index.js";
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
import type { PiShellSelectorOption } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
5
|
-
import type { PiTuiDamageDecision } from "../../integrations/pi/tui-runtime/damage-aware-terminal.js";
|
|
6
|
-
import type { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
|
|
7
|
-
import type { PiTuiInputSurfaceKind } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
|
|
8
|
-
import type { PiTuiComponentPort, PiTuiInputListenerResult, PiTuiOverlayHandle, PiTuiPointerSurface } from "../../integrations/pi/tui-runtime/contracts.js";
|
|
4
|
+
import type { OwnedUiShellHotkeysPresentation, OwnedUiShellSkillSummary } from "../../contracts/owned-ui/index.js";
|
|
5
|
+
import type { TerminalDamageDecision, TerminalRuntimePort } from "../../contracts/presentation/index.js";
|
|
9
6
|
import { OwnedUiTerminalHost, type OwnedUiHostedPresenter, type OwnedUiPresenterRelease } from "./shell-host.js";
|
|
10
7
|
import { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type PinnedLayoutPart } from "./session-shell-root.js";
|
|
11
8
|
export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type OwnedUiShellDiagnosticOptions, type OwnedUiShellEngineOptions, type OwnedUiShellHistoryOptions, type OwnedUiShellPresentationOptions, type OwnedUiShellPromptImagesOptions, type OwnedUiShellSharedServices, type OwnedUiShellSkillsOptions, type OwnedUiShellSuggestionOptions, } from "./session-shell-root.js";
|
|
@@ -26,12 +23,12 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
|
|
|
26
23
|
handleInput(data: string): void;
|
|
27
24
|
invalidate(): void;
|
|
28
25
|
setFocused(focused: boolean): void;
|
|
29
|
-
inputCoordinationSurface():
|
|
30
|
-
setOverlaySurfaces(surfaces: readonly
|
|
26
|
+
inputCoordinationSurface(): TerminalInputSurfaceKind;
|
|
27
|
+
setOverlaySurfaces(surfaces: readonly TerminalPointerSurface[] | null): void;
|
|
31
28
|
noteImmediatePresentation(): void;
|
|
32
|
-
layoutPart(part: PinnedLayoutPart):
|
|
29
|
+
layoutPart(part: PinnedLayoutPart): TerminalComponentPort;
|
|
33
30
|
activated(): void;
|
|
34
|
-
handleViewportInput(data: string):
|
|
31
|
+
handleViewportInput(data: string): TerminalInputListenerResult | undefined;
|
|
35
32
|
start(): void;
|
|
36
33
|
onView(listener: (view: OwnedUiSessionViewModel) => void): () => void;
|
|
37
34
|
waitUntilStopped(): Promise<void>;
|
|
@@ -49,10 +46,10 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
|
|
|
49
46
|
cycleModel(direction: "forward" | "backward"): Promise<OwnedUiCommandResult>;
|
|
50
47
|
queueFollowUp(): Promise<OwnedUiCommandResult>;
|
|
51
48
|
restoreQueuedInput(): void;
|
|
52
|
-
showSelector(title: string, options: readonly
|
|
49
|
+
showSelector(title: string, options: readonly OwnedUiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): TerminalOverlayHandle;
|
|
53
50
|
showThinkingSelector(): Promise<void>;
|
|
54
51
|
/** The Skills dialog: a replacement input like the model selector, applying the chosen skill through the prompt path. */
|
|
55
|
-
showSkillsSelector(skills?: readonly
|
|
52
|
+
showSkillsSelector(skills?: readonly OwnedUiShellSkillSummary[]): void;
|
|
56
53
|
showModelSelector(initialSearchInput?: string): void;
|
|
57
54
|
showForkSelector(): void;
|
|
58
55
|
showLogoutSelector(): Promise<void>;
|
|
@@ -74,7 +71,7 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
|
|
|
74
71
|
readonly columns: number;
|
|
75
72
|
}): OwnedUiPresenterRelease;
|
|
76
73
|
openOwnedRoute(route: string): void;
|
|
77
|
-
hotkeysPresentation():
|
|
74
|
+
hotkeysPresentation(): OwnedUiShellHotkeysPresentation;
|
|
78
75
|
}
|
|
79
76
|
/**
|
|
80
77
|
* One session on a terminal of its own: a terminal host with this presenter attached. Disposing it ends the
|
|
@@ -82,6 +79,6 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
|
|
|
82
79
|
*/
|
|
83
80
|
export declare class OwnedUiSessionShell extends OwnedUiSessionPresenter {
|
|
84
81
|
constructor(options: OwnedUiSessionShellOptions);
|
|
85
|
-
get runtime():
|
|
86
|
-
damagePresentationDecision():
|
|
82
|
+
get runtime(): TerminalRuntimePort;
|
|
83
|
+
damagePresentationDecision(): TerminalDamageDecision | null;
|
|
87
84
|
}
|