@runtimescope/collector 0.10.11 → 0.10.13

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 (63) hide show
  1. package/dist/dashboard-assets/assets/{api-map-page-DHlcR_sh.js → api-map-page-Btbazs5z.js} +1 -1
  2. package/dist/dashboard-assets/assets/{badge-BGgXl2qy.js → badge-BOfEUuSW.js} +1 -1
  3. package/dist/dashboard-assets/assets/{breadcrumbs-page-BK-FB2nG.js → breadcrumbs-page-ahYuYyrd.js} +1 -1
  4. package/dist/dashboard-assets/assets/{capex-page-BVJ3T1W4.js → capex-page-H_aV7VU6.js} +1 -1
  5. package/dist/dashboard-assets/assets/{chevron-right-D0z93_PM.js → chevron-right-Df1qu9CE.js} +1 -1
  6. package/dist/dashboard-assets/assets/{circle-check-big-DMEGTtSI.js → circle-check-big-Dd6W5_do.js} +1 -1
  7. package/dist/dashboard-assets/assets/{clock-BZReVxQC.js → clock-CmDPWLyG.js} +1 -1
  8. package/dist/dashboard-assets/assets/{code-block-BfLeZt-6.js → code-block-D47Pz1qB.js} +1 -1
  9. package/dist/dashboard-assets/assets/{console-page-DMgLtlCk.js → console-page-B3sYOQK9.js} +1 -1
  10. package/dist/dashboard-assets/assets/{data-table-CxVXG3zy.js → data-table-A2Iq_hk5.js} +1 -1
  11. package/dist/dashboard-assets/assets/{database-page-BmpNk_GJ.js → database-page-DYOGNtgK.js} +1 -1
  12. package/dist/dashboard-assets/assets/{detail-panel-CxidKK1j.js → detail-panel-YWSVnqP_.js} +1 -1
  13. package/dist/dashboard-assets/assets/{dollar-sign-DqZoTS1i.js → dollar-sign-BDj484XE.js} +1 -1
  14. package/dist/dashboard-assets/assets/{download-OeUZzFM9.js → download-CwvkYJyJ.js} +1 -1
  15. package/dist/dashboard-assets/assets/{empty-config-state-BRw-Dnk-.js → empty-config-state-ReVUjdJ_.js} +1 -1
  16. package/dist/dashboard-assets/assets/{events-page-Bhde5vnj.js → events-page-d6_fhDSn.js} +1 -1
  17. package/dist/dashboard-assets/assets/{export-button-BioZ3ot5.js → export-button-D7y2ugNf.js} +1 -1
  18. package/dist/dashboard-assets/assets/{file-text-CTqS_5sj.js → file-text-h8kcLd2l.js} +1 -1
  19. package/dist/dashboard-assets/assets/{filter-bar-CCwrTxz_.js → filter-bar-CP39inkf.js} +1 -1
  20. package/dist/dashboard-assets/assets/{folder-open-g1ZHHoW-.js → folder-open-D-HQTMMw.js} +1 -1
  21. package/dist/dashboard-assets/assets/{git-page-drqH-ymG.js → git-page-5wVisusM.js} +1 -1
  22. package/dist/dashboard-assets/assets/{hard-drive-DVtZVR9y.js → hard-drive-D8jrlixH.js} +1 -1
  23. package/dist/dashboard-assets/assets/{home-page-Bro6iPXa.js → home-page-lMWZHIMB.js} +1 -1
  24. package/dist/dashboard-assets/assets/{index-DgQg-mjd.js → index-CUDottTv.js} +3 -3
  25. package/dist/dashboard-assets/assets/{info-aicvFsRA.js → info-C0v7mgTM.js} +1 -1
  26. package/dist/dashboard-assets/assets/{infra-page-CXFCwaut.js → infra-page-Cwb8--Fc.js} +1 -1
  27. package/dist/dashboard-assets/assets/{issues-page-207U1dk-.js → issues-page-8abUxnvT.js} +1 -1
  28. package/dist/dashboard-assets/assets/{json-viewer-CtsL_JTK.js → json-viewer-Dup5M0px.js} +1 -1
  29. package/dist/dashboard-assets/assets/{kitchen-sink-BN8WXBVu.js → kitchen-sink-DmOR6KnI.js} +1 -1
  30. package/dist/dashboard-assets/assets/{memory-page-xoARxvSA.js → memory-page-CnpiwsEL.js} +1 -1
  31. package/dist/dashboard-assets/assets/{message-square-DY6473o6.js → message-square-Dwj0jRjI.js} +1 -1
  32. package/dist/dashboard-assets/assets/{metric-card-BDGLEpmZ.js → metric-card-DE3zVnFg.js} +1 -1
  33. package/dist/dashboard-assets/assets/{minus-CepSrXzu.js → minus-BzY257S7.js} +1 -1
  34. package/dist/dashboard-assets/assets/{network-page-CCASVWTx.js → network-page-CiQu5Dem.js} +1 -1
  35. package/dist/dashboard-assets/assets/{notes-page-Bw8s5HXO.js → notes-page-XazIKqZP.js} +1 -1
  36. package/dist/dashboard-assets/assets/{overview-page-If7s1dBy.js → overview-page-j5X9SBqW.js} +1 -1
  37. package/dist/dashboard-assets/assets/{performance-page-Ch3umaz-.js → performance-page-ImE9xvEt.js} +1 -1
  38. package/dist/dashboard-assets/assets/{play-DSlXvNRl.js → play-Cx2BEZVZ.js} +1 -1
  39. package/dist/dashboard-assets/assets/{processes-page-C2RwU22t.js → processes-page-BIMoApg0.js} +1 -1
  40. package/dist/dashboard-assets/assets/{project-view-CFMjSV9u.js → project-view-DnnhNMhS.js} +3 -3
  41. package/dist/dashboard-assets/assets/{renders-page-Ca4xJRtx.js → renders-page-C9THhZZ3.js} +1 -1
  42. package/dist/dashboard-assets/assets/{rules-page-Iam5wymd.js → rules-page-CBgSauuM.js} +1 -1
  43. package/dist/dashboard-assets/assets/{runtime-page-DEbhzxha.js → runtime-page-B7b2m1KH.js} +1 -1
  44. package/dist/dashboard-assets/assets/{save-CCeVXlI4.js → save-BGeL2PJM.js} +1 -1
  45. package/dist/dashboard-assets/assets/{sdk-page-BoPzW-t_.js → sdk-page-C2D4FU-Y.js} +1 -1
  46. package/dist/dashboard-assets/assets/{sessions-page-DSve7fIB.js → sessions-page-BYNnSmUH.js} +1 -1
  47. package/dist/dashboard-assets/assets/{sessions-page-CIPs23pt.js → sessions-page-VWQ2b-LR.js} +1 -1
  48. package/dist/dashboard-assets/assets/{settings-page-DuzVTOPn.js → settings-page-B2geIpMf.js} +1 -1
  49. package/dist/dashboard-assets/assets/{sparkline-DoDs4Mh8.js → sparkline-BYGr_Iny.js} +1 -1
  50. package/dist/dashboard-assets/assets/{square-DiX9jH4C.js → square-C1plLKPb.js} +1 -1
  51. package/dist/dashboard-assets/assets/{state-page-CqiOtZuw.js → state-page-CQDLPZ5t.js} +1 -1
  52. package/dist/dashboard-assets/assets/{status-dot-C-xjt4D6.js → status-dot-C1nxHZIG.js} +1 -1
  53. package/dist/dashboard-assets/assets/{tabs-yqhh6iCp.js → tabs-BoJRkfaU.js} +1 -1
  54. package/dist/dashboard-assets/assets/{tag-4Cn073OD.js → tag-Czqgl1tA.js} +1 -1
  55. package/dist/dashboard-assets/assets/{tasks-page-erlKdBtX.js → tasks-page-sjVxAPDG.js} +1 -1
  56. package/dist/dashboard-assets/assets/{textarea-BROdxV-a.js → textarea-DAwdLdON.js} +1 -1
  57. package/dist/dashboard-assets/assets/{topbar-DJt5eMx5.js → topbar-892TvyNb.js} +1 -1
  58. package/dist/dashboard-assets/assets/{trash-2-rsBJ0FiG.js → trash-2-C4Tvwfqn.js} +1 -1
  59. package/dist/dashboard-assets/assets/{use-connected-c8-oDf2s.js → use-connected-3Ljk-Uwv.js} +1 -1
  60. package/dist/dashboard-assets/assets/{wifi-omZdmnyZ.js → wifi-B9CHDUUG.js} +1 -1
  61. package/dist/dashboard-assets/assets/{zap-BaSm59wW.js → zap-D8s7B8fi.js} +1 -1
  62. package/dist/dashboard-assets/index.html +1 -1
  63. package/package.json +1 -1
@@ -1 +1 @@
1
- import{r as u,q as C,j as a}from"./index-DgQg-mjd.js";import{T as j}from"./topbar-DJt5eMx5.js";import{B as p}from"./badge-BGgXl2qy.js";import"./textarea-BROdxV-a.js";import{D as y}from"./data-table-CxVXG3zy.js";import{D as N}from"./detail-panel-CxidKK1j.js";import{S as P}from"./status-dot-C-xjt4D6.js";import{u as $}from"./use-connected-c8-oDf2s.js";import{f as m}from"./format-CF_gowqw.js";const z=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,k=/^\d+$/,S=/^[0-9a-f]{24}$/i;function w(e){return z.test(e)||k.test(e)||S.test(e)?":id":e}function E(e){try{const l=new URL(e),n=l.pathname.split("/").filter(Boolean).map(w);return{baseUrl:l.origin,normalizedPath:"/"+n.join("/")}}catch{return{baseUrl:"unknown",normalizedPath:e}}}const v=[[/\.supabase\.co$/,"Supabase"],[/\.workers\.dev$/,"Cloudflare Workers"],[/\.vercel\.app$/,"Vercel"],[/api\.stripe\.com$/,"Stripe"],[/\.railway\.app$/,"Railway"],[/api\.github\.com$/,"GitHub API"],[/api\.openai\.com$/,"OpenAI"],[/api\.anthropic\.com$/,"Anthropic"],[/\.firebase(io|app)\.com$/,"Firebase"],[/\.amazonaws\.com$/,"AWS"],[/\.googleapis\.com$/,"Google APIs"],[/^(localhost|127\.0\.0\.1)$/,"Your API"]];function R(e){for(const[n,r]of v)if(n.test(e))return r;const l=e.split(".");return l.length>=2?l.slice(-2).join("."):e}function U(e){const l=e.authorization||e.Authorization;if(l)return l.startsWith("Bearer ")?{type:"bearer",headerName:"Authorization"}:l.startsWith("Basic ")?{type:"basic",headerName:"Authorization"}:{type:"api_key",headerName:"Authorization"};for(const n of Object.keys(e))if(n.toLowerCase().includes("api-key")||n.toLowerCase()==="x-api-key")return{type:"api_key",headerName:n};return e.cookie||e.Cookie?{type:"cookie"}:{type:"none"}}function f(e,l){if(e.length===0)return 0;const n=Math.ceil(e.length*(l/100))-1;return e[Math.max(0,n)]}function x(e){const l=new Map;for(const n of e){const{baseUrl:r,normalizedPath:t}=E(n.url);let s;try{s=new URL(n.url).hostname}catch{s="unknown"}const d=`${n.method.toUpperCase()} ${r}${t}`,c=l.get(d);c?c.events.push(n):l.set(d,{normalizedPath:t,method:n.method.toUpperCase(),baseUrl:r,service:R(s),events:[n],auth:U(n.requestHeaders),graphqlOperation:n.graphqlOperation})}return l}function L(e){const l=x(e),n=[];for(const r of l.values()){const t=r.events.map(s=>s.timestamp);n.push({normalizedPath:r.normalizedPath,method:r.method,baseUrl:r.baseUrl,service:r.service,callCount:r.events.length,firstSeen:Math.min(...t),lastSeen:Math.max(...t),auth:r.auth,graphqlOperation:r.graphqlOperation})}return n.sort((r,t)=>t.callCount-r.callCount)}function A(e){const l=x(e),n=[];for(const r of l.values()){const t=r.events.map(c=>c.duration).sort((c,i)=>c-i),s=r.events.filter(c=>c.status>=400).length,d={};for(const c of r.events)c.status>=400&&(d[c.status]=(d[c.status]??0)+1);n.push({normalizedPath:r.normalizedPath,method:r.method,service:r.service,callCount:r.events.length,successRate:(r.events.length-s)/r.events.length,avgLatency:t.reduce((c,i)=>c+i,0)/t.length,p50Latency:f(t,50),p95Latency:f(t,95),errorRate:s/r.events.length,errorCodes:d})}return n.sort((r,t)=>t.callCount-r.callCount)}function D(e){const l=x(e),n=new Map;for(const t of l.values()){const s=n.get(t.service);if(s)s.endpoints.add(`${t.method} ${t.normalizedPath}`),s.totalCalls+=t.events.length,s.totalDuration+=t.events.reduce((d,c)=>d+c.duration,0),s.errorCount+=t.events.filter(d=>d.status>=400).length;else{let d;try{const c=new URL(t.baseUrl).hostname;for(const[i,h]of v)if(i.test(c)){d=h;break}}catch{}n.set(t.service,{baseUrl:t.baseUrl,endpoints:new Set([`${t.method} ${t.normalizedPath}`]),totalCalls:t.events.length,totalDuration:t.events.reduce((c,i)=>c+i.duration,0),errorCount:t.events.filter(c=>c.status>=400).length,auth:t.auth,platform:d})}}const r=[];for(const[t,s]of n)r.push({name:t,baseUrl:s.baseUrl,endpointCount:s.endpoints.size,totalCalls:s.totalCalls,avgLatency:s.totalCalls>0?s.totalDuration/s.totalCalls:0,errorRate:s.totalCalls>0?s.errorCount/s.totalCalls:0,auth:s.auth,detectedPlatform:s.platform});return r.sort((t,s)=>s.totalCalls-t.totalCalls)}const M={GET:"green",POST:"purple",PUT:"amber",DELETE:"red",PATCH:"orange"},O=[{key:"method",header:"Method",width:"90px",render:e=>a.jsx(p,{variant:M[e.method]||"default",size:"sm",children:e.method})},{key:"normalizedPath",header:"Path",render:e=>a.jsx("span",{className:"font-mono text-[13px]",children:e.normalizedPath})},{key:"service",header:"Service",width:"140px",render:e=>a.jsx("span",{className:"text-text-secondary",children:e.service})},{key:"callCount",header:"Calls",width:"80px",render:e=>a.jsx("span",{className:"tabular-nums",children:e.callCount})},{key:"auth",header:"Auth",width:"80px",render:e=>{var n;const l=((n=e.auth)==null?void 0:n.type)||"none";return a.jsx(p,{variant:l==="none"?"default":"green",size:"sm",children:l})}}];function V(){const[e,l]=u.useState("endpoints"),[n,r]=u.useState(null);$();const t=C(o=>o.network),s=u.useMemo(()=>t.length===0?[]:L(t),[t]),d=u.useMemo(()=>t.length===0?[]:A(t),[t]),c=u.useMemo(()=>t.length===0?[]:D(t),[t]),i=n?d.find(o=>`${o.method} ${o.normalizedPath}`===n):null,h=u.useMemo(()=>i?[{label:"Success Rate",value:`${(i.successRate*100).toFixed(0)}%`},{label:"Error Rate",value:`${(i.errorRate*100).toFixed(1)}%`},{label:"Avg Latency",value:m(i.avgLatency)},{label:"P95 Latency",value:m(i.p95Latency)},{label:"P50 Latency",value:m(i.p50Latency)},{label:"Total Calls",value:String(i.callCount)}]:[],[i]),b=u.useCallback(()=>r(null),[]);return a.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[a.jsx(j,{tabs:[{id:"endpoints",label:"Endpoints"},{id:"services",label:"Services"}],activeTab:e,onTabChange:l}),a.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[a.jsxs("div",{className:"flex-1 overflow-auto",children:[e==="endpoints"&&a.jsx(y,{columns:O,data:s,onRowClick:o=>r(`${o.method} ${o.normalizedPath}`),selectedIndex:n?s.findIndex(o=>`${o.method} ${o.normalizedPath}`===n):void 0}),e==="services"&&a.jsx("div",{className:"p-5 grid grid-cols-2 gap-4",children:c.map(o=>a.jsxs("div",{className:"bg-bg-surface border border-border-strong rounded-lg p-4",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-[15px] font-semibold text-text-primary",children:o.name}),a.jsx(P,{color:o.errorRate>.05?"red":o.errorRate>0?"amber":"green",size:"md"})]}),a.jsx("p",{className:"text-[12px] text-text-muted font-mono mb-3",children:o.baseUrl}),a.jsxs("div",{className:"grid grid-cols-3 gap-3 text-center",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-lg font-bold tabular-nums",children:o.endpointCount}),a.jsx("p",{className:"text-[10px] text-text-muted",children:"Endpoints"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-lg font-bold tabular-nums",children:o.totalCalls}),a.jsx("p",{className:"text-[10px] text-text-muted",children:"Calls"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-lg font-bold tabular-nums",children:m(o.avgLatency)}),a.jsx("p",{className:"text-[10px] text-text-muted",children:"Avg Latency"})]})]}),o.detectedPlatform&&a.jsx("div",{className:"mt-3 pt-3 border-t border-border-muted",children:a.jsx(p,{size:"sm",children:o.detectedPlatform})})]},o.name))})]}),a.jsx(N,{open:i!==null,onClose:b,title:i?`${i.method} ${i.normalizedPath}`:"",subtitle:i?i.service:"",children:i&&a.jsxs("div",{className:"p-4 space-y-3",children:[a.jsx("div",{className:"grid grid-cols-2 gap-3",children:h.map(o=>a.jsxs("div",{className:"bg-bg-elevated rounded-md p-3 border border-border-muted",children:[a.jsx("p",{className:"text-[11px] text-text-muted",children:o.label}),a.jsx("p",{className:"text-[15px] font-bold tabular-nums",children:o.value})]},o.label))}),Object.keys(i.errorCodes).length>0&&a.jsxs("div",{children:[a.jsx("p",{className:"text-[11px] font-medium text-text-muted uppercase tracking-wider mb-2",children:"Error Codes"}),a.jsx("div",{className:"flex gap-2",children:Object.entries(i.errorCodes).map(([o,g])=>a.jsxs(p,{variant:"red",size:"sm",children:[o,": ",g,"x"]},o))})]})]})})]})]})}export{V as ApiMapPage};
1
+ import{r as u,q as C,j as a}from"./index-CUDottTv.js";import{T as j}from"./topbar-892TvyNb.js";import{B as p}from"./badge-BOfEUuSW.js";import"./textarea-DAwdLdON.js";import{D as y}from"./data-table-A2Iq_hk5.js";import{D as N}from"./detail-panel-YWSVnqP_.js";import{S as P}from"./status-dot-C1nxHZIG.js";import{u as $}from"./use-connected-3Ljk-Uwv.js";import{f as m}from"./format-CF_gowqw.js";const z=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,k=/^\d+$/,S=/^[0-9a-f]{24}$/i;function w(e){return z.test(e)||k.test(e)||S.test(e)?":id":e}function E(e){try{const l=new URL(e),n=l.pathname.split("/").filter(Boolean).map(w);return{baseUrl:l.origin,normalizedPath:"/"+n.join("/")}}catch{return{baseUrl:"unknown",normalizedPath:e}}}const v=[[/\.supabase\.co$/,"Supabase"],[/\.workers\.dev$/,"Cloudflare Workers"],[/\.vercel\.app$/,"Vercel"],[/api\.stripe\.com$/,"Stripe"],[/\.railway\.app$/,"Railway"],[/api\.github\.com$/,"GitHub API"],[/api\.openai\.com$/,"OpenAI"],[/api\.anthropic\.com$/,"Anthropic"],[/\.firebase(io|app)\.com$/,"Firebase"],[/\.amazonaws\.com$/,"AWS"],[/\.googleapis\.com$/,"Google APIs"],[/^(localhost|127\.0\.0\.1)$/,"Your API"]];function R(e){for(const[n,r]of v)if(n.test(e))return r;const l=e.split(".");return l.length>=2?l.slice(-2).join("."):e}function U(e){const l=e.authorization||e.Authorization;if(l)return l.startsWith("Bearer ")?{type:"bearer",headerName:"Authorization"}:l.startsWith("Basic ")?{type:"basic",headerName:"Authorization"}:{type:"api_key",headerName:"Authorization"};for(const n of Object.keys(e))if(n.toLowerCase().includes("api-key")||n.toLowerCase()==="x-api-key")return{type:"api_key",headerName:n};return e.cookie||e.Cookie?{type:"cookie"}:{type:"none"}}function f(e,l){if(e.length===0)return 0;const n=Math.ceil(e.length*(l/100))-1;return e[Math.max(0,n)]}function x(e){const l=new Map;for(const n of e){const{baseUrl:r,normalizedPath:t}=E(n.url);let s;try{s=new URL(n.url).hostname}catch{s="unknown"}const d=`${n.method.toUpperCase()} ${r}${t}`,c=l.get(d);c?c.events.push(n):l.set(d,{normalizedPath:t,method:n.method.toUpperCase(),baseUrl:r,service:R(s),events:[n],auth:U(n.requestHeaders),graphqlOperation:n.graphqlOperation})}return l}function L(e){const l=x(e),n=[];for(const r of l.values()){const t=r.events.map(s=>s.timestamp);n.push({normalizedPath:r.normalizedPath,method:r.method,baseUrl:r.baseUrl,service:r.service,callCount:r.events.length,firstSeen:Math.min(...t),lastSeen:Math.max(...t),auth:r.auth,graphqlOperation:r.graphqlOperation})}return n.sort((r,t)=>t.callCount-r.callCount)}function A(e){const l=x(e),n=[];for(const r of l.values()){const t=r.events.map(c=>c.duration).sort((c,i)=>c-i),s=r.events.filter(c=>c.status>=400).length,d={};for(const c of r.events)c.status>=400&&(d[c.status]=(d[c.status]??0)+1);n.push({normalizedPath:r.normalizedPath,method:r.method,service:r.service,callCount:r.events.length,successRate:(r.events.length-s)/r.events.length,avgLatency:t.reduce((c,i)=>c+i,0)/t.length,p50Latency:f(t,50),p95Latency:f(t,95),errorRate:s/r.events.length,errorCodes:d})}return n.sort((r,t)=>t.callCount-r.callCount)}function D(e){const l=x(e),n=new Map;for(const t of l.values()){const s=n.get(t.service);if(s)s.endpoints.add(`${t.method} ${t.normalizedPath}`),s.totalCalls+=t.events.length,s.totalDuration+=t.events.reduce((d,c)=>d+c.duration,0),s.errorCount+=t.events.filter(d=>d.status>=400).length;else{let d;try{const c=new URL(t.baseUrl).hostname;for(const[i,h]of v)if(i.test(c)){d=h;break}}catch{}n.set(t.service,{baseUrl:t.baseUrl,endpoints:new Set([`${t.method} ${t.normalizedPath}`]),totalCalls:t.events.length,totalDuration:t.events.reduce((c,i)=>c+i.duration,0),errorCount:t.events.filter(c=>c.status>=400).length,auth:t.auth,platform:d})}}const r=[];for(const[t,s]of n)r.push({name:t,baseUrl:s.baseUrl,endpointCount:s.endpoints.size,totalCalls:s.totalCalls,avgLatency:s.totalCalls>0?s.totalDuration/s.totalCalls:0,errorRate:s.totalCalls>0?s.errorCount/s.totalCalls:0,auth:s.auth,detectedPlatform:s.platform});return r.sort((t,s)=>s.totalCalls-t.totalCalls)}const M={GET:"green",POST:"purple",PUT:"amber",DELETE:"red",PATCH:"orange"},O=[{key:"method",header:"Method",width:"90px",render:e=>a.jsx(p,{variant:M[e.method]||"default",size:"sm",children:e.method})},{key:"normalizedPath",header:"Path",render:e=>a.jsx("span",{className:"font-mono text-[13px]",children:e.normalizedPath})},{key:"service",header:"Service",width:"140px",render:e=>a.jsx("span",{className:"text-text-secondary",children:e.service})},{key:"callCount",header:"Calls",width:"80px",render:e=>a.jsx("span",{className:"tabular-nums",children:e.callCount})},{key:"auth",header:"Auth",width:"80px",render:e=>{var n;const l=((n=e.auth)==null?void 0:n.type)||"none";return a.jsx(p,{variant:l==="none"?"default":"green",size:"sm",children:l})}}];function V(){const[e,l]=u.useState("endpoints"),[n,r]=u.useState(null);$();const t=C(o=>o.network),s=u.useMemo(()=>t.length===0?[]:L(t),[t]),d=u.useMemo(()=>t.length===0?[]:A(t),[t]),c=u.useMemo(()=>t.length===0?[]:D(t),[t]),i=n?d.find(o=>`${o.method} ${o.normalizedPath}`===n):null,h=u.useMemo(()=>i?[{label:"Success Rate",value:`${(i.successRate*100).toFixed(0)}%`},{label:"Error Rate",value:`${(i.errorRate*100).toFixed(1)}%`},{label:"Avg Latency",value:m(i.avgLatency)},{label:"P95 Latency",value:m(i.p95Latency)},{label:"P50 Latency",value:m(i.p50Latency)},{label:"Total Calls",value:String(i.callCount)}]:[],[i]),b=u.useCallback(()=>r(null),[]);return a.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[a.jsx(j,{tabs:[{id:"endpoints",label:"Endpoints"},{id:"services",label:"Services"}],activeTab:e,onTabChange:l}),a.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[a.jsxs("div",{className:"flex-1 overflow-auto",children:[e==="endpoints"&&a.jsx(y,{columns:O,data:s,onRowClick:o=>r(`${o.method} ${o.normalizedPath}`),selectedIndex:n?s.findIndex(o=>`${o.method} ${o.normalizedPath}`===n):void 0}),e==="services"&&a.jsx("div",{className:"p-5 grid grid-cols-2 gap-4",children:c.map(o=>a.jsxs("div",{className:"bg-bg-surface border border-border-strong rounded-lg p-4",children:[a.jsxs("div",{className:"flex items-center justify-between mb-2",children:[a.jsx("span",{className:"text-[15px] font-semibold text-text-primary",children:o.name}),a.jsx(P,{color:o.errorRate>.05?"red":o.errorRate>0?"amber":"green",size:"md"})]}),a.jsx("p",{className:"text-[12px] text-text-muted font-mono mb-3",children:o.baseUrl}),a.jsxs("div",{className:"grid grid-cols-3 gap-3 text-center",children:[a.jsxs("div",{children:[a.jsx("p",{className:"text-lg font-bold tabular-nums",children:o.endpointCount}),a.jsx("p",{className:"text-[10px] text-text-muted",children:"Endpoints"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-lg font-bold tabular-nums",children:o.totalCalls}),a.jsx("p",{className:"text-[10px] text-text-muted",children:"Calls"})]}),a.jsxs("div",{children:[a.jsx("p",{className:"text-lg font-bold tabular-nums",children:m(o.avgLatency)}),a.jsx("p",{className:"text-[10px] text-text-muted",children:"Avg Latency"})]})]}),o.detectedPlatform&&a.jsx("div",{className:"mt-3 pt-3 border-t border-border-muted",children:a.jsx(p,{size:"sm",children:o.detectedPlatform})})]},o.name))})]}),a.jsx(N,{open:i!==null,onClose:b,title:i?`${i.method} ${i.normalizedPath}`:"",subtitle:i?i.service:"",children:i&&a.jsxs("div",{className:"p-4 space-y-3",children:[a.jsx("div",{className:"grid grid-cols-2 gap-3",children:h.map(o=>a.jsxs("div",{className:"bg-bg-elevated rounded-md p-3 border border-border-muted",children:[a.jsx("p",{className:"text-[11px] text-text-muted",children:o.label}),a.jsx("p",{className:"text-[15px] font-bold tabular-nums",children:o.value})]},o.label))}),Object.keys(i.errorCodes).length>0&&a.jsxs("div",{children:[a.jsx("p",{className:"text-[11px] font-medium text-text-muted uppercase tracking-wider mb-2",children:"Error Codes"}),a.jsx("div",{className:"flex gap-2",children:Object.entries(i.errorCodes).map(([o,g])=>a.jsxs(p,{variant:"red",size:"sm",children:[o,": ",g,"x"]},o))})]})]})})]})]})}export{V as ApiMapPage};
@@ -1 +1 @@
1
- import{j as a,c as b}from"./index-DgQg-mjd.js";import{c as n}from"./textarea-BROdxV-a.js";const o=n("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium transition-colors border",{variants:{variant:{default:"bg-bg-elevated text-text-secondary border-border-default",brand:"bg-brand-muted text-brand border-brand-border",accent:"bg-accent-muted text-accent border-accent-border",green:"bg-green-muted text-green border-green-border",blue:"bg-blue-muted text-blue border-blue-border",purple:"bg-purple-muted text-purple border-purple-border",amber:"bg-amber-muted text-amber border-amber-border",red:"bg-red-muted text-red border-red-border",orange:"bg-orange-muted text-orange border-orange-border",cyan:"bg-cyan-muted text-cyan border-cyan-border"},size:{sm:"text-[10px] px-1.5 py-px",md:"text-xs px-2.5 py-0.5",lg:"text-sm px-3 py-1"}},defaultVariants:{variant:"default",size:"md"}});function m({className:e,variant:r,size:t,...d}){return a.jsx("span",{className:b(o({variant:r,size:t}),e),...d})}export{m as B};
1
+ import{j as a,c as b}from"./index-CUDottTv.js";import{c as n}from"./textarea-DAwdLdON.js";const o=n("inline-flex items-center gap-1.5 rounded-full px-2.5 py-0.5 text-xs font-medium transition-colors border",{variants:{variant:{default:"bg-bg-elevated text-text-secondary border-border-default",brand:"bg-brand-muted text-brand border-brand-border",accent:"bg-accent-muted text-accent border-accent-border",green:"bg-green-muted text-green border-green-border",blue:"bg-blue-muted text-blue border-blue-border",purple:"bg-purple-muted text-purple border-purple-border",amber:"bg-amber-muted text-amber border-amber-border",red:"bg-red-muted text-red border-red-border",orange:"bg-orange-muted text-orange border-orange-border",cyan:"bg-cyan-muted text-cyan border-cyan-border"},size:{sm:"text-[10px] px-1.5 py-px",md:"text-xs px-2.5 py-0.5",lg:"text-sm px-3 py-1"}},defaultVariants:{variant:"default",size:"md"}});function m({className:e,variant:r,size:t,...d}){return a.jsx("span",{className:b(o({variant:r,size:t}),e),...d})}export{m as B};
@@ -1,4 +1,4 @@
1
- import{a as k,r as l,q as h,j as o,c as p,L as I,D as z,G as N,w as v,z as M,T as $}from"./index-DgQg-mjd.js";import{B as P}from"./badge-BGgXl2qy.js";import{S as G}from"./textarea-BROdxV-a.js";import{J as O}from"./json-viewer-CtsL_JTK.js";import{E as V}from"./empty-config-state-BRw-Dnk-.js";import{E as W}from"./export-button-BioZ3ot5.js";import{b as _}from"./format-CF_gowqw.js";import{C as q}from"./chevron-right-D0z93_PM.js";import{T as E}from"./tag-4Cn073OD.js";import"./download-OeUZzFM9.js";/**
1
+ import{a as k,r as l,q as h,j as o,c as p,L as I,D as z,G as N,w as v,z as M,T as $}from"./index-CUDottTv.js";import{B as P}from"./badge-BOfEUuSW.js";import{S as G}from"./textarea-DAwdLdON.js";import{J as O}from"./json-viewer-Dup5M0px.js";import{E as V}from"./empty-config-state-ReVUjdJ_.js";import{E as W}from"./export-button-D7y2ugNf.js";import{b as _}from"./format-CF_gowqw.js";import{C as q}from"./chevron-right-Df1qu9CE.js";import{T as E}from"./tag-Czqgl1tA.js";import"./download-CwvkYJyJ.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- var l0=Object.defineProperty;var s0=(e,t,r)=>t in e?l0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ra=(e,t,r)=>s0(e,typeof t!="symbol"?t+"":t,r);import{r as m,p as V,U as c0,V as pr,Y as hl,Z as f0,b as gt,j as I,c as Hs,$ as d0}from"./index-DgQg-mjd.js";import{B as Kr}from"./badge-BGgXl2qy.js";import{B as za}from"./textarea-BROdxV-a.js";import{D as v0}from"./data-table-CxVXG3zy.js";import{K as Rn,T as h0}from"./metric-card-BDGLEpmZ.js";import{C as Ba}from"./circle-check-big-DMEGTtSI.js";import{D as p0}from"./download-OeUZzFM9.js";import{C as m0}from"./clock-BZReVxQC.js";import{D as y0}from"./dollar-sign-DqZoTS1i.js";import"./sparkline-DoDs4Mh8.js";import"./minus-CepSrXzu.js";var g0=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function pl(e){if(typeof e!="string")return!1;var t=g0;return t.includes(e)}var b0=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],x0=new Set(b0);function bh(e){return typeof e!="string"?!1:x0.has(e)}function xh(e){return typeof e=="string"&&e.startsWith("data-")}function nt(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(bh(r)||xh(r))&&(t[r]=e[r]);return t}function Qi(e){if(e==null)return null;if(m.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return nt(t)}return typeof e=="object"&&!Array.isArray(e)?nt(e):null}function Ge(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(bh(r)||xh(r)||pl(r))&&(t[r]=e[r]);return t}function w0(e){return e==null?null:m.isValidElement(e)?Ge(e.props):typeof e=="object"&&!Array.isArray(e)?Ge(e):null}var P0=["children","width","height","viewBox","className","style","title","desc"];function bu(){return bu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},bu.apply(null,arguments)}function O0(e,t){if(e==null)return{};var r,n,i=S0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function S0(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var wh=m.forwardRef((e,t)=>{var{children:r,width:n,height:i,viewBox:a,className:o,style:u,title:l,desc:c}=e,s=O0(e,P0),f=a||{width:n,height:i,x:0,y:0},d=V("recharts-surface",o);return m.createElement("svg",bu({},Ge(s),{className:d,width:n,height:i,style:u,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:t}),m.createElement("title",null,l),m.createElement("desc",null,c),r)}),A0=["children","className"];function xu(){return xu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xu.apply(null,arguments)}function _0(e,t){if(e==null)return{};var r,n,i=E0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function E0(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var dt=m.forwardRef((e,t)=>{var{children:r,className:n}=e,i=_0(e,A0),a=V("recharts-layer",n);return m.createElement("g",xu({className:a},Ge(i),{ref:t}),r)}),Ph=c0(),C0=m.createContext(null);function re(e){return function(){return e}}const wu=Math.PI,Pu=2*wu,Zt=1e-6,j0=Pu-Zt;function Oh(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=arguments[t]+e[t]}function k0(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Oh;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;i<a;++i)this._+=Math.round(arguments[i]*r)/r+n[i]}}class M0{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?Oh:k0(t)}moveTo(t,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,r){this._append`L${this._x1=+t},${this._y1=+r}`}quadraticCurveTo(t,r,n,i){this._append`Q${+t},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(t,r,n,i,a,o){this._append`C${+t},${+r},${+n},${+i},${this._x1=+a},${this._y1=+o}`}arcTo(t,r,n,i,a){if(t=+t,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let o=this._x1,u=this._y1,l=n-t,c=i-r,s=o-t,f=u-r,d=s*s+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=r}`;else if(d>Zt)if(!(Math.abs(f*l-c*s)>Zt)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let v=n-o,h=i-u,y=l*l+c*c,p=v*v+h*h,g=Math.sqrt(y),P=Math.sqrt(d),O=a*Math.tan((wu-Math.acos((y+d-p)/(2*g*P)))/2),b=O/P,x=O/g;Math.abs(b-1)>Zt&&this._append`L${t+b*s},${r+b*f}`,this._append`A${a},${a},0,0,${+(f*v>s*h)},${this._x1=t+x*l},${this._y1=r+x*c}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),l=n*Math.sin(i),c=t+u,s=r+l,f=1^o,d=o?i-a:a-i;this._x1===null?this._append`M${c},${s}`:(Math.abs(this._x1-c)>Zt||Math.abs(this._y1-s)>Zt)&&this._append`L${c},${s}`,n&&(d<0&&(d=d%Pu+Pu),d>j0?this._append`A${n},${n},0,1,${f},${t-u},${r-l}A${n},${n},0,1,${f},${this._x1=c},${this._y1=s}`:d>Zt&&this._append`A${n},${n},0,${+(d>=wu)},${f},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Sh(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new M0(t)}function ml(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Ah(e){this._context=e}Ah.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ji(e){return new Ah(e)}function _h(e){return e[0]}function Eh(e){return e[1]}function Ch(e,t){var r=re(!0),n=null,i=Ji,a=null,o=Sh(u);e=typeof e=="function"?e:e===void 0?_h:re(e),t=typeof t=="function"?t:t===void 0?Eh:re(t);function u(l){var c,s=(l=ml(l)).length,f,d=!1,v;for(n==null&&(a=i(v=o())),c=0;c<=s;++c)!(c<s&&r(f=l[c],c,l))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(f,c,l),+t(f,c,l));if(v)return a=null,v+""||null}return u.x=function(l){return arguments.length?(e=typeof l=="function"?l:re(+l),u):e},u.y=function(l){return arguments.length?(t=typeof l=="function"?l:re(+l),u):t},u.defined=function(l){return arguments.length?(r=typeof l=="function"?l:re(!!l),u):r},u.curve=function(l){return arguments.length?(i=l,n!=null&&(a=i(n)),u):i},u.context=function(l){return arguments.length?(l==null?n=a=null:a=i(n=l),u):n},u}function zn(e,t,r){var n=null,i=re(!0),a=null,o=Ji,u=null,l=Sh(c);e=typeof e=="function"?e:e===void 0?_h:re(+e),t=typeof t=="function"?t:re(t===void 0?0:+t),r=typeof r=="function"?r:r===void 0?Eh:re(+r);function c(f){var d,v,h,y=(f=ml(f)).length,p,g=!1,P,O=new Array(y),b=new Array(y);for(a==null&&(u=o(P=l())),d=0;d<=y;++d){if(!(d<y&&i(p=f[d],d,f))===g)if(g=!g)v=d,u.areaStart(),u.lineStart();else{for(u.lineEnd(),u.lineStart(),h=d-1;h>=v;--h)u.point(O[h],b[h]);u.lineEnd(),u.areaEnd()}g&&(O[d]=+e(p,d,f),b[d]=+t(p,d,f),u.point(n?+n(p,d,f):O[d],r?+r(p,d,f):b[d]))}if(P)return u=null,P+""||null}function s(){return Ch().defined(i).curve(o).context(a)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:re(+f),n=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:re(+f),c):e},c.x1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:re(+f),c):n},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:re(+f),r=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:re(+f),c):t},c.y1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:re(+f),c):r},c.lineX0=c.lineY0=function(){return s().x(e).y(t)},c.lineY1=function(){return s().x(e).y(r)},c.lineX1=function(){return s().x(n).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:re(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,a!=null&&(u=o(a)),c):o},c.context=function(f){return arguments.length?(f==null?a=u=null:u=o(a=f),c):a},c}class jh{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function I0(e){return new jh(e,!0)}function T0(e){return new jh(e,!1)}function li(){}function si(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function kh(e){this._context=e}kh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:si(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:si(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function D0(e){return new kh(e)}function Mh(e){this._context=e}Mh.prototype={areaStart:li,areaEnd:li,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:si(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function N0(e){return new Mh(e)}function Ih(e){this._context=e}Ih.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:si(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function L0(e){return new Ih(e)}function Th(e){this._context=e}Th.prototype={areaStart:li,areaEnd:li,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function $0(e){return new Th(e)}function Ys(e){return e<0?-1:1}function Gs(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(Ys(a)+Ys(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function Vs(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Fa(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function ci(e){this._context=e}ci.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Fa(this,this._t0,Vs(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Fa(this,Vs(this,r=Gs(this,e,t)),r);break;default:Fa(this,this._t0,r=Gs(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Dh(e){this._context=new Nh(e)}(Dh.prototype=Object.create(ci.prototype)).point=function(e,t){ci.prototype.point.call(this,t,e)};function Nh(e){this._context=e}Nh.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function R0(e){return new ci(e)}function z0(e){return new Dh(e)}function Lh(e){this._context=e}Lh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Xs(e),i=Xs(t),a=0,o=1;o<r;++a,++o)this._context.bezierCurveTo(n[0][a],i[0][a],n[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&r===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function Xs(e){var t,r=e.length-1,n,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<r-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)n=i[t]/a[t-1],a[t]-=n,o[t]-=n*o[t-1];for(i[r-1]=o[r-1]/a[r-1],t=r-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[r-1])/2,t=0;t<r-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function B0(e){return new Lh(e)}function ea(e,t){this._context=e,this._t=t}ea.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function F0(e){return new ea(e,.5)}function q0(e){return new ea(e,0)}function W0(e){return new ea(e,1)}function lr(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r<o;++r)for(i=a,a=e[t[r]],n=0;n<u;++n)a[n][1]+=a[n][0]=isNaN(i[n][1])?i[n][0]:i[n][1]}function Ou(e){for(var t=e.length,r=new Array(t);--t>=0;)r[t]=t;return r}function U0(e,t){return e[t]}function K0(e){const t=[];return t.key=e,t}function H0(){var e=re([]),t=Ou,r=lr,n=U0;function i(a){var o=Array.from(e.apply(this,arguments),K0),u,l=o.length,c=-1,s;for(const f of a)for(u=0,++c;u<l;++u)(o[u][c]=[0,+n(f,o[u].key,c,a)]).data=f;for(u=0,s=ml(t(o));u<l;++u)o[s[u]].index=u;return r(o,s),o}return i.keys=function(a){return arguments.length?(e=typeof a=="function"?a:re(Array.from(a)),i):e},i.value=function(a){return arguments.length?(n=typeof a=="function"?a:re(+a),i):n},i.order=function(a){return arguments.length?(t=a==null?Ou:typeof a=="function"?a:re(Array.from(a)),i):t},i.offset=function(a){return arguments.length?(r=a??lr,i):r},i}function Y0(e,t){if((n=e.length)>0){for(var r,n,i=0,a=e[0].length,o;i<a;++i){for(o=r=0;r<n;++r)o+=e[r][i][1]||0;if(o)for(r=0;r<n;++r)e[r][i][1]/=o}lr(e,t)}}function G0(e,t){if((i=e.length)>0){for(var r=0,n=e[t[0]],i,a=n.length;r<a;++r){for(var o=0,u=0;o<i;++o)u+=e[o][r][1]||0;n[r][1]+=n[r][0]=-u/2}lr(e,t)}}function V0(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n<a;++n){for(var u=0,l=0,c=0;u<o;++u){for(var s=e[t[u]],f=s[n][1]||0,d=s[n-1][1]||0,v=(f-d)/2,h=0;h<u;++h){var y=e[t[h]],p=y[n][1]||0,g=y[n-1][1]||0;v+=p-g}l+=f,c+=v*f}i[n-1][1]+=i[n-1][0]=r,l&&(r-=c/l)}i[n-1][1]+=i[n-1][0]=r,lr(e,t)}}var qa={},Wa={},Zs;function X0(){return Zs||(Zs=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r==="__proto__"}e.isUnsafeProperty=t})(Wa)),Wa}var Ua={},Qs;function $h(){return Qs||(Qs=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){switch(typeof r){case"number":case"symbol":return!1;case"string":return r.includes(".")||r.includes("[")||r.includes("]")}}e.isDeepKey=t})(Ua)),Ua}var Ka={},Js;function yl(){return Js||(Js=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){var n;return typeof r=="string"||typeof r=="symbol"?r:Object.is((n=r==null?void 0:r.valueOf)==null?void 0:n.call(r),-0)?"-0":String(r)}e.toKey=t})(Ka)),Ka}var Ha={},Ya={},ec;function Z0(){return ec||(ec=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){if(r==null)return"";if(typeof r=="string")return r;if(Array.isArray(r))return r.map(t).join(",");const n=String(r);return n==="0"&&Object.is(Number(r),-0)?"-0":n}e.toString=t})(Ya)),Ya}var tc;function gl(){return tc||(tc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Z0(),r=yl();function n(i){if(Array.isArray(i))return i.map(r.toKey);if(typeof i=="symbol")return[i];i=t.toString(i);const a=[],o=i.length;if(o===0)return a;let u=0,l="",c="",s=!1;for(i.charCodeAt(0)===46&&(a.push(""),u++);u<o;){const f=i[u];c?f==="\\"&&u+1<o?(u++,l+=i[u]):f===c?c="":l+=f:s?f==='"'||f==="'"?c=f:f==="]"?(s=!1,a.push(l),l=""):l+=f:f==="["?(s=!0,l&&(a.push(l),l="")):f==="."?l&&(a.push(l),l=""):l+=f,u++}return l&&a.push(l),a}e.toPath=n})(Ha)),Ha}var rc;function bl(){return rc||(rc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=X0(),r=$h(),n=yl(),i=gl();function a(u,l,c){if(u==null)return c;switch(typeof l){case"string":{if(t.isUnsafeProperty(l))return c;const s=u[l];return s===void 0?r.isDeepKey(l)?a(u,i.toPath(l),c):c:s}case"number":case"symbol":{typeof l=="number"&&(l=n.toKey(l));const s=u[l];return s===void 0?c:s}default:{if(Array.isArray(l))return o(u,l,c);if(Object.is(l==null?void 0:l.valueOf(),-0)?l="-0":l=String(l),t.isUnsafeProperty(l))return c;const s=u[l];return s===void 0?c:s}}}function o(u,l,c){if(l.length===0)return c;let s=u;for(let f=0;f<l.length;f++){if(s==null||t.isUnsafeProperty(l[f]))return c;s=s[l[f]]}return s===void 0?c:s}e.get=a})(qa)),qa}var Ga,nc;function Q0(){return nc||(nc=1,Ga=bl().get),Ga}var J0=Q0();const ta=pr(J0);var eb=4;function qt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:eb,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function ye(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e.reduce((i,a,o)=>{var u=r[o-1];return typeof u=="string"?i+u+a:u!==void 0?i+qt(u)+a:i+a},"")}var He=e=>e===0?0:e>0?1:-1,vt=e=>typeof e=="number"&&e!=+e,sr=e=>typeof e=="string"&&e.indexOf("%")===e.length-1,N=e=>(typeof e=="number"||e instanceof Number)&&!vt(e),ht=e=>N(e)||typeof e=="string",tb=0,on=e=>{var t=++tb;return"".concat(e||"").concat(t)},Kt=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!N(t)&&typeof t!="string")return n;var a;if(sr(t)){if(r==null)return n;var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return vt(a)&&(a=n),i&&r!=null&&a>r&&(a=r),a},Rh=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;n<t;n++)if(!r[String(e[n])])r[String(e[n])]=!0;else return!0;return!1};function lt(e,t,r){return N(e)&&N(t)?qt(e+r*(t-e)):t}function zh(e,t,r){if(!(!e||!e.length))return e.find(n=>n&&(typeof t=="function"?t(n):ta(n,t))===r)}var Ae=e=>e===null||typeof e>"u",xl=e=>Ae(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Te(e){return e!=null}function Tr(){}var Bh=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,wl=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(m.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{pl(i)&&(n[i]=(a=>r[i](r,a)))}),n},rb=(e,t,r)=>n=>(e(t,r,n),null),nb=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var a=e[i];pl(i)&&typeof a=="function"&&(n||(n={}),n[i]=rb(a,t,r))}),n};function ic(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ib(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ic(Object(r),!0).forEach(function(n){ab(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ic(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ab(e,t,r){return(t=ob(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ob(e){var t=ub(e,"string");return typeof t=="symbol"?t:t+""}function ub(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ue(e,t){var r=ib({},e),n=t,i=Object.keys(t),a=i.reduce((o,u)=>(o[u]===void 0&&n[u]!==void 0&&(o[u]=n[u]),o),r);return a}var Va={},Xa={},ac;function lb(){return ac||(ac=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r,n){const i=new Map;for(let a=0;a<r.length;a++){const o=r[a],u=n(o,a,r);i.has(u)||i.set(u,o)}return Array.from(i.values())}e.uniqBy=t})(Xa)),Xa}var Za={},oc;function sb(){return oc||(oc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r,n){return function(...i){return r.apply(this,i.slice(0,n))}}e.ary=t})(Za)),Za}var Qa={},uc;function Fh(){return uc||(uc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r}e.identity=t})(Qa)),Qa}var Ja={},eo={},to={},lc;function cb(){return lc||(lc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return Number.isSafeInteger(r)&&r>=0}e.isLength=t})(to)),to}var sc;function Pl(){return sc||(sc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=cb();function r(n){return n!=null&&typeof n!="function"&&t.isLength(n.length)}e.isArrayLike=r})(eo)),eo}var ro={},cc;function fb(){return cc||(cc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return typeof r=="object"&&r!==null}e.isObjectLike=t})(ro)),ro}var fc;function db(){return fc||(fc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Pl(),r=fb();function n(i){return r.isObjectLike(i)&&t.isArrayLike(i)}e.isArrayLikeObject=n})(Ja)),Ja}var no={},io={},dc;function vb(){return dc||(dc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=bl();function r(n){return function(i){return t.get(i,n)}}e.property=r})(io)),io}var ao={},oo={},uo={},lo={},vc;function qh(){return vc||(vc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r!==null&&(typeof r=="object"||typeof r=="function")}e.isObject=t})(lo)),lo}var so={},hc;function Wh(){return hc||(hc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r==null||typeof r!="object"&&typeof r!="function"}e.isPrimitive=t})(so)),so}var co={},pc;function Uh(){return pc||(pc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r,n){return r===n||Number.isNaN(r)&&Number.isNaN(n)}e.isEqualsSameValueZero=t})(co)),co}var mc;function hb(){return mc||(mc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=qh(),r=Wh(),n=Uh();function i(s,f,d){return typeof d!="function"?i(s,f,()=>{}):a(s,f,function v(h,y,p,g,P,O){const b=d(h,y,p,g,P,O);return b!==void 0?!!b:a(h,y,v,O)},new Map)}function a(s,f,d,v){if(f===s)return!0;switch(typeof f){case"object":return o(s,f,d,v);case"function":return Object.keys(f).length>0?a(s,{...f},d,v):n.isEqualsSameValueZero(s,f);default:return t.isObject(s)?typeof f=="string"?f==="":!0:n.isEqualsSameValueZero(s,f)}}function o(s,f,d,v){if(f==null)return!0;if(Array.isArray(f))return l(s,f,d,v);if(f instanceof Map)return u(s,f,d,v);if(f instanceof Set)return c(s,f,d,v);const h=Object.keys(f);if(s==null||r.isPrimitive(s))return h.length===0;if(h.length===0)return!0;if(v!=null&&v.has(f))return v.get(f)===s;v==null||v.set(f,s);try{for(let y=0;y<h.length;y++){const p=h[y];if(!r.isPrimitive(s)&&!(p in s)||f[p]===void 0&&s[p]!==void 0||f[p]===null&&s[p]!==null||!d(s[p],f[p],p,s,f,v))return!1}return!0}finally{v==null||v.delete(f)}}function u(s,f,d,v){if(f.size===0)return!0;if(!(s instanceof Map))return!1;for(const[h,y]of f.entries()){const p=s.get(h);if(d(p,y,h,s,f,v)===!1)return!1}return!0}function l(s,f,d,v){if(f.length===0)return!0;if(!Array.isArray(s))return!1;const h=new Set;for(let y=0;y<f.length;y++){const p=f[y];let g=!1;for(let P=0;P<s.length;P++){if(h.has(P))continue;const O=s[P];let b=!1;if(d(O,p,y,s,f,v)&&(b=!0),b){h.add(P),g=!0;break}}if(!g)return!1}return!0}function c(s,f,d,v){return f.size===0?!0:s instanceof Set?l([...s],[...f],d,v):!1}e.isMatchWith=i,e.isSetMatch=c})(uo)),uo}var yc;function Kh(){return yc||(yc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=hb();function r(n,i){return t.isMatchWith(n,i,()=>{})}e.isMatch=r})(oo)),oo}var fo={},vo={},ho={},gc;function pb(){return gc||(gc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return Object.getOwnPropertySymbols(r).filter(n=>Object.prototype.propertyIsEnumerable.call(r,n))}e.getSymbols=t})(ho)),ho}var po={},bc;function Ol(){return bc||(bc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r==null?r===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(r)}e.getTag=t})(po)),po}var mo={},xc;function Hh(){return xc||(xc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t="[object RegExp]",r="[object String]",n="[object Number]",i="[object Boolean]",a="[object Arguments]",o="[object Symbol]",u="[object Date]",l="[object Map]",c="[object Set]",s="[object Array]",f="[object Function]",d="[object ArrayBuffer]",v="[object Object]",h="[object Error]",y="[object DataView]",p="[object Uint8Array]",g="[object Uint8ClampedArray]",P="[object Uint16Array]",O="[object Uint32Array]",b="[object BigUint64Array]",x="[object Int8Array]",w="[object Int16Array]",S="[object Int32Array]",E="[object BigInt64Array]",j="[object Float32Array]",D="[object Float64Array]";e.argumentsTag=a,e.arrayBufferTag=d,e.arrayTag=s,e.bigInt64ArrayTag=E,e.bigUint64ArrayTag=b,e.booleanTag=i,e.dataViewTag=y,e.dateTag=u,e.errorTag=h,e.float32ArrayTag=j,e.float64ArrayTag=D,e.functionTag=f,e.int16ArrayTag=w,e.int32ArrayTag=S,e.int8ArrayTag=x,e.mapTag=l,e.numberTag=n,e.objectTag=v,e.regexpTag=t,e.setTag=c,e.stringTag=r,e.symbolTag=o,e.uint16ArrayTag=P,e.uint32ArrayTag=O,e.uint8ArrayTag=p,e.uint8ClampedArrayTag=g})(mo)),mo}var yo={},wc;function mb(){return wc||(wc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}e.isTypedArray=t})(yo)),yo}var Pc;function Yh(){return Pc||(Pc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=pb(),r=Ol(),n=Hh(),i=Wh(),a=mb();function o(s,f){return u(s,void 0,s,new Map,f)}function u(s,f,d,v=new Map,h=void 0){const y=h==null?void 0:h(s,f,d,v);if(y!==void 0)return y;if(i.isPrimitive(s))return s;if(v.has(s))return v.get(s);if(Array.isArray(s)){const p=new Array(s.length);v.set(s,p);for(let g=0;g<s.length;g++)p[g]=u(s[g],g,d,v,h);return Object.hasOwn(s,"index")&&(p.index=s.index),Object.hasOwn(s,"input")&&(p.input=s.input),p}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const p=new RegExp(s.source,s.flags);return p.lastIndex=s.lastIndex,p}if(s instanceof Map){const p=new Map;v.set(s,p);for(const[g,P]of s)p.set(g,u(P,g,d,v,h));return p}if(s instanceof Set){const p=new Set;v.set(s,p);for(const g of s)p.add(u(g,void 0,d,v,h));return p}if(typeof Buffer<"u"&&Buffer.isBuffer(s))return s.subarray();if(a.isTypedArray(s)){const p=new(Object.getPrototypeOf(s)).constructor(s.length);v.set(s,p);for(let g=0;g<s.length;g++)p[g]=u(s[g],g,d,v,h);return p}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const p=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return v.set(s,p),l(p,s,d,v,h),p}if(typeof File<"u"&&s instanceof File){const p=new File([s],s.name,{type:s.type});return v.set(s,p),l(p,s,d,v,h),p}if(typeof Blob<"u"&&s instanceof Blob){const p=new Blob([s],{type:s.type});return v.set(s,p),l(p,s,d,v,h),p}if(s instanceof Error){const p=new s.constructor;return v.set(s,p),p.message=s.message,p.name=s.name,p.stack=s.stack,p.cause=s.cause,l(p,s,d,v,h),p}if(s instanceof Boolean){const p=new Boolean(s.valueOf());return v.set(s,p),l(p,s,d,v,h),p}if(s instanceof Number){const p=new Number(s.valueOf());return v.set(s,p),l(p,s,d,v,h),p}if(s instanceof String){const p=new String(s.valueOf());return v.set(s,p),l(p,s,d,v,h),p}if(typeof s=="object"&&c(s)){const p=Object.create(Object.getPrototypeOf(s));return v.set(s,p),l(p,s,d,v,h),p}return s}function l(s,f,d=s,v,h){const y=[...Object.keys(f),...t.getSymbols(f)];for(let p=0;p<y.length;p++){const g=y[p],P=Object.getOwnPropertyDescriptor(s,g);(P==null||P.writable)&&(s[g]=u(f[g],g,d,v,h))}}function c(s){switch(r.getTag(s)){case n.argumentsTag:case n.arrayTag:case n.arrayBufferTag:case n.dataViewTag:case n.booleanTag:case n.dateTag:case n.float32ArrayTag:case n.float64ArrayTag:case n.int8ArrayTag:case n.int16ArrayTag:case n.int32ArrayTag:case n.mapTag:case n.numberTag:case n.objectTag:case n.regexpTag:case n.setTag:case n.stringTag:case n.symbolTag:case n.uint8ArrayTag:case n.uint8ClampedArrayTag:case n.uint16ArrayTag:case n.uint32ArrayTag:return!0;default:return!1}}e.cloneDeepWith=o,e.cloneDeepWithImpl=u,e.copyProperties=l})(vo)),vo}var Oc;function yb(){return Oc||(Oc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Yh();function r(n){return t.cloneDeepWithImpl(n,void 0,n,new Map,void 0)}e.cloneDeep=r})(fo)),fo}var Sc;function gb(){return Sc||(Sc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Kh(),r=yb();function n(i){return i=r.cloneDeep(i),a=>t.isMatch(a,i)}e.matches=n})(ao)),ao}var go={},bo={},xo={},Ac;function bb(){return Ac||(Ac=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Yh(),r=Ol(),n=Hh();function i(a,o){return t.cloneDeepWith(a,(u,l,c,s)=>{const f=o==null?void 0:o(u,l,c,s);if(f!==void 0)return f;if(typeof a=="object"){if(r.getTag(a)===n.objectTag&&typeof a.constructor!="function"){const d={};return s.set(a,d),t.copyProperties(d,a,c,s),d}switch(Object.prototype.toString.call(a)){case n.numberTag:case n.stringTag:case n.booleanTag:{const d=new a.constructor(a==null?void 0:a.valueOf());return t.copyProperties(d,a),d}case n.argumentsTag:{const d={};return t.copyProperties(d,a),d.length=a.length,d[Symbol.iterator]=a[Symbol.iterator],d}default:return}}})}e.cloneDeepWith=i})(xo)),xo}var _c;function xb(){return _c||(_c=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=bb();function r(n){return t.cloneDeepWith(n)}e.cloneDeep=r})(bo)),bo}var wo={},Po={},Ec;function Gh(){return Ec||(Ec=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=/^(?:0|[1-9]\d*)$/;function r(n,i=Number.MAX_SAFE_INTEGER){switch(typeof n){case"number":return Number.isInteger(n)&&n>=0&&n<i;case"symbol":return!1;case"string":return t.test(n)}}e.isIndex=r})(Po)),Po}var Oo={},Cc;function wb(){return Cc||(Cc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Ol();function r(n){return n!==null&&typeof n=="object"&&t.getTag(n)==="[object Arguments]"}e.isArguments=r})(Oo)),Oo}var jc;function Pb(){return jc||(jc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=$h(),r=Gh(),n=wb(),i=gl();function a(o,u){let l;if(Array.isArray(u)?l=u:typeof u=="string"&&t.isDeepKey(u)&&(o==null?void 0:o[u])==null?l=i.toPath(u):l=[u],l.length===0)return!1;let c=o;for(let s=0;s<l.length;s++){const f=l[s];if((c==null||!Object.hasOwn(c,f))&&!((Array.isArray(c)||n.isArguments(c))&&r.isIndex(f)&&f<c.length))return!1;c=c[f]}return!0}e.has=a})(wo)),wo}var kc;function Ob(){return kc||(kc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Kh(),r=yl(),n=xb(),i=bl(),a=Pb();function o(u,l){switch(typeof u){case"object":{Object.is(u==null?void 0:u.valueOf(),-0)&&(u="-0");break}case"number":{u=r.toKey(u);break}}return l=n.cloneDeep(l),function(c){const s=i.get(c,u);return s===void 0?a.has(c,u):l===void 0?s===void 0:t.isMatch(s,l)}}e.matchesProperty=o})(go)),go}var Mc;function Sb(){return Mc||(Mc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Fh(),r=vb(),n=gb(),i=Ob();function a(o){if(o==null)return t.identity;switch(typeof o){case"function":return o;case"object":return Array.isArray(o)&&o.length===2?i.matchesProperty(o[0],o[1]):n.matches(o);case"string":case"symbol":case"number":return r.property(o)}}e.iteratee=a})(no)),no}var Ic;function Ab(){return Ic||(Ic=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=lb(),r=sb(),n=Fh(),i=db(),a=Sb();function o(u,l=n.identity){return i.isArrayLikeObject(u)?t.uniqBy(Array.from(u),r.ary(a.iteratee(l),1)):[]}e.uniqBy=o})(Va)),Va}var So,Tc;function _b(){return Tc||(Tc=1,So=Ab().uniqBy),So}var Eb=_b();const Dc=pr(Eb);function Cb(e,t,r){return t===!0?Dc(e,r):typeof t=="function"?Dc(e,t):e}var Ao={exports:{}},_o={},Eo={exports:{}},Co={};/**
1
+ var l0=Object.defineProperty;var s0=(e,t,r)=>t in e?l0(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;var Ra=(e,t,r)=>s0(e,typeof t!="symbol"?t+"":t,r);import{r as m,p as V,U as c0,V as pr,Y as hl,Z as f0,b as gt,j as I,c as Hs,$ as d0}from"./index-CUDottTv.js";import{B as Kr}from"./badge-BOfEUuSW.js";import{B as za}from"./textarea-DAwdLdON.js";import{D as v0}from"./data-table-A2Iq_hk5.js";import{K as Rn,T as h0}from"./metric-card-DE3zVnFg.js";import{C as Ba}from"./circle-check-big-Dd6W5_do.js";import{D as p0}from"./download-CwvkYJyJ.js";import{C as m0}from"./clock-CmDPWLyG.js";import{D as y0}from"./dollar-sign-BDj484XE.js";import"./sparkline-BYGr_Iny.js";import"./minus-BzY257S7.js";var g0=["dangerouslySetInnerHTML","onCopy","onCopyCapture","onCut","onCutCapture","onPaste","onPasteCapture","onCompositionEnd","onCompositionEndCapture","onCompositionStart","onCompositionStartCapture","onCompositionUpdate","onCompositionUpdateCapture","onFocus","onFocusCapture","onBlur","onBlurCapture","onChange","onChangeCapture","onBeforeInput","onBeforeInputCapture","onInput","onInputCapture","onReset","onResetCapture","onSubmit","onSubmitCapture","onInvalid","onInvalidCapture","onLoad","onLoadCapture","onError","onErrorCapture","onKeyDown","onKeyDownCapture","onKeyPress","onKeyPressCapture","onKeyUp","onKeyUpCapture","onAbort","onAbortCapture","onCanPlay","onCanPlayCapture","onCanPlayThrough","onCanPlayThroughCapture","onDurationChange","onDurationChangeCapture","onEmptied","onEmptiedCapture","onEncrypted","onEncryptedCapture","onEnded","onEndedCapture","onLoadedData","onLoadedDataCapture","onLoadedMetadata","onLoadedMetadataCapture","onLoadStart","onLoadStartCapture","onPause","onPauseCapture","onPlay","onPlayCapture","onPlaying","onPlayingCapture","onProgress","onProgressCapture","onRateChange","onRateChangeCapture","onSeeked","onSeekedCapture","onSeeking","onSeekingCapture","onStalled","onStalledCapture","onSuspend","onSuspendCapture","onTimeUpdate","onTimeUpdateCapture","onVolumeChange","onVolumeChangeCapture","onWaiting","onWaitingCapture","onAuxClick","onAuxClickCapture","onClick","onClickCapture","onContextMenu","onContextMenuCapture","onDoubleClick","onDoubleClickCapture","onDrag","onDragCapture","onDragEnd","onDragEndCapture","onDragEnter","onDragEnterCapture","onDragExit","onDragExitCapture","onDragLeave","onDragLeaveCapture","onDragOver","onDragOverCapture","onDragStart","onDragStartCapture","onDrop","onDropCapture","onMouseDown","onMouseDownCapture","onMouseEnter","onMouseLeave","onMouseMove","onMouseMoveCapture","onMouseOut","onMouseOutCapture","onMouseOver","onMouseOverCapture","onMouseUp","onMouseUpCapture","onSelect","onSelectCapture","onTouchCancel","onTouchCancelCapture","onTouchEnd","onTouchEndCapture","onTouchMove","onTouchMoveCapture","onTouchStart","onTouchStartCapture","onPointerDown","onPointerDownCapture","onPointerMove","onPointerMoveCapture","onPointerUp","onPointerUpCapture","onPointerCancel","onPointerCancelCapture","onPointerEnter","onPointerEnterCapture","onPointerLeave","onPointerLeaveCapture","onPointerOver","onPointerOverCapture","onPointerOut","onPointerOutCapture","onGotPointerCapture","onGotPointerCaptureCapture","onLostPointerCapture","onLostPointerCaptureCapture","onScroll","onScrollCapture","onWheel","onWheelCapture","onAnimationStart","onAnimationStartCapture","onAnimationEnd","onAnimationEndCapture","onAnimationIteration","onAnimationIterationCapture","onTransitionEnd","onTransitionEndCapture"];function pl(e){if(typeof e!="string")return!1;var t=g0;return t.includes(e)}var b0=["aria-activedescendant","aria-atomic","aria-autocomplete","aria-busy","aria-checked","aria-colcount","aria-colindex","aria-colspan","aria-controls","aria-current","aria-describedby","aria-details","aria-disabled","aria-errormessage","aria-expanded","aria-flowto","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-level","aria-live","aria-modal","aria-multiline","aria-multiselectable","aria-orientation","aria-owns","aria-placeholder","aria-posinset","aria-pressed","aria-readonly","aria-relevant","aria-required","aria-roledescription","aria-rowcount","aria-rowindex","aria-rowspan","aria-selected","aria-setsize","aria-sort","aria-valuemax","aria-valuemin","aria-valuenow","aria-valuetext","className","color","height","id","lang","max","media","method","min","name","style","target","width","role","tabIndex","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeName","attributeType","autoReverse","azimuth","baseFrequency","baselineShift","baseProfile","bbox","begin","bias","by","calcMode","capHeight","clip","clipPath","clipPathUnits","clipRule","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","d","decelerate","descent","diffuseConstant","direction","display","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","end","exponent","externalResourcesRequired","fill","fillOpacity","fillRule","filter","filterRes","filterUnits","floodColor","floodOpacity","focusable","fontFamily","fontSize","fontSizeAdjust","fontStretch","fontStyle","fontVariant","fontWeight","format","from","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","href","ideographic","imageRendering","in2","in","intercept","k1","k2","k3","k4","k","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerHeight","markerMid","markerStart","markerUnits","markerWidth","mask","maskContentUnits","maskUnits","mathematical","mode","numOctaves","offset","opacity","operator","order","orient","orientation","origin","overflow","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","r","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","result","rotate","rx","ry","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","startOffset","stdDeviation","stemh","stemv","stitchTiles","stopColor","stopOpacity","strikethroughPosition","strikethroughThickness","string","stroke","strokeDasharray","strokeDashoffset","strokeLinecap","strokeLinejoin","strokeMiterlimit","strokeOpacity","strokeWidth","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textLength","textRendering","to","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","values","vectorEffect","version","vertAdvY","vertOriginX","vertOriginY","vHanging","vIdeographic","viewTarget","visibility","vMathematical","widths","wordSpacing","writingMode","x1","x2","x","xChannelSelector","xHeight","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlns","xmlnsXlink","xmlSpace","y1","y2","y","yChannelSelector","z","zoomAndPan","ref","key","angle"],x0=new Set(b0);function bh(e){return typeof e!="string"?!1:x0.has(e)}function xh(e){return typeof e=="string"&&e.startsWith("data-")}function nt(e){if(typeof e!="object"||e===null)return{};var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(bh(r)||xh(r))&&(t[r]=e[r]);return t}function Qi(e){if(e==null)return null;if(m.isValidElement(e)&&typeof e.props=="object"&&e.props!==null){var t=e.props;return nt(t)}return typeof e=="object"&&!Array.isArray(e)?nt(e):null}function Ge(e){var t={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(bh(r)||xh(r)||pl(r))&&(t[r]=e[r]);return t}function w0(e){return e==null?null:m.isValidElement(e)?Ge(e.props):typeof e=="object"&&!Array.isArray(e)?Ge(e):null}var P0=["children","width","height","viewBox","className","style","title","desc"];function bu(){return bu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},bu.apply(null,arguments)}function O0(e,t){if(e==null)return{};var r,n,i=S0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function S0(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var wh=m.forwardRef((e,t)=>{var{children:r,width:n,height:i,viewBox:a,className:o,style:u,title:l,desc:c}=e,s=O0(e,P0),f=a||{width:n,height:i,x:0,y:0},d=V("recharts-surface",o);return m.createElement("svg",bu({},Ge(s),{className:d,width:n,height:i,style:u,viewBox:"".concat(f.x," ").concat(f.y," ").concat(f.width," ").concat(f.height),ref:t}),m.createElement("title",null,l),m.createElement("desc",null,c),r)}),A0=["children","className"];function xu(){return xu=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)({}).hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},xu.apply(null,arguments)}function _0(e,t){if(e==null)return{};var r,n,i=E0(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n<a.length;n++)r=a[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function E0(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.indexOf(n)!==-1)continue;r[n]=e[n]}return r}var dt=m.forwardRef((e,t)=>{var{children:r,className:n}=e,i=_0(e,A0),a=V("recharts-layer",n);return m.createElement("g",xu({className:a},Ge(i),{ref:t}),r)}),Ph=c0(),C0=m.createContext(null);function re(e){return function(){return e}}const wu=Math.PI,Pu=2*wu,Zt=1e-6,j0=Pu-Zt;function Oh(e){this._+=e[0];for(let t=1,r=e.length;t<r;++t)this._+=arguments[t]+e[t]}function k0(e){let t=Math.floor(e);if(!(t>=0))throw new Error(`invalid digits: ${e}`);if(t>15)return Oh;const r=10**t;return function(n){this._+=n[0];for(let i=1,a=n.length;i<a;++i)this._+=Math.round(arguments[i]*r)/r+n[i]}}class M0{constructor(t){this._x0=this._y0=this._x1=this._y1=null,this._="",this._append=t==null?Oh:k0(t)}moveTo(t,r){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}`}closePath(){this._x1!==null&&(this._x1=this._x0,this._y1=this._y0,this._append`Z`)}lineTo(t,r){this._append`L${this._x1=+t},${this._y1=+r}`}quadraticCurveTo(t,r,n,i){this._append`Q${+t},${+r},${this._x1=+n},${this._y1=+i}`}bezierCurveTo(t,r,n,i,a,o){this._append`C${+t},${+r},${+n},${+i},${this._x1=+a},${this._y1=+o}`}arcTo(t,r,n,i,a){if(t=+t,r=+r,n=+n,i=+i,a=+a,a<0)throw new Error(`negative radius: ${a}`);let o=this._x1,u=this._y1,l=n-t,c=i-r,s=o-t,f=u-r,d=s*s+f*f;if(this._x1===null)this._append`M${this._x1=t},${this._y1=r}`;else if(d>Zt)if(!(Math.abs(f*l-c*s)>Zt)||!a)this._append`L${this._x1=t},${this._y1=r}`;else{let v=n-o,h=i-u,y=l*l+c*c,p=v*v+h*h,g=Math.sqrt(y),P=Math.sqrt(d),O=a*Math.tan((wu-Math.acos((y+d-p)/(2*g*P)))/2),b=O/P,x=O/g;Math.abs(b-1)>Zt&&this._append`L${t+b*s},${r+b*f}`,this._append`A${a},${a},0,0,${+(f*v>s*h)},${this._x1=t+x*l},${this._y1=r+x*c}`}}arc(t,r,n,i,a,o){if(t=+t,r=+r,n=+n,o=!!o,n<0)throw new Error(`negative radius: ${n}`);let u=n*Math.cos(i),l=n*Math.sin(i),c=t+u,s=r+l,f=1^o,d=o?i-a:a-i;this._x1===null?this._append`M${c},${s}`:(Math.abs(this._x1-c)>Zt||Math.abs(this._y1-s)>Zt)&&this._append`L${c},${s}`,n&&(d<0&&(d=d%Pu+Pu),d>j0?this._append`A${n},${n},0,1,${f},${t-u},${r-l}A${n},${n},0,1,${f},${this._x1=c},${this._y1=s}`:d>Zt&&this._append`A${n},${n},0,${+(d>=wu)},${f},${this._x1=t+n*Math.cos(a)},${this._y1=r+n*Math.sin(a)}`)}rect(t,r,n,i){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+i}h${-n}Z`}toString(){return this._}}function Sh(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new M0(t)}function ml(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function Ah(e){this._context=e}Ah.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:this._context.lineTo(e,t);break}}};function Ji(e){return new Ah(e)}function _h(e){return e[0]}function Eh(e){return e[1]}function Ch(e,t){var r=re(!0),n=null,i=Ji,a=null,o=Sh(u);e=typeof e=="function"?e:e===void 0?_h:re(e),t=typeof t=="function"?t:t===void 0?Eh:re(t);function u(l){var c,s=(l=ml(l)).length,f,d=!1,v;for(n==null&&(a=i(v=o())),c=0;c<=s;++c)!(c<s&&r(f=l[c],c,l))===d&&((d=!d)?a.lineStart():a.lineEnd()),d&&a.point(+e(f,c,l),+t(f,c,l));if(v)return a=null,v+""||null}return u.x=function(l){return arguments.length?(e=typeof l=="function"?l:re(+l),u):e},u.y=function(l){return arguments.length?(t=typeof l=="function"?l:re(+l),u):t},u.defined=function(l){return arguments.length?(r=typeof l=="function"?l:re(!!l),u):r},u.curve=function(l){return arguments.length?(i=l,n!=null&&(a=i(n)),u):i},u.context=function(l){return arguments.length?(l==null?n=a=null:a=i(n=l),u):n},u}function zn(e,t,r){var n=null,i=re(!0),a=null,o=Ji,u=null,l=Sh(c);e=typeof e=="function"?e:e===void 0?_h:re(+e),t=typeof t=="function"?t:re(t===void 0?0:+t),r=typeof r=="function"?r:r===void 0?Eh:re(+r);function c(f){var d,v,h,y=(f=ml(f)).length,p,g=!1,P,O=new Array(y),b=new Array(y);for(a==null&&(u=o(P=l())),d=0;d<=y;++d){if(!(d<y&&i(p=f[d],d,f))===g)if(g=!g)v=d,u.areaStart(),u.lineStart();else{for(u.lineEnd(),u.lineStart(),h=d-1;h>=v;--h)u.point(O[h],b[h]);u.lineEnd(),u.areaEnd()}g&&(O[d]=+e(p,d,f),b[d]=+t(p,d,f),u.point(n?+n(p,d,f):O[d],r?+r(p,d,f):b[d]))}if(P)return u=null,P+""||null}function s(){return Ch().defined(i).curve(o).context(a)}return c.x=function(f){return arguments.length?(e=typeof f=="function"?f:re(+f),n=null,c):e},c.x0=function(f){return arguments.length?(e=typeof f=="function"?f:re(+f),c):e},c.x1=function(f){return arguments.length?(n=f==null?null:typeof f=="function"?f:re(+f),c):n},c.y=function(f){return arguments.length?(t=typeof f=="function"?f:re(+f),r=null,c):t},c.y0=function(f){return arguments.length?(t=typeof f=="function"?f:re(+f),c):t},c.y1=function(f){return arguments.length?(r=f==null?null:typeof f=="function"?f:re(+f),c):r},c.lineX0=c.lineY0=function(){return s().x(e).y(t)},c.lineY1=function(){return s().x(e).y(r)},c.lineX1=function(){return s().x(n).y(t)},c.defined=function(f){return arguments.length?(i=typeof f=="function"?f:re(!!f),c):i},c.curve=function(f){return arguments.length?(o=f,a!=null&&(u=o(a)),c):o},c.context=function(f){return arguments.length?(f==null?a=u=null:u=o(a=f),c):a},c}class jh{constructor(t,r){this._context=t,this._x=r}areaStart(){this._line=0}areaEnd(){this._line=NaN}lineStart(){this._point=0}lineEnd(){(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line}point(t,r){switch(t=+t,r=+r,this._point){case 0:{this._point=1,this._line?this._context.lineTo(t,r):this._context.moveTo(t,r);break}case 1:this._point=2;default:{this._x?this._context.bezierCurveTo(this._x0=(this._x0+t)/2,this._y0,this._x0,r,t,r):this._context.bezierCurveTo(this._x0,this._y0=(this._y0+r)/2,t,this._y0,t,r);break}}this._x0=t,this._y0=r}}function I0(e){return new jh(e,!0)}function T0(e){return new jh(e,!1)}function li(){}function si(e,t,r){e._context.bezierCurveTo((2*e._x0+e._x1)/3,(2*e._y0+e._y1)/3,(e._x0+2*e._x1)/3,(e._y0+2*e._y1)/3,(e._x0+4*e._x1+t)/6,(e._y0+4*e._y1+r)/6)}function kh(e){this._context=e}kh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){switch(this._point){case 3:si(this,this._x1,this._y1);case 2:this._context.lineTo(this._x1,this._y1);break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,this._context.lineTo((5*this._x0+this._x1)/6,(5*this._y0+this._y1)/6);default:si(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function D0(e){return new kh(e)}function Mh(e){this._context=e}Mh.prototype={areaStart:li,areaEnd:li,lineStart:function(){this._x0=this._x1=this._x2=this._x3=this._x4=this._y0=this._y1=this._y2=this._y3=this._y4=NaN,this._point=0},lineEnd:function(){switch(this._point){case 1:{this._context.moveTo(this._x2,this._y2),this._context.closePath();break}case 2:{this._context.moveTo((this._x2+2*this._x3)/3,(this._y2+2*this._y3)/3),this._context.lineTo((this._x3+2*this._x2)/3,(this._y3+2*this._y2)/3),this._context.closePath();break}case 3:{this.point(this._x2,this._y2),this.point(this._x3,this._y3),this.point(this._x4,this._y4);break}}},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._x2=e,this._y2=t;break;case 1:this._point=2,this._x3=e,this._y3=t;break;case 2:this._point=3,this._x4=e,this._y4=t,this._context.moveTo((this._x0+4*this._x1+e)/6,(this._y0+4*this._y1+t)/6);break;default:si(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function N0(e){return new Mh(e)}function Ih(e){this._context=e}Ih.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=NaN,this._point=0},lineEnd:function(){(this._line||this._line!==0&&this._point===3)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1;break;case 1:this._point=2;break;case 2:this._point=3;var r=(this._x0+4*this._x1+e)/6,n=(this._y0+4*this._y1+t)/6;this._line?this._context.lineTo(r,n):this._context.moveTo(r,n);break;case 3:this._point=4;default:si(this,e,t);break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t}};function L0(e){return new Ih(e)}function Th(e){this._context=e}Th.prototype={areaStart:li,areaEnd:li,lineStart:function(){this._point=0},lineEnd:function(){this._point&&this._context.closePath()},point:function(e,t){e=+e,t=+t,this._point?this._context.lineTo(e,t):(this._point=1,this._context.moveTo(e,t))}};function $0(e){return new Th(e)}function Ys(e){return e<0?-1:1}function Gs(e,t,r){var n=e._x1-e._x0,i=t-e._x1,a=(e._y1-e._y0)/(n||i<0&&-0),o=(r-e._y1)/(i||n<0&&-0),u=(a*i+o*n)/(n+i);return(Ys(a)+Ys(o))*Math.min(Math.abs(a),Math.abs(o),.5*Math.abs(u))||0}function Vs(e,t){var r=e._x1-e._x0;return r?(3*(e._y1-e._y0)/r-t)/2:t}function Fa(e,t,r){var n=e._x0,i=e._y0,a=e._x1,o=e._y1,u=(a-n)/3;e._context.bezierCurveTo(n+u,i+u*t,a-u,o-u*r,a,o)}function ci(e){this._context=e}ci.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x0=this._x1=this._y0=this._y1=this._t0=NaN,this._point=0},lineEnd:function(){switch(this._point){case 2:this._context.lineTo(this._x1,this._y1);break;case 3:Fa(this,this._t0,Vs(this,this._t0));break}(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line=1-this._line},point:function(e,t){var r=NaN;if(e=+e,t=+t,!(e===this._x1&&t===this._y1)){switch(this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;break;case 2:this._point=3,Fa(this,Vs(this,r=Gs(this,e,t)),r);break;default:Fa(this,this._t0,r=Gs(this,e,t));break}this._x0=this._x1,this._x1=e,this._y0=this._y1,this._y1=t,this._t0=r}}};function Dh(e){this._context=new Nh(e)}(Dh.prototype=Object.create(ci.prototype)).point=function(e,t){ci.prototype.point.call(this,t,e)};function Nh(e){this._context=e}Nh.prototype={moveTo:function(e,t){this._context.moveTo(t,e)},closePath:function(){this._context.closePath()},lineTo:function(e,t){this._context.lineTo(t,e)},bezierCurveTo:function(e,t,r,n,i,a){this._context.bezierCurveTo(t,e,n,r,a,i)}};function R0(e){return new ci(e)}function z0(e){return new Dh(e)}function Lh(e){this._context=e}Lh.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=[],this._y=[]},lineEnd:function(){var e=this._x,t=this._y,r=e.length;if(r)if(this._line?this._context.lineTo(e[0],t[0]):this._context.moveTo(e[0],t[0]),r===2)this._context.lineTo(e[1],t[1]);else for(var n=Xs(e),i=Xs(t),a=0,o=1;o<r;++a,++o)this._context.bezierCurveTo(n[0][a],i[0][a],n[1][a],i[1][a],e[o],t[o]);(this._line||this._line!==0&&r===1)&&this._context.closePath(),this._line=1-this._line,this._x=this._y=null},point:function(e,t){this._x.push(+e),this._y.push(+t)}};function Xs(e){var t,r=e.length-1,n,i=new Array(r),a=new Array(r),o=new Array(r);for(i[0]=0,a[0]=2,o[0]=e[0]+2*e[1],t=1;t<r-1;++t)i[t]=1,a[t]=4,o[t]=4*e[t]+2*e[t+1];for(i[r-1]=2,a[r-1]=7,o[r-1]=8*e[r-1]+e[r],t=1;t<r;++t)n=i[t]/a[t-1],a[t]-=n,o[t]-=n*o[t-1];for(i[r-1]=o[r-1]/a[r-1],t=r-2;t>=0;--t)i[t]=(o[t]-i[t+1])/a[t];for(a[r-1]=(e[r]+i[r-1])/2,t=0;t<r-1;++t)a[t]=2*e[t+1]-i[t+1];return[i,a]}function B0(e){return new Lh(e)}function ea(e,t){this._context=e,this._t=t}ea.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&this._point===2&&this._context.lineTo(this._x,this._y),(this._line||this._line!==0&&this._point===1)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(e,t){switch(e=+e,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(e,t):this._context.moveTo(e,t);break;case 1:this._point=2;default:{if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(e,t);else{var r=this._x*(1-this._t)+e*this._t;this._context.lineTo(r,this._y),this._context.lineTo(r,t)}break}}this._x=e,this._y=t}};function F0(e){return new ea(e,.5)}function q0(e){return new ea(e,0)}function W0(e){return new ea(e,1)}function lr(e,t){if((o=e.length)>1)for(var r=1,n,i,a=e[t[0]],o,u=a.length;r<o;++r)for(i=a,a=e[t[r]],n=0;n<u;++n)a[n][1]+=a[n][0]=isNaN(i[n][1])?i[n][0]:i[n][1]}function Ou(e){for(var t=e.length,r=new Array(t);--t>=0;)r[t]=t;return r}function U0(e,t){return e[t]}function K0(e){const t=[];return t.key=e,t}function H0(){var e=re([]),t=Ou,r=lr,n=U0;function i(a){var o=Array.from(e.apply(this,arguments),K0),u,l=o.length,c=-1,s;for(const f of a)for(u=0,++c;u<l;++u)(o[u][c]=[0,+n(f,o[u].key,c,a)]).data=f;for(u=0,s=ml(t(o));u<l;++u)o[s[u]].index=u;return r(o,s),o}return i.keys=function(a){return arguments.length?(e=typeof a=="function"?a:re(Array.from(a)),i):e},i.value=function(a){return arguments.length?(n=typeof a=="function"?a:re(+a),i):n},i.order=function(a){return arguments.length?(t=a==null?Ou:typeof a=="function"?a:re(Array.from(a)),i):t},i.offset=function(a){return arguments.length?(r=a??lr,i):r},i}function Y0(e,t){if((n=e.length)>0){for(var r,n,i=0,a=e[0].length,o;i<a;++i){for(o=r=0;r<n;++r)o+=e[r][i][1]||0;if(o)for(r=0;r<n;++r)e[r][i][1]/=o}lr(e,t)}}function G0(e,t){if((i=e.length)>0){for(var r=0,n=e[t[0]],i,a=n.length;r<a;++r){for(var o=0,u=0;o<i;++o)u+=e[o][r][1]||0;n[r][1]+=n[r][0]=-u/2}lr(e,t)}}function V0(e,t){if(!(!((o=e.length)>0)||!((a=(i=e[t[0]]).length)>0))){for(var r=0,n=1,i,a,o;n<a;++n){for(var u=0,l=0,c=0;u<o;++u){for(var s=e[t[u]],f=s[n][1]||0,d=s[n-1][1]||0,v=(f-d)/2,h=0;h<u;++h){var y=e[t[h]],p=y[n][1]||0,g=y[n-1][1]||0;v+=p-g}l+=f,c+=v*f}i[n-1][1]+=i[n-1][0]=r,l&&(r-=c/l)}i[n-1][1]+=i[n-1][0]=r,lr(e,t)}}var qa={},Wa={},Zs;function X0(){return Zs||(Zs=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r==="__proto__"}e.isUnsafeProperty=t})(Wa)),Wa}var Ua={},Qs;function $h(){return Qs||(Qs=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){switch(typeof r){case"number":case"symbol":return!1;case"string":return r.includes(".")||r.includes("[")||r.includes("]")}}e.isDeepKey=t})(Ua)),Ua}var Ka={},Js;function yl(){return Js||(Js=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){var n;return typeof r=="string"||typeof r=="symbol"?r:Object.is((n=r==null?void 0:r.valueOf)==null?void 0:n.call(r),-0)?"-0":String(r)}e.toKey=t})(Ka)),Ka}var Ha={},Ya={},ec;function Z0(){return ec||(ec=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){if(r==null)return"";if(typeof r=="string")return r;if(Array.isArray(r))return r.map(t).join(",");const n=String(r);return n==="0"&&Object.is(Number(r),-0)?"-0":n}e.toString=t})(Ya)),Ya}var tc;function gl(){return tc||(tc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Z0(),r=yl();function n(i){if(Array.isArray(i))return i.map(r.toKey);if(typeof i=="symbol")return[i];i=t.toString(i);const a=[],o=i.length;if(o===0)return a;let u=0,l="",c="",s=!1;for(i.charCodeAt(0)===46&&(a.push(""),u++);u<o;){const f=i[u];c?f==="\\"&&u+1<o?(u++,l+=i[u]):f===c?c="":l+=f:s?f==='"'||f==="'"?c=f:f==="]"?(s=!1,a.push(l),l=""):l+=f:f==="["?(s=!0,l&&(a.push(l),l="")):f==="."?l&&(a.push(l),l=""):l+=f,u++}return l&&a.push(l),a}e.toPath=n})(Ha)),Ha}var rc;function bl(){return rc||(rc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=X0(),r=$h(),n=yl(),i=gl();function a(u,l,c){if(u==null)return c;switch(typeof l){case"string":{if(t.isUnsafeProperty(l))return c;const s=u[l];return s===void 0?r.isDeepKey(l)?a(u,i.toPath(l),c):c:s}case"number":case"symbol":{typeof l=="number"&&(l=n.toKey(l));const s=u[l];return s===void 0?c:s}default:{if(Array.isArray(l))return o(u,l,c);if(Object.is(l==null?void 0:l.valueOf(),-0)?l="-0":l=String(l),t.isUnsafeProperty(l))return c;const s=u[l];return s===void 0?c:s}}}function o(u,l,c){if(l.length===0)return c;let s=u;for(let f=0;f<l.length;f++){if(s==null||t.isUnsafeProperty(l[f]))return c;s=s[l[f]]}return s===void 0?c:s}e.get=a})(qa)),qa}var Ga,nc;function Q0(){return nc||(nc=1,Ga=bl().get),Ga}var J0=Q0();const ta=pr(J0);var eb=4;function qt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:eb,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}function ye(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];return e.reduce((i,a,o)=>{var u=r[o-1];return typeof u=="string"?i+u+a:u!==void 0?i+qt(u)+a:i+a},"")}var He=e=>e===0?0:e>0?1:-1,vt=e=>typeof e=="number"&&e!=+e,sr=e=>typeof e=="string"&&e.indexOf("%")===e.length-1,N=e=>(typeof e=="number"||e instanceof Number)&&!vt(e),ht=e=>N(e)||typeof e=="string",tb=0,on=e=>{var t=++tb;return"".concat(e||"").concat(t)},Kt=function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,i=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!N(t)&&typeof t!="string")return n;var a;if(sr(t)){if(r==null)return n;var o=t.indexOf("%");a=r*parseFloat(t.slice(0,o))/100}else a=+t;return vt(a)&&(a=n),i&&r!=null&&a>r&&(a=r),a},Rh=e=>{if(!Array.isArray(e))return!1;for(var t=e.length,r={},n=0;n<t;n++)if(!r[String(e[n])])r[String(e[n])]=!0;else return!0;return!1};function lt(e,t,r){return N(e)&&N(t)?qt(e+r*(t-e)):t}function zh(e,t,r){if(!(!e||!e.length))return e.find(n=>n&&(typeof t=="function"?t(n):ta(n,t))===r)}var Ae=e=>e===null||typeof e>"u",xl=e=>Ae(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1));function Te(e){return e!=null}function Tr(){}var Bh=e=>"radius"in e&&"startAngle"in e&&"endAngle"in e,wl=(e,t)=>{if(!e||typeof e=="function"||typeof e=="boolean")return null;var r=e;if(m.isValidElement(e)&&(r=e.props),typeof r!="object"&&typeof r!="function")return null;var n={};return Object.keys(r).forEach(i=>{pl(i)&&(n[i]=(a=>r[i](r,a)))}),n},rb=(e,t,r)=>n=>(e(t,r,n),null),nb=(e,t,r)=>{if(e===null||typeof e!="object"&&typeof e!="function")return null;var n=null;return Object.keys(e).forEach(i=>{var a=e[i];pl(i)&&typeof a=="function"&&(n||(n={}),n[i]=rb(a,t,r))}),n};function ic(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function ib(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?ic(Object(r),!0).forEach(function(n){ab(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):ic(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}function ab(e,t,r){return(t=ob(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function ob(e){var t=ub(e,"string");return typeof t=="symbol"?t:t+""}function ub(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ue(e,t){var r=ib({},e),n=t,i=Object.keys(t),a=i.reduce((o,u)=>(o[u]===void 0&&n[u]!==void 0&&(o[u]=n[u]),o),r);return a}var Va={},Xa={},ac;function lb(){return ac||(ac=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r,n){const i=new Map;for(let a=0;a<r.length;a++){const o=r[a],u=n(o,a,r);i.has(u)||i.set(u,o)}return Array.from(i.values())}e.uniqBy=t})(Xa)),Xa}var Za={},oc;function sb(){return oc||(oc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r,n){return function(...i){return r.apply(this,i.slice(0,n))}}e.ary=t})(Za)),Za}var Qa={},uc;function Fh(){return uc||(uc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r}e.identity=t})(Qa)),Qa}var Ja={},eo={},to={},lc;function cb(){return lc||(lc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return Number.isSafeInteger(r)&&r>=0}e.isLength=t})(to)),to}var sc;function Pl(){return sc||(sc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=cb();function r(n){return n!=null&&typeof n!="function"&&t.isLength(n.length)}e.isArrayLike=r})(eo)),eo}var ro={},cc;function fb(){return cc||(cc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return typeof r=="object"&&r!==null}e.isObjectLike=t})(ro)),ro}var fc;function db(){return fc||(fc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Pl(),r=fb();function n(i){return r.isObjectLike(i)&&t.isArrayLike(i)}e.isArrayLikeObject=n})(Ja)),Ja}var no={},io={},dc;function vb(){return dc||(dc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=bl();function r(n){return function(i){return t.get(i,n)}}e.property=r})(io)),io}var ao={},oo={},uo={},lo={},vc;function qh(){return vc||(vc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r!==null&&(typeof r=="object"||typeof r=="function")}e.isObject=t})(lo)),lo}var so={},hc;function Wh(){return hc||(hc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r==null||typeof r!="object"&&typeof r!="function"}e.isPrimitive=t})(so)),so}var co={},pc;function Uh(){return pc||(pc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r,n){return r===n||Number.isNaN(r)&&Number.isNaN(n)}e.isEqualsSameValueZero=t})(co)),co}var mc;function hb(){return mc||(mc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=qh(),r=Wh(),n=Uh();function i(s,f,d){return typeof d!="function"?i(s,f,()=>{}):a(s,f,function v(h,y,p,g,P,O){const b=d(h,y,p,g,P,O);return b!==void 0?!!b:a(h,y,v,O)},new Map)}function a(s,f,d,v){if(f===s)return!0;switch(typeof f){case"object":return o(s,f,d,v);case"function":return Object.keys(f).length>0?a(s,{...f},d,v):n.isEqualsSameValueZero(s,f);default:return t.isObject(s)?typeof f=="string"?f==="":!0:n.isEqualsSameValueZero(s,f)}}function o(s,f,d,v){if(f==null)return!0;if(Array.isArray(f))return l(s,f,d,v);if(f instanceof Map)return u(s,f,d,v);if(f instanceof Set)return c(s,f,d,v);const h=Object.keys(f);if(s==null||r.isPrimitive(s))return h.length===0;if(h.length===0)return!0;if(v!=null&&v.has(f))return v.get(f)===s;v==null||v.set(f,s);try{for(let y=0;y<h.length;y++){const p=h[y];if(!r.isPrimitive(s)&&!(p in s)||f[p]===void 0&&s[p]!==void 0||f[p]===null&&s[p]!==null||!d(s[p],f[p],p,s,f,v))return!1}return!0}finally{v==null||v.delete(f)}}function u(s,f,d,v){if(f.size===0)return!0;if(!(s instanceof Map))return!1;for(const[h,y]of f.entries()){const p=s.get(h);if(d(p,y,h,s,f,v)===!1)return!1}return!0}function l(s,f,d,v){if(f.length===0)return!0;if(!Array.isArray(s))return!1;const h=new Set;for(let y=0;y<f.length;y++){const p=f[y];let g=!1;for(let P=0;P<s.length;P++){if(h.has(P))continue;const O=s[P];let b=!1;if(d(O,p,y,s,f,v)&&(b=!0),b){h.add(P),g=!0;break}}if(!g)return!1}return!0}function c(s,f,d,v){return f.size===0?!0:s instanceof Set?l([...s],[...f],d,v):!1}e.isMatchWith=i,e.isSetMatch=c})(uo)),uo}var yc;function Kh(){return yc||(yc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=hb();function r(n,i){return t.isMatchWith(n,i,()=>{})}e.isMatch=r})(oo)),oo}var fo={},vo={},ho={},gc;function pb(){return gc||(gc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return Object.getOwnPropertySymbols(r).filter(n=>Object.prototype.propertyIsEnumerable.call(r,n))}e.getSymbols=t})(ho)),ho}var po={},bc;function Ol(){return bc||(bc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return r==null?r===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(r)}e.getTag=t})(po)),po}var mo={},xc;function Hh(){return xc||(xc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t="[object RegExp]",r="[object String]",n="[object Number]",i="[object Boolean]",a="[object Arguments]",o="[object Symbol]",u="[object Date]",l="[object Map]",c="[object Set]",s="[object Array]",f="[object Function]",d="[object ArrayBuffer]",v="[object Object]",h="[object Error]",y="[object DataView]",p="[object Uint8Array]",g="[object Uint8ClampedArray]",P="[object Uint16Array]",O="[object Uint32Array]",b="[object BigUint64Array]",x="[object Int8Array]",w="[object Int16Array]",S="[object Int32Array]",E="[object BigInt64Array]",j="[object Float32Array]",D="[object Float64Array]";e.argumentsTag=a,e.arrayBufferTag=d,e.arrayTag=s,e.bigInt64ArrayTag=E,e.bigUint64ArrayTag=b,e.booleanTag=i,e.dataViewTag=y,e.dateTag=u,e.errorTag=h,e.float32ArrayTag=j,e.float64ArrayTag=D,e.functionTag=f,e.int16ArrayTag=w,e.int32ArrayTag=S,e.int8ArrayTag=x,e.mapTag=l,e.numberTag=n,e.objectTag=v,e.regexpTag=t,e.setTag=c,e.stringTag=r,e.symbolTag=o,e.uint16ArrayTag=P,e.uint32ArrayTag=O,e.uint8ArrayTag=p,e.uint8ClampedArrayTag=g})(mo)),mo}var yo={},wc;function mb(){return wc||(wc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});function t(r){return ArrayBuffer.isView(r)&&!(r instanceof DataView)}e.isTypedArray=t})(yo)),yo}var Pc;function Yh(){return Pc||(Pc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=pb(),r=Ol(),n=Hh(),i=Wh(),a=mb();function o(s,f){return u(s,void 0,s,new Map,f)}function u(s,f,d,v=new Map,h=void 0){const y=h==null?void 0:h(s,f,d,v);if(y!==void 0)return y;if(i.isPrimitive(s))return s;if(v.has(s))return v.get(s);if(Array.isArray(s)){const p=new Array(s.length);v.set(s,p);for(let g=0;g<s.length;g++)p[g]=u(s[g],g,d,v,h);return Object.hasOwn(s,"index")&&(p.index=s.index),Object.hasOwn(s,"input")&&(p.input=s.input),p}if(s instanceof Date)return new Date(s.getTime());if(s instanceof RegExp){const p=new RegExp(s.source,s.flags);return p.lastIndex=s.lastIndex,p}if(s instanceof Map){const p=new Map;v.set(s,p);for(const[g,P]of s)p.set(g,u(P,g,d,v,h));return p}if(s instanceof Set){const p=new Set;v.set(s,p);for(const g of s)p.add(u(g,void 0,d,v,h));return p}if(typeof Buffer<"u"&&Buffer.isBuffer(s))return s.subarray();if(a.isTypedArray(s)){const p=new(Object.getPrototypeOf(s)).constructor(s.length);v.set(s,p);for(let g=0;g<s.length;g++)p[g]=u(s[g],g,d,v,h);return p}if(s instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&s instanceof SharedArrayBuffer)return s.slice(0);if(s instanceof DataView){const p=new DataView(s.buffer.slice(0),s.byteOffset,s.byteLength);return v.set(s,p),l(p,s,d,v,h),p}if(typeof File<"u"&&s instanceof File){const p=new File([s],s.name,{type:s.type});return v.set(s,p),l(p,s,d,v,h),p}if(typeof Blob<"u"&&s instanceof Blob){const p=new Blob([s],{type:s.type});return v.set(s,p),l(p,s,d,v,h),p}if(s instanceof Error){const p=new s.constructor;return v.set(s,p),p.message=s.message,p.name=s.name,p.stack=s.stack,p.cause=s.cause,l(p,s,d,v,h),p}if(s instanceof Boolean){const p=new Boolean(s.valueOf());return v.set(s,p),l(p,s,d,v,h),p}if(s instanceof Number){const p=new Number(s.valueOf());return v.set(s,p),l(p,s,d,v,h),p}if(s instanceof String){const p=new String(s.valueOf());return v.set(s,p),l(p,s,d,v,h),p}if(typeof s=="object"&&c(s)){const p=Object.create(Object.getPrototypeOf(s));return v.set(s,p),l(p,s,d,v,h),p}return s}function l(s,f,d=s,v,h){const y=[...Object.keys(f),...t.getSymbols(f)];for(let p=0;p<y.length;p++){const g=y[p],P=Object.getOwnPropertyDescriptor(s,g);(P==null||P.writable)&&(s[g]=u(f[g],g,d,v,h))}}function c(s){switch(r.getTag(s)){case n.argumentsTag:case n.arrayTag:case n.arrayBufferTag:case n.dataViewTag:case n.booleanTag:case n.dateTag:case n.float32ArrayTag:case n.float64ArrayTag:case n.int8ArrayTag:case n.int16ArrayTag:case n.int32ArrayTag:case n.mapTag:case n.numberTag:case n.objectTag:case n.regexpTag:case n.setTag:case n.stringTag:case n.symbolTag:case n.uint8ArrayTag:case n.uint8ClampedArrayTag:case n.uint16ArrayTag:case n.uint32ArrayTag:return!0;default:return!1}}e.cloneDeepWith=o,e.cloneDeepWithImpl=u,e.copyProperties=l})(vo)),vo}var Oc;function yb(){return Oc||(Oc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Yh();function r(n){return t.cloneDeepWithImpl(n,void 0,n,new Map,void 0)}e.cloneDeep=r})(fo)),fo}var Sc;function gb(){return Sc||(Sc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Kh(),r=yb();function n(i){return i=r.cloneDeep(i),a=>t.isMatch(a,i)}e.matches=n})(ao)),ao}var go={},bo={},xo={},Ac;function bb(){return Ac||(Ac=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Yh(),r=Ol(),n=Hh();function i(a,o){return t.cloneDeepWith(a,(u,l,c,s)=>{const f=o==null?void 0:o(u,l,c,s);if(f!==void 0)return f;if(typeof a=="object"){if(r.getTag(a)===n.objectTag&&typeof a.constructor!="function"){const d={};return s.set(a,d),t.copyProperties(d,a,c,s),d}switch(Object.prototype.toString.call(a)){case n.numberTag:case n.stringTag:case n.booleanTag:{const d=new a.constructor(a==null?void 0:a.valueOf());return t.copyProperties(d,a),d}case n.argumentsTag:{const d={};return t.copyProperties(d,a),d.length=a.length,d[Symbol.iterator]=a[Symbol.iterator],d}default:return}}})}e.cloneDeepWith=i})(xo)),xo}var _c;function xb(){return _c||(_c=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=bb();function r(n){return t.cloneDeepWith(n)}e.cloneDeep=r})(bo)),bo}var wo={},Po={},Ec;function Gh(){return Ec||(Ec=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=/^(?:0|[1-9]\d*)$/;function r(n,i=Number.MAX_SAFE_INTEGER){switch(typeof n){case"number":return Number.isInteger(n)&&n>=0&&n<i;case"symbol":return!1;case"string":return t.test(n)}}e.isIndex=r})(Po)),Po}var Oo={},Cc;function wb(){return Cc||(Cc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Ol();function r(n){return n!==null&&typeof n=="object"&&t.getTag(n)==="[object Arguments]"}e.isArguments=r})(Oo)),Oo}var jc;function Pb(){return jc||(jc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=$h(),r=Gh(),n=wb(),i=gl();function a(o,u){let l;if(Array.isArray(u)?l=u:typeof u=="string"&&t.isDeepKey(u)&&(o==null?void 0:o[u])==null?l=i.toPath(u):l=[u],l.length===0)return!1;let c=o;for(let s=0;s<l.length;s++){const f=l[s];if((c==null||!Object.hasOwn(c,f))&&!((Array.isArray(c)||n.isArguments(c))&&r.isIndex(f)&&f<c.length))return!1;c=c[f]}return!0}e.has=a})(wo)),wo}var kc;function Ob(){return kc||(kc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Kh(),r=yl(),n=xb(),i=bl(),a=Pb();function o(u,l){switch(typeof u){case"object":{Object.is(u==null?void 0:u.valueOf(),-0)&&(u="-0");break}case"number":{u=r.toKey(u);break}}return l=n.cloneDeep(l),function(c){const s=i.get(c,u);return s===void 0?a.has(c,u):l===void 0?s===void 0:t.isMatch(s,l)}}e.matchesProperty=o})(go)),go}var Mc;function Sb(){return Mc||(Mc=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=Fh(),r=vb(),n=gb(),i=Ob();function a(o){if(o==null)return t.identity;switch(typeof o){case"function":return o;case"object":return Array.isArray(o)&&o.length===2?i.matchesProperty(o[0],o[1]):n.matches(o);case"string":case"symbol":case"number":return r.property(o)}}e.iteratee=a})(no)),no}var Ic;function Ab(){return Ic||(Ic=1,(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:"Module"});const t=lb(),r=sb(),n=Fh(),i=db(),a=Sb();function o(u,l=n.identity){return i.isArrayLikeObject(u)?t.uniqBy(Array.from(u),r.ary(a.iteratee(l),1)):[]}e.uniqBy=o})(Va)),Va}var So,Tc;function _b(){return Tc||(Tc=1,So=Ab().uniqBy),So}var Eb=_b();const Dc=pr(Eb);function Cb(e,t,r){return t===!0?Dc(e,r):typeof t=="function"?Dc(e,t):e}var Ao={exports:{}},_o={},Eo={exports:{}},Co={};/**
2
2
  * @license React
3
3
  * use-sync-external-store-shim.production.js
4
4
  *
@@ -1,4 +1,4 @@
1
- import{a as t}from"./index-DgQg-mjd.js";/**
1
+ import{a as t}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as e}from"./index-DgQg-mjd.js";/**
1
+ import{a as e}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as c}from"./index-DgQg-mjd.js";/**
1
+ import{a as c}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r as s,j as e,n,o as x,c as p}from"./index-DgQg-mjd.js";function u({children:t,language:o,className:a,copyable:d=!0}){const[c,r]=s.useState(!1),i=s.useCallback(()=>{navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),2e3)},[t]);return e.jsxs("div",{className:p("relative group rounded-md border border-border-default bg-bg-input",a),children:[d&&e.jsx("button",{onClick:i,className:"absolute top-2 right-2 p-1.5 rounded-md text-text-muted hover:text-text-secondary hover:bg-bg-hover opacity-0 group-hover:opacity-100 transition-all cursor-pointer",children:c?e.jsx(n,{size:14}):e.jsx(x,{size:14})}),o&&e.jsx("div",{className:"px-3 py-1.5 border-b border-border-muted",children:e.jsx("span",{className:"text-[10px] font-medium text-text-muted uppercase tracking-wider",children:o})}),e.jsx("pre",{className:"p-3 overflow-x-auto",children:e.jsx("code",{className:"font-mono text-[13px] leading-relaxed text-text-secondary",children:t})})]})}export{u as C};
1
+ import{r as s,j as e,n,o as x,c as p}from"./index-CUDottTv.js";function u({children:t,language:o,className:a,copyable:d=!0}){const[c,r]=s.useState(!1),i=s.useCallback(()=>{navigator.clipboard.writeText(t),r(!0),setTimeout(()=>r(!1),2e3)},[t]);return e.jsxs("div",{className:p("relative group rounded-md border border-border-default bg-bg-input",a),children:[d&&e.jsx("button",{onClick:i,className:"absolute top-2 right-2 p-1.5 rounded-md text-text-muted hover:text-text-secondary hover:bg-bg-hover opacity-0 group-hover:opacity-100 transition-all cursor-pointer",children:c?e.jsx(n,{size:14}):e.jsx(x,{size:14})}),o&&e.jsx("div",{className:"px-3 py-1.5 border-b border-border-muted",children:e.jsx("span",{className:"text-[10px] font-medium text-text-muted uppercase tracking-wider",children:o})}),e.jsx("pre",{className:"p-3 overflow-x-auto",children:e.jsx("code",{className:"font-mono text-[13px] leading-relaxed text-text-secondary",children:t})})]})}export{u as C};
@@ -1,4 +1,4 @@
1
- import{a as L,j as e,c,r as i,q as v,w,T as S,z as M,L as E}from"./index-DgQg-mjd.js";import{S as I}from"./textarea-BROdxV-a.js";import{J as A}from"./json-viewer-CtsL_JTK.js";import{E as F}from"./export-button-BioZ3ot5.js";import{u as D}from"./use-connected-c8-oDf2s.js";import{b as R}from"./format-CF_gowqw.js";import{I as z}from"./info-aicvFsRA.js";import{C as q}from"./chevron-right-D0z93_PM.js";import"./download-OeUZzFM9.js";/**
1
+ import{a as L,j as e,c,r as i,q as v,w,T as S,z as M,L as E}from"./index-CUDottTv.js";import{S as I}from"./textarea-DAwdLdON.js";import{J as A}from"./json-viewer-Dup5M0px.js";import{E as F}from"./export-button-D7y2ugNf.js";import{u as D}from"./use-connected-3Ljk-Uwv.js";import{b as R}from"./format-CF_gowqw.js";import{I as z}from"./info-C0v7mgTM.js";import{C as q}from"./chevron-right-Df1qu9CE.js";import"./download-CwvkYJyJ.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as v,r as x,j as t,C as k,c as i}from"./index-DgQg-mjd.js";/**
1
+ import{a as v,r as x,j as t,C as k,c as i}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{r as g,q,j as e,c as N,y as $}from"./index-DgQg-mjd.js";import{T as F}from"./topbar-DJt5eMx5.js";import{B as Q}from"./badge-BGgXl2qy.js";import"./textarea-BROdxV-a.js";import{C as w}from"./code-block-BfLeZt-6.js";import{D as k}from"./data-table-CxVXG3zy.js";import{D as R}from"./detail-panel-CxidKK1j.js";import{F as P}from"./filter-bar-CCwrTxz_.js";import{E as H}from"./empty-config-state-BRw-Dnk-.js";import{E as B}from"./export-button-BioZ3ot5.js";import{u as _}from"./use-connected-c8-oDf2s.js";import{c as y,f as x}from"./format-CF_gowqw.js";import"./download-OeUZzFM9.js";function W(t,r){if(t.length===0)return 0;const n=Math.ceil(t.length*(r/100))-1;return t[Math.max(0,n)]}function K(t){const r=new Map;for(const i of t){const s=r.get(i.normalizedQuery)??[];s.push(i),r.set(i.normalizedQuery,s)}const n=[];for(const[i,s]of r){const f=s.map(c=>c.duration).sort((c,m)=>c-m),b=f.reduce((c,m)=>c+m,0),j=new Set;for(const c of s)for(const m of c.tablesAccessed)j.add(m);const d=s.filter(c=>c.rowsReturned!=null).map(c=>c.rowsReturned);n.push({normalizedQuery:i,tables:[...j],operation:s[0].operation,callCount:s.length,avgDuration:b/s.length,maxDuration:Math.max(...f),p95Duration:W(f,95),totalDuration:b,avgRows:d.length>0?d.reduce((c,m)=>c+m,0)/d.length:0})}return n.sort((i,s)=>s.totalDuration-i.totalDuration)}function V(t){const r=new Map;for(const n of t)for(const i of n.tablesAccessed){let s=r.get(i);s||(s={name:i,operations:{SELECT:0,INSERT:0,UPDATE:0,DELETE:0,OTHER:0},totalQueries:0,avgDuration:0,columns:[]},r.set(i,s)),s.totalQueries++;const f=n.operation in s.operations?n.operation:"OTHER";s.operations[f]++}for(const[n,i]of r){const s=t.filter(j=>j.tablesAccessed.includes(n)),f=s.reduce((j,d)=>j+d.duration,0);i.avgDuration=s.length>0?f/s.length:0;const b=new Set;for(const j of s){const d=/(?:WHERE|AND|OR|SET|ON)\s+["'`]?(\w+)["'`]?\s*(?:=|>|<|!=|LIKE|IN|IS)/gi;let c;for(;(c=d.exec(j.query))!==null;){const m=c[1].toLowerCase();["select","from","where","and","or","not","null","true","false"].includes(m)||b.add(c[1])}}i.columns=[...b].sort()}return[...r.values()].sort((n,i)=>i.totalQueries-n.totalQueries)}const M={SELECT:"blue",INSERT:"green",DELETE:"red",UPDATE:"amber",OTHER:"purple"},Y=[{key:"query",header:"Query",render:t=>e.jsx("span",{className:"font-mono text-[12px] text-text-secondary truncate block max-w-[400px]",children:t.query})},{key:"duration",header:"Duration",width:"100px",render:t=>e.jsx("span",{className:N("tabular-nums",t.duration>500?"text-red":t.duration>100?"text-amber":""),children:x(t.duration)})},{key:"operation",header:"Op",width:"80px",render:t=>e.jsx(Q,{variant:M[t.operation]??"purple",size:"sm",children:t.operation})},{key:"rows",header:"Rows",width:"70px",render:t=>{const r=t;return e.jsx("span",{className:"tabular-nums",children:r.rowsReturned??r.rowsAffected??"—"})}},{key:"tables",header:"Tables",width:"120px",render:t=>{const r=t.tablesAccessed;return e.jsx("span",{className:"text-text-muted text-xs truncate block max-w-[100px]",children:r.join(", ")||"—"})}},{key:"source",header:"Source",width:"80px",render:t=>e.jsx("span",{className:"text-text-muted text-xs",children:t.source})}],G=[{key:"normalizedQuery",header:"Query Pattern",render:t=>e.jsx("span",{className:"font-mono text-[12px] text-text-secondary truncate block max-w-[350px]",children:t.normalizedQuery})},{key:"callCount",header:"Calls",width:"70px",render:t=>e.jsx("span",{className:N("tabular-nums",t.callCount>50?"text-amber":""),children:t.callCount})},{key:"avgDuration",header:"Avg",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums",children:x(t.avgDuration)})},{key:"p95Duration",header:"P95",width:"80px",render:t=>e.jsx("span",{className:N("tabular-nums",t.p95Duration>500?"text-red":t.p95Duration>200?"text-amber":""),children:x(t.p95Duration)})},{key:"maxDuration",header:"Max",width:"80px",render:t=>e.jsx("span",{className:N("tabular-nums",t.maxDuration>500?"text-red":t.maxDuration>200?"text-amber":""),children:x(t.maxDuration)})},{key:"operation",header:"Op",width:"80px",render:t=>e.jsx(Q,{variant:M[t.operation]??"purple",size:"sm",children:t.operation})},{key:"totalDuration",header:"Total",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums text-text-muted",children:x(t.totalDuration)})}],J=[{key:"name",header:"Table",width:"180px",render:t=>e.jsx("span",{className:"font-mono text-[13px] font-medium text-text-primary",children:t.name})},{key:"totalQueries",header:"Queries",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums",children:y(t.totalQueries)})},{key:"select",header:"SEL",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-blue",children:r.SELECT||"—"})}},{key:"insert",header:"INS",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-green",children:r.INSERT||"—"})}},{key:"update",header:"UPD",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-amber",children:r.UPDATE||"—"})}},{key:"delete",header:"DEL",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-red",children:r.DELETE||"—"})}},{key:"avgDuration",header:"Avg",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums",children:x(t.avgDuration)})}];function ue(){const[t,r]=g.useState("queries"),[n,i]=g.useState(null),[s,f]=g.useState(""),[b,j]=g.useState(null);_();const d=q(a=>a.database),c=q(a=>a.initialLoadDone),m=g.useMemo(()=>{let a=d;if(b&&(a=a.filter(h=>h.operation===b)),s){const h=s.toLowerCase();a=a.filter(E=>E.query.toLowerCase().includes(h)||E.tablesAccessed.some(D=>D.toLowerCase().includes(h)))}return a},[d,b,s]),S=g.useMemo(()=>K(d),[d]),L=g.useMemo(()=>V(d),[d]),l=t==="queries"&&n!==null?m[n]:null,o=t==="performance"&&n!==null?S[n]:null,u=t==="schema"&&n!==null?L[n]:null,{totalQueries:O,avgDuration:I,slowCount:A}=g.useMemo(()=>{const a=d.length,h=a>0?d.reduce((D,U)=>D+U.duration,0)/a:0,E=d.filter(D=>D.duration>500).length;return{totalQueries:a,avgDuration:h,slowCount:E}},[d]),z=g.useCallback(a=>{r(a),i(null),f(""),j(null)},[]),T=g.useCallback((a,h)=>{i(h)},[]),C=g.useCallback(()=>{i(null)},[]);return e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[e.jsx(F,{tabs:[{id:"queries",label:"Queries"},{id:"performance",label:"Performance"},{id:"schema",label:"Schema"}],activeTab:t,onTabChange:z}),e.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[t==="queries"&&e.jsxs(P,{search:s,onSearchChange:f,searchPlaceholder:"Filter by query or table...",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[["SELECT","INSERT","UPDATE","DELETE"].map(a=>e.jsx("button",{onClick:()=>j(b===a?null:a),className:N("px-2 py-0.5 rounded text-[11px] font-medium transition-colors",b===a?"bg-accent/15 text-accent":"text-text-muted hover:text-text-secondary"),children:a},a)),e.jsxs("span",{className:"text-xs text-text-muted ml-2",children:[m.length," queries",A>0&&e.jsxs("span",{className:"text-amber ml-1",children:["(",A," slow)"]})]})]}),e.jsx(B,{data:m,filename:"database-queries"})]}),t==="performance"&&e.jsx(P,{search:"",onSearchChange:()=>{},searchPlaceholder:"",children:e.jsxs("div",{className:"flex items-center gap-3 text-xs text-text-muted",children:[e.jsxs("span",{children:[S.length," patterns"]}),e.jsxs("span",{children:[y(O)," total queries"]}),e.jsxs("span",{children:["Avg ",x(I)]})]})}),e.jsx("div",{className:"flex-1 overflow-auto",children:!c&&d.length===0?e.jsx($,{rows:8}):c&&d.length===0?e.jsx(H,{title:"No Database Queries",description:"Database tracking captures SQL queries with timing, row counts, and N+1 detection. Requires instrumenting your ORM or database driver.",configHints:[{key:"RuntimeScope.instrumentPrisma(prisma)",value:"",description:"Prisma"},{key:"RuntimeScope.instrumentDrizzle(db)",value:"",description:"Drizzle"},{key:"RuntimeScope.instrumentPg(pool)",value:"",description:"node-postgres"}]}):e.jsxs(e.Fragment,{children:[t==="queries"&&e.jsx(k,{columns:Y,data:m,selectedIndex:n??void 0,onRowClick:T}),t==="performance"&&e.jsx(k,{columns:G,data:S,selectedIndex:n??void 0,onRowClick:T}),t==="schema"&&e.jsx(k,{columns:J,data:L,selectedIndex:n??void 0,onRowClick:T})]})})]}),e.jsx(R,{open:l!==null,onClose:C,title:l?l.label||l.operation:"",subtitle:l?`${x(l.duration)} · ${l.source}`:"",children:l&&e.jsxs("div",{className:"p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx(v,{children:"SQL Query"}),e.jsx(w,{language:"sql",children:l.query})]}),l.normalizedQuery!==l.query&&e.jsxs("div",{children:[e.jsx(v,{children:"Normalized"}),e.jsx(w,{language:"sql",children:l.normalizedQuery})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(p,{label:"Duration",value:x(l.duration),warn:l.duration>500}),e.jsx(p,{label:"Rows",value:String(l.rowsReturned??l.rowsAffected??"—")}),e.jsx(p,{label:"Tables",value:l.tablesAccessed.join(", ")||"—"}),e.jsx(p,{label:"Source",value:l.source})]}),l.params&&e.jsxs("div",{children:[e.jsx(v,{children:"Parameters"}),e.jsx(w,{language:"json",children:l.params})]}),l.stackTrace&&e.jsxs("div",{children:[e.jsx(v,{children:"Stack Trace"}),e.jsx("pre",{className:"text-[11px] font-mono text-text-muted whitespace-pre-wrap break-all bg-bg-elevated rounded-md p-3 max-h-48 overflow-auto",children:l.stackTrace})]}),l.error&&e.jsxs("div",{className:"bg-red/5 border border-red/20 rounded-md p-3",children:[e.jsx(v,{children:"Error"}),e.jsx("p",{className:"text-sm text-red",children:l.error})]})]})}),e.jsx(R,{open:o!==null,onClose:C,title:o?`${o.operation} Pattern`:"",subtitle:o?`${o.callCount} calls · ${x(o.totalDuration)} total`:"",children:o&&e.jsxs("div",{className:"p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx(v,{children:"Query Pattern"}),e.jsx(w,{language:"sql",children:o.normalizedQuery})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(p,{label:"Calls",value:y(o.callCount),warn:o.callCount>50}),e.jsx(p,{label:"Avg Duration",value:x(o.avgDuration),warn:o.avgDuration>200}),e.jsx(p,{label:"P95 Duration",value:x(o.p95Duration),warn:o.p95Duration>500}),e.jsx(p,{label:"Max Duration",value:x(o.maxDuration),warn:o.maxDuration>500}),e.jsx(p,{label:"Total Time",value:x(o.totalDuration)}),e.jsx(p,{label:"Avg Rows",value:o.avgRows>0?o.avgRows.toFixed(0):"—"})]}),o.tables.length>0&&e.jsxs("div",{children:[e.jsx(v,{children:"Tables Accessed"}),e.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:o.tables.map(a=>e.jsx(Q,{size:"sm",children:a},a))})]})]})}),e.jsx(R,{open:u!==null,onClose:C,title:u?u.name:"",subtitle:u?`${y(u.totalQueries)} queries · Avg ${x(u.avgDuration)}`:"",children:u&&e.jsxs("div",{className:"p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx(v,{children:"Operation Breakdown"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 mt-2",children:[e.jsx(p,{label:"SELECT",value:String(u.operations.SELECT)}),e.jsx(p,{label:"INSERT",value:String(u.operations.INSERT)}),e.jsx(p,{label:"UPDATE",value:String(u.operations.UPDATE)}),e.jsx(p,{label:"DELETE",value:String(u.operations.DELETE)})]})]}),e.jsxs("div",{children:[e.jsx(v,{children:"Query Mix"}),e.jsx("div",{className:"flex h-3 rounded-full overflow-hidden mt-2",children:Object.entries(u.operations).filter(([,a])=>a>0).map(([a,h])=>{const E=h/u.totalQueries*100,D={SELECT:"bg-blue",INSERT:"bg-green",UPDATE:"bg-amber",DELETE:"bg-red",OTHER:"bg-purple"};return e.jsx("div",{className:N(D[a]??"bg-text-muted","transition-all"),style:{width:`${E}%`},title:`${a}: ${h} (${E.toFixed(0)}%)`},a)})}),e.jsx("div",{className:"flex gap-3 mt-2 text-[11px] text-text-muted",children:Object.entries(u.operations).filter(([,a])=>a>0).map(([a,h])=>e.jsxs("span",{children:[a," ",h]},a))})]}),u.columns.length>0&&e.jsxs("div",{children:[e.jsx(v,{children:"Observed Columns"}),e.jsx("p",{className:"text-[11px] text-text-muted mb-2",children:"Columns seen in WHERE/SET clauses"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:u.columns.map(a=>e.jsx("span",{className:"font-mono text-xs px-2 py-0.5 rounded bg-bg-elevated text-text-secondary",children:a},a))})]})]})})]})]})}function v({children:t}){return e.jsx("p",{className:"text-[11px] font-medium text-text-muted uppercase tracking-wider mb-2",children:t})}function p({label:t,value:r,warn:n}){return e.jsxs("div",{className:"bg-bg-elevated rounded-md p-3 border border-border-muted",children:[e.jsx("p",{className:"text-[11px] text-text-muted",children:t}),e.jsx("p",{className:N("text-[15px] font-bold tabular-nums",n&&"text-amber"),children:r})]})}export{ue as DatabasePage};
1
+ import{r as g,q,j as e,c as N,y as $}from"./index-CUDottTv.js";import{T as F}from"./topbar-892TvyNb.js";import{B as Q}from"./badge-BOfEUuSW.js";import"./textarea-DAwdLdON.js";import{C as w}from"./code-block-D47Pz1qB.js";import{D as k}from"./data-table-A2Iq_hk5.js";import{D as R}from"./detail-panel-YWSVnqP_.js";import{F as P}from"./filter-bar-CP39inkf.js";import{E as H}from"./empty-config-state-ReVUjdJ_.js";import{E as B}from"./export-button-D7y2ugNf.js";import{u as _}from"./use-connected-3Ljk-Uwv.js";import{c as y,f as x}from"./format-CF_gowqw.js";import"./download-CwvkYJyJ.js";function W(t,r){if(t.length===0)return 0;const n=Math.ceil(t.length*(r/100))-1;return t[Math.max(0,n)]}function K(t){const r=new Map;for(const i of t){const s=r.get(i.normalizedQuery)??[];s.push(i),r.set(i.normalizedQuery,s)}const n=[];for(const[i,s]of r){const f=s.map(c=>c.duration).sort((c,m)=>c-m),b=f.reduce((c,m)=>c+m,0),j=new Set;for(const c of s)for(const m of c.tablesAccessed)j.add(m);const d=s.filter(c=>c.rowsReturned!=null).map(c=>c.rowsReturned);n.push({normalizedQuery:i,tables:[...j],operation:s[0].operation,callCount:s.length,avgDuration:b/s.length,maxDuration:Math.max(...f),p95Duration:W(f,95),totalDuration:b,avgRows:d.length>0?d.reduce((c,m)=>c+m,0)/d.length:0})}return n.sort((i,s)=>s.totalDuration-i.totalDuration)}function V(t){const r=new Map;for(const n of t)for(const i of n.tablesAccessed){let s=r.get(i);s||(s={name:i,operations:{SELECT:0,INSERT:0,UPDATE:0,DELETE:0,OTHER:0},totalQueries:0,avgDuration:0,columns:[]},r.set(i,s)),s.totalQueries++;const f=n.operation in s.operations?n.operation:"OTHER";s.operations[f]++}for(const[n,i]of r){const s=t.filter(j=>j.tablesAccessed.includes(n)),f=s.reduce((j,d)=>j+d.duration,0);i.avgDuration=s.length>0?f/s.length:0;const b=new Set;for(const j of s){const d=/(?:WHERE|AND|OR|SET|ON)\s+["'`]?(\w+)["'`]?\s*(?:=|>|<|!=|LIKE|IN|IS)/gi;let c;for(;(c=d.exec(j.query))!==null;){const m=c[1].toLowerCase();["select","from","where","and","or","not","null","true","false"].includes(m)||b.add(c[1])}}i.columns=[...b].sort()}return[...r.values()].sort((n,i)=>i.totalQueries-n.totalQueries)}const M={SELECT:"blue",INSERT:"green",DELETE:"red",UPDATE:"amber",OTHER:"purple"},Y=[{key:"query",header:"Query",render:t=>e.jsx("span",{className:"font-mono text-[12px] text-text-secondary truncate block max-w-[400px]",children:t.query})},{key:"duration",header:"Duration",width:"100px",render:t=>e.jsx("span",{className:N("tabular-nums",t.duration>500?"text-red":t.duration>100?"text-amber":""),children:x(t.duration)})},{key:"operation",header:"Op",width:"80px",render:t=>e.jsx(Q,{variant:M[t.operation]??"purple",size:"sm",children:t.operation})},{key:"rows",header:"Rows",width:"70px",render:t=>{const r=t;return e.jsx("span",{className:"tabular-nums",children:r.rowsReturned??r.rowsAffected??"—"})}},{key:"tables",header:"Tables",width:"120px",render:t=>{const r=t.tablesAccessed;return e.jsx("span",{className:"text-text-muted text-xs truncate block max-w-[100px]",children:r.join(", ")||"—"})}},{key:"source",header:"Source",width:"80px",render:t=>e.jsx("span",{className:"text-text-muted text-xs",children:t.source})}],G=[{key:"normalizedQuery",header:"Query Pattern",render:t=>e.jsx("span",{className:"font-mono text-[12px] text-text-secondary truncate block max-w-[350px]",children:t.normalizedQuery})},{key:"callCount",header:"Calls",width:"70px",render:t=>e.jsx("span",{className:N("tabular-nums",t.callCount>50?"text-amber":""),children:t.callCount})},{key:"avgDuration",header:"Avg",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums",children:x(t.avgDuration)})},{key:"p95Duration",header:"P95",width:"80px",render:t=>e.jsx("span",{className:N("tabular-nums",t.p95Duration>500?"text-red":t.p95Duration>200?"text-amber":""),children:x(t.p95Duration)})},{key:"maxDuration",header:"Max",width:"80px",render:t=>e.jsx("span",{className:N("tabular-nums",t.maxDuration>500?"text-red":t.maxDuration>200?"text-amber":""),children:x(t.maxDuration)})},{key:"operation",header:"Op",width:"80px",render:t=>e.jsx(Q,{variant:M[t.operation]??"purple",size:"sm",children:t.operation})},{key:"totalDuration",header:"Total",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums text-text-muted",children:x(t.totalDuration)})}],J=[{key:"name",header:"Table",width:"180px",render:t=>e.jsx("span",{className:"font-mono text-[13px] font-medium text-text-primary",children:t.name})},{key:"totalQueries",header:"Queries",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums",children:y(t.totalQueries)})},{key:"select",header:"SEL",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-blue",children:r.SELECT||"—"})}},{key:"insert",header:"INS",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-green",children:r.INSERT||"—"})}},{key:"update",header:"UPD",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-amber",children:r.UPDATE||"—"})}},{key:"delete",header:"DEL",width:"60px",render:t=>{const r=t.operations;return e.jsx("span",{className:"tabular-nums text-red",children:r.DELETE||"—"})}},{key:"avgDuration",header:"Avg",width:"80px",render:t=>e.jsx("span",{className:"tabular-nums",children:x(t.avgDuration)})}];function ue(){const[t,r]=g.useState("queries"),[n,i]=g.useState(null),[s,f]=g.useState(""),[b,j]=g.useState(null);_();const d=q(a=>a.database),c=q(a=>a.initialLoadDone),m=g.useMemo(()=>{let a=d;if(b&&(a=a.filter(h=>h.operation===b)),s){const h=s.toLowerCase();a=a.filter(E=>E.query.toLowerCase().includes(h)||E.tablesAccessed.some(D=>D.toLowerCase().includes(h)))}return a},[d,b,s]),S=g.useMemo(()=>K(d),[d]),L=g.useMemo(()=>V(d),[d]),l=t==="queries"&&n!==null?m[n]:null,o=t==="performance"&&n!==null?S[n]:null,u=t==="schema"&&n!==null?L[n]:null,{totalQueries:O,avgDuration:I,slowCount:A}=g.useMemo(()=>{const a=d.length,h=a>0?d.reduce((D,U)=>D+U.duration,0)/a:0,E=d.filter(D=>D.duration>500).length;return{totalQueries:a,avgDuration:h,slowCount:E}},[d]),z=g.useCallback(a=>{r(a),i(null),f(""),j(null)},[]),T=g.useCallback((a,h)=>{i(h)},[]),C=g.useCallback(()=>{i(null)},[]);return e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[e.jsx(F,{tabs:[{id:"queries",label:"Queries"},{id:"performance",label:"Performance"},{id:"schema",label:"Schema"}],activeTab:t,onTabChange:z}),e.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[t==="queries"&&e.jsxs(P,{search:s,onSearchChange:f,searchPlaceholder:"Filter by query or table...",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[["SELECT","INSERT","UPDATE","DELETE"].map(a=>e.jsx("button",{onClick:()=>j(b===a?null:a),className:N("px-2 py-0.5 rounded text-[11px] font-medium transition-colors",b===a?"bg-accent/15 text-accent":"text-text-muted hover:text-text-secondary"),children:a},a)),e.jsxs("span",{className:"text-xs text-text-muted ml-2",children:[m.length," queries",A>0&&e.jsxs("span",{className:"text-amber ml-1",children:["(",A," slow)"]})]})]}),e.jsx(B,{data:m,filename:"database-queries"})]}),t==="performance"&&e.jsx(P,{search:"",onSearchChange:()=>{},searchPlaceholder:"",children:e.jsxs("div",{className:"flex items-center gap-3 text-xs text-text-muted",children:[e.jsxs("span",{children:[S.length," patterns"]}),e.jsxs("span",{children:[y(O)," total queries"]}),e.jsxs("span",{children:["Avg ",x(I)]})]})}),e.jsx("div",{className:"flex-1 overflow-auto",children:!c&&d.length===0?e.jsx($,{rows:8}):c&&d.length===0?e.jsx(H,{title:"No Database Queries",description:"Database tracking captures SQL queries with timing, row counts, and N+1 detection. Requires instrumenting your ORM or database driver.",configHints:[{key:"RuntimeScope.instrumentPrisma(prisma)",value:"",description:"Prisma"},{key:"RuntimeScope.instrumentDrizzle(db)",value:"",description:"Drizzle"},{key:"RuntimeScope.instrumentPg(pool)",value:"",description:"node-postgres"}]}):e.jsxs(e.Fragment,{children:[t==="queries"&&e.jsx(k,{columns:Y,data:m,selectedIndex:n??void 0,onRowClick:T}),t==="performance"&&e.jsx(k,{columns:G,data:S,selectedIndex:n??void 0,onRowClick:T}),t==="schema"&&e.jsx(k,{columns:J,data:L,selectedIndex:n??void 0,onRowClick:T})]})})]}),e.jsx(R,{open:l!==null,onClose:C,title:l?l.label||l.operation:"",subtitle:l?`${x(l.duration)} · ${l.source}`:"",children:l&&e.jsxs("div",{className:"p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx(v,{children:"SQL Query"}),e.jsx(w,{language:"sql",children:l.query})]}),l.normalizedQuery!==l.query&&e.jsxs("div",{children:[e.jsx(v,{children:"Normalized"}),e.jsx(w,{language:"sql",children:l.normalizedQuery})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(p,{label:"Duration",value:x(l.duration),warn:l.duration>500}),e.jsx(p,{label:"Rows",value:String(l.rowsReturned??l.rowsAffected??"—")}),e.jsx(p,{label:"Tables",value:l.tablesAccessed.join(", ")||"—"}),e.jsx(p,{label:"Source",value:l.source})]}),l.params&&e.jsxs("div",{children:[e.jsx(v,{children:"Parameters"}),e.jsx(w,{language:"json",children:l.params})]}),l.stackTrace&&e.jsxs("div",{children:[e.jsx(v,{children:"Stack Trace"}),e.jsx("pre",{className:"text-[11px] font-mono text-text-muted whitespace-pre-wrap break-all bg-bg-elevated rounded-md p-3 max-h-48 overflow-auto",children:l.stackTrace})]}),l.error&&e.jsxs("div",{className:"bg-red/5 border border-red/20 rounded-md p-3",children:[e.jsx(v,{children:"Error"}),e.jsx("p",{className:"text-sm text-red",children:l.error})]})]})}),e.jsx(R,{open:o!==null,onClose:C,title:o?`${o.operation} Pattern`:"",subtitle:o?`${o.callCount} calls · ${x(o.totalDuration)} total`:"",children:o&&e.jsxs("div",{className:"p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx(v,{children:"Query Pattern"}),e.jsx(w,{language:"sql",children:o.normalizedQuery})]}),e.jsxs("div",{className:"grid grid-cols-2 gap-3",children:[e.jsx(p,{label:"Calls",value:y(o.callCount),warn:o.callCount>50}),e.jsx(p,{label:"Avg Duration",value:x(o.avgDuration),warn:o.avgDuration>200}),e.jsx(p,{label:"P95 Duration",value:x(o.p95Duration),warn:o.p95Duration>500}),e.jsx(p,{label:"Max Duration",value:x(o.maxDuration),warn:o.maxDuration>500}),e.jsx(p,{label:"Total Time",value:x(o.totalDuration)}),e.jsx(p,{label:"Avg Rows",value:o.avgRows>0?o.avgRows.toFixed(0):"—"})]}),o.tables.length>0&&e.jsxs("div",{children:[e.jsx(v,{children:"Tables Accessed"}),e.jsx("div",{className:"flex flex-wrap gap-1.5 mt-1",children:o.tables.map(a=>e.jsx(Q,{size:"sm",children:a},a))})]})]})}),e.jsx(R,{open:u!==null,onClose:C,title:u?u.name:"",subtitle:u?`${y(u.totalQueries)} queries · Avg ${x(u.avgDuration)}`:"",children:u&&e.jsxs("div",{className:"p-4 space-y-4",children:[e.jsxs("div",{children:[e.jsx(v,{children:"Operation Breakdown"}),e.jsxs("div",{className:"grid grid-cols-2 gap-3 mt-2",children:[e.jsx(p,{label:"SELECT",value:String(u.operations.SELECT)}),e.jsx(p,{label:"INSERT",value:String(u.operations.INSERT)}),e.jsx(p,{label:"UPDATE",value:String(u.operations.UPDATE)}),e.jsx(p,{label:"DELETE",value:String(u.operations.DELETE)})]})]}),e.jsxs("div",{children:[e.jsx(v,{children:"Query Mix"}),e.jsx("div",{className:"flex h-3 rounded-full overflow-hidden mt-2",children:Object.entries(u.operations).filter(([,a])=>a>0).map(([a,h])=>{const E=h/u.totalQueries*100,D={SELECT:"bg-blue",INSERT:"bg-green",UPDATE:"bg-amber",DELETE:"bg-red",OTHER:"bg-purple"};return e.jsx("div",{className:N(D[a]??"bg-text-muted","transition-all"),style:{width:`${E}%`},title:`${a}: ${h} (${E.toFixed(0)}%)`},a)})}),e.jsx("div",{className:"flex gap-3 mt-2 text-[11px] text-text-muted",children:Object.entries(u.operations).filter(([,a])=>a>0).map(([a,h])=>e.jsxs("span",{children:[a," ",h]},a))})]}),u.columns.length>0&&e.jsxs("div",{children:[e.jsx(v,{children:"Observed Columns"}),e.jsx("p",{className:"text-[11px] text-text-muted mb-2",children:"Columns seen in WHERE/SET clauses"}),e.jsx("div",{className:"flex flex-wrap gap-1.5",children:u.columns.map(a=>e.jsx("span",{className:"font-mono text-xs px-2 py-0.5 rounded bg-bg-elevated text-text-secondary",children:a},a))})]})]})})]})]})}function v({children:t}){return e.jsx("p",{className:"text-[11px] font-medium text-text-muted uppercase tracking-wider mb-2",children:t})}function p({label:t,value:r,warn:n}){return e.jsxs("div",{className:"bg-bg-elevated rounded-md p-3 border border-border-muted",children:[e.jsx("p",{className:"text-[11px] text-text-muted",children:t}),e.jsx("p",{className:N("text-[15px] font-bold tabular-nums",n&&"text-amber"),children:r})]})}export{ue as DatabasePage};
@@ -1 +1 @@
1
- import{r as x,j as e,X as l,c}from"./index-DgQg-mjd.js";function m({open:r,onClose:t,title:s,subtitle:i,children:a,className:o}){return x.useEffect(()=>{if(!r)return;const n=d=>{d.key==="Escape"&&t()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[r,t]),r?e.jsxs("div",{className:c("w-[380px] shrink-0 border-l border-border-default bg-bg-surface flex flex-col overflow-hidden","animate-in slide-in-from-right duration-200",o),children:[e.jsxs("div",{className:"h-12 flex items-center justify-between px-4 border-b border-border-default shrink-0",children:[e.jsxs("div",{className:"min-w-0",children:[s&&e.jsx("h3",{className:"text-[13px] font-semibold text-text-primary truncate",children:s}),i&&e.jsx("p",{className:"text-[11px] text-text-tertiary truncate",children:i})]}),e.jsx("button",{onClick:t,className:"w-7 h-7 flex items-center justify-center rounded-md text-text-tertiary hover:text-text-primary hover:bg-bg-hover transition-colors cursor-pointer",children:e.jsx(l,{size:14})})]}),e.jsx("div",{className:"flex-1 flex flex-col min-h-0 overflow-y-auto",children:a})]}):null}export{m as D};
1
+ import{r as x,j as e,X as l,c}from"./index-CUDottTv.js";function m({open:r,onClose:t,title:s,subtitle:i,children:a,className:o}){return x.useEffect(()=>{if(!r)return;const n=d=>{d.key==="Escape"&&t()};return window.addEventListener("keydown",n),()=>window.removeEventListener("keydown",n)},[r,t]),r?e.jsxs("div",{className:c("w-[380px] shrink-0 border-l border-border-default bg-bg-surface flex flex-col overflow-hidden","animate-in slide-in-from-right duration-200",o),children:[e.jsxs("div",{className:"h-12 flex items-center justify-between px-4 border-b border-border-default shrink-0",children:[e.jsxs("div",{className:"min-w-0",children:[s&&e.jsx("h3",{className:"text-[13px] font-semibold text-text-primary truncate",children:s}),i&&e.jsx("p",{className:"text-[11px] text-text-tertiary truncate",children:i})]}),e.jsx("button",{onClick:t,className:"w-7 h-7 flex items-center justify-center rounded-md text-text-tertiary hover:text-text-primary hover:bg-bg-hover transition-colors cursor-pointer",children:e.jsx(l,{size:14})})]}),e.jsx("div",{className:"flex-1 flex flex-col min-h-0 overflow-y-auto",children:a})]}):null}export{m as D};
@@ -1,4 +1,4 @@
1
- import{a}from"./index-DgQg-mjd.js";/**
1
+ import{a}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as o}from"./index-DgQg-mjd.js";/**
1
+ import{a as o}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{j as e,J as r}from"./index-DgQg-mjd.js";function n({title:s,description:a,configHints:x}){return e.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:e.jsxs("div",{className:"max-w-md text-center space-y-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-bg-elevated border border-border-default flex items-center justify-center mx-auto",children:e.jsx(r,{size:18,className:"text-text-muted"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-[15px] font-semibold text-text-primary mb-1",children:s}),e.jsx("p",{className:"text-[13px] text-text-muted leading-relaxed",children:a})]}),e.jsxs("div",{className:"bg-bg-elevated border border-border-default rounded-lg p-4 text-left overflow-hidden",children:[e.jsx("p",{className:"text-[11px] font-medium text-text-muted uppercase tracking-wider mb-3",children:"Add to your SDK config"}),e.jsx("pre",{className:"font-mono text-[12px] leading-relaxed overflow-x-auto",children:e.jsxs("code",{children:[e.jsx("span",{className:"text-text-muted",children:`RuntimeScope.init({
1
+ import{j as e,J as r}from"./index-CUDottTv.js";function n({title:s,description:a,configHints:x}){return e.jsx("div",{className:"flex-1 flex items-center justify-center p-8",children:e.jsxs("div",{className:"max-w-md text-center space-y-4",children:[e.jsx("div",{className:"w-10 h-10 rounded-full bg-bg-elevated border border-border-default flex items-center justify-center mx-auto",children:e.jsx(r,{size:18,className:"text-text-muted"})}),e.jsxs("div",{children:[e.jsx("h3",{className:"text-[15px] font-semibold text-text-primary mb-1",children:s}),e.jsx("p",{className:"text-[13px] text-text-muted leading-relaxed",children:a})]}),e.jsxs("div",{className:"bg-bg-elevated border border-border-default rounded-lg p-4 text-left overflow-hidden",children:[e.jsx("p",{className:"text-[11px] font-medium text-text-muted uppercase tracking-wider mb-3",children:"Add to your SDK config"}),e.jsx("pre",{className:"font-mono text-[12px] leading-relaxed overflow-x-auto",children:e.jsxs("code",{children:[e.jsx("span",{className:"text-text-muted",children:`RuntimeScope.init({
2
2
  `}),x.map(t=>e.jsxs("span",{children:[e.jsx("span",{className:"text-text-tertiary",children:` // ${t.description}
3
3
  `}),e.jsx("span",{className:"text-text-muted",children:" "}),e.jsx("span",{className:"text-accent",children:t.key}),t.value&&e.jsxs(e.Fragment,{children:[e.jsx("span",{className:"text-text-muted",children:": "}),e.jsx("span",{className:"text-green",children:t.value})]}),e.jsx("span",{className:"text-text-muted",children:","}),`
4
4
  `]},t.key)),e.jsx("span",{className:"text-text-muted",children:"});"})]})})]}),e.jsx("p",{className:"text-[11px] text-text-tertiary",children:"Reload your app after updating the config, then interact with it to generate data."})]})})}export{n as E};
@@ -1 +1 @@
1
- import{r as c,K as N,j as e,E as S,N as C,c as b,C as k,O as E}from"./index-DgQg-mjd.js";import{B as f}from"./badge-BGgXl2qy.js";import{B as R}from"./textarea-BROdxV-a.js";import{D as I}from"./data-table-CxVXG3zy.js";import{D as z}from"./detail-panel-CxidKK1j.js";import{Z as F}from"./zap-BaSm59wW.js";import{C as D}from"./chevron-right-D0z93_PM.js";function M(r){const o=new Map;for(const s of r){const a=o.get(s.name);a?(a.count++,s.timestamp>a.lastSeen&&(a.lastSeen=s.timestamp,a.sampleProperties=s.properties)):o.set(s.name,{name:s.name,count:1,lastSeen:s.timestamp,sampleProperties:s.properties})}return Array.from(o.values()).sort((s,a)=>a.lastSeen-s.lastSeen)}function B(r,o){const s=new Map;for(const t of r)s.has(t.sessionId)||s.set(t.sessionId,[]),s.get(t.sessionId).push(t);for(const t of s.values())t.sort((x,i)=>x.timestamp-i.timestamp);const a=o.map(t=>({name:t,count:0,conversionRate:null}));for(const t of s.values()){let x=null;for(let i=0;i<o.length;i++){const l=t.find(d=>d.name===o[i]&&(x===null||d.timestamp>=x));if(!l)break;a[i].count++,x=l.timestamp}}for(let t=0;t<a.length;t++)t===0?a[t].conversionRate=s.size>0?a[t].count/s.size*100:0:a[t].conversionRate=a[t-1].count>0?a[t].count/a[t-1].count*100:0;return a}function P({step:r,maxCount:o,index:s}){const a=o>0?r.count/o*100:0,t=r.conversionRate!==null&&r.conversionRate<50;return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"text-xs text-text-muted w-5 text-right",children:[s+1,"."]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-xs font-medium text-text-primary truncate",children:r.name}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-xs text-text-muted",children:[r.count," session",r.count!==1?"s":""]}),r.conversionRate!==null&&s>0&&e.jsxs(f,{variant:t?"red":"green",size:"sm",children:[r.conversionRate.toFixed(0),"%"]})]})]}),e.jsx("div",{className:"h-2 bg-bg-surface rounded-full overflow-hidden",children:e.jsx("div",{className:b("h-full rounded-full transition-all duration-500",t?"bg-red":"bg-accent"),style:{width:`${a}%`}})})]})]})}function O({catalog:r,steps:o,setSteps:s}){const[a,t]=c.useState(o.length>0),x=l=>{o.includes(l)||s([...o,l])},i=l=>s(o.filter((d,p)=>p!==l));return e.jsxs("div",{className:"border border-border-default rounded-lg overflow-hidden",children:[e.jsxs("button",{type:"button",onClick:()=>t(!a),className:"w-full flex items-center gap-2 px-3 py-2 text-xs font-medium text-text-secondary hover:bg-bg-hover transition-colors cursor-pointer",children:[a?e.jsx(k,{size:12}):e.jsx(D,{size:12}),"Flow Builder",o.length>0&&e.jsxs(f,{variant:"default",size:"sm",children:[o.length," steps"]})]}),a&&e.jsxs("div",{className:"px-3 py-2 border-t border-border-default space-y-2",children:[o.length>0&&e.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:o.map((l,d)=>e.jsxs("div",{className:"flex items-center gap-1",children:[d>0&&e.jsx(E,{size:10,className:"text-text-muted"}),e.jsx("button",{type:"button",onClick:()=>i(d),className:"px-2 py-0.5 rounded text-xs font-medium bg-accent/15 text-accent hover:bg-red/15 hover:text-red transition-colors cursor-pointer",title:"Remove step",children:l})]},d))}),e.jsx("div",{className:"flex flex-wrap gap-1",children:r.filter(l=>!o.includes(l.name)).map(l=>e.jsxs("button",{type:"button",onClick:()=>x(l.name),className:"px-2 py-0.5 rounded text-xs bg-bg-surface text-text-muted hover:bg-bg-hover hover:text-text-primary transition-colors cursor-pointer",children:["+ ",l.name," (",l.count,")"]},l.name))}),o.length>0&&e.jsx("button",{type:"button",onClick:()=>s([]),className:"text-xs text-text-muted hover:text-red transition-colors cursor-pointer",children:"Clear flow"})]})]})}function U(){const[r,o]=c.useState([]),[s,a]=c.useState(!0),[t,x]=c.useState(null),[i,l]=c.useState([]),d=c.useCallback(async()=>{a(!0);const n=await N({since_seconds:3600});o(n??[]),a(!1)},[]);c.useEffect(()=>{d()},[d]),c.useEffect(()=>{const n=setInterval(async()=>{const u=await N({since_seconds:3600});u&&o(u)},5e3);return()=>clearInterval(n)},[]);const p=c.useMemo(()=>M(r),[r]),j=c.useMemo(()=>t?r.filter(n=>n.name===t):r,[r,t]),h=c.useMemo(()=>i.length>=2?B(r,i):null,[r,i]),y=h?Math.max(...h.map(n=>n.count),1):1,[v,g]=c.useState(null),m=v!==null?j[v]??null:null,w=c.useMemo(()=>[{key:"timestamp",header:"Time",width:"140px",render:n=>e.jsx("span",{className:"font-mono text-text-muted",children:new Date(n.timestamp).toLocaleTimeString()})},{key:"name",header:"Event",render:n=>e.jsx("span",{className:"font-medium text-accent",children:n.name})},{key:"properties",header:"Properties",render:n=>e.jsx("span",{className:"text-text-muted font-mono text-xs truncate block max-w-[400px]",children:n.properties?JSON.stringify(n.properties):"-"})},{key:"sessionId",header:"Session",width:"100px",render:n=>e.jsx("span",{className:"font-mono text-text-muted",children:n.sessionId.slice(0,8)})}],[]);return r.length===0&&!s?e.jsx(S,{icon:e.jsx(F,{size:32}),title:"No Custom Events",description:"Use RuntimeScope.track('event_name', { ...properties }) in your app to track business events. Events appear here with correlated telemetry."}):e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-border-default space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h2",{className:"text-sm font-semibold text-text-primary",children:"Custom Events"}),e.jsxs(f,{variant:"default",size:"sm",children:[r.length," events"]}),e.jsxs(f,{variant:"default",size:"sm",children:[p.length," types"]}),e.jsx("div",{className:"flex-1"}),e.jsxs(R,{size:"sm",variant:"ghost",onClick:d,disabled:s,children:[e.jsx(C,{size:12,className:s?"animate-spin":""}),"Refresh"]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.jsxs("button",{type:"button",onClick:()=>x(null),className:b("px-2 py-0.5 rounded text-xs font-medium transition-colors cursor-pointer",t?"bg-bg-surface text-text-muted hover:bg-bg-hover":"bg-accent/15 text-accent"),children:["All (",r.length,")"]}),p.map(n=>e.jsxs("button",{type:"button",onClick:()=>x(t===n.name?null:n.name),className:b("px-2 py-0.5 rounded text-xs font-medium transition-colors cursor-pointer",t===n.name?"bg-accent/15 text-accent":"bg-bg-surface text-text-muted hover:bg-bg-hover"),children:[n.name," (",n.count,")"]},n.name))]}),e.jsx(O,{catalog:p,steps:i,setSteps:l})]}),e.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[h&&e.jsxs("div",{className:"px-4 py-3 border-b border-border-default space-y-2",children:[e.jsx("div",{className:"text-xs font-medium text-text-secondary mb-2",children:"Flow Funnel"}),h.map((n,u)=>e.jsx(P,{step:n,maxCount:y,index:u},n.name))]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:e.jsx(I,{columns:w,data:j,onRowClick:(n,u)=>g(u),selectedIndex:v??void 0,emptyMessage:"No events match the current filter"})})]}),e.jsx(z,{open:m!==null,title:(m==null?void 0:m.name)??"",onClose:()=>g(null),children:m&&e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Time"}),e.jsx("div",{className:"text-sm font-mono",children:new Date(m.timestamp).toLocaleString()})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Session"}),e.jsx("div",{className:"text-sm font-mono",children:m.sessionId})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Event ID"}),e.jsx("div",{className:"text-sm font-mono",children:m.eventId})]}),m.properties&&Object.keys(m.properties).length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Properties"}),e.jsx("pre",{className:"text-xs font-mono bg-bg-surface rounded p-2 overflow-auto max-h-64 whitespace-pre-wrap",children:JSON.stringify(m.properties,null,2)})]})]})})]})]})}export{U as EventsPage};
1
+ import{r as c,K as N,j as e,E as S,N as C,c as b,C as k,O as E}from"./index-CUDottTv.js";import{B as f}from"./badge-BOfEUuSW.js";import{B as R}from"./textarea-DAwdLdON.js";import{D as I}from"./data-table-A2Iq_hk5.js";import{D as z}from"./detail-panel-YWSVnqP_.js";import{Z as F}from"./zap-D8s7B8fi.js";import{C as D}from"./chevron-right-Df1qu9CE.js";function M(r){const o=new Map;for(const s of r){const a=o.get(s.name);a?(a.count++,s.timestamp>a.lastSeen&&(a.lastSeen=s.timestamp,a.sampleProperties=s.properties)):o.set(s.name,{name:s.name,count:1,lastSeen:s.timestamp,sampleProperties:s.properties})}return Array.from(o.values()).sort((s,a)=>a.lastSeen-s.lastSeen)}function B(r,o){const s=new Map;for(const t of r)s.has(t.sessionId)||s.set(t.sessionId,[]),s.get(t.sessionId).push(t);for(const t of s.values())t.sort((x,i)=>x.timestamp-i.timestamp);const a=o.map(t=>({name:t,count:0,conversionRate:null}));for(const t of s.values()){let x=null;for(let i=0;i<o.length;i++){const l=t.find(d=>d.name===o[i]&&(x===null||d.timestamp>=x));if(!l)break;a[i].count++,x=l.timestamp}}for(let t=0;t<a.length;t++)t===0?a[t].conversionRate=s.size>0?a[t].count/s.size*100:0:a[t].conversionRate=a[t-1].count>0?a[t].count/a[t-1].count*100:0;return a}function P({step:r,maxCount:o,index:s}){const a=o>0?r.count/o*100:0,t=r.conversionRate!==null&&r.conversionRate<50;return e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs("span",{className:"text-xs text-text-muted w-5 text-right",children:[s+1,"."]}),e.jsxs("div",{className:"flex-1 min-w-0",children:[e.jsxs("div",{className:"flex items-center justify-between mb-1",children:[e.jsx("span",{className:"text-xs font-medium text-text-primary truncate",children:r.name}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("span",{className:"text-xs text-text-muted",children:[r.count," session",r.count!==1?"s":""]}),r.conversionRate!==null&&s>0&&e.jsxs(f,{variant:t?"red":"green",size:"sm",children:[r.conversionRate.toFixed(0),"%"]})]})]}),e.jsx("div",{className:"h-2 bg-bg-surface rounded-full overflow-hidden",children:e.jsx("div",{className:b("h-full rounded-full transition-all duration-500",t?"bg-red":"bg-accent"),style:{width:`${a}%`}})})]})]})}function O({catalog:r,steps:o,setSteps:s}){const[a,t]=c.useState(o.length>0),x=l=>{o.includes(l)||s([...o,l])},i=l=>s(o.filter((d,p)=>p!==l));return e.jsxs("div",{className:"border border-border-default rounded-lg overflow-hidden",children:[e.jsxs("button",{type:"button",onClick:()=>t(!a),className:"w-full flex items-center gap-2 px-3 py-2 text-xs font-medium text-text-secondary hover:bg-bg-hover transition-colors cursor-pointer",children:[a?e.jsx(k,{size:12}):e.jsx(D,{size:12}),"Flow Builder",o.length>0&&e.jsxs(f,{variant:"default",size:"sm",children:[o.length," steps"]})]}),a&&e.jsxs("div",{className:"px-3 py-2 border-t border-border-default space-y-2",children:[o.length>0&&e.jsx("div",{className:"flex flex-wrap items-center gap-1.5",children:o.map((l,d)=>e.jsxs("div",{className:"flex items-center gap-1",children:[d>0&&e.jsx(E,{size:10,className:"text-text-muted"}),e.jsx("button",{type:"button",onClick:()=>i(d),className:"px-2 py-0.5 rounded text-xs font-medium bg-accent/15 text-accent hover:bg-red/15 hover:text-red transition-colors cursor-pointer",title:"Remove step",children:l})]},d))}),e.jsx("div",{className:"flex flex-wrap gap-1",children:r.filter(l=>!o.includes(l.name)).map(l=>e.jsxs("button",{type:"button",onClick:()=>x(l.name),className:"px-2 py-0.5 rounded text-xs bg-bg-surface text-text-muted hover:bg-bg-hover hover:text-text-primary transition-colors cursor-pointer",children:["+ ",l.name," (",l.count,")"]},l.name))}),o.length>0&&e.jsx("button",{type:"button",onClick:()=>s([]),className:"text-xs text-text-muted hover:text-red transition-colors cursor-pointer",children:"Clear flow"})]})]})}function U(){const[r,o]=c.useState([]),[s,a]=c.useState(!0),[t,x]=c.useState(null),[i,l]=c.useState([]),d=c.useCallback(async()=>{a(!0);const n=await N({since_seconds:3600});o(n??[]),a(!1)},[]);c.useEffect(()=>{d()},[d]),c.useEffect(()=>{const n=setInterval(async()=>{const u=await N({since_seconds:3600});u&&o(u)},5e3);return()=>clearInterval(n)},[]);const p=c.useMemo(()=>M(r),[r]),j=c.useMemo(()=>t?r.filter(n=>n.name===t):r,[r,t]),h=c.useMemo(()=>i.length>=2?B(r,i):null,[r,i]),y=h?Math.max(...h.map(n=>n.count),1):1,[v,g]=c.useState(null),m=v!==null?j[v]??null:null,w=c.useMemo(()=>[{key:"timestamp",header:"Time",width:"140px",render:n=>e.jsx("span",{className:"font-mono text-text-muted",children:new Date(n.timestamp).toLocaleTimeString()})},{key:"name",header:"Event",render:n=>e.jsx("span",{className:"font-medium text-accent",children:n.name})},{key:"properties",header:"Properties",render:n=>e.jsx("span",{className:"text-text-muted font-mono text-xs truncate block max-w-[400px]",children:n.properties?JSON.stringify(n.properties):"-"})},{key:"sessionId",header:"Session",width:"100px",render:n=>e.jsx("span",{className:"font-mono text-text-muted",children:n.sessionId.slice(0,8)})}],[]);return r.length===0&&!s?e.jsx(S,{icon:e.jsx(F,{size:32}),title:"No Custom Events",description:"Use RuntimeScope.track('event_name', { ...properties }) in your app to track business events. Events appear here with correlated telemetry."}):e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"px-4 py-3 border-b border-border-default space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx("h2",{className:"text-sm font-semibold text-text-primary",children:"Custom Events"}),e.jsxs(f,{variant:"default",size:"sm",children:[r.length," events"]}),e.jsxs(f,{variant:"default",size:"sm",children:[p.length," types"]}),e.jsx("div",{className:"flex-1"}),e.jsxs(R,{size:"sm",variant:"ghost",onClick:d,disabled:s,children:[e.jsx(C,{size:12,className:s?"animate-spin":""}),"Refresh"]})]}),e.jsxs("div",{className:"flex flex-wrap gap-1.5",children:[e.jsxs("button",{type:"button",onClick:()=>x(null),className:b("px-2 py-0.5 rounded text-xs font-medium transition-colors cursor-pointer",t?"bg-bg-surface text-text-muted hover:bg-bg-hover":"bg-accent/15 text-accent"),children:["All (",r.length,")"]}),p.map(n=>e.jsxs("button",{type:"button",onClick:()=>x(t===n.name?null:n.name),className:b("px-2 py-0.5 rounded text-xs font-medium transition-colors cursor-pointer",t===n.name?"bg-accent/15 text-accent":"bg-bg-surface text-text-muted hover:bg-bg-hover"),children:[n.name," (",n.count,")"]},n.name))]}),e.jsx(O,{catalog:p,steps:i,setSteps:l})]}),e.jsxs("div",{className:"flex-1 flex min-h-0 overflow-hidden",children:[e.jsxs("div",{className:"flex-1 flex flex-col min-h-0 overflow-hidden",children:[h&&e.jsxs("div",{className:"px-4 py-3 border-b border-border-default space-y-2",children:[e.jsx("div",{className:"text-xs font-medium text-text-secondary mb-2",children:"Flow Funnel"}),h.map((n,u)=>e.jsx(P,{step:n,maxCount:y,index:u},n.name))]}),e.jsx("div",{className:"flex-1 min-h-0 overflow-auto",children:e.jsx(I,{columns:w,data:j,onRowClick:(n,u)=>g(u),selectedIndex:v??void 0,emptyMessage:"No events match the current filter"})})]}),e.jsx(z,{open:m!==null,title:(m==null?void 0:m.name)??"",onClose:()=>g(null),children:m&&e.jsxs("div",{className:"space-y-4 p-4",children:[e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Time"}),e.jsx("div",{className:"text-sm font-mono",children:new Date(m.timestamp).toLocaleString()})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Session"}),e.jsx("div",{className:"text-sm font-mono",children:m.sessionId})]}),e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Event ID"}),e.jsx("div",{className:"text-sm font-mono",children:m.eventId})]}),m.properties&&Object.keys(m.properties).length>0&&e.jsxs("div",{children:[e.jsx("div",{className:"text-xs text-text-muted mb-1",children:"Properties"}),e.jsx("pre",{className:"text-xs font-mono bg-bg-surface rounded p-2 overflow-auto max-h-64 whitespace-pre-wrap",children:JSON.stringify(m.properties,null,2)})]})]})})]})]})}export{U as EventsPage};
@@ -1,3 +1,3 @@
1
- import{r as p,j as s}from"./index-DgQg-mjd.js";import{D as b}from"./download-OeUZzFM9.js";function f(t,n){const o=new Blob([JSON.stringify(t,null,2)],{type:"application/json"});x(o,`${n}.json`)}function m(t,n){if(t.length===0)return;const o=Object.keys(t[0]),e=o.join(","),r=t.map(a=>o.map(u=>{const d=a[u];if(d==null)return"";const i=typeof d=="object"?JSON.stringify(d):String(d);return i.includes(",")||i.includes('"')||i.includes(`
1
+ import{r as p,j as s}from"./index-CUDottTv.js";import{D as b}from"./download-CwvkYJyJ.js";function f(t,n){const o=new Blob([JSON.stringify(t,null,2)],{type:"application/json"});x(o,`${n}.json`)}function m(t,n){if(t.length===0)return;const o=Object.keys(t[0]),e=o.join(","),r=t.map(a=>o.map(u=>{const d=a[u];if(d==null)return"";const i=typeof d=="object"?JSON.stringify(d):String(d);return i.includes(",")||i.includes('"')||i.includes(`
2
2
  `)?`"${i.replace(/"/g,'""')}"`:i}).join(",")),c=[e,...r].join(`
3
3
  `),l=new Blob([c],{type:"text/csv"});x(l,`${n}.csv`)}function x(t,n){const o=URL.createObjectURL(t),e=document.createElement("a");e.href=o,e.download=n,document.body.appendChild(e),e.click(),document.body.removeChild(e),URL.revokeObjectURL(o)}function y({data:t,filename:n,disabled:o}){const[e,r]=p.useState(!1),c=p.useRef(null);p.useEffect(()=>{if(!e)return;const a=u=>{c.current&&!c.current.contains(u.target)&&r(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[e]);const l=t.length;return s.jsxs("div",{className:"relative",ref:c,children:[s.jsxs("button",{type:"button",onClick:()=>r(!e),disabled:o||l===0,className:"flex items-center gap-1.5 px-2.5 py-1.5 rounded-md text-[12px] font-medium text-text-tertiary hover:text-text-secondary hover:bg-bg-hover transition-colors cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed",children:[s.jsx(b,{className:"w-3.5 h-3.5"}),"Export"]}),e&&s.jsxs("div",{className:"absolute right-0 top-full mt-1 bg-bg-elevated border border-border-default rounded-lg shadow-lg z-20 py-1 min-w-[140px]",children:[s.jsxs("button",{type:"button",onClick:()=>{f(t,n),r(!1)},className:"w-full px-3 py-1.5 text-left text-[12px] text-text-secondary hover:bg-bg-hover transition-colors cursor-pointer",children:["Export JSON (",l,")"]}),s.jsxs("button",{type:"button",onClick:()=>{m(t,n),r(!1)},className:"w-full px-3 py-1.5 text-left text-[12px] text-text-secondary hover:bg-bg-hover transition-colors cursor-pointer",children:["Export CSV (",l,")"]})]})]})}export{y as E};
@@ -1,4 +1,4 @@
1
- import{a}from"./index-DgQg-mjd.js";/**
1
+ import{a}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1 +1 @@
1
- import{j as s,X as n,c as p}from"./index-DgQg-mjd.js";import{S as m}from"./textarea-BROdxV-a.js";import{B as o}from"./badge-BGgXl2qy.js";function h({search:l,onSearchChange:r,searchPlaceholder:c="Search...",filters:a=[],onRemoveFilter:t,onClearAll:x,children:i,className:d}){return s.jsxs("div",{className:p("flex items-center gap-3 px-5 py-2.5 border-b border-border-default",d),children:[s.jsx("div",{className:"w-64 shrink-0",children:s.jsx(m,{value:l,onChange:e=>r==null?void 0:r(e.target.value),placeholder:c})}),i,a.length>0&&s.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[a.map(e=>s.jsxs(o,{variant:"brand",size:"sm",children:[s.jsxs("span",{children:[e.label,": ",e.value]}),s.jsx("button",{onClick:()=>t==null?void 0:t(e.key),className:"ml-1 hover:text-accent-light cursor-pointer",children:s.jsx(n,{size:10})})]},e.key)),s.jsx("button",{onClick:x,className:"text-[11px] text-text-muted hover:text-text-secondary cursor-pointer",children:"Clear all"})]})]})}export{h as F};
1
+ import{j as s,X as n,c as p}from"./index-CUDottTv.js";import{S as m}from"./textarea-DAwdLdON.js";import{B as o}from"./badge-BOfEUuSW.js";function h({search:l,onSearchChange:r,searchPlaceholder:c="Search...",filters:a=[],onRemoveFilter:t,onClearAll:x,children:i,className:d}){return s.jsxs("div",{className:p("flex items-center gap-3 px-5 py-2.5 border-b border-border-default",d),children:[s.jsx("div",{className:"w-64 shrink-0",children:s.jsx(m,{value:l,onChange:e=>r==null?void 0:r(e.target.value),placeholder:c})}),i,a.length>0&&s.jsxs("div",{className:"flex items-center gap-1.5 flex-wrap",children:[a.map(e=>s.jsxs(o,{variant:"brand",size:"sm",children:[s.jsxs("span",{children:[e.label,": ",e.value]}),s.jsx("button",{onClick:()=>t==null?void 0:t(e.key),className:"ml-1 hover:text-accent-light cursor-pointer",children:s.jsx(n,{size:10})})]},e.key)),s.jsx("button",{onClick:x,className:"text-[11px] text-text-muted hover:text-text-secondary cursor-pointer",children:"Clear all"})]})]})}export{h as F};
@@ -1,4 +1,4 @@
1
- import{a}from"./index-DgQg-mjd.js";/**
1
+ import{a}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as H,b as m,r as c,a0 as T,j as e,E as M,a1 as A,N as U,n as B,P as j,c as p}from"./index-DgQg-mjd.js";import{B as F}from"./textarea-BROdxV-a.js";import{F as K}from"./folder-open-g1ZHHoW-.js";import{L as C}from"./project-view-CFMjSV9u.js";import{M as E}from"./minus-CepSrXzu.js";import{C as V}from"./chevron-right-D0z93_PM.js";import"./badge-BGgXl2qy.js";import"./status-dot-C-xjt4D6.js";import"./tag-4Cn073OD.js";import"./square-DiX9jH4C.js";import"./play-DSlXvNRl.js";/**
1
+ import{a as H,b as m,r as c,a0 as T,j as e,E as M,a1 as A,N as U,n as B,P as j,c as p}from"./index-CUDottTv.js";import{B as F}from"./textarea-DAwdLdON.js";import{F as K}from"./folder-open-D-HQTMMw.js";import{L as C}from"./project-view-DnnhNMhS.js";import{M as E}from"./minus-BzY257S7.js";import{C as V}from"./chevron-right-Df1qu9CE.js";import"./badge-BOfEUuSW.js";import"./status-dot-C1nxHZIG.js";import"./tag-Czqgl1tA.js";import"./square-C1plLKPb.js";import"./play-Cx2BEZVZ.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as e}from"./index-DgQg-mjd.js";/**
1
+ import{a as e}from"./index-CUDottTv.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.
@@ -1,4 +1,4 @@
1
- import{a as z,b as c,u as M,k as U,r as d,j as t,l as W,c as j,m as V,E as J,f as Z,d as P,i as Q,s as X}from"./index-DgQg-mjd.js";import{B as E}from"./badge-BGgXl2qy.js";import"./textarea-BROdxV-a.js";import{D as Y}from"./data-table-CxVXG3zy.js";import{K as S,T as ee}from"./metric-card-BDGLEpmZ.js";import{S as te}from"./status-dot-C-xjt4D6.js";import{D as se}from"./download-OeUZzFM9.js";import{M as re}from"./message-square-DY6473o6.js";import{D as oe}from"./dollar-sign-DqZoTS1i.js";import{C as ne}from"./clock-BZReVxQC.js";import{S as ae}from"./square-DiX9jH4C.js";import{P as ie}from"./play-DSlXvNRl.js";import"./sparkline-DoDs4Mh8.js";import"./minus-CepSrXzu.js";/**
1
+ import{a as z,b as c,u as M,k as U,r as d,j as t,l as W,c as j,m as V,E as J,f as Z,d as P,i as Q,s as X}from"./index-CUDottTv.js";import{B as E}from"./badge-BOfEUuSW.js";import"./textarea-DAwdLdON.js";import{D as Y}from"./data-table-A2Iq_hk5.js";import{K as S,T as ee}from"./metric-card-DE3zVnFg.js";import{S as te}from"./status-dot-C1nxHZIG.js";import{D as se}from"./download-CwvkYJyJ.js";import{M as re}from"./message-square-Dwj0jRjI.js";import{D as oe}from"./dollar-sign-BDj484XE.js";import{C as ne}from"./clock-CmDPWLyG.js";import{S as ae}from"./square-C1plLKPb.js";import{P as ie}from"./play-Cx2BEZVZ.js";import"./sparkline-BYGr_Iny.js";import"./minus-BzY257S7.js";/**
2
2
  * @license lucide-react v0.469.0 - ISC
3
3
  *
4
4
  * This source code is licensed under the ISC license.