@timurproko/a1 0.1.8-dev.472 → 0.1.8-dev.508
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/bin/cli.js +4 -5
- package/bin/guardian.js +5 -1
- package/bin/module-identity.js +53 -98
- package/bin/module-resolver.js +138 -0
- package/bin/pinned-pi-public.js +25 -6
- package/bin/ui.js +7 -2
- package/bin/update-recovery.js +76 -7
- package/bin/warmup.js +3 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-diagnostics.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-image.js +1 -1
- package/dist/app/session-shell/helper-pool.d.ts +33 -0
- package/dist/app/session-shell/helper-pool.js +98 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation-client.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation-client.js +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation.js +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-source.js +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-worker.js +1 -1
- package/dist/app/session-shell/index.d.ts +7 -0
- package/dist/app/session-shell/index.js +4 -0
- package/dist/app/session-shell/paste-executor.d.ts +18 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-executor.js +50 -29
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-helper.js +1 -1
- package/dist/app/session-shell/paste-preparation-client.d.ts +31 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-preparation-client.js +19 -8
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-protocol.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-protocol.js +1 -1
- package/dist/app/session-shell/paste-text-preparation.d.ts +6 -0
- package/dist/{integrations/pi/session-ui/paste-text-preparation.d.ts → app/session-shell/paste-types.d.ts} +1 -4
- package/dist/{integrations/pi/session-ui → app/session-shell}/path-chip-presentation.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-chips.d.ts +5 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-chips.js +6 -2
- package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-history-controller.d.ts +2 -2
- package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-history-controller.js +2 -2
- package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-suggestion-controller.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/prompt-suggestion-controller.js +2 -2
- package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro.js +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-coordinator.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-coordinator.js +3 -5
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-helper.js +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-protocol.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-transport.d.ts +10 -2
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-transport.js +45 -19
- package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell-root.d.ts +75 -53
- package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell-root.js +30 -20
- package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell.d.ts +9 -8
- package/dist/{integrations/pi/session-ui → app/session-shell}/session-shell.js +108 -67
- package/dist/{integrations/pi/session-ui → app/session-shell}/session-viewport-controller.d.ts +5 -5
- package/dist/{integrations/pi/session-ui → app/session-shell}/session-viewport-controller.js +5 -5
- package/dist/{integrations/pi/session-ui → app/session-shell}/system-clipboard.d.ts +1 -1
- package/dist/{integrations/pi/session-ui → app/session-shell}/system-clipboard.js +1 -1
- package/dist/cli/index.d.ts +8 -5
- package/dist/cli/index.js +4 -5
- package/dist/composition/index.d.ts +0 -1
- package/dist/composition/index.js +0 -1
- package/dist/composition/owned-ui.d.ts +2 -2
- package/dist/composition/owned-ui.js +35 -36
- package/dist/composition/settings-route-host.d.ts +2 -2
- package/dist/contracts/agent-engine/domain.d.ts +6 -1
- package/dist/contracts/agent-engine/index.d.ts +11 -8
- package/dist/contracts/agent-engine/index.js +6 -8
- package/dist/contracts/owned-ui/extension-ui.d.ts +8 -0
- package/dist/contracts/owned-ui/index.d.ts +12 -8
- package/dist/contracts/owned-ui/index.js +8 -8
- package/dist/features/launch/index.d.ts +12 -6
- package/dist/features/launch/index.js +6 -6
- package/dist/features/launch/intent.d.ts +5 -5
- package/dist/features/launch/intent.js +2 -2
- package/dist/features/owned-ui/index.d.ts +6 -6
- package/dist/features/owned-ui/index.js +4 -6
- package/dist/features/owned-ui/run.d.ts +2 -2
- package/dist/features/owned-ui/settings-app.d.ts +2 -2
- package/dist/features/owned-ui/settings-app.js +18 -5
- package/dist/features/prompt-history/service.d.ts +1 -1
- package/dist/features/prompt-history/service.js +1 -1
- package/dist/features/prompt-history/store.js +3 -7
- package/dist/features/prompt-suggestions/diagnostics.js +1 -1
- package/dist/features/prompt-suggestions/index.d.ts +2 -1
- package/dist/features/prompt-suggestions/index.js +1 -1
- package/dist/foundation/launch-guardian/index.d.ts +2 -1
- package/dist/foundation/launch-guardian/index.js +1 -1
- package/dist/foundation/lifecycle/index.d.ts +11 -6
- package/dist/foundation/lifecycle/index.js +5 -6
- package/dist/foundation/process-containment/index.d.ts +8 -6
- package/dist/foundation/process-containment/index.js +6 -6
- package/dist/foundation/process-containment/native-guardian-containment.js +3 -3
- package/dist/foundation/protocol/index.d.ts +3 -2
- package/dist/foundation/protocol/index.js +2 -2
- package/dist/foundation/release/bootstrap.d.ts +0 -4
- package/dist/foundation/release/bootstrap.js +1 -82
- package/dist/foundation/release/dependency-layer.d.ts +2 -5
- package/dist/foundation/release/endpoints.d.ts +4 -0
- package/dist/foundation/release/endpoints.js +86 -2
- package/dist/foundation/release/index.d.ts +30 -16
- package/dist/foundation/release/index.js +16 -16
- package/dist/foundation/release/release.d.ts +1 -1
- package/dist/foundation/release/types.d.ts +11 -0
- package/dist/foundation/release/types.js +1 -0
- package/dist/foundation/release/update-transaction.d.ts +1 -1
- package/dist/foundation/release/update.d.ts +2 -1
- package/dist/foundation/release/update.js +3 -18
- package/dist/foundation/startup/index.d.ts +4 -2
- package/dist/foundation/startup/index.js +2 -2
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/foundation/storage/control-store.d.ts +1 -45
- package/dist/foundation/storage/control-store.js +54 -277
- package/dist/foundation/storage/index.d.ts +1 -1
- package/dist/foundation/storage/index.js +1 -1
- package/dist/foundation/supervision/index.d.ts +2 -2
- package/dist/foundation/supervision/index.js +2 -2
- package/dist/foundation/supervision/server.d.ts +5 -10
- package/dist/foundation/supervision/server.js +7 -7
- package/dist/foundation/terminal-cleanup/index.d.ts +3 -2
- package/dist/foundation/terminal-cleanup/index.js +2 -2
- package/dist/integrations/pi/components/editor-interaction.d.ts +1 -1
- package/dist/integrations/pi/components/history-editor-loader.d.ts +1 -1
- package/dist/integrations/pi/components/index.d.ts +20 -13
- package/dist/integrations/pi/components/index.js +12 -13
- package/dist/integrations/pi/components/owned-editor-ux.js +5 -8
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +7 -5
- package/dist/integrations/pi/components/resources/builtin-themes.js +7 -5
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -1
- package/dist/integrations/pi/components/shell-extension-ui.js +2 -1
- package/dist/integrations/pi/components/shell-footer-status.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
- package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +9 -3
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +9 -6
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +3 -1
- package/dist/integrations/pi/components/shell-shared-facade.js +4 -2
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +1 -1
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +1 -1
- package/dist/integrations/pi/components/tool-image-presentation.d.ts +1 -1
- package/dist/integrations/pi/components/tool-image-presentation.js +4 -7
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +36 -22
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +43 -7
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +6 -3
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +8 -1
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +7 -3
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +10 -4
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +7 -4
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +7 -4
- package/dist/integrations/pi/components/upstream/components/mermaid.js +8 -4
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +9 -5
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +10 -6
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +8 -4
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +27 -25
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/session-footer.js +8 -10
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +6 -4
- package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector.js +8 -4
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +7 -5
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +8 -6
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +9 -4
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +15 -5
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +8 -2
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +58 -37
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +7 -4
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +7 -4
- package/dist/integrations/pi/components/upstream/components/trust-selector.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +10 -5
- package/dist/integrations/pi/components/upstream/external-editor.js +8 -4
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +13 -4
- package/dist/integrations/pi/components/upstream/history/editor-core.js +112 -30
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +6 -3
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +6 -3
- package/dist/integrations/pi/components/upstream/history/printable-key.js +7 -4
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +6 -3
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +6 -3
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +6 -3
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +6 -3
- package/dist/integrations/pi/components/upstream/model-search.d.ts +5 -2
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +8 -0
- package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -3
- package/dist/integrations/pi/components/upstream/theme/theme.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/theme/theme.js +17 -6
- package/dist/integrations/pi/engine/adapter.d.ts +39 -138
- package/dist/integrations/pi/engine/adapter.js +338 -3226
- package/dist/integrations/pi/engine/command-dispatch.d.ts +41 -0
- package/dist/integrations/pi/engine/command-dispatch.js +125 -0
- package/dist/integrations/pi/engine/event-delivery.d.ts +100 -0
- package/dist/integrations/pi/engine/event-delivery.js +184 -0
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +35 -0
- package/dist/integrations/pi/engine/extension-ui-binding.js +81 -0
- package/dist/integrations/pi/engine/index.d.ts +18 -14
- package/dist/integrations/pi/engine/index.js +10 -14
- package/dist/integrations/pi/engine/message-values.d.ts +29 -0
- package/dist/integrations/pi/engine/message-values.js +168 -0
- package/dist/integrations/pi/engine/pending-delivery.d.ts +2 -2
- package/dist/integrations/pi/engine/pending-delivery.js +2 -4
- package/dist/integrations/pi/engine/pi-settings-metadata.json +382 -371
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +30 -0
- package/dist/integrations/pi/engine/prompt-suggestions.js +102 -0
- package/dist/integrations/pi/engine/provider-authentication.d.ts +34 -0
- package/dist/integrations/pi/engine/provider-authentication.js +209 -0
- package/dist/integrations/pi/engine/resource-catalog.d.ts +49 -0
- package/dist/integrations/pi/engine/resource-catalog.js +289 -0
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/engine/session-events.d.ts +48 -0
- package/dist/integrations/pi/engine/session-events.js +223 -0
- package/dist/integrations/pi/engine/session-integration.js +2 -4
- package/dist/integrations/pi/engine/session-runtime.d.ts +84 -0
- package/dist/integrations/pi/engine/session-runtime.js +249 -0
- package/dist/integrations/pi/engine/{settings-effects.d.ts → settings-bridge.d.ts} +57 -2
- package/dist/integrations/pi/engine/settings-bridge.js +514 -0
- package/dist/integrations/pi/engine/settings-metadata.d.ts +31 -0
- package/dist/integrations/pi/engine/settings-metadata.js +67 -0
- package/dist/integrations/pi/engine/settings-port.d.ts +42 -0
- package/dist/integrations/pi/engine/settings-port.js +353 -0
- package/dist/integrations/pi/engine/transcript-projection.d.ts +39 -0
- package/dist/integrations/pi/engine/transcript-projection.js +405 -0
- package/dist/integrations/pi/engine/usage-view.d.ts +4 -0
- package/dist/integrations/pi/engine/usage-view.js +56 -0
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +59 -0
- package/dist/integrations/pi/engine/workflow-contexts.js +316 -0
- package/dist/integrations/pi/engine/workflow-runner.d.ts +60 -0
- package/dist/integrations/pi/engine/workflow-runner.js +509 -0
- package/dist/integrations/pi/engine/workflow-support.d.ts +33 -0
- package/dist/integrations/pi/engine/workflow-support.js +352 -0
- package/dist/integrations/pi/engine/workflows.d.ts +63 -2
- package/dist/integrations/pi/engine/workflows.js +5 -2
- package/dist/integrations/pi/startup-public.js +576 -554
- package/dist/integrations/pi/startup-public.manifest.json +1730 -984
- package/dist/integrations/pi/tui-runtime/adapter.js +10 -13
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +11 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +1 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +4 -7
- package/dist/integrations/pi/tui-runtime/index.d.ts +8 -6
- package/dist/integrations/pi/tui-runtime/index.js +4 -6
- package/dist/integrations/pi/tui-runtime/mouse-report-input.js +2 -4
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -2
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +4 -5
- package/dist/integrations/pi/tui-runtime/presentation-adapter.js +1 -1
- package/dist/native/darwin-arm64/manifest.json +1 -1
- package/dist/native/linux-x64/manifest.json +1 -1
- package/dist/native/win32-x64/manifest.json +2 -2
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/runtime-payload-inventory.json +51320 -46509
- package/dist/ui/apps/index.d.ts +5 -3
- package/dist/ui/apps/index.js +3 -3
- package/dist/ui/components/index.d.ts +47 -25
- package/dist/ui/components/index.js +25 -25
- package/dist/ui/components/prompt-input.js +1 -4
- package/dist/ui/settings/declarations.d.ts +119 -0
- package/dist/ui/settings/declarations.js +20 -11
- package/dist/ui/settings/index.d.ts +10 -6
- package/dist/ui/settings/index.js +5 -6
- package/dist/ui/settings/manager.d.ts +54 -0
- package/dist/ui/settings/{session.js → manager.js} +101 -9
- package/dist/ui/settings/sections.d.ts +2 -7
- package/docs/architecture/boundaries.md +4 -4
- package/docs/architecture/history-editor-provenance.md +1 -1
- package/docs/architecture/project-structure.md +6 -6
- package/docs/architecture/prompt-suggestions.md +1 -1
- package/docs/architecture/terminal-host-proof-gate.md +1 -1
- package/docs/architecture/terminal-host-spike-evidence.md +1 -1
- package/docs/architecture/toolchain.md +8 -0
- package/docs/architecture/ui-reference-provenance.md +4 -4
- package/docs/ci-release-runbook.md +7 -1
- package/docs/features/modal-content-interaction.md +2 -2
- package/docs/local-worktree-cleanup.md +4 -2
- package/docs/validation.md +6 -4
- package/package.json +7 -11
- package/bin/pi-tui.d.ts +0 -6
- package/bin/pi-tui.js +0 -28
- package/bin/sync-pi-tui-proxy.js +0 -97
- package/dist/cli/version.d.ts +0 -2
- package/dist/cli/version.js +0 -23
- package/dist/composition/agent-engine-bridge.d.ts +0 -3
- package/dist/composition/agent-engine-bridge.js +0 -108
- package/dist/composition/process.d.ts +0 -16
- package/dist/composition/process.js +0 -45
- package/dist/contracts/workspace/index.d.ts +0 -2
- package/dist/contracts/workspace/index.js +0 -2
- package/dist/contracts/workspace/model.d.ts +0 -248
- package/dist/contracts/workspace/model.js +0 -2
- package/dist/contracts/workspace/validation.d.ts +0 -13
- package/dist/contracts/workspace/validation.js +0 -335
- package/dist/features/owned-ui/customization.d.ts +0 -40
- package/dist/features/owned-ui/customization.js +0 -110
- package/dist/features/owned-ui/diagnostics.d.ts +0 -34
- package/dist/features/owned-ui/diagnostics.js +0 -95
- package/dist/features/workspace/capabilities.d.ts +0 -31
- package/dist/features/workspace/capabilities.js +0 -75
- package/dist/features/workspace/index.d.ts +0 -6
- package/dist/features/workspace/index.js +0 -6
- package/dist/features/workspace/presentation.d.ts +0 -30
- package/dist/features/workspace/presentation.js +0 -70
- package/dist/features/workspace/reconciliation.d.ts +0 -15
- package/dist/features/workspace/reconciliation.js +0 -82
- package/dist/features/workspace/reducer.d.ts +0 -43
- package/dist/features/workspace/reducer.js +0 -214
- package/dist/features/workspace/router.d.ts +0 -32
- package/dist/features/workspace/router.js +0 -125
- package/dist/features/workspace/store.d.ts +0 -18
- package/dist/features/workspace/store.js +0 -55
- package/dist/foundation/native-host-protocol/codec.d.ts +0 -13
- package/dist/foundation/native-host-protocol/codec.js +0 -58
- package/dist/foundation/native-host-protocol/evidence.d.ts +0 -67
- package/dist/foundation/native-host-protocol/evidence.js +0 -141
- package/dist/foundation/native-host-protocol/index.d.ts +0 -4
- package/dist/foundation/native-host-protocol/index.js +0 -4
- package/dist/foundation/native-host-protocol/messages.d.ts +0 -56
- package/dist/foundation/native-host-protocol/messages.js +0 -149
- package/dist/foundation/native-host-protocol/proof-gate.d.ts +0 -13
- package/dist/foundation/native-host-protocol/proof-gate.js +0 -33
- package/dist/foundation/structured-agent-runtime/backpressure.d.ts +0 -47
- package/dist/foundation/structured-agent-runtime/backpressure.js +0 -119
- package/dist/foundation/structured-agent-runtime/commands.d.ts +0 -53
- package/dist/foundation/structured-agent-runtime/commands.js +0 -165
- package/dist/foundation/structured-agent-runtime/handshake.d.ts +0 -41
- package/dist/foundation/structured-agent-runtime/handshake.js +0 -151
- package/dist/foundation/structured-agent-runtime/index.d.ts +0 -5
- package/dist/foundation/structured-agent-runtime/index.js +0 -5
- package/dist/foundation/structured-agent-runtime/reconnection.d.ts +0 -38
- package/dist/foundation/structured-agent-runtime/reconnection.js +0 -130
- package/dist/foundation/structured-agent-runtime/state.d.ts +0 -57
- package/dist/foundation/structured-agent-runtime/state.js +0 -119
- package/dist/integrations/pi/components/upstream/components/custom-entry.d.ts +0 -17
- package/dist/integrations/pi/components/upstream/components/custom-entry.js +0 -51
- package/dist/integrations/pi/components/upstream/components/first-time-setup.d.ts +0 -24
- package/dist/integrations/pi/components/upstream/components/first-time-setup.js +0 -105
- package/dist/integrations/pi/components/upstream/components/markdown-transform.d.ts +0 -2
- package/dist/integrations/pi/components/upstream/components/markdown-transform.js +0 -18
- package/dist/integrations/pi/engine/model-auth-integration.d.ts +0 -31
- package/dist/integrations/pi/engine/model-auth-integration.js +0 -62
- package/dist/integrations/pi/engine/resource-extension-integration.d.ts +0 -32
- package/dist/integrations/pi/engine/resource-extension-integration.js +0 -81
- package/dist/integrations/pi/engine/settings-effects.js +0 -249
- package/dist/integrations/pi/engine/settings-integration.d.ts +0 -43
- package/dist/integrations/pi/engine/settings-integration.js +0 -227
- package/dist/integrations/pi/engine/workflow-controllers.d.ts +0 -21
- package/dist/integrations/pi/engine/workflow-controllers.js +0 -49
- package/dist/integrations/pi/session-ui/index.d.ts +0 -5
- package/dist/integrations/pi/session-ui/index.js +0 -5
- package/dist/integrations/pi/session-ui/paste-executor.d.ts +0 -10
- package/dist/integrations/pi/session-ui/paste-preparation-client.d.ts +0 -16
- package/dist/integrations/pi/session-ui/route-host.d.ts +0 -5
- package/dist/integrations/pi/tui-runtime/conformance.d.ts +0 -18
- package/dist/integrations/pi/tui-runtime/conformance.js +0 -145
- package/dist/ui/components/prompt-row.d.ts +0 -14
- package/dist/ui/components/prompt-row.js +0 -20
- package/dist/ui/settings/session.d.ts +0 -36
- package/dist/ui/settings/store.d.ts +0 -29
- package/dist/ui/settings/store.js +0 -91
- package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-diagnostics.js +2 -2
- package/dist/{integrations/pi/session-ui → app/session-shell}/clipboard-image.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/editor-hyperlink-budget.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/editor-hyperlink-budget.js +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-preparation.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-source.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/image-worker.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-helper.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-text-preparation.js +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-text-worker.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/paste-text-worker.js +0 -0
- package/dist/{integrations/pi/session-ui/response-copy-helper.d.ts → app/session-shell/paste-types.js} +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/path-chip-presentation.js +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro-effects.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro-effects.js +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/quit-outro.d.ts +0 -0
- package/dist/{integrations/pi/session-ui/route-host.js → app/session-shell/response-copy-helper.d.ts} +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/response-copy-protocol.js +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/stream-presentation-coalescer.d.ts +0 -0
- package/dist/{integrations/pi/session-ui → app/session-shell}/stream-presentation-coalescer.js +3 -3
- /package/dist/{integrations/pi/session-ui → app/session-shell}/text-paste.d.ts +0 -0
- /package/dist/{integrations/pi/session-ui → app/session-shell}/text-paste.js +0 -0
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
import { acceptsTranscriptUpdate } from "
|
|
2
|
-
import { caretCell } from "
|
|
3
|
-
import { PromptInput, promptArrow } from "
|
|
4
|
-
import { composeSubmittedPromptRows, formatSubmittedPromptTime, submittedPromptLayout, } from "
|
|
5
|
-
import { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, nativeHyperlinkStyle, overlaySpan, } from "
|
|
6
|
-
import { progressStatusText } from "
|
|
7
|
-
import { displayWidth, faint, stripAnsi } from "
|
|
8
|
-
import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "
|
|
9
|
-
import { createPiExtensionUiBridge } from "
|
|
10
|
-
import { createPiShellEditor } from "
|
|
11
|
-
import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "
|
|
12
|
-
import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "
|
|
13
|
-
import { createPiShellChangelog, createPiShellCollapsedChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellCommandMessage, renderPiShellStatusText, } from "
|
|
14
|
-
import { createPiShellTranscriptComponent, isPiPromptStyleCompaction, paintPiSubmittedPromptTimestamp, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "
|
|
15
|
-
import { onPiThemeChange, PINNED_PI_LAYOUT, piTheme } from "
|
|
16
|
-
import { piShellTruncateToWidth, piShellVisibleWidth, } from "
|
|
17
|
-
import { classifyPiTuiInput, } from "
|
|
1
|
+
import { acceptsTranscriptUpdate } from "../../contracts/owned-ui/index.js";
|
|
2
|
+
import { caretCell } from "../../ui/components/line-input.js";
|
|
3
|
+
import { PromptInput, promptArrow } from "../../ui/components/prompt-input.js";
|
|
4
|
+
import { composeSubmittedPromptRows, formatSubmittedPromptTime, submittedPromptLayout, } from "../../ui/components/submitted-prompt.js";
|
|
5
|
+
import { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, nativeHyperlinkStyle, overlaySpan, } from "../../ui/components/spans.js";
|
|
6
|
+
import { progressStatusText } from "../../ui/components/progress-status.js";
|
|
7
|
+
import { displayWidth, faint, stripAnsi } from "../../ui/components/text.js";
|
|
8
|
+
import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "../../integrations/pi/engine/workflows.js";
|
|
9
|
+
import { createPiExtensionUiBridge } from "../../integrations/pi/components/shell-extension-ui.js";
|
|
10
|
+
import { createPiShellEditor } from "../../integrations/pi/components/shell-editor-autocomplete.js";
|
|
11
|
+
import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../../integrations/pi/components/shell-footer-status.js";
|
|
12
|
+
import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../../integrations/pi/components/shell-selectors-dialogs.js";
|
|
13
|
+
import { createPiShellChangelog, createPiShellCollapsedChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellCommandMessage, renderPiShellStatusText, } from "../../integrations/pi/components/shell-presenters-info.js";
|
|
14
|
+
import { createPiShellTranscriptComponent, isPiPromptStyleCompaction, paintPiSubmittedPromptTimestamp, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../../integrations/pi/components/shell-presenters-transcript.js";
|
|
15
|
+
import { onPiThemeChange, PINNED_PI_LAYOUT, piTheme } from "../../integrations/pi/components/upstream/theme/theme.js";
|
|
16
|
+
import { piShellHyperlink, piShellTruncateToWidth, piShellVisibleWidth, } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
17
|
+
import { classifyPiTuiInput, } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
|
|
18
18
|
import { PromptChipStore } from "./prompt-chips.js";
|
|
19
19
|
import { EditorHyperlinkBudget } from "./editor-hyperlink-budget.js";
|
|
20
20
|
import { SessionViewportController } from "./session-viewport-controller.js";
|
|
@@ -84,7 +84,8 @@ export class OwnedUiSessionShellRoot {
|
|
|
84
84
|
this.#view = view;
|
|
85
85
|
this.#customViewport = sessionLayout === "custom-viewport";
|
|
86
86
|
this.#promptChips = new PromptChipStore({ isolated: this.#customViewport,
|
|
87
|
-
...(handlers.pasteDiagnostics === undefined ? {} : { onEvent: handlers.pasteDiagnostics })
|
|
87
|
+
...(handlers.pasteDiagnostics === undefined ? {} : { onEvent: handlers.pasteDiagnostics }),
|
|
88
|
+
...(handlers.pastePreparation === undefined ? {} : { preparation: handlers.pastePreparation }) });
|
|
88
89
|
this.#submittedPromptComposer = this.#customViewport
|
|
89
90
|
? {
|
|
90
91
|
layout: submittedPromptLayout,
|
|
@@ -275,6 +276,8 @@ export class OwnedUiSessionShellRoot {
|
|
|
275
276
|
this.editor.cancelPendingPastes?.();
|
|
276
277
|
this.editor.setText(this.#promptChips.resetPastes(this.editor.getText()));
|
|
277
278
|
}
|
|
279
|
+
/** Forks the spare paste helper so the first paste of the session takes a live child. */
|
|
280
|
+
warmPastePreparation() { this.#promptChips.warm(); }
|
|
278
281
|
disposePendingPastes() {
|
|
279
282
|
this.resetPendingPastes();
|
|
280
283
|
return this.#promptChips.dispose();
|
|
@@ -581,7 +584,8 @@ export class OwnedUiSessionShellRoot {
|
|
|
581
584
|
primary: true,
|
|
582
585
|
overscroll: "chain",
|
|
583
586
|
scrollbar: "auto",
|
|
584
|
-
|
|
587
|
+
scrollbarTrackStyle: text => piTheme().fg("scrollbarTrack", text),
|
|
588
|
+
scrollbarThumbStyle: text => piTheme().fg("scrollbarThumb", text),
|
|
585
589
|
child: { type: "component", component: document },
|
|
586
590
|
},
|
|
587
591
|
},
|
|
@@ -842,8 +846,9 @@ export class OwnedUiSessionShellRoot {
|
|
|
842
846
|
this.#appendAnchoredWorkflowComponent(width => ["", ...announcement.render(width)], () => announcement.dispose?.());
|
|
843
847
|
return;
|
|
844
848
|
}
|
|
849
|
+
// Rationale: pinned 0.85.1 links both share URLs; the workflow result carries the plain URLs.
|
|
845
850
|
const message = result.command === "share" && result.detail
|
|
846
|
-
? `${result.message}\nGist: ${result.detail}`
|
|
851
|
+
? `${linkShareUrl(result.message)}\nGist: ${piShellHyperlink(result.detail)}`
|
|
847
852
|
: result.message;
|
|
848
853
|
this.appendWorkflowStatus(message);
|
|
849
854
|
}
|
|
@@ -1354,3 +1359,8 @@ function isPackageExtensionSource(sourceInfo) {
|
|
|
1354
1359
|
function transientRowsSignature(steeringRows, statusRows) {
|
|
1355
1360
|
return `${steeringRows.length}\u0000${steeringRows.join("\u0000")}\u0001${statusRows.length}\u0000${statusRows.join("\u0000")}`;
|
|
1356
1361
|
}
|
|
1362
|
+
/** "Share URL: <url>" with the URL made clickable; other share wordings pass through unchanged. */
|
|
1363
|
+
function linkShareUrl(message) {
|
|
1364
|
+
const match = /^Share URL: (\S+)$/.exec(message);
|
|
1365
|
+
return match === null ? message : `Share URL: ${piShellHyperlink(match[1])}`;
|
|
1366
|
+
}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "
|
|
2
|
-
import type { AdapterCommandResult } from "
|
|
3
|
-
import type { PiWorkflowRequest } from "
|
|
4
|
-
import type { PiShellSelectorOption } from "
|
|
5
|
-
import { type PiTuiDamageDecision } from "
|
|
6
|
-
import { PiTuiRuntimeAdapter } from "
|
|
7
|
-
import type { PiTuiOverlayHandle } from "
|
|
1
|
+
import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "../../contracts/owned-ui/index.js";
|
|
2
|
+
import type { AdapterCommandResult } from "../../integrations/pi/engine/adapter.js";
|
|
3
|
+
import type { PiWorkflowRequest } from "../../integrations/pi/engine/workflows.js";
|
|
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 { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
|
|
7
|
+
import type { PiTuiOverlayHandle } from "../../integrations/pi/tui-runtime/contracts.js";
|
|
8
8
|
import { OwnedUiSessionShellRoot, type OwnedUiBackendPort, type OwnedUiSessionShellOptions } from "./session-shell-root.js";
|
|
9
|
-
export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions } from "./session-shell-root.js";
|
|
9
|
+
export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type OwnedUiShellDiagnosticOptions, type OwnedUiShellEngineOptions, type OwnedUiShellHistoryOptions, type OwnedUiShellPresentationOptions, type OwnedUiShellSuggestionOptions, } from "./session-shell-root.js";
|
|
10
10
|
/** Coordinates backend, owned presentation, and Pi TUI lifecycles for one interactive session. */
|
|
11
11
|
export declare class OwnedUiSessionShell {
|
|
12
12
|
#private;
|
|
@@ -34,6 +34,7 @@ export declare class OwnedUiSessionShell {
|
|
|
34
34
|
queueFollowUp(): Promise<AdapterCommandResult>;
|
|
35
35
|
restoreQueuedInput(): void;
|
|
36
36
|
showSelector(title: string, options: readonly PiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): PiTuiOverlayHandle;
|
|
37
|
+
showThinkingSelector(): void;
|
|
37
38
|
showModelSelector(initialSearchInput?: string): void;
|
|
38
39
|
showForkSelector(): void;
|
|
39
40
|
showLogoutSelector(): Promise<void>;
|
|
@@ -2,29 +2,29 @@ import { ResponseCopyCoordinator } from "./response-copy-coordinator.js";
|
|
|
2
2
|
import { createResponseCopyExecutor, hasAsyncClipboardOutput, responseCopyDestination } from "./response-copy-transport.js";
|
|
3
3
|
import { MAX_COPY_CONTROL_BYTES } from "./response-copy-protocol.js";
|
|
4
4
|
import { PromptHistoryController } from "./prompt-history-controller.js";
|
|
5
|
-
import { PRODUCT_TEXT } from "
|
|
6
|
-
import { boundedCleanup } from "
|
|
7
|
-
import { assertOwnedUiCommand } from "
|
|
8
|
-
import { assertPromptImages, ImageAttachmentError } from "
|
|
5
|
+
import { PRODUCT_TEXT } from "../../product-identity.js";
|
|
6
|
+
import { boundedCleanup } from "../../foundation/terminal-cleanup/terminal-reset.js";
|
|
7
|
+
import { assertOwnedUiCommand } from "../../contracts/owned-ui/index.js";
|
|
8
|
+
import { assertPromptImages, ImageAttachmentError } from "../../contracts/owned-ui/index.js";
|
|
9
9
|
import { ContextualPromptSuggestionController } from "./prompt-suggestion-controller.js";
|
|
10
|
-
import { MOUSE_TRACKING_OFF, MOUSE_TRACKING_ON, parseMouseInput } from "
|
|
11
|
-
import { readVisibleHyperlinks } from "
|
|
12
|
-
import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "
|
|
13
|
-
import { createPiExtensionUiBridge } from "
|
|
14
|
-
import { createPiShellEditor } from "
|
|
15
|
-
import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "
|
|
16
|
-
import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "
|
|
17
|
-
import { createPiShellChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellStatusText, } from "
|
|
18
|
-
import { createPiShellTranscriptComponent, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "
|
|
19
|
-
import { onPiThemeChange, piTheme } from "
|
|
20
|
-
import { DamageAwareTerminalAdapter } from "
|
|
21
|
-
import { PiTuiRuntimeAdapter } from "
|
|
22
|
-
import { classifyPiTuiInput } from "
|
|
10
|
+
import { MOUSE_TRACKING_OFF, MOUSE_TRACKING_ON, parseMouseInput } from "../../ui/components/mouse.js";
|
|
11
|
+
import { readVisibleHyperlinks } from "../../ui/components/visible-hyperlinks.js";
|
|
12
|
+
import { PINNED_PI_HIDDEN_COMMAND_NAMES, PINNED_PI_WORKFLOW_COMMAND_NAMES } from "../../integrations/pi/engine/workflows.js";
|
|
13
|
+
import { createPiExtensionUiBridge } from "../../integrations/pi/components/shell-extension-ui.js";
|
|
14
|
+
import { createPiShellEditor } from "../../integrations/pi/components/shell-editor-autocomplete.js";
|
|
15
|
+
import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../../integrations/pi/components/shell-footer-status.js";
|
|
16
|
+
import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDaxnuts, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellModelSelector, createPiShellOperationLoader, createPiShellReloadBox, createPiShellScopedModelsSelector, createPiShellSelector, createPiShellSessionSelector, createPiShellSettingsSelector, createPiShellThinkingSelector, createPiShellTreeSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../../integrations/pi/components/shell-selectors-dialogs.js";
|
|
17
|
+
import { createPiShellChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellStatusText, } from "../../integrations/pi/components/shell-presenters-info.js";
|
|
18
|
+
import { createPiShellTranscriptComponent, renderPiShellPackageUpdateNotice, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../../integrations/pi/components/shell-presenters-transcript.js";
|
|
19
|
+
import { onPiThemeChange, piTheme } from "../../integrations/pi/components/upstream/theme/theme.js";
|
|
20
|
+
import { DamageAwareTerminalAdapter } from "../../integrations/pi/tui-runtime/damage-aware-terminal.js";
|
|
21
|
+
import { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
|
|
22
|
+
import { classifyPiTuiInput } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
|
|
23
23
|
import { runImageWorker } from "./image-preparation-client.js";
|
|
24
24
|
import { STREAM_PRESENTATION_INTERVAL_MS, StreamPresentationCoalescer, } from "./stream-presentation-coalescer.js";
|
|
25
25
|
import { writeSystemClipboardText, } from "./system-clipboard.js";
|
|
26
26
|
import { OwnedUiSessionShellRoot, shellResourceEntries, } from "./session-shell-root.js";
|
|
27
|
-
export { OwnedUiSessionShellRoot } from "./session-shell-root.js";
|
|
27
|
+
export { OwnedUiSessionShellRoot, } from "./session-shell-root.js";
|
|
28
28
|
/** Coordinates backend, owned presentation, and Pi TUI lifecycles for one interactive session. */
|
|
29
29
|
export class OwnedUiSessionShell {
|
|
30
30
|
backend;
|
|
@@ -53,6 +53,8 @@ export class OwnedUiSessionShell {
|
|
|
53
53
|
#pointerReporting = false;
|
|
54
54
|
#customViewport;
|
|
55
55
|
#responseCopy;
|
|
56
|
+
// Rationale: only an executor this shell created owns a spare copy helper worth warming and disposing.
|
|
57
|
+
#copyExecutor;
|
|
56
58
|
#unbindClipboardWriter;
|
|
57
59
|
#damageTerminal;
|
|
58
60
|
#quitOutro;
|
|
@@ -75,13 +77,17 @@ export class OwnedUiSessionShell {
|
|
|
75
77
|
#sessionBindingGeneration;
|
|
76
78
|
#suggestionModelKey;
|
|
77
79
|
constructor(options) {
|
|
78
|
-
|
|
80
|
+
const { backend, cwd, routeHost, sessionLayout } = options.engine;
|
|
81
|
+
const { terminal, startup, viewportSettings, quitOutro, reload: reloadPresentation, stream: streamPresentationOptions, input: inputPresentation } = options.presentation ?? {};
|
|
82
|
+
const { clipboard, responseCopy, paste: pasteDiagnostics, pastePreparation } = options.diagnostics ?? {};
|
|
83
|
+
const promptHistory = options.history;
|
|
84
|
+
this.backend = backend;
|
|
79
85
|
this.#sessionGeneration = this.backend.sessionGeneration;
|
|
80
86
|
this.#sessionBindingGeneration = this.backend.sessionBindingGeneration;
|
|
81
87
|
this.#suggestionModelKey = modelKey(this.backend.view());
|
|
82
|
-
this.#cwd =
|
|
83
|
-
this.#routeHost =
|
|
84
|
-
this.#customViewport =
|
|
88
|
+
this.#cwd = cwd;
|
|
89
|
+
this.#routeHost = routeHost ?? null;
|
|
90
|
+
this.#customViewport = sessionLayout === "custom-viewport";
|
|
85
91
|
this.#stopped = new Promise(resolve => {
|
|
86
92
|
this.#resolveStopped = resolve;
|
|
87
93
|
});
|
|
@@ -90,22 +96,22 @@ export class OwnedUiSessionShell {
|
|
|
90
96
|
let streamPresentation;
|
|
91
97
|
let pendingClipboardWrite = Promise.resolve();
|
|
92
98
|
let promptSuggestionController = null;
|
|
93
|
-
const terminalCopy =
|
|
99
|
+
const terminalCopy = terminal !== undefined || hasAsyncClipboardOutput();
|
|
94
100
|
this.#responseCopy = this.#customViewport ? new ResponseCopyCoordinator({
|
|
95
|
-
execute:
|
|
96
|
-
...(
|
|
97
|
-
...(
|
|
101
|
+
execute: responseCopy?.execute ?? (this.#copyExecutor = createResponseCopyExecutor({
|
|
102
|
+
...(terminal === undefined && clipboard === undefined ? {} : { destination: "terminal" }),
|
|
103
|
+
...(clipboard?.writeText === undefined ? {} : { writeText: (text, signal) => clipboard.writeText(text, signal) }),
|
|
98
104
|
...(terminalCopy ? { terminal: { submit: async (control, signal) => {
|
|
99
105
|
if (signal.aborted || this.#disposed || !runtime?.active)
|
|
100
106
|
throw new Error("Copy canceled");
|
|
101
107
|
// Performance: never grow the real terminal's pending buffer with another clipboard payload.
|
|
102
|
-
if (
|
|
108
|
+
if (terminal === undefined && process.stdout.writableLength + control.length > MAX_COPY_CONTROL_BYTES) {
|
|
103
109
|
throw new Error("Clipboard terminal is busy");
|
|
104
110
|
}
|
|
105
111
|
runtime.writeControl(control);
|
|
106
112
|
} } } : {}),
|
|
107
|
-
}),
|
|
108
|
-
...(
|
|
113
|
+
})),
|
|
114
|
+
...(responseCopy?.onEvent === undefined ? {} : { onEvent: responseCopy.onEvent }),
|
|
109
115
|
onFailure: result => {
|
|
110
116
|
if (this.#disposed || !runtime?.active)
|
|
111
117
|
return;
|
|
@@ -118,10 +124,10 @@ export class OwnedUiSessionShell {
|
|
|
118
124
|
const readClipboard = async (signal) => {
|
|
119
125
|
if (signal.aborted)
|
|
120
126
|
throw new ImageAttachmentError("image-canceled");
|
|
121
|
-
if (
|
|
127
|
+
if (clipboard === undefined)
|
|
122
128
|
return runImageWorker({ kind: "clipboard" }, signal);
|
|
123
129
|
try {
|
|
124
|
-
const image = await
|
|
130
|
+
const image = await clipboard.readImage?.(signal);
|
|
125
131
|
if (image !== null && image !== undefined) {
|
|
126
132
|
const canonical = await runImageWorker({ kind: "canonicalize", source: image }, signal);
|
|
127
133
|
if (canonical !== null)
|
|
@@ -133,12 +139,12 @@ export class OwnedUiSessionShell {
|
|
|
133
139
|
throw error;
|
|
134
140
|
// Compatibility: an unavailable image reader can still provide text.
|
|
135
141
|
}
|
|
136
|
-
const text = await
|
|
142
|
+
const text = await clipboard.readText(signal);
|
|
137
143
|
return text === null ? null : { kind: "text", text };
|
|
138
144
|
};
|
|
139
|
-
this.root = new OwnedUiSessionShellRoot(this.backend.view(),
|
|
140
|
-
getColumns: () => runtime?.viewport().columns ??
|
|
141
|
-
getRows: () => runtime?.viewport().rows ??
|
|
145
|
+
this.root = new OwnedUiSessionShellRoot(this.backend.view(), cwd, {
|
|
146
|
+
getColumns: () => runtime?.viewport().columns ?? terminal?.columns ?? 80,
|
|
147
|
+
getRows: () => runtime?.viewport().rows ?? terminal?.rows ?? 24,
|
|
142
148
|
requestRender: force => runtime?.requestRender(force),
|
|
143
149
|
requestHyperlinkCleanup: rows => damageTerminal?.requestHyperlinkCleanup(rows),
|
|
144
150
|
onViewportFrame: frame => damageTerminal?.arm(frame.descriptor, {
|
|
@@ -146,9 +152,9 @@ export class OwnedUiSessionShell {
|
|
|
146
152
|
selectionActive: this.root.hasActiveSelection(),
|
|
147
153
|
replacementSurfaceActive: !this.root.usesDefaultInputSurface(),
|
|
148
154
|
}),
|
|
149
|
-
enableDockInputReuse:
|
|
150
|
-
persistentHistory: this.#customViewport &&
|
|
151
|
-
...(
|
|
155
|
+
enableDockInputReuse: inputPresentation?.viewportReuse !== false,
|
|
156
|
+
persistentHistory: this.#customViewport && promptHistory !== undefined,
|
|
157
|
+
...(promptHistory === undefined ? {} : { historyEditor: promptHistory.editor }),
|
|
152
158
|
onSubmit: text => { void this.submit(text).catch(() => this.#reportSubmissionError()); },
|
|
153
159
|
onPasteRejected: error => this.#reportSubmissionError(error),
|
|
154
160
|
onInterrupt: () => { void this.interrupt(); },
|
|
@@ -179,8 +185,8 @@ export class OwnedUiSessionShell {
|
|
|
179
185
|
if (this.#disposed)
|
|
180
186
|
return Promise.resolve();
|
|
181
187
|
runtime?.writeControl(`\u001b]52;c;${Buffer.from(text, "utf8").toString("base64")}\u0007`);
|
|
182
|
-
return
|
|
183
|
-
:
|
|
188
|
+
return clipboard === undefined ? writeSystemClipboardText(text)
|
|
189
|
+
: clipboard.writeText?.(text) ?? Promise.resolve();
|
|
184
190
|
};
|
|
185
191
|
// Compatibility: comparison profiles retain their existing clipboard path.
|
|
186
192
|
pendingClipboardWrite = write().catch(() => { });
|
|
@@ -191,7 +197,7 @@ export class OwnedUiSessionShell {
|
|
|
191
197
|
},
|
|
192
198
|
captureClipboardPaste: () => {
|
|
193
199
|
const before = this.#responseCopy?.capturePasteBarrier() ?? (async () => true);
|
|
194
|
-
if (
|
|
200
|
+
if (clipboard !== undefined)
|
|
195
201
|
return { kind: "provided", read: readClipboard, before };
|
|
196
202
|
if (responseCopyDestination(process.env) === "terminal")
|
|
197
203
|
return {
|
|
@@ -199,15 +205,16 @@ export class OwnedUiSessionShell {
|
|
|
199
205
|
};
|
|
200
206
|
return { kind: "native", before };
|
|
201
207
|
},
|
|
202
|
-
...(
|
|
208
|
+
...(pasteDiagnostics === undefined ? {} : { pasteDiagnostics: pasteDiagnostics }),
|
|
209
|
+
...(pastePreparation === undefined ? {} : { pastePreparation }),
|
|
203
210
|
}, {
|
|
204
|
-
...
|
|
205
|
-
resources:
|
|
211
|
+
...startup,
|
|
212
|
+
resources: startup?.resources ?? shellResourceEntries(this.backend),
|
|
206
213
|
}, this.backend.agentDir, {
|
|
207
214
|
getMessageRenderer: customType => this.backend.pinnedMessageRenderer(customType),
|
|
208
215
|
getToolDefinition: toolName => this.backend.pinnedToolDefinition(toolName),
|
|
209
216
|
getShortcuts: bindings => this.backend.pinnedShortcutDescriptions(bindings),
|
|
210
|
-
},
|
|
217
|
+
}, sessionLayout, {
|
|
211
218
|
resolve: assetId => this.backend.resolveTranscriptImage(assetId),
|
|
212
219
|
});
|
|
213
220
|
// Invariant: bare A1 owns a bounded viewport and therefore always runs on the alternate
|
|
@@ -229,36 +236,36 @@ export class OwnedUiSessionShell {
|
|
|
229
236
|
});
|
|
230
237
|
return damageTerminal;
|
|
231
238
|
},
|
|
232
|
-
...(
|
|
239
|
+
...(inputPresentation?.coordination === false ? {} : {
|
|
233
240
|
inputCoordination: {
|
|
234
241
|
classify: (data, focusedOverlay) => classifyPiTuiInput(data, focusedOverlay ?? this.root.inputCoordinationSurface()),
|
|
235
242
|
onReceipt: () => streamPresentation?.noteImmediatePresentation(),
|
|
236
|
-
...(
|
|
243
|
+
...(inputPresentation?.scheduler === undefined
|
|
237
244
|
? {}
|
|
238
|
-
: { scheduler:
|
|
245
|
+
: { scheduler: inputPresentation.scheduler }),
|
|
239
246
|
},
|
|
240
247
|
}),
|
|
241
248
|
} : { layoutRoot: this.root.layoutRoot() }),
|
|
242
|
-
...(
|
|
249
|
+
...(inputPresentation?.onEvent === undefined ? {} : {
|
|
243
250
|
inputDiagnostics: {
|
|
244
|
-
onEvent:
|
|
245
|
-
...(
|
|
251
|
+
onEvent: inputPresentation.onEvent,
|
|
252
|
+
...(inputPresentation.now === undefined ? {} : { now: inputPresentation.now }),
|
|
246
253
|
},
|
|
247
254
|
}),
|
|
248
|
-
...(
|
|
255
|
+
...(terminal === undefined ? {} : { terminal: terminal }),
|
|
249
256
|
hardwareCursor: this.backend.view().terminal.hardwareCursor,
|
|
250
257
|
};
|
|
251
258
|
runtime = new PiTuiRuntimeAdapter(runtimeOptions);
|
|
252
259
|
this.runtime = runtime;
|
|
253
260
|
this.#damageTerminal = damageTerminal ?? null;
|
|
254
|
-
this.#quitOutro =
|
|
255
|
-
this.#reloadPresentation =
|
|
256
|
-
const presentationInterval =
|
|
257
|
-
streamPresentation =
|
|
261
|
+
this.#quitOutro = quitOutro;
|
|
262
|
+
this.#reloadPresentation = reloadPresentation;
|
|
263
|
+
const presentationInterval = streamPresentationOptions?.intervalMs ?? STREAM_PRESENTATION_INTERVAL_MS;
|
|
264
|
+
streamPresentation = streamPresentationOptions?.scheduler === undefined
|
|
258
265
|
? new StreamPresentationCoalescer(() => this.runtime.requestRender(), presentationInterval)
|
|
259
|
-
: new StreamPresentationCoalescer(() => this.runtime.requestRender(), presentationInterval,
|
|
266
|
+
: new StreamPresentationCoalescer(() => this.runtime.requestRender(), presentationInterval, streamPresentationOptions.scheduler);
|
|
260
267
|
this.#streamPresentation = streamPresentation;
|
|
261
|
-
const promptSuggestionOptions = this.#customViewport ? options.
|
|
268
|
+
const promptSuggestionOptions = this.#customViewport ? options.suggestions : undefined;
|
|
262
269
|
promptSuggestionController = promptSuggestionOptions === undefined ? null : new ContextualPromptSuggestionController({
|
|
263
270
|
generator: promptSuggestionOptions.generator,
|
|
264
271
|
enabled: promptSuggestionOptions.enabled(),
|
|
@@ -310,7 +317,7 @@ export class OwnedUiSessionShell {
|
|
|
310
317
|
});
|
|
311
318
|
this.#removeViewportPreInput = this.#customViewport
|
|
312
319
|
? this.runtime.addPreInputListener(data => {
|
|
313
|
-
if (
|
|
320
|
+
if (inputPresentation?.coordination === false)
|
|
314
321
|
this.#streamPresentation.noteImmediatePresentation();
|
|
315
322
|
// Compatibility: Pi's fullscreen renderer also intercepts plain Home/End.
|
|
316
323
|
// Deliver them to the focused owned input before that outer scroll handler;
|
|
@@ -339,7 +346,7 @@ export class OwnedUiSessionShell {
|
|
|
339
346
|
})
|
|
340
347
|
: () => { };
|
|
341
348
|
const applyViewportSettings = () => {
|
|
342
|
-
const snapshot =
|
|
349
|
+
const snapshot = viewportSettings?.snapshot();
|
|
343
350
|
this.root.setViewportConfig(snapshot ?? {
|
|
344
351
|
scrollbarAppearance: "auto",
|
|
345
352
|
scrollbarStyle: "thin",
|
|
@@ -347,8 +354,8 @@ export class OwnedUiSessionShell {
|
|
|
347
354
|
});
|
|
348
355
|
};
|
|
349
356
|
applyViewportSettings();
|
|
350
|
-
this.#unsubscribeSettings = this.#customViewport &&
|
|
351
|
-
?
|
|
357
|
+
this.#unsubscribeSettings = this.#customViewport && viewportSettings
|
|
358
|
+
? viewportSettings.onChange(settings => this.root.setViewportConfig(settings))
|
|
352
359
|
: () => { };
|
|
353
360
|
this.root.setEditorPaddingX(initialPiSettings.editorPaddingX);
|
|
354
361
|
this.root.setAutocompleteMaxVisible(initialPiSettings.autocompleteMaxVisible);
|
|
@@ -397,13 +404,13 @@ export class OwnedUiSessionShell {
|
|
|
397
404
|
this.root.setImagePresentation(this.#showImages, this.#imageWidthCells);
|
|
398
405
|
} },
|
|
399
406
|
});
|
|
400
|
-
if (this.#customViewport &&
|
|
401
|
-
this.#promptHistoryImageSidecar =
|
|
407
|
+
if (this.#customViewport && promptHistory !== undefined) {
|
|
408
|
+
this.#promptHistoryImageSidecar = promptHistory.imageSidecar;
|
|
402
409
|
const sidecar = this.#promptHistoryImageSidecar;
|
|
403
410
|
this.#promptHistory = new PromptHistoryController({
|
|
404
411
|
editor: this.root.editor,
|
|
405
|
-
store:
|
|
406
|
-
limit:
|
|
412
|
+
store: promptHistory.store,
|
|
413
|
+
limit: promptHistory.limit,
|
|
407
414
|
fallback: this.view().transcript.flatMap(block => block.kind === "user" ? [block.text] : []),
|
|
408
415
|
active: () => this.root.usesDefaultInputSurface(),
|
|
409
416
|
render: () => this.runtime.requestRender(),
|
|
@@ -535,6 +542,13 @@ export class OwnedUiSessionShell {
|
|
|
535
542
|
this.#setPointerReporting(true);
|
|
536
543
|
void this.backend.bindExtensionUi(this.#extensionBridge.context, () => { void this.shutdown(); });
|
|
537
544
|
this.#syncView();
|
|
545
|
+
// Performance: the spare clipboard helpers fork after the first frame is out, so startup never waits on them.
|
|
546
|
+
setImmediate(() => {
|
|
547
|
+
if (this.#disposed || !this.#customViewport)
|
|
548
|
+
return;
|
|
549
|
+
this.root.warmPastePreparation();
|
|
550
|
+
this.#copyExecutor?.warm();
|
|
551
|
+
});
|
|
538
552
|
}
|
|
539
553
|
onView(listener) {
|
|
540
554
|
this.#listeners.add(listener);
|
|
@@ -806,6 +820,20 @@ export class OwnedUiSessionShell {
|
|
|
806
820
|
this.#dialogHandle = handle;
|
|
807
821
|
return handle;
|
|
808
822
|
}
|
|
823
|
+
showThinkingSelector() {
|
|
824
|
+
const snapshot = this.backend.pinnedSettingsSnapshot();
|
|
825
|
+
const close = () => {
|
|
826
|
+
this.root.setInputSurface(null);
|
|
827
|
+
this.runtime.requestRender();
|
|
828
|
+
};
|
|
829
|
+
const select = (level, persist) => {
|
|
830
|
+
close();
|
|
831
|
+
void this.runWorkflow({ command: "thinking", argument: "", selection: level, ...(persist ? { persist: true } : {}) });
|
|
832
|
+
};
|
|
833
|
+
const component = createPiShellThinkingSelector(snapshot.thinkingLevel, snapshot.availableThinkingLevels, level => select(level, false), close, level => select(level, true), snapshot.defaultThinkingLevel);
|
|
834
|
+
this.root.setInputSurface(component);
|
|
835
|
+
this.runtime.requestRender();
|
|
836
|
+
}
|
|
809
837
|
showModelSelector(initialSearchInput) {
|
|
810
838
|
const context = this.backend.pinnedModelSelectorContext();
|
|
811
839
|
const close = () => {
|
|
@@ -824,6 +852,10 @@ export class OwnedUiSessionShell {
|
|
|
824
852
|
close();
|
|
825
853
|
void this.runWorkflow({ command: "model", argument: "", selection: modelReference(model) });
|
|
826
854
|
},
|
|
855
|
+
onSelectAsDefault: model => {
|
|
856
|
+
close();
|
|
857
|
+
void this.runWorkflow({ command: "model", argument: "", selection: modelReference(model), persist: true });
|
|
858
|
+
},
|
|
827
859
|
onCancel: close,
|
|
828
860
|
});
|
|
829
861
|
this.root.setInputSurface(component);
|
|
@@ -1021,12 +1053,16 @@ export class OwnedUiSessionShell {
|
|
|
1021
1053
|
this.root.setInputSurface(null);
|
|
1022
1054
|
this.runtime.requestRender();
|
|
1023
1055
|
};
|
|
1056
|
+
const { currentModel, ...settingsSnapshot } = snapshot;
|
|
1024
1057
|
const component = createPiShellSettingsSelector({
|
|
1025
1058
|
config: {
|
|
1026
|
-
...
|
|
1059
|
+
...settingsSnapshot,
|
|
1027
1060
|
availableThinkingLevels: [...snapshot.availableThinkingLevels],
|
|
1028
1061
|
availableThemes: [...snapshot.availableThemes],
|
|
1029
1062
|
warnings: { ...snapshot.warnings },
|
|
1063
|
+
modelThinkingLevels: { ...snapshot.modelThinkingLevels },
|
|
1064
|
+
...(currentModel === undefined ? {} : { currentModel: currentModel }),
|
|
1065
|
+
availableDefaultModels: snapshot.availableDefaultModels,
|
|
1030
1066
|
},
|
|
1031
1067
|
onChange: (callback, value) => {
|
|
1032
1068
|
if (callback === "onCancel") {
|
|
@@ -1111,6 +1147,10 @@ export class OwnedUiSessionShell {
|
|
|
1111
1147
|
this.showForkSelector();
|
|
1112
1148
|
return { outcome: "completed", diagnostic: null };
|
|
1113
1149
|
}
|
|
1150
|
+
if (request.command === "thinking" && request.selection === undefined && request.argument.trim().length === 0) {
|
|
1151
|
+
this.showThinkingSelector();
|
|
1152
|
+
return { outcome: "completed", diagnostic: null };
|
|
1153
|
+
}
|
|
1114
1154
|
if (request.command === "trust" && request.selection === undefined && request.confirmed === undefined) {
|
|
1115
1155
|
this.showTrustSelector();
|
|
1116
1156
|
return { outcome: "completed", diagnostic: null };
|
|
@@ -1350,6 +1390,7 @@ export class OwnedUiSessionShell {
|
|
|
1350
1390
|
// Invariant: the outro frame is what the terminal shows now, before any cleanup writes.
|
|
1351
1391
|
const outroFrame = this.#captureQuitOutroFrame();
|
|
1352
1392
|
this.#responseCopy?.dispose();
|
|
1393
|
+
this.#copyExecutor?.dispose();
|
|
1353
1394
|
this.#cancelWaitingImages();
|
|
1354
1395
|
const failures = [];
|
|
1355
1396
|
const attempt = (action) => { try {
|
package/dist/{integrations/pi/session-ui → app/session-shell}/session-viewport-controller.d.ts
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { PiTuiPointerSurface } from "
|
|
2
|
-
import type { OwnedUiViewportSettings } from "
|
|
3
|
-
import { type TranscriptViewportFrame, type TranscriptViewportFrameInput } from "
|
|
4
|
-
import type { SelectionCopySnapshot } from "
|
|
5
|
-
import type { PiShellEditorPort } from "
|
|
1
|
+
import type { PiTuiPointerSurface } from "../../integrations/pi/tui-runtime/contracts.js";
|
|
2
|
+
import type { OwnedUiViewportSettings } from "../../contracts/owned-ui/index.js";
|
|
3
|
+
import { type TranscriptViewportFrame, type TranscriptViewportFrameInput } from "../../ui/components/transcript-viewport.js";
|
|
4
|
+
import type { SelectionCopySnapshot } from "../../ui/components/selection-copy.js";
|
|
5
|
+
import type { PiShellEditorPort } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
6
6
|
import type { PasteEvent } from "./paste-protocol.js";
|
|
7
7
|
export interface SessionViewportControllerOptions {
|
|
8
8
|
readonly enabled: boolean;
|
package/dist/{integrations/pi/session-ui → app/session-shell}/session-viewport-controller.js
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { samePointerSurfaces } from "
|
|
2
|
-
import { TranscriptViewport } from "
|
|
3
|
-
import { readVisibleHyperlinks } from "
|
|
4
|
-
import { routeMouseInput } from "
|
|
5
|
-
import { scrollForTrackPage, scrollForThumbRow, scrollbarSelectionRows, scrollbarWheelRows } from "
|
|
1
|
+
import { samePointerSurfaces } from "../../integrations/pi/tui-runtime/overlay-geometry.js";
|
|
2
|
+
import { TranscriptViewport } from "../../ui/components/transcript-viewport.js";
|
|
3
|
+
import { readVisibleHyperlinks } from "../../ui/components/visible-hyperlinks.js";
|
|
4
|
+
import { routeMouseInput } from "../../ui/components/mouse.js";
|
|
5
|
+
import { scrollForTrackPage, scrollForThumbRow, scrollbarSelectionRows, scrollbarWheelRows } from "../../ui/components/scrollbar.js";
|
|
6
6
|
/**
|
|
7
7
|
* Owns the stateful interaction policy of the bare-A1 session viewport. The
|
|
8
8
|
* shell root supplies semantic rows and dock geometry; this controller owns
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PiShellClipboardContent } from "
|
|
1
|
+
import type { PiShellClipboardContent } from "../../integrations/pi/components/shell-shared-facade.js";
|
|
2
2
|
export interface SystemClipboardImageReader {
|
|
3
3
|
hasImage(): boolean;
|
|
4
4
|
getImageBinary?(): Promise<readonly number[]>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
2
|
import { canonicalizeClipboardImage } from "./clipboard-image.js";
|
|
3
|
-
import { ImageAttachmentError } from "
|
|
3
|
+
import { ImageAttachmentError } from "../../contracts/owned-ui/index.js";
|
|
4
4
|
import { assertSourceBytes } from "./image-source.js";
|
|
5
5
|
const MAX_CLIPBOARD_BYTES = 16 * 1024 * 1024;
|
|
6
6
|
let nativeClipboardPromise;
|
package/dist/cli/index.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export
|
|
1
|
+
export { cliCapabilities, isPrereleaseVersion } from "./capabilities.js";
|
|
2
|
+
export type { CliCapabilities } from "./capabilities.js";
|
|
3
|
+
export { cliHelp, cliUsage, dispatchCli, parseCliCommand } from "./dispatch.js";
|
|
4
|
+
export type { CliCommand, CliHandlers, CliOutput, UpdateChannel } from "./dispatch.js";
|
|
5
|
+
export { renderPackageOutcome, runPackageCommand } from "./packages.js";
|
|
6
|
+
export type { PackageCommandEnvironment, PackageCommandRequest, PackageCommandStyle, PackageCommandVerb } from "./packages.js";
|
|
7
|
+
export { runVersionStats } from "./version-stats.js";
|
|
8
|
+
export type { VersionStatsOptions } from "./version-stats.js";
|
package/dist/cli/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
5
|
-
export * from "./version-stats.js";
|
|
1
|
+
export { cliCapabilities, isPrereleaseVersion } from "./capabilities.js";
|
|
2
|
+
export { cliHelp, cliUsage, dispatchCli, parseCliCommand } from "./dispatch.js";
|
|
3
|
+
export { renderPackageOutcome, runPackageCommand } from "./packages.js";
|
|
4
|
+
export { runVersionStats } from "./version-stats.js";
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
export { composeOwnedUi, composeOwnedUiApplication, type OwnedUiComposition, type OwnedUiCompositionOptions, } from "./owned-ui.js";
|
|
2
|
-
export { composeProcess, type ProcessComposition, type ProcessCompositionOptions, } from "./process.js";
|
|
3
2
|
export { createOwnedRouteHost } from "./settings-route-host.js";
|
|
@@ -2,7 +2,7 @@ import type { SessionSelection } from "../foundation/lifecycle/session-selection
|
|
|
2
2
|
import type { PiEngineAdapter } from "../integrations/pi/engine/adapter.js";
|
|
3
3
|
import type { PiProjectTrustPreflightPrompt } from "../integrations/pi/engine/project-trust-preflight.js";
|
|
4
4
|
import type { PiSessionForkPrompt } from "../integrations/pi/engine/session-selection.js";
|
|
5
|
-
import {
|
|
5
|
+
import { OwnedSettingsManager } from "../ui/settings/manager.js";
|
|
6
6
|
import type { OwnedUiApplicationPort, PresentationTerminalPort } from "../contracts/presentation/index.js";
|
|
7
7
|
export interface OwnedUiCompositionOptions {
|
|
8
8
|
readonly cwd?: string;
|
|
@@ -31,7 +31,7 @@ export interface OwnedUiCompositionOptions {
|
|
|
31
31
|
export interface OwnedUiComposition {
|
|
32
32
|
readonly application: OwnedUiApplicationPort;
|
|
33
33
|
/** Present when a profile was supplied, so the caller can resolve settings before start. */
|
|
34
|
-
readonly settings:
|
|
34
|
+
readonly settings: OwnedSettingsManager | null;
|
|
35
35
|
}
|
|
36
36
|
export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
|
|
37
37
|
export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;
|