@timurproko/a1 0.1.0 → 0.1.1-dev.2

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 (507) hide show
  1. package/README.md +8 -6
  2. package/bin/a1-ui.js +24 -0
  3. package/bin/{addone.js → a1.js} +2 -2
  4. package/dist/src/cli/dispatch.d.ts +4 -5
  5. package/dist/src/cli/dispatch.js +11 -11
  6. package/dist/src/cli/index.d.ts +0 -1
  7. package/dist/src/cli/index.js +0 -1
  8. package/dist/src/cli/version-stats.d.ts +0 -1
  9. package/dist/src/cli/version-stats.js +27 -23
  10. package/dist/src/cli/version.d.ts +1 -2
  11. package/dist/src/cli/version.js +4 -4
  12. package/dist/src/composition/index.d.ts +22 -0
  13. package/dist/src/composition/index.js +166 -0
  14. package/dist/src/composition/transparent-runtime.d.ts +6 -0
  15. package/dist/src/composition/transparent-runtime.js +19 -0
  16. package/dist/src/features/launch/development-launch.d.ts +0 -1
  17. package/dist/src/features/launch/development-launch.js +12 -11
  18. package/dist/src/features/launch/index.d.ts +0 -1
  19. package/dist/src/features/launch/index.js +0 -1
  20. package/dist/src/features/launch/initialize-profile.d.ts +1 -2
  21. package/dist/src/features/launch/initialize-profile.js +1 -2
  22. package/dist/src/features/launch/intent.d.ts +0 -1
  23. package/dist/src/features/launch/intent.js +0 -1
  24. package/dist/src/features/launch/prepare-launch.d.ts +2 -3
  25. package/dist/src/features/launch/prepare-launch.js +3 -4
  26. package/dist/src/features/launch/profile-paths.d.ts +2 -3
  27. package/dist/src/features/launch/profile-paths.js +9 -8
  28. package/dist/src/features/launch/profiles.d.ts +2 -3
  29. package/dist/src/features/launch/profiles.js +5 -6
  30. package/dist/src/features/launch/runtime-selection.d.ts +1 -2
  31. package/dist/src/features/launch/runtime-selection.js +1 -2
  32. package/dist/src/features/owned-ui/customization.d.ts +5 -3
  33. package/dist/src/features/owned-ui/customization.js +2 -4
  34. package/dist/src/features/owned-ui/diagnostics.d.ts +0 -1
  35. package/dist/src/features/owned-ui/diagnostics.js +0 -1
  36. package/dist/src/features/owned-ui/index.d.ts +0 -2
  37. package/dist/src/features/owned-ui/index.js +0 -2
  38. package/dist/src/features/owned-ui/run.d.ts +3 -7
  39. package/dist/src/features/owned-ui/run.js +7 -15
  40. package/dist/src/features/workspace/capabilities.d.ts +0 -1
  41. package/dist/src/features/workspace/capabilities.js +0 -1
  42. package/dist/src/features/workspace/index.d.ts +0 -1
  43. package/dist/src/features/workspace/index.js +0 -1
  44. package/dist/src/features/workspace/presentation.d.ts +1 -2
  45. package/dist/src/features/workspace/presentation.js +5 -4
  46. package/dist/src/features/workspace/reconciliation.d.ts +0 -1
  47. package/dist/src/features/workspace/reconciliation.js +0 -1
  48. package/dist/src/features/workspace/reducer.d.ts +0 -1
  49. package/dist/src/features/workspace/reducer.js +0 -1
  50. package/dist/src/features/workspace/router.d.ts +0 -1
  51. package/dist/src/features/workspace/router.js +0 -1
  52. package/dist/src/features/workspace/store.d.ts +0 -1
  53. package/dist/src/features/workspace/store.js +0 -1
  54. package/dist/src/foundation/agent-engine-contracts/capability-ports.d.ts +95 -0
  55. package/dist/src/foundation/agent-engine-contracts/capability-ports.js +35 -0
  56. package/dist/src/foundation/agent-engine-contracts/domain-validation.d.ts +12 -0
  57. package/dist/src/foundation/agent-engine-contracts/domain-validation.js +89 -0
  58. package/dist/src/foundation/agent-engine-contracts/domain.d.ts +90 -0
  59. package/dist/src/foundation/agent-engine-contracts/domain.js +1 -0
  60. package/dist/src/foundation/agent-engine-contracts/index.d.ts +7 -0
  61. package/dist/src/foundation/agent-engine-contracts/index.js +7 -0
  62. package/dist/src/foundation/agent-engine-contracts/model.d.ts +78 -0
  63. package/dist/src/foundation/agent-engine-contracts/model.js +1 -0
  64. package/dist/src/foundation/agent-engine-contracts/ports.d.ts +18 -0
  65. package/dist/src/foundation/agent-engine-contracts/ports.js +1 -0
  66. package/dist/src/foundation/agent-engine-contracts/serialization.d.ts +7 -0
  67. package/dist/src/foundation/agent-engine-contracts/serialization.js +58 -0
  68. package/dist/src/foundation/agent-engine-contracts/validation.d.ts +5 -0
  69. package/dist/src/foundation/agent-engine-contracts/validation.js +128 -0
  70. package/dist/src/foundation/lifecycle/index.d.ts +0 -1
  71. package/dist/src/foundation/lifecycle/index.js +0 -1
  72. package/dist/src/foundation/lifecycle/model.d.ts +1 -2
  73. package/dist/src/foundation/lifecycle/model.js +3 -3
  74. package/dist/src/foundation/lifecycle/paths.d.ts +2 -3
  75. package/dist/src/foundation/lifecycle/paths.js +32 -16
  76. package/dist/src/foundation/native-host-protocol/codec.d.ts +0 -1
  77. package/dist/src/foundation/native-host-protocol/codec.js +0 -1
  78. package/dist/src/foundation/native-host-protocol/evidence.d.ts +2 -3
  79. package/dist/src/foundation/native-host-protocol/evidence.js +4 -4
  80. package/dist/src/foundation/native-host-protocol/index.d.ts +0 -1
  81. package/dist/src/foundation/native-host-protocol/index.js +0 -1
  82. package/dist/src/foundation/native-host-protocol/messages.d.ts +1 -2
  83. package/dist/src/foundation/native-host-protocol/messages.js +2 -2
  84. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts +0 -1
  85. package/dist/src/foundation/native-host-protocol/proof-gate.js +0 -1
  86. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts +0 -1
  87. package/dist/src/foundation/owned-ui-contracts/extension-ui.js +0 -1
  88. package/dist/src/foundation/owned-ui-contracts/index.d.ts +0 -1
  89. package/dist/src/foundation/owned-ui-contracts/index.js +0 -1
  90. package/dist/src/foundation/owned-ui-contracts/model.d.ts +0 -1
  91. package/dist/src/foundation/owned-ui-contracts/model.js +0 -1
  92. package/dist/src/foundation/owned-ui-contracts/validation.d.ts +0 -1
  93. package/dist/src/foundation/owned-ui-contracts/validation.js +0 -1
  94. package/dist/src/foundation/pi-component-adapter/components.d.ts +0 -1
  95. package/dist/src/foundation/pi-component-adapter/components.js +0 -1
  96. package/dist/src/foundation/pi-component-adapter/conformance.d.ts +1 -1
  97. package/dist/src/foundation/pi-component-adapter/conformance.js +10 -4
  98. package/dist/src/foundation/pi-component-adapter/index.d.ts +0 -1
  99. package/dist/src/foundation/pi-component-adapter/index.js +0 -1
  100. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.d.ts +165 -0
  101. package/dist/src/foundation/pi-component-adapter/resources/builtin-themes.js +166 -0
  102. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts +0 -1
  103. package/dist/src/foundation/pi-component-adapter/shell-components.js +0 -1
  104. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts +0 -1
  105. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js +10 -13
  106. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts +0 -1
  107. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js +0 -1
  108. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts +0 -1
  109. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js +5 -62
  110. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts +0 -1
  111. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js +0 -1
  112. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts +0 -1
  113. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js +0 -1
  114. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts +0 -1
  115. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js +0 -1
  116. package/dist/src/foundation/pi-component-adapter/theme.d.ts +0 -1
  117. package/dist/src/foundation/pi-component-adapter/theme.js +0 -1
  118. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts +0 -1
  119. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js +0 -1
  120. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts +0 -1
  121. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js +0 -1
  122. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts +0 -1
  123. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js +0 -1
  124. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts +0 -1
  125. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js +0 -1
  126. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts +0 -1
  127. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js +3 -27
  128. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts +0 -1
  129. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js +0 -1
  130. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts +0 -1
  131. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js +0 -1
  132. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts +0 -1
  133. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js +0 -1
  134. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts +0 -1
  135. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js +0 -1
  136. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.d.ts +18 -0
  137. package/dist/src/foundation/pi-component-adapter/upstream/components/owned-editor.js +55 -0
  138. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts +0 -1
  139. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js +0 -1
  140. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.d.ts +10 -0
  141. package/dist/src/foundation/pi-component-adapter/upstream/components/session-footer.js +120 -0
  142. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts +0 -1
  143. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js +0 -1
  144. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts +0 -1
  145. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js +0 -1
  146. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts +1 -2
  147. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js +1 -2
  148. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts +0 -1
  149. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js +0 -1
  150. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts +0 -1
  151. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js +0 -1
  152. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts +0 -1
  153. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js +0 -1
  154. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts +0 -1
  155. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js +0 -1
  156. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts +0 -1
  157. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js +0 -1
  158. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts +0 -1
  159. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js +1 -2
  160. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts +0 -1
  161. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js +18 -15
  162. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts +2 -202
  163. package/dist/src/foundation/pi-engine-adapter/adapter.js +76 -174
  164. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts +24 -1
  165. package/dist/src/foundation/pi-engine-adapter/conformance.js +60 -15
  166. package/dist/src/foundation/pi-engine-adapter/index.d.ts +6 -1
  167. package/dist/src/foundation/pi-engine-adapter/index.js +6 -1
  168. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.d.ts +30 -0
  169. package/dist/src/foundation/pi-engine-adapter/model-auth-integration.js +61 -0
  170. package/dist/src/foundation/pi-engine-adapter/public-main-entry.d.ts +5 -0
  171. package/dist/src/foundation/pi-engine-adapter/public-main-entry.js +18 -0
  172. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.d.ts +31 -0
  173. package/dist/src/foundation/pi-engine-adapter/resource-extension-integration.js +80 -0
  174. package/dist/src/foundation/pi-engine-adapter/runtime-integration.d.ts +18 -0
  175. package/dist/src/foundation/pi-engine-adapter/runtime-integration.js +32 -0
  176. package/dist/src/foundation/pi-engine-adapter/session-integration.d.ts +43 -0
  177. package/dist/src/foundation/pi-engine-adapter/session-integration.js +97 -0
  178. package/dist/src/foundation/pi-engine-adapter/settings-integration.d.ts +17 -0
  179. package/dist/src/foundation/pi-engine-adapter/settings-integration.js +85 -0
  180. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.d.ts +20 -0
  181. package/dist/src/foundation/pi-engine-adapter/workflow-controllers.js +48 -0
  182. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts +0 -1
  183. package/dist/src/foundation/pi-engine-adapter/workflows.js +0 -1
  184. package/dist/src/foundation/pi-owned-ui-integration/index.d.ts +1 -0
  185. package/dist/src/foundation/pi-owned-ui-integration/index.js +1 -0
  186. package/dist/src/{features/owned-ui/pi-session-shell.d.ts → foundation/pi-owned-ui-integration/session-shell.d.ts} +17 -14
  187. package/dist/src/{features/owned-ui/pi-session-shell.js → foundation/pi-owned-ui-integration/session-shell.js} +59 -60
  188. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts +0 -1
  189. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js +0 -1
  190. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts +8 -4
  191. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js +22 -9
  192. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts +0 -2
  193. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js +1 -2
  194. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts +1 -1
  195. package/dist/src/foundation/pi-tui-runtime-adapter/index.js +1 -1
  196. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.d.ts +4 -0
  197. package/dist/src/foundation/pi-tui-runtime-adapter/presentation-adapter.js +48 -0
  198. package/dist/src/foundation/presentation-contracts/index.d.ts +96 -0
  199. package/dist/src/foundation/presentation-contracts/index.js +38 -0
  200. package/dist/src/foundation/protocol/client.d.ts +0 -1
  201. package/dist/src/foundation/protocol/client.js +0 -1
  202. package/dist/src/foundation/protocol/index.d.ts +0 -1
  203. package/dist/src/foundation/protocol/index.js +0 -1
  204. package/dist/src/foundation/protocol/messages.d.ts +1 -2
  205. package/dist/src/foundation/protocol/messages.js +2 -2
  206. package/dist/src/foundation/release/bootstrap.d.ts +0 -1
  207. package/dist/src/foundation/release/bootstrap.js +55 -22
  208. package/dist/src/foundation/release/cohort-selection.d.ts +0 -1
  209. package/dist/src/foundation/release/cohort-selection.js +0 -1
  210. package/dist/src/foundation/release/cohort-state.d.ts +3 -2
  211. package/dist/src/foundation/release/cohort-state.js +5 -4
  212. package/dist/src/foundation/release/concurrency.d.ts +1 -0
  213. package/dist/src/foundation/release/concurrency.js +17 -0
  214. package/dist/src/foundation/release/development-preview-release.d.ts +2 -2
  215. package/dist/src/foundation/release/development-preview-release.js +3 -2
  216. package/dist/src/foundation/release/index.d.ts +0 -1
  217. package/dist/src/foundation/release/index.js +0 -1
  218. package/dist/src/foundation/release/process-cleanup.d.ts +0 -1
  219. package/dist/src/foundation/release/process-cleanup.js +0 -1
  220. package/dist/src/foundation/release/release-gc.d.ts +0 -1
  221. package/dist/src/foundation/release/release-gc.js +0 -1
  222. package/dist/src/foundation/release/release-store.d.ts +24 -6
  223. package/dist/src/foundation/release/release-store.js +56 -21
  224. package/dist/src/foundation/release/release.d.ts +5 -6
  225. package/dist/src/foundation/release/release.js +21 -19
  226. package/dist/src/foundation/release/stable-release.d.ts +2 -2
  227. package/dist/src/foundation/release/stable-release.js +6 -5
  228. package/dist/src/foundation/release/update-transaction.d.ts +2 -2
  229. package/dist/src/foundation/release/update-transaction.js +8 -7
  230. package/dist/src/foundation/release/update.d.ts +2 -3
  231. package/dist/src/foundation/release/update.js +31 -29
  232. package/dist/src/foundation/storage/control-store.d.ts +0 -1
  233. package/dist/src/foundation/storage/control-store.js +28 -7
  234. package/dist/src/foundation/storage/index.d.ts +0 -1
  235. package/dist/src/foundation/storage/index.js +0 -1
  236. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts +0 -1
  237. package/dist/src/foundation/structured-agent-runtime/backpressure.js +0 -1
  238. package/dist/src/foundation/structured-agent-runtime/commands.d.ts +0 -1
  239. package/dist/src/foundation/structured-agent-runtime/commands.js +0 -1
  240. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts +2 -3
  241. package/dist/src/foundation/structured-agent-runtime/handshake.js +13 -13
  242. package/dist/src/foundation/structured-agent-runtime/index.d.ts +0 -1
  243. package/dist/src/foundation/structured-agent-runtime/index.js +0 -1
  244. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts +0 -1
  245. package/dist/src/foundation/structured-agent-runtime/reconnection.js +0 -1
  246. package/dist/src/foundation/structured-agent-runtime/state.d.ts +0 -1
  247. package/dist/src/foundation/structured-agent-runtime/state.js +0 -1
  248. package/dist/src/foundation/supervision/index.d.ts +1 -2
  249. package/dist/src/foundation/supervision/index.js +1 -2
  250. package/dist/src/foundation/supervision/main.d.ts +0 -1
  251. package/dist/src/foundation/supervision/main.js +11 -10
  252. package/dist/src/foundation/supervision/paths.d.ts +1 -2
  253. package/dist/src/foundation/supervision/paths.js +1 -2
  254. package/dist/src/foundation/supervision/server.d.ts +3 -4
  255. package/dist/src/foundation/supervision/server.js +7 -6
  256. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts +0 -1
  257. package/dist/src/foundation/transparent-terminal/command-resolution.js +0 -1
  258. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts +0 -1
  259. package/dist/src/foundation/transparent-terminal/foreground-broker.js +0 -1
  260. package/dist/src/foundation/transparent-terminal/index.d.ts +1 -1
  261. package/dist/src/foundation/transparent-terminal/index.js +1 -1
  262. package/dist/src/foundation/transparent-terminal/main.d.ts +3 -4
  263. package/dist/src/foundation/transparent-terminal/main.js +8 -21
  264. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts +0 -1
  265. package/dist/src/foundation/transparent-terminal/native-launcher.js +0 -1
  266. package/dist/src/foundation/workspace-contracts/index.d.ts +0 -1
  267. package/dist/src/foundation/workspace-contracts/index.js +0 -1
  268. package/dist/src/foundation/workspace-contracts/model.d.ts +0 -1
  269. package/dist/src/foundation/workspace-contracts/model.js +0 -1
  270. package/dist/src/foundation/workspace-contracts/validation.d.ts +0 -1
  271. package/dist/src/foundation/workspace-contracts/validation.js +0 -1
  272. package/dist/src/product-identity.d.ts +37 -0
  273. package/dist/src/product-identity.js +149 -0
  274. package/dist/src/product-identity.json +96 -0
  275. package/docs/architecture/boundaries.md +2 -2
  276. package/docs/architecture/project-structure.md +2 -2
  277. package/docs/architecture/resource-and-data-policy.md +1 -1
  278. package/docs/architecture/terminal-host-proof-gate.md +2 -2
  279. package/docs/architecture/terminal-host-provenance.md +3 -3
  280. package/docs/architecture/terminal-host-spike-evidence.md +1 -1
  281. package/docs/architecture/toolchain.md +33 -7
  282. package/docs/features/launch-profiles.md +6 -6
  283. package/docs/manual-pi-boundary-candidate.md +33 -0
  284. package/docs/manual-transparent-checkpoint.md +11 -11
  285. package/package.json +10 -3
  286. package/bin/addone-ui.js +0 -20
  287. package/dist/src/cli/dispatch.d.ts.map +0 -1
  288. package/dist/src/cli/dispatch.js.map +0 -1
  289. package/dist/src/cli/index.d.ts.map +0 -1
  290. package/dist/src/cli/index.js.map +0 -1
  291. package/dist/src/cli/version-stats.d.ts.map +0 -1
  292. package/dist/src/cli/version-stats.js.map +0 -1
  293. package/dist/src/cli/version.d.ts.map +0 -1
  294. package/dist/src/cli/version.js.map +0 -1
  295. package/dist/src/features/launch/development-launch.d.ts.map +0 -1
  296. package/dist/src/features/launch/development-launch.js.map +0 -1
  297. package/dist/src/features/launch/index.d.ts.map +0 -1
  298. package/dist/src/features/launch/index.js.map +0 -1
  299. package/dist/src/features/launch/initialize-profile.d.ts.map +0 -1
  300. package/dist/src/features/launch/initialize-profile.js.map +0 -1
  301. package/dist/src/features/launch/intent.d.ts.map +0 -1
  302. package/dist/src/features/launch/intent.js.map +0 -1
  303. package/dist/src/features/launch/prepare-launch.d.ts.map +0 -1
  304. package/dist/src/features/launch/prepare-launch.js.map +0 -1
  305. package/dist/src/features/launch/profile-paths.d.ts.map +0 -1
  306. package/dist/src/features/launch/profile-paths.js.map +0 -1
  307. package/dist/src/features/launch/profiles.d.ts.map +0 -1
  308. package/dist/src/features/launch/profiles.js.map +0 -1
  309. package/dist/src/features/launch/runtime-selection.d.ts.map +0 -1
  310. package/dist/src/features/launch/runtime-selection.js.map +0 -1
  311. package/dist/src/features/owned-ui/customization.d.ts.map +0 -1
  312. package/dist/src/features/owned-ui/customization.js.map +0 -1
  313. package/dist/src/features/owned-ui/diagnostics.d.ts.map +0 -1
  314. package/dist/src/features/owned-ui/diagnostics.js.map +0 -1
  315. package/dist/src/features/owned-ui/index.d.ts.map +0 -1
  316. package/dist/src/features/owned-ui/index.js.map +0 -1
  317. package/dist/src/features/owned-ui/pi-session-shell.d.ts.map +0 -1
  318. package/dist/src/features/owned-ui/pi-session-shell.js.map +0 -1
  319. package/dist/src/features/owned-ui/run.d.ts.map +0 -1
  320. package/dist/src/features/owned-ui/run.js.map +0 -1
  321. package/dist/src/features/workspace/capabilities.d.ts.map +0 -1
  322. package/dist/src/features/workspace/capabilities.js.map +0 -1
  323. package/dist/src/features/workspace/index.d.ts.map +0 -1
  324. package/dist/src/features/workspace/index.js.map +0 -1
  325. package/dist/src/features/workspace/presentation.d.ts.map +0 -1
  326. package/dist/src/features/workspace/presentation.js.map +0 -1
  327. package/dist/src/features/workspace/reconciliation.d.ts.map +0 -1
  328. package/dist/src/features/workspace/reconciliation.js.map +0 -1
  329. package/dist/src/features/workspace/reducer.d.ts.map +0 -1
  330. package/dist/src/features/workspace/reducer.js.map +0 -1
  331. package/dist/src/features/workspace/router.d.ts.map +0 -1
  332. package/dist/src/features/workspace/router.js.map +0 -1
  333. package/dist/src/features/workspace/store.d.ts.map +0 -1
  334. package/dist/src/features/workspace/store.js.map +0 -1
  335. package/dist/src/foundation/lifecycle/index.d.ts.map +0 -1
  336. package/dist/src/foundation/lifecycle/index.js.map +0 -1
  337. package/dist/src/foundation/lifecycle/model.d.ts.map +0 -1
  338. package/dist/src/foundation/lifecycle/model.js.map +0 -1
  339. package/dist/src/foundation/lifecycle/paths.d.ts.map +0 -1
  340. package/dist/src/foundation/lifecycle/paths.js.map +0 -1
  341. package/dist/src/foundation/native-host-protocol/codec.d.ts.map +0 -1
  342. package/dist/src/foundation/native-host-protocol/codec.js.map +0 -1
  343. package/dist/src/foundation/native-host-protocol/evidence.d.ts.map +0 -1
  344. package/dist/src/foundation/native-host-protocol/evidence.js.map +0 -1
  345. package/dist/src/foundation/native-host-protocol/index.d.ts.map +0 -1
  346. package/dist/src/foundation/native-host-protocol/index.js.map +0 -1
  347. package/dist/src/foundation/native-host-protocol/messages.d.ts.map +0 -1
  348. package/dist/src/foundation/native-host-protocol/messages.js.map +0 -1
  349. package/dist/src/foundation/native-host-protocol/proof-gate.d.ts.map +0 -1
  350. package/dist/src/foundation/native-host-protocol/proof-gate.js.map +0 -1
  351. package/dist/src/foundation/owned-ui-contracts/extension-ui.d.ts.map +0 -1
  352. package/dist/src/foundation/owned-ui-contracts/extension-ui.js.map +0 -1
  353. package/dist/src/foundation/owned-ui-contracts/index.d.ts.map +0 -1
  354. package/dist/src/foundation/owned-ui-contracts/index.js.map +0 -1
  355. package/dist/src/foundation/owned-ui-contracts/model.d.ts.map +0 -1
  356. package/dist/src/foundation/owned-ui-contracts/model.js.map +0 -1
  357. package/dist/src/foundation/owned-ui-contracts/validation.d.ts.map +0 -1
  358. package/dist/src/foundation/owned-ui-contracts/validation.js.map +0 -1
  359. package/dist/src/foundation/pi-component-adapter/components.d.ts.map +0 -1
  360. package/dist/src/foundation/pi-component-adapter/components.js.map +0 -1
  361. package/dist/src/foundation/pi-component-adapter/conformance.d.ts.map +0 -1
  362. package/dist/src/foundation/pi-component-adapter/conformance.js.map +0 -1
  363. package/dist/src/foundation/pi-component-adapter/index.d.ts.map +0 -1
  364. package/dist/src/foundation/pi-component-adapter/index.js.map +0 -1
  365. package/dist/src/foundation/pi-component-adapter/shell-components.d.ts.map +0 -1
  366. package/dist/src/foundation/pi-component-adapter/shell-components.js.map +0 -1
  367. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.d.ts.map +0 -1
  368. package/dist/src/foundation/pi-component-adapter/shell-editor-autocomplete.js.map +0 -1
  369. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.d.ts.map +0 -1
  370. package/dist/src/foundation/pi-component-adapter/shell-extension-ui.js.map +0 -1
  371. package/dist/src/foundation/pi-component-adapter/shell-footer-status.d.ts.map +0 -1
  372. package/dist/src/foundation/pi-component-adapter/shell-footer-status.js.map +0 -1
  373. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.d.ts.map +0 -1
  374. package/dist/src/foundation/pi-component-adapter/shell-presenters-transcript.js.map +0 -1
  375. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.d.ts.map +0 -1
  376. package/dist/src/foundation/pi-component-adapter/shell-selectors-dialogs.js.map +0 -1
  377. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.d.ts.map +0 -1
  378. package/dist/src/foundation/pi-component-adapter/shell-shared-facade.js.map +0 -1
  379. package/dist/src/foundation/pi-component-adapter/theme.d.ts.map +0 -1
  380. package/dist/src/foundation/pi-component-adapter/theme.js.map +0 -1
  381. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.d.ts.map +0 -1
  382. package/dist/src/foundation/pi-component-adapter/upstream/adjacent/core/keybindings.js.map +0 -1
  383. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.d.ts.map +0 -1
  384. package/dist/src/foundation/pi-component-adapter/upstream/components/countdown-timer.js.map +0 -1
  385. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.d.ts.map +0 -1
  386. package/dist/src/foundation/pi-component-adapter/upstream/components/custom-entry.js.map +0 -1
  387. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.d.ts.map +0 -1
  388. package/dist/src/foundation/pi-component-adapter/upstream/components/daxnuts.js.map +0 -1
  389. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.d.ts.map +0 -1
  390. package/dist/src/foundation/pi-component-adapter/upstream/components/earendil-announcement.js.map +0 -1
  391. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.d.ts.map +0 -1
  392. package/dist/src/foundation/pi-component-adapter/upstream/components/extension-editor.js.map +0 -1
  393. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.d.ts.map +0 -1
  394. package/dist/src/foundation/pi-component-adapter/upstream/components/first-time-setup.js.map +0 -1
  395. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.d.ts.map +0 -1
  396. package/dist/src/foundation/pi-component-adapter/upstream/components/markdown-transform.js.map +0 -1
  397. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.d.ts.map +0 -1
  398. package/dist/src/foundation/pi-component-adapter/upstream/components/mermaid.js.map +0 -1
  399. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.d.ts.map +0 -1
  400. package/dist/src/foundation/pi-component-adapter/upstream/components/scoped-models-selector.js.map +0 -1
  401. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.d.ts.map +0 -1
  402. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector-search.js.map +0 -1
  403. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.d.ts.map +0 -1
  404. package/dist/src/foundation/pi-component-adapter/upstream/components/session-selector.js.map +0 -1
  405. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.d.ts.map +0 -1
  406. package/dist/src/foundation/pi-component-adapter/upstream/components/skill-invocation-message.js.map +0 -1
  407. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.d.ts.map +0 -1
  408. package/dist/src/foundation/pi-component-adapter/upstream/components/status-indicator.js.map +0 -1
  409. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.d.ts.map +0 -1
  410. package/dist/src/foundation/pi-component-adapter/upstream/components/tree-selector.js.map +0 -1
  411. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.d.ts.map +0 -1
  412. package/dist/src/foundation/pi-component-adapter/upstream/components/trust-selector.js.map +0 -1
  413. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.d.ts.map +0 -1
  414. package/dist/src/foundation/pi-component-adapter/upstream/external-editor.js.map +0 -1
  415. package/dist/src/foundation/pi-component-adapter/upstream/model-search.d.ts.map +0 -1
  416. package/dist/src/foundation/pi-component-adapter/upstream/model-search.js.map +0 -1
  417. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.d.ts.map +0 -1
  418. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme-controller.js.map +0 -1
  419. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.d.ts.map +0 -1
  420. package/dist/src/foundation/pi-component-adapter/upstream/theme/theme.js.map +0 -1
  421. package/dist/src/foundation/pi-engine-adapter/adapter.d.ts.map +0 -1
  422. package/dist/src/foundation/pi-engine-adapter/adapter.js.map +0 -1
  423. package/dist/src/foundation/pi-engine-adapter/conformance.d.ts.map +0 -1
  424. package/dist/src/foundation/pi-engine-adapter/conformance.js.map +0 -1
  425. package/dist/src/foundation/pi-engine-adapter/index.d.ts.map +0 -1
  426. package/dist/src/foundation/pi-engine-adapter/index.js.map +0 -1
  427. package/dist/src/foundation/pi-engine-adapter/workflows.d.ts.map +0 -1
  428. package/dist/src/foundation/pi-engine-adapter/workflows.js.map +0 -1
  429. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.d.ts.map +0 -1
  430. package/dist/src/foundation/pi-tui-runtime-adapter/adapter.js.map +0 -1
  431. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.d.ts.map +0 -1
  432. package/dist/src/foundation/pi-tui-runtime-adapter/conformance.js.map +0 -1
  433. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.d.ts.map +0 -1
  434. package/dist/src/foundation/pi-tui-runtime-adapter/contracts.js.map +0 -1
  435. package/dist/src/foundation/pi-tui-runtime-adapter/index.d.ts.map +0 -1
  436. package/dist/src/foundation/pi-tui-runtime-adapter/index.js.map +0 -1
  437. package/dist/src/foundation/protocol/client.d.ts.map +0 -1
  438. package/dist/src/foundation/protocol/client.js.map +0 -1
  439. package/dist/src/foundation/protocol/index.d.ts.map +0 -1
  440. package/dist/src/foundation/protocol/index.js.map +0 -1
  441. package/dist/src/foundation/protocol/messages.d.ts.map +0 -1
  442. package/dist/src/foundation/protocol/messages.js.map +0 -1
  443. package/dist/src/foundation/release/bootstrap.d.ts.map +0 -1
  444. package/dist/src/foundation/release/bootstrap.js.map +0 -1
  445. package/dist/src/foundation/release/cohort-selection.d.ts.map +0 -1
  446. package/dist/src/foundation/release/cohort-selection.js.map +0 -1
  447. package/dist/src/foundation/release/cohort-state.d.ts.map +0 -1
  448. package/dist/src/foundation/release/cohort-state.js.map +0 -1
  449. package/dist/src/foundation/release/development-preview-release.d.ts.map +0 -1
  450. package/dist/src/foundation/release/development-preview-release.js.map +0 -1
  451. package/dist/src/foundation/release/index.d.ts.map +0 -1
  452. package/dist/src/foundation/release/index.js.map +0 -1
  453. package/dist/src/foundation/release/process-cleanup.d.ts.map +0 -1
  454. package/dist/src/foundation/release/process-cleanup.js.map +0 -1
  455. package/dist/src/foundation/release/release-gc.d.ts.map +0 -1
  456. package/dist/src/foundation/release/release-gc.js.map +0 -1
  457. package/dist/src/foundation/release/release-store.d.ts.map +0 -1
  458. package/dist/src/foundation/release/release-store.js.map +0 -1
  459. package/dist/src/foundation/release/release.d.ts.map +0 -1
  460. package/dist/src/foundation/release/release.js.map +0 -1
  461. package/dist/src/foundation/release/stable-release.d.ts.map +0 -1
  462. package/dist/src/foundation/release/stable-release.js.map +0 -1
  463. package/dist/src/foundation/release/update-transaction.d.ts.map +0 -1
  464. package/dist/src/foundation/release/update-transaction.js.map +0 -1
  465. package/dist/src/foundation/release/update.d.ts.map +0 -1
  466. package/dist/src/foundation/release/update.js.map +0 -1
  467. package/dist/src/foundation/storage/control-store.d.ts.map +0 -1
  468. package/dist/src/foundation/storage/control-store.js.map +0 -1
  469. package/dist/src/foundation/storage/index.d.ts.map +0 -1
  470. package/dist/src/foundation/storage/index.js.map +0 -1
  471. package/dist/src/foundation/structured-agent-runtime/backpressure.d.ts.map +0 -1
  472. package/dist/src/foundation/structured-agent-runtime/backpressure.js.map +0 -1
  473. package/dist/src/foundation/structured-agent-runtime/commands.d.ts.map +0 -1
  474. package/dist/src/foundation/structured-agent-runtime/commands.js.map +0 -1
  475. package/dist/src/foundation/structured-agent-runtime/handshake.d.ts.map +0 -1
  476. package/dist/src/foundation/structured-agent-runtime/handshake.js.map +0 -1
  477. package/dist/src/foundation/structured-agent-runtime/index.d.ts.map +0 -1
  478. package/dist/src/foundation/structured-agent-runtime/index.js.map +0 -1
  479. package/dist/src/foundation/structured-agent-runtime/reconnection.d.ts.map +0 -1
  480. package/dist/src/foundation/structured-agent-runtime/reconnection.js.map +0 -1
  481. package/dist/src/foundation/structured-agent-runtime/state.d.ts.map +0 -1
  482. package/dist/src/foundation/structured-agent-runtime/state.js.map +0 -1
  483. package/dist/src/foundation/supervision/index.d.ts.map +0 -1
  484. package/dist/src/foundation/supervision/index.js.map +0 -1
  485. package/dist/src/foundation/supervision/main.d.ts.map +0 -1
  486. package/dist/src/foundation/supervision/main.js.map +0 -1
  487. package/dist/src/foundation/supervision/paths.d.ts.map +0 -1
  488. package/dist/src/foundation/supervision/paths.js.map +0 -1
  489. package/dist/src/foundation/supervision/server.d.ts.map +0 -1
  490. package/dist/src/foundation/supervision/server.js.map +0 -1
  491. package/dist/src/foundation/transparent-terminal/command-resolution.d.ts.map +0 -1
  492. package/dist/src/foundation/transparent-terminal/command-resolution.js.map +0 -1
  493. package/dist/src/foundation/transparent-terminal/foreground-broker.d.ts.map +0 -1
  494. package/dist/src/foundation/transparent-terminal/foreground-broker.js.map +0 -1
  495. package/dist/src/foundation/transparent-terminal/index.d.ts.map +0 -1
  496. package/dist/src/foundation/transparent-terminal/index.js.map +0 -1
  497. package/dist/src/foundation/transparent-terminal/main.d.ts.map +0 -1
  498. package/dist/src/foundation/transparent-terminal/main.js.map +0 -1
  499. package/dist/src/foundation/transparent-terminal/native-launcher.d.ts.map +0 -1
  500. package/dist/src/foundation/transparent-terminal/native-launcher.js.map +0 -1
  501. package/dist/src/foundation/workspace-contracts/index.d.ts.map +0 -1
  502. package/dist/src/foundation/workspace-contracts/index.js.map +0 -1
  503. package/dist/src/foundation/workspace-contracts/model.d.ts.map +0 -1
  504. package/dist/src/foundation/workspace-contracts/model.js.map +0 -1
  505. package/dist/src/foundation/workspace-contracts/validation.d.ts.map +0 -1
  506. package/dist/src/foundation/workspace-contracts/validation.js.map +0 -1
  507. /package/bin/{addone-supervisor.js → a1-supervisor.js} +0 -0
@@ -4,14 +4,15 @@ import { connect } from "node:net";
4
4
  import { isAbsolute, relative, resolve, sep } from "node:path";
5
5
  import crossSpawn from "cross-spawn";
6
6
  import { valid as validSemver } from "semver";
7
+ import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../../product-identity.js";
7
8
  import { certifyMaterializedRelease, probeOwnership, readEndpointMetadata, removeEndpointArtifacts, startSupervisor, waitForProcessExit, waitForVerifiedEndpoint, } from "./bootstrap.js";
8
- import { resolveAddOnePaths } from "../lifecycle/index.js";
9
+ import { resolveProductPaths } from "../lifecycle/index.js";
9
10
  import { encodeFrame, LineFrameDecoder } from "../protocol/index.js";
10
11
  import { CohortStateStore } from "./cohort-state.js";
11
12
  import { cleanupVerifiedOwner, processIsAlive } from "./process-cleanup.js";
12
13
  import { materializeRelease, readMaterializedRelease } from "./release-store.js";
13
14
  import { UpdateTransactionStore } from "./update-transaction.js";
14
- export const ADDONE_PACKAGE = "@timurproko/a1";
15
+ export const PRODUCT_PACKAGE = PRODUCT_TEXT.packageName;
15
16
  const UPDATE_DIST_TAGS = { stable: "latest", next: "next" };
16
17
  const defaultFileSystem = {
17
18
  async readFile(path) { return await readFile(path, "utf8"); },
@@ -39,8 +40,8 @@ export function createNpmProcessRunner(platform = process.platform) {
39
40
  } });
40
41
  });
41
42
  }
42
- export function createUpdateLifecycleCoordinator(environment = process.env, fileSystem = defaultFileSystem) {
43
- const paths = resolveAddOnePaths(environment);
43
+ export function createUpdateLifecycleCoordinator(environment = process.env, fileSystem = defaultFileSystem, output = defaultOutput) {
44
+ const paths = resolveProductPaths(environment);
44
45
  const stateStore = new CohortStateStore(paths.dataDir);
45
46
  return {
46
47
  async targetIsActive(targetVersion) {
@@ -59,7 +60,7 @@ export function createUpdateLifecycleCoordinator(environment = process.env, file
59
60
  return { priorActiveVersion };
60
61
  const ownership = await probeOwnership(endpoint);
61
62
  if (ownership !== "live-verified" && ownership !== "dead") {
62
- throw new Error(`AddOne refused update shutdown because supervisor ownership is ${ownership}`);
63
+ throw new Error(PRODUCT_TEXT.diagnostic(`refused update shutdown because supervisor ownership is ${ownership}`));
63
64
  }
64
65
  const immutableRoot = await canonicalImmutableRoot(paths.dataDir, endpoint.releaseRoot);
65
66
  const legacyMutableInstall = ownership === "live-verified" && !immutableRoot;
@@ -74,7 +75,7 @@ export function createUpdateLifecycleCoordinator(environment = process.env, file
74
75
  reason: legacyMutableInstall ? "legacy-mutable-install" : "explicit-update",
75
76
  });
76
77
  if (!cleanup.terminated)
77
- throw new Error(`verified AddOne owner ${endpoint.pid} rejected shutdown and could not be terminated: ${identity.reason}`);
78
+ throw new Error(`verified ${PRODUCT_TEXT.displayName} owner ${endpoint.pid} rejected shutdown and could not be terminated: ${identity.reason}`);
78
79
  }
79
80
  else if (identity.accepted) {
80
81
  await waitForProcessExit(endpoint.pid, 3_000).catch(async () => {
@@ -83,7 +84,7 @@ export function createUpdateLifecycleCoordinator(environment = process.env, file
83
84
  reason: legacyMutableInstall ? "legacy-mutable-install" : "explicit-update",
84
85
  });
85
86
  if (!cleanup.terminated)
86
- throw new Error(`verified AddOne owner ${endpoint.pid} did not terminate`);
87
+ throw new Error(`verified ${PRODUCT_TEXT.displayName} owner ${endpoint.pid} did not terminate`);
87
88
  });
88
89
  }
89
90
  await removeEndpointArtifacts(paths.endpointMetadataPath, paths.endpoint);
@@ -92,7 +93,7 @@ export function createUpdateLifecycleCoordinator(environment = process.env, file
92
93
  async verifyPackageUnlocked(packageRoot) {
93
94
  if (fileSystem.access)
94
95
  await fileSystem.access(packageRoot);
95
- const probe = `${packageRoot}.addone-unlock-probe`;
96
+ const probe = `${packageRoot}.${PRODUCT_IDENTITY.filesystem.slug}-unlock-probe`;
96
97
  const { rename } = await import("node:fs/promises");
97
98
  try {
98
99
  await rename(packageRoot, probe);
@@ -101,13 +102,15 @@ export function createUpdateLifecycleCoordinator(environment = process.env, file
101
102
  catch (error) {
102
103
  // Best-effort rollback if the first rename succeeded and the second did not.
103
104
  await rename(probe, packageRoot).catch(() => { });
104
- throw new Error(`AddOne package remains locked after verified shutdown: ${errorMessage(error)}`);
105
+ throw new Error(PRODUCT_TEXT.diagnostic(`package remains locked after verified shutdown: ${errorMessage(error)}`));
105
106
  }
106
107
  },
107
108
  async activateInstalled(packageRoot, targetVersion, phase) {
108
- const candidate = await materializeRelease(packageRoot, paths.dataDir);
109
+ const candidate = await materializeRelease(packageRoot, paths.dataDir, {
110
+ onProgress: progress => output.stdout(`${PRODUCT_TEXT.diagnostic(`preparing ${progress.fileCount} installed release files; this one-time activation may take a moment.`)}\n`),
111
+ });
109
112
  if (candidate.packageVersion !== targetVersion)
110
- throw new Error(`installed AddOne version ${candidate.packageVersion} does not match target ${targetVersion}`);
113
+ throw new Error(`installed ${PRODUCT_TEXT.displayName} version ${candidate.packageVersion} does not match target ${targetVersion}`);
111
114
  await stateStore.recordCandidate(candidate);
112
115
  await phase("materialized");
113
116
  const diagnostics = await certifyMaterializedRelease(candidate, paths.dataDir);
@@ -135,23 +138,23 @@ export async function runSelfUpdate(options) {
135
138
  runningVersion = parsedVersion;
136
139
  }
137
140
  catch (error) {
138
- output.stderr(`AddOne could not read its running package version: ${errorMessage(error)}\n`);
141
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`could not read its running package version: ${errorMessage(error)}`)}\n`);
139
142
  return 1;
140
143
  }
141
- const targetLookup = await runNpm(runner, ["view", `${ADDONE_PACKAGE}@${distTag}`, "version"], true, output, `query the npm ${distTag} channel`);
144
+ const targetLookup = await runNpm(runner, ["view", `${PRODUCT_PACKAGE}@${distTag}`, "version"], true, output, `query the npm ${distTag} channel`);
142
145
  if (targetLookup.result === null)
143
146
  return targetLookup.exitCode;
144
147
  const targetVersion = validSemver(targetLookup.result.stdout.trim());
145
148
  if (targetVersion === null) {
146
- output.stderr(`AddOne received a malformed ${distTag} version from npm: ${JSON.stringify(targetLookup.result.stdout.trim())}.\n`);
149
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`received a malformed ${distTag} version from npm: ${JSON.stringify(targetLookup.result.stdout.trim())}.`)}\n`);
147
150
  return 1;
148
151
  }
149
- output.stdout(`AddOne update (${channel}): ${runningVersion} → ${targetVersion}.\n`);
152
+ output.stdout(`${PRODUCT_TEXT.diagnostic(`update (${channel}): ${runningVersion} → ${targetVersion}.`)}\n`);
150
153
  const rootLookup = await runNpm(runner, ["root", "--global"], true, output, "resolve npm's global package root");
151
154
  if (rootLookup.result === null)
152
155
  return rootLookup.exitCode;
153
156
  if (rootLookup.result.stdout.trim().length === 0) {
154
- output.stderr("AddOne could not verify its installation because npm returned an empty global package root.\n");
157
+ output.stderr(`${PRODUCT_TEXT.diagnostic("could not verify its installation because npm returned an empty global package root.")}\n`);
155
158
  return 1;
156
159
  }
157
160
  let packageRoot;
@@ -160,16 +163,16 @@ export async function runSelfUpdate(options) {
160
163
  [packageRoot, globalRoot] = await Promise.all([fileSystem.realpath(options.packageRoot), fileSystem.realpath(rootLookup.result.stdout.trim())]);
161
164
  }
162
165
  catch (error) {
163
- output.stderr(`AddOne could not canonicalize the running and global npm paths: ${errorMessage(error)}\n`);
166
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`could not canonicalize the running and global npm paths: ${errorMessage(error)}`)}\n`);
164
167
  return 1;
165
168
  }
166
169
  if (!isContainedBy(globalRoot, packageRoot)) {
167
- output.stderr(`AddOne refused to update automatically because ${packageRoot} is not managed beneath npm's global package root ${globalRoot}.\n`);
170
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`refused to update automatically because ${packageRoot} is not managed beneath npm's global package root ${globalRoot}.`)}\n`);
168
171
  return 1;
169
172
  }
170
173
  const environment = options.environment ?? process.env;
171
- const paths = resolveAddOnePaths(environment);
172
- const lifecycle = options.lifecycle ?? createUpdateLifecycleCoordinator(environment, fileSystem);
174
+ const paths = resolveProductPaths(environment);
175
+ const lifecycle = options.lifecycle ?? createUpdateLifecycleCoordinator(environment, fileSystem, output);
173
176
  const transactionStore = options.transactionStore ?? new UpdateTransactionStore(paths.dataDir);
174
177
  let transaction = await transactionStore.read();
175
178
  try {
@@ -179,7 +182,7 @@ export async function runSelfUpdate(options) {
179
182
  await transactionStore.finish("completed");
180
183
  }
181
184
  await transactionStore.clearCompleted();
182
- output.stdout("AddOne is already current and active for this channel; no installation was changed.\n");
185
+ output.stdout(`${PRODUCT_TEXT.diagnostic("is already current and active for this channel; no installation was changed.")}\n`);
183
186
  return 0;
184
187
  }
185
188
  const cohortState = await new CohortStateStore(paths.dataDir).read();
@@ -195,8 +198,8 @@ export async function runSelfUpdate(options) {
195
198
  transaction = await transactionStore.advance("ownership-released");
196
199
  }
197
200
  if (phaseBefore(transaction.phase, "package-installed")) {
198
- output.stdout(`AddOne is installing ${ADDONE_PACKAGE}@${targetVersion}.\n`);
199
- const installation = await runNpm(runner, ["install", "--global", `${ADDONE_PACKAGE}@${targetVersion}`], false, output, "start the global npm installation", false);
201
+ output.stdout(`${PRODUCT_TEXT.diagnostic(`is installing ${PRODUCT_TEXT.packageName}@${targetVersion}.`)}\n`);
202
+ const installation = await runNpm(runner, ["install", "--global", `${PRODUCT_PACKAGE}@${targetVersion}`], false, output, "start the global npm installation", false);
200
203
  if (installation.result === null)
201
204
  throw new UpdateFailure(installation.exitCode, "npm process failed");
202
205
  if (installation.result.code !== 0)
@@ -207,7 +210,7 @@ export async function runSelfUpdate(options) {
207
210
  await transactionStore.advance("supervisor-verified");
208
211
  await transactionStore.finish("completed");
209
212
  await transactionStore.clearCompleted();
210
- output.stdout(`AddOne updated successfully: ${targetVersion} (${channel}).\n`);
213
+ output.stdout(`${PRODUCT_TEXT.diagnostic(`updated successfully: ${targetVersion} (${channel}).`)}\n`);
211
214
  return 0;
212
215
  }
213
216
  catch (error) {
@@ -217,7 +220,7 @@ export async function runSelfUpdate(options) {
217
220
  : await rollbackPriorCohort(paths.dataDir, environment, transaction?.priorActiveReleaseId ?? null).catch(rollbackError => `rollback failed: ${errorMessage(rollbackError)}`);
218
221
  if (transaction)
219
222
  await transactionStore.finish(rollback === "rolled back" ? "rolled-back" : "failed", `${message}; ${rollback}`);
220
- output.stderr(`AddOne update failed: ${message}. ${rollback}. Diagnostics: ${transactionStore.path}\n`);
223
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`update failed: ${message}. ${rollback}. Diagnostics: ${transactionStore.path}`)}\n`);
221
224
  return error instanceof UpdateFailure ? error.exitCode : 1;
222
225
  }
223
226
  }
@@ -256,11 +259,11 @@ async function runNpm(runner, arguments_, captureStdout, output, action, reportN
256
259
  result = await runner("npm", arguments_, { captureStdout });
257
260
  }
258
261
  catch (error) {
259
- output.stderr(`AddOne could not execute npm to ${action}: ${errorMessage(error)}\n`);
262
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`could not execute npm to ${action}: ${errorMessage(error)}`)}\n`);
260
263
  return { result: null, exitCode: 1 };
261
264
  }
262
265
  if (result.code !== 0 && reportNonzero) {
263
- output.stderr(`AddOne could not ${action}; npm exited with status ${formatExitCode(result.code)}. Review npm's diagnostics above.\n`);
266
+ output.stderr(`${PRODUCT_TEXT.diagnostic(`could not ${action}; npm exited with status ${formatExitCode(result.code)}. Review npm's diagnostics above.`)}\n`);
264
267
  return { result: null, exitCode: unsuccessfulCode(result.code) };
265
268
  }
266
269
  return { result, exitCode: 0 };
@@ -280,7 +283,7 @@ async function rollbackPriorCohort(dataDir, environment, priorReleaseId) {
280
283
  throw new Error(`prior release ${priorReleaseId} is not the recorded rollback cohort`);
281
284
  }
282
285
  const release = await readMaterializedRelease(prior.releaseRoot);
283
- const paths = resolveAddOnePaths(environment);
286
+ const paths = resolveProductPaths(environment);
284
287
  await startSupervisor(release, environment);
285
288
  await waitForVerifiedEndpoint(paths.endpointMetadataPath, release, 8_000);
286
289
  return "rolled back";
@@ -313,4 +316,3 @@ function isContainedBy(parent, child) {
313
316
  function unsuccessfulCode(code) { return code === null || code === 0 ? 1 : code; }
314
317
  function formatExitCode(code) { return code === null ? "unknown" : String(code); }
315
318
  function errorMessage(error) { return error instanceof Error ? error.message : String(error); }
316
- //# sourceMappingURL=update.js.map
@@ -58,4 +58,3 @@ export declare class ControlStore {
58
58
  } | null;
59
59
  close(): void;
60
60
  }
61
- //# sourceMappingURL=control-store.d.ts.map
@@ -1,6 +1,7 @@
1
1
  import { DatabaseSync } from "node:sqlite";
2
2
  import { mkdirSync } from "node:fs";
3
3
  import { dirname } from "node:path";
4
+ import { PRODUCT_IDENTITY } from "../../product-identity.js";
4
5
  import { assertManagedAgentDescriptor, assertRecoveryAuthority, assertTerminalSessionLaunch, assertTerminalTopologySnapshot, } from "../workspace-contracts/index.js";
5
6
  export const DEFAULT_WORKSPACE_ID = "workspace-default";
6
7
  const INITIAL_WORKSPACE_ID = DEFAULT_WORKSPACE_ID;
@@ -11,12 +12,18 @@ export class ControlStore {
11
12
  this.bootNonce = bootNonce;
12
13
  mkdirSync(dirname(path), { recursive: true, mode: 0o700 });
13
14
  this.database = new DatabaseSync(path);
14
- this.database.exec("PRAGMA journal_mode = WAL");
15
- this.database.exec("PRAGMA foreign_keys = ON");
16
- this.migrate();
17
- if (bootNonce !== null) {
18
- this.reconcilePriorBootGenerations(bootNonce);
19
- this.reconcilePriorBootForegroundTerminalLeases(bootNonce);
15
+ try {
16
+ this.database.exec("PRAGMA journal_mode = WAL");
17
+ this.database.exec("PRAGMA foreign_keys = ON");
18
+ this.migrate();
19
+ if (bootNonce !== null) {
20
+ this.reconcilePriorBootGenerations(bootNonce);
21
+ this.reconcilePriorBootForegroundTerminalLeases(bootNonce);
22
+ }
23
+ }
24
+ catch (error) {
25
+ this.database.close();
26
+ throw error;
20
27
  }
21
28
  }
22
29
  migrate() {
@@ -24,6 +31,8 @@ export class ControlStore {
24
31
  const version = versionRow.user_version;
25
32
  if (version > 4)
26
33
  throw new Error(`control database version ${version} is newer than supported version 4`);
34
+ if (version !== 0)
35
+ this.#assertCurrentControlSchema();
27
36
  if (version === 0) {
28
37
  this.database.exec(`
29
38
  BEGIN IMMEDIATE;
@@ -165,6 +174,19 @@ export class ControlStore {
165
174
  COMMIT;
166
175
  `);
167
176
  }
177
+ if (version === 0) {
178
+ this.database.exec("CREATE TABLE product_identity (schema TEXT PRIMARY KEY NOT NULL)");
179
+ this.database.prepare("INSERT INTO product_identity (schema) VALUES (?)").run(PRODUCT_IDENTITY.protocol.controlStoreSchema);
180
+ }
181
+ }
182
+ #assertCurrentControlSchema() {
183
+ const table = this.database.prepare("SELECT name FROM sqlite_master WHERE type = 'table' AND name = 'product_identity'").get();
184
+ if (!table)
185
+ throw new Error("control database has no A1 product schema; legacy state is unsupported");
186
+ const identity = this.database.prepare("SELECT schema FROM product_identity").get();
187
+ if (identity?.schema !== PRODUCT_IDENTITY.protocol.controlStoreSchema) {
188
+ throw new Error(`control database schema ${String(identity?.schema)} is unsupported; expected ${PRODUCT_IDENTITY.protocol.controlStoreSchema}`);
189
+ }
168
190
  }
169
191
  reconcilePriorBootGenerations(bootNonce) {
170
192
  const now = new Date().toISOString();
@@ -456,4 +478,3 @@ function foregroundLeaseFromRow(row) {
456
478
  outcome: row.outcome_json ? JSON.parse(row.outcome_json) : null,
457
479
  };
458
480
  }
459
- //# sourceMappingURL=control-store.js.map
@@ -1,2 +1 @@
1
1
  export * from "./control-store.js";
2
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1 @@
1
1
  export * from "./control-store.js";
2
- //# sourceMappingURL=index.js.map
@@ -44,4 +44,3 @@ export declare class StructuredBackpressureController {
44
44
  leaseCount(): number;
45
45
  replayExhausted(): boolean;
46
46
  }
47
- //# sourceMappingURL=backpressure.d.ts.map
@@ -116,4 +116,3 @@ function isPositiveSafeInteger(value) {
116
116
  function isSafeNonNegativeInteger(value) {
117
117
  return Number.isSafeInteger(value) && value >= 0;
118
118
  }
119
- //# sourceMappingURL=backpressure.js.map
@@ -50,4 +50,3 @@ export declare class StructuredCommandTracker {
50
50
  activeCount(): number;
51
51
  terminalCount(): number;
52
52
  }
53
- //# sourceMappingURL=commands.d.ts.map
@@ -162,4 +162,3 @@ function stableJson(value) {
162
162
  throw new TypeError("structured payload must be JSON serializable");
163
163
  return encoded;
164
164
  }
165
- //# sourceMappingURL=commands.js.map
@@ -1,10 +1,10 @@
1
1
  import { type AdapterId, type StructuredCapabilityContract, type StructuredFlowLimits } from "../workspace-contracts/index.js";
2
- export declare const STRUCTURED_ADAPTER_ENVELOPE: "addone-structured-adapter";
2
+ export declare const STRUCTURED_ADAPTER_ENVELOPE: string;
3
3
  export declare const STRUCTURED_ADAPTER_ENVELOPE_REVISION: 1;
4
4
  export declare const REQUIRED_STRUCTURED_FEATURES: readonly ["identity.adapter.v1", "commands.correlated.v1", "events.typed.v1", "flow-control.limits.v1"];
5
5
  export declare const OPTIONAL_STRUCTURED_FEATURES: readonly ["snapshots.authoritative.v1", "resume.position.v1", "resume.snapshot.v1", "commands.cancellable.v1", "attachments.typed.v1"];
6
6
  export type StructuredProtocolFeature = typeof REQUIRED_STRUCTURED_FEATURES[number] | typeof OPTIONAL_STRUCTURED_FEATURES[number];
7
- export declare const ADDONE_STRUCTURED_FLOW_LIMITS: StructuredFlowLimits;
7
+ export declare const STRUCTURED_FLOW_LIMITS: StructuredFlowLimits;
8
8
  export interface StructuredAdapterHello {
9
9
  readonly envelope: typeof STRUCTURED_ADAPTER_ENVELOPE;
10
10
  readonly envelopeRevision: typeof STRUCTURED_ADAPTER_ENVELOPE_REVISION;
@@ -39,4 +39,3 @@ export interface StructuredHandshakeRejected {
39
39
  export type StructuredHandshakeResult = StructuredHandshakeAccepted | StructuredHandshakeRejected;
40
40
  export declare function localStructuredAdapterHello(): StructuredAdapterPeerHello;
41
41
  export declare function negotiateStructuredAdapter(value: unknown, server?: StructuredAdapterPeerHello): StructuredHandshakeResult;
42
- //# sourceMappingURL=handshake.d.ts.map
@@ -1,5 +1,6 @@
1
1
  import { WORKSPACE_CONTRACT_VERSION, assertStructuredCapability, } from "../workspace-contracts/index.js";
2
- export const STRUCTURED_ADAPTER_ENVELOPE = "addone-structured-adapter";
2
+ import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../../product-identity.js";
3
+ export const STRUCTURED_ADAPTER_ENVELOPE = PRODUCT_IDENTITY.protocol.structuredAgentSchema;
3
4
  export const STRUCTURED_ADAPTER_ENVELOPE_REVISION = 1;
4
5
  export const REQUIRED_STRUCTURED_FEATURES = [
5
6
  "identity.adapter.v1",
@@ -14,7 +15,7 @@ export const OPTIONAL_STRUCTURED_FEATURES = [
14
15
  "commands.cancellable.v1",
15
16
  "attachments.typed.v1",
16
17
  ];
17
- export const ADDONE_STRUCTURED_FLOW_LIMITS = Object.freeze({
18
+ export const STRUCTURED_FLOW_LIMITS = Object.freeze({
18
19
  maxEventBytes: 64 * 1024,
19
20
  maxSnapshotBytes: 1024 * 1024,
20
21
  maxAttachmentBytes: 2 * 1024 * 1024,
@@ -28,7 +29,7 @@ export function localStructuredAdapterHello() {
28
29
  envelopeRevision: STRUCTURED_ADAPTER_ENVELOPE_REVISION,
29
30
  requiredFeatures: REQUIRED_STRUCTURED_FEATURES,
30
31
  optionalFeatures: OPTIONAL_STRUCTURED_FEATURES,
31
- flowLimits: ADDONE_STRUCTURED_FLOW_LIMITS,
32
+ flowLimits: STRUCTURED_FLOW_LIMITS,
32
33
  };
33
34
  }
34
35
  export function negotiateStructuredAdapter(value, server = localStructuredAdapterHello()) {
@@ -36,7 +37,7 @@ export function negotiateStructuredAdapter(value, server = localStructuredAdapte
36
37
  return reject("invalid-message", [], [], "adapter hello is malformed or omits required identity, feature, or capability fields");
37
38
  }
38
39
  if (value.envelope !== server.envelope || value.envelopeRevision !== server.envelopeRevision) {
39
- return reject("unsupported-version", [], [], `structured adapter envelope mismatch: adapter ${String(value.envelope)}/${String(value.envelopeRevision)}; AddOne ${server.envelope}/${server.envelopeRevision}`);
40
+ return reject("unsupported-version", [], [], `structured adapter envelope mismatch: adapter ${String(value.envelope)}/${String(value.envelopeRevision)}; ${PRODUCT_TEXT.displayName} ${server.envelope}/${server.envelopeRevision}`);
40
41
  }
41
42
  if (!isValidIdentityText(value.adapterId) || !isValidBuildId(value.buildId)) {
42
43
  return reject("invalid-identity", [], [], "adapter identity and build identity must be bounded non-empty values");
@@ -62,7 +63,7 @@ export function negotiateStructuredAdapter(value, server = localStructuredAdapte
62
63
  const missingFromAdapter = server.requiredFeatures.filter(feature => !advertised.features.has(feature)).sort();
63
64
  const missingFromServer = [...adapterRequired].filter(feature => !serverFeatures.has(feature)).sort();
64
65
  if (missingFromAdapter.length > 0 || missingFromServer.length > 0) {
65
- return reject("incompatible-features", missingFromAdapter, missingFromServer, `required structured features are unavailable; adapter missing [${missingFromAdapter.join(", ")}], AddOne missing [${missingFromServer.join(", ")}]`);
66
+ return reject("incompatible-features", missingFromAdapter, missingFromServer, `required structured features are unavailable; adapter missing [${missingFromAdapter.join(", ")}], ${PRODUCT_TEXT.displayName} missing [${missingFromServer.join(", ")}]`);
66
67
  }
67
68
  const capabilityFeatures = requiredFeaturesForCapability(value.capability);
68
69
  const undeclared = capabilityFeatures.filter(feature => !advertised.features.has(feature));
@@ -97,14 +98,14 @@ function requiredFeaturesForCapability(capability) {
97
98
  features.push("attachments.typed.v1");
98
99
  return features;
99
100
  }
100
- function negotiateFlow(adapter, addone) {
101
+ function negotiateFlow(adapter, server) {
101
102
  return Object.freeze({
102
- maxEventBytes: Math.min(adapter.maxEventBytes, addone.maxEventBytes),
103
- maxSnapshotBytes: Math.min(adapter.maxSnapshotBytes, addone.maxSnapshotBytes),
104
- maxAttachmentBytes: Math.min(adapter.maxAttachmentBytes, addone.maxAttachmentBytes),
105
- maxQueuedEvents: Math.min(adapter.maxQueuedEvents, addone.maxQueuedEvents),
106
- maxConcurrentCommands: Math.min(adapter.maxConcurrentCommands, addone.maxConcurrentCommands),
107
- maxReconnectEvents: Math.min(adapter.maxReconnectEvents, addone.maxReconnectEvents),
103
+ maxEventBytes: Math.min(adapter.maxEventBytes, server.maxEventBytes),
104
+ maxSnapshotBytes: Math.min(adapter.maxSnapshotBytes, server.maxSnapshotBytes),
105
+ maxAttachmentBytes: Math.min(adapter.maxAttachmentBytes, server.maxAttachmentBytes),
106
+ maxQueuedEvents: Math.min(adapter.maxQueuedEvents, server.maxQueuedEvents),
107
+ maxConcurrentCommands: Math.min(adapter.maxConcurrentCommands, server.maxConcurrentCommands),
108
+ maxReconnectEvents: Math.min(adapter.maxReconnectEvents, server.maxReconnectEvents),
108
109
  });
109
110
  }
110
111
  function isStructuredAdapterHello(value) {
@@ -148,4 +149,3 @@ function isRecord(value) {
148
149
  function isStringArray(value) {
149
150
  return Array.isArray(value) && value.every(item => typeof item === "string");
150
151
  }
151
- //# sourceMappingURL=handshake.js.map
@@ -3,4 +3,3 @@ export * from "./commands.js";
3
3
  export * from "./handshake.js";
4
4
  export * from "./reconnection.js";
5
5
  export * from "./state.js";
6
- //# sourceMappingURL=index.d.ts.map
@@ -3,4 +3,3 @@ export * from "./commands.js";
3
3
  export * from "./handshake.js";
4
4
  export * from "./reconnection.js";
5
5
  export * from "./state.js";
6
- //# sourceMappingURL=index.js.map
@@ -35,4 +35,3 @@ export declare class StructuredReconnectionManager {
35
35
  constructor(capability: StructuredCapabilityContract);
36
36
  resume(authorityValue: AgentRecoveryAuthority, proof: StructuredResumeProof, reducer?: StructuredEventReducer | null): StructuredReconnectionResult;
37
37
  }
38
- //# sourceMappingURL=reconnection.d.ts.map
@@ -127,4 +127,3 @@ function payloadBytes(payload) {
127
127
  function rejected(code, error) {
128
128
  return { kind: "rejected", code, diagnostic: error instanceof Error ? error.message : String(error) };
129
129
  }
130
- //# sourceMappingURL=reconnection.js.map
@@ -54,4 +54,3 @@ export declare class StructuredEventReducer {
54
54
  nextEventPosition(): number;
55
55
  view(): StructuredRuntimeView;
56
56
  }
57
- //# sourceMappingURL=state.d.ts.map
@@ -116,4 +116,3 @@ function rejected(code, error) {
116
116
  function payloadBytes(payload) {
117
117
  return new TextEncoder().encode(JSON.stringify(payload)).byteLength;
118
118
  }
119
- //# sourceMappingURL=state.js.map
@@ -1,4 +1,3 @@
1
1
  export * from "./main.js";
2
2
  export * from "./server.js";
3
- export { resolveAddOnePaths, type AddOnePaths } from "../lifecycle/index.js";
4
- //# sourceMappingURL=index.d.ts.map
3
+ export { resolveProductPaths, type ProductPaths } from "../lifecycle/index.js";
@@ -1,4 +1,3 @@
1
1
  export * from "./main.js";
2
2
  export * from "./server.js";
3
- export { resolveAddOnePaths } from "../lifecycle/index.js";
4
- //# sourceMappingURL=index.js.map
3
+ export { resolveProductPaths } from "../lifecycle/index.js";
@@ -1,2 +1 @@
1
1
  export declare function runSupervisor(): Promise<void>;
2
- //# sourceMappingURL=main.d.ts.map
@@ -1,19 +1,21 @@
1
1
  import { randomUUID } from "node:crypto";
2
2
  import { appendFileSync, mkdirSync } from "node:fs";
3
- import { assertImmutableExecutionRoot, readMaterializedRelease } from "../release/index.js";
3
+ import { resolve } from "node:path";
4
+ import { assertImmutableExecutionRoot, readCertifiedReleaseManifest } from "../release/index.js";
4
5
  import { ControlStore } from "../storage/index.js";
5
- import { resolveAddOnePaths } from "./paths.js";
6
+ import { resolveProductPaths } from "./paths.js";
6
7
  import { SupervisorServer } from "./server.js";
8
+ import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../../product-identity.js";
7
9
  export async function runSupervisor() {
8
- const paths = resolveAddOnePaths();
10
+ const paths = resolveProductPaths();
9
11
  mkdirSync(paths.runtimeDir, { recursive: true, mode: 0o700 });
10
12
  const log = (message) => appendFileSync(paths.supervisorLogPath, `${new Date().toISOString()} ${message}\n`);
11
- const releaseRoot = process.env.ADDONE_RELEASE_ROOT;
12
- if (!releaseRoot)
13
- throw new Error("supervisor must be launched from a verified immutable AddOne release");
14
- const release = await readMaterializedRelease(releaseRoot);
15
- if (process.env.ADDONE_RELEASE_ID !== release.releaseId)
16
- throw new Error("selected AddOne release identity does not match its verified manifest");
13
+ const releaseRoot = process.env[PRODUCT_IDENTITY.environment.releaseRoot];
14
+ const releaseId = process.env[PRODUCT_IDENTITY.environment.releaseId];
15
+ const contentDigest = process.env[PRODUCT_IDENTITY.environment.releaseDigest];
16
+ if (!releaseRoot || !releaseId || !contentDigest)
17
+ throw new Error(PRODUCT_TEXT.diagnostic("supervisor must be launched from a verified immutable release"));
18
+ const release = await readCertifiedReleaseManifest({ releaseRoot, releaseId, contentDigest }, resolve(paths.dataDir, "releases"));
17
19
  await assertImmutableExecutionRoot(release, paths.dataDir);
18
20
  const bootNonce = randomUUID();
19
21
  const store = new ControlStore(paths.databasePath, bootNonce);
@@ -37,4 +39,3 @@ export async function runSupervisor() {
37
39
  });
38
40
  process.on("unhandledRejection", error => log(`unhandled rejection: ${String(error)}`));
39
41
  }
40
- //# sourceMappingURL=main.js.map
@@ -1,2 +1 @@
1
- export { resolveAddOnePaths, type AddOnePaths } from "../lifecycle/index.js";
2
- //# sourceMappingURL=paths.d.ts.map
1
+ export { resolveProductPaths, type ProductPaths } from "../lifecycle/index.js";
@@ -1,2 +1 @@
1
- export { resolveAddOnePaths } from "../lifecycle/index.js";
2
- //# sourceMappingURL=paths.js.map
1
+ export { resolveProductPaths } from "../lifecycle/index.js";
@@ -1,7 +1,7 @@
1
1
  import { type SupervisorSnapshot } from "../lifecycle/index.js";
2
2
  import type { MaterializedRelease } from "../release/index.js";
3
3
  import { ControlStore } from "../storage/index.js";
4
- import { type AddOnePaths } from "./paths.js";
4
+ import { type ProductPaths } from "./paths.js";
5
5
  export declare class SupervisorServer {
6
6
  #private;
7
7
  readonly store: ControlStore;
@@ -11,11 +11,10 @@ export declare class SupervisorServer {
11
11
  readonly bootNonce: string;
12
12
  readonly pidStartIdentity: string;
13
13
  readonly startedAt: string;
14
- readonly paths: AddOnePaths;
15
- constructor(store: ControlStore, paths: AddOnePaths | undefined, release: MaterializedRelease, bootNonce?: string, terminateProcess?: (code: number) => void);
14
+ readonly paths: ProductPaths;
15
+ constructor(store: ControlStore, paths: ProductPaths | undefined, release: MaterializedRelease, bootNonce?: string, terminateProcess?: (code: number) => void);
16
16
  snapshot(): SupervisorSnapshot;
17
17
  listen(): Promise<void>;
18
18
  close(stopAgents?: boolean): Promise<void>;
19
19
  closeForReleaseReplacement(stopAgents: boolean): Promise<void>;
20
20
  }
21
- //# sourceMappingURL=server.d.ts.map
@@ -5,7 +5,8 @@ import { platform } from "node:os";
5
5
  import { assertNativeProcessIdentity, assertTransparentTerminalLaunchProfile, } from "../lifecycle/index.js";
6
6
  import { encodeFrame, isCommandMessage, isControlHello, LineFrameDecoder, localControlHello, MAX_CONTROL_FRAME_BYTES, negotiateControlFeatures } from "../protocol/index.js";
7
7
  import { ControlStore } from "../storage/index.js";
8
- import { resolveAddOnePaths } from "./paths.js";
8
+ import { resolveProductPaths } from "./paths.js";
9
+ import { PRODUCT_IDENTITY, PRODUCT_TEXT } from "../../product-identity.js";
9
10
  export class SupervisorServer {
10
11
  store;
11
12
  release;
@@ -21,7 +22,7 @@ export class SupervisorServer {
21
22
  #clients = new Set();
22
23
  #results = new Map();
23
24
  #metadataWrites = Promise.resolve();
24
- constructor(store, paths = resolveAddOnePaths(), release, bootNonce = randomUUID(), terminateProcess = code => process.exit(code)) {
25
+ constructor(store, paths = resolveProductPaths(), release, bootNonce = randomUUID(), terminateProcess = code => process.exit(code)) {
25
26
  this.store = store;
26
27
  this.release = release;
27
28
  this.terminateProcess = terminateProcess;
@@ -38,7 +39,7 @@ export class SupervisorServer {
38
39
  await mkdir(this.paths.runtimeDir, { recursive: true, mode: 0o700 });
39
40
  if (platform() !== "win32") {
40
41
  if (await endpointIsLive(this.paths.endpoint))
41
- throw new Error(`an AddOne supervisor already owns ${this.paths.endpoint}`);
42
+ throw new Error(PRODUCT_TEXT.diagnostic(`supervisor already owns ${this.paths.endpoint}`));
42
43
  await rm(this.paths.endpoint, { force: true });
43
44
  }
44
45
  const server = createServer(socket => this.#attach(socket));
@@ -103,7 +104,7 @@ export class SupervisorServer {
103
104
  this.#send(socket, {
104
105
  type: "release-update-result",
105
106
  accepted,
106
- reason: accepted ? "verified AddOne owner accepted immediate update shutdown" : "boot nonce or target version mismatch",
107
+ reason: accepted ? `verified ${PRODUCT_TEXT.displayName} owner accepted immediate update shutdown` : "boot nonce or target version mismatch",
107
108
  liveGenerationIds: this.#liveGenerationIds(),
108
109
  });
109
110
  if (accepted)
@@ -111,7 +112,7 @@ export class SupervisorServer {
111
112
  continue;
112
113
  }
113
114
  if (!isControlHello(value)) {
114
- this.#send(socket, { type: "protocol-error", code: "invalid-control-handshake", message: "the first message must be a valid AddOne control feature handshake", diagnostics: { received: value } });
115
+ this.#send(socket, { type: "protocol-error", code: "invalid-control-handshake", message: `the first message must be a valid ${PRODUCT_TEXT.displayName} control feature handshake`, diagnostics: { received: value } });
115
116
  socket.destroy();
116
117
  return;
117
118
  }
@@ -232,6 +233,7 @@ export class SupervisorServer {
232
233
  }
233
234
  #writeEndpointMetadata() {
234
235
  const metadata = {
236
+ schema: PRODUCT_IDENTITY.protocol.supervisorSchema,
235
237
  ...localControlHello(this.release.releaseId),
236
238
  supervisorId: this.id,
237
239
  pid: process.pid,
@@ -280,4 +282,3 @@ async function endpointIsLive(endpoint) {
280
282
  setTimeout(() => done(false), 250).unref();
281
283
  });
282
284
  }
283
- //# sourceMappingURL=server.js.map
@@ -11,4 +11,3 @@ export interface TransparentCommandResolutionOptions {
11
11
  }
12
12
  /** Resolve a command without invoking a command interpreter. */
13
13
  export declare function resolveTransparentCommand(executable: string, arguments_: readonly string[], options: TransparentCommandResolutionOptions): Promise<ResolvedTransparentCommand>;
14
- //# sourceMappingURL=command-resolution.d.ts.map
@@ -67,4 +67,3 @@ async function isFile(path) {
67
67
  return false;
68
68
  }
69
69
  }
70
- //# sourceMappingURL=command-resolution.js.map
@@ -30,4 +30,3 @@ export interface ForegroundBrokerResult {
30
30
  * broker observes only process identity and the final lifecycle outcome.
31
31
  */
32
32
  export declare function runForegroundBroker(request: ForegroundBrokerRequest, control: ForegroundLeaseControl, launcher: TransparentNativeLauncher, createRequestId: () => RequestId): Promise<ForegroundBrokerResult>;
33
- //# sourceMappingURL=foreground-broker.d.ts.map
@@ -85,4 +85,3 @@ function errorMessage(error) {
85
85
  function errorCode(error) {
86
86
  return error instanceof Error && "code" in error && typeof error.code === "string" ? error.code : null;
87
87
  }
88
- //# sourceMappingURL=foreground-broker.js.map
@@ -1,4 +1,4 @@
1
1
  export * from "./command-resolution.js";
2
2
  export * from "./foreground-broker.js";
3
+ export * from "./main.js";
3
4
  export * from "./native-launcher.js";
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
1
  export * from "./command-resolution.js";
2
2
  export * from "./foreground-broker.js";
3
+ export * from "./main.js";
3
4
  export * from "./native-launcher.js";
4
- //# sourceMappingURL=index.js.map