@hot-updater/console 1.0.0 → 1.0.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 (146) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/{ConsoleFeatureUnavailable-jB4Loglh.js → ConsoleFeatureUnavailable-Bf8tgug-.js} +1 -1
  3. package/.output/public/assets/{EventDetails-B6yUsyNA.js → EventDetails-CgtEWl-Y.js} +1 -1
  4. package/.output/public/assets/HashValueDisplay-DvXl147n.js +1 -0
  5. package/.output/public/assets/{InsightsPageHeader-B892oVml.js → InsightsPageHeader-eViliItR.js} +1 -1
  6. package/.output/public/assets/{NotFoundPage-DIqCpWa3.js → NotFoundPage-HomiHjdL.js} +1 -1
  7. package/.output/public/assets/{alert-dialog-Bbk_4-WJ.js → alert-dialog-BSs_5Od-.js} +1 -1
  8. package/.output/public/assets/{api-DCM0wr6O.js → api-DSWk32Mz.js} +1 -1
  9. package/.output/public/assets/api-keys-CHA2X9W0.js +1 -0
  10. package/.output/public/assets/api-keys-D0yD891K.js +1 -0
  11. package/.output/public/assets/arrow-left-vK2qGQsd.js +1 -0
  12. package/.output/public/assets/arrow-up-right-Dz8o-Kab.js +1 -0
  13. package/.output/public/assets/chevron-right-CBl7aqu_.js +1 -0
  14. package/.output/public/assets/{clipboard-DS9ucUQL.js → clipboard-BYT_TJ0K.js} +1 -1
  15. package/.output/public/assets/{console-features-api-BH5m_PtQ.js → console-features-api-BD7j--gS.js} +1 -1
  16. package/.output/public/assets/{dialog-Bqbb7B0N.js → dialog-YKZpU5St.js} +1 -1
  17. package/.output/public/assets/{dist-LxKJB-Vu.js → dist-B7eA4Mtf.js} +1 -1
  18. package/.output/public/assets/{empty-CuT2UhFp.js → empty-L3UcNk_l.js} +1 -1
  19. package/.output/public/assets/{field-BBDpjIqu.js → field-DNqNwq7i.js} +1 -1
  20. package/.output/public/assets/{index-6o51GkFe.js → index-C-dDMnWK.js} +4 -4
  21. package/.output/public/assets/{input-group-ja_30qaF.js → input-group-C9ZIjV0o.js} +1 -1
  22. package/.output/public/assets/insights-C54__dPi.js +1 -0
  23. package/.output/public/assets/insights-DM0CTj58.js +2 -0
  24. package/.output/public/assets/insights-SVMoazdd.js +42 -0
  25. package/.output/public/assets/{insights-api-BigAU9sZ.js → insights-api-BsX1zQDf.js} +1 -1
  26. package/.output/public/assets/insights-search-B-F2wop6.js +1 -0
  27. package/.output/public/assets/insights-usage-rpc-CSAoKS_b.js +1 -0
  28. package/.output/public/assets/insights_.distribution-BAaD6rZK.js +1 -0
  29. package/.output/public/assets/insights_.distribution-C6tGV7qU.js +2 -0
  30. package/.output/public/assets/insights_.distribution-oxPmgcHr.js +1 -0
  31. package/.output/public/assets/installations-1jALHnM3.js +1 -0
  32. package/.output/public/assets/installations-DUidui9Z.js +1 -0
  33. package/.output/public/assets/{installations-BazSJXE0.js → installations-RfpwK-ld.js} +2 -2
  34. package/.output/public/assets/{key-round-wS_SIZ6b.js → key-round-CrqLmblG.js} +1 -1
  35. package/.output/public/assets/{list-CgrYiadM.js → list-BSpjGUS6.js} +1 -1
  36. package/.output/public/assets/{refresh-cw-BYgoNCco.js → refresh-cw-BMlpOsfM.js} +1 -1
  37. package/.output/public/assets/remote-config-BcoOZ9fs.js +1 -0
  38. package/.output/public/assets/remote-config-BtStN5bt.js +1 -0
  39. package/.output/public/assets/{remote-config-Br56BODb.js → remote-config-Cwwsatrr.js} +4 -4
  40. package/.output/public/assets/routes-Bc3J564t.js +2 -0
  41. package/.output/public/assets/routes-Bxu5_zNh.js +1 -0
  42. package/.output/public/assets/search-B_o3avCI.js +1 -0
  43. package/.output/public/assets/select-BE-xONpm.js +1 -0
  44. package/.output/public/assets/{sidebar-DNVyJPfX.js → sidebar-CQ6iq0qe.js} +1 -1
  45. package/.output/public/assets/smartphone--CTny1h9.js +1 -0
  46. package/.output/public/assets/{switch-DZ1TPwx-.js → switch-DR0WP2g8.js} +1 -1
  47. package/.output/public/assets/{table-Gm4qRWwE.js → table-DW0243Jw.js} +1 -1
  48. package/.output/public/assets/tabs-B4Ffq4fD.js +1 -0
  49. package/.output/public/assets/{undo-2-CmrHjwFc.js → undo-2-Dcq6sgUo.js} +1 -1
  50. package/.output/public/assets/{useCompositeListItem-9E4pj_CH.js → useCompositeListItem-VmWjhZ9j.js} +1 -1
  51. package/.output/public/assets/{valueToPercent-CH8GCHaL.js → valueToPercent-C-rPd_Or.js} +1 -1
  52. package/.output/server/{__23tanstack-start-server-fn-resolver-BpRlos5Q.mjs → __23tanstack-start-server-fn-resolver-CludPNXL.mjs} +40 -40
  53. package/.output/server/_libs/@base-ui/react+[...].mjs +20 -20
  54. package/.output/server/_libs/@tanstack/react-router+[...].mjs +1 -1
  55. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
  56. package/.output/server/_libs/recharts+[...].mjs +1 -1
  57. package/.output/server/_libs/sonner.mjs +1 -1
  58. package/.output/server/_ssr/{BundleIdDisplay-x94o9rlU.mjs → BundleIdDisplay-CAIibMnZ.mjs} +2 -2
  59. package/.output/server/_ssr/{ConsoleFeatureUnavailable-ldW8v8-q.mjs → ConsoleFeatureUnavailable-CTbvhAts.mjs} +6 -6
  60. package/.output/server/_ssr/{EventDetails-Q8kfj9Nr.mjs → EventDetails-Dz5O2hup.mjs} +6 -6
  61. package/.output/server/_ssr/{HashValueDisplay-n1GholGS.mjs → HashValueDisplay-BBUzwDu0.mjs} +2 -2
  62. package/.output/server/_ssr/{InsightsPageHeader-BSUX3Ye9.mjs → InsightsPageHeader-BisxLsg_.mjs} +6 -6
  63. package/.output/server/_ssr/{NotFoundPage-DZzOOzS3.mjs → NotFoundPage-oKeLJAKO.mjs} +2 -2
  64. package/.output/server/_ssr/{alert-dialog-C43Doa0I.mjs → alert-dialog-D9gKu-6B.mjs} +1 -1
  65. package/.output/server/_ssr/{api-oZjRn9tP.mjs → api-Ctf4ONl0.mjs} +3 -3
  66. package/.output/server/_ssr/{api-keys-CEnM9fqG.mjs → api-keys-BYVLgcvB.mjs} +2 -2
  67. package/.output/server/_ssr/{api-keys-B4sYm8dM.mjs → api-keys-CBdMIgQH.mjs} +7 -7
  68. package/.output/server/_ssr/{api-keys-rpc-BIFuUgMt.mjs → api-keys-rpc-D_MGDGrN.mjs} +3 -3
  69. package/.output/server/_ssr/{api-rpc-BNiFRRK8.mjs → api-rpc-BOn0fmSj.mjs} +3 -3
  70. package/.output/server/_ssr/{auth-rpc-DnZqYxyq.mjs → auth-rpc-MuU8dCi_.mjs} +4 -4
  71. package/.output/server/_ssr/{auth.server-DFpyxRDd.mjs → auth.server-QA_53YPj.mjs} +2 -2
  72. package/.output/server/_ssr/{config.server-DskXCAyI.mjs → config.server-fNcSQwfX.mjs} +3 -3
  73. package/.output/server/_ssr/{console-access-BJfAXknd.mjs → console-access-C6aSaMHp.mjs} +2 -2
  74. package/.output/server/_ssr/{console-features-api-C9kiKvaV.mjs → console-features-api-nN-3jUli.mjs} +5 -5
  75. package/.output/server/_ssr/{console-features-rpc-P0GL7Z-R.mjs → console-features-rpc-By6Aak_o.mjs} +3 -3
  76. package/.output/server/_ssr/{dialog-BbYDMjdC.mjs → dialog-IVRlM1J9.mjs} +1 -1
  77. package/.output/server/_ssr/{empty-CVLGfxuu.mjs → empty-CXw7UkQ9.mjs} +2 -2
  78. package/.output/server/_ssr/{field-asw83X0v.mjs → field-D5rycmNU.mjs} +2 -2
  79. package/.output/server/_ssr/{input-group-CuYJHosb.mjs → input-group-CcwGtPaf.mjs} +1 -1
  80. package/.output/server/_ssr/{insights-B55FG5fm.mjs → insights-BO3tHc8m.mjs} +5 -5
  81. package/.output/server/_ssr/{insights-CWnHIFUV.mjs → insights-BfjtzxAt.mjs} +2 -2
  82. package/.output/server/_ssr/{insights-CpLpedFZ.mjs → insights-CKC8xDHf.mjs} +24 -24
  83. package/.output/server/_ssr/{insights-api-sjws23WF.mjs → insights-api-CxvjRcJY.mjs} +3 -3
  84. package/.output/server/_ssr/{insights-failures-rpc-BvbWvqNf.mjs → insights-failures-rpc-3LR3gf5_.mjs} +4 -4
  85. package/.output/server/_ssr/{insights-recovery-rpc-GiYXdkaY.mjs → insights-recovery-rpc-KZuPFtPi.mjs} +3 -3
  86. package/.output/server/_ssr/{insights-rpc-DP_8Rmz4.mjs → insights-rpc-B5DF87z1.mjs} +3 -3
  87. package/.output/server/_ssr/{InsightsInfo-DuJFatQO.mjs → insights-search--Biw1Q83.mjs} +31 -31
  88. package/.output/server/_ssr/{insights-usage-rpc-BiolgB8e.mjs → insights-usage-rpc-BjyoZrsk.mjs} +3 -3
  89. package/.output/server/_ssr/{insights-usage-rpc-KStL0zOx.mjs → insights-usage-rpc-Dvt-RmGH.mjs} +3 -3
  90. package/.output/server/_ssr/{insights_.distribution-CVrnbP3R.mjs → insights_.distribution-C9WdD2pp.mjs} +2 -2
  91. package/.output/server/_ssr/{insights_.distribution-DN9pR422.mjs → insights_.distribution-Czd0R3x1.mjs} +13 -13
  92. package/.output/server/_ssr/{insights_.distribution-D2HaNTAA.mjs → insights_.distribution-DMcff9C5.mjs} +5 -5
  93. package/.output/server/_ssr/{installations-DD1g__Nc.mjs → installations-BZg4I7rk.mjs} +4 -4
  94. package/.output/server/_ssr/{installations-BSCmFq8Q.mjs → installations-CETpe6aH.mjs} +10 -10
  95. package/.output/server/_ssr/{installations-BHmbbnH8.mjs → installations-CbX4TTtL.mjs} +2 -2
  96. package/.output/server/_ssr/{release-adoption-rpc-BsstqxUp.mjs → release-adoption-rpc-CEY0I6O4.mjs} +5 -5
  97. package/.output/server/_ssr/{remote-config-Dv1ccMo-.mjs → remote-config-BZoufETF.mjs} +2 -2
  98. package/.output/server/_ssr/{remote-config-C2Ee8lXO.mjs → remote-config-CORErMXh.mjs} +2 -2
  99. package/.output/server/_ssr/{remote-config-of0lGQH8.mjs → remote-config-D2VfWi8m.mjs} +16 -16
  100. package/.output/server/_ssr/{remote-config-rpc-BzX31mUS.mjs → remote-config-rpc-DKcBdTyh.mjs} +3 -3
  101. package/.output/server/_ssr/{router-D8NuoJ_I.mjs → router-CRDbJodQ.mjs} +14 -14
  102. package/.output/server/_ssr/{routes-V8sDybGf.mjs → routes-Bpmxf-r8.mjs} +12 -12
  103. package/.output/server/_ssr/{routes-DgvnFqDy.mjs → routes-DC3sK0ON.mjs} +38 -25
  104. package/.output/server/_ssr/{select-t3iXRwc9.mjs → select-CzanJCWl.mjs} +1 -1
  105. package/.output/server/_ssr/{server-h4VxnExB.mjs → server-C4JCTB-q.mjs} +3 -3
  106. package/.output/server/_ssr/{sidebar-DJcErBMo.mjs → sidebar-DcFhy0Zq.mjs} +18 -18
  107. package/.output/server/_ssr/ssr.mjs +1 -1
  108. package/.output/server/_ssr/{switch-E-btwMGt.mjs → switch-DAHDLynM.mjs} +2 -2
  109. package/.output/server/_ssr/{table-37Dd23TN.mjs → table-DNcXrt9t.mjs} +1 -1
  110. package/.output/server/_ssr/{tabs-DEFnTm95.mjs → tabs-BlbEfZeV.mjs} +2 -2
  111. package/.output/server/_tanstack-start-manifest_v-DaM-WBL0.mjs +139 -0
  112. package/.output/server/index.mjs +265 -265
  113. package/package.json +7 -7
  114. package/src/components/{features/insights/InsightsInfo.tsx → InfoTooltip.tsx} +1 -1
  115. package/src/components/features/insights/AppUsage.tsx +3 -3
  116. package/src/components/features/insights/InsightsOverview.tsx +5 -5
  117. package/src/components/features/insights/ReleaseActivity.tsx +5 -5
  118. package/src/components/features/insights/ReportingDevicesSummary.tsx +3 -3
  119. package/src/components/features/insights/UpdateFailures.tsx +2 -4
  120. package/src/components/features/releases/ReleaseEditorSheet.tsx +33 -21
  121. package/src/routes/insights_.distribution.tsx +3 -3
  122. package/.output/public/assets/HashValueDisplay-BFX_kY3-.js +0 -1
  123. package/.output/public/assets/InsightsInfo-BNO0WznZ.js +0 -1
  124. package/.output/public/assets/api-keys-CIO9L_wu.js +0 -1
  125. package/.output/public/assets/api-keys-DVTL_--f.js +0 -1
  126. package/.output/public/assets/arrow-left-CnMYpqB7.js +0 -1
  127. package/.output/public/assets/arrow-up-right-BtffZA6e.js +0 -1
  128. package/.output/public/assets/chevron-right-BqD5wtFb.js +0 -1
  129. package/.output/public/assets/insights-CmraDzQh.js +0 -1
  130. package/.output/public/assets/insights-CxZ2GCYV.js +0 -2
  131. package/.output/public/assets/insights-usage-rpc-DYEhsCKT.js +0 -1
  132. package/.output/public/assets/insights-vNRCrfnS.js +0 -42
  133. package/.output/public/assets/insights_.distribution-ChOerfJt.js +0 -1
  134. package/.output/public/assets/insights_.distribution-D-e4iga8.js +0 -1
  135. package/.output/public/assets/insights_.distribution-DZtkibX1.js +0 -2
  136. package/.output/public/assets/installations-ClHTqdAO.js +0 -1
  137. package/.output/public/assets/installations-DpKsBuHi.js +0 -1
  138. package/.output/public/assets/remote-config-BWwHOkCK.js +0 -1
  139. package/.output/public/assets/remote-config-CXOi0LRu.js +0 -1
  140. package/.output/public/assets/routes-B88Erkpk.js +0 -2
  141. package/.output/public/assets/routes-CfzsAleC.js +0 -1
  142. package/.output/public/assets/search-DaTDPW25.js +0 -1
  143. package/.output/public/assets/select-BZZBXMkr.js +0 -1
  144. package/.output/public/assets/smartphone-DpTFgtKf.js +0 -1
  145. package/.output/public/assets/tabs-C7FOEjFC.js +0 -1
  146. package/.output/server/_tanstack-start-manifest_v-55AGsehh.mjs +0 -139
@@ -1,5 +1,5 @@
1
- import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-ldW8v8-q.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-CEnM9fqG.js
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-CTbvhAts.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-BYVLgcvB.js
3
3
  var SplitNotFoundComponent = ConsoleFeatureUnavailable;
4
4
  //#endregion
5
5
  export { SplitNotFoundComponent as notFoundComponent };
@@ -1,16 +1,16 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
3
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
4
3
  import { _t as require_react, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
5
4
  import { D as KeyRound, G as Check, L as Clipboard, T as LoaderCircle, _ as Plus, f as ShieldOff, g as RefreshCw, i as TriangleAlert } from "../_libs/lucide-react.mjs";
6
- import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, n as Input, t as Button$1 } from "./sidebar-DJcErBMo.mjs";
7
- import { a as Badge, d as CardTitle, f as Field, g as FieldLabel, h as FieldGroup, i as AlertTitle, m as FieldError, n as AlertAction, o as Card, p as FieldDescription, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./field-asw83X0v.mjs";
8
- import { a as AlertDialogDescription, c as AlertDialogMedia, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1, u as AlertDialogTrigger } from "./alert-dialog-C43Doa0I.mjs";
9
- import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-BbYDMjdC.mjs";
10
- import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-37Dd23TN.mjs";
5
+ import { A as createSsrRpc, C as Skeleton, S as SidebarTrigger, n as Input, t as Button$1 } from "./sidebar-DcFhy0Zq.mjs";
6
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
11
7
  import { i as useQuery, n as useMutation, s as useQueryClient } from "../_libs/tanstack__react-query.mjs";
8
+ import { a as Badge, d as CardTitle, f as Field, g as FieldLabel, h as FieldGroup, i as AlertTitle, m as FieldError, n as AlertAction, o as Card, p as FieldDescription, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./field-D5rycmNU.mjs";
9
+ import { a as AlertDialogDescription, c as AlertDialogMedia, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1, u as AlertDialogTrigger } from "./alert-dialog-D9gKu-6B.mjs";
10
+ import { a as DialogHeader, i as DialogFooter, n as DialogContent, o as DialogTitle, r as DialogDescription, t as Dialog$1 } from "./dialog-IVRlM1J9.mjs";
11
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-DNcXrt9t.mjs";
12
12
  import { n as toast } from "../_libs/sonner.mjs";
13
- //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-B4sYm8dM.js
13
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-CBdMIgQH.js
14
14
  var import_react = /* @__PURE__ */ __toESM(require_react());
15
15
  var import_jsx_runtime = require_jsx_runtime();
16
16
  var parseName = (input) => {
@@ -1,7 +1,7 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-rpc-BIFuUgMt.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-keys-rpc-D_MGDGrN.js
5
5
  var parseName = (input) => {
6
6
  const name = typeof input === "object" && input !== null ? Reflect.get(input, "name") : void 0;
7
7
  if (typeof name !== "string") throw new TypeError("API key name must be a string.");
@@ -14,7 +14,7 @@ var parseId = (input) => {
14
14
  };
15
15
  /** API key management, once the console's access check and the feature guard pass. */
16
16
  var apiKeyManagement = async () => {
17
- const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-DskXCAyI.mjs"), import("./runtime.server-De0QVWc9.mjs")]);
17
+ const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-fNcSQwfX.mjs"), import("./runtime.server-De0QVWc9.mjs")]);
18
18
  const { runtime } = await prepareConfig();
19
19
  return requireFeature(runtime, "apiKeys");
20
20
  };
@@ -1,11 +1,11 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
4
  import { S as isReleaseEligibleForCohort, i as NUMERIC_COHORT_SIZE } from "./dist-CbQbBIw-.mjs";
5
5
  import { i as rowToBundle } from "./databaseRows-CPphvbag.mjs";
6
6
  import { t as ReleaseManagementError } from "./releaseManagement-DFMUnDF5.mjs";
7
7
  import { n as readReleaseFilter, t as listReleases } from "./listReleases-BfUBlCHo.mjs";
8
- //#region node_modules/.nitro/vite/services/ssr/assets/api-rpc-BNiFRRK8.js
8
+ //#region node_modules/.nitro/vite/services/ssr/assets/api-rpc-BOn0fmSj.js
9
9
  var withPublicBundleMutationErrors = async (action) => {
10
10
  try {
11
11
  return await action();
@@ -56,7 +56,7 @@ var pageLimit = (limit) => {
56
56
  return value;
57
57
  };
58
58
  var prepare = async () => {
59
- const { prepareConfig } = await import("./config.server-DskXCAyI.mjs");
59
+ const { prepareConfig } = await import("./config.server-fNcSQwfX.mjs");
60
60
  return prepareConfig();
61
61
  };
62
62
  var getReleases_createServerFn_handler = createServerRpc({
@@ -1,14 +1,14 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
2
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
3
- import { r as getRequest } from "./server-h4VxnExB.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/auth-rpc-DnZqYxyq.js
3
+ import { r as getRequest } from "./server-C4JCTB-q.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/auth-rpc-MuU8dCi_.js
5
5
  var getConsoleAccessRpc_createServerFn_handler = createServerRpc({
6
6
  id: "c504696e68ba764b48c48aa8a40275938640941e473cf9cfdd7b2322d99f9d13",
7
7
  name: "getConsoleAccessRpc",
8
8
  filename: "src/lib/auth-rpc.ts"
9
9
  }, (opts) => getConsoleAccessRpc.__executeServer(opts));
10
10
  var getConsoleAccessRpc = createServerFn({ method: "GET" }).handler(getConsoleAccessRpc_createServerFn_handler, async () => {
11
- const { getConsoleAccess } = await import("./auth.server-DFpyxRDd.mjs");
11
+ const { getConsoleAccess } = await import("./auth.server-QA_53YPj.mjs");
12
12
  return getConsoleAccess(getRequest());
13
13
  });
14
14
  var getConsoleAuthProvidersRpc_createServerFn_handler = createServerRpc({
@@ -17,7 +17,7 @@ var getConsoleAuthProvidersRpc_createServerFn_handler = createServerRpc({
17
17
  filename: "src/lib/auth-rpc.ts"
18
18
  }, (opts) => getConsoleAuthProvidersRpc.__executeServer(opts));
19
19
  var getConsoleAuthProvidersRpc = createServerFn({ method: "GET" }).handler(getConsoleAuthProvidersRpc_createServerFn_handler, async () => {
20
- const { getConsoleAuthProviders } = await import("./auth.server-DFpyxRDd.mjs");
20
+ const { getConsoleAuthProviders } = await import("./auth.server-QA_53YPj.mjs");
21
21
  return getConsoleAuthProviders(getRequest());
22
22
  });
23
23
  //#endregion
@@ -6,7 +6,7 @@ import { n as createUUIDv7After, t as createUUIDv7 } from "./uuidv7-C88s9jWF.mjs
6
6
  import { a as normalize, i as defineTable, n as compare, o as normalizeRange, r as defineAggregate, s as parseRange } from "./schema-BiAVyEj2.mjs";
7
7
  import { t as isRemoteDatabase } from "./databaseConfig-C5SkAyUy.mjs";
8
8
  import { r as rangesIntersect } from "../_libs/verkit.mjs";
9
- //#region node_modules/.nitro/vite/services/ssr/assets/auth.server-DFpyxRDd.js
9
+ //#region node_modules/.nitro/vite/services/ssr/assets/auth.server-QA_53YPj.js
10
10
  var SHA256_FILE_HASH_RE = /^[0-9a-f]{64}$/;
11
11
  var isContentAddressedAssetFileHash = (value) => {
12
12
  return typeof value === "string" && SHA256_FILE_HASH_RE.test(value);
@@ -3098,7 +3098,7 @@ var createEngine = (database, { plugins = [], now = Date.now } = {}) => {
3098
3098
  dispose: () => engine.dispose()
3099
3099
  };
3100
3100
  };
3101
- var HOT_UPDATER_SERVER_VERSION = "1.0.0";
3101
+ var HOT_UPDATER_SERVER_VERSION = "1.0.1";
3102
3102
  /**
3103
3103
  * `/version` on both mounts. The admin mount also lists the ids of the
3104
3104
  * plugins the server runs, sorted; apps never learn which plugins a server
@@ -1,6 +1,6 @@
1
- import { r as getRequest } from "./server-h4VxnExB.mjs";
2
- import { requireConsoleAccess, t as resolveConsoleConfig } from "./auth.server-DFpyxRDd.mjs";
3
- //#region node_modules/.nitro/vite/services/ssr/assets/config.server-DskXCAyI.js
1
+ import { r as getRequest } from "./server-C4JCTB-q.mjs";
2
+ import { requireConsoleAccess, t as resolveConsoleConfig } from "./auth.server-QA_53YPj.mjs";
3
+ //#region node_modules/.nitro/vite/services/ssr/assets/config.server-fNcSQwfX.js
4
4
  var configPromise = null;
5
5
  var core = null;
6
6
  var runtime = null;
@@ -1,5 +1,5 @@
1
1
  import { c as createMiddleware } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/console-access-BJfAXknd.js
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/console-access-C6aSaMHp.js
3
3
  /**
4
4
  * Refuses a caller the console does not authorize before a server function
5
5
  * reads its input. TanStack Start runs a function's middleware before the
@@ -9,7 +9,7 @@ import { c as createMiddleware } from "./createMiddleware-Cm6Tn0_Y.mjs";
9
9
  * `console-access.spec.ts` checks that.
10
10
  */
11
11
  var consoleAccess = createMiddleware({ type: "function" }).server(async ({ next }) => {
12
- const [{ getRequest }, { requireConsoleAccess }] = await Promise.all([import("./server-h4VxnExB.mjs").then((n) => n.t), import("./auth.server-DFpyxRDd.mjs")]);
12
+ const [{ getRequest }, { requireConsoleAccess }] = await Promise.all([import("./server-C4JCTB-q.mjs").then((n) => n.t), import("./auth.server-QA_53YPj.mjs")]);
13
13
  await requireConsoleAccess(getRequest());
14
14
  return next();
15
15
  });
@@ -1,10 +1,10 @@
1
- import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
3
- import { A as createSsrRpc } from "./sidebar-DJcErBMo.mjs";
4
- import { i as useQuery, r as queryOptions } from "../_libs/tanstack__react-query.mjs";
5
1
  import { n as consoleFeatures } from "./console-features-Oz0q20jJ.mjs";
2
+ import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
3
+ import { A as createSsrRpc } from "./sidebar-DcFhy0Zq.mjs";
4
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
6
5
  import { _ as notFound } from "../_libs/@tanstack/react-router+[...].mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/console-features-api-C9kiKvaV.js
6
+ import { i as useQuery, r as queryOptions } from "../_libs/tanstack__react-query.mjs";
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/console-features-api-nN-3jUli.js
8
8
  /** The features this console serves, for navigation and route guards. */
9
9
  var getConsoleFeaturesRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(createSsrRpc("82ec3500e57f9e81dac6d3f3a7bd9e34915da3121429beec87b7ad153dc6eafe"));
10
10
  var consoleFeaturesQueryKey = ["console", "features"];
@@ -1,14 +1,14 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/console-features-rpc-P0GL7Z-R.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/console-features-rpc-By6Aak_o.js
5
5
  var getConsoleFeaturesRpc_createServerFn_handler = createServerRpc({
6
6
  id: "82ec3500e57f9e81dac6d3f3a7bd9e34915da3121429beec87b7ad153dc6eafe",
7
7
  name: "getConsoleFeaturesRpc",
8
8
  filename: "src/lib/console-features-rpc.ts"
9
9
  }, (opts) => getConsoleFeaturesRpc.__executeServer(opts));
10
10
  var getConsoleFeaturesRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).handler(getConsoleFeaturesRpc_createServerFn_handler, async () => {
11
- const { prepareConfig } = await import("./config.server-DskXCAyI.mjs");
11
+ const { prepareConfig } = await import("./config.server-fNcSQwfX.mjs");
12
12
  const { runtime } = await prepareConfig();
13
13
  return {
14
14
  features: await runtime.features(),
@@ -1,7 +1,7 @@
1
1
  import "../_runtime.mjs";
2
2
  import { $ as DialogPopup, Q as DialogPortal$1, X as DialogTitle$1, Y as DialogTrigger$1, Z as DialogRoot, _t as require_react, et as DialogDescription$1, gt as require_jsx_runtime, nt as DialogBackdrop, tt as DialogClose } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { t as X } from "../_libs/lucide-react.mjs";
4
- import { k as cn, t as Button$1 } from "./sidebar-DJcErBMo.mjs";
4
+ import { k as cn, t as Button$1 } from "./sidebar-DcFhy0Zq.mjs";
5
5
  require_react();
6
6
  var import_jsx_runtime = require_jsx_runtime();
7
7
  function Dialog$1({ ...props }) {
@@ -1,7 +1,7 @@
1
1
  import { gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
2
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
3
- import { k as cn } from "./sidebar-DJcErBMo.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/empty-CVLGfxuu.js
3
+ import { k as cn } from "./sidebar-DcFhy0Zq.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/empty-CXw7UkQ9.js
5
5
  var import_jsx_runtime = require_jsx_runtime();
6
6
  function Empty({ className, ...props }) {
7
7
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", {
@@ -1,8 +1,8 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { _t as require_react, gt as require_jsx_runtime, ht as mergeProps, rt as useRender } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
4
- import { k as cn } from "./sidebar-DJcErBMo.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/field-asw83X0v.js
4
+ import { k as cn } from "./sidebar-DcFhy0Zq.mjs";
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/field-D5rycmNU.js
6
6
  var import_react = /* @__PURE__ */ __toESM(require_react());
7
7
  var import_jsx_runtime = require_jsx_runtime();
8
8
  function Card({ className, ...props }) {
@@ -1,7 +1,7 @@
1
1
  import "../_runtime.mjs";
2
2
  import { _t as require_react, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { t as cva } from "../_libs/class-variance-authority+clsx.mjs";
4
- import { k as cn, n as Input, t as Button$1 } from "./sidebar-DJcErBMo.mjs";
4
+ import { k as cn, n as Input, t as Button$1 } from "./sidebar-DcFhy0Zq.mjs";
5
5
  require_react();
6
6
  var import_jsx_runtime = require_jsx_runtime();
7
7
  function Textarea({ className, ...props }) {
@@ -1,9 +1,9 @@
1
1
  import { f as lazyRouteComponent, p as createFileRoute } from "../_libs/@tanstack/react-router+[...].mjs";
2
- import { r as requireConsoleFeature } from "./console-features-api-C9kiKvaV.mjs";
3
- import { a as validateInsightsSearch } from "./InsightsInfo-DuJFatQO.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-B55FG5fm.js
5
- var $$splitComponentImporter = () => import("./insights-CpLpedFZ.mjs");
6
- var $$splitNotFoundComponentImporter = () => import("./insights-CWnHIFUV.mjs");
2
+ import { r as requireConsoleFeature } from "./console-features-api-nN-3jUli.mjs";
3
+ import { a as validateInsightsSearch } from "./insights-search--Biw1Q83.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-BO3tHc8m.js
5
+ var $$splitComponentImporter = () => import("./insights-CKC8xDHf.mjs");
6
+ var $$splitNotFoundComponentImporter = () => import("./insights-BfjtzxAt.mjs");
7
7
  var Route = createFileRoute("/insights")({
8
8
  beforeLoad: ({ context }) => requireConsoleFeature(context.queryClient, "insightsAnalytics"),
9
9
  notFoundComponent: lazyRouteComponent($$splitNotFoundComponentImporter, "notFoundComponent"),
@@ -1,5 +1,5 @@
1
- import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-ldW8v8-q.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-CWnHIFUV.js
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-CTbvhAts.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-BfjtzxAt.js
3
3
  var SplitNotFoundComponent = ConsoleFeatureUnavailable;
4
4
  //#endregion
5
5
  export { SplitNotFoundComponent as notFoundComponent };
@@ -1,34 +1,34 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
3
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
4
3
  import { C as ScrollAreaScrollbar, S as ScrollAreaThumb, T as ScrollAreaRoot, _ as ComboboxList$1, _t as require_react, b as ComboboxTrigger$1, d as ComboboxRoot, f as ComboboxEmpty$1, g as ComboboxPortal, gt as require_jsx_runtime, h as ComboboxPositioner, m as ComboboxPopup, p as ComboboxItem$1, u as ComboboxItemIndicator, v as ComboboxClear$1, w as ScrollAreaViewport, x as ScrollAreaCorner, y as ComboboxInput$1 } from "../_libs/@base-ui/react+[...].mjs";
5
4
  import { E as List, G as Check, H as ChevronRight, I as Copy, W as ChevronDown, X as ArrowUpRight, Z as ArrowRight, g as RefreshCw, h as RotateCcw, i as TriangleAlert, m as RotateCw, r as Undo2, t as X } from "../_libs/lucide-react.mjs";
6
- import { A as createSsrRpc, C as Skeleton, O as buttonVariants, a as SheetContent, c as SheetTitle, i as Sheet, k as cn, l as SheetTrigger, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button$1 } from "./sidebar-DJcErBMo.mjs";
7
- import { a as Badge, c as CardDescription, d as CardTitle, f as Field, g as FieldLabel, h as FieldGroup, i as AlertTitle, l as CardFooter, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./field-asw83X0v.mjs";
8
- import { a as AlertDialogDescription, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1 } from "./alert-dialog-C43Doa0I.mjs";
9
- import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-37Dd23TN.mjs";
5
+ import { A as createSsrRpc, C as Skeleton, O as buttonVariants, a as SheetContent, c as SheetTitle, i as Sheet, k as cn, l as SheetTrigger, n as Input, o as SheetDescription, r as Separator$1, s as SheetHeader, t as Button$1 } from "./sidebar-DcFhy0Zq.mjs";
6
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
7
+ import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
10
8
  import { a as useQueries, i as useQuery, s as useQueryClient } from "../_libs/tanstack__react-query.mjs";
9
+ import { i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-CXw7UkQ9.mjs";
10
+ import { a as Badge, c as CardDescription, d as CardTitle, f as Field, g as FieldLabel, h as FieldGroup, i as AlertTitle, l as CardFooter, o as Card, r as AlertDescription, s as CardContent, t as Alert, u as CardHeader } from "./field-D5rycmNU.mjs";
11
+ import { a as AlertDialogDescription, i as AlertDialogContent, l as AlertDialogTitle, n as AlertDialogAction, o as AlertDialogFooter, r as AlertDialogCancel, s as AlertDialogHeader, t as AlertDialog$1 } from "./alert-dialog-D9gKu-6B.mjs";
12
+ import { a as TableHeader, i as TableHead, n as TableBody, o as TableRow, r as TableCell, t as Table } from "./table-DNcXrt9t.mjs";
11
13
  import { n as toast } from "../_libs/sonner.mjs";
12
- import { h as Link } from "../_libs/@tanstack/react-router+[...].mjs";
13
- import { i as EmptyHeader, n as EmptyContent, o as EmptyTitle, r as EmptyDescription, t as Empty } from "./empty-CVLGfxuu.mjs";
14
14
  import { r as recoveryWindows, t as insightsPeriodEnd } from "./insights-recovery-BWQhiZaF.mjs";
15
15
  import { a as failureReasonLabel, i as failureRate, o as failureStageLabel, r as failureDetailParts, s as formatRate, t as checkFailureRate } from "./insights-failures-xaa41Buf.mjs";
16
16
  import { t as groupFailureReports } from "./insights-errors-BjnFUyZj.mjs";
17
17
  import { n as usageMetrics } from "./insights-usage-BpBM0U0c.mjs";
18
18
  import { a as readBundleEventsInput, i as readAdoptionReleasesInput, n as crashRateOf, o as recommendsRollback, r as readAdoptionReleaseInput, t as CRASH_RATE_THRESHOLD } from "./release-adoption-005tQRpo.mjs";
19
- import { i as useFailureReportsQuery, l as useInsightsRetention, r as keepsTwelveMonths, t as DEFAULT_INSIGHTS_RETENTION, u as useUpdateFailuresQuery } from "./insights-api-sjws23WF.mjs";
20
- import { r as comparedBundleIds, t as InsightsInfo } from "./InsightsInfo-DuJFatQO.mjs";
21
- import { t as Route } from "./insights-B55FG5fm.mjs";
22
- import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs$1 } from "./tabs-DEFnTm95.mjs";
23
- import { a as SelectItem, i as SelectGroup, n as Select$1, o as SelectTrigger, r as SelectContent, s as SelectValue, t as PlatformIcon } from "./select-t3iXRwc9.mjs";
24
- import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-CuYJHosb.mjs";
25
- import { i as useChannelsQuery, l as usePreflightReleaseMutation, m as useUpdateReleaseMutation } from "./api-oZjRn9tP.mjs";
26
- import { t as BundleIdDisplay } from "./BundleIdDisplay-x94o9rlU.mjs";
27
- import { n as getAppUsageReportRpc, t as Progress$1 } from "./insights-usage-rpc-KStL0zOx.mjs";
28
- import { i as InsightsPeriodSelector, n as InsightsErrorAlert, o as UsagePeriodSelector, r as InsightsPageHeader } from "./InsightsPageHeader-BSUX3Ye9.mjs";
29
- import { i as HttpResponseBody, n as EventTimestamp, o as useInsightsTimeFormat, t as EventBundleTransition } from "./EventDetails-Q8kfj9Nr.mjs";
19
+ import { r as comparedBundleIds, t as InfoTooltip } from "./insights-search--Biw1Q83.mjs";
20
+ import { i as useFailureReportsQuery, l as useInsightsRetention, r as keepsTwelveMonths, t as DEFAULT_INSIGHTS_RETENTION, u as useUpdateFailuresQuery } from "./insights-api-CxvjRcJY.mjs";
21
+ import { t as Route } from "./insights-BO3tHc8m.mjs";
22
+ import { i as TabsTrigger, n as TabsContent, r as TabsList, t as Tabs$1 } from "./tabs-BlbEfZeV.mjs";
23
+ import { a as SelectItem, i as SelectGroup, n as Select$1, o as SelectTrigger, r as SelectContent, s as SelectValue, t as PlatformIcon } from "./select-CzanJCWl.mjs";
24
+ import { i as InputGroupInput, n as InputGroupAddon, r as InputGroupButton, t as InputGroup } from "./input-group-CcwGtPaf.mjs";
25
+ import { i as useChannelsQuery, l as usePreflightReleaseMutation, m as useUpdateReleaseMutation } from "./api-Ctf4ONl0.mjs";
26
+ import { t as BundleIdDisplay } from "./BundleIdDisplay-CAIibMnZ.mjs";
27
+ import { n as getAppUsageReportRpc, t as Progress$1 } from "./insights-usage-rpc-Dvt-RmGH.mjs";
28
+ import { i as InsightsPeriodSelector, n as InsightsErrorAlert, o as UsagePeriodSelector, r as InsightsPageHeader } from "./InsightsPageHeader-BisxLsg_.mjs";
29
+ import { i as HttpResponseBody, n as EventTimestamp, o as useInsightsTimeFormat, t as EventBundleTransition } from "./EventDetails-Dz5O2hup.mjs";
30
30
  import { a as CartesianGrid, i as Line, l as ResponsiveContainer, n as YAxis, o as ReferenceLine, r as XAxis, s as Tooltip, t as LineChart } from "../_libs/recharts+[...].mjs";
31
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-CpLpedFZ.js
31
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-CKC8xDHf.js
32
32
  var import_react = /* @__PURE__ */ __toESM(require_react());
33
33
  var import_jsx_runtime = require_jsx_runtime();
34
34
  var THEMES = {
@@ -218,7 +218,7 @@ function ReportingDevicesSummary({ window, count, isPending, partial }) {
218
218
  children: count === void 0 ? "—" : partial ? `≥${count.toLocaleString()}` : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(EstimatedCount, { value: count })
219
219
  }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
220
220
  className: "flex items-center gap-1 text-sm text-muted-foreground",
221
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: metric.label }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InsightsInfo, {
221
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { children: metric.label }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InfoTooltip, {
222
222
  label: `How ${metric.label} is counted`,
223
223
  children: [
224
224
  "Installations that reported in the last ",
@@ -360,7 +360,7 @@ function AppUsage({ query, search, window, onWindowChange, retention = DEFAULT_I
360
360
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(CardTitle, {
361
361
  className: "flex min-h-9 items-center",
362
362
  children: "Distribution"
363
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InsightsInfo, {
363
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InfoTooltip, {
364
364
  label: "How distribution is counted",
365
365
  children: [
366
366
  "Each installation counts once, by its latest report",
@@ -1410,7 +1410,7 @@ function InsightsOverview({ input, chart, onChartChange, health, onReleasesChang
1410
1410
  className: "flex flex-col gap-1",
1411
1411
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
1412
1412
  className: "flex items-center gap-1 text-sm font-medium",
1413
- children: ["Installations downloading and launching each bundle", /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InsightsInfo, {
1413
+ children: ["Installations downloading and launching each bundle", /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InfoTooltip, {
1414
1414
  label: "About adoption",
1415
1415
  children: "Dashed: installations that downloaded the bundle. Solid: installations that launched it. After a forced update the two lines meet."
1416
1416
  })]
@@ -1438,7 +1438,7 @@ function InsightsOverview({ input, chart, onChartChange, health, onReleasesChang
1438
1438
  className: "flex flex-col gap-1",
1439
1439
  children: [/* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", {
1440
1440
  className: "flex items-center gap-1 text-sm font-medium",
1441
- children: ["Crashes after each deployment", /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InsightsInfo, {
1441
+ children: ["Crashes after each deployment", /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(InfoTooltip, {
1442
1442
  label: "About crashes",
1443
1443
  children: [
1444
1444
  "Installations that crashed on a bundle and rolled back. Crash rate = crashed ÷ (launched + crashed). A rollback is suggested at",
@@ -1803,7 +1803,7 @@ function FailureSummary({ id, title, info, rate, of, failures, installations, pr
1803
1803
  /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("h3", {
1804
1804
  id,
1805
1805
  className: "flex min-h-11 items-center gap-1 text-sm font-medium sm:min-h-7",
1806
- children: [title, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InsightsInfo, {
1806
+ children: [title, /* @__PURE__ */ (0, import_jsx_runtime.jsx)(InfoTooltip, {
1807
1807
  label: `About ${title.toLowerCase()}`,
1808
1808
  children: info
1809
1809
  })]
@@ -1,10 +1,10 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
3
- import { A as createSsrRpc } from "./sidebar-DJcErBMo.mjs";
2
+ import { A as createSsrRpc } from "./sidebar-DcFhy0Zq.mjs";
3
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
4
4
  import { i as useQuery, t as useInfiniteQuery } from "../_libs/tanstack__react-query.mjs";
5
5
  import { c as readUpdateFailuresInput } from "./insights-failures-xaa41Buf.mjs";
6
6
  import { n as readFailureReportsInput } from "./insights-errors-BjnFUyZj.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-api-sjws23WF.js
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-api-CxvjRcJY.js
8
8
  var getUpdateFailuresRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readUpdateFailuresInput).handler(createSsrRpc("0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97"));
9
9
  var listFailureReportsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readFailureReportsInput).handler(createSsrRpc("b4388826a9b515fb4d2113270aa8ded1c50ba13d7f07ac2b268c41396e87d0a3"));
10
10
  /** `insights()`'s defaults, for a server that does not report its periods. */
@@ -1,9 +1,9 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
4
  import { c as readUpdateFailuresInput } from "./insights-failures-xaa41Buf.mjs";
5
5
  import { n as readFailureReportsInput } from "./insights-errors-BjnFUyZj.mjs";
6
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-failures-rpc-BvbWvqNf.js
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-failures-rpc-3LR3gf5_.js
7
7
  var getUpdateFailuresRpc_createServerFn_handler = createServerRpc({
8
8
  id: "0d1dacdd1e5ee6b100e5c142fb9af03602b6f2c6fe6af79312b36c223d7f8f97",
9
9
  name: "getUpdateFailuresRpc",
@@ -11,7 +11,7 @@ var getUpdateFailuresRpc_createServerFn_handler = createServerRpc({
11
11
  }, (opts) => getUpdateFailuresRpc.__executeServer(opts));
12
12
  var getUpdateFailuresRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readUpdateFailuresInput).handler(getUpdateFailuresRpc_createServerFn_handler, async ({ data }) => {
13
13
  const [{ prepareConfig }, { getUpdateFailuresReport }, { requireFeature }] = await Promise.all([
14
- import("./config.server-DskXCAyI.mjs"),
14
+ import("./config.server-fNcSQwfX.mjs"),
15
15
  import("./updateFailures-H6pnnYK4.mjs"),
16
16
  import("./runtime.server-De0QVWc9.mjs")
17
17
  ]);
@@ -25,7 +25,7 @@ var listFailureReportsRpc_createServerFn_handler = createServerRpc({
25
25
  }, (opts) => listFailureReportsRpc.__executeServer(opts));
26
26
  var listFailureReportsRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readFailureReportsInput).handler(listFailureReportsRpc_createServerFn_handler, async ({ data }) => {
27
27
  const [{ prepareConfig }, { listFailureReports }, { requireFeature }] = await Promise.all([
28
- import("./config.server-DskXCAyI.mjs"),
28
+ import("./config.server-fNcSQwfX.mjs"),
29
29
  import("./failureReports-DKDhVsXA.mjs"),
30
30
  import("./runtime.server-De0QVWc9.mjs")
31
31
  ]);
@@ -1,8 +1,8 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
4
  import { n as readRecoveryInput } from "./insights-recovery-BWQhiZaF.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-rpc-GiYXdkaY.js
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-recovery-rpc-KZuPFtPi.js
6
6
  function readBundleActivityInput(inputs) {
7
7
  if (!Array.isArray(inputs) || inputs.length > 20) throw new Error("Choose up to 20 bundles.");
8
8
  return inputs.map((input) => {
@@ -21,7 +21,7 @@ var getBundleActivityRpc_createServerFn_handler = createServerRpc({
21
21
  }, (opts) => getBundleActivityRpc.__executeServer(opts));
22
22
  var getBundleActivityRpc = createServerFn({ method: "GET" }).middleware([consoleAccess]).validator(readBundleActivityInput).handler(getBundleActivityRpc_createServerFn_handler, async ({ data }) => {
23
23
  const [{ prepareConfig }, { getBundleActivity }, { requireFeature }] = await Promise.all([
24
- import("./config.server-DskXCAyI.mjs"),
24
+ import("./config.server-fNcSQwfX.mjs"),
25
25
  import("./bundleActivity-M5gzBFNg.mjs"),
26
26
  import("./runtime.server-De0QVWc9.mjs")
27
27
  ]);
@@ -1,10 +1,10 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-rpc-DP_8Rmz4.js
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-rpc-B5DF87z1.js
5
5
  /** The Insights reads, once the console's access check and the feature guard pass. */
6
6
  var insightsReads = async () => {
7
- const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-DskXCAyI.mjs"), import("./runtime.server-De0QVWc9.mjs")]);
7
+ const [{ prepareConfig }, { requireFeature }] = await Promise.all([import("./config.server-fNcSQwfX.mjs"), import("./runtime.server-De0QVWc9.mjs")]);
8
8
  const { runtime } = await prepareConfig();
9
9
  return requireFeature(runtime, "insights");
10
10
  };
@@ -1,12 +1,40 @@
1
1
  import { i as __toESM } from "../_runtime.mjs";
2
2
  import { _t as require_react, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
3
3
  import { O as Info } from "../_libs/lucide-react.mjs";
4
- import { D as TooltipTrigger, T as TooltipContent, t as Button$1, w as Tooltip$1 } from "./sidebar-DJcErBMo.mjs";
4
+ import { D as TooltipTrigger, T as TooltipContent, t as Button$1, w as Tooltip$1 } from "./sidebar-DcFhy0Zq.mjs";
5
5
  import { C as isUUIDv7 } from "./dist-CbQbBIw-.mjs";
6
6
  import { r as extractTimestampFromUUIDv7 } from "./uuidv7-C88s9jWF.mjs";
7
- //#region node_modules/.nitro/vite/services/ssr/assets/InsightsInfo-DuJFatQO.js
7
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-search--Biw1Q83.js
8
8
  var import_react = /* @__PURE__ */ __toESM(require_react());
9
9
  var import_jsx_runtime = require_jsx_runtime();
10
+ function InfoTooltip({ label, children }) {
11
+ const id = (0, import_react.useId)();
12
+ const [open, setOpen] = (0, import_react.useState)(false);
13
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tooltip$1, {
14
+ open,
15
+ onOpenChange: setOpen,
16
+ triggerId: id,
17
+ children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipTrigger, {
18
+ id,
19
+ "aria-describedby": open ? `${id}-description` : void 0,
20
+ closeOnClick: false,
21
+ onClick: () => setOpen((value) => !value),
22
+ render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
23
+ "aria-label": label,
24
+ className: "size-11 sm:size-7",
25
+ size: "icon",
26
+ variant: "ghost"
27
+ }),
28
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Info, {})
29
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipContent, {
30
+ id: `${id}-description`,
31
+ role: "tooltip",
32
+ className: "max-w-64",
33
+ side: "bottom",
34
+ children
35
+ })]
36
+ });
37
+ }
10
38
  var readText = (value) => typeof value === "string" && value.trim().length > 0 && value.length <= 1024 ? value : void 0;
11
39
  var readWindow = (value) => value === "24h" || value === "7d" || value === "30d" ? value : void 0;
12
40
  var readHealthChart = (value) => value === "adoption" || value === "crashes" ? value : void 0;
@@ -43,33 +71,5 @@ function adoptionWindow(releaseId, now = Date.now()) {
43
71
  }
44
72
  /** Release health's compared bundles from the `bundles` search value. */
45
73
  var comparedBundleIds = (value) => value === void 0 ? void 0 : [...new Set(value.split(",").filter((id) => id.length > 0))];
46
- function InsightsInfo({ label, children }) {
47
- const id = (0, import_react.useId)();
48
- const [open, setOpen] = (0, import_react.useState)(false);
49
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tooltip$1, {
50
- open,
51
- onOpenChange: setOpen,
52
- triggerId: id,
53
- children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipTrigger, {
54
- id,
55
- "aria-describedby": open ? `${id}-description` : void 0,
56
- closeOnClick: false,
57
- onClick: () => setOpen((value) => !value),
58
- render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Button$1, {
59
- "aria-label": label,
60
- className: "size-11 sm:size-7",
61
- size: "icon",
62
- variant: "ghost"
63
- }),
64
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Info, {})
65
- }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipContent, {
66
- id: `${id}-description`,
67
- role: "tooltip",
68
- className: "max-w-64",
69
- side: "bottom",
70
- children
71
- })]
72
- });
73
- }
74
74
  //#endregion
75
- export { validateInsightsSearch as a, validateDistributionSearch as i, adoptionWindow as n, comparedBundleIds as r, InsightsInfo as t };
75
+ export { validateInsightsSearch as a, validateDistributionSearch as i, adoptionWindow as n, comparedBundleIds as r, InfoTooltip as t };
@@ -1,8 +1,8 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
2
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
3
3
  import { t as createServerRpc } from "./createServerRpc-RLR4H-Fn.mjs";
4
4
  import { t as readAppUsageInput } from "./insights-usage-BpBM0U0c.mjs";
5
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-BiolgB8e.js
5
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-BjyoZrsk.js
6
6
  var getAppUsageReportRpc_createServerFn_handler = createServerRpc({
7
7
  id: "8a98cd9c178e4a54185d62c25a95f09d3d59850c43d3f5baa1563e1614ad942e",
8
8
  name: "getAppUsageReportRpc",
@@ -18,7 +18,7 @@ var getAppUsageReportRpc = createServerFn({ method: "GET" }).middleware([console
18
18
  };
19
19
  }).handler(getAppUsageReportRpc_createServerFn_handler, async ({ data }) => {
20
20
  const [{ prepareConfig }, { getAppUsageReport }, { requireFeature }] = await Promise.all([
21
- import("./config.server-DskXCAyI.mjs"),
21
+ import("./config.server-fNcSQwfX.mjs"),
22
22
  import("./insightsUsage-CzhVjsc8.mjs"),
23
23
  import("./runtime.server-De0QVWc9.mjs")
24
24
  ]);
@@ -1,9 +1,9 @@
1
1
  import { u as createServerFn } from "./createMiddleware-Cm6Tn0_Y.mjs";
2
- import { t as consoleAccess } from "./console-access-BJfAXknd.mjs";
3
2
  import { D as ProgressTrack$1, E as ProgressIndicator$1, O as ProgressRoot, gt as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
4
- import { A as createSsrRpc, k as cn } from "./sidebar-DJcErBMo.mjs";
3
+ import { A as createSsrRpc, k as cn } from "./sidebar-DcFhy0Zq.mjs";
4
+ import { t as consoleAccess } from "./console-access-C6aSaMHp.mjs";
5
5
  import { t as readAppUsageInput } from "./insights-usage-BpBM0U0c.mjs";
6
- //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-KStL0zOx.js
6
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights-usage-rpc-Dvt-RmGH.js
7
7
  var import_jsx_runtime = require_jsx_runtime();
8
8
  function Progress$1({ className, children, value, ...props }) {
9
9
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(ProgressRoot, {
@@ -1,5 +1,5 @@
1
- import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-ldW8v8-q.mjs";
2
- //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-CVrnbP3R.js
1
+ import { t as ConsoleFeatureUnavailable } from "./ConsoleFeatureUnavailable-CTbvhAts.mjs";
2
+ //#region node_modules/.nitro/vite/services/ssr/assets/insights_.distribution-C9WdD2pp.js
3
3
  /** How a distribution row's bundle reads aloud. */
4
4
  /** The bundle an app version's native build shipped, by its ID. */
5
5
  var SplitNotFoundComponent = ConsoleFeatureUnavailable;