@hot-updater/console 1.0.0-rc.9 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/ConsoleFeatureUnavailable-jB4Loglh.js +1 -0
  3. package/.output/public/assets/EventDetails-B6yUsyNA.js +1 -0
  4. package/.output/public/assets/HashValueDisplay-BFX_kY3-.js +1 -0
  5. package/.output/public/assets/InsightsInfo-BNO0WznZ.js +1 -0
  6. package/.output/public/assets/InsightsPageHeader-B892oVml.js +1 -0
  7. package/.output/public/assets/NotFoundPage-DIqCpWa3.js +1 -0
  8. package/.output/public/assets/alert-dialog-Bbk_4-WJ.js +1 -0
  9. package/.output/public/assets/api-DCM0wr6O.js +1 -0
  10. package/.output/public/assets/api-keys-CIO9L_wu.js +1 -0
  11. package/.output/public/assets/api-keys-DVTL_--f.js +1 -0
  12. package/.output/public/assets/arrow-left-CnMYpqB7.js +1 -0
  13. package/.output/public/assets/arrow-up-right-BtffZA6e.js +1 -0
  14. package/.output/public/assets/chevron-right-BqD5wtFb.js +1 -0
  15. package/.output/public/assets/clipboard-DS9ucUQL.js +1 -0
  16. package/.output/public/assets/console-features-api-BH5m_PtQ.js +1 -0
  17. package/.output/public/assets/dialog-Bqbb7B0N.js +1 -0
  18. package/.output/public/assets/dist-LxKJB-Vu.js +1 -0
  19. package/.output/public/assets/empty-CuT2UhFp.js +1 -0
  20. package/.output/public/assets/field-BBDpjIqu.js +1 -0
  21. package/.output/public/assets/index-6o51GkFe.js +11 -0
  22. package/.output/public/assets/input-group-ja_30qaF.js +1 -0
  23. package/.output/public/assets/insights-CmraDzQh.js +1 -0
  24. package/.output/public/assets/insights-CxZ2GCYV.js +2 -0
  25. package/.output/public/assets/insights-api-BigAU9sZ.js +1 -0
  26. package/.output/public/assets/insights-usage-rpc-DYEhsCKT.js +1 -0
  27. package/.output/public/assets/insights-vNRCrfnS.js +42 -0
  28. package/.output/public/assets/insights_.distribution-ChOerfJt.js +1 -0
  29. package/.output/public/assets/insights_.distribution-D-e4iga8.js +1 -0
  30. package/.output/public/assets/insights_.distribution-DZtkibX1.js +2 -0
  31. package/.output/public/assets/installations-BazSJXE0.js +2 -0
  32. package/.output/public/assets/installations-ClHTqdAO.js +1 -0
  33. package/.output/public/assets/installations-DpKsBuHi.js +1 -0
  34. package/.output/public/assets/key-round-wS_SIZ6b.js +1 -0
  35. package/.output/public/assets/list-CgrYiadM.js +1 -0
  36. package/.output/public/assets/refresh-cw-BYgoNCco.js +1 -0
  37. package/.output/public/assets/remote-config-BWwHOkCK.js +1 -0
  38. package/.output/public/assets/remote-config-Br56BODb.js +6 -0
  39. package/.output/public/assets/remote-config-CXOi0LRu.js +1 -0
  40. package/.output/public/assets/routes-B88Erkpk.js +2 -0
  41. package/.output/public/assets/routes-CfzsAleC.js +1 -0
  42. package/.output/public/assets/search-DaTDPW25.js +1 -0
  43. package/.output/public/assets/select-BZZBXMkr.js +1 -0
  44. package/.output/public/assets/sidebar-DNVyJPfX.js +3 -0
  45. package/.output/public/assets/smartphone-DpTFgtKf.js +1 -0
  46. package/.output/public/assets/styles-DTGEAJFv.css +2 -0
  47. package/.output/public/assets/switch-DZ1TPwx-.js +1 -0
  48. package/.output/public/assets/table-Gm4qRWwE.js +1 -0
  49. package/.output/public/assets/tabs-C7FOEjFC.js +1 -0
  50. package/.output/public/assets/undo-2-CmrHjwFc.js +1 -0
  51. package/.output/public/assets/useCompositeListItem-9E4pj_CH.js +1 -0
  52. package/.output/public/assets/valueToPercent-CH8GCHaL.js +1 -0
  53. package/.output/server/__23tanstack-start-server-fn-resolver-BpRlos5Q.mjs +170 -0
  54. package/.output/server/_libs/@base-ui/react+[...].mjs +4389 -4207
  55. package/.output/server/_libs/@tanstack/react-router+[...].mjs +3802 -4022
  56. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +140 -97
  57. package/.output/server/_libs/lucide-react.mjs +221 -9
  58. package/.output/server/_libs/next-themes.mjs +1 -1
  59. package/.output/server/_libs/react-redux+[...].mjs +1 -1
  60. package/.output/server/_libs/recharts+[...].mjs +483 -901
  61. package/.output/server/_libs/sonner.mjs +1 -1
  62. package/.output/server/_libs/tanstack__history.mjs +68 -41
  63. package/.output/server/_libs/tanstack__query-core.mjs +2010 -309
  64. package/.output/server/_libs/tanstack__react-query.mjs +448 -21
  65. package/.output/server/_libs/verkit.mjs +102 -1
  66. package/.output/server/_ssr/BundleIdDisplay-x94o9rlU.mjs +13 -0
  67. package/.output/server/_ssr/ConsoleFeatureUnavailable-ldW8v8-q.mjs +58 -0
  68. package/.output/server/_ssr/EventDetails-Q8kfj9Nr.mjs +344 -0
  69. package/.output/server/_ssr/{HashValueDisplay-CyMmr0O9.mjs → HashValueDisplay-n1GholGS.mjs} +3 -3
  70. package/.output/server/_ssr/InsightsInfo-DuJFatQO.mjs +75 -0
  71. package/.output/server/_ssr/InsightsPageHeader-BSUX3Ye9.mjs +145 -0
  72. package/.output/server/_ssr/NotFoundPage-DZzOOzS3.mjs +37 -0
  73. package/.output/server/_ssr/{dialog-CKvQ4VIE.mjs → alert-dialog-C43Doa0I.mjs} +6 -83
  74. package/.output/server/_ssr/{api-keys-CzZ7Ont4.mjs → api-keys-B4sYm8dM.mjs} +48 -9
  75. package/.output/server/_ssr/api-keys-CEnM9fqG.mjs +5 -0
  76. package/.output/server/_ssr/api-keys-rpc-BIFuUgMt.mjs +52 -0
  77. package/.output/server/_ssr/api-oZjRn9tP.mjs +186 -0
  78. package/.output/server/_ssr/api-rpc-BNiFRRK8.mjs +240 -0
  79. package/.output/server/_ssr/{auth-BF8mbAgF.mjs → auth-UP0wXs4i.mjs} +1 -1
  80. package/.output/server/_ssr/{auth-rpc-DH6Bhwcz.mjs → auth-rpc-DnZqYxyq.mjs} +6 -6
  81. package/.output/server/_ssr/auth.server-DFpyxRDd.mjs +5374 -0
  82. package/.output/server/_ssr/bundleActivity-M5gzBFNg.mjs +18 -0
  83. package/.output/server/_ssr/config-WVX4IxSR.mjs +15 -0
  84. package/.output/server/_ssr/config.server-DskXCAyI.mjs +35 -0
  85. package/.output/server/_ssr/console-access-BJfAXknd.mjs +17 -0
  86. package/.output/server/_ssr/console-features-Oz0q20jJ.mjs +61 -0
  87. package/.output/server/_ssr/console-features-api-C9kiKvaV.mjs +43 -0
  88. package/.output/server/_ssr/console-features-rpc-P0GL7Z-R.mjs +19 -0
  89. package/.output/server/_ssr/{createServerFn-B2hcXoPM.mjs → createMiddleware-Cm6Tn0_Y.mjs} +67 -56
  90. package/.output/server/_ssr/{createServerRpc-DB29C_5p.mjs → createServerRpc-RLR4H-Fn.mjs} +2 -2
  91. package/.output/server/_ssr/databaseConfig-C5SkAyUy.mjs +5 -0
  92. package/.output/server/_ssr/{databaseJsonValue-d6I3nAS4.mjs → databaseJsonValue-Csbuzc9Q.mjs} +28 -5
  93. package/.output/server/_ssr/databaseRows-CPphvbag.mjs +73 -0
  94. package/.output/server/_ssr/dialog-BbYDMjdC.mjs +84 -0
  95. package/.output/server/_ssr/{dist-CyzPaI5v.mjs → dist-CbQbBIw-.mjs} +140 -7
  96. package/.output/server/_ssr/{downloadBundle-CI7JUKvC.mjs → downloadBundle-CZysjmNW.mjs} +10 -10
  97. package/.output/server/_ssr/empty-CVLGfxuu.mjs +60 -0
  98. package/.output/server/_ssr/{empty-plugin-adapters-B5QvGpEl.mjs → empty-plugin-adapters-CPtwX8a7.mjs} +1 -1
  99. package/.output/server/_ssr/failureReports-DKDhVsXA.mjs +33 -0
  100. package/.output/server/_ssr/field-asw83X0v.mjs +189 -0
  101. package/.output/server/_ssr/getBundleChildren-Cv9iz1As.mjs +22 -0
  102. package/.output/server/_ssr/{input-group-BrGSjz4S.mjs → input-group-CuYJHosb.mjs} +2 -2
  103. package/.output/server/_ssr/insights-B55FG5fm.mjs +14 -0
  104. package/.output/server/_ssr/insights-CWnHIFUV.mjs +5 -0
  105. package/.output/server/_ssr/insights-CpLpedFZ.mjs +2315 -0
  106. package/.output/server/_ssr/insights-api-sjws23WF.mjs +122 -0
  107. package/.output/server/_ssr/insights-errors-BjnFUyZj.mjs +34 -0
  108. package/.output/server/_ssr/insights-failures-rpc-BvbWvqNf.mjs +36 -0
  109. package/.output/server/_ssr/insights-failures-xaa41Buf.mjs +46 -0
  110. package/.output/server/_ssr/insights-recovery-BWQhiZaF.mjs +28 -0
  111. package/.output/server/_ssr/insights-recovery-rpc-GiYXdkaY.mjs +32 -0
  112. package/.output/server/_ssr/{insights-rpc-DDKmIrpV.mjs → insights-rpc-DP_8Rmz4.mjs} +22 -14
  113. package/.output/server/_ssr/insights-usage-BpBM0U0c.mjs +29 -0
  114. package/.output/server/_ssr/insights-usage-rpc-BiolgB8e.mjs +29 -0
  115. package/.output/server/_ssr/insights-usage-rpc-KStL0zOx.mjs +41 -0
  116. package/.output/server/_ssr/insightsUsage-CzhVjsc8.mjs +56 -0
  117. package/.output/server/_ssr/insights_.distribution-CVrnbP3R.mjs +7 -0
  118. package/.output/server/_ssr/insights_.distribution-D2HaNTAA.mjs +16 -0
  119. package/.output/server/_ssr/{insights_.distribution-cIsU-kHG.mjs → insights_.distribution-DN9pR422.mjs} +50 -22
  120. package/.output/server/_ssr/installations-BHmbbnH8.mjs +5 -0
  121. package/.output/server/_ssr/{installations-C5anhyP0.mjs → installations-BSCmFq8Q.mjs} +279 -367
  122. package/.output/server/_ssr/installations-DD1g__Nc.mjs +69 -0
  123. package/.output/server/_ssr/listReleases-BfUBlCHo.mjs +79 -0
  124. package/.output/server/_ssr/plugins-BaD1slHx.mjs +2086 -0
  125. package/.output/server/_ssr/release-adoption-005tQRpo.mjs +55 -0
  126. package/.output/server/_ssr/release-adoption-rpc-BsstqxUp.mjs +41 -0
  127. package/.output/server/_ssr/releaseAdoption-CtOFkwli.mjs +114 -0
  128. package/.output/server/_ssr/releaseManagement-DFMUnDF5.mjs +11 -0
  129. package/.output/server/_ssr/remote-config-C2Ee8lXO.mjs +5 -0
  130. package/.output/server/_ssr/remote-config-Dv1ccMo-.mjs +17 -0
  131. package/.output/server/_ssr/remote-config-of0lGQH8.mjs +2648 -0
  132. package/.output/server/_ssr/remote-config-rpc-BzX31mUS.mjs +115 -0
  133. package/.output/server/_ssr/rolldown-runtime-rSIU-vHC.mjs +13 -0
  134. package/.output/server/_ssr/{router-BuanSsRI.mjs → router-D8NuoJ_I.mjs} +107 -134
  135. package/.output/server/_ssr/{routes-DY-vqU6R.mjs → routes-DgvnFqDy.mjs} +195 -429
  136. package/.output/server/_ssr/routes-V8sDybGf.mjs +409 -0
  137. package/.output/server/_ssr/runtime.server-De0QVWc9.mjs +104 -0
  138. package/.output/server/_ssr/schema-BiAVyEj2.mjs +361 -0
  139. package/.output/server/_ssr/{select-DD2szs3Y.mjs → select-t3iXRwc9.mjs} +3 -3
  140. package/.output/server/_ssr/server-h4VxnExB.mjs +8325 -0
  141. package/.output/server/_ssr/{createSsrRpc-CdlfejmI.mjs → sidebar-DJcErBMo.mjs} +107 -47
  142. package/.output/server/_ssr/ssr.mjs +1 -1
  143. package/.output/server/_ssr/start-BfFbHKMK.mjs +4 -0
  144. package/.output/server/_ssr/switch-E-btwMGt.mjs +43 -0
  145. package/.output/server/_ssr/{table-CTj6n-4F.mjs → table-37Dd23TN.mjs} +2 -2
  146. package/.output/server/_ssr/tabs-DEFnTm95.mjs +45 -0
  147. package/.output/server/_ssr/updateFailures-H6pnnYK4.mjs +40 -0
  148. package/.output/server/_ssr/{uuidv7-D0QFkPL_.mjs → uuidv7-C88s9jWF.mjs} +2 -2
  149. package/.output/server/_tanstack-start-manifest_v-55AGsehh.mjs +139 -0
  150. package/.output/server/index.mjs +309 -211
  151. package/LICENSE +13 -14
  152. package/README.md +80 -71
  153. package/lib/index.d.mts +23 -11
  154. package/lib/vite-internal.mjs +13 -3
  155. package/lib/vite.d.mts +2 -0
  156. package/package.json +14 -14
  157. package/src/components/AppSidebar.tsx +69 -74
  158. package/src/components/ConsoleFeatureUnavailable.tsx +80 -0
  159. package/src/components/NotFoundPage.tsx +7 -7
  160. package/src/components/features/FeatureSlots.tsx +103 -0
  161. package/src/components/features/api-keys/apiKeysFeatureUi.tsx +15 -0
  162. package/src/components/features/bundles/BundleMetadata.tsx +8 -5
  163. package/src/components/features/bundles/RolloutCohortsDialog.tsx +1 -1
  164. package/src/components/features/channels/ChannelManagementDialog.tsx +8 -6
  165. package/src/components/features/insights/AppUsage.tsx +41 -14
  166. package/src/components/features/insights/BuiltinBundle.tsx +36 -0
  167. package/src/components/features/insights/ComparedBundlesChart.tsx +310 -0
  168. package/src/components/features/insights/EstimatedCount.tsx +18 -0
  169. package/src/components/features/insights/EventDetails.tsx +390 -26
  170. package/src/components/features/insights/EventHistoryCard.tsx +111 -25
  171. package/src/components/features/insights/EventHistoryList.tsx +1 -1
  172. package/src/components/features/insights/FailureReports.tsx +407 -0
  173. package/src/components/features/insights/InsightsControls.tsx +240 -142
  174. package/src/components/features/insights/InsightsErrorAlert.tsx +14 -1
  175. package/src/components/features/insights/InsightsOverview.tsx +601 -403
  176. package/src/components/features/insights/InsightsPageHeader.tsx +19 -14
  177. package/src/components/features/insights/InsightsPeriodSelector.tsx +67 -12
  178. package/src/components/features/insights/InstallationHistoryCard.tsx +65 -10
  179. package/src/components/features/insights/InstallationMatchesCard.tsx +1 -1
  180. package/src/components/features/insights/ReleaseActivity.tsx +308 -0
  181. package/src/components/features/insights/ReportingDevicesSummary.tsx +13 -13
  182. package/src/components/features/insights/RollbackButton.tsx +118 -0
  183. package/src/components/features/insights/UpdateFailures.tsx +382 -0
  184. package/src/components/features/insights/insightsFeatureUi.tsx +35 -0
  185. package/src/components/features/releases/ReleaseEditorSheet.tsx +27 -13
  186. package/src/components/features/remote-config/ConditionDialog.tsx +592 -0
  187. package/src/components/features/remote-config/ConditionsCard.tsx +247 -0
  188. package/src/components/features/remote-config/ParameterDialog.tsx +426 -0
  189. package/src/components/features/remote-config/ParametersCard.tsx +254 -0
  190. package/src/components/features/remote-config/PreviewCard.tsx +284 -0
  191. package/src/components/features/remote-config/PublishDialog.tsx +325 -0
  192. package/src/components/features/remote-config/RemoteConfigPage.tsx +353 -0
  193. package/src/components/features/remote-config/RuleSummary.tsx +21 -0
  194. package/src/components/features/remote-config/ValueInput.tsx +151 -0
  195. package/src/components/features/remote-config/VersionsCard.tsx +384 -0
  196. package/src/components/features/remote-config/remoteConfigFeatureUi.tsx +15 -0
  197. package/src/components/features/remote-config/useDateTimeText.ts +16 -0
  198. package/src/components/ui/sidebar.tsx +22 -29
  199. package/src/index.ts +26 -19
  200. package/src/lib/api-keys-api.ts +0 -28
  201. package/src/lib/api-keys-rpc.ts +27 -38
  202. package/src/lib/api-rpc.ts +125 -288
  203. package/src/lib/api.ts +15 -134
  204. package/src/lib/bundle-activity.ts +24 -4
  205. package/src/lib/console-access.ts +20 -0
  206. package/src/lib/console-features-api.ts +68 -0
  207. package/src/lib/console-features-rpc.ts +13 -0
  208. package/src/lib/console-features.ts +98 -0
  209. package/src/lib/insights-api.ts +56 -2
  210. package/src/lib/insights-errors.ts +64 -0
  211. package/src/lib/insights-failures-rpc.ts +36 -0
  212. package/src/lib/insights-failures.ts +130 -0
  213. package/src/lib/insights-recovery-rpc.ts +13 -17
  214. package/src/lib/insights-recovery.ts +12 -36
  215. package/src/lib/insights-retention.ts +21 -0
  216. package/src/lib/insights-rpc.ts +30 -12
  217. package/src/lib/insights-search.ts +50 -4
  218. package/src/lib/insights-usage-rpc.ts +15 -9
  219. package/src/lib/insights-usage.ts +41 -3
  220. package/src/lib/insights-view.ts +34 -5
  221. package/src/lib/release-adoption-api.ts +214 -0
  222. package/src/lib/release-adoption-rpc.ts +49 -0
  223. package/src/lib/release-adoption.ts +164 -0
  224. package/src/lib/remote-config-api.ts +119 -0
  225. package/src/lib/remote-config-draft.ts +666 -0
  226. package/src/lib/remote-config-rpc.ts +196 -0
  227. package/src/lib/scroll-restoration.ts +21 -0
  228. package/src/lib/server/auth.server.ts +13 -5
  229. package/src/lib/server/bundleActivity.ts +27 -28
  230. package/src/lib/server/config.server.ts +21 -76
  231. package/src/lib/server/console-feature-apis.ts +70 -0
  232. package/src/lib/server/console-runtime.server.ts +82 -38
  233. package/src/lib/server/downloadBundle.ts +14 -15
  234. package/src/lib/server/failureReports.ts +50 -0
  235. package/src/lib/server/getBundleChildren.ts +31 -122
  236. package/src/lib/server/insightsUsage.ts +52 -113
  237. package/src/lib/server/listReleases.ts +109 -44
  238. package/src/lib/server/releaseAdoption.ts +151 -0
  239. package/src/lib/server/releaseReachability.ts +8 -8
  240. package/src/lib/server/remoteConfig.ts +75 -0
  241. package/src/lib/server/runtime.server.ts +120 -31
  242. package/src/lib/server/updateFailures.ts +66 -0
  243. package/src/lib/use-dialog-target.ts +27 -0
  244. package/src/routeTree.gen.ts +44 -44
  245. package/src/router.tsx +3 -2
  246. package/src/routes/-installations-search.ts +32 -8
  247. package/src/routes/-releases-search.ts +76 -29
  248. package/src/routes/__root.tsx +7 -1
  249. package/src/routes/api/bundles/$bundleId/download.ts +2 -5
  250. package/src/routes/api-keys.tsx +5 -2
  251. package/src/routes/index.tsx +210 -152
  252. package/src/routes/insights.tsx +91 -23
  253. package/src/routes/insights_.distribution.tsx +50 -9
  254. package/src/routes/installations.tsx +97 -40
  255. package/src/routes/remote-config.tsx +42 -0
  256. package/src/styles.css +9 -0
  257. package/src/vite-internal.ts +15 -3
  258. package/src/vite.ts +2 -0
  259. package/.output/public/assets/HashValueDisplay-BpTc3Oyg.js +0 -1
  260. package/.output/public/assets/InsightsPageHeader-DC2eEst8.js +0 -1
  261. package/.output/public/assets/api-CdUyUqzR.js +0 -42
  262. package/.output/public/assets/api-keys-64PM9PwW.js +0 -1
  263. package/.output/public/assets/api-keys-api-BeaJnvY5.js +0 -1
  264. package/.output/public/assets/arrow-left-04Rh8Zgp.js +0 -1
  265. package/.output/public/assets/card-CYHs5FZv.js +0 -1
  266. package/.output/public/assets/chart-no-axes-combined-DwyMsVFW.js +0 -1
  267. package/.output/public/assets/createServerFn-DU71xucx.js +0 -3
  268. package/.output/public/assets/dialog-IVMkBRCq.js +0 -1
  269. package/.output/public/assets/dist-BR4GzeEu.js +0 -1
  270. package/.output/public/assets/field-B3CYDpjg.js +0 -1
  271. package/.output/public/assets/index-Cb_D1D6N.js +0 -10
  272. package/.output/public/assets/info-C3y9HNoU.js +0 -1
  273. package/.output/public/assets/input-group-nLZylhWF.js +0 -1
  274. package/.output/public/assets/insights-Bm9v8uO3.js +0 -2
  275. package/.output/public/assets/insights-DS3iO7Up.js +0 -1
  276. package/.output/public/assets/insights-search-Byj3g3Mp.js +0 -1
  277. package/.output/public/assets/insights-usage-rpc-BaGR3lgq.js +0 -1
  278. package/.output/public/assets/insights_.distribution-B1i6cjlQ.js +0 -1
  279. package/.output/public/assets/insights_.distribution-C1Wf27eB.js +0 -2
  280. package/.output/public/assets/installations-CkFW4fV9.js +0 -2
  281. package/.output/public/assets/installations-DxTaIcHD.js +0 -1
  282. package/.output/public/assets/lazyRouteComponent-BapzjYnb.js +0 -1
  283. package/.output/public/assets/list-Dqt53fWZ.js +0 -1
  284. package/.output/public/assets/loader-circle-CUKfUqow.js +0 -1
  285. package/.output/public/assets/preload-helper-ClBMtM1g.js +0 -1
  286. package/.output/public/assets/refresh-cw-CNE_2PnD.js +0 -1
  287. package/.output/public/assets/routes-Cgtvspjg.js +0 -2
  288. package/.output/public/assets/routes-O2r2UUN8.js +0 -1
  289. package/.output/public/assets/shield-check-BFcJ46kz.js +0 -1
  290. package/.output/public/assets/signing-BgspC-xP.js +0 -1
  291. package/.output/public/assets/styles-DnrWuBwd.css +0 -2
  292. package/.output/public/assets/table-BuWQgxJJ.js +0 -1
  293. package/.output/public/assets/useMutation-CSV9NCUl.js +0 -1
  294. package/.output/public/assets/useOpenInteractionType-D5kduCTD.js +0 -1
  295. package/.output/public/assets/valueToPercent-BAtcbSLk.js +0 -1
  296. package/.output/server/__23tanstack-start-server-fn-resolver-DBRojHaG.mjs +0 -150
  297. package/.output/server/_ssr/InsightsPageHeader-mtxVuZKK.mjs +0 -64
  298. package/.output/server/_ssr/api-BfCgYlj5.mjs +0 -332
  299. package/.output/server/_ssr/api-keys-api-C3oeq01R.mjs +0 -60
  300. package/.output/server/_ssr/api-keys-rpc-CdPFdGOx.mjs +0 -136
  301. package/.output/server/_ssr/api-rpc-B2E1ZIG5.mjs +0 -1399
  302. package/.output/server/_ssr/auth.server-CmicHh0J.mjs +0 -47
  303. package/.output/server/_ssr/bundle-signing-rpc-Di7-I6fE.mjs +0 -16
  304. package/.output/server/_ssr/bundle-signing.server-Uqt1OF49.mjs +0 -12
  305. package/.output/server/_ssr/bundleActivity-pBrPSG01.mjs +0 -28
  306. package/.output/server/_ssr/card-Bemj0dpY.mjs +0 -108
  307. package/.output/server/_ssr/config-Dv8qLDZ0.mjs +0 -13
  308. package/.output/server/_ssr/config.server-B8WsT3s0.mjs +0 -368
  309. package/.output/server/_ssr/databaseRows-5bCRTxm-.mjs +0 -126
  310. package/.output/server/_ssr/deleteBundle-8X-jq7Z7.mjs +0 -66
  311. package/.output/server/_ssr/field-BrQ2u0fT.mjs +0 -74
  312. package/.output/server/_ssr/getBundleChildren-DoL8l_AS.mjs +0 -50
  313. package/.output/server/_ssr/insights-BwQ-wF2a.mjs +0 -10
  314. package/.output/server/_ssr/insights-gr1I_dJU.mjs +0 -938
  315. package/.output/server/_ssr/insights-recovery-Cv6RSyeR.mjs +0 -21
  316. package/.output/server/_ssr/insights-recovery-rpc-DOzxfYfv.mjs +0 -37
  317. package/.output/server/_ssr/insights-search-1czJMZgk.mjs +0 -21
  318. package/.output/server/_ssr/insights-usage-rpc-4ImOq_0p.mjs +0 -184
  319. package/.output/server/_ssr/insights-usage-rpc-BUruODjE.mjs +0 -24
  320. package/.output/server/_ssr/insightsContract-B09K_Px1.mjs +0 -303
  321. package/.output/server/_ssr/insightsHistory-Ci4rYAgl.mjs +0 -41
  322. package/.output/server/_ssr/insightsRecovery-CaghWL2t.mjs +0 -113
  323. package/.output/server/_ssr/insightsUsage-DNIj6jxF.mjs +0 -71
  324. package/.output/server/_ssr/insights_.distribution-VmHuikRE.mjs +0 -10
  325. package/.output/server/_ssr/installations-HXMF_kKf.mjs +0 -29
  326. package/.output/server/_ssr/routes-Dru3IRj0.mjs +0 -37
  327. package/.output/server/_ssr/runtime.server-CsiKFp_Z.mjs +0 -436
  328. package/.output/server/_ssr/server-DJm72Kj-.mjs +0 -7468
  329. package/.output/server/_ssr/signing-H8Lg4lPe.mjs +0 -133
  330. package/.output/server/_ssr/start-DpViQGnt.mjs +0 -4
  331. package/.output/server/_tanstack-start-manifest_v-DsFcTLw_.mjs +0 -125
  332. package/src/components/features/bundles/BundleActivityChart.tsx +0 -97
  333. package/src/components/features/bundles/BundleInsightsSummary.tsx +0 -126
  334. package/src/components/features/signing/BundleSigningPage.tsx +0 -139
  335. package/src/lib/bundle-signing-api.ts +0 -14
  336. package/src/lib/bundle-signing-rpc.ts +0 -16
  337. package/src/lib/server/bundle-signing.server.ts +0 -23
  338. package/src/lib/server/deleteBundle.ts +0 -145
  339. package/src/lib/server/insightsHistory.ts +0 -52
  340. package/src/lib/server/insightsRecovery.ts +0 -187
  341. package/src/routes/signing.tsx +0 -37
@@ -1,13 +1,25 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
- import { i as TSS_SERVER_FUNCTION } from "./createServerFn-B2hcXoPM.mjs";
3
- import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-DBRojHaG.mjs";
4
- import { at as TooltipPortal, dt as Button, ft as useRender, ht as require_react, it as TooltipPositioner, mt as require_jsx_runtime, nt as TooltipArrow, ot as TooltipTrigger$1, pt as mergeProps, rt as TooltipPopup, st as TooltipRoot, tt as TooltipProvider$1, ut as Separator } from "../_libs/@base-ui/react+[...].mjs";
5
- import { m as PanelLeft } from "../_libs/lucide-react.mjs";
2
+ import { a as TSS_SERVER_FUNCTION } from "./createMiddleware-Cm6Tn0_Y.mjs";
3
+ import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-BpRlos5Q.mjs";
4
+ import { $ as DialogPopup, Q as DialogPortal, X as DialogTitle, Y as DialogTrigger, Z as DialogRoot, _t as require_react, at as TooltipArrow, ct as TooltipPortal, et as DialogDescription, gt as require_jsx_runtime, ht as mergeProps, it as TooltipProvider$1, lt as TooltipTrigger$1, mt as Button, nt as DialogBackdrop, ot as TooltipPopup, pt as Separator, rt as useRender, st as TooltipPositioner, tt as DialogClose, ut as TooltipRoot } from "../_libs/@base-ui/react+[...].mjs";
5
+ import { t as X, y as PanelLeft } from "../_libs/lucide-react.mjs";
6
6
  import { n as clsx, t as cva } from "../_libs/class-variance-authority+clsx.mjs";
7
7
  import { t as twMerge } from "../_libs/tailwind-merge.mjs";
8
- //#region node_modules/.nitro/vite/services/ssr/assets/createSsrRpc-CdlfejmI.js
8
+ //#region node_modules/.nitro/vite/services/ssr/assets/sidebar-DJcErBMo.js
9
9
  var import_react = /* @__PURE__ */ __toESM(require_react());
10
10
  var import_jsx_runtime = require_jsx_runtime();
11
+ var createSsrRpc = (functionId) => {
12
+ const url = "/_serverFn/" + functionId;
13
+ const serverFnMeta = { id: functionId };
14
+ const fn = async (...args) => {
15
+ return (await getServerFnById(functionId, { origin: "server" }))(...args);
16
+ };
17
+ return Object.assign(fn, {
18
+ url,
19
+ serverFnMeta,
20
+ [TSS_SERVER_FUNCTION]: true
21
+ });
22
+ };
11
23
  function cn(...inputs) {
12
24
  return twMerge(clsx(inputs));
13
25
  }
@@ -50,14 +62,6 @@ function Button$1({ className, variant = "default", size = "default", ...props }
50
62
  ...props
51
63
  });
52
64
  }
53
- function Input({ className, type, ...props }) {
54
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", {
55
- type,
56
- "data-slot": "input",
57
- className: cn("bg-input/20 dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-7 rounded-md border px-2 py-0.5 text-sm transition-colors file:h-6 file:text-xs/relaxed file:font-medium focus-visible:ring-[2px] aria-invalid:ring-[2px] md:text-xs/relaxed file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", className),
58
- ...props
59
- });
60
- }
61
65
  function Separator$1({ className, orientation = "horizontal", ...props }) {
62
66
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Separator, {
63
67
  "data-slot": "separator",
@@ -107,6 +111,80 @@ function TooltipContent({ className, side = "top", sideOffset = 4, align = "cent
107
111
  })
108
112
  }) });
109
113
  }
114
+ function Input({ className, type, ...props }) {
115
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("input", {
116
+ type,
117
+ "data-slot": "input",
118
+ className: cn("bg-input/20 dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/30 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-7 rounded-md border px-2 py-0.5 text-sm transition-colors file:h-6 file:text-xs/relaxed file:font-medium focus-visible:ring-[2px] aria-invalid:ring-[2px] md:text-xs/relaxed file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50", className),
119
+ ...props
120
+ });
121
+ }
122
+ function Sheet({ ...props }) {
123
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogRoot, {
124
+ "data-slot": "sheet",
125
+ ...props
126
+ });
127
+ }
128
+ function SheetTrigger({ ...props }) {
129
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTrigger, {
130
+ "data-slot": "sheet-trigger",
131
+ ...props
132
+ });
133
+ }
134
+ function SheetPortal({ ...props }) {
135
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPortal, {
136
+ "data-slot": "sheet-portal",
137
+ ...props
138
+ });
139
+ }
140
+ function SheetOverlay({ className, ...props }) {
141
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogBackdrop, {
142
+ "data-slot": "sheet-overlay",
143
+ className: cn("fixed inset-0 z-50 bg-black/80 transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:backdrop-blur-xs", className),
144
+ ...props
145
+ });
146
+ }
147
+ function SheetContent({ className, children, side = "right", showCloseButton = true, ...props }) {
148
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SheetPortal, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetOverlay, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogPopup, {
149
+ "data-slot": "sheet-content",
150
+ "data-side": side,
151
+ className: cn("fixed z-50 flex flex-col bg-background bg-clip-padding text-xs/relaxed shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-r data-[side=left]:data-ending-style:translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-l data-[side=right]:data-ending-style:translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm", className),
152
+ ...props,
153
+ children: [children, showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogClose, {
154
+ "data-slot": "sheet-close",
155
+ render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
156
+ variant: "ghost",
157
+ className: "absolute top-4 right-4",
158
+ size: "icon-sm"
159
+ }),
160
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(X, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
161
+ className: "sr-only",
162
+ children: "Close"
163
+ })]
164
+ })]
165
+ })] });
166
+ }
167
+ function SheetHeader({ className, ...props }) {
168
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
169
+ "data-slot": "sheet-header",
170
+ className: cn("flex flex-col gap-1.5 p-6", className),
171
+ ...props
172
+ });
173
+ }
174
+ function SheetTitle({ className, ...props }) {
175
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle, {
176
+ "data-slot": "sheet-title",
177
+ className: cn("text-sm font-medium text-foreground", className),
178
+ ...props
179
+ });
180
+ }
181
+ function SheetDescription({ className, ...props }) {
182
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogDescription, {
183
+ "data-slot": "sheet-description",
184
+ className: cn("text-xs/relaxed text-muted-foreground", className),
185
+ ...props
186
+ });
187
+ }
110
188
  var MOBILE_BREAKPOINT = 768;
111
189
  function useIsMobile() {
112
190
  const [isMobile, setIsMobile] = import_react.useState(void 0);
@@ -237,32 +315,26 @@ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offExample
237
315
  ...props,
238
316
  children
239
317
  });
240
- if (isMobile) {
241
- if (!openMobile) return null;
242
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
318
+ if (isMobile) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Sheet, {
319
+ open: openMobile,
320
+ onOpenChange: setOpenMobile,
321
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SheetContent, {
243
322
  "data-sidebar": "sidebar",
244
323
  "data-slot": "sidebar",
245
324
  "data-mobile": "true",
246
- className: "fixed inset-0 z-50 md:hidden",
325
+ className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) max-w-[calc(100vw-2rem)] p-0",
326
+ style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
327
+ side,
247
328
  ...props,
248
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
249
- type: "button",
250
- "aria-label": "Close sidebar",
251
- className: "absolute inset-0 bg-sidebar/55 supports-backdrop-filter:backdrop-blur-sm",
252
- onClick: () => setOpenMobile(false)
253
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("dialog", {
254
- open: true,
255
- "aria-modal": "true",
256
- "aria-label": "Sidebar",
257
- className: cn("bg-sidebar text-sidebar-foreground absolute inset-y-0 z-10 flex w-(--sidebar-width) flex-col shadow-lg", side === "left" ? "left-0" : "right-0"),
258
- style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
259
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "pointer-events-none absolute inset-x-0 top-full h-32 bg-sidebar" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
260
- className: "flex h-full w-full flex-col overflow-y-auto bg-sidebar",
261
- children
262
- })]
329
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)(SheetHeader, {
330
+ className: "sr-only",
331
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetTitle, { children: "Sidebar" }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SheetDescription, { children: "Console navigation." })]
332
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
333
+ className: "flex size-full min-h-0 flex-col pt-[env(safe-area-inset-top)] pb-[env(safe-area-inset-bottom)]",
334
+ children
263
335
  })]
264
- });
265
- }
336
+ })
337
+ });
266
338
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
267
339
  className: "group peer text-sidebar-foreground hidden md:block",
268
340
  "data-state": state,
@@ -421,17 +493,5 @@ function SidebarMenuButton({ render, isActive = false, variant = "default", size
421
493
  ...tooltip
422
494
  })] });
423
495
  }
424
- var createSsrRpc = (functionId) => {
425
- const url = "/_serverFn/" + functionId;
426
- const serverFnMeta = { id: functionId };
427
- const fn = async (...args) => {
428
- return (await getServerFnById(functionId, { origin: "server" }))(...args);
429
- };
430
- return Object.assign(fn, {
431
- url,
432
- serverFnMeta,
433
- [TSS_SERVER_FUNCTION]: true
434
- });
435
- };
436
496
  //#endregion
437
- export { cn as C, buttonVariants as S, useIsMobile as T, Skeleton as _, SidebarContent as a, TooltipProvider as b, SidebarGroupContent as c, SidebarInset as d, SidebarMenu as f, SidebarTrigger as g, SidebarProvider as h, Sidebar as i, SidebarGroupLabel as l, SidebarMenuItem as m, Input as n, SidebarFooter as o, SidebarMenuButton as p, Separator$1 as r, SidebarGroup as s, Button$1 as t, SidebarHeader as u, Tooltip$1 as v, createSsrRpc as w, TooltipTrigger as x, TooltipContent as y };
497
+ export { createSsrRpc as A, Skeleton as C, TooltipTrigger as D, TooltipProvider as E, useSidebar as M, buttonVariants as O, SidebarTrigger as S, TooltipContent as T, SidebarInset as _, SheetContent as a, SidebarMenuItem as b, SheetTitle as c, SidebarContent as d, SidebarFooter as f, SidebarHeader as g, SidebarGroupLabel as h, Sheet as i, useIsMobile as j, cn as k, SheetTrigger as l, SidebarGroupContent as m, Input as n, SheetDescription as o, SidebarGroup as p, Separator$1 as r, SheetHeader as s, Button$1 as t, Sidebar as u, SidebarMenu as v, Tooltip$1 as w, SidebarProvider as x, SidebarMenuButton as y };
@@ -1,4 +1,4 @@
1
- import { i as defaultStreamHandler, n as createStartHandler } from "./server-DJm72Kj-.mjs";
1
+ import { i as defaultStreamHandler, n as createStartHandler } from "./server-h4VxnExB.mjs";
2
2
  //#region node_modules/.nitro/vite/services/ssr/index.js
3
3
  var fetch = createStartHandler(defaultStreamHandler);
4
4
  function createServerEntry(entry) {
@@ -0,0 +1,4 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/start-BfFbHKMK.js
2
+ var startInstance = void 0;
3
+ //#endregion
4
+ export { startInstance };
@@ -0,0 +1,43 @@
1
+ import { i as __toESM } from "../_runtime.mjs";
2
+ import { _t as require_react, gt as require_jsx_runtime, i as SwitchRoot, r as SwitchThumb } from "../_libs/@base-ui/react+[...].mjs";
3
+ import { k as cn } from "./sidebar-DJcErBMo.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/switch-E-btwMGt.js
5
+ var import_react = /* @__PURE__ */ __toESM(require_react());
6
+ var import_jsx_runtime = require_jsx_runtime();
7
+ /**
8
+ * What a dialog opened for, kept while it animates closed. Closing clears
9
+ * the target at once, and without the kept one the dialog would empty or
10
+ * switch to another state, such as "Delete ?", during its exit animation.
11
+ */
12
+ function useDialogTarget(target) {
13
+ const [shown, setShown] = (0, import_react.useState)(target);
14
+ if (target !== null && target !== shown) setShown(target);
15
+ return target ?? shown;
16
+ }
17
+ /**
18
+ * A number that changes each time `open` turns true, to key a dialog's form
19
+ * so every opening starts from its props, even one that comes before the
20
+ * last close finished animating.
21
+ */
22
+ function useOpenSession(open) {
23
+ const [session, setSession] = (0, import_react.useState)(0);
24
+ const [wasOpen, setWasOpen] = (0, import_react.useState)(open);
25
+ if (open !== wasOpen) {
26
+ setWasOpen(open);
27
+ if (open) setSession(session + 1);
28
+ }
29
+ return session;
30
+ }
31
+ function Switch$1({ className, ...props }) {
32
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SwitchRoot, {
33
+ "data-slot": "switch",
34
+ className: cn("peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background data-checked:bg-primary data-unchecked:bg-input data-disabled:cursor-not-allowed data-disabled:opacity-50", className),
35
+ ...props,
36
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(SwitchThumb, {
37
+ "data-slot": "switch-thumb",
38
+ className: "pointer-events-none block size-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-checked:translate-x-4 data-unchecked:translate-x-0"
39
+ })
40
+ });
41
+ }
42
+ //#endregion
43
+ export { useDialogTarget as n, useOpenSession as r, Switch$1 as t };
@@ -1,6 +1,6 @@
1
1
  import "../_runtime.mjs";
2
- import { ht as require_react, mt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
- import { C as cn } from "./createSsrRpc-CdlfejmI.mjs";
2
+ import { _t as require_react, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
+ import { k as cn } from "./sidebar-DJcErBMo.mjs";
4
4
  require_react();
5
5
  var import_jsx_runtime = require_jsx_runtime();
6
6
  function Table({ className, ...props }) {
@@ -0,0 +1,45 @@
1
+ import { G as TabsTab, K as TabsRoot, U as TabsList$1, W as TabsPanel, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
+ import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
3
+ import { k as cn } from "./sidebar-DJcErBMo.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/tabs-DEFnTm95.js
5
+ var import_jsx_runtime = require_jsx_runtime();
6
+ function Tabs$1({ className, orientation = "horizontal", ...props }) {
7
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TabsRoot, {
8
+ orientation,
9
+ "data-slot": "tabs",
10
+ "data-orientation": orientation,
11
+ className: cn("group/tabs flex gap-2 data-horizontal:flex-col", className),
12
+ ...props
13
+ });
14
+ }
15
+ var tabsListVariants = cva("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-[3px] text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none", {
16
+ variants: { variant: {
17
+ default: "bg-muted",
18
+ line: "gap-1 bg-transparent"
19
+ } },
20
+ defaultVariants: { variant: "default" }
21
+ });
22
+ function TabsList({ className, variant = "default", ...props }) {
23
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TabsList$1, {
24
+ "data-slot": "tabs-list",
25
+ "data-variant": variant,
26
+ className: cn(tabsListVariants({ variant }), className),
27
+ ...props
28
+ });
29
+ }
30
+ function TabsTrigger({ className, ...props }) {
31
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TabsTab, {
32
+ "data-slot": "tabs-trigger",
33
+ className: cn("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-xs font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start group-data-vertical/tabs:py-[calc(--spacing(1.25))] hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-3.5", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:bottom-[-5px] group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100", className),
34
+ ...props
35
+ });
36
+ }
37
+ function TabsContent({ className, ...props }) {
38
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TabsPanel, {
39
+ "data-slot": "tabs-content",
40
+ className: cn("flex-1 text-xs/relaxed outline-none", className),
41
+ ...props
42
+ });
43
+ }
44
+ //#endregion
45
+ export { TabsTrigger as i, TabsContent as n, TabsList as r, Tabs$1 as t };
@@ -0,0 +1,40 @@
1
+ import { r as recoveryWindows, t as insightsPeriodEnd } from "./insights-recovery-BWQhiZaF.mjs";
2
+ import { c as readUpdateFailuresInput, i as failureRate, t as checkFailureRate } from "./insights-failures-xaa41Buf.mjs";
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/updateFailures-H6pnnYK4.js
4
+ /** A release's or a channel's update failures over a period that ends with the current hour. */
5
+ async function getUpdateFailuresReport(reads, input, now = Date.now()) {
6
+ readUpdateFailuresInput(input);
7
+ const end = insightsPeriodEnd(now);
8
+ const timeRange = input.window === void 0 ? void 0 : {
9
+ start: Math.max(0, end - recoveryWindows[input.window].durationMs),
10
+ end
11
+ };
12
+ const scope = {
13
+ platform: input.platform,
14
+ channel: input.channel,
15
+ ...input.releaseId === void 0 ? {} : { releaseId: input.releaseId }
16
+ };
17
+ const previousRange = timeRange && timeRange.start >= timeRange.end - timeRange.start ? {
18
+ start: timeRange.start - (timeRange.end - timeRange.start),
19
+ end: timeRange.start
20
+ } : void 0;
21
+ const [failures, previous] = await Promise.all([reads.getUpdateFailures({
22
+ ...scope,
23
+ ...timeRange === void 0 ? {} : { timeRange }
24
+ }), previousRange === void 0 ? void 0 : reads.getUpdateFailures({
25
+ ...scope,
26
+ timeRange: previousRange
27
+ })]);
28
+ return {
29
+ ...failures,
30
+ startMs: timeRange?.start ?? null,
31
+ endMs: end,
32
+ ...previous === void 0 ? {} : { previous: {
33
+ attemptRate: failureRate(previous),
34
+ checkRate: previous.checks ? checkFailureRate(previous.checks) : null,
35
+ complete: previous.coverage.kind === "complete" && failures.coverage.kind === "complete"
36
+ } }
37
+ };
38
+ }
39
+ //#endregion
40
+ export { getUpdateFailuresReport };
@@ -1,5 +1,5 @@
1
- import { x as isUUIDv7 } from "./dist-CyzPaI5v.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/uuidv7-D0QFkPL_.js
1
+ import { C as isUUIDv7 } from "./dist-CbQbBIw-.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/uuidv7-C88s9jWF.js
3
3
  var extractTimestampFromUUIDv7 = (uuid) => {
4
4
  if (!isUUIDv7(uuid)) throw new TypeError("Expected a canonical lowercase UUIDv7");
5
5
  const timestampHex = uuid.split("-").join("").slice(0, 12);
@@ -0,0 +1,139 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-55AGsehh.js
2
+ var tsrStartManifest = () => ({ routes: {
3
+ __root__: {
4
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/__root.tsx",
5
+ children: [
6
+ "/",
7
+ "/api-keys",
8
+ "/insights",
9
+ "/installations",
10
+ "/remote-config",
11
+ "/insights_/distribution",
12
+ "/api/auth/$",
13
+ "/api/bundles/$bundleId/download"
14
+ ],
15
+ preloads: [
16
+ "/assets/index-6o51GkFe.js",
17
+ "/assets/sidebar-DNVyJPfX.js",
18
+ "/assets/useCompositeListItem-9E4pj_CH.js",
19
+ "/assets/alert-dialog-Bbk_4-WJ.js",
20
+ "/assets/remote-config-Br56BODb.js",
21
+ "/assets/console-features-api-BH5m_PtQ.js",
22
+ "/assets/installations-BazSJXE0.js",
23
+ "/assets/routes-B88Erkpk.js",
24
+ "/assets/insights-api-BigAU9sZ.js",
25
+ "/assets/field-BBDpjIqu.js",
26
+ "/assets/dialog-Bqbb7B0N.js",
27
+ "/assets/dist-LxKJB-Vu.js",
28
+ "/assets/NotFoundPage-DIqCpWa3.js",
29
+ "/assets/insights-CxZ2GCYV.js",
30
+ "/assets/insights_.distribution-DZtkibX1.js"
31
+ ],
32
+ scripts: [{ attrs: {
33
+ type: "module",
34
+ async: !0,
35
+ src: "/assets/index-6o51GkFe.js"
36
+ } }]
37
+ },
38
+ "/": {
39
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/index.tsx",
40
+ children: void 0,
41
+ preloads: [
42
+ "/assets/routes-CfzsAleC.js",
43
+ "/assets/select-BZZBXMkr.js",
44
+ "/assets/switch-DZ1TPwx-.js",
45
+ "/assets/valueToPercent-CH8GCHaL.js",
46
+ "/assets/api-DCM0wr6O.js",
47
+ "/assets/chevron-right-BqD5wtFb.js",
48
+ "/assets/HashValueDisplay-BFX_kY3-.js",
49
+ "/assets/list-CgrYiadM.js",
50
+ "/assets/input-group-ja_30qaF.js",
51
+ "/assets/InsightsInfo-BNO0WznZ.js",
52
+ "/assets/table-Gm4qRWwE.js"
53
+ ]
54
+ },
55
+ "/api-keys": {
56
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/api-keys.tsx",
57
+ children: void 0,
58
+ preloads: [
59
+ "/assets/api-keys-CIO9L_wu.js",
60
+ "/assets/clipboard-DS9ucUQL.js",
61
+ "/assets/key-round-wS_SIZ6b.js",
62
+ "/assets/refresh-cw-BYgoNCco.js",
63
+ "/assets/table-Gm4qRWwE.js",
64
+ "/assets/api-keys-DVTL_--f.js",
65
+ "/assets/ConsoleFeatureUnavailable-jB4Loglh.js"
66
+ ]
67
+ },
68
+ "/insights": {
69
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/insights.tsx",
70
+ children: void 0,
71
+ preloads: [
72
+ "/assets/insights-CmraDzQh.js",
73
+ "/assets/ConsoleFeatureUnavailable-jB4Loglh.js",
74
+ "/assets/insights-vNRCrfnS.js",
75
+ "/assets/select-BZZBXMkr.js",
76
+ "/assets/tabs-C7FOEjFC.js",
77
+ "/assets/insights-usage-rpc-DYEhsCKT.js",
78
+ "/assets/valueToPercent-CH8GCHaL.js",
79
+ "/assets/EventDetails-B6yUsyNA.js",
80
+ "/assets/api-DCM0wr6O.js",
81
+ "/assets/arrow-up-right-BtffZA6e.js",
82
+ "/assets/chevron-right-BqD5wtFb.js",
83
+ "/assets/list-CgrYiadM.js",
84
+ "/assets/refresh-cw-BYgoNCco.js",
85
+ "/assets/input-group-ja_30qaF.js",
86
+ "/assets/undo-2-CmrHjwFc.js",
87
+ "/assets/InsightsPageHeader-B892oVml.js",
88
+ "/assets/InsightsInfo-BNO0WznZ.js",
89
+ "/assets/empty-CuT2UhFp.js",
90
+ "/assets/table-Gm4qRWwE.js"
91
+ ]
92
+ },
93
+ "/installations": {
94
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/installations.tsx",
95
+ children: void 0,
96
+ preloads: [
97
+ "/assets/installations-ClHTqdAO.js",
98
+ "/assets/ConsoleFeatureUnavailable-jB4Loglh.js",
99
+ "/assets/installations-DpKsBuHi.js",
100
+ "/assets/EventDetails-B6yUsyNA.js",
101
+ "/assets/arrow-left-CnMYpqB7.js",
102
+ "/assets/arrow-up-right-BtffZA6e.js",
103
+ "/assets/HashValueDisplay-BFX_kY3-.js",
104
+ "/assets/refresh-cw-BYgoNCco.js",
105
+ "/assets/input-group-ja_30qaF.js",
106
+ "/assets/search-DaTDPW25.js",
107
+ "/assets/InsightsPageHeader-B892oVml.js",
108
+ "/assets/table-Gm4qRWwE.js"
109
+ ]
110
+ },
111
+ "/remote-config": {
112
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/remote-config.tsx",
113
+ children: void 0,
114
+ preloads: [
115
+ "/assets/remote-config-BWwHOkCK.js",
116
+ "/assets/remote-config-CXOi0LRu.js",
117
+ "/assets/ConsoleFeatureUnavailable-jB4Loglh.js"
118
+ ]
119
+ },
120
+ "/insights_/distribution": {
121
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/insights_.distribution.tsx",
122
+ children: void 0,
123
+ preloads: [
124
+ "/assets/insights_.distribution-ChOerfJt.js",
125
+ "/assets/ConsoleFeatureUnavailable-jB4Loglh.js",
126
+ "/assets/insights_.distribution-D-e4iga8.js",
127
+ "/assets/select-BZZBXMkr.js",
128
+ "/assets/insights-usage-rpc-DYEhsCKT.js",
129
+ "/assets/valueToPercent-CH8GCHaL.js",
130
+ "/assets/arrow-left-CnMYpqB7.js",
131
+ "/assets/arrow-up-right-BtffZA6e.js",
132
+ "/assets/InsightsPageHeader-B892oVml.js",
133
+ "/assets/InsightsInfo-BNO0WznZ.js",
134
+ "/assets/empty-CuT2UhFp.js"
135
+ ]
136
+ }
137
+ } });
138
+ //#endregion
139
+ export { tsrStartManifest };