@omnitron-dev/omnitron 0.3.1 → 0.3.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 (1687) hide show
  1. package/README.md +575 -0
  2. package/data/operations/managed-kernel.mjs +302 -0
  3. package/data/operations/stage-kernel.mjs +125 -0
  4. package/dist/BUILD.json +4 -3
  5. package/dist/cli/exit-after-output.d.ts +3 -0
  6. package/dist/cli/exit-after-output.d.ts.map +1 -0
  7. package/dist/cli/exit-after-output.js +11 -0
  8. package/dist/cli/exit-after-output.js.map +1 -0
  9. package/dist/cli/installed.d.ts +3 -0
  10. package/dist/cli/installed.d.ts.map +1 -0
  11. package/dist/cli/installed.js +17 -0
  12. package/dist/cli/installed.js.map +1 -0
  13. package/dist/cli/omnitron.js +432 -100
  14. package/dist/cli/omnitron.js.map +1 -1
  15. package/dist/cli/output-command.d.ts +13 -0
  16. package/dist/cli/output-command.d.ts.map +1 -0
  17. package/dist/cli/output-command.js +48 -0
  18. package/dist/cli/output-command.js.map +1 -0
  19. package/dist/cluster/cluster.rpc-service.d.ts +9 -77
  20. package/dist/cluster/cluster.rpc-service.d.ts.map +1 -1
  21. package/dist/cluster/cluster.rpc-service.js +20 -107
  22. package/dist/cluster/cluster.rpc-service.js.map +1 -1
  23. package/dist/cluster/enrollment.d.ts +9 -0
  24. package/dist/cluster/enrollment.d.ts.map +1 -0
  25. package/dist/cluster/enrollment.js +49 -0
  26. package/dist/cluster/enrollment.js.map +1 -0
  27. package/dist/cluster/index.d.ts +1 -1
  28. package/dist/cluster/index.d.ts.map +1 -1
  29. package/dist/cluster/leader-election.d.ts +39 -211
  30. package/dist/cluster/leader-election.d.ts.map +1 -1
  31. package/dist/cluster/leader-election.js +235 -512
  32. package/dist/cluster/leader-election.js.map +1 -1
  33. package/dist/cluster/mesh-link.d.ts +18 -51
  34. package/dist/cluster/mesh-link.d.ts.map +1 -1
  35. package/dist/cluster/mesh-link.js +65 -77
  36. package/dist/cluster/mesh-link.js.map +1 -1
  37. package/dist/cluster/mesh.d.ts +3 -1
  38. package/dist/cluster/mesh.d.ts.map +1 -1
  39. package/dist/cluster/mesh.js +76 -60
  40. package/dist/cluster/mesh.js.map +1 -1
  41. package/dist/cluster/slave-connector.d.ts +40 -4
  42. package/dist/cluster/slave-connector.d.ts.map +1 -1
  43. package/dist/cluster/slave-connector.js +348 -195
  44. package/dist/cluster/slave-connector.js.map +1 -1
  45. package/dist/cluster/standalone-infrastructure.d.ts +3 -0
  46. package/dist/cluster/standalone-infrastructure.d.ts.map +1 -0
  47. package/dist/cluster/standalone-infrastructure.js +25 -0
  48. package/dist/cluster/standalone-infrastructure.js.map +1 -0
  49. package/dist/cluster/stop-authority.d.ts +45 -0
  50. package/dist/cluster/stop-authority.d.ts.map +1 -0
  51. package/dist/cluster/stop-authority.js +112 -0
  52. package/dist/cluster/stop-authority.js.map +1 -0
  53. package/dist/commands/access.d.ts +9 -0
  54. package/dist/commands/access.d.ts.map +1 -0
  55. package/dist/commands/access.js +45 -0
  56. package/dist/commands/access.js.map +1 -0
  57. package/dist/commands/audit.d.ts +2 -0
  58. package/dist/commands/audit.d.ts.map +1 -1
  59. package/dist/commands/audit.js +9 -4
  60. package/dist/commands/audit.js.map +1 -1
  61. package/dist/commands/backend.d.ts +17 -0
  62. package/dist/commands/backend.d.ts.map +1 -0
  63. package/dist/commands/backend.js +264 -0
  64. package/dist/commands/backend.js.map +1 -0
  65. package/dist/commands/backup.d.ts +5 -0
  66. package/dist/commands/backup.d.ts.map +1 -1
  67. package/dist/commands/backup.js +17 -2
  68. package/dist/commands/backup.js.map +1 -1
  69. package/dist/commands/cluster.d.ts.map +1 -1
  70. package/dist/commands/cluster.js +33 -42
  71. package/dist/commands/cluster.js.map +1 -1
  72. package/dist/commands/daemon-cmd.d.ts.map +1 -1
  73. package/dist/commands/daemon-cmd.js +14 -3
  74. package/dist/commands/daemon-cmd.js.map +1 -1
  75. package/dist/commands/doctor.d.ts +11 -29
  76. package/dist/commands/doctor.d.ts.map +1 -1
  77. package/dist/commands/doctor.js +47 -45
  78. package/dist/commands/doctor.js.map +1 -1
  79. package/dist/commands/files.d.ts +19 -0
  80. package/dist/commands/files.d.ts.map +1 -0
  81. package/dist/commands/files.js +226 -0
  82. package/dist/commands/files.js.map +1 -0
  83. package/dist/commands/fleet-rollout.d.ts +25 -0
  84. package/dist/commands/fleet-rollout.d.ts.map +1 -0
  85. package/dist/commands/fleet-rollout.js +155 -0
  86. package/dist/commands/fleet-rollout.js.map +1 -0
  87. package/dist/commands/fleet.d.ts.map +1 -1
  88. package/dist/commands/fleet.js +1 -0
  89. package/dist/commands/fleet.js.map +1 -1
  90. package/dist/commands/health-check.d.ts.map +1 -1
  91. package/dist/commands/health-check.js +13 -6
  92. package/dist/commands/health-check.js.map +1 -1
  93. package/dist/commands/infra.d.ts +5 -2
  94. package/dist/commands/infra.d.ts.map +1 -1
  95. package/dist/commands/infra.js +145 -53
  96. package/dist/commands/infra.js.map +1 -1
  97. package/dist/commands/logs.d.ts +6 -23
  98. package/dist/commands/logs.d.ts.map +1 -1
  99. package/dist/commands/logs.js +114 -38
  100. package/dist/commands/logs.js.map +1 -1
  101. package/dist/commands/metrics.d.ts.map +1 -1
  102. package/dist/commands/metrics.js +7 -1
  103. package/dist/commands/metrics.js.map +1 -1
  104. package/dist/commands/migrate.d.ts +8 -0
  105. package/dist/commands/migrate.d.ts.map +1 -0
  106. package/dist/commands/migrate.js +64 -0
  107. package/dist/commands/migrate.js.map +1 -0
  108. package/dist/commands/node-reconcile.d.ts +8 -0
  109. package/dist/commands/node-reconcile.d.ts.map +1 -0
  110. package/dist/commands/node-reconcile.js +49 -0
  111. package/dist/commands/node-reconcile.js.map +1 -0
  112. package/dist/commands/node.d.ts +0 -8
  113. package/dist/commands/node.d.ts.map +1 -1
  114. package/dist/commands/node.js +32 -35
  115. package/dist/commands/node.js.map +1 -1
  116. package/dist/commands/output.d.ts +3 -9
  117. package/dist/commands/output.d.ts.map +1 -1
  118. package/dist/commands/output.js +34 -25
  119. package/dist/commands/output.js.map +1 -1
  120. package/dist/commands/pipeline.d.ts +11 -2
  121. package/dist/commands/pipeline.d.ts.map +1 -1
  122. package/dist/commands/pipeline.js +75 -15
  123. package/dist/commands/pipeline.js.map +1 -1
  124. package/dist/commands/project.d.ts +8 -0
  125. package/dist/commands/project.d.ts.map +1 -1
  126. package/dist/commands/project.js +67 -1
  127. package/dist/commands/project.js.map +1 -1
  128. package/dist/commands/release-store.js +1 -1
  129. package/dist/commands/release-store.js.map +1 -1
  130. package/dist/commands/release.d.ts +5 -12
  131. package/dist/commands/release.d.ts.map +1 -1
  132. package/dist/commands/release.js +141 -33
  133. package/dist/commands/release.js.map +1 -1
  134. package/dist/commands/scale.d.ts +1 -4
  135. package/dist/commands/scale.d.ts.map +1 -1
  136. package/dist/commands/scale.js +39 -19
  137. package/dist/commands/scale.js.map +1 -1
  138. package/dist/commands/secret-input.d.ts +3 -0
  139. package/dist/commands/secret-input.d.ts.map +1 -0
  140. package/dist/commands/secret-input.js +36 -0
  141. package/dist/commands/secret-input.js.map +1 -0
  142. package/dist/commands/secret.d.ts +4 -2
  143. package/dist/commands/secret.d.ts.map +1 -1
  144. package/dist/commands/secret.js +12 -2
  145. package/dist/commands/secret.js.map +1 -1
  146. package/dist/commands/service-resident.d.ts +25 -0
  147. package/dist/commands/service-resident.d.ts.map +1 -0
  148. package/dist/commands/service-resident.js +236 -0
  149. package/dist/commands/service-resident.js.map +1 -0
  150. package/dist/commands/service-units.d.ts +13 -1
  151. package/dist/commands/service-units.d.ts.map +1 -1
  152. package/dist/commands/service-units.js +38 -16
  153. package/dist/commands/service-units.js.map +1 -1
  154. package/dist/commands/service.d.ts +2 -24
  155. package/dist/commands/service.d.ts.map +1 -1
  156. package/dist/commands/service.js +89 -7
  157. package/dist/commands/service.js.map +1 -1
  158. package/dist/commands/stack.d.ts +11 -6
  159. package/dist/commands/stack.d.ts.map +1 -1
  160. package/dist/commands/stack.js +212 -38
  161. package/dist/commands/stack.js.map +1 -1
  162. package/dist/commands/start.d.ts +0 -21
  163. package/dist/commands/start.d.ts.map +1 -1
  164. package/dist/commands/start.js +33 -43
  165. package/dist/commands/start.js.map +1 -1
  166. package/dist/commands/status.d.ts +1 -5
  167. package/dist/commands/status.d.ts.map +1 -1
  168. package/dist/commands/status.js +5 -1
  169. package/dist/commands/status.js.map +1 -1
  170. package/dist/commands/stop.d.ts +0 -22
  171. package/dist/commands/stop.d.ts.map +1 -1
  172. package/dist/commands/stop.js +26 -86
  173. package/dist/commands/stop.js.map +1 -1
  174. package/dist/commands/system.d.ts +4 -0
  175. package/dist/commands/system.d.ts.map +1 -0
  176. package/dist/commands/system.js +41 -0
  177. package/dist/commands/system.js.map +1 -0
  178. package/dist/commands/terminal.d.ts +7 -0
  179. package/dist/commands/terminal.d.ts.map +1 -0
  180. package/dist/commands/terminal.js +184 -0
  181. package/dist/commands/terminal.js.map +1 -0
  182. package/dist/commands/topology.d.ts +3 -0
  183. package/dist/commands/topology.d.ts.map +1 -0
  184. package/dist/commands/topology.js +107 -0
  185. package/dist/commands/topology.js.map +1 -0
  186. package/dist/commands/up.d.ts +4 -54
  187. package/dist/commands/up.d.ts.map +1 -1
  188. package/dist/commands/up.js +41 -98
  189. package/dist/commands/up.js.map +1 -1
  190. package/dist/commands/webapp.d.ts +0 -9
  191. package/dist/commands/webapp.d.ts.map +1 -1
  192. package/dist/commands/webapp.js +116 -69
  193. package/dist/commands/webapp.js.map +1 -1
  194. package/dist/config/app-path.d.ts +4 -0
  195. package/dist/config/app-path.d.ts.map +1 -0
  196. package/dist/config/app-path.js +6 -0
  197. package/dist/config/app-path.js.map +1 -0
  198. package/dist/config/defaults.d.ts.map +1 -1
  199. package/dist/config/defaults.js +9 -3
  200. package/dist/config/defaults.js.map +1 -1
  201. package/dist/config/define-ecosystem.d.ts.map +1 -1
  202. package/dist/config/define-ecosystem.js +12 -0
  203. package/dist/config/define-ecosystem.js.map +1 -1
  204. package/dist/config/index.d.ts +3 -1
  205. package/dist/config/index.d.ts.map +1 -1
  206. package/dist/config/index.js +1 -1
  207. package/dist/config/index.js.map +1 -1
  208. package/dist/config/loader-child.d.ts +2 -0
  209. package/dist/config/loader-child.d.ts.map +1 -0
  210. package/dist/config/loader-child.js +56 -0
  211. package/dist/config/loader-child.js.map +1 -0
  212. package/dist/config/loader.d.ts +7 -2
  213. package/dist/config/loader.d.ts.map +1 -1
  214. package/dist/config/loader.js +14 -27
  215. package/dist/config/loader.js.map +1 -1
  216. package/dist/config/saved.d.ts +67 -0
  217. package/dist/config/saved.d.ts.map +1 -0
  218. package/dist/config/saved.js +81 -0
  219. package/dist/config/saved.js.map +1 -0
  220. package/dist/config/types.d.ts +96 -52
  221. package/dist/config/types.d.ts.map +1 -1
  222. package/dist/daemon/backend-candidate.d.ts +32 -0
  223. package/dist/daemon/backend-candidate.d.ts.map +1 -0
  224. package/dist/daemon/backend-candidate.js +129 -0
  225. package/dist/daemon/backend-candidate.js.map +1 -0
  226. package/dist/daemon/backend-child.d.ts +5 -0
  227. package/dist/daemon/backend-child.d.ts.map +1 -0
  228. package/dist/daemon/backend-child.js +13 -0
  229. package/dist/daemon/backend-child.js.map +1 -0
  230. package/dist/daemon/backend-control.d.ts +43 -0
  231. package/dist/daemon/backend-control.d.ts.map +1 -0
  232. package/dist/daemon/backend-control.js +155 -0
  233. package/dist/daemon/backend-control.js.map +1 -0
  234. package/dist/daemon/backend-crash-recovery.d.ts +4 -0
  235. package/dist/daemon/backend-crash-recovery.d.ts.map +1 -0
  236. package/dist/daemon/backend-crash-recovery.js +136 -0
  237. package/dist/daemon/backend-crash-recovery.js.map +1 -0
  238. package/dist/daemon/backend-handoff-types.d.ts +27 -0
  239. package/dist/daemon/backend-handoff-types.d.ts.map +1 -0
  240. package/dist/daemon/backend-handoff-types.js +33 -0
  241. package/dist/daemon/backend-handoff-types.js.map +1 -0
  242. package/dist/daemon/backend-recovery-journal.d.ts +30 -0
  243. package/dist/daemon/backend-recovery-journal.d.ts.map +1 -0
  244. package/dist/daemon/backend-recovery-journal.js +67 -0
  245. package/dist/daemon/backend-recovery-journal.js.map +1 -0
  246. package/dist/daemon/backend-recovery-monitor.d.ts +35 -0
  247. package/dist/daemon/backend-recovery-monitor.d.ts.map +1 -0
  248. package/dist/daemon/backend-recovery-monitor.js +113 -0
  249. package/dist/daemon/backend-recovery-monitor.js.map +1 -0
  250. package/dist/daemon/backend-supervisor-entry.d.ts +2 -0
  251. package/dist/daemon/backend-supervisor-entry.d.ts.map +1 -0
  252. package/dist/daemon/backend-supervisor-entry.js +3 -0
  253. package/dist/daemon/backend-supervisor-entry.js.map +1 -0
  254. package/dist/daemon/backend-supervisor-main.d.ts +2 -0
  255. package/dist/daemon/backend-supervisor-main.d.ts.map +1 -0
  256. package/dist/daemon/backend-supervisor-main.js +45 -0
  257. package/dist/daemon/backend-supervisor-main.js.map +1 -0
  258. package/dist/daemon/backend-supervisor.d.ts +61 -0
  259. package/dist/daemon/backend-supervisor.d.ts.map +1 -0
  260. package/dist/daemon/backend-supervisor.js +339 -0
  261. package/dist/daemon/backend-supervisor.js.map +1 -0
  262. package/dist/daemon/backend-upgrade.d.ts +41 -0
  263. package/dist/daemon/backend-upgrade.d.ts.map +1 -0
  264. package/dist/daemon/backend-upgrade.js +444 -0
  265. package/dist/daemon/backend-upgrade.js.map +1 -0
  266. package/dist/daemon/backend.rpc-service.d.ts +11 -0
  267. package/dist/daemon/backend.rpc-service.d.ts.map +1 -0
  268. package/dist/daemon/backend.rpc-service.js +44 -0
  269. package/dist/daemon/backend.rpc-service.js.map +1 -0
  270. package/dist/daemon/daemon-client.d.ts +12 -79
  271. package/dist/daemon/daemon-client.d.ts.map +1 -1
  272. package/dist/daemon/daemon-client.js +28 -270
  273. package/dist/daemon/daemon-client.js.map +1 -1
  274. package/dist/daemon/daemon-entry.d.ts +0 -7
  275. package/dist/daemon/daemon-entry.d.ts.map +1 -1
  276. package/dist/daemon/daemon-entry.js +2 -115
  277. package/dist/daemon/daemon-entry.js.map +1 -1
  278. package/dist/daemon/daemon-main.d.ts +9 -0
  279. package/dist/daemon/daemon-main.d.ts.map +1 -0
  280. package/dist/daemon/daemon-main.js +105 -0
  281. package/dist/daemon/daemon-main.js.map +1 -0
  282. package/dist/daemon/daemon-scheduler.d.ts +8 -5
  283. package/dist/daemon/daemon-scheduler.d.ts.map +1 -1
  284. package/dist/daemon/daemon-scheduler.js +45 -73
  285. package/dist/daemon/daemon-scheduler.js.map +1 -1
  286. package/dist/daemon/daemon-state-store.service.d.ts +5 -39
  287. package/dist/daemon/daemon-state-store.service.d.ts.map +1 -1
  288. package/dist/daemon/daemon-state-store.service.js +30 -17
  289. package/dist/daemon/daemon-state-store.service.js.map +1 -1
  290. package/dist/daemon/daemon.d.ts +45 -60
  291. package/dist/daemon/daemon.d.ts.map +1 -1
  292. package/dist/daemon/daemon.js +720 -396
  293. package/dist/daemon/daemon.js.map +1 -1
  294. package/dist/daemon/daemon.module.d.ts +13 -11
  295. package/dist/daemon/daemon.module.d.ts.map +1 -1
  296. package/dist/daemon/daemon.module.js +136 -101
  297. package/dist/daemon/daemon.module.js.map +1 -1
  298. package/dist/daemon/daemon.rpc-service.d.ts +9 -17
  299. package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
  300. package/dist/daemon/daemon.rpc-service.js +83 -22
  301. package/dist/daemon/daemon.rpc-service.js.map +1 -1
  302. package/dist/daemon/darwin-owner-evidence.d.ts +57 -0
  303. package/dist/daemon/darwin-owner-evidence.d.ts.map +1 -0
  304. package/dist/daemon/darwin-owner-evidence.js +131 -0
  305. package/dist/daemon/darwin-owner-evidence.js.map +1 -0
  306. package/dist/daemon/database-startup.d.ts +7 -0
  307. package/dist/daemon/database-startup.d.ts.map +1 -0
  308. package/dist/daemon/database-startup.js +40 -0
  309. package/dist/daemon/database-startup.js.map +1 -0
  310. package/dist/daemon/entry-guard.d.ts +2 -0
  311. package/dist/daemon/entry-guard.d.ts.map +1 -0
  312. package/dist/daemon/entry-guard.js +34 -0
  313. package/dist/daemon/entry-guard.js.map +1 -0
  314. package/dist/daemon/execution-capabilities.d.ts +7 -0
  315. package/dist/daemon/execution-capabilities.d.ts.map +1 -0
  316. package/dist/daemon/execution-capabilities.js +23 -0
  317. package/dist/daemon/execution-capabilities.js.map +1 -0
  318. package/dist/daemon/execution-client.d.ts +88 -0
  319. package/dist/daemon/execution-client.d.ts.map +1 -0
  320. package/dist/daemon/execution-client.js +433 -0
  321. package/dist/daemon/execution-client.js.map +1 -0
  322. package/dist/daemon/execution-config.d.ts +7 -0
  323. package/dist/daemon/execution-config.d.ts.map +1 -0
  324. package/dist/daemon/execution-config.js +61 -0
  325. package/dist/daemon/execution-config.js.map +1 -0
  326. package/dist/daemon/execution-entry.d.ts +2 -0
  327. package/dist/daemon/execution-entry.d.ts.map +1 -0
  328. package/dist/daemon/execution-entry.js +3 -0
  329. package/dist/daemon/execution-entry.js.map +1 -0
  330. package/dist/daemon/execution-host.d.ts +133 -0
  331. package/dist/daemon/execution-host.d.ts.map +1 -0
  332. package/dist/daemon/execution-host.js +308 -0
  333. package/dist/daemon/execution-host.js.map +1 -0
  334. package/dist/daemon/execution-journal.d.ts +17 -0
  335. package/dist/daemon/execution-journal.d.ts.map +1 -0
  336. package/dist/daemon/execution-journal.js +75 -0
  337. package/dist/daemon/execution-journal.js.map +1 -0
  338. package/dist/daemon/execution-launcher.d.ts +12 -0
  339. package/dist/daemon/execution-launcher.d.ts.map +1 -0
  340. package/dist/daemon/execution-launcher.js +110 -0
  341. package/dist/daemon/execution-launcher.js.map +1 -0
  342. package/dist/daemon/execution-main.d.ts +2 -0
  343. package/dist/daemon/execution-main.d.ts.map +1 -0
  344. package/dist/daemon/execution-main.js +48 -0
  345. package/dist/daemon/execution-main.js.map +1 -0
  346. package/dist/daemon/execution-owner.d.ts +16 -0
  347. package/dist/daemon/execution-owner.d.ts.map +1 -0
  348. package/dist/daemon/execution-owner.js +97 -0
  349. package/dist/daemon/execution-owner.js.map +1 -0
  350. package/dist/daemon/execution-platform.d.ts +3 -0
  351. package/dist/daemon/execution-platform.d.ts.map +1 -0
  352. package/dist/daemon/execution-platform.js +23 -0
  353. package/dist/daemon/execution-platform.js.map +1 -0
  354. package/dist/daemon/execution-shutdown.d.ts +13 -0
  355. package/dist/daemon/execution-shutdown.d.ts.map +1 -0
  356. package/dist/daemon/execution-shutdown.js +30 -0
  357. package/dist/daemon/execution-shutdown.js.map +1 -0
  358. package/dist/daemon/managed-entry.d.ts +2 -0
  359. package/dist/daemon/managed-entry.d.ts.map +1 -0
  360. package/dist/daemon/managed-entry.js +3 -0
  361. package/dist/daemon/managed-entry.js.map +1 -0
  362. package/dist/daemon/managed-main.d.ts +2 -0
  363. package/dist/daemon/managed-main.d.ts.map +1 -0
  364. package/dist/daemon/managed-main.js +29 -0
  365. package/dist/daemon/managed-main.js.map +1 -0
  366. package/dist/daemon/managed-owner-build.d.ts +17 -0
  367. package/dist/daemon/managed-owner-build.d.ts.map +1 -0
  368. package/dist/daemon/managed-owner-build.js +108 -0
  369. package/dist/daemon/managed-owner-build.js.map +1 -0
  370. package/dist/daemon/managed-owner-entry.d.ts +2 -0
  371. package/dist/daemon/managed-owner-entry.d.ts.map +1 -0
  372. package/dist/daemon/managed-owner-entry.js +3 -0
  373. package/dist/daemon/managed-owner-entry.js.map +1 -0
  374. package/dist/daemon/managed-owner-main.d.ts +2 -0
  375. package/dist/daemon/managed-owner-main.d.ts.map +1 -0
  376. package/dist/daemon/managed-owner-main.js +53 -0
  377. package/dist/daemon/managed-owner-main.js.map +1 -0
  378. package/dist/daemon/managed-runtime.d.ts +39 -0
  379. package/dist/daemon/managed-runtime.d.ts.map +1 -0
  380. package/dist/daemon/managed-runtime.js +137 -0
  381. package/dist/daemon/managed-runtime.js.map +1 -0
  382. package/dist/daemon/network-publication.d.ts +5 -0
  383. package/dist/daemon/network-publication.d.ts.map +1 -0
  384. package/dist/daemon/network-publication.js +25 -0
  385. package/dist/daemon/network-publication.js.map +1 -0
  386. package/dist/daemon/owner-reconciliation.d.ts +58 -0
  387. package/dist/daemon/owner-reconciliation.d.ts.map +1 -0
  388. package/dist/daemon/owner-reconciliation.js +265 -0
  389. package/dist/daemon/owner-reconciliation.js.map +1 -0
  390. package/dist/daemon/pid-manager.d.ts +2 -0
  391. package/dist/daemon/pid-manager.d.ts.map +1 -1
  392. package/dist/daemon/pid-manager.js +5 -0
  393. package/dist/daemon/pid-manager.js.map +1 -1
  394. package/dist/daemon/private-control-client.d.ts +8 -0
  395. package/dist/daemon/private-control-client.d.ts.map +1 -0
  396. package/dist/daemon/private-control-client.js +41 -0
  397. package/dist/daemon/private-control-client.js.map +1 -0
  398. package/dist/daemon/recovery-state.d.ts +20 -0
  399. package/dist/daemon/recovery-state.d.ts.map +1 -0
  400. package/dist/daemon/recovery-state.js +53 -0
  401. package/dist/daemon/recovery-state.js.map +1 -0
  402. package/dist/daemon/rpc-connection.d.ts +29 -0
  403. package/dist/daemon/rpc-connection.d.ts.map +1 -0
  404. package/dist/daemon/rpc-connection.js +137 -0
  405. package/dist/daemon/rpc-connection.js.map +1 -0
  406. package/dist/daemon/runtime-installation.d.ts +58 -0
  407. package/dist/daemon/runtime-installation.d.ts.map +1 -0
  408. package/dist/daemon/runtime-installation.js +346 -0
  409. package/dist/daemon/runtime-installation.js.map +1 -0
  410. package/dist/daemon/runtime-launcher.d.ts +6 -0
  411. package/dist/daemon/runtime-launcher.d.ts.map +1 -0
  412. package/dist/daemon/runtime-launcher.js +45 -0
  413. package/dist/daemon/runtime-launcher.js.map +1 -0
  414. package/dist/daemon/schema-transition.d.ts +43 -0
  415. package/dist/daemon/schema-transition.d.ts.map +1 -0
  416. package/dist/daemon/schema-transition.js +239 -0
  417. package/dist/daemon/schema-transition.js.map +1 -0
  418. package/dist/daemon/spawn-daemon.d.ts +2 -0
  419. package/dist/daemon/spawn-daemon.d.ts.map +1 -1
  420. package/dist/daemon/spawn-daemon.js +4 -0
  421. package/dist/daemon/spawn-daemon.js.map +1 -1
  422. package/dist/daemon/startup-config.d.ts +77 -0
  423. package/dist/daemon/startup-config.d.ts.map +1 -0
  424. package/dist/daemon/startup-config.js +31 -0
  425. package/dist/daemon/startup-config.js.map +1 -0
  426. package/dist/daemon/startup-failure-journal.d.ts +3 -0
  427. package/dist/daemon/startup-failure-journal.d.ts.map +1 -0
  428. package/dist/daemon/startup-failure-journal.js +29 -0
  429. package/dist/daemon/startup-failure-journal.js.map +1 -0
  430. package/dist/daemon/state-store.d.ts +16 -24
  431. package/dist/daemon/state-store.d.ts.map +1 -1
  432. package/dist/daemon/state-store.js +51 -9
  433. package/dist/daemon/state-store.js.map +1 -1
  434. package/dist/daemon/supervisor-transition.d.ts +101 -0
  435. package/dist/daemon/supervisor-transition.d.ts.map +1 -0
  436. package/dist/daemon/supervisor-transition.js +503 -0
  437. package/dist/daemon/supervisor-transition.js.map +1 -0
  438. package/dist/daemon/system-guardian-cgroup.d.ts +16 -0
  439. package/dist/daemon/system-guardian-cgroup.d.ts.map +1 -0
  440. package/dist/daemon/system-guardian-cgroup.js +202 -0
  441. package/dist/daemon/system-guardian-cgroup.js.map +1 -0
  442. package/dist/daemon/system-guardian-unit.d.ts +9 -0
  443. package/dist/daemon/system-guardian-unit.d.ts.map +1 -0
  444. package/dist/daemon/system-guardian-unit.js +41 -0
  445. package/dist/daemon/system-guardian-unit.js.map +1 -0
  446. package/dist/database/connection.d.ts.map +1 -1
  447. package/dist/database/connection.js +2 -6
  448. package/dist/database/connection.js.map +1 -1
  449. package/dist/database/log-durability.d.ts +5 -0
  450. package/dist/database/log-durability.d.ts.map +1 -0
  451. package/dist/database/log-durability.js +28 -0
  452. package/dist/database/log-durability.js.map +1 -0
  453. package/dist/database/migrate.js +2 -15
  454. package/dist/database/migrate.js.map +1 -1
  455. package/dist/database/migration-registry-compatibility.d.ts +13 -0
  456. package/dist/database/migration-registry-compatibility.d.ts.map +1 -0
  457. package/dist/database/migration-registry-compatibility.js +108 -0
  458. package/dist/database/migration-registry-compatibility.js.map +1 -0
  459. package/dist/database/migration-runner.d.ts +8 -42
  460. package/dist/database/migration-runner.d.ts.map +1 -1
  461. package/dist/database/migration-runner.js +114 -123
  462. package/dist/database/migration-runner.js.map +1 -1
  463. package/dist/database/migrations/014_replication_receipts.d.ts +5 -0
  464. package/dist/database/migrations/014_replication_receipts.d.ts.map +1 -0
  465. package/dist/database/migrations/014_replication_receipts.js +6 -0
  466. package/dist/database/migrations/014_replication_receipts.js.map +1 -0
  467. package/dist/database/migrations/015_persistent_metrics.d.ts +5 -0
  468. package/dist/database/migrations/015_persistent_metrics.d.ts.map +1 -0
  469. package/dist/database/migrations/015_persistent_metrics.js +7 -0
  470. package/dist/database/migrations/015_persistent_metrics.js.map +1 -0
  471. package/dist/database/migrations/016_cluster_lease.d.ts +4 -0
  472. package/dist/database/migrations/016_cluster_lease.d.ts.map +1 -0
  473. package/dist/database/migrations/016_cluster_lease.js +6 -0
  474. package/dist/database/migrations/016_cluster_lease.js.map +1 -0
  475. package/dist/database/migrations/index.d.ts +1 -1
  476. package/dist/database/migrations/index.d.ts.map +1 -1
  477. package/dist/database/migrations/index.js +22 -13
  478. package/dist/database/migrations/index.js.map +1 -1
  479. package/dist/database/schema-compatibility.d.ts +34 -0
  480. package/dist/database/schema-compatibility.d.ts.map +1 -0
  481. package/dist/database/schema-compatibility.js +109 -0
  482. package/dist/database/schema-compatibility.js.map +1 -0
  483. package/dist/database/schema-expansion-policy.d.ts +10 -0
  484. package/dist/database/schema-expansion-policy.d.ts.map +1 -0
  485. package/dist/database/schema-expansion-policy.js +21 -0
  486. package/dist/database/schema-expansion-policy.js.map +1 -0
  487. package/dist/database/schema-transition-plan.d.ts +53 -0
  488. package/dist/database/schema-transition-plan.d.ts.map +1 -0
  489. package/dist/database/schema-transition-plan.js +102 -0
  490. package/dist/database/schema-transition-plan.js.map +1 -0
  491. package/dist/database/schema-worker.d.ts +2 -0
  492. package/dist/database/schema-worker.d.ts.map +1 -0
  493. package/dist/database/schema-worker.js +55 -0
  494. package/dist/database/schema-worker.js.map +1 -0
  495. package/dist/database/schema.d.ts +6 -1
  496. package/dist/database/schema.d.ts.map +1 -1
  497. package/dist/database/slave-migrations/001_replication_evidence.d.ts +4 -0
  498. package/dist/database/slave-migrations/001_replication_evidence.d.ts.map +1 -0
  499. package/dist/database/slave-migrations/001_replication_evidence.js +89 -0
  500. package/dist/database/slave-migrations/001_replication_evidence.js.map +1 -0
  501. package/dist/database/slave-migrations/index.d.ts +6 -0
  502. package/dist/database/slave-migrations/index.d.ts.map +1 -0
  503. package/dist/database/slave-migrations/index.js +10 -0
  504. package/dist/database/slave-migrations/index.js.map +1 -0
  505. package/dist/diagnostics/index.d.ts +16 -0
  506. package/dist/diagnostics/index.d.ts.map +1 -0
  507. package/dist/diagnostics/index.js +22 -0
  508. package/dist/diagnostics/index.js.map +1 -0
  509. package/dist/execution/command-failure.d.ts +7 -0
  510. package/dist/execution/command-failure.d.ts.map +1 -0
  511. package/dist/execution/command-failure.js +29 -0
  512. package/dist/execution/command-failure.js.map +1 -0
  513. package/dist/execution/execution.service.d.ts +6 -1
  514. package/dist/execution/execution.service.d.ts.map +1 -1
  515. package/dist/execution/execution.service.js +32 -30
  516. package/dist/execution/execution.service.js.map +1 -1
  517. package/dist/files/archive-codec.d.ts +57 -0
  518. package/dist/files/archive-codec.d.ts.map +1 -0
  519. package/dist/files/archive-codec.js +454 -0
  520. package/dist/files/archive-codec.js.map +1 -0
  521. package/dist/files/archive-node.d.ts +27 -0
  522. package/dist/files/archive-node.d.ts.map +1 -0
  523. package/dist/files/archive-node.js +379 -0
  524. package/dist/files/archive-node.js.map +1 -0
  525. package/dist/files/archive-publication.d.ts +26 -0
  526. package/dist/files/archive-publication.d.ts.map +1 -0
  527. package/dist/files/archive-publication.js +224 -0
  528. package/dist/files/archive-publication.js.map +1 -0
  529. package/dist/files/file-config.d.ts +7 -0
  530. package/dist/files/file-config.d.ts.map +1 -0
  531. package/dist/files/file-config.js +11 -0
  532. package/dist/files/file-config.js.map +1 -0
  533. package/dist/files/file-node.d.ts +65 -0
  534. package/dist/files/file-node.d.ts.map +1 -0
  535. package/dist/files/file-node.js +863 -0
  536. package/dist/files/file-node.js.map +1 -0
  537. package/dist/files/file-node.rpc-service.d.ts +12 -0
  538. package/dist/files/file-node.rpc-service.d.ts.map +1 -0
  539. package/dist/files/file-node.rpc-service.js +42 -0
  540. package/dist/files/file-node.rpc-service.js.map +1 -0
  541. package/dist/files/files.rpc-service.d.ts +107 -0
  542. package/dist/files/files.rpc-service.d.ts.map +1 -0
  543. package/dist/files/files.rpc-service.js +769 -0
  544. package/dist/files/files.rpc-service.js.map +1 -0
  545. package/dist/files/structural-policy.d.ts +3 -0
  546. package/dist/files/structural-policy.d.ts.map +1 -0
  547. package/dist/files/structural-policy.js +27 -0
  548. package/dist/files/structural-policy.js.map +1 -0
  549. package/dist/health/contracts.d.ts +30 -0
  550. package/dist/health/contracts.d.ts.map +1 -0
  551. package/dist/health/contracts.js +58 -0
  552. package/dist/health/contracts.js.map +1 -0
  553. package/dist/health/heartbeat.d.ts +11 -0
  554. package/dist/health/heartbeat.d.ts.map +1 -0
  555. package/dist/health/heartbeat.js +32 -0
  556. package/dist/health/heartbeat.js.map +1 -0
  557. package/dist/health/index.d.ts +4 -0
  558. package/dist/health/index.d.ts.map +1 -0
  559. package/dist/health/index.js +2 -0
  560. package/dist/health/index.js.map +1 -0
  561. package/dist/health/readiness.d.ts +15 -0
  562. package/dist/health/readiness.d.ts.map +1 -0
  563. package/dist/health/readiness.js +170 -0
  564. package/dist/health/readiness.js.map +1 -0
  565. package/dist/index.d.ts +1 -0
  566. package/dist/index.d.ts.map +1 -1
  567. package/dist/infrastructure/apt-packages.d.ts +34 -0
  568. package/dist/infrastructure/apt-packages.d.ts.map +1 -0
  569. package/dist/infrastructure/apt-packages.js +232 -0
  570. package/dist/infrastructure/apt-packages.js.map +1 -0
  571. package/dist/infrastructure/bare-metal-plan.d.ts +10 -1
  572. package/dist/infrastructure/bare-metal-plan.d.ts.map +1 -1
  573. package/dist/infrastructure/bare-metal-plan.js +21 -0
  574. package/dist/infrastructure/bare-metal-plan.js.map +1 -1
  575. package/dist/infrastructure/bare-metal-runner.d.ts.map +1 -1
  576. package/dist/infrastructure/bare-metal-runner.js +13 -2
  577. package/dist/infrastructure/bare-metal-runner.js.map +1 -1
  578. package/dist/infrastructure/config-normalizer.d.ts +4 -3
  579. package/dist/infrastructure/config-normalizer.d.ts.map +1 -1
  580. package/dist/infrastructure/config-normalizer.js +11 -3
  581. package/dist/infrastructure/config-normalizer.js.map +1 -1
  582. package/dist/infrastructure/container-runtime.d.ts +37 -3
  583. package/dist/infrastructure/container-runtime.d.ts.map +1 -1
  584. package/dist/infrastructure/container-runtime.js +235 -64
  585. package/dist/infrastructure/container-runtime.js.map +1 -1
  586. package/dist/infrastructure/health-recovery.d.ts +19 -0
  587. package/dist/infrastructure/health-recovery.d.ts.map +1 -0
  588. package/dist/infrastructure/health-recovery.js +39 -0
  589. package/dist/infrastructure/health-recovery.js.map +1 -0
  590. package/dist/infrastructure/host-ingress-config.d.ts.map +1 -1
  591. package/dist/infrastructure/host-ingress-config.js +11 -8
  592. package/dist/infrastructure/host-ingress-config.js.map +1 -1
  593. package/dist/infrastructure/host-ingress-lock.d.ts +2 -3
  594. package/dist/infrastructure/host-ingress-lock.d.ts.map +1 -1
  595. package/dist/infrastructure/host-ingress-lock.js +1 -35
  596. package/dist/infrastructure/host-ingress-lock.js.map +1 -1
  597. package/dist/infrastructure/host-ingress-takeover.js +3 -3
  598. package/dist/infrastructure/host-ingress-takeover.js.map +1 -1
  599. package/dist/infrastructure/host-ingress-types.d.ts +4 -2
  600. package/dist/infrastructure/host-ingress-types.d.ts.map +1 -1
  601. package/dist/infrastructure/host-ingress.service.d.ts.map +1 -1
  602. package/dist/infrastructure/host-ingress.service.js +6 -6
  603. package/dist/infrastructure/host-ingress.service.js.map +1 -1
  604. package/dist/infrastructure/host-inspection.d.ts +1 -0
  605. package/dist/infrastructure/host-inspection.d.ts.map +1 -1
  606. package/dist/infrastructure/host-inspection.js +3 -2
  607. package/dist/infrastructure/host-inspection.js.map +1 -1
  608. package/dist/infrastructure/infrastructure.service.d.ts +80 -29
  609. package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
  610. package/dist/infrastructure/infrastructure.service.js +561 -216
  611. package/dist/infrastructure/infrastructure.service.js.map +1 -1
  612. package/dist/infrastructure/merge-config.d.ts +10 -0
  613. package/dist/infrastructure/merge-config.d.ts.map +1 -0
  614. package/dist/infrastructure/merge-config.js +27 -0
  615. package/dist/infrastructure/merge-config.js.map +1 -0
  616. package/dist/infrastructure/orphan-containers.d.ts +1 -0
  617. package/dist/infrastructure/orphan-containers.d.ts.map +1 -1
  618. package/dist/infrastructure/orphan-containers.js +1 -1
  619. package/dist/infrastructure/orphan-containers.js.map +1 -1
  620. package/dist/infrastructure/owned-container.d.ts +4 -0
  621. package/dist/infrastructure/owned-container.d.ts.map +1 -0
  622. package/dist/infrastructure/owned-container.js +13 -0
  623. package/dist/infrastructure/owned-container.js.map +1 -0
  624. package/dist/infrastructure/phantom-endpoint-janitor.d.ts +4 -1
  625. package/dist/infrastructure/phantom-endpoint-janitor.d.ts.map +1 -1
  626. package/dist/infrastructure/phantom-endpoint-janitor.js +11 -2
  627. package/dist/infrastructure/phantom-endpoint-janitor.js.map +1 -1
  628. package/dist/infrastructure/presets/minio.d.ts.map +1 -1
  629. package/dist/infrastructure/presets/minio.js +15 -25
  630. package/dist/infrastructure/presets/minio.js.map +1 -1
  631. package/dist/infrastructure/presets/postgres.d.ts.map +1 -1
  632. package/dist/infrastructure/presets/postgres.js +35 -31
  633. package/dist/infrastructure/presets/postgres.js.map +1 -1
  634. package/dist/infrastructure/presets/tor.d.ts +1 -2
  635. package/dist/infrastructure/presets/tor.d.ts.map +1 -1
  636. package/dist/infrastructure/presets/tor.js +7 -13
  637. package/dist/infrastructure/presets/tor.js.map +1 -1
  638. package/dist/infrastructure/provisioning-outcome.d.ts +7 -0
  639. package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -1
  640. package/dist/infrastructure/provisioning-outcome.js +41 -8
  641. package/dist/infrastructure/provisioning-outcome.js.map +1 -1
  642. package/dist/infrastructure/service-resolver.d.ts +1 -1
  643. package/dist/infrastructure/service-resolver.d.ts.map +1 -1
  644. package/dist/infrastructure/service-resolver.js +22 -10
  645. package/dist/infrastructure/service-resolver.js.map +1 -1
  646. package/dist/infrastructure/stack-infra-manager.d.ts +25 -4
  647. package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
  648. package/dist/infrastructure/stack-infra-manager.js +181 -21
  649. package/dist/infrastructure/stack-infra-manager.js.map +1 -1
  650. package/dist/infrastructure/types.d.ts +60 -3
  651. package/dist/infrastructure/types.d.ts.map +1 -1
  652. package/dist/mcp/mcp-bridge.js +1 -1
  653. package/dist/mcp/mcp-bridge.js.map +1 -1
  654. package/dist/mcp/monitoring-reading.d.ts +18 -0
  655. package/dist/mcp/monitoring-reading.d.ts.map +1 -0
  656. package/dist/mcp/monitoring-reading.js +84 -0
  657. package/dist/mcp/monitoring-reading.js.map +1 -0
  658. package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -1
  659. package/dist/mcp/tool-groups/apps.tools.js +6 -4
  660. package/dist/mcp/tool-groups/apps.tools.js.map +1 -1
  661. package/dist/mcp/tool-groups/management.tools.d.ts +2 -0
  662. package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -1
  663. package/dist/mcp/tool-groups/management.tools.js +17 -38
  664. package/dist/mcp/tool-groups/management.tools.js.map +1 -1
  665. package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -1
  666. package/dist/mcp/tool-groups/monitoring.tools.js +45 -2
  667. package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -1
  668. package/dist/mcp/unavailable-tools.js +2 -2
  669. package/dist/mcp/unavailable-tools.js.map +1 -1
  670. package/dist/migration/configuration.d.ts +8 -0
  671. package/dist/migration/configuration.d.ts.map +1 -0
  672. package/dist/migration/configuration.js +16 -0
  673. package/dist/migration/configuration.js.map +1 -0
  674. package/dist/migration/index.d.ts +25 -0
  675. package/dist/migration/index.d.ts.map +1 -0
  676. package/dist/migration/index.js +27 -0
  677. package/dist/migration/index.js.map +1 -0
  678. package/dist/migration/operation.d.ts +31 -0
  679. package/dist/migration/operation.d.ts.map +1 -0
  680. package/dist/migration/operation.js +67 -0
  681. package/dist/migration/operation.js.map +1 -0
  682. package/dist/migration/workspace.d.ts +28 -0
  683. package/dist/migration/workspace.d.ts.map +1 -0
  684. package/dist/migration/workspace.js +91 -0
  685. package/dist/migration/workspace.js.map +1 -0
  686. package/dist/monitoring/app-health.indicator.d.ts +1 -1
  687. package/dist/monitoring/app-health.indicator.d.ts.map +1 -1
  688. package/dist/monitoring/docker-health.indicator.d.ts +4 -2
  689. package/dist/monitoring/docker-health.indicator.d.ts.map +1 -1
  690. package/dist/monitoring/docker-health.indicator.js +66 -5
  691. package/dist/monitoring/docker-health.indicator.js.map +1 -1
  692. package/dist/monitoring/event-loop-watch.d.ts.map +1 -1
  693. package/dist/monitoring/event-loop-watch.js.map +1 -1
  694. package/dist/monitoring/infrastructure-health.d.ts +15 -0
  695. package/dist/monitoring/infrastructure-health.d.ts.map +1 -0
  696. package/dist/monitoring/infrastructure-health.js +2 -0
  697. package/dist/monitoring/infrastructure-health.js.map +1 -0
  698. package/dist/monitoring/log-entry.d.ts +7 -0
  699. package/dist/monitoring/log-entry.d.ts.map +1 -0
  700. package/dist/monitoring/log-entry.js +16 -0
  701. package/dist/monitoring/log-entry.js.map +1 -0
  702. package/dist/monitoring/log-journal.d.ts +40 -0
  703. package/dist/monitoring/log-journal.d.ts.map +1 -0
  704. package/dist/monitoring/log-journal.js +158 -0
  705. package/dist/monitoring/log-journal.js.map +1 -0
  706. package/dist/monitoring/log-line.d.ts +19 -14
  707. package/dist/monitoring/log-line.d.ts.map +1 -1
  708. package/dist/monitoring/log-line.js +70 -59
  709. package/dist/monitoring/log-line.js.map +1 -1
  710. package/dist/monitoring/log-manager.d.ts +34 -37
  711. package/dist/monitoring/log-manager.d.ts.map +1 -1
  712. package/dist/monitoring/log-manager.js +164 -63
  713. package/dist/monitoring/log-manager.js.map +1 -1
  714. package/dist/monitoring/log-sink-health.indicator.d.ts +10 -0
  715. package/dist/monitoring/log-sink-health.indicator.d.ts.map +1 -0
  716. package/dist/monitoring/log-sink-health.indicator.js +21 -0
  717. package/dist/monitoring/log-sink-health.indicator.js.map +1 -0
  718. package/dist/monitoring/metrics-storage.indicator.d.ts +9 -0
  719. package/dist/monitoring/metrics-storage.indicator.d.ts.map +1 -0
  720. package/dist/monitoring/metrics-storage.indicator.js +18 -0
  721. package/dist/monitoring/metrics-storage.indicator.js.map +1 -0
  722. package/dist/monitoring/process-lifetime.d.ts +11 -0
  723. package/dist/monitoring/process-lifetime.d.ts.map +1 -0
  724. package/dist/monitoring/process-lifetime.js +45 -0
  725. package/dist/monitoring/process-lifetime.js.map +1 -0
  726. package/dist/monitoring/runtime-diagnostics.d.ts +47 -0
  727. package/dist/monitoring/runtime-diagnostics.d.ts.map +1 -0
  728. package/dist/monitoring/runtime-diagnostics.js +88 -0
  729. package/dist/monitoring/runtime-diagnostics.js.map +1 -0
  730. package/dist/observability/metrics-bridge.d.ts +5 -1
  731. package/dist/observability/metrics-bridge.d.ts.map +1 -1
  732. package/dist/observability/metrics-bridge.js +11 -0
  733. package/dist/observability/metrics-bridge.js.map +1 -1
  734. package/dist/operations.d.ts +1 -0
  735. package/dist/operations.d.ts.map +1 -1
  736. package/dist/operations.js.map +1 -1
  737. package/dist/orchestrator/app-handle.d.ts +24 -6
  738. package/dist/orchestrator/app-handle.d.ts.map +1 -1
  739. package/dist/orchestrator/app-handle.js +39 -8
  740. package/dist/orchestrator/app-handle.js.map +1 -1
  741. package/dist/orchestrator/application-runtime-child.d.ts +2 -0
  742. package/dist/orchestrator/application-runtime-child.d.ts.map +1 -0
  743. package/dist/orchestrator/application-runtime-child.js +15 -0
  744. package/dist/orchestrator/application-runtime-child.js.map +1 -0
  745. package/dist/orchestrator/application-runtime-resolution.d.ts +4 -0
  746. package/dist/orchestrator/application-runtime-resolution.d.ts.map +1 -0
  747. package/dist/orchestrator/application-runtime-resolution.js +62 -0
  748. package/dist/orchestrator/application-runtime-resolution.js.map +1 -0
  749. package/dist/orchestrator/application-runtime.d.ts +3 -0
  750. package/dist/orchestrator/application-runtime.d.ts.map +1 -0
  751. package/dist/orchestrator/application-runtime.js +20 -0
  752. package/dist/orchestrator/application-runtime.js.map +1 -0
  753. package/dist/orchestrator/application-topology.d.ts +20 -0
  754. package/dist/orchestrator/application-topology.d.ts.map +1 -0
  755. package/dist/orchestrator/application-topology.js +90 -0
  756. package/dist/orchestrator/application-topology.js.map +1 -0
  757. package/dist/orchestrator/bootstrap-loader-child.d.ts +1 -1
  758. package/dist/orchestrator/bootstrap-loader-child.js +7 -16
  759. package/dist/orchestrator/bootstrap-loader-child.js.map +1 -1
  760. package/dist/orchestrator/bootstrap-loader.d.ts +8 -18
  761. package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
  762. package/dist/orchestrator/bootstrap-loader.js +21 -204
  763. package/dist/orchestrator/bootstrap-loader.js.map +1 -1
  764. package/dist/orchestrator/bootstrap-process.d.ts +5 -5
  765. package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
  766. package/dist/orchestrator/bootstrap-process.js +37 -38
  767. package/dist/orchestrator/bootstrap-process.js.map +1 -1
  768. package/dist/orchestrator/build-service.d.ts +3 -3
  769. package/dist/orchestrator/build-service.d.ts.map +1 -1
  770. package/dist/orchestrator/build-service.js +29 -80
  771. package/dist/orchestrator/build-service.js.map +1 -1
  772. package/dist/orchestrator/call-exposed-service.d.ts +8 -0
  773. package/dist/orchestrator/call-exposed-service.d.ts.map +1 -1
  774. package/dist/orchestrator/classic-launcher.d.ts +3 -2
  775. package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
  776. package/dist/orchestrator/classic-launcher.js +26 -22
  777. package/dist/orchestrator/classic-launcher.js.map +1 -1
  778. package/dist/orchestrator/dependency-resolver.d.ts.map +1 -1
  779. package/dist/orchestrator/dependency-resolver.js +7 -38
  780. package/dist/orchestrator/dependency-resolver.js.map +1 -1
  781. package/dist/orchestrator/execution-contract.d.ts +67 -0
  782. package/dist/orchestrator/execution-contract.d.ts.map +1 -0
  783. package/dist/orchestrator/execution-contract.js +2 -0
  784. package/dist/orchestrator/execution-contract.js.map +1 -0
  785. package/dist/orchestrator/file-watcher.d.ts +1 -1
  786. package/dist/orchestrator/file-watcher.d.ts.map +1 -1
  787. package/dist/orchestrator/file-watcher.js +10 -3
  788. package/dist/orchestrator/file-watcher.js.map +1 -1
  789. package/dist/orchestrator/installed-execution.d.ts +7 -0
  790. package/dist/orchestrator/installed-execution.d.ts.map +1 -0
  791. package/dist/orchestrator/installed-execution.js +25 -0
  792. package/dist/orchestrator/installed-execution.js.map +1 -0
  793. package/dist/orchestrator/module-worker-process.d.ts.map +1 -1
  794. package/dist/orchestrator/module-worker-process.js +2 -1
  795. package/dist/orchestrator/module-worker-process.js.map +1 -1
  796. package/dist/orchestrator/orchestrator.service.d.ts +87 -76
  797. package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
  798. package/dist/orchestrator/orchestrator.service.js +941 -469
  799. package/dist/orchestrator/orchestrator.service.js.map +1 -1
  800. package/dist/orchestrator/process-janitor.d.ts +3 -0
  801. package/dist/orchestrator/process-janitor.d.ts.map +1 -1
  802. package/dist/orchestrator/process-janitor.js +5 -1
  803. package/dist/orchestrator/process-janitor.js.map +1 -1
  804. package/dist/orchestrator/runtime-package-resolution.d.ts +8 -0
  805. package/dist/orchestrator/runtime-package-resolution.d.ts.map +1 -0
  806. package/dist/orchestrator/runtime-package-resolution.js +56 -0
  807. package/dist/orchestrator/runtime-package-resolution.js.map +1 -0
  808. package/dist/orchestrator/service-router.d.ts +4 -108
  809. package/dist/orchestrator/service-router.d.ts.map +1 -1
  810. package/dist/orchestrator/service-router.js +51 -237
  811. package/dist/orchestrator/service-router.js.map +1 -1
  812. package/dist/orchestrator/ts-compiler.d.ts.map +1 -1
  813. package/dist/orchestrator/ts-compiler.js +9 -17
  814. package/dist/orchestrator/ts-compiler.js.map +1 -1
  815. package/dist/project/artifact-builder.d.ts +17 -7
  816. package/dist/project/artifact-builder.d.ts.map +1 -1
  817. package/dist/project/artifact-builder.js +89 -56
  818. package/dist/project/artifact-builder.js.map +1 -1
  819. package/dist/project/bootstrap-metadata.d.ts +42 -0
  820. package/dist/project/bootstrap-metadata.d.ts.map +1 -0
  821. package/dist/project/bootstrap-metadata.js +76 -0
  822. package/dist/project/bootstrap-metadata.js.map +1 -0
  823. package/dist/project/config-resolver.js +3 -3
  824. package/dist/project/config-resolver.js.map +1 -1
  825. package/dist/project/configuration-catalog.d.ts +8 -0
  826. package/dist/project/configuration-catalog.d.ts.map +1 -0
  827. package/dist/project/configuration-catalog.js +29 -0
  828. package/dist/project/configuration-catalog.js.map +1 -0
  829. package/dist/project/declared-config.d.ts +2 -0
  830. package/dist/project/declared-config.d.ts.map +1 -1
  831. package/dist/project/declared-config.js +8 -5
  832. package/dist/project/declared-config.js.map +1 -1
  833. package/dist/project/dependency-topology.d.ts +10 -0
  834. package/dist/project/dependency-topology.d.ts.map +1 -0
  835. package/dist/project/dependency-topology.js +55 -0
  836. package/dist/project/dependency-topology.js.map +1 -0
  837. package/dist/project/infrastructure-ownership.d.ts +5 -0
  838. package/dist/project/infrastructure-ownership.d.ts.map +1 -0
  839. package/dist/project/infrastructure-ownership.js +26 -0
  840. package/dist/project/infrastructure-ownership.js.map +1 -0
  841. package/dist/project/installed-stack-resume.d.ts +62 -0
  842. package/dist/project/installed-stack-resume.d.ts.map +1 -0
  843. package/dist/project/installed-stack-resume.js +261 -0
  844. package/dist/project/installed-stack-resume.js.map +1 -0
  845. package/dist/project/launch-failure.d.ts +3 -0
  846. package/dist/project/launch-failure.d.ts.map +1 -0
  847. package/dist/project/launch-failure.js +32 -0
  848. package/dist/project/launch-failure.js.map +1 -0
  849. package/dist/project/local-release-selection.d.ts +18 -0
  850. package/dist/project/local-release-selection.d.ts.map +1 -0
  851. package/dist/project/local-release-selection.js +36 -0
  852. package/dist/project/local-release-selection.js.map +1 -0
  853. package/dist/project/node-app-config.d.ts +8 -1
  854. package/dist/project/node-app-config.d.ts.map +1 -1
  855. package/dist/project/node-app-config.js +20 -28
  856. package/dist/project/node-app-config.js.map +1 -1
  857. package/dist/project/node-stack-stop.d.ts +83 -0
  858. package/dist/project/node-stack-stop.d.ts.map +1 -0
  859. package/dist/project/node-stack-stop.js +219 -0
  860. package/dist/project/node-stack-stop.js.map +1 -0
  861. package/dist/project/public-stack.d.ts +4 -0
  862. package/dist/project/public-stack.d.ts.map +1 -0
  863. package/dist/project/public-stack.js +29 -0
  864. package/dist/project/public-stack.js.map +1 -0
  865. package/dist/project/registry.d.ts +18 -27
  866. package/dist/project/registry.d.ts.map +1 -1
  867. package/dist/project/registry.js +244 -55
  868. package/dist/project/registry.js.map +1 -1
  869. package/dist/project/requirements-scanner.d.ts +4 -8
  870. package/dist/project/requirements-scanner.d.ts.map +1 -1
  871. package/dist/project/requirements-scanner.js +39 -146
  872. package/dist/project/requirements-scanner.js.map +1 -1
  873. package/dist/project/stack-diagnosis.d.ts +18 -0
  874. package/dist/project/stack-diagnosis.d.ts.map +1 -0
  875. package/dist/project/stack-diagnosis.js +94 -0
  876. package/dist/project/stack-diagnosis.js.map +1 -0
  877. package/dist/project/stack-health.d.ts +12 -0
  878. package/dist/project/stack-health.d.ts.map +1 -0
  879. package/dist/project/stack-health.js +27 -0
  880. package/dist/project/stack-health.js.map +1 -0
  881. package/dist/project/stack-observation.d.ts +8 -0
  882. package/dist/project/stack-observation.d.ts.map +1 -0
  883. package/dist/project/stack-observation.js +126 -0
  884. package/dist/project/stack-observation.js.map +1 -0
  885. package/dist/project/stack-placement.d.ts +11 -0
  886. package/dist/project/stack-placement.d.ts.map +1 -0
  887. package/dist/project/stack-placement.js +57 -0
  888. package/dist/project/stack-placement.js.map +1 -0
  889. package/dist/project/stack-stop-review.d.ts +14 -0
  890. package/dist/project/stack-stop-review.d.ts.map +1 -0
  891. package/dist/project/stack-stop-review.js +22 -0
  892. package/dist/project/stack-stop-review.js.map +1 -0
  893. package/dist/project/stack-targets.d.ts +24 -0
  894. package/dist/project/stack-targets.d.ts.map +1 -0
  895. package/dist/project/stack-targets.js +67 -0
  896. package/dist/project/stack-targets.js.map +1 -0
  897. package/dist/project/topology-control.d.ts +41 -0
  898. package/dist/project/topology-control.d.ts.map +1 -0
  899. package/dist/project/topology-control.js +133 -0
  900. package/dist/project/topology-control.js.map +1 -0
  901. package/dist/project/topology-plan.d.ts +11 -0
  902. package/dist/project/topology-plan.d.ts.map +1 -0
  903. package/dist/project/topology-plan.js +154 -0
  904. package/dist/project/topology-plan.js.map +1 -0
  905. package/dist/project/topology-services.d.ts +7 -0
  906. package/dist/project/topology-services.d.ts.map +1 -0
  907. package/dist/project/topology-services.js +36 -0
  908. package/dist/project/topology-services.js.map +1 -0
  909. package/dist/project/topology-state.d.ts +27 -0
  910. package/dist/project/topology-state.d.ts.map +1 -0
  911. package/dist/project/topology-state.js +71 -0
  912. package/dist/project/topology-state.js.map +1 -0
  913. package/dist/project/workspace-kind.d.ts +3 -0
  914. package/dist/project/workspace-kind.d.ts.map +1 -0
  915. package/dist/project/workspace-kind.js +13 -0
  916. package/dist/project/workspace-kind.js.map +1 -0
  917. package/dist/readiness.d.ts +4 -0
  918. package/dist/readiness.d.ts.map +1 -0
  919. package/dist/readiness.js +3 -0
  920. package/dist/readiness.js.map +1 -0
  921. package/dist/release/application-closure.d.ts +4 -0
  922. package/dist/release/application-closure.d.ts.map +1 -0
  923. package/dist/release/application-closure.js +61 -0
  924. package/dist/release/application-closure.js.map +1 -0
  925. package/dist/release/archive.d.ts +3 -0
  926. package/dist/release/archive.d.ts.map +1 -0
  927. package/dist/release/archive.js +3 -0
  928. package/dist/release/archive.js.map +1 -0
  929. package/dist/release/artifact-inspection.d.ts +50 -0
  930. package/dist/release/artifact-inspection.d.ts.map +1 -0
  931. package/dist/release/artifact-inspection.js +169 -0
  932. package/dist/release/artifact-inspection.js.map +1 -0
  933. package/dist/release/artifact-volumes.d.ts +10 -0
  934. package/dist/release/artifact-volumes.d.ts.map +1 -0
  935. package/dist/release/artifact-volumes.js +112 -0
  936. package/dist/release/artifact-volumes.js.map +1 -0
  937. package/dist/release/build-run.d.ts +12 -15
  938. package/dist/release/build-run.d.ts.map +1 -1
  939. package/dist/release/build-run.js +260 -73
  940. package/dist/release/build-run.js.map +1 -1
  941. package/dist/release/builder.d.ts +8 -2
  942. package/dist/release/builder.d.ts.map +1 -1
  943. package/dist/release/builder.js +18 -4
  944. package/dist/release/builder.js.map +1 -1
  945. package/dist/release/closure-library-path.d.ts +26 -0
  946. package/dist/release/closure-library-path.d.ts.map +1 -0
  947. package/dist/release/closure-library-path.js +160 -0
  948. package/dist/release/closure-library-path.js.map +1 -0
  949. package/dist/release/definition-inputs.d.ts +6 -3
  950. package/dist/release/definition-inputs.d.ts.map +1 -1
  951. package/dist/release/definition-inputs.js +145 -14
  952. package/dist/release/definition-inputs.js.map +1 -1
  953. package/dist/release/framework-source.d.ts +22 -0
  954. package/dist/release/framework-source.d.ts.map +1 -0
  955. package/dist/release/framework-source.js +54 -0
  956. package/dist/release/framework-source.js.map +1 -0
  957. package/dist/release/frozen-installation.d.ts +23 -0
  958. package/dist/release/frozen-installation.d.ts.map +1 -0
  959. package/dist/release/frozen-installation.js +159 -0
  960. package/dist/release/frozen-installation.js.map +1 -0
  961. package/dist/release/import-artifacts.d.ts +9 -0
  962. package/dist/release/import-artifacts.d.ts.map +1 -0
  963. package/dist/release/import-artifacts.js +60 -0
  964. package/dist/release/import-artifacts.js.map +1 -0
  965. package/dist/release/infrastructure.d.ts +6 -0
  966. package/dist/release/infrastructure.d.ts.map +1 -0
  967. package/dist/release/infrastructure.js +74 -0
  968. package/dist/release/infrastructure.js.map +1 -0
  969. package/dist/release/installed-artifacts.d.ts +12 -0
  970. package/dist/release/installed-artifacts.d.ts.map +1 -0
  971. package/dist/release/installed-artifacts.js +199 -0
  972. package/dist/release/installed-artifacts.js.map +1 -0
  973. package/dist/release/installed-graph.d.ts +28 -0
  974. package/dist/release/installed-graph.d.ts.map +1 -0
  975. package/dist/release/installed-graph.js +138 -0
  976. package/dist/release/installed-graph.js.map +1 -0
  977. package/dist/release/installed-origin.d.ts +42 -0
  978. package/dist/release/installed-origin.d.ts.map +1 -0
  979. package/dist/release/installed-origin.js +130 -0
  980. package/dist/release/installed-origin.js.map +1 -0
  981. package/dist/release/installed-release.d.ts +23 -0
  982. package/dist/release/installed-release.d.ts.map +1 -0
  983. package/dist/release/installed-release.js +141 -0
  984. package/dist/release/installed-release.js.map +1 -0
  985. package/dist/release/layout.d.ts +27 -32
  986. package/dist/release/layout.d.ts.map +1 -1
  987. package/dist/release/layout.js +162 -51
  988. package/dist/release/layout.js.map +1 -1
  989. package/dist/release/load.d.ts +3 -0
  990. package/dist/release/load.d.ts.map +1 -1
  991. package/dist/release/load.js +50 -8
  992. package/dist/release/load.js.map +1 -1
  993. package/dist/release/local-installation.d.ts +20 -0
  994. package/dist/release/local-installation.d.ts.map +1 -0
  995. package/dist/release/local-installation.js +298 -0
  996. package/dist/release/local-installation.js.map +1 -0
  997. package/dist/release/manifest.d.ts +87 -12
  998. package/dist/release/manifest.d.ts.map +1 -1
  999. package/dist/release/manifest.js +31 -7
  1000. package/dist/release/manifest.js.map +1 -1
  1001. package/dist/release/migration-programs.d.ts +12 -0
  1002. package/dist/release/migration-programs.d.ts.map +1 -0
  1003. package/dist/release/migration-programs.js +45 -0
  1004. package/dist/release/migration-programs.js.map +1 -0
  1005. package/dist/release/migrations.d.ts +12 -1
  1006. package/dist/release/migrations.d.ts.map +1 -1
  1007. package/dist/release/migrations.js +124 -9
  1008. package/dist/release/migrations.js.map +1 -1
  1009. package/dist/release/origin.d.ts +33 -0
  1010. package/dist/release/origin.d.ts.map +1 -0
  1011. package/dist/release/origin.js +253 -0
  1012. package/dist/release/origin.js.map +1 -0
  1013. package/dist/release/owner-admission.d.ts +15 -0
  1014. package/dist/release/owner-admission.d.ts.map +1 -0
  1015. package/dist/release/owner-admission.js +37 -0
  1016. package/dist/release/owner-admission.js.map +1 -0
  1017. package/dist/release/owner-executable.d.ts +3 -0
  1018. package/dist/release/owner-executable.d.ts.map +1 -0
  1019. package/dist/release/owner-executable.js +40 -0
  1020. package/dist/release/owner-executable.js.map +1 -0
  1021. package/dist/release/package-gates.d.ts +9 -0
  1022. package/dist/release/package-gates.d.ts.map +1 -0
  1023. package/dist/release/package-gates.js +42 -0
  1024. package/dist/release/package-gates.js.map +1 -0
  1025. package/dist/release/package-resolution.d.ts +4 -0
  1026. package/dist/release/package-resolution.d.ts.map +1 -0
  1027. package/dist/release/package-resolution.js +28 -0
  1028. package/dist/release/package-resolution.js.map +1 -0
  1029. package/dist/release/portable-archive.d.ts +12 -0
  1030. package/dist/release/portable-archive.d.ts.map +1 -0
  1031. package/dist/release/portable-archive.js +96 -0
  1032. package/dist/release/portable-archive.js.map +1 -0
  1033. package/dist/release/registry-download.d.ts +2 -0
  1034. package/dist/release/registry-download.d.ts.map +1 -0
  1035. package/dist/release/registry-download.js +157 -0
  1036. package/dist/release/registry-download.js.map +1 -0
  1037. package/dist/release/registry-framework.d.ts +39 -0
  1038. package/dist/release/registry-framework.d.ts.map +1 -0
  1039. package/dist/release/registry-framework.js +279 -0
  1040. package/dist/release/registry-framework.js.map +1 -0
  1041. package/dist/release/registry-transport.d.ts +27 -0
  1042. package/dist/release/registry-transport.d.ts.map +1 -0
  1043. package/dist/release/registry-transport.js +96 -0
  1044. package/dist/release/registry-transport.js.map +1 -0
  1045. package/dist/release/repository-identity.d.ts +12 -0
  1046. package/dist/release/repository-identity.d.ts.map +1 -0
  1047. package/dist/release/repository-identity.js +62 -0
  1048. package/dist/release/repository-identity.js.map +1 -0
  1049. package/dist/release/runtime-extractor.d.ts +4 -0
  1050. package/dist/release/runtime-extractor.d.ts.map +1 -0
  1051. package/dist/release/runtime-extractor.js +15 -0
  1052. package/dist/release/runtime-extractor.js.map +1 -0
  1053. package/dist/release/runtime-provenance.d.ts +40 -0
  1054. package/dist/release/runtime-provenance.d.ts.map +1 -0
  1055. package/dist/release/runtime-provenance.js +229 -0
  1056. package/dist/release/runtime-provenance.js.map +1 -0
  1057. package/dist/release/source.d.ts +12 -0
  1058. package/dist/release/source.d.ts.map +1 -0
  1059. package/dist/release/source.js +168 -0
  1060. package/dist/release/source.js.map +1 -0
  1061. package/dist/release/store.d.ts +13 -4
  1062. package/dist/release/store.d.ts.map +1 -1
  1063. package/dist/release/store.js +70 -14
  1064. package/dist/release/store.js.map +1 -1
  1065. package/dist/release/target-runtime.d.ts +19 -0
  1066. package/dist/release/target-runtime.d.ts.map +1 -0
  1067. package/dist/release/target-runtime.js +41 -0
  1068. package/dist/release/target-runtime.js.map +1 -0
  1069. package/dist/release/vendored-framework.d.ts +28 -0
  1070. package/dist/release/vendored-framework.d.ts.map +1 -0
  1071. package/dist/release/vendored-framework.js +98 -0
  1072. package/dist/release/vendored-framework.js.map +1 -0
  1073. package/dist/release/workspace-source.d.ts +3 -0
  1074. package/dist/release/workspace-source.d.ts.map +1 -0
  1075. package/dist/release/workspace-source.js +33 -0
  1076. package/dist/release/workspace-source.js.map +1 -0
  1077. package/dist/runtime/context.d.ts +29 -0
  1078. package/dist/runtime/context.d.ts.map +1 -0
  1079. package/dist/runtime/context.js +111 -0
  1080. package/dist/runtime/context.js.map +1 -0
  1081. package/dist/runtime/identity.d.ts +15 -0
  1082. package/dist/runtime/identity.d.ts.map +1 -0
  1083. package/dist/runtime/identity.js +33 -0
  1084. package/dist/runtime/identity.js.map +1 -0
  1085. package/dist/runtime/index.d.ts +3 -0
  1086. package/dist/runtime/index.d.ts.map +1 -0
  1087. package/dist/runtime/index.js +3 -0
  1088. package/dist/runtime/index.js.map +1 -0
  1089. package/dist/services/access.rpc-service.d.ts +41 -0
  1090. package/dist/services/access.rpc-service.d.ts.map +1 -0
  1091. package/dist/services/access.rpc-service.js +248 -0
  1092. package/dist/services/access.rpc-service.js.map +1 -0
  1093. package/dist/services/alert.service.d.ts +1 -1
  1094. package/dist/services/alert.service.d.ts.map +1 -1
  1095. package/dist/services/alert.service.js +1 -1
  1096. package/dist/services/anonymous-input.d.ts +0 -21
  1097. package/dist/services/anonymous-input.d.ts.map +1 -1
  1098. package/dist/services/anonymous-input.js +1 -27
  1099. package/dist/services/anonymous-input.js.map +1 -1
  1100. package/dist/services/audit.service.d.ts +10 -30
  1101. package/dist/services/audit.service.d.ts.map +1 -1
  1102. package/dist/services/audit.service.js +72 -18
  1103. package/dist/services/audit.service.js.map +1 -1
  1104. package/dist/services/auth-context.d.ts +2 -0
  1105. package/dist/services/auth-context.d.ts.map +1 -1
  1106. package/dist/services/auth-context.js +4 -1
  1107. package/dist/services/auth-context.js.map +1 -1
  1108. package/dist/services/auth.rpc-service.d.ts +3 -1
  1109. package/dist/services/auth.rpc-service.d.ts.map +1 -1
  1110. package/dist/services/auth.rpc-service.js +13 -3
  1111. package/dist/services/auth.rpc-service.js.map +1 -1
  1112. package/dist/services/auth.service.d.ts +11 -21
  1113. package/dist/services/auth.service.d.ts.map +1 -1
  1114. package/dist/services/auth.service.js +125 -139
  1115. package/dist/services/auth.service.js.map +1 -1
  1116. package/dist/services/backup-storage.d.ts +14 -0
  1117. package/dist/services/backup-storage.d.ts.map +1 -0
  1118. package/dist/services/backup-storage.js +195 -0
  1119. package/dist/services/backup-storage.js.map +1 -0
  1120. package/dist/services/backup.rpc-service.d.ts +2 -0
  1121. package/dist/services/backup.rpc-service.d.ts.map +1 -1
  1122. package/dist/services/backup.rpc-service.js +9 -0
  1123. package/dist/services/backup.rpc-service.js.map +1 -1
  1124. package/dist/services/backup.service.d.ts +33 -126
  1125. package/dist/services/backup.service.d.ts.map +1 -1
  1126. package/dist/services/backup.service.js +174 -153
  1127. package/dist/services/backup.service.js.map +1 -1
  1128. package/dist/services/bundle-builder.d.ts +12 -0
  1129. package/dist/services/bundle-builder.d.ts.map +1 -1
  1130. package/dist/services/bundle-builder.js +77 -62
  1131. package/dist/services/bundle-builder.js.map +1 -1
  1132. package/dist/services/bundle-overrides.d.ts +25 -0
  1133. package/dist/services/bundle-overrides.d.ts.map +1 -0
  1134. package/dist/services/bundle-overrides.js +96 -0
  1135. package/dist/services/bundle-overrides.js.map +1 -0
  1136. package/dist/services/daemon-authority.d.ts +16 -0
  1137. package/dist/services/daemon-authority.d.ts.map +1 -0
  1138. package/dist/services/daemon-authority.js +54 -0
  1139. package/dist/services/daemon-authority.js.map +1 -0
  1140. package/dist/services/daemon-principal.d.ts +31 -0
  1141. package/dist/services/daemon-principal.d.ts.map +1 -0
  1142. package/dist/services/daemon-principal.js +37 -0
  1143. package/dist/services/daemon-principal.js.map +1 -0
  1144. package/dist/services/deploy.service.d.ts +13 -57
  1145. package/dist/services/deploy.service.d.ts.map +1 -1
  1146. package/dist/services/deploy.service.js +15 -263
  1147. package/dist/services/deploy.service.js.map +1 -1
  1148. package/dist/services/event-broadcaster.rpc-service.d.ts +7 -1
  1149. package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -1
  1150. package/dist/services/event-broadcaster.rpc-service.js +89 -11
  1151. package/dist/services/event-broadcaster.rpc-service.js.map +1 -1
  1152. package/dist/services/fleet.rpc-service.d.ts +0 -6
  1153. package/dist/services/fleet.rpc-service.d.ts.map +1 -1
  1154. package/dist/services/fleet.rpc-service.js +0 -13
  1155. package/dist/services/fleet.rpc-service.js.map +1 -1
  1156. package/dist/services/health-check.service.d.ts +1 -1
  1157. package/dist/services/health-check.service.d.ts.map +1 -1
  1158. package/dist/services/health-check.service.js +30 -5
  1159. package/dist/services/health-check.service.js.map +1 -1
  1160. package/dist/services/host-upgrade.d.ts +55 -3
  1161. package/dist/services/host-upgrade.d.ts.map +1 -1
  1162. package/dist/services/host-upgrade.js +167 -16
  1163. package/dist/services/host-upgrade.js.map +1 -1
  1164. package/dist/services/infrastructure.rpc-service.d.ts +9 -2
  1165. package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
  1166. package/dist/services/infrastructure.rpc-service.js +117 -36
  1167. package/dist/services/infrastructure.rpc-service.js.map +1 -1
  1168. package/dist/services/kernel-catalog.d.ts +14 -0
  1169. package/dist/services/kernel-catalog.d.ts.map +1 -0
  1170. package/dist/services/kernel-catalog.js +172 -0
  1171. package/dist/services/kernel-catalog.js.map +1 -0
  1172. package/dist/services/kernel-distribution.d.ts +5 -0
  1173. package/dist/services/kernel-distribution.d.ts.map +1 -0
  1174. package/dist/services/kernel-distribution.js +49 -0
  1175. package/dist/services/kernel-distribution.js.map +1 -0
  1176. package/dist/services/kernel-rollout.service.d.ts +55 -0
  1177. package/dist/services/kernel-rollout.service.d.ts.map +1 -0
  1178. package/dist/services/kernel-rollout.service.js +394 -0
  1179. package/dist/services/kernel-rollout.service.js.map +1 -0
  1180. package/dist/services/local-bundle.d.ts.map +1 -1
  1181. package/dist/services/local-bundle.js +3 -1
  1182. package/dist/services/local-bundle.js.map +1 -1
  1183. package/dist/services/log-collector.rpc-service.d.ts +5 -11
  1184. package/dist/services/log-collector.rpc-service.d.ts.map +1 -1
  1185. package/dist/services/log-collector.rpc-service.js +6 -6
  1186. package/dist/services/log-collector.rpc-service.js.map +1 -1
  1187. package/dist/services/log-collector.service.d.ts +39 -109
  1188. package/dist/services/log-collector.service.d.ts.map +1 -1
  1189. package/dist/services/log-collector.service.js +286 -261
  1190. package/dist/services/log-collector.service.js.map +1 -1
  1191. package/dist/services/log-query.d.ts +6 -0
  1192. package/dist/services/log-query.d.ts.map +1 -0
  1193. package/dist/services/log-query.js +46 -0
  1194. package/dist/services/log-query.js.map +1 -0
  1195. package/dist/services/managed-rollout.d.ts +54 -0
  1196. package/dist/services/managed-rollout.d.ts.map +1 -0
  1197. package/dist/services/managed-rollout.js +124 -0
  1198. package/dist/services/managed-rollout.js.map +1 -0
  1199. package/dist/services/metrics.rpc-service.d.ts +23 -0
  1200. package/dist/services/metrics.rpc-service.d.ts.map +1 -0
  1201. package/dist/services/metrics.rpc-service.js +73 -0
  1202. package/dist/services/metrics.rpc-service.js.map +1 -0
  1203. package/dist/services/migration-process.d.ts +32 -0
  1204. package/dist/services/migration-process.d.ts.map +1 -0
  1205. package/dist/services/migration-process.js +71 -0
  1206. package/dist/services/migration-process.js.map +1 -0
  1207. package/dist/services/migration-target.d.ts +57 -0
  1208. package/dist/services/migration-target.d.ts.map +1 -0
  1209. package/dist/services/migration-target.js +221 -0
  1210. package/dist/services/migration-target.js.map +1 -0
  1211. package/dist/services/node-health.repository.d.ts +2 -59
  1212. package/dist/services/node-health.repository.d.ts.map +1 -1
  1213. package/dist/services/node-health.repository.js.map +1 -1
  1214. package/dist/services/node-host-key.d.ts +9 -0
  1215. package/dist/services/node-host-key.d.ts.map +1 -0
  1216. package/dist/services/node-host-key.js +17 -0
  1217. package/dist/services/node-host-key.js.map +1 -0
  1218. package/dist/services/node-manager.rpc-service.d.ts +44 -37
  1219. package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
  1220. package/dist/services/node-manager.rpc-service.js +208 -37
  1221. package/dist/services/node-manager.rpc-service.js.map +1 -1
  1222. package/dist/services/node-manager.service.d.ts +3 -0
  1223. package/dist/services/node-manager.service.d.ts.map +1 -1
  1224. package/dist/services/node-manager.service.js +78 -27
  1225. package/dist/services/node-manager.service.js.map +1 -1
  1226. package/dist/services/node-registration.d.ts +17 -0
  1227. package/dist/services/node-registration.d.ts.map +1 -0
  1228. package/dist/services/node-registration.js +73 -0
  1229. package/dist/services/node-registration.js.map +1 -0
  1230. package/dist/services/node-upgrade.service.d.ts +2 -28
  1231. package/dist/services/node-upgrade.service.d.ts.map +1 -1
  1232. package/dist/services/node-upgrade.service.js +2 -3
  1233. package/dist/services/node-upgrade.service.js.map +1 -1
  1234. package/dist/services/pipeline-definition.d.ts +14 -0
  1235. package/dist/services/pipeline-definition.d.ts.map +1 -0
  1236. package/dist/services/pipeline-definition.js +77 -0
  1237. package/dist/services/pipeline-definition.js.map +1 -0
  1238. package/dist/services/pipeline.rpc-service.d.ts +10 -3
  1239. package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
  1240. package/dist/services/pipeline.rpc-service.js +38 -14
  1241. package/dist/services/pipeline.rpc-service.js.map +1 -1
  1242. package/dist/services/pipeline.service.d.ts +30 -46
  1243. package/dist/services/pipeline.service.d.ts.map +1 -1
  1244. package/dist/services/pipeline.service.js +401 -344
  1245. package/dist/services/pipeline.service.js.map +1 -1
  1246. package/dist/services/project.rpc-service.d.ts +212 -14
  1247. package/dist/services/project.rpc-service.d.ts.map +1 -1
  1248. package/dist/services/project.rpc-service.js +303 -31
  1249. package/dist/services/project.rpc-service.js.map +1 -1
  1250. package/dist/services/project.service.d.ts +174 -56
  1251. package/dist/services/project.service.d.ts.map +1 -1
  1252. package/dist/services/project.service.js +1962 -653
  1253. package/dist/services/project.service.js.map +1 -1
  1254. package/dist/services/release.rpc-service.d.ts +5 -18
  1255. package/dist/services/release.rpc-service.d.ts.map +1 -1
  1256. package/dist/services/release.rpc-service.js +34 -11
  1257. package/dist/services/release.rpc-service.js.map +1 -1
  1258. package/dist/services/release.service.d.ts +2 -47
  1259. package/dist/services/release.service.d.ts.map +1 -1
  1260. package/dist/services/release.service.js +26 -2
  1261. package/dist/services/release.service.js.map +1 -1
  1262. package/dist/services/remote-deployer.service.d.ts +41 -113
  1263. package/dist/services/remote-deployer.service.d.ts.map +1 -1
  1264. package/dist/services/remote-deployer.service.js +415 -378
  1265. package/dist/services/remote-deployer.service.js.map +1 -1
  1266. package/dist/services/remote-provisioner.d.ts +1 -1
  1267. package/dist/services/remote-provisioner.js +1 -1
  1268. package/dist/services/replication-evidence.d.ts +24 -0
  1269. package/dist/services/replication-evidence.d.ts.map +1 -0
  1270. package/dist/services/replication-evidence.js +61 -0
  1271. package/dist/services/replication-evidence.js.map +1 -0
  1272. package/dist/services/replication-history.d.ts +80 -0
  1273. package/dist/services/replication-history.d.ts.map +1 -0
  1274. package/dist/services/replication-history.js +279 -0
  1275. package/dist/services/replication-history.js.map +1 -0
  1276. package/dist/services/replication-reconciliation.d.ts +74 -0
  1277. package/dist/services/replication-reconciliation.d.ts.map +1 -0
  1278. package/dist/services/replication-reconciliation.js +351 -0
  1279. package/dist/services/replication-reconciliation.js.map +1 -0
  1280. package/dist/services/slave-storage.service.d.ts +2 -19
  1281. package/dist/services/slave-storage.service.d.ts.map +1 -1
  1282. package/dist/services/slave-storage.service.js +19 -6
  1283. package/dist/services/slave-storage.service.js.map +1 -1
  1284. package/dist/services/static-carry-forward.d.ts +2 -2
  1285. package/dist/services/static-carry-forward.d.ts.map +1 -1
  1286. package/dist/services/static-carry-forward.js +10 -3
  1287. package/dist/services/static-carry-forward.js.map +1 -1
  1288. package/dist/services/sync-summary.d.ts.map +1 -1
  1289. package/dist/services/sync-summary.js +1 -18
  1290. package/dist/services/sync-summary.js.map +1 -1
  1291. package/dist/services/sync.rpc-service.d.ts +17 -20
  1292. package/dist/services/sync.rpc-service.d.ts.map +1 -1
  1293. package/dist/services/sync.rpc-service.js +23 -37
  1294. package/dist/services/sync.rpc-service.js.map +1 -1
  1295. package/dist/services/sync.service.d.ts +53 -157
  1296. package/dist/services/sync.service.d.ts.map +1 -1
  1297. package/dist/services/sync.service.js +239 -337
  1298. package/dist/services/sync.service.js.map +1 -1
  1299. package/dist/services/system-info.rpc-service.d.ts +3 -1
  1300. package/dist/services/system-info.rpc-service.d.ts.map +1 -1
  1301. package/dist/services/system-info.rpc-service.js +5 -5
  1302. package/dist/services/system-info.rpc-service.js.map +1 -1
  1303. package/dist/services/system-info.service.d.ts +3 -1
  1304. package/dist/services/system-info.service.d.ts.map +1 -1
  1305. package/dist/services/system-info.service.js +17 -9
  1306. package/dist/services/system-info.service.js.map +1 -1
  1307. package/dist/services/telemetry.rpc-service.d.ts +4 -23
  1308. package/dist/services/telemetry.rpc-service.d.ts.map +1 -1
  1309. package/dist/services/telemetry.rpc-service.js +4 -32
  1310. package/dist/services/telemetry.rpc-service.js.map +1 -1
  1311. package/dist/services/telemetry.service.d.ts +2 -30
  1312. package/dist/services/telemetry.service.d.ts.map +1 -1
  1313. package/dist/services/telemetry.service.js +25 -131
  1314. package/dist/services/telemetry.service.js.map +1 -1
  1315. package/dist/services/terminal-ssh.d.ts +16 -0
  1316. package/dist/services/terminal-ssh.d.ts.map +1 -0
  1317. package/dist/services/terminal-ssh.js +101 -0
  1318. package/dist/services/terminal-ssh.js.map +1 -0
  1319. package/dist/services/terminal.rpc-service.d.ts +84 -0
  1320. package/dist/services/terminal.rpc-service.d.ts.map +1 -0
  1321. package/dist/services/terminal.rpc-service.js +508 -0
  1322. package/dist/services/terminal.rpc-service.js.map +1 -0
  1323. package/dist/services/trace-collector.rpc-service.js +3 -3
  1324. package/dist/services/trace-collector.rpc-service.js.map +1 -1
  1325. package/dist/services/wait-for-postgres.d.ts +1 -1
  1326. package/dist/services/wait-for-postgres.d.ts.map +1 -1
  1327. package/dist/services/wait-for-postgres.js +13 -28
  1328. package/dist/services/wait-for-postgres.js.map +1 -1
  1329. package/dist/shared/build-stamp.d.ts +4 -1
  1330. package/dist/shared/build-stamp.d.ts.map +1 -1
  1331. package/dist/shared/build-stamp.js +14 -6
  1332. package/dist/shared/build-stamp.js.map +1 -1
  1333. package/dist/shared/describe-error.d.ts +1 -21
  1334. package/dist/shared/describe-error.d.ts.map +1 -1
  1335. package/dist/shared/describe-error.js +1 -38
  1336. package/dist/shared/describe-error.js.map +1 -1
  1337. package/dist/shared/dto/access.d.ts +55 -0
  1338. package/dist/shared/dto/access.d.ts.map +1 -0
  1339. package/dist/shared/dto/access.js +2 -0
  1340. package/dist/shared/dto/access.js.map +1 -0
  1341. package/dist/shared/dto/audit.d.ts +32 -0
  1342. package/dist/shared/dto/audit.d.ts.map +1 -0
  1343. package/dist/shared/dto/audit.js +3 -0
  1344. package/dist/shared/dto/audit.js.map +1 -0
  1345. package/dist/shared/dto/auth.d.ts +2 -0
  1346. package/dist/shared/dto/auth.d.ts.map +1 -1
  1347. package/dist/shared/dto/auth.js +5 -1
  1348. package/dist/shared/dto/auth.js.map +1 -1
  1349. package/dist/shared/dto/backend.d.ts +50 -0
  1350. package/dist/shared/dto/backend.d.ts.map +1 -0
  1351. package/dist/shared/dto/backend.js +3 -0
  1352. package/dist/shared/dto/backend.js.map +1 -0
  1353. package/dist/shared/dto/backups.d.ts +99 -0
  1354. package/dist/shared/dto/backups.d.ts.map +1 -1
  1355. package/dist/shared/dto/cluster.d.ts +44 -0
  1356. package/dist/shared/dto/cluster.d.ts.map +1 -0
  1357. package/dist/shared/dto/cluster.js +3 -0
  1358. package/dist/shared/dto/cluster.js.map +1 -0
  1359. package/dist/shared/dto/files.d.ts +328 -0
  1360. package/dist/shared/dto/files.d.ts.map +1 -0
  1361. package/dist/shared/dto/files.js +2 -0
  1362. package/dist/shared/dto/files.js.map +1 -0
  1363. package/dist/shared/dto/health.d.ts +59 -0
  1364. package/dist/shared/dto/health.d.ts.map +1 -1
  1365. package/dist/shared/dto/installed-release.d.ts +40 -0
  1366. package/dist/shared/dto/installed-release.d.ts.map +1 -0
  1367. package/dist/shared/dto/installed-release.js +2 -0
  1368. package/dist/shared/dto/installed-release.js.map +1 -0
  1369. package/dist/shared/dto/kernel-catalog.d.ts +11 -0
  1370. package/dist/shared/dto/kernel-catalog.d.ts.map +1 -0
  1371. package/dist/shared/dto/kernel-catalog.js +2 -0
  1372. package/dist/shared/dto/kernel-catalog.js.map +1 -0
  1373. package/dist/shared/dto/logs.d.ts +21 -0
  1374. package/dist/shared/dto/logs.d.ts.map +1 -1
  1375. package/dist/shared/dto/metrics.d.ts +4 -64
  1376. package/dist/shared/dto/metrics.d.ts.map +1 -1
  1377. package/dist/shared/dto/metrics.js +0 -15
  1378. package/dist/shared/dto/metrics.js.map +1 -1
  1379. package/dist/shared/dto/nodes.d.ts +96 -22
  1380. package/dist/shared/dto/nodes.d.ts.map +1 -1
  1381. package/dist/shared/dto/pipelines.d.ts +22 -1
  1382. package/dist/shared/dto/pipelines.d.ts.map +1 -1
  1383. package/dist/shared/dto/project.d.ts +289 -30
  1384. package/dist/shared/dto/project.d.ts.map +1 -1
  1385. package/dist/shared/dto/releases.d.ts +59 -0
  1386. package/dist/shared/dto/releases.d.ts.map +1 -0
  1387. package/dist/shared/dto/releases.js +2 -0
  1388. package/dist/shared/dto/releases.js.map +1 -0
  1389. package/dist/shared/dto/services.d.ts +174 -37
  1390. package/dist/shared/dto/services.d.ts.map +1 -1
  1391. package/dist/shared/dto/services.js +15 -6
  1392. package/dist/shared/dto/services.js.map +1 -1
  1393. package/dist/shared/dto/stack-diagnosis.d.ts +20 -0
  1394. package/dist/shared/dto/stack-diagnosis.d.ts.map +1 -0
  1395. package/dist/shared/dto/stack-diagnosis.js +8 -0
  1396. package/dist/shared/dto/stack-diagnosis.js.map +1 -0
  1397. package/dist/shared/dto/stack-execution.d.ts +65 -0
  1398. package/dist/shared/dto/stack-execution.d.ts.map +1 -0
  1399. package/dist/shared/dto/stack-execution.js +33 -0
  1400. package/dist/shared/dto/stack-execution.js.map +1 -0
  1401. package/dist/shared/dto/system-info.d.ts +11 -0
  1402. package/dist/shared/dto/system-info.d.ts.map +1 -1
  1403. package/dist/shared/dto/system-info.js +7 -1
  1404. package/dist/shared/dto/system-info.js.map +1 -1
  1405. package/dist/shared/dto/terminal.d.ts +40 -0
  1406. package/dist/shared/dto/terminal.d.ts.map +1 -0
  1407. package/dist/shared/dto/terminal.js +2 -0
  1408. package/dist/shared/dto/terminal.js.map +1 -0
  1409. package/dist/shared/dto/topology.d.ts +96 -0
  1410. package/dist/shared/dto/topology.d.ts.map +1 -0
  1411. package/dist/shared/dto/topology.js +2 -0
  1412. package/dist/shared/dto/topology.js.map +1 -0
  1413. package/dist/shared/emergency-output.d.ts +3 -0
  1414. package/dist/shared/emergency-output.d.ts.map +1 -0
  1415. package/dist/shared/emergency-output.js +22 -0
  1416. package/dist/shared/emergency-output.js.map +1 -0
  1417. package/dist/shared/env-config.d.ts +2 -0
  1418. package/dist/shared/env-config.d.ts.map +1 -1
  1419. package/dist/shared/env-config.js +1 -0
  1420. package/dist/shared/env-config.js.map +1 -1
  1421. package/dist/shared/events.d.ts +2 -0
  1422. package/dist/shared/events.d.ts.map +1 -1
  1423. package/dist/shared/events.js.map +1 -1
  1424. package/dist/shared/execution-identity.d.ts +39 -0
  1425. package/dist/shared/execution-identity.d.ts.map +1 -0
  1426. package/dist/shared/execution-identity.js +160 -0
  1427. package/dist/shared/execution-identity.js.map +1 -0
  1428. package/dist/shared/file-policy.d.ts +5 -0
  1429. package/dist/shared/file-policy.d.ts.map +1 -0
  1430. package/dist/shared/file-policy.js +18 -0
  1431. package/dist/shared/file-policy.js.map +1 -0
  1432. package/dist/shared/framework-source.d.ts +11 -0
  1433. package/dist/shared/framework-source.d.ts.map +1 -0
  1434. package/dist/shared/framework-source.js +31 -0
  1435. package/dist/shared/framework-source.js.map +1 -0
  1436. package/dist/shared/fresh-module-reader.d.ts +40 -0
  1437. package/dist/shared/fresh-module-reader.d.ts.map +1 -0
  1438. package/dist/shared/fresh-module-reader.js +257 -0
  1439. package/dist/shared/fresh-module-reader.js.map +1 -0
  1440. package/dist/shared/host-boot-identity.d.ts +12 -0
  1441. package/dist/shared/host-boot-identity.d.ts.map +1 -0
  1442. package/dist/shared/host-boot-identity.js +89 -0
  1443. package/dist/shared/host-boot-identity.js.map +1 -0
  1444. package/dist/shared/kernel-file-lock.d.ts +3 -0
  1445. package/dist/shared/kernel-file-lock.d.ts.map +1 -0
  1446. package/dist/shared/kernel-file-lock.js +53 -0
  1447. package/dist/shared/kernel-file-lock.js.map +1 -0
  1448. package/dist/shared/linux-file-lock.d.ts +4 -0
  1449. package/dist/shared/linux-file-lock.d.ts.map +1 -0
  1450. package/dist/shared/linux-file-lock.js +36 -0
  1451. package/dist/shared/linux-file-lock.js.map +1 -0
  1452. package/dist/shared/log-ingestion-reading.d.ts +9 -0
  1453. package/dist/shared/log-ingestion-reading.d.ts.map +1 -0
  1454. package/dist/shared/log-ingestion-reading.js +32 -0
  1455. package/dist/shared/log-ingestion-reading.js.map +1 -0
  1456. package/dist/shared/log-levels.d.ts +19 -0
  1457. package/dist/shared/log-levels.d.ts.map +1 -0
  1458. package/dist/shared/log-levels.js +23 -0
  1459. package/dist/shared/log-levels.js.map +1 -0
  1460. package/dist/shared/metrics-storage-reading.d.ts +8 -0
  1461. package/dist/shared/metrics-storage-reading.d.ts.map +1 -0
  1462. package/dist/shared/metrics-storage-reading.js +27 -0
  1463. package/dist/shared/metrics-storage-reading.js.map +1 -0
  1464. package/dist/shared/pnpm.d.ts.map +1 -1
  1465. package/dist/shared/pnpm.js +7 -0
  1466. package/dist/shared/pnpm.js.map +1 -1
  1467. package/dist/shared/pool-scale.d.ts +10 -0
  1468. package/dist/shared/pool-scale.d.ts.map +1 -0
  1469. package/dist/shared/pool-scale.js +25 -0
  1470. package/dist/shared/pool-scale.js.map +1 -0
  1471. package/dist/shared/private-files.d.ts +10 -22
  1472. package/dist/shared/private-files.d.ts.map +1 -1
  1473. package/dist/shared/private-files.js +95 -82
  1474. package/dist/shared/private-files.js.map +1 -1
  1475. package/dist/shared/relay-reading.d.ts +19 -0
  1476. package/dist/shared/relay-reading.d.ts.map +1 -0
  1477. package/dist/shared/relay-reading.js +22 -0
  1478. package/dist/shared/relay-reading.js.map +1 -0
  1479. package/dist/shared/release-reading.d.ts +124 -32
  1480. package/dist/shared/release-reading.d.ts.map +1 -1
  1481. package/dist/shared/release-reading.js +208 -28
  1482. package/dist/shared/release-reading.js.map +1 -1
  1483. package/dist/shared/roles.d.ts +19 -18
  1484. package/dist/shared/roles.d.ts.map +1 -1
  1485. package/dist/shared/roles.js +21 -26
  1486. package/dist/shared/roles.js.map +1 -1
  1487. package/dist/shared/runtime-artifact.d.ts +20 -0
  1488. package/dist/shared/runtime-artifact.d.ts.map +1 -0
  1489. package/dist/shared/runtime-artifact.js +83 -0
  1490. package/dist/shared/runtime-artifact.js.map +1 -0
  1491. package/dist/shared/stack-reading.d.ts +18 -0
  1492. package/dist/shared/stack-reading.d.ts.map +1 -0
  1493. package/dist/shared/stack-reading.js +15 -0
  1494. package/dist/shared/stack-reading.js.map +1 -0
  1495. package/dist/shared/sync-reading.d.ts +30 -38
  1496. package/dist/shared/sync-reading.d.ts.map +1 -1
  1497. package/dist/shared/sync-reading.js +90 -29
  1498. package/dist/shared/sync-reading.js.map +1 -1
  1499. package/dist/shared/tokens.d.ts +3 -1
  1500. package/dist/shared/tokens.d.ts.map +1 -1
  1501. package/dist/shared/tokens.js +1 -0
  1502. package/dist/shared/tokens.js.map +1 -1
  1503. package/dist/supervisor/restart-policy.d.ts.map +1 -1
  1504. package/dist/supervisor/restart-policy.js +7 -5
  1505. package/dist/supervisor/restart-policy.js.map +1 -1
  1506. package/dist/webapp/console-container.d.ts +7 -0
  1507. package/dist/webapp/console-container.d.ts.map +1 -0
  1508. package/dist/webapp/console-container.js +23 -0
  1509. package/dist/webapp/console-container.js.map +1 -0
  1510. package/dist/webapp/webapp.service.d.ts.map +1 -1
  1511. package/dist/webapp/webapp.service.js +71 -24
  1512. package/dist/webapp/webapp.service.js.map +1 -1
  1513. package/dist/workers/health-monitor.service.d.ts.map +1 -1
  1514. package/dist/workers/health-monitor.service.js +8 -1
  1515. package/dist/workers/health-monitor.service.js.map +1 -1
  1516. package/dist/workers/types.d.ts +2 -0
  1517. package/dist/workers/types.d.ts.map +1 -1
  1518. package/package.json +106 -44
  1519. package/webapp/dist/BUILD.json +4 -3
  1520. package/webapp/dist/assets/access-48hkC2-P.js +1 -0
  1521. package/webapp/dist/assets/access-jWkHxGc7.js +1 -0
  1522. package/webapp/dist/assets/admin-data-table-BKSDI8sU.js +1 -0
  1523. package/webapp/dist/assets/alert-expression-CSblScoa.js +1 -0
  1524. package/webapp/dist/assets/alert-notify-settings-C_CHZrFm.js +1 -0
  1525. package/webapp/dist/assets/alert-uBG6r9NW.js +1 -0
  1526. package/webapp/dist/assets/alerts-CuPQ9YQJ.js +1 -0
  1527. package/webapp/dist/assets/app-address-BCXfN59F.js +1 -0
  1528. package/webapp/dist/assets/apps-Drio028B.js +1 -0
  1529. package/webapp/dist/assets/audit-npSFJECe.js +1 -0
  1530. package/webapp/dist/assets/auth-CcgjP7hR.js +1 -0
  1531. package/webapp/dist/assets/card-DkH32gMY.js +1 -0
  1532. package/webapp/dist/assets/chart-BpGXlCJc.js +2 -0
  1533. package/webapp/dist/assets/charts-BY7qI6s2.js +41 -0
  1534. package/webapp/dist/assets/charts-CpBdHU_A.js +56 -0
  1535. package/webapp/dist/assets/client-DFnuv2z3.js +3 -0
  1536. package/webapp/dist/assets/code-editor-DK6Tmmxv.js +4 -0
  1537. package/webapp/dist/assets/comparison-bars-BtC0dHjF.js +1 -0
  1538. package/webapp/dist/assets/confirm-dialog-BbGsAz7_.js +1 -0
  1539. package/webapp/dist/assets/console-keyboard-D3YCA0yU.js +1 -0
  1540. package/webapp/dist/assets/constants-CyhngVXh.js +1 -0
  1541. package/webapp/dist/assets/containers-Bl8gAyZX.js +3 -0
  1542. package/webapp/dist/assets/context-FIuwpd9_.js +1 -0
  1543. package/webapp/dist/assets/controls-C5W8gHU4.js +1 -0
  1544. package/webapp/dist/assets/daemon-memory-BiEtr9jr.js +1 -0
  1545. package/webapp/dist/assets/dashboard-UHlet3H9.js +1 -0
  1546. package/webapp/dist/assets/dashboard-builder-67PZFqhE.js +1 -0
  1547. package/webapp/dist/assets/dayjs.min-DHwAvH5f.js +1 -0
  1548. package/webapp/dist/assets/deploy-release-dialog-BOXcD5Wo.js +1 -0
  1549. package/webapp/dist/assets/deployments-qV20Ak0P.js +1 -0
  1550. package/webapp/dist/assets/detail-B4TiBfxU.js +8 -0
  1551. package/webapp/dist/assets/detail-B85-Wees.js +2 -0
  1552. package/webapp/dist/assets/detail-CYS81K6Y.js +1 -0
  1553. package/webapp/dist/assets/dist-BUDn8hLh.js +11 -0
  1554. package/webapp/dist/assets/dist-Ci5pYRbx.js +1 -0
  1555. package/webapp/dist/assets/dist-DQmjHv4-.js +1 -0
  1556. package/webapp/dist/assets/dist-De9Fty7a.js +1 -0
  1557. package/webapp/dist/assets/dist-DsGmKwmk.js +23 -0
  1558. package/webapp/dist/assets/empty-content-7jOFhG4C.js +1 -0
  1559. package/webapp/dist/assets/error-boundary-CLLI8PWw.js +3 -0
  1560. package/webapp/dist/assets/event-fields-CiyqrRO8.js +1 -0
  1561. package/webapp/dist/assets/files-DigwXndm.js +2 -0
  1562. package/webapp/dist/assets/formatters-RnRy4bXm.js +1 -0
  1563. package/webapp/dist/assets/icons-OboZgWSt.js +1 -0
  1564. package/webapp/dist/assets/index-uq8Dkk4c.js +1 -0
  1565. package/webapp/dist/assets/label-B1SF0RTL.js +1 -0
  1566. package/webapp/dist/assets/log-level-filter-Bcn31D1F.js +1 -0
  1567. package/webapp/dist/assets/log-location-DuBjh6HQ.js +1 -0
  1568. package/webapp/dist/assets/logs-BqHOufk8.js +4 -0
  1569. package/webapp/dist/assets/metric-chart-M-kI-XOt.js +1 -0
  1570. package/webapp/dist/assets/metric-series-WxePniyw.js +1 -0
  1571. package/webapp/dist/assets/metrics-QIQaF7iS.js +1 -0
  1572. package/webapp/dist/assets/model-ZEXEHm0l.js +2 -0
  1573. package/webapp/dist/assets/mui-6ssfcZcz.js +1 -0
  1574. package/webapp/dist/assets/mui-AnEgAVjz.js +52 -0
  1575. package/webapp/dist/assets/mui-B1jrje6Z.js +1 -0
  1576. package/webapp/dist/assets/mui-BIz4LSVs.js +1 -0
  1577. package/webapp/dist/assets/mui-BTN91yBK.js +28 -0
  1578. package/webapp/dist/assets/mui-BXSXx9c9.js +124 -0
  1579. package/webapp/dist/assets/mui-BwsIrivo.js +37 -0
  1580. package/webapp/dist/assets/mui-C_hromOc.js +1 -0
  1581. package/webapp/dist/assets/mui-Cd711nOk.js +4 -0
  1582. package/webapp/dist/assets/mui-CdB_p2lt.js +10 -0
  1583. package/webapp/dist/assets/mui-DyT2n1lx.js +1 -0
  1584. package/webapp/dist/assets/mui-agG5dued.js +1 -0
  1585. package/webapp/dist/assets/mui-y44PQOfG.js +1 -0
  1586. package/webapp/dist/assets/nodes-BJPk02vv.js +7 -0
  1587. package/webapp/dist/assets/omnitron-logo-koMCbsCv.js +1 -0
  1588. package/webapp/dist/assets/operation-status-Bm1x1wTz.js +1 -0
  1589. package/webapp/dist/assets/page-breadcrumbs-fR7Jmpp4.js +1 -0
  1590. package/webapp/dist/assets/pipelines-T6Ch9LTw.js +3 -0
  1591. package/webapp/dist/assets/popper-m_9b0JRf.js +1 -0
  1592. package/webapp/dist/assets/preload-helper-DzCYNvzR.js +1 -0
  1593. package/webapp/dist/assets/project.store--G5pIF-J.js +1 -0
  1594. package/webapp/dist/assets/projects-YoBzcQ24.js +1 -0
  1595. package/webapp/dist/assets/react-BN8qLIAi.js +9 -0
  1596. package/webapp/dist/assets/react-CEuifcaQ.js +1 -0
  1597. package/webapp/dist/assets/react-apexcharts.esm-DoOt-pu4.js +1 -0
  1598. package/webapp/dist/assets/realtime.store-CBDO4Abj.js +1 -0
  1599. package/webapp/dist/assets/release-bits-B2a_wbft.js +1 -0
  1600. package/webapp/dist/assets/release-build-panel-BQmIdKW9.js +1 -0
  1601. package/webapp/dist/assets/release-deployment-state-DRrEI2pP.js +1 -0
  1602. package/webapp/dist/assets/release-wire-f2VuBoBF.js +1 -0
  1603. package/webapp/dist/assets/releases-Bp3CDgmo.js +2 -0
  1604. package/webapp/dist/assets/rolldown-runtime-CNOWq4Kh.js +1 -0
  1605. package/webapp/dist/assets/search-input-C0MHI8vO.js +1 -0
  1606. package/webapp/dist/assets/services-BddvcFi8.js +1 -0
  1607. package/webapp/dist/assets/settings-B3egRvbI.js +1 -0
  1608. package/webapp/dist/assets/settled-pair-B-wgSZl6.js +1 -0
  1609. package/webapp/dist/assets/shared-styles-C0vN3I7_.js +1 -0
  1610. package/webapp/dist/assets/shell-command-C3pXf1vi.js +1 -0
  1611. package/webapp/dist/assets/sign-in-9q-Nfy83.js +1 -0
  1612. package/webapp/dist/assets/skeleton-BmWDJWF9.js +1 -0
  1613. package/webapp/dist/assets/snackbar-DSPmjMyi.js +1 -0
  1614. package/webapp/dist/assets/stack-health-status-BIv2C10x.js +1 -0
  1615. package/webapp/dist/assets/stack-start-notice-BVnMOwRQ.js +1 -0
  1616. package/webapp/dist/assets/stacks-IZ1mfizi.js +1 -0
  1617. package/webapp/dist/assets/storage-CKXnhqkt.js +1 -0
  1618. package/webapp/dist/assets/store-bqUBn2A4.js +1 -0
  1619. package/webapp/dist/assets/sync-reading-CN0jPKAg.js +1 -0
  1620. package/webapp/dist/assets/system-info-BFKNM-hf.js +1 -0
  1621. package/webapp/dist/assets/table-BOWT6Y9d.js +1 -0
  1622. package/webapp/dist/assets/table-viewport-Bp4pq-c_.js +1 -0
  1623. package/webapp/dist/assets/tabs-k5NPGLnJ.js +1 -0
  1624. package/webapp/dist/assets/terminal-BrP-ENHg.css +1 -0
  1625. package/webapp/dist/assets/terminal-QWBau-Us.js +62 -0
  1626. package/webapp/dist/assets/terminal-input-b7f2VoE_.js +2 -0
  1627. package/webapp/dist/assets/topology-CPey5dP6.js +8 -0
  1628. package/webapp/dist/assets/topology-metadata-dialog-BivuU2y6.js +2 -0
  1629. package/webapp/dist/assets/topology-routes.worker-BoYrIzAH.js +1 -0
  1630. package/webapp/dist/assets/traces-By0rdfDC.js +1 -0
  1631. package/webapp/dist/assets/use-copy-to-clipboard-BWYpToS3.js +1 -0
  1632. package/webapp/dist/assets/use-polled-resource-B22hhr5L.js +1 -0
  1633. package/webapp/dist/assets/use-stack-context-UkBsF-l7.js +1 -0
  1634. package/webapp/dist/assets/webapp-BnxOVfrc.css +1 -0
  1635. package/webapp/dist/assets/webapp-D-UhjFhS.js +35 -0
  1636. package/webapp/dist/console-version.json +1 -0
  1637. package/webapp/dist/index.html +54 -7
  1638. package/dist/release/daemon-omni.d.ts +0 -41
  1639. package/dist/release/daemon-omni.d.ts.map +0 -1
  1640. package/dist/release/daemon-omni.js +0 -59
  1641. package/dist/release/daemon-omni.js.map +0 -1
  1642. package/dist/services/netron-telemetry-transport.d.ts +0 -42
  1643. package/dist/services/netron-telemetry-transport.d.ts.map +0 -1
  1644. package/dist/services/netron-telemetry-transport.js +0 -93
  1645. package/dist/services/netron-telemetry-transport.js.map +0 -1
  1646. package/webapp/dist/assets/FormControlLabel-BbSxpQwN.js +0 -1
  1647. package/webapp/dist/assets/Grid-DizFZYue.js +0 -1
  1648. package/webapp/dist/assets/Switch-Bfiqzx8l.js +0 -1
  1649. package/webapp/dist/assets/alerts-DH_RVRS3.js +0 -1
  1650. package/webapp/dist/assets/apps-B96355sz.js +0 -1
  1651. package/webapp/dist/assets/audit-CYGtbi4k.js +0 -1
  1652. package/webapp/dist/assets/client-BmqFExWT.js +0 -1
  1653. package/webapp/dist/assets/constants-veKGFkC6.js +0 -1
  1654. package/webapp/dist/assets/containers-B_TpThln.js +0 -2
  1655. package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +0 -1
  1656. package/webapp/dist/assets/dashboard-DHf2_65N.js +0 -1
  1657. package/webapp/dist/assets/dashboard-builder-CWY2pjeG.js +0 -1
  1658. package/webapp/dist/assets/deploy-release-dialog-Dp-zpSAd.js +0 -1
  1659. package/webapp/dist/assets/deployments-tJI6O3fK.js +0 -1
  1660. package/webapp/dist/assets/detail-B2zP1Hto.js +0 -8
  1661. package/webapp/dist/assets/detail-CoIrwmsy.js +0 -1
  1662. package/webapp/dist/assets/detail-DWaGaOtL.js +0 -2
  1663. package/webapp/dist/assets/formatters-BqjL73N3.js +0 -1
  1664. package/webapp/dist/assets/fs-Ccl3sAcp.js +0 -1
  1665. package/webapp/dist/assets/index-Dvo0iprx.css +0 -1
  1666. package/webapp/dist/assets/index-vMnY_4jR.js +0 -412
  1667. package/webapp/dist/assets/logs-DTRjOfX8.js +0 -12
  1668. package/webapp/dist/assets/maplibre-gl-DowHoZAx.js +0 -814
  1669. package/webapp/dist/assets/metrics-UCajtdox.js +0 -2
  1670. package/webapp/dist/assets/nodes-DuTVU0f6.js +0 -7
  1671. package/webapp/dist/assets/pipelines-C8BeDcAl.js +0 -4
  1672. package/webapp/dist/assets/projects-Dp_zFfLY.js +0 -1
  1673. package/webapp/dist/assets/react-DlmbjZJV.js +0 -1
  1674. package/webapp/dist/assets/react-apexcharts.esm-C8pn45ml.js +0 -97
  1675. package/webapp/dist/assets/release-bits-BzTKz5fM.js +0 -1
  1676. package/webapp/dist/assets/release-build-panel-DcW9YcXQ.js +0 -1
  1677. package/webapp/dist/assets/releases-B4hcr1bE.js +0 -2
  1678. package/webapp/dist/assets/rolldown-runtime-XKyaHtl9.js +0 -1
  1679. package/webapp/dist/assets/settings-DIteZTbe.js +0 -1
  1680. package/webapp/dist/assets/settled-pair-C7SjZuns.js +0 -1
  1681. package/webapp/dist/assets/sign-in-D4kMBOHp.js +0 -1
  1682. package/webapp/dist/assets/stacks-Brnf-EB7.js +0 -1
  1683. package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +0 -1
  1684. package/webapp/dist/assets/system-info-CFDNVKkU.js +0 -1
  1685. package/webapp/dist/assets/topology-7WeTUsDN.js +0 -12
  1686. package/webapp/dist/assets/traces-9c3gwCN-.js +0 -1
  1687. package/webapp/dist/assets/use-stack-context-CnA5FTHu.js +0 -1
@@ -1,31 +1,28 @@
1
- /**
2
- * InfrastructureService — Self-healing infrastructure provisioner
3
- *
4
- * Manages the complete lifecycle of infrastructure containers:
5
- * 1. Desired state declared in omnitron.config.ts
6
- * 2. Reconciliation loop diffs desired vs actual state
7
- * 3. Creates/starts/recreates containers as needed
8
- * 4. Continuous health monitoring with auto-restart
9
- * 5. Post-provisioning setup (create databases, buckets, etc.)
10
- *
11
- * Replaces: docker-compose.dev.yml + dev.sh + .env.dev
12
- *
13
- * Architecture:
14
- * InfrastructureConfig → ServiceResolver → ResolvedContainer[]
15
- * ResolvedContainer[] → ContainerRuntime → Docker CLI
16
- * Health Loop → detect failure → auto-restart (exponential backoff)
17
- */
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { RecoveryMutation, RecoveryBusyError } from '../daemon/recovery-state.js';
18
11
  import { computeBackoff } from '@omnitron-dev/titan/utils';
12
+ import { describeError } from '@omnitron-dev/titan/diagnostics';
13
+ import { isDeepStrictEqual } from 'node:util';
19
14
  import { resolveInfrastructure, resolveOmnitronPg, getManagedNetwork } from './service-resolver.js';
15
+ import { ownedContainerId } from './owned-container.js';
16
+ import { observeUnhealthy } from './health-recovery.js';
17
+ import { normalizeInfraConfig } from './config-normalizer.js';
18
+ import { createDefaultRegistry } from './presets/index.js';
20
19
  import { PhantomEndpointJanitor } from './phantom-endpoint-janitor.js';
21
20
  import { LOCAL_INFRA_HOST } from '../shared/local-infra-host.js';
22
- import { isDockerAvailable, getContainerState, createContainer, startContainer, removeContainer, ensureImage, waitForHealthy, createVolume, containerSpecHash, } from './container-runtime.js';
23
- import { summariseProvisioning, describeProvisioning } from './provisioning-outcome.js';
21
+ import { isDockerAvailable, getContainerState, createContainer, startContainer, removeContainer, ensureImage, waitForHealthy, createVolume, containerSpecHash, containerResources, containerResourcesMatch, } from './container-runtime.js';
22
+ import { summariseProvisioning, describeProvisioning, retainProvisioningObservation } from './provisioning-outcome.js';
24
23
  import { OMNITRON_PG_PORT, OMNITRON_PG_USER, OMNITRON_PG_PASSWORD, OMNITRON_PG_DATABASE, } from '../database/connection.js';
25
24
  const RECONCILE_INTERVAL = 30_000; // 30s health sweep
26
25
  const STARTUP_TIMEOUT = 120_000; // 2min max per service
27
- /** Consecutive 'unhealthy' ticks before recreate. 2 ticks @ 30s = 60s grace. */
28
- const UNHEALTHY_RESTART_THRESHOLD = 2;
29
26
  /** Restart circuit-breaker: first failed-restart backoff, doubled each failure. */
30
27
  const RESTART_BACKOFF_BASE = 30_000; // 30s
31
28
  /** Restart circuit-breaker: backoff ceiling (30s → 1m → 2m … capped here). */
@@ -94,6 +91,7 @@ export class InfrastructureService {
94
91
  presetRegistry;
95
92
  serviceOverrides;
96
93
  needsControlPlaneDatabase;
94
+ retiredStacks = new Set();
97
95
  desiredContainers = [];
98
96
  /** What the most recent reconcile did to each service. */
99
97
  lastActions = new Map();
@@ -102,15 +100,8 @@ export class InfrastructureService {
102
100
  healthTimer = null;
103
101
  state = { services: {}, ready: false };
104
102
  normalizedServices;
105
- /**
106
- * Per-service consecutive-unhealthy counter. Restart only fires after
107
- * UNHEALTHY_RESTART_THRESHOLD ticks in a row to avoid flapping during
108
- * cold-start / transient health-check timeouts. Reset to 0 on a healthy
109
- * observation. Without this, a service that briefly fails one health
110
- * probe (network blip, slow query) would be torn down and recreated,
111
- * making transient pressure look like outages.
112
- */
113
- unhealthyTicks = new Map();
103
+ /** Distinct completed probes and elapsed grace, bound to one native incarnation. */
104
+ unhealthyEvidence = new Map();
114
105
  /**
115
106
  * Per-service restart circuit-breaker. A container whose (re)create keeps
116
107
  * failing — an image that won't pull, or infra stuck on an unrecoverable
@@ -127,6 +118,8 @@ export class InfrastructureService {
127
118
  * once we know Docker is reachable; torn down in `teardown()`.
128
119
  */
129
120
  phantomJanitor = null;
121
+ handoffMonitoring = false;
122
+ janitorNetworks = [];
130
123
  constructor(logger, config, normalizedServices, presetRegistry,
131
124
  /**
132
125
  * Stack overrides. A service marked `disabled` here is not provisioned,
@@ -148,8 +141,14 @@ export class InfrastructureService {
148
141
  this.presetRegistry = presetRegistry;
149
142
  this.serviceOverrides = serviceOverrides;
150
143
  this.needsControlPlaneDatabase = needsControlPlaneDatabase;
151
- this.normalizedServices = normalizedServices ?? {};
144
+ this.presetRegistry ??= createDefaultRegistry();
145
+ if (!normalizedServices) {
146
+ normalizedServices = normalizeInfraConfig(config, this.presetRegistry);
147
+ }
148
+ this.normalizedServices = normalizedServices;
152
149
  this.desiredContainers = resolveInfrastructure(config, normalizedServices, serviceOverrides);
150
+ for (const desired of this.desiredContainers)
151
+ containerResources(desired);
153
152
  this.omnitronPgContainer = resolveOmnitronPg();
154
153
  }
155
154
  /**
@@ -166,24 +165,25 @@ export class InfrastructureService {
166
165
  * benign collision — the shared service was actually fine).
167
166
  *
168
167
  * The intended semantics for shared infrastructure is "all apps that
169
- * declare `postgres` use the same container", so the first
170
- * declaration wins. When subsequent declarations differ in shape
171
- * (image / env / ports), log a structured warning so the operator
172
- * can reconcile intent vs. config.
168
+ * declare `postgres` use the same container", so
169
+ * identical declarations are shared. Conflicting specifications refuse
170
+ * the plan before anything is provisioned.
173
171
  */
174
172
  addAppContainers(containers) {
173
+ for (const desired of containers)
174
+ containerResources(desired);
175
+ if (this.monitoringRelinquished)
176
+ throw new Error('Infrastructure monitoring ownership has been relinquished');
177
+ if (this.ownershipFrozen)
178
+ throw new Error('Infrastructure ownership is frozen');
175
179
  for (const c of containers) {
176
180
  const existing = this.desiredContainers.find((d) => d.name === c.name);
177
181
  if (!existing) {
178
182
  this.desiredContainers.push(c);
179
183
  continue;
180
184
  }
181
- if (!shallowContainerEqual(existing, c)) {
182
- this.logger.warn({
183
- container: c.name,
184
- existingImage: existing.image,
185
- duplicateImage: c.image,
186
- }, 'Duplicate container declaration with differing shape — keeping first; check for conflicting app infrastructure requirements (T#76)');
185
+ if (containerSpecHash(existing) !== containerSpecHash(c)) {
186
+ throw new Error(`Conflicting infrastructure declarations for ${c.name}; use one shared specification or distinct service names`);
187
187
  }
188
188
  // else: identical declaration, silent dedupe — this is the common case
189
189
  }
@@ -193,7 +193,62 @@ export class InfrastructureService {
193
193
  * Ensures Docker is available, pulls images, creates/starts containers,
194
194
  * runs post-provisioning setup, and starts the health monitor.
195
195
  */
196
- async provision() {
196
+ async provision(definition) {
197
+ if (this.monitoringRelinquished)
198
+ throw new Error('Infrastructure monitoring ownership has been relinquished');
199
+ if (this.ownershipFrozen)
200
+ throw new Error('Infrastructure ownership is frozen');
201
+ if (this.provisioning) {
202
+ if (definition)
203
+ throw new Error('Infrastructure provisioning is already in progress; retry the new declaration after it finishes');
204
+ return this.provisioning;
205
+ }
206
+ const task = this.provisionDefinition(definition);
207
+ this.provisioning = task;
208
+ try {
209
+ return await task;
210
+ }
211
+ finally {
212
+ if (this.provisioning === task)
213
+ this.provisioning = undefined;
214
+ }
215
+ }
216
+ /** Resolve a plan without installing another monitor or changing the current definition. */
217
+ resolveDefinition(config, services, overrides) {
218
+ return new InfrastructureService(this.logger, config, services, this.presetRegistry, overrides, this.needsControlPlaneDatabase);
219
+ }
220
+ async provisionDefinition(definition) {
221
+ const monitored = this.healthTimer !== null;
222
+ this.definitionChanging = true;
223
+ try {
224
+ try {
225
+ // An old sweep must finish before fresh declarations can authorize native work.
226
+ const drained = await Promise.allSettled([...this.activeSweeps, ...this.reconcileTasks.values()]);
227
+ if (drained.some(result => result.status === 'rejected'))
228
+ throw new Error('In-flight infrastructure reconciliation failed; inspect it before retrying provisioning');
229
+ await this.phantomJanitor?.drain();
230
+ if (definition && this.ownershipFrozen)
231
+ throw new Error('Infrastructure ownership changed before the new declaration was applied');
232
+ if (definition)
233
+ this.replaceDefinitionFrom(definition);
234
+ this.state.ready = false;
235
+ }
236
+ finally {
237
+ this.definitionChanging = false;
238
+ }
239
+ return await this.provisionOwned();
240
+ }
241
+ finally {
242
+ // Failed Docker admission must not silently abandon previously owned services.
243
+ if (monitored && !this.ownershipFrozen && !this.monitoringRelinquished) {
244
+ this.startHealthMonitor();
245
+ this.phantomJanitor?.start();
246
+ }
247
+ }
248
+ }
249
+ async provisionOwned() {
250
+ for (const desired of [...this.desiredContainers, ...this.controlPlaneContainers()])
251
+ containerResources(desired);
197
252
  // 1. Verify Docker is available
198
253
  if (!(await isDockerAvailable())) {
199
254
  throw new Error('Docker is not available. Omnitron requires Docker to manage infrastructure.\n' +
@@ -218,20 +273,17 @@ export class InfrastructureService {
218
273
  // 0.0.0.0:5480 on a host whose firewall allows only SSH.
219
274
  //
220
275
  // The control plane's database belongs to the control plane.
221
- this.logger.debug('This daemon keeps its own state in SQLite — not provisioning a control-plane database');
276
+ this.logger.debug('Control-plane database provisioning is outside this infrastructure allocation');
222
277
  }
223
278
  else if (decision.action === 'reconcile') {
224
279
  this.usingGlobalOmnitronPg = true;
225
280
  // A stack-prefixed leftover cannot run beside the global one — they
226
281
  // share port 5480 — so it goes before anything else touches that port.
227
282
  if (this.omnitronPgContainer.name !== decision.reconcileName) {
228
- const stalePg = await getContainerState(this.omnitronPgContainer.name);
283
+ const stalePg = await getContainerState(this.omnitronPgContainer.name, { orThrow: true, fullId: true });
229
284
  if (stalePg) {
230
- try {
231
- await removeContainer(this.omnitronPgContainer.name);
232
- this.logger.info({ service: this.omnitronPgContainer.name }, 'Removed stale stack-prefixed PG container');
233
- }
234
- catch { /* already gone */ }
285
+ await removeContainer(ownedContainerId(this.omnitronPgContainer, stalePg));
286
+ this.logger.info({ service: this.omnitronPgContainer.name }, 'Removed stale stack-prefixed PG container');
235
287
  }
236
288
  }
237
289
  // The same reconcile, and so the same drift check, as every app
@@ -307,8 +359,9 @@ export class InfrastructureService {
307
359
  // a Docker daemon restart / host suspend doesn't leave us
308
360
  // unable to recreate containers ("endpoint with name X
309
361
  // already exists in network ...").
362
+ this.janitorNetworks = [getManagedNetwork()];
310
363
  this.phantomJanitor = new PhantomEndpointJanitor({
311
- networks: [getManagedNetwork()],
364
+ networks: this.janitorNetworks,
312
365
  intervalMs: 60_000,
313
366
  logger: this.logger,
314
367
  });
@@ -343,6 +396,10 @@ export class InfrastructureService {
343
396
  * attempted" by reading `state.services` alone: the second leaves no entry,
344
397
  * and an absent entry is indistinguishable from an absent problem.
345
398
  */
399
+ /** Internal immutable plan. Never expose environment or command values through RPC. */
400
+ getDesiredContainers() {
401
+ return structuredClone(this.desiredContainers);
402
+ }
346
403
  getDesiredServices() {
347
404
  return this.desiredContainers.map((c) => ({ name: c.name, image: c.image }));
348
405
  }
@@ -353,8 +410,8 @@ export class InfrastructureService {
353
410
  * earlier monitor/reconcile work before acknowledging a handoff.
354
411
  */
355
412
  async refreshOwnershipFrom(candidate) {
356
- if (this.ownershipFrozen)
357
- throw new Error('Infrastructure ownership refresh already in progress');
413
+ if (this.ownershipFrozen || this.provisioning)
414
+ throw new Error('Infrastructure ownership refresh or provisioning already in progress');
358
415
  this.ownershipFrozen = true;
359
416
  try {
360
417
  const drained = await Promise.allSettled([...this.activeSweeps, ...this.reconcileTasks.values()]);
@@ -376,29 +433,129 @@ export class InfrastructureService {
376
433
  const actual = await getContainerState(name);
377
434
  const labels = desired.labels;
378
435
  if (!labels['omnitron.project'] || !labels['omnitron.stack'] || labels['omnitron.managed'] !== 'true' ||
379
- actual?.status !== 'running' || actual.networkAttached === false || actual.specHash !== containerSpecHash(desired) ||
436
+ actual?.status !== 'running' || actual.networkAttached === false || actual.specHash !== containerSpecHash(desired) || !containerResourcesMatch(desired, actual) ||
380
437
  Object.entries(labels).some(([key, value]) => actual.labels?.[key] !== value)) {
381
438
  throw new Error(`Cannot adopt service without matching running native ownership and spec: ${name}`);
382
439
  }
383
440
  adopted.push(name);
384
441
  }
385
442
  const released = [...current.keys()].filter(name => !next.has(name));
386
- this.desiredContainers = [...candidate.desiredContainers];
387
- this.config = candidate.config;
388
- this.normalizedServices = candidate.normalizedServices;
389
- this.serviceOverrides = candidate.serviceOverrides;
390
- for (const name of released) {
391
- delete this.state.services[name];
392
- this.unhealthyTicks.delete(name);
393
- this.restartBackoff.delete(name);
394
- this.lastActions.delete(name);
395
- }
443
+ this.replaceDefinitionFrom(candidate);
396
444
  return { released, adopted };
397
445
  }
398
446
  finally {
399
447
  this.ownershipFrozen = false;
400
448
  }
401
449
  }
450
+ /** Freeze and drain Docker mutations before another backend takes monitoring ownership. */
451
+ async prepareHandoff() {
452
+ if (this.ownershipFrozen)
453
+ throw new Error('Infrastructure ownership is already frozen');
454
+ this.ownershipFrozen = true;
455
+ this.handoffMonitoring = this.healthTimer !== null;
456
+ try {
457
+ const settled = await Promise.allSettled([...this.activeSweeps, ...this.reconcileTasks.values(), ...(this.provisioning ? [this.provisioning] : [])]);
458
+ if (settled.some(result => result.status === 'rejected'))
459
+ throw new Error('Infrastructure reconciliation failed while draining');
460
+ await this.phantomJanitor?.drain();
461
+ const observations = await InfrastructureService.validateHandoffContainers(this.desiredContainers, this.needsControlPlaneDatabase && !this.usingGlobalOmnitronPg ? this.omnitronPgContainer : undefined, this.state, { protocol: 1 });
462
+ this.dispose();
463
+ const snapshot = this.ownershipSnapshot(this.handoffMonitoring);
464
+ snapshot.nativeState = { protocol: 1, observations };
465
+ return snapshot;
466
+ }
467
+ catch (error) {
468
+ this.resumeAfterHandoff();
469
+ throw error;
470
+ }
471
+ }
472
+ captureRecoveryState() {
473
+ if (this.ownershipFrozen || this.provisioning || this.activeSweeps.size || this.reconcileTasks.size) {
474
+ throw new RecoveryBusyError('Infrastructure ownership is changing; a recovery snapshot is not ready');
475
+ }
476
+ return this.ownershipSnapshot(this.healthTimer !== null);
477
+ }
478
+ ownershipSnapshot(monitoring) {
479
+ return structuredClone({
480
+ nativeState: { protocol: 1 },
481
+ retiredStacks: [...this.retiredStacks],
482
+ config: this.config, containers: this.desiredContainers, normalizedServices: this.normalizedServices,
483
+ ...(this.serviceOverrides && { serviceOverrides: this.serviceOverrides }),
484
+ state: this.state, usingGlobalOmnitronPg: this.usingGlobalOmnitronPg,
485
+ needsControlPlaneDatabase: this.needsControlPlaneDatabase, monitoring,
486
+ controlPlaneContainer: this.omnitronPgContainer, janitorNetworks: this.janitorNetworks,
487
+ // Protocol1 rollback readers retain the old field but restart their
488
+ // confirmation window; poll counts cannot encode native observations.
489
+ unhealthyTicks: [], unhealthyEvidence: [...this.unhealthyEvidence], restartBackoff: [...this.restartBackoff],
490
+ });
491
+ }
492
+ resumeAfterHandoff() {
493
+ if (this.monitoringRelinquished)
494
+ return;
495
+ this.ownershipFrozen = false;
496
+ if (this.handoffMonitoring)
497
+ this.startHealthMonitor();
498
+ if (!this.phantomJanitor && this.janitorNetworks.length) {
499
+ this.phantomJanitor = new PhantomEndpointJanitor({ networks: this.janitorNetworks, intervalMs: 60_000, logger: this.logger });
500
+ this.phantomJanitor.start();
501
+ }
502
+ this.handoffMonitoring = false;
503
+ }
504
+ /** Read and validate existing containers. Never provision, start or recreate during adoption. */
505
+ static async adoptHandoff(logger, snapshot) {
506
+ await InfrastructureService.validateHandoffContainers(snapshot.containers, snapshot.needsControlPlaneDatabase && !snapshot.usingGlobalOmnitronPg ? snapshot.controlPlaneContainer : undefined, snapshot.state, snapshot.nativeState);
507
+ const service = new InfrastructureService(logger, snapshot.config, snapshot.normalizedServices, undefined, snapshot.serviceOverrides, snapshot.needsControlPlaneDatabase);
508
+ service.desiredContainers = structuredClone(snapshot.containers);
509
+ for (const key of snapshot.retiredStacks ?? [])
510
+ service.retiredStacks.add(key);
511
+ service.omnitronPgContainer = structuredClone(snapshot.controlPlaneContainer);
512
+ service.janitorNetworks = [...snapshot.janitorNetworks];
513
+ service.unhealthyEvidence = new Map(snapshot.unhealthyEvidence ?? []);
514
+ service.restartBackoff = new Map(snapshot.restartBackoff);
515
+ Object.assign(service.state, structuredClone(snapshot.state));
516
+ service.usingGlobalOmnitronPg = snapshot.usingGlobalOmnitronPg;
517
+ service.handoffMonitoring = snapshot.monitoring;
518
+ service.ownershipFrozen = true;
519
+ return service;
520
+ }
521
+ static async validateHandoffContainers(containers, controlPlane, state, nativeState) {
522
+ if (nativeState && nativeState.protocol !== 1)
523
+ throw new Error('Unsupported infrastructure native observation protocol');
524
+ const desiredContainers = [...containers, ...(controlPlane ? [controlPlane] : [])];
525
+ const expected = nativeState?.observations && new Map(nativeState.observations.map(entry => [entry.name, entry.containerId]));
526
+ if (expected && (expected.size !== nativeState.observations.length || expected.size !== desiredContainers.length ||
527
+ desiredContainers.some(desired => !expected.has(desired.name))))
528
+ throw new Error('Incomplete infrastructure native observations');
529
+ const observations = [];
530
+ for (const desired of desiredContainers) {
531
+ const actual = await getContainerState(desired.name, { orThrow: true, fullId: true });
532
+ const previous = state.services[desired.name];
533
+ // A failed creation owns no native container. Preserve that failure and
534
+ // its desired declaration; it must not make every backend upgrade fail.
535
+ // Missing previously observed or supposedly running resources still fail
536
+ // closed, as do legacy snapshots without the explicit protocol.
537
+ const failedCreation = nativeState?.protocol === 1 && previous?.status === 'exited' &&
538
+ !previous.containerId && typeof previous.error === 'string' && previous.error.length > 0;
539
+ if (!actual) {
540
+ if (!failedCreation || (expected && expected.get(desired.name) !== null))
541
+ throw new Error(`Infrastructure identity or specification changed during handoff: ${desired.name}`);
542
+ observations.push({ name: desired.name, containerId: null });
543
+ continue;
544
+ }
545
+ // Protocol 1 exported Docker's 12-character display ID. Keep its wire
546
+ // shape for rollback, while comparing a full prior state ID when present.
547
+ const matches = (id) => id?.length === 12
548
+ ? actual.containerId?.startsWith(id) : id === actual.containerId;
549
+ if (!actual.containerId || actual.specHash !== containerSpecHash(desired) || !containerResourcesMatch(desired, actual) ||
550
+ (expected && !matches(expected.get(desired.name))) ||
551
+ (previous?.containerId && !matches(previous.containerId)) ||
552
+ Object.entries(desired.labels).some(([key, value]) => actual.labels?.[key] !== value)) {
553
+ throw new Error(`Infrastructure identity or specification changed during handoff: ${desired.name}`);
554
+ }
555
+ observations.push({ name: desired.name, containerId: actual.containerId.slice(0, 12) });
556
+ }
557
+ return observations;
558
+ }
402
559
  /**
403
560
  * Services whose socket is new since this reconcile began.
404
561
  *
@@ -423,22 +580,88 @@ export class InfrastructureService {
423
580
  this.phantomJanitor = null;
424
581
  }
425
582
  }
583
+ /** Permanently release this entire observer, preserving every native resource. */
584
+ async relinquishMonitoring() {
585
+ if (this.monitoringRelinquished)
586
+ return [...this.relinquishedNames];
587
+ if (this.ownershipFrozen)
588
+ throw new Error('Infrastructure ownership is already frozen');
589
+ this.ownershipFrozen = true;
590
+ this.handoffMonitoring = false;
591
+ this.stopHealthMonitor();
592
+ const settled = await Promise.allSettled([
593
+ ...this.activeSweeps, ...this.reconcileTasks.values(), ...(this.provisioning ? [this.provisioning] : []),
594
+ ]);
595
+ // An already admitted provision may have created its janitor while being
596
+ // drained. Take the current reference only after that actor has completed.
597
+ await this.phantomJanitor?.drain();
598
+ // Rejected tasks are also finished. Their diagnostic remains in the state;
599
+ // relinquishing authority neither retries nor reverses their native work.
600
+ const failed = settled.filter(result => result.status === 'rejected').length;
601
+ if (failed)
602
+ this.logger.warn({ failed }, 'Infrastructure monitoring released after earlier reconciliation failures');
603
+ this.relinquishedNames = [...new Set([...this.desiredContainers, ...this.controlPlaneContainers()].map(item => item.name))];
604
+ this.monitoringRelinquished = true;
605
+ this.dispose();
606
+ this.janitorNetworks = [];
607
+ return [...this.relinquishedNames];
608
+ }
609
+ /** Stop reconciliation for exactly one allocation, retaining every other scope. */
610
+ async retireStack(scope) {
611
+ if (this.monitoringRelinquished)
612
+ throw new Error('Infrastructure monitoring ownership has been relinquished');
613
+ if (this.ownershipFrozen)
614
+ throw new Error('Infrastructure ownership is frozen');
615
+ const key = `${scope.project}/${scope.stack}`;
616
+ this.retiredStacks.add(key);
617
+ await Promise.allSettled([...this.activeSweeps, ...this.reconcileTasks.values()]);
618
+ this.desiredContainers = this.desiredContainers.filter(container => this.containerScope(container) !== key);
619
+ }
620
+ resumeStack(scope) {
621
+ if (this.monitoringRelinquished)
622
+ throw new Error('Infrastructure monitoring ownership has been relinquished');
623
+ if (this.ownershipFrozen)
624
+ throw new Error('Infrastructure ownership is frozen');
625
+ this.retiredStacks.delete(`${scope.project}/${scope.stack}`);
626
+ }
627
+ containerScope(container) {
628
+ return `${container.labels?.['omnitron.project']}/${container.labels?.['omnitron.stack']}`;
629
+ }
630
+ /** Exact names this local infrastructure owner would remove, without exposing credentials in container specs. */
631
+ getTeardownNames() {
632
+ return [...[...this.desiredContainers].reverse(), ...this.controlPlaneContainers()].map(container => container.name);
633
+ }
426
634
  /** Explicit infrastructure removal; process disposal alone preserves containers. */
427
635
  async teardown() {
636
+ if (this.monitoringRelinquished)
637
+ throw new Error('Infrastructure monitoring ownership has been relinquished');
638
+ if (this.ownershipFrozen)
639
+ throw new Error('Infrastructure ownership is frozen');
640
+ this.ownershipFrozen = true;
641
+ this.stopHealthMonitor();
642
+ await Promise.allSettled([...this.activeSweeps, ...this.reconcileTasks.values(), ...(this.provisioning ? [this.provisioning] : [])]);
643
+ await this.phantomJanitor?.drain();
428
644
  this.dispose();
429
645
  // Remove all containers in parallel for fast shutdown — the control-plane
430
646
  // database only where this service keeps one (`controlPlaneContainers`).
431
- const allContainers = [...[...this.desiredContainers].reverse(), ...this.controlPlaneContainers()];
432
- await Promise.allSettled(allContainers.map(async (c) => {
433
- try {
434
- await removeContainer(c.name);
435
- this.logger.info({ service: c.name }, 'Container removed');
436
- }
437
- catch {
438
- // Already removed
439
- }
647
+ const allContainers = [...this.desiredContainers, ...this.controlPlaneContainers()];
648
+ // Validate every target before removing the first. Absence is an idempotent success.
649
+ const reviewed = await Promise.all(allContainers.map(async (desired) => {
650
+ const actual = await getContainerState(desired.name, { orThrow: true, fullId: true });
651
+ return actual ? ownedContainerId(desired, actual) : null;
652
+ }));
653
+ const results = await Promise.allSettled(reviewed.map(async (id, index) => {
654
+ if (!id)
655
+ return;
656
+ await removeContainer(id, { graceful: true });
657
+ this.logger.info({ service: allContainers[index].name }, 'Container removed');
440
658
  }));
441
659
  this.state.ready = false;
660
+ const failures = results.flatMap((result, index) => result.status === 'rejected'
661
+ ? [new Error(`${allContainers[index].name}: ${String(result.reason)}`, { cause: result.reason })] : []);
662
+ if (failures.length) {
663
+ throw new AggregateError(failures, `Infrastructure stop incomplete: ${failures.map(error => error.message).join('; ')}`);
664
+ }
442
665
  }
443
666
  /**
444
667
  * Get current infrastructure state.
@@ -446,26 +669,34 @@ export class InfrastructureService {
446
669
  getState() {
447
670
  return this.state;
448
671
  }
449
- /**
450
- * Serve the stack's definition as it is now.
451
- *
452
- * A node's daemon builds this service on its first `provisionStack` and
453
- * reuses it for every later one — rightly: a second service would be a
454
- * second janitor and a second health monitor over one set of containers.
455
- * But the definition it was built with stayed its definition. A later
456
- * deployment that enabled a service, changed an image or dropped a
457
- * `disabled` reached the node's host services — `reconcileHostServices`
458
- * reads each call's own — and not its containers, until something restarted
459
- * the daemon. Replaced whole, as the constructor sets it; `setConfigRoots`
460
- * and `addAppContainers` then work on this set, as on a first call.
461
- */
462
- redefine(config, normalizedServices, serviceOverrides) {
463
- if (this.ownershipFrozen)
464
- throw new Error('Infrastructure ownership refresh in progress');
465
- this.config = config;
466
- this.normalizedServices = normalizedServices;
467
- this.serviceOverrides = serviceOverrides;
468
- this.desiredContainers = resolveInfrastructure(config, normalizedServices, serviceOverrides);
672
+ /** Called only after older native work has drained and new observations are held. */
673
+ replaceDefinitionFrom(candidate) {
674
+ if (candidate.needsControlPlaneDatabase !== this.needsControlPlaneDatabase)
675
+ throw new Error('Infrastructure declaration cannot change control-plane database ownership');
676
+ const next = new Map(candidate.desiredContainers.map(container => [container.name, container]));
677
+ if (next.size !== candidate.desiredContainers.length)
678
+ throw new Error('Duplicate desired container identity');
679
+ for (const container of this.desiredContainers) {
680
+ const replacement = next.get(container.name);
681
+ if (replacement && !sameRecord(container.labels, replacement.labels))
682
+ throw new Error(`Infrastructure declaration cannot change retained ownership: ${container.name}`);
683
+ }
684
+ const previousServices = this.normalizedServices;
685
+ for (const container of this.desiredContainers) {
686
+ const replacement = next.get(container.name);
687
+ if (!replacement || containerSpecHash(container) !== containerSpecHash(replacement)) {
688
+ delete this.state.services[container.name];
689
+ this.unhealthyEvidence.delete(container.name);
690
+ this.restartBackoff.delete(container.name);
691
+ this.lastActions.delete(container.name);
692
+ }
693
+ }
694
+ this.config = candidate.config;
695
+ this.normalizedServices = candidate.normalizedServices;
696
+ this.serviceOverrides = candidate.serviceOverrides;
697
+ this.desiredContainers = [...candidate.desiredContainers];
698
+ this.invalidateChangedSetup(previousServices);
699
+ this.state.ready = summariseProvisioning(this.desiredContainers, this.state.services).ready;
469
700
  }
470
701
  /**
471
702
  * Get normalized services (from preset system).
@@ -486,6 +717,15 @@ export class InfrastructureService {
486
717
  return [];
487
718
  return Object.keys(pg.databases);
488
719
  }
720
+ /** The bucket inventory declared to the same MinIO provisioner. */
721
+ getMinioBuckets() {
722
+ const buckets = this.normalizedServices['minio']?._presetConfig?.['buckets'] ?? this.config.minio?.buckets;
723
+ if (buckets === undefined)
724
+ return [];
725
+ if (!Array.isArray(buckets) || buckets.some(bucket => typeof bucket !== 'string'))
726
+ throw new Error('Invalid declared MinIO bucket inventory');
727
+ return [...new Set(buckets)];
728
+ }
489
729
  /**
490
730
  * Resolved container name for an infra service (e.g. 'postgres' →
491
731
  * 'acme-dev-postgres'). Taken from the already-resolved desired containers
@@ -526,12 +766,16 @@ export class InfrastructureService {
526
766
  }
527
767
  case 'minio': {
528
768
  const minio = this.config.minio;
529
- if (!minio)
769
+ const name = this.getResolvedContainerName('minio');
770
+ const resolved = this.desiredContainers.find(container => container.name === name);
771
+ if (!resolved && !minio)
530
772
  return null;
773
+ // Use the provisioner's resolved specification for both declaration forms.
774
+ // Reading only legacy `minio` loses credentials when `services.minio` overrides it.
531
775
  return {
532
- endpoint: `http://${LOCAL_INFRA_HOST}:${minio.ports?.api ?? 9000}`,
533
- accessKey: minio.accessKey ?? 'minioadmin',
534
- secretKey: typeof minio.secretKey === 'string' ? minio.secretKey : 'minioadmin',
776
+ endpoint: `http://${LOCAL_INFRA_HOST}:${resolved?.ports.find(port => port.container === 9000)?.host ?? minio?.ports?.api ?? 9000}`,
777
+ accessKey: resolved?.environment['MINIO_ROOT_USER'] ?? minio?.accessKey ?? 'minioadmin',
778
+ secretKey: resolved?.environment['MINIO_ROOT_PASSWORD'] ?? (typeof minio?.secretKey === 'string' ? minio.secretKey : 'minioadmin'),
535
779
  forcePathStyle: true,
536
780
  };
537
781
  }
@@ -564,6 +808,10 @@ export class InfrastructureService {
564
808
  reconcileTasks = new Map();
565
809
  activeSweeps = new Set();
566
810
  ownershipFrozen = false;
811
+ definitionChanging = false;
812
+ monitoringRelinquished = false;
813
+ provisioning;
814
+ relinquishedNames = [];
567
815
  /**
568
816
  * Where this node keeps each service's config files, once a master sent them.
569
817
  *
@@ -596,16 +844,19 @@ export class InfrastructureService {
596
844
  return;
597
845
  this.desiredContainers = resolveInfrastructure(this.config, this.normalizedServices, this.serviceOverrides, roots, { redis, staticRoots, ...(staticLinkRoots && { staticLinkRoots }) });
598
846
  }
599
- async reconcileService(desired) {
847
+ reconcileService(desired) {
848
+ return this.withContainerReconciliation(desired, () => this.reconcileServiceLocked(desired));
849
+ }
850
+ async withContainerReconciliation(desired, operation) {
600
851
  // T#58: per-name lock around the whole inspect→decide→act loop.
601
- if (this.ownershipFrozen || this.reconciling.has(desired.name)) {
852
+ if (this.ownershipFrozen || this.definitionChanging || this.retiredStacks.has(this.containerScope(desired)) || this.reconciling.has(desired.name)) {
602
853
  this.logger.debug({ service: desired.name }, 'Reconcile already in flight — skipping');
603
854
  return;
604
855
  }
605
856
  this.reconciling.add(desired.name);
606
- const task = this.reconcileServiceLocked(desired);
607
- this.reconcileTasks.set(desired.name, task);
608
857
  try {
858
+ const task = operation();
859
+ this.reconcileTasks.set(desired.name, task);
609
860
  await task;
610
861
  }
611
862
  finally {
@@ -614,9 +865,10 @@ export class InfrastructureService {
614
865
  }
615
866
  }
616
867
  async reconcileServiceLocked(desired) {
617
- const actual = await getContainerState(desired.name);
618
- if (this.ownershipFrozen)
868
+ const actual = await getContainerState(desired.name, { orThrow: true, fullId: true });
869
+ if (this.ownershipFrozen || this.definitionChanging || this.retiredStacks.has(this.containerScope(desired)))
619
870
  return;
871
+ const id = actual && ownedContainerId(desired, actual);
620
872
  const action = this.computeAction(desired, actual);
621
873
  // A container that was created, started or recreated is listening on a
622
874
  // NEW socket. Applications already running hold pools pointing at the
@@ -635,12 +887,12 @@ export class InfrastructureService {
635
887
  break;
636
888
  case 'start':
637
889
  this.logger.info({ service: desired.name }, 'Starting existing service');
638
- await startContainer(action.containerId);
639
- await this.waitHealthy(desired.name);
890
+ await startContainer(id);
891
+ await this.waitHealthy(id);
640
892
  break;
641
893
  case 'recreate':
642
894
  this.logger.info({ service: desired.name, reason: action.reason }, 'Recreating service');
643
- await removeContainer(desired.name);
895
+ await removeContainer(id);
644
896
  await this.createAndStart(desired);
645
897
  break;
646
898
  case 'remove':
@@ -650,15 +902,48 @@ export class InfrastructureService {
650
902
  break;
651
903
  }
652
904
  // Update state
653
- const newState = await getContainerState(desired.name);
905
+ const newState = await getContainerState(desired.name, { orThrow: true, fullId: true });
654
906
  if (newState) {
655
- this.state.services[desired.name] = newState;
907
+ this.recordContainerObservation(desired, newState);
908
+ }
909
+ }
910
+ async recoverUnhealthyLocked(desired, actual, previous) {
911
+ // Recheck immediately before destruction: queued polls, recovery and
912
+ // replacement while inspecting must not authorize a stale decision.
913
+ const confirmed = await getContainerState(desired.name, { orThrow: true, fullId: true });
914
+ if (this.ownershipFrozen || this.definitionChanging || this.retiredStacks.has(this.containerScope(desired)))
915
+ return;
916
+ if (!confirmed || confirmed.containerId !== actual.containerId || confirmed.startedAt !== actual.startedAt ||
917
+ Date.parse(confirmed.healthCheck?.completedAt ?? '') < Date.parse(actual.healthCheck.completedAt) ||
918
+ !observeUnhealthy(previous, confirmed, Date.now()).restart) {
919
+ this.unhealthyEvidence.delete(desired.name);
920
+ this.logger.info({ service: desired.name }, 'Health recovery decision changed before restart; keeping the container');
921
+ }
922
+ else {
923
+ this.unhealthyEvidence.delete(desired.name);
924
+ const failures = (this.restartBackoff.get(desired.name)?.failures ?? 0) + 1;
925
+ const backoffMs = restartBackoffMs(failures);
926
+ // Count attempts until an observed healthy container recovers.
927
+ // A successful create alone cannot erase repeated health failure.
928
+ this.restartBackoff.set(desired.name, { failures, nextAttemptAt: Date.now() + backoffMs });
929
+ this.logger.warn({ service: desired.name, nativeCheck: confirmed.healthCheck, failures, backoffMs }, 'Confirmed sustained native health failure — restarting container');
930
+ try {
931
+ await removeContainer(ownedContainerId(desired, confirmed));
932
+ await this.createAndStart(desired);
933
+ }
934
+ catch (err) {
935
+ this.logger.error({ service: desired.name, error: describeError(err, 0, Object.values(desired.environment)), failures, backoffMs }, 'Health restart failed; recovery backoff retained');
936
+ }
656
937
  }
657
938
  }
658
939
  computeAction(desired, actual) {
940
+ containerResources(desired);
659
941
  if (!actual) {
660
942
  return { type: 'create', service: desired.name, config: desired };
661
943
  }
944
+ if (!containerResourcesMatch(desired, actual)) {
945
+ return { type: 'recreate', service: desired.name, config: desired, reason: 'resource limits differ from Docker inspection' };
946
+ }
662
947
  if (actual.status === 'running') {
663
948
  // Running but detached from all networks (OrbStack/dockerd-restart
664
949
  // artifact): the container is unreachable and its published ports are
@@ -740,6 +1025,7 @@ export class InfrastructureService {
740
1025
  };
741
1026
  }
742
1027
  async createAndStart(desired) {
1028
+ containerResources(desired);
743
1029
  // Ensure volumes exist
744
1030
  for (const vol of desired.volumes) {
745
1031
  if (!vol.source.startsWith('/') && !vol.source.startsWith('.')) {
@@ -757,41 +1043,30 @@ export class InfrastructureService {
757
1043
  this.logger.info({ service: desired.name }, 'Non-critical service — skipping health wait');
758
1044
  }
759
1045
  else {
760
- await this.waitHealthy(desired.name);
1046
+ await this.waitHealthy(id);
761
1047
  }
762
1048
  }
763
1049
  async waitHealthy(name) {
764
1050
  // Poll Docker health via async CLI — avoids blocking event loop
765
- const { exec } = await import('node:child_process');
1051
+ const { execFile } = await import('node:child_process');
766
1052
  const { promisify } = await import('node:util');
767
- const execAsync = promisify(exec);
1053
+ const inspect = promisify(execFile);
768
1054
  const startTime = Date.now();
769
- const pollInterval = 2000;
770
1055
  while (Date.now() - startTime < STARTUP_TIMEOUT) {
771
1056
  try {
772
- const { stdout } = await execAsync(`docker inspect --format='{{.State.Health.Status}}' ${name} 2>/dev/null || echo "none"`, { encoding: 'utf-8', timeout: 5000 });
773
- const output = (stdout ?? '').trim().replace(/'/g, '');
774
- if (output === 'healthy') {
775
- this.logger.info({ service: name, elapsed: Date.now() - startTime }, 'Service healthy');
1057
+ const { stdout } = await inspect('docker', ['inspect', '--format', '{{json .State}}', '--', name], { encoding: 'utf8', timeout: 5000 });
1058
+ const state = JSON.parse(stdout);
1059
+ if (state.Health?.Status === 'healthy' || (state.Status === 'running' && (!state.Health || state.Health.Status === 'none')))
1060
+ return;
1061
+ if (state.Status === 'exited' || state.Status === 'dead') {
1062
+ this.logger.warn({ service: name, status: state.Status }, 'Container not running');
776
1063
  return;
777
- }
778
- if (output === 'none' || output === '') {
779
- const { stdout: statusOut } = await execAsync(`docker inspect --format='{{.State.Status}}' ${name} 2>/dev/null || echo "missing"`, { encoding: 'utf-8', timeout: 5000 });
780
- const status = (statusOut ?? '').trim().replace(/'/g, '');
781
- if (status === 'running') {
782
- this.logger.info({ service: name, elapsed: Date.now() - startTime }, 'Service running (no health check)');
783
- return;
784
- }
785
- if (status === 'exited' || status === 'dead' || status === 'missing') {
786
- this.logger.warn({ service: name, status }, 'Container not running');
787
- return;
788
- }
789
1064
  }
790
1065
  }
791
1066
  catch {
792
1067
  // docker CLI failed — retry
793
1068
  }
794
- await new Promise((r) => setTimeout(r, pollInterval));
1069
+ await new Promise((r) => setTimeout(r, 2000));
795
1070
  }
796
1071
  this.logger.warn({ service: name, timeout: STARTUP_TIMEOUT }, 'Service did not become healthy within timeout');
797
1072
  }
@@ -805,41 +1080,40 @@ export class InfrastructureService {
805
1080
  * Generic post-provision: iterate all services, call preset hooks.
806
1081
  * Replaces hardcoded createPostgresDatabases() / createMinioBuckets().
807
1082
  */
808
- async runPresetPostProvisionHooks() {
1083
+ requiresPostProvision(desired) {
1084
+ const requirement = this.normalizedServices[desired.labels['omnitron.service'] ?? ''];
1085
+ if (!requirement?._preset)
1086
+ return false;
1087
+ const preset = this.presetRegistry?.get(requirement._preset);
1088
+ return !preset || Boolean(preset.postProvision);
1089
+ }
1090
+ recordContainerObservation(desired, actual) {
1091
+ this.state.services[desired.name] = retainProvisioningObservation(actual, this.state.services[desired.name], this.requiresPostProvision(desired));
1092
+ }
1093
+ invalidateChangedSetup(previous) {
1094
+ for (const container of this.desiredContainers) {
1095
+ const name = container.labels['omnitron.service'] ?? '';
1096
+ const state = this.state.services[container.name];
1097
+ if (state && this.requiresPostProvision(container) && !isDeepStrictEqual(previous[name], this.normalizedServices[name])) {
1098
+ state.provisioning = 'pending';
1099
+ state.error = 'Declared service setup changed and must be verified';
1100
+ this.state.ready = false;
1101
+ }
1102
+ }
1103
+ }
1104
+ async runPresetPostProvisionHooks(only) {
809
1105
  const { execFile } = await import('node:child_process');
810
1106
  const { promisify } = await import('node:util');
811
1107
  const execFileAsync = promisify(execFile);
812
- // A preset hook is what creates the databases inside Postgres and the
813
- // buckets inside MinIO — the containers are running either way, so a
814
- // failure here is invisible until an application cannot find its
815
- // database.
816
- //
817
- // `this.presetRegistry!` asserted a dependency the constructor declares
818
- // OPTIONAL, so a caller that did not pass one — which the type permits —
819
- // got `Cannot read properties of undefined (reading 'get')` from a line
820
- // that reads as internal, after every container was already up.
821
- // Measured on a node provisioning a stack, where the containers stayed
822
- // and the databases were never made.
823
- if (!this.presetRegistry) {
824
- const withPresets = Object.entries(this.normalizedServices)
825
- .filter(([, r]) => r._preset)
826
- .map(([name]) => name);
827
- if (withPresets.length > 0) {
828
- this.logger.error({ services: withPresets }, 'No preset registry, so post-provision steps were skipped — these services are running but their databases and buckets were not created');
829
- }
830
- return;
831
- }
832
1108
  for (const [serviceName, requirement] of Object.entries(this.normalizedServices)) {
833
1109
  if (!requirement._preset)
834
1110
  continue;
835
- const preset = this.presetRegistry.get(requirement._preset);
836
- if (!preset?.postProvision)
1111
+ const preset = this.presetRegistry?.get(requirement._preset);
1112
+ if (preset && !preset.postProvision)
837
1113
  continue;
838
- const container = this.desiredContainers.find((c) => c.name.endsWith(`-${serviceName}`));
839
- if (!container)
1114
+ const container = this.desiredContainers.find((c) => c.labels['omnitron.service'] === serviceName);
1115
+ if (!container || (only && container.name !== only.name))
840
1116
  continue;
841
- const cName = container.name;
842
- await waitForHealthy(cName, 30_000);
843
1117
  // Resolve secrets from requirement
844
1118
  const secrets = {};
845
1119
  if (requirement.secrets) {
@@ -847,24 +1121,47 @@ export class InfrastructureService {
847
1121
  secrets[k] = typeof v === 'string' ? v : '';
848
1122
  }
849
1123
  }
850
- const execInCont = async (command) => {
851
- const { stdout } = await execFileAsync('docker', ['exec', cName, ...command], {
852
- encoding: 'utf-8',
853
- timeout: 10_000,
854
- });
855
- return (stdout ?? '').trim();
856
- };
1124
+ const safeError = (error) => describeError(error, 0, Object.values(secrets));
857
1125
  try {
1126
+ const actual = await getContainerState(container.name, { orThrow: true, fullId: true });
1127
+ if (!actual)
1128
+ throw new Error('Declared service container is absent');
1129
+ const cName = ownedContainerId(container, actual);
1130
+ this.state.services[container.name] = { ...actual, provisioning: 'pending', error: 'Declared service setup is in progress' };
1131
+ if (!preset)
1132
+ throw new Error(`Preset '${requirement._preset}' is unavailable; declared service setup cannot be verified`);
1133
+ if (!await waitForHealthy(cName, 30_000))
1134
+ throw new Error('Container did not become healthy before declared service setup');
858
1135
  await preset.postProvision({
859
- containerName: cName,
1136
+ containerName: container.name,
860
1137
  userConfig: requirement._presetConfig ?? {},
861
1138
  secrets,
862
- execInContainer: execInCont,
1139
+ execInContainer: async (command) => {
1140
+ try {
1141
+ const { stdout } = await execFileAsync('docker', ['exec', cName, ...command], { encoding: 'utf-8', timeout: 10_000 });
1142
+ return (stdout ?? '').trim();
1143
+ }
1144
+ catch (error) {
1145
+ // Raw subprocess causes include credential arguments. Preserve only the sanitized cause.
1146
+ // eslint-disable-next-line preserve-caught-error
1147
+ throw new Error('Declared service setup command failed', { cause: safeError(error) });
1148
+ }
1149
+ },
863
1150
  logger: this.logger,
864
1151
  });
1152
+ const confirmed = await getContainerState(container.name, { orThrow: true, fullId: true });
1153
+ if (!confirmed || confirmed.status !== 'running' || confirmed.health === 'unhealthy' ||
1154
+ confirmed.containerId !== actual.containerId || confirmed.startedAt !== actual.startedAt)
1155
+ throw new Error('Container generation changed during declared service setup');
1156
+ this.state.services[container.name] = { ...confirmed, provisioning: 'ready' };
865
1157
  }
866
1158
  catch (err) {
867
- this.logger.error({ service: serviceName, preset: requirement._preset, error: err.message }, 'Post-provision hook failed');
1159
+ const error = `Post-provisioning '${serviceName}': ${safeError(err)}`;
1160
+ this.state.services[container.name] = {
1161
+ ...(this.state.services[container.name] ?? { name: container.name, image: container.image, status: 'not_found' }),
1162
+ provisioning: 'failed', error,
1163
+ };
1164
+ this.logger.error({ service: serviceName, preset: requirement._preset, error }, 'Post-provision hook failed');
868
1165
  }
869
1166
  }
870
1167
  }
@@ -905,6 +1202,8 @@ export class InfrastructureService {
905
1202
  // Private — Health Monitor (Self-Healing)
906
1203
  // ===========================================================================
907
1204
  startHealthMonitor() {
1205
+ if (this.monitoringRelinquished || this.ownershipFrozen || this.healthTimer)
1206
+ return;
908
1207
  this.healthTimer = setInterval(() => {
909
1208
  this.healthSweep().catch((err) => {
910
1209
  this.logger.error({ error: err.message }, 'Health sweep failed');
@@ -933,7 +1232,7 @@ export class InfrastructureService {
933
1232
  return this.needsControlPlaneDatabase && !this.usingGlobalOmnitronPg ? [this.omnitronPgContainer] : [];
934
1233
  }
935
1234
  async healthSweep() {
936
- if (this.ownershipFrozen)
1235
+ if (this.ownershipFrozen || this.provisioning || this.activeSweeps.size)
937
1236
  return;
938
1237
  const task = this.healthSweepOwned();
939
1238
  this.activeSweeps.add(task);
@@ -949,9 +1248,11 @@ export class InfrastructureService {
949
1248
  // service keeps one.
950
1249
  const allContainers = [...this.controlPlaneContainers(), ...this.desiredContainers];
951
1250
  for (const desired of allContainers) {
952
- const actual = await getContainerState(desired.name);
953
- if (this.ownershipFrozen)
1251
+ const actual = await getContainerState(desired.name, { orThrow: true, fullId: true });
1252
+ if (this.ownershipFrozen || this.definitionChanging)
954
1253
  return;
1254
+ if (this.retiredStacks.has(this.containerScope(desired)))
1255
+ continue;
955
1256
  // T#58: Docker's own `--restart=always` / `--restart=on-failure`
956
1257
  // policy puts the container into the 'restarting' state for the
957
1258
  // brief window between exit and re-entry. If we recreate during
@@ -960,11 +1261,12 @@ export class InfrastructureService {
960
1261
  // may end up duplicated under a renamed transient. Let Docker
961
1262
  // finish; the next 30s tick will see 'running' and skip.
962
1263
  if (actual?.status === 'restarting') {
1264
+ this.unhealthyEvidence.delete(desired.name);
963
1265
  this.logger.debug({ service: desired.name }, "Service is restarting via Docker's own policy — yielding to it (T#58)");
964
1266
  continue;
965
1267
  }
966
1268
  if (!actual || actual.status !== 'running') {
967
- this.unhealthyTicks.delete(desired.name);
1269
+ this.unhealthyEvidence.delete(desired.name);
968
1270
  // Circuit-breaker: while a service is inside its backoff window, skip
969
1271
  // the restart so a permanently-failing container can't hammer the
970
1272
  // supervisor every tick and starve the daemon's event loop.
@@ -976,7 +1278,6 @@ export class InfrastructureService {
976
1278
  this.logger.warn({ service: desired.name, status: actual?.status ?? 'not_found' }, 'Service not running — auto-restarting');
977
1279
  try {
978
1280
  await this.reconcileService(desired);
979
- this.restartBackoff.delete(desired.name);
980
1281
  }
981
1282
  catch (err) {
982
1283
  const failures = (this.restartBackoff.get(desired.name)?.failures ?? 0) + 1;
@@ -986,65 +1287,109 @@ export class InfrastructureService {
986
1287
  }
987
1288
  }
988
1289
  else if (actual.health === 'unhealthy') {
989
- const ticks = (this.unhealthyTicks.get(desired.name) ?? 0) + 1;
990
- this.unhealthyTicks.set(desired.name, ticks);
991
- if (ticks < UNHEALTHY_RESTART_THRESHOLD) {
992
- this.logger.warn({ service: desired.name, consecutiveUnhealthy: ticks, threshold: UNHEALTHY_RESTART_THRESHOLD }, 'Service unhealthy — waiting for confirmation before restart');
1290
+ const previous = this.unhealthyEvidence.get(desired.name);
1291
+ const observation = observeUnhealthy(previous, actual, Date.now());
1292
+ if (observation.evidence)
1293
+ this.unhealthyEvidence.set(desired.name, observation.evidence);
1294
+ else
1295
+ this.unhealthyEvidence.delete(desired.name);
1296
+ const backoff = this.restartBackoff.get(desired.name);
1297
+ if (backoff && Date.now() < backoff.nextAttemptAt) {
1298
+ this.logger.debug({ service: desired.name, retryInMs: backoff.nextAttemptAt - Date.now() }, 'Service unhealthy — recovery backoff remains active');
1299
+ }
1300
+ else if (!observation.restart) {
1301
+ this.logger.warn({ service: desired.name, reason: observation.reason, nativeCheck: actual.healthCheck }, 'Service unhealthy — waiting for confirmed native failure');
993
1302
  }
994
1303
  else {
995
- this.unhealthyTicks.delete(desired.name);
996
- this.logger.warn({ service: desired.name, consecutiveUnhealthy: ticks }, 'Service unhealthy past threshold — restarting container');
997
- try {
998
- await removeContainer(desired.name);
999
- await this.createAndStart(desired);
1000
- }
1001
- catch (err) {
1002
- this.logger.error({ service: desired.name, error: err.message }, 'Health restart failed');
1003
- }
1304
+ await this.withContainerReconciliation(desired, () => this.recoverUnhealthyLocked(desired, actual, previous));
1004
1305
  }
1005
1306
  }
1006
1307
  else {
1007
- // Healthy or starting — clear any accumulated unhealthy ticks and
1008
- // reset the restart circuit-breaker (it may have recovered on its own
1009
- // via Docker's restart policy).
1010
- this.unhealthyTicks.delete(desired.name);
1011
- this.restartBackoff.delete(desired.name);
1308
+ // A starting container is not evidence of recovery. Retain backoff
1309
+ // until a running container is healthy (or declares no native probe).
1310
+ this.unhealthyEvidence.delete(desired.name);
1311
+ if ((actual.health === 'healthy' || actual.health === 'none') && this.state.services[desired.name]?.provisioning !== 'failed')
1312
+ this.restartBackoff.delete(desired.name);
1012
1313
  }
1013
1314
  // Update state
1014
- const newState = await getContainerState(desired.name);
1315
+ const newState = await getContainerState(desired.name, { orThrow: true, fullId: true });
1015
1316
  if (newState) {
1016
- this.state.services[desired.name] = newState;
1317
+ this.recordContainerObservation(desired, newState);
1318
+ const state = this.state.services[desired.name];
1319
+ if (state.status === 'running' && state.health !== 'unhealthy' &&
1320
+ (state.provisioning === 'pending' || state.provisioning === 'failed') &&
1321
+ Date.now() >= (this.restartBackoff.get(desired.name)?.nextAttemptAt ?? 0)) {
1322
+ await this.runPresetPostProvisionHooks(desired);
1323
+ if (this.state.services[desired.name]?.provisioning === 'ready') {
1324
+ if (this.state.services[desired.name]?.health === 'healthy' || this.state.services[desired.name]?.health === 'none')
1325
+ this.restartBackoff.delete(desired.name);
1326
+ }
1327
+ else {
1328
+ const failures = (this.restartBackoff.get(desired.name)?.failures ?? 0) + 1;
1329
+ this.restartBackoff.set(desired.name, { failures, nextAttemptAt: Date.now() + restartBackoffMs(failures) });
1330
+ }
1331
+ }
1017
1332
  }
1018
1333
  }
1334
+ this.state.ready = summariseProvisioning(this.desiredContainers, this.state.services).ready;
1019
1335
  this.state.lastReconciled = new Date().toISOString();
1020
1336
  }
1021
1337
  }
1022
- /**
1023
- * T#76: shallow equality on the fields that drive container
1024
- * identity. Two declarations that differ only in incidental fields
1025
- * (label maps, restart policy adornments) should still be treated
1026
- * as the same shared container; differences in image / env / port
1027
- * mapping legitimately deserve an operator-facing warning.
1028
- */
1029
- function shallowContainerEqual(a, b) {
1030
- if (a.image !== b.image)
1031
- return false;
1032
- if (!sameRecord(a.environment, b.environment))
1033
- return false;
1034
- if (a.ports.length !== b.ports.length)
1035
- return false;
1036
- for (let i = 0; i < a.ports.length; i++) {
1037
- if (a.ports[i].host !== b.ports[i].host || a.ports[i].container !== b.ports[i].container)
1038
- return false;
1039
- }
1040
- if (a.volumes.length !== b.volumes.length)
1041
- return false;
1042
- for (let i = 0; i < a.volumes.length; i++) {
1043
- if (a.volumes[i].source !== b.volumes[i].source || a.volumes[i].target !== b.volumes[i].target)
1044
- return false;
1045
- }
1046
- return true;
1047
- }
1338
+ __decorate([
1339
+ RecoveryMutation(),
1340
+ __metadata("design:type", Function),
1341
+ __metadata("design:paramtypes", [Array]),
1342
+ __metadata("design:returntype", void 0)
1343
+ ], InfrastructureService.prototype, "addAppContainers", null);
1344
+ __decorate([
1345
+ RecoveryMutation(),
1346
+ __metadata("design:type", Function),
1347
+ __metadata("design:paramtypes", [InfrastructureService]),
1348
+ __metadata("design:returntype", Promise)
1349
+ ], InfrastructureService.prototype, "provision", null);
1350
+ __decorate([
1351
+ RecoveryMutation(),
1352
+ __metadata("design:type", Function),
1353
+ __metadata("design:paramtypes", [InfrastructureService]),
1354
+ __metadata("design:returntype", Promise)
1355
+ ], InfrastructureService.prototype, "refreshOwnershipFrom", null);
1356
+ __decorate([
1357
+ RecoveryMutation(),
1358
+ __metadata("design:type", Function),
1359
+ __metadata("design:paramtypes", []),
1360
+ __metadata("design:returntype", Promise)
1361
+ ], InfrastructureService.prototype, "relinquishMonitoring", null);
1362
+ __decorate([
1363
+ RecoveryMutation(),
1364
+ __metadata("design:type", Function),
1365
+ __metadata("design:paramtypes", [Object]),
1366
+ __metadata("design:returntype", Promise)
1367
+ ], InfrastructureService.prototype, "retireStack", null);
1368
+ __decorate([
1369
+ RecoveryMutation(),
1370
+ __metadata("design:type", Function),
1371
+ __metadata("design:paramtypes", []),
1372
+ __metadata("design:returntype", Promise)
1373
+ ], InfrastructureService.prototype, "teardown", null);
1374
+ __decorate([
1375
+ RecoveryMutation(),
1376
+ __metadata("design:type", Function),
1377
+ __metadata("design:paramtypes", [Map,
1378
+ Map, Object, Map]),
1379
+ __metadata("design:returntype", void 0)
1380
+ ], InfrastructureService.prototype, "setConfigRoots", null);
1381
+ __decorate([
1382
+ RecoveryMutation(),
1383
+ __metadata("design:type", Function),
1384
+ __metadata("design:paramtypes", [Object]),
1385
+ __metadata("design:returntype", Promise)
1386
+ ], InfrastructureService.prototype, "reconcileServiceLocked", null);
1387
+ __decorate([
1388
+ RecoveryMutation(),
1389
+ __metadata("design:type", Function),
1390
+ __metadata("design:paramtypes", [Object, Object, Object]),
1391
+ __metadata("design:returntype", Promise)
1392
+ ], InfrastructureService.prototype, "recoverUnhealthyLocked", null);
1048
1393
  function sameRecord(a, b) {
1049
1394
  const ka = Object.keys(a ?? {});
1050
1395
  const kb = Object.keys(b ?? {});