@timurproko/a1 0.2.7-dev.1249 → 0.2.7-dev.1255

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (524) hide show
  1. package/README.md +11 -36
  2. package/bin/cli.js +2 -17
  3. package/bin/ui.js +10 -51
  4. package/dist/app/session-shell/clipboard-diagnostics.d.ts +2 -2
  5. package/dist/app/session-shell/clipboard-image.d.ts +0 -1
  6. package/dist/app/session-shell/clipboard-image.js +1 -1
  7. package/dist/app/session-shell/dialog-coordinator.d.ts +6 -5
  8. package/dist/app/session-shell/dialog-coordinator.js +3 -4
  9. package/dist/app/session-shell/dock-chrome.d.ts +11 -6
  10. package/dist/app/session-shell/dock-chrome.js +5 -8
  11. package/dist/app/session-shell/editor-hyperlink-budget.d.ts +0 -2
  12. package/dist/app/session-shell/editor-hyperlink-budget.js +1 -1
  13. package/dist/app/session-shell/exit-notice.d.ts +3 -3
  14. package/dist/app/session-shell/exit-notice.js +10 -10
  15. package/dist/app/session-shell/extension-surface.d.ts +8 -7
  16. package/dist/app/session-shell/helper-pool.d.ts +3 -4
  17. package/dist/app/session-shell/helper-pool.js +1 -1
  18. package/dist/app/session-shell/image-preparation-client.d.ts +4 -3
  19. package/dist/app/session-shell/image-preparation.d.ts +0 -2
  20. package/dist/app/session-shell/image-preparation.js +2 -2
  21. package/dist/app/session-shell/image-source.d.ts +2 -3
  22. package/dist/app/session-shell/image-source.js +2 -2
  23. package/dist/app/session-shell/input-surface-switch.d.ts +9 -7
  24. package/dist/app/session-shell/input-surface-switch.js +1 -2
  25. package/dist/app/session-shell/login-interaction.d.ts +5 -4
  26. package/dist/app/session-shell/login-interaction.js +2 -3
  27. package/dist/app/session-shell/paste-executor.d.ts +4 -8
  28. package/dist/app/session-shell/paste-executor.js +2 -2
  29. package/dist/app/session-shell/paste-protocol.d.ts +2 -2
  30. package/dist/app/session-shell/path-chip-presentation.d.ts +0 -5
  31. package/dist/app/session-shell/path-chip-presentation.js +3 -3
  32. package/dist/app/session-shell/prompt-chips.d.ts +8 -7
  33. package/dist/app/session-shell/prompt-history-controller.d.ts +3 -3
  34. package/dist/app/session-shell/prompt-submission.d.ts +7 -6
  35. package/dist/app/session-shell/prompt-submission.js +7 -28
  36. package/dist/app/session-shell/quit-outro-effects.d.ts +3 -3
  37. package/dist/app/session-shell/quit-outro-effects.js +1 -4
  38. package/dist/app/session-shell/quit-outro.d.ts +9 -12
  39. package/dist/app/session-shell/quit-outro.js +11 -11
  40. package/dist/app/session-shell/response-copy-protocol.d.ts +3 -2
  41. package/dist/app/session-shell/response-copy-transport.d.ts +2 -14
  42. package/dist/app/session-shell/response-copy-transport.js +2 -3
  43. package/dist/app/session-shell/session-lifecycle.d.ts +3 -3
  44. package/dist/app/session-shell/session-lifecycle.js +2 -4
  45. package/dist/app/session-shell/session-shell-root.d.ts +74 -120
  46. package/dist/app/session-shell/session-shell-root.js +82 -115
  47. package/dist/app/session-shell/session-shell.d.ts +13 -16
  48. package/dist/app/session-shell/session-shell.js +149 -314
  49. package/dist/app/session-shell/session-viewport-controller.d.ts +7 -6
  50. package/dist/app/session-shell/session-viewport-controller.js +5 -8
  51. package/dist/app/session-shell/settings-bindings.d.ts +24 -2
  52. package/dist/app/session-shell/settings-bindings.js +24 -0
  53. package/dist/app/session-shell/share-operation.d.ts +3 -3
  54. package/dist/app/session-shell/share-operation.js +4 -6
  55. package/dist/app/session-shell/shell-clipboard.d.ts +59 -0
  56. package/dist/app/session-shell/shell-clipboard.js +119 -0
  57. package/dist/app/session-shell/shell-editor-factory.d.ts +8 -4
  58. package/dist/app/session-shell/shell-editor-factory.js +13 -15
  59. package/dist/app/session-shell/shell-host.d.ts +16 -17
  60. package/dist/app/session-shell/shell-host.js +20 -37
  61. package/dist/app/session-shell/shell-layout.d.ts +2 -2
  62. package/dist/app/session-shell/shell-prompt-suggestions.d.ts +26 -0
  63. package/dist/app/session-shell/shell-prompt-suggestions.js +48 -0
  64. package/dist/app/session-shell/suggestion-surface.d.ts +1 -6
  65. package/dist/app/session-shell/suggestion-surface.js +1 -1
  66. package/dist/app/session-shell/system-clipboard.d.ts +2 -14
  67. package/dist/app/session-shell/system-clipboard.js +2 -7
  68. package/dist/app/session-shell/transcript-document.d.ts +12 -10
  69. package/dist/app/session-shell/transcript-document.js +15 -41
  70. package/dist/app/session-shell/viewport-layout.d.ts +2 -2
  71. package/dist/app/session-shell/workflow-output.d.ts +5 -3
  72. package/dist/app/session-shell/workflow-output.js +13 -15
  73. package/dist/app/session-shell/workflow-router.d.ts +1 -3
  74. package/dist/app/session-shell/workflow-router.js +1 -4
  75. package/dist/cli/dispatch.d.ts +1 -11
  76. package/dist/cli/dispatch.js +5 -92
  77. package/dist/cli/package-messages.d.ts +0 -1
  78. package/dist/cli/package-messages.js +1 -1
  79. package/dist/cli/session-context.d.ts +1 -1
  80. package/dist/cli/session-context.js +5 -7
  81. package/dist/cli/uninstall.d.ts +4 -7
  82. package/dist/cli/uninstall.js +6 -35
  83. package/dist/cli/version-stats.js +4 -7
  84. package/dist/composition/owned-settings.d.ts +2 -2
  85. package/dist/composition/owned-settings.js +0 -4
  86. package/dist/composition/owned-ui.d.ts +3 -25
  87. package/dist/composition/owned-ui.js +37 -113
  88. package/dist/composition/reference-selection-options.d.ts +1 -1
  89. package/dist/composition/reference-selection-options.js +1 -1
  90. package/dist/composition/release-update-observation.d.ts +4 -4
  91. package/dist/composition/release-update-observation.js +17 -47
  92. package/dist/composition/session-backend.d.ts +0 -1
  93. package/dist/composition/session-runtime-registry.d.ts +5 -4
  94. package/dist/composition/settings-route-host.d.ts +0 -7
  95. package/dist/composition/settings-route-host.js +7 -20
  96. package/dist/composition/settings-search-input.d.ts +2 -1
  97. package/dist/composition/startup-route.d.ts +2 -3
  98. package/dist/composition/startup-route.js +2 -3
  99. package/dist/contracts/owned-ui/extension-ui.d.ts +2 -1
  100. package/dist/contracts/owned-ui/index.d.ts +2 -1
  101. package/dist/contracts/owned-ui/model.d.ts +0 -3
  102. package/dist/contracts/owned-ui/session-presenters.d.ts +3 -0
  103. package/dist/contracts/owned-ui/session-workflows.d.ts +1 -4
  104. package/dist/contracts/owned-ui/shell-components.d.ts +543 -0
  105. package/dist/contracts/presentation/component.d.ts +17 -0
  106. package/dist/contracts/presentation/component.js +8 -0
  107. package/dist/contracts/presentation/index.d.ts +6 -15
  108. package/dist/contracts/presentation/index.js +2 -0
  109. package/dist/contracts/presentation/terminal.d.ts +290 -0
  110. package/dist/contracts/presentation/theme.d.ts +46 -0
  111. package/dist/features/launch/development-launch.js +1 -2
  112. package/dist/features/launch/index.d.ts +1 -1
  113. package/dist/features/launch/intent.d.ts +1 -3
  114. package/dist/features/launch/intent.js +2 -4
  115. package/dist/features/launch/runtime-selection.d.ts +2 -2
  116. package/dist/features/launch/runtime-selection.js +2 -2
  117. package/dist/features/launch/session-context.d.ts +2 -2
  118. package/dist/features/owned-ui/project-trust-prompt.d.ts +2 -2
  119. package/dist/features/owned-ui/project-trust-prompt.js +1 -1
  120. package/dist/features/owned-ui/reference-screen-app.d.ts +0 -2
  121. package/dist/features/owned-ui/reference-screen-app.js +2 -9
  122. package/dist/features/owned-ui/release-note-state.d.ts +2 -1
  123. package/dist/features/owned-ui/settings-app.d.ts +0 -6
  124. package/dist/features/owned-ui/settings-app.js +42 -254
  125. package/dist/features/owned-ui/settings-edits.d.ts +31 -0
  126. package/dist/features/owned-ui/settings-edits.js +139 -0
  127. package/dist/features/owned-ui/settings-scroll-rail.d.ts +29 -0
  128. package/dist/features/owned-ui/settings-scroll-rail.js +79 -0
  129. package/dist/features/owned-ui/settings-search-input.d.ts +2 -1
  130. package/dist/features/prompt-history/service.d.ts +3 -2
  131. package/dist/foundation/launch-context/index.d.ts +0 -12
  132. package/dist/foundation/launch-context/index.js +0 -26
  133. package/dist/foundation/lifecycle/claim-gate.d.ts +9 -0
  134. package/dist/foundation/lifecycle/claim-gate.js +37 -0
  135. package/dist/foundation/lifecycle/index.d.ts +5 -9
  136. package/dist/foundation/lifecycle/index.js +3 -4
  137. package/dist/foundation/lifecycle/model.d.ts +2 -59
  138. package/dist/foundation/lifecycle/model.js +0 -35
  139. package/dist/foundation/lifecycle/paths.d.ts +0 -24
  140. package/dist/foundation/lifecycle/paths.js +0 -40
  141. package/dist/foundation/lifecycle/process-liveness.d.ts +8 -0
  142. package/dist/foundation/lifecycle/process-liveness.js +18 -0
  143. package/dist/foundation/lifecycle/session-claim-lock.d.ts +1 -1
  144. package/dist/foundation/lifecycle/session-claim-lock.js +2 -2
  145. package/dist/foundation/lifecycle/session-repository-context.d.ts +6 -6
  146. package/dist/foundation/lifecycle/session-repository-context.js +2 -3
  147. package/dist/foundation/release/automatic-update.d.ts +6 -17
  148. package/dist/foundation/release/automatic-update.js +23 -44
  149. package/dist/foundation/release/bootstrap.d.ts +2 -25
  150. package/dist/foundation/release/bootstrap.js +37 -348
  151. package/dist/foundation/release/dependency-certification.d.ts +1 -2
  152. package/dist/foundation/release/dependency-certification.js +1 -1
  153. package/dist/foundation/release/early-accent.d.ts +2 -2
  154. package/dist/foundation/release/early-accent.js +1 -1
  155. package/dist/foundation/release/index.d.ts +10 -17
  156. package/dist/foundation/release/index.js +7 -11
  157. package/dist/foundation/release/latest-release.d.ts +3 -19
  158. package/dist/foundation/release/latest-release.js +11 -12
  159. package/dist/foundation/release/ordinary-launch-selection.d.ts +1 -1
  160. package/dist/foundation/release/ordinary-launch-selection.js +1 -1
  161. package/dist/foundation/release/process-liveness.d.ts +2 -0
  162. package/dist/foundation/release/process-liveness.js +12 -0
  163. package/dist/foundation/release/release-gc.d.ts +13 -10
  164. package/dist/foundation/release/release-gc.js +37 -101
  165. package/dist/foundation/release/{cohort-state.d.ts → release-state.d.ts} +44 -69
  166. package/dist/foundation/release/{cohort-state.js → release-state.js} +38 -70
  167. package/dist/foundation/release/release-store.d.ts +2 -2
  168. package/dist/foundation/release/release-store.js +2 -2
  169. package/dist/foundation/release/restart-certification.js +1 -1
  170. package/dist/foundation/release/update-activation.d.ts +2 -9
  171. package/dist/foundation/release/update-activation.js +30 -45
  172. package/dist/foundation/release/update-execution-lease.d.ts +2 -3
  173. package/dist/foundation/release/update-execution-lease.js +2 -2
  174. package/dist/foundation/release/update-launch.d.ts +2 -4
  175. package/dist/foundation/release/update-launch.js +0 -7
  176. package/dist/foundation/release/update-recovery.js +1 -1
  177. package/dist/foundation/release/update-transaction.d.ts +1 -1
  178. package/dist/foundation/release/update-transaction.js +5 -2
  179. package/dist/foundation/release/update.d.ts +2 -12
  180. package/dist/foundation/release/update.js +37 -214
  181. package/dist/foundation/session-writer-lock/index.d.ts +14 -6
  182. package/dist/foundation/session-writer-lock/index.js +48 -103
  183. package/dist/foundation/startup/startup-budget.d.ts +5 -5
  184. package/dist/foundation/startup/startup-budget.js +2 -2
  185. package/dist/foundation/startup/startup-runtime.d.ts +1 -1
  186. package/dist/foundation/terminal-cleanup/exit-notice.d.ts +6 -0
  187. package/dist/foundation/terminal-cleanup/exit-notice.js +36 -0
  188. package/dist/foundation/terminal-cleanup/index.d.ts +2 -1
  189. package/dist/foundation/terminal-cleanup/index.js +2 -1
  190. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +0 -5
  191. package/dist/foundation/terminal-cleanup/terminal-reset.js +0 -5
  192. package/dist/integrations/pi/components/editor-interaction.d.ts +4 -12
  193. package/dist/integrations/pi/components/index.d.ts +15 -9
  194. package/dist/integrations/pi/components/index.js +9 -5
  195. package/dist/integrations/pi/components/lazy-selectors.d.ts +2 -10
  196. package/dist/integrations/pi/components/lazy-selectors.js +1 -1
  197. package/dist/integrations/pi/components/modal-frame.d.ts +5 -22
  198. package/dist/integrations/pi/components/modal-frame.js +3 -23
  199. package/dist/integrations/pi/components/owned-editor-ux.d.ts +4 -3
  200. package/dist/integrations/pi/components/prompt-input-port.d.ts +2 -19
  201. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +2 -1
  202. package/dist/integrations/pi/components/shell-editor-autocomplete.d.ts +3 -2
  203. package/dist/integrations/pi/components/shell-editor-autocomplete.js +1 -4
  204. package/dist/integrations/pi/components/shell-footer-status.d.ts +3 -3
  205. package/dist/integrations/pi/components/shell-footer-status.js +5 -4
  206. package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
  207. package/dist/integrations/pi/components/shell-presenters-info.d.ts +6 -8
  208. package/dist/integrations/pi/components/shell-presenters-info.js +6 -19
  209. package/dist/integrations/pi/components/shell-presenters-transcript.d.ts +1 -1
  210. package/dist/integrations/pi/components/shell-presenters-transcript.js +1 -1
  211. package/dist/integrations/pi/components/shell-session-info-reference.d.ts +2 -1
  212. package/dist/integrations/pi/components/shell-shared-facade.d.ts +33 -229
  213. package/dist/integrations/pi/components/shell-shared-facade.js +8 -1
  214. package/dist/integrations/pi/components/skills-command.d.ts +1 -9
  215. package/dist/integrations/pi/components/skills-command.js +5 -5
  216. package/dist/integrations/pi/components/submitted-prompt-adapter.d.ts +2 -5
  217. package/dist/integrations/pi/components/submitted-prompt-adapter.js +2 -16
  218. package/dist/integrations/pi/components/theme.d.ts +9 -2
  219. package/dist/integrations/pi/components/theme.js +17 -2
  220. package/dist/integrations/pi/components/thinking-selector-dialog.d.ts +2 -1
  221. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +2 -2
  222. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +1 -2
  223. package/dist/integrations/pi/components/upstream/components/session-footer.js +6 -8
  224. package/dist/integrations/pi/engine/adapter.d.ts +3 -6
  225. package/dist/integrations/pi/engine/adapter.js +4 -28
  226. package/dist/integrations/pi/engine/changelog.d.ts +2 -2
  227. package/dist/integrations/pi/engine/changelog.js +3 -3
  228. package/dist/integrations/pi/engine/compaction-progress.d.ts +2 -3
  229. package/dist/integrations/pi/engine/compaction-progress.js +1 -1
  230. package/dist/integrations/pi/engine/conformance.d.ts +2 -1
  231. package/dist/integrations/pi/engine/default-model-setting.d.ts +0 -2
  232. package/dist/integrations/pi/engine/default-model-setting.js +1 -2
  233. package/dist/integrations/pi/engine/diagnostics-state.d.ts +0 -1
  234. package/dist/integrations/pi/engine/diagnostics-state.js +0 -14
  235. package/dist/integrations/pi/engine/event-delivery.d.ts +2 -1
  236. package/dist/integrations/pi/engine/extension-ui-binding.d.ts +2 -1
  237. package/dist/integrations/pi/engine/host.js +2 -2
  238. package/dist/integrations/pi/engine/message-values.d.ts +0 -1
  239. package/dist/integrations/pi/engine/message-values.js +1 -1
  240. package/dist/integrations/pi/engine/pending-delivery.d.ts +0 -4
  241. package/dist/integrations/pi/engine/pending-delivery.js +3 -3
  242. package/dist/integrations/pi/engine/ports.d.ts +7 -1
  243. package/dist/integrations/pi/engine/ports.js +4 -0
  244. package/dist/integrations/pi/engine/project-trust-preflight.d.ts +2 -1
  245. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +3 -3
  246. package/dist/integrations/pi/engine/prompt-suggestions.js +0 -40
  247. package/dist/integrations/pi/engine/provider-authentication.d.ts +1 -1
  248. package/dist/integrations/pi/engine/public-main-entry.d.ts +1 -5
  249. package/dist/integrations/pi/engine/public-main-entry.js +1 -1
  250. package/dist/integrations/pi/engine/repository-pr-rest.d.ts +1 -9
  251. package/dist/integrations/pi/engine/repository-pr-rest.js +2 -2
  252. package/dist/integrations/pi/engine/repository-pr.d.ts +1 -3
  253. package/dist/integrations/pi/engine/repository-pr.js +1 -1
  254. package/dist/integrations/pi/engine/resource-catalog.d.ts +2 -1
  255. package/dist/integrations/pi/engine/session-integration.d.ts +1 -1
  256. package/dist/integrations/pi/engine/session-runtime.d.ts +4 -3
  257. package/dist/integrations/pi/engine/session-runtime.js +0 -2
  258. package/dist/integrations/pi/engine/settings-bridge.d.ts +0 -2
  259. package/dist/integrations/pi/engine/settings-bridge.js +1 -1
  260. package/dist/integrations/pi/engine/settings-port.d.ts +3 -2
  261. package/dist/integrations/pi/engine/transcript-projection.d.ts +2 -1
  262. package/dist/integrations/pi/engine/workflow-contexts.d.ts +1 -1
  263. package/dist/integrations/pi/engine/workflow-runner.d.ts +1 -1
  264. package/dist/integrations/pi/engine/workflow-runner.js +1 -1
  265. package/dist/integrations/pi/engine/workflow-support.d.ts +0 -6
  266. package/dist/integrations/pi/engine/workflow-support.js +4 -18
  267. package/dist/integrations/pi/engine/workflows.d.ts +5 -5
  268. package/dist/integrations/pi/session-presenters/components.d.ts +3 -0
  269. package/dist/integrations/pi/session-presenters/components.js +75 -0
  270. package/dist/integrations/pi/session-presenters/index.d.ts +1 -0
  271. package/dist/integrations/pi/session-presenters/index.js +1 -0
  272. package/dist/integrations/pi/session-presenters/presentation.d.ts +3 -0
  273. package/dist/integrations/pi/session-presenters/presentation.js +10 -0
  274. package/dist/integrations/pi/session-presenters/presenters.d.ts +2 -1
  275. package/dist/integrations/pi/session-presenters/presenters.js +3 -1
  276. package/dist/integrations/pi/tui-runtime/adapter.d.ts +2 -2
  277. package/dist/integrations/pi/tui-runtime/adapter.js +23 -32
  278. package/dist/integrations/pi/tui-runtime/contracts.d.ts +22 -166
  279. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +5 -40
  280. package/dist/integrations/pi/tui-runtime/index.d.ts +1 -0
  281. package/dist/integrations/pi/tui-runtime/index.js +1 -0
  282. package/dist/integrations/pi/tui-runtime/input-presentation-coordinator.d.ts +4 -6
  283. package/dist/integrations/pi/tui-runtime/overlay-geometry.d.ts +2 -8
  284. package/dist/integrations/pi/tui-runtime/overlay-geometry.js +3 -9
  285. package/dist/integrations/pi/tui-runtime/runtime-factory.d.ts +3 -0
  286. package/dist/integrations/pi/tui-runtime/runtime-factory.js +11 -0
  287. package/dist/product-identity.d.ts +4 -6
  288. package/dist/product-identity.js +6 -11
  289. package/dist/product-identity.json +1 -40
  290. package/dist/runtime-payload-inventory.json +0 -3
  291. package/dist/ui/components/index.d.ts +4 -4
  292. package/dist/ui/components/index.js +2 -2
  293. package/dist/ui/components/selection-copy.d.ts +0 -1
  294. package/dist/ui/components/selection-copy.js +0 -12
  295. package/dist/ui/components/submitted-prompt.d.ts +3 -13
  296. package/dist/ui/components/submitted-prompt.js +8 -41
  297. package/dist/ui/components/theme.d.ts +4 -19
  298. package/dist/ui/components/theme.js +6 -0
  299. package/dist/ui/components/transcript-viewport.d.ts +1 -3
  300. package/dist/ui/components/transcript-viewport.js +1 -4
  301. package/dist/ui/settings/declarations.d.ts +2 -97
  302. package/dist/ui/settings/declarations.js +2 -78
  303. package/dist/ui/settings/early-accent.js +1 -1
  304. package/dist/ui/settings/index.d.ts +3 -5
  305. package/dist/ui/settings/index.js +2 -3
  306. package/dist/ui/settings/manager.d.ts +0 -4
  307. package/dist/ui/settings/manager.js +6 -62
  308. package/dist/ui/settings/resolution.d.ts +6 -18
  309. package/dist/ui/settings/resolution.js +4 -103
  310. package/dist/ui/settings/sections.d.ts +0 -4
  311. package/dist/ui/settings/sections.js +1 -1
  312. package/docs/architecture/boundaries.md +23 -40
  313. package/docs/architecture/code-documentation.md +2 -2
  314. package/docs/architecture/internal-naming.md +11 -17
  315. package/docs/architecture/project-structure.md +13 -16
  316. package/docs/architecture/resource-and-data-policy.md +16 -31
  317. package/docs/architecture/toolchain.md +14 -19
  318. package/docs/architecture/ui-reference-provenance.md +2 -2
  319. package/docs/ci-release-runbook.md +5 -5
  320. package/docs/features/launch-profiles.md +11 -17
  321. package/docs/features/prompt-history.md +10 -11
  322. package/docs/local-worktree-cleanup.md +28 -1
  323. package/docs/manual-owned-ui-checkpoint.md +0 -1
  324. package/docs/validation.md +5 -11
  325. package/docs/worktree-link-recovery.md +6 -6
  326. package/package.json +7 -20
  327. package/bin/guardian.js +0 -42
  328. package/bin/supervisor.js +0 -7
  329. package/bin/tab-launch-context.d.ts +0 -27
  330. package/bin/tab-launch-context.js +0 -94
  331. package/dist/app/session-shell/resident-tab-coordinator.d.ts +0 -38
  332. package/dist/app/session-shell/resident-tab-coordinator.js +0 -77
  333. package/dist/cli/tabs-request.d.ts +0 -7
  334. package/dist/cli/tabs.d.ts +0 -14
  335. package/dist/cli/tabs.js +0 -151
  336. package/dist/composition/resident-tab-bridge.d.ts +0 -41
  337. package/dist/composition/resident-tab-bridge.js +0 -209
  338. package/dist/composition/utility-tab.d.ts +0 -28
  339. package/dist/composition/utility-tab.js +0 -244
  340. package/dist/features/owned-ui/plus-menu-dialog.d.ts +0 -28
  341. package/dist/features/owned-ui/plus-menu-dialog.js +0 -89
  342. package/dist/features/resident-tab/auto-name.d.ts +0 -11
  343. package/dist/features/resident-tab/auto-name.js +0 -44
  344. package/dist/features/resident-tab/index.d.ts +0 -5
  345. package/dist/features/resident-tab/index.js +0 -7
  346. package/dist/features/resident-tab/shortcut-bindings-file.d.ts +0 -8
  347. package/dist/features/resident-tab/shortcut-bindings-file.js +0 -40
  348. package/dist/features/resident-tab/shortcut-declarations.d.ts +0 -13
  349. package/dist/features/resident-tab/shortcut-declarations.js +0 -26
  350. package/dist/features/resident-tab/shortcut-projection.d.ts +0 -29
  351. package/dist/features/resident-tab/shortcut-projection.js +0 -64
  352. package/dist/features/resident-tab/status-deriver.d.ts +0 -10
  353. package/dist/features/resident-tab/status-deriver.js +0 -12
  354. package/dist/foundation/launch-guardian/exit-watcher.d.ts +0 -14
  355. package/dist/foundation/launch-guardian/exit-watcher.js +0 -103
  356. package/dist/foundation/launch-guardian/index.d.ts +0 -2
  357. package/dist/foundation/launch-guardian/index.js +0 -1
  358. package/dist/foundation/launch-guardian/main.d.ts +0 -39
  359. package/dist/foundation/launch-guardian/main.js +0 -232
  360. package/dist/foundation/lifecycle/commands.d.ts +0 -40
  361. package/dist/foundation/lifecycle/launch-instance.d.ts +0 -46
  362. package/dist/foundation/lifecycle/launch-instance.js +0 -134
  363. package/dist/foundation/lifecycle/native-claim-gate.d.ts +0 -5
  364. package/dist/foundation/lifecycle/native-claim-gate.js +0 -41
  365. package/dist/foundation/lifecycle/supervisor-startup.d.ts +0 -30
  366. package/dist/foundation/lifecycle/supervisor-startup.js +0 -106
  367. package/dist/foundation/process-containment/addon-containment.d.ts +0 -20
  368. package/dist/foundation/process-containment/addon-containment.js +0 -139
  369. package/dist/foundation/process-containment/addon-process-inspector.d.ts +0 -11
  370. package/dist/foundation/process-containment/addon-process-inspector.js +0 -36
  371. package/dist/foundation/process-containment/addon.d.ts +0 -47
  372. package/dist/foundation/process-containment/addon.js +0 -57
  373. package/dist/foundation/process-containment/artifact.d.ts +0 -1
  374. package/dist/foundation/process-containment/artifact.js +0 -35
  375. package/dist/foundation/process-containment/contracts.d.ts +0 -33
  376. package/dist/foundation/process-containment/contracts.js +0 -35
  377. package/dist/foundation/process-containment/index.d.ts +0 -9
  378. package/dist/foundation/process-containment/index.js +0 -7
  379. package/dist/foundation/process-containment/linux-process-inspector.d.ts +0 -7
  380. package/dist/foundation/process-containment/linux-process-inspector.js +0 -27
  381. package/dist/foundation/process-containment/native-process-inspector.d.ts +0 -4
  382. package/dist/foundation/process-containment/native-process-inspector.js +0 -21
  383. package/dist/foundation/protocol/client.d.ts +0 -18
  384. package/dist/foundation/protocol/client.js +0 -130
  385. package/dist/foundation/protocol/index.d.ts +0 -3
  386. package/dist/foundation/protocol/index.js +0 -2
  387. package/dist/foundation/protocol/messages.d.ts +0 -90
  388. package/dist/foundation/protocol/messages.js +0 -100
  389. package/dist/foundation/release/cohort-selection.d.ts +0 -33
  390. package/dist/foundation/release/cohort-selection.js +0 -67
  391. package/dist/foundation/release/endpoint-lock.d.ts +0 -2
  392. package/dist/foundation/release/endpoint-lock.js +0 -37
  393. package/dist/foundation/release/endpoint-recovery.d.ts +0 -10
  394. package/dist/foundation/release/endpoint-recovery.js +0 -45
  395. package/dist/foundation/release/endpoints.d.ts +0 -32
  396. package/dist/foundation/release/endpoints.js +0 -152
  397. package/dist/foundation/release/prepared-update-activation.d.ts +0 -3
  398. package/dist/foundation/release/prepared-update-activation.js +0 -27
  399. package/dist/foundation/release/process-cleanup.d.ts +0 -14
  400. package/dist/foundation/release/process-cleanup.js +0 -76
  401. package/dist/foundation/release/supervisor-identity.d.ts +0 -15
  402. package/dist/foundation/release/supervisor-identity.js +0 -63
  403. package/dist/foundation/resident-tabs/boot-identity.d.ts +0 -6
  404. package/dist/foundation/resident-tabs/boot-identity.js +0 -16
  405. package/dist/foundation/resident-tabs/bounded-host-command.d.ts +0 -20
  406. package/dist/foundation/resident-tabs/bounded-host-command.js +0 -62
  407. package/dist/foundation/resident-tabs/bridge-client.d.ts +0 -73
  408. package/dist/foundation/resident-tabs/bridge-client.js +0 -327
  409. package/dist/foundation/resident-tabs/continuity.d.ts +0 -12
  410. package/dist/foundation/resident-tabs/continuity.js +0 -63
  411. package/dist/foundation/resident-tabs/doctor.d.ts +0 -28
  412. package/dist/foundation/resident-tabs/doctor.js +0 -166
  413. package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +0 -27
  414. package/dist/foundation/resident-tabs/draft-checkpoint.js +0 -145
  415. package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +0 -36
  416. package/dist/foundation/resident-tabs/ensure-terminal-host.js +0 -151
  417. package/dist/foundation/resident-tabs/fault-injection.d.ts +0 -8
  418. package/dist/foundation/resident-tabs/fault-injection.js +0 -26
  419. package/dist/foundation/resident-tabs/fixture-control.d.ts +0 -7
  420. package/dist/foundation/resident-tabs/fixture-control.js +0 -35
  421. package/dist/foundation/resident-tabs/host-entry.js +0 -17
  422. package/dist/foundation/resident-tabs/index.d.ts +0 -15
  423. package/dist/foundation/resident-tabs/index.js +0 -10
  424. package/dist/foundation/resident-tabs/maintenance.d.ts +0 -39
  425. package/dist/foundation/resident-tabs/maintenance.js +0 -75
  426. package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +0 -34
  427. package/dist/foundation/resident-tabs/progress-observation-schema.js +0 -1
  428. package/dist/foundation/resident-tabs/progress-observation.d.ts +0 -4
  429. package/dist/foundation/resident-tabs/progress-observation.js +0 -150
  430. package/dist/foundation/resident-tabs/prompt-journal.d.ts +0 -63
  431. package/dist/foundation/resident-tabs/prompt-journal.js +0 -213
  432. package/dist/foundation/resident-tabs/protocol.d.ts +0 -12
  433. package/dist/foundation/resident-tabs/protocol.js +0 -195
  434. package/dist/foundation/resident-tabs/recovery.d.ts +0 -26
  435. package/dist/foundation/resident-tabs/recovery.js +0 -205
  436. package/dist/foundation/resident-tabs/release-holds.d.ts +0 -28
  437. package/dist/foundation/resident-tabs/release-holds.js +0 -78
  438. package/dist/foundation/resident-tabs/routes.d.ts +0 -5
  439. package/dist/foundation/resident-tabs/routes.js +0 -5
  440. package/dist/foundation/resident-tabs/routing.d.ts +0 -11
  441. package/dist/foundation/resident-tabs/routing.js +0 -10
  442. package/dist/foundation/resident-tabs/runtime-control.d.ts +0 -38
  443. package/dist/foundation/resident-tabs/runtime-control.js +0 -74
  444. package/dist/foundation/resident-tabs/session-sync.d.ts +0 -14
  445. package/dist/foundation/resident-tabs/session-sync.js +0 -37
  446. package/dist/foundation/resident-tabs/settings.d.ts +0 -16
  447. package/dist/foundation/resident-tabs/settings.js +0 -60
  448. package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +0 -14
  449. package/dist/foundation/resident-tabs/terminal-host-artifact.js +0 -78
  450. package/dist/foundation/resident-tabs/zip-archive.d.ts +0 -9
  451. package/dist/foundation/resident-tabs/zip-archive.js +0 -56
  452. package/dist/foundation/storage/control-store.d.ts +0 -20
  453. package/dist/foundation/storage/control-store.js +0 -331
  454. package/dist/foundation/storage/index.d.ts +0 -1
  455. package/dist/foundation/storage/index.js +0 -1
  456. package/dist/foundation/supervision/index.d.ts +0 -3
  457. package/dist/foundation/supervision/index.js +0 -3
  458. package/dist/foundation/supervision/main.d.ts +0 -1
  459. package/dist/foundation/supervision/main.js +0 -86
  460. package/dist/foundation/supervision/paths.d.ts +0 -1
  461. package/dist/foundation/supervision/paths.js +0 -1
  462. package/dist/foundation/supervision/server.d.ts +0 -46
  463. package/dist/foundation/supervision/server.js +0 -611
  464. package/dist/integrations/pi/components/components.d.ts +0 -4
  465. package/dist/integrations/pi/components/components.js +0 -48
  466. package/dist/integrations/pi/components/conformance.d.ts +0 -18
  467. package/dist/integrations/pi/components/conformance.js +0 -70
  468. package/dist/integrations/pi/components/shell-components.d.ts +0 -7
  469. package/dist/integrations/pi/components/shell-components.js +0 -7
  470. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +0 -33
  471. package/dist/integrations/pi/components/upstream/theme/theme-controller.js +0 -114
  472. package/dist/integrations/pi/engine/offline-settings-port.d.ts +0 -23
  473. package/dist/integrations/pi/engine/offline-settings-port.js +0 -54
  474. package/dist/native/darwin-arm64/manifest.json +0 -23
  475. package/dist/native/darwin-arm64/process-guardian.node +0 -0
  476. package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10500
  477. package/dist/native/darwin-arm64/terminal-host.manifest.json +0 -46
  478. package/dist/native/darwin-arm64/terminal-host.node +0 -0
  479. package/dist/native/darwin-x64/manifest.json +0 -23
  480. package/dist/native/darwin-x64/process-guardian.node +0 -0
  481. package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10737
  482. package/dist/native/darwin-x64/terminal-host.manifest.json +0 -46
  483. package/dist/native/darwin-x64/terminal-host.node +0 -0
  484. package/dist/native/linux-x64/manifest.json +0 -23
  485. package/dist/native/linux-x64/process-guardian.node +0 -0
  486. package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -11226
  487. package/dist/native/linux-x64/terminal-host.manifest.json +0 -46
  488. package/dist/native/linux-x64/terminal-host.node +0 -0
  489. package/dist/native/win32-x64/manifest.json +0 -23
  490. package/dist/native/win32-x64/process-guardian.node +0 -0
  491. package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +0 -10757
  492. package/dist/native/win32-x64/terminal-host.manifest.json +0 -46
  493. package/dist/native/win32-x64/terminal-host.node +0 -0
  494. package/dist/ui/settings/migrations.d.ts +0 -19
  495. package/dist/ui/settings/migrations.js +0 -209
  496. package/dist/ui/settings/progress-palette.generated.d.ts +0 -139
  497. package/dist/ui/settings/progress-palette.generated.js +0 -139
  498. package/docs/architecture/evidence/resident-tabs/linux-x64.md +0 -37
  499. package/docs/architecture/evidence/resident-tabs/macos-arm64.md +0 -36
  500. package/docs/architecture/evidence/resident-tabs/macos-x64.md +0 -35
  501. package/docs/architecture/evidence/resident-tabs/windows-x64.md +0 -36
  502. package/docs/architecture/evidence/terminal-host-spike/manual-one-pane-terminal-host.md +0 -70
  503. package/docs/architecture/evidence/terminal-host-spike/manual-two-by-two-basic-terminal-host.md +0 -32
  504. package/docs/architecture/evidence/terminal-host-spike/milestone-baseline.json +0 -115
  505. package/docs/architecture/evidence/terminal-host-spike/owned-ui-foundation-prerequisite.json +0 -48
  506. package/docs/architecture/evidence/terminal-host-spike/terminal-host-provenance.json +0 -125
  507. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-1.json +0 -56
  508. package/docs/architecture/evidence/terminal-host-spike/terminal-host-task-5-3.json +0 -174
  509. package/docs/architecture/evidence/terminal-host-spike/terminal-spike-acceptance-record.json +0 -18
  510. package/docs/architecture/native-fixture-isolation.md +0 -23
  511. package/docs/architecture/process-guardian-provenance.md +0 -36
  512. package/docs/architecture/resident-tabs-requirements.md +0 -18
  513. package/docs/architecture/resident-tabs.md +0 -668
  514. package/docs/architecture/terminal-host-proof-gate.md +0 -34
  515. package/docs/architecture/terminal-host-provenance.md +0 -81
  516. package/docs/architecture/terminal-host-spike-evidence.md +0 -39
  517. package/docs/launch-recovery.md +0 -23
  518. package/docs/manual-launch-instance-acceptance.md +0 -43
  519. package/docs/manual-resident-tabs-acceptance.md +0 -51
  520. /package/dist/{cli/tabs-request.js → contracts/owned-ui/shell-components.js} +0 -0
  521. /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.d.ts +0 -0
  522. /package/dist/{foundation/release → contracts/presentation}/progress-palette.generated.js +0 -0
  523. /package/dist/{foundation/lifecycle/commands.js → contracts/presentation/terminal.js} +0 -0
  524. /package/dist/{foundation/resident-tabs/host-entry.d.ts → contracts/presentation/theme.js} +0 -0
@@ -1,6 +1,3 @@
1
- import { createPiShellArmin, createPiShellEarendilAnnouncement, } from "../../integrations/pi/components/shell-selectors-dialogs.js";
2
- import { createPiShellChangelog, createPiShellHotkeys, createPiShellSessionInfo, renderPiShellCommandMessage, renderPiShellStatusText, } from "../../integrations/pi/components/shell-presenters-info.js";
3
- import { piShellHyperlink } from "../../integrations/pi/components/shell-shared-facade.js";
4
1
  /**
5
2
  * Presents workflow results: bare A1 answers in the dock notice, the pinned profile appends
6
3
  * transcript-anchored output, and consecutive status lines at the same anchor replace each other.
@@ -33,7 +30,7 @@ export class WorkflowOutput {
33
30
  }
34
31
  const id = this.#appendAnchored(width => [
35
32
  "",
36
- ...renderPiShellStatusText(this.#statusMessages.get(id) ?? message, width),
33
+ ...this.#ports.components.info.statusText(this.#statusMessages.get(id) ?? message, width),
37
34
  ]);
38
35
  this.#statusMessages.set(id, message);
39
36
  this.#lastStatusId = id;
@@ -53,7 +50,7 @@ export class WorkflowOutput {
53
50
  }
54
51
  this.#lastStatusId = undefined;
55
52
  const presentation = { kind: message.kind, message: message.message };
56
- this.#appendAnchored(width => renderPiShellCommandMessage(presentation, width, this.#ports.outputPad()));
53
+ this.#appendAnchored(width => this.#ports.components.info.commandMessage(presentation, width, this.#ports.outputPad()));
57
54
  }
58
55
  appendResult(result, errorCode) {
59
56
  if (result.messages !== undefined) {
@@ -86,16 +83,17 @@ export class WorkflowOutput {
86
83
  if (result.outcome === "completed" && (result.command === "new" || result.command === "name" || result.command === "debug")) {
87
84
  this.#lastStatusId = undefined;
88
85
  const presentation = { kind: result.command, message: result.message, ...(result.detail === undefined ? {} : { detail: result.detail }) };
89
- this.#appendAnchored(width => renderPiShellCommandMessage(presentation, width, this.#ports.outputPad()));
86
+ this.#appendAnchored(width => this.#ports.components.info.commandMessage(presentation, width, this.#ports.outputPad()));
90
87
  return;
91
88
  }
92
89
  if (result.outcome === "completed" && this.#appendAnnouncement(result.command))
93
90
  return;
94
91
  // Rationale: the pinned engine links both share URLs; the workflow result carries the plain URLs.
92
+ const link = (url) => this.#ports.components.text.hyperlink(url);
95
93
  const message = result.command !== "share" ? result.message
96
- : result.detail ? `${linkShareUrl(result.message)}\nGist: ${piShellHyperlink(result.detail)}`
94
+ : result.detail ? `${linkShareUrl(result.message, link)}\nGist: ${link(result.detail)}`
97
95
  // Protocol: Radius shares carry only the artifact URL.
98
- : linkShareUrl(result.message);
96
+ : linkShareUrl(result.message, link);
99
97
  this.appendStatus(message);
100
98
  }
101
99
  /** Drops every anchored output and the status-replacement chain. */
@@ -108,20 +106,20 @@ export class WorkflowOutput {
108
106
  #appendPresentation(result) {
109
107
  if (result.command === "session" && result.presentation?.kind === "session-info") {
110
108
  this.#lastStatusId = undefined;
111
- const sessionInfo = createPiShellSessionInfo(result.presentation);
109
+ const sessionInfo = this.#ports.components.info.sessionInfo(result.presentation);
112
110
  this.#appendAnchored(width => sessionInfo.render(width), () => sessionInfo.dispose?.());
113
111
  return true;
114
112
  }
115
113
  if (result.command === "hotkeys") {
116
114
  this.#lastStatusId = undefined;
117
115
  const presentation = this.#ports.hotkeysPresentation();
118
- const hotkeys = createPiShellHotkeys(presentation.bindings, presentation.getShortcuts, presentation.profile, presentation.residentTabs);
116
+ const hotkeys = this.#ports.components.info.hotkeys(presentation.bindings, presentation.getShortcuts, presentation.profile);
119
117
  this.#appendAnchored(width => hotkeys.render(width), () => hotkeys.dispose?.());
120
118
  return true;
121
119
  }
122
120
  if (result.command === "changelog") {
123
121
  this.#lastStatusId = undefined;
124
- const changelog = createPiShellChangelog(result.detail ?? "No changelog entries found.");
122
+ const changelog = this.#ports.components.info.changelog(result.detail ?? "No changelog entries found.");
125
123
  this.#appendAnchored(width => changelog.render(width), () => changelog.dispose?.());
126
124
  return true;
127
125
  }
@@ -131,13 +129,13 @@ export class WorkflowOutput {
131
129
  #appendAnnouncement(command) {
132
130
  if (command === "arminsayshi") {
133
131
  this.#lastStatusId = undefined;
134
- const armin = createPiShellArmin(this.#ports.componentRuntime);
132
+ const armin = this.#ports.components.info.armin(this.#ports.componentRuntime);
135
133
  this.#appendAnchored(width => ["", ...armin.render(width)], () => armin.dispose?.());
136
134
  return true;
137
135
  }
138
136
  if (command === "dementedelves") {
139
137
  this.#lastStatusId = undefined;
140
- const announcement = createPiShellEarendilAnnouncement();
138
+ const announcement = this.#ports.components.info.earendilAnnouncement();
141
139
  this.#appendAnchored(width => ["", ...announcement.render(width)], () => announcement.dispose?.());
142
140
  return true;
143
141
  }
@@ -168,7 +166,7 @@ export class WorkflowOutput {
168
166
  }
169
167
  }
170
168
  /** "Share URL: <url>" with the URL made clickable; other share wordings pass through unchanged. */
171
- function linkShareUrl(message) {
169
+ function linkShareUrl(message, link) {
172
170
  const match = /^Share URL: (\S+)$/.exec(message);
173
- return match === null ? message : `Share URL: ${piShellHyperlink(match[1])}`;
171
+ return match === null ? message : `Share URL: ${link(match[1])}`;
174
172
  }
@@ -20,6 +20,4 @@ export interface WorkflowSelectors {
20
20
  * has opened, or undefined when the request goes to the engine. The decision itself is synchronous,
21
21
  * so a request that goes to the engine reaches it in the same turn.
22
22
  */
23
- export declare function openWorkflowSelector(request: OwnedUiWorkflowRequest, selectors: WorkflowSelectors, options: {
24
- readonly residentTab: boolean;
25
- }): OwnedUiCommandResult | Promise<OwnedUiCommandResult> | undefined;
23
+ export declare function openWorkflowSelector(request: OwnedUiWorkflowRequest, selectors: WorkflowSelectors): OwnedUiCommandResult | Promise<OwnedUiCommandResult> | undefined;
@@ -26,13 +26,10 @@ const SELECTOR_ROUTES = [
26
26
  * has opened, or undefined when the request goes to the engine. The decision itself is synchronous,
27
27
  * so a request that goes to the engine reaches it in the same turn.
28
28
  */
29
- export function openWorkflowSelector(request, selectors, options) {
29
+ export function openWorkflowSelector(request, selectors) {
30
30
  const route = SELECTOR_ROUTES.find(candidate => candidate.command === request.command && candidate.pending(request));
31
31
  if (route === undefined)
32
32
  return undefined;
33
- if (route.command === "settings" && options.residentTab) {
34
- return { outcome: "rejected", diagnostic: "Settings is available from the global Settings tab." };
35
- }
36
33
  const completed = { outcome: "completed", diagnostic: null };
37
34
  const opened = route.open(selectors, request);
38
35
  return opened instanceof Promise ? opened.then(() => completed) : completed;
@@ -1,8 +1,7 @@
1
- import { type InteractiveLaunchIntent, type InteractiveLaunchMode, type LaunchProfileId, type SessionSelection } from "../features/launch/index.js";
1
+ import { type InteractiveLaunchIntent, type LaunchProfileId, type SessionSelection } from "../features/launch/index.js";
2
2
  import type { CliCapabilities } from "./capabilities.js";
3
3
  import type { PackageCommandRequest } from "./packages.js";
4
4
  import type { SessionContextRequest } from "./session-context.js";
5
- import type { TabsRequest } from "./tabs-request.js";
6
5
  import { type PackageCliVerb, type PackageCommandNamespace, type PackageSyntaxDiagnostic } from "./package-messages.js";
7
6
  export type UpdateChannel = "stable" | "next";
8
7
  export interface CliHandlers {
@@ -11,7 +10,6 @@ export interface CliHandlers {
11
10
  readonly update: (channel: UpdateChannel, target?: string) => Promise<number>;
12
11
  readonly packages: (request: PackageCommandRequest) => Promise<number>;
13
12
  readonly sessionContext: (request: SessionContextRequest) => Promise<number>;
14
- readonly tabs: (request: TabsRequest) => Promise<number>;
15
13
  /** Removes A1 from the machine; absent in hosts that cannot uninstall. */
16
14
  readonly uninstall?: (request: {
17
15
  readonly yes: boolean;
@@ -24,8 +22,6 @@ export interface CliOutput {
24
22
  }
25
23
  export declare function cliUsage(capabilities: CliCapabilities): string;
26
24
  export declare function cliHelp(capabilities: CliCapabilities): string;
27
- /** Focused help for the resident-tab maintenance forms; printing it contacts no host. */
28
- export declare function tabsHelp(): string;
29
25
  export declare function dispatchCli(arguments_: readonly string[], handlers: CliHandlers, output: CliOutput, capabilities: CliCapabilities): Promise<number>;
30
26
  export type CliCommand = {
31
27
  readonly kind: "noop";
@@ -42,7 +38,6 @@ export type CliCommand = {
42
38
  } | {
43
39
  readonly kind: "launch";
44
40
  readonly profileId: LaunchProfileId;
45
- readonly launchMode: InteractiveLaunchMode;
46
41
  readonly sessionSelection?: SessionSelection;
47
42
  } | {
48
43
  readonly kind: "version";
@@ -56,11 +51,6 @@ export type CliCommand = {
56
51
  } | {
57
52
  readonly kind: "session-context";
58
53
  readonly request: SessionContextRequest;
59
- } | {
60
- readonly kind: "tabs";
61
- readonly request: TabsRequest;
62
- } | {
63
- readonly kind: "tabs-help";
64
54
  } | {
65
55
  readonly kind: "uninstall";
66
56
  readonly request: {
@@ -6,9 +6,6 @@ export function cliUsage(capabilities) {
6
6
  "",
7
7
  "--session <path|id>",
8
8
  "--session-dir <dir> --session <path|id>",
9
- "solo",
10
- "solo --session <path|id>",
11
- "solo --session-dir <dir> --session <path|id>",
12
9
  ...(capabilities.developmentComparison ? ["pi"] : []),
13
10
  "help",
14
11
  "version",
@@ -26,10 +23,6 @@ export function cliUsage(capabilities) {
26
23
  "session worktrees",
27
24
  "session link-worktree <path>",
28
25
  "session unlink-worktree",
29
- "tabs",
30
- "tabs stop <id>|--all",
31
- "tabs host status|stop",
32
- "tabs doctor",
33
26
  ]);
34
27
  }
35
28
  export function cliHelp(capabilities) {
@@ -39,9 +32,6 @@ export function cliHelp(capabilities) {
39
32
  ` ${command}`,
40
33
  ` ${command} --session <path|id>`,
41
34
  ` ${command} --session-dir <dir> --session <path|id>`,
42
- ` ${command} solo`,
43
- ` ${command} solo --session <path|id>`,
44
- ` ${command} solo --session-dir <dir> --session <path|id>`,
45
35
  ...(capabilities.developmentComparison ? [` ${command} pi`] : []),
46
36
  ` ${command} help`,
47
37
  ` ${command} version`,
@@ -66,32 +56,9 @@ export function cliHelp(capabilities) {
66
56
  ` ${command} session link-worktree <path>`,
67
57
  ` ${command} session unlink-worktree`,
68
58
  "",
69
- "Tabs:",
70
- ` ${command} tabs`,
71
- ` ${command} tabs stop <id>|--all`,
72
- ` ${command} tabs host status|stop`,
73
- ` ${command} tabs doctor`,
74
- "",
75
59
  ].join("\n");
76
60
  }
77
- /** Focused help for the resident-tab maintenance forms; printing it contacts no host. */
78
- export function tabsHelp() {
79
- const command = PRODUCT_TEXT.commandName;
80
- return [
81
- "Resident tabs:",
82
- ` ${command} tabs List running tabs`,
83
- ` ${command} tabs stop <id> Stop one tab; its session stays resumable`,
84
- ` ${command} tabs stop --all Stop every tab and keep the host`,
85
- ` ${command} tabs host status Show host identity, limits, and health counters`,
86
- ` ${command} tabs host stop Stop every tab and the host`,
87
- ` ${command} tabs doctor Write a redacted diagnostic bundle`,
88
- "",
89
- "Options:",
90
- " --json Print the versioned machine-readable report",
91
- "",
92
- ].join("\n");
93
- }
94
- const PROFILE_WORDS = new Set(["pi", "solo"]);
61
+ const PROFILE_WORDS = new Set(["pi"]);
95
62
  export async function dispatchCli(arguments_, handlers, output, capabilities) {
96
63
  const command = parseCliCommand(arguments_, capabilities);
97
64
  if (command.kind === "noop")
@@ -113,31 +80,25 @@ export async function dispatchCli(arguments_, handlers, output, capabilities) {
113
80
  return 2;
114
81
  }
115
82
  if (command.kind === "launch")
116
- return await handlers.launch(interactiveLaunchIntent(command.profileId, command.sessionSelection, command.launchMode));
83
+ return await handlers.launch(interactiveLaunchIntent(command.profileId, command.sessionSelection));
117
84
  if (command.kind === "version")
118
85
  return await handlers.version();
119
86
  if (command.kind === "packages")
120
87
  return await handlers.packages(command.request);
121
88
  if (command.kind === "session-context")
122
89
  return await handlers.sessionContext(command.request);
123
- if (command.kind === "tabs-help") {
124
- output.stdout(tabsHelp());
125
- return 0;
126
- }
127
- if (command.kind === "tabs")
128
- return await handlers.tabs(command.request);
129
90
  if (command.kind === "uninstall")
130
91
  return handlers.uninstall ? await handlers.uninstall(command.request) : 2;
131
92
  return await handlers.update(command.channel, command.target);
132
93
  }
133
94
  export function parseCliCommand(arguments_, capabilities) {
134
95
  if (arguments_.length === 0)
135
- return { kind: "launch", profileId: "a1", launchMode: "tabs" };
96
+ return { kind: "launch", profileId: "a1" };
136
97
  const [command, ...rest] = arguments_;
137
98
  if (command === "--session" || command === "--session-dir") {
138
99
  try {
139
100
  const sessionSelection = parseSessionSelection(arguments_);
140
- return { kind: "launch", profileId: "a1", launchMode: "tabs", ...(sessionSelection === undefined ? {} : { sessionSelection }) };
101
+ return { kind: "launch", profileId: "a1", ...(sessionSelection === undefined ? {} : { sessionSelection }) };
141
102
  }
142
103
  catch (error) {
143
104
  return { kind: "error", message: PRODUCT_TEXT.diagnostic(`could not parse session launch: ${error instanceof Error ? error.message : String(error)}`) };
@@ -158,66 +119,18 @@ export function parseCliCommand(arguments_, capabilities) {
158
119
  if (command === "pi") {
159
120
  if (rest.length > 0)
160
121
  return parsePackageCommand(rest, "pi");
161
- return capabilities.developmentComparison ? { kind: "launch", profileId: "pi", launchMode: "solo" } : { kind: "noop" };
162
- }
163
- if (command === "solo") {
164
- if (rest.length === 0)
165
- return { kind: "launch", profileId: "a1", launchMode: "solo" };
166
- try {
167
- const sessionSelection = parseSessionSelection(rest);
168
- return { kind: "launch", profileId: "a1", launchMode: "solo", ...(sessionSelection === undefined ? {} : { sessionSelection }) };
169
- }
170
- catch (error) {
171
- return { kind: "error", message: PRODUCT_TEXT.diagnostic(`could not parse solo session launch: ${error instanceof Error ? error.message : String(error)}`) };
172
- }
122
+ return capabilities.developmentComparison ? { kind: "launch", profileId: "pi" } : { kind: "noop" };
173
123
  }
174
124
  if (command === "update")
175
125
  return parseUpdate(rest, capabilities.runningChannel ?? "stable");
176
126
  if (command === "session")
177
127
  return parseSessionContext(rest);
178
- if (command === "tabs")
179
- return parseTabs(rest);
180
128
  if (command?.startsWith("update:"))
181
129
  return { kind: "noop" };
182
130
  // Rationale: unsupported and reserved command spaces are deliberately quiet. Help is
183
131
  // explicit, and a typo must never start an interactive or maintenance path.
184
132
  return { kind: "noop" };
185
133
  }
186
- /** Parses `a1 tabs` before any I/O; a malformed form fails with one line and contacts no host. */
187
- function parseTabs(rest) {
188
- if (rest.some(value => value === "--help" || value === "-h"))
189
- return { kind: "tabs-help" };
190
- const json = rest.includes("--json");
191
- const words = rest.filter(value => value !== "--json");
192
- const fail = (detail) => ({ kind: "error", message: PRODUCT_TEXT.diagnostic(`could not parse tabs: ${detail}`) });
193
- const [action, value, extra] = words;
194
- if (action === undefined)
195
- return { kind: "tabs", request: { action: "list", json } };
196
- if (action === "stop") {
197
- if (value === undefined)
198
- return fail("stop requires a tab id or --all.");
199
- if (extra !== undefined)
200
- return fail("stop accepts one tab id or --all.");
201
- if (value === "--all")
202
- return { kind: "tabs", request: { action: "stop-all", json } };
203
- if (value.startsWith("-"))
204
- return fail(`unknown option ${value}.`);
205
- return { kind: "tabs", request: { action: "stop", tabId: value, json } };
206
- }
207
- if (action === "host") {
208
- if (extra !== undefined || (value !== "status" && value !== "stop"))
209
- return fail("host accepts status or stop.");
210
- return { kind: "tabs", request: { action: value === "status" ? "host-status" : "host-stop", json } };
211
- }
212
- if (action === "doctor") {
213
- if (value !== undefined)
214
- return fail("doctor does not accept arguments.");
215
- return { kind: "tabs", request: { action: "doctor", json } };
216
- }
217
- if (action.startsWith("-"))
218
- return fail(`unknown option ${action}.`);
219
- return fail(`unknown subcommand ${action}; use list, stop, host, or doctor.`);
220
- }
221
134
  function parseSessionContext(rest) {
222
135
  const [action, value, extra] = rest;
223
136
  if (action === "link-worktree") {
@@ -19,7 +19,6 @@ export type PackageSyntaxDiagnostic = {
19
19
  readonly message: string;
20
20
  };
21
21
  type MessageStyle = Pick<typeof chalk, "red" | "dim" | "bold">;
22
- export declare function packageCommandUsage(verb: PackageCliVerb, namespace?: PackageCommandNamespace): string;
23
22
  /** Diagnostic facts stay unstyled until the terminal boundary decides color support. */
24
23
  export declare function renderPackageSyntax(diagnostic: PackageSyntaxDiagnostic, namespace?: PackageCommandNamespace, style?: MessageStyle): string;
25
24
  /** Pi's help layout, with unsupported options and examples deliberately absent. */
@@ -2,7 +2,7 @@
2
2
  // at 914cf1472e715297caa30db4b9535d534a9eb718 (MIT); grammar is restricted to A1's supported subset.
3
3
  import chalk from "chalk";
4
4
  import { PRODUCT_TEXT } from "../product-identity.js";
5
- export function packageCommandUsage(verb, namespace = "pi") {
5
+ function packageCommandUsage(verb, namespace = "pi") {
6
6
  const command = namespace === "direct"
7
7
  ? `${PRODUCT_TEXT.commandName} ${verb}`
8
8
  : `${PRODUCT_TEXT.commandName} pi ${verb}`;
@@ -1,6 +1,6 @@
1
1
  import { type SessionContextRequest } from "../features/launch/index.js";
2
2
  export type { SessionContextRequest } from "../features/launch/index.js";
3
- export interface SessionContextCommandOptions {
3
+ interface SessionContextCommandOptions {
4
4
  readonly environment?: NodeJS.ProcessEnv;
5
5
  readonly inspectProcess?: (pid: number) => Promise<{
6
6
  readonly pid: number;
@@ -1,4 +1,5 @@
1
1
  import { PRIMARY_SESSION_AGENT_ID, updateSessionRepositoryContext, } from "../features/launch/index.js";
2
+ import { inspectLiveProcess } from "../foundation/lifecycle/index.js";
2
3
  import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../product-identity.js";
3
4
  /** Apply repository context only when invoked by an exact live A1 shell-tool runtime. */
4
5
  export async function runSessionContextCommand(request, options = {}) {
@@ -11,9 +12,7 @@ export async function runSessionContextCommand(request, options = {}) {
11
12
  return 2;
12
13
  }
13
14
  try {
14
- if (options.inspectProcess === undefined)
15
- throw Object.assign(new Error("native process identity inspection is unavailable"), { code: "process-inspection-unavailable" });
16
- const outcome = await updateSessionRepositoryContext({ sessionId: identity.sessionId, sessionFile: identity.sessionFile }, request, { runtimeId: identity.runtimeId, inspectProcess: options.inspectProcess });
15
+ const outcome = await updateSessionRepositoryContext({ sessionId: identity.sessionId, sessionFile: identity.sessionFile }, request, { runtimeId: identity.runtimeId, inspectProcess: options.inspectProcess ?? inspectLiveProcess });
17
16
  if (outcome.kind === "unlinked")
18
17
  stdout("Session worktree context cleared.\n");
19
18
  if (outcome.kind === "linked")
@@ -42,16 +41,15 @@ function readIdentity(environment) {
42
41
  return null;
43
42
  return { sessionId, sessionFile, runtimeId };
44
43
  }
45
- /** Known coordination failures must not expose native paths or another session's identity. */
44
+ /** Known coordination failures must not expose internal paths or another session's identity. */
46
45
  function recoveryDetail(code) {
47
46
  const details = {
48
47
  "worktree-claim-busy": "another mutation is still running; runtime registration retries automatically, so retry this link shortly",
49
48
  "worktree-legacy-recovery-required": "an older-format worktree lock requires safe recovery; stop all older A1 processes, move only session-worktree-claims/mutation.lock to a backup while stopped, then start the updated A1; keep all sessions and worktree claims",
50
- "worktree-coordination-unavailable": "native worktree coordination is unavailable; repair or update this A1 installation, then retry",
49
+ "worktree-coordination-unavailable": "worktree coordination is unavailable; repair or update this A1 installation, then retry",
51
50
  "worktree-coordination-io": "worktree coordination could not access its files; check A1 data-directory permissions and filesystem availability, then retry",
52
51
  "worktree-coordination-boundary": "unexpected worktree coordination entry; retain it for inspection, and do not delete the claim store",
53
- "process-inspection-unavailable": "native process inspection is unavailable; repair the A1 installation before retrying; no ownership was overridden",
54
- "session-runtime-unverifiable": "runtime identity could not be verified; check native process inspection and retry; no ownership was overridden",
52
+ "session-runtime-unverifiable": "runtime identity could not be verified; retry; no ownership was overridden",
55
53
  "session-runtime-unavailable": "this session has not registered yet; updated A1 retries registration automatically; retry shortly and follow any specific coordination error if it persists",
56
54
  "session-runtime-stopped": "this shell belongs to a stopped runtime; resume in a running A1 session before linking",
57
55
  "worktree-active-in-another-session": "another live agent owns this worktree; use a different worktree or wait for its owner to release it",
@@ -1,11 +1,10 @@
1
- import { type ProductPaths } from "../foundation/lifecycle/index.js";
2
- export interface UninstallRequest {
1
+ interface UninstallRequest {
3
2
  /** Skips the program-removal question; user data is still kept unless `purge` is set. */
4
3
  readonly yes: boolean;
5
4
  /** Also removes sessions, settings, sign-ins, and prompt history. */
6
5
  readonly purge: boolean;
7
6
  }
8
- export interface UninstallOutput {
7
+ interface UninstallOutput {
9
8
  readonly stdout: (message: string) => void;
10
9
  readonly stderr: (message: string) => void;
11
10
  }
@@ -17,14 +16,12 @@ export interface UninstallDependencies {
17
16
  readonly home?: string;
18
17
  /** Asks one yes/no question; absent when no terminal can answer. */
19
18
  readonly confirm?: (question: string) => Promise<boolean>;
20
- readonly stopResidentHost?: (releaseRoot: string, paths: ProductPaths, profileRoot: string) => Promise<void>;
21
- readonly stopSupervisors?: (paths: ProductPaths) => Promise<void>;
22
19
  readonly removePackage?: (packageRoot: string, environment: NodeJS.ProcessEnv) => Promise<void>;
23
20
  readonly remove?: (path: string) => Promise<void>;
24
21
  }
25
22
  /**
26
- * Removes A1 from this machine: resident hosts and supervisors stop first, through each
27
- * release's own maintenance contract, then the global package and every A1-owned state root go.
23
+ * Removes A1 from this machine: the global package goes first, then every A1-owned state root.
28
24
  * Sessions and settings live in the profile home and leave only with explicit consent.
29
25
  */
30
26
  export declare function runUninstall(request: UninstallRequest, dependencies: UninstallDependencies): Promise<number>;
27
+ export {};
@@ -1,25 +1,19 @@
1
1
  import { spawn } from "node:child_process";
2
- import { readdir, rm } from "node:fs/promises";
2
+ import { rm } from "node:fs/promises";
3
3
  import { homedir } from "node:os";
4
4
  import { dirname, parse, resolve, sep } from "node:path";
5
5
  import { resolveLaunchProfilePaths } from "../features/launch/index.js";
6
6
  import { resolveProductPaths } from "../foundation/lifecycle/index.js";
7
- import { cleanupVerifiedOwner, listRecordedEndpoints, npmPrefixForGlobalRoot, resolveNpmCli } from "../foundation/release/index.js";
8
- import { runTerminalHostMaintenance } from "../foundation/resident-tabs/index.js";
7
+ import { npmPrefixForGlobalRoot, resolveNpmCli } from "../foundation/release/index.js";
9
8
  import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../product-identity.js";
10
9
  /**
11
- * Removes A1 from this machine: resident hosts and supervisors stop first, through each
12
- * release's own maintenance contract, then the global package and every A1-owned state root go.
10
+ * Removes A1 from this machine: the global package goes first, then every A1-owned state root.
13
11
  * Sessions and settings live in the profile home and leave only with explicit consent.
14
12
  */
15
13
  export async function runUninstall(request, dependencies) {
16
14
  const { output } = dependencies;
17
15
  const environment = dependencies.environment ?? process.env;
18
16
  const command = PRODUCT_TEXT.commandName;
19
- if (environment[PRODUCT_IDENTITY.environment.tabId] !== undefined) {
20
- output.stderr(`${PRODUCT_TEXT.diagnostic(`${command} uninstall stops every tab, including this one. Run it from a terminal outside ${command}.`)}\n`);
21
- return 1;
22
- }
23
17
  const globalRoot = managedGlobalRoot(dependencies.packageRoot);
24
18
  if (globalRoot === null) {
25
19
  output.stderr(`${PRODUCT_TEXT.diagnostic(`${command} uninstall removes only an installed ${command}; this one runs from ${dependencies.packageRoot}.`)}\n`);
@@ -34,18 +28,12 @@ export async function runUninstall(request, dependencies) {
34
28
  output.stderr(`${PRODUCT_TEXT.diagnostic(`${command} uninstall needs a terminal to confirm. Run ${command} uninstall --yes to remove it.`)}\n`);
35
29
  return 2;
36
30
  }
37
- if (!await dependencies.confirm(`Remove ${command} from this machine? Running Agents will stop. [y/N] `)) {
31
+ if (!await dependencies.confirm(`Remove ${command} from this machine? [y/N] `)) {
38
32
  output.stdout(`${command} was not removed\n`);
39
33
  return 1;
40
34
  }
41
35
  purge ||= await dependencies.confirm(`Also delete your sessions, settings, and sign-ins in ${profileHome}? [y/N] `);
42
36
  }
43
- const profileRoot = environment[PRODUCT_IDENTITY.environment.profileHome] ?? paths.configDir;
44
- const stopResidentHost = dependencies.stopResidentHost ?? stopReleaseResidentHost;
45
- for (const releaseRoot of await installedReleaseRoots(paths.dataDir)) {
46
- await stopResidentHost(releaseRoot, paths, profileRoot).catch(() => undefined);
47
- }
48
- await (dependencies.stopSupervisors ?? stopRecordedSupervisors)(paths).catch(() => undefined);
49
37
  try {
50
38
  await (dependencies.removePackage ?? removeGlobalPackage)(dependencies.packageRoot, environment);
51
39
  }
@@ -56,8 +44,8 @@ export async function runUninstall(request, dependencies) {
56
44
  }
57
45
  const remove = dependencies.remove ?? (async (path) => await rm(path, { recursive: true, force: true }));
58
46
  const home = dependencies.home ?? environment.HOME ?? environment.USERPROFILE ?? homedir();
59
- const owned = [paths.dataDir, paths.configDir, paths.runtimeDir, paths.endpointDirectory, ...(purge ? [profileHome] : [])];
60
- for (const path of new Set(owned.filter((value) => value !== null))) {
47
+ const owned = [paths.dataDir, paths.configDir, paths.runtimeDir, ...(purge ? [profileHome] : [])];
48
+ for (const path of new Set(owned)) {
61
49
  if (removable(path, home))
62
50
  await remove(path);
63
51
  }
@@ -79,23 +67,6 @@ function removable(path, home) {
79
67
  const target = resolve(path);
80
68
  return target !== parse(target).root && target !== resolve(home) && !resolve(home).startsWith(`${target}${sep}`);
81
69
  }
82
- async function installedReleaseRoots(dataDir) {
83
- const releases = resolve(dataDir, "releases");
84
- const names = await readdir(releases).catch(() => []);
85
- return names.map(name => resolve(releases, name));
86
- }
87
- async function stopReleaseResidentHost(releaseRoot, paths, profileRoot) {
88
- // Invariant: each release stops only its own namespace, through its own verified host.
89
- await runTerminalHostMaintenance({
90
- action: "host-stop", profileRoot, dataDir: paths.dataDir, runtimeDir: paths.runtimeDir,
91
- releaseRoots: [releaseRoot], environment: process.env, timeoutMs: 30_000,
92
- });
93
- }
94
- async function stopRecordedSupervisors(paths) {
95
- for (const endpoint of await listRecordedEndpoints(paths)) {
96
- await cleanupVerifiedOwner(endpoint.metadata, { allowLiveInstances: true }).catch(() => undefined);
97
- }
98
- }
99
70
  async function removeGlobalPackage(packageRoot, environment) {
100
71
  const globalRoot = managedGlobalRoot(packageRoot);
101
72
  if (globalRoot === null)
@@ -22,15 +22,12 @@ export async function runVersionStats(options) {
22
22
  output.stderr(`${PRODUCT_TEXT.diagnostic(`could not read its installed version: ${message(error)}`)}\n`);
23
23
  return 1;
24
24
  }
25
- // Rationale: unlike Pi, stable builds also show the release channel head so users can see they are
26
- // behind without starting a session. Only development builds show the preview channel, and only
27
- // they carry the pull request a preview's manifest records; a missing record is silently omitted.
25
+ // Rationale: both installed channels show the same remote heads without starting a session;
26
+ // only development versions carry preview pull-request attribution, when their manifests record it.
28
27
  const remote = await queryDistTags(runner, options.fetcher ?? defaultRegistryFetcher);
29
28
  const developmentBuild = prerelease(installed) !== null;
30
- const headPullRequest = developmentBuild && remote.develop !== null ? await queryRecordedPullRequest(runner, remote.develop) : null;
31
- const develop = developmentBuild
32
- ? `Develop: ${remote.develop === null ? "unavailable" : withPullRequest(remote.develop, headPullRequest)}\n`
33
- : "";
29
+ const headPullRequest = remote.develop !== null ? await queryRecordedPullRequest(runner, remote.develop) : null;
30
+ const develop = `Develop: ${remote.develop === null ? "unavailable" : withPullRequest(remote.develop, headPullRequest)}\n`;
34
31
  output.stdout(`Current: ${withPullRequest(installed, developmentBuild ? installedPullRequest : null)}\n${develop}Release: ${remote.release ?? "unavailable"}\n`);
35
32
  if (remote.error)
36
33
  output.stderr(`${PRODUCT_TEXT.diagnostic(`could not resolve npm dist-tags: ${remote.error}`)}\n`);
@@ -1,8 +1,7 @@
1
1
  import type { AgentSettingsPort } from "../contracts/agent-engine/index.js";
2
2
  import { OwnedSettingsManager } from "../ui/settings/manager.js";
3
- export interface OwnedSettingsManagerFactoryOptions {
3
+ interface OwnedSettingsManagerFactoryOptions {
4
4
  readonly profileId: string;
5
- readonly hideTabSettings?: boolean;
6
5
  readonly agent?: AgentSettingsPort | null;
7
6
  readonly agentProvider?: () => AgentSettingsPort | null;
8
7
  }
@@ -10,3 +9,4 @@ export interface OwnedSettingsManagerFactoryOptions {
10
9
  export declare function createOwnedSettingsManager(options: OwnedSettingsManagerFactoryOptions): OwnedSettingsManager;
11
10
  /** Rereads the shared settings document whenever its stat changes; returns the stop. */
12
11
  export declare function watchSharedSettings(settings: Pick<OwnedSettingsManager, "file" | "refresh">): () => void;
12
+ export {};
@@ -1,20 +1,16 @@
1
1
  import { statSync } from "node:fs";
2
2
  import { resolveLaunchProfilePaths } from "../features/launch/profile-paths.js";
3
- import { resolveProductPaths } from "../foundation/lifecycle/paths.js";
4
3
  import { PRODUCT_IDENTITY } from "../product-identity.js";
5
4
  import { OwnedSettingsManager } from "../ui/settings/manager.js";
6
5
  /** Builds the profile-global settings manager shared by the Agent and slim utility compositions. */
7
6
  export function createOwnedSettingsManager(options) {
8
7
  const profilePaths = resolveLaunchProfilePaths();
9
- const productPaths = resolveProductPaths();
10
8
  return new OwnedSettingsManager({
11
9
  profileDir: profilePaths.agentProfile,
12
10
  profileId: options.profileId,
13
11
  namespace: PRODUCT_IDENTITY.commandName,
14
- legacyConfigDir: productPaths.configDir,
15
12
  ...(options.agent === undefined ? {} : { agent: options.agent }),
16
13
  ...(options.agentProvider === undefined ? {} : { agentProvider: options.agentProvider }),
17
- ...(options.hideTabSettings ? { hiddenOwnedSettingIds: ["tabsAutoName", "tabsPosition", "tabBarPlusMenu", "tabBarRightItems"] } : {}),
18
14
  hiddenAgentSettingIds: ["fullscreenWheelScrollLines"],
19
15
  agentSettingLabelOverrides: { fullscreenCopyOnSelect: "Copy on select" },
20
16
  });
@@ -1,5 +1,5 @@
1
1
  import type { AvailableRelease, StartupReleaseCheckOptions } from "../foundation/release/latest-release.js";
2
- import type { NativeProcessIdentity } from "../foundation/lifecycle/model.js";
2
+ import type { ProcessIdentity } from "../foundation/lifecycle/model.js";
3
3
  import type { SessionSelection } from "../foundation/lifecycle/session-selection.js";
4
4
  import { type PiEngineHostOptions } from "../integrations/pi/engine/host.js";
5
5
  import type { PiProjectTrustPreflightPrompt } from "../integrations/pi/engine/project-trust-preflight.js";
@@ -7,10 +7,8 @@ import type { PiSessionForkPrompt } from "../integrations/pi/engine/session-sele
7
7
  import type { OwnedSettingsManager } from "../ui/settings/manager.js";
8
8
  import type { OwnedUiApplicationPort, PresentationTerminalPort } from "../contracts/presentation/index.js";
9
9
  import type { ReleaseNoteCatalog } from "../features/owned-ui/release-notes.js";
10
- import type { TabBridgeClient } from "../foundation/resident-tabs/bridge-client.js";
11
10
  import type { ComposedEngineHost } from "./session-backend.js";
12
11
  export type { ComposedEngineHost, ComposedSessionBackend } from "./session-backend.js";
13
- export { bindResidentTabBridge, correlateResidentTabSubmission } from "./resident-tab-bridge.js";
14
12
  export interface OwnedUiCompositionOptions {
15
13
  readonly cwd?: string;
16
14
  readonly terminal?: PresentationTerminalPort;
@@ -22,12 +20,8 @@ export interface OwnedUiCompositionOptions {
22
20
  readonly sessionForkPrompt?: PiSessionForkPrompt;
23
21
  /** A1 settings profile; comparison paths omit it. */
24
22
  readonly profileId?: string;
25
- /** Hide resident-only tab controls for the explicit direct single-agent launch. */
26
- readonly hideTabSettings?: boolean;
27
- /** The explicit solo launch owns a mode-specific resume hint; resident fallback keeps the tabbed form. */
28
- readonly soloResumeHint?: boolean;
29
23
  /** `off` withholds A1-specific surfaces from comparison profiles. */
30
- readonly ownedSurfaces?: "on" | "off";
24
+ readonly productMode?: "bare" | "comparison";
31
25
  readonly projectTrustPrompt?: PiProjectTrustPreflightPrompt;
32
26
  /** Explicit local diagnostic destination; ignored by comparison/settings-free compositions. */
33
27
  readonly suggestionDiagnosticsPath?: string;
@@ -35,32 +29,16 @@ export interface OwnedUiCompositionOptions {
35
29
  readonly clipboardDiagnosticsPath?: string;
36
30
  /** Deterministic release-note seams for composition tests. */
37
31
  readonly packageVersion?: string;
38
- readonly notificationVersion?: string | undefined;
39
32
  readonly releaseNotes?: ReleaseNoteCatalog;
40
33
  /** Startup release-availability seam; defaults to the throttled registry check. */
41
34
  readonly checkForNewerRelease?: (options: StartupReleaseCheckOptions) => Promise<AvailableRelease | null>;
42
- readonly inspectProcess?: (pid: number) => Promise<NativeProcessIdentity | null>;
43
- readonly tab?: {
44
- readonly bridge: TabBridgeClient;
45
- readonly dataDir: string;
46
- readonly incarnation: number;
47
- };
48
- readonly residentFallbackNotice?: string;
35
+ readonly inspectProcess?: (pid: number) => Promise<ProcessIdentity | null>;
49
36
  }
50
37
  export interface OwnedUiComposition {
51
38
  readonly application: OwnedUiApplicationPort;
52
39
  /** Present when a profile was supplied, so the caller can resolve settings before start. */
53
40
  readonly settings: OwnedSettingsManager | null;
54
41
  }
55
- export declare function residentStartupPresentation(resident: boolean, fallbackNotice?: string): {
56
- readonly startup?: {
57
- readonly quiet?: boolean;
58
- readonly notices?: readonly [{
59
- readonly kind: "warning";
60
- readonly message: string;
61
- }];
62
- };
63
- };
64
42
  export declare function composeOwnedUiApplication(options?: OwnedUiCompositionOptions): Promise<OwnedUiApplicationPort>;
65
43
  export declare function composeOwnedUi(options?: OwnedUiCompositionOptions): Promise<OwnedUiComposition>;
66
44
  export { watchSharedSettings } from "./owned-settings.js";