@calltelemetry/cli 0.6.12 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (474) hide show
  1. package/dist/commands/appliance.d.ts +3 -0
  2. package/dist/commands/appliance.d.ts.map +1 -0
  3. package/dist/commands/appliance.js +99 -0
  4. package/dist/commands/appliance.js.map +1 -0
  5. package/dist/commands/config.d.ts.map +1 -1
  6. package/dist/commands/config.js +0 -42
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/loadtest.d.ts.map +1 -1
  9. package/dist/commands/loadtest.js +214 -1
  10. package/dist/commands/loadtest.js.map +1 -1
  11. package/dist/commands/otel.d.ts +3 -0
  12. package/dist/commands/otel.d.ts.map +1 -0
  13. package/dist/commands/otel.js +89 -0
  14. package/dist/commands/otel.js.map +1 -0
  15. package/dist/commands/seed.d.ts +3 -0
  16. package/dist/commands/seed.d.ts.map +1 -0
  17. package/dist/commands/seed.js +106 -0
  18. package/dist/commands/seed.js.map +1 -0
  19. package/dist/commands/storage.d.ts +3 -0
  20. package/dist/commands/storage.d.ts.map +1 -0
  21. package/dist/commands/storage.js +66 -0
  22. package/dist/commands/storage.js.map +1 -0
  23. package/dist/commands/update.d.ts.map +1 -1
  24. package/dist/commands/update.js +19 -17
  25. package/dist/commands/update.js.map +1 -1
  26. package/dist/index.js +8 -0
  27. package/dist/index.js.map +1 -1
  28. package/dist/lib/migration-001-cgnat.d.ts +2 -0
  29. package/dist/lib/migration-001-cgnat.d.ts.map +1 -0
  30. package/dist/lib/migration-001-cgnat.js +59 -0
  31. package/dist/lib/migration-001-cgnat.js.map +1 -0
  32. package/dist/lib/migration-002-swap.d.ts +12 -0
  33. package/dist/lib/migration-002-swap.d.ts.map +1 -0
  34. package/dist/lib/migration-002-swap.js +103 -0
  35. package/dist/lib/migration-002-swap.js.map +1 -0
  36. package/dist/lib/migration-003-nm-heal.d.ts +12 -0
  37. package/dist/lib/migration-003-nm-heal.d.ts.map +1 -0
  38. package/dist/lib/migration-003-nm-heal.js +75 -0
  39. package/dist/lib/migration-003-nm-heal.js.map +1 -0
  40. package/dist/lib/migration-004-systemd-docker.d.ts +13 -0
  41. package/dist/lib/migration-004-systemd-docker.d.ts.map +1 -0
  42. package/dist/lib/migration-004-systemd-docker.js +48 -0
  43. package/dist/lib/migration-004-systemd-docker.js.map +1 -0
  44. package/dist/lib/migration-005-ssh-keys.d.ts +13 -0
  45. package/dist/lib/migration-005-ssh-keys.d.ts.map +1 -0
  46. package/dist/lib/migration-005-ssh-keys.js +49 -0
  47. package/dist/lib/migration-005-ssh-keys.js.map +1 -0
  48. package/dist/lib/migration-006-console-loglevel.d.ts +10 -0
  49. package/dist/lib/migration-006-console-loglevel.d.ts.map +1 -0
  50. package/dist/lib/migration-006-console-loglevel.js +27 -0
  51. package/dist/lib/migration-006-console-loglevel.js.map +1 -0
  52. package/dist/lib/migration-007-nm-keyfile.d.ts +10 -0
  53. package/dist/lib/migration-007-nm-keyfile.d.ts.map +1 -0
  54. package/dist/lib/migration-007-nm-keyfile.js +30 -0
  55. package/dist/lib/migration-007-nm-keyfile.js.map +1 -0
  56. package/dist/lib/migration-008-systemd-restart.d.ts +13 -0
  57. package/dist/lib/migration-008-systemd-restart.d.ts.map +1 -0
  58. package/dist/lib/migration-008-systemd-restart.js +41 -0
  59. package/dist/lib/migration-008-systemd-restart.js.map +1 -0
  60. package/dist/lib/migration-009-bind-mount-files.d.ts +11 -0
  61. package/dist/lib/migration-009-bind-mount-files.d.ts.map +1 -0
  62. package/dist/lib/migration-009-bind-mount-files.js +86 -0
  63. package/dist/lib/migration-009-bind-mount-files.js.map +1 -0
  64. package/dist/lib/migration-010-jtapi-state.d.ts +11 -0
  65. package/dist/lib/migration-010-jtapi-state.d.ts.map +1 -0
  66. package/dist/lib/migration-010-jtapi-state.js +61 -0
  67. package/dist/lib/migration-010-jtapi-state.js.map +1 -0
  68. package/dist/lib/migration-011-docker-memory-limit.d.ts +13 -0
  69. package/dist/lib/migration-011-docker-memory-limit.d.ts.map +1 -0
  70. package/dist/lib/migration-011-docker-memory-limit.js +45 -0
  71. package/dist/lib/migration-011-docker-memory-limit.js.map +1 -0
  72. package/dist/lib/migration-012-db-pool-sizes.d.ts +12 -0
  73. package/dist/lib/migration-012-db-pool-sizes.d.ts.map +1 -0
  74. package/dist/lib/migration-012-db-pool-sizes.js +64 -0
  75. package/dist/lib/migration-012-db-pool-sizes.js.map +1 -0
  76. package/dist/lib/migration-013-grafana-password.d.ts +15 -0
  77. package/dist/lib/migration-013-grafana-password.d.ts.map +1 -0
  78. package/dist/lib/migration-013-grafana-password.js +80 -0
  79. package/dist/lib/migration-013-grafana-password.js.map +1 -0
  80. package/dist/lib/migration-014-docker-firewall-backend.d.ts +16 -0
  81. package/dist/lib/migration-014-docker-firewall-backend.d.ts.map +1 -0
  82. package/dist/lib/migration-014-docker-firewall-backend.js +72 -0
  83. package/dist/lib/migration-014-docker-firewall-backend.js.map +1 -0
  84. package/dist/lib/migrations.d.ts +42 -0
  85. package/dist/lib/migrations.d.ts.map +1 -0
  86. package/dist/lib/migrations.js +231 -0
  87. package/dist/lib/migrations.js.map +1 -0
  88. package/dist/lib/otel.d.ts +7 -7
  89. package/dist/lib/otel.d.ts.map +1 -1
  90. package/dist/lib/otel.js +18 -25
  91. package/dist/lib/otel.js.map +1 -1
  92. package/dist/lib/prefs.d.ts +1 -0
  93. package/dist/lib/prefs.d.ts.map +1 -1
  94. package/dist/lib/prefs.js +1 -0
  95. package/dist/lib/prefs.js.map +1 -1
  96. package/dist/lib/prompts.d.ts +3 -0
  97. package/dist/lib/prompts.d.ts.map +1 -0
  98. package/dist/lib/prompts.js +39 -0
  99. package/dist/lib/prompts.js.map +1 -0
  100. package/dist/lib/rpc-scripts.d.ts +4 -0
  101. package/dist/lib/rpc-scripts.d.ts.map +1 -1
  102. package/dist/lib/rpc-scripts.js +235 -0
  103. package/dist/lib/rpc-scripts.js.map +1 -1
  104. package/dist/lib/secrets.d.ts +2 -2
  105. package/dist/lib/secrets.d.ts.map +1 -1
  106. package/dist/lib/secrets.js +2 -1
  107. package/dist/lib/secrets.js.map +1 -1
  108. package/dist/lib/seed/connection.d.ts +5 -0
  109. package/dist/lib/seed/connection.d.ts.map +1 -0
  110. package/dist/lib/seed/connection.js +168 -0
  111. package/dist/lib/seed/connection.js.map +1 -0
  112. package/dist/lib/seed/copy.d.ts +4 -0
  113. package/dist/lib/seed/copy.d.ts.map +1 -0
  114. package/dist/lib/seed/copy.js +74 -0
  115. package/dist/lib/seed/copy.js.map +1 -0
  116. package/dist/lib/seed/dashboard-templates.d.ts +22 -0
  117. package/dist/lib/seed/dashboard-templates.d.ts.map +1 -0
  118. package/dist/lib/seed/dashboard-templates.js +268 -0
  119. package/dist/lib/seed/dashboard-templates.js.map +1 -0
  120. package/dist/lib/seed/families.d.ts +5 -0
  121. package/dist/lib/seed/families.d.ts.map +1 -0
  122. package/dist/lib/seed/families.js +1541 -0
  123. package/dist/lib/seed/families.js.map +1 -0
  124. package/dist/lib/seed/index.d.ts +12 -0
  125. package/dist/lib/seed/index.d.ts.map +1 -0
  126. package/dist/lib/seed/index.js +327 -0
  127. package/dist/lib/seed/index.js.map +1 -0
  128. package/dist/lib/seed/presets.d.ts +5 -0
  129. package/dist/lib/seed/presets.d.ts.map +1 -0
  130. package/dist/lib/seed/presets.js +114 -0
  131. package/dist/lib/seed/presets.js.map +1 -0
  132. package/dist/lib/seed/schema/columns.d.ts +35 -0
  133. package/dist/lib/seed/schema/columns.d.ts.map +1 -0
  134. package/dist/lib/seed/schema/columns.js +497 -0
  135. package/dist/lib/seed/schema/columns.js.map +1 -0
  136. package/dist/lib/seed/schema/fingerprint.d.ts +2 -0
  137. package/dist/lib/seed/schema/fingerprint.d.ts.map +1 -0
  138. package/dist/lib/seed/schema/fingerprint.js +4 -0
  139. package/dist/lib/seed/schema/fingerprint.js.map +1 -0
  140. package/dist/lib/seed/schema/index.d.ts +4 -0
  141. package/dist/lib/seed/schema/index.d.ts.map +1 -0
  142. package/dist/lib/seed/schema/index.js +6 -0
  143. package/dist/lib/seed/schema/index.js.map +1 -0
  144. package/dist/lib/seed/schema/spec.d.ts +8 -0
  145. package/dist/lib/seed/schema/spec.d.ts.map +1 -0
  146. package/dist/lib/seed/schema/spec.js +655 -0
  147. package/dist/lib/seed/schema/spec.js.map +1 -0
  148. package/dist/lib/seed/schema/tables.d.ts +132 -0
  149. package/dist/lib/seed/schema/tables.d.ts.map +1 -0
  150. package/dist/lib/seed/schema/tables.js +37 -0
  151. package/dist/lib/seed/schema/tables.js.map +1 -0
  152. package/dist/lib/seed/store.d.ts +26 -0
  153. package/dist/lib/seed/store.d.ts.map +1 -0
  154. package/dist/lib/seed/store.js +111 -0
  155. package/dist/lib/seed/store.js.map +1 -0
  156. package/dist/lib/seed/types.d.ts +71 -0
  157. package/dist/lib/seed/types.d.ts.map +1 -0
  158. package/dist/lib/seed/types.js +2 -0
  159. package/dist/lib/seed/types.js.map +1 -0
  160. package/dist/lib/storage.d.ts +4 -0
  161. package/dist/lib/storage.d.ts.map +1 -0
  162. package/dist/lib/storage.js +36 -0
  163. package/dist/lib/storage.js.map +1 -0
  164. package/dist/lib/update-steps.d.ts.map +1 -1
  165. package/dist/lib/update-steps.js +27 -0
  166. package/dist/lib/update-steps.js.map +1 -1
  167. package/dist/lib/update.d.ts.map +1 -1
  168. package/dist/lib/update.js +28 -2
  169. package/dist/lib/update.js.map +1 -1
  170. package/dist/lib/version.d.ts +1 -1
  171. package/dist/lib/version.d.ts.map +1 -1
  172. package/dist/lib/version.js +1 -1
  173. package/dist/lib/version.js.map +1 -1
  174. package/dist/lib/xcc-loadtest-types.d.ts +232 -0
  175. package/dist/lib/xcc-loadtest-types.d.ts.map +1 -0
  176. package/dist/lib/xcc-loadtest-types.js +2 -0
  177. package/dist/lib/xcc-loadtest-types.js.map +1 -0
  178. package/dist/lib/xcc-loadtest.d.ts +4 -0
  179. package/dist/lib/xcc-loadtest.d.ts.map +1 -0
  180. package/dist/lib/xcc-loadtest.js +616 -0
  181. package/dist/lib/xcc-loadtest.js.map +1 -0
  182. package/dist/lib/xcc-overlay.d.ts +3 -0
  183. package/dist/lib/xcc-overlay.d.ts.map +1 -0
  184. package/dist/lib/xcc-overlay.js +74 -0
  185. package/dist/lib/xcc-overlay.js.map +1 -0
  186. package/dist/lib/xcc-scenarios.d.ts +8 -0
  187. package/dist/lib/xcc-scenarios.d.ts.map +1 -0
  188. package/dist/lib/xcc-scenarios.js +129 -0
  189. package/dist/lib/xcc-scenarios.js.map +1 -0
  190. package/dist/lib/xcc-xml.d.ts +18 -0
  191. package/dist/lib/xcc-xml.d.ts.map +1 -0
  192. package/dist/lib/xcc-xml.js +210 -0
  193. package/dist/lib/xcc-xml.js.map +1 -0
  194. package/dist/shell/commands/appliance-migrations.d.ts +7 -0
  195. package/dist/shell/commands/appliance-migrations.d.ts.map +1 -0
  196. package/dist/shell/commands/appliance-migrations.js +128 -0
  197. package/dist/shell/commands/appliance-migrations.js.map +1 -0
  198. package/dist/shell/commands/appliance-performance.d.ts +36 -0
  199. package/dist/shell/commands/appliance-performance.d.ts.map +1 -0
  200. package/dist/shell/commands/appliance-performance.js +221 -0
  201. package/dist/shell/commands/appliance-performance.js.map +1 -0
  202. package/dist/shell/commands/config.d.ts.map +1 -1
  203. package/dist/shell/commands/config.js +6 -5
  204. package/dist/shell/commands/config.js.map +1 -1
  205. package/dist/shell/commands/connect.d.ts.map +1 -1
  206. package/dist/shell/commands/connect.js +3 -2
  207. package/dist/shell/commands/connect.js.map +1 -1
  208. package/dist/shell/commands/db.d.ts.map +1 -1
  209. package/dist/shell/commands/db.js +5 -4
  210. package/dist/shell/commands/db.js.map +1 -1
  211. package/dist/shell/commands/debug.d.ts.map +1 -1
  212. package/dist/shell/commands/debug.js +5 -4
  213. package/dist/shell/commands/debug.js.map +1 -1
  214. package/dist/shell/commands/diag.js +10 -10
  215. package/dist/shell/commands/diag.js.map +1 -1
  216. package/dist/shell/commands/registry.d.ts.map +1 -1
  217. package/dist/shell/commands/registry.js +74 -0
  218. package/dist/shell/commands/registry.js.map +1 -1
  219. package/dist/shell/commands/secrets.d.ts.map +1 -1
  220. package/dist/shell/commands/secrets.js +2 -1
  221. package/dist/shell/commands/secrets.js.map +1 -1
  222. package/dist/shell/commands/seed.d.ts +9 -0
  223. package/dist/shell/commands/seed.d.ts.map +1 -0
  224. package/dist/shell/commands/seed.js +197 -0
  225. package/dist/shell/commands/seed.js.map +1 -0
  226. package/dist/shell/commands/services.d.ts.map +1 -1
  227. package/dist/shell/commands/services.js +5 -4
  228. package/dist/shell/commands/services.js.map +1 -1
  229. package/dist/shell/commands/test.d.ts.map +1 -1
  230. package/dist/shell/commands/test.js +3 -2
  231. package/dist/shell/commands/test.js.map +1 -1
  232. package/dist/shell/commands/users.d.ts.map +1 -1
  233. package/dist/shell/commands/users.js +9 -2
  234. package/dist/shell/commands/users.js.map +1 -1
  235. package/dist/shell/network-onboarding.d.ts +29 -7
  236. package/dist/shell/network-onboarding.d.ts.map +1 -1
  237. package/dist/shell/network-onboarding.js +305 -88
  238. package/dist/shell/network-onboarding.js.map +1 -1
  239. package/dist/ui/components/ActionBar.d.ts +13 -0
  240. package/dist/ui/components/ActionBar.d.ts.map +1 -0
  241. package/dist/ui/components/ActionBar.js +7 -0
  242. package/dist/ui/components/ActionBar.js.map +1 -0
  243. package/dist/ui/components/AppShell.d.ts +6 -1
  244. package/dist/ui/components/AppShell.d.ts.map +1 -1
  245. package/dist/ui/components/AppShell.js +32 -10
  246. package/dist/ui/components/AppShell.js.map +1 -1
  247. package/dist/ui/components/DashboardBlock.d.ts +11 -0
  248. package/dist/ui/components/DashboardBlock.d.ts.map +1 -0
  249. package/dist/ui/components/DashboardBlock.js +6 -0
  250. package/dist/ui/components/DashboardBlock.js.map +1 -0
  251. package/dist/ui/components/DataTable.d.ts +6 -1
  252. package/dist/ui/components/DataTable.d.ts.map +1 -1
  253. package/dist/ui/components/DataTable.js +71 -7
  254. package/dist/ui/components/DataTable.js.map +1 -1
  255. package/dist/ui/components/ErrorBoundary.d.ts +1 -1
  256. package/dist/ui/components/FieldList.d.ts +24 -0
  257. package/dist/ui/components/FieldList.d.ts.map +1 -0
  258. package/dist/ui/components/FieldList.js +67 -0
  259. package/dist/ui/components/FieldList.js.map +1 -0
  260. package/dist/ui/components/KeyValue.d.ts +4 -2
  261. package/dist/ui/components/KeyValue.d.ts.map +1 -1
  262. package/dist/ui/components/KeyValue.js +4 -2
  263. package/dist/ui/components/KeyValue.js.map +1 -1
  264. package/dist/ui/components/KeyboardHint.d.ts +10 -0
  265. package/dist/ui/components/KeyboardHint.d.ts.map +1 -0
  266. package/dist/ui/components/KeyboardHint.js +6 -0
  267. package/dist/ui/components/KeyboardHint.js.map +1 -0
  268. package/dist/ui/components/MenuList.d.ts +10 -0
  269. package/dist/ui/components/MenuList.d.ts.map +1 -0
  270. package/dist/ui/components/MenuList.js +7 -0
  271. package/dist/ui/components/MenuList.js.map +1 -0
  272. package/dist/ui/components/MetricsFooter.d.ts +10 -7
  273. package/dist/ui/components/MetricsFooter.d.ts.map +1 -1
  274. package/dist/ui/components/MetricsFooter.js +16 -3
  275. package/dist/ui/components/MetricsFooter.js.map +1 -1
  276. package/dist/ui/components/PaneSection.d.ts +9 -0
  277. package/dist/ui/components/PaneSection.d.ts.map +1 -0
  278. package/dist/ui/components/PaneSection.js +6 -0
  279. package/dist/ui/components/PaneSection.js.map +1 -0
  280. package/dist/ui/components/PanelState.d.ts +8 -0
  281. package/dist/ui/components/PanelState.d.ts.map +1 -0
  282. package/dist/ui/components/PanelState.js +7 -0
  283. package/dist/ui/components/PanelState.js.map +1 -0
  284. package/dist/ui/components/ScrollViewport.d.ts +16 -0
  285. package/dist/ui/components/ScrollViewport.d.ts.map +1 -0
  286. package/dist/ui/components/ScrollViewport.js +54 -0
  287. package/dist/ui/components/ScrollViewport.js.map +1 -0
  288. package/dist/ui/components/Section.js +1 -1
  289. package/dist/ui/components/Section.js.map +1 -1
  290. package/dist/ui/components/SelectMenu.d.ts.map +1 -1
  291. package/dist/ui/components/SelectMenu.js +3 -3
  292. package/dist/ui/components/SelectMenu.js.map +1 -1
  293. package/dist/ui/components/ShellOutput.d.ts +2 -1
  294. package/dist/ui/components/ShellOutput.d.ts.map +1 -1
  295. package/dist/ui/components/ShellOutput.js +6 -2
  296. package/dist/ui/components/ShellOutput.js.map +1 -1
  297. package/dist/ui/components/SplitPane.d.ts +18 -0
  298. package/dist/ui/components/SplitPane.d.ts.map +1 -0
  299. package/dist/ui/components/SplitPane.js +9 -0
  300. package/dist/ui/components/SplitPane.js.map +1 -0
  301. package/dist/ui/components/StatusList.d.ts +18 -0
  302. package/dist/ui/components/StatusList.d.ts.map +1 -0
  303. package/dist/ui/components/StatusList.js +13 -0
  304. package/dist/ui/components/StatusList.js.map +1 -0
  305. package/dist/ui/components/SummaryStrip.d.ts +9 -0
  306. package/dist/ui/components/SummaryStrip.d.ts.map +1 -0
  307. package/dist/ui/components/SummaryStrip.js +6 -0
  308. package/dist/ui/components/SummaryStrip.js.map +1 -0
  309. package/dist/ui/components/app-shell-viewport.d.ts +7 -0
  310. package/dist/ui/components/app-shell-viewport.d.ts.map +1 -0
  311. package/dist/ui/components/app-shell-viewport.js +6 -0
  312. package/dist/ui/components/app-shell-viewport.js.map +1 -0
  313. package/dist/ui/components/index.d.ts +14 -0
  314. package/dist/ui/components/index.d.ts.map +1 -1
  315. package/dist/ui/components/index.js +12 -0
  316. package/dist/ui/components/index.js.map +1 -1
  317. package/dist/ui/context/MetricsContext.d.ts.map +1 -1
  318. package/dist/ui/context/MetricsContext.js +15 -12
  319. package/dist/ui/context/MetricsContext.js.map +1 -1
  320. package/dist/ui/hooks/index.d.ts +9 -1
  321. package/dist/ui/hooks/index.d.ts.map +1 -1
  322. package/dist/ui/hooks/index.js +7 -0
  323. package/dist/ui/hooks/index.js.map +1 -1
  324. package/dist/ui/hooks/useAsyncTask.d.ts +7 -1
  325. package/dist/ui/hooks/useAsyncTask.d.ts.map +1 -1
  326. package/dist/ui/hooks/useAsyncTask.js +30 -6
  327. package/dist/ui/hooks/useAsyncTask.js.map +1 -1
  328. package/dist/ui/hooks/useBoundedCursor.d.ts +7 -0
  329. package/dist/ui/hooks/useBoundedCursor.d.ts.map +1 -0
  330. package/dist/ui/hooks/useBoundedCursor.js +19 -0
  331. package/dist/ui/hooks/useBoundedCursor.js.map +1 -0
  332. package/dist/ui/hooks/useConfirmBackNav.d.ts +7 -0
  333. package/dist/ui/hooks/useConfirmBackNav.d.ts.map +1 -0
  334. package/dist/ui/hooks/useConfirmBackNav.js +10 -0
  335. package/dist/ui/hooks/useConfirmBackNav.js.map +1 -0
  336. package/dist/ui/hooks/useDismissKeys.d.ts +10 -0
  337. package/dist/ui/hooks/useDismissKeys.d.ts.map +1 -0
  338. package/dist/ui/hooks/useDismissKeys.js +17 -0
  339. package/dist/ui/hooks/useDismissKeys.js.map +1 -0
  340. package/dist/ui/hooks/useListCursor.d.ts +7 -0
  341. package/dist/ui/hooks/useListCursor.d.ts.map +1 -0
  342. package/dist/ui/hooks/useListCursor.js +29 -0
  343. package/dist/ui/hooks/useListCursor.js.map +1 -0
  344. package/dist/ui/hooks/useTwoPaneCursor.d.ts +12 -0
  345. package/dist/ui/hooks/useTwoPaneCursor.d.ts.map +1 -0
  346. package/dist/ui/hooks/useTwoPaneCursor.js +36 -0
  347. package/dist/ui/hooks/useTwoPaneCursor.js.map +1 -0
  348. package/dist/ui/hooks/useXccBackendOverlay.d.ts +9 -0
  349. package/dist/ui/hooks/useXccBackendOverlay.d.ts.map +1 -0
  350. package/dist/ui/hooks/useXccBackendOverlay.js +14 -0
  351. package/dist/ui/hooks/useXccBackendOverlay.js.map +1 -0
  352. package/dist/ui/hooks/useXccLoadTest.d.ts +11 -0
  353. package/dist/ui/hooks/useXccLoadTest.d.ts.map +1 -0
  354. package/dist/ui/hooks/useXccLoadTest.js +37 -0
  355. package/dist/ui/hooks/useXccLoadTest.js.map +1 -0
  356. package/dist/ui/palette.d.ts +23 -0
  357. package/dist/ui/palette.d.ts.map +1 -0
  358. package/dist/ui/palette.js +22 -0
  359. package/dist/ui/palette.js.map +1 -0
  360. package/dist/ui/views/DbHealthView.js +4 -4
  361. package/dist/ui/views/DbHealthView.js.map +1 -1
  362. package/dist/ui/views/DbSizeView.d.ts.map +1 -1
  363. package/dist/ui/views/DbSizeView.js +2 -2
  364. package/dist/ui/views/DbSizeView.js.map +1 -1
  365. package/dist/ui/views/DbTablesView.d.ts.map +1 -1
  366. package/dist/ui/views/DbTablesView.js +2 -2
  367. package/dist/ui/views/DbTablesView.js.map +1 -1
  368. package/dist/ui/views/DiagDatabaseView.d.ts.map +1 -1
  369. package/dist/ui/views/DiagDatabaseView.js +4 -3
  370. package/dist/ui/views/DiagDatabaseView.js.map +1 -1
  371. package/dist/ui/views/DiagNetworkView.js +2 -2
  372. package/dist/ui/views/DiagNetworkView.js.map +1 -1
  373. package/dist/ui/views/DiagServiceView.js +1 -1
  374. package/dist/ui/views/DiagServiceView.js.map +1 -1
  375. package/dist/ui/views/DockerPruneView.d.ts.map +1 -1
  376. package/dist/ui/views/DockerPruneView.js +4 -8
  377. package/dist/ui/views/DockerPruneView.js.map +1 -1
  378. package/dist/ui/views/K8sDeployView.d.ts.map +1 -1
  379. package/dist/ui/views/K8sDeployView.js +5 -5
  380. package/dist/ui/views/K8sDeployView.js.map +1 -1
  381. package/dist/ui/views/K8sServicesView.d.ts.map +1 -1
  382. package/dist/ui/views/K8sServicesView.js +6 -11
  383. package/dist/ui/views/K8sServicesView.js.map +1 -1
  384. package/dist/ui/views/K8sStatusView.d.ts.map +1 -1
  385. package/dist/ui/views/K8sStatusView.js +14 -19
  386. package/dist/ui/views/K8sStatusView.js.map +1 -1
  387. package/dist/ui/views/LoadTestConfigView.d.ts.map +1 -1
  388. package/dist/ui/views/LoadTestConfigView.js +45 -43
  389. package/dist/ui/views/LoadTestConfigView.js.map +1 -1
  390. package/dist/ui/views/LoadTestSummaryView.d.ts.map +1 -1
  391. package/dist/ui/views/LoadTestSummaryView.js +7 -2
  392. package/dist/ui/views/LoadTestSummaryView.js.map +1 -1
  393. package/dist/ui/views/MainMenu.d.ts.map +1 -1
  394. package/dist/ui/views/MainMenu.js +265 -55
  395. package/dist/ui/views/MainMenu.js.map +1 -1
  396. package/dist/ui/views/MigrateHistoryView.d.ts.map +1 -1
  397. package/dist/ui/views/MigrateHistoryView.js +11 -2
  398. package/dist/ui/views/MigrateHistoryView.js.map +1 -1
  399. package/dist/ui/views/MigrateRollbackView.d.ts.map +1 -1
  400. package/dist/ui/views/MigrateRollbackView.js +4 -8
  401. package/dist/ui/views/MigrateRollbackView.js.map +1 -1
  402. package/dist/ui/views/MigrateRunView.d.ts.map +1 -1
  403. package/dist/ui/views/MigrateRunView.js +4 -8
  404. package/dist/ui/views/MigrateRunView.js.map +1 -1
  405. package/dist/ui/views/MigrateStatusView.js +1 -1
  406. package/dist/ui/views/MigrateStatusView.js.map +1 -1
  407. package/dist/ui/views/MigrateWatchView.js +1 -1
  408. package/dist/ui/views/MigrateWatchView.js.map +1 -1
  409. package/dist/ui/views/OfflineApplyView.d.ts.map +1 -1
  410. package/dist/ui/views/OfflineApplyView.js +17 -7
  411. package/dist/ui/views/OfflineApplyView.js.map +1 -1
  412. package/dist/ui/views/OfflineDownloadView.d.ts.map +1 -1
  413. package/dist/ui/views/OfflineDownloadView.js +17 -7
  414. package/dist/ui/views/OfflineDownloadView.js.map +1 -1
  415. package/dist/ui/views/OfflineFetchView.d.ts.map +1 -1
  416. package/dist/ui/views/OfflineFetchView.js +17 -7
  417. package/dist/ui/views/OfflineFetchView.js.map +1 -1
  418. package/dist/ui/views/OfflineInspectView.d.ts.map +1 -1
  419. package/dist/ui/views/OfflineInspectView.js +17 -7
  420. package/dist/ui/views/OfflineInspectView.js.map +1 -1
  421. package/dist/ui/views/OsUpdatesEnableView.js +4 -4
  422. package/dist/ui/views/OsUpdatesEnableView.js.map +1 -1
  423. package/dist/ui/views/OsUpdatesLogView.js +1 -1
  424. package/dist/ui/views/OsUpdatesLogView.js.map +1 -1
  425. package/dist/ui/views/OsUpdatesStatusView.d.ts.map +1 -1
  426. package/dist/ui/views/OsUpdatesStatusView.js +12 -12
  427. package/dist/ui/views/OsUpdatesStatusView.js.map +1 -1
  428. package/dist/ui/views/PowerActionView.d.ts.map +1 -1
  429. package/dist/ui/views/PowerActionView.js +3 -8
  430. package/dist/ui/views/PowerActionView.js.map +1 -1
  431. package/dist/ui/views/SecretsResetPasswordView.d.ts.map +1 -1
  432. package/dist/ui/views/SecretsResetPasswordView.js +23 -7
  433. package/dist/ui/views/SecretsResetPasswordView.js.map +1 -1
  434. package/dist/ui/views/SecretsSetupView.d.ts.map +1 -1
  435. package/dist/ui/views/SecretsSetupView.js +39 -22
  436. package/dist/ui/views/SecretsSetupView.js.map +1 -1
  437. package/dist/ui/views/ServiceLogsView.d.ts.map +1 -1
  438. package/dist/ui/views/ServiceLogsView.js +9 -9
  439. package/dist/ui/views/ServiceLogsView.js.map +1 -1
  440. package/dist/ui/views/ServicesView.d.ts.map +1 -1
  441. package/dist/ui/views/ServicesView.js +51 -28
  442. package/dist/ui/views/ServicesView.js.map +1 -1
  443. package/dist/ui/views/SettingsView.d.ts.map +1 -1
  444. package/dist/ui/views/SettingsView.js +5 -4
  445. package/dist/ui/views/SettingsView.js.map +1 -1
  446. package/dist/ui/views/SetupWizardView.d.ts.map +1 -1
  447. package/dist/ui/views/SetupWizardView.js +37 -32
  448. package/dist/ui/views/SetupWizardView.js.map +1 -1
  449. package/dist/ui/views/StatusView.d.ts.map +1 -1
  450. package/dist/ui/views/StatusView.js +44 -31
  451. package/dist/ui/views/StatusView.js.map +1 -1
  452. package/dist/ui/views/UpdateView.d.ts.map +1 -1
  453. package/dist/ui/views/UpdateView.js +28 -14
  454. package/dist/ui/views/UpdateView.js.map +1 -1
  455. package/dist/ui/views/UserResetPasswordView.d.ts.map +1 -1
  456. package/dist/ui/views/UserResetPasswordView.js +26 -8
  457. package/dist/ui/views/UserResetPasswordView.js.map +1 -1
  458. package/dist/ui/views/XccLoadTestConfigView.d.ts +29 -0
  459. package/dist/ui/views/XccLoadTestConfigView.d.ts.map +1 -0
  460. package/dist/ui/views/XccLoadTestConfigView.js +210 -0
  461. package/dist/ui/views/XccLoadTestConfigView.js.map +1 -0
  462. package/dist/ui/views/XccLoadTestRunView.d.ts +9 -0
  463. package/dist/ui/views/XccLoadTestRunView.d.ts.map +1 -0
  464. package/dist/ui/views/XccLoadTestRunView.js +154 -0
  465. package/dist/ui/views/XccLoadTestRunView.js.map +1 -0
  466. package/dist/ui/views/XccLoadTestSummaryView.d.ts +9 -0
  467. package/dist/ui/views/XccLoadTestSummaryView.d.ts.map +1 -0
  468. package/dist/ui/views/XccLoadTestSummaryView.js +63 -0
  469. package/dist/ui/views/XccLoadTestSummaryView.js.map +1 -0
  470. package/dist/ui/views/XccLoadTestView.d.ts +8 -0
  471. package/dist/ui/views/XccLoadTestView.d.ts.map +1 -0
  472. package/dist/ui/views/XccLoadTestView.js +40 -0
  473. package/dist/ui/views/XccLoadTestView.js.map +1 -0
  474. package/package.json +6 -1
@@ -0,0 +1,132 @@
1
+ export declare const SEED_TABLES: {
2
+ readonly curri_events: {
3
+ readonly tableName: "public.curri_events";
4
+ readonly sequenceName: "public.curri_events_id_seq";
5
+ };
6
+ readonly app_events: {
7
+ readonly tableName: "public.app_events";
8
+ readonly sequenceName: "public.app_events_id_seq";
9
+ };
10
+ readonly reputation_signals: {
11
+ readonly tableName: "public.reputation_signals";
12
+ readonly sequenceName: "public.reputation_signals_id_seq";
13
+ };
14
+ readonly cdr_integrations: {
15
+ readonly tableName: "public.cdr_integrations";
16
+ readonly sequenceName: "public.cdr_integrations_id_seq";
17
+ };
18
+ readonly cdrcalls: {
19
+ readonly tableName: "public.cdrcalls";
20
+ readonly sequenceName: "public.cdrcalls_id_seq";
21
+ };
22
+ readonly callmanagers: {
23
+ readonly tableName: "public.callmanagers";
24
+ readonly sequenceName: "public.callmanagers_id_seq";
25
+ };
26
+ readonly endusers: {
27
+ readonly tableName: "public.endusers";
28
+ readonly sequenceName: "public.endusers_id_seq";
29
+ };
30
+ readonly cdr_event_logs: {
31
+ readonly tableName: "public.cdr_event_logs";
32
+ readonly sequenceName: "public.cdr_event_logs_id_seq";
33
+ };
34
+ readonly cubes: {
35
+ readonly tableName: "public.cubes";
36
+ readonly sequenceName: "public.cubes_id_seq";
37
+ };
38
+ readonly cube_event_logs: {
39
+ readonly tableName: "public.cube_event_logs";
40
+ readonly sequenceName: "public.cube_event_logs_id_seq";
41
+ };
42
+ readonly fac_cost_centers: {
43
+ readonly tableName: "public.fac_cost_centers";
44
+ readonly sequenceName: "public.fac_cost_centers_id_seq";
45
+ };
46
+ readonly fac_code_cost_center_assignments: {
47
+ readonly tableName: "public.fac_code_cost_center_assignments";
48
+ readonly sequenceName: "public.fac_code_cost_center_assignments_id_seq";
49
+ };
50
+ readonly clients: {
51
+ readonly tableName: "public.clients";
52
+ readonly sequenceName: "public.clients_id_seq";
53
+ };
54
+ readonly cmc_codes: {
55
+ readonly tableName: "public.cmc_codes";
56
+ readonly sequenceName: "public.cmc_codes_id_seq";
57
+ };
58
+ readonly rate_tables: {
59
+ readonly tableName: "public.rate_tables";
60
+ readonly sequenceName: "public.rate_tables_id_seq";
61
+ };
62
+ readonly rate_time_multipliers: {
63
+ readonly tableName: "public.rate_time_multipliers";
64
+ readonly sequenceName: "public.rate_time_multipliers_id_seq";
65
+ };
66
+ readonly costing_rules: {
67
+ readonly tableName: "public.costing_rules";
68
+ readonly sequenceName: "public.costing_rules_id_seq";
69
+ };
70
+ readonly phone_registration_snapshots: {
71
+ readonly tableName: "public.phone_registration_snapshots";
72
+ readonly sequenceName: "public.phone_registration_snapshots_id_seq";
73
+ };
74
+ readonly dashboards: {
75
+ readonly tableName: "public.dashboards";
76
+ readonly sequenceName: null;
77
+ };
78
+ readonly dashboard_widgets: {
79
+ readonly tableName: "public.dashboard_widgets";
80
+ readonly sequenceName: null;
81
+ };
82
+ readonly policies: {
83
+ readonly tableName: "public.policies";
84
+ readonly sequenceName: "public.policies_id_seq";
85
+ };
86
+ readonly rules: {
87
+ readonly tableName: "public.rules";
88
+ readonly sequenceName: "public.rules_id_seq";
89
+ };
90
+ readonly tdos_violations: {
91
+ readonly tableName: "public.tdos_violations";
92
+ readonly sequenceName: "public.tdos_violations_id_seq";
93
+ };
94
+ readonly watch_lists: {
95
+ readonly tableName: "public.watch_lists";
96
+ readonly sequenceName: "public.watch_lists_id_seq";
97
+ };
98
+ readonly watch_list_numbers: {
99
+ readonly tableName: "public.watch_list_numbers";
100
+ readonly sequenceName: "public.watch_list_numbers_id_seq";
101
+ };
102
+ readonly watch_list_triggers: {
103
+ readonly tableName: "public.watch_list_triggers";
104
+ readonly sequenceName: "public.watch_list_triggers_id_seq";
105
+ };
106
+ readonly watch_list_violations: {
107
+ readonly tableName: "public.watch_list_violations";
108
+ readonly sequenceName: null;
109
+ };
110
+ readonly watch_list_violation_events: {
111
+ readonly tableName: "public.watch_list_violation_events";
112
+ readonly sequenceName: null;
113
+ };
114
+ readonly watch_lists_policies: {
115
+ readonly tableName: "public.watch_lists_policies";
116
+ readonly sequenceName: "public.watch_lists_policies_id_seq";
117
+ };
118
+ readonly watch_list_triggers_policies: {
119
+ readonly tableName: "public.watch_list_triggers_policies";
120
+ readonly sequenceName: "public.watch_list_triggers_policies_id_seq";
121
+ };
122
+ readonly watch_list_numbers_have_watch_lists: {
123
+ readonly tableName: "public.watch_list_numbers_have_watch_lists";
124
+ readonly sequenceName: null;
125
+ };
126
+ readonly mcids: {
127
+ readonly tableName: "public.mcids";
128
+ readonly sequenceName: "public.mcids_id_seq";
129
+ };
130
+ };
131
+ export type SeedTableKey = keyof typeof SEED_TABLES;
132
+ //# sourceMappingURL=tables.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.d.ts","sourceRoot":"","sources":["../../../../src/lib/seed/schema/tables.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiCd,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,MAAM,OAAO,WAAW,CAAC"}
@@ -0,0 +1,37 @@
1
+ // Auto-generated by `yarn seed:codegen`.
2
+ // Do not edit this file by hand.
3
+ export const SEED_TABLES = {
4
+ "curri_events": { "tableName": "public.curri_events", "sequenceName": "public.curri_events_id_seq" },
5
+ "app_events": { "tableName": "public.app_events", "sequenceName": "public.app_events_id_seq" },
6
+ "reputation_signals": { "tableName": "public.reputation_signals", "sequenceName": "public.reputation_signals_id_seq" },
7
+ "cdr_integrations": { "tableName": "public.cdr_integrations", "sequenceName": "public.cdr_integrations_id_seq" },
8
+ "cdrcalls": { "tableName": "public.cdrcalls", "sequenceName": "public.cdrcalls_id_seq" },
9
+ "callmanagers": { "tableName": "public.callmanagers", "sequenceName": "public.callmanagers_id_seq" },
10
+ "endusers": { "tableName": "public.endusers", "sequenceName": "public.endusers_id_seq" },
11
+ "cdr_event_logs": { "tableName": "public.cdr_event_logs", "sequenceName": "public.cdr_event_logs_id_seq" },
12
+ "cubes": { "tableName": "public.cubes", "sequenceName": "public.cubes_id_seq" },
13
+ "cube_event_logs": { "tableName": "public.cube_event_logs", "sequenceName": "public.cube_event_logs_id_seq" },
14
+ "fac_cost_centers": { "tableName": "public.fac_cost_centers", "sequenceName": "public.fac_cost_centers_id_seq" },
15
+ "fac_code_cost_center_assignments": { "tableName": "public.fac_code_cost_center_assignments", "sequenceName": "public.fac_code_cost_center_assignments_id_seq" },
16
+ "clients": { "tableName": "public.clients", "sequenceName": "public.clients_id_seq" },
17
+ "cmc_codes": { "tableName": "public.cmc_codes", "sequenceName": "public.cmc_codes_id_seq" },
18
+ "rate_tables": { "tableName": "public.rate_tables", "sequenceName": "public.rate_tables_id_seq" },
19
+ "rate_time_multipliers": { "tableName": "public.rate_time_multipliers", "sequenceName": "public.rate_time_multipliers_id_seq" },
20
+ "costing_rules": { "tableName": "public.costing_rules", "sequenceName": "public.costing_rules_id_seq" },
21
+ "phone_registration_snapshots": { "tableName": "public.phone_registration_snapshots", "sequenceName": "public.phone_registration_snapshots_id_seq" },
22
+ "dashboards": { "tableName": "public.dashboards", "sequenceName": null },
23
+ "dashboard_widgets": { "tableName": "public.dashboard_widgets", "sequenceName": null },
24
+ "policies": { "tableName": "public.policies", "sequenceName": "public.policies_id_seq" },
25
+ "rules": { "tableName": "public.rules", "sequenceName": "public.rules_id_seq" },
26
+ "tdos_violations": { "tableName": "public.tdos_violations", "sequenceName": "public.tdos_violations_id_seq" },
27
+ "watch_lists": { "tableName": "public.watch_lists", "sequenceName": "public.watch_lists_id_seq" },
28
+ "watch_list_numbers": { "tableName": "public.watch_list_numbers", "sequenceName": "public.watch_list_numbers_id_seq" },
29
+ "watch_list_triggers": { "tableName": "public.watch_list_triggers", "sequenceName": "public.watch_list_triggers_id_seq" },
30
+ "watch_list_violations": { "tableName": "public.watch_list_violations", "sequenceName": null },
31
+ "watch_list_violation_events": { "tableName": "public.watch_list_violation_events", "sequenceName": null },
32
+ "watch_lists_policies": { "tableName": "public.watch_lists_policies", "sequenceName": "public.watch_lists_policies_id_seq" },
33
+ "watch_list_triggers_policies": { "tableName": "public.watch_list_triggers_policies", "sequenceName": "public.watch_list_triggers_policies_id_seq" },
34
+ "watch_list_numbers_have_watch_lists": { "tableName": "public.watch_list_numbers_have_watch_lists", "sequenceName": null },
35
+ "mcids": { "tableName": "public.mcids", "sequenceName": "public.mcids_id_seq" },
36
+ };
37
+ //# sourceMappingURL=tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tables.js","sourceRoot":"","sources":["../../../../src/lib/seed/schema/tables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { PoolClient } from 'pg';
2
+ import type { SeedFamilyExecutionResult, SeedFamilyKey, SeedRunRecord } from './types.js';
3
+ export declare function ensureSeedMetadataTables(client: PoolClient): Promise<void>;
4
+ export declare function createSeedRun(client: PoolClient, params: {
5
+ runId: string;
6
+ preset: string;
7
+ orgId: number;
8
+ options: Record<string, unknown>;
9
+ startedAt: Date;
10
+ }): Promise<void>;
11
+ export declare function recordSeedFamily(client: PoolClient, result: SeedFamilyExecutionResult, runId: string): Promise<void>;
12
+ export declare function finishSeedRun(client: PoolClient, params: {
13
+ runId: string;
14
+ status: 'completed' | 'failed';
15
+ summary: string;
16
+ }): Promise<void>;
17
+ export declare function listRecentSeedRuns(client: PoolClient, orgId: number, limit: number): Promise<SeedRunRecord[]>;
18
+ export declare function resolveCleanupRunIds(client: PoolClient, params: {
19
+ orgId: number;
20
+ mode: 'all' | 'preset' | 'run';
21
+ preset?: string;
22
+ runId?: string;
23
+ }): Promise<string[]>;
24
+ export declare function loadRunFamilyDetails(client: PoolClient, runIds: readonly string[]): Promise<Map<string, Map<SeedFamilyKey, Record<string, unknown>>>>;
25
+ export declare function deleteSeedRuns(client: PoolClient, runIds: readonly string[]): Promise<void>;
26
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../../src/lib/seed/store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE1F,wBAAsB,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBhF;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,SAAS,EAAE,IAAI,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,yBAAyB,EACjC,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC,CAQf;AAED,wBAAsB,aAAa,CACjC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,QAAQ,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACjB,GACA,OAAO,CAAC,IAAI,CAAC,CAWf;AAED,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,aAAa,EAAE,CAAC,CA4B1B;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE;IACN,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GACA,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnB;AAED,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,SAAS,MAAM,EAAE,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CA0BnE;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAMjG"}
@@ -0,0 +1,111 @@
1
+ export async function ensureSeedMetadataTables(client) {
2
+ await client.query(`
3
+ CREATE TABLE IF NOT EXISTS public._ct_seed_runs (
4
+ run_id uuid PRIMARY KEY,
5
+ preset text NOT NULL,
6
+ org_id bigint NOT NULL,
7
+ status text NOT NULL,
8
+ started_at timestamptz NOT NULL,
9
+ completed_at timestamptz,
10
+ options jsonb NOT NULL DEFAULT '{}'::jsonb,
11
+ summary text
12
+ )
13
+ `);
14
+ await client.query(`
15
+ CREATE TABLE IF NOT EXISTS public._ct_seed_run_items (
16
+ id bigserial PRIMARY KEY,
17
+ run_id uuid NOT NULL REFERENCES public._ct_seed_runs(run_id) ON DELETE CASCADE,
18
+ family text NOT NULL,
19
+ requested_count bigint NOT NULL,
20
+ inserted_count bigint NOT NULL,
21
+ details jsonb NOT NULL DEFAULT '{}'::jsonb,
22
+ created_at timestamptz NOT NULL DEFAULT now()
23
+ )
24
+ `);
25
+ }
26
+ export async function createSeedRun(client, params) {
27
+ await ensureSeedMetadataTables(client);
28
+ await client.query(`
29
+ INSERT INTO public._ct_seed_runs (run_id, preset, org_id, status, started_at, options)
30
+ VALUES ($1, $2, $3, 'running', $4, $5::jsonb)
31
+ `, [params.runId, params.preset, params.orgId, params.startedAt.toISOString(), JSON.stringify(params.options)]);
32
+ }
33
+ export async function recordSeedFamily(client, result, runId) {
34
+ await client.query(`
35
+ INSERT INTO public._ct_seed_run_items (run_id, family, requested_count, inserted_count, details)
36
+ VALUES ($1, $2, $3, $4, $5::jsonb)
37
+ `, [runId, result.family, result.requestedCount, result.insertedCount, JSON.stringify(result.details)]);
38
+ }
39
+ export async function finishSeedRun(client, params) {
40
+ await client.query(`
41
+ UPDATE public._ct_seed_runs
42
+ SET status = $2,
43
+ completed_at = now(),
44
+ summary = $3
45
+ WHERE run_id = $1
46
+ `, [params.runId, params.status, params.summary]);
47
+ }
48
+ export async function listRecentSeedRuns(client, orgId, limit) {
49
+ await ensureSeedMetadataTables(client);
50
+ const result = await client.query(`
51
+ SELECT run_id, preset, org_id, status, started_at, completed_at
52
+ FROM public._ct_seed_runs
53
+ WHERE org_id = $1
54
+ ORDER BY started_at DESC
55
+ LIMIT $2
56
+ `, [orgId, limit]);
57
+ return result.rows.map((row) => ({
58
+ runId: row.run_id,
59
+ preset: row.preset,
60
+ orgId: Number.parseInt(row.org_id, 10),
61
+ status: row.status,
62
+ startedAt: row.started_at,
63
+ completedAt: row.completed_at,
64
+ }));
65
+ }
66
+ export async function resolveCleanupRunIds(client, params) {
67
+ await ensureSeedMetadataTables(client);
68
+ if (params.mode === 'run') {
69
+ return params.runId ? [params.runId] : [];
70
+ }
71
+ if (params.mode === 'preset') {
72
+ const result = await client.query(`
73
+ SELECT run_id
74
+ FROM public._ct_seed_runs
75
+ WHERE org_id = $1 AND preset = $2
76
+ ORDER BY started_at DESC
77
+ `, [params.orgId, params.preset]);
78
+ return result.rows.map((row) => row.run_id);
79
+ }
80
+ const result = await client.query(`
81
+ SELECT run_id
82
+ FROM public._ct_seed_runs
83
+ WHERE org_id = $1
84
+ ORDER BY started_at DESC
85
+ `, [params.orgId]);
86
+ return result.rows.map((row) => row.run_id);
87
+ }
88
+ export async function loadRunFamilyDetails(client, runIds) {
89
+ if (runIds.length === 0) {
90
+ return new Map();
91
+ }
92
+ const result = await client.query(`
93
+ SELECT run_id, family, details
94
+ FROM public._ct_seed_run_items
95
+ WHERE run_id = ANY($1::uuid[])
96
+ `, [runIds]);
97
+ const map = new Map();
98
+ for (const row of result.rows) {
99
+ const familyMap = map.get(row.run_id) ?? new Map();
100
+ familyMap.set(row.family, row.details);
101
+ map.set(row.run_id, familyMap);
102
+ }
103
+ return map;
104
+ }
105
+ export async function deleteSeedRuns(client, runIds) {
106
+ if (runIds.length === 0) {
107
+ return;
108
+ }
109
+ await client.query('DELETE FROM public._ct_seed_runs WHERE run_id = ANY($1::uuid[])', [runIds]);
110
+ }
111
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/lib/seed/store.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ export type SeedFamilyKey = 'curri_events' | 'cdr_records' | 'missed_calls' | 'xcc_calls' | 'fac_calls' | 'cmc_calls' | 'cost_allocation' | 'registration_snapshots' | 'dashboard_templates' | 'block_rules' | 'permit_rules' | 'tdos_violations' | 'watch_lists_full_lifecycle' | 'global_block_list';
2
+ export type SeedPresetName = 'small_demo' | 'call_analytics_demo' | 'load_test_100k' | 'load_test_1m' | 'security_demo' | 'comprehensive_demo' | 'load_test_5m';
3
+ export interface SeedFamilyPlan {
4
+ family: SeedFamilyKey;
5
+ count: number;
6
+ days: number;
7
+ }
8
+ export interface SeedPresetDefinition {
9
+ name: SeedPresetName;
10
+ description: string;
11
+ families: SeedFamilyPlan[];
12
+ refreshMaterializedViews: boolean;
13
+ requiresAllowDisruptive: boolean;
14
+ }
15
+ export interface SeedRunOptions {
16
+ orgId: number;
17
+ dbUrl?: string;
18
+ append: boolean;
19
+ dryRun: boolean;
20
+ allowDisruptive: boolean;
21
+ refreshMaterializedViews?: boolean;
22
+ }
23
+ export interface SeedRunResult {
24
+ dryRun: boolean;
25
+ preset: SeedPresetName;
26
+ summary: string;
27
+ }
28
+ export interface SeedStatusOptions {
29
+ orgId: number;
30
+ dbUrl?: string;
31
+ limit: number;
32
+ }
33
+ export interface SeedCleanupOptions {
34
+ orgId: number;
35
+ dbUrl?: string;
36
+ mode: 'all' | 'preset' | 'run';
37
+ preset?: string;
38
+ runId?: string;
39
+ }
40
+ export interface SeedCleanupResult {
41
+ summary: string;
42
+ }
43
+ export interface SeedRunRecord {
44
+ runId: string;
45
+ preset: string;
46
+ orgId: number;
47
+ status: string;
48
+ startedAt: string;
49
+ completedAt: string | null;
50
+ }
51
+ export interface SeedFamilyRecord {
52
+ runId: string;
53
+ family: SeedFamilyKey;
54
+ requestedCount: number;
55
+ insertedCount: number;
56
+ details: Record<string, unknown>;
57
+ }
58
+ export interface SeedContext {
59
+ readonly runId: string;
60
+ readonly orgId: number;
61
+ readonly marker: string;
62
+ readonly startedAt: Date;
63
+ readonly append: boolean;
64
+ }
65
+ export interface SeedFamilyExecutionResult {
66
+ family: SeedFamilyKey;
67
+ requestedCount: number;
68
+ insertedCount: number;
69
+ details: Record<string, unknown>;
70
+ }
71
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/seed/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GACrB,cAAc,GACd,aAAa,GACb,cAAc,GACd,WAAW,GACX,WAAW,GACX,WAAW,GACX,iBAAiB,GACjB,wBAAwB,GACxB,qBAAqB,GACrB,aAAa,GACb,cAAc,GACd,iBAAiB,GACjB,4BAA4B,GAC5B,mBAAmB,CAAC;AAExB,MAAM,MAAM,cAAc,GACtB,YAAY,GACZ,qBAAqB,GACrB,gBAAgB,GAChB,cAAc,GACd,eAAe,GACf,oBAAoB,GACpB,cAAc,CAAC;AAEnB,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,wBAAwB,EAAE,OAAO,CAAC;IAClC,uBAAuB,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,wBAAwB,CAAC,EAAE,OAAO,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,KAAK,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,aAAa,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/lib/seed/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ export declare function isStorageEnabled(): boolean;
2
+ export declare function enableStorage(): Promise<void>;
3
+ export declare function disableStorage(): Promise<void>;
4
+ //# sourceMappingURL=storage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AASA,wBAAgB,gBAAgB,IAAI,OAAO,CAI1C;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAYnD;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC,CAepD"}
@@ -0,0 +1,36 @@
1
+ import { readEnvKeys, updateEnvKeys } from './env.js';
2
+ const STORAGE_ENV_VARS = {
3
+ S3_ENABLED: 'true',
4
+ S3_ENDPOINT: 'http://seaweedfs:8333',
5
+ };
6
+ const STORAGE_ENV_KEYS = Object.keys(STORAGE_ENV_VARS);
7
+ export function isStorageEnabled() {
8
+ const env = readEnvKeys();
9
+ const profiles = env.COMPOSE_PROFILES ?? '';
10
+ return profiles.split(',').map(p => p.trim()).includes('storage');
11
+ }
12
+ export async function enableStorage() {
13
+ const env = readEnvKeys();
14
+ const existing = (env.COMPOSE_PROFILES ?? '').split(',').map(p => p.trim()).filter(Boolean);
15
+ if (!existing.includes('storage')) {
16
+ existing.push('storage');
17
+ }
18
+ await updateEnvKeys({
19
+ COMPOSE_PROFILES: existing.join(','),
20
+ ...STORAGE_ENV_VARS,
21
+ });
22
+ }
23
+ export async function disableStorage() {
24
+ const env = readEnvKeys();
25
+ const existing = (env.COMPOSE_PROFILES ?? '').split(',').map(p => p.trim()).filter(Boolean);
26
+ const filtered = existing.filter(p => p !== 'storage');
27
+ const updates = {
28
+ COMPOSE_PROFILES: filtered.length > 0 ? filtered.join(',') : undefined,
29
+ S3_ENABLED: 'false',
30
+ };
31
+ for (const key of STORAGE_ENV_KEYS) {
32
+ updates[key] = undefined;
33
+ }
34
+ await updateEnvKeys(updates);
35
+ }
36
+ //# sourceMappingURL=storage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/lib/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEtD,MAAM,gBAAgB,GAA2B;IAC/C,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,uBAAuB;CACrC,CAAC;AAEF,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAEvD,MAAM,UAAU,gBAAgB;IAC9B,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC;IAC5C,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAE5F,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAClC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,CAAC;QAClB,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QACpC,GAAG,gBAAgB;KACpB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,GAAG,GAAG,WAAW,EAAE,CAAC;IAC1B,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAuC;QAClD,gBAAgB,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;QACtE,UAAU,EAAE,OAAO;KACpB,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-steps.d.ts","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"AAaA,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpD;AAID,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAyClE;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAsIhE;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE"}
1
+ {"version":3,"file":"update-steps.d.ts","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"AAaA,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B;AAED,sEAAsE;AACtE,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CACpD;AAID,wBAAgB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CAyClE;AAID,wBAAgB,YAAY,CAAC,aAAa,EAAE,MAAM,GAAG,UAAU,EAAE,CA+JhE;AAID;;;GAGG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAepE"}
@@ -144,6 +144,21 @@ export function executeSteps(targetVersion) {
144
144
  return pinned ? `pinned to PG ${pinned}` : 'ok';
145
145
  },
146
146
  },
147
+ {
148
+ label: 'Ensure secrets in .env',
149
+ run: async (ctx) => {
150
+ // Generate GRAFANA_PASSWORD (and other secrets) BEFORE restarting Docker
151
+ // so containers have the env vars on boot. Migration-013 is idempotent —
152
+ // it skips if GRAFANA_PASSWORD already exists in .env.
153
+ const { migrateGrafanaPassword } = await import('./migration-013-grafana-password.js');
154
+ const generated = await migrateGrafanaPassword();
155
+ if (generated) {
156
+ ctx?.log('Generated GRAFANA_PASSWORD');
157
+ return 'generated';
158
+ }
159
+ return 'already set';
160
+ },
161
+ },
147
162
  {
148
163
  label: 'Apply and restart services',
149
164
  run: async (ctx) => {
@@ -164,6 +179,18 @@ export function executeSteps(targetVersion) {
164
179
  return 'already correct';
165
180
  },
166
181
  },
182
+ {
183
+ label: 'Run appliance migrations',
184
+ run: async (ctx) => {
185
+ const { runPendingMigrations } = await import('./migrations.js');
186
+ const result = await runPendingMigrations((msg) => ctx?.log(msg));
187
+ for (const id of result.ran)
188
+ ctx?.log(` Applied: ${id}`);
189
+ if (result.ran.length === 0)
190
+ return 'all up to date';
191
+ return `${result.ran.length} migration(s) applied`;
192
+ },
193
+ },
167
194
  {
168
195
  label: 'Apply IPv6 configuration',
169
196
  run: async (ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"update-steps.js","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-steps.js","sourceRoot":"","sources":["../../src/lib/update-steps.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAaA,wFAAwF;AACxF,wBAAgB,iBAAiB,IAAI,MAAM,CAmB1C;AAED,qEAAqE;AACrE,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAUrD;AAED,2DAA2D;AAC3D,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDrD;AAED,iFAAiF;AACjF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAanE;AAED,8EAA8E;AAC9E,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsE9D;AAED,iEAAiE;AACjE,wBAAsB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM3E"}
1
+ {"version":3,"file":"update.d.ts","sourceRoot":"","sources":["../../src/lib/update.ts"],"names":[],"mappings":"AAaA,wFAAwF;AACxF,wBAAgB,iBAAiB,IAAI,MAAM,CAmB1C;AAED,qEAAqE;AACrE,wBAAsB,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,CAkCrD;AAED,2DAA2D;AAC3D,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAqDrD;AAED,iFAAiF;AACjF,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAanE;AAED,8EAA8E;AAC9E,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAMnD;AAED,wEAAwE;AACxE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED,sEAAsE;AACtE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAO3D;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAsE9D;AAED,iEAAiE;AACjE,wBAAsB,UAAU,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAM3E"}
@@ -36,11 +36,37 @@ export function getCurrentVersion() {
36
36
  /** Backup current docker-compose.yml, returns the backup filename */
37
37
  export async function backupCompose() {
38
38
  const { backupDir, composeFile } = getPaths();
39
- await mkdir(backupDir, { recursive: true });
39
+ // Create backup dir — if it exists but is root-owned, mkdir succeeds silently.
40
+ // Attempt to fix ownership so future writes don't require sudo.
41
+ try {
42
+ await mkdir(backupDir, { recursive: true });
43
+ }
44
+ catch (err) {
45
+ if (err.code === 'EACCES') {
46
+ await exec('sudo', ['mkdir', '-p', backupDir]);
47
+ await exec('sudo', ['chown', `${process.env.USER ?? 'calltelemetry'}:${process.env.USER ?? 'calltelemetry'}`, backupDir]);
48
+ }
49
+ else {
50
+ throw err;
51
+ }
52
+ }
40
53
  if (existsSync(composeFile)) {
41
54
  const timestamp = new Date().toISOString().replace(/[:.]/g, '-').slice(0, 19);
42
55
  const backupName = `docker-compose-${timestamp}.yml`;
43
- await copyFile(composeFile, join(backupDir, backupName));
56
+ const backupDest = join(backupDir, backupName);
57
+ try {
58
+ await copyFile(composeFile, backupDest);
59
+ }
60
+ catch (err) {
61
+ if (err.code === 'EACCES') {
62
+ // Backup dir is root-owned — use sudo cp and fix ownership for next time
63
+ await exec('sudo', ['cp', composeFile, backupDest]);
64
+ await exec('sudo', ['chown', `${process.env.USER ?? 'calltelemetry'}:${process.env.USER ?? 'calltelemetry'}`, backupDir]);
65
+ }
66
+ else {
67
+ throw err;
68
+ }
69
+ }
44
70
  return backupName;
45
71
  }
46
72
  return 'no existing file';