@timurproko/a1 0.2.7-dev.1249 → 0.2.7-dev.1255
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 +11 -36
- package/bin/cli.js +2 -17
- package/bin/ui.js +10 -51
- package/dist/app/session-shell/clipboard-diagnostics.d.ts +2 -2
- package/dist/app/session-shell/clipboard-image.d.ts +0 -1
- package/dist/app/session-shell/clipboard-image.js +1 -1
- package/dist/app/session-shell/dialog-coordinator.d.ts +6 -5
- package/dist/app/session-shell/dialog-coordinator.js +3 -4
- package/dist/app/session-shell/dock-chrome.d.ts +11 -6
- package/dist/app/session-shell/dock-chrome.js +5 -8
- package/dist/app/session-shell/editor-hyperlink-budget.d.ts +0 -2
- package/dist/app/session-shell/editor-hyperlink-budget.js +1 -1
- package/dist/app/session-shell/exit-notice.d.ts +3 -3
- package/dist/app/session-shell/exit-notice.js +10 -10
- package/dist/app/session-shell/extension-surface.d.ts +8 -7
- package/dist/app/session-shell/helper-pool.d.ts +3 -4
- package/dist/app/session-shell/helper-pool.js +1 -1
- package/dist/app/session-shell/image-preparation-client.d.ts +4 -3
- package/dist/app/session-shell/image-preparation.d.ts +0 -2
- package/dist/app/session-shell/image-preparation.js +2 -2
- package/dist/app/session-shell/image-source.d.ts +2 -3
- package/dist/app/session-shell/image-source.js +2 -2
- package/dist/app/session-shell/input-surface-switch.d.ts +9 -7
- package/dist/app/session-shell/input-surface-switch.js +1 -2
- package/dist/app/session-shell/login-interaction.d.ts +5 -4
- package/dist/app/session-shell/login-interaction.js +2 -3
- package/dist/app/session-shell/paste-executor.d.ts +4 -8
- package/dist/app/session-shell/paste-executor.js +2 -2
- package/dist/app/session-shell/paste-protocol.d.ts +2 -2
- package/dist/app/session-shell/path-chip-presentation.d.ts +0 -5
- package/dist/app/session-shell/path-chip-presentation.js +3 -3
- package/dist/app/session-shell/prompt-chips.d.ts +8 -7
- package/dist/app/session-shell/prompt-history-controller.d.ts +3 -3
- package/dist/app/session-shell/prompt-submission.d.ts +7 -6
- package/dist/app/session-shell/prompt-submission.js +7 -28
- package/dist/app/session-shell/quit-outro-effects.d.ts +3 -3
- package/dist/app/session-shell/quit-outro-effects.js +1 -4
- package/dist/app/session-shell/quit-outro.d.ts +9 -12
- package/dist/app/session-shell/quit-outro.js +11 -11
- package/dist/app/session-shell/response-copy-protocol.d.ts +3 -2
- package/dist/app/session-shell/response-copy-transport.d.ts +2 -14
- package/dist/app/session-shell/response-copy-transport.js +2 -3
- package/dist/app/session-shell/session-lifecycle.d.ts +3 -3
- package/dist/app/session-shell/session-lifecycle.js +2 -4
- package/dist/app/session-shell/session-shell-root.d.ts +74 -120
- package/dist/app/session-shell/session-shell-root.js +82 -115
- package/dist/app/session-shell/session-shell.d.ts +13 -16
- package/dist/app/session-shell/session-shell.js +149 -314
- package/dist/app/session-shell/session-viewport-controller.d.ts +7 -6
- package/dist/app/session-shell/session-viewport-controller.js +5 -8
- package/dist/app/session-shell/settings-bindings.d.ts +24 -2
- package/dist/app/session-shell/settings-bindings.js +24 -0
- package/dist/app/session-shell/share-operation.d.ts +3 -3
- package/dist/app/session-shell/share-operation.js +4 -6
- package/dist/app/session-shell/shell-clipboard.d.ts +59 -0
- package/dist/app/session-shell/shell-clipboard.js +119 -0
- package/dist/app/session-shell/shell-editor-factory.d.ts +8 -4
- package/dist/app/session-shell/shell-editor-factory.js +13 -15
- package/dist/app/session-shell/shell-host.d.ts +16 -17
- package/dist/app/session-shell/shell-host.js +20 -37
- package/dist/app/session-shell/shell-layout.d.ts +2 -2
- package/dist/app/session-shell/shell-prompt-suggestions.d.ts +26 -0
- package/dist/app/session-shell/shell-prompt-suggestions.js +48 -0
- package/dist/app/session-shell/suggestion-surface.d.ts +1 -6
- package/dist/app/session-shell/suggestion-surface.js +1 -1
- package/dist/app/session-shell/system-clipboard.d.ts +2 -14
- package/dist/app/session-shell/system-clipboard.js +2 -7
- package/dist/app/session-shell/transcript-document.d.ts +12 -10
- package/dist/app/session-shell/transcript-document.js +15 -41
- package/dist/app/session-shell/viewport-layout.d.ts +2 -2
- package/dist/app/session-shell/workflow-output.d.ts +5 -3
- package/dist/app/session-shell/workflow-output.js +13 -15
- package/dist/app/session-shell/workflow-router.d.ts +1 -3
- package/dist/app/session-shell/workflow-router.js +1 -4
- package/dist/cli/dispatch.d.ts +1 -11
- package/dist/cli/dispatch.js +5 -92
- package/dist/cli/package-messages.d.ts +0 -1
- package/dist/cli/package-messages.js +1 -1
- package/dist/cli/session-context.d.ts +1 -1
- package/dist/cli/session-context.js +5 -7
- package/dist/cli/uninstall.d.ts +4 -7
- package/dist/cli/uninstall.js +6 -35
- package/dist/cli/version-stats.js +4 -7
- package/dist/composition/owned-settings.d.ts +2 -2
- package/dist/composition/owned-settings.js +0 -4
- package/dist/composition/owned-ui.d.ts +3 -25
- package/dist/composition/owned-ui.js +37 -113
- package/dist/composition/reference-selection-options.d.ts +1 -1
- package/dist/composition/reference-selection-options.js +1 -1
- package/dist/composition/release-update-observation.d.ts +4 -4
- package/dist/composition/release-update-observation.js +17 -47
- package/dist/composition/session-backend.d.ts +0 -1
- package/dist/composition/session-runtime-registry.d.ts +5 -4
- package/dist/composition/settings-route-host.d.ts +0 -7
- package/dist/composition/settings-route-host.js +7 -20
- package/dist/composition/settings-search-input.d.ts +2 -1
- package/dist/composition/startup-route.d.ts +2 -3
- package/dist/composition/startup-route.js +2 -3
- package/dist/contracts/owned-ui/extension-ui.d.ts +2 -1
- package/dist/contracts/owned-ui/index.d.ts +2 -1
- package/dist/contracts/owned-ui/model.d.ts +0 -3
- package/dist/contracts/owned-ui/session-presenters.d.ts +3 -0
- package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
- package/dist/contracts/owned-ui/shell-components.d.ts +543 -0
- package/dist/contracts/presentation/component.d.ts +17 -0
- package/dist/contracts/presentation/component.js +8 -0
- package/dist/contracts/presentation/index.d.ts +6 -15
- package/dist/contracts/presentation/index.js +2 -0
- package/dist/contracts/presentation/terminal.d.ts +290 -0
- package/dist/contracts/presentation/theme.d.ts +46 -0
- package/dist/features/launch/development-launch.js +1 -2
- package/dist/features/launch/index.d.ts +1 -1
- package/dist/features/launch/intent.d.ts +1 -3
- package/dist/features/launch/intent.js +2 -4
- package/dist/features/launch/runtime-selection.d.ts +2 -2
- package/dist/features/launch/runtime-selection.js +2 -2
- package/dist/features/launch/session-context.d.ts +2 -2
- package/dist/features/owned-ui/project-trust-prompt.d.ts +2 -2
- package/dist/features/owned-ui/project-trust-prompt.js +1 -1
- package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
- package/dist/features/owned-ui/reference-screen-app.js +2 -9
- package/dist/features/owned-ui/release-note-state.d.ts +2 -1
- package/dist/features/owned-ui/settings-app.d.ts +0 -6
- package/dist/features/owned-ui/settings-app.js +42 -254
- package/dist/features/owned-ui/settings-edits.d.ts +31 -0
- package/dist/features/owned-ui/settings-edits.js +139 -0
- package/dist/features/owned-ui/settings-scroll-rail.d.ts +29 -0
- package/dist/features/owned-ui/settings-scroll-rail.js +79 -0
- package/dist/features/owned-ui/settings-search-input.d.ts +2 -1
- package/dist/features/prompt-history/service.d.ts +3 -2
- package/dist/foundation/launch-context/index.d.ts +0 -12
- package/dist/foundation/launch-context/index.js +0 -26
- package/dist/foundation/lifecycle/claim-gate.d.ts +9 -0
- package/dist/foundation/lifecycle/claim-gate.js +37 -0
- package/dist/foundation/lifecycle/index.d.ts +5 -9
- package/dist/foundation/lifecycle/index.js +3 -4
- package/dist/foundation/lifecycle/model.d.ts +2 -59
- package/dist/foundation/lifecycle/model.js +0 -35
- package/dist/foundation/lifecycle/paths.d.ts +0 -24
- package/dist/foundation/lifecycle/paths.js +0 -40
- package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
- package/dist/foundation/lifecycle/process-liveness.js +18 -0
- package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
- package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
- package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
- package/dist/foundation/lifecycle/session-repository-context.js +2 -3
- package/dist/foundation/release/automatic-update.d.ts +6 -17
- package/dist/foundation/release/automatic-update.js +23 -44
- package/dist/foundation/release/bootstrap.d.ts +2 -25
- package/dist/foundation/release/bootstrap.js +37 -348
- package/dist/foundation/release/dependency-certification.d.ts +1 -2
- package/dist/foundation/release/dependency-certification.js +1 -1
- package/dist/foundation/release/early-accent.d.ts +2 -2
- package/dist/foundation/release/early-accent.js +1 -1
- package/dist/foundation/release/index.d.ts +10 -17
- package/dist/foundation/release/index.js +7 -11
- package/dist/foundation/release/latest-release.d.ts +3 -19
- package/dist/foundation/release/latest-release.js +11 -12
- package/dist/foundation/release/ordinary-launch-selection.d.ts +1 -1
- package/dist/foundation/release/ordinary-launch-selection.js +1 -1
- package/dist/foundation/release/process-liveness.d.ts +2 -0
- package/dist/foundation/release/process-liveness.js +12 -0
- package/dist/foundation/release/release-gc.d.ts +13 -10
- package/dist/foundation/release/release-gc.js +37 -101
- package/dist/foundation/release/{cohort-state.d.ts → release-state.d.ts} +44 -69
- package/dist/foundation/release/{cohort-state.js → release-state.js} +38 -70
- package/dist/foundation/release/release-store.d.ts +2 -2
- package/dist/foundation/release/release-store.js +2 -2
- package/dist/foundation/release/restart-certification.js +1 -1
- package/dist/foundation/release/update-activation.d.ts +2 -9
- package/dist/foundation/release/update-activation.js +30 -45
- package/dist/foundation/release/update-execution-lease.d.ts +2 -3
- package/dist/foundation/release/update-execution-lease.js +2 -2
- package/dist/foundation/release/update-launch.d.ts +2 -4
- package/dist/foundation/release/update-launch.js +0 -7
- package/dist/foundation/release/update-recovery.js +1 -1
- package/dist/foundation/release/update-transaction.d.ts +1 -1
- package/dist/foundation/release/update-transaction.js +5 -2
- package/dist/foundation/release/update.d.ts +2 -12
- package/dist/foundation/release/update.js +37 -214
- package/dist/foundation/session-writer-lock/index.d.ts +14 -6
- package/dist/foundation/session-writer-lock/index.js +48 -103
- package/dist/foundation/startup/startup-budget.d.ts +5 -5
- package/dist/foundation/startup/startup-budget.js +2 -2
- package/dist/foundation/startup/startup-runtime.d.ts +1 -1
- package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
- package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
- package/dist/foundation/terminal-cleanup/index.js +2 -1
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
- package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
- package/dist/integrations/pi/components/editor-interaction.d.ts +4 -12
- package/dist/integrations/pi/components/index.d.ts +15 -9
- package/dist/integrations/pi/components/index.js +9 -5
- package/dist/integrations/pi/components/lazy-selectors.d.ts +2 -10
- package/dist/integrations/pi/components/lazy-selectors.js +1 -1
- package/dist/integrations/pi/components/modal-frame.d.ts +5 -22
- package/dist/integrations/pi/components/modal-frame.js +3 -23
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +4 -3
- package/dist/integrations/pi/components/prompt-input-port.d.ts +2 -19
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -1
- package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +3 -2
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
- package/dist/integrations/pi/components/shell-footer-status.d.ts +3 -3
- package/dist/integrations/pi/components/shell-footer-status.js +5 -4
- package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +6 -8
- package/dist/integrations/pi/components/shell-presenters-info.js +6 -19
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
- package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
- package/dist/integrations/pi/components/shell-session-info-reference.d.ts +2 -1
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +33 -229
- package/dist/integrations/pi/components/shell-shared-facade.js +8 -1
- package/dist/integrations/pi/components/skills-command.d.ts +1 -9
- package/dist/integrations/pi/components/skills-command.js +5 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
- package/dist/integrations/pi/components/theme.d.ts +9 -2
- package/dist/integrations/pi/components/theme.js +17 -2
- package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +2 -1
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
- package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
- package/dist/integrations/pi/engine/adapter.d.ts +3 -6
- package/dist/integrations/pi/engine/adapter.js +4 -28
- package/dist/integrations/pi/engine/changelog.d.ts +2 -2
- package/dist/integrations/pi/engine/changelog.js +3 -3
- package/dist/integrations/pi/engine/compaction-progress.d.ts +2 -3
- package/dist/integrations/pi/engine/compaction-progress.js +1 -1
- package/dist/integrations/pi/engine/conformance.d.ts +2 -1
- package/dist/integrations/pi/engine/default-model-setting.d.ts +0 -2
- package/dist/integrations/pi/engine/default-model-setting.js +1 -2
- package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
- package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
- package/dist/integrations/pi/engine/event-delivery.d.ts +2 -1
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
- package/dist/integrations/pi/engine/host.js +2 -2
- package/dist/integrations/pi/engine/message-values.d.ts +0 -1
- package/dist/integrations/pi/engine/message-values.js +1 -1
- package/dist/integrations/pi/engine/pending-delivery.d.ts +0 -4
- package/dist/integrations/pi/engine/pending-delivery.js +3 -3
- package/dist/integrations/pi/engine/ports.d.ts +7 -1
- package/dist/integrations/pi/engine/ports.js +4 -0
- package/dist/integrations/pi/engine/project-trust-preflight.d.ts +2 -1
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +3 -3
- package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
- package/dist/integrations/pi/engine/provider-authentication.d.ts +1 -1
- package/dist/integrations/pi/engine/public-main-entry.d.ts +1 -5
- package/dist/integrations/pi/engine/public-main-entry.js +1 -1
- package/dist/integrations/pi/engine/repository-pr-rest.d.ts +1 -9
- package/dist/integrations/pi/engine/repository-pr-rest.js +2 -2
- package/dist/integrations/pi/engine/repository-pr.d.ts +1 -3
- package/dist/integrations/pi/engine/repository-pr.js +1 -1
- package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
- package/dist/integrations/pi/engine/session-integration.d.ts +1 -1
- package/dist/integrations/pi/engine/session-runtime.d.ts +4 -3
- package/dist/integrations/pi/engine/session-runtime.js +0 -2
- package/dist/integrations/pi/engine/settings-bridge.d.ts +0 -2
- package/dist/integrations/pi/engine/settings-bridge.js +1 -1
- package/dist/integrations/pi/engine/settings-port.d.ts +3 -2
- package/dist/integrations/pi/engine/transcript-projection.d.ts +2 -1
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +1 -1
- package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -1
- package/dist/integrations/pi/engine/workflow-runner.js +1 -1
- package/dist/integrations/pi/engine/workflow-support.d.ts +0 -6
- package/dist/integrations/pi/engine/workflow-support.js +4 -18
- package/dist/integrations/pi/engine/workflows.d.ts +5 -5
- package/dist/integrations/pi/session-presenters/components.d.ts +3 -0
- package/dist/integrations/pi/session-presenters/components.js +75 -0
- package/dist/integrations/pi/session-presenters/index.d.ts +1 -0
- package/dist/integrations/pi/session-presenters/index.js +1 -0
- package/dist/integrations/pi/session-presenters/presentation.d.ts +3 -0
- package/dist/integrations/pi/session-presenters/presentation.js +10 -0
- package/dist/integrations/pi/session-presenters/presenters.d.ts +2 -1
- package/dist/integrations/pi/session-presenters/presenters.js +3 -1
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
- package/dist/integrations/pi/tui-runtime/adapter.js +23 -32
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +22 -166
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +5 -40
- package/dist/integrations/pi/tui-runtime/index.d.ts +1 -0
- package/dist/integrations/pi/tui-runtime/index.js +1 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +4 -6
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -8
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +3 -9
- package/dist/integrations/pi/tui-runtime/runtime-factory.d.ts +3 -0
- package/dist/integrations/pi/tui-runtime/runtime-factory.js +11 -0
- package/dist/product-identity.d.ts +4 -6
- package/dist/product-identity.js +6 -11
- package/dist/product-identity.json +1 -40
- package/dist/runtime-payload-inventory.json +0 -3
- package/dist/ui/components/index.d.ts +4 -4
- package/dist/ui/components/index.js +2 -2
- package/dist/ui/components/selection-copy.d.ts +0 -1
- package/dist/ui/components/selection-copy.js +0 -12
- package/dist/ui/components/submitted-prompt.d.ts +3 -13
- package/dist/ui/components/submitted-prompt.js +8 -41
- package/dist/ui/components/theme.d.ts +4 -19
- package/dist/ui/components/theme.js +6 -0
- package/dist/ui/components/transcript-viewport.d.ts +1 -3
- package/dist/ui/components/transcript-viewport.js +1 -4
- package/dist/ui/settings/declarations.d.ts +2 -97
- package/dist/ui/settings/declarations.js +2 -78
- package/dist/ui/settings/early-accent.js +1 -1
- package/dist/ui/settings/index.d.ts +3 -5
- package/dist/ui/settings/index.js +2 -3
- package/dist/ui/settings/manager.d.ts +0 -4
- package/dist/ui/settings/manager.js +6 -62
- package/dist/ui/settings/resolution.d.ts +6 -18
- package/dist/ui/settings/resolution.js +4 -103
- package/dist/ui/settings/sections.d.ts +0 -4
- package/dist/ui/settings/sections.js +1 -1
- package/docs/architecture/boundaries.md +23 -40
- package/docs/architecture/code-documentation.md +2 -2
- package/docs/architecture/internal-naming.md +11 -17
- package/docs/architecture/project-structure.md +13 -16
- package/docs/architecture/resource-and-data-policy.md +16 -31
- package/docs/architecture/toolchain.md +14 -19
- package/docs/architecture/ui-reference-provenance.md +2 -2
- package/docs/ci-release-runbook.md +5 -5
- package/docs/features/launch-profiles.md +11 -17
- package/docs/features/prompt-history.md +10 -11
- package/docs/local-worktree-cleanup.md +28 -1
- package/docs/manual-owned-ui-checkpoint.md +0 -1
- package/docs/validation.md +5 -11
- package/docs/worktree-link-recovery.md +6 -6
- package/package.json +7 -20
- package/bin/guardian.js +0 -42
- package/bin/supervisor.js +0 -7
- package/bin/tab-launch-context.d.ts +0 -27
- package/bin/tab-launch-context.js +0 -94
- package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
- package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
- package/dist/cli/tabs-request.d.ts +0 -7
- package/dist/cli/tabs.d.ts +0 -14
- package/dist/cli/tabs.js +0 -151
- package/dist/composition/resident-tab-bridge.d.ts +0 -41
- package/dist/composition/resident-tab-bridge.js +0 -209
- package/dist/composition/utility-tab.d.ts +0 -28
- package/dist/composition/utility-tab.js +0 -244
- package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
- package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
- package/dist/features/resident-tab/auto-name.d.ts +0 -11
- package/dist/features/resident-tab/auto-name.js +0 -44
- package/dist/features/resident-tab/index.d.ts +0 -5
- package/dist/features/resident-tab/index.js +0 -7
- package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
- package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
- package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
- package/dist/features/resident-tab/shortcut-declarations.js +0 -26
- package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
- package/dist/features/resident-tab/shortcut-projection.js +0 -64
- package/dist/features/resident-tab/status-deriver.d.ts +0 -10
- package/dist/features/resident-tab/status-deriver.js +0 -12
- package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
- package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
- package/dist/foundation/launch-guardian/index.d.ts +0 -2
- package/dist/foundation/launch-guardian/index.js +0 -1
- package/dist/foundation/launch-guardian/main.d.ts +0 -39
- package/dist/foundation/launch-guardian/main.js +0 -232
- package/dist/foundation/lifecycle/commands.d.ts +0 -40
- package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
- package/dist/foundation/lifecycle/launch-instance.js +0 -134
- package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
- package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
- package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
- package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
- package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
- package/dist/foundation/process-containment/addon-containment.js +0 -139
- package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
- package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
- package/dist/foundation/process-containment/addon.d.ts +0 -47
- package/dist/foundation/process-containment/addon.js +0 -57
- package/dist/foundation/process-containment/artifact.d.ts +0 -1
- package/dist/foundation/process-containment/artifact.js +0 -35
- package/dist/foundation/process-containment/contracts.d.ts +0 -33
- package/dist/foundation/process-containment/contracts.js +0 -35
- package/dist/foundation/process-containment/index.d.ts +0 -9
- package/dist/foundation/process-containment/index.js +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
- package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
- package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
- package/dist/foundation/process-containment/native-process-inspector.js +0 -21
- package/dist/foundation/protocol/client.d.ts +0 -18
- package/dist/foundation/protocol/client.js +0 -130
- package/dist/foundation/protocol/index.d.ts +0 -3
- package/dist/foundation/protocol/index.js +0 -2
- package/dist/foundation/protocol/messages.d.ts +0 -90
- package/dist/foundation/protocol/messages.js +0 -100
- package/dist/foundation/release/cohort-selection.d.ts +0 -33
- package/dist/foundation/release/cohort-selection.js +0 -67
- package/dist/foundation/release/endpoint-lock.d.ts +0 -2
- package/dist/foundation/release/endpoint-lock.js +0 -37
- package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
- package/dist/foundation/release/endpoint-recovery.js +0 -45
- package/dist/foundation/release/endpoints.d.ts +0 -32
- package/dist/foundation/release/endpoints.js +0 -152
- package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
- package/dist/foundation/release/prepared-update-activation.js +0 -27
- package/dist/foundation/release/process-cleanup.d.ts +0 -14
- package/dist/foundation/release/process-cleanup.js +0 -76
- package/dist/foundation/release/supervisor-identity.d.ts +0 -15
- package/dist/foundation/release/supervisor-identity.js +0 -63
- package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
- package/dist/foundation/resident-tabs/boot-identity.js +0 -16
- package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
- package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
- package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
- package/dist/foundation/resident-tabs/bridge-client.js +0 -327
- package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
- package/dist/foundation/resident-tabs/continuity.js +0 -63
- package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
- package/dist/foundation/resident-tabs/doctor.js +0 -166
- package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
- package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
- package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
- package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
- package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
- package/dist/foundation/resident-tabs/fault-injection.js +0 -26
- package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
- package/dist/foundation/resident-tabs/fixture-control.js +0 -35
- package/dist/foundation/resident-tabs/host-entry.js +0 -17
- package/dist/foundation/resident-tabs/index.d.ts +0 -15
- package/dist/foundation/resident-tabs/index.js +0 -10
- package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
- package/dist/foundation/resident-tabs/maintenance.js +0 -75
- package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
- package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
- package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
- package/dist/foundation/resident-tabs/progress-observation.js +0 -150
- package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
- package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
- package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
- package/dist/foundation/resident-tabs/protocol.js +0 -195
- package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
- package/dist/foundation/resident-tabs/recovery.js +0 -205
- package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
- package/dist/foundation/resident-tabs/release-holds.js +0 -78
- package/dist/foundation/resident-tabs/routes.d.ts +0 -5
- package/dist/foundation/resident-tabs/routes.js +0 -5
- package/dist/foundation/resident-tabs/routing.d.ts +0 -11
- package/dist/foundation/resident-tabs/routing.js +0 -10
- package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
- package/dist/foundation/resident-tabs/runtime-control.js +0 -74
- package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
- package/dist/foundation/resident-tabs/session-sync.js +0 -37
- package/dist/foundation/resident-tabs/settings.d.ts +0 -16
- package/dist/foundation/resident-tabs/settings.js +0 -60
- package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
- package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
- package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
- package/dist/foundation/resident-tabs/zip-archive.js +0 -56
- package/dist/foundation/storage/control-store.d.ts +0 -20
- package/dist/foundation/storage/control-store.js +0 -331
- package/dist/foundation/storage/index.d.ts +0 -1
- package/dist/foundation/storage/index.js +0 -1
- package/dist/foundation/supervision/index.d.ts +0 -3
- package/dist/foundation/supervision/index.js +0 -3
- package/dist/foundation/supervision/main.d.ts +0 -1
- package/dist/foundation/supervision/main.js +0 -86
- package/dist/foundation/supervision/paths.d.ts +0 -1
- package/dist/foundation/supervision/paths.js +0 -1
- package/dist/foundation/supervision/server.d.ts +0 -46
- package/dist/foundation/supervision/server.js +0 -611
- package/dist/integrations/pi/components/components.d.ts +0 -4
- package/dist/integrations/pi/components/components.js +0 -48
- package/dist/integrations/pi/components/conformance.d.ts +0 -18
- package/dist/integrations/pi/components/conformance.js +0 -70
- package/dist/integrations/pi/components/shell-components.d.ts +0 -7
- package/dist/integrations/pi/components/shell-components.js +0 -7
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +0 -33
- package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -114
- package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
- package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
- package/dist/native/darwin-arm64/manifest.json +0 -23
- package/dist/native/darwin-arm64/process-guardian.node +0 -0
- package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
- package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-arm64/terminal-host.node +0 -0
- package/dist/native/darwin-x64/manifest.json +0 -23
- package/dist/native/darwin-x64/process-guardian.node +0 -0
- package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
- package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
- package/dist/native/darwin-x64/terminal-host.node +0 -0
- package/dist/native/linux-x64/manifest.json +0 -23
- package/dist/native/linux-x64/process-guardian.node +0 -0
- package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
- package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
- package/dist/native/linux-x64/terminal-host.node +0 -0
- package/dist/native/win32-x64/manifest.json +0 -23
- package/dist/native/win32-x64/process-guardian.node +0 -0
- package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
- package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
- package/dist/native/win32-x64/terminal-host.node +0 -0
- package/dist/ui/settings/migrations.d.ts +0 -19
- package/dist/ui/settings/migrations.js +0 -209
- package/dist/ui/settings/progress-palette.generated.d.ts +0 -139
- package/dist/ui/settings/progress-palette.generated.js +0 -139
- package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
- package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
- package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
- package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
- package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
- package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
- package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
- package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
- package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
- package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
- package/docs/architecture/native-fixture-isolation.md +0 -23
- package/docs/architecture/process-guardian-provenance.md +0 -36
- package/docs/architecture/resident-tabs-requirements.md +0 -18
- package/docs/architecture/resident-tabs.md +0 -668
- package/docs/architecture/terminal-host-proof-gate.md +0 -34
- package/docs/architecture/terminal-host-provenance.md +0 -81
- package/docs/architecture/terminal-host-spike-evidence.md +0 -39
- package/docs/launch-recovery.md +0 -23
- package/docs/manual-launch-instance-acceptance.md +0 -43
- package/docs/manual-resident-tabs-acceptance.md +0 -51
- /package/dist/{cli/tabs-request.js → contracts/owned-ui/shell-components.js} +0 -0
- /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.d.ts +0 -0
- /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.js +0 -0
- /package/dist/{foundation/lifecycle/commands.js → contracts/presentation/terminal.js} +0 -0
- /package/dist/{foundation/resident-tabs/host-entry.d.ts → contracts/presentation/theme.js} +0 -0
|
@@ -12,8 +12,8 @@ const LEGACY_KEY_BYTES = {
|
|
|
12
12
|
space: " ", "ctrl+c": "\u0003", "ctrl+z": "\u001a",
|
|
13
13
|
};
|
|
14
14
|
/**
|
|
15
|
-
* Re-encodes one key report decoded by pi-tui in the legacy form, so a kitty-keyboard
|
|
16
|
-
*
|
|
15
|
+
* Re-encodes one key report decoded by pi-tui in the legacy form, so a kitty-keyboard terminal
|
|
16
|
+
* and a legacy terminal produce the same owned-screen action. Releases decode
|
|
17
17
|
* to nothing; mouse reports, paste, and unknown sequences pass through unchanged.
|
|
18
18
|
*/
|
|
19
19
|
export function legacyKeyInput(data) {
|
|
@@ -136,8 +136,6 @@ export class PiTuiRuntimeAdapter {
|
|
|
136
136
|
#preInputListeners = new Set();
|
|
137
137
|
#consumeUnhandledMouse;
|
|
138
138
|
#inputCoordinator;
|
|
139
|
-
#inputDiagnostics;
|
|
140
|
-
#diagnosticNow;
|
|
141
139
|
#inputSink;
|
|
142
140
|
#state = "idle";
|
|
143
141
|
#stopPromise;
|
|
@@ -149,15 +147,14 @@ export class PiTuiRuntimeAdapter {
|
|
|
149
147
|
this.#overlayGeometry = options.onOverlayGeometry === undefined ? undefined : new OverlayGeometryTracker(options.onOverlayGeometry);
|
|
150
148
|
this.#terminal = options.terminal ?? new ProcessTerminal();
|
|
151
149
|
this.#consumeUnhandledMouse = options.consumeUnhandledMouse ?? false;
|
|
152
|
-
|
|
153
|
-
|
|
150
|
+
const diagnostics = options.inputDiagnostics;
|
|
151
|
+
const diagnosticNow = diagnostics?.now ?? (() => performance.now());
|
|
152
|
+
const tracePhase = diagnostics === undefined ? undefined : runtimePhaseTracer(diagnostics, diagnosticNow, () => this.#inputCoordinator);
|
|
154
153
|
// Invariant: the pinned renderer's frames pass through this gate, while writeControl and
|
|
155
154
|
// the stop sequence reach the terminal directly. Freezing drops frames without touching
|
|
156
155
|
// the renderer, so a scheduled repaint cannot land on top of the quit outro.
|
|
157
156
|
const gatedTerminal = frozenGateTerminal(this.#terminal, () => this.#presentationFrozen || this.#presentationHolds.size > 0);
|
|
158
|
-
const tracedTerminal =
|
|
159
|
-
? gatedTerminal
|
|
160
|
-
: diagnosticTerminal(gatedTerminal, phase => this.#traceRuntimePhase(phase));
|
|
157
|
+
const tracedTerminal = tracePhase === undefined ? gatedTerminal : diagnosticTerminal(gatedTerminal, tracePhase);
|
|
161
158
|
const decoratedTerminal = options.decorateTerminal?.(tracedTerminal) ?? tracedTerminal;
|
|
162
159
|
const coordination = options.inputCoordination ?? (options.inputDiagnostics === undefined
|
|
163
160
|
? undefined
|
|
@@ -173,10 +170,8 @@ export class PiTuiRuntimeAdapter {
|
|
|
173
170
|
},
|
|
174
171
|
...(coordination.onReceipt === undefined ? {} : { onReceipt: coordination.onReceipt }),
|
|
175
172
|
...(coordination.scheduler === undefined ? {} : { scheduler: coordination.scheduler }),
|
|
176
|
-
now:
|
|
177
|
-
...(
|
|
178
|
-
onTrace: event => this.#traceInputCoordination(event),
|
|
179
|
-
}),
|
|
173
|
+
now: diagnosticNow,
|
|
174
|
+
...(diagnostics === undefined ? {} : { onTrace: event => diagnostics.onEvent(event) }),
|
|
180
175
|
});
|
|
181
176
|
this.#tuiTerminal = this.#inputCoordinator === undefined
|
|
182
177
|
? preInputTerminal(decoratedTerminal, data => this.#routePreInput(data), this.#overlayGeometry !== undefined)
|
|
@@ -187,9 +182,7 @@ export class PiTuiRuntimeAdapter {
|
|
|
187
182
|
this.#tuiTerminal.restoreOnExit = (before, after) => exitTerminal.restoreOnExit?.(before, after);
|
|
188
183
|
this.#layoutRoot = options.layoutRoot;
|
|
189
184
|
this.#logDirectory = options.logDirectory;
|
|
190
|
-
this.#rootBridge = new ComponentBridge(options.root,
|
|
191
|
-
? undefined
|
|
192
|
-
: phase => this.#traceRuntimePhase(phase));
|
|
185
|
+
this.#rootBridge = new ComponentBridge(options.root, tracePhase);
|
|
193
186
|
this.#bridges.set(options.root, this.#rootBridge);
|
|
194
187
|
this.#mountedComponents.add(options.root);
|
|
195
188
|
try {
|
|
@@ -560,22 +553,6 @@ export class PiTuiRuntimeAdapter {
|
|
|
560
553
|
}
|
|
561
554
|
return undefined;
|
|
562
555
|
}
|
|
563
|
-
#traceInputCoordination(event) {
|
|
564
|
-
this.#inputDiagnostics?.onEvent(event);
|
|
565
|
-
}
|
|
566
|
-
#traceRuntimePhase(phase) {
|
|
567
|
-
if (this.#inputDiagnostics === undefined)
|
|
568
|
-
return;
|
|
569
|
-
const coordinator = this.#inputCoordinator;
|
|
570
|
-
this.#inputDiagnostics.onEvent({
|
|
571
|
-
phase,
|
|
572
|
-
revision: coordinator?.appliedRevision ?? 0,
|
|
573
|
-
atMs: this.#diagnosticNow(),
|
|
574
|
-
pendingDepth: coordinator?.pendingDepth ?? 0,
|
|
575
|
-
pendingPresentationDepth: coordinator?.pendingPresentation === true ? 1 : 0,
|
|
576
|
-
appliedRevision: coordinator?.appliedRevision ?? 0,
|
|
577
|
-
});
|
|
578
|
-
}
|
|
579
556
|
#mountTui(tui) {
|
|
580
557
|
tui.addChild(this.#rootBridge);
|
|
581
558
|
if (tui instanceof TuiAltScreen && this.#layoutRoot !== undefined) {
|
|
@@ -854,3 +831,17 @@ function toOverlayOptions(options) {
|
|
|
854
831
|
mapped.nonCapturing = options.nonCapturing;
|
|
855
832
|
return mapped;
|
|
856
833
|
}
|
|
834
|
+
/** Reports one runtime phase with the input coordinator's depth and revision at that moment. */
|
|
835
|
+
function runtimePhaseTracer(diagnostics, now, coordinator) {
|
|
836
|
+
return phase => {
|
|
837
|
+
const current = coordinator();
|
|
838
|
+
diagnostics.onEvent({
|
|
839
|
+
phase,
|
|
840
|
+
revision: current?.appliedRevision ?? 0,
|
|
841
|
+
atMs: now(),
|
|
842
|
+
pendingDepth: current?.pendingDepth ?? 0,
|
|
843
|
+
pendingPresentationDepth: current?.pendingPresentation === true ? 1 : 0,
|
|
844
|
+
appliedRevision: current?.appliedRevision ?? 0,
|
|
845
|
+
});
|
|
846
|
+
};
|
|
847
|
+
}
|
|
@@ -1,166 +1,22 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export type
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
export type
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
export
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
write(data: string): void;
|
|
24
|
-
readonly columns: number;
|
|
25
|
-
readonly rows: number;
|
|
26
|
-
readonly kittyProtocolActive: boolean;
|
|
27
|
-
moveBy(lines: number): void;
|
|
28
|
-
hideCursor(): void;
|
|
29
|
-
showCursor(): void;
|
|
30
|
-
clearLine(): void;
|
|
31
|
-
clearFromCursor(): void;
|
|
32
|
-
clearScreen(): void;
|
|
33
|
-
setTitle(title: string): void;
|
|
34
|
-
setProgress(active: boolean): void;
|
|
35
|
-
/** Optional for neutral test/decorator ports; the Pi-facing adapter always supplies it. */
|
|
36
|
-
setProgramStatus?(status: ProgramStatus): void;
|
|
37
|
-
/**
|
|
38
|
-
* Optional synchronous last-resort mode restore that Pi TUI invokes from a process `exit` handler when
|
|
39
|
-
* `stop()` did not run; the runtime adapter binds it to the undecorated terminal, so decorators need not forward it.
|
|
40
|
-
*/
|
|
41
|
-
restoreOnExit?(before: string, after: string): void;
|
|
42
|
-
}
|
|
43
|
-
export type PiTuiSizeValue = number | `${number}%`;
|
|
44
|
-
export type PiTuiOverlayAnchor = "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center" | "left-center" | "right-center";
|
|
45
|
-
export interface PiTuiOverlayMargin {
|
|
46
|
-
readonly top?: number;
|
|
47
|
-
readonly right?: number;
|
|
48
|
-
readonly bottom?: number;
|
|
49
|
-
readonly left?: number;
|
|
50
|
-
}
|
|
51
|
-
export interface PiTuiOverlayOptions {
|
|
52
|
-
readonly width?: PiTuiSizeValue;
|
|
53
|
-
readonly minWidth?: number;
|
|
54
|
-
readonly maxHeight?: PiTuiSizeValue;
|
|
55
|
-
readonly anchor?: PiTuiOverlayAnchor;
|
|
56
|
-
readonly offsetX?: number;
|
|
57
|
-
readonly offsetY?: number;
|
|
58
|
-
readonly row?: PiTuiSizeValue;
|
|
59
|
-
readonly col?: PiTuiSizeValue;
|
|
60
|
-
readonly margin?: PiTuiOverlayMargin | number;
|
|
61
|
-
readonly visible?: (columns: number, rows: number) => boolean;
|
|
62
|
-
readonly nonCapturing?: boolean;
|
|
63
|
-
/** A1-owned input scheduling declaration; omitted extension overlays fail closed. */
|
|
64
|
-
readonly inputCoordination?: Exclude<PiTuiInputSurfaceKind, "editor">;
|
|
65
|
-
}
|
|
66
|
-
export interface PiTuiOverlayUnfocusOptions {
|
|
67
|
-
readonly target: PiTuiComponentPort | null;
|
|
68
|
-
}
|
|
69
|
-
export interface PiTuiOverlayHandle {
|
|
70
|
-
hide(): void;
|
|
71
|
-
setHidden(hidden: boolean): void;
|
|
72
|
-
isHidden(): boolean;
|
|
73
|
-
focus(): void;
|
|
74
|
-
unfocus(options?: PiTuiOverlayUnfocusOptions): void;
|
|
75
|
-
isFocused(): boolean;
|
|
76
|
-
/** The most recently rendered terminal-relative rectangle of a visible overlay. */
|
|
77
|
-
getBounds(): {
|
|
78
|
-
readonly row: number;
|
|
79
|
-
readonly col: number;
|
|
80
|
-
readonly width: number;
|
|
81
|
-
readonly height: number;
|
|
82
|
-
} | undefined;
|
|
83
|
-
}
|
|
84
|
-
export interface PiTuiInputListenerResult {
|
|
85
|
-
readonly consume?: boolean;
|
|
86
|
-
readonly data?: string;
|
|
87
|
-
}
|
|
88
|
-
export type PiTuiInputListener = (data: string) => PiTuiInputListenerResult | undefined;
|
|
89
|
-
/** Runs at the terminal bridge before Pi TUI receives physical input. */
|
|
90
|
-
export type PiTuiPreInputListener = PiTuiInputListener;
|
|
91
|
-
export interface PiTuiLayoutEntry {
|
|
92
|
-
readonly node: PiTuiLayoutNode;
|
|
93
|
-
readonly basis?: number | "auto";
|
|
94
|
-
readonly grow?: number;
|
|
95
|
-
readonly shrink?: number;
|
|
96
|
-
readonly minSize?: number;
|
|
97
|
-
readonly maxSize?: number;
|
|
98
|
-
readonly visible?: (viewport: PiTuiViewport) => boolean;
|
|
99
|
-
}
|
|
100
|
-
export type PiTuiLayoutNode = {
|
|
101
|
-
readonly type: "component";
|
|
102
|
-
readonly component: PiTuiComponentPort;
|
|
103
|
-
} | {
|
|
104
|
-
readonly type: "stack";
|
|
105
|
-
readonly direction: "vertical" | "horizontal";
|
|
106
|
-
readonly children: readonly PiTuiLayoutEntry[];
|
|
107
|
-
readonly gap?: number;
|
|
108
|
-
readonly align?: "stretch" | "start" | "center" | "end";
|
|
109
|
-
} | {
|
|
110
|
-
readonly type: "scroll";
|
|
111
|
-
readonly id: string;
|
|
112
|
-
readonly child: PiTuiLayoutNode;
|
|
113
|
-
readonly follow?: "none" | "end";
|
|
114
|
-
readonly primary?: boolean;
|
|
115
|
-
readonly overscroll?: "chain" | "contain";
|
|
116
|
-
readonly scrollbar?: "hidden" | "auto" | "always";
|
|
117
|
-
/** Styles the scrollbar track; the pinned runtime draws it as foreground text. */
|
|
118
|
-
readonly scrollbarTrackStyle?: (text: string) => string;
|
|
119
|
-
/** Styles the scrollbar thumb; the pinned runtime draws it as foreground text. */
|
|
120
|
-
readonly scrollbarThumbStyle?: (text: string) => string;
|
|
121
|
-
readonly scrollbarHideDelayMs?: number;
|
|
122
|
-
};
|
|
123
|
-
export type PiTuiInputDiagnosticsPhase = "receipt" | "semantic-start" | "semantic-end" | "composition-start" | "composition-end" | "write-start" | "write-end";
|
|
124
|
-
export interface PiTuiInputDiagnosticsEvent {
|
|
125
|
-
readonly phase: PiTuiInputDiagnosticsPhase;
|
|
126
|
-
readonly revision: number;
|
|
127
|
-
readonly atMs: number;
|
|
128
|
-
readonly pendingDepth: number;
|
|
129
|
-
readonly pendingPresentationDepth: 0 | 1;
|
|
130
|
-
readonly appliedRevision: number;
|
|
131
|
-
}
|
|
132
|
-
export interface PiTuiRuntimeAdapterOptions {
|
|
133
|
-
readonly root: PiTuiComponentPort;
|
|
134
|
-
/** Bare viewport only: painted overlays in back-to-front order; null while geometry is stale. */
|
|
135
|
-
readonly onOverlayGeometry?: (surfaces: readonly PiTuiPointerSurface[] | null) => void;
|
|
136
|
-
readonly mode?: "regular" | "fullscreen";
|
|
137
|
-
readonly layoutRoot?: PiTuiLayoutNode;
|
|
138
|
-
readonly terminal?: PiTuiTerminalPort;
|
|
139
|
-
/** A1-owned public-boundary decorator; comparison paths omit it. */
|
|
140
|
-
readonly decorateTerminal?: (terminal: PiTuiTerminalPort) => PiTuiTerminalPort;
|
|
141
|
-
/** Bare-custom-viewport scheduling policy; comparison paths omit it. */
|
|
142
|
-
readonly inputCoordination?: {
|
|
143
|
-
readonly classify: (data: string, focusedOverlay?: Exclude<PiTuiInputSurfaceKind, "editor">) => PiTuiInputCoordinationDecision;
|
|
144
|
-
readonly onReceipt?: () => void;
|
|
145
|
-
readonly scheduler?: PiTuiInputCoordinationScheduler;
|
|
146
|
-
};
|
|
147
|
-
/** Optional bounded evidence hook. Production composition omits it. */
|
|
148
|
-
readonly inputDiagnostics?: {
|
|
149
|
-
readonly onEvent: (event: PiTuiInputDiagnosticsEvent) => void;
|
|
150
|
-
readonly now?: () => number;
|
|
151
|
-
};
|
|
152
|
-
readonly hardwareCursor?: boolean;
|
|
153
|
-
readonly mouse?: boolean;
|
|
154
|
-
/** Consume residual SGR mouse reports after every pre-input listener has run. */
|
|
155
|
-
readonly consumeUnhandledMouse?: boolean;
|
|
156
|
-
readonly wheelScrollLines?: WheelScrollLines;
|
|
157
|
-
readonly openUrl?: (url: string) => void;
|
|
158
|
-
readonly onRightClickPaste?: () => void;
|
|
159
|
-
readonly logDirectory?: string;
|
|
160
|
-
}
|
|
161
|
-
export interface PiTuiStopOptions {
|
|
162
|
-
readonly preserveScreen?: boolean;
|
|
163
|
-
readonly drainInput?: boolean;
|
|
164
|
-
readonly drainMaxMs?: number;
|
|
165
|
-
readonly drainIdleMs?: number;
|
|
166
|
-
}
|
|
1
|
+
import type { TerminalRuntimeState, TerminalViewport, TerminalScrollState, TerminalPointerSurface, TerminalComponentPort, TerminalPort, TerminalSizeValue, TerminalOverlayAnchor, TerminalOverlayMargin, TerminalOverlayOptions, TerminalOverlayUnfocusOptions, TerminalOverlayHandle, TerminalInputListenerResult, TerminalInputListener, TerminalPreInputListener, TerminalLayoutEntry, TerminalLayoutNode, TerminalInputDiagnosticsPhase, TerminalInputDiagnosticsEvent, TerminalRuntimeOptions, TerminalStopOptions } from "../../../contracts/presentation/index.js";
|
|
2
|
+
export type PiTuiRuntimeState = TerminalRuntimeState;
|
|
3
|
+
export type PiTuiViewport = TerminalViewport;
|
|
4
|
+
export type PiTuiScrollState = TerminalScrollState;
|
|
5
|
+
export type PiTuiPointerSurface = TerminalPointerSurface;
|
|
6
|
+
export type PiTuiComponentPort = TerminalComponentPort;
|
|
7
|
+
export type PiTuiTerminalPort = TerminalPort;
|
|
8
|
+
export type PiTuiSizeValue = TerminalSizeValue;
|
|
9
|
+
export type PiTuiOverlayAnchor = TerminalOverlayAnchor;
|
|
10
|
+
export type PiTuiOverlayMargin = TerminalOverlayMargin;
|
|
11
|
+
export type PiTuiOverlayOptions = TerminalOverlayOptions;
|
|
12
|
+
export type PiTuiOverlayUnfocusOptions = TerminalOverlayUnfocusOptions;
|
|
13
|
+
export type PiTuiOverlayHandle = TerminalOverlayHandle;
|
|
14
|
+
export type PiTuiInputListenerResult = TerminalInputListenerResult;
|
|
15
|
+
export type PiTuiInputListener = TerminalInputListener;
|
|
16
|
+
export type PiTuiPreInputListener = TerminalPreInputListener;
|
|
17
|
+
export type PiTuiLayoutEntry = TerminalLayoutEntry;
|
|
18
|
+
export type PiTuiLayoutNode = TerminalLayoutNode;
|
|
19
|
+
export type PiTuiInputDiagnosticsPhase = TerminalInputDiagnosticsPhase;
|
|
20
|
+
export type PiTuiInputDiagnosticsEvent = TerminalInputDiagnosticsEvent;
|
|
21
|
+
export type PiTuiRuntimeAdapterOptions = TerminalRuntimeOptions;
|
|
22
|
+
export type PiTuiStopOptions = TerminalStopOptions;
|
|
@@ -1,45 +1,10 @@
|
|
|
1
1
|
import type { PiTuiTerminalPort } from "./contracts.js";
|
|
2
2
|
export declare const PINNED_PI_TUI_DAMAGE_GRAMMAR = "@earendil-works/pi-tui@1.5.0:tui-alt-screen-one-write-v1";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
readonly epoch?: number;
|
|
9
|
-
readonly frameId: number;
|
|
10
|
-
readonly width: number;
|
|
11
|
-
readonly height: number;
|
|
12
|
-
readonly transcript: {
|
|
13
|
-
readonly rowStart: number;
|
|
14
|
-
readonly rowEnd: number;
|
|
15
|
-
} | null;
|
|
16
|
-
readonly dock: {
|
|
17
|
-
readonly rowStart: number;
|
|
18
|
-
readonly rowEnd: number;
|
|
19
|
-
} | null;
|
|
20
|
-
/**
|
|
21
|
-
* Visible rows owned by the block that is currently streaming. A live block repaints
|
|
22
|
-
* every row it owns when it reflows, so the allowed damage follows the declared tail
|
|
23
|
-
* instead of assuming a one-row tail.
|
|
24
|
-
*/
|
|
25
|
-
readonly liveTailRows?: number;
|
|
26
|
-
readonly verticalShiftRows: number;
|
|
27
|
-
readonly safeVerticalShift: boolean;
|
|
28
|
-
readonly cause: string;
|
|
29
|
-
}
|
|
30
|
-
export interface PiTuiDamageFrameSafety {
|
|
31
|
-
readonly overlayActive: boolean;
|
|
32
|
-
readonly selectionActive: boolean;
|
|
33
|
-
readonly replacementSurfaceActive: boolean;
|
|
34
|
-
}
|
|
35
|
-
export type PiTuiDamageDecisionReason = "transformed" | "suppressed-redundant-clear" | "hyperlink-cleanup" | "pending-hyperlink-cleanup" | "not-armed" | "unsafe-frame" | "stale-frame" | "unsupported-region-scroll" | "geometry-mismatch" | "grammar-mismatch" | "unsafe-terminal-content" | "incomplete-prior-frame" | "excessive-real-damage";
|
|
36
|
-
export interface PiTuiDamageDecision {
|
|
37
|
-
readonly frameId: number | null;
|
|
38
|
-
readonly transformed: boolean;
|
|
39
|
-
readonly reason: PiTuiDamageDecisionReason;
|
|
40
|
-
readonly shiftRows: number;
|
|
41
|
-
readonly paintedRows: readonly number[];
|
|
42
|
-
}
|
|
3
|
+
import type { TerminalDamageDecision, TerminalDamageDecisionReason, TerminalDamageFrameDescriptor, TerminalDamageFrameSafety } from "../../../contracts/presentation/index.js";
|
|
4
|
+
export type PiTuiDamageFrameDescriptor = TerminalDamageFrameDescriptor;
|
|
5
|
+
export type PiTuiDamageFrameSafety = TerminalDamageFrameSafety;
|
|
6
|
+
export type PiTuiDamageDecisionReason = TerminalDamageDecisionReason;
|
|
7
|
+
export type PiTuiDamageDecision = TerminalDamageDecision;
|
|
43
8
|
export interface DamageAwareTerminalOptions {
|
|
44
9
|
readonly regionalScroll: boolean;
|
|
45
10
|
/** The shell supplies visible-row analysis; the terminal layer owns no UI parser. */
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export type { PiTuiComponentPort, PiTuiInputDiagnosticsEvent, PiTuiInputDiagnosticsPhase, PiTuiInputListener, PiTuiInputListenerResult, PiTuiLayoutEntry, PiTuiLayoutNode, PiTuiOverlayAnchor, PiTuiOverlayHandle, PiTuiOverlayMargin, PiTuiOverlayOptions, PiTuiOverlayUnfocusOptions, PiTuiPointerSurface, PiTuiPreInputListener, PiTuiRuntimeAdapterOptions, PiTuiRuntimeState, PiTuiScrollState, PiTuiSizeValue, PiTuiStopOptions, PiTuiTerminalPort, PiTuiViewport, } from "./contracts.js";
|
|
2
2
|
export { samePointerSurfaces } from "./overlay-geometry.js";
|
|
3
|
+
export { PI_TERMINAL_RUNTIME } from "./runtime-factory.js";
|
|
3
4
|
export { DamageAwareTerminalAdapter, PINNED_PI_TUI_DAMAGE_GRAMMAR, paintTerminalCanvasFrame, rebaseTerminalDefaultBackground, } from "./damage-aware-terminal.js";
|
|
4
5
|
export type { DamageAwareTerminalOptions, PiTuiDamageDecision, PiTuiDamageDecisionReason, PiTuiDamageFrameDescriptor, PiTuiDamageFrameSafety, } from "./damage-aware-terminal.js";
|
|
5
6
|
export { InputPresentationCoordinator, classifyPiTuiInput } from "./input-presentation-coordinator.js";
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { samePointerSurfaces } from "./overlay-geometry.js";
|
|
2
|
+
export { PI_TERMINAL_RUNTIME } from "./runtime-factory.js";
|
|
2
3
|
export { DamageAwareTerminalAdapter, PINNED_PI_TUI_DAMAGE_GRAMMAR, paintTerminalCanvasFrame, rebaseTerminalDefaultBackground, } from "./damage-aware-terminal.js";
|
|
3
4
|
export { InputPresentationCoordinator, classifyPiTuiInput } from "./input-presentation-coordinator.js";
|
|
4
5
|
export { PiTuiRuntimeAdapter, PiTuiRuntimeError } from "./adapter.js";
|
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
export type
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
cancelImmediate(handle: ReturnType<typeof setImmediate>): void;
|
|
6
|
-
}
|
|
1
|
+
import type { TerminalInputCoordinationDecision, TerminalInputCoordinationScheduler, TerminalInputSurfaceKind } from "../../../contracts/presentation/index.js";
|
|
2
|
+
export type PiTuiInputCoordinationDecision = TerminalInputCoordinationDecision;
|
|
3
|
+
export type PiTuiInputSurfaceKind = TerminalInputSurfaceKind;
|
|
4
|
+
export type PiTuiInputCoordinationScheduler = TerminalInputCoordinationScheduler;
|
|
7
5
|
export interface PiTuiInputCoordinationTrace {
|
|
8
6
|
readonly phase: "receipt" | "semantic-start" | "semantic-end";
|
|
9
7
|
readonly revision: number;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TuiAltScreen, type Component, type OverlayHandle, type OverlayOptions } from "@earendil-works/pi-tui";
|
|
2
2
|
import type { PresentationComponentPort, PresentationPointerSurface } from "../../../contracts/presentation/index.js";
|
|
3
|
+
import { samePointerSurfaces } from "../../../contracts/presentation/index.js";
|
|
3
4
|
import type { PiTuiOverlayOptions } from "./contracts.js";
|
|
4
5
|
/** Observes public component renders in compositor order, without accessing renderer state. */
|
|
5
6
|
export declare class OverlayGeometryTracker {
|
|
@@ -22,11 +23,4 @@ export declare class GeometryObservedAltScreen extends TuiAltScreen {
|
|
|
22
23
|
hideOverlay(): void;
|
|
23
24
|
protected compositeOverlays(lines: string[], width: number, height: number): string[];
|
|
24
25
|
}
|
|
25
|
-
|
|
26
|
-
export declare function samePointerSurfaces(a: readonly PresentationPointerSurface[], b: readonly PresentationPointerSurface[]): boolean;
|
|
27
|
-
/**
|
|
28
|
-
* Resolve the pinned public overlay options against the actual render width/height.
|
|
29
|
-
* The runtime still owns layout and painting. Independent terminal-cell tests certify
|
|
30
|
-
* this option-to-hit-region projection against its compositor, including clipping.
|
|
31
|
-
*/
|
|
32
|
-
export declare function overlayPointerSurface(component: PresentationComponentPort, options: PiTuiOverlayOptions | undefined, width: number, renderedHeight: number, columns: number, rows: number): PresentationPointerSurface | undefined;
|
|
26
|
+
export { samePointerSurfaces };
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { TuiAltScreen, isFocusable } from "@earendil-works/pi-tui";
|
|
2
|
+
import { samePointerSurfaces } from "../../../contracts/presentation/index.js";
|
|
2
3
|
/** Observes public component renders in compositor order, without accessing renderer state. */
|
|
3
4
|
export class OverlayGeometryTracker {
|
|
4
5
|
#frame = [];
|
|
@@ -97,20 +98,13 @@ export class GeometryObservedAltScreen extends TuiAltScreen {
|
|
|
97
98
|
return result;
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
|
|
101
|
-
export function samePointerSurfaces(a, b) {
|
|
102
|
-
return a.length === b.length && a.every((surface, index) => {
|
|
103
|
-
const other = b[index];
|
|
104
|
-
return surface.component === other.component && surface.columnStart === other.columnStart
|
|
105
|
-
&& surface.columnEnd === other.columnEnd && surface.rowStart === other.rowStart && surface.rowEnd === other.rowEnd;
|
|
106
|
-
});
|
|
107
|
-
}
|
|
101
|
+
export { samePointerSurfaces };
|
|
108
102
|
/**
|
|
109
103
|
* Resolve the pinned public overlay options against the actual render width/height.
|
|
110
104
|
* The runtime still owns layout and painting. Independent terminal-cell tests certify
|
|
111
105
|
* this option-to-hit-region projection against its compositor, including clipping.
|
|
112
106
|
*/
|
|
113
|
-
|
|
107
|
+
function overlayPointerSurface(component, options, width, renderedHeight, columns, rows) {
|
|
114
108
|
const opt = options ?? {};
|
|
115
109
|
const margin = typeof opt.margin === "number"
|
|
116
110
|
? { top: opt.margin, right: opt.margin, bottom: opt.margin, left: opt.margin }
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { legacyKeyInput, PiTuiRuntimeAdapter } from "./adapter.js";
|
|
2
|
+
import { DamageAwareTerminalAdapter, rebaseTerminalDefaultBackground } from "./damage-aware-terminal.js";
|
|
3
|
+
import { classifyPiTuiInput } from "./input-presentation-coordinator.js";
|
|
4
|
+
/** The Pi TUI runtime behind the neutral terminal runtime factory the shell uses. */
|
|
5
|
+
export const PI_TERMINAL_RUNTIME = Object.freeze({
|
|
6
|
+
createRuntime: options => new PiTuiRuntimeAdapter(options),
|
|
7
|
+
createDamageTerminal: (terminal, options) => new DamageAwareTerminalAdapter(terminal, options),
|
|
8
|
+
classifyInput: (data, surface) => classifyPiTuiInput(data, surface),
|
|
9
|
+
legacyKeyInput: data => legacyKeyInput(data),
|
|
10
|
+
rebaseDefaultBackground: (content, backgroundAnsi) => rebaseTerminalDefaultBackground(content, backgroundAnsi),
|
|
11
|
+
});
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
declare const ENVIRONMENT_KEYS: readonly ["clipboardDiagnostics", "configDir", "dataDir", "
|
|
1
|
+
declare const ENVIRONMENT_KEYS: readonly ["clipboardDiagnostics", "configDir", "dataDir", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "exitNoticePath", "prFooterPreview", "profileHome", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics"];
|
|
2
2
|
declare const FILESYSTEM_KEYS: readonly ["slug", "windowsDirectory", "unixDirectory", "temporaryPrefix"];
|
|
3
3
|
declare const STATE_KEYS: readonly ["windowsControlDirectory", "unixControlDirectory", "developmentDirectory", "piAgentProfile", "piVanillaProfile", "sessionRepositoryDirectory", "sessionWorktreeClaimDirectory"];
|
|
4
|
-
declare const ENDPOINT_KEYS: readonly ["windowsPipeStem", "unixSocketFilename", "metadataFilename", "supervisorLogFilename", "databaseFilename"];
|
|
5
4
|
declare const MANIFEST_KEYS: readonly ["releaseFilename", "packageFilename"];
|
|
6
|
-
declare const PROTOCOL_KEYS: readonly ["namespace", "
|
|
7
|
-
declare const EVIDENCE_KEYS: readonly ["
|
|
8
|
-
declare const ARTIFACT_KEYS: readonly ["cliEntry", "
|
|
5
|
+
declare const PROTOCOL_KEYS: readonly ["namespace", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
|
|
6
|
+
declare const EVIDENCE_KEYS: readonly ["stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
|
|
7
|
+
declare const ARTIFACT_KEYS: readonly ["cliEntry", "uiEntry", "releaseTarballStem", "diagnosticStem"];
|
|
9
8
|
type StringRecord<Keys extends readonly string[]> = {
|
|
10
9
|
readonly [Key in Keys[number]]: string;
|
|
11
10
|
};
|
|
@@ -17,7 +16,6 @@ export interface ProductIdentity {
|
|
|
17
16
|
readonly filesystem: StringRecord<typeof FILESYSTEM_KEYS>;
|
|
18
17
|
readonly environment: StringRecord<typeof ENVIRONMENT_KEYS>;
|
|
19
18
|
readonly state: StringRecord<typeof STATE_KEYS>;
|
|
20
|
-
readonly endpoint: StringRecord<typeof ENDPOINT_KEYS>;
|
|
21
19
|
readonly manifest: StringRecord<typeof MANIFEST_KEYS>;
|
|
22
20
|
readonly protocol: StringRecord<typeof PROTOCOL_KEYS>;
|
|
23
21
|
readonly evidence: StringRecord<typeof EVIDENCE_KEYS>;
|
package/dist/product-identity.js
CHANGED
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import rawIdentity from "./product-identity.json" with { type: "json" };
|
|
2
2
|
const ENVIRONMENT_KEYS = [
|
|
3
|
-
"clipboardDiagnostics", "configDir", "dataDir", "
|
|
4
|
-
"
|
|
3
|
+
"clipboardDiagnostics", "configDir", "dataDir", "developmentHistoryDataDir", "developmentInstanceId", "developmentRoot", "exitNoticePath",
|
|
4
|
+
"prFooterPreview", "profileHome", "runtimeDir", "sessionRuntimeId", "skipVersionCheck", "startupTrace", "suggestionDiagnostics",
|
|
5
5
|
];
|
|
6
6
|
const FILESYSTEM_KEYS = ["slug", "windowsDirectory", "unixDirectory", "temporaryPrefix"];
|
|
7
7
|
const STATE_KEYS = ["windowsControlDirectory", "unixControlDirectory", "developmentDirectory", "piAgentProfile", "piVanillaProfile", "sessionRepositoryDirectory", "sessionWorktreeClaimDirectory"];
|
|
8
|
-
const ENDPOINT_KEYS = ["windowsPipeStem", "unixSocketFilename", "metadataFilename", "supervisorLogFilename", "databaseFilename"];
|
|
9
8
|
const MANIFEST_KEYS = ["releaseFilename", "packageFilename"];
|
|
10
|
-
const PROTOCOL_KEYS = ["namespace", "
|
|
11
|
-
const EVIDENCE_KEYS = ["
|
|
12
|
-
const ARTIFACT_KEYS = ["cliEntry", "
|
|
13
|
-
const ROOT_KEYS = ["schema", "displayName", "commandName", "packageName", "filesystem", "environment", "state", "
|
|
9
|
+
const PROTOCOL_KEYS = ["namespace", "promptHistorySchema", "releaseCohortSchema", "updateJournalSchema"];
|
|
10
|
+
const EVIDENCE_KEYS = ["stableReleaseSchema", "previewReleaseSchema", "releaseCertificationSchema", "previewPlatformVerdictSchema", "piSourceLedgerSchema", "piComponentParitySchema", "piEventFrameParitySchema", "startupTraceSchema", "dependencyLayerSchema", "dependencyLayerCertificationSchema", "runtimePayloadSchema"];
|
|
11
|
+
const ARTIFACT_KEYS = ["cliEntry", "uiEntry", "releaseTarballStem", "diagnosticStem"];
|
|
12
|
+
const ROOT_KEYS = ["schema", "displayName", "commandName", "packageName", "filesystem", "environment", "state", "manifest", "protocol", "evidence", "artifacts"];
|
|
14
13
|
export function validateProductIdentity(value) {
|
|
15
14
|
const root = exactObject(value, ROOT_KEYS, "product identity");
|
|
16
15
|
const schema = stringValue(root.schema, "product identity schema");
|
|
@@ -20,7 +19,6 @@ export function validateProductIdentity(value) {
|
|
|
20
19
|
const filesystem = stringObject(root.filesystem, FILESYSTEM_KEYS, "filesystem identity");
|
|
21
20
|
const environment = stringObject(root.environment, ENVIRONMENT_KEYS, "environment identity");
|
|
22
21
|
const state = stringObject(root.state, STATE_KEYS, "state identity");
|
|
23
|
-
const endpoint = stringObject(root.endpoint, ENDPOINT_KEYS, "endpoint identity");
|
|
24
22
|
const manifest = stringObject(root.manifest, MANIFEST_KEYS, "manifest identity");
|
|
25
23
|
const protocol = stringObject(root.protocol, PROTOCOL_KEYS, "protocol identity");
|
|
26
24
|
const evidence = stringObject(root.evidence, EVIDENCE_KEYS, "evidence identity");
|
|
@@ -41,8 +39,6 @@ export function validateProductIdentity(value) {
|
|
|
41
39
|
if (state.windowsControlDirectory !== filesystem.windowsDirectory || state.unixControlDirectory !== filesystem.unixDirectory) {
|
|
42
40
|
throw new TypeError("product state directories must match the filesystem identity");
|
|
43
41
|
}
|
|
44
|
-
if (endpoint.windowsPipeStem !== filesystem.slug)
|
|
45
|
-
throw new TypeError("product endpoint stem must match the filesystem slug");
|
|
46
42
|
if (protocol.namespace !== commandName)
|
|
47
43
|
throw new TypeError("product protocol namespace must match the command name");
|
|
48
44
|
if (artifacts.diagnosticStem !== filesystem.slug)
|
|
@@ -73,7 +69,6 @@ export function validateProductIdentity(value) {
|
|
|
73
69
|
filesystem,
|
|
74
70
|
environment,
|
|
75
71
|
state,
|
|
76
|
-
endpoint,
|
|
77
72
|
manifest,
|
|
78
73
|
protocol,
|
|
79
74
|
evidence,
|
|
@@ -13,34 +13,17 @@
|
|
|
13
13
|
"clipboardDiagnostics": "A1_CLIPBOARD_DIAGNOSTICS",
|
|
14
14
|
"configDir": "A1_CONFIG_DIR",
|
|
15
15
|
"dataDir": "A1_DATA_DIR",
|
|
16
|
-
"databasePath": "A1_DATABASE_PATH",
|
|
17
16
|
"developmentHistoryDataDir": "A1_DEV_HISTORY_DATA_DIR",
|
|
18
17
|
"developmentInstanceId": "A1_DEV_INSTANCE_ID",
|
|
19
18
|
"developmentRoot": "A1_DEV_ROOT",
|
|
20
|
-
"endpoint": "A1_ENDPOINT",
|
|
21
19
|
"exitNoticePath": "A1_EXIT_NOTICE_PATH",
|
|
22
|
-
"paneId": "A1_PANE_ID",
|
|
23
|
-
"probeTrace": "A1_PROBE_TRACE",
|
|
24
|
-
"processGuardianPath": "A1_PROCESS_GUARDIAN_PATH",
|
|
25
20
|
"prFooterPreview": "A1_PR_FOOTER_PREVIEW",
|
|
26
21
|
"profileHome": "A1_PROFILE_HOME",
|
|
27
|
-
"residentFixtureControlDir": "A1_RESIDENT_FIXTURE_CONTROL_DIR",
|
|
28
|
-
"residentProgressObservationDir": "A1_RESIDENT_PROGRESS_OBSERVATION_DIR",
|
|
29
|
-
"residentProgressRunId": "A1_RESIDENT_PROGRESS_RUN_ID",
|
|
30
|
-
"residentProgressTabId": "A1_RESIDENT_PROGRESS_TAB_ID",
|
|
31
|
-
"residentProgressTabIncarnation": "A1_RESIDENT_PROGRESS_TAB_INCARNATION",
|
|
32
22
|
"runtimeDir": "A1_RUNTIME_DIR",
|
|
33
23
|
"sessionRuntimeId": "A1_SESSION_RUNTIME_ID",
|
|
34
24
|
"skipVersionCheck": "A1_SKIP_VERSION_CHECK",
|
|
35
25
|
"startupTrace": "A1_STARTUP_TRACE",
|
|
36
|
-
"suggestionDiagnostics": "A1_SUGGESTION_DIAGNOSTICS"
|
|
37
|
-
"tabEndpoint": "A1_TAB_ENDPOINT",
|
|
38
|
-
"tabId": "A1_TAB_ID",
|
|
39
|
-
"tabReleaseId": "A1_TAB_RELEASE_ID",
|
|
40
|
-
"tabToken": "A1_TAB_TOKEN",
|
|
41
|
-
"tabsEndpoint": "A1_TABS_ENDPOINT",
|
|
42
|
-
"terminalHostPath": "A1_TERMINAL_HOST_PATH",
|
|
43
|
-
"terminalSessionId": "A1_TERMINAL_SESSION_ID"
|
|
26
|
+
"suggestionDiagnostics": "A1_SUGGESTION_DIAGNOSTICS"
|
|
44
27
|
},
|
|
45
28
|
"state": {
|
|
46
29
|
"windowsControlDirectory": "a1",
|
|
@@ -51,33 +34,17 @@
|
|
|
51
34
|
"sessionRepositoryDirectory": "session-repositories",
|
|
52
35
|
"sessionWorktreeClaimDirectory": "session-worktree-claims"
|
|
53
36
|
},
|
|
54
|
-
"endpoint": {
|
|
55
|
-
"windowsPipeStem": "a1",
|
|
56
|
-
"unixSocketFilename": "supervisor.sock",
|
|
57
|
-
"metadataFilename": "supervisor.json",
|
|
58
|
-
"supervisorLogFilename": "supervisor.log",
|
|
59
|
-
"databaseFilename": "control.sqlite3"
|
|
60
|
-
},
|
|
61
37
|
"manifest": {
|
|
62
38
|
"releaseFilename": ".a1-release.json",
|
|
63
39
|
"packageFilename": "package.json"
|
|
64
40
|
},
|
|
65
41
|
"protocol": {
|
|
66
42
|
"namespace": "a1",
|
|
67
|
-
"controlEnvelope": "a1-control-envelope",
|
|
68
|
-
"supervisorSchema": "a1-supervisor-v1",
|
|
69
|
-
"nativeHostSchema": "a1-native-host-v1",
|
|
70
|
-
"structuredAgentSchema": "a1-structured-agent-v1",
|
|
71
|
-
"controlStoreSchema": "a1-control-store-v1",
|
|
72
43
|
"promptHistorySchema": "a1-prompt-history-v1",
|
|
73
44
|
"releaseCohortSchema": "a1-release-cohort-v1",
|
|
74
45
|
"updateJournalSchema": "a1-update-journal-v1"
|
|
75
46
|
},
|
|
76
47
|
"evidence": {
|
|
77
|
-
"nativeSpikeSchema": "a1-native-host-spike-evidence-v1",
|
|
78
|
-
"terminalProvenanceSchema": "a1-terminal-host-provenance-v1",
|
|
79
|
-
"terminalProofSchema": "a1-terminal-host-proof-v1",
|
|
80
|
-
"terminalTemporalSnapshotSchema": "a1-terminal-temporal-snapshot-v1",
|
|
81
48
|
"stableReleaseSchema": "a1-stable-release-v1",
|
|
82
49
|
"previewReleaseSchema": "a1-preview-release-v1",
|
|
83
50
|
"releaseCertificationSchema": "a1-release-certification-v1",
|
|
@@ -92,13 +59,7 @@
|
|
|
92
59
|
},
|
|
93
60
|
"artifacts": {
|
|
94
61
|
"cliEntry": "bin/cli.js",
|
|
95
|
-
"supervisorEntry": "bin/supervisor.js",
|
|
96
|
-
"guardianEntry": "bin/guardian.js",
|
|
97
62
|
"uiEntry": "bin/ui.js",
|
|
98
|
-
"terminalHostAddon": "terminal-host",
|
|
99
|
-
"terminalHostEntry": "host-entry",
|
|
100
|
-
"nativeCrate": "terminal-host",
|
|
101
|
-
"processGuardianAddon": "process-guardian",
|
|
102
63
|
"releaseTarballStem": "timurproko-a1",
|
|
103
64
|
"diagnosticStem": "a1"
|
|
104
65
|
}
|
|
@@ -3,12 +3,9 @@
|
|
|
3
3
|
"entryPoints": [
|
|
4
4
|
"bin/activate.js",
|
|
5
5
|
"bin/cli.js",
|
|
6
|
-
"bin/guardian.js",
|
|
7
|
-
"bin/supervisor.js",
|
|
8
6
|
"bin/ui.js",
|
|
9
7
|
"bin/update-recovery.js",
|
|
10
8
|
"bin/warmup.js",
|
|
11
|
-
"dist/foundation/launch-guardian/exit-watcher.js",
|
|
12
9
|
"dist/foundation/startup/startup-descriptor.js",
|
|
13
10
|
"dist/integrations/pi/startup-public.js"
|
|
14
11
|
],
|