@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,14 +1,8 @@
1
- import { ImageAttachmentError } from "../../contracts/owned-ui/index.js";
2
1
  import { promptArrow } from "../../ui/components/prompt-input.js";
3
2
  import { composeSubmittedPromptRows, submittedPromptLayout, } from "../../ui/components/submitted-prompt.js";
4
3
  import { nativeHyperlinkStyle } from "../../ui/components/spans.js";
5
4
  import { paintTextSelection } from "../../ui/components/text-selection.js";
6
5
  import { progressStatusFrame, progressStatusText } from "../../ui/components/progress-status.js";
7
- import { createPiQueuedInputStatus, createPiShellFooter, createPiShellHeader, createPiShellLoadedResources, createPiShellStatus, } from "../../integrations/pi/components/shell-footer-status.js";
8
- import { createPiShellTranscriptComponent, } from "../../integrations/pi/components/shell-presenters-transcript.js";
9
- import { onPiThemeChange, piTheme } from "../../integrations/pi/components/upstream/theme/theme.js";
10
- import { piShellTruncateToWidth, } from "../../integrations/pi/components/shell-shared-facade.js";
11
- import {} from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
12
6
  import { PromptChipStore } from "./prompt-chips.js";
13
7
  import { SessionViewportController } from "./session-viewport-controller.js";
14
8
  import { createShellEditor } from "./shell-editor-factory.js";
@@ -18,14 +12,15 @@ import { WorkflowOutput } from "./workflow-output.js";
18
12
  import { InputSurfaceSwitch } from "./input-surface-switch.js";
19
13
  import { PinnedLayout } from "./shell-layout.js";
20
14
  import { ViewportLayout } from "./viewport-layout.js";
21
- import { nativeTranscriptLinkColor, TranscriptDocument } from "./transcript-document.js";
15
+ import { transcriptLinkColor, TranscriptDocument } from "./transcript-document.js";
22
16
  /** Composes session state into the owned transcript, viewport, editor, and dock. */
23
17
  export class OwnedUiSessionShellRoot {
24
18
  editor;
25
19
  header;
26
20
  resources;
27
21
  #cwd;
28
- #document;
22
+ /** The transcript's semantic rows, caches, and engine-backed block renderers. */
23
+ transcript;
29
24
  #themeUnsubscribe;
30
25
  #view;
31
26
  #status;
@@ -47,11 +42,13 @@ export class OwnedUiSessionShellRoot {
47
42
  #showImages = true;
48
43
  #imageWidthCells = 80;
49
44
  #outputPad = 1;
50
- #workflowOutput;
45
+ /** Workflow results, messages, and status lines appended to the transcript. */
46
+ workflow;
51
47
  #input;
52
48
  #layout;
53
49
  #extensions = new ExtensionSurface();
54
- #dockChrome;
50
+ /** The dock's notices, copy acknowledgement, and release banner. */
51
+ chrome;
55
52
  #imageSubmissionsSending = 0;
56
53
  constructor(view, cwd, handlers, startup = {}, agentDir, extensionRenderers = {
57
54
  getMessageRenderer: () => undefined,
@@ -64,26 +61,26 @@ export class OwnedUiSessionShellRoot {
64
61
  ...(handlers.pasteDiagnostics === undefined ? {} : { onEvent: handlers.pasteDiagnostics }),
65
62
  ...(handlers.pastePreparation === undefined ? {} : { preparation: handlers.pastePreparation }),
66
63
  ...(handlers.promptImageLimit === undefined ? {} : { imageLimit: handlers.promptImageLimit }) });
67
- this.#submittedPromptComposer = this.#customViewport ? this.#createSubmittedPromptComposer() : undefined;
64
+ this.#submittedPromptComposer = this.#customViewport ? this.#createSubmittedPromptComposer(handlers.presentation.theme) : undefined;
68
65
  this.#cwd = cwd;
69
- this.#document = this.#createDocument(cwd);
66
+ this.transcript = this.#createDocument(cwd, handlers.presentation.theme, handlers.components);
70
67
  this.#extensionRenderers = extensionRenderers;
71
68
  this.#imageAssets = imageAssets;
72
69
  this.#componentRuntime = handlers;
73
70
  this.#onPromptSuggestionEligibilityChanged = handlers.onPromptSuggestionEligibilityChanged;
74
- this.header = createPiShellHeader({
71
+ this.header = handlers.components.chrome.header({
75
72
  ...startup,
76
73
  ...(this.#customViewport ? { getKeybindings: () => this.editor.keybindingConfig() } : {}),
77
74
  });
78
- this.resources = createPiShellLoadedResources(startup.resources ?? [], startup.expanded ?? false);
79
- this.#status = createPiShellStatus(view, {
75
+ this.resources = handlers.components.chrome.loadedResources(startup.resources ?? [], startup.expanded ?? false);
76
+ this.#status = handlers.components.chrome.status(view, {
80
77
  text: (message, mode) => progressStatusText(message, mode === "custom-viewport" ? "…" : "..."),
81
78
  frame: progressStatusFrame,
82
79
  }, handlers);
83
80
  this.#status.setProgressPresentation(this.#customViewport ? "custom-viewport" : "pinned");
84
- this.#footer = createPiShellFooter(this.#extensions.withStatuses(view), cwd, this.#customViewport ? "a1" : "pi", () => this.#footerLevel, handlers.footerSessionName ?? true);
81
+ this.#footer = handlers.components.chrome.footer(this.#extensions.withStatuses(view), cwd, this.#customViewport ? "a1" : "pi", () => this.#footerLevel);
85
82
  this.editor = createShellEditor({
86
- handlers,
83
+ handlers, theme: handlers.presentation.theme, components: handlers.components,
87
84
  customViewport: this.#customViewport,
88
85
  cwd,
89
86
  ...(agentDir === undefined ? {} : { agentDir }),
@@ -92,7 +89,7 @@ export class OwnedUiSessionShellRoot {
92
89
  nextPasteDiagnosticRequest: () => --this.#pasteDiagnosticId,
93
90
  toggleToolsExpanded: () => this.#setToolsExpanded(!this.#toolsExpanded),
94
91
  });
95
- this.#queued = createPiQueuedInputStatus(view.editor.queuedSubmissions, this.#customViewport ? "custom-viewport" : "pinned", this.#customViewport ? () => this.editor.keybindingConfig() : undefined);
92
+ this.#queued = handlers.components.chrome.queuedInput(view.editor.queuedSubmissions, this.#customViewport ? "custom-viewport" : "pinned", this.#customViewport ? () => this.editor.keybindingConfig() : undefined);
96
93
  this.#viewportController = new SessionViewportController({
97
94
  enabled: this.#customViewport,
98
95
  editor: this.editor,
@@ -102,15 +99,15 @@ export class OwnedUiSessionShellRoot {
102
99
  ...(handlers.pasteDiagnostics === undefined ? {} : { pasteDiagnostics: handlers.pasteDiagnostics }),
103
100
  nextPasteDiagnosticRequest: () => --this.#pasteDiagnosticId,
104
101
  });
105
- this.#dockChrome = new DockChrome({
102
+ this.chrome = new DockChrome({ theme: handlers.presentation.theme, outputPad: handlers.presentation.pinnedOutputPad, components: handlers.components,
106
103
  invalidateChrome: () => this.#invalidateChrome(),
107
104
  requestRender: () => this.#componentRuntime.requestRender(),
108
105
  viewport: this.#viewportController,
109
106
  });
110
- this.#workflowOutput = new WorkflowOutput({
111
- customViewport: this.#customViewport,
112
- document: this.#document,
113
- dock: this.#dockChrome,
107
+ this.workflow = new WorkflowOutput({
108
+ customViewport: this.#customViewport, components: handlers.components,
109
+ document: this.transcript,
110
+ dock: this.chrome,
114
111
  transcriptLength: () => this.#view.transcript.length,
115
112
  outputPad: () => this.#outputPad,
116
113
  hotkeysPresentation: () => this.hotkeysPresentation(),
@@ -119,26 +116,27 @@ export class OwnedUiSessionShellRoot {
119
116
  });
120
117
  this.editor.setThinkingLevel(view.thinkingLevel);
121
118
  this.#input = new InputSurfaceSwitch(this.editor, {
122
- dockInputReuse: this.#customViewport && (handlers.enableDockInputReuse ?? true),
119
+ dockInputReuse: this.#customViewport && (handlers.enableDockInputReuse ?? true), classifyInput: handlers.presentation.terminalRuntime.classifyInput,
123
120
  viewport: this.#viewportController,
124
121
  ...(handlers.onInputSurfaceChanged === undefined ? {} : { onChanged: handlers.onInputSurfaceChanged }),
125
122
  });
126
- this.#layout = this.#createLayout(handlers.onViewportFrame);
123
+ this.#layout = this.#createLayout(handlers.onViewportFrame, createViewportTheme(handlers.presentation.theme));
127
124
  for (const block of view.transcript) {
128
125
  if (block.kind === "user")
129
126
  this.editor.addToHistory(block.text);
130
127
  }
131
- this.#document.sync(view.transcript);
128
+ this.transcript.sync(view.transcript);
132
129
  // Invariant: rendered rows expire when
133
130
  // their active theme changes.
134
- this.#themeUnsubscribe = onPiThemeChange(() => {
131
+ this.#themeUnsubscribe = handlers.presentation.theme.onChange(() => {
135
132
  this.invalidate();
136
133
  this.#componentRuntime.requestRender(true);
137
134
  });
138
135
  }
139
136
  // Invariant: the document reads the shell's chrome lazily, so it may be built before the header and viewport.
140
- #createDocument(cwd) {
137
+ #createDocument(cwd, theme, components) {
141
138
  return new TranscriptDocument({
139
+ theme, components,
142
140
  customViewport: this.#customViewport,
143
141
  cwd,
144
142
  mount: block => this.#mountTranscript(block),
@@ -149,38 +147,38 @@ export class OwnedUiSessionShellRoot {
149
147
  resourceRows: width => this.#customViewport ? [] : this.resources.render(width),
150
148
  hasExtensionHeader: () => this.#extensions.header !== null,
151
149
  thinkingVisible: () => this.#thinkingVisible,
152
- timeFormat: () => this.#viewportController.config.timeFormat,
153
150
  },
154
151
  });
155
152
  }
156
153
  // Invariant: one layout per root; the render path never consults the layout mode again.
157
- #createLayout(onFrame) {
154
+ #createLayout(onFrame, theme) {
158
155
  const ports = {
159
156
  viewport: this.#viewportController,
160
157
  input: this.#input,
161
158
  editor: this.editor,
162
159
  promptChips: this.#promptChips,
163
- dockChrome: this.#dockChrome,
164
- theme: VIEWPORT_THEME,
160
+ dockChrome: this.chrome,
161
+ theme,
165
162
  ...(onFrame === undefined ? {} : { onFrame }),
166
163
  rows: () => this.#componentRuntime.getRows(),
167
164
  dock: width => this.#renderDockLayout(width),
168
- document: width => this.#document.layout(width),
165
+ document: width => this.transcript.layout(width),
169
166
  queued: width => this.#renderQueued(width),
170
167
  liveStatus: width => this.#renderStatus(width),
171
168
  diagnostics: () => this.#view.diagnostics,
172
169
  };
173
170
  return this.#customViewport ? new ViewportLayout(ports) : new PinnedLayout(ports);
174
171
  }
175
- #createSubmittedPromptComposer() {
172
+ #createSubmittedPromptComposer(theme) {
173
+ const linkColor = transcriptLinkColor(theme);
176
174
  return {
177
- layout: (width, source) => submittedPromptLayout(width, source, this.#viewportController.config.timeFormat ?? "8:00 PM"),
178
- compose: (rows, width, source, style) => composeSubmittedPromptRows(rows, width, source, { ...style, prefix: text => promptArrow(text, piTheme()) }, this.#viewportController.config.timeFormat ?? "8:00 PM").map(row => nativeHyperlinkStyle(row, nativeTranscriptLinkColor)),
175
+ layout: width => submittedPromptLayout(width),
176
+ compose: (rows, width, style) => composeSubmittedPromptRows(rows, width, { ...style, prefix: text => promptArrow(text, theme.current()) }).map(row => nativeHyperlinkStyle(row, linkColor)),
179
177
  };
180
178
  }
181
179
  setEditorPaddingX(padding) {
182
180
  this.editor.setPaddingX(padding);
183
- this.#document.invalidate("editor-padding");
181
+ this.transcript.invalidate("editor-padding");
184
182
  }
185
183
  setAutocompleteMaxVisible(maxVisible) {
186
184
  this.editor.setAutocompleteMaxVisible(maxVisible);
@@ -190,7 +188,7 @@ export class OwnedUiSessionShellRoot {
190
188
  return;
191
189
  this.#outputPad = padding;
192
190
  this.#status.setOutputPad(padding);
193
- for (const component of this.#document.components())
191
+ for (const component of this.transcript.components())
194
192
  component.setOutputPad(padding);
195
193
  this.#invalidateTranscriptPresentation();
196
194
  }
@@ -198,7 +196,7 @@ export class OwnedUiSessionShellRoot {
198
196
  if (this.#thinkingVisible === !hidden)
199
197
  return;
200
198
  this.#thinkingVisible = !hidden;
201
- for (const component of this.#document.components())
199
+ for (const component of this.transcript.components())
202
200
  component.setHideThinkingBlock(hidden);
203
201
  this.#invalidateTranscriptPresentation();
204
202
  }
@@ -206,7 +204,7 @@ export class OwnedUiSessionShellRoot {
206
204
  if (this.#mermaidRenderingMode === mode)
207
205
  return;
208
206
  this.#mermaidRenderingMode = mode;
209
- for (const component of this.#document.components())
207
+ for (const component of this.transcript.components())
210
208
  component.setMermaidRenderingMode(mode);
211
209
  this.#invalidateTranscriptPresentation();
212
210
  }
@@ -215,7 +213,7 @@ export class OwnedUiSessionShellRoot {
215
213
  return;
216
214
  this.#showImages = showImages;
217
215
  this.#imageWidthCells = imageWidthCells;
218
- for (const component of this.#document.components())
216
+ for (const component of this.transcript.components())
219
217
  component.setImagePresentation(showImages, imageWidthCells);
220
218
  this.#invalidateTranscriptPresentation();
221
219
  }
@@ -235,9 +233,9 @@ export class OwnedUiSessionShellRoot {
235
233
  return this.#promptChips.prepareSubmission(text);
236
234
  }
237
235
  reconcilePromptImageLimitNotice(text = this.editor.getText()) {
238
- if (this.#dockChrome.notice?.errorCode !== "image-count" || !this.#promptChips.imageLimitState(text).corrected)
236
+ if (this.chrome.notice?.errorCode !== "image-count" || !this.#promptChips.imageLimitState(text).corrected)
239
237
  return false;
240
- this.dismissNotice();
238
+ this.chrome.dismissNotice();
241
239
  return true;
242
240
  }
243
241
  hasPendingPastes(text) { return this.#promptChips.hasPending(text); }
@@ -281,14 +279,14 @@ export class OwnedUiSessionShellRoot {
281
279
  const becameReady = this.#view.lifecycle !== "ready" && view.lifecycle === "ready";
282
280
  if (view.diagnostics.length !== this.#view.diagnostics.length
283
281
  || view.diagnostics.some((diagnostic, index) => diagnostic.sequence !== this.#view.diagnostics[index]?.sequence)) {
284
- this.#document.invalidate("diagnostics");
282
+ this.transcript.invalidate("diagnostics");
285
283
  }
286
284
  const promptAccepted = this.#view.lifecycle !== "busy" && view.lifecycle === "busy";
287
285
  this.#view = view;
288
286
  // Invariant: the idle new-session confirmation yields to the first truthful live status;
289
287
  // ordinary dock notices deliberately remain visible below Working during a run.
290
- if (promptAccepted && this.#dockChrome.notice?.kind === "new-session")
291
- this.#dockChrome.forgetNotice();
288
+ if (promptAccepted && this.chrome.notice?.kind === "new-session")
289
+ this.chrome.forgetNotice();
292
290
  if (promptAccepted && this.#imageSubmissionsSending > 0) {
293
291
  this.#imageSubmissionsSending = 0;
294
292
  this.#syncWorkingOverride();
@@ -296,7 +294,7 @@ export class OwnedUiSessionShellRoot {
296
294
  this.#status.update(view);
297
295
  this.#footer.update(this.#extensions.withStatuses(view));
298
296
  this.#queued.update(view.editor.queuedSubmissions);
299
- this.#document.sync(view.transcript);
297
+ this.transcript.sync(view.transcript);
300
298
  this.editor.setSubmitEnabled(view.lifecycle !== "stopping" && view.lifecycle !== "stopped" && view.lifecycle !== "failed");
301
299
  this.editor.setThinkingLevel(view.thinkingLevel);
302
300
  // Performance: semantic updates already invalidate affected transcript blocks. Chrome is a separate authority.
@@ -304,23 +302,15 @@ export class OwnedUiSessionShellRoot {
304
302
  if (becameReady)
305
303
  this.#onPromptSuggestionEligibilityChanged?.();
306
304
  }
307
- /**
308
- * Applies one block: its component is created or updated in place and the order grows
309
- * only when the block is new. A streamed chunk costs one component update rather than a
310
- * walk of the whole transcript.
311
- */
312
- applyTranscriptBlock(block) {
313
- this.#document.apply(block);
314
- }
315
305
  #mountTranscript(block) {
316
306
  // Invariant: the notice answers the reader's last command, so only their next prompt or
317
307
  // shell command retires it; assistant, tool, and compaction blocks streaming in keep it.
318
308
  if (block.kind === "user" || block.kind === "bash")
319
- this.dismissNotice();
320
- const created = createPiShellTranscriptComponent(block, this.#cwd, this.#extensionRenderers, this.#submittedPromptComposer, this.#outputPad, !this.#thinkingVisible, this.#mermaidRenderingMode, this.#showImages, this.#imageWidthCells, this.#imageAssets, { ...this.#componentRuntime, changed: () => {
321
- if (this.#document.component(block.id) !== created)
309
+ this.chrome.dismissNotice();
310
+ const created = this.#componentRuntime.components.transcript.component(block, this.#cwd, this.#extensionRenderers, this.#submittedPromptComposer, this.#outputPad, !this.#thinkingVisible, this.#mermaidRenderingMode, this.#showImages, this.#imageWidthCells, this.#imageAssets, { ...this.#componentRuntime, changed: () => {
311
+ if (this.transcript.component(block.id) !== created)
322
312
  return;
323
- this.#document.blockChanged(block.id);
313
+ this.transcript.blockChanged(block.id);
324
314
  this.#layout.invalidate();
325
315
  this.#input.clearDockInputCandidate();
326
316
  this.#componentRuntime.requestRender();
@@ -362,26 +352,19 @@ export class OwnedUiSessionShellRoot {
362
352
  }
363
353
  setViewportConfig(config) {
364
354
  if (this.#viewportController.setConfig(config)) {
365
- this.#document.invalidate("viewport-config");
355
+ this.transcript.invalidate("viewport-config");
366
356
  this.#layout.invalidate();
367
357
  }
368
358
  }
369
359
  setFullscreenCopyOnSelect(enabled) {
370
360
  this.#viewportController.setCopyOnSelect(enabled);
371
361
  }
372
- showCopyAcknowledgement(message) {
373
- this.#dockChrome.showCopyAcknowledgement(message);
374
- }
375
362
  resumeViewportFollowing() {
376
363
  this.#viewportController.resumeFollowing();
377
364
  }
378
365
  noteCompletedAssistantMessage() {
379
366
  this.#viewportController.noteCompletedAssistantMessage();
380
367
  }
381
- /** A new session binding owns new mounts even when it reuses semantic invocation ids. */
382
- resetTranscript() {
383
- this.#document.reset();
384
- }
385
368
  resetViewport() {
386
369
  this.#viewportController.reset();
387
370
  }
@@ -401,7 +384,7 @@ export class OwnedUiSessionShellRoot {
401
384
  #renderDockLayout(width) {
402
385
  const queued = this.#customViewport ? [] : this.#renderQueued(width);
403
386
  const statusRows = this.#customViewport ? this.#status.renderDock(width) : this.#renderStatus(width);
404
- const noticeRows = this.#dockChrome.renderNotice(width, this.#outputPad);
387
+ const noticeRows = this.chrome.renderNotice(width, this.#outputPad);
405
388
  const transientRows = [...queued, ...statusRows, ...noticeRows];
406
389
  const messageStart = queued.length;
407
390
  const copyableMessageRows = Array.from({ length: statusRows.length + noticeRows.length }, (_value, index) => ({ row: messageStart + index }));
@@ -421,9 +404,6 @@ export class OwnedUiSessionShellRoot {
421
404
  copyableMessageRows,
422
405
  };
423
406
  }
424
- dismissNotice() {
425
- this.#dockChrome.dismissNotice();
426
- }
427
407
  #renderQueued(width) {
428
408
  return this.#view.editor.queuedSubmissions.length === 0 ? [] : this.#queued.render(width);
429
409
  }
@@ -440,22 +420,7 @@ export class OwnedUiSessionShellRoot {
440
420
  };
441
421
  }
442
422
  #renderDocument(width) {
443
- return this.#document.layout(width).rows;
444
- }
445
- transcriptComponent(id) {
446
- return this.#document.component(id);
447
- }
448
- exitTranscript(width) {
449
- return this.#document.exitTranscript(width);
450
- }
451
- appendWorkflowStatus(message) {
452
- this.#workflowOutput.appendStatus(message);
453
- }
454
- appendWorkflowMessage(message, errorCode) {
455
- this.#workflowOutput.appendMessage(message, errorCode);
456
- }
457
- appendWorkflowResult(result, errorCode) {
458
- this.#workflowOutput.appendResult(result, errorCode);
423
+ return this.transcript.layout(width).rows;
459
424
  }
460
425
  toggleThinkingVisibility() {
461
426
  this.setHideThinkingBlock(this.#thinkingVisible);
@@ -472,7 +437,7 @@ export class OwnedUiSessionShellRoot {
472
437
  }
473
438
  setExtensionHeader(component) {
474
439
  this.#extensions.replaceHeader(component);
475
- this.#document.invalidate("extension-header");
440
+ this.transcript.invalidate("extension-header");
476
441
  this.invalidate();
477
442
  }
478
443
  setExtensionFooter(component) {
@@ -517,9 +482,9 @@ export class OwnedUiSessionShellRoot {
517
482
  };
518
483
  }
519
484
  resetWorkflowPresentation() {
520
- this.#dockChrome.forgetNotice();
521
- this.#dockChrome.clearCopyAcknowledgement(false);
522
- this.#workflowOutput.reset();
485
+ this.chrome.forgetNotice();
486
+ this.chrome.clearCopyAcknowledgement(false);
487
+ this.workflow.reset();
523
488
  this.invalidate();
524
489
  }
525
490
  resetExtensionUi() {
@@ -527,15 +492,15 @@ export class OwnedUiSessionShellRoot {
527
492
  this.#syncWorkingOverride();
528
493
  this.#footer.update(this.#extensions.withStatuses(this.#view));
529
494
  // Invariant: an extension renderer may have drawn transcript blocks that are now unrendered by it.
530
- this.#document.invalidate("extension-renderers");
495
+ this.transcript.invalidate("extension-renderers");
531
496
  this.invalidate();
532
497
  }
533
498
  addExtensionNotification(message, type) {
534
499
  if (type === "info") {
535
- this.appendWorkflowStatus(message);
500
+ this.workflow.appendStatus(message);
536
501
  return;
537
502
  }
538
- this.appendWorkflowMessage({ kind: type, message });
503
+ this.workflow.appendMessage({ kind: type, message });
539
504
  }
540
505
  extensionFooterData() {
541
506
  return {
@@ -555,7 +520,7 @@ export class OwnedUiSessionShellRoot {
555
520
  return this.#layout.compositions();
556
521
  }
557
522
  transcriptRenderCount() {
558
- return this.#document.renderCount;
523
+ return this.transcript.renderCount;
559
524
  }
560
525
  setFooterLevel(visible) { this.#footerLevel = visible; }
561
526
  setInputSurface(component, disposePrevious = true, coordination = "owned") {
@@ -566,7 +531,7 @@ export class OwnedUiSessionShellRoot {
566
531
  this.#input.handleInput(data);
567
532
  }
568
533
  invalidate() {
569
- this.#document.invalidate("repaint");
534
+ this.transcript.invalidate("repaint");
570
535
  this.#invalidateChrome();
571
536
  }
572
537
  #invalidateChrome() {
@@ -586,12 +551,12 @@ export class OwnedUiSessionShellRoot {
586
551
  this.#onPromptSuggestionEligibilityChanged?.();
587
552
  }
588
553
  dispose() {
589
- this.#dockChrome.clearCopyAcknowledgement(false);
554
+ this.chrome.clearCopyAcknowledgement(false);
590
555
  this.clearViewportPointerState();
591
556
  this.#themeUnsubscribe();
592
557
  this.header.dispose?.();
593
558
  this.resources.dispose?.();
594
- this.#document.dispose();
559
+ this.transcript.dispose();
595
560
  this.#layout.invalidate();
596
561
  this.#input.dispose();
597
562
  this.#extensions.dispose();
@@ -601,7 +566,7 @@ export class OwnedUiSessionShellRoot {
601
566
  this.#queued.dispose?.();
602
567
  }
603
568
  #invalidateTranscriptPresentation() {
604
- this.#document.invalidate("block-presentation");
569
+ this.transcript.invalidate("block-presentation");
605
570
  this.invalidate();
606
571
  }
607
572
  #renderStatus(width) {
@@ -612,16 +577,16 @@ export class OwnedUiSessionShellRoot {
612
577
  if (!this.#customViewport)
613
578
  return footer.render(width);
614
579
  width = Math.max(0, width - 2);
615
- return footer.render(width).map(row => ` ${piShellTruncateToWidth(row, width)}`);
580
+ return footer.render(width).map(row => ` ${this.#componentRuntime.components.text.truncateToWidth(row, width)}`);
616
581
  }
617
582
  #setToolsExpanded(expanded) {
618
583
  this.#toolsExpanded = expanded;
619
584
  this.header.setExpanded(expanded);
620
585
  this.resources.setExpanded(expanded);
621
- for (const component of this.#document.components())
586
+ for (const component of this.transcript.components())
622
587
  component.setExpanded(expanded);
623
588
  // Invariant: expansion changes what a block draws without changing its revision.
624
- this.#document.invalidate("tools-expanded");
589
+ this.transcript.invalidate("tools-expanded");
625
590
  this.invalidate();
626
591
  }
627
592
  }
@@ -635,7 +600,7 @@ function withoutTerminalBackground(text) {
635
600
  * The pinned-profile screen: a followed transcript scroll above the dock. The runtime mounts one such layout,
636
601
  * so its single `transcript` scroll view is shared by whichever session the parts currently resolve to.
637
602
  */
638
- export function pinnedLayoutRoot(parts) {
603
+ export function pinnedLayoutRoot(parts, theme) {
639
604
  return {
640
605
  type: "stack",
641
606
  direction: "vertical",
@@ -652,8 +617,8 @@ export function pinnedLayoutRoot(parts) {
652
617
  primary: true,
653
618
  overscroll: "chain",
654
619
  scrollbar: "auto",
655
- scrollbarTrackStyle: text => piTheme().fg("scrollbarTrack", text),
656
- scrollbarThumbStyle: text => piTheme().fg("scrollbarThumb", text),
620
+ scrollbarTrackStyle: text => theme.current().fg("scrollbarTrack", text),
621
+ scrollbarThumbStyle: text => theme.current().fg("scrollbarThumb", text),
657
622
  child: { type: "component", component: parts.document },
658
623
  },
659
624
  },
@@ -840,13 +805,15 @@ function isPackageExtensionSource(sourceInfo) {
840
805
  const source = sourceInfo?.source ?? "";
841
806
  return source.startsWith("npm:") || source.startsWith("git:");
842
807
  }
843
- // Performance: stable painter identities let the neutral viewport retain row-level
844
- // selection variants while each callback still resolves the live Pi theme.
845
- const VIEWPORT_THEME = {
846
- track: text => `${SCROLLBAR_CELL_RESET}${piTheme().fg("dim", text)}`,
847
- thumb: text => `${SCROLLBAR_CELL_RESET}${piTheme().fg("accent", text)}`,
848
- sticky: (text, hovered) => piTheme().bg(hovered ? "selectedBg" : "toolPendingBg", piTheme().fg("text", withoutTerminalBackground(text))),
849
- quietSticky: text => `\u001b[2m${text.replace(/\u001b\[(?:0|22)m/g, "$&\u001b[2m")}\u001b[22m`,
850
- bottomControl: (text, hovered) => piTheme().bg(hovered ? "selectedBg" : "toolPendingBg", piTheme().fg("text", text)),
851
- selection: paintTextSelection,
852
- };
808
+ // Performance: one painter set per root keeps identities stable, so the neutral viewport retains row-level
809
+ // selection variants while each callback still resolves the live theme.
810
+ function createViewportTheme(source) {
811
+ return {
812
+ track: text => `${SCROLLBAR_CELL_RESET}${source.current().fg("dim", text)}`,
813
+ thumb: text => `${SCROLLBAR_CELL_RESET}${source.current().fg("accent", text)}`,
814
+ sticky: (text, hovered) => source.current().background(hovered ? "selectedBg" : "toolPendingBg", source.current().fg("text", withoutTerminalBackground(text))),
815
+ quietSticky: text => `\u001b[2m${text.replace(/\u001b\[(?:0|22)m/g, "$&\u001b[2m")}\u001b[22m`,
816
+ bottomControl: (text, hovered) => source.current().background(hovered ? "selectedBg" : "toolPendingBg", source.current().fg("text", text)),
817
+ selection: paintTextSelection,
818
+ };
819
+ }
@@ -1,11 +1,8 @@
1
+ import type { OwnedUiShellSelectorOption } from "../../contracts/owned-ui/index.js";
2
+ import type { TerminalComponentPort, TerminalInputListenerResult, TerminalInputSurfaceKind, TerminalOverlayHandle, TerminalPointerSurface } from "../../contracts/presentation/index.js";
1
3
  import type { OwnedUiCommandResult, OwnedUiSessionBackend, OwnedUiSessionViewModel, OwnedUiThinkingLevel, OwnedUiWorkflowRequest } from "../../contracts/owned-ui/index.js";
2
- import { type PiShellSkillSummary } from "../../integrations/pi/components/skills-command.js";
3
- import type { PiShellHotkeysPresentation } from "../../integrations/pi/components/shell-presenters-info.js";
4
- import type { PiShellSelectorOption } from "../../integrations/pi/components/shell-shared-facade.js";
5
- import type { PiTuiDamageDecision } from "../../integrations/pi/tui-runtime/damage-aware-terminal.js";
6
- import type { PiTuiRuntimeAdapter } from "../../integrations/pi/tui-runtime/adapter.js";
7
- import type { PiTuiInputSurfaceKind } from "../../integrations/pi/tui-runtime/input-presentation-coordinator.js";
8
- import type { PiTuiComponentPort, PiTuiInputListenerResult, PiTuiOverlayHandle, PiTuiPointerSurface } from "../../integrations/pi/tui-runtime/contracts.js";
4
+ import type { OwnedUiShellHotkeysPresentation, OwnedUiShellSkillSummary } from "../../contracts/owned-ui/index.js";
5
+ import type { TerminalDamageDecision, TerminalRuntimePort } from "../../contracts/presentation/index.js";
9
6
  import { OwnedUiTerminalHost, type OwnedUiHostedPresenter, type OwnedUiPresenterRelease } from "./shell-host.js";
10
7
  import { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type PinnedLayoutPart } from "./session-shell-root.js";
11
8
  export { OwnedUiSessionShellRoot, type OwnedUiSessionShellOptions, type OwnedUiShellDiagnosticOptions, type OwnedUiShellEngineOptions, type OwnedUiShellHistoryOptions, type OwnedUiShellPresentationOptions, type OwnedUiShellPromptImagesOptions, type OwnedUiShellSharedServices, type OwnedUiShellSkillsOptions, type OwnedUiShellSuggestionOptions, } from "./session-shell-root.js";
@@ -26,12 +23,12 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
26
23
  handleInput(data: string): void;
27
24
  invalidate(): void;
28
25
  setFocused(focused: boolean): void;
29
- inputCoordinationSurface(): PiTuiInputSurfaceKind;
30
- setOverlaySurfaces(surfaces: readonly PiTuiPointerSurface[] | null): void;
26
+ inputCoordinationSurface(): TerminalInputSurfaceKind;
27
+ setOverlaySurfaces(surfaces: readonly TerminalPointerSurface[] | null): void;
31
28
  noteImmediatePresentation(): void;
32
- layoutPart(part: PinnedLayoutPart): PiTuiComponentPort;
29
+ layoutPart(part: PinnedLayoutPart): TerminalComponentPort;
33
30
  activated(): void;
34
- handleViewportInput(data: string): PiTuiInputListenerResult | undefined;
31
+ handleViewportInput(data: string): TerminalInputListenerResult | undefined;
35
32
  start(): void;
36
33
  onView(listener: (view: OwnedUiSessionViewModel) => void): () => void;
37
34
  waitUntilStopped(): Promise<void>;
@@ -49,10 +46,10 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
49
46
  cycleModel(direction: "forward" | "backward"): Promise<OwnedUiCommandResult>;
50
47
  queueFollowUp(): Promise<OwnedUiCommandResult>;
51
48
  restoreQueuedInput(): void;
52
- showSelector(title: string, options: readonly PiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): PiTuiOverlayHandle;
49
+ showSelector(title: string, options: readonly OwnedUiShellSelectorOption[], onSelect: (id: string) => void, onCancel?: () => void): TerminalOverlayHandle;
53
50
  showThinkingSelector(): Promise<void>;
54
51
  /** The Skills dialog: a replacement input like the model selector, applying the chosen skill through the prompt path. */
55
- showSkillsSelector(skills?: readonly PiShellSkillSummary[]): void;
52
+ showSkillsSelector(skills?: readonly OwnedUiShellSkillSummary[]): void;
56
53
  showModelSelector(initialSearchInput?: string): void;
57
54
  showForkSelector(): void;
58
55
  showLogoutSelector(): Promise<void>;
@@ -74,7 +71,7 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
74
71
  readonly columns: number;
75
72
  }): OwnedUiPresenterRelease;
76
73
  openOwnedRoute(route: string): void;
77
- hotkeysPresentation(): PiShellHotkeysPresentation;
74
+ hotkeysPresentation(): OwnedUiShellHotkeysPresentation;
78
75
  }
79
76
  /**
80
77
  * One session on a terminal of its own: a terminal host with this presenter attached. Disposing it ends the
@@ -82,6 +79,6 @@ export declare class OwnedUiSessionPresenter implements OwnedUiHostedPresenter {
82
79
  */
83
80
  export declare class OwnedUiSessionShell extends OwnedUiSessionPresenter {
84
81
  constructor(options: OwnedUiSessionShellOptions);
85
- get runtime(): PiTuiRuntimeAdapter;
86
- damagePresentationDecision(): PiTuiDamageDecision | null;
82
+ get runtime(): TerminalRuntimePort;
83
+ damagePresentationDecision(): TerminalDamageDecision | null;
87
84
  }