@timurproko/a1 0.1.0 → 0.1.1-dev.1
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 +8 -6
- package/bin/a1-ui.js +24 -0
- package/bin/{addone.js → a1.js} +2 -2
- 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 +22 -0
- package/dist/src/composition/index.js +166 -0
- package/dist/src/composition/transparent-runtime.d.ts +6 -0
- package/dist/src/composition/transparent-runtime.js +19 -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 +1 -2
- 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 +2 -3
- package/dist/src/features/launch/profiles.js +5 -6
- package/dist/src/features/launch/runtime-selection.d.ts +1 -2
- package/dist/src/features/launch/runtime-selection.js +1 -2
- 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 +0 -2
- package/dist/src/features/owned-ui/index.js +0 -2
- package/dist/src/features/owned-ui/run.d.ts +3 -7
- package/dist/src/features/owned-ui/run.js +7 -15
- 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 +90 -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/lifecycle/index.d.ts +0 -1
- package/dist/src/foundation/lifecycle/index.js +0 -1
- package/dist/src/foundation/lifecycle/model.d.ts +1 -2
- 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/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 +0 -1
- package/dist/src/foundation/pi-component-adapter/index.js +0 -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 +0 -1
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +0 -1
- 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 +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +18 -15
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +2 -202
- package/dist/src/foundation/pi-engine-adapter/adapter.js +76 -174
- 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/public-main-entry.d.ts +5 -0
- package/dist/src/foundation/pi-engine-adapter/public-main-entry.js +18 -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 +17 -0
- package/dist/src/foundation/pi-engine-adapter/settings-integration.js +85 -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 +0 -1
- package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -1
- package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +1 -0
- package/dist/src/foundation/pi-owned-ui-integration/index.js +1 -0
- package/dist/src/{features/owned-ui/pi-session-shell.d.ts → foundation/pi-owned-ui-integration/session-shell.d.ts} +17 -14
- package/dist/src/{features/owned-ui/pi-session-shell.js → foundation/pi-owned-ui-integration/session-shell.js} +59 -60
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +0 -1
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +0 -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/protocol/client.d.ts +0 -1
- package/dist/src/foundation/protocol/client.js +0 -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 +1 -2
- package/dist/src/foundation/protocol/messages.js +2 -2
- package/dist/src/foundation/release/bootstrap.d.ts +0 -1
- package/dist/src/foundation/release/bootstrap.js +18 -17
- package/dist/src/foundation/release/cohort-selection.d.ts +0 -1
- package/dist/src/foundation/release/cohort-selection.js +0 -1
- package/dist/src/foundation/release/cohort-state.d.ts +3 -2
- package/dist/src/foundation/release/cohort-state.js +5 -4
- 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 +0 -1
- package/dist/src/foundation/release/process-cleanup.js +0 -1
- 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 +4 -5
- package/dist/src/foundation/release/release-store.js +14 -13
- package/dist/src/foundation/release/release.d.ts +5 -6
- package/dist/src/foundation/release/release.js +14 -14
- 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 +1 -2
- package/dist/src/foundation/release/update.js +26 -26
- package/dist/src/foundation/storage/control-store.d.ts +0 -1
- package/dist/src/foundation/storage/control-store.js +28 -7
- 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 +7 -7
- 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 +3 -4
- package/dist/src/foundation/supervision/server.js +7 -6
- package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +0 -1
- package/dist/src/foundation/transparent-terminal/command-resolution.js +0 -1
- package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +0 -1
- package/dist/src/foundation/transparent-terminal/foreground-broker.js +0 -1
- package/dist/src/foundation/transparent-terminal/index.d.ts +1 -1
- package/dist/src/foundation/transparent-terminal/index.js +1 -1
- package/dist/src/foundation/transparent-terminal/main.d.ts +3 -4
- package/dist/src/foundation/transparent-terminal/main.js +8 -21
- package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +0 -1
- package/dist/src/foundation/transparent-terminal/native-launcher.js +0 -1
- 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 +149 -0
- package/dist/src/product-identity.json +96 -0
- package/docs/architecture/boundaries.md +2 -2
- 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 +33 -7
- package/docs/features/launch-profiles.md +6 -6
- package/docs/manual-pi-boundary-candidate.md +33 -0
- package/docs/manual-transparent-checkpoint.md +11 -11
- package/package.json +10 -3
- 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.map +0 -1
- package/dist/src/foundation/transparent-terminal/command-resolution.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/index.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/index.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/main.d.ts.map +0 -1
- package/dist/src/foundation/transparent-terminal/main.js.map +0 -1
- package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +0 -1
- 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 → a1-supervisor.js} +0 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
#
|
|
1
|
+
# A1
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A1 is a terminal-native agent launcher for Windows, Linux, and macOS. Bare `a1` runs the A1-owned Pi-compatible UI, while explicit fallback profiles can launch untouched Pi directly. A1 also manages release selection, process ownership, and updates.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -18,7 +18,7 @@ The package installs only the `a1` command.
|
|
|
18
18
|
## Commands
|
|
19
19
|
|
|
20
20
|
```sh
|
|
21
|
-
a1 #
|
|
21
|
+
a1 # A1-owned UI and profile: ~/.a1/agent
|
|
22
22
|
a1 pi # untouched vanilla Pi oracle: ~/.pi/agent
|
|
23
23
|
a1 sandbox # unchanged isolated vanilla Pi profile: ~/.a1/sandbox
|
|
24
24
|
a1 version # show Installed, Release (latest), and Next versions
|
|
@@ -26,9 +26,9 @@ a1 update # update to npm latest
|
|
|
26
26
|
a1 update:next # update to npm next
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
Bare `a1` owns its Pi-compatible TUI composition and uses the public Pi engine, components, and terminal APIs. It does not insert a PTY or terminal-byte relay. Default visuals and workflows track the pinned vanilla Pi baseline;
|
|
29
|
+
Bare `a1` owns its Pi-compatible TUI composition and uses the public Pi engine, components, and terminal APIs. It does not insert a PTY or terminal-byte relay. Default visuals and workflows track the pinned vanilla Pi baseline; A1-specific visual customization and structured tabs remain disabled.
|
|
30
30
|
|
|
31
|
-
`a1 pi` is the untouched upstream fallback and comparison oracle. Use it to distinguish
|
|
31
|
+
`a1 pi` is the untouched upstream fallback and comparison oracle. Use it to distinguish A1-owned UI problems from upstream Pi, profile, provider, or terminal problems. The `a1 ui` subcommand was removed and is not a compatibility alias; run bare `a1` for the owned UI.
|
|
32
32
|
|
|
33
33
|
`a1 sandbox` is unchanged: it launches vanilla Pi with isolated Pi configuration and resources. “Sandbox” does not mean operating-system, filesystem, process, network, or credential security isolation. See [`docs/features/launch-profiles.md`](docs/features/launch-profiles.md) for first-run directories, independent `/login`, trust behavior, extension placement, and recovery.
|
|
34
34
|
|
|
@@ -40,7 +40,9 @@ npm run build
|
|
|
40
40
|
npm start
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
`npm start` gives each invocation isolated
|
|
43
|
+
`npm start` gives each invocation isolated A1 development state and an isolated development Pi profile. Use `npm start -- --print-environment` to inspect the selected paths without launching the UI.
|
|
44
|
+
|
|
45
|
+
A1 control state uses `%APPDATA%\\A1` and `%LOCALAPPDATA%\\A1` on Windows, and the `a1` directory under XDG config/data/runtime roots on Unix. Override it only with declared `A1_*` variables such as `A1_CONFIG_DIR`, `A1_DATA_DIR`, `A1_RUNTIME_DIR`, `A1_DATABASE_PATH`, and `A1_ENDPOINT`. Pi profile roots remain `~/.a1/agent`, `~/.pi/agent`, and `~/.a1/sandbox`. This is a no-migration identity hard cut; see [`docs/architecture/toolchain.md`](docs/architecture/toolchain.md#identity-hard-cut-and-cleanup) before removing obsolete control state.
|
|
44
46
|
|
|
45
47
|
Run the non-desktop gates with:
|
|
46
48
|
|
package/bin/a1-ui.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { runSelectedInteractiveRuntime } = await import("../dist/src/features/launch/index.js");
|
|
4
|
+
|
|
5
|
+
runSelectedInteractiveRuntime(process.env.A1_LAUNCH_PROFILE ?? "a1", {
|
|
6
|
+
ownedUi: async () => {
|
|
7
|
+
const [{ runOwnedUi }, { composeOwnedUiApplication }] = await Promise.all([
|
|
8
|
+
import("../dist/src/features/owned-ui/index.js"),
|
|
9
|
+
import("../dist/src/composition/index.js"),
|
|
10
|
+
]);
|
|
11
|
+
const application = await composeOwnedUiApplication({ cwd: process.cwd() });
|
|
12
|
+
return await runOwnedUi({ application });
|
|
13
|
+
},
|
|
14
|
+
transparent: async profileId => {
|
|
15
|
+
const { runSelectedTransparentRuntime } = await import("../dist/src/composition/transparent-runtime.js");
|
|
16
|
+
return await runSelectedTransparentRuntime(profileId);
|
|
17
|
+
},
|
|
18
|
+
}).then(
|
|
19
|
+
code => { process.exitCode = code; },
|
|
20
|
+
error => {
|
|
21
|
+
console.error(error instanceof Error ? error.stack ?? error.message : String(error));
|
|
22
|
+
process.exitCode = 1;
|
|
23
|
+
},
|
|
24
|
+
);
|
package/bin/{addone.js → a1.js}
RENAMED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
const packageRoot = new URL("..", import.meta.url);
|
|
4
4
|
const { fileURLToPath } = await import("node:url");
|
|
5
|
-
const {
|
|
5
|
+
const { dispatchCli } = await import("../dist/src/cli/index.js");
|
|
6
6
|
|
|
7
|
-
process.exitCode = await
|
|
7
|
+
process.exitCode = await dispatchCli(process.argv.slice(2), {
|
|
8
8
|
launch: async intent => {
|
|
9
9
|
const [{ prepareInteractiveLaunch }, { runBootstrap }] = await Promise.all([
|
|
10
10
|
import("../dist/src/features/launch/index.js"),
|
|
@@ -8,9 +8,9 @@ export interface CliHandlers {
|
|
|
8
8
|
export interface CliOutput {
|
|
9
9
|
readonly stderr: (message: string) => void;
|
|
10
10
|
}
|
|
11
|
-
export declare const
|
|
12
|
-
export declare function
|
|
13
|
-
export type
|
|
11
|
+
export declare const CLI_USAGE: string;
|
|
12
|
+
export declare function dispatchCli(arguments_: readonly string[], handlers: CliHandlers, output: CliOutput): Promise<number>;
|
|
13
|
+
export type CliCommand = {
|
|
14
14
|
readonly kind: "launch";
|
|
15
15
|
readonly profileId: LaunchProfileId;
|
|
16
16
|
} | {
|
|
@@ -22,5 +22,4 @@ export type AddOneCommand = {
|
|
|
22
22
|
readonly kind: "error";
|
|
23
23
|
readonly message: string;
|
|
24
24
|
};
|
|
25
|
-
export declare function
|
|
26
|
-
//# sourceMappingURL=dispatch.d.ts.map
|
|
25
|
+
export declare function parseCliCommand(arguments_: readonly string[]): CliCommand;
|
package/dist/src/cli/dispatch.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { interactiveLaunchIntent } from "../features/launch/index.js";
|
|
2
|
-
|
|
3
|
-
export
|
|
4
|
-
|
|
2
|
+
import { PRODUCT_TEXT } from "../product-identity.js";
|
|
3
|
+
export const CLI_USAGE = PRODUCT_TEXT.usage(["", "pi", "sandbox", "version", "update", "update:next"]);
|
|
4
|
+
export async function dispatchCli(arguments_, handlers, output) {
|
|
5
|
+
const command = parseCliCommand(arguments_);
|
|
5
6
|
if (command.kind === "error") {
|
|
6
|
-
output.stderr(`${command.message}\n${
|
|
7
|
+
output.stderr(`${command.message}\n${CLI_USAGE}\n`);
|
|
7
8
|
return 2;
|
|
8
9
|
}
|
|
9
10
|
if (command.kind === "launch")
|
|
@@ -12,16 +13,16 @@ export async function dispatchAddOneCli(arguments_, handlers, output) {
|
|
|
12
13
|
return await handlers.version();
|
|
13
14
|
return await handlers.update(command.channel);
|
|
14
15
|
}
|
|
15
|
-
export function
|
|
16
|
+
export function parseCliCommand(arguments_) {
|
|
16
17
|
if (arguments_.length === 0)
|
|
17
|
-
return { kind: "launch", profileId: "
|
|
18
|
+
return { kind: "launch", profileId: "a1" };
|
|
18
19
|
if (arguments_.length > 1)
|
|
19
|
-
return { kind: "error", message: "
|
|
20
|
+
return { kind: "error", message: PRODUCT_TEXT.diagnostic("commands do not accept additional arguments.") };
|
|
20
21
|
const [command] = arguments_;
|
|
21
22
|
if (command === "pi" || command === "sandbox")
|
|
22
23
|
return { kind: "launch", profileId: command };
|
|
23
24
|
if (command === "ui")
|
|
24
|
-
return { kind: "error", message:
|
|
25
|
+
return { kind: "error", message: `The ui subcommand was removed; run bare ${PRODUCT_TEXT.commandName} for the owned UI.` };
|
|
25
26
|
if (command === "version")
|
|
26
27
|
return { kind: "version" };
|
|
27
28
|
if (command === "update")
|
|
@@ -29,7 +30,6 @@ export function parseAddOneCommand(arguments_) {
|
|
|
29
30
|
if (command === "update:next")
|
|
30
31
|
return { kind: "update", channel: "next" };
|
|
31
32
|
if (command === "agent")
|
|
32
|
-
return { kind: "error", message:
|
|
33
|
-
return { kind: "error", message: `
|
|
33
|
+
return { kind: "error", message: `Bare ${PRODUCT_TEXT.commandName} is the ${PRODUCT_TEXT.displayName} agent experience; there is no agent subcommand.` };
|
|
34
|
+
return { kind: "error", message: PRODUCT_TEXT.diagnostic(`received an unknown command: ${command ?? ""}`) };
|
|
34
35
|
}
|
|
35
|
-
//# sourceMappingURL=dispatch.js.map
|
package/dist/src/cli/index.d.ts
CHANGED
package/dist/src/cli/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { readFile } from "node:fs/promises";
|
|
|
3
3
|
import { resolve } from "node:path";
|
|
4
4
|
import crossSpawn from "cross-spawn";
|
|
5
5
|
import { valid as validSemver } from "semver";
|
|
6
|
-
|
|
6
|
+
import { PRODUCT_TEXT } from "../product-identity.js";
|
|
7
7
|
const defaultOutput = {
|
|
8
8
|
stdout(message) { process.stdout.write(message); },
|
|
9
9
|
stderr(message) { process.stderr.write(message); },
|
|
@@ -17,36 +17,41 @@ export async function runVersionStats(options) {
|
|
|
17
17
|
installed = parseVersion(manifest.version, "installed package");
|
|
18
18
|
}
|
|
19
19
|
catch (error) {
|
|
20
|
-
output.stderr(`
|
|
20
|
+
output.stderr(`${PRODUCT_TEXT.diagnostic(`could not read its installed version: ${message(error)}`)}\n`);
|
|
21
21
|
return 1;
|
|
22
22
|
}
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
output.stdout(`Installed: ${installed}\nRelease: ${release.version ?? "unavailable"}\nNext: ${next.version ?? "unavailable"}\n`);
|
|
28
|
-
for (const result of [release, next]) {
|
|
29
|
-
if (result.error)
|
|
30
|
-
output.stderr(`AddOne could not resolve npm ${result.tag}: ${result.error}\n`);
|
|
31
|
-
}
|
|
23
|
+
const remote = await queryDistTags(runner);
|
|
24
|
+
output.stdout(`Installed: ${installed}\nRelease: ${remote.release ?? "unavailable"}\nNext: ${remote.next ?? "unavailable"}\n`);
|
|
25
|
+
if (remote.error)
|
|
26
|
+
output.stderr(`${PRODUCT_TEXT.diagnostic(`could not resolve npm dist-tags: ${remote.error}`)}\n`);
|
|
32
27
|
return 0;
|
|
33
28
|
}
|
|
34
|
-
async function
|
|
29
|
+
async function queryDistTags(runner) {
|
|
30
|
+
let result;
|
|
31
|
+
try {
|
|
32
|
+
result = await runner("npm", ["view", PRODUCT_TEXT.packageName, "dist-tags", "--json"]);
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
return unavailable(message(error));
|
|
36
|
+
}
|
|
37
|
+
if (result.code !== 0)
|
|
38
|
+
return unavailable(`npm exited with status ${result.code ?? "unknown"}`);
|
|
35
39
|
try {
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return { tag, version: null, error: message(error) };
|
|
44
|
-
}
|
|
40
|
+
const metadata = JSON.parse(result.stdout);
|
|
41
|
+
if (typeof metadata !== "object" || metadata === null || Array.isArray(metadata))
|
|
42
|
+
throw new TypeError("npm returned a non-object dist-tags value");
|
|
43
|
+
const tags = metadata;
|
|
44
|
+
const release = parseVersion(tags.latest, "npm latest");
|
|
45
|
+
const next = tags.next === undefined ? null : parseVersion(tags.next, "npm next");
|
|
46
|
+
return { release, next, error: null };
|
|
45
47
|
}
|
|
46
48
|
catch (error) {
|
|
47
|
-
return
|
|
49
|
+
return unavailable(message(error));
|
|
48
50
|
}
|
|
49
51
|
}
|
|
52
|
+
function unavailable(error) {
|
|
53
|
+
return { release: null, next: null, error };
|
|
54
|
+
}
|
|
50
55
|
function createVersionProcessRunner() {
|
|
51
56
|
return async (command, arguments_) => await new Promise((resolvePromise, rejectPromise) => {
|
|
52
57
|
const child = process.platform === "win32"
|
|
@@ -65,4 +70,3 @@ function parseVersion(value, source) {
|
|
|
65
70
|
return parsed;
|
|
66
71
|
}
|
|
67
72
|
function message(error) { return error instanceof Error ? error.message : String(error); }
|
|
68
|
-
//# sourceMappingURL=version-stats.js.map
|
package/dist/src/cli/version.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { readFileSync } from "node:fs";
|
|
2
2
|
import { dirname, join } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { PRODUCT_IDENTITY } from "../product-identity.js";
|
|
4
5
|
export function readInstalledVersion(moduleUrl = import.meta.url) {
|
|
5
6
|
let directory = dirname(fileURLToPath(moduleUrl));
|
|
6
7
|
for (let depth = 0; depth < 4; depth++) {
|
|
7
8
|
const path = join(directory, "package.json");
|
|
8
9
|
try {
|
|
9
10
|
const metadata = JSON.parse(readFileSync(path, "utf8"));
|
|
10
|
-
if (metadata.name ===
|
|
11
|
+
if (metadata.name === PRODUCT_IDENTITY.packageName && typeof metadata.version === "string")
|
|
11
12
|
return metadata.version;
|
|
12
13
|
}
|
|
13
14
|
catch (error) {
|
|
@@ -17,7 +18,6 @@ export function readInstalledVersion(moduleUrl = import.meta.url) {
|
|
|
17
18
|
}
|
|
18
19
|
directory = dirname(directory);
|
|
19
20
|
}
|
|
20
|
-
throw new Error(
|
|
21
|
+
throw new Error(`could not locate installed ${PRODUCT_IDENTITY.displayName} package metadata`);
|
|
21
22
|
}
|
|
22
|
-
export const
|
|
23
|
-
//# sourceMappingURL=version.js.map
|
|
23
|
+
export const INSTALLED_VERSION = readInstalledVersion();
|
|
@@ -0,0 +1,22 @@
|
|
|
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
|
+
export interface ProcessCompositionOptions {
|
|
5
|
+
readonly cwd?: string;
|
|
6
|
+
readonly sessionId?: string;
|
|
7
|
+
readonly engine?: AgentEnginePort;
|
|
8
|
+
readonly presentationFactory?: (root: PresentationComponentPort, terminal: PresentationTerminalPort) => PresentationRuntimePort;
|
|
9
|
+
readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
|
|
10
|
+
}
|
|
11
|
+
export interface OwnedUiCompositionOptions {
|
|
12
|
+
readonly cwd?: string;
|
|
13
|
+
readonly terminal?: PresentationTerminalPort;
|
|
14
|
+
readonly createPiAdapter?: () => Promise<PiEngineAdapter>;
|
|
15
|
+
}
|
|
16
|
+
export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
|
|
17
|
+
export interface ProcessComposition {
|
|
18
|
+
readonly engine: AgentEnginePort;
|
|
19
|
+
createPresentation(root: PresentationComponentPort, terminal: PresentationTerminalPort): PresentationRuntimePort;
|
|
20
|
+
dispose(): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export declare function composeProcess(options?: ProcessCompositionOptions): Promise<ProcessComposition>;
|
|
@@ -0,0 +1,166 @@
|
|
|
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
|
+
const CAPABILITIES = {
|
|
7
|
+
contractVersion: AGENT_ENGINE_CONTRACT_VERSION,
|
|
8
|
+
commands: ["prompt", "steer", "follow-up", "abort", "retry", "compact", "bash", "replace-session"],
|
|
9
|
+
events: ["lifecycle", "content", "command-outcome", "snapshot-invalidated", "diagnostic"],
|
|
10
|
+
snapshots: { supported: true, maxBytes: 1024 * 1024 },
|
|
11
|
+
};
|
|
12
|
+
export async function composeOwnedUiApplication(options = {}) {
|
|
13
|
+
const cwd = options.cwd ?? process.cwd();
|
|
14
|
+
const adapter = options.createPiAdapter ? await options.createPiAdapter() : await createPiEngineAdapter({ cwd });
|
|
15
|
+
const shell = new OwnedUiSessionShell({
|
|
16
|
+
backend: adapter,
|
|
17
|
+
cwd,
|
|
18
|
+
...(options.terminal === undefined ? {} : { terminal: createPiTerminalBridge(options.terminal) }),
|
|
19
|
+
});
|
|
20
|
+
return {
|
|
21
|
+
get disposed() { return adapter.disposed; },
|
|
22
|
+
start: () => shell.start(),
|
|
23
|
+
flush: () => adapter.flushEvents(),
|
|
24
|
+
waitUntilStopped: () => shell.waitUntilStopped(),
|
|
25
|
+
dispose: () => shell.dispose(),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export async function composeProcess(options = {}) {
|
|
29
|
+
let engine = options.engine;
|
|
30
|
+
if (!engine) {
|
|
31
|
+
const adapter = options.createPiAdapter
|
|
32
|
+
? await options.createPiAdapter()
|
|
33
|
+
: await createPiEngineAdapter({
|
|
34
|
+
...(options.cwd === undefined ? {} : { cwd: options.cwd }),
|
|
35
|
+
...(options.sessionId === undefined ? {} : { sessionId: options.sessionId }),
|
|
36
|
+
});
|
|
37
|
+
engine = new PiAgentEngineBridge(adapter, options.cwd ?? process.cwd());
|
|
38
|
+
}
|
|
39
|
+
assertAgentCapabilityContract(engine.capabilities);
|
|
40
|
+
if (typeof engine.createSession !== "function" || typeof engine.dispose !== "function")
|
|
41
|
+
throw new TypeError("composed engine does not satisfy the neutral engine port");
|
|
42
|
+
const presentations = new Set();
|
|
43
|
+
let disposed = false;
|
|
44
|
+
return {
|
|
45
|
+
engine,
|
|
46
|
+
createPresentation(root, terminal) {
|
|
47
|
+
if (disposed)
|
|
48
|
+
throw new Error("process composition is disposed");
|
|
49
|
+
assertPresentationComponent(root);
|
|
50
|
+
const runtime = options.presentationFactory?.(root, terminal) ?? createPiPresentationRuntime(root, terminal);
|
|
51
|
+
assertPresentationRuntime(runtime);
|
|
52
|
+
presentations.add(runtime);
|
|
53
|
+
return runtime;
|
|
54
|
+
},
|
|
55
|
+
async dispose() {
|
|
56
|
+
if (disposed)
|
|
57
|
+
return;
|
|
58
|
+
disposed = true;
|
|
59
|
+
const failures = [];
|
|
60
|
+
for (const runtime of [...presentations].reverse())
|
|
61
|
+
await runtime.stop().catch(error => failures.push(error));
|
|
62
|
+
await engine.dispose().catch(error => failures.push(error));
|
|
63
|
+
if (failures.length)
|
|
64
|
+
throw new AggregateError(failures, "process composition disposal failed");
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
class PiAgentEngineBridge {
|
|
69
|
+
adapter;
|
|
70
|
+
cwd;
|
|
71
|
+
capabilities = CAPABILITIES;
|
|
72
|
+
#session;
|
|
73
|
+
constructor(adapter, cwd) {
|
|
74
|
+
this.adapter = adapter;
|
|
75
|
+
this.cwd = cwd;
|
|
76
|
+
}
|
|
77
|
+
async createSession(input) {
|
|
78
|
+
if (this.#session)
|
|
79
|
+
return this.#session;
|
|
80
|
+
if (input.cwd !== this.cwd)
|
|
81
|
+
throw new TypeError("composed Pi engine cannot change working directory");
|
|
82
|
+
await this.adapter.start();
|
|
83
|
+
this.#session = new PiAgentSessionBridge(this.adapter, input.sessionId);
|
|
84
|
+
return this.#session;
|
|
85
|
+
}
|
|
86
|
+
async dispose() { await this.adapter.dispose(); }
|
|
87
|
+
}
|
|
88
|
+
class PiAgentSessionBridge {
|
|
89
|
+
adapter;
|
|
90
|
+
sessionId;
|
|
91
|
+
capabilities = CAPABILITIES;
|
|
92
|
+
lifecycle = "starting";
|
|
93
|
+
#listeners = new Set();
|
|
94
|
+
#unsubscribe;
|
|
95
|
+
constructor(adapter, sessionId) {
|
|
96
|
+
this.adapter = adapter;
|
|
97
|
+
this.sessionId = sessionId;
|
|
98
|
+
this.#unsubscribe = adapter.onEvent(event => {
|
|
99
|
+
const converted = convertEvent(event);
|
|
100
|
+
if (!converted)
|
|
101
|
+
return;
|
|
102
|
+
if (converted.type === "lifecycle")
|
|
103
|
+
this.lifecycle = converted.lifecycle;
|
|
104
|
+
for (const listener of this.#listeners)
|
|
105
|
+
listener(converted);
|
|
106
|
+
});
|
|
107
|
+
this.lifecycle = toLifecycle(adapter.snapshot().view.lifecycle);
|
|
108
|
+
}
|
|
109
|
+
async execute(command) {
|
|
110
|
+
assertAgentCommand(command, this.capabilities);
|
|
111
|
+
if (command.sessionId !== this.sessionId)
|
|
112
|
+
return "rejected";
|
|
113
|
+
if (command.type === "bash") {
|
|
114
|
+
const result = await this.adapter.executeBashWorkflow(command.command, false);
|
|
115
|
+
return !result.cancelled && result.exitCode === 0 ? "completed" : result.cancelled ? "cancelled" : "failed";
|
|
116
|
+
}
|
|
117
|
+
const owned = toOwnedCommand(command);
|
|
118
|
+
const result = await this.adapter.execute(owned);
|
|
119
|
+
return result.outcome === "timed-out" ? "failed" : result.outcome;
|
|
120
|
+
}
|
|
121
|
+
subscribe(listener) { this.#listeners.add(listener); return () => this.#listeners.delete(listener); }
|
|
122
|
+
async snapshot() {
|
|
123
|
+
const snapshot = this.adapter.snapshot();
|
|
124
|
+
return {
|
|
125
|
+
contractVersion: AGENT_ENGINE_CONTRACT_VERSION,
|
|
126
|
+
snapshotId: snapshot.snapshotId,
|
|
127
|
+
sessionId: this.sessionId,
|
|
128
|
+
revision: snapshot.view.revision,
|
|
129
|
+
sequence: snapshot.sequence,
|
|
130
|
+
lifecycle: toLifecycle(snapshot.view.lifecycle),
|
|
131
|
+
content: snapshot.view.transcript.map(toMessage),
|
|
132
|
+
activeCommandIds: snapshot.view.activeCommandIds,
|
|
133
|
+
capabilities: this.capabilities,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
async dispose() { this.#unsubscribe(); this.#listeners.clear(); await this.adapter.dispose(); this.lifecycle = "stopped"; }
|
|
137
|
+
}
|
|
138
|
+
function toOwnedCommand(command) {
|
|
139
|
+
const base = { correlationId: command.commandId, sessionId: command.sessionId };
|
|
140
|
+
if (command.type === "replace-session")
|
|
141
|
+
return command.source.kind === "new" ? { ...base, type: "new-session" } : { ...base, type: "resume-session", sessionPath: command.source.sessionPath };
|
|
142
|
+
if (command.type === "prompt" || command.type === "steer" || command.type === "follow-up")
|
|
143
|
+
return { ...base, type: command.type, text: command.text };
|
|
144
|
+
return { ...base, type: command.type };
|
|
145
|
+
}
|
|
146
|
+
function convertEvent(event) {
|
|
147
|
+
const base = { contractVersion: AGENT_ENGINE_CONTRACT_VERSION, sessionId: event.sessionId, sequence: event.sequence };
|
|
148
|
+
if (event.type === "session-lifecycle")
|
|
149
|
+
return { ...base, type: "lifecycle", lifecycle: toLifecycle(event.lifecycle), reason: event.reason };
|
|
150
|
+
if (event.type === "transcript-block")
|
|
151
|
+
return { ...base, type: "content", content: toMessage(event.block) };
|
|
152
|
+
if (event.type === "command-outcome")
|
|
153
|
+
return { ...base, type: "command-outcome", commandId: event.correlationId, outcome: event.outcome === "timed-out" ? "failed" : event.outcome, diagnostic: event.diagnostic };
|
|
154
|
+
if (event.type === "diagnostic")
|
|
155
|
+
return { ...base, type: "diagnostic", code: event.diagnostic.code, message: event.diagnostic.message, recoverable: event.diagnostic.recoverable };
|
|
156
|
+
if (event.type === "session-view")
|
|
157
|
+
return { ...base, type: "snapshot-invalidated", expectedRevision: event.view.revision };
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
function toLifecycle(lifecycle) {
|
|
161
|
+
return lifecycle === "suspended" ? "ready" : lifecycle;
|
|
162
|
+
}
|
|
163
|
+
function toMessage(block) {
|
|
164
|
+
const role = block.kind === "user" ? "user" : block.kind === "system" ? "system" : block.kind === "tool-call" || block.kind === "tool-result" ? "tool" : "assistant";
|
|
165
|
+
return { id: block.id, role, status: block.status === "live" ? "streaming" : "final", content: [{ kind: "text", text: block.text }] };
|
|
166
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { LaunchProfileId } from "../foundation/lifecycle/index.js";
|
|
2
|
+
export declare function selectTransparentChild(environment?: NodeJS.ProcessEnv, executable?: string, compositionUrl?: string): {
|
|
3
|
+
readonly executable: string;
|
|
4
|
+
readonly arguments: readonly string[];
|
|
5
|
+
};
|
|
6
|
+
export declare function runSelectedTransparentRuntime(profileId: Exclude<LaunchProfileId, "a1">, environment?: NodeJS.ProcessEnv): Promise<number>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { fileURLToPath } from "node:url";
|
|
2
|
+
import { runTransparentForeground } from "../foundation/transparent-terminal/index.js";
|
|
3
|
+
export function selectTransparentChild(environment = process.env, executable = process.execPath, compositionUrl = import.meta.url) {
|
|
4
|
+
const entry = fileURLToPath(new URL("../foundation/pi-engine-adapter/public-main-entry.js", compositionUrl));
|
|
5
|
+
return { executable, arguments: [entry, ...parseSelectedArguments(environment.A1_LAUNCH_ARGUMENTS_JSON)] };
|
|
6
|
+
}
|
|
7
|
+
export async function runSelectedTransparentRuntime(profileId, environment = process.env) {
|
|
8
|
+
const child = selectTransparentChild(environment);
|
|
9
|
+
return await runTransparentForeground({ profileId, environment, ...child });
|
|
10
|
+
}
|
|
11
|
+
function parseSelectedArguments(source) {
|
|
12
|
+
if (!source)
|
|
13
|
+
return [];
|
|
14
|
+
const value = JSON.parse(source);
|
|
15
|
+
if (!Array.isArray(value) || value.some(item => typeof item !== "string")) {
|
|
16
|
+
throw new TypeError("A1_LAUNCH_ARGUMENTS_JSON must be a JSON array of strings");
|
|
17
|
+
}
|
|
18
|
+
return value;
|
|
19
|
+
}
|
|
@@ -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 = [];
|
|
@@ -56,4 +56,3 @@ async function ensureOwnedDirectory(path) {
|
|
|
56
56
|
function isMissing(error) {
|
|
57
57
|
return error instanceof Error && "code" in error && error.code === "ENOENT";
|
|
58
58
|
}
|
|
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
|