agent-session-inspector 0.1.3 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/VERSION +1 -1
  2. package/app/.next/BUILD_ID +1 -1
  3. package/app/.next/app-path-routes-manifest.json +2 -0
  4. package/app/.next/build-manifest.json +3 -3
  5. package/app/.next/prerender-manifest.json +3 -3
  6. package/app/.next/required-server-files.json +1 -1
  7. package/app/.next/routes-manifest.json +15 -0
  8. package/app/.next/server/app/_global-error.html +1 -1
  9. package/app/.next/server/app/_global-error.rsc +1 -1
  10. package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  11. package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  12. package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  13. package/app/.next/server/app/_not-found/page.js.nft.json +1 -1
  14. package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/app/.next/server/app/_not-found.html +1 -1
  16. package/app/.next/server/app/_not-found.rsc +14 -14
  17. package/app/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
  18. package/app/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +13 -13
  19. package/app/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  20. package/app/.next/server/app/api/analytics/route.js +2 -2
  21. package/app/.next/server/app/api/analytics/route.js.nft.json +1 -1
  22. package/app/.next/server/app/api/logs/route.js +2 -2
  23. package/app/.next/server/app/api/logs/route.js.nft.json +1 -1
  24. package/app/.next/server/app/api/pricing/route/app-paths-manifest.json +3 -0
  25. package/app/.next/server/app/api/pricing/route/build-manifest.json +12 -0
  26. package/app/.next/server/app/api/pricing/route/server-reference-manifest.json +4 -0
  27. package/app/.next/server/app/api/pricing/route.js +6 -0
  28. package/app/.next/server/app/api/pricing/route.js.map +5 -0
  29. package/app/.next/server/app/api/pricing/route.js.nft.json +1 -0
  30. package/app/.next/server/app/api/pricing/route_client-reference-manifest.js +3 -0
  31. package/app/.next/server/app/api/providers/route.js +2 -2
  32. package/app/.next/server/app/api/providers/route.js.nft.json +1 -1
  33. package/app/.next/server/app/api/search/route.js +2 -2
  34. package/app/.next/server/app/api/search/route.js.nft.json +1 -1
  35. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route/app-paths-manifest.json +3 -0
  36. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route/build-manifest.json +12 -0
  37. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route/server-reference-manifest.json +4 -0
  38. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route.js +7 -0
  39. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route.js.map +5 -0
  40. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route.js.nft.json +1 -0
  41. package/app/.next/server/app/api/sessions/[provider]/[id]/reveal/route_client-reference-manifest.js +3 -0
  42. package/app/.next/server/app/api/sessions/[provider]/[id]/route.js +2 -2
  43. package/app/.next/server/app/api/sessions/[provider]/[id]/route.js.nft.json +1 -1
  44. package/app/.next/server/app/api/sessions/route.js +2 -2
  45. package/app/.next/server/app/api/sessions/route.js.nft.json +1 -1
  46. package/app/.next/server/app/index.html +1 -1
  47. package/app/.next/server/app/index.rsc +16 -16
  48. package/app/.next/server/app/index.segments/__PAGE__.segment.rsc +15 -15
  49. package/app/.next/server/app/index.segments/_full.segment.rsc +16 -16
  50. package/app/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  51. package/app/.next/server/app/page.js.nft.json +1 -1
  52. package/app/.next/server/app/page_client-reference-manifest.js +1 -1
  53. package/app/.next/server/app/sessions/[provider]/[id]/page.js.nft.json +1 -1
  54. package/app/.next/server/app/sessions/[provider]/[id]/page_client-reference-manifest.js +1 -1
  55. package/app/.next/server/app-paths-manifest.json +2 -0
  56. package/app/.next/server/chunks/1oeh_server_app_api_sessions_[provider]_[id]_reveal_route_actions_1mqlatn.js +3 -0
  57. package/app/.next/server/chunks/[root-of-the-server]__0dyq0rc._.js +3 -0
  58. package/app/.next/server/chunks/[root-of-the-server]__0kgkqhn._.js +3 -0
  59. package/app/.next/server/chunks/[root-of-the-server]__0yxic1z._.js +6 -0
  60. package/app/.next/server/chunks/[root-of-the-server]__10p8y9z._.js +3 -0
  61. package/app/.next/server/chunks/[root-of-the-server]__1cceere._.js +3 -0
  62. package/app/.next/server/chunks/[root-of-the-server]__1eclfq8._.js +3 -0
  63. package/app/.next/server/chunks/[root-of-the-server]__1lz20wm._.js +3 -0
  64. package/app/.next/server/chunks/[root-of-the-server]__1zdh1mi._.js +3 -0
  65. package/app/.next/server/chunks/[root-of-the-server]__20epvou._.js +3 -0
  66. package/app/.next/server/chunks/_next-internal_server_app_api_pricing_route_actions_06i5bdm.js +3 -0
  67. package/app/.next/server/chunks/ssr/_0136j91._.js +1 -1
  68. package/app/.next/server/chunks/ssr/_0o294sf._.js +3 -0
  69. package/app/.next/server/chunks/ssr/_1-5v1mi._.js +3 -0
  70. package/app/.next/server/chunks/ssr/_12__495._.js +1 -1
  71. package/app/.next/server/chunks/ssr/_1ck8cbf._.js +1 -1
  72. package/app/.next/server/chunks/ssr/src_app_page_tsx_1chiuah._.js +1 -1
  73. package/app/.next/server/chunks/ssr/src_app_sessions_[provider]_[id]_page_tsx_0uf635h._.js +3 -3
  74. package/app/.next/server/middleware-build-manifest.js +3 -3
  75. package/app/.next/server/pages/404.html +1 -1
  76. package/app/.next/server/pages/500.html +1 -1
  77. package/app/.next/server/server-reference-manifest.js +1 -1
  78. package/app/.next/server/server-reference-manifest.json +1 -1
  79. package/app/.next/static/chunks/10x4j1wts3xx2.js +1 -0
  80. package/app/.next/static/chunks/1dz8a9ds45tdb.js +6 -0
  81. package/app/.next/static/chunks/1g3ep2o7fhgpe.css +1 -0
  82. package/app/.next/static/chunks/2iedud09ou282.js +1 -0
  83. package/app/.next/static/chunks/2k65elb1vo-2z.js +1 -0
  84. package/app/.next/static/chunks/2t205sbe-_sk4.js +1 -0
  85. package/app/.next/static/chunks/{0u22wlboqnsjn.js → 3_e2d472hbms0.js} +1 -1
  86. package/app/AGENTS.md +9 -0
  87. package/app/CLAUDE.md +1 -0
  88. package/app/CONTRIBUTING.md +71 -0
  89. package/app/Dockerfile +34 -0
  90. package/app/LICENSE +21 -0
  91. package/app/README.md +277 -0
  92. package/app/bin/agent-session-inspector.mjs +159 -0
  93. package/app/components.json +25 -0
  94. package/app/docs/screenshots/analytics-dark.png +0 -0
  95. package/app/docs/screenshots/analytics.png +0 -0
  96. package/app/docs/screenshots/session-overview-dark.png +0 -0
  97. package/app/docs/screenshots/session-overview.png +0 -0
  98. package/app/docs/screenshots/sessions-dark.png +0 -0
  99. package/app/docs/screenshots/sessions.png +0 -0
  100. package/app/docs/screenshots/timeline-dark.png +0 -0
  101. package/app/docs/screenshots/timeline.png +0 -0
  102. package/app/docs/screenshots/token-optimizer-dark.png +0 -0
  103. package/app/docs/screenshots/token-optimizer.png +0 -0
  104. package/app/docs/social-preview.png +0 -0
  105. package/app/eslint.config.mjs +19 -0
  106. package/app/install.sh +85 -0
  107. package/app/next.config.ts +17 -0
  108. package/app/package.json +1 -1
  109. package/app/pnpm-lock.yaml +6760 -0
  110. package/app/pnpm-workspace.yaml +2 -0
  111. package/app/postcss.config.mjs +7 -0
  112. package/app/scripts/demo-data.mjs +288 -0
  113. package/app/scripts/deploy-docker.sh +67 -0
  114. package/app/scripts/package-release.sh +84 -0
  115. package/app/server.js +1 -1
  116. package/app/tsconfig.json +34 -0
  117. package/package.json +1 -1
  118. package/app/.next/server/chunks/[externals]__0xll52b._.js +0 -3
  119. package/app/.next/server/chunks/[root-of-the-server]__093lyxv._.js +0 -3
  120. package/app/.next/server/chunks/[root-of-the-server]__0ne74op._.js +0 -3
  121. package/app/.next/server/chunks/[root-of-the-server]__0uqb915._.js +0 -6
  122. package/app/.next/server/chunks/[root-of-the-server]__0uv5tnc._.js +0 -3
  123. package/app/.next/server/chunks/[root-of-the-server]__1lfc-ga._.js +0 -3
  124. package/app/.next/server/chunks/[root-of-the-server]__1n_sepq._.js +0 -3
  125. package/app/.next/server/chunks/ssr/_0w9kj20._.js +0 -3
  126. package/app/.next/server/chunks/ssr/_1te8t5n._.js +0 -3
  127. package/app/.next/static/chunks/105fms2oszpby.js +0 -1
  128. package/app/.next/static/chunks/13ads2-fzhdry.css +0 -1
  129. package/app/.next/static/chunks/1n1htnt-u9ghv.js +0 -6
  130. package/app/.next/static/chunks/2bron83qy3bb-.js +0 -1
  131. package/app/.next/static/chunks/2q8c3-tw6cvrv.js +0 -1
  132. package/app/.next/static/chunks/3rd1dhhkaulu1.js +0 -1
  133. /package/app/.next/static/{NMXKYaysRrCyMjSEbGwmR → KFq9wlUt8U-Sma3McE5Jw}/_buildManifest.js +0 -0
  134. /package/app/.next/static/{NMXKYaysRrCyMjSEbGwmR → KFq9wlUt8U-Sma3McE5Jw}/_clientMiddlewareManifest.js +0 -0
  135. /package/app/.next/static/{NMXKYaysRrCyMjSEbGwmR → KFq9wlUt8U-Sma3McE5Jw}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,52683,e=>{"use strict";var t,a,s,r,n,o,l,i,d,c,u,m=e.i(45650),h=e.i(10364),p=e.i(59920),f=e.i(3151),g=e.i(51958),x=e.i(13496);let b=(0,x.default)("calendar-clock",[["path",{d:"M16 14v2.2l1.6 1",key:"fo4ql5"}],["path",{d:"M16 2v3",key:"otl347"}],["path",{d:"M21 7.338V5a2 2 0 00-2-2H5a2 2 0 00-2 2v14a2 2 0 002 2h2.338",key:"7hb8p4"}],["path",{d:"M3 9h5.859",key:"numkqi"}],["path",{d:"M8 2v3",key:"1ioesn"}],["circle",{cx:"16",cy:"16",r:"6",key:"qoo3c4"}]]);var v=e.i(44467),y=e.i(56248);let j=(0,x.default)("heart-pulse",[["path",{d:"M2 9.5a5.5 5.5 0 0 1 9.591-3.676.56.56 0 0 0 .818 0A5.49 5.49 0 0 1 22 9.5c0 2.29-1.5 4-3 5.5l-5.492 5.313a2 2 0 0 1-3 .019L5 15c-1.5-1.5-3-3.2-3-5.5",key:"mvr1a0"}],["path",{d:"M3.22 13H9.5l.5-1 2 4.5 2-7 1.5 3.5h5.27",key:"auskq0"}]]),w=(0,x.default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var k=e.i(9590);let S=(0,x.default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);var N=e.i(42893),M=e.i(19455),C=e.i(70962),T=e.i(77572),D=e.i(46798),O=e.i(35334),E=e.i(67489);function L({value:e,onChange:t,options:a,className:s,"aria-label":r}){return(0,m.jsxs)(E.Select,{items:a,value:e,onValueChange:e=>{null!==e&&t(e)},children:[(0,m.jsx)(E.SelectTrigger,{"aria-label":r,className:s,children:(0,m.jsx)(E.SelectValue,{})}),(0,m.jsx)(E.SelectContent,{className:"w-auto min-w-[max(9rem,var(--anchor-width))]",children:(0,m.jsx)(E.SelectGroup,{children:a.map(e=>(0,m.jsx)(E.SelectItem,{value:e.value,children:e.label},e.value))})})]})}var W=e.i(4503),P=e.i(81795),A=e.i(22910),R=e.i(7067),$=e.i(84445),F=e.i(7346),_=e.i(4253),I=e.i(93304),U=e.i(93125);let Y=(0,x.default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);var z=e.i(10),B=e.i(32660),H=e.i(87486),G=e.i(82183),q=e.i(82574),Z=e.i(75379),V=e.i(9449),K=e.i(46816),Q=e.i(48209),X=e.i(75157);function J({icon:e,value:t,label:a}){return(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 text-xs text-muted-foreground",children:[(0,m.jsx)(e,{className:"size-3.5 opacity-70","aria-hidden":!0}),(0,m.jsx)("span",{className:"font-medium tabular-nums text-foreground",children:t.toLocaleString()}),(0,m.jsx)("span",{children:a})]})}function ee({session:e}){let t=(0,Z.firstLine)(e.name),a=e.title??t,s=e.title?t:void 0,r=e.health,n=e.totalInputTokens??0,o=e.totalOutputTokens??0,l=e.estimatedCostUSD,i=e.unpricedModels??[],d=null!=l&&(l>0||0===i.length),c=!!e.eventCount||!!e.toolCallCount||!!e.userMessageCount||n+o>0||!!r,u=(0,K.providerStyle)(e.provider);return(0,m.jsx)(_.default,{href:`/sessions/${e.provider}/${e.id}`,className:"group block min-w-0 rounded-xl focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:(0,m.jsxs)("article",{className:"relative rounded-xl border border-border bg-card px-4 py-3 transition-all duration-150 hover:border-brand/40 hover:shadow-md hover:shadow-foreground/5",children:[(0,m.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,m.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,m.jsxs)("span",{className:(0,X.cn)("mb-1 inline-flex items-center gap-1.5 rounded-full border px-2 py-0.5 text-[11px] font-medium",u.badgeCls),children:[(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 rounded-full",u.dotCls),"aria-hidden":!0}),u.shortLabel]}),(0,m.jsx)("h3",{className:"line-clamp-2 break-words text-sm font-semibold leading-snug text-foreground",children:a??(0,m.jsx)("span",{className:"font-normal italic text-muted-foreground",children:"Unnamed session"})}),s&&(0,m.jsx)("p",{className:"mt-0.5 line-clamp-1 break-words text-xs text-muted-foreground",children:s})]}),(0,m.jsxs)("div",{className:"flex shrink-0 items-center gap-2",children:[(0,m.jsxs)("div",{className:"flex flex-col items-end gap-1",children:[(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,Q.isRunning)(e.updated_at)?(0,m.jsxs)("span",{className:"inline-flex items-center gap-1.5 whitespace-nowrap text-xs font-medium text-emerald-600 dark:text-emerald-400",children:[(0,m.jsx)("span",{className:"size-1.5 animate-pulse rounded-full bg-emerald-500","aria-hidden":!0}),"running"]}):(0,m.jsx)("span",{className:"whitespace-nowrap text-xs text-muted-foreground",children:(0,Z.timeAgo)(e.updated_at)})}),(0,m.jsxs)(D.TooltipContent,{children:["Updated ",(0,Z.formatDateTime)(e.updated_at)]})]}),e.client_name&&(0,m.jsx)(H.Badge,{variant:"secondary",className:"hidden text-xs sm:inline-flex",children:e.client_name})]}),(0,m.jsx)(I.ChevronRight,{className:"size-4 shrink-0 text-muted-foreground/40 transition-transform group-hover:translate-x-0.5 group-hover:text-brand","aria-hidden":!0})]})]}),(0,m.jsxs)("div",{className:"mt-2 flex flex-wrap items-center gap-x-3 gap-y-1 text-xs text-muted-foreground",children:[e.repository&&(0,m.jsx)("span",{className:"inline-flex min-w-0 items-center gap-1",children:(0,m.jsx)("span",{className:"truncate font-mono text-foreground/80",children:e.repository})}),e.branch&&(0,m.jsxs)("span",{className:"inline-flex items-center gap-1",children:[(0,m.jsx)(U.GitBranch,{className:"size-3 opacity-70","aria-hidden":!0}),(0,m.jsx)("span",{className:"font-mono",children:e.branch})]}),!e.repository&&e.cwd&&(0,m.jsx)("span",{className:"max-w-full truncate font-mono opacity-80",children:e.cwd})]}),c&&(0,m.jsxs)("div",{className:"mt-2.5 flex flex-wrap items-center gap-x-3 gap-y-1.5 border-t border-border/70 pt-2.5",children:[!!e.userMessageCount&&(0,m.jsx)(J,{icon:Y,value:e.userMessageCount,label:"turns"}),!!e.toolCallCount&&(0,m.jsx)(J,{icon:z.Wrench,value:e.toolCallCount,label:"tools"}),!!e.eventCount&&(0,m.jsx)(J,{icon:B.Zap,value:e.eventCount,label:"events"}),(n+o>0||d||r)&&(0,m.jsxs)("div",{className:"ml-auto flex items-center gap-1.5",children:[r&&(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsx)(G.GradeBadge,{grade:r.grade,className:"h-[22px]"})}),(0,m.jsxs)(D.TooltipContent,{children:["Health ",r.score," · ",V.OUTCOME_LABELS[r.outcome].toLowerCase(),r.signals.filter(e=>"outcome"!==e.id).map(e=>` \xb7 ${V.SIGNAL_INFO[e.id].label.toLowerCase()}`)]})]}),d&&(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsxs)("span",{className:"inline-flex items-center rounded-sm border border-emerald-200 bg-emerald-50 px-1.5 py-0.5 font-mono text-xs text-emerald-700 dark:border-emerald-900 dark:bg-emerald-950/40 dark:text-emerald-300",children:[(0,Z.formatCost)(l),i.length>0&&"+"]})}),(0,m.jsxs)(D.TooltipContent,{children:["Estimated cost at API list prices",i.length>0&&` \xb7 excludes ${i.join(", ")}`,null!=e.inheritedCostUSD&&` \xb7 plus ${(0,Z.formatCost)(e.inheritedCostUSD)} inherited from the forked session`]})]}),n>0&&(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-sm border border-blue-200 bg-blue-50 px-1.5 py-0.5 font-mono text-xs text-blue-700 dark:border-blue-900 dark:bg-blue-950/40 dark:text-blue-300",children:[(0,m.jsx)(q.InputTokensIcon,{className:"size-3","aria-hidden":!0}),(0,m.jsx)("span",{className:"opacity-70",children:"in"}),(0,Z.formatTokens)(n)]})}),(0,m.jsxs)(D.TooltipContent,{children:[n.toLocaleString()," input tokens"]})]}),o>0&&(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-sm border border-indigo-200 bg-indigo-50 px-1.5 py-0.5 font-mono text-xs text-indigo-700 dark:border-indigo-900 dark:bg-indigo-950/40 dark:text-indigo-300",children:[(0,m.jsx)(q.OutputTokensIcon,{className:"size-3","aria-hidden":!0}),(0,m.jsx)("span",{className:"opacity-70",children:"out"}),(0,Z.formatTokens)(o)]})}),(0,m.jsxs)(D.TooltipContent,{children:[o.toLocaleString()," output tokens"]})]})]})]})]})})}let et=(0,x.default)("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"}]]);var ea=e.i(7725);let es=(0,x.default)("text-wrap",[["path",{d:"m16 16-3 3 3 3",key:"117b85"}],["path",{d:"M3 12h14.5a1 1 0 0 1 0 7H13",key:"18xa6z"}],["path",{d:"M3 19h6",key:"1ygdsz"}],["path",{d:"M3 5h18",key:"1u36vt"}]]);var er=e.i(59684),en=e.i(34960);let eo={error:"text-destructive",warn:"text-amber-600 dark:text-amber-400",info:"text-foreground",debug:"text-muted-foreground"};function el(e){return e.includes("[ERROR]")?"error":e.includes("[WARN]")?"warn":e.includes("[INFO]")?"info":"debug"}function ei({logs:e,loading:t}){let[a,s]=(0,h.useState)(""),[r,n]=(0,h.useState)(null),[o,l]=(0,h.useState)(null),[i,d]=(0,h.useState)(""),[c,u]=(0,h.useState)(!1),[p,f]=(0,h.useState)(!0),g=r??e[0]?.name??null,x=e.find(e=>e.name===g)?.provider??"copilot",b=null!==g&&o?.name!==g,y=o?.name===g?o.content:"",j=(0,h.useMemo)(()=>{let t=a.trim().toLowerCase();return t?e.filter(e=>e.name.toLowerCase().includes(t)):e},[e,a]);(0,h.useEffect)(()=>{if(!g)return;let e=!1;return(async()=>{try{let t=await fetch(`/api/logs?provider=${encodeURIComponent(x)}&name=${encodeURIComponent(g)}`),a=await t.json();e||l({name:g,content:a.content||""})}catch{e||l({name:g,content:""})}})(),()=>{e=!0}},[g,x]);let w=(0,h.useMemo)(()=>y?y.split("\n"):[],[y]),k=(0,h.useMemo)(()=>{let e=i.trim().toLowerCase();return w.map((e,t)=>({text:e,n:t+1,level:el(e)})).filter(t=>(!c||"error"===t.level||"warn"===t.level)&&(!e||!!t.text.toLowerCase().includes(e)))},[w,i,c]),S=(0,h.useMemo)(()=>w.filter(e=>"error"===el(e)).length,[w]);return t?(0,m.jsxs)("div",{className:"grid gap-4 lg:h-[calc(100vh-16rem)] lg:grid-cols-[280px_1fr]",children:[(0,m.jsx)(A.Skeleton,{className:"h-64 lg:h-full"}),(0,m.jsx)(A.Skeleton,{className:"h-[60vh] lg:h-full"})]}):0===e.length?(0,m.jsx)(O.EmptyState,{icon:v.FileText,title:"No log files",description:"Nothing has been written to ~/.copilot/logs yet."}):(0,m.jsxs)("div",{className:"grid gap-4 lg:h-[calc(100vh-16rem)] lg:min-h-[420px] lg:grid-cols-[280px_1fr]",children:[(0,m.jsxs)("div",{className:"flex min-h-0 max-h-64 flex-col gap-2 lg:max-h-none",children:[(0,m.jsx)(P.SearchInput,{value:a,onChange:s,placeholder:"Filter files…","aria-label":"Filter log files"}),(0,m.jsx)(er.ScrollArea,{className:"min-h-0 flex-1 rounded-xl border border-border",children:(0,m.jsxs)("div",{className:"space-y-1 p-2",children:[j.map(e=>{let t=g===e.name;return(0,m.jsxs)("button",{onClick:()=>{n(e.name),d(""),u(!1)},"aria-current":t,className:(0,X.cn)("w-full rounded-md px-3 py-2 text-left text-xs transition-colors","focus-visible:outline-2 focus-visible:outline-offset-1 focus-visible:outline-ring",t?"bg-primary text-primary-foreground":"text-foreground hover:bg-muted"),children:[(0,m.jsx)("div",{className:"truncate font-mono",children:e.name}),(0,m.jsxs)("div",{className:(0,X.cn)("mt-0.5 flex justify-between",t?"text-primary-foreground/70":"text-muted-foreground"),children:[(0,m.jsx)("span",{children:(0,Z.formatBytes)(e.size)}),(0,m.jsx)("span",{children:(0,Z.timeAgo)(e.mtime)})]})]},e.name)}),0===j.length&&(0,m.jsxs)("p",{className:"px-3 py-6 text-center text-xs text-muted-foreground",children:["No files match “",a,"”"]})]})})]}),(0,m.jsx)("div",{className:"flex min-h-0 h-[60vh] flex-col overflow-hidden rounded-xl border border-border lg:h-auto",children:g?(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2 border-b border-border bg-muted/60 px-3 py-2",children:[(0,m.jsx)("span",{className:"min-w-0 truncate font-mono text-xs text-foreground",children:g}),S>0&&(0,m.jsxs)("span",{className:"inline-flex items-center gap-1 rounded-sm border border-destructive/30 bg-destructive/10 px-1.5 py-0.5 text-[11px] font-medium text-destructive",children:[(0,m.jsx)(et,{className:"size-3","aria-hidden":!0}),S," error",1===S?"":"s"]}),(0,m.jsxs)("div",{className:"ml-auto flex w-full items-center gap-1.5 sm:w-auto",children:[(0,m.jsx)(P.SearchInput,{value:i,onChange:d,size:"sm",placeholder:"Filter lines…","aria-label":"Filter log lines",className:"min-w-0 flex-1 sm:w-44 sm:flex-none"}),(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsxs)(C.Toggle,{variant:"outline",size:"sm",pressed:c,onPressedChange:u,className:"bg-background text-muted-foreground aria-pressed:border-destructive/40 aria-pressed:bg-destructive/10 aria-pressed:text-destructive",children:[(0,m.jsx)(et,{"aria-hidden":!0}),"Problems"]})}),(0,m.jsx)(D.TooltipContent,{children:"Show only errors and warnings"})]}),(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsx)(C.Toggle,{variant:"outline",size:"sm",pressed:p,onPressedChange:f,"aria-label":"Wrap long lines",className:"bg-background text-muted-foreground aria-pressed:text-foreground",children:(0,m.jsx)(es,{"aria-hidden":!0})})}),(0,m.jsx)(D.TooltipContent,{children:"Wrap long lines"})]}),(0,m.jsx)(en.CopyButton,{value:y,label:"Copy log",size:"sm"})]})]}),(i||c)&&(0,m.jsxs)("div",{className:"border-b border-border bg-background px-3 py-1 text-[11px] text-muted-foreground",children:[k.length.toLocaleString()," of ",w.length.toLocaleString()," lines"]}),(0,m.jsx)(er.ScrollArea,{className:"min-h-0 flex-1",children:b?(0,m.jsxs)("div",{className:"flex items-center gap-2 p-4 text-sm text-muted-foreground",children:[(0,m.jsx)(ea.Loader2,{className:"size-4 animate-spin","aria-hidden":!0}),"Loading…"]}):0===k.length?(0,m.jsx)("p",{className:"p-6 text-center text-sm text-muted-foreground",children:"No lines match the current filter."}):(0,m.jsx)("div",{className:"p-3 font-mono text-xs",children:k.map(e=>(0,m.jsxs)("div",{className:(0,X.cn)("flex gap-3 rounded-sm px-1 leading-5 hover:bg-muted/60",eo[e.level]),children:[(0,m.jsx)("span",{className:"w-10 shrink-0 select-none text-right text-muted-foreground/40 tabular-nums",children:e.n}),(0,m.jsx)("span",{className:(0,X.cn)("min-w-0 flex-1",p?"whitespace-pre-wrap [overflow-wrap:anywhere]":"whitespace-pre"),children:e.text||" "})]},e.n))})})]}):(0,m.jsx)("div",{className:"flex h-full items-center justify-center text-sm text-muted-foreground",children:"Select a log file to view"})})]})}var ed=e.i(84774);let ec=[{value:"recent",label:"Most recent"},{value:"sessions",label:"Most sessions"},{value:"cost",label:"Highest cost"},{value:"tokens",label:"Most tokens"},{value:"name",label:"Name (A–Z)"}],eu=["Project","Sessions","Cost","Input","Output","Tool calls","Last active"],em=e=>(0,Z.formatTokens)(e)??"0";function eh({projects:e,loading:t,selected:a,onSelect:s}){let[r,n]=(0,h.useState)(""),[o,l]=(0,h.useState)("recent"),i=(0,h.useMemo)(()=>{let t=r.trim().toLowerCase(),a=t?e.filter(e=>e.name.toLowerCase().includes(t)||e.path?.toLowerCase().includes(t)):e;if("recent"===o)return a;let s=[...a];switch(o){case"sessions":return s.sort((e,t)=>t.sessions-e.sessions);case"cost":return s.sort((e,t)=>t.costUSD-e.costUSD);case"tokens":return s.sort((e,t)=>t.inputTokens+t.outputTokens-(e.inputTokens+e.outputTokens));case"name":return s.sort((e,t)=>e.name.localeCompare(t.name))}},[e,r,o]);return t?(0,m.jsx)("div",{className:"space-y-2",children:Array.from({length:6},(e,t)=>(0,m.jsx)(A.Skeleton,{className:"h-12 rounded-xl"},t))}):0===e.length?(0,m.jsx)(O.EmptyState,{icon:y.FolderGit2,title:"No projects yet",description:"Projects appear once Copilot, Claude Code or Codex writes a transcript to your home directory."}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3",children:[(0,m.jsx)(P.SearchInput,{value:r,onChange:n,placeholder:"Search project or path…","aria-label":"Search projects",className:"w-full max-w-sm"}),(0,m.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:"hidden sm:inline","aria-hidden":!0,children:"Sort"}),(0,m.jsx)(L,{value:o,onChange:l,options:ec,"aria-label":"Sort projects"})]}),(0,m.jsxs)("span",{className:"ml-auto text-xs tabular-nums text-muted-foreground",children:[i.length," of ",e.length]})]}),0===i.length?(0,m.jsx)(O.EmptyState,{icon:y.FolderGit2,title:"No matching projects",description:`Nothing matches “${r}”. Try a folder name or part of its path.`,action:(0,m.jsx)(M.Button,{variant:"outline",size:"sm",onClick:()=>n(""),children:"Clear search"})}):(0,m.jsx)("div",{className:"rounded-xl border border-border bg-card",children:(0,m.jsxs)(ed.Table,{className:"min-w-[720px]",children:[(0,m.jsx)(ed.TableHeader,{children:(0,m.jsx)(ed.TableRow,{className:"text-xs uppercase tracking-wider hover:bg-transparent",children:eu.map((e,t)=>(0,m.jsx)(ed.TableHead,{className:(0,X.cn)("text-muted-foreground",t>0&&"text-right"),children:e},e))})}),(0,m.jsx)(ed.TableBody,{className:"tabular-nums",children:i.map(e=>(0,m.jsxs)(ed.TableRow,{"data-state":e.name===a?"selected":void 0,children:[(0,m.jsxs)(ed.TableCell,{className:"w-full max-w-0",children:[(0,m.jsx)("button",{type:"button",onClick:()=>s(e.name),className:"block max-w-full truncate rounded-sm text-left font-medium hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:e.name}),(0,m.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[e.providers.map(e=>(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 shrink-0 rounded-full",(0,K.providerStyle)(e).dotCls),title:(0,K.providerStyle)(e).shortLabel},e)),(0,m.jsx)("span",{className:"truncate font-mono",title:e.path,children:e.path??"location not recorded"})]})]}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.sessions.toLocaleString()}),(0,m.jsxs)(ed.TableCell,{className:"text-right font-medium",children:[(0,Z.formatCost)(e.costUSD),e.unpriced&&"+"]}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:em(e.inputTokens)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:em(e.outputTokens)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.toolCalls.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"whitespace-nowrap text-right text-muted-foreground",children:(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsx)("span",{children:(0,Z.timeAgo)(e.lastActive)||"—"})}),(0,m.jsx)(D.TooltipContent,{children:(0,Z.formatDateTime)(e.lastActive)})]})})]},e.name))})]})})]})}let ep=(0,x.default)("download",[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]]);var ef=e.i(93472);function eg(e,t){let a=URL.createObjectURL(new Blob([t],{type:"text/csv"})),s=document.createElement("a");s.href=a,s.download=e,s.click(),URL.revokeObjectURL(a)}function ex({title:e,note:t,action:a,className:s,children:r}){return(0,m.jsxs)("section",{className:(0,X.cn)("min-w-0 rounded-xl border border-border bg-card p-4",s),children:[(0,m.jsxs)("div",{className:"mb-3 flex flex-wrap items-center justify-between gap-2",children:[(0,m.jsxs)("h2",{className:"text-sm font-semibold",children:[e,t&&(0,m.jsx)("span",{className:"ml-2 text-xs font-normal text-muted-foreground",children:t})]}),a]}),r]})}var eb=e.i(48154);let ev=(0,x.default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);var ey=e.i(50395),ej=e.i(76639);let ew=[{label:"Anthropic",url:"https://platform.claude.com/docs/en/about-claude/pricing",match:/^claude/},{label:"OpenAI",url:"https://platform.openai.com/docs/pricing",match:/^(gpt|chatgpt|codex|o\d)/},{label:"Google Gemini",url:"https://ai.google.dev/gemini-api/docs/pricing",match:/^gemini/},{label:"xAI",url:"https://docs.x.ai/docs/models",match:/^grok/},{label:"Mistral",url:"https://mistral.ai/pricing",match:/^(mistral|codestral|devstral|magistral|ministral|pixtral)/},{label:"DeepSeek",url:"https://api-docs.deepseek.com/quick_start/pricing",match:/^deepseek/}],ek={label:"OpenRouter",url:"https://openrouter.ai/models"},eS="unknown",eN={target:"_blank",rel:"noreferrer"};function eM({children:e}){return(0,m.jsx)("code",{className:"font-mono text-foreground",children:e})}function eC({models:e}){let[t,a]=(0,h.useState)(!1),[s,r]=(0,h.useState)(null),n=(0,h.useRef)("");if(0===e.length)return null;let o=e.length>1,l=e.filter(e=>e!==eS),i=l.length>1,d=s?.overridePath??"~/.agent-session-inspector/pricing.json",c=[...new Set(l.map(e=>s?.keys[e]??e.toLowerCase()))],u=JSON.stringify(Object.fromEntries(c.map(e=>[e,{input:0,output:0,cacheRead:0}])),null,2);return(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)("div",{className:"flex items-start gap-2 rounded-lg border border-border bg-muted/40 px-3 py-2 text-xs text-muted-foreground",children:[(0,m.jsx)(p.AlertTriangle,{className:"mt-px size-3.5 shrink-0","aria-hidden":!0}),(0,m.jsxs)("p",{className:"min-w-0 flex-1",children:["No price is known for"," ",(0,m.jsx)("span",{className:"font-mono text-foreground",children:e.join(", ")}),", so cost figures leave ",o?"them":"it"," out. Token counts still include ",o?"them":"it","."]}),l.length>0&&(0,m.jsxs)(M.Button,{variant:"outline",size:"xs",onClick:function(){a(!0);let e=l.map(e=>`model=${encodeURIComponent(e)}`).join("&");n.current!==e&&(n.current=e,fetch(`/api/pricing?${e}`).then(e=>e.ok?e.json():null).then(r).catch(()=>r(null)))},"aria-haspopup":"dialog",className:"-my-1 shrink-0",children:[(0,m.jsx)(ey.Info,{"aria-hidden":!0}),"Add ",i?"prices":"a price"]})]}),(0,m.jsx)(ej.Dialog,{open:t,onOpenChange:a,children:(0,m.jsxs)(ej.DialogContent,{className:"sm:max-w-xl",children:[(0,m.jsxs)("div",{className:"space-y-1.5",children:[(0,m.jsxs)(ej.DialogTitle,{children:["Add ",i?"the missing prices":"the missing price"]}),(0,m.jsx)(ej.DialogDescription,{children:"Costs are estimated from a price table bundled with the app. A model the table does not list is left out of every cost figure until you give it a price in your own override file. Nothing is fetched: you look the price up and enter it once."})]}),(0,m.jsxs)("section",{className:"space-y-2",children:[(0,m.jsx)("h3",{className:"text-xs font-medium text-foreground",children:"1. Find the price"}),(0,m.jsx)("ul",{className:"overflow-hidden rounded-lg border border-border text-xs",children:c.map(e=>{let t=ew.find(t=>t.match.test(e))??{label:ek.label,url:`${ek.url}?q=${encodeURIComponent(e)}`};return(0,m.jsxs)("li",{className:"flex items-center gap-2 border-b border-border/60 px-3 py-2 last:border-b-0",children:[(0,m.jsx)("span",{className:"min-w-0 flex-1 truncate font-mono text-foreground",children:e}),(0,m.jsxs)("a",{href:t.url,...eN,className:"inline-flex shrink-0 items-center gap-1 rounded-sm font-medium text-foreground underline underline-offset-2 hover:text-brand focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:[t.label," pricing",(0,m.jsx)(ev,{className:"size-3","aria-hidden":!0})]})]},e)})}),(0,m.jsxs)("p",{className:"text-xs leading-relaxed text-muted-foreground",children:["All price lists:"," ",[...ew,ek].map((e,t)=>(0,m.jsxs)("span",{children:[t>0&&" · ",(0,m.jsx)("a",{href:e.url,...eN,className:"text-foreground underline underline-offset-2 hover:text-brand",children:e.label})]},e.label)),". Use the pay-per-token API price in US dollars per million tokens."]})]}),(0,m.jsxs)("section",{className:"space-y-2 border-t border-border pt-3",children:[(0,m.jsx)("h3",{className:"text-xs font-medium text-foreground",children:"2. Add it to pricing.json"}),(0,m.jsxs)("div",{className:"flex items-center gap-1 text-xs leading-relaxed text-muted-foreground",children:[(0,m.jsxs)("p",{className:"min-w-0 flex-1",children:["Create ",(0,m.jsx)(eM,{children:d})," if it does not exist, or add"," ",i?"these entries":"this entry"," to the one you have, and replace the zeros."]}),(0,m.jsx)(en.CopyButton,{value:d,label:"Copy path"})]}),(0,m.jsxs)("div",{className:"relative",children:[(0,m.jsx)("pre",{className:"overflow-x-auto rounded-lg border border-border bg-muted/50 p-3 pr-10 font-mono text-[11px] leading-relaxed text-foreground",children:u}),(0,m.jsx)(en.CopyButton,{value:u,label:"Copy pricing.json",className:"absolute top-1.5 right-1.5"})]}),(0,m.jsxs)("ul",{className:"list-disc space-y-1 pl-4 text-xs leading-relaxed text-muted-foreground",children:[(0,m.jsxs)("li",{children:[(0,m.jsx)(eM,{children:"input"})," and ",(0,m.jsx)(eM,{children:"output"})," are required. ",(0,m.jsx)(eM,{children:"cacheRead"}),","," ",(0,m.jsx)(eM,{children:"cacheWrite"})," and ",(0,m.jsx)(eM,{children:"cacheWrite1h"})," are optional: the first two fall back to the input price, and ",(0,m.jsx)(eM,{children:"cacheWrite1h"})," to"," ",(0,m.jsx)(eM,{children:"cacheWrite"}),"."]}),(0,m.jsxs)("li",{children:["A model you run yourself costs nothing per token: leave ",(0,m.jsx)(eM,{children:"input"})," and"," ",(0,m.jsx)(eM,{children:"output"})," at 0 to count it as free."]}),(0,m.jsxs)("li",{children:["To record a price change, give the model a list of entries and mark the later one with ",(0,m.jsx)(eM,{children:'"from": "YYYY-MM-DD"'}),". Older sessions keep the old price."]})]})]}),(0,m.jsxs)("p",{className:"border-t border-border pt-3 text-xs leading-relaxed text-muted-foreground",children:[(0,m.jsx)("span",{className:"font-medium text-foreground",children:"3. Reload this page."})," The file is read on every load, so no restart is needed. Entries in it also replace the bundled price of any model they name.",l.length<e.length&&(0,m.jsxs)(m.Fragment,{children:[" ","Usage listed as ",(0,m.jsx)(eM,{children:eS})," was recorded without a model name, so it cannot be given a price."]})]})]})})]})}var eT=e.i(75858);let eD={messages:"Messages",sessions:"Sessions",outputTokens:"Output tokens",costUSD:"Cost"},eO=[{value:"7",label:"Last 7 days",days:7},{value:"30",label:"Last 30 days",days:30},{value:"90",label:"Last 90 days",days:90},{value:"365",label:"Last year",days:365},{value:"all",label:"All time",days:null}],eE=()=>({sessions:0,messages:0,toolCalls:0,outputTokens:0,activeMs:0,costUSD:0});function eL(e){return new Date(e.getFullYear(),e.getMonth(),e.getDate())}function eW(e,t){return new Date(e.getFullYear(),e.getMonth(),e.getDate()+t)}function eP(e){let t=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0");return`${e.getFullYear()}-${t}-${a}`}function eA(e,t){return 0===e.length?0:e[Math.min(e.length-1,Math.floor(t*e.length))]}function eR(){return Array.from({length:7},()=>Array(24).fill(0))}function e$(e){return[...new Set(e.map(e=>e.model).filter(e=>!!e))].sort()}function eF(e){let[t,a]=(0,h.useState)(null),[s,r]=(0,h.useState)(!1);return(0,h.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await fetch("/api/analytics");if(!t.ok)throw Error("Request failed");let s=await t.json();if(e)return;a(s),r(!1)}catch{e||r(!0)}})(),()=>{e=!0}},[e]),{sessions:t,error:s}}let e_=["bg-muted","bg-brand/25","bg-brand/50","bg-brand/75","bg-brand"],eI=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"];function eU(e,t){return e<=0||t<=0?0:Math.max(1,Math.ceil(4*Math.sqrt(e/t)))}function eY(e,t){if("costUSD"===e)return(0,Z.formatCost)(t);let a="outputTokens"===e?(0,Z.formatTokens)(t)??"0":t.toLocaleString(),s=eD[e].toLowerCase();return`${a} ${1===t?s.replace(/s$/,""):s}`}function ez({readout:e,hint:t}){return(0,m.jsxs)("div",{className:"mt-3 flex items-center justify-between gap-3 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:(0,X.cn)("truncate",e&&"text-foreground"),"aria-live":"polite",children:e??t}),(0,m.jsxs)("span",{className:"flex shrink-0 items-center gap-1","aria-hidden":!0,children:["Less",e_.map(e=>(0,m.jsx)("span",{className:(0,X.cn)("size-3 rounded-[3px]",e)},e)),"More"]})]})}let eB=e=>e.toLocaleDateString([],{weekday:"short",month:"short",day:"numeric",year:"numeric"});function eH({days:e,metric:t}){let[a,s]=(0,h.useState)(null),r=Math.max(0,...e.map(e=>e[t])),n=[...Array(e[0]?.date.getDay()??0).fill(null),...e],o=[];for(let e=0;e<n.length;e+=7)o.push(n.slice(e,e+7));let l=o.length<=14?20:o.length<=27?16:13,i=-1,d=o.map(e=>{let t=e.find(e=>null!==e);return t&&t.date.getMonth()!==i?(i=t.date.getMonth(),t.date.toLocaleDateString([],{month:"short"})):""});return(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{className:"overflow-x-auto pb-1",children:(0,m.jsxs)("div",{role:"img","aria-label":`${eD[t]} per day over ${e.length} days`,className:"inline-flex gap-[3px]",style:{"--cell":`${l}px`},onMouseLeave:()=>s(null),children:[(0,m.jsx)("div",{className:"mr-1 flex flex-col gap-[3px] pt-[19px] text-[10px] leading-(--cell) text-muted-foreground",children:eI.map((e,t)=>(0,m.jsx)("span",{className:"h-(--cell)",children:t%2==1?e:""},e))}),o.map((e,a)=>(0,m.jsxs)("div",{className:"flex flex-col gap-[3px]",children:[(0,m.jsx)("span",{className:"h-4 w-(--cell) overflow-visible whitespace-nowrap text-[10px] text-muted-foreground",children:d[a]}),e.map((e,a)=>e?(0,m.jsx)("span",{title:`${eB(e.date)}: ${eY(t,e[t])}`,onMouseEnter:()=>s(`${eB(e.date)} \xb7 ${eY(t,e[t])}`),className:(0,X.cn)("size-(--cell) rounded-[3px] hover:ring-1 hover:ring-foreground/50",e_[eU(e[t],r)])},e.day):(0,m.jsx)("span",{className:"size-(--cell)"},a))]},a))]})}),(0,m.jsx)(ez,{readout:a,hint:"Hover a day for its count"})]})}let eG=Array.from({length:24},(e,t)=>t),eq=e=>String(e%24).padStart(2,"0");function eZ({grid:e,metric:t}){let[a,s]=(0,h.useState)(null),r=Math.max(0,...e.flat());return(0,m.jsxs)("div",{children:[(0,m.jsxs)("div",{role:"img","aria-label":`${eD[t]} by weekday and hour of day`,className:"grid grid-cols-[auto_repeat(24,minmax(0,1fr))] gap-[3px]",onMouseLeave:()=>s(null),children:[(0,m.jsx)("span",{}),eG.map(e=>(0,m.jsx)("span",{className:"text-center text-[10px] text-muted-foreground",children:e%3==0?e:""},e)),e.map((e,a)=>(0,m.jsxs)("div",{className:"contents",children:[(0,m.jsx)("span",{className:"pr-1.5 text-[10px] leading-5 text-muted-foreground",children:eI[a]}),e.map((e,n)=>{let o=`${eI[a]} ${eq(n)}:00–${eq(n+1)}:00 \xb7 ${eY(t,e)}`;return(0,m.jsx)("span",{title:o,onMouseEnter:()=>s(o),className:(0,X.cn)("h-5 rounded-[3px] hover:ring-1 hover:ring-foreground/50",e_[eU(e,r)])},n)})]},a))]}),(0,m.jsx)(ez,{readout:a,hint:`Times in ${Intl.DateTimeFormat().resolvedOptions().timeZone}`})]})}let eV=e=>e.toLocaleDateString([],{month:"short",day:"numeric"});function eK({weeks:e}){let[t,a]=(0,h.useState)(null),s=Math.max(1,...e.map(e=>e.toolCalls));return(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{role:"img","aria-label":`Tool calls per week over ${e.length} weeks`,className:"flex h-24 items-end gap-[2px] border-b border-border",onMouseLeave:()=>a(null),children:e.map(e=>{let t=`Week of ${eV(e.start)} \xb7 ${e.toolCalls.toLocaleString()} tool calls`;return(0,m.jsx)("div",{title:t,onMouseEnter:()=>a(t),className:"group flex h-full min-w-0 max-w-10 flex-1 items-end",children:(0,m.jsx)("div",{className:"w-full rounded-t bg-brand group-hover:bg-brand/75",style:{height:e.toolCalls>0?`max(2px, ${e.toolCalls/s*100}%)`:0}})},e.start.getTime())})}),(0,m.jsxs)("div",{className:"mt-1.5 flex justify-between gap-3 text-[10px] text-muted-foreground",children:[(0,m.jsx)("span",{className:"shrink-0",children:e.length>0&&eV(e[0].start)}),(0,m.jsx)("span",{className:(0,X.cn)("truncate text-xs",t&&"text-foreground"),"aria-live":"polite",children:t??`peak ${s.toLocaleString()} calls in a week`}),(0,m.jsx)("span",{className:"shrink-0",children:e.length>1&&eV(e[e.length-1].start)})]})]})}let eQ=["messages","sessions","outputTokens","costUSD"].map(e=>({value:e,label:eD[e]})),eX=[{value:"messages",label:"Messages"},{value:"activeMs",label:"Active time"},{value:"outputTokens",label:"Output tokens"},{value:"costUSD",label:"Cost"}],eJ=[{value:"servers",label:"Servers"},{value:"tools",label:"Tools"}],e0=[{value:"messages",label:"Messages"},{value:"costUSD",label:"Cost"}],e1=["Agent","Sessions","Cost","Messages","Tool calls","Output","Active","Msgs/min","Tools/min","Top tools"];function e2({reloadToken:e,project:t,onProjectChange:a,projectOptions:s}){let{sessions:r,error:n}=eF(e),[o,l]=(0,h.useState)("90"),[i,d]=(0,h.useState)("all"),[c,u]=(0,h.useState)("all"),[g,x]=(0,h.useState)("messages"),[b,v]=(0,h.useState)("messages"),[y,j]=(0,h.useState)("messages"),[w,k]=(0,h.useState)("messages"),[S,N]=(0,h.useState)("servers"),C=(0,h.useMemo)(()=>({days:eO.find(e=>e.value===o)?.days??null,project:t,provider:i,model:c}),[o,t,i,c]),T=(0,h.useMemo)(()=>r?function(e,t,a=new Date){let s=eL(a),r=null===t.days?null:eW(s,1-t.days).getTime(),n=new Map,o={messages:eR(),sessions:eR(),outputTokens:eR(),costUSD:eR()},l=new Set,i=[],d=new Map,c=new Map,u=new Map,m=new Map,h=new Map,p=s.getTime();for(let a of e){if("all"!==t.provider&&a.provider!==t.provider||"all"!==t.project&&a.project!==t.project||"all"!==t.model&&a.model!==t.model)continue;let e={provider:a.provider,id:a.id,label:a.label,project:a.project,messages:0,toolCalls:0,outputTokens:0,activeMs:0,costUSD:0},s=h.get(a.provider);s||(s={provider:a.provider,...eE(),topTools:[],tools:new Map},h.set(a.provider,s));let f=new Set,g=new Set,x=new Set,b=!1;for(let t of a.activity){if(null!==r&&t.t<r)continue;b=!0;let a=new Date(t.t),l=eP(a),i=n.get(l);i||(i={day:l,date:eL(a),...eE()},n.set(l,i),p=Math.min(p,i.date.getTime()));let d=a.getDay(),h=a.getHours();for(let a of[e,i,s])a.messages+=t.messages,a.toolCalls+=t.toolCalls,a.outputTokens+=t.outputTokens,a.activeMs+=t.activeMs,a.costUSD+=t.costUSD??0;o.messages[d][h]+=t.messages,o.outputTokens[d][h]+=t.outputTokens,o.costUSD[d][h]+=t.costUSD??0,!f.has(l)&&(f.add(l),i.sessions++);let v=24*d+h;for(let[e,a]of(!g.has(v)&&(g.add(v),o.sessions[d][h]++),Object.entries(t.tools??{})))c.set(e,(c.get(e)??0)+a),s.tools.set(e,(s.tools.get(e)??0)+a);for(let[e,a]of Object.entries(t.skills??{})){let t=u.get(e);t||u.set(e,t={name:e,value:0,sessions:0}),t.value+=a,!x.has(e)&&(x.add(e),t.sessions++)}for(let[e,a]of Object.entries(t.mcp??{})){let t=e.indexOf("__"),s=e.slice(0,t),r=e.slice(t+2),n=m.get(s);n||m.set(s,n=new Map),n.set(r,(n.get(r)??0)+a)}}if(!b)continue;for(let t of(i.push(e),s.sessions++,a.unpricedModels??[]))l.add(t);let v=d.get(e.project)??{name:e.project,sessions:0,messages:0,costUSD:0};v.sessions++,v.messages+=e.messages,v.costUSD+=e.costUSD,d.set(e.project,v)}let f=new Date(null===r?p:r),g=[];for(let e=f;e.getTime()<=s.getTime();e=eW(e,1)){let t=eP(e);g.push(n.get(t)??{day:t,date:e,...eE()})}let x=[];for(let e of g){let t=eW(e.date,-e.date.getDay()),a=x[x.length-1];a&&a.start.getTime()===t.getTime()||(a={start:t,...eE()},x.push(a)),a.sessions+=e.sessions,a.messages+=e.messages,a.toolCalls+=e.toolCalls,a.outputTokens+=e.outputTokens,a.activeMs+=e.activeMs,a.costUSD+=e.costUSD}let b={...eE(),sessions:i.length,projects:d.size,activeDays:n.size};for(let e of i)b.messages+=e.messages,b.toolCalls+=e.toolCalls,b.outputTokens+=e.outputTokens,b.activeMs+=e.activeMs,b.costUSD+=e.costUSD;let v=i.map(e=>e.messages).sort((e,t)=>e-t),y=(e,t)=>t[1]-e[1];return{totals:b,messagesPerSession:{mean:i.length?b.messages/i.length:0,median:eA(v,.5),p90:eA(v,.9)},days:g,weeks:x,hourly:o,sessions:i,projects:[...d.values()].sort((e,t)=>t.messages-e.messages),tools:[...c.entries()].sort(y).map(([e,t])=>({name:e,value:t})),skills:[...u.values()].sort((e,t)=>t.value-e.value),mcpServers:[...m.entries()].map(([e,t])=>{let a=[...t.entries()].sort(y);return{name:e,value:a.reduce((e,[,t])=>e+t,0),tools:a.map(([e,t])=>({name:e,value:t}))}}).sort((e,t)=>t.value-e.value),agents:[...h.values()].filter(e=>e.sessions>0).sort((e,t)=>t.messages-e.messages).map(({tools:e,...t})=>({...t,topTools:[...e.entries()].sort(y).slice(0,3).map(([e])=>e)})),unpricedModels:[...l].sort()}}(r,C):null,[r,C]),D=(0,h.useMemo)(()=>K.PROVIDER_ORDER.filter(e=>r?.some(t=>t.provider===e)),[r]),E=(0,h.useMemo)(()=>e$(r??[]),[r]),W=(0,h.useMemo)(()=>[{value:"all",label:"All agents"},...D.map(e=>({value:e,label:(0,K.providerStyle)(e).shortLabel}))],[D]),P=(0,h.useMemo)(()=>[{value:"all",label:"All models"},...E.map(e=>({value:e,label:e}))],[E]),R=(0,h.useMemo)(()=>T?[...T.sessions].sort((e,t)=>t[y]-e[y]).filter(e=>e[y]>0).slice(0,10):[],[T,y]);if(n&&!r)return(0,m.jsxs)("div",{className:"flex items-start gap-3 rounded-xl border border-destructive/30 bg-destructive/5 px-4 py-3",children:[(0,m.jsx)(p.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive","aria-hidden":!0}),(0,m.jsx)("p",{className:"text-sm",children:"Could not load analytics. Use refresh to try again."})]});if(!r||!T)return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(150px,1fr))] gap-3",children:Array.from({length:7},(e,t)=>(0,m.jsx)(A.Skeleton,{className:"h-[86px] rounded-xl"},t))}),(0,m.jsx)(A.Skeleton,{className:"h-48 rounded-xl"})]});if(0===r.length)return(0,m.jsx)(O.EmptyState,{icon:f.BarChart3,title:"Nothing to chart yet",description:"Analytics appear once Copilot, Claude Code or Codex writes a transcript to your home directory."});let{totals:$,messagesPerSession:F}=T,I=T.projects[0],U=T.skills.reduce((e,t)=>e+t.value,0),Y=T.mcpServers.reduce((e,t)=>e+t.value,0),z="servers"===S?T.mcpServers:T.mcpServers.flatMap(e=>e.tools.map(t=>({name:`${e.name} › ${t.name}`,value:t.value}))),B=(e,t)=>t>0?(e/(t/6e4)).toFixed(1):"—";return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)(L,{value:o,onChange:l,options:eO,"aria-label":"Date range"}),s.length>2&&(0,m.jsx)(L,{value:t,onChange:a,options:s,"aria-label":"Project",className:"max-w-56"}),D.length>1&&(0,m.jsx)(L,{value:i,onChange:d,options:W,"aria-label":"Agent"}),E.length>1&&(0,m.jsx)(L,{value:c,onChange:u,options:P,"aria-label":"Model",className:"max-w-56"}),(0,m.jsxs)(M.Button,{variant:"outline",onClick:()=>eg(`agent-activity-${o}.csv`,["date,sessions,messages,tool_calls,output_tokens,active_minutes,estimated_cost_usd",...T.days.map(e=>[e.day,e.sessions,e.messages,e.toolCalls,e.outputTokens,Math.round(e.activeMs/6e4),e.costUSD.toFixed(2)].join(","))].join("\n")+"\n"),className:"ml-auto",children:[(0,m.jsx)(ep,{"aria-hidden":!0}),"Export CSV"]})]}),0===$.sessions?(0,m.jsx)(O.EmptyState,{icon:f.BarChart3,title:"No activity for these filters",description:"Try a longer date range, or clear the project, agent and model filters."}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(eT.StatCardGrid,{children:[(0,m.jsx)(eT.StatCard,{label:"Est. cost",value:(0,Z.formatCost)($.costUSD),sub:T.unpricedModels.length>0?`${T.unpricedModels.length} model${T.unpricedModels.length>1?"s":""} unpriced`:"at API list prices",accent:!0}),(0,m.jsx)(eT.StatCard,{label:"Sessions",value:$.sessions.toLocaleString()}),(0,m.jsx)(eT.StatCard,{label:"Messages",value:(0,Z.formatCount)($.messages)}),(0,m.jsx)(eT.StatCard,{label:"Msgs / session",value:F.mean.toFixed(1),sub:`median ${F.median} \xb7 p90 ${F.p90}`}),(0,m.jsx)(eT.StatCard,{label:"Tool calls",value:(0,Z.formatCount)($.toolCalls)}),(0,m.jsx)(eT.StatCard,{label:"Output tokens",value:(0,Z.formatTokens)($.outputTokens)??"0"}),(0,m.jsx)(eT.StatCard,{label:"Active time",value:(0,Z.formatDuration)($.activeMs),sub:"excl. pauses > 5 min"}),(0,m.jsx)(eT.StatCard,{label:"Active days",value:$.activeDays.toLocaleString(),sub:`of ${T.days.length}`}),(0,m.jsx)(eT.StatCard,{label:"Projects",value:$.projects.toLocaleString(),sub:I&&$.messages>0?`${Math.round(I.messages/$.messages*100)}% in ${I.name}`:void 0})]}),(0,m.jsx)(eC,{models:T.unpricedModels}),(0,m.jsx)(ex,{title:"Activity",action:(0,m.jsx)(eb.Segmented,{label:"Activity metric",value:g,onChange:x,options:eQ}),children:(0,m.jsx)(eH,{days:T.days,metric:g})}),(0,m.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,m.jsx)(ex,{title:"By weekday and hour",action:(0,m.jsx)(eb.Segmented,{label:"Weekday and hour metric",value:b,onChange:v,options:eQ}),children:(0,m.jsx)(eZ,{grid:T.hourly[b],metric:b})}),(0,m.jsx)(ex,{title:"Top sessions",action:(0,m.jsx)(eb.Segmented,{label:"Rank sessions by",value:y,onChange:j,options:eX}),children:(0,m.jsx)("ol",{className:"-mx-2",children:R.map((e,t)=>(0,m.jsx)("li",{children:(0,m.jsxs)(_.default,{href:`/sessions/${e.provider}/${e.id}`,className:"flex items-center gap-3 rounded-md px-2 py-1.5 transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-ring",children:[(0,m.jsx)("span",{className:"w-4 shrink-0 text-right text-xs tabular-nums text-muted-foreground",children:t+1}),(0,m.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,m.jsx)("span",{className:"block truncate text-sm",children:e.label}),(0,m.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 rounded-full",(0,K.providerStyle)(e.provider).dotCls),"aria-hidden":!0}),(0,K.providerStyle)(e.provider).shortLabel," · ",e.project]})]}),(0,m.jsx)("span",{className:"shrink-0 text-sm font-medium tabular-nums",children:"costUSD"===y?(0,Z.formatCost)(e.costUSD):"activeMs"===y?(0,Z.formatDuration)(e.activeMs):"outputTokens"===y?(0,Z.formatTokens)(e.outputTokens)??"0":e.messages.toLocaleString()})]})},`${e.provider}:${e.id}`))})}),(0,m.jsx)(ex,{title:"Projects",note:`${$.projects} total`,action:(0,m.jsx)(eb.Segmented,{label:"Rank projects by",value:w,onChange:k,options:e0}),children:(0,m.jsx)(ef.BarList,{items:T.projects.map(e=>({name:e.name,value:e[w]})),limit:10,format:"costUSD"===w?Z.formatCost:void 0})}),(0,m.jsxs)(ex,{title:"Tool usage",note:`${$.toolCalls.toLocaleString()} calls`,children:[(0,m.jsx)(ef.BarList,{items:T.tools,limit:8,emptyLabel:"No tool calls"}),T.weeks.length>1&&(0,m.jsxs)(m.Fragment,{children:[(0,m.jsx)("h3",{className:"mb-2 mt-5 text-xs uppercase tracking-wider text-muted-foreground",children:"Weekly trend"}),(0,m.jsx)(eK,{weeks:T.weeks})]})]}),(0,m.jsxs)(ex,{title:"Skills",note:`${U.toLocaleString()} call${1===U?"":"s"} \xb7 ${T.skills.length} skill${1===T.skills.length?"":"s"}`,children:[(0,m.jsx)(ef.BarList,{items:T.skills,limit:8,emptyLabel:"No skill was loaded in this range"}),T.skills.length>0&&(0,m.jsxs)("p",{className:"mt-3 text-xs text-muted-foreground",children:["Most used:"," ",(0,m.jsx)("span",{className:"font-mono text-foreground",children:T.skills[0].name}),", in"," ",T.skills[0].sessions," session",1===T.skills[0].sessions?"":"s","."]})]}),(0,m.jsx)(ex,{title:"MCP tools",note:`${Y.toLocaleString()} call${1===Y?"":"s"} \xb7 ${T.mcpServers.length} server${1===T.mcpServers.length?"":"s"}`,action:T.mcpServers.length>0?(0,m.jsx)(eb.Segmented,{label:"Group MCP calls by",value:S,onChange:N,options:eJ}):void 0,children:(0,m.jsx)(ef.BarList,{items:z,limit:8,emptyLabel:"No MCP tool was called in this range"})})]}),(0,m.jsx)(ex,{title:"Agent comparison",children:(0,m.jsxs)(ed.Table,{className:"min-w-[720px]",children:[(0,m.jsx)(ed.TableHeader,{children:(0,m.jsx)(ed.TableRow,{className:"text-xs uppercase tracking-wider hover:bg-transparent",children:e1.map((e,t)=>(0,m.jsx)(ed.TableHead,{className:(0,X.cn)("text-muted-foreground",t>0&&t<e1.length-1&&"text-right"),children:e},e))})}),(0,m.jsx)(ed.TableBody,{className:"tabular-nums",children:T.agents.map(e=>(0,m.jsxs)(ed.TableRow,{children:[(0,m.jsx)(ed.TableCell,{children:(0,m.jsxs)("span",{className:"flex items-center gap-2 font-medium",children:[(0,m.jsx)("span",{className:(0,X.cn)("size-2 rounded-full",(0,K.providerStyle)(e.provider).dotCls),"aria-hidden":!0}),(0,K.providerStyle)(e.provider).shortLabel]})}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.sessions.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:(0,Z.formatCost)(e.costUSD)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.messages.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.toolCalls.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:(0,Z.formatTokens)(e.outputTokens)??"0"}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:(0,Z.formatDuration)(e.activeMs)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:B(e.messages,e.activeMs)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:B(e.toolCalls,e.activeMs)}),(0,m.jsx)(ed.TableCell,{className:"max-w-56 truncate font-mono text-xs text-muted-foreground",children:e.topTools.join(", ")||"—"})]},e.provider))})]})})]})]})}let e5=["project","model","agent"],e3={project:"Project",model:"Model",agent:"Agent"},e4=()=>({project:{},model:{},agent:{}});function e6(e,t,a,s){let r=e[t]??={costUSD:0,tokens:0};r.costUSD+=a,r.tokens+=s}var e7=e.i(19390);let e8=[{value:"costUSD",label:"Cost"},{value:"tokens",label:"Tokens"}],e9=e5.map(e=>({value:e,label:e3[e]})),te=["Session","Input","Cached","Output","Cost"],tt=e=>(0,Z.formatTokens)(e)??"0";function ta({reloadToken:e,project:t,onProjectChange:a,projectOptions:s}){let{sessions:r,error:n}=eF(e),[o,l]=(0,h.useState)("30"),[i,d]=(0,h.useState)("all"),[c,u]=(0,h.useState)("all"),[f,g]=(0,h.useState)("costUSD"),[x,b]=(0,h.useState)("project"),v=(0,h.useMemo)(()=>({days:eO.find(e=>e.value===o)?.days??null,project:t,provider:i,model:c}),[o,t,i,c]),y=(0,h.useMemo)(()=>r?function(e,t,a=new Date){let s=eL(a),r=null===t.days?null:eW(s,1-t.days).getTime(),n=new Map,o={project:new Map,model:new Map,agent:new Map},l=[],i=new Set,d=s.getTime();for(let a of e){if("all"!==t.provider&&a.provider!==t.provider||"all"!==t.project&&a.project!==t.project)continue;let e={provider:a.provider,id:a.id,label:a.label,project:a.project,costUSD:0,tokens:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0},s={project:a.project,model:"",agent:a.provider},c=new Set;for(let l of a.usage){if("all"!==t.model&&l.model!==t.model||null!==r&&l.t<r)continue;let a=l.inputTokens+l.outputTokens+l.cacheReadTokens+l.cacheWriteTokens;if(0===a)continue;let u=l.costUSD??0;null===l.costUSD&&i.add(l.model);let m=new Date(l.t),h=eP(m),p=n.get(h);for(let t of(p||(p={start:eL(m),days:1,costUSD:0,tokens:0,by:e4()},n.set(h,p),d=Math.min(d,p.start.getTime())),p.costUSD+=u,p.tokens+=a,e.costUSD+=u,e.tokens+=a,e.inputTokens+=l.inputTokens,e.outputTokens+=l.outputTokens,e.cacheReadTokens+=l.cacheReadTokens,e.cacheWriteTokens+=l.cacheWriteTokens,s.model=l.model,e5)){let e=s[t];e6(p.by[t],e,u,a);let r=o[t].get(e);r||(r={name:e,sessions:0,costUSD:0,tokens:0},o[t].set(e,r)),r.costUSD+=u,r.tokens+=a;let n=`${t}|${e}`;!c.has(n)&&(c.add(n),r.sessions++)}}e.tokens>0&&l.push(e)}let c=new Date(null===r?d:r),u=[];for(let e=c;e.getTime()<=s.getTime();e=eW(e,1))u.push(n.get(eP(e))??{start:e,days:1,costUSD:0,tokens:0,by:e4()});let m={costUSD:0,tokens:0,inputTokens:0,outputTokens:0,cacheReadTokens:0,cacheWriteTokens:0,sessions:l.length,activeDays:n.size};for(let e of l)m.costUSD+=e.costUSD,m.tokens+=e.tokens,m.inputTokens+=e.inputTokens,m.outputTokens+=e.outputTokens,m.cacheReadTokens+=e.cacheReadTokens,m.cacheWriteTokens+=e.cacheWriteTokens;let h=m.inputTokens+m.cacheReadTokens+m.cacheWriteTokens,p=null;for(let e of n.values())(!p||e.costUSD>p.costUSD)&&(p=e);let f=e=>[...o[e].values()];return{totals:m,cacheHitRate:h>0?m.cacheReadTokens/h:0,days:u,peakDay:p,attribution:{project:f("project"),model:f("model"),agent:f("agent")},sessions:l,unpricedModels:[...i].sort()}}(r,v):null,[r,v]),j=(0,h.useMemo)(()=>K.PROVIDER_ORDER.filter(e=>r?.some(t=>t.provider===e)),[r]),w=(0,h.useMemo)(()=>[{value:"all",label:"All agents"},...j.map(e=>({value:e,label:(0,K.providerStyle)(e).shortLabel}))],[j]),k=(0,h.useMemo)(()=>[{value:"all",label:"All models"},...[...new Set((r??[]).flatMap(e=>e.usage.map(e=>e.model)))].sort().map(e=>({value:e,label:e}))],[r]),S=e=>"agent"===x?(0,K.providerStyle)(e).shortLabel:e,C=(0,h.useMemo)(()=>y?[...y.attribution[x]].filter(e=>e[f]>0).sort((e,t)=>t[f]-e[f]):[],[y,x,f]),T=(0,h.useMemo)(()=>y?[...y.sessions].sort((e,t)=>t[f]-e[f]).filter(e=>e[f]>0).slice(0,10):[],[y,f]);if(n&&!r)return(0,m.jsxs)("div",{className:"flex items-start gap-3 rounded-xl border border-destructive/30 bg-destructive/5 px-4 py-3",children:[(0,m.jsx)(p.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive","aria-hidden":!0}),(0,m.jsx)("p",{className:"text-sm",children:"Could not load usage. Use refresh to try again."})]});if(!r||!y)return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(150px,1fr))] gap-3",children:Array.from({length:7},(e,t)=>(0,m.jsx)(A.Skeleton,{className:"h-[86px] rounded-xl"},t))}),(0,m.jsx)(A.Skeleton,{className:"h-64 rounded-xl"})]});if(0===r.length)return(0,m.jsx)(O.EmptyState,{icon:N.Wallet,title:"No usage yet",description:"Cost and token usage appear once Copilot, Claude Code or Codex writes a transcript to your home directory."});let{totals:D,peakDay:E}=y,W=y.unpricedModels,P=y.days.length>92?function(e){let t=[];for(let a of e){let e=eW(a.start,-a.start.getDay()),s=t[t.length-1];for(let r of(s&&eW(s.start,-s.start.getDay()).getTime()===e.getTime()||(s={start:a.start,days:0,costUSD:0,tokens:0,by:e4()},t.push(s)),s.days++,s.costUSD+=a.costUSD,s.tokens+=a.tokens,e5))for(let[e,t]of Object.entries(a.by[r]))e6(s.by[r],e,t.costUSD,t.tokens)}return t}(y.days):y.days,R=C.slice(0,e7.SERIES_COLORS.length).map((e,t)=>({name:e.name,label:S(e.name),color:e7.SERIES_COLORS[t]}));C.length>R.length&&R.push({name:e7.OTHER,label:`Other (${C.length-R.length})`,color:e7.OTHER_COLOR});let $=e=>R.find(t=>t.name===e)?.color??e7.OTHER_COLOR,F=C.reduce((e,t)=>e+t[f],0);return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)(L,{value:o,onChange:l,options:eO,"aria-label":"Date range"}),s.length>2&&(0,m.jsx)(L,{value:t,onChange:a,options:s,"aria-label":"Project",className:"max-w-56"}),j.length>1&&(0,m.jsx)(L,{value:i,onChange:d,options:w,"aria-label":"Agent"}),k.length>2&&(0,m.jsx)(L,{value:c,onChange:u,options:k,"aria-label":"Model",className:"max-w-56"}),(0,m.jsxs)("div",{className:"ml-auto flex flex-wrap items-center gap-2",children:[(0,m.jsx)(eb.Segmented,{label:"Measure",value:f,onChange:g,options:e8,size:"default"}),(0,m.jsxs)(M.Button,{variant:"outline",onClick:()=>eg(`agent-usage-${o}-by-${x}.csv`,function(e,t){let a=[`date,${t},tokens,estimated_cost_usd`];for(let s of e)for(let[e,r]of Object.entries(s.by[t])){let t=/[",\n]/.test(e)?`"${e.replace(/"/g,'""')}"`:e;a.push([eP(s.start),t,r.tokens,r.costUSD.toFixed(4)].join(","))}return a.join("\n")+"\n"}(y.days,x)),children:[(0,m.jsx)(ep,{"aria-hidden":!0}),"Export CSV"]})]})]}),0===D.tokens?(0,m.jsx)(O.EmptyState,{icon:N.Wallet,title:"No usage for these filters",description:"Try a longer date range, or clear the project, agent and model filters."}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(eT.StatCardGrid,{children:[(0,m.jsx)(eT.StatCard,{label:"Est. cost",value:(0,Z.formatCost)(D.costUSD),sub:W.length>0?`${W.length} model${W.length>1?"s":""} unpriced`:"at API list prices",accent:!0}),(0,m.jsx)(eT.StatCard,{label:"Daily burn",value:(0,Z.formatCost)(D.activeDays?D.costUSD/D.activeDays:0),sub:`avg over ${D.activeDays} active day${1===D.activeDays?"":"s"}`}),(0,m.jsx)(eT.StatCard,{label:"Peak day",value:(0,Z.formatCost)(E?.costUSD??0),sub:E?.start.toLocaleDateString([],{weekday:"short",month:"short",day:"numeric"})}),(0,m.jsx)(eT.StatCard,{label:"Input tokens",value:tt(D.inputTokens),sub:`+${tt(D.cacheReadTokens)} cached`}),(0,m.jsx)(eT.StatCard,{label:"Output tokens",value:tt(D.outputTokens),sub:D.cacheWriteTokens>0?`${tt(D.cacheWriteTokens)} cache writes`:void 0}),(0,m.jsx)(eT.StatCard,{label:"Cache hit",value:`${(100*y.cacheHitRate).toFixed(1)}%`,sub:"of input read from cache"}),(0,m.jsx)(eT.StatCard,{label:"Sessions",value:D.sessions.toLocaleString(),sub:`${(0,Z.formatCost)(D.costUSD/D.sessions)} avg`})]}),(0,m.jsx)(eC,{models:W}),(0,m.jsx)(ex,{title:"costUSD"===f?"Cost over time":"Tokens over time",note:P===y.days?"per day":"per week",action:(0,m.jsx)(eb.Segmented,{label:"Break down by",value:x,onChange:b,options:e9}),children:(0,m.jsx)(e7.StackedBars,{periods:P,breakdownOf:e=>e.by[x],series:R,unit:f})}),(0,m.jsx)(ex,{title:`${"costUSD"===f?"Cost":"Tokens"} by ${e3[x].toLowerCase()}`,note:`${C.length} total`,children:(0,m.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,m.jsx)(e7.Treemap,{unit:f,items:C.map(e=>({name:e.name,label:S(e.name),value:e[f],color:$(e.name)}))}),(0,m.jsx)("ol",{className:"max-h-72 space-y-1 overflow-y-auto pr-1 text-xs",children:C.map((e,t)=>(0,m.jsxs)("li",{className:"flex items-center gap-2.5",children:[(0,m.jsx)("span",{className:"w-4 shrink-0 text-right tabular-nums text-muted-foreground",children:t+1}),(0,m.jsx)("span",{className:"size-2.5 shrink-0 rounded-[3px]",style:{background:$(e.name)},"aria-hidden":!0}),(0,m.jsx)("span",{className:"min-w-0 flex-1 truncate",title:S(e.name),children:S(e.name)}),(0,m.jsxs)("span",{className:"shrink-0 text-muted-foreground",children:[e.sessions," session",1===e.sessions?"":"s"]}),(0,m.jsx)("span",{className:"w-14 shrink-0 text-right font-medium tabular-nums",children:(0,e7.formatUnit)(f,e[f])}),(0,m.jsxs)("span",{className:"w-11 shrink-0 text-right tabular-nums text-muted-foreground",children:[(e[f]/F*100).toFixed(1),"%"]})]},e.name))})]})}),(0,m.jsx)(ex,{title:`Top sessions by ${"costUSD"===f?"cost":"tokens"}`,children:(0,m.jsxs)(ed.Table,{className:"min-w-[640px]",children:[(0,m.jsx)(ed.TableHeader,{children:(0,m.jsx)(ed.TableRow,{className:"text-xs uppercase tracking-wider hover:bg-transparent",children:te.map((e,t)=>(0,m.jsx)(ed.TableHead,{className:(0,X.cn)("text-muted-foreground",t>0&&"text-right"),children:e},e))})}),(0,m.jsx)(ed.TableBody,{className:"tabular-nums",children:T.map(e=>(0,m.jsxs)(ed.TableRow,{children:[(0,m.jsxs)(ed.TableCell,{className:"max-w-0 w-full",children:[(0,m.jsx)(_.default,{href:`/sessions/${e.provider}/${e.id}`,className:"block truncate font-medium hover:underline focus-visible:outline-2 focus-visible:outline-ring",children:e.label}),(0,m.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 rounded-full",(0,K.providerStyle)(e.provider).dotCls),"aria-hidden":!0}),(0,K.providerStyle)(e.provider).shortLabel," · ",e.project]})]}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:tt(e.inputTokens)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:tt(e.cacheReadTokens)}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:tt(e.outputTokens)}),(0,m.jsx)(ed.TableCell,{className:"text-right font-medium",children:(0,Z.formatCost)(e.costUSD)})]},`${e.provider}:${e.id}`))})]})})]})]})}var ts=e.i(26162);function tr(e){return e>=90?"A":e>=80?"B":e>=70?"C":e>=60?"D":"F"}let tn=["outcome","tool_failures","retry_loops","api_errors","aborted_turns","compactions"];function to(e,t,a){let s=e.get(t)??{sessions:0,score:0,completed:0,failures:0};s.sessions++,s.score+=a.score,"completed"===a.outcome&&s.completed++,s.failures+=a.toolFailures,e.set(t,s)}function tl(e){return[...e.entries()].map(([e,t])=>({name:e,sessions:t.sessions,avgScore:t.score/t.sessions,completed:t.completed/t.sessions,avgFailures:t.failures/t.sessions})).sort((e,t)=>t.sessions-e.sessions||e.name.localeCompare(t.name))}let ti=["Sessions","Avg score","Completed","Failures/session"],td=[{value:"agent",label:"Agent"},{value:"project",label:"Project"}],tc=(e,t)=>t>0?`${Math.round(e/t*100)}%`:"—",tu=e=>e.toLocaleDateString([],{month:"short",day:"numeric"});function tm({session:e}){return(0,m.jsxs)(_.default,{href:`/sessions/${e.provider}/${e.id}`,className:"flex items-center gap-3 rounded-md px-2 py-1.5 transition-colors hover:bg-muted focus-visible:outline-2 focus-visible:outline-ring",children:[(0,m.jsx)(G.GradeBadge,{grade:e.health.grade,score:e.health.score}),(0,m.jsxs)("span",{className:"min-w-0 flex-1",children:[(0,m.jsx)("span",{className:"block truncate text-sm",children:e.label}),(0,m.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 shrink-0 rounded-full",(0,K.providerStyle)(e.provider).dotCls),"aria-hidden":!0}),(0,m.jsxs)("span",{className:"truncate",children:[(0,K.providerStyle)(e.provider).shortLabel," · ",e.project," ·"," ",[V.OUTCOME_LABELS[e.health.outcome].toLowerCase(),...e.health.signals.filter(e=>"outcome"!==e.id).map(e=>V.SIGNAL_INFO[e.id].label.toLowerCase())].join(", ")]})]})]})]})}function th({rows:e}){let t=e.reduce((e,t)=>e+t.value,0);return(0,m.jsx)("div",{className:"space-y-1.5",children:e.map(e=>(0,m.jsxs)("div",{className:"flex items-center gap-2.5 text-xs",children:[(0,m.jsx)("div",{className:"w-24 shrink-0 text-muted-foreground",children:e.label}),(0,m.jsx)("div",{className:"h-4 flex-1 overflow-hidden rounded-sm bg-muted",children:e.value>0&&(0,m.jsx)("div",{className:(0,X.cn)("h-full rounded-sm",e.bar),style:{width:`${Math.max(e.value/t*100,2)}%`}})}),(0,m.jsx)("div",{className:"w-8 shrink-0 text-right font-medium tabular-nums",children:e.value}),(0,m.jsx)("div",{className:"w-9 shrink-0 text-right tabular-nums text-muted-foreground",children:tc(e.value,t)})]},e.key))})}function tp({periods:e,weekly:t}){let[a,s]=(0,h.useState)(null);return(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{role:"img","aria-label":`Average health score per ${t?"week":"day"} over ${e.length} ${t?"weeks":"days"}`,className:"flex h-24 items-end gap-[2px] border-b border-border",onMouseLeave:()=>s(null),children:e.map(e=>{let a=`${t?"Week of ":""}${tu(e.start)}`,r=null===e.avgScore?`${a} \xb7 no sessions`:`${a} \xb7 average ${Math.round(e.avgScore)} over ${e.sessions} session${1===e.sessions?"":"s"}`;return(0,m.jsx)("div",{title:r,onMouseEnter:()=>s(r),className:"group flex h-full min-w-0 max-w-10 flex-1 items-end",children:null!==e.avgScore&&(0,m.jsx)("div",{className:(0,X.cn)("w-full rounded-t group-hover:opacity-75",V.GRADE_STYLES[tr(Math.round(e.avgScore))].bar),style:{height:`max(2px, ${e.avgScore}%)`}})},e.start.getTime())})}),(0,m.jsxs)("div",{className:"mt-1.5 flex justify-between gap-3 text-[10px] text-muted-foreground",children:[(0,m.jsx)("span",{className:"shrink-0",children:e.length>0&&tu(e[0].start)}),(0,m.jsx)("span",{className:(0,X.cn)("truncate text-xs",a&&"text-foreground"),"aria-live":"polite",children:a??"bar height is the average score, colour its grade"}),(0,m.jsx)("span",{className:"shrink-0",children:e.length>1&&tu(e[e.length-1].start)})]})]})}function tf({rows:e,groupKey:t}){return(0,m.jsxs)(ed.Table,{className:"min-w-[520px]",children:[(0,m.jsx)(ed.TableHeader,{children:(0,m.jsxs)(ed.TableRow,{className:"text-xs uppercase tracking-wider hover:bg-transparent",children:[(0,m.jsx)(ed.TableHead,{className:"text-muted-foreground",children:"agent"===t?"Agent":"Project"}),ti.map(e=>(0,m.jsx)(ed.TableHead,{className:"text-right text-muted-foreground",children:e},e))]})}),(0,m.jsx)(ed.TableBody,{className:"tabular-nums",children:e.map(e=>(0,m.jsxs)(ed.TableRow,{children:[(0,m.jsx)(ed.TableCell,{className:"max-w-0 w-full",children:(0,m.jsxs)("span",{className:"flex items-center gap-2 font-medium",children:["agent"===t&&(0,m.jsx)("span",{className:(0,X.cn)("size-2 shrink-0 rounded-full",(0,K.providerStyle)(e.name).dotCls),"aria-hidden":!0}),(0,m.jsx)("span",{className:"truncate",children:"agent"===t?(0,K.providerStyle)(e.name).shortLabel:e.name})]})}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.sessions.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:(0,m.jsxs)("span",{className:"inline-flex items-center gap-2",children:[Math.round(e.avgScore),(0,m.jsx)(G.GradeBadge,{grade:tr(Math.round(e.avgScore))})]})}),(0,m.jsxs)(ed.TableCell,{className:"text-right",children:[Math.round(100*e.completed),"%"]}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.avgFailures.toFixed(1)})]},e.name))})]})}function tg({reloadToken:e,project:t,onProjectChange:a,projectOptions:s}){let{sessions:r,error:n}=eF(e),[o,l]=(0,h.useState)("90"),[i,d]=(0,h.useState)("all"),[c,u]=(0,h.useState)("all"),[f,g]=(0,h.useState)("agent"),x=(0,h.useMemo)(()=>({days:eO.find(e=>e.value===o)?.days??null,project:t,provider:i,model:c}),[o,t,i,c]),b=(0,h.useMemo)(()=>r?function(e,t,a=new Date){let s=eL(a),r=null===t.days?null:eW(s,1-t.days).getTime(),n=[],o=0;for(let a of e){if("all"!==t.provider&&a.provider!==t.provider||"all"!==t.project&&a.project!==t.project||"all"!==t.model&&a.model!==t.model)continue;let e=-1/0;for(let t of a.activity)(null===r||t.t>=r)&&(e=Math.max(e,t.t));if(e!==-1/0){if(!a.health){o++;continue}n.push({provider:a.provider,id:a.id,label:a.label,project:a.project,health:a.health,lastActive:e})}}let l={A:0,B:0,C:0,D:0,F:0},i={completed:0,in_progress:0,abandoned:0,errored:0},d=new Map,c=new Map,u=new Map,m=new Map,h=0,p=0,f=0,g=s.getTime();for(let e of n){let{health:t}=e;h+=t.score,l[t.grade]++,i[t.outcome]++,p+=Math.max(t.toolResults,t.toolFailures),f+=t.toolFailures,to(d,e.provider,t),to(c,e.project,t);let a=eL(new Date(e.lastActive));g=Math.min(g,a.getTime());let s=u.get(eP(a))??{sessions:0,score:0};for(let r of(s.sessions++,s.score+=t.score,u.set(eP(a),s),t.signals)){let t=m.get(r.id)??{count:0,rows:[]};t.count+=r.count,t.rows.push({s:e,penalty:r.penalty}),m.set(r.id,t)}}let x=[],b=new Date(null===r?g:r);for(let e=b;e.getTime()<=s.getTime();e=eW(e,1)){let t=u.get(eP(e));x.push({start:e,sessions:t?.sessions??0,avgScore:t?t.score/t.sessions:null})}let v=n.length?h/n.length:0;return{scored:n.length,unscored:o,avgScore:v,grade:tr(Math.round(v)),grades:l,outcomes:i,toolResults:p,toolFailures:f,patterns:tn.flatMap(e=>{let t=m.get(e);return t?{id:e,sessions:t.rows.length,count:t.count,examples:t.rows.sort((e,t)=>t.penalty-e.penalty||e.s.health.score-t.s.health.score).slice(0,3).map(e=>e.s)}:[]}).sort((e,t)=>t.sessions-e.sessions),days:x,agents:tl(d),projects:tl(c),sessions:n.sort((e,t)=>e.health.score-t.health.score||t.lastActive-e.lastActive)}}(r,x):null,[r,x]),v=(0,h.useMemo)(()=>K.PROVIDER_ORDER.filter(e=>r?.some(t=>t.provider===e)),[r]),y=(0,h.useMemo)(()=>[{value:"all",label:"All agents"},...v.map(e=>({value:e,label:(0,K.providerStyle)(e).shortLabel}))],[v]),w=(0,h.useMemo)(()=>[{value:"all",label:"All models"},...e$(r??[]).map(e=>({value:e,label:e}))],[r]);if(n&&!r)return(0,m.jsxs)("div",{className:"flex items-start gap-3 rounded-xl border border-destructive/30 bg-destructive/5 px-4 py-3",children:[(0,m.jsx)(p.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive","aria-hidden":!0}),(0,m.jsx)("p",{className:"text-sm",children:"Could not load session health. Use refresh to try again."})]});if(!r||!b)return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(150px,1fr))] gap-3",children:Array.from({length:6},(e,t)=>(0,m.jsx)(A.Skeleton,{className:"h-[86px] rounded-xl"},t))}),(0,m.jsx)(A.Skeleton,{className:"h-64 rounded-xl"})]});if(0===r.length)return(0,m.jsx)(O.EmptyState,{icon:j,title:"No sessions to score yet",description:"Health scores appear once Copilot, Claude Code or Codex writes a transcript to your home directory."});let k=b.days.length>92,S=k?function(e){let t=[];for(let a of e){let e=eW(a.start,-a.start.getDay()),s=t[t.length-1];s&&s.start.getTime()===e.getTime()||(s={start:e,sessions:0,avgScore:null,total:0},t.push(s)),s.sessions+=a.sessions,s.total+=(a.avgScore??0)*a.sessions,s.avgScore=s.sessions?s.total/s.sessions:null}return t.map(({start:e,sessions:t,avgScore:a})=>({start:e,sessions:t,avgScore:a}))}(b.days):b.days,N=b.outcomes.abandoned+b.outcomes.errored,C=b.patterns.find(e=>"tool_failures"===e.id)?.sessions??0,T=b.grades.D+b.grades.F,D=b.sessions.filter(e=>e.health.signals.length>0).slice(0,10);return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsx)(L,{value:o,onChange:l,options:eO,"aria-label":"Date range"}),s.length>2&&(0,m.jsx)(L,{value:t,onChange:a,options:s,"aria-label":"Project",className:"max-w-56"}),v.length>1&&(0,m.jsx)(L,{value:i,onChange:d,options:y,"aria-label":"Agent"}),w.length>2&&(0,m.jsx)(L,{value:c,onChange:u,options:w,"aria-label":"Model",className:"max-w-56"}),(0,m.jsxs)(M.Button,{variant:"outline",className:"ml-auto",disabled:0===b.scored,onClick:()=>{var e;return eg(`agent-quality-${o}.csv`,(e=b.sessions,[["agent","session_id","project","last_active","score","grade","outcome","tool_results","tool_failures",...tn.filter(e=>"outcome"!==e&&"tool_failures"!==e)].join(","),...e.map(e=>{let t=t=>e.health.signals.find(e=>e.id===t)?.count??0;return[e.provider,e.id,`"${e.project.replace(/"/g,'""')}"`,new Date(e.lastActive).toISOString(),e.health.score,e.health.grade,e.health.outcome,e.health.toolResults,e.health.toolFailures,t("retry_loops"),t("api_errors"),t("aborted_turns"),t("compactions")].join(",")})].join("\n")+"\n"))},children:[(0,m.jsx)(ep,{"aria-hidden":!0}),"Export CSV"]})]}),0===b.scored?(0,m.jsx)(O.EmptyState,{icon:j,title:"No scored sessions for these filters",description:"Try a longer date range, or clear the project, agent and model filters."}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(eT.StatCardGrid,{children:[(0,m.jsx)(eT.StatCard,{label:"Avg score",value:`${Math.round(b.avgScore)}`,sub:`grade ${b.grade}`,accent:!0}),(0,m.jsx)(eT.StatCard,{label:"Scored",value:b.scored.toLocaleString(),sub:b.unscored>0?`${b.unscored} with no agent activity`:"sessions"}),(0,m.jsx)(eT.StatCard,{label:"Completed",value:tc(b.outcomes.completed,b.scored),sub:`${b.outcomes.completed.toLocaleString()} sessions`}),(0,m.jsx)(eT.StatCard,{label:"Unfinished",value:N.toLocaleString(),sub:`${b.outcomes.abandoned} abandoned \xb7 ${b.outcomes.errored} errored`}),(0,m.jsx)(eT.StatCard,{label:"Tool failures",value:tc(C,b.scored),sub:`${C.toLocaleString()} sessions affected`}),(0,m.jsx)(eT.StatCard,{label:"Failure rate",value:b.toolResults>0?`${(b.toolFailures/b.toolResults*100).toFixed(1)}%`:"—",sub:`${b.toolFailures.toLocaleString()} of ${b.toolResults.toLocaleString()} results`}),(0,m.jsx)(eT.StatCard,{label:"Low grades",value:T.toLocaleString(),sub:"sessions graded D or F"})]}),(0,m.jsx)(ex,{title:"Recurring problems",note:"rule-based, from the transcripts",children:0===b.patterns.length?(0,m.jsxs)("div",{className:"flex items-center gap-2.5 rounded-xl border border-emerald-200 bg-emerald-50 px-4 py-3 dark:border-emerald-900 dark:bg-emerald-950/30",children:[(0,m.jsx)(ts.CheckCircle2,{className:"size-4 shrink-0 text-emerald-600 dark:text-emerald-400","aria-hidden":!0}),(0,m.jsx)("p",{className:"text-sm",children:"No session in this range lost any points."})]}):(0,m.jsx)("ul",{className:"divide-y divide-border",children:b.patterns.map(e=>{let t=V.SIGNAL_INFO[e.id];return(0,m.jsxs)("li",{className:"py-3 first:pt-0 last:pb-0",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-baseline justify-between gap-x-3 gap-y-0.5",children:[(0,m.jsx)("h3",{className:"text-sm font-medium",children:t.label}),(0,m.jsxs)("span",{className:"text-xs tabular-nums text-muted-foreground",children:[e.sessions," of ",b.scored," sessions (",tc(e.sessions,b.scored),")","outcome"!==e.id&&` \xb7 ${e.count.toLocaleString()} in total`]})]}),(0,m.jsx)("p",{className:"mt-0.5 text-xs leading-relaxed text-muted-foreground",children:t.advice}),(0,m.jsx)("ol",{className:"-mx-2 mt-1.5",children:e.examples.map(e=>(0,m.jsx)("li",{children:(0,m.jsx)(tm,{session:e})},`${e.provider}:${e.id}`))})]},e.id)})})}),(0,m.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,m.jsx)(ex,{title:"Grades",note:`${b.scored} scored`,children:(0,m.jsx)(th,{rows:V.GRADES.map(e=>({key:e,label:(0,m.jsx)(G.GradeBadge,{grade:e}),value:b.grades[e],bar:V.GRADE_STYLES[e].bar}))})}),(0,m.jsx)(ex,{title:"Outcomes",children:(0,m.jsx)(th,{rows:V.OUTCOMES.filter(e=>"in_progress"!==e||b.outcomes.in_progress>0).map(e=>({key:e,label:V.OUTCOME_LABELS[e],value:b.outcomes[e],bar:V.OUTCOME_BARS[e]}))})})]}),S.length>1&&(0,m.jsx)(ex,{title:"Health trend",note:k?"per week":"per day",children:(0,m.jsx)(tp,{periods:S,weekly:k})}),(0,m.jsx)(ex,{title:"Comparison",action:(0,m.jsx)(eb.Segmented,{label:"Compare by",value:f,onChange:g,options:td}),children:(0,m.jsx)(tf,{rows:"agent"===f?b.agents:b.projects,groupKey:f})}),D.length>0&&(0,m.jsx)(ex,{title:"Lowest scores",note:"worst first",children:(0,m.jsx)("ol",{className:"-mx-2",children:D.map(e=>(0,m.jsx)("li",{children:(0,m.jsx)(tm,{session:e})},`${e.provider}:${e.id}`))})})]})]})}var tx=e.i(50267);let tb=(0,x.default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]),tv={},ty={};function tj(e,t){try{let a=(tv[e]||=new Intl.DateTimeFormat("en-US",{timeZone:e,timeZoneName:"longOffset"}).format)(t).split("GMT")[1];if(a in ty)return ty[a];return tk(a,a.split(":"))}catch{if(e in ty)return ty[e];let t=e?.match(tw);if(t)return tk(e,t.slice(1));return NaN}}let tw=/([+-]\d\d):?(\d\d)?/;function tk(e,t){let a=+(t[0]||0),s=+(t[1]||0),r=(t[2]||0)/60;return ty[e]=60*a+s>0?60*a+s+r:60*a-s-r}class tS extends Date{constructor(...e){super(),e.length>1&&"string"==typeof e[e.length-1]&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(tj(this.timeZone,this))?this.setTime(NaN):e.length?"number"==typeof e[0]&&(1===e.length||2===e.length&&"number"!=typeof e[1])?this.setTime(e[0]):"string"==typeof e[0]?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),tC(this,e)):this.setTime(Date.now())}static tz(e,...t){return t.length?new tS(...t,e):new tS(Date.now(),e)}withTimeZone(e){return new tS(+this,e)}getTimezoneOffset(){let e=-tj(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),tM(this),+this}[Symbol.for("constructDateFrom")](e){return new tS(+new Date(e),this.timeZone)}}let tN=/^(get|set)(?!UTC)/;function tM(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-(60*tj(e.timeZone,e))))}function tC(e,t){var a;let s=Array.isArray(t)?Date.UTC((a=t)[0],a.length>1?a[1]:0,a.length>2?a[2]:1,...a.slice(3)):+e.internal,r=tj(e.timeZone,e),n=r>0?Math.floor(r):Math.ceil(r),o=new Date(+e);o.setUTCHours(o.getUTCHours()-1);let l=-new Date(+e).getTimezoneOffset(),i=-new Date(+o).getTimezoneOffset(),d=l;if(l-i&&l!==n&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),a=l-n;a&&t.setUTCMinutes(t.getUTCMinutes()+a);let s=tj(e.timeZone,t);(s>0?Math.floor(s):Math.ceil(s))===n&&(d=i)}let c=d-n;c&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+c);let u=new Date(+e);u.setUTCSeconds(0);let m=l>0?u.getSeconds():(u.getSeconds()-60)%60,h=Math.round(-(60*tj(e.timeZone,e)))%60;(h||m)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+h+m);let p=tj(e.timeZone,e),f=p>0?Math.floor(p):Math.ceil(p),g=-new Date(+e).getTimezoneOffset()-f-c,x=f-n,b=x>0&&tT(e)-s==60*x*1e3&&tT(e,s-60*f*1e3)!==s;if(f!==n&&g&&!b){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+g);let t=tj(e.timeZone,e),a=f-(t>0?Math.floor(t):Math.ceil(t));a&&g<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+a)}tM(e);let v=(t?s:s+1e3*h)-e.internal;v&&18e5>Math.abs(v)&&(Date.prototype.setTime.call(e,+e+v),tM(e))}function tT(e,t){let a=new Date(t??+e);return a.setUTCSeconds(a.getUTCSeconds()-Math.round(-(60*tj(e.timeZone,a)))),+a}Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!tN.test(e))return;let t=e.replace(tN,"$1UTC");tS.prototype[t]&&(e.startsWith("get")?tS.prototype[e]=function(){return this.internal[t]()}:(tS.prototype[e]=function(){var e;return Date.prototype[t].apply(this.internal,arguments),e=this,Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),tC(e),+this},tS.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),tM(this),+this}))});class tD extends tS{static tz(e,...t){return t.length?new tD(...t,e):new tD(Date.now(),e)}toISOString(){let[e,t,a]=this.tzComponents(),s=`${e}${t}:${a}`;return this.internal.toISOString().slice(0,-1)+s}toString(){return`${this.toDateString()} ${this.toTimeString()}`}toDateString(){let[e,t,a,s]=this.internal.toUTCString().split(" ");return`${e?.slice(0,-1)} ${a} ${t} ${s}`}toTimeString(){let e=this.internal.toUTCString().split(" ")[4],[t,a,s]=this.tzComponents();return`${e} GMT${t}${a}${s} (${function(e,t,a="long"){return new Intl.DateTimeFormat("en-US",{hour:"numeric",timeZone:e,timeZoneName:a}).format(t).split(/\s/g).slice(2).join(" ")}(this.timeZone,this)})`}toLocaleString(e,t){return Date.prototype.toLocaleString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleDateString(e,t){return Date.prototype.toLocaleDateString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}toLocaleTimeString(e,t){return Date.prototype.toLocaleTimeString.call(this,e,{...t,timeZone:t?.timeZone||this.timeZone})}tzComponents(){let e=this.getTimezoneOffset(),t=String(Math.floor(Math.abs(e)/60)).padStart(2,"0"),a=String(Math.abs(e)%60).padStart(2,"0");return[e>0?"-":"+",t,a]}withTimeZone(e){return new tD(+this,e)}[Symbol.for("constructDateFrom")](e){return new tD(+new Date(e),this.timeZone)}}let tO=Symbol.for("constructDateFrom");function tE(e,t){return"function"==typeof e?e(t):e&&"object"==typeof e&&tO in e?e[tO](t):e instanceof Date?new e.constructor(t):new Date(t)}function tL(e,t){return tE(t||e,e)}function tW(e,t,a){let s=tL(e,a?.in);return isNaN(t)?tE(a?.in||e,NaN):(t&&s.setDate(s.getDate()+t),s)}function tP(e,t,a){let s=tL(e,a?.in);if(isNaN(t))return tE(a?.in||e,NaN);if(!t)return s;let r=s.getDate(),n=tE(a?.in||e,s.getTime());return(n.setMonth(s.getMonth()+t+1,0),r>=n.getDate())?n:(s.setFullYear(n.getFullYear(),n.getMonth(),r),s)}function tA(e){let t=tL(e),a=new Date(Date.UTC(t.getFullYear(),t.getMonth(),t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds(),t.getMilliseconds()));return a.setUTCFullYear(t.getFullYear()),e-a}function tR(e,...t){let a=tE.bind(null,e||t.find(e=>"object"==typeof e));return t.map(a)}function t$(e,t){let a=tL(e,t?.in);return a.setHours(0,0,0,0),a}function tF(e,t,a){let[s,r]=tR(a?.in,e,t),n=t$(s),o=t$(r);return Math.round((n-tA(n)-(o-tA(o)))/864e5)}function t_(e,t,a){let[s,r]=tR(a?.in,e,t);return 12*(s.getFullYear()-r.getFullYear())+(s.getMonth()-r.getMonth())}function tI(e,t){let[a,s]=tR(e,t.start,t.end);return{start:a,end:s}}let tU={};function tY(e,t){let a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??tU.weekStartsOn??tU.locale?.options?.weekStartsOn??0,s=tL(e,t?.in),r=s.getDay();return s.setDate(s.getDate()+((r<a?-7:0)+6-(r-a))),s.setHours(23,59,59,999),s}let tz={lessThanXSeconds:{one:"less than a second",other:"less than {{count}} seconds"},xSeconds:{one:"1 second",other:"{{count}} seconds"},halfAMinute:"half a minute",lessThanXMinutes:{one:"less than a minute",other:"less than {{count}} minutes"},xMinutes:{one:"1 minute",other:"{{count}} minutes"},aboutXHours:{one:"about 1 hour",other:"about {{count}} hours"},xHours:{one:"1 hour",other:"{{count}} hours"},xDays:{one:"1 day",other:"{{count}} days"},aboutXWeeks:{one:"about 1 week",other:"about {{count}} weeks"},xWeeks:{one:"1 week",other:"{{count}} weeks"},aboutXMonths:{one:"about 1 month",other:"about {{count}} months"},xMonths:{one:"1 month",other:"{{count}} months"},aboutXYears:{one:"about 1 year",other:"about {{count}} years"},xYears:{one:"1 year",other:"{{count}} years"},overXYears:{one:"over 1 year",other:"over {{count}} years"},almostXYears:{one:"almost 1 year",other:"almost {{count}} years"}};function tB(e){return (t={})=>{let a=t.width?String(t.width):e.defaultWidth;return e.formats[a]||e.formats[e.defaultWidth]}}let tH={date:tB({formats:{full:"EEEE, MMMM do, y",long:"MMMM do, y",medium:"MMM d, y",short:"MM/dd/yyyy"},defaultWidth:"full"}),time:tB({formats:{full:"h:mm:ss a zzzz",long:"h:mm:ss a z",medium:"h:mm:ss a",short:"h:mm a"},defaultWidth:"full"}),dateTime:tB({formats:{full:"{{date}} 'at' {{time}}",long:"{{date}} 'at' {{time}}",medium:"{{date}}, {{time}}",short:"{{date}}, {{time}}"},defaultWidth:"full"})},tG={lastWeek:"'last' eeee 'at' p",yesterday:"'yesterday at' p",today:"'today at' p",tomorrow:"'tomorrow at' p",nextWeek:"eeee 'at' p",other:"P"};function tq(e){return(t,a)=>{let s;if("formatting"===(a?.context?String(a.context):"standalone")&&e.formattingValues){let t=e.defaultFormattingWidth||e.defaultWidth,r=a?.width?String(a.width):t;s=e.formattingValues[r]||e.formattingValues[t]}else{let t=e.defaultWidth,r=a?.width?String(a.width):e.defaultWidth;s=e.values[r]||e.values[t]}return s[e.argumentCallback?e.argumentCallback(t):t]}}function tZ(e){return(t,a={})=>{let s,r=a.width,n=r&&e.matchPatterns[r]||e.matchPatterns[e.defaultMatchWidth],o=t.match(n);if(!o)return null;let l=o[0],i=r&&e.parsePatterns[r]||e.parsePatterns[e.defaultParseWidth],d=Array.isArray(i)?function(e,t){for(let a=0;a<e.length;a++)if(t(e[a]))return a}(i,e=>e.test(l)):function(e,t){for(let a in e)if(Object.prototype.hasOwnProperty.call(e,a)&&t(e[a]))return a}(i,e=>e.test(l));return s=e.valueCallback?e.valueCallback(d):d,{value:s=a.valueCallback?a.valueCallback(s):s,rest:t.slice(l.length)}}}let tV={code:"en-US",formatDistance:(e,t,a)=>{let s,r=tz[e];if(s="string"==typeof r?r:1===t?r.one:r.other.replace("{{count}}",t.toString()),a?.addSuffix)if(a.comparison&&a.comparison>0)return"in "+s;else return s+" ago";return s},formatLong:tH,formatRelative:(e,t,a,s)=>tG[e],localize:{ordinalNumber:(e,t)=>{let a=Number(e),s=a%100;if(s>20||s<10)switch(s%10){case 1:return a+"st";case 2:return a+"nd";case 3:return a+"rd"}return a+"th"},era:tq({values:{narrow:["B","A"],abbreviated:["BC","AD"],wide:["Before Christ","Anno Domini"]},defaultWidth:"wide"}),quarter:tq({values:{narrow:["1","2","3","4"],abbreviated:["Q1","Q2","Q3","Q4"],wide:["1st quarter","2nd quarter","3rd quarter","4th quarter"]},defaultWidth:"wide",argumentCallback:e=>e-1}),month:tq({values:{narrow:["J","F","M","A","M","J","J","A","S","O","N","D"],abbreviated:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],wide:["January","February","March","April","May","June","July","August","September","October","November","December"]},defaultWidth:"wide"}),day:tq({values:{narrow:["S","M","T","W","T","F","S"],short:["Su","Mo","Tu","We","Th","Fr","Sa"],abbreviated:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],wide:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},defaultWidth:"wide"}),dayPeriod:tq({values:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"morning",afternoon:"afternoon",evening:"evening",night:"night"}},defaultWidth:"wide",formattingValues:{narrow:{am:"a",pm:"p",midnight:"mi",noon:"n",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},abbreviated:{am:"AM",pm:"PM",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"},wide:{am:"a.m.",pm:"p.m.",midnight:"midnight",noon:"noon",morning:"in the morning",afternoon:"in the afternoon",evening:"in the evening",night:"at night"}},defaultFormattingWidth:"wide"})},match:{ordinalNumber:(t={matchPattern:/^(\d+)(th|st|nd|rd)?/i,parsePattern:/\d+/i,valueCallback:e=>parseInt(e,10)},(e,a={})=>{let s=e.match(t.matchPattern);if(!s)return null;let r=s[0],n=e.match(t.parsePattern);if(!n)return null;let o=t.valueCallback?t.valueCallback(n[0]):n[0];return{value:o=a.valueCallback?a.valueCallback(o):o,rest:e.slice(r.length)}}),era:tZ({matchPatterns:{narrow:/^(b|a)/i,abbreviated:/^(b\.?\s?c\.?|b\.?\s?c\.?\s?e\.?|a\.?\s?d\.?|c\.?\s?e\.?)/i,wide:/^(before christ|before common era|anno domini|common era)/i},defaultMatchWidth:"wide",parsePatterns:{any:[/^b/i,/^(a|c)/i]},defaultParseWidth:"any"}),quarter:tZ({matchPatterns:{narrow:/^[1234]/i,abbreviated:/^q[1234]/i,wide:/^[1234](th|st|nd|rd)? quarter/i},defaultMatchWidth:"wide",parsePatterns:{any:[/1/i,/2/i,/3/i,/4/i]},defaultParseWidth:"any",valueCallback:e=>e+1}),month:tZ({matchPatterns:{narrow:/^[jfmasond]/i,abbreviated:/^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)/i,wide:/^(january|february|march|april|may|june|july|august|september|october|november|december)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^j/i,/^f/i,/^m/i,/^a/i,/^m/i,/^j/i,/^j/i,/^a/i,/^s/i,/^o/i,/^n/i,/^d/i],any:[/^ja/i,/^f/i,/^mar/i,/^ap/i,/^may/i,/^jun/i,/^jul/i,/^au/i,/^s/i,/^o/i,/^n/i,/^d/i]},defaultParseWidth:"any"}),day:tZ({matchPatterns:{narrow:/^[smtwf]/i,short:/^(su|mo|tu|we|th|fr|sa)/i,abbreviated:/^(sun|mon|tue|wed|thu|fri|sat)/i,wide:/^(sunday|monday|tuesday|wednesday|thursday|friday|saturday)/i},defaultMatchWidth:"wide",parsePatterns:{narrow:[/^s/i,/^m/i,/^t/i,/^w/i,/^t/i,/^f/i,/^s/i],any:[/^su/i,/^m/i,/^tu/i,/^w/i,/^th/i,/^f/i,/^sa/i]},defaultParseWidth:"any"}),dayPeriod:tZ({matchPatterns:{narrow:/^(a|p|mi|n|(in the|at) (morning|afternoon|evening|night))/i,any:/^([ap]\.?\s?m\.?|midnight|noon|(in the|at) (morning|afternoon|evening|night))/i},defaultMatchWidth:"any",parsePatterns:{any:{am:/^a/i,pm:/^p/i,midnight:/^mi/i,noon:/^no/i,morning:/morning/i,afternoon:/afternoon/i,evening:/evening/i,night:/night/i}},defaultParseWidth:"any"})},options:{weekStartsOn:0,firstWeekContainsDate:1}};function tK(e,t){let a=tL(e,t?.in);return a.setFullYear(a.getFullYear(),0,1),a.setHours(0,0,0,0),a}function tQ(e,t){let a=t?.weekStartsOn??t?.locale?.options?.weekStartsOn??tU.weekStartsOn??tU.locale?.options?.weekStartsOn??0,s=tL(e,t?.in),r=s.getDay();return s.setDate(s.getDate()-(7*(r<a)+r-a)),s.setHours(0,0,0,0),s}function tX(e,t){return tQ(e,{...t,weekStartsOn:1})}function tJ(e,t){let a=tL(e,t?.in),s=a.getFullYear(),r=tE(a,0);r.setFullYear(s+1,0,4),r.setHours(0,0,0,0);let n=tX(r),o=tE(a,0);o.setFullYear(s,0,4),o.setHours(0,0,0,0);let l=tX(o);return a.getTime()>=n.getTime()?s+1:a.getTime()>=l.getTime()?s:s-1}function t0(e,t){let a,s,r=tL(e,t?.in);return Math.round((tX(r)-(a=tJ(r,void 0),(s=tE(r,0)).setFullYear(a,0,4),s.setHours(0,0,0,0),tX(s)))/6048e5)+1}function t1(e,t){let a=tL(e,t?.in),s=a.getFullYear(),r=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??tU.firstWeekContainsDate??tU.locale?.options?.firstWeekContainsDate??1,n=tE(t?.in||e,0);n.setFullYear(s+1,0,r),n.setHours(0,0,0,0);let o=tQ(n,t),l=tE(t?.in||e,0);l.setFullYear(s,0,r),l.setHours(0,0,0,0);let i=tQ(l,t);return+a>=+o?s+1:+a>=+i?s:s-1}function t2(e,t){let a,s,r,n=tL(e,t?.in);return Math.round((tQ(n,t)-(a=t?.firstWeekContainsDate??t?.locale?.options?.firstWeekContainsDate??tU.firstWeekContainsDate??tU.locale?.options?.firstWeekContainsDate??1,s=t1(n,t),(r=tE(t?.in||n,0)).setFullYear(s,0,a),r.setHours(0,0,0,0),tQ(r,t)))/6048e5)+1}function t5(e,t){let a=Math.abs(e).toString().padStart(t,"0");return(e<0?"-":"")+a}let t3={y(e,t){let a=e.getFullYear(),s=a>0?a:1-a;return t5("yy"===t?s%100:s,t.length)},M(e,t){let a=e.getMonth();return"M"===t?String(a+1):t5(a+1,2)},d:(e,t)=>t5(e.getDate(),t.length),a(e,t){let a=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return a.toUpperCase();case"aaa":return a;case"aaaaa":return a[0];default:return"am"===a?"a.m.":"p.m."}},h:(e,t)=>t5(e.getHours()%12||12,t.length),H:(e,t)=>t5(e.getHours(),t.length),m:(e,t)=>t5(e.getMinutes(),t.length),s:(e,t)=>t5(e.getSeconds(),t.length),S(e,t){let a=t.length;return t5(Math.trunc(e.getMilliseconds()*Math.pow(10,a-3)),t.length)}},t4={G:function(e,t,a){let s=+(e.getFullYear()>0);switch(t){case"G":case"GG":case"GGG":return a.era(s,{width:"abbreviated"});case"GGGGG":return a.era(s,{width:"narrow"});default:return a.era(s,{width:"wide"})}},y:function(e,t,a){if("yo"===t){let t=e.getFullYear();return a.ordinalNumber(t>0?t:1-t,{unit:"year"})}return t3.y(e,t)},Y:function(e,t,a,s){let r=t1(e,s),n=r>0?r:1-r;return"YY"===t?t5(n%100,2):"Yo"===t?a.ordinalNumber(n,{unit:"year"}):t5(n,t.length)},R:function(e,t){return t5(tJ(e),t.length)},u:function(e,t){return t5(e.getFullYear(),t.length)},Q:function(e,t,a){let s=Math.ceil((e.getMonth()+1)/3);switch(t){case"Q":return String(s);case"QQ":return t5(s,2);case"Qo":return a.ordinalNumber(s,{unit:"quarter"});case"QQQ":return a.quarter(s,{width:"abbreviated",context:"formatting"});case"QQQQQ":return a.quarter(s,{width:"narrow",context:"formatting"});default:return a.quarter(s,{width:"wide",context:"formatting"})}},q:function(e,t,a){let s=Math.ceil((e.getMonth()+1)/3);switch(t){case"q":return String(s);case"qq":return t5(s,2);case"qo":return a.ordinalNumber(s,{unit:"quarter"});case"qqq":return a.quarter(s,{width:"abbreviated",context:"standalone"});case"qqqqq":return a.quarter(s,{width:"narrow",context:"standalone"});default:return a.quarter(s,{width:"wide",context:"standalone"})}},M:function(e,t,a){let s=e.getMonth();switch(t){case"M":case"MM":return t3.M(e,t);case"Mo":return a.ordinalNumber(s+1,{unit:"month"});case"MMM":return a.month(s,{width:"abbreviated",context:"formatting"});case"MMMMM":return a.month(s,{width:"narrow",context:"formatting"});default:return a.month(s,{width:"wide",context:"formatting"})}},L:function(e,t,a){let s=e.getMonth();switch(t){case"L":return String(s+1);case"LL":return t5(s+1,2);case"Lo":return a.ordinalNumber(s+1,{unit:"month"});case"LLL":return a.month(s,{width:"abbreviated",context:"standalone"});case"LLLLL":return a.month(s,{width:"narrow",context:"standalone"});default:return a.month(s,{width:"wide",context:"standalone"})}},w:function(e,t,a,s){let r=t2(e,s);return"wo"===t?a.ordinalNumber(r,{unit:"week"}):t5(r,t.length)},I:function(e,t,a){let s=t0(e);return"Io"===t?a.ordinalNumber(s,{unit:"week"}):t5(s,t.length)},d:function(e,t,a){return"do"===t?a.ordinalNumber(e.getDate(),{unit:"date"}):t3.d(e,t)},D:function(e,t,a){let s,r=tF(s=tL(e,void 0),tK(s))+1;return"Do"===t?a.ordinalNumber(r,{unit:"dayOfYear"}):t5(r,t.length)},E:function(e,t,a){let s=e.getDay();switch(t){case"E":case"EE":case"EEE":return a.day(s,{width:"abbreviated",context:"formatting"});case"EEEEE":return a.day(s,{width:"narrow",context:"formatting"});case"EEEEEE":return a.day(s,{width:"short",context:"formatting"});default:return a.day(s,{width:"wide",context:"formatting"})}},e:function(e,t,a,s){let r=e.getDay(),n=(r-s.weekStartsOn+8)%7||7;switch(t){case"e":return String(n);case"ee":return t5(n,2);case"eo":return a.ordinalNumber(n,{unit:"day"});case"eee":return a.day(r,{width:"abbreviated",context:"formatting"});case"eeeee":return a.day(r,{width:"narrow",context:"formatting"});case"eeeeee":return a.day(r,{width:"short",context:"formatting"});default:return a.day(r,{width:"wide",context:"formatting"})}},c:function(e,t,a,s){let r=e.getDay(),n=(r-s.weekStartsOn+8)%7||7;switch(t){case"c":return String(n);case"cc":return t5(n,t.length);case"co":return a.ordinalNumber(n,{unit:"day"});case"ccc":return a.day(r,{width:"abbreviated",context:"standalone"});case"ccccc":return a.day(r,{width:"narrow",context:"standalone"});case"cccccc":return a.day(r,{width:"short",context:"standalone"});default:return a.day(r,{width:"wide",context:"standalone"})}},i:function(e,t,a){let s=e.getDay(),r=0===s?7:s;switch(t){case"i":return String(r);case"ii":return t5(r,t.length);case"io":return a.ordinalNumber(r,{unit:"day"});case"iii":return a.day(s,{width:"abbreviated",context:"formatting"});case"iiiii":return a.day(s,{width:"narrow",context:"formatting"});case"iiiiii":return a.day(s,{width:"short",context:"formatting"});default:return a.day(s,{width:"wide",context:"formatting"})}},a:function(e,t,a){let s=e.getHours()/12>=1?"pm":"am";switch(t){case"a":case"aa":return a.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"aaa":return a.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"aaaaa":return a.dayPeriod(s,{width:"narrow",context:"formatting"});default:return a.dayPeriod(s,{width:"wide",context:"formatting"})}},b:function(e,t,a){let s,r=e.getHours();switch(s=12===r?"noon":0===r?"midnight":r/12>=1?"pm":"am",t){case"b":case"bb":return a.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"bbb":return a.dayPeriod(s,{width:"abbreviated",context:"formatting"}).toLowerCase();case"bbbbb":return a.dayPeriod(s,{width:"narrow",context:"formatting"});default:return a.dayPeriod(s,{width:"wide",context:"formatting"})}},B:function(e,t,a){let s,r=e.getHours();switch(s=r>=17?"evening":r>=12?"afternoon":r>=4?"morning":"night",t){case"B":case"BB":case"BBB":return a.dayPeriod(s,{width:"abbreviated",context:"formatting"});case"BBBBB":return a.dayPeriod(s,{width:"narrow",context:"formatting"});default:return a.dayPeriod(s,{width:"wide",context:"formatting"})}},h:function(e,t,a){if("ho"===t){let t=e.getHours()%12;return 0===t&&(t=12),a.ordinalNumber(t,{unit:"hour"})}return t3.h(e,t)},H:function(e,t,a){return"Ho"===t?a.ordinalNumber(e.getHours(),{unit:"hour"}):t3.H(e,t)},K:function(e,t,a){let s=e.getHours()%12;return"Ko"===t?a.ordinalNumber(s,{unit:"hour"}):t5(s,t.length)},k:function(e,t,a){let s=e.getHours();return(0===s&&(s=24),"ko"===t)?a.ordinalNumber(s,{unit:"hour"}):t5(s,t.length)},m:function(e,t,a){return"mo"===t?a.ordinalNumber(e.getMinutes(),{unit:"minute"}):t3.m(e,t)},s:function(e,t,a){return"so"===t?a.ordinalNumber(e.getSeconds(),{unit:"second"}):t3.s(e,t)},S:function(e,t){return t3.S(e,t)},X:function(e,t,a){let s=e.getTimezoneOffset();if(0===s)return"Z";switch(t){case"X":return t7(s);case"XXXX":case"XX":return t8(s);default:return t8(s,":")}},x:function(e,t,a){let s=e.getTimezoneOffset();switch(t){case"x":return t7(s);case"xxxx":case"xx":return t8(s);default:return t8(s,":")}},O:function(e,t,a){let s=e.getTimezoneOffset();switch(t){case"O":case"OO":case"OOO":return"GMT"+t6(s,":");default:return"GMT"+t8(s,":")}},z:function(e,t,a){let s=e.getTimezoneOffset();switch(t){case"z":case"zz":case"zzz":return"GMT"+t6(s,":");default:return"GMT"+t8(s,":")}},t:function(e,t,a){return t5(Math.trunc(e/1e3),t.length)},T:function(e,t,a){return t5(+e,t.length)}};function t6(e,t=""){let a=e>0?"-":"+",s=Math.abs(e),r=Math.trunc(s/60),n=s%60;return 0===n?a+String(r):a+String(r)+t+t5(n,2)}function t7(e,t){return e%60==0?(e>0?"-":"+")+t5(Math.abs(e)/60,2):t8(e,t)}function t8(e,t=""){let a=Math.abs(e);return(e>0?"-":"+")+t5(Math.trunc(a/60),2)+t+t5(a%60,2)}let t9=(e,t)=>{switch(e){case"P":return t.date({width:"short"});case"PP":return t.date({width:"medium"});case"PPP":return t.date({width:"long"});default:return t.date({width:"full"})}},ae=(e,t)=>{switch(e){case"p":return t.time({width:"short"});case"pp":return t.time({width:"medium"});case"ppp":return t.time({width:"long"});default:return t.time({width:"full"})}},at={p:ae,P:(e,t)=>{let a,s=e.match(/(P+)(p+)?/)||[],r=s[1],n=s[2];if(!n)return t9(e,t);switch(r){case"P":a=t.dateTime({width:"short"});break;case"PP":a=t.dateTime({width:"medium"});break;case"PPP":a=t.dateTime({width:"long"});break;default:a=t.dateTime({width:"full"})}return a.replace("{{date}}",t9(r,t)).replace("{{time}}",ae(n,t))}},aa=/^D+$/,as=/^Y+$/,ar=["D","DD","YY","YYYY"];function an(e){return e instanceof Date||"object"==typeof e&&"[object Date]"===Object.prototype.toString.call(e)}let ao=/[yYQqMLwIdDecihHKkms]o|(\w)\1*|''|'(''|[^'])+('|$)|./g,al=/P+p+|P+|p+|''|'(''|[^'])+('|$)|./g,ai=/^'([^]*?)'?$/,ad=/''/g,ac=/[a-zA-Z]/;function au(e,t,a){let s=a?.locale??tU.locale??tV,r=a?.firstWeekContainsDate??a?.locale?.options?.firstWeekContainsDate??tU.firstWeekContainsDate??tU.locale?.options?.firstWeekContainsDate??1,n=a?.weekStartsOn??a?.locale?.options?.weekStartsOn??tU.weekStartsOn??tU.locale?.options?.weekStartsOn??0,o=tL(e,a?.in);if(!an(o)&&"number"!=typeof o||isNaN(+tL(o)))throw RangeError("Invalid time value");let l=t.match(al).map(e=>{let t=e[0];return"p"===t||"P"===t?(0,at[t])(e,s.formatLong):e}).join("").match(ao).map(e=>{if("''"===e)return{isToken:!1,value:"'"};let t=e[0];if("'"===t){var a;let t;return{isToken:!1,value:(t=(a=e).match(ai))?t[1].replace(ad,"'"):a}}if(t4[t])return{isToken:!0,value:e};if(t.match(ac))throw RangeError("Format string contains an unescaped latin alphabet character `"+t+"`");return{isToken:!1,value:e}});s.localize.preprocessor&&(l=s.localize.preprocessor(o,l));let i={firstWeekContainsDate:r,weekStartsOn:n,locale:s};return l.map(r=>{if(!r.isToken)return r.value;let n=r.value;return(!a?.useAdditionalWeekYearTokens&&as.test(n)||!a?.useAdditionalDayOfYearTokens&&aa.test(n))&&function(e,t,a){var s,r,n;let o,l=(s=e,r=t,n=a,o="Y"===s[0]?"years":"days of the month",`Use \`${s.toLowerCase()}\` instead of \`${s}\` (in \`${r}\`) for formatting ${o} to the input \`${n}\`; see: https://github.com/date-fns/date-fns/blob/master/docs/unicodeTokens.md`);if(console.warn(l),ar.includes(e))throw RangeError(l)}(n,t,String(e)),(0,t4[n[0]])(o,n,s.localize,i)}).join("")}function am(e,t){let a=t.startOfMonth(e),s=a.getDay();return 1===s?a:0===s?t.addDays(a,-6):t.addDays(a,-1*(s-1))}let ah={...tV,labels:{labelDayButton:(e,t,a,s)=>{let r=(s&&"function"==typeof s.format?s.format.bind(s):(e,t)=>au(e,t,{locale:tV,...a}))(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r},labelMonthDropdown:"Choose the Month",labelNext:"Go to the Next Month",labelPrevious:"Go to the Previous Month",labelWeekNumber:e=>`Week ${e}`,labelYearDropdown:"Choose the Year",labelGrid:(e,t,a)=>(a&&"function"==typeof a.format?a.format.bind(a):(e,a)=>au(e,a,{locale:tV,...t}))(e,"LLLL yyyy"),labelGridcell:(e,t,a,s)=>{let r=(s&&"function"==typeof s.format?s.format.bind(s):(e,t)=>au(e,t,{locale:tV,...a}))(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r},labelNav:"Navigation bar",labelWeekNumberHeader:"Week Number",labelWeekday:(e,t,a)=>(a&&"function"==typeof a.format?a.format.bind(a):(e,a)=>au(e,a,{locale:tV,...t}))(e,"cccc")}};class ap{constructor(e,t){this.today=()=>this.overrides?.today?this.overrides.today():this.options.timeZone?tD.tz(this.options.timeZone):new(this.options.Date??Date),this.newDate=(e,t,a)=>this.overrides?.newDate?this.overrides.newDate(e,t,a):this.options.timeZone?new tD(e,t,a,this.options.timeZone):new Date(e,t,a),this.addDays=(e,t)=>this.overrides?.addDays?this.overrides.addDays(e,t):tW(e,t),this.addMonths=(e,t)=>this.overrides?.addMonths?this.overrides.addMonths(e,t):tP(e,t),this.addWeeks=(e,t)=>this.overrides?.addWeeks?this.overrides.addWeeks(e,t):tW(e,7*t,void 0),this.addYears=(e,t)=>this.overrides?.addYears?this.overrides.addYears(e,t):tP(e,12*t,void 0),this.differenceInCalendarDays=(e,t)=>this.overrides?.differenceInCalendarDays?this.overrides.differenceInCalendarDays(e,t):tF(e,t),this.differenceInCalendarMonths=(e,t)=>this.overrides?.differenceInCalendarMonths?this.overrides.differenceInCalendarMonths(e,t):t_(e,t),this.eachMonthOfInterval=e=>this.overrides?.eachMonthOfInterval?this.overrides.eachMonthOfInterval(e):function(e){let{start:t,end:a}=tI(void 0,e),s=+t>+a,r=s?+t:+a,n=s?a:t;n.setHours(0,0,0,0),n.setDate(1);let o=(void 0)??1;if(!o)return[];o<0&&(o=-o,s=!s);let l=[];for(;+n<=r;)l.push(tE(t,n)),n.setMonth(n.getMonth()+o);return s?l.reverse():l}(e),this.eachYearOfInterval=e=>{let t=this.overrides?.eachYearOfInterval?this.overrides.eachYearOfInterval(e):function(e){let{start:t,end:a}=tI(void 0,e),s=+t>+a,r=s?+t:+a,n=s?a:t;n.setHours(0,0,0,0),n.setMonth(0,1);let o=(void 0)??1;if(!o)return[];o<0&&(o=-o,s=!s);let l=[];for(;+n<=r;)l.push(tE(t,n)),n.setFullYear(n.getFullYear()+o);return s?l.reverse():l}(e),a=new Set(t.map(e=>this.getYear(e)));if(a.size===t.length)return t;let s=[];return a.forEach(e=>{s.push(new Date(e,0,1))}),s},this.endOfBroadcastWeek=e=>{let t,a,s,r,n,o;return this.overrides?.endOfBroadcastWeek?this.overrides.endOfBroadcastWeek(e):(t=am(e,this),s=(a=this.startOfMonth(e)).getDay()>0?a.getDay():7,r=this.addDays(e,-s+1),n=this.addDays(r,34),o=this.getMonth(e)===this.getMonth(n)?5:4,this.addDays(t,7*o-1))},this.endOfISOWeek=e=>this.overrides?.endOfISOWeek?this.overrides.endOfISOWeek(e):tY(e,{...void 0,weekStartsOn:1}),this.endOfMonth=e=>{let t,a;return this.overrides?.endOfMonth?this.overrides.endOfMonth(e):(a=(t=tL(e,void 0)).getMonth(),t.setFullYear(t.getFullYear(),a+1,0),t.setHours(23,59,59,999),t)},this.endOfWeek=(e,t)=>this.overrides?.endOfWeek?this.overrides.endOfWeek(e,t):tY(e,this.options),this.endOfYear=e=>{let t,a;return this.overrides?.endOfYear?this.overrides.endOfYear(e):(a=(t=tL(e,void 0)).getFullYear(),t.setFullYear(a+1,0,0),t.setHours(23,59,59,999),t)},this.format=(e,t,a)=>{let s=this.overrides?.format?this.overrides.format(e,t,this.options):au(e,t,this.options);return this.options.numerals&&"latn"!==this.options.numerals?this.replaceDigits(s):s},this.getISOWeek=e=>this.overrides?.getISOWeek?this.overrides.getISOWeek(e):t0(e),this.getMonth=(e,t)=>{var a;return this.overrides?.getMonth?this.overrides.getMonth(e,this.options):(a=this.options,tL(e,a?.in).getMonth())},this.getYear=(e,t)=>{var a;return this.overrides?.getYear?this.overrides.getYear(e,this.options):(a=this.options,tL(e,a?.in).getFullYear())},this.getWeek=(e,t)=>this.overrides?.getWeek?this.overrides.getWeek(e,this.options):t2(e,this.options),this.isAfter=(e,t)=>this.overrides?.isAfter?this.overrides.isAfter(e,t):+tL(e)>+tL(t),this.isBefore=(e,t)=>this.overrides?.isBefore?this.overrides.isBefore(e,t):+tL(e)<+tL(t),this.isDate=e=>this.overrides?.isDate?this.overrides.isDate(e):an(e),this.isSameDay=(e,t)=>this.overrides?.isSameDay?this.overrides.isSameDay(e,t):function(e,t){let[a,s]=tR(void 0,e,t);return+t$(a)==+t$(s)}(e,t),this.isSameMonth=(e,t)=>this.overrides?.isSameMonth?this.overrides.isSameMonth(e,t):function(e,t){let[a,s]=tR(void 0,e,t);return a.getFullYear()===s.getFullYear()&&a.getMonth()===s.getMonth()}(e,t),this.isSameYear=(e,t)=>this.overrides?.isSameYear?this.overrides.isSameYear(e,t):function(e,t){let[a,s]=tR(void 0,e,t);return a.getFullYear()===s.getFullYear()}(e,t),this.max=e=>{let t,a;return this.overrides?.max?this.overrides.max(e):(a=void 0,e.forEach(e=>{a||"object"!=typeof e||(a=tE.bind(null,e));let s=tL(e,a);(!t||t<s||isNaN(+s))&&(t=s)}),tE(a,t||NaN))},this.min=e=>{let t,a;return this.overrides?.min?this.overrides.min(e):(a=void 0,e.forEach(e=>{a||"object"!=typeof e||(a=tE.bind(null,e));let s=tL(e,a);(!t||t>s||isNaN(+s))&&(t=s)}),tE(a,t||NaN))},this.setMonth=(e,t)=>{var a,s;let r,n,o,l,i,d,c,u,m;return this.overrides?.setMonth?this.overrides.setMonth(e,t):(a=e,s=t,d=(i=tL(a,void 0)).getFullYear(),c=i.getDate(),(u=tE(a,0)).setFullYear(d,s,15),u.setHours(0,0,0,0),m=(n=(r=tL(u,void 0)).getFullYear(),o=r.getMonth(),(l=tE(r,0)).setFullYear(n,o+1,0),l.setHours(0,0,0,0),l.getDate()),i.setMonth(s,Math.min(c,m)),i)},this.setYear=(e,t)=>{let a;return this.overrides?.setYear?this.overrides.setYear(e,t):isNaN(+(a=tL(e,void 0)))?tE(e,NaN):(a.setFullYear(t),a)},this.startOfBroadcastWeek=(e,t)=>this.overrides?.startOfBroadcastWeek?this.overrides.startOfBroadcastWeek(e,this):am(e,this),this.startOfDay=e=>this.overrides?.startOfDay?this.overrides.startOfDay(e):t$(e),this.startOfISOWeek=e=>this.overrides?.startOfISOWeek?this.overrides.startOfISOWeek(e):tX(e),this.startOfMonth=e=>{let t;return this.overrides?.startOfMonth?this.overrides.startOfMonth(e):((t=tL(e,void 0)).setDate(1),t.setHours(0,0,0,0),t)},this.startOfWeek=(e,t)=>this.overrides?.startOfWeek?this.overrides.startOfWeek(e,this.options):tQ(e,this.options),this.startOfYear=e=>this.overrides?.startOfYear?this.overrides.startOfYear(e):tK(e),this.options={locale:ah,...e},this.overrides=t}getDigitMap(){let{numerals:e="latn"}=this.options,t=new Intl.NumberFormat("en-US",{numberingSystem:e}),a={};for(let e=0;e<10;e++)a[e.toString()]=t.format(e);return a}replaceDigits(e){let t=this.getDigitMap();return e.replace(/\d/g,e=>t[e]||e)}formatNumber(e){return this.replaceDigits(e.toString())}getMonthYearOrder(){let e=this.options.locale?.code;return e&&ap.yearFirstLocales.has(e)?"year-first":"month-first"}formatMonthYear(e){let{locale:t,timeZone:a,numerals:s}=this.options,r=t?.code;if(r&&ap.yearFirstLocales.has(r))try{return new Intl.DateTimeFormat(r,{month:"long",year:"numeric",timeZone:a,numberingSystem:s}).format(e)}catch{}let n="year-first"===this.getMonthYearOrder()?"y LLLL":"LLLL y";return this.format(e,n)}}ap.yearFirstLocales=new Set(["eu","hu","ja","ja-Hira","ja-JP","ko","ko-KR","lt","lt-LT","lv","lv-LV","mn","mn-MN","zh","zh-CN","zh-HK","zh-TW"]);let af=new ap;function ag(e,t,a=!1,s=af){let{from:r,to:n}=e,{differenceInCalendarDays:o,isSameDay:l}=s;return r&&n?(0>o(n,r)&&([r,n]=[n,r]),o(t,r)>=+!!a&&o(n,t)>=+!!a):!a&&n?l(n,t):!a&&!!r&&l(r,t)}function ax(e){return!!(e&&"object"==typeof e&&"before"in e&&"after"in e)}function ab(e){return!!(e&&"object"==typeof e&&"from"in e)}function av(e){return!!(e&&"object"==typeof e&&"after"in e)}function ay(e){return!!(e&&"object"==typeof e&&"before"in e)}function aj(e){return!!(e&&"object"==typeof e&&"dayOfWeek"in e)}function aw(e,t){return Array.isArray(e)&&e.every(t.isDate)}function ak(e,t,a=af){let s=Array.isArray(t)?t:[t],{isSameDay:r,differenceInCalendarDays:n,isAfter:o}=a;return s.some(t=>{if("boolean"==typeof t)return t;if(a.isDate(t))return r(e,t);if(aw(t,a))return t.some(t=>r(e,t));if(ab(t))return ag(t,e,!1,a);if(aj(t))return Array.isArray(t.dayOfWeek)?t.dayOfWeek.includes(e.getDay()):t.dayOfWeek===e.getDay();if(ax(t)){let a=n(t.before,e),s=n(t.after,e),r=a>0,l=s<0;return o(t.before,t.after)?l&&r:r||l}return av(t)?n(e,t.after)>0:ay(t)?n(t.before,e)>0:"function"==typeof t&&t(e)})}function aS(e){return h.default.createElement("span",{...e})}function aN(e){let{size:t=24,orientation:a="left",className:s,style:r}=e;return h.default.createElement("svg",{className:s,style:r,width:t,height:t,viewBox:"0 0 24 24"},"up"===a&&h.default.createElement("polygon",{points:"6.77 17 12.5 11.43 18.24 17 20 15.28 12.5 8 5 15.28"}),"down"===a&&h.default.createElement("polygon",{points:"6.77 8 12.5 13.57 18.24 8 20 9.72 12.5 17 5 9.72"}),"left"===a&&h.default.createElement("polygon",{points:"16 18.112 9.81111111 12 16 5.87733333 14.0888889 4 6 12 14.0888889 20"}),"right"===a&&h.default.createElement("polygon",{points:"8 18.112 14.18888889 12 8 5.87733333 9.91111111 4 18 12 9.91111111 20"}))}function aM(e){let{day:t,modifiers:a,...s}=e;return h.default.createElement("td",{...s})}function aC(e){let{day:t,modifiers:a,...s}=e,r=h.default.useRef(null);return h.default.useEffect(()=>{a.focused&&r.current?.focus()},[a.focused]),h.default.createElement("button",{ref:r,...s})}(a=l||(l={})).Root="root",a.Chevron="chevron",a.Day="day",a.DayButton="day_button",a.CaptionLabel="caption_label",a.Dropdowns="dropdowns",a.Dropdown="dropdown",a.DropdownRoot="dropdown_root",a.Footer="footer",a.MonthGrid="month_grid",a.MonthCaption="month_caption",a.MonthsDropdown="months_dropdown",a.Month="month",a.Months="months",a.Nav="nav",a.NextMonthButton="button_next",a.PreviousMonthButton="button_previous",a.Week="week",a.Weeks="weeks",a.Weekday="weekday",a.Weekdays="weekdays",a.WeekNumber="week_number",a.WeekNumberHeader="week_number_header",a.YearsDropdown="years_dropdown",(s=i||(i={})).disabled="disabled",s.hidden="hidden",s.outside="outside",s.focused="focused",s.today="today",(r=d||(d={})).range_end="range_end",r.range_middle="range_middle",r.range_start="range_start",r.selected="selected",(n=c||(c={})).weeks_before_enter="weeks_before_enter",n.weeks_before_exit="weeks_before_exit",n.weeks_after_enter="weeks_after_enter",n.weeks_after_exit="weeks_after_exit",n.caption_after_enter="caption_after_enter",n.caption_after_exit="caption_after_exit",n.caption_before_enter="caption_before_enter",n.caption_before_exit="caption_before_exit",e.s([],87448),e.i(87448),e.s(["CaptionLabel",0,aS],38437),e.i(38437),e.s(["Chevron",0,aN],94877),e.i(94877),e.s(["Day",0,aM],49444),e.i(49444),e.s(["DayButton",0,aC],71105),e.i(71105);let aT=(0,h.createContext)(void 0);function aD(){let e=(0,h.useContext)(aT);if(void 0===e)throw Error("useDayPicker() must be used within a custom component.");return e}function aO(e){let{options:t,className:a,...s}=e,{classNames:r,components:n,styles:o}=aD(),i=[r[l.Dropdown],a].join(" "),d=t?.find(({value:e})=>e===s.value);return h.default.createElement("span",{"data-disabled":s.disabled,className:r[l.DropdownRoot],style:o?.[l.DropdownRoot]},h.default.createElement(n.Select,{className:i,...s},t?.map(({value:e,label:t,disabled:a})=>h.default.createElement(n.Option,{key:e,value:e,disabled:a},t))),h.default.createElement("span",{className:r[l.CaptionLabel],style:o?.[l.CaptionLabel],"aria-hidden":!0},d?.label,h.default.createElement(n.Chevron,{orientation:"down",size:18,className:r[l.Chevron],style:o?.[l.Chevron]})))}function aE(e){return h.default.createElement("div",{...e})}function aL(e){return h.default.createElement("div",{...e})}function aW(e){let{calendarMonth:t,displayIndex:a,...s}=e;return h.default.createElement("div",{...s},e.children)}function aP(e){let{calendarMonth:t,displayIndex:a,...s}=e;return h.default.createElement("div",{...s})}function aA(e){return h.default.createElement("table",{...e})}function aR(e){return h.default.createElement("div",{...e})}function a$(e){let{components:t}=aD();return h.default.createElement(t.Dropdown,{...e})}function aF(e){let{onPreviousClick:t,onNextClick:a,previousMonth:s,nextMonth:r,...n}=e,{components:o,classNames:i,styles:d,labels:{labelPrevious:c,labelNext:u}}=aD(),m=(0,h.useCallback)(e=>{r&&a?.(e)},[r,a]),p=(0,h.useCallback)(e=>{s&&t?.(e)},[s,t]);return h.default.createElement("nav",{...n},h.default.createElement(o.PreviousMonthButton,{type:"button",className:i[l.PreviousMonthButton],style:d?.[l.PreviousMonthButton],tabIndex:s?void 0:-1,"aria-disabled":!s||void 0,"aria-label":c(s),onClick:p},h.default.createElement(o.Chevron,{disabled:!s||void 0,className:i[l.Chevron],style:d?.[l.Chevron],orientation:"left"})),h.default.createElement(o.NextMonthButton,{type:"button",className:i[l.NextMonthButton],style:d?.[l.NextMonthButton],tabIndex:r?void 0:-1,"aria-disabled":!r||void 0,"aria-label":u(r),onClick:m},h.default.createElement(o.Chevron,{disabled:!r||void 0,orientation:"right",className:i[l.Chevron],style:d?.[l.Chevron]})))}function a_(e){return h.default.createElement("button",{...e})}function aI(e){return h.default.createElement("option",{...e})}function aU(e){return h.default.createElement("button",{...e})}function aY(e){let{rootRef:t,...a}=e;return h.default.createElement("div",{...a,ref:t})}function az(e){return h.default.createElement("select",{...e})}function aB(e){let{week:t,...a}=e;return h.default.createElement("tr",{...a})}function aH(e){return h.default.createElement("th",{...e})}function aG(e){return h.default.createElement("thead",{"aria-hidden":!0},h.default.createElement("tr",{...e}))}function aq(e){let{week:t,...a}=e;return h.default.createElement("th",{...a})}function aZ(e){return h.default.createElement("th",{...e})}function aV(e){return h.default.createElement("tbody",{...e})}function aK(e){let{components:t}=aD();return h.default.createElement(t.Dropdown,{...e})}e.s(["Dropdown",0,aO],71258),e.i(71258),e.s(["DropdownNav",0,aE],54909),e.i(54909),e.s(["Footer",0,aL],77676),e.i(77676),e.s(["Month",0,aW],81298),e.i(81298),e.s(["MonthCaption",0,aP],71917),e.i(71917),e.s(["MonthGrid",0,aA],41600),e.i(41600),e.s(["Months",0,aR],73381),e.i(73381),e.s(["MonthsDropdown",0,a$],7686),e.i(7686),e.s(["Nav",0,aF],64312),e.i(64312),e.s(["NextMonthButton",0,a_],45138),e.i(45138),e.s(["Option",0,aI],31684),e.i(31684),e.s(["PreviousMonthButton",0,aU],72298),e.i(72298),e.s(["Root",0,aY],6984),e.i(6984),e.s(["Select",0,az],95259),e.i(95259),e.s(["Week",0,aB],55248),e.i(55248),e.s(["Weekday",0,aH],53848),e.i(53848),e.s(["Weekdays",0,aG],13674),e.i(13674),e.s(["WeekNumber",0,aq],97373),e.i(97373),e.s(["WeekNumberHeader",0,aZ],22259),e.i(22259),e.s(["Weeks",0,aV],81695),e.i(81695),e.s(["YearsDropdown",0,aK],3131),e.i(3131),e.s(["CaptionLabel",0,aS,"Chevron",0,aN,"Day",0,aM,"DayButton",0,aC,"Dropdown",0,aO,"DropdownNav",0,aE,"Footer",0,aL,"Month",0,aW,"MonthCaption",0,aP,"MonthGrid",0,aA,"Months",0,aR,"MonthsDropdown",0,a$,"Nav",0,aF,"NextMonthButton",0,a_,"Option",0,aI,"PreviousMonthButton",0,aU,"Root",0,aY,"Select",0,az,"Week",0,aB,"WeekNumber",0,aq,"WeekNumberHeader",0,aZ,"Weekday",0,aH,"Weekdays",0,aG,"Weeks",0,aV,"YearsDropdown",0,aK],21068);var aQ=e.i(21068);function aX(){let e={};for(let t in l)e[l[t]]=`rdp-${l[t]}`;for(let t in i)e[i[t]]=`rdp-${i[t]}`;for(let t in d)e[d[t]]=`rdp-${d[t]}`;for(let t in c)e[c[t]]=`rdp-${c[t]}`;return e}function aJ(e,t,a){return(a??new ap(t)).formatMonthYear(e)}function a0(e,t,a){return(a??new ap(t)).format(e,"d")}function a1(e,t=af){return t.format(e,"LLLL")}function a2(e,t,a){return(a??new ap(t)).format(e,"cccccc")}function a5(e,t=af){return e<10?t.formatNumber(`0${e.toLocaleString()}`):t.formatNumber(`${e.toLocaleString()}`)}function a3(){return""}function a4(e,t=af){return t.format(e,"yyyy")}e.s([],95970),e.i(95970),e.s(["formatCaption",0,aJ],45340),e.i(45340),e.s(["formatDay",0,a0],24953),e.i(24953),e.s(["formatMonthDropdown",0,a1],65656),e.i(65656),e.s(["formatWeekdayName",0,a2],67985),e.i(67985),e.s(["formatWeekNumber",0,a5],85529),e.i(85529),e.s(["formatWeekNumberHeader",0,a3],17886),e.i(17886),e.s(["formatYearDropdown",0,a4],10230),e.i(10230),e.s(["formatCaption",0,aJ,"formatDay",0,a0,"formatMonthDropdown",0,a1,"formatWeekNumber",0,a5,"formatWeekNumberHeader",0,a3,"formatWeekdayName",0,a2,"formatYearDropdown",0,a4],15789);var a6=e.i(15789);function a7(e,t,a,s){let r=(s??new ap(a)).format(e,"PPPP");return t.today&&(r=`Today, ${r}`),t.selected&&(r=`${r}, selected`),r}function a8(e,t,a){return(a??new ap(t)).formatMonthYear(e)}function a9(e,t,a,s){let r=(s??new ap(a)).format(e,"PPPP");return t?.today&&(r=`Today, ${r}`),r}function se(e){return"Choose the Month"}function st(){return""}function sa(e,t){return"Go to the Next Month"}function ss(e){return"Go to the Previous Month"}function sr(e,t,a){return(a??new ap(t)).format(e,"cccc")}function sn(e,t){return`Week ${e}`}function so(e){return"Week Number"}function sl(e){return"Choose the Year"}e.s([],11623),e.i(11623),e.s(["labelDayButton",0,a7],28271),e.i(28271),e.s(["labelGrid",0,a8],32718),e.i(32718),e.s(["labelGridcell",0,a9],78343),e.i(78343),e.s(["labelMonthDropdown",0,se],18918),e.i(18918),e.s(["labelNav",0,st],32908),e.i(32908),e.s(["labelNext",0,sa],45970),e.i(45970),e.s(["labelPrevious",0,ss],37904),e.i(37904),e.s(["labelWeekday",0,sr],51176),e.i(51176),e.s(["labelWeekNumber",0,sn],28937),e.i(28937),e.s(["labelWeekNumberHeader",0,so],81880),e.i(81880),e.s(["labelYearDropdown",0,sl],38246),e.i(38246),e.s(["labelDayButton",0,a7,"labelGrid",0,a8,"labelGridcell",0,a9,"labelMonthDropdown",0,se,"labelNav",0,st,"labelNext",0,sa,"labelPrevious",0,ss,"labelWeekNumber",0,sn,"labelWeekNumberHeader",0,so,"labelWeekday",0,sr,"labelYearDropdown",0,sl],41896);var si=e.i(41896);let sd=(e,t,a)=>t||(a?"function"==typeof a?a:(...e)=>a:e),sc=e=>e instanceof HTMLElement?e:null,su=e=>[...e.querySelectorAll("[data-animated-month]")??[]],sm=e=>sc(e.querySelector("[data-animated-caption]")),sh=e=>sc(e.querySelector("[data-animated-weeks]"));function sp(e,t,a,s){let{month:r,defaultMonth:n,today:o=s.today(),numberOfMonths:l=1}=e,i=r||n||o,{differenceInCalendarMonths:d,addMonths:c,startOfMonth:u}=s;return a&&d(a,i)<l-1&&(i=c(a,-1*(l-1))),t&&0>d(i,t)&&(i=t),u(i)}class sf{constructor(e,t,a=af){this.date=e,this.displayMonth=t,this.outside=!!(t&&!a.isSameMonth(e,t)),this.dateLib=a,this.isoDate=a.format(e,"yyyy-MM-dd"),this.displayMonthId=a.format(t,"yyyy-MM"),this.dateMonthId=a.format(e,"yyyy-MM")}isEqualTo(e){return this.dateLib.isSameDay(e.date,this.date)&&this.dateLib.isSameMonth(e.displayMonth,this.displayMonth)}}class sg{constructor(e,t){this.date=e,this.weeks=t}}class sx{constructor(e,t){this.days=t,this.weekNumber=e}}function sb(e,t){let[a,s]=(0,h.useState)(e);return[void 0===t?a:t,s]}function sv(e){return!e[i.disabled]&&!e[i.hidden]&&!e[i.outside]}function sy(e,t,a=af){return ag(e,t.from,!1,a)||ag(e,t.to,!1,a)||ag(t,e.from,!1,a)||ag(t,e.to,!1,a)}function sj(e,t){return e instanceof tD&&e.timeZone===t?e:new tD(e,t)}function sw(e,t,a){if(!a)return sj(e,t);let s=sj(e,t);return new Date(new tD(s.getFullYear(),s.getMonth(),s.getDate(),12,0,0,t).getTime())}function sk(e,t,a){return"boolean"==typeof e||"function"==typeof e?e:e instanceof Date?sw(e,t,a):Array.isArray(e)?e.map(e=>e instanceof Date?sw(e,t,a):e):ab(e)?{...e,from:e.from?sj(e.from,t):e.from,to:e.to?sj(e.to,t):e.to}:ax(e)?{before:sw(e.before,t,a),after:sw(e.after,t,a)}:av(e)?{after:sw(e.after,t,a)}:ay(e)?{before:sw(e.before,t,a)}:e}function sS(e,t,a){return e?Array.isArray(e)?e.map(e=>sk(e,t,a)):sk(e,t,a):e}function sN(e){var t;let a,s=e,r=s.timeZone;if(r&&((s={...e,timeZone:r}).today&&(s.today=sj(s.today,r)),s.month&&(s.month=sj(s.month,r)),s.defaultMonth&&(s.defaultMonth=sj(s.defaultMonth,r)),s.startMonth&&(s.startMonth=sj(s.startMonth,r)),s.endMonth&&(s.endMonth=sj(s.endMonth,r)),"single"===s.mode&&s.selected?s.selected=sj(s.selected,r):"multiple"===s.mode&&s.selected?s.selected=s.selected?.map(e=>sj(e,r)):"range"===s.mode&&s.selected&&(s.selected={from:s.selected.from?sj(s.selected.from,r):s.selected.from,to:s.selected.to?sj(s.selected.to,r):s.selected.to}),void 0!==s.disabled&&(s.disabled=sS(s.disabled,r)),void 0!==s.hidden&&(s.hidden=sS(s.hidden,r)),s.modifiers)){let e={};Object.keys(s.modifiers).forEach(t=>{e[t]=sS(s.modifiers?.[t],r)}),s.modifiers=e}let{components:n,formatters:o,labels:m,dateLib:p,locale:f,classNames:g}=(0,h.useMemo)(()=>{var e,t,a,r;let n,o={...ah,...s.locale},l=s.broadcastCalendar?1:s.weekStartsOn,i=s.noonSafe&&s.timeZone?function(e,t={}){let{weekStartsOn:a,locale:s}=t,r=a??s?.options?.weekStartsOn??0,n=t=>{let a="number"==typeof t||"string"==typeof t?new Date(t):t;return new tD(a.getFullYear(),a.getMonth(),a.getDate(),12,0,0,e)},o=e=>{let t=n(e);return new Date(t.getFullYear(),t.getMonth(),t.getDate(),0,0,0,0)};return{today:()=>n(tD.tz(e)),newDate:(t,a,s)=>new tD(t,a,s,12,0,0,e),startOfDay:e=>n(e),startOfWeek:(e,t)=>{let a=n(e),s=t?.weekStartsOn??r,o=(a.getDay()-s+7)%7;return a.setDate(a.getDate()-o),a},startOfISOWeek:e=>{let t=n(e),a=(t.getDay()-1+7)%7;return t.setDate(t.getDate()-a),t},startOfMonth:e=>{let t=n(e);return t.setDate(1),t},startOfYear:e=>{let t=n(e);return t.setMonth(0,1),t},endOfWeek:(e,t)=>{let a=n(e),s=(((t?.weekStartsOn??r)+6)%7-a.getDay()+7)%7;return a.setDate(a.getDate()+s),a},endOfISOWeek:e=>{let t=n(e),a=(7-t.getDay())%7;return t.setDate(t.getDate()+a),t},endOfMonth:e=>{let t=n(e);return t.setMonth(t.getMonth()+1,0),t},endOfYear:e=>{let t=n(e);return t.setMonth(11,31),t},eachMonthOfInterval:t=>{let a=n(t.start),s=n(t.end),r=[],o=new tD(a.getFullYear(),a.getMonth(),1,12,0,0,e),l=12*s.getFullYear()+s.getMonth();for(;12*o.getFullYear()+o.getMonth()<=l;)r.push(new tD(o,e)),o.setMonth(o.getMonth()+1,1);return r},addDays:(e,t)=>{let a=n(e);return a.setDate(a.getDate()+t),a},addWeeks:(e,t)=>{let a=n(e);return a.setDate(a.getDate()+7*t),a},addMonths:(e,t)=>{let a=n(e);return a.setMonth(a.getMonth()+t),a},addYears:(e,t)=>{let a=n(e);return a.setFullYear(a.getFullYear()+t),a},eachYearOfInterval:t=>{let a=n(t.start),s=n(t.end),r=[],o=new tD(a.getFullYear(),0,1,12,0,0,e);for(;o.getFullYear()<=s.getFullYear();)r.push(new tD(o,e)),o.setFullYear(o.getFullYear()+1,0,1);return r},getWeek:(e,t)=>t2(o(e),{weekStartsOn:t?.weekStartsOn??r,firstWeekContainsDate:t?.firstWeekContainsDate??s?.options?.firstWeekContainsDate??1}),getISOWeek:e=>t0(o(e)),differenceInCalendarDays:(e,t)=>tF(o(e),o(t)),differenceInCalendarMonths:(e,t)=>t_(o(e),o(t))}}(s.timeZone,{weekStartsOn:l,locale:o}):void 0,d=s.dateLib&&i?{...i,...s.dateLib}:s.dateLib??i,c=new ap({locale:o,weekStartsOn:l,firstWeekContainsDate:s.firstWeekContainsDate,useAdditionalWeekYearTokens:s.useAdditionalWeekYearTokens,useAdditionalDayOfYearTokens:s.useAdditionalDayOfYearTokens,timeZone:s.timeZone,numerals:s.numerals},d);return{dateLib:c,components:(e=s.components,{...aQ,...e}),formatters:(t=s.formatters,{...a6,...t}),labels:(a=s.labels,r=c.options,n=r.locale?.labels??{},{...si,...a??{},labelDayButton:sd(si.labelDayButton,a?.labelDayButton,n.labelDayButton),labelMonthDropdown:sd(si.labelMonthDropdown,a?.labelMonthDropdown,n.labelMonthDropdown),labelNext:sd(si.labelNext,a?.labelNext,n.labelNext),labelPrevious:sd(si.labelPrevious,a?.labelPrevious,n.labelPrevious),labelWeekNumber:sd(si.labelWeekNumber,a?.labelWeekNumber,n.labelWeekNumber),labelYearDropdown:sd(si.labelYearDropdown,a?.labelYearDropdown,n.labelYearDropdown),labelGrid:sd(si.labelGrid,a?.labelGrid,n.labelGrid),labelGridcell:sd(si.labelGridcell,a?.labelGridcell,n.labelGridcell),labelNav:sd(si.labelNav,a?.labelNav,n.labelNav),labelWeekNumberHeader:sd(si.labelWeekNumberHeader,a?.labelWeekNumberHeader,n.labelWeekNumberHeader),labelWeekday:sd(si.labelWeekday,a?.labelWeekday,n.labelWeekday)}),locale:o,classNames:{...aX(),...s.classNames}}},[s.locale,s.broadcastCalendar,s.weekStartsOn,s.firstWeekContainsDate,s.useAdditionalWeekYearTokens,s.useAdditionalDayOfYearTokens,s.timeZone,s.numerals,s.dateLib,s.noonSafe,s.components,s.formatters,s.labels,s.classNames]);s.today||(s={...s,today:p.today()});let{captionLayout:x,mode:b,navLayout:v,numberOfMonths:y=1,onDayBlur:j,onDayClick:w,onDayFocus:k,onDayKeyDown:S,onDayMouseEnter:N,onDayMouseLeave:M,onNextClick:C,onPrevClick:T,showWeekNumber:D,styles:O}=s,{formatCaption:E,formatDay:L,formatMonthDropdown:W,formatWeekNumber:P,formatWeekNumberHeader:A,formatWeekdayName:R,formatYearDropdown:$}=o,F=function(e,t){let[a,s]=function(e,t){let{startMonth:a,endMonth:s}=e,{startOfYear:r,startOfDay:n,startOfMonth:o,endOfMonth:l,addYears:i,endOfYear:d,today:c}=t,u="dropdown"===e.captionLayout||"dropdown-years"===e.captionLayout;return a?a=o(a):!a&&u&&(a=r(i(e.today??c(),-100))),s?s=l(s):!s&&u&&(s=d(e.today??c())),[a?n(a):a,s?n(s):s]}(e,t),{startOfMonth:r,endOfMonth:n}=t,o=sp(e,a,s,t),[l,i]=sb(o,e.month?o:void 0);(0,h.useEffect)(()=>{i(sp(e,a,s,t))},[e.timeZone]);let{months:d,weeks:c,days:u,previousMonth:m,nextMonth:p}=(0,h.useMemo)(()=>{let r,o=function(e,t,a,s){let{numberOfMonths:r=1}=a,n=[];for(let a=0;a<r;a++){let r=s.addMonths(e,a);if(t&&r>t)break;n.push(r)}return n}(l,s,{numberOfMonths:e.numberOfMonths},t),i=function(e,t,a,s){let r=e[0],n=e[e.length-1],{ISOWeek:o,fixedWeeks:l,broadcastCalendar:i}=a??{},{addDays:d,differenceInCalendarDays:c,differenceInCalendarMonths:u,endOfBroadcastWeek:m,endOfISOWeek:h,endOfMonth:p,endOfWeek:f,isAfter:g,startOfBroadcastWeek:x,startOfISOWeek:b,startOfWeek:v}=s,y=i?x(r,s):o?b(r):v(r),j=i?m(n):o?h(p(n)):f(p(n)),w=t&&(i?m(t):o?h(t):f(t)),k=c(w&&g(j,w)?w:j,y),S=u(n,r)+1,N=[];for(let e=0;e<=k;e++){let t=d(y,e);N.push(t)}let M=(i?35:42)*S;if(l&&N.length<M){let e=M-N.length;for(let t=0;t<e;t++){let e=d(N[N.length-1],1);N.push(e)}}return N}(o,e.endMonth?n(e.endMonth):void 0,{ISOWeek:e.ISOWeek,fixedWeeks:e.fixedWeeks,broadcastCalendar:e.broadcastCalendar},t),d=function(e,t,a,s){let{addDays:r,endOfBroadcastWeek:n,endOfISOWeek:o,endOfMonth:l,endOfWeek:i,getISOWeek:d,getWeek:c,startOfBroadcastWeek:u,startOfISOWeek:m,startOfWeek:h}=s,p=e.reduce((e,p)=>{let f=a.broadcastCalendar?u(p,s):a.ISOWeek?m(p):h(p),g=a.broadcastCalendar?n(p):a.ISOWeek?o(l(p)):i(l(p)),x=t.filter(e=>e>=f&&e<=g),b=a.broadcastCalendar?35:42;if(a.fixedWeeks&&x.length<b){let e=t.filter(e=>{let t=b-x.length;return e>g&&e<=r(g,t)});x.push(...e)}let v=x.reduce((e,t)=>{let r=a.ISOWeek?d(t):c(t),n=e.find(e=>e.weekNumber===r),o=new sf(t,p,s);return n?n.days.push(o):e.push(new sx(r,[o])),e},[]),y=new sg(p,v);return e.push(y),e},[]);return a.reverseMonths?p.reverse():p}(o,i,{broadcastCalendar:e.broadcastCalendar,fixedWeeks:e.fixedWeeks,ISOWeek:e.ISOWeek,reverseMonths:e.reverseMonths},t),c=d.reduce((e,t)=>e.concat(t.weeks.slice()),[]),u=(r=[],d.reduce((e,t)=>{let a=t.weeks.reduce((e,t)=>e.concat(t.days.slice()),r.slice());return e.concat(a.slice())},r.slice()));return{months:d,weeks:c,days:u,previousMonth:function(e,t,a,s){if(a.disableNavigation)return;let{pagedNavigation:r,numberOfMonths:n}=a,{startOfMonth:o,addMonths:l,differenceInCalendarMonths:i}=s,d=o(e);if(!t||!(0>=i(d,t)))return l(d,-(r?n??1:1))}(l,a,e,t),nextMonth:function(e,t,a,s){if(a.disableNavigation)return;let{pagedNavigation:r,numberOfMonths:n=1}=a,{startOfMonth:o,addMonths:l,differenceInCalendarMonths:i}=s,d=o(e);if(!t||!(i(t,e)<n))return l(d,r?n:1)}(l,s,e,t)}},[t,l.getTime(),s?.getTime(),a?.getTime(),e.disableNavigation,e.broadcastCalendar,e.endMonth?.getTime(),e.fixedWeeks,e.ISOWeek,e.numberOfMonths,e.pagedNavigation,e.reverseMonths]),{disableNavigation:f,onMonthChange:g}=e,x=e=>{if(f)return;let t=r(e);a&&t<r(a)&&(t=r(a)),s&&t>r(s)&&(t=r(s)),i(t),g?.(t)};return{months:d,weeks:c,days:u,navStart:a,navEnd:s,previousMonth:m,nextMonth:p,goToMonth:x,goToDay:e=>{c.some(t=>t.days.some(t=>t.isEqualTo(e)))||x(e.date)}}}(s,p),{days:_,months:I,navStart:U,navEnd:Y,previousMonth:z,nextMonth:B,goToMonth:H}=F,G=function(e,t,a,s,r){let{disabled:n,hidden:o,modifiers:l,showOutsideDays:d,broadcastCalendar:c,today:u=r.today()}=t,{isSameDay:m,isSameMonth:h,startOfMonth:p,isBefore:f,endOfMonth:g,isAfter:x}=r,b=a&&p(a),v=s&&g(s),y={[i.focused]:[],[i.outside]:[],[i.disabled]:[],[i.hidden]:[],[i.today]:[]},j={};for(let t of e){let{date:e,displayMonth:a}=t,s=!!(a&&!h(e,a)),i=!!(b&&f(e,b)),p=!!(v&&x(e,v)),g=!!(n&&ak(e,n,r)),w=!!(o&&ak(e,o,r))||i||p||!c&&!d&&s||c&&!1===d&&s,k=m(e,u);s&&y.outside.push(t),g&&y.disabled.push(t),w&&y.hidden.push(t),k&&y.today.push(t),l&&Object.keys(l).forEach(a=>{let s=l?.[a];s&&ak(e,s,r)&&(j[a]?j[a].push(t):j[a]=[t])})}return e=>{let t={[i.focused]:!1,[i.disabled]:!1,[i.hidden]:!1,[i.outside]:!1,[i.today]:!1},a={};for(let a in y){let s=y[a];t[a]=s.some(t=>t===e)}for(let t in j)a[t]=j[t].some(t=>t===e);return{...t,...a}}}(_,s,U,Y,p),{isSelected:q,select:Z,selected:V}=function(e,t){let a=function(e,t){let{selected:a,required:s,onSelect:r}=e,[n,o]=sb(a,r?a:void 0),l=r?a:n,{isSameDay:i}=t;return{selected:l,select:(e,t,a)=>{let n=e;return!s&&l&&l&&i(e,l)&&(n=void 0),r||o(n),r?.(n,e,t,a),n},isSelected:e=>!!l&&i(l,e)}}(e,t),s=function(e,t){let{selected:a,required:s,onSelect:r}=e,[n,o]=sb(a,r?a:void 0),l=r?a:n,{isSameDay:i}=t,d=e=>l?.some(t=>i(t,e))??!1,{min:c,max:u}=e;return{selected:l,select:(e,t,a)=>{let n=[...l??[]];if(d(e)){if(l?.length===c||s&&l?.length===1)return;n=l?.filter(t=>!i(t,e))}else n=l?.length===u?[e]:[...n,e];return r||o(n),r?.(n,e,t,a),n},isSelected:d}}(e,t),r=function(e,t){let{disabled:a,excludeDisabled:s,resetOnSelect:r,selected:n,required:o,onSelect:l}=e,[i,d]=sb(n,l?n:void 0),c=l?n:i;return{selected:c,select:(n,i,u)=>{let m,{min:h,max:p}=e;if(n){let e=c?.from,a=c?.to,s=!!e&&!!a&&t.isSameDay(e,a)&&t.isSameDay(n,e);m=r&&(e&&a||!c?.from)?!o&&s?void 0:{from:n,to:void 0}:function(e,t,a=0,s=0,r=!1,n=af){let o,{from:l,to:i}=t||{},{isSameDay:d,isAfter:c,isBefore:u}=n;if(l||i){if(l&&!i)o=d(l,e)?0===a?{from:l,to:e}:r?{from:l,to:void 0}:void 0:u(e,l)?{from:e,to:l}:{from:l,to:e};else if(l&&i)if(d(l,e)&&d(i,e))o=r?{from:l,to:i}:void 0;else if(d(l,e))o={from:l,to:a>0?void 0:e};else if(d(i,e))o={from:e,to:a>0?void 0:e};else if(u(e,l))o={from:e,to:i};else if(c(e,l))o={from:l,to:e};else if(c(e,i))o={from:l,to:e};else throw Error("Invalid range")}else o={from:e,to:a>0?void 0:e};if(o?.from&&o?.to){let t=n.differenceInCalendarDays(o.to,o.from);s>0&&t>s?o={from:e,to:void 0}:a>1&&t<a&&(o={from:e,to:void 0})}return o}(n,c,h,p,o,t)}return s&&a&&m?.from&&m.to&&function(e,t,a=af){let s=Array.isArray(t)?t:[t];if(s.filter(e=>"function"!=typeof e).some(t=>"boolean"==typeof t?t:a.isDate(t)?ag(e,t,!1,a):aw(t,a)?t.some(t=>ag(e,t,!1,a)):ab(t)?!!t.from&&!!t.to&&sy(e,{from:t.from,to:t.to},a):aj(t)?function(e,t,a=af){let s=Array.isArray(t)?t:[t],r=e.from,n=Math.min(a.differenceInCalendarDays(e.to,e.from),6);for(let e=0;e<=n;e++){if(s.includes(r.getDay()))return!0;r=a.addDays(r,1)}return!1}(e,t.dayOfWeek,a):ax(t)?a.isAfter(t.before,t.after)?sy(e,{from:a.addDays(t.after,1),to:a.addDays(t.before,-1)},a):ak(e.from,t,a)||ak(e.to,t,a):!!(av(t)||ay(t))&&(ak(e.from,t,a)||ak(e.to,t,a))))return!0;let r=s.filter(e=>"function"==typeof e);if(r.length){let t=e.from,s=a.differenceInCalendarDays(e.to,e.from);for(let e=0;e<=s;e++){if(r.some(e=>e(t)))return!0;t=a.addDays(t,1)}}return!1}({from:m.from,to:m.to},a,t)&&(m.from=n,m.to=void 0),l||d(m),l?.(m,n,i,u),m},isSelected:e=>c&&ag(c,e,!1,t)}}(e,t);switch(e.mode){case"single":return a;case"multiple":return s;case"range":return r;default:return}}(s,p)??{},{blur:K,focused:Q,isFocusTarget:X,moveFocus:J,setFocused:ee}=function(e,t,a,s,r){let{autoFocus:n}=e,[o,l]=(0,h.useState)(),d=function(e,t,a,s){let r,n=-1;for(let o of e){let e=t(o);sv(e)&&(e[i.focused]&&n<u.FocusedModifier?(r=o,n=u.FocusedModifier):s?.isEqualTo(o)&&n<u.LastFocused?(r=o,n=u.LastFocused):a(o.date)&&n<u.Selected?(r=o,n=u.Selected):e[i.today]&&n<u.Today&&(r=o,n=u.Today))}return r||(r=e.find(e=>sv(t(e)))),r}(t.days,a,s||(()=>!1),o),[c,m]=(0,h.useState)(n?d:void 0);return(0,h.useEffect)(()=>{c&&d&&(t.days.some(e=>e.isEqualTo(c))||m(d))},[t.days,c,d]),{isFocusTarget:e=>!!d?.isEqualTo(e),setFocused:m,focused:c,blur:()=>{l(c),m(void 0)},moveFocus:(a,s)=>{if(!c)return;let n=function e(t,a,s,r,n,o,l,i=0){if(i>365)return;let d=function(e,t,a,s,r,n,o){let{ISOWeek:l,broadcastCalendar:i}=n,{addDays:d,addMonths:c,addWeeks:u,addYears:m,endOfBroadcastWeek:h,endOfISOWeek:p,endOfWeek:f,max:g,min:x,startOfBroadcastWeek:b,startOfISOWeek:v,startOfWeek:y}=o,j=({day:d,week:u,month:c,year:m,startOfWeek:e=>i?b(e,o):l?v(e):y(e),endOfWeek:e=>i?h(e):l?p(e):f(e)})[e](a,"after"===t?1:-1);return"before"===t&&s?j=g([s,j]):"after"===t&&r&&(j=x([r,j])),j}(t,a,s.date,r,n,o,l),c=!!(o.disabled&&ak(d,o.disabled,l)),u=!!(o.hidden&&ak(d,o.hidden,l)),m=new sf(d,d,l);return c||u?e(t,a,m,r,n,o,l,i+1):m}(a,s,c,t.navStart,t.navEnd,e,r);if(n){if(e.disableNavigation&&!t.days.some(e=>e.isEqualTo(n)))return;t.goToDay(n),m(n)}}}}(s,F,G,q??(()=>!1),p),{labelDayButton:et,labelGridcell:ea,labelGrid:es,labelMonthDropdown:er,labelNav:en,labelPrevious:eo,labelNext:el,labelWeekday:ei,labelWeekNumber:ed,labelWeekNumberHeader:ec,labelYearDropdown:eu}=m,em=(0,h.useMemo)(()=>(function(e,t,a,s){let r=s??e.today(),n=a?e.startOfBroadcastWeek(r,e):t?e.startOfISOWeek(r):e.startOfWeek(r),o=[];for(let t=0;t<7;t++){let a=e.addDays(n,t);o.push(a)}return o})(p,s.ISOWeek,s.broadcastCalendar,s.today),[p,s.ISOWeek,s.broadcastCalendar,s.today]),eh=void 0!==b||void 0!==w,ep=(0,h.useCallback)(()=>{z&&(H(z),T?.(z))},[z,H,T]),ef=(0,h.useCallback)(()=>{B&&(H(B),C?.(B))},[H,B,C]),eg=(0,h.useCallback)((e,t)=>a=>{a.preventDefault(),a.stopPropagation(),ee(e),t.disabled||(Z?.(e.date,t,a),w?.(e.date,t,a))},[Z,w,ee]),ex=(0,h.useCallback)((e,t)=>a=>{ee(e),k?.(e.date,t,a)},[k,ee]),eb=(0,h.useCallback)((e,t)=>a=>{K(),j?.(e.date,t,a)},[K,j]),ev=(0,h.useCallback)((e,t)=>a=>{let r={ArrowLeft:[a.shiftKey?"month":"day","rtl"===s.dir?"after":"before"],ArrowRight:[a.shiftKey?"month":"day","rtl"===s.dir?"before":"after"],ArrowDown:[a.shiftKey?"year":"week","after"],ArrowUp:[a.shiftKey?"year":"week","before"],PageUp:[a.shiftKey?"year":"month","before"],PageDown:[a.shiftKey?"year":"month","after"],Home:["startOfWeek","before"],End:["endOfWeek","after"]};if(r[a.key]){a.preventDefault(),a.stopPropagation();let[e,t]=r[a.key];J(e,t)}S?.(e.date,t,a)},[J,S,s.dir]),ey=(0,h.useCallback)((e,t)=>a=>{N?.(e.date,t,a)},[N]),ej=(0,h.useCallback)((e,t)=>a=>{M?.(e.date,t,a)},[M]),ew=(0,h.useCallback)((e,t)=>a=>{let s=Number(a.target.value),r=p.setMonth(p.startOfMonth(e),s);H(p.addMonths(r,-t))},[p,H]),ek=(0,h.useCallback)((e,t)=>a=>{let s=Number(a.target.value),r=p.setYear(p.startOfMonth(e),s);H(p.addMonths(r,-t))},[p,H]),{className:eS,style:eN}=(0,h.useMemo)(()=>({className:[g[l.Root],s.className].filter(Boolean).join(" "),style:{...O?.[l.Root],...s.style}}),[g,s.className,s.style,O]),eM=(a={"data-mode":(t=s).mode??void 0,"data-required":"required"in t?t.required:void 0,"data-multiple-months":t.numberOfMonths&&t.numberOfMonths>1||void 0,"data-week-numbers":t.showWeekNumber||void 0,"data-broadcast-calendar":t.broadcastCalendar||void 0,"data-nav-layout":t.navLayout||void 0},Object.entries(t).forEach(([e,t])=>{e.startsWith("data-")&&(a[e]=t)}),a),eC=e=>{let t=O?.[l.Dropdown],a=O?.[e];if(t||a)return{...t,...a}},eT=(0,h.useRef)(null);!function(e,t,{classNames:a,months:s,focused:r,dateLib:n}){let o=(0,h.useRef)(null),l=(0,h.useRef)(s),i=(0,h.useRef)(!1);(0,h.useLayoutEffect)(()=>{let d=l.current;if(l.current=s,!t||!e.current||!(e.current instanceof HTMLElement)||0===s.length||0===d.length||s.length!==d.length)return;let u=n.isSameMonth(s[0].date,d[0].date),m=n.isAfter(s[0].date,d[0].date),h=m?a[c.caption_after_enter]:a[c.caption_before_enter],p=m?a[c.weeks_after_enter]:a[c.weeks_before_enter],f=o.current,g=e.current.cloneNode(!0);if(g instanceof HTMLElement?(su(g).forEach(e=>{if(!(e instanceof HTMLElement))return;let t=sc(e.querySelector("[data-animated-month]"));t&&e.contains(t)&&e.removeChild(t);let a=sm(e);a&&a.classList.remove(h);let s=sh(e);s&&s.classList.remove(p)}),o.current=g):o.current=null,i.current||u||r)return;let x=f instanceof HTMLElement?su(f):[],b=su(e.current);if(b?.every(e=>e instanceof HTMLElement)&&x?.every(e=>e instanceof HTMLElement)){i.current=!0;let t=[];e.current.style.isolation="isolate";let s=sc(e.current.querySelector("[data-animated-nav]"));s&&(s.style.zIndex="1"),b.forEach((r,n)=>{let o=x[n];if(!o)return;r.style.position="relative",r.style.overflow="hidden";let l=sm(r);l&&l.classList.add(h);let d=sh(r);d&&d.classList.add(p);let u=()=>{i.current=!1,e.current&&(e.current.style.isolation=""),s&&(s.style.zIndex=""),l&&l.classList.remove(h),d&&d.classList.remove(p),r.style.position="",r.style.overflow="",r.contains(o)&&r.removeChild(o)};t.push(u),o.style.pointerEvents="none",o.style.position="absolute",o.style.overflow="hidden",o.setAttribute("aria-hidden","true");let f=sc(o.querySelector("[data-animated-weekdays]"));f&&(f.style.opacity="0");let g=sm(o);g&&(g.classList.add(m?a[c.caption_before_exit]:a[c.caption_after_exit]),g.addEventListener("animationend",u));let b=sh(o);b&&b.classList.add(m?a[c.weeks_before_exit]:a[c.weeks_after_exit]),r.insertBefore(o,r.firstChild)})}})}(eT,!!s.animate,{classNames:g,months:I,focused:Q,dateLib:p});let eD={dayPickerProps:s,selected:V,select:Z,isSelected:q,months:I,nextMonth:B,previousMonth:z,goToMonth:H,getModifiers:G,components:n,classNames:g,styles:O,labels:m,formatters:o};return h.default.createElement(aT.Provider,{value:eD},h.default.createElement(n.Root,{rootRef:s.animate?eT:void 0,className:eS,style:eN,dir:s.dir,id:s.id,lang:s.lang??f.code,nonce:s.nonce,title:s.title,role:s.role,"aria-label":s["aria-label"],"aria-labelledby":s["aria-labelledby"],...eM},h.default.createElement(n.Months,{className:g[l.Months],style:O?.[l.Months]},!s.hideNavigation&&!v&&h.default.createElement(n.Nav,{"data-animated-nav":s.animate?"true":void 0,className:g[l.Nav],style:O?.[l.Nav],"aria-label":en(),onPreviousClick:ep,onNextClick:ef,previousMonth:z,nextMonth:B}),I.map((e,t)=>{let a,r,c=s.reverseMonths?I.length-1-t:t;return h.default.createElement(n.Month,{"data-animated-month":s.animate?"true":void 0,className:g[l.Month],style:O?.[l.Month],key:t,displayIndex:t,calendarMonth:e},"around"===v&&!s.hideNavigation&&0===t&&h.default.createElement(n.PreviousMonthButton,{type:"button",className:g[l.PreviousMonthButton],style:O?.[l.PreviousMonthButton],tabIndex:z?void 0:-1,"aria-disabled":!z||void 0,"aria-label":eo(z),onClick:ep,"data-animated-button":s.animate?"true":void 0},h.default.createElement(n.Chevron,{disabled:!z||void 0,className:g[l.Chevron],style:O?.[l.Chevron],orientation:"rtl"===s.dir?"right":"left"})),h.default.createElement(n.MonthCaption,{"data-animated-caption":s.animate?"true":void 0,className:g[l.MonthCaption],style:O?.[l.MonthCaption],calendarMonth:e,displayIndex:t},x?.startsWith("dropdown")?h.default.createElement(n.DropdownNav,{className:g[l.Dropdowns],style:O?.[l.Dropdowns]},(a="dropdown"===x||"dropdown-months"===x?h.default.createElement(n.MonthsDropdown,{key:"month",className:g[l.MonthsDropdown],"aria-label":er(),disabled:!!s.disableNavigation,onChange:ew(e.date,c),options:function(e,t,a,s,r){let{startOfMonth:n,startOfYear:o,endOfYear:l,eachMonthOfInterval:i,getMonth:d}=r;return i({start:o(e),end:l(e)}).map(e=>{let o=s.formatMonthDropdown(e,r);return{value:d(e),label:o,disabled:t&&e<n(t)||a&&e>n(a)||!1}})}(e.date,U,Y,o,p),style:eC(l.MonthsDropdown),value:p.getMonth(e.date)}):h.default.createElement("span",{key:"month"},W(e.date,p)),r="dropdown"===x||"dropdown-years"===x?h.default.createElement(n.YearsDropdown,{key:"year",className:g[l.YearsDropdown],"aria-label":eu(p.options),disabled:!!s.disableNavigation,onChange:ek(e.date,c),options:function(e,t,a,s,r=!1){if(!e||!t)return;let{startOfYear:n,endOfYear:o,eachYearOfInterval:l,getYear:i}=s,d=l({start:n(e),end:o(t)});return r&&d.reverse(),d.map(e=>{let t=a.formatYearDropdown(e,s);return{value:i(e),label:t,disabled:!1}})}(U,Y,o,p,!!s.reverseYears),style:eC(l.YearsDropdown),value:p.getYear(e.date)}):h.default.createElement("span",{key:"year"},$(e.date,p)),"year-first"===p.getMonthYearOrder()?[r,a]:[a,r]),h.default.createElement("span",{role:"status","aria-live":"polite",style:{border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",width:"1px",whiteSpace:"nowrap",wordWrap:"normal"}},E(e.date,p.options,p))):h.default.createElement(n.CaptionLabel,{className:g[l.CaptionLabel],style:O?.[l.CaptionLabel],role:"status","aria-live":"polite"},E(e.date,p.options,p))),"around"===v&&!s.hideNavigation&&t===y-1&&h.default.createElement(n.NextMonthButton,{type:"button",className:g[l.NextMonthButton],style:O?.[l.NextMonthButton],tabIndex:B?void 0:-1,"aria-disabled":!B||void 0,"aria-label":el(B),onClick:ef,"data-animated-button":s.animate?"true":void 0},h.default.createElement(n.Chevron,{disabled:!B||void 0,className:g[l.Chevron],style:O?.[l.Chevron],orientation:"rtl"===s.dir?"left":"right"})),t===y-1&&"after"===v&&!s.hideNavigation&&h.default.createElement(n.Nav,{"data-animated-nav":s.animate?"true":void 0,className:g[l.Nav],style:O?.[l.Nav],"aria-label":en(),onPreviousClick:ep,onNextClick:ef,previousMonth:z,nextMonth:B}),h.default.createElement(n.MonthGrid,{role:"grid","aria-multiselectable":"multiple"===b||"range"===b,"aria-label":es(e.date,p.options,p)||void 0,className:g[l.MonthGrid],style:O?.[l.MonthGrid]},!s.hideWeekdays&&h.default.createElement(n.Weekdays,{"data-animated-weekdays":s.animate?"true":void 0,className:g[l.Weekdays],style:O?.[l.Weekdays]},D&&h.default.createElement(n.WeekNumberHeader,{"aria-label":ec(p.options),className:g[l.WeekNumberHeader],style:O?.[l.WeekNumberHeader],scope:"col"},A()),em.map(e=>h.default.createElement(n.Weekday,{"aria-label":ei(e,p.options,p),className:g[l.Weekday],key:String(e),style:O?.[l.Weekday],scope:"col"},R(e,p.options,p)))),h.default.createElement(n.Weeks,{"data-animated-weeks":s.animate?"true":void 0,className:g[l.Weeks],style:O?.[l.Weeks]},e.weeks.map(e=>h.default.createElement(n.Week,{className:g[l.Week],key:e.weekNumber,style:O?.[l.Week],week:e},D&&h.default.createElement(n.WeekNumber,{week:e,style:O?.[l.WeekNumber],"aria-label":ed(e.weekNumber,{locale:f}),className:g[l.WeekNumber],scope:"row",role:"rowheader"},P(e.weekNumber,p)),e.days.map(e=>{let{date:t}=e,a=G(e);if(a[i.focused]=!a.hidden&&!!Q?.isEqualTo(e),a[d.selected]=q?.(t)||a.selected,ab(V)){let{from:e,to:s}=V;a[d.range_start]=!!(e&&s&&p.isSameDay(t,e)),a[d.range_end]=!!(e&&s&&p.isSameDay(t,s)),a[d.range_middle]=ag(V,t,!0,p)}let r=function(e,t={},a={}){let s={...t?.[l.Day]};return Object.entries(e).filter(([,e])=>!0===e).forEach(([e])=>{s={...s,...a?.[e]}}),s}(a,O,s.modifiersStyles),o=function(e,t,a={}){return Object.entries(e).filter(([,e])=>!0===e).reduce((e,[s])=>(a[s]?e.push(a[s]):t[i[s]]?e.push(t[i[s]]):t[d[s]]&&e.push(t[d[s]]),e),[t[l.Day]])}(a,g,s.modifiersClassNames),c=eh||a.hidden?void 0:ea(t,a,p.options,p);return h.default.createElement(n.Day,{key:`${e.isoDate}_${e.displayMonthId}`,day:e,modifiers:a,className:o.join(" "),style:r,role:"gridcell","aria-selected":a.selected||void 0,"aria-label":c,"data-day":e.isoDate,"data-month":e.outside?e.dateMonthId:void 0,"data-selected":a.selected||void 0,"data-disabled":a.disabled||void 0,"data-hidden":a.hidden||void 0,"data-outside":e.outside||void 0,"data-focused":a.focused||void 0,"data-today":a.today||void 0},!a.hidden&&eh?h.default.createElement(n.DayButton,{className:g[l.DayButton],style:O?.[l.DayButton],type:"button",day:e,modifiers:a,disabled:!a.focused&&a.disabled||void 0,"aria-disabled":a.focused&&a.disabled||void 0,tabIndex:X(e)?0:-1,"aria-label":et(t,a,p.options,p),onClick:eg(e,a),onBlur:eb(e,a),onFocus:ex(e,a),onKeyDown:ev(e,a),onMouseEnter:ey(e,a),onMouseLeave:ej(e,a)},L(t,p.options,p)):!a.hidden&&L(e.date,p.options,p))}))))))})),s.footer&&h.default.createElement(n.Footer,{className:g[l.Footer],style:O?.[l.Footer],role:"status","aria-live":"polite"},s.footer)))}(o=u||(u={}))[o.Today=0]="Today",o[o.Selected=1]="Selected",o[o.LastFocused=2]="LastFocused",o[o.FocusedModifier=3]="FocusedModifier";var sM=e.i(98993),sM=sM,sC=e.i(98464);function sT({className:e,classNames:t,showOutsideDays:a=!0,captionLayout:s="label",buttonVariant:r="ghost",locale:n,formatters:o,components:l,...i}){let d=aX();return(0,m.jsx)(sN,{showOutsideDays:a,className:(0,X.cn)("group/calendar bg-background p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)] in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:s,locale:n,formatters:{formatMonthDropdown:e=>e.toLocaleString(n?.code,{month:"short"}),...o},classNames:{root:(0,X.cn)("w-fit",d.root),months:(0,X.cn)("relative flex flex-col gap-4 md:flex-row",d.months),month:(0,X.cn)("flex w-full flex-col gap-4",d.month),nav:(0,X.cn)("absolute inset-x-0 top-0 flex w-full items-center justify-between gap-1",d.nav),button_previous:(0,X.cn)((0,M.buttonVariants)({variant:r}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",d.button_previous),button_next:(0,X.cn)((0,M.buttonVariants)({variant:r}),"size-(--cell-size) p-0 select-none aria-disabled:opacity-50",d.button_next),month_caption:(0,X.cn)("flex h-(--cell-size) w-full items-center justify-center px-(--cell-size)",d.month_caption),dropdowns:(0,X.cn)("flex h-(--cell-size) w-full items-center justify-center gap-1.5 text-sm font-medium",d.dropdowns),dropdown_root:(0,X.cn)("relative rounded-(--cell-radius)",d.dropdown_root),dropdown:(0,X.cn)("absolute inset-0 bg-popover opacity-0",d.dropdown),caption_label:(0,X.cn)("font-medium select-none","label"===s?"text-sm":"flex items-center gap-1 rounded-(--cell-radius) text-sm [&>svg]:size-3.5 [&>svg]:text-muted-foreground",d.caption_label),month_grid:(0,X.cn)("w-full border-collapse",d.month_grid),weekdays:(0,X.cn)("flex",d.weekdays),weekday:(0,X.cn)("flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal text-muted-foreground select-none",d.weekday),week:(0,X.cn)("mt-2 flex w-full",d.week),week_number_header:(0,X.cn)("w-(--cell-size) select-none",d.week_number_header),week_number:(0,X.cn)("text-[0.8rem] text-muted-foreground select-none",d.week_number),day:(0,X.cn)("group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:last-child[data-selected=true]_button]:rounded-r-(--cell-radius)",i.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-(--cell-radius)":"[&:first-child[data-selected=true]_button]:rounded-l-(--cell-radius)",d.day),range_start:(0,X.cn)("relative isolate z-0 rounded-l-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:right-0 after:w-4 after:bg-muted",d.range_start),range_middle:(0,X.cn)("rounded-none",d.range_middle),range_end:(0,X.cn)("relative isolate z-0 rounded-r-(--cell-radius) bg-muted after:absolute after:inset-y-0 after:left-0 after:w-4 after:bg-muted",d.range_end),today:(0,X.cn)("rounded-(--cell-radius) bg-muted text-foreground data-[selected=true]:rounded-none",d.today),outside:(0,X.cn)("text-muted-foreground aria-selected:text-muted-foreground",d.outside),disabled:(0,X.cn)("text-muted-foreground opacity-50",d.disabled),hidden:(0,X.cn)("invisible",d.hidden),...t},components:{Root:({className:e,rootRef:t,...a})=>(0,m.jsx)("div",{"data-slot":"calendar",ref:t,className:(0,X.cn)(e),...a}),Chevron:({className:e,orientation:t,...a})=>"left"===t?(0,m.jsx)(tb,{className:(0,X.cn)("size-4",e),...a}):"right"===t?(0,m.jsx)(sM.default,{className:(0,X.cn)("size-4",e),...a}):(0,m.jsx)(sC.ChevronDownIcon,{className:(0,X.cn)("size-4",e),...a}),DayButton:({...e})=>(0,m.jsx)(sD,{locale:n,...e}),WeekNumber:({children:e,...t})=>(0,m.jsx)("td",{...t,children:(0,m.jsx)("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:e})}),...l},...i})}function sD({className:e,day:t,modifiers:a,locale:s,...r}){let n=aX(),o=h.useRef(null);return h.useEffect(()=>{a.focused&&o.current?.focus()},[a.focused]),(0,m.jsx)(M.Button,{variant:"ghost",size:"icon","data-day":t.date.toLocaleDateString(s?.code),"data-selected-single":a.selected&&!a.range_start&&!a.range_end&&!a.range_middle,"data-range-start":a.range_start,"data-range-end":a.range_end,"data-range-middle":a.range_middle,className:(0,X.cn)("relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-[3px] group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-r-(--cell-radius) data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:rounded-none data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-l-(--cell-radius) data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground [&>span]:text-xs [&>span]:opacity-70",n.day,e),...r})}e.s([],55761),e.i(55761);var sO=e.i(28698),sE=e.i(80553),sL=e.i(82420);let sW=h.createContext(void 0);function sP(e){let t=h.useContext(sW);if(void 0===t&&!e)throw Error((0,sL.default)(47));return t}var sA=e.i(16941),sR=e.i(68790),s$=e.i(2304),sF=e.i(53076),s_=e.i(99389),sI=e.i(53526),sU=e.i(1556),sY=e.i(26931),sz=e.i(47385),sB=e.i(51162);let sH={...sY.popupStoreSelectors,disabled:e=>e.disabled,instantType:e=>e.instantType,openMethod:e=>e.openMethod,openChangeReason:e=>e.openChangeReason,modal:e=>e.modal,focusManagerModal:e=>e.focusManagerModal,stickIfOpen:e=>e.stickIfOpen,titleElementId:e=>e.titleElementId,descriptionElementId:e=>e.descriptionElementId,openOnHover:e=>e.openOnHover,closeDelay:e=>e.closeDelay,adaptiveOrigin:e=>e.adaptiveOrigin};class sG extends sR.ReactStore{constructor(e,t,a){const s=new sz.PopupTriggerMap;super(sq(e,s,t,a),sZ(s),sH)}setOpen=(e,t)=>{let a,s=t.reason===s_.REASONS.triggerHover,r=t.reason===s_.REASONS.triggerPress&&0===t.event.detail,n=!e&&(t.reason===s_.REASONS.escapeKey||null==t.reason),o=(0,sU.attachPreventUnmountOnClose)(t),l=this.select("activeTriggerId");if(e||t.reason!==s_.REASONS.closePress||null!=t.trigger||null==l||(t.trigger=this.context.triggerElements.getById(l)??this.select("activeTriggerElement")??void 0),this.context.onOpenChange?.(e,t),t.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,t);let i=()=>{let a={open:e,openChangeReason:t.reason};(0,sU.setPopupOpenState)(a,e,t.trigger,o()),this.update(a)};s?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(sB.PATIENT_CLICK_THRESHOLD,()=>{this.set("stickIfOpen",!1)}),sA.flushSync(i)):i(),r?a="click":n?a="dismiss":t.reason===s_.REASONS.focusOut&&(a="focus"),this.set("instantType",a)}}function sq(e,t,a,s=!1){let r={...(0,sY.createInitialPopupStoreState)(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,openOnHover:!1,closeDelay:0,adaptiveOrigin:void 0,...e};return r.open&&e?.mounted===void 0&&(r.mounted=!0),r.floatingRootContext=(0,sY.createPopupFloatingRootContext)(t,a,s),r}function sZ(e){return{popupRef:h.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:h.createRef(),beforeContentFocusGuardRef:h.createRef(),stickIfOpenTimeout:new s$.Timeout,triggerElements:e}}var sV=e.i(51068);function sK({props:e}){var t;let a,{children:s,open:r,defaultOpen:n=!1,onOpenChange:o,onOpenChangeComplete:l,modal:i=!1,handle:d,triggerId:c,defaultTriggerId:u=null}=e,p=(t={modal:i,open:n,openProp:r,activeTriggerId:u,triggerIdProp:c},a=(0,sU.usePopupRootStore)((e,a)=>new sG(t,e,a)),h.useEffect(()=>a.context.stickIfOpenTimeout.disposeEffect(),[a]),a);p.useControlledProp("openProp",r),p.useControlledProp("triggerIdProp",c);let f=p.useState("open"),g=p.useState("mounted"),x=p.useState("payload");p.useContextCallback("onOpenChange",o),p.useContextCallback("onOpenChangeComplete",l),(0,sU.usePopupRootSync)(p,f),(0,sU.useImplicitActiveTrigger)(p);let{forceUnmount:b}=(0,sU.useOpenStateTransitions)(f,p,()=>{p.update({stickIfOpen:!0,openChangeReason:null})});p.useSyncedValues({modal:i}),h.useEffect(()=>{f||p.context.stickIfOpenTimeout.clear()},[p,f]),h.useImperativeHandle(e.actionsRef,()=>({unmount:b,close:()=>p.setOpen(!1,(0,sV.createChangeEventDetails)(s_.REASONS.imperativeAction))}),[b,p]);let v=f||g;return(0,m.jsxs)(sW.Provider,{value:p,children:[d&&(0,m.jsx)(sU.PopupHandleAttachment,{handle:d,store:p}),v&&(0,m.jsx)(sQ,{store:p,modal:i}),"function"==typeof s?s({payload:x}):s]})}function sQ({store:e,modal:t}){let a=e.useState("floatingRootContext"),s=(0,sO.useDismiss)(a,{outsidePressEvent:{mouse:"trap-focus"===t?"sloppy":"intentional",touch:"sloppy"}}),r=s.reference,n=s.floating;return(0,sU.usePopupInteractionProps)(e,{activeTriggerProps:r,inactiveTriggerProps:r,popupProps:n}),null}var sX=e.i(45034),sJ=e.i(72343),s0=e.i(50403),s1=e.i(65180),s2=e.i(76072),s5=e.i(2054),s3=e.i(99281),s4=e.i(39352),s6=e.i(30523),s7=e.i(29148),s8=e.i(26603),s9=e.i(27229);let re=h.forwardRef(function(e,t){let a,{render:s,className:r,style:n,disabled:o=!1,nativeButton:l=!0,handle:i,payload:d,openOnHover:c=!1,delay:u=300,closeDelay:p=0,id:f,...g}=e,x=sP(!0),b=(0,s6.usePopupHandleStore)(i)??x;if(!b)throw Error((0,sL.default)(74));let v=(0,s3.useBaseUiId)(f),y=b.useState("isTriggerActive",v),j=b.useState("floatingRootContext"),w=b.useState("isOpenedByTrigger",v),k=b.useState("triggerPopupId",v),S=h.useRef(null),{registerTrigger:N,isMountedByThisTrigger:M}=(0,sU.useTriggerDataForwarding)(v,S,b,{payload:d,disabled:o,openOnHover:c,closeDelay:p}),C=b.useState("openChangeReason"),T=b.useState("stickIfOpen"),D=b.useState("openMethod"),O=b.useState("focusManagerModal"),E=(0,s5.useHoverReferenceInteraction)(j,{enabled:!o&&c&&("touch"!==D||C!==s_.REASONS.triggerPress),mouseOnly:!0,move:!1,handleClose:(0,s1.safePolygon)(),restMs:u,delay:{close:p},triggerElementRef:S,isActiveTrigger:y,isClosing:()=>"ending"===b.select("transitionStatus")}),L=(0,s2.useClick)(j,{stickIfOpen:T}),W=(0,s9.useOpenMethodTriggerProps)(()=>b.select("open"),e=>{b.set("openMethod",e)}),P=b.useState("triggerProps",M),{getButtonProps:A,buttonRef:R}=(0,sX.useButton)({disabled:o,native:l}),{preFocusGuardRef:$,handlePreFocusGuardFocus:F,handleFocusTargetFocus:_}={preFocusGuardRef:a=h.useRef(null),handlePreFocusGuardFocus:function(e){sA.flushSync(()=>{b.setOpen(!1,(0,sV.createChangeEventDetails)(s_.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let t=(0,s8.getTabbableBeforeElement)(a.current);t?.focus()},handleFocusTargetFocus:function(e){let t=b.select("positionerElement");if(t&&(0,s8.isOutsideEvent)(e,t))b.context.beforeContentFocusGuardRef.current?.focus();else{sA.flushSync(()=>{b.setOpen(!1,(0,sV.createChangeEventDetails)(s_.REASONS.focusOut,e.nativeEvent,e.currentTarget))});let a=(0,s8.getTabbableAfterElement)(b.context.triggerFocusTargetRef.current||S.current);for(;null!==a&&(0,s7.contains)(t,a);){let e=a;if((a=(0,s8.getNextTabbable)(a))===e)break}a?.focus()}}},I=(0,s0.useRenderElement)("button",e,{state:{disabled:o,open:w},ref:[R,t,N,S],props:[L.reference,E,P,W,{[sB.CLICK_TRIGGER_IDENTIFIER]:"",id:v,"aria-haspopup":"dialog","aria-expanded":w,"aria-controls":k},g,A],stateAttributesMapping:{open:e=>e&&C===s_.REASONS.triggerPress?sJ.pressableTriggerOpenStateMapping.open(e):sJ.triggerOpenStateMapping.open(e)}}),U=(0,m.jsx)(h.Fragment,{children:I},v);return M&&!O?(0,m.jsxs)(h.Fragment,{children:[(0,m.jsx)(s4.FocusGuard,{ref:$,onFocus:F}),U,(0,m.jsx)(s4.FocusGuard,{ref:b.context.triggerFocusTargetRef,onFocus:_})]}):U});var rt=e.i(45247);let ra=h.createContext(void 0),rs=h.forwardRef(function(e,t){let{keepMounted:a=!1,...s}=e;return sP().useState("mounted")||a?(0,m.jsx)(ra.Provider,{value:a,children:(0,m.jsx)(rt.FloatingPortal,{ref:t,...s})}):null});var rr=e.i(33262),rn=e.i(61362);let ro=h.createContext(void 0);function rl(){let e=h.useContext(ro);if(!e)throw Error((0,sL.default)(46));return e}var ri=e.i(58479),rd=e.i(54222),rc=e.i(51633),ru=e.i(2690),rm=e.i(59019);let rh=h.forwardRef(function(e,t){let{render:a,className:s,style:r,anchor:n,positionMethod:o,side:l,align:i,sideOffset:d,alignOffset:c,collisionBoundary:u="clipping-ancestors",collisionPadding:p,arrowPadding:f,sticky:g,disableAnchorTracking:x=!1,collisionAvoidance:b=sB.POPUP_COLLISION_AVOIDANCE,...v}=e,y=sP(),j=function(){let e=h.useContext(ra);if(void 0===e)throw Error((0,sL.default)(45));return e}(),w=(0,sE.useFloatingNodeId)(),k=y.useState("floatingRootContext"),S=y.useState("mounted"),N=y.useState("open"),M=y.useState("openChangeReason"),C=y.useState("activeTriggerElement"),T=y.useState("modal"),D=y.useState("openMethod"),O=y.useState("positionerElement"),E=y.useState("instantType"),L=y.useState("transitionStatus"),W=y.useState("adaptiveOrigin"),P=h.useRef(null),A=(0,rc.useAnimationsFinished)(O),R=(0,ri.useAnchorPositioning)({anchor:n,floatingRootContext:k,positionMethod:o,mounted:S,side:l,sideOffset:d,align:i,alignOffset:c,arrowPadding:f,collisionBoundary:u,collisionPadding:p,sticky:g,disableAnchorTracking:x,keepMounted:j,nodeId:w,collisionAvoidance:b,adaptiveOrigin:W}),$=k.useState("domReferenceElement");(0,rn.useIsoLayoutEffect)(()=>{let e=P.current;if($&&(P.current=$),e&&$&&$!==e){y.set("instantType",void 0);let e=new AbortController;return A(()=>{y.set("instantType","trigger-change")},e.signal),()=>{e.abort()}}},[$,A,y]);let F=!0===T&&M!==s_.REASONS.triggerHover;(0,rm.useAnchoredPopupScrollLock)(N&&F,"touch"===D,O,C);let _=y.useStateSetter("positionerElement"),I={open:N,side:R.side,align:R.align,anchorHidden:R.anchorHidden,instant:E},U=(0,ru.usePositioner)(e,I,{styles:R.positionerStyles,transitionStatus:L,props:v,refs:[t,_],hidden:!S,inert:!N});return(0,m.jsxs)(ro.Provider,{value:R,children:[S&&F&&(0,m.jsx)(rd.InternalBackdrop,{inert:(0,rr.inertValue)(!N),cutout:C}),(0,m.jsx)(sE.FloatingNode,{id:w,children:U})]})});var rp=e.i(80269),rf=e.i(45237),rg=e.i(69821),rx=e.i(11296),rb=e.i(35987),rv=e.i(92975),ry=e.i(51131),rj=e.i(19458);let rw=h.createContext(void 0),rk=h.forwardRef(function(e,t){let{render:a,className:s,style:r,initialFocus:n,finalFocus:o,...l}=e,i=sP(),d=rl(),c=null!=(0,rv.useToolbarRootContext)(!0),{context:u,hasClosePart:p}=function(){let[e,t]=h.useState(0),a=(0,rj.useStableCallback)(()=>(t(e=>e+1),()=>{t(e=>Math.max(0,e-1))}));return{context:h.useMemo(()=>({register:a}),[a]),hasClosePart:e>0}}(),f=i.useState("open"),g=i.useState("openMethod"),x=i.useState("instantType"),b=i.useState("transitionStatus"),v=i.useState("popupProps"),y=i.useState("titleElementId"),j=i.useState("descriptionElementId"),w=i.useState("modal"),k=i.useState("mounted"),S=i.useState("openChangeReason"),N=i.useState("activeTriggerElement"),M=i.useState("floatingRootContext"),C=M.useState("floatingId"),T=i.useState("disabled"),D=i.useState("openOnHover"),O=i.useState("closeDelay");(0,rx.useOpenChangeComplete)({open:f,ref:i.context.popupRef,onComplete(){f&&i.context.onOpenChangeComplete?.(!0)}}),(0,rg.useHoverFloatingInteraction)(M,{enabled:D&&!T,closeDelay:O});let E=void 0===n?(0,sU.createDefaultInitialFocus)(i.context.popupRef):n,L=!1!==w&&p;i.useSyncedValue("focusManagerModal",L);let W=i.useStateSetter("popupElement"),P={open:f,side:d.side,align:d.align,instant:x,transitionStatus:b},A=(0,s0.useRenderElement)("div",e,{state:P,ref:[t,i.context.popupRef,W],props:[v,{id:C,role:"dialog",...sU.FOCUSABLE_POPUP_PROPS,"aria-labelledby":y,"aria-describedby":j,onKeyDown(e){c&&rb.COMPOSITE_KEYS.has(e.key)&&e.stopPropagation()}},(0,ry.getDisabledMountTransitionStyles)(b),l],stateAttributesMapping:sJ.popupTransitionStateMapping});return(0,m.jsx)(rf.FloatingFocusManager,{context:M,openInteractionType:g,modal:L,disabled:!k||S===s_.REASONS.triggerHover,initialFocus:E,returnFocus:o,restoreFocus:"popup",previousFocusableElement:(0,rp.isHTMLElement)(N)?N:void 0,nextFocusableElement:i.context.triggerFocusTargetRef,beforeContentFocusGuardRef:i.context.beforeContentFocusGuardRef,children:(0,m.jsx)(rw.Provider,{value:u,children:A})})}),rS=h.forwardRef(function(e,t){let{render:a,className:s,style:r,...n}=e,o=sP().useState("open"),{arrowRef:l,side:i,align:d,arrowUncentered:c,arrowStyles:u}=rl();return(0,s0.useRenderElement)("div",e,{state:{open:o,side:i,align:d,uncentered:c},ref:[t,l],props:[{style:u,"aria-hidden":!0},n],stateAttributesMapping:sJ.popupStateMapping})}),rN=h.forwardRef(function(e,t){let{render:a,className:s,style:r,...n}=e,o=sP(),l=o.useState("open"),i=o.useState("mounted"),d=o.useState("transitionStatus"),c=o.useState("openChangeReason");return(0,s0.useRenderElement)("div",e,{state:{open:l,transitionStatus:d},ref:t,props:[{role:"presentation",hidden:!i,style:{pointerEvents:c===s_.REASONS.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},n],stateAttributesMapping:sJ.popupTransitionStateMapping})}),rM=h.forwardRef(function(e,t){let{render:a,className:s,style:r,...n}=e,o=sP(),l=(0,s3.useBaseUiId)(n.id);return o.useSyncedValueWithCleanup("titleElementId",l),(0,s0.useRenderElement)("h2",e,{ref:t,props:[{id:l},n]})}),rC=h.forwardRef(function(e,t){let{render:a,className:s,style:r,...n}=e,o=sP(),l=(0,s3.useBaseUiId)(n.id);return o.useSyncedValueWithCleanup("descriptionElementId",l),(0,s0.useRenderElement)("p",e,{ref:t,props:[{id:l},n]})}),rT=h.forwardRef(function(e,t){let a,{render:s,className:r,style:n,disabled:o=!1,nativeButton:l=!0,...i}=e,{buttonRef:d,getButtonProps:c}=(0,sX.useButton)({disabled:o,focusableWhenDisabled:!1,native:l}),u=sP();return a=h.useContext(rw),(0,rn.useIsoLayoutEffect)(()=>a?.register(),[a]),(0,s0.useRenderElement)("button",e,{ref:[t,d],props:[{onClick(e){u.setOpen(!1,(0,sV.createChangeEventDetails)(s_.REASONS.closePress,e.nativeEvent))}},i,c]})});var rD=e.i(73691);let rO=h.forwardRef(function(e,t){let{render:a,className:s,style:r,children:n,...o}=e,l=sP(),{side:i}=rl(),d=l.useState("instantType"),{children:c,state:u}=(0,rD.usePopupViewport)({store:l,side:i,children:n}),m={activationDirection:u.activationDirection,transitioning:u.transitioning,instant:d};return(0,s0.useRenderElement)("div",e,{state:m,ref:t,props:[o,{children:c}],stateAttributesMapping:rD.popupViewportStateMapping})});var rE=e.i(60657);class rL extends rE.BasePopupHandle{constructor(){super(function(){let e=new sz.PopupTriggerMap;return Object.assign(new sI.NullStore(Object.freeze(sq(void 0,e)),Object.freeze(sZ(e)),sH),{setOpen:sF.NOOP})}(),"Popover")}open(e){this.openByTrigger(e)}close(){this.closePopup()}get isOpen(){return this.attachedStore?.select("open")??!1}}e.s(["Arrow",0,rS,"Backdrop",0,rN,"Close",0,rT,"Description",0,rC,"Handle",0,rL,"Popup",0,rk,"Portal",0,rs,"Positioner",0,rh,"Root",0,function(e){return sP(!0)?(0,m.jsx)(sK,{props:e}):(0,m.jsx)(sE.FloatingTree,{children:(0,m.jsx)(sK,{props:e})})},"Title",0,rM,"Trigger",0,re,"Viewport",0,rO,"createHandle",0,function(){return new rL}],86752);var rW=e.i(86752),rW=rW;function rP({...e}){return(0,m.jsx)(rW.Root,{"data-slot":"popover",...e})}function rA({...e}){return(0,m.jsx)(rW.Trigger,{"data-slot":"popover-trigger",...e})}function rR({className:e,align:t="center",alignOffset:a=0,side:s="bottom",sideOffset:r=4,...n}){return(0,m.jsx)(rW.Portal,{children:(0,m.jsx)(rW.Positioner,{align:t,alignOffset:a,side:s,sideOffset:r,className:"isolate z-50",children:(0,m.jsx)(rW.Popup,{"data-slot":"popover-content",className:(0,X.cn)("z-50 flex w-72 origin-(--transform-origin) flex-col gap-2.5 rounded-lg bg-popover p-2.5 text-sm text-popover-foreground shadow-md ring-1 ring-foreground/10 outline-hidden duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",e),...n})})})}let r$=(e,t)=>("all"===t.provider||e.provider===t.provider)&&("all"===t.project||e.project===t.project);function rF(e){let t=e.match(/^(\d{4})-(\d{2})-(\d{2})$/);if(!t)return null;let a=new Date(Number(t[1]),Number(t[2])-1,Number(t[3]));return eP(a)===e?a:null}function r_(e,t,a){let s=e.get(t);return s||e.set(t,s=a()),s}let rI=[{value:"activeMs",label:"Agent time"},{value:"costUSD",label:"Cost"}],rU=["Session","Model","Window","Messages","Tool calls","Agent time","Cost"],rY=e=>new Date(e).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1}),rz=e=>`${Math.round(e/6e4)}m`;function rB({slots:e,peak:t}){let[a,s]=(0,h.useState)(null),r=Math.max(1,t),n=Math.round(4);return(0,m.jsxs)("div",{children:[(0,m.jsx)("div",{role:"img","aria-label":`Sessions working at once through the day, peaking at ${t}`,className:"flex h-28 items-end gap-px border-b border-border",onMouseLeave:()=>s(null),children:e.map(e=>{let t=`${rY(e.t)}–${rY(e.t+9e5)} \xb7 ${e.sessions} session${1===e.sessions?"":"s"}${e.sessions>0?` \xb7 ${(0,Z.formatDuration)(e.activeMs)} agent time`:""}`;return(0,m.jsx)("div",{title:t,onMouseEnter:()=>s(t),className:"group flex h-full min-w-0 flex-1 items-end",children:(0,m.jsx)("div",{className:"w-full rounded-t-[2px] bg-brand group-hover:bg-brand/75",style:{height:e.sessions>0?`max(3px, ${e.sessions/r*100}%)`:0}})},e.t)})}),(0,m.jsx)("div",{className:"mt-1 flex text-[10px] text-muted-foreground","aria-hidden":!0,children:e.map((e,t)=>t%(3*n)==0?(0,m.jsx)("span",{className:"min-w-0 flex-1 overflow-visible whitespace-nowrap",children:rY(e.t)},e.t):(0,m.jsx)("span",{className:"min-w-0 flex-1"},e.t))}),(0,m.jsx)("p",{className:(0,X.cn)("mt-2 truncate text-xs text-muted-foreground",a&&"text-foreground"),"aria-live":"polite",children:a??`${Math.round(15)}-minute slots \xb7 times in ${Intl.DateTimeFormat().resolvedOptions().timeZone}`})]})}function rH({reloadToken:e,project:t,onProjectChange:a,projectOptions:s}){let{sessions:r,error:n}=eF(e),[o,l]=(0,h.useState)(null),[i,d]=(0,h.useState)("all"),[c,u]=(0,h.useState)("activeMs"),[f,g]=(0,h.useState)(!1),x=(0,h.useMemo)(()=>({project:t,provider:i}),[t,i]),v=eP(new Date),y=o??v,j=(0,h.useMemo)(()=>rF(y)??new Date,[y]),w=(0,h.useMemo)(()=>r?function(e,t){let a=new Set;for(let s of e)if(r$(s,t))for(let e of s.activity)a.add(eP(new Date(e.t)));return[...a].sort()}(r,x):[],[r,x]),k=(0,h.useMemo)(()=>w.flatMap(e=>rF(e)??[]),[w]),S=(0,h.useMemo)(()=>r?function(e,t,a){let s=eL(t).getTime(),r=eW(t,1).getTime(),n=Array.from({length:Math.ceil((r-s)/9e5)},(e,t)=>({t:s+9e5*t,sessions:0,activeMs:0})),o=[],l=new Map,i=new Map,d=new Map;for(let t of e){if(!r$(t,a))continue;let e=null;for(let a of t.activity){if(a.t<s||a.t>=r)continue;e??={provider:t.provider,id:t.id,label:t.label,project:t.project,model:t.model,messages:0,toolCalls:0,activeMs:0,costUSD:0,start:a.t,end:a.t},e.messages+=a.messages,e.toolCalls+=a.toolCalls,e.activeMs+=a.activeMs,e.costUSD+=a.costUSD??0,e.start=Math.min(e.start,a.t),e.end=Math.max(e.end,a.t+9e5);let o=n[Math.floor((a.t-s)/9e5)];o&&(o.sessions++,o.activeMs+=a.activeMs)}if(!e)continue;for(let t of(o.push(e),[r_(l,e.project,()=>({name:e.project,activeMs:0,costUSD:0})),r_(d,e.provider,()=>({name:e.provider,provider:e.provider,activeMs:0,costUSD:0}))]))t.activeMs+=e.activeMs,t.costUSD+=e.costUSD;for(let e of t.usage)e.t<s||e.t>=r||(r_(i,e.model,()=>({name:e.model,activeMs:0,costUSD:0})).costUSD+=e.costUSD??0);let c=e.model??"unknown";r_(i,c,()=>({name:c,activeMs:0,costUSD:0})).activeMs+=e.activeMs}let c={sessions:o.length,projects:l.size,messages:0,toolCalls:0,activeMs:0,costUSD:0,peak:0,peakAt:null};for(let e of o)c.messages+=e.messages,c.toolCalls+=e.toolCalls,c.activeMs+=e.activeMs,c.costUSD+=e.costUSD;for(let e of n)e.sessions>c.peak&&(c.peak=e.sessions,c.peakAt=e.t);let u=e=>[...e.values()].sort((e,t)=>t.activeMs-e.activeMs||t.costUSD-e.costUSD);return{slots:n,sessions:o.sort((e,t)=>e.start-t.start),totals:c,byProject:u(l),byModel:u(i),byAgent:u(d)}}(r,j,x):null,[r,j,x]),N=(0,h.useMemo)(()=>K.PROVIDER_ORDER.filter(e=>r?.some(t=>t.provider===e)),[r]),C=(0,h.useMemo)(()=>[{value:"all",label:"All agents"},...N.map(e=>({value:e,label:(0,K.providerStyle)(e).shortLabel}))],[N]);if(n&&!r)return(0,m.jsxs)("div",{className:"flex items-start gap-3 rounded-xl border border-destructive/30 bg-destructive/5 px-4 py-3",children:[(0,m.jsx)(p.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive","aria-hidden":!0}),(0,m.jsx)("p",{className:"text-sm",children:"Could not load activity. Use refresh to try again."})]});if(!r||!S)return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsx)("div",{className:"grid grid-cols-[repeat(auto-fill,minmax(150px,1fr))] gap-3",children:Array.from({length:6},(e,t)=>(0,m.jsx)(A.Skeleton,{className:"h-[86px] rounded-xl"},t))}),(0,m.jsx)(A.Skeleton,{className:"h-48 rounded-xl"})]});let T=w.findLast(e=>e<y),D=w.find(e=>e>y),E=w[w.length-1],{totals:W}=S,P=(e,t=e=>e.name)=>e.map(e=>({name:t(e),value:e[c]})).filter(e=>e.value>0),R="costUSD"===c?Z.formatCost:rz;return(0,m.jsxs)("div",{className:"space-y-4",children:[(0,m.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,m.jsxs)("div",{className:"flex items-center gap-1",children:[(0,m.jsx)(M.Button,{variant:"outline",size:"icon",disabled:!T,onClick:()=>T&&l(T),"aria-label":"Previous active day",title:"Previous active day",children:(0,m.jsx)(tb,{"aria-hidden":!0})}),(0,m.jsxs)(rP,{open:f,onOpenChange:g,children:[(0,m.jsx)(rA,{render:(0,m.jsxs)(M.Button,{variant:"outline",className:"min-w-36 justify-start font-normal tabular-nums",children:[(0,m.jsx)(tx.CalendarDays,{className:"text-muted-foreground","aria-hidden":!0}),j.toLocaleDateString([],{month:"short",day:"numeric",year:"numeric"})]})}),(0,m.jsx)(rR,{align:"start",className:"w-auto p-0",children:(0,m.jsx)(sT,{mode:"single",selected:j,defaultMonth:j,disabled:{after:new Date},modifiers:{active:k},modifiersClassNames:{active:"[&>button]:font-semibold [&>button]:text-brand"},onSelect:e=>{if(!e)return;let t=eP(e);l(t===v?null:t),g(!1)}})})]}),(0,m.jsx)(M.Button,{variant:"outline",size:"icon",disabled:!D,onClick:()=>D&&l(D===v?null:D),"aria-label":"Next active day",title:"Next active day",children:(0,m.jsx)(I.ChevronRight,{"aria-hidden":!0})})]}),y!==v&&(0,m.jsx)(M.Button,{variant:"outline",onClick:()=>l(null),children:"Today"}),s.length>2&&(0,m.jsx)(L,{value:t,onChange:a,options:s,"aria-label":"Project",className:"max-w-56"}),N.length>1&&(0,m.jsx)(L,{value:i,onChange:d,options:C,"aria-label":"Agent"}),(0,m.jsx)("span",{className:"ml-auto text-xs text-muted-foreground",children:j.toLocaleDateString([],{weekday:"long",month:"long",day:"numeric",year:"numeric"})})]}),0===W.sessions?(0,m.jsx)(O.EmptyState,{icon:b,title:y===v?"No activity yet today":"No activity on this day",description:E?"No agent wrote to a transcript on this day with these filters.":"No session matches these filters on any day.",action:E?(0,m.jsx)(M.Button,{variant:"outline",size:"sm",onClick:()=>l(E===v?null:E),children:"Go to latest active day"}):void 0}):(0,m.jsxs)(m.Fragment,{children:[(0,m.jsxs)(eT.StatCardGrid,{children:[(0,m.jsx)(eT.StatCard,{label:"Agent time",value:(0,Z.formatDuration)(W.activeMs),sub:"summed over sessions",accent:!0}),(0,m.jsx)(eT.StatCard,{label:"Peak at once",value:W.peak.toLocaleString(),sub:null!==W.peakAt?`at ${rY(W.peakAt)}`:void 0}),(0,m.jsx)(eT.StatCard,{label:"Sessions",value:W.sessions.toLocaleString()}),(0,m.jsx)(eT.StatCard,{label:"Projects",value:W.projects.toLocaleString()}),(0,m.jsx)(eT.StatCard,{label:"Messages",value:W.messages.toLocaleString()}),(0,m.jsx)(eT.StatCard,{label:"Tool calls",value:W.toolCalls.toLocaleString()}),(0,m.jsx)(eT.StatCard,{label:"Est. cost",value:(0,Z.formatCost)(W.costUSD),sub:"at API list prices"})]}),(0,m.jsx)(ex,{title:"Concurrency",note:`peak ${W.peak} at once`,children:(0,m.jsx)(rB,{slots:S.slots,peak:W.peak})}),(0,m.jsx)(ex,{title:"Sessions",note:`${W.sessions} total`,children:(0,m.jsxs)(ed.Table,{className:"min-w-[720px]",children:[(0,m.jsx)(ed.TableHeader,{children:(0,m.jsx)(ed.TableRow,{className:"text-xs uppercase tracking-wider hover:bg-transparent",children:rU.map((e,t)=>(0,m.jsx)(ed.TableHead,{className:(0,X.cn)("text-muted-foreground",t>2&&"text-right"),children:e},e))})}),(0,m.jsx)(ed.TableBody,{className:"tabular-nums",children:S.sessions.map(e=>(0,m.jsxs)(ed.TableRow,{children:[(0,m.jsxs)(ed.TableCell,{className:"w-full max-w-0",children:[(0,m.jsx)(_.default,{href:`/sessions/${e.provider}/${e.id}`,className:"block truncate rounded-sm font-medium hover:underline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-ring",children:e.label}),(0,m.jsxs)("span",{className:"flex items-center gap-1.5 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 shrink-0 rounded-full",(0,K.providerStyle)(e.provider).dotCls),"aria-hidden":!0}),(0,m.jsxs)("span",{className:"truncate",children:[(0,K.providerStyle)(e.provider).shortLabel," · ",e.project]})]})]}),(0,m.jsx)(ed.TableCell,{className:"max-w-40 truncate font-mono text-xs text-muted-foreground",children:e.model??"—"}),(0,m.jsxs)(ed.TableCell,{className:"whitespace-nowrap text-muted-foreground",children:[rY(e.start),"–",rY(e.end)]}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.messages.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:e.toolCalls.toLocaleString()}),(0,m.jsx)(ed.TableCell,{className:"text-right",children:(0,Z.formatDuration)(e.activeMs)}),(0,m.jsx)(ed.TableCell,{className:"text-right font-medium",children:(0,Z.formatCost)(e.costUSD)})]},`${e.provider}:${e.id}`))})]})}),(0,m.jsx)(ex,{title:"Breakdown",action:(0,m.jsx)(eb.Segmented,{label:"Break down by",value:c,onChange:u,options:rI}),children:(0,m.jsx)("div",{className:"grid gap-5 lg:grid-cols-3",children:[["Project",P(S.byProject)],["Model",P(S.byModel)],["Agent",P(S.byAgent,e=>(0,K.providerStyle)(e.name).shortLabel)]].map(([e,t])=>(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsx)("h3",{className:"mb-2 text-xs uppercase tracking-wider text-muted-foreground",children:e}),(0,m.jsx)(ef.BarList,{items:t,limit:6,format:R,emptyLabel:"Nothing recorded"})]},e))})})]})]})}var rG=e.i(19007),rq=e.i(44581);function rZ(e){return e.project??"unknown"}var rV=e.i(27195),rK=e.i(42526);let rQ=["analytics","usage","activity","quality","projects","sessions","logs"];function rX(){let[e,t]=(0,rK.useTabParam)(rQ,"analytics"),[a,s]=(0,rK.useQueryParam)("project","all"),[r,n]=(0,h.useState)([]),[o,l]=(0,h.useState)([]),[i,d]=(0,h.useState)("all"),[c,u]=(0,h.useState)([]),[x,C]=(0,h.useState)(!0),[E,_]=(0,h.useState)(null),[I,U]=(0,h.useState)(""),[Y,z]=(0,rV.useSessionSort)(),[B,H]=(0,h.useState)(0);function G(){C(!0),_(null),H(e=>e+1)}(0,h.useEffect)(()=>{let e=!1;return(async()=>{try{let[t,a,s]=await Promise.all([fetch("/api/sessions"),fetch("/api/logs"),fetch("/api/providers")]);if(!t.ok||!a.ok||!s.ok)throw Error("Request failed");let[r,o,i]=await Promise.all([t.json(),a.json(),s.json()]);if(e)return;n(r),u(o),l(i)}catch{e||_("Could not read the agent session directories. Are ~/.copilot, ~/.claude or ~/.codex present and readable?")}finally{e||C(!1)}})(),()=>{e=!0}},[B]);let q=(0,h.useMemo)(()=>o.filter(e=>e.available),[o]),Z=(0,h.useMemo)(()=>(function(e){let t=new Map;for(let a of e){let e=rZ(a),s=t.get(e);s||(s={name:e,path:a.projectPath,sessions:0,costUSD:0,unpriced:!1,inputTokens:0,outputTokens:0,toolCalls:0,lastActive:"",providers:[]},t.set(e,s)),s.sessions+=1,s.costUSD+=a.estimatedCostUSD??0,a.unpricedModels?.length&&(s.unpriced=!0),s.inputTokens+=a.totalInputTokens??0,s.outputTokens+=a.totalOutputTokens??0,s.toolCalls+=a.toolCallCount??0;let r=a.updated_at??a.created_at??"";r>s.lastActive&&(s.lastActive=r),s.providers.includes(a.provider)||s.providers.push(a.provider)}return[...t.values()].sort((e,t)=>t.lastActive.localeCompare(e.lastActive))})(r),[r]),V=x||Z.some(e=>e.name===a)?a:"all",Q=(0,h.useMemo)(()=>[{value:"all",label:"All projects"},...[...Z].sort((e,t)=>e.name.localeCompare(t.name)).map(e=>({value:e.name,label:e.name}))],[Z]),J=(0,h.useMemo)(()=>"all"===V?r:r.filter(e=>rZ(e)===V),[r,V]),et=(0,h.useMemo)(()=>"all"===i?J:J.filter(e=>e.provider===i),[J,i]),ea=(0,h.useMemo)(()=>{let e=I.trim().toLowerCase(),t=e?et.filter(t=>t.name?.toLowerCase().includes(e)||t.title?.toLowerCase().includes(e)||t.repository?.toLowerCase().includes(e)||t.branch?.toLowerCase().includes(e)||t.cwd?.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)):et;return(0,rV.sortSessions)(t,Y)},[et,I,Y]);return(0,m.jsxs)("div",{className:"min-h-screen bg-background text-foreground",children:[(0,m.jsx)("header",{className:"sticky top-0 z-20 border-b border-border bg-background/85 backdrop-blur supports-[backdrop-filter]:bg-background/70",children:(0,m.jsxs)("div",{className:"mx-auto flex max-w-6xl items-center gap-3 px-4 py-3 sm:px-6",children:[(0,m.jsxs)("div",{className:"flex min-w-0 items-center gap-2.5",children:[(0,m.jsx)("span",{className:"flex size-8 shrink-0 items-center justify-center rounded-lg bg-brand text-brand-foreground",children:(0,m.jsx)(g.Bot,{className:"size-4","aria-hidden":!0})}),(0,m.jsxs)("div",{className:"min-w-0",children:[(0,m.jsxs)("h1",{className:"truncate text-sm font-semibold leading-none tracking-tight",children:["Agent ",(0,m.jsx)("span",{className:"text-brand",children:"Session"})," Inspector"]}),(0,m.jsxs)("p",{className:"mt-1 truncate font-mono text-xs text-muted-foreground",children:["v",rq.APP_INFO.version]})]})]}),(0,m.jsxs)("div",{className:"ml-auto flex items-center gap-2 sm:gap-3",children:[(0,m.jsxs)("span",{className:"hidden items-center gap-1.5 text-sm text-muted-foreground sm:flex",children:[(0,m.jsx)("span",{className:(0,X.cn)("inline-block size-2 rounded-full",E?"bg-destructive":"bg-emerald-500"),"aria-hidden":!0}),(0,m.jsx)("span",{className:"font-medium tabular-nums text-foreground",children:et.length}),"sessions"]}),(0,m.jsx)($.SearchTrigger,{}),(0,m.jsxs)(D.Tooltip,{children:[(0,m.jsx)(D.TooltipTrigger,{render:(0,m.jsx)(M.Button,{variant:"outline",size:"icon",onClick:G,disabled:x,"aria-label":"Refresh",className:"text-muted-foreground",children:(0,m.jsx)(S,{className:(0,X.cn)("size-3.5",x&&"animate-spin"),"aria-hidden":!0})})}),(0,m.jsx)(D.TooltipContent,{children:"Refresh"})]}),(0,m.jsx)(R.PalettePicker,{}),(0,m.jsx)(F.ThemeToggle,{}),(0,m.jsx)(rG.AboutDialog,{providers:o})]})]})}),(0,m.jsxs)("main",{id:"main",className:"mx-auto max-w-6xl px-4 py-6 sm:px-6",children:[E&&(0,m.jsxs)("div",{className:"mb-5 flex items-start gap-3 rounded-xl border border-destructive/30 bg-destructive/5 px-4 py-3",children:[(0,m.jsx)(p.AlertTriangle,{className:"mt-0.5 size-4 shrink-0 text-destructive","aria-hidden":!0}),(0,m.jsxs)("div",{className:"flex-1",children:[(0,m.jsx)("p",{className:"text-sm font-medium text-foreground",children:"Failed to load sessions"}),(0,m.jsx)("p",{className:"mt-0.5 text-xs text-muted-foreground",children:E})]}),(0,m.jsx)(M.Button,{variant:"outline",size:"sm",onClick:G,children:"Retry"})]}),(0,m.jsxs)(T.Tabs,{value:e,onValueChange:t,children:[(0,m.jsxs)(T.TabsList,{className:"mb-5 max-w-full justify-start overflow-x-auto",children:[(0,m.jsxs)(T.TabsTrigger,{value:"analytics",className:"px-3",children:[(0,m.jsx)(f.BarChart3,{className:"size-4","aria-hidden":!0}),"Analytics"]}),(0,m.jsxs)(T.TabsTrigger,{value:"usage",className:"px-3",children:[(0,m.jsx)(N.Wallet,{className:"size-4","aria-hidden":!0}),"Usage"]}),(0,m.jsxs)(T.TabsTrigger,{value:"activity",className:"px-3",children:[(0,m.jsx)(b,{className:"size-4","aria-hidden":!0}),"Activity"]}),(0,m.jsxs)(T.TabsTrigger,{value:"quality",className:"px-3",children:[(0,m.jsx)(j,{className:"size-4","aria-hidden":!0}),"Quality"]}),(0,m.jsxs)(T.TabsTrigger,{value:"projects",className:"px-3",children:[(0,m.jsx)(y.FolderGit2,{className:"size-4","aria-hidden":!0}),"Projects",(0,m.jsx)("span",{className:"ml-1 rounded-sm bg-foreground/10 px-1.5 text-[11px] tabular-nums",children:Z.length})]}),(0,m.jsxs)(T.TabsTrigger,{value:"sessions",className:"px-3",children:[(0,m.jsx)(k.ListTree,{className:"size-4","aria-hidden":!0}),"Sessions",(0,m.jsx)("span",{className:"ml-1 rounded-sm bg-foreground/10 px-1.5 text-[11px] tabular-nums",children:J.length})]}),(0,m.jsxs)(T.TabsTrigger,{value:"logs",className:"px-3",children:[(0,m.jsx)(v.FileText,{className:"size-4","aria-hidden":!0}),"Logs",(0,m.jsx)("span",{className:"ml-1 rounded-sm bg-foreground/10 px-1.5 text-[11px] tabular-nums",children:c.length})]})]}),(0,m.jsx)(T.TabsContent,{value:"analytics",children:(0,m.jsx)(e2,{reloadToken:B,project:V,onProjectChange:s,projectOptions:Q})}),(0,m.jsx)(T.TabsContent,{value:"usage",children:(0,m.jsx)(ta,{reloadToken:B,project:V,onProjectChange:s,projectOptions:Q})}),(0,m.jsx)(T.TabsContent,{value:"activity",children:(0,m.jsx)(rH,{reloadToken:B,project:V,onProjectChange:s,projectOptions:Q})}),(0,m.jsx)(T.TabsContent,{value:"quality",children:(0,m.jsx)(tg,{reloadToken:B,project:V,onProjectChange:s,projectOptions:Q})}),(0,m.jsx)(T.TabsContent,{value:"projects",children:(0,m.jsx)(eh,{projects:Z,loading:x,selected:V,onSelect:function(e){s(e),t("sessions")}})}),(0,m.jsxs)(T.TabsContent,{value:"sessions",children:[q.length>1&&(0,m.jsxs)("div",{className:"mb-3 flex flex-wrap items-center gap-2",role:"group","aria-label":"Filter by agent",children:[(0,m.jsx)(rJ,{active:"all"===i,onClick:()=>d("all"),label:"All agents",count:J.length}),q.map(e=>(0,m.jsx)(rJ,{active:i===e.id,onClick:()=>d(e.id),label:(0,K.providerStyle)(e.id).shortLabel,count:J.filter(t=>t.provider===e.id).length,dotCls:(0,K.providerStyle)(e.id).dotCls},e.id))]}),(0,m.jsxs)("div",{className:"mb-4 flex flex-wrap items-center gap-3",children:[(0,m.jsx)(P.SearchInput,{value:I,onChange:U,shortcut:!0,placeholder:"Search title, repo, branch or id…","aria-label":"Search sessions",className:"w-full max-w-sm"}),Q.length>2&&(0,m.jsx)(L,{value:V,onChange:s,options:Q,"aria-label":"Project",className:"max-w-56"}),(0,m.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,m.jsx)("span",{className:"hidden sm:inline","aria-hidden":!0,children:"Sort"}),(0,m.jsx)(L,{value:Y,onChange:z,options:rV.SORT_OPTIONS,"aria-label":"Sort sessions"})]}),(0,m.jsx)("span",{className:"ml-auto text-xs tabular-nums text-muted-foreground",children:x?"Loading…":`${ea.length} of ${et.length}`})]}),(0,m.jsx)("div",{className:"grid gap-2",children:x?Array.from({length:5},(e,t)=>(0,m.jsx)(A.SessionCardSkeleton,{},t)):ea.length>0?ea.map(e=>(0,m.jsx)(ee,{session:e},`${e.provider}:${e.id}`)):(0,m.jsx)(O.EmptyState,{icon:w,title:I?"No matching sessions":"No sessions yet",description:I?`Nothing matches “${I}”. Try a repository name, branch or session id.`:"all"!==V?`No ${(0,K.providerStyle)(i).shortLabel} sessions in ${V}.`:"Sessions appear here once Copilot, Claude Code or Codex writes a transcript to your home directory.",action:I?(0,m.jsx)(M.Button,{variant:"outline",size:"sm",onClick:()=>U(""),children:"Clear search"}):void 0})})]}),(0,m.jsx)(T.TabsContent,{value:"logs",children:(0,m.jsx)(ei,{logs:c,loading:x})})]})]}),(0,m.jsx)(W.ScrollToTop,{})]})}function rJ({active:e,onClick:t,label:a,count:s,dotCls:r}){return(0,m.jsxs)(C.Toggle,{variant:"outline",size:"sm",pressed:e,onPressedChange:t,className:"gap-1.5 rounded-full bg-background px-3 text-xs text-muted-foreground aria-pressed:border-brand/50 aria-pressed:bg-brand/10 aria-pressed:text-foreground",children:[r&&(0,m.jsx)("span",{className:(0,X.cn)("size-1.5 rounded-full",r),"aria-hidden":!0}),a,(0,m.jsx)("span",{className:"rounded-sm bg-foreground/10 px-1.5 tabular-nums",children:s})]})}e.s(["default",0,function(){return(0,m.jsx)(h.Suspense,{children:(0,m.jsx)(rX,{})})}],52683)}]);