@omnitron-dev/omnitron 0.3.1 → 0.3.3

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 (1694) hide show
  1. package/README.md +575 -0
  2. package/bin/pnpmfile-sdk.mjs +35 -0
  3. package/bin/sdk.d.mts +8 -0
  4. package/bin/sdk.mjs +576 -0
  5. package/data/operations/managed-kernel.mjs +302 -0
  6. package/data/operations/stage-kernel.mjs +125 -0
  7. package/dist/BUILD.json +4 -3
  8. package/dist/cli/exit-after-output.d.ts +3 -0
  9. package/dist/cli/exit-after-output.d.ts.map +1 -0
  10. package/dist/cli/exit-after-output.js +11 -0
  11. package/dist/cli/exit-after-output.js.map +1 -0
  12. package/dist/cli/installed.d.ts +3 -0
  13. package/dist/cli/installed.d.ts.map +1 -0
  14. package/dist/cli/installed.js +17 -0
  15. package/dist/cli/installed.js.map +1 -0
  16. package/dist/cli/omnitron.js +456 -98
  17. package/dist/cli/omnitron.js.map +1 -1
  18. package/dist/cli/output-command.d.ts +13 -0
  19. package/dist/cli/output-command.d.ts.map +1 -0
  20. package/dist/cli/output-command.js +48 -0
  21. package/dist/cli/output-command.js.map +1 -0
  22. package/dist/cluster/cluster.rpc-service.d.ts +9 -77
  23. package/dist/cluster/cluster.rpc-service.d.ts.map +1 -1
  24. package/dist/cluster/cluster.rpc-service.js +20 -107
  25. package/dist/cluster/cluster.rpc-service.js.map +1 -1
  26. package/dist/cluster/enrollment.d.ts +9 -0
  27. package/dist/cluster/enrollment.d.ts.map +1 -0
  28. package/dist/cluster/enrollment.js +49 -0
  29. package/dist/cluster/enrollment.js.map +1 -0
  30. package/dist/cluster/index.d.ts +1 -1
  31. package/dist/cluster/index.d.ts.map +1 -1
  32. package/dist/cluster/leader-election.d.ts +39 -211
  33. package/dist/cluster/leader-election.d.ts.map +1 -1
  34. package/dist/cluster/leader-election.js +235 -512
  35. package/dist/cluster/leader-election.js.map +1 -1
  36. package/dist/cluster/mesh-link.d.ts +18 -51
  37. package/dist/cluster/mesh-link.d.ts.map +1 -1
  38. package/dist/cluster/mesh-link.js +65 -77
  39. package/dist/cluster/mesh-link.js.map +1 -1
  40. package/dist/cluster/mesh.d.ts +3 -1
  41. package/dist/cluster/mesh.d.ts.map +1 -1
  42. package/dist/cluster/mesh.js +76 -60
  43. package/dist/cluster/mesh.js.map +1 -1
  44. package/dist/cluster/slave-connector.d.ts +40 -4
  45. package/dist/cluster/slave-connector.d.ts.map +1 -1
  46. package/dist/cluster/slave-connector.js +348 -195
  47. package/dist/cluster/slave-connector.js.map +1 -1
  48. package/dist/cluster/standalone-infrastructure.d.ts +3 -0
  49. package/dist/cluster/standalone-infrastructure.d.ts.map +1 -0
  50. package/dist/cluster/standalone-infrastructure.js +25 -0
  51. package/dist/cluster/standalone-infrastructure.js.map +1 -0
  52. package/dist/cluster/stop-authority.d.ts +45 -0
  53. package/dist/cluster/stop-authority.d.ts.map +1 -0
  54. package/dist/cluster/stop-authority.js +112 -0
  55. package/dist/cluster/stop-authority.js.map +1 -0
  56. package/dist/commands/access.d.ts +9 -0
  57. package/dist/commands/access.d.ts.map +1 -0
  58. package/dist/commands/access.js +45 -0
  59. package/dist/commands/access.js.map +1 -0
  60. package/dist/commands/audit.d.ts +2 -0
  61. package/dist/commands/audit.d.ts.map +1 -1
  62. package/dist/commands/audit.js +9 -4
  63. package/dist/commands/audit.js.map +1 -1
  64. package/dist/commands/backend.d.ts +17 -0
  65. package/dist/commands/backend.d.ts.map +1 -0
  66. package/dist/commands/backend.js +264 -0
  67. package/dist/commands/backend.js.map +1 -0
  68. package/dist/commands/backup.d.ts +5 -0
  69. package/dist/commands/backup.d.ts.map +1 -1
  70. package/dist/commands/backup.js +17 -2
  71. package/dist/commands/backup.js.map +1 -1
  72. package/dist/commands/cluster.d.ts.map +1 -1
  73. package/dist/commands/cluster.js +33 -42
  74. package/dist/commands/cluster.js.map +1 -1
  75. package/dist/commands/daemon-cmd.d.ts.map +1 -1
  76. package/dist/commands/daemon-cmd.js +14 -3
  77. package/dist/commands/daemon-cmd.js.map +1 -1
  78. package/dist/commands/doctor.d.ts +11 -29
  79. package/dist/commands/doctor.d.ts.map +1 -1
  80. package/dist/commands/doctor.js +47 -45
  81. package/dist/commands/doctor.js.map +1 -1
  82. package/dist/commands/files.d.ts +19 -0
  83. package/dist/commands/files.d.ts.map +1 -0
  84. package/dist/commands/files.js +226 -0
  85. package/dist/commands/files.js.map +1 -0
  86. package/dist/commands/fleet-rollout.d.ts +25 -0
  87. package/dist/commands/fleet-rollout.d.ts.map +1 -0
  88. package/dist/commands/fleet-rollout.js +155 -0
  89. package/dist/commands/fleet-rollout.js.map +1 -0
  90. package/dist/commands/fleet.d.ts.map +1 -1
  91. package/dist/commands/fleet.js +1 -0
  92. package/dist/commands/fleet.js.map +1 -1
  93. package/dist/commands/health-check.d.ts.map +1 -1
  94. package/dist/commands/health-check.js +13 -6
  95. package/dist/commands/health-check.js.map +1 -1
  96. package/dist/commands/infra.d.ts +5 -2
  97. package/dist/commands/infra.d.ts.map +1 -1
  98. package/dist/commands/infra.js +145 -53
  99. package/dist/commands/infra.js.map +1 -1
  100. package/dist/commands/logs.d.ts +6 -23
  101. package/dist/commands/logs.d.ts.map +1 -1
  102. package/dist/commands/logs.js +114 -38
  103. package/dist/commands/logs.js.map +1 -1
  104. package/dist/commands/metrics.d.ts.map +1 -1
  105. package/dist/commands/metrics.js +7 -1
  106. package/dist/commands/metrics.js.map +1 -1
  107. package/dist/commands/migrate.d.ts +8 -0
  108. package/dist/commands/migrate.d.ts.map +1 -0
  109. package/dist/commands/migrate.js +64 -0
  110. package/dist/commands/migrate.js.map +1 -0
  111. package/dist/commands/node-reconcile.d.ts +8 -0
  112. package/dist/commands/node-reconcile.d.ts.map +1 -0
  113. package/dist/commands/node-reconcile.js +49 -0
  114. package/dist/commands/node-reconcile.js.map +1 -0
  115. package/dist/commands/node.d.ts +0 -8
  116. package/dist/commands/node.d.ts.map +1 -1
  117. package/dist/commands/node.js +32 -35
  118. package/dist/commands/node.js.map +1 -1
  119. package/dist/commands/output.d.ts +3 -9
  120. package/dist/commands/output.d.ts.map +1 -1
  121. package/dist/commands/output.js +34 -25
  122. package/dist/commands/output.js.map +1 -1
  123. package/dist/commands/pipeline.d.ts +11 -2
  124. package/dist/commands/pipeline.d.ts.map +1 -1
  125. package/dist/commands/pipeline.js +75 -15
  126. package/dist/commands/pipeline.js.map +1 -1
  127. package/dist/commands/project.d.ts +8 -0
  128. package/dist/commands/project.d.ts.map +1 -1
  129. package/dist/commands/project.js +67 -1
  130. package/dist/commands/project.js.map +1 -1
  131. package/dist/commands/release-store.js +1 -1
  132. package/dist/commands/release-store.js.map +1 -1
  133. package/dist/commands/release.d.ts +5 -12
  134. package/dist/commands/release.d.ts.map +1 -1
  135. package/dist/commands/release.js +141 -33
  136. package/dist/commands/release.js.map +1 -1
  137. package/dist/commands/scale.d.ts +1 -4
  138. package/dist/commands/scale.d.ts.map +1 -1
  139. package/dist/commands/scale.js +39 -19
  140. package/dist/commands/scale.js.map +1 -1
  141. package/dist/commands/secret-input.d.ts +3 -0
  142. package/dist/commands/secret-input.d.ts.map +1 -0
  143. package/dist/commands/secret-input.js +36 -0
  144. package/dist/commands/secret-input.js.map +1 -0
  145. package/dist/commands/secret.d.ts +4 -2
  146. package/dist/commands/secret.d.ts.map +1 -1
  147. package/dist/commands/secret.js +12 -2
  148. package/dist/commands/secret.js.map +1 -1
  149. package/dist/commands/service-resident.d.ts +25 -0
  150. package/dist/commands/service-resident.d.ts.map +1 -0
  151. package/dist/commands/service-resident.js +236 -0
  152. package/dist/commands/service-resident.js.map +1 -0
  153. package/dist/commands/service-units.d.ts +13 -1
  154. package/dist/commands/service-units.d.ts.map +1 -1
  155. package/dist/commands/service-units.js +38 -16
  156. package/dist/commands/service-units.js.map +1 -1
  157. package/dist/commands/service.d.ts +2 -24
  158. package/dist/commands/service.d.ts.map +1 -1
  159. package/dist/commands/service.js +89 -7
  160. package/dist/commands/service.js.map +1 -1
  161. package/dist/commands/stack.d.ts +11 -6
  162. package/dist/commands/stack.d.ts.map +1 -1
  163. package/dist/commands/stack.js +212 -38
  164. package/dist/commands/stack.js.map +1 -1
  165. package/dist/commands/start.d.ts +0 -21
  166. package/dist/commands/start.d.ts.map +1 -1
  167. package/dist/commands/start.js +33 -43
  168. package/dist/commands/start.js.map +1 -1
  169. package/dist/commands/status.d.ts +1 -5
  170. package/dist/commands/status.d.ts.map +1 -1
  171. package/dist/commands/status.js +5 -1
  172. package/dist/commands/status.js.map +1 -1
  173. package/dist/commands/stop.d.ts +0 -22
  174. package/dist/commands/stop.d.ts.map +1 -1
  175. package/dist/commands/stop.js +26 -86
  176. package/dist/commands/stop.js.map +1 -1
  177. package/dist/commands/system.d.ts +4 -0
  178. package/dist/commands/system.d.ts.map +1 -0
  179. package/dist/commands/system.js +41 -0
  180. package/dist/commands/system.js.map +1 -0
  181. package/dist/commands/terminal.d.ts +7 -0
  182. package/dist/commands/terminal.d.ts.map +1 -0
  183. package/dist/commands/terminal.js +184 -0
  184. package/dist/commands/terminal.js.map +1 -0
  185. package/dist/commands/topology.d.ts +3 -0
  186. package/dist/commands/topology.d.ts.map +1 -0
  187. package/dist/commands/topology.js +107 -0
  188. package/dist/commands/topology.js.map +1 -0
  189. package/dist/commands/up.d.ts +4 -54
  190. package/dist/commands/up.d.ts.map +1 -1
  191. package/dist/commands/up.js +41 -98
  192. package/dist/commands/up.js.map +1 -1
  193. package/dist/commands/webapp.d.ts +0 -9
  194. package/dist/commands/webapp.d.ts.map +1 -1
  195. package/dist/commands/webapp.js +116 -69
  196. package/dist/commands/webapp.js.map +1 -1
  197. package/dist/config/app-path.d.ts +4 -0
  198. package/dist/config/app-path.d.ts.map +1 -0
  199. package/dist/config/app-path.js +6 -0
  200. package/dist/config/app-path.js.map +1 -0
  201. package/dist/config/defaults.d.ts.map +1 -1
  202. package/dist/config/defaults.js +9 -3
  203. package/dist/config/defaults.js.map +1 -1
  204. package/dist/config/define-ecosystem.d.ts.map +1 -1
  205. package/dist/config/define-ecosystem.js +12 -0
  206. package/dist/config/define-ecosystem.js.map +1 -1
  207. package/dist/config/index.d.ts +3 -1
  208. package/dist/config/index.d.ts.map +1 -1
  209. package/dist/config/index.js +1 -1
  210. package/dist/config/index.js.map +1 -1
  211. package/dist/config/loader-child.d.ts +2 -0
  212. package/dist/config/loader-child.d.ts.map +1 -0
  213. package/dist/config/loader-child.js +56 -0
  214. package/dist/config/loader-child.js.map +1 -0
  215. package/dist/config/loader.d.ts +7 -2
  216. package/dist/config/loader.d.ts.map +1 -1
  217. package/dist/config/loader.js +14 -27
  218. package/dist/config/loader.js.map +1 -1
  219. package/dist/config/project-stacks.d.ts +5 -0
  220. package/dist/config/project-stacks.d.ts.map +1 -0
  221. package/dist/config/project-stacks.js +24 -0
  222. package/dist/config/project-stacks.js.map +1 -0
  223. package/dist/config/saved.d.ts +67 -0
  224. package/dist/config/saved.d.ts.map +1 -0
  225. package/dist/config/saved.js +81 -0
  226. package/dist/config/saved.js.map +1 -0
  227. package/dist/config/types.d.ts +96 -52
  228. package/dist/config/types.d.ts.map +1 -1
  229. package/dist/daemon/backend-candidate.d.ts +32 -0
  230. package/dist/daemon/backend-candidate.d.ts.map +1 -0
  231. package/dist/daemon/backend-candidate.js +129 -0
  232. package/dist/daemon/backend-candidate.js.map +1 -0
  233. package/dist/daemon/backend-child.d.ts +5 -0
  234. package/dist/daemon/backend-child.d.ts.map +1 -0
  235. package/dist/daemon/backend-child.js +13 -0
  236. package/dist/daemon/backend-child.js.map +1 -0
  237. package/dist/daemon/backend-control.d.ts +43 -0
  238. package/dist/daemon/backend-control.d.ts.map +1 -0
  239. package/dist/daemon/backend-control.js +155 -0
  240. package/dist/daemon/backend-control.js.map +1 -0
  241. package/dist/daemon/backend-crash-recovery.d.ts +4 -0
  242. package/dist/daemon/backend-crash-recovery.d.ts.map +1 -0
  243. package/dist/daemon/backend-crash-recovery.js +136 -0
  244. package/dist/daemon/backend-crash-recovery.js.map +1 -0
  245. package/dist/daemon/backend-handoff-types.d.ts +27 -0
  246. package/dist/daemon/backend-handoff-types.d.ts.map +1 -0
  247. package/dist/daemon/backend-handoff-types.js +33 -0
  248. package/dist/daemon/backend-handoff-types.js.map +1 -0
  249. package/dist/daemon/backend-recovery-journal.d.ts +30 -0
  250. package/dist/daemon/backend-recovery-journal.d.ts.map +1 -0
  251. package/dist/daemon/backend-recovery-journal.js +67 -0
  252. package/dist/daemon/backend-recovery-journal.js.map +1 -0
  253. package/dist/daemon/backend-recovery-monitor.d.ts +35 -0
  254. package/dist/daemon/backend-recovery-monitor.d.ts.map +1 -0
  255. package/dist/daemon/backend-recovery-monitor.js +113 -0
  256. package/dist/daemon/backend-recovery-monitor.js.map +1 -0
  257. package/dist/daemon/backend-supervisor-entry.d.ts +2 -0
  258. package/dist/daemon/backend-supervisor-entry.d.ts.map +1 -0
  259. package/dist/daemon/backend-supervisor-entry.js +3 -0
  260. package/dist/daemon/backend-supervisor-entry.js.map +1 -0
  261. package/dist/daemon/backend-supervisor-main.d.ts +2 -0
  262. package/dist/daemon/backend-supervisor-main.d.ts.map +1 -0
  263. package/dist/daemon/backend-supervisor-main.js +45 -0
  264. package/dist/daemon/backend-supervisor-main.js.map +1 -0
  265. package/dist/daemon/backend-supervisor.d.ts +61 -0
  266. package/dist/daemon/backend-supervisor.d.ts.map +1 -0
  267. package/dist/daemon/backend-supervisor.js +339 -0
  268. package/dist/daemon/backend-supervisor.js.map +1 -0
  269. package/dist/daemon/backend-upgrade.d.ts +41 -0
  270. package/dist/daemon/backend-upgrade.d.ts.map +1 -0
  271. package/dist/daemon/backend-upgrade.js +444 -0
  272. package/dist/daemon/backend-upgrade.js.map +1 -0
  273. package/dist/daemon/backend.rpc-service.d.ts +11 -0
  274. package/dist/daemon/backend.rpc-service.d.ts.map +1 -0
  275. package/dist/daemon/backend.rpc-service.js +44 -0
  276. package/dist/daemon/backend.rpc-service.js.map +1 -0
  277. package/dist/daemon/daemon-client.d.ts +12 -79
  278. package/dist/daemon/daemon-client.d.ts.map +1 -1
  279. package/dist/daemon/daemon-client.js +28 -270
  280. package/dist/daemon/daemon-client.js.map +1 -1
  281. package/dist/daemon/daemon-entry.d.ts +0 -7
  282. package/dist/daemon/daemon-entry.d.ts.map +1 -1
  283. package/dist/daemon/daemon-entry.js +2 -115
  284. package/dist/daemon/daemon-entry.js.map +1 -1
  285. package/dist/daemon/daemon-main.d.ts +9 -0
  286. package/dist/daemon/daemon-main.d.ts.map +1 -0
  287. package/dist/daemon/daemon-main.js +105 -0
  288. package/dist/daemon/daemon-main.js.map +1 -0
  289. package/dist/daemon/daemon-scheduler.d.ts +8 -5
  290. package/dist/daemon/daemon-scheduler.d.ts.map +1 -1
  291. package/dist/daemon/daemon-scheduler.js +45 -73
  292. package/dist/daemon/daemon-scheduler.js.map +1 -1
  293. package/dist/daemon/daemon-state-store.service.d.ts +5 -39
  294. package/dist/daemon/daemon-state-store.service.d.ts.map +1 -1
  295. package/dist/daemon/daemon-state-store.service.js +30 -17
  296. package/dist/daemon/daemon-state-store.service.js.map +1 -1
  297. package/dist/daemon/daemon.d.ts +45 -60
  298. package/dist/daemon/daemon.d.ts.map +1 -1
  299. package/dist/daemon/daemon.js +720 -396
  300. package/dist/daemon/daemon.js.map +1 -1
  301. package/dist/daemon/daemon.module.d.ts +13 -11
  302. package/dist/daemon/daemon.module.d.ts.map +1 -1
  303. package/dist/daemon/daemon.module.js +136 -101
  304. package/dist/daemon/daemon.module.js.map +1 -1
  305. package/dist/daemon/daemon.rpc-service.d.ts +9 -17
  306. package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
  307. package/dist/daemon/daemon.rpc-service.js +83 -22
  308. package/dist/daemon/daemon.rpc-service.js.map +1 -1
  309. package/dist/daemon/darwin-owner-evidence.d.ts +57 -0
  310. package/dist/daemon/darwin-owner-evidence.d.ts.map +1 -0
  311. package/dist/daemon/darwin-owner-evidence.js +131 -0
  312. package/dist/daemon/darwin-owner-evidence.js.map +1 -0
  313. package/dist/daemon/database-startup.d.ts +7 -0
  314. package/dist/daemon/database-startup.d.ts.map +1 -0
  315. package/dist/daemon/database-startup.js +40 -0
  316. package/dist/daemon/database-startup.js.map +1 -0
  317. package/dist/daemon/entry-guard.d.ts +2 -0
  318. package/dist/daemon/entry-guard.d.ts.map +1 -0
  319. package/dist/daemon/entry-guard.js +34 -0
  320. package/dist/daemon/entry-guard.js.map +1 -0
  321. package/dist/daemon/execution-capabilities.d.ts +7 -0
  322. package/dist/daemon/execution-capabilities.d.ts.map +1 -0
  323. package/dist/daemon/execution-capabilities.js +23 -0
  324. package/dist/daemon/execution-capabilities.js.map +1 -0
  325. package/dist/daemon/execution-client.d.ts +88 -0
  326. package/dist/daemon/execution-client.d.ts.map +1 -0
  327. package/dist/daemon/execution-client.js +433 -0
  328. package/dist/daemon/execution-client.js.map +1 -0
  329. package/dist/daemon/execution-config.d.ts +7 -0
  330. package/dist/daemon/execution-config.d.ts.map +1 -0
  331. package/dist/daemon/execution-config.js +61 -0
  332. package/dist/daemon/execution-config.js.map +1 -0
  333. package/dist/daemon/execution-entry.d.ts +2 -0
  334. package/dist/daemon/execution-entry.d.ts.map +1 -0
  335. package/dist/daemon/execution-entry.js +3 -0
  336. package/dist/daemon/execution-entry.js.map +1 -0
  337. package/dist/daemon/execution-host.d.ts +133 -0
  338. package/dist/daemon/execution-host.d.ts.map +1 -0
  339. package/dist/daemon/execution-host.js +308 -0
  340. package/dist/daemon/execution-host.js.map +1 -0
  341. package/dist/daemon/execution-journal.d.ts +17 -0
  342. package/dist/daemon/execution-journal.d.ts.map +1 -0
  343. package/dist/daemon/execution-journal.js +75 -0
  344. package/dist/daemon/execution-journal.js.map +1 -0
  345. package/dist/daemon/execution-launcher.d.ts +12 -0
  346. package/dist/daemon/execution-launcher.d.ts.map +1 -0
  347. package/dist/daemon/execution-launcher.js +110 -0
  348. package/dist/daemon/execution-launcher.js.map +1 -0
  349. package/dist/daemon/execution-main.d.ts +2 -0
  350. package/dist/daemon/execution-main.d.ts.map +1 -0
  351. package/dist/daemon/execution-main.js +48 -0
  352. package/dist/daemon/execution-main.js.map +1 -0
  353. package/dist/daemon/execution-owner.d.ts +16 -0
  354. package/dist/daemon/execution-owner.d.ts.map +1 -0
  355. package/dist/daemon/execution-owner.js +97 -0
  356. package/dist/daemon/execution-owner.js.map +1 -0
  357. package/dist/daemon/execution-platform.d.ts +3 -0
  358. package/dist/daemon/execution-platform.d.ts.map +1 -0
  359. package/dist/daemon/execution-platform.js +23 -0
  360. package/dist/daemon/execution-platform.js.map +1 -0
  361. package/dist/daemon/execution-shutdown.d.ts +13 -0
  362. package/dist/daemon/execution-shutdown.d.ts.map +1 -0
  363. package/dist/daemon/execution-shutdown.js +30 -0
  364. package/dist/daemon/execution-shutdown.js.map +1 -0
  365. package/dist/daemon/managed-entry.d.ts +2 -0
  366. package/dist/daemon/managed-entry.d.ts.map +1 -0
  367. package/dist/daemon/managed-entry.js +3 -0
  368. package/dist/daemon/managed-entry.js.map +1 -0
  369. package/dist/daemon/managed-main.d.ts +2 -0
  370. package/dist/daemon/managed-main.d.ts.map +1 -0
  371. package/dist/daemon/managed-main.js +29 -0
  372. package/dist/daemon/managed-main.js.map +1 -0
  373. package/dist/daemon/managed-owner-build.d.ts +17 -0
  374. package/dist/daemon/managed-owner-build.d.ts.map +1 -0
  375. package/dist/daemon/managed-owner-build.js +108 -0
  376. package/dist/daemon/managed-owner-build.js.map +1 -0
  377. package/dist/daemon/managed-owner-entry.d.ts +2 -0
  378. package/dist/daemon/managed-owner-entry.d.ts.map +1 -0
  379. package/dist/daemon/managed-owner-entry.js +3 -0
  380. package/dist/daemon/managed-owner-entry.js.map +1 -0
  381. package/dist/daemon/managed-owner-main.d.ts +2 -0
  382. package/dist/daemon/managed-owner-main.d.ts.map +1 -0
  383. package/dist/daemon/managed-owner-main.js +53 -0
  384. package/dist/daemon/managed-owner-main.js.map +1 -0
  385. package/dist/daemon/managed-runtime.d.ts +39 -0
  386. package/dist/daemon/managed-runtime.d.ts.map +1 -0
  387. package/dist/daemon/managed-runtime.js +137 -0
  388. package/dist/daemon/managed-runtime.js.map +1 -0
  389. package/dist/daemon/network-publication.d.ts +5 -0
  390. package/dist/daemon/network-publication.d.ts.map +1 -0
  391. package/dist/daemon/network-publication.js +25 -0
  392. package/dist/daemon/network-publication.js.map +1 -0
  393. package/dist/daemon/owner-reconciliation.d.ts +58 -0
  394. package/dist/daemon/owner-reconciliation.d.ts.map +1 -0
  395. package/dist/daemon/owner-reconciliation.js +265 -0
  396. package/dist/daemon/owner-reconciliation.js.map +1 -0
  397. package/dist/daemon/pid-manager.d.ts +2 -0
  398. package/dist/daemon/pid-manager.d.ts.map +1 -1
  399. package/dist/daemon/pid-manager.js +5 -0
  400. package/dist/daemon/pid-manager.js.map +1 -1
  401. package/dist/daemon/private-control-client.d.ts +8 -0
  402. package/dist/daemon/private-control-client.d.ts.map +1 -0
  403. package/dist/daemon/private-control-client.js +41 -0
  404. package/dist/daemon/private-control-client.js.map +1 -0
  405. package/dist/daemon/recovery-state.d.ts +20 -0
  406. package/dist/daemon/recovery-state.d.ts.map +1 -0
  407. package/dist/daemon/recovery-state.js +53 -0
  408. package/dist/daemon/recovery-state.js.map +1 -0
  409. package/dist/daemon/rpc-connection.d.ts +29 -0
  410. package/dist/daemon/rpc-connection.d.ts.map +1 -0
  411. package/dist/daemon/rpc-connection.js +137 -0
  412. package/dist/daemon/rpc-connection.js.map +1 -0
  413. package/dist/daemon/runtime-installation.d.ts +58 -0
  414. package/dist/daemon/runtime-installation.d.ts.map +1 -0
  415. package/dist/daemon/runtime-installation.js +346 -0
  416. package/dist/daemon/runtime-installation.js.map +1 -0
  417. package/dist/daemon/runtime-launcher.d.ts +6 -0
  418. package/dist/daemon/runtime-launcher.d.ts.map +1 -0
  419. package/dist/daemon/runtime-launcher.js +45 -0
  420. package/dist/daemon/runtime-launcher.js.map +1 -0
  421. package/dist/daemon/schema-transition.d.ts +43 -0
  422. package/dist/daemon/schema-transition.d.ts.map +1 -0
  423. package/dist/daemon/schema-transition.js +239 -0
  424. package/dist/daemon/schema-transition.js.map +1 -0
  425. package/dist/daemon/spawn-daemon.d.ts +2 -0
  426. package/dist/daemon/spawn-daemon.d.ts.map +1 -1
  427. package/dist/daemon/spawn-daemon.js +4 -0
  428. package/dist/daemon/spawn-daemon.js.map +1 -1
  429. package/dist/daemon/startup-config.d.ts +77 -0
  430. package/dist/daemon/startup-config.d.ts.map +1 -0
  431. package/dist/daemon/startup-config.js +31 -0
  432. package/dist/daemon/startup-config.js.map +1 -0
  433. package/dist/daemon/startup-failure-journal.d.ts +3 -0
  434. package/dist/daemon/startup-failure-journal.d.ts.map +1 -0
  435. package/dist/daemon/startup-failure-journal.js +29 -0
  436. package/dist/daemon/startup-failure-journal.js.map +1 -0
  437. package/dist/daemon/state-store.d.ts +16 -24
  438. package/dist/daemon/state-store.d.ts.map +1 -1
  439. package/dist/daemon/state-store.js +51 -9
  440. package/dist/daemon/state-store.js.map +1 -1
  441. package/dist/daemon/supervisor-transition.d.ts +101 -0
  442. package/dist/daemon/supervisor-transition.d.ts.map +1 -0
  443. package/dist/daemon/supervisor-transition.js +503 -0
  444. package/dist/daemon/supervisor-transition.js.map +1 -0
  445. package/dist/daemon/system-guardian-cgroup.d.ts +16 -0
  446. package/dist/daemon/system-guardian-cgroup.d.ts.map +1 -0
  447. package/dist/daemon/system-guardian-cgroup.js +202 -0
  448. package/dist/daemon/system-guardian-cgroup.js.map +1 -0
  449. package/dist/daemon/system-guardian-unit.d.ts +9 -0
  450. package/dist/daemon/system-guardian-unit.d.ts.map +1 -0
  451. package/dist/daemon/system-guardian-unit.js +41 -0
  452. package/dist/daemon/system-guardian-unit.js.map +1 -0
  453. package/dist/database/connection.d.ts.map +1 -1
  454. package/dist/database/connection.js +2 -6
  455. package/dist/database/connection.js.map +1 -1
  456. package/dist/database/log-durability.d.ts +5 -0
  457. package/dist/database/log-durability.d.ts.map +1 -0
  458. package/dist/database/log-durability.js +28 -0
  459. package/dist/database/log-durability.js.map +1 -0
  460. package/dist/database/migrate.js +2 -15
  461. package/dist/database/migrate.js.map +1 -1
  462. package/dist/database/migration-registry-compatibility.d.ts +13 -0
  463. package/dist/database/migration-registry-compatibility.d.ts.map +1 -0
  464. package/dist/database/migration-registry-compatibility.js +108 -0
  465. package/dist/database/migration-registry-compatibility.js.map +1 -0
  466. package/dist/database/migration-runner.d.ts +8 -42
  467. package/dist/database/migration-runner.d.ts.map +1 -1
  468. package/dist/database/migration-runner.js +114 -123
  469. package/dist/database/migration-runner.js.map +1 -1
  470. package/dist/database/migrations/014_replication_receipts.d.ts +5 -0
  471. package/dist/database/migrations/014_replication_receipts.d.ts.map +1 -0
  472. package/dist/database/migrations/014_replication_receipts.js +6 -0
  473. package/dist/database/migrations/014_replication_receipts.js.map +1 -0
  474. package/dist/database/migrations/015_persistent_metrics.d.ts +5 -0
  475. package/dist/database/migrations/015_persistent_metrics.d.ts.map +1 -0
  476. package/dist/database/migrations/015_persistent_metrics.js +7 -0
  477. package/dist/database/migrations/015_persistent_metrics.js.map +1 -0
  478. package/dist/database/migrations/016_cluster_lease.d.ts +4 -0
  479. package/dist/database/migrations/016_cluster_lease.d.ts.map +1 -0
  480. package/dist/database/migrations/016_cluster_lease.js +6 -0
  481. package/dist/database/migrations/016_cluster_lease.js.map +1 -0
  482. package/dist/database/migrations/index.d.ts +1 -1
  483. package/dist/database/migrations/index.d.ts.map +1 -1
  484. package/dist/database/migrations/index.js +22 -13
  485. package/dist/database/migrations/index.js.map +1 -1
  486. package/dist/database/schema-compatibility.d.ts +34 -0
  487. package/dist/database/schema-compatibility.d.ts.map +1 -0
  488. package/dist/database/schema-compatibility.js +109 -0
  489. package/dist/database/schema-compatibility.js.map +1 -0
  490. package/dist/database/schema-expansion-policy.d.ts +10 -0
  491. package/dist/database/schema-expansion-policy.d.ts.map +1 -0
  492. package/dist/database/schema-expansion-policy.js +21 -0
  493. package/dist/database/schema-expansion-policy.js.map +1 -0
  494. package/dist/database/schema-transition-plan.d.ts +53 -0
  495. package/dist/database/schema-transition-plan.d.ts.map +1 -0
  496. package/dist/database/schema-transition-plan.js +102 -0
  497. package/dist/database/schema-transition-plan.js.map +1 -0
  498. package/dist/database/schema-worker.d.ts +2 -0
  499. package/dist/database/schema-worker.d.ts.map +1 -0
  500. package/dist/database/schema-worker.js +55 -0
  501. package/dist/database/schema-worker.js.map +1 -0
  502. package/dist/database/schema.d.ts +6 -1
  503. package/dist/database/schema.d.ts.map +1 -1
  504. package/dist/database/slave-migrations/001_replication_evidence.d.ts +4 -0
  505. package/dist/database/slave-migrations/001_replication_evidence.d.ts.map +1 -0
  506. package/dist/database/slave-migrations/001_replication_evidence.js +89 -0
  507. package/dist/database/slave-migrations/001_replication_evidence.js.map +1 -0
  508. package/dist/database/slave-migrations/index.d.ts +6 -0
  509. package/dist/database/slave-migrations/index.d.ts.map +1 -0
  510. package/dist/database/slave-migrations/index.js +10 -0
  511. package/dist/database/slave-migrations/index.js.map +1 -0
  512. package/dist/diagnostics/index.d.ts +16 -0
  513. package/dist/diagnostics/index.d.ts.map +1 -0
  514. package/dist/diagnostics/index.js +22 -0
  515. package/dist/diagnostics/index.js.map +1 -0
  516. package/dist/execution/command-failure.d.ts +7 -0
  517. package/dist/execution/command-failure.d.ts.map +1 -0
  518. package/dist/execution/command-failure.js +29 -0
  519. package/dist/execution/command-failure.js.map +1 -0
  520. package/dist/execution/execution.service.d.ts +6 -1
  521. package/dist/execution/execution.service.d.ts.map +1 -1
  522. package/dist/execution/execution.service.js +32 -30
  523. package/dist/execution/execution.service.js.map +1 -1
  524. package/dist/files/archive-codec.d.ts +57 -0
  525. package/dist/files/archive-codec.d.ts.map +1 -0
  526. package/dist/files/archive-codec.js +454 -0
  527. package/dist/files/archive-codec.js.map +1 -0
  528. package/dist/files/archive-node.d.ts +27 -0
  529. package/dist/files/archive-node.d.ts.map +1 -0
  530. package/dist/files/archive-node.js +379 -0
  531. package/dist/files/archive-node.js.map +1 -0
  532. package/dist/files/archive-publication.d.ts +26 -0
  533. package/dist/files/archive-publication.d.ts.map +1 -0
  534. package/dist/files/archive-publication.js +224 -0
  535. package/dist/files/archive-publication.js.map +1 -0
  536. package/dist/files/file-config.d.ts +7 -0
  537. package/dist/files/file-config.d.ts.map +1 -0
  538. package/dist/files/file-config.js +11 -0
  539. package/dist/files/file-config.js.map +1 -0
  540. package/dist/files/file-node.d.ts +65 -0
  541. package/dist/files/file-node.d.ts.map +1 -0
  542. package/dist/files/file-node.js +863 -0
  543. package/dist/files/file-node.js.map +1 -0
  544. package/dist/files/file-node.rpc-service.d.ts +12 -0
  545. package/dist/files/file-node.rpc-service.d.ts.map +1 -0
  546. package/dist/files/file-node.rpc-service.js +42 -0
  547. package/dist/files/file-node.rpc-service.js.map +1 -0
  548. package/dist/files/files.rpc-service.d.ts +107 -0
  549. package/dist/files/files.rpc-service.d.ts.map +1 -0
  550. package/dist/files/files.rpc-service.js +769 -0
  551. package/dist/files/files.rpc-service.js.map +1 -0
  552. package/dist/files/structural-policy.d.ts +3 -0
  553. package/dist/files/structural-policy.d.ts.map +1 -0
  554. package/dist/files/structural-policy.js +27 -0
  555. package/dist/files/structural-policy.js.map +1 -0
  556. package/dist/health/contracts.d.ts +30 -0
  557. package/dist/health/contracts.d.ts.map +1 -0
  558. package/dist/health/contracts.js +58 -0
  559. package/dist/health/contracts.js.map +1 -0
  560. package/dist/health/heartbeat.d.ts +11 -0
  561. package/dist/health/heartbeat.d.ts.map +1 -0
  562. package/dist/health/heartbeat.js +32 -0
  563. package/dist/health/heartbeat.js.map +1 -0
  564. package/dist/health/index.d.ts +4 -0
  565. package/dist/health/index.d.ts.map +1 -0
  566. package/dist/health/index.js +2 -0
  567. package/dist/health/index.js.map +1 -0
  568. package/dist/health/readiness.d.ts +15 -0
  569. package/dist/health/readiness.d.ts.map +1 -0
  570. package/dist/health/readiness.js +170 -0
  571. package/dist/health/readiness.js.map +1 -0
  572. package/dist/index.d.ts +1 -0
  573. package/dist/index.d.ts.map +1 -1
  574. package/dist/infrastructure/apt-packages.d.ts +34 -0
  575. package/dist/infrastructure/apt-packages.d.ts.map +1 -0
  576. package/dist/infrastructure/apt-packages.js +232 -0
  577. package/dist/infrastructure/apt-packages.js.map +1 -0
  578. package/dist/infrastructure/bare-metal-plan.d.ts +10 -1
  579. package/dist/infrastructure/bare-metal-plan.d.ts.map +1 -1
  580. package/dist/infrastructure/bare-metal-plan.js +21 -0
  581. package/dist/infrastructure/bare-metal-plan.js.map +1 -1
  582. package/dist/infrastructure/bare-metal-runner.d.ts.map +1 -1
  583. package/dist/infrastructure/bare-metal-runner.js +13 -2
  584. package/dist/infrastructure/bare-metal-runner.js.map +1 -1
  585. package/dist/infrastructure/config-normalizer.d.ts +4 -3
  586. package/dist/infrastructure/config-normalizer.d.ts.map +1 -1
  587. package/dist/infrastructure/config-normalizer.js +11 -3
  588. package/dist/infrastructure/config-normalizer.js.map +1 -1
  589. package/dist/infrastructure/container-runtime.d.ts +37 -3
  590. package/dist/infrastructure/container-runtime.d.ts.map +1 -1
  591. package/dist/infrastructure/container-runtime.js +235 -64
  592. package/dist/infrastructure/container-runtime.js.map +1 -1
  593. package/dist/infrastructure/health-recovery.d.ts +19 -0
  594. package/dist/infrastructure/health-recovery.d.ts.map +1 -0
  595. package/dist/infrastructure/health-recovery.js +39 -0
  596. package/dist/infrastructure/health-recovery.js.map +1 -0
  597. package/dist/infrastructure/host-ingress-config.d.ts.map +1 -1
  598. package/dist/infrastructure/host-ingress-config.js +11 -8
  599. package/dist/infrastructure/host-ingress-config.js.map +1 -1
  600. package/dist/infrastructure/host-ingress-lock.d.ts +2 -3
  601. package/dist/infrastructure/host-ingress-lock.d.ts.map +1 -1
  602. package/dist/infrastructure/host-ingress-lock.js +1 -35
  603. package/dist/infrastructure/host-ingress-lock.js.map +1 -1
  604. package/dist/infrastructure/host-ingress-takeover.js +3 -3
  605. package/dist/infrastructure/host-ingress-takeover.js.map +1 -1
  606. package/dist/infrastructure/host-ingress-types.d.ts +4 -2
  607. package/dist/infrastructure/host-ingress-types.d.ts.map +1 -1
  608. package/dist/infrastructure/host-ingress.service.d.ts.map +1 -1
  609. package/dist/infrastructure/host-ingress.service.js +6 -6
  610. package/dist/infrastructure/host-ingress.service.js.map +1 -1
  611. package/dist/infrastructure/host-inspection.d.ts +1 -0
  612. package/dist/infrastructure/host-inspection.d.ts.map +1 -1
  613. package/dist/infrastructure/host-inspection.js +3 -2
  614. package/dist/infrastructure/host-inspection.js.map +1 -1
  615. package/dist/infrastructure/infrastructure.service.d.ts +80 -29
  616. package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
  617. package/dist/infrastructure/infrastructure.service.js +561 -216
  618. package/dist/infrastructure/infrastructure.service.js.map +1 -1
  619. package/dist/infrastructure/merge-config.d.ts +10 -0
  620. package/dist/infrastructure/merge-config.d.ts.map +1 -0
  621. package/dist/infrastructure/merge-config.js +27 -0
  622. package/dist/infrastructure/merge-config.js.map +1 -0
  623. package/dist/infrastructure/orphan-containers.d.ts +1 -0
  624. package/dist/infrastructure/orphan-containers.d.ts.map +1 -1
  625. package/dist/infrastructure/orphan-containers.js +1 -1
  626. package/dist/infrastructure/orphan-containers.js.map +1 -1
  627. package/dist/infrastructure/owned-container.d.ts +4 -0
  628. package/dist/infrastructure/owned-container.d.ts.map +1 -0
  629. package/dist/infrastructure/owned-container.js +13 -0
  630. package/dist/infrastructure/owned-container.js.map +1 -0
  631. package/dist/infrastructure/phantom-endpoint-janitor.d.ts +4 -1
  632. package/dist/infrastructure/phantom-endpoint-janitor.d.ts.map +1 -1
  633. package/dist/infrastructure/phantom-endpoint-janitor.js +11 -2
  634. package/dist/infrastructure/phantom-endpoint-janitor.js.map +1 -1
  635. package/dist/infrastructure/presets/minio.d.ts.map +1 -1
  636. package/dist/infrastructure/presets/minio.js +15 -25
  637. package/dist/infrastructure/presets/minio.js.map +1 -1
  638. package/dist/infrastructure/presets/postgres.d.ts.map +1 -1
  639. package/dist/infrastructure/presets/postgres.js +35 -31
  640. package/dist/infrastructure/presets/postgres.js.map +1 -1
  641. package/dist/infrastructure/presets/tor.d.ts +1 -2
  642. package/dist/infrastructure/presets/tor.d.ts.map +1 -1
  643. package/dist/infrastructure/presets/tor.js +7 -13
  644. package/dist/infrastructure/presets/tor.js.map +1 -1
  645. package/dist/infrastructure/provisioning-outcome.d.ts +7 -0
  646. package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -1
  647. package/dist/infrastructure/provisioning-outcome.js +41 -8
  648. package/dist/infrastructure/provisioning-outcome.js.map +1 -1
  649. package/dist/infrastructure/service-resolver.d.ts +1 -1
  650. package/dist/infrastructure/service-resolver.d.ts.map +1 -1
  651. package/dist/infrastructure/service-resolver.js +22 -10
  652. package/dist/infrastructure/service-resolver.js.map +1 -1
  653. package/dist/infrastructure/stack-infra-manager.d.ts +25 -4
  654. package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
  655. package/dist/infrastructure/stack-infra-manager.js +181 -21
  656. package/dist/infrastructure/stack-infra-manager.js.map +1 -1
  657. package/dist/infrastructure/types.d.ts +60 -3
  658. package/dist/infrastructure/types.d.ts.map +1 -1
  659. package/dist/mcp/mcp-bridge.js +1 -1
  660. package/dist/mcp/mcp-bridge.js.map +1 -1
  661. package/dist/mcp/monitoring-reading.d.ts +18 -0
  662. package/dist/mcp/monitoring-reading.d.ts.map +1 -0
  663. package/dist/mcp/monitoring-reading.js +84 -0
  664. package/dist/mcp/monitoring-reading.js.map +1 -0
  665. package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -1
  666. package/dist/mcp/tool-groups/apps.tools.js +6 -4
  667. package/dist/mcp/tool-groups/apps.tools.js.map +1 -1
  668. package/dist/mcp/tool-groups/management.tools.d.ts +2 -0
  669. package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -1
  670. package/dist/mcp/tool-groups/management.tools.js +17 -38
  671. package/dist/mcp/tool-groups/management.tools.js.map +1 -1
  672. package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -1
  673. package/dist/mcp/tool-groups/monitoring.tools.js +45 -2
  674. package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -1
  675. package/dist/mcp/unavailable-tools.js +2 -2
  676. package/dist/mcp/unavailable-tools.js.map +1 -1
  677. package/dist/migration/configuration.d.ts +8 -0
  678. package/dist/migration/configuration.d.ts.map +1 -0
  679. package/dist/migration/configuration.js +16 -0
  680. package/dist/migration/configuration.js.map +1 -0
  681. package/dist/migration/index.d.ts +25 -0
  682. package/dist/migration/index.d.ts.map +1 -0
  683. package/dist/migration/index.js +27 -0
  684. package/dist/migration/index.js.map +1 -0
  685. package/dist/migration/operation.d.ts +31 -0
  686. package/dist/migration/operation.d.ts.map +1 -0
  687. package/dist/migration/operation.js +67 -0
  688. package/dist/migration/operation.js.map +1 -0
  689. package/dist/migration/workspace.d.ts +28 -0
  690. package/dist/migration/workspace.d.ts.map +1 -0
  691. package/dist/migration/workspace.js +91 -0
  692. package/dist/migration/workspace.js.map +1 -0
  693. package/dist/monitoring/app-health.indicator.d.ts +1 -1
  694. package/dist/monitoring/app-health.indicator.d.ts.map +1 -1
  695. package/dist/monitoring/docker-health.indicator.d.ts +4 -2
  696. package/dist/monitoring/docker-health.indicator.d.ts.map +1 -1
  697. package/dist/monitoring/docker-health.indicator.js +66 -5
  698. package/dist/monitoring/docker-health.indicator.js.map +1 -1
  699. package/dist/monitoring/event-loop-watch.d.ts.map +1 -1
  700. package/dist/monitoring/event-loop-watch.js.map +1 -1
  701. package/dist/monitoring/infrastructure-health.d.ts +15 -0
  702. package/dist/monitoring/infrastructure-health.d.ts.map +1 -0
  703. package/dist/monitoring/infrastructure-health.js +2 -0
  704. package/dist/monitoring/infrastructure-health.js.map +1 -0
  705. package/dist/monitoring/log-entry.d.ts +7 -0
  706. package/dist/monitoring/log-entry.d.ts.map +1 -0
  707. package/dist/monitoring/log-entry.js +16 -0
  708. package/dist/monitoring/log-entry.js.map +1 -0
  709. package/dist/monitoring/log-journal.d.ts +40 -0
  710. package/dist/monitoring/log-journal.d.ts.map +1 -0
  711. package/dist/monitoring/log-journal.js +158 -0
  712. package/dist/monitoring/log-journal.js.map +1 -0
  713. package/dist/monitoring/log-line.d.ts +19 -14
  714. package/dist/monitoring/log-line.d.ts.map +1 -1
  715. package/dist/monitoring/log-line.js +70 -59
  716. package/dist/monitoring/log-line.js.map +1 -1
  717. package/dist/monitoring/log-manager.d.ts +34 -37
  718. package/dist/monitoring/log-manager.d.ts.map +1 -1
  719. package/dist/monitoring/log-manager.js +164 -63
  720. package/dist/monitoring/log-manager.js.map +1 -1
  721. package/dist/monitoring/log-sink-health.indicator.d.ts +10 -0
  722. package/dist/monitoring/log-sink-health.indicator.d.ts.map +1 -0
  723. package/dist/monitoring/log-sink-health.indicator.js +21 -0
  724. package/dist/monitoring/log-sink-health.indicator.js.map +1 -0
  725. package/dist/monitoring/metrics-storage.indicator.d.ts +9 -0
  726. package/dist/monitoring/metrics-storage.indicator.d.ts.map +1 -0
  727. package/dist/monitoring/metrics-storage.indicator.js +18 -0
  728. package/dist/monitoring/metrics-storage.indicator.js.map +1 -0
  729. package/dist/monitoring/process-lifetime.d.ts +11 -0
  730. package/dist/monitoring/process-lifetime.d.ts.map +1 -0
  731. package/dist/monitoring/process-lifetime.js +45 -0
  732. package/dist/monitoring/process-lifetime.js.map +1 -0
  733. package/dist/monitoring/runtime-diagnostics.d.ts +47 -0
  734. package/dist/monitoring/runtime-diagnostics.d.ts.map +1 -0
  735. package/dist/monitoring/runtime-diagnostics.js +88 -0
  736. package/dist/monitoring/runtime-diagnostics.js.map +1 -0
  737. package/dist/observability/metrics-bridge.d.ts +5 -1
  738. package/dist/observability/metrics-bridge.d.ts.map +1 -1
  739. package/dist/observability/metrics-bridge.js +11 -0
  740. package/dist/observability/metrics-bridge.js.map +1 -1
  741. package/dist/operations.d.ts +1 -0
  742. package/dist/operations.d.ts.map +1 -1
  743. package/dist/operations.js.map +1 -1
  744. package/dist/orchestrator/app-handle.d.ts +24 -6
  745. package/dist/orchestrator/app-handle.d.ts.map +1 -1
  746. package/dist/orchestrator/app-handle.js +39 -8
  747. package/dist/orchestrator/app-handle.js.map +1 -1
  748. package/dist/orchestrator/application-runtime-child.d.ts +2 -0
  749. package/dist/orchestrator/application-runtime-child.d.ts.map +1 -0
  750. package/dist/orchestrator/application-runtime-child.js +15 -0
  751. package/dist/orchestrator/application-runtime-child.js.map +1 -0
  752. package/dist/orchestrator/application-runtime-resolution.d.ts +4 -0
  753. package/dist/orchestrator/application-runtime-resolution.d.ts.map +1 -0
  754. package/dist/orchestrator/application-runtime-resolution.js +62 -0
  755. package/dist/orchestrator/application-runtime-resolution.js.map +1 -0
  756. package/dist/orchestrator/application-runtime.d.ts +3 -0
  757. package/dist/orchestrator/application-runtime.d.ts.map +1 -0
  758. package/dist/orchestrator/application-runtime.js +20 -0
  759. package/dist/orchestrator/application-runtime.js.map +1 -0
  760. package/dist/orchestrator/application-topology.d.ts +20 -0
  761. package/dist/orchestrator/application-topology.d.ts.map +1 -0
  762. package/dist/orchestrator/application-topology.js +90 -0
  763. package/dist/orchestrator/application-topology.js.map +1 -0
  764. package/dist/orchestrator/bootstrap-loader-child.d.ts +1 -1
  765. package/dist/orchestrator/bootstrap-loader-child.js +7 -16
  766. package/dist/orchestrator/bootstrap-loader-child.js.map +1 -1
  767. package/dist/orchestrator/bootstrap-loader.d.ts +8 -18
  768. package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
  769. package/dist/orchestrator/bootstrap-loader.js +21 -204
  770. package/dist/orchestrator/bootstrap-loader.js.map +1 -1
  771. package/dist/orchestrator/bootstrap-process.d.ts +5 -5
  772. package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
  773. package/dist/orchestrator/bootstrap-process.js +37 -38
  774. package/dist/orchestrator/bootstrap-process.js.map +1 -1
  775. package/dist/orchestrator/build-service.d.ts +3 -3
  776. package/dist/orchestrator/build-service.d.ts.map +1 -1
  777. package/dist/orchestrator/build-service.js +29 -80
  778. package/dist/orchestrator/build-service.js.map +1 -1
  779. package/dist/orchestrator/call-exposed-service.d.ts +8 -0
  780. package/dist/orchestrator/call-exposed-service.d.ts.map +1 -1
  781. package/dist/orchestrator/classic-launcher.d.ts +3 -2
  782. package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
  783. package/dist/orchestrator/classic-launcher.js +26 -22
  784. package/dist/orchestrator/classic-launcher.js.map +1 -1
  785. package/dist/orchestrator/dependency-resolver.d.ts.map +1 -1
  786. package/dist/orchestrator/dependency-resolver.js +7 -38
  787. package/dist/orchestrator/dependency-resolver.js.map +1 -1
  788. package/dist/orchestrator/execution-contract.d.ts +67 -0
  789. package/dist/orchestrator/execution-contract.d.ts.map +1 -0
  790. package/dist/orchestrator/execution-contract.js +2 -0
  791. package/dist/orchestrator/execution-contract.js.map +1 -0
  792. package/dist/orchestrator/file-watcher.d.ts +1 -1
  793. package/dist/orchestrator/file-watcher.d.ts.map +1 -1
  794. package/dist/orchestrator/file-watcher.js +10 -3
  795. package/dist/orchestrator/file-watcher.js.map +1 -1
  796. package/dist/orchestrator/installed-execution.d.ts +7 -0
  797. package/dist/orchestrator/installed-execution.d.ts.map +1 -0
  798. package/dist/orchestrator/installed-execution.js +25 -0
  799. package/dist/orchestrator/installed-execution.js.map +1 -0
  800. package/dist/orchestrator/module-worker-process.d.ts.map +1 -1
  801. package/dist/orchestrator/module-worker-process.js +2 -1
  802. package/dist/orchestrator/module-worker-process.js.map +1 -1
  803. package/dist/orchestrator/orchestrator.service.d.ts +87 -76
  804. package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
  805. package/dist/orchestrator/orchestrator.service.js +941 -469
  806. package/dist/orchestrator/orchestrator.service.js.map +1 -1
  807. package/dist/orchestrator/process-janitor.d.ts +3 -0
  808. package/dist/orchestrator/process-janitor.d.ts.map +1 -1
  809. package/dist/orchestrator/process-janitor.js +5 -1
  810. package/dist/orchestrator/process-janitor.js.map +1 -1
  811. package/dist/orchestrator/runtime-package-resolution.d.ts +8 -0
  812. package/dist/orchestrator/runtime-package-resolution.d.ts.map +1 -0
  813. package/dist/orchestrator/runtime-package-resolution.js +56 -0
  814. package/dist/orchestrator/runtime-package-resolution.js.map +1 -0
  815. package/dist/orchestrator/service-router.d.ts +4 -108
  816. package/dist/orchestrator/service-router.d.ts.map +1 -1
  817. package/dist/orchestrator/service-router.js +51 -237
  818. package/dist/orchestrator/service-router.js.map +1 -1
  819. package/dist/orchestrator/ts-compiler.d.ts.map +1 -1
  820. package/dist/orchestrator/ts-compiler.js +9 -17
  821. package/dist/orchestrator/ts-compiler.js.map +1 -1
  822. package/dist/project/artifact-builder.d.ts +17 -7
  823. package/dist/project/artifact-builder.d.ts.map +1 -1
  824. package/dist/project/artifact-builder.js +89 -56
  825. package/dist/project/artifact-builder.js.map +1 -1
  826. package/dist/project/bootstrap-metadata.d.ts +42 -0
  827. package/dist/project/bootstrap-metadata.d.ts.map +1 -0
  828. package/dist/project/bootstrap-metadata.js +76 -0
  829. package/dist/project/bootstrap-metadata.js.map +1 -0
  830. package/dist/project/config-resolver.js +3 -3
  831. package/dist/project/config-resolver.js.map +1 -1
  832. package/dist/project/configuration-catalog.d.ts +8 -0
  833. package/dist/project/configuration-catalog.d.ts.map +1 -0
  834. package/dist/project/configuration-catalog.js +29 -0
  835. package/dist/project/configuration-catalog.js.map +1 -0
  836. package/dist/project/declared-config.d.ts +2 -0
  837. package/dist/project/declared-config.d.ts.map +1 -1
  838. package/dist/project/declared-config.js +8 -5
  839. package/dist/project/declared-config.js.map +1 -1
  840. package/dist/project/dependency-topology.d.ts +10 -0
  841. package/dist/project/dependency-topology.d.ts.map +1 -0
  842. package/dist/project/dependency-topology.js +55 -0
  843. package/dist/project/dependency-topology.js.map +1 -0
  844. package/dist/project/infrastructure-ownership.d.ts +5 -0
  845. package/dist/project/infrastructure-ownership.d.ts.map +1 -0
  846. package/dist/project/infrastructure-ownership.js +26 -0
  847. package/dist/project/infrastructure-ownership.js.map +1 -0
  848. package/dist/project/installed-stack-resume.d.ts +62 -0
  849. package/dist/project/installed-stack-resume.d.ts.map +1 -0
  850. package/dist/project/installed-stack-resume.js +261 -0
  851. package/dist/project/installed-stack-resume.js.map +1 -0
  852. package/dist/project/launch-failure.d.ts +3 -0
  853. package/dist/project/launch-failure.d.ts.map +1 -0
  854. package/dist/project/launch-failure.js +32 -0
  855. package/dist/project/launch-failure.js.map +1 -0
  856. package/dist/project/local-release-selection.d.ts +18 -0
  857. package/dist/project/local-release-selection.d.ts.map +1 -0
  858. package/dist/project/local-release-selection.js +36 -0
  859. package/dist/project/local-release-selection.js.map +1 -0
  860. package/dist/project/node-app-config.d.ts +8 -1
  861. package/dist/project/node-app-config.d.ts.map +1 -1
  862. package/dist/project/node-app-config.js +20 -28
  863. package/dist/project/node-app-config.js.map +1 -1
  864. package/dist/project/node-stack-stop.d.ts +83 -0
  865. package/dist/project/node-stack-stop.d.ts.map +1 -0
  866. package/dist/project/node-stack-stop.js +219 -0
  867. package/dist/project/node-stack-stop.js.map +1 -0
  868. package/dist/project/public-stack.d.ts +4 -0
  869. package/dist/project/public-stack.d.ts.map +1 -0
  870. package/dist/project/public-stack.js +29 -0
  871. package/dist/project/public-stack.js.map +1 -0
  872. package/dist/project/registry.d.ts +18 -27
  873. package/dist/project/registry.d.ts.map +1 -1
  874. package/dist/project/registry.js +244 -55
  875. package/dist/project/registry.js.map +1 -1
  876. package/dist/project/requirements-scanner.d.ts +4 -8
  877. package/dist/project/requirements-scanner.d.ts.map +1 -1
  878. package/dist/project/requirements-scanner.js +39 -146
  879. package/dist/project/requirements-scanner.js.map +1 -1
  880. package/dist/project/stack-diagnosis.d.ts +18 -0
  881. package/dist/project/stack-diagnosis.d.ts.map +1 -0
  882. package/dist/project/stack-diagnosis.js +94 -0
  883. package/dist/project/stack-diagnosis.js.map +1 -0
  884. package/dist/project/stack-health.d.ts +12 -0
  885. package/dist/project/stack-health.d.ts.map +1 -0
  886. package/dist/project/stack-health.js +27 -0
  887. package/dist/project/stack-health.js.map +1 -0
  888. package/dist/project/stack-observation.d.ts +8 -0
  889. package/dist/project/stack-observation.d.ts.map +1 -0
  890. package/dist/project/stack-observation.js +126 -0
  891. package/dist/project/stack-observation.js.map +1 -0
  892. package/dist/project/stack-placement.d.ts +11 -0
  893. package/dist/project/stack-placement.d.ts.map +1 -0
  894. package/dist/project/stack-placement.js +57 -0
  895. package/dist/project/stack-placement.js.map +1 -0
  896. package/dist/project/stack-stop-review.d.ts +14 -0
  897. package/dist/project/stack-stop-review.d.ts.map +1 -0
  898. package/dist/project/stack-stop-review.js +22 -0
  899. package/dist/project/stack-stop-review.js.map +1 -0
  900. package/dist/project/stack-targets.d.ts +24 -0
  901. package/dist/project/stack-targets.d.ts.map +1 -0
  902. package/dist/project/stack-targets.js +67 -0
  903. package/dist/project/stack-targets.js.map +1 -0
  904. package/dist/project/topology-control.d.ts +41 -0
  905. package/dist/project/topology-control.d.ts.map +1 -0
  906. package/dist/project/topology-control.js +133 -0
  907. package/dist/project/topology-control.js.map +1 -0
  908. package/dist/project/topology-plan.d.ts +11 -0
  909. package/dist/project/topology-plan.d.ts.map +1 -0
  910. package/dist/project/topology-plan.js +154 -0
  911. package/dist/project/topology-plan.js.map +1 -0
  912. package/dist/project/topology-services.d.ts +7 -0
  913. package/dist/project/topology-services.d.ts.map +1 -0
  914. package/dist/project/topology-services.js +36 -0
  915. package/dist/project/topology-services.js.map +1 -0
  916. package/dist/project/topology-state.d.ts +27 -0
  917. package/dist/project/topology-state.d.ts.map +1 -0
  918. package/dist/project/topology-state.js +71 -0
  919. package/dist/project/topology-state.js.map +1 -0
  920. package/dist/project/workspace-kind.d.ts +3 -0
  921. package/dist/project/workspace-kind.d.ts.map +1 -0
  922. package/dist/project/workspace-kind.js +13 -0
  923. package/dist/project/workspace-kind.js.map +1 -0
  924. package/dist/readiness.d.ts +4 -0
  925. package/dist/readiness.d.ts.map +1 -0
  926. package/dist/readiness.js +3 -0
  927. package/dist/readiness.js.map +1 -0
  928. package/dist/release/application-closure.d.ts +4 -0
  929. package/dist/release/application-closure.d.ts.map +1 -0
  930. package/dist/release/application-closure.js +61 -0
  931. package/dist/release/application-closure.js.map +1 -0
  932. package/dist/release/archive.d.ts +3 -0
  933. package/dist/release/archive.d.ts.map +1 -0
  934. package/dist/release/archive.js +3 -0
  935. package/dist/release/archive.js.map +1 -0
  936. package/dist/release/artifact-inspection.d.ts +50 -0
  937. package/dist/release/artifact-inspection.d.ts.map +1 -0
  938. package/dist/release/artifact-inspection.js +169 -0
  939. package/dist/release/artifact-inspection.js.map +1 -0
  940. package/dist/release/artifact-volumes.d.ts +10 -0
  941. package/dist/release/artifact-volumes.d.ts.map +1 -0
  942. package/dist/release/artifact-volumes.js +112 -0
  943. package/dist/release/artifact-volumes.js.map +1 -0
  944. package/dist/release/build-run.d.ts +12 -15
  945. package/dist/release/build-run.d.ts.map +1 -1
  946. package/dist/release/build-run.js +265 -81
  947. package/dist/release/build-run.js.map +1 -1
  948. package/dist/release/builder.d.ts +8 -2
  949. package/dist/release/builder.d.ts.map +1 -1
  950. package/dist/release/builder.js +18 -4
  951. package/dist/release/builder.js.map +1 -1
  952. package/dist/release/closure-library-path.d.ts +26 -0
  953. package/dist/release/closure-library-path.d.ts.map +1 -0
  954. package/dist/release/closure-library-path.js +160 -0
  955. package/dist/release/closure-library-path.js.map +1 -0
  956. package/dist/release/definition-inputs.d.ts +6 -3
  957. package/dist/release/definition-inputs.d.ts.map +1 -1
  958. package/dist/release/definition-inputs.js +145 -14
  959. package/dist/release/definition-inputs.js.map +1 -1
  960. package/dist/release/framework-source.d.ts +29 -0
  961. package/dist/release/framework-source.d.ts.map +1 -0
  962. package/dist/release/framework-source.js +63 -0
  963. package/dist/release/framework-source.js.map +1 -0
  964. package/dist/release/frozen-installation.d.ts +23 -0
  965. package/dist/release/frozen-installation.d.ts.map +1 -0
  966. package/dist/release/frozen-installation.js +159 -0
  967. package/dist/release/frozen-installation.js.map +1 -0
  968. package/dist/release/import-artifacts.d.ts +9 -0
  969. package/dist/release/import-artifacts.d.ts.map +1 -0
  970. package/dist/release/import-artifacts.js +60 -0
  971. package/dist/release/import-artifacts.js.map +1 -0
  972. package/dist/release/infrastructure.d.ts +6 -0
  973. package/dist/release/infrastructure.d.ts.map +1 -0
  974. package/dist/release/infrastructure.js +74 -0
  975. package/dist/release/infrastructure.js.map +1 -0
  976. package/dist/release/installed-artifacts.d.ts +12 -0
  977. package/dist/release/installed-artifacts.d.ts.map +1 -0
  978. package/dist/release/installed-artifacts.js +199 -0
  979. package/dist/release/installed-artifacts.js.map +1 -0
  980. package/dist/release/installed-graph.d.ts +28 -0
  981. package/dist/release/installed-graph.d.ts.map +1 -0
  982. package/dist/release/installed-graph.js +138 -0
  983. package/dist/release/installed-graph.js.map +1 -0
  984. package/dist/release/installed-origin.d.ts +42 -0
  985. package/dist/release/installed-origin.d.ts.map +1 -0
  986. package/dist/release/installed-origin.js +130 -0
  987. package/dist/release/installed-origin.js.map +1 -0
  988. package/dist/release/installed-release.d.ts +23 -0
  989. package/dist/release/installed-release.d.ts.map +1 -0
  990. package/dist/release/installed-release.js +141 -0
  991. package/dist/release/installed-release.js.map +1 -0
  992. package/dist/release/layout.d.ts +27 -32
  993. package/dist/release/layout.d.ts.map +1 -1
  994. package/dist/release/layout.js +162 -51
  995. package/dist/release/layout.js.map +1 -1
  996. package/dist/release/load.d.ts +3 -0
  997. package/dist/release/load.d.ts.map +1 -1
  998. package/dist/release/load.js +50 -8
  999. package/dist/release/load.js.map +1 -1
  1000. package/dist/release/local-installation.d.ts +20 -0
  1001. package/dist/release/local-installation.d.ts.map +1 -0
  1002. package/dist/release/local-installation.js +298 -0
  1003. package/dist/release/local-installation.js.map +1 -0
  1004. package/dist/release/manifest.d.ts +87 -12
  1005. package/dist/release/manifest.d.ts.map +1 -1
  1006. package/dist/release/manifest.js +31 -7
  1007. package/dist/release/manifest.js.map +1 -1
  1008. package/dist/release/migration-programs.d.ts +12 -0
  1009. package/dist/release/migration-programs.d.ts.map +1 -0
  1010. package/dist/release/migration-programs.js +45 -0
  1011. package/dist/release/migration-programs.js.map +1 -0
  1012. package/dist/release/migrations.d.ts +12 -1
  1013. package/dist/release/migrations.d.ts.map +1 -1
  1014. package/dist/release/migrations.js +124 -9
  1015. package/dist/release/migrations.js.map +1 -1
  1016. package/dist/release/origin.d.ts +33 -0
  1017. package/dist/release/origin.d.ts.map +1 -0
  1018. package/dist/release/origin.js +253 -0
  1019. package/dist/release/origin.js.map +1 -0
  1020. package/dist/release/owner-admission.d.ts +15 -0
  1021. package/dist/release/owner-admission.d.ts.map +1 -0
  1022. package/dist/release/owner-admission.js +37 -0
  1023. package/dist/release/owner-admission.js.map +1 -0
  1024. package/dist/release/owner-executable.d.ts +3 -0
  1025. package/dist/release/owner-executable.d.ts.map +1 -0
  1026. package/dist/release/owner-executable.js +40 -0
  1027. package/dist/release/owner-executable.js.map +1 -0
  1028. package/dist/release/package-gates.d.ts +9 -0
  1029. package/dist/release/package-gates.d.ts.map +1 -0
  1030. package/dist/release/package-gates.js +42 -0
  1031. package/dist/release/package-gates.js.map +1 -0
  1032. package/dist/release/package-resolution.d.ts +4 -0
  1033. package/dist/release/package-resolution.d.ts.map +1 -0
  1034. package/dist/release/package-resolution.js +28 -0
  1035. package/dist/release/package-resolution.js.map +1 -0
  1036. package/dist/release/portable-archive.d.ts +12 -0
  1037. package/dist/release/portable-archive.d.ts.map +1 -0
  1038. package/dist/release/portable-archive.js +96 -0
  1039. package/dist/release/portable-archive.js.map +1 -0
  1040. package/dist/release/registry-download.d.ts +2 -0
  1041. package/dist/release/registry-download.d.ts.map +1 -0
  1042. package/dist/release/registry-download.js +157 -0
  1043. package/dist/release/registry-download.js.map +1 -0
  1044. package/dist/release/registry-framework.d.ts +39 -0
  1045. package/dist/release/registry-framework.d.ts.map +1 -0
  1046. package/dist/release/registry-framework.js +279 -0
  1047. package/dist/release/registry-framework.js.map +1 -0
  1048. package/dist/release/registry-transport.d.ts +27 -0
  1049. package/dist/release/registry-transport.d.ts.map +1 -0
  1050. package/dist/release/registry-transport.js +96 -0
  1051. package/dist/release/registry-transport.js.map +1 -0
  1052. package/dist/release/repository-identity.d.ts +12 -0
  1053. package/dist/release/repository-identity.d.ts.map +1 -0
  1054. package/dist/release/repository-identity.js +62 -0
  1055. package/dist/release/repository-identity.js.map +1 -0
  1056. package/dist/release/runtime-extractor.d.ts +4 -0
  1057. package/dist/release/runtime-extractor.d.ts.map +1 -0
  1058. package/dist/release/runtime-extractor.js +15 -0
  1059. package/dist/release/runtime-extractor.js.map +1 -0
  1060. package/dist/release/runtime-provenance.d.ts +40 -0
  1061. package/dist/release/runtime-provenance.d.ts.map +1 -0
  1062. package/dist/release/runtime-provenance.js +229 -0
  1063. package/dist/release/runtime-provenance.js.map +1 -0
  1064. package/dist/release/source.d.ts +12 -0
  1065. package/dist/release/source.d.ts.map +1 -0
  1066. package/dist/release/source.js +168 -0
  1067. package/dist/release/source.js.map +1 -0
  1068. package/dist/release/store.d.ts +13 -4
  1069. package/dist/release/store.d.ts.map +1 -1
  1070. package/dist/release/store.js +70 -14
  1071. package/dist/release/store.js.map +1 -1
  1072. package/dist/release/target-runtime.d.ts +19 -0
  1073. package/dist/release/target-runtime.d.ts.map +1 -0
  1074. package/dist/release/target-runtime.js +41 -0
  1075. package/dist/release/target-runtime.js.map +1 -0
  1076. package/dist/release/vendored-framework.d.ts +28 -0
  1077. package/dist/release/vendored-framework.d.ts.map +1 -0
  1078. package/dist/release/vendored-framework.js +98 -0
  1079. package/dist/release/vendored-framework.js.map +1 -0
  1080. package/dist/release/workspace-source.d.ts +3 -0
  1081. package/dist/release/workspace-source.d.ts.map +1 -0
  1082. package/dist/release/workspace-source.js +33 -0
  1083. package/dist/release/workspace-source.js.map +1 -0
  1084. package/dist/runtime/context.d.ts +29 -0
  1085. package/dist/runtime/context.d.ts.map +1 -0
  1086. package/dist/runtime/context.js +111 -0
  1087. package/dist/runtime/context.js.map +1 -0
  1088. package/dist/runtime/identity.d.ts +15 -0
  1089. package/dist/runtime/identity.d.ts.map +1 -0
  1090. package/dist/runtime/identity.js +33 -0
  1091. package/dist/runtime/identity.js.map +1 -0
  1092. package/dist/runtime/index.d.ts +3 -0
  1093. package/dist/runtime/index.d.ts.map +1 -0
  1094. package/dist/runtime/index.js +3 -0
  1095. package/dist/runtime/index.js.map +1 -0
  1096. package/dist/services/access.rpc-service.d.ts +41 -0
  1097. package/dist/services/access.rpc-service.d.ts.map +1 -0
  1098. package/dist/services/access.rpc-service.js +248 -0
  1099. package/dist/services/access.rpc-service.js.map +1 -0
  1100. package/dist/services/alert.service.d.ts +1 -1
  1101. package/dist/services/alert.service.d.ts.map +1 -1
  1102. package/dist/services/alert.service.js +1 -1
  1103. package/dist/services/anonymous-input.d.ts +0 -21
  1104. package/dist/services/anonymous-input.d.ts.map +1 -1
  1105. package/dist/services/anonymous-input.js +1 -27
  1106. package/dist/services/anonymous-input.js.map +1 -1
  1107. package/dist/services/audit.service.d.ts +10 -30
  1108. package/dist/services/audit.service.d.ts.map +1 -1
  1109. package/dist/services/audit.service.js +72 -18
  1110. package/dist/services/audit.service.js.map +1 -1
  1111. package/dist/services/auth-context.d.ts +2 -0
  1112. package/dist/services/auth-context.d.ts.map +1 -1
  1113. package/dist/services/auth-context.js +4 -1
  1114. package/dist/services/auth-context.js.map +1 -1
  1115. package/dist/services/auth.rpc-service.d.ts +3 -1
  1116. package/dist/services/auth.rpc-service.d.ts.map +1 -1
  1117. package/dist/services/auth.rpc-service.js +13 -3
  1118. package/dist/services/auth.rpc-service.js.map +1 -1
  1119. package/dist/services/auth.service.d.ts +11 -21
  1120. package/dist/services/auth.service.d.ts.map +1 -1
  1121. package/dist/services/auth.service.js +125 -139
  1122. package/dist/services/auth.service.js.map +1 -1
  1123. package/dist/services/backup-storage.d.ts +14 -0
  1124. package/dist/services/backup-storage.d.ts.map +1 -0
  1125. package/dist/services/backup-storage.js +195 -0
  1126. package/dist/services/backup-storage.js.map +1 -0
  1127. package/dist/services/backup.rpc-service.d.ts +2 -0
  1128. package/dist/services/backup.rpc-service.d.ts.map +1 -1
  1129. package/dist/services/backup.rpc-service.js +9 -0
  1130. package/dist/services/backup.rpc-service.js.map +1 -1
  1131. package/dist/services/backup.service.d.ts +33 -126
  1132. package/dist/services/backup.service.d.ts.map +1 -1
  1133. package/dist/services/backup.service.js +174 -153
  1134. package/dist/services/backup.service.js.map +1 -1
  1135. package/dist/services/bundle-builder.d.ts +12 -0
  1136. package/dist/services/bundle-builder.d.ts.map +1 -1
  1137. package/dist/services/bundle-builder.js +77 -62
  1138. package/dist/services/bundle-builder.js.map +1 -1
  1139. package/dist/services/bundle-overrides.d.ts +25 -0
  1140. package/dist/services/bundle-overrides.d.ts.map +1 -0
  1141. package/dist/services/bundle-overrides.js +96 -0
  1142. package/dist/services/bundle-overrides.js.map +1 -0
  1143. package/dist/services/daemon-authority.d.ts +16 -0
  1144. package/dist/services/daemon-authority.d.ts.map +1 -0
  1145. package/dist/services/daemon-authority.js +54 -0
  1146. package/dist/services/daemon-authority.js.map +1 -0
  1147. package/dist/services/daemon-principal.d.ts +31 -0
  1148. package/dist/services/daemon-principal.d.ts.map +1 -0
  1149. package/dist/services/daemon-principal.js +37 -0
  1150. package/dist/services/daemon-principal.js.map +1 -0
  1151. package/dist/services/deploy.service.d.ts +13 -57
  1152. package/dist/services/deploy.service.d.ts.map +1 -1
  1153. package/dist/services/deploy.service.js +15 -263
  1154. package/dist/services/deploy.service.js.map +1 -1
  1155. package/dist/services/event-broadcaster.rpc-service.d.ts +7 -1
  1156. package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -1
  1157. package/dist/services/event-broadcaster.rpc-service.js +89 -11
  1158. package/dist/services/event-broadcaster.rpc-service.js.map +1 -1
  1159. package/dist/services/fleet.rpc-service.d.ts +0 -6
  1160. package/dist/services/fleet.rpc-service.d.ts.map +1 -1
  1161. package/dist/services/fleet.rpc-service.js +0 -13
  1162. package/dist/services/fleet.rpc-service.js.map +1 -1
  1163. package/dist/services/health-check.service.d.ts +1 -1
  1164. package/dist/services/health-check.service.d.ts.map +1 -1
  1165. package/dist/services/health-check.service.js +30 -5
  1166. package/dist/services/health-check.service.js.map +1 -1
  1167. package/dist/services/host-upgrade.d.ts +55 -3
  1168. package/dist/services/host-upgrade.d.ts.map +1 -1
  1169. package/dist/services/host-upgrade.js +167 -16
  1170. package/dist/services/host-upgrade.js.map +1 -1
  1171. package/dist/services/infrastructure.rpc-service.d.ts +9 -2
  1172. package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
  1173. package/dist/services/infrastructure.rpc-service.js +117 -36
  1174. package/dist/services/infrastructure.rpc-service.js.map +1 -1
  1175. package/dist/services/kernel-catalog.d.ts +14 -0
  1176. package/dist/services/kernel-catalog.d.ts.map +1 -0
  1177. package/dist/services/kernel-catalog.js +172 -0
  1178. package/dist/services/kernel-catalog.js.map +1 -0
  1179. package/dist/services/kernel-distribution.d.ts +5 -0
  1180. package/dist/services/kernel-distribution.d.ts.map +1 -0
  1181. package/dist/services/kernel-distribution.js +49 -0
  1182. package/dist/services/kernel-distribution.js.map +1 -0
  1183. package/dist/services/kernel-rollout.service.d.ts +55 -0
  1184. package/dist/services/kernel-rollout.service.d.ts.map +1 -0
  1185. package/dist/services/kernel-rollout.service.js +394 -0
  1186. package/dist/services/kernel-rollout.service.js.map +1 -0
  1187. package/dist/services/local-bundle.d.ts.map +1 -1
  1188. package/dist/services/local-bundle.js +3 -1
  1189. package/dist/services/local-bundle.js.map +1 -1
  1190. package/dist/services/log-collector.rpc-service.d.ts +5 -11
  1191. package/dist/services/log-collector.rpc-service.d.ts.map +1 -1
  1192. package/dist/services/log-collector.rpc-service.js +6 -6
  1193. package/dist/services/log-collector.rpc-service.js.map +1 -1
  1194. package/dist/services/log-collector.service.d.ts +39 -109
  1195. package/dist/services/log-collector.service.d.ts.map +1 -1
  1196. package/dist/services/log-collector.service.js +286 -261
  1197. package/dist/services/log-collector.service.js.map +1 -1
  1198. package/dist/services/log-query.d.ts +6 -0
  1199. package/dist/services/log-query.d.ts.map +1 -0
  1200. package/dist/services/log-query.js +46 -0
  1201. package/dist/services/log-query.js.map +1 -0
  1202. package/dist/services/managed-rollout.d.ts +54 -0
  1203. package/dist/services/managed-rollout.d.ts.map +1 -0
  1204. package/dist/services/managed-rollout.js +124 -0
  1205. package/dist/services/managed-rollout.js.map +1 -0
  1206. package/dist/services/metrics.rpc-service.d.ts +23 -0
  1207. package/dist/services/metrics.rpc-service.d.ts.map +1 -0
  1208. package/dist/services/metrics.rpc-service.js +73 -0
  1209. package/dist/services/metrics.rpc-service.js.map +1 -0
  1210. package/dist/services/migration-process.d.ts +32 -0
  1211. package/dist/services/migration-process.d.ts.map +1 -0
  1212. package/dist/services/migration-process.js +71 -0
  1213. package/dist/services/migration-process.js.map +1 -0
  1214. package/dist/services/migration-target.d.ts +57 -0
  1215. package/dist/services/migration-target.d.ts.map +1 -0
  1216. package/dist/services/migration-target.js +221 -0
  1217. package/dist/services/migration-target.js.map +1 -0
  1218. package/dist/services/node-health.repository.d.ts +2 -59
  1219. package/dist/services/node-health.repository.d.ts.map +1 -1
  1220. package/dist/services/node-health.repository.js.map +1 -1
  1221. package/dist/services/node-host-key.d.ts +9 -0
  1222. package/dist/services/node-host-key.d.ts.map +1 -0
  1223. package/dist/services/node-host-key.js +17 -0
  1224. package/dist/services/node-host-key.js.map +1 -0
  1225. package/dist/services/node-manager.rpc-service.d.ts +44 -37
  1226. package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
  1227. package/dist/services/node-manager.rpc-service.js +208 -37
  1228. package/dist/services/node-manager.rpc-service.js.map +1 -1
  1229. package/dist/services/node-manager.service.d.ts +3 -0
  1230. package/dist/services/node-manager.service.d.ts.map +1 -1
  1231. package/dist/services/node-manager.service.js +78 -27
  1232. package/dist/services/node-manager.service.js.map +1 -1
  1233. package/dist/services/node-registration.d.ts +17 -0
  1234. package/dist/services/node-registration.d.ts.map +1 -0
  1235. package/dist/services/node-registration.js +73 -0
  1236. package/dist/services/node-registration.js.map +1 -0
  1237. package/dist/services/node-upgrade.service.d.ts +2 -28
  1238. package/dist/services/node-upgrade.service.d.ts.map +1 -1
  1239. package/dist/services/node-upgrade.service.js +2 -3
  1240. package/dist/services/node-upgrade.service.js.map +1 -1
  1241. package/dist/services/pipeline-definition.d.ts +14 -0
  1242. package/dist/services/pipeline-definition.d.ts.map +1 -0
  1243. package/dist/services/pipeline-definition.js +77 -0
  1244. package/dist/services/pipeline-definition.js.map +1 -0
  1245. package/dist/services/pipeline.rpc-service.d.ts +10 -3
  1246. package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
  1247. package/dist/services/pipeline.rpc-service.js +38 -14
  1248. package/dist/services/pipeline.rpc-service.js.map +1 -1
  1249. package/dist/services/pipeline.service.d.ts +30 -46
  1250. package/dist/services/pipeline.service.d.ts.map +1 -1
  1251. package/dist/services/pipeline.service.js +401 -344
  1252. package/dist/services/pipeline.service.js.map +1 -1
  1253. package/dist/services/project.rpc-service.d.ts +212 -14
  1254. package/dist/services/project.rpc-service.d.ts.map +1 -1
  1255. package/dist/services/project.rpc-service.js +303 -31
  1256. package/dist/services/project.rpc-service.js.map +1 -1
  1257. package/dist/services/project.service.d.ts +174 -56
  1258. package/dist/services/project.service.d.ts.map +1 -1
  1259. package/dist/services/project.service.js +1957 -661
  1260. package/dist/services/project.service.js.map +1 -1
  1261. package/dist/services/release.rpc-service.d.ts +5 -18
  1262. package/dist/services/release.rpc-service.d.ts.map +1 -1
  1263. package/dist/services/release.rpc-service.js +34 -11
  1264. package/dist/services/release.rpc-service.js.map +1 -1
  1265. package/dist/services/release.service.d.ts +2 -47
  1266. package/dist/services/release.service.d.ts.map +1 -1
  1267. package/dist/services/release.service.js +26 -2
  1268. package/dist/services/release.service.js.map +1 -1
  1269. package/dist/services/remote-deployer.service.d.ts +41 -113
  1270. package/dist/services/remote-deployer.service.d.ts.map +1 -1
  1271. package/dist/services/remote-deployer.service.js +415 -378
  1272. package/dist/services/remote-deployer.service.js.map +1 -1
  1273. package/dist/services/remote-provisioner.d.ts +1 -1
  1274. package/dist/services/remote-provisioner.js +1 -1
  1275. package/dist/services/replication-evidence.d.ts +24 -0
  1276. package/dist/services/replication-evidence.d.ts.map +1 -0
  1277. package/dist/services/replication-evidence.js +61 -0
  1278. package/dist/services/replication-evidence.js.map +1 -0
  1279. package/dist/services/replication-history.d.ts +80 -0
  1280. package/dist/services/replication-history.d.ts.map +1 -0
  1281. package/dist/services/replication-history.js +279 -0
  1282. package/dist/services/replication-history.js.map +1 -0
  1283. package/dist/services/replication-reconciliation.d.ts +74 -0
  1284. package/dist/services/replication-reconciliation.d.ts.map +1 -0
  1285. package/dist/services/replication-reconciliation.js +351 -0
  1286. package/dist/services/replication-reconciliation.js.map +1 -0
  1287. package/dist/services/slave-storage.service.d.ts +2 -19
  1288. package/dist/services/slave-storage.service.d.ts.map +1 -1
  1289. package/dist/services/slave-storage.service.js +19 -6
  1290. package/dist/services/slave-storage.service.js.map +1 -1
  1291. package/dist/services/static-carry-forward.d.ts +2 -2
  1292. package/dist/services/static-carry-forward.d.ts.map +1 -1
  1293. package/dist/services/static-carry-forward.js +10 -3
  1294. package/dist/services/static-carry-forward.js.map +1 -1
  1295. package/dist/services/sync-summary.d.ts.map +1 -1
  1296. package/dist/services/sync-summary.js +1 -18
  1297. package/dist/services/sync-summary.js.map +1 -1
  1298. package/dist/services/sync.rpc-service.d.ts +17 -20
  1299. package/dist/services/sync.rpc-service.d.ts.map +1 -1
  1300. package/dist/services/sync.rpc-service.js +23 -37
  1301. package/dist/services/sync.rpc-service.js.map +1 -1
  1302. package/dist/services/sync.service.d.ts +53 -157
  1303. package/dist/services/sync.service.d.ts.map +1 -1
  1304. package/dist/services/sync.service.js +239 -337
  1305. package/dist/services/sync.service.js.map +1 -1
  1306. package/dist/services/system-info.rpc-service.d.ts +3 -1
  1307. package/dist/services/system-info.rpc-service.d.ts.map +1 -1
  1308. package/dist/services/system-info.rpc-service.js +5 -5
  1309. package/dist/services/system-info.rpc-service.js.map +1 -1
  1310. package/dist/services/system-info.service.d.ts +3 -1
  1311. package/dist/services/system-info.service.d.ts.map +1 -1
  1312. package/dist/services/system-info.service.js +17 -9
  1313. package/dist/services/system-info.service.js.map +1 -1
  1314. package/dist/services/telemetry.rpc-service.d.ts +4 -23
  1315. package/dist/services/telemetry.rpc-service.d.ts.map +1 -1
  1316. package/dist/services/telemetry.rpc-service.js +4 -32
  1317. package/dist/services/telemetry.rpc-service.js.map +1 -1
  1318. package/dist/services/telemetry.service.d.ts +2 -30
  1319. package/dist/services/telemetry.service.d.ts.map +1 -1
  1320. package/dist/services/telemetry.service.js +25 -131
  1321. package/dist/services/telemetry.service.js.map +1 -1
  1322. package/dist/services/terminal-ssh.d.ts +16 -0
  1323. package/dist/services/terminal-ssh.d.ts.map +1 -0
  1324. package/dist/services/terminal-ssh.js +101 -0
  1325. package/dist/services/terminal-ssh.js.map +1 -0
  1326. package/dist/services/terminal.rpc-service.d.ts +84 -0
  1327. package/dist/services/terminal.rpc-service.d.ts.map +1 -0
  1328. package/dist/services/terminal.rpc-service.js +508 -0
  1329. package/dist/services/terminal.rpc-service.js.map +1 -0
  1330. package/dist/services/trace-collector.rpc-service.js +3 -3
  1331. package/dist/services/trace-collector.rpc-service.js.map +1 -1
  1332. package/dist/services/wait-for-postgres.d.ts +1 -1
  1333. package/dist/services/wait-for-postgres.d.ts.map +1 -1
  1334. package/dist/services/wait-for-postgres.js +13 -28
  1335. package/dist/services/wait-for-postgres.js.map +1 -1
  1336. package/dist/shared/build-stamp.d.ts +4 -1
  1337. package/dist/shared/build-stamp.d.ts.map +1 -1
  1338. package/dist/shared/build-stamp.js +14 -6
  1339. package/dist/shared/build-stamp.js.map +1 -1
  1340. package/dist/shared/describe-error.d.ts +1 -21
  1341. package/dist/shared/describe-error.d.ts.map +1 -1
  1342. package/dist/shared/describe-error.js +1 -38
  1343. package/dist/shared/describe-error.js.map +1 -1
  1344. package/dist/shared/dto/access.d.ts +55 -0
  1345. package/dist/shared/dto/access.d.ts.map +1 -0
  1346. package/dist/shared/dto/access.js +2 -0
  1347. package/dist/shared/dto/access.js.map +1 -0
  1348. package/dist/shared/dto/audit.d.ts +32 -0
  1349. package/dist/shared/dto/audit.d.ts.map +1 -0
  1350. package/dist/shared/dto/audit.js +3 -0
  1351. package/dist/shared/dto/audit.js.map +1 -0
  1352. package/dist/shared/dto/auth.d.ts +2 -0
  1353. package/dist/shared/dto/auth.d.ts.map +1 -1
  1354. package/dist/shared/dto/auth.js +5 -1
  1355. package/dist/shared/dto/auth.js.map +1 -1
  1356. package/dist/shared/dto/backend.d.ts +50 -0
  1357. package/dist/shared/dto/backend.d.ts.map +1 -0
  1358. package/dist/shared/dto/backend.js +3 -0
  1359. package/dist/shared/dto/backend.js.map +1 -0
  1360. package/dist/shared/dto/backups.d.ts +99 -0
  1361. package/dist/shared/dto/backups.d.ts.map +1 -1
  1362. package/dist/shared/dto/cluster.d.ts +44 -0
  1363. package/dist/shared/dto/cluster.d.ts.map +1 -0
  1364. package/dist/shared/dto/cluster.js +3 -0
  1365. package/dist/shared/dto/cluster.js.map +1 -0
  1366. package/dist/shared/dto/files.d.ts +328 -0
  1367. package/dist/shared/dto/files.d.ts.map +1 -0
  1368. package/dist/shared/dto/files.js +2 -0
  1369. package/dist/shared/dto/files.js.map +1 -0
  1370. package/dist/shared/dto/health.d.ts +59 -0
  1371. package/dist/shared/dto/health.d.ts.map +1 -1
  1372. package/dist/shared/dto/installed-release.d.ts +40 -0
  1373. package/dist/shared/dto/installed-release.d.ts.map +1 -0
  1374. package/dist/shared/dto/installed-release.js +2 -0
  1375. package/dist/shared/dto/installed-release.js.map +1 -0
  1376. package/dist/shared/dto/kernel-catalog.d.ts +11 -0
  1377. package/dist/shared/dto/kernel-catalog.d.ts.map +1 -0
  1378. package/dist/shared/dto/kernel-catalog.js +2 -0
  1379. package/dist/shared/dto/kernel-catalog.js.map +1 -0
  1380. package/dist/shared/dto/logs.d.ts +21 -0
  1381. package/dist/shared/dto/logs.d.ts.map +1 -1
  1382. package/dist/shared/dto/metrics.d.ts +4 -64
  1383. package/dist/shared/dto/metrics.d.ts.map +1 -1
  1384. package/dist/shared/dto/metrics.js +0 -15
  1385. package/dist/shared/dto/metrics.js.map +1 -1
  1386. package/dist/shared/dto/nodes.d.ts +96 -22
  1387. package/dist/shared/dto/nodes.d.ts.map +1 -1
  1388. package/dist/shared/dto/pipelines.d.ts +22 -1
  1389. package/dist/shared/dto/pipelines.d.ts.map +1 -1
  1390. package/dist/shared/dto/project.d.ts +289 -30
  1391. package/dist/shared/dto/project.d.ts.map +1 -1
  1392. package/dist/shared/dto/releases.d.ts +59 -0
  1393. package/dist/shared/dto/releases.d.ts.map +1 -0
  1394. package/dist/shared/dto/releases.js +2 -0
  1395. package/dist/shared/dto/releases.js.map +1 -0
  1396. package/dist/shared/dto/services.d.ts +174 -37
  1397. package/dist/shared/dto/services.d.ts.map +1 -1
  1398. package/dist/shared/dto/services.js +15 -6
  1399. package/dist/shared/dto/services.js.map +1 -1
  1400. package/dist/shared/dto/stack-diagnosis.d.ts +20 -0
  1401. package/dist/shared/dto/stack-diagnosis.d.ts.map +1 -0
  1402. package/dist/shared/dto/stack-diagnosis.js +8 -0
  1403. package/dist/shared/dto/stack-diagnosis.js.map +1 -0
  1404. package/dist/shared/dto/stack-execution.d.ts +65 -0
  1405. package/dist/shared/dto/stack-execution.d.ts.map +1 -0
  1406. package/dist/shared/dto/stack-execution.js +33 -0
  1407. package/dist/shared/dto/stack-execution.js.map +1 -0
  1408. package/dist/shared/dto/system-info.d.ts +11 -0
  1409. package/dist/shared/dto/system-info.d.ts.map +1 -1
  1410. package/dist/shared/dto/system-info.js +7 -1
  1411. package/dist/shared/dto/system-info.js.map +1 -1
  1412. package/dist/shared/dto/terminal.d.ts +40 -0
  1413. package/dist/shared/dto/terminal.d.ts.map +1 -0
  1414. package/dist/shared/dto/terminal.js +2 -0
  1415. package/dist/shared/dto/terminal.js.map +1 -0
  1416. package/dist/shared/dto/topology.d.ts +96 -0
  1417. package/dist/shared/dto/topology.d.ts.map +1 -0
  1418. package/dist/shared/dto/topology.js +2 -0
  1419. package/dist/shared/dto/topology.js.map +1 -0
  1420. package/dist/shared/emergency-output.d.ts +3 -0
  1421. package/dist/shared/emergency-output.d.ts.map +1 -0
  1422. package/dist/shared/emergency-output.js +22 -0
  1423. package/dist/shared/emergency-output.js.map +1 -0
  1424. package/dist/shared/env-config.d.ts +2 -0
  1425. package/dist/shared/env-config.d.ts.map +1 -1
  1426. package/dist/shared/env-config.js +1 -0
  1427. package/dist/shared/env-config.js.map +1 -1
  1428. package/dist/shared/events.d.ts +2 -0
  1429. package/dist/shared/events.d.ts.map +1 -1
  1430. package/dist/shared/events.js.map +1 -1
  1431. package/dist/shared/execution-identity.d.ts +39 -0
  1432. package/dist/shared/execution-identity.d.ts.map +1 -0
  1433. package/dist/shared/execution-identity.js +160 -0
  1434. package/dist/shared/execution-identity.js.map +1 -0
  1435. package/dist/shared/file-policy.d.ts +5 -0
  1436. package/dist/shared/file-policy.d.ts.map +1 -0
  1437. package/dist/shared/file-policy.js +18 -0
  1438. package/dist/shared/file-policy.js.map +1 -0
  1439. package/dist/shared/framework-source.d.ts +11 -0
  1440. package/dist/shared/framework-source.d.ts.map +1 -0
  1441. package/dist/shared/framework-source.js +31 -0
  1442. package/dist/shared/framework-source.js.map +1 -0
  1443. package/dist/shared/fresh-module-reader.d.ts +40 -0
  1444. package/dist/shared/fresh-module-reader.d.ts.map +1 -0
  1445. package/dist/shared/fresh-module-reader.js +257 -0
  1446. package/dist/shared/fresh-module-reader.js.map +1 -0
  1447. package/dist/shared/host-boot-identity.d.ts +12 -0
  1448. package/dist/shared/host-boot-identity.d.ts.map +1 -0
  1449. package/dist/shared/host-boot-identity.js +89 -0
  1450. package/dist/shared/host-boot-identity.js.map +1 -0
  1451. package/dist/shared/kernel-file-lock.d.ts +3 -0
  1452. package/dist/shared/kernel-file-lock.d.ts.map +1 -0
  1453. package/dist/shared/kernel-file-lock.js +53 -0
  1454. package/dist/shared/kernel-file-lock.js.map +1 -0
  1455. package/dist/shared/linux-file-lock.d.ts +4 -0
  1456. package/dist/shared/linux-file-lock.d.ts.map +1 -0
  1457. package/dist/shared/linux-file-lock.js +36 -0
  1458. package/dist/shared/linux-file-lock.js.map +1 -0
  1459. package/dist/shared/log-ingestion-reading.d.ts +9 -0
  1460. package/dist/shared/log-ingestion-reading.d.ts.map +1 -0
  1461. package/dist/shared/log-ingestion-reading.js +32 -0
  1462. package/dist/shared/log-ingestion-reading.js.map +1 -0
  1463. package/dist/shared/log-levels.d.ts +19 -0
  1464. package/dist/shared/log-levels.d.ts.map +1 -0
  1465. package/dist/shared/log-levels.js +23 -0
  1466. package/dist/shared/log-levels.js.map +1 -0
  1467. package/dist/shared/metrics-storage-reading.d.ts +8 -0
  1468. package/dist/shared/metrics-storage-reading.d.ts.map +1 -0
  1469. package/dist/shared/metrics-storage-reading.js +27 -0
  1470. package/dist/shared/metrics-storage-reading.js.map +1 -0
  1471. package/dist/shared/pnpm.d.ts.map +1 -1
  1472. package/dist/shared/pnpm.js +7 -0
  1473. package/dist/shared/pnpm.js.map +1 -1
  1474. package/dist/shared/pool-scale.d.ts +10 -0
  1475. package/dist/shared/pool-scale.d.ts.map +1 -0
  1476. package/dist/shared/pool-scale.js +25 -0
  1477. package/dist/shared/pool-scale.js.map +1 -0
  1478. package/dist/shared/private-files.d.ts +10 -22
  1479. package/dist/shared/private-files.d.ts.map +1 -1
  1480. package/dist/shared/private-files.js +95 -82
  1481. package/dist/shared/private-files.js.map +1 -1
  1482. package/dist/shared/relay-reading.d.ts +19 -0
  1483. package/dist/shared/relay-reading.d.ts.map +1 -0
  1484. package/dist/shared/relay-reading.js +22 -0
  1485. package/dist/shared/relay-reading.js.map +1 -0
  1486. package/dist/shared/release-reading.d.ts +124 -32
  1487. package/dist/shared/release-reading.d.ts.map +1 -1
  1488. package/dist/shared/release-reading.js +208 -28
  1489. package/dist/shared/release-reading.js.map +1 -1
  1490. package/dist/shared/roles.d.ts +19 -18
  1491. package/dist/shared/roles.d.ts.map +1 -1
  1492. package/dist/shared/roles.js +21 -26
  1493. package/dist/shared/roles.js.map +1 -1
  1494. package/dist/shared/runtime-artifact.d.ts +20 -0
  1495. package/dist/shared/runtime-artifact.d.ts.map +1 -0
  1496. package/dist/shared/runtime-artifact.js +83 -0
  1497. package/dist/shared/runtime-artifact.js.map +1 -0
  1498. package/dist/shared/stack-reading.d.ts +18 -0
  1499. package/dist/shared/stack-reading.d.ts.map +1 -0
  1500. package/dist/shared/stack-reading.js +15 -0
  1501. package/dist/shared/stack-reading.js.map +1 -0
  1502. package/dist/shared/sync-reading.d.ts +30 -38
  1503. package/dist/shared/sync-reading.d.ts.map +1 -1
  1504. package/dist/shared/sync-reading.js +90 -29
  1505. package/dist/shared/sync-reading.js.map +1 -1
  1506. package/dist/shared/tokens.d.ts +3 -1
  1507. package/dist/shared/tokens.d.ts.map +1 -1
  1508. package/dist/shared/tokens.js +1 -0
  1509. package/dist/shared/tokens.js.map +1 -1
  1510. package/dist/supervisor/restart-policy.d.ts.map +1 -1
  1511. package/dist/supervisor/restart-policy.js +7 -5
  1512. package/dist/supervisor/restart-policy.js.map +1 -1
  1513. package/dist/webapp/console-container.d.ts +7 -0
  1514. package/dist/webapp/console-container.d.ts.map +1 -0
  1515. package/dist/webapp/console-container.js +23 -0
  1516. package/dist/webapp/console-container.js.map +1 -0
  1517. package/dist/webapp/webapp.service.d.ts.map +1 -1
  1518. package/dist/webapp/webapp.service.js +71 -24
  1519. package/dist/webapp/webapp.service.js.map +1 -1
  1520. package/dist/workers/health-monitor.service.d.ts.map +1 -1
  1521. package/dist/workers/health-monitor.service.js +8 -1
  1522. package/dist/workers/health-monitor.service.js.map +1 -1
  1523. package/dist/workers/types.d.ts +2 -0
  1524. package/dist/workers/types.d.ts.map +1 -1
  1525. package/package.json +109 -44
  1526. package/webapp/dist/BUILD.json +4 -3
  1527. package/webapp/dist/assets/access-48hkC2-P.js +1 -0
  1528. package/webapp/dist/assets/access-jWkHxGc7.js +1 -0
  1529. package/webapp/dist/assets/admin-data-table-BKSDI8sU.js +1 -0
  1530. package/webapp/dist/assets/alert-expression-CSblScoa.js +1 -0
  1531. package/webapp/dist/assets/alert-notify-settings-C_CHZrFm.js +1 -0
  1532. package/webapp/dist/assets/alert-uBG6r9NW.js +1 -0
  1533. package/webapp/dist/assets/alerts-CuPQ9YQJ.js +1 -0
  1534. package/webapp/dist/assets/app-address-BCXfN59F.js +1 -0
  1535. package/webapp/dist/assets/apps-Drio028B.js +1 -0
  1536. package/webapp/dist/assets/audit-npSFJECe.js +1 -0
  1537. package/webapp/dist/assets/auth-CcgjP7hR.js +1 -0
  1538. package/webapp/dist/assets/card-DkH32gMY.js +1 -0
  1539. package/webapp/dist/assets/chart-BpGXlCJc.js +2 -0
  1540. package/webapp/dist/assets/charts-BY7qI6s2.js +41 -0
  1541. package/webapp/dist/assets/charts-CpBdHU_A.js +56 -0
  1542. package/webapp/dist/assets/client-DFnuv2z3.js +3 -0
  1543. package/webapp/dist/assets/code-editor-DK6Tmmxv.js +4 -0
  1544. package/webapp/dist/assets/comparison-bars-BtC0dHjF.js +1 -0
  1545. package/webapp/dist/assets/confirm-dialog-BbGsAz7_.js +1 -0
  1546. package/webapp/dist/assets/console-keyboard-D3YCA0yU.js +1 -0
  1547. package/webapp/dist/assets/constants-CyhngVXh.js +1 -0
  1548. package/webapp/dist/assets/containers-Bl8gAyZX.js +3 -0
  1549. package/webapp/dist/assets/context-FIuwpd9_.js +1 -0
  1550. package/webapp/dist/assets/controls-C5W8gHU4.js +1 -0
  1551. package/webapp/dist/assets/daemon-memory-BiEtr9jr.js +1 -0
  1552. package/webapp/dist/assets/dashboard-UHlet3H9.js +1 -0
  1553. package/webapp/dist/assets/dashboard-builder-67PZFqhE.js +1 -0
  1554. package/webapp/dist/assets/dayjs.min-DHwAvH5f.js +1 -0
  1555. package/webapp/dist/assets/deploy-release-dialog-BOXcD5Wo.js +1 -0
  1556. package/webapp/dist/assets/deployments-qV20Ak0P.js +1 -0
  1557. package/webapp/dist/assets/detail-B4TiBfxU.js +8 -0
  1558. package/webapp/dist/assets/detail-B85-Wees.js +2 -0
  1559. package/webapp/dist/assets/detail-CYS81K6Y.js +1 -0
  1560. package/webapp/dist/assets/dist-BUDn8hLh.js +11 -0
  1561. package/webapp/dist/assets/dist-Ci5pYRbx.js +1 -0
  1562. package/webapp/dist/assets/dist-DQmjHv4-.js +1 -0
  1563. package/webapp/dist/assets/dist-De9Fty7a.js +1 -0
  1564. package/webapp/dist/assets/dist-DsGmKwmk.js +23 -0
  1565. package/webapp/dist/assets/empty-content-7jOFhG4C.js +1 -0
  1566. package/webapp/dist/assets/error-boundary-CLLI8PWw.js +3 -0
  1567. package/webapp/dist/assets/event-fields-CiyqrRO8.js +1 -0
  1568. package/webapp/dist/assets/files-DigwXndm.js +2 -0
  1569. package/webapp/dist/assets/formatters-RnRy4bXm.js +1 -0
  1570. package/webapp/dist/assets/icons-OboZgWSt.js +1 -0
  1571. package/webapp/dist/assets/index-uq8Dkk4c.js +1 -0
  1572. package/webapp/dist/assets/label-B1SF0RTL.js +1 -0
  1573. package/webapp/dist/assets/log-level-filter-Bcn31D1F.js +1 -0
  1574. package/webapp/dist/assets/log-location-DuBjh6HQ.js +1 -0
  1575. package/webapp/dist/assets/logs-BqHOufk8.js +4 -0
  1576. package/webapp/dist/assets/metric-chart-M-kI-XOt.js +1 -0
  1577. package/webapp/dist/assets/metric-series-WxePniyw.js +1 -0
  1578. package/webapp/dist/assets/metrics-QIQaF7iS.js +1 -0
  1579. package/webapp/dist/assets/model-ZEXEHm0l.js +2 -0
  1580. package/webapp/dist/assets/mui-6ssfcZcz.js +1 -0
  1581. package/webapp/dist/assets/mui-AnEgAVjz.js +52 -0
  1582. package/webapp/dist/assets/mui-B1jrje6Z.js +1 -0
  1583. package/webapp/dist/assets/mui-BIz4LSVs.js +1 -0
  1584. package/webapp/dist/assets/mui-BTN91yBK.js +28 -0
  1585. package/webapp/dist/assets/mui-BXSXx9c9.js +124 -0
  1586. package/webapp/dist/assets/mui-BwsIrivo.js +37 -0
  1587. package/webapp/dist/assets/mui-C_hromOc.js +1 -0
  1588. package/webapp/dist/assets/mui-Cd711nOk.js +4 -0
  1589. package/webapp/dist/assets/mui-CdB_p2lt.js +10 -0
  1590. package/webapp/dist/assets/mui-DyT2n1lx.js +1 -0
  1591. package/webapp/dist/assets/mui-agG5dued.js +1 -0
  1592. package/webapp/dist/assets/mui-y44PQOfG.js +1 -0
  1593. package/webapp/dist/assets/nodes-BJPk02vv.js +7 -0
  1594. package/webapp/dist/assets/omnitron-logo-koMCbsCv.js +1 -0
  1595. package/webapp/dist/assets/operation-status-Bm1x1wTz.js +1 -0
  1596. package/webapp/dist/assets/page-breadcrumbs-fR7Jmpp4.js +1 -0
  1597. package/webapp/dist/assets/pipelines-T6Ch9LTw.js +3 -0
  1598. package/webapp/dist/assets/popper-m_9b0JRf.js +1 -0
  1599. package/webapp/dist/assets/preload-helper-DzCYNvzR.js +1 -0
  1600. package/webapp/dist/assets/project.store--G5pIF-J.js +1 -0
  1601. package/webapp/dist/assets/projects-YoBzcQ24.js +1 -0
  1602. package/webapp/dist/assets/react-BN8qLIAi.js +9 -0
  1603. package/webapp/dist/assets/react-CEuifcaQ.js +1 -0
  1604. package/webapp/dist/assets/react-apexcharts.esm-DoOt-pu4.js +1 -0
  1605. package/webapp/dist/assets/realtime.store-CBDO4Abj.js +1 -0
  1606. package/webapp/dist/assets/release-bits-B2a_wbft.js +1 -0
  1607. package/webapp/dist/assets/release-build-panel-BQmIdKW9.js +1 -0
  1608. package/webapp/dist/assets/release-deployment-state-DRrEI2pP.js +1 -0
  1609. package/webapp/dist/assets/release-wire-f2VuBoBF.js +1 -0
  1610. package/webapp/dist/assets/releases-Bp3CDgmo.js +2 -0
  1611. package/webapp/dist/assets/rolldown-runtime-CNOWq4Kh.js +1 -0
  1612. package/webapp/dist/assets/search-input-C0MHI8vO.js +1 -0
  1613. package/webapp/dist/assets/services-BddvcFi8.js +1 -0
  1614. package/webapp/dist/assets/settings-B3egRvbI.js +1 -0
  1615. package/webapp/dist/assets/settled-pair-B-wgSZl6.js +1 -0
  1616. package/webapp/dist/assets/shared-styles-C0vN3I7_.js +1 -0
  1617. package/webapp/dist/assets/shell-command-C3pXf1vi.js +1 -0
  1618. package/webapp/dist/assets/sign-in-9q-Nfy83.js +1 -0
  1619. package/webapp/dist/assets/skeleton-BmWDJWF9.js +1 -0
  1620. package/webapp/dist/assets/snackbar-DSPmjMyi.js +1 -0
  1621. package/webapp/dist/assets/stack-health-status-BIv2C10x.js +1 -0
  1622. package/webapp/dist/assets/stack-start-notice-BVnMOwRQ.js +1 -0
  1623. package/webapp/dist/assets/stacks-IZ1mfizi.js +1 -0
  1624. package/webapp/dist/assets/storage-CKXnhqkt.js +1 -0
  1625. package/webapp/dist/assets/store-bqUBn2A4.js +1 -0
  1626. package/webapp/dist/assets/sync-reading-CN0jPKAg.js +1 -0
  1627. package/webapp/dist/assets/system-info-BFKNM-hf.js +1 -0
  1628. package/webapp/dist/assets/table-BOWT6Y9d.js +1 -0
  1629. package/webapp/dist/assets/table-viewport-Bp4pq-c_.js +1 -0
  1630. package/webapp/dist/assets/tabs-k5NPGLnJ.js +1 -0
  1631. package/webapp/dist/assets/terminal-BrP-ENHg.css +1 -0
  1632. package/webapp/dist/assets/terminal-QWBau-Us.js +62 -0
  1633. package/webapp/dist/assets/terminal-input-b7f2VoE_.js +2 -0
  1634. package/webapp/dist/assets/topology-CPey5dP6.js +8 -0
  1635. package/webapp/dist/assets/topology-metadata-dialog-BivuU2y6.js +2 -0
  1636. package/webapp/dist/assets/topology-routes.worker-BoYrIzAH.js +1 -0
  1637. package/webapp/dist/assets/traces-By0rdfDC.js +1 -0
  1638. package/webapp/dist/assets/use-copy-to-clipboard-BWYpToS3.js +1 -0
  1639. package/webapp/dist/assets/use-polled-resource-B22hhr5L.js +1 -0
  1640. package/webapp/dist/assets/use-stack-context-UkBsF-l7.js +1 -0
  1641. package/webapp/dist/assets/webapp-BnxOVfrc.css +1 -0
  1642. package/webapp/dist/assets/webapp-D-UhjFhS.js +35 -0
  1643. package/webapp/dist/console-version.json +1 -0
  1644. package/webapp/dist/index.html +54 -7
  1645. package/dist/release/daemon-omni.d.ts +0 -41
  1646. package/dist/release/daemon-omni.d.ts.map +0 -1
  1647. package/dist/release/daemon-omni.js +0 -59
  1648. package/dist/release/daemon-omni.js.map +0 -1
  1649. package/dist/services/netron-telemetry-transport.d.ts +0 -42
  1650. package/dist/services/netron-telemetry-transport.d.ts.map +0 -1
  1651. package/dist/services/netron-telemetry-transport.js +0 -93
  1652. package/dist/services/netron-telemetry-transport.js.map +0 -1
  1653. package/webapp/dist/assets/FormControlLabel-BbSxpQwN.js +0 -1
  1654. package/webapp/dist/assets/Grid-DizFZYue.js +0 -1
  1655. package/webapp/dist/assets/Switch-Bfiqzx8l.js +0 -1
  1656. package/webapp/dist/assets/alerts-DH_RVRS3.js +0 -1
  1657. package/webapp/dist/assets/apps-B96355sz.js +0 -1
  1658. package/webapp/dist/assets/audit-CYGtbi4k.js +0 -1
  1659. package/webapp/dist/assets/client-BmqFExWT.js +0 -1
  1660. package/webapp/dist/assets/constants-veKGFkC6.js +0 -1
  1661. package/webapp/dist/assets/containers-B_TpThln.js +0 -2
  1662. package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +0 -1
  1663. package/webapp/dist/assets/dashboard-DHf2_65N.js +0 -1
  1664. package/webapp/dist/assets/dashboard-builder-CWY2pjeG.js +0 -1
  1665. package/webapp/dist/assets/deploy-release-dialog-Dp-zpSAd.js +0 -1
  1666. package/webapp/dist/assets/deployments-tJI6O3fK.js +0 -1
  1667. package/webapp/dist/assets/detail-B2zP1Hto.js +0 -8
  1668. package/webapp/dist/assets/detail-CoIrwmsy.js +0 -1
  1669. package/webapp/dist/assets/detail-DWaGaOtL.js +0 -2
  1670. package/webapp/dist/assets/formatters-BqjL73N3.js +0 -1
  1671. package/webapp/dist/assets/fs-Ccl3sAcp.js +0 -1
  1672. package/webapp/dist/assets/index-Dvo0iprx.css +0 -1
  1673. package/webapp/dist/assets/index-vMnY_4jR.js +0 -412
  1674. package/webapp/dist/assets/logs-DTRjOfX8.js +0 -12
  1675. package/webapp/dist/assets/maplibre-gl-DowHoZAx.js +0 -814
  1676. package/webapp/dist/assets/metrics-UCajtdox.js +0 -2
  1677. package/webapp/dist/assets/nodes-DuTVU0f6.js +0 -7
  1678. package/webapp/dist/assets/pipelines-C8BeDcAl.js +0 -4
  1679. package/webapp/dist/assets/projects-Dp_zFfLY.js +0 -1
  1680. package/webapp/dist/assets/react-DlmbjZJV.js +0 -1
  1681. package/webapp/dist/assets/react-apexcharts.esm-C8pn45ml.js +0 -97
  1682. package/webapp/dist/assets/release-bits-BzTKz5fM.js +0 -1
  1683. package/webapp/dist/assets/release-build-panel-DcW9YcXQ.js +0 -1
  1684. package/webapp/dist/assets/releases-B4hcr1bE.js +0 -2
  1685. package/webapp/dist/assets/rolldown-runtime-XKyaHtl9.js +0 -1
  1686. package/webapp/dist/assets/settings-DIteZTbe.js +0 -1
  1687. package/webapp/dist/assets/settled-pair-C7SjZuns.js +0 -1
  1688. package/webapp/dist/assets/sign-in-D4kMBOHp.js +0 -1
  1689. package/webapp/dist/assets/stacks-Brnf-EB7.js +0 -1
  1690. package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +0 -1
  1691. package/webapp/dist/assets/system-info-CFDNVKkU.js +0 -1
  1692. package/webapp/dist/assets/topology-7WeTUsDN.js +0 -12
  1693. package/webapp/dist/assets/traces-9c3gwCN-.js +0 -1
  1694. package/webapp/dist/assets/use-stack-context-CnA5FTHu.js +0 -1
@@ -0,0 +1,4 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/dist-DQmjHv4-.js","assets/rolldown-runtime-CNOWq4Kh.js","assets/dist-BUDn8hLh.js","assets/dist-Ci5pYRbx.js","assets/dist-DsGmKwmk.js","assets/dist-De9Fty7a.js"])))=>i.map(i=>d[i]);
2
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{Yt as r,qt as i}from"./mui-BTN91yBK.js";import{_n as a,a as o,gn as s,o as c}from"./mui-CdB_p2lt.js";import{H as l,V as u}from"./mui-BXSXx9c9.js";import{n as d,r as f}from"./context-FIuwpd9_.js";import{a as p,s as ee}from"./model-ZEXEHm0l.js";import{n as m,t as te}from"./preload-helper-DzCYNvzR.js";import{$ as ne,At as h,B as g,Dt as re,E as ie,Et as ae,G as _,H as oe,J as se,K as ce,L as le,Mt as v,Nt as ue,O as y,Ot as de,Pt as fe,Q as pe,R as b,S as x,St as me,T as he,Tt as ge,U as _e,V as ve,W as ye,X as be,Z as xe,_t as S,a as Se,at as Ce,b as we,bt as Te,d as Ee,dt as De,et as Oe,ft as ke,g as Ae,gt as C,h as je,ht as Me,it as Ne,j as Pe,jt as Fe,kt as Ie,lt as w,mt as T,n as Le,nt as Re,ot as ze,p as Be,pt as Ve,q as He,s as Ue,st as We,t as Ge,tt as Ke,ut as qe,v as Je,vt as Ye,w as Xe,wt as E,x as Ze,y as Qe,z as $e}from"./dist-BUDn8hLh.js";import{a as et,n as tt,r as nt,s as rt,t as it}from"./dist-De9Fty7a.js";function at(e,t){return({state:n,dispatch:r})=>{if(n.readOnly)return!1;let i=e(t,n);return i?(r(n.update(i)),!0):!1}}function ot(e,t){let n=e.languageDataAt(`commentTokens`,t,1);return n.length?n[0]:{}}function st(e,{open:t,close:n},r,i){let a=e.sliceDoc(r-Kt,r),o=e.sliceDoc(i,i+Kt),s=/\s*$/.exec(a)[0].length,c=/^\s*/.exec(o)[0].length,l=a.length-s;if(a.slice(l-t.length,l)==t&&o.slice(c,c+n.length)==n)return{open:{pos:r-s,margin:s&&1},close:{pos:i+c,margin:c&&1}};let u,d;i-r<=100?u=d=e.sliceDoc(r,i):(u=e.sliceDoc(r,r+Kt),d=e.sliceDoc(i-Kt,i));let f=/^\s*/.exec(u)[0].length,p=/\s*$/.exec(d)[0].length,ee=d.length-p-n.length;return u.slice(f,f+t.length)==t&&d.slice(ee,ee+n.length)==n?{open:{pos:r+f+t.length,margin:+!!/\s/.test(u.charAt(f+t.length))},close:{pos:i-p-n.length,margin:+!!/\s/.test(d.charAt(ee-1))}}:null}function ct(e){let t=[];for(let n of e.selection.ranges){let r=e.doc.lineAt(n.from),i=n.to<=r.to?r:e.doc.lineAt(n.to);i.from>r.from&&i.from==n.to&&(i=n.to==r.to+1?r:e.doc.lineAt(n.to-1));let a=t.length-1;a>=0&&t[a].to>r.from?t[a].to=i.to:t.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:i.to})}return t}function lt(e,t,n=t.selection.ranges){let r=n.map(e=>ot(t,e.from).block);if(!r.every(e=>e))return null;let i=n.map((e,n)=>st(t,r[n],e.from,e.to));if(e!=2&&!i.every(e=>e))return{changes:t.changes(n.map((e,t)=>i[t]?[]:[{from:e.from,insert:r[t].open+` `},{from:e.to,insert:` `+r[t].close}]))};if(e!=1&&i.some(e=>e)){let e=[];for(let t=0,n;t<i.length;t++)if(n=i[t]){let i=r[t],{open:a,close:o}=n;e.push({from:a.pos-i.open.length,to:a.pos+a.margin},{from:o.pos-o.margin,to:o.pos+i.close.length})}return{changes:e}}return null}function ut(e,t,n=t.selection.ranges){let r=[],i=-1;ranges:for(let{from:e,to:a}of n){let n=r.length,o=1e9,s;for(let n=e;n<=a;){let c=t.doc.lineAt(n);if(s==null&&(s=ot(t,c.from).line,!s))continue ranges;if(c.from>i&&(e==a||a>c.from)){i=c.from;let e=/^\s*/.exec(c.text)[0].length,t=e==c.length,n=c.text.slice(e,e+s.length)==s?e:-1;e<c.text.length&&e<o&&(o=e),r.push({line:c,comment:n,token:s,indent:e,empty:t,single:!1})}n=c.to+1}if(o<1e9)for(let e=n;e<r.length;e++)r[e].indent<r[e].line.text.length&&(r[e].indent=o);r.length==n+1&&(r[n].single=!0)}if(e!=2&&r.some(e=>e.comment<0&&(!e.empty||e.single))){let e=[];for(let{line:t,token:n,indent:i,empty:a,single:o}of r)(o||!a)&&e.push({from:t.from+i,insert:n+` `});let n=t.changes(e);return{changes:n,selection:t.selection.map(n,1)}}if(e!=1&&r.some(e=>e.comment>=0)){let e=[];for(let{line:t,comment:n,token:i}of r)if(n>=0){let r=t.from+n,a=r+i.length;t.text[a-t.from]==` `&&a++,e.push({from:r,to:a})}return{changes:e}}return null}function dt(e={}){return[Zt,Xt.of(e),g.domEventHandlers({beforeinput(e,t){let n=e.inputType==`historyUndo`?Qt:e.inputType==`historyRedo`?$t:null;return n?(e.preventDefault(),n(t)):!1}})]}function ft(e,t){return function({state:n,dispatch:r}){if(!t&&n.readOnly)return!1;let i=n.field(Zt,!1);if(!i)return!1;let a=i.pop(e,n,t);return a?(r(a),!0):!1}}function pt(e,t,n,r){let i=t+1>n+20?t-n-1:0,a=e.slice(i,t);return a.push(r),a}function mt(e,t){let n=[],r=!1;return e.iterChangedRanges((e,t)=>n.push(e,t)),t.iterChangedRanges((e,t,i,a)=>{for(let e=0;e<n.length;){let t=n[e++],o=n[e++];a>=t&&i<=o&&(r=!0)}}),r}function ht(e,t){return e.ranges.length==t.ranges.length&&e.ranges.filter((e,n)=>e.empty!=t.ranges[n].empty).length===0}function gt(e,t){return e.length?t.length?e.concat(t):e:t}function _t(e,t){if(e.length){let n=e[e.length-1],r=n.selectionsAfter.slice(Math.max(0,n.selectionsAfter.length-nn));return r.length&&r[r.length-1].eq(t)?e:(r.push(t),pt(e,e.length-1,1e9,n.setSelAfter(r)))}return[P.selection([t])]}function vt(e){let t=e[e.length-1],n=e.slice();return n[e.length-1]=t.setSelAfter(t.selectionsAfter.slice(0,t.selectionsAfter.length-1)),n}function yt(e,t){if(!e.length)return e;let n=e.length,r=F;for(;n;){let i=bt(e[n-1],t,r);if(i.changes&&!i.changes.empty||i.effects.length){let t=e.slice(0,n);return t[n-1]=i,t}t=i.mapped,n--,r=i.selectionsAfter}return r.length?[P.selection(r)]:F}function bt(e,t,n){let r=gt(e.selectionsAfter.length?e.selectionsAfter.map(e=>e.map(t)):F,n);if(!e.changes)return P.selection(r);let i=e.changes.map(t),a=t.mapDesc(e.changes,!0),o=e.mapped?e.mapped.composeDesc(a):a;return new P(i,E.mapEffects(e.effects,t),o,e.startSelection.map(a),r)}function D(e,t){return C.create(e.ranges.map(t),e.mainIndex)}function O(e,t){return e.update({selection:t,scrollIntoView:!0,userEvent:`select`})}function k({state:e,dispatch:t},n){let r=D(e.selection,n);return!r.eq(e.selection,!0)&&(t(O(e,r)),!0)}function xt(e,t){return C.cursor(t?e.to:e.from)}function St(e,t){return k(e,n=>n.empty?e.moveByChar(n,t):xt(n,t))}function A(e){return e.textDirectionAt(e.state.selection.main.head)==$e.LTR}function Ct(e,t){return k(e,n=>n.empty?e.moveByGroup(n,t):xt(n,t))}function wt(e,t,n){if(t.type.prop(n))return!0;let r=t.to-t.from;return r&&(r>2||/[^\s,.;:]/.test(e.sliceDoc(t.from,t.to)))||t.firstChild}function Tt(e,t,n){let r=he(e).resolveInner(t.head),i=n?Pe.closedBy:Pe.openedBy;for(let a=t.head;;){let t=n?r.childAfter(a):r.childBefore(a);if(!t)break;wt(e,t,i)?r=t:a=n?t.to:t.from}let a=r.type.prop(i),o,s;return s=a&&(o=n?x(e,r.from,1):x(e,r.to,-1))&&o.matched?n?o.end.to:o.end.from:n?r.to:r.from,C.cursor(s,n?-1:1)}function Et(e,t){return k(e,n=>{if(!n.empty)return xt(n,t);let r=e.moveVertically(n,t);return r.head==n.head?e.moveToLineBoundary(n,t):r})}function Dt(e){let t=e.scrollDOM.clientHeight<e.scrollDOM.scrollHeight-2,n=0,r=0,i;if(t){for(let t of e.state.facet(g.scrollMargins)){let i=t(e);i?.top&&(n=Math.max(i?.top,n)),i?.bottom&&(r=Math.max(i?.bottom,r))}i=e.scrollDOM.clientHeight-n-r}else i=(e.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:n,marginBottom:r,selfScroll:t,height:Math.max(e.defaultLineHeight,i-5)}}function Ot(e,t){let n=Dt(e),{state:r}=e,i=D(r.selection,r=>r.empty?e.moveVertically(r,t,n.height):xt(r,t));if(i.eq(r.selection))return!1;let a;if(n.selfScroll){let t=e.coordsAtPos(r.selection.main.head),o=e.scrollDOM.getBoundingClientRect(),s=o.top+n.marginTop,c=o.bottom-n.marginBottom;t&&t.top>s&&t.bottom<c&&(a=g.scrollIntoView(i.main.head,{y:`start`,yMargin:t.top-s}))}return e.dispatch(O(r,i),{effects:a}),!0}function j(e,t,n){let r=e.lineBlockAt(t.head),i=e.moveToLineBoundary(t,n);if(i.head==t.head&&i.head!=(n?r.to:r.from)&&(i=e.moveToLineBoundary(t,n,!1)),!n&&i.head==r.from&&r.length){let n=/^\s*/.exec(e.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&t.head!=r.from+n&&(i=C.cursor(r.from+n))}return i}function kt(e,t,n){let r=!1,i=D(e.selection,t=>{let i=x(e,t.head,-1)||x(e,t.head,1)||t.head>0&&x(e,t.head-1,1)||t.head<e.doc.length&&x(e,t.head+1,-1);if(!i||!i.end)return t;r=!0;let a=i.start.from==t.head?i.end.to:i.end.from;return n?C.range(t.anchor,a):C.cursor(a)});return r?(t(O(e,i)),!0):!1}function M(e,t,n){let r=D(e.state.selection,e=>{e.undirectional&&e.head>=e.anchor!=t&&(e=C.range(e.head,e.anchor));let r=n(e);return C.range(e.anchor,r.head,r.goalColumn,r.bidiLevel||void 0,r.assoc)});return!r.eq(e.state.selection)&&(e.dispatch(O(e.state,r)),!0)}function At(e,t){return M(e,t,n=>e.moveByChar(n,t))}function jt(e,t){return M(e,t,n=>e.moveByGroup(n,t))}function Mt(e,t){return M(e,t,n=>e.moveVertically(n,t))}function Nt(e,t){return M(e,t,n=>e.moveVertically(n,t,Dt(e).height))}function Pt(e,t){let{state:n}=e,r=n.selection,i=n.selection.ranges.slice();for(let r of n.selection.ranges){let a=n.doc.lineAt(r.head);if(t?a.to<e.state.doc.length:a.from>0)for(let n=r;;){let r=e.moveVertically(n,t);if(r.head<a.from||r.head>a.to){i.some(e=>e.head==r.head)||i.push(r);break}if(r.head==n.head)break;n=r}}return i.length!=r.ranges.length&&(e.dispatch(O(n,C.create(i,i.length-1))),!0)}function N(e,t){if(e.state.readOnly)return!1;let n=`delete.selection`,{state:r}=e,i=r.changeByRange(r=>{let{from:i,to:a}=r;if(i==a){let o=t(r);o<i?(n=`delete.backward`,o=Ft(e,o,!1)):o>i&&(n=`delete.forward`,o=Ft(e,o,!0)),i=Math.min(i,o),a=Math.max(a,o)}else i=Ft(e,i,!1),a=Ft(e,a,!0);return i==a?{range:r}:{changes:{from:i,to:a},range:C.cursor(i,i<r.head?-1:1)}});return!i.changes.empty&&(e.dispatch(r.update(i,{scrollIntoView:!0,userEvent:n,effects:n==`delete.selection`?g.announce.of(r.phrase(`Selection deleted`)):void 0})),!0)}function Ft(e,t,n){if(e instanceof g)for(let r of e.state.facet(g.atomicRanges).map(t=>t(e)))r.between(t,t,(e,r)=>{e<t&&r>t&&(t=n?r:e)});return t}function It(e){let t=[],n=-1;for(let r of e.selection.ranges){let i=e.doc.lineAt(r.from),a=e.doc.lineAt(r.to);if(!r.empty&&r.to==a.from&&(a=e.doc.lineAt(r.to-1)),n>=i.number){let e=t[t.length-1];e.to=a.to,e.ranges.push(r)}else t.push({from:i.from,to:a.to,ranges:[r]});n=a.number+1}return t}function Lt(e,t,n){if(e.readOnly)return!1;let r=[],i=[];for(let t of It(e)){if(n?t.to==e.doc.length:t.from==0)continue;let a=e.doc.lineAt(n?t.to+1:t.from-1),o=a.length+1;if(n){r.push({from:t.to,to:a.to},{from:t.from,insert:a.text+e.lineBreak});for(let n of t.ranges)i.push(C.range(Math.min(e.doc.length,n.anchor+o),Math.min(e.doc.length,n.head+o)))}else{r.push({from:a.from,to:t.from},{from:t.to,insert:e.lineBreak+a.text});for(let e of t.ranges)i.push(C.range(e.anchor-o,e.head-o))}}return r.length?(t(e.update({changes:r,scrollIntoView:!0,selection:C.create(i,e.selection.mainIndex),userEvent:`move.line`})),!0):!1}function Rt(e,t,n){if(e.readOnly)return!1;let r=[];for(let t of It(e))n?r.push({from:t.from,insert:e.doc.slice(t.from,t.to)+e.lineBreak}):r.push({from:t.to,insert:e.lineBreak+e.doc.slice(t.from,t.to)});let i=e.changes(r);return t(e.update({changes:i,selection:e.selection.map(i,n?1:-1),scrollIntoView:!0,userEvent:`input.copyline`})),!0}function zt(e,t){if(/\(\)|\[\]|\{\}/.test(e.sliceDoc(t-1,t+1)))return{from:t,to:t};let n=he(e).resolveInner(t),r=n.childBefore(t),i=n.childAfter(t),a;return r&&i&&r.to<=t&&i.from>=t&&(a=r.type.prop(Pe.closedBy))&&a.indexOf(i.name)>-1&&e.doc.lineAt(r.to).from==e.doc.lineAt(i.from).from&&!/\S/.test(e.sliceDoc(r.to,i.from))?{from:r.to,to:i.from}:null}function Bt(e){return({state:t,dispatch:n})=>{if(t.readOnly)return!1;let r=t.changeByRange(n=>{let{from:r,to:i}=n,a=t.doc.lineAt(r),o=!e&&r==i&&zt(t,r);e&&(r=i=(i<=a.to?a:t.doc.lineAt(i)).to);let s=new Le(t,{simulateBreak:r,simulateDoubleBreak:!!o}),c=Ae(s,r);for(c??=Fe(/^\s*/.exec(t.doc.lineAt(r).text)[0],t.tabSize);i<a.to&&/\s/.test(a.text[i-a.from]);)i++;o?{from:r,to:i}=o:r>a.from&&r<a.from+100&&!/\S/.test(a.text.slice(0,r))&&(r=a.from);let l=[``,Qe(t,c)];return o&&l.push(Qe(t,s.lineIndent(a.from,-1))),{changes:{from:r,to:i,insert:ae.of(l)},range:C.cursor(r+1+l[1].length)}});return n(t.update(r,{scrollIntoView:!0,userEvent:`input`})),!0}}function Vt(e,t){let n=-1;return e.changeByRange(r=>{let i=[];for(let a=r.from;a<=r.to;){let o=e.doc.lineAt(a);o.number>n&&(r.empty||r.to>o.from)&&(t(o,i,r),n=o.number),a=o.to+1}let a=e.changes(i);return{changes:i,range:C.range(a.mapPos(r.anchor,1),a.mapPos(r.head,1))}})}var Ht,Ut,Wt,Gt,Kt,qt,Jt,Yt,Xt,Zt,Qt,$t,en,tn,P,F,nn,rn,I,an,on,sn,cn,ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,Sn,Cn,wn,Tn,En,Dn,On,kn,An,jn,Mn,Nn,Pn,Fn,In,Ln,Rn,zn,Bn,Vn,Hn,Un,Wn,Gn,Kn,qn,Jn,Yn,Xn,Zn,Qn,$n,er,tr,nr,rr,ir,ar,or,sr,cr,lr,ur,dr,fr,pr,mr,hr,gr,_r,vr,yr,br;function xr(){return(xr=e((()=>{fe(),Oe(),Ze(),le(),Ht=e=>{let{state:t}=e,n=t.doc.lineAt(t.selection.main.from),r=ot(e.state,n.from);return r.line?Ut(e):r.block?Gt(e):!1},Ut=at(ut,0),Wt=at(lt,0),Gt=at((e,t)=>lt(e,t,ct(t)),0),Kt=50,qt=De.define(),Jt=De.define(),Yt=Ye.define(),Xt=Ye.define({combine(e){return h(e,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(n,r)=>e(n,r)||t(n,r)})}}),Zt=ge.define({create(){return I.empty},update(e,t){let n=t.state.facet(Xt),r=t.annotation(qt);if(r){let i=P.fromTransaction(t,r.selection),a=r.side,o=a==0?e.undone:e.done;return o=i?pt(o,o.length,n.minDepth,i):_t(o,t.startState.selection),new I(a==0?r.rest:o,a==0?o:r.rest)}let i=t.annotation(Jt);if((i==`full`||i==`before`)&&(e=e.isolate()),t.annotation(re.addToHistory)===!1)return t.changes.empty?e:e.addMapping(t.changes.desc);let a=P.fromTransaction(t),o=t.annotation(re.time),s=t.annotation(re.userEvent);return a?e=e.addChanges(a,o,s,n,t):t.selection&&(e=e.addSelection(t.startState.selection,o,s,n.newGroupDelay)),(i==`full`||i==`after`)&&(e=e.isolate()),e},toJSON(e){return{done:e.done.map(e=>e.toJSON()),undone:e.undone.map(e=>e.toJSON())}},fromJSON(e){return new I(e.done.map(P.fromJSON),e.undone.map(P.fromJSON))}}),Qt=ft(0,!1),$t=ft(1,!1),en=ft(0,!0),tn=ft(1,!0),P=class e{constructor(e,t,n,r,i){this.changes=e,this.effects=t,this.mapped=n,this.startSelection=r,this.selectionsAfter=i}setSelAfter(t){return new e(this.changes,this.effects,this.mapped,this.startSelection,t)}toJSON(){return{changes:this.changes?.toJSON(),mapped:this.mapped?.toJSON(),startSelection:this.startSelection?.toJSON(),selectionsAfter:this.selectionsAfter.map(e=>e.toJSON())}}static fromJSON(t){return new e(t.changes&&Ve.fromJSON(t.changes),[],t.mapped&&ke.fromJSON(t.mapped),t.startSelection&&C.fromJSON(t.startSelection),t.selectionsAfter.map(C.fromJSON))}static fromTransaction(t,n){let r=F;for(let e of t.startState.facet(Yt)){let n=e(t);n.length&&(r=r.concat(n))}return!r.length&&t.changes.empty?null:new e(t.changes.invert(t.startState.doc),r,void 0,n||t.startState.selection,F)}static selection(t){return new e(void 0,F,void 0,void 0,t)}},F=[],nn=200,rn=/^(input\.type|delete)($|\.)/,I=class e{constructor(e,t,n=0,r=void 0){this.done=e,this.undone=t,this.prevTime=n,this.prevUserEvent=r}isolate(){return this.prevTime?new e(this.done,this.undone):this}addChanges(t,n,r,i,a){let o=this.done,s=o[o.length-1];return o=s&&s.changes&&!s.changes.empty&&t.changes&&(!r||rn.test(r))&&(!s.selectionsAfter.length&&n-this.prevTime<i.newGroupDelay&&i.joinToEvent(a,mt(s.changes,t.changes))||r==`input.type.compose`)?pt(o,o.length-1,i.minDepth,new P(t.changes.compose(s.changes),gt(E.mapEffects(t.effects,s.changes),s.effects),s.mapped,s.startSelection,F)):pt(o,o.length,i.minDepth,t),new e(o,F,n,r)}addSelection(t,n,r,i){let a=this.done.length?this.done[this.done.length-1].selectionsAfter:F;return a.length>0&&n-this.prevTime<i&&r==this.prevUserEvent&&r&&/^select($|\.)/.test(r)&&ht(a[a.length-1],t)?this:new e(_t(this.done,t),this.undone,n,r)}addMapping(t){return new e(yt(this.done,t),yt(this.undone,t),this.prevTime,this.prevUserEvent)}pop(e,t,n){let r=e==0?this.done:this.undone;if(r.length==0)return null;let i=r[r.length-1],a=i.selectionsAfter[0]||(i.startSelection?i.startSelection.map(i.changes.invertedDesc,1):t.selection);if(n&&i.selectionsAfter.length)return t.update({selection:i.selectionsAfter[i.selectionsAfter.length-1],annotations:qt.of({side:e,rest:vt(r),selection:a}),userEvent:e==0?`select.undo`:`select.redo`,scrollIntoView:!0});if(i.changes){let n=r.length==1?F:r.slice(0,r.length-1);return i.mapped&&(n=yt(n,i.mapped)),t.update({changes:i.changes,selection:i.startSelection,effects:i.effects,annotations:qt.of({side:e,rest:n,selection:a}),filter:!1,userEvent:e==0?`undo`:`redo`,scrollIntoView:!0})}return null}},I.empty=new I(F,F),an=[{key:`Mod-z`,run:Qt,preventDefault:!0},{key:`Mod-y`,mac:`Mod-Shift-z`,run:$t,preventDefault:!0},{linux:`Ctrl-Shift-z`,run:$t,preventDefault:!0},{key:`Mod-u`,run:en,preventDefault:!0},{key:`Alt-u`,mac:`Mod-Shift-u`,run:tn,preventDefault:!0}],on=e=>St(e,!A(e)),sn=e=>St(e,A(e)),cn=e=>Ct(e,!A(e)),ln=e=>Ct(e,A(e)),typeof Intl<`u`&&Intl.Segmenter,un=e=>k(e,t=>Tt(e.state,t,!A(e))),dn=e=>k(e,t=>Tt(e.state,t,A(e))),fn=e=>Et(e,!1),pn=e=>Et(e,!0),mn=e=>Ot(e,!1),hn=e=>Ot(e,!0),gn=e=>k(e,t=>j(e,t,!0)),_n=e=>k(e,t=>j(e,t,!1)),vn=e=>k(e,t=>j(e,t,!A(e))),yn=e=>k(e,t=>j(e,t,A(e))),bn=e=>k(e,t=>e.moveToLineBoundary(t,!1,!1)),xn=e=>k(e,t=>e.moveToLineBoundary(t,!0,!1)),Sn=({state:e,dispatch:t})=>kt(e,t,!1),Cn=e=>At(e,!A(e)),wn=e=>At(e,A(e)),Tn=e=>jt(e,!A(e)),En=e=>jt(e,A(e)),Dn=e=>{let t=!A(e);return M(e,t,n=>Tt(e.state,n,t))},On=e=>{let t=A(e);return M(e,t,n=>Tt(e.state,n,t))},kn=e=>Mt(e,!1),An=e=>Mt(e,!0),jn=e=>Nt(e,!1),Mn=e=>Nt(e,!0),Nn=e=>M(e,!0,t=>j(e,t,!0)),Pn=e=>M(e,!1,t=>j(e,t,!1)),Fn=e=>{let t=!A(e);return M(e,t,n=>j(e,n,t))},In=e=>{let t=A(e);return M(e,t,n=>j(e,n,t))},Ln=e=>M(e,!1,t=>C.cursor(e.lineBlockAt(t.head).from)),Rn=e=>M(e,!0,t=>C.cursor(e.lineBlockAt(t.head).to)),zn=({state:e,dispatch:t})=>(t(O(e,{anchor:0})),!0),Bn=({state:e,dispatch:t})=>(t(O(e,{anchor:e.doc.length})),!0),Vn=({state:e,dispatch:t})=>(t(O(e,{anchor:e.selection.main.anchor,head:0})),!0),Hn=({state:e,dispatch:t})=>(t(O(e,{anchor:e.selection.main.anchor,head:e.doc.length})),!0),Un=({state:e,dispatch:t})=>(t(e.update({selection:{anchor:0,head:e.doc.length},userEvent:`select`})),!0),Wn=({state:e,dispatch:t})=>{let n=It(e).map(({from:t,to:n})=>C.undirectionalRange(t,Math.min(n+1,e.doc.length)));return t(e.update({selection:C.create(n),userEvent:`select`})),!0},Gn=({state:e,dispatch:t})=>{let n=D(e.selection,t=>{let n=he(e),r=n.resolveStack(t.from,1);if(t.empty){let e=n.resolveStack(t.from,-1);e.node.from>=r.node.from&&e.node.to<=r.node.to&&(r=e)}for(let e=r;e;e=e.next){let{node:n}=e;if((n.from<t.from&&n.to>=t.to||n.to>t.to&&n.from<=t.from)&&e.next)return C.undirectionalRange(n.from,n.to)}return t});return!n.eq(e.selection)&&(t(O(e,n)),!0)},Kn=e=>Pt(e,!1),qn=e=>Pt(e,!0),Jn=({state:e,dispatch:t})=>{let n=e.selection,r=null;return n.ranges.length>1?r=C.create([n.main]):n.main.empty||(r=C.create([C.cursor(n.main.head)])),r?(t(O(e,r)),!0):!1},Yn=(e,t,n)=>N(e,r=>{let i=r.from,{state:a}=e,o=a.doc.lineAt(i),s,c;if(n&&!t&&i>o.from&&i<o.from+200&&!/[^ \t]/.test(s=o.text.slice(0,i-o.from))){if(s[s.length-1]==` `)return i-1;let e=Fe(s,a.tabSize)%je(a)||je(a);for(let t=0;t<e&&s[s.length-1-t]==` `;t++)i--;c=i}else c=v(o.text,i-o.from,t,t)+o.from,c==i&&o.number!=(t?a.doc.lines:1)?c+=t?1:-1:!t&&/[\ufe00-\ufe0f]/.test(o.text.slice(c-o.from,i-o.from))&&(c=v(o.text,c-o.from,!1,!1)+o.from);return c}),Xn=e=>Yn(e,!1,!0),Zn=e=>Yn(e,!0,!1),Qn=(e,t)=>N(e,n=>{let r=n.head,{state:i}=e,a=i.doc.lineAt(r),o=i.charCategorizer(r);for(let e=null;;){if(r==(t?a.to:a.from)){r==n.head&&a.number!=(t?i.doc.lines:1)&&(r+=t?1:-1);break}let s=v(a.text,r-a.from,t)+a.from,c=a.text.slice(Math.min(r,s)-a.from,Math.max(r,s)-a.from),l=o(c);if(e!=null&&l!=e)break;(c!=` `||r!=n.head)&&(e=l),r=s}return r}),$n=e=>Qn(e,!1),er=e=>Qn(e,!0),tr=e=>N(e,t=>{let n=e.lineBlockAt(t.head).to;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),nr=e=>N(e,t=>{let n=e.moveToLineBoundary(t,!1).head;return t.head>n?n:Math.max(0,t.head-1)}),rr=e=>N(e,t=>{let n=e.moveToLineBoundary(t,!0).head;return t.head<n?n:Math.min(e.state.doc.length,t.head+1)}),ir=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(e=>({changes:{from:e.from,to:e.to,insert:ae.of([``,``])},range:C.cursor(e.from)}));return t(e.update(n,{scrollIntoView:!0,userEvent:`input`})),!0},ar=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=e.changeByRange(t=>{if(!t.empty||t.from==0||t.from==e.doc.length)return{range:t};let n=t.from,r=e.doc.lineAt(n),i=n==r.from?n-1:v(r.text,n-r.from,!1)+r.from,a=n==r.to?n+1:v(r.text,n-r.from,!0)+r.from;return{changes:{from:i,to:a,insert:e.doc.slice(n,a).append(e.doc.slice(i,n))},range:C.cursor(a)}});return!n.changes.empty&&(t(e.update(n,{scrollIntoView:!0,userEvent:`move.character`})),!0)},or=({state:e,dispatch:t})=>Lt(e,t,!1),sr=({state:e,dispatch:t})=>Lt(e,t,!0),cr=({state:e,dispatch:t})=>Rt(e,t,!1),lr=({state:e,dispatch:t})=>Rt(e,t,!0),ur=e=>{if(e.state.readOnly)return!1;let{state:t}=e,n=t.changes(It(t).map(({from:e,to:n})=>(e>0?e--:n<t.doc.length&&n++,{from:e,to:n}))),r=D(t.selection,t=>{let n;if(e.lineWrapping){let r=e.lineBlockAt(t.head),i=e.coordsAtPos(t.head,t.assoc||1);i&&(n=r.bottom+e.documentTop-i.bottom+e.defaultLineHeight/2)}return e.moveVertically(t,!0,n)}).map(n);return e.dispatch({changes:n,selection:r,scrollIntoView:!0,userEvent:`delete.line`}),!0},dr=Bt(!1),fr=Bt(!0),pr=({state:e,dispatch:t})=>{if(e.readOnly)return!1;let n=Object.create(null),r=new Le(e,{overrideIndentation:e=>n[e]??-1}),i=Vt(e,(t,i,a)=>{let o=Ae(r,t.from);if(o==null)return;/\S/.test(t.text)||(o=0);let s=/^\s*/.exec(t.text)[0],c=Qe(e,o);(s!=c||a.from<t.from+s.length)&&(n[t.from]=o,i.push({from:t.from,to:t.from+s.length,insert:c}))});return i.changes.empty||t(e.update(i,{userEvent:`indent`})),!0},mr=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Vt(e,(t,n)=>{n.push({from:t.from,insert:e.facet(we)})}),{userEvent:`input.indent`})),!0),hr=({state:e,dispatch:t})=>!e.readOnly&&(t(e.update(Vt(e,(t,n)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let i=Fe(r,e.tabSize),a=0,o=Qe(e,Math.max(0,i-je(e)));for(;a<r.length&&a<o.length&&r.charCodeAt(a)==o.charCodeAt(a);)a++;n.push({from:t.from+a,to:t.from+r.length,insert:o.slice(a)})}),{userEvent:`delete.dedent`})),!0),gr=e=>(e.setTabFocusMode(),!0),_r=[{key:`Ctrl-b`,run:on,shift:Cn,preventDefault:!0},{key:`Ctrl-f`,run:sn,shift:wn},{key:`Ctrl-p`,run:fn,shift:kn},{key:`Ctrl-n`,run:pn,shift:An},{key:`Ctrl-a`,run:bn,shift:Ln},{key:`Ctrl-e`,run:xn,shift:Rn},{key:`Ctrl-d`,run:Zn},{key:`Ctrl-h`,run:Xn},{key:`Ctrl-k`,run:tr},{key:`Ctrl-Alt-h`,run:$n},{key:`Ctrl-o`,run:ir},{key:`Ctrl-t`,run:ar},{key:`Ctrl-v`,run:hn}],vr=[{key:`ArrowLeft`,run:on,shift:Cn,preventDefault:!0},{key:`Mod-ArrowLeft`,mac:`Alt-ArrowLeft`,run:cn,shift:Tn,preventDefault:!0},{mac:`Cmd-ArrowLeft`,run:vn,shift:Fn,preventDefault:!0},{key:`ArrowRight`,run:sn,shift:wn,preventDefault:!0},{key:`Mod-ArrowRight`,mac:`Alt-ArrowRight`,run:ln,shift:En,preventDefault:!0},{mac:`Cmd-ArrowRight`,run:yn,shift:In,preventDefault:!0},{key:`ArrowUp`,run:fn,shift:kn,preventDefault:!0},{mac:`Cmd-ArrowUp`,run:zn,shift:Vn},{mac:`Ctrl-ArrowUp`,run:mn,shift:jn},{key:`ArrowDown`,run:pn,shift:An,preventDefault:!0},{mac:`Cmd-ArrowDown`,run:Bn,shift:Hn},{mac:`Ctrl-ArrowDown`,run:hn,shift:Mn},{key:`PageUp`,run:mn,shift:jn},{key:`PageDown`,run:hn,shift:Mn},{key:`Home`,run:_n,shift:Pn,preventDefault:!0},{key:`Mod-Home`,run:zn,shift:Vn},{key:`End`,run:gn,shift:Nn,preventDefault:!0},{key:`Mod-End`,run:Bn,shift:Hn},{key:`Enter`,run:dr,shift:dr},{key:`Mod-a`,run:Un},{key:`Backspace`,run:Xn,shift:Xn,preventDefault:!0},{key:`Delete`,run:Zn,preventDefault:!0},{key:`Mod-Backspace`,mac:`Alt-Backspace`,run:$n,preventDefault:!0},{key:`Mod-Delete`,mac:`Alt-Delete`,run:er,preventDefault:!0},{mac:`Mod-Backspace`,run:nr,preventDefault:!0},{mac:`Mod-Delete`,run:rr,preventDefault:!0}].concat(_r.map(e=>({mac:e.key,run:e.run,shift:e.shift}))),yr=[{key:`Alt-ArrowLeft`,mac:`Ctrl-ArrowLeft`,run:un,shift:Dn},{key:`Alt-ArrowRight`,mac:`Ctrl-ArrowRight`,run:dn,shift:On},{key:`Alt-ArrowUp`,run:or},{key:`Shift-Alt-ArrowUp`,run:cr},{key:`Alt-ArrowDown`,run:sr},{key:`Shift-Alt-ArrowDown`,run:lr},{key:`Mod-Alt-ArrowUp`,run:Kn},{key:`Mod-Alt-ArrowDown`,run:qn},{key:`Escape`,run:Jn},{key:`Mod-Enter`,run:fr},{key:`Alt-l`,mac:`Ctrl-l`,run:Wn},{key:`Mod-i`,run:Gn,preventDefault:!0},{key:`Mod-[`,run:hr},{key:`Mod-]`,run:mr},{key:`Mod-Alt-\\`,run:pr},{key:`Shift-Mod-k`,run:ur},{key:`Shift-Mod-\\`,run:Sn},{key:`Mod-/`,run:Ht},{key:`Alt-A`,mac:`Ctrl-A`,run:Wt},{key:`Ctrl-m`,mac:`Shift-Alt-m`,run:gr}].concat(vr),br={key:`Tab`,run:mr,shift:hr}})))()}function Sr(e){try{return new RegExp(e,Vr),!0}catch{return!1}}function Cr(e,t){if(t>=e.length)return t;let n=e.lineAt(t),r;for(;t<n.to&&(r=n.text.charCodeAt(t-n.from))>=56320&&r<57344;)t++;return t}function wr(e){let t=[Qr,Zr];return e&&t.push(Jr.of(e)),t}function Tr(e,t,n,r){return(n==0||e(t.sliceDoc(n-1,n))!=T.Word)&&(r==t.doc.length||e(t.sliceDoc(r,r+1))!=T.Word)}function Er(e,t,n,r){return e(t.sliceDoc(n,n+1))==T.Word&&e(t.sliceDoc(r-1,r))==T.Word}function Dr(e,t){let{main:n,ranges:r}=e.selection,i=e.wordAt(n.head),a=i&&i.from==n.from&&i.to==n.to;for(let n=!1,i=new V(e.doc,t,r[r.length-1].to);;)if(i.next(),i.done){if(n)return null;i=new V(e.doc,t,0,Math.max(0,r[r.length-1].from-1)),n=!0}else{if(n&&r.some(e=>e.from==i.value.from))continue;if(a){let t=e.wordAt(i.value.from);if(!t||t.from!=i.value.from||t.to!=i.value.to)continue}return i.value}}function Or(e,t,n){return(r,i,a,o)=>n&&!n(r,i,a,o)?!1:e(r>=o&&i<=o+a.length?a.slice(r-o,i-o):t.doc.sliceString(r,i),t,r,i)}function L(e,t,n,r){let i;return e.wholeWord&&(i=kr(t.doc,t.charCategorizer(t.selection.main.head))),e.test&&(i=Or(e.test,t,i)),new V(t.doc,e.unquoted,n,r,e.caseSensitive?void 0:e=>e.toLowerCase(),i)}function kr(e,t){return(n,r,i,a)=>((a>n||a+i.length<r)&&(a=Math.max(0,n-2),i=e.sliceString(a,Math.min(e.length,r+2))),(t(jr(i,n-a))!=T.Word||t(Mr(i,n-a))!=T.Word)&&(t(Mr(i,r-a))!=T.Word||t(jr(i,r-a))!=T.Word))}function Ar(e,t,n){return(r,i,a)=>(!n||n(r,i,a))&&e(a[0],t,r,i)}function R(e,t,n,r){let i;return e.wholeWord&&(i=Nr(t.charCategorizer(t.selection.main.head))),e.test&&(i=Ar(e.test,t,i)),new Hr(t.doc,e.search,{ignoreCase:!e.caseSensitive,test:i},n,r)}function jr(e,t){return e.slice(v(e,t,!1),t)}function Mr(e,t){return e.slice(t,v(e,t))}function Nr(e){return(t,n,r)=>!r[0].length||(e(jr(r.input,r.index))!=T.Word||e(Mr(r.input,r.index))!=T.Word)&&(e(Mr(r.input,r.index+r[0].length))!=T.Word||e(jr(r.input,r.index+r[0].length))!=T.Word)}function z(e){return t=>{let n=t.state.field(W,!1);return n&&n.query.spec.valid?e(t,n):mi(t)}}function Pr(e){return e.state.facet(H).createPanel(e)}function Fr(e,t){let n=e.selection.main,r=n.empty||n.to>n.from+100?``:e.sliceDoc(n.from,n.to);if(t&&!r)return t;let i=e.facet(H);return new ti({search:t?.literal??i.literal?r:r.replace(/\n/g,`\\n`),caseSensitive:t?.caseSensitive??i.caseSensitive,literal:t?.literal??i.literal,regexp:t?.regexp??i.regexp,wholeWord:t?.wholeWord??i.wholeWord})}function Ir(e){let t=se(e,Pr);return t&&t.dom.querySelector(`[main-field]`)}function Lr(e){let t=Ir(e);t&&t==e.root.activeElement&&t.select()}function B(e,t){return e.state.phrase(t)}function Rr(e,{from:t,to:n}){let r=e.state.doc.lineAt(t),i=e.state.doc.lineAt(n).to,a=Math.max(r.from,t-q),o=Math.min(i,n+q),s=e.state.sliceDoc(a,o);if(a!=r.from){for(let e=0;e<q;e++)if(!J.test(s[e+1])&&J.test(s[e])){s=s.slice(e);break}}if(o!=i){for(let e=s.length-1;e>s.length-q;e--)if(!J.test(s[e-1])&&J.test(s[e])){s=s.slice(0,e);break}}return g.announce.of(`${e.state.phrase(`current match`)}. ${s} ${e.state.phrase(`on line`)} ${r.number}.`)}var zr,V,Br,Vr,Hr,Ur,Wr,Gr,Kr,qr,Jr,Yr,Xr,Zr,Qr,$r,ei,H,ti,ni,ri,ii,U,ai,W,oi,si,ci,li,G,K,ui,di,fi,pi,mi,hi,gi,_i,q,J,vi,yi;function bi(){return(bi=e((()=>{Oe(),fe(),qe(),zr=typeof String.prototype.normalize==`function`?e=>e.normalize(`NFKD`):e=>e,V=class{constructor(e,t,n=0,r=e.length,i,a){this.test=a,this.value={from:0,to:0,precise:!1},this.done=!1,this.matches=[],this.buffer=``,this.bufferPos=0,this.iter=e.iterRange(n,r),this.bufferStart=n,this.normalize=i?e=>i(zr(e)):zr,this.query=this.normalize(t)}peek(){if(this.bufferPos==this.buffer.length){if(this.bufferStart+=this.buffer.length,this.iter.next(),this.iter.done)return-1;this.bufferPos=0,this.buffer=this.iter.value}return de(this.buffer,this.bufferPos)}next(){for(;this.matches.length;)this.matches.pop();return this.nextOverlapping()}nextOverlapping(){for(;;){let e=this.peek();if(e<0)return this.done=!0,this;let t=ue(e),n=this.bufferStart+this.bufferPos;this.bufferPos+=Ie(e);let r=this.normalize(t);if(r.length)for(let e=0,i=n,a=!0;;e++){let n=r.charCodeAt(e),o=this.match(n,i,a,this.bufferPos+this.bufferStart,e==r.length-1);if(o)return this.value=o,this;if(e==r.length-1)break;a&&e<t.length&&t.charCodeAt(e)==n?i++:a=!1}}}match(e,t,n,r,i){let a=null;for(let t=0;t<this.matches.length;){let n=this.matches[t],o=!1;this.query.charCodeAt(n.index)==e&&(n.index==this.query.length-1?a={from:n.from,to:r,precise:i&&n.precise}:(n.index++,o=!0)),o?t++:this.matches.splice(t,1)}return this.query.charCodeAt(0)==e&&(this.query.length==1?a={from:t,to:r,precise:n&&i}:this.matches.push({from:t,index:1,precise:n})),a&&this.test&&!this.test(a.from,a.to,this.buffer,this.bufferStart)&&(a=null),a}},typeof Symbol<`u`&&(V.prototype[Symbol.iterator]=function(){return this}),Br={from:-1,to:-1,match:/.*/.exec(``),precise:!0},Vr=`gm`+(/x/.unicode==null?``:`u`),Hr=class{constructor(e,t,n,r=0,i=e.length){if(this.text=e,this.to=i,this.curLine=``,this.done=!1,this.value=Br,/\\[sWDnr]|\n|\r|\[\^/.test(t))return new Gr(e,t,n,r,i);this.re=new RegExp(t,Vr+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.iter=e.iter();let a=e.lineAt(r);this.curLineStart=a.from,this.matchPos=Cr(e,r),this.getLine(this.curLineStart)}getLine(e){this.iter.next(e),this.iter.lineBreak?this.curLine=``:(this.curLine=this.iter.value,this.curLineStart+this.curLine.length>this.to&&(this.curLine=this.curLine.slice(0,this.to-this.curLineStart)),this.iter.next())}nextLine(){this.curLineStart=this.curLineStart+this.curLine.length+1,this.curLineStart>this.to?this.curLine=``:this.getLine(0)}next(){for(let e=this.matchPos-this.curLineStart;;){this.re.lastIndex=e;let t=this.matchPos<=this.to&&this.re.exec(this.curLine);if(t){let n=this.curLineStart+t.index,r=n+t[0].length;if(this.matchPos=Cr(this.text,r+ +(n==r)),n==this.curLineStart+this.curLine.length&&this.nextLine(),(n<r||n>this.value.to)&&(!this.test||this.test(n,r,t)))return this.value={from:n,to:r,precise:!0,match:t},this;e=this.matchPos-this.curLineStart}else if(this.curLineStart+this.curLine.length<this.to)this.nextLine(),e=0;else return this.done=!0,this}}},Ur=new WeakMap,Wr=class e{constructor(e,t){this.from=e,this.text=t}get to(){return this.from+this.text.length}static get(t,n,r){let i=Ur.get(t);if(!i||i.from>=r||i.to<=n){let i=new e(n,t.sliceString(n,r));return Ur.set(t,i),i}if(i.from==n&&i.to==r)return i;let{text:a,from:o}=i;return o>n&&(a=t.sliceString(n,o)+a,o=n),i.to<r&&(a+=t.sliceString(i.to,r)),Ur.set(t,new e(o,a)),new e(n,a.slice(n-o,r-o))}},Gr=class{constructor(e,t,n,r,i){this.text=e,this.to=i,this.done=!1,this.value=Br,this.matchPos=Cr(e,r),this.re=new RegExp(t,Vr+(n?.ignoreCase?`i`:``)),this.test=n?.test,this.flat=Wr.get(e,r,this.chunkEnd(r+5e3))}chunkEnd(e){return e>=this.to?this.to:this.text.lineAt(e).to}next(){for(;;){let e=this.re.lastIndex=this.matchPos-this.flat.from,t=this.re.exec(this.flat.text);if(t&&!t[0]&&t.index==e&&(this.re.lastIndex=e+1,t=this.re.exec(this.flat.text)),t){let e=this.flat.from+t.index,n=e+t[0].length;if((this.flat.to>=this.to||t.index+t[0].length<=this.flat.text.length-10)&&(!this.test||this.test(e,n,t)))return this.value={from:e,to:n,precise:!0,match:t},this.matchPos=Cr(this.text,n+ +(e==n)),this}if(this.flat.to==this.to)return this.done=!0,this;this.flat=Wr.get(this.text,this.flat.from,this.chunkEnd(this.flat.from+this.flat.text.length*2))}}},typeof Symbol<`u`&&(Hr.prototype[Symbol.iterator]=Gr.prototype[Symbol.iterator]=function(){return this}),Kr=e=>{let t=He(e,`cm-goto-line`);if(t){let e=t.dom.querySelector(`input[type=text]`);return e&&e.select(),!0}let{state:n}=e,r=String(n.doc.lineAt(e.state.selection.main.head).number),{close:i,result:a}=ze(e,{class:`cm-goto-line`,label:n.phrase(`Go to line`),input:{type:`text`,name:`line`,value:r},focus:!0,submitLabel:n.phrase(`go`)});return a.then(t=>{let r=t&&/^([+-])?(\d+)?(:\d+)?(%)?$/.exec(t.elements.line.value);if(!r){e.dispatch({effects:i});return}let a=n.doc.lineAt(n.selection.main.head),[,o,s,c,l]=r,u=c?+c.slice(1):0,d=s?+s:a.number;if(s&&l){let e=d/100;o&&(e=e*(o==`-`?-1:1)+a.number/n.doc.lines),d=Math.round(n.doc.lines*e)}else s&&o&&(d=d*(o==`-`?-1:1)+a.number);let f=n.doc.line(Math.max(1,Math.min(n.doc.lines,d))),p=C.cursor(f.from+Math.max(0,Math.min(u,f.length)));e.dispatch({effects:[i,g.scrollIntoView(p.from,{y:`center`})],selection:p})}),!0},qr={highlightWordAroundCursor:!1,minSelectionLength:1,maxMatches:100,wholeWords:!1},Jr=Ye.define({combine(e){return h(e,qr,{highlightWordAroundCursor:(e,t)=>e||t,minSelectionLength:Math.min,maxMatches:Math.min})}}),Yr=b.mark({class:`cm-selectionMatch`}),Xr=b.mark({class:`cm-selectionMatch cm-selectionMatch-main`}),Zr=ve.fromClass(class{constructor(e){this.decorations=this.getDeco(e)}update(e){(e.selectionSet||e.docChanged||e.viewportChanged)&&(this.decorations=this.getDeco(e.view))}getDeco(e){let t=e.state.facet(Jr),{state:n}=e,r=n.selection;if(r.ranges.length>1)return b.none;let i=r.main,a,o=null;if(i.empty){if(!t.highlightWordAroundCursor)return b.none;let e=n.wordAt(i.head);if(!e)return b.none;o=n.charCategorizer(i.head),a=n.sliceDoc(e.from,e.to)}else{let e=i.to-i.from;if(e<t.minSelectionLength||e>200)return b.none;if(t.wholeWords){if(a=n.sliceDoc(i.from,i.to),o=n.charCategorizer(i.head),!(Tr(o,n,i.from,i.to)&&Er(o,n,i.from,i.to)))return b.none}else if(a=n.sliceDoc(i.from,i.to),!a)return b.none}let s=[];for(let r of e.visibleRanges){let e=new V(n.doc,a,r.from,r.to);for(;!e.next().done;){let{from:r,to:a}=e.value;if((!o||Tr(o,n,r,a))&&(i.empty&&r<=i.from&&a>=i.to?s.push(Xr.range(r,a)):(r>=i.to||a<=i.from)&&s.push(Yr.range(r,a)),s.length>t.maxMatches))return b.none}}return b.set(s)}},{decorations:e=>e.decorations}),Qr=g.baseTheme({".cm-selectionMatch":{backgroundColor:`#99ff7780`},".cm-searchMatch .cm-selectionMatch":{backgroundColor:`transparent`}}),$r=({state:e,dispatch:t})=>{let{selection:n}=e,r=C.create(n.ranges.map(t=>e.wordAt(t.head)||C.cursor(t.head)),n.mainIndex);return!r.eq(n)&&(t(e.update({selection:r})),!0)},ei=({state:e,dispatch:t})=>{let{ranges:n}=e.selection;if(n.some(e=>e.from===e.to))return $r({state:e,dispatch:t});let r=e.sliceDoc(n[0].from,n[0].to);if(e.selection.ranges.some(t=>e.sliceDoc(t.from,t.to)!=r))return!1;let i=Dr(e,r);return i?(t(e.update({selection:e.selection.addRange(C.range(i.from,i.to),!1),effects:g.scrollIntoView(i.to)})),!0):!1},H=Ye.define({combine(e){return h(e,{top:!1,caseSensitive:!1,literal:!1,regexp:!1,wholeWord:!1,createPanel:e=>new _i(e),scrollToMatch:e=>g.scrollIntoView(e)})}}),ti=class{constructor(e){this.search=e.search,this.caseSensitive=!!e.caseSensitive,this.literal=!!e.literal,this.regexp=!!e.regexp,this.replace=e.replace||``,this.valid=!!this.search&&(!this.regexp||Sr(this.search)),this.unquoted=this.unquote(this.search),this.wholeWord=!!e.wholeWord,this.test=e.test}unquote(e){return this.literal?e:e.replace(/\\([nrt\\])/g,(e,t)=>t==`n`?`
3
+ `:t==`r`?`\r`:t==`t`?` `:`\\`)}eq(e){return this.search==e.search&&this.replace==e.replace&&this.caseSensitive==e.caseSensitive&&this.regexp==e.regexp&&this.wholeWord==e.wholeWord&&this.test==e.test}create(){return this.regexp?new ii(this):new ri(this)}getCursor(e,t=0,n){let r=e.doc?e:S.create({doc:e});return n??=r.doc.length,this.regexp?R(this,r,t,n):L(this,r,t,n)}},ni=class{constructor(e){this.spec=e}},ri=class extends ni{constructor(e){super(e)}nextMatch(e,t,n){let r=L(this.spec,e,n,e.doc.length).nextOverlapping();if(r.done){let n=Math.min(e.doc.length,t+this.spec.unquoted.length);r=L(this.spec,e,0,n).nextOverlapping()}return r.done||r.value.from==t&&r.value.to==n?null:r.value}prevMatchInRange(e,t,n){for(let r=n;;){let n=Math.max(t,r-1e4-this.spec.unquoted.length),i=L(this.spec,e,n,r),a=null;for(;!i.nextOverlapping().done;)a=i.value;if(a)return a;if(n==t)return null;r-=1e4}}prevMatch(e,t,n){let r=this.prevMatchInRange(e,0,t);return r||=this.prevMatchInRange(e,Math.max(0,n-this.spec.unquoted.length),e.doc.length),r&&(r.from!=t||r.to!=n)?r:null}getReplacement(e){return this.spec.unquote(this.spec.replace)}matchAll(e,t){let n=L(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=L(this.spec,e,Math.max(0,t-this.spec.unquoted.length),Math.min(n+this.spec.unquoted.length,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},ii=class extends ni{nextMatch(e,t,n){let r=R(this.spec,e,n,e.doc.length).next();return r.done&&(r=R(this.spec,e,0,t).next()),r.done?null:r.value}prevMatchInRange(e,t,n){for(let r=1;;r++){let i=Math.max(t,n-r*1e4),a=R(this.spec,e,i,n),o=null;for(;!a.next().done;)o=a.value;if(o&&(i==t||o.from>i+10))return o;if(i==t)return null}}prevMatch(e,t,n){return this.prevMatchInRange(e,0,t)||this.prevMatchInRange(e,n,e.doc.length)}getReplacement(e){return this.spec.unquote(this.spec.replace).replace(/\$([$&]|\d+)/g,(t,n)=>{if(n==`&`)return e.match[0];if(n==`$`)return`$`;for(let t=n.length;t>0;t--){let r=+n.slice(0,t);if(r>0&&r<e.match.length)return e.match[r]+n.slice(t)}return t})}matchAll(e,t){let n=R(this.spec,e,0,e.doc.length),r=[];for(;!n.next().done;){if(r.length>=t)return null;r.push(n.value)}return r}highlight(e,t,n,r){let i=R(this.spec,e,Math.max(0,t-250),Math.min(n+250,e.doc.length));for(;!i.next().done;)r(i.value.from,i.value.to)}},U=E.define(),ai=E.define(),W=ge.define({create(e){return new oi(Fr(e).create(),null)},update(e,t){for(let n of t.effects)n.is(U)?e=new oi(n.value.create(),e.panel):n.is(ai)&&(e=new oi(e.query,n.value?Pr:null));return e},provide:e=>We.from(e,e=>e.panel)}),oi=class{constructor(e,t){this.query=e,this.panel=t}},si=b.mark({class:`cm-searchMatch`}),ci=b.mark({class:`cm-searchMatch cm-searchMatch-selected`}),li=ve.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(W))}update(e){let t=e.state.field(W);(t!=e.startState.field(W)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight({query:e,panel:t}){if(!t||!e.spec.valid)return b.none;let{view:n}=this,r=new me;for(let t=0,i=n.visibleRanges,a=i.length;t<a;t++){let{from:o,to:s}=i[t];for(;t<a-1&&s>i[t+1].from-500;)s=i[++t].to;e.highlight(n.state,o,s,(e,t)=>{let i=n.state.selection.ranges.some(n=>n.from==e&&n.to==t);r.add(e,t,i?ci:si)})}return r.finish()}},{decorations:e=>e.decorations}),G=z((e,{query:t})=>{let{to:n}=e.state.selection.main,r=t.nextMatch(e.state,n,n);if(!r)return!1;let i=C.single(r.from,r.to),a=e.state.facet(H);return e.dispatch({selection:i,effects:[Rr(e,r),a.scrollToMatch(i.main,e)],userEvent:`select.search`}),Lr(e),!0}),K=z((e,{query:t})=>{let{state:n}=e,{from:r}=n.selection.main,i=t.prevMatch(n,r,r);if(!i)return!1;let a=C.single(i.from,i.to),o=e.state.facet(H);return e.dispatch({selection:a,effects:[Rr(e,i),o.scrollToMatch(a.main,e)],userEvent:`select.search`}),Lr(e),!0}),ui=z((e,{query:t})=>{let n=t.matchAll(e.state,1e3);return!n||!n.length?!1:(e.dispatch({selection:C.create(n.map(e=>C.range(e.from,e.to))),userEvent:`select.search.matches`}),!0)}),di=({state:e,dispatch:t})=>{let n=e.selection;if(n.ranges.length>1||n.main.empty)return!1;let{from:r,to:i}=n.main,a=[],o=0;for(let t=new V(e.doc,e.sliceDoc(r,i));!t.next().done;){if(a.length>1e3)return!1;t.value.from==r&&(o=a.length),a.push(C.range(t.value.from,t.value.to))}return t(e.update({selection:C.create(a,o),userEvent:`select.search.matches`})),!0},fi=z((e,{query:t})=>{let{state:n}=e,{from:r,to:i}=n.selection.main;if(n.readOnly)return!1;let a=t.nextMatch(n,r,r);if(!a)return!1;let o=a,s=[],c,l,u=[];o.precise?o.from==r&&o.to==i&&(l=n.toText(t.getReplacement(o)),s.push({from:o.from,to:o.to,insert:l}),o=t.nextMatch(n,o.from,o.to),u.push(g.announce.of(n.phrase(`replaced match on line $`,n.doc.lineAt(r).number)+`.`))):o=t.nextMatch(n,o.from,o.to);let d=e.state.changes(s);return o&&(c=C.single(o.from,o.to).map(d),u.push(Rr(e,o)),u.push(n.facet(H).scrollToMatch(c.main,e))),e.dispatch({changes:d,selection:c,effects:u,userEvent:`input.replace`}),!0}),pi=z((e,{query:t})=>{if(e.state.readOnly)return!1;let n=[];for(let r of t.matchAll(e.state,1e9)){let{from:e,to:i,precise:a}=r;a&&n.push({from:e,to:i,insert:t.getReplacement(r)})}if(!n.length)return!1;let r=e.state.phrase(`replaced $ matches`,n.length)+`.`;return e.dispatch({changes:n,effects:g.announce.of(r),userEvent:`input.replace.all`}),!0}),mi=e=>{let t=e.state.field(W,!1);if(t&&t.panel){let n=Ir(e);if(n&&n!=e.root.activeElement){let r=Fr(e.state,t.query.spec);r.valid&&e.dispatch({effects:U.of(r)}),n.focus(),n.select()}}else e.dispatch({effects:[ai.of(!0),t?U.of(Fr(e.state,t.query.spec)):E.appendConfig.of(yi)]});return!0},hi=e=>{let t=e.state.field(W,!1);if(!t||!t.panel)return!1;let n=se(e,Pr);return n&&n.dom.contains(e.root.activeElement)&&e.focus(),e.dispatch({effects:ai.of(!1)}),!0},gi=[{key:`Mod-f`,run:mi,scope:`editor search-panel`},{key:`F3`,run:G,shift:K,scope:`editor search-panel`,preventDefault:!0},{key:`Mod-g`,run:G,shift:K,scope:`editor search-panel`,preventDefault:!0},{key:`Escape`,run:hi,scope:`editor search-panel`},{key:`Mod-Shift-l`,run:di},{key:`Mod-Alt-g`,run:Kr},{key:`Mod-d`,run:ei,preventDefault:!0}],_i=class{constructor(e){this.view=e;let t=this.query=e.state.field(W).query.spec;this.commit=this.commit.bind(this),this.searchField=w(`input`,{value:t.search,placeholder:B(e,`Find`),"aria-label":B(e,`Find`),class:`cm-textfield`,name:`search`,form:``,"main-field":`true`,onchange:this.commit,onkeyup:this.commit}),this.replaceField=w(`input`,{value:t.replace,placeholder:B(e,`Replace`),"aria-label":B(e,`Replace`),class:`cm-textfield`,name:`replace`,form:``,onchange:this.commit,onkeyup:this.commit}),this.caseField=w(`input`,{type:`checkbox`,name:`case`,form:``,checked:t.caseSensitive,onchange:this.commit}),this.reField=w(`input`,{type:`checkbox`,name:`re`,form:``,checked:t.regexp,onchange:this.commit}),this.wordField=w(`input`,{type:`checkbox`,name:`word`,form:``,checked:t.wholeWord,onchange:this.commit});function n(e,t,n){return w(`button`,{class:`cm-button`,name:e,onclick:t,type:`button`},n)}this.dom=w(`div`,{onkeydown:e=>this.keydown(e),class:`cm-search`},[this.searchField,n(`next`,()=>G(e),[B(e,`next`)]),n(`prev`,()=>K(e),[B(e,`previous`)]),n(`select`,()=>ui(e),[B(e,`all`)]),w(`label`,null,[this.caseField,B(e,`match case`)]),w(`label`,null,[this.reField,B(e,`regexp`)]),w(`label`,null,[this.wordField,B(e,`by word`)]),...e.state.readOnly?[]:[w(`br`),this.replaceField,n(`replace`,()=>fi(e),[B(e,`replace`)]),n(`replaceAll`,()=>pi(e),[B(e,`replace all`)])],w(`button`,{name:`close`,onclick:()=>hi(e),"aria-label":B(e,`close`),type:`button`},[`×`])])}commit(){let e=new ti({search:this.searchField.value,caseSensitive:this.caseField.checked,regexp:this.reField.checked,wholeWord:this.wordField.checked,replace:this.replaceField.value});e.eq(this.query)||(this.query=e,this.view.dispatch({effects:U.of(e)}))}keydown(e){Ce(this.view,e,`search-panel`)?e.preventDefault():e.keyCode==13&&e.target==this.searchField?(e.preventDefault(),(e.shiftKey?K:G)(this.view)):e.keyCode==13&&e.target==this.replaceField&&(e.preventDefault(),fi(this.view))}update(e){for(let t of e.transactions)for(let e of t.effects)e.is(U)&&!e.value.eq(this.query)&&this.setQuery(e.value)}setQuery(e){this.query=e,this.searchField.value=e.search,this.replaceField.value=e.replace,this.caseField.checked=e.caseSensitive,this.reField.checked=e.regexp,this.wordField.checked=e.wholeWord}mount(){this.searchField.select()}get pos(){return 80}get top(){return this.view.state.facet(H).top}},q=30,J=/[\s\.,:;?!]/,vi=g.baseTheme({".cm-panel.cm-search":{padding:`2px 6px 4px`,position:`relative`,"& [name=close]":{position:`absolute`,top:`0`,right:`4px`,backgroundColor:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0},"& input, & button, & label":{margin:`.2em .6em .2em 0`},"& input[type=checkbox]":{marginRight:`.2em`},"& label":{fontSize:`80%`,whiteSpace:`pre`}},"&light .cm-searchMatch":{backgroundColor:`#ffff0054`},"&dark .cm-searchMatch":{backgroundColor:`#00ffff8a`},"&light .cm-searchMatch-selected":{backgroundColor:`#ff6a0054`},"&dark .cm-searchMatch-selected":{backgroundColor:`#ff00ff8a`}}),yi=[W,Te.low(li),vi]})))()}function Y(e,t=null,n=0){let r=null;return e.between(n,1e9,(e,n,{spec:i})=>{if(!(t&&i.diagnostics.indexOf(t)<0)){if(!r)r=new Mi(e,n,t||i.diagnostics[0]);else if(i.diagnostics.indexOf(r.diagnostic)<0)return!1;else r=new Mi(r.from,n,r.diagnostic)}}),r}function xi(e,t){let n=t.pos,r=t.end||n,i=e.state.facet(Q).hideOn(e,n,r);if(i!=null)return i;let a=e.startState.doc.lineAt(t.pos);return!!(e.effects.some(e=>e.is(Ni))||e.changes.touchesRange(a.from,Math.max(a.to,r)))}function Si(e,t){return e.field(Z,!1)?t:t.concat(E.appendConfig.of(Ki))}function Ci(e,t,n){let{diagnostics:r}=e.state.field(Z),i,a=-1,o=-1;r.between(t-+(n<0),t+ +(n>0),(e,r,{spec:s})=>{if(t>=e&&t<=r&&(e==r||(t>e||n>0)&&(t<r||n<0)))return i=s.diagnostics,a=e,o=r,!1});let s=e.state.facet(Q).tooltipFilter;return i&&s&&(i=s(i,e.state)),i?{pos:a,end:o,above:!0,create(){return{dom:wi(e,i)}}}:null}function wi(e,t){return w(`ul`,{class:`cm-tooltip-lint`},t.map(t=>Di(e,t,!1)))}function Ti(e,t){return e?t?(n,r)=>t(e(n,r),r):e:t}function Ei(e){let t=[];if(e)actions:for(let{name:n}of e){for(let e=0;e<n.length;e++){let r=n[e];if(/[a-zA-Z]/.test(r)&&!t.some(e=>e.toLowerCase()==r.toLowerCase())){t.push(r);continue actions}}t.push(``)}return t}function Di(e,t,n){let r=n?Ei(t.actions):[];return w(`li`,{class:`cm-diagnostic cm-diagnostic-`+t.severity},w(`span`,{class:`cm-diagnosticText`},t.renderMessage?t.renderMessage(e):t.message),t.actions?.map((n,i)=>{let a=!1,o=r=>{if(r.preventDefault(),a)return;a=!0;let i=Y(e.state.field(Z).diagnostics,t);i&&n.apply(e,i.from,i.to)},{name:s}=n,c=r[i]?s.indexOf(r[i]):-1,l=c<0?s:[s.slice(0,c),w(`u`,s.slice(c,c+1)),s.slice(c+1)],u=n.markClass?` `+n.markClass:``;return w(`button`,{type:`button`,class:`cm-diagnosticAction`+u,onclick:o,onmousedown:o,"aria-label":` Action: ${s}${c<0?``:` (access key "${r[i]})"`}.`},l)}),t.source&&w(`div`,{class:`cm-diagnosticSource`},t.source))}function Oi(e,t=`viewBox="0 0 40 40"`){return`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" ${t}>${encodeURIComponent(e)}</svg>')`}function ki(e){return Oi(`<path d="m0 2.5 l2 -1.5 l1 0 l2 1.5 l1 0" stroke="${e}" fill="none" stroke-width=".7"/>`,`width="6" height="3"`)}function Ai(e){return e==`error`?4:e==`warning`?3:e==`info`?2:1}function ji(e){let t=`hint`,n=1;for(let r of e){let e=Ai(r.severity);e>n&&(n=e,t=r.severity)}return t}var Mi,X,Ni,Pi,Fi,Z,Ii,Li,Ri,zi,Bi,Q,Vi,Hi,Ui,Wi,Gi,Ki;function qi(){return(qi=e((()=>{Oe(),fe(),qe(),Mi=class{constructor(e,t,n){this.from=e,this.to=t,this.diagnostic=n}},X=class e{constructor(e,t,n){this.diagnostics=e,this.panel=t,this.selected=n}static init(t,n,r){let i=r.facet(Q).markerFilter;i&&(t=i(t,r));let a=t.slice().sort((e,t)=>e.from-t.from||e.to-t.to),o=new me,s=[],c=0,l=r.doc.iter(),u=0,d=r.doc.length;for(let e=0;;){let t=e==a.length?null:a[e];if(!t&&!s.length)break;let n,r;if(s.length)n=c,r=s.reduce((e,t)=>Math.min(e,t.to),t&&t.from>n?t.from:1e8);else{if(n=t.from,n>d)break;r=t.to,s.push(t),e++}for(;e<a.length;){let t=a[e];if(t.from==n&&(t.to>t.from||t.to==n))s.push(t),e++,r=Math.min(t.to,r);else{r=Math.min(t.from,r);break}}r=Math.min(r,d);let i=!1;if(s.some(e=>e.from==n&&(e.to==r||r==d))&&(i=n==r,!i&&r-n<10)){let e=n-(u+l.value.length);e>0&&(l.next(e),u=n);for(let e=n;;){if(e>=r){i=!0;break}if(!l.lineBreak&&u+l.value.length>e)break;e=u+l.value.length,u+=l.value.length,l.next()}}let f=ji(s);if(i)o.add(n,n,b.widget({widget:new Vi(f),diagnostics:s.slice()}));else{let e=s.reduce((e,t)=>t.markClass?e+` `+t.markClass:e,``);o.add(n,r,b.mark({class:`cm-lintRange cm-lintRange-`+f+e,diagnostics:s.slice(),inclusiveEnd:s.some(e=>e.to>r)}))}if(c=r,c==d)break;for(let e=0;e<s.length;e++)s[e].to<=c&&s.splice(e--,1)}let f=o.finish();return new e(f,n,Y(f))}},Ni=E.define(),Pi=E.define(),Fi=E.define(),Z=ge.define({create(){return new X(b.none,null,null)},update(e,t){if(t.docChanged&&e.diagnostics.size){let n=e.diagnostics.map(t.changes),r=null,i=e.panel;if(e.selected){let i=t.changes.mapPos(e.selected.from,1);r=Y(n,e.selected.diagnostic,i)||Y(n,null,i)}!n.size&&i&&t.state.facet(Q).autoPanel&&(i=null),e=new X(n,i,r)}for(let n of t.effects)if(n.is(Ni)){let r=t.state.facet(Q).autoPanel?n.value.length?Ui.open:null:e.panel;e=X.init(n.value,r,t.state)}else n.is(Pi)?e=new X(e.diagnostics,n.value?Ui.open:null,e.selected):n.is(Fi)&&(e=new X(e.diagnostics,e.panel,n.value));return e},provide:e=>[We.from(e,e=>e.panel),g.decorations.from(e,e=>e.diagnostics)]}),Ii=b.mark({class:`cm-lintRange cm-lintRange-active`}),Li=e=>{let t=e.state.field(Z,!1);t&&t.panel||e.dispatch({effects:Si(e.state,[Pi.of(!0)])});let n=se(e,Ui.open);return n&&n.dom.querySelector(`.cm-panel-lint ul`).focus(),!0},Ri=e=>{let t=e.state.field(Z,!1);return!t||!t.panel?!1:(e.dispatch({effects:Pi.of(!1)}),!0)},zi=e=>{let t=e.state.field(Z,!1);if(!t)return!1;let n=e.state.selection.main,r=Y(t.diagnostics,null,n.to+1);return!r&&(r=Y(t.diagnostics,null,0),!r||r.from==n.from&&r.to==n.to)?!1:(e.dispatch({selection:{anchor:r.from,head:r.to},scrollIntoView:!0}),_e(e,r.from,1,{tooltip:Gi,until:e=>e.docChanged||e.newSelection.main.head<r.from||e.newSelection.main.head>r.to}),!0)},Bi=[{key:`Mod-Shift-m`,run:Li,preventDefault:!0},{key:`F8`,run:zi}],Q=Ye.define({combine(e){return{sources:e.map(e=>e.source).filter(e=>e!=null),...h(e.map(e=>e.config),{delay:750,markerFilter:null,tooltipFilter:null,needsRefresh:null,hideOn:()=>null},{delay:Math.max,markerFilter:Ti,tooltipFilter:Ti,needsRefresh:(e,t)=>e?t?n=>e(n)||t(n):e:t,hideOn:(e,t)=>e?t?(n,r,i)=>e(n,r,i)||t(n,r,i):e:t,autoPanel:(e,t)=>e||t})}}}),Vi=class extends oe{constructor(e){super(),this.sev=e}eq(e){return e.sev==this.sev}toDOM(){return w(`span`,{class:`cm-lintPoint cm-lintPoint-`+this.sev})}},Hi=class{constructor(e,t){this.diagnostic=t,this.id=`item_`+Math.floor(Math.random()*4294967295).toString(16),this.dom=Di(e,t,!0),this.dom.id=this.id,this.dom.setAttribute(`role`,`option`)}},Ui=class e{constructor(e){this.view=e,this.items=[];let t=t=>{if(!(t.ctrlKey||t.altKey||t.metaKey)){if(t.keyCode==27)Ri(this.view),this.view.focus();else if(t.keyCode==38||t.keyCode==33)this.moveSelection((this.selectedIndex-1+this.items.length)%this.items.length);else if(t.keyCode==40||t.keyCode==34)this.moveSelection((this.selectedIndex+1)%this.items.length);else if(t.keyCode==36)this.moveSelection(0);else if(t.keyCode==35)this.moveSelection(this.items.length-1);else if(t.keyCode==13)this.view.focus();else if(t.keyCode>=65&&t.keyCode<=90&&this.selectedIndex>=0){let{diagnostic:n}=this.items[this.selectedIndex],r=Ei(n.actions);for(let i=0;i<r.length;i++)if(r[i].toUpperCase().charCodeAt(0)==t.keyCode){let t=Y(this.view.state.field(Z).diagnostics,n);t&&n.actions[i].apply(e,t.from,t.to)}}else return;t.preventDefault()}},n=e=>{for(let t=0;t<this.items.length;t++)this.items[t].dom.contains(e.target)&&this.moveSelection(t)};this.list=w(`ul`,{tabIndex:0,role:`listbox`,"aria-label":this.view.state.phrase(`Diagnostics`),onkeydown:t,onclick:n}),this.dom=w(`div`,{class:`cm-panel-lint`},this.list,w(`button`,{type:`button`,name:`close`,"aria-label":this.view.state.phrase(`close`),onclick:()=>Ri(this.view)},`×`)),this.update()}get selectedIndex(){let e=this.view.state.field(Z).selected;if(!e)return-1;for(let t=0;t<this.items.length;t++)if(this.items[t].diagnostic==e.diagnostic)return t;return-1}update(){let{diagnostics:e,selected:t}=this.view.state.field(Z),n=0,r=!1,i=null,a=new Set;for(e.between(0,this.view.state.doc.length,(e,o,{spec:s})=>{for(let e of s.diagnostics){if(a.has(e))continue;a.add(e);let o=-1,s;for(let t=n;t<this.items.length;t++)if(this.items[t].diagnostic==e){o=t;break}o<0?(s=new Hi(this.view,e),this.items.splice(n,0,s),r=!0):(s=this.items[o],o>n&&(this.items.splice(n,o-n),r=!0)),t&&s.diagnostic==t.diagnostic?s.dom.hasAttribute(`aria-selected`)||(s.dom.setAttribute(`aria-selected`,`true`),i=s):s.dom.hasAttribute(`aria-selected`)&&s.dom.removeAttribute(`aria-selected`),n++}});n<this.items.length&&!(this.items.length==1&&this.items[0].diagnostic.from<0);)r=!0,this.items.pop();this.items.length==0&&(this.items.push(new Hi(this.view,{from:-1,to:-1,severity:`info`,message:this.view.state.phrase(`No diagnostics`)})),r=!0),i?(this.list.setAttribute(`aria-activedescendant`,i.id),this.view.requestMeasure({key:this,read:()=>({sel:i.dom.getBoundingClientRect(),panel:this.list.getBoundingClientRect()}),write:({sel:e,panel:t})=>{let n=t.height/this.list.offsetHeight;e.top<t.top?this.list.scrollTop-=(t.top-e.top)/n:e.bottom>t.bottom&&(this.list.scrollTop+=(e.bottom-t.bottom)/n)}})):this.selectedIndex<0&&this.list.removeAttribute(`aria-activedescendant`),r&&this.sync()}sync(){let e=this.list.firstChild;function t(){let t=e;e=t.nextSibling,t.remove()}for(let n of this.items)if(n.dom.parentNode==this.list){for(;e!=n.dom;)t();e=n.dom.nextSibling}else this.list.insertBefore(n.dom,e);for(;e;)t()}moveSelection(e){if(this.selectedIndex<0)return;let t=Y(this.view.state.field(Z).diagnostics,this.items[e].diagnostic);t&&this.view.dispatch({selection:{anchor:t.from,head:t.to},scrollIntoView:!0,effects:Fi.of(t)})}static open(t){return new e(t)}},Wi=g.baseTheme({".cm-diagnostic":{padding:`3px 6px 3px 8px`,marginLeft:`-1px`,display:`block`,whiteSpace:`pre-wrap`},".cm-diagnostic-error":{borderLeft:`5px solid #d11`},".cm-diagnostic-warning":{borderLeft:`5px solid orange`},".cm-diagnostic-info":{borderLeft:`5px solid #999`},".cm-diagnostic-hint":{borderLeft:`5px solid #66d`},".cm-diagnosticAction":{font:`inherit`,border:`none`,padding:`2px 4px`,backgroundColor:`#444`,color:`white`,borderRadius:`3px`,marginLeft:`8px`,cursor:`pointer`},".cm-diagnosticSource":{fontSize:`70%`,opacity:.7},".cm-lintRange":{backgroundPosition:`left bottom`,backgroundRepeat:`repeat-x`,paddingBottom:`0.7px`},".cm-lintRange-error":{backgroundImage:ki(`#f11`)},".cm-lintRange-warning":{backgroundImage:ki(`orange`)},".cm-lintRange-info":{backgroundImage:ki(`#999`)},".cm-lintRange-hint":{backgroundImage:ki(`#66d`)},".cm-lintRange-active":{backgroundColor:`#ffdd9980`},".cm-tooltip-lint":{padding:0,margin:0},".cm-lintPoint":{position:`relative`,"&:after":{content:`""`,position:`absolute`,bottom:0,left:`-2px`,borderLeft:`3px solid transparent`,borderRight:`3px solid transparent`,borderBottom:`4px solid #d11`}},".cm-lintPoint-warning":{"&:after":{borderBottomColor:`orange`}},".cm-lintPoint-info":{"&:after":{borderBottomColor:`#999`}},".cm-lintPoint-hint":{"&:after":{borderBottomColor:`#66d`}},".cm-panel.cm-panel-lint":{position:`relative`,"& ul":{maxHeight:`100px`,overflowY:`auto`,"& [aria-selected]":{backgroundColor:`#ddd`,"& u":{textDecoration:`underline`}},"&:focus [aria-selected]":{background_fallback:`#bdf`,backgroundColor:`Highlight`,color_fallback:`white`,color:`HighlightText`},"& u":{textDecoration:`none`},padding:0,margin:0},"& [name=close]":{position:`absolute`,top:`0`,right:`2px`,background:`inherit`,border:`none`,font:`inherit`,padding:0,margin:0}},"&dark .cm-lintRange-active":{backgroundColor:`#86714a80`},"&dark .cm-panel.cm-panel-lint ul":{"& [aria-selected]":{backgroundColor:`#2e343e`}}}),Gi=ne(Ci,{hideOn:xi}),Ki=[Z,g.decorations.compute([Z],e=>{let{selected:t,panel:n}=e.field(Z);return!t||!n||t.from==t.to?b.none:b.set([Ii.range(t.from,t.to)])}),Gi,Wi]})))()}var Ji;function Yi(){return(Yi=e((()=>{Oe(),fe(),Ze(),xr(),bi(),rt(),qi(),Ji=[Re(),xe(),pe(),dt(),Ee(),_(),ce(),S.allowMultipleSelections.of(!0),Je(),Xe(Ue,{fallback:!0}),Se(),tt(),it(),Ne(),ye(),be(),wr(),Ke.of([...nt,...yr,...gi,...an,...Be,...et,...Bi])]})))()}function Xi(e){let t=e.state.selection.main,n=e.state.doc.lineAt(t.head);return{line:n.number,column:t.head-n.from+1,selected:t.to-t.from}}function Zi(e,t){let n=t=>[t.main,t.light,t.dark,t.darker,t.lighter].find(t=>t&&i(t,e.palette.background.default)>=4.5)??e.palette.text.primary;return[Xe(Ge.define([{tag:y.keyword,color:n(e.palette.primary)},{tag:[y.string,y.special(y.string)],color:n(e.palette.success)},{tag:[y.number,y.bool,y.null],color:n(e.palette.warning)},{tag:[y.function(y.variableName),y.typeName],color:n(e.palette.info)},{tag:y.comment,color:e.palette.text.secondary,fontStyle:`italic`},{tag:[y.name,y.punctuation,y.operator],color:e.palette.text.primary},{tag:y.invalid,color:n(e.palette.error),textDecoration:`underline`}])),g.theme({"&":{height:`100%`,color:e.palette.text.primary,backgroundColor:e.palette.background.default},".cm-scroller":{overflow:`auto`,fontFamily:`ui-monospace, SFMono-Regular, Menlo, monospace`,fontSize:`13px`,lineHeight:`1.65`},".cm-content":{padding:`12px 0`,caretColor:e.palette.primary.main},".cm-gutters":{backgroundColor:e.palette.background.paper,color:e.palette.text.secondary,border:`none`},".cm-activeLine, .cm-activeLineGutter":{backgroundColor:e.palette.action.hover},"&.cm-focused":{outline:`none`},".cm-panels":{backgroundColor:e.palette.background.paper,color:e.palette.text.primary},".cm-search":{display:`flex`,flexWrap:`wrap`,alignItems:`center`,gap:`4px`,padding:`6px`},".cm-textfield":{minWidth:`80px`,maxWidth:`100%`,color:e.palette.text.primary,backgroundColor:e.palette.background.default,border:`1px solid ${e.palette.divider}`,borderRadius:`4px`},".cm-button":{color:e.palette.text.primary,backgroundImage:`none`,backgroundColor:e.palette.action.hover,border:`1px solid ${e.palette.divider}`,borderRadius:`4px`}},{dark:t})]}function Qi({initial:e,name:t,readOnly:n,active:r=!0,wrap:i=!1,onChange:o,onSave:s,onPosition:l}){let d=(0,$.useRef)(null),p=(0,$.useRef)(null),m=(0,$.useRef)({onChange:o,onSave:s,onPosition:l});m.current={onChange:o,onSave:s,onPosition:l};let ne=a(),{settings:h}=f(),re=c(`(prefers-color-scheme: dark)`),ie=h.mode===`system`?re:h.mode===`dark`,ae=(0,$.useMemo)(()=>Zi(ne,ie),[ne,ie]),_=(0,$.useRef)({visual:new Me,language:new Me,policy:new Me,wrap:new Me,label:new Me}),oe=(0,$.useRef)({initial:e,ending:ee(e)});return(0,$.useEffect)(()=>{if(!d.current)return;let{ending:e}=oe.current,t=new g({parent:d.current,state:S.create({doc:oe.current.initial,extensions:[Ji,_.current.visual.of([]),_.current.language.of([]),_.current.policy.of([]),_.current.wrap.of([]),_.current.label.of([]),Ke.of([{key:`Mod-s`,run:e=>(e.state.facet(S.readOnly)||m.current.onSave(),!0)},br]),S.lineSeparator.of(e===`mixed`?`
4
+ `:e),g.updateListener.of(e=>{e.docChanged&&m.current.onChange(e.state.sliceDoc()),(e.docChanged||e.selectionSet)&&m.current.onPosition?.(Xi(e.view))})]})});return p.current=t,()=>{p.current=null,t.destroy()}},[]),(0,$.useEffect)(()=>{let e=p.current;if(!e)return;let r=n||oe.current.ending===`mixed`;e.dispatch({effects:[_.current.visual.reconfigure(ae),_.current.policy.reconfigure([S.readOnly.of(r),g.editable.of(!r)]),_.current.wrap.reconfigure(i?g.lineWrapping:[]),_.current.label.reconfigure(g.contentAttributes.of({"aria-label":`Edit ${t}`,"data-keyboard-focus":``,tabindex:`0`,spellcheck:`false`}))]})},[ae,n,i,t]),(0,$.useEffect)(()=>{let e=!1;return(/\.jsonc?$/.test(t)?te(()=>import(`./dist-DQmjHv4-.js`).then(e=>e.json()),__vite__mapDeps([0,1,2,3])):/\.[cm]?[jt]sx?$/.test(t)?te(()=>import(`./dist-DsGmKwmk.js`).then(e=>e.javascript({typescript:/tsx?$/.test(t),jsx:/[jt]sx$/.test(t)})),__vite__mapDeps([4,1,2,5,3])):Promise.resolve([])).then(t=>{e||p.current?.dispatch({effects:_.current.language.reconfigure(t)})}).catch(()=>void 0),()=>{e=!0}},[t]),(0,$.useEffect)(()=>{if(!r)return;let e=requestAnimationFrame(()=>{let e=p.current;e&&(e.requestMeasure(),e.focus(),m.current.onPosition?.(Xi(e)))});return()=>cancelAnimationFrame(e)},[r]),(0,$i.jsx)(u,{ref:d,"data-keyboard-region":`File editor`,"data-keyboard-native":!0,sx:{flex:1,minHeight:0,minWidth:0,overflow:`hidden`,"& > .cm-editor":{height:`100%`}}})}var $,$i;function ea(){return(ea=e((()=>{$=t(),l(),o(),s(),r(),d(),fe(),Oe(),xr(),Ze(),ie(),Yi(),p(),$i=n(),m()})))()}ea();export{Qi as default};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{t}from"./react-BN8qLIAi.js";import{H as n,V as r}from"./mui-BXSXx9c9.js";import{B as i,z as a}from"./mui-Cd711nOk.js";import{_ as o,v as s}from"./mui-BwsIrivo.js";function c({label:e,items:t,format:n}){let i=t.reduce((e,t)=>Math.max(e,t.value),0);return(0,l.jsx)(o,{component:`ul`,"aria-label":e,spacing:1.25,sx:{m:0,p:0,listStyle:`none`,minWidth:0},children:t.map(e=>(0,l.jsxs)(r,{component:`li`,sx:{display:`grid`,gridTemplateColumns:`minmax(0, 1fr) auto`,gap:.5,alignItems:`baseline`},children:[(0,l.jsx)(a,{component:`span`,variant:`body2`,sx:{overflowWrap:`anywhere`},children:e.name}),(0,l.jsx)(a,{component:`span`,variant:`body2`,sx:{fontVariantNumeric:`tabular-nums`},children:n(e.value)}),(0,l.jsx)(r,{"aria-hidden":!0,sx:{gridColumn:`1 / -1`,overflow:`hidden`,height:3,bgcolor:`action.hover`},children:(0,l.jsx)(r,{sx:{height:`100%`,bgcolor:`primary.main`},style:{width:`${i>0?e.value/i*100:0}%`}})})]},e.id))})}var l;function u(){return(u=e((()=>{n(),s(),i(),l=t()})))()}export{u as n,c as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{F as r,I as i,c as a,d as o,f as s,g as c,h as l,l as u,m as d,p as f,s as p,u as m}from"./mui-BXSXx9c9.js";function h({open:e,onClose:t,onConfirm:n,title:i=`Confirm`,content:a,confirmLabel:s=`Confirm`,cancelLabel:c=`Cancel`,confirmColor:d=`primary`,loading:m=!1,disabled:h=!1,maxWidth:v=`xs`,sx:y}){let b=(0,g.useId)(),x=(0,g.useId)(),[S,C]=(0,g.useState)(!1),w=m||S;return(0,_.jsxs)(l,{open:e,onClose:w?void 0:t,maxWidth:v,fullWidth:!0,"aria-labelledby":b,"aria-describedby":a?x:void 0,sx:y,children:[(0,_.jsx)(p,{id:b,children:i}),a&&(0,_.jsx)(o,{children:typeof a==`string`?(0,_.jsx)(u,{id:x,children:a}):(0,_.jsx)(`div`,{id:x,children:a})}),(0,_.jsxs)(f,{sx:{px:3,pb:2},children:[(0,_.jsx)(r,{onClick:t,color:`inherit`,disabled:w,variant:`outlined`,children:c}),(0,_.jsx)(r,{onClick:()=>{if(w)return;let e=n();e instanceof Promise&&(C(!0),e.catch(()=>{}).finally(()=>C(!1)))},color:d,variant:`contained`,loading:w,disabled:h,children:s})]})]})}var g,_;function v(){return(v=e((()=>{g=t(),c(),a(),s(),m(),d(),i(),_=n()})))()}export{v as n,h as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{V as r,z as i}from"./client-DFnuv2z3.js";import{Vt as a,Yt as o}from"./mui-BTN91yBK.js";import{F as s,H as c,I as l,Q as u,V as d,Z as f,c as p,d as m,f as h,g,h as _,i as v,m as y,p as b,r as x,s as S}from"./mui-BXSXx9c9.js";import{B as C,a as w,o as T,z as E}from"./mui-Cd711nOk.js";import{A as D,k as O}from"./mui-AnEgAVjz.js";import{_ as k,v as A}from"./mui-BwsIrivo.js";function ee(e){return e instanceof Element&&!!e.closest(`input:not([type="checkbox"]):not([type="radio"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="range"]):not([type="color"]),textarea,select,[contenteditable="true"],[role="textbox"]`)}function te(e){return e instanceof Element&&!!e.closest(`[data-keyboard-native],.xterm,.cm-editor,.monaco-editor`)}function j(e){for(let t=e;t;t=t.parentElement){if(t.hidden||t.inert||t.getAttribute(`aria-hidden`)===`true`)return!1;let e=getComputedStyle(t);if(e.display===`none`||e.visibility===`hidden`)return!1}return!0}function M(e,t=document.activeElement){let n=document.getElementById(`main-content`);if(!n)return null;let r=t?.closest(`[data-keyboard-region]`),i=[...n.querySelectorAll(`[data-console-command="${e}"]${e===`search`?`,[data-keyboard-search]`:``}`)].filter(j);return i.find(e=>r?.contains(e))??i[0]??null}function N(e){return e.matches(`:disabled,[aria-disabled="true"]`)||!!e.closest(`[inert]`)}function P(e,t){t.isConnected&&j(t)&&!N(t)&&(e===`search`?(t.matches(`input,textarea`)?t:t.querySelector(`input,textarea,[contenteditable="true"]`))?.focus():t.click())}function F(e=document){let t=[...e.querySelectorAll(`[data-keyboard-region],nav[aria-label]`)].filter(e=>j(e)&&(e.hasAttribute(`data-keyboard-region`)||!e.parentElement?.closest(`[data-keyboard-region]`))),n=e===document?document.getElementById(`main-content`):e instanceof HTMLElement?e:null;return n&&j(n)&&!t.some(e=>n.contains(e)&&e.dataset.keyboardRegion!==`Page tools`)&&t.push(n),t}function I(e=1,t=document){let n=F(t);if(!n.length)return;let r=document.activeElement?.closest(`[data-keyboard-region],nav[aria-label]`),i=r?n.indexOf(r):n.findIndex(e=>e.contains(document.activeElement)),a=n[i<0?e>0?0:n.length-1:(i+e+n.length)%n.length],o=(a.id===`main-content`?a:[...a.querySelectorAll(`[data-keyboard-focus]`)].find(j))??[...a.querySelectorAll(`[data-keyboard-focus],button:not(:disabled),input:not(:disabled),textarea:not(:disabled),a[href],[role=combobox]`)].filter(j).find(e=>!N(e))??a;!o.hasAttribute(`tabindex`)&&o===a&&(o.tabIndex=-1),o.focus({preventScroll:!0}),o.scrollIntoView?.({block:`nearest`})}var L;function R(){return(R=e((()=>{L={refresh:{title:`Refresh current view`,key:`r`,hint:`R`},search:{title:`Focus search or filter`,key:`/`,hint:`/`},fit:{title:`Fit topology graph`,key:`0`,hint:`0`},readable:{title:`Readable topology view`,key:`1`,hint:`1`},latest:{title:`Jump to latest logs`,key:`Home`,hint:`Home`}}})))()}function z({actions:e,open:t,onOpenChange:n,onClosed:r,triggerKey:i=`k`,disableShortcut:a=!1,placeholder:o=`Type a command or search…`,emptyMessage:s=`No matching commands`}){let[c,l]=(0,U.useState)(!1),u=t??c,f=(0,U.useCallback)(e=>{t===void 0&&l(e),n?.(e)},[t,n]),[p,h]=(0,U.useState)(``),[g,v]=(0,U.useState)(0),y=(0,U.useRef)(null),b=(0,U.useId)();(0,U.useEffect)(()=>{if(a)return;let e=e=>{e.defaultPrevented||e.isComposing||e.repeat||(e.metaKey||e.ctrlKey)&&e.key.toLowerCase()===i.toLowerCase()&&!e.altKey&&!e.shiftKey&&(e.preventDefault(),f(!u))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[i,a,u,f]),(0,U.useEffect)(()=>{if(u){h(``),v(0);let e=requestAnimationFrame(()=>y.current?.focus());return()=>cancelAnimationFrame(e)}},[u]);let S=(0,U.useMemo)(()=>H(V(e,p)).flatMap(e=>e.items.map(e=>e.action)),[e,p]);(0,U.useEffect)(()=>{g>=S.length&&v(0)},[S.length,g]);let C=(0,U.useCallback)(async e=>{if(!e.disabled){f(!1);try{await e.onSelect()}catch{}}},[f]),T=(0,U.useCallback)(e=>{if(!e.nativeEvent.isComposing){if(e.key===`ArrowDown`)e.preventDefault(),v(e=>S.length===0?0:(e+1)%S.length);else if(e.key===`ArrowUp`)e.preventDefault(),v(e=>S.length===0?0:(e-1+S.length)%S.length);else if(e.key===`Enter`){e.preventDefault();let t=S[g];t&&C(t)}else e.key===`Escape`&&(e.preventDefault(),f(!1))}},[S,g,C,f]),D=(0,U.useMemo)(()=>H(S),[S]);return(0,W.jsx)(_,{"aria-label":`Command palette`,open:u,onClose:()=>f(!1),fullWidth:!0,maxWidth:`sm`,slotProps:{transition:{onExited:r},paper:{sx:{borderRadius:2,mt:`10vh`,alignSelf:`flex-start`}}},children:(0,W.jsxs)(m,{sx:{p:0},children:[(0,W.jsx)(d,{sx:{p:2,pb:1},children:(0,W.jsx)(w,{inputRef:y,fullWidth:!0,variant:`standard`,value:p,onChange:e=>{h(e.target.value),v(0)},onKeyDown:T,placeholder:o,slotProps:{input:{disableUnderline:!0,startAdornment:(0,W.jsx)(O,{position:`start`,sx:{ml:.5,mr:1},children:(0,W.jsx)(d,{component:`span`,sx:{fontSize:18,opacity:.6},children:`⌘`})})},htmlInput:{role:`combobox`,"aria-label":o,"aria-autocomplete":`list`,"aria-expanded":u,"aria-controls":b,"aria-activedescendant":S[g]?`${b}-${S[g].id}`:void 0}}})}),(0,W.jsx)(x,{}),(0,W.jsx)(d,{id:b,role:`listbox`,"aria-label":`Commands`,sx:{maxHeight:360,overflowY:`auto`,py:.5},children:S.length===0?(0,W.jsx)(d,{sx:{p:3,textAlign:`center`},children:(0,W.jsx)(E,{variant:`body2`,sx:{color:`text.secondary`},children:s})}):D.map(e=>(0,W.jsxs)(d,{children:[e.label?(0,W.jsx)(E,{variant:`caption`,sx:{color:`text.secondary`,px:2,py:.75,display:`block`,textTransform:`uppercase`,letterSpacing:.5},children:e.label}):null,e.items.map(e=>(0,W.jsx)(B,{id:`${b}-${e.action.id}`,action:e.action,selected:e.flatIndex===g,onSelect:()=>void C(e.action),onHover:()=>v(e.flatIndex)},e.action.id))]},e.label??`__none__`))})]})})}function B({id:e,action:t,selected:n,onSelect:r,onHover:i}){let o=(0,U.useRef)(null);return(0,U.useEffect)(()=>{n&&o.current&&o.current.scrollIntoView({block:`nearest`})},[n]),(0,W.jsxs)(d,{id:e,role:`option`,"aria-selected":n,"aria-disabled":t.disabled||void 0,ref:o,onMouseEnter:i,onClick:r,sx:e=>({px:2,py:1.25,display:`flex`,alignItems:`center`,gap:1.5,cursor:t.disabled?`not-allowed`:`pointer`,opacity:t.disabled?.5:1,bgcolor:n?a(e.palette.primary.main,.12):`transparent`,"&:hover":{bgcolor:n?a(e.palette.primary.main,.16):a(e.palette.action.hover,1)}}),children:[t.icon?(0,W.jsx)(d,{sx:{display:`flex`,alignItems:`center`,width:20,opacity:.8},children:t.icon}):null,(0,W.jsx)(d,{sx:{flex:1,minWidth:0},children:(0,W.jsxs)(k,{direction:`row`,spacing:1,sx:{alignItems:`baseline`},children:[(0,W.jsx)(E,{variant:`body2`,sx:{fontWeight:500},noWrap:!0,children:t.title}),t.subtitle?(0,W.jsx)(E,{variant:`caption`,noWrap:!0,sx:{color:`text.secondary`},children:t.subtitle}):null]})}),t.shortcut?.length?(0,W.jsx)(k,{direction:`row`,spacing:.5,children:t.shortcut.map((e,t)=>(0,W.jsx)(f,{size:`small`,label:e,variant:`outlined`,sx:{height:20,fontSize:10,fontFamily:`monospace`}},t))}):null]})}function V(e,t){let n=t.trim().toLowerCase();if(!n)return e;let r=[];for(let t of e){let e=[t.title.toLowerCase()];if(t.subtitle&&e.push(t.subtitle.toLowerCase()),t.keywords?.length)for(let n of t.keywords)e.push(n.toLowerCase());let i=-1;for(let t of e){let e=t.indexOf(n);if(e===-1)continue;let r=e===0?1e3-t.length:100-e;r>i&&(i=r)}i>=0&&r.push({action:t,score:i})}return r.sort((e,t)=>t.score-e.score),r.map(e=>e.action)}function H(e){let t=new Map,n=0;for(let r of e){let e=r.group,i=e??`__none__`,a=t.get(i);a||(a={label:e,items:[]},t.set(i,a)),a.items.push({action:r,flatIndex:n}),n+=1}return[...t.values()]}var U,W;function G(){return(G=e((()=>{U=t(),g(),h(),T(),D(),c(),A(),C(),v(),u(),o(),W=n()})))()}function K(e,t=!0,n){let{register:r}=Z(),i=(0,J.useId)(),a=(0,J.useRef)(e);a.current=e;let o=(0,J.useRef)(t);o.current=t;let s=JSON.stringify(e.map(({onSelect:e,icon:t,...n})=>n));(0,J.useEffect)(()=>{if(t)return r(i,{region:n,actions:a.current.map(e=>({...e,onSelect:()=>{let t=a.current.find(t=>t.id===e.id);return o.current&&(!n||n.current&&j(n.current))&&t&&!t.disabled?t.onSelect():void 0}}))})},[i,s,t,r,n])}function q({navigation:e,children:t}){let n=r(),[i,a]=(0,J.useState)(!1),[o,c]=(0,J.useState)(!1),[l,u]=(0,J.useState)([]),[f,p]=(0,J.useState)({}),h=(0,J.useCallback)((e,t)=>(p(n=>({...n,[e]:t})),()=>p(t=>{let n={...t};return delete n[e],n})),[]),g=(0,J.useRef)(null),v=()=>{u(Object.entries(L).flatMap(([e,t])=>{let n=M(e);return n?[{id:`view-${e}`,title:t.title,group:`Current view`,shortcut:[t.hint],disabled:N(n),onSelect:()=>{g.current=()=>P(e,n)}}]:[]})),a(!0)},y=(0,J.useMemo)(()=>[...Object.values(f).flatMap(e=>e.actions.map(e=>({...e,onSelect:()=>{g.current=()=>{e.onSelect()}}}))),...l,...e.flatMap(e=>e.items.flatMap(t=>t.path?[{id:`nav-${t.path}`,title:t.title,group:e.subheader??`Navigation`,icon:t.icon,onSelect:()=>{g.current=()=>n(t.path)}}]:[])),{id:`keyboard-guide`,title:`Keyboard shortcuts`,group:`Console`,shortcut:[`Ctrl / ⌘`,`/`],onSelect:()=>{g.current=()=>c(!0)}}],[l,f,e,n]);return(0,J.useEffect)(()=>{let e=()=>[...document.querySelectorAll(`[role="dialog"],[role="alertdialog"],[role="menu"]`)].some(j),t=e=>{if(e.key===`F6`&&!e.ctrlKey&&!e.metaKey&&!e.altKey&&!e.isComposing){if([...document.querySelectorAll(`[role="menu"],[role="listbox"]`)].filter(j).length)return;let t=[...document.querySelectorAll(`[role="dialog"],[role="alertdialog"]`)].filter(j).at(-1);e.preventDefault(),e.stopPropagation(),I(e.shiftKey?-1:1,t??document)}},n=t=>{if(t.defaultPrevented||t.isComposing||t.repeat||e()||te(t.target))return;let n=t.ctrlKey||t.metaKey;if(n&&!t.shiftKey&&!t.altKey&&t.key.toLowerCase()===`k`){t.preventDefault(),v();return}if(n&&!t.shiftKey&&!t.altKey&&t.key===`/`){t.preventDefault(),c(!0);return}if(n||t.altKey||t.shiftKey||ee(t.target))return;let r=Object.values(f).filter(e=>!e.region||e.region.current?.contains(t.target)).flatMap(e=>e.actions).find(e=>e.key?.toLowerCase()===t.key.toLowerCase());if(r){t.preventDefault(),r.disabled||r.onSelect();return}let i=Object.entries(L).find(([,e])=>e.key.toLowerCase()===t.key.toLowerCase());if(!i)return;let a=i[0],o=M(a);o&&!N(o)&&(t.preventDefault(),P(a,o))};return window.addEventListener(`keydown`,t,!0),window.addEventListener(`keydown`,n),()=>{window.removeEventListener(`keydown`,t,!0),window.removeEventListener(`keydown`,n)}}),(0,Y.jsxs)(X.Provider,{value:{openCommands:v,openHelp:()=>c(!0),register:h},children:[t,(0,Y.jsx)(z,{actions:y,open:i,onOpenChange:a,disableShortcut:!0,placeholder:`Search Console commands…`,onClosed:()=>{let e=g.current;g.current=null,e&&requestAnimationFrame(e)}}),(0,Y.jsxs)(_,{open:o,onClose:()=>c(!1),fullWidth:!0,maxWidth:`md`,"aria-labelledby":`keyboard-guide-title`,children:[(0,Y.jsx)(S,{id:`keyboard-guide-title`,children:`Keyboard`}),(0,Y.jsxs)(m,{children:[(0,Y.jsx)(E,{color:`text.secondary`,variant:`body2`,sx:{mb:2},children:`Console → workspace region → focused control. Fields, editors and SSH own their input. F6 moves focus between regions; shortcuts never bypass permissions or confirmation dialogs.`}),(0,Y.jsx)(k,{divider:(0,Y.jsx)(x,{}),children:Q.map(([e,t,n])=>(0,Y.jsxs)(d,{sx:{display:`grid`,gridTemplateColumns:{xs:`1fr`,sm:`100px minmax(180px, 1fr) 2fr`},gap:1,py:1},children:[(0,Y.jsx)(E,{variant:`caption`,color:`text.secondary`,children:e}),(0,Y.jsx)(E,{component:`kbd`,variant:`body2`,sx:{fontFamily:`monospace`},children:t}),(0,Y.jsx)(E,{variant:`body2`,children:n})]},e+t))})]}),(0,Y.jsx)(b,{children:(0,Y.jsx)(s,{onClick:()=>c(!1),children:`Close`})})]})]})}var J,Y,X,Z,Q;function $(){return($=e((()=>{J=t(),i(),c(),l(),g(),y(),h(),p(),v(),A(),C(),G(),R(),Y=n(),X=(0,J.createContext)({openCommands:()=>{},openHelp:()=>{},register:(e,t)=>()=>{}}),Z=()=>(0,J.useContext)(X),Q=[[`Console`,`Ctrl / ⌘ K`,`Search available pages and commands`],[`Console`,`Ctrl / ⌘ /`,`Open this keyboard guide`],[`Console`,`F6 · Shift F6`,`Next / previous workspace region, including from SSH or the editor`],[`Current view`,`/ · R`,`Focus search / refresh, when those controls are available`],[`Controls`,`Tab · Shift Tab`,`Next / previous control; arrows switch tabs and menu items`],[`Tables`,`↑ ↓ · Home End · Page ↑ ↓`,`Browse rows; Enter opens, Space selects, Escape returns to the table`],[`Files`,`Tab · Shift Tab · Escape`,`Enter a panel at its list; switch A / B; Escape toggles list / tools`],[`Files`,`↑ ↓ · Shift ↑ ↓ · Space`,`Move cursor, extend selection, toggle a file`],[`Files`,`Enter · ← → · Alt ← →`,`Open / parent or selected directory / directory history`],[`Editor`,`Ctrl / ⌘ S · Ctrl / ⌘ F · F6`,`Save / find / cycle editor regions without leaving its dialog`],[`Files`,`F2 · F4 · F5 · Delete`,`Rename / edit / copy / trash; confirmations and permissions still apply`],[`Files`,`Ctrl / ⌘ L · Ctrl / ⌘ A`,`Edit path / select loaded files`],[`Logs`,`Home`,`Jump to the newest logs without changing filters`],[`Topology`,`0 · 1`,`Fit the graph / restore a readable viewport`],[`Dialogs`,`Escape`,`Close the topmost dialog; unsaved changes still require a decision`]]})))()}export{R as a,Z as i,$ as n,j as o,K as r,q as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";function t(e){return e&&n[e]||`default`}var n,r;function i(){return(i=e((()=>{n={online:`success`,running:`success`,healthy:`success`,starting:`warning`,stopping:`warning`,restarting:`warning`,degraded:`warning`,provisioning:`warning`,stopped:`default`,exited:`default`,created:`default`,none:`default`,unknown:`default`,not_found:`default`,crashed:`error`,errored:`error`,error:`error`,unhealthy:`error`,dead:`error`,offline:`error`},r={fatal:`#dc2626`,error:`#ef4444`,warn:`#f59e0b`,info:`#3b82f6`,debug:`#6b7280`,trace:`#9ca3af`}})))()}export{t as i,n,i as r,r as t};
@@ -0,0 +1,3 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{O as r,P as i,h as a,m as o,z as s}from"./client-DFnuv2z3.js";import{n as c,r as ee}from"./services-BddvcFi8.js";import{Vt as l,Yt as u}from"./mui-BTN91yBK.js";import{D as d,F as te,H as f,I as p,M as m,O as h,Q as g,V as _,Z as v,c as y,d as b,f as x,g as S,h as C,j as w,m as T,p as E,s as D}from"./mui-BXSXx9c9.js";import{B as O,F as k,I as ne,z as A}from"./mui-Cd711nOk.js";import{B as j,C as re,it as M,rt as N,w as P,z as F}from"./mui-AnEgAVjz.js";import{_ as I,v as L}from"./mui-BwsIrivo.js";import{r as R,t as z}from"./alert-uBG6r9NW.js";import{c as ie,n as B,s as V}from"./access-48hkC2-P.js";import{n as ae,t as H}from"./use-polled-resource-B22hhr5L.js";import{i as U,r as oe,t as W}from"./project.store--G5pIF-J.js";import{C as se,G,M as ce,k as le,l as ue,u as K,z as de}from"./icons-OboZgWSt.js";import{n as q,t as fe}from"./page-breadcrumbs-fR7Jmpp4.js";import{n as pe,t as me}from"./admin-data-table-BKSDI8sU.js";import{n as J,t as he}from"./confirm-dialog-BbGsAz7_.js";import{n as Y,t as ge}from"./skeleton-BmWDJWF9.js";import{n as _e,t as ve}from"./use-stack-context-UkBsF-l7.js";function ye(e){let t=Object.entries(e??{});return t.length===0?`--`:t.sort(([,e],[,t])=>e-t).map(([e,t])=>`${e}→${t}`).join(`, `)}function X({title:e,value:t,icon:n,color:r,loading:i}){return(0,Q.jsx)(w,{variant:`outlined`,children:(0,Q.jsx)(d,{sx:{p:{xs:1.5,sm:2},"&:last-child":{pb:{xs:1.5,sm:2}}},children:(0,Q.jsxs)(I,{direction:`row`,spacing:2,sx:{alignItems:`center`,justifyContent:`space-between`},children:[(0,Q.jsxs)(I,{spacing:.5,children:[(0,Q.jsx)(A,{variant:`body2`,sx:{color:`text.secondary`},children:e}),i?(0,Q.jsx)(ge,{width:60,height:40}):(0,Q.jsx)(A,{variant:`h4`,sx:{fontSize:{xs:24,sm:28}},children:t})]}),(0,Q.jsx)(_,{sx:{p:1.5,borderRadius:2,bgcolor:e=>l(e.palette[r].main,.12),color:`${r}.main`,display:{xs:`none`,sm:`flex`}},children:n})]})})})}function be({open:e,containerName:t,logs:n,onClose:r}){return(0,Q.jsxs)(C,{open:e,onClose:r,maxWidth:`md`,fullWidth:!0,children:[(0,Q.jsxs)(D,{sx:{fontFamily:`monospace`},children:[`Logs: `,t]}),(0,Q.jsx)(b,{dividers:!0,sx:{minHeight:0,maxHeight:`min(60dvh, 560px)`},children:(0,Q.jsx)(_,{component:`pre`,sx:{m:0,color:`text.primary`,fontFamily:`monospace`,fontSize:12,lineHeight:1.6,whiteSpace:`pre-wrap`,overflowWrap:`anywhere`},children:n.length===0?`No logs available.`:n.join(`
2
+ `)})}),(0,Q.jsx)(E,{children:(0,Q.jsx)(te,{onClick:r,size:`small`,children:`Close`})})]})}function xe(){let{activeProject:e,activeStack:t}=_e(),{can:n}=ie(),a=n(`OmnitronProject.listStacks`),s=U(e=>e.fetchStacks),c=U(t=>e?t.stacksByProject[e]:void 0),l=U(t=>e?t.stackReadErrors[e]:null);(0,Z.useEffect)(()=>{e&&a&&c===void 0&&s(e)},[e,a,c,s]);let u=oe().filter(e=>a&&e.type!==`local`&&(!t||e.name===t)),{data:d,loading:f,error:p,refresh:m}=ae(async()=>{let e=await o.listContainers();return Array.isArray(e)?e:[]},{intervalMs:1e4,describeError:e=>`Could not ask the container runtime: ${e instanceof Error?e.message:String(e)}`}),[h,g]=(0,Z.useState)(null),y=(0,Z.useRef)(new Set),[b,x]=(0,Z.useState)({}),S=async()=>{await Promise.all([m(),e&&a?s(e):null])},C=async(e,t,n,i=!0)=>{if(!y.current.has(e)){y.current.add(e),x(n=>({...n,[e]:t})),g(null);try{await n()}catch(n){g(i&&(r(n)||ee(n))?`${t} ${e}: acknowledgement unavailable. The operation may have completed. Check the current container state before retrying.`:`${t} ${e} failed: ${n instanceof Error?n.message:String(n)}`)}finally{i&&await m(),y.current.delete(e),x(t=>{let n={...t};return delete n[e],n})}}},[w,T]=(0,Z.useState)(null),[E,D]=(0,Z.useState)(0),[O,ne]=(0,Z.useState)(25);(0,Z.useEffect)(()=>D(0),[e,t]);let j=(d??[]).filter(n=>!e||!n.project||n.project===e&&(!t||n.stack===t)),[M,P]=(0,Z.useState)(!1),[L,R]=(0,Z.useState)(``),[V,H]=(0,Z.useState)([]),W=d!==null,G=e=>W?e:`—`,q=j.length,pe=j.filter(e=>e.status===`running`).length,J=j.filter(e=>e.status===`exited`).length,Y=j.filter(e=>e.health===`unhealthy`||e.health===`starting`||e.error||e.provisioning&&e.provisioning!==`ready`).length,ge=e=>C(e,`Starting`,async()=>{await o.startContainer({name:e})}),ve=e=>C(e,`Stopping`,async()=>{await o.stopContainer({name:e})}),xe=async()=>{if(!w)return;let e=w;await C(e,`Removing`,async()=>{await o.removeContainer({name:e}),T(null)})},$=e=>C(e.name,`Loading logs`,async()=>{let{logs:t}=await o.getContainerLogs({name:e.name,tail:200});R(e.name),H(t?t.split(`
3
+ `):[]),P(!0)},!1),we=j.slice(E*O,E*O+O);return(0,Q.jsxs)(I,{spacing:3,children:[(0,Q.jsx)(B,{permission:`OmnitronInfra.removeContainer`,children:(0,Q.jsx)(he,{open:w!==null,onClose:()=>T(null),onConfirm:xe,title:`Remove container?`,content:(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`b`,{children:w}),` will be removed. Data outside a named volume is lost, and the daemon recreates the container on the next `,(0,Q.jsx)(`code`,{children:`omnitron up`}),`.`]}),confirmLabel:`Remove`,confirmColor:`error`})}),(0,Q.jsx)(fe,{links:[{name:`Containers`}],action:(0,Q.jsx)(N,{"data-console-command":`refresh`,size:`small`,onClick:S,title:`Refresh`,"aria-label":`Refresh local containers and stack locations`,children:(0,Q.jsx)(ce,{})})}),(0,Q.jsxs)(I,{direction:`row`,spacing:1,useFlexGap:!0,sx:{alignItems:`center`,flexWrap:`wrap`},children:[(0,Q.jsx)(v,{size:`small`,variant:`outlined`,label:`Local node`}),(0,Q.jsx)(A,{variant:`caption`,sx:{color:`text.secondary`},children:`This controller's Docker engine. Counts include the visible project, control-plane and unassigned containers, not remote nodes.`})]}),e&&(!a||c===void 0||l)&&(0,Q.jsxs)(z,{severity:l?`warning`:`info`,variant:`outlined`,children:[a?l?`Stack locations unavailable: ${l}`:`Loading stack locations… Remote infrastructure is not included in this local inventory.`:`Stack locations are unavailable with your current permissions.`,a&&l&&(0,Q.jsx)(te,{size:`small`,onClick:()=>void s(e),children:`Retry stack locations`})]}),h&&(0,Q.jsx)(z,{closable:!0,severity:`warning`,variant:`outlined`,onClose:()=>g(null),children:h}),u.length>0&&(0,Q.jsxs)(A,{variant:`body2`,sx:{color:`text.secondary`},children:[`Remote infrastructure:`,` `,u.map((e,t)=>(0,Q.jsxs)(`span`,{children:[t>0&&`, `,(0,Q.jsx)(re,{component:i,to:`/stacks/${encodeURIComponent(e.name)}`,children:e.name})]},e.name))]}),(0,Q.jsxs)(F,{container:!0,spacing:{xs:1.5,sm:3},children:[(0,Q.jsx)(F,{size:{xs:6,md:3},children:(0,Q.jsx)(X,{title:`Local total`,value:G(q),icon:(0,Q.jsx)(K,{}),color:`primary`,loading:f})}),(0,Q.jsx)(F,{size:{xs:6,md:3},children:(0,Q.jsx)(X,{title:`Running`,value:G(pe),icon:(0,Q.jsx)(K,{}),color:`success`,loading:f})}),(0,Q.jsx)(F,{size:{xs:6,md:3},children:(0,Q.jsx)(X,{title:`Stopped`,value:G(J),icon:(0,Q.jsx)(K,{}),color:J>0?`error`:`info`,loading:f})}),(0,Q.jsx)(F,{size:{xs:6,md:3},children:(0,Q.jsx)(X,{title:`Not ready`,value:G(Y),icon:(0,Q.jsx)(K,{}),color:Y>0?`error`:`success`,loading:f})})]}),(0,Q.jsx)(me,{minWidth:640,scrollLabel:`Local containers`,columns:[{key:`name`,header:`Name`,render:e=>(0,Q.jsxs)(_,{children:[(0,Q.jsx)(A,{variant:`body2`,sx:{fontWeight:600},children:e.name}),b[e.name]&&(0,Q.jsxs)(A,{variant:`caption`,role:`status`,sx:{color:`text.secondary`},children:[b[e.name],`…`]})]})},{key:`scope`,header:`Scope`,render:e=>(0,Q.jsx)(A,{variant:`caption`,sx:{color:`text.secondary`},children:e.project?`${e.project}${e.stack?` / ${e.stack}`:``}`:e.lifecycleRestriction?`Control plane`:`Unassigned`})},{key:`image`,header:`Image`,render:e=>(0,Q.jsx)(A,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:13},children:e.image})},{key:`status`,header:`Status`,render:e=>(0,Q.jsx)(v,{label:e.status,size:`small`,color:Se[e.status]??`default`,variant:`filled`,sx:{textTransform:`capitalize`,fontWeight:600}})},{key:`health`,header:`Health`,render:e=>(0,Q.jsx)(v,{label:!e.health||e.health===`none`?`Not reported`:e.health,size:`small`,color:Ce[e.health??`none`]??`default`,variant:`outlined`,sx:{textTransform:`capitalize`}})},{key:`provisioning`,header:`Setup`,render:e=>(0,Q.jsxs)(I,{spacing:.5,sx:{minWidth:120,maxWidth:320},children:[(0,Q.jsx)(v,{label:e.provisioning??`Not verified`,size:`small`,variant:`outlined`,color:e.provisioning===`ready`?`success`:e.provisioning===`failed`?`error`:e.provisioning===`pending`?`warning`:`default`,sx:{alignSelf:`flex-start`,textTransform:`capitalize`}}),e.error&&(0,Q.jsx)(A,{variant:`caption`,color:`error.main`,sx:{overflowWrap:`anywhere`},children:e.error})]})},{key:`ports`,header:`Ports`,render:e=>(0,Q.jsx)(A,{variant:`caption`,sx:{fontFamily:`monospace`,fontSize:12},children:ye(e.ports)})},{key:`actions`,header:`Actions`,align:`right`,render:e=>(0,Q.jsxs)(I,{direction:`row`,spacing:.5,sx:{justifyContent:`flex-end`},children:[e.lifecycleRestriction?(0,Q.jsx)(k,{title:e.lifecycleRestriction,children:(0,Q.jsx)(v,{tabIndex:0,size:`small`,variant:`outlined`,label:`Read only`,"aria-label":`Read only. ${e.lifecycleRestriction}`})}):(0,Q.jsx)(B,{permission:`OmnitronInfra.removeContainer`,children:(0,Q.jsx)(k,{title:`Remove`,children:(0,Q.jsx)(N,{size:`small`,color:`error`,disabled:!!b[e.name],loading:b[e.name]===`Removing`,"aria-label":`Remove container ${e.name}`,onClick:()=>T(e.name),sx:{marginInlineEnd:1},children:(0,Q.jsx)(ue,{fontSize:`small`})})})}),(0,Q.jsx)(k,{title:`Logs`,children:(0,Q.jsx)(N,{size:`small`,disabled:!!b[e.name],loading:b[e.name]===`Loading logs`,"aria-label":`Logs for ${e.name}`,onClick:()=>$(e),children:(0,Q.jsx)(se,{fontSize:`small`})})}),!e.lifecycleRestriction&&e.status!==`running`&&(0,Q.jsx)(B,{permission:`OmnitronInfra.startContainer`,children:(0,Q.jsx)(k,{title:`Start`,children:(0,Q.jsx)(N,{size:`small`,color:`success`,disabled:!!b[e.name],loading:b[e.name]===`Starting`,"aria-label":`Start container ${e.name}`,onClick:()=>ge(e.name),children:(0,Q.jsx)(le,{fontSize:`small`})})})}),!e.lifecycleRestriction&&e.status===`running`&&(0,Q.jsx)(B,{permission:`OmnitronInfra.stopContainer`,children:(0,Q.jsx)(k,{title:`Stop`,children:(0,Q.jsx)(N,{size:`small`,color:`warning`,disabled:!!b[e.name],loading:b[e.name]===`Stopping`,"aria-label":`Stop container ${e.name}`,onClick:()=>ve(e.name),children:(0,Q.jsx)(de,{fontSize:`small`})})})})]})}],data:we,total:j.length,loading:f,loadError:p??null,emptyMessage:`No local containers in this scope. Remote infrastructure is shown on its stack page.`,rowKey:e=>e.name,page:E,pageSize:O,onPageChange:D,onPageSizeChange:e=>{ne(e),D(0)},dense:!0}),(0,Q.jsx)(be,{open:M,containerName:L,logs:V,onClose:()=>P(!1)})]})}var Z,Q,Se,Ce;function $(){return($=e((()=>{V(),Z=t(),f(),j(),m(),h(),O(),L(),g(),p(),M(),ne(),S(),y(),x(),T(),u(),G(),pe(),R(),q(),J(),Y(),a(),s(),P(),ve(),W(),H(),c(),Q=n(),Se={running:`success`,exited:`error`,created:`default`,restarting:`warning`,paused:`info`},Ce={healthy:`success`,unhealthy:`error`,none:`default`,starting:`warning`}})))()}$();export{xe as default};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t}from"./react-BN8qLIAi.js";function n(){let e=(0,r.useContext)(i);if(!e)throw Error(`usePrismContext must be used within a PrismProvider`);return e}var r,i;function a(){return(a=e((()=>{r=t(),i=(0,r.createContext)(null),i.displayName=`PrismContext`})))()}export{a as n,n as r,i as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{$ as r,A as i,At as ee,B as te,Bt as ne,C as re,Ct as ie,D as ae,Dt as oe,E as se,Et as ce,F as le,Ft as ue,G as de,Gt as fe,H as pe,Ht as me,I as he,It as ge,J as _e,K as ve,Kt as ye,L as be,Lt as xe,M as Se,Mt as Ce,N as we,Nt as Te,O as Ee,Ot as De,P as Oe,Pt as ke,Q as Ae,R as je,Rt as Me,S as Ne,St as Pe,T as Fe,Tt as Ie,U as Le,Ut as Re,V as a,Vt as o,W as s,Wt as c,X as l,Y as u,Z as d,_ as f,_t as p,a as m,at as h,b as ze,bt as Be,c as Ve,ct as He,d as Ue,dt as We,et as Ge,f as Ke,ft as qe,g as Je,gt as Ye,h as Xe,ht as Ze,i as Qe,it as $e,j as et,jt as tt,k as nt,kt as rt,l as it,lt as at,m as g,mt as ot,n as st,nt as ct,o as lt,ot as ut,p as dt,pt as ft,q as pt,r as mt,rt as ht,s as gt,st as _t,t as vt,tt as yt,u as bt,ut as xt,v as St,vt as Ct,w as wt,wt as Tt,x as Et,xt as Dt,y as Ot,yt as kt,z as At,zt as jt}from"./mui-DyT2n1lx.js";function _(e,t){let n=(0,v.forwardRef)(function(n,r){let i=(0,v.useContext)(x)[e]??t;return(0,y.jsx)(i,{...n,ref:r,"data-prism-icon":e})});return n.displayName=`PrismIcon(${e})`,n}var v,y,b,x;function S(){return(S=e((()=>{v=t(),y=n(),b=Object.freeze({}),x=(0,v.createContext)(b)})))()}var C,w,T,E,D,O,k,A,j,M,N,P,F,I,L,R,z,B,V,H,U,W,G,K,q,J,Y,X,Z,Q;function $(){return($=e((()=>{S(),ye(),c(),me(),ne(),Me(),ge(),ke(),Ce(),ee(),De(),ce(),Tt(),Pe(),Be(),Ct(),Ye(),ot(),qe(),xt(),He(),ut(),$e(),ct(),Ge(),Ae(),l(),_e(),ve(),s(),pe(),te(),je(),he(),Oe(),Se(),i(),Ee(),se(),wt(),Ne(),ze(),St(),Je(),g(),Ke(),bt(),Ve(),lt(),Qe(),st(),C=_(`search`,fe),w=_(`close`,Re),T=_(`chevronDown`,o),_(`chevronUp`,jt),E=_(`chevronLeft`,xe),D=_(`chevronRight`,ue),O=_(`arrowUp`,Te),k=_(`arrowDown`,tt),A=_(`arrowLeft`,rt),j=_(`arrowRight`,oe),_(`arrowUpRight`,Ie),M=_(`panelCollapse`,ie),N=_(`panelExpand`,Dt),P=_(`menu`,kt),F=_(`add`,p),I=_(`remove`,Ze),_(`drag`,ft),L=_(`check`,We),R=_(`info`,at),z=_(`warning`,_t),B=_(`error`,h),V=_(`success`,ht),_(`checkbox`,yt),_(`checkboxChecked`,r),_(`checkboxMixed`,d),H=_(`radio`,u),U=_(`radioChecked`,pt),W=_(`more`,de),G=_(`filter`,Le),K=_(`empty`,a),q=_(`copy`,At),_(`calendar`,be),J=_(`download`,le),_(`upload`,we),_(`zoomIn`,et),_(`zoomOut`,nt),_(`fitView`,ae),_(`fullscreen`,Fe),_(`fullscreenExit`,re),_(`share`,Et),_(`play`,Ot),_(`eye`,f),_(`eyeOff`,Xe),_(`keyboard`,dt),_(`lock`,Ue),_(`unlock`,it),Y=_(`star`,gt),X=_(`starEmpty`,m),Z=_(`firstPage`,mt),Q=_(`lastPage`,vt)})))()}export{z as A,U as C,X as D,C as E,_ as M,S as N,Y as O,N as S,I as T,R as _,O as a,W as b,E as c,q as d,J as f,Z as g,G as h,j as i,$ as j,V as k,D as l,B as m,k as n,L as o,K as p,A as r,T as s,F as t,w as u,Q as v,H as w,M as x,P as y};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";var t,n,r;function i(){return(i=e((()=>{t=e=>e.apps.reduce((e,t)=>e+t.memory,0),n=e=>e.appsMemory??t(e),r=e=>e.daemonMemory??e.totalMemory-t(e)})))()}export{r as n,i as r,n as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{P as r,c as i,h as a,v as ee,z as o}from"./client-DFnuv2z3.js";import{D as s,E as c,F as te,H as l,I as u,M as d,O as f,Q as p,T as m,V as h,Z as g,j as _}from"./mui-BXSXx9c9.js";import{B as v,a as ne,o as y,z as b}from"./mui-Cd711nOk.js";import{B as x,C as S,l as C,u as w,w as T,z as E}from"./mui-AnEgAVjz.js";import{_ as D,v as O}from"./mui-BwsIrivo.js";import{r as k,t as A}from"./alert-uBG6r9NW.js";import{r as re,t as j}from"./use-polled-resource-B22hhr5L.js";import{i as M,l as ie,r as ae,t as N,u as oe}from"./project.store--G5pIF-J.js";import{n as P,t as F}from"./realtime.store-CBDO4Abj.js";import{a as I,u as se}from"./app-address-BCXfN59F.js";import{i as L,r as R}from"./constants-CyhngVXh.js";import{n as z,t as ce}from"./page-breadcrumbs-fR7Jmpp4.js";import{s as B}from"./formatters-RnRy4bXm.js";import{n as V,t as H}from"./use-stack-context-UkBsF-l7.js";import{i as U,n as W,r as G,s as K}from"./metric-series-WxePniyw.js";import{n as q,t as le}from"./comparison-bars-BtC0dHjF.js";import{n as J,r as ue}from"./card-DkH32gMY.js";function de({apps:e}){let[t,n]=(0,Y.useState)(`memory`),r=t===`memory`?W:G,i=e.filter(e=>Number.isFinite(e[t])&&e[t]>=0).sort((e,n)=>n[t]-e[t]).slice(0,6),a=i.map(n=>({id:n.key,name:e.some(e=>e.name===n.name&&e.key!==n.key)?`${n.name} · ${n.key}`:n.name,value:n[t]}));return(0,X.jsxs)(_,{variant:`outlined`,children:[(0,X.jsx)(m,{title:`Resource distribution`,subheader:i.length?`Top ${i.length} · latest readings, scaled to largest`:`Latest readings`,slotProps:{title:{variant:`subtitle2`},subheader:{variant:`caption`}},action:(0,X.jsxs)(ne,{select:!0,size:`small`,label:`Resource`,value:t,onChange:e=>n(e.target.value),sx:{minWidth:130},children:[(0,X.jsx)(C,{value:`memory`,children:`Memory`}),(0,X.jsx)(C,{value:`cpu`,children:`CPU`})]})}),(0,X.jsx)(s,{sx:{pt:0,px:{xs:1.5,sm:2}},children:i.length?(0,X.jsx)(le,{label:t===`memory`?`Resident memory by application`:`CPU by application`,items:a,format:r}):(0,X.jsx)(b,{variant:`body2`,color:`text.secondary`,children:`No resource readings available.`})})]})}var Y,X;function Z(){return(Z=e((()=>{Y=t(),d(),f(),c(),w(),y(),v(),q(),U(),X=n()})))()}function fe({app:e}){return(0,$.jsx)(_,{variant:`outlined`,sx:{height:`100%`,"& h4":{fontSize:{xs:22,sm:26},overflowWrap:`anywhere`,fontVariantNumeric:`tabular-nums`}},children:(0,$.jsxs)(s,{sx:{p:2,"&:last-child":{pb:2}},children:[(0,$.jsxs)(D,{direction:`row`,useFlexGap:!0,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`,mb:1.5},children:[(0,$.jsx)(b,{variant:`subtitle2`,sx:{minWidth:0,flex:`1 1 100px`,overflowWrap:`anywhere`},children:e.remote?e.name:(0,$.jsx)(S,{component:r,to:`/apps/${encodeURIComponent(e.key)}`,color:`inherit`,underline:`hover`,children:e.name})}),(0,$.jsx)(g,{label:e.status,color:L(e.status),size:`small`,variant:`outlined`})]}),(0,$.jsx)(h,{sx:{display:`grid`,gridTemplateColumns:`1fr 1fr`,gap:1.5},children:[{label:`CPU`,value:G(e.cpu)},{label:`Resident memory`,value:W(e.memory)},{label:`Uptime`,value:B(e.uptime)},{label:`Restarts`,value:e.restarts}].map(e=>(0,$.jsxs)(h,{sx:{minWidth:0},children:[(0,$.jsx)(b,{variant:`caption`,color:`text.secondary`,children:e.label}),(0,$.jsx)(b,{variant:`body2`,sx:{fontVariantNumeric:`tabular-nums`,overflowWrap:`anywhere`},children:e.value})]},e.label))}),!!e.processes?.length&&(0,$.jsxs)(b,{variant:`caption`,color:`text.secondary`,sx:{display:`block`,mt:1.5},children:[e.processes.filter(e=>e.status===`online`).length,`/`,e.processes.length,` processes online`]})]})})}function pe({apps:e,activeStack:t,activeProject:n}){if(t||e.every(e=>e.stack===null))return(0,$.jsx)(E,{container:!0,spacing:1.5,children:e.map(e=>(0,$.jsx)(E,{size:{xs:12,sm:6,md:4,lg:3},children:(0,$.jsx)(fe,{app:e})},e.key))});let r=new Map;for(let t of e){let e=n?t.stack??`default`:t.key.includes(`/`)?t.key.split(`/`).slice(0,2).join(`/`):`Local`;r.has(e)||r.set(e,[]),r.get(e).push(t)}return(0,$.jsx)(D,{spacing:3,children:Array.from(r.entries()).map(([e,t])=>(0,$.jsxs)(h,{children:[(0,$.jsxs)(D,{direction:`row`,sx:{alignItems:`center`,gap:1,flexWrap:`wrap`,mb:1.5},children:[(0,$.jsx)(h,{sx:{width:8,height:8,borderRadius:`50%`,bgcolor:t.every(e=>e.status===`online`)?`success.main`:`warning.main`}}),(0,$.jsxs)(b,{variant:`subtitle2`,sx:{fontWeight:700,textTransform:`uppercase`,letterSpacing:.5,overflowWrap:`anywhere`},children:[e,t.some(e=>e.remote)?` · remote`:``]}),(0,$.jsxs)(b,{variant:`caption`,sx:{color:`text.secondary`},children:[t.filter(e=>e.status===`online`).length,`/`,t.length,` online`]})]}),(0,$.jsx)(E,{container:!0,spacing:1.5,children:t.map(e=>(0,$.jsx)(E,{size:{xs:12,sm:6,md:4,lg:3},children:(0,$.jsx)(fe,{app:e})},e.key))})]},e))})}function me(){return(0,$.jsx)($.Fragment,{children:Array.from({length:4}).map((e,t)=>(0,$.jsx)(E,{size:{xs:6,sm:3},children:(0,$.jsx)(J,{label:``,value:``,loading:!0,sx:{height:`100%`,"& h4":{fontSize:{xs:22,sm:26},overflowWrap:`anywhere`,fontVariantNumeric:`tabular-nums`}}})},t))})}function he(){let{activeProject:e,activeStack:t}=V();return(0,$.jsx)(ge,{},JSON.stringify([e,t]))}function ge(){let[e,t]=(0,Q.useState)([]),[n,a]=(0,Q.useState)(null),[o,s]=(0,Q.useState)(!0),[c,l]=(0,Q.useState)(null),u=(0,Q.useRef)(!0),d=(0,Q.useRef)(!1),[f,p]=(0,Q.useState)(null),{activeProject:m,activeStack:g}=V(),_=ae(),v=_.filter(e=>!g||e.name===g),ne=M(e=>!!m&&e.stacksByProject[m]!==void 0),y=(0,Q.useCallback)(async()=>{if(!d.current){d.current=!0;try{let[e,n,r]=await Promise.allSettled([m?M.getState().fetchStacks(m):Promise.resolve(null),i.list(),ee.getSnapshot()]);n.status===`fulfilled`&&t(n.value),r.status===`fulfilled`&&a(r.value);let o=[m&&(e.status===`rejected`||e.value===null)?`${m}'s apps`:null,n.status===`rejected`?`the app list`:null,r.status===`rejected`?`metrics`:null].filter(Boolean);if(o.length>0){let t=(e.status===`rejected`?e.reason?.message:m?M.getState().stackReadErrors[m]:null)??(n.status===`rejected`?n.reason?.message:null)??(r.status===`rejected`?r.reason?.message:null)??`the daemon did not answer`;l(`Could not refresh ${o.join(` and `)} — ${t}. Figures below are the last received.`);return}l(null),p(Date.now())}catch(e){l(e?.message??`Failed to connect to daemon`)}finally{d.current=!1,u.current&&=(s(!1),!1)}}},[m]),x=(0,Q.useRef)(!1);(0,Q.useEffect)(()=>{x.current?y():x.current=!0},[y]);let S=P(e=>e.connected),C=P(e=>e.lastEvent),w=P(e=>e.initialize);(0,Q.useEffect)(()=>w(),[w]),re(()=>void y(),{intervalMs:S?15e3:5e3}),(0,Q.useEffect)(()=>{C&&y()},[C,y]);let T=se(m,g,ne?ie(_):null,e),O=T??[],k=n?.apps??{},j=e=>e.remote||e.status!==`online`?void 0:k[e.key],N=O.length,F=O.filter(e=>e.status===`online`).length,I=O.filter(e=>e.status===`unknown`).length,L=N-F-I,R=O.map(e=>({...e,cpu:j(e)?.cpu??e.cpu,memory:j(e)?.memory??e.memory})),z=K(R.map(e=>e.cpu)),B=K(R.map(e=>e.memory)),{runningStacks:H,unknownStacks:U}=oe(v),q=M(e=>!!m&&e.stacksByProject[m]!==void 0);return(0,$.jsxs)(D,{spacing:2,sx:{minWidth:0},children:[(0,$.jsx)(ce,{heading:`Overview`,links:[{name:`Overview`}],action:m?(0,$.jsxs)(D,{direction:`row`,spacing:1,children:[(0,$.jsx)(te,{component:r,to:`/metrics`,size:`small`,children:`Metrics`}),(0,$.jsx)(te,{component:r,to:`/topology`,size:`small`,children:`Topology`})]}):void 0}),c&&(0,$.jsx)(A,{severity:`warning`,variant:`outlined`,children:c}),(0,$.jsx)(E,{container:!0,spacing:1.5,children:o||T===null?(0,$.jsx)(me,{}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(E,{size:{xs:6,sm:3},children:(0,$.jsx)(J,{label:`Applications`,value:N===0?`0`:`${F}/${N}`,subtitle:N===0?`No apps yet`:[L>0?`${L} not online`:``,I>0?`${I} unknown`:``].filter(Boolean).join(` · `)||`All online`,color:N===0?`secondary`:L+I>0?`warning`:`success`,sx:{height:`100%`,"& h4":{fontSize:{xs:22,sm:26},overflowWrap:`anywhere`,fontVariantNumeric:`tabular-nums`}}})}),(0,$.jsx)(E,{size:{xs:6,sm:3},children:(0,$.jsx)(J,{label:`Stacks`,value:m?q?`${H}/${v.length}`:`—`:new Set(O.map(e=>e.key.split(`/`).slice(0,-1).join(`/`)||`local`)).size,subtitle:m?`${H} running${U?` · ${U} unknown`:``}`:`On this daemon`,color:H>0?`primary`:`secondary`,sx:{height:`100%`,"& h4":{fontSize:{xs:22,sm:26},overflowWrap:`anywhere`,fontVariantNumeric:`tabular-nums`}}})}),(0,$.jsx)(E,{size:{xs:6,sm:3},children:(0,$.jsx)(J,{label:`CPU`,value:G(z),subtitle:`Sum across selected apps`,color:`primary`,sx:{height:`100%`,"& h4":{fontSize:{xs:22,sm:26},overflowWrap:`anywhere`,fontVariantNumeric:`tabular-nums`}}})}),(0,$.jsx)(E,{size:{xs:6,sm:3},children:(0,$.jsx)(J,{label:`Memory`,value:W(B),subtitle:`Resident bytes`,color:`info`,sx:{height:`100%`,"& h4":{fontSize:{xs:22,sm:26},overflowWrap:`anywhere`,fontVariantNumeric:`tabular-nums`}}})})]})}),f&&(0,$.jsxs)(b,{variant:`caption`,color:`text.secondary`,children:[m?`Selected deployments`:`This daemon’s applications`,` · received`,` `,new Date(f).toLocaleTimeString(),`. CPU can exceed 100%; memory has no inferred capacity limit.`]}),!o&&O.length>0&&(0,$.jsx)(de,{apps:R}),!o&&T!==null&&O.length===0&&(0,$.jsx)(A,{severity:`info`,variant:`outlined`,children:`No applications in this selection.`}),O.length>0&&(0,$.jsxs)(h,{children:[(0,$.jsx)(b,{variant:`h6`,sx:{fontWeight:700,mb:2},children:`Applications`}),(0,$.jsx)(pe,{apps:R,activeStack:g,activeProject:m})]})]})}var Q,$;function _e(){return(_e=e((()=>{z(),Q=t(),x(),d(),f(),v(),O(),l(),p(),T(),u(),o(),R(),U(),Z(),k(),ue(),a(),F(),j(),N(),H(),I(),$=n()})))()}_e();export{he as default};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{c as r,h as i,n as a,v as o,x as s,y as c}from"./client-DFnuv2z3.js";import{F as l,H as u,I as d,Q as f,St as p,V as m,Z as h,c as g,d as _,f as v,g as y,h as b,i as x,m as S,p as C,r as w,s as T,xt as E}from"./mui-BXSXx9c9.js";import{B as D,a as O,o as k,z as A}from"./mui-Cd711nOk.js";import{B as j,U as ee,W as M,ct as N,d as te,f as ne,it as re,l as P,rt as ie,st as ae,u as oe,z as se}from"./mui-AnEgAVjz.js";import{S as ce,_ as F,n as le,t as ue,v as de,x as fe}from"./mui-BwsIrivo.js";import{r as pe,t as me}from"./alert-uBG6r9NW.js";import{n as he,t as ge}from"./error-boundary-CLLI8PWw.js";import{c as _e,s as ve}from"./access-48hkC2-P.js";import{n as I,t as ye}from"./use-polled-resource-B22hhr5L.js";import{a as be,n as xe}from"./storage-CKXnhqkt.js";import{a as Se,u as Ce}from"./app-address-BCXfN59F.js";import{A as we,G as Te,M as Ee,T as De,h as Oe}from"./icons-OboZgWSt.js";import{n as ke,t as Ae}from"./operation-status-Bm1x1wTz.js";import{n as je,t as Me}from"./page-breadcrumbs-fR7Jmpp4.js";import{i as Ne,s as Pe}from"./formatters-RnRy4bXm.js";import{n as Fe,t as Ie}from"./metric-chart-M-kI-XOt.js";import{n as Le,t as Re}from"./use-stack-context-UkBsF-l7.js";import{n as ze,t as Be}from"./empty-content-7jOFhG4C.js";import{n as Ve,r as He}from"./daemon-memory-BiEtr9jr.js";import{a as Ue,i as L,n as We,o as Ge,r as Ke,s as qe,t as R}from"./metric-series-WxePniyw.js";function Je(e=!1){let[t,n]=(0,z.useState)(e),r=(0,z.useCallback)(()=>{n(!0)},[]),i=(0,z.useCallback)(()=>{n(!1)},[]),a=(0,z.useCallback)(()=>{n(e=>!e)},[]);return(0,z.useMemo)(()=>({value:t,onTrue:r,onFalse:i,onToggle:a,setValue:n}),[t,r,i,a])}var z;function Ye(){return(Ye=e((()=>{z=t()})))()}function Xe(){let e=(0,B.useContext)(st);if(!e)throw Error(`useDashboardBlockContext must be used within DashboardBlock`);return e}function Ze({title:e,subtitle:t,icon:n,actions:r,sx:i}){let{collapsible:a,collapsed:o,toggleCollapse:s,size:c,labels:l}=Xe(),u=H[c];return(0,V.jsxs)(m,{"data-testid":`prism-dashboard-block-header`,sx:[{display:`flex`,alignItems:`flex-start`,justifyContent:`space-between`,gap:2,px:u.headerPx,py:u.headerPy},...Array.isArray(i)?i:[i]],children:[(0,V.jsxs)(m,{sx:{display:`flex`,alignItems:`flex-start`,gap:1.5,flex:1,minWidth:0},children:[n&&(0,V.jsx)(m,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,mt:.25,color:`primary.main`},children:n}),(0,V.jsxs)(m,{sx:{flex:1,minWidth:0},children:[(0,V.jsx)(A,{variant:u.titleVariant,component:`h3`,sx:{fontWeight:600,lineHeight:1.4,display:`-webkit-box`,WebkitBoxOrient:`vertical`,WebkitLineClamp:2,overflow:`hidden`,overflowWrap:`anywhere`},children:e}),t&&(0,V.jsx)(A,{variant:u.subtitleVariant,sx:{color:`text.secondary`,mt:.25},children:t})]})]}),(0,V.jsxs)(m,{sx:{display:`flex`,alignItems:`center`,gap:.5,flexShrink:0},children:[r,a&&(0,V.jsx)(ie,{size:`small`,onClick:s,"aria-expanded":!o,"aria-label":o?l.expand??`Expand block`:l.collapse??`Collapse block`,"data-testid":`prism-dashboard-block-collapse`,children:(0,V.jsx)(it,{direction:o?`down`:`up`})})]})]})}function Qe({children:e,disablePadding:t=!1,sx:n}){let{size:r}=Xe(),i=H[r];return(0,V.jsx)(m,{"data-testid":`prism-dashboard-block-content`,sx:[{...!t&&{px:i.contentPx,py:i.contentPy}},...Array.isArray(n)?n:[n]],children:e})}function $e({children:e,divider:t=!0,sx:n}){let{collapsed:r,size:i}=Xe(),a=H[i];return r?null:(0,V.jsxs)(V.Fragment,{children:[t&&(0,V.jsx)(w,{}),(0,V.jsx)(m,{"data-testid":`prism-dashboard-block-footer`,sx:[{px:a.contentPx,py:1.5},...Array.isArray(n)?n:[n]],children:e})]})}function et({rows:e=3,size:t}){let n=H[t];return(0,V.jsx)(m,{sx:{px:n.contentPx,py:n.contentPy},children:Array.from({length:e}).map((e,t)=>(0,V.jsx)(fe,{variant:`text`,animation:`wave`,sx:{height:20,mb:1}},t))})}function tt({message:e=`Failed to load data`,retryLabel:t=`Retry`,onRetry:n,size:r}){let i=H[r];return(0,V.jsxs)(m,{sx:{px:i.contentPx,py:i.contentPy,textAlign:`center`},children:[(0,V.jsx)(A,{color:`error`,variant:`body2`,sx:{mb:n?1.5:0},children:e}),n&&(0,V.jsx)(l,{size:`small`,onClick:n,children:t})]})}function nt({config:e,size:t}){let n=H[t];return e?.emptyComponent?e.emptyComponent:(0,V.jsx)(m,{"data-testid":`prism-dashboard-block-empty`,sx:{px:n.contentPx,py:n.contentPy},children:(0,V.jsx)(Be,{compact:!0,icon:e?.icon,iconSize:48,title:e?.title,description:e?.description,action:e?.action})})}function rt({title:e,subtitle:t,icon:n,actions:r,children:i,footer:a,variant:o=`default`,size:s=`medium`,loading:c=!1,loadingConfig:l,error:u=!1,errorConfig:d,empty:f=!1,emptyConfig:p,labels:h=ot,catchErrors:g=!0,collapsible:_=!1,defaultCollapsed:v=!1,collapsed:y,onCollapseChange:b,disablePadding:x=!1,footerDivider:S=!0,sx:C,slotProps:T}){let D=Je(v),O=y!==void 0,k=O?y:D.value,A=(0,B.useCallback)(e=>{_&&e!==k&&(O||D.setValue(e),b?.(e))},[_,k,O,b,D]),j=(0,B.useCallback)(()=>A(!k),[k,A]),ee=(0,B.useMemo)(()=>({collapsible:_,collapsed:_?k:!1,toggleCollapse:_?j:at,setCollapsed:_?A:at,loading:c,error:u,variant:o,size:s,labels:h}),[k,_,j,A,c,u,o,s,h]),M=d?.message??h.error,N=c?l?.loadingComponent??(0,V.jsx)(et,{rows:l?.skeletonRows??3,size:s}):u?d?.errorComponent??(0,V.jsx)(tt,{message:M,retryLabel:h.retry,onRetry:d?.onRetry,size:s}):f?(0,V.jsx)(nt,{config:p,size:s}):i?(0,V.jsx)(Qe,{disablePadding:x,...T?.content,children:i}):null,te=o===`outlined`?`outlined`:`elevation`,ne=+(o==="default");return(0,V.jsx)(st.Provider,{value:ee,children:(0,V.jsxs)(ae,{"data-testid":`prism-dashboard-block`,variant:te,elevation:ne,sx:[{overflow:`hidden`,...o===`filled`&&{bgcolor:`action.hover`}},...Array.isArray(C)?C:[C]],children:[e&&(0,V.jsx)(Ze,{title:e,subtitle:t,icon:n,actions:r,...T?.header}),e&&(0,V.jsx)(w,{}),(0,V.jsx)(E,{in:!ee.collapsed,timeout:`auto`,children:(0,V.jsx)(m,{"aria-live":`polite`,"aria-busy":c,children:g?(0,V.jsx)(ge,{resetKeys:[c,u,f],fallback:({resetErrorBoundary:e})=>(0,V.jsx)(tt,{message:h.error,retryLabel:h.retry,onRetry:()=>{e(),d?.onRetry?.()},size:s}),children:N}):N})}),a&&!c&&!u&&(0,V.jsx)($e,{divider:S,...T?.footer,children:a})]})})}function it({direction:e}){return(0,V.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:2,strokeLinecap:`round`,strokeLinejoin:`round`,"aria-hidden":`true`,style:{transform:e===`up`?`rotate(180deg)`:void 0,transition:`transform 0.2s ease`},children:(0,V.jsx)(`polyline`,{points:`6 9 12 15 18 9`})})}var B,V,at,ot,st,H;function ct(){return(ct=e((()=>{B=t(),u(),N(),D(),re(),p(),x(),ce(),d(),Ye(),he(),ze(),V=n(),at=()=>{},ot={},st=(0,B.createContext)(null),H={small:{headerPx:2,headerPy:1.5,contentPx:2,contentPy:1.5,titleVariant:`subtitle1`,subtitleVariant:`caption`},medium:{headerPx:2.5,headerPy:2,contentPx:2.5,contentPy:2,titleVariant:`h6`,subtitleVariant:`body2`},large:{headerPx:3,headerPy:2.5,contentPx:3,contentPy:2.5,titleVariant:`h5`,subtitleVariant:`body1`}}})))()}function U({label:e,value:t}){return(0,W.jsxs)(m,{sx:{display:`grid`,gridTemplateColumns:`minmax(0,1fr) auto`,alignItems:`baseline`,gap:1},children:[(0,W.jsx)(A,{variant:`body2`,color:`text.secondary`,sx:{overflowWrap:`anywhere`},children:e}),(0,W.jsx)(A,{component:`span`,variant:`body2`,sx:{fontVariantNumeric:`tabular-nums`},children:t})]})}function lt(e,t){switch(e){case`total_apps`:return t.length;case`online_apps`:return t.filter(e=>e.status===`online`).length;case`errored_apps`:return t.filter(e=>[`crashed`,`errored`].includes(e.status)).length;case`restarts`:return qe(t.map(e=>e.restarts))??`—`;case`total_cpu`:return Ke(qe(t.map(e=>e.cpu)));case`total_memory`:{let e=qe(t.map(e=>e.memory));return e===null?`—`:Ne(e)}default:return`—`}}function ut({panel:e,board:t,sources:n,actions:r}){let i=e.config.metric??`online_apps`,a=e.config.app,o=a?n.apps.data?.filter(e=>e.name===a):n.apps.data,s=a?`${n.subject} · ${a}`:n.subject;if(e.type===`cpu-chart`||e.type===`memory-chart`){let i=n.history,o=R[t.window],c=e.type===`cpu-chart`,l=(i.data?.series??[]).filter(e=>!a||e.app.split(`/`).at(-1)===a);return(0,W.jsx)(Ie,{title:e.title,actions:r,description:`${s} · ${o.label} · ${o.interval} averages`,lines:Ue(l,c?`cpu_percent`:`memory_bytes`,n.prefix,!1,i.data?.names??{},o.bucket,i.data?.scope),format:c?Ke:We,from:i.data?.from??Date.now()-o.duration,to:i.data?.to??Date.now(),loading:i.loading,error:i.error,height:220})}let c=e.type===`daemon-info`||e.type===`alert-summary`||e.type===`stat`&&i===`uptime`,l=e.type===`alert-summary`?n.alerts:c?n.status:n.apps,u;if(e.type===`stat`){let e=i===`uptime`?n.status.data?Pe(n.status.data.uptime):`—`:o&&(!a||o.length)?lt(i,o):`—`;u=(0,W.jsx)(A,{variant:`h4`,sx:{fontVariantNumeric:`tabular-nums`},children:e})}else if(e.type===`daemon-info`&&n.status.data){let e=n.status.data;u=(0,W.jsxs)(F,{spacing:.75,children:[(0,W.jsx)(U,{label:`Version`,value:e.version}),(0,W.jsx)(U,{label:`PID`,value:e.pid}),(0,W.jsx)(U,{label:`Uptime`,value:Pe(e.uptime)}),(0,W.jsx)(U,{label:`Resident memory`,value:Ne(Ve(e))})]})}else if(e.type===`alert-summary`&&n.alerts.data){let e=n.alerts.data;u=(0,W.jsxs)(F,{spacing:.75,children:[(0,W.jsx)(U,{label:`Firing`,value:e.firing}),(0,W.jsx)(U,{label:`Acknowledged`,value:e.acknowledged}),Object.entries(e.bySeverity).map(([e,t])=>(0,W.jsx)(U,{label:e,value:t},e))]})}else if(o&&(e.type===`app-grid`||e.type===`recent-errors`)){let t=e.type===`app-grid`?o:o.filter(e=>[`crashed`,`errored`].includes(e.status)||e.restarts>0);u=t.length?(0,W.jsx)(F,{spacing:.75,children:t.map(t=>(0,W.jsx)(U,{label:[t.stack,t.name].filter(Boolean).join(` / `),value:(0,W.jsxs)(F,{direction:`row`,spacing:.75,sx:{alignItems:`center`},children:[e.type===`recent-errors`&&(0,W.jsxs)(`span`,{children:[t.restarts,` restarts`]}),(0,W.jsx)(h,{size:`small`,variant:`outlined`,label:t.status})]})},t.key))}):(0,W.jsx)(A,{variant:`body2`,color:`text.secondary`,children:e.type===`app-grid`?`No applications in this scope.`:`No observed failures or restarts in this scope.`})}return(0,W.jsxs)(rt,{title:e.title,subtitle:c?`Connected daemon`:s,actions:r,variant:`outlined`,size:`small`,sx:{height:`100%`,minWidth:0},loading:l.loading,error:!l.data&&!!l.error,errorConfig:{message:l.error??`Measurement unavailable`},children:[l.error&&l.data&&(0,W.jsxs)(A,{variant:`caption`,color:`warning.main`,children:[`Last observation · `,l.error]}),u]})}var W;function dt(){return(dt=e((()=>{u(),f(),de(),D(),ct(),Fe(),He(),L(),W=n()})))()}function G(e,t){return t?e:{data:null,loading:!1,error:`This session has no permission to read this source.`}}function ft(e,t){let{can:n}=_e(),{activeProject:i,activeStack:l,namespacePrefix:u}=Le(),d=n(`OmnitronDaemon.status`),f=i?n(`OmnitronProject.getProjectApps`):d,p=n(`OmnitronAlerts.getSummary`),m=n(`OmnitronNodes.listNodes`),h=n(`OmnitronMetrics.querySeries`)&&(!i||n(`OmnitronProject.listStacks`)&&m),g=e.panels.some(e=>e.type===`cpu-chart`||e.type===`memory-chart`),_=e.panels.some(e=>e.type===`alert-summary`),v=e.panels.some(e=>e.type===`app-grid`||e.type===`recent-errors`||e.type===`stat`&&e.config.metric!==`uptime`),y=!i&&v||e.panels.some(e=>e.type===`daemon-info`||e.type===`stat`&&e.config.metric===`uptime`),b=i?[i,l].filter(Boolean).join(` / `):`Connected daemon`,x=JSON.stringify([i,l]),S=e.refreshInterval,C=I(()=>r.status(),{intervalMs:S,paused:!t,enabled:y&&d,resourceKey:Number(d)}),w=I(async()=>{let e=await s.getProjectApps({project:i});return Ce(i,l,e,[])},{intervalMs:S,paused:!t,enabled:!!i&&v&&f,resourceKey:JSON.stringify([x,f])}),T=I(()=>a.getSummary(),{intervalMs:S,paused:!t,enabled:_&&p,resourceKey:Number(p)}),E=I(async()=>{let t=R[e.window],n=Date.now(),r=n-t.duration,[a,u,d]=await Promise.all([o.querySeries({names:[`cpu_percent`,`memory_bytes`],from:r,to:n,interval:t.interval,limit:120}),i?s.listStacks({project:i}):[],i?c.listNodes():[]]);return{series:i?a:a.filter(e=>!e.labels?.node),names:Object.fromEntries(d.map(e=>[e.id,e.name])),scope:i?Ge(i,l,u,d):void 0,from:r,to:n}},{intervalMs:S,paused:!t,enabled:g&&h,resourceKey:JSON.stringify([x,e.window,h])});return{sources:{subject:b,prefix:u,apps:G(i?w:{...C,data:C.data?Ce(null,null,null,C.data.apps):null},f),status:G(C,d),alerts:G(T,p),history:G(E,h)},refresh:()=>{let e=[],t=(t,n)=>{t&&e.push(n.refresh())};return t(g&&h,E),t(_&&p,T),t(y&&d,C),t(!!i&&v&&f,w),Promise.all(e)}}}function pt(){return(pt=e((()=>{ve(),i(),Re(),ye(),Se(),L()})))()}function mt(){let e=Ct(`Overview`),t=(e,t,n,r)=>({id:Z(),type:e,title:t,size:n,config:r?{metric:r}:{}});return e.panels=[t(`stat`,`Online`,`small`,`online_apps`),t(`stat`,`Errored`,`small`,`errored_apps`),t(`stat`,`CPU`,`small`,`total_cpu`),t(`stat`,`Memory`,`small`,`total_memory`),t(`cpu-chart`,`CPU history`,`large`),t(`memory-chart`,`Memory history`,`large`),t(`app-grid`,`Applications`,`large`),t(`daemon-info`,`Controller runtime`,`medium`),t(`recent-errors`,`Failures and restarts`,`medium`)],e}function K(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Expected a layout object.`);return e}function q(e,t,n=100){if(typeof e!=`string`||!e.trim()||e.trim().length>n)throw Error(`Invalid ${t} (1–${n} characters).`);return e.trim()}function J(e,t,n){if(typeof t!=`string`||!Object.hasOwn(e,t))throw Error(`Unsupported ${n}.`);return t}function ht(e){if(new Set(e.map(e=>e.id)).size!==e.length)throw Error(`Duplicate layout identifiers.`)}function gt(e){let t=K(e);if(!Array.isArray(t.panels)||t.panels.length>64)throw Error(`A dashboard supports up to 64 panels.`);let n=t.panels.map(e=>{let t=K(e),n=t.type===`uptime-chart`,r=n?`stat`:J(Y,t.type,`panel type`),i=K(t.config??{});return{id:q(t.id,`panel id`),title:q(t.title,`panel title`),type:r,size:J(bt,t.size,`panel size`),config:{...r===`stat`&&{metric:n?`uptime`:J(X,i.metric??`online_apps`,`statistic`)},...i.app&&typeof i.app==`string`?{app:q(i.app,`application`,256)}:{}}}});ht(n);let r=Number(t.refreshInterval??5e3);if(!xt.some(e=>e===r))throw Error(`Unsupported refresh interval.`);return{id:q(t.id,`dashboard id`),name:q(t.name,`dashboard name`),panels:n,refreshInterval:r,window:J(R,t.window??`15m`,`history window`)}}function _t(e){let t=JSON.parse(e);if(!Array.isArray(t)||!t.length||t.length>64)throw Error(`Expected 1–64 dashboard layouts.`);let n=t.map(gt);return ht(n),n}function vt(e){return JSON.stringify({format:`omnitron.dashboard`,version:1,board:e},null,2)}function yt(e){if(e.length>131072)throw Error(`Layout exceeds 128 KiB.`);let t=K(JSON.parse(e));if(t.format!==`omnitron.dashboard`||t.version!==1)throw Error(`Unsupported dashboard layout format or version.`);return{...gt(t.board),id:Z()}}var Y,X,bt,xt,St,Z,Ct;function wt(){return(wt=e((()=>{L(),Y={stat:`Metric`,"cpu-chart":`CPU history`,"memory-chart":`Memory history`,"app-grid":`Application status`,"daemon-info":`Controller runtime`,"alert-summary":`Controller alerts`,"recent-errors":`Application failures and restarts`},X={total_apps:`Applications`,online_apps:`Online`,errored_apps:`Errored`,total_cpu:`CPU`,total_memory:`Memory`,uptime:`Controller uptime`,restarts:`Restarts`},bt={small:`Compact`,medium:`Third width`,large:`Half width`,full:`Full width`},xt=[5e3,15e3,3e4,6e4],St=`omnitron_dashboards_v2`,Z=()=>crypto.randomUUID(),Ct=e=>({id:Z(),name:e,panels:[],refreshInterval:5e3,window:`15m`})})))()}function Tt(){let e=xe(St);try{return{raw:e,boards:e?_t(e):[mt()],error:null}}catch(t){return{raw:e,boards:[mt()],error:`Saved layouts could not be read. The original is preserved. ${Mt(t)}`}}}function Et({panel:e,edit:t,apps:n,onSave:r,onClose:i}){let[a,o]=(0,Q.useState)(e.type),[s,c]=(0,Q.useState)(e.title),[u,d]=(0,Q.useState)(e.size),[f,p]=(0,Q.useState)(e.config.metric??`online_apps`),[h,g]=(0,Q.useState)(e.config.app??``),v=a!==`daemon-info`&&a!==`alert-summary`&&(a!==`stat`||f!==`uptime`);return(0,$.jsx)(b,{open:!0,onClose:i,maxWidth:`xs`,fullWidth:!0,children:(0,$.jsxs)(m,{component:`form`,onSubmit:t=>{t.preventDefault(),r({id:e.id,type:a,size:u,title:s.trim()||(a===`stat`?X[f]:Y[a]),config:{...a===`stat`&&{metric:f},...v&&h.trim()&&{app:h.trim()}}})},children:[(0,$.jsx)(T,{children:t?`Edit panel`:`Add panel`}),(0,$.jsx)(_,{children:(0,$.jsxs)(F,{spacing:2,sx:{pt:1},children:[(0,$.jsx)(O,{select:!0,size:`small`,label:`Source`,value:a,onChange:e=>{let n=e.target.value;o(n),t||d(n===`stat`?`small`:`large`)},children:Object.entries(Y).map(([e,t])=>(0,$.jsx)(P,{value:e,children:t},e))}),a===`stat`&&(0,$.jsx)(O,{select:!0,size:`small`,label:`Metric`,value:f,onChange:e=>p(e.target.value),children:Object.entries(X).map(([e,t])=>(0,$.jsx)(P,{value:e,children:t},e))}),v&&(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(O,{size:`small`,label:`Application`,placeholder:`All applications in this scope`,value:h,onChange:e=>g(e.target.value),slotProps:{htmlInput:{list:`dashboard-app-names`,maxLength:256}},helperText:`An exact application name follows the selected workspace and stack.`}),(0,$.jsx)(`datalist`,{id:`dashboard-app-names`,children:n.map(e=>(0,$.jsx)(`option`,{value:e},e))})]}),(0,$.jsx)(O,{size:`small`,label:`Panel title`,placeholder:Y[a],value:s,onChange:e=>c(e.target.value),slotProps:{htmlInput:{maxLength:100}}}),(0,$.jsx)(O,{select:!0,size:`small`,label:`Width`,value:u,onChange:e=>d(e.target.value),children:Object.entries(bt).map(([e,t])=>(0,$.jsx)(P,{value:e,children:t},e))})]})}),(0,$.jsxs)(C,{children:[(0,$.jsx)(l,{onClick:i,children:`Cancel`}),(0,$.jsx)(l,{type:`submit`,variant:`contained`,children:`Save panel`})]})]})})}function Dt({mode:e,board:t,onSave:n,onClose:r}){let[i,a]=(0,Q.useState)(e===`create`?``:e===`duplicate`?`${t.name} copy`:t.name),[o,s]=(0,Q.useState)(t.refreshInterval),[c,u]=(0,Q.useState)(t.window),[d,f]=(0,Q.useState)(e===`export`?vt(t):``),[p,h]=(0,Q.useState)(``),g=e===`export`||e===`import`;return(0,$.jsx)(b,{open:!0,onClose:r,fullWidth:!0,maxWidth:g?`sm`:`xs`,children:(0,$.jsxs)(m,{component:`form`,onSubmit:a=>{a.preventDefault(),h(``);try{if(e===`export`){r();return}if(e===`delete`){n(null);return}if(e===`import`){n(yt(d));return}if(!i.trim())throw Error(`Enter a dashboard name.`);n({...e===`create`?Ct(i.trim()):{...t,id:e===`duplicate`?Z():t.id},name:i.trim(),refreshInterval:o,window:c})}catch(e){h(Mt(e))}},children:[(0,$.jsx)(T,{children:{create:`New dashboard`,settings:`Dashboard settings`,duplicate:`Duplicate dashboard`,delete:`Delete dashboard`,import:`Import layout`,export:`Export layout`}[e]}),(0,$.jsx)(_,{children:(0,$.jsxs)(F,{spacing:2,sx:{pt:1},children:[p&&(0,$.jsx)(me,{severity:`error`,children:p}),g?(0,$.jsx)(O,{multiline:!0,minRows:7,maxRows:16,size:`small`,label:`Layout JSON`,value:d,onChange:e=>f(e.target.value),slotProps:{input:{readOnly:e===`export`},htmlInput:{maxLength:131072,spellCheck:!1}},helperText:e===`export`?`Copy this versioned layout to another browser or workspace. Measurements are read at the destination.`:`A valid layout opens as a separate dashboard.`}):e===`delete`?(0,$.jsxs)(A,{children:[`Delete “`,t.name,`” and its `,t.panels.length,` panels from this browser?`]}):(0,$.jsxs)($.Fragment,{children:[(0,$.jsx)(O,{label:`Dashboard name`,size:`small`,required:!0,value:i,onChange:e=>a(e.target.value),slotProps:{htmlInput:{maxLength:100}}}),(0,$.jsx)(O,{select:!0,size:`small`,label:`Refresh interval`,value:o,onChange:e=>s(Number(e.target.value)),children:xt.map(e=>(0,$.jsxs)(P,{value:e,children:[e/1e3,` seconds`]},e))}),(0,$.jsx)(O,{select:!0,size:`small`,label:`History window`,value:c,onChange:e=>u(e.target.value),children:Object.entries(R).map(([e,t])=>(0,$.jsx)(P,{value:e,children:t.label},e))})]})]})}),(0,$.jsxs)(C,{children:[e!==`export`&&(0,$.jsx)(l,{onClick:r,children:`Cancel`}),(0,$.jsx)(l,{type:`submit`,variant:`contained`,color:e===`delete`?`error`:`primary`,children:e===`delete`?`Delete`:e===`export`?`Done`:e===`import`?`Import`:`Save`})]})]})})}function Ot(){let[e]=(0,Q.useState)(Tt),[t,n]=(0,Q.useState)(e.boards),[r,i]=(0,Q.useState)(()=>xe(kt)??``),a=t.find(e=>e.id===r)??t[0],[o,s]=(0,Q.useState)(e.error),c=(0,Q.useRef)(e.raw),[u,d]=(0,Q.useState)(!1),[f,p]=(0,Q.useState)(!0),[h,g]=(0,Q.useState)(!1),[_,v]=(0,Q.useState)(null),[y,b]=(0,Q.useState)(null),[x,S]=(0,Q.useState)(null),{sources:C,refresh:w}=ft(a,f),T=e=>{i(e),be(kt,e)};(0,Q.useEffect)(()=>{let e=e=>{if(e.key===`omnitron_dashboards_v2`&&e.newValue!==c.current){if(y||x)s(`Layouts changed in another tab. Close the editor and reload before saving.`);else try{let t=e.newValue?_t(e.newValue):[mt()];c.current=e.newValue,n(t),s(null)}catch(e){s(Mt(e))}}};return window.addEventListener(`storage`,e),()=>window.removeEventListener(`storage`,e)},[y,x]);function E(t,r){if(e.error)return s(e.error),!1;if(xe(`omnitron_dashboards_v2`)!==c.current)return s(`Saved layouts changed. Reload before editing to preserve both versions.`),!1;let i=JSON.stringify(t),a=be(St,i);return a&&(c.current=i),s(a?null:`Browser storage unavailable. Changes apply to this session. Export the layout to keep it.`),n(t),T(r),!0}function D(e){return E(t.map(t=>t.id===a.id?{...t,panels:e}:t),a.id)}let k=e=>{v(null),b(e)},j=_?.panel,M=a.panels.findIndex(e=>e.id===j?.id),N=e=>{let t=[...a.panels],n=M+e;if(M>=0&&n>=0&&n<t.length){let[e]=t.splice(M,1);t.splice(n,0,e),D(t)}v(null)},ne=async()=>{g(!0);try{await w()}finally{g(!1)}};return(0,$.jsxs)(F,{spacing:2,sx:{minWidth:0},children:[(0,$.jsx)(Me,{links:[{name:`Dashboard Builder`}],action:(0,$.jsxs)(F,{direction:`row`,spacing:.75,sx:{alignItems:`center`},children:[(0,$.jsx)(ee,{sx:{m:0},control:(0,$.jsx)(ue,{size:`small`,checked:f,onChange:e=>p(e.target.checked)}),label:`Live`}),(0,$.jsx)(ie,{size:`small`,"aria-label":`Refresh dashboard`,disabled:h,"data-console-command":`refresh`,onClick:()=>void ne(),children:(0,$.jsx)(Ee,{})}),(0,$.jsx)(l,{size:`small`,variant:u?`contained`:`text`,"aria-pressed":u,startIcon:(0,$.jsx)(Oe,{}),onClick:()=>d(!u),children:u?`Done`:`Edit layout`})]})}),(0,$.jsxs)(F,{direction:`row`,useFlexGap:!0,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`},children:[(0,$.jsx)(O,{select:!0,size:`small`,label:`Dashboard`,value:a.id,onChange:e=>T(e.target.value),sx:{minWidth:`10rem`,maxWidth:`100%`},children:t.map(e=>(0,$.jsx)(P,{value:e.id,children:e.name},e.id))}),(0,$.jsxs)(A,{variant:`caption`,color:`text.secondary`,children:[C.subject,` · `,R[a.window].label,` ·`,` `,f?`${a.refreshInterval/1e3} s refresh`:`Paused`]}),(0,$.jsx)(m,{sx:{flex:1}}),u&&(0,$.jsx)(l,{size:`small`,disabled:a.panels.length>=64,startIcon:(0,$.jsx)(we,{}),onClick:()=>S(jt()),children:`Add panel`}),(0,$.jsx)(ie,{size:`small`,"aria-label":`Dashboard options`,"aria-haspopup":`menu`,onClick:e=>v({anchor:e.currentTarget}),children:(0,$.jsx)(De,{})})]}),o&&(0,$.jsx)(me,{severity:`warning`,children:o}),(0,$.jsx)(Ae,{active:h,label:`Refreshing dashboard sources`}),!a.panels.length&&(0,$.jsxs)(me,{severity:`info`,children:[`This dashboard has no panels.`,` `,(0,$.jsx)(l,{size:`small`,onClick:()=>{d(!0),S(jt())},children:`Add panel`})]}),(0,$.jsx)(se,{container:!0,spacing:1.5,children:a.panels.map(e=>(0,$.jsx)(se,{size:At[e.size],sx:{minWidth:0},children:(0,$.jsx)(ut,{panel:e,board:a,sources:C,actions:u&&(0,$.jsx)(ie,{size:`small`,"aria-label":`Options for ${e.title}`,"aria-haspopup":`menu`,onClick:t=>v({anchor:t.currentTarget,panel:e}),children:(0,$.jsx)(De,{})})})},e.id))}),(0,$.jsx)(te,{open:!!_,anchorEl:_?.anchor??null,onClose:()=>v(null),children:j?[(0,$.jsx)(P,{onClick:()=>{S(j),v(null)},children:`Edit panel`},`edit`),(0,$.jsx)(P,{disabled:M<=0,onClick:()=>N(-1),children:`Move earlier`},`up`),(0,$.jsx)(P,{disabled:M===a.panels.length-1,onClick:()=>N(1),children:`Move later`},`down`),(0,$.jsx)(P,{onClick:()=>{D(a.panels.filter(e=>e.id!==j.id)),v(null)},children:`Remove from layout`},`remove`)]:[`settings`,`create`,`duplicate`,`import`,`export`,`delete`].map(e=>(0,$.jsx)(P,{disabled:e===`delete`&&t.length===1||[`create`,`duplicate`,`import`].includes(e)&&t.length>=64,onClick:()=>k(e),children:{settings:`Settings`,create:`New dashboard`,duplicate:`Duplicate`,import:`Import layout`,export:`Export layout`,delete:`Delete dashboard`}[e]},e))}),x&&(0,$.jsx)(Et,{panel:x,edit:a.panels.some(e=>e.id===x.id),apps:[...new Set(C.apps.data?.map(e=>e.name)??[])].sort(),onClose:()=>S(null),onSave:e=>{D(a.panels.some(t=>t.id===e.id)?a.panels.map(t=>t.id===e.id?e:t):[...a.panels,e])&&S(null)}}),y&&(0,$.jsx)(Dt,{mode:y,board:a,onClose:()=>b(null),onSave:e=>{let n=e?y===`settings`?t.map(t=>t.id===e.id?e:t):[...t,e]:t.filter(e=>e.id!==a.id);E(n,e?.id??n[0].id)&&(b(null),y===`create`&&d(!0))}})]})}var Q,$,kt,At,jt,Mt;function Nt(){return(Nt=e((()=>{Q=t(),u(),d(),y(),S(),v(),g(),M(),j(),re(),ne(),oe(),de(),le(),k(),D(),pe(),je(),dt(),ke(),pt(),Te(),L(),wt(),$=n(),kt=`omnitron_dashboard_active`,At={small:{xs:12,sm:6,lg:3},medium:{xs:12,sm:6,lg:4},large:{xs:12,md:6},full:{xs:12}},jt=()=>({id:Z(),type:`stat`,size:`small`,title:``,config:{metric:`online_apps`}}),Mt=e=>e instanceof Error?e.message:String(e)})))()}Nt();export{Ot as default};
@@ -0,0 +1 @@
1
+ import{n as e,t}from"./rolldown-runtime-CNOWq4Kh.js";function n(e,t){return function(n,...r){let i=new URL(e);return i.searchParams.set(`code`,n.toString()),r.forEach(e=>i.searchParams.append(`args[]`,e)),`${t} error #${n}; visit ${i} for the full message.`}}function r(){return(r=e((()=>{})))()}function i(){return i=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i.apply(null,arguments)}function a(){return(a=e((()=>{})))()}function o(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}function s(){return(s=e((()=>{})))()}var c=t(((e,t,n)=>{(function(n,r){typeof e==`object`&&t!==void 0?t.exports=r():typeof define==`function`&&define.amd?define(r):(n=typeof globalThis<`u`?globalThis:n||self).dayjs=r()})(n,(function(){var e=1e3,t=6e4,n=36e5,r=`millisecond`,i=`second`,a=`minute`,o=`hour`,s=`day`,c=`week`,l=`month`,u=`quarter`,d=`year`,f=`date`,p=`Invalid Date`,m=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,h=/\[([^\]]+)]|YYYY|YY|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,g={name:`en`,weekdays:`Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday`.split(`_`),months:`January_February_March_April_May_June_July_August_September_October_November_December`.split(`_`),ordinal:function(e){var t=[`th`,`st`,`nd`,`rd`],n=e%100;return`[`+e+(t[(n-20)%10]||t[n]||t[0])+`]`}},_=function(e,t,n){var r=String(e);return!r||r.length>=t?e:``+Array(t+1-r.length).join(n)+e},v={s:_,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),i=n%60;return(t<=0?`+`:`-`)+_(r,2,`0`)+`:`+_(i,2,`0`)},m:function e(t,n){if(t.date()<n.date())return-e(n,t);var r=12*(n.year()-t.year())+(n.month()-t.month()),i=t.clone().add(r,l),a=n-i<0,o=t.clone().add(r+(a?-1:1),l);return+(-(r+(n-i)/(a?i-o:o-i))||0)},a:function(e){return e<0?Math.ceil(e)||0:Math.floor(e)},p:function(e){return{M:l,y:d,w:c,d:s,D:f,h:o,m:a,s:i,ms:r,Q:u}[e]||String(e||``).toLowerCase().replace(/s$/,``)},u:function(e){return e===void 0}},y=`en`,b={};b[y]=g;var x=`$isDayjsObject`,S=function(e){return e instanceof E||!(!e||!e[x])},C=function e(t,n,r){var i;if(!t)return y;if(typeof t==`string`){var a=t.toLowerCase();b[a]&&(i=a),n&&(b[a]=n,i=a);var o=t.split(`-`);if(!i&&o.length>1)return e(o[0])}else{var s=t.name;b[s]=t,i=s}return!r&&i&&(y=i),i||!r&&y},w=function(e,t){if(S(e))return e.clone();var n=typeof t==`object`?t:{};return n.date=e,n.args=arguments,new E(n)},T=v;T.l=C,T.i=S,T.w=function(e,t){return w(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var E=function(){function g(e){this.$L=C(e.locale,null,!0),this.parse(e),this.$x=this.$x||e.x||{},this[x]=!0}var _=g.prototype;return _.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(t===null)return new Date(NaN);if(T.u(t))return new Date;if(t instanceof Date)return new Date(t);if(typeof t==`string`&&!/Z$/i.test(t)){var r=t.match(m);if(r){var i=r[2]-1||0,a=(r[7]||`0`).substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,a)}}return new Date(t)}(e),this.init()},_.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},_.$utils=function(){return T},_.isValid=function(){return this.$d.toString()!==p},_.isSame=function(e,t){var n=w(e);return this.startOf(t)<=n&&n<=this.endOf(t)},_.isAfter=function(e,t){return w(e)<this.startOf(t)},_.isBefore=function(e,t){return this.endOf(t)<w(e)},_.$g=function(e,t,n){return T.u(e)?this[t]:this.set(n,e)},_.unix=function(){return Math.floor(this.valueOf()/1e3)},_.valueOf=function(){return this.$d.getTime()},_.startOf=function(e,t){var n=this,r=!!T.u(t)||t,u=T.p(e),p=function(e,t){var i=T.w(n.$u?Date.UTC(n.$y,t,e):new Date(n.$y,t,e),n);return r?i:i.endOf(s)},m=function(e,t){return T.w(n.toDate()[e].apply(n.toDate(`s`),(r?[0,0,0,0]:[23,59,59,999]).slice(t)),n)},h=this.$W,g=this.$M,_=this.$D,v=`set`+(this.$u?`UTC`:``);switch(u){case d:return r?p(1,0):p(31,11);case l:return r?p(1,g):p(0,g+1);case c:var y=this.$locale().weekStart||0,b=(h<y?h+7:h)-y;return p(r?_-b:_+(6-b),g);case s:case f:return m(v+`Hours`,0);case o:return m(v+`Minutes`,1);case a:return m(v+`Seconds`,2);case i:return m(v+`Milliseconds`,3);default:return this.clone()}},_.endOf=function(e){return this.startOf(e,!1)},_.$set=function(e,t){var n,c=T.p(e),u=`set`+(this.$u?`UTC`:``),p=(n={},n[s]=u+`Date`,n[f]=u+`Date`,n[l]=u+`Month`,n[d]=u+`FullYear`,n[o]=u+`Hours`,n[a]=u+`Minutes`,n[i]=u+`Seconds`,n[r]=u+`Milliseconds`,n)[c],m=c===s?this.$D+(t-this.$W):t;if(c===l||c===d){var h=this.clone().set(f,1);h.$d[p](m),h.init(),this.$d=h.set(f,Math.min(this.$D,h.daysInMonth())).$d}else p&&this.$d[p](m);return this.init(),this},_.set=function(e,t){return this.clone().$set(e,t)},_.get=function(e){return this[T.p(e)]()},_.add=function(r,u){var f,p=this;r=Number(r);var m=T.p(u),h=function(e){var t=w(p);return T.w(t.date(t.date()+Math.round(e*r)),p)};if(m===l)return this.set(l,this.$M+r);if(m===d)return this.set(d,this.$y+r);if(m===s)return h(1);if(m===c)return h(7);var g=(f={},f[a]=t,f[o]=n,f[i]=e,f)[m]||1,_=this.$d.getTime()+r*g;return T.w(_,this)},_.subtract=function(e,t){return this.add(-1*e,t)},_.format=function(e){var t=this,n=this.$locale();if(!this.isValid())return n.invalidDate||p;var r=e||`YYYY-MM-DDTHH:mm:ssZ`,i=T.z(this),a=this.$H,o=this.$m,s=this.$M,c=n.weekdays,l=n.months,u=n.meridiem,d=function(e,n,i,a){return e&&(e[n]||e(t,r))||i[n].slice(0,a)},f=function(e){return T.s(a%12||12,e,`0`)},m=u||function(e,t,n){var r=e<12?`AM`:`PM`;return n?r.toLowerCase():r};return r.replace(h,(function(e,r){return r||function(e){switch(e){case`YY`:return String(t.$y).slice(-2);case`YYYY`:return T.s(t.$y,4,`0`);case`M`:return s+1;case`MM`:return T.s(s+1,2,`0`);case`MMM`:return d(n.monthsShort,s,l,3);case`MMMM`:return d(l,s);case`D`:return t.$D;case`DD`:return T.s(t.$D,2,`0`);case`d`:return String(t.$W);case`dd`:return d(n.weekdaysMin,t.$W,c,2);case`ddd`:return d(n.weekdaysShort,t.$W,c,3);case`dddd`:return c[t.$W];case`H`:return String(a);case`HH`:return T.s(a,2,`0`);case`h`:return f(1);case`hh`:return f(2);case`a`:return m(a,o,!0);case`A`:return m(a,o,!1);case`m`:return String(o);case`mm`:return T.s(o,2,`0`);case`s`:return String(t.$s);case`ss`:return T.s(t.$s,2,`0`);case`SSS`:return T.s(t.$ms,3,`0`);case`Z`:return i}return null}(e)||i.replace(`:`,``)}))},_.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},_.diff=function(r,f,p){var m,h=this,g=T.p(f),_=w(r),v=(_.utcOffset()-this.utcOffset())*t,y=this-_,b=function(){return T.m(h,_)};switch(g){case d:m=b()/12;break;case l:m=b();break;case u:m=b()/3;break;case c:m=(y-v)/6048e5;break;case s:m=(y-v)/864e5;break;case o:m=y/n;break;case a:m=y/t;break;case i:m=y/e;break;default:m=y}return p?m:T.a(m)},_.daysInMonth=function(){return this.endOf(l).$D},_.$locale=function(){return b[this.$L]},_.locale=function(e,t){if(!e)return this.$L;var n=this.clone(),r=C(e,t,!0);return r&&(n.$L=r),n},_.clone=function(){return T.w(this.$d,this)},_.toDate=function(){return new Date(this.valueOf())},_.toJSON=function(){return this.isValid()?this.toISOString():null},_.toISOString=function(){return this.$d.toISOString()},_.toString=function(){return this.$d.toUTCString()},g}(),D=E.prototype;return w.prototype=D,[[`$ms`,r],[`$s`,i],[`$m`,a],[`$H`,o],[`$W`,s],[`$M`,l],[`$y`,d],[`$D`,f]].forEach((function(e){D[e[1]]=function(t){return this.$g(t,e[0],e[1])}})),w.extend=function(e,t){return e.$i||=(e(t,E,w),!0),w},w.locale=C,w.isDayjs=S,w.unix=function(e){return w(1e3*e)},w.en=b[y],w.Ls=b,w.p={},w}))}));export{a,i,o as n,n as o,s as r,r as s,c as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{B as r,V as ee,g as i,h as a,z as o}from"./client-DFnuv2z3.js";import{F as s,H as c,I as l,Q as u,V as d,Z as f,at as p,c as m,ct as h,d as te,f as g,g as _,h as ne,m as v,ot as y,p as re,s as b,st as x}from"./mui-BXSXx9c9.js";import{B as S,a as C,o as w,z as T}from"./mui-Cd711nOk.js";import{l as E,u as D}from"./mui-AnEgAVjz.js";import{_ as O,v as k}from"./mui-BwsIrivo.js";import{i as A,t as j}from"./project.store--G5pIF-J.js";import{G as M,m as N}from"./icons-OboZgWSt.js";import{n as P,t as F}from"./release-wire-f2VuBoBF.js";import{a as ie,l as ae,o as oe,r as I,u as L}from"./release-bits-B2a_wbft.js";function R({open:e,onClose:t,project:n,release:a,stack:o}){let c=ee(),l=r(),u=e=>{let r=A.getState();r.activeProject!==n&&r.selectProject(n,l.pathname),t(),c(`/stacks/${encodeURIComponent(e)}`)},m=A(e=>e.stacksByProject),h=A(e=>e.fetchStacks),g=A(e=>e.startStack),_=m[n]??[],v=A(e=>e.stackReadErrors[n]),[y,S]=(0,z.useState)(!1),[w,D]=(0,z.useState)([]),[k,j]=(0,z.useState)(``),[M,F]=(0,z.useState)(o??``),[L,R]=(0,z.useState)(null),[V,H]=(0,z.useState)(!1),[U,W]=(0,z.useState)(!1),[G,K]=(0,z.useState)(!1),[q,J]=(0,z.useState)(null);(0,z.useEffect)(()=>{e&&_.length===0&&h(n)},[e,n,_.length,h]),(0,z.useEffect)(()=>{if(!e||a)return;let t=!0;return S(!0),D([]),j(``),P.list().then(({releases:e})=>{if(!t)return;let r=e.filter(e=>e.project===n&&e.complete);D(r),j(r[0]?.id??``)}).catch(e=>{t&&J(`The release store could not be read: ${e.message}`)}).finally(()=>{t&&S(!1)}),()=>{t=!1}},[e,a,n]);let Y=a??w.find(e=>e.id===k)??null,X=Y?.id??``,Z=JSON.stringify([n,M,X]),Q=L?.key===Z?L:null;(0,z.useEffect)(()=>{e&&(F(o??``),R(null),J(null))},[e,o,a?.id]),(0,z.useEffect)(()=>{if(R(null),K(!1),J(null),H(!1),!e||!X||!M)return;let t=!0;return H(!0),i(`checkRelease`,{project:n,stack:M,release:X}).then(e=>{t&&R({...e,key:Z})}).catch(e=>{t&&R({key:Z,ok:!1,because:`The daemon could not answer: ${e.message}`})}).finally(()=>{t&&H(!1)}),()=>{t=!1}},[e,n,M,X,Z]);let se=async()=>{H(!0);try{R({...await i(`checkRelease`,{project:n,stack:M,release:X,prepare:!0}),key:Z})}catch(e){J(e.message)}finally{H(!1)}},ce=async()=>{if(Y&&M&&Q?.ok){W(!0),J(null);try{let e=await g(n,M,{release:Y.id});if(e.state!==`confirmed`){J(e.message),K(e.state!==`failed`);return}u(M)}catch(e){J(e.message)}finally{W(!1)}}},$=_.find(e=>e.name===M),le=$?.config?.release?.mode===`required`;return(0,B.jsxs)(ne,{open:e,onClose:U?void 0:t,maxWidth:`sm`,fullWidth:!0,children:[(0,B.jsx)(b,{children:`Deploy a release`}),(0,B.jsx)(te,{children:(0,B.jsxs)(O,{spacing:2.5,sx:{mt:1},children:[!a&&(0,B.jsxs)(C,{select:!0,label:`Release`,value:k,onChange:e=>j(e.target.value),size:`small`,fullWidth:!0,disabled:U,children:[w.length===0&&(0,B.jsx)(E,{disabled:!0,value:``,children:y?`Reading releases…`:`No completed releases available`}),w.map(e=>(0,B.jsx)(E,{value:e.id,children:(0,B.jsxs)(O,{direction:`row`,spacing:1,sx:{width:`100%`,alignItems:`center`},children:[(0,B.jsx)(T,{variant:`body2`,sx:{fontFamily:`monospace`},children:e.id}),(0,B.jsx)(d,{sx:{flex:1}}),(0,B.jsx)(ie,{release:e,variant:`caption`}),e.statics&&(0,B.jsx)(f,{label:e.statics.stack,size:`small`,variant:`outlined`,sx:{height:18,fontSize:10}})]})},e.id))]}),Y?(0,B.jsxs)(d,{children:[(0,B.jsx)(T,{variant:`body2`,sx:{fontFamily:`monospace`,fontWeight:600},children:Y.id}),(0,B.jsxs)(O,{direction:`row`,spacing:1.5,sx:{alignItems:`center`,mt:.75},children:[(0,B.jsx)(I,{projectCommit:Y.projectCommit,omniCommit:Y.omniCommit,onRemote:Y.onRemote,project:Y.project}),(0,B.jsx)(f,{size:`small`,variant:`outlined`,label:`${Y.artifacts.count} app${Y.artifacts.count===1?``:`s`}`,sx:{height:20,fontSize:11}}),Y.statics&&(0,B.jsx)(f,{size:`small`,variant:`outlined`,label:`statics: ${Y.statics.stack}`,sx:{height:20,fontSize:11}})]})]}):(0,B.jsx)(p,{severity:`warning`,children:`No release chosen.`}),(0,B.jsxs)(C,{select:!0,label:`Stack`,value:M,onChange:e=>F(e.target.value),size:`small`,fullWidth:!0,disabled:U,helperText:$?.type===`local`?`Local stacks keep the selected release across restarts. Stop their applications before changing it.`:void 0,children:[_.length===0&&(0,B.jsx)(E,{disabled:!0,value:``,children:v?`Stack inventory unavailable`:m[n]?`This project has no stacks`:`Reading stack inventory…`}),_.map(e=>(0,B.jsx)(E,{value:e.name,disabled:!!e.config?.managedOrigin,children:(0,B.jsxs)(O,{direction:`row`,spacing:1,sx:{alignItems:`center`,width:`100%`},children:[(0,B.jsx)(T,{variant:`body2`,children:e.name}),(0,B.jsx)(f,{label:e.type,size:`small`,variant:`outlined`,sx:{height:18,fontSize:10}}),e.config?.release?.mode===`required`&&(0,B.jsx)(f,{label:`releases only`,size:`small`,color:`info`,variant:`outlined`,sx:{height:18,fontSize:10}}),(0,B.jsx)(d,{sx:{flex:1}}),(0,B.jsx)(T,{variant:`caption`,sx:{color:`text.secondary`},children:e.status})]})},e.name))]}),Y&&Y.gates.total>0&&(0,B.jsxs)(d,{children:[(0,B.jsx)(T,{variant:`caption`,sx:{color:`text.secondary`},children:ae(Y.gateList)}),(0,B.jsx)(d,{sx:{mt:.5},children:(0,B.jsx)(oe,{gates:Y.gateList})})]}),V&&(0,B.jsxs)(O,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[(0,B.jsx)(x,{size:16}),(0,B.jsx)(T,{variant:`body2`,sx:{color:`text.secondary`},children:`Asking the daemon whether it would take this release…`})]}),Q&&(0,B.jsx)(p,{severity:Q.ok?`success`:Q.state?`info`:`error`,children:(0,B.jsx)(T,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:Q.because})}),v&&(0,B.jsxs)(p,{severity:`warning`,children:[`Stack inventory unavailable · `,v]}),le&&(0,B.jsxs)(T,{variant:`caption`,sx:{color:`text.secondary`},children:[M,` requires an immutable release.`]}),q&&(0,B.jsx)(p,{severity:G?`warning`:`error`,children:(0,B.jsx)(T,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:q})})]})}),(0,B.jsxs)(re,{children:[(0,B.jsx)(s,{onClick:t,size:`small`,disabled:U,children:`Cancel`}),(0,B.jsx)(s,{variant:`contained`,size:`small`,startIcon:U?(0,B.jsx)(x,{size:14,color:`inherit`}):(0,B.jsx)(N,{}),disabled:!Y||!M||U||V||!G&&Q?.state!==`unprepared`&&Q?.ok!==!0,onClick:G?()=>u(M):Q?.state===`unprepared`?se:ce,children:U?`Deploying…`:G?`Inspect stack`:Q?.state===`unprepared`?`Prepare release`:`Deploy`})]})]})}var z,B;function V(){return(V=e((()=>{z=t(),o(),y(),c(),l(),u(),h(),_(),v(),g(),m(),D(),k(),w(),S(),a(),F(),j(),M(),L(),B=n()})))()}export{V as n,R as t};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{P as r,h as i,u as a,x as ee,z as o}from"./client-DFnuv2z3.js";import{F as s,H as c,I as l,Q as u,St as d,V as f,Z as p,xt as te}from"./mui-BXSXx9c9.js";import{B as m,z as h}from"./mui-Cd711nOk.js";import{C as g,E as _,T as v,it as y,rt as b,w as x}from"./mui-AnEgAVjz.js";import{_ as S,v as C}from"./mui-BwsIrivo.js";import{r as w,t as ne}from"./alert-uBG6r9NW.js";import{c as T,s as E}from"./access-48hkC2-P.js";import{n as D,t as O}from"./use-polled-resource-B22hhr5L.js";import{d as k,h as re,i as ie,m as A,t as j}from"./project.store--G5pIF-J.js";import{G as M,M as ae}from"./icons-OboZgWSt.js";import{n as N,t as P}from"./page-breadcrumbs-fR7Jmpp4.js";import{n as F,t as I}from"./admin-data-table-BKSDI8sU.js";import{r as oe,t as L}from"./formatters-RnRy4bXm.js";import{n as R,t as z}from"./use-stack-context-UkBsF-l7.js";import{n as se,r as B}from"./tabs-k5NPGLnJ.js";import{n as ce,t as V}from"./release-wire-f2VuBoBF.js";function H(e){return e!==`success`&&e!==`failed`}function U(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`time not reported`;let r=Math.max(0,Math.round((t-n)/1e3));if(r<10)return`just now`;if(r<60)return`${r}s ago`;let i=Math.round(r/60);return i<60?`${i}m ago`:`${Math.round(i/60)}h ago`}function W(e,t,n){return H(e.status)&&(n||!Number.isFinite(Date.parse(e.at))||t-Date.parse(e.at)>9e4)}function G({record:e,now:t,unavailable:n}){let r=J[e.status]??{label:e.status,tone:`default`},i=W(e,t,n),a=H(e.status)&&!i;return(0,q.jsxs)(f,{sx:{py:1},children:[(0,q.jsxs)(S,{direction:`row`,spacing:1,sx:{mb:.5,alignItems:`center`,flexWrap:`wrap`,rowGap:.5},children:[(0,q.jsx)(h,{variant:`body2`,sx:{fontWeight:600,minWidth:0,overflowWrap:`anywhere`},children:e.app===`*`?`Node provisioning`:e.app}),(0,q.jsx)(h,{variant:`caption`,sx:{color:`text.secondary`,fontFamily:`monospace`,overflowWrap:`anywhere`},children:e.node}),(0,q.jsx)(f,{sx:{flex:1}}),(0,q.jsx)(p,{size:`small`,variant:`outlined`,color:r.tone,label:r.label,sx:{maxWidth:`100%`,fontWeight:600}}),(0,q.jsx)(h,{variant:`caption`,sx:{color:`text.secondary`},children:U(e.at,t)})]}),(0,q.jsx)(v,{"aria-label":`${e.app===`*`?`Node provisioning`:e.app} on ${e.node}`,variant:a?`indeterminate`:`determinate`,value:e.status===`success`?100:e.progress,color:i?`warning`:r.tone==="default"?`inherit`:r.tone,sx:{height:4,borderRadius:2}}),i&&(0,q.jsx)(h,{role:`status`,variant:`caption`,color:`warning.main`,children:`Awaiting an updated report; completion is unknown. A long phase may still be running.`}),e.message?(0,q.jsx)(h,{variant:`caption`,sx:{display:`block`,mt:.5,color:e.status===`failed`?`error.main`:`text.secondary`,wordBreak:`break-word`},children:e.message}):null,e.operationId&&(0,q.jsxs)(f,{component:`details`,sx:{mt:.5,typography:`caption`,color:`text.secondary`,overflowWrap:`anywhere`,"& summary":{cursor:`pointer`,width:`fit-content`}},children:[(0,q.jsx)(`summary`,{children:`Transfer details`}),(0,q.jsxs)(`div`,{children:[e.project,`/`,e.stack,` · `,e.at]}),(0,q.jsxs)(`div`,{children:[`Operation `,(0,q.jsx)(`code`,{children:e.operationId})]}),e.releaseId&&(0,q.jsxs)(`div`,{children:[`Release `,(0,q.jsx)(`code`,{children:e.releaseId})]})]})]})}function K({records:e,now:t=Date.now(),unavailable:n=!1}){if(e.length===0)return null;let r=e.filter(e=>H(e.status)&&!W(e,t,n)).length;return(0,q.jsxs)(f,{sx:{mb:3},children:[(0,q.jsxs)(S,{direction:`row`,spacing:1,sx:{mb:1,alignItems:`center`},children:[(0,q.jsx)(h,{variant:`subtitle2`,sx:{fontWeight:700},children:`Deployment progress`}),r>0?(0,q.jsx)(p,{size:`small`,color:`info`,variant:`filled`,label:`${r} in flight`,sx:{fontWeight:600}}):null]}),(0,q.jsx)(f,{sx:{border:1,borderColor:`divider`,borderRadius:1,px:2,py:.5},children:e.map(e=>(0,q.jsx)(G,{record:e,now:t,unavailable:n},k(e)))})]})}var q,J;function Y(){return(Y=e((()=>{c(),u(),_(),C(),m(),A(),q=n(),J={pending:{label:`Connecting`,tone:`default`},transferring:{label:`Transferring artifact`,tone:`info`},extracting:{label:`Unpacking`,tone:`info`},installing:{label:`Installing dependencies on the node`,tone:`info`},restarting:{label:`Starting`,tone:`info`},verifying:{label:`Verifying`,tone:`info`},success:{label:`Deployed`,tone:`success`},failed:{label:`Failed`,tone:`error`}}})))()}function le(){let{activeProject:e,activeStack:t}=R();return(0,Z.jsx)(ue,{},JSON.stringify([e,t]))}function ue(){let{activeProject:e,activeStack:t,matchesNamespace:n,extractStack:i}=R(),o=ie(t=>t.projects.find(t=>t.name===e)),{can:c}=T(),l=c(`OmnitronRelease.deployments`),u=c(`OmnitronDeploy.getHistory`),d=c(`OmnitronProject.getDeployProgress`),[f,m]=(0,X.useState)(`stacks`),_=l&&(f===`stacks`||!u)?`stacks`:u?`legacy`:null,[v,y]=(0,X.useState)(!1),[x,C]=(0,X.useState)(!1),[w,E]=(0,X.useState)(0),[O,k]=(0,X.useState)(25),A=D(async()=>{if(!c(`OmnitronAudit.available`))throw Error(`Checking recorded stack starts requires access to audit availability.`);let e=await ce.deployments();if(!e.known)throw Error(e.why);return e},{intervalMs:15e3,enabled:_===`stacks`}),j=D(()=>a.getHistory({limit:Q}),{intervalMs:15e3,enabled:_===`legacy`}),M=D(()=>ee.getDeployProgress(e?{project:e,...t&&{stack:t}}:void 0),{intervalMs:3e3,enabled:d,resourceKey:JSON.stringify([e,t,d])}),N=(A.data?.known?A.data.deployments:[]).filter(e=>n(`${e.project}/${e.stack}/_`)).sort((e,t)=>t.at.localeCompare(e.at)),F=(j.data??[]).filter(e=>n(e.app)),z=d?M.data??[]:[],{transfers:B,unscoped:V}=e?re(z,o??{name:e},t):{transfers:z,unscoped:[]},H=_===`stacks`?N.length:F.length,U=Math.min(w,Math.max(0,Math.ceil(H/O)-1)),W=A.error,G=async()=>{C(!0);try{await Promise.all([_===`stacks`&&A.refresh(),_===`legacy`&&j.refresh(),d&&M.refresh()])}finally{C(!1)}},q=e=>{k(e),E(0)};return(0,Z.jsxs)(S,{spacing:2,sx:{minWidth:0},children:[(0,Z.jsx)(P,{links:[{name:`Deployments`}],action:(0,Z.jsxs)(S,{direction:`row`,spacing:1,useFlexGap:!0,sx:{flexWrap:`wrap`,alignItems:`center`},children:[(0,Z.jsx)(b,{"data-console-command":`refresh`,"aria-label":`Refresh deployments`,size:`small`,onClick:G,disabled:x,"aria-busy":x,children:(0,Z.jsx)(ae,{})}),c(`OmnitronProject.listStacks`)&&(0,Z.jsx)(s,{component:r,to:`/stacks`,size:`small`,children:`Stacks`}),c(`OmnitronRelease.list`)&&(0,Z.jsx)(s,{component:r,to:`/releases`,size:`small`,variant:`outlined`,children:c(`OmnitronProject.startStack`)?`Deploy a release`:`Releases`})]})}),d&&M.error&&(0,Z.jsxs)(ne,{severity:`warning`,variant:`outlined`,children:[`Transfer observations unavailable: `,M.error,`. Retained observations may be stale.`]}),d&&M.loading&&(0,Z.jsx)(h,{role:`status`,variant:`caption`,children:`Reading transfer observations…`}),d&&!M.loading&&!M.error&&B.length===0&&(0,Z.jsx)(h,{role:`status`,variant:`caption`,color:`text.secondary`,children:`No attributed transfer observations for this workspace.`}),(0,Z.jsx)(K,{records:B,unavailable:!!M.error}),V.length>0&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(s,{size:`small`,onClick:()=>y(e=>!e),"aria-expanded":v,"aria-controls":`unscoped-transfers`,sx:{alignSelf:`flex-start`},children:[v?`Hide`:`Show`,` unscoped observations · `,V.length]}),(0,Z.jsxs)(te,{id:`unscoped-transfers`,in:v,unmountOnExit:!0,children:[(0,Z.jsx)(h,{variant:`caption`,color:`text.secondary`,children:`These controller reports have no recorded project or stack.`}),(0,Z.jsx)(K,{records:V,unavailable:!!M.error})]})]}),l&&u&&(0,Z.jsx)(se,{value:_??`stacks`,onChange:e=>{m(e),E(0)},"aria-label":`Deployment records`,tabs:[{value:`stacks`,label:A.data&&!A.error?`Stack starts · ${N.length}`:`Stack starts`},{value:`legacy`,label:j.data&&!j.error?`App history · ${F.length}`:`App history`}]}),_===`stacks`?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(h,{variant:`caption`,color:`text.secondary`,children:[`Latest recorded start per stack namespace. `,c(`OmnitronAudit.list`)&&(0,Z.jsxs)(Z.Fragment,{children:[`Full event history is in `,(0,Z.jsx)(g,{component:r,to:`/audit`,children:`Audit`}),`.`]})]}),(0,Z.jsx)(I,{minWidth:600,scrollLabel:`Recorded stack starts`,columns:[{key:`stack`,header:`Stack`,render:t=>{let n=i(`${t.project}/${t.stack}/_`)??t.stack;return e&&c(`OmnitronProject.getStack`)?(0,Z.jsxs)(S,{children:[(0,Z.jsx)(g,{component:r,to:`/stacks/${encodeURIComponent(n)}`,children:n}),(t.project!==e||t.stack!==n)&&(0,Z.jsxs)(h,{variant:`caption`,color:`text.secondary`,children:[t.project,`/`,t.stack]})]}):(0,Z.jsxs)(h,{variant:`body2`,children:[t.project,`/`,t.stack]})}},{key:`release`,header:`Recorded source`,render:e=>e.release?c(`OmnitronRelease.get`)?(0,Z.jsx)(g,{component:r,to:`/releases/${encodeURIComponent(e.release)}`,sx:{overflowWrap:`anywhere`},children:e.release}):e.release:(0,Z.jsx)(h,{variant:`body2`,children:e.releaseUnnamed?`Release identity missing from record`:`Working tree / source not recorded`})},{key:`at`,header:`Recorded at`,render:e=>L(e.at)},{key:`source`,header:`Trigger`,render:e=>e.source??`Not recorded`},{key:`actorId`,header:`Actor`,render:e=>(0,Z.jsx)(h,{variant:`caption`,sx:{overflowWrap:`anywhere`},children:e.actorId??`Not recorded`})}],data:N.slice(U*O,(U+1)*O),total:N.length,loading:A.loading,loadError:W,emptyMessage:`No stack start recorded for this workspace`,rowKey:e=>`${e.project}/${e.stack}`,page:U,pageSize:O,onPageChange:E,onPageSizeChange:q,dense:!0})]}):_===`legacy`&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(h,{variant:`caption`,color:`text.secondary`,children:[`Retained records from the retired per-app path. Its version labels and success statuses do not prove an artifact was installed. The latest `,Q,` controller records are filtered to this workspace.`]}),(0,Z.jsx)(I,{minWidth:680,scrollLabel:`Legacy application operation records`,columns:[{key:`app`,header:`Application`,render:e=>(0,Z.jsx)(h,{variant:`body2`,sx:{overflowWrap:`anywhere`},children:e.app})},{key:`version`,header:`Requested label`,render:e=>(0,Z.jsx)(h,{variant:`caption`,sx:{fontFamily:`monospace`,overflowWrap:`anywhere`},children:e.version})},{key:`strategy`,header:`Requested strategy`,render:e=>e.strategy},{key:`status`,header:`Recorded outcome`,render:e=>(0,Z.jsx)(p,{size:`small`,variant:`outlined`,label:e.status})},{key:`startedAt`,header:`Started`,render:e=>L(e.startedAt)},{key:`duration`,header:`Duration`,render:e=>{let t=e.completedAt?Date.parse(e.completedAt)-Date.parse(e.startedAt):NaN;return Number.isFinite(t)&&t>=0?oe(t):`Not recorded`}},{key:`deployedBy`,header:`Recorded actor`,render:e=>e.deployedBy??`Not recorded`}],data:F.slice(U*O,(U+1)*O),total:F.length,loading:j.loading,loadError:j.error,emptyMessage:`No legacy app operation in this history window`,rowKey:e=>e.id,page:U,pageSize:O,onPageChange:E,onPageSizeChange:q,dense:!0})]})]})}var X,Z,Q;function $(){return($=e((()=>{X=t(),o(),x(),m(),C(),u(),l(),y(),d(),M(),F(),w(),B(),N(),i(),V(),Y(),O(),z(),E(),j(),A(),Z=n(),Q=200})))()}$();export{le as default};
@@ -0,0 +1,8 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{H as r,P as i,_ as a,c as o,h as s,v as c,z as l}from"./client-DFnuv2z3.js";import{a as u,o as d}from"./mui-agG5dued.js";import{Vt as f,Yt as p}from"./mui-BTN91yBK.js";import{_n as m,gn as h}from"./mui-CdB_p2lt.js";import{D as g,E as _,F as v,H as y,I as b,M as x,O as S,Q as C,St as w,T,V as E,Z as D,j as O,xt as ee}from"./mui-BXSXx9c9.js";import{B as te,F as ne,I as re,M as ie,a as ae,c as oe,j as k,o as se,s as ce,z as A}from"./mui-Cd711nOk.js";import{A as le,E as ue,T as de,it as fe,k as pe,rt as me}from"./mui-AnEgAVjz.js";import{_ as j,v as he}from"./mui-BwsIrivo.js";import{r as M,t as N}from"./alert-uBG6r9NW.js";import{n as ge,t as P}from"./chart-BpGXlCJc.js";import{n as F,s as _e}from"./access-48hkC2-P.js";import{n as ve,r as I,t as L}from"./use-polled-resource-B22hhr5L.js";import{a as ye,c as be,l as xe,n as Se,s as Ce,t as we}from"./app-address-BCXfN59F.js";import{F as Te,G as Ee,M as R,P as De,c as Oe,k as z,z as B}from"./icons-OboZgWSt.js";import{n as V,r as ke,t as Ae}from"./constants-CyhngVXh.js";import{n as je,t as Me}from"./table-BOWT6Y9d.js";import{n as Ne,t as Pe}from"./page-breadcrumbs-fR7Jmpp4.js";import{n as Fe,t as H}from"./skeleton-BmWDJWF9.js";import{i as U,s as Ie}from"./formatters-RnRy4bXm.js";import{c as Le,n as Re,s as ze,t as Be}from"./log-level-filter-Bcn31D1F.js";import{n as Ve,t as He}from"./use-stack-context-UkBsF-l7.js";function Ue({appName:e,refreshToken:t,onLogs:n}){let{data:r,error:i,loading:a,refresh:s}=ve(async()=>{let t=await o.getHealth({name:e}),n=t.apps[e];if(!n)throw Error(`The daemon returned no health answer for this application.`);return{...n,timestamp:t.timestamp}},{intervalMs:5e3,resourceKey:e});(0,We.useEffect)(()=>{t>0&&s()},[t,s]);let c=r!==null&&(!Number.isFinite(r.timestamp)||Date.now()-r.timestamp>=3e4||r.timestamp>Date.now()+5e3),l=r!==null&&!i&&!c,u=l?r.status:`unverified`,d=u===`healthy`?`success`:u===`unhealthy`?`error`:`warning`,f=r?[...r.checks].sort((e,t)=>({fail:0,warn:1,pass:2})[e.status]-{fail:0,warn:1,pass:2}[t.status]):[];return(0,W.jsx)(O,{variant:`outlined`,component:`section`,"aria-label":`Application readiness`,sx:{minWidth:0},children:(0,W.jsxs)(g,{sx:{p:2,"&:last-child":{pb:2}},children:[(0,W.jsxs)(j,{direction:`row`,useFlexGap:!0,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`,mb:1.5},children:[(0,W.jsx)(A,{variant:`subtitle2`,children:`Readiness`}),(0,W.jsx)(D,{size:`small`,variant:`outlined`,color:d,label:a&&!r?`Checking`:u}),r&&Number.isFinite(r.timestamp)&&(0,W.jsxs)(A,{variant:`caption`,color:`text.secondary`,children:[l?`Checked`:`Last observation`,` `,new Date(r.timestamp).toLocaleTimeString()]}),(0,W.jsx)(v,{size:`small`,onClick:n,sx:{ml:`auto`},children:`View logs`})]}),(i||c)&&(0,W.jsxs)(N,{severity:`warning`,variant:`outlined`,sx:{mb:1.5},children:[i??`Health observation is stale. Waiting for a fresh answer.`,r?` The checks below are the last observation, not a current health verdict.`:``]}),!r&&!i&&(0,W.jsx)(A,{variant:`body2`,color:`text.secondary`,children:`Waiting for the application health probe.`}),r&&f.length===0&&(0,W.jsxs)(A,{variant:`body2`,color:`text.secondary`,children:[`The application reported `,r.status,` without individual checks. Add named readiness checks to its bootstrap.`]}),(0,W.jsx)(j,{spacing:1.5,children:f.map((t,n)=>(0,W.jsxs)(E,{sx:{display:`grid`,gridTemplateColumns:`auto minmax(0, 1fr)`,gap:1,alignItems:`start`},children:[(0,W.jsx)(D,{size:`small`,variant:`outlined`,label:t.status,color:t.status===`pass`?`success`:t.status===`fail`?`error`:`warning`}),(0,W.jsxs)(E,{sx:{minWidth:0,overflowWrap:`anywhere`},children:[(0,W.jsx)(A,{variant:`body2`,sx:{fontWeight:600},children:t.name.startsWith(`${e}/`)?t.name.slice(e.length+1):t.name}),(0,W.jsx)(A,{variant:`body2`,color:`text.secondary`,children:t.message??`No diagnostic message was supplied by the application.`})]})]},`${t.name}-${n}`))})]})})}var We,W;function Ge(){return(Ge=e((()=>{We=t(),y(),x(),S(),he(),C(),b(),te(),M(),s(),L(),W=n()})))()}function G({children:e,value:t,index:n}){let[r,i]=(0,Y.useState)(t===n);return(0,Y.useEffect)(()=>{t===n&&i(!0)},[t,n]),r?(0,X.jsx)(E,{sx:{pt:2,display:t===n?`block`:`none`},children:e}):null}function K({label:e,value:t,sub:n,color:r}){return(0,X.jsx)(O,{variant:`outlined`,sx:{flex:1,minWidth:140,bgcolor:r?f(r,.04):void 0,borderColor:r?f(r,.2):void 0},children:(0,X.jsxs)(g,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:[(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.secondary`,textTransform:`uppercase`,letterSpacing:.5,fontSize:10},children:e}),(0,X.jsx)(A,{variant:`h5`,sx:{fontWeight:700,color:r??`text.primary`,mt:.25},children:t}),n&&(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.disabled`,fontSize:11},children:n})]})})}function Ke({app:e,diagnostics:t,diagLoading:n}){let r=m(),i=t&&t.memory.heapTotal>0?Math.round(t.memory.heapUsed/t.memory.heapTotal*100):0,a=t!=null&&t.memory.heapTotal>0,o=be(e,t),s=o?` of ${o.name}`:``;return(0,X.jsxs)(j,{spacing:3,children:[(0,X.jsxs)(j,{direction:`row`,spacing:2,sx:{flexWrap:`wrap`},children:[(0,X.jsx)(K,{label:`CPU`,value:e.cpu>0?`${e.cpu.toFixed(1)}%`:`—`,color:e.cpu>80?r.palette.error.main:void 0}),(0,X.jsx)(K,{label:`Memory`,value:U(e.memory),sub:t?a?`Heap${s}: ${U(t.memory.heapUsed)} / ${U(t.memory.heapTotal)}`:`RSS${s}: ${U(t.memory.rss)}`:void 0}),(0,X.jsx)(K,{label:`Uptime`,value:Ie(e.uptime)}),(0,X.jsx)(K,{label:`Restarts`,value:e.restarts,color:e.restarts>0?r.palette.warning.main:void 0}),(0,X.jsx)(K,{label:`Instances`,value:e.instances})]}),t&&(0,X.jsx)(O,{variant:`outlined`,children:(0,X.jsx)(g,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:a?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(j,{direction:`row`,sx:{justifyContent:`space-between`,alignItems:`center`,mb:.5},children:[(0,X.jsxs)(A,{variant:`caption`,sx:{color:`text.secondary`},children:[`Heap Usage`,s]}),(0,X.jsxs)(A,{variant:`caption`,sx:{fontWeight:600},children:[i,`%`]})]}),(0,X.jsx)(de,{variant:`determinate`,value:i,sx:{height:6,borderRadius:3,bgcolor:f(r.palette.primary.main,.08),"& .MuiLinearProgress-bar":{borderRadius:3,bgcolor:i>85?r.palette.error.main:r.palette.primary.main}}}),(0,X.jsxs)(j,{direction:`row`,sx:{justifyContent:`space-between`,mt:.5},children:[(0,X.jsxs)(A,{variant:`caption`,sx:{color:`text.disabled`},children:[`RSS`,s,`: `,U(t.memory.rss)]}),(0,X.jsxs)(A,{variant:`caption`,sx:{color:`text.disabled`},children:[`External: `,U(t.memory.external)]})]})]}):(0,X.jsxs)(j,{spacing:.5,children:[(0,X.jsxs)(A,{variant:`caption`,sx:{color:`text.secondary`},children:[`Memory (RSS)`,s]}),(0,X.jsx)(A,{variant:`h6`,sx:{fontWeight:600},children:U(t.memory.rss)})]})})}),e.processes&&e.processes.length>0&&(0,X.jsx)(O,{variant:`outlined`,children:(0,X.jsxs)(g,{sx:{p:0,"&:last-child":{pb:0}},children:[(0,X.jsx)(A,{variant:`subtitle2`,sx:{fontWeight:600,px:2,pt:1.5,pb:1},children:`Process Topology`}),(0,X.jsx)(Me,{columns:[{id:`name`,label:`Process`,render:e=>(0,X.jsxs)(j,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[(0,X.jsx)(Oe,{sx:{fontSize:8,color:e.status===`online`?r.palette.success.main:e.status===`stopped`?r.palette.text.disabled:r.palette.error.main}}),(0,X.jsx)(A,{variant:`body2`,sx:{fontWeight:600},children:e.name})]})},{id:`type`,label:`Type`,render:e=>(0,X.jsx)(D,{label:e.type,size:`small`,variant:`outlined`,sx:{fontSize:11,height:22}})},{id:`status`,label:`Status`,render:e=>(0,X.jsx)(D,{label:e.status,size:`small`,color:V[e.status]||`default`,variant:`outlined`,sx:{fontSize:11,height:22}})},{id:`pid`,label:`PID`,align:`right`,render:e=>(0,X.jsx)(A,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:12},children:e.pid??`—`})},{id:`uptime`,label:`Uptime`,render:e=>(0,X.jsx)(A,{variant:`body2`,sx:{fontSize:12},children:Ie(e.uptime)})},{id:`cpu`,label:`CPU`,align:`right`,render:e=>(0,X.jsx)(A,{variant:`body2`,sx:{fontSize:12},children:e.cpu>0?`${e.cpu.toFixed(1)}%`:`—`})},{id:`memory`,label:`Memory`,align:`right`,render:e=>(0,X.jsx)(A,{variant:`body2`,sx:{fontSize:12},children:U(e.memory)})},{id:`restarts`,label:`Restarts`,align:`right`,render:e=>(0,X.jsx)(A,{variant:`body2`,sx:{fontSize:12,color:e.restarts!==null&&e.restarts>0?r.palette.warning.main:void 0},children:e.restarts??`—`})}],data:e.processes,rowKey:e=>e.name,dense:!0,containerSx:{border:`none`,borderRadius:0}})]})}),t&&t.services.length>0&&(()=>{let e=[...new Set(t.services)];return(0,X.jsx)(O,{variant:`outlined`,children:(0,X.jsxs)(g,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:[(0,X.jsx)(A,{variant:`subtitle2`,sx:{fontWeight:600,mb:1},children:`Exposed Services`}),(0,X.jsx)(j,{direction:`row`,spacing:.75,useFlexGap:!0,sx:{flexWrap:`wrap`},children:e.map(e=>(0,X.jsx)(D,{label:e,size:`small`,variant:`outlined`,sx:{fontSize:11,height:24}},e))})]})})})(),(0,X.jsx)(O,{variant:`outlined`,children:(0,X.jsxs)(g,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:[(0,X.jsx)(A,{variant:`subtitle2`,sx:{fontWeight:600,mb:1},children:`Details`}),(0,X.jsxs)(j,{spacing:.75,children:[(0,X.jsx)(q,{label:`Mode`,value:e.mode}),(0,X.jsx)(q,{label:`PID`,value:e.pid??`—`,mono:!0}),(0,X.jsx)(q,{label:`Port`,value:e.port??`—`,mono:!0}),(0,X.jsx)(q,{label:`Critical`,value:e.critical?`Yes`:`No`})]})]})})]})}function q({label:e,value:t,mono:n}){return(0,X.jsxs)(j,{direction:`row`,sx:{justifyContent:`space-between`,alignItems:`center`},children:[(0,X.jsx)(A,{variant:`body2`,sx:{color:`text.secondary`,fontSize:13},children:e}),(0,X.jsx)(A,{variant:`body2`,sx:{fontSize:13,...n&&{fontFamily:`monospace`}},children:t})]})}function qe(e){let t=typeof e==`string`?new Date(e):e;return`${String(t.getHours()).padStart(2,`0`)}:${String(t.getMinutes()).padStart(2,`0`)}:${String(t.getSeconds()).padStart(2,`0`)}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function Je(e){let t=typeof e==`string`?new Date(e):e;return`${t.toLocaleString(`en-US`,{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hour12:!1})}.${String(t.getMilliseconds()).padStart(3,`0`)}`}function Ye({log:e,isNew:t}){let[n,r]=(0,Y.useState)(!1),i=Object.hasOwn(Ae,e.level)?Ae[e.level]:`#6b7280`,a=Object.hasOwn(Z,e.level)?Z[e.level]:`transparent`,o=e.labels||e.traceId||e.spanId||e.metadata;return(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(E,{onClick:()=>o&&r(e=>!e),sx:{display:`grid`,gridTemplateColumns:`90px 36px 1fr`,gap:1,alignItems:`baseline`,px:1.5,py:`3px`,bgcolor:n?`rgba(255,255,255,0.04)`:a,borderLeft:`2px solid ${n?i:`transparent`}`,cursor:o?`pointer`:`default`,transition:`background-color 0.15s ease`,animation:t?`${tt} 0.3s ease-out`:void 0,"&:hover":{bgcolor:`rgba(255,255,255,0.04)`}},children:[(0,X.jsx)(ne,{title:Je(e.timestamp),placement:`top-start`,arrow:!0,enterDelay:400,children:(0,X.jsx)(A,{component:`span`,sx:{fontFamily:Q,fontSize:11,color:`#7c8493`,lineHeight:`20px`,whiteSpace:`nowrap`,letterSpacing:`-0.02em`},children:qe(e.timestamp)})}),(0,X.jsx)(A,{component:`span`,sx:{fontFamily:Q,fontSize:10,fontWeight:700,color:i,lineHeight:`20px`,textTransform:`uppercase`,letterSpacing:`0.04em`},children:Le(e.level)}),(0,X.jsx)(A,{component:`span`,sx:{fontFamily:Q,fontSize:11.5,lineHeight:`20px`,overflow:`hidden`,color:e.level===`error`||e.level===`fatal`?`#fca5a5`:`#c9d1d9`,textOverflow:`ellipsis`,whiteSpace:n?`pre-wrap`:`nowrap`,wordBreak:n?`break-all`:void 0},children:e.message})]}),(0,X.jsx)(ee,{in:n,unmountOnExit:!0,children:(0,X.jsx)(E,{sx:{ml:`14px`,mr:1.5,mb:.5,p:1.5,bgcolor:`rgba(255,255,255,0.025)`,borderRadius:1,borderLeft:`2px solid ${f(i,.3)}`},children:(0,X.jsxs)(E,{component:`pre`,sx:{fontFamily:Q,fontSize:11,color:`#8b949e`,m:0,whiteSpace:`pre-wrap`,wordBreak:`break-all`,lineHeight:1.7},children:[e.traceId&&(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`span`,{style:{color:`#7c8493`},children:`traceId: `}),(0,X.jsx)(`span`,{style:{color:`#d2a8ff`},children:e.traceId}),`
2
+ `]}),e.spanId&&(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`span`,{style:{color:`#7c8493`},children:`spanId: `}),(0,X.jsx)(`span`,{style:{color:`#d2a8ff`},children:e.spanId}),`
3
+ `]}),e.labels&&(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`span`,{style:{color:`#7c8493`},children:`labels: `}),(0,X.jsx)(`span`,{style:{color:`#7ee787`},children:JSON.stringify(e.labels,null,2)}),`
4
+ `]}),e.metadata&&(0,X.jsxs)(`span`,{children:[(0,X.jsx)(`span`,{style:{color:`#7c8493`},children:`metadata:`}),`
5
+ `,(0,X.jsx)(`span`,{style:{color:`#e6edf3`},children:JSON.stringify(e.metadata,null,2)})]})]})})})]})}function Xe({appName:e}){let[t,n]=(0,Y.useState)([]),[r,i]=(0,Y.useState)(!0),[o,s]=(0,Y.useState)(!1),[c,l]=(0,Y.useState)([]),[u,d]=(0,Y.useState)(``),[f,p]=(0,Y.useState)(``),m=(0,Y.useRef)(null),h=(0,Y.useRef)(null),_=(0,Y.useRef)(new Set),y=(0,Y.useRef)(null),b=(0,Y.useRef)(null);(0,Y.useEffect)(()=>(b.current&&clearTimeout(b.current),b.current=setTimeout(()=>p(u),et),()=>{b.current&&clearTimeout(b.current)}),[u]);let x=(0,Y.useMemo)(()=>{let t={tail:200,app:e};return c.length>0&&(t.level=c),f.trim()&&(t.search=f.trim()),t},[e,c,f]);(0,Y.useEffect)(()=>{let e=!1;return(async()=>{try{i(!0);let t=await a.streamLogs(x);if(e)return;let r=[...t].reverse();n(r),_.current.clear(),t.length>0&&(h.current=new Date(t[t.length-1].timestamp).toISOString())}catch{}finally{e||i(!1)}})(),()=>{e=!0}},[x]),(0,Y.useEffect)(()=>{if(m.current&&=(clearInterval(m.current),null),!o)return m.current=setInterval(async()=>{try{let e=h.current,r={...x,tail:50};e&&(r.since=e);let i=await a.streamLogs(r);if(i.length===0)return;let o=new Set(t.map(e=>e.id)),s=i.filter(e=>!o.has(e.id));if(s.length===0)return;s.forEach(e=>_.current.add(e.id)),setTimeout(()=>{s.forEach(e=>_.current.delete(e.id))},2e3),h.current=new Date(s[s.length-1].timestamp).toISOString(),n(e=>{let t=[...s.reverse(),...e];return t.length>2e3?t.slice(0,2e3):t})}catch{}},$e),()=>{m.current&&clearInterval(m.current)}},[o,x,t]);let S=(0,Y.useMemo)(()=>{let e=new Map;for(let n of t)e.set(n.level,(e.get(n.level)??0)+1);return e},[t]);return(0,X.jsxs)(j,{spacing:1.5,children:[(0,X.jsxs)(j,{direction:`row`,spacing:1.5,sx:{alignItems:`center`,flexWrap:`wrap`},children:[(0,X.jsx)(ae,{"data-console-command":`search`,size:`small`,placeholder:`Search logs...`,value:u,onChange:e=>d(e.target.value),slotProps:{input:{startAdornment:(0,X.jsx)(pe,{position:`start`,children:(0,X.jsx)(Te,{sx:{fontSize:16,color:`text.disabled`}})}),sx:{fontSize:13}}},sx:{minWidth:200,flex:1,maxWidth:320}}),(0,X.jsx)(Be,{selected:c,counts:S,onChange:l,showCounts:!0}),(0,X.jsx)(E,{sx:{flex:1}}),(0,X.jsx)(v,{size:`small`,variant:`outlined`,onClick:()=>s(!o),startIcon:o?(0,X.jsx)(z,{sx:{fontSize:16}}):(0,X.jsx)(B,{sx:{fontSize:16}}),sx:{textTransform:`none`,fontSize:12},children:o?`Resume`:`Pause`})]}),(0,X.jsx)(O,{ref:y,variant:`outlined`,sx:{bgcolor:`#0d1117`,maxHeight:600,overflow:`auto`,borderColor:`rgba(255,255,255,0.1)`},children:(0,X.jsx)(g,{sx:{p:0,"&:last-child":{pb:0}},children:r?(0,X.jsx)(j,{spacing:.5,sx:{p:1.5},children:[...Array(12)].map((e,t)=>(0,X.jsx)(H,{height:20,sx:{bgcolor:`rgba(255,255,255,0.05)`}},t))}):t.length===0?(0,X.jsx)(A,{variant:`body2`,sx:{fontFamily:Q,fontSize:12,color:`#8b949e`,textAlign:`center`,py:6},children:`No log entries found.`}):t.map(e=>(0,X.jsx)(Ye,{log:e,isNew:_.current.has(e.id)},e.id))})}),(0,X.jsxs)(j,{direction:`row`,sx:{justifyContent:`space-between`,alignItems:`center`},children:[(0,X.jsxs)(A,{variant:`caption`,sx:{color:`text.disabled`,fontFamily:Q,fontSize:11},children:[t.length,` entries `,!o&&`· streaming`]}),c.length>0&&(0,X.jsx)(v,{size:`small`,onClick:()=>l([]),sx:{textTransform:`none`,fontSize:11},children:`Clear filters`})]})]})}function J({title:e,value:t,suffix:n,caption:r,color:i,loading:a}){return(0,X.jsx)(O,{variant:`outlined`,sx:{flex:1,minWidth:120},children:(0,X.jsxs)(g,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:[(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.secondary`,textTransform:`uppercase`,letterSpacing:.5,fontSize:10},children:e}),a?(0,X.jsx)(H,{width:50,height:36}):(0,X.jsxs)(A,{variant:`h5`,sx:{fontWeight:700,color:`${i}.main`,mt:.25},children:[t,n&&(0,X.jsx)(A,{component:`span`,variant:`body2`,sx:{color:`text.secondary`,ml:.5},children:n})]}),r&&!a&&(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.secondary`,display:`block`,fontSize:10},children:r})]})})}function Ze({appName:e}){let[t,n]=(0,Y.useState)(!0),[r,i]=(0,Y.useState)(null),[a,s]=(0,Y.useState)(!0),[l,u]=(0,Y.useState)(0),[d,f]=(0,Y.useState)(0),[p,m]=(0,Y.useState)(null),[h,_]=(0,Y.useState)([]),[v,y]=(0,Y.useState)([]),b=(0,Y.useCallback)(async()=>{try{let t=(await o.getMetrics({name:e})).apps[e]??null;t&&(u(Math.round(t.cpu*10)/10),f(t.memory)),m(t);let n=new Date(Date.now()-3e5).toISOString();try{let[t,r]=await Promise.all([c.querySeries({names:[`cpu_percent`],apps:[e],from:n,interval:`10s`}),c.querySeries({names:[`memory_bytes`],apps:[e],from:n,interval:`10s`})]);t.length>0&&_(t.map(e=>({name:`CPU`,data:e.points.map(e=>({x:new Date(e.timestamp).getTime(),y:Number(e.value.toFixed(1))}))}))),r.length>0&&y(r.map(e=>({name:`Memory`,data:e.points.map(e=>({x:new Date(e.timestamp).getTime(),y:Math.round(e.value/1048576)}))})))}catch{}i(null)}catch(e){i(e?.message??`Failed to fetch metrics`)}finally{n(!1)}},[e]);I(()=>void b(),{intervalMs:1e4,enabled:a}),(0,Y.useEffect)(()=>{b()},[b]);let x=we(p),S=(0,Y.useMemo)(()=>({...$,colors:[`#6366f1`],yaxis:{...$.yaxis,title:{text:`CPU %`,style:{color:`#999`,fontSize:`11px`}},min:0},fill:{type:`gradient`,gradient:{shadeIntensity:1,opacityFrom:.4,opacityTo:.05,stops:[0,100]}}}),[]),C=(0,Y.useMemo)(()=>({...$,colors:[`#a78bfa`],yaxis:{...$.yaxis,title:{text:`Memory (MB)`,style:{color:`#999`,fontSize:`11px`}},min:0},fill:{type:`gradient`,gradient:{shadeIntensity:1,opacityFrom:.4,opacityTo:.05,stops:[0,100]}}}),[]);return(0,X.jsxs)(j,{spacing:2.5,children:[r&&(0,X.jsx)(N,{closable:!0,severity:`warning`,variant:`outlined`,onClose:()=>i(null),children:r}),(0,X.jsxs)(j,{direction:`row`,spacing:2,sx:{flexWrap:`wrap`},children:[(0,X.jsx)(J,{title:`CPU`,value:t?`—`:`${l}%`,color:l>80?`error`:l>60?`warning`:`success`,loading:t}),(0,X.jsx)(J,{title:`Memory`,value:t?`—`:U(d),color:d>536870912?`warning`:`primary`,loading:t}),(0,X.jsx)(J,{title:`Requests`,value:t?`—`:x?String(x.requests??0):`not collected`,...x&&{caption:xe(x)},color:`info`,loading:t}),(0,X.jsx)(J,{title:`Errors (5xx)`,value:t?`—`:x?String(x.errors??0):`not collected`,...x&&{caption:`since the process started`},color:x?(x.errors??0)>0?`error`:`success`:`info`,loading:t}),(0,X.jsx)(J,{title:`Latency p95`,value:t?`—`:x?x.latency?Math.round(x.latency.p95):`none in window`:`not collected`,...x?.latency?{suffix:`ms`}:{},...x&&{caption:Ce(x)},color:`info`,loading:t})]}),(0,X.jsxs)(O,{variant:`outlined`,children:[(0,X.jsx)(T,{slotProps:{subheader:{variant:`caption`},title:{variant:`subtitle2`,fontWeight:600}},title:`CPU Usage`,subheader:`Last 5 minutes`,action:(0,X.jsxs)(j,{direction:`row`,spacing:.5,sx:{alignItems:`center`},children:[(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.secondary`,fontSize:11},children:`Auto`}),(0,X.jsx)(me,{size:`small`,onClick:()=>s(!a),sx:{color:a?`primary.main`:`text.disabled`},children:(0,X.jsx)(R,{sx:{fontSize:16}})})]}),sx:{pb:0}}),(0,X.jsx)(g,{sx:{pt:.5,pb:1,"&:last-child":{pb:1}},children:t?(0,X.jsx)(H,{variant:`rectangular`,height:220}):h.length>0?(0,X.jsx)(P,{type:`area`,height:220,options:S,series:h}):(0,X.jsxs)(j,{sx:{alignItems:`center`,justifyContent:`center`,height:220},children:[(0,X.jsx)(A,{variant:`body2`,sx:{color:`text.disabled`},children:`No CPU time-series data available`}),(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.disabled`},children:`Metrics collection may not be active for this app`})]})})]}),(0,X.jsxs)(O,{variant:`outlined`,children:[(0,X.jsx)(T,{slotProps:{subheader:{variant:`caption`},title:{variant:`subtitle2`,fontWeight:600}},title:`Memory Usage`,subheader:`Last 5 minutes (MB)`,sx:{pb:0}}),(0,X.jsx)(g,{sx:{pt:.5,pb:1,"&:last-child":{pb:1}},children:t?(0,X.jsx)(H,{variant:`rectangular`,height:220}):v.length>0?(0,X.jsx)(P,{type:`area`,height:220,options:C,series:v}):(0,X.jsxs)(j,{sx:{alignItems:`center`,justifyContent:`center`,height:220},children:[(0,X.jsx)(A,{variant:`body2`,sx:{color:`text.disabled`},children:`No memory time-series data available`}),(0,X.jsx)(A,{variant:`caption`,sx:{color:`text.disabled`},children:`Metrics collection may not be active for this app`})]})})]})]})}function Qe(){let{name:e}=r(),{activeProject:t,activeStack:n}=Ve(),a=e&&Se(e,t,n),[s,c]=(0,Y.useState)(null),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(!0),[p,m]=(0,Y.useState)(!0),[h,g]=(0,Y.useState)(null),[_,y]=(0,Y.useState)(!1),[b,x]=(0,Y.useState)(0),[S,C]=(0,Y.useState)(0),w=(0,Y.useCallback)(async()=>{if(a)try{let e=await o.getApp({name:a});c(e),g(null)}catch(t){g(t?.message??`Failed to fetch app "${e}"`)}finally{f(!1)}},[a,e]),T=(0,Y.useCallback)(async()=>{if(a)try{let e=await o.inspect({name:a});u(e)}catch{}finally{m(!1)}},[a]);I(()=>{w(),T()},{intervalMs:5e3});let E=async t=>{if(a){y(!0);try{if(t===`start`)await o.startApp({name:a});else if(t===`stop`){let t=await o.stopApp({name:a});if(!t.success){g(`Failed to stop "${e}": ${t.error??`the daemon reported failure`}`);return}}else await o.restartApp({name:a});await w(),await T(),C(e=>e+1)}catch(n){g(`Failed to ${t} "${e}": ${n?.message??`Unknown error`}`)}finally{y(!1)}}},O=s?.status===`stopped`||s?.status===`crashed`||s?.status===`errored`;return(0,X.jsxs)(j,{spacing:3,children:[(0,X.jsx)(Pe,{linkComponent:i,links:[t?{name:`Applications`,href:`/apps`}:{name:`Overview`,href:`/`},{name:e??``}],action:s?(0,X.jsxs)(j,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[(0,X.jsx)(D,{label:s.status,color:V[s.status]||`default`,variant:`outlined`,size:`small`}),O?(0,X.jsx)(F,{permission:`OmnitronDaemon.startApp`,children:(0,X.jsx)(v,{variant:`outlined`,color:`success`,size:`small`,startIcon:(0,X.jsx)(z,{}),disabled:_,onClick:()=>E(`start`),children:`Start`})}):(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)(F,{permission:`OmnitronDaemon.restartApp`,children:(0,X.jsx)(v,{variant:`outlined`,color:`warning`,size:`small`,startIcon:(0,X.jsx)(De,{}),disabled:_,onClick:()=>E(`restart`),children:`Restart`})}),(0,X.jsx)(F,{permission:`OmnitronDaemon.stopApp`,children:(0,X.jsx)(v,{variant:`outlined`,color:`error`,size:`small`,startIcon:(0,X.jsx)(B,{}),disabled:_,onClick:()=>E(`stop`),children:`Stop`})})]}),(0,X.jsx)(me,{"data-console-command":`refresh`,onClick:()=>{w(),T(),C(e=>e+1)},size:`small`,title:`Refresh`,children:(0,X.jsx)(R,{})})]}):void 0}),h&&(0,X.jsx)(N,{closable:!0,severity:`error`,variant:`outlined`,onClose:()=>g(null),children:h}),d?(0,X.jsxs)(j,{spacing:2,children:[(0,X.jsx)(j,{direction:`row`,spacing:2,children:[...[,,,,,]].map((e,t)=>(0,X.jsx)(H,{height:80,variant:`rounded`,sx:{flex:1}},t))}),(0,X.jsx)(H,{height:200,variant:`rounded`})]}):s?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)(ce,{value:b,onChange:(e,t)=>x(t),children:[(0,X.jsx)(k,{label:`Overview`}),(0,X.jsx)(k,{label:`Logs`}),(0,X.jsx)(k,{label:`Metrics`})]}),(0,X.jsx)(G,{value:b,index:0,children:(0,X.jsxs)(j,{spacing:2,children:[(0,X.jsx)(Ue,{appName:s.name,refreshToken:S,onLogs:()=>x(1)},s.name),(0,X.jsx)(Ke,{app:s,diagnostics:l,diagLoading:p})]})}),(0,X.jsx)(G,{value:b,index:1,children:(0,X.jsx)(Xe,{appName:s.name})}),(0,X.jsx)(G,{value:b,index:2,children:(0,X.jsx)(Ze,{appName:s.name})})]}):(0,X.jsxs)(N,{severity:`warning`,variant:`outlined`,children:[`Application "`,e,`" not found.`]})]})}var Y,X,Z,Q,$e,et,tt,$;function nt(){return(nt=e((()=>{_e(),Y=t(),l(),y(),x(),S(),_(),te(),he(),C(),b(),fe(),oe(),ie(),ue(),se(),le(),re(),w(),p(),h(),u(),ge(),Ee(),M(),Ne(),Fe(),je(),s(),Re(),ze(),ke(),He(),ye(),L(),Ge(),X=n(),Z={fatal:`rgba(220,38,38,0.08)`,error:`rgba(239,68,68,0.05)`,warn:`rgba(245,158,11,0.04)`},Q=`'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', monospace`,$e=2e3,et=300,tt=d`
6
+ from { opacity: 0; transform: translateY(8px); }
7
+ to { opacity: 1; transform: translateY(0); }
8
+ `,$={chart:{background:`transparent`,toolbar:{show:!1},animations:{enabled:!0,dynamicAnimation:{speed:800}}},theme:{mode:`dark`},grid:{borderColor:`rgba(255,255,255,0.08)`,padding:{left:8,right:8}},xaxis:{type:`datetime`,labels:{style:{colors:`#999`,fontSize:`10px`},datetimeUTC:!1}},yaxis:{labels:{style:{colors:`#999`,fontSize:`11px`}}},stroke:{curve:`smooth`,width:2},tooltip:{theme:`dark`,x:{format:`HH:mm:ss`}},legend:{show:!1},dataLabels:{enabled:!1}}})))()}nt();export{Qe as default};
@@ -0,0 +1,2 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{H as r,O as i,S as a,h as o,l as s,z as c}from"./client-DFnuv2z3.js";import{Vt as l,Yt as u}from"./mui-BTN91yBK.js";import{D as d,F as f,H as p,I as m,M as h,O as g,Q as _,V as v,Z as y,at as b,ct as x,i as S,j as C,ot as w,r as T,st as E}from"./mui-BXSXx9c9.js";import{A as D,B as O,C as k,D as A,F as j,I as M,O as ee,S as te,a as ne,b as re,d as N,f as ie,k as ae,o as oe,w as se,x as ce,y as le,z as P}from"./mui-Cd711nOk.js";import{B as ue,it as de,l as fe,rt as pe,u as me,z as F}from"./mui-AnEgAVjz.js";import{_ as I,v as L}from"./mui-BwsIrivo.js";import{r as he,t as R}from"./alert-uBG6r9NW.js";import{c as z,l as ge,n as B,s as V,u as _e}from"./access-48hkC2-P.js";import{n as ve,t as ye}from"./use-polled-resource-B22hhr5L.js";import{b as H,i as U,m as W,p as be,t as xe,y as Se}from"./project.store--G5pIF-J.js";import{G as Ce,M as we,m as Te}from"./icons-OboZgWSt.js";import{n as Ee,t as De}from"./operation-status-Bm1x1wTz.js";import{n as Oe,t as ke}from"./page-breadcrumbs-fR7Jmpp4.js";import{n as Ae,t as je}from"./release-wire-f2VuBoBF.js";import{c as Me,d as Ne,f as Pe,i as G,o as Fe,p as Ie,s as K,u as Le}from"./release-bits-B2a_wbft.js";import{n as Re,t as ze}from"./deploy-release-dialog-BOXcD5Wo.js";import{n as Be,t as Ve}from"./release-build-panel-BQmIdKW9.js";import{n as He,t as Ue}from"./release-deployment-state-DRrEI2pP.js";function We(e,t){return s.invoke(`daemon`,`OmnitronRelease`,`attestOnNode`,[{release:e,stack:t}],{timeout:6e5})}function Ge({output:e}){let[t,n]=(0,q.useState)(!1);return(0,J.jsxs)(v,{sx:{pl:2,mb:.5},children:[(0,J.jsx)(f,{size:`small`,onClick:()=>n(e=>!e),sx:{minWidth:0,p:0,fontSize:11,textTransform:`none`},children:t?`hide what it printed`:`what it printed`}),t&&(0,J.jsx)(v,{component:`pre`,sx:{m:0,mt:.5,p:1,maxHeight:240,overflow:`auto`,borderRadius:1,bgcolor:`action.hover`,fontFamily:`monospace`,fontSize:11,whiteSpace:`pre-wrap`,wordBreak:`break-word`},children:e})]})}function Ke({attestation:e}){let t=e.cleanup;if(!t&&!e.legalTextsUnread)return null;let n=Object.entries(t?.removed??{}).filter(([,e])=>e>0).map(([e,t])=>`${t} ${e}`),r=Object.entries(t?.retired??{}).filter(([,e])=>e>0).map(([e,t])=>`${t} ${e}`);return(0,J.jsxs)(v,{sx:{mt:.75,pl:1},"data-testid":`cleanup-${e.stack}`,children:[t&&(0,J.jsx)(P,{variant:`caption`,sx:{display:`block`,color:t.failed||t.run===null?`warning.main`:`text.secondary`},children:t.run===null?`cleanup not run — ${t.notRun??`the run had no name to remove by`}`:`cleanup: run ${t.run} removed ${n.length?n.join(`, `):`nothing — it had made nothing to remove`}`+(t.failed?` — FAILED: ${t.failed}`:``)}),r.length>0&&(0,J.jsxs)(P,{variant:`caption`,sx:{display:`block`,color:`text.secondary`},children:[`retired: `,r.join(`, `),` — blocked in place, their real-chain addresses still watched`]}),(t?.leftBehind??[]).map(e=>(0,J.jsxs)(P,{variant:`caption`,sx:{display:`block`,color:`warning.main`},children:[`left behind: `,e.what,` — `,e.why.join(`; `)||`no reason given`]},e.what)),e.legalTextsUnread&&(0,J.jsxs)(P,{variant:`caption`,sx:{display:`block`,color:`warning.main`},children:[`legal texts could not be read — `,e.legalTextsUnread]})]})}function qe({releaseId:e,project:t,attestations:n,onChanged:r}){let{can:a}=z(),o=a(`OmnitronRelease.attestOnNode`),s=a(`OmnitronProject.listStacks`),c=U(e=>e.stacksByProject),l=U(e=>e.fetchStacks),u=(0,q.useMemo)(()=>(c[t]??[]).filter(e=>e.type!==`local`),[c,t]),[p,m]=(0,q.useState)(``),[h,g]=(0,q.useState)(!1),[_,x]=(0,q.useState)(null),[S,w]=(0,q.useState)(null),[T,D]=(0,q.useState)(null),[O,k]=(0,q.useState)(!1);(0,q.useEffect)(()=>{o&&s&&!c[t]&&l(t)},[o,s,t,c,l]),(0,q.useEffect)(()=>{!p&&u.length>0&&m(u[0].name)},[u,p]);let A=!!(T&&n.some(e=>e.stack===T.stack&&e.storedAt!==T.previous));(0,q.useEffect)(()=>{if(!T)return;if(A){D(null);return}let e=setInterval(r,5e3),t=setTimeout(()=>{k(!0),D(null)},6e5);return()=>{clearInterval(e),clearTimeout(t)}},[T,A,r]);let M=(0,q.useCallback)(async()=>{if(!p)return;let t=n.find(e=>e.stack===p)?.storedAt;k(!1),g(!0),w(null),x(null);try{x(await We(e,p)),r()}catch(e){let n=e.message;i(e)?D({stack:p,previous:t}):w(n)}finally{g(!1)}},[e,p,n,r]);return(0,J.jsx)(C,{variant:`outlined`,children:(0,J.jsxs)(d,{children:[(0,J.jsxs)(I,{direction:`row`,spacing:1.5,sx:{alignItems:`center`,mb:1.5},children:[(0,J.jsx)(P,{variant:`subtitle2`,children:`Verified on stacks`}),(0,J.jsx)(P,{variant:`caption`,sx:{color:`text.secondary`},children:`probes a running stack measured against this release`}),(0,J.jsx)(v,{sx:{flex:1}}),o&&s&&u.length>0&&(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ne,{select:!0,size:`small`,value:p,onChange:e=>m(e.target.value),disabled:h||T!==null,sx:{minWidth:120},children:u.map(e=>(0,J.jsx)(fe,{value:e.name,children:e.name},e.name))}),(0,J.jsx)(j,{title:`Uploads this release's own scripts to the stack's node and runs the probes there, under the node's deploy lease. The stack should be carrying this release — an attestation older than the last deployment is refused.`,arrow:!0,children:(0,J.jsx)(`span`,{children:(0,J.jsx)(f,{size:`small`,variant:`outlined`,onClick:()=>void M(),disabled:h||T!==null||!p,startIcon:h||T!==null?(0,J.jsx)(E,{size:14}):void 0,children:h?`Running on the node…`:T===null?`Run the probes`:`Awaiting result…`})})})]})]}),T!==null&&(0,J.jsxs)(b,{severity:`info`,sx:{mb:1.5},children:[`The gateway did not return a result. Checking for a new attestation on `,T.stack,` before another run.`]}),O&&(0,J.jsx)(b,{severity:`warning`,sx:{mb:1.5},children:`No new attestation was recorded within ten minutes. Inspect the node logs before retrying.`}),_&&(0,J.jsxs)(b,{severity:_.passed===_.gates?`success`:`warning`,sx:{mb:1.5},children:[_.passed,` of `,_.gates,` probes passed on `,_.node,` — probes from`,` `,_.scriptsFrom===`release`?`the release itself`:`the release's commit`,typeof _.sourceFiles==`number`&&(_.sourceFiles>0?`, with ${_.sourceFiles} application source files from that commit`:`, with no application sources — probes that read code said NOT RUN`),`.`,_.accounts?Je[_.accounts]:``]}),S&&(0,J.jsx)(b,{severity:`error`,sx:{mb:1.5},children:(0,J.jsx)(P,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:S})}),n.length===0?(0,J.jsxs)(P,{variant:`body2`,sx:{color:`text.secondary`},children:[`No stack has attested this release. A stack whose policy declares `,(0,J.jsx)(`code`,{children:`verifiedOn`}),` refuses it until one does.`]}):(0,J.jsx)(I,{spacing:2,children:n.map(e=>{let t=e.gates.filter(e=>e.status===`passed`).length;return(0,J.jsxs)(v,{children:[(0,J.jsxs)(I,{direction:`row`,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`},children:[(0,J.jsx)(y,{label:e.stack,size:`small`,variant:`outlined`,sx:{height:20,fontSize:11}}),(0,J.jsxs)(P,{variant:`body2`,sx:{fontWeight:600,fontFamily:`monospace`,color:t===e.gates.length?`success.main`:`error.main`},children:[t,`/`,e.gates.length]}),(0,J.jsx)(Fe,{gates:e.gates,size:9}),(0,J.jsx)(v,{sx:{flex:1}}),(0,J.jsxs)(P,{variant:`caption`,sx:{color:`text.secondary`},children:[`measured `,Ie(e.at),e.onNode.hosts.length>0?` on ${e.onNode.hosts.join(`, `)}`:``]}),e.onNode.claimed&&(0,J.jsx)(j,{title:e.onNode.matched===!0?`The producer confirmed it ran on one of the stack's nodes.`:`The producer could not confirm the machine it ran on.`,arrow:!0,children:(0,J.jsx)(y,{label:e.onNode.matched===!0?`on the node`:`node unconfirmed`,size:`small`,color:e.onNode.matched===!0?`success`:`warning`,variant:`outlined`,sx:{height:18,fontSize:10}})})]}),e.gates.some(e=>e.status!==`passed`)&&(0,J.jsx)(v,{sx:{mt:.75,pl:1},children:e.gates.filter(e=>e.status!==`passed`).map(e=>(0,J.jsxs)(v,{children:[(0,J.jsxs)(P,{variant:`caption`,sx:{display:`block`,color:`text.secondary`},children:[(0,J.jsx)(v,{component:`span`,sx:{color:G[e.status].color,fontWeight:600},children:G[e.status].label}),` `,(0,J.jsx)(v,{component:`span`,sx:{fontFamily:`monospace`},children:e.name}),e.detail?` — ${e.detail}`:``]}),e.output&&(0,J.jsx)(Ge,{output:e.output})]},e.name))}),(0,J.jsx)(Ke,{attestation:e})]},e.stack)})})]})})}var q,J,Je;function Y(){return(Y=e((()=>{V(),q=t(),w(),p(),m(),h(),g(),_(),x(),me(),L(),oe(),M(),O(),o(),xe(),Le(),J=n(),Je={provisioned:` Accounts were created by the run and removed at its end.`,"not-declared":` No accounts were provisioned — the stack does not declare release.attest.provision, so probes that sign in said NOT RUN.`,"producer-cannot":` No accounts were provisioned — the stack allows it, but this release's producer predates --provision.`}})))()}function Ye({source:e}){return!e||e.state===`invalid`?(0,X.jsx)(P,{variant:`caption`,color:`warning.main`,sx:{overflowWrap:`anywhere`},children:e?.reason??`Per-application provenance unavailable from this daemon`}):(0,X.jsxs)(v,{component:`details`,sx:{minWidth:0,overflowWrap:`anywhere`,"& > summary":{cursor:`pointer`,fontSize:12,color:`text.secondary`,borderRadius:.5,"&:focus-visible":{outline:`2px solid`,outlineColor:`primary.main`,outlineOffset:2}}},children:[(0,X.jsx)(v,{component:`summary`,children:e.via.length?`Imported · ${e.producerApp}`:`Built in this release`}),(0,X.jsxs)(I,{spacing:.75,sx:{mt:1},children:[(0,X.jsx)(P,{variant:`caption`,children:e.releaseId}),(0,X.jsxs)(P,{variant:`caption`,children:[`Project · `,e.project.repo,(0,X.jsx)(`br`,{}),e.project.commit]}),e.packageDirectory&&(0,X.jsxs)(P,{variant:`caption`,children:[`Package · `,e.packageDirectory]}),(0,X.jsxs)(P,{variant:`caption`,children:[`SDK · `,e.framework.repo,(0,X.jsx)(`br`,{}),e.framework.commit]}),(0,X.jsx)(P,{variant:`caption`,children:H(e.target)}),e.via.map((e,t)=>(0,X.jsxs)(P,{variant:`caption`,children:[`Via `,e.release,`/`,e.app,(0,X.jsx)(`br`,{}),`Manifest · `,e.manifestSha256]},`${t}:${e.manifestSha256}:${e.app}`)),(0,X.jsx)(P,{variant:`caption`,color:`text.secondary`,children:`Recorded build inputs; current execution is shown in Deployment state.`})]})]})}var X;function Xe(){return(Xe=e((()=>{p(),L(),O(),W(),X=n()})))()}function Ze(){let{id:e=``}=r();return(0,Q.jsx)(Qe,{id:e},e)}function Qe({id:e}){let{can:t}=z(),n=t(`OmnitronRelease.builds`),r=t(`OmnitronRelease.getLog`),i=(0,Z.useRef)(0),[o,s]=(0,Z.useState)(null),[c,u]=(0,Z.useState)(!1),[p,m]=(0,Z.useState)(null),[h,g]=(0,Z.useState)(null),{data:_,loading:b,error:x,refresh:S}=ve(async()=>{let[t,r]=await Promise.all([Ae.get(e),n?Ae.builds().then(e=>({records:e,error:null})).catch(e=>({records:[],error:e.message})):{records:[],error:null}]);return{detail:t,builds:r}},{intervalMs:15e3,enabled:!!e,resourceKey:JSON.stringify([e,n])}),w=(0,Z.useCallback)(async t=>{let n=++i.current;s(t),m(null),g(null);try{let r=await a.getLog({id:e,name:t,lines:400});n===i.current&&m({name:r.name,tail:r.tail})}catch(e){n===i.current&&g(e.message)}finally{n===i.current&&s(null)}},[e]);if(b&&!_)return(0,Q.jsx)(ge,{});if(x&&!_)return(0,Q.jsxs)(I,{spacing:3,children:[(0,Q.jsx)(ke,{links:[{name:`Releases`,href:`/releases`},{name:e}]}),(0,Q.jsx)(R,{severity:`error`,variant:`outlined`,children:x})]});let E=_.detail,D=E.manifest,O=_.builds.records.find(t=>t.releaseId===e)??null;return(0,Q.jsxs)(I,{spacing:3,children:[(0,Q.jsx)(ke,{links:[{name:`Releases`,href:`/releases`},{name:e}],action:(0,Q.jsxs)(I,{direction:`row`,spacing:1,children:[(0,Q.jsx)(pe,{"data-console-command":`refresh`,size:`small`,onClick:()=>void S(),title:`Refresh`,children:(0,Q.jsx)(we,{})}),(0,Q.jsx)(B,{permission:`OmnitronProject.startStack`,children:(0,Q.jsx)(f,{variant:`contained`,size:`small`,startIcon:(0,Q.jsx)(Te,{}),disabled:!E.complete,onClick:()=>u(!0),children:`Deploy…`})})]})}),x&&(0,Q.jsxs)(R,{severity:`warning`,children:[`Last confirmed manifest · `,x]}),_?.builds.error&&(0,Q.jsxs)(R,{severity:`warning`,children:[`Build activity unavailable · `,_.builds.error]}),!E.complete&&(0,Q.jsx)(R,{severity:E.manifestError?`error`:`warning`,variant:`outlined`,children:E.manifestError??`This directory holds no manifest: the build did not finish, and what is here is its logs. Nothing can be deployed from it.`}),O&&(0,Q.jsx)(Ve,{record:O,compact:O.state!==`running`}),(0,Q.jsx)(Ue,{project:E.project},E.project),(0,Q.jsxs)(F,{container:!0,spacing:2,children:[(0,Q.jsx)(F,{size:{xs:12,md:6},children:(0,Q.jsx)(C,{variant:`outlined`,sx:{height:`100%`},children:(0,Q.jsxs)(d,{children:[(0,Q.jsx)(P,{variant:`subtitle2`,sx:{mb:1.5},children:`Built from`}),(0,Q.jsx)(I,{spacing:1.5,children:[[`project`,E.projectCommit,E.projectRepo,E.onRemote.project],[`omni`,E.omniCommit,E.omniRepo,E.onRemote.omni]].map(([e,t,n,r])=>(0,Q.jsxs)(v,{children:[(0,Q.jsxs)(I,{direction:`row`,spacing:1,sx:{alignItems:`center`},children:[(0,Q.jsx)(P,{variant:`body2`,sx:{fontWeight:600,minWidth:56},children:e===`project`?E.project:`omni`}),(0,Q.jsx)(P,{variant:`body2`,sx:{fontFamily:`monospace`},children:t?.slice(0,12)??`—`}),r===!1&&(0,Q.jsx)(j,{title:Se({project:r,omni:!0},e===`project`?E.project:`omni`).detail,children:(0,Q.jsx)(y,{label:`Git: unpublished source`,size:`small`,color:`warning`,variant:`outlined`})}),r===null&&(0,Q.jsx)(j,{title:Se({project:r,omni:!0},e===`project`?E.project:`omni`).detail,children:(0,Q.jsx)(y,{label:`Git: unverified`,size:`small`,variant:`outlined`})})]}),(0,Q.jsx)(P,{variant:`caption`,sx:{color:`text.secondary`},children:n??`—`}),E.manifest?.[e]?.ref&&(0,Q.jsxs)(P,{component:`div`,variant:`caption`,sx:{color:`text.secondary`,overflowWrap:`anywhere`},children:[`Required ref: `,E.manifest[e].ref]})]},e))})]})})}),(0,Q.jsx)(F,{size:{xs:12,md:6},children:(0,Q.jsx)(C,{variant:`outlined`,sx:{height:`100%`},children:(0,Q.jsxs)(d,{children:[(0,Q.jsx)(P,{variant:`subtitle2`,sx:{mb:1.5},children:`Built with`}),(0,Q.jsxs)(I,{spacing:.75,children:[E.manifestSha256&&(0,Q.jsxs)(v,{component:`details`,sx:{overflowWrap:`anywhere`},children:[(0,Q.jsx)(P,{component:`summary`,variant:`caption`,sx:{cursor:`pointer`,color:`text.secondary`},children:`Manifest SHA-256`}),(0,Q.jsx)(P,{component:`code`,variant:`caption`,sx:{userSelect:`all`},children:E.manifestSha256})]}),(0,Q.jsxs)(P,{variant:`body2`,children:[Ie(E.builtAt),` · `,E.builtBy??`—`]}),(0,Q.jsxs)(P,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:13},children:[`omnitron `,E.builtWith??`—`]}),(0,Q.jsx)(P,{variant:`caption`,sx:{color:`text.secondary`},children:H(D?.builtWith?.target)}),(0,Q.jsxs)(P,{variant:`caption`,sx:{color:`text.secondary`},children:[D&&(0,Q.jsxs)(Q.Fragment,{children:[be(D),` · `]}),K(E.bytes),` on disk at `,E.root]}),E.statics&&(0,Q.jsxs)(P,{variant:`caption`,sx:{color:`text.secondary`},children:[`statics for `,(0,Q.jsx)(`strong`,{children:E.statics.stack}),` — `,E.statics.files,` files,`,` `,K(E.statics.bytes),` from `,D?.statics?.dir]}),E.machine&&(0,Q.jsxs)(P,{variant:`caption`,sx:{color:Pe(E.machine)?`warning.main`:`text.secondary`},children:[`machine while the gates ran: `,Ne(E.machine),Pe(E.machine)?` — load exceeded core count; inspect the gate logs for failure causes`:``]})]})]})})})]}),(0,Q.jsx)(C,{variant:`outlined`,children:(0,Q.jsxs)(d,{children:[(0,Q.jsxs)(I,{direction:`row`,spacing:1.5,sx:{alignItems:`center`,mb:1.5},children:[(0,Q.jsx)(P,{variant:`subtitle2`,children:`Gates`}),(0,Q.jsx)(P,{variant:`caption`,sx:{color:`text.secondary`},children:E.gates.total===0?`none recorded — a stack that requires any refuses this release`:`${E.gates.passed} of ${E.gates.total} passed`}),(0,Q.jsx)(v,{sx:{flex:1}}),(0,Q.jsx)(Fe,{gates:E.gateList})]}),E.gateList.length>0&&(0,Q.jsx)(ce,{children:(0,Q.jsxs)(ae,{size:`small`,children:[(0,Q.jsx)(le,{children:(0,Q.jsxs)(N,{children:[(0,Q.jsx)(k,{children:`Gate`}),(0,Q.jsx)(k,{children:`Outcome`}),(0,Q.jsx)(k,{align:`right`,children:`Took`}),(0,Q.jsx)(k,{children:`Detail`})]})}),(0,Q.jsx)(A,{children:E.gateList.map((e,t)=>(0,Q.jsxs)(N,{children:[(0,Q.jsxs)(k,{sx:{fontFamily:`monospace`,fontSize:13},children:[e.name,e.checks!=null&&(0,Q.jsxs)(P,{component:`span`,variant:`caption`,sx:{color:`text.secondary`,ml:1},children:[e.checks,` checks`]})]}),(0,Q.jsx)(k,{children:(0,Q.jsx)(P,{variant:`caption`,sx:{color:G[e.status].color,fontWeight:600},children:G[e.status].label})}),(0,Q.jsx)(k,{align:`right`,children:(0,Q.jsx)(P,{variant:`caption`,sx:{color:`text.secondary`,fontFamily:`monospace`},children:e.durationMs?Me(e.durationMs):`—`})}),(0,Q.jsx)(k,{children:(0,Q.jsx)(P,{variant:`caption`,sx:{color:`text.secondary`,whiteSpace:`pre-wrap`},children:e.detail??``})})]},`${e.name}-${t}`))})]})})]})}),E.complete&&(0,Q.jsx)(qe,{releaseId:E.id,project:E.project,attestations:E.attestations,onChanged:S}),(0,Q.jsx)(C,{variant:`outlined`,children:(0,Q.jsxs)(d,{children:[(0,Q.jsx)(P,{variant:`subtitle2`,sx:{mb:1.5},children:`Artifacts`}),(D?.artifacts??[]).length===0?(0,Q.jsx)(P,{variant:`body2`,sx:{color:`text.secondary`},children:`None.`}):(0,Q.jsx)(ce,{children:(0,Q.jsxs)(ae,{size:`small`,sx:{minWidth:540},children:[(0,Q.jsx)(le,{children:(0,Q.jsxs)(N,{children:[(0,Q.jsx)(k,{children:`App`}),(0,Q.jsx)(k,{children:`Source`}),(0,Q.jsx)(k,{align:`right`,children:`Size`}),(0,Q.jsx)(k,{children:`sha256`})]})}),(0,Q.jsx)(A,{children:(D?.artifacts??[]).map(e=>(0,Q.jsxs)(N,{children:[(0,Q.jsxs)(k,{sx:{verticalAlign:`top`,maxWidth:200,overflowWrap:`anywhere`},children:[(0,Q.jsx)(P,{variant:`body2`,sx:{fontWeight:600},children:e.app}),(0,Q.jsx)(P,{variant:`caption`,color:`text.secondary`,sx:{fontFamily:`monospace`},children:e.version})]}),(0,Q.jsx)(k,{sx:{verticalAlign:`top`,maxWidth:360},children:(0,Q.jsx)(Ye,{source:E.artifactSources?.find(t=>t.app===e.app)})}),(0,Q.jsx)(k,{align:`right`,sx:{fontFamily:`monospace`,fontSize:13},children:K(e.bytes)}),(0,Q.jsx)(k,{children:(0,Q.jsx)(j,{title:e.sha256||`none recorded`,arrow:!0,children:(0,Q.jsx)(P,{variant:`caption`,sx:{fontFamily:`monospace`,color:`text.secondary`},children:e.sha256?`${e.sha256.slice(0,16)}…`:`—`})})})]},`${e.app}-${e.version}`))})]})}),(D?.artifactFailures??[]).map(e=>(0,Q.jsx)(R,{severity:`error`,variant:`outlined`,sx:{mt:1},children:(0,Q.jsxs)(P,{variant:`body2`,sx:{whiteSpace:`pre-wrap`},children:[(0,Q.jsx)(`strong`,{children:e.app}),` did not build — `,e.error.split(`
2
+ `)[0]]})},e.app))]})}),(0,Q.jsx)(C,{variant:`outlined`,children:(0,Q.jsxs)(d,{children:[(0,Q.jsx)(P,{variant:`subtitle2`,sx:{mb:1.5},children:`Build logs`}),E.logs.length===0?(0,Q.jsx)(P,{variant:`body2`,sx:{color:`text.secondary`},children:`This build wrote no logs.`}):(0,Q.jsx)(I,{direction:`row`,spacing:1,sx:{flexWrap:`wrap`},children:E.logs.map(e=>(0,Q.jsx)(y,{label:`${e.name} · ${K(e.bytes)}`,size:`small`,variant:p?.name===e.name?`filled`:`outlined`,disabled:!r,onClick:()=>void w(e.name),sx:{fontFamily:`monospace`,fontSize:11}},e.name))}),(0,Q.jsx)(De,{active:r&&!!o,label:`Reading ${o??``}`}),r&&h&&(0,Q.jsx)(R,{severity:`warning`,variant:`outlined`,sx:{mt:1.5},children:h}),r&&p&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(T,{sx:{my:1.5}}),(0,Q.jsx)(v,{sx:{maxHeight:420,overflow:`auto`,p:1.5,borderRadius:1,bgcolor:e=>l(e.palette.text.primary,.04)},children:(0,Q.jsx)(P,{variant:`caption`,sx:{fontFamily:`monospace`,whiteSpace:`pre`,display:`block`},children:p.tail})})]})]})}),(0,Q.jsx)(B,{permission:`OmnitronProject.startStack`,children:(0,Q.jsx)(ze,{open:c,onClose:()=>u(!1),project:E.project,release:E})})]})}var Z,Q;function $(){return($=e((()=>{Z=t(),c(),p(),m(),h(),g(),_(),S(),ue(),de(),L(),D(),ee(),se(),te(),re(),ie(),M(),O(),u(),he(),Oe(),_e(),Ce(),Re(),Y(),Be(),He(),Xe(),W(),Le(),ye(),V(),Ee(),o(),je(),Q=n()})))()}$();export{Ze as default};
@@ -0,0 +1 @@
1
+ import{n as e}from"./rolldown-runtime-CNOWq4Kh.js";import{i as t,t as n}from"./react-BN8qLIAi.js";import{H as r,P as i,V as a,z as o}from"./client-DFnuv2z3.js";import{D as s,F as c,H as l,I as u,M as d,O as ee,Q as f,V as p,Z as m,c as te,ct as h,d as ne,f as g,g as _,h as re,j as v,l as ie,m as y,p as b,s as x,st as ae,u as S}from"./mui-BXSXx9c9.js";import{B as C,z as w}from"./mui-Cd711nOk.js";import{E as T,T as oe,it as E,rt as D}from"./mui-AnEgAVjz.js";import{_ as O,v as k}from"./mui-BwsIrivo.js";import{n as se,r as A,t as j}from"./alert-uBG6r9NW.js";import{n as M,s as N}from"./access-48hkC2-P.js";import{r as ce,t as le}from"./use-polled-resource-B22hhr5L.js";import{i as P,n as ue,r as de,t as F}from"./project.store--G5pIF-J.js";import{B as fe,G as I,M as pe,k as me,m as L,p as he,z as ge}from"./icons-OboZgWSt.js";import{n as R,t as _e}from"./operation-status-Bm1x1wTz.js";import{n as z,t as B}from"./table-BOWT6Y9d.js";import{n as V,t as ve}from"./page-breadcrumbs-fR7Jmpp4.js";import{s as ye}from"./formatters-RnRy4bXm.js";import{n as be,r as xe,t as Se}from"./stack-health-status-BIv2C10x.js";import{a as H,c as Ce,r as U,s as W}from"./sync-reading-CN0jPKAg.js";import{n as G,t as we}from"./deploy-release-dialog-BOXcD5Wo.js";import{n as Te,t as K}from"./release-deployment-state-DRrEI2pP.js";import{a as Ee,c as De,i as Oe,l as ke,n as Ae,o as je,r as Me,s as Ne,t as Pe,u as Fe}from"./stack-start-notice-BVnMOwRQ.js";function Ie({operation:e}){if(!e||e.supersededAt)return null;let t=e.phase===`failed`,n=e.phase===`stopped`,r=e.nodes.filter(e=>e.outcome===`stopped`).length;if(n&&!e.nodes.length)return null;let i=e.nodes.map(e=>(0,q.jsxs)(p,{sx:{display:`flex`,flexWrap:`wrap`,columnGap:1.5,mt:.75},children:[(0,q.jsx)(w,{variant:`body2`,sx:{fontFamily:`monospace`,overflowWrap:`anywhere`},children:e.node}),(0,q.jsx)(w,{variant:`body2`,children:e.outcome===`unknown`?`Awaiting confirmation`:e.outcome}),e.authority&&(0,q.jsxs)(w,{variant:`caption`,sx:{overflowWrap:`anywhere`},children:[e.authority.clusterId,` · epoch `,e.authority.epoch,` · `,e.authority.nodeId]}),e.reason&&(0,q.jsx)(w,{variant:`caption`,sx:{width:`100%`,overflowWrap:`anywhere`},children:e.reason})]},e.node));return n?(0,q.jsxs)(p,{component:`details`,sx:{mb:2,minWidth:0,typography:`body2`,"& summary":{cursor:`pointer`}},children:[(0,q.jsxs)(`summary`,{children:[`Stop confirmed · `,r,`/`,e.nodes.length,` nodes`]}),i]}):(0,q.jsx)(j,{severity:t?`error`:`info`,sx:{mb:2,minWidth:0},children:(0,q.jsxs)(p,{role:`status`,"aria-live":`polite`,sx:{minWidth:0},children:[(0,q.jsxs)(w,{variant:`subtitle2`,children:[t?e.intentCommitted?`Stop not confirmed`:`Stop declined before execution`:e.phase===`preparing`?`Checking stop ownership`:`Stopping stack`,e.nodes.length>0&&` · ${r}/${e.nodes.length} nodes confirmed`]}),!t&&(0,q.jsx)(oe,{"aria-label":`Stack stop in progress`,sx:{mt:1,mb:1.5}}),e.error&&(0,q.jsx)(w,{variant:`body2`,sx:{overflowWrap:`anywhere`},children:e.error}),i]})})}var q;function Le(){return(Le=e((()=>{l(),C(),T(),A(),q=n()})))()}function Re({children:e,gap:t=Be,fill:n,sx:r,ref:i,...a}){return(0,ze.jsx)(O,{ref:i,spacing:t,sx:{...n&&{flex:1},...r},...a,children:e})}var ze,Be;function Ve(){return(Ve=e((()=>{t(),k(),ze=n(),Be=3})))()}function He({project:e,stack:t,requiresRelease:n,managed:r,selected:i,onDeploy:a,onWorkingTree:o}){return(0,J.jsxs)(p,{sx:{mb:2,minWidth:0},children:[!r&&(0,J.jsxs)(O,{direction:`row`,useFlexGap:!0,spacing:1,sx:{alignItems:`center`,flexWrap:`wrap`,mb:1},children:[i&&(0,J.jsx)(m,{label:`Selected: `+i,size:`small`,variant:`outlined`}),n&&(0,J.jsx)(m,{label:`Release required`,size:`small`,variant:`outlined`}),(0,J.jsx)(p,{sx:{flex:1}}),o&&(0,J.jsx)(M,{permission:`OmnitronProject.startStack`,children:(0,J.jsx)(c,{size:`small`,onClick:o,children:`Use working tree…`})}),(0,J.jsx)(M,{permission:`OmnitronProject.startStack`,children:(0,J.jsx)(c,{size:`small`,startIcon:(0,J.jsx)(L,{}),onClick:a,children:`Deploy release…`})})]}),(0,J.jsx)(K,{project:e,stack:t},`${e}/${t}`)]})}var J;function Ue(){return(Ue=e((()=>{l(),u(),f(),k(),N(),I(),Te(),J=n()})))()}function We(){let{name:e}=r(),t=a(),n=ue(),o=de(),l=P(e=>!!(n&&e.stacksByProject[n])),u=P(e=>n?e.stackReadErrors[n]:null),d=P(e=>e.fetchStacks),ee=P(e=>e.resumeInstalledStack),f=P(e=>e.startStack),te=P(e=>e.stopStack),h=P(e=>e.deleteStack),g=`${n}/${e}`,_=P(e=>e.stackNotices[g]),y=P(e=>e.clearStackNotice),S=P(e=>e.pendingOps),[C,T]=(0,Z.useState)(!1),[oe,E]=(0,Z.useState)(!1),[O,k]=(0,Z.useState)(!1),[A,N]=(0,Z.useState)(!1),[le,F]=(0,Z.useState)(!1),I=o.find(t=>t.name===e),R=n&&e?S[`${n}/${e}`]??null:null,z=Object.keys(S).length>0;ce(()=>void(n&&d(n)),{intervalMs:z?3e3:1e4,enabled:!!n,resourceKey:n});let V=(0,Z.useCallback)(async()=>{n&&e&&await f(n,e)},[n,e,f]),xe=(0,Z.useCallback)(async()=>{if(n&&e){try{await h(n,e),t(`/stacks`)}catch{}T(!1)}},[n,e,h,t]);if(!I&&n&&u)return(0,Q.jsxs)(j,{severity:`error`,children:[`Stack inventory unavailable · `,u,` `,(0,Q.jsx)(c,{onClick:()=>void d(n),children:`Retry`})]});if(!I&&n&&!l)return(0,Q.jsx)(_e,{active:!0,label:`Reading stack inventory`});if(!I)return(0,Q.jsx)(Re,{children:(0,Q.jsxs)(j,{severity:`warning`,children:[`Stack "`,e,`" not found.`,` `,(0,Q.jsx)(c,{size:`small`,onClick:()=>t(`/stacks`),children:`Back to Stacks`})]})});let H=[{id:`name`,label:`App`,render:e=>(0,Q.jsx)(p,{sx:{fontWeight:600},children:e.name})},{id:`status`,label:`Process`,render:e=>(0,Q.jsx)(m,{label:e.status,size:`small`,color:e.status===`online`?`success`:e.status===`crashed`||e.status===`errored`?`error`:`default`,sx:{height:18,fontSize:`0.6rem`}})},{id:`health`,label:`Health`,render:e=>(0,Q.jsx)(Se,{status:e.health})},{id:`pid`,label:`PID`,render:e=>(0,Q.jsx)(p,{sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:e.pid??`—`})},{id:`instances`,label:`Instances`,render:e=>e.instances},{id:`uptime`,label:`Uptime`,render:e=>(0,Q.jsx)(p,{sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:e.uptime>0?ye(e.uptime):`—`})}],Ce=[{id:`host`,label:`Host`,render:e=>(0,Q.jsxs)(p,{sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:[e.host,`:`,e.port,e.label&&(0,Q.jsxs)(w,{component:`span`,variant:`caption`,sx:{ml:1,color:`text.secondary`},children:[`(`,e.label,`)`]})]})},{id:`role`,label:`Role`,render:e=>(0,Q.jsx)(m,{label:e.role,size:`small`,sx:{height:18,fontSize:`0.6rem`}})},{id:`daemonRole`,label:`Daemon`,render:e=>(0,Q.jsx)(m,{label:e.daemonRole,size:`small`,color:e.daemonRole===`master`?`primary`:`default`,sx:{height:18,fontSize:`0.6rem`}})},{id:`connected`,label:`Status`,render:e=>(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(p,{component:`span`,sx:{display:`inline-block`,width:8,height:8,borderRadius:`50%`,bgcolor:e.connected?`success.main`:`warning.main`,mr:.5}}),e.connected?`Inventory observed`:`Inventory unavailable`]})},{id:`lastSeen`,label:`Last Seen`,render:e=>(0,Q.jsx)(p,{sx:{fontFamily:`monospace`,fontSize:`0.75rem`},children:e.lastSeen?new Date(e.lastSeen).toLocaleTimeString():`—`})}],U=I.config?.release?.mode===`required`,W=[`running`,`degraded`,`error`,`unknown`,`stopping`].includes(I.status),G=I.status===`stopped`,Te=I.status===`starting`||I.status===`stopping`||!!R,K=!!R;return(0,Q.jsxs)(Re,{children:[(0,Q.jsx)(ve,{linkComponent:i,links:[{name:`Stacks`,href:`/stacks`},{name:I.name}],action:(0,Q.jsxs)(p,{sx:{display:`flex`,gap:1,alignItems:`center`,flexWrap:`wrap`},children:[G&&!K&&(0,Q.jsx)(M,{permission:`OmnitronProject.deleteStack`,children:(0,Q.jsx)(D,{size:`small`,color:`error`,onClick:()=>T(!0),title:`Delete stack`,"aria-label":`Delete stack ${I.name}`,sx:{marginInlineEnd:1},children:(0,Q.jsx)(he,{})})}),(0,Q.jsx)(m,{label:I.status.charAt(0).toUpperCase()+I.status.slice(1),size:`small`,sx:{bgcolor:$[I.status]??$.stopped,color:`white`,fontWeight:600}}),(0,Q.jsx)(M,{permission:`OmnitronProject.diagnoseStack`,children:(0,Q.jsx)(c,{size:`small`,onClick:()=>k(!0),children:`Diagnose`})}),(0,Q.jsx)(D,{size:`small`,"aria-label":`Refresh stack`,title:`Refresh stack`,onClick:()=>n&&d(n),children:(0,Q.jsx)(pe,{})}),Te?(0,Q.jsx)(c,{variant:`outlined`,size:`small`,disabled:!0,startIcon:(0,Q.jsx)(ae,{size:14}),children:R===`resuming`?`Resuming installed apps…`:R===`starting`||I.status===`starting`?`Starting…`:`Stopping…`}):n&&e&&ke(I)?(0,Q.jsx)(Ne,{stack:I,onResume:()=>void ee(n,e),onReviewStop:()=>E(!0)}):G?U&&!I.selectedRelease?(0,Q.jsx)(M,{permission:`OmnitronProject.startStack`,children:(0,Q.jsx)(c,{startIcon:(0,Q.jsx)(L,{}),color:`success`,variant:`contained`,size:`small`,onClick:()=>N(!0),children:`Deploy release…`})}):(0,Q.jsx)(M,{permission:`OmnitronProject.startStack`,children:(0,Q.jsx)(c,{startIcon:(0,Q.jsx)(me,{}),color:`success`,variant:`contained`,size:`small`,onClick:V,children:`Start`})}):W?(0,Q.jsx)(M,{permission:`OmnitronProject.reviewStackStop`,children:(0,Q.jsx)(c,{startIcon:(0,Q.jsx)(ge,{}),color:`error`,variant:`outlined`,size:`small`,onClick:()=>E(!0),children:I.stopOperation?.phase===`failed`&&!I.stopOperation.supersededAt?`Review retry…`:`Review stop…`})}):null]})}),oe&&n&&e&&(0,Q.jsx)(Ee,{project:n,stack:e,onClose:()=>E(!1),onConfirm:(t,r)=>{E(!1),te(n,e,t,r)}},`${n}/${e}`),O&&n&&e&&(0,Q.jsx)(Me,{project:n,stack:e,onClose:()=>k(!1)},`${n}/${e}`),(0,Q.jsx)(Ie,{operation:I.stopOperation}),(0,Q.jsx)(De,{stack:I}),(0,Q.jsx)(Pe,{stack:I}),(0,Q.jsx)(be,{stack:I}),u&&(0,Q.jsxs)(j,{severity:`warning`,children:[`Showing the last stack inventory · `,u]}),_&&_!==u&&(0,Q.jsx)(se,{sx:{mb:2},onClose:()=>y(g),children:_}),n&&e&&(0,Q.jsx)(He,{project:n,stack:e,requiresRelease:!!U,managed:!!I.config.managedOrigin,selected:I.selectedRelease?.id,onWorkingTree:I.selectedRelease&&G&&!K&&!U?()=>F(!0):void 0,onDeploy:()=>N(!0)}),I.type!==`local`&&W&&(0,Q.jsx)(v,{variant:`outlined`,sx:{mb:2,p:2},children:(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,gap:2},children:[(0,Q.jsx)(L,{sx:{fontSize:20,color:`primary.main`}}),(0,Q.jsxs)(p,{sx:{flex:1},children:[(0,Q.jsxs)(w,{variant:`body2`,sx:{fontWeight:600},children:[I.nodes.filter(e=>e.connected).length,`/`,I.nodes.length,` node inventories observed`]}),(0,Q.jsxs)(w,{variant:`caption`,sx:{color:`text.secondary`},children:[I.type===`remote`?`SSH`:`Cluster`,` deployment — `,Ge(I.nodes)]})]}),I.nodes.some(e=>!e.connected)&&(0,Q.jsx)(m,{label:`${I.nodes.filter(e=>!e.connected).length} unobserved`,size:`small`,color:`warning`,sx:{height:22,fontSize:`0.65rem`}})]})}),(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`,mb:1,display:`block`},children:[`Applications (`,I.apps.length,`)`]}),(0,Q.jsx)(B,{scrollLabel:`Stack applications`,sx:{minWidth:640},columns:H,data:I.apps,rowKey:e=>e.handleKey,dense:!0,containerSx:{border:`none`,borderRadius:0},emptyContent:(0,Q.jsx)(w,{variant:`caption`,sx:{color:`text.disabled`},children:`No apps configured`})})]})}),(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsx)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`Overview`}),(0,Q.jsx)(Y,{label:`Type`,value:I.type===`local`?`Local`:I.type===`remote`?`Remote (SSH)`:`Cluster`}),(0,Q.jsx)(Y,{label:`Apps`,value:`${I.apps.filter(e=>e.status===`online`).length} / ${I.apps.length}`}),(0,Q.jsx)(Y,{label:`Nodes`,value:`${I.nodes.filter(e=>e.connected).length} / ${I.nodes.length}`}),I.uptime>0&&(0,Q.jsx)(Y,{label:`Uptime`,value:ye(I.uptime)}),I.portRange&&(0,Q.jsx)(Y,{label:`Port Range`,value:`${I.portRange.start}–${I.portRange.end}`,mono:!0}),I.type===`local`?I.startedAt&&(0,Q.jsx)(Y,{label:`Started`,value:new Date(I.startedAt).toLocaleString()}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Y,{label:`Started`,value:I.startedAt?`${new Date(I.startedAt).toLocaleString()}, as its nodes report`:`unknown — no node reported an app of it running`}),I.attachedAt&&(0,Q.jsx)(Y,{label:`Attached`,value:`${new Date(I.attachedAt).toLocaleString()} — by this master`})]})]})}),(0,Q.jsx)(qe,{stack:I}),I.type!==`local`&&(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,gap:.5,mb:1},children:[(0,Q.jsx)(fe,{sx:{fontSize:16}}),(0,Q.jsx)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`Sync Status`})]}),I.nodes.map(e=>(0,Q.jsx)(Ke,{node:e},e.host)),I.nodes.length===0&&(0,Q.jsx)(w,{variant:`caption`,sx:{color:`text.disabled`},children:`No nodes configured`})]})}),I.nodes.length>0&&(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`,mb:1,display:`block`},children:[`Nodes (`,I.nodes.length,`)`]}),(0,Q.jsx)(B,{scrollLabel:`Stack nodes`,sx:{minWidth:560},columns:Ce,data:I.nodes,rowKey:e=>e.host,dense:!0,containerSx:{border:`none`,borderRadius:0}})]})}),(0,Q.jsx)(M,{permission:`OmnitronProject.startStack`,children:(0,Q.jsx)(we,{open:A,onClose:()=>N(!1),project:n??``,release:null,...e?{stack:e}:{}})}),(0,Q.jsxs)(re,{open:le,onClose:()=>F(!1),children:[(0,Q.jsx)(x,{children:`Start from the working tree?`}),(0,Q.jsx)(ne,{children:(0,Q.jsxs)(ie,{children:[I.name,` will start from its registered project directory. Future restarts will use that directory until you select a release.`]})}),(0,Q.jsxs)(b,{children:[(0,Q.jsx)(c,{onClick:()=>F(!1),children:`Cancel`}),(0,Q.jsx)(M,{permission:`OmnitronProject.startStack`,children:(0,Q.jsx)(c,{variant:`contained`,disabled:!G||K||U,onClick:()=>{F(!1),n&&e&&f(n,e,{workingTree:!0})},children:`Start from working tree`})})]})]}),(0,Q.jsxs)(re,{open:C,onClose:()=>T(!1),children:[(0,Q.jsx)(x,{children:`Delete Stack`}),(0,Q.jsx)(ne,{children:(0,Q.jsxs)(ie,{children:[`Are you sure you want to delete stack `,(0,Q.jsx)(`strong`,{children:I.name}),`? This action cannot be undone. All infrastructure configuration for this stack will be removed.`]})}),(0,Q.jsxs)(b,{children:[(0,Q.jsx)(c,{onClick:()=>T(!1),children:`Cancel`}),(0,Q.jsx)(M,{permission:`OmnitronProject.deleteStack`,children:(0,Q.jsx)(c,{onClick:xe,color:`error`,variant:`contained`,children:`Delete`})})]})]})]})}function Y({label:e,value:t,mono:n}){return(0,Q.jsxs)(p,{sx:{display:`flex`,justifyContent:`space-between`,py:.5},children:[(0,Q.jsx)(w,{variant:`body2`,sx:{color:`text.secondary`},children:e}),(0,Q.jsx)(w,{variant:`body2`,sx:{fontWeight:600,...n&&{fontFamily:`monospace`,fontSize:`0.8rem`}},children:t})]})}function Ge(e){let t=e.map(e=>e.syncStatus?H(e.syncStatus):null),n=t.filter(e=>e?.state===`behind`).length,r=t.filter(e=>e?.state===`catching-up`).length,i=t.filter(e=>e?.state===`unknown`).length,a=t.filter(e=>e===null).length;return n+r+i+a===0?`replication in sync`:[n>0&&`${n} of ${e.length} behind`,r>0&&`${r} catching up`,i>0&&`${i} queue age unavailable`,a>0&&`${a} not reporting`].filter(Boolean).join(`, `)}function Ke({node:e}){let t=e.syncStatus,n=t?H(t):null;return(0,Q.jsxs)(p,{sx:{py:.75},children:[(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[(0,Q.jsx)(p,{sx:{width:8,height:8,borderRadius:`50%`,bgcolor:e.connected?`success.main`:`warning.main`}}),(0,Q.jsxs)(p,{children:[(0,Q.jsxs)(w,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`,fontWeight:600},children:[e.host,`:`,e.port]}),(0,Q.jsxs)(w,{variant:`caption`,sx:{color:`text.secondary`,fontSize:`0.6rem`},children:[e.daemonRole,e.label?` — ${e.label}`:``]})]})]}),t&&n?(0,Q.jsxs)(p,{sx:{textAlign:`right`},children:[(0,Q.jsx)(m,{label:Ce(n),size:`small`,color:W(n),variant:`outlined`,sx:{height:20,fontSize:`0.6rem`,fontWeight:600}}),t.lastSyncAt&&(0,Q.jsxs)(w,{variant:`caption`,sx:{color:`text.disabled`,display:`block`,fontSize:`0.5rem`,mt:.25},children:[`last sync `,new Date(t.lastSyncAt).toLocaleTimeString()]})]}):(0,Q.jsx)(m,{label:e.connected?`Inventory observed`:`Inventory unavailable`,size:`small`,color:e.connected?`success`:`warning`,variant:`outlined`,sx:{height:20,fontSize:`0.6rem`}})]}),t?.lastError&&(0,Q.jsx)(w,{variant:`caption`,sx:{color:`error.main`,fontSize:`0.55rem`,mt:.25,display:`block`,ml:2.5},children:t.lastError})]})}function qe({stack:e}){let t=e.config?.infrastructure,n=e.infrastructure?.services??{},r=t&&Object.keys(t).length>0,i=Object.keys(n).length>0;if(!r&&!i)return null;let a=t?.postgres,o=t?.redis,c=t?.minio;return(0,Q.jsxs)(Q.Fragment,{children:[a&&(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1},children:[(0,Q.jsx)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`PostgreSQL`}),(0,Q.jsx)(X,{name:`postgres`,runtime:n})]}),(0,Q.jsx)(Y,{label:`Port`,value:String(a.port??5432),mono:!0}),a.databases&&Object.keys(a.databases).length>0&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(w,{variant:`caption`,sx:{color:`text.secondary`,mt:1,display:`block`},children:[`Databases (`,Object.keys(a.databases).length,`)`]}),Object.entries(a.databases).map(([e,t])=>(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,py:.25,pl:1},children:[(0,Q.jsx)(w,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:e}),t?.migrate&&(0,Q.jsx)(m,{label:`migrate`,size:`small`,sx:{height:16,fontSize:`0.55rem`}})]},e))]})]})}),o&&(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1},children:[(0,Q.jsx)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`Redis`}),(0,Q.jsx)(X,{name:`redis`,runtime:n})]}),(0,Q.jsx)(Y,{label:`Port`,value:String(o.port??6379),mono:!0}),o.databases&&Object.keys(o.databases).length>0&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(w,{variant:`caption`,sx:{color:`text.secondary`,mt:1,display:`block`},children:[`DB Allocations (`,Object.keys(o.databases).length,`)`]}),Object.entries(o.databases).map(([e,t])=>{let n=e.includes(`:`);return(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,py:.25,pl:1},children:[(0,Q.jsx)(w,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:n?e.split(`:`)[1]:e}),(0,Q.jsxs)(p,{sx:{display:`flex`,gap:.5,alignItems:`center`},children:[n&&(0,Q.jsx)(m,{label:e.split(`:`)[0],size:`small`,variant:`outlined`,sx:{height:16,fontSize:`0.5rem`}}),(0,Q.jsxs)(w,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.75rem`,color:`text.secondary`,minWidth:28,textAlign:`right`},children:[`DB `,t]})]})]},e)})]})]})}),c&&(0,Q.jsx)(v,{variant:`outlined`,children:(0,Q.jsxs)(s,{children:[(0,Q.jsxs)(p,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1},children:[(0,Q.jsx)(w,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`MinIO / S3`}),(0,Q.jsx)(X,{name:`minio`,runtime:n})]}),c.ports&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Y,{label:`API Port`,value:String(c.ports.api??9e3),mono:!0}),(0,Q.jsx)(Y,{label:`Console Port`,value:String(c.ports.console??9001),mono:!0})]}),c.buckets&&c.buckets.length>0&&(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(w,{variant:`caption`,sx:{color:`text.secondary`,mt:1,display:`block`},children:[`Buckets (`,c.buckets.length,`)`]}),c.buckets.map(e=>(0,Q.jsx)(w,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`,pl:1,py:.25},children:e},e))]})]})})]})}function X({name:e,runtime:t}){let n=t[e];return n?(0,Q.jsxs)(O,{spacing:.5,sx:{alignItems:`flex-end`,minWidth:0,maxWidth:320},children:[(0,Q.jsx)(m,{label:n.provisioning===`pending`?`Setup pending`:n.status,size:`small`,color:n.status===`error`?`error`:n.provisioning===`pending`?`warning`:n.status===`running`?`success`:`default`}),n.error&&(0,Q.jsx)(w,{variant:`caption`,color:`error.main`,sx:{overflowWrap:`anywhere`},children:n.error})]}):(0,Q.jsx)(m,{label:`Stopped`,size:`small`,sx:{height:18,fontSize:`0.6rem`}})}var Z,Q,$;function Je(){return(Je=e((()=>{xe(),Fe(),je(),Oe(),Le(),Ae(),N(),Z=t(),o(),l(),k(),d(),ee(),C(),f(),u(),h(),E(),_(),te(),g(),S(),y(),A(),V(),Ve(),z(),I(),F(),G(),R(),Ue(),le(),U(),Q=n(),$={running:`#22c55e`,starting:`#eab308`,stopping:`#eab308`,degraded:`#f97316`,error:`#ef4444`,stopped:`#6b7280`}})))()}Je();export{We as default};