@timurproko/a1 0.1.8-dev.50ebb19 → 0.1.8-dev.512
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 +168 -65
- package/bin/activate.js +8 -0
- package/bin/cli.js +33 -11
- package/bin/guardian.js +16 -6
- package/bin/module-identity.js +76 -69
- package/bin/module-resolver.js +138 -0
- package/bin/pinned-pi-public.d.ts +3 -0
- package/bin/pinned-pi-public.js +93 -0
- package/bin/release-cleanup.js +8 -0
- package/bin/supervisor.js +2 -2
- package/bin/sync-pi-tui-proxy.js +7 -0
- package/bin/ui.js +67 -22
- package/bin/update-recovery.js +343 -0
- package/bin/warmup.js +28 -0
- package/dist/app/session-shell/clipboard-diagnostics.d.ts +16 -0
- package/dist/app/session-shell/clipboard-diagnostics.js +65 -0
- package/dist/app/session-shell/clipboard-image.d.ts +11 -0
- package/dist/app/session-shell/clipboard-image.js +38 -0
- package/dist/app/session-shell/editor-hyperlink-budget.d.ts +9 -0
- package/dist/app/session-shell/editor-hyperlink-budget.js +23 -0
- package/dist/app/session-shell/helper-pool.d.ts +33 -0
- package/dist/app/session-shell/helper-pool.js +98 -0
- package/dist/app/session-shell/image-preparation-client.d.ts +20 -0
- package/dist/app/session-shell/image-preparation-client.js +145 -0
- package/dist/app/session-shell/image-preparation.d.ts +18 -0
- package/dist/app/session-shell/image-preparation.js +126 -0
- package/dist/app/session-shell/image-source.d.ts +13 -0
- package/dist/app/session-shell/image-source.js +171 -0
- package/dist/app/session-shell/image-worker.d.ts +17 -0
- package/dist/app/session-shell/image-worker.js +23 -0
- package/dist/app/session-shell/index.d.ts +7 -0
- package/dist/app/session-shell/index.js +4 -0
- package/dist/app/session-shell/paste-executor.d.ts +18 -0
- package/dist/app/session-shell/paste-executor.js +253 -0
- package/dist/app/session-shell/paste-helper.js +173 -0
- package/dist/app/session-shell/paste-preparation-client.d.ts +31 -0
- package/dist/app/session-shell/paste-preparation-client.js +170 -0
- package/dist/app/session-shell/paste-protocol.d.ts +78 -0
- package/dist/app/session-shell/paste-protocol.js +18 -0
- package/dist/app/session-shell/paste-text-preparation.d.ts +6 -0
- package/dist/app/session-shell/paste-text-preparation.js +134 -0
- package/dist/app/session-shell/paste-text-worker.js +12 -0
- package/dist/app/session-shell/paste-types.d.ts +17 -0
- package/dist/app/session-shell/path-chip-presentation.d.ts +7 -0
- package/dist/app/session-shell/path-chip-presentation.js +24 -0
- package/dist/app/session-shell/prompt-chips.d.ts +76 -0
- package/dist/app/session-shell/prompt-chips.js +507 -0
- package/dist/app/session-shell/prompt-history-controller.d.ts +36 -0
- package/dist/app/session-shell/prompt-history-controller.js +170 -0
- package/dist/app/session-shell/prompt-suggestion-controller.d.ts +35 -0
- package/dist/app/session-shell/prompt-suggestion-controller.js +207 -0
- package/dist/app/session-shell/quit-outro-effects.d.ts +29 -0
- package/dist/app/session-shell/quit-outro-effects.js +242 -0
- package/dist/app/session-shell/quit-outro.d.ts +38 -0
- package/dist/app/session-shell/quit-outro.js +98 -0
- package/dist/app/session-shell/response-copy-coordinator.d.ts +27 -0
- package/dist/app/session-shell/response-copy-coordinator.js +187 -0
- package/dist/app/session-shell/response-copy-helper.js +122 -0
- package/dist/app/session-shell/response-copy-protocol.d.ts +56 -0
- package/dist/app/session-shell/response-copy-protocol.js +5 -0
- package/dist/app/session-shell/response-copy-transport.d.ts +39 -0
- package/dist/app/session-shell/response-copy-transport.js +217 -0
- package/dist/app/session-shell/session-shell-root.d.ts +265 -0
- package/dist/app/session-shell/session-shell-root.js +1366 -0
- package/dist/app/session-shell/session-shell.d.ts +59 -0
- package/dist/app/session-shell/session-shell.js +1917 -0
- package/dist/app/session-shell/session-viewport-controller.d.ts +61 -0
- package/dist/app/session-shell/session-viewport-controller.js +597 -0
- package/dist/app/session-shell/stream-presentation-coalescer.d.ts +29 -0
- package/dist/app/session-shell/stream-presentation-coalescer.js +79 -0
- package/dist/app/session-shell/system-clipboard.d.ts +20 -0
- package/dist/app/session-shell/system-clipboard.js +159 -0
- package/dist/app/session-shell/text-paste.d.ts +5 -0
- package/dist/app/session-shell/text-paste.js +16 -0
- package/dist/cli/capabilities.d.ts +6 -0
- package/dist/cli/capabilities.js +7 -0
- package/dist/cli/dispatch.d.ts +46 -0
- package/dist/cli/dispatch.js +261 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/package-messages.d.ts +26 -0
- package/dist/cli/package-messages.js +71 -0
- package/dist/cli/packages.d.ts +32 -0
- package/dist/cli/packages.js +81 -0
- package/dist/cli/version-stats.d.ts +22 -0
- package/dist/cli/version-stats.js +112 -0
- package/dist/composition/index.d.ts +2 -0
- package/dist/composition/index.js +2 -0
- package/dist/composition/owned-ui.d.ts +37 -0
- package/dist/composition/owned-ui.js +136 -0
- package/dist/composition/settings-route-host.d.ts +7 -0
- package/dist/composition/settings-route-host.js +110 -0
- package/dist/contracts/agent-engine/capability-ports.d.ts +95 -0
- package/dist/contracts/agent-engine/domain-validation.js +107 -0
- package/dist/contracts/agent-engine/domain.d.ts +138 -0
- package/dist/contracts/agent-engine/index.d.ts +11 -0
- package/dist/contracts/agent-engine/index.js +6 -0
- package/dist/contracts/agent-engine/package-ports.d.ts +60 -0
- package/dist/contracts/agent-engine/ports.js +1 -0
- package/dist/contracts/owned-ui/extension-ui.d.ts +310 -0
- package/dist/contracts/owned-ui/image-attachments.d.ts +36 -0
- package/dist/contracts/owned-ui/image-attachments.js +67 -0
- package/dist/contracts/owned-ui/index.d.ts +12 -0
- package/dist/contracts/owned-ui/index.js +8 -0
- package/dist/contracts/owned-ui/model.d.ts +378 -0
- package/dist/contracts/owned-ui/prompt-history.d.ts +55 -0
- package/dist/contracts/owned-ui/prompt-history.js +23 -0
- package/dist/contracts/owned-ui/prompt-suggestions.d.ts +3 -0
- package/dist/contracts/owned-ui/prompt-suggestions.js +44 -0
- package/dist/contracts/owned-ui/suggestion-diagnostics.d.ts +22 -0
- package/dist/contracts/owned-ui/suggestion-diagnostics.js +9 -0
- package/dist/contracts/owned-ui/transcript-lifecycle.d.ts +5 -0
- package/dist/contracts/owned-ui/transcript-lifecycle.js +33 -0
- package/dist/contracts/owned-ui/validation.d.ts +15 -0
- package/dist/contracts/owned-ui/validation.js +523 -0
- package/dist/contracts/presentation/index.d.ts +104 -0
- package/dist/features/launch/development-launch.js +36 -0
- package/dist/features/launch/index.d.ts +12 -0
- package/dist/features/launch/index.js +6 -0
- package/dist/features/launch/intent.d.ts +12 -0
- package/dist/features/launch/intent.js +8 -0
- package/dist/features/launch/prepare-launch.d.ts +11 -0
- package/dist/features/launch/prepare-launch.js +14 -0
- package/dist/features/launch/profile-paths.d.ts +16 -0
- package/dist/features/launch/profile-paths.js +36 -0
- package/dist/features/launch/runtime-selection.d.ts +16 -0
- package/dist/features/launch/runtime-selection.js +13 -0
- package/dist/features/owned-ui/index.d.ts +6 -0
- package/dist/features/owned-ui/index.js +4 -0
- package/dist/features/owned-ui/project-trust-prompt.d.ts +25 -0
- package/dist/features/owned-ui/project-trust-prompt.js +149 -0
- package/dist/features/owned-ui/run.d.ts +17 -0
- package/dist/features/owned-ui/run.js +64 -0
- package/dist/features/owned-ui/session-fork-prompt.d.ts +8 -0
- package/dist/features/owned-ui/session-fork-prompt.js +34 -0
- package/dist/features/owned-ui/settings-app.d.ts +21 -0
- package/dist/features/owned-ui/settings-app.js +807 -0
- package/dist/features/owned-ui/settings-route.d.ts +2 -0
- package/dist/features/owned-ui/settings-route.js +2 -0
- package/dist/features/prompt-history/image-sidecar.d.ts +32 -0
- package/dist/features/prompt-history/image-sidecar.js +130 -0
- package/dist/features/prompt-history/index.d.ts +4 -0
- package/dist/features/prompt-history/index.js +3 -0
- package/dist/features/prompt-history/paths.d.ts +5 -0
- package/dist/features/prompt-history/paths.js +17 -0
- package/dist/features/prompt-history/service.d.ts +54 -0
- package/dist/features/prompt-history/service.js +425 -0
- package/dist/features/prompt-history/store.d.ts +16 -0
- package/dist/features/prompt-history/store.js +219 -0
- package/dist/features/prompt-history/worker.d.ts +9 -0
- package/dist/features/prompt-history/worker.js +45 -0
- package/dist/features/prompt-suggestions/diagnostics.d.ts +18 -0
- package/dist/features/prompt-suggestions/diagnostics.js +82 -0
- package/dist/features/prompt-suggestions/index.d.ts +2 -0
- package/dist/features/prompt-suggestions/index.js +1 -0
- package/dist/foundation/launch-context/index.d.ts +59 -0
- package/dist/foundation/launch-context/index.js +136 -0
- package/dist/foundation/launch-guardian/index.d.ts +2 -0
- package/dist/foundation/launch-guardian/index.js +1 -0
- package/dist/foundation/launch-guardian/main.d.ts +33 -0
- package/dist/foundation/launch-guardian/main.js +180 -0
- package/dist/foundation/lifecycle/commands.js +1 -0
- package/dist/foundation/lifecycle/index.d.ts +11 -0
- package/dist/foundation/lifecycle/index.js +5 -0
- package/dist/foundation/lifecycle/model.d.ts +64 -0
- package/dist/foundation/lifecycle/model.js +40 -0
- package/dist/foundation/lifecycle/paths.d.ts +30 -0
- package/dist/foundation/lifecycle/paths.js +70 -0
- package/dist/foundation/lifecycle/session-selection.d.ts +9 -0
- package/dist/foundation/lifecycle/session-selection.js +39 -0
- package/dist/foundation/lifecycle/supervisor-startup.d.ts +30 -0
- package/dist/foundation/lifecycle/supervisor-startup.js +106 -0
- package/dist/foundation/process-containment/darwin-process-inspector.d.ts +5 -0
- package/dist/foundation/process-containment/darwin-process-inspector.js +7 -0
- package/dist/foundation/process-containment/index.d.ts +8 -0
- package/dist/foundation/process-containment/index.js +6 -0
- package/dist/foundation/process-containment/linux-process-inspector.d.ts +7 -0
- package/dist/foundation/process-containment/linux-process-inspector.js +27 -0
- package/dist/foundation/process-containment/native-guardian-containment.d.ts +17 -0
- package/dist/foundation/process-containment/native-guardian-containment.js +140 -0
- package/dist/foundation/process-containment/windows-process-inspector.d.ts +19 -0
- package/dist/foundation/process-containment/windows-process-inspector.js +56 -0
- package/dist/foundation/protocol/client.d.ts +18 -0
- package/dist/foundation/protocol/client.js +130 -0
- package/dist/foundation/protocol/index.d.ts +3 -0
- package/dist/foundation/protocol/index.js +2 -0
- package/dist/foundation/protocol/messages.d.ts +90 -0
- package/dist/foundation/protocol/messages.js +100 -0
- package/dist/foundation/release/bootstrap.d.ts +51 -0
- package/dist/foundation/release/bootstrap.js +427 -0
- package/dist/foundation/release/cohort-state.d.ts +157 -0
- package/dist/foundation/release/cohort-state.js +472 -0
- package/dist/foundation/release/dependency-certification-retention.d.ts +7 -0
- package/dist/foundation/release/dependency-certification-retention.js +88 -0
- package/dist/foundation/release/dependency-certification.d.ts +24 -0
- package/dist/foundation/release/dependency-certification.js +266 -0
- package/dist/foundation/release/dependency-layer.d.ts +78 -0
- package/dist/foundation/release/dependency-layer.js +466 -0
- package/dist/foundation/release/endpoints.d.ts +24 -0
- package/dist/foundation/release/endpoints.js +134 -0
- package/dist/foundation/release/immutable-platform.d.ts +6 -0
- package/dist/foundation/release/immutable-platform.js +13 -0
- package/dist/foundation/release/index.d.ts +32 -0
- package/dist/foundation/release/index.js +17 -0
- package/dist/foundation/release/release-gc.d.ts +71 -0
- package/dist/foundation/release/release-gc.js +764 -0
- package/dist/foundation/release/release-store.d.ts +49 -0
- package/dist/foundation/release/release-store.js +235 -0
- package/dist/foundation/release/release.d.ts +43 -0
- package/dist/foundation/release/release.js +215 -0
- package/dist/foundation/release/restart-certification.d.ts +68 -0
- package/dist/foundation/release/restart-certification.js +227 -0
- package/dist/foundation/release/types.d.ts +11 -0
- package/dist/foundation/release/types.js +1 -0
- package/dist/foundation/release/update-activation.d.ts +72 -0
- package/dist/foundation/release/update-activation.js +204 -0
- package/dist/foundation/release/update-launch.d.ts +6 -0
- package/dist/foundation/release/update-launch.js +17 -0
- package/dist/foundation/release/update-recovery.d.ts +76 -0
- package/dist/foundation/release/update-recovery.js +356 -0
- package/dist/foundation/release/update-transaction.d.ts +42 -0
- package/dist/foundation/release/update-transaction.js +101 -0
- package/dist/foundation/release/update.d.ts +114 -0
- package/dist/foundation/release/update.js +633 -0
- package/dist/foundation/release/warmup.d.ts +3 -0
- package/dist/foundation/release/warmup.js +47 -0
- package/dist/foundation/startup/index.d.ts +4 -0
- package/dist/foundation/startup/index.js +2 -0
- package/dist/foundation/startup/startup-budget.d.ts +46 -0
- package/dist/foundation/startup/startup-budget.js +42 -0
- package/dist/foundation/startup/startup-descriptor.js +34 -0
- package/dist/foundation/startup/startup-runtime.d.ts +27 -0
- package/dist/foundation/startup/startup-runtime.js +128 -0
- package/dist/foundation/storage/control-store.d.ts +18 -0
- package/dist/foundation/storage/control-store.js +342 -0
- package/dist/foundation/storage/index.d.ts +1 -0
- package/dist/foundation/storage/index.js +1 -0
- package/dist/foundation/supervision/index.d.ts +3 -0
- package/dist/foundation/supervision/index.js +3 -0
- package/dist/foundation/supervision/main.d.ts +1 -0
- package/dist/foundation/supervision/main.js +84 -0
- package/dist/foundation/supervision/paths.d.ts +1 -0
- package/dist/foundation/supervision/paths.js +1 -0
- package/dist/foundation/supervision/server.d.ts +46 -0
- package/dist/foundation/supervision/server.js +573 -0
- package/dist/foundation/terminal-cleanup/fatal-exit.d.ts +12 -0
- package/dist/foundation/terminal-cleanup/fatal-exit.js +87 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +3 -0
- package/dist/foundation/terminal-cleanup/index.js +2 -0
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +4 -0
- package/dist/foundation/terminal-cleanup/terminal-reset.js +40 -0
- package/dist/integrations/pi/components/components.d.ts +4 -0
- package/dist/integrations/pi/components/components.js +64 -0
- package/dist/integrations/pi/components/conformance.d.ts +18 -0
- package/dist/integrations/pi/components/conformance.js +70 -0
- package/dist/integrations/pi/components/editor-interaction.d.ts +38 -0
- package/dist/integrations/pi/components/editor-interaction.js +1 -0
- package/dist/integrations/pi/components/history-editor-loader.d.ts +5 -0
- package/dist/integrations/pi/components/history-editor-loader.js +5 -0
- package/dist/integrations/pi/components/index.d.ts +21 -0
- package/dist/integrations/pi/components/index.js +13 -0
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +74 -0
- package/dist/integrations/pi/components/owned-editor-ux.js +1094 -0
- package/dist/integrations/pi/components/path-word-ranges.d.ts +2 -0
- package/dist/integrations/pi/components/path-word-ranges.js +37 -0
- package/dist/integrations/pi/components/prompt-input-port.d.ts +18 -0
- package/dist/integrations/pi/components/prompt-input-port.js +1 -0
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +167 -0
- package/dist/integrations/pi/components/resources/builtin-themes.js +168 -0
- package/dist/integrations/pi/components/shell-components.d.ts +7 -0
- package/dist/integrations/pi/components/shell-components.js +7 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +298 -0
- package/dist/integrations/pi/components/shell-extension-ui.d.ts +35 -0
- package/dist/integrations/pi/components/shell-extension-ui.js +280 -0
- package/dist/integrations/pi/components/shell-footer-status.d.ts +7 -0
- package/dist/integrations/pi/components/shell-footer-status.js +248 -0
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +43 -0
- package/dist/integrations/pi/components/shell-presenters-info.js +114 -0
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +29 -0
- package/dist/integrations/pi/components/shell-presenters-transcript.js +433 -0
- package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +123 -0
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +242 -0
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +217 -0
- package/dist/integrations/pi/components/shell-shared-facade.js +92 -0
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +17 -0
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +49 -0
- package/dist/integrations/pi/components/tool-image-presentation.d.ts +21 -0
- package/dist/integrations/pi/components/tool-image-presentation.js +83 -0
- package/dist/integrations/pi/components/tool-result-adapter.d.ts +6 -0
- package/dist/integrations/pi/components/tool-result-adapter.js +27 -0
- package/dist/integrations/pi/components/transcript-image-resolver.d.ts +7 -0
- package/dist/integrations/pi/components/transcript-image-resolver.js +19 -0
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +445 -0
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +370 -0
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +12 -0
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +13 -0
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +29 -0
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +146 -0
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.d.ts +4 -0
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +48 -0
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +20 -0
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +84 -0
- package/dist/integrations/pi/components/upstream/components/mermaid.js +81 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +46 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +187 -0
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +59 -0
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +346 -0
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +11 -0
- package/dist/integrations/pi/components/upstream/components/session-footer.js +123 -0
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +161 -0
- package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +95 -0
- package/dist/integrations/pi/components/upstream/components/session-selector.js +893 -0
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +21 -0
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +46 -0
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +35 -0
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +69 -0
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +67 -0
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +365 -0
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +101 -0
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +1275 -0
- package/dist/integrations/pi/components/upstream/components/trust-selector.d.ts +33 -0
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +81 -0
- package/dist/integrations/pi/components/upstream/external-editor.js +43 -0
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +289 -0
- package/dist/integrations/pi/components/upstream/history/editor-core.js +2144 -0
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +35 -0
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +51 -0
- package/dist/integrations/pi/components/upstream/history/printable-key.d.ts +1 -0
- package/dist/integrations/pi/components/upstream/history/printable-key.js +43 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.d.ts +14 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +31 -0
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +25 -0
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +39 -0
- package/dist/integrations/pi/components/upstream/history/word-navigation.d.ts +24 -0
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +103 -0
- package/dist/integrations/pi/components/upstream/model-search.d.ts +18 -0
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +33 -0
- package/dist/integrations/pi/components/upstream/theme/theme-controller.js +114 -0
- package/dist/integrations/pi/components/upstream/theme/theme.d.ts +61 -0
- package/dist/integrations/pi/components/upstream/theme/theme.js +337 -0
- package/dist/integrations/pi/engine/adapter.d.ts +135 -0
- package/dist/integrations/pi/engine/adapter.js +648 -0
- package/dist/integrations/pi/engine/changelog.d.ts +2 -0
- package/dist/integrations/pi/engine/changelog.js +63 -0
- package/dist/integrations/pi/engine/command-dispatch.d.ts +41 -0
- package/dist/integrations/pi/engine/command-dispatch.js +125 -0
- package/dist/integrations/pi/engine/compaction-progress.d.ts +28 -0
- package/dist/integrations/pi/engine/compaction-progress.js +96 -0
- package/dist/integrations/pi/engine/conformance.d.ts +39 -0
- package/dist/integrations/pi/engine/conformance.js +140 -0
- package/dist/integrations/pi/engine/event-delivery.d.ts +100 -0
- package/dist/integrations/pi/engine/event-delivery.js +184 -0
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +35 -0
- package/dist/integrations/pi/engine/extension-ui-binding.js +81 -0
- package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
- package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
- package/dist/integrations/pi/engine/index.d.ts +18 -0
- package/dist/integrations/pi/engine/index.js +10 -0
- package/dist/integrations/pi/engine/message-values.d.ts +29 -0
- package/dist/integrations/pi/engine/message-values.js +168 -0
- package/dist/integrations/pi/engine/package-integration.d.ts +13 -0
- package/dist/integrations/pi/engine/package-integration.js +118 -0
- package/dist/integrations/pi/engine/pending-delivery.d.ts +30 -0
- package/dist/integrations/pi/engine/pending-delivery.js +156 -0
- package/dist/integrations/pi/engine/pi-settings-metadata.json +385 -0
- package/dist/integrations/pi/engine/project-trust-preflight.d.ts +22 -0
- package/dist/integrations/pi/engine/project-trust-preflight.js +50 -0
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +30 -0
- package/dist/integrations/pi/engine/prompt-suggestions.js +102 -0
- package/dist/integrations/pi/engine/provider-authentication.d.ts +34 -0
- package/dist/integrations/pi/engine/provider-authentication.js +209 -0
- package/dist/integrations/pi/engine/resource-catalog.d.ts +49 -0
- package/dist/integrations/pi/engine/resource-catalog.js +289 -0
- package/dist/integrations/pi/engine/resources/changelog.json +12 -0
- package/dist/integrations/pi/engine/runtime-integration.d.ts +53 -0
- package/dist/integrations/pi/engine/runtime-integration.js +118 -0
- package/dist/integrations/pi/engine/session-events.d.ts +48 -0
- package/dist/integrations/pi/engine/session-events.js +223 -0
- package/dist/integrations/pi/engine/session-integration.d.ts +67 -0
- package/dist/integrations/pi/engine/session-integration.js +195 -0
- package/dist/integrations/pi/engine/session-runtime.d.ts +84 -0
- package/dist/integrations/pi/engine/session-runtime.js +249 -0
- package/dist/integrations/pi/engine/session-selection.d.ts +28 -0
- package/dist/integrations/pi/engine/session-selection.js +90 -0
- package/dist/integrations/pi/engine/settings-bridge.d.ts +121 -0
- package/dist/integrations/pi/engine/settings-bridge.js +514 -0
- package/dist/integrations/pi/engine/settings-metadata.d.ts +31 -0
- package/dist/integrations/pi/engine/settings-metadata.js +67 -0
- package/dist/integrations/pi/engine/settings-port.d.ts +42 -0
- package/dist/integrations/pi/engine/settings-port.js +353 -0
- package/dist/integrations/pi/engine/tool-rendering.d.ts +13 -0
- package/dist/integrations/pi/engine/tool-rendering.js +145 -0
- package/dist/integrations/pi/engine/transcript-image-assets.d.ts +11 -0
- package/dist/integrations/pi/engine/transcript-image-assets.js +86 -0
- package/dist/integrations/pi/engine/transcript-projection.d.ts +39 -0
- package/dist/integrations/pi/engine/transcript-projection.js +405 -0
- package/dist/integrations/pi/engine/usage-view.d.ts +4 -0
- package/dist/integrations/pi/engine/usage-view.js +56 -0
- package/dist/integrations/pi/engine/windows-filesystem-hygiene.d.ts +21 -0
- package/dist/integrations/pi/engine/windows-filesystem-hygiene.js +55 -0
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +59 -0
- package/dist/integrations/pi/engine/workflow-contexts.js +316 -0
- package/dist/integrations/pi/engine/workflow-runner.d.ts +60 -0
- package/dist/integrations/pi/engine/workflow-runner.js +509 -0
- package/dist/integrations/pi/engine/workflow-support.d.ts +33 -0
- package/dist/integrations/pi/engine/workflow-support.js +352 -0
- package/dist/integrations/pi/engine/workflows.d.ts +251 -0
- package/dist/integrations/pi/engine/workflows.js +63 -0
- package/dist/integrations/pi/startup-public.d.ts +2 -0
- package/dist/integrations/pi/startup-public.js +2223 -0
- package/dist/integrations/pi/startup-public.manifest.json +12502 -0
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +56 -0
- package/dist/integrations/pi/tui-runtime/adapter.js +783 -0
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +156 -0
- package/dist/integrations/pi/tui-runtime/contracts.js +1 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +88 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +433 -0
- package/dist/integrations/pi/tui-runtime/index.d.ts +9 -0
- package/dist/integrations/pi/tui-runtime/index.js +5 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +39 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.js +139 -0
- package/dist/integrations/pi/tui-runtime/mouse-report-input.d.ts +13 -0
- package/dist/integrations/pi/tui-runtime/mouse-report-input.js +57 -0
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +32 -0
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +158 -0
- package/dist/integrations/pi/tui-runtime/presentation-adapter.d.ts +4 -0
- package/dist/integrations/pi/tui-runtime/presentation-adapter.js +48 -0
- package/dist/native/darwin-arm64/manifest.json +4 -4
- package/dist/native/darwin-arm64/process-guardian +0 -0
- package/dist/native/linux-x64/manifest.json +3 -3
- package/dist/native/linux-x64/process-guardian +0 -0
- package/dist/native/win32-x64/manifest.json +3 -3
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/product-identity.d.ts +37 -0
- package/dist/product-identity.js +119 -0
- package/dist/product-identity.json +85 -0
- package/dist/runtime-payload-inventory.json +127148 -0
- package/dist/ui/apps/contracts.d.ts +64 -0
- package/dist/ui/apps/host.d.ts +42 -0
- package/dist/ui/apps/host.js +156 -0
- package/dist/ui/apps/index.d.ts +5 -0
- package/dist/ui/apps/index.js +3 -0
- package/dist/ui/apps/registry.d.ts +12 -0
- package/dist/ui/apps/registry.js +33 -0
- package/dist/ui/components/dialog-panel.js +49 -0
- package/dist/ui/components/frame.d.ts +22 -0
- package/dist/ui/components/frame.js +55 -0
- package/dist/ui/components/index.d.ts +47 -0
- package/dist/ui/components/index.js +25 -0
- package/dist/ui/components/line-input.d.ts +68 -0
- package/dist/ui/components/line-input.js +224 -0
- package/dist/ui/components/list-view.d.ts +60 -0
- package/dist/ui/components/list-view.js +82 -0
- package/dist/ui/components/mouse.d.ts +25 -0
- package/dist/ui/components/mouse.js +70 -0
- package/dist/ui/components/progress-status.d.ts +2 -0
- package/dist/ui/components/progress-status.js +4 -0
- package/dist/ui/components/prompt-input.d.ts +32 -0
- package/dist/ui/components/prompt-input.js +51 -0
- package/dist/ui/components/scrollbar.d.ts +88 -0
- package/dist/ui/components/scrollbar.js +137 -0
- package/dist/ui/components/selection-copy.d.ts +24 -0
- package/dist/ui/components/selection-copy.js +39 -0
- package/dist/ui/components/shortcuts.d.ts +58 -0
- package/dist/ui/components/shortcuts.js +82 -0
- package/dist/ui/components/spans.d.ts +28 -0
- package/dist/ui/components/spans.js +266 -0
- package/dist/ui/components/submitted-prompt.d.ts +23 -0
- package/dist/ui/components/submitted-prompt.js +50 -0
- package/dist/ui/components/surface.d.ts +20 -0
- package/dist/ui/components/surface.js +44 -0
- package/dist/ui/components/text-selection.d.ts +62 -0
- package/dist/ui/components/text-selection.js +210 -0
- package/dist/ui/components/text.d.ts +38 -0
- package/dist/ui/components/text.js +185 -0
- package/dist/ui/components/transcript-viewport.d.ts +173 -0
- package/dist/ui/components/transcript-viewport.js +753 -0
- package/dist/ui/components/visible-hyperlinks.d.ts +26 -0
- package/dist/ui/components/visible-hyperlinks.js +97 -0
- package/dist/ui/settings/declarations.d.ts +141 -0
- package/dist/ui/settings/declarations.js +135 -0
- package/dist/ui/settings/index.d.ts +10 -0
- package/dist/ui/settings/index.js +5 -0
- package/dist/ui/settings/manager.d.ts +54 -0
- package/dist/ui/settings/manager.js +256 -0
- package/dist/ui/settings/migrations.d.ts +13 -0
- package/dist/ui/settings/migrations.js +74 -0
- package/dist/ui/settings/sections.d.ts +52 -0
- package/dist/ui/settings/sections.js +112 -0
- package/docs/architecture/boundaries.md +17 -13
- package/docs/architecture/code-documentation.md +77 -0
- package/docs/architecture/history-editor-provenance.md +100 -0
- package/docs/architecture/internal-naming.md +93 -0
- package/docs/architecture/process-guardian-provenance.md +3 -1
- package/docs/architecture/project-structure.md +69 -30
- package/docs/architecture/prompt-suggestions.md +68 -0
- package/docs/architecture/resource-and-data-policy.md +28 -2
- package/docs/architecture/response-copy-delivery.md +85 -0
- package/docs/architecture/terminal-host-proof-gate.md +1 -1
- package/docs/architecture/terminal-host-spike-evidence.md +1 -1
- package/docs/architecture/tool-image-presentation.md +62 -0
- package/docs/architecture/toolchain.md +32 -10
- package/docs/architecture/ui-reference-provenance.md +60 -6
- package/docs/ci-release-runbook.md +256 -79
- package/docs/features/launch-profiles.md +24 -17
- package/docs/features/modal-content-interaction.md +37 -0
- package/docs/features/prompt-history.md +149 -0
- package/docs/local-worktree-cleanup.md +212 -0
- package/docs/manual-code-streaming-cleanup.md +88 -0
- package/docs/manual-ghost-link-baseline.md +89 -0
- package/docs/manual-launch-instance-acceptance.md +12 -35
- package/docs/manual-owned-ui-checkpoint.md +79 -0
- package/docs/manual-pi-boundary-candidate.md +4 -5
- package/docs/manual-terminal-colour-check.md +4 -3
- package/docs/openspec-archive-automation.md +259 -0
- package/docs/repository-governance-live-acceptance.md +77 -0
- package/docs/validation.md +100 -0
- package/package.json +52 -34
- package/dist/src/cli/capabilities.d.ts +0 -15
- package/dist/src/cli/capabilities.js +0 -7
- package/dist/src/cli/dispatch.d.ts +0 -32
- package/dist/src/cli/dispatch.js +0 -142
- package/dist/src/cli/index.d.ts +0 -5
- package/dist/src/cli/index.js +0 -5
- package/dist/src/cli/packages.d.ts +0 -23
- package/dist/src/cli/packages.js +0 -84
- package/dist/src/cli/version-stats.d.ts +0 -16
- package/dist/src/cli/version-stats.js +0 -72
- package/dist/src/cli/version.d.ts +0 -2
- package/dist/src/cli/version.js +0 -23
- package/dist/src/composition/index.d.ts +0 -48
- package/dist/src/composition/index.js +0 -258
- package/dist/src/features/launch/development-launch.js +0 -28
- package/dist/src/features/launch/index.d.ts +0 -7
- package/dist/src/features/launch/index.js +0 -7
- package/dist/src/features/launch/intent.d.ts +0 -7
- package/dist/src/features/launch/intent.js +0 -4
- package/dist/src/features/launch/prepare-launch.d.ts +0 -13
- package/dist/src/features/launch/prepare-launch.js +0 -21
- package/dist/src/features/launch/profile-paths.d.ts +0 -15
- package/dist/src/features/launch/profile-paths.js +0 -31
- package/dist/src/features/launch/profiles.d.ts +0 -12
- package/dist/src/features/launch/profiles.js +0 -26
- package/dist/src/features/launch/runtime-selection.d.ts +0 -19
- package/dist/src/features/launch/runtime-selection.js +0 -13
- package/dist/src/features/owned-ui/customization.d.ts +0 -38
- package/dist/src/features/owned-ui/customization.js +0 -108
- package/dist/src/features/owned-ui/diagnostics.d.ts +0 -33
- package/dist/src/features/owned-ui/diagnostics.js +0 -94
- package/dist/src/features/owned-ui/index.d.ts +0 -4
- package/dist/src/features/owned-ui/index.js +0 -4
- package/dist/src/features/owned-ui/run.d.ts +0 -11
- package/dist/src/features/owned-ui/run.js +0 -15
- package/dist/src/features/owned-ui/settings-app.d.ts +0 -22
- package/dist/src/features/owned-ui/settings-app.js +0 -633
- package/dist/src/features/workspace/capabilities.d.ts +0 -31
- package/dist/src/features/workspace/capabilities.js +0 -75
- package/dist/src/features/workspace/index.d.ts +0 -6
- package/dist/src/features/workspace/index.js +0 -6
- package/dist/src/features/workspace/presentation.d.ts +0 -30
- package/dist/src/features/workspace/presentation.js +0 -70
- package/dist/src/features/workspace/reconciliation.d.ts +0 -15
- package/dist/src/features/workspace/reconciliation.js +0 -82
- package/dist/src/features/workspace/reducer.d.ts +0 -42
- package/dist/src/features/workspace/reducer.js +0 -213
- package/dist/src/features/workspace/router.d.ts +0 -31
- package/dist/src/features/workspace/router.js +0 -124
- package/dist/src/features/workspace/store.d.ts +0 -17
- package/dist/src/features/workspace/store.js +0 -54
- package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +0 -95
- package/dist/src/foundation/agent-engine-contracts/domain-validation.js +0 -89
- package/dist/src/foundation/agent-engine-contracts/domain.d.ts +0 -116
- package/dist/src/foundation/agent-engine-contracts/index.d.ts +0 -8
- package/dist/src/foundation/agent-engine-contracts/index.js +0 -8
- package/dist/src/foundation/agent-engine-contracts/package-ports.d.ts +0 -54
- package/dist/src/foundation/launch-guardian/index.d.ts +0 -1
- package/dist/src/foundation/launch-guardian/index.js +0 -1
- package/dist/src/foundation/launch-guardian/main.d.ts +0 -31
- package/dist/src/foundation/launch-guardian/main.js +0 -165
- package/dist/src/foundation/lifecycle/index.d.ts +0 -4
- package/dist/src/foundation/lifecycle/index.js +0 -4
- package/dist/src/foundation/lifecycle/model.d.ts +0 -64
- package/dist/src/foundation/lifecycle/model.js +0 -40
- package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
- package/dist/src/foundation/lifecycle/paths.js +0 -42
- package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -11
- package/dist/src/foundation/native-host-protocol/codec.js +0 -56
- package/dist/src/foundation/native-host-protocol/evidence.d.ts +0 -67
- package/dist/src/foundation/native-host-protocol/evidence.js +0 -141
- package/dist/src/foundation/native-host-protocol/index.d.ts +0 -4
- package/dist/src/foundation/native-host-protocol/index.js +0 -4
- package/dist/src/foundation/native-host-protocol/messages.d.ts +0 -56
- package/dist/src/foundation/native-host-protocol/messages.js +0 -149
- package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -13
- package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -33
- package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -302
- package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -3
- package/dist/src/foundation/owned-ui-contracts/index.js +0 -3
- package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -241
- package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -11
- package/dist/src/foundation/owned-ui-contracts/validation.js +0 -395
- package/dist/src/foundation/owned-ui-settings/declarations.d.ts +0 -13
- package/dist/src/foundation/owned-ui-settings/declarations.js +0 -39
- package/dist/src/foundation/owned-ui-settings/index.d.ts +0 -6
- package/dist/src/foundation/owned-ui-settings/index.js +0 -6
- package/dist/src/foundation/owned-ui-settings/migrations.d.ts +0 -13
- package/dist/src/foundation/owned-ui-settings/migrations.js +0 -28
- package/dist/src/foundation/owned-ui-settings/sections.d.ts +0 -70
- package/dist/src/foundation/owned-ui-settings/sections.js +0 -93
- package/dist/src/foundation/owned-ui-settings/session.d.ts +0 -44
- package/dist/src/foundation/owned-ui-settings/session.js +0 -145
- package/dist/src/foundation/owned-ui-settings/store.d.ts +0 -28
- package/dist/src/foundation/owned-ui-settings/store.js +0 -90
- package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -4
- package/dist/src/foundation/pi-component-adapter/components.js +0 -64
- package/dist/src/foundation/pi-component-adapter/conformance.d.ts +0 -17
- package/dist/src/foundation/pi-component-adapter/conformance.js +0 -69
- package/dist/src/foundation/pi-component-adapter/index.d.ts +0 -13
- package/dist/src/foundation/pi-component-adapter/index.js +0 -13
- package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +0 -165
- package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +0 -166
- package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -6
- package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -6
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +0 -162
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -35
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -279
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -7
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +0 -189
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -429
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +0 -113
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +0 -235
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -116
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -87
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -422
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -296
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -10
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -17
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -51
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -22
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -142
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -4
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +0 -19
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -17
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -81
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -24
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -105
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -2
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -18
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -77
- package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +0 -18
- package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +0 -55
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -55
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -342
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +0 -10
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +0 -120
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -159
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -95
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -889
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +0 -19
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +0 -44
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -30
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -59
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -98
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1272
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -33
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -76
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -39
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -15
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -25
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +0 -117
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +0 -61
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +0 -326
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +0 -164
- package/dist/src/foundation/pi-engine-adapter/adapter.js +0 -2367
- package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +0 -37
- package/dist/src/foundation/pi-engine-adapter/conformance.js +0 -130
- package/dist/src/foundation/pi-engine-adapter/index.d.ts +0 -10
- package/dist/src/foundation/pi-engine-adapter/index.js +0 -10
- package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +0 -30
- package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +0 -61
- package/dist/src/foundation/pi-engine-adapter/package-integration.d.ts +0 -13
- package/dist/src/foundation/pi-engine-adapter/package-integration.js +0 -112
- package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +0 -374
- package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +0 -31
- package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +0 -80
- package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +0 -35
- package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +0 -67
- package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +0 -43
- package/dist/src/foundation/pi-engine-adapter/session-integration.js +0 -97
- package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +0 -55
- package/dist/src/foundation/pi-engine-adapter/settings-integration.js +0 -233
- package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +0 -20
- package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +0 -48
- package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +0 -173
- package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -60
- package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +0 -2
- package/dist/src/foundation/pi-owned-ui-integration/index.js +0 -2
- package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +0 -29
- package/dist/src/foundation/pi-owned-ui-integration/session-shell.d.ts +0 -106
- package/dist/src/foundation/pi-owned-ui-integration/session-shell.js +0 -1518
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +0 -39
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +0 -493
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +0 -18
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +0 -145
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -120
- package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +0 -48
- package/dist/src/foundation/presentation-contracts/index.d.ts +0 -96
- package/dist/src/foundation/process-containment/index.d.ts +0 -5
- package/dist/src/foundation/process-containment/index.js +0 -5
- package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +0 -6
- package/dist/src/foundation/process-containment/linux-process-inspector.js +0 -26
- package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +0 -16
- package/dist/src/foundation/process-containment/native-guardian-containment.js +0 -139
- package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +0 -17
- package/dist/src/foundation/process-containment/windows-process-inspector.js +0 -53
- package/dist/src/foundation/protocol/client.d.ts +0 -17
- package/dist/src/foundation/protocol/client.js +0 -129
- package/dist/src/foundation/protocol/index.d.ts +0 -2
- package/dist/src/foundation/protocol/index.js +0 -2
- package/dist/src/foundation/protocol/messages.d.ts +0 -89
- package/dist/src/foundation/protocol/messages.js +0 -99
- package/dist/src/foundation/release/bootstrap.d.ts +0 -29
- package/dist/src/foundation/release/bootstrap.js +0 -335
- package/dist/src/foundation/release/cohort-state.d.ts +0 -70
- package/dist/src/foundation/release/cohort-state.js +0 -202
- package/dist/src/foundation/release/index.d.ts +0 -10
- package/dist/src/foundation/release/index.js +0 -10
- package/dist/src/foundation/release/release-gc.d.ts +0 -5
- package/dist/src/foundation/release/release-gc.js +0 -16
- package/dist/src/foundation/release/release-store.d.ts +0 -43
- package/dist/src/foundation/release/release-store.js +0 -175
- package/dist/src/foundation/release/release.d.ts +0 -38
- package/dist/src/foundation/release/release.js +0 -204
- package/dist/src/foundation/release/update-transaction.d.ts +0 -31
- package/dist/src/foundation/release/update-transaction.js +0 -89
- package/dist/src/foundation/release/update.d.ts +0 -82
- package/dist/src/foundation/release/update.js +0 -527
- package/dist/src/foundation/storage/control-store.d.ts +0 -61
- package/dist/src/foundation/storage/control-store.js +0 -530
- package/dist/src/foundation/storage/index.d.ts +0 -1
- package/dist/src/foundation/storage/index.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -46
- package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -118
- package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -52
- package/dist/src/foundation/structured-agent-runtime/commands.js +0 -164
- package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +0 -41
- package/dist/src/foundation/structured-agent-runtime/handshake.js +0 -151
- package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -5
- package/dist/src/foundation/structured-agent-runtime/index.js +0 -5
- package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -37
- package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -129
- package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -56
- package/dist/src/foundation/structured-agent-runtime/state.js +0 -118
- package/dist/src/foundation/supervision/index.d.ts +0 -3
- package/dist/src/foundation/supervision/index.js +0 -3
- package/dist/src/foundation/supervision/main.d.ts +0 -1
- package/dist/src/foundation/supervision/main.js +0 -41
- package/dist/src/foundation/supervision/paths.d.ts +0 -1
- package/dist/src/foundation/supervision/paths.js +0 -1
- package/dist/src/foundation/supervision/server.d.ts +0 -22
- package/dist/src/foundation/supervision/server.js +0 -451
- package/dist/src/foundation/ui-apps/contracts.d.ts +0 -42
- package/dist/src/foundation/ui-apps/host.d.ts +0 -42
- package/dist/src/foundation/ui-apps/host.js +0 -152
- package/dist/src/foundation/ui-apps/index.d.ts +0 -3
- package/dist/src/foundation/ui-apps/index.js +0 -3
- package/dist/src/foundation/ui-apps/registry.d.ts +0 -11
- package/dist/src/foundation/ui-apps/registry.js +0 -32
- package/dist/src/foundation/ui-components/dialog-panel.js +0 -47
- package/dist/src/foundation/ui-components/frame.d.ts +0 -21
- package/dist/src/foundation/ui-components/frame.js +0 -54
- package/dist/src/foundation/ui-components/index.d.ts +0 -18
- package/dist/src/foundation/ui-components/index.js +0 -18
- package/dist/src/foundation/ui-components/line-input.d.ts +0 -74
- package/dist/src/foundation/ui-components/line-input.js +0 -245
- package/dist/src/foundation/ui-components/list-view.d.ts +0 -66
- package/dist/src/foundation/ui-components/list-view.js +0 -76
- package/dist/src/foundation/ui-components/mouse.d.ts +0 -15
- package/dist/src/foundation/ui-components/mouse.js +0 -46
- package/dist/src/foundation/ui-components/scrollbar.d.ts +0 -62
- package/dist/src/foundation/ui-components/scrollbar.js +0 -102
- package/dist/src/foundation/ui-components/shortcuts.d.ts +0 -57
- package/dist/src/foundation/ui-components/shortcuts.js +0 -81
- package/dist/src/foundation/ui-components/spans.d.ts +0 -7
- package/dist/src/foundation/ui-components/spans.js +0 -59
- package/dist/src/foundation/ui-components/surface.d.ts +0 -20
- package/dist/src/foundation/ui-components/surface.js +0 -38
- package/dist/src/foundation/ui-components/text.d.ts +0 -24
- package/dist/src/foundation/ui-components/text.js +0 -123
- package/dist/src/foundation/workspace-contracts/index.d.ts +0 -2
- package/dist/src/foundation/workspace-contracts/index.js +0 -2
- package/dist/src/foundation/workspace-contracts/model.d.ts +0 -248
- package/dist/src/foundation/workspace-contracts/model.js +0 -2
- package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -13
- package/dist/src/foundation/workspace-contracts/validation.js +0 -335
- package/dist/src/product-identity.d.ts +0 -37
- package/dist/src/product-identity.js +0 -150
- package/dist/src/product-identity.json +0 -99
- package/docs/manual-transparent-checkpoint.md +0 -53
- /package/dist/{src/foundation/agent-engine-contracts/domain.js → app/session-shell/paste-helper.d.ts} +0 -0
- /package/dist/{src/foundation/agent-engine-contracts/ports.js → app/session-shell/paste-text-worker.d.ts} +0 -0
- /package/dist/{src/foundation/lifecycle/commands.js → app/session-shell/paste-types.js} +0 -0
- /package/dist/{src/foundation/pi-owned-ui-integration/route-host.js → app/session-shell/response-copy-helper.d.ts} +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
- /package/dist/{src/foundation/pi-tui-runtime-adapter/contracts.js → contracts/agent-engine/domain.js} +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
- /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
- /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
- /package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.js +0 -0
- /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
- /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
- /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
- /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
- /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
- /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
- /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-editor-autocomplete.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/theme.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
- /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
- /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
- /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/list-block.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/list-block.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/theme.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/theme.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/value-menu.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/value-menu.js +0 -0
- /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
- /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
package/README.md
CHANGED
|
@@ -6,107 +6,210 @@
|
|
|
6
6
|
npm install --global @timurproko/a1@latest
|
|
7
7
|
```
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
Any channel can also be installed or updated directly with npm, without the
|
|
10
|
+
`a1 update` commands:
|
|
10
11
|
|
|
11
12
|
```sh
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
# dev channel (next tag)
|
|
14
|
+
npm install -g @timurproko/a1@next
|
|
15
|
+
|
|
16
|
+
# stable release
|
|
17
|
+
npm install -g @timurproko/a1@latest
|
|
18
|
+
|
|
19
|
+
# exact version
|
|
20
|
+
npm install -g @timurproko/a1@0.1.8-dev.107
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## Use
|
|
24
|
+
|
|
25
|
+
```sh
|
|
26
|
+
a1 # launch A1 (profile: ~/.a1/agent)
|
|
27
|
+
a1 --help # show all commands (short form: a1 -h)
|
|
28
|
+
a1 --version # show the version (short form: a1 -v)
|
|
29
|
+
a1 update # install the newest stable release
|
|
30
|
+
a1 update --develop # install the current development preview
|
|
31
|
+
a1 update --develop 107 # install numbered preview 107
|
|
32
|
+
a1 update --develop 0.1.8-dev.107 # install that exact preview
|
|
33
|
+
a1 update --models # refresh A1's model catalogs
|
|
16
34
|
```
|
|
17
35
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
36
|
+
Stable builds print only their installed version. Development builds also show the
|
|
37
|
+
current development and stable channel versions.
|
|
38
|
+
|
|
39
|
+
Development previews add the Pi comparison profile; release builds do not carry it.
|
|
21
40
|
|
|
22
41
|
```sh
|
|
23
|
-
a1 pi
|
|
24
|
-
a1 sandbox # unchanged isolated vanilla Pi profile: ~/.a1/sandbox
|
|
42
|
+
a1 pi # vanilla Pi oracle: ~/.pi/agent
|
|
25
43
|
```
|
|
26
44
|
|
|
45
|
+
Unsupported commands exit quietly without launching anything. The removed
|
|
46
|
+
`update:<preview>` forms are not aliases; use `update --develop`.
|
|
47
|
+
|
|
48
|
+
## Agent input
|
|
49
|
+
|
|
50
|
+
The agent prompt and Settings search share one input component: neutral white
|
|
51
|
+
bars and an undimmed arrow matching submitted prompts. Thinking-level color is
|
|
52
|
+
shown on the level name in the status bar, not on the input bars.
|
|
53
|
+
|
|
54
|
+
In bare A1, **Ctrl+L cycles the thinking level**. **Shift+Tab is unassigned** and
|
|
55
|
+
performs no agent-input action, including while a suggestion is visible. Model
|
|
56
|
+
selection has **no default shortcut**; use `/model`. Explicit keybinding overrides
|
|
57
|
+
remain configurable, and `/hotkeys` shows the resolved bindings. The `a1 pi`
|
|
58
|
+
comparison profile keeps its original presentation and shortcuts.
|
|
59
|
+
|
|
60
|
+
## Prompt suggestions
|
|
61
|
+
|
|
62
|
+
Bare A1's `/settings` → Agent → Prompt suggestions controls faint next-prompt
|
|
63
|
+
predictions. It is enabled by default and uses one additional background request
|
|
64
|
+
with the selected model for eligible turns. Disabling it takes effect immediately.
|
|
65
|
+
Tab accepts a suggestion as editable text; Enter submits it afterward. The setting
|
|
66
|
+
remains stored in A1's profile, and `a1 pi` is unchanged.
|
|
67
|
+
|
|
68
|
+
Suggestions use the selected model's lowest supported reasoning effort without
|
|
69
|
+
changing your main thinking level. Clear next actions such as `archive it` are
|
|
70
|
+
preferred when consistent with your intent; genuinely unclear cases can remain
|
|
71
|
+
empty. [Private diagnostic capture](docs/architecture/prompt-suggestions.md)
|
|
72
|
+
explains how to distinguish skipped, empty, rejected, and timed-out suggestions.
|
|
73
|
+
|
|
74
|
+
## Quitting
|
|
75
|
+
|
|
76
|
+
`/quit`, `Ctrl+C` twice, and `Ctrl+D` on an empty prompt end a bare A1 session.
|
|
77
|
+
The last screen dissolves on the alternate screen, the terminal is restored once,
|
|
78
|
+
and only the dim `To resume this session:` hint is printed; the conversation is
|
|
79
|
+
not echoed into your scrollback. `/settings` → Quit chooses the effect (`fall`,
|
|
80
|
+
`dissolve`, `starburst`, `waves`, or `off`) and its duration (300–2000 ms). The
|
|
81
|
+
`a1 pi` comparison profile keeps Pi's `fullscreenExitOutput` behavior.
|
|
82
|
+
|
|
83
|
+
## Prompt history
|
|
84
|
+
|
|
85
|
+
Bare A1 recalls recent unique prompts across sessions with Up/Down. History is
|
|
86
|
+
stored in a separate profile-local SQLite database at
|
|
87
|
+
`~/.a1/data/history/<profile-id>.sqlite3`, or under `<A1_DATA_DIR>/history` when
|
|
88
|
+
explicitly overridden. Other application data stays in its existing location.
|
|
89
|
+
`/settings` → History controls persistence and the 10-100-entry limit (default
|
|
90
|
+
100), effective on next start. The new default starts fresh: old platform history
|
|
91
|
+
is neither imported nor automatically deleted. Ordinary upgrades and npm
|
|
92
|
+
uninstall/reinstall preserve saved history. History is unencrypted user text;
|
|
93
|
+
images are not reattached. See
|
|
94
|
+
[prompt history](docs/features/prompt-history.md) for privacy, storage, and removal.
|
|
95
|
+
|
|
27
96
|
## Extensions
|
|
28
97
|
|
|
29
|
-
Pi extension packages install into A1's own profile, so bare `a1`
|
|
30
|
-
|
|
98
|
+
Pi extension packages install into A1's own profile (`~/.a1/agent`), so bare `a1`
|
|
99
|
+
loads them and `a1 pi` does not. Sources are Pi's: `npm:`, git, or a
|
|
100
|
+
local path.
|
|
31
101
|
|
|
32
102
|
```sh
|
|
33
|
-
a1 install npm:pi-mcp-adapter # install a package
|
|
34
|
-
a1 remove npm:pi-mcp-adapter # remove it
|
|
35
|
-
a1 list # list
|
|
36
|
-
a1 update --extensions # update every installed package
|
|
37
|
-
a1 update npm:pi-mcp-adapter # update one
|
|
38
|
-
a1 update --models # refresh model catalogs
|
|
103
|
+
a1 pi install npm:pi-mcp-adapter # install a package
|
|
104
|
+
a1 pi remove npm:pi-mcp-adapter # remove it (alias: a1 pi uninstall)
|
|
105
|
+
a1 pi list # list installed packages
|
|
106
|
+
a1 pi update --extensions # update every installed package
|
|
107
|
+
a1 pi update npm:pi-mcp-adapter # update one
|
|
108
|
+
a1 pi update --models # refresh A1's model catalogs
|
|
39
109
|
```
|
|
40
110
|
|
|
41
|
-
|
|
42
|
-
|
|
111
|
+
A1 pins the Pi runtime carried by each release, so Pi self-update forms are refused.
|
|
112
|
+
Update A1 itself with `a1 update` or `a1 update --develop`.
|
|
113
|
+
|
|
114
|
+
A running session picks up a newly installed package after a restart.
|
|
115
|
+
Configuration is isolated the same way: bare `a1` reads `~/.a1/agent` (or the
|
|
116
|
+
project), never `~/.pi/agent`. Configure MCP with `/mcp setup` inside bare `a1`.
|
|
43
117
|
|
|
44
118
|
## Develop
|
|
45
119
|
|
|
46
120
|
```sh
|
|
47
121
|
npm ci # install exact locked dependencies
|
|
48
122
|
npm run build # compile TypeScript and the process guardian into dist
|
|
49
|
-
npm start # build and launch
|
|
50
|
-
npm run start:pi # build and launch
|
|
51
|
-
npm run
|
|
52
|
-
npm run test:fast # typecheck + fast suite, no build needed
|
|
53
|
-
npm test # same as test:fast
|
|
123
|
+
npm start # build and launch a development `a1`
|
|
124
|
+
npm run start:pi # build and launch a development `a1 pi`
|
|
125
|
+
npm run test:fast # typecheck + fast suite (alias: npm test)
|
|
54
126
|
npm run test:full # complete non-physical suite
|
|
55
127
|
```
|
|
56
128
|
|
|
129
|
+
Create every task worktree at `{working-dir}/.worktrees/<task-id>`, where
|
|
130
|
+
`{working-dir}` is the session's initial working directory. For working directory
|
|
131
|
+
`D:/Git/a1`, use `D:/Git/a1/.worktrees/<task-id>`—never a sibling such as
|
|
132
|
+
`D:/Git/a1-<task-id>`. The primary worktree remains on `develop` for integration only.
|
|
133
|
+
|
|
134
|
+
## Pull request integration
|
|
135
|
+
|
|
136
|
+
Pull requests whose complete diff is only under `openspec/**`, under `docs/**`,
|
|
137
|
+
exactly the root `README.md`, or a combination of those paths are automatically
|
|
138
|
+
squash-merged after `Development validation required` succeeds. The automation
|
|
139
|
+
reads the complete GitHub changed-file list, including both sides of renames, and
|
|
140
|
+
runs only for trusted branches in this repository.
|
|
141
|
+
|
|
142
|
+
Any other path makes the pull request code/operational. That includes source, tests,
|
|
143
|
+
scripts, workflows, configuration, generated baselines, arbitrary root Markdown,
|
|
144
|
+
and a mixed documentation-plus-code change. Those pull requests remain open after
|
|
145
|
+
CI for local maintainer validation and explicit manual merge; automation disables
|
|
146
|
+
auto-merge if it was armed. Documentation remains exempt from product builds and
|
|
147
|
+
tests, but docs-sensitive generated governance and strict OpenSpec consistency are
|
|
148
|
+
checked before integration.
|
|
149
|
+
|
|
150
|
+
After any same-repository pull request into `develop` merges, trusted automation
|
|
151
|
+
reconciles its remote topic branch. Human merges use the close-event workflow;
|
|
152
|
+
documentation merges authored by `GITHUB_TOKEN` use a synchronous fallback because
|
|
153
|
+
GitHub suppresses recursive workflow events. Both delete only an unprotected live
|
|
154
|
+
ref that still equals the pull request's exact merged head SHA. Fork, advanced,
|
|
155
|
+
reserved, protected, malformed, and unmerged refs are preserved and reported.
|
|
156
|
+
|
|
157
|
+
Specification approval and implementation remain separate pull requests. An
|
|
158
|
+
implementation starts from updated `origin/develop` only after its specification
|
|
159
|
+
has merged and implementation was explicitly requested.
|
|
160
|
+
|
|
57
161
|
## Release
|
|
58
162
|
|
|
59
|
-
Two channels, both published by CI from the exact bytes it validated
|
|
60
|
-
|
|
163
|
+
Two channels, both published by CI from the exact bytes it validated — never from
|
|
164
|
+
a workstation.
|
|
61
165
|
|
|
62
|
-
###
|
|
166
|
+
### Development previews
|
|
63
167
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
168
|
+
A preview is `<major.minor.patch>-dev.<pull-request number>`, e.g. `0.1.8-dev.107`.
|
|
169
|
+
The nightly run (`03:17 UTC`) verifies current `origin/develop` and publishes only
|
|
170
|
+
when that source's preview is absent. `npm run develop` requests the same GitHub
|
|
171
|
+
Actions run and waits for it. The published version list is authoritative: an
|
|
172
|
+
unpublished number is refused.
|
|
173
|
+
|
|
174
|
+
Publish:
|
|
69
175
|
|
|
70
176
|
```sh
|
|
71
|
-
|
|
72
|
-
a1 update:7eabe9e # install the preview built from that commit
|
|
177
|
+
npm run develop # request the preview publish run and wait for it
|
|
73
178
|
```
|
|
74
179
|
|
|
75
|
-
|
|
76
|
-
pull request, or a commit list, and install exactly that build — you never need to
|
|
77
|
-
know which version it went out under. A commit that was never published is refused
|
|
78
|
-
rather than guessed at. A full preview version works in the same place, so a string
|
|
79
|
-
pasted back from `a1 version` is understood too.
|
|
80
|
-
|
|
81
|
-
### Stable — npm `latest`
|
|
82
|
-
|
|
83
|
-
One command, from a clean `develop` that matches its remote:
|
|
180
|
+
Install:
|
|
84
181
|
|
|
85
182
|
```sh
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
npm run release -- major # 0.1.1 -> 1.0.0
|
|
89
|
-
npm run release -- 0.4.0 # an exact version
|
|
183
|
+
a1 update --develop 107 # install preview 107
|
|
184
|
+
a1 update --develop 0.1.8-dev.107 # install that exact full preview version
|
|
90
185
|
```
|
|
91
186
|
|
|
92
|
-
|
|
93
|
-
**Landing it is what publishes** — the workflow builds, validates the packed release
|
|
94
|
-
on Windows, Linux, and macOS, publishes to npm `latest` with provenance, and only
|
|
95
|
-
then writes the `v<version>` tag and records the GitHub Release. The command waits
|
|
96
|
-
for that to succeed, then opens the next `-dev` line so previews resume
|
|
97
|
-
immediately.
|
|
187
|
+
### Stable
|
|
98
188
|
|
|
99
189
|
```sh
|
|
100
|
-
|
|
190
|
+
npm run release -- patch # 0.1.8-dev -> 0.1.8; already-stable 0.1.8 -> 0.1.9
|
|
191
|
+
npm run release -- minor # 0.1.8-dev -> 0.2.0
|
|
192
|
+
npm run release -- major # 0.1.8-dev -> 1.0.0
|
|
193
|
+
npm run release -- 0.4.0 # an exact stable version
|
|
101
194
|
```
|
|
102
195
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
196
|
+
Run from the repository root on a clean `develop` matching `origin/develop`.
|
|
197
|
+
A target is required; bare `npm run release` displays usage and releases nothing.
|
|
198
|
+
`patch` promotes the current prerelease rather than skipping its stable version.
|
|
199
|
+
|
|
200
|
+
The command prepares a version-only PR in an isolated detached worktree, prints
|
|
201
|
+
its URL, and waits for you to validate and **merge it manually**. Neither this PR
|
|
202
|
+
nor the next-development PR is auto-merged, and green CI alone does not advance
|
|
203
|
+
the release. After the stable PR merges, the command dispatches publication for
|
|
204
|
+
that exact authoritative commit and waits for success. CI validates the packed
|
|
205
|
+
release on Windows, Linux, and macOS, publishes to npm `latest` with provenance,
|
|
206
|
+
then writes the `v<version>` tag and GitHub Release and fast-forwards `master`.
|
|
207
|
+
|
|
208
|
+
Only after confirmed publication of `0.1.8` does the command prepare the separate
|
|
209
|
+
`0.1.9-dev` PR. It reports development reopened only after you manually merge that
|
|
210
|
+
PR too. Work added to your checkout during either wait is preserved, not reset.
|
|
211
|
+
If publication fails or is uncertain, no reopening PR is prepared. If publication
|
|
212
|
+
succeeded but reopening failed, inspect the reported phase and PR; do not republish
|
|
213
|
+
the immutable stable version.
|
|
214
|
+
|
|
215
|
+
`docs/ci-release-runbook.md` has the full picture.
|
package/bin/activate.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
// Protocol: the updater that installed this tree starts this entry with --data-dir and
|
|
4
|
+
// --target-version and reads one JSON progress event per line. The tree activates itself
|
|
5
|
+
// with its own release code, so the updater needs to know nothing else about its layout.
|
|
6
|
+
const { runActivationEntry } = await import("../dist/foundation/release/update-activation.js");
|
|
7
|
+
|
|
8
|
+
process.exitCode = await runActivationEntry(process.argv.slice(2), import.meta.url);
|
package/bin/cli.js
CHANGED
|
@@ -1,38 +1,60 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
+
const commandStartedAtMs = performance.timeOrigin + performance.now();
|
|
3
4
|
const packageRoot = new URL("..", import.meta.url);
|
|
5
|
+
// Invariant: one terminal module identity per process, decided before any A1 or Pi module loads.
|
|
6
|
+
const [{ installPinnedPiTuiResolver }, { fileURLToPath: toPath }] = await Promise.all([import("./module-resolver.js"), import("node:url")]);
|
|
7
|
+
installPinnedPiTuiResolver(toPath(packageRoot));
|
|
8
|
+
const startup = await import("../dist/foundation/startup/startup-runtime.js");
|
|
9
|
+
const startupProfile = process.argv[2] === "pi" ? "pi" : "a1";
|
|
10
|
+
startup.initializeStartupTrace(process.env, startupProfile, commandStartedAtMs);
|
|
11
|
+
startup.enableEnvironmentCompileCache(process.env);
|
|
12
|
+
await startup.markStartupPhase(process.env, "command-invoked");
|
|
4
13
|
const { fileURLToPath } = await import("node:url");
|
|
5
14
|
const { readFile } = await import("node:fs/promises");
|
|
6
|
-
const { cliCapabilities, dispatchCli } = await
|
|
15
|
+
const [{ cliCapabilities }, { dispatchCli }] = await Promise.all([
|
|
16
|
+
import("../dist/cli/capabilities.js"),
|
|
17
|
+
import("../dist/cli/dispatch.js"),
|
|
18
|
+
]);
|
|
7
19
|
|
|
8
|
-
//
|
|
20
|
+
// Compatibility: which commands this build exposes follows from the build's own version, so a
|
|
9
21
|
// released a1 cannot be argued into offering the development profiles.
|
|
10
22
|
const capabilities = cliCapabilities(JSON.parse(await readFile(new URL("package.json", packageRoot), "utf8")).version);
|
|
11
23
|
|
|
12
24
|
process.exitCode = await dispatchCli(process.argv.slice(2), {
|
|
13
25
|
launch: async intent => {
|
|
14
|
-
const [{ prepareInteractiveLaunch }, { runBootstrap }] = await Promise.all([
|
|
15
|
-
import("../dist/
|
|
16
|
-
import("../dist/
|
|
26
|
+
const [{ prepareInteractiveLaunch }, { runBootstrap }, { releaseCopyIsLaunchable }] = await Promise.all([
|
|
27
|
+
import("../dist/features/launch/prepare-launch.js"),
|
|
28
|
+
import("../dist/foundation/release/bootstrap.js"),
|
|
29
|
+
import("./module-identity.js"),
|
|
17
30
|
]);
|
|
31
|
+
const packageRootPath = fileURLToPath(packageRoot);
|
|
18
32
|
const prepared = await prepareInteractiveLaunch(intent);
|
|
19
|
-
return await runBootstrap({
|
|
33
|
+
return await runBootstrap({
|
|
34
|
+
packageRoot: packageRootPath,
|
|
35
|
+
launchIntent: intent,
|
|
36
|
+
environment: prepared.environment,
|
|
37
|
+
releaseIsLaunchable: releaseCopyIsLaunchable,
|
|
38
|
+
});
|
|
20
39
|
},
|
|
21
40
|
version: async () => {
|
|
22
|
-
const { runVersionStats } = await import("../dist/
|
|
41
|
+
const { runVersionStats } = await import("../dist/cli/version-stats.js");
|
|
23
42
|
return await runVersionStats({ packageRoot: fileURLToPath(packageRoot) });
|
|
24
43
|
},
|
|
25
44
|
update: async (channel, target) => {
|
|
26
|
-
const { runSelfUpdate } = await import("../dist/
|
|
45
|
+
const { runSelfUpdate } = await import("../dist/foundation/release/update.js");
|
|
27
46
|
return await runSelfUpdate({ packageRoot: fileURLToPath(packageRoot), channel, ...(target === undefined ? {} : { target }) });
|
|
28
47
|
},
|
|
29
48
|
packages: async request => {
|
|
30
|
-
const [{ runPackageCommand },
|
|
31
|
-
import("../dist/
|
|
32
|
-
import("
|
|
49
|
+
const [{ runPackageCommand }, identity] = await Promise.all([
|
|
50
|
+
import("../dist/cli/packages.js"),
|
|
51
|
+
import("./module-identity.js"),
|
|
33
52
|
]);
|
|
53
|
+
identity.configurePinnedPiPublicPackage(fileURLToPath(packageRoot));
|
|
54
|
+
const { createPiPackagesPort } = await import("../dist/integrations/pi/engine/package-integration.js");
|
|
34
55
|
return await runPackageCommand(request, { createPort: createPiPackagesPort });
|
|
35
56
|
},
|
|
36
57
|
}, {
|
|
58
|
+
stdout: message => process.stdout.write(message),
|
|
37
59
|
stderr: message => process.stderr.write(message),
|
|
38
60
|
}, capabilities);
|
package/bin/guardian.js
CHANGED
|
@@ -1,19 +1,29 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const startup = await import("../dist/foundation/startup/startup-runtime.js");
|
|
4
|
+
startup.enableEnvironmentCompileCache(process.env);
|
|
5
|
+
await startup.markStartupPhase(process.env, "guardian-start");
|
|
4
6
|
const { resolve } = await import("node:path");
|
|
5
|
-
const {
|
|
7
|
+
const { parseSessionSelection } = await import("../dist/foundation/lifecycle/session-selection.js");
|
|
8
|
+
const { runLaunchGuardian } = await import("../dist/foundation/launch-guardian/main.js");
|
|
6
9
|
|
|
7
|
-
const
|
|
8
|
-
const
|
|
10
|
+
const { readLaunchContext } = await import("../dist/foundation/launch-context/index.js");
|
|
11
|
+
const launchContext = readLaunchContext(process.env, "release");
|
|
12
|
+
const releaseRoot = launchContext.releaseRoot;
|
|
13
|
+
const profileId = readLaunchContext(process.env, "profile").launchProfile;
|
|
14
|
+
// Invariant: the "release" and "profile" requirements above already refused an environment without
|
|
15
|
+
// these values; the checks give the type checker the same certainty.
|
|
16
|
+
if (releaseRoot === undefined || profileId === undefined) throw new Error("A1 launch context is incomplete");
|
|
9
17
|
|
|
10
|
-
|
|
18
|
+
const sessionSelection = parseSessionSelection(process.argv.slice(2));
|
|
19
|
+
Promise.resolve().then(() => runLaunchGuardian({
|
|
20
|
+
...(sessionSelection === undefined ? {} : { sessionSelection }),
|
|
11
21
|
profileId,
|
|
12
22
|
releaseRoot,
|
|
13
23
|
uiEntry: resolve(releaseRoot, "bin", "ui.js"),
|
|
14
24
|
environment: process.env,
|
|
15
25
|
cwd: process.cwd(),
|
|
16
|
-
}).then(
|
|
26
|
+
})).then(
|
|
17
27
|
code => { process.exitCode = code; },
|
|
18
28
|
error => {
|
|
19
29
|
console.error(error instanceof Error ? error.message : String(error));
|
package/bin/module-identity.js
CHANGED
|
@@ -1,94 +1,82 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* One pi-tui module identity per process.
|
|
2
|
+
* One pi-tui module identity per process: the check that the resolver hook worked.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
4
|
+
* bin/module-resolver.js decides identity at the loader by rewriting every pi-tui module
|
|
5
|
+
* URL to the copy pinned Pi resolves. What remains here is the assertion, made by asking
|
|
6
|
+
* Node itself: with the hook installed, resolving `@earendil-works/pi-tui` from A1's own
|
|
7
|
+
* package root must answer with the same real path pinned Pi answers with. When it does not,
|
|
8
|
+
* launch says so loudly and once, instead of leaving a user to discover it as missing
|
|
9
|
+
* extension UI.
|
|
9
10
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
* resolves from its own directory — so an extension's `instanceof` check and
|
|
13
|
-
* its prototype patches land on classes A1's renderer never uses. Extension
|
|
14
|
-
* chrome silently disappears and routed input dead-ends, with no error.
|
|
15
|
-
*
|
|
16
|
-
* A1 therefore does not import the specifier at all. Its package declares the
|
|
17
|
-
* subpath import `#pi-tui`, resolving to pinned Pi's copy first and to the
|
|
18
|
-
* hoisted one only when that is absent — which is exactly the case where there
|
|
19
|
-
* is one copy and both sides agree anyway. Every A1 module imports `#pi-tui`,
|
|
20
|
-
* so which copy A1 uses is stated in package.json and enforced by Node at
|
|
21
|
-
* resolution, rather than arranged by rewriting an installed tree.
|
|
22
|
-
*
|
|
23
|
-
* What remains here is the check that it worked. The alias names one path
|
|
24
|
-
* inside pinned Pi; if a future layout moved that copy, resolution would fall
|
|
25
|
-
* back to A1's own and the split would return — silently, which is what made
|
|
26
|
-
* this expensive the first time. So launch compares the two resolutions and
|
|
27
|
-
* says so when they differ, loudly and once, instead of leaving a user to
|
|
28
|
-
* discover it as missing extension UI.
|
|
29
|
-
*
|
|
30
|
-
* This lives in bin/ (shipped, plain JS) because it inspects dependency
|
|
31
|
-
* resolution, which the Pi API boundary policy rightly forbids ordinary
|
|
32
|
-
* production code from touching.
|
|
11
|
+
* This lives in bin/ (shipped, plain JS) because it inspects dependency resolution, which
|
|
12
|
+
* the Pi API boundary policy rightly forbids ordinary production code from touching.
|
|
33
13
|
*/
|
|
34
14
|
import { createRequire } from "node:module";
|
|
35
15
|
import { existsSync, readFileSync, realpathSync } from "node:fs";
|
|
36
16
|
import { dirname, join } from "node:path";
|
|
37
|
-
import { pathToFileURL } from "node:url";
|
|
17
|
+
import { fileURLToPath, pathToFileURL } from "node:url";
|
|
18
|
+
import { pinnedPiTuiPackageRoot } from "./module-resolver.js";
|
|
38
19
|
|
|
39
20
|
/**
|
|
40
|
-
*
|
|
21
|
+
* @typedef {{ kind: "unified"; path: string } | { kind: "split"; own: string; pinned: string } | { kind: "unresolved"; side: "a1" | "pi"; message: string }} ModuleIdentityOutcome
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
const OWN_PACKAGE_ROOT = canonical(fileURLToPath(new URL("..", import.meta.url)));
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* What A1's own modules resolve `@earendil-works/pi-tui` to, as a real path.
|
|
41
29
|
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
*
|
|
47
|
-
*
|
|
30
|
+
* Compatibility: the resolver hook governs ESM loading, and on Node 22 CommonJS resolution does
|
|
31
|
+
* not consult synchronous hooks at all, so the process's own package is measured through the ESM
|
|
32
|
+
* resolver from this file, which sits in that package. Any other root is measured by plain
|
|
33
|
+
* resolution, which is what its own entries would see before installing the hook. A test
|
|
34
|
+
* transformer that offers no `import.meta.resolve` falls back to plain resolution too.
|
|
35
|
+
* @param {string} packageRoot
|
|
48
36
|
*/
|
|
49
37
|
function resolveOwnPiTui(packageRoot) {
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
const targets = Array.isArray(alias) ? alias : alias === undefined ? [] : [alias];
|
|
53
|
-
if (targets.length === 0) throw new Error("package.json declares no #pi-tui alias");
|
|
54
|
-
for (const target of targets) {
|
|
55
|
-
if (typeof target !== "string") continue;
|
|
56
|
-
if (target.startsWith("./") || target.startsWith("../")) {
|
|
57
|
-
const candidate = join(packageRoot, target);
|
|
58
|
-
if (existsSync(candidate)) return canonical(candidate);
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
try {
|
|
62
|
-
return canonical(createRequire(pathToFileURL(join(packageRoot, "package.json")).href).resolve(target));
|
|
63
|
-
} catch {
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
38
|
+
if (canonical(packageRoot) === OWN_PACKAGE_ROOT && typeof import.meta.resolve === "function") {
|
|
39
|
+
return canonical(fileURLToPath(import.meta.resolve("@earendil-works/pi-tui")));
|
|
66
40
|
}
|
|
67
|
-
|
|
41
|
+
const requireFromRoot = createRequire(pathToFileURL(join(packageRoot, "package.json")).href);
|
|
42
|
+
return canonical(requireFromRoot.resolve("@earendil-works/pi-tui"));
|
|
68
43
|
}
|
|
69
44
|
|
|
70
45
|
/**
|
|
71
|
-
* What pinned Pi resolves
|
|
72
|
-
*
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
46
|
+
* What pinned Pi resolves `@earendil-works/pi-tui` to, as a real path.
|
|
47
|
+
* @param {string} packageRoot
|
|
48
|
+
*/
|
|
49
|
+
export function resolvePinnedPiTui(packageRoot) {
|
|
50
|
+
return canonical(join(pinnedPiTuiPackageRoot(packageRoot), "dist", "index.js"));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* @param {string} packageRoot
|
|
55
|
+
* @param {NodeJS.ProcessEnv} [environment]
|
|
78
56
|
*/
|
|
79
|
-
function
|
|
57
|
+
export function configurePinnedPiPublicPackage(packageRoot, environment = process.env) {
|
|
58
|
+
const pinnedRoot = resolvePinnedPiRoot(packageRoot);
|
|
59
|
+
const manifest = JSON.parse(readFileSync(join(pinnedRoot, "package.json"), "utf8"));
|
|
60
|
+
if (manifest.name !== "@earendil-works/pi-coding-agent" || typeof manifest.version !== "string") {
|
|
61
|
+
throw new Error("pinned Pi public package identity is invalid");
|
|
62
|
+
}
|
|
63
|
+
environment.PI_PACKAGE_DIR = pinnedRoot;
|
|
64
|
+
return { root: pinnedRoot, version: manifest.version };
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
/** @param {string} packageRoot */
|
|
68
|
+
function resolvePinnedPiRoot(packageRoot) {
|
|
80
69
|
let directory = packageRoot;
|
|
81
70
|
while (true) {
|
|
82
71
|
const candidate = join(directory, "node_modules", "@earendil-works", "pi-coding-agent");
|
|
83
|
-
if (existsSync(join(candidate, "package.json")))
|
|
84
|
-
return canonical(createRequire(pathToFileURL(join(candidate, "package.json")).href).resolve("@earendil-works/pi-tui"));
|
|
85
|
-
}
|
|
72
|
+
if (existsSync(join(candidate, "package.json"))) return canonical(candidate);
|
|
86
73
|
const parent = dirname(directory);
|
|
87
74
|
if (parent === directory) throw new Error("pinned Pi is not installed beneath this package root");
|
|
88
75
|
directory = parent;
|
|
89
76
|
}
|
|
90
77
|
}
|
|
91
78
|
|
|
79
|
+
/** @param {string} path */
|
|
92
80
|
function canonical(path) {
|
|
93
81
|
try {
|
|
94
82
|
return realpathSync.native(path);
|
|
@@ -98,8 +86,10 @@ function canonical(path) {
|
|
|
98
86
|
}
|
|
99
87
|
|
|
100
88
|
/**
|
|
101
|
-
*
|
|
102
|
-
*
|
|
89
|
+
* Compare what A1 and pinned Pi resolve. With the resolver hook installed in this process the
|
|
90
|
+
* two agree whatever layout npm built; without it they agree only when npm hoisted one copy.
|
|
91
|
+
* @param {string} packageRoot
|
|
92
|
+
* @returns {ModuleIdentityOutcome}
|
|
103
93
|
*/
|
|
104
94
|
export function inspectPiTuiModuleIdentity(packageRoot) {
|
|
105
95
|
let own;
|
|
@@ -117,15 +107,32 @@ export function inspectPiTuiModuleIdentity(packageRoot) {
|
|
|
117
107
|
return own === pinned ? { kind: "unified", path: own } : { kind: "split", own, pinned };
|
|
118
108
|
}
|
|
119
109
|
|
|
110
|
+
/** @param {unknown} error */
|
|
120
111
|
function message(error) {
|
|
121
112
|
return error instanceof Error ? error.message : String(error);
|
|
122
113
|
}
|
|
123
114
|
|
|
124
|
-
/**
|
|
115
|
+
/**
|
|
116
|
+
* A release copy is launchable when pinned Pi inside it resolves its terminal package.
|
|
117
|
+
* @param {string} releaseRoot
|
|
118
|
+
*/
|
|
119
|
+
export function releaseCopyIsLaunchable(releaseRoot) {
|
|
120
|
+
try {
|
|
121
|
+
resolvePinnedPiTui(releaseRoot);
|
|
122
|
+
return true;
|
|
123
|
+
} catch {
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* @param {string} packageRoot
|
|
130
|
+
* @param {(message: string) => void} warn
|
|
131
|
+
*/
|
|
125
132
|
export function assertSinglePiTuiModuleAtLaunch(packageRoot, warn) {
|
|
126
133
|
const outcome = inspectPiTuiModuleIdentity(packageRoot);
|
|
127
134
|
if (outcome.kind === "split") {
|
|
128
|
-
warn(`a1: pi-tui resolves to two different copies (${outcome.own} for a1, ${outcome.pinned} for Pi); extension UI may not render. The
|
|
135
|
+
warn(`a1: pi-tui resolves to two different copies (${outcome.own} for a1, ${outcome.pinned} for Pi); extension UI may not render. The pinned pi-tui resolver hook is not active in this process.\n`);
|
|
129
136
|
} else if (outcome.kind === "unresolved") {
|
|
130
137
|
warn(`a1: could not resolve pi-tui from ${outcome.side === "a1" ? "a1" : "pinned Pi"} (${outcome.message}); extension UI may not render.\n`);
|
|
131
138
|
}
|