@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
@@ -183,7 +183,7 @@ export interface OwnedUiExtensionOverlayHandle {
183
183
  /** The most recently rendered terminal-relative rectangle of a visible overlay. */
184
184
  getBounds(): OwnedUiExtensionOverlayBounds | undefined;
185
185
  }
186
- export interface OwnedUiExtensionOverlayBounds {
186
+ interface OwnedUiExtensionOverlayBounds {
187
187
  readonly row: number;
188
188
  readonly col: number;
189
189
  readonly width: number;
@@ -308,3 +308,4 @@ export interface OwnedUiExtensionRendererPort {
308
308
  }, theme: OwnedUiExtensionThemePort, context: OwnedUiExtensionToolRenderContext): OwnedUiExtensionComponent;
309
309
  }
310
310
  export declare function assertOwnedUiExtensionUiPort(value: unknown): asserts value is OwnedUiExtensionUiPort;
311
+ export {};
@@ -3,7 +3,7 @@ export type UiAccentColor = "purple" | "blue" | "cyan" | "green" | "orange" | "p
3
3
  export { OWNED_UI_EXTENSION_CONTRACT_VERSION, OWNED_UI_EXTENSION_RENDER_CALLBACKS, OWNED_UI_EXTENSION_UI_CALLBACKS, OWNED_UI_EXTENSION_UI_PROPERTIES, assertOwnedUiExtensionUiPort, } from "./extension-ui.js";
4
4
  export type { OwnedUiExtensionAutocompleteItem, OwnedUiExtensionAutocompleteProvider, OwnedUiExtensionAutocompleteProviderFactory, OwnedUiExtensionAutocompleteSuggestions, OwnedUiExtensionComponent, OwnedUiExtensionComponentFactory, OwnedUiExtensionComponentFactoryContext, OwnedUiExtensionCustomFactory, OwnedUiExtensionCustomOptions, OwnedUiExtensionDialogOptions, OwnedUiExtensionEditorComponent, OwnedUiExtensionEditorFactory, OwnedUiExtensionEditorThemePort, OwnedUiExtensionEntryRenderInput, OwnedUiExtensionFooterDataPort, OwnedUiExtensionFooterFactory, OwnedUiExtensionInputListener, OwnedUiExtensionKeybindingsPort, OwnedUiExtensionMessageRenderInput, OwnedUiExtensionNotificationSeverity, OwnedUiExtensionOverlayAnchor, OwnedUiExtensionOverlayHandle, OwnedUiExtensionOverlayMargin, OwnedUiExtensionOverlayOptions, OwnedUiExtensionRenderCallback, OwnedUiExtensionRendererPort, OwnedUiExtensionRuntimePort, OwnedUiExtensionSelectListThemePort, OwnedUiExtensionSizeValue, OwnedUiExtensionTerminalPort, OwnedUiExtensionThemeBackground, OwnedUiExtensionThemeColor, OwnedUiExtensionThemeInfo, OwnedUiExtensionThemePort, OwnedUiExtensionToolRenderContext, OwnedUiExtensionUiCallback, OwnedUiExtensionUiPort, OwnedUiExtensionUiProperty, OwnedUiExtensionWidgetOptions, OwnedUiExtensionWidgetPlacement, OwnedUiExtensionWorkingIndicatorOptions, } from "./extension-ui.js";
5
5
  export { OWNED_UI_CONTRACT_VERSION } from "./model.js";
6
- export type { OwnedUiBackgroundSettingsPort, OwnedUiBackgroundStyle, OwnedUiBlockStatus, OwnedUiCommand, OwnedUiCommandOutcome, OwnedUiCorrelationId, OwnedUiCustomization, OwnedUiDiagnostics, OwnedUiDialog, OwnedUiEditorState, OwnedUiEntityId, OwnedUiEvent, OwnedUiFooterView, OwnedUiImageAttachment, OwnedUiLifecycle, OwnedUiModelInfo, OwnedUiOverlay, OwnedUiPromptSuggestionGeneratorPort, OwnedUiPromptSuggestionIdentity, OwnedUiPromptSuggestionReasoning, OwnedUiPromptSuggestionRequest, OwnedUiPromptSuggestionResult, OwnedUiPromptSuggestionState, OwnedUiQuitOutroSettings, OwnedUiQuitOutroSettingsPort, OwnedUiSessionId, OwnedUiSessionViewModel, OwnedUiSeverity, OwnedUiSlotId, OwnedUiSnapshot, OwnedUiStatusView, OwnedUiTerminalSurface, OwnedUiThinkingLevel, OwnedUiTimeFormat, OwnedUiToolRendering, OwnedUiToolResultPart, OwnedUiToolState, OwnedUiTranscriptBlock, OwnedUiTranscriptBlockKind, OwnedUiTranscriptImageReference, OwnedUiUsageView, OwnedUiViewportSettings, OwnedUiViewportSettingsPort, } from "./model.js";
6
+ export type { OwnedUiBackgroundSettingsPort, OwnedUiBackgroundStyle, OwnedUiBlockStatus, OwnedUiCommand, OwnedUiCommandOutcome, OwnedUiCorrelationId, OwnedUiCustomization, OwnedUiDiagnostics, OwnedUiDialog, OwnedUiEditorState, OwnedUiEntityId, OwnedUiEvent, OwnedUiFooterView, OwnedUiImageAttachment, OwnedUiLifecycle, OwnedUiModelInfo, OwnedUiOverlay, OwnedUiPromptSuggestionGeneratorPort, OwnedUiPromptSuggestionIdentity, OwnedUiPromptSuggestionReasoning, OwnedUiPromptSuggestionRequest, OwnedUiPromptSuggestionResult, OwnedUiPromptSuggestionState, OwnedUiQuitOutroSettings, OwnedUiQuitOutroSettingsPort, OwnedUiSessionId, OwnedUiSessionViewModel, OwnedUiSeverity, OwnedUiSlotId, OwnedUiSnapshot, OwnedUiStatusView, OwnedUiTerminalSurface, OwnedUiThinkingLevel, OwnedUiToolRendering, OwnedUiToolResultPart, OwnedUiToolState, OwnedUiTranscriptBlock, OwnedUiTranscriptBlockKind, OwnedUiTranscriptImageReference, OwnedUiUsageView, OwnedUiViewportSettings, OwnedUiViewportSettingsPort, } from "./model.js";
7
7
  export type { OwnedUiExtensionPort, OwnedUiSessionBackend, OwnedUiSessionCatalogPort, OwnedUiSessionFactory, OwnedUiSessionIdentityPort, OwnedUiSessionPort, OwnedUiSessionRequest, OwnedUiSessionSettingsPort, OwnedUiWorkflowPort, } from "./session-backend.js";
8
8
  export type { OwnedUiDialogHost, OwnedUiInputSurface, OwnedUiPresenterHost, OwnedUiSessionPresenter, OwnedUiSessionPresenters, OwnedUiShortcutDescription, OwnedUiTerminalHost, OwnedUiTranscriptRendererPort, } from "./session-presenters.js";
9
9
  export { OWNED_UI_HIDDEN_COMMAND_NAMES, OWNED_UI_MODELS_COMMAND_NAME, OWNED_UI_WORKFLOW_COMMAND_NAMES, } from "./session-workflows.js";
@@ -18,3 +18,4 @@ export type { SuggestionAttemptTrigger, SuggestionDecision, SuggestionDecisionRe
18
18
  export { PROMPT_HISTORY_EDITOR_REPLACEMENT, PROMPT_HISTORY_MAX_ENTRY_BYTES, PROMPT_HISTORY_MAX_PENDING, PROMPT_HISTORY_MAX_TEXT_BYTES, assertPromptHistorySubmission, } from "./prompt-history.js";
19
19
  export type { PromptHistoryFailure, PromptHistoryImageSidecarAttachment, PromptHistoryImageSidecarPort, PromptHistoryImageSidecarRecord, PromptHistoryKind, PromptHistoryPort, PromptHistoryResult, PromptHistorySnapshot, PromptHistorySubmission, } from "./prompt-history.js";
20
20
  export { assertOwnedUiCommand, assertOwnedUiCustomization, assertOwnedUiDiagnostics, assertOwnedUiEditorState, assertOwnedUiEvent, assertOwnedUiPromptSuggestionIdentity, assertOwnedUiPromptSuggestionRequest, assertOwnedUiPromptSuggestionResult, assertOwnedUiPromptSuggestionState, assertOwnedUiSessionViewModel, assertOwnedUiSnapshot, assertOwnedUiStatusView, assertOwnedUiTerminalSurface, assertOwnedUiTranscriptBlock, } from "./validation.js";
21
+ export type { OwnedUiShellAuthProviderOption, OwnedUiShellAutocompleteCommand, OwnedUiShellClipboardContent, OwnedUiShellCommandMessage, OwnedUiShellComponentPort, OwnedUiShellComponents, OwnedUiShellEditorBodyGeometry, OwnedUiShellEditorOptions, OwnedUiShellEditorPointerEvent, OwnedUiShellEditorPort, OwnedUiShellEditorRecall, OwnedUiShellEditorTextRange, OwnedUiShellExtensionRendererResolver, OwnedUiShellExtensionUiBridge, OwnedUiShellExtensionUiBridgeHost, OwnedUiShellHeaderOptions, OwnedUiShellHeaderPort, OwnedUiShellHistoryEditor, OwnedUiShellHotkeysPresentation, OwnedUiShellImageAssetResolver, OwnedUiShellKeybindings, OwnedUiShellKeybindingsHost, OwnedUiShellLazySelectorLoader, OwnedUiShellLoadedResourcesPort, OwnedUiShellLoginDialogPort, OwnedUiShellMermaidRenderingMode, OwnedUiShellOperationLoaderPort, OwnedUiShellPasteReservation, OwnedUiShellProgramStatus, OwnedUiShellProgramStatusBlocked, OwnedUiShellProgramStatusReporter, OwnedUiShellProgressPresentationMode, OwnedUiShellProgressStatusPresentation, OwnedUiShellPromptInputBody, OwnedUiShellPromptInputGeometry, OwnedUiShellPromptInputPresentation, OwnedUiShellQueuedInputPort, OwnedUiShellReleaseUpdate, OwnedUiShellReleaseUpdateBanner, OwnedUiShellResourceEntry, OwnedUiShellResourceSection, OwnedUiShellRuntime, OwnedUiShellSelectorOption, OwnedUiShellSelectorOptions, OwnedUiShellSkillSummary, OwnedUiShellStartupNotice, OwnedUiShellStatusPlacement, OwnedUiShellStatusPort, OwnedUiShellSubmittedPromptComposer, OwnedUiShellThinkingLevel, OwnedUiShellThinkingSelectorOptions, OwnedUiShellTranscriptComponentPort, OwnedUiShellTreeFilterMode, OwnedUiShellTreeSelectorOptions, OwnedUiShellTrustDecision, OwnedUiShellTrustOption, OwnedUiShellTrustSelectorOptions, OwnedUiShellTrustUpdate, OwnedUiShellViewComponentPort, } from "./shell-components.js";
@@ -53,10 +53,7 @@ export interface OwnedUiPromptSuggestionGeneratorPort {
53
53
  generate(request: OwnedUiPromptSuggestionRequest): Promise<OwnedUiPromptSuggestionResult>;
54
54
  }
55
55
  export type OwnedUiThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh";
56
- export type OwnedUiTimeFormat = "20:00" | "8:00 PM";
57
56
  export interface OwnedUiViewportSettings {
58
- /** Omitted by older SDK callers; bare A1 composition always supplies the owned default. */
59
- readonly timeFormat?: OwnedUiTimeFormat;
60
57
  readonly scrollbarAppearance: "auto" | "always" | "hidden";
61
58
  readonly scrollbarStyle: "thin" | "thick";
62
59
  /** normal is baseline; fast is 2x normal; high is normal plus fast. */
@@ -1,3 +1,4 @@
1
+ import type { OwnedUiShellComponents } from "./shell-components.js";
1
2
  /**
2
3
  * Presenters for the selectors and transcript renderers whose inputs are engine objects. The shell opens them
3
4
  * through this port and never holds those objects; the Pi session presenters owner implements it.
@@ -71,6 +72,8 @@ export interface OwnedUiTranscriptRendererPort {
71
72
  getShortcuts(bindings: Readonly<Record<string, string | readonly string[] | undefined>>): readonly OwnedUiShortcutDescription[];
72
73
  }
73
74
  export interface OwnedUiSessionPresenters {
75
+ /** The vendor components and text helpers the shell renders with. */
76
+ readonly components: OwnedUiShellComponents;
74
77
  transcriptRenderers(): OwnedUiTranscriptRendererPort;
75
78
  openModelSelector(host: OwnedUiDialogHost, initialSearchInput?: string): void;
76
79
  openSessionSelector(host: OwnedUiDialogHost, onExit: () => void): Promise<void>;
@@ -339,14 +339,11 @@ export interface OwnedUiVisualExtensionSupport {
339
339
  }
340
340
  /** A newer release found by the startup check, or one installed for the next restart. */
341
341
  export type OwnedUiReleaseUpdate = {
342
- readonly status: "client-connected";
343
- readonly version: string;
344
- } | {
345
342
  readonly status?: "available";
346
343
  readonly version: string;
347
344
  readonly command: string;
348
345
  readonly changelogUrl: string | null;
349
346
  } | {
350
- readonly status: "blocked" | "blocked-cleared" | "installed";
347
+ readonly status: "installed";
351
348
  readonly version: string;
352
349
  };
@@ -0,0 +1,543 @@
1
+ import type { OwnedUiDialog, OwnedUiEvent, OwnedUiImageAttachment, OwnedUiSessionViewModel, OwnedUiThinkingLevel, OwnedUiTranscriptBlock } from "./model.js";
2
+ import type { OwnedUiExtensionOverlayHandle, OwnedUiExtensionOverlayOptions, OwnedUiExtensionUiPort } from "./extension-ui.js";
3
+ import type { OwnedUiSessionInfoPresentation, OwnedUiSessionProductMode } from "./session-workflows.js";
4
+ import type { SuggestionDecision } from "./suggestion-diagnostics.js";
5
+ import type { PROMPT_HISTORY_EDITOR_REPLACEMENT } from "./prompt-history.js";
6
+ /** Key bindings by action id, as the vendor reports them. */
7
+ export type OwnedUiShellKeybindings = Readonly<Record<string, string | readonly string[] | undefined>>;
8
+ /** The vendor's history-capable editor, carried opaquely from composition to the editor factory. */
9
+ export type OwnedUiShellHistoryEditor = abstract new (...args: never[]) => unknown;
10
+ /** The process's shared keybindings, carried opaquely from composition to the editor factory. */
11
+ export interface OwnedUiShellKeybindingsHost {
12
+ readonly manager: unknown;
13
+ ensureActive(): void;
14
+ reload(): void;
15
+ }
16
+ export interface OwnedUiShellComponentPort {
17
+ render(width: number): readonly string[];
18
+ invalidate(): void;
19
+ handleInput?(data: string): void;
20
+ setFocused?(focused: boolean): void;
21
+ dispose?(): void;
22
+ }
23
+ export type OwnedUiShellClipboardContent = {
24
+ readonly kind: "text";
25
+ readonly text: string;
26
+ } | {
27
+ readonly kind: "image";
28
+ readonly data: string;
29
+ readonly mimeType: string;
30
+ };
31
+ export interface OwnedUiShellEditorTextRange {
32
+ readonly start: number;
33
+ readonly end: number;
34
+ }
35
+ export interface OwnedUiShellEditorPointerEvent {
36
+ readonly kind: "press" | "motion" | "release";
37
+ readonly button: number;
38
+ readonly column: number;
39
+ /** One-based row relative to the top border of the editor body, excluding its menu. */
40
+ readonly row: number;
41
+ }
42
+ export interface OwnedUiShellEditorBodyGeometry {
43
+ /** Zero-based body offset in the most recently rendered component rows. */
44
+ readonly rowOffset: number;
45
+ /** Border-inclusive body height, excluding autocomplete. */
46
+ readonly rowCount: number;
47
+ }
48
+ export interface OwnedUiShellEditorPort extends OwnedUiShellComponentPort {
49
+ /** Present only for the owned above-prompt autocomplete presentation. */
50
+ bodyGeometry?(): OwnedUiShellEditorBodyGeometry;
51
+ readonly recall?: OwnedUiShellEditorRecall;
52
+ readonly historyReplacement?: typeof PROMPT_HISTORY_EDITOR_REPLACEMENT;
53
+ /** Restores the shared keybindings if anything replaced the active registry; a no-op when it is already active. */
54
+ activateKeybindings(): void;
55
+ keybindingConfig(): OwnedUiShellKeybindings;
56
+ reloadKeybindings(): void;
57
+ /** Uses the vendor's terminal decoder rather than assuming one terminal escape spelling. */
58
+ matchesTerminalKey(data: string, key: "home" | "end" | "pageUp" | "pageDown" | "ctrl+home" | "ctrl+end" | "alt+home" | "ctrl+v"): boolean;
59
+ getText(): string;
60
+ setText(text: string): void;
61
+ insertText(text: string): void;
62
+ addToHistory(text: string): void;
63
+ setSubmitEnabled(enabled: boolean): void;
64
+ setSubmitHandler(handler: (text: string) => void): void;
65
+ setInterruptHandler(handler: () => void): void;
66
+ setAutocompleteCommands(commands: readonly OwnedUiShellAutocompleteCommand[]): void;
67
+ setPaddingX(padding: number): void;
68
+ setAutocompleteMaxVisible(maxVisible: number): void;
69
+ addAutocompleteProvider(factory: unknown): void;
70
+ setThinkingLevel(level: OwnedUiThinkingLevel): void;
71
+ setPromptSuggestion(text: string | null): void;
72
+ canPresentPromptSuggestion(): boolean;
73
+ promptSuggestionBlockReason?(): SuggestionDecision;
74
+ hasSelection(): boolean;
75
+ /** Exact expanded semantic editor selection without mutating or collapsing it. */
76
+ selectedText?(): string | undefined;
77
+ ownsPointer(): boolean;
78
+ handlePointer(event: OwnedUiShellEditorPointerEvent): boolean;
79
+ pasteClipboard(): boolean;
80
+ cancelPendingPastes?(): void;
81
+ }
82
+ export interface OwnedUiShellAutocompleteCommand {
83
+ readonly name: string;
84
+ readonly description?: string;
85
+ readonly argumentHint?: string;
86
+ readonly argumentOptions?: readonly OwnedUiShellSelectorOption[];
87
+ /** Built-in entries decorate the active profile's catalog; everything else is a discovered resource. */
88
+ readonly source?: "builtin" | "prompt" | "skill" | "extension";
89
+ }
90
+ export interface OwnedUiShellViewComponentPort extends OwnedUiShellComponentPort {
91
+ update(view: OwnedUiSessionViewModel): void;
92
+ }
93
+ export type OwnedUiShellStatusPlacement = "live" | "dock" | "hidden";
94
+ export type OwnedUiShellProgressPresentationMode = "pinned" | "custom-viewport";
95
+ export interface OwnedUiShellProgressStatusPresentation {
96
+ readonly text: (message: string, mode: OwnedUiShellProgressPresentationMode) => string;
97
+ readonly frame: (message: string, phase: number, styles: {
98
+ readonly muted: (text: string) => string;
99
+ readonly highlight: (text: string) => string;
100
+ }) => string;
101
+ }
102
+ export interface OwnedUiShellStatusPort extends OwnedUiShellViewComponentPort {
103
+ /** `active` owns a live operation before the engine lifecycle itself becomes busy. */
104
+ setWorkingOverride(message: string | undefined, active?: boolean): void;
105
+ setOutputPad(padding: 0 | 1): void;
106
+ /** Bare A1 shows engine-measured progress beside the working word; the pinned route keeps the bare word. */
107
+ setProgressPresentation(presentation: OwnedUiShellProgressPresentationMode): void;
108
+ /** Semantic row placement; callers must not inspect rendered text. */
109
+ placement(): OwnedUiShellStatusPlacement;
110
+ renderDock(width: number): readonly string[];
111
+ renderLive(width: number): readonly string[];
112
+ }
113
+ export interface OwnedUiShellQueuedInputPort extends OwnedUiShellComponentPort {
114
+ update(submissions: readonly string[]): void;
115
+ }
116
+ export interface OwnedUiShellHeaderPort extends OwnedUiShellComponentPort {
117
+ readonly expanded: boolean;
118
+ setExpanded(expanded: boolean): void;
119
+ }
120
+ export type OwnedUiShellResourceSection = "Context" | "Skills" | "Prompts" | "Extensions" | "Themes";
121
+ export interface OwnedUiShellResourceEntry {
122
+ readonly section: OwnedUiShellResourceSection;
123
+ readonly label: string;
124
+ readonly sourcePath: string | null;
125
+ readonly diagnostic?: string | null;
126
+ }
127
+ export interface OwnedUiShellLoadedResourcesPort extends OwnedUiShellComponentPort {
128
+ setExpanded(expanded: boolean): void;
129
+ }
130
+ export interface OwnedUiShellImageAssetResolver {
131
+ resolve(assetId: string): OwnedUiImageAttachment | null;
132
+ }
133
+ export interface OwnedUiShellExtensionRendererResolver {
134
+ getMessageRenderer(customType: string): unknown;
135
+ getToolRenderers(toolName: string): unknown;
136
+ getShortcuts?(bindings: OwnedUiShellKeybindings): readonly {
137
+ readonly key: string;
138
+ readonly description: string;
139
+ }[];
140
+ }
141
+ export interface OwnedUiShellTranscriptComponentPort extends OwnedUiShellComponentPort {
142
+ readonly id: string;
143
+ readonly revision: number;
144
+ readonly presentationRevision?: number;
145
+ update(block: OwnedUiTranscriptBlock): void;
146
+ setExpanded(expanded: boolean): void;
147
+ setOutputPad(padding: 0 | 1): void;
148
+ setHideThinkingBlock(hidden: boolean): void;
149
+ setMermaidRenderingMode(mode: "off" | "final" | "streaming"): void;
150
+ setImagePresentation(showImages: boolean, imageWidthCells: number): void;
151
+ }
152
+ export interface OwnedUiShellStartupNotice {
153
+ readonly kind: "info" | "warning" | "error";
154
+ readonly message: string;
155
+ }
156
+ export interface OwnedUiShellHeaderOptions {
157
+ readonly getKeybindings?: () => OwnedUiShellKeybindings;
158
+ readonly quiet?: boolean;
159
+ readonly expanded?: boolean;
160
+ readonly notices?: readonly OwnedUiShellStartupNotice[];
161
+ readonly resources?: readonly OwnedUiShellResourceEntry[];
162
+ }
163
+ /** An owned paste reserves its edit immediately and acknowledges completion only after insertion. */
164
+ export interface OwnedUiShellPasteReservation {
165
+ readonly marker: string;
166
+ readonly result: Promise<string>;
167
+ complete?(): void;
168
+ isCurrent?(): boolean;
169
+ }
170
+ export interface OwnedUiShellEditorOptions {
171
+ readonly persistentHistory?: boolean;
172
+ /** Configures the shared interactive input for a caller narrower than the agent prompt. */
173
+ readonly inputCapabilities?: {
174
+ readonly singleLine?: boolean;
175
+ readonly paste?: boolean;
176
+ readonly autocomplete?: boolean;
177
+ readonly placeholder?: string;
178
+ };
179
+ readonly historyEditor?: OwnedUiShellHistoryEditor;
180
+ /** Bare A1 adds ergonomic aliases while comparison profiles retain the vendor defaults. */
181
+ readonly keybindingProfile?: "pi" | "a1";
182
+ /** The process's shared keybindings; its profile must match `keybindingProfile`. */
183
+ readonly keybindings?: OwnedUiShellKeybindingsHost;
184
+ readonly getColumns: () => number;
185
+ readonly getRows: () => number;
186
+ readonly requestRender: () => void;
187
+ readonly onSubmit: (text: string) => void;
188
+ readonly onChange?: (text: string) => void;
189
+ readonly onInterrupt?: () => void;
190
+ readonly onClear?: () => void;
191
+ readonly onExit?: () => void;
192
+ readonly onSuspend?: () => void;
193
+ readonly onExternalEditor?: () => void;
194
+ readonly onPasteImage?: () => void;
195
+ readonly onExtensionShortcut?: (data: string) => boolean;
196
+ readonly onModelSelect?: () => void;
197
+ readonly onModelCycle?: ((direction: "forward" | "backward") => void) | undefined;
198
+ readonly onThinkingCycle?: (() => void) | undefined;
199
+ readonly onThinkingToggle?: (() => void) | undefined;
200
+ readonly onToolsExpand?: (() => void) | undefined;
201
+ readonly onMessageCopy?: (() => void) | undefined;
202
+ readonly onFollowUp?: (() => void) | undefined;
203
+ readonly onDequeue?: (() => void) | undefined;
204
+ readonly onPromptSuggestionAccepted?: (text: string) => void;
205
+ readonly onCopyText?: (text: string, cut: boolean) => void;
206
+ readonly readClipboardContent?: (signal?: AbortSignal) => Promise<OwnedUiShellClipboardContent | null>;
207
+ readonly beginClipboardPaste?: () => OwnedUiShellPasteReservation;
208
+ readonly beginTextPaste?: (text: string) => OwnedUiShellPasteReservation;
209
+ readonly deferTextPaste?: (text: string) => boolean;
210
+ readonly onPasteRejected?: (error: unknown) => void;
211
+ readonly onPasteInput?: (bytes: number, phase: "framing" | "inserting" | "settled") => void;
212
+ readonly editorHiddenRanges?: (line: string) => readonly OwnedUiShellEditorTextRange[];
213
+ readonly transformPastedContent?: (content: OwnedUiShellClipboardContent) => string;
214
+ readonly editorAtomicRanges?: (line: string) => readonly OwnedUiShellEditorTextRange[];
215
+ readonly expandCopiedEditorText?: (text: string) => string;
216
+ readonly paintEditorSelection?: (line: string, from: number, to: number, atomic: boolean) => string;
217
+ /** Row indices restart at zero for each complete owned editor decoration pass. */
218
+ readonly decorateEditorRow?: (row: string, width: number, rowIndex: number) => string;
219
+ readonly cwd?: string;
220
+ readonly agentDir?: string;
221
+ readonly autocompleteCommands?: readonly OwnedUiShellAutocompleteCommand[];
222
+ /**
223
+ * Bare A1's skills presentation, read at every command-list installation. `collapse` replaces the
224
+ * `skill:<name>` entries with one `skills` command and its tunnel; absent or `expand` keeps the
225
+ * pinned per-skill entries. Comparison profiles ignore it.
226
+ */
227
+ readonly skillsPresentation?: () => "collapse" | "expand";
228
+ readonly promptPresentation?: {
229
+ readonly input: OwnedUiShellPromptInputPresentation;
230
+ readonly styleSuggestion: (text: string) => string;
231
+ readonly styleSuggestionCaret: (text: string) => string;
232
+ };
233
+ }
234
+ export interface OwnedUiShellSelectorOption {
235
+ readonly id: string;
236
+ readonly label: string;
237
+ readonly description?: string;
238
+ }
239
+ export interface OwnedUiShellSelectorOptions {
240
+ readonly title?: string;
241
+ readonly options: readonly OwnedUiShellSelectorOption[];
242
+ readonly maxVisible?: number;
243
+ readonly onSelect?: (id: string) => void;
244
+ readonly onCancel?: () => void;
245
+ }
246
+ export interface OwnedUiShellEditorRecall {
247
+ replace(entries: readonly string[]): void;
248
+ position(): {
249
+ readonly index: number;
250
+ readonly total: number;
251
+ };
252
+ observe(listener: () => void): () => void;
253
+ reset(): void;
254
+ /** Exit a recall browse cycle by restoring the unsent draft rather than keeping the recalled entry. */
255
+ restoreDraft?(): void;
256
+ }
257
+ export interface OwnedUiShellPromptInputGeometry {
258
+ readonly prefixWidth: number;
259
+ readonly innerWidth: number;
260
+ readonly paddingX: number;
261
+ readonly contentWidth: number;
262
+ readonly layoutWidth: number;
263
+ }
264
+ export interface OwnedUiShellPromptInputBody {
265
+ readonly rows: readonly string[];
266
+ readonly topRule?: string | undefined;
267
+ readonly bottomRule?: string | undefined;
268
+ readonly after?: readonly string[];
269
+ readonly afterIndent?: number;
270
+ }
271
+ export interface OwnedUiShellPromptInputPresentation {
272
+ geometry(width: number, padding?: number): OwnedUiShellPromptInputGeometry;
273
+ styleRule(text: string): string;
274
+ render(width: number, body: (innerWidth: number) => OwnedUiShellPromptInputBody, ruled?: boolean, padding?: number): string[];
275
+ }
276
+ /** The size and render request a vendor component reads from the terminal it is shown on. */
277
+ export type OwnedUiShellRuntime = Pick<OwnedUiShellEditorOptions, "getColumns" | "getRows" | "requestRender">;
278
+ export type OwnedUiShellMermaidRenderingMode = "off" | "final" | "streaming";
279
+ export interface OwnedUiShellSubmittedPromptComposer {
280
+ readonly layout: (width: number) => {
281
+ readonly contentWidth: number;
282
+ };
283
+ readonly compose: (contentRows: readonly string[], width: number, style?: {
284
+ readonly prefix?: (text: string) => string;
285
+ }) => readonly string[];
286
+ }
287
+ export interface OwnedUiShellCommandMessage {
288
+ readonly kind: "error" | "warning" | "accent" | "new" | "name" | "debug";
289
+ readonly message: string;
290
+ readonly detail?: string;
291
+ }
292
+ /** What the hotkeys presenters render: the editor bindings and the extension shortcuts declared over them. */
293
+ export interface OwnedUiShellHotkeysPresentation {
294
+ readonly bindings?: OwnedUiShellKeybindings;
295
+ readonly getShortcuts?: NonNullable<OwnedUiShellExtensionRendererResolver["getShortcuts"]>;
296
+ readonly profile?: "pi" | "a1";
297
+ }
298
+ export interface OwnedUiShellReleaseUpdate {
299
+ readonly version: string;
300
+ readonly command: string;
301
+ readonly changelogUrl: string | null;
302
+ }
303
+ export interface OwnedUiShellReleaseUpdateBanner {
304
+ readonly rows: readonly string[];
305
+ /** Clickable close area: zero-based rows within `rows`, one-based inclusive columns. */
306
+ readonly close: {
307
+ readonly rowStart: number;
308
+ readonly rowEnd: number;
309
+ readonly columnStart: number;
310
+ readonly columnEnd: number;
311
+ };
312
+ }
313
+ export interface OwnedUiShellOperationLoaderPort extends OwnedUiShellComponentPort {
314
+ readonly signal: AbortSignal;
315
+ /** Relabels the running operation; the pinned comparison loader keeps its first label. */
316
+ readonly setMessage?: (message: string) => void;
317
+ }
318
+ export interface OwnedUiShellAuthProviderOption extends OwnedUiShellSelectorOption {
319
+ readonly providerId: string;
320
+ readonly authType: "oauth" | "api_key";
321
+ readonly status?: {
322
+ readonly type: "oauth" | "api_key";
323
+ readonly source?: string;
324
+ };
325
+ }
326
+ export interface OwnedUiShellLoginDialogPort extends OwnedUiShellComponentPort {
327
+ showAuth(url: string, instructions?: string): void;
328
+ showDeviceCode(info: {
329
+ readonly verificationUri: string;
330
+ readonly userCode: string;
331
+ }): void;
332
+ showManualInput(message: string): Promise<string>;
333
+ showPrompt(message: string, placeholder?: string): Promise<string>;
334
+ showDetails(lines: readonly string[]): void;
335
+ showInfo(message: string, links?: readonly {
336
+ readonly label?: string;
337
+ readonly url: string;
338
+ }[], showCloseHint?: boolean): void;
339
+ showWaiting(message: string): void;
340
+ showProgress(message: string): void;
341
+ }
342
+ export interface OwnedUiShellSkillSummary {
343
+ readonly name: string;
344
+ readonly description: string;
345
+ }
346
+ export interface OwnedUiShellTrustUpdate {
347
+ readonly path: string;
348
+ readonly decision: boolean | null;
349
+ }
350
+ export interface OwnedUiShellTrustDecision {
351
+ readonly path: string;
352
+ readonly decision: boolean;
353
+ }
354
+ export interface OwnedUiShellTrustOption {
355
+ readonly label: string;
356
+ readonly trusted: boolean;
357
+ readonly updates: readonly OwnedUiShellTrustUpdate[];
358
+ readonly savedPath?: string;
359
+ }
360
+ export interface OwnedUiShellTrustSelectorOptions {
361
+ readonly cwd: string;
362
+ readonly savedDecision: OwnedUiShellTrustDecision | null;
363
+ readonly projectTrusted: boolean;
364
+ readonly trustOptions: readonly OwnedUiShellTrustOption[];
365
+ readonly onSelect: (selection: {
366
+ readonly trusted: boolean;
367
+ readonly updates: readonly OwnedUiShellTrustUpdate[];
368
+ }) => void;
369
+ readonly onCancel: () => void;
370
+ }
371
+ /** A program-status report for terminals that show one; `clear` removes it. */
372
+ export interface OwnedUiShellProgramStatus {
373
+ state: "idle" | "working" | "blocked" | "done" | "error" | "clear";
374
+ app?: string;
375
+ kind?: "permission" | "question" | "auth";
376
+ }
377
+ export interface OwnedUiShellProgramStatusBlocked {
378
+ readonly kind: NonNullable<OwnedUiShellProgramStatus["kind"]>;
379
+ readonly message: string;
380
+ }
381
+ /** Turns run lifecycle events and blocking prompts into terminal program-status reports. */
382
+ export interface OwnedUiShellProgramStatusReporter {
383
+ handleEvent(event: Extract<OwnedUiEvent, {
384
+ type: "agent-run-started" | "assistant-message-completed" | "agent-run-settled";
385
+ }>): void;
386
+ setBlocked(source: string, status: OwnedUiShellProgramStatusBlocked | undefined): void;
387
+ setErrorMessage(message: string | undefined): void;
388
+ reset(): void;
389
+ clear(): void;
390
+ report(): void;
391
+ }
392
+ /** What the extension UI bridge needs from the shell that hosts it. */
393
+ export interface OwnedUiShellExtensionUiBridgeHost {
394
+ readonly runtime: OwnedUiShellRuntime;
395
+ readonly agentDir?: string;
396
+ setInputSurface(component: OwnedUiShellComponentPort | null): void;
397
+ setProgramStatusBlocked(status: OwnedUiShellProgramStatusBlocked | undefined): void;
398
+ showOverlay(component: OwnedUiShellComponentPort, options?: OwnedUiExtensionOverlayOptions): OwnedUiExtensionOverlayHandle;
399
+ listenInput(handler: (data: string) => {
400
+ readonly consume?: boolean;
401
+ readonly data?: string;
402
+ } | undefined): () => void;
403
+ replaceWidget(key: string, component: OwnedUiShellComponentPort | null, placement: "aboveEditor" | "belowEditor"): void;
404
+ replaceHeader(component: OwnedUiShellComponentPort | null): void;
405
+ replaceFooter(component: OwnedUiShellComponentPort | null): void;
406
+ setStatus(key: string, text: string | undefined): void;
407
+ setWorking(message: string | undefined, visible?: boolean): void;
408
+ notify(message: string, type: "info" | "warning" | "error"): void;
409
+ setTitle(title: string): void;
410
+ getEditorText(): string;
411
+ setEditorText(text: string): void;
412
+ pasteToEditor(text: string): void;
413
+ addAutocompleteProvider(factory: unknown): void;
414
+ setCustomEditor(component: OwnedUiShellComponentPort | null): void;
415
+ getFooterData(): unknown;
416
+ getToolsExpanded(): boolean;
417
+ setToolsExpanded(expanded: boolean): void;
418
+ }
419
+ export interface OwnedUiShellExtensionUiBridge {
420
+ /** The extension UI context the engine binds to a session. */
421
+ readonly context: OwnedUiExtensionUiPort;
422
+ input(title: string, placeholder: string, options?: {
423
+ readonly retainSurfaceOnSettle?: boolean;
424
+ }): Promise<string | undefined>;
425
+ reset(): void;
426
+ dispose(): void;
427
+ }
428
+ export type OwnedUiShellThinkingLevel = "off" | "minimal" | "low" | "medium" | "high" | "xhigh" | "max";
429
+ export type OwnedUiShellTreeFilterMode = "default" | "no-tools" | "user-only" | "labeled-only" | "all";
430
+ export interface OwnedUiShellThinkingSelectorOptions {
431
+ readonly currentLevel: OwnedUiShellThinkingLevel;
432
+ readonly availableLevels: readonly OwnedUiShellThinkingLevel[];
433
+ readonly onSelect: (level: OwnedUiShellThinkingLevel) => void;
434
+ readonly onCancel: () => void;
435
+ readonly onSelectAsDefault?: (level: OwnedUiShellThinkingLevel) => void;
436
+ readonly defaultLevel?: OwnedUiShellThinkingLevel;
437
+ readonly presentation?: {
438
+ readonly profile: "bare";
439
+ readonly cycleBinding: string | readonly string[];
440
+ };
441
+ }
442
+ export interface OwnedUiShellTreeSelectorOptions {
443
+ readonly tree: readonly unknown[];
444
+ readonly currentLeafId: string | null;
445
+ readonly terminalHeight: number;
446
+ readonly onSelect: (id: string) => void;
447
+ readonly onCancel: () => void;
448
+ readonly onLabelChange: (entryId: string, label: string | undefined) => void;
449
+ readonly onCopy?: (text: string | undefined) => void;
450
+ readonly initialSelectedId?: string;
451
+ readonly initialFilterMode?: OwnedUiShellTreeFilterMode;
452
+ }
453
+ /** Selectors whose modules load on first use, so they stay off the startup path. */
454
+ export interface OwnedUiShellLazySelectorLoader {
455
+ prepare(): Promise<void>;
456
+ createThinking(options: OwnedUiShellThinkingSelectorOptions): Promise<OwnedUiShellComponentPort>;
457
+ createTree(options: OwnedUiShellTreeSelectorOptions): Promise<OwnedUiShellComponentPort>;
458
+ }
459
+ /**
460
+ * The vendor components and text helpers the session shell renders with, grouped by role. The vendor component
461
+ * adapter implements every member; the shell receives the record through the session presenters.
462
+ */
463
+ export interface OwnedUiShellComponents {
464
+ readonly editor: {
465
+ create(options: OwnedUiShellEditorOptions): OwnedUiShellEditorPort;
466
+ };
467
+ readonly chrome: {
468
+ header(options?: OwnedUiShellHeaderOptions): OwnedUiShellHeaderPort;
469
+ status(view: OwnedUiSessionViewModel, progress: OwnedUiShellProgressStatusPresentation, runtime?: OwnedUiShellRuntime): OwnedUiShellStatusPort;
470
+ footer(view: OwnedUiSessionViewModel, cwd: string, profile?: "pi" | "a1", showLevel?: () => boolean): OwnedUiShellViewComponentPort;
471
+ queuedInput(submissions: readonly string[], presentation?: "pinned" | "custom-viewport", getKeybindings?: () => OwnedUiShellKeybindings): OwnedUiShellQueuedInputPort;
472
+ loadedResources(resources: readonly OwnedUiShellResourceEntry[], initialExpanded?: boolean): OwnedUiShellLoadedResourcesPort;
473
+ installedUpdateStatus(width: number): string;
474
+ releaseUpdateBanner(release: OwnedUiShellReleaseUpdate, width: number, closeHovered: boolean): OwnedUiShellReleaseUpdateBanner;
475
+ programStatusReporter(report: (status: OwnedUiShellProgramStatus) => void, getSessionName: () => string | undefined, app?: string): OwnedUiShellProgramStatusReporter;
476
+ };
477
+ readonly transcript: {
478
+ component(initial: OwnedUiTranscriptBlock, cwd: string, extensions?: OwnedUiShellExtensionRendererResolver, submittedPrompt?: OwnedUiShellSubmittedPromptComposer, initialOutputPad?: 0 | 1, initialHideThinkingBlock?: boolean, initialMermaidRenderingMode?: OwnedUiShellMermaidRenderingMode, initialShowImages?: boolean, initialImageWidthCells?: number, imageAssets?: OwnedUiShellImageAssetResolver, presentation?: {
479
+ readonly getColumns: () => number;
480
+ readonly getRows: () => number;
481
+ readonly changed: () => void;
482
+ }): OwnedUiShellTranscriptComponentPort;
483
+ renderBlock(block: OwnedUiTranscriptBlock, width: number, cwd: string): readonly string[];
484
+ renderStartupDiagnostic(diagnostic: {
485
+ readonly severity: "info" | "warning" | "error";
486
+ readonly message: string;
487
+ }, width: number): readonly string[];
488
+ isPromptStyleCompaction(block: OwnedUiTranscriptBlock): boolean;
489
+ };
490
+ readonly info: {
491
+ changelog(markdown: string): OwnedUiShellComponentPort;
492
+ collapsedChangelog(): OwnedUiShellComponentPort;
493
+ hotkeys(bindings?: OwnedUiShellKeybindings, getShortcuts?: NonNullable<OwnedUiShellExtensionRendererResolver["getShortcuts"]>, profile?: "pi" | "a1"): OwnedUiShellComponentPort;
494
+ sessionInfo(presentation: OwnedUiSessionInfoPresentation): OwnedUiShellComponentPort;
495
+ commandMessage(presentation: OwnedUiShellCommandMessage, width: number, outputPad?: 0 | 1): readonly string[];
496
+ statusText(message: string, width: number, outputPad?: 0 | 1): readonly string[];
497
+ packageUpdateNotice(packages: readonly string[], width: number): readonly string[];
498
+ releaseUpdateNotice(release: OwnedUiShellReleaseUpdate, width: number): readonly string[];
499
+ armin(runtime: OwnedUiShellRuntime): OwnedUiShellComponentPort;
500
+ earendilAnnouncement(): OwnedUiShellComponentPort;
501
+ reloadBox(): OwnedUiShellComponentPort;
502
+ };
503
+ readonly dialogs: {
504
+ dialog(dialog: OwnedUiDialog, handlers?: {
505
+ readonly onSelect?: (id: string) => void;
506
+ readonly onCancel?: () => void;
507
+ }): OwnedUiShellComponentPort;
508
+ selector(options: OwnedUiShellSelectorOptions): OwnedUiShellComponentPort;
509
+ extensionSelector(title: string, options: readonly string[], onSelect: (value: string) => void, onCancel: () => void): OwnedUiShellComponentPort;
510
+ authProviderSelector(mode: "login" | "logout", providers: readonly OwnedUiShellAuthProviderOption[], onSelect: (id: string) => void, onCancel: () => void, initialSearchInput?: string): OwnedUiShellComponentPort;
511
+ loginDialog(runtime: OwnedUiShellRuntime, providerId: string, onComplete: (success: boolean, message?: string) => void, providerName?: string, title?: string): OwnedUiShellLoginDialogPort;
512
+ skillsSelector(options: {
513
+ readonly skills: readonly OwnedUiShellSkillSummary[];
514
+ readonly onSelect: (name: string) => void;
515
+ readonly onCancel: () => void;
516
+ }): OwnedUiShellComponentPort;
517
+ trustSelector(options: OwnedUiShellTrustSelectorOptions): OwnedUiShellComponentPort;
518
+ userMessageSelector(messages: readonly OwnedUiShellSelectorOption[], onSelect: (id: string) => void, onCancel: () => void, initialSelectedId?: string): OwnedUiShellComponentPort;
519
+ /** The cancellable share progress surface: a bordered dialog or a plain loader; loads its module on first use. */
520
+ shareProgress(runtime: OwnedUiShellRuntime, message: string, style: "dialog" | "loader"): Promise<OwnedUiShellOperationLoaderPort>;
521
+ extensionUiBridge(host: OwnedUiShellExtensionUiBridgeHost): OwnedUiShellExtensionUiBridge;
522
+ /** Absent until composition supplies a loader; the shell loads the vendor's own on first use otherwise. */
523
+ readonly lazySelectors: () => Promise<OwnedUiShellLazySelectorLoader>;
524
+ };
525
+ readonly text: {
526
+ /** Terminal-cell width of painted text. */
527
+ visibleWidth(text: string): number;
528
+ truncateToWidth(text: string, width: number): string;
529
+ /** A clickable URL: an OSC 8 link where the terminal supports one, the plain URL otherwise. */
530
+ hyperlink(url: string, text?: string): string;
531
+ };
532
+ readonly workflows: {
533
+ /** The workflow command names the active product mode routes. */
534
+ commandNames(mode: OwnedUiSessionProductMode): readonly string[];
535
+ };
536
+ readonly skills: {
537
+ readonly commandName: string;
538
+ fromCommands(commands: readonly OwnedUiShellAutocompleteCommand[]): readonly OwnedUiShellSkillSummary[];
539
+ findByArgument(skills: readonly OwnedUiShellSkillSummary[], token: string): OwnedUiShellSkillSummary | undefined;
540
+ rewriteTunnelSubmission(text: string): string;
541
+ prompt(name: string, args?: string): string;
542
+ };
543
+ }
@@ -0,0 +1,17 @@
1
+ export interface PresentationComponentPort {
2
+ render(width: number): readonly string[];
3
+ invalidate(): void;
4
+ handleInput?(data: string): void;
5
+ setFocused?(focused: boolean): void;
6
+ dispose?(): void;
7
+ }
8
+ /** A painted input surface in terminal coordinates (one-based, inclusive bounds). */
9
+ export interface PresentationPointerSurface {
10
+ readonly component: PresentationComponentPort;
11
+ readonly columnStart: number;
12
+ readonly columnEnd: number;
13
+ readonly rowStart: number;
14
+ readonly rowEnd: number;
15
+ }
16
+ /** Compares only geometry and ownership, never animation content or transcript position. */
17
+ export declare function samePointerSurfaces(a: readonly PresentationPointerSurface[], b: readonly PresentationPointerSurface[]): boolean;
@@ -0,0 +1,8 @@
1
+ /** Compares only geometry and ownership, never animation content or transcript position. */
2
+ export function samePointerSurfaces(a, b) {
3
+ return a.length === b.length && a.every((surface, index) => {
4
+ const other = b[index];
5
+ return surface.component === other.component && surface.columnStart === other.columnStart
6
+ && surface.columnEnd === other.columnEnd && surface.rowStart === other.rowStart && surface.rowEnd === other.rowEnd;
7
+ });
8
+ }