@songsid/agend 2.3.5-alpha.4 → 2.3.5-alpha.5

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 (838) hide show
  1. package/THIRD_PARTY_NOTICES.md +52 -0
  2. package/dist/accounts-view.d.ts +97 -0
  3. package/dist/accounts-view.js +116 -0
  4. package/dist/accounts-view.js.map +1 -0
  5. package/dist/agent-cli-instructions.md +1 -1
  6. package/dist/agent-credentials.d.ts +24 -0
  7. package/dist/agent-credentials.js +66 -0
  8. package/dist/agent-credentials.js.map +1 -0
  9. package/dist/agent-endpoint.d.ts +3 -1
  10. package/dist/agent-endpoint.js +13 -0
  11. package/dist/agent-endpoint.js.map +1 -1
  12. package/dist/agent-file-read.js +1 -1
  13. package/dist/agent-file-read.js.map +1 -1
  14. package/dist/agent-runtime-change.d.ts +3 -1
  15. package/dist/agent-runtime-change.js +15 -3
  16. package/dist/agent-runtime-change.js.map +1 -1
  17. package/dist/agent-workspace.d.ts +93 -0
  18. package/dist/agent-workspace.js +353 -0
  19. package/dist/agent-workspace.js.map +1 -0
  20. package/dist/auth-api.d.ts +27 -0
  21. package/dist/auth-api.js +164 -3
  22. package/dist/auth-api.js.map +1 -1
  23. package/dist/authority/session-authorizations.d.ts +28 -4
  24. package/dist/authority/session-authorizations.js +63 -17
  25. package/dist/authority/session-authorizations.js.map +1 -1
  26. package/dist/backend/antigravity.js +3 -1
  27. package/dist/backend/antigravity.js.map +1 -1
  28. package/dist/backend/codex-footer-hints.d.ts +3 -0
  29. package/dist/backend/codex-footer-hints.js +14 -0
  30. package/dist/backend/codex-footer-hints.js.map +1 -1
  31. package/dist/backend/codex-metadata.d.ts +14 -0
  32. package/dist/backend/codex-metadata.js +45 -0
  33. package/dist/backend/codex-metadata.js.map +1 -1
  34. package/dist/backend/codex-quota-history.d.ts +7 -0
  35. package/dist/backend/codex-quota-history.js +57 -0
  36. package/dist/backend/codex-quota-history.js.map +1 -0
  37. package/dist/backend/codex-session-lookup.d.ts +6 -0
  38. package/dist/backend/codex-session-lookup.js +1 -1
  39. package/dist/backend/codex-session-lookup.js.map +1 -1
  40. package/dist/backend/codex-speed.d.ts +14 -0
  41. package/dist/backend/codex-speed.js +35 -0
  42. package/dist/backend/codex-speed.js.map +1 -0
  43. package/dist/backend/codex.d.ts +7 -0
  44. package/dist/backend/codex.js +78 -15
  45. package/dist/backend/codex.js.map +1 -1
  46. package/dist/backend/grok-weekly-reset.d.ts +24 -0
  47. package/dist/backend/grok-weekly-reset.js +95 -0
  48. package/dist/backend/grok-weekly-reset.js.map +1 -0
  49. package/dist/backend/grok.d.ts +30 -1
  50. package/dist/backend/grok.js +301 -54
  51. package/dist/backend/grok.js.map +1 -1
  52. package/dist/backend/kiro.d.ts +3 -0
  53. package/dist/backend/kiro.js +50 -2
  54. package/dist/backend/kiro.js.map +1 -1
  55. package/dist/backend/muse.js +5 -3
  56. package/dist/backend/muse.js.map +1 -1
  57. package/dist/backend/native-pane.d.ts +3 -1
  58. package/dist/backend/native-pane.js +2 -2
  59. package/dist/backend/native-pane.js.map +1 -1
  60. package/dist/backend/types.d.ts +13 -1
  61. package/dist/backend/types.js +3 -0
  62. package/dist/backend/types.js.map +1 -1
  63. package/dist/build-provenance-cli.d.ts +3 -0
  64. package/dist/build-provenance-cli.js +11 -0
  65. package/dist/build-provenance-cli.js.map +1 -0
  66. package/dist/build-provenance.d.ts +20 -0
  67. package/dist/build-provenance.js +67 -0
  68. package/dist/build-provenance.js.map +1 -0
  69. package/dist/build-provenance.json +1 -0
  70. package/dist/cache-ledger.d.ts +95 -0
  71. package/dist/cache-ledger.js +276 -4
  72. package/dist/cache-ledger.js.map +1 -1
  73. package/dist/cache-service.d.ts +5 -0
  74. package/dist/cache-service.js +16 -4
  75. package/dist/cache-service.js.map +1 -1
  76. package/dist/channel/adapters/discord.js +11 -3
  77. package/dist/channel/adapters/discord.js.map +1 -1
  78. package/dist/channel/adapters/telegram.d.ts +51 -0
  79. package/dist/channel/adapters/telegram.js +235 -17
  80. package/dist/channel/adapters/telegram.js.map +1 -1
  81. package/dist/channel/mcp-tools.js +3 -3
  82. package/dist/channel/mcp-tools.js.map +1 -1
  83. package/dist/channel/types.d.ts +2 -0
  84. package/dist/claude-auth-status.d.ts +48 -0
  85. package/dist/claude-auth-status.js +149 -0
  86. package/dist/claude-auth-status.js.map +1 -0
  87. package/dist/cli.js +138 -37
  88. package/dist/cli.js.map +1 -1
  89. package/dist/config-validator.js +21 -1
  90. package/dist/config-validator.js.map +1 -1
  91. package/dist/cross-instance-notice.d.ts +10 -0
  92. package/dist/cross-instance-notice.js +67 -5
  93. package/dist/cross-instance-notice.js.map +1 -1
  94. package/dist/daemon.d.ts +70 -1
  95. package/dist/daemon.js +547 -25
  96. package/dist/daemon.js.map +1 -1
  97. package/dist/dashboard-permissions.d.ts +8 -0
  98. package/dist/dashboard-permissions.js +16 -0
  99. package/dist/dashboard-permissions.js.map +1 -1
  100. package/dist/delivery-consumed-watch.d.ts +23 -1
  101. package/dist/delivery-consumed-watch.js +30 -3
  102. package/dist/delivery-consumed-watch.js.map +1 -1
  103. package/dist/delivery-reconciliation.d.ts +1 -1
  104. package/dist/delivery-reconciliation.js +1 -1
  105. package/dist/delivery-reconciliation.js.map +1 -1
  106. package/dist/doctor.js +20 -9
  107. package/dist/doctor.js.map +1 -1
  108. package/dist/export-import.d.ts +7 -0
  109. package/dist/export-import.js +44 -10
  110. package/dist/export-import.js.map +1 -1
  111. package/dist/fleet-context.d.ts +2 -0
  112. package/dist/fleet-manager.d.ts +359 -7
  113. package/dist/fleet-manager.js +1365 -90
  114. package/dist/fleet-manager.js.map +1 -1
  115. package/dist/fleet-windows-runtime.d.ts +2 -1
  116. package/dist/fleet-windows-runtime.js +25 -7
  117. package/dist/fleet-windows-runtime.js.map +1 -1
  118. package/dist/general-knowledge/skills/concepts/SKILL.md +425 -0
  119. package/dist/general-knowledge/skills/credential-profiles/SKILL.md +5 -2
  120. package/dist/general-knowledge/skills/cross-instance-messaging/SKILL.md +1 -0
  121. package/dist/general-knowledge/skills/fleet-health/SKILL.md +2 -2
  122. package/dist/general-knowledge/skills/instance-lifecycle/SKILL.md +3 -1
  123. package/dist/general-knowledge/skills/kiro-engine-migration/SKILL.md +41 -4
  124. package/dist/general-knowledge/skills/session-management/SKILL.md +1 -1
  125. package/dist/general-knowledge/skills/tui-effort/SKILL.md +10 -10
  126. package/dist/general-knowledge/skills/web-dashboard/SKILL.md +31 -15
  127. package/dist/general-knowledge/skills/worker-collaboration/SKILL.md +1 -1
  128. package/dist/general-role.d.ts +1 -1
  129. package/dist/general-role.js +1 -0
  130. package/dist/general-role.js.map +1 -1
  131. package/dist/hub/admission.d.ts +28 -0
  132. package/dist/hub/admission.js +62 -0
  133. package/dist/hub/admission.js.map +1 -0
  134. package/dist/hub/attachments/limits.d.ts +20 -0
  135. package/dist/hub/attachments/limits.js +48 -0
  136. package/dist/hub/attachments/limits.js.map +1 -0
  137. package/dist/hub/attachments/store.d.ts +116 -0
  138. package/dist/hub/attachments/store.js +246 -0
  139. package/dist/hub/attachments/store.js.map +1 -0
  140. package/dist/hub/audit/index.d.ts +62 -0
  141. package/dist/hub/audit/index.js +344 -0
  142. package/dist/hub/audit/index.js.map +1 -0
  143. package/dist/hub/browser-certificate.d.ts +38 -0
  144. package/dist/hub/browser-certificate.js +247 -0
  145. package/dist/hub/browser-certificate.js.map +1 -0
  146. package/dist/hub/buttons-model.d.ts +9 -0
  147. package/dist/hub/buttons-model.js +42 -0
  148. package/dist/hub/buttons-model.js.map +1 -0
  149. package/dist/hub/buttons.d.ts +54 -0
  150. package/dist/hub/buttons.js +346 -0
  151. package/dist/hub/buttons.js.map +1 -0
  152. package/dist/hub/catalog.d.ts +74 -0
  153. package/dist/hub/catalog.js +195 -0
  154. package/dist/hub/catalog.js.map +1 -0
  155. package/dist/hub/client.d.ts +69 -0
  156. package/dist/hub/client.js +300 -0
  157. package/dist/hub/client.js.map +1 -0
  158. package/dist/hub/compose/member.d.ts +139 -0
  159. package/dist/hub/compose/member.js +450 -0
  160. package/dist/hub/compose/member.js.map +1 -0
  161. package/dist/hub/compose/server.d.ts +77 -0
  162. package/dist/hub/compose/server.js +349 -0
  163. package/dist/hub/compose/server.js.map +1 -0
  164. package/dist/hub/compose/views.d.ts +12 -0
  165. package/dist/hub/compose/views.js +4 -0
  166. package/dist/hub/compose/views.js.map +1 -0
  167. package/dist/hub/db.d.ts +56 -0
  168. package/dist/hub/db.js +188 -0
  169. package/dist/hub/db.js.map +1 -0
  170. package/dist/hub/directory/config.d.ts +39 -0
  171. package/dist/hub/directory/config.js +108 -0
  172. package/dist/hub/directory/config.js.map +1 -0
  173. package/dist/hub/directory/directory.d.ts +18 -0
  174. package/dist/hub/directory/directory.js +320 -0
  175. package/dist/hub/directory/directory.js.map +1 -0
  176. package/dist/hub/directory/index.d.ts +7 -0
  177. package/dist/hub/directory/index.js +4 -0
  178. package/dist/hub/directory/index.js.map +1 -0
  179. package/dist/hub/directory/profiles.d.ts +41 -0
  180. package/dist/hub/directory/profiles.js +90 -0
  181. package/dist/hub/directory/profiles.js.map +1 -0
  182. package/dist/hub/directory/types.d.ts +71 -0
  183. package/dist/hub/directory/types.js +14 -0
  184. package/dist/hub/directory/types.js.map +1 -0
  185. package/dist/hub/execution/cli-provider.d.ts +23 -0
  186. package/dist/hub/execution/cli-provider.js +341 -0
  187. package/dist/hub/execution/cli-provider.js.map +1 -0
  188. package/dist/hub/execution/index.d.ts +13 -0
  189. package/dist/hub/execution/index.js +8 -0
  190. package/dist/hub/execution/index.js.map +1 -0
  191. package/dist/hub/execution/model-broker.d.ts +24 -0
  192. package/dist/hub/execution/model-broker.js +208 -0
  193. package/dist/hub/execution/model-broker.js.map +1 -0
  194. package/dist/hub/execution/provider-setup.d.ts +11 -0
  195. package/dist/hub/execution/provider-setup.js +21 -0
  196. package/dist/hub/execution/provider-setup.js.map +1 -0
  197. package/dist/hub/execution/sandbox-runner.d.ts +1 -0
  198. package/dist/hub/execution/sandbox-runner.js +221 -0
  199. package/dist/hub/execution/sandbox-runner.js.map +1 -0
  200. package/dist/hub/execution/service.d.ts +136 -0
  201. package/dist/hub/execution/service.js +459 -0
  202. package/dist/hub/execution/service.js.map +1 -0
  203. package/dist/hub/execution/store.d.ts +61 -0
  204. package/dist/hub/execution/store.js +182 -0
  205. package/dist/hub/execution/store.js.map +1 -0
  206. package/dist/hub/execution/views.d.ts +20 -0
  207. package/dist/hub/execution/views.js +48 -0
  208. package/dist/hub/execution/views.js.map +1 -0
  209. package/dist/hub/http/compose.d.ts +20 -0
  210. package/dist/hub/http/compose.js +518 -0
  211. package/dist/hub/http/compose.js.map +1 -0
  212. package/dist/hub/http/core.d.ts +49 -0
  213. package/dist/hub/http/core.js +124 -0
  214. package/dist/hub/http/core.js.map +1 -0
  215. package/dist/hub/http/deps.d.ts +61 -0
  216. package/dist/hub/http/deps.js +2 -0
  217. package/dist/hub/http/deps.js.map +1 -0
  218. package/dist/hub/http/schema.d.ts +14 -0
  219. package/dist/hub/http/schema.js +80 -0
  220. package/dist/hub/http/schema.js.map +1 -0
  221. package/dist/hub/identity.d.ts +32 -0
  222. package/dist/hub/identity.js +80 -0
  223. package/dist/hub/identity.js.map +1 -0
  224. package/dist/hub/init/browser-certificate.d.ts +9 -0
  225. package/dist/hub/init/browser-certificate.js +78 -0
  226. package/dist/hub/init/browser-certificate.js.map +1 -0
  227. package/dist/hub/init/browser-tls.d.ts +18 -0
  228. package/dist/hub/init/browser-tls.js +62 -0
  229. package/dist/hub/init/browser-tls.js.map +1 -0
  230. package/dist/hub/init/cli.d.ts +3 -0
  231. package/dist/hub/init/cli.js +83 -0
  232. package/dist/hub/init/cli.js.map +1 -0
  233. package/dist/hub/init/directory-certificate.d.ts +24 -0
  234. package/dist/hub/init/directory-certificate.js +222 -0
  235. package/dist/hub/init/directory-certificate.js.map +1 -0
  236. package/dist/hub/init/existing-fleet.d.ts +6 -0
  237. package/dist/hub/init/existing-fleet.js +58 -0
  238. package/dist/hub/init/existing-fleet.js.map +1 -0
  239. package/dist/hub/init/handoff.d.ts +8 -0
  240. package/dist/hub/init/handoff.js +36 -0
  241. package/dist/hub/init/handoff.js.map +1 -0
  242. package/dist/hub/init/identity.d.ts +5 -0
  243. package/dist/hub/init/identity.js +24 -0
  244. package/dist/hub/init/identity.js.map +1 -0
  245. package/dist/hub/init/initializer.d.ts +24 -0
  246. package/dist/hub/init/initializer.js +385 -0
  247. package/dist/hub/init/initializer.js.map +1 -0
  248. package/dist/hub/init/inventory.d.ts +17 -0
  249. package/dist/hub/init/inventory.js +33 -0
  250. package/dist/hub/init/inventory.js.map +1 -0
  251. package/dist/hub/init/layout.d.ts +32 -0
  252. package/dist/hub/init/layout.js +53 -0
  253. package/dist/hub/init/layout.js.map +1 -0
  254. package/dist/hub/init/network.d.ts +18 -0
  255. package/dist/hub/init/network.js +104 -0
  256. package/dist/hub/init/network.js.map +1 -0
  257. package/dist/hub/init/plan-digest.d.ts +5 -0
  258. package/dist/hub/init/plan-digest.js +47 -0
  259. package/dist/hub/init/plan-digest.js.map +1 -0
  260. package/dist/hub/init/prompt.d.ts +26 -0
  261. package/dist/hub/init/prompt.js +110 -0
  262. package/dist/hub/init/prompt.js.map +1 -0
  263. package/dist/hub/init/secret-file.d.ts +1 -0
  264. package/dist/hub/init/secret-file.js +59 -0
  265. package/dist/hub/init/secret-file.js.map +1 -0
  266. package/dist/hub/init/text.d.ts +127 -0
  267. package/dist/hub/init/text.js +247 -0
  268. package/dist/hub/init/text.js.map +1 -0
  269. package/dist/hub/init/types.d.ts +114 -0
  270. package/dist/hub/init/types.js +9 -0
  271. package/dist/hub/init/types.js.map +1 -0
  272. package/dist/hub/init/wizard.d.ts +34 -0
  273. package/dist/hub/init/wizard.js +554 -0
  274. package/dist/hub/init/wizard.js.map +1 -0
  275. package/dist/hub/initialization.d.ts +23 -0
  276. package/dist/hub/initialization.js +28 -0
  277. package/dist/hub/initialization.js.map +1 -0
  278. package/dist/hub/member/agent-mode.d.ts +6 -0
  279. package/dist/hub/member/agent-mode.js +23 -0
  280. package/dist/hub/member/agent-mode.js.map +1 -0
  281. package/dist/hub/member/attachments.d.ts +29 -0
  282. package/dist/hub/member/attachments.js +107 -0
  283. package/dist/hub/member/attachments.js.map +1 -0
  284. package/dist/hub/member/exposure-api.d.ts +87 -0
  285. package/dist/hub/member/exposure-api.js +64 -0
  286. package/dist/hub/member/exposure-api.js.map +1 -0
  287. package/dist/hub/member/exposures.d.ts +123 -0
  288. package/dist/hub/member/exposures.js +282 -0
  289. package/dist/hub/member/exposures.js.map +1 -0
  290. package/dist/hub/member/pairing-api.d.ts +85 -0
  291. package/dist/hub/member/pairing-api.js +385 -0
  292. package/dist/hub/member/pairing-api.js.map +1 -0
  293. package/dist/hub/member/quota.d.ts +20 -0
  294. package/dist/hub/member/quota.js +98 -0
  295. package/dist/hub/member/quota.js.map +1 -0
  296. package/dist/hub/member-journal.d.ts +104 -0
  297. package/dist/hub/member-journal.js +336 -0
  298. package/dist/hub/member-journal.js.map +1 -0
  299. package/dist/hub/member-reconciliation.d.ts +14 -0
  300. package/dist/hub/member-reconciliation.js +97 -0
  301. package/dist/hub/member-reconciliation.js.map +1 -0
  302. package/dist/hub/mount.d.ts +39 -0
  303. package/dist/hub/mount.js +123 -0
  304. package/dist/hub/mount.js.map +1 -0
  305. package/dist/hub/pairing-client.d.ts +17 -0
  306. package/dist/hub/pairing-client.js +108 -0
  307. package/dist/hub/pairing-client.js.map +1 -0
  308. package/dist/hub/pairing.d.ts +65 -0
  309. package/dist/hub/pairing.js +211 -0
  310. package/dist/hub/pairing.js.map +1 -0
  311. package/dist/hub/policy.d.ts +63 -0
  312. package/dist/hub/policy.js +147 -0
  313. package/dist/hub/policy.js.map +1 -0
  314. package/dist/hub/preview.d.ts +32 -0
  315. package/dist/hub/preview.js +64 -0
  316. package/dist/hub/preview.js.map +1 -0
  317. package/dist/hub/private-files.d.ts +5 -0
  318. package/dist/hub/private-files.js +44 -0
  319. package/dist/hub/private-files.js.map +1 -0
  320. package/dist/hub/profile.d.ts +59 -0
  321. package/dist/hub/profile.js +73 -0
  322. package/dist/hub/profile.js.map +1 -0
  323. package/dist/hub/protocol.d.ts +779 -0
  324. package/dist/hub/protocol.js +93 -0
  325. package/dist/hub/protocol.js.map +1 -0
  326. package/dist/hub/quota.d.ts +24 -0
  327. package/dist/hub/quota.js +112 -0
  328. package/dist/hub/quota.js.map +1 -0
  329. package/dist/hub/representative.d.ts +141 -0
  330. package/dist/hub/representative.js +528 -0
  331. package/dist/hub/representative.js.map +1 -0
  332. package/dist/hub/retention.d.ts +17 -0
  333. package/dist/hub/retention.js +45 -0
  334. package/dist/hub/retention.js.map +1 -0
  335. package/dist/hub/rooms.d.ts +120 -0
  336. package/dist/hub/rooms.js +535 -0
  337. package/dist/hub/rooms.js.map +1 -0
  338. package/dist/hub/runtime.d.ts +106 -0
  339. package/dist/hub/runtime.js +298 -0
  340. package/dist/hub/runtime.js.map +1 -0
  341. package/dist/hub/server.d.ts +56 -0
  342. package/dist/hub/server.js +202 -0
  343. package/dist/hub/server.js.map +1 -0
  344. package/dist/hub/service-start.d.ts +17 -0
  345. package/dist/hub/service-start.js +109 -0
  346. package/dist/hub/service-start.js.map +1 -0
  347. package/dist/hub/sessions.d.ts +53 -0
  348. package/dist/hub/sessions.js +196 -0
  349. package/dist/hub/sessions.js.map +1 -0
  350. package/dist/hub/socket.d.ts +24 -0
  351. package/dist/hub/socket.js +79 -0
  352. package/dist/hub/socket.js.map +1 -0
  353. package/dist/hub/store.d.ts +77 -0
  354. package/dist/hub/store.js +88 -0
  355. package/dist/hub/store.js.map +1 -0
  356. package/dist/hub/tls.d.ts +31 -0
  357. package/dist/hub/tls.js +135 -0
  358. package/dist/hub/tls.js.map +1 -0
  359. package/dist/hub/types.d.ts +401 -0
  360. package/dist/hub/types.js +2 -0
  361. package/dist/hub/types.js.map +1 -0
  362. package/dist/hub/validation.d.ts +33 -0
  363. package/dist/hub/validation.js +136 -0
  364. package/dist/hub/validation.js.map +1 -0
  365. package/dist/hub/version-floor.d.ts +10 -0
  366. package/dist/hub/version-floor.js +45 -0
  367. package/dist/hub/version-floor.js.map +1 -0
  368. package/dist/hub-browser-certificate-policy.d.ts +31 -0
  369. package/dist/hub-browser-certificate-policy.js +25 -0
  370. package/dist/hub-browser-certificate-policy.js.map +1 -0
  371. package/dist/hub-membership-settings.d.ts +6 -0
  372. package/dist/hub-membership-settings.js +21 -0
  373. package/dist/hub-membership-settings.js.map +1 -0
  374. package/dist/hub-mode.d.ts +15 -0
  375. package/dist/hub-mode.js +17 -0
  376. package/dist/hub-mode.js.map +1 -0
  377. package/dist/hub-pairing-summary.d.ts +48 -0
  378. package/dist/hub-pairing-summary.js +36 -0
  379. package/dist/hub-pairing-summary.js.map +1 -0
  380. package/dist/hub-report-target.d.ts +32 -0
  381. package/dist/hub-report-target.js +33 -0
  382. package/dist/hub-report-target.js.map +1 -0
  383. package/dist/hub-retention-policy.d.ts +14 -0
  384. package/dist/hub-retention-policy.js +15 -0
  385. package/dist/hub-retention-policy.js.map +1 -0
  386. package/dist/instance-config-impact.js +3 -0
  387. package/dist/instance-config-impact.js.map +1 -1
  388. package/dist/instance-lifecycle.d.ts +17 -2
  389. package/dist/instance-lifecycle.js +58 -8
  390. package/dist/instance-lifecycle.js.map +1 -1
  391. package/dist/instance-topic-delete.d.ts +77 -0
  392. package/dist/instance-topic-delete.js +123 -0
  393. package/dist/instance-topic-delete.js.map +1 -0
  394. package/dist/instructions.d.ts +1 -1
  395. package/dist/instructions.js +1 -1
  396. package/dist/instructions.js.map +1 -1
  397. package/dist/kiro-engine-status.d.ts +11 -0
  398. package/dist/kiro-engine-status.js +6 -0
  399. package/dist/kiro-engine-status.js.map +1 -1
  400. package/dist/launchd-service-domain.d.ts +5 -0
  401. package/dist/launchd-service-domain.js +21 -0
  402. package/dist/launchd-service-domain.js.map +1 -0
  403. package/dist/locale.js +125 -3
  404. package/dist/locale.js.map +1 -1
  405. package/dist/log-service.d.ts +28 -0
  406. package/dist/log-service.js +29 -0
  407. package/dist/log-service.js.map +1 -1
  408. package/dist/log-steps.d.ts +4 -3
  409. package/dist/log-steps.js +32 -7
  410. package/dist/log-steps.js.map +1 -1
  411. package/dist/logger.d.ts +16 -2
  412. package/dist/logger.js +346 -66
  413. package/dist/logger.js.map +1 -1
  414. package/dist/login-flows.d.ts +15 -7
  415. package/dist/login-flows.js +29 -3
  416. package/dist/login-flows.js.map +1 -1
  417. package/dist/login-manager.js +25 -4
  418. package/dist/login-manager.js.map +1 -1
  419. package/dist/ls-rows.js +3 -4
  420. package/dist/ls-rows.js.map +1 -1
  421. package/dist/missed-offline.d.ts +25 -0
  422. package/dist/missed-offline.js +79 -0
  423. package/dist/missed-offline.js.map +1 -0
  424. package/dist/native-instance-api.d.ts +0 -1
  425. package/dist/native-instance-api.js +15 -3
  426. package/dist/native-instance-api.js.map +1 -1
  427. package/dist/native-instance-input.d.ts +3 -0
  428. package/dist/native-instance-input.js +6 -1
  429. package/dist/native-instance-input.js.map +1 -1
  430. package/dist/native-instance-registry.d.ts +6 -0
  431. package/dist/native-instance-registry.js +24 -0
  432. package/dist/native-instance-registry.js.map +1 -1
  433. package/dist/native-mcp.d.ts +3 -0
  434. package/dist/native-mcp.js +15 -2
  435. package/dist/native-mcp.js.map +1 -1
  436. package/dist/native-pane-lifecycle.d.ts +8 -0
  437. package/dist/native-pane-lifecycle.js +13 -4
  438. package/dist/native-pane-lifecycle.js.map +1 -1
  439. package/dist/native-pane-manager.js +17 -9
  440. package/dist/native-pane-manager.js.map +1 -1
  441. package/dist/needs-you-hub.d.ts +9 -1
  442. package/dist/needs-you-hub.js +46 -8
  443. package/dist/needs-you-hub.js.map +1 -1
  444. package/dist/needs-you.d.ts +47 -2
  445. package/dist/needs-you.js +31 -3
  446. package/dist/needs-you.js.map +1 -1
  447. package/dist/office-share-page.js +2 -2
  448. package/dist/office-share-page.js.map +1 -1
  449. package/dist/office-share.d.ts +11 -0
  450. package/dist/office-share.js +14 -0
  451. package/dist/office-share.js.map +1 -1
  452. package/dist/office-talk.d.ts +26 -0
  453. package/dist/office-talk.js +50 -0
  454. package/dist/office-talk.js.map +1 -0
  455. package/dist/outbound-handlers.d.ts +14 -0
  456. package/dist/outbound-handlers.js +49 -6
  457. package/dist/outbound-handlers.js.map +1 -1
  458. package/dist/outbound-schemas.d.ts +33 -1
  459. package/dist/outbound-schemas.js +29 -16
  460. package/dist/outbound-schemas.js.map +1 -1
  461. package/dist/pane-quota-history.d.ts +9 -0
  462. package/dist/pane-quota-history.js +67 -0
  463. package/dist/pane-quota-history.js.map +1 -0
  464. package/dist/pause-marker.d.ts +1 -1
  465. package/dist/pause-marker.js +1 -1
  466. package/dist/pause-marker.js.map +1 -1
  467. package/dist/platform-general.d.ts +46 -0
  468. package/dist/platform-general.js +91 -0
  469. package/dist/platform-general.js.map +1 -0
  470. package/dist/public-web-gateway.js +7 -0
  471. package/dist/public-web-gateway.js.map +1 -1
  472. package/dist/queued-handoffs.d.ts +33 -0
  473. package/dist/queued-handoffs.js +75 -0
  474. package/dist/queued-handoffs.js.map +1 -0
  475. package/dist/quickstart.d.ts +13 -0
  476. package/dist/quickstart.js +81 -5
  477. package/dist/quickstart.js.map +1 -1
  478. package/dist/quota-notice.d.ts +7 -0
  479. package/dist/quota-notice.js +40 -0
  480. package/dist/quota-notice.js.map +1 -1
  481. package/dist/reply-buttons-controller.js +10 -6
  482. package/dist/reply-buttons-controller.js.map +1 -1
  483. package/dist/reply-polls.d.ts +2 -2
  484. package/dist/reply-polls.js +3 -3
  485. package/dist/reply-polls.js.map +1 -1
  486. package/dist/runtime-api.d.ts +2 -0
  487. package/dist/runtime-api.js +25 -7
  488. package/dist/runtime-api.js.map +1 -1
  489. package/dist/runtime-build-info.js +5 -3
  490. package/dist/runtime-build-info.js.map +1 -1
  491. package/dist/runtime-bundle.d.ts +3 -0
  492. package/dist/runtime-bundle.js +3 -1
  493. package/dist/runtime-bundle.js.map +1 -1
  494. package/dist/runtime-cli.d.ts +8 -1
  495. package/dist/runtime-cli.js +127 -8
  496. package/dist/runtime-cli.js.map +1 -1
  497. package/dist/runtime-client-store.d.ts +7 -0
  498. package/dist/runtime-client-store.js +30 -2
  499. package/dist/runtime-client-store.js.map +1 -1
  500. package/dist/runtime-client.d.ts +63 -1
  501. package/dist/runtime-client.js +295 -21
  502. package/dist/runtime-client.js.map +1 -1
  503. package/dist/runtime-coordinator.d.ts +7 -0
  504. package/dist/runtime-coordinator.js +213 -35
  505. package/dist/runtime-coordinator.js.map +1 -1
  506. package/dist/runtime-credential-profiles.d.ts +78 -0
  507. package/dist/runtime-credential-profiles.js +280 -0
  508. package/dist/runtime-credential-profiles.js.map +1 -0
  509. package/dist/runtime-install.d.ts +50 -0
  510. package/dist/runtime-install.js +186 -0
  511. package/dist/runtime-install.js.map +1 -0
  512. package/dist/runtime-pane-assets.d.ts +1 -1
  513. package/dist/runtime-pane-assets.js +1 -1
  514. package/dist/runtime-pane-assets.js.map +1 -1
  515. package/dist/runtime-pane-codex-index.d.ts +10 -1
  516. package/dist/runtime-pane-codex-index.js +131 -27
  517. package/dist/runtime-pane-codex-index.js.map +1 -1
  518. package/dist/runtime-pane-host.d.ts +19 -0
  519. package/dist/runtime-pane-host.js +50 -7
  520. package/dist/runtime-pane-host.js.map +1 -1
  521. package/dist/runtime-pane-link.d.ts +7 -0
  522. package/dist/runtime-pane-link.js +93 -2
  523. package/dist/runtime-pane-link.js.map +1 -1
  524. package/dist/runtime-pane-mcp-relay.d.ts +1 -0
  525. package/dist/runtime-pane-mcp-relay.js +10 -0
  526. package/dist/runtime-pane-mcp-relay.js.map +1 -1
  527. package/dist/runtime-pane-mcp.d.ts +4 -0
  528. package/dist/runtime-pane-mcp.js +6 -3
  529. package/dist/runtime-pane-mcp.js.map +1 -1
  530. package/dist/runtime-pane-native.d.ts +32 -2
  531. package/dist/runtime-pane-native.js +55 -6
  532. package/dist/runtime-pane-native.js.map +1 -1
  533. package/dist/runtime-pane-port.d.ts +5 -0
  534. package/dist/runtime-pane-port.js +17 -1
  535. package/dist/runtime-pane-port.js.map +1 -1
  536. package/dist/runtime-pane-process.d.ts +1 -1
  537. package/dist/runtime-pane-process.js +11 -2
  538. package/dist/runtime-pane-process.js.map +1 -1
  539. package/dist/runtime-pane-protocol.d.ts +11 -1
  540. package/dist/runtime-pane-protocol.js +27 -5
  541. package/dist/runtime-pane-protocol.js.map +1 -1
  542. package/dist/runtime-pane-quota-history.d.ts +6 -0
  543. package/dist/runtime-pane-quota-history.js +44 -0
  544. package/dist/runtime-pane-quota-history.js.map +1 -0
  545. package/dist/runtime-pane-service.d.ts +5 -0
  546. package/dist/runtime-pane-service.js +47 -12
  547. package/dist/runtime-pane-service.js.map +1 -1
  548. package/dist/runtime-pane-transcript.d.ts +5 -0
  549. package/dist/runtime-pane-transcript.js +66 -5
  550. package/dist/runtime-pane-transcript.js.map +1 -1
  551. package/dist/runtime-pane-worker.js +19 -6
  552. package/dist/runtime-pane-worker.js.map +1 -1
  553. package/dist/runtime-protocol.d.ts +17 -2
  554. package/dist/runtime-protocol.js +12 -0
  555. package/dist/runtime-protocol.js.map +1 -1
  556. package/dist/runtime-update-activity.d.ts +21 -0
  557. package/dist/runtime-update-activity.js +51 -0
  558. package/dist/runtime-update-activity.js.map +1 -0
  559. package/dist/runtime-update-artifact.d.ts +31 -0
  560. package/dist/runtime-update-artifact.js +252 -0
  561. package/dist/runtime-update-artifact.js.map +1 -0
  562. package/dist/runtime-update-install.d.ts +31 -0
  563. package/dist/runtime-update-install.js +205 -0
  564. package/dist/runtime-update-install.js.map +1 -0
  565. package/dist/runtime-update-journal.d.ts +44 -0
  566. package/dist/runtime-update-journal.js +121 -0
  567. package/dist/runtime-update-journal.js.map +1 -0
  568. package/dist/runtime-update-lock.d.ts +48 -0
  569. package/dist/runtime-update-lock.js +217 -0
  570. package/dist/runtime-update-lock.js.map +1 -0
  571. package/dist/runtime-update-owners.d.ts +29 -0
  572. package/dist/runtime-update-owners.js +240 -0
  573. package/dist/runtime-update-owners.js.map +1 -0
  574. package/dist/runtime-update-protocol.d.ts +15 -0
  575. package/dist/runtime-update-protocol.js +13 -0
  576. package/dist/runtime-update-protocol.js.map +1 -0
  577. package/dist/runtime-windows-bridge.d.ts +2 -1
  578. package/dist/runtime-windows-bridge.js +11 -1
  579. package/dist/runtime-windows-bridge.js.map +1 -1
  580. package/dist/scheduler/db.d.ts +2 -1
  581. package/dist/scheduler/db.js +23 -9
  582. package/dist/scheduler/db.js.map +1 -1
  583. package/dist/scheduler/task-board-text.js +1 -1
  584. package/dist/scheduler/task-board-text.js.map +1 -1
  585. package/dist/scheduler/task-board.d.ts +13 -0
  586. package/dist/scheduler/task-board.js +28 -3
  587. package/dist/scheduler/task-board.js.map +1 -1
  588. package/dist/service-drain.d.ts +19 -0
  589. package/dist/service-drain.js +64 -0
  590. package/dist/service-drain.js.map +1 -0
  591. package/dist/service-installer.d.ts +7 -2
  592. package/dist/service-installer.js +13 -10
  593. package/dist/service-installer.js.map +1 -1
  594. package/dist/settings-api.d.ts +20 -0
  595. package/dist/settings-api.js +414 -4
  596. package/dist/settings-api.js.map +1 -1
  597. package/dist/settings-baseline.d.ts +6 -0
  598. package/dist/settings-baseline.js +3 -1
  599. package/dist/settings-baseline.js.map +1 -1
  600. package/dist/settings-change.js +29 -6
  601. package/dist/settings-change.js.map +1 -1
  602. package/dist/settings-effect.d.ts +13 -0
  603. package/dist/settings-effect.js +97 -0
  604. package/dist/settings-effect.js.map +1 -1
  605. package/dist/settings-http-confirmation.js +13 -1
  606. package/dist/settings-http-confirmation.js.map +1 -1
  607. package/dist/settings-instance-patch.js +27 -0
  608. package/dist/settings-instance-patch.js.map +1 -1
  609. package/dist/setup-wizard.js +6 -2
  610. package/dist/setup-wizard.js.map +1 -1
  611. package/dist/task-board-tool.d.ts +13 -1
  612. package/dist/task-board-tool.js +104 -4
  613. package/dist/task-board-tool.js.map +1 -1
  614. package/dist/task-board-waker.d.ts +6 -0
  615. package/dist/task-board-waker.js +4 -0
  616. package/dist/task-board-waker.js.map +1 -1
  617. package/dist/tmux-binary.d.ts +59 -0
  618. package/dist/tmux-binary.js +200 -0
  619. package/dist/tmux-binary.js.map +1 -0
  620. package/dist/tmux-control.js +4 -4
  621. package/dist/tmux-control.js.map +1 -1
  622. package/dist/tmux-exec-helper.js +32 -1
  623. package/dist/tmux-exec-helper.js.map +1 -1
  624. package/dist/tmux-manager.d.ts +1 -1
  625. package/dist/tmux-manager.js +45 -36
  626. package/dist/tmux-manager.js.map +1 -1
  627. package/dist/tmux-read.js +4 -3
  628. package/dist/tmux-read.js.map +1 -1
  629. package/dist/tool-permissions.d.ts +5 -2
  630. package/dist/tool-permissions.js +6 -5
  631. package/dist/tool-permissions.js.map +1 -1
  632. package/dist/tool-progress.d.ts +2 -0
  633. package/dist/tool-progress.js +19 -3
  634. package/dist/tool-progress.js.map +1 -1
  635. package/dist/topic-commands.js +10 -5
  636. package/dist/topic-commands.js.map +1 -1
  637. package/dist/transcript-monitor.d.ts +20 -0
  638. package/dist/transcript-monitor.js +47 -3
  639. package/dist/transcript-monitor.js.map +1 -1
  640. package/dist/transcript-needles.d.ts +7 -0
  641. package/dist/transcript-needles.js +9 -1
  642. package/dist/transcript-needles.js.map +1 -1
  643. package/dist/transcript-records.d.ts +1 -1
  644. package/dist/transcript-records.js +2 -1
  645. package/dist/transcript-records.js.map +1 -1
  646. package/dist/types.d.ts +6 -0
  647. package/dist/ui/account-identity.js +27 -0
  648. package/dist/ui/accounts-view.js +214 -0
  649. package/dist/ui/agent-runtime-settings.js +9 -8
  650. package/dist/ui/backend-signin.js +4 -1
  651. package/dist/ui/chat-ambient.js +1 -1
  652. package/dist/ui/chat-md-strings.js +3 -0
  653. package/dist/ui/chat-render.js +3 -670
  654. package/dist/ui/chat-store.js +1 -1
  655. package/dist/ui/chat-strings.js +3 -333
  656. package/dist/ui/chat-thread.js +3 -919
  657. package/dist/ui/chat-time.js +3 -80
  658. package/dist/ui/chat-tour.js +1 -1
  659. package/dist/ui/credential-profile-select.js +54 -0
  660. package/dist/ui/fleet-office-dialogue.d.ts +30 -0
  661. package/dist/ui/fleet-office-dialogue.js +382 -0
  662. package/dist/ui/fleet-office-pack.d.ts +9 -0
  663. package/dist/ui/fleet-office-pack.js +76 -4
  664. package/dist/ui/fleet-office-skin.js +23 -5
  665. package/dist/ui/fleet-office-store.js +5 -0
  666. package/dist/ui/fleet-office.js +173 -6
  667. package/dist/ui/fleet-task-card.js +10 -6
  668. package/dist/ui/fleet-task-common.js +12 -2
  669. package/dist/ui/fleet-task-menu.js +188 -0
  670. package/dist/ui/fleet-task-stats.js +124 -0
  671. package/dist/ui/fleet-task-view.js +340 -0
  672. package/dist/ui/fleet-tasks.js +131 -43
  673. package/dist/ui/fleet-usage.js +90 -27
  674. package/dist/ui/html-attachment.js +3 -40
  675. package/dist/ui/hub-agent-copy.js +23 -0
  676. package/dist/ui/hub-button-actions.js +65 -0
  677. package/dist/ui/hub-chat-store.js +158 -0
  678. package/dist/ui/hub-chat-strings.js +77 -0
  679. package/dist/ui/hub-client.js +329 -0
  680. package/dist/ui/hub-owner-strings.js +51 -0
  681. package/dist/ui/hub-provider-guidance.js +31 -0
  682. package/dist/ui/hub-quota.js +85 -0
  683. package/dist/ui/hub-strings.js +162 -0
  684. package/dist/ui/hub-switcher.js +27 -0
  685. package/dist/ui/native-pane-recovery.js +1 -1
  686. package/dist/ui/office-share-page.js +4 -2
  687. package/dist/ui/panel-chat.js +34 -48
  688. package/dist/ui/panel-details.js +1 -1
  689. package/dist/ui/panel-fleet.js +78 -10
  690. package/dist/ui/panel-hub.js +619 -0
  691. package/dist/ui/panel-log.js +2 -2
  692. package/dist/ui/panel-needs.js +24 -8
  693. package/dist/ui/panel-runtimes.js +114 -23
  694. package/dist/ui/panel-settings.js +69 -80
  695. package/dist/ui/panel-windows-cli.js +12 -2
  696. package/dist/ui/preview-pages.js +1 -1
  697. package/dist/ui/preview-panel.js +92 -6
  698. package/dist/ui/preview-versions.js +1 -1
  699. package/dist/ui/preview.js +3 -476
  700. package/dist/ui/runtime-commands.d.ts +4 -0
  701. package/dist/ui/runtime-commands.js +59 -0
  702. package/dist/ui/search-dialog.js +2 -0
  703. package/dist/ui/settings-access-strings.js +42 -0
  704. package/dist/ui/settings-build-version.js +35 -0
  705. package/dist/ui/settings-codex-copy.js +19 -0
  706. package/dist/ui/settings-devices.js +253 -0
  707. package/dist/ui/settings-dialogs.js +28 -7
  708. package/dist/ui/settings-hub-browser-certificate.js +74 -0
  709. package/dist/ui/settings-hub-membership.js +72 -0
  710. package/dist/ui/settings-hub-retention.js +52 -0
  711. package/dist/ui/settings-hub.js +196 -0
  712. package/dist/ui/settings-layout.js +8 -11
  713. package/dist/ui/settings-model.js +16 -2
  714. package/dist/ui/settings-outside.js +104 -38
  715. package/dist/ui/settings-registry.js +4 -1
  716. package/dist/ui/settings-shared-strings.js +143 -0
  717. package/dist/ui/settings-shared.js +345 -0
  718. package/dist/ui/settings-strings.js +10 -46
  719. package/dist/ui/settings-web-authority.js +5 -2
  720. package/dist/ui/shared/accounts.css +15 -0
  721. package/dist/ui/shared/app-i18n.js +2 -2
  722. package/dist/ui/shared/app-needs.js +1 -1
  723. package/dist/ui/shared/app-route.js +6 -1
  724. package/dist/ui/shared/app-session.js +6 -2
  725. package/dist/ui/shared/app-shell.js +64 -8
  726. package/dist/ui/shared/app.css +121 -30
  727. package/dist/ui/shared/app.js +12 -3
  728. package/dist/ui/shared/chat-composer.js +68 -0
  729. package/dist/ui/shared/chat-md-strings.js +9 -0
  730. package/dist/ui/shared/chat-render.js +682 -0
  731. package/dist/ui/shared/chat-strings.js +333 -0
  732. package/dist/ui/shared/chat-thread.js +969 -0
  733. package/dist/ui/shared/chat-time.js +80 -0
  734. package/dist/ui/shared/header-tools.js +3 -5
  735. package/dist/ui/shared/html-attachment.js +42 -0
  736. package/dist/ui/shared/hub-chat.css +85 -0
  737. package/dist/ui/shared/hub-owner.css +33 -0
  738. package/dist/ui/shared/hub-quota.css +8 -0
  739. package/dist/ui/shared/hub.css +71 -0
  740. package/dist/ui/shared/page-head.js +8 -0
  741. package/dist/ui/shared/panel-view.js +77 -4
  742. package/dist/ui/shared/preview.js +476 -0
  743. package/dist/ui/shared/runtime-install.css +26 -0
  744. package/dist/ui/shared/side-rail.js +15 -0
  745. package/dist/ui/shared/signin.js +172 -0
  746. package/dist/ui/shared/task-board.css +95 -0
  747. package/dist/ui/shared/usage-dialog.js +18 -1
  748. package/dist/ui/shared/view-history.css +17 -0
  749. package/dist/ui/shared/view-history.js +438 -0
  750. package/dist/ui/shared/view-strings.js +16 -0
  751. package/dist/ui/shared/workspace.css +20 -0
  752. package/dist/ui/signin.html +21 -0
  753. package/dist/ui/workspace-panel.js +189 -0
  754. package/dist/ui/workspace-strings.js +35 -0
  755. package/dist/unattended-install.d.ts +11 -2
  756. package/dist/unattended-install.js +41 -6
  757. package/dist/unattended-install.js.map +1 -1
  758. package/dist/usage/capacity.d.ts +69 -0
  759. package/dist/usage/capacity.js +119 -0
  760. package/dist/usage/capacity.js.map +1 -0
  761. package/dist/usage/i18n-keys.d.ts +1 -1
  762. package/dist/usage/i18n-keys.js +3 -0
  763. package/dist/usage/i18n-keys.js.map +1 -1
  764. package/dist/usage/profile-timeline.d.ts +16 -0
  765. package/dist/usage/profile-timeline.js +58 -0
  766. package/dist/usage/profile-timeline.js.map +1 -0
  767. package/dist/usage/providers.js +2 -1
  768. package/dist/usage/providers.js.map +1 -1
  769. package/dist/usage/quota-history.d.ts +43 -0
  770. package/dist/usage/quota-history.js +168 -0
  771. package/dist/usage/quota-history.js.map +1 -0
  772. package/dist/usage/usage-api.d.ts +31 -0
  773. package/dist/usage/usage-api.js +80 -1
  774. package/dist/usage/usage-api.js.map +1 -1
  775. package/dist/usage-report.d.ts +25 -1
  776. package/dist/usage-report.js +55 -4
  777. package/dist/usage-report.js.map +1 -1
  778. package/dist/usage-rollup.d.ts +6 -1
  779. package/dist/usage-rollup.js +16 -4
  780. package/dist/usage-rollup.js.map +1 -1
  781. package/dist/view-api.d.ts +16 -0
  782. package/dist/view-api.js +105 -23
  783. package/dist/view-api.js.map +1 -1
  784. package/dist/view-history.d.ts +84 -0
  785. package/dist/view-history.js +116 -0
  786. package/dist/view-history.js.map +1 -0
  787. package/dist/web-api.d.ts +48 -2
  788. package/dist/web-api.js +276 -8
  789. package/dist/web-api.js.map +1 -1
  790. package/dist/web-backend-login.d.ts +23 -1
  791. package/dist/web-backend-login.js +11 -17
  792. package/dist/web-backend-login.js.map +1 -1
  793. package/dist/web-device-login.d.ts +153 -0
  794. package/dist/web-device-login.js +278 -0
  795. package/dist/web-device-login.js.map +1 -0
  796. package/dist/web-office-skins.d.ts +9 -0
  797. package/dist/web-office-skins.js +16 -1
  798. package/dist/web-office-skins.js.map +1 -1
  799. package/dist/web-session-authorization.d.ts +13 -2
  800. package/dist/web-session-authorization.js +10 -3
  801. package/dist/web-session-authorization.js.map +1 -1
  802. package/dist/web-session.d.ts +35 -0
  803. package/dist/web-session.js +7 -0
  804. package/dist/web-session.js.map +1 -1
  805. package/dist/web-settings-patch.d.ts +3 -1
  806. package/dist/web-settings-patch.js +4 -1
  807. package/dist/web-settings-patch.js.map +1 -1
  808. package/dist/web-shell-routes.d.ts +6 -0
  809. package/dist/web-shell-routes.js +7 -0
  810. package/dist/web-shell-routes.js.map +1 -1
  811. package/dist/web-terminal.d.ts +4 -30
  812. package/dist/web-terminal.js +9 -6
  813. package/dist/web-terminal.js.map +1 -1
  814. package/dist/windows-agents.d.ts +1 -0
  815. package/dist/windows-agents.js +1 -0
  816. package/dist/windows-agents.js.map +1 -1
  817. package/dist/windows-cli-api.d.ts +12 -1
  818. package/dist/windows-cli-api.js +27 -1
  819. package/dist/windows-cli-api.js.map +1 -1
  820. package/dist/windows-cli-providers.d.ts +0 -9
  821. package/dist/windows-cli-providers.js +4 -9
  822. package/dist/windows-cli-providers.js.map +1 -1
  823. package/dist/windows-cli-worker.d.ts +24 -0
  824. package/dist/windows-cli-worker.js +96 -5
  825. package/dist/windows-cli-worker.js.map +1 -1
  826. package/dist/windows-cli.d.ts +10 -0
  827. package/dist/windows-cli.js +10 -1
  828. package/dist/windows-cli.js.map +1 -1
  829. package/dist/yaml-shared-nodes.js +8 -3
  830. package/dist/yaml-shared-nodes.js.map +1 -1
  831. package/launcher/agend-install.cjs +8 -1
  832. package/launcher/launchd-session-type.cjs +14 -0
  833. package/launcher/postinstall.cjs +27 -2
  834. package/launcher/private-home.cjs +1 -1
  835. package/launcher/tmux-bundle.cjs +247 -0
  836. package/package.json +3 -2
  837. package/templates/launchd.plist.ejs +3 -1
  838. package/templates/runtime-install/install.ps1 +270 -0
@@ -0,0 +1,77 @@
1
+ import type { IncomingMessage, ServerResponse } from "node:http";
2
+ import { type HubAuditStore, type HubContentStore } from "../audit/index.js";
3
+ import { type HubHoldCode, type HubMigration, type HubStateSet } from "../db.js";
4
+ import type { HubDirectory, HubDirectoryConfig } from "../directory/index.js";
5
+ import type { HubMountedService } from "../mount.js";
6
+ import { HubPairingService } from "../pairing.js";
7
+ import { type HubLinkContext } from "../server.js";
8
+ import { HubTransportStore } from "../store.js";
9
+ import type { HubAskerEnvelope, HubMemberFrame, HubMode, HubPerson, HubServerFrame, HubServerTransport, HubUnitOfWork, PersonKey } from "../types.js";
10
+ import { type HubBrowserCertificateControl } from "../browser-certificate.js";
11
+ import { type HubRetentionControl } from "../retention.js";
12
+ import { type HubPreviewView } from "../preview.js";
13
+ import { HubAttachmentStore } from "../attachments/store.js";
14
+ export declare const SERVER_SET: HubStateSet;
15
+ /** What S3b's createHubHttp receives (agreed in cid-hub-s3b-deps). */
16
+ export interface HubHttpDeps {
17
+ uow: HubUnitOfWork;
18
+ audit: HubAuditStore;
19
+ content: HubContentStore;
20
+ /** attachments-v1 files under the content key (absent: the Hub offers no upload). */
21
+ attachments?: HubAttachmentStore;
22
+ directory: HubDirectory;
23
+ pairing: HubPairingService;
24
+ store: HubTransportStore;
25
+ current(): HubMode;
26
+ now?: () => number;
27
+ preview?: Readonly<HubPreviewView>;
28
+ config: Readonly<{
29
+ hubId: string;
30
+ name: string;
31
+ webOrigin: string;
32
+ administrator: PersonKey;
33
+ }>;
34
+ issuer: {
35
+ keyId: string;
36
+ sign(envelope: Omit<HubAskerEnvelope, "signature">): HubAskerEnvelope;
37
+ };
38
+ /** null before the member listener runs and after fence/close: S3 answers "unavailable", never queues. */
39
+ transport(): Pick<HubServerTransport, "send"> | null;
40
+ }
41
+ export interface HubHttp {
42
+ /** Serve a request under /hub/v1/*; false if the path is not S3's. */
43
+ handle(req: IncomingMessage, res: ServerResponse): boolean;
44
+ receive(frame: Exclude<HubMemberFrame, {
45
+ type: "hello";
46
+ }>, link: HubLinkContext): Promise<HubServerFrame | void>;
47
+ close(): Promise<void>;
48
+ }
49
+ export interface HubHttpEntry {
50
+ createHubHttp(deps: HubHttpDeps): HubHttp;
51
+ migrations: readonly HubMigration[];
52
+ }
53
+ export interface HubServerComponents {
54
+ /** S3b's entry (src/hub/http/compose.ts), imported lazily. Missing: hub-incomplete, before any I/O. */
55
+ http?: () => Promise<HubHttpEntry>;
56
+ }
57
+ export interface HubServerFactoryOptions {
58
+ home: string;
59
+ components: HubServerComponents;
60
+ createDirectory: (config: HubDirectoryConfig, secrets: {
61
+ bindPassword: string;
62
+ }) => HubDirectory;
63
+ /** The specific reason, reported before the factory throws (HubMount itself only knows service-unavailable). */
64
+ report(code: HubHoldCode, detail: string): void;
65
+ log(level: "info" | "warn", message: string, meta?: Record<string, unknown>): void;
66
+ now?: () => number;
67
+ /** Retention job interval; daily by default. */
68
+ retentionEveryMs?: number;
69
+ /** Host Settings only; the disposer removes this exact generation's control. */
70
+ retentionReady?(control: HubRetentionControl): () => void;
71
+ browserCertificateReady?(control: HubBrowserCertificateControl): () => void;
72
+ }
73
+ export declare function createHubServerFactory(options: HubServerFactoryOptions): ((cfg: Record<string, unknown>, current: () => boolean) => Promise<HubMountedService>) & {
74
+ drain: () => Promise<void>;
75
+ };
76
+ export type HubServerFactory = ReturnType<typeof createHubServerFactory>;
77
+ export type { HubPerson };
@@ -0,0 +1,349 @@
1
+ /**
2
+ * S5b server factory (S-51; docs/design/hub-composition.md §5 "Server"). Called by S1's HubMount only after the sealed
3
+ * manifest verified. Builds, in order: the private DB and its migrations, the Hub-instance binding, floors and content
4
+ * key (first creation only), audit + unit of work, S1's transport store and pairing, S2's directory, S3's HTTP entry,
5
+ * S1's member listener and the Hub web listener. Either the whole service comes back or nothing stays open.
6
+ */
7
+ import { createPrivateKey, randomBytes } from "node:crypto";
8
+ import { closeSync, openSync, writeSync } from "node:fs";
9
+ import { createServer as createHttpsServer } from "node:https";
10
+ import { createHubAudit, HUB_AUDIT_MIGRATION } from "../audit/index.js";
11
+ import { applyHubMigrations, bindHubInstance, createHubUnitOfWork, HUB_INSTANCE_MIGRATION, HubStateError, inspectStateSet, openHubDatabase, } from "../db.js";
12
+ import { signAsker } from "../identity.js";
13
+ import { BIND_SECRET_REL, bindSecretPath } from "../init/layout.js";
14
+ import { HubPairingService } from "../pairing.js";
15
+ import { ensurePrivateDirectory, readPrivateFile } from "../private-files.js";
16
+ import { HubServer } from "../server.js";
17
+ import { HUB_TRANSPORT_MIGRATION, HubTransportStore } from "../store.js";
18
+ import { readHubIdentity } from "../tls.js";
19
+ import { HubFileVersionFloor } from "../version-floor.js";
20
+ import { browserCertificateMigration, createHubBrowserCertificateControl } from "../browser-certificate.js";
21
+ import { createHubRetentionControl, retentionMigration } from "../retention.js";
22
+ import { createHubPreviewHandler, hubPreviewSettings, hubPreviewView } from "../preview.js";
23
+ import { HUB_ATTACHMENTS_MIGRATION, HubAttachmentStore } from "../attachments/store.js";
24
+ export const SERVER_SET = Object.freeze({
25
+ database: "hub/hub.sqlite",
26
+ floors: Object.freeze(["hub/floors/transport"]),
27
+ keys: Object.freeze(["hub/keys/content.key"]),
28
+ });
29
+ const obj = (v) => (v && typeof v === "object" && !Array.isArray(v) ? v : {});
30
+ const listen = (v, label) => {
31
+ const o = obj(v);
32
+ if (typeof o.host !== "string" || !o.host || !Number.isInteger(o.port) || o.port < 0 || o.port > 65535) {
33
+ throw new HubStateError("hub-unsealed", `hub.${label} is not a listener address`);
34
+ }
35
+ return { host: o.host, port: o.port };
36
+ };
37
+ function settingsOf(cfg) {
38
+ const tls = obj(cfg.webTls);
39
+ const admin = obj(cfg.administrator);
40
+ const retention = obj(cfg.retention);
41
+ const directory = obj(cfg.directory);
42
+ for (const k of ["hubId", "name", "webOrigin", "memberOrigin"]) {
43
+ if (typeof cfg[k] !== "string" || !cfg[k])
44
+ throw new HubStateError("hub-unsealed", `hub.${k} is missing`);
45
+ }
46
+ if (typeof tls.certificateFile !== "string" || typeof tls.keyFile !== "string")
47
+ throw new HubStateError("hub-unsealed", "hub.webTls is missing");
48
+ if (typeof admin.realm !== "string" || typeof admin.objectId !== "string")
49
+ throw new HubStateError("hub-unsealed", "hub.administrator is missing");
50
+ if (!Number.isSafeInteger(retention.contentDays) || !Number.isSafeInteger(retention.eventDays))
51
+ throw new HubStateError("hub-unsealed", "hub.retention is missing");
52
+ if (typeof directory.bindPasswordRef !== "string")
53
+ throw new HubStateError("hub-unsealed", "hub.directory.bindPasswordRef is missing");
54
+ const webListen = listen(cfg.webListen, "webListen"), memberListen = listen(cfg.memberListen, "memberListen");
55
+ const preview = hubPreviewSettings({ web: cfg.web, webOrigin: cfg.webOrigin, memberOrigin: cfg.memberOrigin, webListen, memberListen });
56
+ return {
57
+ hubId: cfg.hubId,
58
+ name: cfg.name,
59
+ webOrigin: cfg.webOrigin,
60
+ memberOrigin: cfg.memberOrigin,
61
+ memberListen,
62
+ webListen,
63
+ preview,
64
+ webTls: { certificateFile: tls.certificateFile, keyFile: tls.keyFile },
65
+ directory: directory,
66
+ administrator: { realm: admin.realm, objectId: admin.objectId },
67
+ retention: { contentDays: retention.contentDays, eventDays: retention.eventDays },
68
+ };
69
+ }
70
+ /**
71
+ * Ordered cleanup that never pretends: steps run in reverse creation order, each at most once successfully; the first
72
+ * failure stops the run (no dependency is closed under a component whose own close is unconfirmed) and is reported as
73
+ * an unconfirmed shutdown. Running it again retries from the failed step.
74
+ */
75
+ class Teardown {
76
+ steps = [];
77
+ add(name, run) {
78
+ this.steps.push({ name, run, done: false });
79
+ }
80
+ get pending() {
81
+ return this.steps.some((s) => !s.done);
82
+ }
83
+ async run() {
84
+ for (let i = this.steps.length - 1; i >= 0; i -= 1) {
85
+ const step = this.steps[i];
86
+ if (step.done)
87
+ continue;
88
+ try {
89
+ await step.run();
90
+ step.done = true;
91
+ }
92
+ catch (err) {
93
+ throw new HubStateError("service-unavailable", `Hub cleanup of ${step.name} is unconfirmed: ${err.message}`);
94
+ }
95
+ }
96
+ }
97
+ }
98
+ /** Create a private file with random bytes, exclusively (never overwrite). */
99
+ function createKeyFile(home, rel) {
100
+ ensurePrivateDirectory(home, rel.slice(0, rel.lastIndexOf("/")));
101
+ const fd = openSync(`${home}/${rel}`, "wx", 0o600);
102
+ try {
103
+ writeSync(fd, randomBytes(32).toString("base64"));
104
+ }
105
+ finally {
106
+ closeSync(fd);
107
+ }
108
+ }
109
+ function readKeyFile(home, rel) {
110
+ const key = Buffer.from(readPrivateFile(home, rel, 256).trim(), "base64");
111
+ if (key.length !== 32)
112
+ throw new HubStateError("hub-storage", `${rel} is not a 32-byte key`);
113
+ return key;
114
+ }
115
+ export function createHubServerFactory(options) {
116
+ const now = options.now ?? Date.now;
117
+ /** A previous attempt whose cleanup was not confirmed: nothing new is created until it is, and Off/Stop drain it. */
118
+ let unconfirmed = null;
119
+ const createServer = async function createServer(cfg, current) {
120
+ if (unconfirmed) {
121
+ try {
122
+ await unconfirmed.run();
123
+ unconfirmed = null;
124
+ }
125
+ catch (err) {
126
+ options.report("service-unavailable", err.message);
127
+ throw err;
128
+ }
129
+ }
130
+ const teardown = new Teardown();
131
+ const fail = async (err) => {
132
+ try {
133
+ await teardown.run();
134
+ }
135
+ catch (cleanupErr) {
136
+ unconfirmed = teardown; // kept: retried before any replacement is created
137
+ options.report("service-unavailable", cleanupErr.message);
138
+ throw cleanupErr;
139
+ }
140
+ const code = err instanceof HubStateError ? err.code : "service-unavailable";
141
+ options.report(code, err.message);
142
+ throw err;
143
+ };
144
+ try {
145
+ // 0. Every slice present, before any I/O: no partial server.
146
+ if (!options.components.http)
147
+ throw new HubStateError("hub-incomplete", "the Hub web service (S3) is not in this build");
148
+ const httpEntry = await options.components.http();
149
+ const settings = settingsOf(cfg);
150
+ const previewBoot = randomBytes(16).toString("hex");
151
+ // 1. The private state set: new (create all), complete (open), anything else refused.
152
+ const state = inspectStateSet(options.home, SERVER_SET);
153
+ const db = openHubDatabase(options.home, SERVER_SET.database, { create: state === "new" });
154
+ teardown.add("the Hub database", () => db.close());
155
+ const floor = new HubFileVersionFloor(options.home, SERVER_SET.floors[0]);
156
+ if (state === "new") {
157
+ floor.initialize();
158
+ createKeyFile(options.home, SERVER_SET.keys[0]);
159
+ }
160
+ applyHubMigrations(db, [HUB_INSTANCE_MIGRATION, HUB_AUDIT_MIGRATION, HUB_TRANSPORT_MIGRATION, ...httpEntry.migrations,
161
+ retentionMigration(settings.hubId, settings.retention), browserCertificateMigration(settings.hubId), HUB_ATTACHMENTS_MIGRATION]);
162
+ bindHubInstance(db, settings.hubId, state, now());
163
+ // 2. Audit + unit of work + S1's transport store (its audit goes through the bridge, same transaction).
164
+ const contentKey = readKeyFile(options.home, SERVER_SET.keys[0]);
165
+ const audit = createHubAudit({ db, contentKey, now });
166
+ // attachments-v1 files, under the same content key as audit content.
167
+ const attachments = new HubAttachmentStore({ contentKey, now });
168
+ const uow = createHubUnitOfWork(db);
169
+ const store = new HubTransportStore(db, { floor, appendAudit: (record, database) => audit.appendInTransaction(record, database) });
170
+ if (state === "new")
171
+ store.initialize();
172
+ // 3. S2 directory with the service password from the one accepted private file.
173
+ if (!bindSecretPath(options.home, settings.directory.bindPasswordRef))
174
+ throw new HubStateError("hub-directory-secret", "hub.directory.bindPasswordRef is not the private bind file");
175
+ let bindPassword;
176
+ try {
177
+ bindPassword = readPrivateFile(options.home, BIND_SECRET_REL, 4096, { preserveBom: true });
178
+ }
179
+ catch (err) {
180
+ throw new HubStateError("hub-directory-secret", `the directory bind secret is missing or not private: ${err.message}`);
181
+ }
182
+ const { bindPasswordRef: _ref, ...directoryConfig } = settings.directory;
183
+ const directory = options.createDirectory(directoryConfig, { bindPassword });
184
+ teardown.add("the directory client", () => directory.close?.());
185
+ // 4. S1 identity, pairing and the member listener; S3's HTTP entry in between (it supplies receive).
186
+ const identity = readHubIdentity({ home: options.home, memberOrigin: settings.memberOrigin });
187
+ if (identity.hubId !== settings.hubId)
188
+ throw new HubStateError("hub-state-mismatch", "the Hub keys belong to another Hub");
189
+ const issuerKey = createPrivateKey(readPrivateFile(options.home, "hub/keys/issuer-key.pem"));
190
+ let memberServer = null;
191
+ let fenced = false;
192
+ const live = () => !fenced && current();
193
+ const retention = createHubRetentionControl({ db, hubId: settings.hubId, audit, current: live, now });
194
+ const pairing = new HubPairingService({
195
+ store,
196
+ identity: { hubId: identity.hubId, memberOrigin: settings.memberOrigin, webOrigin: settings.webOrigin, spkiSha256: identity.spkiSha256, issuerPublicKey: identity.issuerPublicKey },
197
+ directory,
198
+ enabled: live,
199
+ now,
200
+ fenceFleet: (fleetId, reason) => memberServer?.fenceFleet(fleetId, reason),
201
+ });
202
+ let generation = 0;
203
+ const mode = { serverEnabled: live, memberEnabled: () => false, epoch: () => generation };
204
+ const http = httpEntry.createHubHttp({
205
+ uow,
206
+ audit,
207
+ content: audit.content,
208
+ attachments,
209
+ directory,
210
+ pairing,
211
+ store,
212
+ current: () => mode,
213
+ now,
214
+ preview: hubPreviewView(settings.webOrigin, settings.preview, previewBoot),
215
+ config: Object.freeze({ hubId: settings.hubId, name: settings.name, webOrigin: settings.webOrigin, administrator: Object.freeze({ ...settings.administrator }) }),
216
+ issuer: { keyId: identity.issuerKeyId, sign: (envelope) => signAsker(envelope, issuerKey) },
217
+ transport: () => (live() && memberServer ? memberServer : null),
218
+ });
219
+ teardown.add("the Hub web service (S3)", () => http.close());
220
+ memberServer = new HubServer({
221
+ home: options.home,
222
+ hubId: settings.hubId,
223
+ memberOrigin: settings.memberOrigin,
224
+ listen: settings.memberListen,
225
+ pairing,
226
+ current: live,
227
+ receive: (frame, link) => http.receive(frame, link),
228
+ hold: (fleetId, code) => options.log("warn", "Hub member link held", { fleetId, code }),
229
+ });
230
+ teardown.add("the member listener", () => memberServer?.close());
231
+ // 5. The Hub web listener: every request goes to S3's handler (it serves /hub/v1/*, the Hub-only shell and its
232
+ // assets without fleet cookies); anything it declines is 404. The personal fleet listener is untouched.
233
+ let web = null;
234
+ let preview = null;
235
+ const browserCertificate = createHubBrowserCertificateControl({ db, home: options.home, hubId: settings.hubId, origin: settings.webOrigin,
236
+ initial: settings.webTls, audit, current: live, now, activate: material => {
237
+ if (!web || !live())
238
+ throw Error("unavailable");
239
+ web.setSecureContext({ ...material, minVersion: "TLSv1.2" });
240
+ preview?.setSecureContext({ ...material, minVersion: "TLSv1.2" });
241
+ } });
242
+ teardown.add("browser certificate preparation", () => browserCertificate.close());
243
+ let retentionTimer = null;
244
+ const serveWeb = (req, res) => {
245
+ if (!live()) {
246
+ res.writeHead(503, { "Content-Type": "application/json", "Cache-Control": "no-store" }).end('{"code":"unavailable"}');
247
+ return;
248
+ }
249
+ if (http.handle(req, res))
250
+ return;
251
+ res.writeHead(404, { "Content-Type": "text/plain; charset=utf-8", "Cache-Control": "no-store" }).end("Not found");
252
+ };
253
+ return {
254
+ async start() {
255
+ if (!live())
256
+ throw new HubStateError("service-unavailable", "the Hub was switched off while starting");
257
+ try {
258
+ await memberServer.start();
259
+ if (settings.preview) {
260
+ const server = createHttpsServer({ ...browserCertificate.material(), minVersion: "TLSv1.2" }, createHubPreviewHandler(settings.preview, settings.webOrigin, previewBoot, live));
261
+ preview = server;
262
+ teardown.add("the Hub preview listener", () => {
263
+ server.closeAllConnections?.();
264
+ return new Promise((resolve, reject) => server.close(err => err && err.code !== "ERR_SERVER_NOT_RUNNING" ? reject(err) : resolve()));
265
+ });
266
+ await new Promise((resolve, reject) => {
267
+ server.once("error", reject);
268
+ server.listen(settings.preview.port, settings.preview.host, () => { server.removeListener("error", reject); resolve(); });
269
+ });
270
+ }
271
+ const server = createHttpsServer({ ...browserCertificate.material(), minVersion: "TLSv1.2" }, serveWeb);
272
+ teardown.add("the Hub web listener", () => {
273
+ if (web !== server)
274
+ return;
275
+ server.closeAllConnections?.();
276
+ return new Promise((resolve, reject) => server.close((err) => (err && err.code !== "ERR_SERVER_NOT_RUNNING" ? reject(err) : resolve())));
277
+ });
278
+ web = server;
279
+ await new Promise((resolve, reject) => {
280
+ server.once("error", reject);
281
+ server.listen(settings.webListen.port, settings.webListen.host, () => {
282
+ server.removeListener("error", reject);
283
+ resolve();
284
+ });
285
+ });
286
+ browserCertificate.activate();
287
+ const detachCertificate = options.browserCertificateReady?.(browserCertificate);
288
+ if (detachCertificate)
289
+ teardown.add("the host browser certificate Settings", detachCertificate);
290
+ retentionTimer = setInterval(() => {
291
+ if (!live())
292
+ return;
293
+ try {
294
+ const policy = retention.read();
295
+ audit.purge(policy);
296
+ // Files follow the content policy; expired uploads and unfinished transfers go too.
297
+ db.transaction(() => attachments.purge(db, now() - policy.contentDays * 86_400_000)).immediate();
298
+ }
299
+ catch (err) {
300
+ options.log("warn", "Hub retention could not run", { err: err.message });
301
+ }
302
+ }, options.retentionEveryMs ?? 86_400_000);
303
+ retentionTimer.unref();
304
+ const timer = retentionTimer;
305
+ teardown.add("the retention timer", () => clearInterval(timer));
306
+ const detach = options.retentionReady?.(retention);
307
+ if (detach)
308
+ teardown.add("the host retention Settings", detach);
309
+ }
310
+ catch (err) {
311
+ options.report(err instanceof HubStateError ? err.code : "service-unavailable", err.message);
312
+ throw err;
313
+ }
314
+ },
315
+ fence() {
316
+ fenced = true;
317
+ generation += 1;
318
+ memberServer?.fence();
319
+ },
320
+ async close() {
321
+ fenced = true;
322
+ // Rejects while any step is unconfirmed; S1 keeps ownership and retries this close before any replacement.
323
+ await teardown.run();
324
+ },
325
+ /** Test and diagnostics seams (not part of HubMountedService). */
326
+ webAddress: () => web?.address() ?? null,
327
+ memberAddress: () => memberServer?.address() ?? null,
328
+ previewAddress: () => preview?.address() ?? null,
329
+ audit,
330
+ };
331
+ }
332
+ catch (err) {
333
+ return fail(err);
334
+ }
335
+ };
336
+ /**
337
+ * The factory owns what a failed creation could not clean up (HubMount never received a service for it). The runtime
338
+ * calls drain() when the Hub is switched off and when it stops: it retries that cleanup and rejects while it still
339
+ * fails, so the leftover stays owned and reported instead of being forgotten.
340
+ */
341
+ const drain = async () => {
342
+ if (!unconfirmed)
343
+ return;
344
+ await unconfirmed.run();
345
+ unconfirmed = null;
346
+ };
347
+ return Object.assign(createServer, { drain });
348
+ }
349
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/hub/compose/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Where a member's approved data views come from (S-51 PR 2b). One interface, so the owner-approval flow decided under
3
+ * #3095 §7 Q2 (the leader recommends: the owner picks files or folders in Settings, previews exactly what is included,
4
+ * confirms; snapshotted immutable at approval, re-approved to change) plugs in later without touching composition.
5
+ * Until then the registry is EMPTY: no exposure is publishable or askable (fail closed).
6
+ */
7
+ import type { HubDocumentView } from "../execution/index.js";
8
+ export interface HubViewSource {
9
+ /** The owner-approved, immutable views in force now. Called once per member mount. */
10
+ load(): ReadonlyMap<string, HubDocumentView>;
11
+ }
12
+ export declare const EMPTY_VIEW_SOURCE: HubViewSource;
@@ -0,0 +1,4 @@
1
+ export const EMPTY_VIEW_SOURCE = Object.freeze({
2
+ load: () => new Map(),
3
+ });
4
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../../src/hub/compose/views.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,iBAAiB,GAAkB,MAAM,CAAC,MAAM,CAAC;IAC5D,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAA2B;CAC/C,CAAC,CAAC"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * S5b (S-51; docs/design/hub-composition.md §3–§4): the Hub's private databases. Opening with private modes from the
3
+ * first byte, the per-slice migration registry, the "created together" set check, the Hub-instance binding, and the
4
+ * unit of work (HubUnitOfWork) with `hubTxDatabase` for slices that run their own statements inside it.
5
+ * Nothing here runs on import; only composition calls it, and only while a Hub switch is on.
6
+ */
7
+ import Database from "better-sqlite3";
8
+ import type { HubTx, HubUnitOfWork } from "./types.js";
9
+ /** Composition's closed set of hold reasons (hub-composition.md §2). Each has fleet text (locale "hub.hold.<code>"). */
10
+ export declare const HUB_HOLD_CODES: readonly ["hub-incomplete", "hub-unsealed", "hub-state-newer", "hub-state-mismatch", "hub-storage", "hub-directory-secret", "hub-member-pairing", "hub-provider-unavailable", "service-unavailable"];
11
+ export type HubHoldCode = (typeof HUB_HOLD_CODES)[number];
12
+ export declare class HubStateError extends Error {
13
+ readonly code: HubHoldCode;
14
+ constructor(code: HubHoldCode, message: string);
15
+ }
16
+ /** One slice's schema step. `up` must be idempotent for its own version (CREATE … IF NOT EXISTS). */
17
+ export interface HubMigration {
18
+ readonly component: string;
19
+ readonly version: number;
20
+ up(db: Database.Database): void;
21
+ }
22
+ /**
23
+ * The files composition creates together on one side (§3), relative to the AgEnD home. Prerequisites written earlier
24
+ * (S1's identity keys, the sealed manifest, pairing files) are never part of a set.
25
+ */
26
+ export interface HubStateSet {
27
+ readonly database: string;
28
+ readonly floors: readonly string[];
29
+ readonly keys: readonly string[];
30
+ }
31
+ export type HubSetState = "new" | "complete";
32
+ /** "new" when no member of the set exists, "complete" when all do; anything else is hub-state-mismatch. */
33
+ export declare function inspectStateSet(home: string, set: HubStateSet): HubSetState;
34
+ /**
35
+ * Open (or, with `create`, first create) a private SQLite database at `rel` under `home`. The file is created 0600
36
+ * before SQLite touches it; its directory is a private, owned, non-symlink chain (S1's privatePath). WAL/SHM files are
37
+ * checked to be private after the journal mode is set.
38
+ */
39
+ export declare function openHubDatabase(home: string, rel: string, options: {
40
+ create: boolean;
41
+ }): Database.Database;
42
+ /**
43
+ * Apply every slice's migrations in one immediate transaction. A component stored with a higher version than this
44
+ * build knows, or a component this build does not know at all, means a newer build wrote the database: refuse.
45
+ */
46
+ export declare function applyHubMigrations(db: Database.Database, migrations: readonly HubMigration[]): void;
47
+ /** The database's Hub (or member's Hub) id: written once at creation, compared on every open. */
48
+ export declare const HUB_INSTANCE_MIGRATION: HubMigration;
49
+ export declare function bindHubInstance(db: Database.Database, hubId: string, mode: HubSetState, now: number): void;
50
+ /**
51
+ * The database behind a live transaction, for a slice's own statements (S3's repositories). Throws once the
52
+ * transaction has committed or rolled back, so a leaked handle cannot write outside a transaction.
53
+ */
54
+ export declare function hubTxDatabase(tx: HubTx): Database.Database;
55
+ /** HubUnitOfWork over one database: immediate transactions; nested calls are savepoints; async work is refused. */
56
+ export declare function createHubUnitOfWork(db: Database.Database): HubUnitOfWork;