@hot-updater/console 0.36.7 → 1.0.0-rc.1

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 (262) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/BundleIdDisplay-D4ErdU5_.js +1 -0
  3. package/.output/public/assets/InsightsCapabilityContext-B42VqvP6.js +1 -0
  4. package/.output/public/assets/api-keys-api-DGVTTvTJ.js +1 -0
  5. package/.output/public/assets/api-keys-z16OZIP4.js +1 -0
  6. package/.output/public/assets/badge-Br_KDO0J.js +1 -0
  7. package/.output/public/assets/card-DzuEXvyJ.js +1 -0
  8. package/.output/public/assets/chart-no-axes-combined-FaYMGmQS.js +1 -0
  9. package/.output/public/assets/createServerFn-gM2-LFBy.js +3 -0
  10. package/.output/public/assets/dialog-BeAENgez.js +1 -0
  11. package/.output/public/assets/dist-Bssh_cv0.js +1 -0
  12. package/.output/public/assets/field-Buq148-A.js +1 -0
  13. package/.output/public/assets/index-uOpQAIC4.js +10 -0
  14. package/.output/public/assets/input-group-B3p5UpyW.js +1 -0
  15. package/.output/public/assets/insights-DJTr7Ozn.js +1 -0
  16. package/.output/public/assets/insights-api-DVMOoRMS.js +1 -0
  17. package/.output/public/assets/installations-BY64iIAK.js +2 -0
  18. package/.output/public/assets/installations-D5v9i3AL.js +1 -0
  19. package/.output/public/assets/lazyRouteComponent-DKYu5cZJ.js +1 -0
  20. package/.output/public/assets/preload-helper-CQ36nxok.js +1 -0
  21. package/.output/public/assets/refresh-cw-BkbfZ62O.js +1 -0
  22. package/.output/public/assets/routes-BuoI5-Cr.js +2 -0
  23. package/.output/public/assets/routes-C8fvgETO.js +1 -0
  24. package/.output/public/assets/search-qsIDvS2I.js +1 -0
  25. package/.output/public/assets/shield-check-DE_hVuHu.js +1 -0
  26. package/.output/public/assets/signing-mJD88Y4C.js +1 -0
  27. package/.output/public/assets/styles-BZIG7t42.css +2 -0
  28. package/.output/public/assets/table-RamFEclP.js +1 -0
  29. package/.output/public/assets/useCompositeListItem-ChzDqdpc.js +42 -0
  30. package/.output/public/assets/useMutation-JsGVjQMY.js +1 -0
  31. package/.output/public/assets/useOpenInteractionType-Dwfy-SpA.js +1 -0
  32. package/.output/server/__23tanstack-start-server-fn-resolver-Dftxlm2E.mjs +146 -0
  33. package/.output/server/_libs/@base-ui/react+[...].mjs +16124 -0
  34. package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +1554 -0
  35. package/.output/server/_libs/@tanstack/react-router+[...].mjs +41 -10
  36. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +132 -0
  37. package/.output/server/_libs/d3-array.mjs +231 -0
  38. package/.output/server/_libs/d3-color.mjs +330 -0
  39. package/.output/server/_libs/d3-format.mjs +252 -0
  40. package/.output/server/_libs/d3-interpolate.mjs +207 -0
  41. package/.output/server/_libs/d3-path.mjs +77 -0
  42. package/.output/server/_libs/d3-scale+[...].mjs +1907 -0
  43. package/.output/server/_libs/d3-shape.mjs +818 -0
  44. package/.output/server/_libs/decimal.js-light.mjs +884 -0
  45. package/.output/server/_libs/es-toolkit.mjs +1134 -0
  46. package/.output/server/_libs/eventemitter3.mjs +236 -0
  47. package/.output/server/_libs/immer.mjs +532 -0
  48. package/.output/server/_libs/lucide-react.mjs +141 -13
  49. package/.output/server/_libs/next-themes.mjs +2 -2
  50. package/.output/server/_libs/react-redux+[...].mjs +205 -0
  51. package/.output/server/_libs/recharts+[...].mjs +14117 -0
  52. package/.output/server/_libs/sonner.mjs +2 -2
  53. package/.output/server/_libs/tanstack__query-core.mjs +114 -1
  54. package/.output/server/_libs/tanstack__react-query.mjs +3 -4
  55. package/.output/server/_runtime.mjs +10 -1
  56. package/.output/server/_ssr/BundleActivityChart-CWcdPuUn.mjs +288 -0
  57. package/.output/server/_ssr/BundleIdDisplay-BEvB3MvA.mjs +13 -0
  58. package/.output/server/_ssr/InsightsCapabilityContext-Cx8fjm2s.mjs +15 -0
  59. package/.output/server/_ssr/api-keys-CpBqHpuC.mjs +300 -0
  60. package/.output/server/_ssr/api-keys-api-Czkp57UV.mjs +60 -0
  61. package/.output/server/_ssr/api-keys-rpc-BTtMDSoR.mjs +136 -0
  62. package/.output/server/_ssr/api-rpc-BEX8ISai.mjs +1468 -0
  63. package/.output/server/_ssr/auth-BF8mbAgF.mjs +21 -0
  64. package/.output/server/_ssr/auth-rpc-BFMEC-TT.mjs +24 -0
  65. package/.output/server/_ssr/auth.server-DW71WzsD.mjs +47 -0
  66. package/.output/server/_ssr/badge-CpWXQwyF.mjs +26 -0
  67. package/.output/server/_ssr/bundle-signing-rpc-BbCFUQSu.mjs +16 -0
  68. package/.output/server/_ssr/bundle-signing.server-C4NW5mWx.mjs +12 -0
  69. package/.output/server/_ssr/card-Bsc8mRis.mjs +86 -0
  70. package/.output/server/_ssr/config-Dv8qLDZ0.mjs +13 -0
  71. package/.output/server/_ssr/config.server-DQYEr_5X.mjs +361 -0
  72. package/.output/server/_ssr/{createServerFn-DzU0k62V.mjs → createServerFn-B2hcXoPM.mjs} +1 -1
  73. package/.output/server/_ssr/createServerRpc-DB29C_5p.mjs +12 -0
  74. package/.output/server/_ssr/{sidebar-Cv_H0_Jv.mjs → createSsrRpc-DhfrxEjg.mjs} +68 -50
  75. package/.output/server/_ssr/databaseRows-QlCYLi0H.mjs +166 -0
  76. package/.output/server/_ssr/deleteBundle-Cu_XOMt0.mjs +66 -0
  77. package/.output/server/_ssr/dialog-C0vKUp8R.mjs +170 -0
  78. package/.output/server/_ssr/dist-BVSLTpoP.mjs +250 -0
  79. package/.output/server/_ssr/downloadBundle-CNnYxYO2.mjs +24 -0
  80. package/.output/server/_ssr/{empty-plugin-adapters-B4HCzgmM.mjs → empty-plugin-adapters-B5QvGpEl.mjs} +1 -1
  81. package/.output/server/_ssr/field-DASCh-5d.mjs +74 -0
  82. package/.output/server/_ssr/{getBundleChildren-CVtSiH5t.mjs → getBundleChildren-BcRMFoDF.mjs} +10 -18
  83. package/.output/server/_ssr/input-group-etIsBUqv.mjs +288 -0
  84. package/.output/server/_ssr/insights-api-C1F7UreR.mjs +71 -0
  85. package/.output/server/_ssr/insights-input-9fEJF-ZG.mjs +96 -0
  86. package/.output/server/_ssr/insights-rpc-C-8R6kED.mjs +155 -0
  87. package/.output/server/_ssr/insights-ygT_aIfo.mjs +858 -0
  88. package/.output/server/_ssr/installations-DqRT1QTd.mjs +535 -0
  89. package/.output/server/_ssr/installations-K8TCYTYh.mjs +19 -0
  90. package/.output/server/_ssr/router-BxBEvtF1.mjs +513 -0
  91. package/.output/server/_ssr/routes-BC7rn-tf.mjs +37 -0
  92. package/.output/server/_ssr/routes-CM5KAwpB.mjs +2285 -0
  93. package/.output/server/_ssr/runtime.server-la7TRAH_.mjs +527 -0
  94. package/.output/server/_ssr/server-CpzW--lT.mjs +7468 -0
  95. package/.output/server/_ssr/signing-jk4HANnl.mjs +134 -0
  96. package/.output/server/_ssr/ssr.mjs +4 -5740
  97. package/.output/server/_ssr/start-DpViQGnt.mjs +4 -0
  98. package/.output/server/_ssr/table-CU58HeI7.mjs +53 -0
  99. package/.output/server/_ssr/uuidv7-CaKuKXrV.mjs +31 -0
  100. package/.output/server/_tanstack-start-manifest_v-Mz9MmSlD.mjs +103 -0
  101. package/.output/server/index.mjs +229 -47
  102. package/README.md +29 -8
  103. package/lib/index.d.mts +35 -0
  104. package/lib/index.mjs +4 -0
  105. package/lib/vite-internal.mjs +127 -0
  106. package/lib/vite.d.mts +10 -0
  107. package/lib/vite.mjs +5 -0
  108. package/package.json +51 -29
  109. package/public/apple-touch-icon.png +0 -0
  110. package/public/favicon-16x16.png +0 -0
  111. package/public/favicon-32x32.png +0 -0
  112. package/public/favicon.ico +0 -0
  113. package/public/logo.svg +1 -0
  114. package/public/manifest.json +30 -0
  115. package/public/robots.txt +3 -0
  116. package/src/components/AppSidebar.tsx +159 -0
  117. package/src/components/BundleIdDisplay.tsx +18 -0
  118. package/src/components/ChannelBadge.tsx +31 -0
  119. package/src/components/ConsoleAccessPage.tsx +122 -0
  120. package/src/components/EnabledStatusIcon.tsx +54 -0
  121. package/src/components/HashValueDisplay.tsx +85 -0
  122. package/src/components/HotUpdaterLogo.tsx +30 -0
  123. package/src/components/NotFoundPage.tsx +33 -0
  124. package/src/components/PlatformIcon.tsx +39 -0
  125. package/src/components/RolloutPercentageBadge.tsx +28 -0
  126. package/src/components/ThemeProvider.tsx +116 -0
  127. package/src/components/TimestampDisplay.tsx +41 -0
  128. package/src/components/features/api-keys/ApiKeysPage.tsx +377 -0
  129. package/src/components/features/bundles/BundleActivityChart.tsx +193 -0
  130. package/src/components/features/bundles/BundleChildrenPanel.tsx +201 -0
  131. package/src/components/features/bundles/BundleInsightsSummary.tsx +123 -0
  132. package/src/components/features/bundles/BundleMetadata.tsx +136 -0
  133. package/src/components/features/bundles/RolloutCohortsDialog.tsx +201 -0
  134. package/src/components/features/channels/ChannelManagementDialog.tsx +228 -0
  135. package/src/components/features/insights/ActivityChart.tsx +150 -0
  136. package/src/components/features/insights/BundleDistribution.tsx +133 -0
  137. package/src/components/features/insights/BundleSelector.tsx +114 -0
  138. package/src/components/features/insights/InsightsCapabilityContext.tsx +24 -0
  139. package/src/components/features/insights/InsightsControls.tsx +115 -0
  140. package/src/components/features/insights/InsightsErrorAlert.tsx +21 -0
  141. package/src/components/features/insights/InsightsOverview.tsx +208 -0
  142. package/src/components/features/insights/InstallationHistoryCard.tsx +248 -0
  143. package/src/components/features/insights/InstallationMatchesCard.tsx +132 -0
  144. package/src/components/features/insights/InstallationPageHeader.tsx +138 -0
  145. package/src/components/features/insights/InstallationPagination.tsx +48 -0
  146. package/src/components/features/insights/InstallationSearch.tsx +230 -0
  147. package/src/components/features/insights/UpdateOutcomes.tsx +147 -0
  148. package/src/components/features/releases/ReleaseEditorSheet.tsx +879 -0
  149. package/src/components/features/releases/ReleaseStateBadge.tsx +20 -0
  150. package/src/components/features/signing/BundleSigningPage.tsx +139 -0
  151. package/src/components/ui/alert-dialog.tsx +185 -0
  152. package/src/components/ui/alert.tsx +76 -0
  153. package/src/components/ui/badge.tsx +49 -0
  154. package/src/components/ui/button.tsx +58 -0
  155. package/src/components/ui/card.tsx +89 -0
  156. package/src/components/ui/chart.tsx +371 -0
  157. package/src/components/ui/combobox.tsx +303 -0
  158. package/src/components/ui/dialog.tsx +156 -0
  159. package/src/components/ui/dropdown-menu.tsx +270 -0
  160. package/src/components/ui/field.tsx +235 -0
  161. package/src/components/ui/input-group.tsx +147 -0
  162. package/src/components/ui/input.tsx +19 -0
  163. package/src/components/ui/label.tsx +25 -0
  164. package/src/components/ui/progress.tsx +84 -0
  165. package/src/components/ui/select.tsx +205 -0
  166. package/src/components/ui/separator.tsx +23 -0
  167. package/src/components/ui/sheet.tsx +132 -0
  168. package/src/components/ui/sidebar.tsx +779 -0
  169. package/src/components/ui/skeleton.tsx +13 -0
  170. package/src/components/ui/slider.tsx +56 -0
  171. package/src/components/ui/sonner.tsx +45 -0
  172. package/src/components/ui/switch.tsx +25 -0
  173. package/src/components/ui/table.tsx +114 -0
  174. package/src/components/ui/textarea.tsx +18 -0
  175. package/src/components/ui/toggle-group.tsx +89 -0
  176. package/src/components/ui/toggle.tsx +43 -0
  177. package/src/components/ui/tooltip.tsx +66 -0
  178. package/src/hooks/use-mobile.ts +30 -0
  179. package/src/index.ts +47 -0
  180. package/src/lib/api-keys-api.ts +69 -0
  181. package/src/lib/api-keys-rpc.ts +87 -0
  182. package/src/lib/api-rpc.ts +478 -0
  183. package/src/lib/api.ts +444 -0
  184. package/src/lib/auth-rpc.ts +16 -0
  185. package/src/lib/bundle-signing-api.ts +14 -0
  186. package/src/lib/bundle-signing-rpc.ts +16 -0
  187. package/src/lib/constants.ts +1 -0
  188. package/src/lib/git.ts +51 -0
  189. package/src/lib/insights-api.ts +144 -0
  190. package/src/lib/insights-error.ts +19 -0
  191. package/src/lib/insights-input.ts +187 -0
  192. package/src/lib/insights-overview.ts +170 -0
  193. package/src/lib/insights-rpc.ts +218 -0
  194. package/src/lib/server/auth.server.ts +43 -0
  195. package/src/lib/server/bundle-signing.server.ts +23 -0
  196. package/src/lib/server/config.server.ts +109 -0
  197. package/src/lib/server/console-runtime.server.ts +61 -0
  198. package/src/lib/server/deleteBundle.ts +145 -0
  199. package/src/lib/server/downloadBundle.ts +46 -0
  200. package/src/lib/server/getBundleChildren.ts +130 -0
  201. package/src/lib/server/listReleases.ts +61 -0
  202. package/src/lib/server/releaseActivity.ts +27 -0
  203. package/src/lib/server/releaseReachability.ts +95 -0
  204. package/src/lib/server/runtime.server.ts +172 -0
  205. package/src/lib/utils.ts +9 -0
  206. package/src/logo.svg +1 -0
  207. package/src/routeTree.gen.ts +199 -0
  208. package/src/router.tsx +21 -0
  209. package/src/routes/-installations-search.ts +19 -0
  210. package/src/routes/-releases-search.ts +74 -0
  211. package/src/routes/__root.tsx +174 -0
  212. package/src/routes/api/auth/$.ts +19 -0
  213. package/src/routes/api/bundles/$bundleId/download.ts +17 -0
  214. package/src/routes/api-keys.tsx +37 -0
  215. package/src/routes/index.tsx +982 -0
  216. package/src/routes/insights.tsx +139 -0
  217. package/src/routes/installations.tsx +194 -0
  218. package/src/routes/signing.tsx +37 -0
  219. package/src/styles.css +152 -0
  220. package/src/virtual-modules.d.ts +21 -0
  221. package/src/vite-env.d.ts +1 -0
  222. package/src/vite-internal.ts +195 -0
  223. package/src/vite.ts +12 -0
  224. package/.output/public/assets/dist-DJX53faP.js +0 -3
  225. package/.output/public/assets/index-Iylis5kY.js +0 -10
  226. package/.output/public/assets/routes-HT21hs0C.js +0 -54
  227. package/.output/public/assets/styles-C0Re4quB.css +0 -2
  228. package/.output/server/__23tanstack-start-server-fn-resolver-CgwgZ0-i.mjs +0 -66
  229. package/.output/server/_libs/@floating-ui/core+[...].mjs +0 -698
  230. package/.output/server/_libs/@floating-ui/dom+[...].mjs +0 -644
  231. package/.output/server/_libs/@floating-ui/react-dom+[...].mjs +0 -839
  232. package/.output/server/_libs/@radix-ui/react-alert-dialog+[...].mjs +0 -2138
  233. package/.output/server/_libs/@radix-ui/react-popper+[...].mjs +0 -308
  234. package/.output/server/_libs/@radix-ui/react-select+[...].mjs +0 -1038
  235. package/.output/server/_libs/@tanstack/devtools-event-client+[...].mjs +0 -196
  236. package/.output/server/_libs/@tanstack/form-core+[...].mjs +0 -3228
  237. package/.output/server/_libs/@tanstack/react-form+[...].mjs +0 -430
  238. package/.output/server/_libs/@tanstack/react-table+[...].mjs +0 -2382
  239. package/.output/server/_libs/radix-ui__number.mjs +0 -6
  240. package/.output/server/_libs/radix-ui__primitive.mjs +0 -9
  241. package/.output/server/_libs/radix-ui__react-arrow.mjs +0 -23
  242. package/.output/server/_libs/radix-ui__react-collection.mjs +0 -78
  243. package/.output/server/_libs/radix-ui__react-direction.mjs +0 -13
  244. package/.output/server/_libs/radix-ui__react-label.mjs +0 -22
  245. package/.output/server/_libs/radix-ui__react-separator.mjs +0 -30
  246. package/.output/server/_libs/radix-ui__react-slider.mjs +0 -510
  247. package/.output/server/_libs/radix-ui__react-switch.mjs +0 -157
  248. package/.output/server/_libs/radix-ui__react-tooltip.mjs +0 -493
  249. package/.output/server/_ssr/api-rpc-BIbDUKSz.mjs +0 -292
  250. package/.output/server/_ssr/config.server-BSS366KT.mjs +0 -41
  251. package/.output/server/_ssr/deleteBundle-BgbZTtpW.mjs +0 -141
  252. package/.output/server/_ssr/dist-KboydRVk.mjs +0 -120
  253. package/.output/server/_ssr/router-C3hqEy3k.mjs +0 -307
  254. package/.output/server/_ssr/routes-B0lQvvlC.mjs +0 -3048
  255. package/.output/server/_ssr/start-02sLteYG.mjs +0 -4
  256. package/.output/server/_ssr/storageProfile-FVkjPoGb.mjs +0 -9
  257. package/.output/server/_tanstack-start-manifest_v-Bpx52WOU.mjs +0 -20
  258. package/.output/server/node_modules/tslib/modules/index.js +0 -70
  259. package/.output/server/node_modules/tslib/modules/package.json +0 -3
  260. package/.output/server/node_modules/tslib/package.json +0 -47
  261. package/.output/server/node_modules/tslib/tslib.js +0 -484
  262. package/.output/server/package.json +0 -9
@@ -0,0 +1,4 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/start-DpViQGnt.js
2
+ var startInstance = void 0;
3
+ //#endregion
4
+ export { startInstance };
@@ -0,0 +1,53 @@
1
+ import "../_runtime.mjs";
2
+ import { at as require_react, it as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
+ import { C as cn } from "./createSsrRpc-DhfrxEjg.mjs";
4
+ require_react();
5
+ var import_jsx_runtime = require_jsx_runtime();
6
+ function Table({ className, ...props }) {
7
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
8
+ "data-slot": "table-container",
9
+ className: "relative w-full overflow-x-auto",
10
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("table", {
11
+ "data-slot": "table",
12
+ className: cn("w-full caption-bottom text-xs", className),
13
+ ...props
14
+ })
15
+ });
16
+ }
17
+ function TableHeader({ className, ...props }) {
18
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("thead", {
19
+ "data-slot": "table-header",
20
+ className: cn("[&_tr]:border-b", className),
21
+ ...props
22
+ });
23
+ }
24
+ function TableBody({ className, ...props }) {
25
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tbody", {
26
+ "data-slot": "table-body",
27
+ className: cn("[&_tr:last-child]:border-0", className),
28
+ ...props
29
+ });
30
+ }
31
+ function TableRow({ className, ...props }) {
32
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("tr", {
33
+ "data-slot": "table-row",
34
+ className: cn("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors", className),
35
+ ...props
36
+ });
37
+ }
38
+ function TableHead({ className, ...props }) {
39
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("th", {
40
+ "data-slot": "table-head",
41
+ className: cn("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
42
+ ...props
43
+ });
44
+ }
45
+ function TableCell({ className, ...props }) {
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("td", {
47
+ "data-slot": "table-cell",
48
+ className: cn("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0", className),
49
+ ...props
50
+ });
51
+ }
52
+ //#endregion
53
+ export { TableHeader as a, TableHead as i, TableBody as n, TableRow as o, TableCell as r, Table as t };
@@ -0,0 +1,31 @@
1
+ import { x as isUUIDv7 } from "./dist-BVSLTpoP.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/uuidv7-CaKuKXrV.js
3
+ var extractTimestampFromUUIDv7 = (uuid) => {
4
+ if (!isUUIDv7(uuid)) throw new TypeError("Expected a canonical lowercase UUIDv7");
5
+ const timestampHex = uuid.split("-").join("").slice(0, 12);
6
+ return Number.parseInt(timestampHex, 16);
7
+ };
8
+ function createUUIDv7FromTimestampHex(timestampHex) {
9
+ const randomBytes = new Uint8Array(10);
10
+ crypto.getRandomValues(randomBytes);
11
+ const randomHex = Array.from(randomBytes).map((b) => b.toString(16).padStart(2, "0")).join("");
12
+ const randA = randomHex.slice(0, 3);
13
+ const randBHex = randomHex.slice(3, 19);
14
+ const versionAndRandA = `7${randA}`;
15
+ const variantAndFirstRandB = (128 | parseInt(randBHex.slice(0, 2), 16) & 63).toString(16).padStart(2, "0");
16
+ return [
17
+ timestampHex.slice(0, 8),
18
+ timestampHex.slice(8, 12),
19
+ versionAndRandA,
20
+ variantAndFirstRandB + randBHex.slice(2, 4),
21
+ randBHex.slice(4, 16)
22
+ ].join("-");
23
+ }
24
+ var createUUIDv7 = () => createUUIDv7FromTimestampHex(Date.now().toString(16).padStart(12, "0"));
25
+ var createUUIDv7After = (floor, nowMs = Date.now()) => {
26
+ const timestamp = Math.max(nowMs, floor === null ? 0 : extractTimestampFromUUIDv7(floor) + 1);
27
+ if (!Number.isSafeInteger(timestamp) || timestamp < 0 || timestamp >= 2 ** 48) throw new RangeError("UUIDv7 timestamp is out of range");
28
+ return createUUIDv7FromTimestampHex(timestamp.toString(16).padStart(12, "0"));
29
+ };
30
+ //#endregion
31
+ export { createUUIDv7After as n, extractTimestampFromUUIDv7 as r, createUUIDv7 as t };
@@ -0,0 +1,103 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-Mz9MmSlD.js
2
+ var tsrStartManifest = () => ({ routes: {
3
+ __root__: {
4
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/__root.tsx",
5
+ children: [
6
+ "/",
7
+ "/api-keys",
8
+ "/insights",
9
+ "/installations",
10
+ "/signing",
11
+ "/api/auth/$",
12
+ "/api/bundles/$bundleId/download"
13
+ ],
14
+ preloads: [
15
+ "/assets/index-uOpQAIC4.js",
16
+ "/assets/createServerFn-gM2-LFBy.js",
17
+ "/assets/preload-helper-CQ36nxok.js",
18
+ "/assets/useMutation-JsGVjQMY.js",
19
+ "/assets/lazyRouteComponent-DKYu5cZJ.js",
20
+ "/assets/InsightsCapabilityContext-B42VqvP6.js",
21
+ "/assets/chart-no-axes-combined-FaYMGmQS.js",
22
+ "/assets/shield-check-DE_hVuHu.js",
23
+ "/assets/api-keys-api-DGVTTvTJ.js",
24
+ "/assets/dist-Bssh_cv0.js",
25
+ "/assets/routes-BuoI5-Cr.js",
26
+ "/assets/insights-api-DVMOoRMS.js",
27
+ "/assets/installations-BY64iIAK.js"
28
+ ],
29
+ scripts: [{ attrs: {
30
+ type: "module",
31
+ async: !0,
32
+ src: "/assets/index-uOpQAIC4.js"
33
+ } }]
34
+ },
35
+ "/": {
36
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/index.tsx",
37
+ children: void 0,
38
+ preloads: [
39
+ "/assets/routes-C8fvgETO.js",
40
+ "/assets/dialog-BeAENgez.js",
41
+ "/assets/useCompositeListItem-ChzDqdpc.js",
42
+ "/assets/useOpenInteractionType-Dwfy-SpA.js",
43
+ "/assets/field-Buq148-A.js",
44
+ "/assets/BundleIdDisplay-D4ErdU5_.js",
45
+ "/assets/card-DzuEXvyJ.js",
46
+ "/assets/badge-Br_KDO0J.js",
47
+ "/assets/input-group-B3p5UpyW.js",
48
+ "/assets/table-RamFEclP.js"
49
+ ]
50
+ },
51
+ "/api-keys": {
52
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/api-keys.tsx",
53
+ children: void 0,
54
+ preloads: [
55
+ "/assets/api-keys-z16OZIP4.js",
56
+ "/assets/dialog-BeAENgez.js",
57
+ "/assets/field-Buq148-A.js",
58
+ "/assets/refresh-cw-BkbfZ62O.js",
59
+ "/assets/card-DzuEXvyJ.js",
60
+ "/assets/badge-Br_KDO0J.js",
61
+ "/assets/table-RamFEclP.js"
62
+ ]
63
+ },
64
+ "/insights": {
65
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/insights.tsx",
66
+ children: void 0,
67
+ preloads: [
68
+ "/assets/insights-DJTr7Ozn.js",
69
+ "/assets/useCompositeListItem-ChzDqdpc.js",
70
+ "/assets/useOpenInteractionType-Dwfy-SpA.js",
71
+ "/assets/field-Buq148-A.js",
72
+ "/assets/search-qsIDvS2I.js",
73
+ "/assets/card-DzuEXvyJ.js",
74
+ "/assets/input-group-B3p5UpyW.js"
75
+ ]
76
+ },
77
+ "/installations": {
78
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/installations.tsx",
79
+ children: void 0,
80
+ preloads: [
81
+ "/assets/installations-D5v9i3AL.js",
82
+ "/assets/field-Buq148-A.js",
83
+ "/assets/search-qsIDvS2I.js",
84
+ "/assets/BundleIdDisplay-D4ErdU5_.js",
85
+ "/assets/card-DzuEXvyJ.js",
86
+ "/assets/badge-Br_KDO0J.js",
87
+ "/assets/input-group-B3p5UpyW.js",
88
+ "/assets/table-RamFEclP.js"
89
+ ]
90
+ },
91
+ "/signing": {
92
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/signing.tsx",
93
+ children: void 0,
94
+ preloads: [
95
+ "/assets/signing-mJD88Y4C.js",
96
+ "/assets/refresh-cw-BkbfZ62O.js",
97
+ "/assets/card-DzuEXvyJ.js",
98
+ "/assets/badge-Br_KDO0J.js"
99
+ ]
100
+ }
101
+ } });
102
+ //#endregion
103
+ export { tsrStartManifest };
@@ -14,128 +14,310 @@ var public_assets_data_default = {
14
14
  "/apple-touch-icon.png": {
15
15
  "type": "image/png",
16
16
  "etag": "\"329e-uyxOmLQHjRnOIdaE3FE7O/uZ9l4\"",
17
- "mtime": "2026-08-30T13:36:18.568Z",
17
+ "mtime": "2026-08-31T11:14:18.833Z",
18
18
  "size": 12958,
19
19
  "path": "../public/apple-touch-icon.png"
20
20
  },
21
- "/favicon-16x16.png": {
22
- "type": "image/png",
23
- "etag": "\"240-h6ktCVLfjIcsDJuLwUXP4nCJxlI\"",
24
- "mtime": "2026-08-30T13:36:18.568Z",
25
- "size": 576,
26
- "path": "../public/favicon-16x16.png"
27
- },
28
21
  "/favicon-32x32.png": {
29
22
  "type": "image/png",
30
23
  "etag": "\"4f0-0qQrV3Eq3PzIigrp+8htf8vFCYA\"",
31
- "mtime": "2026-08-30T13:36:18.568Z",
24
+ "mtime": "2026-08-31T11:14:18.833Z",
32
25
  "size": 1264,
33
26
  "path": "../public/favicon-32x32.png"
34
27
  },
35
- "/logo.svg": {
36
- "type": "image/svg+xml",
37
- "etag": "\"478-zKvD9Jp5dDLCBmng0McewYMBxfs\"",
38
- "mtime": "2026-08-30T13:36:18.571Z",
39
- "size": 1144,
40
- "path": "../public/logo.svg"
28
+ "/favicon-16x16.png": {
29
+ "type": "image/png",
30
+ "etag": "\"240-h6ktCVLfjIcsDJuLwUXP4nCJxlI\"",
31
+ "mtime": "2026-08-31T11:14:18.833Z",
32
+ "size": 576,
33
+ "path": "../public/favicon-16x16.png"
41
34
  },
42
35
  "/favicon.ico": {
43
36
  "type": "image/vnd.microsoft.icon",
44
37
  "etag": "\"3c2e-eMwmbJNNg6G+Uu+rqWtuvtI2Om4\"",
45
- "mtime": "2026-08-30T13:36:18.568Z",
38
+ "mtime": "2026-08-31T11:14:18.834Z",
46
39
  "size": 15406,
47
40
  "path": "../public/favicon.ico"
48
41
  },
42
+ "/logo.svg": {
43
+ "type": "image/svg+xml",
44
+ "etag": "\"478-zKvD9Jp5dDLCBmng0McewYMBxfs\"",
45
+ "mtime": "2026-08-31T11:14:18.834Z",
46
+ "size": 1144,
47
+ "path": "../public/logo.svg"
48
+ },
49
49
  "/manifest.json": {
50
50
  "type": "application/json",
51
51
  "etag": "\"258-CQdbkGDhbZhU+yrcSXanXKWFEpw\"",
52
- "mtime": "2026-08-30T13:36:18.571Z",
52
+ "mtime": "2026-08-31T11:14:18.834Z",
53
53
  "size": 600,
54
54
  "path": "../public/manifest.json"
55
55
  },
56
56
  "/robots.txt": {
57
57
  "type": "text/plain; charset=utf-8",
58
58
  "etag": "\"43-BEzmj4PuhUNHX+oW9uOnPSihxtU\"",
59
- "mtime": "2026-08-30T13:36:18.571Z",
59
+ "mtime": "2026-08-31T11:14:18.834Z",
60
60
  "size": 67,
61
61
  "path": "../public/robots.txt"
62
62
  },
63
- "/assets/dist-DJX53faP.js": {
63
+ "/assets/BundleIdDisplay-D4ErdU5_.js": {
64
+ "type": "text/javascript; charset=utf-8",
65
+ "etag": "\"e6-6qI4ZW76WiHEdL86QGl4bdwZCnA\"",
66
+ "mtime": "2026-08-31T11:14:16.797Z",
67
+ "size": 230,
68
+ "path": "../public/assets/BundleIdDisplay-D4ErdU5_.js"
69
+ },
70
+ "/assets/api-keys-api-DGVTTvTJ.js": {
71
+ "type": "text/javascript; charset=utf-8",
72
+ "etag": "\"584-qOH+HHKnZ9h5Ra85OpwaTfk7RAA\"",
73
+ "mtime": "2026-08-31T11:14:16.797Z",
74
+ "size": 1412,
75
+ "path": "../public/assets/api-keys-api-DGVTTvTJ.js"
76
+ },
77
+ "/assets/InsightsCapabilityContext-B42VqvP6.js": {
78
+ "type": "text/javascript; charset=utf-8",
79
+ "etag": "\"3e5-zLCa+wU1bZuDUCFzDftYXu0EmsM\"",
80
+ "mtime": "2026-08-31T11:14:16.797Z",
81
+ "size": 997,
82
+ "path": "../public/assets/InsightsCapabilityContext-B42VqvP6.js"
83
+ },
84
+ "/assets/api-keys-z16OZIP4.js": {
85
+ "type": "text/javascript; charset=utf-8",
86
+ "etag": "\"1f18-dc04Fau/wmOBifn2ntC0/cV5ggM\"",
87
+ "mtime": "2026-08-31T11:14:16.797Z",
88
+ "size": 7960,
89
+ "path": "../public/assets/api-keys-z16OZIP4.js"
90
+ },
91
+ "/assets/badge-Br_KDO0J.js": {
92
+ "type": "text/javascript; charset=utf-8",
93
+ "etag": "\"331-JAVWDOvuNOIyI+2FdFv1KC4YfK8\"",
94
+ "mtime": "2026-08-31T11:14:16.797Z",
95
+ "size": 817,
96
+ "path": "../public/assets/badge-Br_KDO0J.js"
97
+ },
98
+ "/assets/chart-no-axes-combined-FaYMGmQS.js": {
99
+ "type": "text/javascript; charset=utf-8",
100
+ "etag": "\"17b-3/z2qOwf8ES/9aa5zPymhtl8jao\"",
101
+ "mtime": "2026-08-31T11:14:16.797Z",
102
+ "size": 379,
103
+ "path": "../public/assets/chart-no-axes-combined-FaYMGmQS.js"
104
+ },
105
+ "/assets/card-DzuEXvyJ.js": {
106
+ "type": "text/javascript; charset=utf-8",
107
+ "etag": "\"8e8-xTnODpNZtpne8PyHC2mg3ee3aUU\"",
108
+ "mtime": "2026-08-31T11:14:16.797Z",
109
+ "size": 2280,
110
+ "path": "../public/assets/card-DzuEXvyJ.js"
111
+ },
112
+ "/assets/createServerFn-gM2-LFBy.js": {
113
+ "type": "text/javascript; charset=utf-8",
114
+ "etag": "\"345e0-PWPf+cNZr6ttdG30mmDkTDLi128\"",
115
+ "mtime": "2026-08-31T11:14:16.797Z",
116
+ "size": 214496,
117
+ "path": "../public/assets/createServerFn-gM2-LFBy.js"
118
+ },
119
+ "/assets/dist-Bssh_cv0.js": {
120
+ "type": "text/javascript; charset=utf-8",
121
+ "etag": "\"7f84-qqWcS1hTNoNF+HHZrzznUP5BLfo\"",
122
+ "mtime": "2026-08-31T11:14:16.797Z",
123
+ "size": 32644,
124
+ "path": "../public/assets/dist-Bssh_cv0.js"
125
+ },
126
+ "/assets/dialog-BeAENgez.js": {
127
+ "type": "text/javascript; charset=utf-8",
128
+ "etag": "\"36eb-2k4baazSStZ0RGdbyOcrlmRmuKk\"",
129
+ "mtime": "2026-08-31T11:14:16.797Z",
130
+ "size": 14059,
131
+ "path": "../public/assets/dialog-BeAENgez.js"
132
+ },
133
+ "/assets/input-group-B3p5UpyW.js": {
134
+ "type": "text/javascript; charset=utf-8",
135
+ "etag": "\"243b-misLsgRTsFss3T6X+A+iTPR9kzE\"",
136
+ "mtime": "2026-08-31T11:14:16.798Z",
137
+ "size": 9275,
138
+ "path": "../public/assets/input-group-B3p5UpyW.js"
139
+ },
140
+ "/assets/insights-DJTr7Ozn.js": {
141
+ "type": "text/javascript; charset=utf-8",
142
+ "etag": "\"f214-oOUn0IFxiLz8MkwHFC5fl07zrXo\"",
143
+ "mtime": "2026-08-31T11:14:16.798Z",
144
+ "size": 61972,
145
+ "path": "../public/assets/insights-DJTr7Ozn.js"
146
+ },
147
+ "/assets/field-Buq148-A.js": {
148
+ "type": "text/javascript; charset=utf-8",
149
+ "etag": "\"c20-j07zsvMkeeRDmXfaTerkZ1pH5Qk\"",
150
+ "mtime": "2026-08-31T11:14:16.798Z",
151
+ "size": 3104,
152
+ "path": "../public/assets/field-Buq148-A.js"
153
+ },
154
+ "/assets/insights-api-DVMOoRMS.js": {
155
+ "type": "text/javascript; charset=utf-8",
156
+ "etag": "\"772-iXohUoIP4fbDNiHIXlJBNXwM4gM\"",
157
+ "mtime": "2026-08-31T11:14:16.798Z",
158
+ "size": 1906,
159
+ "path": "../public/assets/insights-api-DVMOoRMS.js"
160
+ },
161
+ "/assets/index-uOpQAIC4.js": {
162
+ "type": "text/javascript; charset=utf-8",
163
+ "etag": "\"40f7a-AdyzBwXOeozKrb+vSDHMrHCAeSM\"",
164
+ "mtime": "2026-08-31T11:14:16.796Z",
165
+ "size": 266106,
166
+ "path": "../public/assets/index-uOpQAIC4.js"
167
+ },
168
+ "/assets/installations-BY64iIAK.js": {
169
+ "type": "text/javascript; charset=utf-8",
170
+ "etag": "\"4e6-xVj7tH5fNgP7nCbrivfBqAVZROo\"",
171
+ "mtime": "2026-08-31T11:14:16.798Z",
172
+ "size": 1254,
173
+ "path": "../public/assets/installations-BY64iIAK.js"
174
+ },
175
+ "/assets/installations-D5v9i3AL.js": {
64
176
  "type": "text/javascript; charset=utf-8",
65
- "etag": "\"2f040-7YsjRPYPOzs727quwj97y+YTXIY\"",
66
- "mtime": "2026-08-30T13:36:17.496Z",
67
- "size": 192576,
68
- "path": "../public/assets/dist-DJX53faP.js"
177
+ "etag": "\"32db-zkm8cWuF1N0xDshzZLutuFKYoAo\"",
178
+ "mtime": "2026-08-31T11:14:16.798Z",
179
+ "size": 13019,
180
+ "path": "../public/assets/installations-D5v9i3AL.js"
69
181
  },
70
182
  "/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2": {
71
183
  "type": "font/woff2",
72
184
  "etag": "\"6568-cF1iUGbboMFZ8TfnP5HiMgl9II0\"",
73
- "mtime": "2026-08-30T13:36:17.496Z",
185
+ "mtime": "2026-08-31T11:14:16.799Z",
74
186
  "size": 25960,
75
187
  "path": "../public/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2"
76
188
  },
77
189
  "/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2": {
78
190
  "type": "font/woff2",
79
191
  "etag": "\"493c-n3Oy9D6jvzfMjpClqox+Zo7ERQQ\"",
80
- "mtime": "2026-08-30T13:36:17.496Z",
192
+ "mtime": "2026-08-31T11:14:16.799Z",
81
193
  "size": 18748,
82
194
  "path": "../public/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2"
83
195
  },
84
- "/assets/index-Iylis5kY.js": {
85
- "type": "text/javascript; charset=utf-8",
86
- "etag": "\"448c7-Y0mf8ainq/iep6OX+wNwaKsdLSc\"",
87
- "mtime": "2026-08-30T13:36:17.495Z",
88
- "size": 280775,
89
- "path": "../public/assets/index-Iylis5kY.js"
90
- },
91
196
  "/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2": {
92
197
  "type": "font/woff2",
93
198
  "etag": "\"2be0-BP5iTzJeB8nLqYAgKpWNi5o1Zm8\"",
94
- "mtime": "2026-08-30T13:36:17.496Z",
199
+ "mtime": "2026-08-31T11:14:16.799Z",
95
200
  "size": 11232,
96
201
  "path": "../public/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2"
97
202
  },
98
203
  "/assets/inter-greek-wght-normal-CkhJZR-_.woff2": {
99
204
  "type": "font/woff2",
100
205
  "etag": "\"4a34-xor/hj4YNqI52zFecXnUbzQ4Xs4\"",
101
- "mtime": "2026-08-30T13:36:17.496Z",
206
+ "mtime": "2026-08-31T11:14:16.799Z",
102
207
  "size": 18996,
103
208
  "path": "../public/assets/inter-greek-wght-normal-CkhJZR-_.woff2"
104
209
  },
105
210
  "/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2": {
106
211
  "type": "font/woff2",
107
212
  "etag": "\"14c4c-zz61D7IQFMB9QxHvTAOk/Vh4ibQ\"",
108
- "mtime": "2026-08-30T13:36:17.496Z",
213
+ "mtime": "2026-08-31T11:14:16.799Z",
109
214
  "size": 85068,
110
215
  "path": "../public/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2"
111
216
  },
112
217
  "/assets/inter-latin-wght-normal-Dx4kXJAl.woff2": {
113
218
  "type": "font/woff2",
114
219
  "etag": "\"bc80-8R1ym7Ck2DUNLqPQ/AYs9u8tUpg\"",
115
- "mtime": "2026-08-30T13:36:17.496Z",
220
+ "mtime": "2026-08-31T11:14:16.799Z",
116
221
  "size": 48256,
117
222
  "path": "../public/assets/inter-latin-wght-normal-Dx4kXJAl.woff2"
118
223
  },
119
224
  "/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2": {
120
225
  "type": "font/woff2",
121
226
  "etag": "\"280c-nBythjoDQ0+5wVAendJ6wU7Xz2M\"",
122
- "mtime": "2026-08-30T13:36:17.496Z",
227
+ "mtime": "2026-08-31T11:14:16.799Z",
123
228
  "size": 10252,
124
229
  "path": "../public/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2"
125
230
  },
126
- "/assets/routes-HT21hs0C.js": {
231
+ "/assets/lazyRouteComponent-DKYu5cZJ.js": {
232
+ "type": "text/javascript; charset=utf-8",
233
+ "etag": "\"6378-27w37T9s02hw104+ES3NhOvU9VY\"",
234
+ "mtime": "2026-08-31T11:14:16.798Z",
235
+ "size": 25464,
236
+ "path": "../public/assets/lazyRouteComponent-DKYu5cZJ.js"
237
+ },
238
+ "/assets/preload-helper-CQ36nxok.js": {
239
+ "type": "text/javascript; charset=utf-8",
240
+ "etag": "\"4a9-jUfFKCyfaRG0LCmrRFreK8BlWnM\"",
241
+ "mtime": "2026-08-31T11:14:16.798Z",
242
+ "size": 1193,
243
+ "path": "../public/assets/preload-helper-CQ36nxok.js"
244
+ },
245
+ "/assets/refresh-cw-BkbfZ62O.js": {
246
+ "type": "text/javascript; charset=utf-8",
247
+ "etag": "\"140-oDf100LoA13GycsYhwbGWE9fdh0\"",
248
+ "mtime": "2026-08-31T11:14:16.798Z",
249
+ "size": 320,
250
+ "path": "../public/assets/refresh-cw-BkbfZ62O.js"
251
+ },
252
+ "/assets/routes-BuoI5-Cr.js": {
253
+ "type": "text/javascript; charset=utf-8",
254
+ "etag": "\"782-EOfF6ivjWslRLV23PQixUkWTxLY\"",
255
+ "mtime": "2026-08-31T11:14:16.798Z",
256
+ "size": 1922,
257
+ "path": "../public/assets/routes-BuoI5-Cr.js"
258
+ },
259
+ "/assets/search-qsIDvS2I.js": {
260
+ "type": "text/javascript; charset=utf-8",
261
+ "etag": "\"ad-8AEmrQPWDhsdcta8jRdR+IWjihY\"",
262
+ "mtime": "2026-08-31T11:14:16.798Z",
263
+ "size": 173,
264
+ "path": "../public/assets/search-qsIDvS2I.js"
265
+ },
266
+ "/assets/shield-check-DE_hVuHu.js": {
267
+ "type": "text/javascript; charset=utf-8",
268
+ "etag": "\"249-tdcR4ljkuIYCkdbeV9WYH1KpSlM\"",
269
+ "mtime": "2026-08-31T11:14:16.798Z",
270
+ "size": 585,
271
+ "path": "../public/assets/shield-check-DE_hVuHu.js"
272
+ },
273
+ "/assets/routes-C8fvgETO.js": {
274
+ "type": "text/javascript; charset=utf-8",
275
+ "etag": "\"1eec1-OHhVtf5rtyMbzzY3q30B9h9kiGc\"",
276
+ "mtime": "2026-08-31T11:14:16.798Z",
277
+ "size": 126657,
278
+ "path": "../public/assets/routes-C8fvgETO.js"
279
+ },
280
+ "/assets/signing-mJD88Y4C.js": {
281
+ "type": "text/javascript; charset=utf-8",
282
+ "etag": "\"111d-vUWMFahNO3G6lNMi6ZaWQbIcJGQ\"",
283
+ "mtime": "2026-08-31T11:14:16.798Z",
284
+ "size": 4381,
285
+ "path": "../public/assets/signing-mJD88Y4C.js"
286
+ },
287
+ "/assets/table-RamFEclP.js": {
288
+ "type": "text/javascript; charset=utf-8",
289
+ "etag": "\"48f-Q2l3v7iHGEUEzQKkYiQb5i1W9W8\"",
290
+ "mtime": "2026-08-31T11:14:16.798Z",
291
+ "size": 1167,
292
+ "path": "../public/assets/table-RamFEclP.js"
293
+ },
294
+ "/assets/useCompositeListItem-ChzDqdpc.js": {
295
+ "type": "text/javascript; charset=utf-8",
296
+ "etag": "\"596ce-cbnt7i658RDk4nf33v8JWDHF/gQ\"",
297
+ "mtime": "2026-08-31T11:14:16.798Z",
298
+ "size": 366286,
299
+ "path": "../public/assets/useCompositeListItem-ChzDqdpc.js"
300
+ },
301
+ "/assets/useMutation-JsGVjQMY.js": {
302
+ "type": "text/javascript; charset=utf-8",
303
+ "etag": "\"15a2-m5vo8BxNWdSvgQcF/XQeCw18d3o\"",
304
+ "mtime": "2026-08-31T11:14:16.799Z",
305
+ "size": 5538,
306
+ "path": "../public/assets/useMutation-JsGVjQMY.js"
307
+ },
308
+ "/assets/useOpenInteractionType-Dwfy-SpA.js": {
127
309
  "type": "text/javascript; charset=utf-8",
128
- "etag": "\"42aff-ijr0WyUxqj3KtRhkJOrtK4xE8RY\"",
129
- "mtime": "2026-08-30T13:36:17.496Z",
130
- "size": 273151,
131
- "path": "../public/assets/routes-HT21hs0C.js"
310
+ "etag": "\"423f-1juWdtb+HZsRFNHBnNZdRrzwSuU\"",
311
+ "mtime": "2026-08-31T11:14:16.799Z",
312
+ "size": 16959,
313
+ "path": "../public/assets/useOpenInteractionType-Dwfy-SpA.js"
132
314
  },
133
- "/assets/styles-C0Re4quB.css": {
315
+ "/assets/styles-BZIG7t42.css": {
134
316
  "type": "text/css; charset=utf-8",
135
- "etag": "\"18983-iQ64N/MMT2ZA9Kd6OSvDGJFw80E\"",
136
- "mtime": "2026-08-30T13:36:17.496Z",
137
- "size": 100739,
138
- "path": "../public/assets/styles-C0Re4quB.css"
317
+ "etag": "\"1d2c2-wxSEJZ9XuwibD4n9AS1Z3cNVKMI\"",
318
+ "mtime": "2026-08-31T11:14:16.799Z",
319
+ "size": 119490,
320
+ "path": "../public/assets/styles-BZIG7t42.css"
139
321
  }
140
322
  };
141
323
  //#endregion
package/README.md CHANGED
@@ -17,6 +17,7 @@ Modern web-based management console for Hot Updater built with **TanStack Start*
17
17
  ## 🛠️ Tech Stack
18
18
 
19
19
  ### Frontend
20
+
20
21
  - **TanStack Start** - Full-stack React framework with SSR
21
22
  - **TanStack Router** - File-based routing with type safety
22
23
  - **TanStack Query** - Data fetching and caching
@@ -25,14 +26,16 @@ Modern web-based management console for Hot Updater built with **TanStack Start*
25
26
  - **React 19** - Latest React features
26
27
 
27
28
  ### UI Components
29
+
28
30
  - **shadcn/ui** - High-quality accessible components (Radix Mira style)
29
31
  - **Tailwind CSS v4** - Utility-first CSS with oklch color system
30
32
  - **Lucide React** - Beautiful icon library
31
33
  - **Sonner** - Toast notifications
32
34
 
33
35
  ### Backend
36
+
34
37
  - **TanStack Start Server Functions** - Type-safe server endpoints
35
- - **Hot Updater Plugins** - Storage and database plugin integration
38
+ - **Hot Updater Integration** - Storage and database plugin integration
36
39
 
37
40
  ## 📦 Installation
38
41
 
@@ -92,23 +95,26 @@ src/
92
95
  ## 🎨 Key Components
93
96
 
94
97
  ### Bundle List Page
98
+
95
99
  - **FilterToolbar** - Platform and channel filters with reset button
96
100
  - **BundlesTable** - Server-side paginated table (20 per page)
97
101
  - **BundleTableColumns** - Column definitions with custom cell renderers
98
102
 
99
103
  ### Bundle Editor Sheet
104
+
100
105
  - **BundleEditorSheet** - Right-side slide-out panel
101
106
  - **BundleEditorForm** - TanStack Form with validation
102
107
  - **BundleMetadata** - Read-only bundle information display
103
108
 
104
109
  ### Dialogs
110
+
105
111
  - **PromoteChannelDialog** - Channel promotion with copy/move toggle
106
112
  - **DeleteBundleDialog** - Confirmation dialog with bundle details
107
113
  - **EmergencyRollbackButton** - One-click disable + 0% rollout
108
114
 
109
115
  ## 🔌 API Integration
110
116
 
111
- The console integrates with Hot Updater's plugin system through TanStack Start server functions:
117
+ The console integrates with the configured Hot Updater storage and database plugins through TanStack Start server functions:
112
118
 
113
119
  - `getConfig()` - Load console configuration
114
120
  - `getChannels()` - List available channels
@@ -123,15 +129,27 @@ The console integrates with Hot Updater's plugin system through TanStack Start s
123
129
  Configure Hot Updater in `hot-updater.config.ts`:
124
130
 
125
131
  ```typescript
126
- import { mockDatabase, mockStorage } from "@hot-updater/mock";
132
+ import {
133
+ createMockDatabaseData,
134
+ mockDatabase,
135
+ mockStorage,
136
+ } from "@hot-updater/mock";
137
+ import { bundleToRow, type Bundle } from "@hot-updater/plugin-core";
138
+
139
+ const bundles: Bundle[] = [
140
+ // ... your bundles
141
+ ];
142
+
143
+ const databaseData = createMockDatabaseData();
144
+ for (const bundle of bundles) {
145
+ databaseData.bundles.set(bundle.id, bundleToRow(bundle));
146
+ }
127
147
 
128
148
  export default {
129
149
  storage: mockStorage({}),
130
150
  database: mockDatabase({
131
151
  latency: { min: 500, max: 700 },
132
- initialBundles: [
133
- // ... your bundles
134
- ],
152
+ data: databaseData,
135
153
  }),
136
154
  };
137
155
  ```
@@ -154,7 +172,7 @@ The console uses Tailwind CSS v4 with oklch color space for accessible colors. T
154
172
  ## 📊 Data Flow
155
173
 
156
174
  1. **URL State** → `useFilterParams()` hook manages filter state in URL
157
- 2. **Server Functions** → TanStack Start server functions call Hot Updater plugins
175
+ 2. **Server Functions** → TanStack Start server functions call the configured storage and database plugins
158
176
  3. **React Query** → `useBundlesQuery()` fetches and caches data
159
177
  4. **UI Components** → Display data with shadcn components
160
178
  5. **Mutations** → `useUpdateBundleMutation()` updates data with optimistic updates
@@ -171,16 +189,19 @@ The console uses Tailwind CSS v4 with oklch color space for accessible colors. T
171
189
  ## 🐛 Troubleshooting
172
190
 
173
191
  ### Build Errors
192
+
174
193
  - Ensure `.server.ts` files are not imported on the client
175
194
  - Check that native modules (`.node`) are excluded from bundling
176
195
 
177
196
  ### Development Server
197
+
178
198
  - Default port is 3000
179
199
  - Change port: `pnpm dev --port 3001`
180
200
 
181
201
  ### Hot Updater Config
202
+
182
203
  - Ensure `hot-updater.config.ts` is at package root
183
- - Verify storage and database plugins are correctly initialized
204
+ - Verify the storage and database plugins are correctly initialized
184
205
 
185
206
  ## 📝 License
186
207