@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,48 +0,0 @@
|
|
|
1
|
-
import { type AgentEnginePort } from "../foundation/agent-engine-contracts/index.js";
|
|
2
|
-
import { type PiEngineAdapter } from "../foundation/pi-engine-adapter/index.js";
|
|
3
|
-
import { type OwnedUiApplicationPort, type PresentationComponentPort, type PresentationRuntimePort, type PresentationTerminalPort } from "../foundation/presentation-contracts/index.js";
|
|
4
|
-
import { OwnedUiSettingsSession } from "../foundation/owned-ui-settings/index.js";
|
|
5
|
-
import type { UiRouteHost } from "../foundation/pi-owned-ui-integration/index.js";
|
|
6
|
-
export interface ProcessCompositionOptions {
|
|
7
|
-
readonly cwd?: string;
|
|
8
|
-
readonly sessionId?: string;
|
|
9
|
-
readonly engine?: AgentEnginePort;
|
|
10
|
-
readonly presentationFactory?: (root: PresentationComponentPort, terminal: PresentationTerminalPort) => PresentationRuntimePort;
|
|
11
|
-
readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
|
|
12
|
-
}
|
|
13
|
-
export interface OwnedUiCompositionOptions {
|
|
14
|
-
readonly cwd?: string;
|
|
15
|
-
readonly terminal?: PresentationTerminalPort;
|
|
16
|
-
readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
|
|
17
|
-
/**
|
|
18
|
-
* A1 profile whose settings this session reads and writes. Omitted keeps the
|
|
19
|
-
* session settings-free, which is what the pinned comparison paths use.
|
|
20
|
-
*/
|
|
21
|
-
readonly profileId?: string;
|
|
22
|
-
/**
|
|
23
|
-
* Whether A1's own surfaces are reachable. Withheld for the rendering parity
|
|
24
|
-
* comparison, which measures this composition against pinned Pi and so must
|
|
25
|
-
* present Pi's interface and nothing of A1's own. It is the same composition
|
|
26
|
-
* either way: a parity run built beside the product would measure itself.
|
|
27
|
-
*/
|
|
28
|
-
readonly ownedSurfaces?: "on" | "off";
|
|
29
|
-
}
|
|
30
|
-
export interface OwnedUiComposition {
|
|
31
|
-
readonly application: OwnedUiApplicationPort;
|
|
32
|
-
/** Present when a profile was supplied, so the caller can resolve settings before start. */
|
|
33
|
-
readonly settings: OwnedUiSettingsSession | null;
|
|
34
|
-
}
|
|
35
|
-
export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
|
|
36
|
-
export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;
|
|
37
|
-
export interface ProcessComposition {
|
|
38
|
-
readonly engine: AgentEnginePort;
|
|
39
|
-
createPresentation(root: PresentationComponentPort, terminal: PresentationTerminalPort): PresentationRuntimePort;
|
|
40
|
-
dispose(): Promise<void>;
|
|
41
|
-
}
|
|
42
|
-
export declare function composeProcess(options?: ProcessCompositionOptions): Promise<ProcessComposition>;
|
|
43
|
-
/**
|
|
44
|
-
* Registers the A1-owned screens and adapts the app host to the shell's route
|
|
45
|
-
* seam. The shell mounts whatever surface it is handed and forwards keys; it
|
|
46
|
-
* never learns what an app is.
|
|
47
|
-
*/
|
|
48
|
-
export declare function createOwnedRouteHost(settings: OwnedUiSettingsSession): UiRouteHost;
|
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
import { AGENT_ENGINE_CONTRACT_VERSION, assertAgentCapabilityContract, assertAgentCommand, } from "../foundation/agent-engine-contracts/index.js";
|
|
2
|
-
import { createPiEngineAdapter } from "../foundation/pi-engine-adapter/index.js";
|
|
3
|
-
import { createPiPresentationRuntime, createPiTerminalBridge } from "../foundation/pi-tui-runtime-adapter/index.js";
|
|
4
|
-
import { assertPresentationComponent, assertPresentationRuntime, } from "../foundation/presentation-contracts/index.js";
|
|
5
|
-
import { OwnedUiSessionShell } from "../foundation/pi-owned-ui-integration/index.js";
|
|
6
|
-
import { OwnedUiSettingsSession, OwnedUiSettingsStore } from "../foundation/owned-ui-settings/index.js";
|
|
7
|
-
import { UiAppHost, UiAppRegistry } from "../foundation/ui-apps/index.js";
|
|
8
|
-
import { applyConfiguredPiTheme, getAvailablePiThemes, piTheme } from "../foundation/pi-component-adapter/index.js";
|
|
9
|
-
import { faint } from "../foundation/ui-components/index.js";
|
|
10
|
-
import { SETTINGS_APP_ID, SETTINGS_ROUTE, SettingsApp } from "../features/owned-ui/index.js";
|
|
11
|
-
import { resolveProductPaths } from "../foundation/lifecycle/index.js";
|
|
12
|
-
const CAPABILITIES = {
|
|
13
|
-
contractVersion: AGENT_ENGINE_CONTRACT_VERSION,
|
|
14
|
-
commands: ["prompt", "steer", "follow-up", "abort", "retry", "compact", "bash", "replace-session"],
|
|
15
|
-
events: ["lifecycle", "content", "command-outcome", "snapshot-invalidated", "diagnostic"],
|
|
16
|
-
snapshots: { supported: true, maxBytes: 1024 * 1024 },
|
|
17
|
-
};
|
|
18
|
-
export async function composeOwnedUiApplication(options = {}) {
|
|
19
|
-
return (await composeOwnedUi(options)).application;
|
|
20
|
-
}
|
|
21
|
-
export async function composeOwnedUi(options = {}) {
|
|
22
|
-
const cwd = options.cwd ?? process.cwd();
|
|
23
|
-
const adapter = options.createPiAdapter
|
|
24
|
-
? await options.createPiAdapter()
|
|
25
|
-
: await createPiEngineAdapter({ cwd, availableThemes: () => getAvailablePiThemes().map(theme => theme.name) });
|
|
26
|
-
const settings = options.profileId === undefined
|
|
27
|
-
? null
|
|
28
|
-
: new OwnedUiSettingsSession({
|
|
29
|
-
store: new OwnedUiSettingsStore({ configDir: resolveProductPaths().configDir, profileId: options.profileId }),
|
|
30
|
-
agentProvider: () => adapter.settingsPort(),
|
|
31
|
-
});
|
|
32
|
-
// Before anything is drawn, so every surface uses the configured theme rather
|
|
33
|
-
// than the one guessed from the terminal's background.
|
|
34
|
-
applyConfiguredPiTheme(adapter.configuredTheme());
|
|
35
|
-
const routeHost = settings === null || options.ownedSurfaces === "off" ? null : createOwnedRouteHost(settings);
|
|
36
|
-
const shell = new OwnedUiSessionShell({
|
|
37
|
-
backend: adapter,
|
|
38
|
-
cwd,
|
|
39
|
-
...(options.terminal === undefined ? {} : { terminal: createPiTerminalBridge(options.terminal) }),
|
|
40
|
-
...(routeHost === null ? {} : { routeHost }),
|
|
41
|
-
});
|
|
42
|
-
const application = {
|
|
43
|
-
get disposed() { return adapter.disposed; },
|
|
44
|
-
start: () => shell.start(),
|
|
45
|
-
flush: () => adapter.flushEvents(),
|
|
46
|
-
waitUntilStopped: () => shell.waitUntilStopped(),
|
|
47
|
-
dispose: () => shell.dispose(),
|
|
48
|
-
};
|
|
49
|
-
return { application, settings };
|
|
50
|
-
}
|
|
51
|
-
export async function composeProcess(options = {}) {
|
|
52
|
-
let engine = options.engine;
|
|
53
|
-
if (!engine) {
|
|
54
|
-
const adapter = options.createPiAdapter
|
|
55
|
-
? await options.createPiAdapter()
|
|
56
|
-
: await createPiEngineAdapter({
|
|
57
|
-
...(options.cwd === undefined ? {} : { cwd: options.cwd }),
|
|
58
|
-
...(options.sessionId === undefined ? {} : { sessionId: options.sessionId }),
|
|
59
|
-
});
|
|
60
|
-
engine = new PiAgentEngineBridge(adapter, options.cwd ?? process.cwd());
|
|
61
|
-
}
|
|
62
|
-
assertAgentCapabilityContract(engine.capabilities);
|
|
63
|
-
if (typeof engine.createSession !== "function" || typeof engine.dispose !== "function")
|
|
64
|
-
throw new TypeError("composed engine does not satisfy the neutral engine port");
|
|
65
|
-
const presentations = new Set();
|
|
66
|
-
let disposed = false;
|
|
67
|
-
return {
|
|
68
|
-
engine,
|
|
69
|
-
createPresentation(root, terminal) {
|
|
70
|
-
if (disposed)
|
|
71
|
-
throw new Error("process composition is disposed");
|
|
72
|
-
assertPresentationComponent(root);
|
|
73
|
-
const runtime = options.presentationFactory?.(root, terminal) ?? createPiPresentationRuntime(root, terminal);
|
|
74
|
-
assertPresentationRuntime(runtime);
|
|
75
|
-
presentations.add(runtime);
|
|
76
|
-
return runtime;
|
|
77
|
-
},
|
|
78
|
-
async dispose() {
|
|
79
|
-
if (disposed)
|
|
80
|
-
return;
|
|
81
|
-
disposed = true;
|
|
82
|
-
const failures = [];
|
|
83
|
-
for (const runtime of [...presentations].reverse())
|
|
84
|
-
await runtime.stop().catch(error => failures.push(error));
|
|
85
|
-
await engine.dispose().catch(error => failures.push(error));
|
|
86
|
-
if (failures.length)
|
|
87
|
-
throw new AggregateError(failures, "process composition disposal failed");
|
|
88
|
-
},
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
class PiAgentEngineBridge {
|
|
92
|
-
adapter;
|
|
93
|
-
cwd;
|
|
94
|
-
capabilities = CAPABILITIES;
|
|
95
|
-
#session;
|
|
96
|
-
constructor(adapter, cwd) {
|
|
97
|
-
this.adapter = adapter;
|
|
98
|
-
this.cwd = cwd;
|
|
99
|
-
}
|
|
100
|
-
async createSession(input) {
|
|
101
|
-
if (this.#session)
|
|
102
|
-
return this.#session;
|
|
103
|
-
if (input.cwd !== this.cwd)
|
|
104
|
-
throw new TypeError("composed Pi engine cannot change working directory");
|
|
105
|
-
await this.adapter.start();
|
|
106
|
-
this.#session = new PiAgentSessionBridge(this.adapter, input.sessionId);
|
|
107
|
-
return this.#session;
|
|
108
|
-
}
|
|
109
|
-
async dispose() { await this.adapter.dispose(); }
|
|
110
|
-
}
|
|
111
|
-
class PiAgentSessionBridge {
|
|
112
|
-
adapter;
|
|
113
|
-
sessionId;
|
|
114
|
-
capabilities = CAPABILITIES;
|
|
115
|
-
lifecycle = "starting";
|
|
116
|
-
#listeners = new Set();
|
|
117
|
-
#unsubscribe;
|
|
118
|
-
constructor(adapter, sessionId) {
|
|
119
|
-
this.adapter = adapter;
|
|
120
|
-
this.sessionId = sessionId;
|
|
121
|
-
this.#unsubscribe = adapter.onEvent(event => {
|
|
122
|
-
const converted = convertEvent(event);
|
|
123
|
-
if (!converted)
|
|
124
|
-
return;
|
|
125
|
-
if (converted.type === "lifecycle")
|
|
126
|
-
this.lifecycle = converted.lifecycle;
|
|
127
|
-
for (const listener of this.#listeners)
|
|
128
|
-
listener(converted);
|
|
129
|
-
});
|
|
130
|
-
this.lifecycle = toLifecycle(adapter.snapshot().view.lifecycle);
|
|
131
|
-
}
|
|
132
|
-
async execute(command) {
|
|
133
|
-
assertAgentCommand(command, this.capabilities);
|
|
134
|
-
if (command.sessionId !== this.sessionId)
|
|
135
|
-
return "rejected";
|
|
136
|
-
if (command.type === "bash") {
|
|
137
|
-
const result = await this.adapter.executeBashWorkflow(command.command, false);
|
|
138
|
-
return !result.cancelled && result.exitCode === 0 ? "completed" : result.cancelled ? "cancelled" : "failed";
|
|
139
|
-
}
|
|
140
|
-
const owned = toOwnedCommand(command);
|
|
141
|
-
const result = await this.adapter.execute(owned);
|
|
142
|
-
return result.outcome === "timed-out" ? "failed" : result.outcome;
|
|
143
|
-
}
|
|
144
|
-
subscribe(listener) { this.#listeners.add(listener); return () => this.#listeners.delete(listener); }
|
|
145
|
-
async snapshot() {
|
|
146
|
-
const snapshot = this.adapter.snapshot();
|
|
147
|
-
return {
|
|
148
|
-
contractVersion: AGENT_ENGINE_CONTRACT_VERSION,
|
|
149
|
-
snapshotId: snapshot.snapshotId,
|
|
150
|
-
sessionId: this.sessionId,
|
|
151
|
-
revision: snapshot.view.revision,
|
|
152
|
-
sequence: snapshot.sequence,
|
|
153
|
-
lifecycle: toLifecycle(snapshot.view.lifecycle),
|
|
154
|
-
content: snapshot.view.transcript.map(toMessage),
|
|
155
|
-
activeCommandIds: snapshot.view.activeCommandIds,
|
|
156
|
-
capabilities: this.capabilities,
|
|
157
|
-
};
|
|
158
|
-
}
|
|
159
|
-
async dispose() { this.#unsubscribe(); this.#listeners.clear(); await this.adapter.dispose(); this.lifecycle = "stopped"; }
|
|
160
|
-
}
|
|
161
|
-
function toOwnedCommand(command) {
|
|
162
|
-
const base = { correlationId: command.commandId, sessionId: command.sessionId };
|
|
163
|
-
if (command.type === "replace-session")
|
|
164
|
-
return command.source.kind === "new" ? { ...base, type: "new-session" } : { ...base, type: "resume-session", sessionPath: command.source.sessionPath };
|
|
165
|
-
if (command.type === "prompt" || command.type === "steer" || command.type === "follow-up")
|
|
166
|
-
return { ...base, type: command.type, text: command.text };
|
|
167
|
-
return { ...base, type: command.type };
|
|
168
|
-
}
|
|
169
|
-
function convertEvent(event) {
|
|
170
|
-
const base = { contractVersion: AGENT_ENGINE_CONTRACT_VERSION, sessionId: event.sessionId, sequence: event.sequence };
|
|
171
|
-
if (event.type === "session-lifecycle")
|
|
172
|
-
return { ...base, type: "lifecycle", lifecycle: toLifecycle(event.lifecycle), reason: event.reason };
|
|
173
|
-
if (event.type === "transcript-block")
|
|
174
|
-
return { ...base, type: "content", content: toMessage(event.block) };
|
|
175
|
-
if (event.type === "command-outcome")
|
|
176
|
-
return { ...base, type: "command-outcome", commandId: event.correlationId, outcome: event.outcome === "timed-out" ? "failed" : event.outcome, diagnostic: event.diagnostic };
|
|
177
|
-
if (event.type === "diagnostic")
|
|
178
|
-
return { ...base, type: "diagnostic", code: event.diagnostic.code, message: event.diagnostic.message, recoverable: event.diagnostic.recoverable };
|
|
179
|
-
if (event.type === "session-view")
|
|
180
|
-
return { ...base, type: "snapshot-invalidated", expectedRevision: event.view.revision };
|
|
181
|
-
return null;
|
|
182
|
-
}
|
|
183
|
-
function toLifecycle(lifecycle) {
|
|
184
|
-
return lifecycle === "suspended" ? "ready" : lifecycle;
|
|
185
|
-
}
|
|
186
|
-
function toMessage(block) {
|
|
187
|
-
const role = block.kind === "user" ? "user" : block.kind === "system" ? "system" : block.kind === "tool-call" || block.kind === "tool-result" ? "tool" : "assistant";
|
|
188
|
-
return { id: block.id, role, status: block.status === "live" ? "streaming" : "final", content: [{ kind: "text", text: block.text }] };
|
|
189
|
-
}
|
|
190
|
-
/**
|
|
191
|
-
* Registers the A1-owned screens and adapts the app host to the shell's route
|
|
192
|
-
* seam. The shell mounts whatever surface it is handed and forwards keys; it
|
|
193
|
-
* never learns what an app is.
|
|
194
|
-
*/
|
|
195
|
-
export function createOwnedRouteHost(settings) {
|
|
196
|
-
const registry = new UiAppRegistry();
|
|
197
|
-
registry.register({ id: SETTINGS_APP_ID, route: SETTINGS_ROUTE, create: () => new SettingsApp(settings) });
|
|
198
|
-
return {
|
|
199
|
-
claims: route => registry.forRoute(route) !== null,
|
|
200
|
-
open: route => {
|
|
201
|
-
const registration = registry.forRoute(route);
|
|
202
|
-
if (registration === null)
|
|
203
|
-
return null;
|
|
204
|
-
let size = { width: 80, height: 24 };
|
|
205
|
-
let frame = [];
|
|
206
|
-
let closed = false;
|
|
207
|
-
let onRender = () => undefined;
|
|
208
|
-
let onExit = () => undefined;
|
|
209
|
-
const host = new UiAppHost({
|
|
210
|
-
registry,
|
|
211
|
-
closeOnInterrupt: true,
|
|
212
|
-
theme: pinnedTheme(),
|
|
213
|
-
surface: {
|
|
214
|
-
size: () => size,
|
|
215
|
-
requestRender: () => onRender(),
|
|
216
|
-
exit: () => onExit(),
|
|
217
|
-
present: lines => {
|
|
218
|
-
if (lines === null)
|
|
219
|
-
closed = true;
|
|
220
|
-
else
|
|
221
|
-
frame = lines;
|
|
222
|
-
},
|
|
223
|
-
},
|
|
224
|
-
});
|
|
225
|
-
host.open(registration.id);
|
|
226
|
-
const surface = {
|
|
227
|
-
id: registration.id,
|
|
228
|
-
render: (width, height) => {
|
|
229
|
-
size = { width, height };
|
|
230
|
-
host.render();
|
|
231
|
-
return frame.length === height ? frame : [...frame.slice(0, height), ...Array(Math.max(0, height - frame.length)).fill("")];
|
|
232
|
-
},
|
|
233
|
-
handleInput: data => host.handleInput(data).consumed,
|
|
234
|
-
handleMouse: event => host.handleMouse(event).consumed,
|
|
235
|
-
isClosed: () => closed || !host.isPresenting,
|
|
236
|
-
close: () => host.close(),
|
|
237
|
-
onRenderRequested: listener => { onRender = listener; },
|
|
238
|
-
onExitRequested: listener => { onExit = listener; },
|
|
239
|
-
};
|
|
240
|
-
return surface;
|
|
241
|
-
},
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
/** Maps A1 UI tokens onto the pinned Pi theme so owned screens match the shell. */
|
|
245
|
-
function pinnedTheme() {
|
|
246
|
-
return {
|
|
247
|
-
fg: (token, text) => piTheme().fg(token, text),
|
|
248
|
-
bold: (text) => piTheme().bold(text),
|
|
249
|
-
// Unpainted, so a list reads against the terminal the reader actually has
|
|
250
|
-
// rather than against the background the configured theme was built for.
|
|
251
|
-
plain: (text) => text,
|
|
252
|
-
// Quiet, and quieter again: the terminal's own faint attribute over the
|
|
253
|
-
// dimmest colour the theme has.
|
|
254
|
-
disabled: (text) => faint(piTheme().fg("dim", text)),
|
|
255
|
-
highlight: (text) => `[48;2;82;82;82m[97m${text}[39m[49m`,
|
|
256
|
-
panel: (text) => `[48;2;55;55;55m${text}[49m`,
|
|
257
|
-
};
|
|
258
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type LaunchProfileContract, type LaunchProfileId } from "./profiles.js";
|
|
2
|
-
export interface InteractiveLaunchIntent {
|
|
3
|
-
readonly kind: "interactive";
|
|
4
|
-
readonly profile: LaunchProfileContract;
|
|
5
|
-
}
|
|
6
|
-
export type LaunchIntent = InteractiveLaunchIntent;
|
|
7
|
-
export declare function interactiveLaunchIntent(profileId: LaunchProfileId): InteractiveLaunchIntent;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
|
-
export type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
3
|
-
export type ConfigurationRootPolicy = "agent-profile" | "pi-default" | "sandbox-profile";
|
|
4
|
-
export type ProjectTrustPolicy = "pi-default" | "ignore";
|
|
5
|
-
export interface LaunchProfileContract {
|
|
6
|
-
readonly id: LaunchProfileId;
|
|
7
|
-
readonly productSurface: "agent" | "vanilla-baseline" | "isolated-profile";
|
|
8
|
-
readonly configurationRootPolicy: ConfigurationRootPolicy;
|
|
9
|
-
readonly projectTrust: ProjectTrustPolicy;
|
|
10
|
-
readonly terminalCapability: "owned-ui";
|
|
11
|
-
}
|
|
12
|
-
export declare function launchProfileContract(id: LaunchProfileId): LaunchProfileContract;
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
const contracts = Object.freeze({
|
|
2
|
-
"a1": Object.freeze({
|
|
3
|
-
id: "a1",
|
|
4
|
-
productSurface: "agent",
|
|
5
|
-
configurationRootPolicy: "agent-profile",
|
|
6
|
-
projectTrust: "pi-default",
|
|
7
|
-
terminalCapability: "owned-ui",
|
|
8
|
-
}),
|
|
9
|
-
pi: Object.freeze({
|
|
10
|
-
id: "pi",
|
|
11
|
-
productSurface: "vanilla-baseline",
|
|
12
|
-
configurationRootPolicy: "pi-default",
|
|
13
|
-
projectTrust: "pi-default",
|
|
14
|
-
terminalCapability: "owned-ui",
|
|
15
|
-
}),
|
|
16
|
-
sandbox: Object.freeze({
|
|
17
|
-
id: "sandbox",
|
|
18
|
-
productSurface: "isolated-profile",
|
|
19
|
-
configurationRootPolicy: "sandbox-profile",
|
|
20
|
-
projectTrust: "ignore",
|
|
21
|
-
terminalCapability: "owned-ui",
|
|
22
|
-
}),
|
|
23
|
-
});
|
|
24
|
-
export function launchProfileContract(id) {
|
|
25
|
-
return contracts[id];
|
|
26
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export async function runOwnedUi(options) {
|
|
2
|
-
const { application, settings } = options;
|
|
3
|
-
try {
|
|
4
|
-
if (settings)
|
|
5
|
-
await settings.load();
|
|
6
|
-
application.start();
|
|
7
|
-
await application.flush();
|
|
8
|
-
if (!application.disposed)
|
|
9
|
-
await application.waitUntilStopped();
|
|
10
|
-
return 0;
|
|
11
|
-
}
|
|
12
|
-
finally {
|
|
13
|
-
await application.dispose();
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface ProductPaths {
|
|
2
|
-
readonly configDir: string;
|
|
3
|
-
readonly dataDir: string;
|
|
4
|
-
readonly runtimeDir: string;
|
|
5
|
-
readonly databasePath: string;
|
|
6
|
-
readonly endpoint: string;
|
|
7
|
-
readonly endpointMetadataPath: string;
|
|
8
|
-
readonly supervisorLogPath: string;
|
|
9
|
-
}
|
|
10
|
-
export declare function resolveProductPaths(environment?: NodeJS.ProcessEnv, hostPlatform?: NodeJS.Platform, fallbackHome?: string): ProductPaths;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
export const OWNED_UI_SETTINGS_VERSION = 1;
|
|
2
|
-
const MAX_ID_LENGTH = 64;
|
|
3
|
-
const ID_PATTERN = /^[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)*$/;
|
|
4
|
-
export const OWNED_UI_SETTING_DECLARATIONS = Object.freeze([
|
|
5
|
-
Object.freeze({
|
|
6
|
-
id: "transcriptDensity",
|
|
7
|
-
description: "Vertical density of transcript content. Reserved for the custom-viewport milestone; no visible effect yet.",
|
|
8
|
-
application: "live",
|
|
9
|
-
defaultValue: "comfortable",
|
|
10
|
-
allowedValues: Object.freeze(["comfortable", "compact"]),
|
|
11
|
-
}),
|
|
12
|
-
]);
|
|
13
|
-
export function assertOwnedUiSettingDeclarations(declarations) {
|
|
14
|
-
const seen = new Set();
|
|
15
|
-
for (const declaration of declarations) {
|
|
16
|
-
if (!ID_PATTERN.test(declaration.id) || declaration.id.length > MAX_ID_LENGTH) {
|
|
17
|
-
throw new Error(`owned UI setting id is not a bounded camelCase identifier: ${declaration.id}`);
|
|
18
|
-
}
|
|
19
|
-
if (seen.has(declaration.id))
|
|
20
|
-
throw new Error(`duplicate owned UI setting id: ${declaration.id}`);
|
|
21
|
-
seen.add(declaration.id);
|
|
22
|
-
if (declaration.description.trim().length === 0) {
|
|
23
|
-
throw new Error(`owned UI setting has no description: ${declaration.id}`);
|
|
24
|
-
}
|
|
25
|
-
if (declaration.allowedValues.length === 0) {
|
|
26
|
-
throw new Error(`owned UI setting declares no allowed values: ${declaration.id}`);
|
|
27
|
-
}
|
|
28
|
-
const types = new Set(declaration.allowedValues.map(value => typeof value));
|
|
29
|
-
if (types.size !== 1) {
|
|
30
|
-
throw new Error(`owned UI setting mixes allowed value types: ${declaration.id}`);
|
|
31
|
-
}
|
|
32
|
-
if (!declaration.allowedValues.includes(declaration.defaultValue)) {
|
|
33
|
-
throw new Error(`owned UI setting default is not an allowed value: ${declaration.id}`);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
export function findOwnedUiSettingDeclaration(declarations, id) {
|
|
38
|
-
return declarations.find(declaration => declaration.id === id) ?? null;
|
|
39
|
-
}
|
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
import { buildOwnedUiSettingsSections, findOwnedUiSettingsEntry, } from "./sections.js";
|
|
2
|
-
/**
|
|
3
|
-
* Holds the resolved settings for one owned UI session and routes every accepted
|
|
4
|
-
* change to the backend that owns it: A1 settings to the A1 document, agent
|
|
5
|
-
* settings to the engine settings port. Neither backend ever sees the other's value.
|
|
6
|
-
*/
|
|
7
|
-
export class OwnedUiSettingsSession {
|
|
8
|
-
#store;
|
|
9
|
-
#agent;
|
|
10
|
-
#agentProvider;
|
|
11
|
-
#listeners = new Set();
|
|
12
|
-
#resolution;
|
|
13
|
-
#agentSnapshot = null;
|
|
14
|
-
#pending = new Map();
|
|
15
|
-
constructor(options) {
|
|
16
|
-
this.#store = options.store;
|
|
17
|
-
this.#agent = options.agent ?? null;
|
|
18
|
-
this.#agentProvider = options.agentProvider ?? null;
|
|
19
|
-
this.#resolution = options.store.read();
|
|
20
|
-
}
|
|
21
|
-
get resolution() {
|
|
22
|
-
return this.#resolution;
|
|
23
|
-
}
|
|
24
|
-
/** Reads the engine's settings so the Agent section can be built. Never throws. */
|
|
25
|
-
async load() {
|
|
26
|
-
this.#resolution = this.#store.read();
|
|
27
|
-
const agent = this.#agentProvider === null ? this.#agent : this.#agentProvider();
|
|
28
|
-
this.#agentSnapshot = agent === null ? null : await snapshotOf(agent);
|
|
29
|
-
this.#notify();
|
|
30
|
-
}
|
|
31
|
-
sections() {
|
|
32
|
-
return buildOwnedUiSettingsSections({ resolution: this.#resolution, agent: this.#agentSnapshot });
|
|
33
|
-
}
|
|
34
|
-
/** Resolved value of an A1 setting, or null when it is not declared. */
|
|
35
|
-
value(id) {
|
|
36
|
-
return this.#resolution.settings.find(setting => setting.declaration.id === id)?.value ?? null;
|
|
37
|
-
}
|
|
38
|
-
/** Value stored this session but not yet in effect, for a restart-required setting. */
|
|
39
|
-
pendingValue(id) {
|
|
40
|
-
return this.#pending.get(id) ?? null;
|
|
41
|
-
}
|
|
42
|
-
onChange(listener) {
|
|
43
|
-
this.#listeners.add(listener);
|
|
44
|
-
return () => this.#listeners.delete(listener);
|
|
45
|
-
}
|
|
46
|
-
/** Writes a structured value, which only an engine-backed setting can hold. */
|
|
47
|
-
async changeStructured(backend, id, value) {
|
|
48
|
-
if (backend !== "agent")
|
|
49
|
-
return failed("only an agent setting holds a structured value");
|
|
50
|
-
const agent = this.#agentProvider === null ? this.#agent : this.#agentProvider();
|
|
51
|
-
if (agent === null)
|
|
52
|
-
return failed("no agent engine is attached");
|
|
53
|
-
if (!agent.capabilities.write || !agent.writeSetting) {
|
|
54
|
-
return failed("the agent engine does not support changing settings from this surface");
|
|
55
|
-
}
|
|
56
|
-
try {
|
|
57
|
-
await agent.writeSetting(id, value);
|
|
58
|
-
if (agent.capabilities.flush && agent.flush)
|
|
59
|
-
await agent.flush();
|
|
60
|
-
}
|
|
61
|
-
catch (error) {
|
|
62
|
-
return failed(`${id} could not be written to the agent engine: ${describe(error)}`);
|
|
63
|
-
}
|
|
64
|
-
this.#agentSnapshot = await snapshotOf(agent);
|
|
65
|
-
this.#notify();
|
|
66
|
-
return { applied: true, pendingRestart: false, failure: null };
|
|
67
|
-
}
|
|
68
|
-
async change(backend, id, value) {
|
|
69
|
-
const entry = findOwnedUiSettingsEntry(this.sections(), id, backend);
|
|
70
|
-
if (entry === null)
|
|
71
|
-
return failed(`unknown ${backend} setting: ${id}`);
|
|
72
|
-
if (!entry.editable)
|
|
73
|
-
return failed(`${id} is not editable from this surface`);
|
|
74
|
-
return backend === "a1" ? this.#changeOwned(id, value) : await this.#changeAgent(id, value);
|
|
75
|
-
}
|
|
76
|
-
#changeOwned(id, value) {
|
|
77
|
-
const outcome = this.#store.write(this.#resolution, id, value);
|
|
78
|
-
if (!outcome.stored)
|
|
79
|
-
return failed(outcome.failure ?? `${id} could not be stored`);
|
|
80
|
-
const previous = this.#resolution;
|
|
81
|
-
this.#resolution = this.#store.read();
|
|
82
|
-
const declaration = previous.settings.find(setting => setting.declaration.id === id)?.declaration;
|
|
83
|
-
if (declaration?.application === "restart") {
|
|
84
|
-
this.#pending.set(id, value);
|
|
85
|
-
this.#resolution = previous;
|
|
86
|
-
this.#notify();
|
|
87
|
-
return { applied: false, pendingRestart: true, failure: null };
|
|
88
|
-
}
|
|
89
|
-
this.#pending.delete(id);
|
|
90
|
-
this.#notify();
|
|
91
|
-
return { applied: true, pendingRestart: false, failure: null };
|
|
92
|
-
}
|
|
93
|
-
async #changeAgent(id, value) {
|
|
94
|
-
const agent = this.#agentProvider === null ? this.#agent : this.#agentProvider();
|
|
95
|
-
if (agent === null)
|
|
96
|
-
return failed("no agent engine is attached");
|
|
97
|
-
if (!agent.capabilities.write || !agent.writeSetting) {
|
|
98
|
-
return failed("the agent engine does not support changing settings from this surface");
|
|
99
|
-
}
|
|
100
|
-
try {
|
|
101
|
-
await agent.writeSetting(id, value);
|
|
102
|
-
if (agent.capabilities.flush && agent.flush)
|
|
103
|
-
await agent.flush();
|
|
104
|
-
}
|
|
105
|
-
catch (error) {
|
|
106
|
-
return failed(`${id} could not be written to the agent engine: ${describe(error)}`);
|
|
107
|
-
}
|
|
108
|
-
this.#agentSnapshot = await snapshotOf(agent);
|
|
109
|
-
this.#notify();
|
|
110
|
-
return { applied: true, pendingRestart: false, failure: null };
|
|
111
|
-
}
|
|
112
|
-
#notify() {
|
|
113
|
-
for (const listener of this.#listeners)
|
|
114
|
-
listener(this);
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
async function snapshotOf(agent) {
|
|
118
|
-
try {
|
|
119
|
-
const descriptors = await agent.listSettings();
|
|
120
|
-
const values = {};
|
|
121
|
-
for (const descriptor of descriptors) {
|
|
122
|
-
try {
|
|
123
|
-
values[descriptor.key] = await agent.readSetting(descriptor.key) ?? null;
|
|
124
|
-
}
|
|
125
|
-
catch {
|
|
126
|
-
values[descriptor.key] = null;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
return {
|
|
130
|
-
descriptors,
|
|
131
|
-
values,
|
|
132
|
-
writeAdvertised: agent.capabilities.write && typeof agent.writeSetting === "function",
|
|
133
|
-
failure: null,
|
|
134
|
-
};
|
|
135
|
-
}
|
|
136
|
-
catch (error) {
|
|
137
|
-
return { descriptors: [], values: {}, writeAdvertised: false, failure: describe(error) };
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
function failed(failure) {
|
|
141
|
-
return { applied: false, pendingRestart: false, failure };
|
|
142
|
-
}
|
|
143
|
-
function describe(error) {
|
|
144
|
-
return error instanceof Error ? error.message : String(error);
|
|
145
|
-
}
|