@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,311 @@
|
|
|
1
|
+
import { existsSync, readFileSync, readdirSync, watch } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { getAgentDir, getPackageDir, initTheme, Theme, } from "@earendil-works/pi-coding-agent";
|
|
4
|
+
import { getCapabilities } from "@earendil-works/pi-tui";
|
|
5
|
+
export const PINNED_PI_LAYOUT = Object.freeze({
|
|
6
|
+
editorPaddingX: 0,
|
|
7
|
+
outputPad: 1,
|
|
8
|
+
autocompleteMaxVisible: 5,
|
|
9
|
+
contentPaddingX: 1,
|
|
10
|
+
messagePaddingY: 1,
|
|
11
|
+
sectionSpacing: 1,
|
|
12
|
+
selectorMaxVisible: 10,
|
|
13
|
+
});
|
|
14
|
+
const FOREGROUND_COLORS = [
|
|
15
|
+
"accent", "border", "borderAccent", "borderMuted", "success", "error", "warning", "muted", "dim", "text",
|
|
16
|
+
"thinkingText", "userMessageText", "customMessageText", "customMessageLabel", "toolTitle", "toolOutput",
|
|
17
|
+
"mdHeading", "mdLink", "mdLinkUrl", "mdCode", "mdCodeBlock", "mdCodeBlockBorder", "mdQuote", "mdQuoteBorder",
|
|
18
|
+
"mdHr", "mdListBullet", "toolDiffAdded", "toolDiffRemoved", "toolDiffContext", "syntaxComment", "syntaxKeyword",
|
|
19
|
+
"syntaxFunction", "syntaxVariable", "syntaxString", "syntaxNumber", "syntaxType", "syntaxOperator", "syntaxPunctuation",
|
|
20
|
+
"thinkingOff", "thinkingMinimal", "thinkingLow", "thinkingMedium", "thinkingHigh", "thinkingXhigh", "thinkingMax", "bashMode",
|
|
21
|
+
];
|
|
22
|
+
const BACKGROUND_COLORS = [
|
|
23
|
+
"selectedBg", "scrollbarThumb", "userMessageBg", "customMessageBg", "toolPendingBg", "toolSuccessBg", "toolErrorBg",
|
|
24
|
+
];
|
|
25
|
+
let activeTheme;
|
|
26
|
+
let activeThemeName;
|
|
27
|
+
let activeThemeMode;
|
|
28
|
+
let themeWatcher;
|
|
29
|
+
let themeReloadTimer;
|
|
30
|
+
const themeChangeListeners = new Set();
|
|
31
|
+
export function ensurePiTheme() {
|
|
32
|
+
if (activeTheme)
|
|
33
|
+
return activeTheme;
|
|
34
|
+
const detected = detectPiTerminalBackgroundFromEnv();
|
|
35
|
+
applyPiTheme(detected.theme);
|
|
36
|
+
return activeTheme;
|
|
37
|
+
}
|
|
38
|
+
export function piTheme() {
|
|
39
|
+
return ensurePiTheme();
|
|
40
|
+
}
|
|
41
|
+
export function currentPiThemeName() {
|
|
42
|
+
ensurePiTheme();
|
|
43
|
+
return activeThemeName;
|
|
44
|
+
}
|
|
45
|
+
export function applyPiTheme(name, enableWatcher = false, mode) {
|
|
46
|
+
try {
|
|
47
|
+
const loaded = loadPiTheme(name, mode);
|
|
48
|
+
initTheme(name, false);
|
|
49
|
+
activeTheme = loaded;
|
|
50
|
+
activeThemeName = name;
|
|
51
|
+
activeThemeMode = mode;
|
|
52
|
+
if (enableWatcher)
|
|
53
|
+
startPiThemeWatcher(name);
|
|
54
|
+
notifyThemeChanged();
|
|
55
|
+
return { success: true, name };
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
initTheme("dark", false);
|
|
59
|
+
activeTheme = loadPiTheme("dark", mode);
|
|
60
|
+
activeThemeName = "dark";
|
|
61
|
+
activeThemeMode = mode;
|
|
62
|
+
notifyThemeChanged();
|
|
63
|
+
return { success: false, name: "dark", error: error instanceof Error ? error.message : String(error) };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
export function applyPiThemeInstance(theme) {
|
|
67
|
+
stopPiThemeWatcher();
|
|
68
|
+
activeTheme = theme;
|
|
69
|
+
activeThemeName = theme.name ?? "<in-memory>";
|
|
70
|
+
activeThemeMode = theme.getColorMode();
|
|
71
|
+
notifyThemeChanged();
|
|
72
|
+
return { success: true, name: activeThemeName };
|
|
73
|
+
}
|
|
74
|
+
export function onPiThemeChange(listener) {
|
|
75
|
+
themeChangeListeners.add(listener);
|
|
76
|
+
return () => themeChangeListeners.delete(listener);
|
|
77
|
+
}
|
|
78
|
+
export function stopPiThemeWatcher() {
|
|
79
|
+
if (themeReloadTimer !== undefined)
|
|
80
|
+
clearTimeout(themeReloadTimer);
|
|
81
|
+
themeReloadTimer = undefined;
|
|
82
|
+
themeWatcher?.close();
|
|
83
|
+
themeWatcher = undefined;
|
|
84
|
+
}
|
|
85
|
+
export function loadPiTheme(name, mode) {
|
|
86
|
+
if (!name || name.includes("/"))
|
|
87
|
+
throw new Error(`Invalid theme name: ${name}`);
|
|
88
|
+
const path = themePath(name);
|
|
89
|
+
const source = readFileSync(path, "utf8");
|
|
90
|
+
let parsed;
|
|
91
|
+
try {
|
|
92
|
+
parsed = JSON.parse(source);
|
|
93
|
+
}
|
|
94
|
+
catch (error) {
|
|
95
|
+
throw new Error(`Failed to parse theme ${path}: ${error instanceof Error ? error.message : String(error)}`);
|
|
96
|
+
}
|
|
97
|
+
const themeJson = validateThemeJson(path, parsed);
|
|
98
|
+
const vars = themeJson.vars ?? {};
|
|
99
|
+
const colors = { ...themeJson.colors };
|
|
100
|
+
const thinkingMax = colors.thinkingMax ?? colors.thinkingXhigh;
|
|
101
|
+
const scrollbarThumb = colors.scrollbarThumb ?? colors.selectedBg;
|
|
102
|
+
if (thinkingMax !== undefined)
|
|
103
|
+
colors.thinkingMax = thinkingMax;
|
|
104
|
+
if (scrollbarThumb !== undefined)
|
|
105
|
+
colors.scrollbarThumb = scrollbarThumb;
|
|
106
|
+
const resolved = Object.fromEntries(Object.entries(colors).map(([key, value]) => [key, resolveVariable(value, vars)]));
|
|
107
|
+
const foreground = Object.fromEntries(FOREGROUND_COLORS.map(key => [key, requiredColor(resolved, key, path)]));
|
|
108
|
+
const backgrounds = Object.fromEntries(BACKGROUND_COLORS.map(key => [key, requiredColor(resolved, key, path)]));
|
|
109
|
+
return new Theme(foreground, backgrounds, mode ?? (getCapabilities().trueColor ? "truecolor" : "256color"), {
|
|
110
|
+
name: themeJson.name,
|
|
111
|
+
sourcePath: path,
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
export function getAvailablePiThemes() {
|
|
115
|
+
const available = new Map();
|
|
116
|
+
for (const name of ["dark", "light"])
|
|
117
|
+
available.set(name, themePath(name));
|
|
118
|
+
const customDirectory = join(getAgentDir(), "themes");
|
|
119
|
+
if (existsSync(customDirectory)) {
|
|
120
|
+
for (const file of readdirSync(customDirectory)) {
|
|
121
|
+
if (!file.endsWith(".json"))
|
|
122
|
+
continue;
|
|
123
|
+
const path = join(customDirectory, file);
|
|
124
|
+
try {
|
|
125
|
+
const parsed = validateThemeJson(path, JSON.parse(readFileSync(path, "utf8")));
|
|
126
|
+
if (!available.has(parsed.name))
|
|
127
|
+
available.set(parsed.name, path);
|
|
128
|
+
}
|
|
129
|
+
catch { }
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
return [...available].map(([name, path]) => ({ name, path })).sort((left, right) => left.name.localeCompare(right.name));
|
|
133
|
+
}
|
|
134
|
+
export function parsePiAutoThemeSetting(setting) {
|
|
135
|
+
if (!setting)
|
|
136
|
+
return undefined;
|
|
137
|
+
const slashIndex = setting.indexOf("/");
|
|
138
|
+
if (slashIndex === -1 || setting.indexOf("/", slashIndex + 1) !== -1)
|
|
139
|
+
return undefined;
|
|
140
|
+
const lightTheme = setting.slice(0, slashIndex).trim();
|
|
141
|
+
const darkTheme = setting.slice(slashIndex + 1).trim();
|
|
142
|
+
return lightTheme && darkTheme ? { lightTheme, darkTheme } : undefined;
|
|
143
|
+
}
|
|
144
|
+
export function resolvePiThemeSetting(setting, terminalTheme) {
|
|
145
|
+
const automatic = parsePiAutoThemeSetting(setting);
|
|
146
|
+
if (automatic)
|
|
147
|
+
return terminalTheme === "light" ? automatic.lightTheme : automatic.darkTheme;
|
|
148
|
+
if (setting?.includes("/"))
|
|
149
|
+
return undefined;
|
|
150
|
+
return setting;
|
|
151
|
+
}
|
|
152
|
+
export function detectPiTerminalBackgroundFromEnv(environment = process.env) {
|
|
153
|
+
const parts = (environment.COLORFGBG ?? "").split(";");
|
|
154
|
+
for (let index = parts.length - 1; index >= 0; index -= 1) {
|
|
155
|
+
const background = Number.parseInt(parts[index].trim(), 10);
|
|
156
|
+
if (!Number.isInteger(background) || background < 0 || background > 255)
|
|
157
|
+
continue;
|
|
158
|
+
return {
|
|
159
|
+
theme: luminance(hexToRgb(ansi256ToHex(background))) >= 0.5 ? "light" : "dark",
|
|
160
|
+
source: "COLORFGBG",
|
|
161
|
+
detail: `background color index ${background}`,
|
|
162
|
+
confidence: "high",
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
return { theme: "dark", source: "fallback", detail: "no terminal background hint found", confidence: "low" };
|
|
166
|
+
}
|
|
167
|
+
export async function detectPiTerminalBackgroundTheme(ui, timeoutMs, environment = process.env) {
|
|
168
|
+
try {
|
|
169
|
+
const rgb = await ui.queryTerminalBackgroundColor({ timeoutMs });
|
|
170
|
+
if (rgb) {
|
|
171
|
+
return {
|
|
172
|
+
theme: luminance(rgb) >= 0.5 ? "light" : "dark",
|
|
173
|
+
source: "terminal background",
|
|
174
|
+
detail: `OSC 11 background rgb(${rgb.r}, ${rgb.g}, ${rgb.b})`,
|
|
175
|
+
confidence: "high",
|
|
176
|
+
};
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
catch { }
|
|
180
|
+
return detectPiTerminalBackgroundFromEnv(environment);
|
|
181
|
+
}
|
|
182
|
+
export async function detectPiTerminalThemeForAuto(ui, timeoutMs, environment = process.env) {
|
|
183
|
+
let scheme;
|
|
184
|
+
try {
|
|
185
|
+
scheme = ui.queryTerminalColorScheme?.({ timeoutMs });
|
|
186
|
+
}
|
|
187
|
+
catch { }
|
|
188
|
+
const background = detectPiTerminalBackgroundTheme(ui, timeoutMs, environment);
|
|
189
|
+
try {
|
|
190
|
+
const value = await scheme;
|
|
191
|
+
if (value)
|
|
192
|
+
return value;
|
|
193
|
+
}
|
|
194
|
+
catch { }
|
|
195
|
+
return (await background).theme;
|
|
196
|
+
}
|
|
197
|
+
function startPiThemeWatcher(name) {
|
|
198
|
+
stopPiThemeWatcher();
|
|
199
|
+
if (name === "dark" || name === "light")
|
|
200
|
+
return;
|
|
201
|
+
const path = themePath(name);
|
|
202
|
+
if (!existsSync(path))
|
|
203
|
+
return;
|
|
204
|
+
themeWatcher = watch(path, () => {
|
|
205
|
+
if (activeThemeName !== name)
|
|
206
|
+
return;
|
|
207
|
+
if (themeReloadTimer !== undefined)
|
|
208
|
+
clearTimeout(themeReloadTimer);
|
|
209
|
+
themeReloadTimer = setTimeout(() => {
|
|
210
|
+
themeReloadTimer = undefined;
|
|
211
|
+
if (activeThemeName !== name || !existsSync(path))
|
|
212
|
+
return;
|
|
213
|
+
try {
|
|
214
|
+
activeTheme = loadPiTheme(name, activeThemeMode);
|
|
215
|
+
notifyThemeChanged();
|
|
216
|
+
}
|
|
217
|
+
catch { }
|
|
218
|
+
}, 100);
|
|
219
|
+
});
|
|
220
|
+
themeWatcher.on("error", stopPiThemeWatcher);
|
|
221
|
+
}
|
|
222
|
+
function notifyThemeChanged() {
|
|
223
|
+
for (const listener of themeChangeListeners)
|
|
224
|
+
listener();
|
|
225
|
+
}
|
|
226
|
+
function themePath(name) {
|
|
227
|
+
if (name === "dark" || name === "light") {
|
|
228
|
+
return join(getPackageDir(), "dist", "modes", "interactive", "theme", `${name}.json`);
|
|
229
|
+
}
|
|
230
|
+
return join(getAgentDir(), "themes", `${name}.json`);
|
|
231
|
+
}
|
|
232
|
+
function validateThemeJson(label, value) {
|
|
233
|
+
if (!isRecord(value) || typeof value.name !== "string" || !isRecord(value.colors)
|
|
234
|
+
|| (value.vars !== undefined && !isRecord(value.vars))) {
|
|
235
|
+
throw new Error(`Invalid theme "${label}": expected name, colors, and optional vars objects`);
|
|
236
|
+
}
|
|
237
|
+
if (value.name.includes("/"))
|
|
238
|
+
throw new Error(`Invalid theme name "${value.name}"`);
|
|
239
|
+
for (const key of FOREGROUND_COLORS) {
|
|
240
|
+
if (key !== "thinkingMax" && value.colors[key] === undefined)
|
|
241
|
+
throw new Error(`Invalid theme "${label}": missing required color ${key}`);
|
|
242
|
+
}
|
|
243
|
+
for (const key of BACKGROUND_COLORS) {
|
|
244
|
+
if (key !== "scrollbarThumb" && value.colors[key] === undefined)
|
|
245
|
+
throw new Error(`Invalid theme "${label}": missing required color ${key}`);
|
|
246
|
+
}
|
|
247
|
+
const colors = {};
|
|
248
|
+
for (const [key, color] of Object.entries(value.colors)) {
|
|
249
|
+
validateColor(color, `${label}.colors.${key}`);
|
|
250
|
+
colors[key] = color;
|
|
251
|
+
}
|
|
252
|
+
const vars = {};
|
|
253
|
+
for (const [key, color] of Object.entries(value.vars ?? {})) {
|
|
254
|
+
validateColor(color, `${label}.vars.${key}`);
|
|
255
|
+
vars[key] = color;
|
|
256
|
+
}
|
|
257
|
+
return { name: value.name, colors, ...(Object.keys(vars).length === 0 ? {} : { vars }) };
|
|
258
|
+
}
|
|
259
|
+
function validateColor(value, label) {
|
|
260
|
+
if (typeof value === "string")
|
|
261
|
+
return;
|
|
262
|
+
if (Number.isInteger(value) && value >= 0 && value <= 255)
|
|
263
|
+
return;
|
|
264
|
+
throw new Error(`Invalid theme color: ${label}`);
|
|
265
|
+
}
|
|
266
|
+
function resolveVariable(value, vars, visited = new Set()) {
|
|
267
|
+
if (typeof value === "number" || value === "" || value.startsWith("#"))
|
|
268
|
+
return value;
|
|
269
|
+
if (visited.has(value))
|
|
270
|
+
throw new Error(`Circular variable reference detected: ${value}`);
|
|
271
|
+
if (!(value in vars))
|
|
272
|
+
throw new Error(`Variable reference not found: ${value}`);
|
|
273
|
+
visited.add(value);
|
|
274
|
+
return resolveVariable(vars[value], vars, visited);
|
|
275
|
+
}
|
|
276
|
+
function requiredColor(colors, key, label) {
|
|
277
|
+
const value = colors[key];
|
|
278
|
+
if (value === undefined)
|
|
279
|
+
throw new Error(`Invalid theme "${label}": missing required color ${key}`);
|
|
280
|
+
return value;
|
|
281
|
+
}
|
|
282
|
+
function luminance({ r, g, b }) {
|
|
283
|
+
const linear = (channel) => {
|
|
284
|
+
const value = channel / 255;
|
|
285
|
+
return value <= 0.03928 ? value / 12.92 : ((value + 0.055) / 1.055) ** 2.4;
|
|
286
|
+
};
|
|
287
|
+
return 0.2126 * linear(r) + 0.7152 * linear(g) + 0.0722 * linear(b);
|
|
288
|
+
}
|
|
289
|
+
function hexToRgb(hex) {
|
|
290
|
+
const value = hex.slice(1);
|
|
291
|
+
return { r: Number.parseInt(value.slice(0, 2), 16), g: Number.parseInt(value.slice(2, 4), 16), b: Number.parseInt(value.slice(4, 6), 16) };
|
|
292
|
+
}
|
|
293
|
+
function ansi256ToHex(index) {
|
|
294
|
+
const basic = [
|
|
295
|
+
"#000000", "#800000", "#008000", "#808000", "#000080", "#800080", "#008080", "#c0c0c0",
|
|
296
|
+
"#808080", "#ff0000", "#00ff00", "#ffff00", "#0000ff", "#ff00ff", "#00ffff", "#ffffff",
|
|
297
|
+
];
|
|
298
|
+
if (index < 16)
|
|
299
|
+
return basic[index];
|
|
300
|
+
if (index < 232) {
|
|
301
|
+
const cube = index - 16;
|
|
302
|
+
const toHex = (value) => (value === 0 ? 0 : 55 + value * 40).toString(16).padStart(2, "0");
|
|
303
|
+
return `#${toHex(Math.floor(cube / 36))}${toHex(Math.floor((cube % 36) / 6))}${toHex(cube % 6)}`;
|
|
304
|
+
}
|
|
305
|
+
const gray = (8 + (index - 232) * 10).toString(16).padStart(2, "0");
|
|
306
|
+
return `#${gray}${gray}${gray}`;
|
|
307
|
+
}
|
|
308
|
+
function isRecord(value) {
|
|
309
|
+
return typeof value === "object" && value !== null && !Array.isArray(value);
|
|
310
|
+
}
|
|
311
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../../../../src/foundation/pi-component-adapter/upstream/theme/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAkB,MAAM,SAAS,CAAC;AACvF,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,WAAW,EACX,aAAa,EACb,SAAS,EACT,KAAK,GAEN,MAAM,iCAAiC,CAAC;AACzC,OAAO,EAAE,eAAe,EAAiB,MAAM,wBAAwB,CAAC;AAExE,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5C,cAAc,EAAE,CAAC;IACjB,SAAS,EAAE,CAAC;IACZ,sBAAsB,EAAE,CAAC;IACzB,eAAe,EAAE,CAAC;IAClB,eAAe,EAAE,CAAC;IAClB,cAAc,EAAE,CAAC;IACjB,kBAAkB,EAAE,EAAE;CACd,CAAC,CAAC;AAsCZ,MAAM,iBAAiB,GAA0B;IAC/C,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;IACxG,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,WAAW,EAAE,YAAY;IACvG,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,SAAS,EAAE,eAAe;IAC5G,MAAM,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe;IAC/G,gBAAgB,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB;IACvH,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,UAAU;CAC9H,CAAC;AACF,MAAM,iBAAiB,GAAiC;IACtD,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,eAAe,EAAE,aAAa;CACpH,CAAC;AACF,IAAI,WAA8B,CAAC;AACnC,IAAI,eAAmC,CAAC;AACxC,IAAI,eAAwC,CAAC;AAC7C,IAAI,YAAmC,CAAC;AACxC,IAAI,gBAA4C,CAAC;AACjD,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAAc,CAAC;AAEnD,MAAM,UAAU,aAAa;IAC3B,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IACpC,MAAM,QAAQ,GAAG,iCAAiC,EAAE,CAAC;IACrD,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC7B,OAAO,WAAY,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,OAAO,aAAa,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,aAAa,EAAE,CAAC;IAChB,OAAO,eAAgB,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,IAAY,EAAE,aAAa,GAAG,KAAK,EAAE,IAAkB;IAClF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACvB,WAAW,GAAG,MAAM,CAAC;QACrB,eAAe,GAAG,IAAI,CAAC;QACvB,eAAe,GAAG,IAAI,CAAC;QACvB,IAAI,aAAa;YAAE,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAC7C,kBAAkB,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACzB,WAAW,GAAG,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACxC,eAAe,GAAG,MAAM,CAAC;QACzB,eAAe,GAAG,IAAI,CAAC;QACvB,kBAAkB,EAAE,CAAC;QACrB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;IACzG,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAY;IAC/C,kBAAkB,EAAE,CAAC;IACrB,WAAW,GAAG,KAAK,CAAC;IACpB,eAAe,GAAG,KAAK,CAAC,IAAI,IAAI,aAAa,CAAC;IAC9C,eAAe,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;IACvC,kBAAkB,EAAE,CAAC;IACrB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAoB;IAClD,oBAAoB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnC,OAAO,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,IAAI,gBAAgB,KAAK,SAAS;QAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;IACnE,gBAAgB,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,KAAK,EAAE,CAAC;IACtB,YAAY,GAAG,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,IAAkB;IAC1D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,IAAI,EAAE,CAAC,CAAC;IAChF,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9G,CAAC;IACD,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,aAAa,CAAC;IAC/D,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,UAAU,CAAC;IAClE,IAAI,WAAW,KAAK,SAAS;QAAE,MAAM,CAAC,WAAW,GAAG,WAAW,CAAC;IAChE,IAAI,cAAc,KAAK,SAAS;QAAE,MAAM,CAAC,cAAc,GAAG,cAAc,CAAC;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,eAAe,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACvH,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAmC,CAAC;IACjJ,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAA0C,CAAC;IACzJ,OAAO,IAAI,KAAK,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,EAAE;QAC1G,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB;IAClC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC;QAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;YAChD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC/E,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;oBAAE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAC3H,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA2B;IACjE,IAAI,CAAC,OAAO;QAAE,OAAO,SAAS,CAAC;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IACvF,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACvD,OAAO,UAAU,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA2B,EAAE,aAA8B;IAC/F,MAAM,SAAS,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,SAAS;QAAE,OAAO,aAAa,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC;IAC7F,IAAI,OAAO,EAAE,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,iCAAiC,CAAC,cAAiC,OAAO,CAAC,GAAG;IAC5F,MAAM,KAAK,GAAG,CAAC,WAAW,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvD,KAAK,IAAI,KAAK,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAE,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,GAAG,GAAG;YAAE,SAAS;QAClF,OAAO;YACL,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;YAC9E,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,0BAA0B,UAAU,EAAE;YAC9C,UAAU,EAAE,MAAM;SACnB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,mCAAmC,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC/G,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,EAA2B,EAC3B,SAAiB,EACjB,cAAiC,OAAO,CAAC,GAAG;IAE5C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,4BAA4B,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,IAAI,GAAG,EAAE,CAAC;YACR,OAAO;gBACL,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM;gBAC/C,MAAM,EAAE,qBAAqB;gBAC7B,MAAM,EAAE,yBAAyB,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG;gBAC7D,UAAU,EAAE,MAAM;aACnB,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,iCAAiC,CAAC,WAAW,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,EAA2B,EAC3B,SAAiB,EACjB,cAAiC,OAAO,CAAC,GAAG;IAE5C,IAAI,MAAwD,CAAC;IAC7D,IAAI,CAAC;QACH,MAAM,GAAG,EAAE,CAAC,wBAAwB,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,MAAM,UAAU,GAAG,+BAA+B,CAAC,EAAE,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/E,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC;QAC3B,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC;IAC1B,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC,KAAK,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,kBAAkB,EAAE,CAAC;IACrB,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO;QAAE,OAAO;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO;IAC9B,YAAY,GAAG,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE;QAC9B,IAAI,eAAe,KAAK,IAAI;YAAE,OAAO;QACrC,IAAI,gBAAgB,KAAK,SAAS;YAAE,YAAY,CAAC,gBAAgB,CAAC,CAAC;QACnE,gBAAgB,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,gBAAgB,GAAG,SAAS,CAAC;YAC7B,IAAI,eAAe,KAAK,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;gBAAE,OAAO;YAC1D,IAAI,CAAC;gBACH,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;gBACjD,kBAAkB,EAAE,CAAC;YACvB,CAAC;YAAC,MAAM,CAAC,CAAA,CAAC;QACZ,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IACH,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,kBAAkB;IACzB,KAAK,MAAM,QAAQ,IAAI,oBAAoB;QAAE,QAAQ,EAAE,CAAC;AAC1D,CAAC;AAED,SAAS,SAAS,CAAC,IAAY;IAC7B,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;IACxF,CAAC;IACD,OAAO,IAAI,CAAC,WAAW,EAAE,EAAE,QAAQ,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,KAAc;IACtD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC;WAC5E,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,qDAAqD,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACpF,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,aAAa,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAC3I,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;QACpC,IAAI,GAAG,KAAK,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,6BAA6B,GAAG,EAAE,CAAC,CAAC;IAC9I,CAAC;IACD,MAAM,MAAM,GAA+B,EAAE,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,aAAa,CAAC,KAAK,EAAE,GAAG,KAAK,WAAW,GAAG,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACtB,CAAC;IACD,MAAM,IAAI,GAA+B,EAAE,CAAC;IAC5C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5D,aAAa,CAAC,KAAK,EAAE,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED,SAAS,aAAa,CAAC,KAAc,EAAE,KAAa;IAClD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IACtC,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAK,KAAgB,IAAI,CAAC,IAAK,KAAgB,IAAI,GAAG;QAAE,OAAO;IAC1F,MAAM,IAAI,KAAK,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,eAAe,CAAC,KAAiB,EAAE,IAA0C,EAAE,UAAU,IAAI,GAAG,EAAU;IACjH,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACrF,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,yCAAyC,KAAK,EAAE,CAAC,CAAC;IAC1F,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACnB,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,aAAa,CAAC,MAA4C,EAAE,GAAW,EAAE,KAAa;IAC7F,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,6BAA6B,GAAG,EAAE,CAAC,CAAC;IACpG,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAY;IACtC,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE;QACjC,MAAM,KAAK,GAAG,OAAO,GAAG,GAAG,CAAC;QAC5B,OAAO,KAAK,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC;IAC7E,CAAC,CAAC;IACF,OAAO,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,QAAQ,CAAC,GAAW;IAC3B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;AAC7I,CAAC;AAED,SAAS,YAAY,CAAC,KAAa;IACjC,MAAM,KAAK,GAAG;QACZ,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;QACtF,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS;KACvF,CAAC;IACF,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC,KAAK,CAAE,CAAC;IACrC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAChB,MAAM,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnG,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC;IACnG,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,EAAE,CAAC;AAClC,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc;IAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -0,0 +1,343 @@
|
|
|
1
|
+
import { type ExtensionUIContext, type SessionInfo } from "@earendil-works/pi-coding-agent";
|
|
2
|
+
import { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, type OwnedUiCommand, type OwnedUiCommandOutcome, type OwnedUiEvent, type OwnedUiSessionViewModel, type OwnedUiSnapshot } from "../owned-ui-contracts/index.js";
|
|
3
|
+
import { type PiBashWorkflowResult, type PiPinnedSettingsCallback, type PiPinnedSettingsSnapshot, type PiWorkflowAutocompleteCommand, type PiWorkflowHost, type PiWorkflowInteractionHost, type PiWorkflowOption, type PiWorkflowRequest, type PiWorkflowResult } from "./workflows.js";
|
|
4
|
+
export interface PiEngineRuntimeFactoryInput {
|
|
5
|
+
readonly cwd: string;
|
|
6
|
+
readonly agentDir: string;
|
|
7
|
+
readonly sessionId: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PiScopedModelDescriptor {
|
|
10
|
+
readonly provider: string;
|
|
11
|
+
readonly id: string;
|
|
12
|
+
readonly name: string;
|
|
13
|
+
}
|
|
14
|
+
export interface PiScopedModelsContext {
|
|
15
|
+
readonly models: readonly PiScopedModelDescriptor[];
|
|
16
|
+
readonly enabledModelIds: readonly string[] | null;
|
|
17
|
+
}
|
|
18
|
+
export interface PiProjectTrustUpdate {
|
|
19
|
+
readonly path: string;
|
|
20
|
+
readonly decision: boolean | null;
|
|
21
|
+
}
|
|
22
|
+
export interface PiProjectTrustContext {
|
|
23
|
+
readonly cwd: string;
|
|
24
|
+
readonly savedDecision: {
|
|
25
|
+
readonly path: string;
|
|
26
|
+
readonly decision: boolean;
|
|
27
|
+
} | null;
|
|
28
|
+
readonly projectTrusted: boolean;
|
|
29
|
+
readonly trustOptions: readonly {
|
|
30
|
+
readonly label: string;
|
|
31
|
+
readonly trusted: boolean;
|
|
32
|
+
readonly updates: readonly PiProjectTrustUpdate[];
|
|
33
|
+
readonly savedPath?: string;
|
|
34
|
+
}[];
|
|
35
|
+
}
|
|
36
|
+
export interface PiTreeSelectorContext {
|
|
37
|
+
readonly tree: readonly unknown[];
|
|
38
|
+
readonly currentLeafId: string | null;
|
|
39
|
+
readonly filterMode: "default" | "no-tools" | "user-only" | "labeled-only" | "all";
|
|
40
|
+
readonly skipSummaryPrompt: boolean;
|
|
41
|
+
readonly appendLabelChange: (entryId: string, label: string | undefined) => void;
|
|
42
|
+
}
|
|
43
|
+
export interface PiSessionSelectorContext {
|
|
44
|
+
readonly currentSessionFilePath: string | undefined;
|
|
45
|
+
readonly loadCurrentSessions: (onProgress?: (loaded: number, total: number) => void) => Promise<SessionInfo[]>;
|
|
46
|
+
readonly loadAllSessions: (onProgress?: (loaded: number, total: number) => void) => Promise<SessionInfo[]>;
|
|
47
|
+
readonly renameSession: (sessionFilePath: string, nextName: string | undefined) => Promise<void>;
|
|
48
|
+
}
|
|
49
|
+
export interface PiScopedModelsRefreshResult extends PiScopedModelsContext {
|
|
50
|
+
readonly status: string;
|
|
51
|
+
readonly statusKind: "success" | "warning";
|
|
52
|
+
}
|
|
53
|
+
export interface PiSessionLike {
|
|
54
|
+
readonly sessionId: string;
|
|
55
|
+
readonly model: unknown;
|
|
56
|
+
readonly thinkingLevel: unknown;
|
|
57
|
+
readonly isStreaming: boolean;
|
|
58
|
+
readonly isIdle: boolean;
|
|
59
|
+
readonly isRetrying: boolean;
|
|
60
|
+
readonly isCompacting: boolean;
|
|
61
|
+
readonly messages: readonly unknown[];
|
|
62
|
+
readonly sessionManager?: {
|
|
63
|
+
getSessionName(): string | undefined;
|
|
64
|
+
getEntries(): readonly unknown[];
|
|
65
|
+
getCwd?(): string;
|
|
66
|
+
getSessionDir?(): string;
|
|
67
|
+
getSessionFile?(): string | undefined;
|
|
68
|
+
usesDefaultSessionDir?(): boolean;
|
|
69
|
+
getTree?(): readonly unknown[];
|
|
70
|
+
getLeafId?(): string | null | undefined;
|
|
71
|
+
appendLabelChange?(entryId: string, label: string | undefined): void;
|
|
72
|
+
};
|
|
73
|
+
readonly extensionRunner?: {
|
|
74
|
+
getCommands?(): readonly unknown[];
|
|
75
|
+
getMessageRenderer?(customType: string): unknown;
|
|
76
|
+
getToolDefinition?(toolName: string): unknown;
|
|
77
|
+
};
|
|
78
|
+
readonly scopedModels?: readonly unknown[];
|
|
79
|
+
readonly autoCompactionEnabled?: boolean;
|
|
80
|
+
readonly steeringMode?: PiPinnedSettingsSnapshot["steeringMode"];
|
|
81
|
+
readonly followUpMode?: PiPinnedSettingsSnapshot["followUpMode"];
|
|
82
|
+
getContextUsage?(): {
|
|
83
|
+
readonly tokens: number | null;
|
|
84
|
+
readonly contextWindow: number;
|
|
85
|
+
readonly percent: number | null;
|
|
86
|
+
} | undefined;
|
|
87
|
+
getScopedModels?(): readonly unknown[] | undefined;
|
|
88
|
+
setScopedModels?(models: readonly unknown[]): void;
|
|
89
|
+
cycleModel?(direction: "forward" | "backward"): Promise<unknown>;
|
|
90
|
+
getUserMessagesForForking?(): readonly unknown[];
|
|
91
|
+
getAvailableThinkingLevels?(): readonly unknown[];
|
|
92
|
+
cycleThinkingLevel?(): unknown;
|
|
93
|
+
setAutoCompactionEnabled?(enabled: unknown): void;
|
|
94
|
+
clearQueue?(): unknown;
|
|
95
|
+
abortBash?(): void;
|
|
96
|
+
executeBash?(command: string, onChunk: unknown, options: {
|
|
97
|
+
excludeFromContext: boolean;
|
|
98
|
+
}): Promise<unknown>;
|
|
99
|
+
exportToJsonl?(path?: string): string;
|
|
100
|
+
exportToHtml?(path?: string): Promise<string>;
|
|
101
|
+
getLastAssistantText?(): string | undefined;
|
|
102
|
+
setSessionName?(name: string): void;
|
|
103
|
+
getSessionStats?(): unknown;
|
|
104
|
+
navigateTree?(entryId: string, options?: {
|
|
105
|
+
summarize?: boolean;
|
|
106
|
+
customInstructions?: string;
|
|
107
|
+
}): Promise<unknown>;
|
|
108
|
+
reload?(): Promise<void>;
|
|
109
|
+
subscribe(listener: (event: unknown) => void): () => void;
|
|
110
|
+
prompt(text: string, options?: unknown): Promise<void>;
|
|
111
|
+
steer(text: string): Promise<void>;
|
|
112
|
+
followUp(text: string): Promise<void>;
|
|
113
|
+
abort(): Promise<void>;
|
|
114
|
+
abortRetry(): void;
|
|
115
|
+
abortCompaction(): void;
|
|
116
|
+
compact(customInstructions?: string): Promise<unknown>;
|
|
117
|
+
setModel(model: unknown): Promise<void>;
|
|
118
|
+
setThinkingLevel(level: unknown): void;
|
|
119
|
+
bindExtensions?(bindings: {
|
|
120
|
+
readonly uiContext?: ExtensionUIContext;
|
|
121
|
+
readonly mode?: "tui" | "print";
|
|
122
|
+
readonly shutdownHandler?: () => void | Promise<void>;
|
|
123
|
+
readonly onError?: (error: unknown) => void;
|
|
124
|
+
}): Promise<void>;
|
|
125
|
+
dispose(): void;
|
|
126
|
+
}
|
|
127
|
+
export interface PiServicesLike {
|
|
128
|
+
readonly modelRuntime: {
|
|
129
|
+
getModel(providerId: string, modelId: string): unknown;
|
|
130
|
+
isUsingSubscription?(providerId: string): boolean;
|
|
131
|
+
getAvailableSnapshot?(): readonly {
|
|
132
|
+
readonly provider?: string;
|
|
133
|
+
readonly id?: string;
|
|
134
|
+
readonly name?: string;
|
|
135
|
+
}[];
|
|
136
|
+
refresh?(options?: {
|
|
137
|
+
readonly signal?: AbortSignal;
|
|
138
|
+
}): Promise<unknown>;
|
|
139
|
+
getProviders?(): readonly unknown[];
|
|
140
|
+
getProvider?(providerId: string): unknown;
|
|
141
|
+
listCredentials?(options?: {
|
|
142
|
+
readonly signal?: AbortSignal;
|
|
143
|
+
}): Promise<readonly unknown[]>;
|
|
144
|
+
login?(providerId: string, authType: string, interaction: unknown, options?: {
|
|
145
|
+
readonly signal?: AbortSignal;
|
|
146
|
+
}): Promise<unknown>;
|
|
147
|
+
logout?(providerId: string, options?: {
|
|
148
|
+
readonly signal?: AbortSignal;
|
|
149
|
+
}): Promise<void>;
|
|
150
|
+
};
|
|
151
|
+
readonly settingsManager?: {
|
|
152
|
+
getCompactionEnabled?: () => boolean;
|
|
153
|
+
getEnabledModels?: () => readonly string[] | undefined;
|
|
154
|
+
setEnabledModels?: (patterns: string[] | undefined) => void;
|
|
155
|
+
isProjectTrusted?(): boolean;
|
|
156
|
+
setProjectTrusted?(trusted: boolean): void;
|
|
157
|
+
getTreeFilterMode?(): unknown;
|
|
158
|
+
getBranchSummarySkipPrompt?(): boolean;
|
|
159
|
+
setCompactionEnabled?(value: unknown): void;
|
|
160
|
+
getShowImages?(): unknown;
|
|
161
|
+
setShowImages?(value: unknown): void;
|
|
162
|
+
getImageWidthCells?(): unknown;
|
|
163
|
+
setImageWidthCells?(value: unknown): void;
|
|
164
|
+
getImageAutoResize?(): unknown;
|
|
165
|
+
setImageAutoResize?(value: unknown): void;
|
|
166
|
+
getBlockImages?(): unknown;
|
|
167
|
+
setBlockImages?(value: unknown): void;
|
|
168
|
+
getEnableSkillCommands?(): boolean;
|
|
169
|
+
setEnableSkillCommands?(value: unknown): void;
|
|
170
|
+
getSteeringMode?(): unknown;
|
|
171
|
+
setSteeringMode?(value: unknown): void;
|
|
172
|
+
getFollowUpMode?(): unknown;
|
|
173
|
+
setFollowUpMode?(value: unknown): void;
|
|
174
|
+
getTransport?(): unknown;
|
|
175
|
+
setTransport?(value: unknown): void;
|
|
176
|
+
getHttpIdleTimeoutMs?(): unknown;
|
|
177
|
+
setHttpIdleTimeoutMs?(value: unknown): void;
|
|
178
|
+
getTheme?(): unknown;
|
|
179
|
+
setTheme?(value: unknown): void;
|
|
180
|
+
getHideThinkingBlock?(): unknown;
|
|
181
|
+
setHideThinkingBlock?(value: unknown): void;
|
|
182
|
+
getMermaidRenderingMode?(): unknown;
|
|
183
|
+
setMermaidRenderingMode?(value: unknown): void;
|
|
184
|
+
getShowCacheMissNotices?(): unknown;
|
|
185
|
+
setShowCacheMissNotices?(value: unknown): void;
|
|
186
|
+
getCollapseChangelog?(): unknown;
|
|
187
|
+
setCollapseChangelog?(value: unknown): void;
|
|
188
|
+
getEnableInstallTelemetry?(): unknown;
|
|
189
|
+
setEnableInstallTelemetry?(value: unknown): void;
|
|
190
|
+
getQuietStartup?(): unknown;
|
|
191
|
+
setQuietStartup?(value: unknown): void;
|
|
192
|
+
getDefaultProjectTrust?(): unknown;
|
|
193
|
+
setDefaultProjectTrust?(value: unknown): void;
|
|
194
|
+
getDoubleEscapeAction?(): unknown;
|
|
195
|
+
setDoubleEscapeAction?(value: unknown): void;
|
|
196
|
+
setTreeFilterMode?(value: unknown): void;
|
|
197
|
+
getShowHardwareCursor?(): boolean;
|
|
198
|
+
setShowHardwareCursor?(value: unknown): void;
|
|
199
|
+
getEditorPaddingX?(): unknown;
|
|
200
|
+
setEditorPaddingX?(value: unknown): void;
|
|
201
|
+
getOutputPad?(): unknown;
|
|
202
|
+
setOutputPad?(value: unknown): void;
|
|
203
|
+
getAutocompleteMaxVisible?(): unknown;
|
|
204
|
+
setAutocompleteMaxVisible?(value: unknown): void;
|
|
205
|
+
getClearOnShrink?(): unknown;
|
|
206
|
+
setClearOnShrink?(value: unknown): void;
|
|
207
|
+
getShowTerminalProgress?(): unknown;
|
|
208
|
+
setShowTerminalProgress?(value: unknown): void;
|
|
209
|
+
getTuiMode?(): unknown;
|
|
210
|
+
setTuiMode?(value: unknown): void;
|
|
211
|
+
getFullscreenExitOutput?(): unknown;
|
|
212
|
+
setFullscreenExitOutput?(value: unknown): void;
|
|
213
|
+
getFullscreenScrollbar?(): unknown;
|
|
214
|
+
setFullscreenScrollbar?(value: unknown): void;
|
|
215
|
+
getWarnings?(): unknown;
|
|
216
|
+
setWarnings?(value: unknown): void;
|
|
217
|
+
getThemeSetting?(): unknown;
|
|
218
|
+
getTerminalTheme?(): unknown;
|
|
219
|
+
setDefaultModelAndProvider?(provider: string, model: string): void;
|
|
220
|
+
};
|
|
221
|
+
readonly resourceLoader?: {
|
|
222
|
+
getSkills(): unknown;
|
|
223
|
+
getPrompts(): unknown;
|
|
224
|
+
getAgentsFiles(): unknown;
|
|
225
|
+
getSystemPromptSource(): unknown;
|
|
226
|
+
getAppendSystemPromptSources(): unknown;
|
|
227
|
+
getExtensions?(): unknown;
|
|
228
|
+
getThemes?(): unknown;
|
|
229
|
+
};
|
|
230
|
+
readonly diagnostics: readonly {
|
|
231
|
+
readonly type: string;
|
|
232
|
+
readonly message: string;
|
|
233
|
+
}[];
|
|
234
|
+
}
|
|
235
|
+
export interface PiRuntimeLike {
|
|
236
|
+
readonly session: PiSessionLike;
|
|
237
|
+
readonly services: PiServicesLike;
|
|
238
|
+
readonly diagnostics: readonly {
|
|
239
|
+
readonly type: string;
|
|
240
|
+
readonly message: string;
|
|
241
|
+
}[];
|
|
242
|
+
setRebindSession(callback: (session: PiSessionLike) => Promise<void>): void;
|
|
243
|
+
listSessions?(): Promise<readonly unknown[]>;
|
|
244
|
+
newSession(options?: unknown): Promise<unknown>;
|
|
245
|
+
switchSession(sessionPath: string, options?: unknown): Promise<unknown>;
|
|
246
|
+
fork?(entryId: string, options?: {
|
|
247
|
+
position?: "before" | "at";
|
|
248
|
+
}): Promise<unknown>;
|
|
249
|
+
importFromJsonl?(path: string): Promise<unknown>;
|
|
250
|
+
dispose(): Promise<void>;
|
|
251
|
+
}
|
|
252
|
+
export type PiEngineRuntimeFactory = (input: PiEngineRuntimeFactoryInput) => Promise<PiRuntimeLike>;
|
|
253
|
+
export interface OwnedPiResourceSummary {
|
|
254
|
+
readonly kind: "skill" | "prompt-template" | "agent-context" | "system-prompt" | "theme";
|
|
255
|
+
readonly id: string;
|
|
256
|
+
readonly label: string;
|
|
257
|
+
readonly sourcePath: string | null;
|
|
258
|
+
readonly diagnostic: string | null;
|
|
259
|
+
}
|
|
260
|
+
export interface OwnedPiExtensionResourceSummary {
|
|
261
|
+
readonly kind: "extension";
|
|
262
|
+
readonly id: string;
|
|
263
|
+
readonly sourcePath: string | null;
|
|
264
|
+
readonly resolvedPath: string | null;
|
|
265
|
+
readonly loaded: boolean;
|
|
266
|
+
readonly hidden: boolean;
|
|
267
|
+
readonly diagnostic: string | null;
|
|
268
|
+
}
|
|
269
|
+
export interface OwnedPiVisualExtensionSupport {
|
|
270
|
+
readonly available: boolean;
|
|
271
|
+
readonly contractComplete: true;
|
|
272
|
+
readonly contractVersion: typeof OWNED_UI_EXTENSION_CONTRACT_VERSION;
|
|
273
|
+
readonly binding: "bound" | "unbound";
|
|
274
|
+
readonly uiCallbacks: typeof OWNED_UI_EXTENSION_UI_CALLBACKS;
|
|
275
|
+
readonly uiProperties: typeof OWNED_UI_EXTENSION_UI_PROPERTIES;
|
|
276
|
+
readonly renderCallbacks: typeof OWNED_UI_EXTENSION_RENDER_CALLBACKS;
|
|
277
|
+
readonly diagnostic: string;
|
|
278
|
+
}
|
|
279
|
+
export interface PiEngineAdapterOptions {
|
|
280
|
+
readonly cwd?: string;
|
|
281
|
+
readonly agentDir?: string;
|
|
282
|
+
readonly sessionId?: string;
|
|
283
|
+
readonly createRuntime?: PiEngineRuntimeFactory;
|
|
284
|
+
readonly workflowHost?: PiWorkflowHost;
|
|
285
|
+
}
|
|
286
|
+
export interface AdapterCommandResult {
|
|
287
|
+
readonly outcome: OwnedUiCommandOutcome;
|
|
288
|
+
readonly diagnostic: string | null;
|
|
289
|
+
}
|
|
290
|
+
export declare class PiEngineAdapter {
|
|
291
|
+
#private;
|
|
292
|
+
constructor(options?: PiEngineAdapterOptions);
|
|
293
|
+
setWorkflowInteractionHost(interaction: PiWorkflowInteractionHost): void;
|
|
294
|
+
get sessionId(): string;
|
|
295
|
+
get sessionGeneration(): number;
|
|
296
|
+
get agentDir(): string;
|
|
297
|
+
get disposed(): boolean;
|
|
298
|
+
start(): Promise<OwnedUiSessionViewModel>;
|
|
299
|
+
onEvent(listener: (event: OwnedUiEvent) => void): () => void;
|
|
300
|
+
flushEvents(): Promise<void>;
|
|
301
|
+
nonVisualResources(): readonly OwnedPiResourceSummary[];
|
|
302
|
+
extensionResources(): readonly OwnedPiExtensionResourceSummary[];
|
|
303
|
+
visualExtensionSupport(): OwnedPiVisualExtensionSupport;
|
|
304
|
+
bindExtensionUi(ui: unknown, shutdown?: () => void | Promise<void>): Promise<void>;
|
|
305
|
+
unbindExtensionUi(): Promise<void>;
|
|
306
|
+
workflowAutocompleteCommands(): readonly PiWorkflowAutocompleteCommand[];
|
|
307
|
+
cycleModelWorkflow(direction: "forward" | "backward"): Promise<PiWorkflowResult>;
|
|
308
|
+
pinnedModelSelectorContext(): {
|
|
309
|
+
readonly currentModel: unknown;
|
|
310
|
+
readonly settingsManager: unknown;
|
|
311
|
+
readonly modelRuntime: unknown;
|
|
312
|
+
readonly scopedModels: readonly unknown[];
|
|
313
|
+
};
|
|
314
|
+
pinnedProjectTrustContext(): PiProjectTrustContext;
|
|
315
|
+
persistProjectTrust(updates: readonly PiProjectTrustUpdate[]): void;
|
|
316
|
+
pinnedSessionSelectorContext(): PiSessionSelectorContext;
|
|
317
|
+
pinnedScopedModelsContext(): PiScopedModelsContext;
|
|
318
|
+
updateScopedModels(enabledModelIds: readonly string[] | null): void;
|
|
319
|
+
persistScopedModels(enabledModelIds: readonly string[] | null): void;
|
|
320
|
+
refreshScopedModels(signal: AbortSignal): Promise<PiScopedModelsRefreshResult>;
|
|
321
|
+
pinnedLoginOptions(authType?: "oauth" | "api_key"): readonly PiWorkflowOption[];
|
|
322
|
+
pinnedLoginMethodOptions(providerReference: string): {
|
|
323
|
+
readonly title: string;
|
|
324
|
+
readonly options: readonly PiWorkflowOption[];
|
|
325
|
+
};
|
|
326
|
+
pinnedLogoutOptions(): Promise<readonly PiWorkflowOption[]>;
|
|
327
|
+
pinnedForkOptions(): readonly PiWorkflowOption[];
|
|
328
|
+
pinnedTreeSelectorContext(): PiTreeSelectorContext;
|
|
329
|
+
pinnedSettingsSnapshot(): PiPinnedSettingsSnapshot;
|
|
330
|
+
pinnedMessageRenderer(customType: string): unknown;
|
|
331
|
+
pinnedToolDefinition(toolName: string): unknown;
|
|
332
|
+
clearQueuedWorkflows(): readonly string[];
|
|
333
|
+
abortBashWorkflow(): void;
|
|
334
|
+
executeBashWorkflow(command: string, excludeFromContext: boolean): Promise<PiBashWorkflowResult>;
|
|
335
|
+
applyPinnedSettingValue(callback: PiPinnedSettingsCallback, value: unknown): PiWorkflowResult;
|
|
336
|
+
executeWorkflow(request: PiWorkflowRequest): Promise<PiWorkflowResult>;
|
|
337
|
+
view(): OwnedUiSessionViewModel;
|
|
338
|
+
snapshot(): OwnedUiSnapshot;
|
|
339
|
+
execute(command: OwnedUiCommand): Promise<AdapterCommandResult>;
|
|
340
|
+
dispose(): Promise<void>;
|
|
341
|
+
}
|
|
342
|
+
export declare function createPiEngineAdapter(options?: PiEngineAdapterOptions): Promise<PiEngineAdapter>;
|
|
343
|
+
//# sourceMappingURL=adapter.d.ts.map
|