@lunora/studio 1.0.0-alpha.49 → 1.0.0-alpha.50

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 (85) hide show
  1. package/dist/index.d.ts +10 -5
  2. package/dist/index.js +6 -6
  3. package/dist/mount.d.ts +1 -1
  4. package/dist/mount.js +1 -1
  5. package/dist/packem_chunks/ApiTab.js +1 -1
  6. package/dist/packem_chunks/AuditPanel.js +1 -1
  7. package/dist/packem_chunks/ExportImportPanel.js +1 -1
  8. package/dist/packem_chunks/FileBrowser.js +1 -1
  9. package/dist/packem_chunks/FunctionRunner.js +1 -1
  10. package/dist/packem_chunks/FunctionStatsPanel.js +1 -1
  11. package/dist/packem_chunks/HealthPanel.js +1 -1
  12. package/dist/packem_chunks/InsightsPanel.js +1 -1
  13. package/dist/packem_chunks/LogsPanel.js +1 -1
  14. package/dist/packem_chunks/MailPanel.js +1 -1
  15. package/dist/packem_chunks/MetricsPanel.js +1 -1
  16. package/dist/packem_chunks/MigrationsPanel.js +1 -1
  17. package/dist/packem_chunks/PitrPanel.js +1 -1
  18. package/dist/packem_chunks/SchemaViewer.js +1 -1
  19. package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -1
  20. package/dist/packem_chunks/SettingsPanel.js +1 -1
  21. package/dist/packem_chunks/SqlEditorPanel.js +1 -1
  22. package/dist/packem_chunks/TableEditor.js +1 -1
  23. package/dist/packem_chunks/agents-panel.js +1 -1
  24. package/dist/packem_chunks/containers-panel.js +21 -7
  25. package/dist/packem_chunks/dashboards-panel.js +1 -1
  26. package/dist/packem_chunks/fanout-panel.js +1 -1
  27. package/dist/packem_chunks/flags-panel.js +1 -1
  28. package/dist/packem_chunks/issues-panel.js +188 -0
  29. package/dist/packem_chunks/kv-browser.js +1 -1
  30. package/dist/packem_chunks/payments-panel.js +1 -1
  31. package/dist/packem_chunks/permissions-panel.js +1 -1
  32. package/dist/packem_chunks/queues-panel.js +1 -1
  33. package/dist/packem_chunks/rls-panel.js +1 -1
  34. package/dist/packem_chunks/storage-rules-panel.js +1 -1
  35. package/dist/packem_chunks/subscriptions-panel.js +1 -1
  36. package/dist/packem_chunks/workflows-panel.js +1 -1
  37. package/dist/packem_shared/{ADMIN_FUNCTIONS-BHHJi3Gb.js → ADMIN_FUNCTIONS-DNeyYtUN.js} +1 -0
  38. package/dist/packem_shared/{ApiDocsPanel-B2Rc7nOF.js → ApiDocsPanel-_aEZxAMX.js} +1 -1
  39. package/dist/packem_shared/{DataBrowser-Cc197zke.js → DataBrowser-C8hejnub.js} +1 -1
  40. package/dist/packem_shared/{HomePanel-CjDlJzzs.js → HomePanel-Ye8PaqQL.js} +2 -2
  41. package/dist/packem_shared/{Studio-MB2VTLwI.js → Studio-xJLTlLpf.js} +2 -2
  42. package/dist/packem_shared/{StudioApp-Ds6u0iY5.js → StudioApp-oCQholCL.js} +1 -1
  43. package/dist/packem_shared/{app.d-Bly6zmWK.d.ts → app.d-CGdOmLTm.d.ts} +1 -1
  44. package/dist/packem_shared/{home-panel-BohxdqDb.js → home-panel-D62G8108.js} +1 -1
  45. package/dist/packem_shared/{studio-Bv27fj7n.js → studio-WZUOecDv.js} +578 -551
  46. package/dist/standalone/{chunk-2JUOJEKE.js → chunk-2JTPX3CV.js} +1 -1
  47. package/dist/standalone/{chunk-2O4BHAHA.js → chunk-3CPQ5IQU.js} +1 -1
  48. package/dist/standalone/{chunk-BTODL6SI.js → chunk-4AXW2ECS.js} +1 -1
  49. package/dist/standalone/chunk-4BVRLBEW.js +1 -0
  50. package/dist/standalone/{chunk-QCW4BAH5.js → chunk-6RREMPQX.js} +1 -1
  51. package/dist/standalone/{chunk-AHDVD4KF.js → chunk-6ZBU3JWR.js} +1 -1
  52. package/dist/standalone/chunk-A2DBMISD.js +1 -0
  53. package/dist/standalone/{chunk-Q7HPS6TW.js → chunk-A66LI6OV.js} +1 -1
  54. package/dist/standalone/{chunk-CDHEMVIY.js → chunk-CJXJIRSN.js} +1 -1
  55. package/dist/standalone/{chunk-R6H6DUPU.js → chunk-DR6LGPXE.js} +1 -1
  56. package/dist/standalone/{chunk-CTOOUWO4.js → chunk-FAUN4Z72.js} +1 -1
  57. package/dist/standalone/chunk-G7ZBM54M.js +1 -0
  58. package/dist/standalone/{chunk-5YPIP3G7.js → chunk-HAJSYWFT.js} +1 -1
  59. package/dist/standalone/{chunk-6U45TJXA.js → chunk-HQM6MBPS.js} +1 -1
  60. package/dist/standalone/{chunk-ECJPFPHR.js → chunk-HTQNZXDT.js} +1 -1
  61. package/dist/standalone/{chunk-W5BAQMIE.js → chunk-IO2XEI6T.js} +1 -1
  62. package/dist/standalone/{chunk-WK7VHQTQ.js → chunk-K4S652EQ.js} +1 -1
  63. package/dist/standalone/{chunk-L4UCG6XZ.js → chunk-KJFFID72.js} +1 -1
  64. package/dist/standalone/{chunk-R2HA2NVX.js → chunk-LJAAZNQ6.js} +1 -1
  65. package/dist/standalone/{chunk-UWSLX56Q.js → chunk-LX7KONE3.js} +1 -1
  66. package/dist/standalone/{chunk-XGPFWZPJ.js → chunk-NW6SZZ5O.js} +1 -1
  67. package/dist/standalone/{chunk-NH4FSHFO.js → chunk-P2ERTKMB.js} +1 -1
  68. package/dist/standalone/{chunk-N4TGVH2R.js → chunk-PS3XCCZD.js} +1 -1
  69. package/dist/standalone/{chunk-ALTQC4S5.js → chunk-RS7S7XVP.js} +1 -1
  70. package/dist/standalone/{chunk-GA6K5WS5.js → chunk-S7AB7Y75.js} +1 -1
  71. package/dist/standalone/{chunk-FFCUV3TZ.js → chunk-SHJUAHC6.js} +1 -1
  72. package/dist/standalone/{chunk-RE4LLVPN.js → chunk-TYN6SQ73.js} +1 -1
  73. package/dist/standalone/{chunk-XPLUSBKA.js → chunk-U26QNHMO.js} +1 -1
  74. package/dist/standalone/{chunk-Q6356GAQ.js → chunk-VL6HOZHF.js} +1 -1
  75. package/dist/standalone/{chunk-RYF5EUQA.js → chunk-X2TQRMQV.js} +1 -1
  76. package/dist/standalone/{chunk-ZANX3V5B.js → chunk-X4676IX6.js} +1 -1
  77. package/dist/standalone/{chunk-3JXKA6BH.js → chunk-XJU5SRNL.js} +1 -1
  78. package/dist/standalone/chunk-XWPZBZSZ.js +3 -0
  79. package/dist/standalone/{chunk-CCRVGYTN.js → chunk-YLHDKM2P.js} +1 -1
  80. package/dist/standalone/studio.js +1 -1
  81. package/dist/styles.css +1 -1
  82. package/package.json +1 -1
  83. package/dist/standalone/chunk-4TV6S6AO.js +0 -3
  84. package/dist/standalone/chunk-BOXSWNXZ.js +0 -1
  85. package/dist/standalone/chunk-ZVLQVBTM.js +0 -1
@@ -1,4 +1,4 @@
1
- import{b as Le}from"./chunk-TO6D2PJC.js";import"./chunk-V43BLH4J.js";import"./chunk-APSSZB6Z.js";import{c as Be}from"./chunk-TQ36RWOP.js";import"./chunk-QAFAJBAW.js";import{a as ye}from"./chunk-3GXGLNKW.js";import"./chunk-AHILM3ZP.js";import{a as Ke}from"./chunk-J6J54MBP.js";import"./chunk-WVTPZ6CM.js";import"./chunk-SHERR7ZP.js";import"./chunk-5OIBXYZM.js";import"./chunk-L7SK4ZZD.js";import{a as ze}from"./chunk-EEWKIQUE.js";import"./chunk-KEGAWN6Y.js";import{a as Fe,b as De,c as Re,d as de,e as le,f as ee}from"./chunk-GTM65MVX.js";import{a as Te,e as _e}from"./chunk-SEU5V7I6.js";import"./chunk-4QHKBC77.js";import{a as $e}from"./chunk-LUP4YTBS.js";import"./chunk-4PC7IXNY.js";import"./chunk-2MLA6WFH.js";import{R as Ne}from"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import{c as se}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import{b as ie}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{a as be}from"./chunk-BOXSWNXZ.js";import{f as we}from"./chunk-SDMZKBTD.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{a as me}from"./chunk-TAD43CG5.js";import{d as Ce,f as ge,g as pe,h as Q,l as H,n as Ee,o as ve}from"./chunk-ITQKVEP7.js";import"./chunk-22C6COGE.js";import{a as g,e as he,f as gt,g as pt,h as vt}from"./chunk-RRCPZMC2.js";var j=he(pt(),1),_=he(gt(),1);var l=he(vt(),1);var je=g((c,e,s)=>{let t=(0,j.c)(21),{onCopy:n,onDelete:o,onDownload:u,onToggleSelect:a}=s,r;t[0]!==c.key||t[1]!==n?(r=g(()=>{n(c.key)},"t0"),t[0]=c.key,t[1]=n,t[2]=r):r=t[2];let d=r,h;t[3]!==c.key||t[4]!==u?(h=g(()=>{u(c.key)},"t1"),t[3]=c.key,t[4]=u,t[5]=h):h=t[5];let f=h,m;t[6]!==c.key||t[7]!==o?(m=g(()=>{o(c.key)},"t2"),t[6]=c.key,t[7]=o,t[8]=m):m=t[8];let S=m,i;t[9]!==c.key||t[10]!==a?(i=g(()=>{a(c.key)},"t3"),t[9]=c.key,t[10]=a,t[11]=i):i=t[11];let x=i,y;t[12]!==c.key||t[13]!==e.length?(y=c.key.slice(e.length),t[12]=c.key,t[13]=e.length,t[14]=y):y=t[14];let v;return t[15]!==d||t[16]!==f||t[17]!==S||t[18]!==y||t[19]!==x?(v={copy:d,download:f,name:y,remove:S,toggle:x},t[15]=d,t[16]=f,t[17]=S,t[18]=y,t[19]=x,t[20]=v):v=t[20],v},"useFileItem"),Ue=g(c=>{let e=(0,j.c)(31),{busy:s,buttonClassName:t,copied:n,objectKey:o,onCopy:u,onDelete:a,onDownload:r,t:d}=c,h=`storage-copy-${o}`,f;e[0]!==n||e[1]!==d?(f=d(n?"Copied":"Copy URL"),e[0]=n,e[1]=d,e[2]=f):f=e[2];let m;e[3]!==s||e[4]!==t||e[5]!==u||e[6]!==h||e[7]!==f?(m=(0,l.jsxDEV)(se,{className:t,"data-testid":h,disabled:s,onClick:u,size:"sm",type:"button",variant:"ghost",children:f},void 0,!1),e[3]=s,e[4]=t,e[5]=u,e[6]=h,e[7]=f,e[8]=m):m=e[8];let S=`storage-download-${o}`,i;e[9]!==d?(i=d("Download"),e[9]=d,e[10]=i):i=e[10];let x;e[11]!==s||e[12]!==t||e[13]!==r||e[14]!==S||e[15]!==i?(x=(0,l.jsxDEV)(se,{className:t,"data-testid":S,disabled:s,onClick:r,size:"sm",type:"button",variant:"ghost",children:i},void 0,!1),e[11]=s,e[12]=t,e[13]=r,e[14]=S,e[15]=i,e[16]=x):x=e[16];let y;e[17]!==d?(y=d("Delete object?"),e[17]=d,e[18]=y):y=e[18];let v=`storage-delete-${o}`,b;e[19]!==d?(b=d("Delete"),e[19]=d,e[20]=b):b=e[20];let k;e[21]!==s||e[22]!==a||e[23]!==y||e[24]!==v||e[25]!==b?(k=(0,l.jsxDEV)(ze,{confirmLabel:y,disabled:s,onConfirm:a,testId:v,children:b},void 0,!1),e[21]=s,e[22]=a,e[23]=y,e[24]=v,e[25]=b,e[26]=k):k=e[26];let w;return e[27]!==k||e[28]!==m||e[29]!==x?(w=(0,l.jsxDEV)(l.Fragment,{children:[m,x,k]},void 0,!0),e[27]=k,e[28]=m,e[29]=x,e[30]=w):w=e[30],w},"FileActions"),Me=g(c=>{let e=(0,j.c)(14),{objectKey:s,references:t,t:n}=c;if(t===void 0)return null;if(t.length===0){let h=`storage-orphan-${s}`,f;e[0]!==n?(f=n("Orphan"),e[0]=n,e[1]=f):f=e[1];let m;return e[2]!==h||e[3]!==f?(m=(0,l.jsxDEV)(ie,{"data-testid":h,variant:"warning",children:f},void 0,!1),e[2]=h,e[3]=f,e[4]=m):m=e[4],m}let o;e[5]!==t?(o=t.map(bt).join(`
1
+ import{b as Le}from"./chunk-TO6D2PJC.js";import"./chunk-V43BLH4J.js";import"./chunk-APSSZB6Z.js";import"./chunk-QAFAJBAW.js";import{c as Be}from"./chunk-TQ36RWOP.js";import{a as ye}from"./chunk-3GXGLNKW.js";import"./chunk-AHILM3ZP.js";import{a as Ke}from"./chunk-J6J54MBP.js";import"./chunk-WVTPZ6CM.js";import"./chunk-SHERR7ZP.js";import"./chunk-5OIBXYZM.js";import"./chunk-L7SK4ZZD.js";import{a as ze}from"./chunk-EEWKIQUE.js";import"./chunk-KEGAWN6Y.js";import{a as Fe,b as De,c as Re,d as de,e as le,f as ee}from"./chunk-GTM65MVX.js";import{a as Te,e as _e}from"./chunk-SEU5V7I6.js";import"./chunk-4QHKBC77.js";import{a as $e}from"./chunk-LUP4YTBS.js";import"./chunk-4PC7IXNY.js";import"./chunk-2MLA6WFH.js";import{R as Ne}from"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import{c as se}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import{b as ie}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{a as be}from"./chunk-G7ZBM54M.js";import{f as we}from"./chunk-SDMZKBTD.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{a as me}from"./chunk-TAD43CG5.js";import{d as Ce,f as ge,g as pe,h as Q,l as H,n as Ee,o as ve}from"./chunk-ITQKVEP7.js";import"./chunk-22C6COGE.js";import{a as g,e as he,f as gt,g as pt,h as vt}from"./chunk-RRCPZMC2.js";var j=he(pt(),1),_=he(gt(),1);var l=he(vt(),1);var je=g((c,e,s)=>{let t=(0,j.c)(21),{onCopy:n,onDelete:o,onDownload:u,onToggleSelect:a}=s,r;t[0]!==c.key||t[1]!==n?(r=g(()=>{n(c.key)},"t0"),t[0]=c.key,t[1]=n,t[2]=r):r=t[2];let d=r,h;t[3]!==c.key||t[4]!==u?(h=g(()=>{u(c.key)},"t1"),t[3]=c.key,t[4]=u,t[5]=h):h=t[5];let f=h,m;t[6]!==c.key||t[7]!==o?(m=g(()=>{o(c.key)},"t2"),t[6]=c.key,t[7]=o,t[8]=m):m=t[8];let S=m,i;t[9]!==c.key||t[10]!==a?(i=g(()=>{a(c.key)},"t3"),t[9]=c.key,t[10]=a,t[11]=i):i=t[11];let x=i,y;t[12]!==c.key||t[13]!==e.length?(y=c.key.slice(e.length),t[12]=c.key,t[13]=e.length,t[14]=y):y=t[14];let v;return t[15]!==d||t[16]!==f||t[17]!==S||t[18]!==y||t[19]!==x?(v={copy:d,download:f,name:y,remove:S,toggle:x},t[15]=d,t[16]=f,t[17]=S,t[18]=y,t[19]=x,t[20]=v):v=t[20],v},"useFileItem"),Ue=g(c=>{let e=(0,j.c)(31),{busy:s,buttonClassName:t,copied:n,objectKey:o,onCopy:u,onDelete:a,onDownload:r,t:d}=c,h=`storage-copy-${o}`,f;e[0]!==n||e[1]!==d?(f=d(n?"Copied":"Copy URL"),e[0]=n,e[1]=d,e[2]=f):f=e[2];let m;e[3]!==s||e[4]!==t||e[5]!==u||e[6]!==h||e[7]!==f?(m=(0,l.jsxDEV)(se,{className:t,"data-testid":h,disabled:s,onClick:u,size:"sm",type:"button",variant:"ghost",children:f},void 0,!1),e[3]=s,e[4]=t,e[5]=u,e[6]=h,e[7]=f,e[8]=m):m=e[8];let S=`storage-download-${o}`,i;e[9]!==d?(i=d("Download"),e[9]=d,e[10]=i):i=e[10];let x;e[11]!==s||e[12]!==t||e[13]!==r||e[14]!==S||e[15]!==i?(x=(0,l.jsxDEV)(se,{className:t,"data-testid":S,disabled:s,onClick:r,size:"sm",type:"button",variant:"ghost",children:i},void 0,!1),e[11]=s,e[12]=t,e[13]=r,e[14]=S,e[15]=i,e[16]=x):x=e[16];let y;e[17]!==d?(y=d("Delete object?"),e[17]=d,e[18]=y):y=e[18];let v=`storage-delete-${o}`,b;e[19]!==d?(b=d("Delete"),e[19]=d,e[20]=b):b=e[20];let k;e[21]!==s||e[22]!==a||e[23]!==y||e[24]!==v||e[25]!==b?(k=(0,l.jsxDEV)(ze,{confirmLabel:y,disabled:s,onConfirm:a,testId:v,children:b},void 0,!1),e[21]=s,e[22]=a,e[23]=y,e[24]=v,e[25]=b,e[26]=k):k=e[26];let w;return e[27]!==k||e[28]!==m||e[29]!==x?(w=(0,l.jsxDEV)(l.Fragment,{children:[m,x,k]},void 0,!0),e[27]=k,e[28]=m,e[29]=x,e[30]=w):w=e[30],w},"FileActions"),Me=g(c=>{let e=(0,j.c)(14),{objectKey:s,references:t,t:n}=c;if(t===void 0)return null;if(t.length===0){let h=`storage-orphan-${s}`,f;e[0]!==n?(f=n("Orphan"),e[0]=n,e[1]=f):f=e[1];let m;return e[2]!==h||e[3]!==f?(m=(0,l.jsxDEV)(ie,{"data-testid":h,variant:"warning",children:f},void 0,!1),e[2]=h,e[3]=f,e[4]=m):m=e[4],m}let o;e[5]!==t?(o=t.map(bt).join(`
2
2
  `),e[5]=t,e[6]=o):o=e[6];let u=o,a=`storage-refs-${s}`,r;e[7]!==t.length||e[8]!==n?(r=t.length===1?n("1 record"):n("{count} records",{count:t.length}),e[7]=t.length,e[8]=n,e[9]=r):r=e[9];let d;return e[10]!==u||e[11]!==a||e[12]!==r?(d=(0,l.jsxDEV)(ie,{"data-testid":a,title:u,variant:"secondary",children:r},void 0,!1),e[10]=u,e[11]=a,e[12]=r,e[13]=d):d=e[13],d},"FileReferences"),Ge=g(c=>{let e=(0,j.c)(7),{objectKey:s,onToggle:t,selected:n,t:o}=c,u;e[0]!==o?(u=o("Select row"),e[0]=o,e[1]=u):u=e[1];let a=`storage-select-${s}`,r;return e[2]!==t||e[3]!==n||e[4]!==u||e[5]!==a?(r=(0,l.jsxDEV)(ye,{"aria-label":u,checked:n,"data-testid":a,onCheckedChange:t},void 0,!1),e[2]=t,e[3]=n,e[4]=u,e[5]=a,e[6]=r):r=e[6],r},"FileSelect");function bt(c){return`${c.table}\xB7${c.id}`}g(bt,"_temp$2");var yt=g(c=>{let e=(0,j.c)(10),{colSpan:s,name:t,onEnter:n}=c,o;e[0]!==t||e[1]!==n?(o=g(()=>{n(t)},"t1"),e[0]=t,e[1]=n,e[2]=o):o=e[2];let u=o,a;e[3]===Symbol.for("react.memo_cache_sentinel")?(a=(0,l.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,l.jsxDEV)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"},void 0,!1)},void 0,!1),e[3]=a):a=e[3];let r;e[4]!==u||e[5]!==t?(r=(0,l.jsxDEV)("button",{className:"inline-flex items-center gap-2 font-mono text-xs outline-none hover:text-foreground focus-visible:text-foreground","data-testid":"fb-folder",onClick:u,type:"button",children:[a,t]},void 0,!0),e[4]=u,e[5]=t,e[6]=r):r=e[6];let d;return e[7]!==s||e[8]!==r?(d=(0,l.jsxDEV)(de,{children:(0,l.jsxDEV)(ee,{colSpan:s,children:r},void 0,!1)},void 0,!1),e[7]=s,e[8]=r,e[9]=d):d=e[9],d},"FolderRow"),xt=g(c=>{let e=(0,j.c)(33),{busy:s,copiedKey:t,handlers:n,object:o,prefix:u,references:a,selected:r,showReferences:d,t:h}=c,{copy:f,download:m,name:S,remove:i,toggle:x}=je(o,u,n),y;e[0]!==o.key||e[1]!==r||e[2]!==h||e[3]!==x?(y=(0,l.jsxDEV)(ee,{className:"w-8",children:(0,l.jsxDEV)(Ge,{objectKey:o.key,onToggle:x,selected:r,t:h},void 0,!1)},void 0,!1),e[0]=o.key,e[1]=r,e[2]=h,e[3]=x,e[4]=y):y=e[4];let v;e[5]!==S?(v=(0,l.jsxDEV)(ee,{className:"font-mono text-xs",children:S},void 0,!1),e[5]=S,e[6]=v):v=e[6];let b;e[7]!==o.size?(b=ve(o.size),e[7]=o.size,e[8]=b):b=e[8];let k;e[9]!==b?(k=(0,l.jsxDEV)(ee,{className:"tabular-nums text-muted-foreground",children:b},void 0,!1),e[9]=b,e[10]=k):k=e[10];let w=o.httpMetadata?.contentType??"",T;e[11]!==w?(T=(0,l.jsxDEV)(ee,{children:w},void 0,!1),e[11]=w,e[12]=T):T=e[12];let C;e[13]!==o.key||e[14]!==a||e[15]!==d||e[16]!==h?(C=d&&(0,l.jsxDEV)(ee,{children:(0,l.jsxDEV)(Me,{objectKey:o.key,references:a,t:h},void 0,!1)},void 0,!1),e[13]=o.key,e[14]=a,e[15]=d,e[16]=h,e[17]=C):C=e[17];let N=t===o.key,E;e[18]!==s||e[19]!==f||e[20]!==m||e[21]!==o.key||e[22]!==i||e[23]!==h||e[24]!==N?(E=(0,l.jsxDEV)(ee,{className:"text-right",children:(0,l.jsxDEV)("span",{className:"inline-flex items-center gap-1",children:(0,l.jsxDEV)(Ue,{busy:s,copied:N,objectKey:o.key,onCopy:f,onDelete:i,onDownload:m,t:h},void 0,!1)},void 0,!1)},void 0,!1),e[18]=s,e[19]=f,e[20]=m,e[21]=o.key,e[22]=i,e[23]=h,e[24]=N,e[25]=E):E=e[25];let F;return e[26]!==y||e[27]!==v||e[28]!==k||e[29]!==T||e[30]!==C||e[31]!==E?(F=(0,l.jsxDEV)(de,{"data-testid":"fb-row",children:[y,v,k,T,C,E]},void 0,!0),e[26]=y,e[27]=v,e[28]=k,e[29]=T,e[30]=C,e[31]=E,e[32]=F):F=e[32],F},"FileRow"),kt=g(c=>{let e=(0,j.c)(65),{allSelected:s,busy:t,copiedKey:n,files:o,folders:u,handlers:a,onEnterFolder:r,prefix:d,references:h,selected:f,showReferences:m,someSelected:S,t:i,toggleSelectAll:x}=c,y;e[0]!==i?(y=i("Select all rows"),e[0]=i,e[1]=y):y=e[1];let v;e[2]!==s||e[3]!==S||e[4]!==y||e[5]!==x?(v=(0,l.jsxDEV)(le,{className:"w-8",children:(0,l.jsxDEV)(ye,{"aria-label":y,checked:s,"data-testid":"storage-select-all",indeterminate:S,onCheckedChange:x},void 0,!1)},void 0,!1),e[2]=s,e[3]=S,e[4]=y,e[5]=x,e[6]=v):v=e[6];let b;e[7]!==i?(b=i("key"),e[7]=i,e[8]=b):b=e[8];let k;e[9]!==b?(k=(0,l.jsxDEV)(le,{children:b},void 0,!1),e[9]=b,e[10]=k):k=e[10];let w;e[11]!==i?(w=i("size"),e[11]=i,e[12]=w):w=e[12];let T;e[13]!==w?(T=(0,l.jsxDEV)(le,{children:w},void 0,!1),e[13]=w,e[14]=T):T=e[14];let C;e[15]!==i?(C=i("content-type"),e[15]=i,e[16]=C):C=e[16];let N;e[17]!==C?(N=(0,l.jsxDEV)(le,{children:C},void 0,!1),e[17]=C,e[18]=N):N=e[18];let E;e[19]!==m||e[20]!==i?(E=m&&(0,l.jsxDEV)(le,{children:i("used by")},void 0,!1),e[19]=m,e[20]=i,e[21]=E):E=e[21];let F;e[22]!==i?(F=i("Actions"),e[22]=i,e[23]=F):F=e[23];let R;e[24]!==F?(R=(0,l.jsxDEV)(le,{"aria-label":F},void 0,!1),e[24]=F,e[25]=R):R=e[25];let D;e[26]!==R||e[27]!==v||e[28]!==k||e[29]!==T||e[30]!==N||e[31]!==E?(D=(0,l.jsxDEV)(De,{children:(0,l.jsxDEV)(de,{children:[v,k,T,N,E,R]},void 0,!0)},void 0,!1),e[26]=R,e[27]=v,e[28]=k,e[29]=T,e[30]=N,e[31]=E,e[32]=D):D=e[32];let B;if(e[33]!==u||e[34]!==r||e[35]!==m){let z;e[37]!==r||e[38]!==m?(z=g(L=>(0,l.jsxDEV)(yt,{colSpan:m?6:5,name:L,onEnter:r},L,!1),"t142"),e[37]=r,e[38]=m,e[39]=z):z=e[39],B=u.map(z),e[33]=u,e[34]=r,e[35]=m,e[36]=B}else B=e[36];let I;if(e[40]!==t||e[41]!==n||e[42]!==o||e[43]!==a||e[44]!==d||e[45]!==h||e[46]!==f||e[47]!==m||e[48]!==i){let z;e[50]!==t||e[51]!==n||e[52]!==a||e[53]!==d||e[54]!==h||e[55]!==f||e[56]!==m||e[57]!==i?(z=g(L=>(0,l.jsxDEV)(xt,{busy:t,copiedKey:n,handlers:a,object:L,prefix:d,references:h[L.key],selected:f.has(L.key),showReferences:m,t:i},L.key,!1),"t152"),e[50]=t,e[51]=n,e[52]=a,e[53]=d,e[54]=h,e[55]=f,e[56]=m,e[57]=i,e[58]=z):z=e[58],I=o.map(z),e[40]=t,e[41]=n,e[42]=o,e[43]=a,e[44]=d,e[45]=h,e[46]=f,e[47]=m,e[48]=i,e[49]=I}else I=e[49];let K;e[59]!==B||e[60]!==I?(K=(0,l.jsxDEV)(Re,{children:[B,I]},void 0,!0),e[59]=B,e[60]=I,e[61]=K):K=e[61];let A;return e[62]!==D||e[63]!==K?(A=(0,l.jsxDEV)(Te,{className:"overflow-hidden py-0",children:(0,l.jsxDEV)(_e,{className:"px-0",children:(0,l.jsxDEV)(Fe,{"data-testid":"fb-table",children:[D,K]},void 0,!0)},void 0,!1)},void 0,!1),e[62]=D,e[63]=K,e[64]=A):A=e[64],A},"FileBrowserList"),St=[{label:"15m",seconds:900},{label:"1h",seconds:3600},{label:"24h",seconds:86400},{label:"7d",seconds:604800}],wt=3600,Ie=g((c,e)=>{if(e==="size")return c.size;if(e==="type")return c.httpMetadata?.contentType??"";if(e==="date"){if(c.uploaded===void 0)return 0;let s=new Date(c.uploaded).getTime();return Number.isNaN(s)?0:s}return e.startsWith("tag:")?c.customMetadata?.[e.slice(4)]??"":c.key},"fileSortValue"),Ct=g((c,e,s)=>{let t=s==="desc"?-1:1;return c.toSorted((n,o)=>{let u=Ie(n,e),a=Ie(o,e);return(typeof u=="number"&&typeof a=="number"?u-a:String(u).localeCompare(String(a)))*t})},"sortFiles"),Nt=g((c,e)=>{let s=new Set,t=[];for(let n of c){let o=n.key.slice(e.length),u=o.indexOf("/");u===-1?t.push(n):s.add(o.slice(0,u+1))}return{files:t,folders:[...s].toSorted((n,o)=>n.localeCompare(o))}},"deriveEntries"),Tt=g(c=>{let e=(0,j.c)(59),{bucket:s,buckets:t,busy:n,draftPrefix:o,expiry:u,fileInputRef:a,onBucketChange:r,onExpiryChange:d,onFileChange:h,onList:f,onPrefixChange:m,onUploadClick:S,t:i}=c,x;e[0]!==m?(x=g(G=>{m(G.target.value)},"t1"),e[0]=m,e[1]=x):x=e[1];let y=x,v;e[2]!==r?(v=g(G=>{r(G.target.value)},"t2"),e[2]=r,e[3]=v):v=e[3];let b=v,k;e[4]!==d?(k=g(G=>{d(Number.parseInt(G.target.value,10))},"t3"),e[4]=d,e[5]=k):k=e[5];let w=k,T;e[6]!==s||e[7]!==t||e[8]!==b||e[9]!==i?(T=t.length>0&&(0,l.jsxDEV)("select",{"aria-label":i("Bucket"),className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-bucket",onChange:b,value:s,children:t.map(Et)},void 0,!1),e[6]=s,e[7]=t,e[8]=b,e[9]=i,e[10]=T):T=e[10];let C;e[11]!==i?(C=i("Key prefix"),e[11]=i,e[12]=C):C=e[12];let N;e[13]!==i?(N=i("key prefix (optional)"),e[13]=i,e[14]=N):N=e[14];let E;e[15]!==o||e[16]!==y||e[17]!==C||e[18]!==N?(E=(0,l.jsxDEV)(Ne,{"aria-label":C,className:"h-8 w-64 max-w-full","data-testid":"fb-prefix-input",onChange:y,placeholder:N,value:o},void 0,!1),e[15]=o,e[16]=y,e[17]=C,e[18]=N,e[19]=E):E=e[19];let F;e[20]!==i?(F=i("List"),e[20]=i,e[21]=F):F=e[21];let R;e[22]!==n||e[23]!==f||e[24]!==F?(R=(0,l.jsxDEV)(se,{"data-testid":"fb-list",disabled:n,onClick:f,size:"sm",type:"button",children:F},void 0,!1),e[22]=n,e[23]=f,e[24]=F,e[25]=R):R=e[25];let D;e[26]!==n||e[27]!==i?(D=i(n?"Uploading\u2026":"Upload"),e[26]=n,e[27]=i,e[28]=D):D=e[28];let B;e[29]!==n||e[30]!==S||e[31]!==D?(B=(0,l.jsxDEV)(se,{"data-testid":"storage-upload",disabled:n,onClick:S,size:"sm",type:"button",variant:"outline",children:D},void 0,!1),e[29]=n,e[30]=S,e[31]=D,e[32]=B):B=e[32];let I;e[33]!==a||e[34]!==h?(I=(0,l.jsxDEV)("input",{className:"hidden","data-testid":"storage-file-input",onChange:h,ref:a,type:"file"},void 0,!1),e[33]=a,e[34]=h,e[35]=I):I=e[35];let K;e[36]!==i?(K=i("Link expiry"),e[36]=i,e[37]=K):K=e[37];let A;e[38]!==i?(A=St.map(G=>(0,l.jsxDEV)("option",{value:G.seconds,children:i(G.label)},G.seconds,!1)),e[38]=i,e[39]=A):A=e[39];let z;e[40]!==u||e[41]!==w||e[42]!==A?(z=(0,l.jsxDEV)("select",{className:"h-8 rounded-md border border-border bg-background px-1 tabular-nums outline-none focus-visible:border-ring","data-testid":"storage-expiry",id:"storage-expiry",onChange:w,value:u,children:A},void 0,!1),e[40]=u,e[41]=w,e[42]=A,e[43]=z):z=e[43];let L;e[44]!==K||e[45]!==z?(L=(0,l.jsxDEV)("label",{className:"ml-auto flex items-center gap-1.5 text-xs text-muted-foreground",htmlFor:"storage-expiry",children:[K,z]},void 0,!0),e[44]=K,e[45]=z,e[46]=L):L=e[46];let U;e[47]!==i?(U=i("Open in Cloudflare"),e[47]=i,e[48]=U):U=e[48];let M;e[49]!==U?(M=(0,l.jsxDEV)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"fb-cf-link",href:Be,rel:"noreferrer",target:"_blank",children:U},void 0,!1),e[49]=U,e[50]=M):M=e[50];let P;return e[51]!==B||e[52]!==I||e[53]!==L||e[54]!==M||e[55]!==T||e[56]!==E||e[57]!==R?(P=(0,l.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2",children:[T,E,R,B,I,L,M]},void 0,!0),e[51]=B,e[52]=I,e[53]=L,e[54]=M,e[55]=T,e[56]=E,e[57]=R,e[58]=P):P=e[58],P},"FileBrowserToolbar"),_t=g(c=>{let e=(0,j.c)(66),{onSortKeyChange:s,onThumbSizeChange:t,showGrid:n,showList:o,sortDirection:u,sortKey:a,t:r,tagKeys:d,thumbSize:h,toggleSortDirection:f,view:m}=c,S;e[0]!==s?(S=g(W=>{s(W.target.value)},"t1"),e[0]=s,e[1]=S):S=e[1];let i=S,x;e[2]!==t?(x=g(W=>{t(Number.parseInt(W.target.value,10))},"t2"),e[2]=t,e[3]=x):x=e[3];let y=x,v=m==="list",b;e[4]!==r?(b=r("List"),e[4]=r,e[5]=b):b=e[5];let k;e[6]!==o||e[7]!==v||e[8]!==b?(k=(0,l.jsxDEV)("button",{"aria-pressed":v,className:"px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-list",onClick:o,type:"button",children:b},void 0,!1),e[6]=o,e[7]=v,e[8]=b,e[9]=k):k=e[9];let w=m==="grid",T;e[10]!==r?(T=r("Grid"),e[10]=r,e[11]=T):T=e[11];let C;e[12]!==n||e[13]!==w||e[14]!==T?(C=(0,l.jsxDEV)("button",{"aria-pressed":w,className:"border-s border-border px-2 py-1 outline-none transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-testid":"fb-view-grid",onClick:n,type:"button",children:T},void 0,!1),e[12]=n,e[13]=w,e[14]=T,e[15]=C):C=e[15];let N;e[16]!==k||e[17]!==C?(N=(0,l.jsxDEV)("div",{className:"inline-flex overflow-hidden rounded-md border border-border",children:[k,C]},void 0,!0),e[16]=k,e[17]=C,e[18]=N):N=e[18];let E;e[19]!==r?(E=r("Sort"),e[19]=r,e[20]=E):E=e[20];let F;e[21]!==r?(F=r("Name"),e[21]=r,e[22]=F):F=e[22];let R;e[23]!==F?(R=(0,l.jsxDEV)("option",{value:"name",children:F},void 0,!1),e[23]=F,e[24]=R):R=e[24];let D;e[25]!==r?(D=r("size"),e[25]=r,e[26]=D):D=e[26];let B;e[27]!==D?(B=(0,l.jsxDEV)("option",{value:"size",children:D},void 0,!1),e[27]=D,e[28]=B):B=e[28];let I;e[29]!==r?(I=r("Type"),e[29]=r,e[30]=I):I=e[30];let K;e[31]!==I?(K=(0,l.jsxDEV)("option",{value:"type",children:I},void 0,!1),e[31]=I,e[32]=K):K=e[32];let A;e[33]!==r?(A=r("Modified"),e[33]=r,e[34]=A):A=e[34];let z;e[35]!==A?(z=(0,l.jsxDEV)("option",{value:"date",children:A},void 0,!1),e[35]=A,e[36]=z):z=e[36];let L;e[37]!==d?(L=d.map($t),e[37]=d,e[38]=L):L=e[38];let U;e[39]!==i||e[40]!==a||e[41]!==R||e[42]!==B||e[43]!==K||e[44]!==z||e[45]!==L?(U=(0,l.jsxDEV)("select",{className:"h-8 rounded-md border border-border bg-background px-1 outline-none focus-visible:border-ring","data-testid":"fb-sort",id:"fb-sort",onChange:i,value:a,children:[R,B,K,z,L]},void 0,!0),e[39]=i,e[40]=a,e[41]=R,e[42]=B,e[43]=K,e[44]=z,e[45]=L,e[46]=U):U=e[46];let M;e[47]!==E||e[48]!==U?(M=(0,l.jsxDEV)("label",{className:"flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-sort",children:[E,U]},void 0,!0),e[47]=E,e[48]=U,e[49]=M):M=e[49];let P;e[50]!==r?(P=r("Toggle sort direction"),e[50]=r,e[51]=P):P=e[51];let G=u==="asc"?"\u2191":"\u2193",q;e[52]!==P||e[53]!==G||e[54]!==f?(q=(0,l.jsxDEV)("button",{"aria-label":P,className:"flex size-8 items-center justify-center rounded-md border border-border tabular-nums outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"fb-sort-dir",onClick:f,type:"button",children:G},void 0,!1),e[52]=P,e[53]=G,e[54]=f,e[55]=q):q=e[55];let Y;e[56]!==y||e[57]!==r||e[58]!==h||e[59]!==m?(Y=m==="grid"&&(0,l.jsxDEV)("label",{className:"ml-auto flex items-center gap-1.5 text-muted-foreground",htmlFor:"fb-thumb-size",children:[r("Thumbnail size"),(0,l.jsxDEV)("input",{className:"accent-primary","data-testid":"fb-thumb-size",id:"fb-thumb-size",max:240,min:80,onChange:y,step:8,type:"range",value:h},void 0,!1)]},void 0,!0),e[56]=y,e[57]=r,e[58]=h,e[59]=m,e[60]=Y):Y=e[60];let oe;return e[61]!==M||e[62]!==q||e[63]!==Y||e[64]!==N?(oe=(0,l.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2 text-xs","data-testid":"fb-controls",children:[N,M,q,Y]},void 0,!0),e[61]=M,e[62]=q,e[63]=Y,e[64]=N,e[65]=oe):oe=e[65],oe},"FileBrowserControls");function Et(c){return(0,l.jsxDEV)("option",{value:c,children:c},c,!1)}g(Et,"_temp$1");function $t(c){return(0,l.jsxDEV)("option",{value:`tag:${c}`,children:c},c,!1)}g($t,"_temp2");var Ft=/\.(?:avif|bmp|gif|ico|jpe?g|png|svg|webp)$/iu,Dt=g(c=>(c.httpMetadata?.contentType??"").startsWith("image/")||Ft.test(c.key),"isImage"),Rt=g(()=>{let c=(0,j.c)(1),e;return c[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,l.jsxDEV)("svg",{"aria-hidden":"true",className:"size-8 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,l.jsxDEV)("path",{d:"M7 3h7l5 5v13a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1Zm7 0v5h5"},void 0,!1)},void 0,!1),c[0]=e):e=c[0],e},"FileGlyph"),zt=g(c=>{let e=(0,j.c)(13),{object:s,resolveUrl:t}=c,[n,o]=(0,_.useState)(null),[u,a]=(0,_.useState)(!1),r;e[0]!==s?(r=Dt(s),e[0]=s,e[1]=r):r=e[1];let d=r,h,f;e[2]!==d||e[3]!==s.key||e[4]!==t?(h=g(()=>{if(!d)return;let x={cancelled:!1};return H((async()=>{try{let y=await t(s.key);x.cancelled||o(y)}catch{x.cancelled||a(!0)}})()),()=>{x.cancelled=!0}},"t2"),f=[d,s.key,t],e[2]=d,e[3]=s.key,e[4]=t,e[5]=h,e[6]=f):(h=e[5],f=e[6]),(0,_.useEffect)(h,f);let m;e[7]===Symbol.for("react.memo_cache_sentinel")?(m=g(()=>{a(!0)},"t4"),e[7]=m):m=e[7];let S=m,i;return e[8]!==u||e[9]!==d||e[10]!==s.key||e[11]!==n?(i=(0,l.jsxDEV)("div",{className:"flex aspect-square w-full items-center justify-center overflow-hidden rounded-md border border-border bg-muted/30",children:d&&n!==null&&!u?(0,l.jsxDEV)("img",{alt:s.key,className:"size-full object-cover",loading:"lazy",onError:S,src:n},void 0,!1):(0,l.jsxDEV)(Rt,{},void 0,!1)},void 0,!1),e[8]=u,e[9]=d,e[10]=s.key,e[11]=n,e[12]=i):i=e[12],i},"Thumbnail"),Kt=g(c=>{let e=(0,j.c)(38),{busy:s,copiedKey:t,handlers:n,object:o,prefix:u,references:a,resolveUrl:r,selected:d,showReferences:h,t:f}=c,{copy:m,download:S,name:i,remove:x,toggle:y}=je(o,u,n),v;e[0]!==o||e[1]!==r?(v=(0,l.jsxDEV)(zt,{object:o,resolveUrl:r},void 0,!1),e[0]=o,e[1]=r,e[2]=v):v=e[2];let b;e[3]!==o.key||e[4]!==d||e[5]!==f||e[6]!==y?(b=(0,l.jsxDEV)("span",{className:"absolute left-1.5 top-1.5 rounded bg-background/80 p-0.5",children:(0,l.jsxDEV)(Ge,{objectKey:o.key,onToggle:y,selected:d,t:f},void 0,!1)},void 0,!1),e[3]=o.key,e[4]=d,e[5]=f,e[6]=y,e[7]=b):b=e[7];let k;e[8]!==v||e[9]!==b?(k=(0,l.jsxDEV)("div",{className:"relative",children:[v,b]},void 0,!0),e[8]=v,e[9]=b,e[10]=k):k=e[10];let w;e[11]!==i?(w=(0,l.jsxDEV)("p",{className:"truncate font-mono text-xs",title:i,children:i},void 0,!1),e[11]=i,e[12]=w):w=e[12];let T;e[13]!==o.size?(T=ve(o.size),e[13]=o.size,e[14]=T):T=e[14];let C;e[15]!==T?(C=(0,l.jsxDEV)("p",{className:"text-[11px] tabular-nums text-muted-foreground",children:T},void 0,!1),e[15]=T,e[16]=C):C=e[16];let N;e[17]!==o.key||e[18]!==a||e[19]!==h||e[20]!==f?(N=h&&(0,l.jsxDEV)("div",{className:"mt-1",children:(0,l.jsxDEV)(Me,{objectKey:o.key,references:a,t:f},void 0,!1)},void 0,!1),e[17]=o.key,e[18]=a,e[19]=h,e[20]=f,e[21]=N):N=e[21];let E;e[22]!==w||e[23]!==C||e[24]!==N?(E=(0,l.jsxDEV)("div",{className:"min-w-0",children:[w,C,N]},void 0,!0),e[22]=w,e[23]=C,e[24]=N,e[25]=E):E=e[25];let F=t===o.key,R;e[26]!==s||e[27]!==m||e[28]!==S||e[29]!==o.key||e[30]!==x||e[31]!==f||e[32]!==F?(R=(0,l.jsxDEV)("div",{className:"flex items-center gap-1",children:(0,l.jsxDEV)(Ue,{busy:s,buttonClassName:"h-7 px-2 text-xs",copied:F,objectKey:o.key,onCopy:m,onDelete:x,onDownload:S,t:f},void 0,!1)},void 0,!1),e[26]=s,e[27]=m,e[28]=S,e[29]=o.key,e[30]=x,e[31]=f,e[32]=F,e[33]=R):R=e[33];let D;return e[34]!==R||e[35]!==k||e[36]!==E?(D=(0,l.jsxDEV)("div",{className:"flex flex-col gap-1.5","data-testid":"fb-tile",children:[k,E,R]},void 0,!0),e[34]=R,e[35]=k,e[36]=E,e[37]=D):D=e[37],D},"GalleryTile"),Lt=g(c=>{let e=(0,j.c)(9),{name:s,onEnter:t}=c,n;e[0]!==s||e[1]!==t?(n=g(()=>{t(s)},"t1"),e[0]=s,e[1]=t,e[2]=n):n=e[2];let o=n,u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsxDEV)("span",{className:"flex aspect-square w-full items-center justify-center rounded-md border border-border bg-muted/30 transition-colors hover:bg-accent",children:(0,l.jsxDEV)("svg",{"aria-hidden":"true",className:"size-10 text-muted-foreground",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.4,viewBox:"0 0 24 24",children:(0,l.jsxDEV)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"},void 0,!1)},void 0,!1)},void 0,!1),e[3]=u):u=e[3];let a;e[4]!==s?(a=(0,l.jsxDEV)("span",{className:"truncate font-mono text-xs",title:s,children:s},void 0,!1),e[4]=s,e[5]=a):a=e[5];let r;return e[6]!==o||e[7]!==a?(r=(0,l.jsxDEV)("button",{className:"flex flex-col gap-1.5 text-left outline-none","data-testid":"fb-folder",onClick:o,type:"button",children:[u,a]},void 0,!0),e[6]=o,e[7]=a,e[8]=r):r=e[8],r},"FolderTile"),Bt=g(c=>{let e=(0,j.c)(34),{busy:s,copiedKey:t,files:n,folders:o,handlers:u,onEnterFolder:a,prefix:r,references:d,resolveUrl:h,selected:f,showReferences:m,size:S,t:i}=c,x;e[0]!==S?(x=S.toString(),e[0]=S,e[1]=x):x=e[1];let y=`repeat(auto-fill, minmax(${x}px, 1fr))`,v;e[2]!==y?(v={gridTemplateColumns:y},e[2]=y,e[3]=v):v=e[3];let b=v,k;if(e[4]!==o||e[5]!==a){let C;e[7]!==a?(C=g(N=>(0,l.jsxDEV)(Lt,{name:N,onEnter:a},N,!1),"t52"),e[7]=a,e[8]=C):C=e[8],k=o.map(C),e[4]=o,e[5]=a,e[6]=k}else k=e[6];let w;if(e[9]!==s||e[10]!==t||e[11]!==n||e[12]!==u||e[13]!==r||e[14]!==d||e[15]!==h||e[16]!==f||e[17]!==m||e[18]!==i){let C;e[20]!==s||e[21]!==t||e[22]!==u||e[23]!==r||e[24]!==d||e[25]!==h||e[26]!==f||e[27]!==m||e[28]!==i?(C=g(N=>(0,l.jsxDEV)(Kt,{busy:s,copiedKey:t,handlers:u,object:N,prefix:r,references:d[N.key],resolveUrl:h,selected:f.has(N.key),showReferences:m,t:i},N.key,!1),"t62"),e[20]=s,e[21]=t,e[22]=u,e[23]=r,e[24]=d,e[25]=h,e[26]=f,e[27]=m,e[28]=i,e[29]=C):C=e[29],w=n.map(C),e[9]=s,e[10]=t,e[11]=n,e[12]=u,e[13]=r,e[14]=d,e[15]=h,e[16]=f,e[17]=m,e[18]=i,e[19]=w}else w=e[19];let T;return e[30]!==b||e[31]!==k||e[32]!==w?(T=(0,l.jsxDEV)("div",{className:"grid gap-4","data-testid":"fb-gallery",style:b,children:[k,w]},void 0,!0),e[30]=b,e[31]=k,e[32]=w,e[33]=T):T=e[33],T},"FileGallery"),It=g(c=>{let e=(0,j.c)(23),{reference:s,t}=c,n=`fb-dangling-${s.table}-${s.id}-${s.column}`,o=`${s.table}\xB7${s.id}`,u;e[0]!==o?(u=(0,l.jsxDEV)(ie,{variant:"secondary",children:o},void 0,!1),e[0]=o,e[1]=u):u=e[1];let a;e[2]!==s.column?(a=(0,l.jsxDEV)("span",{className:"text-muted-foreground",children:s.column},void 0,!1),e[2]=s.column,e[3]=a):a=e[3];let r;e[4]!==t?(r=t("\u2192"),e[4]=t,e[5]=r):r=e[5];let d;e[6]!==r?(d=(0,l.jsxDEV)("span",{className:"text-muted-foreground/60",children:r},void 0,!1),e[6]=r,e[7]=d):d=e[7];let h;e[8]!==s.key?(h=(0,l.jsxDEV)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-foreground",children:s.key},void 0,!1),e[8]=s.key,e[9]=h):h=e[9];let f;e[10]!==u||e[11]!==a||e[12]!==d||e[13]!==h?(f=(0,l.jsxDEV)("span",{className:"flex flex-wrap items-center gap-1.5",children:[u,a,d,h]},void 0,!0),e[10]=u,e[11]=a,e[12]=d,e[13]=h,e[14]=f):f=e[14];let m;e[15]!==t?(m=t("Missing object"),e[15]=t,e[16]=m):m=e[16];let S;e[17]!==m?(S=(0,l.jsxDEV)(ie,{className:"border-destructive/40 text-destructive",variant:"outline",children:m},void 0,!1),e[17]=m,e[18]=S):S=e[18];let i;return e[19]!==n||e[20]!==S||e[21]!==f?(i=(0,l.jsxDEV)("li",{className:"flex flex-wrap items-center justify-between gap-2 rounded-md border border-border/60 px-3 py-2 text-xs","data-testid":n,children:[f,S]},void 0,!0),e[19]=n,e[20]=S,e[21]=f,e[22]=i):i=e[22],i},"DanglingRow"),Ot=g(c=>{let e=(0,j.c)(37),{busy:s,onCheck:t,references:n,t:o,truncated:u}=c,a;e[0]!==o?(a=o("Integrity"),e[0]=o,e[1]=a):a=e[1];let r;e[2]!==a?(r=(0,l.jsxDEV)("span",{className:"font-mono text-[11px] uppercase tracking-wide text-muted-foreground",children:a},void 0,!1),e[2]=a,e[3]=r):r=e[3];let d;e[4]!==o?(d=o("Orphaned objects"),e[4]=o,e[5]=d):d=e[5];let h;e[6]!==d?(h=(0,l.jsxDEV)("span",{className:"text-sm font-medium text-foreground",children:d},void 0,!1),e[6]=d,e[7]=h):h=e[7];let f;e[8]!==o?(f=o("Find records whose file reference points at an object the bucket no longer has."),e[8]=o,e[9]=f):f=e[9];let m;e[10]!==f?(m=(0,l.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:f},void 0,!1),e[10]=f,e[11]=m):m=e[11];let S;e[12]!==r||e[13]!==h||e[14]!==m?(S=(0,l.jsxDEV)("div",{className:"flex flex-col gap-1",children:[r,h,m]},void 0,!0),e[12]=r,e[13]=h,e[14]=m,e[15]=S):S=e[15];let i;e[16]!==s||e[17]!==o?(i=o(s?"Checking\u2026":"Check for orphans"),e[16]=s,e[17]=o,e[18]=i):i=e[18];let x;e[19]!==s||e[20]!==t||e[21]!==i?(x=(0,l.jsxDEV)(se,{"data-testid":"fb-orphans-check",disabled:s,onClick:t,size:"sm",type:"button",variant:"outline",children:i},void 0,!1),e[19]=s,e[20]=t,e[21]=i,e[22]=x):x=e[22];let y;e[23]!==S||e[24]!==x?(y=(0,l.jsxDEV)("div",{className:"flex flex-wrap items-center justify-between gap-2",children:[S,x]},void 0,!0),e[23]=S,e[24]=x,e[25]=y):y=e[25];let v;e[26]!==n?.length||e[27]!==o?(v=n?.length===0&&(0,l.jsxDEV)(me,{description:o("Every record's file reference points at an object that exists in the bucket."),testId:"fb-orphans-empty",title:o("No dangling references.")},void 0,!1),e[26]=n?.length,e[27]=o,e[28]=v):v=e[28];let b;e[29]!==n||e[30]!==o||e[31]!==u?(b=n!==void 0&&n.length>0&&(0,l.jsxDEV)(l.Fragment,{children:[u&&(0,l.jsxDEV)("p",{className:"text-xs text-warning","data-testid":"fb-orphans-truncated",children:o("Showing the first {count} dangling references \u2014 the scan was truncated.",{count:n.length})},void 0,!1),(0,l.jsxDEV)("ul",{className:"flex flex-col gap-1.5","data-testid":"fb-orphans-list",children:n.map(w=>(0,l.jsxDEV)(It,{reference:w,t:o},`${w.table}\xB7${w.id}\xB7${w.column}`,!1))},void 0,!1)]},void 0,!0),e[29]=n,e[30]=o,e[31]=u,e[32]=b):b=e[32];let k;return e[33]!==y||e[34]!==v||e[35]!==b?(k=(0,l.jsxDEV)("section",{className:"flex flex-col gap-2 rounded-lg border border-border/60 p-3","data-testid":"fb-orphans",children:[y,v,b]},void 0,!0),e[33]=y,e[34]=v,e[35]=b,e[36]=k):k=e[36],k},"OrphanedObjectsSection"),At=g(function(c,e){let s=(0,j.c)(18),t;s[0]===Symbol.for("react.memo_cache_sentinel")?(t=new Set,s[0]=t):t=s[0];let[n,o]=(0,_.useState)(t),u;s[1]===Symbol.for("react.memo_cache_sentinel")?(u=g(v=>{o(b=>{let k=new Set(b);return k.has(v)?k.delete(v):k.add(v),k})},"t1"),s[1]=u):u=s[1];let a=u,r;s[2]===Symbol.for("react.memo_cache_sentinel")?(r=g(()=>{o(new Set)},"t2"),s[2]=r):r=s[2];let d=r,h,f,m;if(s[3]!==c||s[4]!==e||s[5]!==n){let v;s[9]!==e?(v=g(b=>e(b),"t42"),s[9]=e,s[10]=v):v=s[10],f=c.map(v),h=f.length>0&&f.every(b=>n.has(b)),m=!h&&f.some(b=>n.has(b)),s[3]=c,s[4]=e,s[5]=n,s[6]=h,s[7]=f,s[8]=m}else h=s[6],f=s[7],m=s[8];let S=m,i;s[11]!==f?(i=g(()=>{o(v=>f.every(b=>v.has(b))?new Set:new Set(f))},"t4"),s[11]=f,s[12]=i):i=s[12];let x=i,y;return s[13]!==h||s[14]!==n||s[15]!==S||s[16]!==x?(y={allSelected:h,clear:d,selected:n,someSelected:S,toggle:a,toggleAll:x},s[13]=h,s[14]=n,s[15]=S,s[16]=x,s[17]=y):y=s[17],y},"useKeySelection"),jt=ge(be.storageReferences),Ut=ge(be.storageOrphans),Oe=1e4,Mt=1e3,Gt=3600,Ht=g((c,e)=>{if(!("document"in globalThis))return;let s=globalThis.document.createElement("a");s.href=c,s.download=e,s.rel="noopener",globalThis.document.body.append(s),s.click(),s.remove()},"triggerDownload"),Pt=g(({initialPrefix:c,pageSize:e})=>{let s=we(),[t,n]=(0,_.useState)(c??""),[o,u]=(0,_.useState)(c??""),[a,r]=(0,_.useState)(wt),[d,h]=(0,_.useState)("list"),[f,m]=(0,_.useState)(128),[S,i]=(0,_.useState)("name"),[x,y]=(0,_.useState)("asc"),[v,b]=(0,_.useState)(void 0),[k,w]=(0,_.useState)(void 0),[T,C]=(0,_.useState)(!1),[N,E]=(0,_.useState)(void 0),[F,R]=(0,_.useState)(void 0),[D,B]=(0,_.useState)(""),[I,K]=(0,_.useState)({}),[A,z]=(0,_.useState)(!1),[L,U]=(0,_.useState)(void 0),[M,P]=(0,_.useState)(!1),[G,q]=(0,_.useState)(!1),[Y,oe]=(0,_.useState)([]),[W,xe]=(0,_.useState)(""),re=(0,_.useRef)(0),J=(0,_.useRef)(0);(0,_.useEffect)(()=>{let p={cancelled:!1};return H((async()=>{try{let $=await s.listStorageBuckets();if(!p.cancelled){oe($);let[O]=$;O!==void 0&&xe(te=>te===""?O:te)}}catch{}})()),()=>{p.cancelled=!0}},[s]);let Z=(0,_.useMemo)(()=>({list:g(p=>s.listStorageObjects({...p,bucket:W}),"list"),remove:g(p=>s.deleteStorageObject(p,{bucket:W}),"remove"),signedUrl:g((p,$)=>s.signedStorageUrl(p,{...$,bucket:W}),"signedUrl"),upload:g(p=>s.uploadStorageObject({...p,bucket:W}),"upload")}),[W,s]),X=(0,_.useCallback)(async(p,$,O)=>{re.current+=1;let te=re.current;w(void 0),C(!0);try{let V=await Z.list({cursor:$,limit:e,prefix:p});if(te!==re.current)return;b(ce=>O&&ce!==void 0?[...ce,...V.objects]:V.objects),R(V.cursor)}catch(V){if(te!==re.current)return;O||b(void 0),w(Q(V))}finally{te===re.current&&C(!1)}},[e,Z]);(0,_.useEffect)(()=>{H(X(c??"",void 0,!1))},[X,c]);let He=(v?.length??0)<=e;Ke(()=>{H(X(t,void 0,!1))},He);let{files:fe,folders:Pe}=Nt(v??[],t),qe=(0,_.useMemo)(()=>{let p=new Set;for(let $ of fe)for(let O of Object.keys($.customMetadata??{}))p.add(O);return[...p].toSorted(($,O)=>$.localeCompare(O))},[fe]),ae=Ct(fe,S,x),ue=(0,_.useMemo)(()=>[...new Set(ae.map(p=>p.key))].toSorted((p,$)=>p.localeCompare($)).join(`
3
3
  `),[ae]);(0,_.useEffect)(()=>{let p=ue===""?[]:ue.split(`
4
4
  `);if(p.length===0){K({});return}let $={current:!0};return H((async()=>{try{let O=await s.query(jt,{keys:p},pe(D));$.current&&(K(O.references??{}),z(Object.keys(O.storageColumns??{}).length>0))}catch{$.current&&(K({}),z(!1))}})()),()=>{$.current=!1}},[s,ue,D]);let Ve=g(p=>p.key,"keyOf"),{allSelected:We,clear:ne,selected:ke,someSelected:Ze,toggle:Xe,toggleAll:Ye}=At(ae,Ve),Je=g(()=>{n(o),ne(),H(X(o,void 0,!1))},"listFirst"),Qe=g(()=>{H(X(t,F,!0))},"loadMore"),Se=g(p=>{n(p),u(p),ne(),H(X(p,void 0,!1))},"navigate"),et=g(p=>{Se(`${t}${p}`)},"enterFolder"),tt=g(p=>Z.signedUrl(p,{expiresInSeconds:Gt}),"resolveUrl"),st=g(()=>{h("list")},"showList"),lt=g(()=>{h("grid")},"showGrid"),ot=g(p=>{i(p)},"onSortKeyChange"),rt=g(()=>{y(p=>p==="asc"?"desc":"asc")},"toggleSortDirection"),nt=g(p=>{m(p)},"onThumbSizeChange"),it=g(p=>{r(p)},"onExpiryChange"),at=g(()=>{w(void 0),C(!0),H((async()=>{try{for(let p of ke)await Z.remove(p);await X(t,void 0,!1),ne()}catch(p){w(Q(p))}finally{C(!1)}})())},"bulkDelete"),ct=g(p=>{w(void 0),H((async()=>{try{let $=await Z.signedUrl(p,{expiresInSeconds:a});Ee($)&&E(p)}catch($){w(Q($))}})())},"onCopy"),dt=g(p=>{w(void 0),H((async()=>{try{let $=await Z.signedUrl(p,{expiresInSeconds:a}),O=p.slice(p.lastIndexOf("/")+1)||p;Ht($,O)}catch($){w(Q($))}})())},"onDownload");(0,_.useEffect)(()=>{if(N===void 0)return;let p=globalThis.setTimeout(()=>{E(void 0)},2e3);return()=>{globalThis.clearTimeout(p)}},[N]);let ft=g(p=>{w(void 0),C(!0),H((async()=>{try{await Z.remove(p),await X(t,void 0,!1)}catch($){w(Q($))}finally{C(!1)}})())},"onDelete"),ut=g(p=>{let $=`${t}${p.name}`;w(void 0),C(!0),H((async()=>{try{let O=await p.arrayBuffer();await Z.upload({body:O,contentType:p.type===""?void 0:p.type,key:$}),await X(t,void 0,!1)}catch(O){w(Q(O))}finally{C(!1)}})())},"onFile");(0,_.useEffect)(()=>{J.current+=1,U(void 0),q(!1)},[D]);let ht=g(()=>{J.current+=1;let p=J.current;w(void 0),P(!0),H((async()=>{try{let $=[],O;do{let V=await Z.list({cursor:O,limit:Mt});for(let ce of V.objects)$.push(ce.key);O=$.length>=Oe?void 0:V.cursor}while(O!==void 0);if($.length>=Oe)p===J.current&&(U([]),q(!0));else{let V=await s.query(Ut,{liveKeys:$},pe(D));p===J.current&&(U(V.references??[]),q(V.truncated===!0))}}catch($){p===J.current&&(U([]),q(!1),w(Q($)))}finally{p===J.current&&P(!1)}})())},"checkOrphans"),mt=g(p=>{re.current+=1,J.current+=1,xe(p),n(c??""),u(c??""),b(void 0),U(void 0),q(!1),ne()},"selectBucket");return{allSelected:We,bucket:W,buckets:Y,bulkDelete:at,busy:T,checkOrphans:ht,clearSelection:ne,copiedKey:N,danglingBusy:M,danglingReferences:L,danglingTruncated:G,draftPrefix:o,enterFolder:et,error:k,expiry:a,files:ae,folders:Pe,hasObjects:v!==void 0&&v.length>0,hasStorageColumns:A,listFirst:Je,loaded:v!==void 0,loadMore:Qe,navigate:Se,nextCursor:F,onCopy:ct,onDelete:ft,onDownload:dt,onExpiryChange:it,onFile:ut,onSortKeyChange:ot,onThumbSizeChange:nt,prefix:t,referenceShard:D,references:I,resolveUrl:tt,selectBucket:mt,selected:ke,setDraftPrefix:u,setReferenceShard:B,showGrid:lt,showList:st,someSelected:Ze,sortDirection:x,sortKey:S,tagKeys:qe,thumbSize:f,toggleSelect:Xe,toggleSelectAll:Ye,toggleSortDirection:rt,view:d}},"useFileBrowser"),qt=100,Ae=g(c=>{let e=(0,j.c)(6),{label:s,onNavigate:t,target:n}=c,o;e[0]!==t||e[1]!==n?(o=g(()=>{t(n)},"t1"),e[0]=t,e[1]=n,e[2]=o):o=e[2];let u=o,a;return e[3]!==u||e[4]!==s?(a=(0,l.jsxDEV)("button",{className:"rounded px-1 text-muted-foreground outline-none hover:text-foreground focus-visible:text-foreground",onClick:u,type:"button",children:s},void 0,!1),e[3]=u,e[4]=s,e[5]=a):a=e[5],a},"Crumb"),Vt=g(c=>{let e=(0,j.c)(11),{onNavigate:s,prefix:t,t:n}=c,o;if(e[0]!==s||e[1]!==t||e[2]!==n){let u=t.split("/").filter(Wt),a;e[4]!==n?(a=n("Folder path"),e[4]=n,e[5]=a):a=e[5];let r;e[6]!==n?(r=n("root"),e[6]=n,e[7]=r):r=e[7];let d;e[8]!==s||e[9]!==r?(d=(0,l.jsxDEV)(Ae,{label:r,onNavigate:s,target:""},void 0,!1),e[8]=s,e[9]=r,e[10]=d):d=e[10],o=(0,l.jsxDEV)("nav",{"aria-label":a,className:"flex flex-wrap items-center gap-0.5 text-xs","data-testid":"fb-breadcrumbs",children:[d,u.map((h,f)=>(0,l.jsxDEV)("span",{className:"flex items-center gap-0.5",children:[(0,l.jsxDEV)("span",{className:"text-muted-foreground/50",children:"/"},void 0,!1),(0,l.jsxDEV)(Ae,{label:h,onNavigate:s,target:`${u.slice(0,f+1).join("/")}/`},void 0,!1)]},`${h}-${f.toString()}`,!0))]},void 0,!0),e[0]=s,e[1]=t,e[2]=n,e[3]=o}else o=e[3];return o},"Breadcrumbs"),fs=g(({initialPrefix:c,pageSize:e=qt})=>{let s=Ce(),t=Pt({initialPrefix:c,pageSize:e}),n=(0,_.useRef)(null),{onCopy:o,onDelete:u,onDownload:a,onFile:r,toggleSelect:d}=t,h={onCopy:o,onDelete:u,onDownload:a,onToggleSelect:d},f=g(()=>{n.current?.click()},"onUploadClick"),m=g(i=>{let x=i.target,y=x.files?.[0];x.value="",y&&r(y)},"onFileChange"),S=t.loaded&&!t.hasObjects;return(0,l.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-file-browser",children:[(0,l.jsxDEV)(Tt,{bucket:t.bucket,buckets:t.buckets,busy:t.busy,draftPrefix:t.draftPrefix,expiry:t.expiry,fileInputRef:n,onBucketChange:t.selectBucket,onExpiryChange:t.onExpiryChange,onFileChange:m,onList:t.listFirst,onPrefixChange:t.setDraftPrefix,onUploadClick:f,t:s},void 0,!1),t.loaded&&(0,l.jsxDEV)(Vt,{onNavigate:t.navigate,prefix:t.prefix,t:s},void 0,!1),t.hasObjects&&(0,l.jsxDEV)(_t,{onSortKeyChange:t.onSortKeyChange,onThumbSizeChange:t.onThumbSizeChange,showGrid:t.showGrid,showList:t.showList,sortDirection:t.sortDirection,sortKey:t.sortKey,t:s,tagKeys:t.tagKeys,thumbSize:t.thumbSize,toggleSortDirection:t.toggleSortDirection,view:t.view},void 0,!1),t.hasStorageColumns&&(0,l.jsxDEV)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"fb-references-shard",children:[(0,l.jsxDEV)("label",{className:"text-xs text-muted-foreground",htmlFor:"fb-reference-shard-input",children:s("References shard")},void 0,!1),(0,l.jsxDEV)($e,{id:"fb-reference-shard-input",onChange:t.setReferenceShard,testId:"fb-reference-shard-input",value:t.referenceShard},void 0,!1),(0,l.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:s("Which shard's records are checked for references to these files. Empty = root shard.")},void 0,!1)]},void 0,!0),t.hasStorageColumns&&(0,l.jsxDEV)(Ot,{busy:t.danglingBusy,onCheck:t.checkOrphans,references:t.danglingReferences,t:s,truncated:t.danglingTruncated},void 0,!1),t.selected.size>0&&(0,l.jsxDEV)(Le,{count:t.selected.size,editable:!0,onClear:t.clearSelection,onDelete:t.bulkDelete},void 0,!1),t.error!==void 0&&(0,l.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"storage-error",role:"alert",children:t.error},void 0,!1),S&&(0,l.jsxDEV)(me,{description:s("Objects you upload to your R2 buckets will appear here."),icon:(0,l.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,l.jsxDEV)("path",{d:"M3 7a2 2 0 0 1 2-2h4l2 2h8a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V7Z"},void 0,!1),(0,l.jsxDEV)("path",{d:"M12 11v5m-2.5-2.5h5"},void 0,!1)]},void 0,!0),testId:"fb-empty",title:s("No objects.")},void 0,!1),t.hasObjects&&t.view==="list"&&(0,l.jsxDEV)(kt,{allSelected:t.allSelected,busy:t.busy,copiedKey:t.copiedKey,files:t.files,folders:t.folders,handlers:h,onEnterFolder:t.enterFolder,prefix:t.prefix,references:t.references,selected:t.selected,showReferences:t.hasStorageColumns,someSelected:t.someSelected,t:s,toggleSelectAll:t.toggleSelectAll},void 0,!1),t.hasObjects&&t.view==="grid"&&(0,l.jsxDEV)(Bt,{busy:t.busy,copiedKey:t.copiedKey,files:t.files,folders:t.folders,handlers:h,onEnterFolder:t.enterFolder,prefix:t.prefix,references:t.references,resolveUrl:t.resolveUrl,selected:t.selected,showReferences:t.hasStorageColumns,size:t.thumbSize,t:s},void 0,!1),t.nextCursor!==void 0&&(0,l.jsxDEV)("div",{children:(0,l.jsxDEV)(se,{"data-testid":"fb-next",disabled:t.busy,onClick:t.loadMore,size:"sm",type:"button",variant:"outline",children:s("Load more")},void 0,!1)},void 0,!1)]},void 0,!0)},"FileBrowser");function Wt(c){return c!==""}g(Wt,"_temp");export{fs as FileBrowser};
@@ -0,0 +1,3 @@
1
+ import{a as zn}from"./chunk-ZPUO7FNI.js";import{a as ao,b as io,c as lo,d as On,e as us}from"./chunk-WVTPZ6CM.js";import{$ as wn,A as Jt,C as Cn,D as j,E as Rn,F as Sn,I as Xt,L as gt,M as Yo,N as eo,P as Jo,Q as Nn,R as En,S as Xo,T as to,U as oo,V as so,W as ro,X as es,Y as no,_ as Tn,aa as ts,b as ln,ba as os,ea as ss,fa as st,ga as kn,ha as co,i as fn,ia as Mn,j as mn,ja as ue,k as gn,ka as rs,l as Xs,m as Zo,ma as ns,na as as,o as qo,oa as is,p as hn,pa as ls,q as Go,qa as cs,ra as ds,s as vn,sa as _n,ta as In,u as xn,ua as ps,v as bn,va as Dn,w as yn,x as Ko,y as Qo,z as Pn}from"./chunk-SHERR7ZP.js";import{f as on}from"./chunk-ZIGWVHCS.js";import{a as Un}from"./chunk-7TJJXVSE.js";import{a as Wr,b as Zr,d as qr,e as ft,f as zo,g as Gr,h as Kr,i as Qr,j as Yr,k as Jr}from"./chunk-WI7GWFEG.js";import{b as uo}from"./chunk-W666BB6V.js";import{a as ct,e as tr}from"./chunk-SEU5V7I6.js";import{a as fs}from"./chunk-KZ6INM5M.js";import{c as An,h as Vn,k as er}from"./chunk-4QHKBC77.js";import{B as cn,C as dn,I as He,J as pn,K as Yt,O as A,P as Y,R as un,e as be,p as Po,q as an}from"./chunk-VL23Y44O.js";import{a as zr}from"./chunk-HV7G6DFP.js";import{b as ht,c as po}from"./chunk-UK64ZSUW.js";import{a as mt,c as rn,h as Wo,i as nn}from"./chunk-O3NAGRTR.js";import{a as Js,b as yo}from"./chunk-ZPP2KOR4.js";import{a as lt,i as Rt,j as F}from"./chunk-CKSHCYGC.js";import{a as St}from"./chunk-G7ZBM54M.js";import{f as Ys}from"./chunk-SDMZKBTD.js";import{a as sn}from"./chunk-ZHVTQ37P.js";import{a as xe}from"./chunk-3OA7PECS.js";import{a as Bn}from"./chunk-TAD43CG5.js";import{a as Xr,b as en,c as tn,d as ae,f as Ln,g as Fn,l as $e,m as Hn,n as $n,o as jn}from"./chunk-ITQKVEP7.js";import{b as Qs}from"./chunk-22C6COGE.js";import{a,d as Ks,e as S,f as O,g as Uo,h as bo,j as z}from"./chunk-RRCPZMC2.js";var B=S(Uo(),1);var ut=S(O(),1),G=S(O(),1);var i=S(bo(),1);var Wn=S(O(),1),vt=S(bo(),1);var Pi={border:"1px solid var(--destructive)",color:"var(--destructive)",padding:12},Ci={overflow:"auto",whiteSpace:"pre-wrap"},ms=class extends Wn.Component{static{a(this,"ErrorBoundary")}static getDerivedStateFromError(e){return{error:e}}state={error:null};componentDidCatch(e,o){console.error("[lunora-studio] panel error",e,o.componentStack)}reset=a(()=>{this.setState({error:null})},"reset");render(){let{children:e,fallbackTitle:o,label:s,retryLabel:r}=this.props,{error:n}=this.state;if(n===null)return(0,vt.jsxDEV)(vt.Fragment,{children:e},void 0,!1);let l=o??(s===void 0?"Something went wrong":`${s} failed`);return(0,vt.jsxDEV)("div",{"data-testid":"dash-error-boundary",role:"alert",style:Pi,children:[(0,vt.jsxDEV)("strong",{children:l},void 0,!1),(0,vt.jsxDEV)("pre",{"data-testid":"dash-error-message",style:Ci,children:n.message},void 0,!1),(0,vt.jsxDEV)("button",{"data-testid":"dash-error-retry",onClick:this.reset,type:"button",children:r??"Try again"},void 0,!1)]},void 0,!0)}};var Pt={};Ks(Pt,{Arrow:()=>cr,Backdrop:()=>dr,Close:()=>fr,Description:()=>ur,Handle:()=>Ro,Popup:()=>lr,Portal:()=>rr,Positioner:()=>nr,Root:()=>Gn,Title:()=>pr,Trigger:()=>or,Viewport:()=>mr,createHandle:()=>la});var dt=S(O(),1);var gs=S(O(),1);var hs=gs.createContext(void 0);hs.displayName="PopoverRootContext";function oe(t){let e=gs.useContext(hs);if(e===void 0&&!t)throw new Error("Base UI: PopoverRootContext is missing. Popover parts must be placed within <Popover.Root>.");return e}a(oe,"usePopoverRootContext");var xt=S(O(),1),Zn=S(zr(),1);function Ri(){return{...ao(),disabled:!1,modal:!1,focusManagerModal:!1,instantType:void 0,openMethod:null,openChangeReason:null,titleElementId:void 0,descriptionElementId:void 0,stickIfOpen:!0,nested:!1,openOnHover:!1,closeDelay:0,hasViewport:!1}}a(Ri,"createInitialState");var Si={...lo,disabled:j(t=>t.disabled),instantType:j(t=>t.instantType),openMethod:j(t=>t.openMethod),openChangeReason:j(t=>t.openChangeReason),modal:j(t=>t.modal),focusManagerModal:j(t=>t.focusManagerModal),stickIfOpen:j(t=>t.stickIfOpen),titleElementId:j(t=>t.titleElementId),descriptionElementId:j(t=>t.descriptionElementId),openOnHover:j(t=>t.openOnHover),closeDelay:j(t=>t.closeDelay),hasViewport:j(t=>t.hasViewport)},fo=class t extends Xt{static{a(this,"PopoverStore")}constructor(e,o,s=!1){let r={...Ri(),...e},n=new no;r.open&&e?.mounted===void 0&&(r.mounted=!0),r.floatingRootContext=io(n,o,s),super(r,{popupRef:xt.createRef(),backdropRef:xt.createRef(),internalBackdropRef:xt.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerFocusTargetRef:xt.createRef(),beforeContentFocusGuardRef:xt.createRef(),stickIfOpenTimeout:new cn,triggerElements:n},Si)}setOpen=a((e,o)=>{let s=o.reason===A.triggerHover,r=o.reason===A.triggerPress&&o.event.detail===0,n=!e&&(o.reason===A.escapeKey||o.reason==null),l=Nn(o),d=this.select("activeTriggerId");if(!e&&o.reason===A.closePress&&o.trigger==null&&d!=null&&(o.trigger=this.context.triggerElements.getById(d)??this.select("activeTriggerElement")??void 0),this.context.onOpenChange?.(e,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,o);let p=a(()=>{let c={open:e,openChangeReason:o.reason};Jo(c,e,o.trigger,l()),this.update(c)},"changeState");s?(this.set("stickIfOpen",!0),this.context.stickIfOpenTimeout.start(500,()=>{this.set("stickIfOpen",!1)}),Zn.flushSync(p)):p(),r||n?this.set("instantType",r?"click":"dismiss"):o.reason===A.focusOut?this.set("instantType","focus"):this.set("instantType",void 0)},"setOpen");static useStore(e,o){let{store:s,internalStore:r}=eo(e,(n,l)=>new t(o,n,l));return xt.useEffect(()=>r?.disposeEffect(),[r]),s}disposeEffect=a(()=>this.context.stickIfOpenTimeout.disposeEffect(),"disposeEffect")};var Nt=S(xe(),1);function qn({props:t}){let{children:e,open:o,defaultOpen:s=!1,onOpenChange:r,onOpenChangeComplete:n,modal:l=!1,handle:d,triggerId:p,defaultTriggerId:c=null}=t,u=fo.useStore(d?.store,{modal:l,open:s,openProp:o,activeTriggerId:c,triggerIdProp:p});Xo(u,o,s,c),u.useControlledProp("openProp",o),u.useControlledProp("triggerIdProp",p);let g=u.useState("open"),m=u.useState("mounted"),h=u.useState("payload"),f=vn()!=null;u.useContextCallback("onOpenChange",r),u.useContextCallback("onOpenChangeComplete",n),es(u,g),oo(u);let{forceUnmount:v}=so(g,u,()=>{u.update({stickIfOpen:!0,openChangeReason:null})});u.useSyncedValues({modal:l,nested:f}),dt.useEffect(()=>{g||u.context.stickIfOpenTimeout.clear()},[u,g]);let x=dt.useCallback(()=>{u.setOpen(!1,Y(A.imperativeAction))},[u]);dt.useImperativeHandle(t.actionsRef,()=>({unmount:v,close:x}),[v,x]);let b=g||m,P=dt.useMemo(()=>({store:u}),[u]);return(0,Nt.jsxs)(hs.Provider,{value:P,children:[b&&(0,Nt.jsx)(Ni,{store:u,modal:l}),typeof e=="function"?e({payload:h}):e]})}a(qn,"PopoverRootComponent");function Gn(t){return oe(!0)?(0,Nt.jsx)(qn,{props:t}):(0,Nt.jsx)(yn,{children:(0,Nt.jsx)(qn,{props:t})})}a(Gn,"PopoverRoot");function Ni({store:t,modal:e}){let o=t.useState("floatingRootContext"),s=Jt(o,{outsidePressEvent:{mouse:e==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}}),r=s.reference??Rt,n=s.trigger??Rt,l=dt.useMemo(()=>lt(gt,s.floating),[s.floating]);return ro(t,{activeTriggerProps:r,inactiveTriggerProps:n,popupProps:l}),null}a(Ni,"PopoverInteractions");var bt=S(O(),1);var Et=S(xe(),1);var or=bt.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:d=!0,handle:p,payload:c,openOnHover:u=!1,delay:g=300,closeDelay:m=0,id:h,...f}=e,v=oe(!0),x=p?.store??v?.store;if(!x)throw new Error("Base UI: <Popover.Trigger> must be either used within a <Popover.Root> component or provided with a handle.");let b=be(h),P=x.useState("isTriggerActive",b),C=x.useState("floatingRootContext"),N=x.useState("isOpenedByTrigger",b),R=x.useState("triggerPopupId",b),E=bt.useRef(null),{registerTrigger:T,isMountedByThisTrigger:k}=to(b,E,x,{payload:c,disabled:l,openOnHover:u,closeDelay:m}),w=x.useState("openChangeReason"),M=x.useState("stickIfOpen"),V=x.useState("openMethod"),W=x.useState("focusManagerModal"),D=os(C,{enabled:!l&&C!=null&&u&&(V!=="touch"||w!==A.triggerPress),mouseOnly:!0,move:!1,handleClose:ss(),restMs:g,delay:{close:m},triggerElementRef:E,isActiveTrigger:P,isClosing:a(()=>x.select("transitionStatus")==="ending","isClosing")}),H=Qo(C,{enabled:C!=null,stickIfOpen:M}),$=rs(()=>x.select("open"),ee=>{x.set("openMethod",ee)}),q=x.useState("triggerProps",k),{getButtonProps:K,buttonRef:I}=ht({disabled:l,native:d}),_={open(ee){return ee&&w===A.triggerPress?Mn.open(ee):co.open(ee)}},{preFocusGuardRef:U,handlePreFocusGuardFocus:te,handleFocusTargetFocus:se}=On(x,E),J=F("button",e,{state:{disabled:l,open:N},ref:[I,o,T,E],props:[H.reference,D,q,$,{[Zo]:"",id:b,"aria-haspopup":"dialog","aria-expanded":N,"aria-controls":R},f,K],stateAttributesMapping:_});return k&&!W?(0,Et.jsxs)(bt.Fragment,{children:[(0,Et.jsx)(Xs,{ref:U,onFocus:te}),(0,Et.jsx)(bt.Fragment,{children:J},b),(0,Et.jsx)(Xs,{ref:x.context.triggerFocusTargetRef,onFocus:se})]}):(0,Et.jsx)(bt.Fragment,{children:J},b)},"PopoverTrigger"));or.displayName="PopoverTrigger";var Qn=S(O(),1);var vs=S(O(),1);var xs=vs.createContext(void 0);xs.displayName="PopoverPortalContext";function Kn(){let t=vs.useContext(xs);if(t===void 0)throw new Error("Base UI: <Popover.Portal> is missing.");return t}a(Kn,"usePopoverPortalContext");var sr=S(xe(),1);var rr=Qn.forwardRef(a(function(e,o){let{keepMounted:s=!1,...r}=e,{store:n}=oe();return n.useState("mounted")||s?(0,sr.jsx)(xs.Provider,{value:s,children:(0,sr.jsx)(Go,{ref:o,...r})}):null},"PopoverPortal"));rr.displayName="PopoverPortal";var go=S(O(),1);var bs=S(O(),1);var ys=bs.createContext(void 0);ys.displayName="PopoverPositionerContext";function mo(){let t=bs.useContext(ys);if(!t)throw new Error("Base UI: PopoverPositionerContext is missing. PopoverPositioner parts must be placed within <Popover.Positioner>.");return t}a(mo,"usePopoverPositionerContext");var Co=S(xe(),1);var nr=go.forwardRef(a(function(e,o){let{render:s,className:r,style:n,anchor:l,positionMethod:d="absolute",side:p="bottom",align:c="center",sideOffset:u=0,alignOffset:g=0,collisionBoundary:m="clipping-ancestors",collisionPadding:h=5,arrowPadding:f=5,sticky:v=!1,disableAnchorTracking:x=!1,collisionAvoidance:b=qo,...P}=e,{store:C}=oe(),N=Kn(),R=xn(),E=C.useState("floatingRootContext"),T=C.useState("mounted"),k=C.useState("open"),w=C.useState("openChangeReason"),M=C.useState("activeTriggerElement"),V=C.useState("modal"),W=C.useState("openMethod"),D=C.useState("positionerElement"),H=C.useState("instantType"),$=C.useState("transitionStatus"),q=C.useState("hasViewport"),K=go.useRef(null),I=pn(D,!1,!1),_=is({anchor:l,floatingRootContext:E,positionMethod:d,mounted:T,side:p,sideOffset:u,align:c,alignOffset:g,arrowPadding:f,collisionBoundary:m,collisionPadding:h,sticky:v,disableAnchorTracking:x,keepMounted:N,nodeId:R,collisionAvoidance:b,adaptiveOrigin:q?as:void 0}),U=E.useState("domReferenceElement");mt(()=>{let J=U,ee=K.current;if(J&&(K.current=J),ee&&J&&J!==ee){C.set("instantType",void 0);let ie=new AbortController;return I(()=>{C.set("instantType","trigger-change")},ie.signal),()=>{ie.abort()}}},[U,I,C]),In(k&&V===!0&&w!==A.triggerHover,W==="touch",D,M);let te=go.useCallback(J=>{C.set("positionerElement",J)},[C]),se={open:k,side:_.side,align:_.align,anchorHidden:_.anchorHidden,instant:H},re=ds(e,se,{styles:_.positionerStyles,transitionStatus:$,props:P,refs:[o,te],hidden:!T,inert:!k});return(0,Co.jsxs)(ys.Provider,{value:_,children:[T&&V===!0&&w!==A.triggerHover&&(0,Co.jsx)(ls,{ref:C.context.internalBackdropRef,inert:ns(!k),cutout:M}),(0,Co.jsx)(bn,{id:R,children:re})]})},"PopoverPositioner"));nr.displayName="PopoverPositioner";var Ps=S(O(),1);var yt=S(O(),1);var Yn=S(xe(),1);var ar=yt.createContext(void 0);ar.displayName="ClosePartContext";function Jn(){let[t,e]=yt.useState(0),o=rn(()=>(e(r=>r+1),()=>{e(r=>Math.max(0,r-1))}));return{context:yt.useMemo(()=>({register:o}),[o]),hasClosePart:t>0}}a(Jn,"useClosePartCount");function Xn(t){let{value:e,children:o}=t;return(0,Yn.jsx)(ar.Provider,{value:e,children:o})}a(Xn,"ClosePartProvider");function ea(){let t=yt.useContext(ar);mt(()=>t?.register(),[t])}a(ea,"useClosePartRegistration");var ir=S(xe(),1);var Ei={...ue,...He},lr=Ps.forwardRef(a(function(e,o){let{render:s,className:r,style:n,initialFocus:l,finalFocus:d,...p}=e,{store:c}=oe(),u=mo(),g=Dn(!0)!=null,{context:m,hasClosePart:h}=Jn(),f=c.useState("open"),v=c.useState("openMethod"),x=c.useState("instantType"),b=c.useState("transitionStatus"),P=c.useState("popupProps"),C=c.useState("titleElementId"),N=c.useState("descriptionElementId"),R=c.useState("modal"),E=c.useState("mounted"),T=c.useState("openChangeReason"),k=c.useState("activeTriggerElement"),w=c.useState("floatingRootContext"),M=w.useState("floatingId"),V=c.useState("disabled"),W=c.useState("openOnHover"),D=c.useState("closeDelay"),H=p.id??M;Yt({open:f,ref:c.context.popupRef,onComplete(){f&&c.context.onOpenChangeComplete?.(!0)}}),ts(w,{enabled:W&&!V,closeDelay:D});let $=l===void 0?Yo(c.context.popupRef):l,q=R!==!1&&h;c.useSyncedValue("focusManagerModal",q);let K=Ps.useCallback(U=>{c.set("popupElement",U)},[c]),I={open:f,side:u.side,align:u.align,instant:x,transitionStatus:b},_=F("div",e,{state:I,ref:[o,c.context.popupRef,K],props:[P,{id:H,role:"dialog",...gt,"aria-labelledby":C,"aria-describedby":N,onKeyDown(U){g&&ps.has(U.key)&&U.stopPropagation()}},cs(b),p],stateAttributesMapping:Ei});return(0,ir.jsx)(Ko,{context:w,openInteractionType:v,modal:q,disabled:!E||T===A.triggerHover,initialFocus:$,returnFocus:d,restoreFocus:"popup",previousFocusableElement:nn(k)?k:void 0,nextFocusableElement:c.context.triggerFocusTargetRef,beforeContentFocusGuardRef:c.context.beforeContentFocusGuardRef,children:(0,ir.jsx)(Xn,{value:m,children:_})})},"PopoverPopup"));lr.displayName="PopoverPopup";var ta=S(O(),1);var cr=ta.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:d}=oe(),p=d.useState("open"),{arrowRef:c,side:u,align:g,arrowUncentered:m,arrowStyles:h}=mo();return F("div",e,{state:{open:p,side:u,align:g,uncentered:m},ref:[o,c],props:[{style:h,"aria-hidden":!0},l],stateAttributesMapping:ue})},"PopoverArrow"));cr.displayName="PopoverArrow";var oa=S(O(),1);var Ti={...ue,...He},dr=oa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:d}=oe(),p=d.useState("open"),c=d.useState("mounted"),u=d.useState("transitionStatus"),g=d.useState("openChangeReason");return F("div",e,{state:{open:p,transitionStatus:u},ref:[d.context.backdropRef,o],props:[{role:"presentation",hidden:!c,style:{pointerEvents:g===A.triggerHover?"none":void 0,userSelect:"none",WebkitUserSelect:"none"}},l],stateAttributesMapping:Ti})},"PopoverBackdrop"));dr.displayName="PopoverBackdrop";var sa=S(O(),1);var pr=sa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:d}=oe(),p=be(l.id);return d.useSyncedValueWithCleanup("titleElementId",p),F("h2",e,{ref:o,props:[{id:p},l]})},"PopoverTitle"));pr.displayName="PopoverTitle";var ra=S(O(),1);var ur=ra.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,{store:d}=oe(),p=be(l.id);return d.useSyncedValueWithCleanup("descriptionElementId",p),F("p",e,{ref:o,props:[{id:p},l]})},"PopoverDescription"));ur.displayName="PopoverDescription";var na=S(O(),1);var fr=na.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:d=!0,...p}=e,{buttonRef:c,getButtonProps:u}=ht({disabled:l,focusableWhenDisabled:!1,native:d}),{store:g}=oe();return ea(),F("button",e,{ref:[o,c],props:[{onClick(h){g.setOpen(!1,Y(A.closePress,h.nativeEvent))}},p,u]})},"PopoverClose"));fr.displayName="PopoverClose";var ia=S(O(),1);var aa=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var wi={activationDirection:a(t=>t?{"data-activation-direction":t}:null,"activationDirection")},mr=ia.forwardRef(a(function(e,o){let{render:s,className:r,style:n,children:l,...d}=e,{store:p}=oe(),{side:c}=mo(),u=p.useState("instantType"),{children:g,state:m}=us({store:p,side:c,cssVars:aa,children:l}),h={activationDirection:m.activationDirection,transitioning:m.transitioning,instant:u};return F("div",e,{state:h,ref:o,props:[d,{children:g}],stateAttributesMapping:wi})},"PopoverViewport"));mr.displayName="PopoverViewport";var Ro=class{static{a(this,"PopoverHandle")}constructor(){this.store=new fo}open(e){let o=e?this.store.context.triggerElements.getById(e)??void 0:void 0;if(e&&!o)throw new Error(`Base UI: PopoverHandle.open: No trigger found with id "${e}".`);this.store.setOpen(!0,Y(A.imperativeAction,void 0,o))}close(){this.store.setOpen(!1,Y(A.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function la(){return new Ro}a(la,"createPopoverHandle");var fe={};Ks(fe,{Backdrop:()=>gr,Close:()=>hr,Description:()=>vr,Handle:()=>wo,Popup:()=>xr,Portal:()=>br,Root:()=>Ca,Title:()=>Cr,Trigger:()=>Rr,Viewport:()=>Pr,createHandle:()=>Na});var ca=S(O(),1);var So=S(O(),1);var No=So.createContext(!1);No.displayName="IsDrawerContext";var Cs=So.createContext(void 0);Cs.displayName="DialogRootContext";function ce(t){let e=So.useContext(Cs);if(t===!1&&e===void 0)throw new Error("Base UI: DialogRootContext is missing. Dialog parts must be placed within <Dialog.Root>.");return e}a(ce,"useDialogRootContext");var ki={...ue,...He},gr=ca.forwardRef(a(function(e,o){let{render:s,className:r,style:n,forceRender:l=!1,...d}=e,{store:p}=ce(),c=p.useState("open"),u=p.useState("nested"),g=p.useState("mounted"),m=p.useState("transitionStatus");return F("div",e,{state:{open:c,transitionStatus:m},ref:[p.context.backdropRef,o],stateAttributesMapping:ki,props:[{role:"presentation",hidden:!g,style:{userSelect:"none",WebkitUserSelect:"none"}},d],enabled:l||!u})},"DialogBackdrop"));gr.displayName="DialogBackdrop";var da=S(O(),1);var hr=da.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:d=!0,...p}=e,{store:c}=ce(),u=c.useState("open"),{getButtonProps:g,buttonRef:m}=ht({disabled:l,native:d}),h={disabled:l};function f(v){u&&c.setOpen(!1,Y(A.closePress,v.nativeEvent))}return a(f,"handleClick"),F("button",e,{state:h,ref:[o,m],props:[{onClick:f},p,g]})},"DialogClose"));hr.displayName="DialogClose";var pa=S(O(),1);var vr=pa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,id:l,...d}=e,{store:p}=ce(),c=be(l);return p.useSyncedValueWithCleanup("descriptionElementId",c),F("p",e,{ref:o,props:[{id:c},d]})},"DialogDescription"));vr.displayName="DialogDescription";var ma=S(O(),1);var ua=(function(t){return t.nestedDialogs="--nested-dialogs",t})({});var fa=(function(t){return t[t.open=st.open]="open",t[t.closed=st.closed]="closed",t[t.startingStyle=st.startingStyle]="startingStyle",t[t.endingStyle=st.endingStyle]="endingStyle",t.nested="data-nested",t.nestedDialogOpen="data-nested-dialog-open",t})({});var Rs=S(O(),1);var Ss=Rs.createContext(void 0);Ss.displayName="DialogPortalContext";function Ns(){let t=Rs.useContext(Ss);if(t===void 0)throw new Error("Base UI: <Dialog.Portal> is missing.");return t}a(Ns,"useDialogPortalContext");var ga=S(xe(),1);var Mi={...ue,...He,nestedDialogOpen(t){return t?{[fa.nestedDialogOpen]:""}:null}},xr=ma.forwardRef(a(function(e,o){let{render:s,className:r,style:n,finalFocus:l,initialFocus:d,...p}=e,{store:c}=ce(),u=c.useState("descriptionElementId"),g=c.useState("disablePointerDismissal"),m=c.useState("floatingRootContext"),h=c.useState("popupProps"),f=c.useState("modal"),v=c.useState("mounted"),x=c.useState("nested"),b=c.useState("nestedOpenDialogCount"),P=c.useState("open"),C=c.useState("openMethod"),N=c.useState("titleElementId"),R=c.useState("transitionStatus"),E=c.useState("role"),T=m.useState("floatingId"),k=p.id??T;Ns(),Yt({open:P,ref:c.context.popupRef,onComplete(){P&&c.context.onOpenChangeComplete?.(!0)}});let w=d===void 0?Yo(c.context.popupRef):d,M=b>0,V=c.useStateSetter("popupElement"),D=F("div",e,{state:{open:P,nested:x,transitionStatus:R,nestedDialogOpen:M},props:[h,{id:k,"aria-labelledby":N??void 0,"aria-describedby":u??void 0,role:E,...gt,hidden:!v,onKeyDown(H){ps.has(H.key)&&H.stopPropagation()},style:{[ua.nestedDialogs]:b}},p],ref:[o,c.context.popupRef,V],stateAttributesMapping:Mi});return(0,ga.jsx)(Ko,{context:m,openInteractionType:C,disabled:!v,closeOnFocusOut:!g,initialFocus:w,returnFocus:l,modal:f!==!1,restoreFocus:"popup",children:D})},"DialogPopup"));xr.displayName="DialogPopup";var ha=S(O(),1);var Eo=S(xe(),1);var br=ha.forwardRef(a(function(e,o){let{keepMounted:s=!1,...r}=e,{store:n}=ce(),l=n.useState("mounted"),d=n.useState("modal"),p=n.useState("open");return l||s?(0,Eo.jsx)(Ss.Provider,{value:s,children:(0,Eo.jsxs)(Go,{ref:o,...r,children:[l&&d===!0&&(0,Eo.jsx)(ls,{ref:n.context.internalBackdropRef,inert:ns(!p)}),e.children]})}):null},"DialogPortal"));br.displayName="DialogPortal";var Pa=S(O(),1);var ba=S(O(),1);var pt=S(O(),1);function va(t){let{store:e,actionsRef:o}=t,s=e.useState("open");es(e,s),oo(e);let{forceUnmount:r}=so(s,e),n=pt.useCallback(()=>{e.setOpen(!1,Y(A.imperativeAction))},[e]);pt.useImperativeHandle(o,()=>({unmount:r,close:n}),[r,n])}a(va,"useDialogRoot");function xa({store:t,parentContext:e,isDrawer:o}){let s=t.useState("open"),r=t.useState("disablePointerDismissal"),n=t.useState("modal"),l=t.useState("popupElement"),d=t.useState("floatingRootContext"),[p,c]=pt.useState(0),[u,g]=pt.useState(0),m=p===0,h=Jt(d,{outsidePressEvent(){return t.context.internalBackdropRef.current||t.context.backdropRef.current?"intentional":{mouse:n==="trap-focus"?"sloppy":"intentional",touch:"sloppy"}},outsidePress(b){if(!t.context.outsidePressEnabledRef.current||"button"in b&&b.button!==0||"touches"in b&&b.touches.length!==1)return!1;let P=an(b);return m&&!r?n&&(t.context.internalBackdropRef.current||t.context.backdropRef.current)?t.context.internalBackdropRef.current===P||t.context.backdropRef.current===P||Po(P,l)&&!P?.hasAttribute("data-base-ui-portal"):!0:!1},escapeKey:m});_n(s&&n===!0,l),t.useContextCallback("onNestedDialogOpen",(b,P)=>{c(b),g(P)}),t.useContextCallback("onNestedDialogClose",()=>{c(0),g(0)}),pt.useEffect(()=>(e?.onNestedDialogOpen&&s&&e.onNestedDialogOpen(p+1,u+(o?1:0)),e?.onNestedDialogClose&&!s&&e.onNestedDialogClose(),()=>{e?.onNestedDialogClose&&s&&e.onNestedDialogClose()}),[o,s,p,u,e]);let f=h.reference??Rt,v=h.trigger??Rt,x=h.floating??Rt;return ro(t,{activeTriggerProps:f,inactiveTriggerProps:v,popupProps:x,nestedOpenDialogCount:p,nestedOpenDrawerCount:u}),null}a(xa,"DialogInteractions");var Es=S(O(),1);var Oi={...lo,modal:j(t=>t.modal),nested:j(t=>t.nested),nestedOpenDialogCount:j(t=>t.nestedOpenDialogCount),nestedOpenDrawerCount:j(t=>t.nestedOpenDrawerCount),disablePointerDismissal:j(t=>t.disablePointerDismissal),openMethod:j(t=>t.openMethod),descriptionElementId:j(t=>t.descriptionElementId),titleElementId:j(t=>t.titleElementId),viewportElement:j(t=>t.viewportElement),role:j(t=>t.role)},ho=class t extends Xt{static{a(this,"DialogStore")}constructor(e,o,s=!1){let r=new no,n=_i(e);n.floatingRootContext=io(r,o,s),super(n,{popupRef:Es.createRef(),backdropRef:Es.createRef(),internalBackdropRef:Es.createRef(),outsidePressEnabledRef:{current:!0},triggerElements:r,onOpenChange:void 0,onOpenChangeComplete:void 0},Oi)}setOpen=a((e,o)=>{if(o.preventUnmountOnClose=()=>{this.set("preventUnmountingOnClose",!0)},!e&&o.trigger==null&&this.state.activeTriggerId!=null&&(o.trigger=this.state.activeTriggerElement??void 0),this.context.onOpenChange?.(e,o),o.isCanceled)return;this.state.floatingRootContext.dispatchOpenChange(e,o);let s={open:e};Jo(s,e,o.trigger),this.update(s)},"setOpen");static useStore(e,o){return eo(e,(r,n)=>new t(o,r,n),!0).store}};function _i(t={}){return{...ao(),modal:!0,disablePointerDismissal:!1,popupElement:null,viewportElement:null,descriptionElementId:void 0,titleElementId:void 0,openMethod:null,nested:!1,nestedOpenDialogCount:0,nestedOpenDrawerCount:0,role:"dialog",...t}}a(_i,"createInitialState");var To=S(xe(),1);function ya(t,e="dialog"){let{children:o,open:s,defaultOpen:r=!1,onOpenChange:n,onOpenChangeComplete:l,disablePointerDismissal:d=!1,modal:p=!0,actionsRef:c,handle:u,triggerId:g,defaultTriggerId:m=null}=t,h=e==="drawer",f=e==="alert-dialog",v=f?!0:p,x=f||d,b=f?"alertdialog":"dialog",P=ce(!0),N={modal:v,disablePointerDismissal:x,nested:!!P,role:b},R=ho.useStore(u?.store,{open:r,openProp:s,activeTriggerId:m,triggerIdProp:g,...N});Cn(()=>{let V=s===void 0&&R.state.open===!1&&r===!0?{open:!0,activeTriggerId:m}:null;f?R.update(V?{...N,...V}:N):V&&R.update(V)}),R.useControlledProp("openProp",s),R.useControlledProp("triggerIdProp",g),R.useSyncedValues(N),R.useContextCallback("onOpenChange",n),R.useContextCallback("onOpenChangeComplete",l);let E=R.useState("open"),T=R.useState("mounted"),k=R.useState("payload");va({store:R,actionsRef:c});let w=E||T,M=ba.useMemo(()=>({store:R}),[R]);return(0,To.jsx)(No.Provider,{value:!1,children:(0,To.jsxs)(Cs.Provider,{value:M,children:[w&&(0,To.jsx)(xa,{store:R,parentContext:P?.store.context,isDrawer:h}),typeof o=="function"?o({payload:k}):o]})})}a(ya,"useRenderDialogRoot");function Ca(t){let e=Pa.useContext(No)?"drawer":"dialog";return ya(t,e)}a(Ca,"DialogRoot");var Ra=S(O(),1);var yr=(function(t){return t[t.open=st.open]="open",t[t.closed=st.closed]="closed",t[t.startingStyle=st.startingStyle]="startingStyle",t[t.endingStyle=st.endingStyle]="endingStyle",t.nested="data-nested",t.nestedDialogOpen="data-nested-dialog-open",t})({});var Ii={...ue,...He,nested(t){return t?{[yr.nested]:""}:null},nestedDialogOpen(t){return t?{[yr.nestedDialogOpen]:""}:null}},Pr=Ra.forwardRef(a(function(e,o){let{render:s,className:r,style:n,children:l,...d}=e,p=Ns(),{store:c}=ce(),u=c.useState("open"),g=c.useState("nested"),m=c.useState("transitionStatus"),h=c.useState("nestedOpenDialogCount"),f=c.useState("mounted"),v=c.useStateSetter("viewportElement"),x=h>0;return F("div",e,{enabled:p||f,state:{open:u,nested:g,transitionStatus:m,nestedDialogOpen:x},ref:[o,v],stateAttributesMapping:Ii,props:[{role:"presentation",hidden:!f,style:{pointerEvents:u?void 0:"none"},children:l},d]})},"DialogViewport"));Pr.displayName="DialogViewport";var Sa=S(O(),1);var Cr=Sa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,id:l,...d}=e,{store:p}=ce(),c=be(l);return p.useSyncedValueWithCleanup("titleElementId",c),F("h2",e,{ref:o,props:[{id:c},d]})},"DialogTitle"));Cr.displayName="DialogTitle";var Ts=S(O(),1);var Rr=Ts.forwardRef(a(function(e,o){let{render:s,className:r,style:n,disabled:l=!1,nativeButton:d=!0,id:p,payload:c,handle:u,...g}=e,m=ce(!0),h=u?.store??m?.store;if(!h)throw new Error("Base UI: <Dialog.Trigger> must be used within <Dialog.Root> or provided with a handle.");let f=be(p),v=h.useState("floatingRootContext"),x=h.useState("isOpenedByTrigger",f),b=h.useState("triggerPopupId",f),P=Ts.useRef(null),{registerTrigger:C,isMountedByThisTrigger:N}=to(f,P,h,{payload:c}),{getButtonProps:R,buttonRef:E}=ht({disabled:l,native:d}),T=Qo(v,{enabled:v!=null}),k=rs(()=>h.select("open"),V=>{h.set("openMethod",V)}),w={disabled:l,open:x},M=h.useState("triggerProps",N);return F("button",e,{state:w,ref:[E,o,C,P],props:[T.reference,M,k,{[Zo]:"",id:f,"aria-haspopup":"dialog","aria-expanded":x,"aria-controls":b},g,R],stateAttributesMapping:co})},"DialogTrigger"));Rr.displayName="DialogTrigger";var wo=class{static{a(this,"DialogHandle")}constructor(e){this.store=e??new ho}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;e&&!o&&console.warn(`Base UI: DialogHandle.open: No trigger found with id "${e}". The dialog will open, but the trigger will not be associated with the dialog.`),this.store.setOpen(!0,Y(A.imperativeAction,void 0,o))}openWithPayload(e){this.store.set("payload",e),this.store.setOpen(!0,Y(A.imperativeAction,void 0,void 0))}close(){this.store.setOpen(!1,Y(A.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function Na(){return new wo}a(Na,"createDialogHandle");var nt={};Ks(nt,{Arrow:()=>Or,Handle:()=>ko,Popup:()=>Mr,Portal:()=>wr,Positioner:()=>kr,Provider:()=>Dr,Root:()=>Sr,Trigger:()=>Nr,Viewport:()=>Ar,createHandle:()=>Ha});var rt=S(O(),1);var ws=S(O(),1);var ks=ws.createContext(void 0);ks.displayName="TooltipRootContext";function je(t){let e=ws.useContext(ks);if(e===void 0&&!t)throw new Error("Base UI: TooltipRootContext is missing. Tooltip parts must be placed within <Tooltip.Root>.");return e}a(je,"useTooltipRootContext");var Ea=S(O(),1);var Di={...lo,disabled:j(t=>t.disabled),instantType:j(t=>t.instantType),isInstantPhase:j(t=>t.isInstantPhase),trackCursorAxis:j(t=>t.trackCursorAxis),disableHoverablePopup:j(t=>t.disableHoverablePopup),lastOpenChangeReason:j(t=>t.openChangeReason),closeOnClick:j(t=>t.closeOnClick),closeDelay:j(t=>t.closeDelay),hasViewport:j(t=>t.hasViewport)},vo=class t extends Xt{static{a(this,"TooltipStore")}constructor(e,o,s=!1){let r=new no,n={...Ai(),...e};n.floatingRootContext=io(r,o,s),super(n,{popupRef:Ea.createRef(),onOpenChange:void 0,onOpenChangeComplete:void 0,triggerElements:r},Di)}setOpen=a((e,o)=>{En(this,e,o,{extraState:{openChangeReason:o.reason}})},"setOpen");cancelPendingOpen(e){this.state.floatingRootContext.dispatchOpenChange(!1,Y(A.triggerPress,e))}static useStore(e,o){return eo(e,(r,n)=>new t(o,r,n)).store}};function Ai(){return{...ao(),disabled:!1,instantType:void 0,isInstantPhase:!1,trackCursorAxis:"none",disableHoverablePopup:!1,openChangeReason:null,closeOnClick:!0,closeDelay:0,hasViewport:!1}}a(Ai,"createInitialState");var Ms=S(xe(),1);var Sr=Rn(a(function(e){let{disabled:o=!1,defaultOpen:s=!1,open:r,disableHoverablePopup:n=!1,trackCursorAxis:l="none",actionsRef:d,onOpenChange:p,onOpenChangeComplete:c,handle:u,triggerId:g,defaultTriggerId:m=null,children:h}=e,f=vo.useStore(u?.store,{open:s,openProp:r,activeTriggerId:m,triggerIdProp:g});Xo(f,r,s,m),f.useControlledProp("openProp",r),f.useControlledProp("triggerIdProp",g),f.useContextCallback("onOpenChange",p),f.useContextCallback("onOpenChangeComplete",c);let v=f.useState("open"),x=!o&&v,b=f.useState("activeTriggerId"),P=f.useState("mounted"),C=f.useState("payload");f.useSyncedValues({trackCursorAxis:l,disableHoverablePopup:n}),f.useSyncedValue("disabled",o),oo(f,{closeOnActiveTriggerUnmount:!0});let{forceUnmount:N,transitionStatus:R}=so(x,f),E=f.useState("isInstantPhase"),T=f.useState("instantType"),k=f.useState("lastOpenChangeReason"),w=rt.useRef(null);mt(()=>{v&&o&&f.setOpen(!1,Y(A.disabled))},[v,o,f]),mt(()=>{R==="ending"&&k===A.none||R!=="ending"&&E?(T!=="delay"&&(w.current=T),f.set("instantType","delay")):w.current!==null&&(f.set("instantType",w.current),w.current=null)},[R,E,k,T,f]),mt(()=>{x&&b==null&&f.set("payload",void 0)},[f,b,x]);let M=rt.useCallback(()=>{f.setOpen(!1,Y(A.imperativeAction))},[f]);rt.useImperativeHandle(d,()=>({unmount:N,close:M}),[N,M]);let V=x||P||!o&&l!=="none";return(0,Ms.jsxs)(ks.Provider,{value:f,children:[V&&(0,Ms.jsx)(Vi,{store:f,disabled:o,trackCursorAxis:l}),typeof h=="function"?h({payload:C}):h]})},"TooltipRoot"));Sr.displayName="TooltipRoot";function Vi({store:t,disabled:e,trackCursorAxis:o}){let s=t.useState("floatingRootContext"),r=Jt(s,{enabled:!e,referencePress:a(()=>t.select("closeOnClick"),"referencePress")}),n=Pn(s,{enabled:!e&&o!=="none",axis:o==="none"?void 0:o}),l=rt.useMemo(()=>lt(n.reference,r.reference),[n.reference,r.reference]),d=rt.useMemo(()=>lt(n.trigger,r.trigger),[n.trigger,r.trigger]),p=rt.useMemo(()=>lt(gt,n.floating,r.floating),[n.floating,r.floating]);return ro(t,{activeTriggerProps:l,inactiveTriggerProps:d,popupProps:p}),null}a(Vi,"TooltipInteractions");var Is=S(O(),1);var Os=S(O(),1);var _s=Os.createContext(void 0);_s.displayName="TooltipProviderContext";function Ta(){return Os.useContext(_s)}a(Ta,"useTooltipProviderContext");var wa=(function(t){return t[t.popupOpen=kn.popupOpen]="popupOpen",t.triggerDisabled="data-trigger-disabled",t})({});var Ma="data-base-ui-tooltip-trigger";function ka(t){if("composedPath"in t){let o=t.composedPath();for(let s=0;s<o.length;s+=1){let r=o[s];if(Wo(r))return r}}let e=t.target;return Wo(e)?e:null}a(ka,"getTargetElement");function Bi(t){let e=t;for(;e;){if(e.hasAttribute(Ma))return e;let o=e.parentElement;if(o){e=o;continue}let s=e.getRootNode();e="host"in s&&Wo(s.host)?s.host:null}return null}a(Bi,"closestEnabledTooltipTrigger");var Nr=Sn(a(function(e,o){let{render:s,className:r,style:n,handle:l,payload:d,disabled:p,delay:c,closeOnClick:u=!0,closeDelay:g,id:m,...h}=e,f=je(!0),v=l?.store??f;if(!v)throw new Error("Base UI: <Tooltip.Trigger> must be either used within a <Tooltip.Root> component or provided with a handle.");let x=be(m),b=v.useState("isTriggerActive",x),P=v.useState("isOpenedByTrigger",x),C=v.useState("floatingRootContext"),N=Is.useRef(null),R=c??600,E=g??0,{registerTrigger:T,isMountedByThisTrigger:k}=to(x,N,v,{payload:d,closeOnClick:u,closeDelay:E}),w=Ta(),{delayRef:M,isInstantPhase:V,hasProvider:W}=mn(C,{open:P}),D=wn(C);v.useSyncedValue("isInstantPhase",V);let H=v.useState("disabled"),$=p??H,q=gn($),K=v.useState("trackCursorAxis"),I=v.useState("disableHoverablePopup"),_=Is.useRef(!1),U=dn(),te=Is.useRef(void 0);function se(){let L=w?.delay,Q=typeof M.current=="object"?M.current.open:void 0,X=R;return W&&(Q!==0?X=c??L??R:X=0),X}a(se,"getOpenDelay");function re(L){let Q=N.current;if(!Q||!L)return!1;let X=Bi(L);return X!==null&&X!==Q&&Po(Q,X)}a(re,"isEnabledNestedTriggerTarget");function J(L){let Q=re(L);return _.current=Q,Q&&(D.openChangeTimeout.clear(),D.restTimeout.clear(),D.restTimeoutPending=!1,U.clear()),Q}a(J,"detectNestedTriggerHover");let ee=os(C,{enabled:!$,mouseOnly:!0,move:!1,handleClose:!I&&K!=="both"?ss():null,restMs:se,delay(){let L=typeof M.current=="object"?M.current.close:void 0,Q=E;return g==null&&W&&(Q=L),{close:Q}},triggerElementRef:N,isActiveTrigger:b,isClosing:a(()=>v.select("transitionStatus")==="ending","isClosing"),shouldOpen(){return!_.current}}),ie=Tn(C,{enabled:!$}).reference,Le=a(L=>{let Q=_.current,X=ka(L),pe=J(X),le=N.current,Pe=le&&X&&Po(le,X);if(pe&&v.select("open")&&v.select("lastOpenChangeReason")===A.triggerHover){v.setOpen(!1,Y(A.triggerHover,L));return}if(Q&&!pe&&Pe&&!q.current&&!v.select("open")&&le&&ln(te.current)){let ne=a(()=>{!_.current&&!q.current&&!v.select("open")&&v.setOpen(!0,Y(A.triggerHover,L,le))},"open"),Ce=se();Ce===0?(U.clear(),ne()):U.start(Ce,ne)}},"handleNestedTriggerHover"),me=v.useState("triggerProps",k);return F("button",e,{state:{open:P},ref:[o,T,N],props:[ee,ie,k||K!=="none"?me:void 0,{onMouseOver(L){Le(L.nativeEvent)},onFocus(L){re(ka(L.nativeEvent))&&L.preventBaseUIHandler()},onMouseLeave(){_.current=!1,U.clear(),te.current=void 0},onPointerEnter(L){te.current=L.pointerType},onPointerDown(L){te.current=L.pointerType,v.set("closeOnClick",u),u&&!v.select("open")&&v.cancelPendingOpen(L.nativeEvent)},onClick(L){u&&!v.select("open")&&v.cancelPendingOpen(L.nativeEvent)},id:x,[wa.triggerDisabled]:$?"":void 0,[Ma]:$?void 0:""},h],stateAttributesMapping:co})},"TooltipTrigger"));Nr.displayName="TooltipTrigger";var Da=S(O(),1);var Ds=S(O(),1);var As=Ds.createContext(void 0);As.displayName="TooltipPortalContext";function Oa(){let t=Ds.useContext(As);if(t===void 0)throw new Error("Base UI: <Tooltip.Portal> is missing.");return t}a(Oa,"useTooltipPortalContext");var Vs=S(O(),1),_a=S(zr(),1);var Ia=S(xe(),1);var Er=Vs.forwardRef(a(function(e,o){let{children:s,container:r,className:n,render:l,style:d,...p}=e,{portalNode:c,portalSubtree:u}=hn({container:r,ref:o,componentProps:e,elementProps:p});return!u&&!c?null:(0,Ia.jsxs)(Vs.Fragment,{children:[u,c&&_a.createPortal(s,c)]})},"FloatingPortalLite"));Er.displayName="FloatingPortalLite";var Tr=S(xe(),1);var wr=Da.forwardRef(a(function(e,o){let{keepMounted:s=!1,...r}=e;return je().useState("mounted")||s?(0,Tr.jsx)(As.Provider,{value:s,children:(0,Tr.jsx)(Er,{ref:o,...r})}):null},"TooltipPortal"));wr.displayName="TooltipPortal";var Fs=S(O(),1);var Bs=S(O(),1);var Ls=Bs.createContext(void 0);Ls.displayName="TooltipPositionerContext";function xo(){let t=Bs.useContext(Ls);if(t===void 0)throw new Error("Base UI: TooltipPositionerContext is missing. TooltipPositioner parts must be placed within <Tooltip.Positioner>.");return t}a(xo,"useTooltipPositionerContext");var Aa=S(xe(),1);var kr=Fs.forwardRef(a(function(e,o){let{render:s,className:r,anchor:n,positionMethod:l="absolute",side:d="top",align:p="center",sideOffset:c=0,alignOffset:u=0,collisionBoundary:g="clipping-ancestors",collisionPadding:m=5,arrowPadding:h=5,sticky:f=!1,disableAnchorTracking:v=!1,collisionAvoidance:x=qo,style:b,...P}=e,C=je(),N=Oa(),R=C.useState("open"),E=C.useState("mounted"),T=C.useState("trackCursorAxis"),k=C.useState("disableHoverablePopup"),w=C.useState("floatingRootContext"),M=C.useState("instantType"),V=C.useState("transitionStatus"),W=C.useState("hasViewport"),D=is({anchor:n,positionMethod:l,floatingRootContext:w,mounted:E,side:d,sideOffset:c,align:p,alignOffset:u,collisionBoundary:g,collisionPadding:m,sticky:f,arrowPadding:h,disableAnchorTracking:v,keepMounted:N,collisionAvoidance:x,adaptiveOrigin:W?as:void 0}),H=Fs.useMemo(()=>({open:R,side:D.side,align:D.align,anchorHidden:D.anchorHidden,instant:T!=="none"?"tracking-cursor":M}),[R,D.side,D.align,D.anchorHidden,T,M]),$=ds(e,H,{styles:D.positionerStyles,transitionStatus:V,props:P,refs:[o,C.useStateSetter("positionerElement")],hidden:!E,inert:!R||T==="both"||k});return(0,Aa.jsx)(Ls.Provider,{value:D,children:$})},"TooltipPositioner"));kr.displayName="TooltipPositioner";var Va=S(O(),1);var Li={...ue,...He},Mr=Va.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,d=je(),{side:p,align:c}=xo(),u=d.useState("open"),g=d.useState("instantType"),m=d.useState("transitionStatus"),h=d.useState("popupProps"),f=d.useState("floatingRootContext"),v=d.useState("disabled"),x=d.useState("closeDelay");Yt({open:u,ref:d.context.popupRef,onComplete(){u&&d.context.onOpenChangeComplete?.(!0)}}),ts(f,{enabled:!v,closeDelay:x});let b=d.useStateSetter("popupElement");return F("div",e,{state:{open:u,side:p,align:c,instant:g,transitionStatus:m},ref:[o,d.context.popupRef,b],props:[h,cs(m),l],stateAttributesMapping:Li})},"TooltipPopup"));Mr.displayName="TooltipPopup";var Ba=S(O(),1);var Or=Ba.forwardRef(a(function(e,o){let{render:s,className:r,style:n,...l}=e,d=je(),{arrowRef:p,side:c,align:u,arrowUncentered:g,arrowStyles:m}=xo(),h=d.useState("open"),f=d.useState("instantType");return F("div",e,{state:{open:h,side:c,align:u,uncentered:g,instant:f},ref:[o,p],props:[{style:m,"aria-hidden":!0},l],stateAttributesMapping:ue})},"TooltipArrow"));Or.displayName="TooltipArrow";var _r=S(O(),1);var Ir=S(xe(),1);var Dr=a(function(e){let{delay:o,closeDelay:s,timeout:r=400}=e,n=_r.useMemo(()=>({delay:o,closeDelay:s}),[o,s]),l=_r.useMemo(()=>({open:o,close:s}),[o,s]);return(0,Ir.jsx)(_s.Provider,{value:n,children:(0,Ir.jsx)(fn,{delay:l,timeoutMs:r,children:e.children})})},"TooltipProvider");Dr.displayName="TooltipProvider";var Fa=S(O(),1);var La=(function(t){return t.popupWidth="--popup-width",t.popupHeight="--popup-height",t})({});var Fi={activationDirection:a(t=>t?{"data-activation-direction":t}:null,"activationDirection")},Ar=Fa.forwardRef(a(function(e,o){let{render:s,className:r,style:n,children:l,...d}=e,p=je(),c=xo(),u=p.useState("instantType"),{children:g,state:m}=us({store:p,side:c.side,cssVars:La,children:l}),h={activationDirection:m.activationDirection,transitioning:m.transitioning,instant:u};return F("div",e,{state:h,ref:o,props:[d,{children:g}],stateAttributesMapping:Fi})},"TooltipViewport"));Ar.displayName="TooltipViewport";var ko=class{static{a(this,"TooltipHandle")}constructor(){this.store=new vo}open(e){let o=e?this.store.context.triggerElements.getById(e):void 0;if(e&&!o)throw new Error(`Base UI: TooltipHandle.open: No trigger found with id "${e}".`);this.store.setOpen(!0,Y(A.imperativeAction,void 0,o))}close(){this.store.setOpen(!1,Y(A.imperativeAction,void 0,void 0))}get isOpen(){return this.store.select("open")}};function Ha(){return new ko}a(Ha,"createTooltipHandle");var ye=S(Uo(),1);var Ue=S(O(),1);var y=S(bo(),1);var Hi=Ln(St.studioFeatures),Wa={analytics:!0,auth:!0,containers:!0,flags:!0,kv:!0,mail:!0,payments:!0,queues:!0,scheduler:!0,storage:!0,vectors:!0,workflows:!0},$i=a(t=>{if(t===null||typeof t!="object")return Wa;let e=t,o=a(s=>typeof e[s]=="boolean"?e[s]:!0,"flag");return{analytics:o("analytics"),auth:o("auth"),containers:o("containers"),flags:o("flags"),kv:o("kv"),mail:o("mail"),payments:o("payments"),queues:o("queues"),scheduler:o("scheduler"),storage:o("storage"),vectors:o("vectors"),workflows:o("workflows")}},"coerceFeatures"),Lr=a(()=>{let t=(0,ye.c)(3),e=Ys(),[o,s]=(0,Ue.useState)(Wa),r,n;return t[0]!==e?(r=a(()=>{$e((async()=>{try{s($i(await e.query(Hi,{},Fn(""))))}catch{}})())},"t0"),n=[e],t[0]=e,t[1]=r,t[2]=n):(r=t[1],n=t[2]),(0,Ue.useEffect)(r,n),o},"useStudioFeatures"),ji=a(()=>{let t=(0,ye.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,y.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,y.jsxDEV)("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"},void 0,!1)},void 0,!1),t[0]=e):e=t[0],e},"ChevronRight$1"),Ui=a(t=>{let e=(0,ye.c)(24),{group:o}=t,s=ae(),r=ft(),n;e[0]!==o.tab||e[1]!==r?(n=a(()=>{$e(r({to:`/${o.tab}`}))},"t1"),e[0]=o.tab,e[1]=r,e[2]=n):n=e[2];let l=n,d=o.bindings.length,p;e[3]!==o.label?(p=(0,y.jsxDEV)("span",{className:"text-sm font-medium text-foreground",children:o.label},void 0,!1),e[3]=o.label,e[4]=p):p=e[4];let c;e[5]===Symbol.for("react.memo_cache_sentinel")?(c=(0,y.jsxDEV)(ji,{},void 0,!1),e[5]=c):c=e[5];let u;e[6]!==p?(u=(0,y.jsxDEV)("div",{className:"flex items-center justify-between",children:[p,c]},void 0,!0),e[6]=p,e[7]=u):u=e[7];let g;e[8]!==d||e[9]!==s?(g=d===1?s("1 binding"):s("{count} bindings",{count:d}),e[8]=d,e[9]=s,e[10]=g):g=e[10];let m;e[11]!==g?(m=(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:g},void 0,!1),e[11]=g,e[12]=m):m=e[12];let h;e[13]!==d||e[14]!==o.bindings?(h=d>0&&(0,y.jsxDEV)("div",{className:"flex flex-wrap gap-1.5",children:o.bindings.map(Zi)},void 0,!1),e[13]=d,e[14]=o.bindings,e[15]=h):h=e[15];let f;e[16]!==u||e[17]!==m||e[18]!==h?(f=(0,y.jsxDEV)(tr,{className:"flex flex-col gap-2 py-4",children:[u,m,h]},void 0,!0),e[16]=u,e[17]=m,e[18]=h,e[19]=f):f=e[19];let v;return e[20]!==o.testId||e[21]!==l||e[22]!==f?(v=(0,y.jsxDEV)(ct,{className:"cursor-pointer gap-0 py-0 transition-colors hover:bg-muted/40","data-testid":o.testId,onClick:l,children:f},void 0,!1),e[20]=o.testId,e[21]=l,e[22]=f,e[23]=v):v=e[23],v},"BindingCard"),$a=["kv","files","vectors"],zi=a((t,e)=>[...t.filter(o=>o.tab!==e.tab),e].toSorted((o,s)=>$a.indexOf(o.tab)-$a.indexOf(s.tab)),"upsertCard"),Wi=a(()=>{let t=(0,ye.c)(19),e=Ys(),o=Lr(),s=ae(),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=[],t[0]=r):r=t[0];let[n,l]=(0,Ue.useState)(r),d,p;if(t[1]!==e||t[2]!==o.kv||t[3]!==o.storage||t[4]!==o.vectors||t[5]!==s?(d=a(()=>{let f={cancelled:!1},v=[{enabled:o.kv,label:s("KV Namespaces"),load:a(async()=>(await e.listKvNamespaces()).map(qi),"load"),tab:"kv",testId:"home-binding-kv"},{enabled:o.storage,label:s("R2 Buckets"),load:a(()=>e.listStorageBuckets(),"load"),tab:"files",testId:"home-binding-r2"},{enabled:o.vectors,label:s("Vectorize Indexes"),load:a(async()=>(await e.listVectorIndexes()).map(Gi),"load"),tab:"vectors",testId:"home-binding-vectors"}];for(let x of v)x.enabled&&$e((async()=>{try{let b=await x.load();if(!f.cancelled){let P={bindings:b,label:x.label,tab:x.tab,testId:x.testId};l(C=>zi(C,P))}}catch{}})());return()=>{f.cancelled=!0}},"t1"),p=[e,o.kv,o.storage,o.vectors,s],t[1]=e,t[2]=o.kv,t[3]=o.storage,t[4]=o.vectors,t[5]=s,t[6]=d,t[7]=p):(d=t[6],p=t[7]),(0,Ue.useEffect)(d,p),n.length===0)return null;let c;t[8]!==s?(c=s("Bindings"),t[8]=s,t[9]=c):c=t[9];let u;t[10]!==c?(u=(0,y.jsxDEV)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:c},void 0,!1),t[10]=c,t[11]=u):u=t[11];let g;t[12]!==n?(g=n.map(Ki),t[12]=n,t[13]=g):g=t[13];let m;t[14]!==g?(m=(0,y.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3",children:g},void 0,!1),t[14]=g,t[15]=m):m=t[15];let h;return t[16]!==u||t[17]!==m?(h=(0,y.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"home-bindings",children:[u,m]},void 0,!0),t[16]=u,t[17]=m,t[18]=h):h=t[18],h},"BindingsOverview");function Zi(t){return(0,y.jsxDEV)(yo,{variant:"secondary",children:t},t,!1)}a(Zi,"_temp$1");function qi(t){return t.binding}a(qi,"_temp2$1");function Gi(t){return t.name}a(Gi,"_temp3$1");function Ki(t){return(0,y.jsxDEV)(Ui,{group:t},t.tab,!1)}a(Ki,"_temp4");var Qi=[{name:"lunora_list_functions",summary:"list every query, mutation, and action with its path"},{name:"lunora_list_tables",summary:"list the schema's tables"},{name:"lunora_get_function_schema",summary:"read a function's argument JSON Schema before calling it"},{name:"lunora_run_query",summary:"run a read-only query"},{name:"lunora_run_mutation",summary:"run a mutation \u2014 writes; only when LUNORA_MCP_ALLOW_WRITES is set"},{name:"lunora_run_action",summary:"run an action \u2014 writes/effects; only when LUNORA_MCP_ALLOW_WRITES is set"}],Yi=a(t=>JSON.stringify({mcpServers:{lunora:{args:["-y","@lunora/mcp"],command:"npx",env:{LUNORA_ADMIN_TOKEN:"<your-admin-token>",LUNORA_URL:t}}}},null,2),"buildMcpConfig"),Ji=a(t=>{let e=Qi.map(o=>`- ${o.name} \u2014 ${o.summary}`).join(`
2
+ `);return[`You have a Lunora MCP server connected to the deployment at ${t}.`,"It exposes this backend's functions and schema so you can inspect and operate it:",e,"",`Start by calling lunora_list_functions and lunora_list_tables to learn what exists, then lunora_get_function_schema before any run call. The full HTTP API is also documented at ${t}/_lunora/admin/openapi (that endpoint needs the same admin token the MCP server is configured with).`].join(`
3
+ `)},"buildAgentPrompt"),Xi=1500,el=a(()=>{let t=(0,ye.c)(35),e=ae(),o;t[0]===Symbol.for("react.memo_cache_sentinel")?(o=Hn(),t[0]=o):o=t[0];let s=o,[r,n]=(0,Ue.useState)(null),l,d;t[1]!==r?(l=a(()=>{if(r===null)return;let M=globalThis.setTimeout(()=>{n(null)},Xi);return()=>{globalThis.clearTimeout(M)}},"t1"),d=[r],t[1]=r,t[2]=l,t[3]=d):(l=t[2],d=t[3]),(0,Ue.useEffect)(l,d);let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=a((M,V)=>{$n(V)&&n(M)},"t3"),t[4]=p):p=t[4];let c=p,u;t[5]===Symbol.for("react.memo_cache_sentinel")?(u=a(()=>{c("config",Yi(s))},"t4"),t[5]=u):u=t[5];let g=u,m;t[6]===Symbol.for("react.memo_cache_sentinel")?(m=a(()=>{c("prompt",Ji(s))},"t5"),t[6]=m):m=t[6];let h=m,f;t[7]!==e?(f=e("Connect an AI agent"),t[7]=e,t[8]=f):f=t[8];let v;t[9]!==f?(v=(0,y.jsxDEV)("span",{className:"text-sm font-medium text-foreground",children:f},void 0,!1),t[9]=f,t[10]=v):v=t[10];let x;t[11]!==e?(x=e("Drive this deployment from an AI agent over the Model Context Protocol \u2014 it can list functions and tables, read schemas, and run read-only queries. Writes stay off unless you opt in."),t[11]=e,t[12]=x):x=t[12];let b;t[13]!==x?(b=(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:x},void 0,!1),t[13]=x,t[14]=b):b=t[14];let P;t[15]!==v||t[16]!==b?(P=(0,y.jsxDEV)("div",{className:"flex flex-col gap-1.5 p-4",children:[v,b]},void 0,!0),t[15]=v,t[16]=b,t[17]=P):P=t[17];let C;t[18]===Symbol.for("react.memo_cache_sentinel")?(C=(0,y.jsxDEV)("code",{className:"font-mono text-xs text-muted-foreground","data-testid":"home-connect-agent-command",children:"npx -y @lunora/mcp"},void 0,!1),t[18]=C):C=t[18];let N;t[19]!==r||t[20]!==e?(N=e(r==="config"?"Copied":"Copy MCP config"),t[19]=r,t[20]=e,t[21]=N):N=t[21];let R;t[22]!==N?(R=(0,y.jsxDEV)(po,{"data-testid":"home-connect-agent-copy-config",onClick:g,size:"xs",variant:"outline",children:N},void 0,!1),t[22]=N,t[23]=R):R=t[23];let E;t[24]!==r||t[25]!==e?(E=e(r==="prompt"?"Copied":"Copy agent prompt"),t[24]=r,t[25]=e,t[26]=E):E=t[26];let T;t[27]!==E?(T=(0,y.jsxDEV)(po,{"data-testid":"home-connect-agent-copy-prompt",onClick:h,size:"xs",variant:"outline",children:E},void 0,!1),t[27]=E,t[28]=T):T=t[28];let k;t[29]!==R||t[30]!==T?(k=(0,y.jsxDEV)("div",{className:"flex flex-col gap-3 border-t border-border bg-muted/50 px-4 py-3",children:[C,(0,y.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[R,T]},void 0,!0)]},void 0,!0),t[29]=R,t[30]=T,t[31]=k):k=t[31];let w;return t[32]!==P||t[33]!==k?(w=(0,y.jsxDEV)(ct,{className:"gap-0 py-0","data-testid":"home-connect-agent",children:[P,k]},void 0,!0),t[32]=P,t[33]=k,t[34]=w):w=t[34],w},"ConnectAgentCard"),tl=(0,Ue.lazy)(()=>import("./chunk-IZN4TYMN.js").then(t=>({default:t.Sparkline}))),Br=a(t=>{if(t<1e3)return`${String(Math.round(t))}ms`;let e=t>=1e4?0:1;return`${(t/1e3).toFixed(e)}s`},"formatMs"),ol=a((t,e)=>{let o=Math.max(0,Math.round((e-t)/1e3));if(o<60)return`${String(o)}s ago`;let s=Math.round(o/60);if(s<60)return`${String(s)}m ago`;let r=Math.round(s/60);return r<24?`${String(r)}h ago`:`${String(Math.round(r/24))}d ago`},"relativeTime"),ja=a((t,e)=>{if(t===void 0||t.length===0)return[];let o=new Map;for(let s of t)o.set(s.bucketMs,(o.get(s.bucketMs)??0)+s[e]);return[...o.entries()].toSorted(([s],[r])=>s-r).map(([,s])=>s)},"bucketSeries"),Ua=a((t,e=!0)=>{if(t.length<4)return null;let o=Math.floor(t.length/2),s=t.slice(0,o).reduce((l,d)=>l+d,0),r=t.slice(o).reduce((l,d)=>l+d,0);if(s===0)return null;let n=(r-s)/s*100;return{positive:e?n>=0:n<=0,text:`${n>=0?"+":""}${n.toFixed(1)}%`}},"seriesDelta"),Hs=a(t=>{let e=(0,ye.c)(24),{delta:o,footer:s,label:r,trend:n,unit:l,value:d}=t,p=ae(),c;e[0]!==r?(c=(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r},void 0,!1),e[0]=r,e[1]=c):c=e[1];let u;e[2]!==d?(u=(0,y.jsxDEV)("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:d},void 0,!1),e[2]=d,e[3]=u):u=e[3];let g;e[4]!==l?(g=l!==void 0&&(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:l},void 0,!1),e[4]=l,e[5]=g):g=e[5];let m;e[6]!==u||e[7]!==g?(m=(0,y.jsxDEV)("span",{className:"flex items-baseline gap-1.5",children:[u,g]},void 0,!0),e[6]=u,e[7]=g,e[8]=m):m=e[8];let h;e[9]!==n?(h=n!==void 0&&(0,y.jsxDEV)(Ue.Suspense,{fallback:(0,y.jsxDEV)("div",{"aria-hidden":"true",className:"h-8 w-28"},void 0,!1),children:(0,y.jsxDEV)(tl,{data:n},void 0,!1)},void 0,!1),e[9]=n,e[10]=h):h=e[10];let f;e[11]!==m||e[12]!==h?(f=(0,y.jsxDEV)("div",{className:"flex items-center justify-between gap-3",children:[m,h]},void 0,!0),e[11]=m,e[12]=h,e[13]=f):f=e[13];let v;e[14]!==c||e[15]!==f?(v=(0,y.jsxDEV)("div",{className:"flex flex-col gap-2.5 p-4",children:[c,f]},void 0,!0),e[14]=c,e[15]=f,e[16]=v):v=e[16];let x;e[17]!==o||e[18]!==s||e[19]!==p?(x=o==null?s!=null&&(0,y.jsxDEV)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px] text-muted-foreground",children:s},void 0,!1):(0,y.jsxDEV)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px]",children:[(0,y.jsxDEV)("span",{className:z("font-semibold",o.positive?"text-success":"text-destructive"),children:o.text},void 0,!1)," ",(0,y.jsxDEV)("span",{className:"text-muted-foreground",children:p("vs. prev.")},void 0,!1)]},void 0,!0),e[17]=o,e[18]=s,e[19]=p,e[20]=x):x=e[20];let b;return e[21]!==v||e[22]!==x?(b=(0,y.jsxDEV)(ct,{className:"justify-between gap-0 py-0",children:[v,x]},void 0,!0),e[21]=v,e[22]=x,e[23]=b):b=e[23],b},"StatCard"),sl=a(()=>{let t=(0,ye.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,y.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,y.jsxDEV)("path",{d:"m9 6 6 6-6 6"},void 0,!1)},void 0,!1),t[0]=e):e=t[0],e},"ChevronRight"),Vr=a(t=>{let e=(0,ye.c)(7),{command:o,label:s}=t,r;e[0]!==s?(r=(0,y.jsxDEV)("div",{className:"p-4",children:(0,y.jsxDEV)("span",{className:"text-sm font-medium text-foreground",children:s},void 0,!1)},void 0,!1),e[0]=s,e[1]=r):r=e[1];let n;e[2]!==o?(n=(0,y.jsxDEV)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5",children:(0,y.jsxDEV)("code",{className:"font-mono text-xs text-muted-foreground",children:o},void 0,!1)},void 0,!1),e[2]=o,e[3]=n):n=e[3];let l;return e[4]!==r||e[5]!==n?(l=(0,y.jsxDEV)(ct,{className:"justify-between gap-0 py-0",children:[r,n]},void 0,!0),e[4]=r,e[5]=n,e[6]=l):l=e[6],l},"ConnectCard"),za=a(t=>{let e=(0,ye.c)(18),{count:o,onView:s,testId:r,title:n}=t,l=ae(),d;e[0]!==n?(d=(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:n},void 0,!1),e[0]=n,e[1]=d):d=e[1];let p;e[2]!==o||e[3]!==l?(p=o===null?(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:l("No data yet")},void 0,!1):(0,y.jsxDEV)(yo,{variant:o>0?"destructive":"success",children:o>0?o:l("All clear")},void 0,!1),e[2]=o,e[3]=l,e[4]=p):p=e[4];let c;e[5]!==d||e[6]!==p?(c=(0,y.jsxDEV)("div",{className:"flex items-start justify-between gap-2 p-4",children:[d,p]},void 0,!0),e[5]=d,e[6]=p,e[7]=c):c=e[7];let u;e[8]!==l?(u=l("View"),e[8]=l,e[9]=u):u=e[9];let g;e[10]===Symbol.for("react.memo_cache_sentinel")?(g=(0,y.jsxDEV)(sl,{},void 0,!1),e[10]=g):g=e[10];let m;e[11]!==s||e[12]!==u?(m=(0,y.jsxDEV)("button",{className:"flex items-center gap-1 border-t border-border bg-muted/50 px-4 py-2.5 text-[12px] font-medium text-foreground outline-none transition-colors hover:bg-muted focus-visible:bg-muted",onClick:s,type:"button",children:[u,g]},void 0,!0),e[11]=s,e[12]=u,e[13]=m):m=e[13];let h;return e[14]!==c||e[15]!==m||e[16]!==r?(h=(0,y.jsxDEV)(ct,{className:"justify-between gap-0 py-0","data-testid":r,children:[c,m]},void 0,!0),e[14]=c,e[15]=m,e[16]=r,e[17]=h):h=e[17],h},"AdvisorCard"),rl=a(t=>{let e=(0,ye.c)(7),{functions:o}=t,s=ae(),r;if(e[0]!==o||e[1]!==s){let n=[...o].toSorted(ll).slice(0,5),l;e[3]!==s?(l=s("Top functions"),e[3]=s,e[4]=l):l=e[4];let d;e[5]!==l?(d=(0,y.jsxDEV)("div",{className:"border-b border-border px-4 py-3",children:(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l},void 0,!1)},void 0,!1),e[5]=l,e[6]=d):d=e[6],r=(0,y.jsxDEV)(ct,{className:"gap-0 py-0","data-testid":"home-top-functions",children:[d,n.length===0?(0,y.jsxDEV)("p",{className:"px-4 py-8 text-center text-xs text-muted-foreground",children:s("No functions called yet.")},void 0,!1):(0,y.jsxDEV)("div",{className:"divide-y divide-border",children:[(0,y.jsxDEV)("div",{className:"grid grid-cols-[1fr_auto_auto_auto] gap-4 px-4 py-1.5 font-mono text-[10px] tracking-wide text-muted-foreground uppercase",children:[(0,y.jsxDEV)("span",{children:s("Function")},void 0,!1),(0,y.jsxDEV)("span",{className:"text-end",children:s("Calls")},void 0,!1),(0,y.jsxDEV)("span",{className:"w-12 text-end",children:s("Avg")},void 0,!1),(0,y.jsxDEV)("span",{className:"w-8 text-end",children:s("Err")},void 0,!1)]},void 0,!0),n.map(cl)]},void 0,!0)]},void 0,!0),e[0]=o,e[1]=s,e[2]=r}else r=e[2];return r},"TopFunctionsCard"),nl=a(t=>{let e=(0,ye.c)(26),{subs:o}=t,s=ae(),r;e[0]!==s?(r=s("Live connections"),e[0]=s,e[1]=r):r=e[1];let n;e[2]!==r?(n=(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r},void 0,!1),e[2]=r,e[3]=n):n=e[3];let l=o?.totalConnections??0,d;e[4]!==l?(d=l.toLocaleString(),e[4]=l,e[5]=d):d=e[5];let p;e[6]!==d?(p=(0,y.jsxDEV)("span",{className:"text-2xl font-semibold tabular-nums text-foreground",children:d},void 0,!1),e[6]=d,e[7]=p):p=e[7];let c;e[8]!==s?(c=s("sockets"),e[8]=s,e[9]=c):c=e[9];let u;e[10]!==c?(u=(0,y.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:c},void 0,!1),e[10]=c,e[11]=u):u=e[11];let g;e[12]!==p||e[13]!==u?(g=(0,y.jsxDEV)("span",{className:"flex items-baseline gap-1.5",children:[p,u]},void 0,!0),e[12]=p,e[13]=u,e[14]=g):g=e[14];let m=o?.totalSubscriptions??0,h;e[15]!==m?(h=m.toLocaleString(),e[15]=m,e[16]=h):h=e[16];let f;e[17]!==s?(f=s("active subscriptions"),e[17]=s,e[18]=f):f=e[18];let v;e[19]!==h||e[20]!==f?(v=(0,y.jsxDEV)("span",{className:"text-[11px] text-muted-foreground",children:[h," ",f]},void 0,!0),e[19]=h,e[20]=f,e[21]=v):v=e[21];let x;return e[22]!==v||e[23]!==n||e[24]!==g?(x=(0,y.jsxDEV)(ct,{"data-testid":"home-live-connections",children:(0,y.jsxDEV)(tr,{className:"flex flex-col gap-2.5 py-4",children:[n,g,v]},void 0,!0)},void 0,!1),e[22]=v,e[23]=n,e[24]=g,e[25]=x):x=e[25],x},"LiveConnectionsCard"),al=a(t=>{let e=(0,ye.c)(7),{entries:o}=t,s=ae(),r;if(e[0]!==o||e[1]!==s){let n=Date.now(),l;e[3]!==s?(l=s("Recent activity"),e[3]=s,e[4]=l):l=e[4];let d;e[5]!==l?(d=(0,y.jsxDEV)("div",{className:"border-b border-border px-4 py-3",children:(0,y.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:l},void 0,!1)},void 0,!1),e[5]=l,e[6]=d):d=e[6],r=(0,y.jsxDEV)(ct,{className:"gap-0 py-0","data-testid":"home-recent-activity",children:[d,o.length===0?(0,y.jsxDEV)("p",{className:"px-4 py-8 text-center text-xs text-muted-foreground",children:s("No recent activity.")},void 0,!1):(0,y.jsxDEV)("ul",{className:"divide-y divide-border",children:o.slice(0,5).map(p=>(0,y.jsxDEV)("li",{className:"flex items-center justify-between gap-3 px-4 py-2 text-[13px]",children:[(0,y.jsxDEV)("span",{className:"flex min-w-0 items-center gap-2",children:[(0,y.jsxDEV)("span",{"aria-hidden":"true",className:"size-1.5 shrink-0 rounded-full bg-muted-foreground/40"},void 0,!1),(0,y.jsxDEV)("span",{className:"truncate text-foreground",children:[p.op,p.table!==void 0&&(0,y.jsxDEV)("span",{className:"text-muted-foreground",children:[" \xB7 ",p.table,p.id===void 0?"":`#${p.id}`]},void 0,!0)]},void 0,!0)]},void 0,!0),(0,y.jsxDEV)("span",{className:"shrink-0 text-xs tabular-nums text-muted-foreground",children:ol(p.ts,n)},void 0,!1)]},p.seq,!0))},void 0,!1)]},void 0,!0),e[0]=o,e[1]=s,e[2]=r}else r=e[2];return r},"RecentActivityCard"),il=a(t=>{let e=t.reduce((o,s)=>o+s.calls,0);return e===0?null:t.reduce((o,s)=>o+s.totalDurationMs,0)/e},"averageLatencyMs"),Za=a(t=>{let e=(0,ye.c)(151),{initialShardKey:o}=t,s=ae(),r=ft(),n=o??"",l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l={},e[0]=l):l=e[0];let d;e[1]!==n?(d={shardKey:n},e[1]=n,e[2]=d):d=e[2];let p=uo(St.getMetrics,l,d),c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c={},e[3]=c):c=e[3];let u;e[4]!==n?(u={shardKey:n},e[4]=n,e[5]=u):u=e[5];let g=uo(St.getFunctionStats,c,u),m,h;e[6]===Symbol.for("react.memo_cache_sentinel")?(m={},h={shardKey:""},e[6]=m,e[7]=h):(m=e[6],h=e[7]);let f=uo(St.getSecurityAudit,m,h),v;e[8]===Symbol.for("react.memo_cache_sentinel")?(v={},e[8]=v):v=e[8];let x;e[9]!==n?(x={shardKey:n},e[9]=n,e[10]=x):x=e[10];let b=uo(St.listSubscriptions,v,x),P;e[11]===Symbol.for("react.memo_cache_sentinel")?(P={},e[11]=P):P=e[11];let C;e[12]!==n?(C={shardKey:n},e[12]=n,e[13]=C):C=e[13];let N=uo(St.getAuditLog,P,C),R=p.data??null,E,T,k,w,M,V,W,D,H,$,q,K,I,_,U,te,se,re;if(e[14]!==N.data||e[15]!==f.data||e[16]!==R||e[17]!==p.data||e[18]!==r||e[19]!==g.data||e[20]!==b.data||e[21]!==s){w=Array.isArray(g.data?.functions)?g.data.functions:[],W=b.data??null;let Ze;e[40]!==N.data?(Ze=Array.isArray(N.data?.entries)?N.data.entries:[],e[40]=N.data,e[41]=Ze):Ze=e[41],T=Ze,M=p.data===void 0||g.data===void 0?null:Un(R,w).length,V=Array.isArray(f.data?.findings)?f.data.findings.length:null;let qe;e[42]!==r?(qe=a(()=>{$e(r({to:"/security"}))},"t212"),e[42]=r,e[43]=qe):qe=e[43],re=qe;let Ge;e[44]!==r?(Ge=a(()=>{$e(r({to:"/insights"}))},"t222"),e[44]=r,e[45]=Ge):Ge=e[45],se=Ge;let Ke=ja(R?.history,"calls"),Qe=ja(R?.history,"errors"),at=il(w),Ye=Math.max(0,...w.map(dl)),ge=R?.cache,Je;e[46]!==ge?(Je=ge!=null&&ge.hits+ge.misses>0?Math.round(ge.hits/(ge.hits+ge.misses)*100):null,e[46]=ge,e[47]=Je):Je=e[47],k=Je,U="flex flex-col gap-6",te="lunora-home",q="grid gap-3 sm:grid-cols-2 xl:grid-cols-4",K="home-health";let Xe=Ua(Ke),De;e[48]!==s?(De=s("Requests"),e[48]=s,e[49]=De):De=e[49];let et=R?.requests??0,Ae;e[50]!==et?(Ae=et.toLocaleString(),e[50]=et,e[51]=Ae):Ae=e[51],e[52]!==Ke||e[53]!==Xe||e[54]!==De||e[55]!==Ae?(I=(0,y.jsxDEV)(Hs,{delta:Xe,label:De,trend:Ke,value:Ae},void 0,!1),e[52]=Ke,e[53]=Xe,e[54]=De,e[55]=Ae,e[56]=I):I=e[56];let tt=Ua(Qe,!1),Ve;e[57]!==s?(Ve=s("Errors"),e[57]=s,e[58]=Ve):Ve=e[58];let ot=R?.errors??0,Be;e[59]!==ot?(Be=ot.toLocaleString(),e[59]=ot,e[60]=Be):Be=e[60],e[61]!==Qe||e[62]!==tt||e[63]!==Ve||e[64]!==Be?(_=(0,y.jsxDEV)(Hs,{delta:tt,label:Ve,trend:Qe,value:Be},void 0,!1),e[61]=Qe,e[62]=tt,e[63]=Ve,e[64]=Be,e[65]=_):_=e[65],E=Hs,e[66]!==Ye||e[67]!==s?(D=Ye>0?`${s("max")} ${Br(Ye)}`:void 0,e[66]=Ye,e[67]=s,e[68]=D):D=e[68],e[69]!==s?(H=s("Avg latency"),e[69]=s,e[70]=H):H=e[70],$=at===null?"\u2014":Br(at),e[14]=N.data,e[15]=f.data,e[16]=R,e[17]=p.data,e[18]=r,e[19]=g.data,e[20]=b.data,e[21]=s,e[22]=E,e[23]=T,e[24]=k,e[25]=w,e[26]=M,e[27]=V,e[28]=W,e[29]=D,e[30]=H,e[31]=$,e[32]=q,e[33]=K,e[34]=I,e[35]=_,e[36]=U,e[37]=te,e[38]=se,e[39]=re}else E=e[22],T=e[23],k=e[24],w=e[25],M=e[26],V=e[27],W=e[28],D=e[29],H=e[30],$=e[31],q=e[32],K=e[33],I=e[34],_=e[35],U=e[36],te=e[37],se=e[38],re=e[39];let J;e[71]!==E||e[72]!==D||e[73]!==H||e[74]!==$?(J=(0,y.jsxDEV)(E,{footer:D,label:H,value:$},void 0,!1),e[71]=E,e[72]=D,e[73]=H,e[74]=$,e[75]=J):J=e[75];let ee;e[76]!==k||e[77]!==s?(ee=k===null?void 0:`${String(k)}% ${s("cache hit")}`,e[76]=k,e[77]=s,e[78]=ee):ee=e[78];let ie;e[79]!==s?(ie=s("Database size"),e[79]=s,e[80]=ie):ie=e[80];let Le=R?.databaseSize??null,me;e[81]!==Le?(me=jn(Le),e[81]=Le,e[82]=me):me=e[82];let he;e[83]!==ee||e[84]!==ie||e[85]!==me?(he=(0,y.jsxDEV)(Hs,{footer:ee,label:ie,value:me},void 0,!1),e[83]=ee,e[84]=ie,e[85]=me,e[86]=he):he=e[86];let ve;e[87]!==q||e[88]!==K||e[89]!==I||e[90]!==_||e[91]!==J||e[92]!==he?(ve=(0,y.jsxDEV)("div",{className:q,"data-testid":K,children:[I,_,J,he]},void 0,!0),e[87]=q,e[88]=K,e[89]=I,e[90]=_,e[91]=J,e[92]=he,e[93]=ve):ve=e[93];let Fe;e[94]===Symbol.for("react.memo_cache_sentinel")?(Fe=(0,y.jsxDEV)(Wi,{},void 0,!1),e[94]=Fe):Fe=e[94];let L;e[95]!==w?(L=(0,y.jsxDEV)("div",{className:"lg:col-span-2",children:(0,y.jsxDEV)(rl,{functions:w},void 0,!1)},void 0,!1),e[95]=w,e[96]=L):L=e[96];let Q;e[97]!==W?(Q=(0,y.jsxDEV)(nl,{subs:W},void 0,!1),e[97]=W,e[98]=Q):Q=e[98];let X;e[99]!==T?(X=(0,y.jsxDEV)(al,{entries:T},void 0,!1),e[99]=T,e[100]=X):X=e[100];let pe;e[101]!==Q||e[102]!==X?(pe=(0,y.jsxDEV)("div",{className:"flex flex-col gap-3",children:[Q,X]},void 0,!0),e[101]=Q,e[102]=X,e[103]=pe):pe=e[103];let le;e[104]!==L||e[105]!==pe?(le=(0,y.jsxDEV)("div",{className:"grid gap-3 lg:grid-cols-3",children:[L,pe]},void 0,!0),e[104]=L,e[105]=pe,e[106]=le):le=e[106];let Pe;e[107]!==s?(Pe=s("Advisors"),e[107]=s,e[108]=Pe):Pe=e[108];let ne;e[109]!==Pe?(ne=(0,y.jsxDEV)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:Pe},void 0,!1),e[109]=Pe,e[110]=ne):ne=e[110];let Ce;e[111]!==M||e[112]!==V||e[113]!==s||e[114]!==se||e[115]!==re?(Ce=V===0&&M===0?(0,y.jsxDEV)(Bn,{description:s("No security or performance issues detected."),icon:(0,y.jsxDEV)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,y.jsxDEV)("path",{d:"M12 3 4 6v5c0 5 3.4 8.5 8 10 4.6-1.5 8-5 8-10V6l-8-3Z"},void 0,!1),(0,y.jsxDEV)("path",{d:"m9 12 2 2 4-4"},void 0,!1)]},void 0,!0),testId:"home-advisors-clear",title:s("No issues found")},void 0,!1):(0,y.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,y.jsxDEV)(za,{count:V,onView:re,testId:"home-security",title:s("Security findings")},void 0,!1),(0,y.jsxDEV)(za,{count:M,onView:se,testId:"home-performance",title:s("Performance issues")},void 0,!1)]},void 0,!0),e[111]=M,e[112]=V,e[113]=s,e[114]=se,e[115]=re,e[116]=Ce):Ce=e[116];let Re;e[117]!==ne||e[118]!==Ce?(Re=(0,y.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"home-advisors",children:[ne,Ce]},void 0,!0),e[117]=ne,e[118]=Ce,e[119]=Re):Re=e[119];let Se;e[120]!==s?(Se=s("Get connected"),e[120]=s,e[121]=Se):Se=e[121];let Ne;e[122]!==Se?(Ne=(0,y.jsxDEV)("h2",{className:"text-sm font-semibold tracking-tight text-foreground",children:Se},void 0,!1),e[122]=Se,e[123]=Ne):Ne=e[123];let Ee;e[124]!==s?(Ee=s("Client SDK"),e[124]=s,e[125]=Ee):Ee=e[125];let Te;e[126]!==Ee?(Te=(0,y.jsxDEV)(Vr,{command:"npm i @lunora/client",label:Ee},void 0,!1),e[126]=Ee,e[127]=Te):Te=e[127];let we;e[128]!==s?(we=s("React"),e[128]=s,e[129]=we):we=e[129];let ke;e[130]!==we?(ke=(0,y.jsxDEV)(Vr,{command:"npm i @lunora/react",label:we},void 0,!1),e[130]=we,e[131]=ke):ke=e[131];let Me;e[132]!==s?(Me=s("CLI"),e[132]=s,e[133]=Me):Me=e[133];let Oe;e[134]!==Me?(Oe=(0,y.jsxDEV)(Vr,{command:"lunora dev",label:Me},void 0,!1),e[134]=Me,e[135]=Oe):Oe=e[135];let _e;e[136]!==Te||e[137]!==ke||e[138]!==Oe?(_e=(0,y.jsxDEV)("div",{className:"grid gap-3 sm:grid-cols-3",children:[Te,ke,Oe]},void 0,!0),e[136]=Te,e[137]=ke,e[138]=Oe,e[139]=_e):_e=e[139];let ze;e[140]===Symbol.for("react.memo_cache_sentinel")?(ze=(0,y.jsxDEV)(el,{},void 0,!1),e[140]=ze):ze=e[140];let Ie;e[141]!==Ne||e[142]!==_e?(Ie=(0,y.jsxDEV)("section",{className:"flex flex-col gap-3","data-testid":"home-get-connected",children:[Ne,_e,ze]},void 0,!0),e[141]=Ne,e[142]=_e,e[143]=Ie):Ie=e[143];let We;return e[144]!==U||e[145]!==te||e[146]!==ve||e[147]!==le||e[148]!==Re||e[149]!==Ie?(We=(0,y.jsxDEV)("div",{className:U,"data-testid":te,children:[ve,Fe,le,Re,Ie]},void 0,!0),e[144]=U,e[145]=te,e[146]=ve,e[147]=le,e[148]=Re,e[149]=Ie,e[150]=We):We=e[150],We},"HomePanel");function ll(t,e){return e.calls-t.calls}a(ll,"_temp");function cl(t){return(0,y.jsxDEV)("div",{className:"grid grid-cols-[1fr_auto_auto_auto] items-center gap-4 px-4 py-2 text-[13px]",children:[(0,y.jsxDEV)("span",{className:"truncate font-mono text-xs text-foreground",children:t.path},void 0,!1),(0,y.jsxDEV)("span",{className:"text-end tabular-nums",children:t.calls.toLocaleString()},void 0,!1),(0,y.jsxDEV)("span",{className:"w-12 text-end tabular-nums text-muted-foreground",children:Br(t.calls>0?t.totalDurationMs/t.calls:0)},void 0,!1),(0,y.jsxDEV)("span",{className:z("w-8 text-end tabular-nums",t.errors>0?"text-destructive":"text-muted-foreground"),children:t.errors},void 0,!1)]},t.path,!0)}a(cl,"_temp2");function dl(t){return t.maxDurationMs}a(dl,"_temp3");var qa=S(Uo(),1);var Ga=S(bo(),1);var pl=a((t,e,o)=>t!==void 0?t:e===void 0&&o===void 0?en:Xr(e,o),"resolveInstance"),Ka=a(t=>{let e=(0,qa.c)(7),{catalogs:o,children:s,i18n:r,locale:n}=t,l;e[0]!==o||e[1]!==r||e[2]!==n?(l=pl(r,n,o),e[0]=o,e[1]=r,e[2]=n,e[3]=l):l=e[3];let d=l,p;return e[4]!==s||e[5]!==d?(p=(0,Ga.jsxDEV)(tn,{value:d,children:s},void 0,!1),e[4]=s,e[5]=d,e[6]=p):p=e[6],p},"StudioI18nProvider");var Hr=S(Uo(),1);var Ct=S(O(),1);var de=S(bo(),1);var Fr="lunora:command-palette",Qa=a(()=>{"window"in globalThis&&globalThis.dispatchEvent(new Event(Fr))},"openCommandPalette"),ul=a(t=>{let e=(0,Hr.c)(18),{active:o,index:s,item:r,onActivate:n,onSelect:l}=t,d;e[0]!==r||e[1]!==l?(d=a(()=>{l(r)},"t1"),e[0]=r,e[1]=l,e[2]=d):d=e[2];let p=d,c;e[3]!==s||e[4]!==n?(c=a(()=>{n(s)},"t2"),e[3]=s,e[4]=n,e[5]=c):c=e[5];let u=c,g=o?"bg-accent text-accent-foreground":"text-foreground",m;e[6]!==g?(m=z("flex w-full items-center justify-between gap-3 rounded-md px-3 py-2 text-start text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground",g),e[6]=g,e[7]=m):m=e[7];let h;e[8]!==r.label?(h=(0,de.jsxDEV)("span",{children:r.label},void 0,!1),e[8]=r.label,e[9]=h):h=e[9];let f;e[10]!==r.group?(f=(0,de.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:r.group},void 0,!1),e[10]=r.group,e[11]=f):f=e[11];let v;return e[12]!==p||e[13]!==u||e[14]!==m||e[15]!==h||e[16]!==f?(v=(0,de.jsxDEV)("li",{children:(0,de.jsxDEV)("button",{className:m,onClick:p,onMouseEnter:u,type:"button",children:[h,f]},void 0,!0)},void 0,!1),e[12]=p,e[13]=u,e[14]=m,e[15]=h,e[16]=f,e[17]=v):v=e[17],v},"CommandRow"),Ya=a(t=>{let e=(0,Hr.c)(39),{items:o}=t,s=ae(),r=ft(),[n,l]=(0,Ct.useState)(!1),[d,p]=(0,Ct.useState)(""),[c,u]=(0,Ct.useState)(0),g=(0,Ct.useRef)(null),m,h;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=a(()=>{let I=a(U=>{(U.metaKey||U.ctrlKey)&&U.key.toLowerCase()==="k"&&(U.preventDefault(),l(!0))},"onKeyDown"),_=a(()=>{l(!0)},"onOpen");return globalThis.addEventListener("keydown",I),globalThis.addEventListener(Fr,_),()=>{globalThis.removeEventListener("keydown",I),globalThis.removeEventListener(Fr,_)}},"t1"),h=[],e[0]=m,e[1]=h):(m=e[0],h=e[1]),(0,Ct.useEffect)(m,h);let f;if(e[2]!==o||e[3]!==d){e:{let I=d.trim().toLowerCase();if(I===""){f=o;break e}f=o.filter(_=>_.label.toLowerCase().includes(I)||_.group.toLowerCase().includes(I))}e[2]=o,e[3]=d,e[4]=f}else f=e[4];let v=f,x;e[5]===Symbol.for("react.memo_cache_sentinel")?(x=a(I=>{l(I),I||(p(""),u(0))},"t4"),e[5]=x):x=e[5];let b=x,P;e[6]!==r?(P=a(I=>{b(!1),$e(r({to:I.to}))},"t5"),e[6]=r,e[7]=P):P=e[7];let C=P,N;e[8]===Symbol.for("react.memo_cache_sentinel")?(N=a(I=>{p(I.target.value),u(0)},"t6"),e[8]=N):N=e[8];let R=N,E;e[9]!==c||e[10]!==v||e[11]!==C?(E=a(I=>{e:switch(I.key){case"ArrowDown":{I.preventDefault(),u(_=>v.length===0?0:(_+1)%v.length);break e}case"ArrowUp":{I.preventDefault(),u(_=>v.length===0?0:(_-1+v.length)%v.length);break e}case"Enter":{I.preventDefault();let _=v[c];_!==void 0&&C(_);break e}}},"t7"),e[9]=c,e[10]=v,e[11]=C,e[12]=E):E=e[12];let T=E,k;e[13]===Symbol.for("react.memo_cache_sentinel")?(k=(0,de.jsxDEV)(fe.Backdrop,{className:"fixed inset-0 z-50 bg-black/40 data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0"},void 0,!1),e[13]=k):k=e[13];let w;e[14]!==s?(w=s("Command palette"),e[14]=s,e[15]=w):w=e[15];let M;e[16]!==w?(M=(0,de.jsxDEV)(fe.Title,{className:"sr-only",children:w},void 0,!1),e[16]=w,e[17]=M):M=e[17];let V;e[18]===Symbol.for("react.memo_cache_sentinel")?(V=(0,de.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,de.jsxDEV)("circle",{cx:"11",cy:"11",r:"7"},void 0,!1),(0,de.jsxDEV)("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"},void 0,!1)]},void 0,!0),e[18]=V):V=e[18];let W;e[19]!==s?(W=s("Search\u2026"),e[19]=s,e[20]=W):W=e[20];let D;e[21]!==T||e[22]!==d||e[23]!==W?(D=(0,de.jsxDEV)("div",{className:"flex items-center gap-2 border-b border-border px-3",children:[V,(0,de.jsxDEV)("input",{className:"h-11 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground","data-testid":"dash-command-input",onChange:R,onKeyDown:T,placeholder:W,ref:g,type:"text",value:d},void 0,!1)]},void 0,!0),e[21]=T,e[22]=d,e[23]=W,e[24]=D):D=e[24];let H;e[25]!==c||e[26]!==v||e[27]!==C||e[28]!==s?(H=v.length===0?(0,de.jsxDEV)("li",{className:"px-3 py-6 text-center text-sm text-muted-foreground",children:s("No results.")},void 0,!1):v.map((I,_)=>(0,de.jsxDEV)(ul,{active:_===c,index:_,item:I,onActivate:u,onSelect:C},I.to,!1)),e[25]=c,e[26]=v,e[27]=C,e[28]=s,e[29]=H):H=e[29];let $;e[30]!==H?($=(0,de.jsxDEV)("ul",{className:"max-h-80 overflow-y-auto p-1.5","data-testid":"dash-command-list",children:H},void 0,!1),e[30]=H,e[31]=$):$=e[31];let q;e[32]!==M||e[33]!==D||e[34]!==$?(q=(0,de.jsxDEV)(fe.Portal,{children:[k,(0,de.jsxDEV)(fe.Popup,{className:"fixed start-1/2 top-24 z-50 w-[36rem] max-w-[90vw] -translate-x-1/2 overflow-hidden rounded-lg border border-border bg-popover text-popover-foreground shadow-lg outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95","data-testid":"dash-command-palette",initialFocus:g,children:[M,D,$]},void 0,!0)]},void 0,!0),e[32]=M,e[33]=D,e[34]=$,e[35]=q):q=e[35];let K;return e[36]!==n||e[37]!==q?(K=(0,de.jsxDEV)(fe.Root,{onOpenChange:b,open:n,children:q},void 0,!1),e[36]=n,e[37]=q,e[38]=K):K=e[38],K},"CommandPalette");var si="(prefers-color-scheme: dark)",ri=a(()=>{try{return globalThis.localStorage}catch{return}},"store"),fl=a(t=>t==="system"||t==="light"||t==="dark","isPreference"),ni=a(()=>globalThis.matchMedia,"matchMedia"),ai="lunora-studio-theme",$r=["system","light","dark"],ml=a((t="system")=>{try{let e=ri()?.getItem(ai);return fl(e)?e:t}catch{return t}},"loadThemePreference"),Ja=a(t=>{let e=ri();if(e!==void 0)try{e.setItem(ai,t)}catch{}},"saveThemePreference"),gl=a(()=>{try{return ni()?.(si).matches?"dark":"light"}catch{return"light"}},"getSystemTheme"),hl=a((t,e)=>t==="system"?e:t,"resolveTheme"),vl=a(t=>{let e;try{e=ni()?.(si)}catch{e=void 0}if(e===void 0)return()=>{};let o=a(s=>{t(s.matches?"dark":"light")},"handler");return e.addEventListener("change",o),()=>{e.removeEventListener("change",o)}},"subscribeSystemTheme"),ii=(0,G.createContext)(null),M0=a(({children:t,defaultTheme:e="system"})=>{let[o,s]=(0,G.useState)(()=>ml(e)),[r,n]=(0,G.useState)(()=>gl());(0,G.useEffect)(()=>vl(n),[]);let l=a(c=>{Ja(c),s(c)},"setTheme"),p={cycleTheme:a(()=>{s(c=>{let u=$r[($r.indexOf(c)+1)%$r.length]??c;return Ja(u),u})},"cycleTheme"),resolvedTheme:hl(o,r),setTheme:l,systemTheme:r,theme:o};return(0,i.jsxDEV)(ii,{value:p,children:t},void 0,!1)},"ThemeProvider"),xl=a(()=>{let t=(0,G.use)(ii);if(t===null)throw new Qs("INTERNAL","useTheme must be used within a <ThemeProvider>");return t},"useTheme");function O0({delay:t=0,...e}){return(0,i.jsxDEV)(nt.Provider,{"data-slot":"tooltip-provider",delay:t,...e},void 0,!1)}a(O0,"TooltipProvider");function bl(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(nt.Root,{"data-slot":"tooltip",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(bl,"Tooltip");function yl(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(nt.Trigger,{"data-slot":"tooltip-trigger",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(yl,"TooltipTrigger");function Pl({className:t,side:e="top",sideOffset:o=4,align:s="center",alignOffset:r=0,children:n,...l}){return(0,i.jsxDEV)(nt.Portal,{children:(0,i.jsxDEV)(nt.Positioner,{align:s,alignOffset:r,side:e,sideOffset:o,className:"isolate z-50",children:(0,i.jsxDEV)(nt.Popup,{"data-slot":"tooltip-content",className:z("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-md data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...l,children:[n,(0,i.jsxDEV)(nt.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-md bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-start-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-end-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"},void 0,!1)]},void 0,!0)},void 0,!1)},void 0,!1)}a(Pl,"TooltipContent");var Cl=a(t=>{let e=(0,B.c)(5),{className:o}=t,s;e[0]!==o?(s=z("h-full w-full text-foreground",o),e[0]=o,e[1]=s):s=e[1];let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,i.jsxDEV)("path",{d:"M 259.500 10.552 C 220.080 15.859, 182.424 32.566, 152.500 58.025 C 110.179 94.031, 85.380 137.183, 77.518 188.500 C 75.410 202.255, 74.569 225.677, 75.796 236.466 C 76.757 244.917, 76.683 245.692, 74.518 249.966 C 63.118 272.466, 53.141 303.876, 51.382 322.799 L 50.718 329.943 71.960 320.471 C 83.643 315.262, 93.326 311, 93.478 311 C 93.630 311, 96.547 316.063, 99.959 322.250 C 103.371 328.438, 107.249 334.850, 108.577 336.500 L 110.990 339.500 110.981 336 C 110.977 334.075, 111.499 324.991, 112.143 315.813 L 113.312 299.127 121.406 293.336 C 132.495 285.403, 149.593 271.554, 161 261.268 C 171.556 251.748, 189.116 235, 188.540 235 C 188.337 235, 183.069 238.648, 176.835 243.106 C 142.318 267.789, 68.537 314, 63.646 314 C 61.843 314, 72.791 281.179, 80.905 262.259 C 92.233 235.845, 107.473 212.389, 132.106 183.453 L 138.451 176 148.268 176 C 176.192 176, 197.512 187.154, 212.868 209.797 C 216.470 215.108, 217.035 216.595, 216.477 219.297 C 211.386 243.968, 202.359 274.496, 193.797 296 C 183.898 320.861, 167.147 352.101, 152.395 373.215 L 147.004 380.930 152.891 385.830 C 161.400 392.911, 165.563 396, 166.594 395.998 C 167.092 395.998, 168.772 391.641, 170.327 386.317 C 176.279 365.934, 188.422 338.749, 200.942 317.778 C 223.060 280.731, 256.432 244.369, 294.500 215.836 C 309.956 204.252, 313.937 201.603, 314.719 202.385 C 315.116 202.783, 315.449 213.096, 315.460 225.304 C 315.474 241.855, 315.021 250.405, 313.680 258.924 C 307.009 301.272, 291.175 336.677, 263.112 372 C 255.259 381.883, 227.182 410.673, 218.516 417.727 L 213.532 421.783 223.439 424.880 C 281.705 443.093, 349.165 436.018, 398.616 406.508 C 446.728 377.797, 483.322 331.466, 497.366 281.481 C 503.381 260.075, 504.480 250.741, 504.491 221 C 504.501 191.997, 503.598 184.047, 497.987 163.732 C 484.768 115.871, 452.505 72.708, 407.718 42.964 C 381.051 25.254, 352.818 14.828, 319.695 10.460 C 305.932 8.645, 273.298 8.695, 259.500 10.552",fillRule:"evenodd"},void 0,!1),e[2]=r):r=e[2];let n;return e[3]!==s?(n=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:s,fill:"currentColor",viewBox:"0 0 543 446",children:r},void 0,!1),e[3]=s,e[4]=n):n=e[4],n},"BrandMark"),li="lunora.studio.rulesBannerDismissed",Rl=a(()=>{try{return globalThis.localStorage.getItem(li)==="1"}catch{return!1}},"readBannerDismissed"),Sl=a(()=>{try{globalThis.localStorage.setItem(li,"1")}catch{}},"writeBannerDismissed"),Nl=a(()=>{let t=(0,B.c)(18),e=ae(),[o,s]=(0,G.useState)(El),r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r=a(()=>{s(!0),Sl()},"t0"),t[0]=r):r=t[0];let n=r;if(o)return null;let l;t[1]===Symbol.for("react.memo_cache_sentinel")?(l=(0,i.jsxDEV)("span",{"aria-hidden":"true",className:"text-warning",children:"\u26A0"},void 0,!1),t[1]=l):l=t[1];let d;t[2]!==e?(d=e("Lunora AI rules aren't installed."),t[2]=e,t[3]=d):d=t[3];let p;t[4]===Symbol.for("react.memo_cache_sentinel")?(p=(0,i.jsxDEV)("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px]",children:"lunora rules install"},void 0,!1),t[4]=p):p=t[4];let c;t[5]!==e?(c=e("lets your coding agent use Lunora correctly."),t[5]=e,t[6]=c):c=t[6];let u;t[7]!==d||t[8]!==c?(u=(0,i.jsxDEV)("span",{children:[d," ",p," ",c]},void 0,!0),t[7]=d,t[8]=c,t[9]=u):u=t[9];let g;t[10]!==e?(g=e("Dismiss"),t[10]=e,t[11]=g):g=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"M18 6 6 18M6 6l12 12"},void 0,!1)},void 0,!1),t[12]=m):m=t[12];let h;t[13]!==g?(h=(0,i.jsxDEV)("button",{"aria-label":g,className:"ms-auto flex size-5 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":"dash-app-rules-banner-dismiss",onClick:n,type:"button",children:m},void 0,!1),t[13]=g,t[14]=h):h=t[14];let f;return t[15]!==u||t[16]!==h?(f=(0,i.jsxDEV)("div",{className:"flex shrink-0 items-center gap-2 border-b border-warning/30 bg-warning/10 px-6 py-2 text-[12px] text-foreground","data-testid":"dash-app-rules-banner",role:"note",children:[l,u,h]},void 0,!0),t[15]=u,t[16]=h,t[17]=f):f=t[17],f},"RulesBanner");function El(){return Rl()}a(El,"_temp$1");var Tl=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,i.jsxDEV)("rect",{height:"14",rx:"2",width:"20",x:"2",y:"3"},void 0,!1),(0,i.jsxDEV)("path",{d:"M8 21h8M12 17v4"},void 0,!1)]},void 0,!0),t[0]=e):e=t[0],e},"MonitorIcon"),wl=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,i.jsxDEV)("circle",{cx:"12",cy:"12",r:"4"},void 0,!1),(0,i.jsxDEV)("path",{d:"M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"},void 0,!1)]},void 0,!0),t[0]=e):e=t[0],e},"SunIcon"),kl=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"},void 0,!1)},void 0,!1),t[0]=e):e=t[0],e},"MoonIcon"),Ml=[{Icon:Tl,value:"system"},{Icon:wl,value:"light"},{Icon:kl,value:"dark"}],Ol=a(()=>{let t=(0,B.c)(19),{theme:e,setTheme:o}=xl(),s=ae(),r;t[0]!==s?(r=s("Dark theme"),t[0]=s,t[1]=r):r=t[1];let n;t[2]!==s?(n=s("Light theme"),t[2]=s,t[3]=n):n=t[3];let l;t[4]!==s?(l=s("System theme"),t[4]=s,t[5]=l):l=t[5];let d;t[6]!==r||t[7]!==n||t[8]!==l?(d={dark:r,light:n,system:l},t[6]=r,t[7]=n,t[8]=l,t[9]=d):d=t[9];let p=d,c;t[10]!==s?(c=s("Theme"),t[10]=s,t[11]=c):c=t[11];let u;t[12]!==p||t[13]!==o||t[14]!==e?(u=Ml.map(m=>{let{Icon:h,value:f}=m,v=e===f;return(0,i.jsxDEV)("button",{"aria-checked":v,"aria-label":p[f],className:z("relative flex size-7 cursor-pointer items-center justify-center rounded-md outline-none transition-colors focus-visible:bg-accent",v?"text-foreground":"text-muted-foreground hover:text-foreground"),"data-testid":`dash-app-theme-${f}`,onClick:a(()=>{o(f)},"onClick"),role:"radio",title:p[f],type:"button",children:[v&&(0,i.jsxDEV)(on.span,{className:"absolute inset-0 rounded-md border border-muted-foreground/40 bg-background/40",layoutId:"studio-theme-active",transition:{bounce:.1,duration:.45,type:"spring"}},void 0,!1),(0,i.jsxDEV)("span",{className:"relative",children:(0,i.jsxDEV)(h,{},void 0,!1)},void 0,!1)]},f,!0)}),t[12]=p,t[13]=o,t[14]=e,t[15]=u):u=t[15];let g;return t[16]!==c||t[17]!==u?(g=(0,i.jsxDEV)("div",{"aria-label":c,className:"inline-flex items-center gap-0.5 overflow-hidden rounded-md border border-border bg-muted/60 p-0.5","data-testid":"dash-app-theme",role:"radiogroup",children:u},void 0,!1),t[16]=c,t[17]=u,t[18]=g):g=t[18],g},"ThemeToggle");function ci(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(Pt.Root,{"data-slot":"popover",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(ci,"Popover");function di(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(Pt.Trigger,{"data-slot":"popover-trigger",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(di,"PopoverTrigger");function pi({align:t="end",alignOffset:e=0,className:o,keepMounted:s=!1,side:r="bottom",sideOffset:n=6,...l}){return(0,i.jsxDEV)(Pt.Portal,{keepMounted:s,children:(0,i.jsxDEV)(Pt.Positioner,{align:t,alignOffset:e,className:"isolate z-50 outline-none",side:r,sideOffset:n,children:(0,i.jsxDEV)(Pt.Popup,{className:z("z-50 w-72 origin-(--transform-origin) rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",o),"data-slot":"popover-content",...l},void 0,!1)},void 0,!1)},void 0,!1)}a(pi,"PopoverContent");var jr=768;function _l(){let t=(0,B.c)(2),[e,o]=(0,G.useState)(void 0),s,r;return t[0]===Symbol.for("react.memo_cache_sentinel")?(s=a(()=>{let n=globalThis.matchMedia(`(max-width: ${jr-1}px)`),l=a(()=>{o(globalThis.innerWidth<jr)},"onChange");return n.addEventListener("change",l),o(globalThis.innerWidth<jr),()=>{n.removeEventListener("change",l)}},"t0"),r=[],t[0]=s,t[1]=r):(s=t[0],r=t[1]),(0,G.useEffect)(s,r),!!e}a(_l,"useIsMobile");function Il(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(fe.Root,{"data-slot":"sheet",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(Il,"Sheet");function Dl(t){let e=(0,B.c)(4),o;e[0]!==t?({...o}=t,e[0]=t,e[1]=o):o=e[1];let s;return e[2]!==o?(s=(0,i.jsxDEV)(fe.Portal,{"data-slot":"sheet-portal",...o},void 0,!1),e[2]=o,e[3]=s):s=e[3],s}a(Dl,"SheetPortal");function Al(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("fixed inset-0 z-50 bg-black/10 text-xs/relaxed transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)(fe.Backdrop,{"data-slot":"sheet-overlay",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Al,"SheetOverlay");function Vl({className:t,children:e,side:o="right",showCloseButton:s=!0,...r}){return(0,i.jsxDEV)(Dl,{children:[(0,i.jsxDEV)(Al,{},void 0,!1),(0,i.jsxDEV)(fe.Popup,{"data-slot":"sheet-content","data-side":o,className:z("fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",t),...r,children:[e,s&&(0,i.jsxDEV)(fe.Close,{"data-slot":"sheet-close",render:(0,i.jsxDEV)(po,{variant:"ghost",className:"absolute top-3 end-3",size:"icon-sm"},void 0,!1),children:[(0,i.jsxDEV)(er,{icon:An,strokeWidth:2},void 0,!1),(0,i.jsxDEV)("span",{className:"sr-only",children:"Close"},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0)}a(Vl,"SheetContent");function Bl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("flex flex-col gap-0.5 p-4",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sheet-header",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Bl,"SheetHeader");function Ll(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("text-sm font-medium text-foreground",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)(fe.Title,{"data-slot":"sheet-title",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Ll,"SheetTitle");function Fl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("text-xs/relaxed text-muted-foreground",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)(fe.Description,{"data-slot":"sheet-description",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Fl,"SheetDescription");var Hl="sidebar_state",$l=3600*24*7,jl="16rem",Ul="18rem",zl="3rem",Wl="b",ui=ut.createContext(null);function $s(){let t=ut.useContext(ui);if(!t)throw new Qs("INTERNAL","useSidebar must be used within a SidebarProvider.");return t}a($s,"useSidebar");function Zl({defaultOpen:t=!0,open:e,onOpenChange:o,className:s,style:r,children:n,...l}){let d=_l(),[p,c]=ut.useState(!1),[u,g]=ut.useState(t),m=e??u,h=a(b=>{let P=typeof b=="function"?b(m):b;o?o(P):g(P),document.cookie=`${Hl}=${P}; path=/; max-age=${$l}`},"setOpen"),f=a(()=>d?c(b=>!b):h(b=>!b),"toggleSidebar");ut.useEffect(()=>{let b=a(P=>{P.key===Wl&&(P.metaKey||P.ctrlKey)&&(P.preventDefault(),f())},"handleKeyDown");return globalThis.addEventListener("keydown",b),()=>globalThis.removeEventListener("keydown",b)},[f]);let x={state:m?"expanded":"collapsed",open:m,setOpen:h,isMobile:d,openMobile:p,setOpenMobile:c,toggleSidebar:f};return(0,i.jsxDEV)(ui.Provider,{value:x,children:(0,i.jsxDEV)("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":jl,"--sidebar-width-icon":zl,...r},className:z("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",s),...l,children:n},void 0,!1)},void 0,!1)}a(Zl,"SidebarProvider");function ql({side:t="left",variant:e="sidebar",collapsible:o="offcanvas",className:s,children:r,dir:n,...l}){let{isMobile:d,state:p,openMobile:c,setOpenMobile:u}=$s();return o==="none"?(0,i.jsxDEV)("div",{"data-slot":"sidebar",className:z("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",s),...l,children:r},void 0,!1):d?(0,i.jsxDEV)(Il,{open:c,onOpenChange:u,...l,children:(0,i.jsxDEV)(Vl,{dir:n,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":Ul},side:t,children:[(0,i.jsxDEV)(Bl,{className:"sr-only",children:[(0,i.jsxDEV)(Ll,{children:"Sidebar"},void 0,!1),(0,i.jsxDEV)(Fl,{children:"Displays the mobile sidebar."},void 0,!1)]},void 0,!0),(0,i.jsxDEV)("div",{className:"flex h-full w-full flex-col",children:r},void 0,!1)]},void 0,!0)},void 0,!1):(0,i.jsxDEV)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":p,"data-collapsible":p==="collapsed"?o:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[(0,i.jsxDEV)("div",{"data-slot":"sidebar-gap",className:z("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")},void 0,!1),(0,i.jsxDEV)("div",{"data-slot":"sidebar-container","data-side":t,className:z("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s",s),...l,children:(0,i.jsxDEV)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-none group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:r},void 0,!1)},void 0,!1)]},void 0,!0)}a(ql,"Sidebar");function Gl(t){let e=(0,B.c)(15),o,s,r;e[0]!==t?({className:o,onClick:s,...r}=t,e[0]=t,e[1]=o,e[2]=s,e[3]=r):(o=e[1],s=e[2],r=e[3]);let{toggleSidebar:n}=$s(),l;e[4]!==o?(l=z(o),e[4]=o,e[5]=l):l=e[5];let d;e[6]!==s||e[7]!==n?(d=a(g=>{s?.(g),n()},"t2"),e[6]=s,e[7]=n,e[8]=d):d=e[8];let p,c;e[9]===Symbol.for("react.memo_cache_sentinel")?(p=(0,i.jsxDEV)(er,{icon:Vn,strokeWidth:2,className:"rtl:rotate-180"},void 0,!1),c=(0,i.jsxDEV)("span",{className:"sr-only",children:"Toggle Sidebar"},void 0,!1),e[9]=p,e[10]=c):(p=e[9],c=e[10]);let u;return e[11]!==r||e[12]!==l||e[13]!==d?(u=(0,i.jsxDEV)(po,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:l,onClick:d,...r,children:[p,c]},void 0,!0),e[11]=r,e[12]=l,e[13]=d,e[14]=u):u=e[14],u}a(Gl,"SidebarTrigger");function Kl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-none md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("main",{"data-slot":"sidebar-inset",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Kl,"SidebarInset");function Ql(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("flex flex-col gap-2 p-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Ql,"SidebarHeader");function Yl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("flex flex-col gap-2 p-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Yl,"SidebarFooter");function Jl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("flex min-h-0 flex-1 flex-col gap-0 overflow-x-hidden overflow-y-auto [scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_25%,transparent)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/25 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1.5 hover:[scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_50%,transparent)_transparent] hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Jl,"SidebarContent");function Xl(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("relative flex w-full min-w-0 flex-col p-2",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Xl,"SidebarGroup");function ec(t){let e=(0,B.c)(10),o,s,r,n;if(e[0]!==t){let{className:p,render:c,...u}=t;o=c,n=Js,s="div",r=lt({className:z("flex h-8 shrink-0 items-center rounded-none px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",p)},u),e[0]=t,e[1]=o,e[2]=s,e[3]=r,e[4]=n}else o=e[1],s=e[2],r=e[3],n=e[4];let l;e[5]===Symbol.for("react.memo_cache_sentinel")?(l={slot:"sidebar-group-label",sidebar:"group-label"},e[5]=l):l=e[5];let d;return e[6]!==o||e[7]!==s||e[8]!==r?(d={defaultTagName:s,props:r,render:o,state:l},e[6]=o,e[7]=s,e[8]=r,e[9]=d):d=e[9],n(d)}a(ec,"SidebarGroupLabel");function tc(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("w-full text-xs",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(tc,"SidebarGroupContent");function Xa(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("flex w-full min-w-0 flex-col gap-0",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(Xa,"SidebarMenu");function ei(t){let e=(0,B.c)(8),o,s;e[0]!==t?({className:o,...s}=t,e[0]=t,e[1]=o,e[2]=s):(o=e[1],s=e[2]);let r;e[3]!==o?(r=z("group/menu-item relative",o),e[3]=o,e[4]=r):r=e[4];let n;return e[5]!==s||e[6]!==r?(n=(0,i.jsxDEV)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:r,...s},void 0,!1),e[5]=s,e[6]=r,e[7]=n):n=e[7],n}a(ei,"SidebarMenuItem");var oc=sn("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-none p-2 text-start text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-xs",sm:"h-7 text-xs",lg:"h-12 text-xs group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function fi({render:t,isActive:e=!1,variant:o="default",size:s="default",tooltip:r,className:n,...l}){let{isMobile:d,state:p}=$s(),c=Js({defaultTagName:"button",props:lt({className:z(oc({variant:o,size:s}),n)},l),render:r?(0,i.jsxDEV)(yl,{render:t},void 0,!1):t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:s,active:e}});return r?(typeof r=="string"&&(r={children:r}),(0,i.jsxDEV)(bl,{children:[c,(0,i.jsxDEV)(Pl,{side:"right",align:"center",hidden:p!=="collapsed"||d,...r},void 0,!1)]},void 0,!0)):c}a(fi,"SidebarMenuButton");var Z=a((t,e)=>(0,G.lazy)(()=>t().then(o=>({default:o[e]}))),"lazyNamed"),sc=Z(()=>import("./chunk-HTQNZXDT.js"),"InsightsPanel"),rc=(0,G.lazy)(()=>import("./chunk-SHJUAHC6.js")),nc=(0,G.lazy)(()=>import("./chunk-X4676IX6.js")),ac=Z(()=>import("./chunk-X2TQRMQV.js"),"AgentsPanel"),ic=Z(()=>import("./chunk-W6JKUZKD.js"),"AnalyticsPanel"),lc=(0,G.lazy)(()=>import("./chunk-4AXW2ECS.js")),cc=Z(()=>import("./chunk-2CCWLKQW.js"),"AuthConfigPanel"),dc=Z(()=>import("./chunk-7LDYSHOU.js"),"AuthSessionsPanel"),pc=Z(()=>import("./chunk-JUDPYSJZ.js"),"OrganizationsPanel"),uc=Z(()=>import("./chunk-UTHHHJYS.js"),"UsersPanel"),fc=Z(()=>import("./chunk-4BVRLBEW.js"),"ContainersPanel"),mc=Z(()=>import("./chunk-A66LI6OV.js"),"TableEditor"),gc=Z(()=>import("./chunk-6ZBU3JWR.js"),"ExportImportPanel"),hc=Z(()=>import("./chunk-HQM6MBPS.js"),"MigrationsPanel"),vc=Z(()=>import("./chunk-TYN6SQ73.js"),"PitrPanel"),xc=Z(()=>import("./chunk-LJAAZNQ6.js"),"FlagsPanel"),bc=Z(()=>import("./chunk-IO2XEI6T.js"),"FunctionRunner"),yc=Z(()=>import("./chunk-FAUN4Z72.js"),"FunctionStatsPanel"),Pc=Z(()=>import("./chunk-A2DBMISD.js"),"IssuesPanel"),Cc=Z(()=>import("./chunk-DR6LGPXE.js"),"AuditPanel"),Rc=Z(()=>import("./chunk-A3ZJACVT.js"),"LogDrainsPanel"),Sc=(0,G.lazy)(()=>import("./chunk-CJXJIRSN.js").then(t=>({default:t.LogsPanel}))),Nc=Z(()=>import("./chunk-6RREMPQX.js"),"MailPanel"),Ec=Z(()=>import("./chunk-5OZQHQ26.js"),"SchedulePanel"),Tc=(0,G.lazy)(()=>import("./chunk-NW6SZZ5O.js")),wc=Z(()=>import("./chunk-KJFFID72.js"),"KvBrowser"),kc=Z(()=>import("./chunk-2JTPX3CV.js"),"PaymentsPanel"),Mc=Z(()=>import("./chunk-YLHDKM2P.js"),"PermissionsPanel"),Oc=(0,G.lazy)(()=>import("./chunk-VL6HOZHF.js")),_c=(0,G.lazy)(()=>import("./chunk-S7AB7Y75.js")),Ic=(0,G.lazy)(()=>import("./chunk-PS3XCCZD.js")),Dc=Z(()=>import("./chunk-P2ERTKMB.js"),"HealthPanel"),Ac=Z(()=>import("./chunk-RS7S7XVP.js"),"MetricsPanel"),Vc=Z(()=>import("./chunk-HAJSYWFT.js"),"SchemaViewer"),Bc=Z(()=>import("./chunk-3CPQ5IQU.js"),"SettingsPanel"),Lc=Z(()=>import("./chunk-K4S652EQ.js"),"SqlEditorPanel"),Fc=Z(()=>import("./chunk-XJU5SRNL.js"),"FileBrowser"),Hc=Z(()=>import("./chunk-LX7KONE3.js"),"StorageRulesPanel"),$c=Z(()=>import("./chunk-NS23QR4W.js"),"VectorBrowser"),jc=(0,G.lazy)(()=>import("./chunk-U26QNHMO.js")),mi=(0,G.createContext)(null),Uc={analytics:(0,i.jsxDEV)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"},void 0,!1),api:(0,i.jsxDEV)("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4M13 5l-2 14"},void 0,!1),audit:(0,i.jsxDEV)("path",{d:"M7 4h7l4 4v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm6 0v5h5M9 13h6M9 16h6M9 10h2"},void 0,!1),authConfig:(0,i.jsxDEV)("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6h-3.6l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"},void 0,!1),agents:(0,i.jsxDEV)("path",{d:"M12 8V5m0 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM6 8h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Zm3 5h.01M15 13h.01M9 21h6"},void 0,!1),authSessions:(0,i.jsxDEV)("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"},void 0,!1),containers:(0,i.jsxDEV)("path",{d:"M3 7.5 12 3l9 4.5v9L12 21l-9-4.5v-9Zm0 0 9 4.5m0 0 9-4.5m-9 4.5V21"},void 0,!1),dashboards:(0,i.jsxDEV)("path",{d:"M4 5h7v6H4V5Zm9 0h7v4h-7V5ZM4 14h7v5H4v-5Zm9-1h7v6h-7v-6Z"},void 0,!1),drains:(0,i.jsxDEV)("path",{d:"M5 5h14M7 5v6a5 5 0 0 0 10 0V5M10 16h4v3h-4zM12 19v2"},void 0,!1),data:(0,i.jsxDEV)("path",{d:"M5 6c0-1.4 3.1-2.5 7-2.5s7 1.1 7 2.5-3.1 2.5-7 2.5S5 7.4 5 6Zm0 0v12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V6M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"},void 0,!1),export:(0,i.jsxDEV)("path",{d:"M12 3v11m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"},void 0,!1),fanout:(0,i.jsxDEV)("path",{d:"M12 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-7 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm14 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM12 7v3.5M12 10.5 6 17m6-6.5 6 6.5"},void 0,!1),files:(0,i.jsxDEV)("path",{d:"M4 7a2 2 0 0 1 2-2h3l2 2.5h7a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Z"},void 0,!1),flags:(0,i.jsxDEV)("path",{d:"M6 21V4m0 0h11l-2 3 2 3H6"},void 0,!1),functions:(0,i.jsxDEV)("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4"},void 0,!1),health:(0,i.jsxDEV)("path",{d:"M3 12h4l2 6 4-14 2 8h6"},void 0,!1),home:(0,i.jsxDEV)("path",{d:"M3 11.5 12 4l9 7.5M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9"},void 0,!1),insights:(0,i.jsxDEV)("path",{d:"M12 3a6 6 0 0 0-3.6 10.8c.5.4.8.9.9 1.5l.2 1.2h5l.2-1.2c.1-.6.4-1.1.9-1.5A6 6 0 0 0 12 3ZM9.5 20.5h5M10 18h4"},void 0,!1),issues:(0,i.jsxDEV)("path",{d:"M10.3 4.3 2.5 18a2 2 0 0 0 1.7 3h15.6a2 2 0 0 0 1.7-3L13.7 4.3a2 2 0 0 0-3.4 0ZM12 9v4m0 3v.01"},void 0,!1),kv:(0,i.jsxDEV)("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"},void 0,!1),logs:(0,i.jsxDEV)("path",{d:"M5 6h14M5 10h14M5 14h9M5 18h11"},void 0,!1),mail:(0,i.jsxDEV)("path",{d:"M4 5h16v14H4V5Zm0 1.5 8 6 8-6"},void 0,!1),payments:(0,i.jsxDEV)("path",{d:"M3 7h18v10H3V7Zm0 3h18M7 14h4"},void 0,!1),metrics:(0,i.jsxDEV)("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"},void 0,!1),migrations:(0,i.jsxDEV)("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"},void 0,!1),organizations:(0,i.jsxDEV)("path",{d:"M3 21V8l6-4 6 4v13M9 21v-5h2v5M15 11h6v10M18 14v.01M18 17v.01M6 9v.01M6 12v.01M6 15v.01"},void 0,!1),permissions:(0,i.jsxDEV)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2.2 2.2L15 9.5M8.5 16h7"},void 0,!1),pitr:(0,i.jsxDEV)("path",{d:"M12 21a9 9 0 1 0-9-9M12 7.5V12l3 2M3 12l-2-2m2 2 2-2"},void 0,!1),queues:(0,i.jsxDEV)("path",{d:"M4 6h16M4 10h16M4 14h10M4 18h10m4-2 3 2-3 2v-4Z"},void 0,!1),realtime:(0,i.jsxDEV)("path",{d:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"},void 0,!1),rls:(0,i.jsxDEV)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3ZM8.5 10h7M8.5 13h7"},void 0,!1),schedule:(0,i.jsxDEV)("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"},void 0,!1),schema:(0,i.jsxDEV)("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"},void 0,!1),sql:(0,i.jsxDEV)("path",{d:"M4 5h16v14H4V5Zm3 4 3 3-3 3m6 0h4"},void 0,!1),storageRules:(0,i.jsxDEV)("path",{d:"M7 10V7a5 5 0 0 1 10 0v3m-11 0h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Zm6 4v2"},void 0,!1),security:(0,i.jsxDEV)("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-2.5 8.5 2 2 4-4"},void 0,!1),settings:(0,i.jsxDEV)("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6H10.5l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"},void 0,!1),users:(0,i.jsxDEV)("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85M16 3.13A4 4 0 0 1 16 11"},void 0,!1),vectors:(0,i.jsxDEV)("path",{d:"M4 7l8-4 8 4-8 4-8-4Zm0 5 8 4 8-4M4 17l8 4 8-4"},void 0,!1),workflows:(0,i.jsxDEV)("path",{d:"M5 5h5v5H5V5Zm9 9h5v5h-5v-5ZM7.5 10v2a2 2 0 0 0 2 2H14m2.5-4V8a2 2 0 0 0-2-2H10"},void 0,!1)},ti=[{key:"overview",tabs:["home","dashboards"]},{key:"database",tabs:["data","sql","schema","migrations","vectors","pitr","export"]},{key:"functions",tabs:["functions","api","workflows","agents","queues"]},{key:"auth",tabs:["users","organizations","authSessions","authConfig"]},{key:"storage",tabs:["files","storageRules","kv"]},{key:"observability",tabs:["issues","logs","audit","realtime","fanout","containers","metrics","analytics","health"]},{key:"advisors",tabs:["security","rls","permissions","insights"]},{key:"operations",tabs:["schedule","mail","drains","payments","flags"]},{key:"settings",tabs:["settings"]}],zc={analytics:"analytics",authConfig:"auth",authSessions:"auth",containers:"containers",files:"storage",flags:"flags",kv:"kv",mail:"mail",organizations:"auth",payments:"payments",queues:"queues",schedule:"scheduler",storageRules:"storage",users:"auth",vectors:"vectors",workflows:"workflows"},oi=a((t,e)=>{let o=zc[t];return o===void 0||e[o]},"isTabVisible"),Ur=a(t=>{let e=(0,B.c)(2),{tab:o}=t,s=Uc[o],r;return e[0]!==s?(r=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 shrink-0",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:s},void 0,!1),e[0]=s,e[1]=r):r=e[1],r},"TabIcon"),Wc=a(t=>t,"exhaustiveRouteTabs"),gi=Wc(["home","data","sql","functions","api","workflows","agents","queues","containers","schema","migrations","vectors","export","pitr","users","organizations","authSessions","authConfig","files","storageRules","kv","dashboards","metrics","analytics","health","security","rls","permissions","insights","issues","logs","realtime","fanout","mail","payments","audit","schedule","drains","flags","settings"]),Zc=new Set(["api","data","sql"]),qc=a(t=>{let e=t.split("/").findLast(Boolean)??"";return gi.includes(e)?e:"home"},"tabFromPathname"),Gc=a(t=>{let e=(0,B.c)(19),{chrome:o,connected:s}=t,r=ae(),n;e[0]!==r?(n=r("admin token"),e[0]=r,e[1]=n):n=e[1];let l;e[2]!==n?(l=(0,i.jsxDEV)("label",{className:"text-xs font-medium text-foreground",htmlFor:"dash-app-token",children:n},void 0,!1),e[2]=n,e[3]=l):l=e[3];let d;e[4]!==o.onTokenChange||e[5]!==o.token?(d=(0,i.jsxDEV)(un,{className:"h-8","data-testid":"dash-app-token",id:"dash-app-token",onChange:o.onTokenChange,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:o.token},void 0,!1),e[4]=o.onTokenChange,e[5]=o.token,e[6]=d):d=e[6];let p;e[7]!==s||e[8]!==r?(p=s&&(0,i.jsxDEV)("p",{className:"flex items-start gap-1.5 text-[11px] text-muted-foreground","data-testid":"dash-app-token-warning",role:"note",children:[(0,i.jsxDEV)("span",{"aria-hidden":"true",className:"text-warning",children:"\u26A0"},void 0,!1),r("Token rides the WebSocket URL \u2014 it can surface in browser DevTools and server logs. Use a dev-only token.")]},void 0,!0),e[7]=s,e[8]=r,e[9]=p):p=e[9];let c;e[10]!==o.clearToken||e[11]!==s||e[12]!==r?(c=s&&(0,i.jsxDEV)("button",{className:"self-start rounded-md border border-border px-2.5 py-1 text-xs font-medium outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"dash-app-clear-token",onClick:o.clearToken,type:"button",children:r("Clear")},void 0,!1),e[10]=o.clearToken,e[11]=s,e[12]=r,e[13]=c):c=e[13];let u;return e[14]!==l||e[15]!==d||e[16]!==p||e[17]!==c?(u=(0,i.jsxDEV)("div",{className:"flex flex-col gap-2",children:[l,d,p,c]},void 0,!0),e[14]=l,e[15]=d,e[16]=p,e[17]=c,e[18]=u):u=e[18],u},"ConnectPopoverContent"),Kc=a(t=>{let e=(0,B.c)(25),{current:o,group:s,groupLabel:r,selectTab:n,tabDescription:l,tabLabel:d}=t,p=s.tabs.includes(o)?"page":void 0,c=r[s.key],u=s.tabs[0],g;e[0]!==u?(g=(0,i.jsxDEV)(Ur,{tab:u},void 0,!1),e[0]=u,e[1]=g):g=e[1];let m;e[2]!==p||e[3]!==c||e[4]!==g?(m=(0,i.jsxDEV)(di,{"aria-current":p,"aria-label":c,className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent data-[popup-open]:bg-sidebar-accent data-[popup-open]:text-sidebar-accent-foreground data-[popup-open]:shadow-xs aria-[current=page]:bg-sidebar-accent aria-[current=page]:text-sidebar-accent-foreground aria-[current=page]:shadow-xs",delay:120,openOnHover:!0,children:g},void 0,!1),e[2]=p,e[3]=c,e[4]=g,e[5]=m):m=e[5];let h=r[s.key],f;e[6]!==h?(f=(0,i.jsxDEV)("div",{className:"px-2 py-1.5 text-[11px] font-medium tracking-wider text-muted-foreground uppercase",children:h},void 0,!1),e[6]=h,e[7]=f):f=e[7];let v;if(e[8]!==o||e[9]!==s.tabs||e[10]!==n||e[11]!==l||e[12]!==d){let P;e[14]!==o||e[15]!==n||e[16]!==l||e[17]!==d?(P=a(C=>(0,i.jsxDEV)("button",{"aria-current":o===C?"page":void 0,className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-[current=page]:bg-accent aria-[current=page]:font-medium [&_svg]:opacity-70 aria-[current=page]:[&_svg]:opacity-100","data-tab":C,"data-testid":`dash-tab-${C}`,onClick:n,title:l[C],type:"button",children:[(0,i.jsxDEV)(Ur,{tab:C},void 0,!1),(0,i.jsxDEV)("span",{children:d[C]},void 0,!1)]},C,!0),"t92"),e[14]=o,e[15]=n,e[16]=l,e[17]=d,e[18]=P):P=e[18],v=s.tabs.map(P),e[8]=o,e[9]=s.tabs,e[10]=n,e[11]=l,e[12]=d,e[13]=v}else v=e[13];let x;e[19]!==f||e[20]!==v?(x=(0,i.jsxDEV)(pi,{align:"start",className:"w-56 p-1",side:"right",sideOffset:8,children:[f,v]},void 0,!0),e[19]=f,e[20]=v,e[21]=x):x=e[21];let b;return e[22]!==m||e[23]!==x?(b=(0,i.jsxDEV)(ci,{children:[m,x]},void 0,!0),e[22]=m,e[23]=x,e[24]=b):b=e[24],b},"CollapsedGroupNav"),Qc=a(t=>{let e=(0,B.c)(45),{chrome:o,collapsed:s,connected:r}=t,n=ae();if(o===null){let C;e[0]!==n?(C=n("Admin"),e[0]=n,e[1]=C):C=e[1];let N;e[2]===Symbol.for("react.memo_cache_sentinel")?(N=(0,i.jsxDEV)("span",{className:"flex size-8 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:"C"},void 0,!1),e[2]=N):N=e[2];let R;e[3]!==n?(R=n("Admin"),e[3]=n,e[4]=R):R=e[4];let E;e[5]!==R?(E=(0,i.jsxDEV)("span",{className:"truncate text-[13px] font-medium",children:R},void 0,!1),e[5]=R,e[6]=E):E=e[6];let T;e[7]!==n?(T=n("Studio"),e[7]=n,e[8]=T):T=e[8];let k;e[9]!==T?(k=(0,i.jsxDEV)("span",{className:"truncate text-[11px] text-muted-foreground",children:T},void 0,!1),e[9]=T,e[10]=k):k=e[10];let w;e[11]!==E||e[12]!==k?(w=(0,i.jsxDEV)("span",{className:"grid flex-1 text-start leading-tight",children:[E,k]},void 0,!0),e[11]=E,e[12]=k,e[13]=w):w=e[13];let M;return e[14]!==C||e[15]!==w?(M=(0,i.jsxDEV)(fi,{className:"data-active:bg-transparent",size:"lg",tooltip:C,children:[N,w]},void 0,!0),e[14]=C,e[15]=w,e[16]=M):M=e[16],M}let l=s?"mx-auto size-8 justify-center":"w-full p-2",d;e[17]!==l?(d=z("flex items-center gap-2 rounded-md text-start outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",l),e[17]=l,e[18]=d):d=e[18];let p;e[19]!==r||e[20]!==n?(p=n(r?"Connected":"Not connected"),e[19]=r,e[20]=n,e[21]=p):p=e[21];let c=r?"bg-success":"bg-muted-foreground/50",u;e[22]!==c?(u=z("absolute -end-0.5 -bottom-0.5 size-2.5 rounded-full border-2 border-sidebar",c),e[22]=c,e[23]=u):u=e[23];let g;e[24]!==u?(g=(0,i.jsxDEV)("span",{className:"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:["C",(0,i.jsxDEV)("span",{"aria-hidden":"true",className:u},void 0,!1)]},void 0,!0),e[24]=u,e[25]=g):g=e[25];let m;e[26]!==s||e[27]!==r||e[28]!==n?(m=!s&&(0,i.jsxDEV)(i.Fragment,{children:[(0,i.jsxDEV)("span",{className:"grid flex-1 text-start leading-tight",children:[(0,i.jsxDEV)("span",{className:"truncate text-[13px] font-medium",children:n("Admin")},void 0,!1),(0,i.jsxDEV)("span",{className:"truncate text-[11px] text-muted-foreground",children:n(r?"Connected":"Not connected")},void 0,!1)]},void 0,!0),(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"m8 9 4-4 4 4M8 15l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"},void 0,!1)},void 0,!1)]},void 0,!0),e[26]=s,e[27]=r,e[28]=n,e[29]=m):m=e[29];let h;e[30]!==d||e[31]!==p||e[32]!==g||e[33]!==m?(h=(0,i.jsxDEV)(di,{className:d,"data-testid":"dash-app-connect",title:p,children:[g,m]},void 0,!0),e[30]=d,e[31]=p,e[32]=g,e[33]=m,e[34]=h):h=e[34];let f=s?"end":"start",v=s?"right":"top",x;e[35]!==o||e[36]!==r?(x=(0,i.jsxDEV)(Gc,{chrome:o,connected:r},void 0,!1),e[35]=o,e[36]=r,e[37]=x):x=e[37];let b;e[38]!==v||e[39]!==x||e[40]!==f?(b=(0,i.jsxDEV)(pi,{align:f,keepMounted:!0,side:v,children:x},void 0,!1),e[38]=v,e[39]=x,e[40]=f,e[41]=b):b=e[41];let P;return e[42]!==b||e[43]!==h?(P=(0,i.jsxDEV)(ci,{children:[h,b]},void 0,!0),e[42]=b,e[43]=h,e[44]=P):P=e[44],P},"SidebarFooterProfile"),Yc=a(t=>{let e=(0,B.c)(28),{chrome:o,connected:s,current:r,groupLabel:n,groups:l,selectTab:d,tabDescription:p,tabLabel:c}=t,u=ae(),{state:g}=$s(),m=g==="collapsed",h=m&&"justify-center px-0",f;e[0]!==h?(f=z("flex items-center gap-2.5 px-1.5 py-1",h),e[0]=h,e[1]=f):f=e[1];let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,i.jsxDEV)(Cl,{className:"size-9 shrink-0 text-foreground"},void 0,!1),e[2]=v):v=e[2];let x;e[3]!==m||e[4]!==s||e[5]!==u?(x=!m&&(0,i.jsxDEV)(i.Fragment,{children:[(0,i.jsxDEV)("span",{className:"grid flex-1 leading-tight",children:[(0,i.jsxDEV)("span",{className:"truncate text-sm font-semibold text-foreground",children:"lunora"},void 0,!1),(0,i.jsxDEV)("span",{className:"truncate text-[11px] text-muted-foreground",children:u("Studio")},void 0,!1)]},void 0,!0),(0,i.jsxDEV)(yo,{className:"px-1.5 text-[10px] tracking-wider uppercase",variant:"secondary",children:u(s?"Live":"Local")},void 0,!1)]},void 0,!0),e[3]=m,e[4]=s,e[5]=u,e[6]=x):x=e[6];let b;e[7]!==f||e[8]!==x?(b=(0,i.jsxDEV)(Ql,{children:(0,i.jsxDEV)("div",{className:f,children:[v,x]},void 0,!0)},void 0,!1),e[7]=f,e[8]=x,e[9]=b):b=e[9];let P;e[10]!==m||e[11]!==r||e[12]!==n||e[13]!==l||e[14]!==d||e[15]!==p||e[16]!==c?(P=m?l.map(E=>(0,i.jsxDEV)(Kc,{current:r,group:E,groupLabel:n,selectTab:d,tabDescription:p,tabLabel:c},E.key,!1)):l.map(E=>(0,i.jsxDEV)(Xl,{children:[(0,i.jsxDEV)(ec,{className:"text-[11px] font-medium tracking-wider uppercase",children:n[E.key]},void 0,!1),(0,i.jsxDEV)(tc,{children:(0,i.jsxDEV)(Xa,{children:E.tabs.map(T=>(0,i.jsxDEV)(ei,{children:(0,i.jsxDEV)(fi,{className:"data-active:text-foreground dark:data-active:text-royal-amethyst data-active:shadow-[inset_2px_0_0_0_var(--royal-amethyst)]","data-tab":T,"data-testid":`dash-tab-${T}`,isActive:r===T,onClick:d,title:p[T],tooltip:p[T],children:[(0,i.jsxDEV)(Ur,{tab:T},void 0,!1),(0,i.jsxDEV)("span",{children:c[T]},void 0,!1)]},void 0,!0)},T,!1))},void 0,!1)},void 0,!1)]},E.key,!0)),e[10]=m,e[11]=r,e[12]=n,e[13]=l,e[14]=d,e[15]=p,e[16]=c,e[17]=P):P=e[17];let C;e[18]!==P?(C=(0,i.jsxDEV)(Jl,{children:P},void 0,!1),e[18]=P,e[19]=C):C=e[19];let N;e[20]!==o||e[21]!==m||e[22]!==s?(N=(0,i.jsxDEV)(Yl,{children:(0,i.jsxDEV)(Xa,{children:(0,i.jsxDEV)(ei,{children:(0,i.jsxDEV)(Qc,{chrome:o,collapsed:m,connected:s},void 0,!1)},void 0,!1)},void 0,!1)},void 0,!1),e[20]=o,e[21]=m,e[22]=s,e[23]=N):N=e[23];let R;return e[24]!==b||e[25]!==C||e[26]!==N?(R=(0,i.jsxDEV)(ql,{collapsible:"icon",variant:"inset",children:[b,C,N]},void 0,!0),e[24]=b,e[25]=C,e[26]=N,e[27]=R):R=e[27],R},"StudioSidebar"),hi=a(()=>{let t=(0,B.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=(0,i.jsxDEV)("div",{className:"flex flex-col gap-4","data-testid":"dash-pending",children:[(0,i.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,i.jsxDEV)(fs,{className:"h-8 w-40"},void 0,!1),(0,i.jsxDEV)(fs,{className:"h-8 w-24"},void 0,!1)]},void 0,!0),(0,i.jsxDEV)(fs,{className:"h-72 w-full"},void 0,!1)]},void 0,!0),t[0]=e):e=t[0],e},"RoutePending"),Jc=a(()=>{let t=(0,B.c)(306),e=ae(),o=ft(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s={select:sd},t[0]=s):s=t[0];let r=Jr(s),n,l;t[1]!==r?(n=qc(r),l=Zc.has(n),t[1]=r,t[2]=n,t[3]=l):(n=t[2],l=t[3]);let d=l,p=Lr(),c;t[4]!==p?(c=a(it=>({...it,tabs:it.tabs.filter(jo=>oi(jo,p))}),"t2"),t[4]=p,t[5]=c):c=t[5];let u=ti.map(c).filter(rd),g,m;t[6]!==n||t[7]!==p||t[8]!==o?(g=a(()=>{oi(n,p)||$e(o({replace:!0,to:"/home"}))},"t3"),m=[n,p,o],t[6]=n,t[7]=p,t[8]=o,t[9]=g,t[10]=m):(g=t[9],m=t[10]),(0,G.useEffect)(g,m);let h;t[11]!==e?(h=e("Agents"),t[11]=e,t[12]=h):h=t[12];let f;t[13]!==e?(f=e("Analytics"),t[13]=e,t[14]=f):f=t[14];let v;t[15]!==e?(v=e("API"),t[15]=e,t[16]=v):v=t[16];let x;t[17]!==e?(x=e("Audit"),t[17]=e,t[18]=x):x=t[18];let b;t[19]!==e?(b=e("Configuration"),t[19]=e,t[20]=b):b=t[20];let P;t[21]!==e?(P=e("Sessions"),t[21]=e,t[22]=P):P=t[22];let C;t[23]!==e?(C=e("Containers"),t[23]=e,t[24]=C):C=t[24];let N;t[25]!==e?(N=e("Dashboards"),t[25]=e,t[26]=N):N=t[26];let R;t[27]!==e?(R=e("Data"),t[27]=e,t[28]=R):R=t[28];let E;t[29]!==e?(E=e("Log drains"),t[29]=e,t[30]=E):E=t[30];let T;t[31]!==e?(T=e("Export / Import"),t[31]=e,t[32]=T):T=t[32];let k;t[33]!==e?(k=e("Fan-out"),t[33]=e,t[34]=k):k=t[34];let w;t[35]!==e?(w=e("Files"),t[35]=e,t[36]=w):w=t[36];let M;t[37]!==e?(M=e("Flags"),t[37]=e,t[38]=M):M=t[38];let V;t[39]!==e?(V=e("Functions"),t[39]=e,t[40]=V):V=t[40];let W;t[41]!==e?(W=e("Health"),t[41]=e,t[42]=W):W=t[42];let D;t[43]!==e?(D=e("Home"),t[43]=e,t[44]=D):D=t[44];let H;t[45]!==e?(H=e("Performance"),t[45]=e,t[46]=H):H=t[46];let $;t[47]!==e?($=e("Issues"),t[47]=e,t[48]=$):$=t[48];let q;t[49]!==e?(q=e("KV"),t[49]=e,t[50]=q):q=t[50];let K;t[51]!==e?(K=e("Logs"),t[51]=e,t[52]=K):K=t[52];let I;t[53]!==e?(I=e("Metrics"),t[53]=e,t[54]=I):I=t[54];let _;t[55]!==e?(_=e("Migrations"),t[55]=e,t[56]=_):_=t[56];let U;t[57]!==e?(U=e("Organizations"),t[57]=e,t[58]=U):U=t[58];let te;t[59]!==e?(te=e("Time Travel"),t[59]=e,t[60]=te):te=t[60];let se;t[61]!==e?(se=e("Mail"),t[61]=e,t[62]=se):se=t[62];let re;t[63]!==e?(re=e("Payments"),t[63]=e,t[64]=re):re=t[64];let J;t[65]!==e?(J=e("Permissions"),t[65]=e,t[66]=J):J=t[66];let ee;t[67]!==e?(ee=e("Queues"),t[67]=e,t[68]=ee):ee=t[68];let ie;t[69]!==e?(ie=e("Realtime"),t[69]=e,t[70]=ie):ie=t[70];let Le;t[71]!==e?(Le=e("RLS Policies"),t[71]=e,t[72]=Le):Le=t[72];let me;t[73]!==e?(me=e("Scheduled"),t[73]=e,t[74]=me):me=t[74];let he;t[75]!==e?(he=e("Schema"),t[75]=e,t[76]=he):he=t[76];let ve;t[77]!==e?(ve=e("Security"),t[77]=e,t[78]=ve):ve=t[78];let Fe;t[79]!==e?(Fe=e("Settings"),t[79]=e,t[80]=Fe):Fe=t[80];let L;t[81]!==e?(L=e("SQL editor"),t[81]=e,t[82]=L):L=t[82];let Q;t[83]!==e?(Q=e("Access Rules"),t[83]=e,t[84]=Q):Q=t[84];let X;t[85]!==e?(X=e("Users"),t[85]=e,t[86]=X):X=t[86];let pe;t[87]!==e?(pe=e("Vectors"),t[87]=e,t[88]=pe):pe=t[88];let le;t[89]!==e?(le=e("Workflows"),t[89]=e,t[90]=le):le=t[90];let Pe;t[91]!==P||t[92]!==C||t[93]!==N||t[94]!==R||t[95]!==E||t[96]!==T||t[97]!==k||t[98]!==w||t[99]!==M||t[100]!==V||t[101]!==W||t[102]!==D||t[103]!==H||t[104]!==$||t[105]!==q||t[106]!==K||t[107]!==I||t[108]!==_||t[109]!==U||t[110]!==te||t[111]!==se||t[112]!==re||t[113]!==J||t[114]!==ee||t[115]!==ie||t[116]!==Le||t[117]!==me||t[118]!==he||t[119]!==ve||t[120]!==Fe||t[121]!==L||t[122]!==Q||t[123]!==X||t[124]!==pe||t[125]!==le||t[126]!==h||t[127]!==f||t[128]!==v||t[129]!==x||t[130]!==b?(Pe={agents:h,analytics:f,api:v,audit:x,authConfig:b,authSessions:P,containers:C,dashboards:N,data:R,drains:E,export:T,fanout:k,files:w,flags:M,functions:V,health:W,home:D,insights:H,issues:$,kv:q,logs:K,metrics:I,migrations:_,organizations:U,pitr:te,mail:se,payments:re,permissions:J,queues:ee,realtime:ie,rls:Le,schedule:me,schema:he,security:ve,settings:Fe,sql:L,storageRules:Q,users:X,vectors:pe,workflows:le},t[91]=P,t[92]=C,t[93]=N,t[94]=R,t[95]=E,t[96]=T,t[97]=k,t[98]=w,t[99]=M,t[100]=V,t[101]=W,t[102]=D,t[103]=H,t[104]=$,t[105]=q,t[106]=K,t[107]=I,t[108]=_,t[109]=U,t[110]=te,t[111]=se,t[112]=re,t[113]=J,t[114]=ee,t[115]=ie,t[116]=Le,t[117]=me,t[118]=he,t[119]=ve,t[120]=Fe,t[121]=L,t[122]=Q,t[123]=X,t[124]=pe,t[125]=le,t[126]=h,t[127]=f,t[128]=v,t[129]=x,t[130]=b,t[131]=Pe):Pe=t[131];let ne=Pe,Ce={advisors:e("Advisors"),auth:e("Auth"),database:e("Database"),functions:e("Functions"),observability:e("Observability"),operations:e("Operations"),overview:e("Overview"),settings:e("Settings"),storage:e("Storage")},Re;t[132]!==e?(Re=e("Inspect agent threads, message timelines, tool calls, and token usage."),t[132]=e,t[133]=Re):Re=t[133];let Se;t[134]!==e?(Se=e("Usage and latency from Analytics Engine \u2014 request volume, p50/p95, and hot shards."),t[134]=e,t[135]=Se):Se=t[135];let Ne;t[136]!==e?(Ne=e("Interactive OpenAPI reference and copy-paste snippets for your functions."),t[136]=e,t[137]=Ne):Ne=t[137];let Ee;t[138]!==e?(Ee=e("A durable log of admin state-changing operations."),t[138]=e,t[139]=Ee):Ee=t[139];let Te;t[140]!==e?(Te=e("Enabled plugins and session config (read-only)."),t[140]=e,t[141]=Te):Te=t[141];let we;t[142]!==e?(we=e("Browse and revoke active sessions across all users."),t[142]=e,t[143]=we):we=t[143];let ke;t[144]!==e?(ke=e("Live Cloudflare Containers \u2014 current lifecycle state per instance from the log stream."),t[144]=e,t[145]=ke):ke=t[145];let Me;t[146]!==e?(Me=e("Chart widgets backed by saved read-only SQL queries."),t[146]=e,t[147]=Me):Me=t[147];let Oe;t[148]!==e?(Oe=e("Browse and edit rows across your shard and global tables."),t[148]=e,t[149]=Oe):Oe=t[149];let _e;t[150]!==e?(_e=e("Forward logs to Logpush, Tail Workers, or a webhook collector."),t[150]=e,t[151]=_e):_e=t[151];let ze;t[152]!==e?(ze=e("Export a shard to NDJSON, or import rows from it."),t[152]=e,t[153]=ze):ze=t[153];let Ie;t[154]!==e?(Ie=e("Realtime fan-out cost and per-topic subscriber counts for this shard."),t[154]=e,t[155]=Ie):Ie=t[155];let We;t[156]!==e?(We=e("Browse objects in your R2 storage buckets."),t[156]=e,t[157]=We):We=t[157];let Ze;t[158]!==e?(Ze=e("Inspect feature flags and their live evaluation under a targeting context."),t[158]=e,t[159]=Ze):Ze=t[159];let qe;t[160]!==e?(qe=e("Run registered queries, mutations, and actions."),t[160]=e,t[161]=qe):qe=t[161];let Ge;t[162]!==e?(Ge=e("At-a-glance connection, error, and shard signals."),t[162]=e,t[163]=Ge):Ge=t[163];let Ke;t[164]!==e?(Ke=e("Connection, health, and advisor summary for your deployment."),t[164]=e,t[165]=Ke):Ke=t[165];let Qe;t[166]!==e?(Qe=e("Surface slow functions, error spikes, and cache problems."),t[166]=e,t[167]=Qe):Qe=t[167];let at;t[168]!==e?(at=e("Grouped error triage \u2014 Worker throws and container crashes folded by fingerprint."),t[168]=e,t[169]=at):at=t[169];let Ye;t[170]!==e?(Ye=e("A live stream of recent function logs."),t[170]=e,t[171]=Ye):Ye=t[171];let ge;t[172]!==e?(ge=e("Per-shard health and aggregate metrics."),t[172]=e,t[173]=ge):ge=t[173];let Je;t[174]!==e?(Je=e("Review migration status and run them."),t[174]=e,t[175]=Je):Je=t[175];let Xe;t[176]!==e?(Xe=e("Browse and manage organizations, members, and invitations."),t[176]=e,t[177]=Xe):Xe=t[177];let De;t[178]!==e?(De=e("Restore a shard to a point in the last 30 days."),t[178]=e,t[179]=De):De=t[179];let et;t[180]!==e?(et=e("Email your app sent, captured in dev."),t[180]=e,t[181]=et):et=t[181];let Ae;t[182]!==e?(Ae=e("Synced customers, subscriptions, and webhook events."),t[182]=e,t[183]=Ae):Ae=t[183];let tt;t[184]!==e?(tt=e("Inspect access policies per table, and probe a function as any identity."),t[184]=e,t[185]=tt):tt=t[185];let Ve;t[186]!==e?(Ve=e("Inspect declared Cloudflare Queues \u2014 their producer bindings, consumer mode, and dead-letter queue."),t[186]=e,t[187]=Ve):Ve=t[187];let ot;t[188]!==e?(ot=e("Active WebSocket subscriptions on this shard."),t[188]=e,t[189]=ot):ot=t[189];let Be;t[190]!==e?(Be=e("Inspect row-level-security policies and roles, per table."),t[190]=e,t[191]=Be):Be=t[191];let Tt;t[192]!==e?(Tt=e("Inspect and cancel scheduled jobs."),t[192]=e,t[193]=Tt):Tt=t[193];let wt;t[194]!==e?(wt=e("Inspect each table and its columns."),t[194]=e,t[195]=wt):wt=t[195];let kt;t[196]!==e?(kt=e("Review admin gates, credentials, and log redaction."),t[196]=e,t[197]=kt):kt=t[197];let Mt;t[198]!==e?(Mt=e("Read-only deployment config \u2014 vars, secrets, and bindings."),t[198]=e,t[199]=Mt):Mt=t[199];let Ot;t[200]!==e?(Ot=e("Run read-only SQL against a shard."),t[200]=e,t[201]=Ot):Ot=t[201];let _t;t[202]!==e?(_t=e("Browse and edit key-value pairs in your Workers KV namespaces."),t[202]=e,t[203]=_t):_t=t[203];let It;t[204]!==e?(It=e("Inspect storage access rules \u2014 per bucket, operation, and key prefix."),t[204]=e,t[205]=It):It=t[205];let Dt;t[206]!==e?(Dt=e("Manage auth users \u2014 roles, bans, sessions, and identity."),t[206]=e,t[207]=Dt):Dt=t[207];let At;t[208]!==e?(At=e("Browse Vectorize indexes and run similarity searches."),t[208]=e,t[209]=At):At=t[209];let Vt;t[210]!==e?(Vt=e("Inspect declared Cloudflare Workflows and their bindings."),t[210]=e,t[211]=Vt):Vt=t[211];let Mo;t[212]!==Re||t[213]!==Se||t[214]!==Ne||t[215]!==Ee||t[216]!==Te||t[217]!==we||t[218]!==ke||t[219]!==Me||t[220]!==Oe||t[221]!==_e||t[222]!==ze||t[223]!==Ie||t[224]!==We||t[225]!==Ze||t[226]!==qe||t[227]!==Ge||t[228]!==Ke||t[229]!==Qe||t[230]!==at||t[231]!==Ye||t[232]!==ge||t[233]!==Je||t[234]!==Xe||t[235]!==De||t[236]!==et||t[237]!==Ae||t[238]!==tt||t[239]!==Ve||t[240]!==ot||t[241]!==Be||t[242]!==Tt||t[243]!==wt||t[244]!==kt||t[245]!==Mt||t[246]!==Ot||t[247]!==_t||t[248]!==It||t[249]!==Dt||t[250]!==At||t[251]!==Vt?(Mo={agents:Re,analytics:Se,api:Ne,audit:Ee,authConfig:Te,authSessions:we,containers:ke,dashboards:Me,data:Oe,drains:_e,export:ze,fanout:Ie,files:We,flags:Ze,functions:qe,health:Ge,home:Ke,insights:Qe,issues:at,logs:Ye,metrics:ge,migrations:Je,organizations:Xe,pitr:De,mail:et,payments:Ae,permissions:tt,queues:Ve,realtime:ot,rls:Be,schedule:Tt,schema:wt,security:kt,settings:Mt,sql:Ot,kv:_t,storageRules:It,users:Dt,vectors:At,workflows:Vt},t[212]=Re,t[213]=Se,t[214]=Ne,t[215]=Ee,t[216]=Te,t[217]=we,t[218]=ke,t[219]=Me,t[220]=Oe,t[221]=_e,t[222]=ze,t[223]=Ie,t[224]=We,t[225]=Ze,t[226]=qe,t[227]=Ge,t[228]=Ke,t[229]=Qe,t[230]=at,t[231]=Ye,t[232]=ge,t[233]=Je,t[234]=Xe,t[235]=De,t[236]=et,t[237]=Ae,t[238]=tt,t[239]=Ve,t[240]=ot,t[241]=Be,t[242]=Tt,t[243]=wt,t[244]=kt,t[245]=Mt,t[246]=Ot,t[247]=_t,t[248]=It,t[249]=Dt,t[250]=At,t[251]=Vt,t[252]=Mo):Mo=t[252];let vi=Mo,Oo;t[253]!==o?(Oo=a(it=>{$e(o({to:`/${it.currentTarget.dataset.tab??""}`}))},"t87"),t[253]=o,t[254]=Oo):Oo=t[254];let xi=Oo,_o,Io;t[255]!==n||t[256]!==ne?(_o=a(()=>{typeof document<"u"&&(document.title=`${ne[n]} \xB7 lunora`)},"t88"),Io=[n,ne],t[255]=n,t[256]=ne,t[257]=_o,t[258]=Io):(_o=t[257],Io=t[258]),(0,G.useEffect)(_o,Io);let bi=u.find(it=>it.tabs.includes(n))??ti[0],js=u.flatMap(it=>it.tabs.map(jo=>({group:Ce[it.key],label:ne[jo],to:`/${jo}`}))),Bt=(0,G.use)(mi),yi=Bt!==null&&Bt.token!=="",Do;t[259]!==js?(Do=(0,i.jsxDEV)(Ya,{items:js},void 0,!1),t[259]=js,t[260]=Do):Do=t[260];let Ao;t[261]===Symbol.for("react.memo_cache_sentinel")?(Ao=(0,i.jsxDEV)(Gl,{className:"-ms-1"},void 0,!1),t[261]=Ao):Ao=t[261];let Lt;t[262]!==e?(Lt=e("Breadcrumb"),t[262]=e,t[263]=Lt):Lt=t[263];let Us=Ce[bi.key],Ft;t[264]!==Us?(Ft=(0,i.jsxDEV)("span",{className:"text-muted-foreground",children:Us},void 0,!1),t[264]=Us,t[265]=Ft):Ft=t[265];let Vo;t[266]===Symbol.for("react.memo_cache_sentinel")?(Vo=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,i.jsxDEV)("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"},void 0,!1)},void 0,!1),t[266]=Vo):Vo=t[266];let zs=ne[n],Ht;t[267]!==zs?(Ht=(0,i.jsxDEV)("span",{className:"font-medium text-foreground",children:zs},void 0,!1),t[267]=zs,t[268]=Ht):Ht=t[268];let $t;t[269]!==Lt||t[270]!==Ft||t[271]!==Ht?($t=(0,i.jsxDEV)("nav",{"aria-label":Lt,className:"flex items-center gap-1.5 text-[13px]",children:[Ft,Vo,Ht]},void 0,!0),t[269]=Lt,t[270]=Ft,t[271]=Ht,t[272]=$t):$t=t[272];let Bo;t[273]===Symbol.for("react.memo_cache_sentinel")?(Bo=(0,i.jsxDEV)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[(0,i.jsxDEV)("circle",{cx:"11",cy:"11",r:"7"},void 0,!1),(0,i.jsxDEV)("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"},void 0,!1)]},void 0,!0),t[273]=Bo):Bo=t[273];let jt;t[274]!==e?(jt=e("Search\u2026"),t[274]=e,t[275]=jt):jt=t[275];let Lo;t[276]===Symbol.for("react.memo_cache_sentinel")?(Lo=(0,i.jsxDEV)("kbd",{className:"ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",children:"\u2318K"},void 0,!1),t[276]=Lo):Lo=t[276];let Ut;t[277]!==jt?(Ut=(0,i.jsxDEV)("button",{className:"mx-auto hidden h-8 w-72 items-center gap-2 rounded-lg border border-border bg-muted/40 px-3 text-xs text-muted-foreground transition-colors hover:bg-muted md:flex","data-testid":"dash-app-search",onClick:Qa,type:"button",children:[Bo,jt,Lo]},void 0,!0),t[277]=jt,t[278]=Ut):Ut=t[278];let Fo;t[279]===Symbol.for("react.memo_cache_sentinel")?(Fo=(0,i.jsxDEV)("div",{className:"ms-auto flex items-center gap-1.5 md:ms-0",children:(0,i.jsxDEV)(Ol,{},void 0,!1)},void 0,!1),t[279]=Fo):Fo=t[279];let zt;t[280]!==Ut||t[281]!==$t?(zt=(0,i.jsxDEV)("header",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border px-4","data-testid":"dash-app-header",children:[Ao,$t,Ut,Fo]},void 0,!0),t[280]=Ut,t[281]=$t,t[282]=zt):zt=t[282];let Wt;t[283]!==Bt?.rulesInstalled?(Wt=Bt?.rulesInstalled===!1&&(0,i.jsxDEV)(Nl,{},void 0,!1),t[283]=Bt?.rulesInstalled,t[284]=Wt):Wt=t[284];let Ws=`dash-tab-${n}`,Zs=d?"flex min-w-0 flex-1 flex-col overflow-hidden":"min-w-0 flex-1 overflow-auto p-6",qs=ne[n],Zt;t[285]!==e||t[286]!==qs?(Zt=e("{title} failed",{title:qs}),t[285]=e,t[286]=qs,t[287]=Zt):Zt=t[287];let Gs=ne[n],qt;t[288]!==e?(qt=e("Try again"),t[288]=e,t[289]=qt):qt=t[289];let Ho;t[290]===Symbol.for("react.memo_cache_sentinel")?(Ho=(0,i.jsxDEV)(G.Suspense,{fallback:(0,i.jsxDEV)(hi,{},void 0,!1),children:(0,i.jsxDEV)(Kr,{},void 0,!1)},void 0,!1),t[290]=Ho):Ho=t[290];let Gt;t[291]!==n||t[292]!==Zt||t[293]!==Gs||t[294]!==qt?(Gt=(0,i.jsxDEV)(ms,{fallbackTitle:Zt,label:Gs,retryLabel:qt,children:Ho},n,!1),t[291]=n,t[292]=Zt,t[293]=Gs,t[294]=qt,t[295]=Gt):Gt=t[295];let Kt;t[296]!==Zs||t[297]!==Gt?(Kt=(0,i.jsxDEV)("div",{className:Zs,children:Gt},void 0,!1),t[296]=Zs,t[297]=Gt,t[298]=Kt):Kt=t[298];let Qt;t[299]!==Ws||t[300]!==Kt?(Qt=(0,i.jsxDEV)("div",{"aria-labelledby":Ws,className:"flex min-w-0 flex-1 flex-col overflow-hidden","data-testid":"dash-panel",id:"dash-panel",role:"tabpanel",children:Kt},void 0,!1),t[299]=Ws,t[300]=Kt,t[301]=Qt):Qt=t[301];let $o;return t[302]!==zt||t[303]!==Wt||t[304]!==Qt?($o=(0,i.jsxDEV)(Kl,{className:"overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",children:[zt,Wt,Qt]},void 0,!0),t[302]=zt,t[303]=Wt,t[304]=Qt,t[305]=$o):$o=t[305],(0,i.jsxDEV)(Zl,{className:"min-h-0 flex-1","data-testid":"lunora-studio",children:[Do,(0,i.jsxDEV)(Yc,{chrome:Bt,connected:yi,current:n,groupLabel:Ce,groups:u,selectTab:xi,tabDescription:vi,tabLabel:ne},void 0,!1),$o]},void 0,!0)},"StudioLayout"),Xc=a(t=>{let e=(0,B.c)(5),{initialShardKey:o,schemaEditable:s}=t,r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={strict:!1},e[0]=r):r=e[0];let n=qr(r),{table:l}=n,d=typeof l=="string"?l:void 0,p;return e[1]!==o||e[2]!==d||e[3]!==s?(p=(0,i.jsxDEV)(Vc,{initialShardKey:o,initialTable:d,schemaEditable:s},void 0,!1),e[1]=o,e[2]=d,e[3]=s,e[4]=p):p=e[4],p},"SchemaRoutePanel"),ed=a(()=>{let t=(0,B.c)(3),e=ft(),o,s;return t[0]!==e?(o=a(()=>{$e(e({replace:!0,to:"/home"}))},"t0"),s=[e],t[0]=e,t[1]=o,t[2]=s):(o=t[1],s=t[2]),(0,G.useEffect)(o,s),null},"NotFoundRedirect"),td=a(({basePath:t,dataEditable:e=!1,functions:o,initialShardKey:s,openApiSpec:r,openRpcSpec:n,runAsIdentity:l=!1,schemaEditable:d=!1,scheduledCancel:p,scheduledCron:c,scheduledLoad:u})=>{let g=Gr({component:Jc}),m={agents:(0,i.jsxDEV)(ac,{initialShardKey:s},void 0,!1),analytics:(0,i.jsxDEV)(ic,{},void 0,!1),api:(0,i.jsxDEV)(lc,{functions:o,initialShardKey:s,openApiSpec:r,openRpcSpec:n},void 0,!1),audit:(0,i.jsxDEV)(Cc,{initialShardKey:s},void 0,!1),authConfig:(0,i.jsxDEV)(cc,{},void 0,!1),authSessions:(0,i.jsxDEV)(dc,{},void 0,!1),containers:(0,i.jsxDEV)(fc,{},void 0,!1),dashboards:(0,i.jsxDEV)(_c,{initialShardKey:s},void 0,!1),data:(0,i.jsxDEV)(mc,{editable:e,initialShardKey:s},void 0,!1),drains:(0,i.jsxDEV)(Rc,{},void 0,!1),export:(0,i.jsxDEV)(gc,{initialShardKey:s},void 0,!1),fanout:(0,i.jsxDEV)(Ic,{initialShardKey:s},void 0,!1),files:(0,i.jsxDEV)(Fc,{},void 0,!1),kv:(0,i.jsxDEV)(wc,{},void 0,!1),flags:(0,i.jsxDEV)(xc,{initialShardKey:s},void 0,!1),functions:(0,i.jsxDEV)("div",{className:"flex flex-col gap-8",children:[(0,i.jsxDEV)(yc,{functions:o,initialShardKey:s},void 0,!1),(0,i.jsxDEV)(bc,{functions:o,runAsIdentity:l},void 0,!1)]},void 0,!0),health:(0,i.jsxDEV)(Dc,{initialShardKey:s},void 0,!1),home:(0,i.jsxDEV)(Za,{initialShardKey:s},void 0,!1),insights:(0,i.jsxDEV)(sc,{initialShardKey:s},void 0,!1),issues:(0,i.jsxDEV)(Pc,{initialShardKey:s},void 0,!1),logs:(0,i.jsxDEV)(Sc,{initialShardKey:s},void 0,!1),metrics:(0,i.jsxDEV)(Ac,{initialShardKey:s},void 0,!1),migrations:(0,i.jsxDEV)(hc,{initialShardKey:s},void 0,!1),organizations:(0,i.jsxDEV)(pc,{},void 0,!1),permissions:(0,i.jsxDEV)(Mc,{functions:o,runAsIdentity:l,schemaEditable:d},void 0,!1),pitr:(0,i.jsxDEV)(vc,{initialShardKey:s},void 0,!1),mail:(0,i.jsxDEV)(Nc,{},void 0,!1),payments:(0,i.jsxDEV)(kc,{},void 0,!1),queues:(0,i.jsxDEV)(Oc,{},void 0,!1),realtime:(0,i.jsxDEV)(Tc,{initialShardKey:s},void 0,!1),rls:(0,i.jsxDEV)(rc,{},void 0,!1),schedule:(0,i.jsxDEV)(Ec,{loadCronJobs:c,scheduledCancel:p,scheduledLoad:u},void 0,!1),schema:(0,i.jsxDEV)(Xc,{initialShardKey:s,schemaEditable:d},void 0,!1),security:(0,i.jsxDEV)(nc,{},void 0,!1),settings:(0,i.jsxDEV)(Bc,{initialShardKey:s},void 0,!1),sql:(0,i.jsxDEV)(Lc,{initialShardKey:s},void 0,!1),storageRules:(0,i.jsxDEV)(Hc,{},void 0,!1),users:(0,i.jsxDEV)(uc,{},void 0,!1),vectors:(0,i.jsxDEV)($c,{},void 0,!1),workflows:(0,i.jsxDEV)(jc,{},void 0,!1)},h=zo({component:a(()=>m.home,"component"),getParentRoute:a(()=>g,"getParentRoute"),path:"/"}),f=gi.map(b=>b==="data"?zo({component:a(()=>m[b],"component"),getParentRoute:a(()=>g,"getParentRoute"),path:`/${b}`,validateSearch:zn}):zo({component:a(()=>m[b],"component"),getParentRoute:a(()=>g,"getParentRoute"),path:`/${b}`})),v=g.addChildren([h,...f]),x="window"in globalThis?Wr():Zr({initialEntries:["/home"]});return Qr({...t===void 0||t==="/"?{}:{basepath:t},defaultNotFoundComponent:ed,defaultPendingComponent:hi,defaultPendingMinMs:0,defaultPendingMs:0,history:x,routeTree:v})},"buildRouter"),od=a(t=>{let e=(0,B.c)(17),{basePath:o,chrome:s,dataEditable:r,functions:n,initialShardKey:l,openApiSpec:d,openRpcSpec:p,runAsIdentity:c,schemaEditable:u,scheduledCancel:g,scheduledCron:m,scheduledLoad:h}=t,f;e[0]!==o||e[1]!==r||e[2]!==n||e[3]!==l||e[4]!==d||e[5]!==p||e[6]!==c||e[7]!==g||e[8]!==m||e[9]!==h||e[10]!==u?(f=td({basePath:o,dataEditable:r,functions:n,initialShardKey:l,openApiSpec:d,openRpcSpec:p,runAsIdentity:c,schemaEditable:u,scheduledCancel:g,scheduledCron:m,scheduledLoad:h}),e[0]=o,e[1]=r,e[2]=n,e[3]=l,e[4]=d,e[5]=p,e[6]=c,e[7]=g,e[8]=m,e[9]=h,e[10]=u,e[11]=f):f=e[11];let v=f,x=s??null,b;e[12]!==v?(b=(0,i.jsxDEV)(Yr,{router:v},void 0,!1),e[12]=v,e[13]=b):b=e[13];let P;return e[14]!==x||e[15]!==b?(P=(0,i.jsxDEV)(mi,{value:x,children:b},void 0,!1),e[14]=x,e[15]=b,e[16]=P):P=e[16],P},"StudioShell"),_0=a(t=>{let e=(0,B.c)(17),{basePath:o,chrome:s,dataEditable:r,functions:n,i18n:l,initialShardKey:d,locale:p,openApiSpec:c,openRpcSpec:u,runAsIdentity:g,schemaEditable:m,scheduledCancel:h,scheduledCron:f,scheduledLoad:v}=t,x;e[0]!==o||e[1]!==s||e[2]!==r||e[3]!==n||e[4]!==d||e[5]!==c||e[6]!==u||e[7]!==g||e[8]!==h||e[9]!==f||e[10]!==v||e[11]!==m?(x=(0,i.jsxDEV)(od,{basePath:o,chrome:s,dataEditable:r,functions:n,initialShardKey:d,openApiSpec:c,openRpcSpec:u,runAsIdentity:g,scheduledCancel:h,scheduledCron:f,scheduledLoad:v,schemaEditable:m},void 0,!1),e[0]=o,e[1]=s,e[2]=r,e[3]=n,e[4]=d,e[5]=c,e[6]=u,e[7]=g,e[8]=h,e[9]=f,e[10]=v,e[11]=m,e[12]=x):x=e[12];let b=x;if(l===void 0&&p===void 0)return b;let P;return e[13]!==l||e[14]!==p||e[15]!==b?(P=(0,i.jsxDEV)(Ka,{i18n:l,locale:p,children:b},void 0,!1),e[13]=l,e[14]=p,e[15]=b,e[16]=P):P=e[16],P},"Studio");function sd(t){return t.location.pathname}a(sd,"_temp");function rd(t){return t.tabs.length>0}a(rd,"_temp2");export{ms as a,Ka as b,M0 as c,xl as d,O0 as e,Cl as f,Il as g,Vl as h,Bl as i,Ll as j,_0 as k};
@@ -1 +1 @@
1
- import{a as le}from"./chunk-AITOCPML.js";import{a as te}from"./chunk-WUFVFVHJ.js";import"./chunk-XNJNSCLM.js";import{b as U}from"./chunk-W666BB6V.js";import{a as ae,b as se,c as oe,d as Q,e as $,f as z}from"./chunk-GTM65MVX.js";import{a as j,b as K,c as V,d as Y,e as q}from"./chunk-SEU5V7I6.js";import{a as re}from"./chunk-VLXV72QE.js";import{a as C}from"./chunk-JSEXCW5Q.js";import{a as ee}from"./chunk-LUP4YTBS.js";import"./chunk-4PC7IXNY.js";import"./chunk-2MLA6WFH.js";import{R as E}from"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import{c as k}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import{b as I}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{a as L}from"./chunk-BOXSWNXZ.js";import{f as W}from"./chunk-SDMZKBTD.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{a as J}from"./chunk-TAD43CG5.js";import{d as O,f as G,g as X,h as Z,l as D}from"./chunk-ITQKVEP7.js";import"./chunk-22C6COGE.js";import{a as n,e as B,f as ve,g as he,h as xe}from"./chunk-RRCPZMC2.js";var c=B(ve(),1);var ne=B(he(),1);var e=B(xe(),1);var ie=["read","insert","update","delete"],ye=n((a,t)=>({delete:a("Delete"),insert:a("Insert"),read:a("Read"),update:a("Update")})[t],"operationLabel"),ge=n(a=>{let t=new Set;for(let l of a?.advisories??[])if(l.name==="rls_uncovered_table"){let{table:r}=l.metadata;typeof r=="string"&&r!==""&&t.add(r)}return t},"uncoveredTables"),be=n((a,t,l)=>{let r=new Map,s=n(o=>{let d=r.get(o);if(d!==void 0)return d;let i={cells:{delete:{},insert:{},read:{},update:{}},maskedColumns:[],table:o,uncovered:l.has(o)};return r.set(o,i),i},"ensure");for(let o of a)s(o.table).cells[o.on]={procedure:o.procedure};for(let o of t){let d=s(o.table);d.maskedColumns.includes(o.column)||d.maskedColumns.push(o.column)}for(let o of l)s(o);return[...r.values()].toSorted((o,d)=>o.table.localeCompare(d.table))},"buildRows"),Ne=n(a=>{let t=(0,ne.c)(17),l;t[0]!==a?(l=a===void 0?{}:a,t[0]=a,t[1]=l):l=t[1];let{onProbe:r}=l,s=O(),o,d;t[2]===Symbol.for("react.memo_cache_sentinel")?(o={},d={live:!0},t[2]=o,t[3]=d):(o=t[2],d=t[3]);let i=U(L.rlsPolicies,o,d),x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x={},t[4]=x):x=t[4];let p=U(L.maskPolicies,x),v;t[5]===Symbol.for("react.memo_cache_sentinel")?(v={},t[5]=v):v=t[5];let b=U(L.getAdvisories,v),N;if(t[6]!==b.data||t[7]!==p.data||t[8]!==r||t[9]!==i||t[10]!==s){let g=null;i.data!==void 0&&(g=Array.isArray(i.data.policies)?i.data.policies:[]);let _=Array.isArray(p.data?.columns)?p.data.columns:[],F=b.data??null,{error:h,errorSource:m,liveError:P}=i,A=g===null?[]:be(g,_,ge(F)),T;t[12]!==P?(T=(0,e.jsxDEV)("div",{className:"flex items-center justify-end",children:(0,e.jsxDEV)(le,{message:P,prefix:"pm"},void 0,!1)},void 0,!1),t[12]=P,t[13]=T):T=t[13];let y;t[14]!==h||t[15]!==m?(y=h!==null&&(0,e.jsxDEV)(te,{error:m,testId:"pm-error"},void 0,!1),t[14]=h,t[15]=m,t[16]=y):y=t[16],N=(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-matrix",children:[T,y,g!==null&&A.length===0?(0,e.jsxDEV)(J,{description:s("Add a `definePolicy` and wire it through `.use(rls(...))` to populate this matrix."),testId:"pm-empty",title:s("No policy")},void 0,!1):(0,e.jsxDEV)(ae,{"data-testid":"pm-table",children:[(0,e.jsxDEV)(se,{children:(0,e.jsxDEV)(Q,{children:[(0,e.jsxDEV)($,{children:s("Table")},void 0,!1),ie.map(u=>(0,e.jsxDEV)($,{children:ye(s,u)},u,!1)),(0,e.jsxDEV)($,{children:s("Masked columns")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(oe,{children:A.map(u=>(0,e.jsxDEV)(Q,{"data-testid":`pm-row-${u.table}`,children:[(0,e.jsxDEV)(z,{className:"font-mono text-xs",children:(0,e.jsxDEV)("span",{className:"flex items-center gap-1.5",children:[u.table,u.uncovered&&(0,e.jsxDEV)(I,{"data-testid":`pm-uncovered-${u.table}`,title:s("Uncovered \u2014 reachable without a policy"),variant:"destructive",children:s("Uncovered \u2014 reachable without a policy")},void 0,!1)]},void 0,!0)},void 0,!1),ie.map(w=>{let R=u.cells[w];return(0,e.jsxDEV)(z,{"data-testid":`pm-cell-${u.table}-${w}`,children:R.procedure===void 0?(0,e.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:s("No policy")},void 0,!1):(0,e.jsxDEV)("span",{className:"flex flex-col gap-1",children:[(0,e.jsxDEV)(I,{variant:"secondary",children:s("Covered by {procedure}",{procedure:R.procedure})},void 0,!1),r!==void 0&&(0,e.jsxDEV)(k,{className:"h-auto justify-start p-0 text-[11px]","data-testid":`pm-probe-${u.table}-${w}`,onClick:n(()=>{r(u.table,w,R.procedure??"")},"onClick"),size:"xs",type:"button",variant:"ghost",children:s("Probe this")},void 0,!1)]},void 0,!0)},w,!1)}),(0,e.jsxDEV)(z,{children:u.maskedColumns.length===0?(0,e.jsxDEV)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"},void 0,!1):(0,e.jsxDEV)("span",{className:"flex flex-wrap gap-1",children:u.maskedColumns.map(ke)},void 0,!1)},void 0,!1)]},u.table,!0))},void 0,!1)]},void 0,!0)]},void 0,!0),t[6]=b.data,t[7]=p.data,t[8]=r,t[9]=i,t[10]=s,t[11]=N}else N=t[11];return N},"PermissionsMatrix");function ke(a){return(0,e.jsxDEV)(I,{variant:"outline",children:a},a,!1)}n(ke,"_temp");var Ce=G(L.runAs),we=n(()=>{let a=W();return async({args:t,functionPath:l,shardKey:r="",userId:s})=>{let o=Ce;try{return{kind:"allowed",value:await a.query(o,{args:t,functionPath:l,userId:s},X(r))}}catch(d){return{kind:"denied",message:d instanceof Error?d.message:String(d)}}}},"useRunAsProbe"),Se=n(a=>a===void 0?"undefined":JSON.stringify(a,null,2),"formatValue"),Pe=n(({functions:a,prefill:t,runAsIdentity:l=!1}={})=>{let r=W(),s=O(),o=we(),[d,i]=(0,c.useState)(null),[x,p]=(0,c.useState)(null),v=a??d??[],[b,N]=(0,c.useState)(""),[g,_]=(0,c.useState)("{}"),[F,h]=(0,c.useState)(""),[m,P]=(0,c.useState)(""),[A,T]=(0,c.useState)(!1),[y,u]=(0,c.useState)(null),[w,R]=(0,c.useState)(null),H=(0,c.useRef)(-1);(0,c.useEffect)(()=>{if(a!==void 0)return;let f=!1;return r.listFunctions().then(S=>(f||i(S),S)).catch(S=>{f||p(Z(S))}),()=>{f=!0}},[r,a]),(0,c.useEffect)(()=>{if(t===void 0||H.current===t.nonce)return;H.current=t.nonce;let f=t.functionPath;queueMicrotask(()=>{N(f),u(null)})},[t]);let M=b===""?v[0]?.path??"":b,ce=n(async()=>{if(M==="")return;let f;try{f=g.trim()===""?{}:JSON.parse(g)}catch(S){R(s("Invalid JSON args: {message}",{message:S.message})),u(null);return}R(null),T(!0);try{let S=await o({args:f,functionPath:M,shardKey:F.trim(),userId:m.trim()});u(S)}finally{T(!1)}},"run"),fe=n(()=>{D(ce())},"runOnce"),ue=n(f=>{N(f.target.value)},"onSelectChange"),me=n(f=>{_(f.target.value)},"onArgsChange"),pe=n(f=>{P(f.target.value)},"onUserIdChange");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-playground",children:[x!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pp-discover-error",role:"alert",children:x},void 0,!1),!l&&(0,e.jsxDEV)(J,{description:s("Dev only: runs the selected function as this user over the admin gate so you can test auth and RLS."),testId:"pp-gate",title:s("Set `runAsIdentity` to forge an identity and probe access.")},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-3 rounded-md border border-border p-3",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-function",children:s("Function")},void 0,!1),(0,e.jsxDEV)("select",{"aria-label":s("Function"),className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","data-testid":"pp-function",id:"pp-function",onChange:ue,value:M,children:v.map(f=>(0,e.jsxDEV)("option",{value:f.path,children:[f.path," (",f.kind,")"]},f.path,!0))},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-args",children:s("Arguments")},void 0,!1),(0,e.jsxDEV)(re,{"aria-label":s("Arguments"),className:"font-mono text-xs","data-testid":"pp-args",id:"pp-args",onChange:me,value:g},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(ee,{onChange:h,testId:"pp-shard",value:F},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-user",children:s("Run as (userId)")},void 0,!1),(0,e.jsxDEV)(E,{"aria-label":s("Identity (userId) to run as"),className:"font-mono text-xs","data-testid":"pp-user",id:"pp-user",onChange:pe,placeholder:s("Leave empty to run as admin"),value:m},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,e.jsxDEV)(k,{"data-testid":"pp-run",disabled:!l||A||M==="",onClick:fe,type:"button",children:s(A?"Probing\u2026":"Run probe")},void 0,!1),m.trim()!==""&&(0,e.jsxDEV)(I,{"data-testid":"pp-as-badge",variant:"secondary",children:s("as {userId}",{userId:m.trim()})},void 0,!1)]},void 0,!0)]},void 0,!0),w!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pp-args-error",role:"alert",children:w},void 0,!1),y!==null&&y.kind==="allowed"&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-allowed",children:[(0,e.jsxDEV)(I,{variant:"secondary",children:s("Allowed")},void 0,!1),(0,e.jsxDEV)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-result",children:Se(y.value)},void 0,!1)]},void 0,!0),y!==null&&y.kind==="denied"&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-denied",children:[(0,e.jsxDEV)(I,{variant:"destructive",children:s("Denied")},void 0,!1),(0,e.jsxDEV)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs text-destructive","data-testid":"pp-denied",role:"alert",children:y.message},void 0,!1)]},void 0,!0)]},void 0,!0)},"PermissionsPlayground"),Ae="/__lunora/policy-scaffold",Te={"already-wired":"That procedure already has an rls(...) policy wired in.","file-exists":"A policy file with that name already exists \u2014 pick another name or edit it by hand.","invalid-identifier":"Name, table, and policy-set must be plain identifiers (letters, digits, _ or $).","unknown-procedure":"No exported procedure was found at that file path.","unsupported-procedure-shape":"That procedure uses the bare query({\u2026}) form \u2014 convert it to the builder form (c.use(\u2026).query(\u2026)) before wiring RLS."},Ie=n(async a=>{let t=await fetch(Ae,{body:JSON.stringify(a),headers:{"Content-Type":"application/json"},method:"POST"}),l=await t.json();if(l.needsManualEdit===!0)return{kind:"needs-manual-edit",message:l.message??"This change must be made by hand."};if(t.ok)return{diagnostics:l.diagnostics??[],kind:"ok",label:l.fileName??l.exportName??""};let r=l.error;return{kind:"error",message:r===void 0?`policy scaffold failed (${String(t.status)})`:Te[r]??r}},"applyPolicyScaffold"),de={exportName:"",filePath:"",policyName:"",policies:"",tableName:""},Ee=n(()=>{let a=O(),[t,l]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),[o,d]=(0,c.useState)(null),[i,x]=(0,c.useState)(de),p=n(h=>{let m=h.target.name,{value:P}=h.target;x(A=>({...A,[m]:P}))},"onFieldChange"),v=n(()=>{l(null),x(de)},"reset"),b=n(async h=>{s(!0),d(null);try{let m=await Ie(h);d(m),m.kind==="ok"&&v()}catch(m){d({kind:"error",message:m instanceof Error?m.message:String(m)})}finally{s(!1)}},"submit"),N=n(()=>{D(b({kind:"scaffoldPolicy",name:i.policyName.trim(),table:i.tableName.trim()}))},"onSubmitScaffold"),g=n(()=>{D(b({exportName:i.exportName.trim(),filePath:i.filePath.trim(),kind:"wireRls",policies:i.policies.trim()}))},"onSubmitWire"),_=n(()=>{d(null),l("scaffold")},"openScaffold"),F=n(()=>{d(null),l("wire")},"openWire");return(0,e.jsxDEV)(j,{"data-testid":"policy-scaffolder",size:"sm",children:[(0,e.jsxDEV)(K,{children:[(0,e.jsxDEV)(V,{children:a("Scaffold access rules")},void 0,!1),(0,e.jsxDEV)(Y,{children:a("Writes a new deny-by-default policy file under lunora/, or wires one into a procedure, then reruns codegen. Local dev only.")},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(q,{children:[(0,e.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-new",onClick:_,size:"xs",type:"button",variant:t==="scaffold"?"default":"outline",children:a("New policy file")},void 0,!1),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-wire",onClick:F,size:"xs",type:"button",variant:t==="wire"?"default":"outline",children:a("Wire into a procedure")},void 0,!1)]},void 0,!0),t==="scaffold"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-new-form",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-name",children:a("Policy name")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-name",id:"policy-scaffolder-name",name:"policyName",onChange:p,value:i.policyName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-table",children:a("Table name")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-table",id:"policy-scaffolder-table",name:"tableName",onChange:p,value:i.tableName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-create",disabled:r||i.policyName.trim()===""||i.tableName.trim()==="",onClick:N,size:"xs",type:"button",children:a(r?"Creating\u2026":"Create policy file")},void 0,!1),(0,e.jsxDEV)(k,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")},void 0,!1)]},void 0,!0),t==="wire"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-wire-form",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-file",children:a("Procedure file path")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-file",id:"policy-scaffolder-file",name:"filePath",onChange:p,value:i.filePath},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-export",children:a("Exported procedure")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-export",id:"policy-scaffolder-export",name:"exportName",onChange:p,value:i.exportName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-policies",children:a("Policy set identifier")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-policies",id:"policy-scaffolder-policies",name:"policies",onChange:p,value:i.policies},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-apply",disabled:r||i.filePath.trim()===""||i.exportName.trim()===""||i.policies.trim()==="",onClick:g,size:"xs",type:"button",children:a(r?"Wiring\u2026":"Wire RLS")},void 0,!1),(0,e.jsxDEV)(k,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")},void 0,!1)]},void 0,!0),o?.kind==="error"&&(0,e.jsxDEV)("p",{className:"mt-3 text-sm text-destructive","data-testid":"policy-scaffolder-error",role:"alert",children:o.message},void 0,!1),o?.kind==="needs-manual-edit"&&(0,e.jsxDEV)("p",{className:"mt-3 text-sm text-amber-600 dark:text-amber-500","data-testid":"policy-scaffolder-manual",role:"alert",children:a("This change must be made by hand \u2014 the scaffolder only adds new, deny-by-default rules.")},void 0,!1),o?.kind==="ok"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"policy-scaffolder-ok",children:[(0,e.jsxDEV)("p",{className:"text-sm text-emerald-600 dark:text-emerald-500",children:a("Scaffolded {label} and reran codegen. Fill in the `when` predicates before relying on it.",{label:o.label})},void 0,!1),o.diagnostics.length>0&&(0,e.jsxDEV)("ul",{className:"flex flex-col gap-0.5","data-testid":"policy-scaffolder-diagnostics",children:o.diagnostics.map(h=>(0,e.jsxDEV)("li",{className:"font-mono text-[11px] text-destructive",children:h},h,!1))},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0)},"PolicyScaffolder"),He=n(({functions:a,runAsIdentity:t=!1,schemaEditable:l=!1}={})=>{let r=O(),[s,o]=(0,c.useState)(void 0),d=n((i,x,p)=>{p!==""&&o(v=>({functionPath:p,nonce:(v?.nonce??0)+1}))},"onProbe");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-8","data-testid":"lunora-permissions",children:[(0,e.jsxDEV)("section",{className:"flex flex-col gap-3",children:[(0,e.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,e.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r("Permissions")},void 0,!1)},void 0,!1),(0,e.jsxDEV)(Ne,{onProbe:d},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("section",{className:"flex flex-col gap-3",children:(0,e.jsxDEV)(j,{className:"gap-0 py-0",children:[(0,e.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,e.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r("Probe")},void 0,!1)},void 0,!1),(0,e.jsxDEV)(q,{className:"px-4 py-4",children:[(0,e.jsxDEV)("p",{className:"mb-3 text-sm text-muted-foreground",children:r("Pick a function and an identity, then run it to see the access outcome.")},void 0,!1),(0,e.jsxDEV)(Pe,{functions:a,prefill:s,runAsIdentity:t},void 0,!1)]},void 0,!0)]},void 0,!0)},void 0,!1),l&&(0,e.jsxDEV)("section",{className:"flex flex-col gap-2",children:(0,e.jsxDEV)(Ee,{},void 0,!1)},void 0,!1)]},void 0,!0)},"PermissionsPanel");export{He as PermissionsPanel};
1
+ import{a as le}from"./chunk-AITOCPML.js";import{a as te}from"./chunk-WUFVFVHJ.js";import"./chunk-XNJNSCLM.js";import{b as U}from"./chunk-W666BB6V.js";import{a as ae,b as se,c as oe,d as Q,e as $,f as z}from"./chunk-GTM65MVX.js";import{a as j,b as K,c as V,d as Y,e as q}from"./chunk-SEU5V7I6.js";import{a as re}from"./chunk-VLXV72QE.js";import{a as C}from"./chunk-JSEXCW5Q.js";import{a as ee}from"./chunk-LUP4YTBS.js";import"./chunk-4PC7IXNY.js";import"./chunk-2MLA6WFH.js";import{R as E}from"./chunk-VL23Y44O.js";import"./chunk-HV7G6DFP.js";import{c as k}from"./chunk-UK64ZSUW.js";import"./chunk-O3NAGRTR.js";import{b as I}from"./chunk-ZPP2KOR4.js";import"./chunk-CKSHCYGC.js";import{a as L}from"./chunk-G7ZBM54M.js";import{f as W}from"./chunk-SDMZKBTD.js";import"./chunk-ZHVTQ37P.js";import"./chunk-3OA7PECS.js";import{a as J}from"./chunk-TAD43CG5.js";import{d as O,f as G,g as X,h as Z,l as D}from"./chunk-ITQKVEP7.js";import"./chunk-22C6COGE.js";import{a as n,e as B,f as ve,g as he,h as xe}from"./chunk-RRCPZMC2.js";var c=B(ve(),1);var ne=B(he(),1);var e=B(xe(),1);var ie=["read","insert","update","delete"],ye=n((a,t)=>({delete:a("Delete"),insert:a("Insert"),read:a("Read"),update:a("Update")})[t],"operationLabel"),ge=n(a=>{let t=new Set;for(let l of a?.advisories??[])if(l.name==="rls_uncovered_table"){let{table:r}=l.metadata;typeof r=="string"&&r!==""&&t.add(r)}return t},"uncoveredTables"),be=n((a,t,l)=>{let r=new Map,s=n(o=>{let d=r.get(o);if(d!==void 0)return d;let i={cells:{delete:{},insert:{},read:{},update:{}},maskedColumns:[],table:o,uncovered:l.has(o)};return r.set(o,i),i},"ensure");for(let o of a)s(o.table).cells[o.on]={procedure:o.procedure};for(let o of t){let d=s(o.table);d.maskedColumns.includes(o.column)||d.maskedColumns.push(o.column)}for(let o of l)s(o);return[...r.values()].toSorted((o,d)=>o.table.localeCompare(d.table))},"buildRows"),Ne=n(a=>{let t=(0,ne.c)(17),l;t[0]!==a?(l=a===void 0?{}:a,t[0]=a,t[1]=l):l=t[1];let{onProbe:r}=l,s=O(),o,d;t[2]===Symbol.for("react.memo_cache_sentinel")?(o={},d={live:!0},t[2]=o,t[3]=d):(o=t[2],d=t[3]);let i=U(L.rlsPolicies,o,d),x;t[4]===Symbol.for("react.memo_cache_sentinel")?(x={},t[4]=x):x=t[4];let p=U(L.maskPolicies,x),v;t[5]===Symbol.for("react.memo_cache_sentinel")?(v={},t[5]=v):v=t[5];let b=U(L.getAdvisories,v),N;if(t[6]!==b.data||t[7]!==p.data||t[8]!==r||t[9]!==i||t[10]!==s){let g=null;i.data!==void 0&&(g=Array.isArray(i.data.policies)?i.data.policies:[]);let _=Array.isArray(p.data?.columns)?p.data.columns:[],F=b.data??null,{error:h,errorSource:m,liveError:P}=i,A=g===null?[]:be(g,_,ge(F)),T;t[12]!==P?(T=(0,e.jsxDEV)("div",{className:"flex items-center justify-end",children:(0,e.jsxDEV)(le,{message:P,prefix:"pm"},void 0,!1)},void 0,!1),t[12]=P,t[13]=T):T=t[13];let y;t[14]!==h||t[15]!==m?(y=h!==null&&(0,e.jsxDEV)(te,{error:m,testId:"pm-error"},void 0,!1),t[14]=h,t[15]=m,t[16]=y):y=t[16],N=(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-matrix",children:[T,y,g!==null&&A.length===0?(0,e.jsxDEV)(J,{description:s("Add a `definePolicy` and wire it through `.use(rls(...))` to populate this matrix."),testId:"pm-empty",title:s("No policy")},void 0,!1):(0,e.jsxDEV)(ae,{"data-testid":"pm-table",children:[(0,e.jsxDEV)(se,{children:(0,e.jsxDEV)(Q,{children:[(0,e.jsxDEV)($,{children:s("Table")},void 0,!1),ie.map(u=>(0,e.jsxDEV)($,{children:ye(s,u)},u,!1)),(0,e.jsxDEV)($,{children:s("Masked columns")},void 0,!1)]},void 0,!0)},void 0,!1),(0,e.jsxDEV)(oe,{children:A.map(u=>(0,e.jsxDEV)(Q,{"data-testid":`pm-row-${u.table}`,children:[(0,e.jsxDEV)(z,{className:"font-mono text-xs",children:(0,e.jsxDEV)("span",{className:"flex items-center gap-1.5",children:[u.table,u.uncovered&&(0,e.jsxDEV)(I,{"data-testid":`pm-uncovered-${u.table}`,title:s("Uncovered \u2014 reachable without a policy"),variant:"destructive",children:s("Uncovered \u2014 reachable without a policy")},void 0,!1)]},void 0,!0)},void 0,!1),ie.map(w=>{let R=u.cells[w];return(0,e.jsxDEV)(z,{"data-testid":`pm-cell-${u.table}-${w}`,children:R.procedure===void 0?(0,e.jsxDEV)("span",{className:"text-xs text-muted-foreground",children:s("No policy")},void 0,!1):(0,e.jsxDEV)("span",{className:"flex flex-col gap-1",children:[(0,e.jsxDEV)(I,{variant:"secondary",children:s("Covered by {procedure}",{procedure:R.procedure})},void 0,!1),r!==void 0&&(0,e.jsxDEV)(k,{className:"h-auto justify-start p-0 text-[11px]","data-testid":`pm-probe-${u.table}-${w}`,onClick:n(()=>{r(u.table,w,R.procedure??"")},"onClick"),size:"xs",type:"button",variant:"ghost",children:s("Probe this")},void 0,!1)]},void 0,!0)},w,!1)}),(0,e.jsxDEV)(z,{children:u.maskedColumns.length===0?(0,e.jsxDEV)("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"\u2014"},void 0,!1):(0,e.jsxDEV)("span",{className:"flex flex-wrap gap-1",children:u.maskedColumns.map(ke)},void 0,!1)},void 0,!1)]},u.table,!0))},void 0,!1)]},void 0,!0)]},void 0,!0),t[6]=b.data,t[7]=p.data,t[8]=r,t[9]=i,t[10]=s,t[11]=N}else N=t[11];return N},"PermissionsMatrix");function ke(a){return(0,e.jsxDEV)(I,{variant:"outline",children:a},a,!1)}n(ke,"_temp");var Ce=G(L.runAs),we=n(()=>{let a=W();return async({args:t,functionPath:l,shardKey:r="",userId:s})=>{let o=Ce;try{return{kind:"allowed",value:await a.query(o,{args:t,functionPath:l,userId:s},X(r))}}catch(d){return{kind:"denied",message:d instanceof Error?d.message:String(d)}}}},"useRunAsProbe"),Se=n(a=>a===void 0?"undefined":JSON.stringify(a,null,2),"formatValue"),Pe=n(({functions:a,prefill:t,runAsIdentity:l=!1}={})=>{let r=W(),s=O(),o=we(),[d,i]=(0,c.useState)(null),[x,p]=(0,c.useState)(null),v=a??d??[],[b,N]=(0,c.useState)(""),[g,_]=(0,c.useState)("{}"),[F,h]=(0,c.useState)(""),[m,P]=(0,c.useState)(""),[A,T]=(0,c.useState)(!1),[y,u]=(0,c.useState)(null),[w,R]=(0,c.useState)(null),H=(0,c.useRef)(-1);(0,c.useEffect)(()=>{if(a!==void 0)return;let f=!1;return r.listFunctions().then(S=>(f||i(S),S)).catch(S=>{f||p(Z(S))}),()=>{f=!0}},[r,a]),(0,c.useEffect)(()=>{if(t===void 0||H.current===t.nonce)return;H.current=t.nonce;let f=t.functionPath;queueMicrotask(()=>{N(f),u(null)})},[t]);let M=b===""?v[0]?.path??"":b,ce=n(async()=>{if(M==="")return;let f;try{f=g.trim()===""?{}:JSON.parse(g)}catch(S){R(s("Invalid JSON args: {message}",{message:S.message})),u(null);return}R(null),T(!0);try{let S=await o({args:f,functionPath:M,shardKey:F.trim(),userId:m.trim()});u(S)}finally{T(!1)}},"run"),fe=n(()=>{D(ce())},"runOnce"),ue=n(f=>{N(f.target.value)},"onSelectChange"),me=n(f=>{_(f.target.value)},"onArgsChange"),pe=n(f=>{P(f.target.value)},"onUserIdChange");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-3","data-testid":"lunora-permissions-playground",children:[x!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pp-discover-error",role:"alert",children:x},void 0,!1),!l&&(0,e.jsxDEV)(J,{description:s("Dev only: runs the selected function as this user over the admin gate so you can test auth and RLS."),testId:"pp-gate",title:s("Set `runAsIdentity` to forge an identity and probe access.")},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-3 rounded-md border border-border p-3",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-function",children:s("Function")},void 0,!1),(0,e.jsxDEV)("select",{"aria-label":s("Function"),className:"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm shadow-xs outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50","data-testid":"pp-function",id:"pp-function",onChange:ue,value:M,children:v.map(f=>(0,e.jsxDEV)("option",{value:f.path,children:[f.path," (",f.kind,")"]},f.path,!0))},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-args",children:s("Arguments")},void 0,!1),(0,e.jsxDEV)(re,{"aria-label":s("Arguments"),className:"font-mono text-xs","data-testid":"pp-args",id:"pp-args",onChange:me,value:g},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(ee,{onChange:h,testId:"pp-shard",value:F},void 0,!1),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1.5",children:[(0,e.jsxDEV)(C,{htmlFor:"pp-user",children:s("Run as (userId)")},void 0,!1),(0,e.jsxDEV)(E,{"aria-label":s("Identity (userId) to run as"),className:"font-mono text-xs","data-testid":"pp-user",id:"pp-user",onChange:pe,placeholder:s("Leave empty to run as admin"),value:m},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex items-center gap-2",children:[(0,e.jsxDEV)(k,{"data-testid":"pp-run",disabled:!l||A||M==="",onClick:fe,type:"button",children:s(A?"Probing\u2026":"Run probe")},void 0,!1),m.trim()!==""&&(0,e.jsxDEV)(I,{"data-testid":"pp-as-badge",variant:"secondary",children:s("as {userId}",{userId:m.trim()})},void 0,!1)]},void 0,!0)]},void 0,!0),w!==null&&(0,e.jsxDEV)("p",{className:"text-sm text-destructive","data-testid":"pp-args-error",role:"alert",children:w},void 0,!1),y!==null&&y.kind==="allowed"&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-allowed",children:[(0,e.jsxDEV)(I,{variant:"secondary",children:s("Allowed")},void 0,!1),(0,e.jsxDEV)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs","data-testid":"pp-result",children:Se(y.value)},void 0,!1)]},void 0,!0),y!==null&&y.kind==="denied"&&(0,e.jsxDEV)("div",{className:"flex flex-col gap-2","data-testid":"pp-outcome-denied",children:[(0,e.jsxDEV)(I,{variant:"destructive",children:s("Denied")},void 0,!1),(0,e.jsxDEV)("pre",{className:"overflow-auto rounded-md border border-border bg-muted/50 p-3 font-mono text-xs text-destructive","data-testid":"pp-denied",role:"alert",children:y.message},void 0,!1)]},void 0,!0)]},void 0,!0)},"PermissionsPlayground"),Ae="/__lunora/policy-scaffold",Te={"already-wired":"That procedure already has an rls(...) policy wired in.","file-exists":"A policy file with that name already exists \u2014 pick another name or edit it by hand.","invalid-identifier":"Name, table, and policy-set must be plain identifiers (letters, digits, _ or $).","unknown-procedure":"No exported procedure was found at that file path.","unsupported-procedure-shape":"That procedure uses the bare query({\u2026}) form \u2014 convert it to the builder form (c.use(\u2026).query(\u2026)) before wiring RLS."},Ie=n(async a=>{let t=await fetch(Ae,{body:JSON.stringify(a),headers:{"Content-Type":"application/json"},method:"POST"}),l=await t.json();if(l.needsManualEdit===!0)return{kind:"needs-manual-edit",message:l.message??"This change must be made by hand."};if(t.ok)return{diagnostics:l.diagnostics??[],kind:"ok",label:l.fileName??l.exportName??""};let r=l.error;return{kind:"error",message:r===void 0?`policy scaffold failed (${String(t.status)})`:Te[r]??r}},"applyPolicyScaffold"),de={exportName:"",filePath:"",policyName:"",policies:"",tableName:""},Ee=n(()=>{let a=O(),[t,l]=(0,c.useState)(null),[r,s]=(0,c.useState)(!1),[o,d]=(0,c.useState)(null),[i,x]=(0,c.useState)(de),p=n(h=>{let m=h.target.name,{value:P}=h.target;x(A=>({...A,[m]:P}))},"onFieldChange"),v=n(()=>{l(null),x(de)},"reset"),b=n(async h=>{s(!0),d(null);try{let m=await Ie(h);d(m),m.kind==="ok"&&v()}catch(m){d({kind:"error",message:m instanceof Error?m.message:String(m)})}finally{s(!1)}},"submit"),N=n(()=>{D(b({kind:"scaffoldPolicy",name:i.policyName.trim(),table:i.tableName.trim()}))},"onSubmitScaffold"),g=n(()=>{D(b({exportName:i.exportName.trim(),filePath:i.filePath.trim(),kind:"wireRls",policies:i.policies.trim()}))},"onSubmitWire"),_=n(()=>{d(null),l("scaffold")},"openScaffold"),F=n(()=>{d(null),l("wire")},"openWire");return(0,e.jsxDEV)(j,{"data-testid":"policy-scaffolder",size:"sm",children:[(0,e.jsxDEV)(K,{children:[(0,e.jsxDEV)(V,{children:a("Scaffold access rules")},void 0,!1),(0,e.jsxDEV)(Y,{children:a("Writes a new deny-by-default policy file under lunora/, or wires one into a procedure, then reruns codegen. Local dev only.")},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(q,{children:[(0,e.jsxDEV)("div",{className:"flex flex-wrap gap-2",children:[(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-new",onClick:_,size:"xs",type:"button",variant:t==="scaffold"?"default":"outline",children:a("New policy file")},void 0,!1),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-wire",onClick:F,size:"xs",type:"button",variant:t==="wire"?"default":"outline",children:a("Wire into a procedure")},void 0,!1)]},void 0,!0),t==="scaffold"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-new-form",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-name",children:a("Policy name")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-name",id:"policy-scaffolder-name",name:"policyName",onChange:p,value:i.policyName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-table",children:a("Table name")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-table",id:"policy-scaffolder-table",name:"tableName",onChange:p,value:i.tableName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-create",disabled:r||i.policyName.trim()===""||i.tableName.trim()==="",onClick:N,size:"xs",type:"button",children:a(r?"Creating\u2026":"Create policy file")},void 0,!1),(0,e.jsxDEV)(k,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")},void 0,!1)]},void 0,!0),t==="wire"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-wrap items-end gap-2","data-testid":"policy-scaffolder-wire-form",children:[(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-file",children:a("Procedure file path")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-file",id:"policy-scaffolder-file",name:"filePath",onChange:p,value:i.filePath},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-export",children:a("Exported procedure")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-export",id:"policy-scaffolder-export",name:"exportName",onChange:p,value:i.exportName},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("div",{className:"flex flex-col gap-1 text-xs",children:[(0,e.jsxDEV)(C,{htmlFor:"policy-scaffolder-policies",children:a("Policy set identifier")},void 0,!1),(0,e.jsxDEV)(E,{"data-testid":"policy-scaffolder-policies",id:"policy-scaffolder-policies",name:"policies",onChange:p,value:i.policies},void 0,!1)]},void 0,!0),(0,e.jsxDEV)(k,{"data-testid":"policy-scaffolder-apply",disabled:r||i.filePath.trim()===""||i.exportName.trim()===""||i.policies.trim()==="",onClick:g,size:"xs",type:"button",children:a(r?"Wiring\u2026":"Wire RLS")},void 0,!1),(0,e.jsxDEV)(k,{onClick:v,size:"xs",type:"button",variant:"ghost",children:a("Cancel")},void 0,!1)]},void 0,!0),o?.kind==="error"&&(0,e.jsxDEV)("p",{className:"mt-3 text-sm text-destructive","data-testid":"policy-scaffolder-error",role:"alert",children:o.message},void 0,!1),o?.kind==="needs-manual-edit"&&(0,e.jsxDEV)("p",{className:"mt-3 text-sm text-amber-600 dark:text-amber-500","data-testid":"policy-scaffolder-manual",role:"alert",children:a("This change must be made by hand \u2014 the scaffolder only adds new, deny-by-default rules.")},void 0,!1),o?.kind==="ok"&&(0,e.jsxDEV)("div",{className:"mt-3 flex flex-col gap-1","data-testid":"policy-scaffolder-ok",children:[(0,e.jsxDEV)("p",{className:"text-sm text-emerald-600 dark:text-emerald-500",children:a("Scaffolded {label} and reran codegen. Fill in the `when` predicates before relying on it.",{label:o.label})},void 0,!1),o.diagnostics.length>0&&(0,e.jsxDEV)("ul",{className:"flex flex-col gap-0.5","data-testid":"policy-scaffolder-diagnostics",children:o.diagnostics.map(h=>(0,e.jsxDEV)("li",{className:"font-mono text-[11px] text-destructive",children:h},h,!1))},void 0,!1)]},void 0,!0)]},void 0,!0)]},void 0,!0)},"PolicyScaffolder"),He=n(({functions:a,runAsIdentity:t=!1,schemaEditable:l=!1}={})=>{let r=O(),[s,o]=(0,c.useState)(void 0),d=n((i,x,p)=>{p!==""&&o(v=>({functionPath:p,nonce:(v?.nonce??0)+1}))},"onProbe");return(0,e.jsxDEV)("div",{className:"flex flex-col gap-8","data-testid":"lunora-permissions",children:[(0,e.jsxDEV)("section",{className:"flex flex-col gap-3",children:[(0,e.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,e.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r("Permissions")},void 0,!1)},void 0,!1),(0,e.jsxDEV)(Ne,{onProbe:d},void 0,!1)]},void 0,!0),(0,e.jsxDEV)("section",{className:"flex flex-col gap-3",children:(0,e.jsxDEV)(j,{className:"gap-0 py-0",children:[(0,e.jsxDEV)("header",{className:"border-b border-border px-4 py-3",children:(0,e.jsxDEV)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:r("Probe")},void 0,!1)},void 0,!1),(0,e.jsxDEV)(q,{className:"px-4 py-4",children:[(0,e.jsxDEV)("p",{className:"mb-3 text-sm text-muted-foreground",children:r("Pick a function and an identity, then run it to see the access outcome.")},void 0,!1),(0,e.jsxDEV)(Pe,{functions:a,prefill:s,runAsIdentity:t},void 0,!1)]},void 0,!0)]},void 0,!0)},void 0,!1),l&&(0,e.jsxDEV)("section",{className:"flex flex-col gap-2",children:(0,e.jsxDEV)(Ee,{},void 0,!1)},void 0,!1)]},void 0,!0)},"PermissionsPanel");export{He as PermissionsPanel};