@timurproko/a1 0.1.0 → 0.1.1-dev.10
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 +10 -43
- package/bin/{addone.js → cli.js} +2 -2
- package/bin/guardian.js +22 -0
- package/bin/ui.js +20 -0
- package/dist/native/darwin-arm64/manifest.json +20 -0
- package/dist/native/darwin-arm64/process-guardian +0 -0
- package/dist/native/linux-x64/manifest.json +20 -0
- package/dist/native/linux-x64/process-guardian +0 -0
- package/dist/native/win32-x64/manifest.json +20 -0
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/src/cli/dispatch.d.ts +4 -5
- package/dist/src/cli/dispatch.js +11 -11
- package/dist/src/cli/index.d.ts +0 -1
- package/dist/src/cli/index.js +0 -1
- package/dist/src/cli/version-stats.d.ts +0 -1
- package/dist/src/cli/version-stats.js +27 -23
- package/dist/src/cli/version.d.ts +1 -2
- package/dist/src/cli/version.js +4 -4
- package/dist/src/composition/index.d.ts +48 -0
- package/dist/src/composition/index.js +258 -0
- package/dist/src/features/launch/development-launch.d.ts +0 -1
- package/dist/src/features/launch/development-launch.js +12 -11
- package/dist/src/features/launch/index.d.ts +0 -1
- package/dist/src/features/launch/index.js +0 -1
- package/dist/src/features/launch/initialize-profile.d.ts +1 -2
- package/dist/src/features/launch/initialize-profile.js +24 -4
- package/dist/src/features/launch/intent.d.ts +0 -1
- package/dist/src/features/launch/intent.js +0 -1
- package/dist/src/features/launch/prepare-launch.d.ts +2 -3
- package/dist/src/features/launch/prepare-launch.js +3 -4
- package/dist/src/features/launch/profile-paths.d.ts +2 -3
- package/dist/src/features/launch/profile-paths.js +9 -8
- package/dist/src/features/launch/profiles.d.ts +3 -4
- package/dist/src/features/launch/profiles.js +7 -8
- package/dist/src/features/launch/runtime-selection.d.ts +13 -9
- package/dist/src/features/launch/runtime-selection.js +6 -7
- package/dist/src/features/owned-ui/customization.d.ts +5 -3
- package/dist/src/features/owned-ui/customization.js +2 -4
- package/dist/src/features/owned-ui/diagnostics.d.ts +0 -1
- package/dist/src/features/owned-ui/diagnostics.js +0 -1
- package/dist/src/features/owned-ui/index.d.ts +1 -2
- package/dist/src/features/owned-ui/index.js +1 -2
- package/dist/src/features/owned-ui/run.d.ts +9 -7
- package/dist/src/features/owned-ui/run.js +9 -15
- package/dist/src/features/owned-ui/settings-app.d.ts +22 -0
- package/dist/src/features/owned-ui/settings-app.js +633 -0
- package/dist/src/features/workspace/capabilities.d.ts +0 -1
- package/dist/src/features/workspace/capabilities.js +0 -1
- package/dist/src/features/workspace/index.d.ts +0 -1
- package/dist/src/features/workspace/index.js +0 -1
- package/dist/src/features/workspace/presentation.d.ts +1 -2
- package/dist/src/features/workspace/presentation.js +5 -4
- package/dist/src/features/workspace/reconciliation.d.ts +0 -1
- package/dist/src/features/workspace/reconciliation.js +0 -1
- package/dist/src/features/workspace/reducer.d.ts +0 -1
- package/dist/src/features/workspace/reducer.js +0 -1
- package/dist/src/features/workspace/router.d.ts +0 -1
- package/dist/src/features/workspace/router.js +0 -1
- package/dist/src/features/workspace/store.d.ts +0 -1
- package/dist/src/features/workspace/store.js +0 -1
- package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +95 -0
- package/dist/src/foundation/agent-engine-contracts/capability-ports.js +35 -0
- package/dist/src/foundation/agent-engine-contracts/domain-validation.d.ts +12 -0
- package/dist/src/foundation/agent-engine-contracts/domain-validation.js +89 -0
- package/dist/src/foundation/agent-engine-contracts/domain.d.ts +116 -0
- package/dist/src/foundation/agent-engine-contracts/domain.js +1 -0
- package/dist/src/foundation/agent-engine-contracts/index.d.ts +7 -0
- package/dist/src/foundation/agent-engine-contracts/index.js +7 -0
- package/dist/src/foundation/agent-engine-contracts/model.d.ts +78 -0
- package/dist/src/foundation/agent-engine-contracts/model.js +1 -0
- package/dist/src/foundation/agent-engine-contracts/ports.d.ts +18 -0
- package/dist/src/foundation/agent-engine-contracts/ports.js +1 -0
- package/dist/src/foundation/agent-engine-contracts/serialization.d.ts +7 -0
- package/dist/src/foundation/agent-engine-contracts/serialization.js +58 -0
- package/dist/src/foundation/agent-engine-contracts/validation.d.ts +5 -0
- package/dist/src/foundation/agent-engine-contracts/validation.js +128 -0
- package/dist/src/foundation/launch-guardian/index.d.ts +1 -0
- package/dist/src/foundation/launch-guardian/index.js +1 -0
- package/dist/src/foundation/launch-guardian/main.d.ts +31 -0
- package/dist/src/foundation/launch-guardian/main.js +165 -0
- package/dist/src/foundation/lifecycle/commands.d.ts +40 -0
- package/dist/src/foundation/lifecycle/commands.js +1 -0
- package/dist/src/foundation/lifecycle/index.d.ts +2 -1
- package/dist/src/foundation/lifecycle/index.js +2 -1
- package/dist/src/foundation/lifecycle/launch-instance.d.ts +46 -0
- package/dist/src/foundation/lifecycle/launch-instance.js +134 -0
- package/dist/src/foundation/lifecycle/model.d.ts +7 -44
- package/dist/src/foundation/lifecycle/model.js +3 -3
- package/dist/src/foundation/lifecycle/paths.d.ts +2 -3
- package/dist/src/foundation/lifecycle/paths.js +32 -16
- package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -1
- package/dist/src/foundation/native-host-protocol/codec.js +0 -1
- package/dist/src/foundation/native-host-protocol/evidence.d.ts +2 -3
- package/dist/src/foundation/native-host-protocol/evidence.js +4 -4
- package/dist/src/foundation/native-host-protocol/index.d.ts +0 -1
- package/dist/src/foundation/native-host-protocol/index.js +0 -1
- package/dist/src/foundation/native-host-protocol/messages.d.ts +1 -2
- package/dist/src/foundation/native-host-protocol/messages.js +2 -2
- package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -1
- package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -1
- package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -1
- package/dist/src/foundation/owned-ui-contracts/extension-ui.js +0 -1
- package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -1
- package/dist/src/foundation/owned-ui-contracts/index.js +0 -1
- package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -1
- package/dist/src/foundation/owned-ui-contracts/model.js +0 -1
- package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -1
- package/dist/src/foundation/owned-ui-contracts/validation.js +0 -1
- package/dist/src/foundation/owned-ui-settings/declarations.d.ts +13 -0
- package/dist/src/foundation/owned-ui-settings/declarations.js +39 -0
- package/dist/src/foundation/owned-ui-settings/index.d.ts +6 -0
- package/dist/src/foundation/owned-ui-settings/index.js +6 -0
- package/dist/src/foundation/owned-ui-settings/migrations.d.ts +13 -0
- package/dist/src/foundation/owned-ui-settings/migrations.js +28 -0
- package/dist/src/foundation/owned-ui-settings/resolution.d.ts +45 -0
- package/dist/src/foundation/owned-ui-settings/resolution.js +147 -0
- package/dist/src/foundation/owned-ui-settings/sections.d.ts +70 -0
- package/dist/src/foundation/owned-ui-settings/sections.js +93 -0
- package/dist/src/foundation/owned-ui-settings/session.d.ts +44 -0
- package/dist/src/foundation/owned-ui-settings/session.js +145 -0
- package/dist/src/foundation/owned-ui-settings/store.d.ts +28 -0
- package/dist/src/foundation/owned-ui-settings/store.js +90 -0
- package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/components.js +0 -1
- package/dist/src/foundation/pi-component-adapter/conformance.d.ts +1 -1
- package/dist/src/foundation/pi-component-adapter/conformance.js +10 -4
- package/dist/src/foundation/pi-component-adapter/index.d.ts +1 -1
- package/dist/src/foundation/pi-component-adapter/index.js +1 -1
- package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +165 -0
- package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +166 -0
- package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +10 -13
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +5 -62
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +9 -2
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +10 -9
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -1
- package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +3 -27
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +18 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +55 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +10 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +120 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +1 -2
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +1 -2
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +1 -2
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +8 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +30 -15
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +19 -205
- package/dist/src/foundation/pi-engine-adapter/adapter.js +156 -181
- package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +24 -1
- package/dist/src/foundation/pi-engine-adapter/conformance.js +60 -15
- package/dist/src/foundation/pi-engine-adapter/index.d.ts +6 -1
- package/dist/src/foundation/pi-engine-adapter/index.js +6 -1
- package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +30 -0
- package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +61 -0
- package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +374 -0
- package/dist/src/foundation/pi-engine-adapter/public-main-entry.d.ts +5 -0
- package/dist/src/foundation/pi-engine-adapter/public-main-entry.js +27 -0
- package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +31 -0
- package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +80 -0
- package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +18 -0
- package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +32 -0
- package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +43 -0
- package/dist/src/foundation/pi-engine-adapter/session-integration.js +97 -0
- package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +55 -0
- package/dist/src/foundation/pi-engine-adapter/settings-integration.js +233 -0
- package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +20 -0
- package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +48 -0
- package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +9 -1
- package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -1
- package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +2 -0
- package/dist/src/foundation/pi-owned-ui-integration/index.js +2 -0
- package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +29 -0
- package/dist/src/foundation/pi-owned-ui-integration/route-host.js +1 -0
- package/dist/src/{features/owned-ui/pi-session-shell.d.ts → foundation/pi-owned-ui-integration/session-shell.d.ts} +23 -14
- package/dist/src/{features/owned-ui/pi-session-shell.js → foundation/pi-owned-ui-integration/session-shell.js} +130 -61
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +6 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +9 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +8 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +22 -9
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -2
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js +1 -2
- package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +1 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js +1 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +4 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +48 -0
- package/dist/src/foundation/presentation-contracts/index.d.ts +96 -0
- package/dist/src/foundation/presentation-contracts/index.js +38 -0
- package/dist/src/foundation/process-containment/artifact.d.ts +1 -0
- package/dist/src/foundation/process-containment/artifact.js +34 -0
- package/dist/src/foundation/process-containment/contracts.d.ts +31 -0
- package/dist/src/foundation/process-containment/contracts.js +35 -0
- package/dist/src/foundation/process-containment/index.d.ts +5 -0
- package/dist/src/foundation/process-containment/index.js +5 -0
- package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +6 -0
- package/dist/src/foundation/process-containment/linux-process-inspector.js +26 -0
- package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +16 -0
- package/dist/src/foundation/process-containment/native-guardian-containment.js +139 -0
- package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +17 -0
- package/dist/src/foundation/process-containment/windows-process-inspector.js +53 -0
- package/dist/src/foundation/protocol/client.d.ts +2 -2
- package/dist/src/foundation/protocol/client.js +3 -1
- package/dist/src/foundation/protocol/index.d.ts +0 -1
- package/dist/src/foundation/protocol/index.js +0 -1
- package/dist/src/foundation/protocol/messages.d.ts +6 -7
- package/dist/src/foundation/protocol/messages.js +3 -3
- package/dist/src/foundation/release/bootstrap.d.ts +2 -3
- package/dist/src/foundation/release/bootstrap.js +85 -33
- package/dist/src/foundation/release/cohort-selection.d.ts +0 -1
- package/dist/src/foundation/release/cohort-selection.js +3 -4
- package/dist/src/foundation/release/cohort-state.d.ts +6 -4
- package/dist/src/foundation/release/cohort-state.js +5 -4
- package/dist/src/foundation/release/concurrency.d.ts +1 -0
- package/dist/src/foundation/release/concurrency.js +17 -0
- package/dist/src/foundation/release/development-preview-release.d.ts +2 -2
- package/dist/src/foundation/release/development-preview-release.js +3 -2
- package/dist/src/foundation/release/index.d.ts +0 -1
- package/dist/src/foundation/release/index.js +0 -1
- package/dist/src/foundation/release/process-cleanup.d.ts +1 -2
- package/dist/src/foundation/release/process-cleanup.js +2 -3
- package/dist/src/foundation/release/release-gc.d.ts +0 -1
- package/dist/src/foundation/release/release-gc.js +0 -1
- package/dist/src/foundation/release/release-store.d.ts +38 -6
- package/dist/src/foundation/release/release-store.js +103 -43
- package/dist/src/foundation/release/release.d.ts +20 -6
- package/dist/src/foundation/release/release.js +77 -48
- package/dist/src/foundation/release/stable-release.d.ts +2 -2
- package/dist/src/foundation/release/stable-release.js +6 -5
- package/dist/src/foundation/release/update-transaction.d.ts +2 -2
- package/dist/src/foundation/release/update-transaction.js +8 -7
- package/dist/src/foundation/release/update.d.ts +20 -4
- package/dist/src/foundation/release/update.js +152 -36
- package/dist/src/foundation/storage/control-store.d.ts +8 -8
- package/dist/src/foundation/storage/control-store.js +132 -61
- package/dist/src/foundation/storage/index.d.ts +0 -1
- package/dist/src/foundation/storage/index.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -1
- package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -1
- package/dist/src/foundation/structured-agent-runtime/commands.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +2 -3
- package/dist/src/foundation/structured-agent-runtime/handshake.js +13 -13
- package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -1
- package/dist/src/foundation/structured-agent-runtime/index.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -1
- package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -1
- package/dist/src/foundation/structured-agent-runtime/state.js +0 -1
- package/dist/src/foundation/supervision/index.d.ts +1 -2
- package/dist/src/foundation/supervision/index.js +1 -2
- package/dist/src/foundation/supervision/main.d.ts +0 -1
- package/dist/src/foundation/supervision/main.js +11 -10
- package/dist/src/foundation/supervision/paths.d.ts +1 -2
- package/dist/src/foundation/supervision/paths.js +1 -2
- package/dist/src/foundation/supervision/server.d.ts +6 -5
- package/dist/src/foundation/supervision/server.js +259 -91
- package/dist/src/foundation/ui-apps/contracts.d.ts +42 -0
- package/dist/src/foundation/ui-apps/contracts.js +12 -0
- package/dist/src/foundation/ui-apps/host.d.ts +42 -0
- package/dist/src/foundation/ui-apps/host.js +152 -0
- package/dist/src/foundation/ui-apps/index.d.ts +3 -0
- package/dist/src/foundation/ui-apps/index.js +3 -0
- package/dist/src/foundation/ui-apps/registry.d.ts +11 -0
- package/dist/src/foundation/ui-apps/registry.js +32 -0
- package/dist/src/foundation/ui-components/dialog-panel.d.ts +36 -0
- package/dist/src/foundation/ui-components/dialog-panel.js +47 -0
- package/dist/src/foundation/ui-components/frame.d.ts +21 -0
- package/dist/src/foundation/ui-components/frame.js +54 -0
- package/dist/src/foundation/ui-components/index.d.ts +18 -0
- package/dist/src/foundation/ui-components/index.js +18 -0
- package/dist/src/foundation/ui-components/label.d.ts +8 -0
- package/dist/src/foundation/ui-components/label.js +36 -0
- package/dist/src/foundation/ui-components/line-input.d.ts +74 -0
- package/dist/src/foundation/ui-components/line-input.js +245 -0
- package/dist/src/foundation/ui-components/list-block.d.ts +66 -0
- package/dist/src/foundation/ui-components/list-block.js +176 -0
- package/dist/src/foundation/ui-components/list-view.d.ts +66 -0
- package/dist/src/foundation/ui-components/list-view.js +76 -0
- package/dist/src/foundation/ui-components/mouse.d.ts +15 -0
- package/dist/src/foundation/ui-components/mouse.js +46 -0
- package/dist/src/foundation/ui-components/pane.d.ts +33 -0
- package/dist/src/foundation/ui-components/pane.js +7 -0
- package/dist/src/foundation/ui-components/revision.d.ts +35 -0
- package/dist/src/foundation/ui-components/revision.js +79 -0
- package/dist/src/foundation/ui-components/scrollbar.d.ts +62 -0
- package/dist/src/foundation/ui-components/scrollbar.js +102 -0
- package/dist/src/foundation/ui-components/shortcuts.d.ts +57 -0
- package/dist/src/foundation/ui-components/shortcuts.js +81 -0
- package/dist/src/foundation/ui-components/spans.d.ts +7 -0
- package/dist/src/foundation/ui-components/spans.js +59 -0
- package/dist/src/foundation/ui-components/status-line.d.ts +16 -0
- package/dist/src/foundation/ui-components/status-line.js +14 -0
- package/dist/src/foundation/ui-components/stepper.d.ts +24 -0
- package/dist/src/foundation/ui-components/stepper.js +33 -0
- package/dist/src/foundation/ui-components/surface.d.ts +20 -0
- package/dist/src/foundation/ui-components/surface.js +38 -0
- package/dist/src/foundation/ui-components/text.d.ts +24 -0
- package/dist/src/foundation/ui-components/text.js +123 -0
- package/dist/src/foundation/ui-components/theme.d.ts +23 -0
- package/dist/src/foundation/ui-components/theme.js +13 -0
- package/dist/src/foundation/ui-components/value-menu.d.ts +41 -0
- package/dist/src/foundation/ui-components/value-menu.js +33 -0
- package/dist/src/foundation/workspace-contracts/index.d.ts +0 -1
- package/dist/src/foundation/workspace-contracts/index.js +0 -1
- package/dist/src/foundation/workspace-contracts/model.d.ts +0 -1
- package/dist/src/foundation/workspace-contracts/model.js +0 -1
- package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -1
- package/dist/src/foundation/workspace-contracts/validation.js +0 -1
- package/dist/src/product-identity.d.ts +37 -0
- package/dist/src/product-identity.js +150 -0
- package/dist/src/product-identity.json +99 -0
- package/docs/architecture/boundaries.md +32 -14
- package/docs/architecture/process-guardian-provenance.md +26 -0
- package/docs/architecture/project-structure.md +2 -2
- package/docs/architecture/resource-and-data-policy.md +1 -1
- package/docs/architecture/terminal-host-proof-gate.md +2 -2
- package/docs/architecture/terminal-host-provenance.md +3 -3
- package/docs/architecture/terminal-host-spike-evidence.md +1 -1
- package/docs/architecture/toolchain.md +40 -8
- package/docs/architecture/ui-reference-provenance.md +50 -0
- package/docs/ci-release-runbook.md +67 -0
- package/docs/features/launch-profiles.md +12 -6
- package/docs/manual-launch-instance-acceptance.md +66 -0
- package/docs/manual-pi-boundary-candidate.md +33 -0
- package/docs/manual-terminal-colour-check.md +55 -0
- package/docs/manual-transparent-checkpoint.md +11 -11
- package/package.json +27 -14
- package/bin/addone-ui.js +0 -20
- package/dist/src/cli/dispatch.d.ts.map +0 -1
- package/dist/src/cli/dispatch.js.map +0 -1
- package/dist/src/cli/index.d.ts.map +0 -1
- package/dist/src/cli/index.js.map +0 -1
- package/dist/src/cli/version-stats.d.ts.map +0 -1
- package/dist/src/cli/version-stats.js.map +0 -1
- package/dist/src/cli/version.d.ts.map +0 -1
- package/dist/src/cli/version.js.map +0 -1
- package/dist/src/features/launch/development-launch.d.ts.map +0 -1
- package/dist/src/features/launch/development-launch.js.map +0 -1
- package/dist/src/features/launch/index.d.ts.map +0 -1
- package/dist/src/features/launch/index.js.map +0 -1
- package/dist/src/features/launch/initialize-profile.d.ts.map +0 -1
- package/dist/src/features/launch/initialize-profile.js.map +0 -1
- package/dist/src/features/launch/intent.d.ts.map +0 -1
- package/dist/src/features/launch/intent.js.map +0 -1
- package/dist/src/features/launch/prepare-launch.d.ts.map +0 -1
- package/dist/src/features/launch/prepare-launch.js.map +0 -1
- package/dist/src/features/launch/profile-paths.d.ts.map +0 -1
- package/dist/src/features/launch/profile-paths.js.map +0 -1
- package/dist/src/features/launch/profiles.d.ts.map +0 -1
- package/dist/src/features/launch/profiles.js.map +0 -1
- package/dist/src/features/launch/runtime-selection.d.ts.map +0 -1
- package/dist/src/features/launch/runtime-selection.js.map +0 -1
- package/dist/src/features/owned-ui/customization.d.ts.map +0 -1
- package/dist/src/features/owned-ui/customization.js.map +0 -1
- package/dist/src/features/owned-ui/diagnostics.d.ts.map +0 -1
- package/dist/src/features/owned-ui/diagnostics.js.map +0 -1
- package/dist/src/features/owned-ui/index.d.ts.map +0 -1
- package/dist/src/features/owned-ui/index.js.map +0 -1
- package/dist/src/features/owned-ui/pi-session-shell.d.ts.map +0 -1
- package/dist/src/features/owned-ui/pi-session-shell.js.map +0 -1
- package/dist/src/features/owned-ui/run.d.ts.map +0 -1
- package/dist/src/features/owned-ui/run.js.map +0 -1
- package/dist/src/features/workspace/capabilities.d.ts.map +0 -1
- package/dist/src/features/workspace/capabilities.js.map +0 -1
- package/dist/src/features/workspace/index.d.ts.map +0 -1
- package/dist/src/features/workspace/index.js.map +0 -1
- package/dist/src/features/workspace/presentation.d.ts.map +0 -1
- package/dist/src/features/workspace/presentation.js.map +0 -1
- package/dist/src/features/workspace/reconciliation.d.ts.map +0 -1
- package/dist/src/features/workspace/reconciliation.js.map +0 -1
- package/dist/src/features/workspace/reducer.d.ts.map +0 -1
- package/dist/src/features/workspace/reducer.js.map +0 -1
- package/dist/src/features/workspace/router.d.ts.map +0 -1
- package/dist/src/features/workspace/router.js.map +0 -1
- package/dist/src/features/workspace/store.d.ts.map +0 -1
- package/dist/src/features/workspace/store.js.map +0 -1
- package/dist/src/foundation/lifecycle/index.d.ts.map +0 -1
- package/dist/src/foundation/lifecycle/index.js.map +0 -1
- package/dist/src/foundation/lifecycle/model.d.ts.map +0 -1
- package/dist/src/foundation/lifecycle/model.js.map +0 -1
- package/dist/src/foundation/lifecycle/paths.d.ts.map +0 -1
- package/dist/src/foundation/lifecycle/paths.js.map +0 -1
- package/dist/src/foundation/native-host-protocol/codec.d.ts.map +0 -1
- package/dist/src/foundation/native-host-protocol/codec.js.map +0 -1
- package/dist/src/foundation/native-host-protocol/evidence.d.ts.map +0 -1
- package/dist/src/foundation/native-host-protocol/evidence.js.map +0 -1
- package/dist/src/foundation/native-host-protocol/index.d.ts.map +0 -1
- package/dist/src/foundation/native-host-protocol/index.js.map +0 -1
- package/dist/src/foundation/native-host-protocol/messages.d.ts.map +0 -1
- package/dist/src/foundation/native-host-protocol/messages.js.map +0 -1
- package/dist/src/foundation/native-host-protocol/proof-gate.d.ts.map +0 -1
- package/dist/src/foundation/native-host-protocol/proof-gate.js.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/extension-ui.js.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/index.d.ts.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/index.js.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/model.d.ts.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/model.js.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/validation.d.ts.map +0 -1
- package/dist/src/foundation/owned-ui-contracts/validation.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/components.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/components.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/conformance.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/conformance.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/index.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/index.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-components.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-components.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/theme.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/theme.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts.map +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/adapter.js.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/conformance.d.ts.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/conformance.js.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/index.d.ts.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/index.js.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/workflows.d.ts.map +0 -1
- package/dist/src/foundation/pi-engine-adapter/workflows.js.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts.map +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js.map +0 -1
- package/dist/src/foundation/protocol/client.d.ts.map +0 -1
- package/dist/src/foundation/protocol/client.js.map +0 -1
- package/dist/src/foundation/protocol/index.d.ts.map +0 -1
- package/dist/src/foundation/protocol/index.js.map +0 -1
- package/dist/src/foundation/protocol/messages.d.ts.map +0 -1
- package/dist/src/foundation/protocol/messages.js.map +0 -1
- package/dist/src/foundation/release/bootstrap.d.ts.map +0 -1
- package/dist/src/foundation/release/bootstrap.js.map +0 -1
- package/dist/src/foundation/release/cohort-selection.d.ts.map +0 -1
- package/dist/src/foundation/release/cohort-selection.js.map +0 -1
- package/dist/src/foundation/release/cohort-state.d.ts.map +0 -1
- package/dist/src/foundation/release/cohort-state.js.map +0 -1
- package/dist/src/foundation/release/development-preview-release.d.ts.map +0 -1
- package/dist/src/foundation/release/development-preview-release.js.map +0 -1
- package/dist/src/foundation/release/index.d.ts.map +0 -1
- package/dist/src/foundation/release/index.js.map +0 -1
- package/dist/src/foundation/release/process-cleanup.d.ts.map +0 -1
- package/dist/src/foundation/release/process-cleanup.js.map +0 -1
- package/dist/src/foundation/release/release-gc.d.ts.map +0 -1
- package/dist/src/foundation/release/release-gc.js.map +0 -1
- package/dist/src/foundation/release/release-store.d.ts.map +0 -1
- package/dist/src/foundation/release/release-store.js.map +0 -1
- package/dist/src/foundation/release/release.d.ts.map +0 -1
- package/dist/src/foundation/release/release.js.map +0 -1
- package/dist/src/foundation/release/stable-release.d.ts.map +0 -1
- package/dist/src/foundation/release/stable-release.js.map +0 -1
- package/dist/src/foundation/release/update-transaction.d.ts.map +0 -1
- package/dist/src/foundation/release/update-transaction.js.map +0 -1
- package/dist/src/foundation/release/update.d.ts.map +0 -1
- package/dist/src/foundation/release/update.js.map +0 -1
- package/dist/src/foundation/storage/control-store.d.ts.map +0 -1
- package/dist/src/foundation/storage/control-store.js.map +0 -1
- package/dist/src/foundation/storage/index.d.ts.map +0 -1
- package/dist/src/foundation/storage/index.js.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/backpressure.js.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/commands.d.ts.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/commands.js.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/handshake.d.ts.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/handshake.js.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/index.d.ts.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/index.js.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/reconnection.js.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/state.d.ts.map +0 -1
- package/dist/src/foundation/structured-agent-runtime/state.js.map +0 -1
- package/dist/src/foundation/supervision/index.d.ts.map +0 -1
- package/dist/src/foundation/supervision/index.js.map +0 -1
- package/dist/src/foundation/supervision/main.d.ts.map +0 -1
- package/dist/src/foundation/supervision/main.js.map +0 -1
- package/dist/src/foundation/supervision/paths.d.ts.map +0 -1
- package/dist/src/foundation/supervision/paths.js.map +0 -1
- package/dist/src/foundation/supervision/server.d.ts.map +0 -1
- package/dist/src/foundation/supervision/server.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +0 -14
- package/dist/src/foundation/transparent-terminal/command-resolution.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/command-resolution.js +0 -70
- package/dist/src/foundation/transparent-terminal/command-resolution.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +0 -33
- package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/foreground-broker.js +0 -88
- package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/index.d.ts +0 -4
- package/dist/src/foundation/transparent-terminal/index.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/index.js +0 -4
- package/dist/src/foundation/transparent-terminal/index.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/main.d.ts +0 -10
- package/dist/src/foundation/transparent-terminal/main.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/main.js +0 -107
- package/dist/src/foundation/transparent-terminal/main.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +0 -26
- package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/native-launcher.js +0 -147
- package/dist/src/foundation/transparent-terminal/native-launcher.js.map +0 -1
- package/dist/src/foundation/workspace-contracts/index.d.ts.map +0 -1
- package/dist/src/foundation/workspace-contracts/index.js.map +0 -1
- package/dist/src/foundation/workspace-contracts/model.d.ts.map +0 -1
- package/dist/src/foundation/workspace-contracts/model.js.map +0 -1
- package/dist/src/foundation/workspace-contracts/validation.d.ts.map +0 -1
- package/dist/src/foundation/workspace-contracts/validation.js.map +0 -1
- /package/bin/{addone-supervisor.js → supervisor.js} +0 -0
|
@@ -0,0 +1,258 @@
|
|
|
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
|
+
}
|
|
@@ -6,4 +6,3 @@ export interface DevelopmentLaunchEnvironment {
|
|
|
6
6
|
readonly environment: NodeJS.ProcessEnv;
|
|
7
7
|
}
|
|
8
8
|
export declare function resolveDevelopmentLaunchEnvironment(canonicalPackageRoot: string, releaseId: string, source?: NodeJS.ProcessEnv, temporaryDirectory?: string): DevelopmentLaunchEnvironment;
|
|
9
|
-
//# sourceMappingURL=development-launch.d.ts.map
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { createHash, randomUUID } from "node:crypto";
|
|
2
2
|
import { tmpdir } from "node:os";
|
|
3
3
|
import { join, resolve } from "node:path";
|
|
4
|
+
import { PRODUCT_IDENTITY } from "../../product-identity.js";
|
|
4
5
|
export function resolveDevelopmentLaunchEnvironment(canonicalPackageRoot, releaseId, source = process.env, temporaryDirectory = tmpdir()) {
|
|
5
6
|
const checkoutId = createHash("sha256").update(resolve(canonicalPackageRoot).toLowerCase()).digest("hex").slice(0, 16);
|
|
6
|
-
const
|
|
7
|
-
|
|
7
|
+
const selectedInstanceId = source[PRODUCT_IDENTITY.environment.developmentInstanceId];
|
|
8
|
+
const instanceId = selectedInstanceId
|
|
9
|
+
? createHash("sha256").update(selectedInstanceId).digest("hex").slice(0, 16)
|
|
8
10
|
: randomUUID().replaceAll("-", "").slice(0, 16);
|
|
9
|
-
const developmentRoot = resolve(source.
|
|
10
|
-
?? join(temporaryDirectory,
|
|
11
|
-
const dataDir = resolve(source.
|
|
11
|
+
const developmentRoot = resolve(source[PRODUCT_IDENTITY.environment.developmentRoot]
|
|
12
|
+
?? join(temporaryDirectory, PRODUCT_IDENTITY.state.developmentDirectory, checkoutId, releaseId, "instances", instanceId));
|
|
13
|
+
const dataDir = resolve(source[PRODUCT_IDENTITY.environment.dataDir] ?? join(developmentRoot, "data"));
|
|
12
14
|
return {
|
|
13
15
|
checkoutId,
|
|
14
16
|
releaseId,
|
|
@@ -16,12 +18,11 @@ export function resolveDevelopmentLaunchEnvironment(canonicalPackageRoot, releas
|
|
|
16
18
|
developmentRoot,
|
|
17
19
|
environment: {
|
|
18
20
|
...source,
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
21
|
+
[PRODUCT_IDENTITY.environment.developmentInstanceId]: instanceId,
|
|
22
|
+
[PRODUCT_IDENTITY.environment.configDir]: resolve(source[PRODUCT_IDENTITY.environment.configDir] ?? join(developmentRoot, "config")),
|
|
23
|
+
[PRODUCT_IDENTITY.environment.dataDir]: dataDir,
|
|
24
|
+
[PRODUCT_IDENTITY.environment.runtimeDir]: resolve(source[PRODUCT_IDENTITY.environment.runtimeDir] ?? join(developmentRoot, "runtime")),
|
|
25
|
+
[PRODUCT_IDENTITY.environment.databasePath]: resolve(source[PRODUCT_IDENTITY.environment.databasePath] ?? join(dataDir, PRODUCT_IDENTITY.endpoint.databaseFilename)),
|
|
24
26
|
},
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
|
-
//# sourceMappingURL=development-launch.js.map
|
|
@@ -3,5 +3,4 @@ export interface InitializedProfile {
|
|
|
3
3
|
readonly root: string;
|
|
4
4
|
readonly directories: readonly string[];
|
|
5
5
|
}
|
|
6
|
-
export declare function
|
|
7
|
-
//# sourceMappingURL=initialize-profile.d.ts.map
|
|
6
|
+
export declare function initializeProductProfile(root: string): Promise<InitializedProfile>;
|
|
@@ -6,7 +6,7 @@ export const PI_PROFILE_RESOURCE_DIRECTORIES = Object.freeze([
|
|
|
6
6
|
"prompts",
|
|
7
7
|
"themes",
|
|
8
8
|
]);
|
|
9
|
-
export async function
|
|
9
|
+
export async function initializeProductProfile(root) {
|
|
10
10
|
const normalizedRoot = resolve(root);
|
|
11
11
|
await ensureSafeDirectoryChain(normalizedRoot);
|
|
12
12
|
const directories = [];
|
|
@@ -38,7 +38,7 @@ async function ensureSafeDirectoryChain(root) {
|
|
|
38
38
|
current = parent;
|
|
39
39
|
}
|
|
40
40
|
for (const path of missing.reverse())
|
|
41
|
-
await
|
|
41
|
+
await createOwnedDirectory(path, "profile path");
|
|
42
42
|
}
|
|
43
43
|
async function ensureOwnedDirectory(path) {
|
|
44
44
|
const metadata = await lstat(path).catch(error => {
|
|
@@ -51,9 +51,29 @@ async function ensureOwnedDirectory(path) {
|
|
|
51
51
|
throw new Error(`profile resource path is not an owned directory: ${path}`);
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
|
-
await
|
|
54
|
+
await createOwnedDirectory(path, "profile resource path");
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Creates a directory, treating "it already exists" as another launch having won
|
|
58
|
+
* the race rather than as a failure — but still refusing what it finds if that is
|
|
59
|
+
* not an owned directory.
|
|
60
|
+
*/
|
|
61
|
+
async function createOwnedDirectory(path, subject) {
|
|
62
|
+
try {
|
|
63
|
+
await mkdir(path, { mode: 0o700 });
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
catch (error) {
|
|
67
|
+
if (!isAlreadyThere(error))
|
|
68
|
+
throw error;
|
|
69
|
+
}
|
|
70
|
+
const metadata = await lstat(path);
|
|
71
|
+
if (!metadata.isDirectory() || metadata.isSymbolicLink())
|
|
72
|
+
throw new Error(`${subject} is not an owned directory: ${path}`);
|
|
73
|
+
}
|
|
74
|
+
function isAlreadyThere(error) {
|
|
75
|
+
return typeof error === "object" && error !== null && error.code === "EEXIST";
|
|
55
76
|
}
|
|
56
77
|
function isMissing(error) {
|
|
57
78
|
return error instanceof Error && "code" in error && error.code === "ENOENT";
|
|
58
79
|
}
|
|
59
|
-
//# sourceMappingURL=initialize-profile.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LaunchProfilePathOptions } from "./profile-paths.js";
|
|
2
|
-
import {
|
|
2
|
+
import { initializeProductProfile } from "./initialize-profile.js";
|
|
3
3
|
import type { InteractiveLaunchIntent } from "./intent.js";
|
|
4
4
|
export interface PreparedInteractiveLaunch {
|
|
5
5
|
readonly intent: InteractiveLaunchIntent;
|
|
@@ -8,7 +8,6 @@ export interface PreparedInteractiveLaunch {
|
|
|
8
8
|
readonly configurationRoot: string | null;
|
|
9
9
|
}
|
|
10
10
|
export interface PrepareInteractiveLaunchOptions extends LaunchProfilePathOptions {
|
|
11
|
-
readonly initializeProfile?: typeof
|
|
11
|
+
readonly initializeProfile?: typeof initializeProductProfile;
|
|
12
12
|
}
|
|
13
13
|
export declare function prepareInteractiveLaunch(intent: InteractiveLaunchIntent, environment?: NodeJS.ProcessEnv, options?: PrepareInteractiveLaunchOptions): Promise<PreparedInteractiveLaunch>;
|
|
14
|
-
//# sourceMappingURL=prepare-launch.d.ts.map
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { configurationRootForProfile, resolveLaunchProfilePaths } from "./profile-paths.js";
|
|
2
|
-
import {
|
|
2
|
+
import { initializeProductProfile } from "./initialize-profile.js";
|
|
3
3
|
export async function prepareInteractiveLaunch(intent, environment = process.env, options = {}) {
|
|
4
4
|
const paths = resolveLaunchProfilePaths({ ...options, environment });
|
|
5
5
|
const configurationRoot = configurationRootForProfile(intent.profile.id, paths);
|
|
6
6
|
if (configurationRoot !== null)
|
|
7
|
-
await (options.initializeProfile ??
|
|
7
|
+
await (options.initializeProfile ?? initializeProductProfile)(configurationRoot);
|
|
8
8
|
const childEnvironment = { ...environment };
|
|
9
9
|
if (configurationRoot === null)
|
|
10
10
|
delete childEnvironment.PI_CODING_AGENT_DIR;
|
|
11
11
|
else
|
|
12
12
|
childEnvironment.PI_CODING_AGENT_DIR = configurationRoot;
|
|
13
13
|
const piArguments = intent.profile.projectTrust === "ignore" ? ["--no-approve"] : [];
|
|
14
|
-
childEnvironment.
|
|
14
|
+
childEnvironment.A1_LAUNCH_ARGUMENTS_JSON = JSON.stringify(piArguments);
|
|
15
15
|
return Object.freeze({
|
|
16
16
|
intent,
|
|
17
17
|
environment: childEnvironment,
|
|
@@ -19,4 +19,3 @@ export async function prepareInteractiveLaunch(intent, environment = process.env
|
|
|
19
19
|
configurationRoot,
|
|
20
20
|
});
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=prepare-launch.js.map
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LaunchProfileId } from "./profiles.js";
|
|
2
2
|
export interface LaunchProfilePaths {
|
|
3
3
|
readonly home: string;
|
|
4
|
-
readonly
|
|
5
|
-
readonly
|
|
4
|
+
readonly managedStateRoot: string;
|
|
5
|
+
readonly agentProfile: string;
|
|
6
6
|
readonly sandbox: string;
|
|
7
7
|
}
|
|
8
8
|
export interface LaunchProfilePathOptions {
|
|
@@ -13,4 +13,3 @@ export interface LaunchProfilePathOptions {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function resolveLaunchProfilePaths(options?: LaunchProfilePathOptions): LaunchProfilePaths;
|
|
15
15
|
export declare function configurationRootForProfile(profileId: LaunchProfileId, paths: LaunchProfilePaths): string | null;
|
|
16
|
-
//# sourceMappingURL=profile-paths.d.ts.map
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
2
|
import { posix, win32 } from "node:path";
|
|
3
|
+
import { PRODUCT_IDENTITY } from "../../product-identity.js";
|
|
3
4
|
export function resolveLaunchProfilePaths(options = {}) {
|
|
4
5
|
const environment = options.environment ?? process.env;
|
|
5
6
|
const path = options.platform === "win32" || (options.platform === undefined && process.platform === "win32") ? win32 : posix;
|
|
6
|
-
const selectedHome = options.home ?? environment.
|
|
7
|
+
const selectedHome = options.home ?? environment[PRODUCT_IDENTITY.environment.profileHome] ?? options.readHome?.() ?? homedir();
|
|
7
8
|
const home = validateAbsolutePath(selectedHome, "effective user home", path);
|
|
8
|
-
const
|
|
9
|
+
const agentProfile = path.resolve(home, PRODUCT_IDENTITY.state.piAgentProfile);
|
|
10
|
+
const managedStateRoot = path.dirname(agentProfile);
|
|
9
11
|
return Object.freeze({
|
|
10
12
|
home,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
sandbox: path.resolve(
|
|
13
|
+
managedStateRoot,
|
|
14
|
+
agentProfile,
|
|
15
|
+
sandbox: path.resolve(home, PRODUCT_IDENTITY.state.piSandboxProfile),
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
18
|
export function configurationRootForProfile(profileId, paths) {
|
|
17
|
-
if (profileId === "
|
|
18
|
-
return paths.
|
|
19
|
+
if (profileId === "a1")
|
|
20
|
+
return paths.agentProfile;
|
|
19
21
|
if (profileId === "sandbox")
|
|
20
22
|
return paths.sandbox;
|
|
21
23
|
return null;
|
|
@@ -27,4 +29,3 @@ function validateAbsolutePath(value, name, path) {
|
|
|
27
29
|
throw new TypeError(`${name} must be absolute`);
|
|
28
30
|
return path.resolve(value);
|
|
29
31
|
}
|
|
30
|
-
//# sourceMappingURL=profile-paths.js.map
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
2
|
export type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
3
|
-
export type
|
|
3
|
+
export type ConfigurationRootPolicy = "agent-profile" | "pi-default" | "sandbox-profile";
|
|
4
4
|
export type ProjectTrustPolicy = "pi-default" | "ignore";
|
|
5
5
|
export interface LaunchProfileContract {
|
|
6
6
|
readonly id: LaunchProfileId;
|
|
7
7
|
readonly productSurface: "agent" | "vanilla-baseline" | "isolated-profile";
|
|
8
|
-
readonly
|
|
8
|
+
readonly configurationRootPolicy: ConfigurationRootPolicy;
|
|
9
9
|
readonly projectTrust: ProjectTrustPolicy;
|
|
10
|
-
readonly terminalCapability: "owned-ui"
|
|
10
|
+
readonly terminalCapability: "owned-ui";
|
|
11
11
|
}
|
|
12
12
|
export declare function launchProfileContract(id: LaunchProfileId): LaunchProfileContract;
|
|
13
|
-
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
const contracts = Object.freeze({
|
|
2
|
-
|
|
3
|
-
id: "
|
|
2
|
+
"a1": Object.freeze({
|
|
3
|
+
id: "a1",
|
|
4
4
|
productSurface: "agent",
|
|
5
|
-
|
|
5
|
+
configurationRootPolicy: "agent-profile",
|
|
6
6
|
projectTrust: "pi-default",
|
|
7
7
|
terminalCapability: "owned-ui",
|
|
8
8
|
}),
|
|
9
9
|
pi: Object.freeze({
|
|
10
10
|
id: "pi",
|
|
11
11
|
productSurface: "vanilla-baseline",
|
|
12
|
-
|
|
12
|
+
configurationRootPolicy: "pi-default",
|
|
13
13
|
projectTrust: "pi-default",
|
|
14
|
-
terminalCapability: "
|
|
14
|
+
terminalCapability: "owned-ui",
|
|
15
15
|
}),
|
|
16
16
|
sandbox: Object.freeze({
|
|
17
17
|
id: "sandbox",
|
|
18
18
|
productSurface: "isolated-profile",
|
|
19
|
-
|
|
19
|
+
configurationRootPolicy: "sandbox-profile",
|
|
20
20
|
projectTrust: "ignore",
|
|
21
|
-
terminalCapability: "
|
|
21
|
+
terminalCapability: "owned-ui",
|
|
22
22
|
}),
|
|
23
23
|
});
|
|
24
24
|
export function launchProfileContract(id) {
|
|
25
25
|
return contracts[id];
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=profiles.js.map
|
|
@@ -1,15 +1,19 @@
|
|
|
1
1
|
import { type LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Every interactive command is the same composition. What differs is the
|
|
4
|
+
* configuration root each one reads and whether A1's own screens are reachable:
|
|
5
|
+
* bare `a1` is the product, while `a1 pi` and `a1 sandbox` present pinned Pi's
|
|
6
|
+
* interface and nothing of A1's own, against Pi's own profile and against an
|
|
7
|
+
* isolated one.
|
|
8
|
+
*/
|
|
9
|
+
export type OwnedUiProfileId = LaunchProfileId;
|
|
10
|
+
export interface InteractiveRuntimeSelection {
|
|
4
11
|
readonly kind: "owned-ui";
|
|
5
|
-
|
|
6
|
-
readonly
|
|
7
|
-
|
|
8
|
-
};
|
|
12
|
+
readonly profileId: OwnedUiProfileId;
|
|
13
|
+
readonly ownedSurfaces: "on" | "off";
|
|
14
|
+
}
|
|
9
15
|
export interface InteractiveRuntimeRunners {
|
|
10
|
-
readonly ownedUi: () => Promise<number>;
|
|
11
|
-
readonly transparent: (profileId: TransparentInteractiveProfileId) => Promise<number>;
|
|
16
|
+
readonly ownedUi: (profileId: OwnedUiProfileId, ownedSurfaces: "on" | "off") => Promise<number>;
|
|
12
17
|
}
|
|
13
18
|
export declare function selectInteractiveRuntime(profileId: string): InteractiveRuntimeSelection;
|
|
14
19
|
export declare function runSelectedInteractiveRuntime(profileId: string, runners: InteractiveRuntimeRunners): Promise<number>;
|
|
15
|
-
//# sourceMappingURL=runtime-selection.d.ts.map
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { assertLaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
2
|
export function selectInteractiveRuntime(profileId) {
|
|
3
3
|
assertLaunchProfileId(profileId);
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
|
|
4
|
+
return Object.freeze({
|
|
5
|
+
kind: "owned-ui",
|
|
6
|
+
profileId,
|
|
7
|
+
ownedSurfaces: profileId === "a1" ? "on" : "off",
|
|
8
|
+
});
|
|
7
9
|
}
|
|
8
10
|
export async function runSelectedInteractiveRuntime(profileId, runners) {
|
|
9
11
|
const selection = selectInteractiveRuntime(profileId);
|
|
10
|
-
return selection.
|
|
11
|
-
? await runners.ownedUi()
|
|
12
|
-
: await runners.transparent(selection.profileId);
|
|
12
|
+
return await runners.ownedUi(selection.profileId, selection.ownedSurfaces);
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=runtime-selection.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type OwnedUiCommand, type OwnedUiCustomization, type OwnedUiSlotId } from "../../foundation/owned-ui-contracts/index.js";
|
|
1
|
+
import { type OwnedUiCommand, type OwnedUiCustomization, type OwnedUiSlotId, type OwnedUiTranscriptBlock } from "../../foundation/owned-ui-contracts/index.js";
|
|
2
2
|
export interface OwnedUiSlotImplementation {
|
|
3
3
|
readonly payload: unknown;
|
|
4
4
|
render?(input: unknown, width: number): readonly string[];
|
|
@@ -32,5 +32,7 @@ export declare class OwnedUiCustomizationRegistry {
|
|
|
32
32
|
clear(): void;
|
|
33
33
|
installCommands(surface: OwnedCommandSurface, sessionId: string): readonly string[];
|
|
34
34
|
}
|
|
35
|
-
export
|
|
36
|
-
|
|
35
|
+
export interface VanillaUiCustomizationPorts {
|
|
36
|
+
readonly renderTranscriptBlock: (block: OwnedUiTranscriptBlock, width: number) => readonly string[];
|
|
37
|
+
}
|
|
38
|
+
export declare function createVanillaUiCustomizationRegistry(ports: VanillaUiCustomizationPorts): OwnedUiCustomizationRegistry;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { assertOwnedUiCustomization, } from "../../foundation/owned-ui-contracts/index.js";
|
|
2
|
-
import { renderPiShellTranscriptBlock } from "../../foundation/pi-component-adapter/index.js";
|
|
3
2
|
export class OwnedCommandSurface {
|
|
4
3
|
#handlers = new Map();
|
|
5
4
|
#sequence = 0;
|
|
@@ -81,7 +80,7 @@ export class OwnedUiCustomizationRegistry {
|
|
|
81
80
|
return registrations;
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
|
-
export function createVanillaUiCustomizationRegistry() {
|
|
83
|
+
export function createVanillaUiCustomizationRegistry(ports) {
|
|
85
84
|
const registry = new OwnedUiCustomizationRegistry();
|
|
86
85
|
const register = (slot, id, label, implementation = { payload: {} }) => registry.register({
|
|
87
86
|
id,
|
|
@@ -96,7 +95,7 @@ export function createVanillaUiCustomizationRegistry() {
|
|
|
96
95
|
});
|
|
97
96
|
register("transcript-block", "vanilla-transcript", "Vanilla transcript", {
|
|
98
97
|
payload: {},
|
|
99
|
-
render: (input, width) =>
|
|
98
|
+
render: (input, width) => ports.renderTranscriptBlock(input, width),
|
|
100
99
|
});
|
|
101
100
|
register("tool-card", "vanilla-tool-card", "Vanilla tool cards");
|
|
102
101
|
register("editor", "vanilla-editor", "Vanilla editor");
|
|
@@ -107,4 +106,3 @@ export function createVanillaUiCustomizationRegistry() {
|
|
|
107
106
|
register("layout", "vanilla-fullscreen", "Fullscreen session");
|
|
108
107
|
return registry;
|
|
109
108
|
}
|
|
110
|
-
//# sourceMappingURL=customization.js.map
|