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

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 (275) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/ConsoleFeatureUnavailable-B9VYGA3N.js +1 -0
  3. package/.output/public/assets/HashValueDisplay-D880zntR.js +1 -0
  4. package/.output/public/assets/InsightsInfo-By_sPjTE.js +1 -0
  5. package/.output/public/assets/InsightsPageHeader-9_kx_LL7.js +1 -0
  6. package/.output/public/assets/NotFoundPage-Dys8C0cW.js +1 -0
  7. package/.output/public/assets/api-CtarlV0l.js +1 -0
  8. package/.output/public/assets/api-keys-DFF_QqtN.js +1 -0
  9. package/.output/public/assets/api-keys-evfsQ4sN.js +1 -0
  10. package/.output/public/assets/arrow-left-BP9D-ta_.js +1 -0
  11. package/.output/public/assets/arrow-up-right-CDP9Tevw.js +1 -0
  12. package/.output/public/assets/card-DzCPSRsh.js +1 -0
  13. package/.output/public/assets/console-features-api-yv7rm3DX.js +1 -0
  14. package/.output/public/assets/dialog-BDvCy_QO.js +1 -0
  15. package/.output/public/assets/dist-Clb6cQ9l.js +1 -0
  16. package/.output/public/assets/empty-C5x9mn_s.js +1 -0
  17. package/.output/public/assets/field-Bou7shoO.js +1 -0
  18. package/.output/public/assets/index-0eg3l8aC.js +10 -0
  19. package/.output/public/assets/input-group-DVtWFUUF.js +1 -0
  20. package/.output/public/assets/insights-2MbdiSNv.js +1 -0
  21. package/.output/public/assets/insights-C6tmCZHk.js +2 -0
  22. package/.output/public/assets/insights-CadS_aIA.js +42 -0
  23. package/.output/public/assets/insights-recovery-rpc-wvdyM4LD.js +1 -0
  24. package/.output/public/assets/insights-search-KIF7mRtB.js +1 -0
  25. package/.output/public/assets/insights-usage-rpc-qUkNtrWr.js +1 -0
  26. package/.output/public/assets/insights_.distribution-BhBs6PNA.js +1 -0
  27. package/.output/public/assets/insights_.distribution-CItZw3-8.js +1 -0
  28. package/.output/public/assets/insights_.distribution-CJUH_wAS.js +2 -0
  29. package/.output/public/assets/installations-CH2H7JQt.js +2 -0
  30. package/.output/public/assets/installations-DMeMuwsW.js +1 -0
  31. package/.output/public/assets/installations-DnvxI9Dt.js +1 -0
  32. package/.output/public/assets/loader-circle-Ca7C9YY1.js +1 -0
  33. package/.output/public/assets/mutation-x9L28_CD.js +1 -0
  34. package/.output/public/assets/preload-helper-BN-UkjOE.js +1 -0
  35. package/.output/public/assets/refresh-cw-CVGqvy8Z.js +1 -0
  36. package/.output/public/assets/routes-BhK8DuZA.js +1 -0
  37. package/.output/public/assets/routes-veKtDW39.js +2 -0
  38. package/.output/public/assets/sidebar-B45aMqRm.js +3 -0
  39. package/.output/public/assets/styles-Dn0pK1EX.css +2 -0
  40. package/.output/public/assets/table-CwLnN6KX.js +1 -0
  41. package/.output/public/assets/useCompositeListItem-CF7vsfcA.js +1 -0
  42. package/.output/public/assets/useMutation-CN1ygYEr.js +1 -0
  43. package/.output/public/assets/useOpenInteractionType-AnAMWYIY.js +1 -0
  44. package/.output/public/assets/valueToPercent-C-t8FT0y.js +1 -0
  45. package/.output/server/{__23tanstack-start-server-fn-resolver-B7ioJhtE.mjs → __23tanstack-start-server-fn-resolver-CUQLz7hs.mjs} +52 -40
  46. package/.output/server/_libs/@base-ui/react+[...].mjs +7044 -3622
  47. package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +1554 -0
  48. package/.output/server/_libs/@tanstack/react-router+[...].mjs +49 -3
  49. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +4 -4
  50. package/.output/server/_libs/d3-array.mjs +231 -0
  51. package/.output/server/_libs/d3-color.mjs +330 -0
  52. package/.output/server/_libs/d3-format.mjs +252 -0
  53. package/.output/server/_libs/d3-interpolate.mjs +207 -0
  54. package/.output/server/_libs/d3-path.mjs +77 -0
  55. package/.output/server/_libs/d3-scale+[...].mjs +1907 -0
  56. package/.output/server/_libs/d3-shape.mjs +818 -0
  57. package/.output/server/_libs/decimal.js-light.mjs +884 -0
  58. package/.output/server/_libs/es-toolkit.mjs +1159 -0
  59. package/.output/server/_libs/eventemitter3.mjs +236 -0
  60. package/.output/server/_libs/immer.mjs +532 -0
  61. package/.output/server/_libs/lucide-react.mjs +46 -32
  62. package/.output/server/_libs/next-themes.mjs +2 -2
  63. package/.output/server/_libs/react-redux+[...].mjs +205 -0
  64. package/.output/server/_libs/recharts+[...].mjs +14350 -0
  65. package/.output/server/_libs/sonner.mjs +2 -2
  66. package/.output/server/_libs/tanstack__react-query.mjs +8 -3
  67. package/.output/server/_libs/verkit.mjs +99 -1
  68. package/.output/server/_runtime.mjs +10 -1
  69. package/.output/server/_ssr/ConsoleFeatureUnavailable-DoxET2AT.mjs +58 -0
  70. package/.output/server/_ssr/{HashValueDisplay-DwpGLfrl.mjs → HashValueDisplay-BplboHEb.mjs} +3 -3
  71. package/.output/server/_ssr/InsightsInfo-o2YPd5Qc.mjs +37 -0
  72. package/.output/server/_ssr/InsightsPageHeader-NExCJL1I.mjs +154 -0
  73. package/.output/server/_ssr/NotFoundPage-Cd-A8ock.mjs +37 -0
  74. package/.output/server/_ssr/api-B1Ro0uys.mjs +202 -0
  75. package/.output/server/_ssr/api-C0G9MTMI.mjs +4205 -0
  76. package/.output/server/_ssr/{api-keys-CZeTPQys.mjs → api-keys-CT3HG7KT.mjs} +49 -9
  77. package/.output/server/_ssr/api-keys-Dvvy1sem.mjs +5 -0
  78. package/.output/server/_ssr/api-keys-rpc-b1qTTFfG.mjs +52 -0
  79. package/.output/server/_ssr/api-rpc-Cbns2MGx.mjs +338 -0
  80. package/.output/server/_ssr/{auth-rpc-DUaeOWKK.mjs → auth-rpc-DChS7m9y.mjs} +6 -6
  81. package/.output/server/_ssr/auth.server-Ccqz2iVv.mjs +37 -0
  82. package/.output/server/_ssr/bundleActivity-D17Pb_h5.mjs +19 -0
  83. package/.output/server/_ssr/card-DMbcvlPz.mjs +49 -0
  84. package/.output/server/_ssr/config-DMEJdhoW.mjs +13 -0
  85. package/.output/server/_ssr/config.server-DyypN6cQ.mjs +60 -0
  86. package/.output/server/_ssr/console-access-KpPv5lin.mjs +17 -0
  87. package/.output/server/_ssr/console-features-CsbyHYfK.mjs +55 -0
  88. package/.output/server/_ssr/console-features-api-B-KVuo4p.mjs +43 -0
  89. package/.output/server/_ssr/console-features-rpc-Djyo5740.mjs +19 -0
  90. package/.output/server/_ssr/{createServerFn-B2hcXoPM.mjs → createMiddleware-B_I3Ll4M.mjs} +28 -2
  91. package/.output/server/_ssr/{createServerRpc-DB29C_5p.mjs → createServerRpc-DuNm5mmo.mjs} +2 -2
  92. package/.output/server/_ssr/databaseRows-CXxf_VIB.mjs +132 -0
  93. package/.output/server/_ssr/{deleteBundle-BTGwBgzx.mjs → deleteBundle-Dcc21Lbd.mjs} +9 -19
  94. package/.output/server/_ssr/{dialog-DS-nw-pA.mjs → dialog-cOmLTUV2.mjs} +2 -2
  95. package/.output/server/_ssr/{dist-CyzPaI5v.mjs → dist-B-r4u3Lg.mjs} +28 -5
  96. package/.output/server/_ssr/{downloadBundle-CNnYxYO2.mjs → downloadBundle-CexOFoZ4.mjs} +6 -7
  97. package/.output/server/_ssr/empty-BHoY_5jt.mjs +49 -0
  98. package/.output/server/_ssr/{table-CnZmon_Z.mjs → field-mjhcNEXD.mjs} +63 -51
  99. package/.output/server/_ssr/getBundleChildren-DbDXe9wB.mjs +22 -0
  100. package/.output/server/_ssr/{input-group-BpsnmvZw.mjs → input-group-96H30HWC.mjs} +2 -2
  101. package/.output/server/_ssr/insights-D25VDVaz.mjs +5 -0
  102. package/.output/server/_ssr/insights-D359GJFL.mjs +14 -0
  103. package/.output/server/_ssr/insights-DgFv1NsO.mjs +1238 -0
  104. package/.output/server/_ssr/insights-api-ChAKrbhG.mjs +105 -0
  105. package/.output/server/_ssr/insights-failures-WQ-ttjOx.mjs +44 -0
  106. package/.output/server/_ssr/insights-failures-rpc-BFsqlltN.mjs +21 -0
  107. package/.output/server/_ssr/insights-recovery-DkL6bxMW.mjs +28 -0
  108. package/.output/server/_ssr/insights-recovery-rpc-2P5m8F62.mjs +46 -0
  109. package/.output/server/_ssr/insights-recovery-rpc-Tj8vNC19.mjs +20 -0
  110. package/.output/server/_ssr/{insights-rpc-38DujK0G.mjs → insights-rpc-DrkVmV9o.mjs} +22 -14
  111. package/.output/server/_ssr/insights-search-BsalnNw-.mjs +25 -0
  112. package/.output/server/_ssr/insights-usage-1nVTQrLy.mjs +29 -0
  113. package/.output/server/_ssr/insights-usage-rpc-Ct_4xHhZ.mjs +29 -0
  114. package/.output/server/_ssr/insights-usage-rpc-DaYIRtFK.mjs +41 -0
  115. package/.output/server/_ssr/insightsRecovery-CpGucWN1.mjs +45 -0
  116. package/.output/server/_ssr/insightsUsage-JYpKZAF7.mjs +56 -0
  117. package/.output/server/_ssr/insights_.distribution-Bcu6uYs_.mjs +5 -0
  118. package/.output/server/_ssr/insights_.distribution-D3Csuyjw.mjs +14 -0
  119. package/.output/server/_ssr/insights_.distribution-jQZEF07J.mjs +335 -0
  120. package/.output/server/_ssr/installations-B8Vh54lH.mjs +69 -0
  121. package/.output/server/_ssr/installations-BI5kelHv.mjs +5 -0
  122. package/.output/server/_ssr/{installations-DiVKEF5T.mjs → installations-Cxikllmx.mjs} +517 -54
  123. package/.output/server/_ssr/listReleases-DqU9t1l3.mjs +79 -0
  124. package/.output/server/_ssr/releaseManagement-B3e7I8J9.mjs +11 -0
  125. package/.output/server/_ssr/{router-B9wG_9f8.mjs → router-CRkm-wHD.mjs} +117 -124
  126. package/.output/server/_ssr/routes-B3IJo_jL.mjs +292 -0
  127. package/.output/server/_ssr/{routes-D7Yh_jfj.mjs → routes-CNAi0Mmv.mjs} +176 -455
  128. package/.output/server/_ssr/runtime.server-NucbYjc7.mjs +1372 -0
  129. package/.output/server/_ssr/select-BkPAJFL7.mjs +107 -0
  130. package/.output/server/_ssr/{server-D_C2rMzf.mjs → server-DKJYsaCP.mjs} +6 -32
  131. package/.output/server/_ssr/{createSsrRpc-DjWNJ0uc.mjs → sidebar-Cw1VuC7d.mjs} +117 -63
  132. package/.output/server/_ssr/ssr.mjs +1 -1
  133. package/.output/server/_ssr/table-q0P9wz7x.mjs +53 -0
  134. package/.output/server/_ssr/updateFailures-DMU9f0pK.mjs +24 -0
  135. package/.output/server/_ssr/{uuidv7-D0QFkPL_.mjs → uuidv7-BzSO-fr-.mjs} +2 -2
  136. package/.output/server/_tanstack-start-manifest_v-Bb0gKDbb.mjs +124 -0
  137. package/.output/server/index.mjs +273 -168
  138. package/README.md +71 -65
  139. package/lib/index.d.mts +13 -11
  140. package/lib/vite-internal.mjs +6 -3
  141. package/package.json +8 -8
  142. package/src/components/AppSidebar.tsx +91 -71
  143. package/src/components/ConsoleAccessPage.tsx +5 -1
  144. package/src/components/ConsoleFeatureUnavailable.tsx +82 -0
  145. package/src/components/NotFoundPage.tsx +7 -7
  146. package/src/components/features/FeatureSlots.tsx +99 -0
  147. package/src/components/features/api-keys/apiKeysFeatureUi.tsx +15 -0
  148. package/src/components/features/bundles/BundleMetadata.tsx +7 -4
  149. package/src/components/features/channels/ChannelManagementDialog.tsx +2 -5
  150. package/src/components/features/insights/AppUsage.tsx +370 -0
  151. package/src/components/features/insights/EstimatedCount.tsx +18 -0
  152. package/src/components/features/insights/EventDetails.tsx +117 -37
  153. package/src/components/features/insights/EventHistoryCard.tsx +112 -26
  154. package/src/components/features/insights/EventHistoryList.tsx +2 -2
  155. package/src/components/features/insights/InsightsControls.tsx +265 -102
  156. package/src/components/features/insights/InsightsErrorAlert.tsx +14 -1
  157. package/src/components/features/insights/InsightsInfo.tsx +48 -0
  158. package/src/components/features/insights/InsightsOverview.tsx +176 -173
  159. package/src/components/features/insights/InsightsPageHeader.tsx +35 -20
  160. package/src/components/features/insights/InsightsPeriodSelector.tsx +89 -0
  161. package/src/components/features/insights/InstallationHistoryCard.tsx +52 -10
  162. package/src/components/features/insights/InstallationMatchesCard.tsx +1 -1
  163. package/src/components/features/insights/ReleaseActivity.tsx +188 -0
  164. package/src/components/features/insights/ReportingDevicesSummary.tsx +65 -0
  165. package/src/components/features/insights/UpdateFailures.tsx +319 -0
  166. package/src/components/features/insights/insightsFeatureUi.tsx +35 -0
  167. package/src/components/features/releases/ReleaseEditorSheet.tsx +24 -1
  168. package/src/components/ui/card.tsx +1 -1
  169. package/src/components/ui/empty.tsx +101 -0
  170. package/src/components/ui/scroll-area.tsx +52 -0
  171. package/src/components/ui/sidebar.tsx +22 -29
  172. package/src/components/ui/tabs.tsx +81 -0
  173. package/src/index.ts +12 -17
  174. package/src/lib/api-keys-api.ts +0 -28
  175. package/src/lib/api-keys-rpc.ts +27 -38
  176. package/src/lib/api-rpc.ts +197 -221
  177. package/src/lib/api.ts +11 -13
  178. package/src/lib/bundle-activity.ts +31 -0
  179. package/src/lib/console-access.ts +20 -0
  180. package/src/lib/console-features-api.ts +68 -0
  181. package/src/lib/console-features-rpc.ts +13 -0
  182. package/src/lib/console-features.ts +91 -0
  183. package/src/lib/insights-api.ts +37 -1
  184. package/src/lib/insights-failures-rpc.ts +21 -0
  185. package/src/lib/insights-failures.ts +129 -0
  186. package/src/lib/insights-recovery-rpc.ts +51 -0
  187. package/src/lib/insights-recovery.ts +68 -0
  188. package/src/lib/insights-retention.ts +21 -0
  189. package/src/lib/insights-rpc.ts +30 -12
  190. package/src/lib/insights-search.ts +58 -0
  191. package/src/lib/insights-usage-rpc.ts +29 -0
  192. package/src/lib/insights-usage.ts +74 -0
  193. package/src/lib/insights-view.ts +38 -2
  194. package/src/lib/scroll-restoration.ts +21 -0
  195. package/src/lib/server/adminInsights.ts +124 -0
  196. package/src/lib/server/auth.server.ts +13 -5
  197. package/src/lib/server/bundleActivity.ts +37 -0
  198. package/src/lib/server/config.server.ts +16 -32
  199. package/src/lib/server/console-feature-apis.ts +59 -0
  200. package/src/lib/server/console-runtime.server.ts +6 -40
  201. package/src/lib/server/deleteBundle.ts +16 -25
  202. package/src/lib/server/downloadBundle.ts +7 -10
  203. package/src/lib/server/getBundleChildren.ts +31 -122
  204. package/src/lib/server/insightsRecovery.ts +55 -0
  205. package/src/lib/server/insightsUsage.ts +63 -0
  206. package/src/lib/server/listReleases.ts +109 -44
  207. package/src/lib/server/releaseReachability.ts +4 -3
  208. package/src/lib/server/runtime.server.ts +132 -31
  209. package/src/lib/server/updateFailures.ts +31 -0
  210. package/src/routeTree.gen.ts +21 -21
  211. package/src/router.tsx +3 -2
  212. package/src/routes/-installations-search.ts +32 -8
  213. package/src/routes/-releases-search.ts +76 -29
  214. package/src/routes/__root.tsx +10 -4
  215. package/src/routes/api/bundles/$bundleId/download.ts +2 -5
  216. package/src/routes/api-keys.tsx +5 -2
  217. package/src/routes/index.tsx +167 -104
  218. package/src/routes/insights.tsx +100 -59
  219. package/src/routes/insights_.distribution.tsx +398 -0
  220. package/src/routes/installations.tsx +98 -41
  221. package/src/vite-internal.ts +6 -3
  222. package/.output/public/assets/HashValueDisplay-CB0Eskit.js +0 -1
  223. package/.output/public/assets/InsightsPageHeader-Car5LNiZ.js +0 -1
  224. package/.output/public/assets/api-keys-BzKocqRy.js +0 -1
  225. package/.output/public/assets/api-keys-api-BHcODB7q.js +0 -1
  226. package/.output/public/assets/card-Dhr_eFYj.js +0 -1
  227. package/.output/public/assets/chart-no-axes-combined-Dy4WJv2U.js +0 -1
  228. package/.output/public/assets/composite-Bp98A0Ld.js +0 -1
  229. package/.output/public/assets/createServerFn-CA8fs7QD.js +0 -3
  230. package/.output/public/assets/dialog-CUTrcPlB.js +0 -1
  231. package/.output/public/assets/dist-C_NydL0e.js +0 -1
  232. package/.output/public/assets/index-DdAz-CXv.js +0 -10
  233. package/.output/public/assets/input-group-cSOG4wh_.js +0 -1
  234. package/.output/public/assets/insights-C0PBSZ-n.js +0 -1
  235. package/.output/public/assets/installations-CE33wgbY.js +0 -2
  236. package/.output/public/assets/installations-CStZja8x.js +0 -1
  237. package/.output/public/assets/lazyRouteComponent-Ccp3bwBY.js +0 -1
  238. package/.output/public/assets/link-CI8idAUi.js +0 -1
  239. package/.output/public/assets/loader-circle-BoxLrsOu.js +0 -1
  240. package/.output/public/assets/preload-helper-CQ36nxok.js +0 -1
  241. package/.output/public/assets/refresh-cw-Bqc72UZG.js +0 -1
  242. package/.output/public/assets/routes-DGVXdzpw.js +0 -2
  243. package/.output/public/assets/routes-DTlwOr8I.js +0 -1
  244. package/.output/public/assets/shield-check-uK3MHWJZ.js +0 -1
  245. package/.output/public/assets/signing-CMf4aqDO.js +0 -1
  246. package/.output/public/assets/styles-BCvbtKsm.css +0 -2
  247. package/.output/public/assets/table-2vcV89QB.js +0 -1
  248. package/.output/public/assets/useCompositeListItem-CHLITE_4.js +0 -1
  249. package/.output/public/assets/x-DCd0j8c6.js +0 -1
  250. package/.output/server/_ssr/InsightsPageHeader-Df4Brj8u.mjs +0 -484
  251. package/.output/server/_ssr/api-keys-api-BUPQVSpk.mjs +0 -60
  252. package/.output/server/_ssr/api-keys-rpc-Cs7tS5_j.mjs +0 -136
  253. package/.output/server/_ssr/api-rpc-tAupfGQm.mjs +0 -1399
  254. package/.output/server/_ssr/auth.server-DW71WzsD.mjs +0 -47
  255. package/.output/server/_ssr/bundle-signing-rpc-BhnBw0-d.mjs +0 -16
  256. package/.output/server/_ssr/bundle-signing.server-C4NW5mWx.mjs +0 -12
  257. package/.output/server/_ssr/card-BRiPmi0C.mjs +0 -108
  258. package/.output/server/_ssr/config-Dv8qLDZ0.mjs +0 -13
  259. package/.output/server/_ssr/config.server-afDuAwaG.mjs +0 -368
  260. package/.output/server/_ssr/databaseJsonValue-d6I3nAS4.mjs +0 -45
  261. package/.output/server/_ssr/databaseRows-5bCRTxm-.mjs +0 -126
  262. package/.output/server/_ssr/getBundleChildren-C0vh4ZvE.mjs +0 -50
  263. package/.output/server/_ssr/insights-BdS364Xu.mjs +0 -460
  264. package/.output/server/_ssr/insightsContract-fjJDBeEE.mjs +0 -303
  265. package/.output/server/_ssr/installations-CtA59MQG.mjs +0 -29
  266. package/.output/server/_ssr/routes-CKrrS2q2.mjs +0 -37
  267. package/.output/server/_ssr/runtime.server-DacU1TBV.mjs +0 -438
  268. package/.output/server/_ssr/signing-Dz1WkZOf.mjs +0 -133
  269. package/.output/server/_tanstack-start-manifest_v-2MjTyxil.mjs +0 -97
  270. package/src/components/features/insights/InsightsBundleReports.tsx +0 -51
  271. package/src/components/features/signing/BundleSigningPage.tsx +0 -139
  272. package/src/lib/bundle-signing-api.ts +0 -14
  273. package/src/lib/bundle-signing-rpc.ts +0 -16
  274. package/src/lib/server/bundle-signing.server.ts +0 -23
  275. package/src/routes/signing.tsx +0 -37
@@ -1,47 +0,0 @@
1
- //#region node_modules/.nitro/vite/services/ssr/assets/auth.server-DW71WzsD.js
2
- var readString = (value, key) => {
3
- if (typeof value !== "object" || value === null) return void 0;
4
- const member = Reflect.get(value, key);
5
- return typeof member === "string" && member.trim().length > 0 ? member.trim() : void 0;
6
- };
7
- var getProviderName = (signing) => {
8
- return readString(signing, "name")?.slice(0, 80) ?? (readString(signing, "privateKeyPath") ? "localSigning" : void 0) ?? "Configured provider";
9
- };
10
- var sanitizeConsoleSigningConfig = (signing) => {
11
- if (typeof signing !== "object" || signing === null) return void 0;
12
- const privateKeyPath = readString(signing, "privateKeyPath");
13
- if (Reflect.get(signing, "enabled") === false || privateKeyPath && Reflect.get(signing, "enabled") !== true) return void 0;
14
- return {
15
- enabled: true,
16
- provider: getProviderName(signing)
17
- };
18
- };
19
- var getConsoleAuthAdapter = async () => {
20
- return (await import("./auth-BF8mbAgF.mjs")).default;
21
- };
22
- var resolveConsoleConfig = async (request) => {
23
- const { default: source } = await import("./config-Dv8qLDZ0.mjs");
24
- const { signing: signingSource, ...configWithoutSigning } = typeof source === "function" ? await source(request) : source;
25
- const signing = sanitizeConsoleSigningConfig(signingSource);
26
- return {
27
- ...configWithoutSigning,
28
- ...signing === void 0 ? {} : { signing }
29
- };
30
- };
31
- var accessError = (access) => new Response(access.status === "unauthenticated" ? "Unauthorized" : "Forbidden", { status: access.status === "unauthenticated" ? 401 : 403 });
32
- var getConsoleAccess = async (request) => {
33
- return (await getConsoleAuthAdapter()).getAccess(request);
34
- };
35
- var getConsoleAuthProviders = async (request) => {
36
- return (await getConsoleAuthAdapter()).getProviders(request);
37
- };
38
- var handleConsoleAuth = async (request) => {
39
- return (await getConsoleAuthAdapter()).handle(request);
40
- };
41
- var requireConsoleAccess = async (request) => {
42
- const access = await getConsoleAccess(request);
43
- if (access.status !== "authorized") throw accessError(access);
44
- return access.principal;
45
- };
46
- //#endregion
47
- export { getConsoleAccess, getConsoleAuthProviders, handleConsoleAuth, requireConsoleAccess, resolveConsoleConfig as t };
@@ -1,16 +0,0 @@
1
- import { c as createServerFn } from "./createServerFn-B2hcXoPM.mjs";
2
- import { t as createServerRpc } from "./createServerRpc-DB29C_5p.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/bundle-signing-rpc-BhnBw0-d.js
4
- var getBundleSigningInspection = async () => {
5
- const [{ prepareConfig }, { inspectBundleSigning }] = await Promise.all([import("./config.server-afDuAwaG.mjs"), import("./bundle-signing.server-C4NW5mWx.mjs")]);
6
- const { config } = await prepareConfig();
7
- return inspectBundleSigning(config.signing);
8
- };
9
- var getBundleSigningInspectionRpc_createServerFn_handler = createServerRpc({
10
- id: "662034966679a6d29db2b55e7ba665e26e6c9a58a5529f33aa857a2049616233",
11
- name: "getBundleSigningInspectionRpc",
12
- filename: "src/lib/bundle-signing-rpc.ts"
13
- }, (opts) => getBundleSigningInspectionRpc.__executeServer(opts));
14
- var getBundleSigningInspectionRpc = createServerFn({ method: "GET" }).handler(getBundleSigningInspectionRpc_createServerFn_handler, getBundleSigningInspection);
15
- //#endregion
16
- export { getBundleSigningInspectionRpc_createServerFn_handler };
@@ -1,12 +0,0 @@
1
- //#region node_modules/.nitro/vite/services/ssr/assets/bundle-signing.server-C4NW5mWx.js
2
- var DEFAULT_PROVIDER = "Configured provider";
3
- var inspectBundleSigning = async (signing) => {
4
- if (!signing?.enabled) return { status: "disabled" };
5
- return {
6
- algorithm: "RSA-SHA256",
7
- provider: signing.provider ?? DEFAULT_PROVIDER,
8
- status: "enabled"
9
- };
10
- };
11
- //#endregion
12
- export { inspectBundleSigning };
@@ -1,108 +0,0 @@
1
- import "../_runtime.mjs";
2
- import { G as useRender, J as require_react, K as mergeProps, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
- import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
4
- import { C as cn } from "./createSsrRpc-DjWNJ0uc.mjs";
5
- require_react();
6
- var import_jsx_runtime = require_jsx_runtime();
7
- var alertVariants = cva("group/alert relative grid w-full gap-0.5 rounded-lg border px-2 py-1.5 text-left text-xs/relaxed has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-1.5 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-3.5", {
8
- variants: { variant: {
9
- default: "bg-card text-card-foreground",
10
- destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
11
- } },
12
- defaultVariants: { variant: "default" }
13
- });
14
- function Alert({ className, variant, ...props }) {
15
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
16
- "data-slot": "alert",
17
- role: "alert",
18
- className: cn(alertVariants({ variant }), className),
19
- ...props
20
- });
21
- }
22
- function AlertTitle({ className, ...props }) {
23
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
24
- "data-slot": "alert-title",
25
- className: cn("font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", className),
26
- ...props
27
- });
28
- }
29
- function AlertDescription({ className, ...props }) {
30
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
31
- "data-slot": "alert-description",
32
- className: cn("text-xs/relaxed text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className),
33
- ...props
34
- });
35
- }
36
- function AlertAction({ className, ...props }) {
37
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
38
- "data-slot": "alert-action",
39
- className: cn("absolute top-1.5 right-2", className),
40
- ...props
41
- });
42
- }
43
- var badgeVariants = cva("inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", {
44
- variants: { variant: {
45
- default: "border-transparent bg-primary text-primary-foreground shadow hover:bg-primary/80",
46
- secondary: "border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",
47
- success: "border-success/20 bg-success/10 text-success",
48
- warning: "border-warning/20 bg-warning/10 text-warning",
49
- destructive: "border-transparent bg-destructive text-destructive-foreground shadow hover:bg-destructive/80",
50
- outline: "text-foreground"
51
- } },
52
- defaultVariants: { variant: "default" }
53
- });
54
- function Badge({ className, variant = "default", render, ...props }) {
55
- return useRender({
56
- defaultTagName: "span",
57
- props: mergeProps({ className: cn(badgeVariants({ variant }), className) }, props),
58
- render,
59
- state: {
60
- slot: "badge",
61
- variant
62
- }
63
- });
64
- }
65
- function Card({ className, ...props }) {
66
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
67
- "data-slot": "card",
68
- className: cn("rounded-xl border bg-card text-card-foreground shadow", className),
69
- ...props
70
- });
71
- }
72
- function CardHeader({ className, ...props }) {
73
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
74
- "data-slot": "card-header",
75
- className: cn("flex flex-col space-y-1.5 p-6", className),
76
- ...props
77
- });
78
- }
79
- function CardTitle({ className, ...props }) {
80
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
81
- "data-slot": "card-title",
82
- className: cn("font-semibold leading-none tracking-tight", className),
83
- ...props
84
- });
85
- }
86
- function CardDescription({ className, ...props }) {
87
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
88
- "data-slot": "card-description",
89
- className: cn("text-sm text-muted-foreground", className),
90
- ...props
91
- });
92
- }
93
- function CardContent({ className, ...props }) {
94
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
95
- "data-slot": "card-content",
96
- className: cn("p-6 pt-0", className),
97
- ...props
98
- });
99
- }
100
- function CardFooter({ className, ...props }) {
101
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
102
- "data-slot": "card-footer",
103
- className: cn("flex items-center p-6 pt-0", className),
104
- ...props
105
- });
106
- }
107
- //#endregion
108
- export { Badge as a, CardDescription as c, CardTitle as d, AlertTitle as i, CardFooter as l, AlertAction as n, Card as o, AlertDescription as r, CardContent as s, Alert as t, CardHeader as u };
@@ -1,13 +0,0 @@
1
- import { loadConfig } from "@hot-updater/cli-tools";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/config-Dv8qLDZ0.js
3
- var config_default = async () => {
4
- const config = await loadConfig(null);
5
- return {
6
- console: { gitUrl: config.console.gitUrl },
7
- database: config.database,
8
- signing: config.signing,
9
- storage: config.storage
10
- };
11
- };
12
- //#endregion
13
- export { config_default as default };
@@ -1,368 +0,0 @@
1
- import { t as DatabasePluginInputError } from "./databaseJsonValue-d6I3nAS4.mjs";
2
- import { l as getBundlePatches } from "./dist-CyzPaI5v.mjs";
3
- import { a as rowsToBundles, n as bundleToPatchRows, r as bundleToRow, t as bundleMetadataToRow } from "./databaseRows-5bCRTxm-.mjs";
4
- import { r as getRequest } from "./server-D_C2rMzf.mjs";
5
- import { requireConsoleAccess, t as resolveConsoleConfig } from "./auth.server-DW71WzsD.mjs";
6
- import { r as isRecord } from "./insightsContract-fjJDBeEE.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/config.server-afDuAwaG.js
8
- /**
9
- * Calculate pagination information based on total count, limit, and offset
10
- */
11
- function calculatePagination(total, options) {
12
- const { limit, offset } = options;
13
- if (total === 0) return {
14
- total: 0,
15
- hasNextPage: false,
16
- hasPreviousPage: false,
17
- currentPage: 1,
18
- totalPages: 0
19
- };
20
- const currentPage = Math.floor(offset / limit) + 1;
21
- const totalPages = Math.ceil(total / limit);
22
- return {
23
- total,
24
- hasNextPage: offset + limit < total,
25
- hasPreviousPage: offset > 0,
26
- currentPage,
27
- totalPages
28
- };
29
- }
30
- var validateBundlePagination = (options) => {
31
- if (!Number.isSafeInteger(options.limit) || options.limit <= 0 || options.page !== void 0 && (!Number.isSafeInteger(options.page) || options.page <= 0) || options.page !== void 0 && options.cursor !== void 0) throw new DatabasePluginInputError("invalid-pagination");
32
- const cursor = options.cursor;
33
- if (cursor === void 0) return;
34
- if (!isRecord(cursor)) throw new DatabasePluginInputError("invalid-pagination");
35
- const hasAfter = Object.hasOwn(cursor, "after");
36
- if (hasAfter === Object.hasOwn(cursor, "before")) throw new DatabasePluginInputError("invalid-pagination");
37
- const value = hasAfter ? cursor.after : cursor.before;
38
- if (typeof value !== "string" || value.length === 0) throw new DatabasePluginInputError("invalid-pagination");
39
- };
40
- var DatabaseAtomicCommitUnsupportedError = class extends Error {
41
- pluginName;
42
- name = "DatabaseAtomicCommitUnsupportedError";
43
- constructor(pluginName) {
44
- super(`Database plugin "${pluginName}" cannot atomically commit changes across models.`);
45
- this.pluginName = pluginName;
46
- }
47
- };
48
- /**
49
- * Internal provider signal for a delete rejected by a live reference.
50
- *
51
- * Provider implementations throw this after translating their native
52
- * foreign-key or reference-condition error. The public database contract
53
- * observes only the indexed `referenced` commit conflict.
54
- */
55
- var DatabaseRowReferencedError = class extends Error {
56
- name = "DatabaseRowReferencedError";
57
- constructor() {
58
- super("The database row is still referenced.");
59
- }
60
- };
61
- function assertStorageOperations(plugin, operations) {
62
- for (const operation of operations) if (typeof plugin[operation] !== "function") throw new Error(`Storage plugin "${plugin.name}" does not implement ${operation}.`);
63
- }
64
- var DatabasePatchUpdateUnsupportedError = class extends Error {
65
- bundleId;
66
- pluginName;
67
- name = "DatabasePatchUpdateUnsupportedError";
68
- constructor(bundleId, pluginName) {
69
- super(`Database plugin "${pluginName}" cannot atomically replace patches for bundle "${bundleId}".`);
70
- this.bundleId = bundleId;
71
- this.pluginName = pluginName;
72
- }
73
- };
74
- var bundleUpdateToRow = (update, _channelId) => {
75
- return {
76
- ...update.platform !== void 0 ? { platform: update.platform } : {},
77
- ...update.fileHash !== void 0 ? { file_hash: update.fileHash } : {},
78
- ...update.gitCommitHash !== void 0 ? { git_commit_hash: update.gitCommitHash } : {},
79
- ...update.storageUri !== void 0 ? { storage_uri: update.storageUri } : {},
80
- ...update.archiveByteSize !== void 0 ? { archive_byte_size: update.archiveByteSize } : {},
81
- ...update.metadata !== void 0 ? { metadata: bundleMetadataToRow(update.metadata) } : {},
82
- ...update.manifestStorageUri !== void 0 ? { manifest_storage_uri: update.manifestStorageUri } : {},
83
- ...update.manifestFileHash !== void 0 ? { manifest_file_hash: update.manifestFileHash } : {},
84
- ...update.assetBaseStorageUri !== void 0 ? { asset_base_storage_uri: update.assetBaseStorageUri } : {}
85
- };
86
- };
87
- var bundleUpdateToPatchRows = (bundleId, update) => getBundlePatches({ patches: update.patches }).map((patch, orderIndex) => ({
88
- id: `${bundleId}:${patch.baseBundleId}`,
89
- bundle_id: bundleId,
90
- base_bundle_id: patch.baseBundleId,
91
- base_file_hash: patch.baseFileHash,
92
- patch_file_hash: patch.patchFileHash,
93
- patch_storage_uri: patch.patchStorageUri,
94
- byte_size: patch.byteSize,
95
- order_index: orderIndex
96
- }));
97
- var PAGE_SIZE = 100;
98
- var mergeIdFilter = (where, id) => ({
99
- ...where,
100
- id: {
101
- ...where?.id,
102
- ...id
103
- }
104
- });
105
- var loadBundleRows = async (database, where) => {
106
- const finiteIds = where?.id?.in;
107
- if (finiteIds) {
108
- if (finiteIds.length === 0) return [];
109
- return [...await database.models.bundles.findMany({
110
- where,
111
- limit: finiteIds.length,
112
- offset: 0,
113
- orderBy: {
114
- field: "id",
115
- direction: "asc"
116
- }
117
- })];
118
- }
119
- const [cutoff] = await database.models.bundles.findMany({
120
- where,
121
- limit: 1,
122
- offset: 0,
123
- orderBy: {
124
- field: "id",
125
- direction: "desc"
126
- }
127
- });
128
- if (!cutoff) return [];
129
- const rows = [];
130
- let after;
131
- for (;;) {
132
- const page = await database.models.bundles.findMany({
133
- where: mergeIdFilter(where, {
134
- lte: cutoff.id,
135
- ...after ? { gt: after } : {}
136
- }),
137
- limit: PAGE_SIZE,
138
- offset: 0,
139
- orderBy: {
140
- field: "id",
141
- direction: "asc"
142
- }
143
- });
144
- rows.push(...page);
145
- if (page.length < PAGE_SIZE) return rows;
146
- after = page.at(-1)?.id;
147
- }
148
- };
149
- var hydrateRows = async (database, ownerRows) => {
150
- const patchRows = await database.models.bundlePatches.findByBundleIds(ownerRows.map(({ id }) => id));
151
- const ownerIds = new Set(ownerRows.map(({ id }) => id));
152
- const referencedIds = [...new Set(patchRows.map(({ base_bundle_id }) => base_bundle_id).filter((id) => !ownerIds.has(id)))];
153
- return rowsToBundles(ownerRows, patchRows, referencedIds.length === 0 ? [] : await loadBundleRows(database, { id: { in: referencedIds } }));
154
- };
155
- var cursorIdFilter = (cursor, direction) => {
156
- if (cursor?.after) return { [direction === "desc" ? "lt" : "gt"]: cursor.after };
157
- if (cursor?.before) return { [direction === "desc" ? "gt" : "lt"]: cursor.before };
158
- };
159
- var responsePage = async (database, options) => {
160
- validateBundlePagination(options);
161
- const direction = options.orderBy?.direction ?? "desc";
162
- const offset = options.page ? Math.max(0, options.page - 1) * options.limit : 0;
163
- const cursor = options.page ? void 0 : options.cursor;
164
- const queryLimit = cursor ? options.limit + 1 : options.limit;
165
- if (!Number.isSafeInteger(offset) || !Number.isSafeInteger(queryLimit) || !Number.isSafeInteger(offset + queryLimit)) throw new DatabasePluginInputError("invalid-pagination");
166
- const cursorFilter = cursorIdFilter(cursor, direction);
167
- const where = cursorFilter ? mergeIdFilter(options.where, cursorFilter) : options.where;
168
- const queryDirection = cursor?.before ? direction === "desc" ? "asc" : "desc" : direction;
169
- const [queriedRows, total] = await Promise.all([database.models.bundles.findMany({
170
- where,
171
- limit: queryLimit,
172
- offset,
173
- orderBy: {
174
- field: "id",
175
- direction: queryDirection
176
- }
177
- }), database.models.bundles.count(options.where)]);
178
- const hasMore = cursor ? queriedRows.length > options.limit : false;
179
- const pageRows = cursor ? queriedRows.slice(0, options.limit) : queriedRows;
180
- const ownerRows = cursor?.before ? pageRows.toReversed() : pageRows;
181
- const pagination = calculatePagination(total, {
182
- limit: options.limit,
183
- offset
184
- });
185
- const hasPreviousPage = cursor ? Boolean(cursor.after) || hasMore : pagination.hasPreviousPage;
186
- const hasNextPage = cursor ? Boolean(cursor.before) || hasMore : pagination.hasNextPage;
187
- const firstId = ownerRows[0]?.id;
188
- const lastId = ownerRows.at(-1)?.id;
189
- return {
190
- data: await hydrateRows(database, ownerRows),
191
- pagination: {
192
- ...pagination,
193
- hasNextPage,
194
- hasPreviousPage,
195
- ...hasNextPage && lastId ? { nextCursor: lastId } : {},
196
- ...hasPreviousPage && firstId ? { previousCursor: firstId } : {},
197
- ...!firstId && cursor?.after ? { previousCursor: cursor.after } : {},
198
- ...!lastId && cursor?.before ? { nextCursor: cursor.before } : {}
199
- }
200
- };
201
- };
202
- var DatabaseBundleNotFoundError = class extends Error {
203
- bundleId;
204
- name = "DatabaseBundleNotFoundError";
205
- constructor(bundleId) {
206
- super(`Bundle "${bundleId}" was not found.`);
207
- this.bundleId = bundleId;
208
- }
209
- };
210
- var DatabasePatchInsertUnsupportedError = class extends Error {
211
- bundleId;
212
- pluginName;
213
- name = "DatabasePatchInsertUnsupportedError";
214
- constructor(bundleId, pluginName) {
215
- super(`Database plugin "${pluginName}" cannot atomically insert patches for bundle "${bundleId}".`);
216
- this.bundleId = bundleId;
217
- this.pluginName = pluginName;
218
- }
219
- };
220
- var insertChanges = (bundle) => [{
221
- model: "bundles",
222
- operation: "insert",
223
- row: bundleToRow(bundle)
224
- }, ...bundleToPatchRows(bundle).map((row) => ({
225
- model: "bundlePatches",
226
- operation: "insert",
227
- row
228
- }))];
229
- var updateChanges = (bundleId, update) => {
230
- const rowUpdate = bundleUpdateToRow(update);
231
- return [{
232
- model: "bundles",
233
- operation: "update",
234
- where: { id: bundleId },
235
- update: rowUpdate
236
- }, ...Object.hasOwn(update, "patches") ? [{
237
- model: "bundlePatches",
238
- operation: "delete",
239
- where: { bundleId }
240
- }, ...bundleUpdateToPatchRows(bundleId, update).map((row) => ({
241
- model: "bundlePatches",
242
- operation: "insert",
243
- row
244
- }))] : []];
245
- };
246
- var deleteChanges = (bundleId) => [{
247
- model: "bundles",
248
- operation: "delete",
249
- where: { id: bundleId }
250
- }];
251
- var createDatabaseClient = (plugin) => {
252
- const getBundleById = async (id) => {
253
- const row = await plugin.models.bundles.findById(id);
254
- if (!row) return null;
255
- return (await hydrateRows(plugin, [row]))[0] ?? null;
256
- };
257
- const insertChannel = (input) => plugin.models.channels.insert(input);
258
- const createMutationClient = (commit) => ({
259
- getBundleById,
260
- getBundles: (options) => responsePage(plugin, options),
261
- async getChannels() {
262
- return (await plugin.models.channels.list({})).channels;
263
- },
264
- insertChannel,
265
- async insertBundle(bundle) {
266
- try {
267
- await commit(insertChanges(bundle));
268
- } catch (error) {
269
- if (error instanceof DatabaseAtomicCommitUnsupportedError && bundleToPatchRows(bundle).length > 0) throw new DatabasePatchInsertUnsupportedError(bundle.id, plugin.name);
270
- throw error;
271
- }
272
- },
273
- async updateBundleById(bundleId, update) {
274
- try {
275
- if (!(await commit(updateChanges(bundleId, update))).committed) throw new DatabaseBundleNotFoundError(bundleId);
276
- } catch (error) {
277
- if (error instanceof DatabaseAtomicCommitUnsupportedError && Object.hasOwn(update, "patches")) throw new DatabasePatchUpdateUnsupportedError(bundleId, plugin.name);
278
- throw error;
279
- }
280
- },
281
- async deleteBundleById(bundleId) {
282
- const result = await commit(deleteChanges(bundleId));
283
- if (!result.committed && result.conflict.reason === "referenced") throw new DatabaseRowReferencedError();
284
- }
285
- });
286
- const runMutation = async (operation) => {
287
- const changes = [];
288
- const result = await operation(createMutationClient(async (input) => {
289
- changes.push(...input);
290
- return { committed: true };
291
- }));
292
- if (changes.length === 0) return result;
293
- const commitResult = await plugin.commit({ changes });
294
- if (!commitResult.committed) {
295
- const change = changes[commitResult.conflict.changeIndex];
296
- if (commitResult.conflict.reason === "referenced" && change?.model === "bundles" && change.operation === "delete") throw new DatabaseRowReferencedError();
297
- if (change?.model === "bundles" && change.operation === "update") throw new DatabaseBundleNotFoundError(change.where.id);
298
- throw new Error(`Database plugin "${plugin.name}" rejected a commit.`);
299
- }
300
- return result;
301
- };
302
- return {
303
- ...createMutationClient((changes) => plugin.commit({ changes })),
304
- deleteChannel: (input) => plugin.models.channels.delete(input),
305
- mutate: runMutation
306
- };
307
- };
308
- var configPromise = null;
309
- var databaseClient = null;
310
- var hotUpdater = null;
311
- var apiKeyStore = null;
312
- var apiKeyStoreResolved = false;
313
- var storagePluginPromise = null;
314
- var loadCachedConfig = async (request) => {
315
- if (!configPromise) configPromise = resolveConsoleConfig(request).then((config) => ({
316
- ...config,
317
- console: config.console ?? {}
318
- })).catch((error) => {
319
- configPromise = null;
320
- throw error;
321
- });
322
- return configPromise;
323
- };
324
- var loadCachedStoragePlugin = async (config) => {
325
- if (!storagePluginPromise) storagePluginPromise = Promise.resolve(config.storage).then((storagePlugin) => {
326
- assertStorageOperations(storagePlugin, [
327
- "get",
328
- "put",
329
- "exists",
330
- "delete"
331
- ]);
332
- return storagePlugin;
333
- }).catch((error) => {
334
- storagePluginPromise = null;
335
- throw error;
336
- });
337
- return storagePluginPromise;
338
- };
339
- var prepareConfig = async (request = getRequest()) => {
340
- try {
341
- await requireConsoleAccess(request);
342
- const config = await loadCachedConfig(request);
343
- if (!databaseClient) databaseClient = createDatabaseClient(config.database);
344
- if (!hotUpdater) {
345
- const { createRuntimeHotUpdater } = await import("./runtime.server-DacU1TBV.mjs");
346
- hotUpdater = createRuntimeHotUpdater(config);
347
- }
348
- if (!apiKeyStoreResolved) {
349
- const { createApiKeyStore } = await import("./runtime.server-DacU1TBV.mjs");
350
- apiKeyStore = createApiKeyStore(config);
351
- apiKeyStoreResolved = true;
352
- }
353
- const storagePlugin = await loadCachedStoragePlugin(config);
354
- return {
355
- config,
356
- databaseClient,
357
- hotUpdater,
358
- apiKeyStore,
359
- storagePlugin
360
- };
361
- } catch (error) {
362
- if (!(error instanceof Response && (error.status === 401 || error.status === 403))) console.error("Error during configuration initialization:", error);
363
- throw error;
364
- }
365
- };
366
- var isConfigLoaded = () => Boolean(configPromise);
367
- //#endregion
368
- export { isConfigLoaded, prepareConfig };
@@ -1,45 +0,0 @@
1
- //#region node_modules/.nitro/vite/services/ssr/assets/databaseJsonValue-d6I3nAS4.js
2
- var DatabasePluginInputError = class extends Error {
3
- code;
4
- name = "DatabasePluginInputError";
5
- constructor(code) {
6
- super(`Invalid database plugin input: ${code}`);
7
- this.code = code;
8
- }
9
- };
10
- var isDatabaseJsonValue = (value) => {
11
- const ancestors = /* @__PURE__ */ new WeakSet();
12
- const validate = (input) => {
13
- if (input === null || typeof input === "string" || typeof input === "boolean") return true;
14
- if (typeof input === "number") return Number.isFinite(input);
15
- if (typeof input !== "object") return false;
16
- if (ancestors.has(input)) return false;
17
- ancestors.add(input);
18
- try {
19
- if (Array.isArray(input)) {
20
- if (Object.getPrototypeOf(input) !== Array.prototype) return false;
21
- if (Reflect.ownKeys(input).length !== input.length + 1) return false;
22
- for (let index = 0; index < input.length; index += 1) {
23
- const descriptor = Object.getOwnPropertyDescriptor(input, String(index));
24
- if (descriptor === void 0 || !descriptor.enumerable || !("value" in descriptor) || !validate(descriptor.value)) return false;
25
- }
26
- return true;
27
- }
28
- const prototype = Object.getPrototypeOf(input);
29
- if (prototype !== Object.prototype && prototype !== null) return false;
30
- for (const key of Reflect.ownKeys(input)) {
31
- if (typeof key !== "string" || key === "__proto__") return false;
32
- const descriptor = Object.getOwnPropertyDescriptor(input, key);
33
- if (descriptor === void 0 || !descriptor.enumerable || !("value" in descriptor) || !validate(descriptor.value)) return false;
34
- }
35
- return true;
36
- } finally {
37
- ancestors.delete(input);
38
- }
39
- };
40
- return validate(value);
41
- };
42
- var isDatabaseJsonObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value) && isDatabaseJsonValue(value);
43
- var isDatabaseMetadataObject = (value) => isDatabaseJsonObject(value) && (!Object.hasOwn(value, "app_version") || typeof value["app_version"] === "string");
44
- //#endregion
45
- export { isDatabaseMetadataObject as n, DatabasePluginInputError as t };