agentgraphed 0.2.2 → 0.3.0

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 (121) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/app-build-manifest.json +39 -18
  3. package/.next/standalone/.next/app-path-routes-manifest.json +6 -3
  4. package/.next/standalone/.next/build-manifest.json +2 -2
  5. package/.next/standalone/.next/routes-manifest.json +16 -0
  6. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  8. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  9. package/.next/standalone/.next/server/app/analytics/page.js +2 -2
  10. package/.next/standalone/.next/server/app/analytics/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/analytics/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/api/ingest-local/route_client-reference-manifest.js +1 -1
  13. package/.next/standalone/.next/server/app/api/quota-probe/route_client-reference-manifest.js +1 -1
  14. package/.next/standalone/.next/server/app/api/share/dashboard/route.js +1 -0
  15. package/.next/standalone/.next/server/app/api/share/dashboard/route.js.nft.json +1 -0
  16. package/.next/standalone/.next/server/app/api/share/dashboard/route_client-reference-manifest.js +1 -0
  17. package/.next/standalone/.next/server/app/api/share/project/[id]/route.js +1 -0
  18. package/.next/standalone/.next/server/app/api/share/project/[id]/route.js.nft.json +1 -0
  19. package/.next/standalone/.next/server/app/api/share/project/[id]/route_client-reference-manifest.js +1 -0
  20. package/.next/standalone/.next/server/app/api/share/session/[id]/route.js +1 -0
  21. package/.next/standalone/.next/server/app/api/share/session/[id]/route.js.nft.json +1 -0
  22. package/.next/standalone/.next/server/app/api/share/session/[id]/route_client-reference-manifest.js +1 -0
  23. package/.next/standalone/.next/server/app/page.js +46 -2
  24. package/.next/standalone/.next/server/app/page.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/page_client-reference-manifest.js +1 -1
  26. package/.next/standalone/.next/server/app/projects/[id]/page.js +1 -1
  27. package/.next/standalone/.next/server/app/projects/[id]/page.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/projects/[id]/page_client-reference-manifest.js +1 -1
  29. package/.next/standalone/.next/server/app/projects/page.js +44 -2
  30. package/.next/standalone/.next/server/app/projects/page.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/projects/page_client-reference-manifest.js +1 -1
  32. package/.next/standalone/.next/server/app/sessions/[id]/page.js +3 -10
  33. package/.next/standalone/.next/server/app/sessions/[id]/page.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/sessions/[id]/page_client-reference-manifest.js +1 -1
  35. package/.next/standalone/.next/server/app/sessions/page.js +44 -2
  36. package/.next/standalone/.next/server/app/sessions/page.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/sessions/page_client-reference-manifest.js +1 -1
  38. package/.next/standalone/.next/server/app/settings/page.js +8 -19
  39. package/.next/standalone/.next/server/app/settings/page.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  41. package/.next/standalone/.next/server/app/timeline/page.js +44 -2
  42. package/.next/standalone/.next/server/app/timeline/page.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/timeline/page_client-reference-manifest.js +1 -1
  44. package/.next/standalone/.next/server/app-paths-manifest.json +6 -3
  45. package/.next/standalone/.next/server/chunks/165.js +2 -2
  46. package/.next/standalone/.next/server/chunks/191.js +1 -0
  47. package/.next/standalone/.next/server/chunks/367.js +43 -0
  48. package/.next/standalone/.next/server/chunks/660.js +1 -1
  49. package/.next/standalone/.next/server/chunks/693.js +1 -0
  50. package/.next/standalone/.next/server/chunks/837.js +12 -0
  51. package/.next/standalone/.next/server/chunks/944.js +19 -16
  52. package/.next/standalone/.next/server/chunks/970.js +9 -0
  53. package/.next/standalone/.next/server/functions-config-manifest.json +4 -1
  54. package/.next/standalone/.next/server/pages/404.html +1 -1
  55. package/.next/standalone/.next/server/pages/500.html +1 -1
  56. package/.next/standalone/.next/server/server-reference-manifest.js +1 -1
  57. package/.next/standalone/.next/server/server-reference-manifest.json +1 -1
  58. package/.next/standalone/.next/static/A6dvfHR2KYz42pasM2hyV/_buildManifest.js +1 -0
  59. package/.next/standalone/.next/static/chunks/app/api/ingest-local/route-3bc0072e65861283.js +1 -0
  60. package/.next/standalone/.next/static/chunks/app/api/quota-probe/route-3bc0072e65861283.js +1 -0
  61. package/.next/standalone/.next/static/chunks/app/api/share/dashboard/route-3bc0072e65861283.js +1 -0
  62. package/.next/standalone/.next/static/chunks/app/api/share/project/[id]/route-3bc0072e65861283.js +1 -0
  63. package/.next/standalone/.next/static/chunks/app/api/share/session/[id]/route-3bc0072e65861283.js +1 -0
  64. package/.next/standalone/.next/static/chunks/app/layout-4527370a1e451501.js +1 -0
  65. package/.next/standalone/.next/static/chunks/app/page-aa358006ddd29e91.js +1 -0
  66. package/.next/standalone/.next/static/chunks/app/projects/[id]/page-15f21aaacdacb59c.js +1 -0
  67. package/.next/standalone/.next/static/chunks/app/projects/page-d794cc35674274a4.js +1 -0
  68. package/.next/standalone/.next/static/chunks/app/sessions/[id]/page-a887f742425eb49c.js +1 -0
  69. package/.next/standalone/.next/static/chunks/app/sessions/page-35c503eef7e53742.js +1 -0
  70. package/.next/standalone/.next/static/chunks/app/settings/page-dc0bec0bd2577322.js +1 -0
  71. package/.next/standalone/.next/static/chunks/app/timeline/page-d794cc35674274a4.js +1 -0
  72. package/.next/standalone/.next/static/css/fff107f5d96e58c9.css +3 -0
  73. package/.next/standalone/node_modules/next/dist/compiled/@vercel/og/index.node.js +20180 -0
  74. package/.next/standalone/node_modules/next/dist/compiled/@vercel/og/noto-sans-v27-latin-regular.ttf +0 -0
  75. package/.next/standalone/node_modules/next/dist/compiled/@vercel/og/package.json +16 -0
  76. package/.next/standalone/node_modules/next/dist/compiled/@vercel/og/resvg.wasm +0 -0
  77. package/.next/standalone/node_modules/next/dist/compiled/@vercel/og/yoga.wasm +0 -0
  78. package/.next/standalone/package.json +2 -1
  79. package/.next/static/A6dvfHR2KYz42pasM2hyV/_buildManifest.js +1 -0
  80. package/.next/static/chunks/app/api/ingest-local/route-3bc0072e65861283.js +1 -0
  81. package/.next/static/chunks/app/api/quota-probe/route-3bc0072e65861283.js +1 -0
  82. package/.next/static/chunks/app/api/share/dashboard/route-3bc0072e65861283.js +1 -0
  83. package/.next/static/chunks/app/api/share/project/[id]/route-3bc0072e65861283.js +1 -0
  84. package/.next/static/chunks/app/api/share/session/[id]/route-3bc0072e65861283.js +1 -0
  85. package/.next/static/chunks/app/layout-4527370a1e451501.js +1 -0
  86. package/.next/static/chunks/app/page-aa358006ddd29e91.js +1 -0
  87. package/.next/static/chunks/app/projects/[id]/page-15f21aaacdacb59c.js +1 -0
  88. package/.next/static/chunks/app/projects/page-d794cc35674274a4.js +1 -0
  89. package/.next/static/chunks/app/sessions/[id]/page-a887f742425eb49c.js +1 -0
  90. package/.next/static/chunks/app/sessions/page-35c503eef7e53742.js +1 -0
  91. package/.next/static/chunks/app/settings/page-dc0bec0bd2577322.js +1 -0
  92. package/.next/static/chunks/app/timeline/page-d794cc35674274a4.js +1 -0
  93. package/.next/static/css/fff107f5d96e58c9.css +3 -0
  94. package/CHANGELOG.md +23 -0
  95. package/package.json +2 -1
  96. package/.next/standalone/.next/static/chunks/app/api/ingest-local/route-db04e57ba4c845d6.js +0 -1
  97. package/.next/standalone/.next/static/chunks/app/api/quota-probe/route-db04e57ba4c845d6.js +0 -1
  98. package/.next/standalone/.next/static/chunks/app/layout-359f69bd6ea201be.js +0 -1
  99. package/.next/standalone/.next/static/chunks/app/page-72efdd1b71c43e03.js +0 -1
  100. package/.next/standalone/.next/static/chunks/app/projects/[id]/page-85ce81e040071814.js +0 -1
  101. package/.next/standalone/.next/static/chunks/app/projects/page-85ce81e040071814.js +0 -1
  102. package/.next/standalone/.next/static/chunks/app/sessions/[id]/page-9e268d4cde844722.js +0 -1
  103. package/.next/standalone/.next/static/chunks/app/sessions/page-caef08af2717f525.js +0 -1
  104. package/.next/standalone/.next/static/chunks/app/settings/page-e26a7c386e472178.js +0 -1
  105. package/.next/standalone/.next/static/chunks/app/timeline/page-85ce81e040071814.js +0 -1
  106. package/.next/standalone/.next/static/css/568a2d3dc76080d7.css +0 -3
  107. package/.next/standalone/.next/static/x9UWQ4odHhvHvXGtRm2Bl/_buildManifest.js +0 -1
  108. package/.next/static/chunks/app/api/ingest-local/route-db04e57ba4c845d6.js +0 -1
  109. package/.next/static/chunks/app/api/quota-probe/route-db04e57ba4c845d6.js +0 -1
  110. package/.next/static/chunks/app/layout-359f69bd6ea201be.js +0 -1
  111. package/.next/static/chunks/app/page-72efdd1b71c43e03.js +0 -1
  112. package/.next/static/chunks/app/projects/[id]/page-85ce81e040071814.js +0 -1
  113. package/.next/static/chunks/app/projects/page-85ce81e040071814.js +0 -1
  114. package/.next/static/chunks/app/sessions/[id]/page-9e268d4cde844722.js +0 -1
  115. package/.next/static/chunks/app/sessions/page-caef08af2717f525.js +0 -1
  116. package/.next/static/chunks/app/settings/page-e26a7c386e472178.js +0 -1
  117. package/.next/static/chunks/app/timeline/page-85ce81e040071814.js +0 -1
  118. package/.next/static/css/568a2d3dc76080d7.css +0 -3
  119. package/.next/static/x9UWQ4odHhvHvXGtRm2Bl/_buildManifest.js +0 -1
  120. /package/.next/standalone/.next/static/{x9UWQ4odHhvHvXGtRm2Bl → A6dvfHR2KYz42pasM2hyV}/_ssgManifest.js +0 -0
  121. /package/.next/static/{x9UWQ4odHhvHvXGtRm2Bl → A6dvfHR2KYz42pasM2hyV}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- exports.id=660,exports.ids=[660],exports.modules={74:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},46194:(a,b,c)=>{Promise.resolve().then(c.bind(c,65610))},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(75338);c(61135);var e=c(87907);let f={title:"AgentGraphed",description:"Local-first analytics for AI-assisted development"};function g({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{children:(0,d.jsxs)("div",{className:"flex min-h-screen",children:[(0,d.jsx)(e.Sidebar,{}),(0,d.jsx)("main",{className:"flex-1 min-w-0",children:a})]})})})}},61135:()=>{},65610:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>s});var d=c(21124),e=c(3991),f=c.n(e),g=c(42378),h=c(43249),i=c(38301),j=c(23312);function k(a){if(!a||!a.ok)return null;let b=a.primary?.pct??null,c=a.secondary?.pct??null;return null===b&&null===c?null:Math.max(b??0,c??0)}function l(a){let b=a-Date.now();if(b<=0)return"resetting";let c=Math.round(b/6e4);if(c<1)return"<1m";if(c<60)return`${c}m`;let d=Math.floor(c/60),e=c%60;return 0===e?`${d}h`:`${d}h${e}m`}function m(){let[a,b]=(0,i.useState)({claude:null,codex:null,fetchedAt:0,loading:!1}),[c,e]=(0,i.useState)(!1),[f,g]=(0,i.useState)(null),h=(0,i.useRef)(null),m=(0,i.useRef)(null),o=(0,i.useCallback)(async()=>{b(a=>({...a,loading:!0}));let[a,c]=await Promise.all([fetch("/api/quota-probe?provider=claude",{method:"POST"}).then(a=>a.json()).catch(a=>({ok:!1,error:a.message})),fetch("/api/quota-probe?provider=codex",{method:"POST"}).then(a=>a.json()).catch(a=>({ok:!1,error:a.message}))]);b({claude:q("claude",a),codex:q("codex",c),fetchedAt:Date.now(),loading:!1})},[]);function p(){m.current&&clearTimeout(m.current),e(!0),Date.now()-a.fetchedAt>6e4&&!a.loading&&o()}function r(){m.current&&clearTimeout(m.current),m.current=setTimeout(()=>e(!1),120)}return(0,d.jsxs)("div",{ref:h,className:"relative px-3 py-2 border-b border-surface-2",onMouseEnter:p,onMouseLeave:r,onFocus:p,onBlur:r,children:[(0,d.jsxs)("button",{type:"button",onClick:o,className:"w-full flex items-center gap-2 text-[12px] text-ink-dim hover:text-ink","aria-haspopup":"dialog","aria-expanded":c,children:[(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${function(a){if(0===a.fetchedAt)return"bg-ink-mute";let b=Math.max(k(a.claude)??0,k(a.codex)??0);return b>=95?"bg-error":b>=80?"bg-secondary":"bg-primary"}(a)} ${a.loading?"animate-pulse":""}`}),(0,d.jsx)("span",{className:"font-mono tabular truncate",children:a.loading&&0===a.fetchedAt?"Probing…":function(a){if(0===a.fetchedAt)return"Live quota";let b=k(a.claude);return null!==b&&a.claude?.primary?`Claude ${Math.round(b)}% \xb7 ${l(a.claude.primary.resetsAt)}`:"Live quota"}(a)})]}),c&&f&&"undefined"!=typeof document&&(0,j.createPortal)((0,d.jsx)(n,{state:a,loading:a.loading,anchorRect:f,onEnter:p,onLeave:r}),document.body)]})}function n({state:a,loading:b,anchorRect:c,onEnter:e,onLeave:f}){let g={position:"fixed",left:c.right+8,top:c.top,backgroundColor:"#1c2026",isolation:"isolate"};return(0,d.jsx)("div",{role:"dialog",onMouseEnter:e,onMouseLeave:f,className:"w-72 z-[9999] rounded-lg border border-surface-3 p-4 space-y-4 shadow-[0_20px_60px_-10px_rgba(0,0,0,0.8)]",style:g,children:b&&0===a.fetchedAt?(0,d.jsx)("div",{className:"text-body-sm text-ink-mute",children:"Probing Anthropic & OpenAI…"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{kpi:a.claude}),(0,d.jsx)("div",{className:"border-t border-surface-2"}),(0,d.jsx)(o,{kpi:a.codex}),(0,d.jsx)("div",{className:"text-[10px] text-ink-mute font-mono tabular pt-1 border-t border-surface-2",children:0===a.fetchedAt?"never probed":`updated ${function(a){let b=Date.now()-a;return b<1e3?"just now":b<6e4?`${Math.round(b/1e3)}s ago`:`${Math.round(b/6e4)}m ago`}(a.fetchedAt)} \xb7 hover again after 60s to refresh`})]})})}function o({kpi:a}){if(!a)return(0,d.jsx)("div",{className:"text-body-sm text-ink-mute",children:"No data."});let b="claude"===a.provider?"Claude":"Codex";return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,d.jsx)("span",{className:"text-label-caps text-ink-dim",children:b}),a.ok&&a.planType&&(0,d.jsx)("span",{className:"text-[10px] text-ink-mute font-mono uppercase tracking-wide",children:a.planType})]}),a.ok?(0,d.jsxs)(d.Fragment,{children:[a.primary&&(0,d.jsx)(p,{label:a.primary.label,pct:a.primary.pct,resetsAt:a.primary.resetsAt,accent:"primary"}),a.secondary&&(0,d.jsx)(p,{label:a.secondary.label,pct:a.secondary.pct,resetsAt:a.secondary.resetsAt,accent:"secondary"}),!a.primary&&!a.secondary&&(0,d.jsx)("div",{className:"text-body-sm text-ink-mute",children:"No rate-limit headers returned."})]}):(0,d.jsx)("div",{className:"text-[11px] text-ink-mute leading-relaxed",children:a.error})]})}function p({label:a,pct:b,resetsAt:c,accent:e}){return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between text-body-sm",children:[(0,d.jsx)("span",{className:"text-ink font-mono uppercase tracking-wider text-[10px]",children:a}),(0,d.jsxs)("span",{className:"font-mono tabular text-ink",children:[Math.round(b),"%"]})]}),(0,d.jsx)("div",{className:"h-1 bg-surface-2 rounded-full overflow-hidden mt-1",children:(0,d.jsx)("div",{className:`h-full ${"primary"===e?"bg-primary":"bg-secondary"}`,style:{width:`${Math.min(100,Math.max(0,b))}%`}})}),(0,d.jsxs)("div",{className:"text-[10px] text-ink-mute font-mono tabular mt-0.5",children:["resets in ",l(c)]})]})}function q(a,b){if(!b||!("ok"in b))return{provider:a,ok:!1,observedAt:Date.now(),planType:null,primary:null,secondary:null,error:"unexpected response"};if(!b.ok)return{provider:a,ok:!1,observedAt:Date.now(),planType:null,primary:null,secondary:null,error:b.error};let c=b.snapshot;return{provider:a,ok:!0,observedAt:c.observedAt,planType:c.planType,primary:c.primary?{pct:c.primary.pct,resetsAt:c.primary.resetsAt,label:"claude"===a?"5h":"1m"}:null,secondary:c.secondary?{pct:c.secondary.pct,resetsAt:c.secondary.resetsAt,label:"7d"}:null}}let r=[{href:"/",label:"Dashboard",icon:"◧"},{href:"/timeline",label:"Timeline",icon:"☰"},{href:"/projects",label:"Projects",icon:"▦"},{href:"/sessions",label:"Sessions",icon:"⌘"},{href:"/analytics",label:"Analytics",icon:"⌁"}];function s(){let a=(0,g.usePathname)();return(0,d.jsxs)("aside",{className:"w-56 shrink-0 border-r border-surface-2 bg-surface-0 flex flex-col sticky top-0 h-screen self-start",children:[(0,d.jsxs)("div",{className:"px-5 border-b border-surface-2 h-[72px] flex flex-col justify-center",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-1.5 leading-none",children:[(0,d.jsx)("span",{className:"text-primary text-base",children:"◧"}),(0,d.jsxs)("span",{className:"text-lg font-bold tracking-tight",children:[(0,d.jsx)("span",{className:"text-ink-dim",children:"Agent"}),(0,d.jsx)("span",{className:"text-primary",children:"Graphed"})]})]}),(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-ink-mute mt-1.5",children:"See your AI work"})]}),(0,d.jsx)(m,{}),(0,d.jsx)("nav",{className:"px-2 py-3 flex-1 flex flex-col gap-0.5",children:r.map(b=>{let c="/"===b.href?"/"===a:a.startsWith(b.href);return(0,d.jsxs)(f(),{href:b.href,className:(0,h.A)("flex items-center gap-3 px-3 py-2 rounded text-[13px] transition-colors",c?"bg-surface-2 text-primary border-l-2 border-primary -ml-px":"text-ink-dim hover:text-ink hover:bg-surface-1"),children:[(0,d.jsx)("span",{className:"text-base w-4 text-center opacity-80",children:b.icon}),(0,d.jsx)("span",{children:b.label})]},b.href)})}),(0,d.jsx)("div",{className:"px-2 py-3 border-t border-surface-2",children:(0,d.jsxs)(f(),{href:"/settings",className:(0,h.A)("flex items-center gap-3 px-3 py-2 rounded text-[13px] transition-colors",a.startsWith("/settings")?"bg-surface-2 text-primary border-l-2 border-primary -ml-px":"text-ink-dim hover:text-ink hover:bg-surface-1"),children:[(0,d.jsx)("span",{className:"text-base w-4 text-center opacity-80",children:"⚙"}),(0,d.jsx)("span",{children:"Settings"})]})})]})}},81922:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},83146:(a,b,c)=>{Promise.resolve().then(c.bind(c,87907))},87907:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mikekuehn/devProjects/agentgraphed/oss/src/components/Sidebar.tsx","Sidebar")}};
1
+ exports.id=660,exports.ids=[660],exports.modules={74:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,54160,23)),Promise.resolve().then(c.t.bind(c,31603,23)),Promise.resolve().then(c.t.bind(c,68495,23)),Promise.resolve().then(c.t.bind(c,75170,23)),Promise.resolve().then(c.t.bind(c,77526,23)),Promise.resolve().then(c.t.bind(c,78922,23)),Promise.resolve().then(c.t.bind(c,29234,23)),Promise.resolve().then(c.t.bind(c,12263,23)),Promise.resolve().then(c.bind(c,82146))},46194:(a,b,c)=>{Promise.resolve().then(c.bind(c,65610))},51472:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>g,metadata:()=>f});var d=c(75338);c(61135);var e=c(87907);let f={title:"AgentGraphed",description:"Local-first analytics for AI-assisted development"};function g({children:a}){return(0,d.jsx)("html",{lang:"en",children:(0,d.jsx)("body",{children:(0,d.jsxs)("div",{className:"flex min-h-screen",children:[(0,d.jsx)(e.Sidebar,{}),(0,d.jsx)("main",{className:"flex-1 min-w-0",children:a})]})})})}},61135:()=>{},65610:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>s});var d=c(21124),e=c(3991),f=c.n(e),g=c(42378),h=c(43249),i=c(38301),j=c(23312);function k(a){if(!a||!a.ok)return null;let b=a.primary?.pct??null,c=a.secondary?.pct??null;return null===b&&null===c?null:Math.max(b??0,c??0)}function l(a){let b=a-Date.now();if(b<=0&&b>-12e4)return"<1m";if(b<=0)return"resetting";let c=Math.round(b/6e4);if(c<1)return"<1m";if(c<60)return`${c}m`;let d=Math.floor(c/60),e=c%60;return 0===e?`${d}h`:`${d}h${e}m`}function m(){let[a,b]=(0,i.useState)({claude:null,codex:null,fetchedAt:0,loading:!1}),[c,e]=(0,i.useState)(!1),[f,g]=(0,i.useState)(null),h=(0,i.useRef)(null),m=(0,i.useRef)(null),o=(0,i.useCallback)(async()=>{b(a=>({...a,loading:!0}));let[a,c]=await Promise.all([fetch("/api/quota-probe?provider=claude",{method:"POST"}).then(a=>a.json()).catch(a=>({ok:!1,error:a.message})),fetch("/api/quota-probe?provider=codex",{method:"POST"}).then(a=>a.json()).catch(a=>({ok:!1,error:a.message}))]);b({claude:q("claude",a),codex:q("codex",c),fetchedAt:Date.now(),loading:!1})},[]);function p(){m.current&&clearTimeout(m.current),e(!0),Date.now()-a.fetchedAt>6e4&&!a.loading&&o()}function r(){m.current&&clearTimeout(m.current),m.current=setTimeout(()=>e(!1),120)}return(0,d.jsxs)("div",{ref:h,className:"relative px-3 py-2 border-b border-surface-2",onMouseEnter:p,onMouseLeave:r,onFocus:p,onBlur:r,children:[(0,d.jsxs)("button",{type:"button",onClick:o,className:"w-full flex items-center gap-2 text-[12px] text-ink-dim hover:text-ink","aria-haspopup":"dialog","aria-expanded":c,children:[(0,d.jsx)("span",{className:`w-1.5 h-1.5 rounded-full ${function(a){if(0===a.fetchedAt)return"bg-ink-mute";let b=Math.max(k(a.claude)??0,k(a.codex)??0);return b>=95?"bg-error":b>=80?"bg-secondary":"bg-primary"}(a)} ${a.loading?"animate-pulse":""}`}),(0,d.jsx)("span",{className:"font-mono tabular truncate",children:a.loading&&0===a.fetchedAt?"Probing…":function(a){if(0===a.fetchedAt)return"Live quota";let b=k(a.claude);return null!==b&&a.claude?.primary?`Claude ${Math.round(b)}% \xb7 ${l(a.claude.primary.resetsAt)}`:"Live quota"}(a)})]}),c&&f&&"undefined"!=typeof document&&(0,j.createPortal)((0,d.jsx)(n,{state:a,loading:a.loading,anchorRect:f,onEnter:p,onLeave:r}),document.body)]})}function n({state:a,loading:b,anchorRect:c,onEnter:e,onLeave:f}){let g={position:"fixed",left:c.right+8,top:c.top,backgroundColor:"#1c2026",isolation:"isolate"};return(0,d.jsx)("div",{role:"dialog",onMouseEnter:e,onMouseLeave:f,className:"w-72 z-[9999] rounded-lg border border-surface-3 p-4 space-y-4 shadow-[0_20px_60px_-10px_rgba(0,0,0,0.8)]",style:g,children:b&&0===a.fetchedAt?(0,d.jsx)("div",{className:"text-body-sm text-ink-mute",children:"Probing Anthropic & OpenAI…"}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o,{kpi:a.claude}),(0,d.jsx)("div",{className:"border-t border-surface-2"}),(0,d.jsx)(o,{kpi:a.codex}),(0,d.jsx)("div",{className:"text-[10px] text-ink-mute font-mono tabular pt-1 border-t border-surface-2",children:0===a.fetchedAt?"never probed":`updated ${function(a){let b=Date.now()-a;return b<1e3?"just now":b<6e4?`${Math.round(b/1e3)}s ago`:`${Math.round(b/6e4)}m ago`}(a.fetchedAt)} \xb7 hover again after 60s to refresh`})]})})}function o({kpi:a}){if(!a)return(0,d.jsx)("div",{className:"text-body-sm text-ink-mute",children:"No data."});let b="claude"===a.provider?"Claude":"Codex";return(0,d.jsxs)("div",{className:"space-y-2",children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between",children:[(0,d.jsx)("span",{className:"text-label-caps text-ink-dim",children:b}),a.ok&&a.planType&&(0,d.jsx)("span",{className:"text-[10px] text-ink-mute font-mono uppercase tracking-wide",children:a.planType})]}),a.ok?(0,d.jsxs)(d.Fragment,{children:[a.primary&&(0,d.jsx)(p,{label:a.primary.label,pct:a.primary.pct,resetsAt:a.primary.resetsAt,accent:"primary"}),a.secondary&&(0,d.jsx)(p,{label:a.secondary.label,pct:a.secondary.pct,resetsAt:a.secondary.resetsAt,accent:"secondary"}),!a.primary&&!a.secondary&&(0,d.jsx)("div",{className:"text-body-sm text-ink-mute",children:"No rate-limit headers returned."})]}):(0,d.jsx)("div",{className:"text-[11px] text-ink-mute leading-relaxed",children:a.error})]})}function p({label:a,pct:b,resetsAt:c,accent:e}){return(0,d.jsxs)("div",{children:[(0,d.jsxs)("div",{className:"flex items-baseline justify-between text-body-sm",children:[(0,d.jsx)("span",{className:"text-ink font-mono uppercase tracking-wider text-[10px]",children:a}),(0,d.jsxs)("span",{className:"font-mono tabular text-ink",children:[Math.round(b),"%"]})]}),(0,d.jsx)("div",{className:"h-1 bg-surface-2 rounded-full overflow-hidden mt-1",children:(0,d.jsx)("div",{className:`h-full ${"primary"===e?"bg-primary":"bg-secondary"}`,style:{width:`${Math.min(100,Math.max(0,b))}%`}})}),(0,d.jsxs)("div",{className:"text-[10px] text-ink-mute font-mono tabular mt-0.5",children:["resets in ",l(c)]})]})}function q(a,b){if(!b||!("ok"in b))return{provider:a,ok:!1,observedAt:Date.now(),planType:null,primary:null,secondary:null,error:"unexpected response"};if(!b.ok)return{provider:a,ok:!1,observedAt:Date.now(),planType:null,primary:null,secondary:null,error:b.error};let c=b.snapshot;return{provider:a,ok:!0,observedAt:c.observedAt,planType:c.planType,primary:c.primary?{pct:c.primary.pct,resetsAt:c.primary.resetsAt,label:"claude"===a?"5h":"1m"}:null,secondary:c.secondary?{pct:c.secondary.pct,resetsAt:c.secondary.resetsAt,label:"7d"}:null}}let r=[{href:"/",label:"Dashboard",icon:"◧"},{href:"/timeline",label:"Timeline",icon:"☰"},{href:"/projects",label:"Projects",icon:"▦"},{href:"/sessions",label:"Sessions",icon:"⌘"},{href:"/analytics",label:"Analytics",icon:"⌁"}];function s(){let a=(0,g.usePathname)();return(0,d.jsxs)("aside",{className:"w-56 shrink-0 border-r border-surface-2 bg-surface-0 flex flex-col sticky top-0 h-screen self-start",children:[(0,d.jsxs)("div",{className:"px-5 border-b border-surface-2 h-[72px] flex flex-col justify-center",children:[(0,d.jsxs)("div",{className:"flex items-baseline gap-1.5 leading-none",children:[(0,d.jsx)("span",{className:"text-primary text-base",children:"◧"}),(0,d.jsxs)("span",{className:"text-lg font-bold tracking-tight",children:[(0,d.jsx)("span",{className:"text-ink-dim",children:"Agent"}),(0,d.jsx)("span",{className:"text-primary",children:"Graphed"})]})]}),(0,d.jsx)("div",{className:"text-[10px] uppercase tracking-wider text-ink-mute mt-1.5",children:"See your AI work"})]}),(0,d.jsx)(m,{}),(0,d.jsx)("nav",{className:"px-2 py-3 flex-1 flex flex-col gap-0.5",children:r.map(b=>{let c="/"===b.href?"/"===a:a.startsWith(b.href);return(0,d.jsxs)(f(),{href:b.href,className:(0,h.A)("flex items-center gap-3 px-3 py-2 rounded text-[13px] transition-colors",c?"bg-surface-2 text-primary border-l-2 border-primary -ml-px":"text-ink-dim hover:text-ink hover:bg-surface-1"),children:[(0,d.jsx)("span",{className:"text-base w-4 text-center opacity-80",children:b.icon}),(0,d.jsx)("span",{children:b.label})]},b.href)})}),(0,d.jsx)("div",{className:"px-2 py-3 border-t border-surface-2",children:(0,d.jsxs)(f(),{href:"/settings",className:(0,h.A)("flex items-center gap-3 px-3 py-2 rounded text-[13px] transition-colors",a.startsWith("/settings")?"bg-surface-2 text-primary border-l-2 border-primary -ml-px":"text-ink-dim hover:text-ink hover:bg-surface-1"),children:[(0,d.jsx)("span",{className:"text-base w-4 text-center opacity-80",children:"⚙"}),(0,d.jsx)("span",{children:"Settings"})]})})]})}},81922:(a,b,c)=>{Promise.resolve().then(c.t.bind(c,81170,23)),Promise.resolve().then(c.t.bind(c,23597,23)),Promise.resolve().then(c.t.bind(c,36893,23)),Promise.resolve().then(c.t.bind(c,89748,23)),Promise.resolve().then(c.t.bind(c,6060,23)),Promise.resolve().then(c.t.bind(c,7184,23)),Promise.resolve().then(c.t.bind(c,69576,23)),Promise.resolve().then(c.t.bind(c,73041,23)),Promise.resolve().then(c.t.bind(c,51384,23))},83146:(a,b,c)=>{Promise.resolve().then(c.bind(c,87907))},87907:(a,b,c)=>{"use strict";c.d(b,{Sidebar:()=>d});let d=(0,c(97954).registerClientReference)(function(){throw Error("Attempted to call Sidebar() from the server but Sidebar is on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"/Users/mikekuehn/devProjects/agentgraphed/oss/src/components/Sidebar.tsx","Sidebar")}};
@@ -0,0 +1 @@
1
+ exports.id=693,exports.ids=[693],exports.modules={8947:(a,b,c)=>{if(!globalThis.DOMException)try{let{MessageChannel:a}=c(73566),b=new a().port1,d=new ArrayBuffer;b.postMessage(d,[d,d])}catch(a){"DOMException"===a.constructor.name&&(globalThis.DOMException=a.constructor)}a.exports=globalThis.DOMException},48693:(a,b,c)=>{"use strict";c.d(b,{fileFromPath:()=>n});var d,e,f=c(29021),g=c(33873),h=c(8947),i=c(95574);let j=function(a){if("object"!==Object.prototype.toString.call(a).slice(8,-1).toLowerCase())return!1;let b=Object.getPrototypeOf(a);return null==b||(b.constructor&&b.constructor.toString())===Object.toString()};c(96962);var k=function(a,b,c,d,e){if("m"===d)throw TypeError("Private method is not writable");if("a"===d&&!e)throw TypeError("Private accessor was defined without a setter");if("function"==typeof b?a!==b||!e:!b.has(a))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===d?e.call(a,c):e?e.value=c:b.set(a,c),c},l=function(a,b,c,d){if("a"===c&&!d)throw TypeError("Private accessor was defined without a getter");if("function"==typeof b?a!==b||!d:!b.has(a))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===c?d:"a"===c?d.call(a):d?d.value:b.get(a)};class m{constructor(a){d.set(this,void 0),e.set(this,void 0),k(this,d,a.path,"f"),k(this,e,a.start||0,"f"),this.name=(0,g.basename)(l(this,d,"f")),this.size=a.size,this.lastModified=a.lastModified}slice(a,b){return new m({path:l(this,d,"f"),lastModified:this.lastModified,size:b-a,start:a})}async *stream(){let{mtimeMs:a}=await f.promises.stat(l(this,d,"f"));if(a>this.lastModified)throw new h("The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.","NotReadableError");this.size&&(yield*(0,f.createReadStream)(l(this,d,"f"),{start:l(this,e,"f"),end:l(this,e,"f")+this.size-1}))}get[(d=new WeakMap,e=new WeakMap,Symbol.toStringTag)](){return"File"}}async function n(a,b,c){let d=await f.promises.stat(a);return function(a,{mtimeMs:b,size:c},d,e={}){let f;j(d)?[e,f]=[d,void 0]:f=d;let g=new m({path:a,size:c,lastModified:b});return f||(f=g.name),new i.Z([g],f,{...e,lastModified:g.lastModified})}(a,d,b,c)}}};
@@ -0,0 +1,12 @@
1
+ exports.id=837,exports.ids=[837],exports.modules={157:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"pathHasPrefix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if("string"!=typeof a)return!1;let{pathname:c}=(0,d.parsePath)(a);return c===b||c.startsWith(b+"/")}},2213:(a,b)=>{"use strict";function c(a){let b=a.indexOf("#"),c=a.indexOf("?"),d=c>-1&&(b<0||c<b);return d||b>-1?{pathname:a.substring(0,d?c:b),query:d?a.substring(c,b>-1?b:void 0):"",hash:b>-1?a.slice(b):""}:{pathname:a,query:"",hash:""}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"parsePath",{enumerable:!0,get:function(){return c}})},3017:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"Batcher",{enumerable:!0,get:function(){return e}});let d=c(42474);class e{constructor(a,b=a=>a()){this.cacheKeyFn=a,this.schedulerFn=b,this.pending=new Map}static create(a){return new e(null==a?void 0:a.cacheKeyFn,null==a?void 0:a.schedulerFn)}async batch(a,b){let c=this.cacheKeyFn?await this.cacheKeyFn(a):a;if(null===c)return b(c,Promise.resolve);let e=this.pending.get(c);if(e)return e;let{promise:f,resolve:g,reject:h}=new d.DetachedPromise;return this.pending.set(c,f),this.schedulerFn(async()=>{try{let a=await b(c,g);g(a)}catch(a){h(a)}finally{this.pending.delete(c)}}),f}}},6946:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{revalidatePath:function(){return n},revalidateTag:function(){return k},unstable_expirePath:function(){return l},unstable_expireTag:function(){return m}});let d=c(90151),e=c(30598),f=c(73443),g=c(29294),h=c(63033),i=c(52577),j=c(58871);function k(a){return o([a],`revalidateTag ${a}`)}function l(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: expirePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "expirePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/unstable_expirePath`),o([c],`unstable_expirePath ${a}`)}function m(...a){return o(a,`unstable_expireTag ${a.join(", ")}`)}function n(a,b){if(a.length>f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH)return void console.warn(`Warning: revalidatePath received "${a}" which exceeded max length of ${f.NEXT_CACHE_SOFT_TAG_MAX_LENGTH}. See more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`);let c=`${f.NEXT_CACHE_IMPLICIT_TAG_ID}${a}`;return b?c+=`${c.endsWith("/")?"":"/"}${b}`:(0,e.isDynamicRoute)(a)&&console.warn(`Warning: a dynamic page path "${a}" was passed to "revalidatePath", but the "type" parameter is missing. This has no effect by default, see more info here https://nextjs.org/docs/app/api-reference/functions/revalidatePath`),o([c],`revalidatePath ${a}`)}function o(a,b){let c=g.workAsyncStorage.getStore();if(!c||!c.incrementalCache)throw Object.defineProperty(Error(`Invariant: static generation store missing in ${b}`),"__NEXT_ERROR_CODE",{value:"E263",enumerable:!1,configurable:!0});let e=h.workUnitAsyncStorage.getStore();if(e){if("render"===e.phase)throw Object.defineProperty(Error(`Route ${c.route} used "${b}" during render which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E7",enumerable:!1,configurable:!0});switch(e.type){case"cache":case"private-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a "use cache" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E181",enumerable:!1,configurable:!0});case"unstable-cache":throw Object.defineProperty(Error(`Route ${c.route} used "${b}" inside a function cached with "unstable_cache(...)" which is unsupported. To ensure revalidation is performed consistently it must always happen outside of renders and cached functions. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`),"__NEXT_ERROR_CODE",{value:"E306",enumerable:!1,configurable:!0});case"prerender":case"prerender-runtime":let a=Object.defineProperty(Error(`Route ${c.route} used ${b} without first calling \`await connection()\`.`),"__NEXT_ERROR_CODE",{value:"E406",enumerable:!1,configurable:!0});return(0,d.abortAndThrowOnSynchronousRequestDataAccess)(c.route,b,a,e);case"prerender-client":throw Object.defineProperty(new j.InvariantError(`${b} must not be used within a client component. Next.js should be preventing ${b} from being included in client components statically, but did not in this case.`),"__NEXT_ERROR_CODE",{value:"E693",enumerable:!1,configurable:!0});case"prerender-ppr":return(0,d.postponeWithTracking)(c.route,b,e.dynamicTracking);case"prerender-legacy":e.revalidate=0;let f=Object.defineProperty(new i.DynamicServerError(`Route ${c.route} couldn't be rendered statically because it used \`${b}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw c.dynamicUsageDescription=b,c.dynamicUsageStack=f.stack,f}}for(let b of(c.pendingRevalidatedTags||(c.pendingRevalidatedTags=[]),a))c.pendingRevalidatedTags.includes(b)||c.pendingRevalidatedTags.push(b);c.pathWasRevalidated=!0}},7265:a=>{"use strict";var b=Object.defineProperty,c=Object.getOwnPropertyDescriptor,d=Object.getOwnPropertyNames,e=Object.prototype.hasOwnProperty,f={};function g(a){var b;let c=["path"in a&&a.path&&`Path=${a.path}`,"expires"in a&&(a.expires||0===a.expires)&&`Expires=${("number"==typeof a.expires?new Date(a.expires):a.expires).toUTCString()}`,"maxAge"in a&&"number"==typeof a.maxAge&&`Max-Age=${a.maxAge}`,"domain"in a&&a.domain&&`Domain=${a.domain}`,"secure"in a&&a.secure&&"Secure","httpOnly"in a&&a.httpOnly&&"HttpOnly","sameSite"in a&&a.sameSite&&`SameSite=${a.sameSite}`,"partitioned"in a&&a.partitioned&&"Partitioned","priority"in a&&a.priority&&`Priority=${a.priority}`].filter(Boolean),d=`${a.name}=${encodeURIComponent(null!=(b=a.value)?b:"")}`;return 0===c.length?d:`${d}; ${c.join("; ")}`}function h(a){let b=new Map;for(let c of a.split(/; */)){if(!c)continue;let a=c.indexOf("=");if(-1===a){b.set(c,"true");continue}let[d,e]=[c.slice(0,a),c.slice(a+1)];try{b.set(d,decodeURIComponent(null!=e?e:"true"))}catch{}}return b}function i(a){if(!a)return;let[[b,c],...d]=h(a),{domain:e,expires:f,httponly:g,maxage:i,path:l,samesite:m,secure:n,partitioned:o,priority:p}=Object.fromEntries(d.map(([a,b])=>[a.toLowerCase().replace(/-/g,""),b]));{var q,r,s={name:b,value:decodeURIComponent(c),domain:e,...f&&{expires:new Date(f)},...g&&{httpOnly:!0},..."string"==typeof i&&{maxAge:Number(i)},path:l,...m&&{sameSite:j.includes(q=(q=m).toLowerCase())?q:void 0},...n&&{secure:!0},...p&&{priority:k.includes(r=(r=p).toLowerCase())?r:void 0},...o&&{partitioned:!0}};let a={};for(let b in s)s[b]&&(a[b]=s[b]);return a}}((a,c)=>{for(var d in c)b(a,d,{get:c[d],enumerable:!0})})(f,{RequestCookies:()=>l,ResponseCookies:()=>m,parseCookie:()=>h,parseSetCookie:()=>i,stringifyCookie:()=>g}),a.exports=((a,f,g,h)=>{if(f&&"object"==typeof f||"function"==typeof f)for(let g of d(f))e.call(a,g)||void 0===g||b(a,g,{get:()=>f[g],enumerable:!(h=c(f,g))||h.enumerable});return a})(b({},"__esModule",{value:!0}),f);var j=["strict","lax","none"],k=["low","medium","high"],l=class{constructor(a){this._parsed=new Map,this._headers=a;let b=a.get("cookie");if(b)for(let[a,c]of h(b))this._parsed.set(a,{name:a,value:c})}[Symbol.iterator](){return this._parsed[Symbol.iterator]()}get size(){return this._parsed.size}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed);if(!a.length)return c.map(([a,b])=>b);let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(([a])=>a===d).map(([a,b])=>b)}has(a){return this._parsed.has(a)}set(...a){let[b,c]=1===a.length?[a[0].name,a[0].value]:a,d=this._parsed;return d.set(b,{name:b,value:c}),this._headers.set("cookie",Array.from(d).map(([a,b])=>g(b)).join("; ")),this}delete(a){let b=this._parsed,c=Array.isArray(a)?a.map(a=>b.delete(a)):b.delete(a);return this._headers.set("cookie",Array.from(b).map(([a,b])=>g(b)).join("; ")),c}clear(){return this.delete(Array.from(this._parsed.keys())),this}[Symbol.for("edge-runtime.inspect.custom")](){return`RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(a=>`${a.name}=${encodeURIComponent(a.value)}`).join("; ")}},m=class{constructor(a){var b,c,d;this._parsed=new Map,this._headers=a;let e=null!=(d=null!=(c=null==(b=a.getSetCookie)?void 0:b.call(a))?c:a.get("set-cookie"))?d:[];for(let a of Array.isArray(e)?e:function(a){if(!a)return[];var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}(e)){let b=i(a);b&&this._parsed.set(b.name,b)}}get(...a){let b="string"==typeof a[0]?a[0]:a[0].name;return this._parsed.get(b)}getAll(...a){var b;let c=Array.from(this._parsed.values());if(!a.length)return c;let d="string"==typeof a[0]?a[0]:null==(b=a[0])?void 0:b.name;return c.filter(a=>a.name===d)}has(a){return this._parsed.has(a)}set(...a){let[b,c,d]=1===a.length?[a[0].name,a[0].value,a[0]]:a,e=this._parsed;return e.set(b,function(a={name:"",value:""}){return"number"==typeof a.expires&&(a.expires=new Date(a.expires)),a.maxAge&&(a.expires=new Date(Date.now()+1e3*a.maxAge)),(null===a.path||void 0===a.path)&&(a.path="/"),a}({name:b,value:c,...d})),function(a,b){for(let[,c]of(b.delete("set-cookie"),a)){let a=g(c);b.append("set-cookie",a)}}(e,this._headers),this}delete(...a){let[b,c]="string"==typeof a[0]?[a[0]]:[a[0].name,a[0]];return this.set({...c,name:b,value:"",expires:new Date(0)})}[Symbol.for("edge-runtime.inspect.custom")](){return`ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`}toString(){return[...this._parsed.values()].map(g).join("; ")}}},7757:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"formatNextPathnameInfo",{enumerable:!0,get:function(){return h}});let d=c(65303),e=c(31910),f=c(52237),g=c(68734);function h(a){let b=(0,g.addLocale)(a.pathname,a.locale,a.buildId?void 0:a.defaultLocale,a.ignorePrefix);return(a.buildId||!a.trailingSlash)&&(b=(0,d.removeTrailingSlash)(b)),a.buildId&&(b=(0,f.addPathSuffix)((0,e.addPathPrefix)(b,"/_next/data/"+a.buildId),"/"===a.pathname?"index.json":".json")),b=(0,e.addPathPrefix)(b,a.basePath),!a.buildId&&a.trailingSlash?b.endsWith("/")?b:(0,f.addPathSuffix)(b,"/"):(0,d.removeTrailingSlash)(b)}},9027:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bootstrap:function(){return i},error:function(){return k},event:function(){return o},info:function(){return n},prefixes:function(){return f},ready:function(){return m},trace:function(){return p},wait:function(){return j},warn:function(){return l},warnOnce:function(){return r}});let d=c(33311),e=c(31730),f={wait:(0,d.white)((0,d.bold)("○")),error:(0,d.red)((0,d.bold)("⨯")),warn:(0,d.yellow)((0,d.bold)("⚠")),ready:"▲",info:(0,d.white)((0,d.bold)(" ")),event:(0,d.green)((0,d.bold)("✓")),trace:(0,d.magenta)((0,d.bold)("\xbb"))},g={log:"log",warn:"warn",error:"error"};function h(a,...b){(""===b[0]||void 0===b[0])&&1===b.length&&b.shift();let c=a in g?g[a]:"log",d=f[a];0===b.length?console[c](""):1===b.length&&"string"==typeof b[0]?console[c](" "+d+" "+b[0]):console[c](" "+d,...b)}function i(...a){console.log(" "+a.join(" "))}function j(...a){h("wait",...a)}function k(...a){h("error",...a)}function l(...a){h("warn",...a)}function m(...a){h("ready",...a)}function n(...a){h("info",...a)}function o(...a){h("event",...a)}function p(...a){h("trace",...a)}let q=new e.LRUCache(1e4,a=>a.length);function r(...a){let b=a.join(" ");q.has(b)||(q.set(b,b),l(...a))}},12690:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getClientComponentLoaderMetrics:function(){return g},wrapClientComponentLoader:function(){return f}});let c=0,d=0,e=0;function f(a){return"performance"in globalThis?{require:(...b)=>{let f=performance.now();0===c&&(c=f);try{return e+=1,a.__next_app__.require(...b)}finally{d+=performance.now()-f}},loadChunk:(...b)=>{let c=performance.now(),e=a.__next_app__.loadChunk(...b);return e.finally(()=>{d+=performance.now()-c}),e}}:a.__next_app__}function g(a={}){let b=0===c?void 0:{clientComponentLoadStart:c,clientComponentLoadTimes:d,clientComponentLoadCount:e};return a.reset&&(c=0,d=0,e=0),b}},14884:(a,b,c)=>{"use strict";function d(){throw Object.defineProperty(Error("cacheTag() is only available with the experimental.useCache config."),"__NEXT_ERROR_CODE",{value:"E628",enumerable:!1,configurable:!0})}Object.defineProperty(b,"z",{enumerable:!0,get:function(){return d}}),c(63033),c(43709)},26082:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"RouteKind",{enumerable:!0,get:function(){return c}});var c=function(a){return a.PAGES="PAGES",a.PAGES_API="PAGES_API",a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.IMAGE="IMAGE",a}({})},30598:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return d.getSortedRouteObjects},getSortedRoutes:function(){return d.getSortedRoutes},isDynamicRoute:function(){return e.isDynamicRoute}});let d=c(34476),e=c(81626)},31730:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"LRUCache",{enumerable:!0,get:function(){return e}});class c{constructor(a,b,c){this.prev=null,this.next=null,this.key=a,this.data=b,this.size=c}}class d{constructor(){this.prev=null,this.next=null}}class e{constructor(a,b,c){this.cache=new Map,this.totalSize=0,this.maxSize=a,this.calculateSize=b,this.onEvict=c,this.head=new d,this.tail=new d,this.head.next=this.tail,this.tail.prev=this.head}addToHead(a){a.prev=this.head,a.next=this.head.next,this.head.next.prev=a,this.head.next=a}removeNode(a){a.prev.next=a.next,a.next.prev=a.prev}moveToHead(a){this.removeNode(a),this.addToHead(a)}removeTail(){let a=this.tail.prev;return this.removeNode(a),a}set(a,b){let d=(null==this.calculateSize?void 0:this.calculateSize.call(this,b))??1;if(d<=0)throw Object.defineProperty(Error(`LRUCache: calculateSize returned ${d}, but size must be > 0. Items with size 0 would never be evicted, causing unbounded cache growth.`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});if(d>this.maxSize)return console.warn("Single item size exceeds maxSize"),!1;let e=this.cache.get(a);if(e)e.data=b,this.totalSize=this.totalSize-e.size+d,e.size=d,this.moveToHead(e);else{let e=new c(a,b,d);this.cache.set(a,e),this.addToHead(e),this.totalSize+=d}for(;this.totalSize>this.maxSize&&this.cache.size>0;){let a=this.removeTail();this.cache.delete(a.key),this.totalSize-=a.size,null==this.onEvict||this.onEvict.call(this,a.key,a.data)}return!0}has(a){return this.cache.has(a)}get(a){let b=this.cache.get(a);if(b)return this.moveToHead(b),b.data}*[Symbol.iterator](){let a=this.head.next;for(;a&&a!==this.tail;){let b=a;yield[b.key,b.data],a=a.next}}remove(a){let b=this.cache.get(a);b&&(this.removeNode(b),this.cache.delete(a),this.totalSize-=b.size)}get size(){return this.cache.size}get currentSize(){return this.totalSize}}},31910:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathPrefix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+b+c+e+f}},32198:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return g}});let d=c(50931),e=c(97857),f=c(58871);class g{static #a=this.EMPTY=new g(null,{metadata:{},contentType:null});static fromStatic(a,b){return new g(a,{metadata:{},contentType:b})}constructor(a,{contentType:b,waitUntil:c,metadata:d}){this.response=a,this.contentType=b,this.metadata=d,this.waitUntil=c}assignMetadata(a){Object.assign(this.metadata,a)}get isNull(){return null===this.response}get isDynamic(){return"string"!=typeof this.response}toUnchunkedString(a=!1){if(null===this.response)return"";if("string"!=typeof this.response){if(!a)throw Object.defineProperty(new f.InvariantError("dynamic responses cannot be unchunked. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E732",enumerable:!1,configurable:!0});return(0,d.streamToString)(this.readable)}return this.response}get readable(){return null===this.response?new ReadableStream({start(a){a.close()}}):"string"==typeof this.response?(0,d.streamFromString)(this.response):Buffer.isBuffer(this.response)?(0,d.streamFromBuffer)(this.response):Array.isArray(this.response)?(0,d.chainStreams)(...this.response):this.response}coerce(){return null===this.response?[]:"string"==typeof this.response?[(0,d.streamFromString)(this.response)]:Array.isArray(this.response)?this.response:Buffer.isBuffer(this.response)?[(0,d.streamFromBuffer)(this.response)]:[this.response]}unshift(a){this.response=this.coerce(),this.response.unshift(a)}push(a){this.response=this.coerce(),this.response.push(a)}async pipeTo(a){try{await this.readable.pipeTo(a,{preventClose:!0}),this.waitUntil&&await this.waitUntil,await a.close()}catch(b){if((0,e.isAbortError)(b))return void await a.abort(b);throw b}}async pipeToNodeResponse(a){await (0,e.pipeToNodeResponse)(this.readable,a,this.waitUntil)}}},33311:(a,b)=>{"use strict";var c;Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{bgBlack:function(){return A},bgBlue:function(){return E},bgCyan:function(){return G},bgGreen:function(){return C},bgMagenta:function(){return F},bgRed:function(){return B},bgWhite:function(){return H},bgYellow:function(){return D},black:function(){return q},blue:function(){return u},bold:function(){return j},cyan:function(){return x},dim:function(){return k},gray:function(){return z},green:function(){return s},hidden:function(){return o},inverse:function(){return n},italic:function(){return l},magenta:function(){return v},purple:function(){return w},red:function(){return r},reset:function(){return i},strikethrough:function(){return p},underline:function(){return m},white:function(){return y},yellow:function(){return t}});let{env:d,stdout:e}=(null==(c=globalThis)?void 0:c.process)??{},f=d&&!d.NO_COLOR&&(d.FORCE_COLOR||(null==e?void 0:e.isTTY)&&!d.CI&&"dumb"!==d.TERM),g=(a,b,c,d)=>{let e=a.substring(0,d)+c,f=a.substring(d+b.length),h=f.indexOf(b);return~h?e+g(f,b,c,h):e+f},h=(a,b,c=a)=>f?d=>{let e=""+d,f=e.indexOf(b,a.length);return~f?a+g(e,b,c,f)+b:a+e+b}:String,i=f?a=>`\x1b[0m${a}\x1b[0m`:String,j=h("\x1b[1m","\x1b[22m","\x1b[22m\x1b[1m"),k=h("\x1b[2m","\x1b[22m","\x1b[22m\x1b[2m"),l=h("\x1b[3m","\x1b[23m"),m=h("\x1b[4m","\x1b[24m"),n=h("\x1b[7m","\x1b[27m"),o=h("\x1b[8m","\x1b[28m"),p=h("\x1b[9m","\x1b[29m"),q=h("\x1b[30m","\x1b[39m"),r=h("\x1b[31m","\x1b[39m"),s=h("\x1b[32m","\x1b[39m"),t=h("\x1b[33m","\x1b[39m"),u=h("\x1b[34m","\x1b[39m"),v=h("\x1b[35m","\x1b[39m"),w=h("\x1b[38;2;173;127;168m","\x1b[39m"),x=h("\x1b[36m","\x1b[39m"),y=h("\x1b[37m","\x1b[39m"),z=h("\x1b[90m","\x1b[39m"),A=h("\x1b[40m","\x1b[49m"),B=h("\x1b[41m","\x1b[49m"),C=h("\x1b[42m","\x1b[49m"),D=h("\x1b[43m","\x1b[49m"),E=h("\x1b[44m","\x1b[49m"),F=h("\x1b[45m","\x1b[49m"),G=h("\x1b[46m","\x1b[49m"),H=h("\x1b[47m","\x1b[49m")},34476:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{getSortedRouteObjects:function(){return e},getSortedRoutes:function(){return d}});class c{insert(a){this._insert(a.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(a){void 0===a&&(a="/");let b=[...this.children.keys()].sort();null!==this.slugName&&b.splice(b.indexOf("[]"),1),null!==this.restSlugName&&b.splice(b.indexOf("[...]"),1),null!==this.optionalRestSlugName&&b.splice(b.indexOf("[[...]]"),1);let c=b.map(b=>this.children.get(b)._smoosh(""+a+b+"/")).reduce((a,b)=>[...a,...b],[]);if(null!==this.slugName&&c.push(...this.children.get("[]")._smoosh(a+"["+this.slugName+"]/")),!this.placeholder){let b="/"===a?"/":a.slice(0,-1);if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot define a route with the same specificity as a optional catch-all route ("'+b+'" and "'+b+"[[..."+this.optionalRestSlugName+']]").'),"__NEXT_ERROR_CODE",{value:"E458",enumerable:!1,configurable:!0});c.unshift(b)}return null!==this.restSlugName&&c.push(...this.children.get("[...]")._smoosh(a+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&c.push(...this.children.get("[[...]]")._smoosh(a+"[[..."+this.optionalRestSlugName+"]]/")),c}_insert(a,b,d){if(0===a.length){this.placeholder=!1;return}if(d)throw Object.defineProperty(Error("Catch-all must be the last part of the URL."),"__NEXT_ERROR_CODE",{value:"E392",enumerable:!1,configurable:!0});let e=a[0];if(e.startsWith("[")&&e.endsWith("]")){let c=e.slice(1,-1),g=!1;if(c.startsWith("[")&&c.endsWith("]")&&(c=c.slice(1,-1),g=!0),c.startsWith("…"))throw Object.defineProperty(Error("Detected a three-dot character ('…') at ('"+c+"'). Did you mean ('...')?"),"__NEXT_ERROR_CODE",{value:"E147",enumerable:!1,configurable:!0});if(c.startsWith("...")&&(c=c.substring(3),d=!0),c.startsWith("[")||c.endsWith("]"))throw Object.defineProperty(Error("Segment names may not start or end with extra brackets ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E421",enumerable:!1,configurable:!0});if(c.startsWith("."))throw Object.defineProperty(Error("Segment names may not start with erroneous periods ('"+c+"')."),"__NEXT_ERROR_CODE",{value:"E288",enumerable:!1,configurable:!0});function f(a,c){if(null!==a&&a!==c)throw Object.defineProperty(Error("You cannot use different slug names for the same dynamic path ('"+a+"' !== '"+c+"')."),"__NEXT_ERROR_CODE",{value:"E337",enumerable:!1,configurable:!0});b.forEach(a=>{if(a===c)throw Object.defineProperty(Error('You cannot have the same slug name "'+c+'" repeat within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E247",enumerable:!1,configurable:!0});if(a.replace(/\W/g,"")===e.replace(/\W/g,""))throw Object.defineProperty(Error('You cannot have the slug names "'+a+'" and "'+c+'" differ only by non-word symbols within a single dynamic path'),"__NEXT_ERROR_CODE",{value:"E499",enumerable:!1,configurable:!0})}),b.push(c)}if(d)if(g){if(null!=this.restSlugName)throw Object.defineProperty(Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+a[0]+'" ).'),"__NEXT_ERROR_CODE",{value:"E299",enumerable:!1,configurable:!0});f(this.optionalRestSlugName,c),this.optionalRestSlugName=c,e="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Object.defineProperty(Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E300",enumerable:!1,configurable:!0});f(this.restSlugName,c),this.restSlugName=c,e="[...]"}else{if(g)throw Object.defineProperty(Error('Optional route parameters are not yet supported ("'+a[0]+'").'),"__NEXT_ERROR_CODE",{value:"E435",enumerable:!1,configurable:!0});f(this.slugName,c),this.slugName=c,e="[]"}}this.children.has(e)||this.children.set(e,new c),this.children.get(e)._insert(a.slice(1),b,d)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function d(a){let b=new c;return a.forEach(a=>b.insert(a)),b.smoosh()}function e(a,b){let c={},e=[];for(let d=0;d<a.length;d++){let f=b(a[d]);c[f]=d,e[d]=f}return d(e).map(b=>a[c[b]])}},37425:(a,b,c)=>{"use strict";Object.defineProperty(b,"M",{enumerable:!0,get:function(){return g}});let d=c(29294),e=c(63033),f=c(90151);function g(){let a=d.workAsyncStorage.getStore(),b=e.workUnitAsyncStorage.getStore();if(a){if(!a.forceStatic){if(a.isUnstableNoStore=!0,b)switch(b.type){case"prerender":case"prerender-client":case"prerender-runtime":return}(0,f.markCurrentScopeAsDynamic)(a,b,"unstable_noStore()")}}}},38526:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getNextPathnameInfo",{enumerable:!0,get:function(){return g}});let d=c(58999),e=c(78795),f=c(157);function g(a,b){var c,g;let{basePath:h,i18n:i,trailingSlash:j}=null!=(c=b.nextConfig)?c:{},k={pathname:a,trailingSlash:"/"!==a?a.endsWith("/"):j};h&&(0,f.pathHasPrefix)(k.pathname,h)&&(k.pathname=(0,e.removePathPrefix)(k.pathname,h),k.basePath=h);let l=k.pathname;if(k.pathname.startsWith("/_next/data/")&&k.pathname.endsWith(".json")){let a=k.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/");k.buildId=a[0],l="index"!==a[1]?"/"+a.slice(1).join("/"):"/",!0===b.parseData&&(k.pathname=l)}if(i){let a=b.i18nProvider?b.i18nProvider.analyze(k.pathname):(0,d.normalizeLocalePath)(k.pathname,i.locales);k.locale=a.detectedLocale,k.pathname=null!=(g=a.pathname)?g:k.pathname,!a.detectedLocale&&k.buildId&&(a=b.i18nProvider?b.i18nProvider.analyze(l):(0,d.normalizeLocalePath)(l,i.locales)).detectedLocale&&(k.locale=a.detectedLocale)}return k}},43709:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_PATCH_SYMBOL:function(){return n},createPatchedFetcher:function(){return t},patchFetch:function(){return u},validateRevalidate:function(){return o},validateTags:function(){return p}});let d=c(45441),e=c(36821),f=c(73443),g=c(90151),h=c(85384),i=c(75522),j=c(63033),k=c(56557),l=c(86331),m=c(84125),n=Symbol.for("next-patch");function o(a,b){try{let c;if(!1===a)c=f.INFINITE_CACHE;else if("number"==typeof a&&!isNaN(a)&&a>-1)c=a;else if(void 0!==a)throw Object.defineProperty(Error(`Invalid revalidate value "${a}" on "${b}", must be a non-negative number or false`),"__NEXT_ERROR_CODE",{value:"E179",enumerable:!1,configurable:!0});return c}catch(a){if(a instanceof Error&&a.message.includes("Invalid revalidate"))throw a;return}}function p(a,b){let c=[],d=[];for(let e=0;e<a.length;e++){let g=a[e];if("string"!=typeof g?d.push({tag:g,reason:"invalid type, must be a string"}):g.length>f.NEXT_CACHE_TAG_MAX_LENGTH?d.push({tag:g,reason:`exceeded max length of ${f.NEXT_CACHE_TAG_MAX_LENGTH}`}):c.push(g),c.length>f.NEXT_CACHE_TAG_MAX_ITEMS){console.warn(`Warning: exceeded max tag count for ${b}, dropped tags:`,a.slice(e).join(", "));break}}if(d.length>0)for(let{tag:a,reason:c}of(console.warn(`Warning: invalid tags passed to ${b}: `),d))console.log(`tag: "${a}" ${c}`);return c}function q(a,b){a.shouldTrackFetchMetrics&&(a.fetchMetrics??=[],a.fetchMetrics.push({...b,end:performance.timeOrigin+performance.now(),idx:a.nextFetchId||0}))}async function r(a,b,c,d,e,f){let g=await a.arrayBuffer(),h={headers:Object.fromEntries(a.headers.entries()),body:Buffer.from(g).toString("base64"),status:a.status,url:a.url};return c&&await d.set(b,{kind:k.CachedRouteKind.FETCH,data:h,revalidate:e},c),await f(),new Response(g,{headers:a.headers,status:a.status,statusText:a.statusText})}async function s(a,b,c,d,e,f,g,h,i){let[j,l]=(0,m.cloneResponse)(b),n=j.arrayBuffer().then(async a=>{let b=Buffer.from(a),h={headers:Object.fromEntries(j.headers.entries()),body:b.toString("base64"),status:j.status,url:j.url};null==f||f.set(c,h),d&&await e.set(c,{kind:k.CachedRouteKind.FETCH,data:h,revalidate:g},d)}).catch(a=>console.warn("Failed to set fetch cache",h,a)).finally(i),o=`cache-set-${c}`;return a.pendingRevalidates??={},o in a.pendingRevalidates&&await a.pendingRevalidates[o],a.pendingRevalidates[o]=n.finally(()=>{var b;(null==(b=a.pendingRevalidates)?void 0:b[o])&&delete a.pendingRevalidates[o]}),l}function t(a,{workAsyncStorage:b,workUnitAsyncStorage:c}){let i=async function(i,n){var t,u;let v;try{(v=new URL(i instanceof Request?i.url:i)).username="",v.password=""}catch{v=void 0}let w=(null==v?void 0:v.href)??"",x=(null==n||null==(t=n.method)?void 0:t.toUpperCase())||"GET",y=(null==n||null==(u=n.next)?void 0:u.internal)===!0,z="1"===process.env.NEXT_OTEL_FETCH_DISABLED,A=y?void 0:performance.timeOrigin+performance.now(),B=b.getStore(),C=c.getStore(),D=C?(0,j.getCacheSignal)(C):null;D&&D.beginRead();let E=(0,e.getTracer)().trace(y?d.NextNodeServerSpan.internalFetch:d.AppRenderSpan.fetch,{hideSpan:z,kind:e.SpanKind.CLIENT,spanName:["fetch",x,w].filter(Boolean).join(" "),attributes:{"http.url":w,"http.method":x,"net.peer.name":null==v?void 0:v.hostname,"net.peer.port":(null==v?void 0:v.port)||void 0}},async()=>{var b;let c,d,e,j,t,u;if(y||!B||B.isDraftMode)return a(i,n);let v=i&&"object"==typeof i&&"string"==typeof i.method,x=a=>(null==n?void 0:n[a])||(v?i[a]:null),z=a=>{var b,c,d;return void 0!==(null==n||null==(b=n.next)?void 0:b[a])?null==n||null==(c=n.next)?void 0:c[a]:v?null==(d=i.next)?void 0:d[a]:void 0},E=z("revalidate"),F=E,G=p(z("tags")||[],`fetch ${i.toString()}`);if(C)switch(C.type){case"prerender":case"prerender-runtime":case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":c=C}if(c&&Array.isArray(G)){let a=c.tags??(c.tags=[]);for(let b of G)a.includes(b)||a.push(b)}let H=null==C?void 0:C.implicitTags,I=B.fetchCache;C&&"unstable-cache"===C.type&&(I="force-no-store");let J=!!B.isUnstableNoStore,K=x("cache"),L="";"string"==typeof K&&void 0!==F&&("force-cache"===K&&0===F||"no-store"===K&&(F>0||!1===F))&&(d=`Specified "cache: ${K}" and "revalidate: ${F}", only one should be specified.`,K=void 0,F=void 0);let M="no-cache"===K||"no-store"===K||"force-no-store"===I||"only-no-store"===I,N=!I&&!K&&!F&&B.forceDynamic;"force-cache"===K&&void 0===F?F=!1:(M||N)&&(F=0),("no-cache"===K||"no-store"===K)&&(L=`cache: ${K}`),u=o(F,B.route);let O=x("headers"),P="function"==typeof(null==O?void 0:O.get)?O:new Headers(O||{}),Q=P.get("authorization")||P.get("cookie"),R=!["get","head"].includes((null==(b=x("method"))?void 0:b.toLowerCase())||"get"),S=void 0==I&&(void 0==K||"default"===K)&&void 0==F,T=!!((Q||R)&&(null==c?void 0:c.revalidate)===0),U=!1;if(!T&&S&&(B.isBuildTimePrerendering?U=!0:T=!0),S&&void 0!==C)switch(C.type){case"prerender":case"prerender-runtime":case"prerender-client":return D&&(D.endRead(),D=null),(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}switch(I){case"force-no-store":L="fetchCache = force-no-store";break;case"only-no-store":if("force-cache"===K||void 0!==u&&u>0)throw Object.defineProperty(Error(`cache: 'force-cache' used on fetch for ${w} with 'export const fetchCache = 'only-no-store'`),"__NEXT_ERROR_CODE",{value:"E448",enumerable:!1,configurable:!0});L="fetchCache = only-no-store";break;case"only-cache":if("no-store"===K)throw Object.defineProperty(Error(`cache: 'no-store' used on fetch for ${w} with 'export const fetchCache = 'only-cache'`),"__NEXT_ERROR_CODE",{value:"E521",enumerable:!1,configurable:!0});break;case"force-cache":(void 0===F||0===F)&&(L="fetchCache = force-cache",u=f.INFINITE_CACHE)}if(void 0===u?"default-cache"!==I||J?"default-no-store"===I?(u=0,L="fetchCache = default-no-store"):J?(u=0,L="noStore call"):T?(u=0,L="auto no cache"):(L="auto cache",u=c?c.revalidate:f.INFINITE_CACHE):(u=f.INFINITE_CACHE,L="fetchCache = default-cache"):L||(L=`revalidate: ${u}`),!(B.forceStatic&&0===u)&&!T&&c&&u<c.revalidate){if(0===u){if(C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":return D&&(D.endRead(),D=null),(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}(0,g.markCurrentScopeAsDynamic)(B,C,`revalidate: 0 fetch ${i} ${B.route}`)}c&&E===u&&(c.revalidate=u)}let V="number"==typeof u&&u>0,{incrementalCache:W}=B,X=!1;if(C)switch(C.type){case"request":case"cache":case"private-cache":X=C.isHmrRefresh??!1,j=C.serverComponentsHmrCache}if(W&&(V||j))try{e=await W.generateCacheKey(w,v?i:n)}catch(a){console.error("Failed to generate cache key for",i)}let Y=B.nextFetchId??1;B.nextFetchId=Y+1;let Z=()=>{},$=async(b,c)=>{let g=["cache","credentials","headers","integrity","keepalive","method","mode","redirect","referrer","referrerPolicy","window","duplex",...b?[]:["signal"]];if(v){let a=i,b={body:a._ogBody||a.body};for(let c of g)b[c]=a[c];i=new Request(a.url,b)}else if(n){let{_ogBody:a,body:c,signal:d,...e}=n;n={...e,body:a||c,signal:b?void 0:d}}let h={...n,next:{...null==n?void 0:n.next,fetchType:"origin",fetchIdx:Y}};return a(i,h).then(async a=>{if(!b&&A&&q(B,{start:A,url:w,cacheReason:c||L,cacheStatus:0===u||c?"skip":"miss",cacheWarning:d,status:a.status,method:h.method||"GET"}),200===a.status&&W&&e&&(V||j)){let b=u>=f.INFINITE_CACHE?f.CACHE_ONE_YEAR:u,c=V?{fetchCache:!0,fetchUrl:w,fetchIdx:Y,tags:G,isImplicitBuildTimeCache:U}:void 0;switch(null==C?void 0:C.type){case"prerender":case"prerender-client":case"prerender-runtime":return r(a,e,c,W,b,Z);case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":case void 0:return s(B,a,e,c,W,j,b,i,Z)}}return await Z(),a}).catch(a=>{throw Z(),a})},_=!1,aa=!1;if(e&&W){let a;if(X&&j&&(a=j.get(e),aa=!0),V&&!a){Z=await W.lock(e);let b=B.isOnDemandRevalidate?null:await W.get(e,{kind:k.IncrementalCacheKind.FETCH,revalidate:u,fetchUrl:w,fetchIdx:Y,tags:G,softTags:null==H?void 0:H.tags});if(S&&C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":await (0,l.waitAtLeastOneReactRenderTask)()}if(b?await Z():t="cache-control: no-cache (hard refresh)",(null==b?void 0:b.value)&&b.value.kind===k.CachedRouteKind.FETCH)if(B.isRevalidate&&b.isStale)_=!0;else{if(b.isStale&&(B.pendingRevalidates??={},!B.pendingRevalidates[e])){let a=$(!0).then(async a=>({body:await a.arrayBuffer(),headers:a.headers,status:a.status,statusText:a.statusText})).finally(()=>{B.pendingRevalidates??={},delete B.pendingRevalidates[e||""]});a.catch(console.error),B.pendingRevalidates[e]=a}a=b.value.data}}if(a){A&&q(B,{start:A,url:w,cacheReason:L,cacheStatus:aa?"hmr":"hit",cacheWarning:d,status:a.status||200,method:(null==n?void 0:n.method)||"GET"});let b=new Response(Buffer.from(a.body,"base64"),{headers:a.headers,status:a.status});return Object.defineProperty(b,"url",{value:a.url}),b}}if(B.isStaticGeneration&&n&&"object"==typeof n){let{cache:a}=n;if("no-store"===a){if(C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":return D&&(D.endRead(),D=null),(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}(0,g.markCurrentScopeAsDynamic)(B,C,`no-store fetch ${i} ${B.route}`)}let b="next"in n,{next:d={}}=n;if("number"==typeof d.revalidate&&c&&d.revalidate<c.revalidate){if(0===d.revalidate){if(C)switch(C.type){case"prerender":case"prerender-client":case"prerender-runtime":return(0,h.makeHangingPromise)(C.renderSignal,B.route,"fetch()")}(0,g.markCurrentScopeAsDynamic)(B,C,`revalidate: 0 fetch ${i} ${B.route}`)}B.forceStatic&&0===d.revalidate||(c.revalidate=d.revalidate)}b&&delete n.next}if(!e||!_)return $(!1,t);{let a=e;B.pendingRevalidates??={};let b=B.pendingRevalidates[a];if(b){let a=await b;return new Response(a.body,{headers:a.headers,status:a.status,statusText:a.statusText})}let c=$(!0,t).then(m.cloneResponse);return(b=c.then(async a=>{let b=a[0];return{body:await b.arrayBuffer(),headers:b.headers,status:b.status,statusText:b.statusText}}).finally(()=>{var b;(null==(b=B.pendingRevalidates)?void 0:b[a])&&delete B.pendingRevalidates[a]})).catch(()=>{}),B.pendingRevalidates[a]=b,c.then(a=>a[1])}});if(D)try{return await E}finally{D&&D.endRead()}return E};return i.__nextPatched=!0,i.__nextGetStaticStore=()=>b,i._nextOriginalFetch=a,globalThis[n]=!0,Object.defineProperty(i,"name",{value:"fetch",writable:!1}),i}function u(a){if(!0===globalThis[n])return;let b=(0,i.createDedupeFetch)(globalThis.fetch);globalThis.fetch=t(b,a)}},44500:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{RequestCookies:function(){return d.RequestCookies},ResponseCookies:function(){return d.ResponseCookies},stringifyCookie:function(){return d.stringifyCookie}});let d=c(7265)},47390:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERNALS:function(){return h},NextRequest:function(){return i}});let d=c(69942),e=c(66568),f=c(91209),g=c(44500),h=Symbol("internal request");class i extends Request{constructor(a,b={}){let c="string"!=typeof a&&"url"in a?a.url:String(a);(0,e.validateURL)(c),b.body&&"half"!==b.duplex&&(b.duplex="half"),a instanceof Request?super(a,b):super(c,b);let f=new d.NextURL(c,{headers:(0,e.toNodeOutgoingHttpHeaders)(this.headers),nextConfig:b.nextConfig});this[h]={cookies:new g.RequestCookies(this.headers),nextUrl:f,url:f.toString()}}[Symbol.for("edge-runtime.inspect.custom")](){return{cookies:this.cookies,nextUrl:this.nextUrl,url:this.url,bodyUsed:this.bodyUsed,cache:this.cache,credentials:this.credentials,destination:this.destination,headers:Object.fromEntries(this.headers),integrity:this.integrity,keepalive:this.keepalive,method:this.method,mode:this.mode,redirect:this.redirect,referrer:this.referrer,referrerPolicy:this.referrerPolicy,signal:this.signal}}get cookies(){return this[h].cookies}get nextUrl(){return this[h].nextUrl}get page(){throw new f.RemovedPageError}get ua(){throw new f.RemovedUAError}get url(){return this[h].url}}},52237:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addPathSuffix",{enumerable:!0,get:function(){return e}});let d=c(2213);function e(a,b){if(!a.startsWith("/")||!b)return a;let{pathname:c,query:e,hash:f}=(0,d.parsePath)(a);return""+c+b+e+f}},56557:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"default",{enumerable:!0,get:function(){return n}});let d=c(3017),e=c(31730),f=c(9027),g=c(86331),h=c(90914);function i(a,b){if(!a)return b;let c=parseInt(a,10);return Number.isFinite(c)&&c>0?c:b}!function(a,b){Object.keys(a).forEach(function(c){"default"===c||Object.prototype.hasOwnProperty.call(b,c)||Object.defineProperty(b,c,{enumerable:!0,get:function(){return a[c]}})})}(c(94062),b);let j=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_TTL,1e4),k=i(process.env.NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE,150),l="__ttl_sentinel__";function m(a,b){return`${a}\0${b??l}`}class n{constructor(a,b=k,c=j){this.batcher=d.Batcher.create({cacheKeyFn:({key:a,isOnDemandRevalidate:b})=>`${a}-${b?"1":"0"}`,schedulerFn:g.scheduleOnNextTick}),this.revalidateBatcher=d.Batcher.create({schedulerFn:g.scheduleOnNextTick}),this.evictedInvocationIDs=new Set,this.minimal_mode=a,this.maxSize=b,this.ttl=c,this.cache=new e.LRUCache(b,void 0,a=>{let b=function(a){let b=a.lastIndexOf("\0");if(-1===b)return;let c=a.slice(b+1);return c===l?void 0:c}(a);if(b){if(this.evictedInvocationIDs.size>=100){let a=this.evictedInvocationIDs.values().next().value;a&&this.evictedInvocationIDs.delete(a)}this.evictedInvocationIDs.add(b)}})}async get(a,b,c){if(!a)return b({hasResolved:!1,previousCacheEntry:null});if(this.minimal_mode){let b=m(a,c.invocationID),d=this.cache.get(b);if(d){if(void 0!==c.invocationID)return(0,h.toResponseCacheEntry)(d.entry);let a=Date.now();if(d.expiresAt>a)return(0,h.toResponseCacheEntry)(d.entry);this.cache.remove(b)}c.invocationID&&this.evictedInvocationIDs.has(c.invocationID)&&(0,f.warnOnce)(`Response cache entry was evicted for invocation ${c.invocationID}. Consider increasing NEXT_PRIVATE_RESPONSE_CACHE_MAX_SIZE (current: ${this.maxSize}).`)}let{incrementalCache:d,isOnDemandRevalidate:e=!1,isFallback:g=!1,isRoutePPREnabled:i=!1,isPrefetch:j=!1,waitUntil:k,routeKind:l,invocationID:n}=c,o=await this.batcher.batch({key:a,isOnDemandRevalidate:e},(c,f)=>{let h=this.handleGet(a,b,{incrementalCache:d,isOnDemandRevalidate:e,isFallback:g,isRoutePPREnabled:i,isPrefetch:j,routeKind:l,invocationID:n},f);return k&&k(h),h});return(0,h.toResponseCacheEntry)(o)}async handleGet(a,b,c,d){let e=null,f=!1;try{if((e=this.minimal_mode?null:await c.incrementalCache.get(a,{kind:(0,h.routeKindToIncrementalCacheKind)(c.routeKind),isRoutePPREnabled:c.isRoutePPREnabled,isFallback:c.isFallback}))&&!c.isOnDemandRevalidate&&(d(e),f=!0,!e.isStale||c.isPrefetch))return e;let g=await this.revalidate(a,c.incrementalCache,c.isRoutePPREnabled,c.isFallback,b,e,null!==e&&!c.isOnDemandRevalidate,void 0,c.invocationID);if(!g){if(this.minimal_mode){let b=m(a,c.invocationID);this.cache.remove(b)}return null}return c.isOnDemandRevalidate,g}catch(a){if(f)return console.error(a),null;throw a}}async revalidate(a,b,c,d,e,f,g,h,i){return this.revalidateBatcher.batch(a,()=>{let j=this.handleRevalidate(a,b,c,d,e,f,g,i);return h&&h(j),j})}async handleRevalidate(a,b,c,d,e,f,g,i){try{let j=await e({hasResolved:g,previousCacheEntry:f,isRevalidating:!0});if(!j)return null;let k=await (0,h.fromResponseCacheEntry)({...j,isMiss:!f});if(k.cacheControl)if(this.minimal_mode){let b=m(a,i);this.cache.set(b,{entry:k,expiresAt:Date.now()+this.ttl})}else await b.set(a,k.value,{cacheControl:k.cacheControl,isRoutePPREnabled:c,isFallback:d});return k}catch(e){if(null==f?void 0:f.cacheControl){let e=Math.min(Math.max(f.cacheControl.revalidate||3,3),30),g=void 0===f.cacheControl.expire?void 0:Math.max(e+3,f.cacheControl.expire);await b.set(a,f.value,{cacheControl:{revalidate:e,expire:g},isRoutePPREnabled:c,isFallback:d})}throw e}}}},57100:(a,b)=>{"use strict";function c(a,b){let c;if((null==b?void 0:b.host)&&!Array.isArray(b.host))c=b.host.toString().split(":",1)[0];else{if(!a.hostname)return;c=a.hostname}return c.toLowerCase()}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"getHostname",{enumerable:!0,get:function(){return c}})},58999:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"normalizeLocalePath",{enumerable:!0,get:function(){return d}});let c=new WeakMap;function d(a,b){let d;if(!b)return{pathname:a};let e=c.get(b);e||(e=b.map(a=>a.toLowerCase()),c.set(b,e));let f=a.split("/",2);if(!f[1])return{pathname:a};let g=f[1].toLowerCase(),h=e.indexOf(g);return h<0?{pathname:a}:(d=b[h],{pathname:a=a.slice(d.length+1)||"/",detectedLocale:d})}},65303:(a,b)=>{"use strict";function c(a){return a.replace(/\/$/,"")||"/"}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removeTrailingSlash",{enumerable:!0,get:function(){return c}})},66568:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromNodeOutgoingHttpHeaders:function(){return e},normalizeNextQueryParam:function(){return i},splitCookiesString:function(){return f},toNodeOutgoingHttpHeaders:function(){return g},validateURL:function(){return h}});let d=c(73443);function e(a){let b=new Headers;for(let[c,d]of Object.entries(a))for(let a of Array.isArray(d)?d:[d])void 0!==a&&("number"==typeof a&&(a=a.toString()),b.append(c,a));return b}function f(a){var b,c,d,e,f,g=[],h=0;function i(){for(;h<a.length&&/\s/.test(a.charAt(h));)h+=1;return h<a.length}for(;h<a.length;){for(b=h,f=!1;i();)if(","===(c=a.charAt(h))){for(d=h,h+=1,i(),e=h;h<a.length&&"="!==(c=a.charAt(h))&&";"!==c&&","!==c;)h+=1;h<a.length&&"="===a.charAt(h)?(f=!0,h=e,g.push(a.substring(b,d)),b=h):h=d+1}else h+=1;(!f||h>=a.length)&&g.push(a.substring(b,a.length))}return g}function g(a){let b={},c=[];if(a)for(let[d,e]of a.entries())"set-cookie"===d.toLowerCase()?(c.push(...f(e)),b[d]=1===c.length?c[0]:c):b[d]=e;return b}function h(a){try{return String(new URL(String(a)))}catch(b){throw Object.defineProperty(Error(`URL is malformed "${String(a)}". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`,{cause:b}),"__NEXT_ERROR_CODE",{value:"E61",enumerable:!1,configurable:!0})}}function i(a){for(let b of[d.NEXT_QUERY_PARAM_PREFIX,d.NEXT_INTERCEPTION_MARKER_PREFIX])if(a!==b&&a.startsWith(b))return a.substring(b.length);return null}},68734:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"addLocale",{enumerable:!0,get:function(){return f}});let d=c(31910),e=c(157);function f(a,b,c,f){if(!b||b===c)return a;let g=a.toLowerCase();return!f&&((0,e.pathHasPrefix)(g,"/api")||(0,e.pathHasPrefix)(g,"/"+b.toLowerCase()))?a:(0,d.addPathPrefix)(a,"/"+b)}},69942:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"NextURL",{enumerable:!0,get:function(){return k}});let d=c(71136),e=c(7757),f=c(57100),g=c(38526),h=/(?!^https?:\/\/)(127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\[::1\]|localhost)/;function i(a,b){return new URL(String(a).replace(h,"localhost"),b&&String(b).replace(h,"localhost"))}let j=Symbol("NextURLInternal");class k{constructor(a,b,c){let d,e;"object"==typeof b&&"pathname"in b||"string"==typeof b?(d=b,e=c||{}):e=c||b||{},this[j]={url:i(a,d??e.base),options:e,basePath:""},this.analyze()}analyze(){var a,b,c,e,h;let i=(0,g.getNextPathnameInfo)(this[j].url.pathname,{nextConfig:this[j].options.nextConfig,parseData:!0,i18nProvider:this[j].options.i18nProvider}),k=(0,f.getHostname)(this[j].url,this[j].options.headers);this[j].domainLocale=this[j].options.i18nProvider?this[j].options.i18nProvider.detectDomainLocale(k):(0,d.detectDomainLocale)(null==(b=this[j].options.nextConfig)||null==(a=b.i18n)?void 0:a.domains,k);let l=(null==(c=this[j].domainLocale)?void 0:c.defaultLocale)||(null==(h=this[j].options.nextConfig)||null==(e=h.i18n)?void 0:e.defaultLocale);this[j].url.pathname=i.pathname,this[j].defaultLocale=l,this[j].basePath=i.basePath??"",this[j].buildId=i.buildId,this[j].locale=i.locale??l,this[j].trailingSlash=i.trailingSlash}formatPathname(){return(0,e.formatNextPathnameInfo)({basePath:this[j].basePath,buildId:this[j].buildId,defaultLocale:this[j].options.forceLocale?void 0:this[j].defaultLocale,locale:this[j].locale,pathname:this[j].url.pathname,trailingSlash:this[j].trailingSlash})}formatSearch(){return this[j].url.search}get buildId(){return this[j].buildId}set buildId(a){this[j].buildId=a}get locale(){return this[j].locale??""}set locale(a){var b,c;if(!this[j].locale||!(null==(c=this[j].options.nextConfig)||null==(b=c.i18n)?void 0:b.locales.includes(a)))throw Object.defineProperty(TypeError(`The NextURL configuration includes no locale "${a}"`),"__NEXT_ERROR_CODE",{value:"E597",enumerable:!1,configurable:!0});this[j].locale=a}get defaultLocale(){return this[j].defaultLocale}get domainLocale(){return this[j].domainLocale}get searchParams(){return this[j].url.searchParams}get host(){return this[j].url.host}set host(a){this[j].url.host=a}get hostname(){return this[j].url.hostname}set hostname(a){this[j].url.hostname=a}get port(){return this[j].url.port}set port(a){this[j].url.port=a}get protocol(){return this[j].url.protocol}set protocol(a){this[j].url.protocol=a}get href(){let a=this.formatPathname(),b=this.formatSearch();return`${this.protocol}//${this.host}${a}${b}${this.hash}`}set href(a){this[j].url=i(a),this.analyze()}get origin(){return this[j].url.origin}get pathname(){return this[j].url.pathname}set pathname(a){this[j].url.pathname=a}get hash(){return this[j].url.hash}set hash(a){this[j].url.hash=a}get search(){return this[j].url.search}set search(a){this[j].url.search=a}get password(){return this[j].url.password}set password(a){this[j].url.password=a}get username(){return this[j].url.username}set username(a){this[j].url.username=a}get basePath(){return this[j].basePath}set basePath(a){this[j].basePath=a.startsWith("/")?a:`/${a}`}toString(){return this.href}toJSON(){return this.href}[Symbol.for("edge-runtime.inspect.custom")](){return{href:this.href,origin:this.origin,protocol:this.protocol,username:this.username,password:this.password,host:this.host,hostname:this.hostname,port:this.port,pathname:this.pathname,search:this.search,searchParams:this.searchParams,hash:this.hash}}clone(){return new k(String(this),this[j].options)}}},71136:(a,b)=>{"use strict";function c(a,b,c){if(a)for(let f of(c&&(c=c.toLowerCase()),a)){var d,e;if(b===(null==(d=f.domain)?void 0:d.split(":",1)[0].toLowerCase())||c===f.defaultLocale.toLowerCase()||(null==(e=f.locales)?void 0:e.some(a=>a.toLowerCase()===c)))return f}}Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"detectDomainLocale",{enumerable:!0,get:function(){return c}})},73443:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{ACTION_SUFFIX:function(){return o},APP_DIR_ALIAS:function(){return I},CACHE_ONE_YEAR:function(){return A},DOT_NEXT_ALIAS:function(){return G},ESLINT_DEFAULT_DIRS:function(){return aa},GSP_NO_RETURNED_VALUE:function(){return W},GSSP_COMPONENT_MEMBER_ERROR:function(){return Z},GSSP_NO_RETURNED_VALUE:function(){return X},HTML_CONTENT_TYPE_HEADER:function(){return d},INFINITE_CACHE:function(){return B},INSTRUMENTATION_HOOK_FILENAME:function(){return E},JSON_CONTENT_TYPE_HEADER:function(){return e},MATCHED_PATH_HEADER:function(){return h},MIDDLEWARE_FILENAME:function(){return C},MIDDLEWARE_LOCATION_REGEXP:function(){return D},NEXT_BODY_SUFFIX:function(){return r},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return z},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return t},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return u},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return y},NEXT_CACHE_TAGS_HEADER:function(){return s},NEXT_CACHE_TAG_MAX_ITEMS:function(){return w},NEXT_CACHE_TAG_MAX_LENGTH:function(){return x},NEXT_DATA_SUFFIX:function(){return p},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return g},NEXT_META_SUFFIX:function(){return q},NEXT_QUERY_PARAM_PREFIX:function(){return f},NEXT_RESUME_HEADER:function(){return v},NON_STANDARD_NODE_ENV:function(){return $},PAGES_DIR_ALIAS:function(){return F},PRERENDER_REVALIDATE_HEADER:function(){return i},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return j},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return Q},ROOT_DIR_ALIAS:function(){return H},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return P},RSC_ACTION_ENCRYPTION_ALIAS:function(){return O},RSC_ACTION_PROXY_ALIAS:function(){return L},RSC_ACTION_VALIDATE_ALIAS:function(){return K},RSC_CACHE_WRAPPER_ALIAS:function(){return M},RSC_DYNAMIC_IMPORT_WRAPPER_ALIAS:function(){return N},RSC_MOD_REF_PROXY_ALIAS:function(){return J},RSC_PREFETCH_SUFFIX:function(){return k},RSC_SEGMENTS_DIR_SUFFIX:function(){return l},RSC_SEGMENT_SUFFIX:function(){return m},RSC_SUFFIX:function(){return n},SERVER_PROPS_EXPORT_ERROR:function(){return V},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return S},SERVER_PROPS_SSG_CONFLICT:function(){return T},SERVER_RUNTIME:function(){return ab},SSG_FALLBACK_EXPORT_ERROR:function(){return _},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return R},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return U},TEXT_PLAIN_CONTENT_TYPE_HEADER:function(){return c},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return Y},WEBPACK_LAYERS:function(){return ad},WEBPACK_RESOURCE_QUERIES:function(){return ae}});let c="text/plain",d="text/html; charset=utf-8",e="application/json; charset=utf-8",f="nxtP",g="nxtI",h="x-matched-path",i="x-prerender-revalidate",j="x-prerender-revalidate-if-generated",k=".prefetch.rsc",l=".segments",m=".segment.rsc",n=".rsc",o=".action",p=".json",q=".meta",r=".body",s="x-next-cache-tags",t="x-next-revalidated-tags",u="x-next-revalidate-tag-token",v="next-resume",w=128,x=256,y=1024,z="_N_T_",A=31536e3,B=0xfffffffe,C="middleware",D=`(?:src/)?${C}`,E="instrumentation",F="private-next-pages",G="private-dot-next",H="private-next-root-dir",I="private-next-app-dir",J="next/dist/build/webpack/loaders/next-flight-loader/module-proxy",K="private-next-rsc-action-validate",L="private-next-rsc-server-reference",M="private-next-rsc-cache-wrapper",N="private-next-rsc-track-dynamic-import",O="private-next-rsc-action-encryption",P="private-next-rsc-action-client-wrapper",Q="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",R="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",S="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",T="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",U="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",V="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",W="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",X="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",Y="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",Z="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",$='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',_="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",aa=["app","pages","components","lib","src"],ab={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},ac={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",apiNode:"api-node",apiEdge:"api-edge",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser",pagesDirBrowser:"pages-dir-browser",pagesDirEdge:"pages-dir-edge",pagesDirNode:"pages-dir-node"},ad={...ac,GROUP:{builtinReact:[ac.reactServerComponents,ac.actionBrowser],serverOnly:[ac.reactServerComponents,ac.actionBrowser,ac.instrument,ac.middleware],neutralTarget:[ac.apiNode,ac.apiEdge],clientOnly:[ac.serverSideRendering,ac.appPagesBrowser],bundled:[ac.reactServerComponents,ac.actionBrowser,ac.serverSideRendering,ac.appPagesBrowser,ac.shared,ac.instrument,ac.middleware],appPages:[ac.reactServerComponents,ac.serverSideRendering,ac.appPagesBrowser,ac.actionBrowser]}},ae={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},75522:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"createDedupeFetch",{enumerable:!0,get:function(){return h}});let d=function(a,b){if(a&&a.__esModule)return a;if(null===a||"object"!=typeof a&&"function"!=typeof a)return{default:a};var c=g(b);if(c&&c.has(a))return c.get(a);var d={__proto__:null},e=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var f in a)if("default"!==f&&Object.prototype.hasOwnProperty.call(a,f)){var h=e?Object.getOwnPropertyDescriptor(a,f):null;h&&(h.get||h.set)?Object.defineProperty(d,f,h):d[f]=a[f]}return d.default=a,c&&c.set(a,d),d}(c(46204)),e=c(84125),f=c(58871);function g(a){if("function"!=typeof WeakMap)return null;var b=new WeakMap,c=new WeakMap;return(g=function(a){return a?c:b})(a)}function h(a){let b=d.cache(a=>[]);return function(c,d){let g,h;if(d&&d.signal)return a(c,d);if("string"!=typeof c||d){let b="string"==typeof c||c instanceof URL?new Request(c,d):c;if("GET"!==b.method&&"HEAD"!==b.method||b.keepalive)return a(c,d);h=JSON.stringify([b.method,Array.from(b.headers.entries()),b.mode,b.redirect,b.credentials,b.referrer,b.referrerPolicy,b.integrity]),g=b.url}else h='["GET",[],null,"follow",null,null,null,null]',g=c;let i=b(g);for(let a=0,b=i.length;a<b;a+=1){let[b,c]=i[a];if(b===h)return c.then(()=>{let b=i[a][2];if(!b)throw Object.defineProperty(new f.InvariantError("No cached response"),"__NEXT_ERROR_CODE",{value:"E579",enumerable:!1,configurable:!0});let[c,d]=(0,e.cloneResponse)(b);return i[a][2]=d,c})}let j=a(c,d),k=[h,j,null];return i.push(k),j.then(a=>{let[b,c]=(0,e.cloneResponse)(a);return k[2]=c,b})}}},78697:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{INTERCEPTION_ROUTE_MARKERS:function(){return e},extractInterceptionRouteInformation:function(){return g},isInterceptionRouteAppPath:function(){return f}});let d=c(17916),e=["(..)(..)","(.)","(..)","(...)"];function f(a){return void 0!==a.split("/").find(a=>e.find(b=>a.startsWith(b)))}function g(a){let b,c,f;for(let d of a.split("/"))if(c=e.find(a=>d.startsWith(a))){[b,f]=a.split(c,2);break}if(!b||!c||!f)throw Object.defineProperty(Error("Invalid interception route: "+a+". Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>"),"__NEXT_ERROR_CODE",{value:"E269",enumerable:!1,configurable:!0});switch(b=(0,d.normalizeAppPath)(b),c){case"(.)":f="/"===b?"/"+f:b+"/"+f;break;case"(..)":if("/"===b)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..) marker at the root level, use (.) instead."),"__NEXT_ERROR_CODE",{value:"E207",enumerable:!1,configurable:!0});f=b.split("/").slice(0,-1).concat(f).join("/");break;case"(...)":f="/"+f;break;case"(..)(..)":let g=b.split("/");if(g.length<=2)throw Object.defineProperty(Error("Invalid interception route: "+a+". Cannot use (..)(..) marker at the root level or one level up."),"__NEXT_ERROR_CODE",{value:"E486",enumerable:!1,configurable:!0});f=g.slice(0,-2).concat(f).join("/");break;default:throw Object.defineProperty(Error("Invariant: unexpected marker"),"__NEXT_ERROR_CODE",{value:"E112",enumerable:!1,configurable:!0})}return{interceptingRoute:b,interceptedRoute:f}}},78795:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"removePathPrefix",{enumerable:!0,get:function(){return e}});let d=c(157);function e(a,b){if(!(0,d.pathHasPrefix)(a,b))return a;let c=a.slice(b.length);return c.startsWith("/")?c:"/"+c}},81626:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"isDynamicRoute",{enumerable:!0,get:function(){return g}});let d=c(78697),e=/\/[^/]*\[[^/]+\][^/]*(?=\/|$)/,f=/\/\[[^/]+\](?=\/|$)/;function g(a,b){return(void 0===b&&(b=!0),(0,d.isInterceptionRouteAppPath)(a)&&(a=(0,d.extractInterceptionRouteInformation)(a).interceptedRoute),b)?f.test(a):e.test(a)}},84125:(a,b)=>{"use strict";let c;Object.defineProperty(b,"__esModule",{value:!0}),Object.defineProperty(b,"cloneResponse",{enumerable:!0,get:function(){return e}});let d=()=>{};function e(a){if(!a.body)return[a,a];let[b,d]=a.body.tee(),e=new Response(b,{status:a.status,statusText:a.statusText,headers:a.headers});Object.defineProperty(e,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),c&&e.body&&c.register(e,new WeakRef(e.body));let f=new Response(d,{status:a.status,statusText:a.statusText,headers:a.headers});return Object.defineProperty(f,"url",{value:a.url,configurable:!0,enumerable:!0,writable:!1}),[e,f]}globalThis.FinalizationRegistry&&(c=new FinalizationRegistry(a=>{let b=a.deref();b&&!b.locked&&b.cancel("Response object has been garbage collected").then(d)}))},88002:(a,b,c)=>{"use strict";function d(a){throw Object.defineProperty(Error("cacheLife() is only available with the experimental.useCache config."),"__NEXT_ERROR_CODE",{value:"E627",enumerable:!1,configurable:!0})}Object.defineProperty(b,"F",{enumerable:!0,get:function(){return d}}),c(29294),c(63033)},90475:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NEXT_REQUEST_META:function(){return c},addRequestMeta:function(){return f},getRequestMeta:function(){return d},removeRequestMeta:function(){return g},setRequestMeta:function(){return e}});let c=Symbol.for("NextInternalRequestMeta");function d(a,b){let d=a[c]||{};return"string"==typeof b?d[b]:d}function e(a,b){return a[c]=b,b}function f(a,b,c){let f=d(a);return f[b]=c,e(a,f)}function g(a,b){let c=d(a);return delete c[b],e(a,c)}},90914:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{fromResponseCacheEntry:function(){return h},routeKindToIncrementalCacheKind:function(){return j},toResponseCacheEntry:function(){return i}});let d=c(94062),e=function(a){return a&&a.__esModule?a:{default:a}}(c(32198)),f=c(26082),g=c(73443);async function h(a){var b,c;return{...a,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:await a.value.html.toUnchunkedString(!0),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:await a.value.html.toUnchunkedString(!0),postponed:a.value.postponed,rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,segmentData:a.value.segmentData}:a.value}}async function i(a){var b,c;return a?{isMiss:a.isMiss,isStale:a.isStale,cacheControl:a.cacheControl,value:(null==(b=a.value)?void 0:b.kind)===d.CachedRouteKind.PAGES?{kind:d.CachedRouteKind.PAGES,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),pageData:a.value.pageData,headers:a.value.headers,status:a.value.status}:(null==(c=a.value)?void 0:c.kind)===d.CachedRouteKind.APP_PAGE?{kind:d.CachedRouteKind.APP_PAGE,html:e.default.fromStatic(a.value.html,g.HTML_CONTENT_TYPE_HEADER),rscData:a.value.rscData,headers:a.value.headers,status:a.value.status,postponed:a.value.postponed,segmentData:a.value.segmentData}:a.value}:null}function j(a){switch(a){case f.RouteKind.PAGES:return d.IncrementalCacheKind.PAGES;case f.RouteKind.APP_PAGE:return d.IncrementalCacheKind.APP_PAGE;case f.RouteKind.IMAGE:return d.IncrementalCacheKind.IMAGE;case f.RouteKind.APP_ROUTE:return d.IncrementalCacheKind.APP_ROUTE;case f.RouteKind.PAGES_API:throw Object.defineProperty(Error(`Unexpected route kind ${a}`),"__NEXT_ERROR_CODE",{value:"E64",enumerable:!1,configurable:!0});default:return a}}},91209:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{PageSignatureError:function(){return c},RemovedPageError:function(){return d},RemovedUAError:function(){return e}});class c extends Error{constructor({page:a}){super(`The middleware "${a}" accepts an async API directly with the form:
2
+
3
+ export function middleware(request, event) {
4
+ return NextResponse.redirect('/new-location')
5
+ }
6
+
7
+ Read more: https://nextjs.org/docs/messages/middleware-new-signature
8
+ `)}}class d extends Error{constructor(){super(`The request.page has been deprecated in favour of \`URLPattern\`.
9
+ Read more: https://nextjs.org/docs/messages/middleware-request-page
10
+ `)}}class e extends Error{constructor(){super(`The request.ua has been removed in favour of \`userAgent\` function.
11
+ Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent
12
+ `)}}},91837:(a,b,c)=>{let d={unstable_cache:c(96822).e,revalidateTag:c(6946).revalidateTag,revalidatePath:c(6946).revalidatePath,unstable_expireTag:c(6946).unstable_expireTag,unstable_expirePath:c(6946).unstable_expirePath,unstable_noStore:c(37425).M,unstable_cacheLife:c(88002).F,unstable_cacheTag:c(14884).z};a.exports=d,b.unstable_cache=d.unstable_cache,b.revalidatePath=d.revalidatePath,b.revalidateTag=d.revalidateTag,b.unstable_expireTag=d.unstable_expireTag,b.unstable_expirePath=d.unstable_expirePath,b.unstable_noStore=d.unstable_noStore,b.unstable_cacheLife=d.unstable_cacheLife,b.unstable_cacheTag=d.unstable_cacheTag},94062:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{CachedRouteKind:function(){return c},IncrementalCacheKind:function(){return d}});var c=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.REDIRECT="REDIRECT",a.IMAGE="IMAGE",a}({}),d=function(a){return a.APP_PAGE="APP_PAGE",a.APP_ROUTE="APP_ROUTE",a.PAGES="PAGES",a.FETCH="FETCH",a.IMAGE="IMAGE",a}({})},96822:(a,b,c)=>{"use strict";Object.defineProperty(b,"e",{enumerable:!0,get:function(){return k}});let d=c(73443),e=c(43709),f=c(29294),g=c(63033),h=c(56557),i=0;async function j(a,b,c,e,f,g,i){await b.set(c,{kind:h.CachedRouteKind.FETCH,data:{headers:{},body:JSON.stringify(a),status:200,url:""},revalidate:"number"!=typeof f?d.CACHE_ONE_YEAR:f},{fetchCache:!0,tags:e,fetchIdx:g,fetchUrl:i})}function k(a,b,c={}){if(0===c.revalidate)throw Object.defineProperty(Error(`Invariant revalidate: 0 can not be passed to unstable_cache(), must be "false" or "> 0" ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E57",enumerable:!1,configurable:!0});let d=c.tags?(0,e.validateTags)(c.tags,`unstable_cache ${a.toString()}`):[];(0,e.validateRevalidate)(c.revalidate,`unstable_cache ${a.name||a.toString()}`);let l=`${a.toString()}-${Array.isArray(b)&&b.join(",")}`;return async(...b)=>{let e=f.workAsyncStorage.getStore(),k=g.workUnitAsyncStorage.getStore(),m=(null==e?void 0:e.incrementalCache)||globalThis.__incrementalCache;if(!m)throw Object.defineProperty(Error(`Invariant: incrementalCache missing in unstable_cache ${a.toString()}`),"__NEXT_ERROR_CODE",{value:"E469",enumerable:!1,configurable:!0});let n=k?(0,g.getCacheSignal)(k):null;n&&n.beginRead();try{let f=e&&k?function(a,b){switch(b.type){case"request":let c=b.url.pathname,d=new URLSearchParams(b.url.search),e=[...d.keys()].sort((a,b)=>a.localeCompare(b)).map(a=>`${a}=${d.get(a)}`).join("&");return`${c}${e.length?"?":""}${e}`;case"prerender":case"prerender-client":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":case"cache":case"private-cache":case"unstable-cache":return a.route;default:return b}}(e,k):"",n=`${l}-${JSON.stringify(b)}`,o=await m.generateCacheKey(n),p=`unstable_cache ${f} ${a.name?` ${a.name}`:o}`,q=(e?e.nextFetchId:i)??1,r=null==k?void 0:k.implicitTags,s={type:"unstable-cache",phase:"render",implicitTags:r,draftMode:k&&e&&(0,g.getDraftModeProviderForCacheScope)(e,k)};if(e){e.nextFetchId=q+1;let f=!1;if(k)switch(k.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-legacy":"number"==typeof c.revalidate&&(k.revalidate<c.revalidate||(k.revalidate=c.revalidate));let i=k.tags;if(null===i)k.tags=d.slice();else for(let a of d)i.includes(a)||i.push(a);break;case"unstable-cache":f=!0}if(!f&&"force-no-store"!==e.fetchCache&&!e.isOnDemandRevalidate&&!m.isOnDemandRevalidate&&!e.isDraftMode){let f=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,softTags:null==r?void 0:r.tags,fetchIdx:q,fetchUrl:p});if(f&&f.value)if(f.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else{let h=void 0!==f.value.data.body?JSON.parse(f.value.data.body):void 0;if(f.isStale){if(e.pendingRevalidates||(e.pendingRevalidates={}),!e.pendingRevalidates[n]){let f=g.workUnitAsyncStorage.run(s,a,...b).then(async a=>(await j(a,m,o,d,c.revalidate,q,p),a)).catch(a=>(console.error(`revalidating cache with key: ${n}`,a),h));e.isRevalidate&&f.catch(()=>{}),e.pendingRevalidates[n]=f}if(e.isRevalidate)return e.pendingRevalidates[n]}return h}}let l=await g.workUnitAsyncStorage.run(s,a,...b);return e.isDraftMode||(e.pendingRevalidates||(e.pendingRevalidates={}),e.pendingRevalidates[n]=j(l,m,o,d,c.revalidate,q,p)),l}{if(i+=1,!m.isOnDemandRevalidate){let a=await m.get(o,{kind:h.IncrementalCacheKind.FETCH,revalidate:c.revalidate,tags:d,fetchIdx:q,fetchUrl:p,softTags:null==r?void 0:r.tags});if(a&&a.value){if(a.value.kind!==h.CachedRouteKind.FETCH)console.error(`Invariant invalid cacheEntry returned for ${n}`);else if(!a.isStale)return void 0!==a.value.data.body?JSON.parse(a.value.data.body):void 0}}let e=await g.workUnitAsyncStorage.run(s,a,...b);return await j(e,m,o,d,c.revalidate,q,p),e}}finally{n&&n.endRead()}}}},96865:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{NextRequestAdapter:function(){return l},ResponseAborted:function(){return i},ResponseAbortedName:function(){return h},createAbortController:function(){return j},signalFromNodeResponse:function(){return k}});let d=c(90475),e=c(66568),f=c(47390),g=c(97610),h="ResponseAborted";class i extends Error{constructor(...a){super(...a),this.name=h}}function j(a){let b=new AbortController;return a.once("close",()=>{a.writableFinished||b.abort(new i)}),b}function k(a){let{errored:b,destroyed:c}=a;if(b||c)return AbortSignal.abort(b??new i);let{signal:d}=j(a);return d}class l{static fromBaseNextRequest(a,b){if((0,g.isNodeNextRequest)(a))return l.fromNodeNextRequest(a,b);throw Object.defineProperty(Error("Invariant: Unsupported NextRequest type"),"__NEXT_ERROR_CODE",{value:"E345",enumerable:!1,configurable:!0})}static fromNodeNextRequest(a,b){let c,g=null;if("GET"!==a.method&&"HEAD"!==a.method&&a.body&&(g=a.body),a.url.startsWith("http"))c=new URL(a.url);else{let b=(0,d.getRequestMeta)(a,"initURL");c=b&&b.startsWith("http")?new URL(a.url,b):new URL(a.url,"http://n")}return new f.NextRequest(c,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:b,...b.aborted?{}:{body:g}})}static fromWebNextRequest(a){let b=null;return"GET"!==a.method&&"HEAD"!==a.method&&(b=a.body),new f.NextRequest(a.url,{method:a.method,headers:(0,e.fromNodeOutgoingHttpHeaders)(a.headers),duplex:"half",signal:a.request.signal,...a.request.signal.aborted?{}:{body:b}})}}},97610:(a,b)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isNodeNextRequest:function(){return e},isNodeNextResponse:function(){return f},isWebNextRequest:function(){return c},isWebNextResponse:function(){return d}});let c=a=>!1,d=a=>!1,e=a=>!0,f=a=>!0},97857:(a,b,c)=>{"use strict";Object.defineProperty(b,"__esModule",{value:!0}),!function(a,b){for(var c in b)Object.defineProperty(a,c,{enumerable:!0,get:b[c]})}(b,{isAbortError:function(){return i},pipeToNodeResponse:function(){return j}});let d=c(96865),e=c(42474),f=c(36821),g=c(45441),h=c(12690);function i(a){return(null==a?void 0:a.name)==="AbortError"||(null==a?void 0:a.name)===d.ResponseAbortedName}async function j(a,b,c){try{let{errored:i,destroyed:j}=b;if(i||j)return;let k=(0,d.createAbortController)(b),l=function(a,b){let c=!1,d=new e.DetachedPromise;function i(){d.resolve()}a.on("drain",i),a.once("close",()=>{a.off("drain",i),d.resolve()});let j=new e.DetachedPromise;return a.once("finish",()=>{j.resolve()}),new WritableStream({write:async b=>{if(!c){if(c=!0,"performance"in globalThis&&process.env.NEXT_OTEL_PERFORMANCE_PREFIX){let a=(0,h.getClientComponentLoaderMetrics)();a&&performance.measure(`${process.env.NEXT_OTEL_PERFORMANCE_PREFIX}:next-client-component-loading`,{start:a.clientComponentLoadStart,end:a.clientComponentLoadStart+a.clientComponentLoadTimes})}a.flushHeaders(),(0,f.getTracer)().trace(g.NextNodeServerSpan.startResponse,{spanName:"start response"},()=>void 0)}try{let c=a.write(b);"flush"in a&&"function"==typeof a.flush&&a.flush(),c||(await d.promise,d=new e.DetachedPromise)}catch(b){throw a.end(),Object.defineProperty(Error("failed to write chunk to response",{cause:b}),"__NEXT_ERROR_CODE",{value:"E321",enumerable:!1,configurable:!0})}},abort:b=>{a.writableFinished||a.destroy(b)},close:async()=>{if(b&&await b,!a.writableFinished)return a.end(),j.promise}})}(b,c);await a.pipeTo(l,{signal:k.signal})}catch(a){if(i(a))return;throw Object.defineProperty(Error("failed to pipe response",{cause:a}),"__NEXT_ERROR_CODE",{value:"E180",enumerable:!1,configurable:!0})}}}};
@@ -1,4 +1,4 @@
1
- "use strict";exports.id=944,exports.ids=[944],exports.modules={10944:(a,b,c)=>{c.d(b,{Cj:()=>z,Dq:()=>s,Ht:()=>q,JQ:()=>n,K6:()=>w,LQ:()=>j,PL:()=>D,Pw:()=>v,Qd:()=>A,TN:()=>u,U1:()=>o,ZC:()=>C,dS:()=>t,fZ:()=>B,jU:()=>y,k$:()=>m,lS:()=>r,rz:()=>k,sW:()=>p,zR:()=>x});var d=c(22446),e=c(46145),f=c(76846),g=c(97064),h=c(25742);let i=`
1
+ "use strict";exports.id=944,exports.ids=[944],exports.modules={10944:(a,b,c)=>{c.d(b,{Cj:()=>A,Dq:()=>t,Ht:()=>q,JQ:()=>n,K6:()=>x,KM:()=>D,LQ:()=>j,PL:()=>H,Pw:()=>w,Qd:()=>B,TN:()=>v,U1:()=>o,ZC:()=>G,cL:()=>r,dS:()=>u,fZ:()=>C,i5:()=>F,jU:()=>z,k$:()=>m,lS:()=>s,rz:()=>k,sW:()=>p,zR:()=>y});var d=c(22446),e=c(46145),f=c(76846),g=c(97064),h=c(25742);let i=`
2
2
  s.id, s.provider, s.project_id, p.name AS project_name, s.cwd,
3
3
  s.started_at, s.ended_at, s.duration_ms, s.model,
4
4
  s.message_count, s.user_message_count,
@@ -6,8 +6,8 @@
6
6
  s.est_cost_usd, s.first_prompt, s.summary,
7
7
  s.heuristic_title, s.category, s.categories, s.keywords,
8
8
  s.git_branch
9
- `,j=g.L;function k(){let{start:a,end:b}=function(){let a=new Date,b=new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime();return{start:b,end:b+864e5}}();return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
10
- WHERE s.started_at < ? AND s.ended_at >= ? ORDER BY s.started_at DESC`).all(b,a)}function l(a){let b=new Date(a);return new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()}function m(a={}){let b=a.limit??60,c=a.before??Date.now()+1,f=["s.started_at < ?"],g=[c];if(a.projectId&&(f.push("s.project_id = ?"),g.push(a.projectId)),a.provider&&(f.push("s.provider = ?"),g.push(a.provider)),a.search){f.push("(s.first_prompt LIKE ? OR s.summary LIKE ?)");let b=`%${a.search}%`;g.push(b,b)}let h=(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
9
+ `,j=g.LQ;function k(a,b){let{start:c,end:e}=function(){let a=new Date,b=new Date(a.getFullYear(),a.getMonth(),a.getDate()).getTime();return{start:b,end:b+864e5}}(),f=a?" AND s.project_id = ?":"",g=E(b??null,"s");return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
10
+ WHERE s.started_at < ? AND s.ended_at >= ?${f}${g.sql} ORDER BY s.started_at DESC`).all(e,c,...a?[a]:[],...g.params)}function l(a){let b=new Date(a);return new Date(b.getFullYear(),b.getMonth(),b.getDate()).getTime()}function m(a={}){let b=a.limit??60,c=a.before??Date.now()+1,f=["s.started_at < ?"],g=[c];if(a.projectId&&(f.push("s.project_id = ?"),g.push(a.projectId)),a.provider&&(f.push("s.provider = ?"),g.push(a.provider)),a.search){f.push("(s.first_prompt LIKE ? OR s.summary LIKE ?)");let b=`%${a.search}%`;g.push(b,b)}let h=(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
11
11
  WHERE ${f.join(" AND ")}
12
12
  ORDER BY s.started_at DESC LIMIT ?`).all(...g,b),j=new Map,k=a=>{let b=(0,e.EL)(a),c=j.get(b);return c||(c={day:b,dayMs:a,entries:[],totalTokens:0,totalCost:0,providers:{}},j.set(b,c)),c};for(let a of h){let b=l(a.started_at),c=l(a.ended_at),d=Math.max(1,Math.round((c-b)/864e5)+1),e=a.input_tokens+a.output_tokens+a.cache_read_tokens+a.cache_write_tokens;if(b===c){let c=k(b);c.entries.push({session:a,role:"single",spanDays:1}),c.totalTokens+=e,c.totalCost+=a.est_cost_usd,c.providers[a.provider]=(c.providers[a.provider]||0)+1;continue}for(let f=b;f<=c;f+=864e5){let g=k(f),h=f===b?"started":f===c?"closed":"continued";g.entries.push({session:a,role:h,spanDays:d}),"closed"===h&&(g.totalTokens+=e,g.totalCost+=a.est_cost_usd,g.providers[a.provider]=(g.providers[a.provider]||0)+1)}}for(let a of j.values())a.entries.sort((a,b)=>b.session.started_at-a.session.started_at);return[...j.values()].sort((a,b)=>b.dayMs-a.dayMs)}function n(){return(0,h.n)("getProjects",5e3,()=>(0,d.x)().prepare(`SELECT p.id, p.name, p.root_path, p.git_remote, p.first_seen, p.last_active,
13
13
  COUNT(s.id) AS sessions,
@@ -20,17 +20,18 @@
20
20
  COALESCE(SUM(s.est_cost_usd), 0) AS cost
21
21
  FROM projects p LEFT JOIN sessions s ON s.project_id = p.id
22
22
  WHERE p.id = ? GROUP BY p.id`).get(a)??null}function p(a,b=100){return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
23
- WHERE s.project_id = ? ORDER BY s.started_at DESC LIMIT ?`).all(a,b)}function q(a){return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id WHERE s.id = ?`).get(a)??null}function r(a){return(0,d.x)().prepare("SELECT id, role, content, timestamp, model FROM messages WHERE session_id = ? ORDER BY timestamp ASC LIMIT 200").all(a)}function s(a={}){let b=a.limit??200,c=a.offset??0,e=[],f=[];a.provider&&(e.push("s.provider = ?"),f.push(a.provider)),a.projectId&&(e.push("s.project_id = ?"),f.push(a.projectId));let g=e.length?`WHERE ${e.join(" AND ")}`:"";return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id ${g}
24
- ORDER BY s.started_at DESC LIMIT ? OFFSET ?`).all(...f,b,c)}function t(a=30){return(0,h.n)(`getDailySeries:${a}`,5e3,()=>(function(a){let b,c,f=(0,d.x)();if(null===a){let a=f.prepare("SELECT MIN(started_at) AS min FROM sessions").get();if(!a.min)return[];b=a.min,c=Math.max(1,Math.ceil((Date.now()-b)/864e5)+1)}else b=Date.now()-864e5*a,c=a;let g=f.prepare(`SELECT started_at, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, est_cost_usd
25
- FROM sessions WHERE started_at >= ?`).all(b),h=new Map;for(let a=0;a<c;a++){let b=new Date;b.setDate(b.getDate()-a),b.setHours(0,0,0,0);let c=(0,e.EL)(b.getTime());h.set(c,{day:c,sessions:0,tokens:0,cost:0})}for(let a of g){let b=(0,e.EL)(a.started_at),c=h.get(b);c&&(c.sessions+=1,c.tokens+=a.input_tokens+a.output_tokens+a.cache_read_tokens+a.cache_write_tokens,c.cost+=a.est_cost_usd)}return[...h.values()].sort((a,b)=>a.day.localeCompare(b.day))})(a))}function u(){return(0,h.n)("getProviderBreakdown",5e3,()=>(0,d.x)().prepare(`SELECT provider,
23
+ WHERE s.project_id = ? ORDER BY s.started_at DESC LIMIT ?`).all(a,b)}function q(a){return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id WHERE s.id = ?`).get(a)??null}function r(a){let b=(0,d.x)().prepare(`SELECT COALESCE(model, '') AS model, COUNT(*) AS n
24
+ FROM messages WHERE session_id = ? AND role = 'assistant' GROUP BY model`).all(a),c=new Map;for(let a of b){if(!a.model)continue;let b=(0,f.gW)(a.model);c.set(b,(c.get(b)||0)+a.n)}return c.size<=1?[]:[...c.entries()].map(([a,b])=>({family:a,messages:b})).sort((a,b)=>b.messages-a.messages)}function s(a){return(0,d.x)().prepare("SELECT id, role, content, timestamp, model FROM messages WHERE session_id = ? ORDER BY timestamp ASC LIMIT 200").all(a)}function t(a={}){let b=a.limit??200,c=a.offset??0,e=[],f=[];a.provider&&(e.push("s.provider = ?"),f.push(a.provider)),a.projectId&&(e.push("s.project_id = ?"),f.push(a.projectId));let g=e.length?`WHERE ${e.join(" AND ")}`:"";return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id ${g}
25
+ ORDER BY s.started_at DESC LIMIT ? OFFSET ?`).all(...f,b,c)}function u(a=30,b,c){return(0,h.n)(`getDailySeries:${a}:${b??""}:${c??""}`,5e3,()=>(function(a,b,c){let f,g,h=(0,d.x)(),i=b?" AND project_id = ?":"",j=b?[b]:[],k=E(c);if(null===a){let a=h.prepare(`SELECT MIN(started_at) AS min FROM sessions WHERE 1=1${i}${k.sql}`).get(...j,...k.params);if(!a.min)return[];f=a.min,g=Math.max(1,Math.ceil((Date.now()-f)/864e5)+1)}else f=Date.now()-864e5*a,g=a;let l=h.prepare(`SELECT started_at, input_tokens, output_tokens, cache_read_tokens, cache_write_tokens, est_cost_usd
26
+ FROM sessions WHERE started_at >= ?${i}${k.sql}`).all(f,...j,...k.params),m=new Map;for(let a=0;a<g;a++){let b=new Date;b.setDate(b.getDate()-a),b.setHours(0,0,0,0);let c=(0,e.EL)(b.getTime());m.set(c,{day:c,sessions:0,tokens:0,cost:0})}for(let a of l){let b=(0,e.EL)(a.started_at),c=m.get(b);c&&(c.sessions+=1,c.tokens+=a.input_tokens+a.output_tokens+a.cache_read_tokens+a.cache_write_tokens,c.cost+=a.est_cost_usd)}return[...m.values()].sort((a,b)=>a.day.localeCompare(b.day))})(a,b??null,c??null))}function v(){return(0,h.n)("getProviderBreakdown",5e3,()=>(0,d.x)().prepare(`SELECT provider,
26
27
  COUNT(*) AS sessions,
27
28
  SUM(input_tokens + output_tokens + cache_read_tokens + cache_write_tokens) AS tokens,
28
29
  SUM(est_cost_usd) AS cost
29
- FROM sessions GROUP BY provider ORDER BY tokens DESC`).all())}function v(){return(0,h.n)("getModelBreakdown",5e3,()=>(function(){let a=(0,d.x)().prepare(`SELECT COALESCE(model, 'unknown') AS model,
30
+ FROM sessions GROUP BY provider ORDER BY tokens DESC`).all())}function w(a=null,b){return(0,h.n)(`getModelBreakdown:${a??"all"}:${b??""}`,5e3,()=>(function(a,b){let c=[],e=[];null!==a&&(c.push("started_at >= ?"),e.push(Date.now()-864e5*a)),b&&(c.push("project_id = ?"),e.push(b));let g=c.length>0?`WHERE ${c.join(" AND ")}`:"",h=(0,d.x)().prepare(`SELECT COALESCE(model, 'unknown') AS model,
30
31
  COUNT(*) AS sessions,
31
32
  SUM(input_tokens + output_tokens + cache_read_tokens + cache_write_tokens) AS tokens,
32
33
  SUM(est_cost_usd) AS cost
33
- FROM sessions GROUP BY model`).all(),b=new Map;for(let c of a){let a=(0,f.gW)(c.model),d=b.get(a);d?(d.sessions+=c.sessions,d.tokens+=c.tokens,d.cost+=c.cost):b.set(a,{model:a,sessions:c.sessions,tokens:c.tokens,cost:c.cost})}return[...b.values()].sort((a,b)=>b.tokens-a.tokens).slice(0,12)})())}function w(){return(0,h.n)("getOverview",5e3,()=>(0,d.x)().prepare(`SELECT
34
+ FROM sessions ${g} GROUP BY model`).all(...e),i=new Map;for(let a of h){let b=(0,f.gW)(a.model),c=i.get(b);c?(c.sessions+=a.sessions,c.tokens+=a.tokens,c.cost+=a.cost):i.set(b,{model:b,sessions:a.sessions,tokens:a.tokens,cost:a.cost})}return[...i.values()].sort((a,b)=>b.tokens-a.tokens).slice(0,12)})(a,b??null))}function x(){return(0,h.n)("getOverview",5e3,()=>(0,d.x)().prepare(`SELECT
34
35
  COUNT(*) AS sessions,
35
36
  COUNT(DISTINCT project_id) AS projects,
36
37
  COALESCE(SUM(input_tokens + output_tokens + cache_read_tokens + cache_write_tokens), 0) AS tokens,
@@ -38,25 +39,27 @@
38
39
  COUNT(DISTINCT strftime('%Y-%m', started_at/1000, 'unixepoch')) AS active_months,
39
40
  MIN(started_at) AS first_session,
40
41
  MAX(started_at) AS last_session
41
- FROM sessions`).get())}function x(a=12){return(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
42
- ORDER BY s.started_at DESC LIMIT ?`).all(a)}function y(a=30,b=6){return(0,h.n)(`getProjectBreakdown:${a}:${b}`,5e3,()=>(function(a,b){let c=null===a?0:Date.now()-864e5*a;return(0,d.x)().prepare(`SELECT p.id, p.name, p.last_active,
42
+ FROM sessions`).get())}function y(a=12,b,c){let e=[],f=[];b&&(e.push("s.project_id = ?"),f.push(b));let g=E(c??null,"s"),h=e.length>0?` WHERE ${e.join(" AND ")}${g.sql}`:g.sql?` WHERE 1=1${g.sql}`:"";return f.push(...g.params,a),(0,d.x)().prepare(`SELECT ${i} FROM sessions s JOIN projects p ON p.id = s.project_id
43
+ ${h} ORDER BY s.started_at DESC LIMIT ?`).all(...f)}function z(a=30,b=6,c){return(0,h.n)(`getProjectBreakdown:${a}:${b}:${c??""}`,5e3,()=>(function(a,b,c){let e=null===a?0:Date.now()-864e5*a,f=E(c,"s");return(0,d.x)().prepare(`SELECT p.id, p.name, p.last_active,
43
44
  COUNT(s.id) AS sessions,
44
45
  COALESCE(SUM(s.input_tokens + s.output_tokens + s.cache_read_tokens + s.cache_write_tokens), 0) AS tokens,
45
46
  COALESCE(SUM(s.est_cost_usd), 0) AS cost
46
47
  FROM projects p JOIN sessions s ON s.project_id = p.id
47
- WHERE s.started_at >= ?
48
- GROUP BY p.id ORDER BY tokens DESC LIMIT ?`).all(c,b)})(a,b))}function z(a=30){return(0,h.n)(`getCategoryBreakdown:${a}`,5e3,()=>(function(a){let b=null===a?0:Date.now()-864e5*a,c=(0,d.x)().prepare(`SELECT category, categories,
48
+ WHERE s.started_at >= ?${f.sql}
49
+ GROUP BY p.id ORDER BY tokens DESC LIMIT ?`).all(e,...f.params,b)})(a,b,c??null))}function A(a=30,b,c){return(0,h.n)(`getCategoryBreakdown:${a}:${b??""}:${c??""}`,5e3,()=>(function(a,b,c){let e=null===a?0:Date.now()-864e5*a,f=b?" AND project_id = ?":"",h=E(c),i=(0,d.x)().prepare(`SELECT category, categories,
49
50
  (input_tokens + output_tokens + cache_read_tokens + cache_write_tokens) AS tokens
50
- FROM sessions WHERE started_at >= ?`).all(b),e=new Map;for(let a of c){let b=(0,g.L)(a);for(let c of b.length?b:["Unknown"]){let b=e.get(c)??{sessions:0,tokens:0};b.sessions+=1,b.tokens+=a.tokens,e.set(c,b)}}return[...e.entries()].map(([a,b])=>({category:a,...b})).sort((a,b)=>b.sessions-a.sessions)})(a))}function A(a=30){return(0,h.n)(`getRangeSummary:${a}`,5e3,()=>(function(a){let b=(0,d.x)(),c=Date.now(),e=null===a?0:c-864e5*a,f=null===a?0:e-864e5*a,g=b.prepare(`SELECT COUNT(*) AS sessions,
51
+ FROM sessions WHERE started_at >= ?${f}${h.sql}`).all(e,...b?[b]:[],...h.params),j=new Map;for(let a of i){let b=(0,g.LQ)(a);for(let c of b.length?b:["Unknown"]){let b=j.get(c)??{sessions:0,tokens:0};b.sessions+=1,b.tokens+=a.tokens,j.set(c,b)}}return[...j.entries()].map(([a,b])=>({category:a,...b})).sort((a,b)=>b.sessions-a.sessions)})(a,b??null,c??null))}function B(a=30,b,c){return(0,h.n)(`getRangeSummary:${a}:${b??""}:${c??""}`,5e3,()=>(function(a,b,c){let e=(0,d.x)(),f=Date.now(),g=null===a?0:f-864e5*a,h=null===a?0:g-864e5*a,i=b?" AND project_id = ?":"",j=b?[b]:[],k=E(c),l=e.prepare(`SELECT COUNT(*) AS sessions,
51
52
  COUNT(DISTINCT project_id) AS projects,
52
53
  COALESCE(SUM(input_tokens + output_tokens + cache_read_tokens + cache_write_tokens), 0) AS tokens,
53
54
  COALESCE(SUM(est_cost_usd), 0) AS cost,
54
55
  COUNT(DISTINCT strftime('%Y-%m', started_at/1000, 'unixepoch')) AS active_months
55
- FROM sessions WHERE started_at >= ?`).get(e);if(null===a)return{...g,sessions_prev:0,tokens_prev:0,cost_prev:0,active_months_prev:0};let h=b.prepare(`SELECT COUNT(*) AS sessions,
56
+ FROM sessions WHERE started_at >= ?${i}${k.sql}`).get(g,...j,...k.params);if(null===a)return{...l,sessions_prev:0,tokens_prev:0,cost_prev:0,active_months_prev:0};let m=e.prepare(`SELECT COUNT(*) AS sessions,
56
57
  COALESCE(SUM(input_tokens + output_tokens + cache_read_tokens + cache_write_tokens), 0) AS tokens,
57
58
  COALESCE(SUM(est_cost_usd), 0) AS cost,
58
59
  COUNT(DISTINCT strftime('%Y-%m', started_at/1000, 'unixepoch')) AS active_months
59
- FROM sessions WHERE started_at >= ? AND started_at < ?`).get(f,e);return{...g,sessions_prev:h.sessions,tokens_prev:h.tokens,cost_prev:h.cost,active_months_prev:h.active_months}})(a))}function B(a){let b=(0,d.x)().prepare("SELECT summary FROM day_summaries WHERE day = ?").get(a);return b?.summary??null}function C(a,b){(0,d.x)().prepare("INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)").run(a,b)}function D(a){let b=(0,d.x)().prepare("SELECT value FROM settings WHERE key = ?").get(a);return b?.value??null}},22446:(a,b,c)=>{c.d(b,{L:()=>w,x:()=>x});var d={};c.r(d),c.d(d,{daySummaries:()=>s,ingestState:()=>q,messages:()=>p,projectSummaries:()=>t,projects:()=>n,sessions:()=>o,settings:()=>r});var e=c(87550),f=c.n(e),g=c(65127),h=c(48211),i=c(95417),j=c(58040),k=c(20377),l=c(4035),m=c(19643);let n=(0,i.D)("projects",{id:(0,j.Qq)("id").primaryKey(),name:(0,j.Qq)("name").notNull(),rootPath:(0,j.Qq)("root_path").notNull(),gitRemote:(0,j.Qq)("git_remote"),firstSeen:(0,k.nd)("first_seen").notNull(),lastActive:(0,k.nd)("last_active").notNull()},a=>({rootIdx:(0,l.GL)("projects_root_idx").on(a.rootPath)})),o=(0,i.D)("sessions",{id:(0,j.Qq)("id").primaryKey(),provider:(0,j.Qq)("provider").notNull(),projectId:(0,j.Qq)("project_id").notNull(),cwd:(0,j.Qq)("cwd").notNull(),startedAt:(0,k.nd)("started_at").notNull(),endedAt:(0,k.nd)("ended_at").notNull(),durationMs:(0,k.nd)("duration_ms").notNull(),model:(0,j.Qq)("model"),messageCount:(0,k.nd)("message_count").notNull().default(0),userMessageCount:(0,k.nd)("user_message_count").notNull().default(0),inputTokens:(0,k.nd)("input_tokens").notNull().default(0),outputTokens:(0,k.nd)("output_tokens").notNull().default(0),cacheReadTokens:(0,k.nd)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,k.nd)("cache_write_tokens").notNull().default(0),estCostUsd:(0,m.x)("est_cost_usd").notNull().default(0),firstPrompt:(0,j.Qq)("first_prompt"),summary:(0,j.Qq)("summary"),summaryGenerated:(0,k.nd)("summary_generated").notNull().default(0),heuristicTitle:(0,j.Qq)("heuristic_title"),category:(0,j.Qq)("category"),keywords:(0,j.Qq)("keywords"),gitBranch:(0,j.Qq)("git_branch"),sourcePath:(0,j.Qq)("source_path").notNull()},a=>({projectIdx:(0,l.Pe)("sessions_project_idx").on(a.projectId),startedIdx:(0,l.Pe)("sessions_started_idx").on(a.startedAt),providerIdx:(0,l.Pe)("sessions_provider_idx").on(a.provider),modelIdx:(0,l.Pe)("sessions_model_idx").on(a.model)})),p=(0,i.D)("messages",{id:(0,j.Qq)("id").primaryKey(),sessionId:(0,j.Qq)("session_id").notNull(),role:(0,j.Qq)("role").notNull(),content:(0,j.Qq)("content").notNull(),timestamp:(0,k.nd)("timestamp").notNull(),model:(0,j.Qq)("model")},a=>({sessionIdx:(0,l.Pe)("messages_session_idx").on(a.sessionId),timestampIdx:(0,l.Pe)("messages_timestamp_idx").on(a.timestamp)})),q=(0,i.D)("ingest_state",{sourcePath:(0,j.Qq)("source_path").primaryKey(),mtime:(0,k.nd)("mtime").notNull(),size:(0,k.nd)("size").notNull(),sessionId:(0,j.Qq)("session_id").notNull(),ingestedAt:(0,k.nd)("ingested_at").notNull()}),r=(0,i.D)("settings",{key:(0,j.Qq)("key").primaryKey(),value:(0,j.Qq)("value").notNull()}),s=(0,i.D)("day_summaries",{day:(0,j.Qq)("day").primaryKey(),summary:(0,j.Qq)("summary").notNull(),generatedAt:(0,k.nd)("generated_at").notNull()}),t=(0,i.D)("project_summaries",{projectId:(0,j.Qq)("project_id").primaryKey(),summary:(0,j.Qq)("summary").notNull(),generatedAt:(0,k.nd)("generated_at").notNull()}),u=null,v=null;function w(){return u||((v=new(f())((0,h.W)())).pragma("journal_mode = WAL"),v.pragma("synchronous = NORMAL"),function(a){a.exec(`
60
+ FROM sessions WHERE started_at >= ? AND started_at < ?${i}${k.sql}`).get(h,g,...j,...k.params);return{...l,sessions_prev:m.sessions,tokens_prev:m.tokens,cost_prev:m.cost,active_months_prev:m.active_months}})(a,b??null,c??null))}function C(a){let b=(0,d.x)().prepare("SELECT summary FROM day_summaries WHERE day = ?").get(a);return b?.summary??null}function D(){return(0,h.n)("getModelFamilies",5e3,()=>(function(){let a=(0,d.x)().prepare(`SELECT COALESCE(model, 'unknown') AS model, COUNT(*) AS sessions
61
+ FROM sessions GROUP BY model`).all(),b=new Map;for(let c of a){let a=(0,f.gW)(c.model);b.set(a,(b.get(a)||0)+c.sessions)}return[...b.entries()].map(([a,b])=>({family:a,sessions:b})).sort((a,b)=>b.sessions-a.sessions)})())}function E(a,b=""){if(!a)return{sql:"",params:[]};let c=(0,d.x)().prepare("SELECT DISTINCT model FROM sessions WHERE model IS NOT NULL").all().filter(b=>(0,f.gW)(b.model)===a).map(a=>a.model);if(0===c.length)return{sql:" AND 1=0",params:[]};let e=c.map(()=>"?").join(","),g=b?`${b}.model`:"model";return{sql:` AND ${g} IN (${e})`,params:c}}function F(){return(0,d.x)().prepare(`SELECT COUNT(*) AS n FROM sessions
62
+ WHERE category IS NULL AND first_prompt IS NOT NULL AND length(first_prompt) > 0`).get().n}function G(a,b){(0,d.x)().prepare("INSERT OR REPLACE INTO settings (key, value) VALUES (?, ?)").run(a,b)}function H(a){let b=(0,d.x)().prepare("SELECT value FROM settings WHERE key = ?").get(a);return b?.value??null}},22446:(a,b,c)=>{c.d(b,{L:()=>w,x:()=>x});var d={};c.r(d),c.d(d,{daySummaries:()=>s,ingestState:()=>q,messages:()=>p,projectSummaries:()=>t,projects:()=>n,sessions:()=>o,settings:()=>r});var e=c(87550),f=c.n(e),g=c(65127),h=c(48211),i=c(95417),j=c(58040),k=c(20377),l=c(4035),m=c(19643);let n=(0,i.D)("projects",{id:(0,j.Qq)("id").primaryKey(),name:(0,j.Qq)("name").notNull(),rootPath:(0,j.Qq)("root_path").notNull(),gitRemote:(0,j.Qq)("git_remote"),firstSeen:(0,k.nd)("first_seen").notNull(),lastActive:(0,k.nd)("last_active").notNull()},a=>({rootIdx:(0,l.GL)("projects_root_idx").on(a.rootPath)})),o=(0,i.D)("sessions",{id:(0,j.Qq)("id").primaryKey(),provider:(0,j.Qq)("provider").notNull(),projectId:(0,j.Qq)("project_id").notNull(),cwd:(0,j.Qq)("cwd").notNull(),startedAt:(0,k.nd)("started_at").notNull(),endedAt:(0,k.nd)("ended_at").notNull(),durationMs:(0,k.nd)("duration_ms").notNull(),model:(0,j.Qq)("model"),messageCount:(0,k.nd)("message_count").notNull().default(0),userMessageCount:(0,k.nd)("user_message_count").notNull().default(0),inputTokens:(0,k.nd)("input_tokens").notNull().default(0),outputTokens:(0,k.nd)("output_tokens").notNull().default(0),cacheReadTokens:(0,k.nd)("cache_read_tokens").notNull().default(0),cacheWriteTokens:(0,k.nd)("cache_write_tokens").notNull().default(0),estCostUsd:(0,m.x)("est_cost_usd").notNull().default(0),firstPrompt:(0,j.Qq)("first_prompt"),summary:(0,j.Qq)("summary"),summaryGenerated:(0,k.nd)("summary_generated").notNull().default(0),heuristicTitle:(0,j.Qq)("heuristic_title"),category:(0,j.Qq)("category"),keywords:(0,j.Qq)("keywords"),gitBranch:(0,j.Qq)("git_branch"),sourcePath:(0,j.Qq)("source_path").notNull()},a=>({projectIdx:(0,l.Pe)("sessions_project_idx").on(a.projectId),startedIdx:(0,l.Pe)("sessions_started_idx").on(a.startedAt),providerIdx:(0,l.Pe)("sessions_provider_idx").on(a.provider),modelIdx:(0,l.Pe)("sessions_model_idx").on(a.model)})),p=(0,i.D)("messages",{id:(0,j.Qq)("id").primaryKey(),sessionId:(0,j.Qq)("session_id").notNull(),role:(0,j.Qq)("role").notNull(),content:(0,j.Qq)("content").notNull(),timestamp:(0,k.nd)("timestamp").notNull(),model:(0,j.Qq)("model")},a=>({sessionIdx:(0,l.Pe)("messages_session_idx").on(a.sessionId),timestampIdx:(0,l.Pe)("messages_timestamp_idx").on(a.timestamp)})),q=(0,i.D)("ingest_state",{sourcePath:(0,j.Qq)("source_path").primaryKey(),mtime:(0,k.nd)("mtime").notNull(),size:(0,k.nd)("size").notNull(),sessionId:(0,j.Qq)("session_id").notNull(),ingestedAt:(0,k.nd)("ingested_at").notNull()}),r=(0,i.D)("settings",{key:(0,j.Qq)("key").primaryKey(),value:(0,j.Qq)("value").notNull()}),s=(0,i.D)("day_summaries",{day:(0,j.Qq)("day").primaryKey(),summary:(0,j.Qq)("summary").notNull(),generatedAt:(0,k.nd)("generated_at").notNull()}),t=(0,i.D)("project_summaries",{projectId:(0,j.Qq)("project_id").primaryKey(),summary:(0,j.Qq)("summary").notNull(),generatedAt:(0,k.nd)("generated_at").notNull()}),u=null,v=null;function w(){return u||((v=new(f())((0,h.W)())).pragma("journal_mode = WAL"),v.pragma("synchronous = NORMAL"),function(a){a.exec(`
60
63
  CREATE TABLE IF NOT EXISTS projects (
61
64
  id TEXT PRIMARY KEY,
62
65
  name TEXT NOT NULL,
@@ -164,4 +167,4 @@
164
167
  CREATE INDEX IF NOT EXISTS claude_limit_events_session_idx ON claude_limit_events(session_id);
165
168
  `);let b=new Set(a.prepare("PRAGMA table_info(sessions)").all().map(a=>a.name));b.has("heuristic_title")||a.exec("ALTER TABLE sessions ADD COLUMN heuristic_title TEXT"),b.has("category")||a.exec("ALTER TABLE sessions ADD COLUMN category TEXT"),b.has("keywords")||a.exec("ALTER TABLE sessions ADD COLUMN keywords TEXT"),a.exec("CREATE INDEX IF NOT EXISTS sessions_category_idx ON sessions(category)"),b.has("categories")||(a.exec("ALTER TABLE sessions ADD COLUMN categories TEXT"),a.exec(`UPDATE sessions
166
169
  SET categories = json_array(category)
167
- WHERE category IS NOT NULL AND categories IS NULL`))}(v),u=(0,g.f)(v,{schema:d}))}function x(){return v||w(),v}},25742:(a,b,c)=>{c.d(b,{e:()=>f,n:()=>e});let d=new Map;function e(a,b,c){let e=d.get(a),f=Date.now();if(e&&e.expires>f)return e.value;let g=c();if(d.set(a,{value:g,expires:f+b}),d.size>64)for(let[a,b]of d)b.expires<=f&&d.delete(a);return g}function f(){d.clear()}},46145:(a,b,c)=>{function d(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}k`:a.toString()}function e(a){return a>=1e3?`$${a.toFixed(0)}`:`$${a.toFixed(2)}`}function f(a){let b=Math.floor((Date.now()-a)/6e4);if(b<1)return"just now";if(b<60)return`${b}m ago`;let c=Math.floor(b/60);if(c<24)return`${c}h ago`;let d=Math.floor(c/24);if(d<30)return`${d}d ago`;let e=Math.floor(d/30);return`${e}mo ago`}function g(a){return new Date(a).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1})}function h(a){let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60);if(c<60)return`${c}m`;let d=Math.floor(c/60);return`${d}h ${c%60}m`}function i(a){return new Date(a).toLocaleDateString(void 0,{weekday:"long",month:"long",day:"numeric"})}function j(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}c.d(b,{EL:()=>j,F0:()=>e,I_:()=>i,Kc:()=>f,ME:()=>g,c5:()=>h,yj:()=>d})},48211:(a,b,c)=>{c.d(b,{K:()=>g,W:()=>h});var d=c(48161),e=c(76760),f=c(73024);function g(){let a=process.env.AGENTGRAPHED_DATA_DIR||(0,e.join)((0,d.homedir)(),".agentgraphed");return(0,f.existsSync)(a)||(0,f.mkdirSync)(a,{recursive:!0}),a}function h(){return(0,e.join)(g(),"agentgraphed.sqlite")}},76846:(a,b,c)=>{let d;c.d(b,{QJ:()=>j,a3:()=>l,gW:()=>m});var e=c(73024),f=c(76760);c(73136);let g={input:3,output:15},h={"claude-opus-4-7":{input:5,output:25,cacheRead:.5,cacheWrite:6.25},"claude-opus-4-6":{input:5,output:25,cacheRead:.5,cacheWrite:6.25},"claude-opus-4-5":{input:5,output:25,cacheRead:.5,cacheWrite:6.25},"claude-opus-4":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-6":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4-5":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5":{input:1,output:5,cacheRead:.1,cacheWrite:1.25},"claude-3-5-sonnet":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"gpt-5.1":{input:1.25,output:10,cacheRead:.125},"gpt-5":{input:1.25,output:10,cacheRead:.125},"gpt-5-mini":{input:.25,output:2,cacheRead:.025},"gpt-4o":{input:2.5,output:10},"gpt-4o-mini":{input:.15,output:.6}},i=null,j=function(){let a=function(){if(void 0!==d)return d;try{let a=__dirname,b=(0,f.join)(a,"pricing-data","litellm.meta.json");d=(0,e.existsSync)(b)?JSON.parse((0,e.readFileSync)(b,"utf8")):null}catch{d=null}return d}();return a?.fetchedAt?a.fetchedAt.slice(0,10):"2026-06-05"}();function k(a){let b=a.input_cost_per_token,c=a.output_cost_per_token;return null==b||null==c?null:{input:1e6*b,output:1e6*c,cacheRead:null!=a.cache_read_input_token_cost?1e6*a.cache_read_input_token_cost:void 0,cacheWrite:null!=a.cache_creation_input_token_cost?1e6*a.cache_creation_input_token_cost:void 0}}function l(a){let b=function(a){if(!a)return g;let b=null!==i?i:i=function(){try{let a=__dirname;for(let b of[(0,f.join)(a,"pricing-data","litellm.json"),(0,f.join)(process.cwd(),"src","lib","pricing-data","litellm.json")])if((0,e.existsSync)(b))return JSON.parse((0,e.readFileSync)(b,"utf8"))}catch{}return{}}(),c=b[a];if(c){let a=k(c);if(a)return a}let d=a.replace(/-(\d{8})$/,"");if(d!==a&&b[d]){let a=k(b[d]);if(a)return a}if(h[a])return h[a];let j=Object.keys(h).find(b=>a.startsWith(b));if(j)return h[j];let l=Object.keys(b).find(b=>a.startsWith(b));if(l){let a=k(b[l]);if(a)return a}return g}(a.model),c=a.cacheReadTokens??0,d=a.cacheWriteTokens??0;return a.inputTokens*b.input/1e6+a.outputTokens*b.output/1e6+c*(b.cacheRead??b.input)/1e6+d*(b.cacheWrite??b.input)/1e6}function m(a){if(!a)return"Unknown";let b=a.toLowerCase(),c=b.match(/^claude-(?:(\d+(?:-\d+)?)-)?(opus|sonnet|haiku)-?(\d+)?/);if(c){let a=c[2].charAt(0).toUpperCase()+c[2].slice(1);if(c[1]){let b=c[1].replace("-",".");return`Claude ${a} ${b}`}return c[3]?`Claude ${a} ${c[3]}`:`Claude ${a}`}if(b.startsWith("gpt-4o"))return b.includes("mini")?"GPT-4o Mini":"GPT-4o";let d=b.match(/^gpt-(\d+(?:\.\d+)?)(?:-(mini|nano|turbo))?/);if(d){let a=`GPT-${d[1]}`;return d[2]?`${a} ${d[2].charAt(0).toUpperCase()+d[2].slice(1)}`:a}return a}},97064:(a,b,c)=>{function d(a){if(a.categories)try{let b=JSON.parse(a.categories);if(Array.isArray(b))return b.filter(a=>"string"==typeof a)}catch{}return a.category?[a.category]:[]}function e(a){if(a.summary)return a.summary.split("\n")[0].trim();if(a.heuristic_title)return a.heuristic_title;if(a.first_prompt){let b=(a.first_prompt.trim().split("\n").find(a=>a.trim().length>0)??"").replace(/\s+/g," ").trim();if(b.length<=100)return b;let c=b.lastIndexOf(" ",100);return(c>60?b.slice(0,c):b.slice(0,100))+"…"}return"(untitled session)"}c.d(b,{L:()=>d,x:()=>e})}};
170
+ WHERE category IS NOT NULL AND categories IS NULL`))}(v),u=(0,g.f)(v,{schema:d}))}function x(){return v||w(),v}},25742:(a,b,c)=>{c.d(b,{e:()=>f,n:()=>e});let d=new Map;function e(a,b,c){let e=d.get(a),f=Date.now();if(e&&e.expires>f)return e.value;let g=c();if(d.set(a,{value:g,expires:f+b}),d.size>64)for(let[a,b]of d)b.expires<=f&&d.delete(a);return g}function f(){d.clear()}},46145:(a,b,c)=>{function d(a){return a>=1e6?`${(a/1e6).toFixed(1)}M`:a>=1e3?`${(a/1e3).toFixed(1)}k`:a.toString()}function e(a){return a>=1e3?`$${a.toFixed(0)}`:`$${a.toFixed(2)}`}function f(a){let b=Math.floor((Date.now()-a)/6e4);if(b<1)return"just now";if(b<60)return`${b}m ago`;let c=Math.floor(b/60);if(c<24)return`${c}h ago`;let d=Math.floor(c/24);if(d<30)return`${d}d ago`;let e=Math.floor(d/30);return`${e}mo ago`}function g(a){return new Date(a).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1})}function h(a){let b=Math.floor(a/1e3);if(b<60)return`${b}s`;let c=Math.floor(b/60);if(c<60)return`${c}m`;let d=Math.floor(c/60);return`${d}h ${c%60}m`}function i(a){return new Date(a).toLocaleDateString(void 0,{weekday:"long",month:"long",day:"numeric"})}function j(a){let b=new Date(a),c=b.getFullYear(),d=String(b.getMonth()+1).padStart(2,"0"),e=String(b.getDate()).padStart(2,"0");return`${c}-${d}-${e}`}c.d(b,{EL:()=>j,F0:()=>e,I_:()=>i,Kc:()=>f,ME:()=>g,c5:()=>h,yj:()=>d})},48211:(a,b,c)=>{c.d(b,{K:()=>g,W:()=>h});var d=c(48161),e=c(76760),f=c(73024);function g(){let a=process.env.AGENTGRAPHED_DATA_DIR||(0,e.join)((0,d.homedir)(),".agentgraphed");return(0,f.existsSync)(a)||(0,f.mkdirSync)(a,{recursive:!0}),a}function h(){return(0,e.join)(g(),"agentgraphed.sqlite")}},76846:(a,b,c)=>{let d;c.d(b,{QJ:()=>j,a3:()=>l,gW:()=>m});var e=c(73024),f=c(76760);c(73136);let g={input:3,output:15},h={"claude-opus-4-7":{input:5,output:25,cacheRead:.5,cacheWrite:6.25},"claude-opus-4-6":{input:5,output:25,cacheRead:.5,cacheWrite:6.25},"claude-opus-4-5":{input:5,output:25,cacheRead:.5,cacheWrite:6.25},"claude-opus-4":{input:15,output:75,cacheRead:1.5,cacheWrite:18.75},"claude-sonnet-4-6":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-sonnet-4-5":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"claude-haiku-4-5":{input:1,output:5,cacheRead:.1,cacheWrite:1.25},"claude-3-5-sonnet":{input:3,output:15,cacheRead:.3,cacheWrite:3.75},"gpt-5.1":{input:1.25,output:10,cacheRead:.125},"gpt-5":{input:1.25,output:10,cacheRead:.125},"gpt-5-mini":{input:.25,output:2,cacheRead:.025},"gpt-4o":{input:2.5,output:10},"gpt-4o-mini":{input:.15,output:.6}},i=null,j=function(){let a=function(){if(void 0!==d)return d;try{let a=__dirname,b=(0,f.join)(a,"pricing-data","litellm.meta.json");d=(0,e.existsSync)(b)?JSON.parse((0,e.readFileSync)(b,"utf8")):null}catch{d=null}return d}();return a?.fetchedAt?a.fetchedAt.slice(0,10):"2026-06-05"}();function k(a){let b=a.input_cost_per_token,c=a.output_cost_per_token;return null==b||null==c?null:{input:1e6*b,output:1e6*c,cacheRead:null!=a.cache_read_input_token_cost?1e6*a.cache_read_input_token_cost:void 0,cacheWrite:null!=a.cache_creation_input_token_cost?1e6*a.cache_creation_input_token_cost:void 0}}function l(a){let b=function(a){if(!a)return g;let b=null!==i?i:i=function(){try{let a=__dirname;for(let b of[(0,f.join)(a,"pricing-data","litellm.json"),(0,f.join)(process.cwd(),"src","lib","pricing-data","litellm.json")])if((0,e.existsSync)(b))return JSON.parse((0,e.readFileSync)(b,"utf8"))}catch{}return{}}(),c=b[a];if(c){let a=k(c);if(a)return a}let d=a.replace(/-(\d{8})$/,"");if(d!==a&&b[d]){let a=k(b[d]);if(a)return a}if(h[a])return h[a];let j=Object.keys(h).find(b=>a.startsWith(b));if(j)return h[j];let l=Object.keys(b).find(b=>a.startsWith(b));if(l){let a=k(b[l]);if(a)return a}return g}(a.model),c=a.cacheReadTokens??0,d=a.cacheWriteTokens??0;return a.inputTokens*b.input/1e6+a.outputTokens*b.output/1e6+c*(b.cacheRead??b.input)/1e6+d*(b.cacheWrite??b.input)/1e6}function m(a){if(!a)return"Unknown";let b=a.toLowerCase(),c=b.match(/^claude-(?:(\d+(?:-\d+)?)-)?(opus|sonnet|haiku)-?(\d+)?/);if(c){let a=c[2].charAt(0).toUpperCase()+c[2].slice(1);if(c[1]){let b=c[1].replace("-",".");return`Claude ${a} ${b}`}return c[3]?`Claude ${a} ${c[3]}`:`Claude ${a}`}if(b.startsWith("gpt-4o"))return b.includes("mini")?"GPT-4o Mini":"GPT-4o";let d=b.match(/^gpt-(\d+(?:\.\d+)?)(?:-(mini|nano|turbo))?/);if(d){let a=`GPT-${d[1]}`;return d[2]?`${a} ${d[2].charAt(0).toUpperCase()+d[2].slice(1)}`:a}return a}},97064:(a,b,c)=>{function d(a){if(a.categories)try{let b=JSON.parse(a.categories);if(Array.isArray(b))return b.filter(a=>"string"==typeof a)}catch{}return a.category?[a.category]:[]}function e(a){return a.summary?a.summary.split("\n")[0].trim():a.heuristic_title?a.heuristic_title:a.first_prompt?function(a){let b=a.trim(),c=(b=(b=(b=(b=(b=(b=(b=b.replace(/<[^>]+>/g," ")).replace(/^\/[a-z][a-z0-9-]*(\s|$)/i,"")).replace(/```[a-z]*\n?/gi," ").replace(/```/g," ").replace(/`/g,"")).replace(/\[([^\]]+)\]\([^)]*\)/g,"$1")).replace(/https?:\/\/\S+/g,"")).replace(/(^|\s)(\/|~\/)[\w./~-]+/g," ")).replace(/\s+/g," ").trim()).search(/[.!?](\s|$)/);if(c>8&&c<90&&(b=b.slice(0,c).trim()),0===b.length)return"(untitled session)";if((b=b.charAt(0).toUpperCase()+b.slice(1)).length<=90)return b;let d=b.lastIndexOf(" ",90);return(d>50?b.slice(0,d):b.slice(0,90))+"…"}(a.first_prompt):"(untitled session)"}c.d(b,{LQ:()=>d,xU:()=>e})}};