@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
@@ -0,0 +1,37 @@
1
+ import { gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
+ import { O as buttonVariants } from "./sidebar-DJcErBMo.mjs";
3
+ import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/NotFoundPage-DZzOOzS3.js
5
+ var import_jsx_runtime = require_jsx_runtime();
6
+ var homeSearch = {
7
+ afterReleaseId: void 0,
8
+ beforeReleaseId: void 0,
9
+ bundleId: void 0,
10
+ channelId: void 0,
11
+ enabled: void 0,
12
+ platform: void 0,
13
+ releaseId: void 0,
14
+ scopeKey: void 0
15
+ };
16
+ function NotFoundPage() {
17
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
18
+ className: "flex min-h-svh flex-1 items-center justify-center px-6 py-10",
19
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
20
+ className: "flex max-w-md flex-col items-center text-center",
21
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", {
22
+ className: "text-2xl font-semibold tracking-tight text-foreground",
23
+ children: "Page not found"
24
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Link, {
25
+ className: buttonVariants({
26
+ className: "mt-6",
27
+ size: "lg"
28
+ }),
29
+ to: "/",
30
+ search: homeSearch,
31
+ children: "Go to home"
32
+ })]
33
+ })
34
+ });
35
+ }
36
+ //#endregion
37
+ export { NotFoundPage as t };
@@ -1,7 +1,6 @@
1
1
  import "../_runtime.mjs";
2
- import { $ as DialogBackdrop, G as DialogRoot, J as DialogTitle$1, K as AlertDialogTrigger$1, Q as DialogClose, X as DialogPopup, Y as DialogPortal$1, Z as DialogDescription$1, et as AlertDialogRoot, ht as require_react, mt as require_jsx_runtime, q as DialogTrigger$1 } from "../_libs/@base-ui/react+[...].mjs";
3
- import { t as X } from "../_libs/lucide-react.mjs";
4
- import { C as cn, t as Button$1 } from "./createSsrRpc-CdlfejmI.mjs";
2
+ import { $ as DialogPopup, J as AlertDialogRoot, Q as DialogPortal, X as DialogTitle, _t as require_react, et as DialogDescription, gt as require_jsx_runtime, nt as DialogBackdrop, q as AlertDialogTrigger$1, tt as DialogClose } from "../_libs/@base-ui/react+[...].mjs";
3
+ import { k as cn, t as Button$1 } from "./sidebar-DJcErBMo.mjs";
5
4
  require_react();
6
5
  var import_jsx_runtime = require_jsx_runtime();
7
6
  function AlertDialog$1({ ...props }) {
@@ -17,7 +16,7 @@ function AlertDialogTrigger({ ...props }) {
17
16
  });
18
17
  }
19
18
  function AlertDialogPortal({ ...props }) {
20
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPortal$1, {
19
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPortal, {
21
20
  "data-slot": "alert-dialog-portal",
22
21
  ...props
23
22
  });
@@ -59,14 +58,14 @@ function AlertDialogMedia({ className, ...props }) {
59
58
  });
60
59
  }
61
60
  function AlertDialogTitle({ className, ...props }) {
62
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle$1, {
61
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle, {
63
62
  "data-slot": "alert-dialog-title",
64
63
  className: cn("text-sm font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2", className),
65
64
  ...props
66
65
  });
67
66
  }
68
67
  function AlertDialogDescription({ className, ...props }) {
69
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogDescription$1, {
68
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogDescription, {
70
69
  "data-slot": "alert-dialog-description",
71
70
  className: cn("text-xs/relaxed text-balance text-muted-foreground md:text-pretty *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
72
71
  ...props
@@ -90,81 +89,5 @@ function AlertDialogCancel({ className, variant = "outline", size = "default", .
90
89
  ...props
91
90
  });
92
91
  }
93
- function Dialog$1({ ...props }) {
94
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogRoot, {
95
- "data-slot": "dialog",
96
- ...props
97
- });
98
- }
99
- function DialogTrigger({ ...props }) {
100
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTrigger$1, {
101
- "data-slot": "dialog-trigger",
102
- ...props
103
- });
104
- }
105
- function DialogPortal({ ...props }) {
106
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogPortal$1, {
107
- "data-slot": "dialog-portal",
108
- ...props
109
- });
110
- }
111
- function DialogOverlay({ className, ...props }) {
112
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogBackdrop, {
113
- "data-slot": "dialog-overlay",
114
- className: cn("fixed inset-0 isolate z-50 bg-black/80 duration-100 supports-backdrop-filter:backdrop-blur-xs data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0", className),
115
- ...props
116
- });
117
- }
118
- function DialogContent({ className, children, showCloseButton = true, ...props }) {
119
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogPortal, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogOverlay, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogPopup, {
120
- "data-slot": "dialog-content",
121
- className: cn("fixed top-1/2 left-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-xl bg-background p-4 text-xs/relaxed ring-1 ring-foreground/10 duration-100 outline-none sm:max-w-sm data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className),
122
- ...props,
123
- children: [children, showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(DialogClose, {
124
- "data-slot": "dialog-close",
125
- render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
126
- variant: "ghost",
127
- className: "absolute top-2 right-2",
128
- size: "icon-sm"
129
- }),
130
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(X, {}), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
131
- className: "sr-only",
132
- children: "Close"
133
- })]
134
- })]
135
- })] });
136
- }
137
- function DialogHeader({ className, ...props }) {
138
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
139
- "data-slot": "dialog-header",
140
- className: cn("flex flex-col gap-1", className),
141
- ...props
142
- });
143
- }
144
- function DialogFooter({ className, showCloseButton = false, children, ...props }) {
145
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
146
- "data-slot": "dialog-footer",
147
- className: cn("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
148
- ...props,
149
- children: [children, showCloseButton && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogClose, {
150
- render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, { variant: "outline" }),
151
- children: "Close"
152
- })]
153
- });
154
- }
155
- function DialogTitle({ className, ...props }) {
156
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogTitle$1, {
157
- "data-slot": "dialog-title",
158
- className: cn("text-sm font-medium", className),
159
- ...props
160
- });
161
- }
162
- function DialogDescription({ className, ...props }) {
163
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(DialogDescription$1, {
164
- "data-slot": "dialog-description",
165
- className: cn("text-xs/relaxed text-muted-foreground *:[a]:underline *:[a]:underline-offset-3 *:[a]:hover:text-foreground", className),
166
- ...props
167
- });
168
- }
169
92
  //#endregion
170
- export { DialogTrigger as _, AlertDialogDescription as a, AlertDialogMedia as c, Dialog$1 as d, DialogContent as f, DialogTitle as g, DialogHeader as h, AlertDialogContent as i, AlertDialogTitle as l, DialogFooter as m, AlertDialogAction as n, AlertDialogFooter as o, DialogDescription as p, AlertDialogCancel as r, AlertDialogHeader as s, AlertDialog$1 as t, AlertDialogTrigger as u };
93
+ export { AlertDialogDescription as a, AlertDialogMedia as c, AlertDialogContent as i, AlertDialogTitle as l, AlertDialogAction as n, AlertDialogFooter as o, AlertDialogCancel as r, AlertDialogHeader as s, AlertDialog$1 as t, AlertDialogTrigger as u };
@@ -1,16 +1,55 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
- import { ht as require_react, mt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
- import { F as Check, O as Clipboard, S as KeyRound, b as LoaderCircle, f as RefreshCw, n as TriangleAlert, p as Plus, s as ShieldOff } from "../_libs/lucide-react.mjs";
4
- import { _ as Skeleton, g as SidebarTrigger, n as Input, t as Button$1 } from "./createSsrRpc-CdlfejmI.mjs";
5
- import { a as useRevokeApiKeyMutation, i as useCreateApiKeyMutation, r as useApiKeysQuery } from "./api-keys-api-C3oeq01R.mjs";
6
- import { a as Badge, d as CardTitle, i as AlertTitle, n as AlertAction, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./card-Bemj0dpY.mjs";
7
- import { a as AlertDialogDescription, c as AlertDialogMedia, d as Dialog$1, f as DialogContent, g as DialogTitle, h as DialogHeader, i as AlertDialogContent, l as AlertDialogTitle, m as DialogFooter, n as AlertDialogAction, o as AlertDialogFooter, p as DialogDescription, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1, u as AlertDialogTrigger } from "./dialog-CKvQ4VIE.mjs";
8
- import { a as FieldLabel, i as FieldGroup, n as FieldDescription, r as FieldError, t as Field } from "./field-BrQ2u0fT.mjs";
9
- import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-CTj6n-4F.mjs";
2
+ import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
3
+ import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
4
+ import { _t as require_react, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
5
+ import { D as KeyRound, G as Check, L as Clipboard, T as LoaderCircle, _ as Plus, f as ShieldOff, g as RefreshCw, i as TriangleAlert } from "../_libs/lucide-react.mjs";
6
+ import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, n as Input, t as Button$1 } from "./sidebar-DJcErBMo.mjs";
7
+ import { a as Badge, d as CardTitle, f as Field, g as FieldLabel, h as FieldGroup, i as AlertTitle, m as FieldError, n as AlertAction, o as Card, p as FieldDescription, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./field-asw83X0v.mjs";
8
+ import { a as AlertDialogDescription, c as AlertDialogMedia, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1, u as AlertDialogTrigger } from "./alert-dialog-C43Doa0I.mjs";
9
+ import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-BbYDMjdC.mjs";
10
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-37Dd23TN.mjs";
11
+ import { i as useQuery, n as useMutation, s as useQueryClient } from "../_libs/tanstack__react-query.mjs";
10
12
  import { n as toast } from "../_libs/sonner.mjs";
11
- //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-CzZ7Ont4.js
13
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-B4sYm8dM.js
12
14
  var import_react = /* @__PURE__ */ __toESM(require_react());
13
15
  var import_jsx_runtime = require_jsx_runtime();
16
+ var parseName = (input) => {
17
+ const name = typeof input === "object" && input !== null ? Reflect.get(input, "name") : void 0;
18
+ if (typeof name !== "string") throw new TypeError("API key name must be a string.");
19
+ return { name };
20
+ };
21
+ var parseId = (input) => {
22
+ const id = typeof input === "object" && input !== null ? Reflect.get(input, "id") : void 0;
23
+ if (typeof id !== "string" || !/^api-[A-Za-z0-9_-]{43}$/u.test(id)) throw new TypeError("Invalid API key id.");
24
+ return { id };
25
+ };
26
+ /** API key management, once the console's access check and the feature guard pass. */
27
+ var listApiKeysRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(createSsrRpc("2c7f3cdb9bd3cab2c026a48abdc84c362db0362924a08679052a325640aec56b"));
28
+ var createApiKeyRpc = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator(parseName).handler(createSsrRpc("68a2d94ee016be64936401f5eba60ab08a47ff373e1cf9de48e4413336e6034b"));
29
+ var revokeApiKeyRpc = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator(parseId).handler(createSsrRpc("a1cb80b19ca72a64fb631ca28ebb9b6941db245983de082d5dd3203ec2eef795"));
30
+ var apiKeyQueryKeys = { list: ["api-keys", "list"] };
31
+ var useApiKeysQuery = () => useQuery({
32
+ queryKey: apiKeyQueryKeys.list,
33
+ queryFn: () => listApiKeysRpc()
34
+ });
35
+ var useCreateApiKeyMutation = () => {
36
+ const queryClient = useQueryClient();
37
+ return useMutation({
38
+ mutationFn: (name) => createApiKeyRpc({ data: { name } }),
39
+ onSuccess: async () => {
40
+ await queryClient.invalidateQueries({ queryKey: apiKeyQueryKeys.list });
41
+ }
42
+ });
43
+ };
44
+ var useRevokeApiKeyMutation = () => {
45
+ const queryClient = useQueryClient();
46
+ return useMutation({
47
+ mutationFn: (id) => revokeApiKeyRpc({ data: { id } }),
48
+ onSuccess: async () => {
49
+ await queryClient.invalidateQueries({ queryKey: apiKeyQueryKeys.list });
50
+ }
51
+ });
52
+ };
14
53
  var formatCreatedAt = (createdAt) => new Date(createdAt).toISOString().slice(0, 10);
15
54
  function CreateApiKeyDialog() {
16
55
  const [open, setOpen] = (0, import_react.useState)(false);
@@ -0,0 +1,5 @@
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-ldW8v8-q.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-CEnM9fqG.js
3
+ var SplitNotFoundComponent = ConsoleFeatureUnavailable;
4
+ //#endregion
5
+ export { SplitNotFoundComponent as notFoundComponent };
@@ -0,0 +1,52 @@
1
+ import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
+ import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
3
+ import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-rpc-BIFuUgMt.js
5
+ var parseName = (input) => {
6
+ const name = typeof input === "object" && input !== null ? Reflect.get(input, "name") : void 0;
7
+ if (typeof name !== "string") throw new TypeError("API key name must be a string.");
8
+ return { name };
9
+ };
10
+ var parseId = (input) => {
11
+ const id = typeof input === "object" && input !== null ? Reflect.get(input, "id") : void 0;
12
+ if (typeof id !== "string" || !/^api-[A-Za-z0-9_-]{43}$/u.test(id)) throw new TypeError("Invalid API key id.");
13
+ return { id };
14
+ };
15
+ /** API key management, once the console's access check and the feature guard pass. */
16
+ var apiKeyManagement = async () => {
17
+ const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-DskXCAyI.mjs"), import("./runtime.server-De0QVWc9.mjs")]);
18
+ const { runtime } = await prepareConfig();
19
+ return requireFeature(runtime, "apiKeys");
20
+ };
21
+ var listApiKeysRpc_createServerFn_handler = createServerRpc({
22
+ id: "2c7f3cdb9bd3cab2c026a48abdc84c362db0362924a08679052a325640aec56b",
23
+ name: "listApiKeysRpc",
24
+ filename: "src/lib/api-keys-rpc.ts"
25
+ }, (opts) => listApiKeysRpc.__executeServer(opts));
26
+ var listApiKeysRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(listApiKeysRpc_createServerFn_handler, async () => {
27
+ return [...await (await apiKeyManagement()).list()].sort((left, right) => right.created_at_ms - left.created_at_ms);
28
+ });
29
+ var createApiKeyRpc_createServerFn_handler = createServerRpc({
30
+ id: "68a2d94ee016be64936401f5eba60ab08a47ff373e1cf9de48e4413336e6034b",
31
+ name: "createApiKeyRpc",
32
+ filename: "src/lib/api-keys-rpc.ts"
33
+ }, (opts) => createApiKeyRpc.__executeServer(opts));
34
+ var createApiKeyRpc = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator(parseName).handler(createApiKeyRpc_createServerFn_handler, async ({ data }) => {
35
+ const created = await (await apiKeyManagement()).create({ name: data.name });
36
+ return {
37
+ apiKey: created.apiKey,
38
+ record: created.record
39
+ };
40
+ });
41
+ var revokeApiKeyRpc_createServerFn_handler = createServerRpc({
42
+ id: "a1cb80b19ca72a64fb631ca28ebb9b6941db245983de082d5dd3203ec2eef795",
43
+ name: "revokeApiKeyRpc",
44
+ filename: "src/lib/api-keys-rpc.ts"
45
+ }, (opts) => revokeApiKeyRpc.__executeServer(opts));
46
+ var revokeApiKeyRpc = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator(parseId).handler(revokeApiKeyRpc_createServerFn_handler, async ({ data }) => {
47
+ const revoked = await (await apiKeyManagement()).revoke({ id: data.id });
48
+ if (revoked === null) throw new Error("API key not found.");
49
+ return revoked;
50
+ });
51
+ //#endregion
52
+ export { createApiKeyRpc_createServerFn_handler, listApiKeysRpc_createServerFn_handler, revokeApiKeyRpc_createServerFn_handler };
@@ -0,0 +1,186 @@
1
+ import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
+ import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
3
+ import { A as createSsrRpc } from "./sidebar-DJcErBMo.mjs";
4
+ import { i as useQuery, n as useMutation, s as useQueryClient } from "../_libs/tanstack__react-query.mjs";
5
+ import { n as readReleaseFilter } from "./listReleases-BfUBlCHo.mjs";
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-oZjRn9tP.js
7
+ var MAX_PAGE_LIMIT = 100;
8
+ var pageLimit = (limit) => {
9
+ const value = limit ?? 20;
10
+ if (!Number.isSafeInteger(value) || value < 1 || value > MAX_PAGE_LIMIT) throw new Error(`limit must be between 1 and ${MAX_PAGE_LIMIT}.`);
11
+ return value;
12
+ };
13
+ var getReleases = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => ({
14
+ filter: readReleaseFilter(input?.filter),
15
+ ...input?.afterReleaseId === void 0 ? {} : { afterReleaseId: input.afterReleaseId },
16
+ ...input?.beforeReleaseId === void 0 ? {} : { beforeReleaseId: input.beforeReleaseId },
17
+ limit: pageLimit(input?.limit)
18
+ })).handler(createSsrRpc("206547cb1526f961070a989818ca7b9e34f6b2b0e4ab851698c3807fe9fb5e0c"));
19
+ var getRelease = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("a6f23116eeaf76166d405e28a95213123025613c6603030894e519015bf48032"));
20
+ var updateRelease = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("7ea0186f19f9f2bc2ca4b26e3c59636891cf046957f84287b6783f8d88bd8cb7"));
21
+ var preflightRelease = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("b46c95dba95a6a3e8fa5c9d100e3622fa5ae7af4f38e10fb1ed2fa48289a3a8f"));
22
+ var deleteRelease = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("d5b58722ce514e3b63a377f736b4823c2011782495442ae4870ed547e392c70b"));
23
+ var promoteRelease = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("956539a300d79a7efa191c1cc2d529d62fc4bfd940442548fdbc1404e0d53078"));
24
+ var getReleaseCatalogDiagnostics = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("e8c24b7247936f045a145ffd5c177fd0e3df3b52769d67dfbd8d1de491d66396"));
25
+ var getConfig = createServerFn().middleware([consoleAccess]).handler(createSsrRpc("51a34c05479a893c7d320bd4cd1604427289d667698c48b9f30a01aabf8a5e68"));
26
+ var getChannels = createServerFn().middleware([consoleAccess]).handler(createSsrRpc("79ada05964de8f2123bfcd62b10097d59bf8fd689ef5c7161031e5871d8396c5"));
27
+ var createChannel = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator((input) => {
28
+ const name = typeof input?.name === "string" ? input.name.trim() : "";
29
+ if (name.length === 0) throw new Error("Channel name is required.");
30
+ return { name };
31
+ }).handler(createSsrRpc("2b9b8d1f49f79a511589617d8d4bfc6094a3acf5264f33651b9569ba66d3f321"));
32
+ var deleteChannel = createServerFn({ method: "POST" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("52756dde414919a906bfe83d1ab6d29910c63bcafdb47653d6f1df562d958920"));
33
+ var getBundle = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("1bd85c2a50e24785cb6abb023a247a9f048f37ddfa85cbb1c57e579563bad013"));
34
+ var getBundleChildren = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => input).handler(createSsrRpc("4370f1bf70b91f1168d85379d3008449a1bedb915e9878ca4ef89d5f3a80fa7f"));
35
+ var getBundleChildCounts = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator((input) => {
36
+ if (!Array.isArray(input?.bundleIds) || input.bundleIds.length > 100) throw new Error("Choose up to 100 bundles.");
37
+ return input;
38
+ }).handler(createSsrRpc("4ca367070b00f58179a572f0bb8196a4ccdd3881e9b1dbfe33deee0cb6e1f549"));
39
+ var releaseListQueryKey = ["releases"];
40
+ var queryKeys = {
41
+ config: ["config"],
42
+ channels: ["channels"],
43
+ releases: {
44
+ all: releaseListQueryKey,
45
+ list: (filters) => [...releaseListQueryKey, filters ?? {}]
46
+ },
47
+ release: (releaseId) => ["release", releaseId],
48
+ releaseCatalog: (scopeKey) => ["release-catalog", scopeKey],
49
+ bundleChildren: {
50
+ all: ["bundle-children"],
51
+ list: (baseBundleId) => ["bundle-children", baseBundleId],
52
+ counts: (bundleIds) => [
53
+ "bundle-children",
54
+ "counts",
55
+ ...bundleIds
56
+ ]
57
+ },
58
+ bundle: (bundleId) => ["bundle", bundleId]
59
+ };
60
+ function useConfigQuery() {
61
+ return useQuery({
62
+ queryKey: queryKeys.config,
63
+ queryFn: () => getConfig(),
64
+ staleTime: Infinity
65
+ });
66
+ }
67
+ function useChannelsQuery() {
68
+ return useQuery({
69
+ queryKey: queryKeys.channels,
70
+ queryFn: () => getChannels(),
71
+ staleTime: Infinity
72
+ });
73
+ }
74
+ function useReleasesQuery(filters) {
75
+ return useQuery({
76
+ queryKey: queryKeys.releases.list(filters),
77
+ queryFn: () => getReleases({ data: filters }),
78
+ placeholderData: (previousData) => previousData
79
+ });
80
+ }
81
+ function useReleaseQuery(releaseId) {
82
+ return useQuery({
83
+ enabled: releaseId.length > 0,
84
+ queryFn: () => getRelease({ data: { releaseId } }),
85
+ queryKey: queryKeys.release(releaseId)
86
+ });
87
+ }
88
+ function useReleaseCatalogDiagnosticsQuery(scopeKey) {
89
+ return useQuery({
90
+ enabled: scopeKey.length > 0,
91
+ queryFn: () => getReleaseCatalogDiagnostics({ data: { scopeKey } }),
92
+ queryKey: queryKeys.releaseCatalog(scopeKey)
93
+ });
94
+ }
95
+ function useBundleQuery(bundleId) {
96
+ return useQuery({
97
+ queryKey: queryKeys.bundle(bundleId),
98
+ queryFn: () => getBundle({ data: { bundleId } }),
99
+ staleTime: Infinity,
100
+ enabled: !!bundleId
101
+ });
102
+ }
103
+ function useBundleChildrenQuery(baseBundleId) {
104
+ return useQuery({
105
+ queryKey: queryKeys.bundleChildren.list(baseBundleId),
106
+ queryFn: () => getBundleChildren({ data: { baseBundleId } }),
107
+ staleTime: Infinity,
108
+ enabled: !!baseBundleId
109
+ });
110
+ }
111
+ function useBundleChildCountsQuery(bundleIds) {
112
+ const normalizedBundleIds = [...bundleIds].sort((left, right) => left.localeCompare(right));
113
+ return useQuery({
114
+ queryKey: queryKeys.bundleChildren.counts(normalizedBundleIds),
115
+ queryFn: () => getBundleChildCounts({ data: { bundleIds: normalizedBundleIds } }),
116
+ staleTime: Infinity,
117
+ enabled: normalizedBundleIds.length > 0
118
+ });
119
+ }
120
+ function useCreateChannelMutation() {
121
+ const queryClient = useQueryClient();
122
+ return useMutation({
123
+ mutationFn: (input) => createChannel({ data: input }).then((response) => response.data),
124
+ onSuccess: async () => {
125
+ await queryClient.invalidateQueries({ queryKey: queryKeys.channels });
126
+ }
127
+ });
128
+ }
129
+ function useDeleteChannelMutation() {
130
+ const queryClient = useQueryClient();
131
+ return useMutation({
132
+ mutationFn: (input) => deleteChannel({ data: input }).then((response) => response.data),
133
+ onSettled: async () => {
134
+ await queryClient.invalidateQueries({ queryKey: queryKeys.channels });
135
+ }
136
+ });
137
+ }
138
+ function useUpdateReleaseMutation() {
139
+ const queryClient = useQueryClient();
140
+ return useMutation({
141
+ mutationFn: (input) => updateRelease({ data: input }),
142
+ onSuccess: async (_, input) => {
143
+ await Promise.all([
144
+ queryClient.invalidateQueries({ queryKey: queryKeys.releases.all }),
145
+ queryClient.invalidateQueries({ queryKey: queryKeys.release(input.releaseId) }),
146
+ queryClient.invalidateQueries({ queryKey: ["release-catalog"] }),
147
+ queryClient.invalidateQueries({ queryKey: queryKeys.channels })
148
+ ]);
149
+ }
150
+ });
151
+ }
152
+ function usePreflightReleaseMutation() {
153
+ return useMutation({ mutationFn: (input) => preflightRelease({ data: input }) });
154
+ }
155
+ function useDeleteReleaseMutation() {
156
+ const queryClient = useQueryClient();
157
+ return useMutation({
158
+ mutationFn: (input) => deleteRelease({ data: input }),
159
+ onSuccess: async (_, input) => {
160
+ queryClient.removeQueries({ queryKey: queryKeys.release(input.releaseId) });
161
+ await Promise.all([
162
+ queryClient.invalidateQueries({ queryKey: queryKeys.releases.all }),
163
+ queryClient.invalidateQueries({ queryKey: ["release-catalog"] }),
164
+ queryClient.invalidateQueries({ queryKey: queryKeys.channels }),
165
+ queryClient.invalidateQueries({ queryKey: ["bundle"] }),
166
+ queryClient.invalidateQueries({ queryKey: queryKeys.bundleChildren.all })
167
+ ]);
168
+ }
169
+ });
170
+ }
171
+ function usePromoteReleaseMutation() {
172
+ const queryClient = useQueryClient();
173
+ return useMutation({
174
+ mutationFn: (input) => promoteRelease({ data: input }),
175
+ onSuccess: async () => {
176
+ await Promise.all([
177
+ queryClient.invalidateQueries({ queryKey: queryKeys.releases.all }),
178
+ queryClient.invalidateQueries({ queryKey: ["release"] }),
179
+ queryClient.invalidateQueries({ queryKey: ["release-catalog"] }),
180
+ queryClient.invalidateQueries({ queryKey: queryKeys.channels })
181
+ ]);
182
+ }
183
+ });
184
+ }
185
+ //#endregion
186
+ export { useConfigQuery as a, useDeleteReleaseMutation as c, useReleaseCatalogDiagnosticsQuery as d, useReleaseQuery as f, useChannelsQuery as i, usePreflightReleaseMutation as l, useUpdateReleaseMutation as m, useBundleChildrenQuery as n, useCreateChannelMutation as o, useReleasesQuery as p, useBundleQuery as r, useDeleteChannelMutation as s, useBundleChildCountsQuery as t, usePromoteReleaseMutation as u };