@hot-updater/console 1.0.0-rc.2 → 1.0.0-rc.21

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 (285) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/ConsoleFeatureUnavailable-D0LPL1Gy.js +1 -0
  3. package/.output/public/assets/HashValueDisplay-BmuB4FW-.js +1 -0
  4. package/.output/public/assets/InsightsInfo--v4SC07c.js +1 -0
  5. package/.output/public/assets/InsightsPageHeader-dU83CAQY.js +1 -0
  6. package/.output/public/assets/NotFoundPage-B5mhGG2a.js +1 -0
  7. package/.output/public/assets/api-D-vOVlQ4.js +1 -0
  8. package/.output/public/assets/api-keys-Csh8ARKU.js +1 -0
  9. package/.output/public/assets/api-keys-OMPUoA_A.js +1 -0
  10. package/.output/public/assets/arrow-left-Bwq9X1eS.js +1 -0
  11. package/.output/public/assets/arrow-up-right-BkOVn4if.js +1 -0
  12. package/.output/public/assets/card-C_7d6O9a.js +1 -0
  13. package/.output/public/assets/console-features-api-C1jRZTGw.js +1 -0
  14. package/.output/public/assets/dialog-DE8wFN_P.js +1 -0
  15. package/.output/public/assets/dist-C7ENGzpS.js +1 -0
  16. package/.output/public/assets/empty-CVd5NlQD.js +1 -0
  17. package/.output/public/assets/field-C06q1iC9.js +1 -0
  18. package/.output/public/assets/index-BeWlQtO6.js +11 -0
  19. package/.output/public/assets/input-group-Bi61biIA.js +1 -0
  20. package/.output/public/assets/insights-BjnAtC0f.js +2 -0
  21. package/.output/public/assets/insights-D86m11yH.js +42 -0
  22. package/.output/public/assets/insights-DpYstMoY.js +1 -0
  23. package/.output/public/assets/insights-recovery-rpc-BIm5_ALc.js +1 -0
  24. package/.output/public/assets/insights-search-KIF7mRtB.js +1 -0
  25. package/.output/public/assets/insights-usage-rpc-VHj8vyBt.js +1 -0
  26. package/.output/public/assets/insights_.distribution-ADcrX48c.js +2 -0
  27. package/.output/public/assets/insights_.distribution-CuuJUN6Y.js +1 -0
  28. package/.output/public/assets/insights_.distribution-DJRjuXsO.js +1 -0
  29. package/.output/public/assets/installations-BSBBzqWs.js +2 -0
  30. package/.output/public/assets/installations-DqIE6WcO.js +1 -0
  31. package/.output/public/assets/installations-UsELbDvw.js +1 -0
  32. package/.output/public/assets/loader-circle-CnCBxzHp.js +1 -0
  33. package/.output/public/assets/mutation-Csp7xUNh.js +1 -0
  34. package/.output/public/assets/preload-helper-B-cOmpLH.js +1 -0
  35. package/.output/public/assets/refresh-cw-FF1NtzlQ.js +1 -0
  36. package/.output/public/assets/routes-CoN9XHP_.js +2 -0
  37. package/.output/public/assets/routes-DT1jB0Zi.js +1 -0
  38. package/.output/public/assets/sidebar-D8mJRF15.js +3 -0
  39. package/.output/public/assets/styles-Bwt7v6U5.css +2 -0
  40. package/.output/public/assets/table-WBgfvgXg.js +1 -0
  41. package/.output/public/assets/useCompositeListItem-CloBmDwn.js +1 -0
  42. package/.output/public/assets/useMutation-DO8cvsTx.js +1 -0
  43. package/.output/public/assets/useOpenInteractionType-ReGr9GzJ.js +1 -0
  44. package/.output/public/assets/valueToPercent-BvPAi4bP.js +1 -0
  45. package/.output/server/{__23tanstack-start-server-fn-resolver-B7ioJhtE.mjs → __23tanstack-start-server-fn-resolver-DMRD4e4f.mjs} +51 -47
  46. package/.output/server/_libs/@base-ui/react+[...].mjs +7044 -3622
  47. package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +1554 -0
  48. package/.output/server/_libs/@tanstack/react-router+[...].mjs +3803 -4023
  49. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +141 -98
  50. package/.output/server/_libs/d3-array.mjs +231 -0
  51. package/.output/server/_libs/d3-color.mjs +330 -0
  52. package/.output/server/_libs/d3-format.mjs +252 -0
  53. package/.output/server/_libs/d3-interpolate.mjs +207 -0
  54. package/.output/server/_libs/d3-path.mjs +77 -0
  55. package/.output/server/_libs/d3-scale+[...].mjs +1907 -0
  56. package/.output/server/_libs/d3-shape.mjs +818 -0
  57. package/.output/server/_libs/decimal.js-light.mjs +884 -0
  58. package/.output/server/_libs/es-toolkit.mjs +1159 -0
  59. package/.output/server/_libs/eventemitter3.mjs +236 -0
  60. package/.output/server/_libs/immer.mjs +532 -0
  61. package/.output/server/_libs/lucide-react.mjs +46 -32
  62. package/.output/server/_libs/next-themes.mjs +2 -2
  63. package/.output/server/_libs/react-redux+[...].mjs +205 -0
  64. package/.output/server/_libs/recharts+[...].mjs +14350 -0
  65. package/.output/server/_libs/sonner.mjs +2 -2
  66. package/.output/server/_libs/tanstack__history.mjs +68 -41
  67. package/.output/server/_libs/tanstack__query-core.mjs +1618 -309
  68. package/.output/server/_libs/tanstack__react-query.mjs +262 -22
  69. package/.output/server/_libs/verkit.mjs +99 -1
  70. package/.output/server/_runtime.mjs +10 -1
  71. package/.output/server/_ssr/ConsoleFeatureUnavailable-Du7jNPNS.mjs +58 -0
  72. package/.output/server/_ssr/{HashValueDisplay-DwpGLfrl.mjs → HashValueDisplay-GQvFkXoi.mjs} +3 -3
  73. package/.output/server/_ssr/InsightsInfo-Do7QSaFR.mjs +37 -0
  74. package/.output/server/_ssr/InsightsPageHeader-DSUWUWRc.mjs +154 -0
  75. package/.output/server/_ssr/NotFoundPage-DsF4Vrhg.mjs +37 -0
  76. package/.output/server/_ssr/api-BEiVs0H7.mjs +203 -0
  77. package/.output/server/_ssr/api-keys-BrvBWGRf.mjs +5 -0
  78. package/.output/server/_ssr/{api-keys-CZeTPQys.mjs → api-keys-K5v32nf7.mjs} +49 -9
  79. package/.output/server/_ssr/api-keys-rpc-B96bBllm.mjs +52 -0
  80. package/.output/server/_ssr/api-rpc-DcUe280B.mjs +296 -0
  81. package/.output/server/_ssr/{auth-rpc-DUaeOWKK.mjs → auth-rpc-C68W56DP.mjs} +6 -6
  82. package/.output/server/_ssr/auth.server-DM1J6NwR.mjs +5712 -0
  83. package/.output/server/_ssr/bundleActivity-CpuY9CTP.mjs +19 -0
  84. package/.output/server/_ssr/card-CPAEKx0w.mjs +49 -0
  85. package/.output/server/_ssr/config-nsIcsHh8.mjs +15 -0
  86. package/.output/server/_ssr/config.server-DDCZk3Sq.mjs +36 -0
  87. package/.output/server/_ssr/console-access-Da-2Qd7q.mjs +17 -0
  88. package/.output/server/_ssr/console-features-Dzu2iUGD.mjs +55 -0
  89. package/.output/server/_ssr/console-features-api-xAsSgFa_.mjs +43 -0
  90. package/.output/server/_ssr/console-features-rpc-qARGpB24.mjs +19 -0
  91. package/.output/server/_ssr/{createServerFn-B2hcXoPM.mjs → createMiddleware-BdBf_ezN.mjs} +67 -56
  92. package/.output/server/_ssr/{createServerRpc-DB29C_5p.mjs → createServerRpc-B_y2lrwA.mjs} +2 -2
  93. package/.output/server/_ssr/{databaseJsonValue-d6I3nAS4.mjs → databaseJsonValue-Bhxciy7Z.mjs} +28 -5
  94. package/.output/server/_ssr/databaseRows-DwMAjaF8.mjs +74 -0
  95. package/.output/server/_ssr/{dialog-DS-nw-pA.mjs → dialog-q__BJ7mQ.mjs} +2 -2
  96. package/.output/server/_ssr/{dist-CyzPaI5v.mjs → dist-Cxo9ghYv.mjs} +140 -6
  97. package/.output/server/_ssr/{downloadBundle-CNnYxYO2.mjs → downloadBundle-BW9I-pMQ.mjs} +10 -10
  98. package/.output/server/_ssr/empty-DcBTAooP.mjs +49 -0
  99. package/.output/server/_ssr/{empty-plugin-adapters-B5QvGpEl.mjs → empty-plugin-adapters-CYdinE-i.mjs} +1 -1
  100. package/.output/server/_ssr/{table-CnZmon_Z.mjs → field-QCDBVpXA.mjs} +63 -51
  101. package/.output/server/_ssr/getBundleChildren-DIAGCF4a.mjs +22 -0
  102. package/.output/server/_ssr/{input-group-BpsnmvZw.mjs → input-group-hCk2nUoU.mjs} +2 -2
  103. package/.output/server/_ssr/insights-BfBO0RFr.mjs +1238 -0
  104. package/.output/server/_ssr/insights-DsAU3-TB.mjs +14 -0
  105. package/.output/server/_ssr/insights-RIfg447W.mjs +5 -0
  106. package/.output/server/_ssr/insights-api-CDn-QQHU.mjs +105 -0
  107. package/.output/server/_ssr/insights-failures-BBGMhuUr.mjs +44 -0
  108. package/.output/server/_ssr/insights-failures-rpc-rA2dctK2.mjs +21 -0
  109. package/.output/server/_ssr/insights-recovery-Dpk6Mfb9.mjs +28 -0
  110. package/.output/server/_ssr/insights-recovery-rpc-BCaF-xSd.mjs +46 -0
  111. package/.output/server/_ssr/insights-recovery-rpc-CcgYyUHk.mjs +20 -0
  112. package/.output/server/_ssr/{insights-rpc-38DujK0G.mjs → insights-rpc-keycmwzw.mjs} +22 -14
  113. package/.output/server/_ssr/insights-search-BRg5VsNe.mjs +25 -0
  114. package/.output/server/_ssr/insights-usage-cbw9n2Fq.mjs +29 -0
  115. package/.output/server/_ssr/insights-usage-rpc-BKgV1QDf.mjs +29 -0
  116. package/.output/server/_ssr/insights-usage-rpc-D-JYachy.mjs +41 -0
  117. package/.output/server/_ssr/insightsRecovery-B7oMc8d8.mjs +45 -0
  118. package/.output/server/_ssr/insightsUsage-Oa7kk5ek.mjs +56 -0
  119. package/.output/server/_ssr/insights_.distribution-BIqOqRW0.mjs +335 -0
  120. package/.output/server/_ssr/insights_.distribution-CuUrDa7P.mjs +5 -0
  121. package/.output/server/_ssr/insights_.distribution-RT_6x_ud.mjs +14 -0
  122. package/.output/server/_ssr/{installations-DiVKEF5T.mjs → installations-BO5CjX2z.mjs} +517 -54
  123. package/.output/server/_ssr/installations-BjaHiIfh.mjs +5 -0
  124. package/.output/server/_ssr/installations-Dt5luA-N.mjs +69 -0
  125. package/.output/server/_ssr/listReleases-BitHzOYB.mjs +79 -0
  126. package/.output/server/_ssr/releaseManagement-B3e7I8J9.mjs +11 -0
  127. package/.output/server/_ssr/{router-B9wG_9f8.mjs → router-DfVAixxe.mjs} +135 -139
  128. package/.output/server/_ssr/{routes-D7Yh_jfj.mjs → routes-C6LstNp8.mjs} +176 -455
  129. package/.output/server/_ssr/routes-Q3Uhmwwz.mjs +292 -0
  130. package/.output/server/_ssr/runtime.server-fL0o6I2b.mjs +1459 -0
  131. package/.output/server/_ssr/schema-BKY9SqaY.mjs +25 -0
  132. package/.output/server/_ssr/select-CUlInmjk.mjs +107 -0
  133. package/.output/server/_ssr/server-C43wq9ft.mjs +8330 -0
  134. package/.output/server/_ssr/{createSsrRpc-DjWNJ0uc.mjs → sidebar-DKbx2ach.mjs} +117 -63
  135. package/.output/server/_ssr/ssr.mjs +1 -1
  136. package/.output/server/_ssr/start-BXUOv_n8.mjs +4 -0
  137. package/.output/server/_ssr/table-NGWV8B-S.mjs +53 -0
  138. package/.output/server/_ssr/updateFailures-Jwe2Baab.mjs +24 -0
  139. package/.output/server/_ssr/{uuidv7-D0QFkPL_.mjs → uuidv7-C8bwiZr8.mjs} +2 -2
  140. package/.output/server/_tanstack-start-manifest_v-WQ5qGn8n.mjs +124 -0
  141. package/.output/server/index.mjs +267 -162
  142. package/LICENSE +13 -14
  143. package/README.md +82 -72
  144. package/lib/index.d.mts +23 -11
  145. package/lib/vite-internal.mjs +13 -3
  146. package/lib/vite.d.mts +2 -0
  147. package/package.json +14 -14
  148. package/src/components/AppSidebar.tsx +100 -71
  149. package/src/components/ConsoleAccessPage.tsx +5 -1
  150. package/src/components/ConsoleFeatureUnavailable.tsx +80 -0
  151. package/src/components/NotFoundPage.tsx +7 -7
  152. package/src/components/features/FeatureSlots.tsx +99 -0
  153. package/src/components/features/api-keys/apiKeysFeatureUi.tsx +15 -0
  154. package/src/components/features/bundles/BundleMetadata.tsx +8 -5
  155. package/src/components/features/bundles/RolloutCohortsDialog.tsx +1 -1
  156. package/src/components/features/channels/ChannelManagementDialog.tsx +2 -5
  157. package/src/components/features/insights/AppUsage.tsx +370 -0
  158. package/src/components/features/insights/EstimatedCount.tsx +18 -0
  159. package/src/components/features/insights/EventDetails.tsx +117 -37
  160. package/src/components/features/insights/EventHistoryCard.tsx +112 -26
  161. package/src/components/features/insights/EventHistoryList.tsx +2 -2
  162. package/src/components/features/insights/InsightsControls.tsx +265 -102
  163. package/src/components/features/insights/InsightsErrorAlert.tsx +14 -1
  164. package/src/components/features/insights/InsightsInfo.tsx +48 -0
  165. package/src/components/features/insights/InsightsOverview.tsx +176 -173
  166. package/src/components/features/insights/InsightsPageHeader.tsx +35 -20
  167. package/src/components/features/insights/InsightsPeriodSelector.tsx +89 -0
  168. package/src/components/features/insights/InstallationHistoryCard.tsx +52 -10
  169. package/src/components/features/insights/InstallationMatchesCard.tsx +1 -1
  170. package/src/components/features/insights/ReleaseActivity.tsx +188 -0
  171. package/src/components/features/insights/ReportingDevicesSummary.tsx +65 -0
  172. package/src/components/features/insights/UpdateFailures.tsx +319 -0
  173. package/src/components/features/insights/insightsFeatureUi.tsx +35 -0
  174. package/src/components/features/releases/ReleaseEditorSheet.tsx +30 -7
  175. package/src/components/ui/card.tsx +1 -1
  176. package/src/components/ui/empty.tsx +101 -0
  177. package/src/components/ui/scroll-area.tsx +52 -0
  178. package/src/components/ui/sidebar.tsx +22 -29
  179. package/src/components/ui/tabs.tsx +81 -0
  180. package/src/index.ts +26 -19
  181. package/src/lib/api-keys-api.ts +0 -28
  182. package/src/lib/api-keys-rpc.ts +27 -38
  183. package/src/lib/api-rpc.ts +189 -266
  184. package/src/lib/api.ts +19 -102
  185. package/src/lib/bundle-activity.ts +31 -0
  186. package/src/lib/console-access.ts +20 -0
  187. package/src/lib/console-features-api.ts +68 -0
  188. package/src/lib/console-features-rpc.ts +13 -0
  189. package/src/lib/console-features.ts +91 -0
  190. package/src/lib/insights-api.ts +37 -1
  191. package/src/lib/insights-failures-rpc.ts +21 -0
  192. package/src/lib/insights-failures.ts +129 -0
  193. package/src/lib/insights-recovery-rpc.ts +51 -0
  194. package/src/lib/insights-recovery.ts +68 -0
  195. package/src/lib/insights-retention.ts +21 -0
  196. package/src/lib/insights-rpc.ts +30 -12
  197. package/src/lib/insights-search.ts +58 -0
  198. package/src/lib/insights-usage-rpc.ts +29 -0
  199. package/src/lib/insights-usage.ts +74 -0
  200. package/src/lib/insights-view.ts +38 -2
  201. package/src/lib/scroll-restoration.ts +21 -0
  202. package/src/lib/server/adminInsights.ts +124 -0
  203. package/src/lib/server/auth.server.ts +13 -5
  204. package/src/lib/server/bundleActivity.ts +37 -0
  205. package/src/lib/server/config.server.ts +21 -74
  206. package/src/lib/server/console-feature-apis.ts +59 -0
  207. package/src/lib/server/console-runtime.server.ts +82 -38
  208. package/src/lib/server/downloadBundle.ts +16 -15
  209. package/src/lib/server/getBundleChildren.ts +31 -122
  210. package/src/lib/server/insightsRecovery.ts +55 -0
  211. package/src/lib/server/insightsUsage.ts +63 -0
  212. package/src/lib/server/listReleases.ts +109 -44
  213. package/src/lib/server/releaseReachability.ts +8 -7
  214. package/src/lib/server/runtime.server.ts +120 -31
  215. package/src/lib/server/updateFailures.ts +31 -0
  216. package/src/routeTree.gen.ts +44 -44
  217. package/src/router.tsx +3 -2
  218. package/src/routes/-installations-search.ts +32 -8
  219. package/src/routes/-releases-search.ts +76 -29
  220. package/src/routes/__root.tsx +10 -4
  221. package/src/routes/api/bundles/$bundleId/download.ts +2 -5
  222. package/src/routes/api-keys.tsx +5 -2
  223. package/src/routes/index.tsx +167 -104
  224. package/src/routes/insights.tsx +100 -59
  225. package/src/routes/insights_.distribution.tsx +398 -0
  226. package/src/routes/installations.tsx +98 -41
  227. package/src/vite-internal.ts +15 -3
  228. package/src/vite.ts +2 -0
  229. package/.output/public/assets/HashValueDisplay-CB0Eskit.js +0 -1
  230. package/.output/public/assets/InsightsPageHeader-Car5LNiZ.js +0 -1
  231. package/.output/public/assets/api-keys-BzKocqRy.js +0 -1
  232. package/.output/public/assets/api-keys-api-BHcODB7q.js +0 -1
  233. package/.output/public/assets/card-Dhr_eFYj.js +0 -1
  234. package/.output/public/assets/chart-no-axes-combined-Dy4WJv2U.js +0 -1
  235. package/.output/public/assets/composite-Bp98A0Ld.js +0 -1
  236. package/.output/public/assets/createServerFn-CA8fs7QD.js +0 -3
  237. package/.output/public/assets/dialog-CUTrcPlB.js +0 -1
  238. package/.output/public/assets/dist-C_NydL0e.js +0 -1
  239. package/.output/public/assets/index-DdAz-CXv.js +0 -10
  240. package/.output/public/assets/input-group-cSOG4wh_.js +0 -1
  241. package/.output/public/assets/insights-C0PBSZ-n.js +0 -1
  242. package/.output/public/assets/installations-CE33wgbY.js +0 -2
  243. package/.output/public/assets/installations-CStZja8x.js +0 -1
  244. package/.output/public/assets/lazyRouteComponent-Ccp3bwBY.js +0 -1
  245. package/.output/public/assets/link-CI8idAUi.js +0 -1
  246. package/.output/public/assets/loader-circle-BoxLrsOu.js +0 -1
  247. package/.output/public/assets/preload-helper-CQ36nxok.js +0 -1
  248. package/.output/public/assets/refresh-cw-Bqc72UZG.js +0 -1
  249. package/.output/public/assets/routes-DGVXdzpw.js +0 -2
  250. package/.output/public/assets/routes-DTlwOr8I.js +0 -1
  251. package/.output/public/assets/shield-check-uK3MHWJZ.js +0 -1
  252. package/.output/public/assets/signing-CMf4aqDO.js +0 -1
  253. package/.output/public/assets/styles-BCvbtKsm.css +0 -2
  254. package/.output/public/assets/table-2vcV89QB.js +0 -1
  255. package/.output/public/assets/useCompositeListItem-CHLITE_4.js +0 -1
  256. package/.output/public/assets/x-DCd0j8c6.js +0 -1
  257. package/.output/server/_ssr/InsightsPageHeader-Df4Brj8u.mjs +0 -484
  258. package/.output/server/_ssr/api-keys-api-BUPQVSpk.mjs +0 -60
  259. package/.output/server/_ssr/api-keys-rpc-Cs7tS5_j.mjs +0 -136
  260. package/.output/server/_ssr/api-rpc-tAupfGQm.mjs +0 -1399
  261. package/.output/server/_ssr/auth.server-DW71WzsD.mjs +0 -47
  262. package/.output/server/_ssr/bundle-signing-rpc-BhnBw0-d.mjs +0 -16
  263. package/.output/server/_ssr/bundle-signing.server-C4NW5mWx.mjs +0 -12
  264. package/.output/server/_ssr/card-BRiPmi0C.mjs +0 -108
  265. package/.output/server/_ssr/config-Dv8qLDZ0.mjs +0 -13
  266. package/.output/server/_ssr/config.server-afDuAwaG.mjs +0 -368
  267. package/.output/server/_ssr/databaseRows-5bCRTxm-.mjs +0 -126
  268. package/.output/server/_ssr/deleteBundle-BTGwBgzx.mjs +0 -66
  269. package/.output/server/_ssr/getBundleChildren-C0vh4ZvE.mjs +0 -50
  270. package/.output/server/_ssr/insights-BdS364Xu.mjs +0 -460
  271. package/.output/server/_ssr/insightsContract-fjJDBeEE.mjs +0 -303
  272. package/.output/server/_ssr/installations-CtA59MQG.mjs +0 -29
  273. package/.output/server/_ssr/routes-CKrrS2q2.mjs +0 -37
  274. package/.output/server/_ssr/runtime.server-DacU1TBV.mjs +0 -438
  275. package/.output/server/_ssr/server-D_C2rMzf.mjs +0 -7468
  276. package/.output/server/_ssr/signing-Dz1WkZOf.mjs +0 -133
  277. package/.output/server/_ssr/start-DpViQGnt.mjs +0 -4
  278. package/.output/server/_tanstack-start-manifest_v-2MjTyxil.mjs +0 -97
  279. package/src/components/features/insights/InsightsBundleReports.tsx +0 -51
  280. package/src/components/features/signing/BundleSigningPage.tsx +0 -139
  281. package/src/lib/bundle-signing-api.ts +0 -14
  282. package/src/lib/bundle-signing-rpc.ts +0 -16
  283. package/src/lib/server/bundle-signing.server.ts +0 -23
  284. package/src/lib/server/deleteBundle.ts +0 -145
  285. package/src/routes/signing.tsx +0 -37
@@ -1,126 +0,0 @@
1
- import { n as isDatabaseMetadataObject, t as DatabasePluginInputError } from "./databaseJsonValue-d6I3nAS4.mjs";
2
- import { T as stripBundleArtifactMetadata, c as getAssetBaseStorageUri, d as getManifestStorageUri, l as getBundlePatches, u as getManifestFileHash } from "./dist-CyzPaI5v.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/databaseRows-5bCRTxm-.js
4
- var bundleMetadataToRow = (metadata) => {
5
- const value = stripBundleArtifactMetadata(metadata);
6
- if (value === void 0) return {};
7
- if (!isDatabaseMetadataObject(value)) throw new DatabasePluginInputError("invalid-data");
8
- return value;
9
- };
10
- var releaseRowToRelease = (row) => ({
11
- id: row.id,
12
- revision: row.revision,
13
- channelId: row.channel_id,
14
- platform: row.platform,
15
- kind: row.kind,
16
- bundleId: row.bundle_id,
17
- strategy: row.strategy,
18
- targetAppVersion: row.target_app_version,
19
- fingerprintHash: row.fingerprint_hash,
20
- enabled: row.enabled,
21
- shouldForceUpdate: row.should_force_update,
22
- message: row.message,
23
- rolloutCohortCount: row.rollout_cohort_count,
24
- targetCohorts: row.target_cohorts,
25
- operation: row.operation,
26
- sourceReleaseId: row.source_release_id,
27
- createdAtMs: row.created_at_ms,
28
- updatedAtMs: row.updated_at_ms
29
- });
30
- var BundleRowHydrationErrorReason = {
31
- duplicatePatchId: "duplicate_patch_id",
32
- orphanPatchOwner: "orphan_patch_owner",
33
- orphanPatchBase: "orphan_patch_base"
34
- };
35
- var BundleRowHydrationError = class extends Error {
36
- name = "BundleRowHydrationError";
37
- reason;
38
- patchId;
39
- bundleId;
40
- constructor({ reason, patchId, bundleId }) {
41
- super(`Cannot hydrate bundle rows: ${reason} for patch "${patchId}" and bundle "${bundleId}".`);
42
- this.reason = reason;
43
- this.patchId = patchId;
44
- this.bundleId = bundleId;
45
- }
46
- };
47
- var bundleToRow = (bundle) => {
48
- const metadata = bundleMetadataToRow(bundle.metadata);
49
- return {
50
- id: bundle.id,
51
- platform: bundle.platform,
52
- file_hash: bundle.fileHash,
53
- git_commit_hash: bundle.gitCommitHash,
54
- storage_uri: bundle.storageUri,
55
- archive_byte_size: bundle.archiveByteSize,
56
- metadata,
57
- manifest_storage_uri: getManifestStorageUri(bundle),
58
- manifest_file_hash: getManifestFileHash(bundle),
59
- asset_base_storage_uri: getAssetBaseStorageUri(bundle)
60
- };
61
- };
62
- var bundleToPatchRows = (bundle) => getBundlePatches(bundle).map((patch, orderIndex) => ({
63
- id: `${bundle.id}:${patch.baseBundleId}`,
64
- bundle_id: bundle.id,
65
- base_bundle_id: patch.baseBundleId,
66
- base_file_hash: patch.baseFileHash,
67
- patch_file_hash: patch.patchFileHash,
68
- patch_storage_uri: patch.patchStorageUri,
69
- byte_size: patch.byteSize,
70
- order_index: orderIndex
71
- }));
72
- var comparePatchRows = (left, right) => left.order_index - right.order_index || left.id.localeCompare(right.id);
73
- var patchRowToArtifact = (row) => ({
74
- baseBundleId: row.base_bundle_id,
75
- baseFileHash: row.base_file_hash,
76
- byteSize: row.byte_size,
77
- patchFileHash: row.patch_file_hash,
78
- patchStorageUri: row.patch_storage_uri
79
- });
80
- var rowToBundle = (row, patchRows = []) => {
81
- const patches = patchRows.slice().sort(comparePatchRows).map(patchRowToArtifact);
82
- return {
83
- id: row.id,
84
- platform: row.platform,
85
- fileHash: row.file_hash,
86
- gitCommitHash: row.git_commit_hash,
87
- storageUri: row.storage_uri,
88
- archiveByteSize: row.archive_byte_size,
89
- metadata: stripBundleArtifactMetadata(row.metadata),
90
- manifestStorageUri: row.manifest_storage_uri,
91
- manifestFileHash: row.manifest_file_hash,
92
- assetBaseStorageUri: row.asset_base_storage_uri,
93
- patches
94
- };
95
- };
96
- var rowsToBundles = (bundleRows, patchRows, referencedBundleRows) => {
97
- const ownerIds = new Set(bundleRows.map(({ id }) => id));
98
- const baseIds = new Set(ownerIds);
99
- for (const row of referencedBundleRows) baseIds.add(row.id);
100
- const patchIds = /* @__PURE__ */ new Set();
101
- const patchesByOwner = /* @__PURE__ */ new Map();
102
- for (const patch of patchRows) {
103
- if (patchIds.has(patch.id)) throw new BundleRowHydrationError({
104
- reason: BundleRowHydrationErrorReason.duplicatePatchId,
105
- patchId: patch.id,
106
- bundleId: patch.bundle_id
107
- });
108
- patchIds.add(patch.id);
109
- if (!ownerIds.has(patch.bundle_id)) throw new BundleRowHydrationError({
110
- reason: BundleRowHydrationErrorReason.orphanPatchOwner,
111
- patchId: patch.id,
112
- bundleId: patch.bundle_id
113
- });
114
- if (!baseIds.has(patch.base_bundle_id)) throw new BundleRowHydrationError({
115
- reason: BundleRowHydrationErrorReason.orphanPatchBase,
116
- patchId: patch.id,
117
- bundleId: patch.base_bundle_id
118
- });
119
- const ownerPatches = patchesByOwner.get(patch.bundle_id) ?? [];
120
- ownerPatches.push(patch);
121
- patchesByOwner.set(patch.bundle_id, ownerPatches);
122
- }
123
- return bundleRows.map((row) => rowToBundle(row, patchesByOwner.get(row.id) ?? []));
124
- };
125
- //#endregion
126
- export { rowsToBundles as a, releaseRowToRelease as i, bundleToPatchRows as n, bundleToRow as r, bundleMetadataToRow as t };
@@ -1,66 +0,0 @@
1
- import { _ as getPatchStorageUri, d as getManifestStorageUri, l as getBundlePatches } from "./dist-CyzPaI5v.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/deleteBundle-BTGwBgzx.js
3
- function resolveStorageUriForDeletion(storageUri, storagePlugin) {
4
- const protocol = new URL(storageUri).protocol.replace(":", "");
5
- if (storagePlugin.protocol === protocol) return storageUri;
6
- if (protocol === "http" || protocol === "https") return null;
7
- throw new Error(`No storage plugin for protocol: ${protocol}`);
8
- }
9
- async function cleanupBundleStorage(bundle, storagePlugin) {
10
- const cleanupUris = /* @__PURE__ */ new Set();
11
- const addCleanupUri = (storageUri) => {
12
- if (!storageUri) return;
13
- const resolvedStorageUri = resolveStorageUriForDeletion(storageUri, storagePlugin);
14
- if (resolvedStorageUri) cleanupUris.add(resolvedStorageUri);
15
- };
16
- addCleanupUri(bundle.storageUri);
17
- addCleanupUri(getManifestStorageUri(bundle) ?? void 0);
18
- addCleanupUri(getPatchStorageUri(bundle) ?? void 0);
19
- for (const patch of getBundlePatches(bundle)) addCleanupUri(patch.patchStorageUri);
20
- for (const storageUri of cleanupUris) try {
21
- await storagePlugin.delete({ storageUri });
22
- } catch (error) {
23
- console.error("Failed to delete bundle from storage:", error);
24
- }
25
- }
26
- async function deleteBundles({ bundleIds }, { databaseClient, storagePlugin, waitForStorageCleanup = true }) {
27
- const uniqueBundleIds = [...new Set(bundleIds)];
28
- const { data: matchedBundles } = await databaseClient.getBundles({
29
- where: { id: { in: uniqueBundleIds } },
30
- limit: uniqueBundleIds.length
31
- });
32
- const matchedById = new Map(matchedBundles.map((bundle) => [bundle.id, bundle]));
33
- const bundles = uniqueBundleIds.flatMap((bundleId) => {
34
- const bundle = matchedById.get(bundleId);
35
- return bundle ? [bundle] : [];
36
- });
37
- const missingBundleIds = uniqueBundleIds.filter((bundleId) => !matchedById.has(bundleId));
38
- for (const bundle of bundles) {
39
- const cleanupCandidates = [
40
- bundle.storageUri,
41
- getManifestStorageUri(bundle),
42
- getPatchStorageUri(bundle),
43
- ...getBundlePatches(bundle).map((patch) => patch.patchStorageUri)
44
- ].filter((value) => Boolean(value));
45
- for (const candidate of cleanupCandidates) resolveStorageUriForDeletion(candidate, storagePlugin);
46
- }
47
- if (bundles.length > 0) await databaseClient.mutate(async (mutation) => {
48
- for (const bundle of bundles) await mutation.deleteBundleById(bundle.id);
49
- });
50
- const cleanupStorage = async () => {
51
- for (const bundle of bundles) await cleanupBundleStorage(bundle, storagePlugin);
52
- };
53
- if (waitForStorageCleanup) await cleanupStorage();
54
- else cleanupStorage().catch((error) => {
55
- console.error("Failed to clean up bundle storage:", error);
56
- });
57
- return {
58
- deletedBundleIds: bundles.map((bundle) => bundle.id),
59
- missingBundleIds
60
- };
61
- }
62
- async function deleteBundle({ bundleId }, dependencies) {
63
- if ((await deleteBundles({ bundleIds: [bundleId] }, dependencies)).missingBundleIds.length > 0) throw new Error(`Bundle not found: ${bundleId}`);
64
- }
65
- //#endregion
66
- export { deleteBundle, deleteBundles };
@@ -1,50 +0,0 @@
1
- import { l as getBundlePatches } from "./dist-CyzPaI5v.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/getBundleChildren-C0vh4ZvE.js
3
- var CHILDREN_QUERY_LIMIT = 100;
4
- async function collectBundleChildrenByBaseIds(baseBundleIds, deps) {
5
- const uniqueBaseBundleIds = [...new Set(baseBundleIds.filter(Boolean))];
6
- const bundlesByBaseId = Object.fromEntries(uniqueBaseBundleIds.map((bundleId) => [bundleId, []]));
7
- const baseBundles = (await Promise.all(uniqueBaseBundleIds.map((bundleId) => deps.databaseClient.getBundleById(bundleId)))).filter((bundle) => Boolean(bundle));
8
- const groupMap = /* @__PURE__ */ new Map();
9
- for (const baseBundle of baseBundles) {
10
- const existingGroup = groupMap.get(baseBundle.platform);
11
- if (existingGroup) {
12
- existingGroup.add(baseBundle.id);
13
- continue;
14
- }
15
- groupMap.set(baseBundle.platform, new Set([baseBundle.id]));
16
- }
17
- for (const [platform, bundleIds] of groupMap) {
18
- const seenBundleIds = /* @__PURE__ */ new Set();
19
- const seenCursors = /* @__PURE__ */ new Set();
20
- let after;
21
- while (true) {
22
- const page = await deps.databaseClient.getBundles({
23
- where: { platform },
24
- limit: CHILDREN_QUERY_LIMIT,
25
- cursor: after ? { after } : void 0
26
- });
27
- for (const bundle of page.data) {
28
- const matchedParentBundleIds = getBundlePatches(bundle).map((patch) => patch.baseBundleId).filter((bundleId) => bundleIds.has(bundleId));
29
- if (matchedParentBundleIds.length === 0 || seenBundleIds.has(bundle.id)) continue;
30
- seenBundleIds.add(bundle.id);
31
- for (const parentBundleId of matchedParentBundleIds) bundlesByBaseId[parentBundleId]?.push(bundle);
32
- }
33
- const pagination = page.pagination;
34
- const nextCursor = pagination.nextCursor ?? void 0;
35
- if (!pagination.hasNextPage || !nextCursor || seenCursors.has(nextCursor)) break;
36
- seenCursors.add(nextCursor);
37
- after = nextCursor;
38
- }
39
- }
40
- return bundlesByBaseId;
41
- }
42
- async function getBundleChildren({ baseBundleId }, deps) {
43
- return (await collectBundleChildrenByBaseIds([baseBundleId], deps))[baseBundleId] ?? [];
44
- }
45
- async function getBundleChildCounts(baseBundleIds, deps) {
46
- const childrenByBaseId = await collectBundleChildrenByBaseIds(baseBundleIds, deps);
47
- return Object.fromEntries(Object.entries(childrenByBaseId).map(([bundleId, bundles]) => [bundleId, bundles.length]));
48
- }
49
- //#endregion
50
- export { getBundleChildCounts, getBundleChildren };