@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
|
@@ -20,46 +20,6 @@ export class PiPromptSuggestions {
|
|
|
20
20
|
// Performance: the run's own level keeps the provider's thinking parameters, and the cached prefix, identical.
|
|
21
21
|
return readSuggestionReasoning(session.thinkingLevel);
|
|
22
22
|
}
|
|
23
|
-
async completeInstruction(instruction, maxTokens, signal) {
|
|
24
|
-
const session = this.#ports.session();
|
|
25
|
-
const runtime = this.#ports.runtime();
|
|
26
|
-
if (this.#ports.unavailable() || session === undefined || runtime === undefined || signal.aborted
|
|
27
|
-
|| session.model === undefined || typeof runtime.services.modelRuntime.completeSimple !== "function")
|
|
28
|
-
return null;
|
|
29
|
-
const agent = session.agent;
|
|
30
|
-
try {
|
|
31
|
-
const transformed = typeof agent.transformContext === "function"
|
|
32
|
-
? await agent.transformContext(agent.state.messages, signal)
|
|
33
|
-
: agent.state.messages;
|
|
34
|
-
const messages = typeof agent.convertToLlm === "function"
|
|
35
|
-
? await agent.convertToLlm(transformed)
|
|
36
|
-
: transformed.filter(message => message.role === "user" || message.role === "assistant" || message.role === "toolResult");
|
|
37
|
-
const response = await runtime.services.modelRuntime.completeSimple(session.model, {
|
|
38
|
-
systemPrompt: agent.state.systemPrompt,
|
|
39
|
-
messages: [...messages, { role: "user", content: instruction, timestamp: Date.now() }],
|
|
40
|
-
tools: [],
|
|
41
|
-
}, {
|
|
42
|
-
signal,
|
|
43
|
-
maxTokens,
|
|
44
|
-
...(agent.sessionId === undefined ? {} : { sessionId: agent.sessionId }),
|
|
45
|
-
...(agent.transport === undefined ? {} : { transport: agent.transport }),
|
|
46
|
-
...(agent.onPayload === undefined ? {} : { onPayload: agent.onPayload }),
|
|
47
|
-
});
|
|
48
|
-
if (signal.aborted || !isRecord(response) || response.stopReason === "aborted"
|
|
49
|
-
|| response.stopReason === "error" || response.stopReason === "length"
|
|
50
|
-
|| stringValue(response.errorMessage) !== undefined)
|
|
51
|
-
return null;
|
|
52
|
-
const content = Array.isArray(response.content) ? response.content : [];
|
|
53
|
-
if (content.some(block => isRecord(block) && block.type === "toolCall"))
|
|
54
|
-
return null;
|
|
55
|
-
const text = content.filter(block => isRecord(block) && block.type === "text")
|
|
56
|
-
.map(block => stringValue(block.text) ?? "").join("\n").trim();
|
|
57
|
-
return text || null;
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return null;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
23
|
async generate(request) {
|
|
64
24
|
assertOwnedUiPromptSuggestionRequest(request);
|
|
65
25
|
const identity = request.identity;
|
|
@@ -4,7 +4,7 @@ import type { OwnedUiModelInfo } from "../../../contracts/owned-ui/index.js";
|
|
|
4
4
|
import type { PiWorkflowInteractionHost, PiWorkflowRequest, PiWorkflowResult } from "./workflows.js";
|
|
5
5
|
type PiSessionApi = AgentSession;
|
|
6
6
|
type PiRuntimeApi = AgentSessionRuntime;
|
|
7
|
-
|
|
7
|
+
interface PiProviderAuthenticationPorts {
|
|
8
8
|
runtime(): PiRuntimeApi | undefined;
|
|
9
9
|
requireSession(): PiSessionApi;
|
|
10
10
|
disposed(): boolean;
|
|
@@ -1,5 +1 @@
|
|
|
1
|
-
export
|
|
2
|
-
readonly main?: (arguments_: string[]) => Promise<void>;
|
|
3
|
-
readonly stderr?: (message: string) => void;
|
|
4
|
-
}
|
|
5
|
-
export declare function runPublicMainEntry(arguments_: readonly string[], dependencies?: PublicMainEntryDependencies): Promise<number>;
|
|
1
|
+
export {};
|
|
@@ -2,7 +2,7 @@ import { realpathSync } from "node:fs";
|
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
4
|
import { main as runPublicMain } from "@earendil-works/pi-coding-agent";
|
|
5
|
-
|
|
5
|
+
async function runPublicMainEntry(arguments_, dependencies = {}) {
|
|
6
6
|
try {
|
|
7
7
|
await (dependencies.main ?? runPublicMain)([...arguments_]);
|
|
8
8
|
return 0;
|
|
@@ -2,20 +2,12 @@ interface PiPullRequestIdentity {
|
|
|
2
2
|
readonly number: number;
|
|
3
3
|
readonly url: string;
|
|
4
4
|
}
|
|
5
|
-
export interface PiGitHubRepositoryIdentity {
|
|
6
|
-
readonly owner: string;
|
|
7
|
-
readonly repository: string;
|
|
8
|
-
}
|
|
9
5
|
type PiGitHubFetch = (input: string | URL, init?: RequestInit) => Promise<Response>;
|
|
10
6
|
type PiCommandReader = (cwd: string, signal: AbortSignal) => Promise<string | null>;
|
|
11
|
-
|
|
7
|
+
interface PiPullRequestRestDependencies {
|
|
12
8
|
readonly readOriginUrl?: PiCommandReader;
|
|
13
9
|
readonly fetch?: PiGitHubFetch;
|
|
14
10
|
}
|
|
15
11
|
/** Discover one exact branch pull request through GitHub's read-only REST API. */
|
|
16
12
|
export declare function readPullRequestFromGitHub(cwd: string, branch: string, signal: AbortSignal, environment?: NodeJS.ProcessEnv, dependencies?: PiPullRequestRestDependencies): Promise<PiPullRequestIdentity | null>;
|
|
17
|
-
/** Parse a supported GitHub origin URL without accepting credentials or non-GitHub hosts. */
|
|
18
|
-
export declare function parseGitHubRepositoryRemote(remote: string): PiGitHubRepositoryIdentity | null;
|
|
19
|
-
/** Validate a GitHub REST pull list as one exact branch association. */
|
|
20
|
-
export declare function parseGitHubPullRequests(value: unknown, expectedRepository: PiGitHubRepositoryIdentity, branch: string): PiPullRequestIdentity | null;
|
|
21
13
|
export {};
|
|
@@ -50,7 +50,7 @@ export async function readPullRequestFromGitHub(cwd, branch, signal, environment
|
|
|
50
50
|
}
|
|
51
51
|
}
|
|
52
52
|
/** Parse a supported GitHub origin URL without accepting credentials or non-GitHub hosts. */
|
|
53
|
-
|
|
53
|
+
function parseGitHubRepositoryRemote(remote) {
|
|
54
54
|
const value = remote.trim();
|
|
55
55
|
if (value.length === 0 || /[\r\n]/u.test(value))
|
|
56
56
|
return null;
|
|
@@ -76,7 +76,7 @@ export function parseGitHubRepositoryRemote(remote) {
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
/** Validate a GitHub REST pull list as one exact branch association. */
|
|
79
|
-
|
|
79
|
+
function parseGitHubPullRequests(value, expectedRepository, branch) {
|
|
80
80
|
if (!Array.isArray(value))
|
|
81
81
|
return null;
|
|
82
82
|
const fullName = `${expectedRepository.owner}/${expectedRepository.repository}`;
|
|
@@ -5,12 +5,10 @@ export interface PiPullRequestIdentity {
|
|
|
5
5
|
export type PiPullRequestProbe = (cwd: string, branch: string, signal: AbortSignal) => Promise<PiPullRequestIdentity | null>;
|
|
6
6
|
type PiCommandReader = (cwd: string, signal: AbortSignal) => Promise<string | null>;
|
|
7
7
|
type PiPullRequestRestProbe = (cwd: string, branch: string, signal: AbortSignal, environment: NodeJS.ProcessEnv) => Promise<PiPullRequestIdentity | null>;
|
|
8
|
-
|
|
8
|
+
interface PiPullRequestDiscoveryDependencies {
|
|
9
9
|
readonly executeGh?: PiCommandReader;
|
|
10
10
|
readonly restProbe?: PiPullRequestRestProbe;
|
|
11
11
|
}
|
|
12
12
|
/** Read an exact branch's open or merged PR, preferring GitHub CLI before the REST fallback. */
|
|
13
13
|
export declare function readPullRequest(cwd: string, branch: string, signal: AbortSignal, environment?: NodeJS.ProcessEnv, dependencies?: PiPullRequestDiscoveryDependencies): Promise<PiPullRequestIdentity | null>;
|
|
14
|
-
/** Parse and validate the normalized payload emitted by `gh pr view`. */
|
|
15
|
-
export declare function parsePullRequest(stdout: string, branch: string): PiPullRequestIdentity | null;
|
|
16
14
|
export {};
|
|
@@ -20,7 +20,7 @@ export async function readPullRequest(cwd, branch, signal, environment = process
|
|
|
20
20
|
return (dependencies.restProbe ?? readPullRequestFromRest)(cwd, branch, signal, environment);
|
|
21
21
|
}
|
|
22
22
|
/** Parse and validate the normalized payload emitted by `gh pr view`. */
|
|
23
|
-
|
|
23
|
+
function parsePullRequest(stdout, branch) {
|
|
24
24
|
let value;
|
|
25
25
|
try {
|
|
26
26
|
value = JSON.parse(stdout);
|
|
@@ -5,7 +5,7 @@ import { type PiProductMode, type PiWorkflowAutocompleteCommand } from "./workfl
|
|
|
5
5
|
export type OwnedPiResourceSummary = OwnedUiResourceSummary;
|
|
6
6
|
export type OwnedPiExtensionSourceSummary = OwnedUiExtensionSourceSummary;
|
|
7
7
|
export type OwnedPiExtensionResourceSummary = OwnedUiExtensionResourceSummary;
|
|
8
|
-
|
|
8
|
+
interface PiResourceCatalogPorts {
|
|
9
9
|
session(): AgentSession | undefined;
|
|
10
10
|
runtime(): AgentSessionRuntime | undefined;
|
|
11
11
|
}
|
|
@@ -29,3 +29,4 @@ export declare function collectionResult(value: unknown, key: string): {
|
|
|
29
29
|
values: readonly unknown[];
|
|
30
30
|
diagnostics: readonly string[];
|
|
31
31
|
};
|
|
32
|
+
export {};
|
|
@@ -35,7 +35,7 @@ export type PiSessionCommand = {
|
|
|
35
35
|
readonly excludeFromContext: boolean;
|
|
36
36
|
readonly onChunk?: (chunk: string) => void;
|
|
37
37
|
};
|
|
38
|
-
|
|
38
|
+
type PiSessionCommandOutcome = "completed" | "rejected" | "failed" | "cancelled";
|
|
39
39
|
export interface PiSessionCommandResult {
|
|
40
40
|
readonly outcome: PiSessionCommandOutcome;
|
|
41
41
|
readonly value?: unknown;
|
|
@@ -20,13 +20,13 @@ export interface PiEngineRuntimeFactoryInput {
|
|
|
20
20
|
}
|
|
21
21
|
export type PiEngineRuntimeFactory = (input: PiEngineRuntimeFactoryInput) => Promise<AgentSessionRuntime>;
|
|
22
22
|
export type PiEnginePackageUpdateProbe = (settingsManager: AgentSessionServices["settingsManager"]) => Promise<readonly string[]>;
|
|
23
|
-
|
|
23
|
+
interface PiRepositoryContextSelection {
|
|
24
24
|
readonly cwd: string;
|
|
25
25
|
readonly branch: string;
|
|
26
26
|
}
|
|
27
27
|
export type PiRepositoryContextReader = (sessionId: string, sessionFile: string, signal: AbortSignal) => Promise<PiRepositoryContextSelection | null>;
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
type PiGitBranchReader = (cwd: string, signal: AbortSignal) => Promise<string | null>;
|
|
29
|
+
interface PiEngineRuntimeOptions {
|
|
30
30
|
readonly cwd: string;
|
|
31
31
|
readonly agentDir: string;
|
|
32
32
|
readonly sessionId: string;
|
|
@@ -106,3 +106,4 @@ export declare class PiEngineRuntime {
|
|
|
106
106
|
*/
|
|
107
107
|
announceChangelog(): Promise<void>;
|
|
108
108
|
}
|
|
109
|
+
export {};
|
|
@@ -2,7 +2,6 @@ import { execFile } from "node:child_process";
|
|
|
2
2
|
import { existsSync } from "node:fs";
|
|
3
3
|
import { promisify } from "node:util";
|
|
4
4
|
import { PRODUCT_IDENTITY } from "../../../product-identity.js";
|
|
5
|
-
import { residentProgressObserver } from "../../../foundation/resident-tabs/progress-observation.js";
|
|
6
5
|
import { observeCompactionProgress } from "./compaction-progress.js";
|
|
7
6
|
import { createPiRuntimeIntegration } from "./runtime-integration.js";
|
|
8
7
|
import { PiSessionCommandIntegration } from "./session-integration.js";
|
|
@@ -372,7 +371,6 @@ export class PiEngineRuntime {
|
|
|
372
371
|
this.#unsubscribe = session.subscribe(event => {
|
|
373
372
|
if (generation !== this.#sessionGeneration || this.#ports.disposed())
|
|
374
373
|
return;
|
|
375
|
-
residentProgressObserver()?.engineDelivery(event);
|
|
376
374
|
this.#ports.event(event);
|
|
377
375
|
});
|
|
378
376
|
}
|
|
@@ -120,6 +120,4 @@ export declare class PiSettingsBridge implements AgentSettingsPort {
|
|
|
120
120
|
writeSettingNow(key: string, value: AgentJsonValue): Promise<AgentSettingChangeOutcome>;
|
|
121
121
|
flush(): Promise<void>;
|
|
122
122
|
}
|
|
123
|
-
/** The engine keys overrides as `provider/modelId`; the model id may itself contain slashes. */
|
|
124
|
-
export declare function splitModelKey(key: string): [provider: string, modelId: string];
|
|
125
123
|
export {};
|
|
@@ -462,7 +462,7 @@ function modelThinkingLevels(settings) {
|
|
|
462
462
|
});
|
|
463
463
|
}
|
|
464
464
|
/** The engine keys overrides as `provider/modelId`; the model id may itself contain slashes. */
|
|
465
|
-
|
|
465
|
+
function splitModelKey(key) {
|
|
466
466
|
const at = key.indexOf("/");
|
|
467
467
|
return [key.slice(0, at), key.slice(at + 1)];
|
|
468
468
|
}
|
|
@@ -4,12 +4,12 @@ import type { AgentSession, AgentSessionRuntime } from "../startup-public.js";
|
|
|
4
4
|
import type { OwnedUiThinkingLevel } from "../../../contracts/owned-ui/index.js";
|
|
5
5
|
import type { AgentSettingOwner } from "../../../contracts/agent-engine/index.js";
|
|
6
6
|
import { type PiPinnedSettingsCallback, type PiPinnedSettingsSnapshot, type PiWorkflowResult } from "./workflows.js";
|
|
7
|
-
|
|
7
|
+
interface PiEngineSettingsOptions {
|
|
8
8
|
/** Themes installed on this machine, when the component adapter that owns the theme unit supplies them. */
|
|
9
9
|
readonly availableThemes: (() => readonly string[]) | null;
|
|
10
10
|
readonly productMode: "bare" | "comparison";
|
|
11
11
|
}
|
|
12
|
-
|
|
12
|
+
interface PiEngineSettingsPorts {
|
|
13
13
|
runtime(): AgentSessionRuntime | undefined;
|
|
14
14
|
/** The bound session, or a thrown "not running" error before one exists. */
|
|
15
15
|
requireSession(): AgentSession;
|
|
@@ -44,3 +44,4 @@ export declare class PiEngineSettings {
|
|
|
44
44
|
applyPinnedSettingValue(callback: PiPinnedSettingsCallback, value: unknown): Promise<PiWorkflowResult>;
|
|
45
45
|
applyPinnedSetting(selection: string, selectedValue?: unknown, hasSelectedValue?: boolean): Promise<PiWorkflowResult>;
|
|
46
46
|
}
|
|
47
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TranscriptImageAssets } from "./transcript-image-assets.js";
|
|
2
2
|
import { type OwnedUiTranscriptBlock, type OwnedUiTranscriptImageReference } from "../../../contracts/owned-ui/index.js";
|
|
3
|
-
|
|
3
|
+
interface PiTranscriptProjectionPorts {
|
|
4
4
|
/** Pinned Pi's current retry attempt, which words an aborted declaration's failure text. */
|
|
5
5
|
retryAttempt(): number;
|
|
6
6
|
/** Called once per stored block change, in order, so the adapter can deliver it. */
|
|
@@ -37,3 +37,4 @@ export declare class PiTranscriptProjection {
|
|
|
37
37
|
upsert(block: OwnedUiTranscriptBlock): void;
|
|
38
38
|
nextRevision(id: string): number;
|
|
39
39
|
}
|
|
40
|
+
export {};
|
|
@@ -3,7 +3,7 @@ import type { OwnedUiModelInfo } from "../../../contracts/owned-ui/index.js";
|
|
|
3
3
|
import type { PiAuthenticationProviderOption, PiModelsContext, PiModelsRefreshResult, PiProjectTrustContext, PiProjectTrustUpdate, PiScopedModelsContext, PiScopedModelsRefreshResult, PiSessionSelectorContext, PiTreeSelectorContext, PiWorkflowOption } from "./workflows.js";
|
|
4
4
|
type PiSessionApi = AgentSession;
|
|
5
5
|
type PiRuntimeApi = AgentSessionRuntime;
|
|
6
|
-
|
|
6
|
+
interface PiWorkflowContextPorts {
|
|
7
7
|
/** The working directory the runtime settled on; it can change when a session is resumed elsewhere. */
|
|
8
8
|
cwd(): string;
|
|
9
9
|
session(): PiSessionApi | undefined;
|
|
@@ -4,7 +4,7 @@ import type { OwnedUiModelInfo, OwnedUiSnapshot, OwnedUiThinkingLevel } from "..
|
|
|
4
4
|
import type { PiBashWorkflowResult, PiWorkflowHost, PiWorkflowInteractionHost, PiWorkflowRequest, PiWorkflowResult } from "./workflows.js";
|
|
5
5
|
type PiSessionApi = AgentSession;
|
|
6
6
|
type PiRuntimeApi = AgentSessionRuntime;
|
|
7
|
-
|
|
7
|
+
interface PiWorkflowRunnerOptions {
|
|
8
8
|
readonly agentDir: string;
|
|
9
9
|
readonly host: PiWorkflowHost;
|
|
10
10
|
readonly contexts: PiWorkflowContexts;
|
|
@@ -599,7 +599,7 @@ export class PiWorkflowRunner {
|
|
|
599
599
|
}
|
|
600
600
|
/**
|
|
601
601
|
* The name the session normalized the request to, or the request when it reports none. `/name`
|
|
602
|
-
* publishes a view right after setting it, so
|
|
602
|
+
* publishes a view right after setting it, so the footer shows the new name at once.
|
|
603
603
|
*/
|
|
604
604
|
function sessionNameOr(normalized, requested) {
|
|
605
605
|
return typeof normalized === "string" ? normalized : requested;
|
|
@@ -7,10 +7,6 @@ export declare function pinnedSessionInfoPresentation(value: unknown, sessionNam
|
|
|
7
7
|
readonly mode: unknown;
|
|
8
8
|
readonly status: unknown;
|
|
9
9
|
}): PiSessionInfoPresentation;
|
|
10
|
-
/** The engine reports warming as a mode plus, once it has acted, the decision that produced the state. */
|
|
11
|
-
export declare function pinnedCacheWarming(mode: unknown, status: unknown): PiSessionInfoPresentation["cacheWarming"];
|
|
12
|
-
export declare function pinnedUsageCostBreakdown(entries: readonly unknown[]): PiSessionInfoPresentation["usageBreakdown"];
|
|
13
|
-
export declare function pinnedCacheWaste(entries: readonly unknown[], modelRuntime: PiServicesApi["modelRuntime"]): PiSessionInfoPresentation["cacheWaste"];
|
|
14
10
|
export declare function defaultWorkflowHost(): PiWorkflowHost;
|
|
15
11
|
export declare function workflowLoginNotification(event: unknown): PiWorkflowLoginNotification | undefined;
|
|
16
12
|
export declare function workflowResult(command: PiWorkflowRequest["command"], outcome: PiWorkflowResult["outcome"], message: string, detail?: string, messageKind?: PiWorkflowResult["messageKind"], messages?: readonly PiWorkflowMessage[]): PiWorkflowResult;
|
|
@@ -33,7 +29,6 @@ export declare function withRadiusShareTrailingEntry(jsonl: string, state: {
|
|
|
33
29
|
readonly tools?: readonly unknown[];
|
|
34
30
|
}, id: string): string;
|
|
35
31
|
export declare function workflowOptions(value: unknown, idKey: string, labelKey: string): readonly PiWorkflowOption[];
|
|
36
|
-
export declare function sessionInfoOptions(value: readonly unknown[]): readonly PiWorkflowOption[];
|
|
37
32
|
export declare function pathArgument(value: string): string | undefined;
|
|
38
33
|
export declare function pinnedHotkeySummary(): string;
|
|
39
34
|
export declare function scopedModelRecords(modelRuntime: PiServicesApi["modelRuntime"]): readonly {
|
|
@@ -44,7 +39,6 @@ export declare function scopedModelReference(value: unknown): string | undefined
|
|
|
44
39
|
export declare function resolveConfiguredModelIds(patterns: readonly string[], models: readonly {
|
|
45
40
|
readonly descriptor: PiScopedModelDescriptor;
|
|
46
41
|
}[]): readonly string[];
|
|
47
|
-
export declare function wildcardMatcher(pattern: string): RegExp;
|
|
48
42
|
export declare function isUnknownModel(value: unknown): boolean;
|
|
49
43
|
export declare function findExactWorkflowModel<T>(reference: string, models: readonly T[]): T | undefined;
|
|
50
44
|
export {};
|
|
@@ -80,7 +80,7 @@ export function pinnedSessionInfoPresentation(value, sessionName, entries, model
|
|
|
80
80
|
};
|
|
81
81
|
}
|
|
82
82
|
/** The engine reports warming as a mode plus, once it has acted, the decision that produced the state. */
|
|
83
|
-
|
|
83
|
+
function pinnedCacheWarming(mode, status) {
|
|
84
84
|
const resolved = stringValue(mode) ?? "off";
|
|
85
85
|
if (!isRecord(status))
|
|
86
86
|
return { mode: resolved };
|
|
@@ -110,7 +110,7 @@ export function pinnedCacheWarming(mode, status) {
|
|
|
110
110
|
},
|
|
111
111
|
};
|
|
112
112
|
}
|
|
113
|
-
|
|
113
|
+
function pinnedUsageCostBreakdown(entries) {
|
|
114
114
|
const totals = new Map();
|
|
115
115
|
for (const entry of entries) {
|
|
116
116
|
if (!isRecord(entry))
|
|
@@ -147,7 +147,7 @@ export function pinnedUsageCostBreakdown(entries) {
|
|
|
147
147
|
.filter(entry => entry.cost > 0 || entry.tokens > 0)
|
|
148
148
|
.sort((a, b) => b.cost - a.cost);
|
|
149
149
|
}
|
|
150
|
-
|
|
150
|
+
function pinnedCacheWaste(entries, modelRuntime) {
|
|
151
151
|
let previous;
|
|
152
152
|
const totals = { missedTokens: 0, missedCost: 0, missCount: 0 };
|
|
153
153
|
for (const entry of entries) {
|
|
@@ -325,20 +325,6 @@ export function workflowOptions(value, idKey, labelKey) {
|
|
|
325
325
|
return [{ id, label: stringProperty(item, labelKey) ?? id }];
|
|
326
326
|
});
|
|
327
327
|
}
|
|
328
|
-
export function sessionInfoOptions(value) {
|
|
329
|
-
return value.filter(isRecord).flatMap(info => {
|
|
330
|
-
const path = stringProperty(info, "path");
|
|
331
|
-
if (!path)
|
|
332
|
-
return [];
|
|
333
|
-
const modified = info.modified instanceof Date ? info.modified.toISOString() : stringProperty(info, "modified") ?? "unknown time";
|
|
334
|
-
const messageCount = typeof info.messageCount === "number" ? info.messageCount : 0;
|
|
335
|
-
return [{
|
|
336
|
-
id: path,
|
|
337
|
-
label: stringProperty(info, "name") ?? stringProperty(info, "firstMessage") ?? stringProperty(info, "id") ?? path,
|
|
338
|
-
description: `${messageCount} messages · ${modified}`,
|
|
339
|
-
}];
|
|
340
|
-
});
|
|
341
|
-
}
|
|
342
328
|
export function pathArgument(value) {
|
|
343
329
|
if (!value)
|
|
344
330
|
return undefined;
|
|
@@ -390,7 +376,7 @@ export function resolveConfiguredModelIds(patterns, models) {
|
|
|
390
376
|
}
|
|
391
377
|
return resolved;
|
|
392
378
|
}
|
|
393
|
-
|
|
379
|
+
function wildcardMatcher(pattern) {
|
|
394
380
|
let source = "";
|
|
395
381
|
for (const character of pattern) {
|
|
396
382
|
if (character === "*")
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { SessionInfo } from "../startup-public.js";
|
|
2
|
-
import { type OwnedUiAuthenticationProviderOption, type OwnedUiAuthenticationProviderStatus, type OwnedUiBashWorkflowResult, type
|
|
2
|
+
import { type OwnedUiAuthenticationProviderOption, type OwnedUiAuthenticationProviderStatus, type OwnedUiBashWorkflowResult, type OwnedUiHiddenWorkflowCommandName, type OwnedUiModelsCommandName, type OwnedUiModelsContext, type OwnedUiModelsRefreshResult, type OwnedUiProjectTrustContext, type OwnedUiProjectTrustUpdate, type OwnedUiScopedModelDescriptor, type OwnedUiScopedModelsContext, type OwnedUiScopedModelsRefreshResult, type OwnedUiSessionInfoPresentation, type OwnedUiSessionProductMode, type OwnedUiSessionResumeMetadata, type OwnedUiSessionSettingsSnapshot, type OwnedUiWorkflowAutocompleteCommand, type OwnedUiWorkflowCommandName, type OwnedUiWorkflowInteractionHost, type OwnedUiWorkflowInteractionRequest, type OwnedUiWorkflowLoginNotification, type OwnedUiWorkflowLoginStart, type OwnedUiWorkflowMessage, type OwnedUiWorkflowMessageKind, type OwnedUiWorkflowOption, type OwnedUiWorkflowOutcome, type OwnedUiWorkflowPresentation, type OwnedUiWorkflowRequest, type OwnedUiWorkflowResult, type OwnedUiWorkflowRoute } from "../../../contracts/owned-ui/index.js";
|
|
3
3
|
export declare const PINNED_PI_WORKFLOW_COMMAND_NAMES: readonly ["settings", "model", "tree", "thinking", "scoped-models", "export", "import", "share", "copy", "name", "session", "changelog", "hotkeys", "fork", "clone", "trust", "login", "logout", "new", "compact", "resume", "reload", "quit"];
|
|
4
4
|
export declare const PINNED_PI_HIDDEN_COMMAND_NAMES: readonly ["debug", "arminsayshi", "dementedelves"];
|
|
5
5
|
/**
|
|
@@ -12,8 +12,8 @@ export declare const PINNED_PI_DECLINED_COMMAND_NAMES: readonly ["bug"];
|
|
|
12
12
|
export type PiWorkflowCommandName = OwnedUiWorkflowCommandName;
|
|
13
13
|
export type PiHiddenWorkflowCommandName = OwnedUiHiddenWorkflowCommandName;
|
|
14
14
|
export declare const OWNED_MODELS_COMMAND_NAME: "models";
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
type OwnedModelsCommandName = OwnedUiModelsCommandName;
|
|
16
|
+
type OwnedWorkflowCommandName = Exclude<PiWorkflowCommandName, "model" | "scoped-models"> | OwnedModelsCommandName;
|
|
17
17
|
/** Bare A1's advertised catalog: `models` replaces the pinned pair and is followed by `thinking`. */
|
|
18
18
|
export declare const OWNED_WORKFLOW_COMMAND_NAMES: readonly OwnedWorkflowCommandName[];
|
|
19
19
|
export type PiProductMode = OwnedUiSessionProductMode;
|
|
@@ -33,7 +33,6 @@ export type PiAuthenticationProviderOption = OwnedUiAuthenticationProviderOption
|
|
|
33
33
|
export type PiWorkflowRequest = OwnedUiWorkflowRequest;
|
|
34
34
|
export type PiWorkflowOutcome = OwnedUiWorkflowOutcome;
|
|
35
35
|
export type PiSessionInfoPresentation = OwnedUiSessionInfoPresentation;
|
|
36
|
-
export type PiCacheWarmingPresentation = OwnedUiCacheWarmingPresentation;
|
|
37
36
|
export type PiWorkflowPresentation = OwnedUiWorkflowPresentation;
|
|
38
37
|
export type PiWorkflowMessageKind = OwnedUiWorkflowMessageKind;
|
|
39
38
|
export type PiWorkflowMessage = OwnedUiWorkflowMessage;
|
|
@@ -75,10 +74,11 @@ export interface PiTreeSelectorContext {
|
|
|
75
74
|
* Progress a session listing reports. `partialSessions` carries what the pinned manager has
|
|
76
75
|
* loaded so far, so the selector can show results before the listing finishes.
|
|
77
76
|
*/
|
|
78
|
-
|
|
77
|
+
type PiSessionListProgress = (loaded: number, total: number, partialSessions?: readonly SessionInfo[]) => void;
|
|
79
78
|
export interface PiSessionSelectorContext {
|
|
80
79
|
readonly currentSessionFilePath: string | undefined;
|
|
81
80
|
readonly loadCurrentSessions: (onProgress?: PiSessionListProgress) => Promise<SessionInfo[]>;
|
|
82
81
|
readonly loadAllSessions: (onProgress?: PiSessionListProgress) => Promise<SessionInfo[]>;
|
|
83
82
|
readonly renameSession: (sessionFilePath: string, nextName: string | undefined) => Promise<void>;
|
|
84
83
|
}
|
|
84
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { OwnedUiShellComponents, OwnedUiShellLazySelectorLoader } from "../../../contracts/owned-ui/index.js";
|
|
2
|
+
/** The Pi components and helpers behind the shell's neutral component record. */
|
|
3
|
+
export declare function createPiShellComponents(loadLazySelectors: () => Promise<OwnedUiShellLazySelectorLoader>): OwnedUiShellComponents;
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createPiShellEditor } from "../components/shell-editor-autocomplete.js";
|
|
2
|
+
import { createPiExtensionUiBridge } from "../components/shell-extension-ui.js";
|
|
3
|
+
import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../components/shell-footer-status.js";
|
|
4
|
+
import { createPiShellChangelog, createPiShellCollapsedChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellCommandMessage, renderPiShellPackageUpdateNotice, renderPiShellReleaseUpdateBanner, renderPiShellReleaseUpdateNotice, renderPiShellStatusText, } from "../components/shell-presenters-info.js";
|
|
5
|
+
import { createPiShellTranscriptComponent, isPiPromptStyleCompaction, renderPiShellStartupDiagnostic, renderPiShellTranscriptBlock, } from "../components/shell-presenters-transcript.js";
|
|
6
|
+
import { createPiShellArmin, createPiShellAuthProviderSelector, createPiShellDialog, createPiShellEarendilAnnouncement, createPiShellExtensionSelector, createPiShellLoginDialog, createPiShellReloadBox, createPiShellSelector, createPiShellSkillsSelector, createPiShellTrustSelector, createPiShellUserMessageSelector, } from "../components/shell-selectors-dialogs.js";
|
|
7
|
+
import { piShellHyperlink, piShellTruncateToWidth, piShellVisibleWidth, renderPiShellInstalledUpdateStatus, } from "../components/shell-shared-facade.js";
|
|
8
|
+
import { SKILLS_COMMAND_NAME, findSkillByArgument, rewriteSkillsTunnelSubmission, skillPrompt, skillsFromCommands, } from "../components/skills-command.js";
|
|
9
|
+
import { ProgramStatusReporter } from "../components/upstream/program-status-reporter.js";
|
|
10
|
+
import { workflowCommandNames } from "../engine/workflows.js";
|
|
11
|
+
/** The Pi components and helpers behind the shell's neutral component record. */
|
|
12
|
+
export function createPiShellComponents(loadLazySelectors) {
|
|
13
|
+
return {
|
|
14
|
+
editor: { create: createPiShellEditor },
|
|
15
|
+
chrome: {
|
|
16
|
+
header: createPiShellHeader,
|
|
17
|
+
status: createPiShellStatus,
|
|
18
|
+
footer: createPiShellFooter,
|
|
19
|
+
queuedInput: createPiQueuedInputStatus,
|
|
20
|
+
loadedResources: createPiShellLoadedResources,
|
|
21
|
+
installedUpdateStatus: renderPiShellInstalledUpdateStatus,
|
|
22
|
+
releaseUpdateBanner: renderPiShellReleaseUpdateBanner,
|
|
23
|
+
programStatusReporter: (report, getSessionName, app) => new ProgramStatusReporter(report, getSessionName, app),
|
|
24
|
+
},
|
|
25
|
+
transcript: {
|
|
26
|
+
component: createPiShellTranscriptComponent,
|
|
27
|
+
renderBlock: renderPiShellTranscriptBlock,
|
|
28
|
+
renderStartupDiagnostic: renderPiShellStartupDiagnostic,
|
|
29
|
+
isPromptStyleCompaction: isPiPromptStyleCompaction,
|
|
30
|
+
},
|
|
31
|
+
info: {
|
|
32
|
+
changelog: createPiShellChangelog,
|
|
33
|
+
collapsedChangelog: createPiShellCollapsedChangelog,
|
|
34
|
+
hotkeys: createPiShellHotkeys,
|
|
35
|
+
sessionInfo: createPiShellSessionInfo,
|
|
36
|
+
commandMessage: renderPiShellCommandMessage,
|
|
37
|
+
statusText: renderPiShellStatusText,
|
|
38
|
+
packageUpdateNotice: renderPiShellPackageUpdateNotice,
|
|
39
|
+
releaseUpdateNotice: renderPiShellReleaseUpdateNotice,
|
|
40
|
+
armin: createPiShellArmin,
|
|
41
|
+
earendilAnnouncement: createPiShellEarendilAnnouncement,
|
|
42
|
+
reloadBox: createPiShellReloadBox,
|
|
43
|
+
},
|
|
44
|
+
dialogs: {
|
|
45
|
+
dialog: createPiShellDialog,
|
|
46
|
+
selector: createPiShellSelector,
|
|
47
|
+
extensionSelector: createPiShellExtensionSelector,
|
|
48
|
+
authProviderSelector: createPiShellAuthProviderSelector,
|
|
49
|
+
loginDialog: createPiShellLoginDialog,
|
|
50
|
+
skillsSelector: createPiShellSkillsSelector,
|
|
51
|
+
trustSelector: createPiShellTrustSelector,
|
|
52
|
+
userMessageSelector: createPiShellUserMessageSelector,
|
|
53
|
+
async shareProgress(runtime, message, style) {
|
|
54
|
+
// Rationale: sharing is rare, so its progress surfaces stay off the startup graph.
|
|
55
|
+
const surfaces = await import("../components/share-operation-dialog.js");
|
|
56
|
+
return (style === "dialog" ? surfaces.createPiShellShareOperationDialog : surfaces.createPiShellOperationLoader)(runtime, message);
|
|
57
|
+
},
|
|
58
|
+
extensionUiBridge: createPiExtensionUiBridge,
|
|
59
|
+
lazySelectors: loadLazySelectors,
|
|
60
|
+
},
|
|
61
|
+
text: {
|
|
62
|
+
visibleWidth: piShellVisibleWidth,
|
|
63
|
+
truncateToWidth: piShellTruncateToWidth,
|
|
64
|
+
hyperlink: piShellHyperlink,
|
|
65
|
+
},
|
|
66
|
+
workflows: { commandNames: workflowCommandNames },
|
|
67
|
+
skills: {
|
|
68
|
+
commandName: SKILLS_COMMAND_NAME,
|
|
69
|
+
fromCommands: skillsFromCommands,
|
|
70
|
+
findByArgument: findSkillByArgument,
|
|
71
|
+
rewriteTunnelSubmission: rewriteSkillsTunnelSubmission,
|
|
72
|
+
prompt: skillPrompt,
|
|
73
|
+
},
|
|
74
|
+
};
|
|
75
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { PI_THEME_SOURCE } from "../components/theme.js";
|
|
2
|
+
import { piCanvasBackgroundAnsi, PINNED_PI_LAYOUT } from "../components/upstream/theme/theme.js";
|
|
3
|
+
import { PI_TERMINAL_RUNTIME } from "../tui-runtime/runtime-factory.js";
|
|
4
|
+
/** Everything the shell takes from Pi's presentation, assembled once from the component and TUI adapters. */
|
|
5
|
+
export const PI_SHELL_PRESENTATION = Object.freeze({
|
|
6
|
+
theme: PI_THEME_SOURCE,
|
|
7
|
+
canvasBackground: (style) => piCanvasBackgroundAnsi(style),
|
|
8
|
+
pinnedOutputPad: PINNED_PI_LAYOUT.outputPad,
|
|
9
|
+
terminalRuntime: PI_TERMINAL_RUNTIME,
|
|
10
|
+
});
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { OwnedUiSessionBackend, OwnedUiSessionPresenters } from "../../../contracts/owned-ui/index.js";
|
|
2
|
+
import type { ShellPresentationPorts } from "../../../contracts/presentation/index.js";
|
|
2
3
|
import type { PiSessionPresentationSource } from "../engine/adapter.js";
|
|
3
4
|
import type { PiShellLazySelectorLoader } from "../components/lazy-selectors.js";
|
|
4
5
|
/** The session backend plus the Pi objects its selectors are built from; the Pi engine adapter is one. */
|
|
@@ -13,4 +14,4 @@ export interface PiSessionPresentersOptions {
|
|
|
13
14
|
* Builds the selectors and transcript renderers whose inputs are Pi engine objects. This owner is the one place
|
|
14
15
|
* that sees both the engine adapter and the Pi components, so the shell only ever holds the neutral port.
|
|
15
16
|
*/
|
|
16
|
-
export declare function createPiSessionPresenters(adapter: PiSessionPresenterBackend, options?: PiSessionPresentersOptions): OwnedUiSessionPresenters;
|
|
17
|
+
export declare function createPiSessionPresenters(adapter: PiSessionPresenterBackend, options?: PiSessionPresentersOptions): OwnedUiSessionPresenters & ShellPresentationPorts;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { createPiShellModelSelector, createPiShellModelsDialog, createPiShellScopedModelsSelector, createPiShellSessionSelector, createPiShellSettingsSelector, } from "../components/shell-selectors-dialogs.js";
|
|
2
|
+
import { PI_SHELL_PRESENTATION } from "./presentation.js";
|
|
3
|
+
import { createPiShellComponents } from "./components.js";
|
|
2
4
|
const MODEL_REFRESH_TIMEOUT_MS = 15_000;
|
|
3
5
|
const MODEL_REFRESH_TIMED_OUT = "Model refresh timed out; showing cached models.";
|
|
4
6
|
/**
|
|
@@ -24,7 +26,7 @@ export function createPiSessionPresenters(adapter, options = {}) {
|
|
|
24
26
|
// Compatibility: the component adapter passes Pi's own keybinding config through the neutral port.
|
|
25
27
|
getShortcuts: bindings => source().pinnedShortcutDescriptions(bindings),
|
|
26
28
|
};
|
|
27
|
-
return {
|
|
29
|
+
return { ...PI_SHELL_PRESENTATION, components: createPiShellComponents(loadLazySelectors),
|
|
28
30
|
transcriptRenderers: () => renderers,
|
|
29
31
|
openModelSelector(host, initialSearchInput) {
|
|
30
32
|
const context = source().pinnedModelSelectorContext();
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type ProgramStatus, type WheelScrollLines } from "@earendil-works/pi-tui";
|
|
2
2
|
import type { PiTuiComponentPort, PiTuiInputListener, PiTuiOverlayHandle, PiTuiOverlayOptions, PiTuiPreInputListener, PiTuiRuntimeAdapterOptions, PiTuiRuntimeState, PiTuiScrollState, PiTuiStopOptions, PiTuiViewport } from "./contracts.js";
|
|
3
3
|
/**
|
|
4
|
-
* Re-encodes one key report decoded by pi-tui in the legacy form, so a kitty-keyboard
|
|
5
|
-
*
|
|
4
|
+
* Re-encodes one key report decoded by pi-tui in the legacy form, so a kitty-keyboard terminal
|
|
5
|
+
* and a legacy terminal produce the same owned-screen action. Releases decode
|
|
6
6
|
* to nothing; mouse reports, paste, and unknown sequences pass through unchanged.
|
|
7
7
|
*/
|
|
8
8
|
export declare function legacyKeyInput(data: string): string;
|