@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
@@ -17,25 +17,17 @@ import { createPiTerminalBridge } from "../integrations/pi/tui-runtime/presentat
17
17
  import { createOwnedRouteHost } from "./settings-route-host.js";
18
18
  import { renderPiShellChangelogLines } from "../integrations/pi/components/shell-presenters-info.js";
19
19
  import { nativeHyperlinkStyle } from "../ui/components/spans.js";
20
- import { ResidentTabRecovery } from "../foundation/resident-tabs/recovery.js";
21
- import { bindResidentPresentation, createResidentClientIdentity, closeResidentUtilityRoute, correlateResidentTabSubmission, currentBackendSessionFile, residentRouteHostOptions, residentTabKeybindings } from "./resident-tab-bridge.js";
22
20
  import { SessionRuntimeRegistry } from "./session-runtime-registry.js";
23
21
  import { deferStartupReleaseUpdateObservation, readPackageVersion, StartupReleaseNote } from "./startup-route.js";
24
22
  import { createOwnedSettingsManager, watchSharedSettings } from "./owned-settings.js";
25
- export { bindResidentTabBridge, correlateResidentTabSubmission } from "./resident-tab-bridge.js";
26
- export function residentStartupPresentation(resident, fallbackNotice) {
27
- if (resident)
28
- return { startup: { quiet: true } };
29
- return fallbackNotice === undefined ? {} : { startup: { notices: [{ kind: "warning", message: fallbackNotice }] } };
30
- }
31
23
  export async function composeOwnedUiApplication(options = {}) {
32
24
  return (await composeOwnedUi(options)).application;
33
25
  }
34
26
  export async function composeOwnedUi(options = {}) {
35
27
  const cwd = options.cwd ?? process.cwd();
36
- const ownedSurfaces = options.ownedSurfaces !== "off";
28
+ const productMode = options.productMode ?? "bare", bare = productMode === "bare";
37
29
  const sessionRuntimes = new SessionRuntimeRegistry({
38
- runtimeId: ownedSurfaces ? process.env[PRODUCT_IDENTITY.environment.sessionRuntimeId] : undefined,
30
+ runtimeId: bare ? process.env[PRODUCT_IDENTITY.environment.sessionRuntimeId] : undefined,
39
31
  inspectProcess: options.inspectProcess,
40
32
  });
41
33
  const productPaths = resolveProductPaths();
@@ -46,47 +38,27 @@ export async function composeOwnedUi(options = {}) {
46
38
  : createOwnedSettingsManager({
47
39
  profileId: options.profileId,
48
40
  agentProvider: () => backend.settingsPort(),
49
- ...(options.hideTabSettings ? { hideTabSettings: true } : {}),
50
41
  });
51
- const tabBridge = options.tab?.bridge ?? null;
52
- if (tabBridge !== null)
53
- await tabBridge.start().catch(() => false);
54
- const projectTrustPrompt = options.projectTrustPrompt === undefined ? undefined : async (request) => {
55
- tabBridge?.status("needs-input", false, 1, 0);
56
- try {
57
- return await options.projectTrustPrompt(request);
58
- }
59
- finally {
60
- tabBridge?.status("starting");
61
- }
62
- };
42
+ const projectTrustPrompt = options.projectTrustPrompt;
63
43
  // Invariant: process-wide engine state has one owner. The host installs the HTTP dispatcher, applies
64
44
  // the theme singletons, and announces startup notices once; every session is created through it.
65
45
  const host = await (options.createEngineHost ?? (async (hostOptions) => createPiEngineHost(hostOptions)))({
66
- productMode: ownedSurfaces ? "bare" : "comparison",
46
+ productMode,
67
47
  availableThemes: () => getAvailablePiThemes().map(theme => theme.name),
68
- announceStartupChangelog: !ownedSurfaces,
48
+ announceStartupChangelog: !bare,
69
49
  theme: {
70
- base: ownedSurfaces ? "dark" : "engine-configured",
71
- accentColor: settings !== null && ownedSurfaces ? settings.value("accentColor") : "purple",
72
- packageBorderProjection: ownedSurfaces,
50
+ base: bare ? "dark" : "engine-configured",
51
+ accentColor: settings !== null && bare ? settings.value("accentColor") : "purple",
52
+ packageBorderProjection: bare,
73
53
  apply: { base: applyConfiguredPiTheme, accentColor: setPiAccentColor, packageBorderProjection: setPiPackageBorderProjectionEnabled },
74
54
  },
75
55
  ...(projectTrustPrompt === undefined ? {} : { projectTrustPrompt }),
76
56
  });
77
- const sessionForkPrompt = options.sessionForkPrompt === undefined ? undefined : async (request) => {
78
- tabBridge?.status("needs-input", false, 1, 0);
79
- try {
80
- return await options.sessionForkPrompt(request);
81
- }
82
- finally {
83
- tabBridge?.status("starting");
84
- }
85
- };
57
+ const sessionForkPrompt = options.sessionForkPrompt;
86
58
  try {
87
59
  backend = await host.create({
88
60
  cwd,
89
- ...(ownedSurfaces ? { repositoryContextReader: sessionRuntimes.readerFor(undefined) } : {}),
61
+ ...(bare ? { repositoryContextReader: sessionRuntimes.readerFor(undefined) } : {}),
90
62
  ...(options.sessionPath === undefined ? {} : { sessionPath: options.sessionPath }),
91
63
  ...(options.sessionSelection === undefined ? {} : { sessionSelection: options.sessionSelection }),
92
64
  ...(sessionForkPrompt === undefined ? {} : { sessionForkPrompt }),
@@ -96,44 +68,28 @@ export async function composeOwnedUi(options = {}) {
96
68
  await host.dispose();
97
69
  throw error;
98
70
  }
99
- const clientIdentity = createResidentClientIdentity(update => backend.extensions.announceReleaseUpdate(update));
100
- let recoveryDegraded = false;
101
- let presentRecoveryDegraded = (_degraded) => { };
102
- const tabRecovery = options.tab === undefined ? null : new ResidentTabRecovery(options.tab.dataDir, {
103
- onDegraded: degraded => {
104
- recoveryDegraded = degraded;
105
- options.tab.bridge.degraded(degraded);
106
- presentRecoveryDegraded(degraded);
107
- },
108
- });
109
- const recoveredTabInput = await tabRecovery?.initialize(currentBackendSessionFile(backend), backend.identity.sessionId);
110
- if (tabBridge !== null && settings !== null && ownedSurfaces)
111
- tabBridge.accent(settings.value("accentColor"));
112
- let removeControllerBoundaryInput = () => { };
113
- let unsubscribeTabBridge = () => { };
114
71
  const releaseNote = await StartupReleaseNote.load({
115
- ownedSurfaces,
72
+ productMode,
116
73
  configDir: productPaths.configDir,
117
74
  ...(options.releaseNotes === undefined ? {} : { releaseNotes: options.releaseNotes }),
118
75
  ...(options.packageVersion === undefined ? {} : { packageVersion: options.packageVersion }),
119
76
  ...(options.profileId === undefined ? {} : { profileId: options.profileId }),
120
77
  });
121
- const unsubscribeAccentChange = settings === null || !ownedSurfaces
78
+ const unsubscribeAccentChange = settings === null || !bare
122
79
  ? () => { }
123
80
  : settings.onChange(current => {
124
81
  const accent = current.value("accentColor");
125
82
  host.setAccentColor(accent);
126
- tabBridge?.accent(accent);
127
83
  });
128
- // Rationale: resident tabs and separate solo agents share a settings document; a live scope
129
- // change saved in either reaches the others only by rereading that document.
130
- const unwatchSharedSettings = settings === null || !ownedSurfaces
84
+ // Rationale: separate A1 processes share one settings document; a live scope change saved in
85
+ // one reaches the others only by rereading that document.
86
+ const unwatchSharedSettings = settings === null || !bare
131
87
  ? () => { }
132
88
  : watchSharedSettings(settings);
133
89
  const unsubscribeAccent = () => { unwatchSharedSettings(); unsubscribeAccentChange(); };
134
90
  // Invariant: the Settings search and agent prompt borrow the same resolved Pi keybindings.
135
- const keybindingsHost = createPiKeybindingsHost({ profile: ownedSurfaces ? "a1" : "pi", agentDir: backend.identity.agentDir });
136
- const keybindings = residentTabKeybindings(tabBridge, backend.identity.agentDir, keybindingsHost);
91
+ const keybindingsHost = createPiKeybindingsHost({ profile: bare ? "a1" : "pi", agentDir: backend.identity.agentDir });
92
+ const keybindings = keybindingsHost;
137
93
  // Rationale: Routes open only after shell construction.
138
94
  const references = {
139
95
  changelog: async (input) => {
@@ -149,41 +105,41 @@ export async function composeOwnedUi(options = {}) {
149
105
  },
150
106
  session: () => import("./session-info-reference.js").then(m => m.loadSessionInfoReference(backend)),
151
107
  };
152
- const routeHost = settings === null || !ownedSurfaces ? null
153
- : createOwnedRouteHost(settings, references, settingsRouteOptions(tabBridge, keybindings, backend.identity.agentDir, cwd));
154
- const viewportSettings = settings === null || !ownedSurfaces ? null : {
108
+ const routeHost = settings === null || !bare ? null
109
+ : createOwnedRouteHost(settings, references, settingsRouteOptions(keybindings, backend.identity.agentDir, cwd));
110
+ const viewportSettings = settings === null || !bare ? null : {
155
111
  snapshot: () => viewportSettingsSnapshot(settings),
156
112
  onChange: listener => settings.onChange(() => listener(viewportSettingsSnapshot(settings))),
157
113
  };
158
- const backgroundSettings = settings === null || !ownedSurfaces ? null : {
114
+ const backgroundSettings = settings === null || !bare ? null : {
159
115
  snapshot: () => settings.value("backgroundStyle"),
160
116
  // Rationale: one manager notification also recomputes an accent-derived canvas after accentColor changes.
161
117
  onChange: listener => settings.onChange(current => listener(current.value("backgroundStyle"))),
162
118
  };
163
119
  const diagnosticDestination = options.suggestionDiagnosticsPath ?? process.env[PRODUCT_IDENTITY.environment.suggestionDiagnostics];
164
- const suggestionDiagnostics = settings !== null && ownedSurfaces && diagnosticDestination?.trim()
120
+ const suggestionDiagnostics = settings !== null && bare && diagnosticDestination?.trim()
165
121
  ? await import("../features/prompt-suggestions/diagnostics.js").then(module => new module.SuggestionDiagnosticCapture({ enabled: true, destination: diagnosticDestination })) : null;
166
- const promptSuggestions = settings === null || !ownedSurfaces ? null : {
122
+ const promptSuggestions = settings === null || !bare ? null : {
167
123
  ...(suggestionDiagnostics === null ? {} : { diagnostics: suggestionDiagnostics }),
168
124
  generator: backend,
169
125
  enabled: () => settings.value("promptSuggestions"),
170
126
  onChange: (listener) => settings.onChange(() => listener(settings.value("promptSuggestions"))),
171
127
  };
172
- const promptImages = settings === null || !ownedSurfaces ? null : {
128
+ const promptImages = settings === null || !bare ? null : {
173
129
  limit: () => settings.value("promptImageLimit"),
174
130
  onChange: (listener) => settings.onChange(listener),
175
131
  };
176
- const skills = settings === null || !ownedSurfaces ? null : {
132
+ const skills = settings === null || !bare ? null : {
177
133
  presentation: () => settings.value("skillsPresentation"),
178
134
  // Rationale: one listener covers both the A1 presentation choice and the engine skill-command toggle.
179
135
  onChange: (listener) => settings.onChange(() => listener()),
180
136
  };
181
- const promptHistory = createPromptHistoryConfiguration(settings, backend, ownedSurfaces);
137
+ const promptHistory = createPromptHistoryConfiguration(settings, backend, bare);
182
138
  const clipboardDestination = options.clipboardDiagnosticsPath ?? process.env[PRODUCT_IDENTITY.environment.clipboardDiagnostics];
183
- const clipboardDiagnostics = settings !== null && ownedSurfaces && clipboardDestination?.trim()
139
+ const clipboardDiagnostics = settings !== null && bare && clipboardDestination?.trim()
184
140
  ? new ClipboardDiagnosticCapture(clipboardDestination) : null;
185
141
  // Invariant: process-wide services are created once here and borrowed by every session shell.
186
- const clipboardServices = ownedSurfaces ? createOwnedUiClipboardServices() : null;
142
+ const clipboardServices = bare ? createOwnedUiClipboardServices() : null;
187
143
  let createdTerminalHost;
188
144
  let terminalHost;
189
145
  let presenter;
@@ -195,26 +151,14 @@ export async function composeOwnedUi(options = {}) {
195
151
  cwd: backend.identity.cwd,
196
152
  ...(routeHost === null ? {} : { routeHost }),
197
153
  ...(releaseNote.startupRoute === undefined ? {} : { startupRoute: releaseNote.startupRoute }),
198
- ...(ownedSurfaces ? { sessionLayout: "custom-viewport" } : {}),
199
- ...(tabBridge === null || tabRecovery === null ? {} : { residentTab: {
200
- requestDetach: () => tabBridge.requestDetach(),
201
- closeOwnedRoute: route => closeResidentUtilityRoute(tabBridge, route),
202
- reportStatus: status => tabBridge.status(status),
203
- admit: input => tabRecovery.admit({ ...input, incarnation: options.tab.incarnation }),
204
- dispatched: () => tabRecovery.dispatched(),
205
- correlated: (submissionId, entryId) => correlateResidentTabSubmission(tabRecovery, backend, submissionId, entryId),
206
- checkpoint: text => tabRecovery.checkpoint(text),
207
- gracefulStop: sessionFile => tabRecovery.gracefulStop(sessionFile),
208
- ...(recoveredTabInput === undefined ? {} : { recovered: recoveredTabInput }),
209
- } }),
154
+ ...(bare ? { sessionLayout: "custom-viewport" } : {}),
210
155
  },
211
156
  presentation: {
212
157
  ...(options.terminal === undefined ? {} : { terminal: createPiTerminalBridge(options.terminal) }),
213
- ...residentStartupPresentation(tabBridge !== null, options.residentFallbackNotice), soloResumeHint: options.soloResumeHint === true && tabBridge === null,
214
158
  ...(clipboardDiagnostics === null ? {} : { input: { onEvent: event => clipboardDiagnostics.runtime(event) } }),
215
159
  ...(viewportSettings === null ? {} : { viewportSettings }),
216
160
  ...(backgroundSettings === null ? {} : { backgroundSettings }),
217
- ...(settings === null || !ownedSurfaces || tabBridge !== null ? {} : {
161
+ ...(settings === null || !bare ? {} : {
218
162
  quitOutro: { snapshot: () => quitOutroSettingsSnapshot(settings), interactive: process.stdout.isTTY === true },
219
163
  }),
220
164
  },
@@ -235,20 +179,7 @@ export async function composeOwnedUi(options = {}) {
235
179
  // the host and paints once attached.
236
180
  terminalHost = createdTerminalHost = new OwnedUiTerminalHost(sessionTerminalHostOptions(presenterOptions));
237
181
  presenter = new OwnedUiSessionPresenter(terminalHost, presenterOptions);
238
- presentRecoveryDegraded = degraded => {
239
- if (!degraded)
240
- return;
241
- presenter.root.appendWorkflowStatus("draft recovery degraded");
242
- terminalHost.runtime.requestRender();
243
- };
244
- if (recoveryDegraded)
245
- presentRecoveryDegraded(true);
246
182
  terminalHost.attach(presenter);
247
- ({ unsubscribeTabBridge, removeControllerBoundaryInput } = await bindResidentPresentation(tabBridge, backend, tabRecovery, {
248
- autoName: settings?.value("tabsAutoName") ?? true,
249
- openRoute: route => presenter.openOwnedRoute(route),
250
- onClientVersion: clientIdentity.observe,
251
- }, terminalHost.runtime));
252
183
  }
253
184
  catch (error) {
254
185
  await createdTerminalHost?.dispose().catch(() => undefined);
@@ -266,12 +197,10 @@ export async function composeOwnedUi(options = {}) {
266
197
  const releaseUpdates = deferStartupReleaseUpdateObservation({
267
198
  backend,
268
199
  configDir: productPaths.configDir,
269
- mode: settings === null || !ownedSurfaces ? "auto" : settings.value("updateCheck"),
270
- packageVersion: releaseNote.packageVersion, readPackageVersion, notificationVersion: options.notificationVersion,
200
+ mode: settings === null || !bare ? "auto" : settings.value("updateCheck"),
201
+ packageVersion: releaseNote.packageVersion, readPackageVersion,
271
202
  checkForNewerRelease: options.checkForNewerRelease,
272
- clientVersion: clientIdentity.current,
273
203
  });
274
- clientIdentity.onChange(releaseUpdates.clientChanged);
275
204
  const exitNoticePath = process.env[PRODUCT_IDENTITY.environment.exitNoticePath];
276
205
  // Security: tools the agent runs must never see, or rewrite, this instance's notice.
277
206
  delete process.env[PRODUCT_IDENTITY.environment.exitNoticePath];
@@ -279,10 +208,10 @@ export async function composeOwnedUi(options = {}) {
279
208
  const application = {
280
209
  get disposed() { return backend.identity.disposed; },
281
210
  start: () => {
282
- // Performance: the guardian notice loads beside first paint, never on the startup path.
211
+ // Performance: the launcher's exit notice loads beside first paint, never on the startup path.
283
212
  if (exitNoticePath)
284
213
  exitNotice = import("../app/session-shell/exit-notice.js")
285
- .then(module => module.armExitNotice(backend, exitNoticePath, options.soloResumeHint === true && tabBridge === null), () => null);
214
+ .then(module => module.armExitNotice(backend, exitNoticePath), () => null);
286
215
  presenter.start();
287
216
  releaseUpdates.start();
288
217
  },
@@ -299,14 +228,11 @@ export async function composeOwnedUi(options = {}) {
299
228
  finally {
300
229
  // Invariant: the shared spares outlive every shell and stop only after the last one is disposed.
301
230
  clipboardServices?.dispose();
302
- removeControllerBoundaryInput();
303
231
  unsubscribeAccent();
304
232
  await sessionRuntimes.dispose();
305
233
  await releaseNote.releaseClaim();
306
234
  suggestionDiagnostics?.dispose();
307
235
  clipboardDiagnostics?.dispose();
308
- unsubscribeTabBridge();
309
- tabBridge?.close();
310
236
  // Invariant: the host outlives the application; disposing it cancels host-level probes last.
311
237
  await host.dispose();
312
238
  }
@@ -314,10 +240,10 @@ export async function composeOwnedUi(options = {}) {
314
240
  };
315
241
  return { application, settings };
316
242
  }
317
- function createPromptHistoryConfiguration(settings, backend, ownedSurfaces) {
243
+ function createPromptHistoryConfiguration(settings, backend, bare) {
318
244
  const limit = settings?.value("promptHistoryMaxItems") ?? 100;
319
245
  const scope = settings?.value("promptHistoryScope") ?? "unique";
320
- const enabled = settings !== null && ownedSurfaces && settings.value("promptHistoryEnabled");
246
+ const enabled = settings !== null && bare && settings.value("promptHistoryEnabled");
321
247
  const sessionId = enabled ? backend.identity.currentHistorySessionId() : null;
322
248
  if (settings === null || !enabled || (scope === "unique" && sessionId === null))
323
249
  return null;
@@ -340,9 +266,8 @@ function createPromptHistoryConfiguration(settings, backend, ownedSurfaces) {
340
266
  };
341
267
  }
342
268
  export { watchSharedSettings } from "./owned-settings.js";
343
- function settingsRouteOptions(tabBridge, keybindings, agentDir, cwd) {
269
+ function settingsRouteOptions(keybindings, agentDir, cwd) {
344
270
  return {
345
- ...residentRouteHostOptions(tabBridge),
346
271
  keybindings,
347
272
  agentDir,
348
273
  cwd,
@@ -361,7 +286,6 @@ function quitOutroSettingsSnapshot(settings) {
361
286
  }
362
287
  function viewportSettingsSnapshot(settings) {
363
288
  return {
364
- timeFormat: settings.value("timeFormat"),
365
289
  scrollbarAppearance: settings.value("scrollbarAppearance"),
366
290
  scrollbarStyle: settings.value("scrollbarStyle"),
367
291
  scrollbarSpeed: settings.value("scrollbarSpeed"),
@@ -1,3 +1,3 @@
1
1
  import type { ReferenceDocumentSelectionOptions } from "../features/owned-ui/reference-document-selection.js";
2
- /** Builds the Changelog selection clipboard policy without loading Pi's engine in a utility tab. */
2
+ /** Builds the Changelog selection clipboard policy without loading Pi's engine. */
3
3
  export declare function createReferenceSelectionOptions(settingsFile: string, copyText: ((text: string) => boolean | void) | undefined): ReferenceDocumentSelectionOptions;
@@ -1,5 +1,5 @@
1
1
  import { readFileSync } from "node:fs";
2
- /** Builds the Changelog selection clipboard policy without loading Pi's engine in a utility tab. */
2
+ /** Builds the Changelog selection clipboard policy without loading Pi's engine. */
3
3
  export function createReferenceSelectionOptions(settingsFile, copyText) {
4
4
  return {
5
5
  copyOnSelect: () => {
@@ -6,17 +6,17 @@ export interface StartupReleaseUpdateObservationOptions {
6
6
  readonly mode: StartupUpdateMode;
7
7
  readonly packageVersion: string | null;
8
8
  readonly readPackageVersion: () => Promise<string>;
9
- readonly notificationVersion: string | undefined;
10
9
  readonly checkForNewerRelease: ((options: StartupReleaseCheckOptions) => Promise<AvailableRelease | null>) | undefined;
11
- readonly clientVersion?: () => string | null;
12
10
  }
13
- /** Client readiness is unrelated to the retained Agent's engine version or execution lifecycle. */
11
+ /**
12
+ * `Auto` installs a verified newer release in the background; the only thing the user sees is the
13
+ * installed status once the approved active release is newer than the one running here.
14
+ */
14
15
  declare class ReleaseUpdateObservation {
15
16
  #private;
16
17
  constructor(input: StartupReleaseUpdateObservationOptions);
17
18
  start(): void;
18
19
  stop(): void;
19
- clientChanged(): void;
20
20
  }
21
21
  export declare function createStartupReleaseUpdateObservation(input: StartupReleaseUpdateObservationOptions): ReleaseUpdateObservation;
22
22
  export {};
@@ -1,9 +1,11 @@
1
- /** Client readiness is unrelated to the retained Agent's engine version or execution lifecycle. */
1
+ /**
2
+ * `Auto` installs a verified newer release in the background; the only thing the user sees is the
3
+ * installed status once the approved active release is newer than the one running here.
4
+ */
2
5
  class ReleaseUpdateObservation {
3
6
  #input;
4
7
  #controller = new AbortController();
5
8
  #timer;
6
- #announced = null;
7
9
  #installedAnnounced = false;
8
10
  #eligible;
9
11
  #cadence = null;
@@ -13,18 +15,14 @@ class ReleaseUpdateObservation {
13
15
  #refresh = false;
14
16
  #stopActiveReleaseObservation = () => { };
15
17
  constructor(input) { this.#input = input; this.#eligible = input.mode === "auto"; }
16
- #announce(status, version) {
17
- const key = `${status}:${version}`;
18
- if (key === this.#announced || (status === "installed" && this.#installedAnnounced) || this.#controller.signal.aborted)
18
+ #announceInstalled(version) {
19
+ if (this.#installedAnnounced || this.#controller.signal.aborted)
19
20
  return;
20
- this.#announced = key;
21
- if (status === "installed") {
22
- this.#installedAnnounced = true;
23
- this.#eligible = false;
24
- if (this.#timer !== undefined)
25
- clearTimeout(this.#timer);
26
- }
27
- this.#input.backend.extensions.announceReleaseUpdate({ status, version });
21
+ this.#installedAnnounced = true;
22
+ this.#eligible = false;
23
+ if (this.#timer !== undefined)
24
+ clearTimeout(this.#timer);
25
+ this.#input.backend.extensions.announceReleaseUpdate({ status: "installed", version });
28
26
  }
29
27
  async #startActiveReleaseObservation() {
30
28
  const runningVersion = this.#input.packageVersion ?? await this.#input.readPackageVersion();
@@ -36,7 +34,7 @@ class ReleaseUpdateObservation {
36
34
  this.#stopActiveReleaseObservation = module.observeNewerActiveRelease({
37
35
  runningVersion,
38
36
  signal: this.#controller.signal,
39
- onNewer: version => this.#announce("installed", version),
37
+ onNewer: version => this.#announceInstalled(version),
40
38
  });
41
39
  }
42
40
  async #observe() {
@@ -46,10 +44,9 @@ class ReleaseUpdateObservation {
46
44
  this.#nextDelay = this.#cadence;
47
45
  const input = this.#input;
48
46
  const check = input.checkForNewerRelease ?? releases.checkForNewerRelease;
49
- const client = input.clientVersion?.();
50
- const runningVersion = client ?? input.packageVersion ?? await input.readPackageVersion();
47
+ const runningVersion = input.packageVersion ?? await input.readPackageVersion();
51
48
  const options = {
52
- runningVersion: client ?? (input.mode === "notify" ? input.notificationVersion ?? runningVersion : runningVersion),
49
+ runningVersion,
53
50
  configDir: input.configDir, interactive: process.stdout.isTTY === true, settingMode: input.mode,
54
51
  signal: this.#controller.signal, onNextCheckDelay: delay => { this.#nextDelay = delay; },
55
52
  };
@@ -58,31 +55,12 @@ class ReleaseUpdateObservation {
58
55
  return;
59
56
  }
60
57
  const release = await check(options);
61
- if (release === null || this.#controller.signal.aborted)
62
- return;
63
- const current = input.clientVersion?.();
64
- if (current && !releases.isNewerRelease(release.version, current))
65
- return;
66
- if (input.mode === "notify") {
67
- input.backend.extensions.announceReleaseUpdate(release);
68
- return;
69
- }
70
- if (input.mode !== "auto")
58
+ if (release === null || this.#controller.signal.aborted || input.mode !== "auto")
71
59
  return;
72
60
  const installed = await import("../foundation/release/automatic-update.js")
73
- .then(module => module.requestAutomaticUpdate({
74
- release, runningVersion, signal: this.#controller.signal,
75
- onActivationBlocked: version => {
76
- const clientVersion = input.clientVersion?.();
77
- if (version !== null && clientVersion && !releases.isNewerRelease(version, clientVersion))
78
- return;
79
- if (version !== null)
80
- this.#nextDelay = module.AUTOMATIC_UPDATE_ACTIVATION_RETRY_MS;
81
- this.#announce(version === null ? "blocked-cleared" : "blocked", version ?? release.version);
82
- },
83
- }));
61
+ .then(module => module.requestAutomaticUpdate({ release, runningVersion, signal: this.#controller.signal }));
84
62
  if (installed !== null)
85
- this.#announce("installed", installed);
63
+ this.#announceInstalled(installed);
86
64
  }
87
65
  async #run() {
88
66
  if (this.#running) {
@@ -118,13 +96,5 @@ class ReleaseUpdateObservation {
118
96
  if (this.#timer !== undefined)
119
97
  clearTimeout(this.#timer);
120
98
  }
121
- clientChanged() {
122
- this.#announced = null;
123
- if (!this.#started || this.#controller.signal.aborted || this.#installedAnnounced || this.#input.mode === "no")
124
- return;
125
- if (this.#timer !== undefined)
126
- clearTimeout(this.#timer);
127
- void this.#run();
128
- }
129
99
  }
130
100
  export function createStartupReleaseUpdateObservation(input) { return new ReleaseUpdateObservation(input); }
@@ -9,7 +9,6 @@ import type { PiSessionPresenterBackend } from "../integrations/pi/session-prese
9
9
  */
10
10
  export interface ComposedSessionBackend extends PiSessionPresenterBackend, OwnedUiPromptSuggestionGeneratorPort {
11
11
  settingsPort(): AgentSettingsPort | null;
12
- generateResidentTabName(instruction: string, maxTokens: number, signal: AbortSignal): Promise<string | null>;
13
12
  }
14
13
  /** The process-level engine host as composition drives it: sessions, the live accent, and disposal. */
15
14
  export interface ComposedEngineHost {
@@ -1,9 +1,9 @@
1
- import type { NativeProcessIdentity } from "../foundation/lifecycle/model.js";
2
- export interface SessionRuntimeRegistryOptions {
1
+ import type { ProcessIdentity } from "../foundation/lifecycle/model.js";
2
+ interface SessionRuntimeRegistryOptions {
3
3
  /** Absent outside claim-owning runtimes. */
4
4
  readonly runtimeId: string | undefined;
5
- /** Exact native inspection; absent SDK seams cannot claim. */
6
- readonly inspectProcess: ((pid: number) => Promise<NativeProcessIdentity | null>) | undefined;
5
+ /** Process liveness inspection; absent SDK seams cannot claim. */
6
+ readonly inspectProcess: ((pid: number) => Promise<ProcessIdentity | null>) | undefined;
7
7
  readonly refreshMs?: number;
8
8
  }
9
9
  /** Lifecycle-owned publication and retries for each agent's current session, serialized with disposal. */
@@ -15,3 +15,4 @@ export declare class SessionRuntimeRegistry {
15
15
  /** Drain publication before releasing claims; never republish after disposal. */
16
16
  dispose(): Promise<void>;
17
17
  }
18
+ export {};
@@ -11,13 +11,6 @@ export interface OwnedReferenceProviders {
11
11
  }
12
12
  /** How the settings route is presented. */
13
13
  export interface OwnedRouteHostOptions {
14
- /**
15
- * The route whose screen is this resident utility tab. That screen is the tab, so it offers no
16
- * screen-level close: neither Esc nor one Ctrl+C dismisses it, and it shows no close hint.
17
- */
18
- readonly tabRoute?: string | null;
19
- /** Opens the tab bar's own Plus Menu dialog; false when no tab bar can show it. */
20
- readonly configurePlusMenu?: () => boolean;
21
14
  readonly keybindings?: PiKeybindingsHost;
22
15
  readonly agentDir?: string;
23
16
  readonly cwd?: string;
@@ -1,6 +1,7 @@
1
1
  import { CHANGELOG_ROUTE, HOTKEYS_ROUTE, HOTKEYS_TITLE } from "../features/owned-ui/reference-routes.js";
2
2
  import { SETTINGS_APP_ID, SETTINGS_ROUTE } from "../features/owned-ui/settings-route.js";
3
- import { piTheme, renderPiAccentPreview } from "../integrations/pi/components/upstream/theme/theme.js";
3
+ import { piTheme } from "../integrations/pi/components/upstream/theme/theme.js";
4
+ import { piUiTheme } from "../integrations/pi/components/theme.js";
4
5
  import { faint } from "../ui/components/text.js";
5
6
  /** Declares settings and lazy document routes. */
6
7
  export function createOwnedRouteHost(settings, references, options = {}) {
@@ -17,8 +18,7 @@ export function createOwnedRouteHost(settings, references, options = {}) {
17
18
  const session = route === "session";
18
19
  const title = session ? "Session Info" : changelog ? input ? "What's New" : "Changelog" : HOTKEYS_TITLE;
19
20
  const document = session ? references.session() : changelog ? references.changelog(input) : references.hotkeys();
20
- const pinned = options.tabRoute === route;
21
- return deferredSurface(route, title, () => loadReferenceSurface(settings, route, title, document, pinned, options));
21
+ return deferredSurface(route, title, () => loadReferenceSurface(settings, route, title, document, options));
22
22
  },
23
23
  };
24
24
  }
@@ -68,22 +68,18 @@ async function loadSettingsSurface(settings, options) {
68
68
  import("./settings-search-input.js"),
69
69
  import("../ui/components/dialog-panel.js"),
70
70
  ]);
71
- const pinned = options.tabRoute === SETTINGS_ROUTE;
72
71
  const searchInputFactory = createSettingsSearchInputFactory({
73
72
  ...(options.keybindings === undefined ? {} : { keybindings: options.keybindings }),
74
73
  ...(options.agentDir === undefined ? {} : { agentDir: options.agentDir }),
75
74
  ...(options.cwd === undefined ? {} : { cwd: options.cwd }),
76
75
  });
77
- // Invariant: a pinned Settings tab closes as a tab; neither Esc nor one unclaimed Ctrl+C dismisses its screen.
78
76
  return hostApp(SETTINGS_APP_ID, SETTINGS_ROUTE, () => new SettingsApp(settings, {
79
- pinned,
80
77
  searchInputFactory,
81
- configurePlusMenu: options.configurePlusMenu ?? null,
82
78
  dialogPanel: text => renderFloatingDialogSurface(text, piTheme().getColorMode()),
83
79
  ...(options.copyText === undefined ? {} : { copyText: options.copyText }),
84
- }), !pinned, true, text => renderFloatingMenuSurface(text, piTheme().getColorMode()));
80
+ }), true, true, text => renderFloatingMenuSurface(text, piTheme().getColorMode()));
85
81
  }
86
- async function loadReferenceSurface(settings, route, title, document, pinned, options) {
82
+ async function loadReferenceSurface(settings, route, title, document, options) {
87
83
  const id = route;
88
84
  const [{ ReferenceScreenApp }, content, selection] = await Promise.all([
89
85
  import("../features/owned-ui/reference-screen-app.js"),
@@ -101,9 +97,8 @@ async function loadReferenceSurface(settings, route, title, document, pinned, op
101
97
  scrollbarStyle: settings.value("scrollbarStyle"),
102
98
  scrollbarSpeed: settings.value("scrollbarSpeed"),
103
99
  }),
104
- pinned,
105
100
  ...(selection === undefined ? {} : { selection }),
106
- }), !pinned, selection !== undefined);
101
+ }), true, selection !== undefined);
107
102
  }
108
103
  async function hostApp(id, route, create, closeOnInterrupt = true, appInputBeforeInterrupt = false, panel = text => text) {
109
104
  const [{ UiAppHost }, { UiAppRegistry }] = await Promise.all([
@@ -151,13 +146,5 @@ async function hostApp(id, route, create, closeOnInterrupt = true, appInputBefor
151
146
  };
152
147
  }
153
148
  function pinnedTheme(panel) {
154
- return {
155
- fg: (token, text) => piTheme().fg(token, text),
156
- bold: (text) => piTheme().bold(text),
157
- plain: (text) => text,
158
- accentPreview: (color, text) => renderPiAccentPreview(color, text),
159
- disabled: (text) => faint(piTheme().fg("dim", text)),
160
- highlight: (text) => piTheme().bg("selectedBg", text),
161
- panel,
162
- };
149
+ return piUiTheme({ panel, disabled: text => faint(piTheme().fg("dim", text)) });
163
150
  }
@@ -1,9 +1,10 @@
1
1
  import type { SettingsSearchInputFactory } from "../features/owned-ui/settings-search-input.js";
2
2
  import { type PiKeybindingsHost } from "../integrations/pi/components/shell-shared-facade.js";
3
- export interface SettingsSearchInputFactoryOptions {
3
+ interface SettingsSearchInputFactoryOptions {
4
4
  readonly keybindings?: PiKeybindingsHost;
5
5
  readonly agentDir?: string;
6
6
  readonly cwd?: string;
7
7
  }
8
8
  /** Builds Settings search from the same configurable owned editor used by the agent prompt. */
9
9
  export declare function createSettingsSearchInputFactory(options?: SettingsSearchInputFactoryOptions): SettingsSearchInputFactory;
10
+ export {};
@@ -2,8 +2,8 @@ import type { OwnedUiShellEngineOptions } from "../app/session-shell/index.js";
2
2
  import type { ReleaseNoteCatalog } from "../features/owned-ui/release-notes.js";
3
3
  import type { StartupReleaseUpdateObservationOptions } from "./release-update-observation.js";
4
4
  type StartupRoute = NonNullable<OwnedUiShellEngineOptions["startupRoute"]>;
5
- export interface StartupReleaseNoteOptions {
6
- readonly ownedSurfaces: boolean;
5
+ interface StartupReleaseNoteOptions {
6
+ readonly productMode: "bare" | "comparison";
7
7
  /** Deterministic catalog and version seams for composition tests. */
8
8
  readonly releaseNotes?: ReleaseNoteCatalog;
9
9
  readonly packageVersion?: string;
@@ -17,7 +17,6 @@ type UpdateObservationModule = Pick<typeof import("./release-update-observation.
17
17
  export declare function deferStartupReleaseUpdateObservation(options: StartupReleaseUpdateObservationOptions, load?: () => Promise<UpdateObservationModule>): {
18
18
  start(): void;
19
19
  stop(): void;
20
- clientChanged(): void;
21
20
  };
22
21
  /**
23
22
  * The release notes bare A1 ships and the one note this version shows once per profile on startup:
@@ -23,7 +23,6 @@ export function deferStartupReleaseUpdateObservation(options, load = () => impor
23
23
  }).catch(() => { });
24
24
  },
25
25
  stop() { stopped = true; observation?.stop(); },
26
- clientChanged() { observation?.clientChanged(); },
27
26
  };
28
27
  }
29
28
  /**
@@ -41,7 +40,7 @@ export class StartupReleaseNote {
41
40
  static async load(options) {
42
41
  let catalog = null;
43
42
  let failure;
44
- if (options.ownedSurfaces) {
43
+ if (options.productMode === "bare") {
45
44
  try {
46
45
  catalog = options.releaseNotes
47
46
  ?? await import("../features/owned-ui/release-notes.js").then(module => module.readPackagedReleaseNotes());
@@ -50,7 +49,7 @@ export class StartupReleaseNote {
50
49
  failure = error;
51
50
  }
52
51
  }
53
- const packageVersion = options.ownedSurfaces ? options.packageVersion ?? await readPackageVersion() : null;
52
+ const packageVersion = options.productMode === "bare" ? options.packageVersion ?? await readPackageVersion() : null;
54
53
  const current = packageVersion === null ? null : catalog?.current(packageVersion) ?? null;
55
54
  const profileId = options.profileId;
56
55
  const claim = current === null || profileId === undefined