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

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 (126) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/InsightsPageHeader-C-Xc2MB9.js +1 -0
  3. package/.output/public/assets/api-keys-C1sgC6ko.js +1 -0
  4. package/.output/public/assets/{api-keys-api-BHcODB7q.js → api-keys-api-LchP65vQ.js} +1 -1
  5. package/.output/public/assets/badge-BuMDU0Rf.js +1 -0
  6. package/.output/public/assets/card-BEvx_QKh.js +1 -0
  7. package/.output/public/assets/{chart-no-axes-combined-Dy4WJv2U.js → chart-no-axes-combined-C0G0fQ3J.js} +1 -1
  8. package/.output/public/assets/{composite-Bp98A0Ld.js → composite-CHTH1Xhh.js} +1 -1
  9. package/.output/public/assets/createServerFn-DHc2erub.js +3 -0
  10. package/.output/public/assets/dialog-dyZ1SphZ.js +1 -0
  11. package/.output/public/assets/{dist-C_NydL0e.js → dist-Bh1gaDfB.js} +1 -1
  12. package/.output/public/assets/field-79SVH26s.js +1 -0
  13. package/.output/public/assets/index-BNkxg4jz.js +10 -0
  14. package/.output/public/assets/input-group-BbHfaBzQ.js +1 -0
  15. package/.output/public/assets/insights-D_7uSKfc.js +1 -0
  16. package/.output/public/assets/installations-BzoHWuXw.js +1 -0
  17. package/.output/public/assets/{installations-CE33wgbY.js → installations-DvjbUqd1.js} +2 -2
  18. package/.output/public/assets/{lazyRouteComponent-Ccp3bwBY.js → lazyRouteComponent-BN0MS05o.js} +1 -1
  19. package/.output/public/assets/{link-CI8idAUi.js → link-BG06whwB.js} +1 -1
  20. package/.output/public/assets/{loader-circle-BoxLrsOu.js → loader-circle-Bbp8LGVC.js} +1 -1
  21. package/.output/public/assets/{refresh-cw-Bqc72UZG.js → refresh-cw-DZgiAOMk.js} +1 -1
  22. package/.output/public/assets/routes-BFE-oRIT.js +1 -0
  23. package/.output/public/assets/{routes-DGVXdzpw.js → routes-DaPMY31P.js} +2 -2
  24. package/.output/public/assets/{shield-check-uK3MHWJZ.js → shield-check-DoIiaaXU.js} +1 -1
  25. package/.output/public/assets/signing-BTRhaF5D.js +1 -0
  26. package/.output/public/assets/styles-C7U0oVke.css +2 -0
  27. package/.output/public/assets/table-BBEzJ7Xl.js +1 -0
  28. package/.output/public/assets/useCompositeListItem-BkPDaqyj.js +42 -0
  29. package/.output/server/{__23tanstack-start-server-fn-resolver-B7ioJhtE.mjs → __23tanstack-start-server-fn-resolver-Dr2ixDgQ.mjs} +40 -32
  30. package/.output/server/_libs/@base-ui/react+[...].mjs +1 -1
  31. package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +1554 -0
  32. package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
  33. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
  34. package/.output/server/_libs/d3-array.mjs +231 -0
  35. package/.output/server/_libs/d3-color.mjs +330 -0
  36. package/.output/server/_libs/d3-format.mjs +252 -0
  37. package/.output/server/_libs/d3-interpolate.mjs +207 -0
  38. package/.output/server/_libs/d3-path.mjs +77 -0
  39. package/.output/server/_libs/d3-scale+[...].mjs +1907 -0
  40. package/.output/server/_libs/d3-shape.mjs +818 -0
  41. package/.output/server/_libs/decimal.js-light.mjs +884 -0
  42. package/.output/server/_libs/es-toolkit.mjs +1159 -0
  43. package/.output/server/_libs/eventemitter3.mjs +236 -0
  44. package/.output/server/_libs/immer.mjs +532 -0
  45. package/.output/server/_libs/lucide-react.mjs +9 -2
  46. package/.output/server/_libs/next-themes.mjs +1 -1
  47. package/.output/server/_libs/react-redux+[...].mjs +205 -0
  48. package/.output/server/_libs/recharts+[...].mjs +15054 -0
  49. package/.output/server/_libs/sonner.mjs +1 -1
  50. package/.output/server/_libs/tanstack__react-query.mjs +1 -1
  51. package/.output/server/_runtime.mjs +10 -1
  52. package/.output/server/_ssr/InsightsPageHeader-C5Has8Ry.mjs +60 -0
  53. package/.output/server/_ssr/{api-keys-CZeTPQys.mjs → api-keys-DJml_XoK.mjs} +10 -8
  54. package/.output/server/_ssr/{api-keys-api-BUPQVSpk.mjs → api-keys-api-CrCZyvnl.mjs} +2 -2
  55. package/.output/server/_ssr/{api-keys-rpc-Cs7tS5_j.mjs → api-keys-rpc-CFaNf-q0.mjs} +3 -3
  56. package/.output/server/_ssr/{api-rpc-tAupfGQm.mjs → api-rpc-B61KL3Eo.mjs} +25 -25
  57. package/.output/server/_ssr/{auth-rpc-DUaeOWKK.mjs → auth-rpc-D_hv52-J.mjs} +4 -4
  58. package/.output/server/_ssr/{auth.server-DW71WzsD.mjs → auth.server-DF_shCeq.mjs} +1 -1
  59. package/.output/server/_ssr/badge-BgsCP9Dp.mjs +28 -0
  60. package/.output/server/_ssr/{bundle-signing-rpc-BhnBw0-d.mjs → bundle-signing-rpc-BBipZnFs.mjs} +2 -2
  61. package/.output/server/_ssr/{bundle-signing.server-C4NW5mWx.mjs → bundle-signing.server-Co_zHdJx.mjs} +1 -1
  62. package/.output/server/_ssr/bundleActivity-D3_fIda2.mjs +27 -0
  63. package/.output/server/_ssr/{card-BRiPmi0C.mjs → card-DrbxCPtG.mjs} +3 -25
  64. package/.output/server/_ssr/chart-qxa-_30a.mjs +162 -0
  65. package/.output/server/_ssr/{config.server-afDuAwaG.mjs → config.server-CBr6PDj5.mjs} +5 -5
  66. package/.output/server/_ssr/{createSsrRpc-DjWNJ0uc.mjs → createSsrRpc-NHF2PxuK.mjs} +4 -4
  67. package/.output/server/_ssr/{deleteBundle-BTGwBgzx.mjs → deleteBundle-BAq3JuGr.mjs} +1 -1
  68. package/.output/server/_ssr/{dialog-DS-nw-pA.mjs → dialog-DUaIgpgd.mjs} +1 -1
  69. package/.output/server/_ssr/{downloadBundle-CNnYxYO2.mjs → downloadBundle-B3ert-pY.mjs} +1 -1
  70. package/.output/server/_ssr/{table-CnZmon_Z.mjs → field-CqNUlqUq.mjs} +4 -50
  71. package/.output/server/_ssr/{getBundleChildren-C0vh4ZvE.mjs → getBundleChildren-COMt16m_.mjs} +1 -1
  72. package/.output/server/_ssr/{input-group-BpsnmvZw.mjs → input-group-Bb8ueylQ.mjs} +51 -2
  73. package/.output/server/_ssr/insights-B-DUbksX.mjs +502 -0
  74. package/.output/server/_ssr/insights-recovery-DSFM-YTL.mjs +21 -0
  75. package/.output/server/_ssr/insights-recovery-rpc-P71FH66n.mjs +37 -0
  76. package/.output/server/_ssr/{insights-rpc-38DujK0G.mjs → insights-rpc-DrIQCjpD.mjs} +2 -2
  77. package/.output/server/_ssr/insightsRecovery-CqcosG7B.mjs +149 -0
  78. package/.output/server/_ssr/{installations-CtA59MQG.mjs → installations-BQrppti7.mjs} +2 -2
  79. package/.output/server/_ssr/{installations-DiVKEF5T.mjs → installations-YumqpNpa.mjs} +426 -11
  80. package/.output/server/_ssr/{router-B9wG_9f8.mjs → router-iP95Vqi2.mjs} +14 -14
  81. package/.output/server/_ssr/{routes-CKrrS2q2.mjs → routes-BDabsmc7.mjs} +2 -2
  82. package/.output/server/_ssr/{routes-D7Yh_jfj.mjs → routes-ivsV2TDu.mjs} +224 -13
  83. package/.output/server/_ssr/{runtime.server-DacU1TBV.mjs → runtime.server-jmZOKIQM.mjs} +1 -1
  84. package/.output/server/_ssr/{server-D_C2rMzf.mjs → server-p7yrVBfD.mjs} +3 -3
  85. package/.output/server/_ssr/{signing-Dz1WkZOf.mjs → signing-CxCbnFCt.mjs} +5 -4
  86. package/.output/server/_ssr/ssr.mjs +1 -1
  87. package/.output/server/_ssr/table-D1mL8fJu.mjs +53 -0
  88. package/.output/server/_tanstack-start-manifest_v-Cwpu0C9Q.mjs +100 -0
  89. package/.output/server/index.mjs +154 -154
  90. package/package.json +3 -3
  91. package/src/components/features/bundles/BundleActivityChart.tsx +95 -0
  92. package/src/components/features/bundles/BundleInsightsSummary.tsx +121 -0
  93. package/src/components/features/insights/InsightsControls.tsx +1 -15
  94. package/src/components/features/insights/InsightsOverview.tsx +368 -179
  95. package/src/components/features/releases/ReleaseEditorSheet.tsx +10 -0
  96. package/src/components/ui/empty.tsx +101 -0
  97. package/src/lib/bundle-activity.ts +21 -0
  98. package/src/lib/insights-recovery-rpc.ts +38 -0
  99. package/src/lib/insights-recovery.ts +59 -0
  100. package/src/lib/server/bundleActivity.ts +37 -0
  101. package/src/lib/server/insightsHistory.ts +52 -0
  102. package/src/lib/server/insightsRecovery.ts +186 -0
  103. package/src/routes/index.tsx +33 -3
  104. package/src/routes/insights.tsx +1 -42
  105. package/.output/public/assets/HashValueDisplay-CB0Eskit.js +0 -1
  106. package/.output/public/assets/InsightsPageHeader-Car5LNiZ.js +0 -1
  107. package/.output/public/assets/api-keys-BzKocqRy.js +0 -1
  108. package/.output/public/assets/card-Dhr_eFYj.js +0 -1
  109. package/.output/public/assets/createServerFn-CA8fs7QD.js +0 -3
  110. package/.output/public/assets/dialog-CUTrcPlB.js +0 -1
  111. package/.output/public/assets/index-DdAz-CXv.js +0 -10
  112. package/.output/public/assets/input-group-cSOG4wh_.js +0 -1
  113. package/.output/public/assets/insights-C0PBSZ-n.js +0 -1
  114. package/.output/public/assets/installations-CStZja8x.js +0 -1
  115. package/.output/public/assets/routes-DTlwOr8I.js +0 -1
  116. package/.output/public/assets/signing-CMf4aqDO.js +0 -1
  117. package/.output/public/assets/styles-BCvbtKsm.css +0 -2
  118. package/.output/public/assets/table-2vcV89QB.js +0 -1
  119. package/.output/public/assets/useCompositeListItem-CHLITE_4.js +0 -1
  120. package/.output/public/assets/x-DCd0j8c6.js +0 -1
  121. package/.output/server/_ssr/HashValueDisplay-DwpGLfrl.mjs +0 -55
  122. package/.output/server/_ssr/InsightsPageHeader-Df4Brj8u.mjs +0 -484
  123. package/.output/server/_ssr/insights-BdS364Xu.mjs +0 -460
  124. package/.output/server/_tanstack-start-manifest_v-2MjTyxil.mjs +0 -97
  125. package/src/components/features/insights/InsightsBundleReports.tsx +0 -51
  126. /package/.output/public/assets/{preload-helper-CQ36nxok.js → preload-helper-uTix4PVD.js} +0 -0
@@ -1,17 +1,17 @@
1
- import { r as __toESM } from "../_runtime.mjs";
1
+ import { i as __toESM } from "../_runtime.mjs";
2
2
  import { c as createServerFn } from "./createServerFn-B2hcXoPM.mjs";
3
3
  import { J as require_react, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
4
- import { F as ChartNoAxesCombined, S as Info, _ as Moon, c as ShieldCheck, g as OctagonX, k as CircleCheck, m as Package, n as TriangleAlert, o as Sun, x as KeyRound, y as LoaderCircle } from "../_libs/lucide-react.mjs";
5
- import { S as buttonVariants, a as SidebarContent, b as TooltipProvider, c as SidebarGroupContent, d as SidebarInset, f as SidebarMenu, h as SidebarProvider, i as Sidebar, l as SidebarGroupLabel, m as SidebarMenuItem, o as SidebarFooter, p as SidebarMenuButton, s as SidebarGroup, t as Button$1, u as SidebarHeader, w as createSsrRpc } from "./createSsrRpc-DjWNJ0uc.mjs";
4
+ import { A as CircleCheck, C as Info, I as ChartNoAxesCombined, S as KeyRound, _ as OctagonX, b as LoaderCircle, c as ShieldCheck, h as Package, n as TriangleAlert, o as Sun, v as Moon } from "../_libs/lucide-react.mjs";
5
+ import { S as buttonVariants, a as SidebarContent, b as TooltipProvider, c as SidebarGroupContent, d as SidebarInset, f as SidebarMenu, h as SidebarProvider, i as Sidebar, l as SidebarGroupLabel, m as SidebarMenuItem, o as SidebarFooter, p as SidebarMenuButton, s as SidebarGroup, t as Button$1, u as SidebarHeader, w as createSsrRpc } from "./createSsrRpc-NHF2PxuK.mjs";
6
6
  import { a as HeadContent, d as lazyRouteComponent, f as createFileRoute, i as Scripts, l as createRouter, m as Link, o as useRouterState, p as createRootRouteWithContext, u as Outlet } from "../_libs/@tanstack/react-router+[...].mjs";
7
7
  import { t as QueryClient } from "../_libs/tanstack__query-core.mjs";
8
- import { n as useApiKeyCapabilityQuery, t as ensureApiKeyRouteAccess } from "./api-keys-api-BUPQVSpk.mjs";
8
+ import { n as useApiKeyCapabilityQuery, t as ensureApiKeyRouteAccess } from "./api-keys-api-CrCZyvnl.mjs";
9
9
  import { t as Toaster } from "../_libs/sonner.mjs";
10
- import { n as getInsightsScrollRestorationKey, t as Route$6 } from "./installations-CtA59MQG.mjs";
11
- import { t as Route$7 } from "./routes-CKrrS2q2.mjs";
10
+ import { n as getInsightsScrollRestorationKey, t as Route$6 } from "./installations-BQrppti7.mjs";
11
+ import { t as Route$7 } from "./routes-BDabsmc7.mjs";
12
12
  import { t as setupRouterSsrQueryIntegration } from "../_libs/@tanstack/react-router-ssr-query+[...].mjs";
13
13
  import { t as z } from "../_libs/next-themes.mjs";
14
- //#region node_modules/.nitro/vite/services/ssr/assets/router-B9wG_9f8.js
14
+ //#region node_modules/.nitro/vite/services/ssr/assets/router-iP95Vqi2.js
15
15
  var import_react = /* @__PURE__ */ __toESM(require_react());
16
16
  var import_jsx_runtime = require_jsx_runtime();
17
17
  function HotUpdaterLogo({ className }) {
@@ -345,7 +345,7 @@ var Toaster$1 = ({ ...props }) => {
345
345
  };
346
346
  var getConsoleAccessRpc = createServerFn({ method: "GET" }).handler(createSsrRpc("c504696e68ba764b48c48aa8a40275938640941e473cf9cfdd7b2322d99f9d13"));
347
347
  var getConsoleAuthProvidersRpc = createServerFn({ method: "GET" }).handler(createSsrRpc("fa8c48f0489d97c62b9b68fd0caf0a61b15bad25a42b3866ec36264b4b30bb74"));
348
- var styles_default = "/assets/styles-BCvbtKsm.css";
348
+ var styles_default = "/assets/styles-C7U0oVke.css";
349
349
  var Route$5 = createRootRouteWithContext()({
350
350
  head: () => ({
351
351
  meta: [
@@ -417,17 +417,17 @@ function AuthorizedConsole() {
417
417
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Outlet, {})
418
418
  })] });
419
419
  }
420
- var $$splitComponentImporter$2 = () => import("./signing-Dz1WkZOf.mjs");
420
+ var $$splitComponentImporter$2 = () => import("./signing-CxCbnFCt.mjs");
421
421
  var Route$4 = createFileRoute("/signing")({ component: lazyRouteComponent($$splitComponentImporter$2, "component") });
422
- var $$splitComponentImporter$1 = () => import("./insights-BdS364Xu.mjs");
422
+ var $$splitComponentImporter$1 = () => import("./insights-B-DUbksX.mjs");
423
423
  var Route$3 = createFileRoute("/insights")({ component: lazyRouteComponent($$splitComponentImporter$1, "component") });
424
- var $$splitComponentImporter = () => import("./api-keys-CZeTPQys.mjs");
424
+ var $$splitComponentImporter = () => import("./api-keys-DJml_XoK.mjs");
425
425
  var Route$2 = createFileRoute("/api-keys")({
426
426
  beforeLoad: ({ context }) => ensureApiKeyRouteAccess(context.queryClient),
427
427
  component: lazyRouteComponent($$splitComponentImporter, "component")
428
428
  });
429
429
  var handleAuthRequest = async ({ request }) => {
430
- const { handleConsoleAuth } = await import("./auth.server-DW71WzsD.mjs");
430
+ const { handleConsoleAuth } = await import("./auth.server-DF_shCeq.mjs");
431
431
  return handleConsoleAuth(request);
432
432
  };
433
433
  var Route$1 = createFileRoute("/api/auth/$")({ server: { handlers: {
@@ -435,8 +435,8 @@ var Route$1 = createFileRoute("/api/auth/$")({ server: { handlers: {
435
435
  POST: handleAuthRequest
436
436
  } } });
437
437
  var Route = createFileRoute("/api/bundles/$bundleId/download")({ server: { handlers: { GET: async ({ params, request }) => {
438
- const { prepareConfig } = await import("./config.server-afDuAwaG.mjs");
439
- const { downloadBundle } = await import("./downloadBundle-CNnYxYO2.mjs");
438
+ const { prepareConfig } = await import("./config.server-CBr6PDj5.mjs");
439
+ const { downloadBundle } = await import("./downloadBundle-B3ert-pY.mjs");
440
440
  const { databaseClient, storagePlugin } = await prepareConfig(request);
441
441
  return downloadBundle(params.bundleId, {
442
442
  databaseClient,
@@ -1,5 +1,5 @@
1
1
  import { d as lazyRouteComponent, f as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/routes-CKrrS2q2.js
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/routes-BDabsmc7.js
3
3
  var optionalString = (value) => typeof value === "string" && value.trim().length > 0 ? value.trim() : void 0;
4
4
  function validateReleaseSearch(search) {
5
5
  const parsedPage = typeof search.page === "number" ? search.page : typeof search.page === "string" ? Number(search.page) : void 0;
@@ -28,7 +28,7 @@ function updateReleaseFilters(current, filters) {
28
28
  releaseId: void 0
29
29
  };
30
30
  }
31
- var $$splitComponentImporter = () => import("./routes-D7Yh_jfj.mjs");
31
+ var $$splitComponentImporter = () => import("./routes-ivsV2TDu.mjs");
32
32
  var Route = createFileRoute("/")({
33
33
  component: lazyRouteComponent($$splitComponentImporter, "component"),
34
34
  validateSearch: validateReleaseSearch
@@ -1,22 +1,25 @@
1
- import { r as __toESM } from "../_runtime.mjs";
1
+ import { i as __toESM } from "../_runtime.mjs";
2
2
  import { c as createServerFn } from "./createServerFn-B2hcXoPM.mjs";
3
3
  import { A as DialogDescription, D as DialogTitle, J as require_react, M as DialogBackdrop, O as DialogPortal, _ as SelectPortal, a as SliderTrack, b as SelectTrigger$1, c as SelectGroup$1, d as SelectItemText, f as SelectItemIndicator, g as SelectPositioner, h as SelectPopup, i as SliderThumb, j as DialogClose, k as DialogPopup, l as SelectScrollUpArrow, m as SelectList, n as SwitchRoot, o as SliderControl, p as SelectItem$1, q as require_jsx_runtime, r as SliderIndicator, s as SliderRoot, t as SwitchThumb, u as SelectScrollDownArrow, v as SelectIcon, w as DialogRoot, x as SelectRoot, y as SelectValue$1 } from "../_libs/@base-ui/react+[...].mjs";
4
- import { A as ChevronUp, C as Funnel, E as Download, L as ArrowRight, M as ChevronLeft, N as ChevronDown, O as CircleOff, P as Check, T as ExternalLink, a as Tag, b as List, f as Plus, i as Tags, j as ChevronRight, m as Package, n as TriangleAlert, r as Trash2, t as X, u as RotateCcw, v as Minus, w as FingerprintPattern, y as LoaderCircle } from "../_libs/lucide-react.mjs";
5
- import { C as cn, S as buttonVariants, T as useIsMobile, _ as Skeleton, g as SidebarTrigger, n as Input, r as Separator$1, t as Button$1, w as createSsrRpc } from "./createSsrRpc-DjWNJ0uc.mjs";
4
+ import { D as Download, E as ExternalLink, F as Check, M as ChevronRight, N as ChevronLeft, P as ChevronDown, R as ArrowRight, T as FingerprintPattern, a as Tag, b as LoaderCircle, d as RotateCcw, h as Package, i as Tags, j as ChevronUp, k as CircleOff, n as TriangleAlert, p as Plus, r as Trash2, t as X, w as Funnel, x as List, y as Minus } from "../_libs/lucide-react.mjs";
5
+ import { C as cn, S as buttonVariants, T as useIsMobile, _ as Skeleton, g as SidebarTrigger, n as Input, r as Separator$1, t as Button$1, w as createSsrRpc } from "./createSsrRpc-NHF2PxuK.mjs";
6
6
  import { m as Link } from "../_libs/@tanstack/react-router+[...].mjs";
7
7
  import { i as useQueryClient, n as useQuery, t as useMutation } from "../_libs/tanstack__react-query.mjs";
8
- import { a as Badge, c as CardDescription, d as CardTitle, i as AlertTitle, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./card-BRiPmi0C.mjs";
9
- import { _ as DialogTrigger, a as AlertDialogDescription, d as Dialog$1, f as DialogContent, g as DialogTitle$1, h as DialogHeader, i as AlertDialogContent, l as AlertDialogTitle, m as DialogFooter, n as AlertDialogAction, o as AlertDialogFooter, p as DialogDescription$1, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1 } from "./dialog-DS-nw-pA.mjs";
10
- import { a as FieldLabel, c as TableBody, d as TableHeader, f as TableRow, i as FieldGroup, l as TableCell, n as FieldDescription, o as Label, r as FieldError, s as Table, t as Field, u as TableHead } from "./table-CnZmon_Z.mjs";
8
+ import { a as Card, i as AlertTitle, l as CardHeader, o as CardContent, r as AlertDescription, s as CardDescription, t as Alert, u as CardTitle } from "./card-DrbxCPtG.mjs";
9
+ import { _ as DialogTrigger, a as AlertDialogDescription, d as Dialog$1, f as DialogContent, g as DialogTitle$1, h as DialogHeader, i as AlertDialogContent, l as AlertDialogTitle, m as DialogFooter, n as AlertDialogAction, o as AlertDialogFooter, p as DialogDescription$1, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1 } from "./dialog-DUaIgpgd.mjs";
10
+ import { t as Badge } from "./badge-BgsCP9Dp.mjs";
11
+ import { a as FieldLabel, i as FieldGroup, n as FieldDescription, o as Label, r as FieldError, t as Field } from "./field-CqNUlqUq.mjs";
12
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-D1mL8fJu.mjs";
11
13
  import { n as toast } from "../_libs/sonner.mjs";
12
14
  import { C as normalizeCohortValue, S as isValidCohort, f as getNumericCohortRolloutPosition, g as getPatchFileHash, h as getPatchBaseFileHash, m as getPatchBaseBundleId, r as NUMERIC_COHORT_SIZE, t as INVALID_COHORT_ERROR_MESSAGE, w as normalizeRolloutCohortCount } from "./dist-CyzPaI5v.mjs";
13
15
  import { r as extractTimestampFromUUIDv7, t as createUUIDv7 } from "./uuidv7-D0QFkPL_.mjs";
14
- import { t as HashValueDisplay } from "./HashValueDisplay-DwpGLfrl.mjs";
15
- import { a as InputGroupText, i as InputGroupInput, n as InputGroupAddon, o as Textarea, t as InputGroup } from "./input-group-BpsnmvZw.mjs";
16
- import { n as updateReleaseFilters, t as Route } from "./routes-CKrrS2q2.mjs";
16
+ import { a as Area, i as XAxis, r as YAxis, s as CartesianGrid, t as AreaChart } from "../_libs/recharts+[...].mjs";
17
+ import { a as ChartTooltipContent, i as ChartTooltip, n as ChartLegend, o as getBundleActivityRpc, r as ChartLegendContent, t as ChartContainer } from "./chart-qxa-_30a.mjs";
18
+ import { a as InputGroupInput, n as InputGroup, o as InputGroupText, r as InputGroupAddon, s as Textarea, t as HashValueDisplay } from "./input-group-Bb8ueylQ.mjs";
19
+ import { n as updateReleaseFilters, t as Route } from "./routes-BDabsmc7.mjs";
17
20
  import { n as require_dayjs_min, t as require_relativeTime } from "../_libs/dayjs.mjs";
18
21
  import { t as normalizeRange } from "../_libs/verkit.mjs";
19
- //#region node_modules/.nitro/vite/services/ssr/assets/routes-D7Yh_jfj.js
22
+ //#region node_modules/.nitro/vite/services/ssr/assets/routes-ivsV2TDu.js
20
23
  var import_react = /* @__PURE__ */ __toESM(require_react());
21
24
  var import_jsx_runtime = require_jsx_runtime();
22
25
  var import_dayjs_min = /* @__PURE__ */ __toESM(require_dayjs_min());
@@ -256,6 +259,186 @@ function BundleChildrenPanel({ panelId, bundle, bundles, loading, onDetailClick
256
259
  })
257
260
  });
258
261
  }
262
+ function useBundleActivityQuery(inputs) {
263
+ const sorted = [...inputs].sort((a, b) => a.releaseId.localeCompare(b.releaseId));
264
+ return useQuery({
265
+ queryKey: ["bundle-activity", sorted],
266
+ queryFn: () => getBundleActivityRpc({ data: sorted }),
267
+ enabled: sorted.length > 0,
268
+ staleTime: 3e4
269
+ });
270
+ }
271
+ var config = {
272
+ active: {
273
+ label: "Active",
274
+ color: "var(--chart-2)"
275
+ },
276
+ recoveredInstallations: {
277
+ label: "Rollback",
278
+ color: "var(--muted-foreground)"
279
+ }
280
+ };
281
+ var formatDate = (ms) => new Intl.DateTimeFormat("en", {
282
+ month: "short",
283
+ day: "numeric",
284
+ timeZone: "UTC"
285
+ }).format(ms);
286
+ function BundleActivityChart({ series }) {
287
+ if (!series) return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
288
+ className: "flex h-16 items-center justify-center border-t text-xs text-muted-foreground sm:h-20",
289
+ children: "No reports in 30 days. Check again after the app reports activity."
290
+ });
291
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
292
+ className: "border-t pt-3",
293
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartContainer, {
294
+ "aria-label": "Bundle activity over 30 days, UTC",
295
+ className: "h-32 w-full aspect-auto sm:h-40",
296
+ config,
297
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(AreaChart, {
298
+ accessibilityLayer: true,
299
+ data: series.points,
300
+ margin: {
301
+ left: -16,
302
+ right: 4,
303
+ top: 4
304
+ },
305
+ children: [
306
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CartesianGrid, { vertical: false }),
307
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(XAxis, {
308
+ axisLine: false,
309
+ dataKey: "startMs",
310
+ minTickGap: 28,
311
+ tickFormatter: formatDate,
312
+ tickLine: false
313
+ }),
314
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(YAxis, {
315
+ allowDecimals: false,
316
+ axisLine: false,
317
+ tickLine: false,
318
+ width: 40
319
+ }),
320
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartLegend, { content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartLegendContent, {}) }),
321
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartTooltip, { content: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ChartTooltipContent, { labelFormatter: (_, payload) => `${formatDate(payload[0]?.payload.startMs)} · UTC` }) }),
322
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Area, {
323
+ dataKey: "active",
324
+ fill: "var(--color-active)",
325
+ fillOpacity: .12,
326
+ isAnimationActive: false,
327
+ stroke: "var(--color-active)",
328
+ strokeWidth: 2,
329
+ type: "linear"
330
+ }),
331
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Area, {
332
+ dataKey: "recoveredInstallations",
333
+ fill: "var(--color-recoveredInstallations)",
334
+ fillOpacity: .04,
335
+ isAnimationActive: false,
336
+ stroke: "var(--color-recoveredInstallations)",
337
+ strokeWidth: 1.5,
338
+ type: "linear"
339
+ })
340
+ ]
341
+ })
342
+ })
343
+ });
344
+ }
345
+ function BundleMovementSummary({ report, loading = false }) {
346
+ if (!report) return loading ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Skeleton, {
347
+ "aria-label": "Loading bundle activity",
348
+ className: "h-4 w-32"
349
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
350
+ "aria-label": "30-day bundle activity unavailable",
351
+ className: "text-sm text-muted-foreground",
352
+ children: "—"
353
+ });
354
+ const series = report.series[0];
355
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
356
+ role: "group",
357
+ "aria-label": "Bundle activity over 30 days",
358
+ title: report.truncated ? "Partial history. Counts include only the available reports." : "Active: last observed ID per installation. Rollbacks: distinct installations recovered from this ID in 30 days.",
359
+ className: "flex min-w-[140px] items-baseline gap-3 whitespace-nowrap",
360
+ children: [
361
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
362
+ className: "flex items-baseline gap-1.5",
363
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
364
+ className: "text-xs text-muted-foreground",
365
+ children: "Active"
366
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
367
+ className: "text-sm font-medium tabular-nums",
368
+ children: series?.activeInstallations ?? 0
369
+ })]
370
+ }),
371
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("span", {
372
+ className: "flex items-baseline gap-1.5",
373
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
374
+ className: "text-xs text-muted-foreground",
375
+ children: "Rollback"
376
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
377
+ className: "text-sm font-medium tabular-nums",
378
+ children: series?.recoveredInstallations ?? 0
379
+ })]
380
+ }),
381
+ report.truncated ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
382
+ className: "text-xs text-muted-foreground",
383
+ children: "Partial"
384
+ }) : null
385
+ ]
386
+ });
387
+ }
388
+ function BundleInsightsSummary({ input }) {
389
+ const query = useBundleActivityQuery([input]);
390
+ const report = query.data?.[input.releaseId];
391
+ const series = report?.series[0];
392
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Card, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardHeader, {
393
+ className: "px-4 pt-4 pb-3",
394
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardTitle, {
395
+ className: "text-sm font-medium",
396
+ children: "Activity · 30 days"
397
+ })
398
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardContent, {
399
+ className: "flex flex-col gap-3 px-4 pb-4",
400
+ children: query.isPending ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Skeleton, {
401
+ "aria-label": "Loading bundle activity",
402
+ className: "h-32 w-full"
403
+ }) : query.error ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
404
+ className: "flex items-center justify-between gap-3 text-sm text-muted-foreground",
405
+ children: ["Insights unavailable", /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
406
+ variant: "outline",
407
+ size: "sm",
408
+ onClick: () => void query.refetch(),
409
+ children: "Retry"
410
+ })]
411
+ }) : /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
412
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("dl", {
413
+ className: "grid grid-cols-2 divide-x divide-border/70",
414
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
415
+ className: "pr-4",
416
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", {
417
+ className: "text-xs text-muted-foreground",
418
+ children: "Active"
419
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", {
420
+ className: "mt-1 text-xl font-semibold tabular-nums",
421
+ children: series?.activeInstallations ?? 0
422
+ })]
423
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
424
+ className: "pl-4",
425
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", {
426
+ className: "text-xs text-muted-foreground",
427
+ children: "Rollback · 30d"
428
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", {
429
+ className: "mt-1 text-xl font-semibold tabular-nums",
430
+ children: series?.recoveredInstallations ?? 0
431
+ })]
432
+ })]
433
+ }),
434
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BundleActivityChart, { series }),
435
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", {
436
+ className: "text-xs text-muted-foreground",
437
+ children: ["Last observed active installations · daily rollbacks", report?.truncated ? " · Partial history" : ""]
438
+ })
439
+ ] })
440
+ })] });
441
+ }
259
442
  var getReleases = createServerFn({ method: "GET" }).inputValidator((input) => input).handler(createSsrRpc("206547cb1526f961070a989818ca7b9e34f6b2b0e4ab851698c3807fe9fb5e0c"));
260
443
  var getRelease = createServerFn({ method: "GET" }).inputValidator((input) => input).handler(createSsrRpc("a6f23116eeaf76166d405e28a95213123025613c6603030894e519015bf48032"));
261
444
  var updateRelease = createServerFn({ method: "POST" }).inputValidator((input) => input).handler(createSsrRpc("7ea0186f19f9f2bc2ca4b26e3c59636891cf046957f84287b6783f8d88bd8cb7"));
@@ -1258,6 +1441,11 @@ function ReleaseEditorSheet({ channels, onOpenChange, open, releaseId }) {
1258
1441
  }) : null, release && draft ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
1259
1442
  className: "flex flex-col gap-6 px-4 pb-4 sm:px-6 sm:pb-6",
1260
1443
  children: [
1444
+ channelName ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BundleInsightsSummary, { input: {
1445
+ platform: release.platform,
1446
+ channel: channelName,
1447
+ releaseId: release.id
1448
+ } }) : null,
1261
1449
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("section", {
1262
1450
  "aria-labelledby": "delivery-settings-heading",
1263
1451
  className: "flex flex-col gap-4",
@@ -1895,6 +2083,14 @@ function BundlesPage() {
1895
2083
  const releases = releasesQuery.data?.data ?? [];
1896
2084
  const patchCountsByBundleId = useBundleChildCountsQuery(Array.from(new Set(releases.flatMap((release) => release.bundle_id ? [release.bundle_id] : [])))).data ?? {};
1897
2085
  const pagination = releasesQuery.data?.pagination;
2086
+ const activityQuery = useBundleActivityQuery(releases.flatMap((release) => {
2087
+ const channel = channels.find((item) => item.id === release.channel_id)?.name;
2088
+ return channel ? [{
2089
+ releaseId: release.id,
2090
+ platform: release.platform,
2091
+ channel
2092
+ }] : [];
2093
+ }));
1898
2094
  const channelNames = new Map(channels.map((channel) => [channel.id, channel.name]));
1899
2095
  (0, import_react.useEffect)(() => {
1900
2096
  if (expandedReleaseId && !releases.some((release) => release.id === expandedReleaseId)) setExpandedReleaseId(void 0);
@@ -2030,6 +2226,16 @@ function BundlesPage() {
2030
2226
  children: patchCount === void 0 ? "Checking" : patchCount > 0 ? `${patchCount} ${patchCount === 1 ? "patch" : "patches"}` : "—"
2031
2227
  })]
2032
2228
  }),
2229
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
2230
+ className: "col-span-2 rounded-md bg-muted/40 p-3",
2231
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", {
2232
+ className: "mb-2 text-muted-foreground",
2233
+ children: "Activity · 30d"
2234
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BundleMovementSummary, {
2235
+ report: activityQuery.data?.[release.id],
2236
+ loading: activityQuery.isFetching
2237
+ }) })]
2238
+ }),
2033
2239
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
2034
2240
  className: "col-span-2 flex flex-wrap items-center gap-2 rounded-md bg-muted/40 p-3",
2035
2241
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(ReleaseStateBadge, { release }), release.should_force_update ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Badge, {
@@ -2085,12 +2291,13 @@ function BundlesPage() {
2085
2291
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableHead, { children: "Enabled" }),
2086
2292
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableHead, { children: "Force update" }),
2087
2293
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableHead, { children: "Rollout" }),
2294
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableHead, { children: "Activity · 30d" }),
2088
2295
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableHead, { children: "Message" }),
2089
2296
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableHead, { children: "Created" })
2090
2297
  ]
2091
2298
  })
2092
2299
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(TableBody, { children: [releasesQuery.isPending ? Array.from({ length: 7 }, (_, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, {
2093
- colSpan: 10,
2300
+ colSpan: 11,
2094
2301
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Skeleton, { className: "h-8 w-full" })
2095
2302
  }) }, index)) : releases.map((release) => {
2096
2303
  const isExpanded = expandedReleaseId === release.id;
@@ -2184,6 +2391,10 @@ function BundlesPage() {
2184
2391
  })]
2185
2392
  }) }),
2186
2393
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(RolloutPercentageBadge, { percentage: release.rollout_cohort_count / 10 }) }),
2394
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(BundleMovementSummary, {
2395
+ report: activityQuery.data?.[release.id],
2396
+ loading: activityQuery.isFetching
2397
+ }) }),
2187
2398
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, {
2188
2399
  className: "text-sm text-muted-foreground",
2189
2400
  title: release.message ?? void 0,
@@ -2199,7 +2410,7 @@ function BundlesPage() {
2199
2410
  className: "hover:bg-transparent",
2200
2411
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, {
2201
2412
  className: "border-t-0 p-0",
2202
- colSpan: 10,
2413
+ colSpan: 11,
2203
2414
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(ReleaseBundleChildrenPanel, {
2204
2415
  onDetailClick: openChildBundle,
2205
2416
  panelId,
@@ -2209,7 +2420,7 @@ function BundlesPage() {
2209
2420
  }) : null] }, release.id);
2210
2421
  }), !releasesQuery.isPending && releases.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableRow, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TableCell, {
2211
2422
  className: "h-40 text-center text-muted-foreground",
2212
- colSpan: 10,
2423
+ colSpan: 11,
2213
2424
  children: search.bundleId || search.channelId || search.enabled !== void 0 || search.platform || search.targetAppVersion ? "No bundles match these filters." : "No bundles yet. Deploy an update to see it here."
2214
2425
  }) }) : null] })]
2215
2426
  })
@@ -1,7 +1,7 @@
1
1
  import { x as isUUIDv7 } from "./dist-CyzPaI5v.mjs";
2
2
  import { t as createUUIDv7 } from "./uuidv7-D0QFkPL_.mjs";
3
3
  import { i as toInsightsInstallationRow, n as isInsightsMovementEvent, t as compareInsightsText } from "./insightsContract-fjJDBeEE.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/runtime.server-DacU1TBV.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/runtime.server-jmZOKIQM.js
5
5
  var InsightsBadRequestError = class extends Error {
6
6
  name = "InsightsBadRequestError";
7
7
  };
@@ -1,6 +1,6 @@
1
1
  import "../_runtime.mjs";
2
2
  import { a as X_TSS_RAW_RESPONSE, d as getStartOptions, f as isRedirect, g as safeObjectMerge, h as runWithStartContext, i as TSS_SERVER_FUNCTION, l as flattenMiddlewares, m as mergeHeaders, n as TSS_CONTENT_TYPE_FRAMED_VERSIONED, o as X_TSS_SERIALIZED, p as isResolvedRedirect, r as TSS_FORMDATA_CONTEXT, s as createNullProtoObject, t as FrameType, u as getStartContext } from "./createServerFn-B2hcXoPM.mjs";
3
- import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-B7ioJhtE.mjs";
3
+ import { t as getServerFnById } from "../__23tanstack-start-server-fn-resolver-Dr2ixDgQ.mjs";
4
4
  import { J as require_react, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
5
5
  import { c as RouterProvider, n as defineHandlerCallback, r as renderRouterToString, t as renderRouterToStream } from "../_libs/@tanstack/react-router+[...].mjs";
6
6
  import { PassThrough, Readable } from "node:stream";
@@ -4901,7 +4901,7 @@ var defaultSerovalPlugins = [
4901
4901
  * the dev styles URL for route-scoped CSS collection.
4902
4902
  */
4903
4903
  async function getStartManifest(matchedRoutes) {
4904
- const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-2MjTyxil.mjs");
4904
+ const { tsrStartManifest } = await import("../_tanstack-start-manifest_v-Cwpu0C9Q.mjs");
4905
4905
  const startManifest = tsrStartManifest();
4906
4906
  let routes = startManifest.routes;
4907
4907
  routes[rootRouteId];
@@ -7041,7 +7041,7 @@ var getBaseManifest = getProdBaseManifest;
7041
7041
  var createEarlyHintsForRequest = createEarlyHintsCollector;
7042
7042
  async function loadEntries() {
7043
7043
  const [routerEntry, startEntry, pluginAdapters] = await Promise.all([
7044
- import("./router-B9wG_9f8.mjs"),
7044
+ import("./router-iP95Vqi2.mjs"),
7045
7045
  import("./start-DpViQGnt.mjs"),
7046
7046
  import("./empty-plugin-adapters-B5QvGpEl.mjs")
7047
7047
  ]);
@@ -1,10 +1,11 @@
1
1
  import { c as createServerFn } from "./createServerFn-B2hcXoPM.mjs";
2
2
  import { q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
- import { S as Info, c as ShieldCheck, d as RefreshCw, k as CircleCheck, n as TriangleAlert } from "../_libs/lucide-react.mjs";
4
- import { _ as Skeleton, g as SidebarTrigger, t as Button$1, w as createSsrRpc } from "./createSsrRpc-DjWNJ0uc.mjs";
3
+ import { A as CircleCheck, C as Info, c as ShieldCheck, f as RefreshCw, n as TriangleAlert } from "../_libs/lucide-react.mjs";
4
+ import { _ as Skeleton, g as SidebarTrigger, t as Button$1, w as createSsrRpc } from "./createSsrRpc-NHF2PxuK.mjs";
5
5
  import { n as useQuery } from "../_libs/tanstack__react-query.mjs";
6
- import { a as Badge, c as CardDescription, 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-BRiPmi0C.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/signing-Dz1WkZOf.js
6
+ import { a as Card, i as AlertTitle, l as CardHeader, n as AlertAction, o as CardContent, r as AlertDescription, s as CardDescription, t as Alert, u as CardTitle } from "./card-DrbxCPtG.mjs";
7
+ import { t as Badge } from "./badge-BgsCP9Dp.mjs";
8
+ //#region node_modules/.nitro/vite/services/ssr/assets/signing-CxCbnFCt.js
8
9
  var import_jsx_runtime = require_jsx_runtime();
9
10
  var getBundleSigningInspectionRpc = createServerFn({ method: "GET" }).handler(createSsrRpc("662034966679a6d29db2b55e7ba665e26e6c9a58a5529f33aa857a2049616233"));
10
11
  var bundleSigningQueryKey = ["bundle-signing"];
@@ -1,4 +1,4 @@
1
- import { i as defaultStreamHandler, n as createStartHandler } from "./server-D_C2rMzf.mjs";
1
+ import { i as defaultStreamHandler, n as createStartHandler } from "./server-p7yrVBfD.mjs";
2
2
  //#region node_modules/.nitro/vite/services/ssr/index.js
3
3
  var fetch = createStartHandler(defaultStreamHandler);
4
4
  function createServerEntry(entry) {
@@ -0,0 +1,53 @@
1
+ import "../_runtime.mjs";
2
+ import { J as require_react, q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
+ import { C as cn } from "./createSsrRpc-NHF2PxuK.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,100 @@
1
+ //#region node_modules/.nitro/vite/services/ssr/assets/_tanstack-start-manifest_v-Cwpu0C9Q.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-BNkxg4jz.js",
16
+ "/assets/createServerFn-DHc2erub.js",
17
+ "/assets/preload-helper-uTix4PVD.js",
18
+ "/assets/installations-DvjbUqd1.js",
19
+ "/assets/loader-circle-Bbp8LGVC.js",
20
+ "/assets/link-BG06whwB.js",
21
+ "/assets/lazyRouteComponent-BN0MS05o.js",
22
+ "/assets/chart-no-axes-combined-C0G0fQ3J.js",
23
+ "/assets/shield-check-DoIiaaXU.js",
24
+ "/assets/api-keys-api-LchP65vQ.js",
25
+ "/assets/routes-DaPMY31P.js",
26
+ "/assets/dist-Bh1gaDfB.js"
27
+ ],
28
+ scripts: [{ attrs: {
29
+ type: "module",
30
+ async: !0,
31
+ src: "/assets/index-BNkxg4jz.js"
32
+ } }]
33
+ },
34
+ "/": {
35
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/index.tsx",
36
+ children: void 0,
37
+ preloads: [
38
+ "/assets/routes-BFE-oRIT.js",
39
+ "/assets/dialog-dyZ1SphZ.js",
40
+ "/assets/composite-CHTH1Xhh.js",
41
+ "/assets/useCompositeListItem-BkPDaqyj.js",
42
+ "/assets/table-BBEzJ7Xl.js",
43
+ "/assets/input-group-BbHfaBzQ.js",
44
+ "/assets/card-BEvx_QKh.js",
45
+ "/assets/badge-BuMDU0Rf.js",
46
+ "/assets/field-79SVH26s.js"
47
+ ]
48
+ },
49
+ "/api-keys": {
50
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/api-keys.tsx",
51
+ children: void 0,
52
+ preloads: [
53
+ "/assets/api-keys-C1sgC6ko.js",
54
+ "/assets/dialog-dyZ1SphZ.js",
55
+ "/assets/table-BBEzJ7Xl.js",
56
+ "/assets/refresh-cw-DZgiAOMk.js",
57
+ "/assets/card-BEvx_QKh.js",
58
+ "/assets/badge-BuMDU0Rf.js",
59
+ "/assets/field-79SVH26s.js"
60
+ ]
61
+ },
62
+ "/insights": {
63
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/insights.tsx",
64
+ children: void 0,
65
+ preloads: [
66
+ "/assets/insights-D_7uSKfc.js",
67
+ "/assets/composite-CHTH1Xhh.js",
68
+ "/assets/useCompositeListItem-BkPDaqyj.js",
69
+ "/assets/InsightsPageHeader-C-Xc2MB9.js",
70
+ "/assets/card-BEvx_QKh.js",
71
+ "/assets/field-79SVH26s.js"
72
+ ]
73
+ },
74
+ "/installations": {
75
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/installations.tsx",
76
+ children: void 0,
77
+ preloads: [
78
+ "/assets/installations-BzoHWuXw.js",
79
+ "/assets/InsightsPageHeader-C-Xc2MB9.js",
80
+ "/assets/table-BBEzJ7Xl.js",
81
+ "/assets/input-group-BbHfaBzQ.js",
82
+ "/assets/refresh-cw-DZgiAOMk.js",
83
+ "/assets/card-BEvx_QKh.js",
84
+ "/assets/badge-BuMDU0Rf.js",
85
+ "/assets/field-79SVH26s.js"
86
+ ]
87
+ },
88
+ "/signing": {
89
+ filePath: "/home/runner/work/hot-updater/hot-updater/packages/console/src/routes/signing.tsx",
90
+ children: void 0,
91
+ preloads: [
92
+ "/assets/signing-BTRhaF5D.js",
93
+ "/assets/refresh-cw-DZgiAOMk.js",
94
+ "/assets/card-BEvx_QKh.js",
95
+ "/assets/badge-BuMDU0Rf.js"
96
+ ]
97
+ }
98
+ } });
99
+ //#endregion
100
+ export { tsrStartManifest };