@timurproko/a1 0.1.0
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/LICENSE +21 -0
- package/README.md +68 -0
- package/bin/addone-supervisor.js +7 -0
- package/bin/addone-ui.js +20 -0
- package/bin/addone.js +26 -0
- package/dist/src/cli/dispatch.d.ts +26 -0
- package/dist/src/cli/dispatch.d.ts.map +1 -0
- package/dist/src/cli/dispatch.js +35 -0
- package/dist/src/cli/dispatch.js.map +1 -0
- package/dist/src/cli/index.d.ts +4 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +4 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/version-stats.d.ts +17 -0
- package/dist/src/cli/version-stats.d.ts.map +1 -0
- package/dist/src/cli/version-stats.js +68 -0
- package/dist/src/cli/version-stats.js.map +1 -0
- package/dist/src/cli/version.d.ts +3 -0
- package/dist/src/cli/version.d.ts.map +1 -0
- package/dist/src/cli/version.js +23 -0
- package/dist/src/cli/version.js.map +1 -0
- package/dist/src/features/launch/development-launch.d.ts +9 -0
- package/dist/src/features/launch/development-launch.d.ts.map +1 -0
- package/dist/src/features/launch/development-launch.js +27 -0
- package/dist/src/features/launch/development-launch.js.map +1 -0
- package/dist/src/features/launch/index.d.ts +8 -0
- package/dist/src/features/launch/index.d.ts.map +1 -0
- package/dist/src/features/launch/index.js +8 -0
- package/dist/src/features/launch/index.js.map +1 -0
- package/dist/src/features/launch/initialize-profile.d.ts +7 -0
- package/dist/src/features/launch/initialize-profile.d.ts.map +1 -0
- package/dist/src/features/launch/initialize-profile.js +59 -0
- package/dist/src/features/launch/initialize-profile.js.map +1 -0
- package/dist/src/features/launch/intent.d.ts +8 -0
- package/dist/src/features/launch/intent.d.ts.map +1 -0
- package/dist/src/features/launch/intent.js +5 -0
- package/dist/src/features/launch/intent.js.map +1 -0
- package/dist/src/features/launch/prepare-launch.d.ts +14 -0
- package/dist/src/features/launch/prepare-launch.d.ts.map +1 -0
- package/dist/src/features/launch/prepare-launch.js +22 -0
- package/dist/src/features/launch/prepare-launch.js.map +1 -0
- package/dist/src/features/launch/profile-paths.d.ts +16 -0
- package/dist/src/features/launch/profile-paths.d.ts.map +1 -0
- package/dist/src/features/launch/profile-paths.js +30 -0
- package/dist/src/features/launch/profile-paths.js.map +1 -0
- package/dist/src/features/launch/profiles.d.ts +13 -0
- package/dist/src/features/launch/profiles.d.ts.map +1 -0
- package/dist/src/features/launch/profiles.js +27 -0
- package/dist/src/features/launch/profiles.js.map +1 -0
- package/dist/src/features/launch/runtime-selection.d.ts +15 -0
- package/dist/src/features/launch/runtime-selection.d.ts.map +1 -0
- package/dist/src/features/launch/runtime-selection.js +14 -0
- package/dist/src/features/launch/runtime-selection.js.map +1 -0
- package/dist/src/features/owned-ui/customization.d.ts +36 -0
- package/dist/src/features/owned-ui/customization.d.ts.map +1 -0
- package/dist/src/features/owned-ui/customization.js +110 -0
- package/dist/src/features/owned-ui/customization.js.map +1 -0
- package/dist/src/features/owned-ui/diagnostics.d.ts +34 -0
- package/dist/src/features/owned-ui/diagnostics.d.ts.map +1 -0
- package/dist/src/features/owned-ui/diagnostics.js +95 -0
- package/dist/src/features/owned-ui/diagnostics.js.map +1 -0
- package/dist/src/features/owned-ui/index.d.ts +5 -0
- package/dist/src/features/owned-ui/index.d.ts.map +1 -0
- package/dist/src/features/owned-ui/index.js +5 -0
- package/dist/src/features/owned-ui/index.js.map +1 -0
- package/dist/src/features/owned-ui/pi-session-shell.d.ts +97 -0
- package/dist/src/features/owned-ui/pi-session-shell.d.ts.map +1 -0
- package/dist/src/features/owned-ui/pi-session-shell.js +1437 -0
- package/dist/src/features/owned-ui/pi-session-shell.js.map +1 -0
- package/dist/src/features/owned-ui/run.d.ts +9 -0
- package/dist/src/features/owned-ui/run.d.ts.map +1 -0
- package/dist/src/features/owned-ui/run.js +21 -0
- package/dist/src/features/owned-ui/run.js.map +1 -0
- package/dist/src/features/workspace/capabilities.d.ts +32 -0
- package/dist/src/features/workspace/capabilities.d.ts.map +1 -0
- package/dist/src/features/workspace/capabilities.js +76 -0
- package/dist/src/features/workspace/capabilities.js.map +1 -0
- package/dist/src/features/workspace/index.d.ts +7 -0
- package/dist/src/features/workspace/index.d.ts.map +1 -0
- package/dist/src/features/workspace/index.js +7 -0
- package/dist/src/features/workspace/index.js.map +1 -0
- package/dist/src/features/workspace/presentation.d.ts +31 -0
- package/dist/src/features/workspace/presentation.d.ts.map +1 -0
- package/dist/src/features/workspace/presentation.js +69 -0
- package/dist/src/features/workspace/presentation.js.map +1 -0
- package/dist/src/features/workspace/reconciliation.d.ts +16 -0
- package/dist/src/features/workspace/reconciliation.d.ts.map +1 -0
- package/dist/src/features/workspace/reconciliation.js +83 -0
- package/dist/src/features/workspace/reconciliation.js.map +1 -0
- package/dist/src/features/workspace/reducer.d.ts +43 -0
- package/dist/src/features/workspace/reducer.d.ts.map +1 -0
- package/dist/src/features/workspace/reducer.js +214 -0
- package/dist/src/features/workspace/reducer.js.map +1 -0
- package/dist/src/features/workspace/router.d.ts +32 -0
- package/dist/src/features/workspace/router.d.ts.map +1 -0
- package/dist/src/features/workspace/router.js +125 -0
- package/dist/src/features/workspace/router.js.map +1 -0
- package/dist/src/features/workspace/store.d.ts +18 -0
- package/dist/src/features/workspace/store.d.ts.map +1 -0
- package/dist/src/features/workspace/store.js +55 -0
- package/dist/src/features/workspace/store.js.map +1 -0
- package/dist/src/foundation/lifecycle/index.d.ts +3 -0
- package/dist/src/foundation/lifecycle/index.d.ts.map +1 -0
- package/dist/src/foundation/lifecycle/index.js +3 -0
- package/dist/src/foundation/lifecycle/index.js.map +1 -0
- package/dist/src/foundation/lifecycle/model.d.ts +101 -0
- package/dist/src/foundation/lifecycle/model.d.ts.map +1 -0
- package/dist/src/foundation/lifecycle/model.js +40 -0
- package/dist/src/foundation/lifecycle/model.js.map +1 -0
- package/dist/src/foundation/lifecycle/paths.d.ts +11 -0
- package/dist/src/foundation/lifecycle/paths.d.ts.map +1 -0
- package/dist/src/foundation/lifecycle/paths.js +26 -0
- package/dist/src/foundation/lifecycle/paths.js.map +1 -0
- package/dist/src/foundation/native-host-protocol/codec.d.ts +12 -0
- package/dist/src/foundation/native-host-protocol/codec.d.ts.map +1 -0
- package/dist/src/foundation/native-host-protocol/codec.js +57 -0
- package/dist/src/foundation/native-host-protocol/codec.js.map +1 -0
- package/dist/src/foundation/native-host-protocol/evidence.d.ts +68 -0
- package/dist/src/foundation/native-host-protocol/evidence.d.ts.map +1 -0
- package/dist/src/foundation/native-host-protocol/evidence.js +141 -0
- package/dist/src/foundation/native-host-protocol/evidence.js.map +1 -0
- package/dist/src/foundation/native-host-protocol/index.d.ts +5 -0
- package/dist/src/foundation/native-host-protocol/index.d.ts.map +1 -0
- package/dist/src/foundation/native-host-protocol/index.js +5 -0
- package/dist/src/foundation/native-host-protocol/index.js.map +1 -0
- package/dist/src/foundation/native-host-protocol/messages.d.ts +57 -0
- package/dist/src/foundation/native-host-protocol/messages.d.ts.map +1 -0
- package/dist/src/foundation/native-host-protocol/messages.js +149 -0
- package/dist/src/foundation/native-host-protocol/messages.js.map +1 -0
- package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +14 -0
- package/dist/src/foundation/native-host-protocol/proof-gate.d.ts.map +1 -0
- package/dist/src/foundation/native-host-protocol/proof-gate.js +34 -0
- package/dist/src/foundation/native-host-protocol/proof-gate.js.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +303 -0
- package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/extension-ui.js +69 -0
- package/dist/src/foundation/owned-ui-contracts/extension-ui.js.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/index.d.ts +4 -0
- package/dist/src/foundation/owned-ui-contracts/index.d.ts.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/index.js +4 -0
- package/dist/src/foundation/owned-ui-contracts/index.js.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/model.d.ts +242 -0
- package/dist/src/foundation/owned-ui-contracts/model.d.ts.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/model.js +2 -0
- package/dist/src/foundation/owned-ui-contracts/model.js.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/validation.d.ts +12 -0
- package/dist/src/foundation/owned-ui-contracts/validation.d.ts.map +1 -0
- package/dist/src/foundation/owned-ui-contracts/validation.js +396 -0
- package/dist/src/foundation/owned-ui-contracts/validation.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/components.d.ts +5 -0
- package/dist/src/foundation/pi-component-adapter/components.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/components.js +65 -0
- package/dist/src/foundation/pi-component-adapter/components.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/conformance.d.ts +17 -0
- package/dist/src/foundation/pi-component-adapter/conformance.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/conformance.js +63 -0
- package/dist/src/foundation/pi-component-adapter/conformance.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/index.d.ts +13 -0
- package/dist/src/foundation/pi-component-adapter/index.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/index.js +13 -0
- package/dist/src/foundation/pi-component-adapter/index.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +7 -0
- package/dist/src/foundation/pi-component-adapter/shell-components.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-components.js +7 -0
- package/dist/src/foundation/pi-component-adapter/shell-components.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +12 -0
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +165 -0
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +36 -0
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +280 -0
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +8 -0
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +246 -0
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +43 -0
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +397 -0
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +106 -0
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +234 -0
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +117 -0
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +88 -0
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/theme.d.ts +2 -0
- package/dist/src/foundation/pi-component-adapter/theme.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/theme.js +2 -0
- package/dist/src/foundation/pi-component-adapter/theme.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +423 -0
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +297 -0
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +11 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js +30 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +18 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +52 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +23 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +143 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +5 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +43 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +18 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +82 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +25 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +106 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +3 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +19 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts +10 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +78 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +56 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +343 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts +23 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +160 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +96 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +890 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +20 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +45 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +31 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +60 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +99 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +1273 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +34 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +77 -0
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts +10 -0
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +40 -0
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +16 -0
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.js +15 -0
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +26 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +118 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +54 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts.map +1 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +311 -0
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +343 -0
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/adapter.js +2365 -0
- package/dist/src/foundation/pi-engine-adapter/adapter.js.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +14 -0
- package/dist/src/foundation/pi-engine-adapter/conformance.d.ts.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/conformance.js +85 -0
- package/dist/src/foundation/pi-engine-adapter/conformance.js.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/index.d.ts +4 -0
- package/dist/src/foundation/pi-engine-adapter/index.d.ts.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/index.js +4 -0
- package/dist/src/foundation/pi-engine-adapter/index.js.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +165 -0
- package/dist/src/foundation/pi-engine-adapter/workflows.d.ts.map +1 -0
- package/dist/src/foundation/pi-engine-adapter/workflows.js +61 -0
- package/dist/src/foundation/pi-engine-adapter/workflows.js.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +34 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +485 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +14 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +132 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +122 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js +2 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +4 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts.map +1 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js +4 -0
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js.map +1 -0
- package/dist/src/foundation/protocol/client.d.ts +17 -0
- package/dist/src/foundation/protocol/client.d.ts.map +1 -0
- package/dist/src/foundation/protocol/client.js +127 -0
- package/dist/src/foundation/protocol/client.js.map +1 -0
- package/dist/src/foundation/protocol/index.d.ts +3 -0
- package/dist/src/foundation/protocol/index.d.ts.map +1 -0
- package/dist/src/foundation/protocol/index.js +3 -0
- package/dist/src/foundation/protocol/index.js.map +1 -0
- package/dist/src/foundation/protocol/messages.d.ts +90 -0
- package/dist/src/foundation/protocol/messages.d.ts.map +1 -0
- package/dist/src/foundation/protocol/messages.js +99 -0
- package/dist/src/foundation/protocol/messages.js.map +1 -0
- package/dist/src/foundation/release/bootstrap.d.ts +30 -0
- package/dist/src/foundation/release/bootstrap.d.ts.map +1 -0
- package/dist/src/foundation/release/bootstrap.js +283 -0
- package/dist/src/foundation/release/bootstrap.js.map +1 -0
- package/dist/src/foundation/release/cohort-selection.d.ts +40 -0
- package/dist/src/foundation/release/cohort-selection.d.ts.map +1 -0
- package/dist/src/foundation/release/cohort-selection.js +76 -0
- package/dist/src/foundation/release/cohort-selection.js.map +1 -0
- package/dist/src/foundation/release/cohort-state.d.ts +68 -0
- package/dist/src/foundation/release/cohort-state.d.ts.map +1 -0
- package/dist/src/foundation/release/cohort-state.js +201 -0
- package/dist/src/foundation/release/cohort-state.js.map +1 -0
- package/dist/src/foundation/release/development-preview-release.d.ts +49 -0
- package/dist/src/foundation/release/development-preview-release.d.ts.map +1 -0
- package/dist/src/foundation/release/development-preview-release.js +113 -0
- package/dist/src/foundation/release/development-preview-release.js.map +1 -0
- package/dist/src/foundation/release/index.d.ts +12 -0
- package/dist/src/foundation/release/index.d.ts.map +1 -0
- package/dist/src/foundation/release/index.js +12 -0
- package/dist/src/foundation/release/index.js.map +1 -0
- package/dist/src/foundation/release/process-cleanup.d.ts +15 -0
- package/dist/src/foundation/release/process-cleanup.d.ts.map +1 -0
- package/dist/src/foundation/release/process-cleanup.js +67 -0
- package/dist/src/foundation/release/process-cleanup.js.map +1 -0
- package/dist/src/foundation/release/release-gc.d.ts +6 -0
- package/dist/src/foundation/release/release-gc.d.ts.map +1 -0
- package/dist/src/foundation/release/release-gc.js +17 -0
- package/dist/src/foundation/release/release-gc.js.map +1 -0
- package/dist/src/foundation/release/release-store.d.ts +11 -0
- package/dist/src/foundation/release/release-store.d.ts.map +1 -0
- package/dist/src/foundation/release/release-store.js +115 -0
- package/dist/src/foundation/release/release-store.js.map +1 -0
- package/dist/src/foundation/release/release.d.ts +24 -0
- package/dist/src/foundation/release/release.d.ts.map +1 -0
- package/dist/src/foundation/release/release.js +151 -0
- package/dist/src/foundation/release/release.js.map +1 -0
- package/dist/src/foundation/release/stable-release.d.ts +30 -0
- package/dist/src/foundation/release/stable-release.d.ts.map +1 -0
- package/dist/src/foundation/release/stable-release.js +38 -0
- package/dist/src/foundation/release/stable-release.js.map +1 -0
- package/dist/src/foundation/release/update-transaction.d.ts +31 -0
- package/dist/src/foundation/release/update-transaction.d.ts.map +1 -0
- package/dist/src/foundation/release/update-transaction.js +88 -0
- package/dist/src/foundation/release/update-transaction.js.map +1 -0
- package/dist/src/foundation/release/update.d.ts +55 -0
- package/dist/src/foundation/release/update.d.ts.map +1 -0
- package/dist/src/foundation/release/update.js +316 -0
- package/dist/src/foundation/release/update.js.map +1 -0
- package/dist/src/foundation/storage/control-store.d.ts +61 -0
- package/dist/src/foundation/storage/control-store.d.ts.map +1 -0
- package/dist/src/foundation/storage/control-store.js +459 -0
- package/dist/src/foundation/storage/control-store.js.map +1 -0
- package/dist/src/foundation/storage/index.d.ts +2 -0
- package/dist/src/foundation/storage/index.d.ts.map +1 -0
- package/dist/src/foundation/storage/index.js +2 -0
- package/dist/src/foundation/storage/index.js.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +47 -0
- package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/backpressure.js +119 -0
- package/dist/src/foundation/structured-agent-runtime/backpressure.js.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/commands.d.ts +53 -0
- package/dist/src/foundation/structured-agent-runtime/commands.d.ts.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/commands.js +165 -0
- package/dist/src/foundation/structured-agent-runtime/commands.js.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +42 -0
- package/dist/src/foundation/structured-agent-runtime/handshake.d.ts.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/handshake.js +151 -0
- package/dist/src/foundation/structured-agent-runtime/handshake.js.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/index.d.ts +6 -0
- package/dist/src/foundation/structured-agent-runtime/index.d.ts.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/index.js +6 -0
- package/dist/src/foundation/structured-agent-runtime/index.js.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +38 -0
- package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/reconnection.js +130 -0
- package/dist/src/foundation/structured-agent-runtime/reconnection.js.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/state.d.ts +57 -0
- package/dist/src/foundation/structured-agent-runtime/state.d.ts.map +1 -0
- package/dist/src/foundation/structured-agent-runtime/state.js +119 -0
- package/dist/src/foundation/structured-agent-runtime/state.js.map +1 -0
- package/dist/src/foundation/supervision/index.d.ts +4 -0
- package/dist/src/foundation/supervision/index.d.ts.map +1 -0
- package/dist/src/foundation/supervision/index.js +4 -0
- package/dist/src/foundation/supervision/index.js.map +1 -0
- package/dist/src/foundation/supervision/main.d.ts +2 -0
- package/dist/src/foundation/supervision/main.d.ts.map +1 -0
- package/dist/src/foundation/supervision/main.js +40 -0
- package/dist/src/foundation/supervision/main.js.map +1 -0
- package/dist/src/foundation/supervision/paths.d.ts +2 -0
- package/dist/src/foundation/supervision/paths.d.ts.map +1 -0
- package/dist/src/foundation/supervision/paths.js +2 -0
- package/dist/src/foundation/supervision/paths.js.map +1 -0
- package/dist/src/foundation/supervision/server.d.ts +21 -0
- package/dist/src/foundation/supervision/server.d.ts.map +1 -0
- package/dist/src/foundation/supervision/server.js +283 -0
- package/dist/src/foundation/supervision/server.js.map +1 -0
- package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +14 -0
- package/dist/src/foundation/transparent-terminal/command-resolution.d.ts.map +1 -0
- package/dist/src/foundation/transparent-terminal/command-resolution.js +70 -0
- package/dist/src/foundation/transparent-terminal/command-resolution.js.map +1 -0
- package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +33 -0
- package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +1 -0
- package/dist/src/foundation/transparent-terminal/foreground-broker.js +88 -0
- package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +1 -0
- package/dist/src/foundation/transparent-terminal/index.d.ts +4 -0
- package/dist/src/foundation/transparent-terminal/index.d.ts.map +1 -0
- package/dist/src/foundation/transparent-terminal/index.js +4 -0
- package/dist/src/foundation/transparent-terminal/index.js.map +1 -0
- package/dist/src/foundation/transparent-terminal/main.d.ts +10 -0
- package/dist/src/foundation/transparent-terminal/main.d.ts.map +1 -0
- package/dist/src/foundation/transparent-terminal/main.js +107 -0
- package/dist/src/foundation/transparent-terminal/main.js.map +1 -0
- package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +26 -0
- package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +1 -0
- package/dist/src/foundation/transparent-terminal/native-launcher.js +147 -0
- package/dist/src/foundation/transparent-terminal/native-launcher.js.map +1 -0
- package/dist/src/foundation/workspace-contracts/index.d.ts +3 -0
- package/dist/src/foundation/workspace-contracts/index.d.ts.map +1 -0
- package/dist/src/foundation/workspace-contracts/index.js +3 -0
- package/dist/src/foundation/workspace-contracts/index.js.map +1 -0
- package/dist/src/foundation/workspace-contracts/model.d.ts +249 -0
- package/dist/src/foundation/workspace-contracts/model.d.ts.map +1 -0
- package/dist/src/foundation/workspace-contracts/model.js +3 -0
- package/dist/src/foundation/workspace-contracts/model.js.map +1 -0
- package/dist/src/foundation/workspace-contracts/validation.d.ts +14 -0
- package/dist/src/foundation/workspace-contracts/validation.d.ts.map +1 -0
- package/dist/src/foundation/workspace-contracts/validation.js +336 -0
- package/dist/src/foundation/workspace-contracts/validation.js.map +1 -0
- package/docs/architecture/boundaries.md +46 -0
- package/docs/architecture/project-structure.md +81 -0
- package/docs/architecture/resource-and-data-policy.md +55 -0
- package/docs/architecture/terminal-host-proof-gate.md +32 -0
- package/docs/architecture/terminal-host-provenance.md +69 -0
- package/docs/architecture/terminal-host-spike-evidence.md +39 -0
- package/docs/architecture/toolchain.md +66 -0
- package/docs/features/launch-profiles.md +50 -0
- package/docs/manual-transparent-checkpoint.md +53 -0
- package/package.json +73 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { realpath } from "node:fs/promises";
|
|
3
|
+
import { resolve } from "node:path";
|
|
4
|
+
import { assertLaunchProfileId } from "../lifecycle/index.js";
|
|
5
|
+
import { SupervisorClient } from "../protocol/index.js";
|
|
6
|
+
import { resolveAddOnePaths } from "../supervision/index.js";
|
|
7
|
+
import { runForegroundBroker } from "./foreground-broker.js";
|
|
8
|
+
import { createPlatformTransparentLauncher } from "./native-launcher.js";
|
|
9
|
+
export async function runTransparentForeground(options = {}) {
|
|
10
|
+
const environment = { ...(options.environment ?? process.env) };
|
|
11
|
+
const profileId = options.profileId ?? environment.ADDONE_LAUNCH_PROFILE ?? "addone";
|
|
12
|
+
assertLaunchProfileId(profileId);
|
|
13
|
+
const paths = resolveAddOnePaths(environment);
|
|
14
|
+
const client = new SupervisorClient(environment.ADDONE_RELEASE_ID);
|
|
15
|
+
await client.connect(paths.endpoint);
|
|
16
|
+
const ownerId = `foreground-broker-${randomUUID()}`;
|
|
17
|
+
const profile = await launchProfile(environment, options, profileId);
|
|
18
|
+
const stop = stopSignal();
|
|
19
|
+
try {
|
|
20
|
+
const result = await runForegroundBroker({ leaseId: randomUUID(), generationId: randomUUID(), ownerId, profile, stopRequested: stop.requested }, client, createPlatformTransparentLauncher(), randomUUID);
|
|
21
|
+
if (result.outcome.kind === "exited")
|
|
22
|
+
return result.outcome.exitCode;
|
|
23
|
+
if (result.outcome.kind === "signaled")
|
|
24
|
+
return 1;
|
|
25
|
+
if (result.outcome.kind === "stopped" || result.outcome.kind === "detached")
|
|
26
|
+
return 0;
|
|
27
|
+
throw Object.assign(new Error(result.outcome.message), { code: result.outcome.code ?? undefined });
|
|
28
|
+
}
|
|
29
|
+
finally {
|
|
30
|
+
stop.dispose();
|
|
31
|
+
client.close();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
async function launchProfile(environment, options, profileId) {
|
|
35
|
+
const executable = options.executable ?? environment.ADDONE_TERMINAL_EXECUTABLE ?? "pi";
|
|
36
|
+
const arguments_ = options.arguments
|
|
37
|
+
?? parseArguments(environment.ADDONE_LAUNCH_ARGUMENTS_JSON)
|
|
38
|
+
?? parseArguments(environment.ADDONE_TERMINAL_ARGUMENTS_JSON)
|
|
39
|
+
?? [];
|
|
40
|
+
const cwd = await realpath(options.cwd ?? process.cwd());
|
|
41
|
+
const terminalType = environment.TERM?.trim() || "xterm-256color";
|
|
42
|
+
return {
|
|
43
|
+
id: `${profileId}-transparent-${randomUUID()}`,
|
|
44
|
+
terminalCapability: "transparent",
|
|
45
|
+
executable,
|
|
46
|
+
arguments: arguments_,
|
|
47
|
+
cwd,
|
|
48
|
+
environment: selectedChildEnvironment(environment),
|
|
49
|
+
terminalType,
|
|
50
|
+
dimensions: terminalDimensions(environment),
|
|
51
|
+
ownerDisconnect: "stop",
|
|
52
|
+
recovery: "none",
|
|
53
|
+
surface: "none",
|
|
54
|
+
visualReconnection: "none",
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
function parseArguments(source) {
|
|
58
|
+
if (!source)
|
|
59
|
+
return null;
|
|
60
|
+
const value = JSON.parse(source);
|
|
61
|
+
if (!Array.isArray(value) || value.some(item => typeof item !== "string")) {
|
|
62
|
+
throw new TypeError("ADDONE_TERMINAL_ARGUMENTS_JSON must be a JSON array of strings");
|
|
63
|
+
}
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
function selectedChildEnvironment(environment) {
|
|
67
|
+
const selected = {};
|
|
68
|
+
for (const [name, value] of Object.entries(environment)) {
|
|
69
|
+
if (value !== undefined && !name.startsWith("ADDONE_"))
|
|
70
|
+
selected[name] = value;
|
|
71
|
+
}
|
|
72
|
+
return selected;
|
|
73
|
+
}
|
|
74
|
+
function terminalDimensions(environment) {
|
|
75
|
+
const columns = positiveInteger(environment.COLUMNS) ?? 80;
|
|
76
|
+
const rows = positiveInteger(environment.LINES) ?? 24;
|
|
77
|
+
return { columns: Math.min(500, Math.max(2, columns)), rows: Math.min(300, Math.max(1, rows)) };
|
|
78
|
+
}
|
|
79
|
+
function positiveInteger(value) {
|
|
80
|
+
const parsed = Number(value);
|
|
81
|
+
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : null;
|
|
82
|
+
}
|
|
83
|
+
function stopSignal() {
|
|
84
|
+
let resolveStop;
|
|
85
|
+
let settled = false;
|
|
86
|
+
const requested = new Promise(resolve => { resolveStop = resolve; });
|
|
87
|
+
const request = (reason) => {
|
|
88
|
+
if (settled)
|
|
89
|
+
return;
|
|
90
|
+
settled = true;
|
|
91
|
+
resolveStop(reason);
|
|
92
|
+
};
|
|
93
|
+
const onSigterm = () => request("user-request");
|
|
94
|
+
// The attached child shares foreground signal delivery. Keep the broker alive
|
|
95
|
+
// without translating or forwarding Ctrl+C.
|
|
96
|
+
const onSigint = () => undefined;
|
|
97
|
+
process.once("SIGTERM", onSigterm);
|
|
98
|
+
process.on("SIGINT", onSigint);
|
|
99
|
+
return {
|
|
100
|
+
requested,
|
|
101
|
+
dispose() {
|
|
102
|
+
process.off("SIGTERM", onSigterm);
|
|
103
|
+
process.off("SIGINT", onSigint);
|
|
104
|
+
},
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/foundation/transparent-terminal/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type ChildProcess, type SpawnOptions } from "node:child_process";
|
|
2
|
+
import type { TransparentTerminalLaunchProfile } from "../lifecycle/index.js";
|
|
3
|
+
import type { TransparentChildHandle, TransparentNativeLauncher } from "./foreground-broker.js";
|
|
4
|
+
export interface NativeSpawnAdapter {
|
|
5
|
+
resolveCommand(profile: TransparentTerminalLaunchProfile): Promise<{
|
|
6
|
+
readonly executable: string;
|
|
7
|
+
readonly arguments: readonly string[];
|
|
8
|
+
}>;
|
|
9
|
+
spawn(executable: string, arguments_: readonly string[], options: SpawnOptions): ChildProcess;
|
|
10
|
+
observeStartIdentity(child: ChildProcess): Promise<string>;
|
|
11
|
+
identityMatches(child: ChildProcess, expectedStartIdentity: string): Promise<boolean>;
|
|
12
|
+
stop(child: ChildProcess, force: boolean): Promise<void>;
|
|
13
|
+
waitForExit(child: ChildProcess, timeoutMs: number): Promise<boolean>;
|
|
14
|
+
}
|
|
15
|
+
export declare function createPlatformTransparentLauncher(platform?: NodeJS.Platform, adapter?: NativeSpawnAdapter): TransparentNativeLauncher;
|
|
16
|
+
export declare class WindowsTransparentLauncher implements TransparentNativeLauncher {
|
|
17
|
+
private readonly adapter;
|
|
18
|
+
constructor(adapter?: NativeSpawnAdapter);
|
|
19
|
+
launch(profile: TransparentTerminalLaunchProfile): Promise<TransparentChildHandle>;
|
|
20
|
+
}
|
|
21
|
+
export declare class UnixTransparentLauncher implements TransparentNativeLauncher {
|
|
22
|
+
private readonly adapter;
|
|
23
|
+
constructor(adapter?: NativeSpawnAdapter);
|
|
24
|
+
launch(profile: TransparentTerminalLaunchProfile): Promise<TransparentChildHandle>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=native-launcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-launcher.d.ts","sourceRoot":"","sources":["../../../../src/foundation/transparent-terminal/native-launcher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,KAAK,EAAE,gCAAgC,EAAuC,MAAM,uBAAuB,CAAC;AACnH,OAAO,KAAK,EAAE,sBAAsB,EAAE,yBAAyB,EAAyB,MAAM,wBAAwB,CAAC;AAGvH,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC;QAAE,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;IAC3I,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,MAAM,EAAE,EAAE,OAAO,EAAE,YAAY,GAAG,YAAY,CAAC;IAC9F,oBAAoB,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3D,eAAe,CAAC,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACtF,IAAI,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACvE;AAED,wBAAgB,iCAAiC,CAC/C,QAAQ,GAAE,MAAM,CAAC,QAA2B,EAC5C,OAAO,GAAE,kBAAwC,GAChD,yBAAyB,CAI3B;AAED,qBAAa,0BAA2B,YAAW,yBAAyB;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,kBAAwC;IAExE,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAOzF;AAED,qBAAa,uBAAwB,YAAW,yBAAyB;IAC3D,OAAO,CAAC,QAAQ,CAAC,OAAO;gBAAP,OAAO,GAAE,kBAAwC;IAExE,MAAM,CAAC,OAAO,EAAE,gCAAgC,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAOzF"}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
import { spawn } from "node:child_process";
|
|
2
|
+
import { randomUUID } from "node:crypto";
|
|
3
|
+
import { resolveTransparentCommand } from "./command-resolution.js";
|
|
4
|
+
export function createPlatformTransparentLauncher(platform = process.platform, adapter = defaultSpawnAdapter) {
|
|
5
|
+
if (platform === "win32")
|
|
6
|
+
return new WindowsTransparentLauncher(adapter);
|
|
7
|
+
if (platform === "linux" || platform === "darwin")
|
|
8
|
+
return new UnixTransparentLauncher(adapter);
|
|
9
|
+
throw new Error(`transparent terminal attachment is unsupported on ${platform}`);
|
|
10
|
+
}
|
|
11
|
+
export class WindowsTransparentLauncher {
|
|
12
|
+
adapter;
|
|
13
|
+
constructor(adapter = defaultSpawnAdapter) {
|
|
14
|
+
this.adapter = adapter;
|
|
15
|
+
}
|
|
16
|
+
async launch(profile) {
|
|
17
|
+
return await launchInherited(profile, this.adapter, {
|
|
18
|
+
windowsHide: true,
|
|
19
|
+
windowsVerbatimArguments: false,
|
|
20
|
+
detached: false,
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export class UnixTransparentLauncher {
|
|
25
|
+
adapter;
|
|
26
|
+
constructor(adapter = defaultSpawnAdapter) {
|
|
27
|
+
this.adapter = adapter;
|
|
28
|
+
}
|
|
29
|
+
async launch(profile) {
|
|
30
|
+
// Staying in the foreground process group preserves the inherited controlling
|
|
31
|
+
// terminal without an intermediary or synthetic terminal restoration.
|
|
32
|
+
return await launchInherited(profile, this.adapter, {
|
|
33
|
+
detached: false,
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
async function launchInherited(profile, adapter, platformOptions) {
|
|
38
|
+
const command = await adapter.resolveCommand(profile);
|
|
39
|
+
const child = adapter.spawn(command.executable, command.arguments, {
|
|
40
|
+
...platformOptions,
|
|
41
|
+
cwd: profile.cwd,
|
|
42
|
+
env: { ...profile.environment, TERM: profile.terminalType },
|
|
43
|
+
shell: false,
|
|
44
|
+
stdio: "inherit",
|
|
45
|
+
});
|
|
46
|
+
await spawned(child);
|
|
47
|
+
if (!child.pid)
|
|
48
|
+
throw Object.assign(new Error("transparent child has no process identity"), { code: "NO_PROCESS_ID" });
|
|
49
|
+
const outcome = childOutcome(child);
|
|
50
|
+
const startIdentity = await adapter.observeStartIdentity(child);
|
|
51
|
+
const processIdentity = { pid: child.pid, startIdentity };
|
|
52
|
+
let stopOutcome = null;
|
|
53
|
+
return {
|
|
54
|
+
processIdentity,
|
|
55
|
+
outcome,
|
|
56
|
+
stop(reason) {
|
|
57
|
+
stopOutcome ??= stopOwnedChild(child, adapter, processIdentity.startIdentity, reason);
|
|
58
|
+
return stopOutcome;
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
function spawned(child) {
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
if (child.pid) {
|
|
65
|
+
resolve();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
child.once("spawn", resolve);
|
|
69
|
+
child.once("error", reject);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
function childOutcome(child) {
|
|
73
|
+
return new Promise(resolve => {
|
|
74
|
+
child.once("error", error => resolve({ kind: "broker-error", message: error.message, code: errorCode(error) }));
|
|
75
|
+
child.once("close", (exitCode, signal) => {
|
|
76
|
+
if (signal)
|
|
77
|
+
resolve({ kind: "signaled", signal });
|
|
78
|
+
else
|
|
79
|
+
resolve({ kind: "exited", exitCode: exitCode ?? 1 });
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
async function stopOwnedChild(child, adapter, expectedStartIdentity, reason) {
|
|
84
|
+
if (!await adapter.identityMatches(child, expectedStartIdentity)) {
|
|
85
|
+
return { kind: "broker-error", message: "refusing cleanup because transparent child ownership changed", code: "PROCESS_IDENTITY_MISMATCH" };
|
|
86
|
+
}
|
|
87
|
+
await adapter.stop(child, false);
|
|
88
|
+
if (!await adapter.waitForExit(child, 1_500)) {
|
|
89
|
+
if (!await adapter.identityMatches(child, expectedStartIdentity)) {
|
|
90
|
+
return { kind: "broker-error", message: "refusing forced cleanup because transparent child ownership changed", code: "PROCESS_IDENTITY_MISMATCH" };
|
|
91
|
+
}
|
|
92
|
+
await adapter.stop(child, true);
|
|
93
|
+
if (!await adapter.waitForExit(child, 1_500)) {
|
|
94
|
+
return { kind: "broker-error", message: "transparent child did not exit within the bounded cleanup deadline", code: "CLEANUP_TIMEOUT" };
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return { kind: "stopped", reason };
|
|
98
|
+
}
|
|
99
|
+
function errorCode(error) {
|
|
100
|
+
return "code" in error && typeof error.code === "string" ? error.code : null;
|
|
101
|
+
}
|
|
102
|
+
const observedStartIdentities = new WeakMap();
|
|
103
|
+
const defaultSpawnAdapter = {
|
|
104
|
+
async resolveCommand(profile) {
|
|
105
|
+
return await resolveTransparentCommand(profile.executable, profile.arguments, {
|
|
106
|
+
cwd: profile.cwd,
|
|
107
|
+
environment: profile.environment,
|
|
108
|
+
});
|
|
109
|
+
},
|
|
110
|
+
spawn(executable, arguments_, options) {
|
|
111
|
+
return spawn(executable, [...arguments_], options);
|
|
112
|
+
},
|
|
113
|
+
async observeStartIdentity(child) {
|
|
114
|
+
if (!child.pid)
|
|
115
|
+
throw new Error("transparent child has no PID");
|
|
116
|
+
const identity = `${child.pid}:${randomUUID()}`;
|
|
117
|
+
observedStartIdentities.set(child, identity);
|
|
118
|
+
return identity;
|
|
119
|
+
},
|
|
120
|
+
async identityMatches(child, expectedStartIdentity) {
|
|
121
|
+
return child.pid !== undefined
|
|
122
|
+
&& child.exitCode === null
|
|
123
|
+
&& child.signalCode === null
|
|
124
|
+
&& observedStartIdentities.get(child) === expectedStartIdentity;
|
|
125
|
+
},
|
|
126
|
+
async stop(child, force) {
|
|
127
|
+
if (child.exitCode !== null || child.signalCode !== null)
|
|
128
|
+
return;
|
|
129
|
+
child.kill(force ? "SIGKILL" : "SIGTERM");
|
|
130
|
+
},
|
|
131
|
+
async waitForExit(child, timeoutMs) {
|
|
132
|
+
if (child.exitCode !== null || child.signalCode !== null)
|
|
133
|
+
return true;
|
|
134
|
+
return await new Promise(resolve => {
|
|
135
|
+
const timer = setTimeout(() => finish(false), timeoutMs);
|
|
136
|
+
timer.unref();
|
|
137
|
+
const finish = (exited) => {
|
|
138
|
+
clearTimeout(timer);
|
|
139
|
+
child.off("close", onClose);
|
|
140
|
+
resolve(exited);
|
|
141
|
+
};
|
|
142
|
+
const onClose = () => finish(true);
|
|
143
|
+
child.once("close", onClose);
|
|
144
|
+
});
|
|
145
|
+
},
|
|
146
|
+
};
|
|
147
|
+
//# sourceMappingURL=native-launcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-launcher.js","sourceRoot":"","sources":["../../../../src/foundation/transparent-terminal/native-launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/foundation/workspace-contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/foundation/workspace-contracts/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
export declare const WORKSPACE_CONTRACT_VERSION: 1;
|
|
2
|
+
export declare const NATIVE_HOST_PROTOCOL_VERSION: 1;
|
|
3
|
+
export type WorkspaceId = string;
|
|
4
|
+
export type AgentId = string;
|
|
5
|
+
export type AdapterId = string;
|
|
6
|
+
export type CorrelationId = string;
|
|
7
|
+
export type EventPosition = number;
|
|
8
|
+
export type WindowId = string;
|
|
9
|
+
export type TabId = string;
|
|
10
|
+
export type PaneId = string;
|
|
11
|
+
export type TerminalSessionId = string;
|
|
12
|
+
export type TopologyNodeId = string;
|
|
13
|
+
export type NativeHostInstanceId = string;
|
|
14
|
+
export type RecoveryReferenceId = string;
|
|
15
|
+
export type AgentRuntimeKind = "structured" | "composed-terminal";
|
|
16
|
+
export type AgentLifecycleState = "creating" | "ready" | "inactive" | "stopping" | "stopped" | "failed" | "discontinuous";
|
|
17
|
+
export interface StructuredFlowLimits {
|
|
18
|
+
readonly maxEventBytes: number;
|
|
19
|
+
readonly maxSnapshotBytes: number;
|
|
20
|
+
readonly maxAttachmentBytes: number;
|
|
21
|
+
readonly maxQueuedEvents: number;
|
|
22
|
+
readonly maxConcurrentCommands: number;
|
|
23
|
+
readonly maxReconnectEvents: number;
|
|
24
|
+
}
|
|
25
|
+
export interface StructuredCapabilityContract {
|
|
26
|
+
readonly kind: "structured";
|
|
27
|
+
readonly protocolVersion: typeof WORKSPACE_CONTRACT_VERSION;
|
|
28
|
+
readonly adapterId: AdapterId;
|
|
29
|
+
readonly commands: readonly string[];
|
|
30
|
+
readonly eventTypes: readonly string[];
|
|
31
|
+
readonly snapshots: "none" | "authoritative";
|
|
32
|
+
readonly resume: "none" | "position" | "snapshot";
|
|
33
|
+
readonly cancellation: "none" | "correlated";
|
|
34
|
+
readonly attachmentTypes: readonly string[];
|
|
35
|
+
readonly flow: StructuredFlowLimits;
|
|
36
|
+
}
|
|
37
|
+
export interface ComposedTerminalCapabilityContract {
|
|
38
|
+
readonly kind: "composed-terminal";
|
|
39
|
+
readonly protocolVersion: typeof NATIVE_HOST_PROTOCOL_VERSION;
|
|
40
|
+
readonly hostInstanceId: NativeHostInstanceId;
|
|
41
|
+
readonly topologyRevision: number;
|
|
42
|
+
readonly proofStatus: "unavailable" | "pending" | "accepted" | "rejected";
|
|
43
|
+
}
|
|
44
|
+
export type AgentCapabilityContract = StructuredCapabilityContract | ComposedTerminalCapabilityContract;
|
|
45
|
+
export interface ManagedAgentDescriptor {
|
|
46
|
+
readonly id: AgentId;
|
|
47
|
+
readonly displayName: string;
|
|
48
|
+
readonly adapterId: AdapterId;
|
|
49
|
+
readonly runtime: AgentRuntimeKind;
|
|
50
|
+
readonly lifecycle: AgentLifecycleState;
|
|
51
|
+
readonly capability: AgentCapabilityContract;
|
|
52
|
+
readonly createdAt: string;
|
|
53
|
+
readonly recoveryReferenceId: RecoveryReferenceId | null;
|
|
54
|
+
}
|
|
55
|
+
export interface TerminalDimensions {
|
|
56
|
+
readonly columns: number;
|
|
57
|
+
readonly rows: number;
|
|
58
|
+
readonly widthPixels: number;
|
|
59
|
+
readonly heightPixels: number;
|
|
60
|
+
}
|
|
61
|
+
export interface TerminalSessionLaunch {
|
|
62
|
+
readonly id: TerminalSessionId;
|
|
63
|
+
readonly executable: string;
|
|
64
|
+
readonly arguments: readonly string[];
|
|
65
|
+
readonly cwd: string;
|
|
66
|
+
readonly environment: Readonly<Record<string, string>>;
|
|
67
|
+
readonly dimensions: TerminalDimensions;
|
|
68
|
+
readonly inactivity: "live-unpainted" | "pause-display" | "suspend" | "terminate";
|
|
69
|
+
}
|
|
70
|
+
export interface TerminalPane {
|
|
71
|
+
readonly id: PaneId;
|
|
72
|
+
readonly sessionId: TerminalSessionId;
|
|
73
|
+
}
|
|
74
|
+
export type TerminalTopologyNode = {
|
|
75
|
+
readonly id: TopologyNodeId;
|
|
76
|
+
readonly kind: "leaf";
|
|
77
|
+
readonly paneId: PaneId;
|
|
78
|
+
} | {
|
|
79
|
+
readonly id: TopologyNodeId;
|
|
80
|
+
readonly kind: "split";
|
|
81
|
+
readonly axis: "horizontal" | "vertical";
|
|
82
|
+
readonly ratio: number;
|
|
83
|
+
readonly first: TopologyNodeId;
|
|
84
|
+
readonly second: TopologyNodeId;
|
|
85
|
+
};
|
|
86
|
+
export interface TerminalTab {
|
|
87
|
+
readonly id: TabId;
|
|
88
|
+
readonly rootNodeId: TopologyNodeId;
|
|
89
|
+
readonly focusedPaneId: PaneId;
|
|
90
|
+
readonly nodes: readonly TerminalTopologyNode[];
|
|
91
|
+
readonly panes: readonly TerminalPane[];
|
|
92
|
+
}
|
|
93
|
+
export interface TerminalWindow {
|
|
94
|
+
readonly id: WindowId;
|
|
95
|
+
readonly activeTabId: TabId;
|
|
96
|
+
readonly tabs: readonly TerminalTab[];
|
|
97
|
+
}
|
|
98
|
+
export interface TerminalTopologySnapshot {
|
|
99
|
+
readonly hostInstanceId: NativeHostInstanceId;
|
|
100
|
+
readonly revision: number;
|
|
101
|
+
readonly windows: readonly TerminalWindow[];
|
|
102
|
+
readonly sessions: readonly TerminalSessionLaunch[];
|
|
103
|
+
}
|
|
104
|
+
export type WorkspaceCommand = {
|
|
105
|
+
readonly type: "create-agent";
|
|
106
|
+
readonly correlationId: CorrelationId;
|
|
107
|
+
readonly agent: ManagedAgentDescriptor;
|
|
108
|
+
} | {
|
|
109
|
+
readonly type: "select-agent";
|
|
110
|
+
readonly correlationId: CorrelationId;
|
|
111
|
+
readonly agentId: AgentId;
|
|
112
|
+
} | {
|
|
113
|
+
readonly type: "rename-agent";
|
|
114
|
+
readonly correlationId: CorrelationId;
|
|
115
|
+
readonly agentId: AgentId;
|
|
116
|
+
readonly displayName: string;
|
|
117
|
+
} | {
|
|
118
|
+
readonly type: "stop-agent" | "restart-agent" | "remove-agent";
|
|
119
|
+
readonly correlationId: CorrelationId;
|
|
120
|
+
readonly agentId: AgentId;
|
|
121
|
+
} | {
|
|
122
|
+
readonly type: "structured-command";
|
|
123
|
+
readonly correlationId: CorrelationId;
|
|
124
|
+
readonly agentId: AgentId;
|
|
125
|
+
readonly command: string;
|
|
126
|
+
readonly payload: unknown;
|
|
127
|
+
} | {
|
|
128
|
+
readonly type: "cancel-structured-command";
|
|
129
|
+
readonly correlationId: CorrelationId;
|
|
130
|
+
readonly agentId: AgentId;
|
|
131
|
+
readonly targetCorrelationId: CorrelationId;
|
|
132
|
+
};
|
|
133
|
+
export type WorkspaceEvent = {
|
|
134
|
+
readonly type: "agent-lifecycle";
|
|
135
|
+
readonly agentId: AgentId;
|
|
136
|
+
readonly position: EventPosition;
|
|
137
|
+
readonly state: AgentLifecycleState;
|
|
138
|
+
} | {
|
|
139
|
+
readonly type: "structured-event";
|
|
140
|
+
readonly agentId: AgentId;
|
|
141
|
+
readonly position: EventPosition;
|
|
142
|
+
readonly eventType: string;
|
|
143
|
+
readonly payload: unknown;
|
|
144
|
+
} | {
|
|
145
|
+
readonly type: "command-outcome";
|
|
146
|
+
readonly agentId: AgentId;
|
|
147
|
+
readonly correlationId: CorrelationId;
|
|
148
|
+
readonly outcome: "accepted" | "rejected" | "completed" | "failed" | "timed-out" | "cancelled";
|
|
149
|
+
} | {
|
|
150
|
+
readonly type: "terminal-topology";
|
|
151
|
+
readonly agentId: AgentId;
|
|
152
|
+
readonly topology: TerminalTopologySnapshot;
|
|
153
|
+
} | {
|
|
154
|
+
readonly type: "recovery-discontinuity";
|
|
155
|
+
readonly agentId: AgentId;
|
|
156
|
+
readonly reason: string;
|
|
157
|
+
};
|
|
158
|
+
export interface WorkspaceSnapshot {
|
|
159
|
+
readonly contractVersion: typeof WORKSPACE_CONTRACT_VERSION;
|
|
160
|
+
readonly workspaceId: WorkspaceId;
|
|
161
|
+
readonly revision: number;
|
|
162
|
+
readonly selectedAgentId: AgentId | null;
|
|
163
|
+
readonly agents: readonly ManagedAgentDescriptor[];
|
|
164
|
+
}
|
|
165
|
+
export interface StructuredAgentSnapshot {
|
|
166
|
+
readonly contractVersion: typeof WORKSPACE_CONTRACT_VERSION;
|
|
167
|
+
readonly agentId: AgentId;
|
|
168
|
+
readonly snapshotId: string;
|
|
169
|
+
readonly position: EventPosition;
|
|
170
|
+
readonly authoritative: true;
|
|
171
|
+
readonly payload: unknown;
|
|
172
|
+
}
|
|
173
|
+
export interface NativeHostHello {
|
|
174
|
+
readonly protocolVersion: typeof NATIVE_HOST_PROTOCOL_VERSION;
|
|
175
|
+
readonly hostInstanceId: NativeHostInstanceId;
|
|
176
|
+
readonly buildId: string;
|
|
177
|
+
readonly platform: "windows" | "macos" | "linux";
|
|
178
|
+
readonly capabilities: readonly ("exact-command" | "revisioned-topology" | "native-input" | "native-rendering" | "retained-terminal-state")[];
|
|
179
|
+
}
|
|
180
|
+
export type NativeHostCommand = {
|
|
181
|
+
readonly type: "snapshot";
|
|
182
|
+
readonly correlationId: CorrelationId;
|
|
183
|
+
} | {
|
|
184
|
+
readonly type: "apply-topology";
|
|
185
|
+
readonly correlationId: CorrelationId;
|
|
186
|
+
readonly expectedRevision: number;
|
|
187
|
+
readonly topology: TerminalTopologySnapshot;
|
|
188
|
+
} | {
|
|
189
|
+
readonly type: "focus-pane";
|
|
190
|
+
readonly correlationId: CorrelationId;
|
|
191
|
+
readonly expectedRevision: number;
|
|
192
|
+
readonly paneId: PaneId;
|
|
193
|
+
} | {
|
|
194
|
+
readonly type: "close-pane";
|
|
195
|
+
readonly correlationId: CorrelationId;
|
|
196
|
+
readonly expectedRevision: number;
|
|
197
|
+
readonly paneId: PaneId;
|
|
198
|
+
} | {
|
|
199
|
+
readonly type: "shutdown";
|
|
200
|
+
readonly correlationId: CorrelationId;
|
|
201
|
+
};
|
|
202
|
+
export type NativeHostEvent = {
|
|
203
|
+
readonly type: "topology-changed";
|
|
204
|
+
readonly topology: TerminalTopologySnapshot;
|
|
205
|
+
} | {
|
|
206
|
+
readonly type: "pane-ready";
|
|
207
|
+
readonly paneId: PaneId;
|
|
208
|
+
readonly sessionId: TerminalSessionId;
|
|
209
|
+
} | {
|
|
210
|
+
readonly type: "process-exited";
|
|
211
|
+
readonly paneId: PaneId;
|
|
212
|
+
readonly sessionId: TerminalSessionId;
|
|
213
|
+
readonly exitCode: number | null;
|
|
214
|
+
readonly signal: string | null;
|
|
215
|
+
} | {
|
|
216
|
+
readonly type: "host-degraded";
|
|
217
|
+
readonly code: string;
|
|
218
|
+
readonly message: string;
|
|
219
|
+
};
|
|
220
|
+
export interface StructuredRecoveryAuthority {
|
|
221
|
+
readonly kind: "structured";
|
|
222
|
+
readonly referenceId: RecoveryReferenceId;
|
|
223
|
+
readonly agentId: AgentId;
|
|
224
|
+
readonly adapterId: AdapterId;
|
|
225
|
+
readonly processIdentity: string;
|
|
226
|
+
readonly ownershipProof: string;
|
|
227
|
+
readonly boundary: {
|
|
228
|
+
readonly kind: "position";
|
|
229
|
+
readonly position: EventPosition;
|
|
230
|
+
readonly resumeToken: string;
|
|
231
|
+
} | {
|
|
232
|
+
readonly kind: "snapshot";
|
|
233
|
+
readonly snapshotId: string;
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
export interface ComposedRecoveryAuthority {
|
|
237
|
+
readonly kind: "composed-terminal";
|
|
238
|
+
readonly referenceId: RecoveryReferenceId;
|
|
239
|
+
readonly agentId: AgentId;
|
|
240
|
+
readonly hostInstanceId: NativeHostInstanceId;
|
|
241
|
+
readonly hostBuildId: string;
|
|
242
|
+
readonly processIdentity: string;
|
|
243
|
+
readonly pseudoterminalIdentity: string;
|
|
244
|
+
readonly retainedStateIdentity: string;
|
|
245
|
+
readonly topologyRevision: number;
|
|
246
|
+
readonly streamPosition: number;
|
|
247
|
+
}
|
|
248
|
+
export type AgentRecoveryAuthority = StructuredRecoveryAuthority | ComposedRecoveryAuthority;
|
|
249
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/foundation/workspace-contracts/model.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../../src/foundation/workspace-contracts/model.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAU,CAAC;AACrD,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAU,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { AgentCapabilityContract, AgentRecoveryAuthority, ComposedTerminalCapabilityContract, ManagedAgentDescriptor, NativeHostCommand, StructuredAgentSnapshot, StructuredCapabilityContract, TerminalSessionLaunch, TerminalTopologySnapshot, WorkspaceCommand, WorkspaceEvent, WorkspaceSnapshot } from "./model.js";
|
|
2
|
+
export declare function assertManagedAgentDescriptor(agent: ManagedAgentDescriptor): void;
|
|
3
|
+
export declare function assertAgentCapability(capability: AgentCapabilityContract): void;
|
|
4
|
+
export declare function assertStructuredCapability(capability: StructuredCapabilityContract): void;
|
|
5
|
+
export declare function assertComposedTerminalCapability(capability: ComposedTerminalCapabilityContract): void;
|
|
6
|
+
export declare function assertWorkspaceSnapshot(snapshot: WorkspaceSnapshot): void;
|
|
7
|
+
export declare function assertWorkspaceCommand(command: WorkspaceCommand): void;
|
|
8
|
+
export declare function assertWorkspaceEvent(event: WorkspaceEvent): void;
|
|
9
|
+
export declare function assertStructuredAgentSnapshot(snapshot: StructuredAgentSnapshot): void;
|
|
10
|
+
export declare function assertTerminalTopologySnapshot(topology: TerminalTopologySnapshot): void;
|
|
11
|
+
export declare function assertNativeHostCommand(command: NativeHostCommand): void;
|
|
12
|
+
export declare function assertRecoveryAuthority(authority: AgentRecoveryAuthority): void;
|
|
13
|
+
export declare function assertTerminalSessionLaunch(session: TerminalSessionLaunch): void;
|
|
14
|
+
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../../src/foundation/workspace-contracts/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,sBAAsB,EACtB,kCAAkC,EAClC,sBAAsB,EACtB,iBAAiB,EACjB,uBAAuB,EACvB,4BAA4B,EAE5B,qBAAqB,EAGrB,wBAAwB,EACxB,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EAClB,MAAM,YAAY,CAAC;AAWpB,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,sBAAsB,GAAG,IAAI,CAQhF;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,uBAAuB,GAAG,IAAI,CAM/E;AAED,wBAAgB,0BAA0B,CAAC,UAAU,EAAE,4BAA4B,GAAG,IAAI,CAazF;AAED,wBAAgB,gCAAgC,CAAC,UAAU,EAAE,kCAAkC,GAAG,IAAI,CAIrG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAczE;AAED,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAyBtE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAoBhE;AAED,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,uBAAuB,GAAG,IAAI,CAOrF;AAED,wBAAgB,8BAA8B,CAAC,QAAQ,EAAE,wBAAwB,GAAG,IAAI,CA4BvF;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAcxE;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,sBAAsB,GAAG,IAAI,CAqB/E;AAED,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAehF"}
|