@timurproko/a1 0.1.0 → 0.1.1-dev.10

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 (602) hide show
  1. package/README.md +10 -43
  2. package/bin/{addone.js → cli.js} +2 -2
  3. package/bin/guardian.js +22 -0
  4. package/bin/ui.js +20 -0
  5. package/dist/native/darwin-arm64/manifest.json +20 -0
  6. package/dist/native/darwin-arm64/process-guardian +0 -0
  7. package/dist/native/linux-x64/manifest.json +20 -0
  8. package/dist/native/linux-x64/process-guardian +0 -0
  9. package/dist/native/win32-x64/manifest.json +20 -0
  10. package/dist/native/win32-x64/process-guardian.exe +0 -0
  11. package/dist/src/cli/dispatch.d.ts +4 -5
  12. package/dist/src/cli/dispatch.js +11 -11
  13. package/dist/src/cli/index.d.ts +0 -1
  14. package/dist/src/cli/index.js +0 -1
  15. package/dist/src/cli/version-stats.d.ts +0 -1
  16. package/dist/src/cli/version-stats.js +27 -23
  17. package/dist/src/cli/version.d.ts +1 -2
  18. package/dist/src/cli/version.js +4 -4
  19. package/dist/src/composition/index.d.ts +48 -0
  20. package/dist/src/composition/index.js +258 -0
  21. package/dist/src/features/launch/development-launch.d.ts +0 -1
  22. package/dist/src/features/launch/development-launch.js +12 -11
  23. package/dist/src/features/launch/index.d.ts +0 -1
  24. package/dist/src/features/launch/index.js +0 -1
  25. package/dist/src/features/launch/initialize-profile.d.ts +1 -2
  26. package/dist/src/features/launch/initialize-profile.js +24 -4
  27. package/dist/src/features/launch/intent.d.ts +0 -1
  28. package/dist/src/features/launch/intent.js +0 -1
  29. package/dist/src/features/launch/prepare-launch.d.ts +2 -3
  30. package/dist/src/features/launch/prepare-launch.js +3 -4
  31. package/dist/src/features/launch/profile-paths.d.ts +2 -3
  32. package/dist/src/features/launch/profile-paths.js +9 -8
  33. package/dist/src/features/launch/profiles.d.ts +3 -4
  34. package/dist/src/features/launch/profiles.js +7 -8
  35. package/dist/src/features/launch/runtime-selection.d.ts +13 -9
  36. package/dist/src/features/launch/runtime-selection.js +6 -7
  37. package/dist/src/features/owned-ui/customization.d.ts +5 -3
  38. package/dist/src/features/owned-ui/customization.js +2 -4
  39. package/dist/src/features/owned-ui/diagnostics.d.ts +0 -1
  40. package/dist/src/features/owned-ui/diagnostics.js +0 -1
  41. package/dist/src/features/owned-ui/index.d.ts +1 -2
  42. package/dist/src/features/owned-ui/index.js +1 -2
  43. package/dist/src/features/owned-ui/run.d.ts +9 -7
  44. package/dist/src/features/owned-ui/run.js +9 -15
  45. package/dist/src/features/owned-ui/settings-app.d.ts +22 -0
  46. package/dist/src/features/owned-ui/settings-app.js +633 -0
  47. package/dist/src/features/workspace/capabilities.d.ts +0 -1
  48. package/dist/src/features/workspace/capabilities.js +0 -1
  49. package/dist/src/features/workspace/index.d.ts +0 -1
  50. package/dist/src/features/workspace/index.js +0 -1
  51. package/dist/src/features/workspace/presentation.d.ts +1 -2
  52. package/dist/src/features/workspace/presentation.js +5 -4
  53. package/dist/src/features/workspace/reconciliation.d.ts +0 -1
  54. package/dist/src/features/workspace/reconciliation.js +0 -1
  55. package/dist/src/features/workspace/reducer.d.ts +0 -1
  56. package/dist/src/features/workspace/reducer.js +0 -1
  57. package/dist/src/features/workspace/router.d.ts +0 -1
  58. package/dist/src/features/workspace/router.js +0 -1
  59. package/dist/src/features/workspace/store.d.ts +0 -1
  60. package/dist/src/features/workspace/store.js +0 -1
  61. package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +95 -0
  62. package/dist/src/foundation/agent-engine-contracts/capability-ports.js +35 -0
  63. package/dist/src/foundation/agent-engine-contracts/domain-validation.d.ts +12 -0
  64. package/dist/src/foundation/agent-engine-contracts/domain-validation.js +89 -0
  65. package/dist/src/foundation/agent-engine-contracts/domain.d.ts +116 -0
  66. package/dist/src/foundation/agent-engine-contracts/domain.js +1 -0
  67. package/dist/src/foundation/agent-engine-contracts/index.d.ts +7 -0
  68. package/dist/src/foundation/agent-engine-contracts/index.js +7 -0
  69. package/dist/src/foundation/agent-engine-contracts/model.d.ts +78 -0
  70. package/dist/src/foundation/agent-engine-contracts/model.js +1 -0
  71. package/dist/src/foundation/agent-engine-contracts/ports.d.ts +18 -0
  72. package/dist/src/foundation/agent-engine-contracts/ports.js +1 -0
  73. package/dist/src/foundation/agent-engine-contracts/serialization.d.ts +7 -0
  74. package/dist/src/foundation/agent-engine-contracts/serialization.js +58 -0
  75. package/dist/src/foundation/agent-engine-contracts/validation.d.ts +5 -0
  76. package/dist/src/foundation/agent-engine-contracts/validation.js +128 -0
  77. package/dist/src/foundation/launch-guardian/index.d.ts +1 -0
  78. package/dist/src/foundation/launch-guardian/index.js +1 -0
  79. package/dist/src/foundation/launch-guardian/main.d.ts +31 -0
  80. package/dist/src/foundation/launch-guardian/main.js +165 -0
  81. package/dist/src/foundation/lifecycle/commands.d.ts +40 -0
  82. package/dist/src/foundation/lifecycle/commands.js +1 -0
  83. package/dist/src/foundation/lifecycle/index.d.ts +2 -1
  84. package/dist/src/foundation/lifecycle/index.js +2 -1
  85. package/dist/src/foundation/lifecycle/launch-instance.d.ts +46 -0
  86. package/dist/src/foundation/lifecycle/launch-instance.js +134 -0
  87. package/dist/src/foundation/lifecycle/model.d.ts +7 -44
  88. package/dist/src/foundation/lifecycle/model.js +3 -3
  89. package/dist/src/foundation/lifecycle/paths.d.ts +2 -3
  90. package/dist/src/foundation/lifecycle/paths.js +32 -16
  91. package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -1
  92. package/dist/src/foundation/native-host-protocol/codec.js +0 -1
  93. package/dist/src/foundation/native-host-protocol/evidence.d.ts +2 -3
  94. package/dist/src/foundation/native-host-protocol/evidence.js +4 -4
  95. package/dist/src/foundation/native-host-protocol/index.d.ts +0 -1
  96. package/dist/src/foundation/native-host-protocol/index.js +0 -1
  97. package/dist/src/foundation/native-host-protocol/messages.d.ts +1 -2
  98. package/dist/src/foundation/native-host-protocol/messages.js +2 -2
  99. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -1
  100. package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -1
  101. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -1
  102. package/dist/src/foundation/owned-ui-contracts/extension-ui.js +0 -1
  103. package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -1
  104. package/dist/src/foundation/owned-ui-contracts/index.js +0 -1
  105. package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -1
  106. package/dist/src/foundation/owned-ui-contracts/model.js +0 -1
  107. package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -1
  108. package/dist/src/foundation/owned-ui-contracts/validation.js +0 -1
  109. package/dist/src/foundation/owned-ui-settings/declarations.d.ts +13 -0
  110. package/dist/src/foundation/owned-ui-settings/declarations.js +39 -0
  111. package/dist/src/foundation/owned-ui-settings/index.d.ts +6 -0
  112. package/dist/src/foundation/owned-ui-settings/index.js +6 -0
  113. package/dist/src/foundation/owned-ui-settings/migrations.d.ts +13 -0
  114. package/dist/src/foundation/owned-ui-settings/migrations.js +28 -0
  115. package/dist/src/foundation/owned-ui-settings/resolution.d.ts +45 -0
  116. package/dist/src/foundation/owned-ui-settings/resolution.js +147 -0
  117. package/dist/src/foundation/owned-ui-settings/sections.d.ts +70 -0
  118. package/dist/src/foundation/owned-ui-settings/sections.js +93 -0
  119. package/dist/src/foundation/owned-ui-settings/session.d.ts +44 -0
  120. package/dist/src/foundation/owned-ui-settings/session.js +145 -0
  121. package/dist/src/foundation/owned-ui-settings/store.d.ts +28 -0
  122. package/dist/src/foundation/owned-ui-settings/store.js +90 -0
  123. package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -1
  124. package/dist/src/foundation/pi-component-adapter/components.js +0 -1
  125. package/dist/src/foundation/pi-component-adapter/conformance.d.ts +1 -1
  126. package/dist/src/foundation/pi-component-adapter/conformance.js +10 -4
  127. package/dist/src/foundation/pi-component-adapter/index.d.ts +1 -1
  128. package/dist/src/foundation/pi-component-adapter/index.js +1 -1
  129. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +165 -0
  130. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +166 -0
  131. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -1
  132. package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -1
  133. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -1
  134. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +10 -13
  135. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -1
  136. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -1
  137. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -1
  138. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +5 -62
  139. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -1
  140. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -1
  141. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +9 -2
  142. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +10 -9
  143. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -1
  144. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -1
  145. package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
  146. package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
  147. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -1
  148. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -1
  149. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -1
  150. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js +0 -1
  151. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -1
  152. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -1
  153. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -1
  154. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -1
  155. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -1
  156. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +3 -27
  157. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -1
  158. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -1
  159. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -1
  160. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -1
  161. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -1
  162. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -1
  163. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts +0 -1
  164. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -1
  165. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +18 -0
  166. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +55 -0
  167. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -1
  168. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -1
  169. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +10 -0
  170. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +120 -0
  171. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts +0 -1
  172. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -1
  173. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -1
  174. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -1
  175. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +1 -2
  176. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +1 -2
  177. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -1
  178. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -1
  179. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -1
  180. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1
  181. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -1
  182. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -1
  183. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts +0 -1
  184. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -1
  185. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -1
  186. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js +0 -1
  187. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -1
  188. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +1 -2
  189. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +8 -1
  190. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +30 -15
  191. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +19 -205
  192. package/dist/src/foundation/pi-engine-adapter/adapter.js +156 -181
  193. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +24 -1
  194. package/dist/src/foundation/pi-engine-adapter/conformance.js +60 -15
  195. package/dist/src/foundation/pi-engine-adapter/index.d.ts +6 -1
  196. package/dist/src/foundation/pi-engine-adapter/index.js +6 -1
  197. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +30 -0
  198. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +61 -0
  199. package/dist/src/foundation/pi-engine-adapter/pi-settings-metadata.json +374 -0
  200. package/dist/src/foundation/pi-engine-adapter/public-main-entry.d.ts +5 -0
  201. package/dist/src/foundation/pi-engine-adapter/public-main-entry.js +27 -0
  202. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +31 -0
  203. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +80 -0
  204. package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +18 -0
  205. package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +32 -0
  206. package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +43 -0
  207. package/dist/src/foundation/pi-engine-adapter/session-integration.js +97 -0
  208. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +55 -0
  209. package/dist/src/foundation/pi-engine-adapter/settings-integration.js +233 -0
  210. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +20 -0
  211. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +48 -0
  212. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +9 -1
  213. package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -1
  214. package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +2 -0
  215. package/dist/src/foundation/pi-owned-ui-integration/index.js +2 -0
  216. package/dist/src/foundation/pi-owned-ui-integration/route-host.d.ts +29 -0
  217. package/dist/src/foundation/pi-owned-ui-integration/route-host.js +1 -0
  218. package/dist/src/{features/owned-ui/pi-session-shell.d.ts → foundation/pi-owned-ui-integration/session-shell.d.ts} +23 -14
  219. package/dist/src/{features/owned-ui/pi-session-shell.js → foundation/pi-owned-ui-integration/session-shell.js} +130 -61
  220. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +6 -1
  221. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +9 -1
  222. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +8 -4
  223. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +22 -9
  224. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -2
  225. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js +1 -2
  226. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +1 -1
  227. package/dist/src/foundation/pi-tui-runtime-adapter/index.js +1 -1
  228. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +4 -0
  229. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +48 -0
  230. package/dist/src/foundation/presentation-contracts/index.d.ts +96 -0
  231. package/dist/src/foundation/presentation-contracts/index.js +38 -0
  232. package/dist/src/foundation/process-containment/artifact.d.ts +1 -0
  233. package/dist/src/foundation/process-containment/artifact.js +34 -0
  234. package/dist/src/foundation/process-containment/contracts.d.ts +31 -0
  235. package/dist/src/foundation/process-containment/contracts.js +35 -0
  236. package/dist/src/foundation/process-containment/index.d.ts +5 -0
  237. package/dist/src/foundation/process-containment/index.js +5 -0
  238. package/dist/src/foundation/process-containment/linux-process-inspector.d.ts +6 -0
  239. package/dist/src/foundation/process-containment/linux-process-inspector.js +26 -0
  240. package/dist/src/foundation/process-containment/native-guardian-containment.d.ts +16 -0
  241. package/dist/src/foundation/process-containment/native-guardian-containment.js +139 -0
  242. package/dist/src/foundation/process-containment/windows-process-inspector.d.ts +17 -0
  243. package/dist/src/foundation/process-containment/windows-process-inspector.js +53 -0
  244. package/dist/src/foundation/protocol/client.d.ts +2 -2
  245. package/dist/src/foundation/protocol/client.js +3 -1
  246. package/dist/src/foundation/protocol/index.d.ts +0 -1
  247. package/dist/src/foundation/protocol/index.js +0 -1
  248. package/dist/src/foundation/protocol/messages.d.ts +6 -7
  249. package/dist/src/foundation/protocol/messages.js +3 -3
  250. package/dist/src/foundation/release/bootstrap.d.ts +2 -3
  251. package/dist/src/foundation/release/bootstrap.js +85 -33
  252. package/dist/src/foundation/release/cohort-selection.d.ts +0 -1
  253. package/dist/src/foundation/release/cohort-selection.js +3 -4
  254. package/dist/src/foundation/release/cohort-state.d.ts +6 -4
  255. package/dist/src/foundation/release/cohort-state.js +5 -4
  256. package/dist/src/foundation/release/concurrency.d.ts +1 -0
  257. package/dist/src/foundation/release/concurrency.js +17 -0
  258. package/dist/src/foundation/release/development-preview-release.d.ts +2 -2
  259. package/dist/src/foundation/release/development-preview-release.js +3 -2
  260. package/dist/src/foundation/release/index.d.ts +0 -1
  261. package/dist/src/foundation/release/index.js +0 -1
  262. package/dist/src/foundation/release/process-cleanup.d.ts +1 -2
  263. package/dist/src/foundation/release/process-cleanup.js +2 -3
  264. package/dist/src/foundation/release/release-gc.d.ts +0 -1
  265. package/dist/src/foundation/release/release-gc.js +0 -1
  266. package/dist/src/foundation/release/release-store.d.ts +38 -6
  267. package/dist/src/foundation/release/release-store.js +103 -43
  268. package/dist/src/foundation/release/release.d.ts +20 -6
  269. package/dist/src/foundation/release/release.js +77 -48
  270. package/dist/src/foundation/release/stable-release.d.ts +2 -2
  271. package/dist/src/foundation/release/stable-release.js +6 -5
  272. package/dist/src/foundation/release/update-transaction.d.ts +2 -2
  273. package/dist/src/foundation/release/update-transaction.js +8 -7
  274. package/dist/src/foundation/release/update.d.ts +20 -4
  275. package/dist/src/foundation/release/update.js +152 -36
  276. package/dist/src/foundation/storage/control-store.d.ts +8 -8
  277. package/dist/src/foundation/storage/control-store.js +132 -61
  278. package/dist/src/foundation/storage/index.d.ts +0 -1
  279. package/dist/src/foundation/storage/index.js +0 -1
  280. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -1
  281. package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -1
  282. package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -1
  283. package/dist/src/foundation/structured-agent-runtime/commands.js +0 -1
  284. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +2 -3
  285. package/dist/src/foundation/structured-agent-runtime/handshake.js +13 -13
  286. package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -1
  287. package/dist/src/foundation/structured-agent-runtime/index.js +0 -1
  288. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -1
  289. package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -1
  290. package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -1
  291. package/dist/src/foundation/structured-agent-runtime/state.js +0 -1
  292. package/dist/src/foundation/supervision/index.d.ts +1 -2
  293. package/dist/src/foundation/supervision/index.js +1 -2
  294. package/dist/src/foundation/supervision/main.d.ts +0 -1
  295. package/dist/src/foundation/supervision/main.js +11 -10
  296. package/dist/src/foundation/supervision/paths.d.ts +1 -2
  297. package/dist/src/foundation/supervision/paths.js +1 -2
  298. package/dist/src/foundation/supervision/server.d.ts +6 -5
  299. package/dist/src/foundation/supervision/server.js +259 -91
  300. package/dist/src/foundation/ui-apps/contracts.d.ts +42 -0
  301. package/dist/src/foundation/ui-apps/contracts.js +12 -0
  302. package/dist/src/foundation/ui-apps/host.d.ts +42 -0
  303. package/dist/src/foundation/ui-apps/host.js +152 -0
  304. package/dist/src/foundation/ui-apps/index.d.ts +3 -0
  305. package/dist/src/foundation/ui-apps/index.js +3 -0
  306. package/dist/src/foundation/ui-apps/registry.d.ts +11 -0
  307. package/dist/src/foundation/ui-apps/registry.js +32 -0
  308. package/dist/src/foundation/ui-components/dialog-panel.d.ts +36 -0
  309. package/dist/src/foundation/ui-components/dialog-panel.js +47 -0
  310. package/dist/src/foundation/ui-components/frame.d.ts +21 -0
  311. package/dist/src/foundation/ui-components/frame.js +54 -0
  312. package/dist/src/foundation/ui-components/index.d.ts +18 -0
  313. package/dist/src/foundation/ui-components/index.js +18 -0
  314. package/dist/src/foundation/ui-components/label.d.ts +8 -0
  315. package/dist/src/foundation/ui-components/label.js +36 -0
  316. package/dist/src/foundation/ui-components/line-input.d.ts +74 -0
  317. package/dist/src/foundation/ui-components/line-input.js +245 -0
  318. package/dist/src/foundation/ui-components/list-block.d.ts +66 -0
  319. package/dist/src/foundation/ui-components/list-block.js +176 -0
  320. package/dist/src/foundation/ui-components/list-view.d.ts +66 -0
  321. package/dist/src/foundation/ui-components/list-view.js +76 -0
  322. package/dist/src/foundation/ui-components/mouse.d.ts +15 -0
  323. package/dist/src/foundation/ui-components/mouse.js +46 -0
  324. package/dist/src/foundation/ui-components/pane.d.ts +33 -0
  325. package/dist/src/foundation/ui-components/pane.js +7 -0
  326. package/dist/src/foundation/ui-components/revision.d.ts +35 -0
  327. package/dist/src/foundation/ui-components/revision.js +79 -0
  328. package/dist/src/foundation/ui-components/scrollbar.d.ts +62 -0
  329. package/dist/src/foundation/ui-components/scrollbar.js +102 -0
  330. package/dist/src/foundation/ui-components/shortcuts.d.ts +57 -0
  331. package/dist/src/foundation/ui-components/shortcuts.js +81 -0
  332. package/dist/src/foundation/ui-components/spans.d.ts +7 -0
  333. package/dist/src/foundation/ui-components/spans.js +59 -0
  334. package/dist/src/foundation/ui-components/status-line.d.ts +16 -0
  335. package/dist/src/foundation/ui-components/status-line.js +14 -0
  336. package/dist/src/foundation/ui-components/stepper.d.ts +24 -0
  337. package/dist/src/foundation/ui-components/stepper.js +33 -0
  338. package/dist/src/foundation/ui-components/surface.d.ts +20 -0
  339. package/dist/src/foundation/ui-components/surface.js +38 -0
  340. package/dist/src/foundation/ui-components/text.d.ts +24 -0
  341. package/dist/src/foundation/ui-components/text.js +123 -0
  342. package/dist/src/foundation/ui-components/theme.d.ts +23 -0
  343. package/dist/src/foundation/ui-components/theme.js +13 -0
  344. package/dist/src/foundation/ui-components/value-menu.d.ts +41 -0
  345. package/dist/src/foundation/ui-components/value-menu.js +33 -0
  346. package/dist/src/foundation/workspace-contracts/index.d.ts +0 -1
  347. package/dist/src/foundation/workspace-contracts/index.js +0 -1
  348. package/dist/src/foundation/workspace-contracts/model.d.ts +0 -1
  349. package/dist/src/foundation/workspace-contracts/model.js +0 -1
  350. package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -1
  351. package/dist/src/foundation/workspace-contracts/validation.js +0 -1
  352. package/dist/src/product-identity.d.ts +37 -0
  353. package/dist/src/product-identity.js +150 -0
  354. package/dist/src/product-identity.json +99 -0
  355. package/docs/architecture/boundaries.md +32 -14
  356. package/docs/architecture/process-guardian-provenance.md +26 -0
  357. package/docs/architecture/project-structure.md +2 -2
  358. package/docs/architecture/resource-and-data-policy.md +1 -1
  359. package/docs/architecture/terminal-host-proof-gate.md +2 -2
  360. package/docs/architecture/terminal-host-provenance.md +3 -3
  361. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  362. package/docs/architecture/toolchain.md +40 -8
  363. package/docs/architecture/ui-reference-provenance.md +50 -0
  364. package/docs/ci-release-runbook.md +67 -0
  365. package/docs/features/launch-profiles.md +12 -6
  366. package/docs/manual-launch-instance-acceptance.md +66 -0
  367. package/docs/manual-pi-boundary-candidate.md +33 -0
  368. package/docs/manual-terminal-colour-check.md +55 -0
  369. package/docs/manual-transparent-checkpoint.md +11 -11
  370. package/package.json +27 -14
  371. package/bin/addone-ui.js +0 -20
  372. package/dist/src/cli/dispatch.d.ts.map +0 -1
  373. package/dist/src/cli/dispatch.js.map +0 -1
  374. package/dist/src/cli/index.d.ts.map +0 -1
  375. package/dist/src/cli/index.js.map +0 -1
  376. package/dist/src/cli/version-stats.d.ts.map +0 -1
  377. package/dist/src/cli/version-stats.js.map +0 -1
  378. package/dist/src/cli/version.d.ts.map +0 -1
  379. package/dist/src/cli/version.js.map +0 -1
  380. package/dist/src/features/launch/development-launch.d.ts.map +0 -1
  381. package/dist/src/features/launch/development-launch.js.map +0 -1
  382. package/dist/src/features/launch/index.d.ts.map +0 -1
  383. package/dist/src/features/launch/index.js.map +0 -1
  384. package/dist/src/features/launch/initialize-profile.d.ts.map +0 -1
  385. package/dist/src/features/launch/initialize-profile.js.map +0 -1
  386. package/dist/src/features/launch/intent.d.ts.map +0 -1
  387. package/dist/src/features/launch/intent.js.map +0 -1
  388. package/dist/src/features/launch/prepare-launch.d.ts.map +0 -1
  389. package/dist/src/features/launch/prepare-launch.js.map +0 -1
  390. package/dist/src/features/launch/profile-paths.d.ts.map +0 -1
  391. package/dist/src/features/launch/profile-paths.js.map +0 -1
  392. package/dist/src/features/launch/profiles.d.ts.map +0 -1
  393. package/dist/src/features/launch/profiles.js.map +0 -1
  394. package/dist/src/features/launch/runtime-selection.d.ts.map +0 -1
  395. package/dist/src/features/launch/runtime-selection.js.map +0 -1
  396. package/dist/src/features/owned-ui/customization.d.ts.map +0 -1
  397. package/dist/src/features/owned-ui/customization.js.map +0 -1
  398. package/dist/src/features/owned-ui/diagnostics.d.ts.map +0 -1
  399. package/dist/src/features/owned-ui/diagnostics.js.map +0 -1
  400. package/dist/src/features/owned-ui/index.d.ts.map +0 -1
  401. package/dist/src/features/owned-ui/index.js.map +0 -1
  402. package/dist/src/features/owned-ui/pi-session-shell.d.ts.map +0 -1
  403. package/dist/src/features/owned-ui/pi-session-shell.js.map +0 -1
  404. package/dist/src/features/owned-ui/run.d.ts.map +0 -1
  405. package/dist/src/features/owned-ui/run.js.map +0 -1
  406. package/dist/src/features/workspace/capabilities.d.ts.map +0 -1
  407. package/dist/src/features/workspace/capabilities.js.map +0 -1
  408. package/dist/src/features/workspace/index.d.ts.map +0 -1
  409. package/dist/src/features/workspace/index.js.map +0 -1
  410. package/dist/src/features/workspace/presentation.d.ts.map +0 -1
  411. package/dist/src/features/workspace/presentation.js.map +0 -1
  412. package/dist/src/features/workspace/reconciliation.d.ts.map +0 -1
  413. package/dist/src/features/workspace/reconciliation.js.map +0 -1
  414. package/dist/src/features/workspace/reducer.d.ts.map +0 -1
  415. package/dist/src/features/workspace/reducer.js.map +0 -1
  416. package/dist/src/features/workspace/router.d.ts.map +0 -1
  417. package/dist/src/features/workspace/router.js.map +0 -1
  418. package/dist/src/features/workspace/store.d.ts.map +0 -1
  419. package/dist/src/features/workspace/store.js.map +0 -1
  420. package/dist/src/foundation/lifecycle/index.d.ts.map +0 -1
  421. package/dist/src/foundation/lifecycle/index.js.map +0 -1
  422. package/dist/src/foundation/lifecycle/model.d.ts.map +0 -1
  423. package/dist/src/foundation/lifecycle/model.js.map +0 -1
  424. package/dist/src/foundation/lifecycle/paths.d.ts.map +0 -1
  425. package/dist/src/foundation/lifecycle/paths.js.map +0 -1
  426. package/dist/src/foundation/native-host-protocol/codec.d.ts.map +0 -1
  427. package/dist/src/foundation/native-host-protocol/codec.js.map +0 -1
  428. package/dist/src/foundation/native-host-protocol/evidence.d.ts.map +0 -1
  429. package/dist/src/foundation/native-host-protocol/evidence.js.map +0 -1
  430. package/dist/src/foundation/native-host-protocol/index.d.ts.map +0 -1
  431. package/dist/src/foundation/native-host-protocol/index.js.map +0 -1
  432. package/dist/src/foundation/native-host-protocol/messages.d.ts.map +0 -1
  433. package/dist/src/foundation/native-host-protocol/messages.js.map +0 -1
  434. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts.map +0 -1
  435. package/dist/src/foundation/native-host-protocol/proof-gate.js.map +0 -1
  436. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts.map +0 -1
  437. package/dist/src/foundation/owned-ui-contracts/extension-ui.js.map +0 -1
  438. package/dist/src/foundation/owned-ui-contracts/index.d.ts.map +0 -1
  439. package/dist/src/foundation/owned-ui-contracts/index.js.map +0 -1
  440. package/dist/src/foundation/owned-ui-contracts/model.d.ts.map +0 -1
  441. package/dist/src/foundation/owned-ui-contracts/model.js.map +0 -1
  442. package/dist/src/foundation/owned-ui-contracts/validation.d.ts.map +0 -1
  443. package/dist/src/foundation/owned-ui-contracts/validation.js.map +0 -1
  444. package/dist/src/foundation/pi-component-adapter/components.d.ts.map +0 -1
  445. package/dist/src/foundation/pi-component-adapter/components.js.map +0 -1
  446. package/dist/src/foundation/pi-component-adapter/conformance.d.ts.map +0 -1
  447. package/dist/src/foundation/pi-component-adapter/conformance.js.map +0 -1
  448. package/dist/src/foundation/pi-component-adapter/index.d.ts.map +0 -1
  449. package/dist/src/foundation/pi-component-adapter/index.js.map +0 -1
  450. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts.map +0 -1
  451. package/dist/src/foundation/pi-component-adapter/shell-components.js.map +0 -1
  452. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts.map +0 -1
  453. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js.map +0 -1
  454. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts.map +0 -1
  455. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js.map +0 -1
  456. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts.map +0 -1
  457. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js.map +0 -1
  458. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts.map +0 -1
  459. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js.map +0 -1
  460. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts.map +0 -1
  461. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js.map +0 -1
  462. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts.map +0 -1
  463. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js.map +0 -1
  464. package/dist/src/foundation/pi-component-adapter/theme.d.ts.map +0 -1
  465. package/dist/src/foundation/pi-component-adapter/theme.js.map +0 -1
  466. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts.map +0 -1
  467. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js.map +0 -1
  468. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts.map +0 -1
  469. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js.map +0 -1
  470. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts.map +0 -1
  471. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js.map +0 -1
  472. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts.map +0 -1
  473. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js.map +0 -1
  474. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts.map +0 -1
  475. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js.map +0 -1
  476. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts.map +0 -1
  477. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js.map +0 -1
  478. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts.map +0 -1
  479. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js.map +0 -1
  480. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts.map +0 -1
  481. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js.map +0 -1
  482. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts.map +0 -1
  483. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js.map +0 -1
  484. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts.map +0 -1
  485. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js.map +0 -1
  486. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts.map +0 -1
  487. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js.map +0 -1
  488. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts.map +0 -1
  489. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js.map +0 -1
  490. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts.map +0 -1
  491. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js.map +0 -1
  492. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts.map +0 -1
  493. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js.map +0 -1
  494. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts.map +0 -1
  495. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js.map +0 -1
  496. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts.map +0 -1
  497. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js.map +0 -1
  498. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts.map +0 -1
  499. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js.map +0 -1
  500. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts.map +0 -1
  501. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js.map +0 -1
  502. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts.map +0 -1
  503. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js.map +0 -1
  504. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts.map +0 -1
  505. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js.map +0 -1
  506. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts.map +0 -1
  507. package/dist/src/foundation/pi-engine-adapter/adapter.js.map +0 -1
  508. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts.map +0 -1
  509. package/dist/src/foundation/pi-engine-adapter/conformance.js.map +0 -1
  510. package/dist/src/foundation/pi-engine-adapter/index.d.ts.map +0 -1
  511. package/dist/src/foundation/pi-engine-adapter/index.js.map +0 -1
  512. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts.map +0 -1
  513. package/dist/src/foundation/pi-engine-adapter/workflows.js.map +0 -1
  514. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts.map +0 -1
  515. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js.map +0 -1
  516. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts.map +0 -1
  517. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js.map +0 -1
  518. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts.map +0 -1
  519. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js.map +0 -1
  520. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts.map +0 -1
  521. package/dist/src/foundation/pi-tui-runtime-adapter/index.js.map +0 -1
  522. package/dist/src/foundation/protocol/client.d.ts.map +0 -1
  523. package/dist/src/foundation/protocol/client.js.map +0 -1
  524. package/dist/src/foundation/protocol/index.d.ts.map +0 -1
  525. package/dist/src/foundation/protocol/index.js.map +0 -1
  526. package/dist/src/foundation/protocol/messages.d.ts.map +0 -1
  527. package/dist/src/foundation/protocol/messages.js.map +0 -1
  528. package/dist/src/foundation/release/bootstrap.d.ts.map +0 -1
  529. package/dist/src/foundation/release/bootstrap.js.map +0 -1
  530. package/dist/src/foundation/release/cohort-selection.d.ts.map +0 -1
  531. package/dist/src/foundation/release/cohort-selection.js.map +0 -1
  532. package/dist/src/foundation/release/cohort-state.d.ts.map +0 -1
  533. package/dist/src/foundation/release/cohort-state.js.map +0 -1
  534. package/dist/src/foundation/release/development-preview-release.d.ts.map +0 -1
  535. package/dist/src/foundation/release/development-preview-release.js.map +0 -1
  536. package/dist/src/foundation/release/index.d.ts.map +0 -1
  537. package/dist/src/foundation/release/index.js.map +0 -1
  538. package/dist/src/foundation/release/process-cleanup.d.ts.map +0 -1
  539. package/dist/src/foundation/release/process-cleanup.js.map +0 -1
  540. package/dist/src/foundation/release/release-gc.d.ts.map +0 -1
  541. package/dist/src/foundation/release/release-gc.js.map +0 -1
  542. package/dist/src/foundation/release/release-store.d.ts.map +0 -1
  543. package/dist/src/foundation/release/release-store.js.map +0 -1
  544. package/dist/src/foundation/release/release.d.ts.map +0 -1
  545. package/dist/src/foundation/release/release.js.map +0 -1
  546. package/dist/src/foundation/release/stable-release.d.ts.map +0 -1
  547. package/dist/src/foundation/release/stable-release.js.map +0 -1
  548. package/dist/src/foundation/release/update-transaction.d.ts.map +0 -1
  549. package/dist/src/foundation/release/update-transaction.js.map +0 -1
  550. package/dist/src/foundation/release/update.d.ts.map +0 -1
  551. package/dist/src/foundation/release/update.js.map +0 -1
  552. package/dist/src/foundation/storage/control-store.d.ts.map +0 -1
  553. package/dist/src/foundation/storage/control-store.js.map +0 -1
  554. package/dist/src/foundation/storage/index.d.ts.map +0 -1
  555. package/dist/src/foundation/storage/index.js.map +0 -1
  556. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts.map +0 -1
  557. package/dist/src/foundation/structured-agent-runtime/backpressure.js.map +0 -1
  558. package/dist/src/foundation/structured-agent-runtime/commands.d.ts.map +0 -1
  559. package/dist/src/foundation/structured-agent-runtime/commands.js.map +0 -1
  560. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts.map +0 -1
  561. package/dist/src/foundation/structured-agent-runtime/handshake.js.map +0 -1
  562. package/dist/src/foundation/structured-agent-runtime/index.d.ts.map +0 -1
  563. package/dist/src/foundation/structured-agent-runtime/index.js.map +0 -1
  564. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts.map +0 -1
  565. package/dist/src/foundation/structured-agent-runtime/reconnection.js.map +0 -1
  566. package/dist/src/foundation/structured-agent-runtime/state.d.ts.map +0 -1
  567. package/dist/src/foundation/structured-agent-runtime/state.js.map +0 -1
  568. package/dist/src/foundation/supervision/index.d.ts.map +0 -1
  569. package/dist/src/foundation/supervision/index.js.map +0 -1
  570. package/dist/src/foundation/supervision/main.d.ts.map +0 -1
  571. package/dist/src/foundation/supervision/main.js.map +0 -1
  572. package/dist/src/foundation/supervision/paths.d.ts.map +0 -1
  573. package/dist/src/foundation/supervision/paths.js.map +0 -1
  574. package/dist/src/foundation/supervision/server.d.ts.map +0 -1
  575. package/dist/src/foundation/supervision/server.js.map +0 -1
  576. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +0 -14
  577. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts.map +0 -1
  578. package/dist/src/foundation/transparent-terminal/command-resolution.js +0 -70
  579. package/dist/src/foundation/transparent-terminal/command-resolution.js.map +0 -1
  580. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +0 -33
  581. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +0 -1
  582. package/dist/src/foundation/transparent-terminal/foreground-broker.js +0 -88
  583. package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +0 -1
  584. package/dist/src/foundation/transparent-terminal/index.d.ts +0 -4
  585. package/dist/src/foundation/transparent-terminal/index.d.ts.map +0 -1
  586. package/dist/src/foundation/transparent-terminal/index.js +0 -4
  587. package/dist/src/foundation/transparent-terminal/index.js.map +0 -1
  588. package/dist/src/foundation/transparent-terminal/main.d.ts +0 -10
  589. package/dist/src/foundation/transparent-terminal/main.d.ts.map +0 -1
  590. package/dist/src/foundation/transparent-terminal/main.js +0 -107
  591. package/dist/src/foundation/transparent-terminal/main.js.map +0 -1
  592. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +0 -26
  593. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +0 -1
  594. package/dist/src/foundation/transparent-terminal/native-launcher.js +0 -147
  595. package/dist/src/foundation/transparent-terminal/native-launcher.js.map +0 -1
  596. package/dist/src/foundation/workspace-contracts/index.d.ts.map +0 -1
  597. package/dist/src/foundation/workspace-contracts/index.js.map +0 -1
  598. package/dist/src/foundation/workspace-contracts/model.d.ts.map +0 -1
  599. package/dist/src/foundation/workspace-contracts/model.js.map +0 -1
  600. package/dist/src/foundation/workspace-contracts/validation.d.ts.map +0 -1
  601. package/dist/src/foundation/workspace-contracts/validation.js.map +0 -1
  602. /package/bin/{addone-supervisor.js → supervisor.js} +0 -0
@@ -1,4 +1,4 @@
1
- export interface AddOnePaths {
1
+ export interface ProductPaths {
2
2
  readonly configDir: string;
3
3
  readonly dataDir: string;
4
4
  readonly runtimeDir: string;
@@ -7,5 +7,4 @@ export interface AddOnePaths {
7
7
  readonly endpointMetadataPath: string;
8
8
  readonly supervisorLogPath: string;
9
9
  }
10
- export declare function resolveAddOnePaths(environment?: NodeJS.ProcessEnv): AddOnePaths;
11
- //# sourceMappingURL=paths.d.ts.map
10
+ export declare function resolveProductPaths(environment?: NodeJS.ProcessEnv, hostPlatform?: NodeJS.Platform, fallbackHome?: string): ProductPaths;
@@ -1,26 +1,42 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { homedir, platform } from "node:os";
3
- import { join, resolve } from "node:path";
4
- export function resolveAddOnePaths(environment = process.env) {
5
- const windows = platform() === "win32";
6
- const home = environment.HOME ?? environment.USERPROFILE ?? homedir();
7
- const configDir = resolve(environment.ADDONE_CONFIG_DIR
8
- ?? (windows ? join(environment.APPDATA ?? home, "AddOne") : join(environment.XDG_CONFIG_HOME ?? join(home, ".config"), "addone")));
9
- const dataDir = resolve(environment.ADDONE_DATA_DIR
10
- ?? (windows ? join(environment.LOCALAPPDATA ?? home, "AddOne") : join(environment.XDG_DATA_HOME ?? join(home, ".local", "share"), "addone")));
11
- const runtimeDir = resolve(environment.ADDONE_RUNTIME_DIR
12
- ?? (windows ? join(dataDir, "runtime") : join(environment.XDG_RUNTIME_DIR ?? dataDir, "addone-runtime")));
3
+ import { posix, win32 } from "node:path";
4
+ import { PRODUCT_IDENTITY } from "../../product-identity.js";
5
+ export function resolveProductPaths(environment = process.env, hostPlatform = platform(), fallbackHome = homedir()) {
6
+ const windows = hostPlatform === "win32";
7
+ const path = windows ? win32 : posix;
8
+ const home = environment.HOME ?? environment.USERPROFILE ?? fallbackHome;
9
+ const configOverride = environment[PRODUCT_IDENTITY.environment.configDir];
10
+ const dataOverride = environment[PRODUCT_IDENTITY.environment.dataDir];
11
+ const runtimeOverride = environment[PRODUCT_IDENTITY.environment.runtimeDir];
12
+ const databaseOverride = environment[PRODUCT_IDENTITY.environment.databasePath];
13
+ const endpointOverride = environment[PRODUCT_IDENTITY.environment.endpoint];
14
+ const configDir = path.resolve(configOverride
15
+ ?? (windows
16
+ ? path.join(environment.APPDATA ?? home, PRODUCT_IDENTITY.state.windowsControlDirectory)
17
+ : path.join(environment.XDG_CONFIG_HOME ?? path.join(home, ".config"), PRODUCT_IDENTITY.state.unixControlDirectory)));
18
+ const dataDir = path.resolve(dataOverride
19
+ ?? (windows
20
+ ? path.join(environment.LOCALAPPDATA ?? home, PRODUCT_IDENTITY.state.windowsControlDirectory)
21
+ : path.join(environment.XDG_DATA_HOME ?? path.join(home, ".local", "share"), PRODUCT_IDENTITY.state.unixControlDirectory)));
22
+ const runtimeDir = path.resolve(runtimeOverride
23
+ ?? (windows
24
+ ? path.join(dataDir, "runtime")
25
+ : environment.XDG_RUNTIME_DIR
26
+ ? path.join(environment.XDG_RUNTIME_DIR, PRODUCT_IDENTITY.state.unixControlDirectory)
27
+ : path.join(dataDir, "runtime")));
13
28
  const namespace = createHash("sha256").update(runtimeDir.toLowerCase()).digest("hex").slice(0, 20);
14
- const endpoint = environment.ADDONE_ENDPOINT
15
- ?? (windows ? `\\\\.\\pipe\\addone-${namespace}` : join(runtimeDir, "supervisor.sock"));
29
+ const endpoint = endpointOverride
30
+ ?? (windows
31
+ ? `\\\\.\\pipe\\${PRODUCT_IDENTITY.endpoint.windowsPipeStem}-${namespace}`
32
+ : path.join(runtimeDir, PRODUCT_IDENTITY.endpoint.unixSocketFilename));
16
33
  return {
17
34
  configDir,
18
35
  dataDir,
19
36
  runtimeDir,
20
- databasePath: resolve(environment.ADDONE_DATABASE_PATH ?? join(dataDir, "control.sqlite3")),
37
+ databasePath: path.resolve(databaseOverride ?? path.join(dataDir, PRODUCT_IDENTITY.endpoint.databaseFilename)),
21
38
  endpoint,
22
- endpointMetadataPath: join(runtimeDir, "supervisor.json"),
23
- supervisorLogPath: join(runtimeDir, "supervisor.log"),
39
+ endpointMetadataPath: path.join(runtimeDir, PRODUCT_IDENTITY.endpoint.metadataFilename),
40
+ supervisorLogPath: path.join(runtimeDir, PRODUCT_IDENTITY.endpoint.supervisorLogFilename),
24
41
  };
25
42
  }
26
- //# sourceMappingURL=paths.js.map
@@ -9,4 +9,3 @@ export declare class NativeHostFrameCodec {
9
9
  push(chunk: Buffer | string): NativeHostProofMessage[];
10
10
  private decodeLine;
11
11
  }
12
- //# sourceMappingURL=codec.d.ts.map
@@ -54,4 +54,3 @@ function isProofMessage(value) {
54
54
  && typeof value.type === "string"
55
55
  && ["hello", "hello-result", "command", "command-result", "event", "error"].includes(value.type);
56
56
  }
57
- //# sourceMappingURL=codec.js.map
@@ -1,4 +1,4 @@
1
- export declare const NATIVE_SPIKE_EVIDENCE_SCHEMA: "addone-native-host-spike-evidence-v1";
1
+ export declare const NATIVE_SPIKE_EVIDENCE_SCHEMA: string;
2
2
  export declare const NATIVE_SPIKE_WORKLOADS: readonly ["four-concurrent-sessions", "input-routing", "unicode-cursor-modes", "alternate-screen", "paste", "mouse", "ime", "live-resize", "dpi", "high-rate-output", "pane-abnormal-exit", "host-cleanup"];
3
3
  export type NativeSpikeWorkloadId = typeof NATIVE_SPIKE_WORKLOADS[number];
4
4
  export interface NativeSpikeMetricSummary {
@@ -34,7 +34,7 @@ export interface NativeSpikeEvidence {
34
34
  readonly sizeBytes: number;
35
35
  };
36
36
  readonly source: {
37
- readonly addoneCommit: string;
37
+ readonly "a1Commit": string;
38
38
  readonly libghosttyVtCommit: string;
39
39
  readonly portablePtyVersion: string;
40
40
  readonly crosstermVersion: string;
@@ -65,4 +65,3 @@ export interface NativeSpikeEvidence {
65
65
  };
66
66
  }
67
67
  export declare function assertNativeSpikeEvidence(value: NativeSpikeEvidence): void;
68
- //# sourceMappingURL=evidence.d.ts.map
@@ -1,4 +1,5 @@
1
- export const NATIVE_SPIKE_EVIDENCE_SCHEMA = "addone-native-host-spike-evidence-v1";
1
+ import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../../product-identity.js";
2
+ export const NATIVE_SPIKE_EVIDENCE_SCHEMA = PRODUCT_IDENTITY.evidence.nativeSpikeSchema;
2
3
  export const NATIVE_SPIKE_WORKLOADS = [
3
4
  "four-concurrent-sessions",
4
5
  "input-routing",
@@ -34,8 +35,8 @@ export function assertNativeSpikeEvidence(value) {
34
35
  throw new TypeError("native spike artifact hash must be SHA-256");
35
36
  if (!Number.isSafeInteger(value.artifact.sizeBytes) || value.artifact.sizeBytes <= 0)
36
37
  throw new RangeError("native spike artifact size is invalid");
37
- if (!/^[a-f0-9]{40}$/.test(value.source.addoneCommit))
38
- throw new TypeError("native spike AddOne commit is invalid");
38
+ if (!/^[a-f0-9]{40}$/.test(value.source["a1Commit"]))
39
+ throw new TypeError(PRODUCT_TEXT.diagnostic("native spike commit is invalid"));
39
40
  if (value.source.libghosttyVtCommit !== EXPECTED_LIBGHOSTTY_VT ||
40
41
  value.source.portablePtyVersion !== EXPECTED_PORTABLE_PTY ||
41
42
  value.source.crosstermVersion !== EXPECTED_CROSSTERM) {
@@ -138,4 +139,3 @@ function assertJsonObject(value, name) {
138
139
  if (!encoded || encoded.length > 64_000)
139
140
  throw new RangeError(`${name} exceeds the bounded evidence detail limit`);
140
141
  }
141
- //# sourceMappingURL=evidence.js.map
@@ -2,4 +2,3 @@ export * from "./codec.js";
2
2
  export * from "./evidence.js";
3
3
  export * from "./messages.js";
4
4
  export * from "./proof-gate.js";
5
- //# sourceMappingURL=index.d.ts.map
@@ -2,4 +2,3 @@ export * from "./codec.js";
2
2
  export * from "./evidence.js";
3
3
  export * from "./messages.js";
4
4
  export * from "./proof-gate.js";
5
- //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
1
  import { type CorrelationId, type NativeHostCommand, type NativeHostEvent, type NativeHostHello, type PaneId, type TerminalSessionLaunch } from "../workspace-contracts/index.js";
2
- export declare const NATIVE_HOST_PROTOCOL_NAME: "addone-native-host";
2
+ export declare const NATIVE_HOST_PROTOCOL_NAME: string;
3
3
  export declare const MAX_NATIVE_HOST_MESSAGE_BYTES: number;
4
4
  export type NativeHostProofMessage = {
5
5
  readonly type: "hello";
@@ -54,4 +54,3 @@ export declare function nativeHostCommandResult(correlationId: CorrelationId, re
54
54
  export declare function nativeHostFailure(code: string, message: string, retryable?: boolean): NativeHostFailure;
55
55
  export declare function nativeHostTimedOut(deadlineAt: number, now: number): boolean;
56
56
  export declare function assertNativeHostProofMessage(message: NativeHostProofMessage): void;
57
- //# sourceMappingURL=messages.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { NATIVE_HOST_PROTOCOL_VERSION, assertNativeHostCommand, assertTerminalSessionLaunch, } from "../workspace-contracts/index.js";
2
- export const NATIVE_HOST_PROTOCOL_NAME = "addone-native-host";
2
+ import { PRODUCT_IDENTITY } from "../../product-identity.js";
3
+ export const NATIVE_HOST_PROTOCOL_NAME = PRODUCT_IDENTITY.protocol.nativeHostSchema;
3
4
  export const MAX_NATIVE_HOST_MESSAGE_BYTES = 1024 * 1024;
4
5
  export function negotiateNativeHostHello(value) {
5
6
  if (value.protocolVersion !== NATIVE_HOST_PROTOCOL_VERSION) {
@@ -146,4 +147,3 @@ function negotiation(accepted, negotiatedCapabilities, diagnostic) {
146
147
  function isText(value, maximum) {
147
148
  return typeof value === "string" && value.length > 0 && value.length <= maximum && !value.includes("\0");
148
149
  }
149
- //# sourceMappingURL=messages.js.map
@@ -11,4 +11,3 @@ export interface NativeSpikeGateDecision {
11
11
  readonly reasons: readonly string[];
12
12
  }
13
13
  export declare function evaluateNativeSpikeGate(evidence: NativeSpikeEvidence): NativeSpikeGateDecision;
14
- //# sourceMappingURL=proof-gate.d.ts.map
@@ -31,4 +31,3 @@ export function evaluateNativeSpikeGate(evidence) {
31
31
  }
32
32
  return Object.freeze({ decision: "go", integrationAllowed: true, reasons: Object.freeze(["technical and physical proof accepted"]) });
33
33
  }
34
- //# sourceMappingURL=proof-gate.js.map
@@ -300,4 +300,3 @@ export interface OwnedUiExtensionRendererPort {
300
300
  }, theme: OwnedUiExtensionThemePort, context: OwnedUiExtensionToolRenderContext): OwnedUiExtensionComponent;
301
301
  }
302
302
  export declare function assertOwnedUiExtensionUiPort(value: unknown): asserts value is OwnedUiExtensionUiPort;
303
- //# sourceMappingURL=extension-ui.d.ts.map
@@ -66,4 +66,3 @@ export function assertOwnedUiExtensionUiPort(value) {
66
66
  function isRecord(value) {
67
67
  return typeof value === "object" && value !== null && !Array.isArray(value);
68
68
  }
69
- //# sourceMappingURL=extension-ui.js.map
@@ -1,4 +1,3 @@
1
1
  export * from "./extension-ui.js";
2
2
  export * from "./model.js";
3
3
  export * from "./validation.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,3 @@
1
1
  export * from "./extension-ui.js";
2
2
  export * from "./model.js";
3
3
  export * from "./validation.js";
4
- //# sourceMappingURL=index.js.map
@@ -239,4 +239,3 @@ export interface OwnedUiSnapshot {
239
239
  readonly sequence: number;
240
240
  readonly view: OwnedUiSessionViewModel;
241
241
  }
242
- //# sourceMappingURL=model.d.ts.map
@@ -1,2 +1 @@
1
1
  export const OWNED_UI_CONTRACT_VERSION = 1;
2
- //# sourceMappingURL=model.js.map
@@ -9,4 +9,3 @@ export declare function assertOwnedUiEditorState(editor: OwnedUiEditorState): vo
9
9
  export declare function assertOwnedUiStatusView(status: OwnedUiStatusView): void;
10
10
  export declare function assertOwnedUiTerminalSurface(surface: OwnedUiTerminalSurface): void;
11
11
  export declare function assertOwnedUiDiagnostics(diagnostic: OwnedUiDiagnostics): void;
12
- //# sourceMappingURL=validation.d.ts.map
@@ -393,4 +393,3 @@ function assertJsonBytes(value, name, maximumBytes) {
393
393
  function textBytes(value) {
394
394
  return new TextEncoder().encode(value).byteLength;
395
395
  }
396
- //# sourceMappingURL=validation.js.map
@@ -0,0 +1,13 @@
1
+ export declare const OWNED_UI_SETTINGS_VERSION = 1;
2
+ export type OwnedUiSettingValue = string | number | boolean;
3
+ export type OwnedUiSettingApplication = "live" | "restart";
4
+ export interface OwnedUiSettingDeclaration {
5
+ readonly id: string;
6
+ readonly description: string;
7
+ readonly application: OwnedUiSettingApplication;
8
+ readonly defaultValue: OwnedUiSettingValue;
9
+ readonly allowedValues: readonly OwnedUiSettingValue[];
10
+ }
11
+ export declare const OWNED_UI_SETTING_DECLARATIONS: readonly OwnedUiSettingDeclaration[];
12
+ export declare function assertOwnedUiSettingDeclarations(declarations: readonly OwnedUiSettingDeclaration[]): void;
13
+ export declare function findOwnedUiSettingDeclaration(declarations: readonly OwnedUiSettingDeclaration[], id: string): OwnedUiSettingDeclaration | null;
@@ -0,0 +1,39 @@
1
+ export const OWNED_UI_SETTINGS_VERSION = 1;
2
+ const MAX_ID_LENGTH = 64;
3
+ const ID_PATTERN = /^[a-z][a-z0-9]*(?:[A-Z][a-z0-9]*)*$/;
4
+ export const OWNED_UI_SETTING_DECLARATIONS = Object.freeze([
5
+ Object.freeze({
6
+ id: "transcriptDensity",
7
+ description: "Vertical density of transcript content. Reserved for the custom-viewport milestone; no visible effect yet.",
8
+ application: "live",
9
+ defaultValue: "comfortable",
10
+ allowedValues: Object.freeze(["comfortable", "compact"]),
11
+ }),
12
+ ]);
13
+ export function assertOwnedUiSettingDeclarations(declarations) {
14
+ const seen = new Set();
15
+ for (const declaration of declarations) {
16
+ if (!ID_PATTERN.test(declaration.id) || declaration.id.length > MAX_ID_LENGTH) {
17
+ throw new Error(`owned UI setting id is not a bounded camelCase identifier: ${declaration.id}`);
18
+ }
19
+ if (seen.has(declaration.id))
20
+ throw new Error(`duplicate owned UI setting id: ${declaration.id}`);
21
+ seen.add(declaration.id);
22
+ if (declaration.description.trim().length === 0) {
23
+ throw new Error(`owned UI setting has no description: ${declaration.id}`);
24
+ }
25
+ if (declaration.allowedValues.length === 0) {
26
+ throw new Error(`owned UI setting declares no allowed values: ${declaration.id}`);
27
+ }
28
+ const types = new Set(declaration.allowedValues.map(value => typeof value));
29
+ if (types.size !== 1) {
30
+ throw new Error(`owned UI setting mixes allowed value types: ${declaration.id}`);
31
+ }
32
+ if (!declaration.allowedValues.includes(declaration.defaultValue)) {
33
+ throw new Error(`owned UI setting default is not an allowed value: ${declaration.id}`);
34
+ }
35
+ }
36
+ }
37
+ export function findOwnedUiSettingDeclaration(declarations, id) {
38
+ return declarations.find(declaration => declaration.id === id) ?? null;
39
+ }
@@ -0,0 +1,6 @@
1
+ export * from "./declarations.js";
2
+ export * from "./migrations.js";
3
+ export * from "./resolution.js";
4
+ export * from "./sections.js";
5
+ export * from "./session.js";
6
+ export * from "./store.js";
@@ -0,0 +1,6 @@
1
+ export * from "./declarations.js";
2
+ export * from "./migrations.js";
3
+ export * from "./resolution.js";
4
+ export * from "./sections.js";
5
+ export * from "./session.js";
6
+ export * from "./store.js";
@@ -0,0 +1,13 @@
1
+ export interface OwnedUiSettingsMigration {
2
+ /** Version this migration produces. A migration from N-1 declares `to: N`. */
3
+ readonly to: number;
4
+ readonly description: string;
5
+ migrate(values: Readonly<Record<string, unknown>>): Record<string, unknown>;
6
+ }
7
+ /**
8
+ * Ordered, contiguous migrations ending at OWNED_UI_SETTINGS_VERSION. Version 1
9
+ * is the first stored shape, so nothing precedes it and the list is empty.
10
+ */
11
+ export declare const OWNED_UI_SETTINGS_MIGRATIONS: readonly OwnedUiSettingsMigration[];
12
+ export declare function assertOwnedUiSettingsMigrations(migrations: readonly OwnedUiSettingsMigration[], currentVersion?: number): void;
13
+ export declare function migrationsFrom(migrations: readonly OwnedUiSettingsMigration[], storedVersion: number): readonly OwnedUiSettingsMigration[];
@@ -0,0 +1,28 @@
1
+ import { OWNED_UI_SETTINGS_VERSION } from "./declarations.js";
2
+ /**
3
+ * Ordered, contiguous migrations ending at OWNED_UI_SETTINGS_VERSION. Version 1
4
+ * is the first stored shape, so nothing precedes it and the list is empty.
5
+ */
6
+ export const OWNED_UI_SETTINGS_MIGRATIONS = Object.freeze([]);
7
+ export function assertOwnedUiSettingsMigrations(migrations, currentVersion = OWNED_UI_SETTINGS_VERSION) {
8
+ const firstProduced = currentVersion - migrations.length + 1;
9
+ if (migrations.length > 0 && firstProduced < 2) {
10
+ throw new Error("owned UI settings migrations cannot produce a version below 2");
11
+ }
12
+ migrations.forEach((migration, index) => {
13
+ const expected = firstProduced + index;
14
+ if (migration.to !== expected) {
15
+ throw new Error(`owned UI settings migration ${index} produces version ${migration.to}, expected ${expected}`);
16
+ }
17
+ if (migration.description.trim().length === 0) {
18
+ throw new Error(`owned UI settings migration to version ${migration.to} has no description`);
19
+ }
20
+ });
21
+ const last = migrations.at(-1);
22
+ if (last && last.to !== currentVersion) {
23
+ throw new Error(`owned UI settings migrations end at version ${last.to}, expected ${currentVersion}`);
24
+ }
25
+ }
26
+ export function migrationsFrom(migrations, storedVersion) {
27
+ return migrations.filter(migration => migration.to > storedVersion);
28
+ }
@@ -0,0 +1,45 @@
1
+ import { type OwnedUiSettingDeclaration, type OwnedUiSettingValue } from "./declarations.js";
2
+ import { type OwnedUiSettingsMigration } from "./migrations.js";
3
+ export type OwnedUiSettingSource = "default" | "stored";
4
+ export interface OwnedUiResolvedSetting {
5
+ readonly declaration: OwnedUiSettingDeclaration;
6
+ readonly value: OwnedUiSettingValue;
7
+ readonly source: OwnedUiSettingSource;
8
+ }
9
+ export type OwnedUiSettingsNoticeCode = "document-unreadable" | "version-newer-than-supported" | "migration-unavailable" | "value-rejected";
10
+ export interface OwnedUiSettingsNotice {
11
+ readonly code: OwnedUiSettingsNoticeCode;
12
+ /** Setting id for a rejected value; null for document-level notices. */
13
+ readonly settingId: string | null;
14
+ readonly detail: string;
15
+ }
16
+ export interface OwnedUiSettingsResolution {
17
+ readonly version: number;
18
+ readonly settings: readonly OwnedUiResolvedSetting[];
19
+ /** Keys that match no declaration, preserved verbatim so a downgrade cannot destroy them. */
20
+ readonly preserved: Readonly<Record<string, unknown>>;
21
+ readonly notices: readonly OwnedUiSettingsNotice[];
22
+ /** True when the resolved form differs from what was stored and should be written on the next change. */
23
+ readonly migrated: boolean;
24
+ }
25
+ export interface OwnedUiSettingsDocument {
26
+ readonly version: number;
27
+ readonly values: Readonly<Record<string, unknown>>;
28
+ }
29
+ export declare function parseOwnedUiSettingsDocument(raw: string): OwnedUiSettingsDocument | null;
30
+ export interface ResolveOwnedUiSettingsInput {
31
+ readonly declarations: readonly OwnedUiSettingDeclaration[];
32
+ readonly migrations: readonly OwnedUiSettingsMigration[];
33
+ /** Parsed document, or null when the file is absent, unreadable, or unparseable. */
34
+ readonly document: OwnedUiSettingsDocument | null;
35
+ /** Set when the document existed but could not be read or parsed. */
36
+ readonly unreadableDetail?: string;
37
+ readonly currentVersion?: number;
38
+ }
39
+ /**
40
+ * Pure resolution: declarations plus a parsed document produce a complete value
41
+ * set, the keys to preserve, and every notice worth reporting. Never throws.
42
+ */
43
+ export declare function resolveOwnedUiSettings(input: ResolveOwnedUiSettingsInput): OwnedUiSettingsResolution;
44
+ export declare function settingValue(resolution: OwnedUiSettingsResolution, id: string): OwnedUiSettingValue | null;
45
+ export declare function documentFrom(resolution: OwnedUiSettingsResolution): OwnedUiSettingsDocument;
@@ -0,0 +1,147 @@
1
+ import { OWNED_UI_SETTINGS_VERSION, findOwnedUiSettingDeclaration, } from "./declarations.js";
2
+ import { migrationsFrom } from "./migrations.js";
3
+ export function parseOwnedUiSettingsDocument(raw) {
4
+ let parsed;
5
+ try {
6
+ parsed = JSON.parse(raw);
7
+ }
8
+ catch {
9
+ return null;
10
+ }
11
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed))
12
+ return null;
13
+ const candidate = parsed;
14
+ const version = candidate["version"];
15
+ if (typeof version !== "number" || !Number.isInteger(version) || version < 1)
16
+ return null;
17
+ const values = candidate["values"];
18
+ if (typeof values !== "object" || values === null || Array.isArray(values))
19
+ return null;
20
+ return { version, values: values };
21
+ }
22
+ /**
23
+ * Pure resolution: declarations plus a parsed document produce a complete value
24
+ * set, the keys to preserve, and every notice worth reporting. Never throws.
25
+ */
26
+ export function resolveOwnedUiSettings(input) {
27
+ const currentVersion = input.currentVersion ?? OWNED_UI_SETTINGS_VERSION;
28
+ const notices = [];
29
+ if (input.unreadableDetail !== undefined) {
30
+ notices.push({ code: "document-unreadable", settingId: null, detail: input.unreadableDetail });
31
+ }
32
+ if (input.document === null) {
33
+ return {
34
+ version: currentVersion,
35
+ settings: defaultsFor(input.declarations),
36
+ preserved: Object.freeze({}),
37
+ notices: Object.freeze(notices),
38
+ migrated: false,
39
+ };
40
+ }
41
+ if (input.document.version > currentVersion) {
42
+ notices.push({
43
+ code: "version-newer-than-supported",
44
+ settingId: null,
45
+ detail: `stored version ${input.document.version} is newer than supported version ${currentVersion}`,
46
+ });
47
+ return {
48
+ version: currentVersion,
49
+ settings: defaultsFor(input.declarations),
50
+ preserved: Object.freeze({ ...input.document.values }),
51
+ notices: Object.freeze(notices),
52
+ migrated: false,
53
+ };
54
+ }
55
+ const pending = migrationsFrom(input.migrations, input.document.version);
56
+ const expected = currentVersion - input.document.version;
57
+ if (pending.length !== expected) {
58
+ notices.push({
59
+ code: "migration-unavailable",
60
+ settingId: null,
61
+ detail: `no declared migration path from stored version ${input.document.version} to ${currentVersion}`,
62
+ });
63
+ return {
64
+ version: currentVersion,
65
+ settings: defaultsFor(input.declarations),
66
+ preserved: Object.freeze({ ...input.document.values }),
67
+ notices: Object.freeze(notices),
68
+ migrated: false,
69
+ };
70
+ }
71
+ let values = { ...input.document.values };
72
+ for (const migration of pending) {
73
+ try {
74
+ values = { ...migration.migrate(Object.freeze({ ...values })) };
75
+ }
76
+ catch (error) {
77
+ notices.push({
78
+ code: "migration-unavailable",
79
+ settingId: null,
80
+ detail: `migration to version ${migration.to} failed: ${describe(error)}`,
81
+ });
82
+ return {
83
+ version: currentVersion,
84
+ settings: defaultsFor(input.declarations),
85
+ preserved: Object.freeze({ ...input.document.values }),
86
+ notices: Object.freeze(notices),
87
+ migrated: false,
88
+ };
89
+ }
90
+ }
91
+ const settings = [];
92
+ for (const declaration of input.declarations) {
93
+ if (!Object.hasOwn(values, declaration.id)) {
94
+ settings.push({ declaration, value: declaration.defaultValue, source: "default" });
95
+ continue;
96
+ }
97
+ const stored = values[declaration.id];
98
+ if (isAllowed(declaration, stored)) {
99
+ settings.push({ declaration, value: stored, source: "stored" });
100
+ continue;
101
+ }
102
+ notices.push({
103
+ code: "value-rejected",
104
+ settingId: declaration.id,
105
+ detail: `stored value ${JSON.stringify(stored) ?? "undefined"} is not an allowed value`,
106
+ });
107
+ settings.push({ declaration, value: declaration.defaultValue, source: "default" });
108
+ }
109
+ const preserved = {};
110
+ for (const [key, value] of Object.entries(values)) {
111
+ if (findOwnedUiSettingDeclaration(input.declarations, key) === null)
112
+ preserved[key] = value;
113
+ }
114
+ return {
115
+ version: currentVersion,
116
+ settings: Object.freeze(settings),
117
+ preserved: Object.freeze(preserved),
118
+ notices: Object.freeze(notices),
119
+ migrated: pending.length > 0,
120
+ };
121
+ }
122
+ export function settingValue(resolution, id) {
123
+ return resolution.settings.find(setting => setting.declaration.id === id)?.value ?? null;
124
+ }
125
+ export function documentFrom(resolution) {
126
+ const values = { ...resolution.preserved };
127
+ for (const setting of resolution.settings) {
128
+ if (setting.source === "stored")
129
+ values[setting.declaration.id] = setting.value;
130
+ }
131
+ return { version: resolution.version, values };
132
+ }
133
+ function defaultsFor(declarations) {
134
+ return Object.freeze(declarations.map(declaration => ({
135
+ declaration,
136
+ value: declaration.defaultValue,
137
+ source: "default",
138
+ })));
139
+ }
140
+ function isAllowed(declaration, value) {
141
+ if (typeof value !== "string" && typeof value !== "number" && typeof value !== "boolean")
142
+ return false;
143
+ return declaration.allowedValues.includes(value);
144
+ }
145
+ function describe(error) {
146
+ return error instanceof Error ? error.message : String(error);
147
+ }
@@ -0,0 +1,70 @@
1
+ import type { OwnedUiSettingValue } from "./declarations.js";
2
+ import type { OwnedUiSettingsResolution } from "./resolution.js";
3
+ export type OwnedUiSettingsBackend = "a1" | "agent";
4
+ export interface OwnedUiSettingsEntry {
5
+ readonly id: string;
6
+ /** Label to show, when its source provides one. Falls back to the id. */
7
+ readonly label: string | null;
8
+ readonly backend: OwnedUiSettingsBackend;
9
+ readonly description: string | null;
10
+ /** Present when the value is a scalar the surface can offer as a choice. */
11
+ readonly value: OwnedUiSettingValue | null;
12
+ /** Raw value as reported by its backend, for entries the surface can only display. */
13
+ readonly rawValue: unknown;
14
+ readonly editable: boolean;
15
+ readonly choices: readonly OwnedUiSettingValue[] | null;
16
+ /** True when the value is a structured object edited through its own surface. */
17
+ readonly structured: boolean;
18
+ /** Limits a numeric setting accepts, when the engine states them. */
19
+ readonly minimum: number | null;
20
+ readonly maximum: number | null;
21
+ /** Flags that surface offers, declared by the source rather than by the value. */
22
+ readonly flags: readonly {
23
+ readonly key: string;
24
+ readonly label: string;
25
+ readonly description: string;
26
+ readonly fallback: boolean;
27
+ }[];
28
+ readonly origin: "default" | "stored" | "engine";
29
+ readonly application: "live" | "restart" | "engine";
30
+ }
31
+ export interface OwnedUiSettingsSection {
32
+ readonly id: string;
33
+ readonly title: string;
34
+ readonly entries: readonly OwnedUiSettingsEntry[];
35
+ /** Set when the section could not be built; entries is then empty. */
36
+ readonly unavailableReason: string | null;
37
+ /** Set when the section is present but nothing in it can be changed here. */
38
+ readonly readOnlyReason: string | null;
39
+ }
40
+ export interface AgentSettingsSnapshot {
41
+ readonly descriptors: readonly {
42
+ readonly key: string;
43
+ readonly valueType: "boolean" | "number" | "string" | "enum" | "json";
44
+ readonly writable: boolean;
45
+ readonly choices?: readonly unknown[];
46
+ readonly label?: string;
47
+ readonly description?: string;
48
+ readonly minimum?: number;
49
+ readonly maximum?: number;
50
+ readonly flags?: readonly {
51
+ readonly key: string;
52
+ readonly label: string;
53
+ readonly description: string;
54
+ readonly fallback: boolean;
55
+ }[];
56
+ }[];
57
+ readonly values: Readonly<Record<string, unknown>>;
58
+ /** Whether the engine advertises settings write capability at all. */
59
+ readonly writeAdvertised: boolean;
60
+ /** Set when the engine could not report its settings. */
61
+ readonly failure: string | null;
62
+ }
63
+ export interface BuildOwnedUiSettingsSectionsInput {
64
+ readonly resolution: OwnedUiSettingsResolution;
65
+ /** Null when no engine is attached, which is not a failure. */
66
+ readonly agent: AgentSettingsSnapshot | null;
67
+ }
68
+ export declare const AGENT_SECTION_ID = "agent";
69
+ export declare function buildOwnedUiSettingsSections(input: BuildOwnedUiSettingsSectionsInput): readonly OwnedUiSettingsSection[];
70
+ export declare function findOwnedUiSettingsEntry(sections: readonly OwnedUiSettingsSection[], id: string, backend: OwnedUiSettingsBackend): OwnedUiSettingsEntry | null;