@timurproko/a1 0.2.6 → 0.2.7-dev.1222
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -3
- package/bin/automatic-update.js +7 -0
- package/bin/cli.js +4 -0
- package/bin/guardian.js +5 -0
- package/bin/tab-launch-context.d.ts +27 -0
- package/bin/tab-launch-context.js +94 -0
- package/bin/ui.js +107 -59
- package/dist/app/session-shell/clipboard-diagnostics.js +1 -1
- package/dist/app/session-shell/dialog-coordinator.d.ts +42 -0
- package/dist/app/session-shell/dialog-coordinator.js +133 -0
- package/dist/app/session-shell/dock-chrome.d.ts +34 -0
- package/dist/app/session-shell/dock-chrome.js +109 -0
- package/dist/app/session-shell/exit-notice.d.ts +1 -1
- package/dist/app/session-shell/exit-notice.js +1 -1
- package/dist/app/session-shell/extension-surface.d.ts +30 -0
- package/dist/app/session-shell/extension-surface.js +105 -0
- package/dist/app/session-shell/helper-pool.d.ts +3 -5
- package/dist/app/session-shell/helper-pool.js +3 -5
- package/dist/app/session-shell/input-surface-switch.d.ts +36 -0
- package/dist/app/session-shell/input-surface-switch.js +85 -0
- package/dist/app/session-shell/login-interaction.d.ts +27 -0
- package/dist/app/session-shell/login-interaction.js +91 -0
- package/dist/app/session-shell/prompt-submission.d.ts +48 -0
- package/dist/app/session-shell/prompt-submission.js +276 -0
- package/dist/app/session-shell/resident-tab-coordinator.d.ts +38 -0
- package/dist/app/session-shell/resident-tab-coordinator.js +77 -0
- package/dist/app/session-shell/response-copy-helper.js +21 -6
- package/dist/app/session-shell/response-copy-protocol.d.ts +1 -1
- package/dist/app/session-shell/response-copy-transport.d.ts +16 -6
- package/dist/app/session-shell/response-copy-transport.js +69 -17
- package/dist/app/session-shell/session-concern.d.ts +22 -0
- package/dist/app/session-shell/session-concern.js +29 -0
- package/dist/app/session-shell/session-lifecycle.d.ts +29 -0
- package/dist/app/session-shell/session-lifecycle.js +49 -0
- package/dist/app/session-shell/session-shell-root.d.ts +42 -6
- package/dist/app/session-shell/session-shell-root.js +197 -908
- package/dist/app/session-shell/session-shell.d.ts +3 -8
- package/dist/app/session-shell/session-shell.js +327 -835
- package/dist/app/session-shell/session-viewport-controller.d.ts +2 -1
- package/dist/app/session-shell/session-viewport-controller.js +41 -38
- package/dist/app/session-shell/settings-bindings.d.ts +17 -0
- package/dist/app/session-shell/settings-bindings.js +91 -0
- package/dist/app/session-shell/shell-editor-factory.d.ts +27 -0
- package/dist/app/session-shell/shell-editor-factory.js +105 -0
- package/dist/app/session-shell/shell-host.d.ts +6 -0
- package/dist/app/session-shell/shell-host.js +34 -7
- package/dist/app/session-shell/shell-layout.d.ts +64 -0
- package/dist/app/session-shell/shell-layout.js +18 -0
- package/dist/app/session-shell/suggestion-surface.d.ts +25 -0
- package/dist/app/session-shell/suggestion-surface.js +63 -0
- package/dist/app/session-shell/transcript-document.d.ts +78 -0
- package/dist/app/session-shell/transcript-document.js +365 -0
- package/dist/app/session-shell/viewport-layout.d.ts +31 -0
- package/dist/app/session-shell/viewport-layout.js +160 -0
- package/dist/app/session-shell/workflow-output.d.ts +33 -0
- package/dist/app/session-shell/workflow-output.js +174 -0
- package/dist/app/session-shell/workflow-router.d.ts +25 -0
- package/dist/app/session-shell/workflow-router.js +39 -0
- package/dist/cli/dispatch.d.ts +11 -1
- package/dist/cli/dispatch.js +79 -5
- package/dist/cli/tabs-request.d.ts +7 -0
- package/dist/cli/tabs-request.js +1 -0
- package/dist/cli/tabs.d.ts +14 -0
- package/dist/cli/tabs.js +151 -0
- package/dist/cli/version-stats.js +38 -3
- package/dist/composition/owned-settings.d.ts +12 -0
- package/dist/composition/owned-settings.js +36 -0
- package/dist/composition/owned-ui.d.ts +27 -28
- package/dist/composition/owned-ui.js +207 -153
- package/dist/composition/reference-selection-options.d.ts +3 -0
- package/dist/composition/reference-selection-options.js +16 -0
- package/dist/composition/resident-tab-bridge.d.ts +25 -0
- package/dist/composition/resident-tab-bridge.js +180 -0
- package/dist/composition/session-backend.d.ts +19 -0
- package/dist/composition/session-backend.js +1 -0
- package/dist/composition/session-runtime-registry.d.ts +20 -0
- package/dist/composition/session-runtime-registry.js +85 -0
- package/dist/composition/settings-route-host.d.ts +16 -2
- package/dist/composition/settings-route-host.js +42 -17
- package/dist/composition/settings-search-input.d.ts +9 -0
- package/dist/composition/settings-search-input.js +61 -0
- package/dist/composition/startup-route.d.ts +32 -0
- package/dist/composition/startup-route.js +72 -0
- package/dist/composition/utility-tab.d.ts +28 -0
- package/dist/composition/utility-tab.js +244 -0
- package/dist/contracts/owned-ui/index.d.ts +1 -1
- package/dist/contracts/owned-ui/model.d.ts +3 -0
- package/dist/contracts/owned-ui/session-backend.d.ts +3 -0
- package/dist/contracts/owned-ui/session-workflows.d.ts +11 -4
- package/dist/contracts/presentation/index.d.ts +11 -0
- package/dist/contracts/presentation/index.js +12 -0
- package/dist/features/launch/development-launch.js +6 -0
- package/dist/features/launch/index.d.ts +1 -1
- package/dist/features/launch/intent.d.ts +3 -1
- package/dist/features/launch/intent.js +7 -4
- package/dist/features/launch/profile-paths.js +4 -0
- package/dist/features/owned-ui/plus-menu-dialog.d.ts +22 -0
- package/dist/features/owned-ui/plus-menu-dialog.js +84 -0
- package/dist/features/owned-ui/project-trust-dialog.d.ts +1 -1
- package/dist/features/owned-ui/project-trust-dialog.js +6 -8
- package/dist/features/owned-ui/project-trust-prompt.d.ts +1 -0
- package/dist/features/owned-ui/project-trust-prompt.js +7 -3
- package/dist/features/owned-ui/reference-document-selection.d.ts +30 -0
- package/dist/features/owned-ui/reference-document-selection.js +179 -0
- package/dist/features/owned-ui/reference-screen-app.d.ts +6 -1
- package/dist/features/owned-ui/reference-screen-app.js +51 -10
- package/dist/features/owned-ui/settings-app.d.ts +13 -2
- package/dist/features/owned-ui/settings-app.js +136 -97
- package/dist/features/owned-ui/settings-search-input.d.ts +29 -0
- package/dist/features/owned-ui/settings-search-input.js +1 -0
- package/dist/features/prompt-history/index.d.ts +1 -1
- package/dist/features/prompt-history/paths.d.ts +2 -1
- package/dist/features/prompt-history/paths.js +10 -2
- package/dist/features/prompt-history/service.d.ts +5 -0
- package/dist/features/prompt-history/service.js +1 -1
- package/dist/features/resident-tab/auto-name.d.ts +11 -0
- package/dist/features/resident-tab/auto-name.js +44 -0
- package/dist/features/resident-tab/index.d.ts +5 -0
- package/dist/features/resident-tab/index.js +7 -0
- package/dist/features/resident-tab/shortcut-bindings-file.d.ts +8 -0
- package/dist/features/resident-tab/shortcut-bindings-file.js +40 -0
- package/dist/features/resident-tab/shortcut-declarations.d.ts +13 -0
- package/dist/features/resident-tab/shortcut-declarations.js +26 -0
- package/dist/features/resident-tab/shortcut-projection.d.ts +29 -0
- package/dist/features/resident-tab/shortcut-projection.js +64 -0
- package/dist/features/resident-tab/status-deriver.d.ts +10 -0
- package/dist/features/resident-tab/status-deriver.js +12 -0
- package/dist/foundation/launch-context/index.d.ts +12 -0
- package/dist/foundation/launch-context/index.js +26 -0
- package/dist/foundation/launch-guardian/exit-watcher.d.ts +14 -0
- package/dist/foundation/launch-guardian/exit-watcher.js +94 -0
- package/dist/foundation/launch-guardian/main.d.ts +7 -1
- package/dist/foundation/launch-guardian/main.js +60 -7
- package/dist/foundation/lifecycle/session-repository-context.js +16 -2
- package/dist/foundation/process-containment/{native-guardian-containment.d.ts → addon-containment.d.ts} +7 -5
- package/dist/foundation/process-containment/addon-containment.js +139 -0
- package/dist/foundation/process-containment/addon-process-inspector.d.ts +11 -0
- package/dist/foundation/process-containment/addon-process-inspector.js +36 -0
- package/dist/foundation/process-containment/addon.d.ts +42 -0
- package/dist/foundation/process-containment/addon.js +57 -0
- package/dist/foundation/process-containment/artifact.d.ts +1 -1
- package/dist/foundation/process-containment/artifact.js +6 -5
- package/dist/foundation/process-containment/contracts.d.ts +2 -0
- package/dist/foundation/process-containment/index.d.ts +4 -4
- package/dist/foundation/process-containment/index.js +3 -3
- package/dist/foundation/process-containment/native-process-inspector.d.ts +2 -1
- package/dist/foundation/process-containment/native-process-inspector.js +10 -10
- package/dist/foundation/release/automatic-update.d.ts +37 -0
- package/dist/foundation/release/automatic-update.js +265 -0
- package/dist/foundation/release/bootstrap.d.ts +7 -9
- package/dist/foundation/release/bootstrap.js +107 -24
- package/dist/foundation/release/cohort-state.d.ts +1 -1
- package/dist/foundation/release/cohort-state.js +1 -1
- package/dist/foundation/release/dependency-certification.js +54 -19
- package/dist/foundation/release/early-accent.d.ts +12 -0
- package/dist/foundation/release/early-accent.js +59 -0
- package/dist/foundation/release/index.d.ts +2 -2
- package/dist/foundation/release/index.js +2 -2
- package/dist/foundation/release/latest-release.d.ts +24 -2
- package/dist/foundation/release/latest-release.js +51 -1
- package/dist/foundation/release/progress-palette.generated.d.ts +137 -3
- package/dist/foundation/release/progress-palette.generated.js +137 -3
- package/dist/foundation/release/release-gc.d.ts +3 -0
- package/dist/foundation/release/release-gc.js +59 -8
- package/dist/foundation/release/release-store.d.ts +12 -0
- package/dist/foundation/release/release-store.js +124 -2
- package/dist/foundation/release/update-execution-lease.d.ts +48 -0
- package/dist/foundation/release/update-execution-lease.js +161 -0
- package/dist/foundation/release/update.d.ts +12 -7
- package/dist/foundation/release/update.js +281 -196
- package/dist/foundation/resident-tabs/bounded-host-command.d.ts +18 -0
- package/dist/foundation/resident-tabs/bounded-host-command.js +39 -0
- package/dist/foundation/resident-tabs/bridge-client.d.ts +70 -0
- package/dist/foundation/resident-tabs/bridge-client.js +321 -0
- package/dist/foundation/resident-tabs/doctor.d.ts +28 -0
- package/dist/foundation/resident-tabs/doctor.js +166 -0
- package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +27 -0
- package/dist/foundation/resident-tabs/draft-checkpoint.js +145 -0
- package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +36 -0
- package/dist/foundation/resident-tabs/ensure-terminal-host.js +151 -0
- package/dist/foundation/resident-tabs/fault-injection.d.ts +8 -0
- package/dist/foundation/resident-tabs/fault-injection.js +26 -0
- package/dist/foundation/resident-tabs/fixture-control.d.ts +7 -0
- package/dist/foundation/resident-tabs/fixture-control.js +35 -0
- package/dist/foundation/resident-tabs/host-entry.d.ts +1 -0
- package/dist/foundation/resident-tabs/host-entry.js +17 -0
- package/dist/foundation/resident-tabs/index.d.ts +12 -0
- package/dist/foundation/resident-tabs/index.js +6 -0
- package/dist/foundation/resident-tabs/maintenance.d.ts +39 -0
- package/dist/foundation/resident-tabs/maintenance.js +75 -0
- package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +34 -0
- package/dist/foundation/resident-tabs/progress-observation-schema.js +1 -0
- package/dist/foundation/resident-tabs/progress-observation.d.ts +4 -0
- package/dist/foundation/resident-tabs/progress-observation.js +150 -0
- package/dist/foundation/resident-tabs/prompt-journal.d.ts +63 -0
- package/dist/foundation/resident-tabs/prompt-journal.js +213 -0
- package/dist/foundation/resident-tabs/protocol.d.ts +12 -0
- package/dist/foundation/resident-tabs/protocol.js +195 -0
- package/dist/foundation/resident-tabs/recovery.d.ts +26 -0
- package/dist/foundation/resident-tabs/recovery.js +205 -0
- package/dist/foundation/resident-tabs/release-holds.d.ts +28 -0
- package/dist/foundation/resident-tabs/release-holds.js +75 -0
- package/dist/foundation/resident-tabs/routes.d.ts +5 -0
- package/dist/foundation/resident-tabs/routes.js +5 -0
- package/dist/foundation/resident-tabs/routing.d.ts +11 -0
- package/dist/foundation/resident-tabs/routing.js +10 -0
- package/dist/foundation/resident-tabs/session-sync.d.ts +14 -0
- package/dist/foundation/resident-tabs/session-sync.js +37 -0
- package/dist/foundation/resident-tabs/settings.d.ts +12 -0
- package/dist/foundation/resident-tabs/settings.js +58 -0
- package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +14 -0
- package/dist/foundation/resident-tabs/terminal-host-artifact.js +78 -0
- package/dist/foundation/resident-tabs/zip-archive.d.ts +9 -0
- package/dist/foundation/resident-tabs/zip-archive.js +56 -0
- package/dist/foundation/session-writer-lock/index.d.ts +30 -0
- package/dist/foundation/session-writer-lock/index.js +203 -0
- package/dist/foundation/startup/startup-descriptor.js +2 -2
- package/dist/foundation/terminal-cleanup/index.d.ts +1 -1
- package/dist/foundation/terminal-cleanup/index.js +1 -1
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +6 -0
- package/dist/foundation/terminal-cleanup/terminal-reset.js +6 -0
- package/dist/integrations/pi/components/editor-interaction.d.ts +2 -0
- package/dist/integrations/pi/components/modal-frame.d.ts +17 -1
- package/dist/integrations/pi/components/modal-frame.js +48 -9
- package/dist/integrations/pi/components/models-dialog.js +4 -52
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +6 -1
- package/dist/integrations/pi/components/owned-editor-ux.js +138 -11
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +4 -4
- package/dist/integrations/pi/components/resources/builtin-themes.js +4 -4
- package/dist/integrations/pi/components/share-operation-dialog.d.ts +2 -0
- package/dist/integrations/pi/components/share-operation-dialog.js +2 -1
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +58 -36
- package/dist/integrations/pi/components/shell-extension-ui.js +79 -60
- package/dist/integrations/pi/components/shell-footer-status.d.ts +1 -1
- package/dist/integrations/pi/components/shell-footer-status.js +21 -5
- package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +5 -2
- package/dist/integrations/pi/components/shell-presenters-info.js +18 -4
- package/dist/integrations/pi/components/shell-presenters-transcript.js +4 -1
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +5 -1
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +12 -1
- package/dist/integrations/pi/components/skills-dialog.js +2 -2
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +17 -4
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
- package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +8 -6
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +16 -9
- package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +4 -4
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +2 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/components/session-footer.js +31 -25
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
- package/dist/integrations/pi/components/upstream/components/session-selector.js +8 -7
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +3 -3
- package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
- package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +8 -7
- package/dist/integrations/pi/components/upstream/components/thinking-selector.js +10 -9
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +2 -6
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +103 -101
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +9 -9
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +13 -21
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
- package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/history/editor-core.js +7 -5
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
- package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
- package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/program-status-reporter.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
- package/dist/integrations/pi/components/upstream/theme/theme.d.ts +5 -0
- package/dist/integrations/pi/components/upstream/theme/theme.js +29 -2
- package/dist/integrations/pi/engine/adapter.d.ts +5 -77
- package/dist/integrations/pi/engine/adapter.js +95 -394
- package/dist/integrations/pi/engine/command-dispatch.d.ts +13 -0
- package/dist/integrations/pi/engine/command-dispatch.js +57 -0
- package/dist/integrations/pi/engine/host.js +2 -2
- package/dist/integrations/pi/engine/offline-settings-port.d.ts +23 -0
- package/dist/integrations/pi/engine/offline-settings-port.js +53 -0
- package/dist/integrations/pi/engine/pi-settings-metadata.json +14 -2
- package/dist/integrations/pi/engine/ports.d.ts +56 -0
- package/dist/integrations/pi/engine/ports.js +93 -0
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +1 -0
- package/dist/integrations/pi/engine/prompt-suggestions.js +40 -0
- package/dist/integrations/pi/engine/resources/changelog.json +4 -4
- package/dist/integrations/pi/engine/runtime-integration.js +102 -29
- package/dist/integrations/pi/engine/session-runtime.d.ts +0 -6
- package/dist/integrations/pi/engine/session-runtime.js +13 -5
- package/dist/integrations/pi/engine/session-selection.d.ts +3 -0
- package/dist/integrations/pi/engine/session-selection.js +45 -9
- package/dist/integrations/pi/engine/settings-bridge.d.ts +5 -0
- package/dist/integrations/pi/engine/settings-bridge.js +15 -0
- package/dist/integrations/pi/engine/settings-port.js +11 -15
- package/dist/integrations/pi/engine/view-state.d.ts +42 -0
- package/dist/integrations/pi/engine/view-state.js +126 -0
- package/dist/integrations/pi/engine/workflow-contexts.js +10 -1
- package/dist/integrations/pi/engine/workflow-runner.js +74 -5
- package/dist/integrations/pi/engine/workflow-support.d.ts +12 -0
- package/dist/integrations/pi/engine/workflow-support.js +36 -0
- package/dist/integrations/pi/engine/workflows.d.ts +3 -1
- package/dist/integrations/pi/engine/workflows.js +1 -0
- package/dist/integrations/pi/startup-public.js +257 -310
- package/dist/integrations/pi/startup-public.manifest.json +564 -440
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +6 -0
- package/dist/integrations/pi/tui-runtime/adapter.js +32 -1
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +5 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +12 -1
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +31 -2
- package/dist/native/darwin-arm64/manifest.json +10 -7
- package/dist/native/darwin-arm64/process-guardian.node +0 -0
- package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +10500 -0
- package/dist/native/darwin-arm64/terminal-host.manifest.json +46 -0
- package/dist/native/darwin-arm64/terminal-host.node +0 -0
- package/dist/native/darwin-x64/manifest.json +23 -0
- package/dist/native/darwin-x64/process-guardian.node +0 -0
- package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +10737 -0
- package/dist/native/darwin-x64/terminal-host.manifest.json +46 -0
- package/dist/native/darwin-x64/terminal-host.node +0 -0
- package/dist/native/linux-x64/manifest.json +10 -7
- package/dist/native/linux-x64/process-guardian.node +0 -0
- package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +11226 -0
- package/dist/native/linux-x64/terminal-host.manifest.json +46 -0
- package/dist/native/linux-x64/terminal-host.node +0 -0
- package/dist/native/win32-x64/manifest.json +10 -7
- package/dist/native/win32-x64/process-guardian.node +0 -0
- package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +10757 -0
- package/dist/native/win32-x64/terminal-host.manifest.json +46 -0
- package/dist/native/win32-x64/terminal-host.node +0 -0
- package/dist/product-identity.d.ts +3 -3
- package/dist/product-identity.js +4 -4
- package/dist/product-identity.json +16 -2
- package/dist/runtime-payload-inventory.json +6330 -6677
- package/dist/ui/apps/host.d.ts +2 -0
- package/dist/ui/apps/host.js +7 -1
- package/dist/ui/components/dialog-panel.d.ts +17 -8
- package/dist/ui/components/dialog-panel.js +117 -41
- package/dist/ui/components/index.d.ts +5 -5
- package/dist/ui/components/index.js +4 -4
- package/dist/ui/components/line-input.d.ts +4 -1
- package/dist/ui/components/line-input.js +3 -1
- package/dist/ui/components/prompt-input.d.ts +11 -8
- package/dist/ui/components/prompt-input.js +15 -13
- package/dist/ui/components/scrollbar.d.ts +1 -1
- package/dist/ui/components/scrollbar.js +1 -1
- package/dist/ui/components/selection-copy.d.ts +3 -3
- package/dist/ui/components/selection-copy.js +16 -1
- package/dist/ui/components/spans.js +2 -2
- package/dist/ui/components/submitted-prompt.d.ts +9 -6
- package/dist/ui/components/submitted-prompt.js +20 -12
- package/dist/ui/components/surface.js +4 -2
- package/dist/ui/components/text-selection.d.ts +1 -2
- package/dist/ui/components/text-selection.js +5 -2
- package/dist/ui/components/text.d.ts +3 -6
- package/dist/ui/components/text.js +6 -8
- package/dist/ui/components/transcript-viewport.d.ts +9 -2
- package/dist/ui/components/transcript-viewport.js +179 -58
- package/dist/ui/settings/declarations.d.ts +90 -16
- package/dist/ui/settings/declarations.js +67 -14
- package/dist/ui/settings/early-accent.d.ts +81 -0
- package/dist/ui/settings/early-accent.js +50 -0
- package/dist/ui/settings/index.d.ts +4 -2
- package/dist/ui/settings/index.js +2 -1
- package/dist/ui/settings/manager.d.ts +16 -3
- package/dist/ui/settings/manager.js +122 -33
- package/dist/ui/settings/migrations.d.ts +6 -0
- package/dist/ui/settings/migrations.js +73 -0
- package/dist/ui/settings/profile-document.d.ts +26 -0
- package/dist/ui/settings/profile-document.js +164 -0
- package/dist/ui/settings/progress-palette.generated.d.ts +139 -0
- package/dist/ui/settings/progress-palette.generated.js +139 -0
- package/dist/ui/settings/sections.d.ts +4 -0
- package/dist/ui/settings/sections.js +9 -3
- package/docs/architecture/boundaries.md +24 -9
- package/docs/architecture/evidence/resident-tabs/linux-x64.md +37 -0
- package/docs/architecture/evidence/resident-tabs/macos-arm64.md +36 -0
- package/docs/architecture/evidence/resident-tabs/macos-x64.md +35 -0
- package/docs/architecture/evidence/resident-tabs/windows-x64.md +36 -0
- package/docs/architecture/internal-naming.md +3 -1
- package/docs/architecture/process-guardian-provenance.md +18 -10
- package/docs/architecture/project-structure.md +8 -0
- package/docs/architecture/resident-tabs-requirements.md +18 -0
- package/docs/architecture/resident-tabs.md +649 -0
- package/docs/architecture/response-copy-delivery.md +1 -1
- package/docs/architecture/terminal-host-proof-gate.md +2 -0
- package/docs/architecture/terminal-host-provenance.md +16 -4
- package/docs/architecture/tool-image-presentation.md +2 -1
- package/docs/architecture/toolchain.md +11 -9
- package/docs/ci-release-runbook.md +14 -7
- package/docs/features/launch-profiles.md +11 -8
- package/docs/features/prompt-history.md +41 -20
- package/docs/manual-resident-tabs-acceptance.md +51 -0
- package/docs/openspec-archive-automation.md +49 -22
- package/docs/validation.md +49 -9
- package/package.json +19 -6
- package/dist/foundation/process-containment/darwin-process-inspector.d.ts +0 -5
- package/dist/foundation/process-containment/darwin-process-inspector.js +0 -7
- package/dist/foundation/process-containment/native-guardian-containment.js +0 -152
- package/dist/foundation/process-containment/windows-process-inspector.d.ts +0 -19
- package/dist/foundation/process-containment/windows-process-inspector.js +0 -56
- package/dist/native/darwin-arm64/process-guardian +0 -0
- package/dist/native/linux-x64/process-guardian +0 -0
- package/dist/native/win32-x64/process-guardian.exe +0 -0
package/dist/cli/tabs.js
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { resolveProductPaths } from "../foundation/lifecycle/index.js";
|
|
2
|
+
import { materializeRelease } from "../foundation/release/index.js";
|
|
3
|
+
import { readResidentTabLaunchSettings, runTerminalHostMaintenance, writeDoctorBundle, } from "../foundation/resident-tabs/index.js";
|
|
4
|
+
import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../product-identity.js";
|
|
5
|
+
/** `a1 tabs`: inspect or stop resident tabs without attaching, and never start a host to report state. */
|
|
6
|
+
export async function runTabsCommand(request, options = {}) {
|
|
7
|
+
const environment = options.environment ?? process.env;
|
|
8
|
+
const stdout = options.stdout ?? (message => process.stdout.write(message));
|
|
9
|
+
const stderr = options.stderr ?? (message => process.stderr.write(message));
|
|
10
|
+
const paths = resolveProductPaths(environment);
|
|
11
|
+
const profileRoot = environment[PRODUCT_IDENTITY.environment.profileHome] ?? paths.configDir;
|
|
12
|
+
const releaseRoots = await invokingReleaseRoots(paths.dataDir, options.packageRoot, environment);
|
|
13
|
+
const maintenance = options.maintenance ?? runTerminalHostMaintenance;
|
|
14
|
+
const report = await maintenance({
|
|
15
|
+
action: request.action === "doctor" ? "host-status" : request.action,
|
|
16
|
+
...(request.tabId === undefined ? {} : { tabId: request.tabId }),
|
|
17
|
+
profileRoot,
|
|
18
|
+
dataDir: paths.dataDir,
|
|
19
|
+
runtimeDir: paths.runtimeDir,
|
|
20
|
+
releaseRoots,
|
|
21
|
+
environment,
|
|
22
|
+
});
|
|
23
|
+
if (request.action === "doctor") {
|
|
24
|
+
if (!report.stateDir) {
|
|
25
|
+
stderr(`${PRODUCT_TEXT.diagnostic(`tabs doctor could not locate resident state: ${report.message ?? report.host}`)}\n`);
|
|
26
|
+
return 1;
|
|
27
|
+
}
|
|
28
|
+
const settings = await readResidentTabLaunchSettings(environment.PI_CODING_AGENT_DIR ?? paths.configDir, PRODUCT_IDENTITY.commandName, paths.configDir, "a1");
|
|
29
|
+
const bundle = await (options.doctor ?? writeDoctorBundle)({
|
|
30
|
+
stateDir: report.stateDir,
|
|
31
|
+
hostStatus: report,
|
|
32
|
+
releaseRoots,
|
|
33
|
+
settings: { tabsAutoName: settings.tabsAutoName },
|
|
34
|
+
});
|
|
35
|
+
if (request.json)
|
|
36
|
+
stdout(`${JSON.stringify({ schema: "a1-tabs-doctor-v1", path: bundle.path, bytes: bundle.bytes, dropped: bundle.dropped })}\n`);
|
|
37
|
+
else
|
|
38
|
+
stdout(`Wrote ${bundle.path}\n`);
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
if (request.json) {
|
|
42
|
+
const { exitCode: _exitCode, ...printed } = report;
|
|
43
|
+
stdout(`${JSON.stringify(printed)}\n`);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
const text = describe(request, report);
|
|
47
|
+
if (report.exitCode === 0)
|
|
48
|
+
stdout(text);
|
|
49
|
+
else
|
|
50
|
+
stderr(text);
|
|
51
|
+
}
|
|
52
|
+
return report.exitCode === 0 ? 0 : 1;
|
|
53
|
+
}
|
|
54
|
+
async function invokingReleaseRoots(dataDir, packageRoot, environment) {
|
|
55
|
+
if (!packageRoot)
|
|
56
|
+
return [];
|
|
57
|
+
if (environment[PRODUCT_IDENTITY.environment.developmentInstanceId])
|
|
58
|
+
return [packageRoot];
|
|
59
|
+
try {
|
|
60
|
+
// Invariant: immutable materialization selects exact payload bytes without activating or starting a host.
|
|
61
|
+
return [(await materializeRelease(packageRoot, dataDir)).releaseRoot];
|
|
62
|
+
}
|
|
63
|
+
catch {
|
|
64
|
+
return [];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
const NO_TABS = "No resident tabs are running.\n";
|
|
68
|
+
function describe(request, report) {
|
|
69
|
+
const command = PRODUCT_TEXT.commandName;
|
|
70
|
+
if (report.host === "none")
|
|
71
|
+
return NO_TABS;
|
|
72
|
+
if (report.host === "unavailable")
|
|
73
|
+
return `${PRODUCT_TEXT.diagnostic(`tabs could not run maintenance: ${report.message ?? "terminal host unavailable"}`)}\n`;
|
|
74
|
+
if (report.host === "unresponsive") {
|
|
75
|
+
return `The resident host (pid ${report.pid ?? "unknown"}) is not responding. Run \`${command} tabs host stop\` to stop it.\n`;
|
|
76
|
+
}
|
|
77
|
+
if (report.host === "incompatible") {
|
|
78
|
+
return `${PRODUCT_TEXT.diagnostic(report.message ?? "running tabs use another version")} Run \`${command} tabs host stop\` from that version.\n`;
|
|
79
|
+
}
|
|
80
|
+
if (report.host === "unverifiable" || report.host === "refused") {
|
|
81
|
+
return `${PRODUCT_TEXT.diagnostic(report.message ?? "the resident host could not be verified; nothing was changed")}\n`;
|
|
82
|
+
}
|
|
83
|
+
const result = report.result ?? {};
|
|
84
|
+
if (request.action === "list")
|
|
85
|
+
return listing(result);
|
|
86
|
+
if (request.action === "host-status")
|
|
87
|
+
return status(result);
|
|
88
|
+
if (request.action === "host-stop") {
|
|
89
|
+
if (report.host === "stopped")
|
|
90
|
+
return "Stopped every tab and the resident host.\n";
|
|
91
|
+
return `Could not stop every tab: ${remaining(result)}. The host is still running.\n`;
|
|
92
|
+
}
|
|
93
|
+
if (result.accepted === false && typeof result.message === "string") {
|
|
94
|
+
return `${PRODUCT_TEXT.diagnostic(`tabs stop: ${result.message === "unknown tab" ? `no tab ${request.tabId ?? ""}` : result.message}`)}\n`;
|
|
95
|
+
}
|
|
96
|
+
const stopped = Array.isArray(result.stopped) ? result.stopped.length : 0;
|
|
97
|
+
if (result.accepted === false)
|
|
98
|
+
return `Could not stop: ${remaining(result)}.\n`;
|
|
99
|
+
if (request.action === "stop")
|
|
100
|
+
return `Stopped tab ${request.tabId ?? ""}; its session can be resumed.\n`;
|
|
101
|
+
return stopped === 0 ? NO_TABS : `Stopped ${stopped} tab${stopped === 1 ? "" : "s"}; their sessions can be resumed.\n`;
|
|
102
|
+
}
|
|
103
|
+
function remaining(result) {
|
|
104
|
+
return Array.isArray(result.remaining) && result.remaining.length > 0 ? result.remaining.join(", ") : "unknown tabs";
|
|
105
|
+
}
|
|
106
|
+
function listing(result) {
|
|
107
|
+
const tabs = Array.isArray(result.tabs) ? result.tabs : [];
|
|
108
|
+
if (tabs.length === 0)
|
|
109
|
+
return NO_TABS;
|
|
110
|
+
const rows = [
|
|
111
|
+
["ID", "NAME", "STATUS", "CWD", "RELEASE", "HOLDER"],
|
|
112
|
+
...tabs.map(tab => [tab.tabId, tab.name, tab.status, tab.cwd, tab.release, tab.holderPid ?? "-"].map(value => String(value ?? "-"))),
|
|
113
|
+
];
|
|
114
|
+
const widths = rows[0].map((_, column) => Math.max(...rows.map(row => row[column].length)));
|
|
115
|
+
return `${rows.map(row => row.map((cell, column) => column === row.length - 1 ? cell : cell.padEnd(widths[column])).join(" ")).join("\n")}\n`;
|
|
116
|
+
}
|
|
117
|
+
function status(result) {
|
|
118
|
+
const limits = (result.limits ?? {});
|
|
119
|
+
const counters = (result.counters ?? {});
|
|
120
|
+
const byStatus = (result.tabsByStatus ?? {});
|
|
121
|
+
const lines = [
|
|
122
|
+
`pid: ${String(result.pid ?? "-")}`,
|
|
123
|
+
`build: ${String(result.build ?? "-")}`,
|
|
124
|
+
`release: ${String(result.release ?? "-")}`,
|
|
125
|
+
`generation: ${String(result.generation ?? "-")}`,
|
|
126
|
+
`epoch: ${String(result.epoch ?? "-")}`,
|
|
127
|
+
`uptime: ${String(result.uptimeSeconds ?? "-")}s`,
|
|
128
|
+
`detachment: ${String(result.detachmentMode ?? "unknown")}${result.detachmentVerified === false ? " (not verified)" : ""}`,
|
|
129
|
+
`tabs: ${String(result.tabs ?? 0)}${Object.keys(byStatus).length > 0 ? ` (${Object.entries(byStatus).map(([key, value]) => `${key} ${String(value)}`).join(", ")})` : ""}`,
|
|
130
|
+
`clients: ${String(result.clients ?? 0)}`,
|
|
131
|
+
...startsAndLifecycle(result),
|
|
132
|
+
`limits: ${Object.entries(limits).map(([key, value]) => `${key} ${String(value)}`).join(", ")}`,
|
|
133
|
+
`counters: ${Object.entries(counters).map(([key, value]) => `${key} ${String(value)}`).join(", ")}`,
|
|
134
|
+
...(Array.isArray(result.logs) ? result.logs.map(path => `log: ${String(path)}`) : []),
|
|
135
|
+
];
|
|
136
|
+
return `${lines.join("\n")}\n`;
|
|
137
|
+
}
|
|
138
|
+
/** Lifecycle work running this long means a terminal's tab requests are stuck. */
|
|
139
|
+
const LIFECYCLE_STALL_MS = 10_000;
|
|
140
|
+
function startsAndLifecycle(result) {
|
|
141
|
+
const lines = [];
|
|
142
|
+
const starts = result.starts;
|
|
143
|
+
if (starts)
|
|
144
|
+
lines.push(`starts: active ${String(starts.active ?? 0)}, waiting ${String(starts.interactiveWaiting ?? 0)}, recovering ${String(starts.recoverySlots ?? 0)}`);
|
|
145
|
+
const lifecycle = result.lifecycle;
|
|
146
|
+
if (lifecycle) {
|
|
147
|
+
const oldest = typeof lifecycle.oldestMs === "number" ? lifecycle.oldestMs : 0;
|
|
148
|
+
lines.push(`lifecycle: pending ${String(lifecycle.pending ?? 0)}, oldest ${oldest}ms${oldest > LIFECYCLE_STALL_MS ? " (stalled)" : ""}`);
|
|
149
|
+
}
|
|
150
|
+
return lines;
|
|
151
|
+
}
|
|
@@ -12,19 +12,26 @@ export async function runVersionStats(options) {
|
|
|
12
12
|
const output = options.output ?? defaultOutput;
|
|
13
13
|
const runner = options.runner ?? createVersionProcessRunner();
|
|
14
14
|
let installed;
|
|
15
|
+
let installedPullRequest;
|
|
15
16
|
try {
|
|
16
17
|
const manifest = JSON.parse(await readFile(resolve(options.packageRoot, "package.json"), "utf8"));
|
|
17
18
|
installed = parseVersion(manifest.version, "installed package");
|
|
19
|
+
installedPullRequest = recordedPullRequest(manifest);
|
|
18
20
|
}
|
|
19
21
|
catch (error) {
|
|
20
22
|
output.stderr(`${PRODUCT_TEXT.diagnostic(`could not read its installed version: ${message(error)}`)}\n`);
|
|
21
23
|
return 1;
|
|
22
24
|
}
|
|
23
25
|
// Rationale: unlike Pi, stable builds also show the release channel head so users can see they are
|
|
24
|
-
// behind without starting a session. Only development builds show the preview channel
|
|
26
|
+
// behind without starting a session. Only development builds show the preview channel, and only
|
|
27
|
+
// they carry the pull request a preview's manifest records; a missing record is silently omitted.
|
|
25
28
|
const remote = await queryDistTags(runner, options.fetcher ?? defaultRegistryFetcher);
|
|
26
|
-
const
|
|
27
|
-
|
|
29
|
+
const developmentBuild = prerelease(installed) !== null;
|
|
30
|
+
const headPullRequest = developmentBuild && remote.develop !== null ? await queryRecordedPullRequest(runner, remote.develop) : null;
|
|
31
|
+
const develop = developmentBuild
|
|
32
|
+
? `Develop: ${remote.develop === null ? "unavailable" : withPullRequest(remote.develop, headPullRequest)}\n`
|
|
33
|
+
: "";
|
|
34
|
+
output.stdout(`Current: ${withPullRequest(installed, developmentBuild ? installedPullRequest : null)}\n${develop}Release: ${remote.release ?? "unavailable"}\n`);
|
|
28
35
|
if (remote.error)
|
|
29
36
|
output.stderr(`${PRODUCT_TEXT.diagnostic(`could not resolve npm dist-tags: ${remote.error}`)}\n`);
|
|
30
37
|
return 0;
|
|
@@ -88,6 +95,34 @@ function parseDistTags(metadata, source) {
|
|
|
88
95
|
function unavailable(error) {
|
|
89
96
|
return { release: null, develop: null, error };
|
|
90
97
|
}
|
|
98
|
+
function withPullRequest(version, pullRequest) {
|
|
99
|
+
return pullRequest === null ? version : `${version} (#${pullRequest})`;
|
|
100
|
+
}
|
|
101
|
+
/** The pull request a manifest records under `publication.pullRequest`, when it is a positive integer. */
|
|
102
|
+
function recordedPullRequest(manifest) {
|
|
103
|
+
if (typeof manifest !== "object" || manifest === null)
|
|
104
|
+
return null;
|
|
105
|
+
const publication = manifest.publication;
|
|
106
|
+
if (typeof publication !== "object" || publication === null)
|
|
107
|
+
return null;
|
|
108
|
+
const value = publication.pullRequest;
|
|
109
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : null;
|
|
110
|
+
}
|
|
111
|
+
/** The pull request the published head records, read through npm; any failure means no record. */
|
|
112
|
+
async function queryRecordedPullRequest(runner, version) {
|
|
113
|
+
try {
|
|
114
|
+
const result = await runner("npm", ["view", `${PRODUCT_TEXT.packageName}@${version}`, "publication.pullRequest", "--json"]);
|
|
115
|
+
if (result.code !== 0 || result.stdout.trim().length === 0)
|
|
116
|
+
return null;
|
|
117
|
+
const parsed = JSON.parse(result.stdout);
|
|
118
|
+
// Compatibility: npm 12 wraps single-field `npm view --json` output in a one-element array.
|
|
119
|
+
const value = Array.isArray(parsed) && parsed.length === 1 ? parsed[0] : parsed;
|
|
120
|
+
return typeof value === "number" && Number.isSafeInteger(value) && value > 0 ? value : null;
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return null;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
91
126
|
const defaultRegistryFetcher = async (url) => await fetch(url, { headers: { accept: "application/json" }, signal: AbortSignal.timeout(10_000) });
|
|
92
127
|
function createVersionProcessRunner() {
|
|
93
128
|
return async (command, arguments_) => await new Promise((resolvePromise, rejectPromise) => {
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { AgentSettingsPort } from "../contracts/agent-engine/index.js";
|
|
2
|
+
import { OwnedSettingsManager } from "../ui/settings/manager.js";
|
|
3
|
+
export interface OwnedSettingsManagerFactoryOptions {
|
|
4
|
+
readonly profileId: string;
|
|
5
|
+
readonly hideTabSettings?: boolean;
|
|
6
|
+
readonly agent?: AgentSettingsPort | null;
|
|
7
|
+
readonly agentProvider?: () => AgentSettingsPort | null;
|
|
8
|
+
}
|
|
9
|
+
/** Builds the profile-global settings manager shared by the Agent and slim utility compositions. */
|
|
10
|
+
export declare function createOwnedSettingsManager(options: OwnedSettingsManagerFactoryOptions): OwnedSettingsManager;
|
|
11
|
+
/** Rereads the shared settings document whenever its stat changes; returns the stop. */
|
|
12
|
+
export declare function watchSharedSettings(settings: Pick<OwnedSettingsManager, "file" | "refresh">): () => void;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { unwatchFile, watchFile } from "node:fs";
|
|
2
|
+
import { resolveLaunchProfilePaths } from "../features/launch/profile-paths.js";
|
|
3
|
+
import { resolveProductPaths } from "../foundation/lifecycle/paths.js";
|
|
4
|
+
import { PRODUCT_IDENTITY } from "../product-identity.js";
|
|
5
|
+
import { OwnedSettingsManager } from "../ui/settings/manager.js";
|
|
6
|
+
/** Builds the profile-global settings manager shared by the Agent and slim utility compositions. */
|
|
7
|
+
export function createOwnedSettingsManager(options) {
|
|
8
|
+
const profilePaths = resolveLaunchProfilePaths();
|
|
9
|
+
const productPaths = resolveProductPaths();
|
|
10
|
+
return new OwnedSettingsManager({
|
|
11
|
+
profileDir: profilePaths.agentProfile,
|
|
12
|
+
profileId: options.profileId,
|
|
13
|
+
namespace: PRODUCT_IDENTITY.commandName,
|
|
14
|
+
legacyConfigDir: productPaths.configDir,
|
|
15
|
+
...(options.agent === undefined ? {} : { agent: options.agent }),
|
|
16
|
+
...(options.agentProvider === undefined ? {} : { agentProvider: options.agentProvider }),
|
|
17
|
+
...(options.hideTabSettings ? { hiddenOwnedSettingIds: ["tabsAutoName", "tabsPosition", "tabBarPlusMenu"] } : {}),
|
|
18
|
+
hiddenAgentSettingIds: ["fullscreenWheelScrollLines"],
|
|
19
|
+
agentSettingLabelOverrides: { fullscreenCopyOnSelect: "Copy on select" },
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
const SHARED_SETTINGS_POLL_MS = 250;
|
|
23
|
+
/** Rereads the shared settings document whenever its stat changes; returns the stop. */
|
|
24
|
+
export function watchSharedSettings(settings) {
|
|
25
|
+
const file = settings.file;
|
|
26
|
+
const listener = () => {
|
|
27
|
+
try {
|
|
28
|
+
settings.refresh();
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
// Compatibility: an unreadable peer write resolves on the next stat change.
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
watchFile(file, { interval: SHARED_SETTINGS_POLL_MS, persistent: false }, listener);
|
|
35
|
+
return () => unwatchFile(file, listener);
|
|
36
|
+
}
|
|
@@ -1,29 +1,16 @@
|
|
|
1
1
|
import type { AvailableRelease, StartupReleaseCheckOptions } from "../foundation/release/latest-release.js";
|
|
2
2
|
import type { NativeProcessIdentity } from "../foundation/lifecycle/model.js";
|
|
3
3
|
import type { SessionSelection } from "../foundation/lifecycle/session-selection.js";
|
|
4
|
-
import { type PiEngineHostOptions
|
|
5
|
-
import { type PiSessionPresenterBackend } from "../integrations/pi/session-presenters/index.js";
|
|
4
|
+
import { type PiEngineHostOptions } from "../integrations/pi/engine/host.js";
|
|
6
5
|
import type { PiProjectTrustPreflightPrompt } from "../integrations/pi/engine/project-trust-preflight.js";
|
|
7
6
|
import type { PiSessionForkPrompt } from "../integrations/pi/engine/session-selection.js";
|
|
8
|
-
import { OwnedSettingsManager } from "../ui/settings/manager.js";
|
|
7
|
+
import type { OwnedSettingsManager } from "../ui/settings/manager.js";
|
|
9
8
|
import type { OwnedUiApplicationPort, PresentationTerminalPort } from "../contracts/presentation/index.js";
|
|
10
|
-
import type { AgentSettingsPort } from "../contracts/agent-engine/index.js";
|
|
11
|
-
import type { OwnedUiPromptSuggestionGeneratorPort, UiAccentColor } from "../contracts/owned-ui/index.js";
|
|
12
9
|
import type { ReleaseNoteCatalog } from "../features/owned-ui/release-notes.js";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
*/
|
|
18
|
-
export interface ComposedSessionBackend extends PiSessionPresenterBackend, OwnedUiPromptSuggestionGeneratorPort {
|
|
19
|
-
settingsPort(): AgentSettingsPort | null;
|
|
20
|
-
}
|
|
21
|
-
/** The process-level engine host as composition drives it: sessions, the live accent, and disposal. */
|
|
22
|
-
export interface ComposedEngineHost {
|
|
23
|
-
create(request: PiEngineSessionRequest): Promise<ComposedSessionBackend>;
|
|
24
|
-
setAccentColor(color: UiAccentColor): void;
|
|
25
|
-
dispose(): Promise<void>;
|
|
26
|
-
}
|
|
10
|
+
import type { TabBridgeClient } from "../foundation/resident-tabs/bridge-client.js";
|
|
11
|
+
import type { ComposedEngineHost } from "./session-backend.js";
|
|
12
|
+
export type { ComposedEngineHost, ComposedSessionBackend } from "./session-backend.js";
|
|
13
|
+
export { bindResidentTabBridge, correlateResidentTabSubmission } from "./resident-tab-bridge.js";
|
|
27
14
|
export interface OwnedUiCompositionOptions {
|
|
28
15
|
readonly cwd?: string;
|
|
29
16
|
readonly terminal?: PresentationTerminalPort;
|
|
@@ -33,15 +20,11 @@ export interface OwnedUiCompositionOptions {
|
|
|
33
20
|
readonly sessionPath?: string;
|
|
34
21
|
readonly sessionSelection?: SessionSelection;
|
|
35
22
|
readonly sessionForkPrompt?: PiSessionForkPrompt;
|
|
36
|
-
/**
|
|
37
|
-
* A1 profile whose settings this session reads and writes. Omitted keeps the
|
|
38
|
-
* session settings-free, which is what the pinned comparison paths use.
|
|
39
|
-
*/
|
|
23
|
+
/** A1 settings profile; comparison paths omit it. */
|
|
40
24
|
readonly profileId?: string;
|
|
41
|
-
/**
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
*/
|
|
25
|
+
/** Hide resident-only tab controls for the explicit direct single-agent launch. */
|
|
26
|
+
readonly hideTabSettings?: boolean;
|
|
27
|
+
/** `off` withholds A1-specific surfaces from comparison profiles. */
|
|
45
28
|
readonly ownedSurfaces?: "on" | "off";
|
|
46
29
|
readonly projectTrustPrompt?: PiProjectTrustPreflightPrompt;
|
|
47
30
|
/** Explicit local diagnostic destination; ignored by comparison/settings-free compositions. */
|
|
@@ -50,16 +33,32 @@ export interface OwnedUiCompositionOptions {
|
|
|
50
33
|
readonly clipboardDiagnosticsPath?: string;
|
|
51
34
|
/** Deterministic release-note seams for composition tests. */
|
|
52
35
|
readonly packageVersion?: string;
|
|
36
|
+
readonly notificationVersion?: string | undefined;
|
|
53
37
|
readonly releaseNotes?: ReleaseNoteCatalog;
|
|
54
38
|
/** Startup release-availability seam; defaults to the throttled registry check. */
|
|
55
39
|
readonly checkForNewerRelease?: (options: StartupReleaseCheckOptions) => Promise<AvailableRelease | null>;
|
|
56
|
-
/** Exact native process inspection injected by the shipped entry; absent SDK seams do not publish claims. */
|
|
57
40
|
readonly inspectProcess?: (pid: number) => Promise<NativeProcessIdentity | null>;
|
|
41
|
+
readonly tab?: {
|
|
42
|
+
readonly bridge: TabBridgeClient;
|
|
43
|
+
readonly dataDir: string;
|
|
44
|
+
readonly incarnation: number;
|
|
45
|
+
};
|
|
46
|
+
readonly residentFallbackNotice?: string;
|
|
58
47
|
}
|
|
59
48
|
export interface OwnedUiComposition {
|
|
60
49
|
readonly application: OwnedUiApplicationPort;
|
|
61
50
|
/** Present when a profile was supplied, so the caller can resolve settings before start. */
|
|
62
51
|
readonly settings: OwnedSettingsManager | null;
|
|
63
52
|
}
|
|
53
|
+
export declare function residentStartupPresentation(resident: boolean, fallbackNotice?: string): {
|
|
54
|
+
readonly startup?: {
|
|
55
|
+
readonly quiet?: boolean;
|
|
56
|
+
readonly notices?: readonly [{
|
|
57
|
+
readonly kind: "warning";
|
|
58
|
+
readonly message: string;
|
|
59
|
+
}];
|
|
60
|
+
};
|
|
61
|
+
};
|
|
64
62
|
export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
|
|
65
63
|
export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;
|
|
64
|
+
export { watchSharedSettings } from "./owned-settings.js";
|