@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
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import { execFile } from "node:child_process";
|
|
2
|
-
import { mkdir,
|
|
2
|
+
import { mkdir, rm, writeFile } from "node:fs/promises";
|
|
3
3
|
import { tmpdir } from "node:os";
|
|
4
4
|
import { dirname, join, resolve } from "node:path";
|
|
5
5
|
import { promisify } from "node:util";
|
|
6
|
-
import {
|
|
6
|
+
import { PRODUCT_IDENTITY } from "../../product-identity.js";
|
|
7
|
+
import { copyToClipboard, getAgentDir, ProjectTrustStore, SessionManager, } from "@earendil-works/pi-coding-agent";
|
|
7
8
|
import { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, assertOwnedUiCommand, assertOwnedUiExtensionUiPort, assertOwnedUiSnapshot, } from "../owned-ui-contracts/index.js";
|
|
8
9
|
import { PINNED_PI_SETTINGS_CALLBACKS, PINNED_PI_WORKFLOW_COMMAND_NAMES, } from "./workflows.js";
|
|
10
|
+
import { createPiRuntimeIntegration } from "./runtime-integration.js";
|
|
11
|
+
import { PiSessionCommandIntegration } from "./session-integration.js";
|
|
12
|
+
import { PiSettingsIntegration } from "./settings-integration.js";
|
|
9
13
|
const execFileAsync = promisify(execFile);
|
|
10
14
|
const DEFAULT_SURFACE = {
|
|
11
15
|
columns: 100,
|
|
@@ -56,18 +60,21 @@ export class PiEngineAdapter {
|
|
|
56
60
|
#eventQueue = [];
|
|
57
61
|
#eventQueueProcessing;
|
|
58
62
|
#droppedEventCount = 0;
|
|
59
|
-
#
|
|
63
|
+
#sessionCommands;
|
|
60
64
|
#gitBranch = null;
|
|
61
65
|
#extensionUi;
|
|
62
66
|
#extensionShutdown;
|
|
63
67
|
#extensionBound = false;
|
|
64
68
|
#disposed = false;
|
|
69
|
+
/** Lists the themes installed on this machine, when the caller supplies one. */
|
|
70
|
+
#availableThemes;
|
|
65
71
|
constructor(options = {}) {
|
|
66
72
|
this.#cwd = options.cwd ?? process.cwd();
|
|
67
73
|
this.#agentDir = options.agentDir ?? getAgentDir();
|
|
68
74
|
this.#sessionId = options.sessionId ?? "owned-session-1";
|
|
69
75
|
this.#runtimeFactory = options.createRuntime ?? createDefaultPiRuntime;
|
|
70
76
|
this.#workflowHost = options.workflowHost ?? defaultWorkflowHost();
|
|
77
|
+
this.#availableThemes = options.availableThemes ?? null;
|
|
71
78
|
this.#workflowInteraction = { prompt: async () => null, notify() { } };
|
|
72
79
|
}
|
|
73
80
|
setWorkflowInteractionHost(interaction) {
|
|
@@ -279,8 +286,8 @@ export class PiEngineAdapter {
|
|
|
279
286
|
uiProperties: OWNED_UI_EXTENSION_UI_PROPERTIES,
|
|
280
287
|
renderCallbacks: OWNED_UI_EXTENSION_RENDER_CALLBACKS,
|
|
281
288
|
diagnostic: this.#extensionBound
|
|
282
|
-
?
|
|
283
|
-
:
|
|
289
|
+
? `Pinned public extension UI lifecycle is bound through the ${PRODUCT_IDENTITY.displayName}-owned bridge.`
|
|
290
|
+
: `The complete ${PRODUCT_IDENTITY.displayName}-owned extension UI contract is available; the active session has not been bound to the owned UI bridge.`,
|
|
284
291
|
};
|
|
285
292
|
}
|
|
286
293
|
async bindExtensionUi(ui, shutdown) {
|
|
@@ -342,7 +349,7 @@ export class PiEngineAdapter {
|
|
|
342
349
|
usedNames.add(name);
|
|
343
350
|
}
|
|
344
351
|
}
|
|
345
|
-
const extensionCommands = this.#session?.extensionRunner?.
|
|
352
|
+
const extensionCommands = this.#session?.extensionRunner?.getRegisteredCommands?.();
|
|
346
353
|
if (Array.isArray(extensionCommands)) {
|
|
347
354
|
for (const command of extensionCommands.filter(isRecord)) {
|
|
348
355
|
const name = stringProperty(command, "name");
|
|
@@ -373,12 +380,33 @@ export class PiEngineAdapter {
|
|
|
373
380
|
return workflowResult("model", "failed", error instanceof Error ? error.message : String(error));
|
|
374
381
|
}
|
|
375
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* The theme the engine is configured with, in the engine's own grammar: a
|
|
385
|
+
* theme's name, or a `light/dark` pair meaning "follow the terminal".
|
|
386
|
+
*/
|
|
387
|
+
configuredTheme() {
|
|
388
|
+
return this.#runtime?.services.settingsManager.getThemeSetting();
|
|
389
|
+
}
|
|
390
|
+
/** Settings port for the live runtime, or null before the runtime is available. */
|
|
391
|
+
settingsPort() {
|
|
392
|
+
const settings = this.#runtime?.services.settingsManager;
|
|
393
|
+
if (!settings)
|
|
394
|
+
return null;
|
|
395
|
+
const session = this.#runtime?.session;
|
|
396
|
+
return new PiSettingsIntegration(settings, {
|
|
397
|
+
...(this.#availableThemes === null ? {} : { themes: this.#availableThemes }),
|
|
398
|
+
thinkingLevels: () => {
|
|
399
|
+
const levels = session?.getAvailableThinkingLevels?.();
|
|
400
|
+
return Array.isArray(levels) ? levels.map(level => String(level)) : [];
|
|
401
|
+
},
|
|
402
|
+
});
|
|
403
|
+
}
|
|
376
404
|
pinnedModelSelectorContext() {
|
|
377
405
|
const session = this.#requireWorkflowSession();
|
|
378
406
|
const runtime = this.#runtime;
|
|
379
407
|
if (!runtime)
|
|
380
408
|
throw new Error("engine runtime is unavailable");
|
|
381
|
-
const scoped = session.
|
|
409
|
+
const scoped = session.scopedModels;
|
|
382
410
|
const modelRuntime = runtime.services.modelRuntime;
|
|
383
411
|
const selectorRuntime = typeof modelRuntime.getAvailableSnapshot === "function"
|
|
384
412
|
? modelRuntime
|
|
@@ -393,7 +421,7 @@ export class PiEngineAdapter {
|
|
|
393
421
|
? settingsManager
|
|
394
422
|
: { setDefaultModelAndProvider() { } };
|
|
395
423
|
return {
|
|
396
|
-
currentModel: session.model,
|
|
424
|
+
currentModel: this.#activeModel === null ? undefined : session.model,
|
|
397
425
|
settingsManager: selectorSettings,
|
|
398
426
|
modelRuntime: selectorRuntime,
|
|
399
427
|
scopedModels: Array.isArray(scoped) ? scoped : [],
|
|
@@ -455,7 +483,7 @@ export class PiEngineAdapter {
|
|
|
455
483
|
if (!runtime)
|
|
456
484
|
throw new Error("engine runtime is unavailable");
|
|
457
485
|
const models = scopedModelRecords(runtime.services.modelRuntime);
|
|
458
|
-
const scoped = session.
|
|
486
|
+
const scoped = session.scopedModels;
|
|
459
487
|
if (Array.isArray(scoped) && scoped.length > 0) {
|
|
460
488
|
return {
|
|
461
489
|
models: models.map(item => item.descriptor),
|
|
@@ -535,8 +563,9 @@ export class PiEngineAdapter {
|
|
|
535
563
|
const oauth = dynamicObject(dynamicObject(provider, "auth"), "oauth");
|
|
536
564
|
const loginLabel = stringProperty(oauth, "loginLabel") ?? "Sign in with an account";
|
|
537
565
|
const options = this.#loginOptions().filter(option => option.id.endsWith(`:${providerId}`)).map(option => ({
|
|
538
|
-
|
|
566
|
+
id: option.id,
|
|
539
567
|
label: option.id.startsWith("api_key:") ? "Sign in with an API key" : loginLabel,
|
|
568
|
+
...(option.description === undefined ? {} : { description: option.description }),
|
|
540
569
|
}));
|
|
541
570
|
return { title: `Select authentication method for ${providerName}:`, options };
|
|
542
571
|
}
|
|
@@ -594,7 +623,7 @@ export class PiEngineAdapter {
|
|
|
594
623
|
thinkingLevel: readThinkingLevel(session.thinkingLevel),
|
|
595
624
|
availableThinkingLevels: Array.isArray(levels) ? levels.map(readThinkingLevel) : ["off", "minimal", "low", "medium", "high", "xhigh"],
|
|
596
625
|
currentTheme: setting(settings?.getThemeSetting, setting(settings?.getTheme, "dark")),
|
|
597
|
-
terminalTheme:
|
|
626
|
+
terminalTheme: "dark",
|
|
598
627
|
availableThemes: themes.length > 0 ? themes : ["dark", "light"],
|
|
599
628
|
hideThinkingBlock: setting(settings?.getHideThinkingBlock, false),
|
|
600
629
|
mermaidRenderingMode: setting(settings?.getMermaidRenderingMode, "off"),
|
|
@@ -683,7 +712,7 @@ export class PiEngineAdapter {
|
|
|
683
712
|
footer: {
|
|
684
713
|
branch: this.#gitBranch,
|
|
685
714
|
sessionName: this.#session?.sessionManager?.getSessionName() ?? null,
|
|
686
|
-
availableProviderCount: new Set(this.#runtime?.services.modelRuntime.getAvailableSnapshot?.().map(model => model.provider).filter(provider => provider !== undefined) ?? []).size
|
|
715
|
+
availableProviderCount: new Set(this.#runtime?.services.modelRuntime.getAvailableSnapshot?.().map(model => model.provider).filter(provider => provider !== undefined) ?? []).size,
|
|
687
716
|
extensionStatuses: [],
|
|
688
717
|
},
|
|
689
718
|
},
|
|
@@ -824,7 +853,7 @@ export class PiEngineAdapter {
|
|
|
824
853
|
});
|
|
825
854
|
if (auth.stderr && !auth.stdout)
|
|
826
855
|
throw new Error(auth.stderr.trim());
|
|
827
|
-
const temporary = join(tmpdir(),
|
|
856
|
+
const temporary = join(tmpdir(), `${PRODUCT_IDENTITY.filesystem.temporaryPrefix}pi-session-${process.pid}.html`);
|
|
828
857
|
try {
|
|
829
858
|
await requireCapability(session.exportToHtml, "exportToHtml").call(session, temporary);
|
|
830
859
|
const gist = await this.#workflowHost.runCommand("gh", ["gist", "create", "--public=false", temporary]);
|
|
@@ -983,6 +1012,8 @@ export class PiEngineAdapter {
|
|
|
983
1012
|
finally {
|
|
984
1013
|
this.#workflowInteraction.finishLogin?.();
|
|
985
1014
|
}
|
|
1015
|
+
this.#reconcileActiveModelAvailability();
|
|
1016
|
+
this.#emitView();
|
|
986
1017
|
return workflowResult(request.command, "completed", `Logged in to ${providerName}. Credentials saved to ${join(this.#agentDir, "auth.json")}`);
|
|
987
1018
|
}
|
|
988
1019
|
case "logout": {
|
|
@@ -993,6 +1024,8 @@ export class PiEngineAdapter {
|
|
|
993
1024
|
await requireCapability(modelRuntime.logout, "logout").call(modelRuntime, providerId, { signal: AbortSignal.timeout(15_000) });
|
|
994
1025
|
const provider = modelRuntime.getProvider?.(providerId);
|
|
995
1026
|
const providerName = stringProperty(provider, "name") ?? providerId;
|
|
1027
|
+
this.#reconcileActiveModelAvailability();
|
|
1028
|
+
this.#emitView();
|
|
996
1029
|
return workflowResult(request.command, "completed", credentialType === "api_key"
|
|
997
1030
|
? `Removed stored API key for ${providerName}. Environment variables and models.json config are unchanged.`
|
|
998
1031
|
: `Logged out of ${providerName}`);
|
|
@@ -1083,7 +1116,10 @@ export class PiEngineAdapter {
|
|
|
1083
1116
|
}
|
|
1084
1117
|
#loginOptions(authType) {
|
|
1085
1118
|
const runtime = this.#runtime;
|
|
1086
|
-
const
|
|
1119
|
+
const modelRuntime = runtime?.services.modelRuntime;
|
|
1120
|
+
if (!modelRuntime)
|
|
1121
|
+
return [];
|
|
1122
|
+
const providers = modelRuntime.getProviders?.();
|
|
1087
1123
|
if (!Array.isArray(providers))
|
|
1088
1124
|
return [];
|
|
1089
1125
|
return providers.filter(isRecord).flatMap(provider => {
|
|
@@ -1092,11 +1128,33 @@ export class PiEngineAdapter {
|
|
|
1092
1128
|
return [];
|
|
1093
1129
|
const name = stringProperty(provider, "name") ?? id;
|
|
1094
1130
|
const auth = isRecord(provider.auth) ? provider.auth : {};
|
|
1131
|
+
const authStatus = modelRuntime.getProviderAuthStatus?.(id);
|
|
1132
|
+
const source = authStatus?.label ?? authStatus?.source;
|
|
1133
|
+
const status = authStatus?.configured === true
|
|
1134
|
+
? {
|
|
1135
|
+
type: modelRuntime.isUsingOAuth?.(id) === true ? "oauth" : "api_key",
|
|
1136
|
+
...(source === undefined ? {} : { source }),
|
|
1137
|
+
}
|
|
1138
|
+
: undefined;
|
|
1095
1139
|
return [
|
|
1096
|
-
...(authType !== "api_key" && auth.oauth ? [{
|
|
1097
|
-
|
|
1140
|
+
...(authType !== "api_key" && auth.oauth ? [{
|
|
1141
|
+
id: `oauth:${id}`,
|
|
1142
|
+
providerId: id,
|
|
1143
|
+
label: name,
|
|
1144
|
+
description: "Account / OAuth",
|
|
1145
|
+
authType: "oauth",
|
|
1146
|
+
...(status === undefined ? {} : { status }),
|
|
1147
|
+
}] : []),
|
|
1148
|
+
...(authType !== "oauth" && auth.apiKey ? [{
|
|
1149
|
+
id: `api_key:${id}`,
|
|
1150
|
+
providerId: id,
|
|
1151
|
+
label: name,
|
|
1152
|
+
description: "API key",
|
|
1153
|
+
authType: "api_key",
|
|
1154
|
+
...(status === undefined ? {} : { status }),
|
|
1155
|
+
}] : []),
|
|
1098
1156
|
];
|
|
1099
|
-
});
|
|
1157
|
+
}).sort((left, right) => left.label.localeCompare(right.label));
|
|
1100
1158
|
}
|
|
1101
1159
|
async #logoutOptions() {
|
|
1102
1160
|
const runtime = this.#runtime;
|
|
@@ -1114,17 +1172,17 @@ export class PiEngineAdapter {
|
|
|
1114
1172
|
const provider = modelRuntime.getProvider?.(providerId);
|
|
1115
1173
|
return [{
|
|
1116
1174
|
id: `${credentialType}:${providerId}`,
|
|
1175
|
+
providerId,
|
|
1117
1176
|
label: stringProperty(provider, "name") ?? providerId,
|
|
1118
1177
|
description: credentialType,
|
|
1178
|
+
authType: credentialType,
|
|
1179
|
+
status: { type: credentialType, source: "stored credential" },
|
|
1119
1180
|
}];
|
|
1120
1181
|
});
|
|
1121
1182
|
}
|
|
1122
1183
|
async #sessionOptions() {
|
|
1123
1184
|
const session = this.#requireWorkflowSession();
|
|
1124
1185
|
const manager = session.sessionManager;
|
|
1125
|
-
const runtimeSessions = await this.#runtime?.listSessions?.();
|
|
1126
|
-
if (Array.isArray(runtimeSessions))
|
|
1127
|
-
return sessionInfoOptions(runtimeSessions);
|
|
1128
1186
|
const cwd = manager?.getCwd?.();
|
|
1129
1187
|
const sessionDir = manager?.getSessionDir?.();
|
|
1130
1188
|
if (typeof cwd !== "string")
|
|
@@ -1182,103 +1240,22 @@ export class PiEngineAdapter {
|
|
|
1182
1240
|
if (!settings)
|
|
1183
1241
|
return workflowResult("settings", "failed", "Settings are unavailable");
|
|
1184
1242
|
const session = this.#requireWorkflowSession();
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
apply(settings.setImageAutoResize, "setImageAutoResize");
|
|
1202
|
-
break;
|
|
1203
|
-
case "onBlockImagesChange":
|
|
1204
|
-
apply(settings.setBlockImages, "setBlockImages");
|
|
1205
|
-
break;
|
|
1206
|
-
case "onEnableSkillCommandsChange":
|
|
1207
|
-
apply(settings.setEnableSkillCommands, "setEnableSkillCommands");
|
|
1208
|
-
break;
|
|
1209
|
-
case "onSteeringModeChange":
|
|
1210
|
-
apply(settings.setSteeringMode, "setSteeringMode");
|
|
1211
|
-
break;
|
|
1212
|
-
case "onFollowUpModeChange":
|
|
1213
|
-
apply(settings.setFollowUpMode, "setFollowUpMode");
|
|
1214
|
-
break;
|
|
1215
|
-
case "onTransportChange":
|
|
1216
|
-
apply(settings.setTransport, "setTransport");
|
|
1217
|
-
break;
|
|
1218
|
-
case "onHttpIdleTimeoutMsChange":
|
|
1219
|
-
apply(settings.setHttpIdleTimeoutMs, "setHttpIdleTimeoutMs");
|
|
1220
|
-
break;
|
|
1221
|
-
case "onThemeChange":
|
|
1222
|
-
apply(settings.setTheme, "setTheme");
|
|
1223
|
-
break;
|
|
1224
|
-
case "onHideThinkingBlockChange":
|
|
1225
|
-
apply(settings.setHideThinkingBlock, "setHideThinkingBlock");
|
|
1226
|
-
break;
|
|
1227
|
-
case "onMermaidRenderingModeChange":
|
|
1228
|
-
apply(settings.setMermaidRenderingMode, "setMermaidRenderingMode");
|
|
1229
|
-
break;
|
|
1230
|
-
case "onShowCacheMissNoticesChange":
|
|
1231
|
-
apply(settings.setShowCacheMissNotices, "setShowCacheMissNotices");
|
|
1232
|
-
break;
|
|
1233
|
-
case "onCollapseChangelogChange":
|
|
1234
|
-
apply(settings.setCollapseChangelog, "setCollapseChangelog");
|
|
1235
|
-
break;
|
|
1236
|
-
case "onEnableInstallTelemetryChange":
|
|
1237
|
-
apply(settings.setEnableInstallTelemetry, "setEnableInstallTelemetry");
|
|
1238
|
-
break;
|
|
1239
|
-
case "onQuietStartupChange":
|
|
1240
|
-
apply(settings.setQuietStartup, "setQuietStartup");
|
|
1241
|
-
break;
|
|
1242
|
-
case "onDefaultProjectTrustChange":
|
|
1243
|
-
apply(settings.setDefaultProjectTrust, "setDefaultProjectTrust");
|
|
1244
|
-
break;
|
|
1245
|
-
case "onDoubleEscapeActionChange":
|
|
1246
|
-
apply(settings.setDoubleEscapeAction, "setDoubleEscapeAction");
|
|
1247
|
-
break;
|
|
1248
|
-
case "onTreeFilterModeChange":
|
|
1249
|
-
apply(settings.setTreeFilterMode, "setTreeFilterMode");
|
|
1250
|
-
break;
|
|
1251
|
-
case "onShowHardwareCursorChange":
|
|
1252
|
-
apply(settings.setShowHardwareCursor, "setShowHardwareCursor");
|
|
1253
|
-
break;
|
|
1254
|
-
case "onEditorPaddingXChange":
|
|
1255
|
-
apply(settings.setEditorPaddingX, "setEditorPaddingX");
|
|
1256
|
-
break;
|
|
1257
|
-
case "onOutputPadChange":
|
|
1258
|
-
apply(settings.setOutputPad, "setOutputPad");
|
|
1259
|
-
break;
|
|
1260
|
-
case "onAutocompleteMaxVisibleChange":
|
|
1261
|
-
apply(settings.setAutocompleteMaxVisible, "setAutocompleteMaxVisible");
|
|
1262
|
-
break;
|
|
1263
|
-
case "onClearOnShrinkChange":
|
|
1264
|
-
apply(settings.setClearOnShrink, "setClearOnShrink");
|
|
1265
|
-
break;
|
|
1266
|
-
case "onShowTerminalProgressChange":
|
|
1267
|
-
apply(settings.setShowTerminalProgress, "setShowTerminalProgress");
|
|
1268
|
-
break;
|
|
1269
|
-
case "onTuiModeChange":
|
|
1270
|
-
apply(settings.setTuiMode, "setTuiMode");
|
|
1271
|
-
break;
|
|
1272
|
-
case "onFullscreenExitOutputChange":
|
|
1273
|
-
apply(settings.setFullscreenExitOutput, "setFullscreenExitOutput");
|
|
1274
|
-
break;
|
|
1275
|
-
case "onFullscreenScrollbarChange":
|
|
1276
|
-
apply(settings.setFullscreenScrollbar, "setFullscreenScrollbar");
|
|
1277
|
-
break;
|
|
1278
|
-
case "onWarningsChange":
|
|
1279
|
-
apply(settings.setWarnings, "setWarnings");
|
|
1280
|
-
break;
|
|
1281
|
-
default: return workflowResult("settings", "failed", `${settingLabel(callback)} is unavailable in this runtime`);
|
|
1243
|
+
if (callback === "onThinkingLevelChange") {
|
|
1244
|
+
if (!isThinkingLevel(selectedValue))
|
|
1245
|
+
return workflowResult("settings", "failed", "Thinking level is invalid");
|
|
1246
|
+
session.setThinkingLevel(selectedValue);
|
|
1247
|
+
}
|
|
1248
|
+
else {
|
|
1249
|
+
const key = settingKeyForCallback(callback);
|
|
1250
|
+
if (key === null)
|
|
1251
|
+
return workflowResult("settings", "failed", `${settingLabel(callback)} is unavailable in this runtime`);
|
|
1252
|
+
const value = agentJsonValue(selectedValue);
|
|
1253
|
+
if (callback === "onAutoCompactChange") {
|
|
1254
|
+
if (typeof value !== "boolean")
|
|
1255
|
+
return workflowResult("settings", "failed", "Auto compact value is invalid");
|
|
1256
|
+
session.setAutoCompactionEnabled?.(value);
|
|
1257
|
+
}
|
|
1258
|
+
new PiSettingsIntegration(settings).writeSettingNow(key, value);
|
|
1282
1259
|
}
|
|
1283
1260
|
this.#emitView();
|
|
1284
1261
|
return workflowResult("settings", "completed", `${settingLabel(callback)}: ${String(selectedValue)}`);
|
|
@@ -1289,34 +1266,20 @@ export class PiEngineAdapter {
|
|
|
1289
1266
|
if (!runtime || !session)
|
|
1290
1267
|
throw new Error("engine session is unavailable");
|
|
1291
1268
|
switch (command.type) {
|
|
1292
|
-
case "prompt":
|
|
1293
|
-
this.#lastPrompt = command.text;
|
|
1294
|
-
await session.prompt(command.text, session.isStreaming ? { streamingBehavior: "followUp" } : undefined);
|
|
1295
|
-
return;
|
|
1296
|
-
}
|
|
1269
|
+
case "prompt":
|
|
1297
1270
|
case "steer":
|
|
1298
|
-
this.#lastPrompt = command.text;
|
|
1299
|
-
await session.steer(command.text);
|
|
1300
|
-
return;
|
|
1301
1271
|
case "follow-up":
|
|
1302
|
-
this.#lastPrompt = command.text;
|
|
1303
|
-
await session.followUp(command.text);
|
|
1304
|
-
return;
|
|
1305
1272
|
case "abort":
|
|
1306
|
-
if (session.isRetrying)
|
|
1307
|
-
session.abortRetry();
|
|
1308
|
-
if (session.isCompacting)
|
|
1309
|
-
session.abortCompaction();
|
|
1310
|
-
await session.abort();
|
|
1311
|
-
return;
|
|
1312
1273
|
case "retry":
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1274
|
+
case "compact": {
|
|
1275
|
+
const result = await this.#sessionCommands?.execute(command.type === "prompt" || command.type === "steer" || command.type === "follow-up"
|
|
1276
|
+
? { type: command.type, text: command.text }
|
|
1277
|
+
: { type: command.type });
|
|
1278
|
+
if (!result || result.outcome === "rejected" || result.outcome === "failed") {
|
|
1279
|
+
throw new Error(command.type === "retry" ? "no previous prompt is available to retry" : `Pi session command failed: ${command.type}`);
|
|
1280
|
+
}
|
|
1319
1281
|
return;
|
|
1282
|
+
}
|
|
1320
1283
|
case "set-model": {
|
|
1321
1284
|
const model = runtime.services.modelRuntime.getModel(command.model.providerId, command.model.modelId);
|
|
1322
1285
|
if (!model) {
|
|
@@ -1355,7 +1318,7 @@ export class PiEngineAdapter {
|
|
|
1355
1318
|
this.#session = session;
|
|
1356
1319
|
this.#activeCommandIds = [];
|
|
1357
1320
|
this.#completedCommands.clear();
|
|
1358
|
-
this.#
|
|
1321
|
+
this.#sessionCommands = new PiSessionCommandIntegration(session);
|
|
1359
1322
|
this.#editor = {
|
|
1360
1323
|
text: "",
|
|
1361
1324
|
queuedSubmissions: [],
|
|
@@ -1366,12 +1329,28 @@ export class PiEngineAdapter {
|
|
|
1366
1329
|
};
|
|
1367
1330
|
this.#status = { ...this.#status, workingMessage: null, badges: [] };
|
|
1368
1331
|
this.#activeModel = readModel(session.model);
|
|
1332
|
+
this.#reconcileActiveModelAvailability();
|
|
1369
1333
|
this.#thinkingLevel = readThinkingLevel(session.thinkingLevel);
|
|
1370
1334
|
this.#rebuildTranscript(session.messages, "finalized");
|
|
1371
1335
|
this.#unsubscribe = session.subscribe(event => this.#handlePiEvent(event));
|
|
1372
1336
|
if (this.#extensionUi !== undefined)
|
|
1373
1337
|
void this.#bindExtensionUiToSession();
|
|
1374
1338
|
}
|
|
1339
|
+
#reconcileActiveModelAvailability() {
|
|
1340
|
+
const modelRuntime = this.#runtime?.services.modelRuntime;
|
|
1341
|
+
if (!modelRuntime) {
|
|
1342
|
+
this.#activeModel = null;
|
|
1343
|
+
return;
|
|
1344
|
+
}
|
|
1345
|
+
const available = modelRuntime.getAvailableSnapshot?.() ?? [];
|
|
1346
|
+
const sessionModel = readModel(this.#session?.model);
|
|
1347
|
+
const authoritative = this.#activeModel ?? sessionModel;
|
|
1348
|
+
if (authoritative === null)
|
|
1349
|
+
return;
|
|
1350
|
+
const remainsAvailable = available.some(model => stringProperty(model, "provider") === authoritative.providerId
|
|
1351
|
+
&& stringProperty(model, "id") === authoritative.modelId);
|
|
1352
|
+
this.#activeModel = remainsAvailable ? authoritative : null;
|
|
1353
|
+
}
|
|
1375
1354
|
async #bindExtensionUiToSession() {
|
|
1376
1355
|
const session = this.#session;
|
|
1377
1356
|
const ui = this.#extensionUi;
|
|
@@ -1501,7 +1480,7 @@ export class PiEngineAdapter {
|
|
|
1501
1480
|
let cost = 0;
|
|
1502
1481
|
let latestCacheHitRate = null;
|
|
1503
1482
|
let latestPrompt = null;
|
|
1504
|
-
const entries = this.#session?.sessionManager?.getEntries()
|
|
1483
|
+
const entries = this.#session?.sessionManager?.getEntries?.()
|
|
1505
1484
|
?? (this.#session?.messages ?? []).map(message => ({ type: "message", message }));
|
|
1506
1485
|
for (const entry of entries) {
|
|
1507
1486
|
if (!isRecord(entry))
|
|
@@ -1895,26 +1874,7 @@ export async function createPiEngineAdapter(options = {}) {
|
|
|
1895
1874
|
return adapter;
|
|
1896
1875
|
}
|
|
1897
1876
|
async function createDefaultPiRuntime(input) {
|
|
1898
|
-
|
|
1899
|
-
const createRuntime = async ({ cwd, sessionManager: targetSessionManager, sessionStartEvent, }) => {
|
|
1900
|
-
const services = await createAgentSessionServices({ cwd, agentDir: input.agentDir });
|
|
1901
|
-
const created = await createAgentSessionFromServices({
|
|
1902
|
-
services,
|
|
1903
|
-
sessionManager: targetSessionManager,
|
|
1904
|
-
...(sessionStartEvent ? { sessionStartEvent } : {}),
|
|
1905
|
-
});
|
|
1906
|
-
return {
|
|
1907
|
-
...created,
|
|
1908
|
-
services,
|
|
1909
|
-
diagnostics: services.diagnostics,
|
|
1910
|
-
};
|
|
1911
|
-
};
|
|
1912
|
-
const runtime = await createAgentSessionRuntime(createRuntime, {
|
|
1913
|
-
cwd: input.cwd,
|
|
1914
|
-
agentDir: input.agentDir,
|
|
1915
|
-
sessionManager,
|
|
1916
|
-
});
|
|
1917
|
-
return runtime;
|
|
1877
|
+
return createPiRuntimeIntegration({ cwd: input.cwd, agentDir: input.agentDir });
|
|
1918
1878
|
}
|
|
1919
1879
|
function pinnedSessionInfoPresentation(value, sessionName, entries, modelRuntime) {
|
|
1920
1880
|
const stats = isRecord(value) ? value : {};
|
|
@@ -2036,7 +1996,7 @@ function defaultWorkflowHost() {
|
|
|
2036
1996
|
const result = await execFileAsync(command, [...arguments_], { encoding: "utf8" });
|
|
2037
1997
|
return { stdout: result.stdout, stderr: result.stderr };
|
|
2038
1998
|
},
|
|
2039
|
-
readChangelog: async () =>
|
|
1999
|
+
readChangelog: async () => "No changelog entries found.",
|
|
2040
2000
|
};
|
|
2041
2001
|
}
|
|
2042
2002
|
function workflowLoginNotification(event) {
|
|
@@ -2130,6 +2090,35 @@ function pathArgument(value) {
|
|
|
2130
2090
|
}
|
|
2131
2091
|
return value.split(/\s/, 1)[0] || undefined;
|
|
2132
2092
|
}
|
|
2093
|
+
function settingKeyForCallback(callback) {
|
|
2094
|
+
const keys = {
|
|
2095
|
+
onAutoCompactChange: "autoCompact", onShowImagesChange: "showImages", onImageWidthCellsChange: "imageWidthCells",
|
|
2096
|
+
onAutoResizeImagesChange: "autoResizeImages", onBlockImagesChange: "blockImages", onEnableSkillCommandsChange: "enableSkillCommands",
|
|
2097
|
+
onSteeringModeChange: "steeringMode", onFollowUpModeChange: "followUpMode", onTransportChange: "transport",
|
|
2098
|
+
onHttpIdleTimeoutMsChange: "httpIdleTimeoutMs", onThemeChange: "theme", onThemePreview: "theme",
|
|
2099
|
+
onHideThinkingBlockChange: "hideThinkingBlock", onMermaidRenderingModeChange: "mermaidRenderingMode",
|
|
2100
|
+
onShowCacheMissNoticesChange: "showCacheMissNotices", onCollapseChangelogChange: "collapseChangelog",
|
|
2101
|
+
onEnableInstallTelemetryChange: "enableInstallTelemetry", onQuietStartupChange: "quietStartup",
|
|
2102
|
+
onDefaultProjectTrustChange: "defaultProjectTrust", onDoubleEscapeActionChange: "doubleEscapeAction",
|
|
2103
|
+
onTreeFilterModeChange: "treeFilterMode", onShowHardwareCursorChange: "showHardwareCursor",
|
|
2104
|
+
onEditorPaddingXChange: "editorPaddingX", onOutputPadChange: "outputPad", onAutocompleteMaxVisibleChange: "autocompleteMaxVisible",
|
|
2105
|
+
onClearOnShrinkChange: "clearOnShrink", onShowTerminalProgressChange: "showTerminalProgress", onTuiModeChange: "tuiMode",
|
|
2106
|
+
onFullscreenExitOutputChange: "fullscreenExitOutput", onFullscreenScrollbarChange: "fullscreenScrollbar", onWarningsChange: "warnings",
|
|
2107
|
+
};
|
|
2108
|
+
return keys[callback] ?? null;
|
|
2109
|
+
}
|
|
2110
|
+
function agentJsonValue(value) {
|
|
2111
|
+
if (value === null || typeof value === "string" || typeof value === "boolean" || (typeof value === "number" && Number.isFinite(value)))
|
|
2112
|
+
return value;
|
|
2113
|
+
if (Array.isArray(value))
|
|
2114
|
+
return value.map(agentJsonValue);
|
|
2115
|
+
if (isRecord(value))
|
|
2116
|
+
return Object.fromEntries(Object.entries(value).filter(([, item]) => item !== undefined).map(([key, item]) => [key, agentJsonValue(item)]));
|
|
2117
|
+
throw new TypeError("setting value must be JSON serializable");
|
|
2118
|
+
}
|
|
2119
|
+
function isThinkingLevel(value) {
|
|
2120
|
+
return typeof value === "string" && ["off", "minimal", "low", "medium", "high", "xhigh"].includes(value);
|
|
2121
|
+
}
|
|
2133
2122
|
function settingLabel(callback) {
|
|
2134
2123
|
return callback
|
|
2135
2124
|
.replace(/^on/, "")
|
|
@@ -2147,16 +2136,10 @@ function pinnedHotkeySummary() {
|
|
|
2147
2136
|
].join("\n");
|
|
2148
2137
|
}
|
|
2149
2138
|
function scopedModelRecords(modelRuntime) {
|
|
2150
|
-
|
|
2151
|
-
|
|
2152
|
-
|
|
2153
|
-
|
|
2154
|
-
const provider = stringValue(model.provider);
|
|
2155
|
-
const id = stringValue(model.id);
|
|
2156
|
-
if (!provider || !id)
|
|
2157
|
-
return [];
|
|
2158
|
-
return [{ descriptor: { provider, id, name: stringValue(model.name) ?? id }, model }];
|
|
2159
|
-
});
|
|
2139
|
+
return modelRuntime.getAvailableSnapshot().map(model => ({
|
|
2140
|
+
descriptor: { provider: model.provider, id: model.id, name: model.name ?? model.id },
|
|
2141
|
+
model,
|
|
2142
|
+
}));
|
|
2160
2143
|
}
|
|
2161
2144
|
function scopedModelReference(value) {
|
|
2162
2145
|
if (!isRecord(value) || !isRecord(value.model))
|
|
@@ -2308,13 +2291,6 @@ function contentImageCount(content) {
|
|
|
2308
2291
|
? content.filter(item => isRecord(item) && item.type === "image").length
|
|
2309
2292
|
: 0;
|
|
2310
2293
|
}
|
|
2311
|
-
function pinnedChangelogMarkdown(content) {
|
|
2312
|
-
const entries = content.split(/^##\s+/m).slice(1).flatMap(section => {
|
|
2313
|
-
const markdown = `## ${section}`.trim();
|
|
2314
|
-
return /^##\s+\[?\d+\.\d+\.\d+\]?/.test(markdown) ? [markdown] : [];
|
|
2315
|
-
});
|
|
2316
|
-
return entries.reverse().join("\n\n") || "No changelog entries found.";
|
|
2317
|
-
}
|
|
2318
2294
|
function jsonSummary(value) {
|
|
2319
2295
|
const json = sanitizeJson(value);
|
|
2320
2296
|
let summary = "";
|
|
@@ -2362,4 +2338,3 @@ function finiteNumber(value) {
|
|
|
2362
2338
|
function isRecord(value) {
|
|
2363
2339
|
return typeof value === "object" && value !== null;
|
|
2364
2340
|
}
|
|
2365
|
-
//# sourceMappingURL=adapter.js.map
|
|
@@ -1,14 +1,37 @@
|
|
|
1
|
+
export interface PiCapabilityConformanceResult {
|
|
2
|
+
readonly capability: string;
|
|
3
|
+
readonly operations: readonly string[];
|
|
4
|
+
readonly passed: boolean;
|
|
5
|
+
}
|
|
6
|
+
export declare const REQUIRED_PI_CAPABILITY_OPERATIONS: Readonly<{
|
|
7
|
+
readonly "public-exports": readonly ["services.create", "session.create", "runtime.create"];
|
|
8
|
+
readonly "session-lifecycle": readonly ["session.new", "session.resume", "session.rebind", "session.dispose"];
|
|
9
|
+
readonly "commands-events": readonly ["prompt", "steer", "followUp", "abort", "compact", "setModel", "setThinkingLevel", "subscribe", "dispose"];
|
|
10
|
+
readonly "models-authentication": readonly ["models.list", "models.refresh", "auth.status", "auth.login", "auth.logout", "auth.cancel"];
|
|
11
|
+
readonly settings: readonly ["settings.read", "settings.write", "settings.flush"];
|
|
12
|
+
readonly "resources-extensions": readonly ["resources.discover", "extensions.bind", "extensions.reload", "renderers.invoke"];
|
|
13
|
+
readonly workflows: readonly ["workflow.route", "workflow.validate", "workflow.diagnostics"];
|
|
14
|
+
readonly disposal: readonly ["subscription.dispose", "session.dispose", "services.cleanup"];
|
|
15
|
+
}>;
|
|
16
|
+
export declare class PiCapabilityCompatibilityError extends Error {
|
|
17
|
+
readonly packageVersion: string;
|
|
18
|
+
readonly capability: string;
|
|
19
|
+
readonly operation: string;
|
|
20
|
+
constructor(packageVersion: string, capability: string, operation: string, detail: string);
|
|
21
|
+
}
|
|
1
22
|
export interface PiUpgradeConformanceReport {
|
|
23
|
+
readonly schema: "pi-engine-conformance-v1";
|
|
2
24
|
readonly packageName: "@earendil-works/pi-coding-agent";
|
|
3
25
|
readonly packageVersion: string;
|
|
4
26
|
readonly ownedUiContractVersion: number;
|
|
5
27
|
readonly serviceDiagnostics: number;
|
|
6
28
|
readonly sessionId: string;
|
|
7
29
|
readonly commandSurface: readonly string[];
|
|
30
|
+
readonly capabilities: readonly PiCapabilityConformanceResult[];
|
|
8
31
|
}
|
|
9
32
|
export declare class PiUpgradeConformanceError extends Error {
|
|
10
33
|
readonly stage: "exports" | "services" | "session";
|
|
11
34
|
constructor(stage: "exports" | "services" | "session", cause: unknown);
|
|
12
35
|
}
|
|
13
36
|
export declare function runPiUpgradeConformance(): Promise<PiUpgradeConformanceReport>;
|
|
14
|
-
|
|
37
|
+
export declare function validatePiCapabilityResults(packageVersion: string, results: readonly PiCapabilityConformanceResult[]): void;
|