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

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 (203) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/HashValueDisplay-CB0Eskit.js +1 -0
  3. package/.output/public/assets/InsightsPageHeader-Car5LNiZ.js +1 -0
  4. package/.output/public/assets/api-keys-BzKocqRy.js +1 -0
  5. package/.output/public/assets/api-keys-api-BHcODB7q.js +1 -0
  6. package/.output/public/assets/card-Dhr_eFYj.js +1 -0
  7. package/.output/public/assets/{chart-no-axes-combined-FaYMGmQS.js → chart-no-axes-combined-Dy4WJv2U.js} +1 -1
  8. package/.output/public/assets/composite-Bp98A0Ld.js +1 -0
  9. package/.output/public/assets/createServerFn-CA8fs7QD.js +3 -0
  10. package/.output/public/assets/dialog-CUTrcPlB.js +1 -0
  11. package/.output/public/assets/{dist-DspNKfMj.js → dist-C_NydL0e.js} +1 -1
  12. package/.output/public/assets/index-DdAz-CXv.js +10 -0
  13. package/.output/public/assets/input-group-cSOG4wh_.js +1 -0
  14. package/.output/public/assets/insights-C0PBSZ-n.js +1 -0
  15. package/.output/public/assets/installations-CE33wgbY.js +2 -0
  16. package/.output/public/assets/installations-CStZja8x.js +1 -0
  17. package/.output/public/assets/lazyRouteComponent-Ccp3bwBY.js +1 -0
  18. package/.output/public/assets/link-CI8idAUi.js +1 -0
  19. package/.output/public/assets/loader-circle-BoxLrsOu.js +1 -0
  20. package/.output/public/assets/refresh-cw-Bqc72UZG.js +1 -0
  21. package/.output/public/assets/{routes-DcQnVajO.js → routes-DGVXdzpw.js} +2 -2
  22. package/.output/public/assets/routes-DTlwOr8I.js +1 -0
  23. package/.output/public/assets/{shield-check-DE_hVuHu.js → shield-check-uK3MHWJZ.js} +1 -1
  24. package/.output/public/assets/signing-CMf4aqDO.js +1 -0
  25. package/.output/public/assets/styles-BCvbtKsm.css +2 -0
  26. package/.output/public/assets/table-2vcV89QB.js +1 -0
  27. package/.output/public/assets/useCompositeListItem-CHLITE_4.js +1 -0
  28. package/.output/public/assets/x-DCd0j8c6.js +1 -0
  29. package/.output/server/{__23tanstack-start-server-fn-resolver-DBP9TQ7K.mjs → __23tanstack-start-server-fn-resolver-B7ioJhtE.mjs} +44 -52
  30. package/.output/server/_libs/@base-ui/react+[...].mjs +1906 -4040
  31. package/.output/server/_libs/@tanstack/react-router+[...].mjs +52 -4
  32. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +2 -2
  33. package/.output/server/_libs/lucide-react.mjs +36 -3
  34. package/.output/server/_libs/next-themes.mjs +2 -2
  35. package/.output/server/_libs/sonner.mjs +2 -2
  36. package/.output/server/_libs/tanstack__react-query.mjs +2 -2
  37. package/.output/server/_libs/verkit.mjs +20 -15
  38. package/.output/server/_runtime.mjs +1 -10
  39. package/.output/server/_ssr/HashValueDisplay-DwpGLfrl.mjs +55 -0
  40. package/.output/server/_ssr/InsightsPageHeader-Df4Brj8u.mjs +484 -0
  41. package/.output/server/_ssr/{api-keys-BnM_o2nS.mjs → api-keys-CZeTPQys.mjs} +11 -13
  42. package/.output/server/_ssr/{api-keys-api-CIywsSF5.mjs → api-keys-api-BUPQVSpk.mjs} +2 -2
  43. package/.output/server/_ssr/{api-keys-rpc-BSp1wkIV.mjs → api-keys-rpc-Cs7tS5_j.mjs} +5 -5
  44. package/.output/server/_ssr/{api-rpc-cG5wd_tO.mjs → api-rpc-tAupfGQm.mjs} +73 -142
  45. package/.output/server/_ssr/{auth-rpc-BrJ6obHJ.mjs → auth-rpc-DUaeOWKK.mjs} +4 -4
  46. package/.output/server/_ssr/{auth.server-DwKoZoQM.mjs → auth.server-DW71WzsD.mjs} +2 -5
  47. package/.output/server/_ssr/{bundle-signing-rpc-COoQhW8E.mjs → bundle-signing-rpc-BhnBw0-d.mjs} +2 -2
  48. package/.output/server/_ssr/bundle-signing.server-C4NW5mWx.mjs +12 -0
  49. package/.output/server/_ssr/{alert-Dim3MGY5.mjs → card-BRiPmi0C.mjs} +61 -39
  50. package/.output/server/_ssr/{config.server-DEiLhKmy.mjs → config.server-afDuAwaG.mjs} +15 -8
  51. package/.output/server/_ssr/{createSsrRpc-9P0S0lJ3.mjs → createSsrRpc-DjWNJ0uc.mjs} +6 -6
  52. package/.output/server/_ssr/databaseJsonValue-d6I3nAS4.mjs +45 -0
  53. package/.output/server/_ssr/{databaseRows-CwbNwYSl.mjs → databaseRows-5bCRTxm-.mjs} +4 -44
  54. package/.output/server/_ssr/{deleteBundle-Cu_XOMt0.mjs → deleteBundle-BTGwBgzx.mjs} +2 -2
  55. package/.output/server/_ssr/{dialog-CQuRMNZ4.mjs → dialog-DS-nw-pA.mjs} +2 -2
  56. package/.output/server/_ssr/{dist-BVSLTpoP.mjs → dist-CyzPaI5v.mjs} +2 -2
  57. package/.output/server/_ssr/{getBundleChildren-BcRMFoDF.mjs → getBundleChildren-C0vh4ZvE.mjs} +2 -2
  58. package/.output/server/_ssr/input-group-BpsnmvZw.mjs +70 -0
  59. package/.output/server/_ssr/insights-BdS364Xu.mjs +460 -0
  60. package/.output/server/_ssr/insights-rpc-38DujK0G.mjs +57 -0
  61. package/.output/server/_ssr/insightsContract-fjJDBeEE.mjs +303 -0
  62. package/.output/server/_ssr/installations-CtA59MQG.mjs +29 -0
  63. package/.output/server/_ssr/installations-DiVKEF5T.mjs +627 -0
  64. package/.output/server/_ssr/{router-C-KUBfOi.mjs → router-B9wG_9f8.mjs} +37 -46
  65. package/.output/server/_ssr/{routes-Z7TwC6nC.mjs → routes-CKrrS2q2.mjs} +3 -3
  66. package/.output/server/_ssr/{routes-BM4ht9jb.mjs → routes-D7Yh_jfj.mjs} +402 -390
  67. package/.output/server/_ssr/runtime.server-DacU1TBV.mjs +438 -0
  68. package/.output/server/_ssr/{server-BjzmvXnO.mjs → server-D_C2rMzf.mjs} +5 -5
  69. package/.output/server/_ssr/{signing-k8GxyBDF.mjs → signing-Dz1WkZOf.mjs} +16 -85
  70. package/.output/server/_ssr/ssr.mjs +1 -1
  71. package/.output/server/_ssr/{field-DRIXKjZG.mjs → table-CnZmon_Z.mjs} +51 -5
  72. package/.output/server/_ssr/{uuidv7-BbJ-9D_I.mjs → uuidv7-D0QFkPL_.mjs} +3 -3
  73. package/.output/server/_tanstack-start-manifest_v-2MjTyxil.mjs +97 -0
  74. package/.output/server/index.mjs +168 -203
  75. package/lib/index.d.mts +4 -4
  76. package/lib/vite-internal.mjs +1 -1
  77. package/lib/vite.d.mts +0 -1
  78. package/package.json +8 -8
  79. package/src/components/AppSidebar.tsx +12 -16
  80. package/src/components/ConsoleAccessPage.tsx +1 -1
  81. package/src/components/HashValueDisplay.tsx +11 -2
  82. package/src/components/features/api-keys/ApiKeysPage.tsx +1 -1
  83. package/src/components/features/bundles/BundleChildrenPanel.tsx +7 -6
  84. package/src/components/features/bundles/BundleMetadata.tsx +1 -20
  85. package/src/components/features/channels/ChannelManagementDialog.tsx +1 -1
  86. package/src/components/features/insights/EventDetails.tsx +151 -0
  87. package/src/components/features/insights/EventHistoryCard.tsx +245 -0
  88. package/src/components/features/insights/EventHistoryList.tsx +63 -0
  89. package/src/components/features/insights/InsightsBundleReports.tsx +51 -0
  90. package/src/components/features/insights/InsightsControls.tsx +121 -0
  91. package/src/components/features/{analytics/AnalyticsErrorAlert.tsx → insights/InsightsErrorAlert.tsx} +6 -6
  92. package/src/components/features/insights/InsightsOverview.tsx +203 -0
  93. package/src/components/features/insights/InsightsPageHeader.tsx +48 -0
  94. package/src/components/features/insights/InsightsPagination.tsx +52 -0
  95. package/src/components/features/insights/InstallationHistoryCard.tsx +250 -0
  96. package/src/components/features/insights/InstallationMatchesCard.tsx +178 -0
  97. package/src/components/features/insights/InstallationPageHeader.tsx +90 -0
  98. package/src/components/features/releases/ReleaseEditorSheet.tsx +24 -24
  99. package/src/components/features/signing/BundleSigningPage.tsx +18 -126
  100. package/src/components/ui/badge.tsx +2 -0
  101. package/src/components/ui/combobox.tsx +1 -0
  102. package/src/components/ui/skeleton.tsx +4 -1
  103. package/src/components/ui/tooltip.tsx +1 -1
  104. package/src/index.ts +7 -3
  105. package/src/lib/api-rpc.ts +19 -90
  106. package/src/lib/api.ts +0 -99
  107. package/src/lib/insights-api.ts +100 -0
  108. package/src/lib/insights-rpc.ts +88 -0
  109. package/src/lib/insights-view.ts +15 -0
  110. package/src/lib/public-bundle-error.ts +19 -0
  111. package/src/lib/server/bundle-signing.server.ts +5 -82
  112. package/src/lib/server/console-runtime.server.ts +0 -9
  113. package/src/lib/server/releaseReachability.ts +1 -4
  114. package/src/lib/server/runtime.server.ts +6 -142
  115. package/src/routeTree.gen.ts +21 -21
  116. package/src/router.tsx +3 -0
  117. package/src/routes/-installations-search.ts +25 -12
  118. package/src/routes/__root.tsx +6 -16
  119. package/src/routes/api-keys.tsx +1 -1
  120. package/src/routes/index.tsx +21 -81
  121. package/src/routes/insights.tsx +84 -0
  122. package/src/routes/installations.tsx +294 -142
  123. package/src/styles.css +6 -0
  124. package/.output/public/assets/AnalyticsCapabilityContext-BCke57-7.js +0 -1
  125. package/.output/public/assets/BundleActivityChart-CnsBe_1J.js +0 -42
  126. package/.output/public/assets/BundleIdDisplay-Dky75zLU.js +0 -1
  127. package/.output/public/assets/alert-C-1KvDW8.js +0 -1
  128. package/.output/public/assets/analytics-Bqz0c-BT.js +0 -1
  129. package/.output/public/assets/analytics-api-CJdrTLLO.js +0 -1
  130. package/.output/public/assets/api-B_Rh-uzC.js +0 -1
  131. package/.output/public/assets/api-keys-BurCFhzH.js +0 -1
  132. package/.output/public/assets/api-keys-api-BEDJdQg3.js +0 -1
  133. package/.output/public/assets/badge-Bf0fZ-Gx.js +0 -1
  134. package/.output/public/assets/createServerFn-gM2-LFBy.js +0 -3
  135. package/.output/public/assets/dialog-BS60BRr2.js +0 -1
  136. package/.output/public/assets/download-O-yNBc9H.js +0 -1
  137. package/.output/public/assets/field-Buq148-A.js +0 -1
  138. package/.output/public/assets/index-kFhd2S78.js +0 -10
  139. package/.output/public/assets/installations-BrQ-od41.js +0 -2
  140. package/.output/public/assets/installations-CGlZ3ROz.js +0 -1
  141. package/.output/public/assets/lazyRouteComponent-rPzgA7S-.js +0 -1
  142. package/.output/public/assets/loader-circle-DCYF-wJl.js +0 -1
  143. package/.output/public/assets/refresh-cw-n8XYbPPj.js +0 -1
  144. package/.output/public/assets/routes-CrdokJ80.js +0 -1
  145. package/.output/public/assets/search-DLhbWw3W.js +0 -1
  146. package/.output/public/assets/signing-HRexfjsH.js +0 -1
  147. package/.output/public/assets/styles-eB4EtvFS.css +0 -2
  148. package/.output/public/assets/table-D8CLieHX.js +0 -1
  149. package/.output/public/assets/textarea-YJLTVAoq.js +0 -1
  150. package/.output/public/assets/useMutation-JsGVjQMY.js +0 -1
  151. package/.output/public/assets/useOpenInteractionType-4cRD5xO0.js +0 -1
  152. package/.output/server/_libs/@reduxjs/toolkit+[...].mjs +0 -1554
  153. package/.output/server/_libs/d3-array.mjs +0 -231
  154. package/.output/server/_libs/d3-color.mjs +0 -330
  155. package/.output/server/_libs/d3-format.mjs +0 -252
  156. package/.output/server/_libs/d3-interpolate.mjs +0 -207
  157. package/.output/server/_libs/d3-path.mjs +0 -77
  158. package/.output/server/_libs/d3-scale+[...].mjs +0 -1907
  159. package/.output/server/_libs/d3-shape.mjs +0 -818
  160. package/.output/server/_libs/decimal.js-light.mjs +0 -884
  161. package/.output/server/_libs/es-toolkit.mjs +0 -1134
  162. package/.output/server/_libs/eventemitter3.mjs +0 -236
  163. package/.output/server/_libs/immer.mjs +0 -532
  164. package/.output/server/_libs/react-redux+[...].mjs +0 -205
  165. package/.output/server/_libs/recharts+[...].mjs +0 -14117
  166. package/.output/server/_ssr/AnalyticsCapabilityContext-ui4DX8GO.mjs +0 -15
  167. package/.output/server/_ssr/BundleActivityChart-BiB9ZORH.mjs +0 -288
  168. package/.output/server/_ssr/BundleIdDisplay-Czk6iR6p.mjs +0 -13
  169. package/.output/server/_ssr/analytics-DtMTn8fn.mjs +0 -858
  170. package/.output/server/_ssr/analytics-api-Cg1M5v_H.mjs +0 -71
  171. package/.output/server/_ssr/analytics-input-fRRRn0uA.mjs +0 -96
  172. package/.output/server/_ssr/analytics-rpc-DY5uXvHT.mjs +0 -155
  173. package/.output/server/_ssr/api-BTSv1tZb.mjs +0 -282
  174. package/.output/server/_ssr/badge-DCxbEeof.mjs +0 -26
  175. package/.output/server/_ssr/bundle-signing.server-D5u8KkMp.mjs +0 -51
  176. package/.output/server/_ssr/installations-B-azgAvX.mjs +0 -19
  177. package/.output/server/_ssr/installations-Ctvzp2JH.mjs +0 -535
  178. package/.output/server/_ssr/runtime.server-awTLiiXW.mjs +0 -527
  179. package/.output/server/_ssr/table-v1yCvYo7.mjs +0 -53
  180. package/.output/server/_ssr/textarea-DYHnskhb.mjs +0 -14
  181. package/.output/server/_tanstack-start-manifest_v-CH4StzJu.mjs +0 -108
  182. package/src/components/features/analytics/ActivityChart.tsx +0 -150
  183. package/src/components/features/analytics/AnalyticsCapabilityContext.tsx +0 -24
  184. package/src/components/features/analytics/AnalyticsControls.tsx +0 -115
  185. package/src/components/features/analytics/AnalyticsOverview.tsx +0 -208
  186. package/src/components/features/analytics/BundleDistribution.tsx +0 -133
  187. package/src/components/features/analytics/BundleSelector.tsx +0 -114
  188. package/src/components/features/analytics/InstallationHistoryCard.tsx +0 -248
  189. package/src/components/features/analytics/InstallationMatchesCard.tsx +0 -132
  190. package/src/components/features/analytics/InstallationPageHeader.tsx +0 -138
  191. package/src/components/features/analytics/InstallationPagination.tsx +0 -48
  192. package/src/components/features/analytics/InstallationSearch.tsx +0 -230
  193. package/src/components/features/analytics/UpdateOutcomes.tsx +0 -147
  194. package/src/components/features/bundles/BundleActivityChart.tsx +0 -193
  195. package/src/components/features/bundles/BundleAnalyticsSummary.tsx +0 -123
  196. package/src/lib/analytics-api.ts +0 -145
  197. package/src/lib/analytics-error.ts +0 -19
  198. package/src/lib/analytics-input.ts +0 -187
  199. package/src/lib/analytics-overview.ts +0 -170
  200. package/src/lib/analytics-rpc.ts +0 -218
  201. package/src/lib/server/releaseActivity.ts +0 -27
  202. package/src/routes/analytics.tsx +0 -139
  203. /package/.output/public/assets/{preload-helper-TKOBYGYD.js → preload-helper-CQ36nxok.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { i as __toESM, r as __require, t as __commonJSMin } from "../../_runtime.mjs";
2
- import { $ as require_react_dom, Q as require_with_selector, at as require_react, it as require_jsx_runtime } from "../@base-ui/react+[...].mjs";
1
+ import { n as __require, r as __toESM, t as __commonJSMin } from "../../_runtime.mjs";
2
+ import { H as require_react_dom, J as require_react, V as require_with_selector, q as require_jsx_runtime } from "../@base-ui/react+[...].mjs";
3
3
  import { n as parseHref } from "../tanstack__history.mjs";
4
4
  import { PassThrough, Readable } from "node:stream";
5
5
  import { ReadableStream as ReadableStream$1 } from "node:stream/web";
@@ -3458,7 +3458,16 @@ function getSafeSessionStorage() {
3458
3458
  }
3459
3459
  }
3460
3460
  var storageKey = "tsr-scroll-restoration-v1_3";
3461
- getSafeSessionStorage();
3461
+ var safeSessionStorage = getSafeSessionStorage();
3462
+ function createScrollRestorationCache() {
3463
+ try {
3464
+ return JSON.parse(safeSessionStorage?.getItem("tsr-scroll-restoration-v1_3") || "{}");
3465
+ } catch {
3466
+ return {};
3467
+ }
3468
+ }
3469
+ var scrollRestorationCache = /* @__PURE__ */ createScrollRestorationCache();
3470
+ var scrollRestorationIdAttribute = "data-scroll-restoration-id";
3462
3471
  /**
3463
3472
  * The default `getKey` function for `useScrollRestoration`.
3464
3473
  * It returns the `key` from the location state or the `href` of the location.
@@ -3468,6 +3477,36 @@ getSafeSessionStorage();
3468
3477
  var defaultGetScrollRestorationKey = (location) => {
3469
3478
  return location.state.__TSR_key || location.href;
3470
3479
  };
3480
+ function getScrollRestorationSelector(element) {
3481
+ const attrId = element.getAttribute(scrollRestorationIdAttribute);
3482
+ if (attrId) return `[${scrollRestorationIdAttribute}="${attrId}"]`;
3483
+ let selector = "";
3484
+ let el = element;
3485
+ let parent;
3486
+ while (parent = el.parentNode) {
3487
+ let index = 1;
3488
+ let sibling = el;
3489
+ while (sibling = sibling.previousElementSibling) index++;
3490
+ const part = `${el.localName}:nth-child(${index})`;
3491
+ selector = selector ? `${part} > ${selector}` : part;
3492
+ el = parent;
3493
+ }
3494
+ return selector;
3495
+ }
3496
+ function getElementScrollRestorationEntry(router, options) {
3497
+ const entries = scrollRestorationCache[(options.getKey || defaultGetScrollRestorationKey)(router.latestLocation)];
3498
+ if (!entries) return;
3499
+ if (options.id) return entries[`[${scrollRestorationIdAttribute}="${options.id}"]`];
3500
+ const element = options.getElement?.();
3501
+ if (!element) return;
3502
+ return entries[element === window ? windowScrollTarget : getScrollRestorationSelector(element)];
3503
+ }
3504
+ var windowScrollTarget = "window";
3505
+ function setupScrollRestoration(router, force) {
3506
+ const shouldSetupScrollRestoration = force ?? router.options.scrollRestoration;
3507
+ const scroll = router._scroll;
3508
+ if (shouldSetupScrollRestoration) scroll.restoring = true;
3509
+ }
3471
3510
  //#endregion
3472
3511
  //#region ../../node_modules/.pnpm/@tanstack+router-core@1.171.13/node_modules/@tanstack/router-core/dist/esm/link.js
3473
3512
  var preloadWarning = "Error preloading route! ☝️";
@@ -5194,6 +5233,15 @@ function RouterProvider({ router, ...rest }) {
5194
5233
  });
5195
5234
  }
5196
5235
  //#endregion
5236
+ //#region ../../node_modules/.pnpm/@tanstack+react-router@1.170.15_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-router/dist/esm/ScrollRestoration.js
5237
+ function useScrollRestoration() {
5238
+ setupScrollRestoration(useRouter(), true);
5239
+ }
5240
+ function useElementScrollRestoration(options) {
5241
+ useScrollRestoration();
5242
+ return getElementScrollRestorationEntry(useRouter(), options);
5243
+ }
5244
+ //#endregion
5197
5245
  //#region ../../node_modules/.pnpm/@tanstack+react-router@1.170.15_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/@tanstack/react-router/dist/esm/useRouterState.js
5198
5246
  /**
5199
5247
  * Subscribe to the router's state store with optional selection and
@@ -14356,4 +14404,4 @@ var renderRouterToStream = async ({ request, router, responseHeaders, children }
14356
14404
  throw new Error("No renderToReadableStream or renderToPipeableStream found in react-dom/server. Ensure you are using a version of react-dom that supports streaming.");
14357
14405
  };
14358
14406
  //#endregion
14359
- export { HeadContent as a, createRouter as c, createFileRoute as d, createRootRouteWithContext as f, redirect as g, isRedirect as h, Scripts as i, Outlet as l, useNavigate as m, defineHandlerCallback as n, useRouterState as o, Link as p, renderRouterToString as r, RouterProvider as s, renderRouterToStream as t, lazyRouteComponent as u };
14407
+ export { HeadContent as a, RouterProvider as c, lazyRouteComponent as d, createFileRoute as f, redirect as g, isRedirect as h, Scripts as i, createRouter as l, Link as m, defineHandlerCallback as n, useRouterState as o, createRootRouteWithContext as p, renderRouterToString as r, useElementScrollRestoration as s, renderRouterToStream as t, Outlet as u };
@@ -1,5 +1,5 @@
1
- import { i as __toESM } from "../../_runtime.mjs";
2
- import { at as require_react, it as require_jsx_runtime } from "../@base-ui/react+[...].mjs";
1
+ import { r as __toESM } from "../../_runtime.mjs";
2
+ import { J as require_react, q as require_jsx_runtime } from "../@base-ui/react+[...].mjs";
3
3
  import "./react-router+[...].mjs";
4
4
  import { a as dehydrate } from "../tanstack__query-core.mjs";
5
5
  import { r as QueryClientProvider } from "../tanstack__react-query.mjs";
@@ -1,5 +1,5 @@
1
- import { i as __toESM } from "../_runtime.mjs";
2
- import { at as require_react } from "./@base-ui/react+[...].mjs";
1
+ import { r as __toESM } from "../_runtime.mjs";
2
+ import { J as require_react } from "./@base-ui/react+[...].mjs";
3
3
  //#region ../../node_modules/.pnpm/lucide-react@0.577.0_react@19.2.6/node_modules/lucide-react/dist/esm/shared/src/utils/mergeClasses.js
4
4
  var import_react = /* @__PURE__ */ __toESM(require_react());
5
5
  /**
@@ -109,6 +109,10 @@ var createLucideIcon = (iconName, iconNode) => {
109
109
  Component.displayName = toPascalCase(iconName);
110
110
  return Component;
111
111
  };
112
+ var Activity = createLucideIcon("activity", [["path", {
113
+ d: "M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",
114
+ key: "169zse"
115
+ }]]);
112
116
  var ArrowLeft = createLucideIcon("arrow-left", [["path", {
113
117
  d: "m12 19-7-7 7-7",
114
118
  key: "1l729n"
@@ -123,6 +127,13 @@ var ArrowRight = createLucideIcon("arrow-right", [["path", {
123
127
  d: "m12 5 7 7-7 7",
124
128
  key: "xquz4c"
125
129
  }]]);
130
+ var ArrowUpRight = createLucideIcon("arrow-up-right", [["path", {
131
+ d: "M7 7h10v10",
132
+ key: "1tivn9"
133
+ }], ["path", {
134
+ d: "M7 17 17 7",
135
+ key: "1vkiza"
136
+ }]]);
126
137
  var ChartNoAxesCombined = createLucideIcon("chart-no-axes-combined", [
127
138
  ["path", {
128
139
  d: "M12 16v5",
@@ -352,6 +363,28 @@ var OctagonX = createLucideIcon("octagon-x", [
352
363
  key: "z0biqf"
353
364
  }]
354
365
  ]);
366
+ var PackageCheck = createLucideIcon("package-check", [
367
+ ["path", {
368
+ d: "M12 22V12",
369
+ key: "d0xqtd"
370
+ }],
371
+ ["path", {
372
+ d: "m16 17 2 2 4-4",
373
+ key: "uh5qu3"
374
+ }],
375
+ ["path", {
376
+ d: "M21 11.127V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.729l7 4a2 2 0 0 0 2 .001l1.32-.753",
377
+ key: "kpkbpo"
378
+ }],
379
+ ["path", {
380
+ d: "M3.29 7 12 12l8.71-5",
381
+ key: "19ckod"
382
+ }],
383
+ ["path", {
384
+ d: "m7.5 4.27 8.997 5.148",
385
+ key: "9yrvtv"
386
+ }]
387
+ ]);
355
388
  var Package = createLucideIcon("package", [
356
389
  ["path", {
357
390
  d: "M11 21.73a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73z",
@@ -554,4 +587,4 @@ var X = createLucideIcon("x", [["path", {
554
587
  key: "d8bk6v"
555
588
  }]]);
556
589
  //#endregion
557
- export { ChevronRight as A, FingerprintPattern as C, CircleOff as D, Clipboard as E, ArrowRight as F, ArrowLeft as I, ChevronDown as M, Check as N, CircleCheck as O, ChartNoAxesCombined as P, Funnel as S, Download as T, Minus as _, Tag as a, KeyRound as b, ShieldCheck as c, RefreshCw as d, Plus as f, Moon as g, OctagonX as h, Tags as i, ChevronLeft as j, ChevronUp as k, Search as l, Package as m, TriangleAlert as n, Sun as o, PanelLeft as p, Trash2 as r, ShieldOff as s, X as t, RotateCcw as u, LoaderCircle as v, ExternalLink as w, Info as x, List as y };
590
+ export { ChevronUp as A, Funnel as C, Clipboard as D, Download as E, ChartNoAxesCombined as F, ArrowUpRight as I, ArrowRight as L, ChevronLeft as M, ChevronDown as N, CircleOff as O, Check as P, ArrowLeft as R, Info as S, ExternalLink as T, Moon as _, Tag as a, List as b, ShieldCheck as c, RefreshCw as d, Plus as f, OctagonX as g, PackageCheck as h, Tags as i, ChevronRight as j, CircleCheck as k, Search as l, Package as m, TriangleAlert as n, Sun as o, PanelLeft as p, Trash2 as r, ShieldOff as s, X as t, RotateCcw as u, Minus as v, FingerprintPattern as w, KeyRound as x, LoaderCircle as y, Activity as z };
@@ -1,5 +1,5 @@
1
- import { i as __toESM } from "../_runtime.mjs";
2
- import { at as require_react } from "./@base-ui/react+[...].mjs";
1
+ import { r as __toESM } from "../_runtime.mjs";
2
+ import { J as require_react } from "./@base-ui/react+[...].mjs";
3
3
  //#region ../../node_modules/.pnpm/next-themes@0.4.6_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/next-themes/dist/index.mjs
4
4
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1), M = (e, i, s, u, m, a, l, h) => {
5
5
  let d = document.documentElement, w = ["light", "dark"];
@@ -1,5 +1,5 @@
1
- import { i as __toESM } from "../_runtime.mjs";
2
- import { $ as require_react_dom, at as require_react } from "./@base-ui/react+[...].mjs";
1
+ import { r as __toESM } from "../_runtime.mjs";
2
+ import { H as require_react_dom, J as require_react } from "./@base-ui/react+[...].mjs";
3
3
  //#region ../../node_modules/.pnpm/sonner@2.0.7_react-dom@19.2.6_react@19.2.6__react@19.2.6/node_modules/sonner/dist/index.mjs
4
4
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
5
5
  var import_react_dom = /* @__PURE__ */ __toESM(require_react_dom(), 1);
@@ -1,5 +1,5 @@
1
- import { i as __toESM } from "../_runtime.mjs";
2
- import { at as require_react, it as require_jsx_runtime } from "./@base-ui/react+[...].mjs";
1
+ import { r as __toESM } from "../_runtime.mjs";
2
+ import { J as require_react, q as require_jsx_runtime } from "./@base-ui/react+[...].mjs";
3
3
  import { c as noop, i as notifyManager, l as shouldThrowError, n as MutationObserver, r as QueryObserver, s as environmentManager } from "./tanstack__query-core.mjs";
4
4
  //#region ../../node_modules/.pnpm/@tanstack+react-query@5.101.0_react@19.2.6/node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js
5
5
  var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
@@ -1,4 +1,4 @@
1
- //#region ../../node_modules/.pnpm/verkit@0.3.2/node_modules/verkit/dist/index.js
1
+ //#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/comparison-DenM3wCn.js
2
2
  var LETTER_DASH_NUMBER = "[a-zA-Z0-9-]";
3
3
  var NUMERIC_IDENTIFIER = String.raw`0|[1-9]\d*`;
4
4
  var NUMERIC_IDENTIFIER_LOOSE = String.raw`\d+`;
@@ -21,8 +21,8 @@ var XRANGE_PLAIN_LOOSE = String.raw`[v=\s]*(${XRANGE_IDENTIFIER_LOOSE})(?:\.(${X
21
21
  var LONE_TILDE = "(?:~>?)";
22
22
  var LONE_CARET = String.raw`(?:\^)`;
23
23
  var COERCE_PLAIN = String.raw`(^|[^\d])(\d{1,${16}})(?:\.(\d{1,${16}}))?(?:\.(\d{1,${16}}))?`;
24
- var COERCE = String.raw`${COERCE_PLAIN}(?:$|[^\d])`;
25
- var COERCE_FULL = String.raw`${COERCE_PLAIN}(?:${PRERELEASE})?(?:${BUILD})?(?:$|[^\d])`;
24
+ String.raw`${COERCE_PLAIN}(?:$|[^\d])`;
25
+ String.raw`${COERCE_PLAIN}(?:${PRERELEASE})?(?:${BUILD})?(?:$|[^\d])`;
26
26
  function makeSafeRegexSource(source) {
27
27
  const replacements = [
28
28
  [String.raw`\s`, 1],
@@ -37,11 +37,7 @@ function safeRegex(source, flags) {
37
37
  }
38
38
  var FULL = safeRegex(`^${FULL_PLAIN}$`);
39
39
  var LOOSE = safeRegex(`^${LOOSE_PLAIN}$`);
40
- safeRegex(`^${PRERELEASE}$`);
41
- safeRegex(`^${PRERELEASE_LOOSE}$`);
42
- safeRegex(COERCE);
43
- safeRegex(COERCE_FULL);
44
- var NUMERIC = /^\d+$/;
40
+ var NUMERIC$1 = /^\d+$/;
45
41
  function formatComparableVersion(version) {
46
42
  const base = `${version.major}.${version.minor}.${version.patch}`;
47
43
  return version.prerelease?.length ? `${base}-${version.prerelease.join(".")}` : base;
@@ -58,7 +54,7 @@ function parse(version, options = {}) {
58
54
  if (minor > Number.MAX_SAFE_INTEGER || minor < 0) throw new TypeError(`Invalid minor version: ${match[2]}`);
59
55
  if (patch > Number.MAX_SAFE_INTEGER || patch < 0) throw new TypeError(`Invalid patch version: ${match[3]}`);
60
56
  const prerelease = match[4] ? match[4].split(".").map((identifier) => {
61
- if (NUMERIC.test(identifier)) {
57
+ if (NUMERIC$1.test(identifier)) {
62
58
  const numeric = Number(identifier);
63
59
  if (numeric >= 0 && numeric < Number.MAX_SAFE_INTEGER) return numeric;
64
60
  }
@@ -72,9 +68,15 @@ function parse(version, options = {}) {
72
68
  prerelease
73
69
  };
74
70
  }
71
+ //#endregion
72
+ //#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/set-CC5YeoYX.js
75
73
  var STRICT_COMPARATOR = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${FULL_PLAIN})$|^$`);
76
74
  var LOOSE_COMPARATOR$1 = safeRegex(String.raw`^${GREATER_LESS_THAN}\s*(${LOOSE_PLAIN})$|^$`);
75
+ function formatComparator(comparator) {
76
+ return comparator.version ? `${comparator.operator}${formatComparableVersion(comparator.version)}` : "";
77
+ }
77
78
  function parseComparator(comparator, options = {}) {
79
+ if (typeof comparator !== "string") return comparator;
78
80
  const normalized = comparator.trim().replaceAll(/\s+/g, " ");
79
81
  const match = normalized.match(options.loose ? LOOSE_COMPARATOR$1 : STRICT_COMPARATOR);
80
82
  if (!match) throw new TypeError(`Invalid comparator: ${normalized}`);
@@ -87,6 +89,11 @@ function parseComparator(comparator, options = {}) {
87
89
  version
88
90
  };
89
91
  }
92
+ //#endregion
93
+ //#region ../../node_modules/.pnpm/verkit@0.4.0/node_modules/verkit/dist/range-DvX-Y6iv.js
94
+ function formatRange(range) {
95
+ return range.sets.map((set) => set.map(formatComparator).join(" ")).join("||");
96
+ }
90
97
  var BUILD_STRIP = new RegExp(BUILD, "g");
91
98
  var BUILD_SAFE = safeRegex(BUILD);
92
99
  var STRICT_HYPHEN = safeRegex(String.raw`^\s*(${XRANGE_PLAIN})\s+-\s+(${XRANGE_PLAIN})\s*$`);
@@ -212,9 +219,9 @@ function parseSimpleRange(input, options) {
212
219
  function parseRange(range, options = {}) {
213
220
  if (typeof range !== "string") return range;
214
221
  const parsedOptions = { ...options };
215
- const raw = range.trim().replaceAll(/\s+/g, " ");
216
- let sets = raw.split("||").map((part) => parseSimpleRange(part.trim(), parsedOptions)).filter((set) => set.length);
217
- if (!sets.length) throw new TypeError(`Range contains no valid comparator sets: ${raw}`);
222
+ const normalizedRange = range.trim().replaceAll(/\s+/g, " ");
223
+ let sets = normalizedRange.split("||").map((part) => parseSimpleRange(part.trim(), parsedOptions)).filter((set) => set.length);
224
+ if (!sets.length) throw new TypeError(`Range contains no valid comparator sets: ${normalizedRange}`);
218
225
  if (sets.length > 1) {
219
226
  const first = sets[0];
220
227
  sets = sets.filter((set) => set[0]?.value !== "<0.0.0-0");
@@ -225,9 +232,7 @@ function parseRange(range, options = {}) {
225
232
  }
226
233
  }
227
234
  return {
228
- normalized: sets.map((set) => set.map((comparator) => comparator.value).join(" ")).join("||"),
229
235
  options: parsedOptions,
230
- raw,
231
236
  sets
232
237
  };
233
238
  }
@@ -240,7 +245,7 @@ function tryParseRange(range, options = {}) {
240
245
  }
241
246
  function normalizeRange(range, options = {}) {
242
247
  const parsed = tryParseRange(range, options);
243
- return parsed ? parsed.normalized || "*" : null;
248
+ return parsed ? formatRange(parsed) || "*" : null;
244
249
  }
245
250
  //#endregion
246
251
  export { normalizeRange as t };
@@ -7,15 +7,6 @@ var __getOwnPropNames = Object.getOwnPropertyNames;
7
7
  var __getProtoOf = Object.getPrototypeOf;
8
8
  var __hasOwnProp = Object.prototype.hasOwnProperty;
9
9
  var __commonJSMin = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
10
- var __exportAll = (all, no_symbols) => {
11
- let target = {};
12
- for (var name in all) __defProp(target, name, {
13
- get: all[name],
14
- enumerable: true
15
- });
16
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
17
- return target;
18
- };
19
10
  var __copyProps = (to, from, except, desc) => {
20
11
  if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
21
12
  key = keys[i];
@@ -32,4 +23,4 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
32
23
  }) : target, mod));
33
24
  var __require = /* @__PURE__ */ createRequire(import.meta.url);
34
25
  //#endregion
35
- export { __toESM as i, __exportAll as n, __require as r, __commonJSMin as t };
26
+ export { __require as n, __toESM as r, __commonJSMin as t };
@@ -0,0 +1,55 @@
1
+ import { q as require_jsx_runtime } from "../_libs/@base-ui/react+[...].mjs";
2
+ import { C as cn, v as Tooltip$1, x as TooltipTrigger, y as TooltipContent } from "./createSsrRpc-DjWNJ0uc.mjs";
3
+ import { n as toast } from "../_libs/sonner.mjs";
4
+ //#region node_modules/.nitro/vite/services/ssr/assets/HashValueDisplay-DwpGLfrl.js
5
+ var import_jsx_runtime = require_jsx_runtime();
6
+ var shortenIdentifier = (value, maxLength = 12) => value.length > maxLength ? `${value.slice(0, Math.max(1, maxLength - 4))}…${value.slice(-4)}` : value;
7
+ function HashValueDisplay({ value, maxLength = 12, className, buttonClassName }) {
8
+ const isTruncated = value.length > maxLength;
9
+ const truncated = shortenIdentifier(value, maxLength);
10
+ const copyValue = async () => {
11
+ try {
12
+ await navigator.clipboard.writeText(value);
13
+ toast.success("Copied to clipboard", { description: value });
14
+ } catch {
15
+ toast.error("Failed to copy value");
16
+ }
17
+ };
18
+ const handleClick = (event) => {
19
+ event.preventDefault();
20
+ event.stopPropagation();
21
+ copyValue();
22
+ };
23
+ const handleKeyDown = (event) => {
24
+ if (event.key === "Enter" || event.key === " ") {
25
+ event.preventDefault();
26
+ event.stopPropagation();
27
+ copyValue();
28
+ }
29
+ };
30
+ const content = /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", {
31
+ translate: "no",
32
+ className: cn("font-mono text-xs tabular-nums whitespace-nowrap", className),
33
+ children: truncated
34
+ });
35
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tooltip$1, { children: [/* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipTrigger, {
36
+ render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("button", {
37
+ type: "button",
38
+ "aria-label": `Copy full value: ${value}`,
39
+ translate: "no",
40
+ className: cn("ring-ring/30 bg-muted/40 border-border/70 inline-flex min-w-0 max-w-full cursor-pointer items-center rounded-md border px-1.5 py-0.5 align-top shadow-xs outline-none transition-[background-color,border-color,transform,box-shadow]", "hover:bg-muted/70 active:scale-[0.98] active:bg-muted/85 focus-visible:ring-[2px]", "touch-manipulation select-none motion-reduce:transition-none motion-reduce:active:scale-100", !isTruncated && "cursor-copy", buttonClassName),
41
+ onClick: handleClick,
42
+ onKeyDown: handleKeyDown
43
+ }),
44
+ children: content
45
+ }), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(TooltipContent, {
46
+ hidden: !isTruncated,
47
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", {
48
+ translate: "no",
49
+ className: "break-all font-mono text-xs tabular-nums",
50
+ children: value
51
+ })
52
+ })] });
53
+ }
54
+ //#endregion
55
+ export { shortenIdentifier as n, HashValueDisplay as t };