@timurproko/a1 0.1.0 → 0.1.1-dev.2
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 +55 -22
- 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/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 +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 +24 -6
- package/dist/src/foundation/release/release-store.js +56 -21
- package/dist/src/foundation/release/release.d.ts +5 -6
- package/dist/src/foundation/release/release.js +21 -19
- 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 +2 -3
- package/dist/src/foundation/release/update.js +31 -29
- 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 +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 +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
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import type { LaunchProfileId } from "./profiles.js";
|
|
2
2
|
export interface LaunchProfilePaths {
|
|
3
3
|
readonly home: string;
|
|
4
|
-
readonly
|
|
5
|
-
readonly
|
|
4
|
+
readonly managedStateRoot: string;
|
|
5
|
+
readonly agentProfile: string;
|
|
6
6
|
readonly sandbox: string;
|
|
7
7
|
}
|
|
8
8
|
export interface LaunchProfilePathOptions {
|
|
@@ -13,4 +13,3 @@ export interface LaunchProfilePathOptions {
|
|
|
13
13
|
}
|
|
14
14
|
export declare function resolveLaunchProfilePaths(options?: LaunchProfilePathOptions): LaunchProfilePaths;
|
|
15
15
|
export declare function configurationRootForProfile(profileId: LaunchProfileId, paths: LaunchProfilePaths): string | null;
|
|
16
|
-
//# sourceMappingURL=profile-paths.d.ts.map
|
|
@@ -1,21 +1,23 @@
|
|
|
1
1
|
import { homedir } from "node:os";
|
|
2
2
|
import { posix, win32 } from "node:path";
|
|
3
|
+
import { PRODUCT_IDENTITY } from "../../product-identity.js";
|
|
3
4
|
export function resolveLaunchProfilePaths(options = {}) {
|
|
4
5
|
const environment = options.environment ?? process.env;
|
|
5
6
|
const path = options.platform === "win32" || (options.platform === undefined && process.platform === "win32") ? win32 : posix;
|
|
6
|
-
const selectedHome = options.home ?? environment.
|
|
7
|
+
const selectedHome = options.home ?? environment[PRODUCT_IDENTITY.environment.profileHome] ?? options.readHome?.() ?? homedir();
|
|
7
8
|
const home = validateAbsolutePath(selectedHome, "effective user home", path);
|
|
8
|
-
const
|
|
9
|
+
const agentProfile = path.resolve(home, PRODUCT_IDENTITY.state.piAgentProfile);
|
|
10
|
+
const managedStateRoot = path.dirname(agentProfile);
|
|
9
11
|
return Object.freeze({
|
|
10
12
|
home,
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
sandbox: path.resolve(
|
|
13
|
+
managedStateRoot,
|
|
14
|
+
agentProfile,
|
|
15
|
+
sandbox: path.resolve(home, PRODUCT_IDENTITY.state.piSandboxProfile),
|
|
14
16
|
});
|
|
15
17
|
}
|
|
16
18
|
export function configurationRootForProfile(profileId, paths) {
|
|
17
|
-
if (profileId === "
|
|
18
|
-
return paths.
|
|
19
|
+
if (profileId === "a1")
|
|
20
|
+
return paths.agentProfile;
|
|
19
21
|
if (profileId === "sandbox")
|
|
20
22
|
return paths.sandbox;
|
|
21
23
|
return null;
|
|
@@ -27,4 +29,3 @@ function validateAbsolutePath(value, name, path) {
|
|
|
27
29
|
throw new TypeError(`${name} must be absolute`);
|
|
28
30
|
return path.resolve(value);
|
|
29
31
|
}
|
|
30
|
-
//# sourceMappingURL=profile-paths.js.map
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
2
|
export type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
3
|
-
export type
|
|
3
|
+
export type ConfigurationRootPolicy = "agent-profile" | "pi-default" | "sandbox-profile";
|
|
4
4
|
export type ProjectTrustPolicy = "pi-default" | "ignore";
|
|
5
5
|
export interface LaunchProfileContract {
|
|
6
6
|
readonly id: LaunchProfileId;
|
|
7
7
|
readonly productSurface: "agent" | "vanilla-baseline" | "isolated-profile";
|
|
8
|
-
readonly
|
|
8
|
+
readonly configurationRootPolicy: ConfigurationRootPolicy;
|
|
9
9
|
readonly projectTrust: ProjectTrustPolicy;
|
|
10
10
|
readonly terminalCapability: "owned-ui" | "transparent";
|
|
11
11
|
}
|
|
12
12
|
export declare function launchProfileContract(id: LaunchProfileId): LaunchProfileContract;
|
|
13
|
-
//# sourceMappingURL=profiles.d.ts.map
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
const contracts = Object.freeze({
|
|
2
|
-
|
|
3
|
-
id: "
|
|
2
|
+
"a1": Object.freeze({
|
|
3
|
+
id: "a1",
|
|
4
4
|
productSurface: "agent",
|
|
5
|
-
|
|
5
|
+
configurationRootPolicy: "agent-profile",
|
|
6
6
|
projectTrust: "pi-default",
|
|
7
7
|
terminalCapability: "owned-ui",
|
|
8
8
|
}),
|
|
9
9
|
pi: Object.freeze({
|
|
10
10
|
id: "pi",
|
|
11
11
|
productSurface: "vanilla-baseline",
|
|
12
|
-
|
|
12
|
+
configurationRootPolicy: "pi-default",
|
|
13
13
|
projectTrust: "pi-default",
|
|
14
14
|
terminalCapability: "transparent",
|
|
15
15
|
}),
|
|
16
16
|
sandbox: Object.freeze({
|
|
17
17
|
id: "sandbox",
|
|
18
18
|
productSurface: "isolated-profile",
|
|
19
|
-
|
|
19
|
+
configurationRootPolicy: "sandbox-profile",
|
|
20
20
|
projectTrust: "ignore",
|
|
21
21
|
terminalCapability: "transparent",
|
|
22
22
|
}),
|
|
@@ -24,4 +24,3 @@ const contracts = Object.freeze({
|
|
|
24
24
|
export function launchProfileContract(id) {
|
|
25
25
|
return contracts[id];
|
|
26
26
|
}
|
|
27
|
-
//# sourceMappingURL=profiles.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type LaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
|
-
export type TransparentInteractiveProfileId = Exclude<LaunchProfileId, "
|
|
2
|
+
export type TransparentInteractiveProfileId = Exclude<LaunchProfileId, "a1">;
|
|
3
3
|
export type InteractiveRuntimeSelection = {
|
|
4
4
|
readonly kind: "owned-ui";
|
|
5
5
|
} | {
|
|
@@ -12,4 +12,3 @@ export interface InteractiveRuntimeRunners {
|
|
|
12
12
|
}
|
|
13
13
|
export declare function selectInteractiveRuntime(profileId: string): InteractiveRuntimeSelection;
|
|
14
14
|
export declare function runSelectedInteractiveRuntime(profileId: string, runners: InteractiveRuntimeRunners): Promise<number>;
|
|
15
|
-
//# sourceMappingURL=runtime-selection.d.ts.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { assertLaunchProfileId } from "../../foundation/lifecycle/index.js";
|
|
2
2
|
export function selectInteractiveRuntime(profileId) {
|
|
3
3
|
assertLaunchProfileId(profileId);
|
|
4
|
-
return profileId === "
|
|
4
|
+
return profileId === "a1"
|
|
5
5
|
? Object.freeze({ kind: "owned-ui" })
|
|
6
6
|
: Object.freeze({ kind: "transparent", profileId });
|
|
7
7
|
}
|
|
@@ -11,4 +11,3 @@ export async function runSelectedInteractiveRuntime(profileId, runners) {
|
|
|
11
11
|
? await runners.ownedUi()
|
|
12
12
|
: await runners.transparent(selection.profileId);
|
|
13
13
|
}
|
|
14
|
-
//# sourceMappingURL=runtime-selection.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type OwnedUiCommand, type OwnedUiCustomization, type OwnedUiSlotId } from "../../foundation/owned-ui-contracts/index.js";
|
|
1
|
+
import { type OwnedUiCommand, type OwnedUiCustomization, type OwnedUiSlotId, type OwnedUiTranscriptBlock } from "../../foundation/owned-ui-contracts/index.js";
|
|
2
2
|
export interface OwnedUiSlotImplementation {
|
|
3
3
|
readonly payload: unknown;
|
|
4
4
|
render?(input: unknown, width: number): readonly string[];
|
|
@@ -32,5 +32,7 @@ export declare class OwnedUiCustomizationRegistry {
|
|
|
32
32
|
clear(): void;
|
|
33
33
|
installCommands(surface: OwnedCommandSurface, sessionId: string): readonly string[];
|
|
34
34
|
}
|
|
35
|
-
export
|
|
36
|
-
|
|
35
|
+
export interface VanillaUiCustomizationPorts {
|
|
36
|
+
readonly renderTranscriptBlock: (block: OwnedUiTranscriptBlock, width: number) => readonly string[];
|
|
37
|
+
}
|
|
38
|
+
export declare function createVanillaUiCustomizationRegistry(ports: VanillaUiCustomizationPorts): OwnedUiCustomizationRegistry;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { assertOwnedUiCustomization, } from "../../foundation/owned-ui-contracts/index.js";
|
|
2
|
-
import { renderPiShellTranscriptBlock } from "../../foundation/pi-component-adapter/index.js";
|
|
3
2
|
export class OwnedCommandSurface {
|
|
4
3
|
#handlers = new Map();
|
|
5
4
|
#sequence = 0;
|
|
@@ -81,7 +80,7 @@ export class OwnedUiCustomizationRegistry {
|
|
|
81
80
|
return registrations;
|
|
82
81
|
}
|
|
83
82
|
}
|
|
84
|
-
export function createVanillaUiCustomizationRegistry() {
|
|
83
|
+
export function createVanillaUiCustomizationRegistry(ports) {
|
|
85
84
|
const registry = new OwnedUiCustomizationRegistry();
|
|
86
85
|
const register = (slot, id, label, implementation = { payload: {} }) => registry.register({
|
|
87
86
|
id,
|
|
@@ -96,7 +95,7 @@ export function createVanillaUiCustomizationRegistry() {
|
|
|
96
95
|
});
|
|
97
96
|
register("transcript-block", "vanilla-transcript", "Vanilla transcript", {
|
|
98
97
|
payload: {},
|
|
99
|
-
render: (input, width) =>
|
|
98
|
+
render: (input, width) => ports.renderTranscriptBlock(input, width),
|
|
100
99
|
});
|
|
101
100
|
register("tool-card", "vanilla-tool-card", "Vanilla tool cards");
|
|
102
101
|
register("editor", "vanilla-editor", "Vanilla editor");
|
|
@@ -107,4 +106,3 @@ export function createVanillaUiCustomizationRegistry() {
|
|
|
107
106
|
register("layout", "vanilla-fullscreen", "Fullscreen session");
|
|
108
107
|
return registry;
|
|
109
108
|
}
|
|
110
|
-
//# sourceMappingURL=customization.js.map
|
|
@@ -1,9 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import type { PiTuiTerminalPort } from "../../foundation/pi-tui-runtime-adapter/index.js";
|
|
1
|
+
import type { OwnedUiApplicationPort } from "../../foundation/presentation-contracts/index.js";
|
|
3
2
|
export interface OwnedUiRunOptions {
|
|
4
|
-
readonly
|
|
5
|
-
readonly terminal?: PiTuiTerminalPort;
|
|
6
|
-
readonly adapter?: PiEngineAdapter;
|
|
3
|
+
readonly application: OwnedUiApplicationPort;
|
|
7
4
|
}
|
|
8
|
-
export declare function runOwnedUi(options
|
|
9
|
-
//# sourceMappingURL=run.d.ts.map
|
|
5
|
+
export declare function runOwnedUi(options: OwnedUiRunOptions): Promise<number>;
|
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export async function runOwnedUi(options = {}) {
|
|
4
|
-
const cwd = options.cwd ?? process.cwd();
|
|
5
|
-
const adapter = options.adapter ?? await createPiEngineAdapter({ cwd });
|
|
6
|
-
const shellOptions = options.terminal === undefined
|
|
7
|
-
? { adapter, cwd }
|
|
8
|
-
: { adapter, cwd, terminal: options.terminal };
|
|
9
|
-
const shell = new PiSessionShell(shellOptions);
|
|
1
|
+
export async function runOwnedUi(options) {
|
|
2
|
+
const { application } = options;
|
|
10
3
|
try {
|
|
11
|
-
|
|
12
|
-
await
|
|
13
|
-
if (!
|
|
14
|
-
await
|
|
4
|
+
application.start();
|
|
5
|
+
await application.flush();
|
|
6
|
+
if (!application.disposed)
|
|
7
|
+
await application.waitUntilStopped();
|
|
15
8
|
return 0;
|
|
16
9
|
}
|
|
17
10
|
finally {
|
|
18
|
-
await
|
|
11
|
+
await application.dispose();
|
|
19
12
|
}
|
|
20
13
|
}
|
|
21
|
-
//# sourceMappingURL=run.js.map
|
|
@@ -29,4 +29,3 @@ export type WorkspaceActionGateResult = {
|
|
|
29
29
|
};
|
|
30
30
|
export declare function gateWorkspaceAction(agent: ManagedAgentDescriptor, action: WorkspaceCapabilityAction): WorkspaceActionGateResult;
|
|
31
31
|
export declare function availableWorkspaceActions(agent: ManagedAgentDescriptor): readonly WorkspaceCapabilityActionType[];
|
|
32
|
-
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -19,7 +19,7 @@ export interface WorkspaceAgentPresentationRow {
|
|
|
19
19
|
}
|
|
20
20
|
export interface WorkspacePresentationModel {
|
|
21
21
|
readonly role: "listbox";
|
|
22
|
-
readonly label:
|
|
22
|
+
readonly label: string;
|
|
23
23
|
readonly selectedAgentId: string | null;
|
|
24
24
|
readonly rows: readonly WorkspaceAgentPresentationRow[];
|
|
25
25
|
readonly overflowCount: number;
|
|
@@ -28,4 +28,3 @@ export interface WorkspacePresentationModel {
|
|
|
28
28
|
}
|
|
29
29
|
export declare function presentWorkspace(view: WorkspaceView, options?: WorkspacePresentationOptions): WorkspacePresentationModel;
|
|
30
30
|
export declare function workspaceSelectionForKey(view: WorkspaceView, key: "ArrowDown" | "ArrowUp" | "Home" | "End"): string | null;
|
|
31
|
-
//# sourceMappingURL=presentation.d.ts.map
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
import { availableWorkspaceActions } from "./capabilities.js";
|
|
2
|
+
import { PRODUCT_TEXT } from "../../product-identity.js";
|
|
3
|
+
const WORKSPACE_LABEL = `${PRODUCT_TEXT.displayName} agents`;
|
|
2
4
|
export function presentWorkspace(view, options = {}) {
|
|
3
5
|
const maxRows = boundedInteger(options.maxRows ?? 8, 1, 100, "maximum workspace rows");
|
|
4
6
|
const maxLabelWidth = boundedInteger(options.maxLabelWidth ?? 32, 8, 64, "maximum workspace label width");
|
|
5
7
|
const rows = view.agents.slice(0, maxRows).map(agent => presentAgent(agent, view.selectedAgentId === agent.id, maxLabelWidth));
|
|
6
8
|
const overflowCount = Math.max(0, view.agents.length - rows.length);
|
|
7
9
|
const text = rows.length === 0
|
|
8
|
-
?
|
|
9
|
-
: [
|
|
10
|
+
? `${WORKSPACE_LABEL}\nNo managed agents.`
|
|
11
|
+
: [WORKSPACE_LABEL, ...rows.map(row => row.text), ...(overflowCount > 0 ? [`… ${overflowCount} more`] : [])].join("\n");
|
|
10
12
|
return Object.freeze({
|
|
11
13
|
role: "listbox",
|
|
12
|
-
label:
|
|
14
|
+
label: WORKSPACE_LABEL,
|
|
13
15
|
selectedAgentId: view.selectedAgentId,
|
|
14
16
|
rows: Object.freeze(rows),
|
|
15
17
|
overflowCount,
|
|
@@ -66,4 +68,3 @@ function boundedInteger(value, minimum, maximum, name) {
|
|
|
66
68
|
}
|
|
67
69
|
return value;
|
|
68
70
|
}
|
|
69
|
-
//# sourceMappingURL=presentation.js.map
|
|
@@ -13,4 +13,3 @@ export interface WorkspaceReconciliationReport {
|
|
|
13
13
|
readonly entries: readonly WorkspaceReconciliationEntry[];
|
|
14
14
|
}
|
|
15
15
|
export declare function reconcileWorkspaceRestart(reducer: WorkspaceReducer, store: WorkspaceStore, proofs: ReadonlyMap<string, StructuredResumeProof>, reconciledAt?: string): WorkspaceReconciliationReport;
|
|
16
|
-
//# sourceMappingURL=reconciliation.d.ts.map
|
|
@@ -15,4 +15,3 @@ export declare class WorkspaceStore {
|
|
|
15
15
|
persistRecoveryReference(authority: AgentRecoveryAuthority, status: "pending" | "accepted" | "rejected" | "discontinuous", rollbackMetadata: Readonly<Record<string, unknown>>, updatedAt?: string): void;
|
|
16
16
|
close(): void;
|
|
17
17
|
}
|
|
18
|
-
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import type { AgentJsonValue, AgentModelDescriptor, AgentResourceDescriptor, AgentSettingDescriptor } from "./domain.js";
|
|
2
|
+
export interface AgentModelPort {
|
|
3
|
+
readonly capabilities: {
|
|
4
|
+
readonly selection: boolean;
|
|
5
|
+
readonly refresh: boolean;
|
|
6
|
+
readonly scopedCatalog: boolean;
|
|
7
|
+
};
|
|
8
|
+
listModels(scope?: string): Promise<readonly AgentModelDescriptor[]>;
|
|
9
|
+
currentModel(): Promise<AgentModelDescriptor | null>;
|
|
10
|
+
selectModel?(providerId: string, modelId: string): Promise<void>;
|
|
11
|
+
refreshModels?(): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export interface AgentAuthenticationPort {
|
|
14
|
+
readonly capabilities: {
|
|
15
|
+
readonly login: boolean;
|
|
16
|
+
readonly logout: boolean;
|
|
17
|
+
};
|
|
18
|
+
status(providerId: string): Promise<"authenticated" | "unauthenticated" | "unavailable">;
|
|
19
|
+
login?(providerId: string, signal?: AbortSignal): Promise<void>;
|
|
20
|
+
logout?(providerId: string): Promise<void>;
|
|
21
|
+
}
|
|
22
|
+
export interface AgentSettingsPort {
|
|
23
|
+
readonly capabilities: {
|
|
24
|
+
readonly write: boolean;
|
|
25
|
+
readonly flush: boolean;
|
|
26
|
+
};
|
|
27
|
+
listSettings(): Promise<readonly AgentSettingDescriptor[]>;
|
|
28
|
+
readSetting(key: string): Promise<AgentJsonValue | undefined>;
|
|
29
|
+
writeSetting?(key: string, value: AgentJsonValue): Promise<void>;
|
|
30
|
+
flush?(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
export interface AgentResourcesPort {
|
|
33
|
+
readonly capabilities: {
|
|
34
|
+
readonly reload: boolean;
|
|
35
|
+
readonly extensionBinding: boolean;
|
|
36
|
+
};
|
|
37
|
+
discoverResources(): Promise<readonly AgentResourceDescriptor[]>;
|
|
38
|
+
reload?(): Promise<void>;
|
|
39
|
+
bindExtensions?(sessionId: string): Promise<AgentExtensionBinding>;
|
|
40
|
+
}
|
|
41
|
+
export interface AgentExtensionBinding {
|
|
42
|
+
readonly sessionId: string;
|
|
43
|
+
dispose(): Promise<void>;
|
|
44
|
+
}
|
|
45
|
+
export interface AgentExtensionCommand {
|
|
46
|
+
readonly name: string;
|
|
47
|
+
readonly description: string;
|
|
48
|
+
}
|
|
49
|
+
export interface AgentSessionMetadata {
|
|
50
|
+
readonly sessionId: string;
|
|
51
|
+
readonly sessionName: string | null;
|
|
52
|
+
readonly sessionPath: string | null;
|
|
53
|
+
readonly cwd: string;
|
|
54
|
+
}
|
|
55
|
+
export interface AgentExtensionFailure {
|
|
56
|
+
readonly extensionPath: string | null;
|
|
57
|
+
readonly operation: string;
|
|
58
|
+
readonly message: string;
|
|
59
|
+
readonly recoverable: boolean;
|
|
60
|
+
}
|
|
61
|
+
export interface AgentExtensionPort {
|
|
62
|
+
readonly capabilities: {
|
|
63
|
+
readonly reload: boolean;
|
|
64
|
+
readonly binding: boolean;
|
|
65
|
+
readonly renderers: boolean;
|
|
66
|
+
};
|
|
67
|
+
discoverCommands(): Promise<readonly AgentExtensionCommand[]>;
|
|
68
|
+
sessionMetadata(): Promise<AgentSessionMetadata>;
|
|
69
|
+
bind?(sessionId: string): Promise<AgentExtensionBinding>;
|
|
70
|
+
reload?(): Promise<void>;
|
|
71
|
+
resolveMessageRenderer?(customType: string): unknown;
|
|
72
|
+
resolveToolRenderer?(toolName: string): unknown;
|
|
73
|
+
subscribeFailures(listener: (failure: AgentExtensionFailure) => void): () => void;
|
|
74
|
+
}
|
|
75
|
+
export interface AgentWorkflowDescriptor {
|
|
76
|
+
readonly id: string;
|
|
77
|
+
readonly label: string;
|
|
78
|
+
readonly requiredCommands: readonly string[];
|
|
79
|
+
}
|
|
80
|
+
export interface AgentWorkflowPort {
|
|
81
|
+
readonly capabilities: {
|
|
82
|
+
readonly execute: boolean;
|
|
83
|
+
};
|
|
84
|
+
listWorkflows(): Promise<readonly AgentWorkflowDescriptor[]>;
|
|
85
|
+
executeWorkflow?(workflowId: string, input: AgentJsonValue, signal?: AbortSignal): Promise<AgentJsonValue>;
|
|
86
|
+
}
|
|
87
|
+
export interface AgentServicePorts {
|
|
88
|
+
readonly models: AgentModelPort;
|
|
89
|
+
readonly authentication: AgentAuthenticationPort;
|
|
90
|
+
readonly settings: AgentSettingsPort;
|
|
91
|
+
readonly resources: AgentResourcesPort;
|
|
92
|
+
readonly extensions: AgentExtensionPort;
|
|
93
|
+
readonly workflows: AgentWorkflowPort;
|
|
94
|
+
}
|
|
95
|
+
export declare function assertAgentServicePorts(ports: AgentServicePorts): void;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export function assertAgentServicePorts(ports) {
|
|
2
|
+
required(ports.models, ["listModels", "currentModel"], "model");
|
|
3
|
+
advertised(ports.models, "selection", "selectModel", "model");
|
|
4
|
+
advertised(ports.models, "refresh", "refreshModels", "model");
|
|
5
|
+
required(ports.authentication, ["status"], "authentication");
|
|
6
|
+
advertised(ports.authentication, "login", "login", "authentication");
|
|
7
|
+
advertised(ports.authentication, "logout", "logout", "authentication");
|
|
8
|
+
required(ports.settings, ["listSettings", "readSetting"], "settings");
|
|
9
|
+
advertised(ports.settings, "write", "writeSetting", "settings");
|
|
10
|
+
advertised(ports.settings, "flush", "flush", "settings");
|
|
11
|
+
required(ports.resources, ["discoverResources"], "resources");
|
|
12
|
+
advertised(ports.resources, "reload", "reload", "resources");
|
|
13
|
+
advertised(ports.resources, "extensionBinding", "bindExtensions", "resources");
|
|
14
|
+
required(ports.extensions, ["discoverCommands", "sessionMetadata", "subscribeFailures"], "extensions");
|
|
15
|
+
advertised(ports.extensions, "reload", "reload", "extensions");
|
|
16
|
+
advertised(ports.extensions, "binding", "bind", "extensions");
|
|
17
|
+
advertised(ports.extensions, "renderers", "resolveMessageRenderer", "extensions");
|
|
18
|
+
advertised(ports.extensions, "renderers", "resolveToolRenderer", "extensions");
|
|
19
|
+
required(ports.workflows, ["listWorkflows"], "workflow");
|
|
20
|
+
advertised(ports.workflows, "execute", "executeWorkflow", "workflow");
|
|
21
|
+
}
|
|
22
|
+
function required(port, operations, label) {
|
|
23
|
+
if (!port || typeof port.capabilities !== "object")
|
|
24
|
+
throw new TypeError(`${label} port and capabilities are required`);
|
|
25
|
+
for (const operation of operations)
|
|
26
|
+
if (typeof port[operation] !== "function")
|
|
27
|
+
throw new TypeError(`${label} port requires ${operation}`);
|
|
28
|
+
}
|
|
29
|
+
function advertised(port, capability, operation, label) {
|
|
30
|
+
const enabled = port.capabilities[capability];
|
|
31
|
+
if (typeof enabled !== "boolean")
|
|
32
|
+
throw new TypeError(`${label} capability ${capability} must be explicit`);
|
|
33
|
+
if (enabled && typeof port[operation] !== "function")
|
|
34
|
+
throw new TypeError(`${label} capability ${capability} requires ${operation}`);
|
|
35
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AgentDomainCapabilities, AgentFailure, AgentMessage, AgentMessageContent, AgentModelDescriptor, AgentResourceDescriptor, AgentSettingDescriptor, AgentThemeDescriptor, AgentToolDescriptor, AgentUiContribution, AgentUsage } from "./domain.js";
|
|
2
|
+
export declare function assertAgentDomainCapabilities(value: AgentDomainCapabilities): void;
|
|
3
|
+
export declare function assertAgentMessage(message: AgentMessage): void;
|
|
4
|
+
export declare function assertAgentMessageContent(content: AgentMessageContent): void;
|
|
5
|
+
export declare function assertAgentToolDescriptor(value: AgentToolDescriptor): void;
|
|
6
|
+
export declare function assertAgentUsage(value: AgentUsage): void;
|
|
7
|
+
export declare function assertAgentModelDescriptor(value: AgentModelDescriptor): void;
|
|
8
|
+
export declare function assertAgentSettingDescriptor(value: AgentSettingDescriptor): void;
|
|
9
|
+
export declare function assertAgentResourceDescriptor(value: AgentResourceDescriptor): void;
|
|
10
|
+
export declare function assertAgentThemeDescriptor(value: AgentThemeDescriptor): void;
|
|
11
|
+
export declare function assertAgentUiContribution(value: AgentUiContribution): void;
|
|
12
|
+
export declare function assertAgentFailure(value: AgentFailure): void;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
const CONTENT = new Set(["text", "thinking", "image", "tool-call", "tool-result", "unknown"]);
|
|
2
|
+
const CAPABILITIES = {
|
|
3
|
+
tools: new Set(["discovery", "invocation", "streaming-results"]),
|
|
4
|
+
usage: new Set(["tokens", "cache", "cost"]),
|
|
5
|
+
models: new Set(["discovery", "selection", "thinking-level"]),
|
|
6
|
+
settings: new Set(["read", "write"]),
|
|
7
|
+
resources: new Set(["commands", "prompts", "skills", "extensions", "themes"]),
|
|
8
|
+
uiContributions: new Set(["transcript", "tool", "editor", "status", "dialog", "overlay", "unknown"]),
|
|
9
|
+
};
|
|
10
|
+
const FAILURES = new Set(["configuration", "authentication", "authorization", "network", "rate-limit", "context-limit", "tool", "cancelled", "engine", "unknown"]);
|
|
11
|
+
export function assertAgentDomainCapabilities(value) {
|
|
12
|
+
unique(value.messageContent, CONTENT, "message content capability");
|
|
13
|
+
for (const [key, allowed] of Object.entries(CAPABILITIES))
|
|
14
|
+
unique(value[key], allowed, `${key} capability`);
|
|
15
|
+
}
|
|
16
|
+
export function assertAgentMessage(message) {
|
|
17
|
+
id(message.id, "message id");
|
|
18
|
+
if (!["user", "assistant", "tool", "system"].includes(message.role) || !["streaming", "final"].includes(message.status))
|
|
19
|
+
throw new TypeError("message metadata is invalid");
|
|
20
|
+
if (!Array.isArray(message.content) || message.content.length === 0)
|
|
21
|
+
throw new TypeError("message content is empty");
|
|
22
|
+
for (const content of message.content)
|
|
23
|
+
assertAgentMessageContent(content);
|
|
24
|
+
}
|
|
25
|
+
export function assertAgentMessageContent(content) {
|
|
26
|
+
if (!CONTENT.has(content.kind))
|
|
27
|
+
throw new TypeError("message content kind is unknown and must use the unknown envelope");
|
|
28
|
+
if (content.kind === "text" || content.kind === "thinking")
|
|
29
|
+
text(content.text, "message text", true);
|
|
30
|
+
if (content.kind === "image") {
|
|
31
|
+
text(content.mediaType, "image media type");
|
|
32
|
+
text(content.data, "image data");
|
|
33
|
+
}
|
|
34
|
+
if (content.kind === "tool-call") {
|
|
35
|
+
id(content.invocationId, "tool invocation id");
|
|
36
|
+
id(content.toolName, "tool name");
|
|
37
|
+
json(content.input, "tool input");
|
|
38
|
+
}
|
|
39
|
+
if (content.kind === "tool-result") {
|
|
40
|
+
id(content.invocationId, "tool result invocation id");
|
|
41
|
+
json(content.output, "tool output");
|
|
42
|
+
if (typeof content.failed !== "boolean")
|
|
43
|
+
throw new TypeError("tool result failure flag is invalid");
|
|
44
|
+
}
|
|
45
|
+
if (content.kind === "unknown") {
|
|
46
|
+
text(content.sourceType, "unknown content source type");
|
|
47
|
+
json(content.payload, "unknown content payload");
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
export function assertAgentToolDescriptor(value) { id(value.name, "tool name"); text(value.description, "tool description", true); json(value.inputSchema, "tool input schema"); }
|
|
51
|
+
export function assertAgentUsage(value) { for (const amount of [value.inputTokens, value.outputTokens, value.cacheReadTokens, value.cacheWriteTokens])
|
|
52
|
+
nonNegative(amount, "usage token count"); if (value.cost !== null && (!(typeof value.cost === "number") || !Number.isFinite(value.cost) || value.cost < 0))
|
|
53
|
+
throw new TypeError("usage cost is invalid"); }
|
|
54
|
+
export function assertAgentModelDescriptor(value) { id(value.providerId, "model provider id"); id(value.modelId, "model id"); text(value.displayName, "model display name"); nonNegative(value.contextWindow, "model context window"); unique(value.thinkingLevels, undefined, "model thinking levels"); }
|
|
55
|
+
export function assertAgentSettingDescriptor(value) { id(value.key, "setting key"); if (!["boolean", "number", "string", "enum", "json"].includes(value.valueType) || typeof value.writable !== "boolean")
|
|
56
|
+
throw new TypeError("setting descriptor is invalid"); if (value.choices)
|
|
57
|
+
for (const choice of value.choices)
|
|
58
|
+
json(choice, "setting choice"); }
|
|
59
|
+
export function assertAgentResourceDescriptor(value) { id(value.id, "resource id"); if (!["command", "prompt", "skill", "extension", "other"].includes(value.kind))
|
|
60
|
+
throw new TypeError("resource kind is invalid"); text(value.label, "resource label"); json(value.metadata, "resource metadata"); }
|
|
61
|
+
export function assertAgentThemeDescriptor(value) { id(value.id, "theme id"); text(value.label, "theme label"); if (!value.tokens || typeof value.tokens !== "object" || Object.values(value.tokens).some(token => typeof token !== "string"))
|
|
62
|
+
throw new TypeError("theme tokens are invalid"); }
|
|
63
|
+
export function assertAgentUiContribution(value) { id(value.id, "UI contribution id"); if (!CAPABILITIES.uiContributions.has(value.slot) || !Number.isSafeInteger(value.version) || value.version < 1)
|
|
64
|
+
throw new TypeError("UI contribution metadata is invalid"); json(value.payload, "UI contribution payload"); }
|
|
65
|
+
export function assertAgentFailure(value) { if (!FAILURES.has(value.category))
|
|
66
|
+
throw new TypeError("failure category is invalid"); id(value.code, "failure code"); text(value.message, "failure message"); if (typeof value.retryable !== "boolean")
|
|
67
|
+
throw new TypeError("failure retryability is invalid"); json(value.details, "failure details"); }
|
|
68
|
+
function unique(values, allowed, label) { if (!Array.isArray(values))
|
|
69
|
+
throw new TypeError(`${label} must be an array`); const found = new Set(); for (const value of values) {
|
|
70
|
+
if ((allowed && !allowed.has(value)) || typeof value !== "string")
|
|
71
|
+
throw new TypeError(`${label} is invalid: ${String(value)}`);
|
|
72
|
+
if (found.has(value))
|
|
73
|
+
throw new TypeError(`${label} is duplicated: ${String(value)}`);
|
|
74
|
+
found.add(value);
|
|
75
|
+
} }
|
|
76
|
+
function id(value, label) { if (typeof value !== "string" || !/^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/.test(value))
|
|
77
|
+
throw new TypeError(`${label} is invalid`); }
|
|
78
|
+
function text(value, label, empty = false) { if (typeof value !== "string" || (!empty && value.length === 0) || Buffer.byteLength(value) > 256 * 1024)
|
|
79
|
+
throw new TypeError(`${label} is invalid`); }
|
|
80
|
+
function nonNegative(value, label) { if (!Number.isSafeInteger(value) || value < 0)
|
|
81
|
+
throw new TypeError(`${label} is invalid`); }
|
|
82
|
+
function json(value, label) { try {
|
|
83
|
+
const encoded = JSON.stringify(value);
|
|
84
|
+
if (encoded === undefined || Buffer.byteLength(encoded) > 256 * 1024)
|
|
85
|
+
throw new Error();
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
throw new TypeError(`${label} must be bounded JSON`);
|
|
89
|
+
} }
|