@lunora/studio 1.0.0-alpha.313 → 1.0.0-alpha.314

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 (67) hide show
  1. package/dist/standalone/{chunk-23QY4E73.js → chunk-2SPRM3NN.js} +1 -1
  2. package/dist/standalone/{chunk-U6DJKK5O.js → chunk-3IRXB2PB.js} +1 -1
  3. package/dist/standalone/{chunk-26EAWSE3.js → chunk-3RKQW4WV.js} +1 -1
  4. package/dist/standalone/{chunk-BGPJ4NTI.js → chunk-3YF5FUQ6.js} +1 -1
  5. package/dist/standalone/{chunk-NFCZCEW7.js → chunk-45JYEGRB.js} +1 -1
  6. package/dist/standalone/{chunk-QXNTPAYF.js → chunk-53IVFEIL.js} +1 -1
  7. package/dist/standalone/{chunk-U57K335C.js → chunk-5XHO4Z2E.js} +1 -1
  8. package/dist/standalone/{chunk-NJPAB6RW.js → chunk-6ALGROG6.js} +1 -1
  9. package/dist/standalone/{chunk-5CIZVXFW.js → chunk-6EHVPGYS.js} +1 -1
  10. package/dist/standalone/{chunk-WPS47HUS.js → chunk-6PTQTEWR.js} +1 -1
  11. package/dist/standalone/{chunk-YPQNA7OE.js → chunk-7E4FEWE5.js} +2 -2
  12. package/dist/standalone/{chunk-DFSPYCCM.js → chunk-A5ZKA35Q.js} +1 -1
  13. package/dist/standalone/{chunk-WD5JNUP7.js → chunk-A7FT774S.js} +1 -1
  14. package/dist/standalone/{chunk-5WIQ3UUE.js → chunk-BPUNMQ2T.js} +1 -1
  15. package/dist/standalone/{chunk-DOWUFEDA.js → chunk-CNRZL6QC.js} +1 -1
  16. package/dist/standalone/{chunk-TJ5T4JS2.js → chunk-D7FSS24Q.js} +1 -1
  17. package/dist/standalone/{chunk-XXIPXXV5.js → chunk-DIXUJDES.js} +1 -1
  18. package/dist/standalone/{chunk-VKZ3IFJ4.js → chunk-EIQYMDQU.js} +1 -1
  19. package/dist/standalone/{chunk-K2YTQUOS.js → chunk-ERR67E4A.js} +1 -1
  20. package/dist/standalone/{chunk-CKZPTALB.js → chunk-ETE4N3US.js} +1 -1
  21. package/dist/standalone/{chunk-AM3D6QPJ.js → chunk-EUOGJHM2.js} +1 -1
  22. package/dist/standalone/{chunk-HF76NNPX.js → chunk-EZ46GQ2N.js} +1 -1
  23. package/dist/standalone/{chunk-ZNESQW6R.js → chunk-GANSDW6P.js} +1 -1
  24. package/dist/standalone/{chunk-VCKHPKHV.js → chunk-H7LEZZZH.js} +1 -1
  25. package/dist/standalone/{chunk-UDBZAWN7.js → chunk-HGDS2QBD.js} +1 -1
  26. package/dist/standalone/{chunk-SMQPIUJH.js → chunk-HWJMZJYP.js} +1 -1
  27. package/dist/standalone/{chunk-VZ25GLBL.js → chunk-IMA5QHPT.js} +1 -1
  28. package/dist/standalone/{chunk-ZNKQYGY2.js → chunk-IXAUQBKD.js} +1 -1
  29. package/dist/standalone/{chunk-Z3DN3KS2.js → chunk-IYXYAKBP.js} +1 -1
  30. package/dist/standalone/{chunk-WV5AAYK5.js → chunk-J4L4RPG5.js} +1 -1
  31. package/dist/standalone/{chunk-YVPWTTK5.js → chunk-J53K2W7L.js} +1 -1
  32. package/dist/standalone/{chunk-F5RVY2SF.js → chunk-K6QQHYTC.js} +1 -1
  33. package/dist/standalone/{chunk-5MPIE6V6.js → chunk-KJARD2FM.js} +1 -1
  34. package/dist/standalone/{chunk-OXDVWUBD.js → chunk-KN7H5CVR.js} +1 -1
  35. package/dist/standalone/{chunk-URMBCG3S.js → chunk-KWGUHHLI.js} +1 -1
  36. package/dist/standalone/{chunk-VKG4LO5C.js → chunk-L3OOXS2X.js} +1 -1
  37. package/dist/standalone/{chunk-7A6DXRO6.js → chunk-LKMGB2EC.js} +1 -1
  38. package/dist/standalone/{chunk-U54EJ3CE.js → chunk-LN72JXLX.js} +1 -1
  39. package/dist/standalone/{chunk-34DDWVPA.js → chunk-LQ74WDSY.js} +1 -1
  40. package/dist/standalone/{chunk-J2IT6GJ4.js → chunk-MDCQVBQM.js} +1 -1
  41. package/dist/standalone/{chunk-3LSMG3T2.js → chunk-N4PIYANO.js} +1 -1
  42. package/dist/standalone/{chunk-PPOOK7QA.js → chunk-O5OI6OXK.js} +1 -1
  43. package/dist/standalone/{chunk-EMO5ERZJ.js → chunk-ODOTLOWA.js} +1 -1
  44. package/dist/standalone/{chunk-GBDFDYC2.js → chunk-OMXMDBIR.js} +1 -1
  45. package/dist/standalone/{chunk-R2S2WUY3.js → chunk-OOEISE77.js} +1 -1
  46. package/dist/standalone/{chunk-NBGTSTH7.js → chunk-P2VPJVKF.js} +1 -1
  47. package/dist/standalone/{chunk-AMZYWHYE.js → chunk-P6CZ6OQZ.js} +1 -1
  48. package/dist/standalone/{chunk-LIAJWWXM.js → chunk-Q4VQ72VF.js} +1 -1
  49. package/dist/standalone/{chunk-O4N2UJRH.js → chunk-QJO2UFOQ.js} +1 -1
  50. package/dist/standalone/{chunk-BSUT4ONZ.js → chunk-RD3SEZ7G.js} +1 -1
  51. package/dist/standalone/{chunk-QHUMQVM6.js → chunk-RKBNIDI3.js} +1 -1
  52. package/dist/standalone/{chunk-GVHCXZP7.js → chunk-RTVY4LUQ.js} +1 -1
  53. package/dist/standalone/{chunk-FEH7GHAU.js → chunk-RY3PQW27.js} +1 -1
  54. package/dist/standalone/{chunk-SYRVU5BK.js → chunk-SRPWTGIZ.js} +1 -1
  55. package/dist/standalone/{chunk-55C573G4.js → chunk-TS44DF3Z.js} +1 -1
  56. package/dist/standalone/{chunk-7FWC7SCS.js → chunk-UA5PJZ3A.js} +1 -1
  57. package/dist/standalone/{chunk-IBZFYHXL.js → chunk-UCYARNWF.js} +1 -1
  58. package/dist/standalone/{chunk-IDUWPKZK.js → chunk-UW6CBSTU.js} +1 -1
  59. package/dist/standalone/{chunk-GYADLHM2.js → chunk-VIS64P6L.js} +1 -1
  60. package/dist/standalone/{chunk-PRLC53C5.js → chunk-VXDEEOLM.js} +2 -2
  61. package/dist/standalone/{chunk-432V7HCX.js → chunk-VYP7AHT6.js} +1 -1
  62. package/dist/standalone/{chunk-CICA4R5F.js → chunk-W3RMBLTL.js} +1 -1
  63. package/dist/standalone/{chunk-NAHK34DV.js → chunk-YBC7UV7U.js} +1 -1
  64. package/dist/standalone/{chunk-5I7SX5FL.js → chunk-YY77WA2T.js} +1 -1
  65. package/dist/standalone/{chunk-TM35UNLY.js → chunk-ZRNAXOYF.js} +1 -1
  66. package/dist/standalone/studio.js +1 -1
  67. package/package.json +5 -5
@@ -1 +1 @@
1
- import{a as re}from"./chunk-SV764LKQ.js";import{a as X}from"./chunk-R6U22RSY.js";import{a as V}from"./chunk-YVR4SEPU.js";import"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-7Y3SY37W.js";import{a as R}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as O}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as Y}from"./chunk-5WIQ3UUE.js";import"./chunk-NCPW7WHO.js";import"./chunk-NBGTSTH7.js";import"./chunk-55UGUCQ6.js";import{a as Q}from"./chunk-4ZEL6BYL.js";import{c as J}from"./chunk-F5RVY2SF.js";import"./chunk-PRLC53C5.js";import"./chunk-QAQDMS6R.js";import"./chunk-WPS47HUS.js";import{a as G}from"./chunk-RWVIV3U7.js";import{a as Z,b as ee,c as te,d as P,e as n,f as o}from"./chunk-HCTJKP5J.js";import{a as U,e as W}from"./chunk-2IKDEUCX.js";import{d as z,t as H}from"./chunk-HJHSQPHW.js";import{a as l,d as B,e as de,f as me,g as he,i as L}from"./chunk-I26MS5PJ.js";var se=B(me(),1),le=B(de(),1);var t=B(he(),1);var ue={action:"outline",mutation:"default",query:"secondary"},ae=l(r=>r<1e3?`${r<10?r.toFixed(1):Math.round(r).toString()}ms`:`${(r/1e3).toFixed(2)}s`,"q"),fe=l(r=>r.calls===0?"\u2014":r.errors===0?"0":`${r.errors.toString()} (${(r.errors/r.calls*100).toFixed(1)}%)`,"de"),pe=l(r=>{let e=r.conflicts??0;return r.calls===0?"\u2014":e===0?"0":`${e.toString()} (${(e/r.calls*100).toFixed(1)}%)`},"me"),xe={calls:l((r,e)=>e.calls-r.calls,"calls"),recent:l((r,e)=>e.lastCalledAt-r.lastCalledAt,"recent"),slowest:l((r,e)=>e.maxDurationMs-r.maxDurationMs,"slowest")},Ee=l(r=>{let e=(0,se.c)(47),{functions:K,initialShardKey:ne}=r,s=z(),{queryShardKey:_,setShardKey:N,shardKey:v}=X(ne),[i,oe]=(0,le.useState)("recent"),w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w={},e[0]=w):w=e[0];let C;e[1]!==_?(C={live:!0,shardKey:_},e[1]=_,e[2]=C):C=e[2];let{data:ie,error:c,errorSource:S,liveError:b}=J(Q.getFunctionStats,w,C),k=ie?.functions??null,$;e[3]!==K?($=new Map((K??[]).map(ge)),e[3]=K,e[4]=$):$=e[4];let T=$,F;e[5]===Symbol.for("react.memo_cache_sentinel")?(F=l(M=>{oe(M.currentTarget.dataset.sort)},"E"),e[5]=F):F=e[5];let ce=F,I;if(e[6]!==c||e[7]!==S||e[8]!==T||e[9]!==b||e[10]!==N||e[11]!==v||e[12]!==i||e[13]!==k||e[14]!==s){let M=k===null?[]:k.toSorted(xe[i]),d;e[16]!==s?(d=s("Recent"),e[16]=s,e[17]=d):d=e[17];let m;e[18]!==d?(m={key:"recent",label:d},e[18]=d,e[19]=m):m=e[19];let h;e[20]!==s?(h=s("Most called"),e[20]=s,e[21]=h):h=e[21];let u;e[22]!==h?(u={key:"calls",label:h},e[22]=h,e[23]=u):u=e[23];let f;e[24]!==s?(f=s("Slowest"),e[24]=s,e[25]=f):f=e[25];let p;e[26]!==f?(p={key:"slowest",label:f},e[26]=f,e[27]=p):p=e[27];let A;e[28]!==p||e[29]!==m||e[30]!==u?(A=[m,u,p],e[28]=p,e[29]=m,e[30]=u,e[31]=A):A=e[31];let j=A,x;e[32]!==N||e[33]!==v?(x=(0,t.jsx)(V,{onChange:N,testId:"fs-shard-input",value:v}),e[32]=N,e[33]=v,e[34]=x):x=e[34];let g;e[35]!==b?(g=(0,t.jsx)(re,{message:b,prefix:"fs"}),e[35]=b,e[36]=g):g=e[36];let y;e[37]!==j||e[38]!==i?(y=(0,t.jsx)("div",{className:"ml-auto flex items-center gap-1",role:"group",children:j.map(a=>(0,t.jsx)(R,{"data-sort":a.key,"data-testid":`fs-sort-${a.key}`,onClick:ce,size:"sm",type:"button",variant:i===a.key?"secondary":"ghost",children:a.label},a.key))}),e[37]=j,e[38]=i,e[39]=y):y=e[39];let D;e[40]!==x||e[41]!==g||e[42]!==y?(D=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x,g,y]}),e[40]=x,e[41]=g,e[42]=y,e[43]=D):D=e[43];let E;e[44]!==c||e[45]!==S?(E=c!==null&&(0,t.jsx)(Y,{error:S,testId:"fs-error"}),e[44]=c,e[45]=S,e[46]=E):E=e[46],I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-stats",children:[D,E,k!==null&&M.length===0&&c===null&&(0,t.jsx)(G,{description:s("Per-function call counts, error rates, and latency land here after your first request."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M3 3v18h18"}),(0,t.jsx)("path",{d:"M7 14l4-4 3 3 5-6"})]}),testId:"fs-empty",title:s("No functions have run on this shard yet.")}),M.length>0&&(0,t.jsx)(U,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"px-0",children:(0,t.jsxs)(Z,{"data-testid":"fs-table",children:[(0,t.jsx)(ee,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(n,{children:s("function")}),(0,t.jsx)(n,{children:s("kind")}),(0,t.jsx)(n,{className:"text-right",children:s("calls")}),(0,t.jsx)(n,{className:"text-right",children:s("errors")}),(0,t.jsx)(n,{className:"text-right",children:s("conflicts")}),(0,t.jsx)(n,{className:"text-right",children:s("avg")}),(0,t.jsx)(n,{className:"text-right",children:s("max")}),(0,t.jsx)(n,{children:s("last run")}),(0,t.jsx)(n,{children:s("last error")})]})}),(0,t.jsx)(te,{children:M.map(a=>{let q=T.get(a.path);return(0,t.jsxs)(P,{"data-testid":`fs-row-${a.path}`,children:[(0,t.jsx)(o,{className:"font-medium",children:a.path}),(0,t.jsx)(o,{children:q===void 0?(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)(O,{variant:ue[q],children:q})}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls}),(0,t.jsx)(o,{className:L("text-right tabular-nums",a.errors>0&&"text-destructive"),children:fe(a)}),(0,t.jsx)(o,{className:L("text-right tabular-nums",(a.conflicts??0)>0&&"text-warning"),children:pe(a)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.totalDurationMs/a.calls)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.maxDurationMs)}),(0,t.jsx)(o,{className:"text-muted-foreground",children:H(a.lastCalledAt,"\u2014")}),(0,t.jsx)(o,{className:"max-w-[24ch] truncate text-destructive",title:a.lastErrorMessage??void 0,children:a.lastErrorMessage??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.path)})})]})})})]}),e[6]=c,e[7]=S,e[8]=T,e[9]=b,e[10]=N,e[11]=v,e[12]=i,e[13]=k,e[14]=s,e[15]=I}else I=e[15];return I},"Ae");function ge(r){return[r.path,r.kind]}l(ge,"fe");export{Ee as FunctionStatsPanel};
1
+ import{a as re}from"./chunk-SV764LKQ.js";import{a as X}from"./chunk-R6U22RSY.js";import{a as V}from"./chunk-YVR4SEPU.js";import"./chunk-ZKJS6EBE.js";import"./chunk-RGMVGZV4.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-7Y3SY37W.js";import{a as R}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as O}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as Y}from"./chunk-BPUNMQ2T.js";import"./chunk-NCPW7WHO.js";import"./chunk-P2VPJVKF.js";import"./chunk-55UGUCQ6.js";import{a as Q}from"./chunk-4ZEL6BYL.js";import{c as J}from"./chunk-K6QQHYTC.js";import"./chunk-VXDEEOLM.js";import"./chunk-QAQDMS6R.js";import"./chunk-6PTQTEWR.js";import{a as G}from"./chunk-RWVIV3U7.js";import{a as Z,b as ee,c as te,d as P,e as n,f as o}from"./chunk-HCTJKP5J.js";import{a as U,e as W}from"./chunk-2IKDEUCX.js";import{d as z,t as H}from"./chunk-HJHSQPHW.js";import{a as l,d as B,e as de,f as me,g as he,i as L}from"./chunk-I26MS5PJ.js";var se=B(me(),1),le=B(de(),1);var t=B(he(),1);var ue={action:"outline",mutation:"default",query:"secondary"},ae=l(r=>r<1e3?`${r<10?r.toFixed(1):Math.round(r).toString()}ms`:`${(r/1e3).toFixed(2)}s`,"q"),fe=l(r=>r.calls===0?"\u2014":r.errors===0?"0":`${r.errors.toString()} (${(r.errors/r.calls*100).toFixed(1)}%)`,"de"),pe=l(r=>{let e=r.conflicts??0;return r.calls===0?"\u2014":e===0?"0":`${e.toString()} (${(e/r.calls*100).toFixed(1)}%)`},"me"),xe={calls:l((r,e)=>e.calls-r.calls,"calls"),recent:l((r,e)=>e.lastCalledAt-r.lastCalledAt,"recent"),slowest:l((r,e)=>e.maxDurationMs-r.maxDurationMs,"slowest")},Ee=l(r=>{let e=(0,se.c)(47),{functions:K,initialShardKey:ne}=r,s=z(),{queryShardKey:_,setShardKey:N,shardKey:v}=X(ne),[i,oe]=(0,le.useState)("recent"),w;e[0]===Symbol.for("react.memo_cache_sentinel")?(w={},e[0]=w):w=e[0];let C;e[1]!==_?(C={live:!0,shardKey:_},e[1]=_,e[2]=C):C=e[2];let{data:ie,error:c,errorSource:S,liveError:b}=J(Q.getFunctionStats,w,C),k=ie?.functions??null,$;e[3]!==K?($=new Map((K??[]).map(ge)),e[3]=K,e[4]=$):$=e[4];let T=$,F;e[5]===Symbol.for("react.memo_cache_sentinel")?(F=l(M=>{oe(M.currentTarget.dataset.sort)},"E"),e[5]=F):F=e[5];let ce=F,I;if(e[6]!==c||e[7]!==S||e[8]!==T||e[9]!==b||e[10]!==N||e[11]!==v||e[12]!==i||e[13]!==k||e[14]!==s){let M=k===null?[]:k.toSorted(xe[i]),d;e[16]!==s?(d=s("Recent"),e[16]=s,e[17]=d):d=e[17];let m;e[18]!==d?(m={key:"recent",label:d},e[18]=d,e[19]=m):m=e[19];let h;e[20]!==s?(h=s("Most called"),e[20]=s,e[21]=h):h=e[21];let u;e[22]!==h?(u={key:"calls",label:h},e[22]=h,e[23]=u):u=e[23];let f;e[24]!==s?(f=s("Slowest"),e[24]=s,e[25]=f):f=e[25];let p;e[26]!==f?(p={key:"slowest",label:f},e[26]=f,e[27]=p):p=e[27];let A;e[28]!==p||e[29]!==m||e[30]!==u?(A=[m,u,p],e[28]=p,e[29]=m,e[30]=u,e[31]=A):A=e[31];let j=A,x;e[32]!==N||e[33]!==v?(x=(0,t.jsx)(V,{onChange:N,testId:"fs-shard-input",value:v}),e[32]=N,e[33]=v,e[34]=x):x=e[34];let g;e[35]!==b?(g=(0,t.jsx)(re,{message:b,prefix:"fs"}),e[35]=b,e[36]=g):g=e[36];let y;e[37]!==j||e[38]!==i?(y=(0,t.jsx)("div",{className:"ml-auto flex items-center gap-1",role:"group",children:j.map(a=>(0,t.jsx)(R,{"data-sort":a.key,"data-testid":`fs-sort-${a.key}`,onClick:ce,size:"sm",type:"button",variant:i===a.key?"secondary":"ghost",children:a.label},a.key))}),e[37]=j,e[38]=i,e[39]=y):y=e[39];let D;e[40]!==x||e[41]!==g||e[42]!==y?(D=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[x,g,y]}),e[40]=x,e[41]=g,e[42]=y,e[43]=D):D=e[43];let E;e[44]!==c||e[45]!==S?(E=c!==null&&(0,t.jsx)(Y,{error:S,testId:"fs-error"}),e[44]=c,e[45]=S,e[46]=E):E=e[46],I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-function-stats",children:[D,E,k!==null&&M.length===0&&c===null&&(0,t.jsx)(G,{description:s("Per-function call counts, error rates, and latency land here after your first request."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M3 3v18h18"}),(0,t.jsx)("path",{d:"M7 14l4-4 3 3 5-6"})]}),testId:"fs-empty",title:s("No functions have run on this shard yet.")}),M.length>0&&(0,t.jsx)(U,{className:"overflow-hidden py-0",children:(0,t.jsx)(W,{className:"px-0",children:(0,t.jsxs)(Z,{"data-testid":"fs-table",children:[(0,t.jsx)(ee,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(n,{children:s("function")}),(0,t.jsx)(n,{children:s("kind")}),(0,t.jsx)(n,{className:"text-right",children:s("calls")}),(0,t.jsx)(n,{className:"text-right",children:s("errors")}),(0,t.jsx)(n,{className:"text-right",children:s("conflicts")}),(0,t.jsx)(n,{className:"text-right",children:s("avg")}),(0,t.jsx)(n,{className:"text-right",children:s("max")}),(0,t.jsx)(n,{children:s("last run")}),(0,t.jsx)(n,{children:s("last error")})]})}),(0,t.jsx)(te,{children:M.map(a=>{let q=T.get(a.path);return(0,t.jsxs)(P,{"data-testid":`fs-row-${a.path}`,children:[(0,t.jsx)(o,{className:"font-medium",children:a.path}),(0,t.jsx)(o,{children:q===void 0?(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}):(0,t.jsx)(O,{variant:ue[q],children:q})}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls}),(0,t.jsx)(o,{className:L("text-right tabular-nums",a.errors>0&&"text-destructive"),children:fe(a)}),(0,t.jsx)(o,{className:L("text-right tabular-nums",(a.conflicts??0)>0&&"text-warning"),children:pe(a)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.totalDurationMs/a.calls)}),(0,t.jsx)(o,{className:"text-right tabular-nums",children:a.calls===0?"\u2014":ae(a.maxDurationMs)}),(0,t.jsx)(o,{className:"text-muted-foreground",children:H(a.lastCalledAt,"\u2014")}),(0,t.jsx)(o,{className:"max-w-[24ch] truncate text-destructive",title:a.lastErrorMessage??void 0,children:a.lastErrorMessage??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})})]},a.path)})})]})})})]}),e[6]=c,e[7]=S,e[8]=T,e[9]=b,e[10]=N,e[11]=v,e[12]=i,e[13]=k,e[14]=s,e[15]=I}else I=e[15];return I},"Ae");function ge(r){return[r.path,r.kind]}l(ge,"fe");export{Ee as FunctionStatsPanel};
@@ -1,4 +1,4 @@
1
- import{c as wh,e as pi,f as mi,j as Sh}from"./chunk-AUGKHAMQ.js";import{a as bh,b as Ah}from"./chunk-WJRYEML4.js";import{b as JE}from"./chunk-SJQERRSZ.js";import{a as xh}from"./chunk-7Y3SY37W.js";import{d as rl}from"./chunk-WPS47HUS.js";import{a as i,b as X,c as XE,d as M,e as z,f as ZE,g as QE,h as re,i as Xr}from"./chunk-I26MS5PJ.js";var Oh=X(Ph=>{function eI(e,t,{signal:r,edges:n}={}){let a,o=null,l=n!=null&&n.includes("leading"),s=n==null||n.includes("trailing"),u=i(()=>{o!==null&&(e.apply(a,o),a=void 0,o=null)},"invoke"),c=i(()=>{s&&u(),m()},"onTimerEnd"),f=null,d=i(()=>{f!=null&&clearTimeout(f),f=setTimeout(()=>{f=null,c()},t)},"schedule"),p=i(()=>{f!==null&&(clearTimeout(f),f=null)},"cancelTimer"),m=i(()=>{p(),a=void 0,o=null},"cancel"),h=i(()=>{u()},"flush"),v=i(function(...g){if(r?.aborted)return;a=this,o=g;let y=f==null;d(),l&&y&&u()},"debounced");return v.schedule=d,v.cancel=m,v.flush=h,r?.addEventListener("abort",m,{once:!0}),v}i(eI,"debounce");Ph.debounce=eI});var Ih=X(Eh=>{var tI=Oh();function rI(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,l=Array(2);n&&(l[0]="leading"),a&&(l[1]="trailing");let s,u=null,c=tI.debounce(function(...p){s=e.apply(this,p),u=null},t,{edges:l}),f=i(function(...p){return o!=null&&(u===null&&(u=Date.now()),Date.now()-u>=o)?(s=e.apply(this,p),u=Date.now(),c.cancel(),c.schedule(),s):(c.apply(this,p),s)},"debounced"),d=i(()=>(c.flush(),s),"flush");return f.cancel=c.cancel,f.flush=d,f}i(rI,"debounce");Eh.debounce=rI});var kh=X(Ch=>{var nI=Ih();function iI(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return nI.debounce(e,t,{leading:n,maxWait:t,trailing:a})}i(iI,"throttle");Ch.throttle=iI});var Th=X((m$,_h)=>{_h.exports=kh().throttle});var Rh=X(Dh=>{function aI(e){return e==="__proto__"}i(aI,"isUnsafeProperty");Dh.isUnsafeProperty=aI});var tf=X(Mh=>{function oI(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}i(oI,"isDeepKey");Mh.isDeepKey=oI});var nl=X(Nh=>{function lI(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}i(lI,"toKey");Nh.toKey=lI});var Bh=X(Lh=>{function jh(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(jh).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}i(jh,"toString");Lh.toString=jh});var il=X(zh=>{var sI=nl(),uI=Bh();function cI(e){if(Array.isArray(e))return e.map(sI.toKey);if(typeof e=="symbol")return[e];e=uI.toString(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",l=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let s=e[n];o?s==="\\"&&n+1<r?(n++,a+=e[n]):s===o?o="":a+=s:l?s==='"'||s==="'"?o=s:s==="]"?(l=!1,t.push(a),a=""):a+=s:s==="["?(l=!0,a&&(t.push(a),a="")):s==="."?a&&(t.push(a),a=""):a+=s,n++}return a&&t.push(a),t}i(cI,"toPath");zh.toPath=cI});var al=X(Wh=>{var rf=Rh(),fI=tf(),dI=nl(),pI=il();function Fh(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(rf.isUnsafeProperty(t))return r;let n=e[t];return n===void 0?fI.isDeepKey(t)?Fh(e,pI.toPath(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=dI.toKey(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return mI(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),rf.isUnsafeProperty(t))return r;let n=e[t];return n===void 0?r:n}}}i(Fh,"get");function mI(e,t,r){if(t.length===0)return r;let n=e;for(let a=0;a<t.length;a++){if(n==null||rf.isUnsafeProperty(t[a]))return r;n=n[t[a]]}return n===void 0?r:n}i(mI,"getWithPath");Wh.get=Fh});var _a=X((I$,Vh)=>{Vh.exports=al().get});var Jh=X(Qh=>{function NI(e,t=1){let r=[],n=Math.floor(t),a=i((o,l)=>{for(let s=0;s<o.length;s++){let u=o[s];Array.isArray(u)&&l<n?a(u,l+1):r.push(u)}},"recursive");return a(e,0),r}i(NI,"flatten");Qh.flatten=NI});var Da=X(ev=>{function jI(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}i(jI,"isEqualsSameValueZero");ev.isEqualsSameValueZero=jI});var sl=X(()=>{Da()});var rv=X(tv=>{function LI(e){return Number.isSafeInteger(e)&&e>=0}i(LI,"isLength");tv.isLength=LI});var lf=X(nv=>{var BI=rv();function zI(e){return e!=null&&typeof e!="function"&&BI.isLength(e.length)}i(zI,"isArrayLike");nv.isArrayLike=zI});var sf=X(iv=>{function FI(e){return e!==null&&(typeof e=="object"||typeof e=="function")}i(FI,"isObject");iv.isObject=FI});var uf=X(av=>{var WI=/^(?:0|[1-9]\d*)$/;function VI(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return WI.test(e)}}i(VI,"isIndex");av.isIndex=VI});var cf=X(ov=>{var qI=Da();sl();var $I=lf(),KI=sf(),UI=uf();function HI(e,t,r){return KI.isObject(r)&&(typeof t=="number"&&$I.isArrayLike(r)&&UI.isIndex(t)&&t<r.length||typeof t=="string"&&t in r)?qI.isEqualsSameValueZero(r[t],e):!1}i(HI,"isIterateeCall");ov.isIterateeCall=HI});var uv=X(sv=>{function lv(e){return typeof e=="symbol"?1:e===null?2:e===void 0?3:e!==e?4:0}i(lv,"getPriority");var YI=i((e,t,r)=>{if(e!==t){let n=lv(e),a=lv(t);if(n===a&&n===0){if(e<t)return r==="desc"?1:-1;if(e>t)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0},"compareValues");sv.compareValues=YI});var ff=X(cv=>{function GI(e){return typeof e=="symbol"||e instanceof Symbol}i(GI,"isSymbol");cv.isSymbol=GI});var dv=X(fv=>{var XI=ff(),ZI=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,QI=/^\w*$/;function JI(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||XI.isSymbol(e)?!0:typeof e=="string"&&(QI.test(e)||!ZI.test(e))||t!=null&&Object.hasOwn(t,e)}i(JI,"isKey");fv.isKey=JI});var mv=X(pv=>{var e1=il(),t1=uv(),r1=dv();function n1(e,t,r,n){if(e==null)return[];r=n?void 0:r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(s=>String(s));let a=i((s,u)=>{let c=s;for(let f=0;f<u.length&&c!=null;++f)c=c[u[f]];return c},"getValueByNestedPath"),o=i((s,u)=>u==null||s==null?u:typeof s=="object"&&"key"in s?Object.hasOwn(u,s.key)?u[s.key]:a(u,s.path):typeof s=="function"?s(u):Array.isArray(s)?a(u,s):typeof u=="object"?u[s]:u,"getValueByCriterion"),l=t.map(s=>(Array.isArray(s)&&s.length===1&&(s=s[0]),s==null||typeof s=="function"||Array.isArray(s)||r1.isKey(s)?s:{key:s,path:e1.toPath(s)}));return e.map(s=>({original:s,criteria:l.map(u=>o(u,s))})).slice().sort((s,u)=>{for(let c=0;c<l.length;c++){let f=t1.compareValues(s.criteria[c],u.criteria[c],r[c]);if(f!==0)return f}return 0}).map(s=>s.original)}i(n1,"orderBy");pv.orderBy=n1});var yv=X(vv=>{var i1=Jh(),hv=cf(),a1=mv();function o1(e,...t){let r=t.length;return r>1&&hv.isIterateeCall(e,t[0],t[1])?t=[]:r>2&&hv.isIterateeCall(t[0],t[1],t[2])&&(t=[t[0]]),a1.orderBy(e,i1.flatten(t),["asc"])}i(o1,"sortBy");vv.sortBy=o1});var Ra=X((xK,gv)=>{gv.exports=yv().sortBy});var _v=X(kv=>{function j1(e,t){let r=new Map;for(let n=0;n<e.length;n++){let a=e[n],o=t(a,n,e);r.has(o)||r.set(o,a)}return Array.from(r.values())}i(j1,"uniqBy");kv.uniqBy=j1});var Dv=X(Tv=>{function L1(e,t){return function(...r){return e.apply(this,r.slice(0,t))}}i(L1,"ary");Tv.ary=L1});var pf=X(Rv=>{function B1(e){return e}i(B1,"identity");Rv.identity=B1});var Nv=X(Mv=>{var z1=al();function F1(e){return function(t){return z1.get(t,e)}}i(F1,"property");Mv.property=F1});var mf=X(jv=>{function W1(e){return e==null||typeof e!="object"&&typeof e!="function"}i(W1,"isPrimitive");jv.isPrimitive=W1});var Bv=X(Lv=>{function V1(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}i(V1,"isTypedArray");Lv.isTypedArray=V1});var hf=X(zv=>{function q1(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}i(q1,"getSymbols");zv.getSymbols=q1});var ja=X(Fv=>{function $1(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}i($1,"getTag");Fv.getTag=$1});var fl=X(Oe=>{var K1="[object RegExp]",U1="[object String]",H1="[object Number]",Y1="[object Boolean]",G1="[object Arguments]",X1="[object Symbol]",Z1="[object Date]",Q1="[object Map]",J1="[object Set]",eC="[object Array]",tC="[object Function]",rC="[object ArrayBuffer]",nC="[object Object]",iC="[object Error]",aC="[object DataView]",oC="[object Uint8Array]",lC="[object Uint8ClampedArray]",sC="[object Uint16Array]",uC="[object Uint32Array]",cC="[object BigUint64Array]",fC="[object Int8Array]",dC="[object Int16Array]",pC="[object Int32Array]",mC="[object BigInt64Array]",hC="[object Float32Array]",vC="[object Float64Array]";Oe.argumentsTag=G1;Oe.arrayBufferTag=rC;Oe.arrayTag=eC;Oe.bigInt64ArrayTag=mC;Oe.bigUint64ArrayTag=cC;Oe.booleanTag=Y1;Oe.dataViewTag=aC;Oe.dateTag=Z1;Oe.errorTag=iC;Oe.float32ArrayTag=hC;Oe.float64ArrayTag=vC;Oe.functionTag=tC;Oe.int16ArrayTag=dC;Oe.int32ArrayTag=pC;Oe.int8ArrayTag=fC;Oe.mapTag=Q1;Oe.numberTag=H1;Oe.objectTag=nC;Oe.regexpTag=K1;Oe.setTag=J1;Oe.stringTag=U1;Oe.symbolTag=X1;Oe.uint16ArrayTag=sC;Oe.uint32ArrayTag=uC;Oe.uint8ArrayTag=oC;Oe.uint8ClampedArrayTag=lC});var Vv=X(Wv=>{var yC=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})()||Function("return this")();Wv.globalThis_=yC});var vf=X($v=>{var qv=Vv();function gC(e){return typeof qv.globalThis_.Buffer<"u"&&qv.globalThis_.Buffer.isBuffer(e)}i(gC,"isBuffer");$v.isBuffer=gC});var yf=X(dl=>{var xC=mf(),bC=Bv(),AC=hf(),wC=ja(),Le=fl(),SC=vf();function PC(e,t){return xn(e,void 0,e,new Map,t)}i(PC,"cloneDeepWith");function xn(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(xC.isPrimitive(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let l=new Array(e.length);n.set(e,l);for(let s=0;s<e.length;s++)l[s]=xn(e[s],s,r,n,a);return Object.hasOwn(e,"index")&&(l.index=e.index),Object.hasOwn(e,"input")&&(l.input=e.input),l}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let l=new RegExp(e.source,e.flags);return l.lastIndex=e.lastIndex,l}if(e instanceof Map){let l=new Map;n.set(e,l);for(let[s,u]of e)l.set(s,xn(u,s,r,n,a));return l}if(e instanceof Set){let l=new Set;n.set(e,l);for(let s of e)l.add(xn(s,void 0,r,n,a));return l}if(SC.isBuffer(e))return e.subarray();if(bC.isTypedArray(e)){let l=new(Object.getPrototypeOf(e)).constructor(e.length);n.set(e,l);for(let s=0;s<e.length;s++)l[s]=xn(e[s],s,r,n,a);return l}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let l=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return n.set(e,l),Ir(l,e,r,n,a),l}if(typeof File<"u"&&e instanceof File){let l=new File([e],e.name,{type:e.type});return n.set(e,l),Ir(l,e,r,n,a),l}if(typeof Blob<"u"&&e instanceof Blob){let l=new Blob([e],{type:e.type});return n.set(e,l),Ir(l,e,r,n,a),l}if(e instanceof Error){let l=structuredClone(e);return n.set(e,l),l.message=e.message,l.name=e.name,l.stack=e.stack,l.cause=e.cause,l.constructor=e.constructor,Ir(l,e,r,n,a),l}if(e instanceof Boolean){let l=new Boolean(e.valueOf());return n.set(e,l),Ir(l,e,r,n,a),l}if(e instanceof Number){let l=new Number(e.valueOf());return n.set(e,l),Ir(l,e,r,n,a),l}if(e instanceof String){let l=new String(e.valueOf());return n.set(e,l),Ir(l,e,r,n,a),l}if(typeof e=="object"&&OC(e)){let l=Object.create(Object.getPrototypeOf(e));return n.set(e,l),Ir(l,e,r,n,a),l}return e}i(xn,"cloneDeepWithImpl");function Ir(e,t,r=e,n,a){let o=[...Object.keys(t),...AC.getSymbols(t)];for(let l=0;l<o.length;l++){let s=o[l],u=Object.getOwnPropertyDescriptor(e,s);(u==null||u.writable)&&(e[s]=xn(t[s],s,r,n,a))}}i(Ir,"copyProperties");function OC(e){switch(wC.getTag(e)){case Le.argumentsTag:case Le.arrayTag:case Le.arrayBufferTag:case Le.dataViewTag:case Le.booleanTag:case Le.dateTag:case Le.float32ArrayTag:case Le.float64ArrayTag:case Le.int8ArrayTag:case Le.int16ArrayTag:case Le.int32ArrayTag:case Le.mapTag:case Le.numberTag:case Le.objectTag:case Le.regexpTag:case Le.setTag:case Le.stringTag:case Le.symbolTag:case Le.uint8ArrayTag:case Le.uint8ClampedArrayTag:case Le.uint16ArrayTag:case Le.uint32ArrayTag:return!0;default:return!1}}i(OC,"isCloneableObject");dl.cloneDeepWith=PC;dl.cloneDeepWithImpl=xn;dl.copyProperties=Ir});var Uv=X(Kv=>{var EC=yf();function IC(e){return EC.cloneDeepWithImpl(e,void 0,e,new Map,void 0)}i(IC,"cloneDeep");Kv.cloneDeep=IC});var Qv=X(Zv=>{var Hv=mf(),Yv=Da();sl();var CC=sf();function Gv(e,t,r){return typeof r!="function"?Gv(e,t,()=>{}):gf(e,t,i(function n(a,o,l,s,u,c){let f=r(a,o,l,s,u,c);return f!==void 0?!!f:gf(a,o,n,c)},"doesMatch"),new Map)}i(Gv,"isMatchWith");function gf(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return kC(e,t,r,n);case"function":return Object.keys(t).length>0?gf(e,{...t},r,n):Yv.isEqualsSameValueZero(e,t);default:return CC.isObject(e)?typeof t=="string"?t==="":!0:Yv.isEqualsSameValueZero(e,t)}}i(gf,"isMatchWithInternal");function kC(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return Xv(e,t,r,n);if(t instanceof Map)return _C(e,t,r,n);if(t instanceof Set)return TC(e,t,r,n);let a=Object.keys(t);if(e==null||Hv.isPrimitive(e))return a.length===0;if(a.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<a.length;o++){let l=a[o];if(!Hv.isPrimitive(e)&&!(l in e)||t[l]===void 0&&e[l]!==void 0||t[l]===null&&e[l]!==null||!r(e[l],t[l],l,e,t,n))return!1}return!0}finally{n?.delete(t)}}i(kC,"isObjectMatch");function _C(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[a,o]of t.entries())if(r(e.get(a),o,a,e,t,n)===!1)return!1;return!0}i(_C,"isMapMatch");function Xv(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let a=new Set;for(let o=0;o<t.length;o++){let l=t[o],s=!1;for(let u=0;u<e.length;u++){if(a.has(u))continue;let c=e[u],f=!1;if(r(c,l,o,e,t,n)&&(f=!0),f){a.add(u),s=!0;break}}if(!s)return!1}return!0}i(Xv,"isArrayMatch");function TC(e,t,r,n){return t.size===0?!0:e instanceof Set?Xv([...e],[...t],r,n):!1}i(TC,"isSetMatch");Zv.isMatchWith=Gv});var xf=X(Jv=>{var DC=Qv();function RC(e,t){return DC.isMatchWith(e,t,()=>{})}i(RC,"isMatch");Jv.isMatch=RC});var ty=X(ey=>{var MC=Uv(),NC=xf();function jC(e){return e=MC.cloneDeep(e),t=>NC.isMatch(t,e)}i(jC,"matches");ey.matches=jC});var ny=X(ry=>{var LC=ja(),pl=fl(),ml=yf();function BC(e,t){return ml.cloneDeepWith(e,(r,n,a,o)=>{let l=t?.(r,n,a,o);if(l!==void 0)return l;if(typeof e=="object"){if(LC.getTag(e)==="[object Object]"&&typeof e.constructor!="function"){let s={};return o.set(e,s),ml.copyProperties(s,e,a,o),s}switch(Object.prototype.toString.call(e)){case pl.numberTag:case pl.stringTag:case pl.booleanTag:{let s=new e.constructor(e?.valueOf());return ml.copyProperties(s,e),s}case pl.argumentsTag:{let s={};return ml.copyProperties(s,e),s.length=e.length,s[Symbol.iterator]=e[Symbol.iterator],s}default:return}}})}i(BC,"cloneDeepWith");ry.cloneDeepWith=BC});var ay=X(iy=>{var zC=ny();function FC(e){return zC.cloneDeepWith(e)}i(FC,"cloneDeep");iy.cloneDeep=FC});var ly=X(oy=>{var WC=ja();function VC(e){return e!==null&&typeof e=="object"&&WC.getTag(e)==="[object Arguments]"}i(VC,"isArguments");oy.isArguments=VC});var uy=X(sy=>{var qC=tf(),$C=il(),KC=uf(),UC=ly();function HC(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&qC.isDeepKey(t)&&e?.[t]==null?r=$C.toPath(t):r=[t],r.length===0)return!1;let n=e;for(let a=0;a<r.length;a++){let o=r[a];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||UC.isArguments(n))&&KC.isIndex(o)&&o<n.length))return!1;n=n[o]}return!0}i(HC,"has");sy.has=HC});var fy=X(cy=>{var YC=nl(),GC=al(),XC=xf(),ZC=ay(),QC=uy();function JC(e,t){switch(typeof e){case"object":Object.is(e?.valueOf(),-0)&&(e="-0");break;case"number":e=YC.toKey(e);break}return t=ZC.cloneDeep(t),function(r){let n=GC.get(r,e);return n===void 0?QC.has(r,e):t===void 0?n===void 0:XC.isMatch(n,t)}}i(JC,"matchesProperty");cy.matchesProperty=JC});var py=X(dy=>{var ek=pf(),tk=Nv(),rk=ty(),nk=fy();function ik(e){if(e==null)return ek.identity;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?nk.matchesProperty(e[0],e[1]):rk.matches(e);case"string":case"symbol":case"number":return tk.property(e)}}i(ik,"iteratee");dy.iteratee=ik});var hy=X(my=>{function ak(e){return typeof e=="object"&&e!==null}i(ak,"isObjectLike");my.isObjectLike=ak});var yy=X(vy=>{var ok=lf(),lk=hy();function sk(e){return lk.isObjectLike(e)&&ok.isArrayLike(e)}i(sk,"isArrayLikeObject");vy.isArrayLikeObject=sk});var xy=X(gy=>{var uk=_v(),ck=Dv(),fk=pf(),dk=py(),pk=yy();function mk(e,t=fk.identity){return pk.isArrayLikeObject(e)?uk.uniqBy(Array.from(e),ck.ary(dk.iteratee(t),1)):[]}i(mk,"uniqBy");gy.uniqBy=mk});var Ay=X((TU,by)=>{by.exports=xy().uniqBy});var xb=X(gb=>{var uD=ff();function cD(e){return uD.isSymbol(e)?NaN:Number(e)}i(cD,"toNumber");gb.toNumber=cD});var Ab=X(bb=>{var fD=xb();function dD(e){return e?(e=fD.toNumber(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}i(dD,"toFinite");bb.toFinite=dD});var Sb=X(wb=>{var yd=Ab(),pD=cf();function mD(e,t,r){r&&typeof r!="number"&&pD.isIterateeCall(e,t,r)&&(t=r=void 0),e=yd.toFinite(e),t===void 0?(t=e,e=0):t=yd.toFinite(t),r=r===void 0?e<t?1:-1:yd.toFinite(r);let n=Math.max(Math.ceil((t-e)/(r||1)),0),a=new Array(n);for(let o=0;o<n;o++)a[o]=e,e+=r;return a}i(mD,"range");wb.range=mD});var Ob=X((TX,Pb)=>{Pb.exports=Sb().range});var bd=X((Tb,Cs)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",l=a+"Exponent out of range: ",s=Math.floor,u=Math.pow,c=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,f,d=1e7,p=7,m=9007199254740991,h=s(m/p),v={};v.absoluteValue=v.abs=function(){var b=new this.constructor(this);return b.s&&(b.s=1),b},v.comparedTo=v.cmp=function(b){var S,k,O,I,C=this;if(b=new C.constructor(b),C.s!==b.s)return C.s||-b.s;if(C.e!==b.e)return C.e>b.e^C.s<0?1:-1;for(O=C.d.length,I=b.d.length,S=0,k=O<I?O:I;S<k;++S)if(C.d[S]!==b.d[S])return C.d[S]>b.d[S]^C.s<0?1:-1;return O===I?0:O>I^C.s<0?1:-1},v.decimalPlaces=v.dp=function(){var b=this,S=b.d.length-1,k=(S-b.e)*p;if(S=b.d[S],S)for(;S%10==0;S/=10)k--;return k<0?0:k},v.dividedBy=v.div=function(b){return A(this,new this.constructor(b))},v.dividedToIntegerBy=v.idiv=function(b){var S=this,k=S.constructor;return R(A(S,new k(b),0,1),k.precision)},v.equals=v.eq=function(b){return!this.cmp(b)},v.exponent=function(){return E(this)},v.greaterThan=v.gt=function(b){return this.cmp(b)>0},v.greaterThanOrEqualTo=v.gte=function(b){return this.cmp(b)>=0},v.isInteger=v.isint=function(){return this.e>this.d.length-2},v.isNegative=v.isneg=function(){return this.s<0},v.isPositive=v.ispos=function(){return this.s>0},v.isZero=function(){return this.s===0},v.lessThan=v.lt=function(b){return this.cmp(b)<0},v.lessThanOrEqualTo=v.lte=function(b){return this.cmp(b)<1},v.logarithm=v.log=function(b){var S,k=this,O=k.constructor,I=O.precision,C=I+5;if(b===void 0)b=new O(10);else if(b=new O(b),b.s<1||b.eq(f))throw Error(a+"NaN");if(k.s<1)throw Error(a+(k.s?"NaN":"-Infinity"));return k.eq(f)?new O(0):(n=!1,S=A(D(k,C),D(b,C),C),n=!0,R(S,I))},v.minus=v.sub=function(b){var S=this;return b=new S.constructor(b),S.s==b.s?V(S,b):g(S,(b.s=-b.s,b))},v.modulo=v.mod=function(b){var S,k=this,O=k.constructor,I=O.precision;if(b=new O(b),!b.s)throw Error(a+"NaN");return k.s?(n=!1,S=A(k,b,0,1).times(b),n=!0,k.minus(S)):R(new O(k),I)},v.naturalExponential=v.exp=function(){return P(this)},v.naturalLogarithm=v.ln=function(){return D(this)},v.negated=v.neg=function(){var b=new this.constructor(this);return b.s=-b.s||0,b},v.plus=v.add=function(b){var S=this;return b=new S.constructor(b),S.s==b.s?g(S,b):V(S,(b.s=-b.s,b))},v.precision=v.sd=function(b){var S,k,O,I=this;if(b!==void 0&&b!==!!b&&b!==1&&b!==0)throw Error(o+b);if(S=E(I)+1,O=I.d.length-1,k=O*p+1,O=I.d[O],O){for(;O%10==0;O/=10)k--;for(O=I.d[0];O>=10;O/=10)k++}return b&&S>k?S:k},v.squareRoot=v.sqrt=function(){var b,S,k,O,I,C,j,N=this,W=N.constructor;if(N.s<1){if(!N.s)return new W(0);throw Error(a+"NaN")}for(b=E(N),n=!1,I=Math.sqrt(+N),I==0||I==1/0?(S=w(N.d),(S.length+b)%2==0&&(S+="0"),I=Math.sqrt(S),b=s((b+1)/2)-(b<0||b%2),I==1/0?S="5e"+b:(S=I.toExponential(),S=S.slice(0,S.indexOf("e")+1)+b),O=new W(S)):O=new W(I.toString()),k=W.precision,I=j=k+3;;)if(C=O,O=C.plus(A(N,C,j+2)).times(.5),w(C.d).slice(0,j)===(S=w(O.d)).slice(0,j)){if(S=S.slice(j-3,j+1),I==j&&S=="4999"){if(R(C,k+1,0),C.times(C).eq(N)){O=C;break}}else if(S!="9999")break;j+=4}return n=!0,R(O,k)},v.times=v.mul=function(b){var S,k,O,I,C,j,N,W,Y,U=this,G=U.constructor,Re=U.d,F=(b=new G(b)).d;if(!U.s||!b.s)return new G(0);for(b.s*=U.s,k=U.e+b.e,W=Re.length,Y=F.length,W<Y&&(C=Re,Re=F,F=C,j=W,W=Y,Y=j),C=[],j=W+Y,O=j;O--;)C.push(0);for(O=Y;--O>=0;){for(S=0,I=W+O;I>O;)N=C[I]+F[O]*Re[I-O-1]+S,C[I--]=N%d|0,S=N/d|0;C[I]=(C[I]+S)%d|0}for(;!C[--j];)C.pop();return S?++k:C.shift(),b.d=C,b.e=k,n?R(b,G.precision):b},v.toDecimalPlaces=v.todp=function(b,S){var k=this,O=k.constructor;return k=new O(k),b===void 0?k:(y(b,0,t),S===void 0?S=O.rounding:y(S,0,8),R(k,b+E(k)+1,S))},v.toExponential=function(b,S){var k,O=this,I=O.constructor;return b===void 0?k=B(O,!0):(y(b,0,t),S===void 0?S=I.rounding:y(S,0,8),O=R(new I(O),b+1,S),k=B(O,!0,b+1)),k},v.toFixed=function(b,S){var k,O,I=this,C=I.constructor;return b===void 0?B(I):(y(b,0,t),S===void 0?S=C.rounding:y(S,0,8),O=R(new C(I),b+E(I)+1,S),k=B(O.abs(),!1,b+E(O)+1),I.isneg()&&!I.isZero()?"-"+k:k)},v.toInteger=v.toint=function(){var b=this,S=b.constructor;return R(new S(b),E(b)+1,S.rounding)},v.toNumber=function(){return+this},v.toPower=v.pow=function(b){var S,k,O,I,C,j,N=this,W=N.constructor,Y=12,U=+(b=new W(b));if(!b.s)return new W(f);if(N=new W(N),!N.s){if(b.s<1)throw Error(a+"Infinity");return N}if(N.eq(f))return N;if(O=W.precision,b.eq(f))return R(N,O);if(S=b.e,k=b.d.length-1,j=S>=k,C=N.s,j){if((k=U<0?-U:U)<=m){for(I=new W(f),S=Math.ceil(O/p+4),n=!1;k%2&&(I=I.times(N),Q(I.d,S)),k=s(k/2),k!==0;)N=N.times(N),Q(N.d,S);return n=!0,b.s<0?new W(f).div(I):R(I,O)}}else if(C<0)throw Error(a+"NaN");return C=C<0&&b.d[Math.max(S,k)]&1?-1:1,N.s=1,n=!1,I=b.times(D(N,O+Y)),n=!0,I=P(I),I.s=C,I},v.toPrecision=function(b,S){var k,O,I=this,C=I.constructor;return b===void 0?(k=E(I),O=B(I,k<=C.toExpNeg||k>=C.toExpPos)):(y(b,1,t),S===void 0?S=C.rounding:y(S,0,8),I=R(new C(I),b,S),k=E(I),O=B(I,b<=k||k<=C.toExpNeg,b)),O},v.toSignificantDigits=v.tosd=function(b,S){var k=this,O=k.constructor;return b===void 0?(b=O.precision,S=O.rounding):(y(b,1,t),S===void 0?S=O.rounding:y(S,0,8)),R(new O(k),b,S)},v.toString=v.valueOf=v.val=v.toJSON=function(){var b=this,S=E(b),k=b.constructor;return B(b,S<=k.toExpNeg||S>=k.toExpPos)};function g(b,S){var k,O,I,C,j,N,W,Y,U=b.constructor,G=U.precision;if(!b.s||!S.s)return S.s||(S=new U(b)),n?R(S,G):S;if(W=b.d,Y=S.d,j=b.e,I=S.e,W=W.slice(),C=j-I,C){for(C<0?(O=W,C=-C,N=Y.length):(O=Y,I=j,N=W.length),j=Math.ceil(G/p),N=j>N?j+1:N+1,C>N&&(C=N,O.length=1),O.reverse();C--;)O.push(0);O.reverse()}for(N=W.length,C=Y.length,N-C<0&&(C=N,O=Y,Y=W,W=O),k=0;C;)k=(W[--C]=W[C]+Y[C]+k)/d|0,W[C]%=d;for(k&&(W.unshift(k),++I),N=W.length;W[--N]==0;)W.pop();return S.d=W,S.e=I,n?R(S,G):S}i(g,"add");function y(b,S,k){if(b!==~~b||b<S||b>k)throw Error(o+b)}i(y,"checkInt32");function w(b){var S,k,O,I=b.length-1,C="",j=b[0];if(I>0){for(C+=j,S=1;S<I;S++)O=b[S]+"",k=p-O.length,k&&(C+=_(k)),C+=O;j=b[S],O=j+"",k=p-O.length,k&&(C+=_(k))}else if(j===0)return"0";for(;j%10===0;)j/=10;return C+j}i(w,"digitsToString");var A=(function(){function b(O,I){var C,j=0,N=O.length;for(O=O.slice();N--;)C=O[N]*I+j,O[N]=C%d|0,j=C/d|0;return j&&O.unshift(j),O}i(b,"multiplyInteger");function S(O,I,C,j){var N,W;if(C!=j)W=C>j?1:-1;else for(N=W=0;N<C;N++)if(O[N]!=I[N]){W=O[N]>I[N]?1:-1;break}return W}i(S,"compare");function k(O,I,C){for(var j=0;C--;)O[C]-=j,j=O[C]<I[C]?1:0,O[C]=j*d+O[C]-I[C];for(;!O[0]&&O.length>1;)O.shift()}return i(k,"subtract"),function(O,I,C,j){var N,W,Y,U,G,Re,F,ne,H,L,qe,ue,te,rt,Ft,di,ar,el,tl=O.constructor,GE=O.s==I.s?1:-1,hr=O.d,Ye=I.d;if(!O.s)return new tl(O);if(!I.s)throw Error(a+"Division by zero");for(W=O.e-I.e,ar=Ye.length,Ft=hr.length,F=new tl(GE),ne=F.d=[],Y=0;Ye[Y]==(hr[Y]||0);)++Y;if(Ye[Y]>(hr[Y]||0)&&--W,C==null?ue=C=tl.precision:j?ue=C+(E(O)-E(I))+1:ue=C,ue<0)return new tl(0);if(ue=ue/p+2|0,Y=0,ar==1)for(U=0,Ye=Ye[0],ue++;(Y<Ft||U)&&ue--;Y++)te=U*d+(hr[Y]||0),ne[Y]=te/Ye|0,U=te%Ye|0;else{for(U=d/(Ye[0]+1)|0,U>1&&(Ye=b(Ye,U),hr=b(hr,U),ar=Ye.length,Ft=hr.length),rt=ar,H=hr.slice(0,ar),L=H.length;L<ar;)H[L++]=0;el=Ye.slice(),el.unshift(0),di=Ye[0],Ye[1]>=d/2&&++di;do U=0,N=S(Ye,H,ar,L),N<0?(qe=H[0],ar!=L&&(qe=qe*d+(H[1]||0)),U=qe/di|0,U>1?(U>=d&&(U=d-1),G=b(Ye,U),Re=G.length,L=H.length,N=S(G,H,Re,L),N==1&&(U--,k(G,ar<Re?el:Ye,Re))):(U==0&&(N=U=1),G=Ye.slice()),Re=G.length,Re<L&&G.unshift(0),k(H,G,L),N==-1&&(L=H.length,N=S(Ye,H,ar,L),N<1&&(U++,k(H,ar<L?el:Ye,L))),L=H.length):N===0&&(U++,H=[0]),ne[Y++]=U,N&&H[0]?H[L++]=hr[rt]||0:(H=[hr[rt]],L=1);while((rt++<Ft||H[0]!==void 0)&&ue--)}return ne[0]||ne.shift(),F.e=W,R(F,j?C+E(F)+1:C)}})();function P(b,S){var k,O,I,C,j,N,W=0,Y=0,U=b.constructor,G=U.precision;if(E(b)>16)throw Error(l+E(b));if(!b.s)return new U(f);for(S==null?(n=!1,N=G):N=S,j=new U(.03125);b.abs().gte(.1);)b=b.times(j),Y+=5;for(O=Math.log(u(2,Y))/Math.LN10*2+5|0,N+=O,k=I=C=new U(f),U.precision=N;;){if(I=R(I.times(b),N),k=k.times(++W),j=C.plus(A(I,k,N)),w(j.d).slice(0,N)===w(C.d).slice(0,N)){for(;Y--;)C=R(C.times(C),N);return U.precision=G,S==null?(n=!0,R(C,G)):C}C=j}}i(P,"exp");function E(b){for(var S=b.e*p,k=b.d[0];k>=10;k/=10)S++;return S}i(E,"getBase10Exponent");function x(b,S,k){if(S>b.LN10.sd())throw n=!0,k&&(b.precision=k),Error(a+"LN10 precision limit exceeded");return R(new b(b.LN10),S)}i(x,"getLn10");function _(b){for(var S="";b--;)S+="0";return S}i(_,"getZeroString");function D(b,S){var k,O,I,C,j,N,W,Y,U,G=1,Re=10,F=b,ne=F.d,H=F.constructor,L=H.precision;if(F.s<1)throw Error(a+(F.s?"NaN":"-Infinity"));if(F.eq(f))return new H(0);if(S==null?(n=!1,Y=L):Y=S,F.eq(10))return S==null&&(n=!0),x(H,Y);if(Y+=Re,H.precision=Y,k=w(ne),O=k.charAt(0),C=E(F),Math.abs(C)<15e14){for(;O<7&&O!=1||O==1&&k.charAt(1)>3;)F=F.times(b),k=w(F.d),O=k.charAt(0),G++;C=E(F),O>1?(F=new H("0."+k),C++):F=new H(O+"."+k.slice(1))}else return W=x(H,Y+2,L).times(C+""),F=D(new H(O+"."+k.slice(1)),Y-Re).plus(W),H.precision=L,S==null?(n=!0,R(F,L)):F;for(N=j=F=A(F.minus(f),F.plus(f),Y),U=R(F.times(F),Y),I=3;;){if(j=R(j.times(U),Y),W=N.plus(A(j,new H(I),Y)),w(W.d).slice(0,Y)===w(N.d).slice(0,Y))return N=N.times(2),C!==0&&(N=N.plus(x(H,Y+2,L).times(C+""))),N=A(N,new H(G),Y),H.precision=L,S==null?(n=!0,R(N,L)):N;N=W,I+=2}}i(D,"ln");function $(b,S){var k,O,I;for((k=S.indexOf("."))>-1&&(S=S.replace(".","")),(O=S.search(/e/i))>0?(k<0&&(k=O),k+=+S.slice(O+1),S=S.substring(0,O)):k<0&&(k=S.length),O=0;S.charCodeAt(O)===48;)++O;for(I=S.length;S.charCodeAt(I-1)===48;)--I;if(S=S.slice(O,I),S){if(I-=O,k=k-O-1,b.e=s(k/p),b.d=[],O=(k+1)%p,k<0&&(O+=p),O<I){for(O&&b.d.push(+S.slice(0,O)),I-=p;O<I;)b.d.push(+S.slice(O,O+=p));S=S.slice(O),O=p-S.length}else O-=I;for(;O--;)S+="0";if(b.d.push(+S),n&&(b.e>h||b.e<-h))throw Error(l+k)}else b.s=0,b.e=0,b.d=[0];return b}i($,"parseDecimal");function R(b,S,k){var O,I,C,j,N,W,Y,U,G=b.d;for(j=1,C=G[0];C>=10;C/=10)j++;if(O=S-j,O<0)O+=p,I=S,Y=G[U=0];else{if(U=Math.ceil((O+1)/p),C=G.length,U>=C)return b;for(Y=C=G[U],j=1;C>=10;C/=10)j++;O%=p,I=O-p+j}if(k!==void 0&&(C=u(10,j-I-1),N=Y/C%10|0,W=S<0||G[U+1]!==void 0||Y%C,W=k<4?(N||W)&&(k==0||k==(b.s<0?3:2)):N>5||N==5&&(k==4||W||k==6&&(O>0?I>0?Y/u(10,j-I):0:G[U-1])%10&1||k==(b.s<0?8:7))),S<1||!G[0])return W?(C=E(b),G.length=1,S=S-C-1,G[0]=u(10,(p-S%p)%p),b.e=s(-S/p)||0):(G.length=1,G[0]=b.e=b.s=0),b;if(O==0?(G.length=U,C=1,U--):(G.length=U+1,C=u(10,p-O),G[U]=I>0?(Y/u(10,j-I)%u(10,I)|0)*C:0),W)for(;;)if(U==0){(G[0]+=C)==d&&(G[0]=1,++b.e);break}else{if(G[U]+=C,G[U]!=d)break;G[U--]=0,C=1}for(O=G.length;G[--O]===0;)G.pop();if(n&&(b.e>h||b.e<-h))throw Error(l+E(b));return b}i(R,"round");function V(b,S){var k,O,I,C,j,N,W,Y,U,G,Re=b.constructor,F=Re.precision;if(!b.s||!S.s)return S.s?S.s=-S.s:S=new Re(b),n?R(S,F):S;if(W=b.d,G=S.d,O=S.e,Y=b.e,W=W.slice(),j=Y-O,j){for(U=j<0,U?(k=W,j=-j,N=G.length):(k=G,O=Y,N=W.length),I=Math.max(Math.ceil(F/p),N)+2,j>I&&(j=I,k.length=1),k.reverse(),I=j;I--;)k.push(0);k.reverse()}else{for(I=W.length,N=G.length,U=I<N,U&&(N=I),I=0;I<N;I++)if(W[I]!=G[I]){U=W[I]<G[I];break}j=0}for(U&&(k=W,W=G,G=k,S.s=-S.s),N=W.length,I=G.length-N;I>0;--I)W[N++]=0;for(I=G.length;I>j;){if(W[--I]<G[I]){for(C=I;C&&W[--C]===0;)W[C]=d-1;--W[C],W[I]+=d}W[I]-=G[I]}for(;W[--N]===0;)W.pop();for(;W[0]===0;W.shift())--O;return W[0]?(S.d=W,S.e=O,n?R(S,F):S):new Re(0)}i(V,"subtract");function B(b,S,k){var O,I=E(b),C=w(b.d),j=C.length;return S?(k&&(O=k-j)>0?C=C.charAt(0)+"."+C.slice(1)+_(O):j>1&&(C=C.charAt(0)+"."+C.slice(1)),C=C+(I<0?"e":"e+")+I):I<0?(C="0."+_(-I-1)+C,k&&(O=k-j)>0&&(C+=_(O))):I>=j?(C+=_(I+1-j),k&&(O=k-I-1)>0&&(C=C+"."+_(O))):((O=I+1)<j&&(C=C.slice(0,O)+"."+C.slice(O)),k&&(O=k-j)>0&&(I+1===j&&(C+="."),C+=_(O))),b.s<0?"-"+C:C}i(B,"toString");function Q(b,S){if(b.length>S)return b.length=S,!0}i(Q,"truncate");function Z(b){var S,k,O;function I(C){var j=this;if(!(j instanceof I))return new I(C);if(j.constructor=I,C instanceof I){j.s=C.s,j.e=C.e,j.d=(C=C.d)?C.slice():C;return}if(typeof C=="number"){if(C*0!==0)throw Error(o+C);if(C>0)j.s=1;else if(C<0)C=-C,j.s=-1;else{j.s=0,j.e=0,j.d=[0];return}if(C===~~C&&C<1e7){j.e=0,j.d=[C];return}return $(j,C.toString())}else if(typeof C!="string")throw Error(o+C);if(C.charCodeAt(0)===45?(C=C.slice(1),j.s=-1):j.s=1,c.test(C))$(j,C);else throw Error(o+C)}if(i(I,"Decimal"),I.prototype=v,I.ROUND_UP=0,I.ROUND_DOWN=1,I.ROUND_CEIL=2,I.ROUND_FLOOR=3,I.ROUND_HALF_UP=4,I.ROUND_HALF_DOWN=5,I.ROUND_HALF_EVEN=6,I.ROUND_HALF_CEIL=7,I.ROUND_HALF_FLOOR=8,I.clone=Z,I.config=I.set=J,b===void 0&&(b={}),b)for(O=["precision","rounding","toExpNeg","toExpPos","LN10"],S=0;S<O.length;)b.hasOwnProperty(k=O[S++])||(b[k]=this[k]);return I.config(b),I}i(Z,"clone");function J(b){if(!b||typeof b!="object")throw Error(a+"Object expected");var S,k,O,I=["precision",1,t,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(S=0;S<I.length;S+=3)if((O=b[k=I[S]])!==void 0)if(s(O)===O&&O>=I[S+1]&&O<=I[S+2])this[k]=O;else throw Error(o+k+": "+O);if((O=b[k="LN10"])!==void 0)if(O==Math.LN10)this[k]=new this(O);else throw Error(o+k+": "+O);return this}i(J,"config"),r=Z(r),r.default=r.Decimal=r,f=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof Cs<"u"&&Cs.exports?Cs.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(Tb)});var aw=X((bee,um)=>{"use strict";var Fj=Object.prototype.hasOwnProperty,St="~";function Io(){}i(Io,"Events");Object.create&&(Io.prototype=Object.create(null),new Io().__proto__||(St=!1));function Wj(e,t,r){this.fn=e,this.context=t,this.once=r||!1}i(Wj,"EE");function iw(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Wj(r,n||e,a),l=St?St+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}i(iw,"addListener");function Hu(e,t){--e._eventsCount===0?e._events=new Io:delete e._events[t]}i(Hu,"clearEvent");function mt(){this._events=new Io,this._eventsCount=0}i(mt,"EventEmitter");mt.prototype.eventNames=i(function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Fj.call(r,n)&&t.push(St?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t},"eventNames");mt.prototype.listeners=i(function(t){var r=St?St+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,l=new Array(o);a<o;a++)l[a]=n[a].fn;return l},"listeners");mt.prototype.listenerCount=i(function(t){var r=St?St+t:t,n=this._events[r];return n?n.fn?1:n.length:0},"listenerCount");mt.prototype.emit=i(function(t,r,n,a,o,l){var s=St?St+t:t;if(!this._events[s])return!1;var u=this._events[s],c=arguments.length,f,d;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,a),!0;case 5:return u.fn.call(u.context,r,n,a,o),!0;case 6:return u.fn.call(u.context,r,n,a,o,l),!0}for(d=1,f=new Array(c-1);d<c;d++)f[d-1]=arguments[d];u.fn.apply(u.context,f)}else{var p=u.length,m;for(d=0;d<p;d++)switch(u[d].once&&this.removeListener(t,u[d].fn,void 0,!0),c){case 1:u[d].fn.call(u[d].context);break;case 2:u[d].fn.call(u[d].context,r);break;case 3:u[d].fn.call(u[d].context,r,n);break;case 4:u[d].fn.call(u[d].context,r,n,a);break;default:if(!f)for(m=1,f=new Array(c-1);m<c;m++)f[m-1]=arguments[m];u[d].fn.apply(u[d].context,f)}}return!0},"emit");mt.prototype.on=i(function(t,r,n){return iw(this,t,r,n,!1)},"on");mt.prototype.once=i(function(t,r,n){return iw(this,t,r,n,!0)},"once");mt.prototype.removeListener=i(function(t,r,n,a){var o=St?St+t:t;if(!this._events[o])return this;if(!r)return Hu(this,o),this;var l=this._events[o];if(l.fn)l.fn===r&&(!a||l.once)&&(!n||l.context===n)&&Hu(this,o);else{for(var s=0,u=[],c=l.length;s<c;s++)(l[s].fn!==r||a&&!l[s].once||n&&l[s].context!==n)&&u.push(l[s]);u.length?this._events[o]=u.length===1?u[0]:u:Hu(this,o)}return this},"removeListener");mt.prototype.removeAllListeners=i(function(t){var r;return t?(r=St?St+t:t,this._events[r]&&Hu(this,r)):(this._events=new Io,this._eventsCount=0),this},"removeAllListeners");mt.prototype.off=mt.prototype.removeListener;mt.prototype.addListener=mt.prototype.on;mt.prefixed=St;mt.EventEmitter=mt;typeof um<"u"&&(um.exports=mt)});var Bw=X(Lw=>{function IL(){}i(IL,"noop");Lw.noop=IL});var Fw=X(zw=>{function CL(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}i(CL,"isPlainObject");zw.isPlainObject=CL});var Uw=X(Kw=>{var Ww=hf(),Vw=ja(),Ce=fl(),qw=vf(),$w=Fw(),kL=Da();sl();function _L(e,t,r){return _o(e,t,void 0,void 0,void 0,void 0,r)}i(_L,"isEqualWith");function _o(e,t,r,n,a,o,l){let s=l(e,t,r,n,a,o);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return To(e,t,o,l)}return To(e,t,o,l)}i(_o,"isEqualWithImpl");function To(e,t,r,n){if(Object.is(e,t))return!0;let a=Vw.getTag(e),o=Vw.getTag(t);if(a==="[object Arguments]"&&(a=Ce.objectTag),o==="[object Arguments]"&&(o=Ce.objectTag),a!==o)return!1;switch(a){case Ce.stringTag:return e.toString()===t.toString();case Ce.numberTag:{let u=e.valueOf(),c=t.valueOf();return kL.isEqualsSameValueZero(u,c)}case Ce.booleanTag:case Ce.dateTag:case Ce.symbolTag:return Object.is(e.valueOf(),t.valueOf());case Ce.regexpTag:return e.source===t.source&&e.flags===t.flags;case Ce.functionTag:return e===t}r=r??new Map;let l=r.get(e),s=r.get(t);if(l!=null&&s!=null)return l===t;r.set(e,t),r.set(t,e);try{switch(a){case Ce.mapTag:if(e.size!==t.size)return!1;for(let[u,c]of e.entries())if(!t.has(u)||!_o(c,t.get(u),u,e,t,r,n))return!1;return!0;case Ce.setTag:{if(e.size!==t.size)return!1;let u=Array.from(e.values()),c=Array.from(t.values());for(let f=0;f<u.length;f++){let d=u[f],p=c.findIndex(m=>_o(d,m,void 0,e,t,r,n));if(p===-1)return!1;c.splice(p,1)}return!0}case Ce.arrayTag:case Ce.uint8ArrayTag:case Ce.uint8ClampedArrayTag:case Ce.uint16ArrayTag:case Ce.uint32ArrayTag:case Ce.bigUint64ArrayTag:case Ce.int8ArrayTag:case Ce.int16ArrayTag:case Ce.int32ArrayTag:case Ce.bigInt64ArrayTag:case Ce.float32ArrayTag:case Ce.float64ArrayTag:if(qw.isBuffer(e)!==qw.isBuffer(t)||e.length!==t.length)return!1;for(let u=0;u<e.length;u++)if(!_o(e[u],t[u],u,e,t,r,n))return!1;return!0;case Ce.arrayBufferTag:return e.byteLength!==t.byteLength?!1:To(new Uint8Array(e),new Uint8Array(t),r,n);case Ce.dataViewTag:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:To(new Uint8Array(e),new Uint8Array(t),r,n);case Ce.errorTag:return e.name===t.name&&e.message===t.message;case Ce.objectTag:{if(!(To(e.constructor,t.constructor,r,n)||$w.isPlainObject(e)&&$w.isPlainObject(t)))return!1;let u=[...Object.keys(e),...Ww.getSymbols(e)],c=[...Object.keys(t),...Ww.getSymbols(t)];if(u.length!==c.length)return!1;for(let f=0;f<u.length;f++){let d=u[f],p=e[d];if(!Object.hasOwn(t,d))return!1;let m=t[d];if(!_o(p,m,d,e,t,r,n))return!1}return!0}default:return!1}}finally{r.delete(e),r.delete(t)}}i(To,"areObjectsEqual");Kw.isEqualWith=_L});var Yw=X(Hw=>{var TL=Bw(),DL=Uw();function RL(e,t){return DL.isEqualWith(e,t,TL.noop)}i(RL,"isEqual");Hw.isEqual=RL});var Xw=X((Vte,Gw)=>{Gw.exports=Yw().isEqual});var KS=X(Pe=>{"use strict";var bm=Symbol.for("react.element"),Am=Symbol.for("react.portal"),uc=Symbol.for("react.fragment"),cc=Symbol.for("react.strict_mode"),fc=Symbol.for("react.profiler"),dc=Symbol.for("react.provider"),pc=Symbol.for("react.context"),bB=Symbol.for("react.server_context"),mc=Symbol.for("react.forward_ref"),hc=Symbol.for("react.suspense"),vc=Symbol.for("react.suspense_list"),yc=Symbol.for("react.memo"),gc=Symbol.for("react.lazy"),AB=Symbol.for("react.offscreen"),$S;$S=Symbol.for("react.module.reference");function Jt(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case bm:switch(e=e.type,e){case uc:case fc:case cc:case hc:case vc:return e;default:switch(e=e&&e.$$typeof,e){case bB:case pc:case mc:case gc:case yc:case dc:return e;default:return t}}case Am:return t}}}i(Jt,"v");Pe.ContextConsumer=pc;Pe.ContextProvider=dc;Pe.Element=bm;Pe.ForwardRef=mc;Pe.Fragment=uc;Pe.Lazy=gc;Pe.Memo=yc;Pe.Portal=Am;Pe.Profiler=fc;Pe.StrictMode=cc;Pe.Suspense=hc;Pe.SuspenseList=vc;Pe.isAsyncMode=function(){return!1};Pe.isConcurrentMode=function(){return!1};Pe.isContextConsumer=function(e){return Jt(e)===pc};Pe.isContextProvider=function(e){return Jt(e)===dc};Pe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===bm};Pe.isForwardRef=function(e){return Jt(e)===mc};Pe.isFragment=function(e){return Jt(e)===uc};Pe.isLazy=function(e){return Jt(e)===gc};Pe.isMemo=function(e){return Jt(e)===yc};Pe.isPortal=function(e){return Jt(e)===Am};Pe.isProfiler=function(e){return Jt(e)===fc};Pe.isStrictMode=function(e){return Jt(e)===cc};Pe.isSuspense=function(e){return Jt(e)===hc};Pe.isSuspenseList=function(e){return Jt(e)===vc};Pe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===uc||e===fc||e===cc||e===hc||e===vc||e===AB||typeof e=="object"&&e!==null&&(e.$$typeof===gc||e.$$typeof===yc||e.$$typeof===dc||e.$$typeof===pc||e.$$typeof===mc||e.$$typeof===$S||e.getModuleId!==void 0)};Pe.typeOf=Jt});var HS=X((Vne,US)=>{"use strict";US.exports=KS()});var KP=X($P=>{"use strict";var $o=z();function Cz(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}i(Cz,"is");var kz=typeof Object.is=="function"?Object.is:Cz,_z=$o.useSyncExternalStore,Tz=$o.useRef,Dz=$o.useEffect,Rz=$o.useMemo,Mz=$o.useDebugValue;$P.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Tz(null);if(o.current===null){var l={hasValue:!1,value:null};o.current=l}else l=o.current;o=Rz(function(){function u(m){if(!c){if(c=!0,f=m,m=n(m),a!==void 0&&l.hasValue){var h=l.value;if(a(h,m))return d=h}return d=m}if(h=d,kz(f,m))return h;var v=n(m);return a!==void 0&&a(h,v)?(f=m,h):(f=m,d=v)}i(u,"memoizedSelector");var c=!1,f,d,p=r===void 0?null:r;return[function(){return u(t())},p===null?void 0:function(){return u(p())}]},[t,r,n,a]);var s=_z(e,o[0],o[1]);return Dz(function(){l.hasValue=!0,l.value=s},[s]),Mz(s),s}});var HP=X((Yae,UP)=>{"use strict";UP.exports=KP()});var gn=M(z()),Ge=M(z()),Gh=M(Th());var qh=M(_a());var hI=4;function Wt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:hI,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}i(Wt,"round");function Ze(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((a,o,l)=>{var s=r[l-1];return typeof s=="string"?a+s+o:s!==void 0?a+Wt(s)+o:a+o},"")}i(Ze,"roundTemplateLiteral");var je=i(e=>e===0?0:e>0?1:-1,"mathSign"),nt=i(e=>typeof e=="number"&&e!=+e,"isNan"),Or=i(e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,"isPercent"),q=i(e=>(typeof e=="number"||e instanceof Number)&&!nt(e),"isNumber"),it=i(e=>q(e)||typeof e=="string","isNumOrStr"),vI=0,Er=i(e=>{var t=++vI;return"".concat(e||"").concat(t)},"uniqueId"),lt=i(function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!q(t)&&typeof t!="string")return n;var o;if(Or(t)){if(r==null)return n;var l=t.indexOf("%");o=r*parseFloat(t.slice(0,l))/100}else o=+t;return nt(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},"getPercentValue"),nf=i(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},"hasDuplicate");function we(e,t,r){return q(e)&&q(t)?Wt(e+r*(t-e)):t}i(we,"interpolate");function ol(e,t,r){if(!(!e||!e.length))return e.find(n=>n&&(typeof t=="function"?t(n):(0,qh.default)(n,t))===r)}i(ol,"findEntryInArray");var ce=i(e=>e===null||typeof e>"u","isNullish"),hi=i(e=>ce(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1)),"upperFirst");function Qe(e){return e!=null}i(Qe,"isNotNil");function xt(){}i(xt,"noop");var yI=!0,vi=i(function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;o<n;o++)a[o-2]=arguments[o];if(yI&&typeof console<"u"&&console.warn&&(r===void 0&&console.warn("LogUtils requires an error message argument"),!t))if(r===void 0)console.warn("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=0;console.warn(r.replace(/%s/g,()=>a[l++]))}},"warn");var or={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},af=i((e,t,r)=>{var n=r.width,a=n===void 0?or.width:n,o=r.height,l=o===void 0?or.height:o,s=r.aspect,u=r.maxHeight,c=Or(a)?e:Number(a),f=Or(l)?t:Number(l);return s&&s>0&&(c?f=c/s:f&&(c=f*s),u&&f!=null&&f>u&&(f=u)),{calculatedWidth:c,calculatedHeight:f}},"calculateChartDimensions"),gI={width:0,height:0,overflow:"visible"},xI={width:0,overflowX:"visible"},bI={height:0,overflowY:"visible"},AI={},$h=i(e=>{var t=e.width,r=e.height,n=Or(t),a=Or(r);return n&&a?gI:n?xI:a?bI:AI},"getInnerDivStyle");function Kh(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=or.width,o=or.height):a===void 0?a=n&&n>0?void 0:or.width:o===void 0&&(o=n&&n>0?void 0:or.height),{width:a,height:o}}i(Kh,"getDefaultWidthAndHeight");function ee(e){return Number.isFinite(e)}i(ee,"isWellBehavedNumber");function Ot(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}i(Ot,"isPositiveNumber");var wI=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function ll(){return ll=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},ll.apply(null,arguments)}i(ll,"_extends");function Uh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}i(Uh,"ownKeys");function Hh(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Uh(Object(r),!0).forEach(function(n){SI(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Uh(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}i(Hh,"_objectSpread");function SI(e,t,r){return(t=PI(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}i(SI,"_defineProperty");function PI(e){var t=OI(e,"string");return typeof t=="symbol"?t:t+""}i(PI,"_toPropertyKey");function OI(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}i(OI,"_toPrimitive");function EI(e,t){return _I(e)||kI(e,t)||CI(e,t)||II()}i(EI,"_slicedToArray");function II(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
1
+ import{c as wh,e as pi,f as mi,j as Sh}from"./chunk-AUGKHAMQ.js";import{a as bh,b as Ah}from"./chunk-WJRYEML4.js";import{b as JE}from"./chunk-SJQERRSZ.js";import{a as xh}from"./chunk-7Y3SY37W.js";import{d as rl}from"./chunk-6PTQTEWR.js";import{a as i,b as X,c as XE,d as M,e as z,f as ZE,g as QE,h as re,i as Xr}from"./chunk-I26MS5PJ.js";var Oh=X(Ph=>{function eI(e,t,{signal:r,edges:n}={}){let a,o=null,l=n!=null&&n.includes("leading"),s=n==null||n.includes("trailing"),u=i(()=>{o!==null&&(e.apply(a,o),a=void 0,o=null)},"invoke"),c=i(()=>{s&&u(),m()},"onTimerEnd"),f=null,d=i(()=>{f!=null&&clearTimeout(f),f=setTimeout(()=>{f=null,c()},t)},"schedule"),p=i(()=>{f!==null&&(clearTimeout(f),f=null)},"cancelTimer"),m=i(()=>{p(),a=void 0,o=null},"cancel"),h=i(()=>{u()},"flush"),v=i(function(...g){if(r?.aborted)return;a=this,o=g;let y=f==null;d(),l&&y&&u()},"debounced");return v.schedule=d,v.cancel=m,v.flush=h,r?.addEventListener("abort",m,{once:!0}),v}i(eI,"debounce");Ph.debounce=eI});var Ih=X(Eh=>{var tI=Oh();function rI(e,t=0,r={}){typeof r!="object"&&(r={});let{leading:n=!1,trailing:a=!0,maxWait:o}=r,l=Array(2);n&&(l[0]="leading"),a&&(l[1]="trailing");let s,u=null,c=tI.debounce(function(...p){s=e.apply(this,p),u=null},t,{edges:l}),f=i(function(...p){return o!=null&&(u===null&&(u=Date.now()),Date.now()-u>=o)?(s=e.apply(this,p),u=Date.now(),c.cancel(),c.schedule(),s):(c.apply(this,p),s)},"debounced"),d=i(()=>(c.flush(),s),"flush");return f.cancel=c.cancel,f.flush=d,f}i(rI,"debounce");Eh.debounce=rI});var kh=X(Ch=>{var nI=Ih();function iI(e,t=0,r={}){let{leading:n=!0,trailing:a=!0}=r;return nI.debounce(e,t,{leading:n,maxWait:t,trailing:a})}i(iI,"throttle");Ch.throttle=iI});var Th=X((m$,_h)=>{_h.exports=kh().throttle});var Rh=X(Dh=>{function aI(e){return e==="__proto__"}i(aI,"isUnsafeProperty");Dh.isUnsafeProperty=aI});var tf=X(Mh=>{function oI(e){switch(typeof e){case"number":case"symbol":return!1;case"string":return e.includes(".")||e.includes("[")||e.includes("]")}}i(oI,"isDeepKey");Mh.isDeepKey=oI});var nl=X(Nh=>{function lI(e){return typeof e=="string"||typeof e=="symbol"?e:Object.is(e?.valueOf?.(),-0)?"-0":String(e)}i(lI,"toKey");Nh.toKey=lI});var Bh=X(Lh=>{function jh(e){if(e==null)return"";if(typeof e=="string")return e;if(Array.isArray(e))return e.map(jh).join(",");let t=String(e);return t==="0"&&Object.is(Number(e),-0)?"-0":t}i(jh,"toString");Lh.toString=jh});var il=X(zh=>{var sI=nl(),uI=Bh();function cI(e){if(Array.isArray(e))return e.map(sI.toKey);if(typeof e=="symbol")return[e];e=uI.toString(e);let t=[],r=e.length;if(r===0)return t;let n=0,a="",o="",l=!1;for(e.charCodeAt(0)===46&&(t.push(""),n++);n<r;){let s=e[n];o?s==="\\"&&n+1<r?(n++,a+=e[n]):s===o?o="":a+=s:l?s==='"'||s==="'"?o=s:s==="]"?(l=!1,t.push(a),a=""):a+=s:s==="["?(l=!0,a&&(t.push(a),a="")):s==="."?a&&(t.push(a),a=""):a+=s,n++}return a&&t.push(a),t}i(cI,"toPath");zh.toPath=cI});var al=X(Wh=>{var rf=Rh(),fI=tf(),dI=nl(),pI=il();function Fh(e,t,r){if(e==null)return r;switch(typeof t){case"string":{if(rf.isUnsafeProperty(t))return r;let n=e[t];return n===void 0?fI.isDeepKey(t)?Fh(e,pI.toPath(t),r):r:n}case"number":case"symbol":{typeof t=="number"&&(t=dI.toKey(t));let n=e[t];return n===void 0?r:n}default:{if(Array.isArray(t))return mI(e,t,r);if(Object.is(t?.valueOf(),-0)?t="-0":t=String(t),rf.isUnsafeProperty(t))return r;let n=e[t];return n===void 0?r:n}}}i(Fh,"get");function mI(e,t,r){if(t.length===0)return r;let n=e;for(let a=0;a<t.length;a++){if(n==null||rf.isUnsafeProperty(t[a]))return r;n=n[t[a]]}return n===void 0?r:n}i(mI,"getWithPath");Wh.get=Fh});var _a=X((I$,Vh)=>{Vh.exports=al().get});var Jh=X(Qh=>{function NI(e,t=1){let r=[],n=Math.floor(t),a=i((o,l)=>{for(let s=0;s<o.length;s++){let u=o[s];Array.isArray(u)&&l<n?a(u,l+1):r.push(u)}},"recursive");return a(e,0),r}i(NI,"flatten");Qh.flatten=NI});var Da=X(ev=>{function jI(e,t){return e===t||Number.isNaN(e)&&Number.isNaN(t)}i(jI,"isEqualsSameValueZero");ev.isEqualsSameValueZero=jI});var sl=X(()=>{Da()});var rv=X(tv=>{function LI(e){return Number.isSafeInteger(e)&&e>=0}i(LI,"isLength");tv.isLength=LI});var lf=X(nv=>{var BI=rv();function zI(e){return e!=null&&typeof e!="function"&&BI.isLength(e.length)}i(zI,"isArrayLike");nv.isArrayLike=zI});var sf=X(iv=>{function FI(e){return e!==null&&(typeof e=="object"||typeof e=="function")}i(FI,"isObject");iv.isObject=FI});var uf=X(av=>{var WI=/^(?:0|[1-9]\d*)$/;function VI(e,t=Number.MAX_SAFE_INTEGER){switch(typeof e){case"number":return Number.isInteger(e)&&e>=0&&e<t;case"symbol":return!1;case"string":return WI.test(e)}}i(VI,"isIndex");av.isIndex=VI});var cf=X(ov=>{var qI=Da();sl();var $I=lf(),KI=sf(),UI=uf();function HI(e,t,r){return KI.isObject(r)&&(typeof t=="number"&&$I.isArrayLike(r)&&UI.isIndex(t)&&t<r.length||typeof t=="string"&&t in r)?qI.isEqualsSameValueZero(r[t],e):!1}i(HI,"isIterateeCall");ov.isIterateeCall=HI});var uv=X(sv=>{function lv(e){return typeof e=="symbol"?1:e===null?2:e===void 0?3:e!==e?4:0}i(lv,"getPriority");var YI=i((e,t,r)=>{if(e!==t){let n=lv(e),a=lv(t);if(n===a&&n===0){if(e<t)return r==="desc"?1:-1;if(e>t)return r==="desc"?-1:1}return r==="desc"?a-n:n-a}return 0},"compareValues");sv.compareValues=YI});var ff=X(cv=>{function GI(e){return typeof e=="symbol"||e instanceof Symbol}i(GI,"isSymbol");cv.isSymbol=GI});var dv=X(fv=>{var XI=ff(),ZI=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,QI=/^\w*$/;function JI(e,t){return Array.isArray(e)?!1:typeof e=="number"||typeof e=="boolean"||e==null||XI.isSymbol(e)?!0:typeof e=="string"&&(QI.test(e)||!ZI.test(e))||t!=null&&Object.hasOwn(t,e)}i(JI,"isKey");fv.isKey=JI});var mv=X(pv=>{var e1=il(),t1=uv(),r1=dv();function n1(e,t,r,n){if(e==null)return[];r=n?void 0:r,Array.isArray(e)||(e=Object.values(e)),Array.isArray(t)||(t=t==null?[null]:[t]),t.length===0&&(t=[null]),Array.isArray(r)||(r=r==null?[]:[r]),r=r.map(s=>String(s));let a=i((s,u)=>{let c=s;for(let f=0;f<u.length&&c!=null;++f)c=c[u[f]];return c},"getValueByNestedPath"),o=i((s,u)=>u==null||s==null?u:typeof s=="object"&&"key"in s?Object.hasOwn(u,s.key)?u[s.key]:a(u,s.path):typeof s=="function"?s(u):Array.isArray(s)?a(u,s):typeof u=="object"?u[s]:u,"getValueByCriterion"),l=t.map(s=>(Array.isArray(s)&&s.length===1&&(s=s[0]),s==null||typeof s=="function"||Array.isArray(s)||r1.isKey(s)?s:{key:s,path:e1.toPath(s)}));return e.map(s=>({original:s,criteria:l.map(u=>o(u,s))})).slice().sort((s,u)=>{for(let c=0;c<l.length;c++){let f=t1.compareValues(s.criteria[c],u.criteria[c],r[c]);if(f!==0)return f}return 0}).map(s=>s.original)}i(n1,"orderBy");pv.orderBy=n1});var yv=X(vv=>{var i1=Jh(),hv=cf(),a1=mv();function o1(e,...t){let r=t.length;return r>1&&hv.isIterateeCall(e,t[0],t[1])?t=[]:r>2&&hv.isIterateeCall(t[0],t[1],t[2])&&(t=[t[0]]),a1.orderBy(e,i1.flatten(t),["asc"])}i(o1,"sortBy");vv.sortBy=o1});var Ra=X((xK,gv)=>{gv.exports=yv().sortBy});var _v=X(kv=>{function j1(e,t){let r=new Map;for(let n=0;n<e.length;n++){let a=e[n],o=t(a,n,e);r.has(o)||r.set(o,a)}return Array.from(r.values())}i(j1,"uniqBy");kv.uniqBy=j1});var Dv=X(Tv=>{function L1(e,t){return function(...r){return e.apply(this,r.slice(0,t))}}i(L1,"ary");Tv.ary=L1});var pf=X(Rv=>{function B1(e){return e}i(B1,"identity");Rv.identity=B1});var Nv=X(Mv=>{var z1=al();function F1(e){return function(t){return z1.get(t,e)}}i(F1,"property");Mv.property=F1});var mf=X(jv=>{function W1(e){return e==null||typeof e!="object"&&typeof e!="function"}i(W1,"isPrimitive");jv.isPrimitive=W1});var Bv=X(Lv=>{function V1(e){return ArrayBuffer.isView(e)&&!(e instanceof DataView)}i(V1,"isTypedArray");Lv.isTypedArray=V1});var hf=X(zv=>{function q1(e){return Object.getOwnPropertySymbols(e).filter(t=>Object.prototype.propertyIsEnumerable.call(e,t))}i(q1,"getSymbols");zv.getSymbols=q1});var ja=X(Fv=>{function $1(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}i($1,"getTag");Fv.getTag=$1});var fl=X(Oe=>{var K1="[object RegExp]",U1="[object String]",H1="[object Number]",Y1="[object Boolean]",G1="[object Arguments]",X1="[object Symbol]",Z1="[object Date]",Q1="[object Map]",J1="[object Set]",eC="[object Array]",tC="[object Function]",rC="[object ArrayBuffer]",nC="[object Object]",iC="[object Error]",aC="[object DataView]",oC="[object Uint8Array]",lC="[object Uint8ClampedArray]",sC="[object Uint16Array]",uC="[object Uint32Array]",cC="[object BigUint64Array]",fC="[object Int8Array]",dC="[object Int16Array]",pC="[object Int32Array]",mC="[object BigInt64Array]",hC="[object Float32Array]",vC="[object Float64Array]";Oe.argumentsTag=G1;Oe.arrayBufferTag=rC;Oe.arrayTag=eC;Oe.bigInt64ArrayTag=mC;Oe.bigUint64ArrayTag=cC;Oe.booleanTag=Y1;Oe.dataViewTag=aC;Oe.dateTag=Z1;Oe.errorTag=iC;Oe.float32ArrayTag=hC;Oe.float64ArrayTag=vC;Oe.functionTag=tC;Oe.int16ArrayTag=dC;Oe.int32ArrayTag=pC;Oe.int8ArrayTag=fC;Oe.mapTag=Q1;Oe.numberTag=H1;Oe.objectTag=nC;Oe.regexpTag=K1;Oe.setTag=J1;Oe.stringTag=U1;Oe.symbolTag=X1;Oe.uint16ArrayTag=sC;Oe.uint32ArrayTag=uC;Oe.uint8ArrayTag=oC;Oe.uint8ClampedArrayTag=lC});var Vv=X(Wv=>{var yC=typeof globalThis=="object"&&globalThis||typeof window=="object"&&window||typeof self=="object"&&self||typeof global=="object"&&global||(function(){return this})()||Function("return this")();Wv.globalThis_=yC});var vf=X($v=>{var qv=Vv();function gC(e){return typeof qv.globalThis_.Buffer<"u"&&qv.globalThis_.Buffer.isBuffer(e)}i(gC,"isBuffer");$v.isBuffer=gC});var yf=X(dl=>{var xC=mf(),bC=Bv(),AC=hf(),wC=ja(),Le=fl(),SC=vf();function PC(e,t){return xn(e,void 0,e,new Map,t)}i(PC,"cloneDeepWith");function xn(e,t,r,n=new Map,a=void 0){let o=a?.(e,t,r,n);if(o!==void 0)return o;if(xC.isPrimitive(e))return e;if(n.has(e))return n.get(e);if(Array.isArray(e)){let l=new Array(e.length);n.set(e,l);for(let s=0;s<e.length;s++)l[s]=xn(e[s],s,r,n,a);return Object.hasOwn(e,"index")&&(l.index=e.index),Object.hasOwn(e,"input")&&(l.input=e.input),l}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp){let l=new RegExp(e.source,e.flags);return l.lastIndex=e.lastIndex,l}if(e instanceof Map){let l=new Map;n.set(e,l);for(let[s,u]of e)l.set(s,xn(u,s,r,n,a));return l}if(e instanceof Set){let l=new Set;n.set(e,l);for(let s of e)l.add(xn(s,void 0,r,n,a));return l}if(SC.isBuffer(e))return e.subarray();if(bC.isTypedArray(e)){let l=new(Object.getPrototypeOf(e)).constructor(e.length);n.set(e,l);for(let s=0;s<e.length;s++)l[s]=xn(e[s],s,r,n,a);return l}if(e instanceof ArrayBuffer||typeof SharedArrayBuffer<"u"&&e instanceof SharedArrayBuffer)return e.slice(0);if(e instanceof DataView){let l=new DataView(e.buffer.slice(0),e.byteOffset,e.byteLength);return n.set(e,l),Ir(l,e,r,n,a),l}if(typeof File<"u"&&e instanceof File){let l=new File([e],e.name,{type:e.type});return n.set(e,l),Ir(l,e,r,n,a),l}if(typeof Blob<"u"&&e instanceof Blob){let l=new Blob([e],{type:e.type});return n.set(e,l),Ir(l,e,r,n,a),l}if(e instanceof Error){let l=structuredClone(e);return n.set(e,l),l.message=e.message,l.name=e.name,l.stack=e.stack,l.cause=e.cause,l.constructor=e.constructor,Ir(l,e,r,n,a),l}if(e instanceof Boolean){let l=new Boolean(e.valueOf());return n.set(e,l),Ir(l,e,r,n,a),l}if(e instanceof Number){let l=new Number(e.valueOf());return n.set(e,l),Ir(l,e,r,n,a),l}if(e instanceof String){let l=new String(e.valueOf());return n.set(e,l),Ir(l,e,r,n,a),l}if(typeof e=="object"&&OC(e)){let l=Object.create(Object.getPrototypeOf(e));return n.set(e,l),Ir(l,e,r,n,a),l}return e}i(xn,"cloneDeepWithImpl");function Ir(e,t,r=e,n,a){let o=[...Object.keys(t),...AC.getSymbols(t)];for(let l=0;l<o.length;l++){let s=o[l],u=Object.getOwnPropertyDescriptor(e,s);(u==null||u.writable)&&(e[s]=xn(t[s],s,r,n,a))}}i(Ir,"copyProperties");function OC(e){switch(wC.getTag(e)){case Le.argumentsTag:case Le.arrayTag:case Le.arrayBufferTag:case Le.dataViewTag:case Le.booleanTag:case Le.dateTag:case Le.float32ArrayTag:case Le.float64ArrayTag:case Le.int8ArrayTag:case Le.int16ArrayTag:case Le.int32ArrayTag:case Le.mapTag:case Le.numberTag:case Le.objectTag:case Le.regexpTag:case Le.setTag:case Le.stringTag:case Le.symbolTag:case Le.uint8ArrayTag:case Le.uint8ClampedArrayTag:case Le.uint16ArrayTag:case Le.uint32ArrayTag:return!0;default:return!1}}i(OC,"isCloneableObject");dl.cloneDeepWith=PC;dl.cloneDeepWithImpl=xn;dl.copyProperties=Ir});var Uv=X(Kv=>{var EC=yf();function IC(e){return EC.cloneDeepWithImpl(e,void 0,e,new Map,void 0)}i(IC,"cloneDeep");Kv.cloneDeep=IC});var Qv=X(Zv=>{var Hv=mf(),Yv=Da();sl();var CC=sf();function Gv(e,t,r){return typeof r!="function"?Gv(e,t,()=>{}):gf(e,t,i(function n(a,o,l,s,u,c){let f=r(a,o,l,s,u,c);return f!==void 0?!!f:gf(a,o,n,c)},"doesMatch"),new Map)}i(Gv,"isMatchWith");function gf(e,t,r,n){if(t===e)return!0;switch(typeof t){case"object":return kC(e,t,r,n);case"function":return Object.keys(t).length>0?gf(e,{...t},r,n):Yv.isEqualsSameValueZero(e,t);default:return CC.isObject(e)?typeof t=="string"?t==="":!0:Yv.isEqualsSameValueZero(e,t)}}i(gf,"isMatchWithInternal");function kC(e,t,r,n){if(t==null)return!0;if(Array.isArray(t))return Xv(e,t,r,n);if(t instanceof Map)return _C(e,t,r,n);if(t instanceof Set)return TC(e,t,r,n);let a=Object.keys(t);if(e==null||Hv.isPrimitive(e))return a.length===0;if(a.length===0)return!0;if(n?.has(t))return n.get(t)===e;n?.set(t,e);try{for(let o=0;o<a.length;o++){let l=a[o];if(!Hv.isPrimitive(e)&&!(l in e)||t[l]===void 0&&e[l]!==void 0||t[l]===null&&e[l]!==null||!r(e[l],t[l],l,e,t,n))return!1}return!0}finally{n?.delete(t)}}i(kC,"isObjectMatch");function _C(e,t,r,n){if(t.size===0)return!0;if(!(e instanceof Map))return!1;for(let[a,o]of t.entries())if(r(e.get(a),o,a,e,t,n)===!1)return!1;return!0}i(_C,"isMapMatch");function Xv(e,t,r,n){if(t.length===0)return!0;if(!Array.isArray(e))return!1;let a=new Set;for(let o=0;o<t.length;o++){let l=t[o],s=!1;for(let u=0;u<e.length;u++){if(a.has(u))continue;let c=e[u],f=!1;if(r(c,l,o,e,t,n)&&(f=!0),f){a.add(u),s=!0;break}}if(!s)return!1}return!0}i(Xv,"isArrayMatch");function TC(e,t,r,n){return t.size===0?!0:e instanceof Set?Xv([...e],[...t],r,n):!1}i(TC,"isSetMatch");Zv.isMatchWith=Gv});var xf=X(Jv=>{var DC=Qv();function RC(e,t){return DC.isMatchWith(e,t,()=>{})}i(RC,"isMatch");Jv.isMatch=RC});var ty=X(ey=>{var MC=Uv(),NC=xf();function jC(e){return e=MC.cloneDeep(e),t=>NC.isMatch(t,e)}i(jC,"matches");ey.matches=jC});var ny=X(ry=>{var LC=ja(),pl=fl(),ml=yf();function BC(e,t){return ml.cloneDeepWith(e,(r,n,a,o)=>{let l=t?.(r,n,a,o);if(l!==void 0)return l;if(typeof e=="object"){if(LC.getTag(e)==="[object Object]"&&typeof e.constructor!="function"){let s={};return o.set(e,s),ml.copyProperties(s,e,a,o),s}switch(Object.prototype.toString.call(e)){case pl.numberTag:case pl.stringTag:case pl.booleanTag:{let s=new e.constructor(e?.valueOf());return ml.copyProperties(s,e),s}case pl.argumentsTag:{let s={};return ml.copyProperties(s,e),s.length=e.length,s[Symbol.iterator]=e[Symbol.iterator],s}default:return}}})}i(BC,"cloneDeepWith");ry.cloneDeepWith=BC});var ay=X(iy=>{var zC=ny();function FC(e){return zC.cloneDeepWith(e)}i(FC,"cloneDeep");iy.cloneDeep=FC});var ly=X(oy=>{var WC=ja();function VC(e){return e!==null&&typeof e=="object"&&WC.getTag(e)==="[object Arguments]"}i(VC,"isArguments");oy.isArguments=VC});var uy=X(sy=>{var qC=tf(),$C=il(),KC=uf(),UC=ly();function HC(e,t){let r;if(Array.isArray(t)?r=t:typeof t=="string"&&qC.isDeepKey(t)&&e?.[t]==null?r=$C.toPath(t):r=[t],r.length===0)return!1;let n=e;for(let a=0;a<r.length;a++){let o=r[a];if((n==null||!Object.hasOwn(n,o))&&!((Array.isArray(n)||UC.isArguments(n))&&KC.isIndex(o)&&o<n.length))return!1;n=n[o]}return!0}i(HC,"has");sy.has=HC});var fy=X(cy=>{var YC=nl(),GC=al(),XC=xf(),ZC=ay(),QC=uy();function JC(e,t){switch(typeof e){case"object":Object.is(e?.valueOf(),-0)&&(e="-0");break;case"number":e=YC.toKey(e);break}return t=ZC.cloneDeep(t),function(r){let n=GC.get(r,e);return n===void 0?QC.has(r,e):t===void 0?n===void 0:XC.isMatch(n,t)}}i(JC,"matchesProperty");cy.matchesProperty=JC});var py=X(dy=>{var ek=pf(),tk=Nv(),rk=ty(),nk=fy();function ik(e){if(e==null)return ek.identity;switch(typeof e){case"function":return e;case"object":return Array.isArray(e)&&e.length===2?nk.matchesProperty(e[0],e[1]):rk.matches(e);case"string":case"symbol":case"number":return tk.property(e)}}i(ik,"iteratee");dy.iteratee=ik});var hy=X(my=>{function ak(e){return typeof e=="object"&&e!==null}i(ak,"isObjectLike");my.isObjectLike=ak});var yy=X(vy=>{var ok=lf(),lk=hy();function sk(e){return lk.isObjectLike(e)&&ok.isArrayLike(e)}i(sk,"isArrayLikeObject");vy.isArrayLikeObject=sk});var xy=X(gy=>{var uk=_v(),ck=Dv(),fk=pf(),dk=py(),pk=yy();function mk(e,t=fk.identity){return pk.isArrayLikeObject(e)?uk.uniqBy(Array.from(e),ck.ary(dk.iteratee(t),1)):[]}i(mk,"uniqBy");gy.uniqBy=mk});var Ay=X((TU,by)=>{by.exports=xy().uniqBy});var xb=X(gb=>{var uD=ff();function cD(e){return uD.isSymbol(e)?NaN:Number(e)}i(cD,"toNumber");gb.toNumber=cD});var Ab=X(bb=>{var fD=xb();function dD(e){return e?(e=fD.toNumber(e),e===1/0||e===-1/0?(e<0?-1:1)*Number.MAX_VALUE:e===e?e:0):e===0?e:0}i(dD,"toFinite");bb.toFinite=dD});var Sb=X(wb=>{var yd=Ab(),pD=cf();function mD(e,t,r){r&&typeof r!="number"&&pD.isIterateeCall(e,t,r)&&(t=r=void 0),e=yd.toFinite(e),t===void 0?(t=e,e=0):t=yd.toFinite(t),r=r===void 0?e<t?1:-1:yd.toFinite(r);let n=Math.max(Math.ceil((t-e)/(r||1)),0),a=new Array(n);for(let o=0;o<n;o++)a[o]=e,e+=r;return a}i(mD,"range");wb.range=mD});var Ob=X((TX,Pb)=>{Pb.exports=Sb().range});var bd=X((Tb,Cs)=>{(function(e){"use strict";var t=1e9,r={precision:20,rounding:4,toExpNeg:-7,toExpPos:21,LN10:"2.302585092994045684017991454684364207601101488628772976033327900967572609677352480235997205089598298341967784042286"},n=!0,a="[DecimalError] ",o=a+"Invalid argument: ",l=a+"Exponent out of range: ",s=Math.floor,u=Math.pow,c=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,f,d=1e7,p=7,m=9007199254740991,h=s(m/p),v={};v.absoluteValue=v.abs=function(){var b=new this.constructor(this);return b.s&&(b.s=1),b},v.comparedTo=v.cmp=function(b){var S,k,O,I,C=this;if(b=new C.constructor(b),C.s!==b.s)return C.s||-b.s;if(C.e!==b.e)return C.e>b.e^C.s<0?1:-1;for(O=C.d.length,I=b.d.length,S=0,k=O<I?O:I;S<k;++S)if(C.d[S]!==b.d[S])return C.d[S]>b.d[S]^C.s<0?1:-1;return O===I?0:O>I^C.s<0?1:-1},v.decimalPlaces=v.dp=function(){var b=this,S=b.d.length-1,k=(S-b.e)*p;if(S=b.d[S],S)for(;S%10==0;S/=10)k--;return k<0?0:k},v.dividedBy=v.div=function(b){return A(this,new this.constructor(b))},v.dividedToIntegerBy=v.idiv=function(b){var S=this,k=S.constructor;return R(A(S,new k(b),0,1),k.precision)},v.equals=v.eq=function(b){return!this.cmp(b)},v.exponent=function(){return E(this)},v.greaterThan=v.gt=function(b){return this.cmp(b)>0},v.greaterThanOrEqualTo=v.gte=function(b){return this.cmp(b)>=0},v.isInteger=v.isint=function(){return this.e>this.d.length-2},v.isNegative=v.isneg=function(){return this.s<0},v.isPositive=v.ispos=function(){return this.s>0},v.isZero=function(){return this.s===0},v.lessThan=v.lt=function(b){return this.cmp(b)<0},v.lessThanOrEqualTo=v.lte=function(b){return this.cmp(b)<1},v.logarithm=v.log=function(b){var S,k=this,O=k.constructor,I=O.precision,C=I+5;if(b===void 0)b=new O(10);else if(b=new O(b),b.s<1||b.eq(f))throw Error(a+"NaN");if(k.s<1)throw Error(a+(k.s?"NaN":"-Infinity"));return k.eq(f)?new O(0):(n=!1,S=A(D(k,C),D(b,C),C),n=!0,R(S,I))},v.minus=v.sub=function(b){var S=this;return b=new S.constructor(b),S.s==b.s?V(S,b):g(S,(b.s=-b.s,b))},v.modulo=v.mod=function(b){var S,k=this,O=k.constructor,I=O.precision;if(b=new O(b),!b.s)throw Error(a+"NaN");return k.s?(n=!1,S=A(k,b,0,1).times(b),n=!0,k.minus(S)):R(new O(k),I)},v.naturalExponential=v.exp=function(){return P(this)},v.naturalLogarithm=v.ln=function(){return D(this)},v.negated=v.neg=function(){var b=new this.constructor(this);return b.s=-b.s||0,b},v.plus=v.add=function(b){var S=this;return b=new S.constructor(b),S.s==b.s?g(S,b):V(S,(b.s=-b.s,b))},v.precision=v.sd=function(b){var S,k,O,I=this;if(b!==void 0&&b!==!!b&&b!==1&&b!==0)throw Error(o+b);if(S=E(I)+1,O=I.d.length-1,k=O*p+1,O=I.d[O],O){for(;O%10==0;O/=10)k--;for(O=I.d[0];O>=10;O/=10)k++}return b&&S>k?S:k},v.squareRoot=v.sqrt=function(){var b,S,k,O,I,C,j,N=this,W=N.constructor;if(N.s<1){if(!N.s)return new W(0);throw Error(a+"NaN")}for(b=E(N),n=!1,I=Math.sqrt(+N),I==0||I==1/0?(S=w(N.d),(S.length+b)%2==0&&(S+="0"),I=Math.sqrt(S),b=s((b+1)/2)-(b<0||b%2),I==1/0?S="5e"+b:(S=I.toExponential(),S=S.slice(0,S.indexOf("e")+1)+b),O=new W(S)):O=new W(I.toString()),k=W.precision,I=j=k+3;;)if(C=O,O=C.plus(A(N,C,j+2)).times(.5),w(C.d).slice(0,j)===(S=w(O.d)).slice(0,j)){if(S=S.slice(j-3,j+1),I==j&&S=="4999"){if(R(C,k+1,0),C.times(C).eq(N)){O=C;break}}else if(S!="9999")break;j+=4}return n=!0,R(O,k)},v.times=v.mul=function(b){var S,k,O,I,C,j,N,W,Y,U=this,G=U.constructor,Re=U.d,F=(b=new G(b)).d;if(!U.s||!b.s)return new G(0);for(b.s*=U.s,k=U.e+b.e,W=Re.length,Y=F.length,W<Y&&(C=Re,Re=F,F=C,j=W,W=Y,Y=j),C=[],j=W+Y,O=j;O--;)C.push(0);for(O=Y;--O>=0;){for(S=0,I=W+O;I>O;)N=C[I]+F[O]*Re[I-O-1]+S,C[I--]=N%d|0,S=N/d|0;C[I]=(C[I]+S)%d|0}for(;!C[--j];)C.pop();return S?++k:C.shift(),b.d=C,b.e=k,n?R(b,G.precision):b},v.toDecimalPlaces=v.todp=function(b,S){var k=this,O=k.constructor;return k=new O(k),b===void 0?k:(y(b,0,t),S===void 0?S=O.rounding:y(S,0,8),R(k,b+E(k)+1,S))},v.toExponential=function(b,S){var k,O=this,I=O.constructor;return b===void 0?k=B(O,!0):(y(b,0,t),S===void 0?S=I.rounding:y(S,0,8),O=R(new I(O),b+1,S),k=B(O,!0,b+1)),k},v.toFixed=function(b,S){var k,O,I=this,C=I.constructor;return b===void 0?B(I):(y(b,0,t),S===void 0?S=C.rounding:y(S,0,8),O=R(new C(I),b+E(I)+1,S),k=B(O.abs(),!1,b+E(O)+1),I.isneg()&&!I.isZero()?"-"+k:k)},v.toInteger=v.toint=function(){var b=this,S=b.constructor;return R(new S(b),E(b)+1,S.rounding)},v.toNumber=function(){return+this},v.toPower=v.pow=function(b){var S,k,O,I,C,j,N=this,W=N.constructor,Y=12,U=+(b=new W(b));if(!b.s)return new W(f);if(N=new W(N),!N.s){if(b.s<1)throw Error(a+"Infinity");return N}if(N.eq(f))return N;if(O=W.precision,b.eq(f))return R(N,O);if(S=b.e,k=b.d.length-1,j=S>=k,C=N.s,j){if((k=U<0?-U:U)<=m){for(I=new W(f),S=Math.ceil(O/p+4),n=!1;k%2&&(I=I.times(N),Q(I.d,S)),k=s(k/2),k!==0;)N=N.times(N),Q(N.d,S);return n=!0,b.s<0?new W(f).div(I):R(I,O)}}else if(C<0)throw Error(a+"NaN");return C=C<0&&b.d[Math.max(S,k)]&1?-1:1,N.s=1,n=!1,I=b.times(D(N,O+Y)),n=!0,I=P(I),I.s=C,I},v.toPrecision=function(b,S){var k,O,I=this,C=I.constructor;return b===void 0?(k=E(I),O=B(I,k<=C.toExpNeg||k>=C.toExpPos)):(y(b,1,t),S===void 0?S=C.rounding:y(S,0,8),I=R(new C(I),b,S),k=E(I),O=B(I,b<=k||k<=C.toExpNeg,b)),O},v.toSignificantDigits=v.tosd=function(b,S){var k=this,O=k.constructor;return b===void 0?(b=O.precision,S=O.rounding):(y(b,1,t),S===void 0?S=O.rounding:y(S,0,8)),R(new O(k),b,S)},v.toString=v.valueOf=v.val=v.toJSON=function(){var b=this,S=E(b),k=b.constructor;return B(b,S<=k.toExpNeg||S>=k.toExpPos)};function g(b,S){var k,O,I,C,j,N,W,Y,U=b.constructor,G=U.precision;if(!b.s||!S.s)return S.s||(S=new U(b)),n?R(S,G):S;if(W=b.d,Y=S.d,j=b.e,I=S.e,W=W.slice(),C=j-I,C){for(C<0?(O=W,C=-C,N=Y.length):(O=Y,I=j,N=W.length),j=Math.ceil(G/p),N=j>N?j+1:N+1,C>N&&(C=N,O.length=1),O.reverse();C--;)O.push(0);O.reverse()}for(N=W.length,C=Y.length,N-C<0&&(C=N,O=Y,Y=W,W=O),k=0;C;)k=(W[--C]=W[C]+Y[C]+k)/d|0,W[C]%=d;for(k&&(W.unshift(k),++I),N=W.length;W[--N]==0;)W.pop();return S.d=W,S.e=I,n?R(S,G):S}i(g,"add");function y(b,S,k){if(b!==~~b||b<S||b>k)throw Error(o+b)}i(y,"checkInt32");function w(b){var S,k,O,I=b.length-1,C="",j=b[0];if(I>0){for(C+=j,S=1;S<I;S++)O=b[S]+"",k=p-O.length,k&&(C+=_(k)),C+=O;j=b[S],O=j+"",k=p-O.length,k&&(C+=_(k))}else if(j===0)return"0";for(;j%10===0;)j/=10;return C+j}i(w,"digitsToString");var A=(function(){function b(O,I){var C,j=0,N=O.length;for(O=O.slice();N--;)C=O[N]*I+j,O[N]=C%d|0,j=C/d|0;return j&&O.unshift(j),O}i(b,"multiplyInteger");function S(O,I,C,j){var N,W;if(C!=j)W=C>j?1:-1;else for(N=W=0;N<C;N++)if(O[N]!=I[N]){W=O[N]>I[N]?1:-1;break}return W}i(S,"compare");function k(O,I,C){for(var j=0;C--;)O[C]-=j,j=O[C]<I[C]?1:0,O[C]=j*d+O[C]-I[C];for(;!O[0]&&O.length>1;)O.shift()}return i(k,"subtract"),function(O,I,C,j){var N,W,Y,U,G,Re,F,ne,H,L,qe,ue,te,rt,Ft,di,ar,el,tl=O.constructor,GE=O.s==I.s?1:-1,hr=O.d,Ye=I.d;if(!O.s)return new tl(O);if(!I.s)throw Error(a+"Division by zero");for(W=O.e-I.e,ar=Ye.length,Ft=hr.length,F=new tl(GE),ne=F.d=[],Y=0;Ye[Y]==(hr[Y]||0);)++Y;if(Ye[Y]>(hr[Y]||0)&&--W,C==null?ue=C=tl.precision:j?ue=C+(E(O)-E(I))+1:ue=C,ue<0)return new tl(0);if(ue=ue/p+2|0,Y=0,ar==1)for(U=0,Ye=Ye[0],ue++;(Y<Ft||U)&&ue--;Y++)te=U*d+(hr[Y]||0),ne[Y]=te/Ye|0,U=te%Ye|0;else{for(U=d/(Ye[0]+1)|0,U>1&&(Ye=b(Ye,U),hr=b(hr,U),ar=Ye.length,Ft=hr.length),rt=ar,H=hr.slice(0,ar),L=H.length;L<ar;)H[L++]=0;el=Ye.slice(),el.unshift(0),di=Ye[0],Ye[1]>=d/2&&++di;do U=0,N=S(Ye,H,ar,L),N<0?(qe=H[0],ar!=L&&(qe=qe*d+(H[1]||0)),U=qe/di|0,U>1?(U>=d&&(U=d-1),G=b(Ye,U),Re=G.length,L=H.length,N=S(G,H,Re,L),N==1&&(U--,k(G,ar<Re?el:Ye,Re))):(U==0&&(N=U=1),G=Ye.slice()),Re=G.length,Re<L&&G.unshift(0),k(H,G,L),N==-1&&(L=H.length,N=S(Ye,H,ar,L),N<1&&(U++,k(H,ar<L?el:Ye,L))),L=H.length):N===0&&(U++,H=[0]),ne[Y++]=U,N&&H[0]?H[L++]=hr[rt]||0:(H=[hr[rt]],L=1);while((rt++<Ft||H[0]!==void 0)&&ue--)}return ne[0]||ne.shift(),F.e=W,R(F,j?C+E(F)+1:C)}})();function P(b,S){var k,O,I,C,j,N,W=0,Y=0,U=b.constructor,G=U.precision;if(E(b)>16)throw Error(l+E(b));if(!b.s)return new U(f);for(S==null?(n=!1,N=G):N=S,j=new U(.03125);b.abs().gte(.1);)b=b.times(j),Y+=5;for(O=Math.log(u(2,Y))/Math.LN10*2+5|0,N+=O,k=I=C=new U(f),U.precision=N;;){if(I=R(I.times(b),N),k=k.times(++W),j=C.plus(A(I,k,N)),w(j.d).slice(0,N)===w(C.d).slice(0,N)){for(;Y--;)C=R(C.times(C),N);return U.precision=G,S==null?(n=!0,R(C,G)):C}C=j}}i(P,"exp");function E(b){for(var S=b.e*p,k=b.d[0];k>=10;k/=10)S++;return S}i(E,"getBase10Exponent");function x(b,S,k){if(S>b.LN10.sd())throw n=!0,k&&(b.precision=k),Error(a+"LN10 precision limit exceeded");return R(new b(b.LN10),S)}i(x,"getLn10");function _(b){for(var S="";b--;)S+="0";return S}i(_,"getZeroString");function D(b,S){var k,O,I,C,j,N,W,Y,U,G=1,Re=10,F=b,ne=F.d,H=F.constructor,L=H.precision;if(F.s<1)throw Error(a+(F.s?"NaN":"-Infinity"));if(F.eq(f))return new H(0);if(S==null?(n=!1,Y=L):Y=S,F.eq(10))return S==null&&(n=!0),x(H,Y);if(Y+=Re,H.precision=Y,k=w(ne),O=k.charAt(0),C=E(F),Math.abs(C)<15e14){for(;O<7&&O!=1||O==1&&k.charAt(1)>3;)F=F.times(b),k=w(F.d),O=k.charAt(0),G++;C=E(F),O>1?(F=new H("0."+k),C++):F=new H(O+"."+k.slice(1))}else return W=x(H,Y+2,L).times(C+""),F=D(new H(O+"."+k.slice(1)),Y-Re).plus(W),H.precision=L,S==null?(n=!0,R(F,L)):F;for(N=j=F=A(F.minus(f),F.plus(f),Y),U=R(F.times(F),Y),I=3;;){if(j=R(j.times(U),Y),W=N.plus(A(j,new H(I),Y)),w(W.d).slice(0,Y)===w(N.d).slice(0,Y))return N=N.times(2),C!==0&&(N=N.plus(x(H,Y+2,L).times(C+""))),N=A(N,new H(G),Y),H.precision=L,S==null?(n=!0,R(N,L)):N;N=W,I+=2}}i(D,"ln");function $(b,S){var k,O,I;for((k=S.indexOf("."))>-1&&(S=S.replace(".","")),(O=S.search(/e/i))>0?(k<0&&(k=O),k+=+S.slice(O+1),S=S.substring(0,O)):k<0&&(k=S.length),O=0;S.charCodeAt(O)===48;)++O;for(I=S.length;S.charCodeAt(I-1)===48;)--I;if(S=S.slice(O,I),S){if(I-=O,k=k-O-1,b.e=s(k/p),b.d=[],O=(k+1)%p,k<0&&(O+=p),O<I){for(O&&b.d.push(+S.slice(0,O)),I-=p;O<I;)b.d.push(+S.slice(O,O+=p));S=S.slice(O),O=p-S.length}else O-=I;for(;O--;)S+="0";if(b.d.push(+S),n&&(b.e>h||b.e<-h))throw Error(l+k)}else b.s=0,b.e=0,b.d=[0];return b}i($,"parseDecimal");function R(b,S,k){var O,I,C,j,N,W,Y,U,G=b.d;for(j=1,C=G[0];C>=10;C/=10)j++;if(O=S-j,O<0)O+=p,I=S,Y=G[U=0];else{if(U=Math.ceil((O+1)/p),C=G.length,U>=C)return b;for(Y=C=G[U],j=1;C>=10;C/=10)j++;O%=p,I=O-p+j}if(k!==void 0&&(C=u(10,j-I-1),N=Y/C%10|0,W=S<0||G[U+1]!==void 0||Y%C,W=k<4?(N||W)&&(k==0||k==(b.s<0?3:2)):N>5||N==5&&(k==4||W||k==6&&(O>0?I>0?Y/u(10,j-I):0:G[U-1])%10&1||k==(b.s<0?8:7))),S<1||!G[0])return W?(C=E(b),G.length=1,S=S-C-1,G[0]=u(10,(p-S%p)%p),b.e=s(-S/p)||0):(G.length=1,G[0]=b.e=b.s=0),b;if(O==0?(G.length=U,C=1,U--):(G.length=U+1,C=u(10,p-O),G[U]=I>0?(Y/u(10,j-I)%u(10,I)|0)*C:0),W)for(;;)if(U==0){(G[0]+=C)==d&&(G[0]=1,++b.e);break}else{if(G[U]+=C,G[U]!=d)break;G[U--]=0,C=1}for(O=G.length;G[--O]===0;)G.pop();if(n&&(b.e>h||b.e<-h))throw Error(l+E(b));return b}i(R,"round");function V(b,S){var k,O,I,C,j,N,W,Y,U,G,Re=b.constructor,F=Re.precision;if(!b.s||!S.s)return S.s?S.s=-S.s:S=new Re(b),n?R(S,F):S;if(W=b.d,G=S.d,O=S.e,Y=b.e,W=W.slice(),j=Y-O,j){for(U=j<0,U?(k=W,j=-j,N=G.length):(k=G,O=Y,N=W.length),I=Math.max(Math.ceil(F/p),N)+2,j>I&&(j=I,k.length=1),k.reverse(),I=j;I--;)k.push(0);k.reverse()}else{for(I=W.length,N=G.length,U=I<N,U&&(N=I),I=0;I<N;I++)if(W[I]!=G[I]){U=W[I]<G[I];break}j=0}for(U&&(k=W,W=G,G=k,S.s=-S.s),N=W.length,I=G.length-N;I>0;--I)W[N++]=0;for(I=G.length;I>j;){if(W[--I]<G[I]){for(C=I;C&&W[--C]===0;)W[C]=d-1;--W[C],W[I]+=d}W[I]-=G[I]}for(;W[--N]===0;)W.pop();for(;W[0]===0;W.shift())--O;return W[0]?(S.d=W,S.e=O,n?R(S,F):S):new Re(0)}i(V,"subtract");function B(b,S,k){var O,I=E(b),C=w(b.d),j=C.length;return S?(k&&(O=k-j)>0?C=C.charAt(0)+"."+C.slice(1)+_(O):j>1&&(C=C.charAt(0)+"."+C.slice(1)),C=C+(I<0?"e":"e+")+I):I<0?(C="0."+_(-I-1)+C,k&&(O=k-j)>0&&(C+=_(O))):I>=j?(C+=_(I+1-j),k&&(O=k-I-1)>0&&(C=C+"."+_(O))):((O=I+1)<j&&(C=C.slice(0,O)+"."+C.slice(O)),k&&(O=k-j)>0&&(I+1===j&&(C+="."),C+=_(O))),b.s<0?"-"+C:C}i(B,"toString");function Q(b,S){if(b.length>S)return b.length=S,!0}i(Q,"truncate");function Z(b){var S,k,O;function I(C){var j=this;if(!(j instanceof I))return new I(C);if(j.constructor=I,C instanceof I){j.s=C.s,j.e=C.e,j.d=(C=C.d)?C.slice():C;return}if(typeof C=="number"){if(C*0!==0)throw Error(o+C);if(C>0)j.s=1;else if(C<0)C=-C,j.s=-1;else{j.s=0,j.e=0,j.d=[0];return}if(C===~~C&&C<1e7){j.e=0,j.d=[C];return}return $(j,C.toString())}else if(typeof C!="string")throw Error(o+C);if(C.charCodeAt(0)===45?(C=C.slice(1),j.s=-1):j.s=1,c.test(C))$(j,C);else throw Error(o+C)}if(i(I,"Decimal"),I.prototype=v,I.ROUND_UP=0,I.ROUND_DOWN=1,I.ROUND_CEIL=2,I.ROUND_FLOOR=3,I.ROUND_HALF_UP=4,I.ROUND_HALF_DOWN=5,I.ROUND_HALF_EVEN=6,I.ROUND_HALF_CEIL=7,I.ROUND_HALF_FLOOR=8,I.clone=Z,I.config=I.set=J,b===void 0&&(b={}),b)for(O=["precision","rounding","toExpNeg","toExpPos","LN10"],S=0;S<O.length;)b.hasOwnProperty(k=O[S++])||(b[k]=this[k]);return I.config(b),I}i(Z,"clone");function J(b){if(!b||typeof b!="object")throw Error(a+"Object expected");var S,k,O,I=["precision",1,t,"rounding",0,8,"toExpNeg",-1/0,0,"toExpPos",0,1/0];for(S=0;S<I.length;S+=3)if((O=b[k=I[S]])!==void 0)if(s(O)===O&&O>=I[S+1]&&O<=I[S+2])this[k]=O;else throw Error(o+k+": "+O);if((O=b[k="LN10"])!==void 0)if(O==Math.LN10)this[k]=new this(O);else throw Error(o+k+": "+O);return this}i(J,"config"),r=Z(r),r.default=r.Decimal=r,f=new r(1),typeof define=="function"&&define.amd?define(function(){return r}):typeof Cs<"u"&&Cs.exports?Cs.exports=r:(e||(e=typeof self<"u"&&self&&self.self==self?self:Function("return this")()),e.Decimal=r)})(Tb)});var aw=X((bee,um)=>{"use strict";var Fj=Object.prototype.hasOwnProperty,St="~";function Io(){}i(Io,"Events");Object.create&&(Io.prototype=Object.create(null),new Io().__proto__||(St=!1));function Wj(e,t,r){this.fn=e,this.context=t,this.once=r||!1}i(Wj,"EE");function iw(e,t,r,n,a){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Wj(r,n||e,a),l=St?St+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}i(iw,"addListener");function Hu(e,t){--e._eventsCount===0?e._events=new Io:delete e._events[t]}i(Hu,"clearEvent");function mt(){this._events=new Io,this._eventsCount=0}i(mt,"EventEmitter");mt.prototype.eventNames=i(function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Fj.call(r,n)&&t.push(St?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t},"eventNames");mt.prototype.listeners=i(function(t){var r=St?St+t:t,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var a=0,o=n.length,l=new Array(o);a<o;a++)l[a]=n[a].fn;return l},"listeners");mt.prototype.listenerCount=i(function(t){var r=St?St+t:t,n=this._events[r];return n?n.fn?1:n.length:0},"listenerCount");mt.prototype.emit=i(function(t,r,n,a,o,l){var s=St?St+t:t;if(!this._events[s])return!1;var u=this._events[s],c=arguments.length,f,d;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,a),!0;case 5:return u.fn.call(u.context,r,n,a,o),!0;case 6:return u.fn.call(u.context,r,n,a,o,l),!0}for(d=1,f=new Array(c-1);d<c;d++)f[d-1]=arguments[d];u.fn.apply(u.context,f)}else{var p=u.length,m;for(d=0;d<p;d++)switch(u[d].once&&this.removeListener(t,u[d].fn,void 0,!0),c){case 1:u[d].fn.call(u[d].context);break;case 2:u[d].fn.call(u[d].context,r);break;case 3:u[d].fn.call(u[d].context,r,n);break;case 4:u[d].fn.call(u[d].context,r,n,a);break;default:if(!f)for(m=1,f=new Array(c-1);m<c;m++)f[m-1]=arguments[m];u[d].fn.apply(u[d].context,f)}}return!0},"emit");mt.prototype.on=i(function(t,r,n){return iw(this,t,r,n,!1)},"on");mt.prototype.once=i(function(t,r,n){return iw(this,t,r,n,!0)},"once");mt.prototype.removeListener=i(function(t,r,n,a){var o=St?St+t:t;if(!this._events[o])return this;if(!r)return Hu(this,o),this;var l=this._events[o];if(l.fn)l.fn===r&&(!a||l.once)&&(!n||l.context===n)&&Hu(this,o);else{for(var s=0,u=[],c=l.length;s<c;s++)(l[s].fn!==r||a&&!l[s].once||n&&l[s].context!==n)&&u.push(l[s]);u.length?this._events[o]=u.length===1?u[0]:u:Hu(this,o)}return this},"removeListener");mt.prototype.removeAllListeners=i(function(t){var r;return t?(r=St?St+t:t,this._events[r]&&Hu(this,r)):(this._events=new Io,this._eventsCount=0),this},"removeAllListeners");mt.prototype.off=mt.prototype.removeListener;mt.prototype.addListener=mt.prototype.on;mt.prefixed=St;mt.EventEmitter=mt;typeof um<"u"&&(um.exports=mt)});var Bw=X(Lw=>{function IL(){}i(IL,"noop");Lw.noop=IL});var Fw=X(zw=>{function CL(e){if(!e||typeof e!="object")return!1;let t=Object.getPrototypeOf(e);return t===null||t===Object.prototype||Object.getPrototypeOf(t)===null?Object.prototype.toString.call(e)==="[object Object]":!1}i(CL,"isPlainObject");zw.isPlainObject=CL});var Uw=X(Kw=>{var Ww=hf(),Vw=ja(),Ce=fl(),qw=vf(),$w=Fw(),kL=Da();sl();function _L(e,t,r){return _o(e,t,void 0,void 0,void 0,void 0,r)}i(_L,"isEqualWith");function _o(e,t,r,n,a,o,l){let s=l(e,t,r,n,a,o);if(s!==void 0)return s;if(typeof e==typeof t)switch(typeof e){case"bigint":case"string":case"boolean":case"symbol":case"undefined":return e===t;case"number":return e===t||Object.is(e,t);case"function":return e===t;case"object":return To(e,t,o,l)}return To(e,t,o,l)}i(_o,"isEqualWithImpl");function To(e,t,r,n){if(Object.is(e,t))return!0;let a=Vw.getTag(e),o=Vw.getTag(t);if(a==="[object Arguments]"&&(a=Ce.objectTag),o==="[object Arguments]"&&(o=Ce.objectTag),a!==o)return!1;switch(a){case Ce.stringTag:return e.toString()===t.toString();case Ce.numberTag:{let u=e.valueOf(),c=t.valueOf();return kL.isEqualsSameValueZero(u,c)}case Ce.booleanTag:case Ce.dateTag:case Ce.symbolTag:return Object.is(e.valueOf(),t.valueOf());case Ce.regexpTag:return e.source===t.source&&e.flags===t.flags;case Ce.functionTag:return e===t}r=r??new Map;let l=r.get(e),s=r.get(t);if(l!=null&&s!=null)return l===t;r.set(e,t),r.set(t,e);try{switch(a){case Ce.mapTag:if(e.size!==t.size)return!1;for(let[u,c]of e.entries())if(!t.has(u)||!_o(c,t.get(u),u,e,t,r,n))return!1;return!0;case Ce.setTag:{if(e.size!==t.size)return!1;let u=Array.from(e.values()),c=Array.from(t.values());for(let f=0;f<u.length;f++){let d=u[f],p=c.findIndex(m=>_o(d,m,void 0,e,t,r,n));if(p===-1)return!1;c.splice(p,1)}return!0}case Ce.arrayTag:case Ce.uint8ArrayTag:case Ce.uint8ClampedArrayTag:case Ce.uint16ArrayTag:case Ce.uint32ArrayTag:case Ce.bigUint64ArrayTag:case Ce.int8ArrayTag:case Ce.int16ArrayTag:case Ce.int32ArrayTag:case Ce.bigInt64ArrayTag:case Ce.float32ArrayTag:case Ce.float64ArrayTag:if(qw.isBuffer(e)!==qw.isBuffer(t)||e.length!==t.length)return!1;for(let u=0;u<e.length;u++)if(!_o(e[u],t[u],u,e,t,r,n))return!1;return!0;case Ce.arrayBufferTag:return e.byteLength!==t.byteLength?!1:To(new Uint8Array(e),new Uint8Array(t),r,n);case Ce.dataViewTag:return e.byteLength!==t.byteLength||e.byteOffset!==t.byteOffset?!1:To(new Uint8Array(e),new Uint8Array(t),r,n);case Ce.errorTag:return e.name===t.name&&e.message===t.message;case Ce.objectTag:{if(!(To(e.constructor,t.constructor,r,n)||$w.isPlainObject(e)&&$w.isPlainObject(t)))return!1;let u=[...Object.keys(e),...Ww.getSymbols(e)],c=[...Object.keys(t),...Ww.getSymbols(t)];if(u.length!==c.length)return!1;for(let f=0;f<u.length;f++){let d=u[f],p=e[d];if(!Object.hasOwn(t,d))return!1;let m=t[d];if(!_o(p,m,d,e,t,r,n))return!1}return!0}default:return!1}}finally{r.delete(e),r.delete(t)}}i(To,"areObjectsEqual");Kw.isEqualWith=_L});var Yw=X(Hw=>{var TL=Bw(),DL=Uw();function RL(e,t){return DL.isEqualWith(e,t,TL.noop)}i(RL,"isEqual");Hw.isEqual=RL});var Xw=X((Vte,Gw)=>{Gw.exports=Yw().isEqual});var KS=X(Pe=>{"use strict";var bm=Symbol.for("react.element"),Am=Symbol.for("react.portal"),uc=Symbol.for("react.fragment"),cc=Symbol.for("react.strict_mode"),fc=Symbol.for("react.profiler"),dc=Symbol.for("react.provider"),pc=Symbol.for("react.context"),bB=Symbol.for("react.server_context"),mc=Symbol.for("react.forward_ref"),hc=Symbol.for("react.suspense"),vc=Symbol.for("react.suspense_list"),yc=Symbol.for("react.memo"),gc=Symbol.for("react.lazy"),AB=Symbol.for("react.offscreen"),$S;$S=Symbol.for("react.module.reference");function Jt(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case bm:switch(e=e.type,e){case uc:case fc:case cc:case hc:case vc:return e;default:switch(e=e&&e.$$typeof,e){case bB:case pc:case mc:case gc:case yc:case dc:return e;default:return t}}case Am:return t}}}i(Jt,"v");Pe.ContextConsumer=pc;Pe.ContextProvider=dc;Pe.Element=bm;Pe.ForwardRef=mc;Pe.Fragment=uc;Pe.Lazy=gc;Pe.Memo=yc;Pe.Portal=Am;Pe.Profiler=fc;Pe.StrictMode=cc;Pe.Suspense=hc;Pe.SuspenseList=vc;Pe.isAsyncMode=function(){return!1};Pe.isConcurrentMode=function(){return!1};Pe.isContextConsumer=function(e){return Jt(e)===pc};Pe.isContextProvider=function(e){return Jt(e)===dc};Pe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===bm};Pe.isForwardRef=function(e){return Jt(e)===mc};Pe.isFragment=function(e){return Jt(e)===uc};Pe.isLazy=function(e){return Jt(e)===gc};Pe.isMemo=function(e){return Jt(e)===yc};Pe.isPortal=function(e){return Jt(e)===Am};Pe.isProfiler=function(e){return Jt(e)===fc};Pe.isStrictMode=function(e){return Jt(e)===cc};Pe.isSuspense=function(e){return Jt(e)===hc};Pe.isSuspenseList=function(e){return Jt(e)===vc};Pe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===uc||e===fc||e===cc||e===hc||e===vc||e===AB||typeof e=="object"&&e!==null&&(e.$$typeof===gc||e.$$typeof===yc||e.$$typeof===dc||e.$$typeof===pc||e.$$typeof===mc||e.$$typeof===$S||e.getModuleId!==void 0)};Pe.typeOf=Jt});var HS=X((Vne,US)=>{"use strict";US.exports=KS()});var KP=X($P=>{"use strict";var $o=z();function Cz(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}i(Cz,"is");var kz=typeof Object.is=="function"?Object.is:Cz,_z=$o.useSyncExternalStore,Tz=$o.useRef,Dz=$o.useEffect,Rz=$o.useMemo,Mz=$o.useDebugValue;$P.useSyncExternalStoreWithSelector=function(e,t,r,n,a){var o=Tz(null);if(o.current===null){var l={hasValue:!1,value:null};o.current=l}else l=o.current;o=Rz(function(){function u(m){if(!c){if(c=!0,f=m,m=n(m),a!==void 0&&l.hasValue){var h=l.value;if(a(h,m))return d=h}return d=m}if(h=d,kz(f,m))return h;var v=n(m);return a!==void 0&&a(h,v)?(f=m,h):(f=m,d=v)}i(u,"memoizedSelector");var c=!1,f,d,p=r===void 0?null:r;return[function(){return u(t())},p===null?void 0:function(){return u(p())}]},[t,r,n,a]);var s=_z(e,o[0],o[1]);return Dz(function(){l.hasValue=!0,l.value=s},[s]),Mz(s),s}});var HP=X((Yae,UP)=>{"use strict";UP.exports=KP()});var gn=M(z()),Ge=M(z()),Gh=M(Th());var qh=M(_a());var hI=4;function Wt(e){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:hI,r=10**t,n=Math.round(e*r)/r;return Object.is(n,-0)?0:n}i(Wt,"round");function Ze(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((a,o,l)=>{var s=r[l-1];return typeof s=="string"?a+s+o:s!==void 0?a+Wt(s)+o:a+o},"")}i(Ze,"roundTemplateLiteral");var je=i(e=>e===0?0:e>0?1:-1,"mathSign"),nt=i(e=>typeof e=="number"&&e!=+e,"isNan"),Or=i(e=>typeof e=="string"&&e.length>1&&e.indexOf("%")===e.length-1,"isPercent"),q=i(e=>(typeof e=="number"||e instanceof Number)&&!nt(e),"isNumber"),it=i(e=>q(e)||typeof e=="string","isNumOrStr"),vI=0,Er=i(e=>{var t=++vI;return"".concat(e||"").concat(t)},"uniqueId"),lt=i(function(t,r){var n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:0,a=arguments.length>3&&arguments[3]!==void 0?arguments[3]:!1;if(!q(t)&&typeof t!="string")return n;var o;if(Or(t)){if(r==null)return n;var l=t.indexOf("%");o=r*parseFloat(t.slice(0,l))/100}else o=+t;return nt(o)&&(o=n),a&&r!=null&&o>r&&(o=r),o},"getPercentValue"),nf=i(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},"hasDuplicate");function we(e,t,r){return q(e)&&q(t)?Wt(e+r*(t-e)):t}i(we,"interpolate");function ol(e,t,r){if(!(!e||!e.length))return e.find(n=>n&&(typeof t=="function"?t(n):(0,qh.default)(n,t))===r)}i(ol,"findEntryInArray");var ce=i(e=>e===null||typeof e>"u","isNullish"),hi=i(e=>ce(e)?e:"".concat(e.charAt(0).toUpperCase()).concat(e.slice(1)),"upperFirst");function Qe(e){return e!=null}i(Qe,"isNotNil");function xt(){}i(xt,"noop");var yI=!0,vi=i(function(t,r){for(var n=arguments.length,a=new Array(n>2?n-2:0),o=2;o<n;o++)a[o-2]=arguments[o];if(yI&&typeof console<"u"&&console.warn&&(r===void 0&&console.warn("LogUtils requires an error message argument"),!t))if(r===void 0)console.warn("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=0;console.warn(r.replace(/%s/g,()=>a[l++]))}},"warn");var or={width:"100%",height:"100%",debounce:0,minWidth:0,initialDimension:{width:-1,height:-1}},af=i((e,t,r)=>{var n=r.width,a=n===void 0?or.width:n,o=r.height,l=o===void 0?or.height:o,s=r.aspect,u=r.maxHeight,c=Or(a)?e:Number(a),f=Or(l)?t:Number(l);return s&&s>0&&(c?f=c/s:f&&(c=f*s),u&&f!=null&&f>u&&(f=u)),{calculatedWidth:c,calculatedHeight:f}},"calculateChartDimensions"),gI={width:0,height:0,overflow:"visible"},xI={width:0,overflowX:"visible"},bI={height:0,overflowY:"visible"},AI={},$h=i(e=>{var t=e.width,r=e.height,n=Or(t),a=Or(r);return n&&a?gI:n?xI:a?bI:AI},"getInnerDivStyle");function Kh(e){var t=e.width,r=e.height,n=e.aspect,a=t,o=r;return a===void 0&&o===void 0?(a=or.width,o=or.height):a===void 0?a=n&&n>0?void 0:or.width:o===void 0&&(o=n&&n>0?void 0:or.height),{width:a,height:o}}i(Kh,"getDefaultWidthAndHeight");function ee(e){return Number.isFinite(e)}i(ee,"isWellBehavedNumber");function Ot(e){return typeof e=="number"&&e>0&&Number.isFinite(e)}i(Ot,"isPositiveNumber");var wI=["aspect","initialDimension","width","height","minWidth","minHeight","maxHeight","children","debounce","id","className","onResize","style"];function ll(){return ll=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},ll.apply(null,arguments)}i(ll,"_extends");function Uh(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}i(Uh,"ownKeys");function Hh(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?Uh(Object(r),!0).forEach(function(n){SI(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):Uh(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}i(Hh,"_objectSpread");function SI(e,t,r){return(t=PI(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}i(SI,"_defineProperty");function PI(e){var t=OI(e,"string");return typeof t=="symbol"?t:t+""}i(PI,"_toPropertyKey");function OI(e,t){if(typeof e!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}i(OI,"_toPrimitive");function EI(e,t){return _I(e)||kI(e,t)||CI(e,t)||II()}i(EI,"_slicedToArray");function II(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
2
2
  In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}i(II,"_nonIterableRest");function CI(e,t){if(e){if(typeof e=="string")return Yh(e,t);var r={}.toString.call(e).slice(8,-1);return r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set"?Array.from(e):r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Yh(e,t):void 0}}i(CI,"_unsupportedIterableToArray");function Yh(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}i(Yh,"_arrayLikeToArray");function kI(e,t){var r=e==null?null:typeof Symbol<"u"&&e[Symbol.iterator]||e["@@iterator"];if(r!=null){var n,a,o,l,s=[],u=!0,c=!1;try{if(o=(r=r.call(e)).next,t===0){if(Object(r)!==r)return;u=!1}else for(;!(u=(n=o.call(r)).done)&&(s.push(n.value),s.length!==t);u=!0);}catch(f){c=!0,a=f}finally{try{if(!u&&r.return!=null&&(l=r.return(),Object(l)!==l))return}finally{if(c)throw a}}return s}}i(kI,"_iterableToArrayLimit");function _I(e){if(Array.isArray(e))return e}i(_I,"_arrayWithHoles");function TI(e,t){if(e==null)return{};var r,n,a=DI(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)===-1&&{}.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}i(TI,"_objectWithoutProperties");function DI(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}i(DI,"_objectWithoutPropertiesLoose");var Xh=(0,Ge.createContext)(or.initialDimension);function RI(e){return Ot(e.width)&&Ot(e.height)}i(RI,"isAcceptableSize");function Zh(e){var t=e.children,r=e.width,n=e.height,a=(0,Ge.useMemo)(()=>({width:r,height:n}),[r,n]);return RI(a)?gn.createElement(Xh.Provider,{value:a},t):null}i(Zh,"ResponsiveContainerContextProvider");var Ta=i(()=>(0,Ge.useContext)(Xh),"useResponsiveContainerContext"),MI=(0,Ge.forwardRef)((e,t)=>{var r=e.aspect,n=e.initialDimension,a=n===void 0?or.initialDimension:n,o=e.width,l=e.height,s=e.minWidth,u=s===void 0?or.minWidth:s,c=e.minHeight,f=e.maxHeight,d=e.children,p=e.debounce,m=p===void 0?or.debounce:p,h=e.id,v=e.className,g=e.onResize,y=e.style,w=y===void 0?{}:y,A=TI(e,wI),P=(0,Ge.useRef)(null),E=(0,Ge.useRef)();E.current=g,(0,Ge.useImperativeHandle)(t,()=>P.current);var x=(0,Ge.useState)({containerWidth:a.width,containerHeight:a.height}),_=EI(x,2),D=_[0],$=_[1],R=(0,Ge.useCallback)((b,S)=>{$(k=>{var O=Math.round(b),I=Math.round(S);return k.containerWidth===O&&k.containerHeight===I?k:{containerWidth:O,containerHeight:I}})},[]);(0,Ge.useEffect)(()=>{if(P.current==null||typeof ResizeObserver>"u")return xt;var b=i(C=>{var j,N=C[0];if(N!=null){var W=N.contentRect,Y=W.width,U=W.height;R(Y,U),(j=E.current)===null||j===void 0||j.call(E,Y,U)}},"callback");m>0&&(b=(0,Gh.default)(b,m,{trailing:!0,leading:!1}));var S=new ResizeObserver(b),k=P.current.getBoundingClientRect(),O=k.width,I=k.height;return R(O,I),S.observe(P.current),()=>{S.disconnect()}},[R,m]);var V=D.containerWidth,B=D.containerHeight;vi(!r||r>0,"The aspect(%s) must be greater than zero.",r);var Q=af(V,B,{width:o,height:l,aspect:r,maxHeight:f}),Z=Q.calculatedWidth,J=Q.calculatedHeight;return vi(V<0||B<0||Z!=null&&Z>0||J!=null&&J>0,`The width(%s) and height(%s) of chart should be greater than 0,
3
3
  please check the style of container, or the props width(%s) and height(%s),
4
4
  or add a minWidth(%s) or minHeight(%s) or use aspect(%s) to control the
@@ -1 +1 @@
1
- import{b as c}from"./chunk-F5RVY2SF.js";import{l}from"./chunk-PRLC53C5.js";import{a as r,d as f,f as g}from"./chunk-I26MS5PJ.js";var m=f(g(),1);var p={capabilities:{accounts:!0,admin:!0,inviteOnly:!1,organization:!1,passkey:!1,twoFactor:!1},emailAndPassword:!1,organization:{enabled:!1,roles:!1,teams:!1},plugins:[],rateLimit:{enabled:!1},session:{},socialProviders:[],userFields:[]},h=r(()=>{let o=(0,m.c)(6),t=l(),a;o[0]===Symbol.for("react.memo_cache_sentinel")?(a=["lunora-auth-config"],o[0]=a):a=o[0];let e;o[1]!==t?(e=r(()=>t.getAuthConfig(),"t"),o[1]=t,o[2]=e):e=o[2];let{data:u,isLoading:d}=c(a,e),s=u??p,n=!d,i;return o[3]!==s||o[4]!==n?(i={config:s,ready:n},o[3]=s,o[4]=n,o[5]=i):i=o[5],i},"b");export{h as a};
1
+ import{b as c}from"./chunk-K6QQHYTC.js";import{l}from"./chunk-VXDEEOLM.js";import{a as r,d as f,f as g}from"./chunk-I26MS5PJ.js";var m=f(g(),1);var p={capabilities:{accounts:!0,admin:!0,inviteOnly:!1,organization:!1,passkey:!1,twoFactor:!1},emailAndPassword:!1,organization:{enabled:!1,roles:!1,teams:!1},plugins:[],rateLimit:{enabled:!1},session:{},socialProviders:[],userFields:[]},h=r(()=>{let o=(0,m.c)(6),t=l(),a;o[0]===Symbol.for("react.memo_cache_sentinel")?(a=["lunora-auth-config"],o[0]=a):a=o[0];let e;o[1]!==t?(e=r(()=>t.getAuthConfig(),"t"),o[1]=t,o[2]=e):e=o[2];let{data:u,isLoading:d}=c(a,e),s=u??p,n=!d,i;return o[3]!==s||o[4]!==n?(i={config:s,ready:n},o[3]=s,o[4]=n,o[5]=i):i=o[5],i},"b");export{h as a};
@@ -1 +1 @@
1
- import{g as j,h as v,i as D,l as g}from"./chunk-PRLC53C5.js";import{f as S,g as w,h as P,p as q}from"./chunk-HJHSQPHW.js";import{a as i,d as A,e as x,f as M}from"./chunk-I26MS5PJ.js";var E=A(M(),1);var p=A(x(),1);var I=300,l=i(t=>typeof t=="string"?t===""?void 0:t:typeof t=="number"||typeof t=="boolean"?String(t):void 0,"a"),u=i(t=>t.filter(r=>r!==void 0).join(" "),"c"),T=i(t=>{let r=Array.isArray(t.filters)?t.filters.length:0,e=typeof t.search=="string"&&t.search!=="";return r===0&&!e?"no predicate":u([r===0?void 0:`${String(r)} filters`,e?"search":void 0])},"q"),N={clearTable:i(t=>u([l(t.table),"whole table"]),"clearTable"),deleteRows:i(t=>u([l(t.table),T(t)]),"deleteRows"),facetColumn:i(t=>u([l(t.table),l(t.column)]),"facetColumn"),importShard:i(t=>{if(!Array.isArray(t.rows))return"";let r=[...new Set(t.rows.filter(e=>typeof e=="object"&&e!==null).map(e=>e.table).filter(e=>typeof e=="string"))].toSorted((e,s)=>e.localeCompare(s));return u([`${String(t.rows.length)} rows`,r.length===0?void 0:`into ${r.join(", ")}`])},"importShard"),lintSql:i(()=>"sql","lintSql"),patchRows:i(t=>u([l(t.table),typeof t.doc=="object"&&t.doc!==null?`set ${Object.keys(t.doc).join(", ")}`:void 0,T(t)]),"patchRows"),pitrRestore:i(t=>u([l(t.time)===void 0?void 0:`to ${String(t.time)}`,typeof t.bookmark=="string"&&t.bookmark!==""?"from bookmark":void 0,t.restart===!0?"restart now":void 0]),"pitrRestore"),readTablePage:i(t=>u([l(t.table),Array.isArray(t.filters)&&t.filters.length>0?`${String(t.filters.length)} filters`:void 0,typeof t.search=="string"&&t.search!==""?"search":void 0,typeof t.limit=="number"?`limit ${String(t.limit)}`:void 0]),"readTablePage"),runMigration:i(t=>u([l(t.id),l(t.direction),t.dryRun===!0?"dry-run":void 0]),"runMigration"),runSql:i(t=>typeof t.sql=="string"?`${String(t.sql.length)} chars`:"","runSql"),schemaVersion:i(t=>typeof t.hash=="string"?t.hash.slice(0,8):"","schemaVersion"),writeRow:i(t=>u([l(t.table),"1 row"]),"writeRow")},$="__lunora_admin__:",F=i((t,r)=>{let e=t.startsWith($)?t.slice($.length):t,s=N[e];if(s!==void 0)return s(r);let n=Object.keys(r);return n.length===0?"":n.join(", ")},"M"),V=i(t=>{if(Array.isArray(t))return t.length;if(!(typeof t!="object"||t===null)){for(let r of Object.values(t))if(Array.isArray(r))return r.length}},"K"),k=class{static{i(this,"x")}entries=[];listeners=new Set;nextSeq=1;getSnapshot=i(()=>this.entries,"getSnapshot");subscribe=i(r=>(this.listeners.add(r),()=>{this.listeners.delete(r)}),"subscribe");start(r,e,s){return this.append(r,e,s,"call","pending")}startSubscription(r,e,s){return this.append(r,e,s,"subscription","live")}recordPush(r){if(this.listeners.size===0){let e=this.entries.find(s=>s.seq===r);e!==void 0&&(e.pushes=(e.pushes??0)+1);return}this.patch(r,e=>({...e,pushes:(e.pushes??0)+1}))}failSubscription(r,e){this.patch(r,s=>({...s,error:e,status:"error"}))}endSubscription(r){this.patch(r,e=>e.status==="error"?e:{...e,durationMs:Date.now()-e.startedAt,status:"closed"})}lastErrorSeq(){return this.entries.findLast(r=>r.status==="error")?.seq}settle(r,e){this.patch(r,s=>({...s,durationMs:Date.now()-s.startedAt,...e.error===void 0?{resultCount:V(e.result),status:"ok"}:{error:e.error,status:"error"}}))}clear(){this.entries=[],this.emit()}append(r,e,s,n,a){let d=this.nextSeq;this.nextSeq+=1;let c={functionPath:r,kind:n,seq:d,shardKey:s,startedAt:Date.now(),status:a,summary:F(r,e),...n==="subscription"?{pushes:0}:{}},o=[...this.entries,c];return this.entries=o.length>I?o.slice(o.length-I):o,this.emit(),d}patch(r,e){let s=this.entries.findIndex(n=>n.seq===r);s!==-1&&(this.entries=this.entries.with(s,e(this.entries[s])),this.emit())}emit(){for(let r of this.listeners)r()}},f=new k,_=i((t,r,e)=>["lunora-admin",t,r,e.trim()],"j"),O=i((t,r)=>[...t,r],"E");function W(t,r,e={}){let s=g(),{enabled:n=!0,keepPreviousData:a=!1,staleTime:d=0}=e,c=O(t,s.clientIdentifier()),o=D({enabled:n,queryFn:r,placeholderData:a?j:void 0,queryKey:c,staleTime:d});return{data:o.data,error:o.error?P(o.error):o.error,errorSource:o.error??void 0,isLoading:o.isLoading,liveError:void 0,refetch:i(()=>{q(o.refetch())},"refetch")}}i(W,"F");function Y(t,r,e={}){let s=g(),n=v(),{enabled:a=!0,keepPreviousData:d=!1,live:c=!1,shardKey:o="",staleTime:R}=e,m=_(t,r,o),C=W(m,()=>s.query(S(t),r,w(o)),{enabled:a,keepPreviousData:d,staleTime:R??(c?Number.POSITIVE_INFINITY:0)}),[K,b]=(0,p.useState)(void 0),L=JSON.stringify(m);return(0,p.useEffect)(()=>{if(!a||!c)return;b(void 0);let y=f.startSubscription(t,r,o),Q=s.subscribe(S(t),r,h=>{f.recordPush(y),b(void 0),n.setQueryData(O(m,s.clientIdentifier()),h)},{...w(o),onError:i(h=>{f.failSubscription(y,h.message),b(h.message)},"onError")});return()=>{f.endSubscription(y),Q()}},[s,L,a,c]),{...C,liveError:a&&c?K:void 0}}i(Y,"U");var B=i(()=>{let t=(0,E.c)(2),r=v(),e;return t[0]!==r?(e=i((s,n,a)=>{let d=n===void 0?["lunora-admin",s]:_(s,n,a??"");q(r.invalidateQueries({queryKey:d}))},"r"),t[0]=r,t[1]=e):e=t[1],e},"W");export{f as a,W as b,Y as c,B as d};
1
+ import{g as j,h as v,i as D,l as g}from"./chunk-VXDEEOLM.js";import{f as S,g as w,h as P,p as q}from"./chunk-HJHSQPHW.js";import{a as i,d as A,e as x,f as M}from"./chunk-I26MS5PJ.js";var E=A(M(),1);var p=A(x(),1);var I=300,l=i(t=>typeof t=="string"?t===""?void 0:t:typeof t=="number"||typeof t=="boolean"?String(t):void 0,"a"),u=i(t=>t.filter(r=>r!==void 0).join(" "),"c"),T=i(t=>{let r=Array.isArray(t.filters)?t.filters.length:0,e=typeof t.search=="string"&&t.search!=="";return r===0&&!e?"no predicate":u([r===0?void 0:`${String(r)} filters`,e?"search":void 0])},"q"),N={clearTable:i(t=>u([l(t.table),"whole table"]),"clearTable"),deleteRows:i(t=>u([l(t.table),T(t)]),"deleteRows"),facetColumn:i(t=>u([l(t.table),l(t.column)]),"facetColumn"),importShard:i(t=>{if(!Array.isArray(t.rows))return"";let r=[...new Set(t.rows.filter(e=>typeof e=="object"&&e!==null).map(e=>e.table).filter(e=>typeof e=="string"))].toSorted((e,s)=>e.localeCompare(s));return u([`${String(t.rows.length)} rows`,r.length===0?void 0:`into ${r.join(", ")}`])},"importShard"),lintSql:i(()=>"sql","lintSql"),patchRows:i(t=>u([l(t.table),typeof t.doc=="object"&&t.doc!==null?`set ${Object.keys(t.doc).join(", ")}`:void 0,T(t)]),"patchRows"),pitrRestore:i(t=>u([l(t.time)===void 0?void 0:`to ${String(t.time)}`,typeof t.bookmark=="string"&&t.bookmark!==""?"from bookmark":void 0,t.restart===!0?"restart now":void 0]),"pitrRestore"),readTablePage:i(t=>u([l(t.table),Array.isArray(t.filters)&&t.filters.length>0?`${String(t.filters.length)} filters`:void 0,typeof t.search=="string"&&t.search!==""?"search":void 0,typeof t.limit=="number"?`limit ${String(t.limit)}`:void 0]),"readTablePage"),runMigration:i(t=>u([l(t.id),l(t.direction),t.dryRun===!0?"dry-run":void 0]),"runMigration"),runSql:i(t=>typeof t.sql=="string"?`${String(t.sql.length)} chars`:"","runSql"),schemaVersion:i(t=>typeof t.hash=="string"?t.hash.slice(0,8):"","schemaVersion"),writeRow:i(t=>u([l(t.table),"1 row"]),"writeRow")},$="__lunora_admin__:",F=i((t,r)=>{let e=t.startsWith($)?t.slice($.length):t,s=N[e];if(s!==void 0)return s(r);let n=Object.keys(r);return n.length===0?"":n.join(", ")},"M"),V=i(t=>{if(Array.isArray(t))return t.length;if(!(typeof t!="object"||t===null)){for(let r of Object.values(t))if(Array.isArray(r))return r.length}},"K"),k=class{static{i(this,"x")}entries=[];listeners=new Set;nextSeq=1;getSnapshot=i(()=>this.entries,"getSnapshot");subscribe=i(r=>(this.listeners.add(r),()=>{this.listeners.delete(r)}),"subscribe");start(r,e,s){return this.append(r,e,s,"call","pending")}startSubscription(r,e,s){return this.append(r,e,s,"subscription","live")}recordPush(r){if(this.listeners.size===0){let e=this.entries.find(s=>s.seq===r);e!==void 0&&(e.pushes=(e.pushes??0)+1);return}this.patch(r,e=>({...e,pushes:(e.pushes??0)+1}))}failSubscription(r,e){this.patch(r,s=>({...s,error:e,status:"error"}))}endSubscription(r){this.patch(r,e=>e.status==="error"?e:{...e,durationMs:Date.now()-e.startedAt,status:"closed"})}lastErrorSeq(){return this.entries.findLast(r=>r.status==="error")?.seq}settle(r,e){this.patch(r,s=>({...s,durationMs:Date.now()-s.startedAt,...e.error===void 0?{resultCount:V(e.result),status:"ok"}:{error:e.error,status:"error"}}))}clear(){this.entries=[],this.emit()}append(r,e,s,n,a){let d=this.nextSeq;this.nextSeq+=1;let c={functionPath:r,kind:n,seq:d,shardKey:s,startedAt:Date.now(),status:a,summary:F(r,e),...n==="subscription"?{pushes:0}:{}},o=[...this.entries,c];return this.entries=o.length>I?o.slice(o.length-I):o,this.emit(),d}patch(r,e){let s=this.entries.findIndex(n=>n.seq===r);s!==-1&&(this.entries=this.entries.with(s,e(this.entries[s])),this.emit())}emit(){for(let r of this.listeners)r()}},f=new k,_=i((t,r,e)=>["lunora-admin",t,r,e.trim()],"j"),O=i((t,r)=>[...t,r],"E");function W(t,r,e={}){let s=g(),{enabled:n=!0,keepPreviousData:a=!1,staleTime:d=0}=e,c=O(t,s.clientIdentifier()),o=D({enabled:n,queryFn:r,placeholderData:a?j:void 0,queryKey:c,staleTime:d});return{data:o.data,error:o.error?P(o.error):o.error,errorSource:o.error??void 0,isLoading:o.isLoading,liveError:void 0,refetch:i(()=>{q(o.refetch())},"refetch")}}i(W,"F");function Y(t,r,e={}){let s=g(),n=v(),{enabled:a=!0,keepPreviousData:d=!1,live:c=!1,shardKey:o="",staleTime:R}=e,m=_(t,r,o),C=W(m,()=>s.query(S(t),r,w(o)),{enabled:a,keepPreviousData:d,staleTime:R??(c?Number.POSITIVE_INFINITY:0)}),[K,b]=(0,p.useState)(void 0),L=JSON.stringify(m);return(0,p.useEffect)(()=>{if(!a||!c)return;b(void 0);let y=f.startSubscription(t,r,o),Q=s.subscribe(S(t),r,h=>{f.recordPush(y),b(void 0),n.setQueryData(O(m,s.clientIdentifier()),h)},{...w(o),onError:i(h=>{f.failSubscription(y,h.message),b(h.message)},"onError")});return()=>{f.endSubscription(y),Q()}},[s,L,a,c]),{...C,liveError:a&&c?K:void 0}}i(Y,"U");var B=i(()=>{let t=(0,E.c)(2),r=v(),e;return t[0]!==r?(e=i((s,n,a)=>{let d=n===void 0?["lunora-admin",s]:_(s,n,a??"");q(r.invalidateQueries({queryKey:d}))},"r"),t[0]=r,t[1]=e):e=t[1],e},"W");export{f as a,W as b,Y as c,B as d};
@@ -1 +1 @@
1
- import{a as Ce,b as Ne}from"./chunk-EMO5ERZJ.js";import{a as ye}from"./chunk-CKZPTALB.js";import"./chunk-WV5AAYK5.js";import"./chunk-AUGKHAMQ.js";import"./chunk-WJRYEML4.js";import{e as ke,g as we}from"./chunk-RGMVGZV4.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import{a as X}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import"./chunk-BOMPSVRC.js";import{a as le}from"./chunk-NCPW7WHO.js";import{a as pe}from"./chunk-4ZEL6BYL.js";import"./chunk-F5RVY2SF.js";import{l as he}from"./chunk-PRLC53C5.js";import"./chunk-QAQDMS6R.js";import"./chunk-WPS47HUS.js";import{a as me}from"./chunk-RWVIV3U7.js";import"./chunk-HCTJKP5J.js";import{a as oe,b as ue,c as ge,e as ae}from"./chunk-2IKDEUCX.js";import{d as te,f as ve,g as be,h as fe,o as xe,p as ne}from"./chunk-HJHSQPHW.js";import{a as g,d as ie,e as Se,f as Ke,g as Le}from"./chunk-I26MS5PJ.js";var Y=ie(Ke(),1),G=ie(Se(),1);var a=ie(Le(),1);var Me=ve(pe.runSql),qe=g((f,e)=>{let t=(0,Y.c)(11),n=he(),[l,d]=(0,G.useState)(void 0),[s,i]=(0,G.useState)(void 0),[h,x]=(0,G.useState)(!0),m;t[0]!==n||t[1]!==e||t[2]!==f?(m=g(async u=>{x(!0);try{let C=await n.query(Me,{sql:f},be(e));u.cancelled||(d(C),i(void 0))}catch(C){let k=C;u.cancelled||(d(void 0),i(fe(k)))}u.cancelled||x(!1)},"h"),t[0]=n,t[1]=e,t[2]=f,t[3]=m):m=t[3];let r=m,o,v;t[4]!==r?(o=g(()=>{let u={cancelled:!1};return ne(r(u)),()=>{u.cancelled=!0}},"l"),v=[r],t[4]=r,t[5]=o,t[6]=v):(o=t[5],v=t[6]),(0,G.useEffect)(o,v);let S;return t[7]!==s||t[8]!==h||t[9]!==l?(S={error:s,loading:h,result:l},t[7]=s,t[8]=h,t[9]=l,t[10]=S):S=t[10],S},"Le"),Ee=g(f=>{f.preventDefault()},"Me"),ce=g(f=>f.kind??"chart","le"),Re=g(f=>{let e=(0,Y.c)(80),{actions:t,children:n,draggedRef:l,first:d,last:s,onEdit:i,onMove:h,onRemove:x,onReorder:m,widget:r}=f,o=te(),v;e[0]!==h||e[1]!==r.id?(v=g(()=>{h(r.id,-1)},"g"),e[0]=h,e[1]=r.id,e[2]=v):v=e[2];let S=v,u;e[3]!==h||e[4]!==r.id?(u=g(()=>{h(r.id,1)},"f"),e[3]=h,e[4]=r.id,e[5]=u):u=e[5];let C=u,k;e[6]!==i||e[7]!==r.id?(k=g(()=>{i(r.id)},"x"),e[6]=i,e[7]=r.id,e[8]=k):k=e[8];let E=k,O;e[9]!==x||e[10]!==r.id?(O=g(()=>{x(r.id)},"O"),e[9]=x,e[10]=r.id,e[11]=O):O=e[11];let j=O,T;e[12]!==l||e[13]!==r.id?(T=g(()=>{l.current=r.id},"z"),e[12]=l,e[13]=r.id,e[14]=T):T=e[14];let w=T,K;e[15]!==l||e[16]!==m||e[17]!==r.id?(K=g(()=>{let de=l.current;l.current=null,de!==null&&de!==r.id&&m(de,r.id)},"K"),e[15]=l,e[16]=m,e[17]=r.id,e[18]=K):K=e[18];let _=K,R=`dashboards-widget-${r.id}`,y;e[19]!==r.title?(y=(0,a.jsx)(ge,{className:"min-w-0 cursor-grab truncate",title:r.title,children:r.title}),e[19]=r.title,e[20]=y):y=e[20];let N;e[21]!==o?(N=o("Move widget up"),e[21]=o,e[22]=N):N=e[22];let F=`dashboards-move-up-${r.id}`,H;e[23]!==o?(H=o("Move widget up"),e[23]=o,e[24]=H):H=e[24];let D;e[25]===Symbol.for("react.memo_cache_sentinel")?(D=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 15 6-6 6 6"})}),e[25]=D):D=e[25];let W;e[26]!==d||e[27]!==S||e[28]!==F||e[29]!==H||e[30]!==N?(W=(0,a.jsx)(X,{"aria-label":N,"data-testid":F,disabled:d,onClick:S,size:"icon-xs",title:H,type:"button",variant:"ghost",children:D}),e[26]=d,e[27]=S,e[28]=F,e[29]=H,e[30]=N,e[31]=W):W=e[31];let L;e[32]!==o?(L=o("Move widget down"),e[32]=o,e[33]=L):L=e[33];let $=`dashboards-move-down-${r.id}`,M;e[34]!==o?(M=o("Move widget down"),e[34]=o,e[35]=M):M=e[35];let z;e[36]===Symbol.for("react.memo_cache_sentinel")?(z=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 9 6 6 6-6"})}),e[36]=z):z=e[36];let q;e[37]!==s||e[38]!==C||e[39]!==L||e[40]!==$||e[41]!==M?(q=(0,a.jsx)(X,{"aria-label":L,"data-testid":$,disabled:s,onClick:C,size:"icon-xs",title:M,type:"button",variant:"ghost",children:z}),e[37]=s,e[38]=C,e[39]=L,e[40]=$,e[41]=M,e[42]=q):q=e[42];let B;e[43]!==o?(B=o("Edit widget"),e[43]=o,e[44]=B):B=e[44];let I=`dashboards-widget-edit-${r.id}`,A;e[45]!==o?(A=o("Edit widget"),e[45]=o,e[46]=A):A=e[46];let p;e[47]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M4 20h4L18 10l-4-4L4 16v4ZM14 6l4 4"})}),e[47]=p):p=e[47];let b;e[48]!==E||e[49]!==B||e[50]!==I||e[51]!==A?(b=(0,a.jsx)(X,{"aria-label":B,"data-testid":I,onClick:E,size:"icon-xs",title:A,type:"button",variant:"ghost",children:p}),e[48]=E,e[49]=B,e[50]=I,e[51]=A,e[52]=b):b=e[52];let c;e[53]!==o?(c=o("Remove widget"),e[53]=o,e[54]=c):c=e[54];let J=`dashboards-widget-remove-${r.id}`,V;e[55]!==o?(V=o("Remove widget"),e[55]=o,e[56]=V):V=e[56];let U;e[57]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[57]=U):U=e[57];let Q;e[58]!==j||e[59]!==c||e[60]!==J||e[61]!==V?(Q=(0,a.jsx)(X,{"aria-label":c,"data-testid":J,onClick:j,size:"icon-xs",title:V,type:"button",variant:"ghost",children:U}),e[58]=j,e[59]=c,e[60]=J,e[61]=V,e[62]=Q):Q=e[62];let Z;e[63]!==t||e[64]!==W||e[65]!==q||e[66]!==b||e[67]!==Q?(Z=(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[t,W,q,b,Q]}),e[63]=t,e[64]=W,e[65]=q,e[66]=b,e[67]=Q,e[68]=Z):Z=e[68];let P;e[69]!==Z||e[70]!==y?(P=(0,a.jsxs)(ue,{className:"flex flex-row items-start justify-between gap-2 border-b pb-3",children:[y,Z]}),e[69]=Z,e[70]=y,e[71]=P):P=e[71];let ee;e[72]!==n?(ee=(0,a.jsx)(ae,{className:"min-h-32 py-2",children:n}),e[72]=n,e[73]=ee):ee=e[73];let re;return e[74]!==w||e[75]!==_||e[76]!==P||e[77]!==ee||e[78]!==R?(re=(0,a.jsxs)(oe,{"data-testid":R,draggable:!0,onDragOver:Ee,onDragStart:w,onDrop:_,children:[P,ee]}),e[74]=w,e[75]=_,e[76]=P,e[77]=ee,e[78]=R,e[79]=re):re=e[79],re},"ce"),je=g(f=>{let e=(0,Y.c)(10),{result:t}=f,n=te(),l=t.columns[0],d=l===void 0?void 0:t.rows[0]?.[l],s;e[0]!==d||e[1]!==n?(s=d===void 0?n("\u2014"):xe(d),e[0]=d,e[1]=n,e[2]=s):s=e[2];let i;e[3]!==s?(i=(0,a.jsx)("p",{className:"truncate font-mono text-3xl font-semibold text-foreground",children:s}),e[3]=s,e[4]=i):i=e[4];let h;e[5]!==l?(h=l!==void 0&&(0,a.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:l}),e[5]=l,e[6]=h):h=e[6];let x;return e[7]!==i||e[8]!==h?(x=(0,a.jsxs)("div",{className:"flex h-full flex-col justify-center gap-1 p-4","data-testid":"dashboards-kpi",children:[i,h]}),e[7]=i,e[8]=h,e[9]=x):x=e[9],x},"qe"),ze=g(f=>{let e=(0,Y.c)(12),{draggedRef:t,first:n,last:l,onEdit:d,onMove:s,onRemove:i,onReorder:h,widget:x}=f,m=x.text??"",r;e[0]!==m?(r=(0,a.jsx)("p",{className:"p-2 text-sm whitespace-pre-wrap text-muted-foreground","data-testid":"dashboards-text",children:m}),e[0]=m,e[1]=r):r=e[1];let o;return e[2]!==t||e[3]!==n||e[4]!==l||e[5]!==d||e[6]!==s||e[7]!==i||e[8]!==h||e[9]!==r||e[10]!==x?(o=(0,a.jsx)(Re,{draggedRef:t,first:n,last:l,onEdit:d,onMove:s,onRemove:i,onReorder:h,widget:x,children:r}),e[2]=t,e[3]=n,e[4]=l,e[5]=d,e[6]=s,e[7]=i,e[8]=h,e[9]=r,e[10]=x,e[11]=o):o=e[11],o},"Ee"),Ae=g(f=>{let e=(0,Y.c)(52),{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}=f,o=te(),{error:v,loading:S,result:u}=qe(r.sql,r.shardKey??""),C;e[0]!==r?(C=ce(r),e[0]=r,e[1]=C):C=e[1];let k=C,E;e[2]!==m||e[3]!==u||e[4]!==r.id?(E=g(()=>{u!==void 0&&m?.(r.id,u)},"q"),e[2]=m,e[3]=u,e[4]=r.id,e[5]=E):E=e[5];let O=E,j;e[6]!==l||e[7]!==k||e[8]!==m||e[9]!==O||e[10]!==u||e[11]!==o||e[12]!==r.id?(j=k==="chart"&&m!==void 0&&u!==void 0?(0,a.jsx)(X,{"aria-label":o("Suggest chart"),"data-testid":`dashboards-widget-suggest-${r.id}`,disabled:l,onClick:O,size:"icon-xs",title:o(l?"Suggesting\u2026":"Suggest chart"),type:"button",variant:"ghost",children:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m12 3 1.9 4.6L18.5 9.5 13.9 11.4 12 16l-1.9-4.6L5.5 9.5l4.6-1.9L12 3ZM18 15l.9 2.1 2.1.9-2.1.9L18 21l-.9-2.1-2.1-.9 2.1-.9L18 15Z"})})}):void 0,e[6]=l,e[7]=k,e[8]=m,e[9]=O,e[10]=u,e[11]=o,e[12]=r.id,e[13]=j):j=e[13];let T=j,w;e[14]!==v||e[15]!==r.id?(w=v!==void 0&&(0,a.jsx)(le,{className:"font-mono text-xs",testId:`dashboards-widget-error-${r.id}`,variant:"destructive",children:v}),e[14]=v,e[15]=r.id,e[16]=w):w=e[16];let K;e[17]!==v||e[18]!==S||e[19]!==u||e[20]!==o||e[21]!==r.id?(K=v===void 0&&S&&u===void 0&&(0,a.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":`dashboards-widget-loading-${r.id}`,children:o("Running\u2026")}),e[17]=v,e[18]=S,e[19]=u,e[20]=o,e[21]=r.id,e[22]=K):K=e[22];let _;e[23]!==v||e[24]!==k||e[25]!==u||e[26]!==r.chartAxes||e[27]!==r.chartKind?(_=v===void 0&&u!==void 0&&k==="chart"&&(0,a.jsx)(Ce,{axes:r.chartAxes,kind:r.chartKind,result:u}),e[23]=v,e[24]=k,e[25]=u,e[26]=r.chartAxes,e[27]=r.chartKind,e[28]=_):_=e[28];let R;e[29]!==v||e[30]!==k||e[31]!==u?(R=v===void 0&&u!==void 0&&k==="kpi"&&(0,a.jsx)(je,{result:u}),e[29]=v,e[30]=k,e[31]=u,e[32]=R):R=e[32];let y;e[33]!==v||e[34]!==k||e[35]!==u?(y=v===void 0&&u!==void 0&&k==="table"&&(0,a.jsx)("div",{className:"max-h-72 overflow-auto",children:(0,a.jsx)(Ne,{result:u})}),e[33]=v,e[34]=k,e[35]=u,e[36]=y):y=e[36];let N;return e[37]!==t||e[38]!==n||e[39]!==d||e[40]!==s||e[41]!==i||e[42]!==h||e[43]!==x||e[44]!==T||e[45]!==w||e[46]!==K||e[47]!==_||e[48]!==R||e[49]!==y||e[50]!==r?(N=(0,a.jsxs)(Re,{actions:T,draggedRef:t,first:n,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,widget:r,children:[w,K,_,R,y]}),e[37]=t,e[38]=n,e[39]=d,e[40]=s,e[41]=i,e[42]=h,e[43]=x,e[44]=T,e[45]=w,e[46]=K,e[47]=_,e[48]=R,e[49]=y,e[50]=r,e[51]=N):N=e[51],N},"Ae"),_e=g(f=>{let e=(0,Y.c)(11),{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}=f,o;return e[0]!==t||e[1]!==n||e[2]!==l||e[3]!==d||e[4]!==s||e[5]!==i||e[6]!==h||e[7]!==x||e[8]!==m||e[9]!==r?(o=ce(r)==="text"?(0,a.jsx)(ze,{draggedRef:t,first:n,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,widget:r}):(0,a.jsx)(Ae,{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}),e[0]=t,e[1]=n,e[2]=l,e[3]=d,e[4]=s,e[5]=i,e[6]=h,e[7]=x,e[8]=m,e[9]=r,e[10]=o):o=e[10],o},"Te"),We=["bar","line","area"],$e=["chart","kpi","table","text"],Be="lunora-studio-dashboards",se={chartKind:"bar",kind:"chart",shardKey:"",sql:"",text:"",title:""},Ie=g((f,e)=>t=>t.map(n=>n.id===f?{...n,chartAxes:e,chartKind:e.kind}:n),"De"),Te=g((f,e)=>t=>{let n=t.find(s=>s.id===f),l=t.filter(s=>s.id!==f),d=l.findIndex(s=>s.id===e);return n===void 0||d===-1?t:[...l.slice(0,d),n,...l.slice(d)]},"je"),De=g((f,e)=>e(f==="line"?"Line":f==="area"?"Area":"Bar"),"ze"),Oe=g((f,e)=>e(f==="kpi"?"Single value":f==="table"?"Table":f==="text"?"Text":"Chart"),"Be"),Fe=g(f=>{let e=(0,Y.c)(82),{draft:t,editing:n,onCancel:l,onChange:d,onSubmit:s}=f,i=te(),h;e[0]!==t||e[1]!==d?(h=g(c=>{d({...t,title:c.target.value})},"c"),e[0]=t,e[1]=d,e[2]=h):h=e[2];let x=h,m;e[3]!==t||e[4]!==d?(m=g(c=>{d({...t,sql:c.target.value})},"h"),e[3]=t,e[4]=d,e[5]=m):m=e[5];let r=m,o;e[6]!==t||e[7]!==d?(o=g(c=>{d({...t,text:c.target.value})},"l"),e[6]=t,e[7]=d,e[8]=o):o=e[8];let v=o,S;e[9]!==t||e[10]!==d?(S=g(c=>{d({...t,shardKey:c.target.value})},"N"),e[9]=t,e[10]=d,e[11]=S):S=e[11];let u=S,C;e[12]!==t||e[13]!==d?(C=g(c=>{d({...t,chartKind:c.target.value})},"y"),e[12]=t,e[13]=d,e[14]=C):C=e[14];let k=C,E;e[15]!==t||e[16]!==d?(E=g(c=>{d({...t,kind:c.target.value})},"q"),e[15]=t,e[16]=d,e[17]=E):E=e[17];let O=E,j;e[18]!==s?(j=g(()=>{s()},"E"),e[18]=s,e[19]=j):j=e[19];let T=j,w=t.kind==="text",K;e[20]!==t.sql||e[21]!==t.text||e[22]!==t.title||e[23]!==w?(K=t.title.trim()!==""&&(w?t.text.trim()!=="":t.sql.trim()!==""),e[20]=t.sql,e[21]=t.text,e[22]=t.title,e[23]=w,e[24]=K):K=e[24];let _=K,R;e[25]!==i?(R=i("Widget title"),e[25]=i,e[26]=R):R=e[26];let y;e[27]!==i?(y=i("Widget title"),e[27]=i,e[28]=y):y=e[28];let N;e[29]!==t.title||e[30]!==x||e[31]!==y||e[32]!==R?(N=(0,a.jsx)("input",{"aria-label":R,className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-title",onChange:x,placeholder:y,type:"text",value:t.title}),e[29]=t.title,e[30]=x,e[31]=y,e[32]=R,e[33]=N):N=e[33];let F;e[34]!==i?(F=i("Widget type"),e[34]=i,e[35]=F):F=e[35];let H=t.kind,D;e[36]!==i?(D=$e.map(c=>(0,a.jsx)("option",{value:c,children:Oe(c,i)},c)),e[36]=i,e[37]=D):D=e[37];let W;e[38]!==t.kind||e[39]!==O||e[40]!==F||e[41]!==D?(W=(0,a.jsx)("select",{"aria-label":F,className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-widget-kind",onChange:O,value:H,children:D}),e[38]=t.kind,e[39]=O,e[40]=F,e[41]=D,e[42]=W):W=e[42];let L;e[43]!==t.sql||e[44]!==t.text||e[45]!==w||e[46]!==r||e[47]!==v||e[48]!==i?(L=w?(0,a.jsx)("textarea",{"aria-label":i("Text"),className:"min-h-24 resize-y rounded-md border border-border bg-background p-2 text-xs leading-5 outline-none focus-visible:border-ring","data-testid":"dashboards-form-text",onChange:v,placeholder:i("Notes for whoever reads this dashboard."),value:t.text}):(0,a.jsx)("textarea",{"aria-label":i("SQL query"),className:"min-h-24 resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-5 outline-none focus-visible:border-ring","data-testid":"dashboards-form-sql",onChange:r,placeholder:"SELECT author, COUNT(*) AS messages FROM \u2026",spellCheck:!1,value:t.sql}),e[43]=t.sql,e[44]=t.text,e[45]=w,e[46]=r,e[47]=v,e[48]=i,e[49]=L):L=e[49];let $;e[50]!==t.chartKind||e[51]!==t.kind||e[52]!==k||e[53]!==i?($=t.kind==="chart"&&(0,a.jsx)("select",{"aria-label":i("Chart type"),className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-kind",onChange:k,value:t.chartKind,children:We.map(c=>(0,a.jsx)("option",{value:c,children:De(c,i)},c))}),e[50]=t.chartKind,e[51]=t.kind,e[52]=k,e[53]=i,e[54]=$):$=e[54];let M;e[55]!==t.shardKey||e[56]!==w||e[57]!==u||e[58]!==i?(M=!w&&(0,a.jsx)("input",{"aria-label":i("Shard key (optional)"),className:"h-8 rounded-md border border-border bg-background px-2 font-mono text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-shard",onChange:u,placeholder:i("Shard key (optional)"),type:"text",value:t.shardKey}),e[55]=t.shardKey,e[56]=w,e[57]=u,e[58]=i,e[59]=M):M=e[59];let z;e[60]!==i?(z=i("Cancel"),e[60]=i,e[61]=z):z=e[61];let q;e[62]!==l||e[63]!==z?(q=(0,a.jsx)(X,{"data-testid":"dashboards-form-cancel",onClick:l,size:"sm",type:"button",variant:"outline",children:z}),e[62]=l,e[63]=z,e[64]=q):q=e[64];let B=!_,I;e[65]!==n||e[66]!==i?(I=i(n?"Save widget":"Add widget"),e[65]=n,e[66]=i,e[67]=I):I=e[67];let A;e[68]!==T||e[69]!==B||e[70]!==I?(A=(0,a.jsx)(X,{"data-testid":"dashboards-form-save",disabled:B,onClick:T,size:"sm",type:"button",children:I}),e[68]=T,e[69]=B,e[70]=I,e[71]=A):A=e[71];let p;e[72]!==q||e[73]!==A?(p=(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[q,A]}),e[72]=q,e[73]=A,e[74]=p):p=e[74];let b;return e[75]!==N||e[76]!==W||e[77]!==L||e[78]!==$||e[79]!==M||e[80]!==p?(b=(0,a.jsx)(oe,{"data-testid":"dashboards-form",children:(0,a.jsxs)(ae,{className:"flex flex-col gap-3 py-4",children:[N,W,L,$,M,p]})}),e[75]=N,e[76]=W,e[77]=L,e[78]=$,e[79]=M,e[80]=p,e[81]=b):b=e[81],b},"Fe"),tt=g(f=>{let e=(0,Y.c)(53),{initialShardKey:t}=f,n=te(),[l,d]=ke(Be),[s,i]=(0,G.useState)(se),[h,x]=(0,G.useState)(null),[m,r]=(0,G.useState)(!1),o=ye(t??""),[v,S]=(0,G.useState)(null),u=(0,G.useRef)(null),C;e[0]!==t?(C=g(()=>{x(null),i({...se,shardKey:t??""}),r(!0)},"y"),e[0]=t,e[1]=C):C=e[1];let k=C,E;e[2]===Symbol.for("react.memo_cache_sentinel")?(E=g(()=>{r(!1),x(null),i(se)},"q"),e[2]=E):E=e[2];let O=E,j;e[3]!==l?(j=g(p=>{let b=l.find(c=>c.id===p);b!==void 0&&(x(p),i({chartKind:b.chartKind??"bar",kind:ce(b),shardKey:b.shardKey??"",sql:b.sql,text:b.text??"",title:b.title}),r(!0))},"E"),e[3]=l,e[4]=j):j=e[4];let T=j,w;e[5]!==o||e[6]!==d?(w=g((p,b)=>{S(p),ne((async()=>{let c=await o.inferChart({columns:b.columns,rowCount:b.rowCount});c!==void 0&&d(Ie(p,c))})().finally(()=>{S(c=>c===p?null:c)}))},"C"),e[5]=o,e[6]=d,e[7]=w):w=e[7];let K=w,_;e[8]!==d?(_=g(p=>{d(b=>b.filter(c=>c.id!==p))},"W"),e[8]=d,e[9]=_):_=e[9];let R=_,y;e[10]!==d?(y=g((p,b)=>{d(Te(p,b))},"k"),e[10]=d,e[11]=y):y=e[11];let N=y,F;e[12]!==d?(F=g((p,b)=>{d(c=>{let J=c.findIndex(P=>P.id===p),V=J+b;if(J===-1||V<0||V>=c.length)return c;let U=[...c],Q=U[J],Z=U[V];return Q===void 0||Z===void 0?c:(U[J]=Z,U[V]=Q,U)})},"_"),e[12]=d,e[13]=F):F=e[13];let H=F,D;e[14]!==s||e[15]!==h||e[16]!==d?(D=g(()=>{let p=s.title.trim(),b=s.sql.trim(),c=s.text.trim(),{chartKind:J,kind:V}=s;if(p===""||(V==="text"?c==="":b===""))return;let U={chartKind:J,kind:V,shardKey:s.shardKey.trim(),sql:b,text:c,title:p};d(h===null?Q=>[...Q,{...U,id:we("w")}]:Q=>Q.map(Z=>Z.id===h?{...Z,...U}:Z)),O()},"B"),e[14]=s,e[15]=h,e[16]=d,e[17]=D):D=e[17];let W=D,L;e[18]!==n?(L=n("Charts, values, tables, and notes. Drag a tile to reorder."),e[18]=n,e[19]=L):L=e[19];let $;e[20]!==L?($=(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:L}),e[20]=L,e[21]=$):$=e[21];let M;e[22]!==m||e[23]!==k||e[24]!==n?(M=!m&&(0,a.jsx)(X,{"data-testid":"dashboards-add",onClick:k,size:"sm",type:"button",children:n("Add widget")}),e[22]=m,e[23]=k,e[24]=n,e[25]=M):M=e[25];let z;e[26]!==$||e[27]!==M?(z=(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[$,M]}),e[26]=$,e[27]=M,e[28]=z):z=e[28];let q;e[29]!==o||e[30]!==n?(q=o.reason("chart")!==void 0&&(0,a.jsx)(le,{className:"text-xs",testId:"dashboards-suggest-error",variant:"destructive",children:n("Could not suggest a chart for that result.")}),e[29]=o,e[30]=n,e[31]=q):q=e[31];let B;e[32]!==s||e[33]!==h||e[34]!==m||e[35]!==W?(B=m&&(0,a.jsx)(Fe,{draft:s,editing:h!==null,onCancel:O,onChange:i,onSubmit:W}),e[32]=s,e[33]=h,e[34]=m,e[35]=W,e[36]=B):B=e[36];let I;e[37]!==o.unavailable||e[38]!==m||e[39]!==v||e[40]!==T||e[41]!==H||e[42]!==R||e[43]!==N||e[44]!==K||e[45]!==n||e[46]!==l?(I=l.length===0&&!m?(0,a.jsx)(me,{description:n("Add a chart, a single value, a table, or a note. Everything is saved on this browser."),testId:"dashboards-empty",title:n("No widgets yet")}):(0,a.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3","data-testid":"dashboards-grid",children:l.map((p,b)=>(0,a.jsx)(_e,{draggedRef:u,first:b===0,inferring:v===p.id,last:b===l.length-1,onEdit:T,onMove:H,onRemove:R,onReorder:N,onSuggest:o.unavailable?void 0:K,widget:p},p.id))}),e[37]=o.unavailable,e[38]=m,e[39]=v,e[40]=T,e[41]=H,e[42]=R,e[43]=N,e[44]=K,e[45]=n,e[46]=l,e[47]=I):I=e[47];let A;return e[48]!==z||e[49]!==q||e[50]!==B||e[51]!==I?(A=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-dashboards",children:[z,q,B,I]}),e[48]=z,e[49]=q,e[50]=B,e[51]=I,e[52]=A):A=e[52],A},"it");export{tt as default};
1
+ import{a as Ce,b as Ne}from"./chunk-ODOTLOWA.js";import{a as ye}from"./chunk-ETE4N3US.js";import"./chunk-J4L4RPG5.js";import"./chunk-AUGKHAMQ.js";import"./chunk-WJRYEML4.js";import{e as ke,g as we}from"./chunk-RGMVGZV4.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import{a as X}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import"./chunk-BOMPSVRC.js";import{a as le}from"./chunk-NCPW7WHO.js";import{a as pe}from"./chunk-4ZEL6BYL.js";import"./chunk-K6QQHYTC.js";import{l as he}from"./chunk-VXDEEOLM.js";import"./chunk-QAQDMS6R.js";import"./chunk-6PTQTEWR.js";import{a as me}from"./chunk-RWVIV3U7.js";import"./chunk-HCTJKP5J.js";import{a as oe,b as ue,c as ge,e as ae}from"./chunk-2IKDEUCX.js";import{d as te,f as ve,g as be,h as fe,o as xe,p as ne}from"./chunk-HJHSQPHW.js";import{a as g,d as ie,e as Se,f as Ke,g as Le}from"./chunk-I26MS5PJ.js";var Y=ie(Ke(),1),G=ie(Se(),1);var a=ie(Le(),1);var Me=ve(pe.runSql),qe=g((f,e)=>{let t=(0,Y.c)(11),n=he(),[l,d]=(0,G.useState)(void 0),[s,i]=(0,G.useState)(void 0),[h,x]=(0,G.useState)(!0),m;t[0]!==n||t[1]!==e||t[2]!==f?(m=g(async u=>{x(!0);try{let C=await n.query(Me,{sql:f},be(e));u.cancelled||(d(C),i(void 0))}catch(C){let k=C;u.cancelled||(d(void 0),i(fe(k)))}u.cancelled||x(!1)},"h"),t[0]=n,t[1]=e,t[2]=f,t[3]=m):m=t[3];let r=m,o,v;t[4]!==r?(o=g(()=>{let u={cancelled:!1};return ne(r(u)),()=>{u.cancelled=!0}},"l"),v=[r],t[4]=r,t[5]=o,t[6]=v):(o=t[5],v=t[6]),(0,G.useEffect)(o,v);let S;return t[7]!==s||t[8]!==h||t[9]!==l?(S={error:s,loading:h,result:l},t[7]=s,t[8]=h,t[9]=l,t[10]=S):S=t[10],S},"Le"),Ee=g(f=>{f.preventDefault()},"Me"),ce=g(f=>f.kind??"chart","le"),Re=g(f=>{let e=(0,Y.c)(80),{actions:t,children:n,draggedRef:l,first:d,last:s,onEdit:i,onMove:h,onRemove:x,onReorder:m,widget:r}=f,o=te(),v;e[0]!==h||e[1]!==r.id?(v=g(()=>{h(r.id,-1)},"g"),e[0]=h,e[1]=r.id,e[2]=v):v=e[2];let S=v,u;e[3]!==h||e[4]!==r.id?(u=g(()=>{h(r.id,1)},"f"),e[3]=h,e[4]=r.id,e[5]=u):u=e[5];let C=u,k;e[6]!==i||e[7]!==r.id?(k=g(()=>{i(r.id)},"x"),e[6]=i,e[7]=r.id,e[8]=k):k=e[8];let E=k,O;e[9]!==x||e[10]!==r.id?(O=g(()=>{x(r.id)},"O"),e[9]=x,e[10]=r.id,e[11]=O):O=e[11];let j=O,T;e[12]!==l||e[13]!==r.id?(T=g(()=>{l.current=r.id},"z"),e[12]=l,e[13]=r.id,e[14]=T):T=e[14];let w=T,K;e[15]!==l||e[16]!==m||e[17]!==r.id?(K=g(()=>{let de=l.current;l.current=null,de!==null&&de!==r.id&&m(de,r.id)},"K"),e[15]=l,e[16]=m,e[17]=r.id,e[18]=K):K=e[18];let _=K,R=`dashboards-widget-${r.id}`,y;e[19]!==r.title?(y=(0,a.jsx)(ge,{className:"min-w-0 cursor-grab truncate",title:r.title,children:r.title}),e[19]=r.title,e[20]=y):y=e[20];let N;e[21]!==o?(N=o("Move widget up"),e[21]=o,e[22]=N):N=e[22];let F=`dashboards-move-up-${r.id}`,H;e[23]!==o?(H=o("Move widget up"),e[23]=o,e[24]=H):H=e[24];let D;e[25]===Symbol.for("react.memo_cache_sentinel")?(D=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 15 6-6 6 6"})}),e[25]=D):D=e[25];let W;e[26]!==d||e[27]!==S||e[28]!==F||e[29]!==H||e[30]!==N?(W=(0,a.jsx)(X,{"aria-label":N,"data-testid":F,disabled:d,onClick:S,size:"icon-xs",title:H,type:"button",variant:"ghost",children:D}),e[26]=d,e[27]=S,e[28]=F,e[29]=H,e[30]=N,e[31]=W):W=e[31];let L;e[32]!==o?(L=o("Move widget down"),e[32]=o,e[33]=L):L=e[33];let $=`dashboards-move-down-${r.id}`,M;e[34]!==o?(M=o("Move widget down"),e[34]=o,e[35]=M):M=e[35];let z;e[36]===Symbol.for("react.memo_cache_sentinel")?(z=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m6 9 6 6 6-6"})}),e[36]=z):z=e[36];let q;e[37]!==s||e[38]!==C||e[39]!==L||e[40]!==$||e[41]!==M?(q=(0,a.jsx)(X,{"aria-label":L,"data-testid":$,disabled:s,onClick:C,size:"icon-xs",title:M,type:"button",variant:"ghost",children:z}),e[37]=s,e[38]=C,e[39]=L,e[40]=$,e[41]=M,e[42]=q):q=e[42];let B;e[43]!==o?(B=o("Edit widget"),e[43]=o,e[44]=B):B=e[44];let I=`dashboards-widget-edit-${r.id}`,A;e[45]!==o?(A=o("Edit widget"),e[45]=o,e[46]=A):A=e[46];let p;e[47]===Symbol.for("react.memo_cache_sentinel")?(p=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M4 20h4L18 10l-4-4L4 16v4ZM14 6l4 4"})}),e[47]=p):p=e[47];let b;e[48]!==E||e[49]!==B||e[50]!==I||e[51]!==A?(b=(0,a.jsx)(X,{"aria-label":B,"data-testid":I,onClick:E,size:"icon-xs",title:A,type:"button",variant:"ghost",children:p}),e[48]=E,e[49]=B,e[50]=I,e[51]=A,e[52]=b):b=e[52];let c;e[53]!==o?(c=o("Remove widget"),e[53]=o,e[54]=c):c=e[54];let J=`dashboards-widget-remove-${r.id}`,V;e[55]!==o?(V=o("Remove widget"),e[55]=o,e[56]=V):V=e[56];let U;e[57]===Symbol.for("react.memo_cache_sentinel")?(U=(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[57]=U):U=e[57];let Q;e[58]!==j||e[59]!==c||e[60]!==J||e[61]!==V?(Q=(0,a.jsx)(X,{"aria-label":c,"data-testid":J,onClick:j,size:"icon-xs",title:V,type:"button",variant:"ghost",children:U}),e[58]=j,e[59]=c,e[60]=J,e[61]=V,e[62]=Q):Q=e[62];let Z;e[63]!==t||e[64]!==W||e[65]!==q||e[66]!==b||e[67]!==Q?(Z=(0,a.jsxs)("div",{className:"flex shrink-0 items-center gap-1",children:[t,W,q,b,Q]}),e[63]=t,e[64]=W,e[65]=q,e[66]=b,e[67]=Q,e[68]=Z):Z=e[68];let P;e[69]!==Z||e[70]!==y?(P=(0,a.jsxs)(ue,{className:"flex flex-row items-start justify-between gap-2 border-b pb-3",children:[y,Z]}),e[69]=Z,e[70]=y,e[71]=P):P=e[71];let ee;e[72]!==n?(ee=(0,a.jsx)(ae,{className:"min-h-32 py-2",children:n}),e[72]=n,e[73]=ee):ee=e[73];let re;return e[74]!==w||e[75]!==_||e[76]!==P||e[77]!==ee||e[78]!==R?(re=(0,a.jsxs)(oe,{"data-testid":R,draggable:!0,onDragOver:Ee,onDragStart:w,onDrop:_,children:[P,ee]}),e[74]=w,e[75]=_,e[76]=P,e[77]=ee,e[78]=R,e[79]=re):re=e[79],re},"ce"),je=g(f=>{let e=(0,Y.c)(10),{result:t}=f,n=te(),l=t.columns[0],d=l===void 0?void 0:t.rows[0]?.[l],s;e[0]!==d||e[1]!==n?(s=d===void 0?n("\u2014"):xe(d),e[0]=d,e[1]=n,e[2]=s):s=e[2];let i;e[3]!==s?(i=(0,a.jsx)("p",{className:"truncate font-mono text-3xl font-semibold text-foreground",children:s}),e[3]=s,e[4]=i):i=e[4];let h;e[5]!==l?(h=l!==void 0&&(0,a.jsx)("p",{className:"truncate text-xs text-muted-foreground",children:l}),e[5]=l,e[6]=h):h=e[6];let x;return e[7]!==i||e[8]!==h?(x=(0,a.jsxs)("div",{className:"flex h-full flex-col justify-center gap-1 p-4","data-testid":"dashboards-kpi",children:[i,h]}),e[7]=i,e[8]=h,e[9]=x):x=e[9],x},"qe"),ze=g(f=>{let e=(0,Y.c)(12),{draggedRef:t,first:n,last:l,onEdit:d,onMove:s,onRemove:i,onReorder:h,widget:x}=f,m=x.text??"",r;e[0]!==m?(r=(0,a.jsx)("p",{className:"p-2 text-sm whitespace-pre-wrap text-muted-foreground","data-testid":"dashboards-text",children:m}),e[0]=m,e[1]=r):r=e[1];let o;return e[2]!==t||e[3]!==n||e[4]!==l||e[5]!==d||e[6]!==s||e[7]!==i||e[8]!==h||e[9]!==r||e[10]!==x?(o=(0,a.jsx)(Re,{draggedRef:t,first:n,last:l,onEdit:d,onMove:s,onRemove:i,onReorder:h,widget:x,children:r}),e[2]=t,e[3]=n,e[4]=l,e[5]=d,e[6]=s,e[7]=i,e[8]=h,e[9]=r,e[10]=x,e[11]=o):o=e[11],o},"Ee"),Ae=g(f=>{let e=(0,Y.c)(52),{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}=f,o=te(),{error:v,loading:S,result:u}=qe(r.sql,r.shardKey??""),C;e[0]!==r?(C=ce(r),e[0]=r,e[1]=C):C=e[1];let k=C,E;e[2]!==m||e[3]!==u||e[4]!==r.id?(E=g(()=>{u!==void 0&&m?.(r.id,u)},"q"),e[2]=m,e[3]=u,e[4]=r.id,e[5]=E):E=e[5];let O=E,j;e[6]!==l||e[7]!==k||e[8]!==m||e[9]!==O||e[10]!==u||e[11]!==o||e[12]!==r.id?(j=k==="chart"&&m!==void 0&&u!==void 0?(0,a.jsx)(X,{"aria-label":o("Suggest chart"),"data-testid":`dashboards-widget-suggest-${r.id}`,disabled:l,onClick:O,size:"icon-xs",title:o(l?"Suggesting\u2026":"Suggest chart"),type:"button",variant:"ghost",children:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"m12 3 1.9 4.6L18.5 9.5 13.9 11.4 12 16l-1.9-4.6L5.5 9.5l4.6-1.9L12 3ZM18 15l.9 2.1 2.1.9-2.1.9L18 21l-.9-2.1-2.1-.9 2.1-.9L18 15Z"})})}):void 0,e[6]=l,e[7]=k,e[8]=m,e[9]=O,e[10]=u,e[11]=o,e[12]=r.id,e[13]=j):j=e[13];let T=j,w;e[14]!==v||e[15]!==r.id?(w=v!==void 0&&(0,a.jsx)(le,{className:"font-mono text-xs",testId:`dashboards-widget-error-${r.id}`,variant:"destructive",children:v}),e[14]=v,e[15]=r.id,e[16]=w):w=e[16];let K;e[17]!==v||e[18]!==S||e[19]!==u||e[20]!==o||e[21]!==r.id?(K=v===void 0&&S&&u===void 0&&(0,a.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":`dashboards-widget-loading-${r.id}`,children:o("Running\u2026")}),e[17]=v,e[18]=S,e[19]=u,e[20]=o,e[21]=r.id,e[22]=K):K=e[22];let _;e[23]!==v||e[24]!==k||e[25]!==u||e[26]!==r.chartAxes||e[27]!==r.chartKind?(_=v===void 0&&u!==void 0&&k==="chart"&&(0,a.jsx)(Ce,{axes:r.chartAxes,kind:r.chartKind,result:u}),e[23]=v,e[24]=k,e[25]=u,e[26]=r.chartAxes,e[27]=r.chartKind,e[28]=_):_=e[28];let R;e[29]!==v||e[30]!==k||e[31]!==u?(R=v===void 0&&u!==void 0&&k==="kpi"&&(0,a.jsx)(je,{result:u}),e[29]=v,e[30]=k,e[31]=u,e[32]=R):R=e[32];let y;e[33]!==v||e[34]!==k||e[35]!==u?(y=v===void 0&&u!==void 0&&k==="table"&&(0,a.jsx)("div",{className:"max-h-72 overflow-auto",children:(0,a.jsx)(Ne,{result:u})}),e[33]=v,e[34]=k,e[35]=u,e[36]=y):y=e[36];let N;return e[37]!==t||e[38]!==n||e[39]!==d||e[40]!==s||e[41]!==i||e[42]!==h||e[43]!==x||e[44]!==T||e[45]!==w||e[46]!==K||e[47]!==_||e[48]!==R||e[49]!==y||e[50]!==r?(N=(0,a.jsxs)(Re,{actions:T,draggedRef:t,first:n,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,widget:r,children:[w,K,_,R,y]}),e[37]=t,e[38]=n,e[39]=d,e[40]=s,e[41]=i,e[42]=h,e[43]=x,e[44]=T,e[45]=w,e[46]=K,e[47]=_,e[48]=R,e[49]=y,e[50]=r,e[51]=N):N=e[51],N},"Ae"),_e=g(f=>{let e=(0,Y.c)(11),{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}=f,o;return e[0]!==t||e[1]!==n||e[2]!==l||e[3]!==d||e[4]!==s||e[5]!==i||e[6]!==h||e[7]!==x||e[8]!==m||e[9]!==r?(o=ce(r)==="text"?(0,a.jsx)(ze,{draggedRef:t,first:n,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,widget:r}):(0,a.jsx)(Ae,{draggedRef:t,first:n,inferring:l,last:d,onEdit:s,onMove:i,onRemove:h,onReorder:x,onSuggest:m,widget:r}),e[0]=t,e[1]=n,e[2]=l,e[3]=d,e[4]=s,e[5]=i,e[6]=h,e[7]=x,e[8]=m,e[9]=r,e[10]=o):o=e[10],o},"Te"),We=["bar","line","area"],$e=["chart","kpi","table","text"],Be="lunora-studio-dashboards",se={chartKind:"bar",kind:"chart",shardKey:"",sql:"",text:"",title:""},Ie=g((f,e)=>t=>t.map(n=>n.id===f?{...n,chartAxes:e,chartKind:e.kind}:n),"De"),Te=g((f,e)=>t=>{let n=t.find(s=>s.id===f),l=t.filter(s=>s.id!==f),d=l.findIndex(s=>s.id===e);return n===void 0||d===-1?t:[...l.slice(0,d),n,...l.slice(d)]},"je"),De=g((f,e)=>e(f==="line"?"Line":f==="area"?"Area":"Bar"),"ze"),Oe=g((f,e)=>e(f==="kpi"?"Single value":f==="table"?"Table":f==="text"?"Text":"Chart"),"Be"),Fe=g(f=>{let e=(0,Y.c)(82),{draft:t,editing:n,onCancel:l,onChange:d,onSubmit:s}=f,i=te(),h;e[0]!==t||e[1]!==d?(h=g(c=>{d({...t,title:c.target.value})},"c"),e[0]=t,e[1]=d,e[2]=h):h=e[2];let x=h,m;e[3]!==t||e[4]!==d?(m=g(c=>{d({...t,sql:c.target.value})},"h"),e[3]=t,e[4]=d,e[5]=m):m=e[5];let r=m,o;e[6]!==t||e[7]!==d?(o=g(c=>{d({...t,text:c.target.value})},"l"),e[6]=t,e[7]=d,e[8]=o):o=e[8];let v=o,S;e[9]!==t||e[10]!==d?(S=g(c=>{d({...t,shardKey:c.target.value})},"N"),e[9]=t,e[10]=d,e[11]=S):S=e[11];let u=S,C;e[12]!==t||e[13]!==d?(C=g(c=>{d({...t,chartKind:c.target.value})},"y"),e[12]=t,e[13]=d,e[14]=C):C=e[14];let k=C,E;e[15]!==t||e[16]!==d?(E=g(c=>{d({...t,kind:c.target.value})},"q"),e[15]=t,e[16]=d,e[17]=E):E=e[17];let O=E,j;e[18]!==s?(j=g(()=>{s()},"E"),e[18]=s,e[19]=j):j=e[19];let T=j,w=t.kind==="text",K;e[20]!==t.sql||e[21]!==t.text||e[22]!==t.title||e[23]!==w?(K=t.title.trim()!==""&&(w?t.text.trim()!=="":t.sql.trim()!==""),e[20]=t.sql,e[21]=t.text,e[22]=t.title,e[23]=w,e[24]=K):K=e[24];let _=K,R;e[25]!==i?(R=i("Widget title"),e[25]=i,e[26]=R):R=e[26];let y;e[27]!==i?(y=i("Widget title"),e[27]=i,e[28]=y):y=e[28];let N;e[29]!==t.title||e[30]!==x||e[31]!==y||e[32]!==R?(N=(0,a.jsx)("input",{"aria-label":R,className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-title",onChange:x,placeholder:y,type:"text",value:t.title}),e[29]=t.title,e[30]=x,e[31]=y,e[32]=R,e[33]=N):N=e[33];let F;e[34]!==i?(F=i("Widget type"),e[34]=i,e[35]=F):F=e[35];let H=t.kind,D;e[36]!==i?(D=$e.map(c=>(0,a.jsx)("option",{value:c,children:Oe(c,i)},c)),e[36]=i,e[37]=D):D=e[37];let W;e[38]!==t.kind||e[39]!==O||e[40]!==F||e[41]!==D?(W=(0,a.jsx)("select",{"aria-label":F,className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-widget-kind",onChange:O,value:H,children:D}),e[38]=t.kind,e[39]=O,e[40]=F,e[41]=D,e[42]=W):W=e[42];let L;e[43]!==t.sql||e[44]!==t.text||e[45]!==w||e[46]!==r||e[47]!==v||e[48]!==i?(L=w?(0,a.jsx)("textarea",{"aria-label":i("Text"),className:"min-h-24 resize-y rounded-md border border-border bg-background p-2 text-xs leading-5 outline-none focus-visible:border-ring","data-testid":"dashboards-form-text",onChange:v,placeholder:i("Notes for whoever reads this dashboard."),value:t.text}):(0,a.jsx)("textarea",{"aria-label":i("SQL query"),className:"min-h-24 resize-y rounded-md border border-border bg-background p-2 font-mono text-xs leading-5 outline-none focus-visible:border-ring","data-testid":"dashboards-form-sql",onChange:r,placeholder:"SELECT author, COUNT(*) AS messages FROM \u2026",spellCheck:!1,value:t.sql}),e[43]=t.sql,e[44]=t.text,e[45]=w,e[46]=r,e[47]=v,e[48]=i,e[49]=L):L=e[49];let $;e[50]!==t.chartKind||e[51]!==t.kind||e[52]!==k||e[53]!==i?($=t.kind==="chart"&&(0,a.jsx)("select",{"aria-label":i("Chart type"),className:"h-8 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-kind",onChange:k,value:t.chartKind,children:We.map(c=>(0,a.jsx)("option",{value:c,children:De(c,i)},c))}),e[50]=t.chartKind,e[51]=t.kind,e[52]=k,e[53]=i,e[54]=$):$=e[54];let M;e[55]!==t.shardKey||e[56]!==w||e[57]!==u||e[58]!==i?(M=!w&&(0,a.jsx)("input",{"aria-label":i("Shard key (optional)"),className:"h-8 rounded-md border border-border bg-background px-2 font-mono text-xs outline-none focus-visible:border-ring","data-testid":"dashboards-form-shard",onChange:u,placeholder:i("Shard key (optional)"),type:"text",value:t.shardKey}),e[55]=t.shardKey,e[56]=w,e[57]=u,e[58]=i,e[59]=M):M=e[59];let z;e[60]!==i?(z=i("Cancel"),e[60]=i,e[61]=z):z=e[61];let q;e[62]!==l||e[63]!==z?(q=(0,a.jsx)(X,{"data-testid":"dashboards-form-cancel",onClick:l,size:"sm",type:"button",variant:"outline",children:z}),e[62]=l,e[63]=z,e[64]=q):q=e[64];let B=!_,I;e[65]!==n||e[66]!==i?(I=i(n?"Save widget":"Add widget"),e[65]=n,e[66]=i,e[67]=I):I=e[67];let A;e[68]!==T||e[69]!==B||e[70]!==I?(A=(0,a.jsx)(X,{"data-testid":"dashboards-form-save",disabled:B,onClick:T,size:"sm",type:"button",children:I}),e[68]=T,e[69]=B,e[70]=I,e[71]=A):A=e[71];let p;e[72]!==q||e[73]!==A?(p=(0,a.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[q,A]}),e[72]=q,e[73]=A,e[74]=p):p=e[74];let b;return e[75]!==N||e[76]!==W||e[77]!==L||e[78]!==$||e[79]!==M||e[80]!==p?(b=(0,a.jsx)(oe,{"data-testid":"dashboards-form",children:(0,a.jsxs)(ae,{className:"flex flex-col gap-3 py-4",children:[N,W,L,$,M,p]})}),e[75]=N,e[76]=W,e[77]=L,e[78]=$,e[79]=M,e[80]=p,e[81]=b):b=e[81],b},"Fe"),tt=g(f=>{let e=(0,Y.c)(53),{initialShardKey:t}=f,n=te(),[l,d]=ke(Be),[s,i]=(0,G.useState)(se),[h,x]=(0,G.useState)(null),[m,r]=(0,G.useState)(!1),o=ye(t??""),[v,S]=(0,G.useState)(null),u=(0,G.useRef)(null),C;e[0]!==t?(C=g(()=>{x(null),i({...se,shardKey:t??""}),r(!0)},"y"),e[0]=t,e[1]=C):C=e[1];let k=C,E;e[2]===Symbol.for("react.memo_cache_sentinel")?(E=g(()=>{r(!1),x(null),i(se)},"q"),e[2]=E):E=e[2];let O=E,j;e[3]!==l?(j=g(p=>{let b=l.find(c=>c.id===p);b!==void 0&&(x(p),i({chartKind:b.chartKind??"bar",kind:ce(b),shardKey:b.shardKey??"",sql:b.sql,text:b.text??"",title:b.title}),r(!0))},"E"),e[3]=l,e[4]=j):j=e[4];let T=j,w;e[5]!==o||e[6]!==d?(w=g((p,b)=>{S(p),ne((async()=>{let c=await o.inferChart({columns:b.columns,rowCount:b.rowCount});c!==void 0&&d(Ie(p,c))})().finally(()=>{S(c=>c===p?null:c)}))},"C"),e[5]=o,e[6]=d,e[7]=w):w=e[7];let K=w,_;e[8]!==d?(_=g(p=>{d(b=>b.filter(c=>c.id!==p))},"W"),e[8]=d,e[9]=_):_=e[9];let R=_,y;e[10]!==d?(y=g((p,b)=>{d(Te(p,b))},"k"),e[10]=d,e[11]=y):y=e[11];let N=y,F;e[12]!==d?(F=g((p,b)=>{d(c=>{let J=c.findIndex(P=>P.id===p),V=J+b;if(J===-1||V<0||V>=c.length)return c;let U=[...c],Q=U[J],Z=U[V];return Q===void 0||Z===void 0?c:(U[J]=Z,U[V]=Q,U)})},"_"),e[12]=d,e[13]=F):F=e[13];let H=F,D;e[14]!==s||e[15]!==h||e[16]!==d?(D=g(()=>{let p=s.title.trim(),b=s.sql.trim(),c=s.text.trim(),{chartKind:J,kind:V}=s;if(p===""||(V==="text"?c==="":b===""))return;let U={chartKind:J,kind:V,shardKey:s.shardKey.trim(),sql:b,text:c,title:p};d(h===null?Q=>[...Q,{...U,id:we("w")}]:Q=>Q.map(Z=>Z.id===h?{...Z,...U}:Z)),O()},"B"),e[14]=s,e[15]=h,e[16]=d,e[17]=D):D=e[17];let W=D,L;e[18]!==n?(L=n("Charts, values, tables, and notes. Drag a tile to reorder."),e[18]=n,e[19]=L):L=e[19];let $;e[20]!==L?($=(0,a.jsx)("p",{className:"text-sm text-muted-foreground",children:L}),e[20]=L,e[21]=$):$=e[21];let M;e[22]!==m||e[23]!==k||e[24]!==n?(M=!m&&(0,a.jsx)(X,{"data-testid":"dashboards-add",onClick:k,size:"sm",type:"button",children:n("Add widget")}),e[22]=m,e[23]=k,e[24]=n,e[25]=M):M=e[25];let z;e[26]!==$||e[27]!==M?(z=(0,a.jsxs)("div",{className:"flex items-center justify-between",children:[$,M]}),e[26]=$,e[27]=M,e[28]=z):z=e[28];let q;e[29]!==o||e[30]!==n?(q=o.reason("chart")!==void 0&&(0,a.jsx)(le,{className:"text-xs",testId:"dashboards-suggest-error",variant:"destructive",children:n("Could not suggest a chart for that result.")}),e[29]=o,e[30]=n,e[31]=q):q=e[31];let B;e[32]!==s||e[33]!==h||e[34]!==m||e[35]!==W?(B=m&&(0,a.jsx)(Fe,{draft:s,editing:h!==null,onCancel:O,onChange:i,onSubmit:W}),e[32]=s,e[33]=h,e[34]=m,e[35]=W,e[36]=B):B=e[36];let I;e[37]!==o.unavailable||e[38]!==m||e[39]!==v||e[40]!==T||e[41]!==H||e[42]!==R||e[43]!==N||e[44]!==K||e[45]!==n||e[46]!==l?(I=l.length===0&&!m?(0,a.jsx)(me,{description:n("Add a chart, a single value, a table, or a note. Everything is saved on this browser."),testId:"dashboards-empty",title:n("No widgets yet")}):(0,a.jsx)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3","data-testid":"dashboards-grid",children:l.map((p,b)=>(0,a.jsx)(_e,{draggedRef:u,first:b===0,inferring:v===p.id,last:b===l.length-1,onEdit:T,onMove:H,onRemove:R,onReorder:N,onSuggest:o.unavailable?void 0:K,widget:p},p.id))}),e[37]=o.unavailable,e[38]=m,e[39]=v,e[40]=T,e[41]=H,e[42]=R,e[43]=N,e[44]=K,e[45]=n,e[46]=l,e[47]=I):I=e[47];let A;return e[48]!==z||e[49]!==q||e[50]!==B||e[51]!==I?(A=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-dashboards",children:[z,q,B,I]}),e[48]=z,e[49]=q,e[50]=B,e[51]=I,e[52]=A):A=e[52],A},"it");export{tt as default};
@@ -1 +1 @@
1
- import{a as Z}from"./chunk-R6U22RSY.js";import{a as te}from"./chunk-XHRKNCCI.js";import{a as Y}from"./chunk-YVR4SEPU.js";import{b as X}from"./chunk-ZKJS6EBE.js";import{a as W}from"./chunk-FUYEZFBP.js";import"./chunk-RGMVGZV4.js";import{i as G}from"./chunk-OQ6I6OXT.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import{b as ae,c as ne}from"./chunk-G74GIEU4.js";import{a as q,b as ee}from"./chunk-VCKHPKHV.js";import{a as Q}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import"./chunk-BOMPSVRC.js";import"./chunk-5WIQ3UUE.js";import"./chunk-NCPW7WHO.js";import"./chunk-NBGTSTH7.js";import"./chunk-55UGUCQ6.js";import{a as I}from"./chunk-4ZEL6BYL.js";import{c as _}from"./chunk-F5RVY2SF.js";import{l as D}from"./chunk-PRLC53C5.js";import"./chunk-QAQDMS6R.js";import"./chunk-WPS47HUS.js";import"./chunk-HCTJKP5J.js";import"./chunk-2IKDEUCX.js";import{d as M,f as C,g as A,l as V,p as N}from"./chunk-HJHSQPHW.js";import{a as l,d as j,e as he,f as me,g as pe}from"./chunk-I26MS5PJ.js";var E=j(me(),1);var c=j(he(),1);var S=j(pe(),1);var ge=l(t=>{let{suggestedIndex:e,table:i}=t;if(typeof i!="string"||i.length===0||typeof e!="object"||e===null)return!1;let{fields:a,name:n}=e;return!Array.isArray(a)||a.length===0||a.some(s=>typeof s!="string"||s.length===0)?!1:typeof n=="string"&&n.length>0},"ye"),be=l((t,e)=>`.index(${JSON.stringify(t)}, [${e.map(i=>JSON.stringify(i)).join(", ")}])`,"ge"),ye=l(t=>{let e=(0,E.c)(19),{fields:i,indexName:a,table:n,testId:s}=t,u=M(),[h,f]=(0,c.useState)(null),m;e[0]!==i||e[1]!==a?(m=l(()=>{let b=be(a,i),$="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if($===void 0){f({copied:!1,declaration:b});return}N($.writeText(b).then(()=>(f({copied:!0,declaration:b}),!0)),()=>{f({copied:!1,declaration:b})})},"m"),e[0]=i,e[1]=a,e[2]=m):m=e[2];let x=m;if(h!==null){let b;return e[3]!==h.copied||e[4]!==h.declaration||e[5]!==u||e[6]!==n||e[7]!==s?(b=h.copied?(0,S.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`${s}-applied`,children:u("Index declaration copied \u2014 add it to {table} in lunora/schema.ts.",{table:n})}):(0,S.jsxs)("span",{className:"flex flex-col gap-1 text-xs text-muted-foreground","data-testid":`${s}-manual`,children:[u("Could not reach the clipboard \u2014 add this to {table} in lunora/schema.ts:",{table:n}),(0,S.jsx)("code",{className:"font-mono break-all select-all",children:h.declaration})]}),e[3]=h.copied,e[4]=h.declaration,e[5]=u,e[6]=n,e[7]=s,e[8]=b):b=e[8],b}let T;e[9]!==u?(T=u("Copy?"),e[9]=u,e[10]=T):T=e[10];let p;e[11]!==u||e[12]!==n?(p=u("Copy index declaration for {table}",{table:n}),e[11]=u,e[12]=n,e[13]=p):p=e[13];let w;return e[14]!==x||e[15]!==T||e[16]!==p||e[17]!==s?(w=(0,S.jsx)(te,{confirmLabel:T,onConfirm:x,testId:s,children:p}),e[14]=x,e[15]=T,e[16]=p,e[17]=s,e[18]=w):w=e[18],w},"ve"),xe=l((t,e)=>{let i=new Map;for(let a of e){let n=`${a.table} ${a.index}`;i.set(n,(i.get(n)??0)+a.reads)}return t.map(a=>({index:a.index,reads:i.get(`${a.table} ${a.index}`)??0,table:a.table}))},"Se"),ve=l(t=>{let e=new Map;for(let i of t)for(let a of i.scannedTables??[])e.set(a.table,(e.get(a.table)??0)+a.scans);return[...e].map(([i,a])=>({scans:a,table:i}))},"Te"),ie=l((t,e)=>e.map(i=>({index:i.name,table:t})),"P"),we=l(t=>{let e=xe(t.declaredIndexes??[],t.indexHits??[]),i=ve(t.functions??[]),a=t.shardTraffic??[],n=t.analyticsMetrics,s=n&&n.indexHits.length>0?n.indexHits:e,u=n&&n.tableScans.length>0?n.tableScans:i,h=n&&n.shardTraffic.length>0?n.shardTraffic:a,f=ne({indexHits:s,schema:{tables:[]},shardTraffic:h,tableScans:u},{lints:ae,source:"runtime"}),m=t.suppressHotScanTables;return(m===void 0?f:f.filter(x=>!(x.metadata.kind==="hot_scan"&&typeof x.metadata.table=="string"&&m.has(x.metadata.table)))).map(x=>q(x))},"we"),Se=C(I.listTables),Te=C(I.listTableIndexes),Ie=C(I.listTablesIndexes),B=l(t=>`${(t*100).toFixed(1)}%`,"L"),re=l(t=>`${(t/1e3).toFixed(2)}s`,"V"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Ne"),ke=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function"),"storage-headroom":t("Storage headroom")})[e.kind],"ke"),se=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:B(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:B(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:B(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:re(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:re(e.value)}),"storage-headroom":t("{size} of the 10 GiB per-shard ceiling \u2014 plan a .shardBy() migration while it still has runway.",{size:V(e.value)})})[e.kind],"U"),Ne=l(t=>{let e=(0,E.c)(10),{onJump:i,table:a}=t,n=M(),s;e[0]!==i||e[1]!==a?(s=l(()=>{i(a)},"i"),e[0]=i,e[1]=a,e[2]=s):s=e[2];let u=s,h=`in-add-index-${a}`,f;e[3]!==n||e[4]!==a?(f=n("Add index on {table}",{table:a}),e[3]=n,e[4]=a,e[5]=f):f=e[5];let m;return e[6]!==u||e[7]!==h||e[8]!==f?(m=(0,S.jsx)(Q,{"data-testid":h,onClick:u,size:"sm",type:"button",variant:"outline",children:f}),e[6]=u,e[7]=h,e[8]=f,e[9]=m):m=e[9],m},"Be"),ze=l(({initialShardKey:t,loadShardTraffic:e})=>{let i=D(),a=G(),n=M(),{queryShardKey:s,setShardKey:u,shardKey:h}=Z(t),[f,m]=(0,c.useState)(null),[x,T]=(0,c.useState)(null),p=(0,c.useRef)(""),w=_(I.getMetrics,{},{live:!0,shardKey:s}),b=_(I.getFunctionStats,{},{live:!0,shardKey:s}),$=_(I.getAdvisories,{},{live:!0,shardKey:s}),L=w.data??null,H=b.data?.functions??null,F=$.data?.advisories??null,J=w.data?.indexHits??null,O=w.error!==null&&b.error!==null?w.error:null,oe=e??(r=>i.shardTraffic(r)),le=l(async(r,y)=>{let o=r[0];if(o===void 0||o===""){p.current===y&&T(null);return}try{let g=await oe(o);if(p.current!==y)return;let d=new Map;for(let v of g.shards)d.has(v.shardKey)||d.set(v.shardKey,{requests:v.requests,shardKey:v.shardKey});T([...d.values()])}catch{p.current===y&&T(null)}},"Y"),de=l(async(r,y)=>{let o=await Promise.allSettled(r.map(async d=>[d,await i.query(Te,{table:d},A(y))])),g=[];for(let d of o)if(d.status==="fulfilled"){let[v,k]=d.value;g.push(...ie(v,k.indexes))}return g},"Z"),z=(0,c.useEffectEvent)(async r=>{p.current=r;let y=[];try{let o=await i.query(Se,{},A(r));if(p.current!==r)return;X(r),y=o.map(d=>d.name);let g=[];if(y.length>0)try{let d=await i.query(Ie,{tables:y},A(r));if(p.current!==r)return;for(let[v,k]of Object.entries(d.indexesByTable))g.push(...ie(v,k))}catch{if(g=await de(y,r),p.current!==r)return}m(g)}catch{p.current===r&&m(null)}await le(y,r)});(0,c.useEffect)(()=>{N(z(s))},[s]);let ce=(0,c.useEffectEvent)(()=>{w.refetch(),b.refetch(),$.refetch(),N(z(s))});(0,c.useEffect)(()=>{let r=l(()=>{document.visibilityState==="visible"&&ce()},"r");return document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}},[]);let U=(0,c.useCallback)(r=>{N(a({search:{table:r},to:"/schema"}))},[a]),K=(0,c.useMemo)(()=>W(L,H),[H,L]),P=(0,c.useMemo)(()=>new Set(K.filter(r=>r.kind==="missing-index").flatMap(r=>r.tables??[])),[K]),R=(0,c.useMemo)(()=>we({declaredIndexes:f??[],functions:H,indexHits:J,shardTraffic:x,suppressHotScanTables:P}),[f,H,J,P,x]),ue=(0,c.useMemo)(()=>{let r=K.map(o=>{let g=o.kind==="missing-index"?o.tables??[]:[];return{action:g.length>0?g.map(d=>(0,S.jsx)(Ne,{onJump:U,table:d},d)):void 0,description:o.message===void 0?se(n,o):`${se(n,o)} \u2014 ${o.message}`,entity:o.fn,issueType:ke(n,o),key:`${o.kind}:${o.fn??""}`,level:o.severity}}),y=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(F??[]).map(o=>{let g=q(o);if(y.has(o.name)&&ge(o.metadata)){let{table:d,suggestedIndex:v}=o.metadata,k=`in-apply-index-${d}-${v.name}`;return{...g,action:(0,S.jsx)(ye,{fields:v.fields,indexName:v.name,table:d,testId:k})}}return g}),...R,...r]},[F,K,U,R,n]),fe=(0,S.jsx)(Y,{onChange:u,testId:"in-shard-input",value:h});return(0,S.jsx)(ee,{error:O,errorSource:O===null?void 0:w.errorSource,rows:ue,testId:"lunora-insights",toolbar:fe})},"Ue");export{ze as InsightsPanel};
1
+ import{a as Z}from"./chunk-R6U22RSY.js";import{a as te}from"./chunk-XHRKNCCI.js";import{a as Y}from"./chunk-YVR4SEPU.js";import{b as X}from"./chunk-ZKJS6EBE.js";import{a as W}from"./chunk-FUYEZFBP.js";import"./chunk-RGMVGZV4.js";import{i as G}from"./chunk-OQ6I6OXT.js";import"./chunk-E4PXACVL.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import{b as ae,c as ne}from"./chunk-G74GIEU4.js";import{a as q,b as ee}from"./chunk-H7LEZZZH.js";import{a as Q}from"./chunk-7G4Z6Q7X.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import"./chunk-BOMPSVRC.js";import"./chunk-BPUNMQ2T.js";import"./chunk-NCPW7WHO.js";import"./chunk-P2VPJVKF.js";import"./chunk-55UGUCQ6.js";import{a as I}from"./chunk-4ZEL6BYL.js";import{c as _}from"./chunk-K6QQHYTC.js";import{l as D}from"./chunk-VXDEEOLM.js";import"./chunk-QAQDMS6R.js";import"./chunk-6PTQTEWR.js";import"./chunk-HCTJKP5J.js";import"./chunk-2IKDEUCX.js";import{d as M,f as C,g as A,l as V,p as N}from"./chunk-HJHSQPHW.js";import{a as l,d as j,e as he,f as me,g as pe}from"./chunk-I26MS5PJ.js";var E=j(me(),1);var c=j(he(),1);var S=j(pe(),1);var ge=l(t=>{let{suggestedIndex:e,table:i}=t;if(typeof i!="string"||i.length===0||typeof e!="object"||e===null)return!1;let{fields:a,name:n}=e;return!Array.isArray(a)||a.length===0||a.some(s=>typeof s!="string"||s.length===0)?!1:typeof n=="string"&&n.length>0},"ye"),be=l((t,e)=>`.index(${JSON.stringify(t)}, [${e.map(i=>JSON.stringify(i)).join(", ")}])`,"ge"),ye=l(t=>{let e=(0,E.c)(19),{fields:i,indexName:a,table:n,testId:s}=t,u=M(),[h,f]=(0,c.useState)(null),m;e[0]!==i||e[1]!==a?(m=l(()=>{let b=be(a,i),$="navigator"in globalThis?globalThis.navigator.clipboard:void 0;if($===void 0){f({copied:!1,declaration:b});return}N($.writeText(b).then(()=>(f({copied:!0,declaration:b}),!0)),()=>{f({copied:!1,declaration:b})})},"m"),e[0]=i,e[1]=a,e[2]=m):m=e[2];let x=m;if(h!==null){let b;return e[3]!==h.copied||e[4]!==h.declaration||e[5]!==u||e[6]!==n||e[7]!==s?(b=h.copied?(0,S.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":`${s}-applied`,children:u("Index declaration copied \u2014 add it to {table} in lunora/schema.ts.",{table:n})}):(0,S.jsxs)("span",{className:"flex flex-col gap-1 text-xs text-muted-foreground","data-testid":`${s}-manual`,children:[u("Could not reach the clipboard \u2014 add this to {table} in lunora/schema.ts:",{table:n}),(0,S.jsx)("code",{className:"font-mono break-all select-all",children:h.declaration})]}),e[3]=h.copied,e[4]=h.declaration,e[5]=u,e[6]=n,e[7]=s,e[8]=b):b=e[8],b}let T;e[9]!==u?(T=u("Copy?"),e[9]=u,e[10]=T):T=e[10];let p;e[11]!==u||e[12]!==n?(p=u("Copy index declaration for {table}",{table:n}),e[11]=u,e[12]=n,e[13]=p):p=e[13];let w;return e[14]!==x||e[15]!==T||e[16]!==p||e[17]!==s?(w=(0,S.jsx)(te,{confirmLabel:T,onConfirm:x,testId:s,children:p}),e[14]=x,e[15]=T,e[16]=p,e[17]=s,e[18]=w):w=e[18],w},"ve"),xe=l((t,e)=>{let i=new Map;for(let a of e){let n=`${a.table} ${a.index}`;i.set(n,(i.get(n)??0)+a.reads)}return t.map(a=>({index:a.index,reads:i.get(`${a.table} ${a.index}`)??0,table:a.table}))},"Se"),ve=l(t=>{let e=new Map;for(let i of t)for(let a of i.scannedTables??[])e.set(a.table,(e.get(a.table)??0)+a.scans);return[...e].map(([i,a])=>({scans:a,table:i}))},"Te"),ie=l((t,e)=>e.map(i=>({index:i.name,table:t})),"P"),we=l(t=>{let e=xe(t.declaredIndexes??[],t.indexHits??[]),i=ve(t.functions??[]),a=t.shardTraffic??[],n=t.analyticsMetrics,s=n&&n.indexHits.length>0?n.indexHits:e,u=n&&n.tableScans.length>0?n.tableScans:i,h=n&&n.shardTraffic.length>0?n.shardTraffic:a,f=ne({indexHits:s,schema:{tables:[]},shardTraffic:h,tableScans:u},{lints:ae,source:"runtime"}),m=t.suppressHotScanTables;return(m===void 0?f:f.filter(x=>!(x.metadata.kind==="hot_scan"&&typeof x.metadata.table=="string"&&m.has(x.metadata.table)))).map(x=>q(x))},"we"),Se=C(I.listTables),Te=C(I.listTableIndexes),Ie=C(I.listTablesIndexes),B=l(t=>`${(t*100).toFixed(1)}%`,"L"),re=l(t=>`${(t/1e3).toFixed(2)}s`,"V"),$e=l(t=>{if(t.length<=1)return t[0]??"";let e=t[t.length-1]??"";return`${t.slice(0,-1).join(", ")} and ${e}`},"Ne"),ke=l((t,e)=>({"high-error-rate":t("High error rate"),"high-evictions":t("High cache eviction rate"),"high-write-contention":t("High write contention"),"low-cache-hit-rate":t("Low cache hit rate"),"missing-index":t("Missing index"),"slow-function":t("Slow function"),"storage-headroom":t("Storage headroom")})[e.kind],"ke"),se=l((t,e)=>({"high-error-rate":t("{rate} of calls failed.",{rate:B(e.value)}),"high-evictions":t("{count} entries evicted recently.",{count:e.value}),"high-write-contention":t("{rate} of calls hit a write conflict \u2014 consider sharding to cut contention.",{rate:B(e.value)}),"low-cache-hit-rate":t("{rate} hit rate over recent traffic.",{rate:B(e.value)}),"missing-index":t("Slowest call took {duration} \u2014 it full-scanned {tables} with no index.",{duration:re(e.value),tables:$e(e.tables??[])}),"slow-function":t("Slowest call took {duration}.",{duration:re(e.value)}),"storage-headroom":t("{size} of the 10 GiB per-shard ceiling \u2014 plan a .shardBy() migration while it still has runway.",{size:V(e.value)})})[e.kind],"U"),Ne=l(t=>{let e=(0,E.c)(10),{onJump:i,table:a}=t,n=M(),s;e[0]!==i||e[1]!==a?(s=l(()=>{i(a)},"i"),e[0]=i,e[1]=a,e[2]=s):s=e[2];let u=s,h=`in-add-index-${a}`,f;e[3]!==n||e[4]!==a?(f=n("Add index on {table}",{table:a}),e[3]=n,e[4]=a,e[5]=f):f=e[5];let m;return e[6]!==u||e[7]!==h||e[8]!==f?(m=(0,S.jsx)(Q,{"data-testid":h,onClick:u,size:"sm",type:"button",variant:"outline",children:f}),e[6]=u,e[7]=h,e[8]=f,e[9]=m):m=e[9],m},"Be"),ze=l(({initialShardKey:t,loadShardTraffic:e})=>{let i=D(),a=G(),n=M(),{queryShardKey:s,setShardKey:u,shardKey:h}=Z(t),[f,m]=(0,c.useState)(null),[x,T]=(0,c.useState)(null),p=(0,c.useRef)(""),w=_(I.getMetrics,{},{live:!0,shardKey:s}),b=_(I.getFunctionStats,{},{live:!0,shardKey:s}),$=_(I.getAdvisories,{},{live:!0,shardKey:s}),L=w.data??null,H=b.data?.functions??null,F=$.data?.advisories??null,J=w.data?.indexHits??null,O=w.error!==null&&b.error!==null?w.error:null,oe=e??(r=>i.shardTraffic(r)),le=l(async(r,y)=>{let o=r[0];if(o===void 0||o===""){p.current===y&&T(null);return}try{let g=await oe(o);if(p.current!==y)return;let d=new Map;for(let v of g.shards)d.has(v.shardKey)||d.set(v.shardKey,{requests:v.requests,shardKey:v.shardKey});T([...d.values()])}catch{p.current===y&&T(null)}},"Y"),de=l(async(r,y)=>{let o=await Promise.allSettled(r.map(async d=>[d,await i.query(Te,{table:d},A(y))])),g=[];for(let d of o)if(d.status==="fulfilled"){let[v,k]=d.value;g.push(...ie(v,k.indexes))}return g},"Z"),z=(0,c.useEffectEvent)(async r=>{p.current=r;let y=[];try{let o=await i.query(Se,{},A(r));if(p.current!==r)return;X(r),y=o.map(d=>d.name);let g=[];if(y.length>0)try{let d=await i.query(Ie,{tables:y},A(r));if(p.current!==r)return;for(let[v,k]of Object.entries(d.indexesByTable))g.push(...ie(v,k))}catch{if(g=await de(y,r),p.current!==r)return}m(g)}catch{p.current===r&&m(null)}await le(y,r)});(0,c.useEffect)(()=>{N(z(s))},[s]);let ce=(0,c.useEffectEvent)(()=>{w.refetch(),b.refetch(),$.refetch(),N(z(s))});(0,c.useEffect)(()=>{let r=l(()=>{document.visibilityState==="visible"&&ce()},"r");return document.addEventListener("visibilitychange",r),()=>{document.removeEventListener("visibilitychange",r)}},[]);let U=(0,c.useCallback)(r=>{N(a({search:{table:r},to:"/schema"}))},[a]),K=(0,c.useMemo)(()=>W(L,H),[H,L]),P=(0,c.useMemo)(()=>new Set(K.filter(r=>r.kind==="missing-index").flatMap(r=>r.tables??[])),[K]),R=(0,c.useMemo)(()=>we({declaredIndexes:f??[],functions:H,indexHits:J,shardTraffic:x,suppressHotScanTables:P}),[f,H,J,P,x]),ue=(0,c.useMemo)(()=>{let r=K.map(o=>{let g=o.kind==="missing-index"?o.tables??[]:[];return{action:g.length>0?g.map(d=>(0,S.jsx)(Ne,{onJump:U,table:d},d)):void 0,description:o.message===void 0?se(n,o):`${se(n,o)} \u2014 ${o.message}`,entity:o.fn,issueType:ke(n,o),key:`${o.kind}:${o.fn??""}`,level:o.severity}}),y=new Set(["unindexed_foreign_key","unindexed_relation_target"]);return[...(F??[]).map(o=>{let g=q(o);if(y.has(o.name)&&ge(o.metadata)){let{table:d,suggestedIndex:v}=o.metadata,k=`in-apply-index-${d}-${v.name}`;return{...g,action:(0,S.jsx)(ye,{fields:v.fields,indexName:v.name,table:d,testId:k})}}return g}),...R,...r]},[F,K,U,R,n]),fe=(0,S.jsx)(Y,{onChange:u,testId:"in-shard-input",value:h});return(0,S.jsx)(ee,{error:O,errorSource:O===null?void 0:w.errorSource,rows:ue,testId:"lunora-insights",toolbar:fe})},"Ue");export{ze as InsightsPanel};
@@ -1 +1 @@
1
- import{b as u}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as y}from"./chunk-5WIQ3UUE.js";import"./chunk-NCPW7WHO.js";import"./chunk-NBGTSTH7.js";import"./chunk-55UGUCQ6.js";import{a as N}from"./chunk-4ZEL6BYL.js";import{c as v}from"./chunk-F5RVY2SF.js";import"./chunk-PRLC53C5.js";import"./chunk-QAQDMS6R.js";import"./chunk-WPS47HUS.js";import{a as g}from"./chunk-RWVIV3U7.js";import{a as w,b,c as S,d as c,e as s,f as o}from"./chunk-HCTJKP5J.js";import{a as f,e as x}from"./chunk-2IKDEUCX.js";import{d as p}from"./chunk-HJHSQPHW.js";import{a as n,d as R,g as T}from"./chunk-I26MS5PJ.js";var e=R(T(),1);var $={active:"default",failing:"destructive",idle:"secondary"},j=n(a=>a===void 0?"\u2014":`${new Date(a).toISOString().slice(0,19).replace("T"," ")} UTC`,"I"),U=n(a=>{let t=a.runs+a.suppressed;return t===0?void 0:Math.round(a.suppressed/t*100)},"$"),F=n(({initialShardKey:a=""})=>{let t=p(),{data:l,error:E,errorSource:A,liveError:I}=v(N.listReactors,{},{live:!0,shardKey:a}),C=l!==void 0,i=Array.isArray(l?.reactors)?l.reactors:[],d;C&&i.length===0?d=(0,e.jsx)(g,{description:t("No reactor is declared in this deployment. Export an onQueryChange(select, handler) from lunora/ to run server-side logic when a query's result changes."),testId:"reactors-empty",title:t("No reactors declared")}):d=(0,e.jsx)(f,{className:"overflow-hidden py-0",children:(0,e.jsx)(x,{className:"px-0",children:(0,e.jsxs)(w,{"data-testid":"reactors-table",children:[(0,e.jsx)(b,{children:(0,e.jsxs)(c,{children:[(0,e.jsx)(s,{children:t("Reactor")}),(0,e.jsx)(s,{children:t("State")}),(0,e.jsx)(s,{children:t("Ran")}),(0,e.jsx)(s,{children:t("Suppressed")}),(0,e.jsx)(s,{children:t("Errors")}),(0,e.jsx)(s,{children:t("Watches")}),(0,e.jsx)(s,{children:t("Last dispatch")})]})}),(0,e.jsx)(S,{children:i.map(r=>{let m=U(r);return(0,e.jsxs)(c,{"data-testid":`reactors-row-${r.path}`,children:[(0,e.jsx)(o,{className:"font-mono text-xs",children:r.path}),(0,e.jsx)(o,{children:(0,e.jsx)(u,{"data-testid":`reactors-state-${r.path}`,variant:$[r.state],children:r.state})}),(0,e.jsx)(o,{className:"font-mono text-xs",children:r.runs}),(0,e.jsxs)(o,{className:"font-mono text-xs text-muted-foreground",children:[r.suppressed,m===void 0?"":` (${String(m)}%)`]}),(0,e.jsx)(o,{className:"font-mono text-xs",children:r.errors===0?(0,e.jsx)("span",{className:"text-muted-foreground",children:"0"}):(0,e.jsx)("span",{className:"text-destructive",children:r.errors})}),(0,e.jsx)(o,{className:"font-mono text-xs text-muted-foreground",children:r.tables===void 0||r.tables.length===0?"\u2014":r.tables.join(", ")}),(0,e.jsx)(o,{className:"font-mono text-xs text-muted-foreground",children:j(r.lastRanAt)})]},r.path)})})]})})});let h=i.filter(r=>r.state==="failing");return(0,e.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"lunora-reactors-panel",children:[E!==null&&(0,e.jsx)(y,{error:A,testId:"reactors-error"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:t("A reactor runs after a write flush, but only when the result of the query it watches actually changed \u2014 a trigger fires on a row write, a reactor fires on a result changing. Suppressed dispatches are the ones where the read re-ran and nothing had moved.")}),h.length>0&&(0,e.jsx)("div",{className:"flex flex-col gap-2","data-testid":"reactors-failing",children:h.map(r=>(0,e.jsxs)("p",{className:"text-xs text-destructive",role:"alert",children:[(0,e.jsx)("span",{className:"font-mono",children:r.path}),": ",r.lastError??t("last dispatch failed")]},r.path))}),I!==void 0&&(0,e.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-500","data-testid":"reactors-live-error",role:"alert",children:t("Live updates unavailable; showing the last reading.")}),d]})},"U");export{F as default};
1
+ import{b as u}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{a as y}from"./chunk-BPUNMQ2T.js";import"./chunk-NCPW7WHO.js";import"./chunk-P2VPJVKF.js";import"./chunk-55UGUCQ6.js";import{a as N}from"./chunk-4ZEL6BYL.js";import{c as v}from"./chunk-K6QQHYTC.js";import"./chunk-VXDEEOLM.js";import"./chunk-QAQDMS6R.js";import"./chunk-6PTQTEWR.js";import{a as g}from"./chunk-RWVIV3U7.js";import{a as w,b,c as S,d as c,e as s,f as o}from"./chunk-HCTJKP5J.js";import{a as f,e as x}from"./chunk-2IKDEUCX.js";import{d as p}from"./chunk-HJHSQPHW.js";import{a as n,d as R,g as T}from"./chunk-I26MS5PJ.js";var e=R(T(),1);var $={active:"default",failing:"destructive",idle:"secondary"},j=n(a=>a===void 0?"\u2014":`${new Date(a).toISOString().slice(0,19).replace("T"," ")} UTC`,"I"),U=n(a=>{let t=a.runs+a.suppressed;return t===0?void 0:Math.round(a.suppressed/t*100)},"$"),F=n(({initialShardKey:a=""})=>{let t=p(),{data:l,error:E,errorSource:A,liveError:I}=v(N.listReactors,{},{live:!0,shardKey:a}),C=l!==void 0,i=Array.isArray(l?.reactors)?l.reactors:[],d;C&&i.length===0?d=(0,e.jsx)(g,{description:t("No reactor is declared in this deployment. Export an onQueryChange(select, handler) from lunora/ to run server-side logic when a query's result changes."),testId:"reactors-empty",title:t("No reactors declared")}):d=(0,e.jsx)(f,{className:"overflow-hidden py-0",children:(0,e.jsx)(x,{className:"px-0",children:(0,e.jsxs)(w,{"data-testid":"reactors-table",children:[(0,e.jsx)(b,{children:(0,e.jsxs)(c,{children:[(0,e.jsx)(s,{children:t("Reactor")}),(0,e.jsx)(s,{children:t("State")}),(0,e.jsx)(s,{children:t("Ran")}),(0,e.jsx)(s,{children:t("Suppressed")}),(0,e.jsx)(s,{children:t("Errors")}),(0,e.jsx)(s,{children:t("Watches")}),(0,e.jsx)(s,{children:t("Last dispatch")})]})}),(0,e.jsx)(S,{children:i.map(r=>{let m=U(r);return(0,e.jsxs)(c,{"data-testid":`reactors-row-${r.path}`,children:[(0,e.jsx)(o,{className:"font-mono text-xs",children:r.path}),(0,e.jsx)(o,{children:(0,e.jsx)(u,{"data-testid":`reactors-state-${r.path}`,variant:$[r.state],children:r.state})}),(0,e.jsx)(o,{className:"font-mono text-xs",children:r.runs}),(0,e.jsxs)(o,{className:"font-mono text-xs text-muted-foreground",children:[r.suppressed,m===void 0?"":` (${String(m)}%)`]}),(0,e.jsx)(o,{className:"font-mono text-xs",children:r.errors===0?(0,e.jsx)("span",{className:"text-muted-foreground",children:"0"}):(0,e.jsx)("span",{className:"text-destructive",children:r.errors})}),(0,e.jsx)(o,{className:"font-mono text-xs text-muted-foreground",children:r.tables===void 0||r.tables.length===0?"\u2014":r.tables.join(", ")}),(0,e.jsx)(o,{className:"font-mono text-xs text-muted-foreground",children:j(r.lastRanAt)})]},r.path)})})]})})});let h=i.filter(r=>r.state==="failing");return(0,e.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"lunora-reactors-panel",children:[E!==null&&(0,e.jsx)(y,{error:A,testId:"reactors-error"}),(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:t("A reactor runs after a write flush, but only when the result of the query it watches actually changed \u2014 a trigger fires on a row write, a reactor fires on a result changing. Suppressed dispatches are the ones where the read re-ran and nothing had moved.")}),h.length>0&&(0,e.jsx)("div",{className:"flex flex-col gap-2","data-testid":"reactors-failing",children:h.map(r=>(0,e.jsxs)("p",{className:"text-xs text-destructive",role:"alert",children:[(0,e.jsx)("span",{className:"font-mono",children:r.path}),": ",r.lastError??t("last dispatch failed")]},r.path))}),I!==void 0&&(0,e.jsx)("p",{className:"text-xs text-amber-600 dark:text-amber-500","data-testid":"reactors-live-error",role:"alert",children:t("Live updates unavailable; showing the last reading.")}),d]})},"U");export{F as default};
@@ -1 +1 @@
1
- import{a as ae,d as le,e as ke,i as Ne,j as we,l as Se}from"./chunk-AM3D6QPJ.js";import"./chunk-NQZALRU3.js";import"./chunk-OPM7ESDV.js";import"./chunk-Y3AYVFTK.js";import{a as ye}from"./chunk-6HLARDYO.js";import"./chunk-OYCUPD3Q.js";import"./chunk-NXQW5E6W.js";import"./chunk-UC7MNI2F.js";import{a as oe}from"./chunk-SA2OGF3F.js";import"./chunk-NGVP66OH.js";import"./chunk-GHQ2VDI2.js";import"./chunk-AUGKHAMQ.js";import{i as me}from"./chunk-OQ6I6OXT.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as ne}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{l as ue}from"./chunk-PRLC53C5.js";import"./chunk-QAQDMS6R.js";import"./chunk-WPS47HUS.js";import{a as re}from"./chunk-RWVIV3U7.js";import{a as be,b as xe,c as ve,d as J,e as T,f as _}from"./chunk-HCTJKP5J.js";import{a as he,e as pe}from"./chunk-2IKDEUCX.js";import{d as Y,p as ge}from"./chunk-HJHSQPHW.js";import{a as c,d as te,e as Ae,f as qe,g as je,i as fe}from"./chunk-I26MS5PJ.js";var z=te(qe(),1);var E=te(Ae(),1);var n=te(je(),1);var Ie=["call","schedule","read","write","enqueue","publish","subscribe","start","trigger","invoke"],Me=new Set(["enqueue","publish","schedule","start","subscribe","trigger"]),$e={cron:1,function:2,http:0,queue:4,service:7,table:6,topic:3,workflow:5},Be={stroke:"var(--muted-foreground)"},De={fill:"var(--muted-foreground)",fontSize:10},Fe={fill:"var(--background)"},Q="",se=260,Oe=120,Ce=44,de=40,_e=12,ie=16,Re=c(r=>{if(typeof r!="object"||r===null)return;let e=r;return["edges","nodes","modules","unresolved"].every(d=>Array.isArray(e[d]))?e:void 0},"Ge"),ze={cron:c(()=>({to:"/schedule"}),"cron"),function:c(()=>({to:"/functions"}),"function"),http:c(()=>({to:"/api"}),"http"),queue:c(()=>({to:"/queues"}),"queue"),service:c(()=>({to:"/functions"}),"service"),table:c(r=>({search:{table:r.name},to:"/data"}),"table"),topic:c(()=>({to:"/queues"}),"topic"),workflow:c(()=>({to:"/workflows"}),"workflow")},Pe=c(r=>ze[r.kind](r),"Me"),H=c(r=>r.module??Q,"R"),Te=c((r,e,d)=>{let t=new Set;for(let l of r.nodes)(e===void 0||H(l)===e)&&t.add(l.id);if(e===void 0)return t;let a=new Set(t);for(let l of r.edges)d.has(l.kind)&&(t.has(l.from)&&a.add(l.to),t.has(l.to)&&a.add(l.from));return a},"Pe"),Ee=c((r,e,d,t)=>{let a=`lane:${r}`;return[{data:{label:e},id:a,position:{x:d*(se+Oe),y:0},selectable:!1,style:{height:Ce+t.length*(de+_e)+ie,width:se},type:"lane"},...t.map((l,i)=>({className:"flex cursor-pointer items-center truncate rounded-md border border-border bg-card px-2 text-xs text-foreground hover:border-ring",data:{label:`${l.detail??l.kind} \xB7 ${l.name}`,link:Pe(l)},extent:"parent",id:l.id,parentId:a,position:{x:ie,y:Ce+i*(de+_e)},style:{height:de,width:se-ie*2},type:"member"}))]},"Re"),He=c((r,e)=>{let d=Te(r,e.lane,e.kinds),t=new Map;for(let o of r.nodes)d.has(o.id)&&t.set(H(o),[...t.get(H(o))??[],o]);let a=[...r.modules.map(o=>({label:o.installed===!0?`${o.name} \xB7 ${e.componentLabel}`:o.name,lane:o.name})),{label:e.appLaneLabel,lane:Q}],l=[],i=0;for(let{label:o,lane:f}of a){let m=(t.get(f)??[]).toSorted((h,s)=>$e[h.kind]-$e[s.kind]||h.name.localeCompare(s.name));m.length>0&&(l.push(...Ee(f,o,i,m)),i+=1)}let u=[];for(let o of r.edges)e.kinds.has(o.kind)&&d.has(o.from)&&d.has(o.to)&&u.push({animated:Me.has(o.kind),id:`${o.from}|${o.kind}|${o.to}`,label:o.kind,labelBgStyle:Fe,labelStyle:De,source:o.from,style:Be,target:o.to,type:"smoothstep"});return{edges:u,nodes:l}},"Fe"),ce="*",Ve=c(r=>{let e=(0,z.c)(2),{data:d}=r,t=String(d.label),a;return e[0]!==t?(a=(0,n.jsx)("div",{className:"size-full rounded-lg border border-dashed border-border bg-background/60 px-3 py-2 text-xs font-medium text-muted-foreground",children:t}),e[0]=t,e[1]=a):a=e[1],a},"qe"),Le={opacity:0},Ze=c(r=>{let e=(0,z.c)(10),{data:d}=r,t=me(),{label:a,link:l}=d,i;e[0]!==l||e[1]!==t?(i=c(()=>{ge(t(l))},"u"),e[0]=l,e[1]=t,e[2]=i):i=e[2];let u=i,o;e[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,n.jsx)(le,{isConnectable:!1,position:ae.Left,style:Le,type:"target"}),e[3]=o):o=e[3];let f;e[4]!==a||e[5]!==u?(f=(0,n.jsx)("button",{className:"size-full cursor-pointer truncate rounded-md text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",onClick:u,type:"button",children:a}),e[4]=a,e[5]=u,e[6]=f):f=e[6];let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=(0,n.jsx)(le,{isConnectable:!1,position:ae.Right,style:Le,type:"source"}),e[7]=m):m=e[7];let h;return e[8]!==f?(h=(0,n.jsxs)(n.Fragment,{children:[o,f,m]}),e[8]=f,e[9]=h):h=e[9],h},"je"),Ge={lane:Ve,member:Ze},Ke=c(r=>{let e=Re(r);return e===void 0?{kind:"error",message:"the response is not an architecture manifest"}:e.modules.length===0?{kind:"empty"}:{kind:"ready",spec:e}},"ze"),We=c(r=>{let e=(0,z.c)(54),{manifest:d}=r,t=Y(),a,l,i,u,o,f,m,h,s,p;if(e[0]!==d.modules||e[1]!==d.nodes||e[2]!==t){let P=new Map;for(let g of d.nodes)g.kind==="function"&&P.set(H(g),(P.get(H(g))??0)+1);let j=c(g=>P.get(g)??0,"I");o=j(Q),u=he,p="overflow-hidden py-0",i=pe,s="px-0",l=be,m="architecture-catalog";let L;e[13]!==t?(L=t("Module"),e[13]=t,e[14]=L):L=e[14];let I;e[15]!==L?(I=(0,n.jsx)(T,{children:L}),e[15]=L,e[16]=I):I=e[16];let A;e[17]!==t?(A=t("Description"),e[17]=t,e[18]=A):A=e[18];let q;e[19]!==A?(q=(0,n.jsx)(T,{children:A}),e[19]=A,e[20]=q):q=e[20];let v;e[21]!==t?(v=t("Owned tables"),e[21]=t,e[22]=v):v=e[22];let y;e[23]!==v?(y=(0,n.jsx)(T,{children:v}),e[23]=v,e[24]=y):y=e[24];let k;e[25]!==t?(k=t("Functions"),e[25]=t,e[26]=k):k=e[26];let N;e[27]!==k?(N=(0,n.jsx)(T,{children:k}),e[27]=k,e[28]=N):N=e[28],e[29]!==y||e[30]!==N||e[31]!==I||e[32]!==q?(h=(0,n.jsx)(xe,{children:(0,n.jsxs)(J,{children:[I,q,y,N]})}),e[29]=y,e[30]=N,e[31]=I,e[32]=q,e[33]=h):h=e[33],a=ve,f=d.modules.map(g=>(0,n.jsxs)(J,{"data-testid":`architecture-module-${g.name}`,children:[(0,n.jsxs)(_,{className:"font-mono text-xs",children:[g.name,g.installed===!0&&(0,n.jsx)(ne,{className:"ml-2","data-testid":`architecture-component-${g.name}`,variant:"outline",children:t("Component")})]}),(0,n.jsx)(_,{className:"text-xs text-muted-foreground",children:g.description??(g.installed===!0?t("Installed component"):"\u2014")}),(0,n.jsx)(_,{className:"font-mono text-xs text-muted-foreground",children:g.tables.length===0?"\u2014":g.tables.join(", ")}),(0,n.jsx)(_,{className:"text-xs",children:j(g.name)})]},g.name)),e[0]=d.modules,e[1]=d.nodes,e[2]=t,e[3]=a,e[4]=l,e[5]=i,e[6]=u,e[7]=o,e[8]=f,e[9]=m,e[10]=h,e[11]=s,e[12]=p}else a=e[3],l=e[4],i=e[5],u=e[6],o=e[7],f=e[8],m=e[9],h=e[10],s=e[11],p=e[12];let b;e[34]!==o||e[35]!==t?(b=o>0&&(0,n.jsxs)(J,{"data-testid":"architecture-module-app",children:[(0,n.jsx)(_,{className:"text-xs italic text-muted-foreground",children:t("Outside any module")}),(0,n.jsx)(_,{className:"text-xs text-muted-foreground",children:"\u2014"}),(0,n.jsx)(_,{className:"text-xs text-muted-foreground",children:"\u2014"}),(0,n.jsx)(_,{className:"text-xs",children:o})]}),e[34]=o,e[35]=t,e[36]=b):b=e[36];let x;e[37]!==a||e[38]!==f||e[39]!==b?(x=(0,n.jsxs)(a,{children:[f,b]}),e[37]=a,e[38]=f,e[39]=b,e[40]=x):x=e[40];let S;e[41]!==l||e[42]!==m||e[43]!==h||e[44]!==x?(S=(0,n.jsxs)(l,{"data-testid":m,children:[h,x]}),e[41]=l,e[42]=m,e[43]=h,e[44]=x,e[45]=S):S=e[45];let $;e[46]!==i||e[47]!==s||e[48]!==S?($=(0,n.jsx)(i,{className:s,children:S}),e[46]=i,e[47]=s,e[48]=S,e[49]=$):$=e[49];let C;return e[50]!==u||e[51]!==p||e[52]!==$?(C=(0,n.jsx)(u,{className:p,children:$}),e[50]=u,e[51]=p,e[52]=$,e[53]=C):C=e[53],C},"Ye"),Ye=c(r=>{let e=(0,z.c)(52),{manifest:d}=r,t=Y(),[a,l]=(0,E.useState)(ce),[i,u]=(0,E.useState)(Je),o;e[0]!==d.edges?(o=c(w=>d.edges.some(X=>X.kind===w),"n"),e[0]=d.edges,e[1]=o):o=e[1];let f=Ie.filter(o),m;e[2]!==t?(m=t("Outside any module"),e[2]=t,e[3]=m):m=e[3];let h=m,s;e[4]!==t?(s=t("Component"),e[4]=t,e[5]=s):s=e[5];let p=s,b;e[6]!==h||e[7]!==p||e[8]!==i||e[9]!==a||e[10]!==d?(b=He(d,{appLaneLabel:h,componentLabel:p,kinds:i,...a===ce?{}:{lane:a}}),e[6]=h,e[7]=p,e[8]=i,e[9]=a,e[10]=d,e[11]=b):b=e[11];let{edges:x,nodes:S}=b,$=(0,E.useRef)(null),C;e[12]===Symbol.for("react.memo_cache_sentinel")?(C=c(w=>{l(w.target.value)},"_"),e[12]=C):C=e[12];let P=C,j;e[13]===Symbol.for("react.memo_cache_sentinel")?(j=c(w=>{u(X=>{let ee=new Set(X);return ee.delete(w)||ee.add(w),ee})},"I"),e[13]=j):j=e[13];let L=j,I="flex flex-col gap-2",A="architecture-diagram",q="flex flex-wrap items-center gap-2",v;e[14]!==t?(v=t("Module"),e[14]=t,e[15]=v):v=e[15];let y;e[16]!==t?(y=t("All modules"),e[16]=t,e[17]=y):y=e[17];let k;e[18]!==y?(k=(0,n.jsx)("option",{value:ce,children:y}),e[18]=y,e[19]=k):k=e[19];let N;e[20]!==d.modules?(N=d.modules.map(Qe),e[20]=d.modules,e[21]=N):N=e[21];let g;e[22]!==t?(g=t("Outside any module"),e[22]=t,e[23]=g):g=e[23];let M;e[24]!==g?(M=(0,n.jsx)("option",{value:Q,children:g}),e[24]=g,e[25]=M):M=e[25];let B;e[26]!==a||e[27]!==v||e[28]!==k||e[29]!==N||e[30]!==M?(B=(0,n.jsxs)("select",{"aria-label":v,className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"architecture-module-filter",onChange:P,value:a,children:[k,N,M]}),e[26]=a,e[27]=v,e[28]=k,e[29]=N,e[30]=M,e[31]=B):B=e[31];let D;e[32]!==x.length||e[33]!==t?(D=t("{count} edges shown",{count:x.length}),e[32]=x.length,e[33]=t,e[34]=D):D=e[34];let F;e[35]!==D?(F=(0,n.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"architecture-edge-count",children:D}),e[35]=D,e[36]=F):F=e[36];let V;e[37]!==i?(V=c(w=>(0,n.jsx)("button",{"aria-pressed":i.has(w),className:fe("rounded-full border border-border px-2.5 py-0.5 text-xs",i.has(w)?"bg-muted":"text-muted-foreground line-through"),"data-testid":`architecture-kind-${w}`,onClick:c(()=>{L(w)},"onClick"),type:"button",children:w},w),"q"),e[37]=i,e[38]=V):V=e[38];let U=f.map(V),O;e[39]!==B||e[40]!==F||e[41]!==U?(O=(0,n.jsxs)("div",{className:q,children:[B,F,U]}),e[39]=B,e[40]=F,e[41]=U,e[42]=O):O=e[42];let Z,G,K;e[43]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,n.jsx)(Ne,{}),G=(0,n.jsx)(we,{showInteractive:!1}),K=(0,n.jsx)(Se,{containerRef:$,filenameBase:"architecture",testIdPrefix:"architecture"}),e[43]=Z,e[44]=G,e[45]=K):(Z=e[43],G=e[44],K=e[45]);let R;e[46]!==x||e[47]!==S?(R=(0,n.jsx)("div",{className:"h-[600px] w-full overflow-hidden border border-border bg-muted/20","data-testid":"architecture-canvas",ref:$,children:(0,n.jsxs)(ke,{edges:x,edgesFocusable:!1,fitView:!0,minZoom:.1,nodes:S,nodesConnectable:!1,nodesDraggable:!1,nodeTypes:Ge,children:[Z,G,K]})}),e[46]=x,e[47]=S,e[48]=R):R=e[48];let W;return e[49]!==O||e[50]!==R?(W=(0,n.jsxs)("section",{className:I,"data-testid":A,children:[O,R]}),e[49]=O,e[50]=R,e[51]=W):W=e[51],W},"Ve"),mt=c(r=>{let e=(0,z.c)(28),{manifest:d}=r,t=Y(),a=ue(),l;e[0]!==a?(l=c(()=>a.fetchArchitecture(),"r"),e[0]=a,e[1]=l):l=e[1];let i=ye(d,l,Ke);if(i.kind==="loading"){let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,n.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"architecture-loading",children:[(0,n.jsx)(oe,{className:"h-8 w-48"}),(0,n.jsx)(oe,{className:"h-64 w-full"})]}),e[2]=s):s=e[2],s}if(i.kind==="error"){let s;e[3]!==i.message||e[4]!==t?(s=t("Couldn't load the architecture manifest: {message}",{message:i.message}),e[3]=i.message,e[4]=t,e[5]=s):s=e[5];let p;e[6]!==t?(p=t("Architecture unavailable"),e[6]=t,e[7]=p):p=e[7];let b;return e[8]!==s||e[9]!==p?(b=(0,n.jsx)(re,{description:s,testId:"architecture-error",title:p}),e[8]=s,e[9]=p,e[10]=b):b=e[10],b}if(i.kind==="empty"){let s;e[11]!==t?(s=t("Add a lunora/<folder>/module.ts that default-exports defineModule(...) and run lunora codegen to map your modules here. Installed components join the map once you declare one."),e[11]=t,e[12]=s):s=e[12];let p;e[13]!==t?(p=t("No modules declared"),e[13]=t,e[14]=p):p=e[14];let b;return e[15]!==s||e[16]!==p?(b=(0,n.jsx)(re,{description:s,testId:"architecture-empty",title:p}),e[15]=s,e[16]=p,e[17]=b):b=e[17],b}let{spec:u}=i,o,f;e[18]!==u?(o=(0,n.jsx)(We,{manifest:u}),f=(0,n.jsx)(Ye,{manifest:u}),e[18]=u,e[19]=o,e[20]=f):(o=e[19],f=e[20]);let m;e[21]!==u.unresolved||e[22]!==t?(m=u.unresolved.length>0&&(0,n.jsxs)("details",{className:"text-sm","data-testid":"architecture-unresolved",children:[(0,n.jsxs)("summary",{className:"cursor-pointer text-muted-foreground",children:[t("{count} call sites could not be drawn",{count:u.unresolved.length})," ",(0,n.jsx)(ne,{variant:"outline",children:u.unresolved.length})]}),(0,n.jsx)("ul",{className:"mt-2 flex flex-col gap-1 font-mono text-xs",children:u.unresolved.map(Ue)})]}),e[21]=u.unresolved,e[22]=t,e[23]=m):m=e[23];let h;return e[24]!==o||e[25]!==f||e[26]!==m?(h=(0,n.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"architecture-panel",children:[o,f,m]}),e[24]=o,e[25]=f,e[26]=m,e[27]=h):h=e[27],h},"mt");function Je(){return new Set(Ie)}c(Je,"We");function Qe(r){return(0,n.jsx)("option",{value:r.name,children:r.name},r.name)}c(Qe,"Ze");function Ue(r){return(0,n.jsxs)("li",{children:[r.file,":",r.line," \xB7 ",r.kind," \xB7 ",r.reason]},`${r.file}:${String(r.line)}:${r.kind}:${r.reason}`)}c(Ue,"Je");export{mt as default};
1
+ import{a as ae,d as le,e as ke,i as Ne,j as we,l as Se}from"./chunk-EUOGJHM2.js";import"./chunk-NQZALRU3.js";import"./chunk-OPM7ESDV.js";import"./chunk-Y3AYVFTK.js";import{a as ye}from"./chunk-6HLARDYO.js";import"./chunk-OYCUPD3Q.js";import"./chunk-NXQW5E6W.js";import"./chunk-UC7MNI2F.js";import{a as oe}from"./chunk-SA2OGF3F.js";import"./chunk-NGVP66OH.js";import"./chunk-GHQ2VDI2.js";import"./chunk-AUGKHAMQ.js";import{i as me}from"./chunk-OQ6I6OXT.js";import"./chunk-MVWZMWPD.js";import"./chunk-SJQERRSZ.js";import"./chunk-7Y3SY37W.js";import"./chunk-3YXASVTP.js";import"./chunk-AUAECCXB.js";import{b as ne}from"./chunk-Q6ED4KUL.js";import"./chunk-BOMPSVRC.js";import{l as ue}from"./chunk-VXDEEOLM.js";import"./chunk-QAQDMS6R.js";import"./chunk-6PTQTEWR.js";import{a as re}from"./chunk-RWVIV3U7.js";import{a as be,b as xe,c as ve,d as J,e as T,f as _}from"./chunk-HCTJKP5J.js";import{a as he,e as pe}from"./chunk-2IKDEUCX.js";import{d as Y,p as ge}from"./chunk-HJHSQPHW.js";import{a as c,d as te,e as Ae,f as qe,g as je,i as fe}from"./chunk-I26MS5PJ.js";var z=te(qe(),1);var E=te(Ae(),1);var n=te(je(),1);var Ie=["call","schedule","read","write","enqueue","publish","subscribe","start","trigger","invoke"],Me=new Set(["enqueue","publish","schedule","start","subscribe","trigger"]),$e={cron:1,function:2,http:0,queue:4,service:7,table:6,topic:3,workflow:5},Be={stroke:"var(--muted-foreground)"},De={fill:"var(--muted-foreground)",fontSize:10},Fe={fill:"var(--background)"},Q="",se=260,Oe=120,Ce=44,de=40,_e=12,ie=16,Re=c(r=>{if(typeof r!="object"||r===null)return;let e=r;return["edges","nodes","modules","unresolved"].every(d=>Array.isArray(e[d]))?e:void 0},"Ge"),ze={cron:c(()=>({to:"/schedule"}),"cron"),function:c(()=>({to:"/functions"}),"function"),http:c(()=>({to:"/api"}),"http"),queue:c(()=>({to:"/queues"}),"queue"),service:c(()=>({to:"/functions"}),"service"),table:c(r=>({search:{table:r.name},to:"/data"}),"table"),topic:c(()=>({to:"/queues"}),"topic"),workflow:c(()=>({to:"/workflows"}),"workflow")},Pe=c(r=>ze[r.kind](r),"Me"),H=c(r=>r.module??Q,"R"),Te=c((r,e,d)=>{let t=new Set;for(let l of r.nodes)(e===void 0||H(l)===e)&&t.add(l.id);if(e===void 0)return t;let a=new Set(t);for(let l of r.edges)d.has(l.kind)&&(t.has(l.from)&&a.add(l.to),t.has(l.to)&&a.add(l.from));return a},"Pe"),Ee=c((r,e,d,t)=>{let a=`lane:${r}`;return[{data:{label:e},id:a,position:{x:d*(se+Oe),y:0},selectable:!1,style:{height:Ce+t.length*(de+_e)+ie,width:se},type:"lane"},...t.map((l,i)=>({className:"flex cursor-pointer items-center truncate rounded-md border border-border bg-card px-2 text-xs text-foreground hover:border-ring",data:{label:`${l.detail??l.kind} \xB7 ${l.name}`,link:Pe(l)},extent:"parent",id:l.id,parentId:a,position:{x:ie,y:Ce+i*(de+_e)},style:{height:de,width:se-ie*2},type:"member"}))]},"Re"),He=c((r,e)=>{let d=Te(r,e.lane,e.kinds),t=new Map;for(let o of r.nodes)d.has(o.id)&&t.set(H(o),[...t.get(H(o))??[],o]);let a=[...r.modules.map(o=>({label:o.installed===!0?`${o.name} \xB7 ${e.componentLabel}`:o.name,lane:o.name})),{label:e.appLaneLabel,lane:Q}],l=[],i=0;for(let{label:o,lane:f}of a){let m=(t.get(f)??[]).toSorted((h,s)=>$e[h.kind]-$e[s.kind]||h.name.localeCompare(s.name));m.length>0&&(l.push(...Ee(f,o,i,m)),i+=1)}let u=[];for(let o of r.edges)e.kinds.has(o.kind)&&d.has(o.from)&&d.has(o.to)&&u.push({animated:Me.has(o.kind),id:`${o.from}|${o.kind}|${o.to}`,label:o.kind,labelBgStyle:Fe,labelStyle:De,source:o.from,style:Be,target:o.to,type:"smoothstep"});return{edges:u,nodes:l}},"Fe"),ce="*",Ve=c(r=>{let e=(0,z.c)(2),{data:d}=r,t=String(d.label),a;return e[0]!==t?(a=(0,n.jsx)("div",{className:"size-full rounded-lg border border-dashed border-border bg-background/60 px-3 py-2 text-xs font-medium text-muted-foreground",children:t}),e[0]=t,e[1]=a):a=e[1],a},"qe"),Le={opacity:0},Ze=c(r=>{let e=(0,z.c)(10),{data:d}=r,t=me(),{label:a,link:l}=d,i;e[0]!==l||e[1]!==t?(i=c(()=>{ge(t(l))},"u"),e[0]=l,e[1]=t,e[2]=i):i=e[2];let u=i,o;e[3]===Symbol.for("react.memo_cache_sentinel")?(o=(0,n.jsx)(le,{isConnectable:!1,position:ae.Left,style:Le,type:"target"}),e[3]=o):o=e[3];let f;e[4]!==a||e[5]!==u?(f=(0,n.jsx)("button",{className:"size-full cursor-pointer truncate rounded-md text-left outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-1",onClick:u,type:"button",children:a}),e[4]=a,e[5]=u,e[6]=f):f=e[6];let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=(0,n.jsx)(le,{isConnectable:!1,position:ae.Right,style:Le,type:"source"}),e[7]=m):m=e[7];let h;return e[8]!==f?(h=(0,n.jsxs)(n.Fragment,{children:[o,f,m]}),e[8]=f,e[9]=h):h=e[9],h},"je"),Ge={lane:Ve,member:Ze},Ke=c(r=>{let e=Re(r);return e===void 0?{kind:"error",message:"the response is not an architecture manifest"}:e.modules.length===0?{kind:"empty"}:{kind:"ready",spec:e}},"ze"),We=c(r=>{let e=(0,z.c)(54),{manifest:d}=r,t=Y(),a,l,i,u,o,f,m,h,s,p;if(e[0]!==d.modules||e[1]!==d.nodes||e[2]!==t){let P=new Map;for(let g of d.nodes)g.kind==="function"&&P.set(H(g),(P.get(H(g))??0)+1);let j=c(g=>P.get(g)??0,"I");o=j(Q),u=he,p="overflow-hidden py-0",i=pe,s="px-0",l=be,m="architecture-catalog";let L;e[13]!==t?(L=t("Module"),e[13]=t,e[14]=L):L=e[14];let I;e[15]!==L?(I=(0,n.jsx)(T,{children:L}),e[15]=L,e[16]=I):I=e[16];let A;e[17]!==t?(A=t("Description"),e[17]=t,e[18]=A):A=e[18];let q;e[19]!==A?(q=(0,n.jsx)(T,{children:A}),e[19]=A,e[20]=q):q=e[20];let v;e[21]!==t?(v=t("Owned tables"),e[21]=t,e[22]=v):v=e[22];let y;e[23]!==v?(y=(0,n.jsx)(T,{children:v}),e[23]=v,e[24]=y):y=e[24];let k;e[25]!==t?(k=t("Functions"),e[25]=t,e[26]=k):k=e[26];let N;e[27]!==k?(N=(0,n.jsx)(T,{children:k}),e[27]=k,e[28]=N):N=e[28],e[29]!==y||e[30]!==N||e[31]!==I||e[32]!==q?(h=(0,n.jsx)(xe,{children:(0,n.jsxs)(J,{children:[I,q,y,N]})}),e[29]=y,e[30]=N,e[31]=I,e[32]=q,e[33]=h):h=e[33],a=ve,f=d.modules.map(g=>(0,n.jsxs)(J,{"data-testid":`architecture-module-${g.name}`,children:[(0,n.jsxs)(_,{className:"font-mono text-xs",children:[g.name,g.installed===!0&&(0,n.jsx)(ne,{className:"ml-2","data-testid":`architecture-component-${g.name}`,variant:"outline",children:t("Component")})]}),(0,n.jsx)(_,{className:"text-xs text-muted-foreground",children:g.description??(g.installed===!0?t("Installed component"):"\u2014")}),(0,n.jsx)(_,{className:"font-mono text-xs text-muted-foreground",children:g.tables.length===0?"\u2014":g.tables.join(", ")}),(0,n.jsx)(_,{className:"text-xs",children:j(g.name)})]},g.name)),e[0]=d.modules,e[1]=d.nodes,e[2]=t,e[3]=a,e[4]=l,e[5]=i,e[6]=u,e[7]=o,e[8]=f,e[9]=m,e[10]=h,e[11]=s,e[12]=p}else a=e[3],l=e[4],i=e[5],u=e[6],o=e[7],f=e[8],m=e[9],h=e[10],s=e[11],p=e[12];let b;e[34]!==o||e[35]!==t?(b=o>0&&(0,n.jsxs)(J,{"data-testid":"architecture-module-app",children:[(0,n.jsx)(_,{className:"text-xs italic text-muted-foreground",children:t("Outside any module")}),(0,n.jsx)(_,{className:"text-xs text-muted-foreground",children:"\u2014"}),(0,n.jsx)(_,{className:"text-xs text-muted-foreground",children:"\u2014"}),(0,n.jsx)(_,{className:"text-xs",children:o})]}),e[34]=o,e[35]=t,e[36]=b):b=e[36];let x;e[37]!==a||e[38]!==f||e[39]!==b?(x=(0,n.jsxs)(a,{children:[f,b]}),e[37]=a,e[38]=f,e[39]=b,e[40]=x):x=e[40];let S;e[41]!==l||e[42]!==m||e[43]!==h||e[44]!==x?(S=(0,n.jsxs)(l,{"data-testid":m,children:[h,x]}),e[41]=l,e[42]=m,e[43]=h,e[44]=x,e[45]=S):S=e[45];let $;e[46]!==i||e[47]!==s||e[48]!==S?($=(0,n.jsx)(i,{className:s,children:S}),e[46]=i,e[47]=s,e[48]=S,e[49]=$):$=e[49];let C;return e[50]!==u||e[51]!==p||e[52]!==$?(C=(0,n.jsx)(u,{className:p,children:$}),e[50]=u,e[51]=p,e[52]=$,e[53]=C):C=e[53],C},"Ye"),Ye=c(r=>{let e=(0,z.c)(52),{manifest:d}=r,t=Y(),[a,l]=(0,E.useState)(ce),[i,u]=(0,E.useState)(Je),o;e[0]!==d.edges?(o=c(w=>d.edges.some(X=>X.kind===w),"n"),e[0]=d.edges,e[1]=o):o=e[1];let f=Ie.filter(o),m;e[2]!==t?(m=t("Outside any module"),e[2]=t,e[3]=m):m=e[3];let h=m,s;e[4]!==t?(s=t("Component"),e[4]=t,e[5]=s):s=e[5];let p=s,b;e[6]!==h||e[7]!==p||e[8]!==i||e[9]!==a||e[10]!==d?(b=He(d,{appLaneLabel:h,componentLabel:p,kinds:i,...a===ce?{}:{lane:a}}),e[6]=h,e[7]=p,e[8]=i,e[9]=a,e[10]=d,e[11]=b):b=e[11];let{edges:x,nodes:S}=b,$=(0,E.useRef)(null),C;e[12]===Symbol.for("react.memo_cache_sentinel")?(C=c(w=>{l(w.target.value)},"_"),e[12]=C):C=e[12];let P=C,j;e[13]===Symbol.for("react.memo_cache_sentinel")?(j=c(w=>{u(X=>{let ee=new Set(X);return ee.delete(w)||ee.add(w),ee})},"I"),e[13]=j):j=e[13];let L=j,I="flex flex-col gap-2",A="architecture-diagram",q="flex flex-wrap items-center gap-2",v;e[14]!==t?(v=t("Module"),e[14]=t,e[15]=v):v=e[15];let y;e[16]!==t?(y=t("All modules"),e[16]=t,e[17]=y):y=e[17];let k;e[18]!==y?(k=(0,n.jsx)("option",{value:ce,children:y}),e[18]=y,e[19]=k):k=e[19];let N;e[20]!==d.modules?(N=d.modules.map(Qe),e[20]=d.modules,e[21]=N):N=e[21];let g;e[22]!==t?(g=t("Outside any module"),e[22]=t,e[23]=g):g=e[23];let M;e[24]!==g?(M=(0,n.jsx)("option",{value:Q,children:g}),e[24]=g,e[25]=M):M=e[25];let B;e[26]!==a||e[27]!==v||e[28]!==k||e[29]!==N||e[30]!==M?(B=(0,n.jsxs)("select",{"aria-label":v,className:"h-8 rounded-md border border-input bg-transparent px-2.5 py-1 text-xs outline-none focus-visible:border-ring focus-visible:ring-1 focus-visible:ring-ring/50","data-testid":"architecture-module-filter",onChange:P,value:a,children:[k,N,M]}),e[26]=a,e[27]=v,e[28]=k,e[29]=N,e[30]=M,e[31]=B):B=e[31];let D;e[32]!==x.length||e[33]!==t?(D=t("{count} edges shown",{count:x.length}),e[32]=x.length,e[33]=t,e[34]=D):D=e[34];let F;e[35]!==D?(F=(0,n.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"architecture-edge-count",children:D}),e[35]=D,e[36]=F):F=e[36];let V;e[37]!==i?(V=c(w=>(0,n.jsx)("button",{"aria-pressed":i.has(w),className:fe("rounded-full border border-border px-2.5 py-0.5 text-xs",i.has(w)?"bg-muted":"text-muted-foreground line-through"),"data-testid":`architecture-kind-${w}`,onClick:c(()=>{L(w)},"onClick"),type:"button",children:w},w),"q"),e[37]=i,e[38]=V):V=e[38];let U=f.map(V),O;e[39]!==B||e[40]!==F||e[41]!==U?(O=(0,n.jsxs)("div",{className:q,children:[B,F,U]}),e[39]=B,e[40]=F,e[41]=U,e[42]=O):O=e[42];let Z,G,K;e[43]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,n.jsx)(Ne,{}),G=(0,n.jsx)(we,{showInteractive:!1}),K=(0,n.jsx)(Se,{containerRef:$,filenameBase:"architecture",testIdPrefix:"architecture"}),e[43]=Z,e[44]=G,e[45]=K):(Z=e[43],G=e[44],K=e[45]);let R;e[46]!==x||e[47]!==S?(R=(0,n.jsx)("div",{className:"h-[600px] w-full overflow-hidden border border-border bg-muted/20","data-testid":"architecture-canvas",ref:$,children:(0,n.jsxs)(ke,{edges:x,edgesFocusable:!1,fitView:!0,minZoom:.1,nodes:S,nodesConnectable:!1,nodesDraggable:!1,nodeTypes:Ge,children:[Z,G,K]})}),e[46]=x,e[47]=S,e[48]=R):R=e[48];let W;return e[49]!==O||e[50]!==R?(W=(0,n.jsxs)("section",{className:I,"data-testid":A,children:[O,R]}),e[49]=O,e[50]=R,e[51]=W):W=e[51],W},"Ve"),mt=c(r=>{let e=(0,z.c)(28),{manifest:d}=r,t=Y(),a=ue(),l;e[0]!==a?(l=c(()=>a.fetchArchitecture(),"r"),e[0]=a,e[1]=l):l=e[1];let i=ye(d,l,Ke);if(i.kind==="loading"){let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,n.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"architecture-loading",children:[(0,n.jsx)(oe,{className:"h-8 w-48"}),(0,n.jsx)(oe,{className:"h-64 w-full"})]}),e[2]=s):s=e[2],s}if(i.kind==="error"){let s;e[3]!==i.message||e[4]!==t?(s=t("Couldn't load the architecture manifest: {message}",{message:i.message}),e[3]=i.message,e[4]=t,e[5]=s):s=e[5];let p;e[6]!==t?(p=t("Architecture unavailable"),e[6]=t,e[7]=p):p=e[7];let b;return e[8]!==s||e[9]!==p?(b=(0,n.jsx)(re,{description:s,testId:"architecture-error",title:p}),e[8]=s,e[9]=p,e[10]=b):b=e[10],b}if(i.kind==="empty"){let s;e[11]!==t?(s=t("Add a lunora/<folder>/module.ts that default-exports defineModule(...) and run lunora codegen to map your modules here. Installed components join the map once you declare one."),e[11]=t,e[12]=s):s=e[12];let p;e[13]!==t?(p=t("No modules declared"),e[13]=t,e[14]=p):p=e[14];let b;return e[15]!==s||e[16]!==p?(b=(0,n.jsx)(re,{description:s,testId:"architecture-empty",title:p}),e[15]=s,e[16]=p,e[17]=b):b=e[17],b}let{spec:u}=i,o,f;e[18]!==u?(o=(0,n.jsx)(We,{manifest:u}),f=(0,n.jsx)(Ye,{manifest:u}),e[18]=u,e[19]=o,e[20]=f):(o=e[19],f=e[20]);let m;e[21]!==u.unresolved||e[22]!==t?(m=u.unresolved.length>0&&(0,n.jsxs)("details",{className:"text-sm","data-testid":"architecture-unresolved",children:[(0,n.jsxs)("summary",{className:"cursor-pointer text-muted-foreground",children:[t("{count} call sites could not be drawn",{count:u.unresolved.length})," ",(0,n.jsx)(ne,{variant:"outline",children:u.unresolved.length})]}),(0,n.jsx)("ul",{className:"mt-2 flex flex-col gap-1 font-mono text-xs",children:u.unresolved.map(Ue)})]}),e[21]=u.unresolved,e[22]=t,e[23]=m):m=e[23];let h;return e[24]!==o||e[25]!==f||e[26]!==m?(h=(0,n.jsxs)("div",{className:"flex flex-col gap-6","data-testid":"architecture-panel",children:[o,f,m]}),e[24]=o,e[25]=f,e[26]=m,e[27]=h):h=e[27],h},"mt");function Je(){return new Set(Ie)}c(Je,"We");function Qe(r){return(0,n.jsx)("option",{value:r.name,children:r.name},r.name)}c(Qe,"Ze");function Ue(r){return(0,n.jsxs)("li",{children:[r.file,":",r.line," \xB7 ",r.kind," \xB7 ",r.reason]},`${r.file}:${String(r.line)}:${r.kind}:${r.reason}`)}c(Ue,"Je");export{mt as default};