@timurproko/a1 0.2.7-dev.1249 → 0.2.7-dev.1255
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -36
- package/bin/cli.js +2 -17
- package/bin/ui.js +10 -51
- package/dist/app/session-shell/clipboard-diagnostics.d.ts +2 -2
- package/dist/app/session-shell/clipboard-image.d.ts +0 -1
- package/dist/app/session-shell/clipboard-image.js +1 -1
- package/dist/app/session-shell/dialog-coordinator.d.ts +6 -5
- package/dist/app/session-shell/dialog-coordinator.js +3 -4
- package/dist/app/session-shell/dock-chrome.d.ts +11 -6
- package/dist/app/session-shell/dock-chrome.js +5 -8
- package/dist/app/session-shell/editor-hyperlink-budget.d.ts +0 -2
- package/dist/app/session-shell/editor-hyperlink-budget.js +1 -1
- package/dist/app/session-shell/exit-notice.d.ts +3 -3
- package/dist/app/session-shell/exit-notice.js +10 -10
- package/dist/app/session-shell/extension-surface.d.ts +8 -7
- package/dist/app/session-shell/helper-pool.d.ts +3 -4
- package/dist/app/session-shell/helper-pool.js +1 -1
- package/dist/app/session-shell/image-preparation-client.d.ts +4 -3
- package/dist/app/session-shell/image-preparation.d.ts +0 -2
- package/dist/app/session-shell/image-preparation.js +2 -2
- package/dist/app/session-shell/image-source.d.ts +2 -3
- package/dist/app/session-shell/image-source.js +2 -2
- package/dist/app/session-shell/input-surface-switch.d.ts +9 -7
- package/dist/app/session-shell/input-surface-switch.js +1 -2
- package/dist/app/session-shell/login-interaction.d.ts +5 -4
- package/dist/app/session-shell/login-interaction.js +2 -3
- package/dist/app/session-shell/paste-executor.d.ts +4 -8
- package/dist/app/session-shell/paste-executor.js +2 -2
- package/dist/app/session-shell/paste-protocol.d.ts +2 -2
- package/dist/app/session-shell/path-chip-presentation.d.ts +0 -5
- package/dist/app/session-shell/path-chip-presentation.js +3 -3
- package/dist/app/session-shell/prompt-chips.d.ts +8 -7
- package/dist/app/session-shell/prompt-history-controller.d.ts +3 -3
- package/dist/app/session-shell/prompt-submission.d.ts +7 -6
- package/dist/app/session-shell/prompt-submission.js +7 -28
- package/dist/app/session-shell/quit-outro-effects.d.ts +3 -3
- package/dist/app/session-shell/quit-outro-effects.js +1 -4
- package/dist/app/session-shell/quit-outro.d.ts +9 -12
- package/dist/app/session-shell/quit-outro.js +11 -11
- package/dist/app/session-shell/response-copy-protocol.d.ts +3 -2
- package/dist/app/session-shell/response-copy-transport.d.ts +2 -14
- package/dist/app/session-shell/response-copy-transport.js +2 -3
- package/dist/app/session-shell/session-lifecycle.d.ts +3 -3
- package/dist/app/session-shell/session-lifecycle.js +2 -4
- package/dist/app/session-shell/session-shell-root.d.ts +74 -120
- package/dist/app/session-shell/session-shell-root.js +82 -115
- package/dist/app/session-shell/session-shell.d.ts +13 -16
- package/dist/app/session-shell/session-shell.js +149 -314
- package/dist/app/session-shell/session-viewport-controller.d.ts +7 -6
- package/dist/app/session-shell/session-viewport-controller.js +5 -8
- package/dist/app/session-shell/settings-bindings.d.ts +24 -2
- package/dist/app/session-shell/settings-bindings.js +24 -0
- package/dist/app/session-shell/share-operation.d.ts +3 -3
- package/dist/app/session-shell/share-operation.js +4 -6
- package/dist/app/session-shell/shell-clipboard.d.ts +59 -0
- package/dist/app/session-shell/shell-clipboard.js +119 -0
- package/dist/app/session-shell/shell-editor-factory.d.ts +8 -4
- package/dist/app/session-shell/shell-editor-factory.js +13 -15
- package/dist/app/session-shell/shell-host.d.ts +16 -17
- package/dist/app/session-shell/shell-host.js +20 -37
- package/dist/app/session-shell/shell-layout.d.ts +2 -2
- package/dist/app/session-shell/shell-prompt-suggestions.d.ts +26 -0
- package/dist/app/session-shell/shell-prompt-suggestions.js +48 -0
- package/dist/app/session-shell/suggestion-surface.d.ts +1 -6
- package/dist/app/session-shell/suggestion-surface.js +1 -1
- package/dist/app/session-shell/system-clipboard.d.ts +2 -14
- package/dist/app/session-shell/system-clipboard.js +2 -7
- package/dist/app/session-shell/transcript-document.d.ts +12 -10
- package/dist/app/session-shell/transcript-document.js +15 -41
- package/dist/app/session-shell/viewport-layout.d.ts +2 -2
- package/dist/app/session-shell/workflow-output.d.ts +5 -3
- package/dist/app/session-shell/workflow-output.js +13 -15
- package/dist/app/session-shell/workflow-router.d.ts +1 -3
- package/dist/app/session-shell/workflow-router.js +1 -4
- package/dist/cli/dispatch.d.ts +1 -11
- package/dist/cli/dispatch.js +5 -92
- package/dist/cli/package-messages.d.ts +0 -1
- package/dist/cli/package-messages.js +1 -1
- package/dist/cli/session-context.d.ts +1 -1
- package/dist/cli/session-context.js +5 -7
- package/dist/cli/uninstall.d.ts +4 -7
- package/dist/cli/uninstall.js +6 -35
- package/dist/cli/version-stats.js +4 -7
- package/dist/composition/owned-settings.d.ts +2 -2
- package/dist/composition/owned-settings.js +0 -4
- package/dist/composition/owned-ui.d.ts +3 -25
- package/dist/composition/owned-ui.js +37 -113
- package/dist/composition/reference-selection-options.d.ts +1 -1
- package/dist/composition/reference-selection-options.js +1 -1
- package/dist/composition/release-update-observation.d.ts +4 -4
- package/dist/composition/release-update-observation.js +17 -47
- package/dist/composition/session-backend.d.ts +0 -1
- package/dist/composition/session-runtime-registry.d.ts +5 -4
- package/dist/composition/settings-route-host.d.ts +0 -7
- package/dist/composition/settings-route-host.js +7 -20
- package/dist/composition/settings-search-input.d.ts +2 -1
- package/dist/composition/startup-route.d.ts +2 -3
- package/dist/composition/startup-route.js +2 -3
- package/dist/contracts/owned-ui/extension-ui.d.ts +2 -1
- package/dist/contracts/owned-ui/index.d.ts +2 -1
- package/dist/contracts/owned-ui/model.d.ts +0 -3
- package/dist/contracts/owned-ui/session-presenters.d.ts +3 -0
- package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
- package/dist/contracts/owned-ui/shell-components.d.ts +543 -0
- package/dist/contracts/presentation/component.d.ts +17 -0
- package/dist/contracts/presentation/component.js +8 -0
- package/dist/contracts/presentation/index.d.ts +6 -15
- package/dist/contracts/presentation/index.js +2 -0
- package/dist/contracts/presentation/terminal.d.ts +290 -0
- package/dist/contracts/presentation/theme.d.ts +46 -0
- package/dist/features/launch/development-launch.js +1 -2
- package/dist/features/launch/index.d.ts +1 -1
- package/dist/features/launch/intent.d.ts +1 -3
- package/dist/features/launch/intent.js +2 -4
- package/dist/features/launch/runtime-selection.d.ts +2 -2
- package/dist/features/launch/runtime-selection.js +2 -2
- package/dist/features/launch/session-context.d.ts +2 -2
- package/dist/features/owned-ui/project-trust-prompt.d.ts +2 -2
- package/dist/features/owned-ui/project-trust-prompt.js +1 -1
- package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
- package/dist/features/owned-ui/reference-screen-app.js +2 -9
- package/dist/features/owned-ui/release-note-state.d.ts +2 -1
- package/dist/features/owned-ui/settings-app.d.ts +0 -6
- package/dist/features/owned-ui/settings-app.js +42 -254
- package/dist/features/owned-ui/settings-edits.d.ts +31 -0
- package/dist/features/owned-ui/settings-edits.js +139 -0
- package/dist/features/owned-ui/settings-scroll-rail.d.ts +29 -0
- package/dist/features/owned-ui/settings-scroll-rail.js +79 -0
- package/dist/features/owned-ui/settings-search-input.d.ts +2 -1
- package/dist/features/prompt-history/service.d.ts +3 -2
- package/dist/foundation/launch-context/index.d.ts +0 -12
- package/dist/foundation/launch-context/index.js +0 -26
- package/dist/foundation/lifecycle/claim-gate.d.ts +9 -0
- package/dist/foundation/lifecycle/claim-gate.js +37 -0
- package/dist/foundation/lifecycle/index.d.ts +5 -9
- package/dist/foundation/lifecycle/index.js +3 -4
- package/dist/foundation/lifecycle/model.d.ts +2 -59
- package/dist/foundation/lifecycle/model.js +0 -35
- package/dist/foundation/lifecycle/paths.d.ts +0 -24
- package/dist/foundation/lifecycle/paths.js +0 -40
- package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
- package/dist/foundation/lifecycle/process-liveness.js +18 -0
- package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
- package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
- package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
- package/dist/foundation/lifecycle/session-repository-context.js +2 -3
- package/dist/foundation/release/automatic-update.d.ts +6 -17
- package/dist/foundation/release/automatic-update.js +23 -44
- package/dist/foundation/release/bootstrap.d.ts +2 -25
- package/dist/foundation/release/bootstrap.js +37 -348
- package/dist/foundation/release/dependency-certification.d.ts +1 -2
- package/dist/foundation/release/dependency-certification.js +1 -1
- package/dist/foundation/release/early-accent.d.ts +2 -2
- package/dist/foundation/release/early-accent.js +1 -1
- package/dist/foundation/release/index.d.ts +10 -17
- package/dist/foundation/release/index.js +7 -11
- package/dist/foundation/release/latest-release.d.ts +3 -19
- package/dist/foundation/release/latest-release.js +11 -12
- package/dist/foundation/release/ordinary-launch-selection.d.ts +1 -1
- package/dist/foundation/release/ordinary-launch-selection.js +1 -1
- package/dist/foundation/release/process-liveness.d.ts +2 -0
- package/dist/foundation/release/process-liveness.js +12 -0
- package/dist/foundation/release/release-gc.d.ts +13 -10
- package/dist/foundation/release/release-gc.js +37 -101
- package/dist/foundation/release/{cohort-state.d.ts → release-state.d.ts} +44 -69
- package/dist/foundation/release/{cohort-state.js → release-state.js} +38 -70
- package/dist/foundation/release/release-store.d.ts +2 -2
- package/dist/foundation/release/release-store.js +2 -2
- package/dist/foundation/release/restart-certification.js +1 -1
- package/dist/foundation/release/update-activation.d.ts +2 -9
- package/dist/foundation/release/update-activation.js +30 -45
- package/dist/foundation/release/update-execution-lease.d.ts +2 -3
- package/dist/foundation/release/update-execution-lease.js +2 -2
- package/dist/foundation/release/update-launch.d.ts +2 -4
- package/dist/foundation/release/update-launch.js +0 -7
- package/dist/foundation/release/update-recovery.js +1 -1
- package/dist/foundation/release/update-transaction.d.ts +1 -1
- package/dist/foundation/release/update-transaction.js +5 -2
- package/dist/foundation/release/update.d.ts +2 -12
- package/dist/foundation/release/update.js +37 -214
- package/dist/foundation/session-writer-lock/index.d.ts +14 -6
- package/dist/foundation/session-writer-lock/index.js +48 -103
- package/dist/foundation/startup/startup-budget.d.ts +5 -5
- package/dist/foundation/startup/startup-budget.js +2 -2
- package/dist/foundation/startup/startup-runtime.d.ts +1 -1
- package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
- package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
- package/dist/foundation/terminal-cleanup/index.js +2 -1
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
- package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
- package/dist/integrations/pi/components/editor-interaction.d.ts +4 -12
- package/dist/integrations/pi/components/index.d.ts +15 -9
- package/dist/integrations/pi/components/index.js +9 -5
- package/dist/integrations/pi/components/lazy-selectors.d.ts +2 -10
- package/dist/integrations/pi/components/lazy-selectors.js +1 -1
- package/dist/integrations/pi/components/modal-frame.d.ts +5 -22
- package/dist/integrations/pi/components/modal-frame.js +3 -23
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +4 -3
- package/dist/integrations/pi/components/prompt-input-port.d.ts +2 -19
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -1
- package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +3 -2
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
- package/dist/integrations/pi/components/shell-footer-status.d.ts +3 -3
- package/dist/integrations/pi/components/shell-footer-status.js +5 -4
- package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +6 -8
- package/dist/integrations/pi/components/shell-presenters-info.js +6 -19
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
- package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
- package/dist/integrations/pi/components/shell-session-info-reference.d.ts +2 -1
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +33 -229
- package/dist/integrations/pi/components/shell-shared-facade.js +8 -1
- package/dist/integrations/pi/components/skills-command.d.ts +1 -9
- package/dist/integrations/pi/components/skills-command.js +5 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
- package/dist/integrations/pi/components/theme.d.ts +9 -2
- package/dist/integrations/pi/components/theme.js +17 -2
- package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
- package/dist/integrations/pi/engine/adapter.d.ts +3 -6
- package/dist/integrations/pi/engine/adapter.js +4 -28
- package/dist/integrations/pi/engine/changelog.d.ts +2 -2
- package/dist/integrations/pi/engine/changelog.js +3 -3
- package/dist/integrations/pi/engine/compaction-progress.d.ts +2 -3
- package/dist/integrations/pi/engine/compaction-progress.js +1 -1
- package/dist/integrations/pi/engine/conformance.d.ts +2 -1
- package/dist/integrations/pi/engine/default-model-setting.d.ts +0 -2
- package/dist/integrations/pi/engine/default-model-setting.js +1 -2
- package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
- package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
- package/dist/integrations/pi/engine/event-delivery.d.ts +2 -1
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
- package/dist/integrations/pi/engine/host.js +2 -2
- package/dist/integrations/pi/engine/message-values.d.ts +0 -1
- package/dist/integrations/pi/engine/message-values.js +1 -1
- package/dist/integrations/pi/engine/pending-delivery.d.ts +0 -4
- package/dist/integrations/pi/engine/pending-delivery.js +3 -3
- package/dist/integrations/pi/engine/ports.d.ts +7 -1
- package/dist/integrations/pi/engine/ports.js +4 -0
- package/dist/integrations/pi/engine/project-trust-preflight.d.ts +2 -1
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +3 -3
- package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
- package/dist/integrations/pi/engine/provider-authentication.d.ts +1 -1
- package/dist/integrations/pi/engine/public-main-entry.d.ts +1 -5
- package/dist/integrations/pi/engine/public-main-entry.js +1 -1
- package/dist/integrations/pi/engine/repository-pr-rest.d.ts +1 -9
- package/dist/integrations/pi/engine/repository-pr-rest.js +2 -2
- package/dist/integrations/pi/engine/repository-pr.d.ts +1 -3
- package/dist/integrations/pi/engine/repository-pr.js +1 -1
- package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
- package/dist/integrations/pi/engine/session-integration.d.ts +1 -1
- package/dist/integrations/pi/engine/session-runtime.d.ts +4 -3
- package/dist/integrations/pi/engine/session-runtime.js +0 -2
- package/dist/integrations/pi/engine/settings-bridge.d.ts +0 -2
- package/dist/integrations/pi/engine/settings-bridge.js +1 -1
- package/dist/integrations/pi/engine/settings-port.d.ts +3 -2
- package/dist/integrations/pi/engine/transcript-projection.d.ts +2 -1
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +1 -1
- package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -1
- package/dist/integrations/pi/engine/workflow-runner.js +1 -1
- package/dist/integrations/pi/engine/workflow-support.d.ts +0 -6
- package/dist/integrations/pi/engine/workflow-support.js +4 -18
- package/dist/integrations/pi/engine/workflows.d.ts +5 -5
- package/dist/integrations/pi/session-presenters/components.d.ts +3 -0
- package/dist/integrations/pi/session-presenters/components.js +75 -0
- package/dist/integrations/pi/session-presenters/index.d.ts +1 -0
- package/dist/integrations/pi/session-presenters/index.js +1 -0
- package/dist/integrations/pi/session-presenters/presentation.d.ts +3 -0
- package/dist/integrations/pi/session-presenters/presentation.js +10 -0
- package/dist/integrations/pi/session-presenters/presenters.d.ts +2 -1
- package/dist/integrations/pi/session-presenters/presenters.js +3 -1
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
- package/dist/integrations/pi/tui-runtime/adapter.js +23 -32
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +22 -166
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +5 -40
- package/dist/integrations/pi/tui-runtime/index.d.ts +1 -0
- package/dist/integrations/pi/tui-runtime/index.js +1 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +4 -6
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -8
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +3 -9
- package/dist/integrations/pi/tui-runtime/runtime-factory.d.ts +3 -0
- package/dist/integrations/pi/tui-runtime/runtime-factory.js +11 -0
- package/dist/product-identity.d.ts +4 -6
- package/dist/product-identity.js +6 -11
- package/dist/product-identity.json +1 -40
- package/dist/runtime-payload-inventory.json +0 -3
- package/dist/ui/components/index.d.ts +4 -4
- package/dist/ui/components/index.js +2 -2
- package/dist/ui/components/selection-copy.d.ts +0 -1
- package/dist/ui/components/selection-copy.js +0 -12
- package/dist/ui/components/submitted-prompt.d.ts +3 -13
- package/dist/ui/components/submitted-prompt.js +8 -41
- package/dist/ui/components/theme.d.ts +4 -19
- package/dist/ui/components/theme.js +6 -0
- package/dist/ui/components/transcript-viewport.d.ts +1 -3
- package/dist/ui/components/transcript-viewport.js +1 -4
- package/dist/ui/settings/declarations.d.ts +2 -97
- package/dist/ui/settings/declarations.js +2 -78
- package/dist/ui/settings/early-accent.js +1 -1
- package/dist/ui/settings/index.d.ts +3 -5
- package/dist/ui/settings/index.js +2 -3
- package/dist/ui/settings/manager.d.ts +0 -4
- package/dist/ui/settings/manager.js +6 -62
- package/dist/ui/settings/resolution.d.ts +6 -18
- package/dist/ui/settings/resolution.js +4 -103
- package/dist/ui/settings/sections.d.ts +0 -4
- package/dist/ui/settings/sections.js +1 -1
- package/docs/architecture/boundaries.md +23 -40
- package/docs/architecture/code-documentation.md +2 -2
- package/docs/architecture/internal-naming.md +11 -17
- package/docs/architecture/project-structure.md +13 -16
- package/docs/architecture/resource-and-data-policy.md +16 -31
- package/docs/architecture/toolchain.md +14 -19
- package/docs/architecture/ui-reference-provenance.md +2 -2
- package/docs/ci-release-runbook.md +5 -5
- package/docs/features/launch-profiles.md +11 -17
- package/docs/features/prompt-history.md +10 -11
- package/docs/local-worktree-cleanup.md +28 -1
- package/docs/manual-owned-ui-checkpoint.md +0 -1
- package/docs/validation.md +5 -11
- package/docs/worktree-link-recovery.md +6 -6
- package/package.json +7 -20
- package/bin/guardian.js +0 -42
- package/bin/supervisor.js +0 -7
- package/bin/tab-launch-context.d.ts +0 -27
- package/bin/tab-launch-context.js +0 -94
- package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
- package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
- package/dist/cli/tabs-request.d.ts +0 -7
- package/dist/cli/tabs.d.ts +0 -14
- package/dist/cli/tabs.js +0 -151
- package/dist/composition/resident-tab-bridge.d.ts +0 -41
- package/dist/composition/resident-tab-bridge.js +0 -209
- package/dist/composition/utility-tab.d.ts +0 -28
- package/dist/composition/utility-tab.js +0 -244
- package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
- package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
- package/dist/features/resident-tab/auto-name.d.ts +0 -11
- package/dist/features/resident-tab/auto-name.js +0 -44
- package/dist/features/resident-tab/index.d.ts +0 -5
- package/dist/features/resident-tab/index.js +0 -7
- package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
- package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
- package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
- package/dist/features/resident-tab/shortcut-declarations.js +0 -26
- package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
- package/dist/features/resident-tab/shortcut-projection.js +0 -64
- package/dist/features/resident-tab/status-deriver.d.ts +0 -10
- package/dist/features/resident-tab/status-deriver.js +0 -12
- package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
- package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
- package/dist/foundation/launch-guardian/index.d.ts +0 -2
- package/dist/foundation/launch-guardian/index.js +0 -1
- package/dist/foundation/launch-guardian/main.d.ts +0 -39
- package/dist/foundation/launch-guardian/main.js +0 -232
- package/dist/foundation/lifecycle/commands.d.ts +0 -40
- package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
- package/dist/foundation/lifecycle/launch-instance.js +0 -134
- package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
- package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
- package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
- package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
- package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
- package/dist/foundation/process-containment/addon-containment.js +0 -139
- package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
- package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
- package/dist/foundation/process-containment/addon.d.ts +0 -47
- package/dist/foundation/process-containment/addon.js +0 -57
- package/dist/foundation/process-containment/artifact.d.ts +0 -1
- package/dist/foundation/process-containment/artifact.js +0 -35
- package/dist/foundation/process-containment/contracts.d.ts +0 -33
- package/dist/foundation/process-containment/contracts.js +0 -35
- package/dist/foundation/process-containment/index.d.ts +0 -9
- package/dist/foundation/process-containment/index.js +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
- package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
- package/dist/foundation/process-containment/native-process-inspector.js +0 -21
- package/dist/foundation/protocol/client.d.ts +0 -18
- package/dist/foundation/protocol/client.js +0 -130
- package/dist/foundation/protocol/index.d.ts +0 -3
- package/dist/foundation/protocol/index.js +0 -2
- package/dist/foundation/protocol/messages.d.ts +0 -90
- package/dist/foundation/protocol/messages.js +0 -100
- package/dist/foundation/release/cohort-selection.d.ts +0 -33
- package/dist/foundation/release/cohort-selection.js +0 -67
- package/dist/foundation/release/endpoint-lock.d.ts +0 -2
- package/dist/foundation/release/endpoint-lock.js +0 -37
- package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
- package/dist/foundation/release/endpoint-recovery.js +0 -45
- package/dist/foundation/release/endpoints.d.ts +0 -32
- package/dist/foundation/release/endpoints.js +0 -152
- package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
- package/dist/foundation/release/prepared-update-activation.js +0 -27
- package/dist/foundation/release/process-cleanup.d.ts +0 -14
- package/dist/foundation/release/process-cleanup.js +0 -76
- package/dist/foundation/release/supervisor-identity.d.ts +0 -15
- package/dist/foundation/release/supervisor-identity.js +0 -63
- package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
- package/dist/foundation/resident-tabs/boot-identity.js +0 -16
- package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
- package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
- package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
- package/dist/foundation/resident-tabs/bridge-client.js +0 -327
- package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
- package/dist/foundation/resident-tabs/continuity.js +0 -63
- package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
- package/dist/foundation/resident-tabs/doctor.js +0 -166
- package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
- package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
- package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
- package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
- package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
- package/dist/foundation/resident-tabs/fault-injection.js +0 -26
- package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
- package/dist/foundation/resident-tabs/fixture-control.js +0 -35
- package/dist/foundation/resident-tabs/host-entry.js +0 -17
- package/dist/foundation/resident-tabs/index.d.ts +0 -15
- package/dist/foundation/resident-tabs/index.js +0 -10
- package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
- package/dist/foundation/resident-tabs/maintenance.js +0 -75
- package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
- package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
- package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
- package/dist/foundation/resident-tabs/progress-observation.js +0 -150
- package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
- package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
- package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
- package/dist/foundation/resident-tabs/protocol.js +0 -195
- package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
- package/dist/foundation/resident-tabs/recovery.js +0 -205
- package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
- package/dist/foundation/resident-tabs/release-holds.js +0 -78
- package/dist/foundation/resident-tabs/routes.d.ts +0 -5
- package/dist/foundation/resident-tabs/routes.js +0 -5
- package/dist/foundation/resident-tabs/routing.d.ts +0 -11
- package/dist/foundation/resident-tabs/routing.js +0 -10
- package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
- package/dist/foundation/resident-tabs/runtime-control.js +0 -74
- package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
- package/dist/foundation/resident-tabs/session-sync.js +0 -37
- package/dist/foundation/resident-tabs/settings.d.ts +0 -16
- package/dist/foundation/resident-tabs/settings.js +0 -60
- package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
- package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
- package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
- package/dist/foundation/resident-tabs/zip-archive.js +0 -56
- package/dist/foundation/storage/control-store.d.ts +0 -20
- package/dist/foundation/storage/control-store.js +0 -331
- package/dist/foundation/storage/index.d.ts +0 -1
- package/dist/foundation/storage/index.js +0 -1
- package/dist/foundation/supervision/index.d.ts +0 -3
- package/dist/foundation/supervision/index.js +0 -3
- package/dist/foundation/supervision/main.d.ts +0 -1
- package/dist/foundation/supervision/main.js +0 -86
- package/dist/foundation/supervision/paths.d.ts +0 -1
- package/dist/foundation/supervision/paths.js +0 -1
- package/dist/foundation/supervision/server.d.ts +0 -46
- package/dist/foundation/supervision/server.js +0 -611
- package/dist/integrations/pi/components/components.d.ts +0 -4
- package/dist/integrations/pi/components/components.js +0 -48
- package/dist/integrations/pi/components/conformance.d.ts +0 -18
- package/dist/integrations/pi/components/conformance.js +0 -70
- package/dist/integrations/pi/components/shell-components.d.ts +0 -7
- package/dist/integrations/pi/components/shell-components.js +0 -7
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +0 -33
- package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -114
- package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
- package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
- package/dist/native/darwin-arm64/manifest.json +0 -23
- package/dist/native/darwin-arm64/process-guardian.node +0 -0
- package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
- package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-arm64/terminal-host.node +0 -0
- package/dist/native/darwin-x64/manifest.json +0 -23
- package/dist/native/darwin-x64/process-guardian.node +0 -0
- package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
- package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-x64/terminal-host.node +0 -0
- package/dist/native/linux-x64/manifest.json +0 -23
- package/dist/native/linux-x64/process-guardian.node +0 -0
- package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
- package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
- package/dist/native/linux-x64/terminal-host.node +0 -0
- package/dist/native/win32-x64/manifest.json +0 -23
- package/dist/native/win32-x64/process-guardian.node +0 -0
- package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
- package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
- package/dist/native/win32-x64/terminal-host.node +0 -0
- package/dist/ui/settings/migrations.d.ts +0 -19
- package/dist/ui/settings/migrations.js +0 -209
- package/dist/ui/settings/progress-palette.generated.d.ts +0 -139
- package/dist/ui/settings/progress-palette.generated.js +0 -139
- package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
- package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
- package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
- package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
- package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
- package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
- package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
- package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
- package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
- package/docs/architecture/native-fixture-isolation.md +0 -23
- package/docs/architecture/process-guardian-provenance.md +0 -36
- package/docs/architecture/resident-tabs-requirements.md +0 -18
- package/docs/architecture/resident-tabs.md +0 -668
- package/docs/architecture/terminal-host-proof-gate.md +0 -34
- package/docs/architecture/terminal-host-provenance.md +0 -81
- package/docs/architecture/terminal-host-spike-evidence.md +0 -39
- package/docs/launch-recovery.md +0 -23
- package/docs/manual-launch-instance-acceptance.md +0 -43
- package/docs/manual-resident-tabs-acceptance.md +0 -51
- /package/dist/{cli/tabs-request.js → contracts/owned-ui/shell-components.js} +0 -0
- /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.d.ts +0 -0
- /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.js +0 -0
- /package/dist/{foundation/lifecycle/commands.js → contracts/presentation/terminal.js} +0 -0
- /package/dist/{foundation/resident-tabs/host-entry.d.ts → contracts/presentation/theme.js} +0 -0
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
/** The collapsed bare-A1 replacement for the per-skill command listing. */
|
|
2
2
|
export const SKILLS_COMMAND_NAME = "skills";
|
|
3
|
-
|
|
3
|
+
const SKILLS_COMMAND_DESCRIPTION = "Browse, search, and apply a skill";
|
|
4
4
|
/** Pi's own command prefix; the engine expands `/skill:<name>` regardless of how the menu presents it. */
|
|
5
|
-
|
|
5
|
+
const SKILL_COMMAND_PREFIX = "skill:";
|
|
6
6
|
const SKILLS_TUNNEL_PREFIX = `${SKILLS_COMMAND_NAME}:`;
|
|
7
7
|
/** The tunnel form follows v2: a name without whitespace right after the colon. */
|
|
8
8
|
const SKILLS_TUNNEL_INPUT = /^\/skills:(\S*)$/u;
|
|
9
9
|
const SKILLS_TUNNEL_SUBMISSION = /^\/skills:([A-Za-z0-9][A-Za-z0-9_-]*)(\s[\s\S]*)?$/u;
|
|
10
10
|
/** One line of description, as the v2 extension shows it beside a row. */
|
|
11
|
-
|
|
11
|
+
function oneLineSkillDescription(description) {
|
|
12
12
|
return description.replace(/\s+/gu, " ").trim();
|
|
13
13
|
}
|
|
14
14
|
/** The skills the engine registered as `skill:<name>` commands, in its order. */
|
|
@@ -82,13 +82,13 @@ export function rewriteSkillsTunnelSubmission(text) {
|
|
|
82
82
|
return `/${SKILL_COMMAND_PREFIX}${match[1]}${match[2] ?? ""}`;
|
|
83
83
|
}
|
|
84
84
|
/** The tunnel query when single-line content before the cursor is exactly `/skills:<query>`. */
|
|
85
|
-
|
|
85
|
+
function skillsTunnelQuery(lines, cursorLine, cursorCol) {
|
|
86
86
|
if (cursorLine !== 0 || lines.length !== 1)
|
|
87
87
|
return null;
|
|
88
88
|
const match = SKILLS_TUNNEL_INPUT.exec((lines[0] ?? "").slice(0, cursorCol));
|
|
89
89
|
return match === null ? null : match[1] ?? "";
|
|
90
90
|
}
|
|
91
|
-
|
|
91
|
+
function skillsTunnelItems(skills, query) {
|
|
92
92
|
return skills.filter(skill => skillMatchesQuery(skill, query)).map(skill => ({
|
|
93
93
|
value: `${SKILLS_TUNNEL_PREFIX}${skill.name}`,
|
|
94
94
|
label: `${SKILLS_TUNNEL_PREFIX}${skill.name}`,
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { type Component } from "@earendil-works/pi-tui";
|
|
2
2
|
import type { OwnedUiTranscriptBlock } from "../../../contracts/owned-ui/index.js";
|
|
3
3
|
export interface PiShellSubmittedPromptComposer {
|
|
4
|
-
readonly layout: (width: number
|
|
4
|
+
readonly layout: (width: number) => {
|
|
5
5
|
readonly contentWidth: number;
|
|
6
6
|
};
|
|
7
|
-
readonly compose: (contentRows: readonly string[], width: number,
|
|
7
|
+
readonly compose: (contentRows: readonly string[], width: number, style?: {
|
|
8
8
|
readonly prefix?: (text: string) => string;
|
|
9
|
-
readonly timestamp?: (text: string) => string;
|
|
10
9
|
}) => readonly string[];
|
|
11
10
|
}
|
|
12
11
|
/** Branch summaries share the block kind but do not participate in prompt navigation. */
|
|
13
12
|
export declare function isPiPromptStyleCompaction(block: OwnedUiTranscriptBlock): boolean;
|
|
14
|
-
/** Keep prompt timestamps metadata-grey even inside hover and quiet whole-row wrappers. */
|
|
15
|
-
export declare function paintPiSubmittedPromptTimestamp(text: string): string;
|
|
16
13
|
/** Pi owns Markdown and theme adaptation; the injected composer owns neutral row geometry. */
|
|
17
14
|
export declare function createPiSubmittedPromptComponent(block: OwnedUiTranscriptBlock, composer: PiShellSubmittedPromptComposer, heading?: string): Component;
|
|
@@ -7,15 +7,8 @@ export function isPiPromptStyleCompaction(block) {
|
|
|
7
7
|
&& typeof block.payload === "object" && block.payload !== null
|
|
8
8
|
&& block.payload.role === "compactionSummary";
|
|
9
9
|
}
|
|
10
|
-
/** Keep prompt timestamps metadata-grey even inside hover and quiet whole-row wrappers. */
|
|
11
|
-
export function paintPiSubmittedPromptTimestamp(text) {
|
|
12
|
-
// Protocol: combine the intensity/foreground reset so quietSticky does not immediately
|
|
13
|
-
// reapply faint; the semantic foreground that follows remains theme-controlled.
|
|
14
|
-
return `\u001b[22;39m${piTheme().fg("dim", text)}`;
|
|
15
|
-
}
|
|
16
10
|
/** Pi owns Markdown and theme adaptation; the injected composer owns neutral row geometry. */
|
|
17
11
|
export function createPiSubmittedPromptComponent(block, composer, heading) {
|
|
18
|
-
const timestamp = numericTimestamp(block);
|
|
19
12
|
// Invariant: presentation-only chrome stays outside the summary's Markdown parser and stored text.
|
|
20
13
|
const header = heading === undefined ? undefined : new Text(heading, 0, 0);
|
|
21
14
|
let chipWrapping;
|
|
@@ -30,7 +23,7 @@ export function createPiSubmittedPromptComponent(block, composer, heading) {
|
|
|
30
23
|
});
|
|
31
24
|
const content = {
|
|
32
25
|
render(width) {
|
|
33
|
-
const layout = composer.layout(width
|
|
26
|
+
const layout = composer.layout(width);
|
|
34
27
|
const renderedBodyRows = markdown.render(layout.contentWidth);
|
|
35
28
|
const wrapping = chipWrapping;
|
|
36
29
|
const bodyRows = wrapping === undefined ? renderedBodyRows : renderedBodyRows.map(row => wrapping.restore(row));
|
|
@@ -38,9 +31,8 @@ export function createPiSubmittedPromptComponent(block, composer, heading) {
|
|
|
38
31
|
...header.render(layout.contentWidth).map(row => piTheme().fg("userMessageText", row)),
|
|
39
32
|
...(bodyRows.length === 0 ? [] : ["", ...bodyRows]),
|
|
40
33
|
];
|
|
41
|
-
return [...composer.compose(rows, width,
|
|
34
|
+
return [...composer.compose(rows, width, {
|
|
42
35
|
prefix: text => piTheme().fg("muted", text),
|
|
43
|
-
timestamp: paintPiSubmittedPromptTimestamp,
|
|
44
36
|
})];
|
|
45
37
|
},
|
|
46
38
|
invalidate() {
|
|
@@ -52,9 +44,3 @@ export function createPiSubmittedPromptComponent(block, composer, heading) {
|
|
|
52
44
|
box.addChild(content);
|
|
53
45
|
return box;
|
|
54
46
|
}
|
|
55
|
-
function numericTimestamp(block) {
|
|
56
|
-
if (typeof block.payload !== "object" || block.payload === null)
|
|
57
|
-
return null;
|
|
58
|
-
const value = block.payload.timestamp;
|
|
59
|
-
return typeof value === "number" && Number.isFinite(value) ? value : null;
|
|
60
|
-
}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
|
-
import { DIALOG_CLOSE_SHORTCUT_HINT, displayShortcutKeyLabel, type SemanticShortcutHint } from "../../../contracts/presentation/index.js";
|
|
1
|
+
import { DIALOG_CLOSE_SHORTCUT_HINT, displayShortcutKeyLabel, type SemanticShortcutHint, type ThemeSource, type UiTheme } from "../../../contracts/presentation/index.js";
|
|
2
2
|
import { type MarkdownTheme, type SelectListTheme } from "@earendil-works/pi-tui";
|
|
3
|
-
export
|
|
3
|
+
export { PINNED_PI_LAYOUT, applyPiTheme, applyPiThemeInstance, currentPiThemeName, ensurePiTheme, getAvailablePiThemes, loadPiTheme, piCanvasBackgroundAnsi, piTheme, setPiAccentColor, setPiPackageBorderProjectionEnabled, } from "./upstream/theme/theme.js";
|
|
4
|
+
type Paint = (text: string) => string;
|
|
5
|
+
/** The live Pi theme in neutral roles; `panel` and `disabled` default to plain and dim. */
|
|
6
|
+
export declare function piUiTheme(options?: {
|
|
7
|
+
readonly panel?: Paint;
|
|
8
|
+
readonly disabled?: Paint;
|
|
9
|
+
}): UiTheme;
|
|
10
|
+
export declare const PI_THEME_SOURCE: ThemeSource;
|
|
4
11
|
export type PiModalShortcutHint = SemanticShortcutHint;
|
|
5
12
|
export { DIALOG_CLOSE_SHORTCUT_HINT, displayShortcutKeyLabel };
|
|
6
13
|
/** Resolves dialog rules through the live A1 projection instead of Pi's package-global theme. */
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { DIALOG_CLOSE_SHORTCUT_HINT, displayShortcutKeyLabel, renderSemanticShortcutHints, } from "../../../contracts/presentation/index.js";
|
|
2
2
|
import { stripTerminalSequences, truncateToWidth } from "@earendil-works/pi-tui";
|
|
3
3
|
import { getMarkdownTheme } from "../startup-public.js";
|
|
4
|
-
import { piTheme } from "./upstream/theme/theme.js";
|
|
5
|
-
export
|
|
4
|
+
import { onPiThemeChange, piTheme, renderPiAccentPreview } from "./upstream/theme/theme.js";
|
|
5
|
+
export { PINNED_PI_LAYOUT, applyPiTheme, applyPiThemeInstance, currentPiThemeName, ensurePiTheme, getAvailablePiThemes, loadPiTheme, piCanvasBackgroundAnsi, piTheme, setPiAccentColor, setPiPackageBorderProjectionEnabled, } from "./upstream/theme/theme.js";
|
|
6
|
+
/** The live Pi theme in neutral roles; `panel` and `disabled` default to plain and dim. */
|
|
7
|
+
export function piUiTheme(options = {}) {
|
|
8
|
+
return {
|
|
9
|
+
fg: (token, text) => piTheme().fg(token, text),
|
|
10
|
+
bold: text => piTheme().bold(text),
|
|
11
|
+
plain: text => text,
|
|
12
|
+
accentPreview: (color, text) => renderPiAccentPreview(color, text),
|
|
13
|
+
disabled: options.disabled ?? (text => piTheme().fg("dim", text)),
|
|
14
|
+
highlight: text => piTheme().bg("selectedBg", text),
|
|
15
|
+
panel: options.panel ?? (text => text),
|
|
16
|
+
background: (token, text) => piTheme().bg(token, text),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const PI_UI_THEME = Object.freeze(piUiTheme());
|
|
20
|
+
export const PI_THEME_SOURCE = Object.freeze({ current: () => PI_UI_THEME, onChange: (listener) => onPiThemeChange(listener) });
|
|
6
21
|
export { DIALOG_CLOSE_SHORTCUT_HINT, displayShortcutKeyLabel };
|
|
7
22
|
/** Resolves dialog rules through the live A1 projection instead of Pi's package-global theme. */
|
|
8
23
|
export function paintPiBorder(text) {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { type ThinkingSelectorLevel } from "./upstream/components/thinking-selector.js";
|
|
2
2
|
import { type PiShellComponentPort } from "./shell-shared-facade.js";
|
|
3
|
-
|
|
3
|
+
interface PiShellThinkingSelectorPresentation {
|
|
4
4
|
readonly profile: "bare";
|
|
5
5
|
readonly cycleBinding: string | readonly string[];
|
|
6
6
|
}
|
|
7
7
|
/** Lazily loaded because thinking-selector code does not belong to the startup graph before `/thinking` opens. */
|
|
8
8
|
export declare function createPiShellThinkingSelector(currentLevel: ThinkingSelectorLevel, availableLevels: readonly ThinkingSelectorLevel[], onSelect: (level: ThinkingSelectorLevel) => void, onCancel: () => void, onSelectAsDefault?: (level: ThinkingSelectorLevel) => void, defaultLevel?: ThinkingSelectorLevel, presentation?: PiShellThinkingSelectorPresentation): PiShellComponentPort;
|
|
9
|
+
export {};
|
|
@@ -73,7 +73,7 @@ declare module "@earendil-works/pi-tui" {
|
|
|
73
73
|
}
|
|
74
74
|
export declare const KEYBINDINGS: {
|
|
75
75
|
readonly "tui.editor.undo": {
|
|
76
|
-
readonly defaultKeys: "
|
|
76
|
+
readonly defaultKeys: "alt+z" | "ctrl+z" | "ctrl+-";
|
|
77
77
|
readonly description: "Undo";
|
|
78
78
|
};
|
|
79
79
|
readonly "tui.altScreen.previousPrompt": {
|
|
@@ -153,7 +153,7 @@ export declare const KEYBINDINGS: {
|
|
|
153
153
|
readonly description: "Restore queued messages";
|
|
154
154
|
};
|
|
155
155
|
readonly "app.clipboard.pasteImage": {
|
|
156
|
-
readonly defaultKeys: "
|
|
156
|
+
readonly defaultKeys: "ctrl+v" | "alt+v";
|
|
157
157
|
readonly description: "Paste files on macOS, images, or text from clipboard";
|
|
158
158
|
};
|
|
159
159
|
readonly "app.session.new": {
|
|
@@ -5,8 +5,7 @@ export declare class SessionFooter implements Component {
|
|
|
5
5
|
private readonly cwd;
|
|
6
6
|
private readonly profile;
|
|
7
7
|
private readonly show;
|
|
8
|
-
|
|
9
|
-
constructor(getView: () => OwnedUiSessionViewModel, cwd: string, profile?: "pi" | "a1", show?: () => boolean, showSessionName?: boolean);
|
|
8
|
+
constructor(getView: () => OwnedUiSessionViewModel, cwd: string, profile?: "pi" | "a1", show?: () => boolean);
|
|
10
9
|
invalidate(): void;
|
|
11
10
|
dispose(): void;
|
|
12
11
|
render(width: number): string[];
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Provenance: @earendil-works/pi-coding-agent 1.5.0 (MIT), commit f9a26365568127461c47a07a37dcb42c140a3ac5,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/footer.ts.
|
|
4
|
-
* Modifications: Owned UI/routing; A1 level color, linked PRs,
|
|
5
|
-
*
|
|
6
|
-
* Deviations: owned-status-level-color, owned-pull-request-badge, owned-
|
|
7
|
-
* owned-footer-
|
|
4
|
+
* Modifications: Owned UI/routing; A1 level color, linked PRs, dim ellipsis and model priority; Pi
|
|
5
|
+
* unchanged.
|
|
6
|
+
* Deviations: owned-status-level-color, owned-pull-request-badge, owned-footer-ellipsis,
|
|
7
|
+
* owned-footer-model-priority.
|
|
8
8
|
*/
|
|
9
9
|
import { isAbsolute, relative, resolve, sep } from "node:path";
|
|
10
10
|
import { hyperlink, truncateToWidth, visibleWidth } from "@earendil-works/pi-tui";
|
|
@@ -14,13 +14,11 @@ export class SessionFooter {
|
|
|
14
14
|
cwd;
|
|
15
15
|
profile;
|
|
16
16
|
show;
|
|
17
|
-
|
|
18
|
-
constructor(getView, cwd, profile = "pi", show = () => true, showSessionName = true) {
|
|
17
|
+
constructor(getView, cwd, profile = "pi", show = () => true) {
|
|
19
18
|
this.getView = getView;
|
|
20
19
|
this.cwd = cwd;
|
|
21
20
|
this.profile = profile;
|
|
22
21
|
this.show = show;
|
|
23
|
-
this.showSessionName = showSessionName;
|
|
24
22
|
}
|
|
25
23
|
invalidate() { }
|
|
26
24
|
dispose() { }
|
|
@@ -43,7 +41,7 @@ export class SessionFooter {
|
|
|
43
41
|
const branch = view.status.footer?.branch;
|
|
44
42
|
if (branch)
|
|
45
43
|
pwd = `${pwd} (${branch})`;
|
|
46
|
-
const sessionName =
|
|
44
|
+
const sessionName = view.status.footer?.sessionName;
|
|
47
45
|
const pullRequest = this.profile === "a1" ? view.status.footer?.pullRequest : null;
|
|
48
46
|
let pathRow;
|
|
49
47
|
if (pullRequest == null) {
|
|
@@ -6,7 +6,7 @@ import type { PiSessionForkPrompt, PiSessionSelection } from "./session-selectio
|
|
|
6
6
|
import { type AdapterCommandResult } from "./command-dispatch.js";
|
|
7
7
|
import { type PiEnginePackageUpdateProbe, type PiEngineRuntimeFactory, type PiRepositoryContextReader } from "./session-runtime.js";
|
|
8
8
|
import { type PiEngineHostSessionPorts } from "./host-ports.js";
|
|
9
|
-
import { type PiSessionPresentationSource } from "./ports.js";
|
|
9
|
+
import { type PiEngineAnnouncements, type PiSessionPresentationSource } from "./ports.js";
|
|
10
10
|
export type { OwnedPiExtensionResourceSummary, OwnedPiExtensionSourceSummary, OwnedPiResourceSummary } from "./resource-catalog.js";
|
|
11
11
|
export type { PiEngineRuntimeFactory, PiEngineRuntimeFactoryInput } from "./session-runtime.js";
|
|
12
12
|
export type { AdapterCommandResult } from "./command-dispatch.js";
|
|
@@ -56,17 +56,14 @@ export declare class PiEngineAdapter implements OwnedUiSessionBackend, OwnedUiPr
|
|
|
56
56
|
get settings(): OwnedUiSessionSettingsPort;
|
|
57
57
|
get catalog(): OwnedUiSessionCatalogPort;
|
|
58
58
|
get extensions(): OwnedUiExtensionPort;
|
|
59
|
+
/** Pinned Pi's changelog since the profile's last seen version and extension package updates; the host announces each once per process. */
|
|
60
|
+
get announcements(): PiEngineAnnouncements;
|
|
59
61
|
/** The Pi objects behind pinned selectors and renderers, for the session presenters owner only. */
|
|
60
62
|
presentationSource(): PiSessionPresentationSource;
|
|
61
63
|
setWorkflowInteractionHost(interaction: PiWorkflowInteractionHost): void;
|
|
62
64
|
suggestionReasoningPolicy(): OwnedUiPromptSuggestionReasoning;
|
|
63
65
|
generate(request: OwnedUiPromptSuggestionRequest): Promise<OwnedUiPromptSuggestionResult>;
|
|
64
|
-
generateResidentTabName(instruction: string, maxTokens: number, signal: AbortSignal): Promise<string | null>;
|
|
65
66
|
start(): Promise<OwnedUiSessionViewModel>;
|
|
66
|
-
/** Announce pinned Pi's changelog since the profile's last seen version; the host calls this once per process. */
|
|
67
|
-
announceStartupChangelog(): Promise<void>;
|
|
68
|
-
/** Probe extension packages for updates and announce them; the host calls this once per process. */
|
|
69
|
-
announcePackageUpdates(): Promise<void>;
|
|
70
67
|
onEvent(listener: (event: OwnedUiEvent) => void): () => void;
|
|
71
68
|
/** Developer-only pressure evidence; never mirrored into visible diagnostic/status arrays. */
|
|
72
69
|
deliveryDiagnostics(): {
|
|
@@ -198,35 +198,22 @@ export class PiEngineAdapter {
|
|
|
198
198
|
get settings() { return this.#ports.settings; }
|
|
199
199
|
get catalog() { return this.#ports.catalog; }
|
|
200
200
|
get extensions() { return this.#ports.extensions; }
|
|
201
|
+
/** Pinned Pi's changelog since the profile's last seen version and extension package updates; the host announces each once per process. */
|
|
202
|
+
get announcements() { return this.#ports.announcements; }
|
|
201
203
|
/** The Pi objects behind pinned selectors and renderers, for the session presenters owner only. */
|
|
202
204
|
presentationSource() { return this.#ports.presentation; }
|
|
203
205
|
setWorkflowInteractionHost(interaction) {
|
|
204
206
|
this.#workflowInteraction = interaction;
|
|
205
207
|
}
|
|
206
|
-
#resolveTranscriptImage(assetId) {
|
|
207
|
-
return this.#projection.assets.resolve(assetId);
|
|
208
|
-
}
|
|
209
208
|
// Rationale: the startup check's newer release becomes pinned Pi's `Update Available` notice; it arrives
|
|
210
209
|
// whenever the check resolves, so a late result is appended like Pi's own fire-and-forget version check.
|
|
211
210
|
#announceReleaseUpdate(release) {
|
|
212
211
|
if (this.#disposed)
|
|
213
212
|
return;
|
|
214
|
-
if (release.status === "client-connected") {
|
|
215
|
-
if (this.#state.diagnosticsState.acknowledgeClientVersion(release.version))
|
|
216
|
-
this.#emitView();
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
213
|
if (release.status === "installed") {
|
|
220
|
-
this.#state.diagnosticsState.clearCodes(["release-update-installed"
|
|
214
|
+
this.#state.diagnosticsState.clearCodes(["release-update-installed"]);
|
|
221
215
|
this.#addDiagnostic("info", "release-update-installed", `Update ${release.version} installed; restart to update.`, true);
|
|
222
216
|
}
|
|
223
|
-
else if (release.status === "blocked") {
|
|
224
|
-
this.#state.diagnosticsState.clearCodes(["release-update-installed", "release-update-blocked"]);
|
|
225
|
-
this.#addDiagnostic("info", "release-update-blocked", `Update ${release.version} prepared; activation blocked.`, true);
|
|
226
|
-
}
|
|
227
|
-
else if (release.status === "blocked-cleared") {
|
|
228
|
-
this.#state.diagnosticsState.clearCodes(["release-update-blocked"]);
|
|
229
|
-
}
|
|
230
217
|
else if (release.status === undefined || release.status === "available") {
|
|
231
218
|
const changelog = release.changelogUrl === null ? "" : `\nChangelog: ${release.changelogUrl}`;
|
|
232
219
|
this.#addDiagnostic("info", "release-update", `New version ${release.version} is available. Run ${release.command}${changelog}`, true);
|
|
@@ -239,9 +226,6 @@ export class PiEngineAdapter {
|
|
|
239
226
|
generate(request) {
|
|
240
227
|
return this.#suggestions.generate(request);
|
|
241
228
|
}
|
|
242
|
-
generateResidentTabName(instruction, maxTokens, signal) {
|
|
243
|
-
return this.#suggestions.completeInstruction(instruction, maxTokens, signal);
|
|
244
|
-
}
|
|
245
229
|
async start() {
|
|
246
230
|
if (this.#engine.started)
|
|
247
231
|
return this.view();
|
|
@@ -255,14 +239,6 @@ export class PiEngineAdapter {
|
|
|
255
239
|
this.#emitView();
|
|
256
240
|
return this.view();
|
|
257
241
|
}
|
|
258
|
-
/** Announce pinned Pi's changelog since the profile's last seen version; the host calls this once per process. */
|
|
259
|
-
announceStartupChangelog() {
|
|
260
|
-
return this.#engine.announceChangelog();
|
|
261
|
-
}
|
|
262
|
-
/** Probe extension packages for updates and announce them; the host calls this once per process. */
|
|
263
|
-
announcePackageUpdates() {
|
|
264
|
-
return this.#engine.announcePackageUpdates();
|
|
265
|
-
}
|
|
266
242
|
onEvent(listener) {
|
|
267
243
|
return this.#delivery.subscribe(listener, this.#delivery.stamp({ type: "session-view", view: this.view() }));
|
|
268
244
|
}
|
|
@@ -410,7 +386,7 @@ export class PiEngineAdapter {
|
|
|
410
386
|
clearQueuedWorkflows: () => this.clearQueuedWorkflows(),
|
|
411
387
|
setWorkflowInteractionHost: interaction => { this.setWorkflowInteractionHost(interaction); },
|
|
412
388
|
announceReleaseUpdate: release => { this.#announceReleaseUpdate(release); },
|
|
413
|
-
resolveTranscriptImage: assetId => this.#
|
|
389
|
+
resolveTranscriptImage: assetId => this.#projection.assets.resolve(assetId),
|
|
414
390
|
extensionRunner: () => this.#requireWorkflowSession().extensionRunner,
|
|
415
391
|
});
|
|
416
392
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
export declare function
|
|
1
|
+
/** Pinned Pi's changelog since `sinceVersion` (all of it when absent), read from the owned data resource. */
|
|
2
|
+
export declare function readPinnedCommandChangelog(sinceVersion?: string, path?: URL): Promise<string>;
|
|
@@ -2,8 +2,8 @@ import { existsSync } from "node:fs";
|
|
|
2
2
|
import { readFile } from "node:fs/promises";
|
|
3
3
|
import { posix } from "node:path";
|
|
4
4
|
const REPOSITORY = "https://github.com/earendil-works/pi";
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
/** Pinned Pi's changelog since `sinceVersion` (all of it when absent), read from the owned data resource. */
|
|
6
|
+
export async function readPinnedCommandChangelog(sinceVersion, path = new URL("./resources/changelog.json", import.meta.url)) {
|
|
7
7
|
if (!existsSync(path))
|
|
8
8
|
return sinceVersion === undefined ? "No changelog entries found." : "";
|
|
9
9
|
try {
|
|
@@ -19,7 +19,7 @@ export async function readPinnedCommandChangelog(sinceVersion) {
|
|
|
19
19
|
return sinceVersion === undefined ? "No changelog entries found." : "";
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
|
|
22
|
+
function formatPinnedCommandChangelog(content, sinceVersion) {
|
|
23
23
|
// Provenance: behavior follows Pi 0.84.2 utils/changelog.ts at 914cf1472e715297caa30db4b9535d534a9eb718.
|
|
24
24
|
// Runtime reads only the owned data resource; maintenance tooling verifies its pinned provenance.
|
|
25
25
|
let releases = content.split(/(?=^## )/m).flatMap((section) => {
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
/** Expected summary size for a first compaction, when no previous summary on the branch can serve as the estimate. */
|
|
2
|
-
export declare const DEFAULT_EXPECTED_COMPACTION_SUMMARY_CHARS = 4000;
|
|
3
1
|
/** The public session surface compaction progress reads: the agent's stream function and the branch entries. */
|
|
4
|
-
|
|
2
|
+
interface CompactionProgressSession {
|
|
5
3
|
readonly agent?: {
|
|
6
4
|
streamFunction?: unknown;
|
|
7
5
|
} | undefined;
|
|
@@ -22,3 +20,4 @@ export interface CompactionProgressObserver {
|
|
|
22
20
|
* when the session exposes no callable public stream function.
|
|
23
21
|
*/
|
|
24
22
|
export declare function observeCompactionProgress(session: CompactionProgressSession, onProgress: (percent: number) => void): CompactionProgressObserver | null;
|
|
23
|
+
export {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** Expected summary size for a first compaction, when no previous summary on the branch can serve as the estimate. */
|
|
2
|
-
|
|
2
|
+
const DEFAULT_EXPECTED_COMPACTION_SUMMARY_CHARS = 4000;
|
|
3
3
|
/** Character-based estimates stay below terminal stream completion. */
|
|
4
4
|
const MAX_STREAMING_PERCENT = 99;
|
|
5
5
|
const COMPLETE_PERCENT = 100;
|
|
@@ -20,7 +20,7 @@ export declare class PiCapabilityCompatibilityError extends Error {
|
|
|
20
20
|
readonly operation: string;
|
|
21
21
|
constructor(packageVersion: string, capability: string, operation: string, detail: string);
|
|
22
22
|
}
|
|
23
|
-
|
|
23
|
+
interface PiUpgradeConformanceReport {
|
|
24
24
|
readonly schema: "pi-engine-conformance-v1";
|
|
25
25
|
readonly packageName: "@earendil-works/pi-coding-agent";
|
|
26
26
|
readonly packageVersion: string;
|
|
@@ -37,3 +37,4 @@ export declare class PiUpgradeConformanceError extends Error {
|
|
|
37
37
|
}
|
|
38
38
|
export declare function runPiUpgradeConformance(): Promise<PiUpgradeConformanceReport>;
|
|
39
39
|
export declare function validatePiCapabilityResults(packageVersion: string, results: readonly PiCapabilityConformanceResult[]): void;
|
|
40
|
+
export {};
|
|
@@ -5,8 +5,6 @@ interface DefaultModelChoice {
|
|
|
5
5
|
readonly label: string;
|
|
6
6
|
readonly name: string;
|
|
7
7
|
}
|
|
8
|
-
export declare const DEFAULT_MODEL_SETTING_KEY = "defaultModel";
|
|
9
|
-
export declare const SUPPLEMENTAL_SETTING_KEYS: readonly ["defaultModel"];
|
|
10
8
|
export declare function defaultModelDescriptor(settings: SettingsManager, models: readonly DefaultModelChoice[]): AgentSettingDescriptor;
|
|
11
9
|
export declare function writeDefaultModel(settings: SettingsManager, models: readonly DefaultModelChoice[], value: unknown): Promise<AgentSettingChangeOutcome>;
|
|
12
10
|
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
export const SUPPLEMENTAL_SETTING_KEYS = [DEFAULT_MODEL_SETTING_KEY];
|
|
1
|
+
const DEFAULT_MODEL_SETTING_KEY = "defaultModel";
|
|
3
2
|
const UNSET = "not set";
|
|
4
3
|
function read(settings) {
|
|
5
4
|
const provider = settings.getDefaultProvider();
|
|
@@ -6,5 +6,4 @@ export declare class EngineDiagnostics {
|
|
|
6
6
|
get messages(): readonly string[];
|
|
7
7
|
record(severity: OwnedUiDiagnostics["severity"], code: string, message: string, recoverable: boolean): OwnedUiDiagnostics;
|
|
8
8
|
clearCodes(codes: readonly string[]): boolean;
|
|
9
|
-
acknowledgeClientVersion(version: string): boolean;
|
|
10
9
|
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { gte, valid as validSemver } from "semver";
|
|
2
1
|
/** Bounded structured notices; acknowledgements never inspect terminal cells or touch Agent work. */
|
|
3
2
|
export class EngineDiagnostics {
|
|
4
3
|
#values = [];
|
|
@@ -18,19 +17,6 @@ export class EngineDiagnostics {
|
|
|
18
17
|
const selected = new Set(codes);
|
|
19
18
|
return this.#remove(diagnostic => selected.has(diagnostic.code));
|
|
20
19
|
}
|
|
21
|
-
acknowledgeClientVersion(version) {
|
|
22
|
-
if (validSemver(version) === null)
|
|
23
|
-
return false;
|
|
24
|
-
return this.#remove(diagnostic => {
|
|
25
|
-
// Invariant: restart readiness describes this long-lived process, not the outer client that
|
|
26
|
-
// attached to it. A newer client can clear activation blocking, but only process exit clears
|
|
27
|
-
// an installed-update notice.
|
|
28
|
-
const target = diagnostic.code === "release-update-blocked"
|
|
29
|
-
? /^Update (\S+) prepared; activation blocked\.$/u.exec(diagnostic.message)?.[1]
|
|
30
|
-
: undefined;
|
|
31
|
-
return target !== undefined && validSemver(target) !== null && gte(version, target);
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
20
|
#remove(predicate) {
|
|
35
21
|
const removed = new Set();
|
|
36
22
|
for (let index = this.#values.length - 1; index >= 0; index--) {
|
|
@@ -24,7 +24,7 @@ export type PiEmittedEvent = Omit<Extract<OwnedUiEvent, {
|
|
|
24
24
|
type: "diagnostic";
|
|
25
25
|
}>, "sessionId" | "sequence">;
|
|
26
26
|
/** A command outcome held back during an overload so its command can still settle after recovery. */
|
|
27
|
-
|
|
27
|
+
interface ReservedCommandOutcome {
|
|
28
28
|
readonly outcome: Extract<OwnedUiEvent, {
|
|
29
29
|
type: "command-outcome";
|
|
30
30
|
}>["outcome"];
|
|
@@ -98,3 +98,4 @@ export declare class PiEventDelivery {
|
|
|
98
98
|
/** Resolves once every queued event has been delivered or invalidated. */
|
|
99
99
|
settle(): Promise<void>;
|
|
100
100
|
}
|
|
101
|
+
export {};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { AgentSession } from "../startup-public.js";
|
|
2
2
|
import { type OwnedUiDiagnostics, type OwnedUiVisualExtensionSupport } from "../../../contracts/owned-ui/index.js";
|
|
3
3
|
export type OwnedPiVisualExtensionSupport = OwnedUiVisualExtensionSupport;
|
|
4
|
-
|
|
4
|
+
interface PiExtensionUiBindingPorts {
|
|
5
5
|
session(): AgentSession | undefined;
|
|
6
6
|
diagnostic(severity: OwnedUiDiagnostics["severity"], code: string, message: string, recoverable: boolean): void;
|
|
7
7
|
emitView(): void;
|
|
@@ -24,3 +24,4 @@ export declare class PiExtensionUiBinding {
|
|
|
24
24
|
/** Bind the attached bridge to the current session, reporting failures as diagnostics. */
|
|
25
25
|
rebind(): Promise<void>;
|
|
26
26
|
}
|
|
27
|
+
export {};
|
|
@@ -141,7 +141,7 @@ class ProcessPiEngineHost {
|
|
|
141
141
|
return;
|
|
142
142
|
this.#announced = true;
|
|
143
143
|
if (this.#options.announceStartupChangelog !== false)
|
|
144
|
-
await adapter.
|
|
145
|
-
void adapter.
|
|
144
|
+
await adapter.announcements.startupChangelog();
|
|
145
|
+
void adapter.announcements.packageUpdates();
|
|
146
146
|
}
|
|
147
147
|
}
|
|
@@ -10,7 +10,6 @@ export declare function retainCompletedArguments(current: OwnedUiTranscriptBlock
|
|
|
10
10
|
* need re-renders it for nothing.
|
|
11
11
|
*/
|
|
12
12
|
export declare function sameBlockContent(left: OwnedUiTranscriptBlock, right: OwnedUiTranscriptBlock): boolean;
|
|
13
|
-
export declare function sameValue(left: unknown, right: unknown): boolean;
|
|
14
13
|
export declare function textFromContent(content: unknown): string;
|
|
15
14
|
export declare function assistantContent(content: readonly unknown[]): readonly Record<string, unknown>[];
|
|
16
15
|
export declare function contentImageCount(content: unknown): number;
|
|
@@ -35,7 +35,7 @@ export function sameBlockContent(left, right) {
|
|
|
35
35
|
&& sameValue(left.payload, right.payload)
|
|
36
36
|
&& sameValue(left.imageReferences ?? [], right.imageReferences ?? []);
|
|
37
37
|
}
|
|
38
|
-
|
|
38
|
+
function sameValue(left, right) {
|
|
39
39
|
if (left === right)
|
|
40
40
|
return true;
|
|
41
41
|
if (typeof left !== typeof right || left === null || right === null)
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import type { OwnedUiEvent } from "../../../contracts/owned-ui/index.js";
|
|
2
|
-
export declare const MAX_PENDING_EVENTS = 1024;
|
|
3
|
-
export declare const MAX_PENDING_EVENT_BYTES: number;
|
|
4
|
-
/** Actual shell semantics: only live complete block state has no independent side effect. */
|
|
5
|
-
export declare function replaceableEventKey(event: OwnedUiEvent): string | null;
|
|
6
2
|
/** Intrusive FIFO + segment index: replacement unlinks in O(1), never changes source ordering. */
|
|
7
3
|
export declare class PendingEngineDelivery {
|
|
8
4
|
#private;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
const MAX_PENDING_EVENTS = 1024;
|
|
2
|
+
const MAX_PENDING_EVENT_BYTES = 8 * 1024 * 1024;
|
|
3
3
|
/** Actual shell semantics: only live complete block state has no independent side effect. */
|
|
4
|
-
|
|
4
|
+
function replaceableEventKey(event) {
|
|
5
5
|
switch (event.type) {
|
|
6
6
|
case "transcript-block": return event.block.status === "live" && !(typeof event.block.payload === "object" && event.block.payload !== null && "isError" in event.block.payload && event.block.payload.isError === true) ? event.block.id : null;
|
|
7
7
|
case "session-view": // Invariant: may clear compaction work, replace editor/session state, or preempt presentation.
|
|
@@ -24,6 +24,11 @@ export interface PiSessionPresentationSource {
|
|
|
24
24
|
pinnedSettingsModels(): Pick<PiPinnedSettingsSnapshot, "currentModel" | "availableDefaultModels">;
|
|
25
25
|
applyPinnedSettingValue(callback: PiPinnedSettingsCallback, value: unknown): Promise<PiWorkflowResult>;
|
|
26
26
|
}
|
|
27
|
+
/** Startup announcements the host makes once per process: pinned Pi's changelog and extension package updates. */
|
|
28
|
+
export interface PiEngineAnnouncements {
|
|
29
|
+
startupChangelog(): Promise<void>;
|
|
30
|
+
packageUpdates(): Promise<void>;
|
|
31
|
+
}
|
|
27
32
|
export interface PiEngineAdapterPorts {
|
|
28
33
|
readonly identity: OwnedUiSessionIdentityPort;
|
|
29
34
|
readonly session: OwnedUiSessionPort;
|
|
@@ -32,12 +37,13 @@ export interface PiEngineAdapterPorts {
|
|
|
32
37
|
readonly catalog: OwnedUiSessionCatalogPort;
|
|
33
38
|
readonly extensions: OwnedUiExtensionPort;
|
|
34
39
|
readonly presentation: PiSessionPresentationSource;
|
|
40
|
+
readonly announcements: PiEngineAnnouncements;
|
|
35
41
|
}
|
|
36
42
|
/** The adapter's collaborators and its own session operations, which every port member reaches at call time. */
|
|
37
43
|
export interface EnginePortParts {
|
|
38
44
|
readonly sessionId: string;
|
|
39
45
|
readonly agentDir: string;
|
|
40
|
-
readonly engine: Pick<PiEngineRuntime, "cwd" | "generation" | "bindingGeneration" | "currentSessionResumeMetadata" | "currentSessionFile" | "session">;
|
|
46
|
+
readonly engine: Pick<PiEngineRuntime, "cwd" | "generation" | "bindingGeneration" | "currentSessionResumeMetadata" | "currentSessionFile" | "session" | "announceChangelog" | "announcePackageUpdates">;
|
|
41
47
|
readonly contexts: PiWorkflowContexts;
|
|
42
48
|
readonly workflows: PiWorkflowRunner;
|
|
43
49
|
readonly settings: PiEngineSettings;
|
|
@@ -65,6 +65,10 @@ export function createEnginePorts(parts) {
|
|
|
65
65
|
bindClipboardWriter: writer => workflows.bindClipboardWriter(writer),
|
|
66
66
|
announceReleaseUpdate: release => { parts.announceReleaseUpdate(release); },
|
|
67
67
|
},
|
|
68
|
+
announcements: {
|
|
69
|
+
startupChangelog: () => engine.announceChangelog(),
|
|
70
|
+
packageUpdates: () => engine.announcePackageUpdates(),
|
|
71
|
+
},
|
|
68
72
|
presentation: {
|
|
69
73
|
pinnedModelSelectorContext: () => contexts.pinnedModelSelectorContext(),
|
|
70
74
|
pinnedSessionSelectorContext: () => contexts.pinnedSessionSelectorContext(),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
1
|
+
type PiProjectTrustChoiceId = "trust" | "trust-parent" | "trust-session" | "deny" | "deny-session";
|
|
2
2
|
export interface PiProjectTrustPreflightRequest {
|
|
3
3
|
readonly cwd: string;
|
|
4
4
|
readonly defaultDecision: "ask" | "always" | "never";
|
|
@@ -24,3 +24,4 @@ export interface ResolvePiProjectTrustPreflightOptions {
|
|
|
24
24
|
* result exists.
|
|
25
25
|
*/
|
|
26
26
|
export declare function resolvePiProjectTrustPreflight(options: ResolvePiProjectTrustPreflightOptions): Promise<PiProjectTrustPreflightResult>;
|
|
27
|
+
export {};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { AgentSession, AgentSessionRuntime } from "../startup-public.js";
|
|
2
2
|
import { type OwnedUiModelInfo, type OwnedUiPromptSuggestionGeneratorPort, type OwnedUiPromptSuggestionReasoning, type OwnedUiPromptSuggestionRequest, type OwnedUiPromptSuggestionResult } from "../../../contracts/owned-ui/index.js";
|
|
3
3
|
/** The run position a suggestion request must still match to be answered. */
|
|
4
|
-
|
|
4
|
+
interface PiPromptSuggestionIdentity {
|
|
5
5
|
readonly sessionId: string;
|
|
6
6
|
readonly sessionGeneration: number;
|
|
7
7
|
readonly runSequence: number;
|
|
8
8
|
readonly responseSequence: number;
|
|
9
9
|
}
|
|
10
|
-
|
|
10
|
+
interface PiPromptSuggestionPorts {
|
|
11
11
|
session(): AgentSession | undefined;
|
|
12
12
|
runtime(): AgentSessionRuntime | undefined;
|
|
13
13
|
activeModel(): OwnedUiModelInfo | null;
|
|
@@ -26,6 +26,6 @@ export declare class PiPromptSuggestions implements OwnedUiPromptSuggestionGener
|
|
|
26
26
|
#private;
|
|
27
27
|
constructor(ports: PiPromptSuggestionPorts);
|
|
28
28
|
reasoningPolicy(): OwnedUiPromptSuggestionReasoning;
|
|
29
|
-
completeInstruction(instruction: string, maxTokens: number, signal: AbortSignal): Promise<string | null>;
|
|
30
29
|
generate(request: OwnedUiPromptSuggestionRequest): Promise<OwnedUiPromptSuggestionResult>;
|
|
31
30
|
}
|
|
31
|
+
export {};
|