@timurproko/a1 0.2.6 → 0.2.7-dev.1221
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 +196 -908
- package/dist/app/session-shell/session-shell.d.ts +3 -8
- package/dist/app/session-shell/session-shell.js +324 -835
- package/dist/app/session-shell/session-viewport-controller.d.ts +2 -2
- package/dist/app/session-shell/session-viewport-controller.js +29 -15
- 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 +102 -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 +205 -153
- 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 -1
- package/dist/composition/settings-route-host.js +29 -10
- package/dist/composition/settings-search-input.d.ts +9 -0
- package/dist/composition/settings-search-input.js +58 -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 +242 -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 +76 -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-screen-app.d.ts +2 -0
- package/dist/features/owned-ui/reference-screen-app.js +12 -2
- package/dist/features/owned-ui/settings-app.d.ts +12 -2
- package/dist/features/owned-ui/settings-app.js +116 -81
- 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 +90 -6
- 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 +73 -4
- 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.js +35 -30
- package/dist/ui/components/index.d.ts +2 -2
- package/dist/ui/components/index.js +1 -1
- 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/selection-copy.d.ts +2 -0
- package/dist/ui/components/selection-copy.js +13 -0
- 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.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 +176 -55
- 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 +648 -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
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/tree-selector.ts.
|
|
4
4
|
* Modifications: Port remaps public types/components plus owned keybindings/theme helpers while
|
|
5
5
|
* preserving tree behavior; bare A1 uses compact modal chrome and label editing, four-mode
|
|
6
6
|
* Models-style filter status with Tab/Shift+Tab directional cycling and concise all-first presentation
|
|
7
|
-
* excluding internal bookkeeping, standard search input, blue full-row menu-arrow
|
|
8
|
-
* preserves per-entry semantic foregrounds and has no path bullets, accent entry
|
|
9
|
-
* timestamps, numeric result counters without duplicate label-time status, and a
|
|
10
|
-
* shortcut, semantic role colors with session naming for the system root,
|
|
11
|
-
* paging/first-last/non-root containing-branch folding keys with a permanently expanded
|
|
12
|
-
* entry even behind hidden metadata, single-character ellipses on both clipped edges
|
|
13
|
-
* bracket-delimiter preservation and selected-fragment highlighting, and Models-ordered semantic
|
|
7
|
+
* excluding internal bookkeeping, a standard accent-marked search input, blue full-row menu-arrow
|
|
8
|
+
* selection that preserves per-entry semantic foregrounds and has no path bullets, accent entry
|
|
9
|
+
* labels, bracketed timestamps, numeric result counters without duplicate label-time status, and a
|
|
10
|
+
* stateful time on/off shortcut, semantic role colors with session naming for the system root,
|
|
11
|
+
* standard paging/first-last/non-root containing-branch folding keys with a permanently expanded
|
|
12
|
+
* system session entry even behind hidden metadata, single-character ellipses on both clipped edges
|
|
13
|
+
* with bracket-delimiter preservation and selected-fragment highlighting, and Models-ordered semantic
|
|
14
14
|
* Type/search shortcut footers without a redundant select hint.
|
|
15
|
-
* Deviations: owned-modal-shortcut-hints, owned-session-tree-dialog.
|
|
15
|
+
* Deviations: owned-modal-shortcut-hints, owned-session-tree-dialog, owned-dialog-search-marker.
|
|
16
16
|
*/
|
|
17
17
|
import { Container, Input, matchesKey, Spacer, sliceByColumn, Text, truncateToWidth, visibleWidth, wrapTextWithAnsi, } from "@earendil-works/pi-tui";
|
|
18
|
-
import { DynamicBorder } from "../../../startup-public.js";
|
|
18
|
+
import { DynamicBorder, formatReadLineRange } from "../../../startup-public.js";
|
|
19
19
|
import { KeybindingsManager } from "../adjacent/core/keybindings.js";
|
|
20
|
-
import { addPiModalHeader, adoptPiModalFrame } from "../../modal-frame.js";
|
|
20
|
+
import { addPiModalHeader, adoptPiModalFrame, renderPiModalSearchInput } from "../../modal-frame.js";
|
|
21
21
|
import { DIALOG_CLOSE_SHORTCUT_HINT, paintPiBorder, piTheme, renderPiModalShortcutHints } from "../../theme.js";
|
|
22
22
|
const theme = new Proxy({}, {
|
|
23
23
|
get(_target, property) {
|
|
@@ -814,15 +814,7 @@ class TreeList {
|
|
|
814
814
|
switch (name) {
|
|
815
815
|
case "read": {
|
|
816
816
|
const path = shortenPath(String(args.path || args.file_path || ""));
|
|
817
|
-
|
|
818
|
-
const limit = args.limit;
|
|
819
|
-
let display = path;
|
|
820
|
-
if (offset !== undefined || limit !== undefined) {
|
|
821
|
-
const start = offset ?? 1;
|
|
822
|
-
const end = limit !== undefined ? start + limit - 1 : "";
|
|
823
|
-
display += `:${start}${end ? `-${end}` : ""}`;
|
|
824
|
-
}
|
|
825
|
-
return `[read: ${display}]`;
|
|
817
|
+
return `[read: ${path}${formatReadLineRange(args.offset, args.limit)}]`;
|
|
826
818
|
}
|
|
827
819
|
case "write": {
|
|
828
820
|
const path = shortenPath(String(args.path || args.file_path || ""));
|
|
@@ -1085,7 +1077,7 @@ class TreeSearchInput {
|
|
|
1085
1077
|
this.input.handleInput(query);
|
|
1086
1078
|
this.renderedQuery = query;
|
|
1087
1079
|
}
|
|
1088
|
-
return this.input
|
|
1080
|
+
return renderPiModalSearchInput(this.input, width);
|
|
1089
1081
|
}
|
|
1090
1082
|
}
|
|
1091
1083
|
/** Models-style summary of the active tree filter. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/components/trust-selector.ts.
|
|
4
4
|
* Modifications: Mechanical source-synchronized trust selector port with injected public
|
|
5
5
|
* ProjectTrustStore-derived options, remapped owned theme imports, the shared bare-A1 modal shortcut
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/external-editor.ts.
|
|
4
4
|
* Modifications: Mechanical port: retain temporary prompt file, asynchronous inherited-stdio editor
|
|
5
5
|
* process, completion readback, and best-effort cleanup behind the owned extension-editor component.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/components/editor.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, semantic border state with the user-approved numeric-only
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* Deviations: compact-history-counter-label, history-overflow-cue-separation,
|
|
10
10
|
* history-recall-cursor-retention, persistent-history-owned-editor-boundary.
|
|
11
11
|
*/
|
|
12
|
-
import { type AutocompleteProvider, type Component, type Focusable, type
|
|
12
|
+
import { type AutocompleteProvider, type Component, type Focusable, type SelectListTheme, type TUI, type TuiMouseEvent, type TuiMouseEventResult } from "@earendil-works/pi-tui";
|
|
13
13
|
import type { EditorInteractionPort, EditorRecallPort } from "../../editor-interaction.js";
|
|
14
14
|
/**
|
|
15
15
|
* Represents a chunk of text for word-wrap layout.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/components/editor.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, semantic border state with the user-approved numeric-only
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* Deviations: compact-history-counter-label, history-overflow-cue-separation,
|
|
10
10
|
* history-recall-cursor-retention, persistent-history-owned-editor-boundary.
|
|
11
11
|
*/
|
|
12
|
-
import { getKeybindings, matchesKey,
|
|
12
|
+
import { CURSOR_MARKER, SelectList, getKeybindings, matchesKey, renderFakeCursor, sliceByColumn, truncateToWidth, visibleWidth, } from "@earendil-works/pi-tui";
|
|
13
13
|
import { decodePrintableKey } from "./printable-key.js";
|
|
14
14
|
import { KillRing } from "./kill-ring.js";
|
|
15
15
|
import { UndoStack } from "./undo-stack.js";
|
|
16
|
-
import { autocompleteBoundaryRegex, autocompleteSeparatorRegex, cjkBreakRegex, getGraphemeSegmenter, getWordSegmenter, isWhitespaceChar } from "./text-helpers.js";
|
|
16
|
+
import { autocompleteBoundaryRegex, autocompleteSeparatorRegex, cjkBreakRegex, getGraphemeSegmenter, getWordSegmenter, isWhitespaceChar, } from "./text-helpers.js";
|
|
17
17
|
import { findWordBackward, findWordForward } from "./word-navigation.js";
|
|
18
18
|
const graphemeSegmenter = getGraphemeSegmenter();
|
|
19
19
|
const wordSegmenter = getWordSegmenter();
|
|
@@ -287,6 +287,8 @@ export class HistoryEditorCore {
|
|
|
287
287
|
delete this.onHistoryChange; };
|
|
288
288
|
},
|
|
289
289
|
reset: () => this.resetHistoryBrowsing(),
|
|
290
|
+
restoreDraft: () => { while (this.historyIndex >= 0)
|
|
291
|
+
this.navigateHistory(1); },
|
|
290
292
|
};
|
|
291
293
|
persistentHistory = false;
|
|
292
294
|
styleHistoryLabel;
|
|
@@ -574,13 +576,13 @@ export class HistoryEditorCore {
|
|
|
574
576
|
const afterGraphemes = [...this.segment(after, "grapheme")];
|
|
575
577
|
const firstGrapheme = afterGraphemes[0]?.segment || "";
|
|
576
578
|
const restAfter = after.slice(firstGrapheme.length);
|
|
577
|
-
const cursor =
|
|
579
|
+
const cursor = renderFakeCursor(firstGrapheme);
|
|
578
580
|
displayText = before + marker + cursor + restAfter;
|
|
579
581
|
// lineVisibleWidth stays the same - we're replacing, not adding
|
|
580
582
|
}
|
|
581
583
|
else {
|
|
582
584
|
// Cursor is at the end - add highlighted space
|
|
583
|
-
const cursor = "
|
|
585
|
+
const cursor = renderFakeCursor(" ");
|
|
584
586
|
displayText = before + marker + cursor;
|
|
585
587
|
lineVisibleWidth = lineVisibleWidth + 1;
|
|
586
588
|
// If cursor overflows content width into the padding, flag it
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/kill-ring.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/kill-ring.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/keys.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/utils.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/undo-stack.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/undo-stack.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-tui 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-tui 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/tui/src/word-navigation.ts.
|
|
4
4
|
* Modifications: Owned editor core or minimal editor-local helper subset; public imports, strict
|
|
5
5
|
* types, typed persistent-history hooks, and semantic border state. Public terminal runtime/exports
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/model-search.ts.
|
|
4
4
|
* Modifications: Mechanical source-synchronized port preserving pinned model search terms for stateful
|
|
5
5
|
* scoped-model filtering.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/program-status-reporter.ts.
|
|
4
4
|
* Modifications: Remap Pi session events to A1's neutral run events, inject the terminal reporter, use
|
|
5
5
|
* A1's application identity, and clear dialog state when the owned session changes.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/theme-controller.ts.
|
|
4
4
|
* Modifications: Source-synchronized controller port: renamed owner class, injected dependency-free
|
|
5
5
|
* settings/runtime ports, remapped private theme helpers to the public-backed A1 theme adapter, and
|
|
@@ -43,8 +43,11 @@ export interface PiAccentProjection {
|
|
|
43
43
|
readonly selectedBg: Color;
|
|
44
44
|
readonly userMessageBg: Color;
|
|
45
45
|
}
|
|
46
|
+
/** Canonical named color used by both the interactive theme and pre-load palette generation. */
|
|
47
|
+
export declare function namedPiAccent(color: UiAccentColor, appearance: PiTerminalTheme): Color;
|
|
46
48
|
/** Derive the complete semantic family from any primary accent, including future custom colors. */
|
|
47
49
|
export declare function derivePiAccentProjection(accent: Color, appearance: PiTerminalTheme): PiAccentProjection;
|
|
50
|
+
declare let packageBorderProjectionEnabled: boolean;
|
|
48
51
|
export declare function ensurePiTheme(): Theme;
|
|
49
52
|
export declare function piTheme(): Theme;
|
|
50
53
|
export declare function currentPiThemeName(): string;
|
|
@@ -55,6 +58,8 @@ export declare function renderPiAccentPreview(color: string, text: string): stri
|
|
|
55
58
|
export declare function derivePiCanvasBackground(style: OwnedUiBackgroundStyle, accent: Color): Color | null;
|
|
56
59
|
/** Resolves the selected canvas through the active accent and terminal color mode. */
|
|
57
60
|
export declare function piCanvasBackgroundAnsi(style: OwnedUiBackgroundStyle): string | null;
|
|
61
|
+
/** Read-only live view of whether bare A1's semantic accent family is active. */
|
|
62
|
+
export { packageBorderProjectionEnabled as isPiAccentProjectionEnabled };
|
|
58
63
|
/** Keeps the complete comparison theme unmodified while bare A1 projects its semantic accent family. */
|
|
59
64
|
export declare function setPiPackageBorderProjectionEnabled(enabled: boolean): void;
|
|
60
65
|
/** Reprojects the active base theme; repeated changes never derive from an earlier projection. */
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Provenance: @earendil-works/pi-coding-agent 1.
|
|
2
|
+
* Provenance: @earendil-works/pi-coding-agent 1.4.0 (MIT), commit 4a080252f06caf63a525d7873c5d94d3c23887e0,
|
|
3
3
|
* packages/coding-agent/src/modes/interactive/theme/theme.ts.
|
|
4
4
|
* Modifications: Source-synchronized theme port: retain pinned theme schema, variable/color
|
|
5
5
|
* resolution, built-in and custom loading, terminal detection, and layout defaults while constructing
|
|
@@ -32,6 +32,9 @@ const FOREGROUND_COLORS = [
|
|
|
32
32
|
const BACKGROUND_COLORS = [
|
|
33
33
|
"selectedBg", "searchMatchBg", "userMessageBg", "customMessageBg", "toolPendingBg", "toolSuccessBg", "toolErrorBg",
|
|
34
34
|
];
|
|
35
|
+
const THEME_ROOT_KEYS = new Set(["$schema", "name", "appearance", "vars", "colors", "export"]);
|
|
36
|
+
const THEME_COLOR_KEYS = new Set([...FOREGROUND_COLORS, ...BACKGROUND_COLORS]);
|
|
37
|
+
const THEME_EXPORT_KEYS = new Set(["pageBg", "cardBg", "infoBg"]);
|
|
35
38
|
const ACCENT_PALETTE = Object.freeze({
|
|
36
39
|
purple: Object.freeze({
|
|
37
40
|
dark: Object.freeze({ kind: "rgb", r: 167, g: 152, b: 215 }),
|
|
@@ -43,6 +46,10 @@ const ACCENT_PALETTE = Object.freeze({
|
|
|
43
46
|
orange: Object.freeze({ dark: okhslColor(48, 0.75, 0.67), light: okhslColor(48, 0.90, 0.47) }),
|
|
44
47
|
pink: Object.freeze({ dark: okhslColor(337, 0.72, 0.67), light: okhslColor(337, 0.75, 0.48) }),
|
|
45
48
|
});
|
|
49
|
+
/** Canonical named color used by both the interactive theme and pre-load palette generation. */
|
|
50
|
+
export function namedPiAccent(color, appearance) {
|
|
51
|
+
return ACCENT_PALETTE[color][appearance];
|
|
52
|
+
}
|
|
46
53
|
function clamp(value, minimum, maximum) {
|
|
47
54
|
return Math.max(minimum, Math.min(maximum, value));
|
|
48
55
|
}
|
|
@@ -72,7 +79,7 @@ let activeBaseTheme;
|
|
|
72
79
|
let activeTheme;
|
|
73
80
|
let activeThemeName;
|
|
74
81
|
let activeThemeMode;
|
|
75
|
-
let activeAccentColor = "
|
|
82
|
+
let activeAccentColor = "blue";
|
|
76
83
|
let packageBorderProjectionEnabled = true;
|
|
77
84
|
let themeWatcher;
|
|
78
85
|
let themeReloadTimer;
|
|
@@ -122,6 +129,8 @@ export function piCanvasBackgroundAnsi(style) {
|
|
|
122
129
|
const background = derivePiCanvasBackground(style, accent);
|
|
123
130
|
return background === null ? null : backgroundAnsi(background, base.getColorMode());
|
|
124
131
|
}
|
|
132
|
+
/** Read-only live view of whether bare A1's semantic accent family is active. */
|
|
133
|
+
export { packageBorderProjectionEnabled as isPiAccentProjectionEnabled };
|
|
125
134
|
/** Keeps the complete comparison theme unmodified while bare A1 projects its semantic accent family. */
|
|
126
135
|
export function setPiPackageBorderProjectionEnabled(enabled) {
|
|
127
136
|
if (packageBorderProjectionEnabled === enabled)
|
|
@@ -471,6 +480,22 @@ function validateThemeJson(label, value) {
|
|
|
471
480
|
|| (value.vars !== undefined && !isRecord(value.vars))) {
|
|
472
481
|
throw new Error(`Invalid theme "${label}": expected name, colors, and optional vars objects`);
|
|
473
482
|
}
|
|
483
|
+
const unsupportedRootKey = Object.keys(value).find(key => !THEME_ROOT_KEYS.has(key));
|
|
484
|
+
if (unsupportedRootKey !== undefined) {
|
|
485
|
+
throw new Error(`Invalid theme "${label}": unsupported property ${unsupportedRootKey}`);
|
|
486
|
+
}
|
|
487
|
+
if (value.$schema !== undefined && typeof value.$schema !== "string") {
|
|
488
|
+
throw new Error(`Invalid theme "${label}": $schema must be a string`);
|
|
489
|
+
}
|
|
490
|
+
if (value.export !== undefined) {
|
|
491
|
+
if (!isRecord(value.export))
|
|
492
|
+
throw new Error(`Invalid theme "${label}": export must be an object`);
|
|
493
|
+
for (const [key, color] of Object.entries(value.export)) {
|
|
494
|
+
if (!THEME_EXPORT_KEYS.has(key))
|
|
495
|
+
throw new Error(`Invalid theme "${label}": unsupported export color ${key}`);
|
|
496
|
+
validateColor(color, `${label}.export.${key}`);
|
|
497
|
+
}
|
|
498
|
+
}
|
|
474
499
|
if (value.name.includes("/"))
|
|
475
500
|
throw new Error(`Invalid theme name "${value.name}"`);
|
|
476
501
|
if (value.appearance !== undefined && value.appearance !== "dark" && value.appearance !== "light") {
|
|
@@ -486,6 +511,8 @@ function validateThemeJson(label, value) {
|
|
|
486
511
|
}
|
|
487
512
|
const colors = {};
|
|
488
513
|
for (const [key, color] of Object.entries(value.colors)) {
|
|
514
|
+
if (!THEME_COLOR_KEYS.has(key))
|
|
515
|
+
throw new Error(`Invalid theme "${label}": unsupported color ${key}`);
|
|
489
516
|
validateColor(color, `${label}.colors.${key}`);
|
|
490
517
|
colors[key] = color;
|
|
491
518
|
}
|
|
@@ -1,38 +1,17 @@
|
|
|
1
|
-
import { type
|
|
2
|
-
import
|
|
3
|
-
import type { PiAuthenticationProviderOption, PiBashWorkflowResult, PiModelsContext, PiModelsRefreshResult, PiPinnedSettingsCallback, PiPinnedSettingsSnapshot, PiProjectTrustContext, PiProjectTrustUpdate, PiScopedModelsContext, PiScopedModelsRefreshResult, PiSessionResumeMetadata, PiSessionSelectorContext, PiTreeSelectorContext, PiWorkflowAutocompleteCommand, PiWorkflowHost, PiWorkflowInteractionHost, PiWorkflowOption, PiWorkflowRequest, PiWorkflowResult } from "./workflows.js";
|
|
1
|
+
import { type OwnedUiCommand, type OwnedUiExtensionPort, type OwnedUiPromptSuggestionGeneratorPort, type OwnedUiPromptSuggestionReasoning, type OwnedUiPromptSuggestionRequest, type OwnedUiPromptSuggestionResult, type OwnedUiEvent, type OwnedUiSessionBackend, type OwnedUiSessionCatalogPort, type OwnedUiSessionIdentityPort, type OwnedUiSessionPort, type OwnedUiSessionSettingsPort, type OwnedUiSessionViewModel, type OwnedUiSnapshot, type OwnedUiWorkflowPort } from "../../../contracts/owned-ui/index.js";
|
|
2
|
+
import type { PiPinnedSettingsSnapshot, PiWorkflowHost, PiWorkflowInteractionHost, PiWorkflowRequest, PiWorkflowResult } from "./workflows.js";
|
|
4
3
|
import type { PiSettingsBridge } from "./settings-bridge.js";
|
|
5
|
-
import type { PiSettingOwnerHandlers } from "./settings-bridge.js";
|
|
6
4
|
import type { PiProjectTrustPreflightPrompt } from "./project-trust-preflight.js";
|
|
7
5
|
import type { PiSessionForkPrompt, PiSessionSelection } from "./session-selection.js";
|
|
8
|
-
import type { AgentSettingOwner } from "../../../contracts/agent-engine/index.js";
|
|
9
6
|
import { type AdapterCommandResult } from "./command-dispatch.js";
|
|
10
|
-
import { type OwnedPiVisualExtensionSupport } from "./extension-ui-binding.js";
|
|
11
|
-
import { type OwnedPiExtensionResourceSummary, type OwnedPiResourceSummary } from "./resource-catalog.js";
|
|
12
7
|
import { type PiEnginePackageUpdateProbe, type PiEngineRuntimeFactory, type PiRepositoryContextReader } from "./session-runtime.js";
|
|
13
8
|
import { type PiEngineHostSessionPorts } from "./host-ports.js";
|
|
14
|
-
import {
|
|
9
|
+
import { type PiSessionPresentationSource } from "./ports.js";
|
|
15
10
|
export type { OwnedPiExtensionResourceSummary, OwnedPiExtensionSourceSummary, OwnedPiResourceSummary } from "./resource-catalog.js";
|
|
16
11
|
export type { PiEngineRuntimeFactory, PiEngineRuntimeFactoryInput } from "./session-runtime.js";
|
|
17
12
|
export type { AdapterCommandResult } from "./command-dispatch.js";
|
|
18
13
|
export type { OwnedPiVisualExtensionSupport } from "./extension-ui-binding.js";
|
|
19
|
-
|
|
20
|
-
* The Pi objects pinned selectors and transcript renderers are built from. They are not part of the
|
|
21
|
-
* session backend contract; only the session presenters owner reads them.
|
|
22
|
-
*/
|
|
23
|
-
export interface PiSessionPresentationSource {
|
|
24
|
-
pinnedModelSelectorContext(): ReturnType<PiWorkflowContexts["pinnedModelSelectorContext"]>;
|
|
25
|
-
pinnedSessionSelectorContext(): PiSessionSelectorContext;
|
|
26
|
-
pinnedTreeSelectorContext(): PiTreeSelectorContext;
|
|
27
|
-
pinnedMessageRenderer(customType: string): unknown;
|
|
28
|
-
pinnedToolRenderers(toolName: string): unknown;
|
|
29
|
-
pinnedShortcutDescriptions(bindings: Parameters<AgentSession["extensionRunner"]["getShortcuts"]>[0]): readonly {
|
|
30
|
-
readonly key: string;
|
|
31
|
-
readonly description: string;
|
|
32
|
-
}[];
|
|
33
|
-
pinnedSettingsModels(): Pick<PiPinnedSettingsSnapshot, "currentModel" | "availableDefaultModels">;
|
|
34
|
-
applyPinnedSettingValue(callback: PiPinnedSettingsCallback, value: unknown): Promise<PiWorkflowResult>;
|
|
35
|
-
}
|
|
14
|
+
export type { PiSessionPresentationSource } from "./ports.js";
|
|
36
15
|
/** Explicit flush failure when required delivery was interrupted rather than completed. */
|
|
37
16
|
export declare class EngineDeliveryError extends Error {
|
|
38
17
|
constructor();
|
|
@@ -80,24 +59,9 @@ export declare class PiEngineAdapter implements OwnedUiSessionBackend, OwnedUiPr
|
|
|
80
59
|
/** The Pi objects behind pinned selectors and renderers, for the session presenters owner only. */
|
|
81
60
|
presentationSource(): PiSessionPresentationSource;
|
|
82
61
|
setWorkflowInteractionHost(interaction: PiWorkflowInteractionHost): void;
|
|
83
|
-
get sessionId(): string;
|
|
84
|
-
get sessionGeneration(): number;
|
|
85
|
-
/** Actual session replacements, excluding delivery-only invalidation of callbacks. */
|
|
86
|
-
get sessionBindingGeneration(): number;
|
|
87
|
-
get cwd(): string;
|
|
88
|
-
get agentDir(): string;
|
|
89
|
-
resolveTranscriptImage(assetId: string): OwnedUiImageAttachment | null;
|
|
90
|
-
currentSessionFile(): string | null;
|
|
91
|
-
currentSessionResumeMetadata(): PiSessionResumeMetadata | null;
|
|
92
|
-
get disposed(): boolean;
|
|
93
|
-
/**
|
|
94
|
-
* Report a newer A1 release found by the startup check. The shell renders the diagnostic as
|
|
95
|
-
* pinned Pi's `Update Available` notice; it arrives whenever the check resolves, so a late
|
|
96
|
-
* result is appended to the transcript like Pi's own fire-and-forget version check.
|
|
97
|
-
*/
|
|
98
|
-
announceReleaseUpdate(release: OwnedUiReleaseUpdate): void;
|
|
99
62
|
suggestionReasoningPolicy(): OwnedUiPromptSuggestionReasoning;
|
|
100
63
|
generate(request: OwnedUiPromptSuggestionRequest): Promise<OwnedUiPromptSuggestionResult>;
|
|
64
|
+
generateResidentTabName(instruction: string, maxTokens: number, signal: AbortSignal): Promise<string | null>;
|
|
101
65
|
start(): Promise<OwnedUiSessionViewModel>;
|
|
102
66
|
/** Announce pinned Pi's changelog since the profile's last seen version; the host calls this once per process. */
|
|
103
67
|
announceStartupChangelog(): Promise<void>;
|
|
@@ -119,51 +83,15 @@ export declare class PiEngineAdapter implements OwnedUiSessionBackend, OwnedUiPr
|
|
|
119
83
|
peakBytes: number;
|
|
120
84
|
};
|
|
121
85
|
flushEvents(): Promise<void>;
|
|
122
|
-
nonVisualResources(): readonly OwnedPiResourceSummary[];
|
|
123
|
-
extensionResources(): readonly OwnedPiExtensionResourceSummary[];
|
|
124
|
-
workflowAutocompleteCommands(): readonly PiWorkflowAutocompleteCommand[];
|
|
125
|
-
visualExtensionSupport(): OwnedPiVisualExtensionSupport;
|
|
126
|
-
bindExtensionUi(ui: OwnedUiExtensionUiPort, shutdown?: () => void | Promise<void>): Promise<void>;
|
|
127
|
-
unbindExtensionUi(): Promise<void>;
|
|
128
|
-
cycleModelWorkflow(direction: "forward" | "backward"): Promise<PiWorkflowResult>;
|
|
129
|
-
pinnedProjectTrustContext(): PiProjectTrustContext;
|
|
130
|
-
persistProjectTrust(updates: readonly PiProjectTrustUpdate[]): void;
|
|
131
|
-
pinnedScopedModelsContext(): PiScopedModelsContext;
|
|
132
|
-
updateScopedModels(enabledModelIds: readonly string[] | null): void;
|
|
133
|
-
persistScopedModels(enabledModelIds: readonly string[] | null): void;
|
|
134
|
-
refreshScopedModels(signal: AbortSignal): Promise<PiScopedModelsRefreshResult>;
|
|
135
|
-
modelsContext(): PiModelsContext;
|
|
136
|
-
setSessionModelScope(scopeIds: readonly string[]): void;
|
|
137
|
-
persistModelScope(scopeIds: readonly string[]): void;
|
|
138
|
-
refreshModels(signal: AbortSignal): Promise<PiModelsRefreshResult>;
|
|
139
|
-
pinnedLoginOptions(authType?: "oauth" | "api_key"): readonly PiAuthenticationProviderOption[];
|
|
140
|
-
pinnedLoginMethodOptions(providerReference: string): {
|
|
141
|
-
readonly title: string;
|
|
142
|
-
readonly options: readonly PiWorkflowOption[];
|
|
143
|
-
};
|
|
144
|
-
pinnedAmbientAuthentication(selection: string): ReturnType<PiWorkflowContexts["pinnedAmbientAuthentication"]>;
|
|
145
|
-
pinnedLogoutOptions(): Promise<readonly PiAuthenticationProviderOption[]>;
|
|
146
|
-
pinnedForkOptions(): readonly PiWorkflowOption[];
|
|
147
|
-
/** Bind the owned UI's clipboard lifecycle without changing the comparison host. True means acknowledged delivery. */
|
|
148
|
-
bindClipboardWriter(writer: (text: string) => Promise<boolean>): () => void;
|
|
149
|
-
/** Workflow and tree copying share the active owner's write fence and delivery acknowledgment. */
|
|
150
|
-
copyWorkflowText(text: string): Promise<boolean>;
|
|
151
86
|
abortBashWorkflow(): void;
|
|
152
|
-
executeBashWorkflow(command: string, excludeFromContext: boolean): Promise<PiBashWorkflowResult>;
|
|
153
|
-
reloadBlockedResult(): PiWorkflowResult | null;
|
|
154
87
|
executeWorkflow(request: PiWorkflowRequest): Promise<PiWorkflowResult>;
|
|
155
88
|
/**
|
|
156
89
|
* The theme the engine is configured with, in the engine's own grammar: a
|
|
157
90
|
* theme's name, or a `light/dark` pair meaning "follow the terminal".
|
|
158
91
|
*/
|
|
159
92
|
configuredTheme(): string | undefined;
|
|
160
|
-
/** Persist the global thinking default without changing the live session level. */
|
|
161
|
-
setDefaultThinkingLevel(level: PiPinnedSettingsSnapshot["defaultThinkingLevel"]): void;
|
|
162
93
|
/** Settings port for the live runtime, or null before the runtime is available. */
|
|
163
94
|
settingsPort(): PiSettingsBridge | null;
|
|
164
|
-
/** Which settings surface this adapter serves; hidden-in-bare effects are unbindable in bare mode. */
|
|
165
|
-
get settingsProductMode(): "bare" | "comparison";
|
|
166
|
-
bindSettingsOwner(owner: AgentSettingOwner, handlers: PiSettingOwnerHandlers): () => void;
|
|
167
95
|
pinnedSettingsSnapshot(): PiPinnedSettingsSnapshot;
|
|
168
96
|
clearQueuedWorkflows(): readonly string[];
|
|
169
97
|
view(): OwnedUiSessionViewModel;
|