@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.
Files changed (524) hide show
  1. package/README.md +11 -36
  2. package/bin/cli.js +2 -17
  3. package/bin/ui.js +10 -51
  4. package/dist/app/session-shell/clipboard-diagnostics.d.ts +2 -2
  5. package/dist/app/session-shell/clipboard-image.d.ts +0 -1
  6. package/dist/app/session-shell/clipboard-image.js +1 -1
  7. package/dist/app/session-shell/dialog-coordinator.d.ts +6 -5
  8. package/dist/app/session-shell/dialog-coordinator.js +3 -4
  9. package/dist/app/session-shell/dock-chrome.d.ts +11 -6
  10. package/dist/app/session-shell/dock-chrome.js +5 -8
  11. package/dist/app/session-shell/editor-hyperlink-budget.d.ts +0 -2
  12. package/dist/app/session-shell/editor-hyperlink-budget.js +1 -1
  13. package/dist/app/session-shell/exit-notice.d.ts +3 -3
  14. package/dist/app/session-shell/exit-notice.js +10 -10
  15. package/dist/app/session-shell/extension-surface.d.ts +8 -7
  16. package/dist/app/session-shell/helper-pool.d.ts +3 -4
  17. package/dist/app/session-shell/helper-pool.js +1 -1
  18. package/dist/app/session-shell/image-preparation-client.d.ts +4 -3
  19. package/dist/app/session-shell/image-preparation.d.ts +0 -2
  20. package/dist/app/session-shell/image-preparation.js +2 -2
  21. package/dist/app/session-shell/image-source.d.ts +2 -3
  22. package/dist/app/session-shell/image-source.js +2 -2
  23. package/dist/app/session-shell/input-surface-switch.d.ts +9 -7
  24. package/dist/app/session-shell/input-surface-switch.js +1 -2
  25. package/dist/app/session-shell/login-interaction.d.ts +5 -4
  26. package/dist/app/session-shell/login-interaction.js +2 -3
  27. package/dist/app/session-shell/paste-executor.d.ts +4 -8
  28. package/dist/app/session-shell/paste-executor.js +2 -2
  29. package/dist/app/session-shell/paste-protocol.d.ts +2 -2
  30. package/dist/app/session-shell/path-chip-presentation.d.ts +0 -5
  31. package/dist/app/session-shell/path-chip-presentation.js +3 -3
  32. package/dist/app/session-shell/prompt-chips.d.ts +8 -7
  33. package/dist/app/session-shell/prompt-history-controller.d.ts +3 -3
  34. package/dist/app/session-shell/prompt-submission.d.ts +7 -6
  35. package/dist/app/session-shell/prompt-submission.js +7 -28
  36. package/dist/app/session-shell/quit-outro-effects.d.ts +3 -3
  37. package/dist/app/session-shell/quit-outro-effects.js +1 -4
  38. package/dist/app/session-shell/quit-outro.d.ts +9 -12
  39. package/dist/app/session-shell/quit-outro.js +11 -11
  40. package/dist/app/session-shell/response-copy-protocol.d.ts +3 -2
  41. package/dist/app/session-shell/response-copy-transport.d.ts +2 -14
  42. package/dist/app/session-shell/response-copy-transport.js +2 -3
  43. package/dist/app/session-shell/session-lifecycle.d.ts +3 -3
  44. package/dist/app/session-shell/session-lifecycle.js +2 -4
  45. package/dist/app/session-shell/session-shell-root.d.ts +74 -120
  46. package/dist/app/session-shell/session-shell-root.js +82 -115
  47. package/dist/app/session-shell/session-shell.d.ts +13 -16
  48. package/dist/app/session-shell/session-shell.js +149 -314
  49. package/dist/app/session-shell/session-viewport-controller.d.ts +7 -6
  50. package/dist/app/session-shell/session-viewport-controller.js +5 -8
  51. package/dist/app/session-shell/settings-bindings.d.ts +24 -2
  52. package/dist/app/session-shell/settings-bindings.js +24 -0
  53. package/dist/app/session-shell/share-operation.d.ts +3 -3
  54. package/dist/app/session-shell/share-operation.js +4 -6
  55. package/dist/app/session-shell/shell-clipboard.d.ts +59 -0
  56. package/dist/app/session-shell/shell-clipboard.js +119 -0
  57. package/dist/app/session-shell/shell-editor-factory.d.ts +8 -4
  58. package/dist/app/session-shell/shell-editor-factory.js +13 -15
  59. package/dist/app/session-shell/shell-host.d.ts +16 -17
  60. package/dist/app/session-shell/shell-host.js +20 -37
  61. package/dist/app/session-shell/shell-layout.d.ts +2 -2
  62. package/dist/app/session-shell/shell-prompt-suggestions.d.ts +26 -0
  63. package/dist/app/session-shell/shell-prompt-suggestions.js +48 -0
  64. package/dist/app/session-shell/suggestion-surface.d.ts +1 -6
  65. package/dist/app/session-shell/suggestion-surface.js +1 -1
  66. package/dist/app/session-shell/system-clipboard.d.ts +2 -14
  67. package/dist/app/session-shell/system-clipboard.js +2 -7
  68. package/dist/app/session-shell/transcript-document.d.ts +12 -10
  69. package/dist/app/session-shell/transcript-document.js +15 -41
  70. package/dist/app/session-shell/viewport-layout.d.ts +2 -2
  71. package/dist/app/session-shell/workflow-output.d.ts +5 -3
  72. package/dist/app/session-shell/workflow-output.js +13 -15
  73. package/dist/app/session-shell/workflow-router.d.ts +1 -3
  74. package/dist/app/session-shell/workflow-router.js +1 -4
  75. package/dist/cli/dispatch.d.ts +1 -11
  76. package/dist/cli/dispatch.js +5 -92
  77. package/dist/cli/package-messages.d.ts +0 -1
  78. package/dist/cli/package-messages.js +1 -1
  79. package/dist/cli/session-context.d.ts +1 -1
  80. package/dist/cli/session-context.js +5 -7
  81. package/dist/cli/uninstall.d.ts +4 -7
  82. package/dist/cli/uninstall.js +6 -35
  83. package/dist/cli/version-stats.js +4 -7
  84. package/dist/composition/owned-settings.d.ts +2 -2
  85. package/dist/composition/owned-settings.js +0 -4
  86. package/dist/composition/owned-ui.d.ts +3 -25
  87. package/dist/composition/owned-ui.js +37 -113
  88. package/dist/composition/reference-selection-options.d.ts +1 -1
  89. package/dist/composition/reference-selection-options.js +1 -1
  90. package/dist/composition/release-update-observation.d.ts +4 -4
  91. package/dist/composition/release-update-observation.js +17 -47
  92. package/dist/composition/session-backend.d.ts +0 -1
  93. package/dist/composition/session-runtime-registry.d.ts +5 -4
  94. package/dist/composition/settings-route-host.d.ts +0 -7
  95. package/dist/composition/settings-route-host.js +7 -20
  96. package/dist/composition/settings-search-input.d.ts +2 -1
  97. package/dist/composition/startup-route.d.ts +2 -3
  98. package/dist/composition/startup-route.js +2 -3
  99. package/dist/contracts/owned-ui/extension-ui.d.ts +2 -1
  100. package/dist/contracts/owned-ui/index.d.ts +2 -1
  101. package/dist/contracts/owned-ui/model.d.ts +0 -3
  102. package/dist/contracts/owned-ui/session-presenters.d.ts +3 -0
  103. package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
  104. package/dist/contracts/owned-ui/shell-components.d.ts +543 -0
  105. package/dist/contracts/presentation/component.d.ts +17 -0
  106. package/dist/contracts/presentation/component.js +8 -0
  107. package/dist/contracts/presentation/index.d.ts +6 -15
  108. package/dist/contracts/presentation/index.js +2 -0
  109. package/dist/contracts/presentation/terminal.d.ts +290 -0
  110. package/dist/contracts/presentation/theme.d.ts +46 -0
  111. package/dist/features/launch/development-launch.js +1 -2
  112. package/dist/features/launch/index.d.ts +1 -1
  113. package/dist/features/launch/intent.d.ts +1 -3
  114. package/dist/features/launch/intent.js +2 -4
  115. package/dist/features/launch/runtime-selection.d.ts +2 -2
  116. package/dist/features/launch/runtime-selection.js +2 -2
  117. package/dist/features/launch/session-context.d.ts +2 -2
  118. package/dist/features/owned-ui/project-trust-prompt.d.ts +2 -2
  119. package/dist/features/owned-ui/project-trust-prompt.js +1 -1
  120. package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
  121. package/dist/features/owned-ui/reference-screen-app.js +2 -9
  122. package/dist/features/owned-ui/release-note-state.d.ts +2 -1
  123. package/dist/features/owned-ui/settings-app.d.ts +0 -6
  124. package/dist/features/owned-ui/settings-app.js +42 -254
  125. package/dist/features/owned-ui/settings-edits.d.ts +31 -0
  126. package/dist/features/owned-ui/settings-edits.js +139 -0
  127. package/dist/features/owned-ui/settings-scroll-rail.d.ts +29 -0
  128. package/dist/features/owned-ui/settings-scroll-rail.js +79 -0
  129. package/dist/features/owned-ui/settings-search-input.d.ts +2 -1
  130. package/dist/features/prompt-history/service.d.ts +3 -2
  131. package/dist/foundation/launch-context/index.d.ts +0 -12
  132. package/dist/foundation/launch-context/index.js +0 -26
  133. package/dist/foundation/lifecycle/claim-gate.d.ts +9 -0
  134. package/dist/foundation/lifecycle/claim-gate.js +37 -0
  135. package/dist/foundation/lifecycle/index.d.ts +5 -9
  136. package/dist/foundation/lifecycle/index.js +3 -4
  137. package/dist/foundation/lifecycle/model.d.ts +2 -59
  138. package/dist/foundation/lifecycle/model.js +0 -35
  139. package/dist/foundation/lifecycle/paths.d.ts +0 -24
  140. package/dist/foundation/lifecycle/paths.js +0 -40
  141. package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
  142. package/dist/foundation/lifecycle/process-liveness.js +18 -0
  143. package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
  144. package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
  145. package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
  146. package/dist/foundation/lifecycle/session-repository-context.js +2 -3
  147. package/dist/foundation/release/automatic-update.d.ts +6 -17
  148. package/dist/foundation/release/automatic-update.js +23 -44
  149. package/dist/foundation/release/bootstrap.d.ts +2 -25
  150. package/dist/foundation/release/bootstrap.js +37 -348
  151. package/dist/foundation/release/dependency-certification.d.ts +1 -2
  152. package/dist/foundation/release/dependency-certification.js +1 -1
  153. package/dist/foundation/release/early-accent.d.ts +2 -2
  154. package/dist/foundation/release/early-accent.js +1 -1
  155. package/dist/foundation/release/index.d.ts +10 -17
  156. package/dist/foundation/release/index.js +7 -11
  157. package/dist/foundation/release/latest-release.d.ts +3 -19
  158. package/dist/foundation/release/latest-release.js +11 -12
  159. package/dist/foundation/release/ordinary-launch-selection.d.ts +1 -1
  160. package/dist/foundation/release/ordinary-launch-selection.js +1 -1
  161. package/dist/foundation/release/process-liveness.d.ts +2 -0
  162. package/dist/foundation/release/process-liveness.js +12 -0
  163. package/dist/foundation/release/release-gc.d.ts +13 -10
  164. package/dist/foundation/release/release-gc.js +37 -101
  165. package/dist/foundation/release/{cohort-state.d.ts → release-state.d.ts} +44 -69
  166. package/dist/foundation/release/{cohort-state.js → release-state.js} +38 -70
  167. package/dist/foundation/release/release-store.d.ts +2 -2
  168. package/dist/foundation/release/release-store.js +2 -2
  169. package/dist/foundation/release/restart-certification.js +1 -1
  170. package/dist/foundation/release/update-activation.d.ts +2 -9
  171. package/dist/foundation/release/update-activation.js +30 -45
  172. package/dist/foundation/release/update-execution-lease.d.ts +2 -3
  173. package/dist/foundation/release/update-execution-lease.js +2 -2
  174. package/dist/foundation/release/update-launch.d.ts +2 -4
  175. package/dist/foundation/release/update-launch.js +0 -7
  176. package/dist/foundation/release/update-recovery.js +1 -1
  177. package/dist/foundation/release/update-transaction.d.ts +1 -1
  178. package/dist/foundation/release/update-transaction.js +5 -2
  179. package/dist/foundation/release/update.d.ts +2 -12
  180. package/dist/foundation/release/update.js +37 -214
  181. package/dist/foundation/session-writer-lock/index.d.ts +14 -6
  182. package/dist/foundation/session-writer-lock/index.js +48 -103
  183. package/dist/foundation/startup/startup-budget.d.ts +5 -5
  184. package/dist/foundation/startup/startup-budget.js +2 -2
  185. package/dist/foundation/startup/startup-runtime.d.ts +1 -1
  186. package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
  187. package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
  188. package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
  189. package/dist/foundation/terminal-cleanup/index.js +2 -1
  190. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
  191. package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
  192. package/dist/integrations/pi/components/editor-interaction.d.ts +4 -12
  193. package/dist/integrations/pi/components/index.d.ts +15 -9
  194. package/dist/integrations/pi/components/index.js +9 -5
  195. package/dist/integrations/pi/components/lazy-selectors.d.ts +2 -10
  196. package/dist/integrations/pi/components/lazy-selectors.js +1 -1
  197. package/dist/integrations/pi/components/modal-frame.d.ts +5 -22
  198. package/dist/integrations/pi/components/modal-frame.js +3 -23
  199. package/dist/integrations/pi/components/owned-editor-ux.d.ts +4 -3
  200. package/dist/integrations/pi/components/prompt-input-port.d.ts +2 -19
  201. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -1
  202. package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +3 -2
  203. package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
  204. package/dist/integrations/pi/components/shell-footer-status.d.ts +3 -3
  205. package/dist/integrations/pi/components/shell-footer-status.js +5 -4
  206. package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
  207. package/dist/integrations/pi/components/shell-presenters-info.d.ts +6 -8
  208. package/dist/integrations/pi/components/shell-presenters-info.js +6 -19
  209. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
  210. package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
  211. package/dist/integrations/pi/components/shell-session-info-reference.d.ts +2 -1
  212. package/dist/integrations/pi/components/shell-shared-facade.d.ts +33 -229
  213. package/dist/integrations/pi/components/shell-shared-facade.js +8 -1
  214. package/dist/integrations/pi/components/skills-command.d.ts +1 -9
  215. package/dist/integrations/pi/components/skills-command.js +5 -5
  216. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
  217. package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
  218. package/dist/integrations/pi/components/theme.d.ts +9 -2
  219. package/dist/integrations/pi/components/theme.js +17 -2
  220. package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +2 -1
  221. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
  222. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
  223. package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
  224. package/dist/integrations/pi/engine/adapter.d.ts +3 -6
  225. package/dist/integrations/pi/engine/adapter.js +4 -28
  226. package/dist/integrations/pi/engine/changelog.d.ts +2 -2
  227. package/dist/integrations/pi/engine/changelog.js +3 -3
  228. package/dist/integrations/pi/engine/compaction-progress.d.ts +2 -3
  229. package/dist/integrations/pi/engine/compaction-progress.js +1 -1
  230. package/dist/integrations/pi/engine/conformance.d.ts +2 -1
  231. package/dist/integrations/pi/engine/default-model-setting.d.ts +0 -2
  232. package/dist/integrations/pi/engine/default-model-setting.js +1 -2
  233. package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
  234. package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
  235. package/dist/integrations/pi/engine/event-delivery.d.ts +2 -1
  236. package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
  237. package/dist/integrations/pi/engine/host.js +2 -2
  238. package/dist/integrations/pi/engine/message-values.d.ts +0 -1
  239. package/dist/integrations/pi/engine/message-values.js +1 -1
  240. package/dist/integrations/pi/engine/pending-delivery.d.ts +0 -4
  241. package/dist/integrations/pi/engine/pending-delivery.js +3 -3
  242. package/dist/integrations/pi/engine/ports.d.ts +7 -1
  243. package/dist/integrations/pi/engine/ports.js +4 -0
  244. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +2 -1
  245. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +3 -3
  246. package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
  247. package/dist/integrations/pi/engine/provider-authentication.d.ts +1 -1
  248. package/dist/integrations/pi/engine/public-main-entry.d.ts +1 -5
  249. package/dist/integrations/pi/engine/public-main-entry.js +1 -1
  250. package/dist/integrations/pi/engine/repository-pr-rest.d.ts +1 -9
  251. package/dist/integrations/pi/engine/repository-pr-rest.js +2 -2
  252. package/dist/integrations/pi/engine/repository-pr.d.ts +1 -3
  253. package/dist/integrations/pi/engine/repository-pr.js +1 -1
  254. package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
  255. package/dist/integrations/pi/engine/session-integration.d.ts +1 -1
  256. package/dist/integrations/pi/engine/session-runtime.d.ts +4 -3
  257. package/dist/integrations/pi/engine/session-runtime.js +0 -2
  258. package/dist/integrations/pi/engine/settings-bridge.d.ts +0 -2
  259. package/dist/integrations/pi/engine/settings-bridge.js +1 -1
  260. package/dist/integrations/pi/engine/settings-port.d.ts +3 -2
  261. package/dist/integrations/pi/engine/transcript-projection.d.ts +2 -1
  262. package/dist/integrations/pi/engine/workflow-contexts.d.ts +1 -1
  263. package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -1
  264. package/dist/integrations/pi/engine/workflow-runner.js +1 -1
  265. package/dist/integrations/pi/engine/workflow-support.d.ts +0 -6
  266. package/dist/integrations/pi/engine/workflow-support.js +4 -18
  267. package/dist/integrations/pi/engine/workflows.d.ts +5 -5
  268. package/dist/integrations/pi/session-presenters/components.d.ts +3 -0
  269. package/dist/integrations/pi/session-presenters/components.js +75 -0
  270. package/dist/integrations/pi/session-presenters/index.d.ts +1 -0
  271. package/dist/integrations/pi/session-presenters/index.js +1 -0
  272. package/dist/integrations/pi/session-presenters/presentation.d.ts +3 -0
  273. package/dist/integrations/pi/session-presenters/presentation.js +10 -0
  274. package/dist/integrations/pi/session-presenters/presenters.d.ts +2 -1
  275. package/dist/integrations/pi/session-presenters/presenters.js +3 -1
  276. package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
  277. package/dist/integrations/pi/tui-runtime/adapter.js +23 -32
  278. package/dist/integrations/pi/tui-runtime/contracts.d.ts +22 -166
  279. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +5 -40
  280. package/dist/integrations/pi/tui-runtime/index.d.ts +1 -0
  281. package/dist/integrations/pi/tui-runtime/index.js +1 -0
  282. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +4 -6
  283. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -8
  284. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +3 -9
  285. package/dist/integrations/pi/tui-runtime/runtime-factory.d.ts +3 -0
  286. package/dist/integrations/pi/tui-runtime/runtime-factory.js +11 -0
  287. package/dist/product-identity.d.ts +4 -6
  288. package/dist/product-identity.js +6 -11
  289. package/dist/product-identity.json +1 -40
  290. package/dist/runtime-payload-inventory.json +0 -3
  291. package/dist/ui/components/index.d.ts +4 -4
  292. package/dist/ui/components/index.js +2 -2
  293. package/dist/ui/components/selection-copy.d.ts +0 -1
  294. package/dist/ui/components/selection-copy.js +0 -12
  295. package/dist/ui/components/submitted-prompt.d.ts +3 -13
  296. package/dist/ui/components/submitted-prompt.js +8 -41
  297. package/dist/ui/components/theme.d.ts +4 -19
  298. package/dist/ui/components/theme.js +6 -0
  299. package/dist/ui/components/transcript-viewport.d.ts +1 -3
  300. package/dist/ui/components/transcript-viewport.js +1 -4
  301. package/dist/ui/settings/declarations.d.ts +2 -97
  302. package/dist/ui/settings/declarations.js +2 -78
  303. package/dist/ui/settings/early-accent.js +1 -1
  304. package/dist/ui/settings/index.d.ts +3 -5
  305. package/dist/ui/settings/index.js +2 -3
  306. package/dist/ui/settings/manager.d.ts +0 -4
  307. package/dist/ui/settings/manager.js +6 -62
  308. package/dist/ui/settings/resolution.d.ts +6 -18
  309. package/dist/ui/settings/resolution.js +4 -103
  310. package/dist/ui/settings/sections.d.ts +0 -4
  311. package/dist/ui/settings/sections.js +1 -1
  312. package/docs/architecture/boundaries.md +23 -40
  313. package/docs/architecture/code-documentation.md +2 -2
  314. package/docs/architecture/internal-naming.md +11 -17
  315. package/docs/architecture/project-structure.md +13 -16
  316. package/docs/architecture/resource-and-data-policy.md +16 -31
  317. package/docs/architecture/toolchain.md +14 -19
  318. package/docs/architecture/ui-reference-provenance.md +2 -2
  319. package/docs/ci-release-runbook.md +5 -5
  320. package/docs/features/launch-profiles.md +11 -17
  321. package/docs/features/prompt-history.md +10 -11
  322. package/docs/local-worktree-cleanup.md +28 -1
  323. package/docs/manual-owned-ui-checkpoint.md +0 -1
  324. package/docs/validation.md +5 -11
  325. package/docs/worktree-link-recovery.md +6 -6
  326. package/package.json +7 -20
  327. package/bin/guardian.js +0 -42
  328. package/bin/supervisor.js +0 -7
  329. package/bin/tab-launch-context.d.ts +0 -27
  330. package/bin/tab-launch-context.js +0 -94
  331. package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
  332. package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
  333. package/dist/cli/tabs-request.d.ts +0 -7
  334. package/dist/cli/tabs.d.ts +0 -14
  335. package/dist/cli/tabs.js +0 -151
  336. package/dist/composition/resident-tab-bridge.d.ts +0 -41
  337. package/dist/composition/resident-tab-bridge.js +0 -209
  338. package/dist/composition/utility-tab.d.ts +0 -28
  339. package/dist/composition/utility-tab.js +0 -244
  340. package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
  341. package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
  342. package/dist/features/resident-tab/auto-name.d.ts +0 -11
  343. package/dist/features/resident-tab/auto-name.js +0 -44
  344. package/dist/features/resident-tab/index.d.ts +0 -5
  345. package/dist/features/resident-tab/index.js +0 -7
  346. package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
  347. package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
  348. package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
  349. package/dist/features/resident-tab/shortcut-declarations.js +0 -26
  350. package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
  351. package/dist/features/resident-tab/shortcut-projection.js +0 -64
  352. package/dist/features/resident-tab/status-deriver.d.ts +0 -10
  353. package/dist/features/resident-tab/status-deriver.js +0 -12
  354. package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
  355. package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
  356. package/dist/foundation/launch-guardian/index.d.ts +0 -2
  357. package/dist/foundation/launch-guardian/index.js +0 -1
  358. package/dist/foundation/launch-guardian/main.d.ts +0 -39
  359. package/dist/foundation/launch-guardian/main.js +0 -232
  360. package/dist/foundation/lifecycle/commands.d.ts +0 -40
  361. package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
  362. package/dist/foundation/lifecycle/launch-instance.js +0 -134
  363. package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
  364. package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
  365. package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
  366. package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
  367. package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
  368. package/dist/foundation/process-containment/addon-containment.js +0 -139
  369. package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
  370. package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
  371. package/dist/foundation/process-containment/addon.d.ts +0 -47
  372. package/dist/foundation/process-containment/addon.js +0 -57
  373. package/dist/foundation/process-containment/artifact.d.ts +0 -1
  374. package/dist/foundation/process-containment/artifact.js +0 -35
  375. package/dist/foundation/process-containment/contracts.d.ts +0 -33
  376. package/dist/foundation/process-containment/contracts.js +0 -35
  377. package/dist/foundation/process-containment/index.d.ts +0 -9
  378. package/dist/foundation/process-containment/index.js +0 -7
  379. package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
  380. package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
  381. package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
  382. package/dist/foundation/process-containment/native-process-inspector.js +0 -21
  383. package/dist/foundation/protocol/client.d.ts +0 -18
  384. package/dist/foundation/protocol/client.js +0 -130
  385. package/dist/foundation/protocol/index.d.ts +0 -3
  386. package/dist/foundation/protocol/index.js +0 -2
  387. package/dist/foundation/protocol/messages.d.ts +0 -90
  388. package/dist/foundation/protocol/messages.js +0 -100
  389. package/dist/foundation/release/cohort-selection.d.ts +0 -33
  390. package/dist/foundation/release/cohort-selection.js +0 -67
  391. package/dist/foundation/release/endpoint-lock.d.ts +0 -2
  392. package/dist/foundation/release/endpoint-lock.js +0 -37
  393. package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
  394. package/dist/foundation/release/endpoint-recovery.js +0 -45
  395. package/dist/foundation/release/endpoints.d.ts +0 -32
  396. package/dist/foundation/release/endpoints.js +0 -152
  397. package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
  398. package/dist/foundation/release/prepared-update-activation.js +0 -27
  399. package/dist/foundation/release/process-cleanup.d.ts +0 -14
  400. package/dist/foundation/release/process-cleanup.js +0 -76
  401. package/dist/foundation/release/supervisor-identity.d.ts +0 -15
  402. package/dist/foundation/release/supervisor-identity.js +0 -63
  403. package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
  404. package/dist/foundation/resident-tabs/boot-identity.js +0 -16
  405. package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
  406. package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
  407. package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
  408. package/dist/foundation/resident-tabs/bridge-client.js +0 -327
  409. package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
  410. package/dist/foundation/resident-tabs/continuity.js +0 -63
  411. package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
  412. package/dist/foundation/resident-tabs/doctor.js +0 -166
  413. package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
  414. package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
  415. package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
  416. package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
  417. package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
  418. package/dist/foundation/resident-tabs/fault-injection.js +0 -26
  419. package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
  420. package/dist/foundation/resident-tabs/fixture-control.js +0 -35
  421. package/dist/foundation/resident-tabs/host-entry.js +0 -17
  422. package/dist/foundation/resident-tabs/index.d.ts +0 -15
  423. package/dist/foundation/resident-tabs/index.js +0 -10
  424. package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
  425. package/dist/foundation/resident-tabs/maintenance.js +0 -75
  426. package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
  427. package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
  428. package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
  429. package/dist/foundation/resident-tabs/progress-observation.js +0 -150
  430. package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
  431. package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
  432. package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
  433. package/dist/foundation/resident-tabs/protocol.js +0 -195
  434. package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
  435. package/dist/foundation/resident-tabs/recovery.js +0 -205
  436. package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
  437. package/dist/foundation/resident-tabs/release-holds.js +0 -78
  438. package/dist/foundation/resident-tabs/routes.d.ts +0 -5
  439. package/dist/foundation/resident-tabs/routes.js +0 -5
  440. package/dist/foundation/resident-tabs/routing.d.ts +0 -11
  441. package/dist/foundation/resident-tabs/routing.js +0 -10
  442. package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
  443. package/dist/foundation/resident-tabs/runtime-control.js +0 -74
  444. package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
  445. package/dist/foundation/resident-tabs/session-sync.js +0 -37
  446. package/dist/foundation/resident-tabs/settings.d.ts +0 -16
  447. package/dist/foundation/resident-tabs/settings.js +0 -60
  448. package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
  449. package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
  450. package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
  451. package/dist/foundation/resident-tabs/zip-archive.js +0 -56
  452. package/dist/foundation/storage/control-store.d.ts +0 -20
  453. package/dist/foundation/storage/control-store.js +0 -331
  454. package/dist/foundation/storage/index.d.ts +0 -1
  455. package/dist/foundation/storage/index.js +0 -1
  456. package/dist/foundation/supervision/index.d.ts +0 -3
  457. package/dist/foundation/supervision/index.js +0 -3
  458. package/dist/foundation/supervision/main.d.ts +0 -1
  459. package/dist/foundation/supervision/main.js +0 -86
  460. package/dist/foundation/supervision/paths.d.ts +0 -1
  461. package/dist/foundation/supervision/paths.js +0 -1
  462. package/dist/foundation/supervision/server.d.ts +0 -46
  463. package/dist/foundation/supervision/server.js +0 -611
  464. package/dist/integrations/pi/components/components.d.ts +0 -4
  465. package/dist/integrations/pi/components/components.js +0 -48
  466. package/dist/integrations/pi/components/conformance.d.ts +0 -18
  467. package/dist/integrations/pi/components/conformance.js +0 -70
  468. package/dist/integrations/pi/components/shell-components.d.ts +0 -7
  469. package/dist/integrations/pi/components/shell-components.js +0 -7
  470. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +0 -33
  471. package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -114
  472. package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
  473. package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
  474. package/dist/native/darwin-arm64/manifest.json +0 -23
  475. package/dist/native/darwin-arm64/process-guardian.node +0 -0
  476. package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
  477. package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
  478. package/dist/native/darwin-arm64/terminal-host.node +0 -0
  479. package/dist/native/darwin-x64/manifest.json +0 -23
  480. package/dist/native/darwin-x64/process-guardian.node +0 -0
  481. package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
  482. package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
  483. package/dist/native/darwin-x64/terminal-host.node +0 -0
  484. package/dist/native/linux-x64/manifest.json +0 -23
  485. package/dist/native/linux-x64/process-guardian.node +0 -0
  486. package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
  487. package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
  488. package/dist/native/linux-x64/terminal-host.node +0 -0
  489. package/dist/native/win32-x64/manifest.json +0 -23
  490. package/dist/native/win32-x64/process-guardian.node +0 -0
  491. package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
  492. package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
  493. package/dist/native/win32-x64/terminal-host.node +0 -0
  494. package/dist/ui/settings/migrations.d.ts +0 -19
  495. package/dist/ui/settings/migrations.js +0 -209
  496. package/dist/ui/settings/progress-palette.generated.d.ts +0 -139
  497. package/dist/ui/settings/progress-palette.generated.js +0 -139
  498. package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
  499. package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
  500. package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
  501. package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
  502. package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
  503. package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
  504. package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
  505. package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
  506. package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
  507. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
  508. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
  509. package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
  510. package/docs/architecture/native-fixture-isolation.md +0 -23
  511. package/docs/architecture/process-guardian-provenance.md +0 -36
  512. package/docs/architecture/resident-tabs-requirements.md +0 -18
  513. package/docs/architecture/resident-tabs.md +0 -668
  514. package/docs/architecture/terminal-host-proof-gate.md +0 -34
  515. package/docs/architecture/terminal-host-provenance.md +0 -81
  516. package/docs/architecture/terminal-host-spike-evidence.md +0 -39
  517. package/docs/launch-recovery.md +0 -23
  518. package/docs/manual-launch-instance-acceptance.md +0 -43
  519. package/docs/manual-resident-tabs-acceptance.md +0 -51
  520. /package/dist/{cli/tabs-request.js → contracts/owned-ui/shell-components.js} +0 -0
  521. /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.d.ts +0 -0
  522. /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.js +0 -0
  523. /package/dist/{foundation/lifecycle/commands.js → contracts/presentation/terminal.js} +0 -0
  524. /package/dist/{foundation/resident-tabs/host-entry.d.ts → contracts/presentation/theme.js} +0 -0
@@ -1,3 +1,9 @@
1
+ import type { PresentationComponentPort } from "./component.js";
2
+ export type { PresentationComponentPort, PresentationPointerSurface } from "./component.js";
3
+ export { samePointerSurfaces } from "./component.js";
4
+ export type { CanvasBackgroundStyle, ShellPresentationPorts, ThemeSource, UiTheme, UiThemeBackground, UiThemeToken } from "./theme.js";
5
+ export type { TerminalComponentPort, TerminalDamageDecision, TerminalDamageDecisionReason, TerminalDamageFrameDescriptor, TerminalDamageFrameSafety, TerminalDamageOptions, TerminalDamagePort, TerminalHyperlinkInspection, TerminalInputCoordinationDecision, TerminalInputCoordinationScheduler, TerminalInputDiagnosticsEvent, TerminalInputDiagnosticsPhase, TerminalInputListener, TerminalInputListenerResult, TerminalInputSurfaceKind, TerminalLayoutEntry, TerminalLayoutNode, TerminalOverlayAnchor, TerminalOverlayHandle, TerminalOverlayMargin, TerminalOverlayOptions, TerminalOverlayUnfocusOptions, TerminalPointerSurface, TerminalPort, TerminalPreInputListener, TerminalProgramStatus, TerminalRuntimeFactory, TerminalRuntimeOptions, TerminalRuntimePort, TerminalRuntimeState, TerminalScrollState, TerminalSizeValue, TerminalStopOptions, TerminalViewport, TerminalWheelScrollLines, } from "./terminal.js";
6
+ export { SHARED_PROGRESS_ACCENT_ANSI, SHARED_PROGRESS_PALETTE } from "./progress-palette.generated.js";
1
7
  export type PresentationRuntimeState = "idle" | "running" | "stopping" | "stopped" | "failed";
2
8
  export interface SemanticShortcutHint {
3
9
  readonly key?: string;
@@ -33,21 +39,6 @@ export interface ShortcutHintRoles {
33
39
  export declare function displayShortcutKeyLabel(label: string): string;
34
40
  /** Renders the canonical semantic shortcut row independently of either presentation framework. */
35
41
  export declare function renderSemanticShortcutHints(entries: readonly SemanticShortcutHint[], roles: ShortcutHintRoles, indent?: number, separator?: string): string;
36
- export interface PresentationComponentPort {
37
- render(width: number): readonly string[];
38
- invalidate(): void;
39
- handleInput?(data: string): void;
40
- setFocused?(focused: boolean): void;
41
- dispose?(): void;
42
- }
43
- /** A painted input surface in terminal coordinates (one-based, inclusive bounds). */
44
- export interface PresentationPointerSurface {
45
- readonly component: PresentationComponentPort;
46
- readonly columnStart: number;
47
- readonly columnEnd: number;
48
- readonly rowStart: number;
49
- readonly rowEnd: number;
50
- }
51
42
  export interface PresentationEditorPort extends PresentationComponentPort {
52
43
  getText(): string;
53
44
  setText(text: string): void;
@@ -1,3 +1,5 @@
1
+ export { samePointerSurfaces } from "./component.js";
2
+ export { SHARED_PROGRESS_ACCENT_ANSI, SHARED_PROGRESS_PALETTE } from "./progress-palette.generated.js";
1
3
  /** Canonical dismissal guidance for every A1-rendered dialog surface. */
2
4
  export const DIALOG_CLOSE_SHORTCUT_HINT = Object.freeze({ key: "esc", action: "close" });
3
5
  /** Canonical return guidance for a nested step within a dialog surface. */
@@ -0,0 +1,290 @@
1
+ import type { PresentationComponentPort, PresentationPointerSurface } from "./component.js";
2
+ /** A program-status report for terminals that show one (OSC 9;4 style); `clear` removes it. */
3
+ export interface TerminalProgramStatus {
4
+ state: "idle" | "working" | "blocked" | "done" | "error" | "clear";
5
+ app?: string;
6
+ kind?: "permission" | "question" | "auth";
7
+ }
8
+ /** Lines one wheel notch scrolls, or `auto` to follow wheel velocity. */
9
+ export type TerminalWheelScrollLines = number | "auto";
10
+ /** Whether queued input may be applied immediately or must wait for the current presentation. */
11
+ export type TerminalInputCoordinationDecision = "safe" | "barrier";
12
+ /** What kind of surface owns the keyboard when input arrives. */
13
+ export type TerminalInputSurfaceKind = "editor" | "owned" | "opaque";
14
+ export interface TerminalInputCoordinationScheduler {
15
+ scheduleImmediate(callback: () => void): ReturnType<typeof setImmediate>;
16
+ cancelImmediate(handle: ReturnType<typeof setImmediate>): void;
17
+ }
18
+ export type TerminalRuntimeState = "idle" | "running" | "stopping" | "stopped" | "failed";
19
+ export interface TerminalViewport {
20
+ readonly columns: number;
21
+ readonly rows: number;
22
+ }
23
+ export interface TerminalScrollState {
24
+ readonly scrollTop: number;
25
+ readonly viewportHeight: number;
26
+ readonly followingEnd: boolean;
27
+ readonly scrollbarVisible: boolean;
28
+ }
29
+ export type TerminalPointerSurface = PresentationPointerSurface;
30
+ export interface TerminalComponentPort extends PresentationComponentPort {
31
+ readonly wantsKeyRelease?: boolean;
32
+ }
33
+ export interface TerminalPort {
34
+ start(onInput: (data: string) => void, onResize: () => void): void;
35
+ stop(): void;
36
+ drainInput(maxMs?: number, idleMs?: number): Promise<void>;
37
+ write(data: string): void;
38
+ readonly columns: number;
39
+ readonly rows: number;
40
+ readonly kittyProtocolActive: boolean;
41
+ moveBy(lines: number): void;
42
+ hideCursor(): void;
43
+ showCursor(): void;
44
+ clearLine(): void;
45
+ clearFromCursor(): void;
46
+ clearScreen(): void;
47
+ setTitle(title: string): void;
48
+ setProgress(active: boolean): void;
49
+ /** Optional for neutral test/decorator ports; the vendor adapter always supplies it. */
50
+ setProgramStatus?(status: TerminalProgramStatus): void;
51
+ /**
52
+ * Optional synchronous last-resort mode restore that the runtime invokes from a process `exit` handler when
53
+ * `stop()` did not run; the runtime adapter binds it to the undecorated terminal, so decorators need not forward it.
54
+ */
55
+ restoreOnExit?(before: string, after: string): void;
56
+ }
57
+ export type TerminalSizeValue = number | `${number}%`;
58
+ export type TerminalOverlayAnchor = "center" | "top-left" | "top-right" | "bottom-left" | "bottom-right" | "top-center" | "bottom-center" | "left-center" | "right-center";
59
+ export interface TerminalOverlayMargin {
60
+ readonly top?: number;
61
+ readonly right?: number;
62
+ readonly bottom?: number;
63
+ readonly left?: number;
64
+ }
65
+ export interface TerminalOverlayOptions {
66
+ readonly width?: TerminalSizeValue;
67
+ readonly minWidth?: number;
68
+ readonly maxHeight?: TerminalSizeValue;
69
+ readonly anchor?: TerminalOverlayAnchor;
70
+ readonly offsetX?: number;
71
+ readonly offsetY?: number;
72
+ readonly row?: TerminalSizeValue;
73
+ readonly col?: TerminalSizeValue;
74
+ readonly margin?: TerminalOverlayMargin | number;
75
+ readonly visible?: (columns: number, rows: number) => boolean;
76
+ readonly nonCapturing?: boolean;
77
+ /** A1-owned input scheduling declaration; omitted extension overlays fail closed. */
78
+ readonly inputCoordination?: Exclude<TerminalInputSurfaceKind, "editor">;
79
+ }
80
+ export interface TerminalOverlayUnfocusOptions {
81
+ readonly target: TerminalComponentPort | null;
82
+ }
83
+ export interface TerminalOverlayHandle {
84
+ hide(): void;
85
+ setHidden(hidden: boolean): void;
86
+ isHidden(): boolean;
87
+ focus(): void;
88
+ unfocus(options?: TerminalOverlayUnfocusOptions): void;
89
+ isFocused(): boolean;
90
+ /** The most recently rendered terminal-relative rectangle of a visible overlay. */
91
+ getBounds(): {
92
+ readonly row: number;
93
+ readonly col: number;
94
+ readonly width: number;
95
+ readonly height: number;
96
+ } | undefined;
97
+ }
98
+ export interface TerminalInputListenerResult {
99
+ readonly consume?: boolean;
100
+ readonly data?: string;
101
+ }
102
+ export type TerminalInputListener = (data: string) => TerminalInputListenerResult | undefined;
103
+ /** Runs at the terminal bridge before the runtime receives physical input. */
104
+ export type TerminalPreInputListener = TerminalInputListener;
105
+ export interface TerminalLayoutEntry {
106
+ readonly node: TerminalLayoutNode;
107
+ readonly basis?: number | "auto";
108
+ readonly grow?: number;
109
+ readonly shrink?: number;
110
+ readonly minSize?: number;
111
+ readonly maxSize?: number;
112
+ readonly visible?: (viewport: TerminalViewport) => boolean;
113
+ }
114
+ export type TerminalLayoutNode = {
115
+ readonly type: "component";
116
+ readonly component: TerminalComponentPort;
117
+ } | {
118
+ readonly type: "stack";
119
+ readonly direction: "vertical" | "horizontal";
120
+ readonly children: readonly TerminalLayoutEntry[];
121
+ readonly gap?: number;
122
+ readonly align?: "stretch" | "start" | "center" | "end";
123
+ } | {
124
+ readonly type: "scroll";
125
+ readonly id: string;
126
+ readonly child: TerminalLayoutNode;
127
+ readonly follow?: "none" | "end";
128
+ readonly primary?: boolean;
129
+ readonly overscroll?: "chain" | "contain";
130
+ readonly scrollbar?: "hidden" | "auto" | "always";
131
+ /** Styles the scrollbar track; the pinned runtime draws it as foreground text. */
132
+ readonly scrollbarTrackStyle?: (text: string) => string;
133
+ /** Styles the scrollbar thumb; the pinned runtime draws it as foreground text. */
134
+ readonly scrollbarThumbStyle?: (text: string) => string;
135
+ readonly scrollbarHideDelayMs?: number;
136
+ };
137
+ export type TerminalInputDiagnosticsPhase = "receipt" | "semantic-start" | "semantic-end" | "composition-start" | "composition-end" | "write-start" | "write-end";
138
+ export interface TerminalInputDiagnosticsEvent {
139
+ readonly phase: TerminalInputDiagnosticsPhase;
140
+ readonly revision: number;
141
+ readonly atMs: number;
142
+ readonly pendingDepth: number;
143
+ readonly pendingPresentationDepth: 0 | 1;
144
+ readonly appliedRevision: number;
145
+ }
146
+ export interface TerminalRuntimeOptions {
147
+ readonly root: TerminalComponentPort;
148
+ /** Bare viewport only: painted overlays in back-to-front order; null while geometry is stale. */
149
+ readonly onOverlayGeometry?: (surfaces: readonly TerminalPointerSurface[] | null) => void;
150
+ readonly mode?: "regular" | "fullscreen";
151
+ readonly layoutRoot?: TerminalLayoutNode;
152
+ readonly terminal?: TerminalPort;
153
+ /** A1-owned public-boundary decorator; comparison paths omit it. */
154
+ readonly decorateTerminal?: (terminal: TerminalPort) => TerminalPort;
155
+ /** Bare-custom-viewport scheduling policy; comparison paths omit it. */
156
+ readonly inputCoordination?: {
157
+ readonly classify: (data: string, focusedOverlay?: Exclude<TerminalInputSurfaceKind, "editor">) => TerminalInputCoordinationDecision;
158
+ readonly onReceipt?: () => void;
159
+ readonly scheduler?: TerminalInputCoordinationScheduler;
160
+ };
161
+ /** Optional bounded evidence hook. Production composition omits it. */
162
+ readonly inputDiagnostics?: {
163
+ readonly onEvent: (event: TerminalInputDiagnosticsEvent) => void;
164
+ readonly now?: () => number;
165
+ };
166
+ readonly hardwareCursor?: boolean;
167
+ readonly mouse?: boolean;
168
+ /** Consume residual SGR mouse reports after every pre-input listener has run. */
169
+ readonly consumeUnhandledMouse?: boolean;
170
+ readonly wheelScrollLines?: TerminalWheelScrollLines;
171
+ readonly openUrl?: (url: string) => void;
172
+ readonly onRightClickPaste?: () => void;
173
+ readonly logDirectory?: string;
174
+ }
175
+ export interface TerminalStopOptions {
176
+ readonly preserveScreen?: boolean;
177
+ readonly drainInput?: boolean;
178
+ readonly drainMaxMs?: number;
179
+ readonly drainIdleMs?: number;
180
+ }
181
+ export interface TerminalDamageFrameDescriptor {
182
+ /**
183
+ * Frame ids are compared only within one presentation epoch; absent means the current epoch. A
184
+ * presenter switch starts a new epoch, because each presenter numbers its own frames.
185
+ */
186
+ readonly epoch?: number;
187
+ readonly frameId: number;
188
+ readonly width: number;
189
+ readonly height: number;
190
+ readonly transcript: {
191
+ readonly rowStart: number;
192
+ readonly rowEnd: number;
193
+ } | null;
194
+ readonly dock: {
195
+ readonly rowStart: number;
196
+ readonly rowEnd: number;
197
+ } | null;
198
+ /**
199
+ * Visible rows owned by the block that is currently streaming. A live block repaints
200
+ * every row it owns when it reflows, so the allowed damage follows the declared tail
201
+ * instead of assuming a one-row tail.
202
+ */
203
+ readonly liveTailRows?: number;
204
+ readonly verticalShiftRows: number;
205
+ readonly safeVerticalShift: boolean;
206
+ readonly cause: string;
207
+ }
208
+ export interface TerminalDamageFrameSafety {
209
+ readonly overlayActive: boolean;
210
+ readonly selectionActive: boolean;
211
+ readonly replacementSurfaceActive: boolean;
212
+ }
213
+ export type TerminalDamageDecisionReason = "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";
214
+ export interface TerminalDamageDecision {
215
+ readonly frameId: number | null;
216
+ readonly transformed: boolean;
217
+ readonly reason: TerminalDamageDecisionReason;
218
+ readonly shiftRows: number;
219
+ readonly paintedRows: readonly number[];
220
+ }
221
+ /** What the shell's hyperlink analysis reports for one visible row. */
222
+ export interface TerminalHyperlinkInspection {
223
+ readonly ranges: readonly unknown[];
224
+ readonly hasExplicitLink: boolean;
225
+ readonly signature: string;
226
+ readonly replaySafe: boolean;
227
+ readonly width: number;
228
+ }
229
+ export interface TerminalDamageOptions {
230
+ readonly regionalScroll: boolean;
231
+ /** The shell supplies visible-row analysis; the terminal layer owns no UI parser. */
232
+ readonly inspectHyperlinks: (content: string) => TerminalHyperlinkInspection;
233
+ readonly onResize?: () => void;
234
+ readonly onHyperlinkCleanupRequired?: () => void;
235
+ }
236
+ /** A terminal decorator that repaints only the rows a frame declares changed. */
237
+ export interface TerminalDamagePort extends TerminalPort {
238
+ readonly lastDecision: TerminalDamageDecision;
239
+ readonly canvasBackgroundAnsi: string | null;
240
+ readonly presentationEpoch: number;
241
+ invalidatePresentation(): void;
242
+ /** Returns true when the background changed and a full repaint is needed. */
243
+ setCanvasBackground(ansi: string | null): boolean;
244
+ presentedRows(): readonly string[];
245
+ requestHyperlinkCleanup(rows?: readonly number[]): void;
246
+ arm(descriptor: TerminalDamageFrameDescriptor, safety: TerminalDamageFrameSafety): void;
247
+ }
248
+ /** The terminal runtime the shell drives: one root, overlays, input listeners, and modes. */
249
+ export interface TerminalRuntimePort {
250
+ readonly state: TerminalRuntimeState;
251
+ readonly active: boolean;
252
+ readonly mode: "regular" | "fullscreen";
253
+ /** Full repaints since start, for rendering evidence. */
254
+ readonly fullRedraws: number;
255
+ readonly presentationHeld: boolean;
256
+ viewport(): TerminalViewport;
257
+ start(): void;
258
+ showOverlay(component: TerminalComponentPort, options?: TerminalOverlayOptions): TerminalOverlayHandle;
259
+ hasOverlay(): boolean;
260
+ hasFocusedOverlay(): boolean;
261
+ writeControl(data: string): void;
262
+ freezePresentation(): void;
263
+ beginPresentationHold(): () => void;
264
+ addPreInputListener(listener: TerminalPreInputListener): () => void;
265
+ addInputListener(listener: TerminalInputListener): () => void;
266
+ switchMode(mode: "regular" | "fullscreen"): boolean;
267
+ setHardwareCursor(enabled: boolean): void;
268
+ setClearOnShrink(enabled: boolean): void;
269
+ setWheelScrollLines(lines: TerminalWheelScrollLines): void;
270
+ setTerminalProgress(active: boolean): void;
271
+ setProgramStatus(status: TerminalProgramStatus): void;
272
+ setTitle(title: string): void;
273
+ writeAfterStop(text: string): void;
274
+ invalidate(): void;
275
+ requestRender(force?: boolean): void;
276
+ renderNow(force?: boolean): void;
277
+ stop(options?: TerminalStopOptions): Promise<void>;
278
+ dispose(options?: TerminalStopOptions): Promise<void>;
279
+ }
280
+ /** Builds the terminal runtime and its helpers; the vendor TUI adapter implements it. */
281
+ export interface TerminalRuntimeFactory {
282
+ createRuntime(options: TerminalRuntimeOptions): TerminalRuntimePort;
283
+ createDamageTerminal(terminal: TerminalPort, options: TerminalDamageOptions): TerminalDamagePort;
284
+ /** Whether input on a surface may be applied before the current presentation completes. */
285
+ classifyInput(data: string, surface: TerminalInputSurfaceKind): TerminalInputCoordinationDecision;
286
+ /** Decodes an enhanced-keyboard sequence to the legacy byte form, or "" for a key release. */
287
+ legacyKeyInput(data: string): string;
288
+ /** Rebases a painted row's default background onto the given background sequence. */
289
+ rebaseDefaultBackground(content: string, backgroundAnsi: string): string;
290
+ }
@@ -0,0 +1,46 @@
1
+ /** Foreground roles a vendor-neutral surface paints with. */
2
+ export type UiThemeToken = "accent" | "mdHeading" | "mdLink" | "text" | "muted" | "dim" | "border" | "error" | "success" | "scrollbarTrack" | "scrollbarThumb";
3
+ /** Background roles for a selected row and for a row whose work is still pending. */
4
+ export type UiThemeBackground = "selectedBg" | "toolPendingBg";
5
+ export interface UiTheme {
6
+ fg(token: UiThemeToken, text: string): string;
7
+ bold(text: string): string;
8
+ /**
9
+ * The terminal's own foreground, left unpainted. What a list's own text is:
10
+ * a theme built for a light background would otherwise write near-black rows
11
+ * into a dark terminal, which is how the engine leaves its lists too.
12
+ */
13
+ plain(text: string): string;
14
+ /** Optional palette preview used by controls that choose the active accent. */
15
+ accentPreview?(color: string, text: string): string | null;
16
+ /** Selection background for an active list item or floating-surface row. */
17
+ highlight(text: string): string;
18
+ /** A control that is present but cannot act: quieter than quiet text. */
19
+ disabled(text: string): string;
20
+ /** Background for a floating surface, so it reads as above the content. */
21
+ panel(text: string): string;
22
+ /** Paints a declared background role behind already painted text. */
23
+ background(token: UiThemeBackground, text: string): string;
24
+ }
25
+ /**
26
+ * The active theme and its change notifications. The vendor adapter supplies it, so a surface paints
27
+ * from the live theme without importing the vendor's theme module.
28
+ */
29
+ export interface ThemeSource {
30
+ /** The live theme; its painters read the current palette on every call. */
31
+ current(): UiTheme;
32
+ /** Calls `listener` after the active theme changes; returns the unsubscribe function. */
33
+ onChange(listener: () => void): () => void;
34
+ }
35
+ import type { TerminalRuntimeFactory } from "./terminal.js";
36
+ /** How the full-screen canvas behind the session is painted. */
37
+ export type CanvasBackgroundStyle = "transparent" | "accent" | "dark";
38
+ /** What the application shell receives from the vendor presentation adapter. */
39
+ export interface ShellPresentationPorts {
40
+ readonly theme: ThemeSource;
41
+ /** The terminal background sequence for a canvas style in the active theme, or null to leave the terminal's own. */
42
+ canvasBackground(style: CanvasBackgroundStyle): string | null;
43
+ /** Columns the pinned comparison layout pads command output with. */
44
+ readonly pinnedOutputPad: 0 | 1;
45
+ readonly terminalRuntime: TerminalRuntimeFactory;
46
+ }
@@ -19,7 +19,7 @@ export function resolveDevelopmentLaunchEnvironment(canonicalPackageRoot, releas
19
19
  ? join(developmentRoot, "config")
20
20
  : join(checkoutRoot, "config");
21
21
  const dataDir = resolve(source[PRODUCT_IDENTITY.environment.dataDir] ?? join(developmentRoot, "data"));
22
- // Rationale: solo processes keep isolated control state but must see the same history
22
+ // Rationale: development processes keep isolated control state but must see the same history
23
23
  // after selecting Shared; use a checkout-wide root across rebuilds unless overridden.
24
24
  const historyDataDir = resolve(source[PRODUCT_IDENTITY.environment.developmentHistoryDataDir]
25
25
  ?? source[PRODUCT_IDENTITY.environment.dataDir]
@@ -36,7 +36,6 @@ export function resolveDevelopmentLaunchEnvironment(canonicalPackageRoot, releas
36
36
  [PRODUCT_IDENTITY.environment.configDir]: resolve(source[PRODUCT_IDENTITY.environment.configDir] ?? persistentConfigDir),
37
37
  [PRODUCT_IDENTITY.environment.dataDir]: dataDir,
38
38
  [PRODUCT_IDENTITY.environment.runtimeDir]: resolve(source[PRODUCT_IDENTITY.environment.runtimeDir] ?? join(developmentRoot, "runtime")),
39
- [PRODUCT_IDENTITY.environment.databasePath]: resolve(source[PRODUCT_IDENTITY.environment.databasePath] ?? join(dataDir, PRODUCT_IDENTITY.endpoint.databaseFilename)),
40
39
  },
41
40
  };
42
41
  }
@@ -3,7 +3,7 @@ export type { DevelopmentLaunchEnvironment } from "./development-launch.js";
3
3
  export { PI_PROFILE_RESOURCE_DIRECTORIES, initializeProductProfile } from "./initialize-profile.js";
4
4
  export type { InitializedProfile } from "./initialize-profile.js";
5
5
  export { interactiveLaunchIntent, parseSessionSelection } from "./intent.js";
6
- export type { InteractiveLaunchIntent, InteractiveLaunchMode, LaunchIntent, LaunchProfileId, SessionSelection } from "./intent.js";
6
+ export type { InteractiveLaunchIntent, LaunchIntent, LaunchProfileId, SessionSelection } from "./intent.js";
7
7
  export { configurationRootForProfile, resolveLaunchProfilePaths, resolvePromptHistoryDataDir } from "./profile-paths.js";
8
8
  export type { LaunchProfilePathOptions, LaunchProfilePaths } from "./profile-paths.js";
9
9
  export { prepareInteractiveLaunch } from "./prepare-launch.js";
@@ -3,12 +3,10 @@ import type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
3
3
  export { parseSessionSelection } from "../../foundation/lifecycle/index.js";
4
4
  export type { SessionSelection } from "../../foundation/lifecycle/index.js";
5
5
  export type { LaunchProfileId } from "../../foundation/lifecycle/index.js";
6
- export type InteractiveLaunchMode = "tabs" | "solo";
7
6
  export interface InteractiveLaunchIntent {
8
7
  readonly kind: "interactive";
9
8
  readonly profileId: LaunchProfileId;
10
- readonly launchMode: InteractiveLaunchMode;
11
9
  readonly sessionSelection?: SessionSelection;
12
10
  }
13
11
  export type LaunchIntent = InteractiveLaunchIntent;
14
- export declare function interactiveLaunchIntent(profileId: LaunchProfileId, sessionSelection?: SessionSelection, launchMode?: InteractiveLaunchMode): InteractiveLaunchIntent;
12
+ export declare function interactiveLaunchIntent(profileId: LaunchProfileId, sessionSelection?: SessionSelection): InteractiveLaunchIntent;
@@ -1,11 +1,9 @@
1
1
  import { sessionSelectionArguments } from "../../foundation/lifecycle/index.js";
2
2
  export { parseSessionSelection } from "../../foundation/lifecycle/index.js";
3
- export function interactiveLaunchIntent(profileId, sessionSelection, launchMode = profileId === "a1" ? "tabs" : "solo") {
3
+ export function interactiveLaunchIntent(profileId, sessionSelection) {
4
4
  if (sessionSelection !== undefined && profileId !== "a1") {
5
5
  throw new Error("session selection requires the A1 profile");
6
6
  }
7
- if (profileId === "pi" && launchMode !== "solo")
8
- throw new Error("the Pi comparison launch is always solo");
9
7
  sessionSelectionArguments(sessionSelection);
10
- return Object.freeze({ kind: "interactive", profileId, launchMode, ...(sessionSelection === undefined ? {} : { sessionSelection }) });
8
+ return Object.freeze({ kind: "interactive", profileId, ...(sessionSelection === undefined ? {} : { sessionSelection }) });
11
9
  }
@@ -7,10 +7,10 @@ export type OwnedUiProfileId = LaunchProfileId;
7
7
  export interface InteractiveRuntimeSelection {
8
8
  readonly kind: "owned-ui";
9
9
  readonly profileId: OwnedUiProfileId;
10
- readonly ownedSurfaces: "on" | "off";
10
+ readonly productMode: "bare" | "comparison";
11
11
  }
12
12
  export interface InteractiveRuntimeRunners {
13
- readonly ownedUi: (profileId: OwnedUiProfileId, ownedSurfaces: "on" | "off") => Promise<number>;
13
+ readonly ownedUi: (profileId: OwnedUiProfileId, productMode: "bare" | "comparison") => Promise<number>;
14
14
  }
15
15
  export declare function selectInteractiveRuntime(profileId: string): InteractiveRuntimeSelection;
16
16
  export declare function runSelectedInteractiveRuntime(profileId: string, runners: InteractiveRuntimeRunners): Promise<number>;
@@ -4,10 +4,10 @@ export function selectInteractiveRuntime(profileId) {
4
4
  return Object.freeze({
5
5
  kind: "owned-ui",
6
6
  profileId,
7
- ownedSurfaces: profileId === "a1" ? "on" : "off",
7
+ productMode: profileId === "a1" ? "bare" : "comparison",
8
8
  });
9
9
  }
10
10
  export async function runSelectedInteractiveRuntime(profileId, runners) {
11
11
  const selection = selectInteractiveRuntime(profileId);
12
- return await runners.ownedUi(selection.profileId, selection.ownedSurfaces);
12
+ return await runners.ownedUi(selection.profileId, selection.productMode);
13
13
  }
@@ -1,4 +1,4 @@
1
- import { type NativeProcessIdentity, type SessionRepositoryIdentity, type SessionWorktreeInventoryEntry } from "../../foundation/lifecycle/index.js";
1
+ import { type ProcessIdentity, type SessionRepositoryIdentity, type SessionWorktreeInventoryEntry } from "../../foundation/lifecycle/index.js";
2
2
  export { PRIMARY_SESSION_AGENT_ID } from "../../foundation/lifecycle/index.js";
3
3
  export type SessionContextRequest = {
4
4
  readonly action: "link-worktree";
@@ -19,6 +19,6 @@ export type SessionContextOutcome = {
19
19
  };
20
20
  export interface SessionContextRuntime {
21
21
  readonly runtimeId: string;
22
- readonly inspectProcess: (pid: number) => Promise<NativeProcessIdentity | null>;
22
+ readonly inspectProcess: (pid: number) => Promise<ProcessIdentity | null>;
23
23
  }
24
24
  export declare function updateSessionRepositoryContext(identity: SessionRepositoryIdentity, request: SessionContextRequest, runtime: SessionContextRuntime): Promise<SessionContextOutcome>;
@@ -1,5 +1,5 @@
1
1
  import type { Readable, Writable } from "node:stream";
2
- export type OwnedProjectTrustChoiceId = "trust" | "trust-parent" | "trust-session" | "deny" | "deny-session";
2
+ type OwnedProjectTrustChoiceId = "trust" | "trust-parent" | "trust-session" | "deny" | "deny-session";
3
3
  export interface OwnedProjectTrustPromptRequest {
4
4
  readonly cwd: string;
5
5
  readonly defaultDecision: "ask" | "always" | "never";
@@ -21,7 +21,7 @@ export interface ConsoleProjectTrustPromptOptions {
21
21
  readonly columns?: number;
22
22
  readonly rows?: number;
23
23
  };
24
- readonly presentation?: "bare" | "comparison";
24
+ readonly productMode?: "bare" | "comparison";
25
25
  readonly environment?: NodeJS.ProcessEnv;
26
26
  }
27
27
  /** Fixed pre-resource selector; no project resource is available. */
@@ -34,7 +34,7 @@ export function createConsoleProjectTrustPrompt(options = {}) {
34
34
  }
35
35
  if (choices.length === 0)
36
36
  throw new Error("project trust choices are unavailable");
37
- const comparison = options.presentation === "comparison";
37
+ const comparison = options.productMode === "comparison";
38
38
  const renderBareDialog = comparison ? undefined : (await import("./project-trust-dialog.js")).renderProjectTrustDialog;
39
39
  const palette = comparison ? null : trustPaletteOptions(options.environment ?? process.env);
40
40
  const wasRaw = input.isRaw === true;
@@ -25,8 +25,6 @@ export interface ReferenceScreenOptions {
25
25
  readonly document: ReferenceDocumentProvider;
26
26
  /** The reader's scroll settings, read on every frame so a live change is honored. */
27
27
  readonly scrollSettings: () => OwnedUiViewportSettings;
28
- /** The screen is a resident tab, such as the Changelog tab: it offers no screen-level close. */
29
- readonly pinned?: boolean;
30
28
  /** Enables owned text selection for document routes that explicitly opt in. */
31
29
  readonly selection?: ReferenceDocumentSelectionOptions;
32
30
  }
@@ -49,7 +49,6 @@ export class ReferenceScreenApp {
49
49
  #title;
50
50
  #document;
51
51
  #scrollSettings;
52
- #pinned;
53
52
  #selection;
54
53
  #scroll = 0;
55
54
  #interruptArmed = false;
@@ -69,7 +68,6 @@ export class ReferenceScreenApp {
69
68
  this.#title = options.title;
70
69
  this.#document = options.document;
71
70
  this.#scrollSettings = options.scrollSettings;
72
- this.#pinned = options.pinned === true;
73
71
  this.#selection = options.selection === undefined ? undefined : new ReferenceDocumentSelection(options.selection);
74
72
  }
75
73
  onActivate(host) {
@@ -178,8 +176,7 @@ export class ReferenceScreenApp {
178
176
  switch (action) {
179
177
  case "close":
180
178
  this.#selection?.handleInput(data);
181
- if (!this.#pinned)
182
- host.close();
179
+ host.close();
183
180
  return { consumed: true };
184
181
  case "up":
185
182
  this.#scrollBy(-1);
@@ -250,12 +247,8 @@ export class ReferenceScreenApp {
250
247
  }
251
248
  return { owned: true, changed: true };
252
249
  }
253
- // Invariant: a pinned screen is its tab and `Esc` does not close it, so it shows no close hint.
254
250
  #hintEntries() {
255
- const entries = REFERENCE_SCREEN_SHORTCUTS.hintEntries(SCOPE);
256
- if (!this.#pinned)
257
- return entries;
258
- return entries.filter(entry => entry.key !== DIALOG_CLOSE_SHORTCUT_HINT.key || entry.action !== DIALOG_CLOSE_SHORTCUT_HINT.action);
251
+ return REFERENCE_SCREEN_SHORTCUTS.hintEntries(SCOPE);
259
252
  }
260
253
  // Invariant: the title is the first document row, as in v2, so it scrolls with the document.
261
254
  #content(width, theme) {
@@ -3,7 +3,7 @@ export interface ReleaseNoteClaim {
3
3
  acknowledge(): Promise<void>;
4
4
  release(): Promise<void>;
5
5
  }
6
- export interface ReleaseNoteStateOptions {
6
+ interface ReleaseNoteStateOptions {
7
7
  readonly configDir: string;
8
8
  readonly profileId: string;
9
9
  readonly version: string;
@@ -11,3 +11,4 @@ export interface ReleaseNoteStateOptions {
11
11
  }
12
12
  /** Claims one stable note across concurrent sessions and acknowledges it only after presentation closes. */
13
13
  export declare function claimReleaseNote(options: ReleaseNoteStateOptions): Promise<ReleaseNoteClaim | null>;
14
+ export {};
@@ -13,15 +13,9 @@ export declare const SETTINGS_SHORTCUTS: ShortcutRegistry<Action>;
13
13
  export declare class SettingsApp implements UiApp {
14
14
  #private;
15
15
  readonly id = "settings";
16
- /**
17
- * `pinned` presents the screen as a resident Settings tab, which offers no screen-level close;
18
- * `configurePlusMenu` opens the tab bar's Plus Menu dialog in place of this screen's own.
19
- */
20
16
  constructor(session: OwnedSettingsManager, options: {
21
- readonly pinned?: boolean;
22
17
  readonly searchInputFactory: SettingsSearchInputFactory;
23
18
  readonly copyText?: (text: string) => void;
24
- readonly configurePlusMenu?: (() => boolean) | null;
25
19
  readonly dialogPanel?: (text: string) => string;
26
20
  });
27
21
  onActivate(host: AppHostServices): void;