@hot-updater/console 1.0.0-rc.37 → 1.0.0-rc.39

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 (82) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/EventDetails-BUTZTAVo.js +1 -0
  3. package/.output/public/assets/{InsightsInfo-D1TJXkbu.js → InsightsInfo-B8i-PPsH.js} +1 -1
  4. package/.output/public/assets/{index-BnCs5zMw.js → index-YSc3HCcR.js} +2 -2
  5. package/.output/public/assets/{insights-CGJW_qQG.js → insights-BT0ER2ff.js} +2 -2
  6. package/.output/public/assets/{insights-C4dg-3pH.js → insights-DPY9akyx.js} +2 -2
  7. package/.output/public/assets/{insights_.distribution-DvwYKSL9.js → insights_.distribution-NyB0_bbh.js} +2 -2
  8. package/.output/public/assets/{insights_.distribution-DuPsUTYt.js → insights_.distribution-jH_7sKdg.js} +1 -1
  9. package/.output/public/assets/installations-C-QP0sM1.js +1 -0
  10. package/.output/public/assets/{installations-D-2HUF-S.js → installations-yQkxp5fm.js} +2 -2
  11. package/.output/public/assets/routes-DQWmO9Ow.js +2 -0
  12. package/.output/public/assets/{routes-B91Tl8_r.js → routes-DuBSi7uM.js} +1 -1
  13. package/.output/public/assets/styles-Cm2ONGCt.css +2 -0
  14. package/.output/server/{__23tanstack-start-server-fn-resolver-BbIdjgi3.mjs → __23tanstack-start-server-fn-resolver-DNbgEvfb.mjs} +36 -36
  15. package/.output/server/_libs/@tanstack/react-router-ssr-query+[...].mjs +1 -1
  16. package/.output/server/_ssr/{ConsoleFeatureUnavailable-3H5YBBIG.mjs → ConsoleFeatureUnavailable-BCGWklf8.mjs} +6 -6
  17. package/.output/server/_ssr/{EventDetails-CUN156Lp.mjs → EventDetails-vtXoqSGS.mjs} +13 -13
  18. package/.output/server/_ssr/{InsightsInfo-9k_ARQOR.mjs → InsightsInfo-B0AtaDnr.mjs} +2 -3
  19. package/.output/server/_ssr/{InsightsPageHeader-fomu7iXg.mjs → InsightsPageHeader-BryzBlT8.mjs} +5 -5
  20. package/.output/server/_ssr/{NotFoundPage-BDuHSdd6.mjs → NotFoundPage-xK1bhpoZ.mjs} +2 -2
  21. package/.output/server/_ssr/{alert-dialog-CWePRAJV.mjs → alert-dialog-Cc9d0p8Y.mjs} +1 -1
  22. package/.output/server/_ssr/{api-DQ-FXMz3.mjs → api-Bz1UGqdn.mjs} +3 -3
  23. package/.output/server/_ssr/{api-keys-bim5GRPD.mjs → api-keys-C2jqeEZ_.mjs} +2 -2
  24. package/.output/server/_ssr/{api-keys-C4LJdYs5.mjs → api-keys-DnKkFZ3T.mjs} +8 -8
  25. package/.output/server/_ssr/{api-keys-rpc-CXQTGlAg.mjs → api-keys-rpc-BJ0MKu1e.mjs} +3 -3
  26. package/.output/server/_ssr/{api-rpc-CPoJccqV.mjs → api-rpc-B9mAeGyS.mjs} +4 -4
  27. package/.output/server/_ssr/{auth-rpc-RRWjYszv.mjs → auth-rpc-Bs4tYGIg.mjs} +4 -4
  28. package/.output/server/_ssr/{auth.server-Jm-lGkAV.mjs → auth.server-CcTNWmd4.mjs} +2 -2
  29. package/.output/server/_ssr/{card-JDjWazaX.mjs → card-GK-VihZc.mjs} +1 -1
  30. package/.output/server/_ssr/{config.server-ByU2skgQ.mjs → config.server-DaeqzKiu.mjs} +3 -3
  31. package/.output/server/_ssr/{console-access-BKTPQEbc.mjs → console-access-CSVqeikY.mjs} +2 -2
  32. package/.output/server/_ssr/{console-features-api-DR64_VBz.mjs → console-features-api-CuukSjL8.mjs} +5 -5
  33. package/.output/server/_ssr/{console-features-rpc-DiQXop1k.mjs → console-features-rpc-Dxv_D020.mjs} +3 -3
  34. package/.output/server/_ssr/{dialog-B_H88HlL.mjs → dialog-Vjm_bDw9.mjs} +1 -1
  35. package/.output/server/_ssr/{empty-D4-dl3JT.mjs → empty-DeVHKygf.mjs} +2 -2
  36. package/.output/server/_ssr/{field-_iyHgZ6n.mjs → field-CcbQSAiS.mjs} +2 -2
  37. package/.output/server/_ssr/{input-group-C7STqztC.mjs → input-group-D7oZhqZP.mjs} +1 -1
  38. package/.output/server/_ssr/{insights-B4Dnb2-l.mjs → insights-C2_kuG7Z.mjs} +2 -2
  39. package/.output/server/_ssr/{insights-C79pFvJ0.mjs → insights-CdkhyQHH.mjs} +5 -5
  40. package/.output/server/_ssr/{insights-WJB5cOP1.mjs → insights-DFBjq_u1.mjs} +146 -120
  41. package/.output/server/_ssr/{insights-api-gOi3RxGF.mjs → insights-api-CBBcHIUP.mjs} +3 -3
  42. package/.output/server/_ssr/{insights-failures-rpc-I4DuA2w_.mjs → insights-failures-rpc-CTf5QF7O.mjs} +4 -4
  43. package/.output/server/_ssr/{insights-recovery-rpc-CP_yvJqm.mjs → insights-recovery-rpc-CPKwBt4V.mjs} +3 -3
  44. package/.output/server/_ssr/{insights-rpc-BMB_YXld.mjs → insights-rpc-DjhnYd2B.mjs} +3 -3
  45. package/.output/server/_ssr/{insights-usage-rpc-DjFvxUfh.mjs → insights-usage-rpc-CLHRgGDT.mjs} +3 -3
  46. package/.output/server/_ssr/{insights-usage-rpc-BGvxXZAK.mjs → insights-usage-rpc-CLyldyrz.mjs} +3 -3
  47. package/.output/server/_ssr/{insights_.distribution-BVCN8OAV.mjs → insights_.distribution-Buu3dsat.mjs} +12 -12
  48. package/.output/server/_ssr/{insights_.distribution-BZ-X0rqy.mjs → insights_.distribution-DXCwHGBj.mjs} +5 -5
  49. package/.output/server/_ssr/{insights_.distribution-Ct7BBlil.mjs → insights_.distribution-WDmsXtQl.mjs} +2 -2
  50. package/.output/server/_ssr/{installations-BYsNrAYO.mjs → installations-BiZY4zjE.mjs} +12 -12
  51. package/.output/server/_ssr/{installations-Bck5gWvu.mjs → installations-Dfe3WTAY.mjs} +2 -2
  52. package/.output/server/_ssr/{installations-j-TUOGSQ.mjs → installations-sR2BlZxi.mjs} +4 -4
  53. package/.output/server/_ssr/{release-adoption-RBqFLBpk.mjs → release-adoption-NO2DVJwF.mjs} +8 -8
  54. package/.output/server/_ssr/{release-adoption-rpc-C0uxuG4U.mjs → release-adoption-rpc-DVhlhHRR.mjs} +7 -7
  55. package/.output/server/_ssr/{releaseAdoption-CzeDAkz7.mjs → releaseAdoption-CwFUzIZA.mjs} +13 -6
  56. package/.output/server/_ssr/{router-Cmu4KYOY.mjs → router-HumF5rJs.mjs} +14 -14
  57. package/.output/server/_ssr/{routes-B0_R6UgL.mjs → routes-CN0fvuLB.mjs} +11 -11
  58. package/.output/server/_ssr/{routes-80FGZ5LN.mjs → routes-kDK03EWa.mjs} +12 -12
  59. package/.output/server/_ssr/{select-CvpHwKoP.mjs → select-ycdfR07Y.mjs} +1 -1
  60. package/.output/server/_ssr/{server-BJhN_kEZ.mjs → server-CyAnx61_.mjs} +3 -3
  61. package/.output/server/_ssr/{sidebar-VNZznbcK.mjs → sidebar-B2SHpuig.mjs} +2 -2
  62. package/.output/server/_ssr/ssr.mjs +1 -1
  63. package/.output/server/_ssr/{table-C_7IMswk.mjs → table-COXYXU49.mjs} +1 -1
  64. package/.output/server/{_tanstack-start-manifest_v-k0gJhOdb.mjs → _tanstack-start-manifest_v-DcB4oGQp.mjs} +21 -21
  65. package/.output/server/index.mjs +104 -104
  66. package/package.json +7 -7
  67. package/src/components/features/insights/ComparedBundlesChart.tsx +108 -61
  68. package/src/components/features/insights/EventDetails.tsx +7 -8
  69. package/src/components/features/insights/InsightsOverview.tsx +90 -71
  70. package/src/components/features/insights/InstallationHistoryCard.tsx +1 -1
  71. package/src/components/features/insights/ReleaseActivity.tsx +2 -3
  72. package/src/lib/insights-search.ts +0 -6
  73. package/src/lib/insights-view.ts +0 -7
  74. package/src/lib/release-adoption-api.ts +6 -3
  75. package/src/lib/release-adoption.ts +18 -15
  76. package/src/lib/server/releaseAdoption.ts +29 -20
  77. package/src/routes/insights.tsx +0 -9
  78. package/src/routes/installations.tsx +1 -1
  79. package/.output/public/assets/EventDetails-B7sg-hJY.js +0 -1
  80. package/.output/public/assets/installations-tTQd9kCf.js +0 -1
  81. package/.output/public/assets/routes-B2VVPV8z.js +0 -2
  82. package/.output/public/assets/styles-C0s3e1IX.css +0 -2
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-10-07T03:20:20.490Z",
2
+ "date": "2026-10-07T10:42:43.508Z",
3
3
  "preset": "node-server",
4
4
  "framework": {
5
5
  "name": "nitro",
@@ -0,0 +1 @@
1
+ import{$r as e,Fn as t,Hr as n,_ as r,ar as i,b as a,g as o,ni as s,v as c,x as l,y as u}from"./sidebar-RBvHzq8e.js";import{p as d}from"./preload-helper-DuV6lz46.js";import{a as f,i as p,r as m,t as h}from"./empty-DtangHOp.js";import{f as g,s as _}from"./field-bPoDrs6K.js";import{o as v}from"./useCompositeListItem-BxJspDxS.js";import{l as y,s as b,u as x}from"./input-group-_PD0i7wZ.js";import{n as S}from"./dist-BzWwzt98.js";import{n as C,r as w}from"./InsightsPageHeader-CASeYum3.js";var T=i(`activity`,[[`path`,{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`,key:`169zse`}]]),E=i(`arrow-right-left`,[[`path`,{d:`m16 3 4 4-4 4`,key:`1x1c3m`}],[`path`,{d:`M20 7H4`,key:`zbl0bi`}],[`path`,{d:`m8 21-4-4 4-4`,key:`h9nckh`}],[`path`,{d:`M4 17h16`,key:`g4d7ey`}]]),D=i(`circle-alert`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),O=i(`copy`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),k=i(`smartphone`,[[`rect`,{width:`14`,height:`20`,x:`5`,y:`2`,rx:`2`,ry:`2`,key:`1yt0o3`}],[`path`,{d:`M12 18h.01`,key:`mhygvu`}]]),A=i(`sparkles`,[[`path`,{d:`M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z`,key:`1s2grr`}],[`path`,{d:`M20 2v4`,key:`1rf3ol`}],[`path`,{d:`M22 4h-4`,key:`gwowj6`}],[`circle`,{cx:`4`,cy:`20`,r:`2`,key:`6kqj1y`}]]),j=s(e(),1),M=n(),N={UPDATE_DOWNLOADED:{label:`Downloaded`,description:`Downloaded. It launches when the app restarts.`,variant:`default`,icon:x},UPDATE_APPLIED:{label:`Launched`,description:`The app restarted into the downloaded bundle.`,variant:`success`,icon:g},RECOVERED:{label:`Crashed`,description:`Crashed on the bundle and rolled back.`,variant:`warning`,icon:y},UPDATE_FAILED:{label:`Update failed`,description:`An update check, download, or install failed.`,variant:`destructive`,icon:D},UNCHANGED:{label:`Launch`,description:`The app launched; the report changed nothing.`,variant:`secondary`,icon:T}},P=e=>{let{kinds:t=[],previous:n}=e.change??{};return t.includes(`first_seen`)?{label:`First seen`,description:`The installation's first report to this server.`,variant:`secondary`,icon:A}:t.includes(`app_version`)||t.includes(`native_build`)?{label:`App updated`,description:n&&n.appVersion!==e.appVersion?`From app ${n.appVersion} to ${e.appVersion}.`:`A new build of the same app version.`,variant:`secondary`,icon:k}:t.includes(`bundle`)?{label:`Launched`,description:`Seen running this bundle; the report of the restart into it never arrived.`,variant:`success`,icon:g}:t.includes(`release`)?{label:`Release adopted`,description:`The bundle it runs now ships under another release.`,variant:`secondary`,icon:E}:t.includes(`channel`)?{label:`Channel changed`,description:n?`From ${n.channel} to ${e.channel}.`:`It reports on another channel.`,variant:`secondary`,icon:E}:N.UNCHANGED},F=e=>e.type===`UNCHANGED`&&e.change?P({change:e.change,appVersion:e.appVersion??``,channel:e.channel??``}):N[e.type];function I(){let[e,t]=(0,j.useState)(`UTC`);return(0,j.useEffect)(()=>{t(Intl.DateTimeFormat().resolvedOptions().timeZone)},[]),new Intl.DateTimeFormat(`en`,{timeZone:e,timeZoneName:`shortOffset`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`,hourCycle:`h23`})}function L(e,t){let n=Object.fromEntries(t.formatToParts(new Date(e)).map(({type:e,value:t})=>[e,t])),r=n.timeZoneName===`GMT`?`GMT+0`:n.timeZoneName;return`${n.year}/${n.month}/${n.day} ${n.hour}:${n.minute}:${n.second} ${r}`}function R({value:e,formatter:t,touch:n=!1}){let r=new Date(e),i=L(e,t);return(0,M.jsxs)(`details`,{className:`group/time`,children:[(0,M.jsx)(`summary`,{className:`cursor-pointer list-none rounded-md outline-none focus-visible:ring-2 focus-visible:ring-ring/30 [&::-webkit-details-marker]:hidden ${n?`flex min-h-11 items-center`:``}`,children:(0,M.jsxs)(`span`,{className:`flex items-center gap-1`,children:[(0,M.jsx)(`time`,{dateTime:r.toISOString(),className:`whitespace-nowrap`,children:i}),(0,M.jsx)(v,{"aria-hidden":`true`,className:`size-3 text-muted-foreground group-open/time:rotate-180`})]})}),(0,M.jsx)(`p`,{className:`mt-2 text-muted-foreground`,children:r.toISOString().replace(`T`,` `).replace(`Z`,` UTC`)})]})}var z={patch:`A patch delivered it.`,manifest:`Only the changed files were downloaded.`,archive:`The full archive was downloaded.`},B=e=>{if(e.late)return`Counted nothing: the installation had already downloaded or run this bundle.`;if(e.impliedDownload)return`Its download report never arrived; the download counted with it.`;if(e.type===`UPDATE_FAILED`&&e.failure)return d(e.failure);if(e.type===`UPDATE_DOWNLOADED`&&e.delivery){let t=z[e.delivery]??null;return e.patchFallback?`The patch failed. ${t??``}`.trim():t}return null};function V({response:e}){let n=async()=>{try{await navigator.clipboard.writeText(e.body),S.success(`Response body copied`)}catch{S.error(`Could not copy the response body`)}};return(0,M.jsxs)(`section`,{"aria-label":`Response body`,className:`flex min-w-0 flex-col gap-3`,children:[(0,M.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-medium`,children:`Response body`}),(0,M.jsxs)(t,{variant:`outline`,className:`min-h-11`,disabled:e.body===null||e.body===``,onClick:()=>void n(),children:[(0,M.jsx)(O,{"aria-hidden":`true`,"data-icon":`inline-start`}),` Copy body`]})]}),e.bodyTruncated?(0,M.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Truncated to the 4 KiB reporting limit. Copy includes only the stored text.`}):null,e.body?(0,M.jsx)(`pre`,{className:`rounded-md border bg-muted/30 p-4 font-mono text-xs leading-relaxed whitespace-pre-wrap wrap-anywhere`,children:e.body}):(0,M.jsx)(h,{children:(0,M.jsxs)(p,{children:[(0,M.jsx)(f,{children:e.body===null?`Response body unavailable`:`Empty response body`}),(0,M.jsx)(m,{children:e.body===null?`The client received the HTTP status but could not read the body.`:e.status===304?`The server returned no body. The client can reuse its cached catalog.`:`The server returned no text in this response.`})]})})]})}function H({event:e}){let n=e.httpResponse,i=I(),s=n.status===304?`Not modified`:n.status>=500?`Server error`:n.status>=400?`Request error`:n.status>=300?`Redirect`:`Success`,d=n.resource===`catalog`?`Catalog`:`Artifact`,f=[[`App`,e.platform&&`${e.platform===`ios`?`iOS`:`Android`} ${e.appVersion}`],[`Channel`,e.channel],[`SDK`,e.sdkVersion],[`Installation`,e.installId]].filter(([,e])=>e!=null);return(0,M.jsxs)(o,{children:[(0,M.jsxs)(l,{"aria-label":`View ${d.toLowerCase()} response: HTTP ${n.status}`,render:(0,M.jsx)(t,{variant:`ghost`,className:`-ml-2 h-auto min-h-11 justify-start`}),children:[(0,M.jsxs)(_,{variant:n.status>=400?`destructive`:`secondary`,children:[`HTTP `,n.status]}),(0,M.jsxs)(`span`,{children:[d,` response`]})]}),(0,M.jsxs)(r,{className:`data-[side=right]:w-full data-[side=right]:sm:max-w-2xl`,children:[(0,M.jsxs)(u,{className:`border-b pr-14`,children:[(0,M.jsx)(a,{children:`HTTP response`}),(0,M.jsxs)(c,{children:[d,` · HTTP `,n.status,` · `,s,`. Most recent response available when this report was created.`]})]}),(0,M.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-6 overflow-y-auto p-6`,children:[(0,M.jsxs)(`section`,{"aria-label":`Request`,className:`flex min-w-0 flex-col gap-2`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-medium`,children:`Request`}),(0,M.jsxs)(`p`,{className:`font-mono text-xs leading-relaxed whitespace-pre-wrap wrap-anywhere`,children:[`GET `,n.path]}),n.receivedAtMs==null?null:(0,M.jsxs)(`div`,{className:`text-xs text-muted-foreground`,children:[`Response received`,` `,(0,M.jsx)(R,{value:n.receivedAtMs,formatter:i})]})]}),(0,M.jsx)(V,{response:n}),f.length?(0,M.jsxs)(`section`,{"aria-label":`Response context`,className:`flex flex-col gap-3`,children:[(0,M.jsx)(`h3`,{className:`text-sm font-medium`,children:`Response context`}),(0,M.jsx)(`dl`,{className:`grid grid-cols-2 gap-x-6 gap-y-4`,children:f.map(([e,t])=>(0,M.jsxs)(`div`,{className:`min-w-0`,children:[(0,M.jsx)(`dt`,{className:`text-xs text-muted-foreground`,children:e}),(0,M.jsx)(`dd`,{className:`mt-1 text-sm wrap-anywhere`,children:t})]},e))})]}):null]})]})]})}function U({event:e}){let t=F(e),n=t.icon,r=B(e);return(0,M.jsxs)(`div`,{className:`flex min-w-0 flex-col items-start gap-2`,children:[(0,M.jsxs)(_,{variant:t.variant,className:`gap-1 whitespace-nowrap [&_svg]:size-3`,children:[(0,M.jsx)(n,{"aria-hidden":`true`}),t.label]}),(0,M.jsx)(`p`,{className:`max-w-56 whitespace-pre-wrap wrap-anywhere text-xs text-muted-foreground`,children:e.type===`UPDATE_FAILED`&&r?r:t.description}),e.httpResponse?(0,M.jsx)(H,{event:e}):null,e.type===`UPDATE_FAILED`&&e.failure?.errorStack?(0,M.jsxs)(`details`,{className:`w-full max-w-56 text-xs`,children:[(0,M.jsx)(`summary`,{className:`cursor-pointer text-muted-foreground`,children:`Stack trace`}),(0,M.jsx)(`pre`,{className:`mt-2 max-h-64 overflow-auto whitespace-pre-wrap wrap-anywhere font-mono`,children:e.failure.errorStack})]}):null,e.type!==`UPDATE_FAILED`&&r?(0,M.jsx)(`p`,{className:`max-w-56 whitespace-normal text-xs text-muted-foreground`,children:r}):null]})}function W({event:e,touch:t=!1}){let n=e.type===`UPDATE_DOWNLOADED`,r=e.type===`UPDATE_FAILED`,i=!r||e.failure?.stage!==`check`,a=e.type===`UNCHANGED`&&e.change?.kinds.includes(`bundle`)===!0&&e.change.previous!==void 0,o=a?e.change.previous.bundleId:e.fromBundleId,s=n||r||a||e.type===`UPDATE_APPLIED`||e.type===`RECOVERED`;return(0,M.jsxs)(`dl`,{className:`grid grid-cols-[auto_minmax(0,1fr)] items-center gap-x-2 gap-y-2`,children:[o&&s?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`dt`,{className:`text-muted-foreground`,children:n||r?`Running`:`From`}),(0,M.jsxs)(`dd`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(b,{value:o,buttonClassName:t?`min-h-11 px-3`:void 0}),w(o,a?e.change.previous.minBundleId:e.minBundleId)?(0,M.jsx)(C,{}):null]})]}):null,i?(0,M.jsxs)(M.Fragment,{children:[(0,M.jsx)(`dt`,{className:`text-muted-foreground`,children:n?`Pending`:r?`Target`:s?`To`:`Current`}),(0,M.jsxs)(`dd`,{className:`flex min-w-0 flex-wrap items-center gap-2`,children:[(0,M.jsx)(b,{value:e.toBundleId,buttonClassName:t?`min-h-11 px-3`:void 0}),w(e.toBundleId,e.minBundleId)?(0,M.jsx)(C,{}):null]})]}):null]})}export{H as a,V as i,R as n,I as o,U as r,O as s,W as t};
@@ -1 +1 @@
1
- import{$ as e,$r as t,Fn as n,Hr as r,et as i,ni as a,nt as o}from"./sidebar-RBvHzq8e.js";import{S as ee}from"./preload-helper-DuV6lz46.js";var s=`[a-zA-Z0-9-]`,c=String.raw`0|[1-9]\d*`,l=String.raw`\d+`,u=String.raw`\d*[a-zA-Z-]${s}*`,te=String.raw`(${c})\.(${c})\.(${c})`,d=String.raw`(${l})\.(${l})\.(${l})`,f=`(?:${u}|${c})`,p=`(?:${u}|${l})`,m=String.raw`(?:-(${f}(?:\.${f})*))`,h=String.raw`(?:-?(${p}(?:\.${p})*))`,g=`${s}+`,_=String.raw`(?:\+(${g}(?:\.${g})*))`,ne=`v?${te}${m}?${_}?`,v=String.raw`[v=\s]*${d}${h}?${_}?`,y=String.raw`${c}|x|X|\*`,b=String.raw`${l}|x|X|\*`;String.raw`[v=\s]*(${y})(?:\.(${y})(?:\.(${y})(?:${m})?${_}?)?)?`,String.raw`[v=\s]*(${b})(?:\.(${b})(?:\.(${b})(?:${h})?${_}?)?)?`,String.raw`(?:\^)`;var x=String.raw`(^|[^\d])(\d{1,${16}})(?:\.(\d{1,${16}}))?(?:\.(\d{1,${16}}))?`,S=String.raw`${x}(?:$|[^\d])`,C=String.raw`${x}(?:${m})?(?:${_})?(?:$|[^\d])`;function w(e){let t=[[String.raw`\s`,1],[String.raw`\d`,256],[s,250]];for(let[n,r]of t)e=e.split(`${n}*`).join(`${n}{0,${r}}`).split(`${n}+`).join(`${n}{1,${r}}`);return e}function T(e,t){return new RegExp(w(e),t)}T(`^${ne}$`),T(`^${v}$`),T(S),T(C),T(`^${m}$`),T(`^${h}$`);var E=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.baseBundleId==`string`&&typeof t.baseFileHash==`string`&&typeof t.patchFileHash==`string`&&typeof t.patchStorageUri==`string`},re=e=>Array.isArray(e)?e.filter(E):[],ie=e=>{let t=re(e.patches),n=new Set;return t.filter(e=>n.has(e.baseBundleId)?!1:(n.add(e.baseBundleId),!0))},D=e=>ie(e)[0]??null,ae=e=>D(e)?.baseBundleId??null,O=e=>D(e)?.baseFileHash??null,k=e=>D(e)?.patchFileHash??null,A=1e3,j=A,M=`Invalid cohort. Use 1-1000 or a lowercase slug without spaces, up to 64 characters.`,N=/^[a-z0-9-]+$/;function P(e){if(!/^\d+$/.test(e))return null;let t=Number.parseInt(e,10);return Number.isNaN(t)||t<1||t>1e3?null:t}function F(e,t){return(e%t+t)%t}function I(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}function L(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let e=n%r;n=r,r=e}return n}function R(e,t){let n=0,r=1,i=t,a=F(e,t);for(;a!==0;){let e=Math.floor(i/a);[n,r]=[r,n-e*r],[i,a]=[a,i-e*a]}if(i>1)throw Error(`No modular inverse for ${e} mod ${t}`);return F(n,t)}function z(e){let t=F(I(`${e}:multiplier`),997);for(t===0&&(t=1);L(t,A)!==1;)t=F(t+1,A),t===0&&(t=1);let n=F(I(`${e}:offset`),A);return{multiplier:t,offset:n,inverseMultiplier:R(t,A)}}function B(e){return e==null?j:e<=0?0:e>=1e3?A:Math.floor(e)}function V(e){let t=e.trim().toLowerCase(),n=P(t);return n===null?t:String(n)}function H(e){return P(V(e))}function U(e){return H(e)!==null}function oe(e){let t=V(e);return t.length>0&&t.length<=64&&!/^\d+$/.test(t)&&N.test(t)}function W(e){let t=V(e);return U(t)||oe(t)}function G(e,t){if(t<1||t>1e3)throw Error(`Invalid numeric cohort: ${t}`);let{offset:n,inverseMultiplier:r}=z(e);return F(r*(t-1-n),A)}var K=/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,q=e=>typeof e==`string`&&K.test(e),J=e=>{if(!q(e))throw TypeError(`Expected a canonical lowercase UUIDv7`);let t=e.split(`-`).join(``).slice(0,12);return Number.parseInt(t,16)},Y=e=>typeof e==`string`&&e.trim().length>0&&e.length<=1024?e:void 0,X=e=>e===`24h`||e===`7d`||e===`30d`?e:void 0,se=e=>e===`adoption`||e===`crashes`?e:void 0,ce=e=>e===`12m`?e:X(e);function Z(e){return{platform:e.platform===`all`||e.platform===`ios`||e.platform===`android`?e.platform:void 0,channel:Y(e.channel),appVersion:Y(e.appVersion),window:ce(e.window),bundleWindow:X(e.bundleWindow),healthPlatform:e.healthPlatform===`ios`||e.healthPlatform===`android`?e.healthPlatform:void 0,healthChannel:Y(e.healthChannel),releaseId:Y(e.releaseId),healthChart:se(e.healthChart),adoptionTotal:e.adoptionTotal===`cumulative`?`cumulative`:void 0,bundles:Y(e.bundles)}}function le(e){return{...Z(e),version:Y(e.version),page:typeof e.page==`number`&&Number.isSafeInteger(e.page)&&e.page>0?e.page:void 0}}function ue(e,t=Date.now()){if(!q(e))return`7d`;let n=t-J(e);return n<=864e5?`24h`:n<=7*864e5?`7d`:`30d`}var de=e=>e===void 0?void 0:[...new Set(e.split(`,`).filter(e=>e.length>0))],Q=a(t(),1),$=r();function fe({label:t,children:r}){let a=(0,Q.useId)(),[s,c]=(0,Q.useState)(!1);return(0,$.jsxs)(e,{open:s,onOpenChange:c,triggerId:a,children:[(0,$.jsx)(o,{id:a,"aria-describedby":s?`${a}-description`:void 0,closeOnClick:!1,onClick:()=>c(e=>!e),render:(0,$.jsx)(n,{"aria-label":t,className:`size-11 sm:size-7`,size:`icon`,variant:`ghost`}),children:(0,$.jsx)(ee,{})}),(0,$.jsx)(i,{id:`${a}-description`,role:`tooltip`,className:`max-w-64`,side:`bottom`,children:r})]})}export{Z as a,A as c,O as d,k as f,B as h,le as i,G as l,V as m,ue as n,J as o,W as p,de as r,M as s,fe as t,ae as u};
1
+ import{$ as e,$r as t,Fn as n,Hr as r,et as i,ni as a,nt as o}from"./sidebar-RBvHzq8e.js";import{S as ee}from"./preload-helper-DuV6lz46.js";var s=`[a-zA-Z0-9-]`,c=String.raw`0|[1-9]\d*`,l=String.raw`\d+`,u=String.raw`\d*[a-zA-Z-]${s}*`,te=String.raw`(${c})\.(${c})\.(${c})`,d=String.raw`(${l})\.(${l})\.(${l})`,f=`(?:${u}|${c})`,p=`(?:${u}|${l})`,m=String.raw`(?:-(${f}(?:\.${f})*))`,h=String.raw`(?:-?(${p}(?:\.${p})*))`,g=`${s}+`,_=String.raw`(?:\+(${g}(?:\.${g})*))`,ne=`v?${te}${m}?${_}?`,v=String.raw`[v=\s]*${d}${h}?${_}?`,y=String.raw`${c}|x|X|\*`,b=String.raw`${l}|x|X|\*`;String.raw`[v=\s]*(${y})(?:\.(${y})(?:\.(${y})(?:${m})?${_}?)?)?`,String.raw`[v=\s]*(${b})(?:\.(${b})(?:\.(${b})(?:${h})?${_}?)?)?`,String.raw`(?:\^)`;var x=String.raw`(^|[^\d])(\d{1,${16}})(?:\.(\d{1,${16}}))?(?:\.(\d{1,${16}}))?`,S=String.raw`${x}(?:$|[^\d])`,C=String.raw`${x}(?:${m})?(?:${_})?(?:$|[^\d])`;function w(e){let t=[[String.raw`\s`,1],[String.raw`\d`,256],[s,250]];for(let[n,r]of t)e=e.split(`${n}*`).join(`${n}{0,${r}}`).split(`${n}+`).join(`${n}{1,${r}}`);return e}function T(e,t){return new RegExp(w(e),t)}T(`^${ne}$`),T(`^${v}$`),T(S),T(C),T(`^${m}$`),T(`^${h}$`);var E=e=>{if(!e||typeof e!=`object`||Array.isArray(e))return!1;let t=e;return typeof t.baseBundleId==`string`&&typeof t.baseFileHash==`string`&&typeof t.patchFileHash==`string`&&typeof t.patchStorageUri==`string`},re=e=>Array.isArray(e)?e.filter(E):[],ie=e=>{let t=re(e.patches),n=new Set;return t.filter(e=>n.has(e.baseBundleId)?!1:(n.add(e.baseBundleId),!0))},D=e=>ie(e)[0]??null,ae=e=>D(e)?.baseBundleId??null,O=e=>D(e)?.baseFileHash??null,k=e=>D(e)?.patchFileHash??null,A=1e3,j=A,M=`Invalid cohort. Use 1-1000 or a lowercase slug without spaces, up to 64 characters.`,N=/^[a-z0-9-]+$/;function P(e){if(!/^\d+$/.test(e))return null;let t=Number.parseInt(e,10);return Number.isNaN(t)||t<1||t>1e3?null:t}function F(e,t){return(e%t+t)%t}function I(e){let t=0;for(let n=0;n<e.length;n++){let r=e.charCodeAt(n);t=(t<<5)-t+r,t|=0}return t}function L(e,t){let n=Math.abs(e),r=Math.abs(t);for(;r!==0;){let e=n%r;n=r,r=e}return n}function R(e,t){let n=0,r=1,i=t,a=F(e,t);for(;a!==0;){let e=Math.floor(i/a);[n,r]=[r,n-e*r],[i,a]=[a,i-e*a]}if(i>1)throw Error(`No modular inverse for ${e} mod ${t}`);return F(n,t)}function z(e){let t=F(I(`${e}:multiplier`),997);for(t===0&&(t=1);L(t,A)!==1;)t=F(t+1,A),t===0&&(t=1);let n=F(I(`${e}:offset`),A);return{multiplier:t,offset:n,inverseMultiplier:R(t,A)}}function B(e){return e==null?j:e<=0?0:e>=1e3?A:Math.floor(e)}function V(e){let t=e.trim().toLowerCase(),n=P(t);return n===null?t:String(n)}function H(e){return P(V(e))}function U(e){return H(e)!==null}function oe(e){let t=V(e);return t.length>0&&t.length<=64&&!/^\d+$/.test(t)&&N.test(t)}function W(e){let t=V(e);return U(t)||oe(t)}function G(e,t){if(t<1||t>1e3)throw Error(`Invalid numeric cohort: ${t}`);let{offset:n,inverseMultiplier:r}=z(e);return F(r*(t-1-n),A)}var K=/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/,q=e=>typeof e==`string`&&K.test(e),J=e=>{if(!q(e))throw TypeError(`Expected a canonical lowercase UUIDv7`);let t=e.split(`-`).join(``).slice(0,12);return Number.parseInt(t,16)},Y=e=>typeof e==`string`&&e.trim().length>0&&e.length<=1024?e:void 0,X=e=>e===`24h`||e===`7d`||e===`30d`?e:void 0,se=e=>e===`adoption`||e===`crashes`?e:void 0,ce=e=>e===`12m`?e:X(e);function Z(e){return{platform:e.platform===`all`||e.platform===`ios`||e.platform===`android`?e.platform:void 0,channel:Y(e.channel),appVersion:Y(e.appVersion),window:ce(e.window),bundleWindow:X(e.bundleWindow),healthPlatform:e.healthPlatform===`ios`||e.healthPlatform===`android`?e.healthPlatform:void 0,healthChannel:Y(e.healthChannel),releaseId:Y(e.releaseId),healthChart:se(e.healthChart),bundles:Y(e.bundles)}}function le(e){return{...Z(e),version:Y(e.version),page:typeof e.page==`number`&&Number.isSafeInteger(e.page)&&e.page>0?e.page:void 0}}function ue(e,t=Date.now()){if(!q(e))return`7d`;let n=t-J(e);return n<=864e5?`24h`:n<=7*864e5?`7d`:`30d`}var de=e=>e===void 0?void 0:[...new Set(e.split(`,`).filter(e=>e.length>0))],Q=a(t(),1),$=r();function fe({label:t,children:r}){let a=(0,Q.useId)(),[s,c]=(0,Q.useState)(!1);return(0,$.jsxs)(e,{open:s,onOpenChange:c,triggerId:a,children:[(0,$.jsx)(o,{id:a,"aria-describedby":s?`${a}-description`:void 0,closeOnClick:!1,onClick:()=>c(e=>!e),render:(0,$.jsx)(n,{"aria-label":t,className:`size-11 sm:size-7`,size:`icon`,variant:`ghost`}),children:(0,$.jsx)(ee,{})}),(0,$.jsx)(i,{id:`${a}-description`,role:`tooltip`,className:`max-w-64`,side:`bottom`,children:r})]})}export{Z as a,A as c,O as d,k as f,B as h,le as i,G as l,V as m,ue as n,J as o,W as p,de as r,M as s,fe as t,ae as u};