@timurproko/a1 0.1.8-dev.ece8cef → 0.2.1-dev.590
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 +104 -58
- package/bin/activate.js +8 -0
- package/bin/cli.js +39 -13
- package/bin/guardian.js +21 -6
- package/bin/module-identity.js +76 -69
- package/bin/module-resolver.js +138 -0
- package/bin/pinned-pi-public.d.ts +3 -0
- package/bin/pinned-pi-public.js +93 -0
- package/bin/release-cleanup.js +8 -0
- package/bin/supervisor.js +2 -2
- package/bin/sync-pi-tui-proxy.js +7 -0
- package/bin/ui.js +67 -22
- package/bin/update-recovery.js +365 -0
- package/bin/warmup.js +28 -0
- package/dist/app/session-shell/clipboard-diagnostics.d.ts +16 -0
- package/dist/app/session-shell/clipboard-diagnostics.js +65 -0
- package/dist/app/session-shell/clipboard-image.d.ts +11 -0
- package/dist/app/session-shell/clipboard-image.js +38 -0
- package/dist/app/session-shell/editor-hyperlink-budget.d.ts +9 -0
- package/dist/app/session-shell/editor-hyperlink-budget.js +23 -0
- package/dist/app/session-shell/helper-pool.d.ts +33 -0
- package/dist/app/session-shell/helper-pool.js +98 -0
- package/dist/app/session-shell/image-preparation-client.d.ts +20 -0
- package/dist/app/session-shell/image-preparation-client.js +145 -0
- package/dist/app/session-shell/image-preparation.d.ts +18 -0
- package/dist/app/session-shell/image-preparation.js +126 -0
- package/dist/app/session-shell/image-source.d.ts +13 -0
- package/dist/app/session-shell/image-source.js +171 -0
- package/dist/app/session-shell/image-worker.d.ts +17 -0
- package/dist/app/session-shell/image-worker.js +23 -0
- package/dist/app/session-shell/index.d.ts +7 -0
- package/dist/app/session-shell/index.js +4 -0
- package/dist/app/session-shell/paste-executor.d.ts +18 -0
- package/dist/app/session-shell/paste-executor.js +253 -0
- package/dist/app/session-shell/paste-helper.js +173 -0
- package/dist/app/session-shell/paste-preparation-client.d.ts +31 -0
- package/dist/app/session-shell/paste-preparation-client.js +170 -0
- package/dist/app/session-shell/paste-protocol.d.ts +78 -0
- package/dist/app/session-shell/paste-protocol.js +18 -0
- package/dist/app/session-shell/paste-text-preparation.d.ts +6 -0
- package/dist/app/session-shell/paste-text-preparation.js +134 -0
- package/dist/app/session-shell/paste-text-worker.js +12 -0
- package/dist/app/session-shell/paste-types.d.ts +17 -0
- package/dist/app/session-shell/path-chip-presentation.d.ts +7 -0
- package/dist/app/session-shell/path-chip-presentation.js +24 -0
- package/dist/app/session-shell/prompt-chips.d.ts +76 -0
- package/dist/app/session-shell/prompt-chips.js +499 -0
- package/dist/app/session-shell/prompt-history-controller.d.ts +36 -0
- package/dist/app/session-shell/prompt-history-controller.js +170 -0
- package/dist/app/session-shell/prompt-suggestion-controller.d.ts +37 -0
- package/dist/app/session-shell/prompt-suggestion-controller.js +219 -0
- package/dist/app/session-shell/quit-outro-effects.d.ts +29 -0
- package/dist/app/session-shell/quit-outro-effects.js +242 -0
- package/dist/app/session-shell/quit-outro.d.ts +38 -0
- package/dist/app/session-shell/quit-outro.js +98 -0
- package/dist/app/session-shell/response-copy-coordinator.d.ts +27 -0
- package/dist/app/session-shell/response-copy-coordinator.js +187 -0
- package/dist/app/session-shell/response-copy-helper.js +122 -0
- package/dist/app/session-shell/response-copy-protocol.d.ts +56 -0
- package/dist/app/session-shell/response-copy-protocol.js +5 -0
- package/dist/app/session-shell/response-copy-transport.d.ts +39 -0
- package/dist/app/session-shell/response-copy-transport.js +217 -0
- package/dist/app/session-shell/session-shell-root.d.ts +278 -0
- package/dist/app/session-shell/session-shell-root.js +1442 -0
- package/dist/app/session-shell/session-shell.d.ts +66 -0
- package/dist/app/session-shell/session-shell.js +2151 -0
- package/dist/app/session-shell/session-viewport-controller.d.ts +62 -0
- package/dist/app/session-shell/session-viewport-controller.js +623 -0
- package/dist/app/session-shell/stream-presentation-coalescer.d.ts +29 -0
- package/dist/app/session-shell/stream-presentation-coalescer.js +79 -0
- package/dist/app/session-shell/system-clipboard.d.ts +20 -0
- package/dist/app/session-shell/system-clipboard.js +159 -0
- package/dist/app/session-shell/text-paste.d.ts +5 -0
- package/dist/app/session-shell/text-paste.js +16 -0
- package/dist/cli/capabilities.d.ts +6 -0
- package/dist/cli/capabilities.js +7 -0
- package/dist/cli/dispatch.d.ts +53 -0
- package/dist/cli/dispatch.js +287 -0
- package/dist/cli/index.d.ts +8 -0
- package/dist/cli/index.js +4 -0
- package/dist/cli/package-messages.d.ts +27 -0
- package/dist/cli/package-messages.js +83 -0
- package/dist/cli/packages.d.ts +32 -0
- package/dist/cli/packages.js +81 -0
- package/dist/cli/session-context.d.ts +9 -0
- package/dist/cli/session-context.js +29 -0
- package/dist/cli/version-stats.d.ts +22 -0
- package/dist/cli/version-stats.js +112 -0
- package/dist/composition/index.d.ts +2 -0
- package/dist/composition/index.js +2 -0
- package/dist/composition/owned-ui.d.ts +37 -0
- package/dist/composition/owned-ui.js +159 -0
- package/dist/composition/settings-route-host.d.ts +16 -0
- package/dist/composition/settings-route-host.js +141 -0
- package/dist/contracts/agent-engine/capability-ports.d.ts +95 -0
- package/dist/contracts/agent-engine/domain-validation.js +107 -0
- package/dist/contracts/agent-engine/domain.d.ts +138 -0
- package/dist/contracts/agent-engine/index.d.ts +11 -0
- package/dist/contracts/agent-engine/index.js +6 -0
- package/dist/contracts/agent-engine/package-ports.d.ts +60 -0
- package/dist/contracts/agent-engine/ports.js +1 -0
- package/dist/contracts/owned-ui/extension-ui.d.ts +310 -0
- package/dist/contracts/owned-ui/image-attachments.d.ts +36 -0
- package/dist/contracts/owned-ui/image-attachments.js +67 -0
- package/dist/contracts/owned-ui/index.d.ts +14 -0
- package/dist/contracts/owned-ui/index.js +9 -0
- package/dist/contracts/owned-ui/model.d.ts +383 -0
- package/dist/contracts/owned-ui/prompt-chips.d.ts +15 -0
- package/dist/contracts/owned-ui/prompt-chips.js +59 -0
- package/dist/contracts/owned-ui/prompt-history.d.ts +55 -0
- package/dist/contracts/owned-ui/prompt-history.js +23 -0
- package/dist/contracts/owned-ui/prompt-suggestions.d.ts +3 -0
- package/dist/contracts/owned-ui/prompt-suggestions.js +44 -0
- package/dist/contracts/owned-ui/suggestion-diagnostics.d.ts +22 -0
- package/dist/contracts/owned-ui/suggestion-diagnostics.js +9 -0
- package/dist/contracts/owned-ui/transcript-lifecycle.d.ts +5 -0
- package/dist/contracts/owned-ui/transcript-lifecycle.js +33 -0
- package/dist/contracts/owned-ui/validation.d.ts +15 -0
- package/dist/contracts/owned-ui/validation.js +554 -0
- package/dist/contracts/presentation/index.d.ts +117 -0
- package/dist/contracts/presentation/index.js +68 -0
- package/dist/features/launch/development-launch.js +36 -0
- package/dist/features/launch/index.d.ts +14 -0
- package/dist/features/launch/index.js +7 -0
- package/dist/features/launch/intent.d.ts +12 -0
- package/dist/features/launch/intent.js +8 -0
- package/dist/features/launch/prepare-launch.d.ts +11 -0
- package/dist/features/launch/prepare-launch.js +14 -0
- package/dist/features/launch/profile-paths.d.ts +16 -0
- package/dist/features/launch/profile-paths.js +36 -0
- package/dist/features/launch/runtime-selection.d.ts +16 -0
- package/dist/features/launch/runtime-selection.js +13 -0
- package/dist/features/launch/session-context.d.ts +8 -0
- package/dist/features/launch/session-context.js +8 -0
- package/dist/features/owned-ui/index.d.ts +9 -0
- package/dist/features/owned-ui/index.js +6 -0
- package/dist/features/owned-ui/project-trust-dialog.d.ts +2 -0
- package/dist/features/owned-ui/project-trust-dialog.js +55 -0
- package/dist/features/owned-ui/project-trust-prompt.d.ts +23 -0
- package/dist/features/owned-ui/project-trust-prompt.js +149 -0
- package/dist/features/owned-ui/reference-routes.d.ts +6 -0
- package/dist/features/owned-ui/reference-routes.js +6 -0
- package/dist/features/owned-ui/reference-screen-app.d.ts +43 -0
- package/dist/features/owned-ui/reference-screen-app.js +279 -0
- package/dist/features/owned-ui/run.d.ts +17 -0
- package/dist/features/owned-ui/run.js +64 -0
- package/dist/features/owned-ui/session-fork-prompt.d.ts +8 -0
- package/dist/features/owned-ui/session-fork-prompt.js +34 -0
- package/dist/features/owned-ui/settings-app.d.ts +21 -0
- package/dist/features/owned-ui/settings-app.js +851 -0
- package/dist/features/owned-ui/settings-route.d.ts +2 -0
- package/dist/features/owned-ui/settings-route.js +2 -0
- package/dist/features/prompt-history/image-sidecar.d.ts +32 -0
- package/dist/features/prompt-history/image-sidecar.js +130 -0
- package/dist/features/prompt-history/index.d.ts +4 -0
- package/dist/features/prompt-history/index.js +3 -0
- package/dist/features/prompt-history/paths.d.ts +5 -0
- package/dist/features/prompt-history/paths.js +17 -0
- package/dist/features/prompt-history/service.d.ts +54 -0
- package/dist/features/prompt-history/service.js +425 -0
- package/dist/features/prompt-history/store.d.ts +16 -0
- package/dist/features/prompt-history/store.js +219 -0
- package/dist/features/prompt-history/worker.d.ts +9 -0
- package/dist/features/prompt-history/worker.js +45 -0
- package/dist/features/prompt-suggestions/diagnostics.d.ts +18 -0
- package/dist/features/prompt-suggestions/diagnostics.js +82 -0
- package/dist/features/prompt-suggestions/index.d.ts +2 -0
- package/dist/features/prompt-suggestions/index.js +1 -0
- package/dist/foundation/launch-context/index.d.ts +59 -0
- package/dist/foundation/launch-context/index.js +136 -0
- package/dist/foundation/launch-guardian/index.d.ts +2 -0
- package/dist/foundation/launch-guardian/index.js +1 -0
- package/dist/foundation/launch-guardian/main.d.ts +33 -0
- package/dist/foundation/launch-guardian/main.js +179 -0
- package/dist/foundation/lifecycle/commands.js +1 -0
- package/dist/foundation/lifecycle/index.d.ts +13 -0
- package/dist/foundation/lifecycle/index.js +6 -0
- package/dist/foundation/lifecycle/model.d.ts +64 -0
- package/dist/foundation/lifecycle/model.js +40 -0
- package/dist/foundation/lifecycle/paths.d.ts +30 -0
- package/dist/foundation/lifecycle/paths.js +70 -0
- package/dist/foundation/lifecycle/session-repository-context.d.ts +18 -0
- package/dist/foundation/lifecycle/session-repository-context.js +173 -0
- package/dist/foundation/lifecycle/session-selection.d.ts +9 -0
- package/dist/foundation/lifecycle/session-selection.js +39 -0
- package/dist/foundation/lifecycle/supervisor-startup.d.ts +30 -0
- package/dist/foundation/lifecycle/supervisor-startup.js +106 -0
- package/dist/foundation/process-containment/darwin-process-inspector.d.ts +5 -0
- package/dist/foundation/process-containment/darwin-process-inspector.js +7 -0
- package/dist/foundation/process-containment/index.d.ts +8 -0
- package/dist/foundation/process-containment/index.js +6 -0
- package/dist/foundation/process-containment/linux-process-inspector.d.ts +7 -0
- package/dist/foundation/process-containment/linux-process-inspector.js +27 -0
- package/dist/foundation/process-containment/native-guardian-containment.d.ts +17 -0
- package/dist/foundation/process-containment/native-guardian-containment.js +140 -0
- package/dist/foundation/process-containment/windows-process-inspector.d.ts +19 -0
- package/dist/foundation/process-containment/windows-process-inspector.js +56 -0
- package/dist/foundation/protocol/client.d.ts +18 -0
- package/dist/foundation/protocol/client.js +130 -0
- package/dist/foundation/protocol/index.d.ts +3 -0
- package/dist/foundation/protocol/index.js +2 -0
- package/dist/foundation/protocol/messages.d.ts +90 -0
- package/dist/foundation/protocol/messages.js +100 -0
- package/dist/foundation/release/bootstrap.d.ts +51 -0
- package/dist/foundation/release/bootstrap.js +470 -0
- package/dist/foundation/release/cohort-state.d.ts +159 -0
- package/dist/foundation/release/cohort-state.js +507 -0
- package/dist/foundation/release/dependency-certification-retention.d.ts +7 -0
- package/dist/foundation/release/dependency-certification-retention.js +88 -0
- package/dist/foundation/release/dependency-certification.d.ts +24 -0
- package/dist/foundation/release/dependency-certification.js +266 -0
- package/dist/foundation/release/dependency-layer.d.ts +78 -0
- package/dist/foundation/release/dependency-layer.js +466 -0
- package/dist/foundation/release/endpoints.d.ts +24 -0
- package/dist/foundation/release/endpoints.js +134 -0
- package/dist/foundation/release/immutable-platform.d.ts +6 -0
- package/dist/foundation/release/immutable-platform.js +13 -0
- package/dist/foundation/release/index.d.ts +33 -0
- package/dist/foundation/release/index.js +18 -0
- package/dist/foundation/release/ordinary-launch-selection.d.ts +14 -0
- package/dist/foundation/release/ordinary-launch-selection.js +15 -0
- package/dist/foundation/release/release-gc.d.ts +71 -0
- package/dist/foundation/release/release-gc.js +764 -0
- package/dist/foundation/release/release-store.d.ts +49 -0
- package/dist/foundation/release/release-store.js +235 -0
- package/dist/foundation/release/release.d.ts +43 -0
- package/dist/foundation/release/release.js +215 -0
- package/dist/foundation/release/restart-certification.d.ts +68 -0
- package/dist/foundation/release/restart-certification.js +227 -0
- package/dist/foundation/release/types.d.ts +11 -0
- package/dist/foundation/release/types.js +1 -0
- package/dist/foundation/release/update-activation.d.ts +72 -0
- package/dist/foundation/release/update-activation.js +204 -0
- package/dist/foundation/release/update-launch.d.ts +6 -0
- package/dist/foundation/release/update-launch.js +17 -0
- package/dist/foundation/release/update-recovery.d.ts +82 -0
- package/dist/foundation/release/update-recovery.js +386 -0
- package/dist/foundation/release/update-transaction.d.ts +42 -0
- package/dist/foundation/release/update-transaction.js +101 -0
- package/dist/foundation/release/update.d.ts +142 -0
- package/dist/foundation/release/update.js +773 -0
- package/dist/foundation/release/warmup.d.ts +3 -0
- package/dist/foundation/release/warmup.js +47 -0
- package/dist/foundation/startup/index.d.ts +4 -0
- package/dist/foundation/startup/index.js +2 -0
- package/dist/foundation/startup/startup-budget.d.ts +46 -0
- package/dist/foundation/startup/startup-budget.js +42 -0
- package/dist/foundation/startup/startup-descriptor.js +34 -0
- package/dist/foundation/startup/startup-runtime.d.ts +27 -0
- package/dist/foundation/startup/startup-runtime.js +128 -0
- package/dist/foundation/storage/control-store.d.ts +18 -0
- package/dist/foundation/storage/control-store.js +342 -0
- package/dist/foundation/storage/index.d.ts +1 -0
- package/dist/foundation/storage/index.js +1 -0
- package/dist/foundation/supervision/index.d.ts +3 -0
- package/dist/foundation/supervision/index.js +3 -0
- package/dist/foundation/supervision/main.d.ts +1 -0
- package/dist/foundation/supervision/main.js +84 -0
- package/dist/foundation/supervision/paths.d.ts +1 -0
- package/dist/foundation/supervision/paths.js +1 -0
- package/dist/foundation/supervision/server.d.ts +46 -0
- package/dist/foundation/supervision/server.js +584 -0
- package/dist/foundation/terminal-cleanup/fatal-exit.d.ts +12 -0
- package/dist/foundation/terminal-cleanup/fatal-exit.js +87 -0
- package/dist/foundation/terminal-cleanup/index.d.ts +3 -0
- package/dist/foundation/terminal-cleanup/index.js +2 -0
- package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +4 -0
- package/dist/foundation/terminal-cleanup/terminal-reset.js +40 -0
- package/dist/integrations/pi/components/components.d.ts +4 -0
- package/dist/integrations/pi/components/components.js +64 -0
- package/dist/integrations/pi/components/conformance.d.ts +18 -0
- package/dist/integrations/pi/components/conformance.js +70 -0
- package/dist/integrations/pi/components/editor-interaction.d.ts +38 -0
- package/dist/integrations/pi/components/editor-interaction.js +1 -0
- package/dist/integrations/pi/components/history-editor-loader.d.ts +5 -0
- package/dist/integrations/pi/components/history-editor-loader.js +5 -0
- package/dist/integrations/pi/components/index.d.ts +26 -0
- package/dist/integrations/pi/components/index.js +16 -0
- package/dist/integrations/pi/components/modal-frame.d.ts +41 -0
- package/dist/integrations/pi/components/modal-frame.js +110 -0
- package/dist/integrations/pi/components/models-dialog.d.ts +55 -0
- package/dist/integrations/pi/components/models-dialog.js +403 -0
- package/dist/integrations/pi/components/owned-editor-ux.d.ts +74 -0
- package/dist/integrations/pi/components/owned-editor-ux.js +1094 -0
- package/dist/integrations/pi/components/path-word-ranges.d.ts +2 -0
- package/dist/integrations/pi/components/path-word-ranges.js +37 -0
- package/dist/integrations/pi/components/prompt-input-port.d.ts +18 -0
- package/dist/integrations/pi/components/prompt-input-port.js +1 -0
- package/dist/integrations/pi/components/resources/builtin-themes.d.ts +167 -0
- package/dist/integrations/pi/components/resources/builtin-themes.js +168 -0
- package/dist/integrations/pi/components/shell-components.d.ts +7 -0
- package/dist/integrations/pi/components/shell-components.js +7 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +23 -0
- package/dist/integrations/pi/components/shell-editor-autocomplete.js +357 -0
- package/dist/integrations/pi/components/shell-extension-ui.d.ts +35 -0
- package/dist/integrations/pi/components/shell-extension-ui.js +282 -0
- package/dist/integrations/pi/components/shell-footer-status.d.ts +8 -0
- package/dist/integrations/pi/components/shell-footer-status.js +287 -0
- package/dist/integrations/pi/components/shell-hotkey-sections.d.ts +7 -0
- package/dist/integrations/pi/components/shell-hotkey-sections.js +29 -0
- package/dist/integrations/pi/components/shell-presenters-info.d.ts +73 -0
- package/dist/integrations/pi/components/shell-presenters-info.js +188 -0
- package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +29 -0
- package/dist/integrations/pi/components/shell-presenters-transcript.js +435 -0
- package/dist/integrations/pi/components/shell-selectors-dialogs.d.ts +134 -0
- package/dist/integrations/pi/components/shell-selectors-dialogs.js +286 -0
- package/dist/integrations/pi/components/shell-shared-facade.d.ts +233 -0
- package/dist/integrations/pi/components/shell-shared-facade.js +92 -0
- package/dist/integrations/pi/components/skills-command.d.ts +49 -0
- package/dist/integrations/pi/components/skills-command.js +119 -0
- package/dist/integrations/pi/components/skills-dialog.d.ts +9 -0
- package/dist/integrations/pi/components/skills-dialog.js +128 -0
- package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +17 -0
- package/dist/integrations/pi/components/submitted-prompt-adapter.js +52 -0
- package/dist/integrations/pi/components/theme.d.ts +5 -0
- package/dist/integrations/pi/components/theme.js +11 -0
- package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +8 -0
- package/dist/integrations/pi/components/thinking-selector-dialog.js +22 -0
- package/dist/integrations/pi/components/tool-image-presentation.d.ts +21 -0
- package/dist/integrations/pi/components/tool-image-presentation.js +83 -0
- package/dist/integrations/pi/components/tool-result-adapter.d.ts +6 -0
- package/dist/integrations/pi/components/tool-result-adapter.js +27 -0
- package/dist/integrations/pi/components/transcript-image-resolver.d.ts +7 -0
- package/dist/integrations/pi/components/transcript-image-resolver.js +19 -0
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +445 -0
- package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +371 -0
- package/dist/integrations/pi/components/upstream/assets/earendil-image.json +12 -0
- package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +13 -0
- package/dist/integrations/pi/components/upstream/components/daxnuts.d.ts +29 -0
- package/dist/integrations/pi/components/upstream/components/daxnuts.js +146 -0
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.d.ts +4 -0
- package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +48 -0
- package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +22 -0
- package/dist/integrations/pi/components/upstream/components/extension-editor.js +89 -0
- package/dist/integrations/pi/components/upstream/components/extension-input.d.ts +17 -0
- package/dist/integrations/pi/components/upstream/components/extension-input.js +73 -0
- package/dist/integrations/pi/components/upstream/components/extension-selector.d.ts +15 -0
- package/dist/integrations/pi/components/upstream/components/extension-selector.js +93 -0
- package/dist/integrations/pi/components/upstream/components/mermaid.js +81 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +52 -0
- package/dist/integrations/pi/components/upstream/components/owned-editor.js +222 -0
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +60 -0
- package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +347 -0
- package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +12 -0
- package/dist/integrations/pi/components/upstream/components/session-footer.js +150 -0
- package/dist/integrations/pi/components/upstream/components/session-selector-search.js +161 -0
- package/dist/integrations/pi/components/upstream/components/session-selector.d.ts +97 -0
- package/dist/integrations/pi/components/upstream/components/session-selector.js +935 -0
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +21 -0
- package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +54 -0
- package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +35 -0
- package/dist/integrations/pi/components/upstream/components/status-indicator.js +69 -0
- package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +36 -0
- package/dist/integrations/pi/components/upstream/components/thinking-selector.js +153 -0
- package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +67 -0
- package/dist/integrations/pi/components/upstream/components/tool-execution.js +365 -0
- package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +102 -0
- package/dist/integrations/pi/components/upstream/components/tree-selector.js +1294 -0
- package/dist/integrations/pi/components/upstream/components/trust-selector.d.ts +33 -0
- package/dist/integrations/pi/components/upstream/components/trust-selector.js +87 -0
- package/dist/integrations/pi/components/upstream/external-editor.js +43 -0
- package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +289 -0
- package/dist/integrations/pi/components/upstream/history/editor-core.js +2145 -0
- package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +35 -0
- package/dist/integrations/pi/components/upstream/history/kill-ring.js +51 -0
- package/dist/integrations/pi/components/upstream/history/printable-key.d.ts +1 -0
- package/dist/integrations/pi/components/upstream/history/printable-key.js +43 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.d.ts +17 -0
- package/dist/integrations/pi/components/upstream/history/text-helpers.js +34 -0
- package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +25 -0
- package/dist/integrations/pi/components/upstream/history/undo-stack.js +39 -0
- package/dist/integrations/pi/components/upstream/history/word-navigation.d.ts +24 -0
- package/dist/integrations/pi/components/upstream/history/word-navigation.js +103 -0
- package/dist/integrations/pi/components/upstream/model-search.d.ts +18 -0
- package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +33 -0
- package/dist/integrations/pi/components/upstream/theme/theme-controller.js +114 -0
- package/dist/integrations/pi/components/upstream/theme/theme.d.ts +61 -0
- package/dist/integrations/pi/components/upstream/theme/theme.js +337 -0
- package/dist/integrations/pi/engine/adapter.d.ts +140 -0
- package/dist/integrations/pi/engine/adapter.js +663 -0
- package/dist/integrations/pi/engine/changelog.d.ts +2 -0
- package/dist/integrations/pi/engine/changelog.js +63 -0
- package/dist/integrations/pi/engine/command-dispatch.d.ts +41 -0
- package/dist/integrations/pi/engine/command-dispatch.js +125 -0
- package/dist/integrations/pi/engine/compaction-progress.d.ts +24 -0
- package/dist/integrations/pi/engine/compaction-progress.js +97 -0
- package/dist/integrations/pi/engine/conformance.d.ts +39 -0
- package/dist/integrations/pi/engine/conformance.js +140 -0
- package/dist/integrations/pi/engine/event-delivery.d.ts +100 -0
- package/dist/integrations/pi/engine/event-delivery.js +184 -0
- package/dist/integrations/pi/engine/extension-ui-binding.d.ts +35 -0
- package/dist/integrations/pi/engine/extension-ui-binding.js +81 -0
- package/dist/integrations/pi/engine/http-dispatcher.d.ts +4 -0
- package/dist/integrations/pi/engine/http-dispatcher.js +25 -0
- package/dist/integrations/pi/engine/index.d.ts +18 -0
- package/dist/integrations/pi/engine/index.js +10 -0
- package/dist/integrations/pi/engine/message-values.d.ts +29 -0
- package/dist/integrations/pi/engine/message-values.js +169 -0
- package/dist/integrations/pi/engine/package-integration.d.ts +13 -0
- package/dist/integrations/pi/engine/package-integration.js +118 -0
- package/dist/integrations/pi/engine/pending-delivery.d.ts +30 -0
- package/dist/integrations/pi/engine/pending-delivery.js +156 -0
- package/dist/integrations/pi/engine/pi-settings-metadata.json +397 -0
- package/dist/integrations/pi/engine/project-trust-preflight.d.ts +21 -0
- package/dist/integrations/pi/engine/project-trust-preflight.js +46 -0
- package/dist/integrations/pi/engine/prompt-suggestions.d.ts +30 -0
- package/dist/integrations/pi/engine/prompt-suggestions.js +102 -0
- package/dist/integrations/pi/engine/provider-authentication.d.ts +34 -0
- package/dist/integrations/pi/engine/provider-authentication.js +209 -0
- package/dist/integrations/pi/engine/repository-pr-rest.d.ts +21 -0
- package/dist/integrations/pi/engine/repository-pr-rest.js +155 -0
- package/dist/integrations/pi/engine/repository-pr.d.ts +16 -0
- package/dist/integrations/pi/engine/repository-pr.js +79 -0
- package/dist/integrations/pi/engine/resource-catalog.d.ts +50 -0
- package/dist/integrations/pi/engine/resource-catalog.js +299 -0
- package/dist/integrations/pi/engine/resources/changelog.json +12 -0
- package/dist/integrations/pi/engine/runtime-integration.d.ts +53 -0
- package/dist/integrations/pi/engine/runtime-integration.js +118 -0
- package/dist/integrations/pi/engine/session-events.d.ts +48 -0
- package/dist/integrations/pi/engine/session-events.js +223 -0
- package/dist/integrations/pi/engine/session-integration.d.ts +67 -0
- package/dist/integrations/pi/engine/session-integration.js +195 -0
- package/dist/integrations/pi/engine/session-runtime.d.ts +98 -0
- package/dist/integrations/pi/engine/session-runtime.js +412 -0
- package/dist/integrations/pi/engine/session-selection.d.ts +28 -0
- package/dist/integrations/pi/engine/session-selection.js +90 -0
- package/dist/integrations/pi/engine/settings-bridge.d.ts +121 -0
- package/dist/integrations/pi/engine/settings-bridge.js +516 -0
- package/dist/integrations/pi/engine/settings-metadata.d.ts +31 -0
- package/dist/integrations/pi/engine/settings-metadata.js +67 -0
- package/dist/integrations/pi/engine/settings-port.d.ts +42 -0
- package/dist/integrations/pi/engine/settings-port.js +363 -0
- package/dist/integrations/pi/engine/tool-rendering.d.ts +13 -0
- package/dist/integrations/pi/engine/tool-rendering.js +145 -0
- package/dist/integrations/pi/engine/transcript-image-assets.d.ts +11 -0
- package/dist/integrations/pi/engine/transcript-image-assets.js +86 -0
- package/dist/integrations/pi/engine/transcript-projection.d.ts +39 -0
- package/dist/integrations/pi/engine/transcript-projection.js +440 -0
- package/dist/integrations/pi/engine/usage-view.d.ts +4 -0
- package/dist/integrations/pi/engine/usage-view.js +56 -0
- package/dist/integrations/pi/engine/windows-filesystem-hygiene.d.ts +21 -0
- package/dist/integrations/pi/engine/windows-filesystem-hygiene.js +55 -0
- package/dist/integrations/pi/engine/workflow-contexts.d.ts +66 -0
- package/dist/integrations/pi/engine/workflow-contexts.js +360 -0
- package/dist/integrations/pi/engine/workflow-runner.d.ts +60 -0
- package/dist/integrations/pi/engine/workflow-runner.js +536 -0
- package/dist/integrations/pi/engine/workflow-support.d.ts +38 -0
- package/dist/integrations/pi/engine/workflow-support.js +386 -0
- package/dist/integrations/pi/engine/workflows.d.ts +308 -0
- package/dist/integrations/pi/engine/workflows.js +81 -0
- package/dist/integrations/pi/startup-public.d.ts +2 -0
- package/dist/integrations/pi/startup-public.js +2254 -0
- package/dist/integrations/pi/startup-public.manifest.json +12679 -0
- package/dist/integrations/pi/tui-runtime/adapter.d.ts +58 -0
- package/dist/integrations/pi/tui-runtime/adapter.js +792 -0
- package/dist/integrations/pi/tui-runtime/contracts.d.ts +158 -0
- package/dist/integrations/pi/tui-runtime/contracts.js +1 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +88 -0
- package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +439 -0
- package/dist/integrations/pi/tui-runtime/index.d.ts +9 -0
- package/dist/integrations/pi/tui-runtime/index.js +5 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +39 -0
- package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.js +139 -0
- package/dist/integrations/pi/tui-runtime/mouse-report-input.d.ts +19 -0
- package/dist/integrations/pi/tui-runtime/mouse-report-input.js +91 -0
- package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +32 -0
- package/dist/integrations/pi/tui-runtime/overlay-geometry.js +158 -0
- package/dist/integrations/pi/tui-runtime/presentation-adapter.d.ts +4 -0
- package/dist/integrations/pi/tui-runtime/presentation-adapter.js +48 -0
- package/dist/native/darwin-arm64/manifest.json +4 -4
- package/dist/native/darwin-arm64/process-guardian +0 -0
- package/dist/native/linux-x64/manifest.json +3 -3
- package/dist/native/linux-x64/process-guardian +0 -0
- package/dist/native/win32-x64/manifest.json +3 -3
- package/dist/native/win32-x64/process-guardian.exe +0 -0
- package/dist/product-identity.d.ts +37 -0
- package/dist/product-identity.js +119 -0
- package/dist/product-identity.json +87 -0
- package/dist/runtime-payload-inventory.json +134179 -0
- package/dist/ui/apps/contracts.d.ts +72 -0
- package/dist/ui/apps/host.d.ts +42 -0
- package/dist/ui/apps/host.js +156 -0
- package/dist/ui/apps/index.d.ts +5 -0
- package/dist/ui/apps/index.js +3 -0
- package/dist/ui/apps/registry.d.ts +12 -0
- package/dist/ui/apps/registry.js +33 -0
- package/dist/ui/components/dialog-panel.d.ts +37 -0
- package/dist/ui/components/dialog-panel.js +58 -0
- package/dist/ui/components/frame.d.ts +22 -0
- package/dist/ui/components/frame.js +55 -0
- package/dist/ui/components/index.d.ts +50 -0
- package/dist/ui/components/index.js +26 -0
- package/dist/ui/components/line-input.d.ts +68 -0
- package/dist/ui/components/line-input.js +224 -0
- package/dist/ui/components/list-block.d.ts +70 -0
- package/dist/ui/components/list-block.js +189 -0
- package/dist/ui/components/list-view.d.ts +60 -0
- package/dist/ui/components/list-view.js +84 -0
- package/dist/ui/components/mouse.d.ts +25 -0
- package/dist/ui/components/mouse.js +72 -0
- package/dist/ui/components/progress-status.d.ts +9 -0
- package/dist/ui/components/progress-status.js +25 -0
- package/dist/ui/components/prompt-input.d.ts +32 -0
- package/dist/ui/components/prompt-input.js +51 -0
- package/dist/ui/components/scrollbar.d.ts +88 -0
- package/dist/ui/components/scrollbar.js +137 -0
- package/dist/ui/components/selection-copy.d.ts +24 -0
- package/dist/ui/components/selection-copy.js +39 -0
- package/dist/ui/components/shortcut-hints.d.ts +7 -0
- package/dist/ui/components/shortcut-hints.js +12 -0
- package/dist/ui/components/shortcuts.d.ts +60 -0
- package/dist/ui/components/shortcuts.js +85 -0
- package/dist/ui/components/spans.d.ts +28 -0
- package/dist/ui/components/spans.js +266 -0
- package/dist/ui/components/submitted-prompt.d.ts +23 -0
- package/dist/ui/components/submitted-prompt.js +50 -0
- package/dist/ui/components/surface.d.ts +20 -0
- package/dist/ui/components/surface.js +44 -0
- package/dist/ui/components/text-selection.d.ts +62 -0
- package/dist/ui/components/text-selection.js +210 -0
- package/dist/ui/components/text.d.ts +38 -0
- package/dist/ui/components/text.js +185 -0
- package/dist/ui/components/theme.d.ts +19 -0
- package/dist/ui/components/theme.js +9 -0
- package/dist/ui/components/transcript-viewport.d.ts +187 -0
- package/dist/ui/components/transcript-viewport.js +886 -0
- package/dist/ui/components/value-menu.d.ts +43 -0
- package/dist/ui/components/value-menu.js +41 -0
- package/dist/ui/components/visible-hyperlinks.d.ts +26 -0
- package/dist/ui/components/visible-hyperlinks.js +97 -0
- package/dist/ui/settings/declarations.d.ts +127 -0
- package/dist/ui/settings/declarations.js +124 -0
- package/dist/ui/settings/index.d.ts +10 -0
- package/dist/ui/settings/index.js +5 -0
- package/dist/ui/settings/manager.d.ts +54 -0
- package/dist/ui/settings/manager.js +256 -0
- package/dist/ui/settings/migrations.d.ts +13 -0
- package/dist/ui/settings/migrations.js +92 -0
- package/dist/ui/settings/sections.d.ts +52 -0
- package/dist/ui/settings/sections.js +112 -0
- package/docs/architecture/boundaries.md +17 -13
- package/docs/architecture/code-documentation.md +77 -0
- package/docs/architecture/history-editor-provenance.md +100 -0
- package/docs/architecture/internal-naming.md +94 -0
- package/docs/architecture/process-guardian-provenance.md +3 -1
- package/docs/architecture/project-structure.md +72 -30
- package/docs/architecture/prompt-suggestions.md +68 -0
- package/docs/architecture/resource-and-data-policy.md +28 -2
- package/docs/architecture/response-copy-delivery.md +85 -0
- package/docs/architecture/terminal-host-proof-gate.md +1 -1
- package/docs/architecture/terminal-host-spike-evidence.md +1 -1
- package/docs/architecture/tool-image-presentation.md +62 -0
- package/docs/architecture/toolchain.md +34 -10
- package/docs/architecture/ui-reference-provenance.md +73 -6
- package/docs/ci-release-runbook.md +266 -77
- package/docs/features/launch-profiles.md +24 -17
- package/docs/features/modal-content-interaction.md +38 -0
- package/docs/features/prompt-history.md +149 -0
- package/docs/local-worktree-cleanup.md +214 -0
- package/docs/manual-code-streaming-cleanup.md +88 -0
- package/docs/manual-ghost-link-baseline.md +89 -0
- package/docs/manual-launch-instance-acceptance.md +12 -35
- package/docs/manual-owned-ui-checkpoint.md +79 -0
- package/docs/manual-pi-boundary-candidate.md +4 -5
- package/docs/manual-terminal-colour-check.md +4 -3
- package/docs/openspec-archive-automation.md +269 -0
- package/docs/repository-governance-live-acceptance.md +77 -0
- package/docs/validation.md +105 -0
- package/package.json +53 -34
- package/dist/src/cli/capabilities.d.ts +0 -15
- package/dist/src/cli/capabilities.js +0 -7
- package/dist/src/cli/dispatch.d.ts +0 -31
- package/dist/src/cli/dispatch.js +0 -123
- package/dist/src/cli/index.d.ts +0 -5
- package/dist/src/cli/index.js +0 -5
- package/dist/src/cli/packages.d.ts +0 -23
- package/dist/src/cli/packages.js +0 -84
- package/dist/src/cli/version-stats.d.ts +0 -16
- package/dist/src/cli/version-stats.js +0 -72
- package/dist/src/cli/version.d.ts +0 -2
- package/dist/src/cli/version.js +0 -23
- package/dist/src/composition/index.d.ts +0 -48
- package/dist/src/composition/index.js +0 -258
- package/dist/src/features/launch/development-launch.js +0 -28
- package/dist/src/features/launch/index.d.ts +0 -7
- package/dist/src/features/launch/index.js +0 -7
- package/dist/src/features/launch/intent.d.ts +0 -7
- package/dist/src/features/launch/intent.js +0 -4
- package/dist/src/features/launch/prepare-launch.d.ts +0 -13
- package/dist/src/features/launch/prepare-launch.js +0 -21
- package/dist/src/features/launch/profile-paths.d.ts +0 -15
- package/dist/src/features/launch/profile-paths.js +0 -31
- package/dist/src/features/launch/profiles.d.ts +0 -12
- package/dist/src/features/launch/profiles.js +0 -26
- package/dist/src/features/launch/runtime-selection.d.ts +0 -19
- package/dist/src/features/launch/runtime-selection.js +0 -13
- package/dist/src/features/owned-ui/customization.d.ts +0 -38
- package/dist/src/features/owned-ui/customization.js +0 -108
- package/dist/src/features/owned-ui/diagnostics.d.ts +0 -33
- package/dist/src/features/owned-ui/diagnostics.js +0 -94
- package/dist/src/features/owned-ui/index.d.ts +0 -4
- package/dist/src/features/owned-ui/index.js +0 -4
- package/dist/src/features/owned-ui/run.d.ts +0 -11
- package/dist/src/features/owned-ui/run.js +0 -15
- package/dist/src/features/owned-ui/settings-app.d.ts +0 -22
- package/dist/src/features/owned-ui/settings-app.js +0 -633
- package/dist/src/features/workspace/capabilities.d.ts +0 -31
- package/dist/src/features/workspace/capabilities.js +0 -75
- package/dist/src/features/workspace/index.d.ts +0 -6
- package/dist/src/features/workspace/index.js +0 -6
- package/dist/src/features/workspace/presentation.d.ts +0 -30
- package/dist/src/features/workspace/presentation.js +0 -70
- package/dist/src/features/workspace/reconciliation.d.ts +0 -15
- package/dist/src/features/workspace/reconciliation.js +0 -82
- package/dist/src/features/workspace/reducer.d.ts +0 -42
- package/dist/src/features/workspace/reducer.js +0 -213
- package/dist/src/features/workspace/router.d.ts +0 -31
- package/dist/src/features/workspace/router.js +0 -124
- package/dist/src/features/workspace/store.d.ts +0 -17
- package/dist/src/features/workspace/store.js +0 -54
- package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +0 -95
- package/dist/src/foundation/agent-engine-contracts/domain-validation.js +0 -89
- package/dist/src/foundation/agent-engine-contracts/domain.d.ts +0 -116
- package/dist/src/foundation/agent-engine-contracts/index.d.ts +0 -8
- package/dist/src/foundation/agent-engine-contracts/index.js +0 -8
- package/dist/src/foundation/agent-engine-contracts/package-ports.d.ts +0 -54
- package/dist/src/foundation/launch-guardian/index.d.ts +0 -1
- package/dist/src/foundation/launch-guardian/index.js +0 -1
- package/dist/src/foundation/launch-guardian/main.d.ts +0 -31
- package/dist/src/foundation/launch-guardian/main.js +0 -165
- package/dist/src/foundation/lifecycle/index.d.ts +0 -4
- package/dist/src/foundation/lifecycle/index.js +0 -4
- package/dist/src/foundation/lifecycle/model.d.ts +0 -64
- package/dist/src/foundation/lifecycle/model.js +0 -40
- package/dist/src/foundation/lifecycle/paths.d.ts +0 -10
- package/dist/src/foundation/lifecycle/paths.js +0 -42
- package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -11
- package/dist/src/foundation/native-host-protocol/codec.js +0 -56
- package/dist/src/foundation/native-host-protocol/evidence.d.ts +0 -67
- package/dist/src/foundation/native-host-protocol/evidence.js +0 -141
- package/dist/src/foundation/native-host-protocol/index.d.ts +0 -4
- package/dist/src/foundation/native-host-protocol/index.js +0 -4
- package/dist/src/foundation/native-host-protocol/messages.d.ts +0 -56
- package/dist/src/foundation/native-host-protocol/messages.js +0 -149
- package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -13
- package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -33
- package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -302
- package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -3
- package/dist/src/foundation/owned-ui-contracts/index.js +0 -3
- package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -241
- package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -11
- package/dist/src/foundation/owned-ui-contracts/validation.js +0 -395
- package/dist/src/foundation/owned-ui-settings/declarations.d.ts +0 -13
- package/dist/src/foundation/owned-ui-settings/declarations.js +0 -39
- package/dist/src/foundation/owned-ui-settings/index.d.ts +0 -6
- package/dist/src/foundation/owned-ui-settings/index.js +0 -6
- package/dist/src/foundation/owned-ui-settings/migrations.d.ts +0 -13
- package/dist/src/foundation/owned-ui-settings/migrations.js +0 -28
- package/dist/src/foundation/owned-ui-settings/sections.d.ts +0 -70
- package/dist/src/foundation/owned-ui-settings/sections.js +0 -93
- package/dist/src/foundation/owned-ui-settings/session.d.ts +0 -44
- package/dist/src/foundation/owned-ui-settings/session.js +0 -145
- package/dist/src/foundation/owned-ui-settings/store.d.ts +0 -28
- package/dist/src/foundation/owned-ui-settings/store.js +0 -90
- package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -4
- package/dist/src/foundation/pi-component-adapter/components.js +0 -64
- package/dist/src/foundation/pi-component-adapter/conformance.d.ts +0 -17
- package/dist/src/foundation/pi-component-adapter/conformance.js +0 -69
- package/dist/src/foundation/pi-component-adapter/index.d.ts +0 -13
- package/dist/src/foundation/pi-component-adapter/index.js +0 -13
- package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +0 -165
- package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +0 -166
- package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -6
- package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -6
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -11
- package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +0 -162
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -35
- package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -279
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -7
- package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +0 -189
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -57
- package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -429
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +0 -113
- package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +0 -235
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -116
- package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -87
- package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
- package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -422
- package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -296
- package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -10
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -17
- package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -51
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -22
- package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -142
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -4
- package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +0 -19
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -17
- package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -81
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -24
- package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -105
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -2
- package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -18
- package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -77
- package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +0 -18
- package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +0 -55
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -55
- package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -342
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +0 -10
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +0 -120
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -159
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -95
- package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -889
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +0 -19
- package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +0 -44
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -30
- package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -59
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -98
- package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1272
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -33
- package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -76
- package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -39
- package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -15
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -25
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +0 -117
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +0 -61
- package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +0 -326
- package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +0 -164
- package/dist/src/foundation/pi-engine-adapter/adapter.js +0 -2367
- package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +0 -37
- package/dist/src/foundation/pi-engine-adapter/conformance.js +0 -130
- package/dist/src/foundation/pi-engine-adapter/index.d.ts +0 -10
- package/dist/src/foundation/pi-engine-adapter/index.js +0 -10
- package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +0 -30
- package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +0 -61
- package/dist/src/foundation/pi-engine-adapter/package-integration.d.ts +0 -13
- package/dist/src/foundation/pi-engine-adapter/package-integration.js +0 -112
- package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +0 -374
- package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +0 -31
- package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +0 -80
- package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +0 -35
- package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +0 -67
- package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +0 -43
- package/dist/src/foundation/pi-engine-adapter/session-integration.js +0 -97
- package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +0 -55
- package/dist/src/foundation/pi-engine-adapter/settings-integration.js +0 -233
- package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +0 -20
- package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +0 -48
- package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +0 -173
- package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -60
- package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +0 -2
- package/dist/src/foundation/pi-owned-ui-integration/index.js +0 -2
- package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +0 -29
- package/dist/src/foundation/pi-owned-ui-integration/session-shell.d.ts +0 -106
- package/dist/src/foundation/pi-owned-ui-integration/session-shell.js +0 -1518
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +0 -39
- package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +0 -493
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +0 -18
- package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +0 -145
- package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -120
- package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/index.js +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +0 -4
- package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +0 -48
- package/dist/src/foundation/presentation-contracts/index.d.ts +0 -96
- package/dist/src/foundation/presentation-contracts/index.js +0 -38
- package/dist/src/foundation/process-containment/index.d.ts +0 -5
- package/dist/src/foundation/process-containment/index.js +0 -5
- package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +0 -6
- package/dist/src/foundation/process-containment/linux-process-inspector.js +0 -26
- package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +0 -16
- package/dist/src/foundation/process-containment/native-guardian-containment.js +0 -139
- package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +0 -17
- package/dist/src/foundation/process-containment/windows-process-inspector.js +0 -53
- package/dist/src/foundation/protocol/client.d.ts +0 -17
- package/dist/src/foundation/protocol/client.js +0 -129
- package/dist/src/foundation/protocol/index.d.ts +0 -2
- package/dist/src/foundation/protocol/index.js +0 -2
- package/dist/src/foundation/protocol/messages.d.ts +0 -89
- package/dist/src/foundation/protocol/messages.js +0 -99
- package/dist/src/foundation/release/bootstrap.d.ts +0 -29
- package/dist/src/foundation/release/bootstrap.js +0 -335
- package/dist/src/foundation/release/cohort-state.d.ts +0 -70
- package/dist/src/foundation/release/cohort-state.js +0 -202
- package/dist/src/foundation/release/development-preview-release.d.ts +0 -49
- package/dist/src/foundation/release/development-preview-release.js +0 -114
- package/dist/src/foundation/release/index.d.ts +0 -11
- package/dist/src/foundation/release/index.js +0 -11
- package/dist/src/foundation/release/release-gc.d.ts +0 -5
- package/dist/src/foundation/release/release-gc.js +0 -16
- package/dist/src/foundation/release/release-store.d.ts +0 -43
- package/dist/src/foundation/release/release-store.js +0 -175
- package/dist/src/foundation/release/release.d.ts +0 -38
- package/dist/src/foundation/release/release.js +0 -204
- package/dist/src/foundation/release/update-transaction.d.ts +0 -31
- package/dist/src/foundation/release/update-transaction.js +0 -89
- package/dist/src/foundation/release/update.d.ts +0 -80
- package/dist/src/foundation/release/update.js +0 -458
- package/dist/src/foundation/storage/control-store.d.ts +0 -61
- package/dist/src/foundation/storage/control-store.js +0 -530
- package/dist/src/foundation/storage/index.d.ts +0 -1
- package/dist/src/foundation/storage/index.js +0 -1
- package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -46
- package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -118
- package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -52
- package/dist/src/foundation/structured-agent-runtime/commands.js +0 -164
- package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +0 -41
- package/dist/src/foundation/structured-agent-runtime/handshake.js +0 -151
- package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -5
- package/dist/src/foundation/structured-agent-runtime/index.js +0 -5
- package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -37
- package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -129
- package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -56
- package/dist/src/foundation/structured-agent-runtime/state.js +0 -118
- package/dist/src/foundation/supervision/index.d.ts +0 -3
- package/dist/src/foundation/supervision/index.js +0 -3
- package/dist/src/foundation/supervision/main.d.ts +0 -1
- package/dist/src/foundation/supervision/main.js +0 -41
- package/dist/src/foundation/supervision/paths.d.ts +0 -1
- package/dist/src/foundation/supervision/paths.js +0 -1
- package/dist/src/foundation/supervision/server.d.ts +0 -22
- package/dist/src/foundation/supervision/server.js +0 -451
- package/dist/src/foundation/ui-apps/contracts.d.ts +0 -42
- package/dist/src/foundation/ui-apps/host.d.ts +0 -42
- package/dist/src/foundation/ui-apps/host.js +0 -152
- package/dist/src/foundation/ui-apps/index.d.ts +0 -3
- package/dist/src/foundation/ui-apps/index.js +0 -3
- package/dist/src/foundation/ui-apps/registry.d.ts +0 -11
- package/dist/src/foundation/ui-apps/registry.js +0 -32
- package/dist/src/foundation/ui-components/dialog-panel.d.ts +0 -36
- package/dist/src/foundation/ui-components/dialog-panel.js +0 -47
- package/dist/src/foundation/ui-components/frame.d.ts +0 -21
- package/dist/src/foundation/ui-components/frame.js +0 -54
- package/dist/src/foundation/ui-components/index.d.ts +0 -18
- package/dist/src/foundation/ui-components/index.js +0 -18
- package/dist/src/foundation/ui-components/line-input.d.ts +0 -74
- package/dist/src/foundation/ui-components/line-input.js +0 -245
- package/dist/src/foundation/ui-components/list-block.d.ts +0 -66
- package/dist/src/foundation/ui-components/list-block.js +0 -176
- package/dist/src/foundation/ui-components/list-view.d.ts +0 -66
- package/dist/src/foundation/ui-components/list-view.js +0 -76
- package/dist/src/foundation/ui-components/mouse.d.ts +0 -15
- package/dist/src/foundation/ui-components/mouse.js +0 -46
- package/dist/src/foundation/ui-components/scrollbar.d.ts +0 -62
- package/dist/src/foundation/ui-components/scrollbar.js +0 -102
- package/dist/src/foundation/ui-components/shortcuts.d.ts +0 -57
- package/dist/src/foundation/ui-components/shortcuts.js +0 -81
- package/dist/src/foundation/ui-components/spans.d.ts +0 -7
- package/dist/src/foundation/ui-components/spans.js +0 -59
- package/dist/src/foundation/ui-components/surface.d.ts +0 -20
- package/dist/src/foundation/ui-components/surface.js +0 -38
- package/dist/src/foundation/ui-components/text.d.ts +0 -24
- package/dist/src/foundation/ui-components/text.js +0 -123
- package/dist/src/foundation/ui-components/theme.d.ts +0 -23
- package/dist/src/foundation/ui-components/theme.js +0 -13
- package/dist/src/foundation/ui-components/value-menu.d.ts +0 -41
- package/dist/src/foundation/ui-components/value-menu.js +0 -33
- package/dist/src/foundation/workspace-contracts/index.d.ts +0 -2
- package/dist/src/foundation/workspace-contracts/index.js +0 -2
- package/dist/src/foundation/workspace-contracts/model.d.ts +0 -248
- package/dist/src/foundation/workspace-contracts/model.js +0 -2
- package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -13
- package/dist/src/foundation/workspace-contracts/validation.js +0 -335
- package/dist/src/product-identity.d.ts +0 -37
- package/dist/src/product-identity.js +0 -150
- package/dist/src/product-identity.json +0 -99
- package/docs/manual-transparent-checkpoint.md +0 -53
- /package/dist/{src/foundation/agent-engine-contracts/domain.js → app/session-shell/paste-helper.d.ts} +0 -0
- /package/dist/{src/foundation/agent-engine-contracts/ports.js → app/session-shell/paste-text-worker.d.ts} +0 -0
- /package/dist/{src/foundation/lifecycle/commands.js → app/session-shell/paste-types.js} +0 -0
- /package/dist/{src/foundation/pi-owned-ui-integration/route-host.js → app/session-shell/response-copy-helper.d.ts} +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/capability-ports.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/domain-validation.d.ts +0 -0
- /package/dist/{src/foundation/pi-tui-runtime-adapter/contracts.js → contracts/agent-engine/domain.js} +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/model.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/package-ports.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/ports.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/serialization.js +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.d.ts +0 -0
- /package/dist/{src/foundation/agent-engine-contracts → contracts/agent-engine}/validation.js +0 -0
- /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/extension-ui.js +0 -0
- /package/dist/{src/foundation/owned-ui-contracts → contracts/owned-ui}/model.js +0 -0
- /package/dist/{src/features → features}/launch/development-launch.d.ts +0 -0
- /package/dist/{src/features → features}/launch/initialize-profile.d.ts +0 -0
- /package/dist/{src/features → features}/launch/initialize-profile.js +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/commands.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/lifecycle/launch-instance.js +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/artifact.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/artifact.js +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/contracts.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/process-containment/contracts.js +0 -0
- /package/dist/{src/foundation → foundation}/release/cohort-selection.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/cohort-selection.js +0 -0
- /package/dist/{src/foundation → foundation}/release/concurrency.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/concurrency.js +0 -0
- /package/dist/{src/foundation → foundation}/release/process-cleanup.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/process-cleanup.js +0 -0
- /package/dist/{src/foundation → foundation}/release/stable-release.d.ts +0 -0
- /package/dist/{src/foundation → foundation}/release/stable-release.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/countdown-timer.js +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/mermaid.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/components/session-selector-search.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/external-editor.d.ts +0 -0
- /package/dist/{src/foundation/pi-component-adapter → integrations/pi/components}/upstream/model-search.js +0 -0
- /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.d.ts +0 -0
- /package/dist/{src/foundation/pi-engine-adapter → integrations/pi/engine}/public-main-entry.js +0 -0
- /package/dist/{src/foundation/ui-apps → ui/apps}/contracts.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/label.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/label.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/pane.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/pane.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/revision.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/revision.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/status-line.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/status-line.js +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/stepper.d.ts +0 -0
- /package/dist/{src/foundation/ui-components → ui/components}/stepper.js +0 -0
- /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.d.ts +0 -0
- /package/dist/{src/foundation/owned-ui-settings → ui/settings}/resolution.js +0 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Replaces the visible columns `[from, to)` of `line` with `span`, preserving
|
|
3
|
+
* the styling before it and re-asserting whatever was still open afterwards, so
|
|
4
|
+
* the tail keeps the colour it had. A wide character straddling either edge is
|
|
5
|
+
* replaced by spaces rather than split. Opt into the replaced cell's boundary
|
|
6
|
+
* style for background-preserving overlays; the span still owns its decoration.
|
|
7
|
+
*/
|
|
8
|
+
export declare function overlaySpan(line: string, from: number, to: number, span: string, options?: {
|
|
9
|
+
readonly inheritStartStyle?: boolean;
|
|
10
|
+
}): string;
|
|
11
|
+
/** Wraps visible columns `[from,to)` in an explicit OSC 8 hyperlink. */
|
|
12
|
+
export declare function hyperlinkSgrSpan(line: string, from: number, to: number, target: string, widthOf?: (text: string) => number): string;
|
|
13
|
+
/** Returns the OSC 8 target painted at a zero-based visible terminal column. */
|
|
14
|
+
export declare function hyperlinkTargetAtColumn(line: string, targetColumn: number, widthOf?: (text: string) => number): string | undefined;
|
|
15
|
+
/**
|
|
16
|
+
* Gives existing and bare web links explicit, tightly bounded OSC 8 regions so
|
|
17
|
+
* the terminal owns dotted-idle/solid-hover decoration without leaking hover
|
|
18
|
+
* state into cells repainted during scrolling.
|
|
19
|
+
*/
|
|
20
|
+
export declare function nativeHyperlinkStyle(line: string, color?: (text: string, target: string) => string): string;
|
|
21
|
+
/**
|
|
22
|
+
* Held-button paint for terminal-native links. OSC 8 is removed so the terminal
|
|
23
|
+
* cannot switch a selected link to its solid hover underline. A dotted SGR
|
|
24
|
+
* underline preserves the idle appearance, and VS15 transiently breaks native
|
|
25
|
+
* plain-text URL detection without changing visible width.
|
|
26
|
+
*/
|
|
27
|
+
export declare function heldNativeHyperlinkStyle(line: string): string;
|
|
28
|
+
export declare function backgroundSgrSpan(line: string, from: number, to: number, on?: string, off?: string, widthOf?: (text: string) => number): string;
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { displayWidth } from "./text.js";
|
|
2
|
+
/**
|
|
3
|
+
* Ported from the A1 UI reference implementation (`core/presentation/spans.ts`).
|
|
4
|
+
* Writing over part of a rendered row is not string slicing: the row carries
|
|
5
|
+
* styling and hyperlink sequences, and cutting through them either loses the
|
|
6
|
+
* styling of the tail or leaks the span's own reset into it.
|
|
7
|
+
*/
|
|
8
|
+
const ANSI_SEQUENCE = "\\u001b(?:\\[[0-?]*[ -/]*[@-~]|[\\]_][^\\u0007\\u001b]*(?:\\u0007|\\u001b\\\\|$))";
|
|
9
|
+
const ANSI_SPLIT = new RegExp(`(${ANSI_SEQUENCE})`);
|
|
10
|
+
const HYPERLINK = /^\]8;;([^]*)(?:|\\)?$/;
|
|
11
|
+
const HYPERLINK_OFF = "]8;;\\";
|
|
12
|
+
const SGR = /^\[[0-9;]*m$/;
|
|
13
|
+
const BARE_URL = /https?:\/\/[^\s\u0000-\u001f\u007f<>"']+/giu;
|
|
14
|
+
const TRAILING_URL_PUNCTUATION = /[.,;:!?]/u;
|
|
15
|
+
const GRAPHEMES = new Intl.Segmenter(undefined, { granularity: "grapheme" });
|
|
16
|
+
/**
|
|
17
|
+
* Replaces the visible columns `[from, to)` of `line` with `span`, preserving
|
|
18
|
+
* the styling before it and re-asserting whatever was still open afterwards, so
|
|
19
|
+
* the tail keeps the colour it had. A wide character straddling either edge is
|
|
20
|
+
* replaced by spaces rather than split. Opt into the replaced cell's boundary
|
|
21
|
+
* style for background-preserving overlays; the span still owns its decoration.
|
|
22
|
+
*/
|
|
23
|
+
export function overlaySpan(line, from, to, span, options = {}) {
|
|
24
|
+
let head = "";
|
|
25
|
+
let replay = "";
|
|
26
|
+
let tail = "";
|
|
27
|
+
let column = 0;
|
|
28
|
+
let hyperlinkOpen = false;
|
|
29
|
+
for (const token of line.split(ANSI_SPLIT)) {
|
|
30
|
+
if (!token)
|
|
31
|
+
continue;
|
|
32
|
+
if (token.startsWith("")) {
|
|
33
|
+
// Protocol: image transfers are one-shot commands, not styling to replay after an overlay.
|
|
34
|
+
if (token.startsWith("\u001b_G") || token.startsWith("\u001b]1337;File=")) {
|
|
35
|
+
if (column >= to)
|
|
36
|
+
tail += token;
|
|
37
|
+
else
|
|
38
|
+
head += token;
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
if (column >= to) {
|
|
42
|
+
tail += token;
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
if (column < from || (options.inheritStartStyle === true && column === from)) {
|
|
46
|
+
head += token;
|
|
47
|
+
const link = HYPERLINK.exec(token);
|
|
48
|
+
if (link)
|
|
49
|
+
hyperlinkOpen = (link[1] ?? "").length > 0;
|
|
50
|
+
}
|
|
51
|
+
// Invariant: re-assert everything still active: the span's own reset clobbers the tail.
|
|
52
|
+
replay += token;
|
|
53
|
+
continue;
|
|
54
|
+
}
|
|
55
|
+
for (const { segment } of GRAPHEMES.segment(token)) {
|
|
56
|
+
const width = displayWidth(segment);
|
|
57
|
+
if (column + width <= from)
|
|
58
|
+
head += segment;
|
|
59
|
+
else if (column >= to)
|
|
60
|
+
tail += segment;
|
|
61
|
+
else if (column < from)
|
|
62
|
+
head += " ".repeat(from - column);
|
|
63
|
+
else if (column + width > to)
|
|
64
|
+
tail += " ".repeat(column + width - to);
|
|
65
|
+
column += width;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (column < from)
|
|
69
|
+
head += " ".repeat(from - column);
|
|
70
|
+
return head + (hyperlinkOpen ? HYPERLINK_OFF : "") + span + replay + tail;
|
|
71
|
+
}
|
|
72
|
+
/** Wraps visible columns `[from,to)` in an explicit OSC 8 hyperlink. */
|
|
73
|
+
export function hyperlinkSgrSpan(line, from, to, target, widthOf = displayWidth) {
|
|
74
|
+
const on = `\u001b]8;;${target}\u001b\\`;
|
|
75
|
+
const off = "\u001b]8;;\u001b\\";
|
|
76
|
+
let output = "";
|
|
77
|
+
let column = 0;
|
|
78
|
+
let inside = false;
|
|
79
|
+
for (const token of line.split(ANSI_SPLIT)) {
|
|
80
|
+
if (!token)
|
|
81
|
+
continue;
|
|
82
|
+
if (token.startsWith("\u001b")) {
|
|
83
|
+
output += token;
|
|
84
|
+
continue;
|
|
85
|
+
}
|
|
86
|
+
for (const { segment } of GRAPHEMES.segment(token)) {
|
|
87
|
+
const shouldBeInside = column >= from && column < to;
|
|
88
|
+
if (shouldBeInside !== inside) {
|
|
89
|
+
output += shouldBeInside ? on : off;
|
|
90
|
+
inside = shouldBeInside;
|
|
91
|
+
}
|
|
92
|
+
output += segment;
|
|
93
|
+
column += widthOf(segment);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
if (inside)
|
|
97
|
+
output += off;
|
|
98
|
+
return output;
|
|
99
|
+
}
|
|
100
|
+
/** Returns the OSC 8 target painted at a zero-based visible terminal column. */
|
|
101
|
+
export function hyperlinkTargetAtColumn(line, targetColumn, widthOf = displayWidth) {
|
|
102
|
+
if (targetColumn < 0)
|
|
103
|
+
return undefined;
|
|
104
|
+
let hyperlinkTarget;
|
|
105
|
+
let column = 0;
|
|
106
|
+
for (const token of line.split(ANSI_SPLIT)) {
|
|
107
|
+
if (!token)
|
|
108
|
+
continue;
|
|
109
|
+
const link = HYPERLINK.exec(token);
|
|
110
|
+
if (link) {
|
|
111
|
+
hyperlinkTarget = (link[1] ?? "") || undefined;
|
|
112
|
+
continue;
|
|
113
|
+
}
|
|
114
|
+
if (token.startsWith("\u001b"))
|
|
115
|
+
continue;
|
|
116
|
+
for (const { segment } of GRAPHEMES.segment(token)) {
|
|
117
|
+
const width = widthOf(segment);
|
|
118
|
+
if (targetColumn >= column && targetColumn < column + width)
|
|
119
|
+
return hyperlinkTarget;
|
|
120
|
+
column += width;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return undefined;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Gives existing and bare web links explicit, tightly bounded OSC 8 regions so
|
|
127
|
+
* the terminal owns dotted-idle/solid-hover decoration without leaking hover
|
|
128
|
+
* state into cells repainted during scrolling.
|
|
129
|
+
*/
|
|
130
|
+
export function nativeHyperlinkStyle(line, color = text => text) {
|
|
131
|
+
let hyperlinkTarget;
|
|
132
|
+
let sgrReplay = "";
|
|
133
|
+
let output = "";
|
|
134
|
+
for (const token of line.split(ANSI_SPLIT)) {
|
|
135
|
+
if (!token)
|
|
136
|
+
continue;
|
|
137
|
+
const link = HYPERLINK.exec(token);
|
|
138
|
+
if (link) {
|
|
139
|
+
hyperlinkTarget = (link[1] ?? "") || undefined;
|
|
140
|
+
output += token;
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (!token.startsWith("\u001b")) {
|
|
144
|
+
output += hyperlinkTarget === undefined
|
|
145
|
+
? decorateBareUrls(token, color, sgrReplay)
|
|
146
|
+
: color(token, hyperlinkTarget);
|
|
147
|
+
continue;
|
|
148
|
+
}
|
|
149
|
+
if (SGR.test(token)) {
|
|
150
|
+
if (token === "\u001b[0m")
|
|
151
|
+
sgrReplay = token;
|
|
152
|
+
else
|
|
153
|
+
sgrReplay += token;
|
|
154
|
+
}
|
|
155
|
+
if (hyperlinkTarget === undefined || (token !== "\u001b[4m" && token !== "\u001b[24m"))
|
|
156
|
+
output += token;
|
|
157
|
+
}
|
|
158
|
+
return hyperlinkTarget === undefined ? output : output + HYPERLINK_OFF;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Held-button paint for terminal-native links. OSC 8 is removed so the terminal
|
|
162
|
+
* cannot switch a selected link to its solid hover underline. A dotted SGR
|
|
163
|
+
* underline preserves the idle appearance, and VS15 transiently breaks native
|
|
164
|
+
* plain-text URL detection without changing visible width.
|
|
165
|
+
*/
|
|
166
|
+
export function heldNativeHyperlinkStyle(line) {
|
|
167
|
+
let hyperlinkTarget;
|
|
168
|
+
let fileDetectorBroken = false;
|
|
169
|
+
let output = "";
|
|
170
|
+
for (const token of line.split(ANSI_SPLIT)) {
|
|
171
|
+
if (!token)
|
|
172
|
+
continue;
|
|
173
|
+
const link = HYPERLINK.exec(token);
|
|
174
|
+
if (link) {
|
|
175
|
+
const nextTarget = (link[1] ?? "") || undefined;
|
|
176
|
+
if ((nextTarget !== undefined) !== (hyperlinkTarget !== undefined)) {
|
|
177
|
+
output += nextTarget === undefined ? "\u001b[24m" : "\u001b[4:4m";
|
|
178
|
+
}
|
|
179
|
+
if (nextTarget !== hyperlinkTarget)
|
|
180
|
+
fileDetectorBroken = false;
|
|
181
|
+
hyperlinkTarget = nextTarget;
|
|
182
|
+
continue;
|
|
183
|
+
}
|
|
184
|
+
if (token.startsWith("\u001b")) {
|
|
185
|
+
output += token;
|
|
186
|
+
// Protocol: foreground helpers may reset every SGR attribute; restore the held
|
|
187
|
+
// dotted underline without disturbing the source colour or intensity.
|
|
188
|
+
if (hyperlinkTarget !== undefined && SGR.test(token))
|
|
189
|
+
output += "\u001b[4:4m";
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
if (hyperlinkTarget === undefined) {
|
|
193
|
+
output += token;
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
let painted = token.replaceAll("https://", "https:\uFE0E//").replaceAll("http://", "http:\uFE0E//");
|
|
197
|
+
// Platform: Windows Terminal also detects file-link labels such as package.json and
|
|
198
|
+
// D:/work/file.ts after OSC 8 is removed. Break that detector once inside
|
|
199
|
+
// the paint-only label; semantic transcript text remains untouched.
|
|
200
|
+
if (!fileDetectorBroken && /^file:/iu.test(hyperlinkTarget)) {
|
|
201
|
+
const firstVisible = /\S/u.exec(painted);
|
|
202
|
+
if (firstVisible?.index !== undefined) {
|
|
203
|
+
const index = firstVisible.index;
|
|
204
|
+
const codePoint = painted.codePointAt(index) ?? 0;
|
|
205
|
+
const end = index + (codePoint > 0xffff ? 2 : 1);
|
|
206
|
+
painted = `${painted.slice(0, end)}\uFE0E${painted.slice(end)}`;
|
|
207
|
+
fileDetectorBroken = true;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
output += painted;
|
|
211
|
+
}
|
|
212
|
+
return hyperlinkTarget === undefined ? output : `${output}\u001b[24m`;
|
|
213
|
+
}
|
|
214
|
+
function decorateBareUrls(text, color, sgrReplay) {
|
|
215
|
+
return text.replace(BARE_URL, candidate => {
|
|
216
|
+
const { target, trailing } = splitUrlTrailingPunctuation(candidate);
|
|
217
|
+
if (target.length === 0)
|
|
218
|
+
return candidate;
|
|
219
|
+
return `\u001b]8;;${target}\u001b\\\u001b[24m${color(target, target)}${HYPERLINK_OFF}${sgrReplay}${trailing}`;
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
function splitUrlTrailingPunctuation(candidate) {
|
|
223
|
+
let end = candidate.length;
|
|
224
|
+
while (end > 0 && TRAILING_URL_PUNCTUATION.test(candidate[end - 1] ?? ""))
|
|
225
|
+
end -= 1;
|
|
226
|
+
for (const [opening, closing] of [["(", ")"], ["[", "]"], ["{", "}"]]) {
|
|
227
|
+
while (candidate.slice(0, end).endsWith(closing)
|
|
228
|
+
&& occurrences(candidate.slice(0, end), closing) > occurrences(candidate.slice(0, end), opening)) {
|
|
229
|
+
end -= 1;
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return { target: candidate.slice(0, end), trailing: candidate.slice(end) };
|
|
233
|
+
}
|
|
234
|
+
function occurrences(text, value) {
|
|
235
|
+
return text.split(value).length - 1;
|
|
236
|
+
}
|
|
237
|
+
export function backgroundSgrSpan(line, from, to, on = "\u001b[47m", off = "\u001b[49m", widthOf = displayWidth) {
|
|
238
|
+
let output = "";
|
|
239
|
+
let seen = "";
|
|
240
|
+
let column = 0;
|
|
241
|
+
let inside = false;
|
|
242
|
+
for (const token of line.split(ANSI_SPLIT)) {
|
|
243
|
+
if (!token)
|
|
244
|
+
continue;
|
|
245
|
+
if (token.startsWith("\u001b")) {
|
|
246
|
+
output += token;
|
|
247
|
+
if (SGR.test(token))
|
|
248
|
+
seen += token;
|
|
249
|
+
if (inside)
|
|
250
|
+
output += on;
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
for (const { segment } of GRAPHEMES.segment(token)) {
|
|
254
|
+
const shouldBeInside = column >= from && column < to;
|
|
255
|
+
if (shouldBeInside !== inside) {
|
|
256
|
+
output += shouldBeInside ? on : off + seen;
|
|
257
|
+
inside = shouldBeInside;
|
|
258
|
+
}
|
|
259
|
+
output += segment;
|
|
260
|
+
column += widthOf(segment);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
if (inside)
|
|
264
|
+
output += off;
|
|
265
|
+
return output;
|
|
266
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/** Visible width of the submitted-prompt prefix (`❯ `). */
|
|
2
|
+
export declare const SUBMITTED_PROMPT_PREFIX_WIDTH = 2;
|
|
3
|
+
export interface SubmittedPromptStyle {
|
|
4
|
+
readonly prefix?: (text: string) => string;
|
|
5
|
+
readonly timestamp?: (text: string) => string;
|
|
6
|
+
}
|
|
7
|
+
export interface SubmittedPromptLayout {
|
|
8
|
+
readonly contentWidth: number;
|
|
9
|
+
readonly timestamp: string | null;
|
|
10
|
+
}
|
|
11
|
+
/** Formats transcript metadata, never render time, as local 24-hour HH:mm. */
|
|
12
|
+
export declare function formatSubmittedPromptTime(source: Date | number): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Computes the width at which the prompt's Markdown body must be rendered.
|
|
15
|
+
* The timestamp is omitted rather than allowing it to crowd useful content.
|
|
16
|
+
*/
|
|
17
|
+
export declare function submittedPromptLayout(width: number, source?: Date | number | null): SubmittedPromptLayout;
|
|
18
|
+
/**
|
|
19
|
+
* Composes already-rendered prompt content into the compact submitted bar.
|
|
20
|
+
* Continuations align below the content, not below the prefix, and no row can
|
|
21
|
+
* exceed the supplied terminal width even when the content renderer misbehaves.
|
|
22
|
+
*/
|
|
23
|
+
export declare function composeSubmittedPromptRows(contentRows: readonly string[], width: number, source?: Date | number | null, style?: SubmittedPromptStyle): readonly string[];
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { displayWidth, truncateToWidth } from "./text.js";
|
|
2
|
+
/** Visible width of the submitted-prompt prefix (`❯ `). */
|
|
3
|
+
export const SUBMITTED_PROMPT_PREFIX_WIDTH = 2;
|
|
4
|
+
const TIMESTAMP_MARGIN = 3;
|
|
5
|
+
const MIN_USEFUL_CONTENT_WIDTH = 8;
|
|
6
|
+
/** Formats transcript metadata, never render time, as local 24-hour HH:mm. */
|
|
7
|
+
export function formatSubmittedPromptTime(source) {
|
|
8
|
+
const date = source instanceof Date ? source : new Date(source);
|
|
9
|
+
if (!Number.isFinite(date.getTime()))
|
|
10
|
+
return null;
|
|
11
|
+
return `${String(date.getHours()).padStart(2, "0")}:${String(date.getMinutes()).padStart(2, "0")}`;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Computes the width at which the prompt's Markdown body must be rendered.
|
|
15
|
+
* The timestamp is omitted rather than allowing it to crowd useful content.
|
|
16
|
+
*/
|
|
17
|
+
export function submittedPromptLayout(width, source) {
|
|
18
|
+
const boundedWidth = Math.max(1, width);
|
|
19
|
+
const timestamp = source === undefined || source === null ? null : formatSubmittedPromptTime(source);
|
|
20
|
+
const timestampReserve = timestamp === null ? 0 : displayWidth(timestamp) + TIMESTAMP_MARGIN;
|
|
21
|
+
const canShowTimestamp = timestamp !== null
|
|
22
|
+
&& boundedWidth - SUBMITTED_PROMPT_PREFIX_WIDTH - timestampReserve >= MIN_USEFUL_CONTENT_WIDTH;
|
|
23
|
+
return {
|
|
24
|
+
contentWidth: Math.max(1, boundedWidth - SUBMITTED_PROMPT_PREFIX_WIDTH - (canShowTimestamp ? timestampReserve : 0)),
|
|
25
|
+
timestamp: canShowTimestamp ? timestamp : null,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Composes already-rendered prompt content into the compact submitted bar.
|
|
30
|
+
* Continuations align below the content, not below the prefix, and no row can
|
|
31
|
+
* exceed the supplied terminal width even when the content renderer misbehaves.
|
|
32
|
+
*/
|
|
33
|
+
export function composeSubmittedPromptRows(contentRows, width, source, style = {}) {
|
|
34
|
+
if (width <= 0)
|
|
35
|
+
return [];
|
|
36
|
+
const layout = submittedPromptLayout(width, source);
|
|
37
|
+
const prefix = (style.prefix ?? identity)("❯ ");
|
|
38
|
+
const rows = (contentRows.length === 0 ? [""] : contentRows).map((row, index) => {
|
|
39
|
+
const content = truncateToWidth(row, layout.contentWidth);
|
|
40
|
+
return `${index === 0 ? prefix : " ".repeat(SUBMITTED_PROMPT_PREFIX_WIDTH)}${content}`;
|
|
41
|
+
});
|
|
42
|
+
if (layout.timestamp !== null && rows[0] !== undefined) {
|
|
43
|
+
const gap = Math.max(1, width - displayWidth(rows[0]) - displayWidth(layout.timestamp));
|
|
44
|
+
rows[0] = `${rows[0]}${" ".repeat(gap)}${(style.timestamp ?? identity)(layout.timestamp)}`;
|
|
45
|
+
}
|
|
46
|
+
return rows.map(row => truncateToWidth(row, width));
|
|
47
|
+
}
|
|
48
|
+
function identity(text) {
|
|
49
|
+
return text;
|
|
50
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ScrollbarGeometry, type ScrollbarPresentation } from "./scrollbar.js";
|
|
2
|
+
import type { UiTheme } from "./theme.js";
|
|
3
|
+
/** Columns the rail occupies: its own, plus the gap before it. */
|
|
4
|
+
export declare const RAIL_COLUMNS = 2;
|
|
5
|
+
export interface RailOptions {
|
|
6
|
+
/** Rows at the top the rail does not run beside, such as a sticky header. */
|
|
7
|
+
readonly topInset?: number;
|
|
8
|
+
/** How the rail shows. Absent draws the thin rail whenever the content overflows. */
|
|
9
|
+
readonly presentation?: ScrollbarPresentation;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Draws the rail beside each row, padding the rows to a common width first.
|
|
13
|
+
* A presentation that reserves no space returns the rows untouched.
|
|
14
|
+
*/
|
|
15
|
+
export declare function withScrollbarRail(lines: readonly string[], geometry: ScrollbarGeometry | null, contentWidth: number, theme: UiTheme, options?: RailOptions): readonly string[];
|
|
16
|
+
/**
|
|
17
|
+
* What a list shows instead of rows: a mark and a line, both quiet, sitting in
|
|
18
|
+
* the middle of the space the rows would have had.
|
|
19
|
+
*/
|
|
20
|
+
export declare function renderEmptyState(message: string, mark: string, height: number, width: number, theme: UiTheme): readonly string[];
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { isThumbRow } from "./scrollbar.js";
|
|
2
|
+
import { displayWidth } from "./text.js";
|
|
3
|
+
// Rationale: shared list chrome belongs here rather than in individual screens.
|
|
4
|
+
/** Columns the rail occupies: its own, plus the gap before it. */
|
|
5
|
+
export const RAIL_COLUMNS = 2;
|
|
6
|
+
/**
|
|
7
|
+
* Draws the rail beside each row, padding the rows to a common width first.
|
|
8
|
+
* A presentation that reserves no space returns the rows untouched.
|
|
9
|
+
*/
|
|
10
|
+
export function withScrollbarRail(lines, geometry, contentWidth, theme, options = {}) {
|
|
11
|
+
const inset = options.topInset ?? 0;
|
|
12
|
+
const presentation = options.presentation
|
|
13
|
+
?? { visible: geometry !== null, reservesSpace: true, trackGlyph: "│", thumbGlyph: "│" };
|
|
14
|
+
if (!presentation.reservesSpace)
|
|
15
|
+
return lines;
|
|
16
|
+
const drawn = presentation.visible && geometry !== null;
|
|
17
|
+
return lines.map((line, offset) => {
|
|
18
|
+
const cell = offset < inset || !drawn
|
|
19
|
+
? " "
|
|
20
|
+
: isThumbRow(geometry, offset - inset)
|
|
21
|
+
? theme.fg("accent", presentation.thumbGlyph)
|
|
22
|
+
: theme.fg("dim", presentation.trackGlyph);
|
|
23
|
+
return `${pad(line, contentWidth)} ${cell}`;
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* What a list shows instead of rows: a mark and a line, both quiet, sitting in
|
|
28
|
+
* the middle of the space the rows would have had.
|
|
29
|
+
*/
|
|
30
|
+
export function renderEmptyState(message, mark, height, width, theme) {
|
|
31
|
+
const middle = Math.floor(height / 2);
|
|
32
|
+
return Array.from({ length: Math.max(0, height) }, (_line, index) => {
|
|
33
|
+
if (index === middle - 1)
|
|
34
|
+
return centre(theme.fg("muted", mark), mark, width);
|
|
35
|
+
return index === middle ? centre(theme.fg("muted", message), message, width) : "";
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
function centre(painted, raw, width) {
|
|
39
|
+
return `${" ".repeat(Math.max(0, Math.floor((width - displayWidth(raw)) / 2)))}${painted}`;
|
|
40
|
+
}
|
|
41
|
+
function pad(line, width) {
|
|
42
|
+
const visible = displayWidth(line);
|
|
43
|
+
return visible >= width ? line : line + " ".repeat(width - visible);
|
|
44
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/** A reported pointer cell plus its grapheme-aligned zero-based boundaries. */
|
|
2
|
+
export interface TextSelectionPoint {
|
|
3
|
+
readonly line: number;
|
|
4
|
+
readonly column: number;
|
|
5
|
+
readonly from?: number;
|
|
6
|
+
readonly to?: number;
|
|
7
|
+
}
|
|
8
|
+
export interface TextSelection {
|
|
9
|
+
readonly anchor: TextSelectionPoint;
|
|
10
|
+
readonly head: TextSelectionPoint;
|
|
11
|
+
readonly selecting: boolean;
|
|
12
|
+
/** Ordinary point selection has received at least one distinct motion report. */
|
|
13
|
+
readonly dragged?: boolean;
|
|
14
|
+
/** Word selection uses inclusive pointer-cell endpoints supplied by its semantic range. */
|
|
15
|
+
readonly cell?: boolean;
|
|
16
|
+
readonly fullRow?: boolean;
|
|
17
|
+
/** Paint an edge whitespace run through the viewport's overlaid rail cell. */
|
|
18
|
+
readonly throughFinalColumn?: boolean;
|
|
19
|
+
}
|
|
20
|
+
export interface TextSelectionClick {
|
|
21
|
+
readonly time: number;
|
|
22
|
+
readonly line: number;
|
|
23
|
+
readonly column: number;
|
|
24
|
+
readonly count: number;
|
|
25
|
+
}
|
|
26
|
+
export interface TextSelectionLineContent {
|
|
27
|
+
readonly from?: number;
|
|
28
|
+
readonly to?: number;
|
|
29
|
+
readonly selectable?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** Ordered zero-based, half-open display-column boundaries. */
|
|
32
|
+
export interface OrderedTextSelection {
|
|
33
|
+
readonly start: TextSelectionPoint;
|
|
34
|
+
readonly end: TextSelectionPoint;
|
|
35
|
+
readonly fullRow?: boolean;
|
|
36
|
+
readonly throughFinalColumn?: boolean;
|
|
37
|
+
}
|
|
38
|
+
export interface TextSelectionPressInput {
|
|
39
|
+
readonly line: number;
|
|
40
|
+
readonly column: number;
|
|
41
|
+
readonly contentWidth: number;
|
|
42
|
+
readonly lineText: string;
|
|
43
|
+
readonly lineContent?: TextSelectionLineContent;
|
|
44
|
+
readonly previousClick?: TextSelectionClick;
|
|
45
|
+
readonly now?: number;
|
|
46
|
+
}
|
|
47
|
+
export declare const TEXT_SELECTION_MULTI_CLICK_MS = 500;
|
|
48
|
+
export declare function orderedTextSelection(selection: TextSelection | undefined): OrderedTextSelection | undefined;
|
|
49
|
+
export declare function pressTextSelection(input: TextSelectionPressInput): {
|
|
50
|
+
readonly selection?: TextSelection;
|
|
51
|
+
readonly click: TextSelectionClick;
|
|
52
|
+
readonly kind: "point" | "word" | "line";
|
|
53
|
+
};
|
|
54
|
+
export declare function extendTextSelection(selection: TextSelection | undefined, point: TextSelectionPoint): TextSelection | undefined;
|
|
55
|
+
export declare function releaseTextSelection(selection: TextSelection | undefined): TextSelection | undefined;
|
|
56
|
+
export declare function textSelectionLineExtendColumn(selection: TextSelection, line: number, contentWidth: number): number;
|
|
57
|
+
/** Resolves a reported one-based pointer cell to the complete grapheme it intersects. */
|
|
58
|
+
export declare function textSelectionPointAt(line: number, column: number, lineText: string): TextSelectionPoint;
|
|
59
|
+
export declare function textSelectionText(selection: OrderedTextSelection, rows: readonly string[], lineContent?: (line: number) => TextSelectionLineContent | undefined): string;
|
|
60
|
+
/** Returns the plain cells covered by [from,to), expanding at grapheme edges. */
|
|
61
|
+
export declare function plainTextBetweenColumns(line: string, from: number, to: number): string;
|
|
62
|
+
export declare function usefulTextLineContent(line: string, from?: number): TextSelectionLineContent;
|