@timurproko/a1 0.1.8-dev.3b54f21 → 0.1.8-dev.407
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 +159 -65
- package/bin/cli.js +28 -10
- package/bin/guardian.js +12 -6
- package/bin/module-identity.js +69 -35
- package/bin/pi-tui.d.ts +6 -0
- package/bin/pi-tui.js +28 -0
- package/bin/release-cleanup.js +8 -0
- package/bin/supervisor.js +2 -2
- package/bin/sync-pi-tui-proxy.js +97 -0
- package/bin/ui.js +62 -21
- package/bin/update-recovery.js +274 -0
- package/bin/warmup.js +27 -0
- package/dist/cli/capabilities.d.ts +6 -0
- package/dist/{src/cli → cli}/capabilities.js +1 -1
- package/dist/{src/cli → cli}/dispatch.d.ts +15 -1
- package/dist/cli/dispatch.js +261 -0
- package/dist/cli/package-messages.d.ts +26 -0
- package/dist/cli/package-messages.js +71 -0
- package/dist/{src/cli → cli}/packages.d.ts +11 -2
- package/dist/{src/cli → cli}/packages.js +24 -27
- package/dist/{src/cli → cli}/version-stats.d.ts +6 -0
- package/dist/cli/version-stats.js +112 -0
- package/dist/composition/agent-engine-bridge.d.ts +3 -0
- package/dist/composition/agent-engine-bridge.js +108 -0
- package/dist/composition/index.d.ts +3 -0
- package/dist/composition/index.js +3 -0
- package/dist/composition/owned-ui.d.ts +35 -0
- package/dist/composition/owned-ui.js +118 -0
- package/dist/composition/process.d.ts +16 -0
- package/dist/composition/process.js +45 -0
- package/dist/composition/settings-route-host.d.ts +8 -0
- package/dist/composition/settings-route-host.js +75 -0
- package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.d.ts +2 -2
- package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.js +22 -4
- package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain.d.ts +17 -0
- package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.d.ts +6 -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 +8 -0
- package/dist/contracts/owned-ui/index.js +8 -0
- package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.d.ts +123 -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/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.d.ts +5 -1
- package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/validation.js +129 -4
- package/dist/{src/foundation/presentation-contracts → contracts/presentation}/index.d.ts +8 -0
- package/dist/{src/features → features}/launch/development-launch.js +11 -3
- package/dist/{src/features → features}/launch/index.d.ts +0 -1
- package/dist/{src/features → features}/launch/index.js +0 -1
- package/dist/features/launch/intent.d.ts +10 -0
- package/dist/features/launch/intent.js +8 -0
- package/dist/{src/features → features}/launch/prepare-launch.d.ts +0 -2
- package/dist/{src/features → features}/launch/prepare-launch.js +2 -9
- package/dist/{src/features → features}/launch/profile-paths.d.ts +3 -2
- package/dist/{src/features → features}/launch/profile-paths.js +13 -8
- package/dist/{src/features → features}/launch/runtime-selection.d.ts +2 -5
- package/dist/{src/features → features}/owned-ui/customization.d.ts +3 -1
- package/dist/{src/features → features}/owned-ui/customization.js +3 -1
- package/dist/{src/features → features}/owned-ui/diagnostics.d.ts +2 -1
- package/dist/{src/features → features}/owned-ui/diagnostics.js +1 -0
- package/dist/{src/features → features}/owned-ui/index.d.ts +2 -0
- package/dist/{src/features → features}/owned-ui/index.js +2 -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/{src/features → features}/owned-ui/run.d.ts +2 -2
- package/dist/features/owned-ui/run.js +32 -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/{src/features → features}/owned-ui/settings-app.d.ts +3 -3
- package/dist/{src/features → features}/owned-ui/settings-app.js +105 -56
- 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 +223 -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 +1 -0
- package/dist/features/prompt-suggestions/index.js +1 -0
- package/dist/{src/features → features}/workspace/capabilities.d.ts +1 -1
- package/dist/{src/features → features}/workspace/reducer.d.ts +2 -1
- package/dist/{src/features → features}/workspace/reducer.js +2 -1
- package/dist/{src/features → features}/workspace/router.d.ts +2 -1
- package/dist/{src/features → features}/workspace/router.js +1 -0
- package/dist/{src/features → features}/workspace/store.d.ts +2 -1
- package/dist/{src/features → features}/workspace/store.js +1 -0
- package/dist/foundation/launch-context/index.d.ts +59 -0
- package/dist/foundation/launch-context/index.js +136 -0
- package/dist/{src/foundation → foundation}/launch-guardian/main.d.ts +2 -0
- package/dist/{src/foundation → foundation}/launch-guardian/main.js +23 -8
- package/dist/{src/foundation → foundation}/lifecycle/index.d.ts +2 -0
- package/dist/{src/foundation → foundation}/lifecycle/index.js +2 -0
- package/dist/{src/foundation → foundation}/lifecycle/model.d.ts +1 -1
- package/dist/{src/foundation → foundation}/lifecycle/model.js +1 -1
- package/dist/foundation/lifecycle/paths.d.ts +30 -0
- package/dist/{src/foundation → foundation}/lifecycle/paths.js +29 -1
- 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/{src/foundation → foundation}/native-host-protocol/codec.d.ts +2 -0
- package/dist/{src/foundation → foundation}/native-host-protocol/codec.js +2 -0
- package/dist/{src/foundation → foundation}/native-host-protocol/messages.d.ts +1 -1
- package/dist/{src/foundation → foundation}/native-host-protocol/messages.js +1 -1
- 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/{src/foundation → foundation}/process-containment/index.d.ts +1 -0
- package/dist/{src/foundation → foundation}/process-containment/index.js +1 -0
- package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.d.ts +1 -0
- package/dist/{src/foundation → foundation}/process-containment/linux-process-inspector.js +1 -0
- package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.d.ts +1 -0
- package/dist/{src/foundation → foundation}/process-containment/native-guardian-containment.js +1 -0
- package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.d.ts +3 -1
- package/dist/{src/foundation → foundation}/process-containment/windows-process-inspector.js +5 -2
- package/dist/{src/foundation → foundation}/protocol/client.d.ts +1 -0
- package/dist/{src/foundation → foundation}/protocol/client.js +1 -0
- package/dist/{src/foundation → foundation}/protocol/messages.d.ts +1 -0
- package/dist/{src/foundation → foundation}/protocol/messages.js +1 -0
- package/dist/foundation/release/bootstrap.d.ts +55 -0
- package/dist/{src/foundation → foundation}/release/bootstrap.js +219 -46
- 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 +81 -0
- package/dist/foundation/release/dependency-layer.js +466 -0
- package/dist/foundation/release/endpoints.d.ts +20 -0
- package/dist/foundation/release/endpoints.js +50 -0
- package/dist/foundation/release/immutable-platform.d.ts +6 -0
- package/dist/foundation/release/immutable-platform.js +13 -0
- package/dist/{src/foundation → foundation}/release/index.d.ts +6 -0
- package/dist/{src/foundation → foundation}/release/index.js +6 -0
- package/dist/foundation/release/release-gc.d.ts +71 -0
- package/dist/foundation/release/release-gc.js +764 -0
- package/dist/{src/foundation → foundation}/release/release-store.d.ts +9 -3
- package/dist/{src/foundation → foundation}/release/release-store.js +74 -14
- package/dist/{src/foundation → foundation}/release/release.d.ts +6 -1
- package/dist/{src/foundation → foundation}/release/release.js +15 -4
- package/dist/foundation/release/restart-certification.d.ts +68 -0
- package/dist/foundation/release/restart-certification.js +227 -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/{src/foundation → foundation}/release/update-transaction.d.ts +11 -0
- package/dist/{src/foundation → foundation}/release/update-transaction.js +13 -1
- package/dist/{src/foundation → foundation}/release/update.d.ts +40 -4
- package/dist/{src/foundation → foundation}/release/update.js +196 -78
- package/dist/foundation/release/warmup.d.ts +3 -0
- package/dist/foundation/release/warmup.js +47 -0
- package/dist/foundation/startup/index.d.ts +1 -0
- package/dist/foundation/startup/index.js +1 -0
- package/dist/foundation/startup/startup-runtime.d.ts +36 -0
- package/dist/foundation/startup/startup-runtime.js +142 -0
- package/dist/{src/foundation → foundation}/storage/control-store.d.ts +2 -1
- package/dist/{src/foundation → foundation}/storage/control-store.js +39 -4
- package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.d.ts +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/backpressure.js +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.d.ts +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/commands.js +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.d.ts +1 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/handshake.js +1 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.d.ts +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/reconnection.js +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/state.d.ts +2 -1
- package/dist/{src/foundation → foundation}/structured-agent-runtime/state.js +2 -1
- 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 +51 -0
- package/dist/{src/foundation → foundation}/supervision/server.js +142 -20
- package/dist/foundation/terminal-cleanup/fatal-exit.d.ts +12 -0
- package/dist/foundation/terminal-cleanup/fatal-exit.js +85 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +2 -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/{src/foundation/pi-component-adapter → integrations/pi/components}/components.d.ts +1 -1
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.d.ts +1 -0
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/conformance.js +3 -2
- package/dist/integrations/pi/components/editor-interaction.d.ts +38 -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/{src/foundation/pi-component-adapter → integrations/pi/components}/index.d.ts +2 -1
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/index.js +2 -1
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +74 -0
- package/dist/integrations/pi/components/owned-editor-ux.js +1093 -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/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.d.ts +1 -0
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-components.js +1 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +297 -0
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-extension-ui.d.ts +1 -1
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.d.ts +4 -4
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-footer-status.js +58 -23
- 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/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-presenters-transcript.js +174 -170
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.d.ts +8 -4
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-selectors-dialogs.js +10 -6
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +213 -0
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/shell-shared-facade.js +5 -2
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +15 -0
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +43 -0
- package/dist/integrations/pi/components/tool-image-presentation.d.ts +21 -0
- package/dist/integrations/pi/components/tool-image-presentation.js +86 -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/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.d.ts +11 -2
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/adjacent/core/keybindings.js +41 -3
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +12 -0
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +42 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +40 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +166 -0
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.d.ts +1 -1
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/scoped-models-selector.js +3 -1
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.d.ts +3 -2
- package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-footer.js +12 -7
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +61 -0
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +344 -0
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +280 -0
- package/dist/integrations/pi/components/upstream/history/editor-core.js +2062 -0
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +32 -0
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +48 -0
- package/dist/integrations/pi/components/upstream/history/printable-key.d.ts +1 -0
- package/dist/integrations/pi/components/upstream/history/printable-key.js +40 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.d.ts +14 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +28 -0
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +22 -0
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +36 -0
- package/dist/integrations/pi/components/upstream/history/word-navigation.d.ts +24 -0
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +100 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.d.ts +74 -6
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/adapter.js +1340 -228
- package/dist/integrations/pi/engine/changelog.d.ts +2 -0
- package/dist/integrations/pi/engine/changelog.js +63 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.d.ts +4 -2
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/conformance.js +15 -5
- package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
- package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.d.ts +4 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/index.js +4 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.d.ts +2 -1
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/model-auth-integration.js +1 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.d.ts +1 -1
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/package-integration.js +32 -26
- package/dist/integrations/pi/engine/pending-delivery.d.ts +30 -0
- package/dist/integrations/pi/engine/pending-delivery.js +158 -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/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.d.ts +2 -1
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/resource-extension-integration.js +1 -0
- package/dist/integrations/pi/engine/resources/changelog.json +12 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.d.ts +19 -1
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/runtime-integration.js +56 -5
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.d.ts +4 -2
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/session-integration.js +19 -4
- 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-effects.d.ts +66 -0
- package/dist/integrations/pi/engine/settings-effects.js +249 -0
- package/dist/integrations/pi/engine/settings-integration.d.ts +43 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/settings-integration.js +102 -108
- 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/windows-filesystem-hygiene.d.ts +21 -0
- package/dist/integrations/pi/engine/windows-filesystem-hygiene.js +55 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.d.ts +3 -2
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflow-controllers.js +1 -0
- package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/workflows.d.ts +19 -2
- package/dist/integrations/pi/session-ui/clipboard-diagnostics.d.ts +16 -0
- package/dist/integrations/pi/session-ui/clipboard-diagnostics.js +65 -0
- package/dist/integrations/pi/session-ui/clipboard-image.d.ts +11 -0
- package/dist/integrations/pi/session-ui/clipboard-image.js +38 -0
- package/dist/integrations/pi/session-ui/editor-hyperlink-budget.d.ts +9 -0
- package/dist/integrations/pi/session-ui/editor-hyperlink-budget.js +23 -0
- package/dist/integrations/pi/session-ui/image-preparation-client.d.ts +20 -0
- package/dist/integrations/pi/session-ui/image-preparation-client.js +145 -0
- package/dist/integrations/pi/session-ui/image-preparation.d.ts +18 -0
- package/dist/integrations/pi/session-ui/image-preparation.js +126 -0
- package/dist/integrations/pi/session-ui/image-source.d.ts +13 -0
- package/dist/integrations/pi/session-ui/image-source.js +171 -0
- package/dist/integrations/pi/session-ui/image-worker.d.ts +17 -0
- package/dist/integrations/pi/session-ui/image-worker.js +23 -0
- package/dist/integrations/pi/session-ui/index.d.ts +5 -0
- package/dist/integrations/pi/session-ui/index.js +5 -0
- package/dist/integrations/pi/session-ui/paste-executor.d.ts +10 -0
- package/dist/integrations/pi/session-ui/paste-executor.js +232 -0
- package/dist/integrations/pi/session-ui/paste-helper.d.ts +1 -0
- package/dist/integrations/pi/session-ui/paste-helper.js +173 -0
- package/dist/integrations/pi/session-ui/paste-preparation-client.d.ts +16 -0
- package/dist/integrations/pi/session-ui/paste-preparation-client.js +159 -0
- package/dist/integrations/pi/session-ui/paste-protocol.d.ts +78 -0
- package/dist/integrations/pi/session-ui/paste-protocol.js +18 -0
- package/dist/integrations/pi/session-ui/paste-text-preparation.d.ts +20 -0
- package/dist/integrations/pi/session-ui/paste-text-preparation.js +134 -0
- package/dist/integrations/pi/session-ui/paste-text-worker.d.ts +1 -0
- package/dist/integrations/pi/session-ui/paste-text-worker.js +12 -0
- package/dist/integrations/pi/session-ui/path-chip-presentation.d.ts +7 -0
- package/dist/integrations/pi/session-ui/path-chip-presentation.js +24 -0
- package/dist/integrations/pi/session-ui/prompt-chips.d.ts +72 -0
- package/dist/integrations/pi/session-ui/prompt-chips.js +503 -0
- package/dist/integrations/pi/session-ui/prompt-history-controller.d.ts +36 -0
- package/dist/integrations/pi/session-ui/prompt-history-controller.js +170 -0
- package/dist/integrations/pi/session-ui/prompt-suggestion-controller.d.ts +35 -0
- package/dist/integrations/pi/session-ui/prompt-suggestion-controller.js +207 -0
- package/dist/integrations/pi/session-ui/response-copy-coordinator.d.ts +27 -0
- package/dist/integrations/pi/session-ui/response-copy-coordinator.js +189 -0
- package/dist/integrations/pi/session-ui/response-copy-helper.d.ts +1 -0
- package/dist/integrations/pi/session-ui/response-copy-helper.js +122 -0
- package/dist/integrations/pi/session-ui/response-copy-protocol.d.ts +56 -0
- package/dist/integrations/pi/session-ui/response-copy-protocol.js +5 -0
- package/dist/integrations/pi/session-ui/response-copy-transport.d.ts +31 -0
- package/dist/integrations/pi/session-ui/response-copy-transport.js +187 -0
- package/dist/integrations/pi/session-ui/route-host.d.ts +5 -0
- package/dist/integrations/pi/session-ui/route-host.js +1 -0
- package/dist/integrations/pi/session-ui/session-shell-root.d.ts +221 -0
- package/dist/integrations/pi/session-ui/session-shell-root.js +1305 -0
- package/dist/integrations/pi/session-ui/session-shell.d.ts +55 -0
- package/dist/integrations/pi/session-ui/session-shell.js +1792 -0
- package/dist/integrations/pi/session-ui/session-viewport-controller.d.ts +56 -0
- package/dist/integrations/pi/session-ui/session-viewport-controller.js +569 -0
- package/dist/integrations/pi/session-ui/stream-presentation-coalescer.d.ts +29 -0
- package/dist/integrations/pi/session-ui/stream-presentation-coalescer.js +79 -0
- package/dist/integrations/pi/session-ui/system-clipboard.d.ts +20 -0
- package/dist/integrations/pi/session-ui/system-clipboard.js +156 -0
- package/dist/integrations/pi/session-ui/text-paste.d.ts +5 -0
- package/dist/integrations/pi/session-ui/text-paste.js +16 -0
- package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.d.ts +10 -1
- package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/adapter.js +255 -11
- package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/contracts.d.ts +32 -6
- package/dist/integrations/pi/tui-runtime/contracts.js +1 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +81 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +424 -0
- package/dist/integrations/pi/tui-runtime/index.d.ts +7 -0
- package/dist/integrations/pi/tui-runtime/index.js +7 -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 +59 -0
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +32 -0
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +159 -0
- package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.d.ts +1 -1
- 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/{src/product-identity.d.ts → product-identity.d.ts} +4 -4
- package/dist/{src/product-identity.js → product-identity.js} +7 -38
- package/dist/{src/product-identity.json → product-identity.json} +13 -27
- package/dist/runtime-payload-inventory.json +122333 -0
- package/dist/{src/foundation/ui-apps → ui/apps}/contracts.d.ts +23 -1
- package/dist/{src/foundation/ui-apps → ui/apps}/host.d.ts +1 -1
- package/dist/{src/foundation/ui-apps → ui/apps}/host.js +14 -10
- package/dist/{src/foundation/ui-apps → ui/apps}/registry.d.ts +1 -0
- package/dist/{src/foundation/ui-apps → ui/apps}/registry.js +1 -0
- package/dist/{src/foundation/ui-components → ui/components}/dialog-panel.js +5 -3
- package/dist/{src/foundation/ui-components → ui/components}/frame.d.ts +1 -0
- package/dist/{src/foundation/ui-components → ui/components}/frame.js +1 -0
- package/dist/{src/foundation/ui-components → ui/components}/index.d.ts +7 -0
- package/dist/{src/foundation/ui-components → ui/components}/index.js +7 -0
- package/dist/{src/foundation/ui-components → ui/components}/line-input.d.ts +2 -8
- package/dist/{src/foundation/ui-components → ui/components}/line-input.js +7 -28
- package/dist/{src/foundation/ui-components → ui/components}/list-view.d.ts +0 -6
- package/dist/{src/foundation/ui-components → ui/components}/list-view.js +14 -7
- package/dist/{src/foundation/ui-components → ui/components}/mouse.d.ts +10 -0
- package/dist/{src/foundation/ui-components → ui/components}/mouse.js +24 -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 +54 -0
- package/dist/ui/components/prompt-row.d.ts +14 -0
- package/dist/ui/components/prompt-row.js +20 -0
- package/dist/{src/foundation/ui-components → ui/components}/scrollbar.d.ts +26 -0
- package/dist/{src/foundation/ui-components → ui/components}/scrollbar.js +35 -0
- package/dist/ui/components/selection-copy.d.ts +24 -0
- package/dist/ui/components/selection-copy.js +39 -0
- package/dist/{src/foundation/ui-components → ui/components}/shortcuts.d.ts +1 -0
- package/dist/{src/foundation/ui-components → ui/components}/shortcuts.js +1 -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/{src/foundation/ui-components → ui/components}/surface.d.ts +0 -5
- package/dist/{src/foundation/ui-components → ui/components}/surface.js +1 -5
- package/dist/ui/components/text-selection.d.ts +62 -0
- package/dist/ui/components/text-selection.js +210 -0
- package/dist/{src/foundation/ui-components → ui/components}/text.d.ts +14 -0
- package/dist/{src/foundation/ui-components → ui/components}/text.js +67 -5
- 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/{src/foundation/owned-ui-settings → ui/settings}/declarations.d.ts +8 -1
- package/dist/ui/settings/declarations.js +94 -0
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.d.ts +1 -1
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/migrations.js +28 -2
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.d.ts +6 -19
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/sections.js +41 -22
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/session.d.ts +9 -17
- package/dist/ui/settings/session.js +164 -0
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.d.ts +1 -0
- package/dist/{src/foundation/owned-ui-settings → ui/settings}/store.js +2 -1
- package/docs/architecture/boundaries.md +14 -10
- package/docs/architecture/code-documentation.md +77 -0
- package/docs/architecture/history-editor-provenance.md +100 -0
- package/docs/architecture/internal-naming.md +91 -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 +83 -0
- package/docs/architecture/tool-image-presentation.md +62 -0
- package/docs/architecture/toolchain.md +24 -10
- package/docs/architecture/ui-reference-provenance.md +59 -5
- package/docs/ci-release-runbook.md +236 -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 +128 -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 +78 -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 +128 -0
- package/docs/repository-governance-live-acceptance.md +77 -0
- package/package.json +45 -28
- package/dist/src/cli/capabilities.d.ts +0 -15
- package/dist/src/cli/dispatch.js +0 -142
- package/dist/src/cli/version-stats.js +0 -72
- package/dist/src/composition/index.d.ts +0 -48
- package/dist/src/composition/index.js +0 -258
- package/dist/src/features/launch/intent.d.ts +0 -7
- package/dist/src/features/launch/intent.js +0 -4
- package/dist/src/features/launch/profiles.d.ts +0 -12
- package/dist/src/features/launch/profiles.js +0 -26
- package/dist/src/features/owned-ui/run.js +0 -15
- package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
- 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-settings/declarations.js +0 -39
- package/dist/src/foundation/owned-ui-settings/session.js +0 -145
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +0 -162
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -116
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +0 -19
- 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-engine-adapter/settings-integration.d.ts +0 -55
- 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/index.d.ts +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js +0 -4
- package/dist/src/foundation/release/bootstrap.d.ts +0 -29
- 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/release-gc.d.ts +0 -5
- package/dist/src/foundation/release/release-gc.js +0 -16
- 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/ui-components/spans.d.ts +0 -7
- package/dist/src/foundation/ui-components/spans.js +0 -59
- package/docs/manual-transparent-checkpoint.md +0 -53
- /package/dist/{src/cli → cli}/index.d.ts +0 -0
- /package/dist/{src/cli → cli}/index.js +0 -0
- /package/dist/{src/cli → cli}/version.d.ts +0 -0
- /package/dist/{src/cli → cli}/version.js +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/agent-engine-contracts → contracts/agent-engine}/domain.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/index.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}/ports.js +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.d.ts +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/foundation/workspace-contracts → contracts/workspace}/index.d.ts +0 -0
- /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/index.js +0 -0
- /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.d.ts +0 -0
- /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/model.js +0 -0
- /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.d.ts +0 -0
- /package/dist/{src/foundation/workspace-contracts → contracts/workspace}/validation.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/features → features}/launch/runtime-selection.js +0 -0
- /package/dist/{src/features → features}/workspace/capabilities.js +0 -0
- /package/dist/{src/features → features}/workspace/index.d.ts +0 -0
- /package/dist/{src/features → features}/workspace/index.js +0 -0
- /package/dist/{src/features → features}/workspace/presentation.d.ts +0 -0
- /package/dist/{src/features → features}/workspace/presentation.js +0 -0
- /package/dist/{src/features → features}/workspace/reconciliation.d.ts +0 -0
- /package/dist/{src/features → features}/workspace/reconciliation.js +0 -0
- /package/dist/{src/foundation → foundation}/launch-guardian/index.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/launch-guardian/index.js +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/commands.js +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}/native-host-protocol/evidence.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/native-host-protocol/evidence.js +0 -0
- /package/dist/{src/foundation → foundation}/native-host-protocol/index.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/native-host-protocol/index.js +0 -0
- /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/native-host-protocol/proof-gate.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}/protocol/index.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/protocol/index.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 → foundation}/storage/index.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/storage/index.js +0 -0
- /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/structured-agent-runtime/index.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/components.js +0 -0
- /package/dist/{src/foundation/pi-owned-ui-integration/route-host.js → integrations/pi/components/editor-interaction.js} +0 -0
- /package/dist/{src/foundation/pi-tui-runtime-adapter/contracts.js → integrations/pi/components/prompt-input-port.js} +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/resources/builtin-themes.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}/shell-extension-ui.js +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.d.ts +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/custom-entry.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/custom-entry.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/daxnuts.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/earendil-announcement.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/extension-editor.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/first-time-setup.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/markdown-transform.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/mermaid.js +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/components/session-selector-search.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/skill-invocation-message.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/status-indicator.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/tree-selector.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/trust-selector.js +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/external-editor.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.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-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme-controller.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/theme/theme.js +0 -0
- /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/pi-settings-metadata.json +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/pi-engine-adapter → integrations/pi/engine}/workflows.js +0 -0
- /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.d.ts +0 -0
- /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/conformance.js +0 -0
- /package/dist/{src/foundation/pi-tui-runtime-adapter → integrations/pi/tui-runtime}/presentation-adapter.js +0 -0
- /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
- /package/dist/{src/foundation/ui-apps → ui/apps}/index.d.ts +0 -0
- /package/dist/{src/foundation/ui-apps → ui/apps}/index.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}/index.d.ts +0 -0
- /package/dist/{src/foundation/owned-ui-settings → ui/settings}/index.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
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
import { getSelectListTheme } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import { CombinedAutocompleteProvider, setKeybindings, } from "#pi-tui";
|
|
3
|
-
import { KeybindingsManager } from "./upstream/adjacent/core/keybindings.js";
|
|
4
|
-
import { OwnedEditor } from "./upstream/components/owned-editor.js";
|
|
5
|
-
import { PINNED_PI_LAYOUT, piTheme, } from "./theme.js";
|
|
6
|
-
import { createTuiFacade, ensureTheme, isAutocompleteProvider, } from "./shell-shared-facade.js";
|
|
7
|
-
export const PINNED_PI_BUILTIN_SLASH_COMMANDS = [
|
|
8
|
-
{ name: "settings", description: "Open settings menu" },
|
|
9
|
-
{ name: "model", description: "Select model (opens selector UI)", argumentHint: "<provider/model>" },
|
|
10
|
-
{ name: "scoped-models", description: "Enable/disable models for Ctrl+P cycling" },
|
|
11
|
-
{ name: "export", description: "Export session (HTML default, or specify path: .html/.jsonl)" },
|
|
12
|
-
{ name: "import", description: "Import and resume a session from a JSONL file" },
|
|
13
|
-
{ name: "share", description: "Share session as a secret GitHub gist" },
|
|
14
|
-
{ name: "copy", description: "Copy last agent message to clipboard" },
|
|
15
|
-
{ name: "name", description: "Set session display name" },
|
|
16
|
-
{ name: "session", description: "Show session info and stats" },
|
|
17
|
-
{ name: "changelog", description: "Show changelog entries" },
|
|
18
|
-
{ name: "hotkeys", description: "Show all keyboard shortcuts" },
|
|
19
|
-
{ name: "fork", description: "Create a new fork from a previous user message" },
|
|
20
|
-
{ name: "clone", description: "Duplicate the current session at the current position" },
|
|
21
|
-
{ name: "tree", description: "Navigate session tree (switch branches)" },
|
|
22
|
-
{ name: "trust", description: "Save project trust decision for future sessions" },
|
|
23
|
-
{ name: "login", description: "Configure provider authentication", argumentHint: "<provider>" },
|
|
24
|
-
{ name: "logout", description: "Remove provider authentication" },
|
|
25
|
-
{ name: "new", description: "Start a new session" },
|
|
26
|
-
{ name: "compact", description: "Manually compact the session context" },
|
|
27
|
-
{ name: "resume", description: "Resume a different session" },
|
|
28
|
-
{ name: "reload", description: "Reload keybindings, extensions, skills, prompts, themes, and context files" },
|
|
29
|
-
{ name: "quit", description: "Quit pi" },
|
|
30
|
-
];
|
|
31
|
-
export function createPiShellEditor(options) {
|
|
32
|
-
ensureTheme();
|
|
33
|
-
const tui = createTuiFacade(options);
|
|
34
|
-
const keybindings = KeybindingsManager.create(options.agentDir);
|
|
35
|
-
setKeybindings(keybindings);
|
|
36
|
-
const editor = new OwnedEditor(tui, {
|
|
37
|
-
borderColor: (value) => piTheme().fg("borderMuted", value),
|
|
38
|
-
selectList: getSelectListTheme(),
|
|
39
|
-
}, keybindings, {
|
|
40
|
-
paddingX: PINNED_PI_LAYOUT.editorPaddingX,
|
|
41
|
-
autocompleteMaxVisible: PINNED_PI_LAYOUT.autocompleteMaxVisible,
|
|
42
|
-
});
|
|
43
|
-
let thinkingLevel = "off";
|
|
44
|
-
let isBashMode = false;
|
|
45
|
-
const updateBorderColor = () => {
|
|
46
|
-
editor.borderColor = isBashMode
|
|
47
|
-
? piTheme().getBashModeBorderColor()
|
|
48
|
-
: piTheme().getThinkingBorderColor(thinkingLevel);
|
|
49
|
-
tui.requestRender();
|
|
50
|
-
};
|
|
51
|
-
let autocompleteProvider;
|
|
52
|
-
const setAutocompleteCommands = (commands) => {
|
|
53
|
-
const additions = new Map(commands.map(command => [command.name, command]));
|
|
54
|
-
const builtInNames = new Set(PINNED_PI_BUILTIN_SLASH_COMMANDS.map(command => command.name));
|
|
55
|
-
const builtIns = PINNED_PI_BUILTIN_SLASH_COMMANDS.map(command => autocompleteCommand(command, additions.get(command.name)));
|
|
56
|
-
const resources = commands.filter(command => !builtInNames.has(command.name)).map(command => autocompleteCommand(command));
|
|
57
|
-
autocompleteProvider = new CombinedAutocompleteProvider([...builtIns, ...resources], options.cwd ?? process.cwd());
|
|
58
|
-
editor.setAutocompleteProvider(autocompleteProvider);
|
|
59
|
-
};
|
|
60
|
-
setAutocompleteCommands(options.autocompleteCommands ?? []);
|
|
61
|
-
let submitHandler = options.onSubmit;
|
|
62
|
-
let interruptHandler = options.onInterrupt ?? (() => { });
|
|
63
|
-
editor.onSubmit = text => submitHandler(text);
|
|
64
|
-
editor.onChange = text => {
|
|
65
|
-
const nextBashMode = text.trimStart().startsWith("!");
|
|
66
|
-
if (nextBashMode !== isBashMode) {
|
|
67
|
-
isBashMode = nextBashMode;
|
|
68
|
-
updateBorderColor();
|
|
69
|
-
}
|
|
70
|
-
options.onChange?.(text);
|
|
71
|
-
};
|
|
72
|
-
if (options.onInterrupt !== undefined) {
|
|
73
|
-
editor.onEscape = () => interruptHandler();
|
|
74
|
-
editor.onAction("app.interrupt", () => interruptHandler());
|
|
75
|
-
}
|
|
76
|
-
if (options.onClear !== undefined)
|
|
77
|
-
editor.onAction("app.clear", options.onClear);
|
|
78
|
-
if (options.onExit !== undefined) {
|
|
79
|
-
editor.onCtrlD = options.onExit;
|
|
80
|
-
editor.onAction("app.exit", options.onExit);
|
|
81
|
-
}
|
|
82
|
-
if (options.onSuspend !== undefined)
|
|
83
|
-
editor.onAction("app.suspend", options.onSuspend);
|
|
84
|
-
if (options.onExternalEditor !== undefined)
|
|
85
|
-
editor.onAction("app.editor.external", options.onExternalEditor);
|
|
86
|
-
if (options.onPasteImage !== undefined) {
|
|
87
|
-
editor.onPasteImage = options.onPasteImage;
|
|
88
|
-
editor.onAction("app.clipboard.pasteImage", options.onPasteImage);
|
|
89
|
-
}
|
|
90
|
-
if (options.onExtensionShortcut !== undefined)
|
|
91
|
-
editor.onExtensionShortcut = options.onExtensionShortcut;
|
|
92
|
-
if (options.onModelSelect !== undefined)
|
|
93
|
-
editor.onAction("app.model.select", options.onModelSelect);
|
|
94
|
-
if (options.onModelCycle !== undefined) {
|
|
95
|
-
editor.onAction("app.model.cycleForward", () => options.onModelCycle?.("forward"));
|
|
96
|
-
editor.onAction("app.model.cycleBackward", () => options.onModelCycle?.("backward"));
|
|
97
|
-
}
|
|
98
|
-
if (options.onThinkingCycle !== undefined)
|
|
99
|
-
editor.onAction("app.thinking.cycle", options.onThinkingCycle);
|
|
100
|
-
if (options.onThinkingToggle !== undefined)
|
|
101
|
-
editor.onAction("app.thinking.toggle", options.onThinkingToggle);
|
|
102
|
-
if (options.onToolsExpand !== undefined)
|
|
103
|
-
editor.onAction("app.tools.expand", options.onToolsExpand);
|
|
104
|
-
if (options.onMessageCopy !== undefined)
|
|
105
|
-
editor.onAction("app.message.copy", options.onMessageCopy);
|
|
106
|
-
if (options.onFollowUp !== undefined)
|
|
107
|
-
editor.onAction("app.message.followUp", options.onFollowUp);
|
|
108
|
-
if (options.onDequeue !== undefined)
|
|
109
|
-
editor.onAction("app.message.dequeue", options.onDequeue);
|
|
110
|
-
return {
|
|
111
|
-
render: width => editor.render(width),
|
|
112
|
-
handleInput: data => editor.handleInput(data),
|
|
113
|
-
invalidate: () => editor.invalidate(),
|
|
114
|
-
setFocused: focused => {
|
|
115
|
-
editor.focused = focused;
|
|
116
|
-
},
|
|
117
|
-
getText: () => editor.getExpandedText(),
|
|
118
|
-
setText: text => editor.setText(text),
|
|
119
|
-
insertText: text => editor.insertTextAtCursor(text),
|
|
120
|
-
addToHistory: text => editor.addToHistory(text),
|
|
121
|
-
setSubmitEnabled: enabled => {
|
|
122
|
-
editor.disableSubmit = !enabled;
|
|
123
|
-
},
|
|
124
|
-
setSubmitHandler: handler => { submitHandler = handler; },
|
|
125
|
-
setInterruptHandler: handler => { interruptHandler = handler; },
|
|
126
|
-
setAutocompleteCommands,
|
|
127
|
-
addAutocompleteProvider(factory) {
|
|
128
|
-
if (typeof factory !== "function")
|
|
129
|
-
throw new TypeError("extension autocomplete factory must be a function");
|
|
130
|
-
const candidate = Reflect.apply(factory, undefined, [autocompleteProvider]);
|
|
131
|
-
if (!isAutocompleteProvider(candidate))
|
|
132
|
-
throw new TypeError("extension autocomplete factory returned a malformed provider");
|
|
133
|
-
autocompleteProvider = candidate;
|
|
134
|
-
editor.setAutocompleteProvider(autocompleteProvider);
|
|
135
|
-
},
|
|
136
|
-
setThinkingLevel(level) {
|
|
137
|
-
if (thinkingLevel === level)
|
|
138
|
-
return;
|
|
139
|
-
thinkingLevel = level;
|
|
140
|
-
updateBorderColor();
|
|
141
|
-
},
|
|
142
|
-
};
|
|
143
|
-
}
|
|
144
|
-
function autocompleteCommand(command, addition) {
|
|
145
|
-
const argumentOptions = addition?.argumentOptions ?? command.argumentOptions;
|
|
146
|
-
return {
|
|
147
|
-
...command,
|
|
148
|
-
...addition,
|
|
149
|
-
...(argumentOptions === undefined ? {} : {
|
|
150
|
-
getArgumentCompletions: (prefix) => {
|
|
151
|
-
const normalized = prefix.toLowerCase();
|
|
152
|
-
return argumentOptions
|
|
153
|
-
.filter(option => option.id.toLowerCase().includes(normalized) || option.label.toLowerCase().includes(normalized))
|
|
154
|
-
.map(option => ({
|
|
155
|
-
value: option.id,
|
|
156
|
-
label: option.label,
|
|
157
|
-
...(option.description === undefined ? {} : { description: option.description }),
|
|
158
|
-
}));
|
|
159
|
-
},
|
|
160
|
-
}),
|
|
161
|
-
};
|
|
162
|
-
}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { AssistantMessageComponent } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import type { OwnedUiTranscriptBlock } from "../owned-ui-contracts/index.js";
|
|
3
|
-
import { type PiShellComponentPort, type PiShellExtensionRendererResolver, type PiShellTranscriptComponentPort } from "./shell-shared-facade.js";
|
|
4
|
-
export interface PiShellSessionInfoPresentation {
|
|
5
|
-
readonly sessionName?: string;
|
|
6
|
-
readonly stats: {
|
|
7
|
-
readonly sessionFile?: string;
|
|
8
|
-
readonly sessionId: string;
|
|
9
|
-
readonly userMessages: number;
|
|
10
|
-
readonly assistantMessages: number;
|
|
11
|
-
readonly toolCalls: number;
|
|
12
|
-
readonly toolResults: number;
|
|
13
|
-
readonly totalMessages: number;
|
|
14
|
-
readonly tokens: {
|
|
15
|
-
readonly input: number;
|
|
16
|
-
readonly output: number;
|
|
17
|
-
readonly cacheRead: number;
|
|
18
|
-
readonly cacheWrite: number;
|
|
19
|
-
readonly total: number;
|
|
20
|
-
};
|
|
21
|
-
readonly cost: number;
|
|
22
|
-
};
|
|
23
|
-
readonly cacheWaste: {
|
|
24
|
-
readonly missedTokens: number;
|
|
25
|
-
readonly missedCost: number;
|
|
26
|
-
readonly missCount: number;
|
|
27
|
-
};
|
|
28
|
-
readonly usageBreakdown: readonly {
|
|
29
|
-
readonly key: string;
|
|
30
|
-
readonly cost: number;
|
|
31
|
-
readonly tokens: number;
|
|
32
|
-
}[];
|
|
33
|
-
}
|
|
34
|
-
export declare function renderPiShellStatusText(message: string, width: number): readonly string[];
|
|
35
|
-
export declare function createPiShellSessionInfo(presentation: PiShellSessionInfoPresentation): PiShellComponentPort;
|
|
36
|
-
export declare function createPiShellChangelog(markdown: string): PiShellComponentPort;
|
|
37
|
-
export declare function createPiShellHotkeys(): PiShellComponentPort;
|
|
38
|
-
export declare function createPiShellTranscriptComponent(initial: OwnedUiTranscriptBlock, cwd: string, extensions?: PiShellExtensionRendererResolver): PiShellTranscriptComponentPort;
|
|
39
|
-
export declare function renderPiShellTranscriptBlock(block: OwnedUiTranscriptBlock, width: number, cwd: string): readonly string[];
|
|
40
|
-
/**
|
|
41
|
-
* Pinned Pi's CLI prints startup diagnostics with `reportDiagnostics` before
|
|
42
|
-
* the banner: the whole line, prefix included, in chalk's basic ANSI severity
|
|
43
|
-
* colour — not the theme's tokens — with info lines dim and unprefixed.
|
|
44
|
-
*/
|
|
45
|
-
export declare function renderPiShellStartupDiagnostic(diagnostic: {
|
|
46
|
-
readonly severity: "info" | "warning" | "error";
|
|
47
|
-
readonly message: string;
|
|
48
|
-
}, width: number): readonly string[];
|
|
49
|
-
/**
|
|
50
|
-
* Pinned Pi's `showPackageUpdateNotification` banner: warning-coloured dynamic
|
|
51
|
-
* borders around a bold warning title, the muted update instruction with the
|
|
52
|
-
* accent command, and the package list.
|
|
53
|
-
*/
|
|
54
|
-
export declare function renderPiShellPackageUpdateNotice(packages: readonly string[], width: number): readonly string[];
|
|
55
|
-
type PiAssistantMessage = NonNullable<ConstructorParameters<typeof AssistantMessageComponent>[0]>;
|
|
56
|
-
export declare function validatedAssistantMessage(block: OwnedUiTranscriptBlock): PiAssistantMessage;
|
|
57
|
-
export {};
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { type AutocompleteProvider, type Component, type TUI } from "#pi-tui";
|
|
2
|
-
import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel, OwnedUiTranscriptBlock } from "../owned-ui-contracts/index.js";
|
|
3
|
-
export interface PiShellComponentPort {
|
|
4
|
-
render(width: number): readonly string[];
|
|
5
|
-
handleInput?(data: string): void;
|
|
6
|
-
invalidate(): void;
|
|
7
|
-
setFocused?(focused: boolean): void;
|
|
8
|
-
dispose?(): void;
|
|
9
|
-
}
|
|
10
|
-
export interface PiShellEditorPort extends PiShellComponentPort {
|
|
11
|
-
getText(): string;
|
|
12
|
-
setText(text: string): void;
|
|
13
|
-
insertText(text: string): void;
|
|
14
|
-
addToHistory(text: string): void;
|
|
15
|
-
setSubmitEnabled(enabled: boolean): void;
|
|
16
|
-
setSubmitHandler(handler: (text: string) => void): void;
|
|
17
|
-
setInterruptHandler(handler: () => void): void;
|
|
18
|
-
setAutocompleteCommands(commands: readonly PiShellAutocompleteCommand[]): void;
|
|
19
|
-
addAutocompleteProvider(factory: unknown): void;
|
|
20
|
-
setThinkingLevel(level: OwnedUiThinkingLevel): void;
|
|
21
|
-
}
|
|
22
|
-
export interface PiShellAutocompleteCommand {
|
|
23
|
-
readonly name: string;
|
|
24
|
-
readonly description?: string;
|
|
25
|
-
readonly argumentHint?: string;
|
|
26
|
-
readonly argumentOptions?: readonly PiShellSelectorOption[];
|
|
27
|
-
}
|
|
28
|
-
export interface PiShellViewComponentPort extends PiShellComponentPort {
|
|
29
|
-
update(view: OwnedUiSessionViewModel): void;
|
|
30
|
-
}
|
|
31
|
-
export interface PiShellStatusPort extends PiShellViewComponentPort {
|
|
32
|
-
setWorkingOverride(message: string | undefined): void;
|
|
33
|
-
}
|
|
34
|
-
export interface PiShellQueuedInputPort extends PiShellComponentPort {
|
|
35
|
-
update(submissions: readonly string[]): void;
|
|
36
|
-
}
|
|
37
|
-
export interface PiShellHeaderPort extends PiShellComponentPort {
|
|
38
|
-
readonly expanded: boolean;
|
|
39
|
-
setExpanded(expanded: boolean): void;
|
|
40
|
-
}
|
|
41
|
-
export type PiShellResourceSection = "Context" | "Skills" | "Prompts" | "Extensions" | "Themes";
|
|
42
|
-
export interface PiShellResourceEntry {
|
|
43
|
-
readonly section: PiShellResourceSection;
|
|
44
|
-
readonly label: string;
|
|
45
|
-
readonly sourcePath: string | null;
|
|
46
|
-
readonly diagnostic?: string | null;
|
|
47
|
-
}
|
|
48
|
-
export interface PiShellLoadedResourcesPort extends PiShellComponentPort {
|
|
49
|
-
setExpanded(expanded: boolean): void;
|
|
50
|
-
}
|
|
51
|
-
export interface PiShellExtensionRendererResolver {
|
|
52
|
-
getMessageRenderer(customType: string): unknown;
|
|
53
|
-
getToolDefinition(toolName: string): unknown;
|
|
54
|
-
}
|
|
55
|
-
export interface PiShellTranscriptComponentPort extends PiShellComponentPort {
|
|
56
|
-
readonly id: string;
|
|
57
|
-
readonly revision: number;
|
|
58
|
-
update(block: OwnedUiTranscriptBlock): void;
|
|
59
|
-
setExpanded(expanded: boolean): void;
|
|
60
|
-
}
|
|
61
|
-
export interface PiShellStartupNotice {
|
|
62
|
-
readonly kind: "info" | "warning" | "error";
|
|
63
|
-
readonly message: string;
|
|
64
|
-
}
|
|
65
|
-
export interface PiShellHeaderOptions {
|
|
66
|
-
readonly quiet?: boolean;
|
|
67
|
-
readonly expanded?: boolean;
|
|
68
|
-
readonly notices?: readonly PiShellStartupNotice[];
|
|
69
|
-
readonly resources?: readonly PiShellResourceEntry[];
|
|
70
|
-
}
|
|
71
|
-
export interface PiShellEditorOptions {
|
|
72
|
-
readonly getColumns: () => number;
|
|
73
|
-
readonly getRows: () => number;
|
|
74
|
-
readonly requestRender: () => void;
|
|
75
|
-
readonly onSubmit: (text: string) => void;
|
|
76
|
-
readonly onChange?: (text: string) => void;
|
|
77
|
-
readonly onInterrupt?: () => void;
|
|
78
|
-
readonly onClear?: () => void;
|
|
79
|
-
readonly onExit?: () => void;
|
|
80
|
-
readonly onSuspend?: () => void;
|
|
81
|
-
readonly onExternalEditor?: () => void;
|
|
82
|
-
readonly onPasteImage?: () => void;
|
|
83
|
-
readonly onExtensionShortcut?: (data: string) => boolean;
|
|
84
|
-
readonly onModelSelect?: () => void;
|
|
85
|
-
readonly onModelCycle?: ((direction: "forward" | "backward") => void) | undefined;
|
|
86
|
-
readonly onThinkingCycle?: (() => void) | undefined;
|
|
87
|
-
readonly onThinkingToggle?: (() => void) | undefined;
|
|
88
|
-
readonly onToolsExpand?: (() => void) | undefined;
|
|
89
|
-
readonly onMessageCopy?: (() => void) | undefined;
|
|
90
|
-
readonly onFollowUp?: (() => void) | undefined;
|
|
91
|
-
readonly onDequeue?: (() => void) | undefined;
|
|
92
|
-
readonly cwd?: string;
|
|
93
|
-
readonly agentDir?: string;
|
|
94
|
-
readonly autocompleteCommands?: readonly PiShellAutocompleteCommand[];
|
|
95
|
-
}
|
|
96
|
-
export interface PiShellSelectorOption {
|
|
97
|
-
readonly id: string;
|
|
98
|
-
readonly label: string;
|
|
99
|
-
readonly description?: string;
|
|
100
|
-
}
|
|
101
|
-
export interface PiShellSelectorOptions {
|
|
102
|
-
readonly title?: string;
|
|
103
|
-
readonly options: readonly PiShellSelectorOption[];
|
|
104
|
-
readonly maxVisible?: number;
|
|
105
|
-
readonly onSelect?: (id: string) => void;
|
|
106
|
-
readonly onCancel?: () => void;
|
|
107
|
-
}
|
|
108
|
-
export declare function createTuiFacade(options: Pick<PiShellEditorOptions, "getColumns" | "getRows" | "requestRender"> & {
|
|
109
|
-
readonly onSubmit?: (text: string) => void;
|
|
110
|
-
}): TUI;
|
|
111
|
-
export declare function componentPort(component: Component, handleInput?: (data: string) => void): PiShellComponentPort;
|
|
112
|
-
export declare function componentFromPort(port: PiShellComponentPort): Component;
|
|
113
|
-
export declare function formatSessionTokens(count: number): string;
|
|
114
|
-
export declare function isAutocompleteProvider(value: unknown): value is AutocompleteProvider;
|
|
115
|
-
export declare function isRecord(value: unknown): value is Record<string, unknown>;
|
|
116
|
-
export declare function ensureTheme(): void;
|
package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
// Mechanically adapted from Pi commit 914cf14
|
|
2
|
-
// packages/coding-agent/src/modes/interactive/components/earendil-announcement.ts (MIT).
|
|
3
|
-
// Local modifications: remap private imports to public package-root/owned theme boundaries and omit optional package-private imagery.
|
|
4
|
-
import { Container, Spacer, Text } from "#pi-tui";
|
|
5
|
-
import { DynamicBorder } from "@earendil-works/pi-coding-agent";
|
|
6
|
-
import { piTheme } from "../theme/theme.js";
|
|
7
|
-
const BLOG_URL = "https://mariozechner.at/posts/2026-04-08-ive-sold-out/";
|
|
8
|
-
export class EarendilAnnouncementComponent extends Container {
|
|
9
|
-
constructor() {
|
|
10
|
-
super();
|
|
11
|
-
this.addChild(new DynamicBorder((text) => piTheme().fg("accent", text)));
|
|
12
|
-
this.addChild(new Text(piTheme().bold(piTheme().fg("accent", "pi has joined Earendil")), 1, 0));
|
|
13
|
-
this.addChild(new Spacer(1));
|
|
14
|
-
this.addChild(new Text(piTheme().fg("muted", "Read the blog post:"), 1, 0));
|
|
15
|
-
this.addChild(new Text(piTheme().fg("mdLink", BLOG_URL), 1, 0));
|
|
16
|
-
this.addChild(new Spacer(1));
|
|
17
|
-
this.addChild(new DynamicBorder((text) => piTheme().fg("accent", text)));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapted from @earendil-works/pi-coding-agent 0.84.2
|
|
3
|
-
* packages/coding-agent/src/modes/interactive/components/custom-editor.ts (MIT).
|
|
4
|
-
* Modifications: A1-owned class name and A1-owned synchronized keybinding contract.
|
|
5
|
-
*/
|
|
6
|
-
import { Editor, type EditorOptions, type EditorTheme, type TUI } from "#pi-tui";
|
|
7
|
-
import type { AppKeybinding, KeybindingsManager } from "../adjacent/core/keybindings.js";
|
|
8
|
-
export declare class OwnedEditor extends Editor {
|
|
9
|
-
private readonly keybindings;
|
|
10
|
-
readonly actionHandlers: Map<keyof import("../adjacent/core/keybindings.js").AppKeybindings, () => void>;
|
|
11
|
-
onEscape?: () => void;
|
|
12
|
-
onCtrlD?: () => void;
|
|
13
|
-
onPasteImage?: () => void;
|
|
14
|
-
onExtensionShortcut?: (data: string) => boolean;
|
|
15
|
-
constructor(tui: TUI, theme: EditorTheme, keybindings: KeybindingsManager, options?: EditorOptions);
|
|
16
|
-
onAction(action: AppKeybinding, handler: () => void): void;
|
|
17
|
-
handleInput(data: string): void;
|
|
18
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Adapted from @earendil-works/pi-coding-agent 0.84.2
|
|
3
|
-
* packages/coding-agent/src/modes/interactive/components/custom-editor.ts (MIT).
|
|
4
|
-
* Modifications: A1-owned class name and A1-owned synchronized keybinding contract.
|
|
5
|
-
*/
|
|
6
|
-
import { Editor } from "#pi-tui";
|
|
7
|
-
export class OwnedEditor extends Editor {
|
|
8
|
-
keybindings;
|
|
9
|
-
actionHandlers = new Map();
|
|
10
|
-
onEscape;
|
|
11
|
-
onCtrlD;
|
|
12
|
-
onPasteImage;
|
|
13
|
-
onExtensionShortcut;
|
|
14
|
-
constructor(tui, theme, keybindings, options) {
|
|
15
|
-
super(tui, theme, options);
|
|
16
|
-
this.keybindings = keybindings;
|
|
17
|
-
}
|
|
18
|
-
onAction(action, handler) { this.actionHandlers.set(action, handler); }
|
|
19
|
-
handleInput(data) {
|
|
20
|
-
if (this.onExtensionShortcut?.(data))
|
|
21
|
-
return;
|
|
22
|
-
if (this.keybindings.matches(data, "app.clipboard.pasteImage")) {
|
|
23
|
-
this.onPasteImage?.();
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (this.keybindings.matches(data, "app.interrupt")) {
|
|
27
|
-
if (!this.isShowingAutocomplete()) {
|
|
28
|
-
const handler = this.onEscape ?? this.actionHandlers.get("app.interrupt");
|
|
29
|
-
if (handler) {
|
|
30
|
-
handler();
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
super.handleInput(data);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
if (this.keybindings.matches(data, "app.exit") && this.getText().length === 0) {
|
|
38
|
-
const handler = this.onCtrlD ?? this.actionHandlers.get("app.exit");
|
|
39
|
-
if (handler)
|
|
40
|
-
handler();
|
|
41
|
-
return;
|
|
42
|
-
}
|
|
43
|
-
if (this.keybindings.matches(data, "tui.editor.historyPrevious") || this.keybindings.matches(data, "tui.editor.historyNext")) {
|
|
44
|
-
super.handleInput(data);
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
|
-
for (const [action, handler] of this.actionHandlers) {
|
|
48
|
-
if (action !== "app.interrupt" && action !== "app.exit" && this.keybindings.matches(data, action)) {
|
|
49
|
-
handler();
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
super.handleInput(data);
|
|
54
|
-
}
|
|
55
|
-
}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import type { SettingsManager } from "@earendil-works/pi-coding-agent";
|
|
2
|
-
import type { AgentJsonValue, AgentSettingDescriptor, AgentSettingsPort } from "../agent-engine-contracts/index.js";
|
|
3
|
-
/**
|
|
4
|
-
* Values only the running engine knows: the themes installed on this machine and
|
|
5
|
-
* the thinking levels this session supports. The boundary asks for them as it is
|
|
6
|
-
* read, so no layer above has to know they are not fixed.
|
|
7
|
-
*/
|
|
8
|
-
export interface PiSettingsProviders {
|
|
9
|
-
readonly themes?: () => readonly string[];
|
|
10
|
-
readonly thinkingLevels?: () => readonly string[];
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* The engine stores a theme as one string with two forms: a theme's name, or a
|
|
14
|
-
* `light/dark` pair meaning "follow the terminal". That grammar is the engine's,
|
|
15
|
-
* so it is parsed and composed here and reaches the surfaces above as ordinary
|
|
16
|
-
* settings — a theme entry that offers `automatic`, and, while automatic, one
|
|
17
|
-
* entry per terminal appearance.
|
|
18
|
-
*/
|
|
19
|
-
export declare const AUTOMATIC_THEME = "automatic";
|
|
20
|
-
interface AutomaticTheme {
|
|
21
|
-
readonly light: string;
|
|
22
|
-
readonly dark: string;
|
|
23
|
-
}
|
|
24
|
-
/** A stored theme is automatic when it names one theme per terminal appearance. */
|
|
25
|
-
export declare function parseAutomaticTheme(stored: string): AutomaticTheme | null;
|
|
26
|
-
/**
|
|
27
|
-
* The settings A1 exposes: the ones the engine presents. Kept as the engine's
|
|
28
|
-
* own inventory rather than a list beside it, so a setting it adds or renames
|
|
29
|
-
* shows up as a named test failure instead of quietly going missing.
|
|
30
|
-
*/
|
|
31
|
-
export declare const EXPOSED_SETTING_KEYS: readonly string[];
|
|
32
|
-
/**
|
|
33
|
-
* What has drifted between the settings the engine presents and the settings A1
|
|
34
|
-
* maps to its API: the ones A1 has not caught up with, and the ones it kept
|
|
35
|
-
* after the engine dropped them. Either is a build failure with a name in it.
|
|
36
|
-
*/
|
|
37
|
-
export declare function settingsInventoryDrift(presented: readonly string[], mapped: readonly string[]): {
|
|
38
|
-
readonly unmapped: readonly string[];
|
|
39
|
-
readonly stale: readonly string[];
|
|
40
|
-
};
|
|
41
|
-
export declare class PiSettingsIntegration implements AgentSettingsPort {
|
|
42
|
-
#private;
|
|
43
|
-
private readonly settings;
|
|
44
|
-
readonly capabilities: {
|
|
45
|
-
write: boolean;
|
|
46
|
-
flush: boolean;
|
|
47
|
-
};
|
|
48
|
-
constructor(settings: SettingsManager, providers?: PiSettingsProviders);
|
|
49
|
-
listSettings(): Promise<readonly AgentSettingDescriptor[]>;
|
|
50
|
-
readSetting(key: string): Promise<AgentJsonValue | undefined>;
|
|
51
|
-
writeSetting(key: string, value: AgentJsonValue): Promise<void>;
|
|
52
|
-
writeSettingNow(key: string, value: AgentJsonValue): void;
|
|
53
|
-
flush(): Promise<void>;
|
|
54
|
-
}
|
|
55
|
-
export {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { PaneMouseEvent } from "../ui-components/index.js";
|
|
2
|
-
/**
|
|
3
|
-
* The seam between the pinned shell and A1-owned screens. The shell asks whether
|
|
4
|
-
* a route is claimed, mounts whatever surface it is handed, and forwards keys to
|
|
5
|
-
* it — it never learns what an app is, and the app layer never reaches into the
|
|
6
|
-
* shell.
|
|
7
|
-
*/
|
|
8
|
-
export interface UiRouteSurface {
|
|
9
|
-
readonly id: string;
|
|
10
|
-
/** Renders exactly `height` rows of at most `width` columns. */
|
|
11
|
-
render(width: number, height: number): readonly string[];
|
|
12
|
-
/** True when the key was consumed; false leaves it to the shell. */
|
|
13
|
-
handleInput(data: string): boolean;
|
|
14
|
-
/** Mouse report in surface-local coordinates. True when consumed. */
|
|
15
|
-
handleMouse(event: PaneMouseEvent): boolean;
|
|
16
|
-
/** True once the surface has asked to be dismissed. */
|
|
17
|
-
isClosed(): boolean;
|
|
18
|
-
close(): void;
|
|
19
|
-
/** Called by the shell when the surface should repaint. */
|
|
20
|
-
onRenderRequested(listener: () => void): void;
|
|
21
|
-
/** The surface asks to leave A1 entirely, not merely to close itself. */
|
|
22
|
-
onExitRequested(listener: () => void): void;
|
|
23
|
-
}
|
|
24
|
-
export interface UiRouteHost {
|
|
25
|
-
/** True when a declared A1-owned surface claims this route. */
|
|
26
|
-
claims(route: string): boolean;
|
|
27
|
-
/** Opens the route's surface, or null when it could not be presented. */
|
|
28
|
-
open(route: string): UiRouteSurface | null;
|
|
29
|
-
}
|
|
@@ -1,106 +0,0 @@
|
|
|
1
|
-
import type { OwnedUiSessionViewModel, OwnedUiThinkingLevel } from "../owned-ui-contracts/index.js";
|
|
2
|
-
import type { UiRouteHost } from "./route-host.js";
|
|
3
|
-
import { type AdapterCommandResult, type PiEngineAdapter, type PiWorkflowRequest, type PiWorkflowResult } from "../pi-engine-adapter/index.js";
|
|
4
|
-
import { type PiShellComponentPort, type PiShellEditorPort, type PiShellExtensionRendererResolver, type PiShellHeaderOptions, type PiShellHeaderPort, type PiShellLoadedResourcesPort, type PiShellSelectorOption, type PiShellTranscriptComponentPort } from "../pi-component-adapter/index.js";
|
|
5
|
-
import { PiTuiRuntimeAdapter, type PiTuiComponentPort, type PiTuiLayoutNode, type PiTuiOverlayHandle, type PiTuiTerminalPort } from "../pi-tui-runtime-adapter/index.js";
|
|
6
|
-
type OwnedUiBackendPort = PiEngineAdapter;
|
|
7
|
-
type OwnedUiTerminalPort = PiTuiTerminalPort;
|
|
8
|
-
type OwnedUiStartupOptions = PiShellHeaderOptions;
|
|
9
|
-
export interface OwnedUiSessionShellOptions {
|
|
10
|
-
readonly backend: OwnedUiBackendPort;
|
|
11
|
-
readonly cwd: string;
|
|
12
|
-
readonly terminal?: OwnedUiTerminalPort;
|
|
13
|
-
readonly startup?: OwnedUiStartupOptions;
|
|
14
|
-
/**
|
|
15
|
-
* Declared A1-owned routes. A route this host claims resolves to its app;
|
|
16
|
-
* every other route continues to the pinned workflow table unchanged.
|
|
17
|
-
*/
|
|
18
|
-
readonly routeHost?: UiRouteHost;
|
|
19
|
-
}
|
|
20
|
-
export declare class OwnedUiSessionShellRoot implements PiTuiComponentPort {
|
|
21
|
-
#private;
|
|
22
|
-
readonly editor: PiShellEditorPort;
|
|
23
|
-
readonly header: PiShellHeaderPort;
|
|
24
|
-
readonly resources: PiShellLoadedResourcesPort;
|
|
25
|
-
constructor(view: OwnedUiSessionViewModel, cwd: string, handlers: {
|
|
26
|
-
readonly getColumns: () => number;
|
|
27
|
-
readonly getRows: () => number;
|
|
28
|
-
readonly requestRender: () => void;
|
|
29
|
-
readonly onSubmit: (text: string) => void;
|
|
30
|
-
readonly onInterrupt: () => void;
|
|
31
|
-
readonly onClear?: () => void;
|
|
32
|
-
readonly onExit: () => void;
|
|
33
|
-
readonly onModelSelect: () => void;
|
|
34
|
-
readonly onModelCycle?: (direction: "forward" | "backward") => void;
|
|
35
|
-
readonly onThinkingCycle: () => void;
|
|
36
|
-
readonly onThinkingToggle?: () => void;
|
|
37
|
-
readonly onMessageCopy?: () => void;
|
|
38
|
-
readonly onFollowUp?: () => void;
|
|
39
|
-
readonly onDequeue?: () => void;
|
|
40
|
-
}, startup?: PiShellHeaderOptions, agentDir?: string, extensionRenderers?: PiShellExtensionRendererResolver);
|
|
41
|
-
update(view: OwnedUiSessionViewModel): void;
|
|
42
|
-
render(width: number): readonly string[];
|
|
43
|
-
layoutRoot(): PiTuiLayoutNode;
|
|
44
|
-
transcriptComponent(id: string): PiShellTranscriptComponentPort | undefined;
|
|
45
|
-
appendWorkflowStatus(message: string): void;
|
|
46
|
-
appendWorkflowResult(result: PiWorkflowResult): void;
|
|
47
|
-
appendDaxnuts(): void;
|
|
48
|
-
toggleThinkingVisibility(): void;
|
|
49
|
-
get toolsExpanded(): boolean;
|
|
50
|
-
setToolsExpanded(expanded: boolean): void;
|
|
51
|
-
setExtensionWidget(key: string, component: PiShellComponentPort | null, placement: "aboveEditor" | "belowEditor"): void;
|
|
52
|
-
setExtensionHeader(component: PiShellComponentPort | null): void;
|
|
53
|
-
setExtensionFooter(component: PiShellComponentPort | null): void;
|
|
54
|
-
setExtensionStatus(key: string, text: string | undefined): void;
|
|
55
|
-
setExtensionWorking(message: string | undefined, visible?: boolean): void;
|
|
56
|
-
resetWorkflowPresentation(): void;
|
|
57
|
-
resetExtensionUi(): void;
|
|
58
|
-
addExtensionNotification(message: string, type: "info" | "warning" | "error"): void;
|
|
59
|
-
extensionFooterData(): unknown;
|
|
60
|
-
setInputSurface(component: PiShellComponentPort | null, disposePrevious?: boolean): void;
|
|
61
|
-
handleInput(data: string): void;
|
|
62
|
-
invalidate(): void;
|
|
63
|
-
setFocused(focused: boolean): void;
|
|
64
|
-
dispose(): void;
|
|
65
|
-
}
|
|
66
|
-
export declare class OwnedUiSessionShell {
|
|
67
|
-
#private;
|
|
68
|
-
readonly backend: OwnedUiBackendPort;
|
|
69
|
-
readonly root: OwnedUiSessionShellRoot;
|
|
70
|
-
readonly runtime: PiTuiRuntimeAdapter;
|
|
71
|
-
constructor(options: OwnedUiSessionShellOptions);
|
|
72
|
-
view(): OwnedUiSessionViewModel;
|
|
73
|
-
start(): void;
|
|
74
|
-
onView(listener: (view: OwnedUiSessionViewModel) => void): () => void;
|
|
75
|
-
waitUntilStopped(): Promise<void>;
|
|
76
|
-
submit(text: string): Promise<AdapterCommandResult>;
|
|
77
|
-
clearOrExit(now?: number): Promise<AdapterCommandResult>;
|
|
78
|
-
interrupt(): Promise<AdapterCommandResult>;
|
|
79
|
-
abort(): Promise<AdapterCommandResult>;
|
|
80
|
-
retry(): Promise<AdapterCommandResult>;
|
|
81
|
-
compact(): Promise<AdapterCommandResult>;
|
|
82
|
-
newSession(): Promise<AdapterCommandResult>;
|
|
83
|
-
resumeSession(sessionPath: string): Promise<AdapterCommandResult>;
|
|
84
|
-
setModel(providerId: string, modelId: string): Promise<AdapterCommandResult>;
|
|
85
|
-
setThinkingLevel(thinkingLevel: OwnedUiThinkingLevel): Promise<AdapterCommandResult>;
|
|
86
|
-
cycleThinkingLevel(): Promise<AdapterCommandResult>;
|
|
87
|
-
cycleModel(direction: "forward" | "backward"): Promise<AdapterCommandResult>;
|
|
88
|
-
queueFollowUp(): Promise<AdapterCommandResult>;
|
|
89
|
-
restoreQueuedInput(): void;
|
|
90
|
-
showSelector(title: string, options: readonly PiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): PiTuiOverlayHandle;
|
|
91
|
-
showModelSelector(): void;
|
|
92
|
-
showForkSelector(): void;
|
|
93
|
-
showLogoutSelector(): Promise<void>;
|
|
94
|
-
showLoginMethodSelector(providerReference: string): void;
|
|
95
|
-
showTreeSelector(initialSelectedId?: string): void;
|
|
96
|
-
showLoginAuthTypeSelector(): void;
|
|
97
|
-
showLoginProviderSelector(authType: "oauth" | "api_key"): void;
|
|
98
|
-
showSessionSelector(): void;
|
|
99
|
-
showSettingsSelector(): void;
|
|
100
|
-
shutdown(): Promise<AdapterCommandResult>;
|
|
101
|
-
runWorkflow(request: PiWorkflowRequest): Promise<AdapterCommandResult>;
|
|
102
|
-
showTrustSelector(): void;
|
|
103
|
-
showScopedModelsSelector(): void;
|
|
104
|
-
dispose(): Promise<void>;
|
|
105
|
-
}
|
|
106
|
-
export {};
|