@omnitron-dev/omnitron 0.2.0 → 0.3.0

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 (1247) hide show
  1. package/dist/BUILD.json +5 -0
  2. package/dist/cli/omnitron.js +351 -29
  3. package/dist/cli/omnitron.js.map +1 -1
  4. package/dist/cluster/cluster.rpc-service.d.ts +40 -0
  5. package/dist/cluster/cluster.rpc-service.d.ts.map +1 -1
  6. package/dist/cluster/cluster.rpc-service.js +49 -3
  7. package/dist/cluster/cluster.rpc-service.js.map +1 -1
  8. package/dist/cluster/config-sync.d.ts.map +1 -1
  9. package/dist/cluster/config-sync.js.map +1 -1
  10. package/dist/cluster/leader-election.d.ts +90 -2
  11. package/dist/cluster/leader-election.d.ts.map +1 -1
  12. package/dist/cluster/leader-election.js +176 -22
  13. package/dist/cluster/leader-election.js.map +1 -1
  14. package/dist/cluster/mesh-link.d.ts +136 -0
  15. package/dist/cluster/mesh-link.d.ts.map +1 -0
  16. package/dist/cluster/mesh-link.js +212 -0
  17. package/dist/cluster/mesh-link.js.map +1 -0
  18. package/dist/cluster/mesh.d.ts +59 -0
  19. package/dist/cluster/mesh.d.ts.map +1 -0
  20. package/dist/cluster/mesh.js +117 -0
  21. package/dist/cluster/mesh.js.map +1 -0
  22. package/dist/cluster/slave-connector.d.ts +193 -9
  23. package/dist/cluster/slave-connector.d.ts.map +1 -1
  24. package/dist/cluster/slave-connector.js +409 -37
  25. package/dist/cluster/slave-connector.js.map +1 -1
  26. package/dist/commands/audit.d.ts +65 -0
  27. package/dist/commands/audit.d.ts.map +1 -0
  28. package/dist/commands/audit.js +233 -0
  29. package/dist/commands/audit.js.map +1 -0
  30. package/dist/commands/backup.d.ts +4 -0
  31. package/dist/commands/backup.d.ts.map +1 -1
  32. package/dist/commands/backup.js +255 -33
  33. package/dist/commands/backup.js.map +1 -1
  34. package/dist/commands/cluster.d.ts.map +1 -1
  35. package/dist/commands/cluster.js +78 -47
  36. package/dist/commands/cluster.js.map +1 -1
  37. package/dist/commands/daemon-cmd.d.ts +7 -1
  38. package/dist/commands/daemon-cmd.d.ts.map +1 -1
  39. package/dist/commands/daemon-cmd.js +87 -21
  40. package/dist/commands/daemon-cmd.js.map +1 -1
  41. package/dist/commands/daemon-required.d.ts +34 -0
  42. package/dist/commands/daemon-required.d.ts.map +1 -0
  43. package/dist/commands/daemon-required.js +92 -0
  44. package/dist/commands/daemon-required.js.map +1 -0
  45. package/dist/commands/deploy.d.ts +70 -8
  46. package/dist/commands/deploy.d.ts.map +1 -1
  47. package/dist/commands/deploy.js +99 -64
  48. package/dist/commands/deploy.js.map +1 -1
  49. package/dist/commands/discover.d.ts +25 -4
  50. package/dist/commands/discover.d.ts.map +1 -1
  51. package/dist/commands/discover.js +155 -102
  52. package/dist/commands/discover.js.map +1 -1
  53. package/dist/commands/doctor.d.ts +293 -0
  54. package/dist/commands/doctor.d.ts.map +1 -0
  55. package/dist/commands/doctor.js +1706 -0
  56. package/dist/commands/doctor.js.map +1 -0
  57. package/dist/commands/env.d.ts +8 -1
  58. package/dist/commands/env.d.ts.map +1 -1
  59. package/dist/commands/env.js +13 -8
  60. package/dist/commands/env.js.map +1 -1
  61. package/dist/commands/exec.d.ts.map +1 -1
  62. package/dist/commands/exec.js +3 -2
  63. package/dist/commands/exec.js.map +1 -1
  64. package/dist/commands/fleet-asking.d.ts +87 -0
  65. package/dist/commands/fleet-asking.d.ts.map +1 -0
  66. package/dist/commands/fleet-asking.js +176 -0
  67. package/dist/commands/fleet-asking.js.map +1 -0
  68. package/dist/commands/fleet.d.ts +18 -0
  69. package/dist/commands/fleet.d.ts.map +1 -1
  70. package/dist/commands/fleet.js +314 -74
  71. package/dist/commands/fleet.js.map +1 -1
  72. package/dist/commands/health-check.d.ts +8 -6
  73. package/dist/commands/health-check.d.ts.map +1 -1
  74. package/dist/commands/health-check.js +26 -23
  75. package/dist/commands/health-check.js.map +1 -1
  76. package/dist/commands/health.d.ts.map +1 -1
  77. package/dist/commands/health.js +22 -8
  78. package/dist/commands/health.js.map +1 -1
  79. package/dist/commands/infra.d.ts +42 -1
  80. package/dist/commands/infra.d.ts.map +1 -1
  81. package/dist/commands/infra.js +418 -49
  82. package/dist/commands/infra.js.map +1 -1
  83. package/dist/commands/init.d.ts.map +1 -1
  84. package/dist/commands/init.js +21 -36
  85. package/dist/commands/init.js.map +1 -1
  86. package/dist/commands/inspect-graph.d.ts.map +1 -1
  87. package/dist/commands/inspect-graph.js +2 -6
  88. package/dist/commands/inspect-graph.js.map +1 -1
  89. package/dist/commands/inspect.d.ts.map +1 -1
  90. package/dist/commands/inspect.js +110 -14
  91. package/dist/commands/inspect.js.map +1 -1
  92. package/dist/commands/k8s.d.ts.map +1 -1
  93. package/dist/commands/k8s.js +23 -18
  94. package/dist/commands/k8s.js.map +1 -1
  95. package/dist/commands/kb.d.ts.map +1 -1
  96. package/dist/commands/kb.js +88 -29
  97. package/dist/commands/kb.js.map +1 -1
  98. package/dist/commands/list.d.ts.map +1 -1
  99. package/dist/commands/list.js +21 -9
  100. package/dist/commands/list.js.map +1 -1
  101. package/dist/commands/log-health.d.ts +120 -0
  102. package/dist/commands/log-health.d.ts.map +1 -0
  103. package/dist/commands/log-health.js +212 -0
  104. package/dist/commands/log-health.js.map +1 -0
  105. package/dist/commands/logs.d.ts +96 -2
  106. package/dist/commands/logs.d.ts.map +1 -1
  107. package/dist/commands/logs.js +522 -196
  108. package/dist/commands/logs.js.map +1 -1
  109. package/dist/commands/metrics.d.ts.map +1 -1
  110. package/dist/commands/metrics.js +35 -17
  111. package/dist/commands/metrics.js.map +1 -1
  112. package/dist/commands/monit.d.ts.map +1 -1
  113. package/dist/commands/monit.js +3 -2
  114. package/dist/commands/monit.js.map +1 -1
  115. package/dist/commands/node.d.ts +68 -0
  116. package/dist/commands/node.d.ts.map +1 -1
  117. package/dist/commands/node.js +285 -68
  118. package/dist/commands/node.js.map +1 -1
  119. package/dist/commands/output.d.ts +10 -0
  120. package/dist/commands/output.d.ts.map +1 -1
  121. package/dist/commands/output.js +41 -1
  122. package/dist/commands/output.js.map +1 -1
  123. package/dist/commands/pipeline.d.ts.map +1 -1
  124. package/dist/commands/pipeline.js +26 -19
  125. package/dist/commands/pipeline.js.map +1 -1
  126. package/dist/commands/project.d.ts +19 -0
  127. package/dist/commands/project.d.ts.map +1 -1
  128. package/dist/commands/project.js +125 -27
  129. package/dist/commands/project.js.map +1 -1
  130. package/dist/commands/release-store.d.ts +28 -0
  131. package/dist/commands/release-store.d.ts.map +1 -0
  132. package/dist/commands/release-store.js +158 -0
  133. package/dist/commands/release-store.js.map +1 -0
  134. package/dist/commands/release.d.ts +61 -0
  135. package/dist/commands/release.d.ts.map +1 -0
  136. package/dist/commands/release.js +555 -0
  137. package/dist/commands/release.js.map +1 -0
  138. package/dist/commands/reload.d.ts +16 -0
  139. package/dist/commands/reload.d.ts.map +1 -1
  140. package/dist/commands/reload.js +21 -5
  141. package/dist/commands/reload.js.map +1 -1
  142. package/dist/commands/remote.d.ts +40 -0
  143. package/dist/commands/remote.d.ts.map +1 -1
  144. package/dist/commands/remote.js +146 -35
  145. package/dist/commands/remote.js.map +1 -1
  146. package/dist/commands/restart.d.ts +16 -0
  147. package/dist/commands/restart.d.ts.map +1 -1
  148. package/dist/commands/restart.js +21 -5
  149. package/dist/commands/restart.js.map +1 -1
  150. package/dist/commands/scale.d.ts.map +1 -1
  151. package/dist/commands/scale.js +4 -3
  152. package/dist/commands/scale.js.map +1 -1
  153. package/dist/commands/secret.d.ts +54 -0
  154. package/dist/commands/secret.d.ts.map +1 -1
  155. package/dist/commands/secret.js +236 -34
  156. package/dist/commands/secret.js.map +1 -1
  157. package/dist/commands/service-units.d.ts +181 -0
  158. package/dist/commands/service-units.d.ts.map +1 -0
  159. package/dist/commands/service-units.js +291 -0
  160. package/dist/commands/service-units.js.map +1 -0
  161. package/dist/commands/service.d.ts +39 -0
  162. package/dist/commands/service.d.ts.map +1 -0
  163. package/dist/commands/service.js +370 -0
  164. package/dist/commands/service.js.map +1 -0
  165. package/dist/commands/spinner.d.ts +29 -0
  166. package/dist/commands/spinner.d.ts.map +1 -0
  167. package/dist/commands/spinner.js +44 -0
  168. package/dist/commands/spinner.js.map +1 -0
  169. package/dist/commands/stack.d.ts +49 -1
  170. package/dist/commands/stack.d.ts.map +1 -1
  171. package/dist/commands/stack.js +325 -12
  172. package/dist/commands/stack.js.map +1 -1
  173. package/dist/commands/start.d.ts +16 -0
  174. package/dist/commands/start.d.ts.map +1 -1
  175. package/dist/commands/start.js +20 -3
  176. package/dist/commands/start.js.map +1 -1
  177. package/dist/commands/status.d.ts +9 -0
  178. package/dist/commands/status.d.ts.map +1 -1
  179. package/dist/commands/status.js +45 -29
  180. package/dist/commands/status.js.map +1 -1
  181. package/dist/commands/stop.d.ts +16 -0
  182. package/dist/commands/stop.d.ts.map +1 -1
  183. package/dist/commands/stop.js +34 -6
  184. package/dist/commands/stop.js.map +1 -1
  185. package/dist/commands/tor.d.ts +14 -7
  186. package/dist/commands/tor.d.ts.map +1 -1
  187. package/dist/commands/tor.js +113 -33
  188. package/dist/commands/tor.js.map +1 -1
  189. package/dist/commands/up.d.ts +85 -1
  190. package/dist/commands/up.d.ts.map +1 -1
  191. package/dist/commands/up.js +180 -32
  192. package/dist/commands/up.js.map +1 -1
  193. package/dist/commands/webapp.d.ts.map +1 -1
  194. package/dist/commands/webapp.js +2 -1
  195. package/dist/commands/webapp.js.map +1 -1
  196. package/dist/config/defaults.d.ts +16 -0
  197. package/dist/config/defaults.d.ts.map +1 -1
  198. package/dist/config/defaults.js +26 -3
  199. package/dist/config/defaults.js.map +1 -1
  200. package/dist/config/define-ecosystem.d.ts.map +1 -1
  201. package/dist/config/define-ecosystem.js +2 -0
  202. package/dist/config/define-ecosystem.js.map +1 -1
  203. package/dist/config/index.d.ts +1 -1
  204. package/dist/config/index.d.ts.map +1 -1
  205. package/dist/config/index.js +1 -1
  206. package/dist/config/index.js.map +1 -1
  207. package/dist/config/loader.d.ts +45 -1
  208. package/dist/config/loader.d.ts.map +1 -1
  209. package/dist/config/loader.js +64 -6
  210. package/dist/config/loader.js.map +1 -1
  211. package/dist/config/omnitron-config.schema.d.ts.map +1 -1
  212. package/dist/config/omnitron-config.schema.js +16 -0
  213. package/dist/config/omnitron-config.schema.js.map +1 -1
  214. package/dist/config/types.d.ts +411 -42
  215. package/dist/config/types.d.ts.map +1 -1
  216. package/dist/daemon/config-reload.d.ts +27 -0
  217. package/dist/daemon/config-reload.d.ts.map +1 -0
  218. package/dist/daemon/config-reload.js +42 -0
  219. package/dist/daemon/config-reload.js.map +1 -0
  220. package/dist/daemon/daemon-client.d.ts +136 -2
  221. package/dist/daemon/daemon-client.d.ts.map +1 -1
  222. package/dist/daemon/daemon-client.js +307 -21
  223. package/dist/daemon/daemon-client.js.map +1 -1
  224. package/dist/daemon/daemon-entry.js +90 -30
  225. package/dist/daemon/daemon-entry.js.map +1 -1
  226. package/dist/daemon/daemon-scheduler.d.ts +4 -0
  227. package/dist/daemon/daemon-scheduler.d.ts.map +1 -1
  228. package/dist/daemon/daemon-scheduler.js +137 -7
  229. package/dist/daemon/daemon-scheduler.js.map +1 -1
  230. package/dist/daemon/daemon-state-store.service.d.ts +263 -0
  231. package/dist/daemon/daemon-state-store.service.d.ts.map +1 -0
  232. package/dist/daemon/daemon-state-store.service.js +446 -0
  233. package/dist/daemon/daemon-state-store.service.js.map +1 -0
  234. package/dist/daemon/daemon.d.ts +205 -1
  235. package/dist/daemon/daemon.d.ts.map +1 -1
  236. package/dist/daemon/daemon.js +1139 -139
  237. package/dist/daemon/daemon.js.map +1 -1
  238. package/dist/daemon/daemon.module.d.ts.map +1 -1
  239. package/dist/daemon/daemon.module.js +163 -83
  240. package/dist/daemon/daemon.module.js.map +1 -1
  241. package/dist/daemon/daemon.rpc-service.d.ts +90 -1
  242. package/dist/daemon/daemon.rpc-service.d.ts.map +1 -1
  243. package/dist/daemon/daemon.rpc-service.js +438 -96
  244. package/dist/daemon/daemon.rpc-service.js.map +1 -1
  245. package/dist/daemon/pid-manager.d.ts +16 -3
  246. package/dist/daemon/pid-manager.d.ts.map +1 -1
  247. package/dist/daemon/pid-manager.js +31 -4
  248. package/dist/daemon/pid-manager.js.map +1 -1
  249. package/dist/daemon/spawn-daemon.d.ts +73 -0
  250. package/dist/daemon/spawn-daemon.d.ts.map +1 -0
  251. package/dist/daemon/spawn-daemon.js +101 -0
  252. package/dist/daemon/spawn-daemon.js.map +1 -0
  253. package/dist/daemon/state-store.d.ts +65 -3
  254. package/dist/daemon/state-store.d.ts.map +1 -1
  255. package/dist/daemon/state-store.js +100 -58
  256. package/dist/daemon/state-store.js.map +1 -1
  257. package/dist/database/connection.d.ts +71 -0
  258. package/dist/database/connection.d.ts.map +1 -0
  259. package/dist/database/connection.js +129 -0
  260. package/dist/database/connection.js.map +1 -0
  261. package/dist/database/dialect.d.ts +60 -0
  262. package/dist/database/dialect.d.ts.map +1 -0
  263. package/dist/database/dialect.js +80 -0
  264. package/dist/database/dialect.js.map +1 -0
  265. package/dist/database/migrate.d.ts +5 -2
  266. package/dist/database/migrate.d.ts.map +1 -1
  267. package/dist/database/migrate.js +23 -33
  268. package/dist/database/migrate.js.map +1 -1
  269. package/dist/database/migration-runner.d.ts +50 -0
  270. package/dist/database/migration-runner.d.ts.map +1 -0
  271. package/dist/database/migration-runner.js +143 -0
  272. package/dist/database/migration-runner.js.map +1 -0
  273. package/dist/database/migrations/006_login_throttle.d.ts +17 -0
  274. package/dist/database/migrations/006_login_throttle.d.ts.map +1 -0
  275. package/dist/database/migrations/006_login_throttle.js +33 -0
  276. package/dist/database/migrations/006_login_throttle.js.map +1 -0
  277. package/dist/database/migrations/007_sync_ingested.d.ts +21 -0
  278. package/dist/database/migrations/007_sync_ingested.d.ts.map +1 -0
  279. package/dist/database/migrations/007_sync_ingested.js +39 -0
  280. package/dist/database/migrations/007_sync_ingested.js.map +1 -0
  281. package/dist/database/migrations/008_node_health_version_text.d.ts +24 -0
  282. package/dist/database/migrations/008_node_health_version_text.d.ts.map +1 -0
  283. package/dist/database/migrations/008_node_health_version_text.js +35 -0
  284. package/dist/database/migrations/008_node_health_version_text.js.map +1 -0
  285. package/dist/database/migrations/009_node_health_unmeasured.d.ts +40 -0
  286. package/dist/database/migrations/009_node_health_unmeasured.d.ts.map +1 -0
  287. package/dist/database/migrations/009_node_health_unmeasured.js +63 -0
  288. package/dist/database/migrations/009_node_health_unmeasured.js.map +1 -0
  289. package/dist/database/migrations/010_metrics_raw_had_no_reader.d.ts +22 -0
  290. package/dist/database/migrations/010_metrics_raw_had_no_reader.d.ts.map +1 -0
  291. package/dist/database/migrations/010_metrics_raw_had_no_reader.js +26 -0
  292. package/dist/database/migrations/010_metrics_raw_had_no_reader.js.map +1 -0
  293. package/dist/database/migrations/011_alerts_nobody_had_to_write.d.ts +56 -0
  294. package/dist/database/migrations/011_alerts_nobody_had_to_write.d.ts.map +1 -0
  295. package/dist/database/migrations/011_alerts_nobody_had_to_write.js +79 -0
  296. package/dist/database/migrations/011_alerts_nobody_had_to_write.js.map +1 -0
  297. package/dist/database/migrations/012_a_disk_nobody_watched.d.ts +26 -0
  298. package/dist/database/migrations/012_a_disk_nobody_watched.d.ts.map +1 -0
  299. package/dist/database/migrations/012_a_disk_nobody_watched.js +40 -0
  300. package/dist/database/migrations/012_a_disk_nobody_watched.js.map +1 -0
  301. package/dist/database/migrations/013_an_alarm_delivered.d.ts +14 -0
  302. package/dist/database/migrations/013_an_alarm_delivered.d.ts.map +1 -0
  303. package/dist/database/migrations/013_an_alarm_delivered.js +28 -0
  304. package/dist/database/migrations/013_an_alarm_delivered.js.map +1 -0
  305. package/dist/database/migrations/index.d.ts +21 -0
  306. package/dist/database/migrations/index.d.ts.map +1 -0
  307. package/dist/database/migrations/index.js +47 -0
  308. package/dist/database/migrations/index.js.map +1 -0
  309. package/dist/database/schema.d.ts +27 -11
  310. package/dist/database/schema.d.ts.map +1 -1
  311. package/dist/database/sqlite-date-binding.d.ts +71 -0
  312. package/dist/database/sqlite-date-binding.d.ts.map +1 -0
  313. package/dist/database/sqlite-date-binding.js +174 -0
  314. package/dist/database/sqlite-date-binding.js.map +1 -0
  315. package/dist/execution/data-channel.d.ts +48 -0
  316. package/dist/execution/data-channel.d.ts.map +1 -0
  317. package/dist/execution/data-channel.js +55 -0
  318. package/dist/execution/data-channel.js.map +1 -0
  319. package/dist/execution/execution.service.d.ts +139 -0
  320. package/dist/execution/execution.service.d.ts.map +1 -1
  321. package/dist/execution/execution.service.js +273 -10
  322. package/dist/execution/execution.service.js.map +1 -1
  323. package/dist/index.d.ts +1 -1
  324. package/dist/index.d.ts.map +1 -1
  325. package/dist/infrastructure/bare-metal-plan.d.ts +208 -0
  326. package/dist/infrastructure/bare-metal-plan.d.ts.map +1 -0
  327. package/dist/infrastructure/bare-metal-plan.js +363 -0
  328. package/dist/infrastructure/bare-metal-plan.js.map +1 -0
  329. package/dist/infrastructure/bare-metal-runner.d.ts +65 -0
  330. package/dist/infrastructure/bare-metal-runner.d.ts.map +1 -0
  331. package/dist/infrastructure/bare-metal-runner.js +354 -0
  332. package/dist/infrastructure/bare-metal-runner.js.map +1 -0
  333. package/dist/infrastructure/config-payload.d.ts +149 -0
  334. package/dist/infrastructure/config-payload.d.ts.map +1 -0
  335. package/dist/infrastructure/config-payload.js +235 -0
  336. package/dist/infrastructure/config-payload.js.map +1 -0
  337. package/dist/infrastructure/container-runtime.d.ts +169 -1
  338. package/dist/infrastructure/container-runtime.d.ts.map +1 -1
  339. package/dist/infrastructure/container-runtime.js +525 -33
  340. package/dist/infrastructure/container-runtime.js.map +1 -1
  341. package/dist/infrastructure/gateway-reachability.d.ts +85 -0
  342. package/dist/infrastructure/gateway-reachability.d.ts.map +1 -0
  343. package/dist/infrastructure/gateway-reachability.js +116 -0
  344. package/dist/infrastructure/gateway-reachability.js.map +1 -0
  345. package/dist/infrastructure/gateway-redis-db.d.ts +29 -0
  346. package/dist/infrastructure/gateway-redis-db.d.ts.map +1 -0
  347. package/dist/infrastructure/gateway-redis-db.js +32 -0
  348. package/dist/infrastructure/gateway-redis-db.js.map +1 -0
  349. package/dist/infrastructure/host-inspection.d.ts +223 -0
  350. package/dist/infrastructure/host-inspection.d.ts.map +1 -0
  351. package/dist/infrastructure/host-inspection.js +501 -0
  352. package/dist/infrastructure/host-inspection.js.map +1 -0
  353. package/dist/infrastructure/infrastructure-gate.d.ts.map +1 -1
  354. package/dist/infrastructure/infrastructure.service.d.ts +206 -6
  355. package/dist/infrastructure/infrastructure.service.d.ts.map +1 -1
  356. package/dist/infrastructure/infrastructure.service.js +415 -89
  357. package/dist/infrastructure/infrastructure.service.js.map +1 -1
  358. package/dist/infrastructure/known-machines.d.ts +76 -0
  359. package/dist/infrastructure/known-machines.d.ts.map +1 -0
  360. package/dist/infrastructure/known-machines.js +94 -0
  361. package/dist/infrastructure/known-machines.js.map +1 -0
  362. package/dist/infrastructure/node-credentials.d.ts +45 -0
  363. package/dist/infrastructure/node-credentials.d.ts.map +1 -0
  364. package/dist/infrastructure/node-credentials.js +80 -0
  365. package/dist/infrastructure/node-credentials.js.map +1 -0
  366. package/dist/infrastructure/orphan-containers.d.ts +99 -0
  367. package/dist/infrastructure/orphan-containers.d.ts.map +1 -0
  368. package/dist/infrastructure/orphan-containers.js +106 -0
  369. package/dist/infrastructure/orphan-containers.js.map +1 -0
  370. package/dist/infrastructure/phantom-endpoint-janitor.d.ts +20 -0
  371. package/dist/infrastructure/phantom-endpoint-janitor.d.ts.map +1 -1
  372. package/dist/infrastructure/phantom-endpoint-janitor.js +56 -6
  373. package/dist/infrastructure/phantom-endpoint-janitor.js.map +1 -1
  374. package/dist/infrastructure/presets/gateway-openresty.d.ts.map +1 -1
  375. package/dist/infrastructure/presets/gateway-openresty.js +29 -3
  376. package/dist/infrastructure/presets/gateway-openresty.js.map +1 -1
  377. package/dist/infrastructure/presets/minio.d.ts.map +1 -1
  378. package/dist/infrastructure/presets/minio.js +36 -3
  379. package/dist/infrastructure/presets/minio.js.map +1 -1
  380. package/dist/infrastructure/presets/postgres.d.ts.map +1 -1
  381. package/dist/infrastructure/presets/postgres.js +69 -2
  382. package/dist/infrastructure/presets/postgres.js.map +1 -1
  383. package/dist/infrastructure/presets/redis.d.ts.map +1 -1
  384. package/dist/infrastructure/presets/redis.js +13 -0
  385. package/dist/infrastructure/presets/redis.js.map +1 -1
  386. package/dist/infrastructure/presets/registry.d.ts.map +1 -1
  387. package/dist/infrastructure/presets/registry.js +81 -12
  388. package/dist/infrastructure/presets/registry.js.map +1 -1
  389. package/dist/infrastructure/presets/tor.d.ts +38 -0
  390. package/dist/infrastructure/presets/tor.d.ts.map +1 -1
  391. package/dist/infrastructure/presets/tor.js +78 -69
  392. package/dist/infrastructure/presets/tor.js.map +1 -1
  393. package/dist/infrastructure/presets/torrc.d.ts +54 -0
  394. package/dist/infrastructure/presets/torrc.d.ts.map +1 -0
  395. package/dist/infrastructure/presets/torrc.js +153 -0
  396. package/dist/infrastructure/presets/torrc.js.map +1 -0
  397. package/dist/infrastructure/presets/types.d.ts +17 -0
  398. package/dist/infrastructure/presets/types.d.ts.map +1 -1
  399. package/dist/infrastructure/provisioning-outcome.d.ts +85 -0
  400. package/dist/infrastructure/provisioning-outcome.d.ts.map +1 -0
  401. package/dist/infrastructure/provisioning-outcome.js +122 -0
  402. package/dist/infrastructure/provisioning-outcome.js.map +1 -0
  403. package/dist/infrastructure/server-registry.d.ts +27 -0
  404. package/dist/infrastructure/server-registry.d.ts.map +1 -1
  405. package/dist/infrastructure/server-registry.js +60 -5
  406. package/dist/infrastructure/server-registry.js.map +1 -1
  407. package/dist/infrastructure/service-binding.d.ts +60 -0
  408. package/dist/infrastructure/service-binding.d.ts.map +1 -0
  409. package/dist/infrastructure/service-binding.js +90 -0
  410. package/dist/infrastructure/service-binding.js.map +1 -0
  411. package/dist/infrastructure/service-credentials.d.ts +105 -0
  412. package/dist/infrastructure/service-credentials.d.ts.map +1 -0
  413. package/dist/infrastructure/service-credentials.js +141 -0
  414. package/dist/infrastructure/service-credentials.js.map +1 -0
  415. package/dist/infrastructure/service-resolver.d.ts +160 -12
  416. package/dist/infrastructure/service-resolver.d.ts.map +1 -1
  417. package/dist/infrastructure/service-resolver.js +463 -53
  418. package/dist/infrastructure/service-resolver.js.map +1 -1
  419. package/dist/infrastructure/shipped-config.d.ts +43 -0
  420. package/dist/infrastructure/shipped-config.d.ts.map +1 -0
  421. package/dist/infrastructure/shipped-config.js +159 -0
  422. package/dist/infrastructure/shipped-config.js.map +1 -0
  423. package/dist/infrastructure/stack-infra-manager.d.ts +6 -0
  424. package/dist/infrastructure/stack-infra-manager.d.ts.map +1 -1
  425. package/dist/infrastructure/stack-infra-manager.js +31 -13
  426. package/dist/infrastructure/stack-infra-manager.js.map +1 -1
  427. package/dist/infrastructure/types.d.ts +261 -6
  428. package/dist/infrastructure/types.d.ts.map +1 -1
  429. package/dist/mcp/mcp-bridge.d.ts.map +1 -1
  430. package/dist/mcp/mcp-bridge.js.map +1 -1
  431. package/dist/mcp/tool-groups/apps.tools.d.ts +2 -1
  432. package/dist/mcp/tool-groups/apps.tools.d.ts.map +1 -1
  433. package/dist/mcp/tool-groups/apps.tools.js +2 -2
  434. package/dist/mcp/tool-groups/apps.tools.js.map +1 -1
  435. package/dist/mcp/tool-groups/infra.tools.d.ts +16 -2
  436. package/dist/mcp/tool-groups/infra.tools.d.ts.map +1 -1
  437. package/dist/mcp/tool-groups/infra.tools.js +51 -41
  438. package/dist/mcp/tool-groups/infra.tools.js.map +1 -1
  439. package/dist/mcp/tool-groups/kb.tools.d.ts.map +1 -1
  440. package/dist/mcp/tool-groups/kb.tools.js +4 -6
  441. package/dist/mcp/tool-groups/kb.tools.js.map +1 -1
  442. package/dist/mcp/tool-groups/management.tools.d.ts +20 -3
  443. package/dist/mcp/tool-groups/management.tools.d.ts.map +1 -1
  444. package/dist/mcp/tool-groups/management.tools.js +158 -125
  445. package/dist/mcp/tool-groups/management.tools.js.map +1 -1
  446. package/dist/mcp/tool-groups/monitoring.tools.d.ts +10 -1
  447. package/dist/mcp/tool-groups/monitoring.tools.d.ts.map +1 -1
  448. package/dist/mcp/tool-groups/monitoring.tools.js +65 -18
  449. package/dist/mcp/tool-groups/monitoring.tools.js.map +1 -1
  450. package/dist/mcp/unavailable-tools.d.ts +35 -0
  451. package/dist/mcp/unavailable-tools.d.ts.map +1 -0
  452. package/dist/mcp/unavailable-tools.js +59 -0
  453. package/dist/mcp/unavailable-tools.js.map +1 -0
  454. package/dist/monitoring/app-health.indicator.d.ts.map +1 -1
  455. package/dist/monitoring/app-health.indicator.js +12 -0
  456. package/dist/monitoring/app-health.indicator.js.map +1 -1
  457. package/dist/monitoring/desktop-notifier.d.ts +26 -0
  458. package/dist/monitoring/desktop-notifier.d.ts.map +1 -0
  459. package/dist/monitoring/desktop-notifier.js +49 -0
  460. package/dist/monitoring/desktop-notifier.js.map +1 -0
  461. package/dist/monitoring/docker-health.indicator.d.ts +17 -1
  462. package/dist/monitoring/docker-health.indicator.d.ts.map +1 -1
  463. package/dist/monitoring/docker-health.indicator.js +38 -8
  464. package/dist/monitoring/docker-health.indicator.js.map +1 -1
  465. package/dist/monitoring/event-loop-stall.indicator.d.ts +26 -0
  466. package/dist/monitoring/event-loop-stall.indicator.d.ts.map +1 -0
  467. package/dist/monitoring/event-loop-stall.indicator.js +47 -0
  468. package/dist/monitoring/event-loop-stall.indicator.js.map +1 -0
  469. package/dist/monitoring/event-loop-watch.d.ts +124 -0
  470. package/dist/monitoring/event-loop-watch.d.ts.map +1 -0
  471. package/dist/monitoring/event-loop-watch.js +179 -0
  472. package/dist/monitoring/event-loop-watch.js.map +1 -0
  473. package/dist/monitoring/host-disk.d.ts +6 -0
  474. package/dist/monitoring/host-disk.d.ts.map +1 -0
  475. package/dist/monitoring/host-disk.js +26 -0
  476. package/dist/monitoring/host-disk.js.map +1 -0
  477. package/dist/monitoring/log-line.d.ts +188 -0
  478. package/dist/monitoring/log-line.d.ts.map +1 -0
  479. package/dist/monitoring/log-line.js +458 -0
  480. package/dist/monitoring/log-line.js.map +1 -0
  481. package/dist/monitoring/log-manager.d.ts +89 -8
  482. package/dist/monitoring/log-manager.d.ts.map +1 -1
  483. package/dist/monitoring/log-manager.js +246 -77
  484. package/dist/monitoring/log-manager.js.map +1 -1
  485. package/dist/observability/metrics-bridge.d.ts.map +1 -1
  486. package/dist/observability/metrics-server.d.ts.map +1 -1
  487. package/dist/orchestrator/app-handle.d.ts +157 -2
  488. package/dist/orchestrator/app-handle.d.ts.map +1 -1
  489. package/dist/orchestrator/app-handle.js +165 -3
  490. package/dist/orchestrator/app-handle.js.map +1 -1
  491. package/dist/orchestrator/app-health.d.ts +33 -0
  492. package/dist/orchestrator/app-health.d.ts.map +1 -0
  493. package/dist/orchestrator/app-health.js +74 -0
  494. package/dist/orchestrator/app-health.js.map +1 -0
  495. package/dist/orchestrator/app-traffic.d.ts +14 -0
  496. package/dist/orchestrator/app-traffic.d.ts.map +1 -0
  497. package/dist/orchestrator/app-traffic.js +33 -0
  498. package/dist/orchestrator/app-traffic.js.map +1 -0
  499. package/dist/orchestrator/bootstrap-loader-child.d.ts +19 -0
  500. package/dist/orchestrator/bootstrap-loader-child.d.ts.map +1 -0
  501. package/dist/orchestrator/bootstrap-loader-child.js +43 -0
  502. package/dist/orchestrator/bootstrap-loader-child.js.map +1 -0
  503. package/dist/orchestrator/bootstrap-loader.d.ts +72 -0
  504. package/dist/orchestrator/bootstrap-loader.d.ts.map +1 -1
  505. package/dist/orchestrator/bootstrap-loader.js +350 -5
  506. package/dist/orchestrator/bootstrap-loader.js.map +1 -1
  507. package/dist/orchestrator/bootstrap-process.d.ts +99 -4
  508. package/dist/orchestrator/bootstrap-process.d.ts.map +1 -1
  509. package/dist/orchestrator/bootstrap-process.js +330 -19
  510. package/dist/orchestrator/bootstrap-process.js.map +1 -1
  511. package/dist/orchestrator/build-service.d.ts.map +1 -1
  512. package/dist/orchestrator/build-service.js.map +1 -1
  513. package/dist/orchestrator/call-exposed-service.d.ts +7 -0
  514. package/dist/orchestrator/call-exposed-service.d.ts.map +1 -0
  515. package/dist/orchestrator/call-exposed-service.js +50 -0
  516. package/dist/orchestrator/call-exposed-service.js.map +1 -0
  517. package/dist/orchestrator/classic-launcher.d.ts +1 -0
  518. package/dist/orchestrator/classic-launcher.d.ts.map +1 -1
  519. package/dist/orchestrator/classic-launcher.js +34 -3
  520. package/dist/orchestrator/classic-launcher.js.map +1 -1
  521. package/dist/orchestrator/file-watcher.d.ts +78 -1
  522. package/dist/orchestrator/file-watcher.d.ts.map +1 -1
  523. package/dist/orchestrator/file-watcher.js +181 -6
  524. package/dist/orchestrator/file-watcher.js.map +1 -1
  525. package/dist/orchestrator/module-worker-process.d.ts.map +1 -1
  526. package/dist/orchestrator/module-worker-process.js +10 -0
  527. package/dist/orchestrator/module-worker-process.js.map +1 -1
  528. package/dist/orchestrator/orchestrator.service.d.ts +371 -11
  529. package/dist/orchestrator/orchestrator.service.d.ts.map +1 -1
  530. package/dist/orchestrator/orchestrator.service.js +1602 -269
  531. package/dist/orchestrator/orchestrator.service.js.map +1 -1
  532. package/dist/orchestrator/owned-pids.d.ts +83 -0
  533. package/dist/orchestrator/owned-pids.d.ts.map +1 -0
  534. package/dist/orchestrator/owned-pids.js +93 -0
  535. package/dist/orchestrator/owned-pids.js.map +1 -0
  536. package/dist/orchestrator/port-conflict.d.ts +102 -0
  537. package/dist/orchestrator/port-conflict.d.ts.map +1 -0
  538. package/dist/orchestrator/port-conflict.js +131 -0
  539. package/dist/orchestrator/port-conflict.js.map +1 -0
  540. package/dist/orchestrator/process-janitor.d.ts +78 -4
  541. package/dist/orchestrator/process-janitor.d.ts.map +1 -1
  542. package/dist/orchestrator/process-janitor.js +246 -30
  543. package/dist/orchestrator/process-janitor.js.map +1 -1
  544. package/dist/orchestrator/ps-metrics.d.ts +37 -0
  545. package/dist/orchestrator/ps-metrics.d.ts.map +1 -0
  546. package/dist/orchestrator/ps-metrics.js +60 -0
  547. package/dist/orchestrator/ps-metrics.js.map +1 -0
  548. package/dist/orchestrator/service-router.d.ts +58 -2
  549. package/dist/orchestrator/service-router.d.ts.map +1 -1
  550. package/dist/orchestrator/service-router.js +157 -25
  551. package/dist/orchestrator/service-router.js.map +1 -1
  552. package/dist/orchestrator/topology-query.d.ts +49 -0
  553. package/dist/orchestrator/topology-query.d.ts.map +1 -0
  554. package/dist/orchestrator/topology-query.js +54 -0
  555. package/dist/orchestrator/topology-query.js.map +1 -0
  556. package/dist/project/artifact-builder.d.ts +174 -3
  557. package/dist/project/artifact-builder.d.ts.map +1 -1
  558. package/dist/project/artifact-builder.js +454 -42
  559. package/dist/project/artifact-builder.js.map +1 -1
  560. package/dist/project/build-decision.d.ts +58 -0
  561. package/dist/project/build-decision.d.ts.map +1 -0
  562. package/dist/project/build-decision.js +59 -0
  563. package/dist/project/build-decision.js.map +1 -0
  564. package/dist/project/config-resolver.d.ts +6 -4
  565. package/dist/project/config-resolver.d.ts.map +1 -1
  566. package/dist/project/config-resolver.js +128 -74
  567. package/dist/project/config-resolver.js.map +1 -1
  568. package/dist/project/declared-config.d.ts +42 -0
  569. package/dist/project/declared-config.d.ts.map +1 -0
  570. package/dist/project/declared-config.js +60 -0
  571. package/dist/project/declared-config.js.map +1 -0
  572. package/dist/project/dependency-analyzer.d.ts.map +1 -1
  573. package/dist/project/dependency-analyzer.js.map +1 -1
  574. package/dist/project/deploy-phases.d.ts +35 -0
  575. package/dist/project/deploy-phases.d.ts.map +1 -0
  576. package/dist/project/deploy-phases.js +75 -0
  577. package/dist/project/deploy-phases.js.map +1 -0
  578. package/dist/project/exec-in-group.d.ts +49 -0
  579. package/dist/project/exec-in-group.d.ts.map +1 -0
  580. package/dist/project/exec-in-group.js +100 -0
  581. package/dist/project/exec-in-group.js.map +1 -0
  582. package/dist/project/node-app-config.d.ts +101 -0
  583. package/dist/project/node-app-config.d.ts.map +1 -0
  584. package/dist/project/node-app-config.js +134 -0
  585. package/dist/project/node-app-config.js.map +1 -0
  586. package/dist/project/node-app-health.d.ts +76 -0
  587. package/dist/project/node-app-health.d.ts.map +1 -0
  588. package/dist/project/node-app-health.js +119 -0
  589. package/dist/project/node-app-health.js.map +1 -0
  590. package/dist/project/operator-account.d.ts +287 -0
  591. package/dist/project/operator-account.d.ts.map +1 -0
  592. package/dist/project/operator-account.js +373 -0
  593. package/dist/project/operator-account.js.map +1 -0
  594. package/dist/project/registry.d.ts +45 -8
  595. package/dist/project/registry.d.ts.map +1 -1
  596. package/dist/project/registry.js +217 -49
  597. package/dist/project/registry.js.map +1 -1
  598. package/dist/project/requirements-scanner.d.ts +1 -0
  599. package/dist/project/requirements-scanner.d.ts.map +1 -1
  600. package/dist/project/requirements-scanner.js +28 -3
  601. package/dist/project/requirements-scanner.js.map +1 -1
  602. package/dist/project/stack-env.d.ts +37 -0
  603. package/dist/project/stack-env.d.ts.map +1 -0
  604. package/dist/project/stack-env.js +85 -0
  605. package/dist/project/stack-env.js.map +1 -0
  606. package/dist/project/stand-containers.d.ts +4 -0
  607. package/dist/project/stand-containers.d.ts.map +1 -0
  608. package/dist/project/stand-containers.js +27 -0
  609. package/dist/project/stand-containers.js.map +1 -0
  610. package/dist/project/working-tree.d.ts +62 -0
  611. package/dist/project/working-tree.d.ts.map +1 -0
  612. package/dist/project/working-tree.js +101 -0
  613. package/dist/project/working-tree.js.map +1 -0
  614. package/dist/release/artifact-store.d.ts +360 -0
  615. package/dist/release/artifact-store.d.ts.map +1 -0
  616. package/dist/release/artifact-store.js +1040 -0
  617. package/dist/release/artifact-store.js.map +1 -0
  618. package/dist/release/attest-on-node.d.ts +92 -0
  619. package/dist/release/attest-on-node.d.ts.map +1 -0
  620. package/dist/release/attest-on-node.js +207 -0
  621. package/dist/release/attest-on-node.js.map +1 -0
  622. package/dist/release/attest.d.ts +135 -0
  623. package/dist/release/attest.d.ts.map +1 -0
  624. package/dist/release/attest.js +199 -0
  625. package/dist/release/attest.js.map +1 -0
  626. package/dist/release/build-run.d.ts +151 -0
  627. package/dist/release/build-run.d.ts.map +1 -0
  628. package/dist/release/build-run.js +609 -0
  629. package/dist/release/build-run.js.map +1 -0
  630. package/dist/release/builder.d.ts +57 -0
  631. package/dist/release/builder.d.ts.map +1 -0
  632. package/dist/release/builder.js +120 -0
  633. package/dist/release/builder.js.map +1 -0
  634. package/dist/release/daemon-omni.d.ts +41 -0
  635. package/dist/release/daemon-omni.d.ts.map +1 -0
  636. package/dist/release/daemon-omni.js +59 -0
  637. package/dist/release/daemon-omni.js.map +1 -0
  638. package/dist/release/definition-inputs.d.ts +34 -0
  639. package/dist/release/definition-inputs.d.ts.map +1 -0
  640. package/dist/release/definition-inputs.js +90 -0
  641. package/dist/release/definition-inputs.js.map +1 -0
  642. package/dist/release/delivered.d.ts +53 -0
  643. package/dist/release/delivered.d.ts.map +1 -0
  644. package/dist/release/delivered.js +81 -0
  645. package/dist/release/delivered.js.map +1 -0
  646. package/dist/release/layout.d.ts +61 -0
  647. package/dist/release/layout.d.ts.map +1 -0
  648. package/dist/release/layout.js +114 -0
  649. package/dist/release/layout.js.map +1 -0
  650. package/dist/release/load.d.ts +44 -0
  651. package/dist/release/load.d.ts.map +1 -0
  652. package/dist/release/load.js +84 -0
  653. package/dist/release/load.js.map +1 -0
  654. package/dist/release/manifest.d.ts +299 -0
  655. package/dist/release/manifest.d.ts.map +1 -0
  656. package/dist/release/manifest.js +176 -0
  657. package/dist/release/manifest.js.map +1 -0
  658. package/dist/release/migrations.d.ts +32 -0
  659. package/dist/release/migrations.d.ts.map +1 -0
  660. package/dist/release/migrations.js +51 -0
  661. package/dist/release/migrations.js.map +1 -0
  662. package/dist/release/publish.d.ts +71 -0
  663. package/dist/release/publish.d.ts.map +1 -0
  664. package/dist/release/publish.js +102 -0
  665. package/dist/release/publish.js.map +1 -0
  666. package/dist/release/store.d.ts +174 -0
  667. package/dist/release/store.d.ts.map +1 -0
  668. package/dist/release/store.js +257 -0
  669. package/dist/release/store.js.map +1 -0
  670. package/dist/services/alert.rpc-service.d.ts +11 -15
  671. package/dist/services/alert.rpc-service.d.ts.map +1 -1
  672. package/dist/services/alert.rpc-service.js +29 -14
  673. package/dist/services/alert.rpc-service.js.map +1 -1
  674. package/dist/services/alert.service.d.ts +96 -59
  675. package/dist/services/alert.service.d.ts.map +1 -1
  676. package/dist/services/alert.service.js +455 -70
  677. package/dist/services/alert.service.js.map +1 -1
  678. package/dist/services/anonymous-input.d.ts +26 -0
  679. package/dist/services/anonymous-input.d.ts.map +1 -0
  680. package/dist/services/anonymous-input.js +44 -0
  681. package/dist/services/anonymous-input.js.map +1 -0
  682. package/dist/services/audit.rpc-service.d.ts +27 -0
  683. package/dist/services/audit.rpc-service.d.ts.map +1 -0
  684. package/dist/services/audit.rpc-service.js +57 -0
  685. package/dist/services/audit.rpc-service.js.map +1 -0
  686. package/dist/services/audit.service.d.ts +165 -0
  687. package/dist/services/audit.service.d.ts.map +1 -0
  688. package/dist/services/audit.service.js +242 -0
  689. package/dist/services/audit.service.js.map +1 -0
  690. package/dist/services/auth-context.d.ts +21 -1
  691. package/dist/services/auth-context.d.ts.map +1 -1
  692. package/dist/services/auth-context.js +51 -5
  693. package/dist/services/auth-context.js.map +1 -1
  694. package/dist/services/auth.rpc-service.d.ts +0 -1
  695. package/dist/services/auth.rpc-service.d.ts.map +1 -1
  696. package/dist/services/auth.rpc-service.js +23 -9
  697. package/dist/services/auth.rpc-service.js.map +1 -1
  698. package/dist/services/auth.service.d.ts +47 -33
  699. package/dist/services/auth.service.d.ts.map +1 -1
  700. package/dist/services/auth.service.js +155 -23
  701. package/dist/services/auth.service.js.map +1 -1
  702. package/dist/services/backup-pipeline.d.ts +97 -0
  703. package/dist/services/backup-pipeline.d.ts.map +1 -0
  704. package/dist/services/backup-pipeline.js +286 -0
  705. package/dist/services/backup-pipeline.js.map +1 -0
  706. package/dist/services/backup-schedule.d.ts +69 -0
  707. package/dist/services/backup-schedule.d.ts.map +1 -0
  708. package/dist/services/backup-schedule.js +132 -0
  709. package/dist/services/backup-schedule.js.map +1 -0
  710. package/dist/services/backup.rpc-service.d.ts +31 -2
  711. package/dist/services/backup.rpc-service.d.ts.map +1 -1
  712. package/dist/services/backup.rpc-service.js +53 -0
  713. package/dist/services/backup.rpc-service.js.map +1 -1
  714. package/dist/services/backup.service.d.ts +458 -14
  715. package/dist/services/backup.service.d.ts.map +1 -1
  716. package/dist/services/backup.service.js +1368 -170
  717. package/dist/services/backup.service.js.map +1 -1
  718. package/dist/services/bundle-build-worker.d.ts +19 -0
  719. package/dist/services/bundle-build-worker.d.ts.map +1 -0
  720. package/dist/services/bundle-build-worker.js +40 -0
  721. package/dist/services/bundle-build-worker.js.map +1 -0
  722. package/dist/services/bundle-builder.d.ts +487 -0
  723. package/dist/services/bundle-builder.d.ts.map +1 -0
  724. package/dist/services/bundle-builder.js +1083 -0
  725. package/dist/services/bundle-builder.js.map +1 -0
  726. package/dist/services/bundle-worker-protocol.d.ts +19 -0
  727. package/dist/services/bundle-worker-protocol.d.ts.map +1 -0
  728. package/dist/services/bundle-worker-protocol.js +32 -0
  729. package/dist/services/bundle-worker-protocol.js.map +1 -0
  730. package/dist/services/deploy.rpc-service.d.ts +4 -1
  731. package/dist/services/deploy.rpc-service.d.ts.map +1 -1
  732. package/dist/services/deploy.rpc-service.js +10 -0
  733. package/dist/services/deploy.rpc-service.js.map +1 -1
  734. package/dist/services/deploy.service.d.ts +14 -24
  735. package/dist/services/deploy.service.d.ts.map +1 -1
  736. package/dist/services/deploy.service.js +46 -5
  737. package/dist/services/deploy.service.js.map +1 -1
  738. package/dist/services/discovery.rpc-service.d.ts +2 -1
  739. package/dist/services/discovery.rpc-service.d.ts.map +1 -1
  740. package/dist/services/discovery.rpc-service.js.map +1 -1
  741. package/dist/services/discovery.service.d.ts +32 -28
  742. package/dist/services/discovery.service.d.ts.map +1 -1
  743. package/dist/services/discovery.service.js +108 -133
  744. package/dist/services/discovery.service.js.map +1 -1
  745. package/dist/services/event-broadcaster.rpc-service.d.ts +36 -23
  746. package/dist/services/event-broadcaster.rpc-service.d.ts.map +1 -1
  747. package/dist/services/event-broadcaster.rpc-service.js +70 -32
  748. package/dist/services/event-broadcaster.rpc-service.js.map +1 -1
  749. package/dist/services/event-broadcaster.service.d.ts.map +1 -1
  750. package/dist/services/event-broadcaster.service.js.map +1 -1
  751. package/dist/services/fleet.rpc-service.d.ts +2 -1
  752. package/dist/services/fleet.rpc-service.d.ts.map +1 -1
  753. package/dist/services/fleet.rpc-service.js +3 -1
  754. package/dist/services/fleet.rpc-service.js.map +1 -1
  755. package/dist/services/fleet.service.d.ts +32 -34
  756. package/dist/services/fleet.service.d.ts.map +1 -1
  757. package/dist/services/fleet.service.js +66 -10
  758. package/dist/services/fleet.service.js.map +1 -1
  759. package/dist/services/health-check.rpc-service.d.ts +2 -1
  760. package/dist/services/health-check.rpc-service.d.ts.map +1 -1
  761. package/dist/services/health-check.rpc-service.js.map +1 -1
  762. package/dist/services/health-check.service.d.ts +50 -36
  763. package/dist/services/health-check.service.d.ts.map +1 -1
  764. package/dist/services/health-check.service.js +179 -182
  765. package/dist/services/health-check.service.js.map +1 -1
  766. package/dist/services/infrastructure.rpc-service.d.ts +297 -2
  767. package/dist/services/infrastructure.rpc-service.d.ts.map +1 -1
  768. package/dist/services/infrastructure.rpc-service.js +523 -11
  769. package/dist/services/infrastructure.rpc-service.js.map +1 -1
  770. package/dist/services/kubernetes.rpc-service.d.ts +2 -1
  771. package/dist/services/kubernetes.rpc-service.d.ts.map +1 -1
  772. package/dist/services/kubernetes.rpc-service.js.map +1 -1
  773. package/dist/services/kubernetes.service.d.ts +5 -39
  774. package/dist/services/kubernetes.service.d.ts.map +1 -1
  775. package/dist/services/kubernetes.service.js +29 -5
  776. package/dist/services/kubernetes.service.js.map +1 -1
  777. package/dist/services/local-bundle.d.ts +151 -0
  778. package/dist/services/local-bundle.d.ts.map +1 -0
  779. package/dist/services/local-bundle.js +233 -0
  780. package/dist/services/local-bundle.js.map +1 -0
  781. package/dist/services/lockout.d.ts +28 -0
  782. package/dist/services/lockout.d.ts.map +1 -0
  783. package/dist/services/lockout.js +41 -0
  784. package/dist/services/lockout.js.map +1 -0
  785. package/dist/services/log-collector.rpc-service.d.ts +16 -0
  786. package/dist/services/log-collector.rpc-service.d.ts.map +1 -1
  787. package/dist/services/log-collector.rpc-service.js +16 -0
  788. package/dist/services/log-collector.rpc-service.js.map +1 -1
  789. package/dist/services/log-collector.service.d.ts +172 -54
  790. package/dist/services/log-collector.service.d.ts.map +1 -1
  791. package/dist/services/log-collector.service.js +492 -102
  792. package/dist/services/log-collector.service.js.map +1 -1
  793. package/dist/services/log-retention.d.ts +50 -0
  794. package/dist/services/log-retention.d.ts.map +1 -0
  795. package/dist/services/log-retention.js +52 -0
  796. package/dist/services/log-retention.js.map +1 -0
  797. package/dist/services/maintenance-lock.d.ts +162 -0
  798. package/dist/services/maintenance-lock.d.ts.map +1 -0
  799. package/dist/services/maintenance-lock.js +316 -0
  800. package/dist/services/maintenance-lock.js.map +1 -0
  801. package/dist/services/master-address.d.ts +107 -0
  802. package/dist/services/master-address.d.ts.map +1 -0
  803. package/dist/services/master-address.js +154 -0
  804. package/dist/services/master-address.js.map +1 -0
  805. package/dist/services/migration-output.d.ts +16 -0
  806. package/dist/services/migration-output.d.ts.map +1 -0
  807. package/dist/services/migration-output.js +22 -0
  808. package/dist/services/migration-output.js.map +1 -0
  809. package/dist/services/netron-telemetry-transport.d.ts.map +1 -1
  810. package/dist/services/netron-telemetry-transport.js.map +1 -1
  811. package/dist/services/node-deploy-lease.d.ts +154 -0
  812. package/dist/services/node-deploy-lease.d.ts.map +1 -0
  813. package/dist/services/node-deploy-lease.js +386 -0
  814. package/dist/services/node-deploy-lease.js.map +1 -0
  815. package/dist/services/node-health.repository.d.ts +63 -4
  816. package/dist/services/node-health.repository.d.ts.map +1 -1
  817. package/dist/services/node-health.repository.js +108 -67
  818. package/dist/services/node-health.repository.js.map +1 -1
  819. package/dist/services/node-manager.rpc-service.d.ts +355 -10
  820. package/dist/services/node-manager.rpc-service.d.ts.map +1 -1
  821. package/dist/services/node-manager.rpc-service.js +730 -34
  822. package/dist/services/node-manager.rpc-service.js.map +1 -1
  823. package/dist/services/node-manager.service.d.ts +267 -95
  824. package/dist/services/node-manager.service.d.ts.map +1 -1
  825. package/dist/services/node-manager.service.js +805 -103
  826. package/dist/services/node-manager.service.js.map +1 -1
  827. package/dist/services/node-upgrade.d.ts +129 -0
  828. package/dist/services/node-upgrade.d.ts.map +1 -0
  829. package/dist/services/node-upgrade.js +161 -0
  830. package/dist/services/node-upgrade.js.map +1 -0
  831. package/dist/services/node-upgrade.service.d.ts +232 -0
  832. package/dist/services/node-upgrade.service.d.ts.map +1 -0
  833. package/dist/services/node-upgrade.service.js +468 -0
  834. package/dist/services/node-upgrade.service.js.map +1 -0
  835. package/dist/services/pipeline.rpc-service.d.ts +2 -1
  836. package/dist/services/pipeline.rpc-service.d.ts.map +1 -1
  837. package/dist/services/pipeline.rpc-service.js.map +1 -1
  838. package/dist/services/pipeline.service.d.ts +15 -46
  839. package/dist/services/pipeline.service.d.ts.map +1 -1
  840. package/dist/services/pipeline.service.js +72 -9
  841. package/dist/services/pipeline.service.js.map +1 -1
  842. package/dist/services/project.rpc-service.d.ts +133 -5
  843. package/dist/services/project.rpc-service.d.ts.map +1 -1
  844. package/dist/services/project.rpc-service.js +249 -22
  845. package/dist/services/project.rpc-service.js.map +1 -1
  846. package/dist/services/project.service.d.ts +677 -15
  847. package/dist/services/project.service.d.ts.map +1 -1
  848. package/dist/services/project.service.js +2798 -304
  849. package/dist/services/project.service.js.map +1 -1
  850. package/dist/services/redeploy-decision.d.ts +176 -0
  851. package/dist/services/redeploy-decision.d.ts.map +1 -0
  852. package/dist/services/redeploy-decision.js +142 -0
  853. package/dist/services/redeploy-decision.js.map +1 -0
  854. package/dist/services/release.rpc-service.d.ts +159 -0
  855. package/dist/services/release.rpc-service.d.ts.map +1 -0
  856. package/dist/services/release.rpc-service.js +395 -0
  857. package/dist/services/release.rpc-service.js.map +1 -0
  858. package/dist/services/release.service.d.ts +114 -0
  859. package/dist/services/release.service.d.ts.map +1 -0
  860. package/dist/services/release.service.js +208 -0
  861. package/dist/services/release.service.js.map +1 -0
  862. package/dist/services/remote-deployer.service.d.ts +569 -8
  863. package/dist/services/remote-deployer.service.d.ts.map +1 -1
  864. package/dist/services/remote-deployer.service.js +1618 -169
  865. package/dist/services/remote-deployer.service.js.map +1 -1
  866. package/dist/services/remote-ops.service.d.ts +51 -9
  867. package/dist/services/remote-ops.service.d.ts.map +1 -1
  868. package/dist/services/remote-ops.service.js +235 -39
  869. package/dist/services/remote-ops.service.js.map +1 -1
  870. package/dist/services/remote-provisioner.d.ts +122 -0
  871. package/dist/services/remote-provisioner.d.ts.map +1 -0
  872. package/dist/services/remote-provisioner.js +258 -0
  873. package/dist/services/remote-provisioner.js.map +1 -0
  874. package/dist/services/secrets.rpc-service.d.ts +51 -2
  875. package/dist/services/secrets.rpc-service.d.ts.map +1 -1
  876. package/dist/services/secrets.rpc-service.js +81 -2
  877. package/dist/services/secrets.rpc-service.js.map +1 -1
  878. package/dist/services/secrets.service.d.ts +108 -9
  879. package/dist/services/secrets.service.d.ts.map +1 -1
  880. package/dist/services/secrets.service.js +313 -48
  881. package/dist/services/secrets.service.js.map +1 -1
  882. package/dist/services/slave-storage.service.d.ts +107 -0
  883. package/dist/services/slave-storage.service.d.ts.map +1 -1
  884. package/dist/services/slave-storage.service.js +171 -2
  885. package/dist/services/slave-storage.service.js.map +1 -1
  886. package/dist/services/static-carry-forward.d.ts +85 -0
  887. package/dist/services/static-carry-forward.d.ts.map +1 -0
  888. package/dist/services/static-carry-forward.js +159 -0
  889. package/dist/services/static-carry-forward.js.map +1 -0
  890. package/dist/services/sync-policy.d.ts +167 -0
  891. package/dist/services/sync-policy.d.ts.map +1 -0
  892. package/dist/services/sync-policy.js +161 -0
  893. package/dist/services/sync-policy.js.map +1 -0
  894. package/dist/services/sync-summary.d.ts +39 -0
  895. package/dist/services/sync-summary.d.ts.map +1 -0
  896. package/dist/services/sync-summary.js +62 -0
  897. package/dist/services/sync-summary.js.map +1 -0
  898. package/dist/services/sync.rpc-service.d.ts +19 -7
  899. package/dist/services/sync.rpc-service.d.ts.map +1 -1
  900. package/dist/services/sync.rpc-service.js +36 -5
  901. package/dist/services/sync.rpc-service.js.map +1 -1
  902. package/dist/services/sync.service.d.ts +350 -18
  903. package/dist/services/sync.service.d.ts.map +1 -1
  904. package/dist/services/sync.service.js +864 -116
  905. package/dist/services/sync.service.js.map +1 -1
  906. package/dist/services/system-info.rpc-service.d.ts +2 -1
  907. package/dist/services/system-info.rpc-service.d.ts.map +1 -1
  908. package/dist/services/system-info.rpc-service.js.map +1 -1
  909. package/dist/services/system-info.service.d.ts +56 -68
  910. package/dist/services/system-info.service.d.ts.map +1 -1
  911. package/dist/services/system-info.service.js +240 -127
  912. package/dist/services/system-info.service.js.map +1 -1
  913. package/dist/services/telemetry.rpc-service.d.ts.map +1 -1
  914. package/dist/services/telemetry.rpc-service.js +9 -3
  915. package/dist/services/telemetry.rpc-service.js.map +1 -1
  916. package/dist/services/telemetry.service.d.ts +4 -2
  917. package/dist/services/telemetry.service.d.ts.map +1 -1
  918. package/dist/services/telemetry.service.js +4 -2
  919. package/dist/services/telemetry.service.js.map +1 -1
  920. package/dist/services/trace-collector.rpc-service.d.ts +2 -1
  921. package/dist/services/trace-collector.rpc-service.d.ts.map +1 -1
  922. package/dist/services/trace-collector.rpc-service.js.map +1 -1
  923. package/dist/services/trace-collector.service.d.ts +2 -41
  924. package/dist/services/trace-collector.service.d.ts.map +1 -1
  925. package/dist/services/trace-collector.service.js +27 -7
  926. package/dist/services/trace-collector.service.js.map +1 -1
  927. package/dist/services/wait-for-postgres.d.ts +28 -0
  928. package/dist/services/wait-for-postgres.d.ts.map +1 -0
  929. package/dist/services/wait-for-postgres.js +77 -0
  930. package/dist/services/wait-for-postgres.js.map +1 -0
  931. package/dist/shared/alert-expression.d.ts +60 -0
  932. package/dist/shared/alert-expression.d.ts.map +1 -0
  933. package/dist/shared/alert-expression.js +124 -0
  934. package/dist/shared/alert-expression.js.map +1 -0
  935. package/dist/shared/audit-outcome.d.ts +39 -0
  936. package/dist/shared/audit-outcome.d.ts.map +1 -0
  937. package/dist/shared/audit-outcome.js +45 -0
  938. package/dist/shared/audit-outcome.js.map +1 -0
  939. package/dist/shared/build-freshness.d.ts +59 -0
  940. package/dist/shared/build-freshness.d.ts.map +1 -0
  941. package/dist/shared/build-freshness.js +113 -0
  942. package/dist/shared/build-freshness.js.map +1 -0
  943. package/dist/shared/build-stamp.d.ts +26 -0
  944. package/dist/shared/build-stamp.d.ts.map +1 -0
  945. package/dist/shared/build-stamp.js +36 -0
  946. package/dist/shared/build-stamp.js.map +1 -0
  947. package/dist/shared/describe-error.d.ts +22 -0
  948. package/dist/shared/describe-error.d.ts.map +1 -0
  949. package/dist/shared/describe-error.js +39 -0
  950. package/dist/shared/describe-error.js.map +1 -0
  951. package/dist/shared/dto/alerts.d.ts +101 -0
  952. package/dist/shared/dto/alerts.d.ts.map +1 -0
  953. package/dist/shared/dto/alerts.js +9 -0
  954. package/dist/shared/dto/alerts.js.map +1 -0
  955. package/dist/shared/dto/auth.d.ts +49 -0
  956. package/dist/shared/dto/auth.d.ts.map +1 -0
  957. package/dist/shared/dto/auth.js +14 -0
  958. package/dist/shared/dto/auth.js.map +1 -0
  959. package/dist/shared/dto/backups.d.ts +16 -0
  960. package/dist/shared/dto/backups.d.ts.map +1 -0
  961. package/dist/shared/dto/backups.js +9 -0
  962. package/dist/shared/dto/backups.js.map +1 -0
  963. package/dist/shared/dto/deploy.d.ts +28 -0
  964. package/dist/shared/dto/deploy.d.ts.map +1 -0
  965. package/dist/shared/dto/deploy.js +8 -0
  966. package/dist/shared/dto/deploy.js.map +1 -0
  967. package/dist/shared/dto/discovery.d.ts +24 -0
  968. package/dist/shared/dto/discovery.d.ts.map +1 -0
  969. package/dist/shared/dto/discovery.js +9 -0
  970. package/dist/shared/dto/discovery.js.map +1 -0
  971. package/dist/shared/dto/fleet.d.ts +35 -0
  972. package/dist/shared/dto/fleet.d.ts.map +1 -0
  973. package/dist/shared/dto/fleet.js +8 -0
  974. package/dist/shared/dto/fleet.js.map +1 -0
  975. package/dist/shared/dto/health.d.ts +26 -0
  976. package/dist/shared/dto/health.d.ts.map +1 -0
  977. package/dist/shared/dto/health.js +9 -0
  978. package/dist/shared/dto/health.js.map +1 -0
  979. package/dist/shared/dto/kubernetes.d.ts +44 -0
  980. package/dist/shared/dto/kubernetes.d.ts.map +1 -0
  981. package/dist/shared/dto/kubernetes.js +9 -0
  982. package/dist/shared/dto/kubernetes.js.map +1 -0
  983. package/dist/shared/dto/logs.d.ts +77 -0
  984. package/dist/shared/dto/logs.d.ts.map +1 -0
  985. package/dist/shared/dto/logs.js +10 -0
  986. package/dist/shared/dto/logs.js.map +1 -0
  987. package/dist/shared/dto/metrics.d.ts +65 -0
  988. package/dist/shared/dto/metrics.d.ts.map +1 -0
  989. package/dist/shared/dto/metrics.js +17 -0
  990. package/dist/shared/dto/metrics.js.map +1 -0
  991. package/dist/shared/dto/nodes.d.ts +347 -0
  992. package/dist/shared/dto/nodes.d.ts.map +1 -0
  993. package/dist/shared/dto/nodes.js +8 -0
  994. package/dist/shared/dto/nodes.js.map +1 -0
  995. package/dist/shared/dto/pipelines.d.ts +53 -0
  996. package/dist/shared/dto/pipelines.d.ts.map +1 -0
  997. package/dist/shared/dto/pipelines.js +9 -0
  998. package/dist/shared/dto/pipelines.js.map +1 -0
  999. package/dist/shared/dto/project.d.ts +142 -8
  1000. package/dist/shared/dto/project.d.ts.map +1 -1
  1001. package/dist/shared/dto/services.d.ts +831 -7
  1002. package/dist/shared/dto/services.d.ts.map +1 -1
  1003. package/dist/shared/dto/system-info.d.ts +93 -0
  1004. package/dist/shared/dto/system-info.d.ts.map +1 -0
  1005. package/dist/shared/dto/system-info.js +9 -0
  1006. package/dist/shared/dto/system-info.js.map +1 -0
  1007. package/dist/shared/dto/traces.d.ts +49 -0
  1008. package/dist/shared/dto/traces.d.ts.map +1 -0
  1009. package/dist/shared/dto/traces.js +9 -0
  1010. package/dist/shared/dto/traces.js.map +1 -0
  1011. package/dist/shared/env-config.d.ts +74 -0
  1012. package/dist/shared/env-config.d.ts.map +1 -0
  1013. package/dist/shared/env-config.js +99 -0
  1014. package/dist/shared/env-config.js.map +1 -0
  1015. package/dist/shared/events.d.ts +45 -39
  1016. package/dist/shared/events.d.ts.map +1 -1
  1017. package/dist/shared/events.js +6 -0
  1018. package/dist/shared/events.js.map +1 -1
  1019. package/dist/shared/format.d.ts +1 -1
  1020. package/dist/shared/format.d.ts.map +1 -1
  1021. package/dist/shared/format.js +4 -0
  1022. package/dist/shared/format.js.map +1 -1
  1023. package/dist/shared/local-infra-host.d.ts +28 -0
  1024. package/dist/shared/local-infra-host.d.ts.map +1 -0
  1025. package/dist/shared/local-infra-host.js +28 -0
  1026. package/dist/shared/local-infra-host.js.map +1 -0
  1027. package/dist/shared/node-check.d.ts +37 -0
  1028. package/dist/shared/node-check.d.ts.map +1 -0
  1029. package/dist/shared/node-check.js +41 -0
  1030. package/dist/shared/node-check.js.map +1 -0
  1031. package/dist/shared/paths.d.ts +29 -0
  1032. package/dist/shared/paths.d.ts.map +1 -0
  1033. package/dist/shared/paths.js +54 -0
  1034. package/dist/shared/paths.js.map +1 -0
  1035. package/dist/shared/pnpm.d.ts +29 -0
  1036. package/dist/shared/pnpm.d.ts.map +1 -0
  1037. package/dist/shared/pnpm.js +57 -0
  1038. package/dist/shared/pnpm.js.map +1 -0
  1039. package/dist/shared/private-files.d.ts +29 -0
  1040. package/dist/shared/private-files.d.ts.map +1 -0
  1041. package/dist/shared/private-files.js +109 -0
  1042. package/dist/shared/private-files.js.map +1 -0
  1043. package/dist/shared/redact-env.d.ts +24 -0
  1044. package/dist/shared/redact-env.d.ts.map +1 -0
  1045. package/dist/shared/redact-env.js +36 -0
  1046. package/dist/shared/redact-env.js.map +1 -0
  1047. package/dist/shared/release-reading.d.ts +85 -0
  1048. package/dist/shared/release-reading.d.ts.map +1 -0
  1049. package/dist/shared/release-reading.js +81 -0
  1050. package/dist/shared/release-reading.js.map +1 -0
  1051. package/dist/shared/roles.d.ts +58 -3
  1052. package/dist/shared/roles.d.ts.map +1 -1
  1053. package/dist/shared/roles.js +55 -0
  1054. package/dist/shared/roles.js.map +1 -1
  1055. package/dist/shared/rpcauth.d.ts +13 -0
  1056. package/dist/shared/rpcauth.d.ts.map +1 -0
  1057. package/dist/shared/rpcauth.js +23 -0
  1058. package/dist/shared/rpcauth.js.map +1 -0
  1059. package/dist/shared/shell-escape.d.ts +9 -0
  1060. package/dist/shared/shell-escape.d.ts.map +1 -0
  1061. package/dist/shared/shell-escape.js +11 -0
  1062. package/dist/shared/shell-escape.js.map +1 -0
  1063. package/dist/shared/sync-reading.d.ts +45 -0
  1064. package/dist/shared/sync-reading.d.ts.map +1 -0
  1065. package/dist/shared/sync-reading.js +42 -0
  1066. package/dist/shared/sync-reading.js.map +1 -0
  1067. package/dist/shared/tokens.d.ts +19 -0
  1068. package/dist/shared/tokens.d.ts.map +1 -1
  1069. package/dist/shared/tokens.js +28 -0
  1070. package/dist/shared/tokens.js.map +1 -1
  1071. package/dist/webapp/webapp.service.d.ts +33 -2
  1072. package/dist/webapp/webapp.service.d.ts.map +1 -1
  1073. package/dist/webapp/webapp.service.js +143 -31
  1074. package/dist/webapp/webapp.service.js.map +1 -1
  1075. package/dist/workers/health-monitor-process.d.ts.map +1 -1
  1076. package/dist/workers/health-monitor-process.js +10 -0
  1077. package/dist/workers/health-monitor-process.js.map +1 -1
  1078. package/dist/workers/health-monitor.service.d.ts +45 -3
  1079. package/dist/workers/health-monitor.service.d.ts.map +1 -1
  1080. package/dist/workers/health-monitor.service.js +152 -25
  1081. package/dist/workers/health-monitor.service.js.map +1 -1
  1082. package/dist/workers/system-worker-manager.d.ts +43 -0
  1083. package/dist/workers/system-worker-manager.d.ts.map +1 -1
  1084. package/dist/workers/system-worker-manager.js +150 -3
  1085. package/dist/workers/system-worker-manager.js.map +1 -1
  1086. package/dist/workers/types.d.ts +8 -2
  1087. package/dist/workers/types.d.ts.map +1 -1
  1088. package/package.json +64 -30
  1089. package/webapp/dist/BUILD.json +5 -0
  1090. package/webapp/dist/assets/FormControlLabel-BrH2diyl.js +1 -0
  1091. package/webapp/dist/assets/Grid-BZ7xhoHQ.js +1 -0
  1092. package/webapp/dist/assets/Switch-DGSAxQPM.js +1 -0
  1093. package/webapp/dist/assets/alerts-sXqHJbsa.js +1 -0
  1094. package/webapp/dist/assets/apps-B_Ah8Flh.js +1 -0
  1095. package/webapp/dist/assets/audit-YXihwyui.js +1 -0
  1096. package/webapp/dist/assets/client-CGbBvy9k.js +1 -0
  1097. package/webapp/dist/assets/constants-veKGFkC6.js +1 -0
  1098. package/webapp/dist/assets/containers-Di4NOTLf.js +2 -0
  1099. package/webapp/dist/assets/daemon-memory-CCPZ4cV_.js +1 -0
  1100. package/webapp/dist/assets/dashboard-Cfuf95N3.js +1 -0
  1101. package/webapp/dist/assets/dashboard-builder-CowaYb-M.js +1 -0
  1102. package/webapp/dist/assets/deploy-release-dialog-D6C-XcKY.js +1 -0
  1103. package/webapp/dist/assets/deployments-ChTq5kCw.js +1 -0
  1104. package/webapp/dist/assets/detail-BsGWv7Dj.js +1 -0
  1105. package/webapp/dist/assets/detail-CyVf_cw5.js +2 -0
  1106. package/webapp/dist/assets/detail-D027j6aO.js +8 -0
  1107. package/webapp/dist/assets/formatters-BqjL73N3.js +1 -0
  1108. package/webapp/dist/assets/index-B8AHIPc-.css +1 -0
  1109. package/webapp/dist/assets/index-DiZbrwxT.js +414 -0
  1110. package/webapp/dist/assets/logs-L2b8Oqmo.js +12 -0
  1111. package/webapp/dist/assets/maplibre-gl-MlmG2kbn.js +801 -0
  1112. package/webapp/dist/assets/metrics-CQgjz2Lz.js +2 -0
  1113. package/webapp/dist/assets/nodes-Nwia2Ty6.js +7 -0
  1114. package/webapp/dist/assets/pipelines-DCu_rXOr.js +4 -0
  1115. package/webapp/dist/assets/projects-Bb4aV76h.js +1 -0
  1116. package/webapp/dist/assets/react-CwJFpaho.js +1 -0
  1117. package/webapp/dist/assets/react-apexcharts.esm-Dy0Fez42.js +1956 -0
  1118. package/webapp/dist/assets/release-bits-Dj4EOhhb.js +1 -0
  1119. package/webapp/dist/assets/release-build-panel-D6OCVlhT.js +1 -0
  1120. package/webapp/dist/assets/releases-CnAt3yO6.js +2 -0
  1121. package/webapp/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
  1122. package/webapp/dist/assets/settings-DU-mjiwb.js +1 -0
  1123. package/webapp/dist/assets/settled-pair-C7SjZuns.js +1 -0
  1124. package/webapp/dist/assets/sign-in-Bcvjrr4C.js +1 -0
  1125. package/webapp/dist/assets/stacks-B-e8p50I.js +1 -0
  1126. package/webapp/dist/assets/sync-reading-C3PnJ7AX.js +1 -0
  1127. package/webapp/dist/assets/system-info-BtE3dgfw.js +1 -0
  1128. package/webapp/dist/assets/topology-Cwch-uF1.js +12 -0
  1129. package/webapp/dist/assets/topology-DLioOiRN.css +1 -0
  1130. package/webapp/dist/assets/traces-BbShR-4P.js +1 -0
  1131. package/webapp/dist/assets/use-stack-context-CZUgPq88.js +1 -0
  1132. package/webapp/dist/index.html +6 -6
  1133. package/dist/commands/dev.d.ts +0 -23
  1134. package/dist/commands/dev.d.ts.map +0 -1
  1135. package/dist/commands/dev.js +0 -76
  1136. package/dist/commands/dev.js.map +0 -1
  1137. package/dist/config/define-app.d.ts +0 -6
  1138. package/dist/config/define-app.d.ts.map +0 -1
  1139. package/dist/config/define-app.js +0 -38
  1140. package/dist/config/define-app.js.map +0 -1
  1141. package/dist/infrastructure/gateway-generator.d.ts +0 -63
  1142. package/dist/infrastructure/gateway-generator.d.ts.map +0 -1
  1143. package/dist/infrastructure/gateway-generator.js +0 -253
  1144. package/dist/infrastructure/gateway-generator.js.map +0 -1
  1145. package/dist/monitoring/health.service.d.ts +0 -14
  1146. package/dist/monitoring/health.service.d.ts.map +0 -1
  1147. package/dist/monitoring/health.service.js +0 -50
  1148. package/dist/monitoring/health.service.js.map +0 -1
  1149. package/dist/monitoring/metrics.service.d.ts +0 -14
  1150. package/dist/monitoring/metrics.service.d.ts.map +0 -1
  1151. package/dist/monitoring/metrics.service.js +0 -40
  1152. package/dist/monitoring/metrics.service.js.map +0 -1
  1153. package/dist/orchestrator/bootstrap-runner.d.ts +0 -15
  1154. package/dist/orchestrator/bootstrap-runner.d.ts.map +0 -1
  1155. package/dist/orchestrator/bootstrap-runner.js +0 -152
  1156. package/dist/orchestrator/bootstrap-runner.js.map +0 -1
  1157. package/dist/orchestrator/topology-proxy.d.ts +0 -65
  1158. package/dist/orchestrator/topology-proxy.d.ts.map +0 -1
  1159. package/dist/orchestrator/topology-proxy.js +0 -209
  1160. package/dist/orchestrator/topology-proxy.js.map +0 -1
  1161. package/dist/orchestrator/topology-relay.d.ts +0 -111
  1162. package/dist/orchestrator/topology-relay.d.ts.map +0 -1
  1163. package/dist/orchestrator/topology-relay.js +0 -255
  1164. package/dist/orchestrator/topology-relay.js.map +0 -1
  1165. package/dist/services/auth-middleware.d.ts +0 -47
  1166. package/dist/services/auth-middleware.d.ts.map +0 -1
  1167. package/dist/services/auth-middleware.js +0 -158
  1168. package/dist/services/auth-middleware.js.map +0 -1
  1169. package/dist/services/environment.rpc-service.d.ts +0 -22
  1170. package/dist/services/environment.rpc-service.d.ts.map +0 -1
  1171. package/dist/services/environment.rpc-service.js +0 -65
  1172. package/dist/services/environment.rpc-service.js.map +0 -1
  1173. package/dist/services/environment.service.d.ts +0 -87
  1174. package/dist/services/environment.service.d.ts.map +0 -1
  1175. package/dist/services/environment.service.js +0 -220
  1176. package/dist/services/environment.service.js.map +0 -1
  1177. package/dist/services/metrics-collector.service.d.ts +0 -103
  1178. package/dist/services/metrics-collector.service.d.ts.map +0 -1
  1179. package/dist/services/metrics-collector.service.js +0 -235
  1180. package/dist/services/metrics-collector.service.js.map +0 -1
  1181. package/dist/services/metrics.rpc-service.d.ts +0 -41
  1182. package/dist/services/metrics.rpc-service.d.ts.map +0 -1
  1183. package/dist/services/metrics.rpc-service.js +0 -90
  1184. package/dist/services/metrics.rpc-service.js.map +0 -1
  1185. package/dist/services/metrics.service.d.ts +0 -72
  1186. package/dist/services/metrics.service.d.ts.map +0 -1
  1187. package/dist/services/metrics.service.js +0 -185
  1188. package/dist/services/metrics.service.js.map +0 -1
  1189. package/dist/supervisor/omnitron-supervisor.d.ts +0 -21
  1190. package/dist/supervisor/omnitron-supervisor.d.ts.map +0 -1
  1191. package/dist/supervisor/omnitron-supervisor.js +0 -43
  1192. package/dist/supervisor/omnitron-supervisor.js.map +0 -1
  1193. package/dist/webapp/static-server.d.ts +0 -24
  1194. package/dist/webapp/static-server.d.ts.map +0 -1
  1195. package/dist/webapp/static-server.js +0 -152
  1196. package/dist/webapp/static-server.js.map +0 -1
  1197. package/webapp/dist/assets/Badge-D2ZBP5iK.js +0 -1
  1198. package/webapp/dist/assets/Card-vO88g06B.js +0 -1
  1199. package/webapp/dist/assets/CardActions-C9h7Q2wW.js +0 -1
  1200. package/webapp/dist/assets/CardContent-BA_Xmmhk.js +0 -1
  1201. package/webapp/dist/assets/CardHeader-ceIs__6x.js +0 -1
  1202. package/webapp/dist/assets/Chip-Ckk0xUhK.js +0 -1
  1203. package/webapp/dist/assets/DialogActions-BhHM7hov.js +0 -1
  1204. package/webapp/dist/assets/DialogContentText-BT2JQRmK.js +0 -1
  1205. package/webapp/dist/assets/FormControlLabel-CcQByVS8.js +0 -1
  1206. package/webapp/dist/assets/Grid-14PETRQW.js +0 -1
  1207. package/webapp/dist/assets/InputAdornment-B8aHIsQ7.js +0 -1
  1208. package/webapp/dist/assets/Skeleton-B74-Ds6O.js +0 -37
  1209. package/webapp/dist/assets/Switch-DvWD2wh4.js +0 -1
  1210. package/webapp/dist/assets/SwitchBase-CDU4nY8O.js +0 -1
  1211. package/webapp/dist/assets/Tab-DcCOYYp5.js +0 -1
  1212. package/webapp/dist/assets/TableContainer-CzTh4mu-.js +0 -1
  1213. package/webapp/dist/assets/TableRow-BySEreZR.js +0 -2
  1214. package/webapp/dist/assets/TextField-BLf-BHz2.js +0 -1
  1215. package/webapp/dist/assets/alerts-DnRbT41C.js +0 -1
  1216. package/webapp/dist/assets/apps-CdR0VH2d.js +0 -1
  1217. package/webapp/dist/assets/chunk-DtcAfS_W.js +0 -1
  1218. package/webapp/dist/assets/client-DU8I_lDc.js +0 -2
  1219. package/webapp/dist/assets/constants-BgnT-Xdy.js +0 -1
  1220. package/webapp/dist/assets/containers-Dw-rRXV1.js +0 -1
  1221. package/webapp/dist/assets/dashboard-CzgB0uZz.js +0 -1
  1222. package/webapp/dist/assets/dashboard-builder-DsA0yg33.js +0 -1
  1223. package/webapp/dist/assets/deployments-DtQAoIcQ.js +0 -1
  1224. package/webapp/dist/assets/detail-BJR-G7JG.js +0 -1
  1225. package/webapp/dist/assets/detail-nlCeSltl.js +0 -8
  1226. package/webapp/dist/assets/formatters-Do41SRmE.js +0 -1
  1227. package/webapp/dist/assets/index-ByQDwp2r.js +0 -566
  1228. package/webapp/dist/assets/index-CHVXOsTS.css +0 -1
  1229. package/webapp/dist/assets/isMuiElement-DwF2naaF.js +0 -1
  1230. package/webapp/dist/assets/logs-Kn8o4H7k.js +0 -11
  1231. package/webapp/dist/assets/metrics-DN8Zu5wT.js +0 -2
  1232. package/webapp/dist/assets/nodes-Bgch7AtN.js +0 -7
  1233. package/webapp/dist/assets/pipelines-Cry3qm-S.js +0 -4
  1234. package/webapp/dist/assets/popper-BJFSj6rc.js +0 -1
  1235. package/webapp/dist/assets/preload-helper-DSXbuxSR.js +0 -1
  1236. package/webapp/dist/assets/projects-Dym2GI1U.js +0 -1
  1237. package/webapp/dist/assets/react-apexcharts.esm-CSGK5Cxn.js +0 -958
  1238. package/webapp/dist/assets/react-apexcharts.esm-DEAWOwx5.js +0 -1003
  1239. package/webapp/dist/assets/settings-va3zTcow.js +0 -1
  1240. package/webapp/dist/assets/sign-in-ik35umbp.js +0 -1
  1241. package/webapp/dist/assets/stacks-CVFOnxbF.js +0 -1
  1242. package/webapp/dist/assets/system-info-npIXAjX2.js +0 -1
  1243. package/webapp/dist/assets/topology-CHpVij2M.css +0 -1
  1244. package/webapp/dist/assets/topology-bDe70vLs.js +0 -12
  1245. package/webapp/dist/assets/traces-DIIcT8DF.js +0 -1
  1246. package/webapp/dist/assets/use-stack-context-DHLwZv1r.js +0 -1
  1247. /package/webapp/dist/assets/{fs-CgZLtHiQ.js → fs-Ccl3sAcp.js} +0 -0
@@ -1,2 +0,0 @@
1
- import{r as e,t}from"./chunk-DtcAfS_W.js";var n=Object.prototype,{hasOwnProperty:r}=n,{toString:i}=n;Function.prototype.toString.call(Object),Object.prototype.toString.call(typeof process<`u`?process:0);var{isArray:a}=Array,o=e=>e!=null&&(!!e.constructor&&typeof e.constructor.isBuffer==`function`&&e.constructor.isBuffer(e)||!!e._isBuffer),s=e=>{if(!e||typeof e!=`object`)return!1;let t=Object.getPrototypeOf(e);return t===null?!0:t===Object.prototype||Object.getPrototypeOf(t)===null?n.toString.call(e)===`[object Object]`:!1};Number.isNaN;var{isFinite:c}=Number,{isInteger:l}=Number,{isSafeInteger:u}=Number,d=class{constructor(){this._size=0}enqueue(e){let t={value:e,next:void 0};this.tail?(this.tail.next=t,this.tail=t):this.head=this.tail=t,this._size++}dequeue(){let e=this.head;if(e)return this.head=e.next,this.head||(this.tail=void 0),this._size--,e.value}clear(){this.head=this.tail=void 0,this._size=0}get size(){return this._size}};function f(e){p(e);let t=new d,n=0,r=e,i=()=>{if(n<r&&t.size>0){n++;let e=t.dequeue();e&&e()}},a=()=>{n--,i()},o=async(e,t,n)=>{let r=(async()=>e(...n))();t(r);try{await r}catch{}a()},s=(e,a,s)=>{t.enqueue(()=>{o(e,a,s)}),(async()=>{await Promise.resolve(),n<r&&t.size>0&&i()})()},c=(e,...t)=>new Promise(n=>{s(e,n,t)});return Object.defineProperties(c,{activeCount:{get:()=>n},pendingCount:{get:()=>t.size},clearQueue:{value:()=>{t.clear()}},concurrency:{get:()=>r,set:e=>{p(e),r=e,(typeof queueMicrotask<`u`?queueMicrotask:e=>Promise.resolve().then(e))(()=>{for(;n<r&&t.size>0;)i()})}},map:{async value(e,t){let n=e.map((e,n)=>this(t,e,n));return Promise.all(n)}}}),c}function p(e){if(!((Number.isInteger(e)||e===1/0)&&e>0))throw TypeError("Expected `concurrency` to be a number from 1 and up")}var m=class{constructor(e){this._events=new Map,this._eventsCount=0,this.onceListeners=new WeakMap,this.hasOnceListener=new Map,e&&e>=1&&this.setConcurrency(e)}eventNames(){return Array.from(this._events.keys())}listeners(e){let t=this._events.get(e);return t?Array.isArray(t)?t.map(e=>e.fn):[t.fn]:[]}listenerCount(e){let t=this._events.get(e);return t?Array.isArray(t)?t.length:1:0}emit(e,...t){let n=this._events.get(e);if(!n)return!1;if(!Array.isArray(n))n.once&&this.removeListener(e,n.fn),n.fn.apply(n.context,t);else{let r=this.hasOnceListener.get(e)?n.slice():n;for(let n=0;n<r.length;n++){let i=r[n];i&&i.once&&this.removeListener(e,i.fn),i&&i.fn.apply(i.context,t)}}return!0}on(e,t,n){return this.addListener(e,t,n,!1)}addListener(e,t,n,r=!1){if(typeof t!=`function`)throw TypeError(`The listener must be a function`);let i={fn:t,context:n||this,once:r||!1};r&&this.hasOnceListener.set(e,!0);let a=this._events.get(e);return a?Array.isArray(a)?a.push(i):this._events.set(e,[a,i]):(this._events.set(e,i),this._eventsCount++),this}once(e,t,n){if(typeof t!=`function`)throw TypeError(`The listener must be a function`);let r=!1,i=(...a)=>{if(this.removeListener(e,i),!r)return r=!0,t.apply(n||this,a)};return this.on(e,i),this.onceListeners.set(t,i),this}removeListener(e,t){let n=this.onceListeners.get(t);n&&(this.onceListeners.delete(t),t=n);let r=this._events.get(e);if(!r)return this;if(!Array.isArray(r))r.fn===t&&(this._events.delete(e),this._eventsCount--,this.hasOnceListener.delete(e));else{let n=r.filter(e=>e.fn!==t);n.length===0?(this._events.delete(e),this._eventsCount--,this.hasOnceListener.delete(e)):n.length===1&&n[0]?(this._events.set(e,n[0]),n[0].once||this.hasOnceListener.delete(e)):(this._events.set(e,n),n.some(e=>e.once)||this.hasOnceListener.delete(e))}return this}off(e,t){return this.removeListener(e,t)}removeAllListeners(e){return e?this._events.has(e)&&(this._events.delete(e),this._eventsCount--,this.hasOnceListener.delete(e)):(this._events.clear(),this._eventsCount=0,this.hasOnceListener.clear()),this}setConcurrency(e){return e>=1&&(this.limiter=f(e)),this}emitParallel(e,...t){let n=this.listeners(e).map(e=>this._executeListener(e,t));return Promise.all(n)}emitSerial(e,...t){return this.listeners(e).reduce((e,n)=>e.then(e=>this._executeListener(n,t).then(t=>(e.push(t),e))),Promise.resolve([]))}emitReduce(e,...t){return this._emitReduceRun(e,t)}emitReduceRight(e,...t){return this._emitReduceRun(e,t,!0)}subscribe(e,t,n=!1){return n?this.once(e,t):this.on(e,t),()=>{this.removeListener(e,t)}}_emitReduceRun(e,t,n=!1){return(n?this.listeners(e).reverse():this.listeners(e)).reduce((e,t)=>e.then(e=>{let n=Array.isArray(e)?e:[e];return this._executeListener(t,n)}),Promise.resolve(t))}_executeListener(e,t){try{return this.limiter?this.limiter(()=>e(...t)):Promise.resolve(e(...t))}catch(e){return Promise.reject(e)}}},h=BigInt(2**32-1),ee=BigInt(32);function te(e,t=!1){return t?{h:Number(e&h),l:Number(e>>ee&h)}:{h:Number(e>>ee&h)|0,l:Number(e&h)|0}}function ne(e,t=!1){let n=e.length,r=new Uint32Array(n),i=new Uint32Array(n);for(let a=0;a<n;a++){let{h:n,l:o}=te(e[a],t);[r[a],i[a]]=[n,o]}return[r,i]}var re=(e,t,n)=>e<<n|t>>>32-n,ie=(e,t,n)=>t<<n|e>>>32-n,g=(e,t,n)=>t<<n-32|e>>>64-n,ae=(e,t,n)=>e<<n-32|t>>>64-n;function oe(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name===`Uint8Array`&&`BYTES_PER_ELEMENT`in e&&e.BYTES_PER_ELEMENT===1}function se(e,t=``){if(typeof e!=`number`){let n=t&&`"${t}" `;throw TypeError(`${n}expected number, got ${typeof e}`)}if(!Number.isSafeInteger(e)||e<0){let n=t&&`"${t}" `;throw RangeError(`${n}expected integer >= 0, got ${e}`)}}function ce(e,t,n=``){let r=oe(e),i=e?.length,a=t!==void 0;if(!r||a&&i!==t){let o=n&&`"${n}" `,s=a?` of length ${t}`:``,c=r?`length=${i}`:`type=${typeof e}`,l=o+`expected Uint8Array`+s+`, got `+c;throw r?RangeError(l):TypeError(l)}return e}function le(e,t=!0){if(e.destroyed)throw Error(`Hash instance has been destroyed`);if(t&&e.finished)throw Error(`Hash#digest() has already been called`)}function ue(e,t){ce(e,void 0,`digestInto() output`);let n=t.outputLen;if(e.length<n)throw RangeError(`"digestInto() output" expected to be of length >=`+n)}function de(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function fe(...e){for(let t=0;t<e.length;t++)e[t].fill(0)}var pe=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function me(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}function he(e){for(let t=0;t<e.length;t++)e[t]=me(e[t]);return e}var ge=pe?e=>e:he;typeof Uint8Array.from([]).toHex==`function`&&Uint8Array.fromHex;function _e(e,t={}){let n=(t,n)=>e(n).update(t).digest(),r=e(void 0);return n.outputLen=r.outputLen,n.blockLen=r.blockLen,n.canXOF=r.canXOF,n.create=t=>e(t),Object.assign(n,t),Object.freeze(n)}var ve=e=>({oid:Uint8Array.from([6,9,96,134,72,1,101,3,4,2,e])}),ye=BigInt(0),_=BigInt(1),v=BigInt(2),be=BigInt(7),xe=BigInt(256),Se=BigInt(113),Ce=[],we=[],y=[];for(let e=0,t=_,n=1,r=0;e<24;e++){[n,r]=[r,(2*n+3*r)%5],Ce.push(2*(5*r+n)),we.push((e+1)*(e+2)/2%64);let i=ye;for(let e=0;e<7;e++)t=(t<<_^(t>>be)*Se)%xe,t&v&&(i^=_<<(_<<BigInt(e))-_);y.push(i)}var Te=ne(y,!0),Ee=Te[0],De=Te[1],Oe=(e,t,n)=>n>32?g(e,t,n):re(e,t,n),b=(e,t,n)=>n>32?ae(e,t,n):ie(e,t,n);function ke(e,t=24){if(se(t,`rounds`),t<1||t>24)throw Error(`"rounds" expected integer 1..24`);let n=new Uint32Array(10);for(let r=24-t;r<24;r++){for(let t=0;t<10;t++)n[t]=e[t]^e[t+10]^e[t+20]^e[t+30]^e[t+40];for(let t=0;t<10;t+=2){let r=(t+8)%10,i=(t+2)%10,a=n[i],o=n[i+1],s=Oe(a,o,1)^n[r],c=b(a,o,1)^n[r+1];for(let n=0;n<50;n+=10)e[t+n]^=s,e[t+n+1]^=c}let t=e[2],i=e[3];for(let n=0;n<24;n++){let r=we[n],a=Oe(t,i,r),o=b(t,i,r),s=Ce[n];t=e[s],i=e[s+1],e[s]=a,e[s+1]=o}for(let t=0;t<50;t+=10){let n=e[t],r=e[t+1],i=e[t+2],a=e[t+3];e[t]^=~e[t+2]&e[t+4],e[t+1]^=~e[t+3]&e[t+5],e[t+2]^=~e[t+4]&e[t+6],e[t+3]^=~e[t+5]&e[t+7],e[t+4]^=~e[t+6]&e[t+8],e[t+5]^=~e[t+7]&e[t+9],e[t+6]^=~e[t+8]&n,e[t+7]^=~e[t+9]&r,e[t+8]^=~n&i,e[t+9]^=~r&a}e[0]^=Ee[r],e[1]^=De[r]}fe(n)}var Ae=class e{state;pos=0;posOut=0;finished=!1;state32;destroyed=!1;blockLen;suffix;outputLen;canXOF;enableXOF=!1;rounds;constructor(e,t,n,r=!1,i=24){if(this.blockLen=e,this.suffix=t,this.outputLen=n,this.enableXOF=r,this.canXOF=r,this.rounds=i,se(n,`outputLen`),!(0<e&&e<200))throw Error(`only keccak-f1600 function is supported`);this.state=new Uint8Array(200),this.state32=de(this.state)}clone(){return this._cloneInto()}keccak(){ge(this.state32),ke(this.state32,this.rounds),ge(this.state32),this.posOut=0,this.pos=0}update(e){le(this),ce(e);let{blockLen:t,state:n}=this,r=e.length;for(let i=0;i<r;){let a=Math.min(t-this.pos,r-i);for(let t=0;t<a;t++)n[this.pos++]^=e[i++];this.pos===t&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:e,suffix:t,pos:n,blockLen:r}=this;e[n]^=t,t&128&&n===r-1&&this.keccak(),e[r-1]^=128,this.keccak()}writeInto(e){le(this,!1),ce(e),this.finish();let t=this.state,{blockLen:n}=this;for(let r=0,i=e.length;r<i;){this.posOut>=n&&this.keccak();let a=Math.min(n-this.posOut,i-r);e.set(t.subarray(this.posOut,this.posOut+a),r),this.posOut+=a,r+=a}return e}xofInto(e){if(!this.enableXOF)throw Error(`XOF is not possible for this instance`);return this.writeInto(e)}xof(e){return se(e),this.xofInto(new Uint8Array(e))}digestInto(e){if(ue(e,this),this.finished)throw Error(`digest() was already called`);this.writeInto(e.subarray(0,this.outputLen)),this.destroy()}digest(){let e=new Uint8Array(this.outputLen);return this.digestInto(e),e}destroy(){this.destroyed=!0,fe(this.state)}_cloneInto(t){let{blockLen:n,suffix:r,outputLen:i,rounds:a,enableXOF:o}=this;return t||=new e(n,r,i,o,a),t.blockLen=n,t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=a,t.suffix=r,t.outputLen=i,t.enableXOF=o,t.canXOF=this.canXOF,t.destroyed=this.destroyed,t}},je=((e,t,n,r={})=>_e(()=>new Ae(t,e,n),r))(6,72,64,ve(10)),Me=`abcdefghijklmnopqrstuvwxyz`,Ne=26,Pe=`0123456789abcdefghijklmnopqrstuvwxyz`,Fe=476782367,Ie=16,x=32,Le=new TextEncoder,S=null,C=Math.floor(Math.random()*Fe),w=e=>Pe[e],Re=e=>{let t=``;switch(e){case 4:return w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0);case 8:return w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0);case 16:return w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0);case 24:return w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0);case 32:return w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0)+w(Math.random()*36|0);default:for(let n=0;n<e;n++)t+=w(Math.random()*36|0);return t}},ze=e=>{let t=e.length;if(t===0)return 0n;let n=new DataView(e.buffer,e.byteOffset,e.byteLength);if(t===64){let e=n.getBigUint64(0,!1),t=n.getBigUint64(8,!1),r=n.getBigUint64(16,!1),i=n.getBigUint64(24,!1),a=n.getBigUint64(32,!1),o=n.getBigUint64(40,!1),s=n.getBigUint64(48,!1),c=n.getBigUint64(56,!1);return e<<448n|t<<384n|r<<320n|i<<256n|a<<192n|o<<128n|s<<64n|c}let r=0n,i=0,a=t>>3<<3;for(;i<a;)r=r<<64n|n.getBigUint64(i,!1),i+=8;for(;i<t;)r=r<<8n|BigInt(e[i]),i++;return r},Be=e=>ze(je(Le.encode(e))).toString(36).slice(1),Ve=()=>{if(S)return S;let e=Object.keys(typeof globalThis<`u`?globalThis:typeof window<`u`?window:typeof global<`u`?global:{});return S=Be(e.length?e.join(``)+Re(x):Re(x)).substring(0,x),S},He=()=>{let e=Me[Math.random()*Ne|0],t=Date.now().toString(36),n=(++C).toString(36),r=`${t}${Re(Ie)}${n}${S}`;return e+ze(je(Le.encode(r))).toString(36).substring(1,Ie)};Ve();var T=null;try{T=new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,13,2,96,0,1,127,96,4,127,127,127,127,1,127,3,7,6,0,1,1,1,1,1,6,6,1,127,1,65,0,11,7,50,6,3,109,117,108,0,1,5,100,105,118,95,115,0,2,5,100,105,118,95,117,0,3,5,114,101,109,95,115,0,4,5,114,101,109,95,117,0,5,8,103,101,116,95,104,105,103,104,0,0,10,191,1,6,4,0,35,0,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,126,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,127,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,128,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,129,34,4,66,32,135,167,36,0,32,4,167,11,36,1,1,126,32,0,173,32,1,173,66,32,134,132,32,2,173,32,3,173,66,32,134,132,130,34,4,66,32,135,167,36,0,32,4,167,11])),{}).exports}catch{}function E(e,t,n){this.low=e|0,this.high=t|0,this.unsigned=!!n}E.prototype.__isLong__,Object.defineProperty(E.prototype,`__isLong__`,{value:!0});function D(e){return(e&&e.__isLong__)===!0}function Ue(e){var t=Math.clz32(e&-e);return e?31-t:t}E.isLong=D;var We={},Ge={};function O(e,t){var n,r,i;return t?(e>>>=0,(i=0<=e&&e<256)&&(r=Ge[e],r)?r:(n=A(e,0,!0),i&&(Ge[e]=n),n)):(e|=0,(i=-128<=e&&e<128)&&(r=We[e],r)?r:(n=A(e,e<0?-1:0,!1),i&&(We[e]=n),n))}E.fromInt=O;function k(e,t){if(isNaN(e))return t?P:N;if(t){if(e<0)return P;if(e>=Xe)return nt}else{if(e<=-Ze)return I;if(e+1>=Ze)return tt}return e<0?k(-e,t).neg():A(e%M|0,e/M|0,t)}E.fromNumber=k;function A(e,t,n){return new E(e,t,n)}E.fromBits=A;var Ke=Math.pow;function qe(e,t,n){if(e.length===0)throw Error(`empty string`);if(typeof t==`number`?(n=t,t=!1):t=!!t,e===`NaN`||e===`Infinity`||e===`+Infinity`||e===`-Infinity`)return t?P:N;if(n||=10,n<2||36<n)throw RangeError(`radix`);var r;if((r=e.indexOf(`-`))>0)throw Error(`interior hyphen`);if(r===0)return qe(e.substring(1),t,n).neg();for(var i=k(Ke(n,8)),a=N,o=0;o<e.length;o+=8){var s=Math.min(8,e.length-o),c=parseInt(e.substring(o,o+s),n);if(s<8){var l=k(Ke(n,s));a=a.mul(l).add(k(c))}else a=a.mul(i),a=a.add(k(c))}return a.unsigned=t,a}E.fromString=qe;function j(e,t){return typeof e==`number`?k(e,t):typeof e==`string`?qe(e,t):A(e.low,e.high,typeof t==`boolean`?t:e.unsigned)}E.fromValue=j;var Je=65536,Ye=1<<24,M=Je*Je,Xe=M*M,Ze=Xe/2,Qe=O(Ye),N=O(0);E.ZERO=N;var P=O(0,!0);E.UZERO=P;var F=O(1);E.ONE=F;var $e=O(1,!0);E.UONE=$e;var et=O(-1);E.NEG_ONE=et;var tt=A(-1,2147483647,!1);E.MAX_VALUE=tt;var nt=A(-1,-1,!0);E.MAX_UNSIGNED_VALUE=nt;var I=A(0,-2147483648,!1);E.MIN_VALUE=I;var L=E.prototype;L.toInt=function(){return this.unsigned?this.low>>>0:this.low},L.toNumber=function(){return this.unsigned?(this.high>>>0)*M+(this.low>>>0):this.high*M+(this.low>>>0)},L.toString=function(e){if(e||=10,e<2||36<e)throw RangeError(`radix`);if(this.isZero())return`0`;if(this.isNegative())if(this.eq(I)){var t=k(e),n=this.div(t),r=n.mul(t).sub(this);return n.toString(e)+r.toInt().toString(e)}else return`-`+this.neg().toString(e);for(var i=k(Ke(e,6),this.unsigned),a=this,o=``;;){var s=a.div(i),c=(a.sub(s.mul(i)).toInt()>>>0).toString(e);if(a=s,a.isZero())return c+o;for(;c.length<6;)c=`0`+c;o=``+c+o}},L.getHighBits=function(){return this.high},L.getHighBitsUnsigned=function(){return this.high>>>0},L.getLowBits=function(){return this.low},L.getLowBitsUnsigned=function(){return this.low>>>0},L.getNumBitsAbs=function(){if(this.isNegative())return this.eq(I)?64:this.neg().getNumBitsAbs();for(var e=this.high==0?this.low:this.high,t=31;t>0&&!(e&1<<t);t--);return this.high==0?t+1:t+33},L.isSafeInteger=function(){var e=this.high>>21;return e?this.unsigned?!1:e===-1&&!(this.low===0&&this.high===-2097152):!0},L.isZero=function(){return this.high===0&&this.low===0},L.eqz=L.isZero,L.isNegative=function(){return!this.unsigned&&this.high<0},L.isPositive=function(){return this.unsigned||this.high>=0},L.isOdd=function(){return(this.low&1)==1},L.isEven=function(){return(this.low&1)==0},L.equals=function(e){return D(e)||(e=j(e)),this.unsigned!==e.unsigned&&this.high>>>31==1&&e.high>>>31==1?!1:this.high===e.high&&this.low===e.low},L.eq=L.equals,L.notEquals=function(e){return!this.eq(e)},L.neq=L.notEquals,L.ne=L.notEquals,L.lessThan=function(e){return this.comp(e)<0},L.lt=L.lessThan,L.lessThanOrEqual=function(e){return this.comp(e)<=0},L.lte=L.lessThanOrEqual,L.le=L.lessThanOrEqual,L.greaterThan=function(e){return this.comp(e)>0},L.gt=L.greaterThan,L.greaterThanOrEqual=function(e){return this.comp(e)>=0},L.gte=L.greaterThanOrEqual,L.ge=L.greaterThanOrEqual,L.compare=function(e){if(D(e)||(e=j(e)),this.eq(e))return 0;var t=this.isNegative(),n=e.isNegative();return t&&!n?-1:!t&&n?1:this.unsigned?e.high>>>0>this.high>>>0||e.high===this.high&&e.low>>>0>this.low>>>0?-1:1:this.sub(e).isNegative()?-1:1},L.comp=L.compare,L.negate=function(){return!this.unsigned&&this.eq(I)?I:this.not().add(F)},L.neg=L.negate,L.add=function(e){D(e)||(e=j(e));var t=this.high>>>16,n=this.high&65535,r=this.low>>>16,i=this.low&65535,a=e.high>>>16,o=e.high&65535,s=e.low>>>16,c=e.low&65535,l=0,u=0,d=0,f=0;return f+=i+c,d+=f>>>16,f&=65535,d+=r+s,u+=d>>>16,d&=65535,u+=n+o,l+=u>>>16,u&=65535,l+=t+a,l&=65535,A(d<<16|f,l<<16|u,this.unsigned)},L.subtract=function(e){return D(e)||(e=j(e)),this.add(e.neg())},L.sub=L.subtract,L.multiply=function(e){if(this.isZero())return this;if(D(e)||(e=j(e)),T)return A(T.mul(this.low,this.high,e.low,e.high),T.get_high(),this.unsigned);if(e.isZero())return this.unsigned?P:N;if(this.eq(I))return e.isOdd()?I:N;if(e.eq(I))return this.isOdd()?I:N;if(this.isNegative())return e.isNegative()?this.neg().mul(e.neg()):this.neg().mul(e).neg();if(e.isNegative())return this.mul(e.neg()).neg();if(this.lt(Qe)&&e.lt(Qe))return k(this.toNumber()*e.toNumber(),this.unsigned);var t=this.high>>>16,n=this.high&65535,r=this.low>>>16,i=this.low&65535,a=e.high>>>16,o=e.high&65535,s=e.low>>>16,c=e.low&65535,l=0,u=0,d=0,f=0;return f+=i*c,d+=f>>>16,f&=65535,d+=r*c,u+=d>>>16,d&=65535,d+=i*s,u+=d>>>16,d&=65535,u+=n*c,l+=u>>>16,u&=65535,u+=r*s,l+=u>>>16,u&=65535,u+=i*o,l+=u>>>16,u&=65535,l+=t*c+n*s+r*o+i*a,l&=65535,A(d<<16|f,l<<16|u,this.unsigned)},L.mul=L.multiply,L.divide=function(e){if(D(e)||(e=j(e)),e.isZero())throw Error(`division by zero`);if(T)return!this.unsigned&&this.high===-2147483648&&e.low===-1&&e.high===-1?this:A((this.unsigned?T.div_u:T.div_s)(this.low,this.high,e.low,e.high),T.get_high(),this.unsigned);if(this.isZero())return this.unsigned?P:N;var t,n,r;if(this.unsigned){if(e.unsigned||(e=e.toUnsigned()),e.gt(this))return P;if(e.gt(this.shru(1)))return $e;r=P}else{if(this.eq(I))return e.eq(F)||e.eq(et)?I:e.eq(I)?F:(t=this.shr(1).div(e).shl(1),t.eq(N)?e.isNegative()?F:et:(n=this.sub(e.mul(t)),r=t.add(n.div(e)),r));if(e.eq(I))return this.unsigned?P:N;if(this.isNegative())return e.isNegative()?this.neg().div(e.neg()):this.neg().div(e).neg();if(e.isNegative())return this.div(e.neg()).neg();r=N}for(n=this;n.gte(e);){t=Math.max(1,Math.floor(n.toNumber()/e.toNumber()));for(var i=Math.ceil(Math.log(t)/Math.LN2),a=i<=48?1:Ke(2,i-48),o=k(t),s=o.mul(e);s.isNegative()||s.gt(n);)t-=a,o=k(t,this.unsigned),s=o.mul(e);o.isZero()&&(o=F),r=r.add(o),n=n.sub(s)}return r},L.div=L.divide,L.modulo=function(e){return D(e)||(e=j(e)),T?A((this.unsigned?T.rem_u:T.rem_s)(this.low,this.high,e.low,e.high),T.get_high(),this.unsigned):this.sub(this.div(e).mul(e))},L.mod=L.modulo,L.rem=L.modulo,L.not=function(){return A(~this.low,~this.high,this.unsigned)},L.countLeadingZeros=function(){return this.high?Math.clz32(this.high):Math.clz32(this.low)+32},L.clz=L.countLeadingZeros,L.countTrailingZeros=function(){return this.low?Ue(this.low):Ue(this.high)+32},L.ctz=L.countTrailingZeros,L.and=function(e){return D(e)||(e=j(e)),A(this.low&e.low,this.high&e.high,this.unsigned)},L.or=function(e){return D(e)||(e=j(e)),A(this.low|e.low,this.high|e.high,this.unsigned)},L.xor=function(e){return D(e)||(e=j(e)),A(this.low^e.low,this.high^e.high,this.unsigned)},L.shiftLeft=function(e){return D(e)&&(e=e.toInt()),(e&=63)==0?this:e<32?A(this.low<<e,this.high<<e|this.low>>>32-e,this.unsigned):A(0,this.low<<e-32,this.unsigned)},L.shl=L.shiftLeft,L.shiftRight=function(e){return D(e)&&(e=e.toInt()),(e&=63)==0?this:e<32?A(this.low>>>e|this.high<<32-e,this.high>>e,this.unsigned):A(this.high>>e-32,this.high>=0?0:-1,this.unsigned)},L.shr=L.shiftRight,L.shiftRightUnsigned=function(e){return D(e)&&(e=e.toInt()),(e&=63)==0?this:e<32?A(this.low>>>e|this.high<<32-e,this.high>>>e,this.unsigned):A(e===32?this.high:this.high>>>e-32,0,this.unsigned)},L.shru=L.shiftRightUnsigned,L.shr_u=L.shiftRightUnsigned,L.rotateLeft=function(e){var t;return D(e)&&(e=e.toInt()),(e&=63)==0?this:e===32?A(this.high,this.low,this.unsigned):e<32?(t=32-e,A(this.low<<e|this.high>>>t,this.high<<e|this.low>>>t,this.unsigned)):(e-=32,t=32-e,A(this.high<<e|this.low>>>t,this.low<<e|this.high>>>t,this.unsigned))},L.rotl=L.rotateLeft,L.rotateRight=function(e){var t;return D(e)&&(e=e.toInt()),(e&=63)==0?this:e===32?A(this.high,this.low,this.unsigned):e<32?(t=32-e,A(this.high<<t|this.low>>>e,this.low<<t|this.high>>>e,this.unsigned)):(e-=32,t=32-e,A(this.low<<t|this.high>>>e,this.high<<t|this.low>>>e,this.unsigned))},L.rotr=L.rotateRight,L.toSigned=function(){return this.unsigned?A(this.low,this.high,!1):this},L.toUnsigned=function(){return this.unsigned?this:A(this.low,this.high,!0)},L.toBytes=function(e){return e?this.toBytesLE():this.toBytesBE()},L.toBytesLE=function(){var e=this.high,t=this.low;return[t&255,t>>>8&255,t>>>16&255,t>>>24,e&255,e>>>8&255,e>>>16&255,e>>>24]},L.toBytesBE=function(){var e=this.high,t=this.low;return[e>>>24,e>>>16&255,e>>>8&255,e&255,t>>>24,t>>>16&255,t>>>8&255,t&255]},E.fromBytes=function(e,t,n){return n?E.fromBytesLE(e,t):E.fromBytesBE(e,t)},E.fromBytesLE=function(e,t){return new E(e[0]|e[1]<<8|e[2]<<16|e[3]<<24,e[4]|e[5]<<8|e[6]<<16|e[7]<<24,t)},E.fromBytesBE=function(e,t){return new E(e[4]<<24|e[5]<<16|e[6]<<8|e[7],e[0]<<24|e[1]<<16|e[2]<<8|e[3],t)},typeof BigInt==`function`&&(E.fromBigInt=function(e,t){return A(Number(BigInt.asIntN(32,e)),Number(BigInt.asIntN(32,e>>BigInt(32))),t)},E.fromValue=function(e,t){return typeof e==`bigint`?E.fromBigInt(e,t):j(e,t)},L.toBigInt=function(){var e=BigInt(this.low>>>0);return BigInt(this.unsigned?this.high>>>0:this.high)<<BigInt(32)|e});var rt=t((e=>{e.byteLength=c,e.toByteArray=u,e.fromByteArray=p;for(var t=[],n=[],r=typeof Uint8Array<`u`?Uint8Array:Array,i=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`,a=0,o=i.length;a<o;++a)t[a]=i[a],n[i.charCodeAt(a)]=a;n[45]=62,n[95]=63;function s(e){var t=e.length;if(t%4>0)throw Error(`Invalid string. Length must be a multiple of 4`);var n=e.indexOf(`=`);n===-1&&(n=t);var r=n===t?0:4-n%4;return[n,r]}function c(e){var t=s(e),n=t[0],r=t[1];return(n+r)*3/4-r}function l(e,t,n){return(t+n)*3/4-n}function u(e){var t,i=s(e),a=i[0],o=i[1],c=new r(l(e,a,o)),u=0,d=o>0?a-4:a,f;for(f=0;f<d;f+=4)t=n[e.charCodeAt(f)]<<18|n[e.charCodeAt(f+1)]<<12|n[e.charCodeAt(f+2)]<<6|n[e.charCodeAt(f+3)],c[u++]=t>>16&255,c[u++]=t>>8&255,c[u++]=t&255;return o===2&&(t=n[e.charCodeAt(f)]<<2|n[e.charCodeAt(f+1)]>>4,c[u++]=t&255),o===1&&(t=n[e.charCodeAt(f)]<<10|n[e.charCodeAt(f+1)]<<4|n[e.charCodeAt(f+2)]>>2,c[u++]=t>>8&255,c[u++]=t&255),c}function d(e){return t[e>>18&63]+t[e>>12&63]+t[e>>6&63]+t[e&63]}function f(e,t,n){for(var r,i=[],a=t;a<n;a+=3)r=(e[a]<<16&16711680)+(e[a+1]<<8&65280)+(e[a+2]&255),i.push(d(r));return i.join(``)}function p(e){for(var n,r=e.length,i=r%3,a=[],o=16383,s=0,c=r-i;s<c;s+=o)a.push(f(e,s,s+o>c?c:s+o));return i===1?(n=e[r-1],a.push(t[n>>2]+t[n<<4&63]+`==`)):i===2&&(n=(e[r-2]<<8)+e[r-1],a.push(t[n>>10]+t[n>>4&63]+t[n<<2&63]+`=`)),a.join(``)}})),it=t((e=>{e.read=function(e,t,n,r,i){var a,o,s=i*8-r-1,c=(1<<s)-1,l=c>>1,u=-7,d=n?i-1:0,f=n?-1:1,p=e[t+d];for(d+=f,a=p&(1<<-u)-1,p>>=-u,u+=s;u>0;a=a*256+e[t+d],d+=f,u-=8);for(o=a&(1<<-u)-1,a>>=-u,u+=r;u>0;o=o*256+e[t+d],d+=f,u-=8);if(a===0)a=1-l;else if(a===c)return o?NaN:(p?-1:1)*(1/0);else o+=2**r,a-=l;return(p?-1:1)*o*2**(a-r)},e.write=function(e,t,n,r,i,a){var o,s,c,l=a*8-i-1,u=(1<<l)-1,d=u>>1,f=i===23?2**-24-2**-77:0,p=r?0:a-1,m=r?1:-1,h=+(t<0||t===0&&1/t<0);for(t=Math.abs(t),isNaN(t)||t===1/0?(s=+!!isNaN(t),o=u):(o=Math.floor(Math.log(t)/Math.LN2),t*(c=2**-o)<1&&(o--,c*=2),o+d>=1?t+=f/c:t+=f*2**(1-d),t*c>=2&&(o++,c/=2),o+d>=u?(s=0,o=u):o+d>=1?(s=(t*c-1)*2**i,o+=d):(s=t*2**(d-1)*2**i,o=0));i>=8;e[n+p]=s&255,p+=m,s/=256,i-=8);for(o=o<<i|s,l+=i;l>0;e[n+p]=o&255,p+=m,o/=256,l-=8);e[n+p-m]|=h*128}})),R=t((e=>{var t=rt(),n=it(),r=typeof Symbol==`function`&&typeof Symbol.for==`function`?Symbol.for(`nodejs.util.inspect.custom`):null;e.Buffer=s,e.SlowBuffer=ne,e.INSPECT_MAX_BYTES=50;var i=2147483647;e.kMaxLength=i,s.TYPED_ARRAY_SUPPORT=a(),!s.TYPED_ARRAY_SUPPORT&&typeof console<`u`&&typeof console.error==`function`&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(s.prototype,`parent`,{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,`offset`,{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}});function o(e){if(e>i)throw RangeError(`The value "`+e+`" is invalid for option "size"`);let t=new Uint8Array(e);return Object.setPrototypeOf(t,s.prototype),t}function s(e,t,n){if(typeof e==`number`){if(typeof t==`string`)throw TypeError(`The "string" argument must be of type string. Received type number`);return d(e)}return c(e,t,n)}s.poolSize=8192;function c(e,t,n){if(typeof e==`string`)return f(e,t);if(ArrayBuffer.isView(e))return m(e);if(e==null)throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e);if(x(e,ArrayBuffer)||e&&x(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<`u`&&(x(e,SharedArrayBuffer)||e&&x(e.buffer,SharedArrayBuffer)))return h(e,t,n);if(typeof e==`number`)throw TypeError(`The "value" argument must not be of type number. Received type number`);let r=e.valueOf&&e.valueOf();if(r!=null&&r!==e)return s.from(r,t,n);let i=ee(e);if(i)return i;if(typeof Symbol<`u`&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]==`function`)return s.from(e[Symbol.toPrimitive](`string`),t,n);throw TypeError(`The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type `+typeof e)}s.from=function(e,t,n){return c(e,t,n)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array);function l(e){if(typeof e!=`number`)throw TypeError(`"size" argument must be of type number`);if(e<0)throw RangeError(`The value "`+e+`" is invalid for option "size"`)}function u(e,t,n){return l(e),e<=0||t===void 0?o(e):typeof n==`string`?o(e).fill(t,n):o(e).fill(t)}s.alloc=function(e,t,n){return u(e,t,n)};function d(e){return l(e),o(e<0?0:te(e)|0)}s.allocUnsafe=function(e){return d(e)},s.allocUnsafeSlow=function(e){return d(e)};function f(e,t){if((typeof t!=`string`||t===``)&&(t=`utf8`),!s.isEncoding(t))throw TypeError(`Unknown encoding: `+t);let n=re(e,t)|0,r=o(n),i=r.write(e,t);return i!==n&&(r=r.slice(0,i)),r}function p(e){let t=e.length<0?0:te(e.length)|0,n=o(t);for(let r=0;r<t;r+=1)n[r]=e[r]&255;return n}function m(e){if(x(e,Uint8Array)){let t=new Uint8Array(e);return h(t.buffer,t.byteOffset,t.byteLength)}return p(e)}function h(e,t,n){if(t<0||e.byteLength<t)throw RangeError(`"offset" is outside of buffer bounds`);if(e.byteLength<t+(n||0))throw RangeError(`"length" is outside of buffer bounds`);let r;return r=t===void 0&&n===void 0?new Uint8Array(e):n===void 0?new Uint8Array(e,t):new Uint8Array(e,t,n),Object.setPrototypeOf(r,s.prototype),r}function ee(e){if(s.isBuffer(e)){let t=te(e.length)|0,n=o(t);return n.length===0||e.copy(n,0,0,t),n}if(e.length!==void 0)return typeof e.length!=`number`||Le(e.length)?o(0):p(e);if(e.type===`Buffer`&&Array.isArray(e.data))return p(e.data)}function te(e){if(e>=i)throw RangeError(`Attempt to allocate Buffer larger than maximum size: 0x`+i.toString(16)+` bytes`);return e|0}function ne(e){return+e!=e&&(e=0),s.alloc(+e)}s.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==s.prototype},s.compare=function(e,t){if(x(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),x(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(e)||!s.isBuffer(t))throw TypeError(`The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array`);if(e===t)return 0;let n=e.length,r=t.length;for(let i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:+(r<n)},s.isEncoding=function(e){switch(String(e).toLowerCase()){case`hex`:case`utf8`:case`utf-8`:case`ascii`:case`latin1`:case`binary`:case`base64`:case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return!0;default:return!1}},s.concat=function(e,t){if(!Array.isArray(e))throw TypeError(`"list" argument must be an Array of Buffers`);if(e.length===0)return s.alloc(0);let n;if(t===void 0)for(t=0,n=0;n<e.length;++n)t+=e[n].length;let r=s.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){let t=e[n];if(x(t,Uint8Array))i+t.length>r.length?(s.isBuffer(t)||(t=s.from(t)),t.copy(r,i)):Uint8Array.prototype.set.call(r,t,i);else if(s.isBuffer(t))t.copy(r,i);else throw TypeError(`"list" argument must be an Array of Buffers`);i+=t.length}return r};function re(e,t){if(s.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||x(e,ArrayBuffer))return e.byteLength;if(typeof e!=`string`)throw TypeError(`The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type `+typeof e);let n=e.length,r=arguments.length>2&&arguments[2]===!0;if(!r&&n===0)return 0;let i=!1;for(;;)switch(t){case`ascii`:case`latin1`:case`binary`:return n;case`utf8`:case`utf-8`:return Me(e).length;case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return n*2;case`hex`:return n>>>1;case`base64`:return Fe(e).length;default:if(i)return r?-1:Me(e).length;t=(``+t).toLowerCase(),i=!0}}s.byteLength=re;function ie(e,t,n){let r=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((n===void 0||n>this.length)&&(n=this.length),n<=0)||(n>>>=0,t>>>=0,n<=t))return``;for(e||=`utf8`;;)switch(e){case`hex`:return ve(this,t,n);case`utf8`:case`utf-8`:return pe(this,t,n);case`ascii`:return ge(this,t,n);case`latin1`:case`binary`:return _e(this,t,n);case`base64`:return fe(this,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return ye(this,t,n);default:if(r)throw TypeError(`Unknown encoding: `+e);e=(e+``).toLowerCase(),r=!0}}s.prototype._isBuffer=!0;function g(e,t,n){let r=e[t];e[t]=e[n],e[n]=r}s.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw RangeError(`Buffer size must be a multiple of 16-bits`);for(let t=0;t<e;t+=2)g(this,t,t+1);return this},s.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw RangeError(`Buffer size must be a multiple of 32-bits`);for(let t=0;t<e;t+=4)g(this,t,t+3),g(this,t+1,t+2);return this},s.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw RangeError(`Buffer size must be a multiple of 64-bits`);for(let t=0;t<e;t+=8)g(this,t,t+7),g(this,t+1,t+6),g(this,t+2,t+5),g(this,t+3,t+4);return this},s.prototype.toString=function(){let e=this.length;return e===0?``:arguments.length===0?pe(this,0,e):ie.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(e){if(!s.isBuffer(e))throw TypeError(`Argument must be a Buffer`);return this===e?!0:s.compare(this,e)===0},s.prototype.inspect=function(){let t=``,n=e.INSPECT_MAX_BYTES;return t=this.toString(`hex`,0,n).replace(/(.{2})/g,`$1 `).trim(),this.length>n&&(t+=` ... `),`<Buffer `+t+`>`},r&&(s.prototype[r]=s.prototype.inspect),s.prototype.compare=function(e,t,n,r,i){if(x(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(e))throw TypeError(`The "target" argument must be one of type Buffer or Uint8Array. Received type `+typeof e);if(t===void 0&&(t=0),n===void 0&&(n=e?e.length:0),r===void 0&&(r=0),i===void 0&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw RangeError(`out of range index`);if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;let a=i-r,o=n-t,c=Math.min(a,o),l=this.slice(r,i),u=e.slice(t,n);for(let e=0;e<c;++e)if(l[e]!==u[e]){a=l[e],o=u[e];break}return a<o?-1:+(o<a)};function ae(e,t,n,r,i){if(e.length===0)return-1;if(typeof n==`string`?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,Le(n)&&(n=i?0:e.length-1),n<0&&(n=e.length+n),n>=e.length){if(i)return-1;n=e.length-1}else if(n<0)if(i)n=0;else return-1;if(typeof t==`string`&&(t=s.from(t,r)),s.isBuffer(t))return t.length===0?-1:oe(e,t,n,r,i);if(typeof t==`number`)return t&=255,typeof Uint8Array.prototype.indexOf==`function`?i?Uint8Array.prototype.indexOf.call(e,t,n):Uint8Array.prototype.lastIndexOf.call(e,t,n):oe(e,[t],n,r,i);throw TypeError(`val must be string, number or Buffer`)}function oe(e,t,n,r,i){let a=1,o=e.length,s=t.length;if(r!==void 0&&(r=String(r).toLowerCase(),r===`ucs2`||r===`ucs-2`||r===`utf16le`||r===`utf-16le`)){if(e.length<2||t.length<2)return-1;a=2,o/=2,s/=2,n/=2}function c(e,t){return a===1?e[t]:e.readUInt16BE(t*a)}let l;if(i){let r=-1;for(l=n;l<o;l++)if(c(e,l)===c(t,r===-1?0:l-r)){if(r===-1&&(r=l),l-r+1===s)return r*a}else r!==-1&&(l-=l-r),r=-1}else for(n+s>o&&(n=o-s),l=n;l>=0;l--){let n=!0;for(let r=0;r<s;r++)if(c(e,l+r)!==c(t,r)){n=!1;break}if(n)return l}return-1}s.prototype.includes=function(e,t,n){return this.indexOf(e,t,n)!==-1},s.prototype.indexOf=function(e,t,n){return ae(this,e,t,n,!0)},s.prototype.lastIndexOf=function(e,t,n){return ae(this,e,t,n,!1)};function se(e,t,n,r){n=Number(n)||0;let i=e.length-n;r?(r=Number(r),r>i&&(r=i)):r=i;let a=t.length;r>a/2&&(r=a/2);let o;for(o=0;o<r;++o){let r=parseInt(t.substr(o*2,2),16);if(Le(r))return o;e[n+o]=r}return o}function ce(e,t,n,r){return Ie(Me(t,e.length-n),e,n,r)}function le(e,t,n,r){return Ie(Ne(t),e,n,r)}function ue(e,t,n,r){return Ie(Fe(t),e,n,r)}function de(e,t,n,r){return Ie(Pe(t,e.length-n),e,n,r)}s.prototype.write=function(e,t,n,r){if(t===void 0)r=`utf8`,n=this.length,t=0;else if(n===void 0&&typeof t==`string`)r=t,n=this.length,t=0;else if(isFinite(t))t>>>=0,isFinite(n)?(n>>>=0,r===void 0&&(r=`utf8`)):(r=n,n=void 0);else throw Error(`Buffer.write(string, encoding, offset[, length]) is no longer supported`);let i=this.length-t;if((n===void 0||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw RangeError(`Attempt to write outside buffer bounds`);r||=`utf8`;let a=!1;for(;;)switch(r){case`hex`:return se(this,e,t,n);case`utf8`:case`utf-8`:return ce(this,e,t,n);case`ascii`:case`latin1`:case`binary`:return le(this,e,t,n);case`base64`:return ue(this,e,t,n);case`ucs2`:case`ucs-2`:case`utf16le`:case`utf-16le`:return de(this,e,t,n);default:if(a)throw TypeError(`Unknown encoding: `+r);r=(``+r).toLowerCase(),a=!0}},s.prototype.toJSON=function(){return{type:`Buffer`,data:Array.prototype.slice.call(this._arr||this,0)}};function fe(e,n,r){return n===0&&r===e.length?t.fromByteArray(e):t.fromByteArray(e.slice(n,r))}function pe(e,t,n){n=Math.min(e.length,n);let r=[],i=t;for(;i<n;){let t=e[i],a=null,o=t>239?4:t>223?3:t>191?2:1;if(i+o<=n){let n,r,s,c;switch(o){case 1:t<128&&(a=t);break;case 2:n=e[i+1],(n&192)==128&&(c=(t&31)<<6|n&63,c>127&&(a=c));break;case 3:n=e[i+1],r=e[i+2],(n&192)==128&&(r&192)==128&&(c=(t&15)<<12|(n&63)<<6|r&63,c>2047&&(c<55296||c>57343)&&(a=c));break;case 4:n=e[i+1],r=e[i+2],s=e[i+3],(n&192)==128&&(r&192)==128&&(s&192)==128&&(c=(t&15)<<18|(n&63)<<12|(r&63)<<6|s&63,c>65535&&c<1114112&&(a=c))}}a===null?(a=65533,o=1):a>65535&&(a-=65536,r.push(a>>>10&1023|55296),a=56320|a&1023),r.push(a),i+=o}return he(r)}var me=4096;function he(e){let t=e.length;if(t<=me)return String.fromCharCode.apply(String,e);let n=``,r=0;for(;r<t;)n+=String.fromCharCode.apply(String,e.slice(r,r+=me));return n}function ge(e,t,n){let r=``;n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]&127);return r}function _e(e,t,n){let r=``;n=Math.min(e.length,n);for(let i=t;i<n;++i)r+=String.fromCharCode(e[i]);return r}function ve(e,t,n){let r=e.length;(!t||t<0)&&(t=0),(!n||n<0||n>r)&&(n=r);let i=``;for(let r=t;r<n;++r)i+=S[e[r]];return i}function ye(e,t,n){let r=e.slice(t,n),i=``;for(let e=0;e<r.length-1;e+=2)i+=String.fromCharCode(r[e]+r[e+1]*256);return i}s.prototype.slice=function(e,t){let n=this.length;e=~~e,t=t===void 0?n:~~t,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),t<e&&(t=e);let r=this.subarray(e,t);return Object.setPrototypeOf(r,s.prototype),r};function _(e,t,n){if(e%1!=0||e<0)throw RangeError(`offset is not uint`);if(e+t>n)throw RangeError(`Trying to access beyond buffer length`)}s.prototype.readUintLE=s.prototype.readUIntLE=function(e,t,n){e>>>=0,t>>>=0,n||_(e,t,this.length);let r=this[e],i=1,a=0;for(;++a<t&&(i*=256);)r+=this[e+a]*i;return r},s.prototype.readUintBE=s.prototype.readUIntBE=function(e,t,n){e>>>=0,t>>>=0,n||_(e,t,this.length);let r=this[e+--t],i=1;for(;t>0&&(i*=256);)r+=this[e+--t]*i;return r},s.prototype.readUint8=s.prototype.readUInt8=function(e,t){return e>>>=0,t||_(e,1,this.length),this[e]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(e,t){return e>>>=0,t||_(e,2,this.length),this[e]|this[e+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(e,t){return e>>>=0,t||_(e,2,this.length),this[e]<<8|this[e+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(e,t){return e>>>=0,t||_(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(e,t){return e>>>=0,t||_(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])},s.prototype.readBigUInt64LE=C(function(e){e>>>=0,b(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ke(e,this.length-8);let r=t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,i=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(r)+(BigInt(i)<<BigInt(32))}),s.prototype.readBigUInt64BE=C(function(e){e>>>=0,b(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ke(e,this.length-8);let r=t*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],i=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(r)<<BigInt(32))+BigInt(i)}),s.prototype.readIntLE=function(e,t,n){e>>>=0,t>>>=0,n||_(e,t,this.length);let r=this[e],i=1,a=0;for(;++a<t&&(i*=256);)r+=this[e+a]*i;return i*=128,r>=i&&(r-=2**(8*t)),r},s.prototype.readIntBE=function(e,t,n){e>>>=0,t>>>=0,n||_(e,t,this.length);let r=t,i=1,a=this[e+--r];for(;r>0&&(i*=256);)a+=this[e+--r]*i;return i*=128,a>=i&&(a-=2**(8*t)),a},s.prototype.readInt8=function(e,t){return e>>>=0,t||_(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]},s.prototype.readInt16LE=function(e,t){e>>>=0,t||_(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n},s.prototype.readInt16BE=function(e,t){e>>>=0,t||_(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n},s.prototype.readInt32LE=function(e,t){return e>>>=0,t||_(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},s.prototype.readInt32BE=function(e,t){return e>>>=0,t||_(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},s.prototype.readBigInt64LE=C(function(e){e>>>=0,b(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ke(e,this.length-8);let r=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(r)<<BigInt(32))+BigInt(t+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)}),s.prototype.readBigInt64BE=C(function(e){e>>>=0,b(e,`offset`);let t=this[e],n=this[e+7];(t===void 0||n===void 0)&&ke(e,this.length-8);let r=(t<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(r)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)}),s.prototype.readFloatLE=function(e,t){return e>>>=0,t||_(e,4,this.length),n.read(this,e,!0,23,4)},s.prototype.readFloatBE=function(e,t){return e>>>=0,t||_(e,4,this.length),n.read(this,e,!1,23,4)},s.prototype.readDoubleLE=function(e,t){return e>>>=0,t||_(e,8,this.length),n.read(this,e,!0,52,8)},s.prototype.readDoubleBE=function(e,t){return e>>>=0,t||_(e,8,this.length),n.read(this,e,!1,52,8)};function v(e,t,n,r,i,a){if(!s.isBuffer(e))throw TypeError(`"buffer" argument must be a Buffer instance`);if(t>i||t<a)throw RangeError(`"value" argument is out of bounds`);if(n+r>e.length)throw RangeError(`Index out of range`)}s.prototype.writeUintLE=s.prototype.writeUIntLE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=2**(8*n)-1;v(this,e,t,n,r,0)}let i=1,a=0;for(this[t]=e&255;++a<n&&(i*=256);)this[t+a]=e/i&255;return t+n},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(e,t,n,r){if(e=+e,t>>>=0,n>>>=0,!r){let r=2**(8*n)-1;v(this,e,t,n,r,0)}let i=n-1,a=1;for(this[t+i]=e&255;--i>=0&&(a*=256);)this[t+i]=e/a&255;return t+n},s.prototype.writeUint8=s.prototype.writeUInt8=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,1,255,0),this[t]=e&255,t+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,2,65535,0),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=e&255,t+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4};function be(e,t,n,r,i){Oe(t,r,i,e,n,7);let a=Number(t&BigInt(4294967295));e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a,a>>=8,e[n++]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,o>>=8,e[n++]=o,n}function xe(e,t,n,r,i){Oe(t,r,i,e,n,7);let a=Number(t&BigInt(4294967295));e[n+7]=a,a>>=8,e[n+6]=a,a>>=8,e[n+5]=a,a>>=8,e[n+4]=a;let o=Number(t>>BigInt(32)&BigInt(4294967295));return e[n+3]=o,o>>=8,e[n+2]=o,o>>=8,e[n+1]=o,o>>=8,e[n]=o,n+8}s.prototype.writeBigUInt64LE=C(function(e,t=0){return be(this,e,t,BigInt(0),BigInt(`0xffffffffffffffff`))}),s.prototype.writeBigUInt64BE=C(function(e,t=0){return xe(this,e,t,BigInt(0),BigInt(`0xffffffffffffffff`))}),s.prototype.writeIntLE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=2**(8*n-1);v(this,e,t,n,r-1,-r)}let i=0,a=1,o=0;for(this[t]=e&255;++i<n&&(a*=256);)e<0&&o===0&&this[t+i-1]!==0&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+n},s.prototype.writeIntBE=function(e,t,n,r){if(e=+e,t>>>=0,!r){let r=2**(8*n-1);v(this,e,t,n,r-1,-r)}let i=n-1,a=1,o=0;for(this[t+i]=e&255;--i>=0&&(a*=256);)e<0&&o===0&&this[t+i+1]!==0&&(o=1),this[t+i]=(e/a>>0)-o&255;return t+n},s.prototype.writeInt8=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=e&255,t+1},s.prototype.writeInt16LE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,2,32767,-32768),this[t]=e&255,this[t+1]=e>>>8,t+2},s.prototype.writeInt16BE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=e&255,t+2},s.prototype.writeInt32LE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,4,2147483647,-2147483648),this[t]=e&255,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},s.prototype.writeInt32BE=function(e,t,n){return e=+e,t>>>=0,n||v(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=e&255,t+4},s.prototype.writeBigInt64LE=C(function(e,t=0){return be(this,e,t,-BigInt(`0x8000000000000000`),BigInt(`0x7fffffffffffffff`))}),s.prototype.writeBigInt64BE=C(function(e,t=0){return xe(this,e,t,-BigInt(`0x8000000000000000`),BigInt(`0x7fffffffffffffff`))});function Se(e,t,n,r,i,a){if(n+r>e.length||n<0)throw RangeError(`Index out of range`)}function Ce(e,t,r,i,a){return t=+t,r>>>=0,a||Se(e,t,r,4,34028234663852886e22,-34028234663852886e22),n.write(e,t,r,i,23,4),r+4}s.prototype.writeFloatLE=function(e,t,n){return Ce(this,e,t,!0,n)},s.prototype.writeFloatBE=function(e,t,n){return Ce(this,e,t,!1,n)};function we(e,t,r,i,a){return t=+t,r>>>=0,a||Se(e,t,r,8,17976931348623157e292,-17976931348623157e292),n.write(e,t,r,i,52,8),r+8}s.prototype.writeDoubleLE=function(e,t,n){return we(this,e,t,!0,n)},s.prototype.writeDoubleBE=function(e,t,n){return we(this,e,t,!1,n)},s.prototype.copy=function(e,t,n,r){if(!s.isBuffer(e))throw TypeError(`argument should be a Buffer`);if(n||=0,!r&&r!==0&&(r=this.length),t>=e.length&&(t=e.length),t||=0,r>0&&r<n&&(r=n),r===n||e.length===0||this.length===0)return 0;if(t<0)throw RangeError(`targetStart out of bounds`);if(n<0||n>=this.length)throw RangeError(`Index out of range`);if(r<0)throw RangeError(`sourceEnd out of bounds`);r>this.length&&(r=this.length),e.length-t<r-n&&(r=e.length-t+n);let i=r-n;return this===e&&typeof Uint8Array.prototype.copyWithin==`function`?this.copyWithin(t,n,r):Uint8Array.prototype.set.call(e,this.subarray(n,r),t),i},s.prototype.fill=function(e,t,n,r){if(typeof e==`string`){if(typeof t==`string`?(r=t,t=0,n=this.length):typeof n==`string`&&(r=n,n=this.length),r!==void 0&&typeof r!=`string`)throw TypeError(`encoding must be a string`);if(typeof r==`string`&&!s.isEncoding(r))throw TypeError(`Unknown encoding: `+r);if(e.length===1){let t=e.charCodeAt(0);(r===`utf8`&&t<128||r===`latin1`)&&(e=t)}}else typeof e==`number`?e&=255:typeof e==`boolean`&&(e=Number(e));if(t<0||this.length<t||this.length<n)throw RangeError(`Out of range index`);if(n<=t)return this;t>>>=0,n=n===void 0?this.length:n>>>0,e||=0;let i;if(typeof e==`number`)for(i=t;i<n;++i)this[i]=e;else{let a=s.isBuffer(e)?e:s.from(e,r),o=a.length;if(o===0)throw TypeError(`The value "`+e+`" is invalid for argument "value"`);for(i=0;i<n-t;++i)this[i+t]=a[i%o]}return this};var y={};function Te(e,t,n){y[e]=class extends n{constructor(){super(),Object.defineProperty(this,`message`,{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(e){Object.defineProperty(this,`code`,{configurable:!0,enumerable:!0,value:e,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}Te(`ERR_BUFFER_OUT_OF_BOUNDS`,function(e){return e?`${e} is outside of buffer bounds`:`Attempt to access memory outside buffer bounds`},RangeError),Te(`ERR_INVALID_ARG_TYPE`,function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError),Te(`ERR_OUT_OF_RANGE`,function(e,t,n){let r=`The value of "${e}" is out of range.`,i=n;return Number.isInteger(n)&&Math.abs(n)>2**32?i=Ee(String(n)):typeof n==`bigint`&&(i=String(n),(n>BigInt(2)**BigInt(32)||n<-(BigInt(2)**BigInt(32)))&&(i=Ee(i)),i+=`n`),r+=` It must be ${t}. Received ${i}`,r},RangeError);function Ee(e){let t=``,n=e.length,r=+(e[0]===`-`);for(;n>=r+4;n-=3)t=`_${e.slice(n-3,n)}${t}`;return`${e.slice(0,n)}${t}`}function De(e,t,n){b(t,`offset`),(e[t]===void 0||e[t+n]===void 0)&&ke(t,e.length-(n+1))}function Oe(e,t,n,r,i,a){if(e>n||e<t){let r=typeof t==`bigint`?`n`:``,i;throw i=a>3?t===0||t===BigInt(0)?`>= 0${r} and < 2${r} ** ${(a+1)*8}${r}`:`>= -(2${r} ** ${(a+1)*8-1}${r}) and < 2 ** ${(a+1)*8-1}${r}`:`>= ${t}${r} and <= ${n}${r}`,new y.ERR_OUT_OF_RANGE(`value`,i,e)}De(r,i,a)}function b(e,t){if(typeof e!=`number`)throw new y.ERR_INVALID_ARG_TYPE(t,`number`,e)}function ke(e,t,n){throw Math.floor(e)===e?t<0?new y.ERR_BUFFER_OUT_OF_BOUNDS:new y.ERR_OUT_OF_RANGE(n||`offset`,`>= ${+!!n} and <= ${t}`,e):(b(e,n),new y.ERR_OUT_OF_RANGE(n||`offset`,`an integer`,e))}var Ae=/[^+/0-9A-Za-z-_]/g;function je(e){if(e=e.split(`=`)[0],e=e.trim().replace(Ae,``),e.length<2)return``;for(;e.length%4!=0;)e+=`=`;return e}function Me(e,t){t||=1/0;let n,r=e.length,i=null,a=[];for(let o=0;o<r;++o){if(n=e.charCodeAt(o),n>55295&&n<57344){if(!i){if(n>56319){(t-=3)>-1&&a.push(239,191,189);continue}else if(o+1===r){(t-=3)>-1&&a.push(239,191,189);continue}i=n;continue}if(n<56320){(t-=3)>-1&&a.push(239,191,189),i=n;continue}n=(i-55296<<10|n-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,n<128){if(--t<0)break;a.push(n)}else if(n<2048){if((t-=2)<0)break;a.push(n>>6|192,n&63|128)}else if(n<65536){if((t-=3)<0)break;a.push(n>>12|224,n>>6&63|128,n&63|128)}else if(n<1114112){if((t-=4)<0)break;a.push(n>>18|240,n>>12&63|128,n>>6&63|128,n&63|128)}else throw Error(`Invalid code point`)}return a}function Ne(e){let t=[];for(let n=0;n<e.length;++n)t.push(e.charCodeAt(n)&255);return t}function Pe(e,t){let n,r,i,a=[];for(let o=0;o<e.length&&!((t-=2)<0);++o)n=e.charCodeAt(o),r=n>>8,i=n%256,a.push(i),a.push(r);return a}function Fe(e){return t.toByteArray(je(e))}function Ie(e,t,n,r){let i;for(i=0;i<r&&!(i+n>=t.length||i>=e.length);++i)t[i+n]=e[i];return i}function x(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function Le(e){return e!==e}var S=(function(){let e=`0123456789abcdef`,t=Array(256);for(let n=0;n<16;++n){let r=n*16;for(let i=0;i<16;++i)t[r+i]=e[n]+e[i]}return t})();function C(e){return typeof BigInt>`u`?w:e}function w(){throw Error(`BigInt not supported`)}}))(),at=8192,ot=2147483647,st=16,ct=1048576,lt=typeof TextEncoder<`u`?new TextEncoder:null,ut=e=>{if(e===null)return`null`;if(e===void 0)return`undefined`;let t=typeof e;if(t!==`object`)return t;let n=Object.prototype.toString.call(e).match(/\[object (\w+)\]/);return n?n[1].toLowerCase():`object`},dt=class{static{this.buffers=[]}static{this.positions=[]}static acquire(){if(this.buffers.length>0){let e=this.buffers.pop();return this.positions.pop()+7&4294967288,e.length-1024,e}return R.Buffer.allocUnsafe(at)}static release(e,t){e.length<=ct&&this.buffers.length<st&&(this.buffers.push(e),this.positions.push(t))}static clear(){this.buffers=[],this.positions=[]}},ft=class{constructor(){this.buffer=dt.acquire(),this.position=0,this.start=0,this.view=new DataView(this.buffer.buffer,this.buffer.byteOffset,this.buffer.byteLength)}release(){dt.release(this.buffer,this.position)}};function z(e,t){let n=e.position+t;if(n>e.buffer.length){let t=Math.min(Math.max(e.buffer.length*2,n),ot),r=R.Buffer.allocUnsafe(t);e.buffer.copy(r,0,0,e.position),e.buffer=r,e.view=new DataView(e.buffer.buffer,e.buffer.byteOffset,e.buffer.byteLength)}}var pt=class{constructor(e){this.encodingTypes=e,this.encodeDepth=0,this.state=new ft}encode(e){let t=this.encodeDepth>0;if(this.encodeDepth++,t){let t=this.state;this.state=new ft,this._encode(e);let n=this.state.buffer.subarray(0,this.state.position),r=R.Buffer.allocUnsafe(n.length);return n.copy(r),this.state.release(),this.state=t,this.encodeDepth--,r}else{this.state.position=0,this.state.start=0,this._encode(e);let t=this.state.buffer.subarray(0,this.state.position),n=R.Buffer.allocUnsafe(t.length);return t.copy(n),this.state.release(),this.state=new ft,this.encodeDepth--,n}}_encode(e){let t=typeof e,n=this.state;switch(t){case`undefined`:z(n,3),n.buffer[n.position]=212,n.buffer[n.position+1]=0,n.buffer[n.position+2]=0,n.position+=3;return;case`boolean`:z(n,1),n.buffer[n.position++]=e?195:194;return;case`number`:this.encodeNumber(e);return;case`string`:this.encodeString(e);return;case`bigint`:this.encodeBigInt(e);return;default:break}e===null?(z(n,1),n.buffer[n.position++]=192):o(e)?this.encodeBuffer(e):Array.isArray(e)?this.encodeArray(e):s(e)?this.encodeObject(e):this.encodeCustom(e)}encodeUndefined(){let e=this.state;z(e,3);let t=e.buffer,n=e.position;t[n]=212,t[n+1]=0,t[n+2]=0,e.position=n+3}encodeNull(){let e=this.state;z(e,1),e.buffer[e.position++]=192}encodeBoolean(e){let t=this.state;z(t,1),t.buffer[t.position++]=e?195:194}encodeNumber(e){let t=this.state,n=t.position;if(e>>>0===e)if(e<128)z(t,1),t.buffer[n++]=e;else if(e<256){z(t,2);let r=t.buffer;r[n++]=204,r[n++]=e}else e<65536?(z(t,3),t.buffer[n++]=205,t.view.setUint16(n,e,!1),n+=2):(z(t,5),t.buffer[n++]=206,t.view.setUint32(n,e,!1),n+=4);else e>>0===e?e>=-32?(z(t,1),t.buffer[n++]=256+e):e>=-128?(z(t,2),t.buffer[n++]=208,t.view.setInt8(n++,e)):e>=-32768?(z(t,3),t.buffer[n++]=209,t.view.setInt16(n,e,!1),n+=2):(z(t,5),t.buffer[n++]=210,t.view.setInt32(n,e,!1),n+=4):(z(t,9),t.buffer[n++]=203,t.view.setFloat64(n,e,!1),n+=8);t.position=n}encodeString(e){let t=this.state,n=e.length;if(n<64){let r=!0,i=n;for(let t=0;t<n;t++)if(e.charCodeAt(t)>=128){r=!1;break}if(r)if(i<32){z(t,1+i);let r=t.buffer,a=t.position;r[a]=160|i;for(let t=0;t<n;t++)r[a+1+t]=e.charCodeAt(t);t.position=a+1+i;return}else{z(t,2+i);let r=t.buffer,a=t.position;r[a]=217,r[a+1]=i;for(let t=0;t<n;t++)r[a+2+t]=e.charCodeAt(t);t.position=a+2+i;return}}let r=R.Buffer.byteLength(e,`utf8`),i;i=r<32?1:r<=255?2:r<=65535?3:5,z(t,i+r);let a=t.buffer,o=t.position;if(r<32?a[o++]=160|r:r<=255?(a[o++]=217,a[o++]=r):r<=65535?(a[o++]=218,t.view.setUint16(o,r,!1),o+=2):(a[o++]=219,t.view.setUint32(o,r,!1),o+=4),lt&&r>0){let t=new Uint8Array(a.buffer,a.byteOffset+o,r),n=lt.encodeInto(e,t);o+=n.written}else r>0&&(a.write(e,o,r,`utf8`),o+=r);t.position=o}encodeBuffer(e){let t=this.state,n=e.length;if(n<=255){z(t,2+n);let r=t.buffer,i=t.position;r[i]=196,r[i+1]=n,e.copy(r,i+2),t.position=i+2+n}else if(n<=65535){z(t,3+n);let r=t.buffer,i=t.position;r[i]=197,t.view.setUint16(i+1,n,!1),e.copy(r,i+3),t.position=i+3+n}else{z(t,5+n);let r=t.buffer,i=t.position;r[i]=198,t.view.setUint32(i+1,n,!1),e.copy(r,i+5),t.position=i+5+n}}encodeArray(e){let t=this.state,n=e.length,r=t.position;n<16?(z(t,1),t.buffer[r++]=144|n,t.position=r):n<65536?(z(t,3),t.buffer[r++]=220,t.view.setUint16(r,n,!1),t.position=r+2):(z(t,5),t.buffer[r++]=221,t.view.setUint32(r,n,!1),t.position=r+4);for(let t=0;t<n;t++)this._encode(e[t])}encodeObject(e){let t=this.state,n=Object.keys(e),r=n.length,i=t.position;r<16?(z(t,1),t.buffer[i++]=128|r,t.position=i):(z(t,3),t.buffer[i++]=222,t.view.setUint16(i,r,!1),t.position=i+2);for(let t=0;t<r;t++){let r=n[t];this.encodeString(r),this._encode(e[r])}}encodeBigInt(e){let t=this.encodingTypes.get(120);if(!t)throw Error(`BigInt encoder not registered`);let n=this.state.position,r=t.encode(e);this.state.position=n,this.encodeExtension(120,r)}encodeCustom(e){for(let[t,n]of this.encodingTypes.entries())if(n.check(e)){let r=n.encode(e);this.encodeExtension(t,r);return}throw Error(`Not supported: ${ut(e)}`)}encodeExtension(e,t){let n=this.state,r=t.length;if(r===1){z(n,3);let r=n.buffer,i=n.position;r[i]=212,r[i+1]=e,r[i+2]=t[0],n.position=i+3}else if(r===2){z(n,4);let r=n.buffer,i=n.position;r[i]=213,r[i+1]=e,t.copy(r,i+2),n.position=i+4}else if(r===4){z(n,6);let r=n.buffer,i=n.position;r[i]=214,r[i+1]=e,t.copy(r,i+2),n.position=i+6}else if(r===8){z(n,10);let r=n.buffer,i=n.position;r[i]=215,r[i+1]=e,t.copy(r,i+2),n.position=i+10}else if(r===16){z(n,18);let r=n.buffer,i=n.position;r[i]=216,r[i+1]=e,t.copy(r,i+2),n.position=i+18}else if(r<256){z(n,3+r);let i=n.buffer,a=n.position;i[a]=199,i[a+1]=r,i[a+2]=e,t.copy(i,a+3),n.position=a+3+r}else if(r<65536){z(n,4+r);let i=n.buffer,a=n.position;i[a]=200,n.view.setUint16(a+1,r,!1),i[a+3]=e,t.copy(i,a+4),n.position=a+4+r}else{z(n,6+r);let i=n.buffer,a=n.position;i[a]=201,n.view.setUint32(a+1,r,!1),i[a+5]=e,t.copy(i,a+6),n.position=a+6+r}}},mt=class e{constructor(e=128){this._roffset=0,this.capacity=e,this.buffer=R.Buffer.allocUnsafe(e),this.position=0}static fromBuffer(t){let n=new e(t.length);return n.buffer=t,n.capacity=t.length,n.position=t.length,n._roffset=0,n}static wrap(t){let n=R.Buffer.isBuffer(t)?t:R.Buffer.from(t);return e.fromBuffer(n)}ensure(e){let t=this.position+e;if(t>this.capacity){let e=Math.max(this.capacity*2,t),n=R.Buffer.allocUnsafe(e);this.buffer.copy(n,0,0,this.position),this.buffer=n,this.capacity=e}}writeUInt8(e){this.ensure(1),this.buffer[this.position++]=e}writeInt8(e){this.ensure(1),this.buffer.writeInt8(e,this.position),this.position++}writeUInt16BE(e){this.ensure(2),this.buffer.writeUInt16BE(e,this.position),this.position+=2}writeInt16BE(e){this.ensure(2),this.buffer.writeInt16BE(e,this.position),this.position+=2}writeUInt32BE(e){this.ensure(4),this.buffer.writeUInt32BE(e,this.position),this.position+=4}writeInt32BE(e){this.ensure(4),this.buffer.writeInt32BE(e,this.position),this.position+=4}writeUInt64BE(e){if(this.ensure(8),typeof e==`number`){let t=Math.floor(e/4294967296),n=e>>>0;this.buffer.writeUInt32BE(t,this.position),this.buffer.writeUInt32BE(n,this.position+4)}else this.buffer.writeUInt32BE(e.high>>>0,this.position),this.buffer.writeUInt32BE(e.low>>>0,this.position+4);this.position+=8}writeInt64BE(e){if(this.ensure(8),typeof e==`number`){let t=Math.floor(e/4294967296),n=e>>>0;this.buffer.writeInt32BE(t,this.position),this.buffer.writeUInt32BE(n,this.position+4)}else this.buffer.writeInt32BE(e.high,this.position),this.buffer.writeUInt32BE(e.low>>>0,this.position+4);this.position+=8}writeDoubleBE(e){this.ensure(8),this.buffer.writeDoubleBE(e,this.position),this.position+=8}writeFloatBE(e){this.ensure(4),this.buffer.writeFloatBE(e,this.position),this.position+=4}write(e,t,n){if(typeof e==`string`){let r=n||R.Buffer.byteLength(e,t);this.ensure(r),this.buffer.write(e,this.position,r,t),this.position+=r}else{let t=n||e.length;this.ensure(t),e.copy(this.buffer,this.position,0,t),this.position+=t}return this}get roffset(){return this._roffset}set roffset(e){this._roffset=e}get woffset(){return this.position}set woffset(e){this.position=e}get length(){return this.position-this._roffset}readUInt8(e){let t=e===void 0?this._roffset:e;if(!(t>=this.position))return e===void 0&&this._roffset++,this.buffer[t]}readInt8(e){let t=e===void 0?this._roffset:e;return e===void 0&&this._roffset++,this.buffer.readInt8(t)}readUInt16BE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readUInt16BE(t);return e===void 0&&(this._roffset+=2),n}readInt16BE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readInt16BE(t);return e===void 0&&(this._roffset+=2),n}readUInt32BE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readUInt32BE(t);return e===void 0&&(this._roffset+=4),n}readInt32BE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readInt32BE(t);return e===void 0&&(this._roffset+=4),n}readUInt64BE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readUInt32BE(t),r=this.buffer.readUInt32BE(t+4);return e===void 0&&(this._roffset+=8),E.fromBits(r,n,!0)}readInt64BE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readInt32BE(t),r=this.buffer.readUInt32BE(t+4);return e===void 0&&(this._roffset+=8),E.fromBits(r,n,!1)}readDoubleBE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readDoubleBE(t);return e===void 0&&(this._roffset+=8),n}readFloatBE(e){let t=e===void 0?this._roffset:e,n=this.buffer.readFloatBE(t);return e===void 0&&(this._roffset+=4),n}toString(e,t,n){return this.buffer.toString(e,t,n)}slice(t,n){let r=new e(n-t);return this.buffer.copy(r.buffer,0,t,n),r.position=n-t,r}skipRead(e){this._roffset+=e}getRemainingBuffer(){return this.buffer.slice(this._roffset,this.position)}toBuffer(){return this.buffer.slice(0,this.position)}},ht=class{constructor(e){this.decodingTypes=e,this.lastBytesConsumed=0,this.view=null}decode(e){if(e.length===0)throw this.lastBytesConsumed=0,Error(`Incomplete buffer`);let t=this.view;this.view=new DataView(e.buffer,e.byteOffset,e.byteLength);try{let t=this.tryDecode(e,0);if(t===void 0&&this.lastBytesConsumed===0)throw this.lastBytesConsumed=this.getMinHeaderSize(e[0]),this.lastBytesConsumed>e.length&&(this.lastBytesConsumed=e.length),Error(`Incomplete buffer`);return t}finally{this.view=t}}getLastBytesConsumed(e){return this.lastBytesConsumed}getMinHeaderSize(e){return e<128||e>=224||e>=160&&e<=191||e>=144&&e<=159||e>=128&&e<=143||e===192||e===194||e===195?1:e===196||e===199||e===204||e===208||e===212?2:e===197||e===200||e===205||e===209||e===213||e===217?3:e===210?4:e===202||e===198||e===201||e===206||e===214||e===218||e===220?5:e===211?6:e===203||e===215||e===219||e===221?9:e===216?10:e===217?18:1}tryDecode(e,t){let n=e.length;if(t>=n){this.lastBytesConsumed=0;return}let r=e[t],i=this.view;if(r<160){if(r<128)return this.lastBytesConsumed=1,r;if(r<144){let n=r&15;return this.decodeMap(e,t+1,n,1)}else{let n=r&15;return this.decodeArray(e,t+1,n,1)}}else if(r<192){let i=r&31;if(t+1+i>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=1+i,e.toString(`utf8`,t+1,t+1+i)}if(r>=224)return this.lastBytesConsumed=1,r-256;if(r===192)return this.lastBytesConsumed=1,null;if(r===194)return this.lastBytesConsumed=1,!1;if(r===195)return this.lastBytesConsumed=1,!0;if(r>=204&&r<=207)if(r===204){if(t+2>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=2,e[t+1]}else if(r===205){if(t+3>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=3,i.getUint16(t+1,!1)}else if(r===206){if(t+5>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=5,i.getUint32(t+1,!1)}else{if(t+9>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=9,i.getUint32(t+1,!1)*4294967296+i.getUint32(t+5,!1)}if(r>=208&&r<=211)if(r===208){if(t+2>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=2,i.getInt8(t+1)}else if(r===209){if(t+3>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=3,i.getInt16(t+1,!1)}else if(r===210){if(t+5>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=5,i.getInt32(t+1,!1)}else{if(t+9>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=9,i.getInt32(t+1,!1)*4294967296+i.getUint32(t+5,!1)}if(r===202){if(t+5>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=5,i.getFloat32(t+1,!1)}if(r===203){if(t+9>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=9,i.getFloat64(t+1,!1)}if(r===217){if(t+2>n){this.lastBytesConsumed=0;return}let r=e[t+1];if(t+2+r>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=2+r,e.toString(`utf8`,t+2,t+2+r)}if(r===218){if(t+3>n){this.lastBytesConsumed=0;return}let r=i.getUint16(t+1,!1);if(t+3+r>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=3+r,e.toString(`utf8`,t+3,t+3+r)}if(r===219){if(t+5>n){this.lastBytesConsumed=0;return}let r=i.getUint32(t+1,!1);if(t+5+r>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=5+r,e.toString(`utf8`,t+5,t+5+r)}let a;switch(r){case 196:if(t+2>n){this.lastBytesConsumed=0;return}if(a=e[t+1],t+2+a>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=2+a,e.slice(t+2,t+2+a);case 197:if(t+3>n){this.lastBytesConsumed=0;return}if(a=i.getUint16(t+1,!1),t+3+a>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=3+a,e.slice(t+3,t+3+a);case 198:if(t+5>n){this.lastBytesConsumed=0;return}if(a=i.getUint32(t+1,!1),t+5+a>n){this.lastBytesConsumed=0;return}return this.lastBytesConsumed=5+a,e.slice(t+5,t+5+a);case 220:if(t+3>n){this.lastBytesConsumed=0;return}return a=i.getUint16(t+1,!1),this.decodeArray(e,t+3,a,3);case 221:if(t+5>n){this.lastBytesConsumed=0;return}return a=i.getUint32(t+1,!1),this.decodeArray(e,t+5,a,5);case 222:if(t+3>n){this.lastBytesConsumed=0;return}return a=i.getUint16(t+1,!1),this.decodeMap(e,t+3,a,3);case 223:throw Error(`map too big to decode in JS`);case 212:return this.decodeFixExt(e,t,1,3);case 213:return this.decodeFixExt(e,t,2,4);case 214:return this.decodeFixExt(e,t,4,6);case 215:return this.decodeFixExt(e,t,8,10);case 216:return this.decodeFixExt(e,t,16,18);case 199:if(t+3>n){this.lastBytesConsumed=0;return}return a=e[t+1],this.decodeExt(e,t,a,3);case 200:if(t+4>n){this.lastBytesConsumed=0;return}return a=i.getUint16(t+1,!1),this.decodeExt(e,t,a,4);case 201:if(t+6>n){this.lastBytesConsumed=0;return}return a=i.getUint32(t+1,!1),this.decodeExt(e,t,a,6);default:throw Error(`Unknown MessagePack type: 0x${r.toString(16)}`)}}decodeArray(e,t,n,r){let i=[],a=0;for(let r=0;r<n;r++){let n=this.tryDecode(e,t+a);if(n===void 0&&this.lastBytesConsumed===0){this.lastBytesConsumed=0;return}i.push(n),a+=this.lastBytesConsumed}return this.lastBytesConsumed=r+a,i}decodeMap(e,t,n,r){let i={},a=0;for(let r=0;r<n;r++){let n=this.tryDecode(e,t+a);if(n===void 0&&this.lastBytesConsumed===0){this.lastBytesConsumed=0;return}a+=this.lastBytesConsumed;let r=this.tryDecode(e,t+a);if(r===void 0&&this.lastBytesConsumed===0){this.lastBytesConsumed=0;return}a+=this.lastBytesConsumed,i[n]=r}return this.lastBytesConsumed=r+a,i}decodeFixExt(e,t,n,r){if(t+r>e.length){this.lastBytesConsumed=0;return}let i=e[t+1];return this.decodeExtData(e,t+2,i,n,r)}decodeExt(e,t,n,r){if(t+r+n>e.length){this.lastBytesConsumed=0;return}let i=e[t+r-1];return this.decodeExtData(e,t+r,i,n,r+n)}decodeExtData(e,t,n,r,i){let a=this.decodingTypes.get(n);if(a){let n=e.slice(t,t+r),o=a(mt.fromBuffer(n));return this.lastBytesConsumed=i,o}if(n===0&&r===1&&e[t]===0){this.lastBytesConsumed=i;return}throw Error(`Unable to find ext type ${n}`)}},gt=class{constructor(e=64){this.initialCapacity=e,this.encodingTypes=new Map,this.decodingTypes=new Map,this.encoder=new pt(this.encodingTypes),this.decoder=new ht(this.decodingTypes)}registerEncoder(e,t,n){return this.encodingTypes.set(e,{check:t,encode:n}),this}registerDecoder(e,t){return this.decodingTypes.set(e,t),this}register(e,t,n,r){if(e<0||e>127)throw RangeError(`Bad type: 0 <= ${e} <= 127`);return this.registerEncoder(e,e=>e instanceof t,e=>{let t=new mt(this.initialCapacity);return n(e,t),t.toBuffer()}),this.registerDecoder(e,r),this}encode(e,t){let n=this.encoder.encode(e);if(t){t.write(n);return}else{let e=n;e.toBuffer=function(){return this};let t=e.write;return e.write=function(e,n,r,i){return R.Buffer.isBuffer(e)?(this.copy(e,n||0),this.length):t.call(this,e,n,r,i)},e}}decode(e){if(e&&typeof e.getRemainingBuffer==`function`&&typeof e.skipRead==`function`){let t=e.getRemainingBuffer();try{return this.decoder.decode(t)}finally{let n=this.decoder.getLastBytesConsumed(t);e.skipRead(n)}}if(e&&typeof e.toBuffer==`function`&&typeof e.read==`function`&&typeof e.readUInt8==`function`){let t=e.roffset||0;try{return this.decoder.decode(e.toBuffer().slice(t))}finally{e.roffset=t+this.decoder.getLastBytesConsumed()}}return R.Buffer.isBuffer(e)?this.decoder.decode(e):e&&typeof e.toBuffer==`function`?this.decoder.decode(e.toBuffer()):this.decoder.decode(e)}},_t={},vt={},yt=[],bt={1:Error,2:SyntaxError,3:TypeError,4:ReferenceError,5:RangeError,6:EvalError,7:URIError},xt=Object.keys(bt).map(e=>+e);for(let e=0;e<xt.length;e++){let t=xt[e],n=bt[t];_t[n]=t,yt.push(n),vt[n.name]=t}var St=(e,t,n)=>{let r=new bt[e](t);return r.stack=n,r},Ct=e=>vt[e.constructor.name]??vt[Error.name],wt=e=>{e.register(126,Error,(t,n)=>{n.writeUInt16BE(Ct(t)),e.encode(t.name,n),e.encode(t.stack,n),e.encode(t.message,n);let r=Object.keys(t).filter(e=>![`stack`,`message`,`name`].includes(e)&&t[e]!==void 0);n.writeUInt16BE(r.length);for(let i of r)e.encode(i,n),e.encode(t[i],n)},t=>{let n=t.readUInt16BE(),r=e.decode(t),i=e.decode(t),a=St(n,e.decode(t),i);a.name=r;let o=t.readUInt16BE();for(let n=0;n<o;n++){let n=e.decode(t);a[n]=e.decode(t)}return a}),e.register(125,Date,(e,t)=>{t.writeUInt64BE(e.getTime())},e=>new Date(e.readUInt64BE().toNumber())),e.register(124,Map,(t,n)=>{n.writeUInt32BE(t.size);for(let[r,i]of t.entries())e.encode(r,n),e.encode(i,n)},t=>{let n=new Map,r=t.readUInt32BE();for(let i=0;i<r;i++){let r=e.decode(t),i=e.decode(t);n.set(r,i)}return n}),e.register(123,Set,(t,n)=>{n.writeUInt32BE(t.size);for(let r of t.values())e.encode(r,n)},t=>{let n=new Set,r=t.readUInt32BE();for(let i=0;i<r;i++){let r=e.decode(t);n.add(r)}return n}),e.register(121,RegExp,(t,n)=>{e.encode(t.source,n),e.encode(t.flags,n)},t=>{let n=e.decode(t),r=e.decode(t);return new RegExp(n,r)}),e.register(120,BigInt,(t,n)=>{let r=t.toString();e.encode(r,n)},t=>{let n=e.decode(t);return BigInt(n)}),e.register(119,E,(e,t)=>{t.writeInt8(+!!e.unsigned),e.unsigned?t.writeUInt64BE(e):t.writeInt64BE(e)},e=>e.readInt8()?e.readUInt64BE():e.readInt64BE())};wt(new gt);var Tt=Object.defineProperty,Et=Object.getOwnPropertyNames,B=(e,t)=>function(){return e&&(t=(0,e[Et(e)[0]])(e=0)),t},Dt=(e,t)=>{for(var n in t)Tt(e,n,{get:t[n],enumerable:!0})},Ot,kt=B({"src/core/reference.ts"(){Ot=class{constructor(e){if(this.defId=e,!e||typeof e!=`string`)throw Error(`Service definition ID must be a non-empty string`)}defId}}});function At(e){return e>=200&&e<300?`success`:e===401||e===407||e===403?`auth`:e===422?`validation`:e===429?`rate_limit`:e>=400&&e<500?`client`:e>=500&&e<600?`server`:`custom`}function jt(e){return e===408||e===429||e===500||e===502||e===503||e===504||e===507||e===511}function Mt(e){return{400:`The request is invalid`,401:`Authentication is required`,403:`You do not have permission to access this resource`,404:`The requested resource was not found`,405:`The requested method is not allowed`,408:`The request timed out`,409:`A conflict occurred`,413:`The request payload is too large`,414:`The request URI is too long`,415:`The media type is not supported`,418:`I'm a teapot`,422:`The request could not be processed`,429:`Too many requests, please try again later`,500:`An internal server error occurred`,501:`The requested functionality is not implemented`,502:`Bad gateway`,503:`The service is temporarily unavailable`,504:`Gateway timeout`,600:`Multiple errors occurred`,601:`An unknown error occurred`}[e]||`Error ${e}`}var Nt=B({"src/errors/codes.ts"(){}}),V,Pt=B({"src/errors/core.ts"(){Nt(),V=class e extends Error{code;category;httpStatus;details;context;timestamp;requestId;correlationId;spanId;traceId;constructor(t){let n=t.message||Mt(t.code);super(n),this.name=`TitanError`,this.code=t.code,this.category=At(t.code),this.httpStatus=t.code,this.details=t.details||{},this.context=t.context||{},this.timestamp=Date.now(),this.requestId=t.requestId,this.correlationId=t.correlationId,this.spanId=t.spanId,this.traceId=t.traceId,t.cause&&(this.cause=t.cause),Object.setPrototypeOf(this,e.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,e),t.cause instanceof Error&&t.cause.stack&&(this.stack=`${this.stack}
2
- Caused by: ${t.cause.stack}`)}static isTitanError(t){return t instanceof e}isRetryable(){return jt(this.code)}getRetryStrategy(){return this.isRetryable()?this.code===429?{shouldRetry:!0,delay:(this.details?.retryAfter||60)*1e3,maxAttempts:3}:{shouldRetry:!0,delay:1e3,maxAttempts:3,backoffFactor:2}:{shouldRetry:!1,delay:0,maxAttempts:0}}toJSON(){return{name:this.name,code:this.code,category:this.category,message:this.message,details:this.details,context:this.context,timestamp:this.timestamp,requestId:this.requestId,correlationId:this.correlationId,spanId:this.spanId,traceId:this.traceId}}withContext(t){return new e({code:this.code,message:this.message,details:this.details,context:{...this.context,...t},requestId:this.requestId,correlationId:this.correlationId,spanId:this.spanId,traceId:this.traceId})}withDetails(t){return new e({code:this.code,message:this.message,details:{...this.details,...t},context:this.context,requestId:this.requestId,correlationId:this.correlationId,spanId:this.spanId,traceId:this.traceId})}static fromJSON(t){return new e({code:t.code,message:t.message,details:t.details,context:t.context,requestId:t.requestId,correlationId:t.correlationId,spanId:t.spanId,traceId:t.traceId})}}}}),H,Ft,It,Lt,Rt,zt,Bt,U,Vt=B({"src/errors/netron.ts"(){Pt(),H=class e extends V{serviceId;methodName;peerId;constructor(t){super(t),this.name=`NetronError`,this.serviceId=t.serviceId,this.methodName=t.methodName,this.peerId=t.peerId,Object.setPrototypeOf(this,e.prototype)}toJSON(){return{...super.toJSON(),serviceId:this.serviceId,methodName:this.methodName,peerId:this.peerId}}},Ft=class e extends H{constructor(t,n){super({code:404,message:`Service not found: ${t}`,details:n,serviceId:t}),this.name=`ServiceNotFoundError`,Object.setPrototypeOf(this,e.prototype)}static create(t){return new e(t)}},It=class e extends H{constructor(t,n,r){super({code:404,message:`Method not found: ${t}.${n}`,details:r,serviceId:t,methodName:n}),this.name=`MethodNotFoundError`,Object.setPrototypeOf(this,e.prototype)}static create(t,n){return new e(t,n)}},Lt=class e extends H{transport;address;constructor(t){super(t),this.name=`TransportError`,this.transport=t.transport,this.address=t.address,Object.setPrototypeOf(this,e.prototype)}static connectionFailed(t,n,r){return new e({code:503,message:`Failed to connect to ${n} via ${t}`,transport:t,address:n,cause:r})}static connectionTimeout(t,n){return new e({code:408,message:`Connection timeout to ${n} via ${t}`,transport:t,address:n})}static connectionClosed(t,n){return new e({code:503,message:n||`Connection closed unexpectedly`,transport:t,details:{reason:n}})}toJSON(){return{...super.toJSON(),transport:this.transport,address:this.address}}},Rt=class e extends H{constructor(t){super(t),this.name=`PeerError`,Object.setPrototypeOf(this,e.prototype)}static notFound(t){return new e({code:404,message:`Peer not found: ${t}`,peerId:t})}static disconnected(t,n){return new e({code:503,message:`Peer disconnected: ${t}${n?` (${n})`:``}`,peerId:t,details:{reason:n}})}static unauthorized(t){return new e({code:401,message:`Peer not authorized: ${t}`,peerId:t})}},zt=class e extends H{rpcId;constructor(t){super(t),this.name=`RpcError`,this.rpcId=t.rpcId,Object.setPrototypeOf(this,e.prototype)}static timeout(t,n,r){return new e({code:408,message:`RPC call ${t}.${n} timed out after ${r}ms`,serviceId:t,methodName:n,details:{timeout:r}})}static invalidRequest(t,n){return new e({code:400,message:`Invalid RPC request: ${t}`,details:n})}static invalidResponse(t,n,r){return new e({code:500,message:`Invalid RPC response from ${t}.${n}`,serviceId:t,methodName:n,details:r})}toJSON(){return{...super.toJSON(),rpcId:this.rpcId}}},Bt=class e extends H{streamId;constructor(t){super(t),this.name=`StreamError`,this.streamId=t.streamId,Object.setPrototypeOf(this,e.prototype)}static closed(t,n){return new e({code:410,message:`Stream closed: ${t}${n?` (${n})`:``}`,streamId:t,details:{reason:n}})}static error(t,n){return new e({code:500,message:`Stream error: ${n.message}`,streamId:t,cause:n})}static backpressure(t,n){return new e({code:429,message:`Stream backpressure: buffer size ${n}`,streamId:t,details:{bufferSize:n}})}toJSON(){return{...super.toJSON(),streamId:this.streamId}}},U=class e extends H{serializationType;constructor(t){super(t),this.name=`SerializationError`,this.serializationType=t.serializationType,Object.setPrototypeOf(this,e.prototype)}static encode(t,n){return new e({code:500,message:`Failed to encode value: ${typeof t}`,serializationType:`encode`,cause:n})}static decode(t,n){return new e({code:400,message:n?.message??`Failed to decode data`,serializationType:`decode`,cause:n})}toJSON(){return{...super.toJSON(),serializationType:this.serializationType}}}}}),Ht=B({"src/errors/serialization.ts"(){}}),W,Ut=B({"src/errors/factories.ts"(){Pt(),Vt(),W={serviceNotFound(e){return Ft.create(e)},methodNotFound(e,t){return It.create(e,t)},connectionFailed(e,t,n){return Lt.connectionFailed(e,t,n)},connectionTimeout(e,t){return Lt.connectionTimeout(e,t)},connectionClosed(e,t){return Lt.connectionClosed(e,t)},peerNotFound(e){return Rt.notFound(e)},peerDisconnected(e,t){return Rt.disconnected(e,t)},peerUnauthorized(e){return Rt.unauthorized(e)},rpcTimeout(e,t,n){return zt.timeout(e,t,n)},invalidRequest(e,t){return zt.invalidRequest(e,t)},invalidResponse(e,t,n){return zt.invalidResponse(e,t,n)},streamClosed(e,t){return Bt.closed(e,t)},streamError(e,t){return Bt.error(e,t)},streamBackpressure(e,t){return Bt.backpressure(e,t)},serializeEncode(e,t){return U.encode(e,t)},serializeDecode(e,t){return U.decode(e,t)}}}}),G,Wt,Gt=B({"src/errors/legacy.ts"(){Vt(),G=class extends H{constructor(e,t){super({code:503,message:e,details:t}),this.name=`ConnectionError`}},Wt=class extends H{constructor(e,t){super({code:408,message:e,details:t}),this.name=`TimeoutError`}}}}),K=B({"src/errors/index.ts"(){Nt(),Pt(),Vt(),Ht(),Ut(),Gt(),Pt(),Vt(),Ut()}}),Kt,qt,Jt,Yt,Xt,Zt=B({"src/core/readable-stream.ts"(){K(),Kt=1e4,qt=16,Jt=1024,Yt=3e4,Xt=class e extends ReadableStream{peer;buffer=new Map;expectedIndex=0;timeout;id;isComplete=!1;isLive;events=new m;controller;state=`IDLE`;highWaterMark;maxBufferSize;onErrorCallback;metrics={bytesReceived:0,packetsReceived:0,backpressureEvents:0,bufferPeakSize:0,currentBufferSize:0,estimatedMemoryUsage:0,state:`IDLE`,isPaused:!1};cleanupInterval;constructor({peer:e,streamId:t,isLive:n=!1,highWaterMark:r=qt,maxBufferSize:i=Kt,onError:a}){let o;super({start(e){o=e},pull(){},cancel(e){console.log(`Stream ${t} cancelled:`,e)}}),this.peer=e,this.id=t,this.isLive=n,this.highWaterMark=r,this.maxBufferSize=i,this.onErrorCallback=a,this.controller=o,this.peer.logger&&this.peer.logger.info({streamId:this.id,isLive:n,highWaterMark:r,maxBufferSize:i},`Creating readable stream`),this.peer.readableStreams.set(this.id,this),this.transitionState(`ACTIVE`),this.isLive||(this.resetTimeout(),this.startBufferCleanup()),this.events.on(`close`,this.cleanup),this.events.on(`error`,this.handleError)}transitionState(e){let t=this.state;if(!{IDLE:[`ACTIVE`,`CLOSED`,`ERROR`],ACTIVE:[`PAUSED`,`CLOSING`,`CLOSED`,`ERROR`],PAUSED:[`ACTIVE`,`CLOSING`,`ERROR`],CLOSING:[`CLOSED`,`ERROR`],CLOSED:[],ERROR:[`CLOSED`]}[t].includes(e)){let n=Error(`Invalid state transition: ${t} -> ${e} for stream ${this.id}`);this.peer.logger&&this.peer.logger.warn({streamId:this.id,oldState:t,newState:e},n.message)}this.state=e,this.metrics.state=e,this.metrics.isPaused=e===`PAUSED`,this.peer.logger&&this.peer.logger.debug({streamId:this.id,oldState:t,newState:e},`Stream state transition`),this.events.emit(`stateChange`,{oldState:t,newState:e})}startBufferCleanup(){this.cleanupInterval=setInterval(()=>{this.performBufferCleanup()},Yt)}performBufferCleanup(){if(!(this.state===`CLOSED`||this.state===`ERROR`)&&this.buffer.size>0){this.peer.logger&&this.peer.logger.debug({streamId:this.id,bufferSize:this.buffer.size},`Performing buffer cleanup`);let e=[];for(let[t]of Array.from(this.buffer.entries()))t<this.expectedIndex-100&&e.push(t);for(let t of e)this.buffer.delete(t),this.peer.logger&&this.peer.logger.warn({streamId:this.id,index:t},`Removed stale packet from buffer`);this.updateBufferMetrics()}}onPacket(e){if(this.state===`CLOSED`||this.state===`ERROR`){this.peer.logger&&this.peer.logger.warn({streamId:this.id,state:this.state},`Received packet for closed/errored stream`);return}if(this.state===`PAUSED`&&this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Received packet while paused`),this.resetTimeout(),this.metrics.packetsReceived++,e.data){let t=typeof e.data==`string`?e.data.length:e.data.byteLength??Jt;this.metrics.bytesReceived+=t}if(this.buffer.size>=this.maxBufferSize){this.peer.logger&&this.peer.logger.error({streamId:this.id,size:this.buffer.size},`Stream buffer overflow`);let e=W.streamBackpressure(String(this.id),this.buffer.size);this.handleStreamError(e,`FATAL`);return}for(this.peer.logger&&this.peer.logger.debug({streamId:this.id,index:e.streamIndex},`Processing packet`),(!e.isLastChunk()||e.data!==null)&&this.buffer.set(e.streamIndex,e.data),this.updateBufferMetrics(),this.checkBackpressure();this.buffer.has(this.expectedIndex);){let e=this.buffer.get(this.expectedIndex);this.buffer.delete(this.expectedIndex),this.expectedIndex++;try{this.controller?.enqueue(e)}catch{this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Stream backpressure detected`),this.buffer.set(this.expectedIndex-1,e),this.expectedIndex--,this.handleStreamError(Error(`Failed to enqueue chunk`),`RECOVERABLE`);break}}if(this.updateBufferMetrics(),e.isLastChunk()){this.peer.logger&&this.peer.logger.info({streamId:this.id},`Received last chunk`),this.isComplete=!0,this.transitionState(`CLOSING`);try{this.controller?.close(),this.transitionState(`CLOSED`)}catch{this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Error closing stream`)}}}updateBufferMetrics(){this.metrics.currentBufferSize=this.buffer.size,this.buffer.size>this.metrics.bufferPeakSize&&(this.metrics.bufferPeakSize=this.buffer.size),this.metrics.estimatedMemoryUsage=this.buffer.size*Jt}checkBackpressure(){let e=this.buffer.size>=this.highWaterMark;e&&this.state===`ACTIVE`?this.pause():!e&&this.state===`PAUSED`&&this.resume()}pause(){this.state===`ACTIVE`&&(this.peer.logger&&this.peer.logger.warn({streamId:this.id,bufferSize:this.buffer.size},`Pausing stream due to backpressure`),this.transitionState(`PAUSED`),this.metrics.backpressureEvents++,this.events.emit(`backpressure`,{bufferSize:this.buffer.size,highWaterMark:this.highWaterMark}))}resume(){this.state===`PAUSED`&&(this.peer.logger&&this.peer.logger.info({streamId:this.id},`Resuming stream after backpressure`),this.transitionState(`ACTIVE`),this.events.emit(`resume`))}get desiredSize(){return this.highWaterMark-this.buffer.size}get isPaused(){return this.state===`PAUSED`}getState(){return this.state}getMetrics(){return{...this.metrics}}handleStreamError(e,t){if(this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e,severity:t},`Stream error occurred`),this.onErrorCallback)try{this.onErrorCallback(e,t)}catch(e){this.peer.logger&&this.peer.logger.error({streamId:this.id,callbackError:e},`Error in onError callback`)}t===`FATAL`?this.destroy(e):this.events.emit(`error`,e)}resetTimeout(){if(this.isLive)return;this.timeout&&clearTimeout(this.timeout);let e=this.peer.options?.streamTimeout??6e4;this.peer.logger&&this.peer.logger.debug({streamId:this.id,timeoutDuration:e},`Resetting stream timeout`),this.timeout=setTimeout(()=>{let t=`Stream ${this.id} inactive for ${e}ms, closing.`;this.peer.logger&&this.peer.logger.warn(t),this.buffer.clear(),this.updateBufferMetrics(),this.destroy(W.streamClosed(String(this.id),t))},e)}closeStream(e=!1){if(this.state===`CLOSED`){this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to close already closed stream`);return}if(this.isLive&&!e){this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to close live stream`);return}this.peer.logger&&this.peer.logger.info({streamId:this.id,force:e},`Closing stream`),this.transitionState(`CLOSING`);try{this.controller?.close(),this.transitionState(`CLOSED`)}catch{this.transitionState(`CLOSED`)}this.isLive&&e&&this.destroy()}forceClose(e){if(this.state===`CLOSED`){this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to force close already closed stream`);return}this.peer.logger&&this.peer.logger.info({streamId:this.id,reason:e},`Force closing stream`),this.transitionState(`CLOSING`),this.isComplete=!0;try{this.controller?.close(),this.transitionState(`CLOSED`)}catch{this.transitionState(`CLOSED`)}setTimeout(()=>{this.events.emit(`close`),this.cleanup()},0)}cleanup=()=>{this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Cleaning up stream resources`),this.timeout&&=(clearTimeout(this.timeout),void 0),this.cleanupInterval&&=(clearInterval(this.cleanupInterval),void 0),this.peer.readableStreams.delete(this.id),this.buffer.clear(),this.updateBufferMetrics()};handleError=e=>{this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e},`Stream error occurred`),this.transitionState(`ERROR`),this.cleanup()};destroy(e){if(this.state===`CLOSED`){this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to destroy already closed stream`);return}if(this.peer.logger&&this.peer.logger.info({streamId:this.id,error:e},`Destroying stream`),e){this.transitionState(`ERROR`);try{this.controller?.error(e)}catch{}this.events.emit(`error`,e)}else{this.transitionState(`CLOSING`);try{this.controller?.close()}catch{}}this.transitionState(`CLOSED`),this.cleanup()}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}static create(t,n,r=!1){return new e({peer:t,streamId:n,isLive:r})}}}}),Qt,$t=B({"src/packet/constants.ts"(){Qt=2**53-1>>>0}}),en,tn=B({"src/packet/uid.ts"(){$t(),en=class{value=0;constructor(e=0){this.reset(e)}next(){return this.value=this.value===Qt?1:this.value+1,this.value}reset(e=0){this.value=e>>>0}}}}),nn,q,rn,an,on,sn,cn=B({"src/packet/types.ts"(){nn=0,q=3,rn=4,an=5,on=6,sn=7}}),ln,un,dn,fn,pn,mn,hn,gn,_n,vn,yn,bn,xn,J,Sn,Cn=B({"src/packet/packet.ts"(){tn(),cn(),ln=16,un=32,dn=64,fn=128,pn=(e,t)=>(1<<t)-1<<e,mn=(e,t,n)=>e&~pn(t,n),hn=(e,t,n,r)=>{let i=pn(n,r);return e&~i|t<<n&i},gn=(e,t,n)=>e>>t&(1<<n)-1,_n=0,vn=4,yn=4,bn=5,xn=new en,J=class{constructor(e){this.id=e}id;flags=0;data;streamId;streamIndex;setType(e){this.flags=hn(mn(this.flags,_n,vn),e,_n,vn)}getType(){return gn(this.flags,_n,vn)}setImpulse(e){this.flags=e?this.flags|dn:this.flags&~dn}getImpulse(){return this.flags&dn?1:0}setError(e){this.flags=e?this.flags|fn:this.flags&~fn}getError(){return this.flags&fn?1:0}setStreamInfo(e,t,n,r){this.streamId=e,this.streamIndex=t,this.flags=hn(hn(this.flags,+!!n,yn,1),+!!r,bn,1)}isStreamChunk(){return this.getType()===an}isLastChunk(){return(this.flags&ln)!==0}isLive(){return(this.flags&un)!==0}static nextId(){return xn.next()}static resetId(){xn.reset()}},Sn=(e,t,n,r)=>{let i=new J(e);return i.setImpulse(t),i.setType(n),i.data=r,i}}}),wn,Tn,En=B({"src/core/writable-stream.ts"(){tn(),Cn(),cn(),K(),wn=new en,Tn=class e extends WritableStream{id;peer;index=0;isLive;state=`IDLE`;events=new m;writeBuffer=[];highWaterMark;retryConfig;errorHandler;metrics={bytesSent:0,packetsSent:0,retryCount:0,failedWrites:0,bufferSize:0,state:`IDLE`};isProcessing=!1;constructor({peer:e,streamId:t,isLive:n=!1,highWaterMark:r=16,retry:i,onError:a}){super({start:e=>{},write:async e=>this._write(e),close:async()=>this._final(),abort:e=>{this._abort(e)}}),this.peer=e,this.isLive=n,this.id=t??wn.next(),this.highWaterMark=r,this.errorHandler=a,this.retryConfig={maxAttempts:i?.maxAttempts??3,initialDelay:i?.initialDelay??100,maxDelay:i?.maxDelay??5e3,backoffFactor:i?.backoffFactor??2},this.peer.logger&&this.peer.logger.info({streamId:this.id,isLive:n,highWaterMark:this.highWaterMark,retryConfig:this.retryConfig},`Creating writable stream`),this.peer.writableStreams.set(this.id,this),this.events.once(`close`,this.cleanup)}async pipeFrom(e){this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Starting pipe operation`);let t=this.getWriter();try{if(Symbol.asyncIterator in e)for await(let n of e)await t.write(n);else{let n=e.getReader();try{for(;;){let{done:e,value:r}=await n.read();if(e)break;await t.write(r)}}finally{n.releaseLock()}}await t.close(),this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Pipe operation completed`)}catch(e){throw this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e},`Pipe operation failed`),await t.abort(e),e}finally{t.releaseLock()}}async _write(e){if(this.state===`CLOSED`||this.state===`CLOSING`){let e=W.streamClosed(String(this.id),`Attempt to write to closed stream`);throw this.peer.logger&&this.peer.logger.warn({streamId:this.id,state:this.state},`Attempt to write to closed stream`),e}if(this.state===`ERROR`)throw W.streamError(String(this.id),Error(`Stream is in error state`));this.transitionState(`ACTIVE`);let t=await this.enqueueWrite(e,this.index++);return this.isProcessing||this.processWriteBuffer().catch(e=>{this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e},`Error processing write buffer`)}),t}enqueueWrite(e,t){return new Promise((n,r)=>{let i={chunk:e,index:t,resolve:n,reject:r,retryCount:0,timestamp:Date.now()};this.writeBuffer.push(i),this.metrics.bufferSize=this.writeBuffer.length,this.peer.logger&&this.peer.logger.debug({streamId:this.id,index:t,bufferSize:this.writeBuffer.length},`Enqueued write to buffer`)})}async processWriteBuffer(){if(!this.isProcessing){this.isProcessing=!0;try{for(;this.writeBuffer.length>0;){let e=this.writeBuffer[0];if(!e){this.writeBuffer.shift();continue}try{await this.sendChunkWithRetry(e),this.writeBuffer.shift(),this.metrics.bufferSize=this.writeBuffer.length,e.resolve(),this.metrics.packetsSent++;let t=this.estimateChunkSize(e.chunk);this.metrics.bytesSent+=t,this.writeBuffer.length===this.highWaterMark-1&&(this.transitionState(`DRAINING`),this.events.emit(`drain`),this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Buffer draining below high water mark`))}catch(t){this.writeBuffer.shift(),this.metrics.bufferSize=this.writeBuffer.length,this.metrics.failedWrites++,this.transitionState(`ERROR`),this.errorHandler&&this.errorHandler(t);try{await this.peer.sendPacket(Sn(J.nextId(),1,on,{streamId:this.id,message:t.message}))}catch(e){this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e},`Failed to send stream error packet`)}e.reject(t);break}}this.writeBuffer.length===0&&this.state!==`ERROR`&&this.transitionState(`IDLE`)}finally{this.isProcessing=!1}}}async sendChunkWithRetry(e){let t,n=this.retryConfig.initialDelay;for(let r=0;r<=this.retryConfig.maxAttempts;r++)try{this.peer.logger&&this.peer.logger.debug({streamId:this.id,index:e.index,attempt:r,retryCount:e.retryCount},`Sending chunk`),await this.peer.sendStreamChunk(this.id,e.chunk,e.index,!1,this.isLive);return}catch(i){t=i instanceof Error?i:Error(String(i));let a=this.isErrorRetryable(i);if(!a||r>=this.retryConfig.maxAttempts)throw this.peer.logger&&this.peer.logger.error({streamId:this.id,index:e.index,attempt:r,isRetryable:a},`Write failed, not retrying`),t;e.retryCount++,this.metrics.retryCount++,this.peer.logger&&this.peer.logger.warn({streamId:this.id,index:e.index,attempt:r,delay:n,error:i.message},`Write failed, retrying`),this.events.emit(`retry`,{index:e.index,attempt:r,error:t,delay:n}),await this.delay(n),n=Math.min(n*this.retryConfig.backoffFactor,this.retryConfig.maxDelay)}throw t}isErrorRetryable(e){if(e.code!==void 0){if(typeof e.code==`number`)return jt(e.code);if(e.code===`ECONNREFUSED`||e.code===`ECONNRESET`||e.code===`ETIMEDOUT`||e.code===`ENOTFOUND`||e.code===`ENETUNREACH`)return!0}return!(e instanceof TypeError||e instanceof ReferenceError)}estimateChunkSize(e){if(e==null)return 0;if(typeof e==`string`)return e.length*2;if(e instanceof ArrayBuffer||ArrayBuffer.isView(e))return e.byteLength;try{return JSON.stringify(e).length*2}catch{return 0}}delay(e){return new Promise(t=>setTimeout(t,e))}async _final(){if(this.state===`CLOSED`)throw this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to finalize closed stream`),W.streamClosed(String(this.id),`Attempt to finalize closed stream`);this.transitionState(`CLOSING`),this.peer.logger&&this.peer.logger.debug({streamId:this.id,index:this.index},`Finalizing stream`);try{await this.flush(),this.peer.logger&&this.peer.logger.debug({streamId:this.id,index:this.index},`Sending final chunk`),await this.peer.sendStreamChunk(this.id,null,this.index,!0,this.isLive)}catch(e){throw this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e},`Error sending final chunk`),e}finally{this.closeStream()}}_abort(e){this.peer.logger&&this.peer.logger.info({streamId:this.id,reason:e},`Aborting stream`);let t=e instanceof Error?e:Error(String(e));this.destroy(t)}closeStream(){if(this.state===`CLOSED`){this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to close already closed stream`);return}this.peer.logger&&this.peer.logger.info({streamId:this.id,state:this.state},`Closing stream`),this.transitionState(`CLOSED`),this.clearPendingWrites(),this.cleanup()}destroy(e){if(this.state===`CLOSED`){this.peer.logger&&this.peer.logger.warn({streamId:this.id},`Attempt to destroy already closed stream`);return}this.peer.logger&&this.peer.logger.info({streamId:this.id,error:e,state:this.state},`Destroying stream`),e?this.transitionState(`ERROR`):this.transitionState(`CLOSED`),this.clearPendingWrites(e),this.cleanup(),e&&(this.events.emit(`error`,e),this.errorHandler&&this.errorHandler(e));let t=e?e.message:`Stream destroyed`;this.peer.sendPacket(Sn(J.nextId(),1,sn,{streamId:this.id,reason:t})).catch(e=>{this.peer.logger&&this.peer.logger.error({streamId:this.id,error:e},`Failed to send stream close packet`)})}cleanup=()=>{this.peer.logger&&this.peer.logger.debug({streamId:this.id},`Cleaning up stream resources`),this.peer.writableStreams.delete(this.id)};transitionState(e){let t=this.state;t!==e&&(this.state=e,this.metrics.state=e,this.peer.logger&&this.peer.logger.debug({streamId:this.id,oldState:t,newState:e},`Stream state transition`),this.events.emit(`state-change`,{oldState:t,newState:e}))}clearPendingWrites(e){let t=this.writeBuffer.length;if(t>0){let n=e||Error(`Stream closed with pending writes`);this.peer.logger&&this.peer.logger.warn({streamId:this.id,pendingCount:t},`Clearing pending writes`);for(let e of this.writeBuffer)e.reject(n);this.writeBuffer=[],this.metrics.bufferSize=0}}async flush(){this.writeBuffer.length!==0&&(this.peer.logger&&this.peer.logger.debug({streamId:this.id,pendingWrites:this.writeBuffer.length},`Flushing pending writes`),await new Promise((e,t)=>{let n=()=>{this.writeBuffer.length===0?e():this.state===`ERROR`?t(Error(`Stream in error state during flush`)):setTimeout(n,10)};n()}))}getMetrics(){return{...this.metrics}}getState(){return this.state}isWritable(){return this.state!==`CLOSED`&&this.state!==`CLOSING`&&this.state!==`ERROR`}isBufferFull(){return this.writeBuffer.length>=this.highWaterMark}on(e,t){this.events.on(e,t)}once(e,t){this.events.once(e,t)}static create(t,n,r=!1,i){let a=new e({peer:t,streamId:i,isLive:r});return n&&a.pipeFrom(n),a}}}}),Dn,On=B({"src/core/stream-reference.ts"(){Zt(),En(),Dn=class e{constructor(e,t,n,r){this.streamId=e,this.type=t,this.isLive=n,this.peerId=r}streamId;type;isLive;peerId;static from(t){let n=t instanceof Xt?`readable`:`writable`;return new e(t.id,n,t.isLive,t.peer.id)}static to(e,t){if(e.type===`readable`){let n=t.writableStreams.get(e.streamId);return n||=new Tn({peer:t,streamId:e.streamId,isLive:e.isLive}),n}else{let n=t.readableStreams.get(e.streamId);return n||=new Xt({peer:t,streamId:e.streamId,isLive:e.isLive}),n}}}}}),kn=B({"src/utils/lru-cache.ts"(){}});function An(){let e=new Uint8Array(2);return crypto.getRandomValues(e),(e[0]<<8|e[1])&4095}function jn(){let e=Date.now();e>Mn?(Mn=e,X=An()):(X++,X>4095&&(Mn++,X=An()));let t=Mn,n=Math.trunc(t/4294967296),r=t>>>0,i=new Uint8Array(8);return crypto.getRandomValues(i),Y[n>>>8&255]+Y[n&255]+Y[r>>>24&255]+Y[r>>>16&255]+`-`+Y[r>>>8&255]+Y[r&255]+`-`+Y[112|X>>>8&15]+Y[X&255]+`-`+Y[128|i[0]&63]+Y[i[1]]+`-`+Y[i[2]]+Y[i[3]]+Y[i[4]]+Y[i[5]]+Y[i[6]]+Y[i[7]]}var Y,Mn,X,Nn=B({"src/utils/uuid.ts"(){Y=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,`0`)),Mn=0,X=0}}),Pn,Fn=B({"src/core/definition.ts"(){Nn(),Pn=class{constructor(e,t,n){this.id=e,this.peerId=t,this.meta=n}id;peerId;meta;parentId=``;static nextId(){return jn()}}}}),In=B({"src/utils/validation.ts"(){}});function Ln(){return He()}function Rn(e,t,n,r){return{id:Ln(),service:e,method:t,input:n,context:r?.context,hints:r?.hints}}function zn(e){return e.endsWith(`/`)?e.slice(0,-1):e}function Bn(e){return e.replace(/^http/,`ws`)}function Vn(e,t=1e3,n=3e4){let r=Math.min(t*2**(e-1),n),i=r*.25*(Math.random()*2-1);return Math.max(t,Math.min(r+i,n))}var Hn=B({"src/utils/index.ts"(){kn(),In()}}),Un,Wn=B({"src/middleware/types.ts"(){Un=(e=>(e.PRE_REQUEST=`pre-request`,e.POST_RESPONSE=`post-response`,e.ERROR=`error`,e))(Un||{})}}),Gn,Kn=B({"src/middleware/pipeline.ts"(){Wn(),Gn=class{globalMiddleware=new Map;serviceMiddleware=new Map;methodMiddleware=new Map;metrics={executions:0,avgTime:0,errors:0,skips:0,byMiddleware:new Map};constructor(){for(let e of Object.values(Un))this.globalMiddleware.set(e,[])}use(e,t,n=`pre-request`){let r={middleware:e,config:{name:t?.name||`anonymous`,priority:t?.priority??100,...t},stage:n},i=this.globalMiddleware.get(n)||[];i.push(r),i.sort((e,t)=>(e.config.priority??0)-(t.config.priority??0)),this.globalMiddleware.set(n,i)}useForService(e,t,n,r=`pre-request`){this.serviceMiddleware.has(e)||this.serviceMiddleware.set(e,new Map);let i=this.serviceMiddleware.get(e);i.has(r)||i.set(r,[]);let a={middleware:t,config:{name:n?.name||`${e}-middleware`,priority:n?.priority??100,...n},stage:r},o=i.get(r);o.push(a),o.sort((e,t)=>(e.config.priority??0)-(t.config.priority??0))}useForMethod(e,t,n,r,i=`pre-request`){let a=`${e}.${t}`;this.methodMiddleware.has(a)||this.methodMiddleware.set(a,new Map);let o=this.methodMiddleware.get(a);o.has(i)||o.set(i,[]);let s={middleware:n,config:{name:r?.name||`${a}-middleware`,priority:r?.priority??100,...r},stage:i},c=o.get(i);c.push(s),c.sort((e,t)=>(e.config.priority??0)-(t.config.priority??0))}getMiddleware(e,t,n){let r=n?[n]:Object.values(Un),i=[];for(let n of r){let r=this.globalMiddleware.get(n)||[];if(i.push(...r),e){let t=this.serviceMiddleware.get(e);if(t){let e=t.get(n)||[];i.push(...e)}}if(e&&t){let r=`${e}.${t}`,a=this.methodMiddleware.get(r);if(a){let e=a.get(n)||[];i.push(...e)}}}return i.sort((e,t)=>(e.config.priority??0)-(t.config.priority??0)),i}async execute(e,t){let n=performance.now();this.metrics.executions++;let r=this.getMiddleware(e.service,e.method,t).filter(t=>{if(t.config.condition&&!t.config.condition(e))return this.metrics.skips++,!1;if(t.config.services){if(Array.isArray(t.config.services)){if(!t.config.services.includes(e.service))return!1}else if(t.config.services instanceof RegExp&&!t.config.services.test(e.service))return!1}if(t.config.methods){if(Array.isArray(t.config.methods)){if(!t.config.methods.includes(e.method))return!1}else if(t.config.methods instanceof RegExp&&!t.config.methods.test(e.method))return!1}return!0}),i=0,a=async()=>{if(e.skipRemaining||i>=r.length)return;let t=r[i++];if(!t)return;let n=performance.now(),o=this.metrics.byMiddleware.get(t.config.name)||{executions:0,avgTime:0,errors:0};try{await t.middleware(e,a),o.executions++;let r=performance.now()-n;o.avgTime=(o.avgTime*(o.executions-1)+r)/o.executions,e.timing.middlewareTimes.set(t.config.name,r)}catch(n){throw o.errors++,this.metrics.errors++,t.config.onError&&t.config.onError(n,e),n}finally{this.metrics.byMiddleware.set(t.config.name,o)}};try{await a()}finally{let e=performance.now()-n;this.metrics.avgTime=(this.metrics.avgTime*(this.metrics.executions-1)+e)/this.metrics.executions}}clear(){this.globalMiddleware.clear(),this.serviceMiddleware.clear(),this.methodMiddleware.clear();for(let e of Object.values(Un))this.globalMiddleware.set(e,[]);this.metrics={executions:0,avgTime:0,errors:0,skips:0,byMiddleware:new Map}}getMetrics(){return{...this.metrics}}}}}),qn=B({"src/middleware/built-in/auth.ts"(){}}),Jn=B({"src/middleware/built-in/auth-error-handler.ts"(){}}),Yn=B({"src/middleware/built-in/logging.ts"(){}}),Xn=B({"src/middleware/built-in/timing.ts"(){}}),Zn=B({"src/middleware/built-in/error-transform.ts"(){}}),Qn=B({"src/middleware/built-in/index.ts"(){qn(),Jn(),Yn(),Xn(),Zn()}}),$n=B({"src/middleware/index.ts"(){Wn(),Kn(),Qn()}}),er={};Dt(er,{HttpClient:()=>tr});var tr,nr=B({"src/client/http-client.ts"(){Hn(),$n(),tr=class{baseUrl;timeout;headers;retry;maxRetries;auth;state=`disconnected`;middleware;metrics={requestsSent:0,responsesReceived:0,errors:0,latencies:[]};constructor(e){this.baseUrl=zn(e.url),this.timeout=e.timeout??3e4,this.headers=e.headers??{},this.retry=e.retry??!1,this.maxRetries=e.maxRetries??3,this.auth=e.auth,this.middleware=e.middleware||new Gn}async connect(){this.state=`connecting`,this.state=`connected`}async invoke(e,t,n,r){let i={service:e,method:t,args:n,request:{headers:{...this.headers},timeout:r?.hints?.timeout||this.timeout,metadata:r?.context},timing:{start:performance.now(),middlewareTimes:new Map},metadata:new Map,transport:`http`},a=r?.skipAuth??!1;try{if(await this.middleware.execute(i,`pre-request`),i.skipRemaining)return i.response?.data;let o=Rn(e,t,n,{context:i.request?.metadata,hints:{...r?.hints,timeout:i.request?.timeout}}),s=await this.sendRequest(o,0,i.request?.headers,a);if(!s.success){let e=Error(s.error?.message||`Method invocation failed`);throw e.code=s.error?.code,e}return i.response={data:s.data,headers:{},metadata:{}},await this.middleware.execute(i,`post-response`),i.response.data}catch(e){i.error=e;try{await this.middleware.execute(i,`error`)}catch{}throw e}}async sendRequest(e,t=0,n,r=!1){let i=`${this.baseUrl}/netron/invoke`,a=e.hints?.timeout||this.timeout,o=Date.now(),s=new AbortController,c=setTimeout(()=>s.abort(),a);try{this.metrics.requestsSent++;let t={"Content-Type":`application/json`,Accept:`application/json`,...this.headers,...n};this.auth&&!r&&!n?.Authorization&&Object.assign(t,this.auth.getAuthHeaders());let a=await fetch(i,{method:`POST`,headers:t,body:JSON.stringify(e),signal:s.signal});clearTimeout(c);let l=Date.now()-o;if(this.metrics.latencies.push(l),this.metrics.responsesReceived++,!a.ok)try{return await a.json()}catch{return this.metrics.errors++,{id:e.id,success:!1,error:{code:`HTTP_ERROR`,message:`HTTP ${a.status}: ${a.statusText}`}}}return await a.json()}catch(i){if(clearTimeout(c),this.metrics.errors++,this.retry&&t<this.maxRetries){let i=2**t*1e3;return await new Promise(e=>setTimeout(e,i)),this.sendRequest(e,t+1,n,r)}return i.name===`AbortError`?{id:e.id,success:!1,error:{code:`TIMEOUT`,message:`Request timeout after ${a}ms`}}:{id:e.id,success:!1,error:{code:`NETWORK_ERROR`,message:i.message}}}}async disconnect(){this.state=`disconnected`}getState(){return this.state}getMetrics(){let e=this.metrics.latencies.length>0?this.metrics.latencies.reduce((e,t)=>e+t,0)/this.metrics.latencies.length:void 0;return{id:`http-client`,url:this.baseUrl,state:this.state,transport:`http`,requestsSent:this.metrics.requestsSent,responsesReceived:this.metrics.responsesReceived,errors:this.metrics.errors,avgLatency:e}}getMiddleware(){return this.middleware}use(e,t,n){return this.middleware.use(e,t,n),this}}}}),Z,rr=B({"src/packet/serializer.ts"(){kt(),Fn(),On(),Pt(),Z=new gt,Z.register(110,V,(e,t)=>{if(t.write(Z.encode(e.name)),t.write(Z.encode(e.code)),t.write(Z.encode(e.message)),t.write(Z.encode(e.details)),t.write(Z.encode(e.context)),t.write(Z.encode(e.timestamp)),t.write(Z.encode(e.requestId)),t.write(Z.encode(e.correlationId)),t.write(Z.encode(e.spanId)),t.write(Z.encode(e.traceId)),t.write(Z.encode(e.stack||null)),e.cause){let n=e.cause;n instanceof V?t.write(Z.encode(n)):n instanceof Error?t.write(Z.encode({__errorType:`Error`,name:n.name,message:n.message,stack:n.stack})):t.write(Z.encode(null))}else t.write(Z.encode(null))},e=>{let t=Z.decode(e),n=Z.decode(e),r=Z.decode(e),i=Z.decode(e),a=Z.decode(e),o=Z.decode(e),s=Z.decode(e),c=Z.decode(e),l=Z.decode(e),u=Z.decode(e),d=Z.decode(e),f=Z.decode(e),p;if(f){if(f instanceof V)p=f;else if(f.__errorType===`Error`){let e=Error(f.message);e.name=f.name,e.stack=f.stack,p=e}}let m=new V({code:n,message:r,details:i,context:a,requestId:s,correlationId:c,spanId:l,traceId:u,cause:p});return m.name=t,d&&(m.stack=d),m.timestamp=o,m}),wt(Z),Z.register(109,Pn,(e,t)=>{t.write(Z.encode(e.id)),t.write(Z.encode(e.parentId)),t.write(Z.encode(e.peerId)),t.write(Z.encode(e.meta))},e=>{let t=Z.decode(e),n=Z.decode(e),r=Z.decode(e),i=Z.decode(e),a=new Pn(t,r,i);return a.parentId=n,a}).register(108,Ot,(e,t)=>{t.write(Z.encode(e.defId))},e=>new Ot(Z.decode(e))).register(107,Dn,(e,t)=>{Z.encode(e.streamId.toString(),t),t.writeUInt8(+(e.type===`writable`)),t.writeUInt8(+!!e.isLive),Z.encode(e.peerId,t)},e=>{let t=Number(Z.decode(e)),n=e.readUInt8()===1?`writable`:`readable`,r=e.readUInt8()===1,i=Z.decode(e);return new Dn(t,n,r,i)})}}),ir,ar,or,sr=B({"src/packet/index.ts"(){Cn(),rr(),cn(),K(),cn(),Cn(),rr(),ir=e=>{let t=e.isStreamChunk()?8:0,n=e.getType(),r;switch(n){case nn:r=32;break;case q:r=512;break;case an:r=256;break;case on:case sn:r=128;break;default:r=256}return 5+t+r},ar=e=>{let t=new mt(ir(e));return t.writeUInt32BE(e.id),t.writeUInt8(e.flags),Z.encode(e.data,t),e.isStreamChunk()&&(t.writeUInt32BE(e.streamId),t.writeUInt32BE(e.streamIndex)),t.toBuffer()},or=e=>{let t=e instanceof Uint8Array?R.Buffer.from(e):e;if(t.byteLength<5)throw U.decode(e,Error(`Packet too small: ${t.byteLength} bytes, minimum 5 bytes required`));let n=mt.wrap(t),r=new J(n.readUInt32BE());r.flags=n.readUInt8();let i=r.getType();if(i<0||i>7)throw U.decode(e,Error(`Invalid packet type: 0x${i.toString(16)}. Expected 0x00-0x07`));try{r.data=Z.decode(n)}catch(t){throw U.decode(e,t instanceof Error?t:void 0)}if(r.isStreamChunk()){let t=n.length;if(t<8)throw U.decode(e,Error(`Incomplete stream metadata: ${t} bytes remaining, 8 bytes required`));r.streamId=n.readUInt32BE(),r.streamIndex=n.readUInt32BE()}return r}}}),cr={};Dt(cr,{WebSocketClient:()=>ur});function lr(e){if(!e)return!1;let t=e.code,n=e.message??String(e);return typeof t==`string`&&(t===`NOT_FOUND`||t===`DEFINITION_NOT_FOUND`)?!0:typeof n==`string`&&n.length>0?/Definition.*not\s*found/i.test(n)||/Service.*not\s*found/i.test(n):!1}var ur,dr=B({"src/client/ws-client.ts"(){Hn(),K(),$n(),sr(),ur=class extends m{ws=null;wsUrl;protocols;timeout;reconnectEnabled;reconnectInterval;maxReconnectAttempts;reconnectAttempts=0;reconnectTimeout;isManualDisconnect=!1;auth;middleware;serviceDefinitions;enableServiceDiscovery;discoveredDefinitions=new Map;pendingDiscoveries=new Map;state=`disconnected`;pendingRequests=new Map;connectedAt;disconnectedAt;taskHandlers=new Map;handshakeComplete=!1;serverId=null;clientId;metrics={requestsSent:0,responsesReceived:0,errors:0,latencies:[]};constructor(e){super(),this.wsUrl=e.url.startsWith(`http`)?Bn(e.url):e.url,this.protocols=e.protocols,this.timeout=e.timeout??3e4,this.reconnectEnabled=e.reconnect??!0,this.reconnectInterval=e.reconnectInterval??1e3,this.maxReconnectAttempts=e.maxReconnectAttempts??1/0,this.auth=e.auth,this.middleware=e.middleware||new Gn,this.serviceDefinitions=e.serviceDefinitions,this.enableServiceDiscovery=e.enableServiceDiscovery===!0,this.clientId=crypto.randomUUID?.()||`browser-${Date.now()}-${Math.random().toString(36).slice(2)}`}async connect(){this.ws&&(this.ws.readyState===0||this.ws.readyState===1)||(this.reconnectTimeout&&=(clearTimeout(this.reconnectTimeout),void 0),await new Promise((e,t)=>{try{this.isManualDisconnect=!1,this.handshakeComplete=!1,this.serverId=null,this.discoveredDefinitions.clear(),this.pendingDiscoveries.clear(),this.state=`connecting`,this.clientId=crypto.randomUUID?.()||`browser-${Date.now()}-${Math.random().toString(36).slice(2)}`;let n=typeof WebSocket<`u`?WebSocket:typeof globalThis<`u`&&globalThis.WebSocket?globalThis.WebSocket:null;if(!n)throw Error(`WebSocket is not available in this environment`);this.ws=new n(this.wsUrl,this.protocols),this.ws.binaryType=`arraybuffer`;let r=this.ws,i=!1;r.addEventListener(`open`,()=>{this.state=`connected`,this.connectedAt=Date.now(),this.reconnectAttempts=0,this.emit(`connect`),i=!0,e()}),r.addEventListener(`message`,e=>{this.handleMessage(e.data)}),r.addEventListener(`error`,e=>{let n=new G(`WebSocket error`);this.state=`failed`,this.emit(`error`,n),i||(i=!0,t(n))}),r.addEventListener(`close`,e=>{this.disconnectedAt=Date.now();for(let e of this.pendingRequests.values())e.reject(new G(`Connection closed`)),clearTimeout(e.timeout);this.pendingRequests.clear(),this.reconnectEnabled&&!this.isManualDisconnect?(this.state=`reconnecting`,this.emit(`disconnect`,e.reason),this.attemptReconnect()):(this.state=`disconnected`,this.emit(`disconnect`,e.reason))})}catch(e){this.state=`failed`,t(e)}}))}handleMessage(e){try{if(!this.handshakeComplete){let t=null;if(typeof e==`string`?t=e:e instanceof ArrayBuffer&&e.byteLength<512&&(t=new TextDecoder().decode(e)),t)try{let e=JSON.parse(t);if(e.type===`id`){this.serverId=e.id,this.ws?.send(JSON.stringify({type:`client-id`,id:this.clientId})),this.handshakeComplete=!0;return}}catch{}}let t=or(e instanceof ArrayBuffer?e:new TextEncoder().encode(e));this.emit(`packet`,t);let n=t.getImpulse()===1,r=t.getImpulse()===0,i=t.getError()===1;if(r||i&&!n){let e=this.pendingRequests.get(String(t.id));e&&(clearTimeout(e.timeout),this.pendingRequests.delete(String(t.id)),this.metrics.responsesReceived++,i?(this.metrics.errors++,e.reject(t.data)):e.resolve(t.data));return}if(n){let e=t.getType();(e===rn||e===q)&&this.handleIncomingTask(t)}}catch(e){this.emit(`error`,e)}}async handleIncomingTask(e){let[t,...n]=Array.isArray(e.data)?e.data:[e.data],r=this.taskHandlers.get(t);if(r)try{let t=await r(...n);this.sendResponse(e.id,t??null,!1)}catch(t){this.sendResponse(e.id,{message:t?.message??`Task handler error`},!0)}else this.emit(`task`,t,...n),this.sendResponse(e.id,null,!1)}sendResponse(e,t,n){try{let r=new J(e);r.setImpulse(0),r.setType(q),n&&r.setError(1),r.data=t,this.sendPacket(r)}catch{}}async invoke(e,t,n,r){if(!this.isConnected())throw new G(`WebSocket is not connected`);let i={service:e,method:t,args:n,request:{headers:{},timeout:r?.hints?.timeout||this.timeout,metadata:r?.context},timing:{start:performance.now(),middlewareTimes:new Map},metadata:new Map,transport:`websocket`};try{if(await this.middleware.execute(i,`pre-request`),i.skipRemaining)return i.response?.data;let r=J.nextId(),a=i.request?.timeout||this.timeout,o={...i.request?.metadata};i.request?.headers&&(o.headers={...o.headers,...i.request.headers}),this.auth&&this.auth.isAuthenticated()&&!i.request?.headers?.Authorization&&(o.headers={...o.headers,...this.auth.getAuthHeaders()});let s=await this.resolveDefinitionId(e),c=async e=>{let i=new J(r);return i.setType(q),i.setImpulse(1),i.data=[e,t,...n],this.sendPacket(i),this.metrics.requestsSent++,new Promise((e,t)=>{let n=setTimeout(()=>{this.pendingRequests.delete(String(r)),this.metrics.errors++,t(new Wt(`Request timeout after ${a}ms`))},a);this.pendingRequests.set(String(r),{resolve:e,reject:t,timeout:n})})},l;try{l=await c(s)}catch(r){if(!(this.enableServiceDiscovery&&this.discoveredDefinitions.get(e)===s&&lr(r)&&!this.serviceDefinitions?.has(e)))throw r;this.discoveredDefinitions.delete(e),s=await this.resolveDefinitionId(e);let i=J.nextId(),o=new J(i);o.setType(q),o.setImpulse(1),o.data=[s,t,...n],l=await new Promise((e,t)=>{let n=setTimeout(()=>{this.pendingRequests.delete(String(i)),this.metrics.errors++,t(new Wt(`Request timeout after ${a}ms`))},a);this.pendingRequests.set(String(i),{resolve:e,reject:t,timeout:n}),this.sendPacket(o),this.metrics.requestsSent++})}return i.response={data:l,headers:{},metadata:{}},await this.middleware.execute(i,`post-response`),i.response.data}catch(e){i.error=e;try{await this.middleware.execute(i,`error`)}catch{}throw e}}sendPacket(e){if(!this.ws||this.ws.readyState!==1)throw new G(`WebSocket is not connected`);let t=ar(e);this.ws.send(t)}async runTask(e,...t){if(!this.isConnected())throw new G(`WebSocket is not connected`);let n=J.nextId(),r=new J(n);return r.setType(rn),r.setImpulse(1),r.data=[e,...t],new Promise((t,i)=>{let a=setTimeout(()=>{this.pendingRequests.delete(String(n)),i(new Wt(`runTask('${e}') timed out after ${this.timeout}ms`))},this.timeout);this.pendingRequests.set(String(n),{resolve:t,reject:i,timeout:a});try{this.sendPacket(r),this.metrics.requestsSent++}catch(e){clearTimeout(a),this.pendingRequests.delete(String(n)),i(e)}})}resolveDefinitionId(e){let t=this.serviceDefinitions?.get(e);if(t)return Promise.resolve(t);let n=this.discoveredDefinitions.get(e);if(n)return Promise.resolve(n);if(!this.enableServiceDiscovery)return Promise.resolve(e);let r=this.pendingDiscoveries.get(e);if(r)return r;let i=(async()=>{let t=await this.runTask(`query_interface`,e)??null;if(!t||typeof t.id!=`string`)throw new G(`query_interface('${e}') returned an unexpected payload \u2014 server did not yield a definition id.`);return this.discoveredDefinitions.set(e,t.id),t.id})().finally(()=>{this.pendingDiscoveries.delete(e)});return this.pendingDiscoveries.set(e,i),i}async discoverServices(e){let t=new Map;return await Promise.all(e.map(async e=>{if(this.serviceDefinitions?.has(e)){t.set(e,this.serviceDefinitions.get(e));return}let n=this.discoveredDefinitions.get(e);if(n){t.set(e,n);return}let r=await this.runTask(`query_interface`,e)??null;if(!r||typeof r.id!=`string`)throw new G(`query_interface('${e}') returned an unexpected payload \u2014 server did not yield a definition id.`);this.discoveredDefinitions.set(e,r.id),t.set(e,r.id)})),t}clearDiscoveryCache(){this.discoveredDefinitions.clear(),this.pendingDiscoveries.clear()}onTask(e,t){return this.taskHandlers.set(e,t),this}offTask(e){return this.taskHandlers.delete(e),this}async disconnect(){this.isManualDisconnect=!0,this.reconnectTimeout&&=(clearTimeout(this.reconnectTimeout),void 0),this.ws&&=((this.ws.readyState===1||this.ws.readyState===0)&&this.ws.close(1e3,`Manual disconnect`),null),this.state=`disconnected`,this.disconnectedAt=Date.now()}isConnected(){return this.ws!==null&&this.ws.readyState===1}getState(){return this.state}attemptReconnect(){if(this.reconnectAttempts>=this.maxReconnectAttempts){this.state=`failed`,this.emit(`reconnect-failed`);return}this.state=`reconnecting`,this.reconnectAttempts++;let e=Vn(this.reconnectAttempts,this.reconnectInterval);this.emit(`reconnecting`,{attempt:this.reconnectAttempts,delay:e,maxAttempts:this.maxReconnectAttempts}),this.reconnectTimeout=setTimeout(async()=>{try{await this.connect(),this.emit(`reconnect`,{attempt:this.reconnectAttempts})}catch{}},e)}getReconnectAttempts(){return this.reconnectAttempts}setUrl(e){this.wsUrl=e.startsWith(`http`)?Bn(e):e}getMetrics(){let e=this.metrics.latencies.length>0?this.metrics.latencies.reduce((e,t)=>e+t,0)/this.metrics.latencies.length:void 0;return{id:`ws-client`,url:this.wsUrl,state:this.state,transport:`websocket`,connectedAt:this.connectedAt,disconnectedAt:this.disconnectedAt,requestsSent:this.metrics.requestsSent,responsesReceived:this.metrics.responsesReceived,errors:this.metrics.errors,avgLatency:e}}getMiddleware(){return this.middleware}use(e,t,n){return this.middleware.use(e,t,n),this}}}});kt(),On(),Zt(),En(),K(),kn(),Fn(),kt(),On(),K(),kt(),Fn(),On(),nr(),dr();var fr=class{name;config;baseUrl;fullUrl;transportType;client=null;auth;middleware;defaultTimeout;defaultHeaders;connected=!1;constructor(e){this.name=e.name,this.config=e.config,this.baseUrl=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl,this.fullUrl=`${this.baseUrl}${e.config.path}`,this.transportType=e.config.transport||`http`,this.auth=e.auth,this.middleware=e.middleware,this.defaultTimeout=e.config.timeout||e.defaultTimeout||3e4,this.defaultHeaders={...e.defaultHeaders,...e.config.headers}}async initializeClient(){if(this.client)return this.client;let{HttpClient:e}=await Promise.resolve().then(()=>(nr(),er)),{WebSocketClient:t}=await Promise.resolve().then(()=>(dr(),cr));return this.transportType===`websocket`?this.client=new t({url:this.fullUrl,protocols:this.config.websocket?.protocols,timeout:this.defaultTimeout,reconnect:this.config.websocket?.reconnect,reconnectInterval:this.config.websocket?.reconnectInterval,maxReconnectAttempts:this.config.websocket?.maxReconnectAttempts,auth:this.auth,middleware:this.middleware}):this.client=new e({url:this.fullUrl,timeout:this.defaultTimeout,headers:this.defaultHeaders,retry:this.config.http?.retry,maxRetries:this.config.http?.maxRetries,auth:this.auth,middleware:this.middleware}),this.client}async connect(){await(await this.initializeClient()).connect(),this.connected=!0}async disconnect(){this.client&&(await this.client.disconnect(),this.connected=!1)}service(e){return new Proxy({},{get:(t,n)=>{if(typeof n!=`symbol`)return async(...t)=>await this.invoke(e,n,t)}})}async invoke(e,t,n=[],r){let i=await this.initializeClient(),a={};return r?.context&&(a.context=r.context),(r?.hints||r?.timeout)&&(a.hints={...r?.hints,timeout:r?.timeout||r?.hints?.timeout}),r?.skipAuth&&(a.skipAuth=!0),await i.invoke(e,t,n,a)}getMetrics(){return this.client?{...this.client.getMetrics(),id:this.name}:{id:`${this.name}-not-connected`,url:this.fullUrl,state:`disconnected`,transport:this.transportType,requestsSent:0,responsesReceived:0,errors:0}}isConnected(){return this.client?`isConnected`in this.client&&typeof this.client.isConnected==`function`?this.client.isConnected():this.connected:!1}getPath(){return this.config.path}getTransportType(){return this.transportType}getName(){return this.name}getFullUrl(){return this.fullUrl}getClient(){return this.client}async destroy(){this.client&&=(await this.disconnect(),null)}},pr=class{key;constructor(e=`netron_auth_token`){this.key=e}getToken(){try{return localStorage.getItem(this.key)}catch{return null}}setToken(e){try{localStorage.setItem(this.key,e)}catch{}}removeToken(){try{localStorage.removeItem(this.key)}catch{}}hasToken(){return this.getToken()!==null}getValue(e){try{return localStorage.getItem(e)}catch{return null}}setValue(e,t){try{localStorage.setItem(e,t)}catch{}}removeValue(e){try{localStorage.removeItem(e)}catch{}}},mr=class{key;constructor(e=`netron_auth_token`){this.key=e}getToken(){try{return sessionStorage.getItem(this.key)}catch{return null}}setToken(e){try{sessionStorage.setItem(this.key,e)}catch{}}removeToken(){try{sessionStorage.removeItem(this.key)}catch{}}hasToken(){return this.getToken()!==null}getValue(e){try{return sessionStorage.getItem(e)}catch{return null}}setValue(e,t){try{sessionStorage.setItem(e,t)}catch{}}removeValue(e){try{sessionStorage.removeItem(e)}catch{}}},Q={storage:new pr,storageKey:`netron_auth_token`,autoRefresh:!0,refreshThreshold:300*1e3,autoAttach:!0,inactivityConfig:{timeout:1800*1e3,events:[`click`,`keypress`,`mousemove`]},crossTabSync:{enabled:!0,syncKey:`netron_auth_sync`}},hr=class{options;state;refreshTimer;inactivityTimer;lastActivity=Date.now();eventHandlers=new Map;refreshPromise;storageListener;activityListener;constructor(e={}){let t=e.storage||(e.storageKey?new pr(e.storageKey):Q.storage);this.options={storage:t,storageKey:e.storageKey??Q.storageKey,autoRefresh:e.autoRefresh??Q.autoRefresh,refreshThreshold:e.refreshThreshold??Q.refreshThreshold,autoAttach:e.autoAttach??Q.autoAttach,refreshConfig:e.refreshConfig,logoutConfig:e.logoutConfig,inactivityConfig:{timeout:e.inactivityConfig?.timeout??Q.inactivityConfig.timeout,events:e.inactivityConfig?.events??Q.inactivityConfig.events,onInactivity:e.inactivityConfig?.onInactivity},crossTabSync:{enabled:e.crossTabSync?.enabled??Q.crossTabSync.enabled,syncKey:e.crossTabSync?.syncKey??Q.crossTabSync.syncKey}},this.state={authenticated:!1},this.restoreFromStorage(),this.options.crossTabSync.enabled&&this.enableCrossTabSync(),this.options.inactivityConfig.timeout&&this.options.inactivityConfig.timeout>0&&this.setupInactivityTracking()}getState(){return{...this.state}}isAuthenticated(){return this.state.authenticated&&!!this.state.context}getContext(){return this.state.context}getToken(){return this.state.token}getRefreshToken(){return this.state.refreshToken}getSessionMetadata(){return this.state.sessionMetadata}setAuth(e){if(!e.success||!e.context)return;let t=e.context.token?.type===`bearer`?this.extractTokenValue(e):void 0,n=e.metadata?.refreshToken,r=this.state.sessionMetadata||{sessionId:this.generateSessionId(),loginTime:new Date,deviceInfo:{userAgent:typeof navigator<`u`?navigator.userAgent:void 0,platform:typeof navigator<`u`?navigator.platform:void 0,language:typeof navigator<`u`?navigator.language:void 0}};this.state={authenticated:!0,context:e.context,token:t,expiresAt:e.context.token?.expiresAt?new Date(e.context.token.expiresAt):void 0,refreshToken:n,refreshTokenExpiresAt:e.metadata?.refreshTokenExpiresAt?new Date(e.metadata.refreshTokenExpiresAt):void 0,sessionMetadata:r},this.persistToStorage(),this.options.autoRefresh&&this.state.expiresAt&&this.scheduleRefresh(),this.resetInactivityTimer(),this.emit(`authenticated`,{context:e.context}),this.notifyCrossTabSync(`authenticated`)}setRefreshToken(e,t){this.state.refreshToken=e,this.state.refreshTokenExpiresAt=t,this.persistToStorage()}clearAuth(){this.state={authenticated:!1},this.clearStorage(),this.cancelRefresh(),this.cancelInactivityTimer(),this.emit(`unauthenticated`,{}),this.notifyCrossTabSync(`unauthenticated`)}async logout(){let e=this.options.logoutConfig;if(e)try{let t={"Content-Type":`application/json`,...e.headers};e.includeToken!==!1&&this.state.token&&(t.Authorization=`Bearer ${this.state.token}`);let n=await fetch(e.endpoint,{method:e.method||`POST`,headers:t});if(!n.ok)throw Error(`Logout failed: ${n.statusText}`)}catch(e){throw this.emit(`error`,{error:e,context:`logout`}),e}this.clearAuth()}async refreshToken(e){let t=e||this.state.refreshToken;if(!t)return{success:!1,error:`No refresh token available`};if(!this.options.refreshConfig)return{success:!1,error:`Refresh configuration not provided`};if(this.refreshPromise)return this.refreshPromise;this.refreshPromise=this.performTokenRefresh(t);try{return await this.refreshPromise}finally{this.refreshPromise=void 0}}async performTokenRefresh(e){let t=this.options.refreshConfig;try{let n={"Content-Type":`application/json`,...t.headers},r;r=t.buildBody?t.buildBody(e):{refreshToken:e};let i=await fetch(t.endpoint,{method:t.method||`POST`,headers:n,body:JSON.stringify(r)});if(!i.ok){this.clearAuth();let e={success:!1,error:`Token refresh failed: ${i.statusText}`};return this.emit(`error`,{error:e.error,context:`refresh`}),e}let a=await i.json();return a.success&&a.context&&(this.setAuth(a),this.emit(`token-refreshed`,{context:a.context})),a}catch(e){this.clearAuth();let t={success:!1,error:e instanceof Error?e.message:`Unknown error during token refresh`};return this.emit(`error`,{error:e,context:`refresh`}),t}}setToken(e,t){this.state={authenticated:!0,context:t,token:e,expiresAt:t?.token?.expiresAt,refreshToken:this.state.refreshToken,refreshTokenExpiresAt:this.state.refreshTokenExpiresAt,sessionMetadata:this.state.sessionMetadata||{sessionId:this.generateSessionId(),loginTime:new Date,deviceInfo:{userAgent:typeof navigator<`u`?navigator.userAgent:void 0,platform:typeof navigator<`u`?navigator.platform:void 0,language:typeof navigator<`u`?navigator.language:void 0}}},this.persistToStorage(),this.options.autoRefresh&&this.state.expiresAt&&this.scheduleRefresh(),this.resetInactivityTimer(),this.emit(`authenticated`,{context:t}),this.notifyCrossTabSync(`authenticated`)}getAuthHeaders(){return this.state.token?{Authorization:`Bearer ${this.state.token}`}:{}}isTokenExpired(){return this.state.expiresAt?Date.now()>=this.state.expiresAt.getTime():!1}isRefreshTokenExpired(){return this.state.refreshTokenExpiresAt?Date.now()>=this.state.refreshTokenExpiresAt.getTime():!1}needsRefresh(){return!this.state.expiresAt||!this.options.autoRefresh?!1:this.state.expiresAt.getTime()-Date.now()<=this.options.refreshThreshold}enableCrossTabSync(){typeof window>`u`||this.storageListener||(this.storageListener=e=>{if(e.key===this.options.crossTabSync.syncKey&&e.newValue)try{let t=JSON.parse(e.newValue);(t.type===`authenticated`||t.type===`unauthenticated`)&&(this.restoreFromStorage(),this.emit(`cross-tab-sync`,{type:t.type,timestamp:t.timestamp}))}catch(e){console.error(`Error processing cross-tab sync:`,e)}},window.addEventListener(`storage`,this.storageListener))}disableCrossTabSync(){typeof window<`u`&&this.storageListener&&(window.removeEventListener(`storage`,this.storageListener),this.storageListener=void 0)}setupInactivityTracking(){typeof window>`u`||this.activityListener||(this.activityListener=()=>{this.lastActivity=Date.now(),this.resetInactivityTimer()},(this.options.inactivityConfig.events||[`click`,`keypress`,`mousemove`]).forEach(e=>{window.addEventListener(e,this.activityListener,{passive:!0})}),this.resetInactivityTimer())}resetInactivityTimer(){this.cancelInactivityTimer(),!(!this.state.authenticated||!this.options.inactivityConfig.timeout)&&(this.inactivityTimer=setTimeout(()=>{this.handleInactivity()},this.options.inactivityConfig.timeout))}cancelInactivityTimer(){this.inactivityTimer!==void 0&&(clearTimeout(this.inactivityTimer),this.inactivityTimer=void 0)}handleInactivity(){this.emit(`inactivity`,{lastActivity:new Date(this.lastActivity)}),this.options.inactivityConfig.onInactivity&&this.options.inactivityConfig.onInactivity(),this.clearAuth()}on(e,t){this.eventHandlers.has(e)||this.eventHandlers.set(e,new Set),this.eventHandlers.get(e).add(t)}off(e,t){let n=this.eventHandlers.get(e);n&&n.delete(t)}emit(e,t){let n=this.eventHandlers.get(e);n&&n.forEach(n=>{try{n(t)}catch(t){console.error(`Error in ${e} handler:`,t)}})}extractTokenValue(e){if(e.metadata?.token)return e.metadata.token;if(e.context?.metadata?.token)return e.context.metadata.token}restoreFromStorage(){try{let e=this.options.storage.getValue(`${this.options.storageKey}_context`);if(e){let t=JSON.parse(e);this.state={authenticated:t.authenticated,context:t.context,token:t.token,expiresAt:t.expiresAt?new Date(t.expiresAt):void 0,refreshToken:t.refreshToken,refreshTokenExpiresAt:t.refreshTokenExpiresAt?new Date(t.refreshTokenExpiresAt):void 0,sessionMetadata:t.sessionMetadata?{...t.sessionMetadata,loginTime:new Date(t.sessionMetadata.loginTime)}:void 0},this.options.autoRefresh&&this.state.expiresAt&&this.scheduleRefresh();return}}catch(e){console.error(`Error restoring auth context from storage:`,e)}let e=this.options.storage.getToken();e&&(this.state={authenticated:!0,token:e})}persistToStorage(){try{this.state.token&&this.options.storage.setToken(this.state.token);let e={authenticated:this.state.authenticated,context:this.state.context,token:this.state.token,expiresAt:this.state.expiresAt?.toISOString(),refreshToken:this.state.refreshToken,refreshTokenExpiresAt:this.state.refreshTokenExpiresAt?.toISOString(),sessionMetadata:this.state.sessionMetadata?{...this.state.sessionMetadata,loginTime:this.state.sessionMetadata.loginTime.toISOString()}:void 0};this.options.storage.setValue(`${this.options.storageKey}_context`,JSON.stringify(e))}catch(e){console.error(`Error persisting auth state to storage:`,e)}}clearStorage(){this.options.storage.removeToken(),this.options.storage.removeValue(`${this.options.storageKey}_context`)}notifyCrossTabSync(e){if(!(!this.options.crossTabSync.enabled||typeof window>`u`))try{let t={type:e,timestamp:Date.now()};this.options.storage.setValue(this.options.crossTabSync.syncKey,JSON.stringify(t))}catch(e){console.error(`Error notifying cross-tab sync:`,e)}}scheduleRefresh(){if(this.cancelRefresh(),!this.state.expiresAt)return;let e=Math.max(0,this.state.expiresAt.getTime()-Date.now()-this.options.refreshThreshold);this.refreshTimer=setTimeout(async()=>{this.state.refreshToken&&this.options.refreshConfig?await this.refreshToken():this.emit(`token-refreshed`,{needsRefresh:!0})},e)}cancelRefresh(){this.refreshTimer!==void 0&&(clearTimeout(this.refreshTimer),this.refreshTimer=void 0)}generateSessionId(){return`${Date.now()}-${Math.random().toString(36).slice(2,11)}`}destroy(){this.cancelRefresh(),this.cancelInactivityTimer(),this.disableCrossTabSync(),typeof window<`u`&&this.activityListener&&((this.options.inactivityConfig.events||[`click`,`keypress`,`mousemove`]).forEach(e=>{window.removeEventListener(e,this.activityListener)}),this.activityListener=void 0),this.eventHandlers.clear()}},gr=class{baseUrl;backendConfigs;backendClients;poolEntries;auth;middleware;defaultTimeout;defaultHeaders;healthCheckInterval;healthCheckTimer;enableHealthChecks;constructor(e){this.baseUrl=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl,this.backendConfigs=new Map(Object.entries(e.backends)),this.backendClients=new Map,this.poolEntries=new Map,this.auth=e.auth,this.middleware=e.middleware,this.defaultTimeout=e.defaultTimeout||3e4,this.defaultHeaders=e.defaultHeaders||{},this.healthCheckInterval=e.healthCheckInterval||3e4,this.enableHealthChecks=e.enableHealthChecks||!1;for(let[e,t]of this.backendConfigs)this.poolEntries.set(e,{name:e,config:t,connected:!1,healthy:!0});this.enableHealthChecks&&this.startHealthChecks()}get(e){let t=this.backendClients.get(e);if(t)return t;let n=this.backendConfigs.get(e);if(!n)throw Error(`Backend '${e}' not found in pool`);let r;return n.auth&&(r=n.auth instanceof hr?n.auth:new hr(n.auth)),t=new fr({name:e,config:n,baseUrl:this.baseUrl,auth:r||this.auth,middleware:this.middleware,defaultTimeout:this.defaultTimeout,defaultHeaders:this.defaultHeaders}),this.backendClients.set(e,t),t}has(e){return this.backendConfigs.has(e)}getNames(){return Array.from(this.backendConfigs.keys())}async connect(e){await this.get(e).connect();let t=this.poolEntries.get(e);t&&(t.connected=!0,t.healthy=!0)}async connectAll(){let e=Array.from(this.backendConfigs.keys()).map(e=>this.connect(e));await Promise.all(e)}async disconnect(e){let t=this.backendClients.get(e);if(t){await t.disconnect();let n=this.poolEntries.get(e);n&&(n.connected=!1)}}async disconnectAll(){let e=Array.from(this.backendClients.keys()).map(e=>this.disconnect(e));await Promise.all(e)}isConnected(e){return this.backendClients.get(e)?.isConnected()||!1}allConnected(){for(let e of this.backendConfigs.keys())if(!this.isConnected(e))return!1;return!0}getMetrics(e){let t=this.backendClients.get(e);if(t)return t.getMetrics();let n=this.backendConfigs.get(e);return{id:e,url:n?`${this.baseUrl}${n.path}`:this.baseUrl,state:`disconnected`,transport:n?.transport||`http`,requestsSent:0,responsesReceived:0,errors:0}}getAggregatedMetrics(){let e={},t=0,n=0,r=0,i=0,a=0;for(let o of this.backendConfigs.keys()){let s=this.getMetrics(o);e[o]=s,t+=s.requestsSent,n+=s.responsesReceived,r+=s.errors,s.avgLatency!==void 0&&(i+=s.avgLatency,a++)}return{backends:e,totalRequestsSent:t,totalResponsesReceived:n,totalErrors:r,avgLatency:a>0?i/a:0}}getPoolEntry(e){return this.poolEntries.get(e)}getAllPoolEntries(){return Array.from(this.poolEntries.values())}async checkHealth(e){let t=this.poolEntries.get(e);if(!t)return!1;try{let n=this.backendClients.get(e);if(!n)return t.healthy=!1,t.lastHealthCheck=Date.now(),!1;let r=n.isConnected();return t.healthy=r,t.lastHealthCheck=Date.now(),r}catch{return t.healthy=!1,t.lastHealthCheck=Date.now(),!1}}async checkAllHealth(){let e=new Map,t=Array.from(this.backendConfigs.keys()).map(async t=>{let n=await this.checkHealth(t);e.set(t,n)});return await Promise.all(t),e}getHealthyBackends(){return Array.from(this.poolEntries.values()).filter(e=>e.healthy).map(e=>e.name)}getUnhealthyBackends(){return Array.from(this.poolEntries.values()).filter(e=>!e.healthy).map(e=>e.name)}startHealthChecks(){this.healthCheckTimer||=setInterval(async()=>{await this.checkAllHealth()},this.healthCheckInterval)}stopHealthChecks(){this.healthCheckTimer&&=(clearInterval(this.healthCheckTimer),void 0)}addBackend(e,t){if(this.backendConfigs.has(e))throw Error(`Backend '${e}' already exists in pool`);this.backendConfigs.set(e,t),this.poolEntries.set(e,{name:e,config:t,connected:!1,healthy:!0})}async removeBackend(e){let t=this.backendClients.get(e);t&&(await t.destroy(),this.backendClients.delete(e)),this.backendConfigs.delete(e),this.poolEntries.delete(e)}async updateBackend(e,t){if(!this.backendConfigs.has(e))throw Error(`Backend '${e}' not found in pool`);let n=this.backendClients.get(e);n&&(await n.destroy(),this.backendClients.delete(e)),this.backendConfigs.set(e,t),this.poolEntries.set(e,{name:e,config:t,connected:!1,healthy:!0})}async destroy(){this.stopHealthChecks();let e=Array.from(this.backendClients.values()).map(e=>e.destroy());await Promise.all(e),this.backendClients.clear(),this.backendConfigs.clear(),this.poolEntries.clear()}},_r=class{config;defaultBackend;availableBackends;constructor(e,t,n){this.config=e,this.defaultBackend=t,this.availableBackends=new Set(n||[])}resolve(e){let t=this.parseServiceName(e);if(t.backend)return this.availableBackends.size>0&&!this.availableBackends.has(t.backend)?(console.warn(`ServiceRouter: Backend '${t.backend}' not found in available backends, using default backend '${this.defaultBackend}'`),this.defaultBackend):t.backend;let n=t.service;if(this.config.services?.[n])return this.config.services[n];if(this.config.patterns){for(let{pattern:e,backend:t}of this.config.patterns)if(this.matchPattern(n,e))return t}return this.defaultBackend}getServiceName(e){return this.parseServiceName(e).service}parseServiceName(e){let t=e.split(`.`);if(t.length>=2){let n=t[0];if((this.availableBackends.has(n)||this.config.services?.[e]===void 0)&&this.availableBackends.size>0&&this.availableBackends.has(n))return{backend:n,service:t.slice(1).join(`.`)}}return{service:e}}matchPattern(e,t){return t instanceof RegExp?t.test(e):e===t||e.startsWith(`${t}.`)||e.startsWith(t)}addServiceMapping(e,t){this.config.services||(this.config.services={}),this.config.services[e]=t}removeServiceMapping(e){return this.config.services?.[e]===void 0?!1:(delete this.config.services[e],!0)}addPattern(e,t){this.config.patterns||(this.config.patterns=[]),this.config.patterns.push({pattern:e,backend:t})}getConfig(){return this.config}getDefaultBackend(){return this.defaultBackend}setDefaultBackend(e){this.defaultBackend=e}setAvailableBackends(e){this.availableBackends=new Set(e)}isBackendAvailable(e){return this.availableBackends.size===0?!0:this.availableBackends.has(e)}};Kn();var vr=class{baseUrl;pool;router;middleware;defaultBackend;backendNames;constructor(e){if(this.baseUrl=e.baseUrl.endsWith(`/`)?e.baseUrl.slice(0,-1):e.baseUrl,this.backendNames=Object.keys(e.backends),this.defaultBackend=e.defaultBackend||this.backendNames[0]||``,this.defaultBackend&&!this.backendNames.includes(this.defaultBackend))throw Error(`Default backend '${this.defaultBackend}' not found in backends configuration`);if(this.middleware=new Gn,e.shared?.middleware)for(let t of e.shared.middleware)this.middleware.use(async(e,t)=>{await t()},t);let t={baseUrl:this.baseUrl,backends:e.backends,auth:e.shared?.auth,middleware:this.middleware,defaultTimeout:e.shared?.timeout,defaultHeaders:e.shared?.headers};this.pool=new gr(t),this.router=new _r(e.routing||{},this.defaultBackend,this.backendNames)}backend(e){return this.pool.get(e)}service(e){let t=this.router.resolve(e),n=this.router.getServiceName(e);return this.pool.get(t).service(n)}async invoke(e,t,n,r=[],i){return await this.pool.get(e).invoke(t,n,r,i)}getMetrics(){return this.pool.getAggregatedMetrics()}isConnected(e){return e?this.pool.isConnected(e):this.pool.allConnected()}async connect(e){e?await this.pool.connect(e):await this.pool.connectAll()}async disconnect(e){e?await this.pool.disconnect(e):await this.pool.disconnectAll()}getMiddleware(){return this.middleware}async destroy(){await this.pool.destroy(),this.middleware.clear()}getRouter(){return this.router}getPool(){return this.pool}getBackendNames(){return[...this.backendNames]}getDefaultBackend(){return this.defaultBackend}getBaseUrl(){return this.baseUrl}use(e,t,n){return this.middleware.use(e,t,n),this}async getHealth(){return await this.pool.checkAllHealth()}getHealthyBackends(){return this.pool.getHealthyBackends()}getUnhealthyBackends(){return this.pool.getUnhealthyBackends()}};function yr(e){let t=new vr(e);return new Proxy(t,{get(e,t){if(t in e||typeof t==`symbol`){let n=e[t];return typeof n==`function`?n.bind(e):n}if(e.getBackendNames().includes(t))return new Proxy({},{get(n,r){if(typeof r!=`symbol`)return e.backend(t).service(r)}})}})}Hn(),K(),sr(),Fn(),K(),sr(),K(),K(),K(),K(),K(),K(),Hn(),Nn(),K(),$n();var br=e({alerts:()=>Dr,auth:()=>wr,authRpc:()=>Ir,clearSession:()=>Br,daemon:()=>Cr,daemonClient:()=>$,deploy:()=>Ar,fleet:()=>Er,getSessionId:()=>Rr,infra:()=>kr,logs:()=>Tr,metrics:()=>Or,nodes:()=>Fr,pipelines:()=>jr,project:()=>Nr,setStorageToken:()=>zr,systemInfo:()=>Pr,traces:()=>Mr}),xr=`omnitron_token`,Sr=new hr({storage:new mr(xr),storageKey:xr,autoRefresh:!1,autoAttach:!0,crossTabSync:{enabled:!1},inactivityConfig:{timeout:0}}),$=yr({baseUrl:``,backends:{daemon:{path:``,auth:Sr}},defaultBackend:`daemon`}),Cr=$.daemon.OmnitronDaemon,wr=$.daemon.OmnitronAuth,Tr=$.daemon.OmnitronLogs,Er=$.daemon.OmnitronFleet,Dr=$.daemon.OmnitronAlerts,Or=$.daemon.OmnitronMetrics,kr=$.daemon.OmnitronInfra,Ar=$.daemon.OmnitronDeploy,jr=$.daemon.OmnitronPipelines,Mr=$.daemon.OmnitronTraces;$.daemon.OmnitronBackups,$.daemon.OmnitronKubernetes,$.daemon.OmnitronHealth,$.daemon.OmnitronDiscovery,$.daemon.OmnitronSecrets;var Nr=$.daemon.OmnitronProject,Pr=$.daemon.OmnitronSystemInfo,Fr=$.daemon.OmnitronNodes;function Ir(e,...t){let n=e===`signIn`||e===`validateToken`||e===`refreshSession`;return $.invoke(`daemon`,`OmnitronAuth`,e,t,n?{skipAuth:!0}:void 0)}function Lr(e){try{let t=e.split(`.`);if(t.length!==3)return null;let n=atob(t[1].replace(/-/g,`+`).replace(/_/g,`/`));return JSON.parse(n)}catch{return null}}function Rr(){let e=sessionStorage.getItem(xr);return e?Lr(e)?.sid??null:null}function zr(e){Sr.setToken(e)}function Br(){Sr.clearAuth()}export{zr as _,br as a,Ar as c,kr as d,Tr as f,Nr as g,jr as h,Br as i,Er as l,Fr as m,wr as n,Cr as o,Or as p,Ir as r,$ as s,Dr as t,Rr as u,Pr as v,Mr as y};
@@ -1 +0,0 @@
1
- var e={online:`success`,stopped:`default`,crashed:`error`,errored:`error`,starting:`warning`,stopping:`warning`},t={fatal:`#dc2626`,error:`#ef4444`,warn:`#f59e0b`,info:`#3b82f6`,debug:`#6b7280`,trace:`#9ca3af`};export{e as n,t};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DtcAfS_W.js";import{d as t}from"./client-DU8I_lDc.js";import{t as n}from"./Grid-14PETRQW.js";import{t as r}from"./Skeleton-B74-Ds6O.js";import{Et as i,J as a,Q as o,R as s,Vn as c,Vt as l,bn as u,gt as d,ht as f,i as p,jn as m,k as h,qt as g,r as _,st as v,tn as y,tt as b,z as x}from"./index-ByQDwp2r.js";import{t as S}from"./Card-vO88g06B.js";import{t as C}from"./CardContent-BA_Xmmhk.js";import{t as w}from"./Chip-Ckk0xUhK.js";import{a as T,i as E,n as D,r as O,t as k}from"./TableRow-BySEreZR.js";import{t as A}from"./TableContainer-CzTh4mu-.js";import{n as j,r as M,t as N}from"./DialogActions-BhHM7hov.js";import{t as P}from"./use-stack-context-DHLwZv1r.js";var F=e(c(),1),I=m(),L={running:`success`,exited:`error`,created:`default`,restarting:`warning`,paused:`info`},R={healthy:`success`,unhealthy:`error`,none:`default`,starting:`warning`};function z({title:e,value:t,icon:n,color:i,loading:a}){return(0,I.jsx)(S,{variant:`outlined`,children:(0,I.jsx)(C,{children:(0,I.jsxs)(f,{direction:`row`,alignItems:`center`,justifyContent:`space-between`,spacing:2,children:[(0,I.jsxs)(f,{spacing:.5,children:[(0,I.jsx)(l,{variant:`body2`,color:`text.secondary`,children:e}),a?(0,I.jsx)(r,{width:60,height:40}):(0,I.jsx)(l,{variant:`h4`,children:t})]}),(0,I.jsx)(g,{sx:{p:1.5,borderRadius:2,bgcolor:e=>y(e.palette[i].main,.12),color:`${i}.main`,display:`flex`},children:n})]})})})}function B({open:e,containerName:t,logs:n,onClose:r}){return(0,I.jsxs)(p,{open:e,onClose:r,maxWidth:`md`,fullWidth:!0,children:[(0,I.jsxs)(M,{sx:{fontFamily:`monospace`},children:[`Logs: `,t]}),(0,I.jsx)(j,{dividers:!0,children:(0,I.jsx)(g,{sx:{bgcolor:`#0d1117`,color:`#c9d1d9`,fontFamily:`monospace`,fontSize:12,lineHeight:1.6,p:2,borderRadius:1,maxHeight:400,overflow:`auto`,whiteSpace:`pre-wrap`,wordBreak:`break-all`},children:n.length===0?`No logs available.`:n.map((e,t)=>(0,I.jsx)(`div`,{children:e},t))})}),(0,I.jsx)(N,{children:(0,I.jsx)(h,{onClick:r,size:`small`,children:`Close`})})]})}function V(){let{activeProject:e,activeStack:c}=P(),[p,m]=(0,F.useState)([]),[h,g]=(0,F.useState)(!0),[y,C]=(0,F.useState)(null),j=p.filter(t=>{if(!e)return!0;let n=c?`${e}-${c}-`:`${e}-`;return t.name.startsWith(n)||t.name.startsWith(`omnitron-`)}),[M,N]=(0,F.useState)(!1),[V,H]=(0,F.useState)(``),[U,W]=(0,F.useState)([]),G=(0,F.useCallback)(async()=>{try{let e=await t.listContainers();m(Array.isArray(e)?e:[]),C(null)}catch(e){m([]),C(e?.message??`Failed to fetch containers`)}finally{g(!1)}},[]);(0,F.useEffect)(()=>{G();let e=setInterval(G,1e4);return()=>clearInterval(e)},[G]);let K=j.length,q=j.filter(e=>e.status===`running`).length,J=j.filter(e=>e.status===`exited`).length,Y=j.filter(e=>e.health===`unhealthy`).length,X=async e=>{try{await t.startContainer(e),G()}catch(e){C(e?.message??`Failed to start container`)}},Z=async e=>{try{await t.stopContainer(e),G()}catch(e){C(e?.message??`Failed to stop container`)}},Q=async e=>{try{await t.removeContainer(e),G()}catch(e){C(e?.message??`Failed to remove container`)}},$=async e=>{try{let n=await t.getContainerLogs(e.id,100);H(e.name),W(Array.isArray(n)?n:[]),N(!0)}catch(e){C(e?.message??`Failed to fetch container logs`)}};return(0,I.jsxs)(f,{spacing:3,children:[(0,I.jsx)(u,{links:[{name:`Containers`}],action:(0,I.jsx)(i,{size:`small`,onClick:G,title:`Refresh`,children:(0,I.jsx)(b,{})})}),y&&(0,I.jsx)(_,{severity:`warning`,variant:`outlined`,onClose:()=>C(null),children:y}),(0,I.jsxs)(n,{container:!0,spacing:3,children:[(0,I.jsx)(n,{size:{xs:12,sm:6,md:3},children:(0,I.jsx)(z,{title:`Total`,value:K,icon:(0,I.jsx)(x,{}),color:`primary`,loading:h})}),(0,I.jsx)(n,{size:{xs:12,sm:6,md:3},children:(0,I.jsx)(z,{title:`Running`,value:q,icon:(0,I.jsx)(x,{}),color:`success`,loading:h})}),(0,I.jsx)(n,{size:{xs:12,sm:6,md:3},children:(0,I.jsx)(z,{title:`Stopped`,value:J,icon:(0,I.jsx)(x,{}),color:J>0?`error`:`info`,loading:h})}),(0,I.jsx)(n,{size:{xs:12,sm:6,md:3},children:(0,I.jsx)(z,{title:`Unhealthy`,value:Y,icon:(0,I.jsx)(x,{}),color:Y>0?`error`:`success`,loading:h})})]}),(0,I.jsx)(S,{variant:`outlined`,children:(0,I.jsx)(A,{children:(0,I.jsxs)(T,{size:`small`,children:[(0,I.jsx)(D,{children:(0,I.jsxs)(k,{children:[(0,I.jsx)(O,{children:`Name`}),(0,I.jsx)(O,{children:`Image`}),(0,I.jsx)(O,{children:`Status`}),(0,I.jsx)(O,{children:`Health`}),(0,I.jsx)(O,{children:`Ports`}),(0,I.jsx)(O,{align:`right`,children:`Actions`})]})}),(0,I.jsx)(E,{children:h?[...[,,,]].map((e,t)=>(0,I.jsx)(k,{children:[...[,,,,,,]].map((e,t)=>(0,I.jsx)(O,{children:(0,I.jsx)(r,{width:80,height:20})},t))},t)):j.length===0?(0,I.jsx)(k,{children:(0,I.jsx)(O,{colSpan:6,sx:{textAlign:`center`,py:6},children:(0,I.jsx)(l,{variant:`body2`,color:`text.secondary`,children:`No containers found. Infrastructure containers will appear here when Docker is running.`})})}):j.map(e=>(0,I.jsxs)(k,{hover:!0,sx:{"&:last-child td":{borderBottom:0}},children:[(0,I.jsx)(O,{children:(0,I.jsx)(l,{variant:`body2`,fontWeight:600,children:e.name})}),(0,I.jsx)(O,{children:(0,I.jsx)(l,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:13},children:e.image})}),(0,I.jsx)(O,{children:(0,I.jsx)(w,{label:e.status,size:`small`,color:L[e.status]??`default`,variant:`filled`,sx:{textTransform:`capitalize`,fontWeight:600}})}),(0,I.jsx)(O,{children:(0,I.jsx)(w,{label:e.health,size:`small`,color:R[e.health]??`default`,variant:`outlined`,sx:{textTransform:`capitalize`}})}),(0,I.jsx)(O,{children:(0,I.jsx)(l,{variant:`caption`,sx:{fontFamily:`monospace`,fontSize:12},children:e.ports.length>0?e.ports.join(`, `):`--`})}),(0,I.jsx)(O,{align:`right`,children:(0,I.jsxs)(f,{direction:`row`,spacing:.5,justifyContent:`flex-end`,children:[(0,I.jsx)(d,{title:`Remove`,children:(0,I.jsx)(i,{size:`small`,color:`error`,onClick:()=>Q(e.id),children:(0,I.jsx)(s,{fontSize:`small`})})}),(0,I.jsx)(d,{title:`Logs`,children:(0,I.jsx)(i,{size:`small`,onClick:()=>$(e),children:(0,I.jsx)(a,{fontSize:`small`})})}),e.status!==`running`&&(0,I.jsx)(d,{title:`Start`,children:(0,I.jsx)(i,{size:`small`,color:`success`,onClick:()=>X(e.id),children:(0,I.jsx)(o,{fontSize:`small`})})}),e.status===`running`&&(0,I.jsx)(d,{title:`Stop`,children:(0,I.jsx)(i,{size:`small`,color:`warning`,onClick:()=>Z(e.id),children:(0,I.jsx)(v,{fontSize:`small`})})})]})})]},e.id))})]})})}),(0,I.jsx)(B,{open:M,containerName:V,logs:U,onClose:()=>N(!1)})]})}export{V as default};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DtcAfS_W.js";import{o as t,p as n}from"./client-DU8I_lDc.js";import{t as r}from"./Grid-14PETRQW.js";import{Dn as i,N as a,O as o,Vn as s,Vt as c,Y as l,Zt as u,ht as d,jn as f,mt as p,ot as m,pn as h,qt as g,r as _,tn as v,z as y}from"./index-ByQDwp2r.js";import{t as b}from"./Card-vO88g06B.js";import{t as x}from"./CardContent-BA_Xmmhk.js";import{t as S}from"./Chip-Ckk0xUhK.js";import{o as C,r as w}from"./formatters-Do41SRmE.js";import{t as T}from"./use-stack-context-DHLwZv1r.js";var E=e(s(),1),D=f();function O({app:e}){let t=u(),n=e.name.includes(`/`)?e.name.split(`/`).pop():e.name,r=e.status===`online`?t.palette.success.main:e.status===`errored`||e.status===`crashed`?t.palette.error.main:e.status===`starting`?t.palette.warning.main:t.palette.text.disabled,i=[{label:`PID`,value:e.pid??`--`},{label:`Uptime`,value:C(e.uptime)},{label:`CPU`,value:e.cpu>0?`${e.cpu.toFixed(1)}%`:`--`},{label:`Memory`,value:w(e.memory)},{label:`Restarts`,value:e.restarts}];return(0,D.jsx)(b,{variant:`outlined`,sx:{height:`100%`,borderRadius:2},children:(0,D.jsxs)(x,{sx:{p:2.5,"&:last-child":{pb:2.5}},children:[(0,D.jsxs)(d,{direction:`row`,alignItems:`center`,justifyContent:`space-between`,sx:{mb:1.5},children:[(0,D.jsx)(c,{variant:`subtitle2`,fontWeight:700,children:n}),(0,D.jsx)(S,{label:e.status,size:`small`,sx:{height:22,fontSize:`0.7rem`,fontWeight:600,bgcolor:v(r,.12),color:r,border:`1px solid ${v(r,.3)}`}})]}),(0,D.jsx)(o,{sx:{mb:1}}),(0,D.jsx)(d,{spacing:.5,children:i.map(e=>(0,D.jsxs)(d,{direction:`row`,justifyContent:`space-between`,alignItems:`center`,sx:{py:.25},children:[(0,D.jsx)(c,{variant:`caption`,color:`text.secondary`,children:e.label}),(0,D.jsx)(c,{variant:`caption`,fontWeight:600,children:e.value})]},e.label))}),e.processes&&e.processes.length>0&&(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(o,{sx:{my:1}}),(0,D.jsx)(c,{variant:`caption`,color:`text.secondary`,fontWeight:600,sx:{mb:.5,display:`block`},children:`Processes`}),(0,D.jsx)(d,{spacing:.25,children:e.processes.map(e=>(0,D.jsxs)(d,{direction:`row`,justifyContent:`space-between`,alignItems:`center`,children:[(0,D.jsx)(c,{variant:`caption`,color:`text.secondary`,sx:{fontSize:`0.68rem`},children:e.name}),(0,D.jsx)(S,{label:e.status,size:`small`,sx:{height:16,fontSize:`0.6rem`,fontWeight:600,bgcolor:v(e.status===`online`?`#22c55e`:e.status===`stopped`?`#6b7280`:`#ef4444`,.1),color:e.status===`online`?`#22c55e`:e.status===`stopped`?`#6b7280`:`#ef4444`}})]},e.name))})]})]})})}function k({apps:e,activeStack:t}){if(t||e.every(e=>!e.name.includes(`/`)))return(0,D.jsx)(r,{container:!0,spacing:2.5,children:e.map(e=>(0,D.jsx)(r,{size:{xs:12,sm:6,md:4,lg:3},children:(0,D.jsx)(O,{app:e})},e.name))});let n=new Map;for(let t of e){let e=t.name.split(`/`),r=e.length>=3?e[1]:`default`;n.has(r)||n.set(r,[]),n.get(r).push(t)}return(0,D.jsx)(d,{spacing:3,children:Array.from(n.entries()).map(([e,t])=>(0,D.jsxs)(g,{children:[(0,D.jsxs)(d,{direction:`row`,alignItems:`center`,gap:1,sx:{mb:1.5},children:[(0,D.jsx)(g,{sx:{width:8,height:8,borderRadius:`50%`,bgcolor:t.every(e=>e.status===`online`)?`#22c55e`:`#eab308`}}),(0,D.jsx)(c,{variant:`subtitle2`,fontWeight:700,textTransform:`uppercase`,letterSpacing:.5,children:e}),(0,D.jsxs)(c,{variant:`caption`,color:`text.secondary`,children:[t.filter(e=>e.status===`online`).length,`/`,t.length,` online`]})]}),(0,D.jsx)(r,{container:!0,spacing:2.5,children:t.map(e=>(0,D.jsx)(r,{size:{xs:12,sm:6,md:4,lg:3},children:(0,D.jsx)(O,{app:e})},e.name))})]},e))})}function A(){return(0,D.jsx)(D.Fragment,{children:Array.from({length:4}).map((e,t)=>(0,D.jsx)(r,{size:{xs:6,sm:3},children:(0,D.jsx)(i,{label:``,value:``,loading:!0,sx:{height:`100%`}})},t))})}function j(){u();let[e,o]=(0,E.useState)([]),[s,f]=(0,E.useState)(null),[v,b]=(0,E.useState)(!0),[x,S]=(0,E.useState)(null),C=(0,E.useRef)(!0),{filterApps:O,activeStack:j}=T(),M=h(),N=(0,E.useCallback)(async()=>{try{let[e,r]=await Promise.allSettled([t.list(),n.getSnapshot()]);e.status===`fulfilled`&&o(e.value),r.status===`fulfilled`&&f(r.value),S(null)}catch(e){S(e?.message??`Failed to connect to daemon`)}finally{C.current&&=(b(!1),!1)}},[]),P=p(e=>e.connected),F=p(e=>e.lastEvent),I=p(e=>e.initialize);(0,E.useEffect)(()=>I(),[I]),(0,E.useEffect)(()=>{N();let e=setInterval(N,P?15e3:5e3);return()=>clearInterval(e)},[N,P]),(0,E.useEffect)(()=>{F&&N()},[F,N]);let L=O(e),R=s?.apps??{},z=L.length,B=L.filter(e=>e.status===`online`).length,V=z-B,H=L.reduce((e,t)=>e+(R[t.name]?.cpu??t.cpu),0),U=L.reduce((e,t)=>e+(R[t.name]?.memory??t.memory),0),W=M.filter(e=>e.status===`running`).length,G=H>80?`error`:H>60?`warning`:`success`,K=U/(1024*1024),q=K>2048?`error`:K>1024?`warning`:`info`;return(0,D.jsxs)(d,{spacing:3,children:[x&&(0,D.jsx)(_,{severity:`warning`,variant:`outlined`,children:x}),(0,D.jsx)(r,{container:!0,spacing:2.5,children:v?(0,D.jsx)(A,{}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(r,{size:{xs:6,sm:3},children:(0,D.jsx)(i,{label:`Applications`,value:z===0?`0`:`${B}/${z}`,subtitle:z===0?`No apps yet`:V>0?`${V} offline`:`All online`,icon:(0,D.jsx)(a,{sx:{fontSize:28}}),color:z===0?`secondary`:V>0?`warning`:`success`,sx:{height:`100%`}})}),(0,D.jsx)(r,{size:{xs:6,sm:3},children:(0,D.jsx)(i,{label:`Stacks`,value:M.length>0?`${W}/${M.length}`:`1`,subtitle:M.length>0?`${W} running`:`Local`,icon:(0,D.jsx)(m,{sx:{fontSize:28}}),color:W>0?`primary`:`secondary`,sx:{height:`100%`}})}),(0,D.jsx)(r,{size:{xs:6,sm:3},children:(0,D.jsx)(i,{label:`CPU Usage`,value:`${H.toFixed(1)}%`,icon:(0,D.jsx)(l,{sx:{fontSize:28}}),color:G,sx:{height:`100%`}})}),(0,D.jsx)(r,{size:{xs:6,sm:3},children:(0,D.jsx)(i,{label:`Memory`,value:w(U),icon:(0,D.jsx)(y,{sx:{fontSize:28}}),color:q,sx:{height:`100%`}})})]})}),L.length>0&&(0,D.jsxs)(g,{children:[(0,D.jsx)(c,{variant:`h6`,fontWeight:700,sx:{mb:2},children:`Application Status`}),(0,D.jsx)(k,{apps:L,activeStack:j})]})]})}export{j as default};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DtcAfS_W.js";import{o as t,t as n}from"./client-DU8I_lDc.js";import{t as r}from"./Grid-14PETRQW.js";import{t as i}from"./Skeleton-B74-Ds6O.js";import{t as a}from"./TextField-BLf-BHz2.js";import{$ as o,Et as s,R as c,Vn as l,Vt as u,Zt as d,bn as f,gt as p,ht as m,i as h,jn as g,k as _,o as v,qt as y,s as b,tn as x,tt as S}from"./index-ByQDwp2r.js";import{t as C}from"./Card-vO88g06B.js";import{t as w}from"./CardContent-BA_Xmmhk.js";import{t as T}from"./Chip-Ckk0xUhK.js";import{t as E}from"./Switch-DvWD2wh4.js";import{n as D,r as O,t as k}from"./DialogActions-BhHM7hov.js";import{o as A,r as j}from"./formatters-Do41SRmE.js";import{t as M}from"./react-apexcharts.esm-CSGK5Cxn.js";var N=e(l(),1),P=g(),F=`omnitron_dashboards_v2`;function I(){try{let e=localStorage.getItem(F);return e?JSON.parse(e):[]}catch{return[]}}function L(e){localStorage.setItem(F,JSON.stringify(e))}var R={small:{xs:6,sm:4,md:3},medium:{xs:12,sm:6,md:4},large:{xs:12,md:6},full:{xs:12}};function z(e){let[n,r]=(0,N.useState)({status:null,apps:[],loading:!0,error:null});return(0,N.useEffect)(()=>{let e=!0;return(async()=>{try{let[n,i]=await Promise.all([t.status(),t.list()]);e&&r({status:n,apps:i,loading:!1,error:null})}catch(t){e&&r(e=>({...e,loading:!1,error:t?.message??`Failed to fetch`}))}})(),()=>{e=!1}},[e]),n}function B(e,t,n,r=60){let i=(0,N.useRef)([]);return(0,N.useEffect)(()=>{if(e.length===0)return;let t=Date.now(),a={};for(let t of e)a[t.name]=n===`cpu`?t.cpu:t.memory/(1024*1024);i.current.push({time:t,values:a}),i.current.length>r&&(i.current=i.current.slice(-r))},[e,t,n,r]),i.current}function V({data:e}){let t=d();if(e.loading)return(0,P.jsx)(i,{variant:`rectangular`,height:120});if(!e.status)return(0,P.jsx)(u,{variant:`body2`,color:`text.secondary`,children:`Daemon offline`});let{status:n}=e,r=e.apps.filter(e=>e.status===`online`).length,a=[{label:`PID`,value:String(n.pid)},{label:`Version`,value:n.version},{label:`Uptime`,value:A(n.uptime)},{label:`Memory`,value:j(n.totalMemory)},{label:`Apps`,value:`${r} / ${e.apps.length}`}];return(0,P.jsxs)(m,{spacing:.75,children:[(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,spacing:1,sx:{mb:.5},children:[(0,P.jsx)(y,{sx:{width:8,height:8,borderRadius:`50%`,bgcolor:t.palette.success.main}}),(0,P.jsx)(u,{variant:`caption`,fontWeight:600,color:`success.main`,children:`RUNNING`})]}),a.map(e=>(0,P.jsxs)(m,{direction:`row`,justifyContent:`space-between`,children:[(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:e.label}),(0,P.jsx)(u,{variant:`caption`,fontWeight:600,children:e.value})]},e.label))]})}function H({data:e}){let t=d();return e.loading?(0,P.jsx)(i,{variant:`rectangular`,height:100}):(0,P.jsxs)(m,{spacing:.5,children:[e.apps.map(e=>{let n=e.status===`online`?t.palette.success.main:e.status===`errored`||e.status===`crashed`?t.palette.error.main:t.palette.text.disabled;return(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,justifyContent:`space-between`,sx:{py:.5},children:[(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,spacing:1,children:[(0,P.jsx)(y,{sx:{width:6,height:6,borderRadius:`50%`,bgcolor:n}}),(0,P.jsx)(u,{variant:`body2`,fontWeight:500,children:e.name})]}),(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,spacing:1.5,children:[e.cpu>0&&(0,P.jsxs)(u,{variant:`caption`,color:`text.secondary`,children:[e.cpu.toFixed(1),`%`]}),e.memory>0&&(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:j(e.memory)}),(0,P.jsx)(T,{label:e.status,size:`small`,sx:{height:18,fontSize:`0.6rem`,fontWeight:600,bgcolor:x(n,.12),color:n}})]})]},e.name)}),e.apps.length===0&&(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:`No applications configured`})]})}function U({data:e,refreshKey:t,metric:n}){let r=d(),a=B(e.apps,t,n),o=(0,N.useMemo)(()=>e.apps.map(e=>e.name),[e.apps]),s=(0,N.useMemo)(()=>o.map(e=>({name:e,data:a.map(t=>({x:t.time,y:Math.round((t.values[e]??0)*10)/10}))})),[o,a]),c=(0,N.useMemo)(()=>({chart:{background:`transparent`,toolbar:{show:!1},animations:{enabled:!0,easing:`linear`,dynamicAnimation:{speed:1e3}}},theme:{mode:`dark`},colors:[`#6366f1`,`#22d3ee`,`#f97316`,`#a78bfa`,`#22c55e`],grid:{borderColor:x(r.palette.divider,.3),strokeDashArray:3},xaxis:{type:`datetime`,labels:{style:{colors:r.palette.text.disabled,fontSize:`10px`},datetimeFormatter:{hour:`HH:mm`,minute:`HH:mm:ss`}},axisBorder:{show:!1},axisTicks:{show:!1}},yaxis:{labels:{style:{colors:r.palette.text.disabled,fontSize:`10px`},formatter:e=>n===`memory`?`${Math.round(e)}MB`:`${e.toFixed(1)}%`},min:0},stroke:{curve:`smooth`,width:2},fill:{type:`gradient`,gradient:{shadeIntensity:0,opacityFrom:.3,opacityTo:.05}},tooltip:{theme:`dark`,x:{format:`HH:mm:ss`}},legend:{labels:{colors:r.palette.text.secondary},fontSize:`11px`,position:`bottom`,offsetY:4}}),[r,n]);return e.loading?(0,P.jsx)(i,{variant:`rectangular`,height:200}):a.length<2?(0,P.jsx)(y,{sx:{display:`flex`,alignItems:`center`,justifyContent:`center`,height:200},children:(0,P.jsxs)(m,{alignItems:`center`,spacing:1,children:[(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:`Collecting data...`}),(0,P.jsx)(v,{sx:{width:120}})]})}):(0,P.jsx)(M,{type:`area`,height:200,options:c,series:s})}function W({data:e,config:t}){let n=d(),r=t.metric??`total_apps`;if(e.loading)return(0,P.jsx)(i,{width:80,height:50});let a=`--`,o=``,s=n.palette.primary.main,c=e.apps.filter(e=>e.status===`online`).length,l=e.status?.totalCpu??e.apps.reduce((e,t)=>e+t.cpu,0),f=e.status?.totalMemory??e.apps.reduce((e,t)=>e+t.memory,0);switch(r){case`total_apps`:a=e.apps.length,o=`Total Apps`;break;case`online_apps`:a=c,o=`Online`,s=c>0?n.palette.success.main:n.palette.error.main;break;case`errored_apps`:a=e.apps.filter(e=>e.status===`errored`||e.status===`crashed`).length,o=`Errored`,s=n.palette.error.main;break;case`total_cpu`:a=`${l.toFixed(1)}%`,o=`CPU`,s=l>80?n.palette.error.main:l>60?n.palette.warning.main:n.palette.success.main;break;case`total_memory`:a=j(f),o=`Memory`,s=n.palette.info.main;break;case`uptime`:a=e.status?A(e.status.uptime):`--`,o=`Uptime`,s=n.palette.success.main;break;case`restarts`:a=e.apps.reduce((e,t)=>e+t.restarts,0),o=`Restarts`,s=Number(a)>0?n.palette.warning.main:n.palette.text.disabled;break}return(0,P.jsxs)(y,{sx:{textAlign:`center`,py:1.5},children:[(0,P.jsx)(u,{variant:`h3`,fontWeight:800,sx:{color:s,lineHeight:1.2},children:a}),(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,fontWeight:600,textTransform:`uppercase`,letterSpacing:.5,children:o})]})}function G(){let e=d(),[t,r]=(0,N.useState)(null),[a,o]=(0,N.useState)(!0);return(0,N.useEffect)(()=>{(async()=>{try{r(await n.getSummary())}catch{r(null)}finally{o(!1)}})()},[]),a?(0,P.jsx)(i,{variant:`rectangular`,height:80}):(0,P.jsx)(m,{spacing:1,children:[{label:`Critical`,count:t?.bySeverity?.critical??0,color:e.palette.error.main},{label:`Warning`,count:t?.bySeverity?.warning??0,color:e.palette.warning.main},{label:`Info`,count:t?.bySeverity?.info??0,color:e.palette.info.main}].map(e=>(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,justifyContent:`space-between`,sx:{py:.5,px:1,borderRadius:1,bgcolor:x(e.color,.06)},children:[(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,spacing:1,children:[(0,P.jsx)(y,{sx:{width:8,height:8,borderRadius:`50%`,bgcolor:e.color}}),(0,P.jsx)(u,{variant:`body2`,fontWeight:500,children:e.label})]}),(0,P.jsx)(u,{variant:`subtitle2`,fontWeight:700,sx:{color:e.color},children:e.count})]},e.label))})}function K({data:e}){let t=d(),n=e.apps.filter(e=>e.status===`errored`||e.status===`crashed`),r=e.apps.reduce((e,t)=>e+t.restarts,0);return e.loading?(0,P.jsx)(i,{variant:`rectangular`,height:80}):n.length===0&&r===0?(0,P.jsx)(y,{sx:{py:3,textAlign:`center`},children:(0,P.jsx)(u,{variant:`body2`,color:`text.secondary`,children:`No errors or restarts`})}):(0,P.jsxs)(m,{spacing:.5,children:[n.map(e=>(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,spacing:1,sx:{py:.5,px:1,borderRadius:1,bgcolor:x(t.palette.error.main,.06)},children:[(0,P.jsx)(y,{sx:{width:6,height:6,borderRadius:`50%`,bgcolor:t.palette.error.main}}),(0,P.jsx)(u,{variant:`caption`,fontWeight:600,children:e.name}),(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:e.status})]},e.name)),r>0&&(0,P.jsxs)(u,{variant:`caption`,color:`warning.main`,sx:{pt:.5},children:[r,` total restart`,r===1?``:`s`,` across all apps`]})]})}function q({panel:e,data:t,refreshKey:n}){switch(e.type){case`daemon-info`:return(0,P.jsx)(V,{data:t});case`app-grid`:return(0,P.jsx)(H,{data:t});case`cpu-chart`:return(0,P.jsx)(U,{data:t,refreshKey:n,metric:`cpu`});case`memory-chart`:return(0,P.jsx)(U,{data:t,refreshKey:n,metric:`memory`});case`stat`:return(0,P.jsx)(W,{data:t,config:e.config});case`alert-summary`:return(0,P.jsx)(G,{});case`recent-errors`:return(0,P.jsx)(K,{data:t});default:return(0,P.jsx)(u,{variant:`body2`,color:`text.secondary`,children:`Unknown panel type`})}}var J=[{value:`stat`,label:`Stat`,description:`Single metric value`,defaultSize:`small`},{value:`daemon-info`,label:`Daemon Info`,description:`Daemon process information`,defaultSize:`medium`},{value:`app-grid`,label:`App Status`,description:`Application status list`,defaultSize:`large`},{value:`cpu-chart`,label:`CPU Chart`,description:`Per-app CPU usage over time`,defaultSize:`large`},{value:`memory-chart`,label:`Memory Chart`,description:`Per-app memory usage over time`,defaultSize:`large`},{value:`alert-summary`,label:`Alerts`,description:`Active alerts by severity`,defaultSize:`medium`},{value:`recent-errors`,label:`Errors`,description:`Recent errors and restarts`,defaultSize:`medium`}],Y=[{value:`total_apps`,label:`Total Apps`},{value:`online_apps`,label:`Online Apps`},{value:`errored_apps`,label:`Errored Apps`},{value:`total_cpu`,label:`Total CPU`},{value:`total_memory`,label:`Total Memory`},{value:`uptime`,label:`Daemon Uptime`},{value:`restarts`,label:`Total Restarts`}];function X(){return{id:crypto.randomUUID(),name:`Overview`,panels:[{id:crypto.randomUUID(),type:`stat`,title:`Online`,size:`small`,config:{metric:`online_apps`}},{id:crypto.randomUUID(),type:`stat`,title:`Errored`,size:`small`,config:{metric:`errored_apps`}},{id:crypto.randomUUID(),type:`stat`,title:`CPU`,size:`small`,config:{metric:`total_cpu`}},{id:crypto.randomUUID(),type:`stat`,title:`Memory`,size:`small`,config:{metric:`total_memory`}},{id:crypto.randomUUID(),type:`cpu-chart`,title:`CPU Usage`,size:`large`,config:{}},{id:crypto.randomUUID(),type:`memory-chart`,title:`Memory Usage`,size:`large`,config:{}},{id:crypto.randomUUID(),type:`app-grid`,title:`Applications`,size:`large`,config:{}},{id:crypto.randomUUID(),type:`daemon-info`,title:`Daemon`,size:`medium`,config:{}},{id:crypto.randomUUID(),type:`recent-errors`,title:`Errors & Restarts`,size:`medium`,config:{}}],refreshInterval:5e3}}function Z({open:e,onClose:t,onAdd:n}){let[r,i]=(0,N.useState)(`stat`),[o,s]=(0,N.useState)(``),[c,l]=(0,N.useState)(`online_apps`),[d,f]=(0,N.useState)(`small`);return(0,N.useEffect)(()=>{let e=J.find(e=>e.value===r);e&&f(e.defaultSize)},[r]),(0,P.jsxs)(h,{open:e,onClose:t,maxWidth:`xs`,fullWidth:!0,children:[(0,P.jsx)(O,{sx:{fontWeight:700},children:`Add Panel`}),(0,P.jsx)(D,{children:(0,P.jsxs)(m,{spacing:2.5,sx:{mt:1},children:[(0,P.jsx)(a,{select:!0,label:`Panel Type`,value:r,onChange:e=>i(e.target.value),size:`small`,fullWidth:!0,children:J.map(e=>(0,P.jsx)(b,{value:e.value,children:(0,P.jsxs)(m,{children:[(0,P.jsx)(u,{variant:`body2`,fontWeight:600,children:e.label}),(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:e.description})]})},e.value))}),(0,P.jsx)(a,{label:`Title`,value:o,onChange:e=>s(e.target.value),size:`small`,fullWidth:!0,placeholder:`Optional custom title`}),r===`stat`&&(0,P.jsx)(a,{select:!0,label:`Metric`,value:c,onChange:e=>l(e.target.value),size:`small`,fullWidth:!0,children:Y.map(e=>(0,P.jsx)(b,{value:e.value,children:e.label},e.value))}),(0,P.jsxs)(a,{select:!0,label:`Size`,value:d,onChange:e=>f(e.target.value),size:`small`,fullWidth:!0,children:[(0,P.jsx)(b,{value:`small`,children:`Small (1/4 width)`}),(0,P.jsx)(b,{value:`medium`,children:`Medium (1/3 width)`}),(0,P.jsx)(b,{value:`large`,children:`Large (1/2 width)`}),(0,P.jsx)(b,{value:`full`,children:`Full width`})]})]})}),(0,P.jsxs)(k,{children:[(0,P.jsx)(_,{onClick:t,size:`small`,children:`Cancel`}),(0,P.jsx)(_,{variant:`contained`,onClick:()=>{let e={};r===`stat`&&(e.metric=c),n({id:crypto.randomUUID(),type:r,title:o||J.find(e=>e.value===r)?.label||`Panel`,size:d,config:e}),s(``),i(`stat`),t()},size:`small`,children:`Add`})]})]})}function Q(){let e=d(),[t,n]=(0,N.useState)(()=>I()),[i,a]=(0,N.useState)(null),[l,h]=(0,N.useState)(!1),[g,v]=(0,N.useState)(!0),[y,b]=(0,N.useState)(0);(0,N.useEffect)(()=>{if(t.length===0){let e=X();n([e]),a(e.id),L([e])}else i||a(t[0].id)},[t,i]);let D=t.find(e=>e.id===i);(0,N.useEffect)(()=>{if(!g||!D)return;let e=setInterval(()=>b(e=>e+1),D.refreshInterval);return()=>clearInterval(e)},[g,D]);let O=z(y),k=(0,N.useCallback)(e=>{n(t=>{let n=t.map(t=>t.id===i?e(t):t);return L(n),n})},[i]),A=e=>{k(t=>({...t,panels:[...t.panels,e]}))},j=e=>{k(t=>({...t,panels:t.panels.filter(t=>t.id!==e)}))};return(0,P.jsxs)(m,{spacing:2.5,children:[(0,P.jsx)(f,{links:[{name:`Dashboard Builder`}],action:(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,spacing:1,children:[(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,children:`Auto-refresh`}),(0,P.jsx)(E,{size:`small`,checked:g,onChange:(e,t)=>v(t)}),(0,P.jsx)(p,{title:`Refresh now`,children:(0,P.jsx)(s,{size:`small`,onClick:()=>b(e=>e+1),children:(0,P.jsx)(S,{})})})]})}),(0,P.jsxs)(m,{direction:`row`,spacing:1,alignItems:`center`,flexWrap:`wrap`,children:[t.map(e=>(0,P.jsx)(T,{label:e.name,onClick:()=>a(e.id),color:e.id===i?`primary`:`default`,variant:e.id===i?`filled`:`outlined`,size:`small`},e.id)),t.length>1&&(0,P.jsx)(_,{size:`small`,color:`error`,onClick:()=>{if(!i||t.length<=1)return;let e=t.filter(e=>e.id!==i);n(e),a(e[0]?.id??null),L(e)},sx:{textTransform:`none`,fontSize:`0.75rem`},children:`Delete`}),(0,P.jsx)(_,{size:`small`,startIcon:(0,P.jsx)(o,{}),onClick:()=>{let e={id:crypto.randomUUID(),name:`Dashboard ${t.length+1}`,panels:[],refreshInterval:5e3},r=[...t,e];n(r),a(e.id),L(r)},sx:{textTransform:`none`,fontSize:`0.75rem`},children:`New`})]}),D&&(0,P.jsxs)(r,{container:!0,spacing:2.5,children:[D.panels.map(t=>(0,P.jsx)(r,{size:R[t.size]??R.medium,children:(0,P.jsxs)(C,{variant:`outlined`,sx:{height:`100%`,borderRadius:2,transition:`box-shadow 0.2s`,"&:hover":{boxShadow:`0 0 0 1px ${x(e.palette.primary.main,.2)}`}},children:[(0,P.jsxs)(m,{direction:`row`,alignItems:`center`,justifyContent:`space-between`,sx:{px:2,pt:1.5,pb:0},children:[(0,P.jsx)(u,{variant:`caption`,fontWeight:700,color:`text.secondary`,textTransform:`uppercase`,letterSpacing:.5,children:t.title}),(0,P.jsx)(s,{size:`small`,onClick:()=>j(t.id),sx:{opacity:.4,"&:hover":{opacity:1}},children:(0,P.jsx)(c,{sx:{fontSize:14}})})]}),(0,P.jsx)(w,{sx:{pt:1,pb:2,"&:last-child":{pb:2}},children:(0,P.jsx)(q,{panel:t,data:O,refreshKey:y})})]})},t.id)),(0,P.jsx)(r,{size:{xs:12,sm:6,md:3},children:(0,P.jsx)(C,{variant:`outlined`,sx:{height:`100%`,minHeight:120,display:`flex`,alignItems:`center`,justifyContent:`center`,cursor:`pointer`,borderStyle:`dashed`,borderRadius:2,transition:`all 0.2s`,"&:hover":{bgcolor:`action.hover`,borderColor:`primary.main`}},onClick:()=>h(!0),children:(0,P.jsxs)(m,{alignItems:`center`,spacing:.5,children:[(0,P.jsx)(o,{sx:{fontSize:20,color:`text.disabled`}}),(0,P.jsx)(u,{variant:`caption`,color:`text.secondary`,fontWeight:600,children:`Add Panel`})]})})})]}),(0,P.jsx)(Z,{open:l,onClose:()=>h(!1),onAdd:A})]})}export{Q as default};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DtcAfS_W.js";import{c as t}from"./client-DU8I_lDc.js";import{t as n}from"./Skeleton-B74-Ds6O.js";import{t as r}from"./TextField-BLf-BHz2.js";import{$ as i,Et as a,V as o,Vn as s,Vt as c,bn as l,ht as u,i as d,jn as f,k as p,r as m,s as h,tt as g}from"./index-ByQDwp2r.js";import{t as _}from"./Card-vO88g06B.js";import{t as v}from"./Chip-Ckk0xUhK.js";import{a as y,i as b,n as x,r as S,t as C}from"./TableRow-BySEreZR.js";import{t as w}from"./TableContainer-CzTh4mu-.js";import{n as T,r as E,t as D}from"./DialogActions-BhHM7hov.js";import{t as O}from"./formatters-Do41SRmE.js";var k=e(s(),1),A=f(),j={success:`success`,failed:`error`,deploying:`info`,rolled_back:`warning`},M={success:`Success`,failed:`Failed`,deploying:`Deploying`,rolled_back:`Rolled Back`},N=[{value:`all-at-once`,label:`All at Once`},{value:`rolling`,label:`Rolling`},{value:`blue-green`,label:`Blue/Green`},{value:`canary`,label:`Canary`}];function P(e){if(e<=0)return`--`;let t=Math.floor(e/1e3);return t<60?`${t}s`:`${Math.floor(t/60)}m ${t%60}s`}function F({open:e,onClose:t,onDeploy:n,apps:i}){let[a,s]=(0,k.useState)(``),[c,l]=(0,k.useState)(``),[f,m]=(0,k.useState)(`all-at-once`);return(0,A.jsxs)(d,{open:e,onClose:t,maxWidth:`xs`,fullWidth:!0,children:[(0,A.jsx)(E,{children:`New Deployment`}),(0,A.jsx)(T,{children:(0,A.jsxs)(u,{spacing:2.5,sx:{mt:1},children:[(0,A.jsx)(r,{select:!0,label:`Application`,value:a,onChange:e=>s(e.target.value),size:`small`,fullWidth:!0,children:i.length>0?i.map(e=>(0,A.jsx)(h,{value:e,children:e},e)):(0,A.jsx)(h,{disabled:!0,value:``,children:`No applications available`})}),(0,A.jsx)(r,{label:`Version`,placeholder:`e.g. 1.2.0`,value:c,onChange:e=>l(e.target.value),size:`small`,fullWidth:!0}),(0,A.jsx)(r,{select:!0,label:`Strategy`,value:f,onChange:e=>m(e.target.value),size:`small`,fullWidth:!0,children:N.map(e=>(0,A.jsx)(h,{value:e.value,children:e.label},e.value))})]})}),(0,A.jsxs)(D,{children:[(0,A.jsx)(p,{onClick:t,size:`small`,children:`Cancel`}),(0,A.jsx)(p,{variant:`contained`,onClick:()=>{!a||!c||(n(a,c,f),s(``),l(``),m(`all-at-once`),t())},size:`small`,disabled:!a||!c,startIcon:(0,A.jsx)(o,{}),children:`Deploy`})]})]})}function I(){let[e,r]=(0,k.useState)([]),[o,s]=(0,k.useState)(!0),[d,f]=(0,k.useState)(null),[h,T]=(0,k.useState)(!1),[E,D]=(0,k.useState)([]),N=(0,k.useCallback)(async()=>{try{let[e,n]=await Promise.allSettled([t.listDeployments(),t.listDeployableApps()]);e.status===`fulfilled`&&r(Array.isArray(e.value)?e.value:[]),n.status===`fulfilled`&&D(Array.isArray(n.value)?n.value:[]),f(null)}catch(e){f(e?.message??`Failed to fetch deployments`)}finally{s(!1)}},[]);(0,k.useEffect)(()=>{N();let e=setInterval(N,15e3);return()=>clearInterval(e)},[N]);let I=async(e,n,r)=>{try{await t.deploy({app:e,version:n,strategy:r}),N()}catch(e){f(e?.message??`Failed to start deployment`)}};return(0,A.jsxs)(u,{spacing:3,children:[(0,A.jsx)(l,{links:[{name:`Deployments`}],action:(0,A.jsxs)(u,{direction:`row`,spacing:1,children:[(0,A.jsx)(a,{size:`small`,onClick:N,title:`Refresh`,children:(0,A.jsx)(g,{})}),(0,A.jsx)(p,{variant:`contained`,size:`small`,startIcon:(0,A.jsx)(i,{}),onClick:()=>T(!0),children:`Deploy`})]})}),d&&(0,A.jsx)(m,{severity:`warning`,variant:`outlined`,onClose:()=>f(null),children:d}),(0,A.jsx)(_,{variant:`outlined`,children:(0,A.jsx)(w,{children:(0,A.jsxs)(y,{size:`small`,children:[(0,A.jsx)(x,{children:(0,A.jsxs)(C,{children:[(0,A.jsx)(S,{children:`App`}),(0,A.jsx)(S,{children:`Version`}),(0,A.jsx)(S,{children:`Previous`}),(0,A.jsx)(S,{children:`Strategy`}),(0,A.jsx)(S,{children:`Status`}),(0,A.jsx)(S,{children:`Started`}),(0,A.jsx)(S,{children:`Duration`}),(0,A.jsx)(S,{children:`Deployed By`})]})}),(0,A.jsx)(b,{children:o?[...[,,,]].map((e,t)=>(0,A.jsx)(C,{children:[...Array(8)].map((e,t)=>(0,A.jsx)(S,{children:(0,A.jsx)(n,{width:80,height:20})},t))},t)):e.length===0?(0,A.jsx)(C,{children:(0,A.jsx)(S,{colSpan:8,sx:{textAlign:`center`,py:6},children:(0,A.jsx)(c,{variant:`body2`,color:`text.secondary`,children:`No deployments yet`})})}):e.map(e=>(0,A.jsxs)(C,{hover:!0,sx:{"&:last-child td":{borderBottom:0}},children:[(0,A.jsx)(S,{children:(0,A.jsx)(c,{variant:`body2`,fontWeight:600,children:e.app})}),(0,A.jsx)(S,{children:(0,A.jsx)(c,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:13},children:e.version})}),(0,A.jsx)(S,{children:(0,A.jsx)(c,{variant:`caption`,color:`text.secondary`,sx:{fontFamily:`monospace`,fontSize:12},children:e.previousVersion||`--`})}),(0,A.jsx)(S,{children:(0,A.jsx)(v,{label:e.strategy,size:`small`,variant:`outlined`,sx:{textTransform:`capitalize`,fontSize:11}})}),(0,A.jsx)(S,{children:(0,A.jsx)(v,{label:M[e.status]??e.status,size:`small`,color:j[e.status]??`default`,variant:`filled`,sx:{fontWeight:600}})}),(0,A.jsx)(S,{children:(0,A.jsx)(c,{variant:`caption`,color:`text.secondary`,children:O(e.startedAt)})}),(0,A.jsx)(S,{children:(0,A.jsx)(c,{variant:`caption`,sx:{fontFamily:`monospace`},children:P(e.duration)})}),(0,A.jsx)(S,{children:(0,A.jsx)(c,{variant:`caption`,color:`text.secondary`,children:e.deployedBy})})]},e.id))})]})})}),(0,A.jsx)(F,{open:h,onClose:()=>T(!1),onDeploy:I,apps:E})]})}export{I as default};
@@ -1 +0,0 @@
1
- import{i as e}from"./chunk-DtcAfS_W.js";import{B as t,Dt as n,Et as r,Fn as i,Ln as a,Q as o,Rn as s,Tn as c,V as l,Vn as u,Vt as d,bn as ee,ct as f,fn as p,i as m,jn as h,k as g,mn as _,o as v,pn as y,qt as b,r as x,st as S,tt as C}from"./index-ByQDwp2r.js";import{t as w}from"./Card-vO88g06B.js";import{t as T}from"./CardContent-BA_Xmmhk.js";import{t as E}from"./Chip-Ckk0xUhK.js";import{a as D,i as O,n as k,r as A,t as j}from"./TableRow-BySEreZR.js";import{n as M,r as N,t as te}from"./DialogActions-BhHM7hov.js";import{o as P}from"./formatters-Do41SRmE.js";import{t as F}from"./DialogContentText-BT2JQRmK.js";var I=e(u(),1),L=h(),R={running:`#22c55e`,starting:`#eab308`,stopping:`#eab308`,degraded:`#f97316`,error:`#ef4444`,stopped:`#6b7280`};function z(){let{name:e}=s(),u=a(),h=p(),v=y(),z=_(e=>e.fetchStacks),U=_(e=>e.startStack),W=_(e=>e.stopStack),G=_(e=>e.deleteStack),K=_(e=>e.pendingOps),[q,J]=(0,I.useState)(!1),Y=v.find(t=>t.name===e),X=h&&e?K[`${h}/${e}`]??null:null;(0,I.useEffect)(()=>{h&&z(h)},[h,z]);let Z=Object.keys(K).length>0;(0,I.useEffect)(()=>{if(!h)return;let e=setInterval(()=>z(h),Z?3e3:1e4);return()=>clearInterval(e)},[h,z,Z]);let ne=(0,I.useCallback)(async()=>{if(!(!h||!e))try{await U(h,e)}catch{}},[h,e,U]),re=(0,I.useCallback)(async()=>{if(!(!h||!e))try{await W(h,e)}catch{}},[h,e,W]),ie=(0,I.useCallback)(async()=>{if(!(!h||!e)){try{await G(h,e),u(`/stacks`)}catch{}J(!1)}},[h,e,G,u]);if(!Y)return(0,L.jsx)(c,{children:(0,L.jsxs)(x,{severity:`warning`,children:[`Stack "`,e,`" not found.`,` `,(0,L.jsx)(g,{size:`small`,onClick:()=>u(`/stacks`),children:`Back to Stacks`})]})});let Q=Y.status===`running`,$=Y.status===`stopped`,ae=Y.status===`starting`||Y.status===`stopping`||!!X,oe=!!X;return(0,L.jsxs)(c,{children:[(0,L.jsx)(ee,{linkComponent:i,links:[{name:`Stacks`,href:`/stacks`},{name:Y.name}],action:(0,L.jsxs)(b,{sx:{display:`flex`,gap:1,alignItems:`center`},children:[(0,L.jsx)(E,{label:Y.status.charAt(0).toUpperCase()+Y.status.slice(1),size:`small`,sx:{bgcolor:R[Y.status]??R.stopped,color:`white`,fontWeight:600}}),$&&!oe&&(0,L.jsx)(r,{size:`small`,color:`error`,onClick:()=>J(!0),title:`Delete stack`,children:(0,L.jsx)(t,{})}),(0,L.jsx)(r,{size:`small`,onClick:()=>h&&z(h),children:(0,L.jsx)(C,{})}),ae?(0,L.jsx)(g,{variant:`outlined`,size:`small`,disabled:!0,startIcon:(0,L.jsx)(n,{size:14}),children:X===`starting`||Y.status===`starting`?`Starting...`:`Stopping...`}):$?(0,L.jsx)(g,{startIcon:(0,L.jsx)(o,{}),color:`success`,variant:`contained`,size:`small`,onClick:ne,children:`Start`}):Q?(0,L.jsx)(g,{startIcon:(0,L.jsx)(S,{}),color:`error`,variant:`outlined`,size:`small`,onClick:re,children:`Stop`}):null]})}),Y.type!==`local`&&Q&&(0,L.jsx)(w,{variant:`outlined`,sx:{mb:2,p:2},children:(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,gap:2},children:[(0,L.jsx)(l,{sx:{fontSize:20,color:`primary.main`}}),(0,L.jsxs)(b,{sx:{flex:1},children:[(0,L.jsxs)(d,{variant:`body2`,fontWeight:600,children:[Y.nodes.filter(e=>e.connected).length,`/`,Y.nodes.length,` nodes connected`]}),(0,L.jsxs)(d,{variant:`caption`,color:`text.secondary`,children:[Y.type===`remote`?`SSH`:`Cluster`,` deployment —`,Y.nodes.some(e=>e.syncStatus?.pendingItems)?` ${Y.nodes.reduce((e,t)=>e+(t.syncStatus?.pendingItems??0),0)} items pending sync`:` all synced`]})]}),Y.nodes.some(e=>!e.connected)&&(0,L.jsx)(E,{label:`${Y.nodes.filter(e=>!e.connected).length} offline`,size:`small`,color:`warning`,sx:{height:22,fontSize:`0.65rem`}})]})}),(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsxs)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`,mb:1,display:`block`},children:[`Applications (`,Y.apps.length,`)`]}),Y.apps.length>0?(0,L.jsxs)(D,{size:`small`,children:[(0,L.jsx)(k,{children:(0,L.jsxs)(j,{children:[(0,L.jsx)(A,{children:`App`}),(0,L.jsx)(A,{children:`Status`}),(0,L.jsx)(A,{children:`PID`}),(0,L.jsx)(A,{children:`Instances`}),(0,L.jsx)(A,{children:`Uptime`})]})}),(0,L.jsx)(O,{children:Y.apps.map(e=>(0,L.jsxs)(j,{children:[(0,L.jsx)(A,{sx:{fontWeight:600},children:e.name}),(0,L.jsx)(A,{children:(0,L.jsx)(E,{label:e.status,size:`small`,color:e.status===`online`?`success`:e.status===`crashed`||e.status===`errored`?`error`:`default`,sx:{height:18,fontSize:`0.6rem`}})}),(0,L.jsx)(A,{sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:e.pid??`—`}),(0,L.jsx)(A,{children:e.instances}),(0,L.jsx)(A,{sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:e.uptime>0?P(e.uptime):`—`})]},e.handleKey))})]}):(0,L.jsx)(d,{variant:`caption`,sx:{color:`text.disabled`},children:`No apps configured`})]})}),(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsx)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`Overview`}),(0,L.jsx)(B,{label:`Type`,value:Y.type===`local`?`Local`:Y.type===`remote`?`Remote (SSH)`:`Cluster`}),(0,L.jsx)(B,{label:`Apps`,value:`${Y.apps.filter(e=>e.status===`online`).length} / ${Y.apps.length}`}),(0,L.jsx)(B,{label:`Nodes`,value:`${Y.nodes.filter(e=>e.connected).length} / ${Y.nodes.length}`}),Y.uptime>0&&(0,L.jsx)(B,{label:`Uptime`,value:P(Y.uptime)}),Y.portRange&&(0,L.jsx)(B,{label:`Port Range`,value:`${Y.portRange.start}–${Y.portRange.end}`,mono:!0}),Y.startedAt&&(0,L.jsx)(B,{label:`Started`,value:new Date(Y.startedAt).toLocaleString()})]})}),(0,L.jsx)(H,{stack:Y}),Y.type!==`local`&&(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,gap:.5,mb:1},children:[(0,L.jsx)(f,{sx:{fontSize:16}}),(0,L.jsx)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`Sync Status`})]}),Y.nodes.map(e=>(0,L.jsx)(V,{node:e},e.host)),Y.nodes.length===0&&(0,L.jsx)(d,{variant:`caption`,sx:{color:`text.disabled`},children:`No nodes configured`})]})}),Y.nodes.length>0&&(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsxs)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`,mb:1,display:`block`},children:[`Nodes (`,Y.nodes.length,`)`]}),(0,L.jsxs)(D,{size:`small`,children:[(0,L.jsx)(k,{children:(0,L.jsxs)(j,{children:[(0,L.jsx)(A,{children:`Host`}),(0,L.jsx)(A,{children:`Role`}),(0,L.jsx)(A,{children:`Daemon`}),(0,L.jsx)(A,{children:`Status`}),(0,L.jsx)(A,{children:`Last Seen`})]})}),(0,L.jsx)(O,{children:Y.nodes.map(e=>(0,L.jsxs)(j,{children:[(0,L.jsxs)(A,{sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:[e.host,`:`,e.port,e.label&&(0,L.jsxs)(d,{component:`span`,variant:`caption`,sx:{ml:1,color:`text.secondary`},children:[`(`,e.label,`)`]})]}),(0,L.jsx)(A,{children:(0,L.jsx)(E,{label:e.role,size:`small`,sx:{height:18,fontSize:`0.6rem`}})}),(0,L.jsx)(A,{children:(0,L.jsx)(E,{label:e.daemonRole,size:`small`,color:e.daemonRole===`master`?`primary`:`default`,sx:{height:18,fontSize:`0.6rem`}})}),(0,L.jsxs)(A,{children:[(0,L.jsx)(b,{component:`span`,sx:{display:`inline-block`,width:8,height:8,borderRadius:`50%`,bgcolor:e.connected?`#22c55e`:`#ef4444`,mr:.5}}),e.connected?`Connected`:`Disconnected`]}),(0,L.jsx)(A,{sx:{fontFamily:`monospace`,fontSize:`0.75rem`},children:e.lastSeen?new Date(e.lastSeen).toLocaleTimeString():`—`})]},e.host))})]})]})}),(0,L.jsxs)(m,{open:q,onClose:()=>J(!1),children:[(0,L.jsx)(N,{children:`Delete Stack`}),(0,L.jsx)(M,{children:(0,L.jsxs)(F,{children:[`Are you sure you want to delete stack `,(0,L.jsx)(`strong`,{children:Y.name}),`? This action cannot be undone. All infrastructure configuration for this stack will be removed.`]})}),(0,L.jsxs)(te,{children:[(0,L.jsx)(g,{onClick:()=>J(!1),children:`Cancel`}),(0,L.jsx)(g,{onClick:ie,color:`error`,variant:`contained`,children:`Delete`})]})]})]})}function B({label:e,value:t,mono:n}){return(0,L.jsxs)(b,{sx:{display:`flex`,justifyContent:`space-between`,py:.5},children:[(0,L.jsx)(d,{variant:`body2`,sx:{color:`text.secondary`},children:e}),(0,L.jsx)(d,{variant:`body2`,sx:{fontWeight:600,...n&&{fontFamily:`monospace`,fontSize:`0.8rem`}},children:t})]})}function V({node:e}){let t=e.syncStatus;return(0,L.jsxs)(b,{sx:{py:.75},children:[(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`},children:[(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,gap:1},children:[(0,L.jsx)(b,{sx:{width:8,height:8,borderRadius:`50%`,bgcolor:e.connected?`#22c55e`:`#ef4444`,...e.connected&&{boxShadow:`0 0 6px rgba(34,197,94,0.5)`}}}),(0,L.jsxs)(b,{children:[(0,L.jsxs)(d,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`,fontWeight:600},children:[e.host,`:`,e.port]}),(0,L.jsxs)(d,{variant:`caption`,sx:{color:`text.secondary`,fontSize:`0.6rem`},children:[e.daemonRole,e.label?` — ${e.label}`:``]})]})]}),t?(0,L.jsxs)(b,{sx:{textAlign:`right`},children:[(0,L.jsx)(E,{label:t.connected&&t.pendingItems===0?`Synced`:t.connected?`${t.pendingItems} pending`:t.failedAttempts>0?`Failed (${t.failedAttempts}x)`:`Buffering`,size:`small`,color:t.connected&&t.pendingItems===0?`success`:t.failedAttempts>0?`error`:`warning`,variant:`outlined`,sx:{height:20,fontSize:`0.6rem`,fontWeight:600}}),t.lastSyncAt&&(0,L.jsxs)(d,{variant:`caption`,sx:{color:`text.disabled`,display:`block`,fontSize:`0.5rem`,mt:.25},children:[`last sync `,new Date(t.lastSyncAt).toLocaleTimeString()]})]}):(0,L.jsx)(E,{label:e.connected?`Connected`:`Offline`,size:`small`,color:e.connected?`success`:`default`,variant:`outlined`,sx:{height:20,fontSize:`0.6rem`}})]}),t&&t.pendingItems>0&&(0,L.jsx)(v,{variant:`indeterminate`,color:`warning`,sx:{mt:.5,height:2,borderRadius:1,opacity:.6}}),t?.lastError&&(0,L.jsx)(d,{variant:`caption`,sx:{color:`error.main`,fontSize:`0.55rem`,mt:.25,display:`block`,ml:2.5},children:t.lastError})]})}function H({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,s=t?.minio;return(0,L.jsxs)(L.Fragment,{children:[a&&(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1},children:[(0,L.jsx)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`PostgreSQL`}),(0,L.jsx)(U,{name:`postgres`,runtime:n})]}),(0,L.jsx)(B,{label:`Port`,value:String(a.port??5432),mono:!0}),a.databases&&Object.keys(a.databases).length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(d,{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,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,py:.25,pl:1},children:[(0,L.jsx)(d,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:e}),t?.migrate&&(0,L.jsx)(E,{label:`migrate`,size:`small`,sx:{height:16,fontSize:`0.55rem`}})]},e))]})]})}),o&&(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1},children:[(0,L.jsx)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`Redis`}),(0,L.jsx)(U,{name:`redis`,runtime:n})]}),(0,L.jsx)(B,{label:`Port`,value:String(o.port??6379),mono:!0}),o.databases&&Object.keys(o.databases).length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(d,{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,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,py:.25,pl:1},children:[(0,L.jsx)(d,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`},children:n?e.split(`:`)[1]:e}),(0,L.jsxs)(b,{sx:{display:`flex`,gap:.5,alignItems:`center`},children:[n&&(0,L.jsx)(E,{label:e.split(`:`)[0],size:`small`,variant:`outlined`,sx:{height:16,fontSize:`0.5rem`}}),(0,L.jsxs)(d,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.75rem`,color:`text.secondary`,minWidth:28,textAlign:`right`},children:[`DB `,t]})]})]},e)})]})]})}),s&&(0,L.jsx)(w,{variant:`outlined`,children:(0,L.jsxs)(T,{children:[(0,L.jsxs)(b,{sx:{display:`flex`,alignItems:`center`,justifyContent:`space-between`,mb:1},children:[(0,L.jsx)(d,{variant:`overline`,sx:{color:`text.secondary`,fontSize:`0.65rem`},children:`MinIO / S3`}),(0,L.jsx)(U,{name:`minio`,runtime:n})]}),s.ports&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsx)(B,{label:`API Port`,value:String(s.ports.api??9e3),mono:!0}),(0,L.jsx)(B,{label:`Console Port`,value:String(s.ports.console??9001),mono:!0})]}),s.buckets&&s.buckets.length>0&&(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)(d,{variant:`caption`,sx:{color:`text.secondary`,mt:1,display:`block`},children:[`Buckets (`,s.buckets.length,`)`]}),s.buckets.map(e=>(0,L.jsx)(d,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:`0.8rem`,pl:1,py:.25},children:e},e))]})]})})]})}function U({name:e,runtime:t}){let n=t[e];return n?(0,L.jsx)(E,{label:n.status,size:`small`,color:n.status===`running`?`success`:n.status===`error`?`error`:`default`,sx:{height:18,fontSize:`0.6rem`}}):(0,L.jsx)(E,{label:`Stopped`,size:`small`,sx:{height:18,fontSize:`0.6rem`}})}export{z as default};
@@ -1,8 +0,0 @@
1
- import{i as e}from"./chunk-DtcAfS_W.js";import{f as t,o as n,p as r}from"./client-DU8I_lDc.js";import{t as i}from"./Skeleton-B74-Ds6O.js";import{t as a}from"./TextField-BLf-BHz2.js";import{Et as o,Fn as s,L as c,Pn as l,Q as u,Rn as d,Vn as f,Vt as p,Zt as m,bn as h,gt as g,ht as _,jn as v,k as y,n as b,nt as x,o as S,qt as C,r as w,rt as T,st as E,tn as D,tt as O}from"./index-ByQDwp2r.js";import{t as k}from"./Card-vO88g06B.js";import{t as A}from"./CardContent-BA_Xmmhk.js";import{t as j}from"./CardHeader-ceIs__6x.js";import{t as M}from"./Chip-Ckk0xUhK.js";import{a as N,i as P,n as F,r as I,t as L}from"./TableRow-BySEreZR.js";import{t as ee}from"./TableContainer-CzTh4mu-.js";import{o as R,r as z}from"./formatters-Do41SRmE.js";import{t as te}from"./use-stack-context-DHLwZv1r.js";import{n as ne,t as B}from"./Tab-DcCOYYp5.js";import{t as V}from"./InputAdornment-B8aHIsQ7.js";import{t as H}from"./react-apexcharts.esm-CSGK5Cxn.js";import{n as U,t as W}from"./constants-BgnT-Xdy.js";var G=e(f(),1),K=v();function q({children:e,value:t,index:n}){let[r,i]=(0,G.useState)(t===n);return(0,G.useEffect)(()=>{t===n&&i(!0)},[t,n]),r?(0,K.jsx)(C,{sx:{pt:2,display:t===n?`block`:`none`},children:e}):null}function J({label:e,value:t,sub:n,color:r}){return m(),(0,K.jsx)(k,{variant:`outlined`,sx:{flex:1,minWidth:140,bgcolor:r?D(r,.04):void 0,borderColor:r?D(r,.2):void 0},children:(0,K.jsxs)(A,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:[(0,K.jsx)(p,{variant:`caption`,color:`text.secondary`,sx:{textTransform:`uppercase`,letterSpacing:.5,fontSize:10},children:e}),(0,K.jsx)(p,{variant:`h5`,fontWeight:700,sx:{color:r??`text.primary`,mt:.25},children:t}),n&&(0,K.jsx)(p,{variant:`caption`,color:`text.disabled`,sx:{fontSize:11},children:n})]})})}function re({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;return(0,K.jsxs)(_,{spacing:3,children:[(0,K.jsxs)(_,{direction:`row`,spacing:2,sx:{flexWrap:`wrap`},children:[(0,K.jsx)(J,{label:`CPU`,value:e.cpu>0?`${e.cpu.toFixed(1)}%`:`—`,color:e.cpu>80?r.palette.error.main:void 0}),(0,K.jsx)(J,{label:`Memory`,value:z(e.memory),sub:t?a?`Heap: ${z(t.memory.heapUsed)} / ${z(t.memory.heapTotal)}`:`RSS: ${z(t.memory.rss)}`:void 0}),(0,K.jsx)(J,{label:`Uptime`,value:R(e.uptime)}),(0,K.jsx)(J,{label:`Restarts`,value:e.restarts,color:e.restarts>0?r.palette.warning.main:void 0}),(0,K.jsx)(J,{label:`Instances`,value:e.instances})]}),t&&(0,K.jsx)(k,{variant:`outlined`,children:(0,K.jsx)(A,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:a?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(_,{direction:`row`,justifyContent:`space-between`,alignItems:`center`,sx:{mb:.5},children:[(0,K.jsx)(p,{variant:`caption`,color:`text.secondary`,children:`Heap Usage`}),(0,K.jsxs)(p,{variant:`caption`,fontWeight:600,children:[i,`%`]})]}),(0,K.jsx)(S,{variant:`determinate`,value:i,sx:{height:6,borderRadius:3,bgcolor:D(r.palette.primary.main,.08),"& .MuiLinearProgress-bar":{borderRadius:3,bgcolor:i>85?r.palette.error.main:r.palette.primary.main}}}),(0,K.jsxs)(_,{direction:`row`,justifyContent:`space-between`,sx:{mt:.5},children:[(0,K.jsxs)(p,{variant:`caption`,color:`text.disabled`,children:[`RSS: `,z(t.memory.rss)]}),(0,K.jsxs)(p,{variant:`caption`,color:`text.disabled`,children:[`External: `,z(t.memory.external)]})]})]}):(0,K.jsxs)(_,{spacing:.5,children:[(0,K.jsx)(p,{variant:`caption`,color:`text.secondary`,children:`Memory (RSS)`}),(0,K.jsx)(p,{variant:`h6`,fontWeight:600,children:z(t.memory.rss)})]})})}),e.processes&&e.processes.length>0&&(0,K.jsx)(k,{variant:`outlined`,children:(0,K.jsxs)(A,{sx:{p:0,"&:last-child":{pb:0}},children:[(0,K.jsx)(p,{variant:`subtitle2`,fontWeight:600,sx:{px:2,pt:1.5,pb:1},children:`Process Topology`}),(0,K.jsx)(ee,{children:(0,K.jsxs)(N,{size:`small`,children:[(0,K.jsx)(F,{children:(0,K.jsxs)(L,{children:[(0,K.jsx)(I,{children:`Process`}),(0,K.jsx)(I,{children:`Type`}),(0,K.jsx)(I,{children:`Status`}),(0,K.jsx)(I,{align:`right`,children:`PID`}),(0,K.jsx)(I,{children:`Uptime`}),(0,K.jsx)(I,{align:`right`,children:`CPU`}),(0,K.jsx)(I,{align:`right`,children:`Memory`}),(0,K.jsx)(I,{align:`right`,children:`Restarts`})]})}),(0,K.jsx)(P,{children:e.processes.map(e=>(0,K.jsxs)(L,{children:[(0,K.jsx)(I,{children:(0,K.jsxs)(_,{direction:`row`,spacing:1,alignItems:`center`,children:[(0,K.jsx)(c,{sx:{fontSize:8,color:e.status===`online`?r.palette.success.main:e.status===`stopped`?r.palette.text.disabled:r.palette.error.main}}),(0,K.jsx)(p,{variant:`body2`,fontWeight:600,children:e.name})]})}),(0,K.jsx)(I,{children:(0,K.jsx)(M,{label:e.type,size:`small`,variant:`outlined`,sx:{fontSize:11,height:22}})}),(0,K.jsx)(I,{children:(0,K.jsx)(M,{label:e.status,size:`small`,color:U[e.status]||`default`,variant:`outlined`,sx:{fontSize:11,height:22}})}),(0,K.jsx)(I,{align:`right`,children:(0,K.jsx)(p,{variant:`body2`,sx:{fontFamily:`monospace`,fontSize:12},children:e.pid??`—`})}),(0,K.jsx)(I,{children:(0,K.jsx)(p,{variant:`body2`,sx:{fontSize:12},children:R(e.uptime)})}),(0,K.jsx)(I,{align:`right`,children:(0,K.jsx)(p,{variant:`body2`,sx:{fontSize:12},children:e.cpu>0?`${e.cpu.toFixed(1)}%`:`—`})}),(0,K.jsx)(I,{align:`right`,children:(0,K.jsx)(p,{variant:`body2`,sx:{fontSize:12},children:z(e.memory)})}),(0,K.jsx)(I,{align:`right`,children:(0,K.jsx)(p,{variant:`body2`,sx:{fontSize:12,color:e.restarts>0?r.palette.warning.main:void 0},children:e.restarts})})]},e.name))})]})})]})}),t&&t.services.length>0&&(()=>{let e=[...new Set(t.services)];return(0,K.jsx)(k,{variant:`outlined`,children:(0,K.jsxs)(A,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:[(0,K.jsx)(p,{variant:`subtitle2`,fontWeight:600,sx:{mb:1},children:`Exposed Services`}),(0,K.jsx)(_,{direction:`row`,spacing:.75,flexWrap:`wrap`,useFlexGap:!0,children:e.map(e=>(0,K.jsx)(M,{label:e,size:`small`,variant:`outlined`,sx:{fontSize:11,height:24}},e))})]})})})(),(0,K.jsx)(k,{variant:`outlined`,children:(0,K.jsxs)(A,{sx:{py:1.5,"&:last-child":{pb:1.5}},children:[(0,K.jsx)(p,{variant:`subtitle2`,fontWeight:600,sx:{mb:1},children:`Details`}),(0,K.jsxs)(_,{spacing:.75,children:[(0,K.jsx)(Y,{label:`Mode`,value:e.mode}),(0,K.jsx)(Y,{label:`PID`,value:e.pid??`—`,mono:!0}),(0,K.jsx)(Y,{label:`Port`,value:e.port??`—`,mono:!0}),(0,K.jsx)(Y,{label:`Critical`,value:e.critical?`Yes`:`No`})]})]})})]})}function Y({label:e,value:t,mono:n}){return(0,K.jsxs)(_,{direction:`row`,justifyContent:`space-between`,alignItems:`center`,children:[(0,K.jsx)(p,{variant:`body2`,color:`text.secondary`,sx:{fontSize:13},children:e}),(0,K.jsx)(p,{variant:`body2`,sx:{fontSize:13,...n&&{fontFamily:`monospace`}},children:t})]})}var ie=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`],X={trace:`TRC`,debug:`DBG`,info:`INF`,warn:`WRN`,error:`ERR`,fatal:`FTL`},ae={fatal:`rgba(220,38,38,0.08)`,error:`rgba(239,68,68,0.05)`,warn:`rgba(245,158,11,0.04)`},Z=`'JetBrains Mono', 'Fira Code', 'Cascadia Code', 'SF Mono', monospace`,oe=2e3,se=300,ce=l`
2
- from { opacity: 0; transform: translateY(8px); }
3
- to { opacity: 1; transform: translateY(0); }
4
- `;function le(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 ue(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 de({log:e,isNew:t}){let[n,r]=(0,G.useState)(!1),i=W[e.level]??`#6b7280`,a=ae[e.level]??`transparent`,o=e.labels||e.traceId||e.spanId||e.metadata;return(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(C,{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?`${ce} 0.3s ease-out`:void 0,"&:hover":{bgcolor:`rgba(255,255,255,0.04)`}},children:[(0,K.jsx)(g,{title:ue(e.timestamp),placement:`top-start`,arrow:!0,enterDelay:400,children:(0,K.jsx)(p,{component:`span`,sx:{fontFamily:Z,fontSize:11,color:`#5a6270`,lineHeight:`20px`,whiteSpace:`nowrap`,letterSpacing:`-0.02em`},children:le(e.timestamp)})}),(0,K.jsx)(p,{component:`span`,sx:{fontFamily:Z,fontSize:10,fontWeight:700,color:i,lineHeight:`20px`,textTransform:`uppercase`,letterSpacing:`0.04em`},children:X[e.level]??e.level.slice(0,3).toUpperCase()}),(0,K.jsx)(p,{component:`span`,sx:{fontFamily:Z,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,K.jsx)(b,{in:n,unmountOnExit:!0,children:(0,K.jsx)(C,{sx:{ml:`14px`,mr:1.5,mb:.5,p:1.5,bgcolor:`rgba(255,255,255,0.025)`,borderRadius:1,borderLeft:`2px solid ${D(i,.3)}`},children:(0,K.jsxs)(C,{component:`pre`,sx:{fontFamily:Z,fontSize:11,color:`#8b949e`,m:0,whiteSpace:`pre-wrap`,wordBreak:`break-all`,lineHeight:1.7},children:[e.traceId&&(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`span`,{style:{color:`#7c8493`},children:`traceId: `}),(0,K.jsx)(`span`,{style:{color:`#d2a8ff`},children:e.traceId}),`
5
- `]}),e.spanId&&(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`span`,{style:{color:`#7c8493`},children:`spanId: `}),(0,K.jsx)(`span`,{style:{color:`#d2a8ff`},children:e.spanId}),`
6
- `]}),e.labels&&(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`span`,{style:{color:`#7c8493`},children:`labels: `}),(0,K.jsx)(`span`,{style:{color:`#7ee787`},children:JSON.stringify(e.labels,null,2)}),`
7
- `]}),e.metadata&&(0,K.jsxs)(`span`,{children:[(0,K.jsx)(`span`,{style:{color:`#7c8493`},children:`metadata:`}),`
8
- `,(0,K.jsx)(`span`,{style:{color:`#e6edf3`},children:JSON.stringify(e.metadata,null,2)})]})]})})})]})}function fe({appName:e}){let n=e.includes(`/`)?e.split(`/`).pop():e,[r,o]=(0,G.useState)([]),[s,c]=(0,G.useState)(!0),[l,d]=(0,G.useState)(!1),[f,m]=(0,G.useState)([]),[h,g]=(0,G.useState)(``),[v,b]=(0,G.useState)(``),x=(0,G.useRef)(null),S=(0,G.useRef)(null),w=(0,G.useRef)(new Set),O=(0,G.useRef)(null),j=(0,G.useRef)(null);(0,G.useEffect)(()=>(j.current&&clearTimeout(j.current),j.current=setTimeout(()=>b(h),se),()=>{j.current&&clearTimeout(j.current)}),[h]);let N=e=>{m(t=>t.includes(e)?t.filter(t=>t!==e):[...t,e])},P=(0,G.useMemo)(()=>{let e={tail:200,app:n};return f.length>0&&(e.level=f),v.trim()&&(e.search=v.trim()),e},[e,f,v]);(0,G.useEffect)(()=>{let e=!1;return(async()=>{try{c(!0);let n=await t.streamLogs(P);if(e)return;o([...n].reverse()),w.current.clear(),n.length>0&&(S.current=new Date(n[n.length-1].timestamp).toISOString())}catch{}finally{e||c(!1)}})(),()=>{e=!0}},[P]),(0,G.useEffect)(()=>{if(x.current&&=(clearInterval(x.current),null),!l)return x.current=setInterval(async()=>{try{let e=S.current,n={...P,tail:50};e&&(n.since=e);let i=await t.streamLogs(n);if(i.length===0)return;let a=new Set(r.map(e=>e.id)),s=i.filter(e=>!a.has(e.id));if(s.length===0)return;s.forEach(e=>w.current.add(e.id)),setTimeout(()=>{s.forEach(e=>w.current.delete(e.id))},2e3),S.current=new Date(s[s.length-1].timestamp).toISOString(),o(e=>{let t=[...s.reverse(),...e];return t.length>2e3?t.slice(0,2e3):t})}catch{}},oe),()=>{x.current&&clearInterval(x.current)}},[l,P,r]);let F=(0,G.useMemo)(()=>{let e={};for(let t of r)e[t.level]=(e[t.level]??0)+1;return e},[r]);return(0,K.jsxs)(_,{spacing:1.5,children:[(0,K.jsxs)(_,{direction:`row`,alignItems:`center`,spacing:1.5,sx:{flexWrap:`wrap`},children:[(0,K.jsx)(a,{size:`small`,placeholder:`Search logs...`,value:h,onChange:e=>g(e.target.value),slotProps:{input:{startAdornment:(0,K.jsx)(V,{position:`start`,children:(0,K.jsx)(T,{sx:{fontSize:16,color:`text.disabled`}})}),sx:{fontSize:13}}},sx:{minWidth:200,flex:1,maxWidth:320}}),(0,K.jsx)(_,{direction:`row`,spacing:.5,sx:{flexWrap:`wrap`},children:ie.map(e=>(0,K.jsx)(M,{label:`${X[e]} ${F[e]??0}`,size:`small`,onClick:()=>N(e),variant:f.includes(e)?`filled`:`outlined`,sx:{fontSize:11,height:24,fontFamily:Z,fontWeight:600,color:f.includes(e)?`#fff`:W[e],borderColor:D(W[e]??`#666`,.4),bgcolor:f.includes(e)?D(W[e]??`#666`,.8):void 0,"&:hover":{bgcolor:D(W[e]??`#666`,.2)}}},e))}),(0,K.jsx)(C,{sx:{flex:1}}),(0,K.jsx)(y,{size:`small`,variant:`outlined`,onClick:()=>d(!l),startIcon:l?(0,K.jsx)(u,{sx:{fontSize:16}}):(0,K.jsx)(E,{sx:{fontSize:16}}),sx:{textTransform:`none`,fontSize:12},children:l?`Resume`:`Pause`})]}),(0,K.jsx)(k,{ref:O,variant:`outlined`,sx:{bgcolor:`#0d1117`,maxHeight:600,overflow:`auto`,borderColor:`rgba(255,255,255,0.1)`},children:(0,K.jsx)(A,{sx:{p:0,"&:last-child":{pb:0}},children:s?(0,K.jsx)(_,{spacing:.5,sx:{p:1.5},children:[...Array(12)].map((e,t)=>(0,K.jsx)(i,{height:20,sx:{bgcolor:`rgba(255,255,255,0.05)`}},t))}):r.length===0?(0,K.jsx)(p,{variant:`body2`,sx:{fontFamily:Z,fontSize:12,color:`#8b949e`,textAlign:`center`,py:6},children:`No log entries found.`}):r.map(e=>(0,K.jsx)(de,{log:e,isNew:w.current.has(e.id)},e.id))})}),(0,K.jsxs)(_,{direction:`row`,justifyContent:`space-between`,alignItems:`center`,children:[(0,K.jsxs)(p,{variant:`caption`,color:`text.disabled`,sx:{fontFamily:Z,fontSize:11},children:[r.length,` entries `,!l&&`· streaming`]}),f.length>0&&(0,K.jsx)(y,{size:`small`,onClick:()=>m([]),sx:{textTransform:`none`,fontSize:11},children:`Clear filters`})]})]})}var Q={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}};function $({title:e,value:t,suffix:n,color:r,loading:a}){return(0,K.jsx)(k,{variant:`outlined`,sx:{flex:1,minWidth:120},children:(0,K.jsxs)(A,{sx:{py:1.5,px:2,"&:last-child":{pb:1.5}},children:[(0,K.jsx)(p,{variant:`caption`,color:`text.secondary`,sx:{textTransform:`uppercase`,letterSpacing:.5,fontSize:10},children:e}),a?(0,K.jsx)(i,{width:50,height:36}):(0,K.jsxs)(p,{variant:`h5`,fontWeight:700,sx:{color:`${r}.main`,mt:.25},children:[t,n&&(0,K.jsx)(p,{component:`span`,variant:`body2`,color:`text.secondary`,sx:{ml:.5},children:n})]})]})})}function pe({appName:e}){let t=e.includes(`/`)?e.split(`/`).pop():e,[a,s]=(0,G.useState)(!0),[c,l]=(0,G.useState)(null),[u,d]=(0,G.useState)(!0),[f,m]=(0,G.useState)(0),[h,g]=(0,G.useState)(0),[v,y]=(0,G.useState)(0),[b,x]=(0,G.useState)(0),[S,C]=(0,G.useState)([]),[T,E]=(0,G.useState)([]),D=(0,G.useCallback)(async()=>{try{let i=!1;try{let n=await r.getSnapshot();if(n?.apps){let r=n.apps[t]??Object.entries(n.apps).find(([t])=>t.endsWith(`/${e.split(`/`).pop()}`))?.[1];r&&(m(Math.round(r.cpu*10)/10),g(r.memory??0),y(r.requests??0),x(r.errors??0),i=!0)}}catch{}if(!i)try{let r=await n.getMetrics({name:e}),i=r?.apps?.[e]??r?.apps?.[t];i&&(m(Math.round(i.cpu*10)/10),g(i.memory??0),y(i.requests??0),x(i.errors??0))}catch{}let a=new Date(Date.now()-5*6e4).toISOString();try{let[e,n]=await Promise.all([r.querySeries({names:[`cpu_percent`],apps:[t],from:a,interval:`10s`}),r.querySeries({names:[`memory_bytes`],apps:[t],from:a,interval:`10s`})]);e.length>0&&C(e.map(e=>({name:`CPU`,data:e.points.map(e=>({x:new Date(e.timestamp).getTime(),y:Number(e.value.toFixed(1))}))}))),n.length>0&&E(n.map(e=>({name:`Memory`,data:e.points.map(e=>({x:new Date(e.timestamp).getTime(),y:Math.round(e.value/(1024*1024))}))})))}catch{}l(null)}catch(e){l(e?.message??`Failed to fetch metrics`)}finally{s(!1)}},[e]);(0,G.useEffect)(()=>{if(D(),!u)return;let e=setInterval(D,1e4);return()=>clearInterval(e)},[D,u]);let M=(0,G.useMemo)(()=>({...Q,colors:[`#6366f1`],yaxis:{...Q.yaxis,title:{text:`CPU %`,style:{color:`#666`,fontSize:`11px`}},max:100,min:0},fill:{type:`gradient`,gradient:{shadeIntensity:1,opacityFrom:.4,opacityTo:.05,stops:[0,100]}}}),[]),N=(0,G.useMemo)(()=>({...Q,colors:[`#a78bfa`],yaxis:{...Q.yaxis,title:{text:`Memory (MB)`,style:{color:`#666`,fontSize:`11px`}},min:0},fill:{type:`gradient`,gradient:{shadeIntensity:1,opacityFrom:.4,opacityTo:.05,stops:[0,100]}}}),[]);return(0,K.jsxs)(_,{spacing:2.5,children:[c&&(0,K.jsx)(w,{severity:`warning`,variant:`outlined`,onClose:()=>l(null),children:c}),(0,K.jsxs)(_,{direction:`row`,spacing:2,sx:{flexWrap:`wrap`},children:[(0,K.jsx)($,{title:`CPU`,value:a?`—`:`${f}%`,color:f>80?`error`:f>60?`warning`:`success`,loading:a}),(0,K.jsx)($,{title:`Memory`,value:a?`—`:z(h),color:h>512*1024*1024?`warning`:`primary`,loading:a}),(0,K.jsx)($,{title:`Requests`,value:a?`—`:String(v),color:`info`,loading:a}),(0,K.jsx)($,{title:`Errors`,value:a?`—`:String(b),color:b>0?`error`:`success`,loading:a})]}),(0,K.jsxs)(k,{variant:`outlined`,children:[(0,K.jsx)(j,{title:`CPU Usage`,titleTypographyProps:{variant:`subtitle2`,fontWeight:600},subheader:`Last 5 minutes`,subheaderTypographyProps:{variant:`caption`},action:(0,K.jsxs)(_,{direction:`row`,alignItems:`center`,spacing:.5,children:[(0,K.jsx)(p,{variant:`caption`,color:`text.secondary`,sx:{fontSize:11},children:`Auto`}),(0,K.jsx)(o,{size:`small`,onClick:()=>d(!u),sx:{color:u?`primary.main`:`text.disabled`},children:(0,K.jsx)(O,{sx:{fontSize:16}})})]}),sx:{pb:0}}),(0,K.jsx)(A,{sx:{pt:.5,pb:1,"&:last-child":{pb:1}},children:a?(0,K.jsx)(i,{variant:`rectangular`,height:220}):S.length>0?(0,K.jsx)(H,{type:`area`,height:220,options:M,series:S}):(0,K.jsxs)(_,{alignItems:`center`,justifyContent:`center`,sx:{height:220},children:[(0,K.jsx)(p,{variant:`body2`,color:`text.disabled`,children:`No CPU time-series data available`}),(0,K.jsx)(p,{variant:`caption`,color:`text.disabled`,children:`Metrics collection may not be active for this app`})]})})]}),(0,K.jsxs)(k,{variant:`outlined`,children:[(0,K.jsx)(j,{title:`Memory Usage`,titleTypographyProps:{variant:`subtitle2`,fontWeight:600},subheader:`Last 5 minutes (MB)`,subheaderTypographyProps:{variant:`caption`},sx:{pb:0}}),(0,K.jsx)(A,{sx:{pt:.5,pb:1,"&:last-child":{pb:1}},children:a?(0,K.jsx)(i,{variant:`rectangular`,height:220}):T.length>0?(0,K.jsx)(H,{type:`area`,height:220,options:N,series:T}):(0,K.jsxs)(_,{alignItems:`center`,justifyContent:`center`,sx:{height:220},children:[(0,K.jsx)(p,{variant:`body2`,color:`text.disabled`,children:`No memory time-series data available`}),(0,K.jsx)(p,{variant:`caption`,color:`text.disabled`,children:`Metrics collection may not be active for this app`})]})})]})]})}function me(){let{name:e}=d(),{namespacePrefix:t}=te(),r=e&&t?`${t}${e}`:e,[a,c]=(0,G.useState)(null),[l,f]=(0,G.useState)(null),[p,m]=(0,G.useState)(!0),[g,v]=(0,G.useState)(!0),[b,S]=(0,G.useState)(null),[C,T]=(0,G.useState)(!1),[D,k]=(0,G.useState)(0),A=(0,G.useCallback)(async()=>{if(r)try{c(await n.getApp({name:r})),S(null)}catch(t){S(t?.message??`Failed to fetch app "${e}"`)}finally{m(!1)}},[r,e]),j=(0,G.useCallback)(async()=>{if(r)try{f(await n.inspect({name:r}))}catch{}finally{v(!1)}},[r]);(0,G.useEffect)(()=>{A(),j();let e=setInterval(()=>{A(),j()},5e3);return()=>clearInterval(e)},[A,j]);let N=async t=>{if(r){T(!0);try{t===`start`?await n.startApp({name:r}):t===`stop`?await n.stopApp({name:r}):await n.restartApp({name:r}),await A(),await j()}catch(n){S(`Failed to ${t} "${e}": ${n?.message??`Unknown error`}`)}finally{T(!1)}}},P=a?.status===`stopped`||a?.status===`crashed`||a?.status===`errored`;return(0,K.jsxs)(_,{spacing:3,children:[(0,K.jsx)(h,{linkComponent:s,links:[{name:`Applications`,href:`/apps`},{name:e??``}],action:a?(0,K.jsxs)(_,{direction:`row`,spacing:1,alignItems:`center`,children:[(0,K.jsx)(M,{label:a.status,color:U[a.status]||`default`,variant:`outlined`,size:`small`}),P?(0,K.jsx)(y,{variant:`outlined`,color:`success`,size:`small`,startIcon:(0,K.jsx)(u,{}),disabled:C,onClick:()=>N(`start`),children:`Start`}):(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)(y,{variant:`outlined`,color:`warning`,size:`small`,startIcon:(0,K.jsx)(x,{}),disabled:C,onClick:()=>N(`restart`),children:`Restart`}),(0,K.jsx)(y,{variant:`outlined`,color:`error`,size:`small`,startIcon:(0,K.jsx)(E,{}),disabled:C,onClick:()=>N(`stop`),children:`Stop`})]}),(0,K.jsx)(o,{onClick:()=>{A(),j()},size:`small`,title:`Refresh`,children:(0,K.jsx)(O,{})})]}):void 0}),b&&(0,K.jsx)(w,{severity:`error`,variant:`outlined`,onClose:()=>S(null),children:b}),p?(0,K.jsxs)(_,{spacing:2,children:[(0,K.jsx)(_,{direction:`row`,spacing:2,children:[...[,,,,,]].map((e,t)=>(0,K.jsx)(i,{height:80,variant:`rounded`,sx:{flex:1}},t))}),(0,K.jsx)(i,{height:200,variant:`rounded`})]}):a?(0,K.jsxs)(K.Fragment,{children:[(0,K.jsxs)(ne,{value:D,onChange:(e,t)=>k(t),children:[(0,K.jsx)(B,{label:`Overview`}),(0,K.jsx)(B,{label:`Logs`}),(0,K.jsx)(B,{label:`Metrics`})]}),(0,K.jsx)(q,{value:D,index:0,children:(0,K.jsx)(re,{app:a,diagnostics:l,diagLoading:g})}),(0,K.jsx)(q,{value:D,index:1,children:(0,K.jsx)(fe,{appName:r})}),(0,K.jsx)(q,{value:D,index:2,children:(0,K.jsx)(pe,{appName:r})})]}):(0,K.jsxs)(w,{severity:`warning`,variant:`outlined`,children:[`Application "`,e,`" not found.`]})]})}export{me as default};
@@ -1 +0,0 @@
1
- function e(e){if(e<=0)return`--`;let t=Math.floor(e/1e3),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60),a=t%60;return n>0?`${n}d ${r}h ${i}m`:r>0?`${r}h ${i}m`:i>0?`${i}m ${a}s`:`${a}s`}function t(e){return e<=0?`--`:`${(e/(1024*1024)).toFixed(1)} MB`}function n(e){return e<=0?`--`:`${(e/(1024*1024)).toFixed(1)}`}function r(e){return(typeof e==`string`?new Date(e):e).toLocaleTimeString(`en-US`,{hour12:!1,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}function i(e){let t=typeof e==`string`?new Date(e):e,n=new Date;return t.getFullYear()===n.getFullYear()&&t.getMonth()===n.getMonth()&&t.getDate()===n.getDate()?r(e):t.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})+` `+r(e)}function a(e){return(typeof e==`string`?new Date(e):e).toLocaleString(`en-US`,{month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`,hour12:!1})}function o(e){let t=typeof e==`string`?new Date(e):e,n=Date.now()-t.getTime(),r=Math.floor(n/6e4);if(r<1)return`just now`;if(r<60)return`${r}m ago`;let i=Math.floor(r/60);return i<24?`${i}h ago`:`${Math.floor(i/24)}d ago`}export{r as a,n as i,a as n,e as o,t as r,o as s,i as t};