@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
@@ -32,8 +32,8 @@ export { readVisibleHyperlinks } from "./visible-hyperlinks.js";
32
32
  export type { VisibleHyperlinkRange, VisibleHyperlinkRow } from "./visible-hyperlinks.js";
33
33
  export { renderStatusLine, statusText } from "./status-line.js";
34
34
  export type { StatusLineInput } from "./status-line.js";
35
- export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, formatLocalTime, formatSubmittedPromptTime, submittedPromptLayout } from "./submitted-prompt.js";
36
- export type { SubmittedPromptLayout, SubmittedPromptStyle, UiTimeFormat } from "./submitted-prompt.js";
35
+ export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, submittedPromptLayout } from "./submitted-prompt.js";
36
+ export type { SubmittedPromptLayout, SubmittedPromptStyle } from "./submitted-prompt.js";
37
37
  export { numericValues, steppedValue, stepperEnds } from "./stepper.js";
38
38
  export type { NumericRange } from "./stepper.js";
39
39
  export { TranscriptViewport, assertTranscriptViewportFrameDescriptor } from "./transcript-viewport.js";
@@ -44,7 +44,7 @@ export { displayColumnSlice, displayWidth, displayWordColumnRange, faint, padToW
44
44
  export type { DisplayColumnRange, DisplayColumnSlice } from "./text.js";
45
45
  export { TEXT_SELECTION_MULTI_CLICK_MS, extendTextSelection, orderedTextSelection, paintTextSelection, plainTextBetweenColumns, pressTextSelection, releaseTextSelection, textSelectionLineExtendColumn, textSelectionPointAt, textSelectionText, usefulTextLineContent, } from "./text-selection.js";
46
46
  export type { OrderedTextSelection, TextSelection, TextSelectionClick, TextSelectionLineContent, TextSelectionPoint, TextSelectionPressInput, } from "./text-selection.js";
47
- export { PLAIN_THEME } from "./theme.js";
48
- export type { UiTheme, UiThemeToken } from "./theme.js";
47
+ export { PLAIN_THEME, PLAIN_THEME_SOURCE } from "./theme.js";
48
+ export type { ThemeSource, UiTheme, UiThemeBackground, UiThemeToken } from "./theme.js";
49
49
  export { menuRowAt, renderValueMenu, valueMenuFrame } from "./value-menu.js";
50
50
  export type { ValueMenuAnchor, ValueMenuFrame, ValueMenuLayout, ValueMenuState } from "./value-menu.js";
@@ -16,11 +16,11 @@ export { GLOBAL_SCOPE, ShortcutRegistry, assembleShortcuts, assertNoShortcutConf
16
16
  export { backgroundSgrSpan, heldNativeHyperlinkStyle, hyperlinkSgrSpan, hyperlinkTargetAtColumn, nativeHyperlinkStyle, overlaySpan } from "./spans.js";
17
17
  export { readVisibleHyperlinks } from "./visible-hyperlinks.js";
18
18
  export { renderStatusLine, statusText } from "./status-line.js";
19
- export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, formatLocalTime, formatSubmittedPromptTime, submittedPromptLayout } from "./submitted-prompt.js";
19
+ export { SUBMITTED_PROMPT_PREFIX_WIDTH, composeSubmittedPromptRows, submittedPromptLayout } from "./submitted-prompt.js";
20
20
  export { numericValues, steppedValue, stepperEnds } from "./stepper.js";
21
21
  export { TranscriptViewport, assertTranscriptViewportFrameDescriptor } from "./transcript-viewport.js";
22
22
  export { RAIL_COLUMNS, renderEmptyState, withScrollbarRail } from "./surface.js";
23
23
  export { displayColumnSlice, displayWidth, displayWordColumnRange, faint, padToWidth, stripAnsi, truncateToWidth } from "./text.js";
24
24
  export { TEXT_SELECTION_MULTI_CLICK_MS, extendTextSelection, orderedTextSelection, paintTextSelection, plainTextBetweenColumns, pressTextSelection, releaseTextSelection, textSelectionLineExtendColumn, textSelectionPointAt, textSelectionText, usefulTextLineContent, } from "./text-selection.js";
25
- export { PLAIN_THEME } from "./theme.js";
25
+ export { PLAIN_THEME, PLAIN_THEME_SOURCE } from "./theme.js";
26
26
  export { menuRowAt, renderValueMenu, valueMenuFrame } from "./value-menu.js";
@@ -19,6 +19,5 @@ export interface SelectionCopySnapshot {
19
19
  readonly rejected?: "size";
20
20
  }
21
21
  export declare function selectionCopyLineContent(text: string, prompt: SelectionCopyPrompt): TextSelectionLineContent;
22
- export declare function literalSelectionCopySnapshot(text: string, revision?: number): SelectionCopySnapshot | null;
23
22
  /** Extracts one snapshot row with the existing grapheme/newline policy; run expensive rows off-thread. */
24
23
  export declare function selectionCopyRowText(snapshot: Pick<SelectionCopySnapshot, "selection" | "literal">, row: SelectionCopyRow, index: number): string;
@@ -22,18 +22,6 @@ export function selectionCopyLineContent(text, prompt) {
22
22
  return { from, to: from + 1 };
23
23
  return usefulTextLineContent(plain, from);
24
24
  }
25
- export function literalSelectionCopySnapshot(text, revision = 0) {
26
- if (text.trim().length === 0)
27
- return null;
28
- const selection = {
29
- start: { line: 0, column: 0 },
30
- end: { line: 0, column: Number.MAX_SAFE_INTEGER },
31
- };
32
- if (text.length > MAX_COPY_SOURCE_UNITS) {
33
- return { literal: true, selection, revision, rows: [], sourceUnits: 0, rejected: "size" };
34
- }
35
- return { literal: true, selection, revision, rows: [{ text }], sourceUnits: text.length };
36
- }
37
25
  /** Extracts one snapshot row with the existing grapheme/newline policy; run expensive rows off-thread. */
38
26
  export function selectionCopyRowText(snapshot, row, index) {
39
27
  if (snapshot.literal)
@@ -1,26 +1,16 @@
1
- export type UiTimeFormat = "20:00" | "8:00 PM";
2
- /** Deterministic local hour/minute presentation shared by A1-owned time labels. */
3
- export declare function formatLocalTime(source: Date | number, format?: UiTimeFormat): string | null;
4
1
  /** Visible width of the submitted-prompt prefix (` ❯ `). */
5
2
  export declare const SUBMITTED_PROMPT_PREFIX_WIDTH = 3;
6
3
  export interface SubmittedPromptStyle {
7
4
  readonly prefix?: (text: string) => string;
8
- readonly timestamp?: (text: string) => string;
9
5
  }
10
6
  export interface SubmittedPromptLayout {
11
7
  readonly contentWidth: number;
12
- readonly timestamp: string | null;
13
8
  }
14
- /** Formats transcript metadata, never render time, in the active A1 time format. */
15
- export declare function formatSubmittedPromptTime(source: Date | number, format?: UiTimeFormat): string | null;
16
- /**
17
- * Computes the width at which the prompt's Markdown body must be rendered.
18
- * The timestamp is omitted rather than allowing it to crowd useful content.
19
- */
20
- export declare function submittedPromptLayout(width: number, source?: Date | number | null, format?: UiTimeFormat): SubmittedPromptLayout;
9
+ /** Computes the width at which the prompt's Markdown body must be rendered. */
10
+ export declare function submittedPromptLayout(width: number): SubmittedPromptLayout;
21
11
  /**
22
12
  * Composes already-rendered prompt content into the compact submitted bar.
23
13
  * Continuations align below the content, not below the prefix, and no row can
24
14
  * exceed the supplied terminal width even when the content renderer misbehaves.
25
15
  */
26
- export declare function composeSubmittedPromptRows(contentRows: readonly string[], width: number, source?: Date | number | null, style?: SubmittedPromptStyle, format?: UiTimeFormat): readonly string[];
16
+ export declare function composeSubmittedPromptRows(contentRows: readonly string[], width: number, style?: SubmittedPromptStyle): readonly string[];
@@ -1,57 +1,24 @@
1
- import { displayWidth, truncateToWidth } from "./text.js";
2
- /** Deterministic local hour/minute presentation shared by A1-owned time labels. */
3
- export function formatLocalTime(source, format = "8:00 PM") {
4
- const date = source instanceof Date ? source : new Date(source);
5
- if (!Number.isFinite(date.getTime()))
6
- return null;
7
- const hour = date.getHours();
8
- const minute = String(date.getMinutes()).padStart(2, "0");
9
- if (format === "20:00")
10
- return `${String(hour).padStart(2, "0")}:${minute}`;
11
- return `${hour % 12 || 12}:${minute} ${hour < 12 ? "AM" : "PM"}`;
12
- }
1
+ import { truncateToWidth } from "./text.js";
13
2
  /** Visible width of the submitted-prompt prefix (` ❯ `). */
14
3
  export const SUBMITTED_PROMPT_PREFIX_WIDTH = 3;
15
- const TIMESTAMP_MARGIN = 3;
16
- const MIN_USEFUL_CONTENT_WIDTH = 8;
17
- /** Formats transcript metadata, never render time, in the active A1 time format. */
18
- export function formatSubmittedPromptTime(source, format = "8:00 PM") {
19
- return formatLocalTime(source, format);
20
- }
21
- /**
22
- * Computes the width at which the prompt's Markdown body must be rendered.
23
- * The timestamp is omitted rather than allowing it to crowd useful content.
24
- */
25
- export function submittedPromptLayout(width, source, format = "8:00 PM") {
26
- const boundedWidth = Math.max(1, width);
27
- const timestamp = source === undefined || source === null ? null : formatSubmittedPromptTime(source, format);
28
- const timestampReserve = timestamp === null ? 0 : displayWidth(timestamp) + TIMESTAMP_MARGIN;
29
- const canShowTimestamp = timestamp !== null
30
- && boundedWidth - SUBMITTED_PROMPT_PREFIX_WIDTH - timestampReserve >= MIN_USEFUL_CONTENT_WIDTH;
31
- return {
32
- contentWidth: Math.max(1, boundedWidth - SUBMITTED_PROMPT_PREFIX_WIDTH - (canShowTimestamp ? timestampReserve : 0)),
33
- timestamp: canShowTimestamp ? timestamp : null,
34
- };
4
+ /** Computes the width at which the prompt's Markdown body must be rendered. */
5
+ export function submittedPromptLayout(width) {
6
+ return { contentWidth: Math.max(1, Math.max(1, width) - SUBMITTED_PROMPT_PREFIX_WIDTH) };
35
7
  }
36
8
  /**
37
9
  * Composes already-rendered prompt content into the compact submitted bar.
38
10
  * Continuations align below the content, not below the prefix, and no row can
39
11
  * exceed the supplied terminal width even when the content renderer misbehaves.
40
12
  */
41
- export function composeSubmittedPromptRows(contentRows, width, source, style = {}, format = "8:00 PM") {
13
+ export function composeSubmittedPromptRows(contentRows, width, style = {}) {
42
14
  if (width <= 0)
43
15
  return [];
44
- const layout = submittedPromptLayout(width, source, format);
16
+ const layout = submittedPromptLayout(width);
45
17
  const prefix = (style.prefix ?? identity)(" ❯ ");
46
- const rows = (contentRows.length === 0 ? [""] : contentRows).map((row, index) => {
18
+ return (contentRows.length === 0 ? [""] : contentRows).map((row, index) => {
47
19
  const content = truncateToWidth(row, layout.contentWidth);
48
- return `${index === 0 ? prefix : " ".repeat(SUBMITTED_PROMPT_PREFIX_WIDTH)}${content}`;
20
+ return truncateToWidth(`${index === 0 ? prefix : " ".repeat(SUBMITTED_PROMPT_PREFIX_WIDTH)}${content}`, width);
49
21
  });
50
- if (layout.timestamp !== null && rows[0] !== undefined) {
51
- const gap = Math.max(1, width - displayWidth(rows[0]) - displayWidth(layout.timestamp));
52
- rows[0] = `${rows[0]}${" ".repeat(gap)}${(style.timestamp ?? identity)(layout.timestamp)}`;
53
- }
54
- return rows.map(row => truncateToWidth(row, width));
55
22
  }
56
23
  function identity(text) {
57
24
  return text;
@@ -1,21 +1,6 @@
1
- export type UiThemeToken = "accent" | "mdHeading" | "text" | "muted" | "dim" | "border" | "error" | "success";
2
- export interface UiTheme {
3
- fg(token: UiThemeToken, text: string): string;
4
- bold(text: string): string;
5
- /**
6
- * The terminal's own foreground, left unpainted. What a list's own text is:
7
- * a theme built for a light background would otherwise write near-black rows
8
- * into a dark terminal, which is how the engine leaves its lists too.
9
- */
10
- plain(text: string): string;
11
- /** Optional palette preview used by controls that choose the active accent. */
12
- accentPreview?(color: string, text: string): string | null;
13
- /** Selection background for an active list item or floating-surface row. */
14
- highlight(text: string): string;
15
- /** A control that is present but cannot act: quieter than quiet text. */
16
- disabled(text: string): string;
17
- /** Background for a floating surface, so it reads as above the content. */
18
- panel(text: string): string;
19
- }
1
+ import type { ThemeSource, UiTheme, UiThemeBackground, UiThemeToken } from "../../contracts/presentation/index.js";
2
+ export type { ThemeSource, UiTheme, UiThemeBackground, UiThemeToken };
20
3
  /** Renders every token as plain text. What tests assert against. */
21
4
  export declare const PLAIN_THEME: UiTheme;
5
+ /** A theme source that never changes and paints nothing. */
6
+ export declare const PLAIN_THEME_SOURCE: ThemeSource;
@@ -6,4 +6,10 @@ export const PLAIN_THEME = Object.freeze({
6
6
  highlight: (text) => text,
7
7
  disabled: (text) => text,
8
8
  panel: (text) => text,
9
+ background: (_token, text) => text,
10
+ });
11
+ /** A theme source that never changes and paints nothing. */
12
+ export const PLAIN_THEME_SOURCE = Object.freeze({
13
+ current: () => PLAIN_THEME,
14
+ onChange: () => () => { },
9
15
  });
@@ -4,10 +4,8 @@ export interface TranscriptPromptAnchor {
4
4
  readonly id: string;
5
5
  readonly firstRow: number;
6
6
  readonly lastRow: number;
7
- /** The source first row, including its submitted-prompt styling and timestamp. */
7
+ /** The source first row, including its submitted-prompt styling. */
8
8
  readonly sourceRow: string;
9
- /** Right-edge metadata cells omitted from semantic prompt copies. */
10
- readonly copySuffixWidth?: number;
11
9
  /** Optional source-styled row used only while prominent and not hovered. */
12
10
  readonly prominentSourceRow?: string;
13
11
  }
@@ -266,10 +266,7 @@ export class TranscriptViewport {
266
266
  const dock = anchor?.kind === "dock" ? this.#copyableDockRows.get(anchor.fromBottom) : undefined;
267
267
  if (prompt !== undefined && anchor?.kind === "document") {
268
268
  const first = anchor.row === prompt.firstRow;
269
- const copyRow = first && (prompt.copySuffixWidth ?? 0) > 0
270
- ? truncateToWidth(row, Math.max(0, displayWidth(row) - (prompt.copySuffixWidth ?? 0)))
271
- : row;
272
- return selectionCopyLineContent(copyRow, first ? "first" : "continuation");
269
+ return selectionCopyLineContent(row, first ? "first" : "continuation");
273
270
  }
274
271
  // Invariant: the dock editor has no prefix; transcript prompts still carry chrome.
275
272
  return dock?.prompt !== undefined ? usefulTextLineContent(row, 1) : usefulTextLineContent(row);
@@ -1,4 +1,3 @@
1
- export declare const OWNED_UI_SETTINGS_VERSION = 20;
2
1
  export type OwnedUiSettingValue = string | number | boolean;
3
2
  export type OwnedUiSettingApplication = "live" | "restart";
4
3
  export interface OwnedUiSettingDeclaration {
@@ -30,22 +29,10 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
30
29
  id: "generic";
31
30
  title: "Generic";
32
31
  }>;
33
- description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently. Notify checks on startup and shows an update notice; No leaves updates manual. Applies on next start.";
32
+ description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently, then shows Update installed, restart to update; the next start runs it. Manual leaves updating to you (a1 update). Applies on next start.";
34
33
  application: "restart";
35
34
  defaultValue: "auto";
36
- allowedValues: readonly ["auto", "notify", "no"];
37
- }>;
38
- readonly timeFormat: Readonly<{
39
- id: "timeFormat";
40
- label: "Time format";
41
- section: Readonly<{
42
- id: "generic";
43
- title: "Generic";
44
- }>;
45
- description: "Format used by submitted-prompt timestamps and the resident tab clock when Time is enabled.";
46
- application: "live";
47
- defaultValue: "8:00 PM";
48
- allowedValues: readonly ["20:00", "8:00 PM"];
35
+ allowedValues: readonly ["auto", "manual"];
49
36
  }>;
50
37
  readonly accentColor: Readonly<{
51
38
  id: "accentColor";
@@ -191,88 +178,6 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
191
178
  defaultValue: 8;
192
179
  allowedValues: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
193
180
  }>;
194
- readonly tabsPosition: Readonly<{
195
- id: "tabsPosition";
196
- label: "Position";
197
- section: Readonly<{
198
- id: "tabs";
199
- title: "Tab Bar";
200
- }>;
201
- description: "Place the resident tab bar at the top or bottom of the terminal.";
202
- application: "live";
203
- defaultValue: "top";
204
- allowedValues: readonly ["top", "bottom"];
205
- }>;
206
- readonly tabBarPlusMenu: Readonly<{
207
- id: "tabBarPlusMenu";
208
- label: "Plus menu";
209
- section: Readonly<{
210
- id: "tabs";
211
- title: "Tab Bar";
212
- }>;
213
- description: "The tabs + offers. With only Agent, + adds an Agent at once; with more, it opens a menu; with none, + is hidden.";
214
- application: "live";
215
- defaultValue: "agent";
216
- allowedValues: readonly ["", "agent", "settings", "changelog", "agent,settings", "agent,changelog", "settings,changelog", "agent,settings,changelog"];
217
- flags: readonly (Readonly<{
218
- key: "agent";
219
- label: "Agent";
220
- description: "Add a new Agent tab every time.";
221
- }> | Readonly<{
222
- key: "settings";
223
- label: "Settings";
224
- description: "Show the one Settings tab.";
225
- }> | Readonly<{
226
- key: "changelog";
227
- label: "Changelog";
228
- description: "Show the one Changelog tab.";
229
- }>)[];
230
- }>;
231
- readonly tabBarRightItems: Readonly<{
232
- id: "tabBarRightItems";
233
- label: "Widgets";
234
- section: Readonly<{
235
- id: "tabs";
236
- title: "Tab Bar";
237
- }>;
238
- description: "Choose whether the tab bar's right side shows the executing Version, Time, both, or neither.";
239
- application: "live";
240
- defaultValue: "version,time";
241
- allowedValues: readonly ["", "version", "time", "version,time"];
242
- flags: readonly (Readonly<{
243
- key: "version";
244
- label: "Version";
245
- description: "Show the executing A1 version.";
246
- }> | Readonly<{
247
- key: "time";
248
- label: "Time";
249
- description: "Show the current time.";
250
- }>)[];
251
- }>;
252
- readonly tabBarBackgroundStyle: Readonly<{
253
- id: "tabBarBackgroundStyle";
254
- label: "Background";
255
- section: Readonly<{
256
- id: "tabs";
257
- title: "Tab Bar";
258
- }>;
259
- description: "Tab-bar canvas.";
260
- application: "live";
261
- defaultValue: "transparent";
262
- allowedValues: readonly ["transparent", "black", "accent"];
263
- }>;
264
- readonly tabsAutoName: Readonly<{
265
- id: "tabsAutoName";
266
- label: "Auto name";
267
- section: Readonly<{
268
- id: "tabs";
269
- title: "Tab Bar";
270
- }>;
271
- description: "Automatically name a new tab from its first completed turn with the tab's current model.";
272
- application: "live";
273
- defaultValue: true;
274
- allowedValues: readonly [true, false];
275
- }>;
276
181
  }>;
277
182
  export type OwnedSettingId = keyof typeof OWNED_SETTING_DECLARATIONS;
278
183
  export type OwnedSettingValueOf<Id extends OwnedSettingId> = (typeof OWNED_SETTING_DECLARATIONS)[Id]["allowedValues"][number];
@@ -1,4 +1,3 @@
1
- export const OWNED_UI_SETTINGS_VERSION = 20;
2
1
  const UI_ACCENT_COLOR_CHOICES = Object.freeze([
3
2
  "blue", "purple", "cyan", "green", "orange", "pink",
4
3
  ]);
@@ -8,43 +7,15 @@ const GENERIC_SECTION = Object.freeze({ id: "generic", title: "Generic" });
8
7
  const APPEARANCE_SECTION = Object.freeze({ id: "appearance", title: "Appearance" });
9
8
  const SCROLL_SECTION = Object.freeze({ id: "scroll", title: "Scroll" });
10
9
  const AGENT_SECTION = Object.freeze({ id: "agent", title: "Agent" });
11
- const TABS_SECTION = Object.freeze({ id: "tabs", title: "Tab Bar" });
12
- /** The tab kinds the strip's `+` can offer, in the order it shows them. */
13
- const PLUS_MENU_KINDS = Object.freeze([
14
- Object.freeze({ key: "agent", label: "Agent", description: "Add a new Agent tab every time." }),
15
- Object.freeze({ key: "settings", label: "Settings", description: "Show the one Settings tab." }),
16
- Object.freeze({ key: "changelog", label: "Changelog", description: "Show the one Changelog tab." }),
17
- ]);
18
- /** Every enabled subset of the plus-menu kinds, each in kind order. */
19
- const PLUS_MENU_VALUES = Object.freeze([
20
- "", "agent", "settings", "changelog", "agent,settings", "agent,changelog", "settings,changelog", "agent,settings,changelog",
21
- ]);
22
- /** The right-side strip items, in their fixed presentation order. */
23
- const TAB_BAR_RIGHT_ITEMS = Object.freeze([
24
- Object.freeze({ key: "version", label: "Version", description: "Show the executing A1 version." }),
25
- Object.freeze({ key: "time", label: "Time", description: "Show the current time." }),
26
- ]);
27
- const TAB_BAR_RIGHT_ITEM_VALUES = Object.freeze(["", "version", "time", "version,time"]);
28
10
  export const OWNED_SETTING_DECLARATIONS = Object.freeze({
29
11
  updateCheck: Object.freeze({
30
12
  id: "updateCheck",
31
13
  label: "Update",
32
14
  section: GENERIC_SECTION,
33
- description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently. Notify checks on startup and shows an update notice; No leaves updates manual. Applies on next start.",
15
+ description: "Auto checks the running channel every 15 minutes while open and installs verified updates silently, then shows Update installed, restart to update; the next start runs it. Manual leaves updating to you (a1 update). Applies on next start.",
34
16
  application: "restart",
35
17
  defaultValue: "auto",
36
- allowedValues: Object.freeze(["auto", "notify", "no"]),
37
- }),
38
- timeFormat: Object.freeze({
39
- id: "timeFormat",
40
- label: "Time format",
41
- section: GENERIC_SECTION,
42
- description: "Format used by submitted-prompt timestamps and the resident tab clock when Time is enabled.",
43
- application: "live",
44
- defaultValue: "8:00 PM",
45
- allowedValues: Object.freeze([
46
- "20:00", "8:00 PM",
47
- ]),
18
+ allowedValues: Object.freeze(["auto", "manual"]),
48
19
  }),
49
20
  accentColor: Object.freeze({
50
21
  id: "accentColor",
@@ -156,53 +127,6 @@ export const OWNED_SETTING_DECLARATIONS = Object.freeze({
156
127
  defaultValue: 8,
157
128
  allowedValues: Object.freeze([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]),
158
129
  }),
159
- tabsPosition: Object.freeze({
160
- id: "tabsPosition",
161
- label: "Position",
162
- section: TABS_SECTION,
163
- description: "Place the resident tab bar at the top or bottom of the terminal.",
164
- application: "live",
165
- defaultValue: "top",
166
- allowedValues: Object.freeze(["top", "bottom"]),
167
- }),
168
- tabBarPlusMenu: Object.freeze({
169
- id: "tabBarPlusMenu",
170
- label: "Plus menu",
171
- section: TABS_SECTION,
172
- description: "The tabs + offers. With only Agent, + adds an Agent at once; with more, it opens a menu; with none, + is hidden.",
173
- application: "live",
174
- defaultValue: "agent",
175
- allowedValues: PLUS_MENU_VALUES,
176
- flags: PLUS_MENU_KINDS,
177
- }),
178
- tabBarRightItems: Object.freeze({
179
- id: "tabBarRightItems",
180
- label: "Widgets",
181
- section: TABS_SECTION,
182
- description: "Choose whether the tab bar's right side shows the executing Version, Time, both, or neither.",
183
- application: "live",
184
- defaultValue: "version,time",
185
- allowedValues: TAB_BAR_RIGHT_ITEM_VALUES,
186
- flags: TAB_BAR_RIGHT_ITEMS,
187
- }),
188
- tabBarBackgroundStyle: Object.freeze({
189
- id: "tabBarBackgroundStyle",
190
- label: "Background",
191
- section: TABS_SECTION,
192
- description: "Tab-bar canvas.",
193
- application: "live",
194
- defaultValue: "transparent",
195
- allowedValues: Object.freeze(["transparent", "black", "accent"]),
196
- }),
197
- tabsAutoName: Object.freeze({
198
- id: "tabsAutoName",
199
- label: "Auto name",
200
- section: TABS_SECTION,
201
- description: "Automatically name a new tab from its first completed turn with the tab's current model.",
202
- application: "live",
203
- defaultValue: true,
204
- allowedValues: Object.freeze([true, false]),
205
- }),
206
130
  });
207
131
  export const OWNED_UI_SETTING_DECLARATIONS = Object.freeze(Object.values(OWNED_SETTING_DECLARATIONS));
208
132
  export function isOwnedSettingId(id) {
@@ -2,7 +2,7 @@ import { readFileSync, statSync } from "node:fs";
2
2
  import { homedir } from "node:os";
3
3
  import { isAbsolute, join } from "node:path";
4
4
  import { PRODUCT_IDENTITY } from "../../product-identity.js";
5
- import { SHARED_PROGRESS_PALETTE } from "./progress-palette.generated.js";
5
+ import { SHARED_PROGRESS_PALETTE } from "../../contracts/presentation/index.js";
6
6
  /** Global settings only: project resources must remain unavailable until trust is resolved. */
7
7
  export function readPreTrustAccent(environment = process.env) {
8
8
  try {
@@ -1,9 +1,7 @@
1
- export { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTINGS_VERSION, OWNED_UI_SETTING_DECLARATIONS, assertOwnedUiSettingDeclarations, findOwnedUiSettingDeclaration, isOwnedSettingId, } from "./declarations.js";
1
+ export { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTING_DECLARATIONS, assertOwnedUiSettingDeclarations, findOwnedUiSettingDeclaration, isOwnedSettingId, } from "./declarations.js";
2
2
  export type { OwnedSettingId, OwnedSettingValueOf, OwnedUiSettingApplication, OwnedUiSettingDeclaration, OwnedUiSettingValue } from "./declarations.js";
3
- export { OWNED_UI_SETTINGS_MIGRATIONS, assertOwnedUiSettingsMigrations, migrationsFrom, normalizeOwnedUiSettingsValues, } from "./migrations.js";
4
- export type { OwnedUiSettingsCompatibilityResult, OwnedUiSettingsMigration } from "./migrations.js";
5
- export { documentFrom, parseOwnedUiSettingsDocument, resolveOwnedUiSettings, settingValue } from "./resolution.js";
6
- export type { OwnedUiResolvedSetting, OwnedUiSettingSource, OwnedUiSettingsDocument, OwnedUiSettingsNotice, OwnedUiSettingsNoticeCode, OwnedUiSettingsResolution, ResolveOwnedUiSettingsInput, } from "./resolution.js";
3
+ export { resolveOwnedUiSettings, settingValue } from "./resolution.js";
4
+ export type { OwnedUiResolvedSetting, OwnedUiSettingSource, OwnedUiSettingsNotice, OwnedUiSettingsNoticeCode, OwnedUiSettingsResolution, ResolveOwnedUiSettingsInput, } from "./resolution.js";
7
5
  export { AGENT_SECTION_ID, buildOwnedUiSettingsSections, findOwnedUiSettingsEntry } from "./sections.js";
8
6
  export type { AgentSettingsSnapshot, BuildOwnedUiSettingsSectionsInput, OwnedUiSettingsBackend, OwnedUiSettingsEntry, OwnedUiSettingsSection, } from "./sections.js";
9
7
  export { OwnedSettingsManager } from "./manager.js";
@@ -1,6 +1,5 @@
1
- export { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTINGS_VERSION, OWNED_UI_SETTING_DECLARATIONS, assertOwnedUiSettingDeclarations, findOwnedUiSettingDeclaration, isOwnedSettingId, } from "./declarations.js";
2
- export { OWNED_UI_SETTINGS_MIGRATIONS, assertOwnedUiSettingsMigrations, migrationsFrom, normalizeOwnedUiSettingsValues, } from "./migrations.js";
3
- export { documentFrom, parseOwnedUiSettingsDocument, resolveOwnedUiSettings, settingValue } from "./resolution.js";
1
+ export { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTING_DECLARATIONS, assertOwnedUiSettingDeclarations, findOwnedUiSettingDeclaration, isOwnedSettingId, } from "./declarations.js";
2
+ export { resolveOwnedUiSettings, settingValue } from "./resolution.js";
4
3
  export { AGENT_SECTION_ID, buildOwnedUiSettingsSections, findOwnedUiSettingsEntry } from "./sections.js";
5
4
  export { OwnedSettingsManager } from "./manager.js";
6
5
  export { assertProfileSettingsNamespaceAvailable, readProfileSettingsNamespace, repairProfileSettingsDocument, updateProfileSettingsNamespace, } from "./profile-document.js";
@@ -1,6 +1,5 @@
1
1
  import type { AgentJsonValue, AgentSettingApplicationBoundary, AgentSettingsPort } from "../../contracts/agent-engine/index.js";
2
2
  import { type OwnedSettingId, type OwnedSettingValueOf, type OwnedUiSettingDeclaration, type OwnedUiSettingValue } from "./declarations.js";
3
- import { type OwnedUiSettingsMigration } from "./migrations.js";
4
3
  import { type OwnedUiSettingsResolution } from "./resolution.js";
5
4
  import { type OwnedUiSettingsBackend, type OwnedUiSettingsSection } from "./sections.js";
6
5
  export interface OwnedSettingsManagerOptions {
@@ -11,10 +10,7 @@ export interface OwnedSettingsManagerOptions {
11
10
  readonly profileId: string;
12
11
  /** Product namespace; defaults to profileId for generic and hermetic consumers. */
13
12
  readonly namespace?: string;
14
- /** Former product configuration root, consulted only while the namespace is absent. */
15
- readonly legacyConfigDir?: string;
16
13
  readonly declarations?: readonly OwnedUiSettingDeclaration[];
17
- readonly migrations?: readonly OwnedUiSettingsMigration[];
18
14
  readonly agent?: AgentSettingsPort | null;
19
15
  readonly agentProvider?: () => AgentSettingsPort | null;
20
16
  readonly hiddenOwnedSettingIds?: readonly string[];
@@ -1,9 +1,7 @@
1
- import { readFileSync } from "node:fs";
2
1
  import path from "node:path";
3
2
  import { assertAgentSettingDescriptor } from "../../contracts/agent-engine/index.js";
4
- import { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTINGS_VERSION, OWNED_UI_SETTING_DECLARATIONS, } from "./declarations.js";
5
- import { OWNED_UI_SETTINGS_MIGRATIONS, normalizeOwnedUiSettingsValues, } from "./migrations.js";
6
- import { parseOwnedUiSettingsDocument, resolveOwnedUiSettings, } from "./resolution.js";
3
+ import { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTING_DECLARATIONS, } from "./declarations.js";
4
+ import { resolveOwnedUiSettings, } from "./resolution.js";
7
5
  import { buildOwnedUiSettingsSections, findOwnedUiSettingsEntry, } from "./sections.js";
8
6
  import { readProfileSettingsNamespace, repairProfileSettingsDocument, updateProfileSettingsNamespace, } from "./profile-document.js";
9
7
  const PROFILE_ID_PATTERN = /^[a-z][a-z0-9-]{0,63}$/;
@@ -16,10 +14,8 @@ const MAX_DOCUMENT_BYTES = 256 * 1024;
16
14
  */
17
15
  export class OwnedSettingsManager {
18
16
  #file;
19
- #legacyFile;
20
17
  #namespace;
21
18
  #declarations;
22
- #migrations;
23
19
  #agent;
24
20
  #agentProvider;
25
21
  #listeners = new Set();
@@ -38,12 +34,8 @@ export class OwnedSettingsManager {
38
34
  if (profileDir === undefined)
39
35
  throw new Error("owned UI settings require a profile directory");
40
36
  this.#file = path.join(path.resolve(profileDir), "settings.json");
41
- this.#legacyFile = options.legacyConfigDir === undefined
42
- ? null
43
- : path.join(path.resolve(options.legacyConfigDir), "settings", `${options.profileId}.json`);
44
37
  this.#namespace = options.namespace ?? options.profileId;
45
38
  this.#declarations = options.declarations ?? OWNED_UI_SETTING_DECLARATIONS;
46
- this.#migrations = options.migrations ?? OWNED_UI_SETTINGS_MIGRATIONS;
47
39
  this.#agent = options.agent ?? null;
48
40
  this.#agentProvider = options.agentProvider ?? null;
49
41
  this.#hiddenOwnedSettingIds = new Set(options.hiddenOwnedSettingIds ?? []);
@@ -74,53 +66,15 @@ export class OwnedSettingsManager {
74
66
  if (Buffer.byteLength(JSON.stringify(shared.value), "utf8") > MAX_DOCUMENT_BYTES) {
75
67
  return this.#resolveNamespace(null, `${this.#file} contains a ${this.#namespace} namespace exceeding the ${MAX_DOCUMENT_BYTES}-byte settings limit`);
76
68
  }
77
- return this.#resolveCompatibleNamespace(shared.value);
69
+ return this.#resolveNamespace(shared.value);
78
70
  }
79
- if (shared.status === "invalid")
80
- return this.#resolveNamespace(null, shared.detail);
81
- return this.#readLegacy();
82
- }
83
- #resolveCompatibleNamespace(values) {
84
- const compatibility = normalizeOwnedUiSettingsValues(values);
85
- return compatibility.values === null
86
- ? this.#resolveNamespace(null, compatibility.failure ?? "product settings compatibility failed")
87
- : this.#resolveNamespace(compatibility.values);
71
+ return this.#resolveNamespace(null, shared.status === "invalid" ? shared.detail : undefined);
88
72
  }
89
73
  #resolveNamespace(values, unreadableDetail) {
90
74
  return resolveOwnedUiSettings({
91
75
  declarations: this.#declarations,
92
- migrations: [],
93
- document: values === null ? null : { version: OWNED_UI_SETTINGS_VERSION, values },
76
+ values,
94
77
  ...(unreadableDetail === undefined ? {} : { unreadableDetail }),
95
- currentVersion: OWNED_UI_SETTINGS_VERSION,
96
- });
97
- }
98
- #readLegacy() {
99
- if (this.#legacyFile === null)
100
- return this.#resolveNamespace(null);
101
- let raw = null;
102
- let unreadable = null;
103
- try {
104
- raw = readFileSync(this.#legacyFile, "utf8");
105
- }
106
- catch (error) {
107
- if (!isMissing(error))
108
- unreadable = `${this.#legacyFile} could not be read: ${describe(error)}`;
109
- }
110
- if (raw !== null && Buffer.byteLength(raw, "utf8") > MAX_DOCUMENT_BYTES) {
111
- unreadable = `${this.#legacyFile} exceeds the ${MAX_DOCUMENT_BYTES}-byte settings limit and was ignored`;
112
- raw = null;
113
- }
114
- const document = raw === null ? null : parseOwnedUiSettingsDocument(raw);
115
- if (raw !== null && document === null && unreadable === null) {
116
- unreadable = `${this.#legacyFile} is not a valid settings document and was ignored`;
117
- }
118
- return resolveOwnedUiSettings({
119
- declarations: this.#declarations,
120
- migrations: this.#migrations,
121
- document,
122
- ...(unreadable === null ? {} : { unreadableDetail: unreadable }),
123
- currentVersion: OWNED_UI_SETTINGS_VERSION,
124
78
  });
125
79
  }
126
80
  async load() {
@@ -231,14 +185,7 @@ export class OwnedSettingsManager {
231
185
  }
232
186
  try {
233
187
  updateProfileSettingsNamespace(this.#file, this.#namespace, current => {
234
- let latest = this.#readLegacy();
235
- if (current !== null) {
236
- const compatibility = normalizeOwnedUiSettingsValues(current);
237
- if (compatibility.values === null)
238
- throw new Error(compatibility.failure ?? "product settings compatibility failed");
239
- latest = this.#resolveNamespace(compatibility.values);
240
- }
241
- const next = compactValues(latest);
188
+ const next = compactValues(this.#resolveNamespace(current));
242
189
  if (value === declaration.defaultValue)
243
190
  delete next[id];
244
191
  else
@@ -343,9 +290,6 @@ function compactValues(resolution) {
343
290
  }
344
291
  return values;
345
292
  }
346
- function isMissing(error) {
347
- return typeof error === "object" && error !== null && error.code === "ENOENT";
348
- }
349
293
  function describe(error) {
350
294
  return error instanceof Error ? error.message : String(error);
351
295
  }