@omnitron-dev/omnitron 0.2.0 → 0.3.1

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 (1299) hide show
  1. package/README.md +4 -0
  2. package/dist/BUILD.json +5 -0
  3. package/dist/cli/omnitron.js +375 -29
  4. package/dist/cli/omnitron.js.map +1 -1
  5. package/dist/cluster/cluster.rpc-service.d.ts +40 -0
  6. package/dist/cluster/cluster.rpc-service.d.ts.map +1 -1
  7. package/dist/cluster/cluster.rpc-service.js +49 -3
  8. package/dist/cluster/cluster.rpc-service.js.map +1 -1
  9. package/dist/cluster/config-sync.d.ts.map +1 -1
  10. package/dist/cluster/config-sync.js.map +1 -1
  11. package/dist/cluster/leader-election.d.ts +90 -2
  12. package/dist/cluster/leader-election.d.ts.map +1 -1
  13. package/dist/cluster/leader-election.js +176 -22
  14. package/dist/cluster/leader-election.js.map +1 -1
  15. package/dist/cluster/mesh-link.d.ts +136 -0
  16. package/dist/cluster/mesh-link.d.ts.map +1 -0
  17. package/dist/cluster/mesh-link.js +212 -0
  18. package/dist/cluster/mesh-link.js.map +1 -0
  19. package/dist/cluster/mesh.d.ts +59 -0
  20. package/dist/cluster/mesh.d.ts.map +1 -0
  21. package/dist/cluster/mesh.js +117 -0
  22. package/dist/cluster/mesh.js.map +1 -0
  23. package/dist/cluster/slave-connector.d.ts +193 -9
  24. package/dist/cluster/slave-connector.d.ts.map +1 -1
  25. package/dist/cluster/slave-connector.js +409 -37
  26. package/dist/cluster/slave-connector.js.map +1 -1
  27. package/dist/commands/audit.d.ts +65 -0
  28. package/dist/commands/audit.d.ts.map +1 -0
  29. package/dist/commands/audit.js +233 -0
  30. package/dist/commands/audit.js.map +1 -0
  31. package/dist/commands/backup.d.ts +4 -0
  32. package/dist/commands/backup.d.ts.map +1 -1
  33. package/dist/commands/backup.js +255 -33
  34. package/dist/commands/backup.js.map +1 -1
  35. package/dist/commands/cluster.d.ts.map +1 -1
  36. package/dist/commands/cluster.js +78 -47
  37. package/dist/commands/cluster.js.map +1 -1
  38. package/dist/commands/daemon-cmd.d.ts +7 -1
  39. package/dist/commands/daemon-cmd.d.ts.map +1 -1
  40. package/dist/commands/daemon-cmd.js +87 -21
  41. package/dist/commands/daemon-cmd.js.map +1 -1
  42. package/dist/commands/daemon-required.d.ts +34 -0
  43. package/dist/commands/daemon-required.d.ts.map +1 -0
  44. package/dist/commands/daemon-required.js +92 -0
  45. package/dist/commands/daemon-required.js.map +1 -0
  46. package/dist/commands/deploy.d.ts +70 -8
  47. package/dist/commands/deploy.d.ts.map +1 -1
  48. package/dist/commands/deploy.js +99 -64
  49. package/dist/commands/deploy.js.map +1 -1
  50. package/dist/commands/discover.d.ts +25 -4
  51. package/dist/commands/discover.d.ts.map +1 -1
  52. package/dist/commands/discover.js +155 -102
  53. package/dist/commands/discover.js.map +1 -1
  54. package/dist/commands/doctor.d.ts +293 -0
  55. package/dist/commands/doctor.d.ts.map +1 -0
  56. package/dist/commands/doctor.js +1706 -0
  57. package/dist/commands/doctor.js.map +1 -0
  58. package/dist/commands/env.d.ts +8 -1
  59. package/dist/commands/env.d.ts.map +1 -1
  60. package/dist/commands/env.js +13 -8
  61. package/dist/commands/env.js.map +1 -1
  62. package/dist/commands/exec.d.ts.map +1 -1
  63. package/dist/commands/exec.js +3 -2
  64. package/dist/commands/exec.js.map +1 -1
  65. package/dist/commands/fleet-asking.d.ts +87 -0
  66. package/dist/commands/fleet-asking.d.ts.map +1 -0
  67. package/dist/commands/fleet-asking.js +176 -0
  68. package/dist/commands/fleet-asking.js.map +1 -0
  69. package/dist/commands/fleet-recover.d.ts +2 -0
  70. package/dist/commands/fleet-recover.d.ts.map +1 -0
  71. package/dist/commands/fleet-recover.js +30 -0
  72. package/dist/commands/fleet-recover.js.map +1 -0
  73. package/dist/commands/fleet.d.ts +18 -0
  74. package/dist/commands/fleet.d.ts.map +1 -1
  75. package/dist/commands/fleet.js +314 -74
  76. package/dist/commands/fleet.js.map +1 -1
  77. package/dist/commands/health-check.d.ts +8 -6
  78. package/dist/commands/health-check.d.ts.map +1 -1
  79. package/dist/commands/health-check.js +26 -23
  80. package/dist/commands/health-check.js.map +1 -1
  81. package/dist/commands/health.d.ts.map +1 -1
  82. package/dist/commands/health.js +22 -8
  83. package/dist/commands/health.js.map +1 -1
  84. package/dist/commands/host-ingress.d.ts +3 -0
  85. package/dist/commands/host-ingress.d.ts.map +1 -0
  86. package/dist/commands/host-ingress.js +31 -0
  87. package/dist/commands/host-ingress.js.map +1 -0
  88. package/dist/commands/infra.d.ts +42 -1
  89. package/dist/commands/infra.d.ts.map +1 -1
  90. package/dist/commands/infra.js +418 -49
  91. package/dist/commands/infra.js.map +1 -1
  92. package/dist/commands/init.d.ts.map +1 -1
  93. package/dist/commands/init.js +21 -36
  94. package/dist/commands/init.js.map +1 -1
  95. package/dist/commands/inspect-graph.d.ts.map +1 -1
  96. package/dist/commands/inspect-graph.js +2 -6
  97. package/dist/commands/inspect-graph.js.map +1 -1
  98. package/dist/commands/inspect.d.ts.map +1 -1
  99. package/dist/commands/inspect.js +110 -14
  100. package/dist/commands/inspect.js.map +1 -1
  101. package/dist/commands/k8s.d.ts.map +1 -1
  102. package/dist/commands/k8s.js +23 -18
  103. package/dist/commands/k8s.js.map +1 -1
  104. package/dist/commands/kb.d.ts.map +1 -1
  105. package/dist/commands/kb.js +88 -29
  106. package/dist/commands/kb.js.map +1 -1
  107. package/dist/commands/list.d.ts.map +1 -1
  108. package/dist/commands/list.js +21 -9
  109. package/dist/commands/list.js.map +1 -1
  110. package/dist/commands/log-health.d.ts +120 -0
  111. package/dist/commands/log-health.d.ts.map +1 -0
  112. package/dist/commands/log-health.js +212 -0
  113. package/dist/commands/log-health.js.map +1 -0
  114. package/dist/commands/logs.d.ts +96 -2
  115. package/dist/commands/logs.d.ts.map +1 -1
  116. package/dist/commands/logs.js +522 -196
  117. package/dist/commands/logs.js.map +1 -1
  118. package/dist/commands/metrics.d.ts.map +1 -1
  119. package/dist/commands/metrics.js +35 -17
  120. package/dist/commands/metrics.js.map +1 -1
  121. package/dist/commands/monit.d.ts.map +1 -1
  122. package/dist/commands/monit.js +3 -2
  123. package/dist/commands/monit.js.map +1 -1
  124. package/dist/commands/node.d.ts +56 -0
  125. package/dist/commands/node.d.ts.map +1 -1
  126. package/dist/commands/node.js +297 -69
  127. package/dist/commands/node.js.map +1 -1
  128. package/dist/commands/output.d.ts +10 -0
  129. package/dist/commands/output.d.ts.map +1 -1
  130. package/dist/commands/output.js +41 -1
  131. package/dist/commands/output.js.map +1 -1
  132. package/dist/commands/pipeline.d.ts.map +1 -1
  133. package/dist/commands/pipeline.js +33 -19
  134. package/dist/commands/pipeline.js.map +1 -1
  135. package/dist/commands/project.d.ts +19 -0
  136. package/dist/commands/project.d.ts.map +1 -1
  137. package/dist/commands/project.js +125 -27
  138. package/dist/commands/project.js.map +1 -1
  139. package/dist/commands/release-store.d.ts +28 -0
  140. package/dist/commands/release-store.d.ts.map +1 -0
  141. package/dist/commands/release-store.js +158 -0
  142. package/dist/commands/release-store.js.map +1 -0
  143. package/dist/commands/release.d.ts +61 -0
  144. package/dist/commands/release.d.ts.map +1 -0
  145. package/dist/commands/release.js +555 -0
  146. package/dist/commands/release.js.map +1 -0
  147. package/dist/commands/reload.d.ts +16 -0
  148. package/dist/commands/reload.d.ts.map +1 -1
  149. package/dist/commands/reload.js +21 -5
  150. package/dist/commands/reload.js.map +1 -1
  151. package/dist/commands/remote.d.ts +40 -0
  152. package/dist/commands/remote.d.ts.map +1 -1
  153. package/dist/commands/remote.js +146 -35
  154. package/dist/commands/remote.js.map +1 -1
  155. package/dist/commands/restart.d.ts +16 -0
  156. package/dist/commands/restart.d.ts.map +1 -1
  157. package/dist/commands/restart.js +21 -5
  158. package/dist/commands/restart.js.map +1 -1
  159. package/dist/commands/scale.d.ts.map +1 -1
  160. package/dist/commands/scale.js +4 -3
  161. package/dist/commands/scale.js.map +1 -1
  162. package/dist/commands/secret.d.ts +54 -0
  163. package/dist/commands/secret.d.ts.map +1 -1
  164. package/dist/commands/secret.js +236 -34
  165. package/dist/commands/secret.js.map +1 -1
  166. package/dist/commands/service-units.d.ts +181 -0
  167. package/dist/commands/service-units.d.ts.map +1 -0
  168. package/dist/commands/service-units.js +291 -0
  169. package/dist/commands/service-units.js.map +1 -0
  170. package/dist/commands/service.d.ts +39 -0
  171. package/dist/commands/service.d.ts.map +1 -0
  172. package/dist/commands/service.js +370 -0
  173. package/dist/commands/service.js.map +1 -0
  174. package/dist/commands/spinner.d.ts +29 -0
  175. package/dist/commands/spinner.d.ts.map +1 -0
  176. package/dist/commands/spinner.js +44 -0
  177. package/dist/commands/spinner.js.map +1 -0
  178. package/dist/commands/stack.d.ts +49 -1
  179. package/dist/commands/stack.d.ts.map +1 -1
  180. package/dist/commands/stack.js +325 -12
  181. package/dist/commands/stack.js.map +1 -1
  182. package/dist/commands/start.d.ts +16 -0
  183. package/dist/commands/start.d.ts.map +1 -1
  184. package/dist/commands/start.js +20 -3
  185. package/dist/commands/start.js.map +1 -1
  186. package/dist/commands/status.d.ts +9 -0
  187. package/dist/commands/status.d.ts.map +1 -1
  188. package/dist/commands/status.js +45 -29
  189. package/dist/commands/status.js.map +1 -1
  190. package/dist/commands/stop.d.ts +16 -0
  191. package/dist/commands/stop.d.ts.map +1 -1
  192. package/dist/commands/stop.js +34 -6
  193. package/dist/commands/stop.js.map +1 -1
  194. package/dist/commands/tor.d.ts +14 -7
  195. package/dist/commands/tor.d.ts.map +1 -1
  196. package/dist/commands/tor.js +113 -33
  197. package/dist/commands/tor.js.map +1 -1
  198. package/dist/commands/up.d.ts +85 -1
  199. package/dist/commands/up.d.ts.map +1 -1
  200. package/dist/commands/up.js +180 -32
  201. package/dist/commands/up.js.map +1 -1
  202. package/dist/commands/webapp.d.ts.map +1 -1
  203. package/dist/commands/webapp.js +2 -1
  204. package/dist/commands/webapp.js.map +1 -1
  205. package/dist/config/defaults.d.ts +16 -0
  206. package/dist/config/defaults.d.ts.map +1 -1
  207. package/dist/config/defaults.js +26 -3
  208. package/dist/config/defaults.js.map +1 -1
  209. package/dist/config/define-ecosystem.d.ts.map +1 -1
  210. package/dist/config/define-ecosystem.js +2 -0
  211. package/dist/config/define-ecosystem.js.map +1 -1
  212. package/dist/config/index.d.ts +1 -1
  213. package/dist/config/index.d.ts.map +1 -1
  214. package/dist/config/index.js +1 -1
  215. package/dist/config/index.js.map +1 -1
  216. package/dist/config/loader.d.ts +45 -1
  217. package/dist/config/loader.d.ts.map +1 -1
  218. package/dist/config/loader.js +64 -6
  219. package/dist/config/loader.js.map +1 -1
  220. package/dist/config/omnitron-config.schema.d.ts.map +1 -1
  221. package/dist/config/omnitron-config.schema.js +16 -0
  222. package/dist/config/omnitron-config.schema.js.map +1 -1
  223. package/dist/config/types.d.ts +416 -44
  224. package/dist/config/types.d.ts.map +1 -1
  225. package/dist/daemon/config-reload.d.ts +27 -0
  226. package/dist/daemon/config-reload.d.ts.map +1 -0
  227. package/dist/daemon/config-reload.js +42 -0
  228. package/dist/daemon/config-reload.js.map +1 -0
  229. package/dist/daemon/daemon-client.d.ts +136 -2
  230. package/dist/daemon/daemon-client.d.ts.map +1 -1
  231. package/dist/daemon/daemon-client.js +307 -21
  232. package/dist/daemon/daemon-client.js.map +1 -1
  233. package/dist/daemon/daemon-entry.js +90 -30
  234. package/dist/daemon/daemon-entry.js.map +1 -1
  235. package/dist/daemon/daemon-scheduler.d.ts +4 -0
  236. package/dist/daemon/daemon-scheduler.d.ts.map +1 -1
  237. package/dist/daemon/daemon-scheduler.js +137 -7
  238. package/dist/daemon/daemon-scheduler.js.map +1 -1
  239. package/dist/daemon/daemon-state-store.service.d.ts +263 -0
  240. package/dist/daemon/daemon-state-store.service.d.ts.map +1 -0
  241. package/dist/daemon/daemon-state-store.service.js +446 -0
  242. package/dist/daemon/daemon-state-store.service.js.map +1 -0
  243. package/dist/daemon/daemon.d.ts +194 -4
  244. package/dist/daemon/daemon.d.ts.map +1 -1
  245. package/dist/daemon/daemon.js +1160 -157
  246. package/dist/daemon/daemon.js.map +1 -1
  247. package/dist/daemon/daemon.module.d.ts.map +1 -1
  248. package/dist/daemon/daemon.module.js +163 -85
  249. package/dist/daemon/daemon.module.js.map +1 -1
  250. package/dist/daemon/daemon.rpc-service.d.ts +90 -1
  251. package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
  252. package/dist/daemon/daemon.rpc-service.js +439 -97
  253. package/dist/daemon/daemon.rpc-service.js.map +1 -1
  254. package/dist/daemon/pid-manager.d.ts +16 -3
  255. package/dist/daemon/pid-manager.d.ts.map +1 -1
  256. package/dist/daemon/pid-manager.js +31 -4
  257. package/dist/daemon/pid-manager.js.map +1 -1
  258. package/dist/daemon/spawn-daemon.d.ts +73 -0
  259. package/dist/daemon/spawn-daemon.d.ts.map +1 -0
  260. package/dist/daemon/spawn-daemon.js +101 -0
  261. package/dist/daemon/spawn-daemon.js.map +1 -0
  262. package/dist/daemon/state-store.d.ts +65 -3
  263. package/dist/daemon/state-store.d.ts.map +1 -1
  264. package/dist/daemon/state-store.js +100 -58
  265. package/dist/daemon/state-store.js.map +1 -1
  266. package/dist/database/connection.d.ts +71 -0
  267. package/dist/database/connection.d.ts.map +1 -0
  268. package/dist/database/connection.js +129 -0
  269. package/dist/database/connection.js.map +1 -0
  270. package/dist/database/dialect.d.ts +60 -0
  271. package/dist/database/dialect.d.ts.map +1 -0
  272. package/dist/database/dialect.js +80 -0
  273. package/dist/database/dialect.js.map +1 -0
  274. package/dist/database/migrate.d.ts +5 -2
  275. package/dist/database/migrate.d.ts.map +1 -1
  276. package/dist/database/migrate.js +23 -33
  277. package/dist/database/migrate.js.map +1 -1
  278. package/dist/database/migration-runner.d.ts +50 -0
  279. package/dist/database/migration-runner.d.ts.map +1 -0
  280. package/dist/database/migration-runner.js +143 -0
  281. package/dist/database/migration-runner.js.map +1 -0
  282. package/dist/database/migrations/006_login_throttle.d.ts +17 -0
  283. package/dist/database/migrations/006_login_throttle.d.ts.map +1 -0
  284. package/dist/database/migrations/006_login_throttle.js +33 -0
  285. package/dist/database/migrations/006_login_throttle.js.map +1 -0
  286. package/dist/database/migrations/007_sync_ingested.d.ts +21 -0
  287. package/dist/database/migrations/007_sync_ingested.d.ts.map +1 -0
  288. package/dist/database/migrations/007_sync_ingested.js +39 -0
  289. package/dist/database/migrations/007_sync_ingested.js.map +1 -0
  290. package/dist/database/migrations/008_node_health_version_text.d.ts +24 -0
  291. package/dist/database/migrations/008_node_health_version_text.d.ts.map +1 -0
  292. package/dist/database/migrations/008_node_health_version_text.js +35 -0
  293. package/dist/database/migrations/008_node_health_version_text.js.map +1 -0
  294. package/dist/database/migrations/009_node_health_unmeasured.d.ts +40 -0
  295. package/dist/database/migrations/009_node_health_unmeasured.d.ts.map +1 -0
  296. package/dist/database/migrations/009_node_health_unmeasured.js +63 -0
  297. package/dist/database/migrations/009_node_health_unmeasured.js.map +1 -0
  298. package/dist/database/migrations/010_metrics_raw_had_no_reader.d.ts +22 -0
  299. package/dist/database/migrations/010_metrics_raw_had_no_reader.d.ts.map +1 -0
  300. package/dist/database/migrations/010_metrics_raw_had_no_reader.js +26 -0
  301. package/dist/database/migrations/010_metrics_raw_had_no_reader.js.map +1 -0
  302. package/dist/database/migrations/011_alerts_nobody_had_to_write.d.ts +56 -0
  303. package/dist/database/migrations/011_alerts_nobody_had_to_write.d.ts.map +1 -0
  304. package/dist/database/migrations/011_alerts_nobody_had_to_write.js +79 -0
  305. package/dist/database/migrations/011_alerts_nobody_had_to_write.js.map +1 -0
  306. package/dist/database/migrations/012_a_disk_nobody_watched.d.ts +26 -0
  307. package/dist/database/migrations/012_a_disk_nobody_watched.d.ts.map +1 -0
  308. package/dist/database/migrations/012_a_disk_nobody_watched.js +40 -0
  309. package/dist/database/migrations/012_a_disk_nobody_watched.js.map +1 -0
  310. package/dist/database/migrations/013_an_alarm_delivered.d.ts +14 -0
  311. package/dist/database/migrations/013_an_alarm_delivered.d.ts.map +1 -0
  312. package/dist/database/migrations/013_an_alarm_delivered.js +28 -0
  313. package/dist/database/migrations/013_an_alarm_delivered.js.map +1 -0
  314. package/dist/database/migrations/index.d.ts +21 -0
  315. package/dist/database/migrations/index.d.ts.map +1 -0
  316. package/dist/database/migrations/index.js +47 -0
  317. package/dist/database/migrations/index.js.map +1 -0
  318. package/dist/database/schema.d.ts +27 -11
  319. package/dist/database/schema.d.ts.map +1 -1
  320. package/dist/database/sqlite-date-binding.d.ts +71 -0
  321. package/dist/database/sqlite-date-binding.d.ts.map +1 -0
  322. package/dist/database/sqlite-date-binding.js +174 -0
  323. package/dist/database/sqlite-date-binding.js.map +1 -0
  324. package/dist/execution/data-channel.d.ts +48 -0
  325. package/dist/execution/data-channel.d.ts.map +1 -0
  326. package/dist/execution/data-channel.js +55 -0
  327. package/dist/execution/data-channel.js.map +1 -0
  328. package/dist/execution/execution.service.d.ts +146 -0
  329. package/dist/execution/execution.service.d.ts.map +1 -1
  330. package/dist/execution/execution.service.js +330 -10
  331. package/dist/execution/execution.service.js.map +1 -1
  332. package/dist/index.d.ts +1 -1
  333. package/dist/index.d.ts.map +1 -1
  334. package/dist/infrastructure/bare-metal-plan.d.ts +208 -0
  335. package/dist/infrastructure/bare-metal-plan.d.ts.map +1 -0
  336. package/dist/infrastructure/bare-metal-plan.js +363 -0
  337. package/dist/infrastructure/bare-metal-plan.js.map +1 -0
  338. package/dist/infrastructure/bare-metal-runner.d.ts +65 -0
  339. package/dist/infrastructure/bare-metal-runner.d.ts.map +1 -0
  340. package/dist/infrastructure/bare-metal-runner.js +354 -0
  341. package/dist/infrastructure/bare-metal-runner.js.map +1 -0
  342. package/dist/infrastructure/config-payload.d.ts +149 -0
  343. package/dist/infrastructure/config-payload.d.ts.map +1 -0
  344. package/dist/infrastructure/config-payload.js +235 -0
  345. package/dist/infrastructure/config-payload.js.map +1 -0
  346. package/dist/infrastructure/container-runtime.d.ts +170 -10
  347. package/dist/infrastructure/container-runtime.d.ts.map +1 -1
  348. package/dist/infrastructure/container-runtime.js +565 -52
  349. package/dist/infrastructure/container-runtime.js.map +1 -1
  350. package/dist/infrastructure/gateway-reachability.d.ts +85 -0
  351. package/dist/infrastructure/gateway-reachability.d.ts.map +1 -0
  352. package/dist/infrastructure/gateway-reachability.js +116 -0
  353. package/dist/infrastructure/gateway-reachability.js.map +1 -0
  354. package/dist/infrastructure/gateway-redis-db.d.ts +29 -0
  355. package/dist/infrastructure/gateway-redis-db.d.ts.map +1 -0
  356. package/dist/infrastructure/gateway-redis-db.js +32 -0
  357. package/dist/infrastructure/gateway-redis-db.js.map +1 -0
  358. package/dist/infrastructure/host-ingress-config.d.ts +12 -0
  359. package/dist/infrastructure/host-ingress-config.d.ts.map +1 -0
  360. package/dist/infrastructure/host-ingress-config.js +197 -0
  361. package/dist/infrastructure/host-ingress-config.js.map +1 -0
  362. package/dist/infrastructure/host-ingress-lock.d.ts +4 -0
  363. package/dist/infrastructure/host-ingress-lock.d.ts.map +1 -0
  364. package/dist/infrastructure/host-ingress-lock.js +36 -0
  365. package/dist/infrastructure/host-ingress-lock.js.map +1 -0
  366. package/dist/infrastructure/host-ingress-runtime.d.ts +25 -0
  367. package/dist/infrastructure/host-ingress-runtime.d.ts.map +1 -0
  368. package/dist/infrastructure/host-ingress-runtime.js +114 -0
  369. package/dist/infrastructure/host-ingress-runtime.js.map +1 -0
  370. package/dist/infrastructure/host-ingress-takeover.d.ts +18 -0
  371. package/dist/infrastructure/host-ingress-takeover.d.ts.map +1 -0
  372. package/dist/infrastructure/host-ingress-takeover.js +142 -0
  373. package/dist/infrastructure/host-ingress-takeover.js.map +1 -0
  374. package/dist/infrastructure/host-ingress-types.d.ts +173 -0
  375. package/dist/infrastructure/host-ingress-types.d.ts.map +1 -0
  376. package/dist/infrastructure/host-ingress-types.js +2 -0
  377. package/dist/infrastructure/host-ingress-types.js.map +1 -0
  378. package/dist/infrastructure/host-ingress.service.d.ts +47 -0
  379. package/dist/infrastructure/host-ingress.service.d.ts.map +1 -0
  380. package/dist/infrastructure/host-ingress.service.js +514 -0
  381. package/dist/infrastructure/host-ingress.service.js.map +1 -0
  382. package/dist/infrastructure/host-inspection.d.ts +223 -0
  383. package/dist/infrastructure/host-inspection.d.ts.map +1 -0
  384. package/dist/infrastructure/host-inspection.js +501 -0
  385. package/dist/infrastructure/host-inspection.js.map +1 -0
  386. package/dist/infrastructure/infrastructure-gate.d.ts.map +1 -1
  387. package/dist/infrastructure/infrastructure.service.d.ts +223 -7
  388. package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
  389. package/dist/infrastructure/infrastructure.service.js +500 -93
  390. package/dist/infrastructure/infrastructure.service.js.map +1 -1
  391. package/dist/infrastructure/known-machines.d.ts +76 -0
  392. package/dist/infrastructure/known-machines.d.ts.map +1 -0
  393. package/dist/infrastructure/known-machines.js +94 -0
  394. package/dist/infrastructure/known-machines.js.map +1 -0
  395. package/dist/infrastructure/node-credentials.d.ts +45 -0
  396. package/dist/infrastructure/node-credentials.d.ts.map +1 -0
  397. package/dist/infrastructure/node-credentials.js +80 -0
  398. package/dist/infrastructure/node-credentials.js.map +1 -0
  399. package/dist/infrastructure/orphan-containers.d.ts +99 -0
  400. package/dist/infrastructure/orphan-containers.d.ts.map +1 -0
  401. package/dist/infrastructure/orphan-containers.js +106 -0
  402. package/dist/infrastructure/orphan-containers.js.map +1 -0
  403. package/dist/infrastructure/phantom-endpoint-janitor.d.ts +20 -0
  404. package/dist/infrastructure/phantom-endpoint-janitor.d.ts.map +1 -1
  405. package/dist/infrastructure/phantom-endpoint-janitor.js +56 -6
  406. package/dist/infrastructure/phantom-endpoint-janitor.js.map +1 -1
  407. package/dist/infrastructure/presets/gateway-openresty.d.ts.map +1 -1
  408. package/dist/infrastructure/presets/gateway-openresty.js +29 -3
  409. package/dist/infrastructure/presets/gateway-openresty.js.map +1 -1
  410. package/dist/infrastructure/presets/minio.d.ts.map +1 -1
  411. package/dist/infrastructure/presets/minio.js +36 -3
  412. package/dist/infrastructure/presets/minio.js.map +1 -1
  413. package/dist/infrastructure/presets/postgres.d.ts.map +1 -1
  414. package/dist/infrastructure/presets/postgres.js +69 -2
  415. package/dist/infrastructure/presets/postgres.js.map +1 -1
  416. package/dist/infrastructure/presets/redis.d.ts.map +1 -1
  417. package/dist/infrastructure/presets/redis.js +13 -0
  418. package/dist/infrastructure/presets/redis.js.map +1 -1
  419. package/dist/infrastructure/presets/registry.d.ts.map +1 -1
  420. package/dist/infrastructure/presets/registry.js +81 -12
  421. package/dist/infrastructure/presets/registry.js.map +1 -1
  422. package/dist/infrastructure/presets/tor.d.ts +38 -0
  423. package/dist/infrastructure/presets/tor.d.ts.map +1 -1
  424. package/dist/infrastructure/presets/tor.js +78 -69
  425. package/dist/infrastructure/presets/tor.js.map +1 -1
  426. package/dist/infrastructure/presets/torrc.d.ts +54 -0
  427. package/dist/infrastructure/presets/torrc.d.ts.map +1 -0
  428. package/dist/infrastructure/presets/torrc.js +153 -0
  429. package/dist/infrastructure/presets/torrc.js.map +1 -0
  430. package/dist/infrastructure/presets/types.d.ts +17 -0
  431. package/dist/infrastructure/presets/types.d.ts.map +1 -1
  432. package/dist/infrastructure/provisioning-outcome.d.ts +85 -0
  433. package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -0
  434. package/dist/infrastructure/provisioning-outcome.js +122 -0
  435. package/dist/infrastructure/provisioning-outcome.js.map +1 -0
  436. package/dist/infrastructure/server-registry.d.ts +27 -0
  437. package/dist/infrastructure/server-registry.d.ts.map +1 -1
  438. package/dist/infrastructure/server-registry.js +60 -5
  439. package/dist/infrastructure/server-registry.js.map +1 -1
  440. package/dist/infrastructure/service-binding.d.ts +60 -0
  441. package/dist/infrastructure/service-binding.d.ts.map +1 -0
  442. package/dist/infrastructure/service-binding.js +90 -0
  443. package/dist/infrastructure/service-binding.js.map +1 -0
  444. package/dist/infrastructure/service-credentials.d.ts +105 -0
  445. package/dist/infrastructure/service-credentials.d.ts.map +1 -0
  446. package/dist/infrastructure/service-credentials.js +141 -0
  447. package/dist/infrastructure/service-credentials.js.map +1 -0
  448. package/dist/infrastructure/service-resolver.d.ts +166 -12
  449. package/dist/infrastructure/service-resolver.d.ts.map +1 -1
  450. package/dist/infrastructure/service-resolver.js +535 -82
  451. package/dist/infrastructure/service-resolver.js.map +1 -1
  452. package/dist/infrastructure/shipped-config.d.ts +43 -0
  453. package/dist/infrastructure/shipped-config.d.ts.map +1 -0
  454. package/dist/infrastructure/shipped-config.js +159 -0
  455. package/dist/infrastructure/shipped-config.js.map +1 -0
  456. package/dist/infrastructure/stack-infra-manager.d.ts +16 -1
  457. package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
  458. package/dist/infrastructure/stack-infra-manager.js +81 -53
  459. package/dist/infrastructure/stack-infra-manager.js.map +1 -1
  460. package/dist/infrastructure/types.d.ts +263 -6
  461. package/dist/infrastructure/types.d.ts.map +1 -1
  462. package/dist/mcp/mcp-bridge.d.ts.map +1 -1
  463. package/dist/mcp/mcp-bridge.js.map +1 -1
  464. package/dist/mcp/tool-groups/apps.tools.d.ts +2 -1
  465. package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -1
  466. package/dist/mcp/tool-groups/apps.tools.js +2 -2
  467. package/dist/mcp/tool-groups/apps.tools.js.map +1 -1
  468. package/dist/mcp/tool-groups/infra.tools.d.ts +16 -2
  469. package/dist/mcp/tool-groups/infra.tools.d.ts.map +1 -1
  470. package/dist/mcp/tool-groups/infra.tools.js +51 -41
  471. package/dist/mcp/tool-groups/infra.tools.js.map +1 -1
  472. package/dist/mcp/tool-groups/kb.tools.d.ts.map +1 -1
  473. package/dist/mcp/tool-groups/kb.tools.js +4 -6
  474. package/dist/mcp/tool-groups/kb.tools.js.map +1 -1
  475. package/dist/mcp/tool-groups/management.tools.d.ts +20 -3
  476. package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -1
  477. package/dist/mcp/tool-groups/management.tools.js +158 -125
  478. package/dist/mcp/tool-groups/management.tools.js.map +1 -1
  479. package/dist/mcp/tool-groups/monitoring.tools.d.ts +10 -1
  480. package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -1
  481. package/dist/mcp/tool-groups/monitoring.tools.js +65 -18
  482. package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -1
  483. package/dist/mcp/unavailable-tools.d.ts +35 -0
  484. package/dist/mcp/unavailable-tools.d.ts.map +1 -0
  485. package/dist/mcp/unavailable-tools.js +59 -0
  486. package/dist/mcp/unavailable-tools.js.map +1 -0
  487. package/dist/monitoring/app-health.indicator.d.ts.map +1 -1
  488. package/dist/monitoring/app-health.indicator.js +12 -0
  489. package/dist/monitoring/app-health.indicator.js.map +1 -1
  490. package/dist/monitoring/desktop-notifier.d.ts +26 -0
  491. package/dist/monitoring/desktop-notifier.d.ts.map +1 -0
  492. package/dist/monitoring/desktop-notifier.js +49 -0
  493. package/dist/monitoring/desktop-notifier.js.map +1 -0
  494. package/dist/monitoring/docker-health.indicator.d.ts +17 -1
  495. package/dist/monitoring/docker-health.indicator.d.ts.map +1 -1
  496. package/dist/monitoring/docker-health.indicator.js +38 -8
  497. package/dist/monitoring/docker-health.indicator.js.map +1 -1
  498. package/dist/monitoring/event-loop-stall.indicator.d.ts +26 -0
  499. package/dist/monitoring/event-loop-stall.indicator.d.ts.map +1 -0
  500. package/dist/monitoring/event-loop-stall.indicator.js +47 -0
  501. package/dist/monitoring/event-loop-stall.indicator.js.map +1 -0
  502. package/dist/monitoring/event-loop-watch.d.ts +124 -0
  503. package/dist/monitoring/event-loop-watch.d.ts.map +1 -0
  504. package/dist/monitoring/event-loop-watch.js +179 -0
  505. package/dist/monitoring/event-loop-watch.js.map +1 -0
  506. package/dist/monitoring/host-disk.d.ts +6 -0
  507. package/dist/monitoring/host-disk.d.ts.map +1 -0
  508. package/dist/monitoring/host-disk.js +26 -0
  509. package/dist/monitoring/host-disk.js.map +1 -0
  510. package/dist/monitoring/log-line.d.ts +188 -0
  511. package/dist/monitoring/log-line.d.ts.map +1 -0
  512. package/dist/monitoring/log-line.js +458 -0
  513. package/dist/monitoring/log-line.js.map +1 -0
  514. package/dist/monitoring/log-manager.d.ts +89 -8
  515. package/dist/monitoring/log-manager.d.ts.map +1 -1
  516. package/dist/monitoring/log-manager.js +246 -77
  517. package/dist/monitoring/log-manager.js.map +1 -1
  518. package/dist/observability/metrics-bridge.d.ts.map +1 -1
  519. package/dist/observability/metrics-server.d.ts.map +1 -1
  520. package/dist/operations.d.ts +16 -0
  521. package/dist/operations.d.ts.map +1 -0
  522. package/dist/operations.js +13 -0
  523. package/dist/operations.js.map +1 -0
  524. package/dist/orchestrator/app-handle.d.ts +157 -2
  525. package/dist/orchestrator/app-handle.d.ts.map +1 -1
  526. package/dist/orchestrator/app-handle.js +165 -3
  527. package/dist/orchestrator/app-handle.js.map +1 -1
  528. package/dist/orchestrator/app-health.d.ts +33 -0
  529. package/dist/orchestrator/app-health.d.ts.map +1 -0
  530. package/dist/orchestrator/app-health.js +74 -0
  531. package/dist/orchestrator/app-health.js.map +1 -0
  532. package/dist/orchestrator/app-traffic.d.ts +14 -0
  533. package/dist/orchestrator/app-traffic.d.ts.map +1 -0
  534. package/dist/orchestrator/app-traffic.js +33 -0
  535. package/dist/orchestrator/app-traffic.js.map +1 -0
  536. package/dist/orchestrator/bootstrap-loader-child.d.ts +19 -0
  537. package/dist/orchestrator/bootstrap-loader-child.d.ts.map +1 -0
  538. package/dist/orchestrator/bootstrap-loader-child.js +43 -0
  539. package/dist/orchestrator/bootstrap-loader-child.js.map +1 -0
  540. package/dist/orchestrator/bootstrap-loader.d.ts +72 -0
  541. package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
  542. package/dist/orchestrator/bootstrap-loader.js +350 -5
  543. package/dist/orchestrator/bootstrap-loader.js.map +1 -1
  544. package/dist/orchestrator/bootstrap-process.d.ts +99 -4
  545. package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
  546. package/dist/orchestrator/bootstrap-process.js +332 -20
  547. package/dist/orchestrator/bootstrap-process.js.map +1 -1
  548. package/dist/orchestrator/build-service.d.ts +6 -12
  549. package/dist/orchestrator/build-service.d.ts.map +1 -1
  550. package/dist/orchestrator/build-service.js +120 -83
  551. package/dist/orchestrator/build-service.js.map +1 -1
  552. package/dist/orchestrator/call-exposed-service.d.ts +7 -0
  553. package/dist/orchestrator/call-exposed-service.d.ts.map +1 -0
  554. package/dist/orchestrator/call-exposed-service.js +50 -0
  555. package/dist/orchestrator/call-exposed-service.js.map +1 -0
  556. package/dist/orchestrator/classic-launcher.d.ts +1 -0
  557. package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
  558. package/dist/orchestrator/classic-launcher.js +40 -4
  559. package/dist/orchestrator/classic-launcher.js.map +1 -1
  560. package/dist/orchestrator/file-watcher.d.ts +79 -1
  561. package/dist/orchestrator/file-watcher.d.ts.map +1 -1
  562. package/dist/orchestrator/file-watcher.js +193 -7
  563. package/dist/orchestrator/file-watcher.js.map +1 -1
  564. package/dist/orchestrator/http-routes.d.ts +4 -0
  565. package/dist/orchestrator/http-routes.d.ts.map +1 -0
  566. package/dist/orchestrator/http-routes.js +19 -0
  567. package/dist/orchestrator/http-routes.js.map +1 -0
  568. package/dist/orchestrator/module-worker-process.d.ts.map +1 -1
  569. package/dist/orchestrator/module-worker-process.js +10 -0
  570. package/dist/orchestrator/module-worker-process.js.map +1 -1
  571. package/dist/orchestrator/orchestrator.service.d.ts +385 -11
  572. package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
  573. package/dist/orchestrator/orchestrator.service.js +1738 -364
  574. package/dist/orchestrator/orchestrator.service.js.map +1 -1
  575. package/dist/orchestrator/owned-pids.d.ts +83 -0
  576. package/dist/orchestrator/owned-pids.d.ts.map +1 -0
  577. package/dist/orchestrator/owned-pids.js +93 -0
  578. package/dist/orchestrator/owned-pids.js.map +1 -0
  579. package/dist/orchestrator/port-conflict.d.ts +102 -0
  580. package/dist/orchestrator/port-conflict.d.ts.map +1 -0
  581. package/dist/orchestrator/port-conflict.js +131 -0
  582. package/dist/orchestrator/port-conflict.js.map +1 -0
  583. package/dist/orchestrator/process-janitor.d.ts +78 -4
  584. package/dist/orchestrator/process-janitor.d.ts.map +1 -1
  585. package/dist/orchestrator/process-janitor.js +246 -30
  586. package/dist/orchestrator/process-janitor.js.map +1 -1
  587. package/dist/orchestrator/ps-metrics.d.ts +37 -0
  588. package/dist/orchestrator/ps-metrics.d.ts.map +1 -0
  589. package/dist/orchestrator/ps-metrics.js +60 -0
  590. package/dist/orchestrator/ps-metrics.js.map +1 -0
  591. package/dist/orchestrator/service-router.d.ts +58 -2
  592. package/dist/orchestrator/service-router.d.ts.map +1 -1
  593. package/dist/orchestrator/service-router.js +157 -25
  594. package/dist/orchestrator/service-router.js.map +1 -1
  595. package/dist/orchestrator/topology-query.d.ts +49 -0
  596. package/dist/orchestrator/topology-query.d.ts.map +1 -0
  597. package/dist/orchestrator/topology-query.js +54 -0
  598. package/dist/orchestrator/topology-query.js.map +1 -0
  599. package/dist/project/artifact-builder.d.ts +174 -3
  600. package/dist/project/artifact-builder.d.ts.map +1 -1
  601. package/dist/project/artifact-builder.js +454 -42
  602. package/dist/project/artifact-builder.js.map +1 -1
  603. package/dist/project/build-decision.d.ts +58 -0
  604. package/dist/project/build-decision.d.ts.map +1 -0
  605. package/dist/project/build-decision.js +59 -0
  606. package/dist/project/build-decision.js.map +1 -0
  607. package/dist/project/config-resolver.d.ts +6 -4
  608. package/dist/project/config-resolver.d.ts.map +1 -1
  609. package/dist/project/config-resolver.js +128 -74
  610. package/dist/project/config-resolver.js.map +1 -1
  611. package/dist/project/declared-config.d.ts +42 -0
  612. package/dist/project/declared-config.d.ts.map +1 -0
  613. package/dist/project/declared-config.js +60 -0
  614. package/dist/project/declared-config.js.map +1 -0
  615. package/dist/project/dependency-analyzer.d.ts.map +1 -1
  616. package/dist/project/dependency-analyzer.js.map +1 -1
  617. package/dist/project/deploy-phases.d.ts +35 -0
  618. package/dist/project/deploy-phases.d.ts.map +1 -0
  619. package/dist/project/deploy-phases.js +75 -0
  620. package/dist/project/deploy-phases.js.map +1 -0
  621. package/dist/project/exec-in-group.d.ts +49 -0
  622. package/dist/project/exec-in-group.d.ts.map +1 -0
  623. package/dist/project/exec-in-group.js +100 -0
  624. package/dist/project/exec-in-group.js.map +1 -0
  625. package/dist/project/node-app-config.d.ts +101 -0
  626. package/dist/project/node-app-config.d.ts.map +1 -0
  627. package/dist/project/node-app-config.js +134 -0
  628. package/dist/project/node-app-config.js.map +1 -0
  629. package/dist/project/node-app-health.d.ts +76 -0
  630. package/dist/project/node-app-health.d.ts.map +1 -0
  631. package/dist/project/node-app-health.js +119 -0
  632. package/dist/project/node-app-health.js.map +1 -0
  633. package/dist/project/operator-account.d.ts +293 -0
  634. package/dist/project/operator-account.d.ts.map +1 -0
  635. package/dist/project/operator-account.js +373 -0
  636. package/dist/project/operator-account.js.map +1 -0
  637. package/dist/project/registry.d.ts +45 -8
  638. package/dist/project/registry.d.ts.map +1 -1
  639. package/dist/project/registry.js +214 -64
  640. package/dist/project/registry.js.map +1 -1
  641. package/dist/project/requirements-scanner.d.ts +1 -0
  642. package/dist/project/requirements-scanner.d.ts.map +1 -1
  643. package/dist/project/requirements-scanner.js +28 -3
  644. package/dist/project/requirements-scanner.js.map +1 -1
  645. package/dist/project/stack-env.d.ts +37 -0
  646. package/dist/project/stack-env.d.ts.map +1 -0
  647. package/dist/project/stack-env.js +85 -0
  648. package/dist/project/stack-env.js.map +1 -0
  649. package/dist/project/stand-containers.d.ts +11 -0
  650. package/dist/project/stand-containers.d.ts.map +1 -0
  651. package/dist/project/stand-containers.js +27 -0
  652. package/dist/project/stand-containers.js.map +1 -0
  653. package/dist/project/working-tree.d.ts +62 -0
  654. package/dist/project/working-tree.d.ts.map +1 -0
  655. package/dist/project/working-tree.js +101 -0
  656. package/dist/project/working-tree.js.map +1 -0
  657. package/dist/release/artifact-store.d.ts +360 -0
  658. package/dist/release/artifact-store.d.ts.map +1 -0
  659. package/dist/release/artifact-store.js +1040 -0
  660. package/dist/release/artifact-store.js.map +1 -0
  661. package/dist/release/attest-on-node.d.ts +93 -0
  662. package/dist/release/attest-on-node.d.ts.map +1 -0
  663. package/dist/release/attest-on-node.js +207 -0
  664. package/dist/release/attest-on-node.js.map +1 -0
  665. package/dist/release/attest.d.ts +135 -0
  666. package/dist/release/attest.d.ts.map +1 -0
  667. package/dist/release/attest.js +199 -0
  668. package/dist/release/attest.js.map +1 -0
  669. package/dist/release/build-run.d.ts +151 -0
  670. package/dist/release/build-run.d.ts.map +1 -0
  671. package/dist/release/build-run.js +609 -0
  672. package/dist/release/build-run.js.map +1 -0
  673. package/dist/release/builder.d.ts +57 -0
  674. package/dist/release/builder.d.ts.map +1 -0
  675. package/dist/release/builder.js +120 -0
  676. package/dist/release/builder.js.map +1 -0
  677. package/dist/release/daemon-omni.d.ts +41 -0
  678. package/dist/release/daemon-omni.d.ts.map +1 -0
  679. package/dist/release/daemon-omni.js +59 -0
  680. package/dist/release/daemon-omni.js.map +1 -0
  681. package/dist/release/definition-inputs.d.ts +34 -0
  682. package/dist/release/definition-inputs.d.ts.map +1 -0
  683. package/dist/release/definition-inputs.js +90 -0
  684. package/dist/release/definition-inputs.js.map +1 -0
  685. package/dist/release/delivered.d.ts +53 -0
  686. package/dist/release/delivered.d.ts.map +1 -0
  687. package/dist/release/delivered.js +81 -0
  688. package/dist/release/delivered.js.map +1 -0
  689. package/dist/release/layout.d.ts +61 -0
  690. package/dist/release/layout.d.ts.map +1 -0
  691. package/dist/release/layout.js +114 -0
  692. package/dist/release/layout.js.map +1 -0
  693. package/dist/release/load.d.ts +44 -0
  694. package/dist/release/load.d.ts.map +1 -0
  695. package/dist/release/load.js +84 -0
  696. package/dist/release/load.js.map +1 -0
  697. package/dist/release/manifest.d.ts +299 -0
  698. package/dist/release/manifest.d.ts.map +1 -0
  699. package/dist/release/manifest.js +176 -0
  700. package/dist/release/manifest.js.map +1 -0
  701. package/dist/release/migrations.d.ts +32 -0
  702. package/dist/release/migrations.d.ts.map +1 -0
  703. package/dist/release/migrations.js +51 -0
  704. package/dist/release/migrations.js.map +1 -0
  705. package/dist/release/publish.d.ts +71 -0
  706. package/dist/release/publish.d.ts.map +1 -0
  707. package/dist/release/publish.js +102 -0
  708. package/dist/release/publish.js.map +1 -0
  709. package/dist/release/store.d.ts +174 -0
  710. package/dist/release/store.d.ts.map +1 -0
  711. package/dist/release/store.js +257 -0
  712. package/dist/release/store.js.map +1 -0
  713. package/dist/services/alert.rpc-service.d.ts +11 -15
  714. package/dist/services/alert.rpc-service.d.ts.map +1 -1
  715. package/dist/services/alert.rpc-service.js +29 -14
  716. package/dist/services/alert.rpc-service.js.map +1 -1
  717. package/dist/services/alert.service.d.ts +96 -59
  718. package/dist/services/alert.service.d.ts.map +1 -1
  719. package/dist/services/alert.service.js +455 -70
  720. package/dist/services/alert.service.js.map +1 -1
  721. package/dist/services/anonymous-input.d.ts +26 -0
  722. package/dist/services/anonymous-input.d.ts.map +1 -0
  723. package/dist/services/anonymous-input.js +44 -0
  724. package/dist/services/anonymous-input.js.map +1 -0
  725. package/dist/services/audit.rpc-service.d.ts +27 -0
  726. package/dist/services/audit.rpc-service.d.ts.map +1 -0
  727. package/dist/services/audit.rpc-service.js +57 -0
  728. package/dist/services/audit.rpc-service.js.map +1 -0
  729. package/dist/services/audit.service.d.ts +165 -0
  730. package/dist/services/audit.service.d.ts.map +1 -0
  731. package/dist/services/audit.service.js +242 -0
  732. package/dist/services/audit.service.js.map +1 -0
  733. package/dist/services/auth-context.d.ts +21 -1
  734. package/dist/services/auth-context.d.ts.map +1 -1
  735. package/dist/services/auth-context.js +51 -5
  736. package/dist/services/auth-context.js.map +1 -1
  737. package/dist/services/auth.rpc-service.d.ts +0 -1
  738. package/dist/services/auth.rpc-service.d.ts.map +1 -1
  739. package/dist/services/auth.rpc-service.js +23 -9
  740. package/dist/services/auth.rpc-service.js.map +1 -1
  741. package/dist/services/auth.service.d.ts +47 -33
  742. package/dist/services/auth.service.d.ts.map +1 -1
  743. package/dist/services/auth.service.js +155 -23
  744. package/dist/services/auth.service.js.map +1 -1
  745. package/dist/services/backup-pipeline.d.ts +97 -0
  746. package/dist/services/backup-pipeline.d.ts.map +1 -0
  747. package/dist/services/backup-pipeline.js +286 -0
  748. package/dist/services/backup-pipeline.js.map +1 -0
  749. package/dist/services/backup-schedule.d.ts +69 -0
  750. package/dist/services/backup-schedule.d.ts.map +1 -0
  751. package/dist/services/backup-schedule.js +132 -0
  752. package/dist/services/backup-schedule.js.map +1 -0
  753. package/dist/services/backup.rpc-service.d.ts +31 -2
  754. package/dist/services/backup.rpc-service.d.ts.map +1 -1
  755. package/dist/services/backup.rpc-service.js +53 -0
  756. package/dist/services/backup.rpc-service.js.map +1 -1
  757. package/dist/services/backup.service.d.ts +458 -14
  758. package/dist/services/backup.service.d.ts.map +1 -1
  759. package/dist/services/backup.service.js +1368 -170
  760. package/dist/services/backup.service.js.map +1 -1
  761. package/dist/services/bundle-build-worker.d.ts +19 -0
  762. package/dist/services/bundle-build-worker.d.ts.map +1 -0
  763. package/dist/services/bundle-build-worker.js +40 -0
  764. package/dist/services/bundle-build-worker.js.map +1 -0
  765. package/dist/services/bundle-builder.d.ts +490 -0
  766. package/dist/services/bundle-builder.d.ts.map +1 -0
  767. package/dist/services/bundle-builder.js +1159 -0
  768. package/dist/services/bundle-builder.js.map +1 -0
  769. package/dist/services/bundle-worker-protocol.d.ts +19 -0
  770. package/dist/services/bundle-worker-protocol.d.ts.map +1 -0
  771. package/dist/services/bundle-worker-protocol.js +32 -0
  772. package/dist/services/bundle-worker-protocol.js.map +1 -0
  773. package/dist/services/deploy.rpc-service.d.ts +4 -1
  774. package/dist/services/deploy.rpc-service.d.ts.map +1 -1
  775. package/dist/services/deploy.rpc-service.js +10 -0
  776. package/dist/services/deploy.rpc-service.js.map +1 -1
  777. package/dist/services/deploy.service.d.ts +14 -24
  778. package/dist/services/deploy.service.d.ts.map +1 -1
  779. package/dist/services/deploy.service.js +46 -5
  780. package/dist/services/deploy.service.js.map +1 -1
  781. package/dist/services/discovery.rpc-service.d.ts +2 -1
  782. package/dist/services/discovery.rpc-service.d.ts.map +1 -1
  783. package/dist/services/discovery.rpc-service.js.map +1 -1
  784. package/dist/services/discovery.service.d.ts +32 -28
  785. package/dist/services/discovery.service.d.ts.map +1 -1
  786. package/dist/services/discovery.service.js +108 -133
  787. package/dist/services/discovery.service.js.map +1 -1
  788. package/dist/services/event-broadcaster.rpc-service.d.ts +36 -23
  789. package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -1
  790. package/dist/services/event-broadcaster.rpc-service.js +70 -32
  791. package/dist/services/event-broadcaster.rpc-service.js.map +1 -1
  792. package/dist/services/event-broadcaster.service.d.ts.map +1 -1
  793. package/dist/services/event-broadcaster.service.js.map +1 -1
  794. package/dist/services/fleet.rpc-service.d.ts +2 -1
  795. package/dist/services/fleet.rpc-service.d.ts.map +1 -1
  796. package/dist/services/fleet.rpc-service.js +3 -1
  797. package/dist/services/fleet.rpc-service.js.map +1 -1
  798. package/dist/services/fleet.service.d.ts +32 -34
  799. package/dist/services/fleet.service.d.ts.map +1 -1
  800. package/dist/services/fleet.service.js +66 -10
  801. package/dist/services/fleet.service.js.map +1 -1
  802. package/dist/services/health-check.rpc-service.d.ts +2 -1
  803. package/dist/services/health-check.rpc-service.d.ts.map +1 -1
  804. package/dist/services/health-check.rpc-service.js.map +1 -1
  805. package/dist/services/health-check.service.d.ts +50 -36
  806. package/dist/services/health-check.service.d.ts.map +1 -1
  807. package/dist/services/health-check.service.js +179 -182
  808. package/dist/services/health-check.service.js.map +1 -1
  809. package/dist/services/host-operation-barrier.d.ts +8 -0
  810. package/dist/services/host-operation-barrier.d.ts.map +1 -0
  811. package/dist/services/host-operation-barrier.js +44 -0
  812. package/dist/services/host-operation-barrier.js.map +1 -0
  813. package/dist/services/host-upgrade.d.ts +129 -0
  814. package/dist/services/host-upgrade.d.ts.map +1 -0
  815. package/dist/services/host-upgrade.js +352 -0
  816. package/dist/services/host-upgrade.js.map +1 -0
  817. package/dist/services/infrastructure.rpc-service.d.ts +312 -2
  818. package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
  819. package/dist/services/infrastructure.rpc-service.js +584 -11
  820. package/dist/services/infrastructure.rpc-service.js.map +1 -1
  821. package/dist/services/kubernetes.rpc-service.d.ts +2 -1
  822. package/dist/services/kubernetes.rpc-service.d.ts.map +1 -1
  823. package/dist/services/kubernetes.rpc-service.js.map +1 -1
  824. package/dist/services/kubernetes.service.d.ts +5 -39
  825. package/dist/services/kubernetes.service.d.ts.map +1 -1
  826. package/dist/services/kubernetes.service.js +29 -5
  827. package/dist/services/kubernetes.service.js.map +1 -1
  828. package/dist/services/local-bundle.d.ts +160 -0
  829. package/dist/services/local-bundle.d.ts.map +1 -0
  830. package/dist/services/local-bundle.js +242 -0
  831. package/dist/services/local-bundle.js.map +1 -0
  832. package/dist/services/lockout.d.ts +28 -0
  833. package/dist/services/lockout.d.ts.map +1 -0
  834. package/dist/services/lockout.js +41 -0
  835. package/dist/services/lockout.js.map +1 -0
  836. package/dist/services/log-collector.rpc-service.d.ts +16 -0
  837. package/dist/services/log-collector.rpc-service.d.ts.map +1 -1
  838. package/dist/services/log-collector.rpc-service.js +16 -0
  839. package/dist/services/log-collector.rpc-service.js.map +1 -1
  840. package/dist/services/log-collector.service.d.ts +172 -54
  841. package/dist/services/log-collector.service.d.ts.map +1 -1
  842. package/dist/services/log-collector.service.js +492 -102
  843. package/dist/services/log-collector.service.js.map +1 -1
  844. package/dist/services/log-retention.d.ts +50 -0
  845. package/dist/services/log-retention.d.ts.map +1 -0
  846. package/dist/services/log-retention.js +52 -0
  847. package/dist/services/log-retention.js.map +1 -0
  848. package/dist/services/maintenance-lock.d.ts +162 -0
  849. package/dist/services/maintenance-lock.d.ts.map +1 -0
  850. package/dist/services/maintenance-lock.js +316 -0
  851. package/dist/services/maintenance-lock.js.map +1 -0
  852. package/dist/services/master-address.d.ts +107 -0
  853. package/dist/services/master-address.d.ts.map +1 -0
  854. package/dist/services/master-address.js +154 -0
  855. package/dist/services/master-address.js.map +1 -0
  856. package/dist/services/migration-output.d.ts +16 -0
  857. package/dist/services/migration-output.d.ts.map +1 -0
  858. package/dist/services/migration-output.js +22 -0
  859. package/dist/services/migration-output.js.map +1 -0
  860. package/dist/services/netron-telemetry-transport.d.ts.map +1 -1
  861. package/dist/services/netron-telemetry-transport.js.map +1 -1
  862. package/dist/services/node-deploy-lease.d.ts +171 -0
  863. package/dist/services/node-deploy-lease.d.ts.map +1 -0
  864. package/dist/services/node-deploy-lease.js +460 -0
  865. package/dist/services/node-deploy-lease.js.map +1 -0
  866. package/dist/services/node-health.repository.d.ts +63 -4
  867. package/dist/services/node-health.repository.d.ts.map +1 -1
  868. package/dist/services/node-health.repository.js +108 -67
  869. package/dist/services/node-health.repository.js.map +1 -1
  870. package/dist/services/node-manager.rpc-service.d.ts +360 -10
  871. package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
  872. package/dist/services/node-manager.rpc-service.js +754 -34
  873. package/dist/services/node-manager.rpc-service.js.map +1 -1
  874. package/dist/services/node-manager.service.d.ts +267 -95
  875. package/dist/services/node-manager.service.d.ts.map +1 -1
  876. package/dist/services/node-manager.service.js +805 -103
  877. package/dist/services/node-manager.service.js.map +1 -1
  878. package/dist/services/node-upgrade.d.ts +129 -0
  879. package/dist/services/node-upgrade.d.ts.map +1 -0
  880. package/dist/services/node-upgrade.js +161 -0
  881. package/dist/services/node-upgrade.js.map +1 -0
  882. package/dist/services/node-upgrade.service.d.ts +232 -0
  883. package/dist/services/node-upgrade.service.d.ts.map +1 -0
  884. package/dist/services/node-upgrade.service.js +468 -0
  885. package/dist/services/node-upgrade.service.js.map +1 -0
  886. package/dist/services/pipeline.rpc-service.d.ts +6 -1
  887. package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
  888. package/dist/services/pipeline.rpc-service.js +9 -0
  889. package/dist/services/pipeline.rpc-service.js.map +1 -1
  890. package/dist/services/pipeline.service.d.ts +17 -46
  891. package/dist/services/pipeline.service.d.ts.map +1 -1
  892. package/dist/services/pipeline.service.js +84 -9
  893. package/dist/services/pipeline.service.js.map +1 -1
  894. package/dist/services/project.rpc-service.d.ts +140 -5
  895. package/dist/services/project.rpc-service.d.ts.map +1 -1
  896. package/dist/services/project.rpc-service.js +260 -22
  897. package/dist/services/project.rpc-service.js.map +1 -1
  898. package/dist/services/project.service.d.ts +687 -15
  899. package/dist/services/project.service.d.ts.map +1 -1
  900. package/dist/services/project.service.js +2846 -337
  901. package/dist/services/project.service.js.map +1 -1
  902. package/dist/services/redeploy-decision.d.ts +176 -0
  903. package/dist/services/redeploy-decision.d.ts.map +1 -0
  904. package/dist/services/redeploy-decision.js +142 -0
  905. package/dist/services/redeploy-decision.js.map +1 -0
  906. package/dist/services/release.rpc-service.d.ts +159 -0
  907. package/dist/services/release.rpc-service.d.ts.map +1 -0
  908. package/dist/services/release.rpc-service.js +395 -0
  909. package/dist/services/release.rpc-service.js.map +1 -0
  910. package/dist/services/release.service.d.ts +114 -0
  911. package/dist/services/release.service.d.ts.map +1 -0
  912. package/dist/services/release.service.js +208 -0
  913. package/dist/services/release.service.js.map +1 -0
  914. package/dist/services/remote-deployer.service.d.ts +580 -8
  915. package/dist/services/remote-deployer.service.d.ts.map +1 -1
  916. package/dist/services/remote-deployer.service.js +1786 -169
  917. package/dist/services/remote-deployer.service.js.map +1 -1
  918. package/dist/services/remote-ops.service.d.ts +51 -9
  919. package/dist/services/remote-ops.service.d.ts.map +1 -1
  920. package/dist/services/remote-ops.service.js +235 -39
  921. package/dist/services/remote-ops.service.js.map +1 -1
  922. package/dist/services/remote-provisioner.d.ts +124 -0
  923. package/dist/services/remote-provisioner.d.ts.map +1 -0
  924. package/dist/services/remote-provisioner.js +258 -0
  925. package/dist/services/remote-provisioner.js.map +1 -0
  926. package/dist/services/secrets.rpc-service.d.ts +51 -2
  927. package/dist/services/secrets.rpc-service.d.ts.map +1 -1
  928. package/dist/services/secrets.rpc-service.js +81 -2
  929. package/dist/services/secrets.rpc-service.js.map +1 -1
  930. package/dist/services/secrets.service.d.ts +108 -9
  931. package/dist/services/secrets.service.d.ts.map +1 -1
  932. package/dist/services/secrets.service.js +313 -48
  933. package/dist/services/secrets.service.js.map +1 -1
  934. package/dist/services/slave-storage.service.d.ts +107 -0
  935. package/dist/services/slave-storage.service.d.ts.map +1 -1
  936. package/dist/services/slave-storage.service.js +171 -2
  937. package/dist/services/slave-storage.service.js.map +1 -1
  938. package/dist/services/static-carry-forward.d.ts +110 -0
  939. package/dist/services/static-carry-forward.d.ts.map +1 -0
  940. package/dist/services/static-carry-forward.js +433 -0
  941. package/dist/services/static-carry-forward.js.map +1 -0
  942. package/dist/services/sync-policy.d.ts +167 -0
  943. package/dist/services/sync-policy.d.ts.map +1 -0
  944. package/dist/services/sync-policy.js +161 -0
  945. package/dist/services/sync-policy.js.map +1 -0
  946. package/dist/services/sync-summary.d.ts +39 -0
  947. package/dist/services/sync-summary.d.ts.map +1 -0
  948. package/dist/services/sync-summary.js +62 -0
  949. package/dist/services/sync-summary.js.map +1 -0
  950. package/dist/services/sync.rpc-service.d.ts +19 -7
  951. package/dist/services/sync.rpc-service.d.ts.map +1 -1
  952. package/dist/services/sync.rpc-service.js +36 -5
  953. package/dist/services/sync.rpc-service.js.map +1 -1
  954. package/dist/services/sync.service.d.ts +350 -18
  955. package/dist/services/sync.service.d.ts.map +1 -1
  956. package/dist/services/sync.service.js +864 -116
  957. package/dist/services/sync.service.js.map +1 -1
  958. package/dist/services/system-info.rpc-service.d.ts +2 -1
  959. package/dist/services/system-info.rpc-service.d.ts.map +1 -1
  960. package/dist/services/system-info.rpc-service.js.map +1 -1
  961. package/dist/services/system-info.service.d.ts +56 -68
  962. package/dist/services/system-info.service.d.ts.map +1 -1
  963. package/dist/services/system-info.service.js +240 -127
  964. package/dist/services/system-info.service.js.map +1 -1
  965. package/dist/services/telemetry.rpc-service.d.ts.map +1 -1
  966. package/dist/services/telemetry.rpc-service.js +9 -3
  967. package/dist/services/telemetry.rpc-service.js.map +1 -1
  968. package/dist/services/telemetry.service.d.ts +4 -2
  969. package/dist/services/telemetry.service.d.ts.map +1 -1
  970. package/dist/services/telemetry.service.js +4 -2
  971. package/dist/services/telemetry.service.js.map +1 -1
  972. package/dist/services/trace-collector.rpc-service.d.ts +2 -1
  973. package/dist/services/trace-collector.rpc-service.d.ts.map +1 -1
  974. package/dist/services/trace-collector.rpc-service.js.map +1 -1
  975. package/dist/services/trace-collector.service.d.ts +2 -41
  976. package/dist/services/trace-collector.service.d.ts.map +1 -1
  977. package/dist/services/trace-collector.service.js +27 -7
  978. package/dist/services/trace-collector.service.js.map +1 -1
  979. package/dist/services/wait-for-postgres.d.ts +28 -0
  980. package/dist/services/wait-for-postgres.d.ts.map +1 -0
  981. package/dist/services/wait-for-postgres.js +77 -0
  982. package/dist/services/wait-for-postgres.js.map +1 -0
  983. package/dist/shared/alert-expression.d.ts +60 -0
  984. package/dist/shared/alert-expression.d.ts.map +1 -0
  985. package/dist/shared/alert-expression.js +124 -0
  986. package/dist/shared/alert-expression.js.map +1 -0
  987. package/dist/shared/audit-outcome.d.ts +39 -0
  988. package/dist/shared/audit-outcome.d.ts.map +1 -0
  989. package/dist/shared/audit-outcome.js +45 -0
  990. package/dist/shared/audit-outcome.js.map +1 -0
  991. package/dist/shared/build-freshness.d.ts +59 -0
  992. package/dist/shared/build-freshness.d.ts.map +1 -0
  993. package/dist/shared/build-freshness.js +113 -0
  994. package/dist/shared/build-freshness.js.map +1 -0
  995. package/dist/shared/build-stamp.d.ts +26 -0
  996. package/dist/shared/build-stamp.d.ts.map +1 -0
  997. package/dist/shared/build-stamp.js +36 -0
  998. package/dist/shared/build-stamp.js.map +1 -0
  999. package/dist/shared/describe-error.d.ts +22 -0
  1000. package/dist/shared/describe-error.d.ts.map +1 -0
  1001. package/dist/shared/describe-error.js +39 -0
  1002. package/dist/shared/describe-error.js.map +1 -0
  1003. package/dist/shared/dto/alerts.d.ts +101 -0
  1004. package/dist/shared/dto/alerts.d.ts.map +1 -0
  1005. package/dist/shared/dto/alerts.js +9 -0
  1006. package/dist/shared/dto/alerts.js.map +1 -0
  1007. package/dist/shared/dto/auth.d.ts +49 -0
  1008. package/dist/shared/dto/auth.d.ts.map +1 -0
  1009. package/dist/shared/dto/auth.js +14 -0
  1010. package/dist/shared/dto/auth.js.map +1 -0
  1011. package/dist/shared/dto/backups.d.ts +16 -0
  1012. package/dist/shared/dto/backups.d.ts.map +1 -0
  1013. package/dist/shared/dto/backups.js +9 -0
  1014. package/dist/shared/dto/backups.js.map +1 -0
  1015. package/dist/shared/dto/deploy.d.ts +28 -0
  1016. package/dist/shared/dto/deploy.d.ts.map +1 -0
  1017. package/dist/shared/dto/deploy.js +8 -0
  1018. package/dist/shared/dto/deploy.js.map +1 -0
  1019. package/dist/shared/dto/discovery.d.ts +24 -0
  1020. package/dist/shared/dto/discovery.d.ts.map +1 -0
  1021. package/dist/shared/dto/discovery.js +9 -0
  1022. package/dist/shared/dto/discovery.js.map +1 -0
  1023. package/dist/shared/dto/fleet.d.ts +35 -0
  1024. package/dist/shared/dto/fleet.d.ts.map +1 -0
  1025. package/dist/shared/dto/fleet.js +8 -0
  1026. package/dist/shared/dto/fleet.js.map +1 -0
  1027. package/dist/shared/dto/health.d.ts +26 -0
  1028. package/dist/shared/dto/health.d.ts.map +1 -0
  1029. package/dist/shared/dto/health.js +9 -0
  1030. package/dist/shared/dto/health.js.map +1 -0
  1031. package/dist/shared/dto/kubernetes.d.ts +44 -0
  1032. package/dist/shared/dto/kubernetes.d.ts.map +1 -0
  1033. package/dist/shared/dto/kubernetes.js +9 -0
  1034. package/dist/shared/dto/kubernetes.js.map +1 -0
  1035. package/dist/shared/dto/logs.d.ts +77 -0
  1036. package/dist/shared/dto/logs.d.ts.map +1 -0
  1037. package/dist/shared/dto/logs.js +10 -0
  1038. package/dist/shared/dto/logs.js.map +1 -0
  1039. package/dist/shared/dto/metrics.d.ts +65 -0
  1040. package/dist/shared/dto/metrics.d.ts.map +1 -0
  1041. package/dist/shared/dto/metrics.js +17 -0
  1042. package/dist/shared/dto/metrics.js.map +1 -0
  1043. package/dist/shared/dto/nodes.d.ts +347 -0
  1044. package/dist/shared/dto/nodes.d.ts.map +1 -0
  1045. package/dist/shared/dto/nodes.js +8 -0
  1046. package/dist/shared/dto/nodes.js.map +1 -0
  1047. package/dist/shared/dto/pipelines.d.ts +53 -0
  1048. package/dist/shared/dto/pipelines.d.ts.map +1 -0
  1049. package/dist/shared/dto/pipelines.js +9 -0
  1050. package/dist/shared/dto/pipelines.js.map +1 -0
  1051. package/dist/shared/dto/project.d.ts +142 -8
  1052. package/dist/shared/dto/project.d.ts.map +1 -1
  1053. package/dist/shared/dto/services.d.ts +858 -7
  1054. package/dist/shared/dto/services.d.ts.map +1 -1
  1055. package/dist/shared/dto/system-info.d.ts +93 -0
  1056. package/dist/shared/dto/system-info.d.ts.map +1 -0
  1057. package/dist/shared/dto/system-info.js +9 -0
  1058. package/dist/shared/dto/system-info.js.map +1 -0
  1059. package/dist/shared/dto/traces.d.ts +49 -0
  1060. package/dist/shared/dto/traces.d.ts.map +1 -0
  1061. package/dist/shared/dto/traces.js +9 -0
  1062. package/dist/shared/dto/traces.js.map +1 -0
  1063. package/dist/shared/env-config.d.ts +74 -0
  1064. package/dist/shared/env-config.d.ts.map +1 -0
  1065. package/dist/shared/env-config.js +99 -0
  1066. package/dist/shared/env-config.js.map +1 -0
  1067. package/dist/shared/events.d.ts +45 -39
  1068. package/dist/shared/events.d.ts.map +1 -1
  1069. package/dist/shared/events.js +6 -0
  1070. package/dist/shared/events.js.map +1 -1
  1071. package/dist/shared/format.d.ts +1 -1
  1072. package/dist/shared/format.d.ts.map +1 -1
  1073. package/dist/shared/format.js +4 -0
  1074. package/dist/shared/format.js.map +1 -1
  1075. package/dist/shared/local-infra-host.d.ts +28 -0
  1076. package/dist/shared/local-infra-host.d.ts.map +1 -0
  1077. package/dist/shared/local-infra-host.js +28 -0
  1078. package/dist/shared/local-infra-host.js.map +1 -0
  1079. package/dist/shared/node-check.d.ts +37 -0
  1080. package/dist/shared/node-check.d.ts.map +1 -0
  1081. package/dist/shared/node-check.js +41 -0
  1082. package/dist/shared/node-check.js.map +1 -0
  1083. package/dist/shared/paths.d.ts +29 -0
  1084. package/dist/shared/paths.d.ts.map +1 -0
  1085. package/dist/shared/paths.js +54 -0
  1086. package/dist/shared/paths.js.map +1 -0
  1087. package/dist/shared/pnpm.d.ts +29 -0
  1088. package/dist/shared/pnpm.d.ts.map +1 -0
  1089. package/dist/shared/pnpm.js +57 -0
  1090. package/dist/shared/pnpm.js.map +1 -0
  1091. package/dist/shared/private-files.d.ts +29 -0
  1092. package/dist/shared/private-files.d.ts.map +1 -0
  1093. package/dist/shared/private-files.js +109 -0
  1094. package/dist/shared/private-files.js.map +1 -0
  1095. package/dist/shared/redact-env.d.ts +24 -0
  1096. package/dist/shared/redact-env.d.ts.map +1 -0
  1097. package/dist/shared/redact-env.js +36 -0
  1098. package/dist/shared/redact-env.js.map +1 -0
  1099. package/dist/shared/release-reading.d.ts +85 -0
  1100. package/dist/shared/release-reading.d.ts.map +1 -0
  1101. package/dist/shared/release-reading.js +81 -0
  1102. package/dist/shared/release-reading.js.map +1 -0
  1103. package/dist/shared/roles.d.ts +58 -3
  1104. package/dist/shared/roles.d.ts.map +1 -1
  1105. package/dist/shared/roles.js +55 -0
  1106. package/dist/shared/roles.js.map +1 -1
  1107. package/dist/shared/rpcauth.d.ts +13 -0
  1108. package/dist/shared/rpcauth.d.ts.map +1 -0
  1109. package/dist/shared/rpcauth.js +23 -0
  1110. package/dist/shared/rpcauth.js.map +1 -0
  1111. package/dist/shared/shell-escape.d.ts +9 -0
  1112. package/dist/shared/shell-escape.d.ts.map +1 -0
  1113. package/dist/shared/shell-escape.js +11 -0
  1114. package/dist/shared/shell-escape.js.map +1 -0
  1115. package/dist/shared/sync-reading.d.ts +45 -0
  1116. package/dist/shared/sync-reading.d.ts.map +1 -0
  1117. package/dist/shared/sync-reading.js +42 -0
  1118. package/dist/shared/sync-reading.js.map +1 -0
  1119. package/dist/shared/tokens.d.ts +19 -0
  1120. package/dist/shared/tokens.d.ts.map +1 -1
  1121. package/dist/shared/tokens.js +28 -0
  1122. package/dist/shared/tokens.js.map +1 -1
  1123. package/dist/webapp/webapp.service.d.ts +33 -2
  1124. package/dist/webapp/webapp.service.d.ts.map +1 -1
  1125. package/dist/webapp/webapp.service.js +143 -31
  1126. package/dist/webapp/webapp.service.js.map +1 -1
  1127. package/dist/workers/health-monitor-process.d.ts.map +1 -1
  1128. package/dist/workers/health-monitor-process.js +10 -0
  1129. package/dist/workers/health-monitor-process.js.map +1 -1
  1130. package/dist/workers/health-monitor.service.d.ts +45 -3
  1131. package/dist/workers/health-monitor.service.d.ts.map +1 -1
  1132. package/dist/workers/health-monitor.service.js +152 -25
  1133. package/dist/workers/health-monitor.service.js.map +1 -1
  1134. package/dist/workers/system-worker-manager.d.ts +43 -0
  1135. package/dist/workers/system-worker-manager.d.ts.map +1 -1
  1136. package/dist/workers/system-worker-manager.js +150 -3
  1137. package/dist/workers/system-worker-manager.js.map +1 -1
  1138. package/dist/workers/types.d.ts +8 -2
  1139. package/dist/workers/types.d.ts.map +1 -1
  1140. package/package.json +68 -30
  1141. package/webapp/dist/BUILD.json +5 -0
  1142. package/webapp/dist/assets/FormControlLabel-BbSxpQwN.js +1 -0
  1143. package/webapp/dist/assets/Grid-DizFZYue.js +1 -0
  1144. package/webapp/dist/assets/Switch-Bfiqzx8l.js +1 -0
  1145. package/webapp/dist/assets/alerts-DH_RVRS3.js +1 -0
  1146. package/webapp/dist/assets/apps-B96355sz.js +1 -0
  1147. package/webapp/dist/assets/audit-CYGtbi4k.js +1 -0
  1148. package/webapp/dist/assets/client-BmqFExWT.js +1 -0
  1149. package/webapp/dist/assets/constants-veKGFkC6.js +1 -0
  1150. package/webapp/dist/assets/containers-B_TpThln.js +2 -0
  1151. package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +1 -0
  1152. package/webapp/dist/assets/dashboard-DHf2_65N.js +1 -0
  1153. package/webapp/dist/assets/dashboard-builder-CWY2pjeG.js +1 -0
  1154. package/webapp/dist/assets/deploy-release-dialog-Dp-zpSAd.js +1 -0
  1155. package/webapp/dist/assets/deployments-tJI6O3fK.js +1 -0
  1156. package/webapp/dist/assets/detail-B2zP1Hto.js +8 -0
  1157. package/webapp/dist/assets/detail-CoIrwmsy.js +1 -0
  1158. package/webapp/dist/assets/detail-DWaGaOtL.js +2 -0
  1159. package/webapp/dist/assets/formatters-BqjL73N3.js +1 -0
  1160. package/webapp/dist/assets/index-Dvo0iprx.css +1 -0
  1161. package/webapp/dist/assets/index-vMnY_4jR.js +412 -0
  1162. package/webapp/dist/assets/logs-DTRjOfX8.js +12 -0
  1163. package/webapp/dist/assets/maplibre-gl-DowHoZAx.js +814 -0
  1164. package/webapp/dist/assets/metrics-UCajtdox.js +2 -0
  1165. package/webapp/dist/assets/nodes-DuTVU0f6.js +7 -0
  1166. package/webapp/dist/assets/pipelines-C8BeDcAl.js +4 -0
  1167. package/webapp/dist/assets/projects-Dp_zFfLY.js +1 -0
  1168. package/webapp/dist/assets/react-DlmbjZJV.js +1 -0
  1169. package/webapp/dist/assets/react-apexcharts.esm-C8pn45ml.js +97 -0
  1170. package/webapp/dist/assets/release-bits-BzTKz5fM.js +1 -0
  1171. package/webapp/dist/assets/release-build-panel-DcW9YcXQ.js +1 -0
  1172. package/webapp/dist/assets/releases-B4hcr1bE.js +2 -0
  1173. package/webapp/dist/assets/rolldown-runtime-XKyaHtl9.js +1 -0
  1174. package/webapp/dist/assets/settings-DIteZTbe.js +1 -0
  1175. package/webapp/dist/assets/settled-pair-C7SjZuns.js +1 -0
  1176. package/webapp/dist/assets/sign-in-D4kMBOHp.js +1 -0
  1177. package/webapp/dist/assets/stacks-Brnf-EB7.js +1 -0
  1178. package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +1 -0
  1179. package/webapp/dist/assets/system-info-CFDNVKkU.js +1 -0
  1180. package/webapp/dist/assets/topology-7WeTUsDN.js +12 -0
  1181. package/webapp/dist/assets/topology-DLioOiRN.css +1 -0
  1182. package/webapp/dist/assets/traces-9c3gwCN-.js +1 -0
  1183. package/webapp/dist/assets/use-stack-context-CnA5FTHu.js +1 -0
  1184. package/webapp/dist/index.html +6 -6
  1185. package/dist/commands/dev.d.ts +0 -23
  1186. package/dist/commands/dev.d.ts.map +0 -1
  1187. package/dist/commands/dev.js +0 -76
  1188. package/dist/commands/dev.js.map +0 -1
  1189. package/dist/config/define-app.d.ts +0 -6
  1190. package/dist/config/define-app.d.ts.map +0 -1
  1191. package/dist/config/define-app.js +0 -38
  1192. package/dist/config/define-app.js.map +0 -1
  1193. package/dist/infrastructure/gateway-generator.d.ts +0 -63
  1194. package/dist/infrastructure/gateway-generator.d.ts.map +0 -1
  1195. package/dist/infrastructure/gateway-generator.js +0 -253
  1196. package/dist/infrastructure/gateway-generator.js.map +0 -1
  1197. package/dist/monitoring/health.service.d.ts +0 -14
  1198. package/dist/monitoring/health.service.d.ts.map +0 -1
  1199. package/dist/monitoring/health.service.js +0 -50
  1200. package/dist/monitoring/health.service.js.map +0 -1
  1201. package/dist/monitoring/metrics.service.d.ts +0 -14
  1202. package/dist/monitoring/metrics.service.d.ts.map +0 -1
  1203. package/dist/monitoring/metrics.service.js +0 -40
  1204. package/dist/monitoring/metrics.service.js.map +0 -1
  1205. package/dist/orchestrator/bootstrap-runner.d.ts +0 -15
  1206. package/dist/orchestrator/bootstrap-runner.d.ts.map +0 -1
  1207. package/dist/orchestrator/bootstrap-runner.js +0 -152
  1208. package/dist/orchestrator/bootstrap-runner.js.map +0 -1
  1209. package/dist/orchestrator/topology-proxy.d.ts +0 -65
  1210. package/dist/orchestrator/topology-proxy.d.ts.map +0 -1
  1211. package/dist/orchestrator/topology-proxy.js +0 -209
  1212. package/dist/orchestrator/topology-proxy.js.map +0 -1
  1213. package/dist/orchestrator/topology-relay.d.ts +0 -111
  1214. package/dist/orchestrator/topology-relay.d.ts.map +0 -1
  1215. package/dist/orchestrator/topology-relay.js +0 -255
  1216. package/dist/orchestrator/topology-relay.js.map +0 -1
  1217. package/dist/services/auth-middleware.d.ts +0 -47
  1218. package/dist/services/auth-middleware.d.ts.map +0 -1
  1219. package/dist/services/auth-middleware.js +0 -158
  1220. package/dist/services/auth-middleware.js.map +0 -1
  1221. package/dist/services/environment.rpc-service.d.ts +0 -22
  1222. package/dist/services/environment.rpc-service.d.ts.map +0 -1
  1223. package/dist/services/environment.rpc-service.js +0 -65
  1224. package/dist/services/environment.rpc-service.js.map +0 -1
  1225. package/dist/services/environment.service.d.ts +0 -87
  1226. package/dist/services/environment.service.d.ts.map +0 -1
  1227. package/dist/services/environment.service.js +0 -220
  1228. package/dist/services/environment.service.js.map +0 -1
  1229. package/dist/services/metrics-collector.service.d.ts +0 -103
  1230. package/dist/services/metrics-collector.service.d.ts.map +0 -1
  1231. package/dist/services/metrics-collector.service.js +0 -235
  1232. package/dist/services/metrics-collector.service.js.map +0 -1
  1233. package/dist/services/metrics.rpc-service.d.ts +0 -41
  1234. package/dist/services/metrics.rpc-service.d.ts.map +0 -1
  1235. package/dist/services/metrics.rpc-service.js +0 -90
  1236. package/dist/services/metrics.rpc-service.js.map +0 -1
  1237. package/dist/services/metrics.service.d.ts +0 -72
  1238. package/dist/services/metrics.service.d.ts.map +0 -1
  1239. package/dist/services/metrics.service.js +0 -185
  1240. package/dist/services/metrics.service.js.map +0 -1
  1241. package/dist/supervisor/omnitron-supervisor.d.ts +0 -21
  1242. package/dist/supervisor/omnitron-supervisor.d.ts.map +0 -1
  1243. package/dist/supervisor/omnitron-supervisor.js +0 -43
  1244. package/dist/supervisor/omnitron-supervisor.js.map +0 -1
  1245. package/dist/webapp/static-server.d.ts +0 -24
  1246. package/dist/webapp/static-server.d.ts.map +0 -1
  1247. package/dist/webapp/static-server.js +0 -152
  1248. package/dist/webapp/static-server.js.map +0 -1
  1249. package/webapp/dist/assets/Badge-D2ZBP5iK.js +0 -1
  1250. package/webapp/dist/assets/Card-vO88g06B.js +0 -1
  1251. package/webapp/dist/assets/CardActions-C9h7Q2wW.js +0 -1
  1252. package/webapp/dist/assets/CardContent-BA_Xmmhk.js +0 -1
  1253. package/webapp/dist/assets/CardHeader-ceIs__6x.js +0 -1
  1254. package/webapp/dist/assets/Chip-Ckk0xUhK.js +0 -1
  1255. package/webapp/dist/assets/DialogActions-BhHM7hov.js +0 -1
  1256. package/webapp/dist/assets/DialogContentText-BT2JQRmK.js +0 -1
  1257. package/webapp/dist/assets/FormControlLabel-CcQByVS8.js +0 -1
  1258. package/webapp/dist/assets/Grid-14PETRQW.js +0 -1
  1259. package/webapp/dist/assets/InputAdornment-B8aHIsQ7.js +0 -1
  1260. package/webapp/dist/assets/Skeleton-B74-Ds6O.js +0 -37
  1261. package/webapp/dist/assets/Switch-DvWD2wh4.js +0 -1
  1262. package/webapp/dist/assets/SwitchBase-CDU4nY8O.js +0 -1
  1263. package/webapp/dist/assets/Tab-DcCOYYp5.js +0 -1
  1264. package/webapp/dist/assets/TableContainer-CzTh4mu-.js +0 -1
  1265. package/webapp/dist/assets/TableRow-BySEreZR.js +0 -2
  1266. package/webapp/dist/assets/TextField-BLf-BHz2.js +0 -1
  1267. package/webapp/dist/assets/alerts-DnRbT41C.js +0 -1
  1268. package/webapp/dist/assets/apps-CdR0VH2d.js +0 -1
  1269. package/webapp/dist/assets/chunk-DtcAfS_W.js +0 -1
  1270. package/webapp/dist/assets/client-DU8I_lDc.js +0 -2
  1271. package/webapp/dist/assets/constants-BgnT-Xdy.js +0 -1
  1272. package/webapp/dist/assets/containers-Dw-rRXV1.js +0 -1
  1273. package/webapp/dist/assets/dashboard-CzgB0uZz.js +0 -1
  1274. package/webapp/dist/assets/dashboard-builder-DsA0yg33.js +0 -1
  1275. package/webapp/dist/assets/deployments-DtQAoIcQ.js +0 -1
  1276. package/webapp/dist/assets/detail-BJR-G7JG.js +0 -1
  1277. package/webapp/dist/assets/detail-nlCeSltl.js +0 -8
  1278. package/webapp/dist/assets/formatters-Do41SRmE.js +0 -1
  1279. package/webapp/dist/assets/index-ByQDwp2r.js +0 -566
  1280. package/webapp/dist/assets/index-CHVXOsTS.css +0 -1
  1281. package/webapp/dist/assets/isMuiElement-DwF2naaF.js +0 -1
  1282. package/webapp/dist/assets/logs-Kn8o4H7k.js +0 -11
  1283. package/webapp/dist/assets/metrics-DN8Zu5wT.js +0 -2
  1284. package/webapp/dist/assets/nodes-Bgch7AtN.js +0 -7
  1285. package/webapp/dist/assets/pipelines-Cry3qm-S.js +0 -4
  1286. package/webapp/dist/assets/popper-BJFSj6rc.js +0 -1
  1287. package/webapp/dist/assets/preload-helper-DSXbuxSR.js +0 -1
  1288. package/webapp/dist/assets/projects-Dym2GI1U.js +0 -1
  1289. package/webapp/dist/assets/react-apexcharts.esm-CSGK5Cxn.js +0 -958
  1290. package/webapp/dist/assets/react-apexcharts.esm-DEAWOwx5.js +0 -1003
  1291. package/webapp/dist/assets/settings-va3zTcow.js +0 -1
  1292. package/webapp/dist/assets/sign-in-ik35umbp.js +0 -1
  1293. package/webapp/dist/assets/stacks-CVFOnxbF.js +0 -1
  1294. package/webapp/dist/assets/system-info-npIXAjX2.js +0 -1
  1295. package/webapp/dist/assets/topology-CHpVij2M.css +0 -1
  1296. package/webapp/dist/assets/topology-bDe70vLs.js +0 -12
  1297. package/webapp/dist/assets/traces-DIIcT8DF.js +0 -1
  1298. package/webapp/dist/assets/use-stack-context-DHLwZv1r.js +0 -1
  1299. /package/webapp/dist/assets/{fs-CgZLtHiQ.js → fs-Ccl3sAcp.js} +0 -0
@@ -2,6 +2,21 @@
2
2
  * NodeManager RPC Service — Netron endpoints for node management
3
3
  *
4
4
  * Only available on master omnitron. Slave cannot manage nodes.
5
+ *
6
+ * The health-monitor worker is an OPTIMISATION, not a dependency. Every
7
+ * endpoint that prefers it degrades to the daemon's own checks when the call
8
+ * fails. The guards used to test `this.healthWorkerProxy` for null — which is
9
+ * only ever true before the worker is wired and after the daemon begins
10
+ * shutting down — so a worker that CRASHED left a proxy that looked present
11
+ * and answered every call with
12
+ * `TitanError: Service with id HealthMonitor@1.0.0 not found`. The console's
13
+ * Refresh and Check buttons returned that error verbatim, and the fleet view
14
+ * went on rendering a status frozen at the worker's last report as though it
15
+ * were current.
16
+ *
17
+ * A crash is now the daemon's to notice: the worker's `onExit` drops the
18
+ * proxy and schedules a respawn, which wires a new one. What a failed CALL
19
+ * costs is that call, and no more — see `callWorker`.
5
20
  */
6
21
  var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
22
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -13,18 +28,51 @@ var __metadata = (this && this.__metadata) || function (k, v) {
13
28
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
14
29
  };
15
30
  import { Service, Public } from '@omnitron-dev/titan/decorators';
16
- import { VIEWER_ROLES, OPERATOR_ROLES } from '../shared/roles.js';
31
+ import { VIEWER_ROLES, OPERATOR_ROLES, CONTROL_PLANE_READ_ROLES } from '../shared/roles.js';
32
+ import { Errors } from '@omnitron-dev/titan/errors';
33
+ /**
34
+ * Caps on what one call may ask the database for.
35
+ *
36
+ * `limit` and `bucketCount` arrived from the caller and went straight into
37
+ * the query. A page size is not a suggestion the client makes — it is the
38
+ * cost of the request, and the server is the only side that knows what it can
39
+ * afford. The console asks for 200 buckets; these numbers are above what any
40
+ * caller in the tree needs and below what would hurt.
41
+ */
42
+ const MAX_HISTORY_LIMIT = 500;
43
+ const MAX_UPTIME_BUCKETS = 400;
44
+ /** Clamp an untrusted count to `[1, max]`, falling back for NaN/absent. */
45
+ function boundedCount(value, fallback, max) {
46
+ if (value == null || !Number.isFinite(value))
47
+ return fallback;
48
+ return Math.min(max, Math.max(1, Math.floor(value)));
49
+ }
17
50
  let NodeManagerRpcService = class NodeManagerRpcService {
18
51
  nodeManager;
52
+ audit;
19
53
  healthWorkerProxy = null;
20
54
  healthRepo = null;
21
- constructor(nodeManager) {
55
+ remoteDeployer = null;
56
+ upgrades = null;
57
+ slaveConnector = null;
58
+ titanHealth = null;
59
+ syncService = null;
60
+ telemetryRelay = null;
61
+ leaderElection = null;
62
+ constructor(nodeManager,
63
+ /** The audit trail, when this daemon has one — see `ProjectRpcService`. */
64
+ audit) {
22
65
  this.nodeManager = nodeManager;
66
+ this.audit = audit;
23
67
  }
24
68
  /** Set the health worker proxy after the worker is spawned */
25
69
  setHealthWorkerProxy(proxy) {
26
70
  this.healthWorkerProxy = proxy;
27
71
  }
72
+ /** Whether fleet checks are currently being served by the worker. */
73
+ hasHealthWorker() {
74
+ return this.healthWorkerProxy !== null;
75
+ }
28
76
  /** Set the PG repository for direct history reads */
29
77
  setHealthRepository(repo) {
30
78
  this.healthRepo = repo;
@@ -35,36 +83,99 @@ let NodeManagerRpcService = class NodeManagerRpcService {
35
83
  getNode(data) {
36
84
  return this.nodeManager.getNode(data.id);
37
85
  }
38
- addNode(data) {
39
- return this.nodeManager.addNode(data);
86
+ async addNode(data) {
87
+ const node = await this.nodeManager.addNode(data);
88
+ // Identifiers, not the input: `data` carries `sshPassword` on this path.
89
+ await this.audit?.record({
90
+ action: 'node.add',
91
+ resourceType: 'node',
92
+ resourceId: node.id,
93
+ details: { name: node.name, host: node.host, daemonPort: node.daemonPort, sshAuthMethod: node.sshAuthMethod },
94
+ });
95
+ return node;
40
96
  }
41
- updateNode(data) {
97
+ async updateNode(data) {
42
98
  const { id, ...input } = data;
43
- return this.nodeManager.updateNode(id, input);
99
+ const node = await this.nodeManager.updateNode(id, input);
100
+ // WHICH fields were touched, never their values — `sshPassword` and
101
+ // `sshPassphrase` arrive through here.
102
+ await this.audit?.record({
103
+ action: 'node.update',
104
+ resourceType: 'node',
105
+ resourceId: id,
106
+ details: { name: node.name, fields: Object.keys(input).sort().join(',') },
107
+ });
108
+ return node;
44
109
  }
45
- removeNode(data) {
46
- return this.nodeManager.removeNode(data.id);
110
+ /**
111
+ * Remove a node, and everything keyed to it.
112
+ *
113
+ * The check history goes too. It is keyed by an id that will never be
114
+ * issued again, nothing can read it back, and the retention sweep only
115
+ * looks at age — so a fleet that churns nodes accumulates rows no query
116
+ * will ever name. Deletion that stops at the registry row is deletion of
117
+ * the part you can see.
118
+ */
119
+ async removeNode(data) {
120
+ const before = this.nodeManager.getNode(data.id);
121
+ await this.nodeManager.removeNode(data.id);
122
+ await this.audit?.record({
123
+ action: 'node.remove',
124
+ resourceType: 'node',
125
+ resourceId: data.id,
126
+ details: { name: before?.name ?? null, host: before?.host ?? null },
127
+ });
128
+ if (!this.healthRepo)
129
+ return;
130
+ try {
131
+ await this.healthRepo.deleteHistory(data.id);
132
+ }
133
+ catch (err) {
134
+ // The node IS gone; failing the call now would invite a retry that
135
+ // cannot succeed. Say so instead.
136
+ this.nodeManager.reportProblem('deleteHistory', err);
137
+ }
47
138
  }
48
139
  async checkNodeStatus(data) {
140
+ this.assertRegistered(data.id);
49
141
  // Delegate to worker if available — returns fresh result directly
50
- if (this.healthWorkerProxy) {
51
- const summaries = await this.healthWorkerProxy.triggerCheck(data.id);
52
- const summary = summaries.find((s) => s.nodeId === data.id);
53
- if (summary?.lastCheck) {
54
- const status = summaryToNodeStatus(summary);
55
- this.nodeManager.updateStatusCacheFromWorker([summary]);
56
- return status;
57
- }
142
+ const summaries = await this.callWorker((w) => w.triggerCheck(data.id), 'triggerCheck');
143
+ const summary = summaries?.find((s) => s.nodeId === data.id);
144
+ if (summary?.lastCheck) {
145
+ const status = summaryToNodeStatus(summary);
146
+ this.nodeManager.updateStatusCacheFromWorker([summary]);
147
+ return status;
58
148
  }
59
149
  return this.nodeManager.checkNodeStatus(data.id);
60
150
  }
151
+ /**
152
+ * Check every node, returning each one's STATUS.
153
+ *
154
+ * Two methods run the same round. This one answers `INodeStatus[]` — the
155
+ * three reachability layers with their errors — and `triggerNodeCheck({})`
156
+ * answers `INodeHealthSummary[]`, which adds `consecutiveFailures` and
157
+ * `lastSeenOnline` and drops the per-layer detail. Neither is redundant and
158
+ * neither had a production caller: the console now uses both, one for the
159
+ * diagnosis panel and one for "has it been down since Tuesday or did it
160
+ * blink once".
161
+ *
162
+ * Which to call is decided by which of those two answers you need, and
163
+ * saying so here is cheaper than the next reader discovering the difference
164
+ * after choosing the wrong one.
165
+ */
61
166
  async checkAllNodes() {
62
- if (this.healthWorkerProxy) {
63
- const summaries = await this.healthWorkerProxy.triggerCheck();
64
- if (summaries.length > 0) {
65
- this.nodeManager.updateStatusCacheFromWorker(summaries);
66
- return summaries.filter((s) => s.lastCheck).map(summaryToNodeStatus);
67
- }
167
+ const summaries = await this.callWorker((w) => w.triggerCheck(), 'triggerCheck');
168
+ if (summaries) {
169
+ this.nodeManager.updateStatusCacheFromWorker(summaries);
170
+ // The FILTERED list decides, not the raw one. A worker that answered
171
+ // with summaries none of which carries a `lastCheck` — one that has
172
+ // been spawned but not yet told which nodes exist, say — passed the
173
+ // `length > 0` test and then returned an empty array, and an empty
174
+ // array on the page whose subject is the fleet reads as "you have no
175
+ // nodes". Whatever empties it, the daemon can still answer.
176
+ const checked = this.registeredOnly(summaries).filter((s) => s.lastCheck).map(summaryToNodeStatus);
177
+ if (checked.length > 0)
178
+ return checked;
68
179
  }
69
180
  return this.nodeManager.checkAllNodes();
70
181
  }
@@ -72,7 +183,7 @@ let NodeManagerRpcService = class NodeManagerRpcService {
72
183
  async getCheckHistory(data) {
73
184
  if (!this.healthRepo)
74
185
  return [];
75
- return this.healthRepo.getHistory(data.nodeId, data.limit ?? 50);
186
+ return this.healthRepo.getHistory(data.nodeId, boundedCount(data.limit, 50, MAX_HISTORY_LIMIT));
76
187
  }
77
188
  /**
78
189
  * Uptime bar data from PG — aggregated into fixed-interval buckets.
@@ -81,17 +192,463 @@ let NodeManagerRpcService = class NodeManagerRpcService {
81
192
  async getUptimeBar(data) {
82
193
  if (!this.healthRepo)
83
194
  return [];
84
- return this.healthRepo.getUptimeBar(data.nodeId, data.bucketCount ?? 60, data.intervalMs ?? 300_000);
195
+ return this.healthRepo.getUptimeBar(data.nodeId, boundedCount(data.bucketCount, 60, MAX_UPTIME_BUCKETS), data.intervalMs ?? 300_000);
85
196
  }
197
+ /**
198
+ * Every node's aggregated health.
199
+ *
200
+ * From the daemon's own summaries when the worker cannot answer, like
201
+ * every other endpoint here. It answered `[]` — measured 2026-09-23: 3
202
+ * entries, then 0 the moment one unrelated call detached the worker — and
203
+ * an empty list on the page whose subject is the fleet reads as «no
204
+ * nodes», while the daemon held a summary for each of them.
205
+ */
86
206
  async getNodeHealthSummaries() {
87
- if (!this.healthWorkerProxy)
88
- return [];
89
- return this.healthWorkerProxy.getStatusSummaries();
207
+ return this.registeredOnly((await this.callWorker((w) => w.getStatusSummaries(), 'getStatusSummaries')) ??
208
+ this.nodeManager.getHealthSummaries());
90
209
  }
91
210
  async triggerNodeCheck(data) {
92
- if (!this.healthWorkerProxy)
93
- return [];
94
- return this.healthWorkerProxy.triggerCheck(data.nodeId);
211
+ if (data.nodeId)
212
+ this.assertRegistered(data.nodeId);
213
+ const fromWorker = await this.callWorker((w) => w.triggerCheck(data.nodeId), 'triggerCheck');
214
+ const summaries = fromWorker ? this.registeredOnly(fromWorker) : null;
215
+ if (summaries && summaries.length > 0) {
216
+ this.nodeManager.updateStatusCacheFromWorker(summaries);
217
+ return summaries;
218
+ }
219
+ // No worker: run the checks here so the caller gets an answer rather than
220
+ // an empty array that reads as "the fleet is empty".
221
+ if (data.nodeId) {
222
+ await this.nodeManager.checkNodeStatus(data.nodeId);
223
+ }
224
+ else {
225
+ await this.nodeManager.checkAllNodes();
226
+ }
227
+ return this.nodeManager.getHealthSummaries(data.nodeId);
228
+ }
229
+ /**
230
+ * Install a bundle on a node, beside what it is running.
231
+ *
232
+ * On the daemon rather than in the CLI because the node's credentials are
233
+ * in the daemon's vault. `nodeToDeployTarget` resolves them here and they
234
+ * go no further; the caller passes an id and gets back whether it worked.
235
+ *
236
+ * OPERATOR, not VIEWER: this writes several hundred megabytes to a remote
237
+ * machine.
238
+ */
239
+ async installBundleOnNode(data) {
240
+ const target = await this.nodeManager.nodeToDeployTarget(data.nodeId);
241
+ // Under the machine's deploy lease: one writer per node, whoever writes.
242
+ const installed = await this.deployer().underLease(target, `fleet upgrade: install ${data.version}`, () => this.deployer().installBundle(target, data.archivePath, data.version));
243
+ await this.audit?.record({
244
+ action: 'node.bundle.install',
245
+ resourceType: 'node',
246
+ resourceId: data.nodeId,
247
+ details: { version: data.version, installed },
248
+ });
249
+ return installed;
250
+ }
251
+ /**
252
+ * Make an installed version current, and restart the node into it.
253
+ *
254
+ * Separate from the install for the reason the versioned layout exists:
255
+ * this is the only step that changes what the node serves.
256
+ */
257
+ async activateBundleOnNode(data) {
258
+ const target = await this.nodeManager.nodeToDeployTarget(data.nodeId);
259
+ // The step that restarts the node's daemon — the last thing to do under
260
+ // somebody else's deployment.
261
+ const activated = await this.deployer().underLease(target, `fleet upgrade: activate ${data.version}`, () =>
262
+ // Held: activation stops every app on the node (`activateBundleHeld`).
263
+ this.deployer().activateBundleHeld(target, data.version, '/opt/omnitron', data.keepVersions ?? 3));
264
+ // The one step that changes what a node SERVES, and the one an operator
265
+ // will want to find afterwards: `fleet upgrade` reaches it through this
266
+ // method, so every node upgrade lands in the trail whether it was asked
267
+ // for from the CLI or the console.
268
+ await this.audit?.record({
269
+ action: 'node.bundle.activate',
270
+ resourceType: 'node',
271
+ resourceId: data.nodeId,
272
+ details: { version: data.version, activated, keepVersions: data.keepVersions ?? 3 },
273
+ });
274
+ return activated;
275
+ }
276
+ /** Recovery reaches the node by SSH even when its daemon cannot answer. */
277
+ async recoverBundleOnNode(data) {
278
+ const node = this.nodeManager.getNode(data.nodeId);
279
+ if (!node || node.isLocal)
280
+ throw new Error('Recovery requires a registered remote node');
281
+ const target = await this.nodeManager.nodeToDeployTarget(data.nodeId);
282
+ let recovered = false;
283
+ try {
284
+ recovered = await this.deployer().recoverBundleUpgrade(target, data.receiptId);
285
+ return recovered;
286
+ }
287
+ finally {
288
+ await this.audit?.record({
289
+ action: 'node.bundle.recover', resourceType: 'node', resourceId: data.nodeId,
290
+ details: { receiptId: data.receiptId, recovered },
291
+ });
292
+ }
293
+ }
294
+ /**
295
+ * Upgrade a node's omnitron to the one this daemon is built from.
296
+ *
297
+ * `fleet upgrade` does the same thing from a terminal, and the console
298
+ * could not do it at all: the two methods above take an archive path on
299
+ * THIS filesystem, and only the CLI knew how to produce one. The service
300
+ * behind this builds it, then calls exactly those two.
301
+ *
302
+ * Started and polled, not awaited: a build is minutes, and an RPC that
303
+ * takes minutes is one that times out somewhere in the middle.
304
+ */
305
+ async upgradeNode(data) {
306
+ if (!this.upgrades) {
307
+ return { started: false, reason: 'Node upgrades are not configured on this daemon.' };
308
+ }
309
+ const outcome = await this.upgrades.start(data.nodeId);
310
+ await this.audit?.record({
311
+ action: outcome.started ? 'node.upgrade.start' : 'node.upgrade.refused',
312
+ resourceType: 'node',
313
+ resourceId: data.nodeId,
314
+ ...(outcome.reason ? { details: { reason: outcome.reason } } : {}),
315
+ });
316
+ return outcome;
317
+ }
318
+ /** Where each node's upgrade got to. Newest state per node. */
319
+ async getUpgradeProgress() {
320
+ return this.upgrades?.listProgress() ?? [];
321
+ }
322
+ // ---------------------------------------------------------------------------
323
+ // Fleet rollout — declared before it is built, so the console can be written
324
+ // against the real contract instead of an untyped `invoke`. Each refuses
325
+ // out loud: a stub that answered with an empty plan would be read as «this
326
+ // fleet needs no upgrades», which is the worst available lie here.
327
+ // ---------------------------------------------------------------------------
328
+ /**
329
+ * What a rollout would do to each node, before anything ships.
330
+ *
331
+ * A read, not an action — `CONTROL_PLANE_READ_ROLES` rather than
332
+ * `OPERATOR_ROLES` — so an operator without deploy rights can still see
333
+ * what the fleet is running and what it would take to move it.
334
+ */
335
+ async planUpgrade(data) {
336
+ if (!this.upgrades) {
337
+ return {
338
+ targetVersion: null,
339
+ compared: false,
340
+ rows: [],
341
+ refusal: 'Node upgrades are not configured on this daemon.',
342
+ };
343
+ }
344
+ const plan = await this.upgrades.plan(data?.nodeIds, { build: data?.build === true });
345
+ return {
346
+ targetVersion: plan.compared ? plan.targetVersion : null,
347
+ compared: plan.compared,
348
+ refusal: plan.refusal ?? null,
349
+ rows: plan.steps.map((step) => ({
350
+ nodeId: step.node.nodeId,
351
+ label: step.node.name,
352
+ // `null`, not `''`: an entry with no usable address is a different
353
+ // thing from one whose machine could not be reached, and an empty
354
+ // string in a column of addresses reads as the former being the
355
+ // latter.
356
+ host: step.node.address ?? null,
357
+ currentVersion: step.node.currentVersion,
358
+ targetVersion: plan.compared ? plan.targetVersion : null,
359
+ action: step.decision.action,
360
+ // An `upgrade` row has no reason to give: it is doing what was
361
+ // asked. `skip` and `refuse` carry theirs verbatim — they are
362
+ // written for an operator to read, and shortening them here would
363
+ // undo that.
364
+ // An `upgrade` row normally owes no explanation — it is doing what
365
+ // was asked. But in an unbuilt plan it owes one: without a target
366
+ // version nothing was compared, so «upgrade» means «not ruled out»
367
+ // rather than «out of date», and twelve such rows must not read as
368
+ // twelve nodes needing work.
369
+ because: step.decision.action !== 'upgrade'
370
+ ? step.decision.because
371
+ : plan.compared
372
+ ? ''
373
+ : 'not compared — no bundle has been built',
374
+ })),
375
+ };
376
+ }
377
+ /** Queue a rollout across several nodes. Returns once queued, not once done. */
378
+ async upgradeNodes(data) {
379
+ // An empty selection is refused before anything else: answering it with
380
+ // `{ accepted: [], refused: [] }` would read as «queued nothing, nothing wrong».
381
+ if (!Array.isArray(data?.nodeIds) || data.nodeIds.length === 0) {
382
+ throw Errors.badRequest('A rollout needs at least one node');
383
+ }
384
+ if (!this.upgrades) {
385
+ return {
386
+ accepted: [],
387
+ refused: data.nodeIds.map((nodeId) => ({ nodeId, because: 'Node upgrades are not configured on this daemon.' })),
388
+ };
389
+ }
390
+ const outcome = this.upgrades.rollout(data.nodeIds, data.concurrency ?? 1);
391
+ await this.audit?.record({
392
+ action: 'node.rollout',
393
+ resourceType: 'node',
394
+ resourceId: null,
395
+ details: {
396
+ accepted: outcome.accepted.join(',') || '(none)',
397
+ refused: outcome.refused.map((r) => r.nodeId).join(',') || '(none)',
398
+ concurrency: data.concurrency ?? 1,
399
+ },
400
+ });
401
+ return outcome;
402
+ }
403
+ /** Drop a node from a running rollout, if it has not started installing. */
404
+ async cancelUpgrade(data) {
405
+ if (!this.upgrades)
406
+ return { stopped: false, because: 'Node upgrades are not configured on this daemon.' };
407
+ const outcome = this.upgrades.cancel(data.nodeId);
408
+ if (outcome.stopped) {
409
+ await this.audit?.record({ action: 'node.upgrade.cancel', resourceType: 'node', resourceId: data.nodeId });
410
+ }
411
+ return outcome;
412
+ }
413
+ /** Wired by the daemon at startup, on a master. */
414
+ setUpgradeService(service) {
415
+ this.upgrades = service;
416
+ }
417
+ /**
418
+ * The deployer, made once and kept.
419
+ *
420
+ * Lazily, because a daemon that never upgrades a node should not pay for an
421
+ * execution engine at boot — and because `RemoteDeployer` is only reachable
422
+ * from these two methods, so there is nothing else to construct it for.
423
+ */
424
+ deployer() {
425
+ if (!this.remoteDeployer) {
426
+ throw new Error('Remote deployment is not configured on this daemon.');
427
+ }
428
+ return this.remoteDeployer;
429
+ }
430
+ /** Wired by the daemon at startup, on a master. */
431
+ setRemoteDeployer(deployer) {
432
+ this.remoteDeployer = deployer;
433
+ }
434
+ /**
435
+ * The daemon's mesh connector, so the console can be told what it sees —
436
+ * and so the daemon's own node check asks the daemon over it.
437
+ *
438
+ * Handed on to the node manager here rather than by a second line in the
439
+ * daemon: this is the one place the daemon gives the connector to the node
440
+ * services, and the check path that needs it is the one this service falls
441
+ * back to (`checkNodeStatus` without a worker), as is the daemon's own
442
+ * fallback loop.
443
+ */
444
+ setSlaveConnector(connector) {
445
+ this.slaveConnector = connector;
446
+ this.nodeManager.setSlaveConnector(connector);
447
+ }
448
+ /**
449
+ * This daemon's own titan-health, for the local node's indicators.
450
+ *
451
+ * A remote node is asked over the mesh; the local one cannot be, because a
452
+ * daemon has no mesh connection to itself.
453
+ */
454
+ setTitanHealth(service) {
455
+ this.titanHealth = service;
456
+ }
457
+ /** This daemon's own replication state, for the local node. */
458
+ setSyncService(service) {
459
+ this.syncService = service;
460
+ }
461
+ /** This daemon's own telemetry relay, for the local node. */
462
+ setTelemetryRelay(relay) {
463
+ this.telemetryRelay = relay;
464
+ }
465
+ /** This daemon's own election state, for the local node. */
466
+ setLeaderElection(election) {
467
+ this.leaderElection = election;
468
+ }
469
+ /**
470
+ * Ask a service ON the node, wherever the node is.
471
+ *
472
+ * The console's own clients are bound to the daemon it is connected to, so
473
+ * every question about a node used to be answerable only about the local
474
+ * one. `SlaveConnector.invokeOnSlave` has always been able to reach any
475
+ * service on any node over the mesh and had exactly one caller; this is the
476
+ * seam the node readers share, so adding the next one is a method name
477
+ * rather than another copy of the plumbing.
478
+ *
479
+ * `ok: false` carries the REASON and never a verdict. A node outside the
480
+ * mesh has not answered; saying "unhealthy" or "not replicating" about
481
+ * silence sends an operator to repair the wrong thing.
482
+ */
483
+ async askNode(nodeId, service, method, args, local) {
484
+ const node = this.nodeManager.getNode(nodeId);
485
+ if (!node)
486
+ return { ok: false, error: 'No such node' };
487
+ if (node.isLocal) {
488
+ if (!local)
489
+ return { ok: false, error: `${service} is not wired on this daemon` };
490
+ try {
491
+ return { ok: true, value: await local() };
492
+ }
493
+ catch (err) {
494
+ return { ok: false, error: err.message };
495
+ }
496
+ }
497
+ if (!this.slaveConnector)
498
+ return { ok: false, error: 'This daemon has no mesh connector' };
499
+ try {
500
+ const value = (await this.slaveConnector.invokeOnSlave(node.host, node.daemonPort, service, method, args));
501
+ return { ok: true, value };
502
+ }
503
+ catch (err) {
504
+ return { ok: false, error: err.message };
505
+ }
506
+ }
507
+ /**
508
+ * What the node's OWN titan-health says about it.
509
+ *
510
+ * Every omnitron daemon runs `TitanHealthModule` and answers `Health@1.0.0`,
511
+ * with titan's built-in indicators — memory, event loop, disk, database,
512
+ * redis — plus the two this daemon registers: docker and the apps it
513
+ * supervises. The remote nodes have had all of it since they were
514
+ * provisioned, and nothing ever asked them: the console's `health` client is
515
+ * bound to `daemonClient.daemon`, so it only ever spoke to the daemon it was
516
+ * connected to.
517
+ *
518
+ * There is no new mechanism here. `SlaveConnector.invokeOnSlave` already
519
+ * calls any service on any node over the mesh — it had exactly one caller,
520
+ * `OmnitronInfra.provisionStack` — and `Health@1.0.0` is already answering
521
+ * on the other side.
522
+ *
523
+ * `reachable: false` with a reason is NOT `unhealthy`. A node that cannot be
524
+ * asked has not reported anything, and rendering silence as a verdict is the
525
+ * same mistake as reading an unmeasured SSH layer as a refusal.
526
+ */
527
+ async getNodeIndicators(data) {
528
+ const r = await this.askNode(data.nodeId, 'Health@1.0.0', 'check', [], this.titanHealth ? () => this.titanHealth.check() : null);
529
+ return r.ok
530
+ ? { nodeId: data.nodeId, reachable: true, error: null, status: r.value?.status ?? null, indicators: r.value?.indicators ?? {} }
531
+ : { nodeId: data.nodeId, reachable: false, error: r.error, status: null, indicators: {} };
532
+ }
533
+ /**
534
+ * What the node's own daemon reports, asked over the mesh.
535
+ *
536
+ * `fleet status`, `fleet health` and `fleet metrics` each dial
537
+ * `host:9700` and ask `OmnitronDaemon` from the CLI. A node whose daemon
538
+ * port is not open to this master answers nothing — which is the normal
539
+ * state of a hardened server and the whole reason the mesh tunnels over
540
+ * SSH. Measured on the test node while it was running six apps with every
541
+ * port listening:
542
+ *
543
+ * SERVER HOST STATUS APPS
544
+ * sample-test 37.27.130.185:9700 offline 0
545
+ *
546
+ * Three methods rather than one relay taking a service name: a viewer may
547
+ * ask a node what it is running, and may not use this master as a proxy for
548
+ * arbitrary calls into it.
549
+ */
550
+ async getNodeDaemonStatus(data) {
551
+ return this.daemonAnswer(data.nodeId, 'status', []);
552
+ }
553
+ async getNodeDaemonHealth(data) {
554
+ return this.daemonAnswer(data.nodeId, 'getHealth', [{}]);
555
+ }
556
+ async getNodeDaemonMetrics(data) {
557
+ return this.daemonAnswer(data.nodeId, 'getMetrics', [{}]);
558
+ }
559
+ /** One of the three questions above, put through `askNode`. */
560
+ async daemonAnswer(nodeId, method, args) {
561
+ const r = await this.askNode(nodeId, 'OmnitronDaemon', method, args, null);
562
+ return r.ok
563
+ ? { nodeId, reachable: true, error: null, answer: r.value ?? null }
564
+ : { nodeId, reachable: false, error: r.error, answer: null };
565
+ }
566
+ /**
567
+ * Whether the node's data is actually MOVING.
568
+ *
569
+ * Every other reading on the node page answers "can we reach it". A node can
570
+ * be green on all of them and replicate nothing — and for every registered
571
+ * node that no stack had been deployed onto, that is exactly what happened:
572
+ * 47,407 entries buffered on one, none delivered, over eleven hours, while
573
+ * the page showed it healthy.
574
+ *
575
+ * `OmnitronSync.getSyncStatus` has answered this since it was written; its
576
+ * own docblock says "for webapp monitoring" and the console has never known
577
+ * the service exists. `pendingItems` climbing with `lastSyncAt` standing
578
+ * still is the whole diagnosis, and it was one call away the entire time.
579
+ */
580
+ async getNodeSyncStatus(data) {
581
+ const r = await this.askNode(data.nodeId, 'OmnitronSync', 'getSyncStatus', [], this.syncService ? () => this.syncService.getStatus() : null);
582
+ return r.ok
583
+ ? { nodeId: data.nodeId, reachable: true, error: null, sync: r.value }
584
+ : { nodeId: data.nodeId, reachable: false, error: r.error, sync: null };
585
+ }
586
+ /**
587
+ * The node's telemetry relay: what it buffered, sent, failed and DROPPED.
588
+ *
589
+ * `getNodeSyncStatus` answers whether the log/metric replication is moving.
590
+ * This answers the other pipe — the telemetry relay — and it carries the one
591
+ * counter in the fleet that reports LOSS. `totalDropped` is what the buffer
592
+ * threw away because it was full, and a number that only ever goes up while
593
+ * nobody looks is how a gap in the metrics is discovered months later from
594
+ * the chart rather than from the daemon that made it.
595
+ *
596
+ * `OmnitronTelemetry.getRelayStats` has answered this since it was written —
597
+ * the file's own header says "Webapp → Leader telemetry stats (relay
598
+ * health)" — and the console has never called it.
599
+ */
600
+ async getNodeRelayStats(data) {
601
+ const r = await this.askNode(data.nodeId, 'OmnitronTelemetry', 'getRelayStats', [], this.telemetryRelay ? () => Promise.resolve(this.telemetryRelay.stats()) : null);
602
+ return r.ok
603
+ ? { nodeId: data.nodeId, reachable: true, error: null, relay: r.value ?? null }
604
+ : { nodeId: data.nodeId, reachable: false, error: r.error, relay: null };
605
+ }
606
+ /**
607
+ * Which node each node thinks is the leader.
608
+ *
609
+ * The fourth reader through `askNode`, and the one that is only meaningful
610
+ * ACROSS nodes: a single node's answer is unremarkable, and two nodes naming
611
+ * different leaders, or sitting in different terms, is a split brain — the
612
+ * state in which every node is individually healthy and the fleet is not.
613
+ * Nothing in the console could see it, because `OmnitronCluster` is one of
614
+ * the services its client does not know, and `getClusterState`'s own
615
+ * docblock says it is "used by CLI and webapp dashboard".
616
+ */
617
+ async getNodeClusterState(data) {
618
+ const r = await this.askNode(data.nodeId, 'OmnitronCluster', 'getClusterState', [], this.leaderElection ? () => Promise.resolve(this.leaderElection.getClusterState()) : null);
619
+ return r.ok
620
+ ? { nodeId: data.nodeId, reachable: true, error: null, cluster: r.value ?? null }
621
+ : { nodeId: data.nodeId, reachable: false, error: r.error, cluster: null };
622
+ }
623
+ /**
624
+ * Whether each node is replicating, and how it is being reached.
625
+ *
626
+ * The node page could say a node was up — SSH answers, the daemon answers
627
+ * a ping — while nothing it collected ever arrived. Reachability and
628
+ * membership are different questions, and only the second one is about
629
+ * whether the data on the master is the whole of what the fleet knows.
630
+ *
631
+ * Three states are worth distinguishing, and the console renders all
632
+ * three: not in the mesh at all; connected but UNAUTHENTICATED, which
633
+ * answers pings and can replicate nothing; and connected over an SSH
634
+ * tunnel, which works but says the node's daemon port is closed to this
635
+ * master and is worth knowing before someone debugs the latency.
636
+ */
637
+ async getMeshStatus() {
638
+ const connections = this.slaveConnector?.getConnections() ?? [];
639
+ const byAddress = new Map(connections.map((c) => [`${c.host}:${c.port}`, c]));
640
+ return this.nodeManager.listNodes().map((node) => {
641
+ const conn = byAddress.get(`${node.host}:${node.daemonPort}`);
642
+ return {
643
+ nodeId: node.id,
644
+ inMesh: Boolean(conn),
645
+ status: conn?.status ?? 'disconnected',
646
+ via: conn?.via ?? null,
647
+ authenticated: conn?.authenticated ?? false,
648
+ lastHeartbeat: conn?.lastHeartbeat ?? null,
649
+ lastError: conn?.lastError ?? null,
650
+ };
651
+ });
95
652
  }
96
653
  listSshKeys() {
97
654
  return this.nodeManager.listSshKeys();
@@ -99,10 +656,71 @@ let NodeManagerRpcService = class NodeManagerRpcService {
99
656
  getCheckConfig() {
100
657
  return this.nodeManager.getCheckConfig();
101
658
  }
659
+ /** How much history exists, and how wide one uptime-bar segment is. */
660
+ getHistoryConfig() {
661
+ return this.nodeManager.getHistoryConfig();
662
+ }
102
663
  setCheckConfig(data) {
103
664
  this.nodeManager.setCheckConfig(data);
104
665
  return this.nodeManager.getCheckConfig();
105
666
  }
667
+ // ===========================================================================
668
+ // Private
669
+ // ===========================================================================
670
+ /**
671
+ * Call the health worker, or report that this call could not be served by it.
672
+ *
673
+ * `null` means "no answer from the worker for THIS call" — no proxy, or a
674
+ * call that threw. Either way the caller takes the in-process path.
675
+ *
676
+ * The proxy is kept. It used to be dropped on ANY error, and nothing but a
677
+ * respawn ever wired it again — so one call the worker refused, from a
678
+ * worker that was alive and checking, detached it for the life of the
679
+ * process. Measured 2026-09-23: `omnitron node check 16f3dd5a` (the id
680
+ * `node list` prints) reached the worker as an unknown id, the worker threw
681
+ * `Node not found`, `getNodeHealthSummaries` fell from 3 entries to 0, and
682
+ * every later check went through the daemon's own path. The same happened
683
+ * on 2026-09-22 from one `RPC request timed out after 5000ms` on a loaded
684
+ * host. A process that has actually gone is the daemon's to notice, and it
685
+ * does: the worker's `onExit` clears this proxy (daemon.ts,
686
+ * startHealthMonitorWorker) and a respawn wires the next one.
687
+ */
688
+ async callWorker(fn, method) {
689
+ const worker = this.healthWorkerProxy;
690
+ if (!worker)
691
+ return null;
692
+ try {
693
+ return await fn(worker);
694
+ }
695
+ catch (err) {
696
+ this.nodeManager.reportWorkerUnavailable(method, err);
697
+ return null;
698
+ }
699
+ }
700
+ /**
701
+ * Refuse an id the registry does not hold, before anything is asked about it.
702
+ *
703
+ * Checked here, not left to the worker: the worker throws for an id it
704
+ * does not know, and a throw from the worker is what used to detach it
705
+ * (see `callWorker`). An unknown id is the caller's mistake and is answered
706
+ * as one, in the registry's words.
707
+ */
708
+ assertRegistered(id) {
709
+ if (!this.nodeManager.getNode(id))
710
+ throw Errors.notFound('Node', id);
711
+ }
712
+ /**
713
+ * The worker's answers about nodes the registry still holds.
714
+ *
715
+ * The worker is told of a removal by an IPC call that can fail, and its
716
+ * answers are its own memory: measured 2026-09-23, a node removed at
717
+ * 07:28:00Z came back from `checkAllNodes` 82 minutes later as `online`,
718
+ * and the CLI printed it as a bare id with two green dots. A status with no
719
+ * node behind it is not a status of anything.
720
+ */
721
+ registeredOnly(items) {
722
+ return items.filter((item) => Boolean(this.nodeManager.getNode(item.nodeId)));
723
+ }
106
724
  };
107
725
  __decorate([
108
726
  Public({ auth: { roles: VIEWER_ROLES } }),
@@ -132,7 +750,7 @@ __decorate([
132
750
  Public({ auth: { roles: OPERATOR_ROLES } }),
133
751
  __metadata("design:type", Function),
134
752
  __metadata("design:paramtypes", [Object]),
135
- __metadata("design:returntype", void 0)
753
+ __metadata("design:returntype", Promise)
136
754
  ], NodeManagerRpcService.prototype, "removeNode", null);
137
755
  __decorate([
138
756
  Public({ auth: { roles: VIEWER_ROLES } }),
@@ -170,6 +788,102 @@ __decorate([
170
788
  __metadata("design:paramtypes", [Object]),
171
789
  __metadata("design:returntype", Promise)
172
790
  ], NodeManagerRpcService.prototype, "triggerNodeCheck", null);
791
+ __decorate([
792
+ Public({ auth: { roles: OPERATOR_ROLES } }),
793
+ __metadata("design:type", Function),
794
+ __metadata("design:paramtypes", [Object]),
795
+ __metadata("design:returntype", Promise)
796
+ ], NodeManagerRpcService.prototype, "installBundleOnNode", null);
797
+ __decorate([
798
+ Public({ auth: { roles: OPERATOR_ROLES } }),
799
+ __metadata("design:type", Function),
800
+ __metadata("design:paramtypes", [Object]),
801
+ __metadata("design:returntype", Promise)
802
+ ], NodeManagerRpcService.prototype, "activateBundleOnNode", null);
803
+ __decorate([
804
+ Public({ auth: { roles: OPERATOR_ROLES } }),
805
+ __metadata("design:type", Function),
806
+ __metadata("design:paramtypes", [Object]),
807
+ __metadata("design:returntype", Promise)
808
+ ], NodeManagerRpcService.prototype, "recoverBundleOnNode", null);
809
+ __decorate([
810
+ Public({ auth: { roles: OPERATOR_ROLES } }),
811
+ __metadata("design:type", Function),
812
+ __metadata("design:paramtypes", [Object]),
813
+ __metadata("design:returntype", Promise)
814
+ ], NodeManagerRpcService.prototype, "upgradeNode", null);
815
+ __decorate([
816
+ Public({ auth: { roles: VIEWER_ROLES } }),
817
+ __metadata("design:type", Function),
818
+ __metadata("design:paramtypes", []),
819
+ __metadata("design:returntype", Promise)
820
+ ], NodeManagerRpcService.prototype, "getUpgradeProgress", null);
821
+ __decorate([
822
+ Public({ auth: { roles: CONTROL_PLANE_READ_ROLES } }),
823
+ __metadata("design:type", Function),
824
+ __metadata("design:paramtypes", [Object]),
825
+ __metadata("design:returntype", Promise)
826
+ ], NodeManagerRpcService.prototype, "planUpgrade", null);
827
+ __decorate([
828
+ Public({ auth: { roles: OPERATOR_ROLES } }),
829
+ __metadata("design:type", Function),
830
+ __metadata("design:paramtypes", [Object]),
831
+ __metadata("design:returntype", Promise)
832
+ ], NodeManagerRpcService.prototype, "upgradeNodes", null);
833
+ __decorate([
834
+ Public({ auth: { roles: OPERATOR_ROLES } }),
835
+ __metadata("design:type", Function),
836
+ __metadata("design:paramtypes", [Object]),
837
+ __metadata("design:returntype", Promise)
838
+ ], NodeManagerRpcService.prototype, "cancelUpgrade", null);
839
+ __decorate([
840
+ Public({ auth: { roles: VIEWER_ROLES } }),
841
+ __metadata("design:type", Function),
842
+ __metadata("design:paramtypes", [Object]),
843
+ __metadata("design:returntype", Promise)
844
+ ], NodeManagerRpcService.prototype, "getNodeIndicators", null);
845
+ __decorate([
846
+ Public({ auth: { roles: VIEWER_ROLES } }),
847
+ __metadata("design:type", Function),
848
+ __metadata("design:paramtypes", [Object]),
849
+ __metadata("design:returntype", Promise)
850
+ ], NodeManagerRpcService.prototype, "getNodeDaemonStatus", null);
851
+ __decorate([
852
+ Public({ auth: { roles: VIEWER_ROLES } }),
853
+ __metadata("design:type", Function),
854
+ __metadata("design:paramtypes", [Object]),
855
+ __metadata("design:returntype", Promise)
856
+ ], NodeManagerRpcService.prototype, "getNodeDaemonHealth", null);
857
+ __decorate([
858
+ Public({ auth: { roles: VIEWER_ROLES } }),
859
+ __metadata("design:type", Function),
860
+ __metadata("design:paramtypes", [Object]),
861
+ __metadata("design:returntype", Promise)
862
+ ], NodeManagerRpcService.prototype, "getNodeDaemonMetrics", null);
863
+ __decorate([
864
+ Public({ auth: { roles: VIEWER_ROLES } }),
865
+ __metadata("design:type", Function),
866
+ __metadata("design:paramtypes", [Object]),
867
+ __metadata("design:returntype", Promise)
868
+ ], NodeManagerRpcService.prototype, "getNodeSyncStatus", null);
869
+ __decorate([
870
+ Public({ auth: { roles: VIEWER_ROLES } }),
871
+ __metadata("design:type", Function),
872
+ __metadata("design:paramtypes", [Object]),
873
+ __metadata("design:returntype", Promise)
874
+ ], NodeManagerRpcService.prototype, "getNodeRelayStats", null);
875
+ __decorate([
876
+ Public({ auth: { roles: VIEWER_ROLES } }),
877
+ __metadata("design:type", Function),
878
+ __metadata("design:paramtypes", [Object]),
879
+ __metadata("design:returntype", Promise)
880
+ ], NodeManagerRpcService.prototype, "getNodeClusterState", null);
881
+ __decorate([
882
+ Public({ auth: { roles: VIEWER_ROLES } }),
883
+ __metadata("design:type", Function),
884
+ __metadata("design:paramtypes", []),
885
+ __metadata("design:returntype", Promise)
886
+ ], NodeManagerRpcService.prototype, "getMeshStatus", null);
173
887
  __decorate([
174
888
  Public({ auth: { roles: OPERATOR_ROLES } }),
175
889
  __metadata("design:type", Function),
@@ -180,17 +894,23 @@ __decorate([
180
894
  Public({ auth: { roles: VIEWER_ROLES } }),
181
895
  __metadata("design:type", Function),
182
896
  __metadata("design:paramtypes", []),
183
- __metadata("design:returntype", void 0)
897
+ __metadata("design:returntype", Object)
184
898
  ], NodeManagerRpcService.prototype, "getCheckConfig", null);
899
+ __decorate([
900
+ Public({ auth: { roles: VIEWER_ROLES } }),
901
+ __metadata("design:type", Function),
902
+ __metadata("design:paramtypes", []),
903
+ __metadata("design:returntype", Object)
904
+ ], NodeManagerRpcService.prototype, "getHistoryConfig", null);
185
905
  __decorate([
186
906
  Public({ auth: { roles: OPERATOR_ROLES } }),
187
907
  __metadata("design:type", Function),
188
908
  __metadata("design:paramtypes", [Object]),
189
- __metadata("design:returntype", void 0)
909
+ __metadata("design:returntype", Object)
190
910
  ], NodeManagerRpcService.prototype, "setCheckConfig", null);
191
911
  NodeManagerRpcService = __decorate([
192
912
  Service({ name: 'OmnitronNodes' }),
193
- __metadata("design:paramtypes", [Function])
913
+ __metadata("design:paramtypes", [Function, Object])
194
914
  ], NodeManagerRpcService);
195
915
  export { NodeManagerRpcService };
196
916
  // =============================================================================