@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,214 @@
|
|
|
1
|
+
import { assertManagedAgentDescriptor, } from "../../foundation/workspace-contracts/index.js";
|
|
2
|
+
const REMOVABLE_STATES = new Set(["stopped", "failed", "discontinuous"]);
|
|
3
|
+
export class WorkspaceReducer {
|
|
4
|
+
workspaceId;
|
|
5
|
+
#agents = new Map();
|
|
6
|
+
#selectedAgentId;
|
|
7
|
+
#revision;
|
|
8
|
+
constructor(workspaceId, agents = [], selectedAgentId = null, revision = 0) {
|
|
9
|
+
this.workspaceId = workspaceId;
|
|
10
|
+
if (!workspaceId || workspaceId.includes("\0"))
|
|
11
|
+
throw new TypeError("workspace id is invalid");
|
|
12
|
+
if (!Number.isSafeInteger(revision) || revision < 0)
|
|
13
|
+
throw new RangeError("workspace revision must be a non-negative safe integer");
|
|
14
|
+
for (const agent of agents) {
|
|
15
|
+
assertWorkspaceAgent(agent);
|
|
16
|
+
if (this.#agents.has(agent.id))
|
|
17
|
+
throw new TypeError(`duplicate workspace agent id: ${agent.id}`);
|
|
18
|
+
this.#agents.set(agent.id, { ...agent });
|
|
19
|
+
}
|
|
20
|
+
if (selectedAgentId !== null && !this.#agents.has(selectedAgentId))
|
|
21
|
+
throw new TypeError("selected workspace agent must exist");
|
|
22
|
+
this.#selectedAgentId = selectedAgentId ?? agents[0]?.id ?? null;
|
|
23
|
+
this.#revision = revision;
|
|
24
|
+
}
|
|
25
|
+
createAgent(descriptor) {
|
|
26
|
+
try {
|
|
27
|
+
assertManagedAgentDescriptor(descriptor);
|
|
28
|
+
}
|
|
29
|
+
catch (error) {
|
|
30
|
+
return rejected("invalid-agent", error);
|
|
31
|
+
}
|
|
32
|
+
if (this.#agents.has(descriptor.id))
|
|
33
|
+
return rejected("duplicate-agent", new Error(`workspace agent id already exists: ${descriptor.id}`));
|
|
34
|
+
const agent = {
|
|
35
|
+
...descriptor,
|
|
36
|
+
displayName: this.#uniqueDisplayName(descriptor.displayName),
|
|
37
|
+
unreadActivity: 0,
|
|
38
|
+
attention: false,
|
|
39
|
+
failure: null,
|
|
40
|
+
};
|
|
41
|
+
this.#agents.set(agent.id, agent);
|
|
42
|
+
this.#selectedAgentId ??= agent.id;
|
|
43
|
+
this.#revision += 1;
|
|
44
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
45
|
+
}
|
|
46
|
+
selectAgent(agentId) {
|
|
47
|
+
const agent = this.#agents.get(agentId);
|
|
48
|
+
if (!agent)
|
|
49
|
+
return unknownAgent(agentId);
|
|
50
|
+
const changed = this.#selectedAgentId !== agentId || agent.unreadActivity !== 0 || agent.attention;
|
|
51
|
+
this.#selectedAgentId = agentId;
|
|
52
|
+
agent.unreadActivity = 0;
|
|
53
|
+
agent.attention = false;
|
|
54
|
+
if (changed)
|
|
55
|
+
this.#revision += 1;
|
|
56
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
57
|
+
}
|
|
58
|
+
renameAgent(agentId, displayName) {
|
|
59
|
+
const agent = this.#agents.get(agentId);
|
|
60
|
+
if (!agent)
|
|
61
|
+
return unknownAgent(agentId);
|
|
62
|
+
try {
|
|
63
|
+
assertDisplayName(displayName);
|
|
64
|
+
}
|
|
65
|
+
catch (error) {
|
|
66
|
+
return rejected("invalid-display-name", error);
|
|
67
|
+
}
|
|
68
|
+
agent.displayName = this.#uniqueDisplayName(displayName, agentId);
|
|
69
|
+
this.#revision += 1;
|
|
70
|
+
return applied(this.view(), agent.displayName);
|
|
71
|
+
}
|
|
72
|
+
stopAgent(agentId) {
|
|
73
|
+
const agent = this.#agents.get(agentId);
|
|
74
|
+
if (!agent)
|
|
75
|
+
return unknownAgent(agentId);
|
|
76
|
+
if (agent.lifecycle !== "stopped") {
|
|
77
|
+
agent.lifecycle = "stopped";
|
|
78
|
+
agent.unreadActivity = 0;
|
|
79
|
+
agent.attention = false;
|
|
80
|
+
this.#revision += 1;
|
|
81
|
+
}
|
|
82
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
83
|
+
}
|
|
84
|
+
restartAgent(agentId) {
|
|
85
|
+
const agent = this.#agents.get(agentId);
|
|
86
|
+
if (!agent)
|
|
87
|
+
return unknownAgent(agentId);
|
|
88
|
+
agent.lifecycle = "creating";
|
|
89
|
+
agent.unreadActivity = 0;
|
|
90
|
+
agent.attention = false;
|
|
91
|
+
agent.failure = null;
|
|
92
|
+
this.#revision += 1;
|
|
93
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
94
|
+
}
|
|
95
|
+
removeAgent(agentId) {
|
|
96
|
+
const agent = this.#agents.get(agentId);
|
|
97
|
+
if (!agent)
|
|
98
|
+
return unknownAgent(agentId);
|
|
99
|
+
if (!REMOVABLE_STATES.has(agent.lifecycle)) {
|
|
100
|
+
return rejected("agent-active", new Error(`workspace agent must be stopped, failed, or discontinuous before removal: ${agentId}`));
|
|
101
|
+
}
|
|
102
|
+
const removed = Object.freeze({ ...agent });
|
|
103
|
+
this.#agents.delete(agentId);
|
|
104
|
+
if (this.#selectedAgentId === agentId)
|
|
105
|
+
this.#selectedAgentId = this.#agents.keys().next().value ?? null;
|
|
106
|
+
this.#revision += 1;
|
|
107
|
+
return applied(this.view(), removed);
|
|
108
|
+
}
|
|
109
|
+
recordActivity(agentId, amount = 1) {
|
|
110
|
+
const agent = this.#agents.get(agentId);
|
|
111
|
+
if (!agent)
|
|
112
|
+
return unknownAgent(agentId);
|
|
113
|
+
if (!Number.isSafeInteger(amount) || amount <= 0)
|
|
114
|
+
return rejected("invalid-activity", new Error("workspace unread activity amount must be positive"));
|
|
115
|
+
if (this.#selectedAgentId !== agentId) {
|
|
116
|
+
agent.unreadActivity += amount;
|
|
117
|
+
this.#revision += 1;
|
|
118
|
+
}
|
|
119
|
+
return applied(this.view(), agent.unreadActivity);
|
|
120
|
+
}
|
|
121
|
+
requestAttention(agentId) {
|
|
122
|
+
const agent = this.#agents.get(agentId);
|
|
123
|
+
if (!agent)
|
|
124
|
+
return unknownAgent(agentId);
|
|
125
|
+
if (!agent.attention) {
|
|
126
|
+
agent.attention = true;
|
|
127
|
+
if (this.#selectedAgentId !== agentId && agent.unreadActivity === 0)
|
|
128
|
+
agent.unreadActivity = 1;
|
|
129
|
+
this.#revision += 1;
|
|
130
|
+
}
|
|
131
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
132
|
+
}
|
|
133
|
+
markRecovered(agentId) {
|
|
134
|
+
const agent = this.#agents.get(agentId);
|
|
135
|
+
if (!agent)
|
|
136
|
+
return unknownAgent(agentId);
|
|
137
|
+
agent.lifecycle = "ready";
|
|
138
|
+
agent.unreadActivity = 0;
|
|
139
|
+
agent.attention = false;
|
|
140
|
+
agent.failure = null;
|
|
141
|
+
this.#revision += 1;
|
|
142
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
143
|
+
}
|
|
144
|
+
markDiscontinuous(agentId, code, message) {
|
|
145
|
+
const agent = this.#agents.get(agentId);
|
|
146
|
+
if (!agent)
|
|
147
|
+
return unknownAgent(agentId);
|
|
148
|
+
if (!code || code.length > 128 || code.includes("\0") || !message || message.length > 4_096 || message.includes("\0")) {
|
|
149
|
+
return rejected("invalid-failure", new Error("workspace discontinuity code and message must be bounded non-empty values"));
|
|
150
|
+
}
|
|
151
|
+
agent.lifecycle = "discontinuous";
|
|
152
|
+
agent.failure = Object.freeze({ code, message });
|
|
153
|
+
agent.attention = true;
|
|
154
|
+
this.#revision += 1;
|
|
155
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
156
|
+
}
|
|
157
|
+
markFailed(agentId, code, message) {
|
|
158
|
+
const agent = this.#agents.get(agentId);
|
|
159
|
+
if (!agent)
|
|
160
|
+
return unknownAgent(agentId);
|
|
161
|
+
if (!code || code.length > 128 || code.includes("\0") || !message || message.length > 4_096 || message.includes("\0")) {
|
|
162
|
+
return rejected("invalid-failure", new Error("workspace failure code and message must be bounded non-empty values"));
|
|
163
|
+
}
|
|
164
|
+
agent.lifecycle = "failed";
|
|
165
|
+
agent.failure = Object.freeze({ code, message });
|
|
166
|
+
agent.attention = true;
|
|
167
|
+
this.#revision += 1;
|
|
168
|
+
return applied(this.view(), Object.freeze({ ...agent }));
|
|
169
|
+
}
|
|
170
|
+
view() {
|
|
171
|
+
return Object.freeze({
|
|
172
|
+
workspaceId: this.workspaceId,
|
|
173
|
+
revision: this.#revision,
|
|
174
|
+
selectedAgentId: this.#selectedAgentId,
|
|
175
|
+
agents: Object.freeze([...this.#agents.values()].map(agent => Object.freeze({ ...agent }))),
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
#uniqueDisplayName(requested, excludeAgentId = null) {
|
|
179
|
+
assertDisplayName(requested);
|
|
180
|
+
const used = new Set([...this.#agents.values()].filter(agent => agent.id !== excludeAgentId).map(agent => agent.displayName));
|
|
181
|
+
if (!used.has(requested))
|
|
182
|
+
return requested;
|
|
183
|
+
for (let suffix = 2; suffix < 1_000_000; suffix += 1) {
|
|
184
|
+
const candidate = `${requested} (${suffix})`;
|
|
185
|
+
if (!used.has(candidate))
|
|
186
|
+
return candidate;
|
|
187
|
+
}
|
|
188
|
+
throw new RangeError("workspace display name suffix budget is exhausted");
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
function applied(view, value) {
|
|
192
|
+
return { kind: "applied", view, value };
|
|
193
|
+
}
|
|
194
|
+
function rejected(code, error) {
|
|
195
|
+
return { kind: "rejected", code, diagnostic: error instanceof Error ? error.message : String(error) };
|
|
196
|
+
}
|
|
197
|
+
function unknownAgent(agentId) {
|
|
198
|
+
return rejected("unknown-agent", new Error(`workspace agent does not exist: ${agentId}`));
|
|
199
|
+
}
|
|
200
|
+
function assertWorkspaceAgent(agent) {
|
|
201
|
+
assertManagedAgentDescriptor(agent);
|
|
202
|
+
if (!Number.isSafeInteger(agent.unreadActivity) || agent.unreadActivity < 0)
|
|
203
|
+
throw new RangeError("workspace unread activity is invalid");
|
|
204
|
+
if (typeof agent.attention !== "boolean")
|
|
205
|
+
throw new TypeError("workspace attention is invalid");
|
|
206
|
+
if (agent.failure !== null && (!agent.failure.code || !agent.failure.message))
|
|
207
|
+
throw new TypeError("workspace failure is invalid");
|
|
208
|
+
}
|
|
209
|
+
function assertDisplayName(value) {
|
|
210
|
+
if (typeof value !== "string" || value.length === 0 || value.length > 256 || value.includes("\0")) {
|
|
211
|
+
throw new TypeError("workspace display name is invalid");
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
//# sourceMappingURL=reducer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reducer.js","sourceRoot":"","sources":["../../../../src/features/workspace/reducer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { type StructuredCommandRecord } from "../../foundation/structured-agent-runtime/index.js";
|
|
2
|
+
import type { ManagedAgentDescriptor } from "../../foundation/workspace-contracts/index.js";
|
|
3
|
+
import { WorkspaceReducer, type WorkspaceAgentState, type WorkspaceView } from "./reducer.js";
|
|
4
|
+
export interface RoutedStructuredCommand {
|
|
5
|
+
readonly agentId: string;
|
|
6
|
+
readonly correlationId: string;
|
|
7
|
+
readonly command: string;
|
|
8
|
+
readonly record: StructuredCommandRecord;
|
|
9
|
+
}
|
|
10
|
+
export type WorkspaceRouterResult<T = undefined> = {
|
|
11
|
+
readonly kind: "applied";
|
|
12
|
+
readonly view: WorkspaceView;
|
|
13
|
+
readonly value: T;
|
|
14
|
+
} | {
|
|
15
|
+
readonly kind: "rejected";
|
|
16
|
+
readonly code: string;
|
|
17
|
+
readonly diagnostic: string;
|
|
18
|
+
};
|
|
19
|
+
export declare class WorkspaceRouter {
|
|
20
|
+
#private;
|
|
21
|
+
readonly reducer: WorkspaceReducer;
|
|
22
|
+
constructor(reducer: WorkspaceReducer);
|
|
23
|
+
createAgent(agent: ManagedAgentDescriptor): Promise<WorkspaceRouterResult<WorkspaceAgentState>>;
|
|
24
|
+
selectAgent(agentId: string): Promise<WorkspaceRouterResult<WorkspaceAgentState>>;
|
|
25
|
+
stopAgent(agentId: string): Promise<WorkspaceRouterResult<WorkspaceAgentState>>;
|
|
26
|
+
removeAgent(agentId: string): Promise<WorkspaceRouterResult<WorkspaceAgentState>>;
|
|
27
|
+
recordActivity(agentId: string, amount?: number): Promise<WorkspaceRouterResult<number>>;
|
|
28
|
+
sendStructuredCommand(agentId: string, command: string, payload: unknown): Promise<WorkspaceRouterResult<RoutedStructuredCommand>>;
|
|
29
|
+
cancelStructuredCommand(agentId: string, targetCorrelationId: string): Promise<WorkspaceRouterResult<StructuredCommandRecord>>;
|
|
30
|
+
view(): WorkspaceView;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../src/features/workspace/router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,oDAAoD,CAAC;AAC5D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AAE5F,OAAO,EAAE,gBAAgB,EAAE,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,uBAAuB,CAAC;CAC1C;AAED,MAAM,MAAM,qBAAqB,CAAC,CAAC,GAAG,SAAS,IAC3C;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GAC7E;IAAE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtF,qBAAa,eAAe;;IAKd,QAAQ,CAAC,OAAO,EAAE,gBAAgB;gBAAzB,OAAO,EAAE,gBAAgB;IAI9C,WAAW,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAS/F,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAIjF,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAI/E,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAQjF,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IAInF,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IA2BlI,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,uBAAuB,CAAC,CAAC;IAoB9H,IAAI,IAAI,aAAa;CA2BtB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { StructuredCommandTracker, } from "../../foundation/structured-agent-runtime/index.js";
|
|
2
|
+
import { gateWorkspaceAction } from "./capabilities.js";
|
|
3
|
+
import { WorkspaceReducer } from "./reducer.js";
|
|
4
|
+
export class WorkspaceRouter {
|
|
5
|
+
reducer;
|
|
6
|
+
#trackers = new Map();
|
|
7
|
+
#tail = Promise.resolve();
|
|
8
|
+
#nextCommandSequence = 0;
|
|
9
|
+
constructor(reducer) {
|
|
10
|
+
this.reducer = reducer;
|
|
11
|
+
for (const agent of reducer.view().agents)
|
|
12
|
+
this.#registerTracker(agent);
|
|
13
|
+
}
|
|
14
|
+
createAgent(agent) {
|
|
15
|
+
return this.#enqueue(() => {
|
|
16
|
+
const result = this.reducer.createAgent(agent);
|
|
17
|
+
if (result.kind === "rejected")
|
|
18
|
+
return result;
|
|
19
|
+
this.#registerTracker(result.value);
|
|
20
|
+
return result;
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
selectAgent(agentId) {
|
|
24
|
+
return this.#enqueue(() => this.reducer.selectAgent(agentId));
|
|
25
|
+
}
|
|
26
|
+
stopAgent(agentId) {
|
|
27
|
+
return this.#enqueue(() => this.reducer.stopAgent(agentId));
|
|
28
|
+
}
|
|
29
|
+
removeAgent(agentId) {
|
|
30
|
+
return this.#enqueue(() => {
|
|
31
|
+
const result = this.reducer.removeAgent(agentId);
|
|
32
|
+
if (result.kind === "applied")
|
|
33
|
+
this.#trackers.delete(agentId);
|
|
34
|
+
return result;
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
recordActivity(agentId, amount = 1) {
|
|
38
|
+
return this.#enqueue(() => this.reducer.recordActivity(agentId, amount));
|
|
39
|
+
}
|
|
40
|
+
sendStructuredCommand(agentId, command, payload) {
|
|
41
|
+
return this.#enqueue(() => {
|
|
42
|
+
const agent = this.#selectedAgent();
|
|
43
|
+
if (!agent)
|
|
44
|
+
return reject("no-selected-agent", "no workspace agent is selected");
|
|
45
|
+
if (agent.id !== agentId)
|
|
46
|
+
return reject("stale-selection", `structured command was accepted for ${agentId}, but ${agent.id} is selected at the routing point`);
|
|
47
|
+
const gate = gateWorkspaceAction(agent, { type: "structured-command", command });
|
|
48
|
+
if (gate.kind === "rejected")
|
|
49
|
+
return gate;
|
|
50
|
+
const tracker = this.#trackerFor(agent);
|
|
51
|
+
if (!tracker)
|
|
52
|
+
return reject("capability-mismatch", `agent ${agent.id} is not structured`);
|
|
53
|
+
const correlationId = this.#nextCorrelationId("command");
|
|
54
|
+
const started = tracker.start({
|
|
55
|
+
type: "structured-command",
|
|
56
|
+
correlationId,
|
|
57
|
+
agentId: agent.id,
|
|
58
|
+
command,
|
|
59
|
+
payload,
|
|
60
|
+
});
|
|
61
|
+
if (started.kind === "rejected")
|
|
62
|
+
return started;
|
|
63
|
+
return applied(this.reducer.view(), {
|
|
64
|
+
agentId: agent.id,
|
|
65
|
+
correlationId,
|
|
66
|
+
command,
|
|
67
|
+
record: started.record,
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
cancelStructuredCommand(agentId, targetCorrelationId) {
|
|
72
|
+
return this.#enqueue(() => {
|
|
73
|
+
const agent = this.#selectedAgent();
|
|
74
|
+
if (!agent)
|
|
75
|
+
return reject("no-selected-agent", "no workspace agent is selected");
|
|
76
|
+
if (agent.id !== agentId)
|
|
77
|
+
return reject("stale-selection", `structured cancellation was accepted for ${agentId}, but ${agent.id} is selected at the routing point`);
|
|
78
|
+
const gate = gateWorkspaceAction(agent, { type: "cancel-structured-command" });
|
|
79
|
+
if (gate.kind === "rejected")
|
|
80
|
+
return gate;
|
|
81
|
+
const tracker = this.#trackerFor(agent);
|
|
82
|
+
if (!tracker)
|
|
83
|
+
return reject("capability-mismatch", `agent ${agent.id} is not structured`);
|
|
84
|
+
const result = tracker.cancel({
|
|
85
|
+
type: "cancel-structured-command",
|
|
86
|
+
correlationId: this.#nextCorrelationId("cancel"),
|
|
87
|
+
agentId: agent.id,
|
|
88
|
+
targetCorrelationId,
|
|
89
|
+
});
|
|
90
|
+
if (result.kind === "rejected")
|
|
91
|
+
return result;
|
|
92
|
+
return applied(this.reducer.view(), result.record);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
view() {
|
|
96
|
+
return this.reducer.view();
|
|
97
|
+
}
|
|
98
|
+
#selectedAgent() {
|
|
99
|
+
const view = this.reducer.view();
|
|
100
|
+
return view.agents.find(agent => agent.id === view.selectedAgentId) ?? null;
|
|
101
|
+
}
|
|
102
|
+
#registerTracker(agent) {
|
|
103
|
+
if (agent.capability.kind === "structured")
|
|
104
|
+
this.#trackers.set(agent.id, new StructuredCommandTracker(agent.id, agent.capability));
|
|
105
|
+
}
|
|
106
|
+
#trackerFor(agent) {
|
|
107
|
+
return this.#trackers.get(agent.id) ?? null;
|
|
108
|
+
}
|
|
109
|
+
#nextCorrelationId(prefix) {
|
|
110
|
+
this.#nextCommandSequence += 1;
|
|
111
|
+
return `${prefix}-${this.#nextCommandSequence}`;
|
|
112
|
+
}
|
|
113
|
+
#enqueue(operation) {
|
|
114
|
+
const result = this.#tail.then(operation);
|
|
115
|
+
this.#tail = result.then(() => undefined, () => undefined);
|
|
116
|
+
return result;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
function applied(view, value) {
|
|
120
|
+
return { kind: "applied", view, value };
|
|
121
|
+
}
|
|
122
|
+
function reject(code, diagnostic) {
|
|
123
|
+
return { kind: "rejected", code, diagnostic };
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=router.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../../../src/features/workspace/router.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { AgentRecoveryAuthority, RecoveryReferenceId } from "../../foundation/workspace-contracts/index.js";
|
|
2
|
+
import { WorkspaceReducer, type WorkspaceView } from "./reducer.js";
|
|
3
|
+
export declare class WorkspaceStore {
|
|
4
|
+
#private;
|
|
5
|
+
constructor(path: string);
|
|
6
|
+
load(): WorkspaceReducer;
|
|
7
|
+
save(reducer: WorkspaceReducer): void;
|
|
8
|
+
saveView(view: WorkspaceView): void;
|
|
9
|
+
loadRecoveryReference(id: RecoveryReferenceId): {
|
|
10
|
+
readonly authority: unknown;
|
|
11
|
+
readonly status: string;
|
|
12
|
+
readonly rollback: unknown;
|
|
13
|
+
readonly updatedAt: string;
|
|
14
|
+
} | null;
|
|
15
|
+
persistRecoveryReference(authority: AgentRecoveryAuthority, status: "pending" | "accepted" | "rejected" | "discontinuous", rollbackMetadata: Readonly<Record<string, unknown>>, updatedAt?: string): void;
|
|
16
|
+
close(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../../src/features/workspace/store.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,mBAAmB,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAE,gBAAgB,EAA4B,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAE9F,qBAAa,cAAc;;gBAGb,IAAI,EAAE,MAAM;IAIxB,IAAI,IAAI,gBAAgB;IAWxB,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAKrC,QAAQ,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAqBnC,qBAAqB,CAAC,EAAE,EAAE,mBAAmB;;;;;;IAI7C,wBAAwB,CACtB,SAAS,EAAE,sBAAsB,EACjC,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,eAAe,EAC7D,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACnD,SAAS,SAA2B,GACnC,IAAI;IAIP,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { ControlStore, DEFAULT_WORKSPACE_ID, } from "../../foundation/storage/index.js";
|
|
2
|
+
import { WorkspaceReducer } from "./reducer.js";
|
|
3
|
+
export class WorkspaceStore {
|
|
4
|
+
#store;
|
|
5
|
+
constructor(path) {
|
|
6
|
+
this.#store = new ControlStore(path);
|
|
7
|
+
}
|
|
8
|
+
load() {
|
|
9
|
+
const records = this.#store.loadWorkspaceAgentRecords();
|
|
10
|
+
const agents = records.map(record => toWorkspaceAgent(record));
|
|
11
|
+
return new WorkspaceReducer(DEFAULT_WORKSPACE_ID, agents, this.#store.loadSelectedWorkspaceAgentId(), this.#store.loadWorkspaceRevision());
|
|
12
|
+
}
|
|
13
|
+
save(reducer) {
|
|
14
|
+
const view = reducer.view();
|
|
15
|
+
this.saveView(view);
|
|
16
|
+
}
|
|
17
|
+
saveView(view) {
|
|
18
|
+
const records = view.agents.map((agent) => ({
|
|
19
|
+
agent: {
|
|
20
|
+
id: agent.id,
|
|
21
|
+
displayName: agent.displayName,
|
|
22
|
+
adapterId: agent.adapterId,
|
|
23
|
+
runtime: agent.runtime,
|
|
24
|
+
lifecycle: agent.lifecycle,
|
|
25
|
+
capability: agent.capability,
|
|
26
|
+
createdAt: agent.createdAt,
|
|
27
|
+
recoveryReferenceId: agent.recoveryReferenceId,
|
|
28
|
+
},
|
|
29
|
+
presentation: {
|
|
30
|
+
unreadActivity: agent.unreadActivity,
|
|
31
|
+
attention: agent.attention,
|
|
32
|
+
failure: agent.failure,
|
|
33
|
+
},
|
|
34
|
+
}));
|
|
35
|
+
this.#store.replaceWorkspaceAgentRecords(records, view.selectedAgentId, view.revision);
|
|
36
|
+
}
|
|
37
|
+
loadRecoveryReference(id) {
|
|
38
|
+
return this.#store.loadRecoveryReference(id);
|
|
39
|
+
}
|
|
40
|
+
persistRecoveryReference(authority, status, rollbackMetadata, updatedAt = new Date().toISOString()) {
|
|
41
|
+
this.#store.persistRecoveryReference(authority, status, rollbackMetadata, updatedAt);
|
|
42
|
+
}
|
|
43
|
+
close() {
|
|
44
|
+
this.#store.close();
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
function toWorkspaceAgent(record) {
|
|
48
|
+
return {
|
|
49
|
+
...record.agent,
|
|
50
|
+
unreadActivity: record.presentation.unreadActivity,
|
|
51
|
+
attention: record.presentation.attention,
|
|
52
|
+
failure: record.presentation.failure,
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../../src/features/workspace/store.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,oBAAoB,GAErB,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAgD,MAAM,cAAc,CAAC;AAE9F,MAAM,OAAO,cAAc;IAChB,MAAM,CAAe;IAE9B,YAAY,IAAY;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI;QACF,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,yBAAyB,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/D,OAAO,IAAI,gBAAgB,CACzB,oBAAoB,EACpB,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,4BAA4B,EAAE,EAC1C,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,CACpC,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,OAAyB;QAC5B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;IAED,QAAQ,CAAC,IAAmB;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAwB,EAAE,CAAC,CAAC;YAChE,KAAK,EAAE;gBACL,EAAE,EAAE,KAAK,CAAC,EAAE;gBACZ,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,mBAAmB,EAAE,KAAK,CAAC,mBAAmB;aAC/C;YACD,YAAY,EAAE;gBACZ,cAAc,EAAE,KAAK,CAAC,cAAc;gBACpC,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB;SACF,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzF,CAAC;IAED,qBAAqB,CAAC,EAAuB;QAC3C,OAAO,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,wBAAwB,CACtB,SAAiC,EACjC,MAA6D,EAC7D,gBAAmD,EACnD,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QAEpC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACvF,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AAED,SAAS,gBAAgB,CAAC,MAA4B;IACpD,OAAO;QACL,GAAG,MAAM,CAAC,KAAK;QACf,cAAc,EAAE,MAAM,CAAC,YAAY,CAAC,cAAc;QAClD,SAAS,EAAE,MAAM,CAAC,YAAY,CAAC,SAAS;QACxC,OAAO,EAAE,MAAM,CAAC,YAAY,CAAC,OAAO;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/foundation/lifecycle/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/foundation/lifecycle/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
export type LaunchProfileId = "addone" | "pi" | "sandbox";
|
|
2
|
+
export type GenerationId = string;
|
|
3
|
+
export type DriverProfileId = string;
|
|
4
|
+
export type RequestId = string;
|
|
5
|
+
export type ForegroundTerminalLeaseId = string;
|
|
6
|
+
export interface TerminalDimensions {
|
|
7
|
+
readonly columns: number;
|
|
8
|
+
readonly rows: number;
|
|
9
|
+
}
|
|
10
|
+
export interface TransparentTerminalLaunchProfile {
|
|
11
|
+
readonly id: DriverProfileId;
|
|
12
|
+
readonly terminalCapability: "transparent";
|
|
13
|
+
readonly executable: string;
|
|
14
|
+
readonly arguments: readonly string[];
|
|
15
|
+
readonly cwd: string;
|
|
16
|
+
readonly environment: Readonly<Record<string, string>>;
|
|
17
|
+
readonly terminalType: string;
|
|
18
|
+
readonly dimensions: TerminalDimensions;
|
|
19
|
+
readonly ownerDisconnect: "stop" | "detach";
|
|
20
|
+
readonly recovery: "detach-only" | "none";
|
|
21
|
+
readonly surface: "none";
|
|
22
|
+
readonly visualReconnection: "none";
|
|
23
|
+
}
|
|
24
|
+
export interface NativeProcessIdentity {
|
|
25
|
+
readonly pid: number;
|
|
26
|
+
readonly startIdentity: string;
|
|
27
|
+
}
|
|
28
|
+
export type TransparentTerminalLifecycleOutcome = {
|
|
29
|
+
readonly kind: "exited";
|
|
30
|
+
readonly exitCode: number;
|
|
31
|
+
} | {
|
|
32
|
+
readonly kind: "signaled";
|
|
33
|
+
readonly signal: string;
|
|
34
|
+
} | {
|
|
35
|
+
readonly kind: "stopped";
|
|
36
|
+
readonly reason: "owner-disconnect" | "user-request" | "update";
|
|
37
|
+
} | {
|
|
38
|
+
readonly kind: "detached";
|
|
39
|
+
readonly reason: "owner-disconnect";
|
|
40
|
+
} | {
|
|
41
|
+
readonly kind: "spawn-error" | "broker-error";
|
|
42
|
+
readonly message: string;
|
|
43
|
+
readonly code: string | null;
|
|
44
|
+
};
|
|
45
|
+
export type ForegroundTerminalLeaseState = "requested" | "active" | "released";
|
|
46
|
+
export interface ForegroundTerminalLease {
|
|
47
|
+
readonly id: ForegroundTerminalLeaseId;
|
|
48
|
+
readonly ownerId: string;
|
|
49
|
+
readonly profile: TransparentTerminalLaunchProfile;
|
|
50
|
+
readonly state: ForegroundTerminalLeaseState;
|
|
51
|
+
readonly generationId: GenerationId | null;
|
|
52
|
+
readonly processIdentity: NativeProcessIdentity | null;
|
|
53
|
+
readonly acquiredAt: string;
|
|
54
|
+
readonly heartbeatAt: string | null;
|
|
55
|
+
readonly releasedAt: string | null;
|
|
56
|
+
readonly outcome: TransparentTerminalLifecycleOutcome | null;
|
|
57
|
+
}
|
|
58
|
+
export interface SupervisorSnapshot {
|
|
59
|
+
readonly revision: number;
|
|
60
|
+
}
|
|
61
|
+
export type SupervisorCommand = {
|
|
62
|
+
readonly type: "acquire-foreground-terminal-lease";
|
|
63
|
+
readonly requestId: RequestId;
|
|
64
|
+
readonly leaseId: ForegroundTerminalLeaseId;
|
|
65
|
+
readonly ownerId: string;
|
|
66
|
+
readonly profile: TransparentTerminalLaunchProfile;
|
|
67
|
+
} | {
|
|
68
|
+
readonly type: "activate-foreground-terminal-lease";
|
|
69
|
+
readonly requestId: RequestId;
|
|
70
|
+
readonly leaseId: ForegroundTerminalLeaseId;
|
|
71
|
+
readonly generationId: GenerationId;
|
|
72
|
+
readonly processIdentity: NativeProcessIdentity;
|
|
73
|
+
} | {
|
|
74
|
+
readonly type: "heartbeat-foreground-terminal-lease";
|
|
75
|
+
readonly requestId: RequestId;
|
|
76
|
+
readonly leaseId: ForegroundTerminalLeaseId;
|
|
77
|
+
readonly processIdentity: NativeProcessIdentity;
|
|
78
|
+
} | {
|
|
79
|
+
readonly type: "release-foreground-terminal-lease";
|
|
80
|
+
readonly requestId: RequestId;
|
|
81
|
+
readonly leaseId: ForegroundTerminalLeaseId;
|
|
82
|
+
readonly processIdentity: NativeProcessIdentity | null;
|
|
83
|
+
readonly outcome: TransparentTerminalLifecycleOutcome;
|
|
84
|
+
} | {
|
|
85
|
+
readonly type: "resynchronize";
|
|
86
|
+
readonly requestId: RequestId;
|
|
87
|
+
};
|
|
88
|
+
export interface CommandResult {
|
|
89
|
+
readonly requestId: RequestId;
|
|
90
|
+
readonly ok: boolean;
|
|
91
|
+
readonly revision: number;
|
|
92
|
+
readonly error?: {
|
|
93
|
+
readonly code: "invalid-command" | "not-found" | "stale-generation" | "capability-error" | "driver-error";
|
|
94
|
+
readonly message: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
export declare function assertLaunchProfileId(value: unknown): asserts value is LaunchProfileId;
|
|
98
|
+
export declare function assertDimensions(dimensions: TerminalDimensions): void;
|
|
99
|
+
export declare function assertTransparentTerminalLaunchProfile(profile: TransparentTerminalLaunchProfile): void;
|
|
100
|
+
export declare function assertNativeProcessIdentity(identity: NativeProcessIdentity): void;
|
|
101
|
+
//# sourceMappingURL=model.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/foundation/lifecycle/model.ts"],"names":[],"mappings":"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"}
|