@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
@@ -0,0 +1,14 @@
1
+ import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
+ import { r as requireConsoleFeature } from "./console-features-api-xAsSgFa_.mjs";
3
+ import { n as validateInsightsSearch } from "./insights-search-BRg5VsNe.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-DsAU3-TB.js
5
+ var $$splitComponentImporter = () => import("./insights-BfBO0RFr.mjs");
6
+ var $$splitNotFoundComponentImporter = () => import("./insights-RIfg447W.mjs");
7
+ var Route = createFileRoute("/insights")({
8
+ beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "insightsAnalytics"),
9
+ notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
10
+ component: lazyRouteComponent($$splitComponentImporter, "component"),
11
+ validateSearch: validateInsightsSearch
12
+ });
13
+ //#endregion
14
+ export { Route as t };
@@ -0,0 +1,5 @@
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-Du7jNPNS.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-RIfg447W.js
3
+ var SplitNotFoundComponent = ConsoleFeatureUnavailable;
4
+ //#endregion
5
+ export { SplitNotFoundComponent as notFoundComponent };
@@ -0,0 +1,105 @@
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { k as createSsrRpc } from "./sidebar-DKbx2ach.mjs";
3
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
4
+ import { r as useQuery } from "../_libs/tanstack__react-query.mjs";
5
+ import { l as readUpdateFailuresInput } from "./insights-failures-BBGMhuUr.mjs";
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-api-CDn-QQHU.js
7
+ var getUpdateFailuresRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readUpdateFailuresInput).handler(createSsrRpc("0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97"));
8
+ /** `insights()`'s defaults, for a server that does not report its periods. */
9
+ var DEFAULT_INSIGHTS_RETENTION = {
10
+ rawDays: 90,
11
+ dailyDays: 400
12
+ };
13
+ var formatDays = (days) => `${days.toLocaleString("en")} ${days === 1 ? "day" : "days"}`;
14
+ /** Whether daily totals cover App usage's 12-month period: 52 weeks. */
15
+ var keepsTwelveMonths = ({ dailyDays }) => dailyDays >= 364;
16
+ /** The Insights reads, once the console's access check and the feature guard pass. */
17
+ var readOverview = (input) => input;
18
+ var readEventsPage = (input) => input;
19
+ var readInstallationEventsPage = (input) => input;
20
+ var readInstallationPage = (input) => input;
21
+ var readInstallId = (input) => input;
22
+ createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readOverview).handler(createSsrRpc("ff00311d412c8cdfa8ad5b0ba1eb6aa7471d0cc12170e6cc645deb91603d42dd"));
23
+ var listInsightsEventsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readEventsPage).handler(createSsrRpc("d4c50f40701055145f24873dc90f3c55a5494457a6a03a743339b2ac4545eb19"));
24
+ var listInsightsInstallationEventsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readInstallationEventsPage).handler(createSsrRpc("3c04bc6624be6dfdd80cf96819f9c6d0455e59a7bb4c0374b6afb0162ffd15b0"));
25
+ var getInsightsInstallationRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readInstallId).handler(createSsrRpc("6726f1ed9eda1f0cb4c1f1ad1023faee435ddcfd0b7c55ef08ca7f2f7f577370"));
26
+ /** How long the server's `insights()` keeps rows. */
27
+ var getInsightsRetentionRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(createSsrRpc("c6f18db42ac40385dbff247095197ee9f3fd3a97dc914efd368ce0ded1f098c6"));
28
+ var findInsightsInstallationsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readInstallationPage).handler(createSsrRpc("735c501f6d5ea81a445ff2b6b2ea6a1b589e3c6f63a465a881822c80ae71e7d1"));
29
+ var STALE_TIME_MS = 3e4;
30
+ var queryKeys = {
31
+ reportingInstallations: (input) => [
32
+ "insights",
33
+ "reporting-installations",
34
+ input
35
+ ],
36
+ events: (input) => [
37
+ "insights",
38
+ "events",
39
+ input
40
+ ],
41
+ installations: (input) => [
42
+ "insights",
43
+ "installations",
44
+ input
45
+ ],
46
+ installation: (installId) => [
47
+ "insights",
48
+ "installation",
49
+ installId
50
+ ],
51
+ installationEvents: (input) => [
52
+ "insights",
53
+ "installation-events",
54
+ input
55
+ ]
56
+ };
57
+ var useInsightsEventsQuery = (input, enabled) => useQuery({
58
+ queryKey: queryKeys.events(input),
59
+ queryFn: () => listInsightsEventsRpc({ data: input }),
60
+ enabled,
61
+ refetchOnWindowFocus: true,
62
+ staleTime: STALE_TIME_MS
63
+ });
64
+ var useInsightsInstallationsQuery = (input, enabled) => useQuery({
65
+ queryKey: queryKeys.installations(input),
66
+ queryFn: () => findInsightsInstallationsRpc({ data: input }),
67
+ enabled: enabled && input.identity.length > 0,
68
+ staleTime: STALE_TIME_MS
69
+ });
70
+ var useInsightsInstallationQuery = (installId, enabled) => useQuery({
71
+ queryKey: queryKeys.installation(installId),
72
+ queryFn: () => getInsightsInstallationRpc({ data: { installId } }),
73
+ enabled: enabled && installId.length > 0,
74
+ staleTime: STALE_TIME_MS
75
+ });
76
+ var useInsightsInstallationEventsQuery = (input, enabled) => useQuery({
77
+ queryKey: queryKeys.installationEvents(input),
78
+ queryFn: () => listInsightsInstallationEventsRpc({ data: input }),
79
+ enabled: enabled && input.installId.length > 0,
80
+ refetchOnWindowFocus: true,
81
+ staleTime: STALE_TIME_MS
82
+ });
83
+ /** A release's or a channel's update failures; lifetime for a release without a window. */
84
+ var useUpdateFailuresQuery = (input, enabled = true) => useQuery({
85
+ queryKey: [
86
+ "insights",
87
+ "update-failures",
88
+ input
89
+ ],
90
+ queryFn: () => getUpdateFailuresRpc({ data: readUpdateFailuresInput(input) }),
91
+ enabled,
92
+ refetchOnWindowFocus: true,
93
+ staleTime: STALE_TIME_MS
94
+ });
95
+ /**
96
+ * How long the server keeps Insights rows; the defaults until it answers, or
97
+ * when it does not report them.
98
+ */
99
+ var useInsightsRetention = () => useQuery({
100
+ queryKey: ["insights", "retention"],
101
+ queryFn: () => getInsightsRetentionRpc(),
102
+ staleTime: Infinity
103
+ }).data ?? DEFAULT_INSIGHTS_RETENTION;
104
+ //#endregion
105
+ export { useInsightsInstallationEventsQuery as a, useInsightsRetention as c, useInsightsEventsQuery as i, useUpdateFailuresQuery as l, formatDays as n, useInsightsInstallationQuery as o, keepsTwelveMonths as r, useInsightsInstallationsQuery as s, DEFAULT_INSIGHTS_RETENTION as t };
@@ -0,0 +1,44 @@
1
+ import { r as recoveryWindows } from "./insights-recovery-Dpk6Mfb9.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-failures-BBGMhuUr.js
3
+ function readUpdateFailuresInput(input) {
4
+ if (!input || input.platform !== "ios" && input.platform !== "android" || typeof input.channel !== "string" || !input.channel.trim() || input.channel.length > 1024 || input.releaseId !== void 0 && (typeof input.releaseId !== "string" || !input.releaseId.trim() || input.releaseId.length > 36) || (input.window === void 0 ? input.releaseId === void 0 : !Object.hasOwn(recoveryWindows, input.window))) throw new Error("Choose a platform, channel, and time window.");
5
+ return input;
6
+ }
7
+ /**
8
+ * The failure rate of update attempts: failed download and install reports,
9
+ * over those plus download reports. Null without either.
10
+ */
11
+ var failureRate = ({ failedUpdates, downloads }) => failedUpdates + downloads === 0 ? null : failedUpdates / (failedUpdates + downloads);
12
+ /** Of the downloads that tried a patch, the share that fell back to files or the archive. */
13
+ var patchFallbackRate = ({ patchDownloads, patchFallbacks }) => patchDownloads + patchFallbacks === 0 ? null : patchFallbacks / (patchDownloads + patchFallbacks);
14
+ /** Installations whose update check failed, over the active ones; estimates, so at most 100%. */
15
+ var checkFailureRate = ({ failedInstallations, activeInstallations }) => activeInstallations === 0 ? null : Math.min(1, failedInstallations / activeInstallations);
16
+ var formatRate = (rate) => rate === null ? "—" : `${(rate * 100).toFixed(2)}%`;
17
+ var STAGES = {
18
+ check: "Update check",
19
+ download: "Download",
20
+ install: "Install"
21
+ };
22
+ var REASONS = {
23
+ network: "Network",
24
+ http: "HTTP error",
25
+ invalid_response: "Invalid response",
26
+ hash_mismatch: "Hash mismatch",
27
+ signature: "Signature",
28
+ patch: "Patch",
29
+ extract: "Extract",
30
+ storage: "Storage"
31
+ };
32
+ var failureStageLabel = (stage) => STAGES[stage] ?? "Unknown stage";
33
+ var failureReasonLabel = (reason) => REASONS[reason] ?? "Unknown reason";
34
+ /** What else the client knew: its resource, HTTP status, origin code, and transport. */
35
+ var failureDetailParts = (detail) => [
36
+ ...detail.httpStatus == null ? [] : [`HTTP ${detail.httpStatus}`],
37
+ ...detail.originCode == null ? [] : [detail.originCode],
38
+ ...detail.transport == null ? [] : [detail.transport],
39
+ ...detail.resource == null ? [] : [detail.resource]
40
+ ];
41
+ /** An update failure as one line: where, why, and what else the client knew. */
42
+ var describeFailure = (failure) => [`${failureStageLabel(failure.stage)} failed: ${failureReasonLabel(failure.reason)}`, ...failureDetailParts(failure)].join(" · ");
43
+ //#endregion
44
+ export { failureReasonLabel as a, patchFallbackRate as c, failureRate as i, readUpdateFailuresInput as l, describeFailure as n, failureStageLabel as o, failureDetailParts as r, formatRate as s, checkFailureRate as t };
@@ -0,0 +1,21 @@
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
3
+ import { t as createServerRpc } from "./createServerRpc-B_y2lrwA.mjs";
4
+ import { l as readUpdateFailuresInput } from "./insights-failures-BBGMhuUr.mjs";
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-failures-rpc-rA2dctK2.js
6
+ var getUpdateFailuresRpc_createServerFn_handler = createServerRpc({
7
+ id: "0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97",
8
+ name: "getUpdateFailuresRpc",
9
+ filename: "src/lib/insights-failures-rpc.ts"
10
+ }, (opts) => getUpdateFailuresRpc.__executeServer(opts));
11
+ var getUpdateFailuresRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readUpdateFailuresInput).handler(getUpdateFailuresRpc_createServerFn_handler, async ({ data }) => {
12
+ const [{ prepareConfig }, { getUpdateFailuresReport }, { requireFeature }] = await Promise.all([
13
+ import("./config.server-DDCZk3Sq.mjs"),
14
+ import("./updateFailures-Jwe2Baab.mjs"),
15
+ import("./runtime.server-fL0o6I2b.mjs")
16
+ ]);
17
+ const { runtime } = await prepareConfig();
18
+ return getUpdateFailuresReport(await requireFeature(runtime, "insights"), data);
19
+ });
20
+ //#endregion
21
+ export { getUpdateFailuresRpc_createServerFn_handler };
@@ -0,0 +1,28 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-Dpk6Mfb9.js
2
+ var recoveryWindows = {
3
+ "24h": {
4
+ durationMs: 864e5,
5
+ intervalMs: 36e5
6
+ },
7
+ "7d": {
8
+ durationMs: 7 * 864e5,
9
+ intervalMs: 6 * 36e5
10
+ },
11
+ "30d": {
12
+ durationMs: 30 * 864e5,
13
+ intervalMs: 864e5
14
+ }
15
+ };
16
+ /**
17
+ * Where a period ends: the end of the current UTC hour, as the server's
18
+ * reporting overview ends. The counters keep whole hours, so this is the
19
+ * latest end that still counts a report received just now; every Insights
20
+ * card ends here, so their numbers cover the same hours.
21
+ */
22
+ var insightsPeriodEnd = (now) => Math.ceil(now / 36e5) * 36e5;
23
+ function readRecoveryInput(input) {
24
+ if (!input || input.platform !== "ios" && input.platform !== "android" || typeof input.channel !== "string" || !input.channel.trim() || input.channel.length > 1024 || !Object.hasOwn(recoveryWindows, input.window) || input.releaseId !== void 0 && (typeof input.releaseId !== "string" || !input.releaseId.trim() || input.releaseId.length > 1024)) throw new Error("Choose a platform, channel, and time window.");
25
+ return input;
26
+ }
27
+ //#endregion
28
+ export { readRecoveryInput as n, recoveryWindows as r, insightsPeriodEnd as t };
@@ -0,0 +1,46 @@
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
3
+ import { t as createServerRpc } from "./createServerRpc-B_y2lrwA.mjs";
4
+ import { n as readRecoveryInput } from "./insights-recovery-Dpk6Mfb9.mjs";
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-rpc-BCaF-xSd.js
6
+ function readBundleActivityInput(inputs) {
7
+ if (!Array.isArray(inputs) || inputs.length > 20) throw new Error("Choose up to 20 bundles.");
8
+ return inputs.map((input) => {
9
+ readRecoveryInput({
10
+ ...input,
11
+ window: "30d"
12
+ });
13
+ if (!input.releaseId) throw new Error("Choose a bundle ID.");
14
+ return input;
15
+ });
16
+ }
17
+ var getBundleActivityRpc_createServerFn_handler = createServerRpc({
18
+ id: "b4bf4c461903edcdc44eea52468c737b5b600a586f542138ff022dcbbe86c45c",
19
+ name: "getBundleActivityRpc",
20
+ filename: "src/lib/insights-recovery-rpc.ts"
21
+ }, (opts) => getBundleActivityRpc.__executeServer(opts));
22
+ var getBundleActivityRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readBundleActivityInput).handler(getBundleActivityRpc_createServerFn_handler, async ({ data }) => {
23
+ const [{ prepareConfig }, { getBundleActivity }, { requireFeature }] = await Promise.all([
24
+ import("./config.server-DDCZk3Sq.mjs"),
25
+ import("./bundleActivity-CpuY9CTP.mjs"),
26
+ import("./runtime.server-fL0o6I2b.mjs")
27
+ ]);
28
+ const { runtime } = await prepareConfig();
29
+ return getBundleActivity(await requireFeature(runtime, "insightsAnalytics"), data);
30
+ });
31
+ var getRecoveryReportRpc_createServerFn_handler = createServerRpc({
32
+ id: "69cd8e2488b082eb2a22e7058be56ad6566f338c471c62557fa6beed5dc1352a",
33
+ name: "getRecoveryReportRpc",
34
+ filename: "src/lib/insights-recovery-rpc.ts"
35
+ }, (opts) => getRecoveryReportRpc.__executeServer(opts));
36
+ var getRecoveryReportRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readRecoveryInput).handler(getRecoveryReportRpc_createServerFn_handler, async ({ data }) => {
37
+ const [{ prepareConfig }, { getRecoveryReport }, { requireFeature }] = await Promise.all([
38
+ import("./config.server-DDCZk3Sq.mjs"),
39
+ import("./insightsRecovery-B7oMc8d8.mjs"),
40
+ import("./runtime.server-fL0o6I2b.mjs")
41
+ ]);
42
+ const { runtime } = await prepareConfig();
43
+ return getRecoveryReport(await requireFeature(runtime, "insightsAnalytics"), data);
44
+ });
45
+ //#endregion
46
+ export { getBundleActivityRpc_createServerFn_handler, getRecoveryReportRpc_createServerFn_handler };
@@ -0,0 +1,20 @@
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { k as createSsrRpc } from "./sidebar-DKbx2ach.mjs";
3
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
4
+ import { n as readRecoveryInput } from "./insights-recovery-Dpk6Mfb9.mjs";
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-rpc-CcgYyUHk.js
6
+ function readBundleActivityInput(inputs) {
7
+ if (!Array.isArray(inputs) || inputs.length > 20) throw new Error("Choose up to 20 bundles.");
8
+ return inputs.map((input) => {
9
+ readRecoveryInput({
10
+ ...input,
11
+ window: "30d"
12
+ });
13
+ if (!input.releaseId) throw new Error("Choose a bundle ID.");
14
+ return input;
15
+ });
16
+ }
17
+ var getBundleActivityRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readBundleActivityInput).handler(createSsrRpc("b4bf4c461903edcdc44eea52468c737b5b600a586f542138ff022dcbbe86c45c"));
18
+ var getRecoveryReportRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readRecoveryInput).handler(createSsrRpc("69cd8e2488b082eb2a22e7058be56ad6566f338c471c62557fa6beed5dc1352a"));
19
+ //#endregion
20
+ export { getRecoveryReportRpc as n, getBundleActivityRpc as t };
@@ -1,10 +1,12 @@
1
- import { c as createServerFn } from "./createServerFn-B2hcXoPM.mjs";
2
- import { t as createServerRpc } from "./createServerRpc-DB29C_5p.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-rpc-38DujK0G.js
4
- var runtime = async () => {
5
- const { prepareConfig } = await import("./config.server-afDuAwaG.mjs");
6
- const { hotUpdater } = await prepareConfig();
7
- return hotUpdater;
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
3
+ import { t as createServerRpc } from "./createServerRpc-B_y2lrwA.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-rpc-keycmwzw.js
5
+ /** The Insights reads, once the console's access check and the feature guard pass. */
6
+ var insightsReads = async () => {
7
+ const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-DDCZk3Sq.mjs"), import("./runtime.server-fL0o6I2b.mjs")]);
8
+ const { runtime } = await prepareConfig();
9
+ return requireFeature(runtime, "insights");
8
10
  };
9
11
  var readOverview = (input) => input;
10
12
  var readEventsPage = (input) => input;
@@ -16,32 +18,38 @@ var getReportingInstallationsRpc_createServerFn_handler = createServerRpc({
16
18
  name: "getReportingInstallationsRpc",
17
19
  filename: "src/lib/insights-rpc.ts"
18
20
  }, (opts) => getReportingInstallationsRpc.__executeServer(opts));
19
- var getReportingInstallationsRpc = createServerFn({ method: "GET" }).validator(readOverview).handler(getReportingInstallationsRpc_createServerFn_handler, async ({ data }) => (await runtime()).getReportingOverview(data));
21
+ var getReportingInstallationsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readOverview).handler(getReportingInstallationsRpc_createServerFn_handler, async ({ data }) => (await insightsReads()).getReportingOverview(data));
20
22
  var listInsightsEventsRpc_createServerFn_handler = createServerRpc({
21
23
  id: "d4c50f40701055145f24873dc90f3c55a5494457a6a03a743339b2ac4545eb19",
22
24
  name: "listInsightsEventsRpc",
23
25
  filename: "src/lib/insights-rpc.ts"
24
26
  }, (opts) => listInsightsEventsRpc.__executeServer(opts));
25
- var listInsightsEventsRpc = createServerFn({ method: "GET" }).validator(readEventsPage).handler(listInsightsEventsRpc_createServerFn_handler, async ({ data }) => (await runtime()).listEvents(data));
27
+ var listInsightsEventsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readEventsPage).handler(listInsightsEventsRpc_createServerFn_handler, async ({ data }) => (await insightsReads()).listEvents(data));
26
28
  var listInsightsInstallationEventsRpc_createServerFn_handler = createServerRpc({
27
29
  id: "3c04bc6624be6dfdd80cf96819f9c6d0455e59a7bb4c0374b6afb0162ffd15b0",
28
30
  name: "listInsightsInstallationEventsRpc",
29
31
  filename: "src/lib/insights-rpc.ts"
30
32
  }, (opts) => listInsightsInstallationEventsRpc.__executeServer(opts));
31
- var listInsightsInstallationEventsRpc = createServerFn({ method: "GET" }).validator(readInstallationEventsPage).handler(listInsightsInstallationEventsRpc_createServerFn_handler, async ({ data }) => (await runtime()).listInstallationEvents(data));
33
+ var listInsightsInstallationEventsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readInstallationEventsPage).handler(listInsightsInstallationEventsRpc_createServerFn_handler, async ({ data }) => (await insightsReads()).listInstallationEvents(data));
32
34
  var getInsightsInstallationRpc_createServerFn_handler = createServerRpc({
33
35
  id: "6726f1ed9eda1f0cb4c1f1ad1023faee435ddcfd0b7c55ef08ca7f2f7f577370",
34
36
  name: "getInsightsInstallationRpc",
35
37
  filename: "src/lib/insights-rpc.ts"
36
38
  }, (opts) => getInsightsInstallationRpc.__executeServer(opts));
37
- var getInsightsInstallationRpc = createServerFn({ method: "GET" }).validator(readInstallId).handler(getInsightsInstallationRpc_createServerFn_handler, async ({ data }) => (await runtime()).getInstallation(data));
39
+ var getInsightsInstallationRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readInstallId).handler(getInsightsInstallationRpc_createServerFn_handler, async ({ data }) => (await insightsReads()).getInstallation(data));
40
+ var getInsightsRetentionRpc_createServerFn_handler = createServerRpc({
41
+ id: "c6f18db42ac40385dbff247095197ee9f3fd3a97dc914efd368ce0ded1f098c6",
42
+ name: "getInsightsRetentionRpc",
43
+ filename: "src/lib/insights-rpc.ts"
44
+ }, (opts) => getInsightsRetentionRpc.__executeServer(opts));
45
+ var getInsightsRetentionRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(getInsightsRetentionRpc_createServerFn_handler, async () => (await insightsReads()).getRetention());
38
46
  var findInsightsInstallationsRpc_createServerFn_handler = createServerRpc({
39
47
  id: "735c501f6d5ea81a445ff2b6b2ea6a1b589e3c6f63a465a881822c80ae71e7d1",
40
48
  name: "findInsightsInstallationsRpc",
41
49
  filename: "src/lib/insights-rpc.ts"
42
50
  }, (opts) => findInsightsInstallationsRpc.__executeServer(opts));
43
- var findInsightsInstallationsRpc = createServerFn({ method: "GET" }).validator(readInstallationPage).handler(findInsightsInstallationsRpc_createServerFn_handler, async ({ data }) => {
44
- const insights = await runtime();
51
+ var findInsightsInstallationsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readInstallationPage).handler(findInsightsInstallationsRpc_createServerFn_handler, async ({ data }) => {
52
+ const insights = await insightsReads();
45
53
  const install = data.cursor ? null : await insights.getInstallation({ installId: data.identity });
46
54
  const matches = await insights.pageInstallationsByCurrentUserId({
47
55
  cursor: data.cursor,
@@ -54,4 +62,4 @@ var findInsightsInstallationsRpc = createServerFn({ method: "GET" }).validator(r
54
62
  };
55
63
  });
56
64
  //#endregion
57
- export { findInsightsInstallationsRpc_createServerFn_handler, getInsightsInstallationRpc_createServerFn_handler, getReportingInstallationsRpc_createServerFn_handler, listInsightsEventsRpc_createServerFn_handler, listInsightsInstallationEventsRpc_createServerFn_handler };
65
+ export { findInsightsInstallationsRpc_createServerFn_handler, getInsightsInstallationRpc_createServerFn_handler, getInsightsRetentionRpc_createServerFn_handler, getReportingInstallationsRpc_createServerFn_handler, listInsightsEventsRpc_createServerFn_handler, listInsightsInstallationEventsRpc_createServerFn_handler };
@@ -0,0 +1,25 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-search-BRg5VsNe.js
2
+ var readText = (value) => typeof value === "string" && value.trim().length > 0 && value.length <= 1024 ? value : void 0;
3
+ var readWindow = (value) => value === "24h" || value === "7d" || value === "30d" ? value : void 0;
4
+ var readUsageWindow = (value) => value === "12m" ? value : readWindow(value);
5
+ function validateInsightsSearch(search) {
6
+ return {
7
+ platform: search.platform === "all" || search.platform === "ios" || search.platform === "android" ? search.platform : void 0,
8
+ channel: readText(search.channel),
9
+ appVersion: readText(search.appVersion),
10
+ window: readUsageWindow(search.window),
11
+ bundleWindow: readWindow(search.bundleWindow),
12
+ healthPlatform: search.healthPlatform === "ios" || search.healthPlatform === "android" ? search.healthPlatform : void 0,
13
+ healthChannel: readText(search.healthChannel),
14
+ releaseId: readText(search.releaseId)
15
+ };
16
+ }
17
+ function validateDistributionSearch(search) {
18
+ return {
19
+ ...validateInsightsSearch(search),
20
+ version: readText(search.version),
21
+ page: typeof search.page === "number" && Number.isSafeInteger(search.page) && search.page > 0 ? search.page : void 0
22
+ };
23
+ }
24
+ //#endregion
25
+ export { validateInsightsSearch as n, validateDistributionSearch as t };
@@ -0,0 +1,29 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-cbw9n2Fq.js
2
+ var usageMetrics = {
3
+ "24h": {
4
+ label: "DAU",
5
+ period: "24 hours",
6
+ interval: "hour"
7
+ },
8
+ "7d": {
9
+ label: "WAU",
10
+ period: "7 days",
11
+ interval: "6 hours"
12
+ },
13
+ "30d": {
14
+ label: "MAU",
15
+ period: "30 days",
16
+ interval: "day"
17
+ },
18
+ "12m": {
19
+ label: "YAU",
20
+ period: "12 months",
21
+ interval: "week"
22
+ }
23
+ };
24
+ function readAppUsageInput(input) {
25
+ if (!input || input.platform !== "all" && input.platform !== "ios" && input.platform !== "android" || typeof input.channel !== "string" || !input.channel.trim() || input.channel.length > 1024 || !Object.hasOwn(usageMetrics, input.window) || input.appVersion !== void 0 && (typeof input.appVersion !== "string" || !input.appVersion.trim() || input.appVersion.length > 1024)) throw new Error("Choose App usage filters and a time window.");
26
+ return input;
27
+ }
28
+ //#endregion
29
+ export { usageMetrics as n, readAppUsageInput as t };
@@ -0,0 +1,29 @@
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
3
+ import { t as createServerRpc } from "./createServerRpc-B_y2lrwA.mjs";
4
+ import { t as readAppUsageInput } from "./insights-usage-cbw9n2Fq.mjs";
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-BKgV1QDf.js
6
+ var getAppUsageReportRpc_createServerFn_handler = createServerRpc({
7
+ id: "8a98cd9c178e4a54185d62c25a95f09d3d59850c43d3f5baa1563e1614ad942e",
8
+ name: "getAppUsageReportRpc",
9
+ filename: "src/lib/insights-usage-rpc.ts"
10
+ }, (opts) => getAppUsageReportRpc.__executeServer(opts));
11
+ var getAppUsageReportRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => {
12
+ readAppUsageInput(input);
13
+ return {
14
+ platform: input.platform,
15
+ channel: input.channel,
16
+ appVersion: input.appVersion,
17
+ window: input.window
18
+ };
19
+ }).handler(getAppUsageReportRpc_createServerFn_handler, async ({ data }) => {
20
+ const [{ prepareConfig }, { getAppUsageReport }, { requireFeature }] = await Promise.all([
21
+ import("./config.server-DDCZk3Sq.mjs"),
22
+ import("./insightsUsage-Oa7kk5ek.mjs"),
23
+ import("./runtime.server-fL0o6I2b.mjs")
24
+ ]);
25
+ const { runtime } = await prepareConfig();
26
+ return getAppUsageReport(await requireFeature(runtime, "insightsAnalytics"), data);
27
+ });
28
+ //#endregion
29
+ export { getAppUsageReportRpc_createServerFn_handler };
@@ -0,0 +1,41 @@
1
+ import { u as createServerFn } from "./createMiddleware-BdBf_ezN.mjs";
2
+ import { D as ProgressIndicator$1, O as ProgressTrack$1, k as ProgressRoot, pt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
+ import { O as cn, k as createSsrRpc } from "./sidebar-DKbx2ach.mjs";
4
+ import { t as consoleAccess } from "./console-access-Da-2Qd7q.mjs";
5
+ import { t as readAppUsageInput } from "./insights-usage-cbw9n2Fq.mjs";
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-D-JYachy.js
7
+ var import_jsx_runtime = require_jsx_runtime();
8
+ function Progress$1({ className, children, value, ...props }) {
9
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ProgressRoot, {
10
+ value,
11
+ "data-slot": "progress",
12
+ className: cn("w-full", className),
13
+ ...props,
14
+ children: [children, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProgressTrack, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProgressIndicator, {}) })]
15
+ });
16
+ }
17
+ function ProgressTrack({ className, ...props }) {
18
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProgressTrack$1, {
19
+ className: cn("relative flex h-1 w-full items-center overflow-x-hidden rounded-md bg-muted", className),
20
+ "data-slot": "progress-track",
21
+ ...props
22
+ });
23
+ }
24
+ function ProgressIndicator({ className, ...props }) {
25
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ProgressIndicator$1, {
26
+ "data-slot": "progress-indicator",
27
+ className: cn("h-full bg-primary transition-transform motion-reduce:transition-none", className),
28
+ ...props
29
+ });
30
+ }
31
+ var getAppUsageReportRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => {
32
+ readAppUsageInput(input);
33
+ return {
34
+ platform: input.platform,
35
+ channel: input.channel,
36
+ appVersion: input.appVersion,
37
+ window: input.window
38
+ };
39
+ }).handler(createSsrRpc("8a98cd9c178e4a54185d62c25a95f09d3d59850c43d3f5baa1563e1614ad942e"));
40
+ //#endregion
41
+ export { getAppUsageReportRpc as n, Progress$1 as t };
@@ -0,0 +1,45 @@
1
+ import { n as readRecoveryInput, r as recoveryWindows, t as insightsPeriodEnd } from "./insights-recovery-Dpk6Mfb9.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insightsRecovery-B7oMc8d8.js
3
+ async function getRecoveryReport(model, input, now = Date.now()) {
4
+ readRecoveryInput(input);
5
+ const end = insightsPeriodEnd(now);
6
+ const start = Math.max(0, end - recoveryWindows[input.window].durationMs);
7
+ const result = await model.getReleaseActivity(input.releaseId === void 0 ? {
8
+ scope: {
9
+ platform: input.platform,
10
+ channel: input.channel
11
+ },
12
+ timeRange: {
13
+ start,
14
+ end
15
+ }
16
+ } : {
17
+ releases: [{
18
+ releaseId: input.releaseId,
19
+ platform: input.platform,
20
+ channel: input.channel
21
+ }],
22
+ timeRange: {
23
+ start,
24
+ end
25
+ }
26
+ });
27
+ const metrics = result.data[0]?.metrics;
28
+ return {
29
+ downloads: metrics?.downloads ?? 0,
30
+ activeInstallations: metrics?.uniqueUsers ?? 0,
31
+ activeDays: metrics?.launches ?? 0,
32
+ failedLaunches: metrics?.failedLaunches ?? 0,
33
+ points: (metrics?.series ?? []).map((point) => ({
34
+ startMs: point.startMs,
35
+ dailyActiveInstallations: point.launches,
36
+ failedLaunches: point.failedLaunches
37
+ })),
38
+ startMs: start,
39
+ endMs: end,
40
+ measuredAtMs: result.measuredAtMs,
41
+ coverage: result.coverage
42
+ };
43
+ }
44
+ //#endregion
45
+ export { getRecoveryReport };
@@ -0,0 +1,56 @@
1
+ import { r as recoveryWindows, t as insightsPeriodEnd } from "./insights-recovery-Dpk6Mfb9.mjs";
2
+ import { t as readAppUsageInput } from "./insights-usage-cbw9n2Fq.mjs";
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/insightsUsage-Oa7kk5ek.js
4
+ var DAY_MS = 864e5;
5
+ var WEEK_MS = 7 * DAY_MS;
6
+ /**
7
+ * What a period reads, ending with the current hour. The 12-month period is
8
+ * 52 weeks of whole UTC days, the last one today, so it reads the daily
9
+ * counts: the hourly ones are kept 90 days.
10
+ */
11
+ var usageRange = (window, now) => {
12
+ const end = insightsPeriodEnd(now);
13
+ if (window === "12m") {
14
+ const lastDay = Math.ceil(end / DAY_MS) * DAY_MS;
15
+ return {
16
+ start: Math.max(0, lastDay - 52 * WEEK_MS),
17
+ end,
18
+ intervalMs: WEEK_MS
19
+ };
20
+ }
21
+ const { durationMs, intervalMs } = recoveryWindows[window];
22
+ return {
23
+ start: Math.max(0, end - durationMs),
24
+ end,
25
+ intervalMs
26
+ };
27
+ };
28
+ async function getAppUsageReport(model, input, now = Date.now()) {
29
+ readAppUsageInput(input);
30
+ const { start, end, intervalMs } = usageRange(input.window, now);
31
+ const report = await model.getAppUsage({
32
+ channel: input.channel,
33
+ platform: input.platform,
34
+ ...input.appVersion === void 0 ? {} : { appVersion: input.appVersion },
35
+ timeRange: {
36
+ start,
37
+ end
38
+ },
39
+ intervalMs
40
+ });
41
+ return {
42
+ bundleDistribution: report.bundleDistribution,
43
+ activeInstallations: report.activeInstallations,
44
+ sinceMs: report.coverage.sinceMs === null ? start : Math.max(start, report.coverage.sinceMs),
45
+ distributionSinceMs: start - start % DAY_MS,
46
+ beforeReceivedAtMs: end,
47
+ intervalMs,
48
+ truncated: report.coverage.kind === "partial",
49
+ appVersions: report.appVersions,
50
+ versions: report.versions,
51
+ platforms: report.platforms,
52
+ points: report.points
53
+ };
54
+ }
55
+ //#endregion
56
+ export { getAppUsageReport };