@timurproko/a1 0.2.6 → 0.2.7-dev.1222

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 (419) hide show
  1. package/README.md +41 -3
  2. package/bin/automatic-update.js +7 -0
  3. package/bin/cli.js +4 -0
  4. package/bin/guardian.js +5 -0
  5. package/bin/tab-launch-context.d.ts +27 -0
  6. package/bin/tab-launch-context.js +94 -0
  7. package/bin/ui.js +107 -59
  8. package/dist/app/session-shell/clipboard-diagnostics.js +1 -1
  9. package/dist/app/session-shell/dialog-coordinator.d.ts +42 -0
  10. package/dist/app/session-shell/dialog-coordinator.js +133 -0
  11. package/dist/app/session-shell/dock-chrome.d.ts +34 -0
  12. package/dist/app/session-shell/dock-chrome.js +109 -0
  13. package/dist/app/session-shell/exit-notice.d.ts +1 -1
  14. package/dist/app/session-shell/exit-notice.js +1 -1
  15. package/dist/app/session-shell/extension-surface.d.ts +30 -0
  16. package/dist/app/session-shell/extension-surface.js +105 -0
  17. package/dist/app/session-shell/helper-pool.d.ts +3 -5
  18. package/dist/app/session-shell/helper-pool.js +3 -5
  19. package/dist/app/session-shell/input-surface-switch.d.ts +36 -0
  20. package/dist/app/session-shell/input-surface-switch.js +85 -0
  21. package/dist/app/session-shell/login-interaction.d.ts +27 -0
  22. package/dist/app/session-shell/login-interaction.js +91 -0
  23. package/dist/app/session-shell/prompt-submission.d.ts +48 -0
  24. package/dist/app/session-shell/prompt-submission.js +276 -0
  25. package/dist/app/session-shell/resident-tab-coordinator.d.ts +38 -0
  26. package/dist/app/session-shell/resident-tab-coordinator.js +77 -0
  27. package/dist/app/session-shell/response-copy-helper.js +21 -6
  28. package/dist/app/session-shell/response-copy-protocol.d.ts +1 -1
  29. package/dist/app/session-shell/response-copy-transport.d.ts +16 -6
  30. package/dist/app/session-shell/response-copy-transport.js +69 -17
  31. package/dist/app/session-shell/session-concern.d.ts +22 -0
  32. package/dist/app/session-shell/session-concern.js +29 -0
  33. package/dist/app/session-shell/session-lifecycle.d.ts +29 -0
  34. package/dist/app/session-shell/session-lifecycle.js +49 -0
  35. package/dist/app/session-shell/session-shell-root.d.ts +42 -6
  36. package/dist/app/session-shell/session-shell-root.js +197 -908
  37. package/dist/app/session-shell/session-shell.d.ts +3 -8
  38. package/dist/app/session-shell/session-shell.js +327 -835
  39. package/dist/app/session-shell/session-viewport-controller.d.ts +2 -1
  40. package/dist/app/session-shell/session-viewport-controller.js +41 -38
  41. package/dist/app/session-shell/settings-bindings.d.ts +17 -0
  42. package/dist/app/session-shell/settings-bindings.js +91 -0
  43. package/dist/app/session-shell/shell-editor-factory.d.ts +27 -0
  44. package/dist/app/session-shell/shell-editor-factory.js +105 -0
  45. package/dist/app/session-shell/shell-host.d.ts +6 -0
  46. package/dist/app/session-shell/shell-host.js +34 -7
  47. package/dist/app/session-shell/shell-layout.d.ts +64 -0
  48. package/dist/app/session-shell/shell-layout.js +18 -0
  49. package/dist/app/session-shell/suggestion-surface.d.ts +25 -0
  50. package/dist/app/session-shell/suggestion-surface.js +63 -0
  51. package/dist/app/session-shell/transcript-document.d.ts +78 -0
  52. package/dist/app/session-shell/transcript-document.js +365 -0
  53. package/dist/app/session-shell/viewport-layout.d.ts +31 -0
  54. package/dist/app/session-shell/viewport-layout.js +160 -0
  55. package/dist/app/session-shell/workflow-output.d.ts +33 -0
  56. package/dist/app/session-shell/workflow-output.js +174 -0
  57. package/dist/app/session-shell/workflow-router.d.ts +25 -0
  58. package/dist/app/session-shell/workflow-router.js +39 -0
  59. package/dist/cli/dispatch.d.ts +11 -1
  60. package/dist/cli/dispatch.js +79 -5
  61. package/dist/cli/tabs-request.d.ts +7 -0
  62. package/dist/cli/tabs-request.js +1 -0
  63. package/dist/cli/tabs.d.ts +14 -0
  64. package/dist/cli/tabs.js +151 -0
  65. package/dist/cli/version-stats.js +38 -3
  66. package/dist/composition/owned-settings.d.ts +12 -0
  67. package/dist/composition/owned-settings.js +36 -0
  68. package/dist/composition/owned-ui.d.ts +27 -28
  69. package/dist/composition/owned-ui.js +207 -153
  70. package/dist/composition/reference-selection-options.d.ts +3 -0
  71. package/dist/composition/reference-selection-options.js +16 -0
  72. package/dist/composition/resident-tab-bridge.d.ts +25 -0
  73. package/dist/composition/resident-tab-bridge.js +180 -0
  74. package/dist/composition/session-backend.d.ts +19 -0
  75. package/dist/composition/session-backend.js +1 -0
  76. package/dist/composition/session-runtime-registry.d.ts +20 -0
  77. package/dist/composition/session-runtime-registry.js +85 -0
  78. package/dist/composition/settings-route-host.d.ts +16 -2
  79. package/dist/composition/settings-route-host.js +42 -17
  80. package/dist/composition/settings-search-input.d.ts +9 -0
  81. package/dist/composition/settings-search-input.js +61 -0
  82. package/dist/composition/startup-route.d.ts +32 -0
  83. package/dist/composition/startup-route.js +72 -0
  84. package/dist/composition/utility-tab.d.ts +28 -0
  85. package/dist/composition/utility-tab.js +244 -0
  86. package/dist/contracts/owned-ui/index.d.ts +1 -1
  87. package/dist/contracts/owned-ui/model.d.ts +3 -0
  88. package/dist/contracts/owned-ui/session-backend.d.ts +3 -0
  89. package/dist/contracts/owned-ui/session-workflows.d.ts +11 -4
  90. package/dist/contracts/presentation/index.d.ts +11 -0
  91. package/dist/contracts/presentation/index.js +12 -0
  92. package/dist/features/launch/development-launch.js +6 -0
  93. package/dist/features/launch/index.d.ts +1 -1
  94. package/dist/features/launch/intent.d.ts +3 -1
  95. package/dist/features/launch/intent.js +7 -4
  96. package/dist/features/launch/profile-paths.js +4 -0
  97. package/dist/features/owned-ui/plus-menu-dialog.d.ts +22 -0
  98. package/dist/features/owned-ui/plus-menu-dialog.js +84 -0
  99. package/dist/features/owned-ui/project-trust-dialog.d.ts +1 -1
  100. package/dist/features/owned-ui/project-trust-dialog.js +6 -8
  101. package/dist/features/owned-ui/project-trust-prompt.d.ts +1 -0
  102. package/dist/features/owned-ui/project-trust-prompt.js +7 -3
  103. package/dist/features/owned-ui/reference-document-selection.d.ts +30 -0
  104. package/dist/features/owned-ui/reference-document-selection.js +179 -0
  105. package/dist/features/owned-ui/reference-screen-app.d.ts +6 -1
  106. package/dist/features/owned-ui/reference-screen-app.js +51 -10
  107. package/dist/features/owned-ui/settings-app.d.ts +13 -2
  108. package/dist/features/owned-ui/settings-app.js +136 -97
  109. package/dist/features/owned-ui/settings-search-input.d.ts +29 -0
  110. package/dist/features/owned-ui/settings-search-input.js +1 -0
  111. package/dist/features/prompt-history/index.d.ts +1 -1
  112. package/dist/features/prompt-history/paths.d.ts +2 -1
  113. package/dist/features/prompt-history/paths.js +10 -2
  114. package/dist/features/prompt-history/service.d.ts +5 -0
  115. package/dist/features/prompt-history/service.js +1 -1
  116. package/dist/features/resident-tab/auto-name.d.ts +11 -0
  117. package/dist/features/resident-tab/auto-name.js +44 -0
  118. package/dist/features/resident-tab/index.d.ts +5 -0
  119. package/dist/features/resident-tab/index.js +7 -0
  120. package/dist/features/resident-tab/shortcut-bindings-file.d.ts +8 -0
  121. package/dist/features/resident-tab/shortcut-bindings-file.js +40 -0
  122. package/dist/features/resident-tab/shortcut-declarations.d.ts +13 -0
  123. package/dist/features/resident-tab/shortcut-declarations.js +26 -0
  124. package/dist/features/resident-tab/shortcut-projection.d.ts +29 -0
  125. package/dist/features/resident-tab/shortcut-projection.js +64 -0
  126. package/dist/features/resident-tab/status-deriver.d.ts +10 -0
  127. package/dist/features/resident-tab/status-deriver.js +12 -0
  128. package/dist/foundation/launch-context/index.d.ts +12 -0
  129. package/dist/foundation/launch-context/index.js +26 -0
  130. package/dist/foundation/launch-guardian/exit-watcher.d.ts +14 -0
  131. package/dist/foundation/launch-guardian/exit-watcher.js +94 -0
  132. package/dist/foundation/launch-guardian/main.d.ts +7 -1
  133. package/dist/foundation/launch-guardian/main.js +60 -7
  134. package/dist/foundation/lifecycle/session-repository-context.js +16 -2
  135. package/dist/foundation/process-containment/{native-guardian-containment.d.ts → addon-containment.d.ts} +7 -5
  136. package/dist/foundation/process-containment/addon-containment.js +139 -0
  137. package/dist/foundation/process-containment/addon-process-inspector.d.ts +11 -0
  138. package/dist/foundation/process-containment/addon-process-inspector.js +36 -0
  139. package/dist/foundation/process-containment/addon.d.ts +42 -0
  140. package/dist/foundation/process-containment/addon.js +57 -0
  141. package/dist/foundation/process-containment/artifact.d.ts +1 -1
  142. package/dist/foundation/process-containment/artifact.js +6 -5
  143. package/dist/foundation/process-containment/contracts.d.ts +2 -0
  144. package/dist/foundation/process-containment/index.d.ts +4 -4
  145. package/dist/foundation/process-containment/index.js +3 -3
  146. package/dist/foundation/process-containment/native-process-inspector.d.ts +2 -1
  147. package/dist/foundation/process-containment/native-process-inspector.js +10 -10
  148. package/dist/foundation/release/automatic-update.d.ts +37 -0
  149. package/dist/foundation/release/automatic-update.js +265 -0
  150. package/dist/foundation/release/bootstrap.d.ts +7 -9
  151. package/dist/foundation/release/bootstrap.js +107 -24
  152. package/dist/foundation/release/cohort-state.d.ts +1 -1
  153. package/dist/foundation/release/cohort-state.js +1 -1
  154. package/dist/foundation/release/dependency-certification.js +54 -19
  155. package/dist/foundation/release/early-accent.d.ts +12 -0
  156. package/dist/foundation/release/early-accent.js +59 -0
  157. package/dist/foundation/release/index.d.ts +2 -2
  158. package/dist/foundation/release/index.js +2 -2
  159. package/dist/foundation/release/latest-release.d.ts +24 -2
  160. package/dist/foundation/release/latest-release.js +51 -1
  161. package/dist/foundation/release/progress-palette.generated.d.ts +137 -3
  162. package/dist/foundation/release/progress-palette.generated.js +137 -3
  163. package/dist/foundation/release/release-gc.d.ts +3 -0
  164. package/dist/foundation/release/release-gc.js +59 -8
  165. package/dist/foundation/release/release-store.d.ts +12 -0
  166. package/dist/foundation/release/release-store.js +124 -2
  167. package/dist/foundation/release/update-execution-lease.d.ts +48 -0
  168. package/dist/foundation/release/update-execution-lease.js +161 -0
  169. package/dist/foundation/release/update.d.ts +12 -7
  170. package/dist/foundation/release/update.js +281 -196
  171. package/dist/foundation/resident-tabs/bounded-host-command.d.ts +18 -0
  172. package/dist/foundation/resident-tabs/bounded-host-command.js +39 -0
  173. package/dist/foundation/resident-tabs/bridge-client.d.ts +70 -0
  174. package/dist/foundation/resident-tabs/bridge-client.js +321 -0
  175. package/dist/foundation/resident-tabs/doctor.d.ts +28 -0
  176. package/dist/foundation/resident-tabs/doctor.js +166 -0
  177. package/dist/foundation/resident-tabs/draft-checkpoint.d.ts +27 -0
  178. package/dist/foundation/resident-tabs/draft-checkpoint.js +145 -0
  179. package/dist/foundation/resident-tabs/ensure-terminal-host.d.ts +36 -0
  180. package/dist/foundation/resident-tabs/ensure-terminal-host.js +151 -0
  181. package/dist/foundation/resident-tabs/fault-injection.d.ts +8 -0
  182. package/dist/foundation/resident-tabs/fault-injection.js +26 -0
  183. package/dist/foundation/resident-tabs/fixture-control.d.ts +7 -0
  184. package/dist/foundation/resident-tabs/fixture-control.js +35 -0
  185. package/dist/foundation/resident-tabs/host-entry.d.ts +1 -0
  186. package/dist/foundation/resident-tabs/host-entry.js +17 -0
  187. package/dist/foundation/resident-tabs/index.d.ts +12 -0
  188. package/dist/foundation/resident-tabs/index.js +6 -0
  189. package/dist/foundation/resident-tabs/maintenance.d.ts +39 -0
  190. package/dist/foundation/resident-tabs/maintenance.js +75 -0
  191. package/dist/foundation/resident-tabs/progress-observation-schema.d.ts +34 -0
  192. package/dist/foundation/resident-tabs/progress-observation-schema.js +1 -0
  193. package/dist/foundation/resident-tabs/progress-observation.d.ts +4 -0
  194. package/dist/foundation/resident-tabs/progress-observation.js +150 -0
  195. package/dist/foundation/resident-tabs/prompt-journal.d.ts +63 -0
  196. package/dist/foundation/resident-tabs/prompt-journal.js +213 -0
  197. package/dist/foundation/resident-tabs/protocol.d.ts +12 -0
  198. package/dist/foundation/resident-tabs/protocol.js +195 -0
  199. package/dist/foundation/resident-tabs/recovery.d.ts +26 -0
  200. package/dist/foundation/resident-tabs/recovery.js +205 -0
  201. package/dist/foundation/resident-tabs/release-holds.d.ts +28 -0
  202. package/dist/foundation/resident-tabs/release-holds.js +75 -0
  203. package/dist/foundation/resident-tabs/routes.d.ts +5 -0
  204. package/dist/foundation/resident-tabs/routes.js +5 -0
  205. package/dist/foundation/resident-tabs/routing.d.ts +11 -0
  206. package/dist/foundation/resident-tabs/routing.js +10 -0
  207. package/dist/foundation/resident-tabs/session-sync.d.ts +14 -0
  208. package/dist/foundation/resident-tabs/session-sync.js +37 -0
  209. package/dist/foundation/resident-tabs/settings.d.ts +12 -0
  210. package/dist/foundation/resident-tabs/settings.js +58 -0
  211. package/dist/foundation/resident-tabs/terminal-host-artifact.d.ts +14 -0
  212. package/dist/foundation/resident-tabs/terminal-host-artifact.js +78 -0
  213. package/dist/foundation/resident-tabs/zip-archive.d.ts +9 -0
  214. package/dist/foundation/resident-tabs/zip-archive.js +56 -0
  215. package/dist/foundation/session-writer-lock/index.d.ts +30 -0
  216. package/dist/foundation/session-writer-lock/index.js +203 -0
  217. package/dist/foundation/startup/startup-descriptor.js +2 -2
  218. package/dist/foundation/terminal-cleanup/index.d.ts +1 -1
  219. package/dist/foundation/terminal-cleanup/index.js +1 -1
  220. package/dist/foundation/terminal-cleanup/terminal-reset.d.ts +6 -0
  221. package/dist/foundation/terminal-cleanup/terminal-reset.js +6 -0
  222. package/dist/integrations/pi/components/editor-interaction.d.ts +2 -0
  223. package/dist/integrations/pi/components/modal-frame.d.ts +17 -1
  224. package/dist/integrations/pi/components/modal-frame.js +48 -9
  225. package/dist/integrations/pi/components/models-dialog.js +4 -52
  226. package/dist/integrations/pi/components/owned-editor-ux.d.ts +6 -1
  227. package/dist/integrations/pi/components/owned-editor-ux.js +138 -11
  228. package/dist/integrations/pi/components/resources/builtin-themes.d.ts +4 -4
  229. package/dist/integrations/pi/components/resources/builtin-themes.js +4 -4
  230. package/dist/integrations/pi/components/share-operation-dialog.d.ts +2 -0
  231. package/dist/integrations/pi/components/share-operation-dialog.js +2 -1
  232. package/dist/integrations/pi/components/shell-editor-autocomplete.js +58 -36
  233. package/dist/integrations/pi/components/shell-extension-ui.js +79 -60
  234. package/dist/integrations/pi/components/shell-footer-status.d.ts +1 -1
  235. package/dist/integrations/pi/components/shell-footer-status.js +21 -5
  236. package/dist/integrations/pi/components/shell-hotkey-sections.js +1 -1
  237. package/dist/integrations/pi/components/shell-presenters-info.d.ts +5 -2
  238. package/dist/integrations/pi/components/shell-presenters-info.js +18 -4
  239. package/dist/integrations/pi/components/shell-presenters-transcript.js +4 -1
  240. package/dist/integrations/pi/components/shell-selectors-dialogs.js +5 -1
  241. package/dist/integrations/pi/components/shell-shared-facade.d.ts +12 -1
  242. package/dist/integrations/pi/components/skills-dialog.js +2 -2
  243. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.d.ts +1 -1
  244. package/dist/integrations/pi/components/upstream/adjacent/core/keybindings.js +17 -4
  245. package/dist/integrations/pi/components/upstream/assets/earendil-image.json +2 -2
  246. package/dist/integrations/pi/components/upstream/components/countdown-timer.d.ts +1 -1
  247. package/dist/integrations/pi/components/upstream/components/earendil-announcement.js +1 -1
  248. package/dist/integrations/pi/components/upstream/components/extension-editor.d.ts +1 -1
  249. package/dist/integrations/pi/components/upstream/components/extension-editor.js +1 -1
  250. package/dist/integrations/pi/components/upstream/components/extension-input.js +1 -1
  251. package/dist/integrations/pi/components/upstream/components/extension-selector.js +1 -1
  252. package/dist/integrations/pi/components/upstream/components/mermaid.js +1 -1
  253. package/dist/integrations/pi/components/upstream/components/owned-editor.d.ts +8 -6
  254. package/dist/integrations/pi/components/upstream/components/owned-editor.js +16 -9
  255. package/dist/integrations/pi/components/upstream/components/pi-logo.js +1 -1
  256. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.d.ts +4 -4
  257. package/dist/integrations/pi/components/upstream/components/scoped-models-selector.js +2 -2
  258. package/dist/integrations/pi/components/upstream/components/session-footer.d.ts +2 -1
  259. package/dist/integrations/pi/components/upstream/components/session-footer.js +31 -25
  260. package/dist/integrations/pi/components/upstream/components/session-selector-search.js +1 -1
  261. package/dist/integrations/pi/components/upstream/components/session-selector.js +8 -7
  262. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.d.ts +1 -1
  263. package/dist/integrations/pi/components/upstream/components/skill-invocation-message.js +1 -1
  264. package/dist/integrations/pi/components/upstream/components/status-indicator.d.ts +2 -2
  265. package/dist/integrations/pi/components/upstream/components/status-indicator.js +3 -3
  266. package/dist/integrations/pi/components/upstream/components/themed-text.d.ts +1 -1
  267. package/dist/integrations/pi/components/upstream/components/themed-text.js +1 -1
  268. package/dist/integrations/pi/components/upstream/components/thinking-selector.d.ts +8 -7
  269. package/dist/integrations/pi/components/upstream/components/thinking-selector.js +10 -9
  270. package/dist/integrations/pi/components/upstream/components/tool-execution.d.ts +2 -6
  271. package/dist/integrations/pi/components/upstream/components/tool-execution.js +103 -101
  272. package/dist/integrations/pi/components/upstream/components/tree-selector.d.ts +9 -9
  273. package/dist/integrations/pi/components/upstream/components/tree-selector.js +13 -21
  274. package/dist/integrations/pi/components/upstream/components/trust-selector.js +1 -1
  275. package/dist/integrations/pi/components/upstream/external-editor.js +1 -1
  276. package/dist/integrations/pi/components/upstream/history/editor-core.d.ts +2 -2
  277. package/dist/integrations/pi/components/upstream/history/editor-core.js +7 -5
  278. package/dist/integrations/pi/components/upstream/history/kill-ring.d.ts +1 -1
  279. package/dist/integrations/pi/components/upstream/history/kill-ring.js +1 -1
  280. package/dist/integrations/pi/components/upstream/history/printable-key.js +1 -1
  281. package/dist/integrations/pi/components/upstream/history/text-helpers.js +1 -1
  282. package/dist/integrations/pi/components/upstream/history/undo-stack.d.ts +1 -1
  283. package/dist/integrations/pi/components/upstream/history/undo-stack.js +1 -1
  284. package/dist/integrations/pi/components/upstream/history/word-navigation.js +1 -1
  285. package/dist/integrations/pi/components/upstream/model-search.d.ts +1 -1
  286. package/dist/integrations/pi/components/upstream/program-status-reporter.d.ts +1 -1
  287. package/dist/integrations/pi/components/upstream/theme/theme-controller.d.ts +1 -1
  288. package/dist/integrations/pi/components/upstream/theme/theme.d.ts +5 -0
  289. package/dist/integrations/pi/components/upstream/theme/theme.js +29 -2
  290. package/dist/integrations/pi/engine/adapter.d.ts +5 -77
  291. package/dist/integrations/pi/engine/adapter.js +95 -394
  292. package/dist/integrations/pi/engine/command-dispatch.d.ts +13 -0
  293. package/dist/integrations/pi/engine/command-dispatch.js +57 -0
  294. package/dist/integrations/pi/engine/host.js +2 -2
  295. package/dist/integrations/pi/engine/offline-settings-port.d.ts +23 -0
  296. package/dist/integrations/pi/engine/offline-settings-port.js +53 -0
  297. package/dist/integrations/pi/engine/pi-settings-metadata.json +14 -2
  298. package/dist/integrations/pi/engine/ports.d.ts +56 -0
  299. package/dist/integrations/pi/engine/ports.js +93 -0
  300. package/dist/integrations/pi/engine/prompt-suggestions.d.ts +1 -0
  301. package/dist/integrations/pi/engine/prompt-suggestions.js +40 -0
  302. package/dist/integrations/pi/engine/resources/changelog.json +4 -4
  303. package/dist/integrations/pi/engine/runtime-integration.js +102 -29
  304. package/dist/integrations/pi/engine/session-runtime.d.ts +0 -6
  305. package/dist/integrations/pi/engine/session-runtime.js +13 -5
  306. package/dist/integrations/pi/engine/session-selection.d.ts +3 -0
  307. package/dist/integrations/pi/engine/session-selection.js +45 -9
  308. package/dist/integrations/pi/engine/settings-bridge.d.ts +5 -0
  309. package/dist/integrations/pi/engine/settings-bridge.js +15 -0
  310. package/dist/integrations/pi/engine/settings-port.js +11 -15
  311. package/dist/integrations/pi/engine/view-state.d.ts +42 -0
  312. package/dist/integrations/pi/engine/view-state.js +126 -0
  313. package/dist/integrations/pi/engine/workflow-contexts.js +10 -1
  314. package/dist/integrations/pi/engine/workflow-runner.js +74 -5
  315. package/dist/integrations/pi/engine/workflow-support.d.ts +12 -0
  316. package/dist/integrations/pi/engine/workflow-support.js +36 -0
  317. package/dist/integrations/pi/engine/workflows.d.ts +3 -1
  318. package/dist/integrations/pi/engine/workflows.js +1 -0
  319. package/dist/integrations/pi/startup-public.js +257 -310
  320. package/dist/integrations/pi/startup-public.manifest.json +564 -440
  321. package/dist/integrations/pi/tui-runtime/adapter.d.ts +6 -0
  322. package/dist/integrations/pi/tui-runtime/adapter.js +32 -1
  323. package/dist/integrations/pi/tui-runtime/contracts.d.ts +5 -0
  324. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.d.ts +12 -1
  325. package/dist/integrations/pi/tui-runtime/damage-aware-terminal.js +31 -2
  326. package/dist/native/darwin-arm64/manifest.json +10 -7
  327. package/dist/native/darwin-arm64/process-guardian.node +0 -0
  328. package/dist/native/darwin-arm64/terminal-host-THIRD-PARTY-NOTICES.txt +10500 -0
  329. package/dist/native/darwin-arm64/terminal-host.manifest.json +46 -0
  330. package/dist/native/darwin-arm64/terminal-host.node +0 -0
  331. package/dist/native/darwin-x64/manifest.json +23 -0
  332. package/dist/native/darwin-x64/process-guardian.node +0 -0
  333. package/dist/native/darwin-x64/terminal-host-THIRD-PARTY-NOTICES.txt +10737 -0
  334. package/dist/native/darwin-x64/terminal-host.manifest.json +46 -0
  335. package/dist/native/darwin-x64/terminal-host.node +0 -0
  336. package/dist/native/linux-x64/manifest.json +10 -7
  337. package/dist/native/linux-x64/process-guardian.node +0 -0
  338. package/dist/native/linux-x64/terminal-host-THIRD-PARTY-NOTICES.txt +11226 -0
  339. package/dist/native/linux-x64/terminal-host.manifest.json +46 -0
  340. package/dist/native/linux-x64/terminal-host.node +0 -0
  341. package/dist/native/win32-x64/manifest.json +10 -7
  342. package/dist/native/win32-x64/process-guardian.node +0 -0
  343. package/dist/native/win32-x64/terminal-host-THIRD-PARTY-NOTICES.txt +10757 -0
  344. package/dist/native/win32-x64/terminal-host.manifest.json +46 -0
  345. package/dist/native/win32-x64/terminal-host.node +0 -0
  346. package/dist/product-identity.d.ts +3 -3
  347. package/dist/product-identity.js +4 -4
  348. package/dist/product-identity.json +16 -2
  349. package/dist/runtime-payload-inventory.json +6330 -6677
  350. package/dist/ui/apps/host.d.ts +2 -0
  351. package/dist/ui/apps/host.js +7 -1
  352. package/dist/ui/components/dialog-panel.d.ts +17 -8
  353. package/dist/ui/components/dialog-panel.js +117 -41
  354. package/dist/ui/components/index.d.ts +5 -5
  355. package/dist/ui/components/index.js +4 -4
  356. package/dist/ui/components/line-input.d.ts +4 -1
  357. package/dist/ui/components/line-input.js +3 -1
  358. package/dist/ui/components/prompt-input.d.ts +11 -8
  359. package/dist/ui/components/prompt-input.js +15 -13
  360. package/dist/ui/components/scrollbar.d.ts +1 -1
  361. package/dist/ui/components/scrollbar.js +1 -1
  362. package/dist/ui/components/selection-copy.d.ts +3 -3
  363. package/dist/ui/components/selection-copy.js +16 -1
  364. package/dist/ui/components/spans.js +2 -2
  365. package/dist/ui/components/submitted-prompt.d.ts +9 -6
  366. package/dist/ui/components/submitted-prompt.js +20 -12
  367. package/dist/ui/components/surface.js +4 -2
  368. package/dist/ui/components/text-selection.d.ts +1 -2
  369. package/dist/ui/components/text-selection.js +5 -2
  370. package/dist/ui/components/text.d.ts +3 -6
  371. package/dist/ui/components/text.js +6 -8
  372. package/dist/ui/components/transcript-viewport.d.ts +9 -2
  373. package/dist/ui/components/transcript-viewport.js +179 -58
  374. package/dist/ui/settings/declarations.d.ts +90 -16
  375. package/dist/ui/settings/declarations.js +67 -14
  376. package/dist/ui/settings/early-accent.d.ts +81 -0
  377. package/dist/ui/settings/early-accent.js +50 -0
  378. package/dist/ui/settings/index.d.ts +4 -2
  379. package/dist/ui/settings/index.js +2 -1
  380. package/dist/ui/settings/manager.d.ts +16 -3
  381. package/dist/ui/settings/manager.js +122 -33
  382. package/dist/ui/settings/migrations.d.ts +6 -0
  383. package/dist/ui/settings/migrations.js +73 -0
  384. package/dist/ui/settings/profile-document.d.ts +26 -0
  385. package/dist/ui/settings/profile-document.js +164 -0
  386. package/dist/ui/settings/progress-palette.generated.d.ts +139 -0
  387. package/dist/ui/settings/progress-palette.generated.js +139 -0
  388. package/dist/ui/settings/sections.d.ts +4 -0
  389. package/dist/ui/settings/sections.js +9 -3
  390. package/docs/architecture/boundaries.md +24 -9
  391. package/docs/architecture/evidence/resident-tabs/linux-x64.md +37 -0
  392. package/docs/architecture/evidence/resident-tabs/macos-arm64.md +36 -0
  393. package/docs/architecture/evidence/resident-tabs/macos-x64.md +35 -0
  394. package/docs/architecture/evidence/resident-tabs/windows-x64.md +36 -0
  395. package/docs/architecture/internal-naming.md +3 -1
  396. package/docs/architecture/process-guardian-provenance.md +18 -10
  397. package/docs/architecture/project-structure.md +8 -0
  398. package/docs/architecture/resident-tabs-requirements.md +18 -0
  399. package/docs/architecture/resident-tabs.md +649 -0
  400. package/docs/architecture/response-copy-delivery.md +1 -1
  401. package/docs/architecture/terminal-host-proof-gate.md +2 -0
  402. package/docs/architecture/terminal-host-provenance.md +16 -4
  403. package/docs/architecture/tool-image-presentation.md +2 -1
  404. package/docs/architecture/toolchain.md +11 -9
  405. package/docs/ci-release-runbook.md +14 -7
  406. package/docs/features/launch-profiles.md +11 -8
  407. package/docs/features/prompt-history.md +41 -20
  408. package/docs/manual-resident-tabs-acceptance.md +51 -0
  409. package/docs/openspec-archive-automation.md +49 -22
  410. package/docs/validation.md +49 -9
  411. package/package.json +19 -6
  412. package/dist/foundation/process-containment/darwin-process-inspector.d.ts +0 -5
  413. package/dist/foundation/process-containment/darwin-process-inspector.js +0 -7
  414. package/dist/foundation/process-containment/native-guardian-containment.js +0 -152
  415. package/dist/foundation/process-containment/windows-process-inspector.d.ts +0 -19
  416. package/dist/foundation/process-containment/windows-process-inspector.js +0 -56
  417. package/dist/native/darwin-arm64/process-guardian +0 -0
  418. package/dist/native/linux-x64/process-guardian +0 -0
  419. package/dist/native/win32-x64/process-guardian.exe +0 -0
@@ -1,11 +1,9 @@
1
- export declare const OWNED_UI_SETTINGS_VERSION = 13;
1
+ export declare const OWNED_UI_SETTINGS_VERSION = 19;
2
2
  export type OwnedUiSettingValue = string | number | boolean;
3
3
  export type OwnedUiSettingApplication = "live" | "restart";
4
4
  export interface OwnedUiSettingDeclaration {
5
5
  readonly id: string;
6
- /** Optional presentation label; the id remains the persistence key. */
7
6
  readonly label?: string;
8
- /** Optional settings-screen group for related owned controls. */
9
7
  readonly section?: {
10
8
  readonly id: string;
11
9
  readonly title: string;
@@ -14,23 +12,40 @@ export interface OwnedUiSettingDeclaration {
14
12
  readonly application: OwnedUiSettingApplication;
15
13
  readonly defaultValue: OwnedUiSettingValue;
16
14
  readonly allowedValues: readonly OwnedUiSettingValue[];
15
+ /**
16
+ * Parts of a structured setting, edited through their own dialog: the value is the comma-separated
17
+ * keys of the enabled parts in this order.
18
+ */
19
+ readonly flags?: readonly {
20
+ readonly key: string;
21
+ readonly label: string;
22
+ readonly description: string;
23
+ }[];
17
24
  }
18
- /**
19
- * Every A1 setting, keyed by its id. The table is the one declaration: ids, defaults, and allowed
20
- * values are read from it, and `OwnedSettingValueOf` derives each getter's type from it.
21
- */
22
25
  export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
23
26
  readonly updateCheck: Readonly<{
24
27
  id: "updateCheck";
25
- label: "Update check";
28
+ label: "Update";
26
29
  section: Readonly<{
27
30
  id: "generic";
28
31
  title: "Generic";
29
32
  }>;
30
- description: "Check once a day at startup whether a newer A1 release exists on this channel and show a notice. Uses the public npm registry; applies on next start.";
33
+ description: "Auto installs verified channel updates silently, Notify shows the current update notice, and No leaves updates manual. Checks use the public npm registry; applies on next start.";
31
34
  application: "restart";
32
- defaultValue: true;
33
- allowedValues: readonly [true, false];
35
+ 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.";
46
+ application: "live";
47
+ defaultValue: "8:00 PM";
48
+ allowedValues: readonly ["20:00", "8:00 PM"];
34
49
  }>;
35
50
  readonly accentColor: Readonly<{
36
51
  id: "accentColor";
@@ -41,8 +56,8 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
41
56
  }>;
42
57
  description: "Color used by highlighted interface controls, list markers, and tonal interface surfaces.";
43
58
  application: "live";
44
- defaultValue: "purple";
45
- allowedValues: readonly ["purple", "blue", "cyan", "green", "orange", "pink"];
59
+ defaultValue: "blue";
60
+ allowedValues: readonly ["blue", "purple", "cyan", "green", "orange", "pink"];
46
61
  }>;
47
62
  readonly backgroundStyle: Readonly<{
48
63
  id: "backgroundStyle";
@@ -111,11 +126,23 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
111
126
  id: "history";
112
127
  title: "History";
113
128
  }>;
114
- description: "Retain reusable prompts across sessions. Applies on next start; disabling does not erase saved history or stop existing instances.";
129
+ description: "Retain reusable prompts after restart. Applies on next start; disabling does not erase saved history or stop existing instances.";
115
130
  application: "restart";
116
131
  defaultValue: true;
117
132
  allowedValues: readonly [true, false];
118
133
  }>;
134
+ readonly promptHistoryScope: Readonly<{
135
+ id: "promptHistoryScope";
136
+ label: "History scope";
137
+ section: Readonly<{
138
+ id: "history";
139
+ title: "History";
140
+ }>;
141
+ description: "Unique shows each agent session's history; Shared shows the profile-wide history. Switches running agents without moving or erasing saved prompts.";
142
+ application: "live";
143
+ defaultValue: "unique";
144
+ allowedValues: readonly ["unique", "shared"];
145
+ }>;
119
146
  readonly promptHistoryMaxItems: Readonly<{
120
147
  id: "promptHistoryMaxItems";
121
148
  label: "History limit";
@@ -164,11 +191,58 @@ export declare const OWNED_SETTING_DECLARATIONS: Readonly<{
164
191
  defaultValue: 8;
165
192
  allowedValues: readonly [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
166
193
  }>;
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 tabsAutoName: Readonly<{
232
+ id: "tabsAutoName";
233
+ label: "Auto name";
234
+ section: Readonly<{
235
+ id: "tabs";
236
+ title: "Tab Bar";
237
+ }>;
238
+ description: "Automatically name a new tab from its first completed turn with the tab's current model.";
239
+ application: "live";
240
+ defaultValue: true;
241
+ allowedValues: readonly [true, false];
242
+ }>;
167
243
  }>;
168
244
  export type OwnedSettingId = keyof typeof OWNED_SETTING_DECLARATIONS;
169
- /** The value type a setting's declaration allows: a literal union for a choice, `number` for a stepped range. */
170
245
  export type OwnedSettingValueOf<Id extends OwnedSettingId> = (typeof OWNED_SETTING_DECLARATIONS)[Id]["allowedValues"][number];
171
- /** The declarations in declaration order, for resolution, persistence, and the settings screen. */
172
246
  export declare const OWNED_UI_SETTING_DECLARATIONS: readonly OwnedUiSettingDeclaration[];
173
247
  export declare function isOwnedSettingId(id: string): id is OwnedSettingId;
174
248
  export declare function assertOwnedUiSettingDeclarations(declarations: readonly OwnedUiSettingDeclaration[]): void;
@@ -1,27 +1,44 @@
1
- export const OWNED_UI_SETTINGS_VERSION = 13;
1
+ export const OWNED_UI_SETTINGS_VERSION = 19;
2
2
  const UI_ACCENT_COLOR_CHOICES = Object.freeze([
3
- "purple", "blue", "cyan", "green", "orange", "pink",
3
+ "blue", "purple", "cyan", "green", "orange", "pink",
4
4
  ]);
5
5
  const MAX_ID_LENGTH = 64;
6
6
  const ID_PATTERN = /^[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)*$/;
7
- /** Declared first so the settings screen opens on it; sections follow first-declaration order. */
8
7
  const GENERIC_SECTION = Object.freeze({ id: "generic", title: "Generic" });
9
8
  const APPEARANCE_SECTION = Object.freeze({ id: "appearance", title: "Appearance" });
10
9
  const SCROLL_SECTION = Object.freeze({ id: "scroll", title: "Scroll" });
11
10
  const AGENT_SECTION = Object.freeze({ id: "agent", title: "Agent" });
12
- /**
13
- * Every A1 setting, keyed by its id. The table is the one declaration: ids, defaults, and allowed
14
- * values are read from it, and `OwnedSettingValueOf` derives each getter's type from it.
15
- */
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
+ ]);
16
22
  export const OWNED_SETTING_DECLARATIONS = Object.freeze({
17
23
  updateCheck: Object.freeze({
18
24
  id: "updateCheck",
19
- label: "Update check",
25
+ label: "Update",
20
26
  section: GENERIC_SECTION,
21
- description: "Check once a day at startup whether a newer A1 release exists on this channel and show a notice. Uses the public npm registry; applies on next start.",
27
+ description: "Auto installs verified channel updates silently, Notify shows the current update notice, and No leaves updates manual. Checks use the public npm registry; applies on next start.",
22
28
  application: "restart",
23
- defaultValue: true,
24
- allowedValues: Object.freeze([true, false]),
29
+ defaultValue: "auto",
30
+ allowedValues: Object.freeze(["auto", "notify", "no"]),
31
+ }),
32
+ timeFormat: Object.freeze({
33
+ id: "timeFormat",
34
+ label: "Time format",
35
+ section: GENERIC_SECTION,
36
+ description: "Format used by submitted-prompt timestamps and the resident tab clock.",
37
+ application: "live",
38
+ defaultValue: "8:00 PM",
39
+ allowedValues: Object.freeze([
40
+ "20:00", "8:00 PM",
41
+ ]),
25
42
  }),
26
43
  accentColor: Object.freeze({
27
44
  id: "accentColor",
@@ -29,7 +46,7 @@ export const OWNED_SETTING_DECLARATIONS = Object.freeze({
29
46
  section: APPEARANCE_SECTION,
30
47
  description: "Color used by highlighted interface controls, list markers, and tonal interface surfaces.",
31
48
  application: "live",
32
- defaultValue: "purple",
49
+ defaultValue: "blue",
33
50
  allowedValues: UI_ACCENT_COLOR_CHOICES,
34
51
  }),
35
52
  backgroundStyle: Object.freeze({
@@ -83,11 +100,20 @@ export const OWNED_SETTING_DECLARATIONS = Object.freeze({
83
100
  id: "promptHistoryEnabled",
84
101
  label: "Persistent history",
85
102
  section: Object.freeze({ id: "history", title: "History" }),
86
- description: "Retain reusable prompts across sessions. Applies on next start; disabling does not erase saved history or stop existing instances.",
103
+ description: "Retain reusable prompts after restart. Applies on next start; disabling does not erase saved history or stop existing instances.",
87
104
  application: "restart",
88
105
  defaultValue: true,
89
106
  allowedValues: Object.freeze([true, false]),
90
107
  }),
108
+ promptHistoryScope: Object.freeze({
109
+ id: "promptHistoryScope",
110
+ label: "History scope",
111
+ section: Object.freeze({ id: "history", title: "History" }),
112
+ description: "Unique shows each agent session's history; Shared shows the profile-wide history. Switches running agents without moving or erasing saved prompts.",
113
+ application: "live",
114
+ defaultValue: "unique",
115
+ allowedValues: Object.freeze(["unique", "shared"]),
116
+ }),
91
117
  promptHistoryMaxItems: Object.freeze({
92
118
  id: "promptHistoryMaxItems",
93
119
  label: "History limit",
@@ -124,8 +150,35 @@ export const OWNED_SETTING_DECLARATIONS = Object.freeze({
124
150
  defaultValue: 8,
125
151
  allowedValues: Object.freeze([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]),
126
152
  }),
153
+ tabsPosition: Object.freeze({
154
+ id: "tabsPosition",
155
+ label: "Position",
156
+ section: TABS_SECTION,
157
+ description: "Place the resident tab bar at the top or bottom of the terminal.",
158
+ application: "live",
159
+ defaultValue: "top",
160
+ allowedValues: Object.freeze(["top", "bottom"]),
161
+ }),
162
+ tabBarPlusMenu: Object.freeze({
163
+ id: "tabBarPlusMenu",
164
+ label: "Plus menu",
165
+ section: TABS_SECTION,
166
+ description: "The tabs + offers. With only Agent, + adds an Agent at once; with more, it opens a menu; with none, + is hidden.",
167
+ application: "live",
168
+ defaultValue: "agent",
169
+ allowedValues: PLUS_MENU_VALUES,
170
+ flags: PLUS_MENU_KINDS,
171
+ }),
172
+ tabsAutoName: Object.freeze({
173
+ id: "tabsAutoName",
174
+ label: "Auto name",
175
+ section: TABS_SECTION,
176
+ description: "Automatically name a new tab from its first completed turn with the tab's current model.",
177
+ application: "live",
178
+ defaultValue: true,
179
+ allowedValues: Object.freeze([true, false]),
180
+ }),
127
181
  });
128
- /** The declarations in declaration order, for resolution, persistence, and the settings screen. */
129
182
  export const OWNED_UI_SETTING_DECLARATIONS = Object.freeze(Object.values(OWNED_SETTING_DECLARATIONS));
130
183
  export function isOwnedSettingId(id) {
131
184
  return Object.hasOwn(OWNED_SETTING_DECLARATIONS, id);
@@ -0,0 +1,81 @@
1
+ import type { UiAccentColor } from "../../contracts/owned-ui/index.js";
2
+ type Appearance = "dark" | "light";
3
+ type ColorMode = "truecolor" | "256color";
4
+ /** Global settings only: project resources must remain unavailable until trust is resolved. */
5
+ export declare function readPreTrustAccent(environment?: NodeJS.ProcessEnv): UiAccentColor;
6
+ export declare function preTrustPalette(color: UiAccentColor, appearance: Appearance, mode: ColorMode): {
7
+ accent: string;
8
+ border: string;
9
+ } | {
10
+ accent: string;
11
+ border: string;
12
+ } | {
13
+ accent: string;
14
+ border: string;
15
+ } | {
16
+ accent: string;
17
+ border: string;
18
+ } | {
19
+ accent: string;
20
+ border: string;
21
+ } | {
22
+ accent: string;
23
+ border: string;
24
+ } | {
25
+ accent: string;
26
+ border: string;
27
+ } | {
28
+ accent: string;
29
+ border: string;
30
+ } | {
31
+ accent: string;
32
+ border: string;
33
+ } | {
34
+ accent: string;
35
+ border: string;
36
+ } | {
37
+ accent: string;
38
+ border: string;
39
+ } | {
40
+ accent: string;
41
+ border: string;
42
+ } | {
43
+ accent: string;
44
+ border: string;
45
+ } | {
46
+ accent: string;
47
+ border: string;
48
+ } | {
49
+ accent: string;
50
+ border: string;
51
+ } | {
52
+ accent: string;
53
+ border: string;
54
+ } | {
55
+ accent: string;
56
+ border: string;
57
+ } | {
58
+ accent: string;
59
+ border: string;
60
+ } | {
61
+ accent: string;
62
+ border: string;
63
+ } | {
64
+ accent: string;
65
+ border: string;
66
+ } | {
67
+ accent: string;
68
+ border: string;
69
+ } | {
70
+ accent: string;
71
+ border: string;
72
+ } | {
73
+ accent: string;
74
+ border: string;
75
+ } | {
76
+ accent: string;
77
+ border: string;
78
+ };
79
+ export declare function preTrustTerminalAppearance(environment?: NodeJS.ProcessEnv): Appearance;
80
+ export declare function preTrustTerminalColorMode(environment?: NodeJS.ProcessEnv): ColorMode;
81
+ export {};
@@ -0,0 +1,50 @@
1
+ import { readFileSync, statSync } from "node:fs";
2
+ import { homedir } from "node:os";
3
+ import { isAbsolute, join } from "node:path";
4
+ import { PRODUCT_IDENTITY } from "../../product-identity.js";
5
+ import { SHARED_PROGRESS_PALETTE } from "./progress-palette.generated.js";
6
+ /** Global settings only: project resources must remain unavailable until trust is resolved. */
7
+ export function readPreTrustAccent(environment = process.env) {
8
+ try {
9
+ const home = environment[PRODUCT_IDENTITY.environment.profileHome] ?? homedir();
10
+ if (!isAbsolute(home) || home.includes("\0"))
11
+ return "blue";
12
+ const file = join(home, PRODUCT_IDENTITY.state.piAgentProfile, "settings.json");
13
+ if (statSync(file).size > 256 * 1024)
14
+ return "blue";
15
+ const raw = readFileSync(file, "utf8");
16
+ if (Buffer.byteLength(raw, "utf8") > 256 * 1024)
17
+ return "blue";
18
+ const root = JSON.parse(raw.replace(/^\uFEFF/u, ""));
19
+ if (root === null || typeof root !== "object" || Array.isArray(root))
20
+ return "blue";
21
+ const namespace = root[PRODUCT_IDENTITY.commandName];
22
+ if (namespace === null || typeof namespace !== "object" || Array.isArray(namespace))
23
+ return "blue";
24
+ const value = namespace.accentColor;
25
+ if (value === "default")
26
+ return "purple";
27
+ return typeof value === "string" && Object.hasOwn(SHARED_PROGRESS_PALETTE, value) ? value : "blue";
28
+ }
29
+ catch {
30
+ return "blue";
31
+ }
32
+ }
33
+ export function preTrustPalette(color, appearance, mode) {
34
+ return SHARED_PROGRESS_PALETTE[color][appearance][mode];
35
+ }
36
+ export function preTrustTerminalAppearance(environment = process.env) {
37
+ const index = Number.parseInt((environment.COLORFGBG ?? "").split(";").at(-1) ?? "", 10);
38
+ return Number.isInteger(index) && (index === 7 || index === 15 || index >= 231) ? "light" : "dark";
39
+ }
40
+ export function preTrustTerminalColorMode(environment = process.env) {
41
+ if (environment.PI_TRUE_COLOR === "1")
42
+ return "truecolor";
43
+ if (environment.PI_TRUE_COLOR === "0")
44
+ return "256color";
45
+ const program = (environment.TERM_PROGRAM ?? "").toLowerCase();
46
+ const known = ["kitty", "ghostty", "wezterm", "rex", "warpterminal", "iterm.app", "alacritty", "vscode", "zed"];
47
+ return /^(truecolor|24bit)$/iu.test(environment.COLORTERM ?? "") || (environment.TERM ?? "").endsWith("-direct")
48
+ || process.platform === "win32" || environment.WT_SESSION !== undefined || known.includes(program)
49
+ ? "truecolor" : "256color";
50
+ }
@@ -1,10 +1,12 @@
1
1
  export { OWNED_SETTING_DECLARATIONS, OWNED_UI_SETTINGS_VERSION, 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 } from "./migrations.js";
4
- export type { OwnedUiSettingsMigration } from "./migrations.js";
3
+ export { OWNED_UI_SETTINGS_MIGRATIONS, assertOwnedUiSettingsMigrations, migrationsFrom, normalizeOwnedUiSettingsValues, } from "./migrations.js";
4
+ export type { OwnedUiSettingsCompatibilityResult, OwnedUiSettingsMigration } from "./migrations.js";
5
5
  export { documentFrom, parseOwnedUiSettingsDocument, resolveOwnedUiSettings, settingValue } from "./resolution.js";
6
6
  export type { OwnedUiResolvedSetting, OwnedUiSettingSource, OwnedUiSettingsDocument, OwnedUiSettingsNotice, OwnedUiSettingsNoticeCode, OwnedUiSettingsResolution, ResolveOwnedUiSettingsInput, } from "./resolution.js";
7
7
  export { AGENT_SECTION_ID, buildOwnedUiSettingsSections, findOwnedUiSettingsEntry } from "./sections.js";
8
8
  export type { AgentSettingsSnapshot, BuildOwnedUiSettingsSectionsInput, OwnedUiSettingsBackend, OwnedUiSettingsEntry, OwnedUiSettingsSection, } from "./sections.js";
9
9
  export { OwnedSettingsManager } from "./manager.js";
10
10
  export type { OwnedSettingsManagerOptions, OwnedUiSettingsChangeOutcome, OwnedUiSettingsListener } from "./manager.js";
11
+ export { assertProfileSettingsNamespaceAvailable, readProfileSettingsNamespace, repairProfileSettingsDocument, updateProfileSettingsNamespace, } from "./profile-document.js";
12
+ export type { ProfileSettingsNamespaceRead, ProfileSettingsNamespaceUpdate } from "./profile-document.js";
@@ -1,5 +1,6 @@
1
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 } from "./migrations.js";
2
+ export { OWNED_UI_SETTINGS_MIGRATIONS, assertOwnedUiSettingsMigrations, migrationsFrom, normalizeOwnedUiSettingsValues, } from "./migrations.js";
3
3
  export { documentFrom, parseOwnedUiSettingsDocument, resolveOwnedUiSettings, settingValue } from "./resolution.js";
4
4
  export { AGENT_SECTION_ID, buildOwnedUiSettingsSections, findOwnedUiSettingsEntry } from "./sections.js";
5
5
  export { OwnedSettingsManager } from "./manager.js";
6
+ export { assertProfileSettingsNamespaceAvailable, readProfileSettingsNamespace, repairProfileSettingsDocument, updateProfileSettingsNamespace, } from "./profile-document.js";
@@ -4,13 +4,20 @@ import { type OwnedUiSettingsMigration } from "./migrations.js";
4
4
  import { type OwnedUiSettingsResolution } from "./resolution.js";
5
5
  import { type OwnedUiSettingsBackend, type OwnedUiSettingsSection } from "./sections.js";
6
6
  export interface OwnedSettingsManagerOptions {
7
- /** A1 configuration root. Settings live under `<configDir>/settings/`. */
8
- readonly configDir: string;
7
+ /** Selected global agent profile containing the shared `settings.json`. */
8
+ readonly profileDir?: string;
9
+ /** Compatibility alias for SDK/tests that supplied the former root option. */
10
+ readonly configDir?: string;
9
11
  readonly profileId: string;
12
+ /** Product namespace; defaults to profileId for generic and hermetic consumers. */
13
+ readonly namespace?: string;
14
+ /** Former product configuration root, consulted only while the namespace is absent. */
15
+ readonly legacyConfigDir?: string;
10
16
  readonly declarations?: readonly OwnedUiSettingDeclaration[];
11
17
  readonly migrations?: readonly OwnedUiSettingsMigration[];
12
18
  readonly agent?: AgentSettingsPort | null;
13
19
  readonly agentProvider?: () => AgentSettingsPort | null;
20
+ readonly hiddenOwnedSettingIds?: readonly string[];
14
21
  readonly hiddenAgentSettingIds?: readonly string[];
15
22
  readonly agentSettingLabelOverrides?: Readonly<Record<string, string>>;
16
23
  }
@@ -37,9 +44,15 @@ export declare class OwnedSettingsManager {
37
44
  constructor(options: OwnedSettingsManagerOptions);
38
45
  get file(): string;
39
46
  get resolution(): OwnedUiSettingsResolution;
40
- /** Reads and resolves the stored document. Never throws: every failure becomes a notice. */
47
+ /** Reads and resolves the product namespace. Never throws: every failure becomes a notice. */
41
48
  read(): OwnedUiSettingsResolution;
42
49
  load(): Promise<void>;
50
+ /**
51
+ * Adopts values another process stored in the shared document. Notifies only when a
52
+ * resolved value differs, so a peer's own write echo stays silent. Restart-bound values
53
+ * keep their session-start effect and surface as pending instead.
54
+ */
55
+ refresh(): boolean;
43
56
  sections(): readonly OwnedUiSettingsSection[];
44
57
  /**
45
58
  * The value in effect for a declared setting, typed by its declaration. A restart-bound