@lunora/studio 1.0.0-alpha.80 → 1.0.0-alpha.82
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.
- package/dist/index.d.ts +35 -6
- package/dist/index.js +1 -1
- package/dist/mount.js +1 -1
- package/dist/packem_chunks/AdvisorHealthPanel.js +1 -0
- package/dist/packem_chunks/ApiTab.js +1 -1
- package/dist/packem_chunks/AuditPanel.js +1 -1
- package/dist/packem_chunks/ExportImportPanel.js +1 -1
- package/dist/packem_chunks/FileBrowser.js +1 -1
- package/dist/packem_chunks/FunctionRunner.js +1 -1
- package/dist/packem_chunks/FunctionStatsPanel.js +1 -1
- package/dist/packem_chunks/HealthPanel.js +1 -1
- package/dist/packem_chunks/InsightsPanel.js +1 -1
- package/dist/packem_chunks/LogsPanel.js +1 -1
- package/dist/packem_chunks/MailPanel.js +2 -2
- package/dist/packem_chunks/MetricsPanel.js +1 -1
- package/dist/packem_chunks/NotificationsPanel.js +1 -1
- package/dist/packem_chunks/PitrPanel.js +1 -1
- package/dist/packem_chunks/SchemaViewer.js +1 -1
- package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -1
- package/dist/packem_chunks/SettingsPanel.js +1 -1
- package/dist/packem_chunks/SqlEditorPanel.js +6 -6
- package/dist/packem_chunks/TableEditor.js +1 -1
- package/dist/packem_chunks/agents-panel.js +1 -1
- package/dist/packem_chunks/auth-audit-panel.js +1 -1
- package/dist/packem_chunks/containers-panel.js +1 -1
- package/dist/packem_chunks/dashboards-panel.js +1 -1
- package/dist/packem_chunks/fanout-panel.js +1 -1
- package/dist/packem_chunks/flags-panel.js +1 -1
- package/dist/packem_chunks/issues-panel.js +1 -1
- package/dist/packem_chunks/kv-browser.js +1 -1
- package/dist/packem_chunks/log-drains-panel.js +1 -1
- package/dist/packem_chunks/migrations-route.js +1 -1
- package/dist/packem_chunks/organizations-panel.js +1 -1
- package/dist/packem_chunks/payments-panel.js +1 -1
- package/dist/packem_chunks/permissions-panel.js +1 -1
- package/dist/packem_chunks/queues-panel.js +1 -1
- package/dist/packem_chunks/rls-panel.js +1 -1
- package/dist/packem_chunks/storage-rules-panel.js +1 -1
- package/dist/packem_chunks/subscriptions-panel.js +1 -1
- package/dist/packem_chunks/traces-panel.js +1 -1
- package/dist/packem_chunks/workflows-panel.js +1 -1
- package/dist/packem_shared/ADMIN_FUNCTIONS-CZESgd10.js +1 -0
- package/dist/packem_shared/{ApiDocsPanel-DfUQ1ZAF.js → ApiDocsPanel-fYS9NiLg.js} +1 -1
- package/dist/packem_shared/DataBrowser-C4J4gVUu.js +1 -0
- package/dist/packem_shared/GlobalDataBrowser-CSttudUx.js +1 -0
- package/dist/packem_shared/{HomePanel-Dcs4a3Ax.js → HomePanel-BYsfMhKh.js} +1 -1
- package/dist/packem_shared/{MigrationsPanel-C2OnsqRb.js → MigrationsPanel-2JbQ2HwG.js} +1 -1
- package/dist/packem_shared/{Studio-B26_pT8J.js → Studio-Ba9x0dG_.js} +1 -1
- package/dist/packem_shared/{StudioApp-bXhJeLlZ.js → StudioApp-B_PRdg4h.js} +1 -1
- package/dist/packem_shared/{cf-links-gbDy51nR.js → cf-links-Dmg86v1D.js} +1 -1
- package/dist/packem_shared/{home-panel-CU6MWLHG.js → home-panel-B60-5YfI.js} +1 -1
- package/dist/packem_shared/stat-card-fm_TF1mo.js +1 -0
- package/dist/packem_shared/studio-CPuoAmjh.js +2 -0
- package/dist/packem_shared/table-list-sidebar-BRv3hTLX.js +1 -0
- package/dist/packem_shared/{use-sql-assistant-CHEu2-Rk.js → use-sql-assistant-BLG9unQN.js} +1 -1
- package/dist/standalone/{chunk-RQ7AFLIV.js → chunk-2QSHLBCO.js} +1 -1
- package/dist/standalone/{chunk-33CL6OHR.js → chunk-5SQRE3VR.js} +1 -1
- package/dist/standalone/{chunk-5CVJS7ON.js → chunk-6QP5N57V.js} +1 -1
- package/dist/standalone/chunk-73GRNONE.js +1 -0
- package/dist/standalone/{chunk-JRMMYIAF.js → chunk-74DN6HIE.js} +1 -1
- package/dist/standalone/{chunk-KZ3ALMMP.js → chunk-7H7LZRLP.js} +1 -1
- package/dist/standalone/{chunk-FOBRNWBG.js → chunk-7YKWP4QK.js} +1 -1
- package/dist/standalone/{chunk-T7IUZIF4.js → chunk-7ZUQE3KU.js} +1 -1
- package/dist/standalone/{chunk-P4YLIBCN.js → chunk-A3KUNMU6.js} +1 -1
- package/dist/standalone/{chunk-S2VVR7HI.js → chunk-B2H5DK55.js} +1 -1
- package/dist/standalone/{chunk-FNPJ7GJZ.js → chunk-BDJCCVB6.js} +1 -1
- package/dist/standalone/{chunk-KJB7YAKB.js → chunk-C7EOC2WS.js} +1 -1
- package/dist/standalone/{chunk-KLQYC6CC.js → chunk-CGLS2ILT.js} +1 -1
- package/dist/standalone/chunk-CPSGJSHY.js +1 -0
- package/dist/standalone/{chunk-RJP3WBZ4.js → chunk-CU6SCYQ7.js} +1 -1
- package/dist/standalone/chunk-DGBJE7YF.js +4 -0
- package/dist/standalone/{chunk-G6PSMGLD.js → chunk-DOZAODYC.js} +1 -1
- package/dist/standalone/chunk-EQZTSISX.js +1 -0
- package/dist/standalone/chunk-ERMTJYQF.js +1 -0
- package/dist/standalone/{chunk-QZGTH6WH.js → chunk-GB6LP6UJ.js} +1 -1
- package/dist/standalone/{chunk-GYKVBKT5.js → chunk-GM67EQJU.js} +1 -1
- package/dist/standalone/chunk-GN567L2T.js +1 -0
- package/dist/standalone/{chunk-L7R74G63.js → chunk-GWHM4C4N.js} +1 -1
- package/dist/standalone/{chunk-JLOWAJRR.js → chunk-GWQIPIYA.js} +1 -1
- package/dist/standalone/{chunk-6YTSSIEJ.js → chunk-HEB6GQQ6.js} +1 -1
- package/dist/standalone/chunk-HOR3JLUY.js +6 -0
- package/dist/standalone/{chunk-7LWMHTJ3.js → chunk-I6A5C46N.js} +1 -1
- package/dist/standalone/{chunk-H6YOWRFB.js → chunk-KAPSM6AI.js} +1 -1
- package/dist/standalone/{chunk-6NY7SPDL.js → chunk-KSRP7GZV.js} +1 -1
- package/dist/standalone/chunk-LLF5KWDZ.js +2 -0
- package/dist/standalone/chunk-NRCXRCJX.js +1 -0
- package/dist/standalone/chunk-OE465DVY.js +1 -0
- package/dist/standalone/{chunk-HJ3E4YF5.js → chunk-PXYWCZ7T.js} +1 -1
- package/dist/standalone/{chunk-PZVU2QMX.js → chunk-Q7QTRX2E.js} +1 -1
- package/dist/standalone/{chunk-E3NMX2VU.js → chunk-S4ILMYP5.js} +1 -1
- package/dist/standalone/{chunk-KC44QCN6.js → chunk-SDQBPFLO.js} +1 -1
- package/dist/standalone/chunk-SV52HB7D.js +1 -0
- package/dist/standalone/{chunk-WBYSSCV2.js → chunk-T242WITF.js} +1 -1
- package/dist/standalone/{chunk-VHWOCPRK.js → chunk-TBRZQICB.js} +1 -1
- package/dist/standalone/{chunk-6LNCYDZO.js → chunk-TQXZ7LG4.js} +1 -1
- package/dist/standalone/chunk-U457LHCO.js +1 -0
- package/dist/standalone/chunk-UBPYN4DU.js +1 -0
- package/dist/standalone/{chunk-34D36UCW.js → chunk-UDVB4URN.js} +1 -1
- package/dist/standalone/{chunk-6IKEW5LG.js → chunk-UETNCBWU.js} +1 -1
- package/dist/standalone/{chunk-OY2RVUZL.js → chunk-UU2QJMGJ.js} +1 -1
- package/dist/standalone/chunk-VC5SSRUP.js +1 -0
- package/dist/standalone/{chunk-GXSZH7VJ.js → chunk-VCXH5V3Z.js} +1 -1
- package/dist/standalone/{chunk-RNRJKBY3.js → chunk-VTLYN3CX.js} +1 -1
- package/dist/standalone/{chunk-3O3HAXW7.js → chunk-WDG4WFUV.js} +1 -1
- package/dist/standalone/{chunk-3STOIE7Q.js → chunk-WJGOI3FZ.js} +1 -1
- package/dist/standalone/{chunk-W6SAOXGH.js → chunk-WLZ7YPBH.js} +1 -1
- package/dist/standalone/{chunk-2VDFV5TD.js → chunk-WQVVA5NB.js} +1 -1
- package/dist/standalone/{chunk-TTGOOYLF.js → chunk-WZ3B3MEV.js} +1 -1
- package/dist/standalone/{chunk-SKW6J4VW.js → chunk-Y7A5NCXT.js} +1 -1
- package/dist/standalone/{chunk-IHQC7J35.js → chunk-YSRW5RNU.js} +1 -1
- package/dist/standalone/{chunk-GAX5IZYG.js → chunk-YTA2HGRD.js} +1 -1
- package/dist/standalone/chunk-ZHBIKP5G.js +1 -0
- package/dist/standalone/{chunk-CCVXYYPJ.js → chunk-ZK3XKFCI.js} +1 -1
- package/dist/standalone/studio.js +1 -1
- package/dist/styles.css +1 -1
- package/package.json +5 -5
- package/dist/packem_shared/ADMIN_FUNCTIONS-BnD4aovm.js +0 -1
- package/dist/packem_shared/DataBrowser-CuRlztBz.js +0 -1
- package/dist/packem_shared/GlobalDataBrowser-DB-vQ2_H.js +0 -1
- package/dist/packem_shared/studio-q-C-acL7.js +0 -2
- package/dist/packem_shared/table-list-sidebar-BFkSQwlB.js +0 -1
- package/dist/standalone/chunk-2GA4SHO7.js +0 -1
- package/dist/standalone/chunk-2WOIRKEI.js +0 -1
- package/dist/standalone/chunk-6PNPIW6I.js +0 -2
- package/dist/standalone/chunk-6YI4WJO4.js +0 -1
- package/dist/standalone/chunk-A74VSSA2.js +0 -4
- package/dist/standalone/chunk-CT5MMH4O.js +0 -1
- package/dist/standalone/chunk-GB6U2BPU.js +0 -1
- package/dist/standalone/chunk-GEDMLM4A.js +0 -6
- package/dist/standalone/chunk-S252DAFP.js +0 -1
- package/dist/standalone/chunk-XS5LDR52.js +0 -1
- package/dist/standalone/chunk-YJYTMQJI.js +0 -1
- package/dist/standalone/chunk-Z2V42P7J.js +0 -1
- /package/dist/standalone/{chunk-SKHEGARW.js → chunk-XF2B7P5A.js} +0 -0
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import{a as et}from"./chunk-D2RKH6JK.js";import{a as Ve,b as Xe}from"./chunk-DOZAODYC.js";import{a as Ze}from"./chunk-WLZ7YPBH.js";import"./chunk-7H7LZRLP.js";import"./chunk-SD4BERSA.js";import"./chunk-IC4L6G56.js";import"./chunk-ESVP44Y3.js";import"./chunk-I6A5C46N.js";import"./chunk-2QSHLBCO.js";import"./chunk-BGBLQ563.js";import"./chunk-IVFHIQOT.js";import"./chunk-QBWRC5YX.js";import"./chunk-CU55Y5TV.js";import"./chunk-4UOFSGUS.js";import"./chunk-ILNELDFC.js";import"./chunk-QXXIJAD5.js";import{a as Fe}from"./chunk-X665E2HU.js";import{b as je}from"./chunk-GRL5MG3Z.js";import{d as Ce,e as Me,f as De}from"./chunk-7T7UOTYK.js";import{a as He}from"./chunk-LFKCLLPT.js";import{R as Qe}from"./chunk-CFPZYHPY.js";import"./chunk-T6VMSOBB.js";import"./chunk-7QIFDWQV.js";import"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import{a as We}from"./chunk-XXQUMVWH.js";import{a as we}from"./chunk-ERMTJYQF.js";import"./chunk-XDAT7LHC.js";import{f as Ne}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as Ke,b as Ue,c as Ge,d as Ae,e as Je,f as Ye}from"./chunk-MIQTKZAR.js";import{d as ne,f as ve,g as ye,h as Oe,m as ce}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as i,e as _e,f as ut,g as mt,h as ht,j as ue}from"./chunk-3XIESWL4.js";var U=_e(mt(),1);var Q=_e(ut(),1);var c=_e(ht(),1);var ft=["ORDER BY","GROUP BY","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN","EXPLAIN QUERY PLAN","SELECT","DISTINCT","FROM","WHERE","HAVING","LIMIT","OFFSET","JOIN","ON","AND","OR","AS","ASC","DESC","WITH","UNION","EXPLAIN"],pt=["FROM","WHERE","ORDER BY","GROUP BY","HAVING","LIMIT","OFFSET","UNION","JOIN","LEFT JOIN","RIGHT JOIN","INNER JOIN","OUTER JOIN","CROSS JOIN"],Re=String.fromCodePoint(0),bt=new RegExp(`${Re}${String.raw`(\d+)`}${Re}`,"gu"),gt=ft.map(l=>({pattern:new RegExp(String.raw`\b${l.replaceAll(" ",String.raw`\s+`)}\b`,"giu"),replacement:l})),xt=pt.map(l=>({pattern:new RegExp(String.raw`\s+${l.replaceAll(" ",String.raw`\s+`)}\b`,"gu"),replacement:`
|
|
2
|
+
${l}`})),vt=i(l=>{let e=[],t=l.replaceAll(/'(?:[^']|'')*'/gu,n=>(e.push(n),`${Re}${(e.length-1).toString()}${Re}`)).replaceAll(/\s+/gu," ").trim();for(let{pattern:n,replacement:r}of gt)t=t.replaceAll(n,r);for(let{pattern:n,replacement:r}of xt)t=t.replaceAll(n,r);return t=t.replaceAll(bt,(n,r)=>e[Number(r)]??""),t},"wt"),yt=/^(?:explain\s+(?:query\s+plan\s+)?)?(?:select|with)\b/iu,wt=/\b(?:alter|attach|create|delete|detach|drop|insert|pragma|reindex|replace|truncate|update|vacuum)\b/iu,St=/^\w+/u,kt=/;\s*$/u,Nt=/\s/u,Ct=i((l,e)=>{let t=e+2;for(;t<l.length&&l[t]!==`
|
|
3
|
+
`;)t+=1;return t},"$t"),qt=i((l,e)=>{let t=l.indexOf("*/",e+2);return t===-1?-1:t+2},"Tt"),It=i(l=>{let e=0;for(;e<l.length;){let t=l[e];if(t!==void 0&&Nt.test(t))e+=1;else if(t==="-"&&l[e+1]==="-")e=Ct(l,e);else if(t==="/"&&l[e+1]==="*"){let n=qt(l,e);if(n===-1)break;e=n}else break}return e},"Rt"),Rt=i(l=>{let e=It(l),t=l.slice(e).trimEnd();if(t==="")return{code:"SQL_EMPTY",message:"the query is empty"};let n=t.replace(kt,""),r=n.indexOf(";");if(r!==-1)return{code:"SQL_MULTIPLE_STATEMENTS",length:1,message:"only a single statement may be run",offset:e+r};let o="the SQL editor is read-only \u2014 only SELECT / WITH / EXPLAIN queries are allowed";if(!yt.test(n))return{code:"SQL_NOT_READONLY",length:St.exec(n)?.[0].length??1,message:o,offset:e};let s=wt.exec(n);if(s!==null)return{code:"SQL_NOT_READONLY",length:s[0].length,message:`${o} (\`${s[0].toUpperCase()}\` is not allowed)`,offset:e+s.index}},"It"),Tt=/\b(?:from|join)\s+([a-z_][\w$]*)(?:\s+(?:as\s+)?([a-z_][\w$]*))?/giu,Lt=/(?:\bwith\s+(?:recursive\s+)?|,\s*)([a-z_][\w$]*)\s+as\s*\(/giu,Et=new Set(["cross","full","group","having","inner","join","left","limit","offset","on","order","right","union","using","where","window"]),_t=/[^\n]/gu,Ot=i((l,e)=>{let t=l[e];if(t==="'"){let n=e+1;for(;n<l.length&&l[n]!=="'";)n+=1;return Math.min(n+1,l.length)}if(t==="-"&&l[e+1]==="-"){let n=l.indexOf(`
|
|
4
|
+
`,e);return n===-1?l.length:n}if(t==="/"&&l[e+1]==="*"){let n=l.indexOf("*/",e+2);return n===-1?l.length:n+2}return-1},"Mt"),Mt=i(l=>{let e="",t=0;for(;t<l.length;){let n=Ot(l,t);n===-1?(e+=l.slice(t,t+1),t+=1):(e+=l.slice(t,n).replaceAll(_t," "),t=n)}return e},"Dt"),Dt=i(l=>{let e=new Set;for(let t of l.matchAll(Lt))e.add((t[1]??"").toLowerCase());return e},"At"),At=i((l,e)=>{let t=new Map;for(let n of l.matchAll(Tt)){let r=(n[1]??"").toLowerCase(),o=(n[2]??"").toLowerCase();e.has(r)&&(t.set(r,r),o!==""&&!Et.has(o)&&t.set(o,r))}return t},"Bt"),rt=i((l,e)=>{let t=Mt(l),n=new Set(e.map(r=>r.toLowerCase()));return{ctes:Dt(t),masked:t,targets:At(t,n)}},"Ue"),$t=/^(?:__lunora|sqlite_)/iu,zt=/\b(?:from|join)\s+([a-z_][\w$]*)/giu,Bt=/\b([a-z_][\w$]*)\.([a-z_][\w$]*)/giu,Pt=new Set(["cross","full","group","having","inner","join","lateral","left","limit","offset","order","right","select","union","where","window"]),Qt=i((l,e,t)=>{let n=[];for(let r of l.matchAll(zt)){let o=r[1]??"",s=o.toLowerCase();!e.has(s)&&!t.has(s)&&!Pt.has(s)&&!$t.test(o)&&n.push({length:o.length,message:`unknown table \`${o}\``,offset:r.index+r[0].length-o.length,severity:"error",source:"schema"})}return n},"Qt"),jt=i((l,e,t)=>{let n=[],r=new Map;for(let[o,s]of Object.entries(e.columns))r.set(o.toLowerCase(),new Set(s.map(m=>m.toLowerCase())));for(let o of l.matchAll(Bt)){let s=(o[1]??"").toLowerCase(),m=o[2]??"",a=t.get(s),d=a===void 0?void 0:r.get(a);d!==void 0&&!d.has(m.toLowerCase())&&n.push({length:m.length,message:`\`${a??""}\` has no column \`${m}\``,offset:o.index+o[0].length-m.length,severity:"error",source:"schema"})}return n},"jt"),Ft=i((l,e)=>{if(l.trim()==="")return[];let t=Rt(l);if(t!==void 0)return t.code==="SQL_EMPTY"?[]:[{length:t.length,message:t.message,offset:t.offset,severity:"error",source:"gate"}];let{ctes:n,masked:r,targets:o}=rt(l,e.tables),s=new Set(e.tables.map(m=>m.toLowerCase()));return[...Qt(r,s,n),...jt(r,e,o)]},"Wt"),Ht=ve(we.lintSql),Wt=600,Kt=i((l,e,t)=>{let n=Ne(),[r,o]=(0,Q.useState)([]),s=(0,Q.useMemo)(()=>Ft(l,e),[l,e]),m=He(l,Wt),a=s.some(p=>p.source==="gate")||m.trim()==="",d=(0,Q.useCallback)(async p=>{try{let b=await n.query(Ht,{sql:m},ye(t));p.cancelled||o(b.diagnostics??[])}catch{p.cancelled||o([])}},[n,m,t]);(0,Q.useEffect)(()=>{if(a){o([]);return}let p={cancelled:!1};return ce(d(p)),()=>{p.cancelled=!0}},[d,a]);let f=m===l;return(0,Q.useMemo)(()=>f?[...s,...r]:s,[s,r,f])},"Yt"),qe=8,Ut=["AND","ASC","AS","BY","COUNT","DESC","DISTINCT","EXPLAIN","FROM","GROUP","HAVING","INNER","JOIN","LEFT","LIKE","LIMIT","NOT","NULL","OFFSET","ON","ORDER","OR","QUERY","SELECT","WHERE","WITH"],Gt=new Set(["AND","BY","HAVING","ON","OR","SELECT","WHERE"]),Jt=/[\w$]/,lt=i(l=>l!==void 0&&Jt.test(l),"Ye"),st=i(l=>{let e=l.length;for(;e>0&<(l[e-1]);)e-=1;return l.slice(e)},"Je"),at=i((l,e)=>{let t=e;for(;t>0&<(l[t-1]);)t-=1;return{end:e,start:t,text:l.slice(t,e)}},"Ge"),tt=i((l,e)=>{let t=l.slice(0,e).trimEnd();return t.endsWith(".")||Gt.has(st(t).toUpperCase())},"Fe"),Yt=i((l,e,t)=>{let n=l.slice(0,e);if(!n.endsWith("."))return;let r=st(n.slice(0,-1));if(r!=="")return rt(l,t).targets.get(r.toLowerCase())??r},"Xt"),ze=i((l,e)=>l.toLowerCase().startsWith(e.toLowerCase()),"De"),nt=i((l,e,t,n)=>{let r=[];for(let o of l)if(ze(o,e)&&(r.push(n(o)),r.length>=t))break;return r},"Qe"),Vt=i((l,e,t)=>{let n=new Map;for(let[r,o]of Object.entries(l.columns))for(let s of o)if(ze(s,e)&&!n.has(s)&&(n.set(s,r),n.size>=t))return[...n].map(([m,a])=>({detail:a,kind:"column",label:m}));return[...n].map(([r,o])=>({detail:o,kind:"column",label:r}))},"Zt"),Xt=i((l,e,t)=>{let n=at(l,e),r=Yt(l,n.start,t.tables);if(r!==void 0){let a=t.columns[r]??t.columns[r.toLowerCase()]??[];return nt(a,n.text,qe,d=>({detail:r,kind:"column",label:d}))}if(n.text===""&&!tt(l,n.start))return[];let o=nt(t.tables,n.text,qe,a=>({kind:"table",label:a})),s=Vt(t,n.text,qe),m=Ut.flatMap(a=>n.text!==""&&ze(a,n.text)&&a.toLowerCase()!==n.text.toLowerCase()?[{kind:"keyword",label:a}]:[]);return(tt(l,n.start)?[...s,...o,...m]:[...o,...s,...m]).slice(0,qe)},"en"),Zt=i((l,e,t)=>{let n=at(l,e),r=l.slice(0,n.start)+t.label+l.slice(n.end);return{caret:n.start+t.label.length,value:r}},"tn"),en=["boxSizing","borderBottomWidth","borderLeftWidth","borderRightWidth","borderTopWidth","fontFamily","fontSize","fontStyle","fontWeight","letterSpacing","lineHeight","paddingBottom","paddingLeft","paddingRight","paddingTop","tabSize","textIndent","textTransform","width","wordSpacing"],tn=i((l,e)=>{let t=globalThis.getComputedStyle(l),n=globalThis.document.createElement("div"),{style:r}=n;r.position="absolute",r.visibility="hidden",r.whiteSpace="pre-wrap",r.overflowWrap="break-word";for(let a of en)r[a]=t[a];n.textContent=l.value.slice(0,Math.max(0,e));let o=globalThis.document.createElement("span");o.textContent=l.value.slice(Math.max(0,e))||".",n.append(o),globalThis.document.body.append(n);let s=o.offsetLeft-l.scrollLeft,m=o.offsetTop-l.scrollTop;return n.remove(),{left:s,top:m}},"on"),nn=i((l,e,t)=>{let n=(0,U.c)(16),[r,o]=(0,Q.useState)(null),s;n[0]!==l||n[1]!==e?(s=i((w,g)=>{let h=Xt(w,g,l);if(h.length===0){o(null);return}let S=e.current,{left:C,top:k}=S===null?{left:0,top:0}:tn(S,g);o(q=>q!==null&&q.active===0&&q.left===C&&q.top===k&&q.suggestions.length===h.length&&q.suggestions.every((I,O)=>{let L=h.at(O);return I.kind===L?.kind&&I.label===L.label&&I.detail===L.detail})?q:{active:0,left:C,suggestions:h,top:k})},"s"),n[0]=l,n[1]=e,n[2]=s):s=n[2];let m=s,a;n[3]===Symbol.for("react.memo_cache_sentinel")?(a=i(()=>{o(null)},"a"),n[3]=a):a=n[3];let d=a,f;n[4]===Symbol.for("react.memo_cache_sentinel")?(f=i(w=>{o(g=>{if(g===null)return g;let h=g.suggestions.length,S=(g.active+w+h)%h;return{...g,active:S}})},"f"),n[4]=f):f=n[4];let p=f,b;n[5]!==t||n[6]!==r||n[7]!==e?(b=i(w=>{let g=e.current;if(r===null||g===null)return!1;let h=r.suggestions[w??r.active];if(h===void 0)return!1;let S=Zt(g.value,g.selectionStart,h);return t(S.value),o(null),requestAnimationFrame(()=>{let C=e.current;C!==null&&(C.focus(),C.setSelectionRange(S.caret,S.caret))}),!0},"p"),n[5]=t,n[6]=r,n[7]=e,n[8]=b):b=n[8];let v=b,u;n[9]!==v?(u=i(()=>v(),"c"),n[9]=v,n[10]=u):u=n[10];let x=u,y;return n[11]!==x||n[12]!==v||n[13]!==m||n[14]!==r?(y={close:d,commit:x,commitAt:v,move:p,refresh:m,state:r},n[11]=x,n[12]=v,n[13]=m,n[14]=r,n[15]=y):y=n[15],y},"rn"),on={column:"column",keyword:"keyword",table:"table"},rn=20,ln=i(l=>{let e=(0,U.c)(17),{listboxId:t,onPick:n,state:r}=l,o=ne(),s;e[0]!==r?(s=r===null?void 0:{left:r.left,top:r.top+rn},e[0]=r,e[1]=s):s=e[1];let m=s;if(r===null)return null;let a;if(e[2]!==t||e[3]!==n||e[4]!==r.active||e[5]!==r.suggestions||e[6]!==o){let f;e[8]!==t||e[9]!==n||e[10]!==r.active||e[11]!==o?(f=i((p,b)=>(0,c.jsxs)("li",{"aria-selected":b===r.active,className:ue("flex cursor-pointer items-center gap-2 px-2 py-1 text-[13px]",b===r.active?"bg-accent text-accent-foreground":"text-foreground"),"data-testid":"sql-autocomplete-item",id:`${t}-opt-${b.toString()}`,onMouseDown:i(v=>{v.preventDefault(),n(b)},"onMouseDown"),role:"option",children:[(0,c.jsx)("span",{className:"truncate font-mono",children:p.label}),p.detail!==void 0&&(0,c.jsx)("span",{className:"ms-auto truncate text-xs text-muted-foreground",children:p.detail}),(0,c.jsx)("span",{className:"shrink-0 font-mono text-[10px] tracking-wide text-muted-foreground/70 uppercase",children:o(on[p.kind])})]},`${p.kind}:${p.label}`),"f"),e[8]=t,e[9]=n,e[10]=r.active,e[11]=o,e[12]=f):f=e[12],a=r.suggestions.map(f),e[2]=t,e[3]=n,e[4]=r.active,e[5]=r.suggestions,e[6]=o,e[7]=a}else a=e[7];let d;return e[13]!==t||e[14]!==m||e[15]!==a?(d=(0,c.jsx)("ul",{className:"absolute z-30 max-h-56 w-72 overflow-auto rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-autocomplete",id:t,role:"listbox",style:m,children:a}),e[13]=t,e[14]=m,e[15]=a,e[16]=d):d=e[16],d},"an"),sn=ve(we.listTables),an=ve(we.readTablePage),cn=i(l=>{let e=(0,U.c)(16),t=Ne(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let[r,o]=(0,Q.useState)(n),s;e[1]===Symbol.for("react.memo_cache_sentinel")?(s={},e[1]=s):s=e[1];let[m,a]=(0,Q.useState)(s),d;e[2]===Symbol.for("react.memo_cache_sentinel")?(d=new Set,e[2]=d):d=e[2];let f=(0,Q.useRef)(d),p,b;e[3]!==t||e[4]!==l?(p=i(()=>{let g={cancelled:!1};return ce((async()=>{try{let h=await t.query(sn,{},ye(l));g.cancelled||(o(h.map(un)),a({}),f.current=new Set)}catch{g.cancelled||(o([]),a({}),f.current=new Set)}})()),()=>{g.cancelled=!0}},"h"),b=[t,l],e[3]=t,e[4]=l,e[5]=p,e[6]=b):(p=e[5],b=e[6]),(0,Q.useEffect)(p,b);let v;e[7]!==t||e[8]!==l?(v=i(g=>{f.current.has(g)||(f.current.add(g),ce((async()=>{try{let h=await t.query(an,{limit:1,offset:0,table:g},ye(l));a(S=>({...S,[g]:h.columns}))}catch{f.current.delete(g)}})()))},"x"),e[7]=t,e[8]=l,e[9]=v):v=e[9];let u=v,x;e[10]!==m||e[11]!==r?(x={columns:m,tables:r},e[10]=m,e[11]=r,e[12]=x):x=e[12];let y=x,w;return e[13]!==u||e[14]!==y?(w={probe:u,schema:y},e[13]=u,e[14]=y,e[15]=w):w=e[15],w},"un"),$e=/\b(?:from|join|update|into)\s+([a-z_][\w$]*)|\b([a-z_][\w$]*)\s*\./gi,dn=i(l=>{let e=new Set;$e.lastIndex=0;let t=$e.exec(l);for(;t!==null;)e.add(t[1]??t[2]),t=$e.exec(l);return[...e]},"mn");function un(l){return l.name}i(un,"fn");var mn=i(l=>{let e=(0,U.c)(34),{onSubmit:t,probe:n,schema:r,setDraft:o}=l,s=(0,Q.useId)(),m=(0,Q.useRef)(null),a=(0,Q.useRef)(null),d=(0,Q.useRef)(null),f=nn(r,d,o),{close:p,commit:b,commitAt:v,move:u,refresh:x,state:y}=f,w;e[0]!==v?(w=i(N=>{v(N)},"y"),e[0]=v,e[1]=w):w=e[1];let g=w,h;e[2]!==x?(h=i(()=>{let N=d.current;N!==null&&N===document.activeElement&&x(N.value,N.selectionStart)},"m"),e[2]=x,e[3]=h):h=e[3];let S;e[4]!==x||e[5]!==r?(S=[x,r],e[4]=x,e[5]=r,e[6]=S):S=e[6],(0,Q.useEffect)(h,S);let C;e[7]!==n||e[8]!==x||e[9]!==o?(C=i(N=>{let{selectionStart:B,value:j}=N.target;o(j);for(let H of dn(j))n(H);x(j,B)},"k"),e[7]=n,e[8]=x,e[9]=o,e[10]=C):C=e[10];let k=C,q;e[11]!==x?(q=i(N=>{let B=N.currentTarget;x(B.value,B.selectionStart)},"C"),e[11]=x,e[12]=q):q=e[12];let I=q,O;e[13]!==y||e[14]!==p||e[15]!==b||e[16]!==u||e[17]!==t?(O=i(N=>{if(y!==null){if(N.key==="ArrowDown"){N.preventDefault(),u(1);return}if(N.key==="ArrowUp"){N.preventDefault(),u(-1);return}if(N.key==="Escape"){N.preventDefault(),p();return}if((N.key==="Enter"||N.key==="Tab")&&!N.metaKey&&!N.ctrlKey&&b()){N.preventDefault();return}}(N.metaKey||N.ctrlKey)&&N.key==="Enter"&&(N.preventDefault(),t())},"L"),e[13]=y,e[14]=p,e[15]=b,e[16]=u,e[17]=t,e[18]=O):O=e[18];let L=O,T;e[19]!==p?(T=i(()=>{requestAnimationFrame(()=>{p()})},"T"),e[19]=p,e[20]=T):T=e[20];let E=T,M;e[21]===Symbol.for("react.memo_cache_sentinel")?(M=i(N=>{let{scrollLeft:B,scrollTop:j}=N.currentTarget;m.current!==null&&(m.current.scrollTop=j),a.current!==null&&(a.current.scrollTop=j,a.current.scrollLeft=B)},"_"),e[21]=M):M=e[21];let D=M,R;e[22]===Symbol.for("react.memo_cache_sentinel")?(R=i(N=>{let B=d.current;B===null||N.offset===void 0||(B.focus(),B.setSelectionRange(N.offset,N.offset+(N.length??0)))},"$"),e[22]=R):R=e[22];let A=R,_;e[23]!==k||e[24]!==E||e[25]!==L||e[26]!==I?(_={onBlur:E,onChange:k,onKeyDown:L,onScroll:D,onSelect:I},e[23]=k,e[24]=E,e[25]=L,e[26]=I,e[27]=_):_=e[27];let $;return e[28]!==y||e[29]!==p||e[30]!==s||e[31]!==g||e[32]!==_?($={autocompleteState:y,closeAutocomplete:p,handlers:_,listboxId:s,onPickSuggestion:g,editorRef:d,gutterRef:m,overlayRef:a,revealDiagnostic:A},e[28]=y,e[29]=p,e[30]=s,e[31]=g,e[32]=_,e[33]=$):$=e[33],$},"hn"),hn="lunora-studio-sql-tabs",fn="lunora-studio-sql-active-tab",Be=12,Se=i((l="",e="")=>({activeId:null,id:De("tab"),name:e,sql:l}),"ve"),pn=i(()=>Me(fn,""),"gn"),bn=i(l=>{let e=(0,U.c)(16),[t,n]=Ce(hn),[r,o]=pn(),[s]=(0,Q.useState)(l),m,a;e[0]!==s||e[1]!==n||e[2]!==t.length?(m=i(()=>{t.length===0&&n([s])},"d"),a=[s,n,t.length],e[0]=s,e[1]=n,e[2]=t.length,e[3]=m,e[4]=a):(m=e[3],a=e[4]),(0,Q.useEffect)(m,a);let d;e[5]!==s||e[6]!==t?(d=t.length===0?[s]:t,e[5]=s,e[6]=t,e[7]=d):d=e[7];let f=d,p;e[8]!==r||e[9]!==f?(p=f.some(u=>u.id===r)?r:f[0]?.id??"",e[8]=r,e[9]=f,e[10]=p):p=e[10];let b=p,v;return e[11]!==b||e[12]!==o||e[13]!==n||e[14]!==f?(v={activeId:b,setActiveId:o,setTabs:n,tabs:f},e[11]=b,e[12]=o,e[13]=n,e[14]=f,e[15]=v):v=e[15],v},"xn"),it=i(l=>l.activeId===null&&l.sql.trim()!=="","Ve"),gn=i((l,e)=>[...l,e].slice(-Be),"vn"),xn=i((l,e,t)=>{let n=l.findIndex(o=>o.id===e);if(n===-1)return{activeId:l[0]?.id??"",tabs:[...l]};let r=l.filter(o=>o.id!==e);if(r.length===0){let o=t();return{activeId:o.id,tabs:[o]}}return{activeId:r[Math.min(n,r.length-1)].id,tabs:r}},"yn"),vn=i((l,e)=>{let t=l.filter(n=>n.id===e);return t.length===0?{activeId:l[0]?.id??"",tabs:[...l]}:{activeId:e,tabs:t}},"wn"),yn=i((l,e,t)=>{let n=l.findIndex(o=>o.id===e);if(n===-1)return{activeId:t,tabs:[...l]};let r=l.slice(0,n+1);return{activeId:r.some(o=>o.id===t)?t:e,tabs:r}},"Sn"),wn=i(l=>{let e=l();return{activeId:e.id,tabs:[e]}},"Nn"),Sn=i((l,e,t)=>{if(l==="others")return e.filter(n=>n.id!==t);if(l==="right"){let n=e.findIndex(r=>r.id===t);return n===-1?[]:e.slice(n+1)}return[...e]},"kn"),ot={error:null,pane:"results",result:null},kn=i(l=>{let e=(0,U.c)(66),{activeId:t,setActiveId:n,setTabs:r,tabs:o}=bn(l),s;e[0]===Symbol.for("react.memo_cache_sentinel")?(s={},e[0]=s):s=e[0];let[m,a]=(0,Q.useState)(s),[d,f]=(0,Q.useState)(null),[p,b]=(0,Q.useState)(null),v;e[1]!==t||e[2]!==o?(v=o.find(P=>P.id===t)??o[0]??Se(),e[1]=t,e[2]=o,e[3]=v):v=e[3];let u=v,x=m[u.id]??ot,y;e[4]!==u.id||e[5]!==r?(y=i(P=>{r(K=>K.map(J=>J.id===u.id?{...J,...P}:J))},"v"),e[4]=u.id,e[5]=r,e[6]=y):y=e[6];let w=y,g;e[7]!==u.id?(g=i(P=>{a(K=>{let J=K[u.id]??ot;return{...K,[u.id]:{...J,...P}}})},"b"),e[7]=u.id,e[8]=g):g=e[8];let h=g,S;e[9]!==n||e[10]!==r||e[11]!==o.length?(S=i(()=>{if(o.length>=Be)return;let P=Se();r(K=>gn(K,P)),n(P.id)},"w"),e[9]=n,e[10]=r,e[11]=o.length,e[12]=S):S=e[12];let C=S,k;e[13]!==n||e[14]!==r?(k=i(P=>{f(null),b(null),r(P.tabs),n(P.activeId);let K=new Set(P.tabs.map(Nn));a(J=>Object.fromEntries(Object.entries(J).filter(ae=>{let[xe]=ae;return K.has(xe)})))},"S"),e[13]=n,e[14]=r,e[15]=k):k=e[15];let q=k,I;e[16]!==q||e[17]!==o?(I=i(P=>{q(xn(o,P,Se))},"q"),e[16]=q,e[17]=o,e[18]=I):I=e[18];let O=I,L;e[19]!==t||e[20]!==q||e[21]!==o?(L=i((P,K)=>{q(P==="others"?vn(o,K):P==="right"?yn(o,K,t):wn(Se))},"R"),e[19]=t,e[20]=q,e[21]=o,e[22]=L):L=e[22];let T=L,E;e[23]!==T||e[24]!==d||e[25]!==o?(E=i(P=>{d!==null&&(Sn(P,o,d.id).some(Cn)?b(P):T(P,d.id))},"I"),e[23]=T,e[24]=d,e[25]=o,e[26]=E):E=e[26];let M=E,D;e[27]===Symbol.for("react.memo_cache_sentinel")?(D=i((P,K)=>{K.preventDefault(),b(null),f({id:P,x:K.clientX,y:K.clientY})},"O"),e[27]=D):D=e[27];let R=D,A;e[28]===Symbol.for("react.memo_cache_sentinel")?(A=i(()=>{f(null),b(null)},"M"),e[28]=A):A=e[28];let _=A,$;e[29]===Symbol.for("react.memo_cache_sentinel")?($=i(P=>{P.preventDefault(),f(null),b(null)},"D"),e[29]=$):$=e[29];let N=$,B;e[30]!==M?(B=i(()=>{M("others")},"z"),e[30]=M,e[31]=B):B=e[31];let j=B,H;e[32]!==M?(H=i(()=>{M("right")},"Q"),e[32]=M,e[33]=H):H=e[33];let W=H,F;e[34]!==M?(F=i(()=>{M("all")},"F"),e[34]=M,e[35]=F):F=e[35];let Z=F,G;e[36]!==T||e[37]!==p||e[38]!==d?(G=i(()=>{d!==null&&p!==null&&T(p,d.id),b(null)},"U"),e[36]=T,e[37]=p,e[38]=d,e[39]=G):G=e[39];let oe=G,z;e[40]===Symbol.for("react.memo_cache_sentinel")?(z=i(()=>{b(null)},"A"),e[40]=z):z=e[40];let re=z,Y;e[41]!==d?(Y=d===null?void 0:{left:d.x,top:d.y},e[41]=d,e[42]=Y):Y=e[42];let ee=Y,V;e[43]!==r?(V=i(P=>{r(K=>K.map(J=>J.activeId===P?{...J,activeId:null}:J))},"G"),e[43]=r,e[44]=V):V=e[44];let te=V,X;e[45]!==r?(X=i((P,K)=>{r(J=>J.map(ae=>ae.id===P?{...ae,name:K}:ae))},"V"),e[45]=r,e[46]=X):X=e[46];let le=X,ie;return e[47]!==u||e[48]!==t||e[49]!==C||e[50]!==O||e[51]!==oe||e[52]!==Z||e[53]!==j||e[54]!==W||e[55]!==x||e[56]!==h||e[57]!==w||e[58]!==p||e[59]!==le||e[60]!==n||e[61]!==d||e[62]!==ee||e[63]!==o||e[64]!==te?(ie={activeTab:u,activeTabId:t,addEditorTab:C,cancelBulk:re,closeEditorTab:O,closeTabMenu:_,confirmBulk:oe,menuStyle:ee,onBackdropContextMenu:N,onCloseAll:Z,onCloseOthers:j,onCloseToRight:W,openTabMenu:R,output:x,patchActiveOutput:h,patchActiveTab:w,pendingBulk:p,renameTab:le,setActiveTabId:n,tabMenu:d,tabs:o,unlinkQuery:te},e[47]=u,e[48]=t,e[49]=C,e[50]=O,e[51]=oe,e[52]=Z,e[53]=j,e[54]=W,e[55]=x,e[56]=h,e[57]=w,e[58]=p,e[59]=le,e[60]=n,e[61]=d,e[62]=ee,e[63]=o,e[64]=te,e[65]=ie):ie=e[65],ie},"Cn");function Nn(l){return l.id}i(Nn,"qn");function Cn(l){return it(l)}i(Cn,"$n");var qn="lunora-studio-sql-queries",In="lunora-studio-sql-history",Rn=25,Tn=i(l=>{let e=(0,U.c)(33),{loadIntoActiveTab:t,unlinkQuery:n}=l,r=ne(),[o,s]=Ce(qn),[m,a]=Ce(In),[d,f]=(0,Q.useState)(""),p=(0,Q.useRef)(null),b;e[0]!==a?(b=i(R=>{a(A=>A[0]?.sql===R?A:[{at:Date.now(),sql:R},...A.filter(_=>_.sql!==R)].slice(0,Rn))},"p"),e[0]=a,e[1]=b):b=e[1];let v=b,u;e[2]!==t||e[3]!==s||e[4]!==r?(u=i(()=>{let R={id:De("q"),name:r("Untitled query"),sql:""};s(A=>[R,...A]),t("",R.id)},"c"),e[2]=t,e[3]=s,e[4]=r,e[5]=u):u=e[5];let x=u,y;e[6]!==t||e[7]!==o?(y=i(R=>{let A=o.find(_=>_.id===R);A!==void 0&&(t(A.sql,R),p.current?.querySelector(`[data-testid="sql-query-${R}"]`)?.scrollIntoView({block:"nearest"}))},"v"),e[6]=t,e[7]=o,e[8]=y):y=e[8];let w=y,g;e[9]!==s||e[10]!==n?(g=i(R=>{s(A=>A.filter(_=>_.id!==R)),n(R)},"b"),e[9]=s,e[10]=n,e[11]=g):g=e[11];let h=g,S;e[12]!==t?(S=i(R=>{t(R.currentTarget.dataset.sql??"",null)},"w"),e[12]=t,e[13]=S):S=e[13];let C=S,k;e[14]!==t?(k=i(R=>{t(R.currentTarget.dataset.sql??"",null)},"S"),e[14]=t,e[15]=k):k=e[15];let q=k,I;e[16]!==a?(I=i(()=>{a([])},"q"),e[16]=a,e[17]=I):I=e[17];let O=I,L;e[18]===Symbol.for("react.memo_cache_sentinel")?(L=i(R=>{f(R.target.value)},"R"),e[18]=L):L=e[18];let T=L,E;e[19]!==s?(E=i((R,A)=>{s(_=>_.map($=>$.id===R?{...$,sql:A}:$))},"I"),e[19]=s,e[20]=E):E=e[20];let M=E,D;return e[21]!==O||e[22]!==h||e[23]!==m||e[24]!==q||e[25]!==C||e[26]!==x||e[27]!==o||e[28]!==v||e[29]!==d||e[30]!==w||e[31]!==M?(D={clearHistory:O,deleteQuery:h,history:m,listRef:p,loadFromHistory:q,loadTemplate:C,newQuery:x,onSearchChange:T,queries:o,recordHistory:v,search:d,selectQuery:w,updateQuerySql:M},e[21]=O,e[22]=h,e[23]=m,e[24]=q,e[25]=C,e[26]=x,e[27]=o,e[28]=v,e[29]=d,e[30]=w,e[31]=M,e[32]=D):D=e[32],D},"En"),ct="p-3 font-mono text-xs leading-5 whitespace-pre-wrap break-words",Ln=i((l,e)=>{let t=[];for(let r of l){if(r.offset===void 0||r.length===void 0||r.length<=0)continue;let o=Math.max(0,Math.min(r.offset,e)),s=Math.max(o,Math.min(r.offset+r.length,e));o!==s&&t.push({end:s,severity:r.severity,start:o})}t.sort((r,o)=>r.start-o.start);let n=[];for(let r of t)r.start>=(n.at(-1)?.end??0)&&n.push(r);return n},"Ln"),En=i(l=>l==="unsafe-response"?"The model returned a statement that is not read-only, so it was discarded.":l==="empty-response"?"The model returned nothing usable.":"The model could not be reached.","_n"),_n=i(l=>{let e=(0,U.c)(51),{assistant:t,failed:n,onGenerated:r}=l,o=ne(),[s,m]=(0,Q.useState)("");if(t.unavailable)return null;let a;e[0]!==t?(a=t.pending("sql"),e[0]=t,e[1]=a):a=e[1];let d=a,f;if(e[2]!==t||e[3]!==n||e[4]!==r||e[5]!==d||e[6]!==s||e[7]!==o){let p=t.reason("sql"),b;e[9]!==t||e[10]!==n||e[11]!==r||e[12]!==s?(b=i(T=>{let E=s.trim();E===""&&!T||ce((async()=>{let M=await t.generate(E===""?"fix the failing statement":E,T?n:void 0);M!==void 0&&r(M)})())},"p"),e[9]=t,e[10]=n,e[11]=r,e[12]=s,e[13]=b):b=e[13];let v=b,u;e[14]!==o?(u=o("Describe the query you want"),e[14]=o,e[15]=u):u=e[15];let x;e[16]===Symbol.for("react.memo_cache_sentinel")?(x=i(T=>{m(T.target.value)},"g"),e[16]=x):x=e[16];let y;e[17]!==v?(y=i(T=>{T.key==="Enter"&&(T.preventDefault(),v(!1))},"v"),e[17]=v,e[18]=y):y=e[18];let w;e[19]!==o?(w=o("Describe the query you want"),e[19]=o,e[20]=w):w=e[20];let g;e[21]!==d||e[22]!==s||e[23]!==u||e[24]!==y||e[25]!==w?(g=(0,c.jsx)(Qe,{"aria-label":u,className:"h-7 flex-1 text-xs","data-testid":"sql-assistant-prompt",disabled:d,onChange:x,onKeyDown:y,placeholder:w,value:s}),e[21]=d,e[22]=s,e[23]=u,e[24]=y,e[25]=w,e[26]=g):g=e[26];let h=d&&"opacity-60",S;e[27]!==h?(S=ue("rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",h),e[27]=h,e[28]=S):S=e[28];let C;e[29]!==d||e[30]!==s?(C=d||s.trim()==="",e[29]=d,e[30]=s,e[31]=C):C=e[31];let k;e[32]!==v?(k=i(()=>{v(!1)},"S"),e[32]=v,e[33]=k):k=e[33];let q;e[34]!==d||e[35]!==o?(q=o(d?"Thinking\u2026":"Draft SQL"),e[34]=d,e[35]=o,e[36]=q):q=e[36];let I;e[37]!==S||e[38]!==C||e[39]!==k||e[40]!==q?(I=(0,c.jsx)("button",{className:S,"data-testid":"sql-assistant-generate",disabled:C,onClick:k,type:"button",children:q}),e[37]=S,e[38]=C,e[39]=k,e[40]=q,e[41]=I):I=e[41];let O;e[42]!==n||e[43]!==d||e[44]!==v||e[45]!==o?(O=n!==void 0&&(0,c.jsx)("button",{className:"rounded-md border border-border px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-assistant-fix",disabled:d,onClick:i(()=>{v(!0)},"onClick"),type:"button",children:o("Fix this")}),e[42]=n,e[43]=d,e[44]=v,e[45]=o,e[46]=O):O=e[46];let L;e[47]!==I||e[48]!==O||e[49]!==g?(L=(0,c.jsxs)("div",{className:"flex items-center gap-2",children:[g,I,O]}),e[47]=I,e[48]=O,e[49]=g,e[50]=L):L=e[50],f=(0,c.jsxs)("div",{className:"flex flex-col gap-1 border-b border-border px-3 py-2","data-testid":"sql-assistant",children:[L,p!==void 0&&(0,c.jsx)("p",{className:"text-[11px] text-muted-foreground","data-testid":"sql-assistant-reason",role:"status",children:En(p)})]}),e[2]=t,e[3]=n,e[4]=r,e[5]=d,e[6]=s,e[7]=o,e[8]=f}else f=e[8];return f},"On"),On=i(l=>{let e=(0,U.c)(8),{diagnostics:t,draft:n,scrollRef:r}=l,o,s;if(e[0]!==t||e[1]!==n){s=Symbol.for("react.early_return_sentinel");e:{let d=Ln(t,n.length);if(d.length===0){s=null;break e}o=[];let f=0;for(let[p,b]of d.entries())b.start>f&&o.push(n.slice(f,b.start)),o.push((0,c.jsx)("span",{className:ue("decoration-wavy underline underline-offset-4",b.severity==="error"?"decoration-destructive":"decoration-amber-500"),children:n.slice(b.start,b.end)},`${b.start.toString()}-${p.toString()}`)),f=b.end;o.push(n.slice(f))}e[0]=t,e[1]=n,e[2]=o,e[3]=s}else o=e[2],s=e[3];if(s!==Symbol.for("react.early_return_sentinel"))return s;let m;e[4]===Symbol.for("react.memo_cache_sentinel")?(m=ue("pointer-events-none absolute inset-0 overflow-hidden text-transparent",ct),e[4]=m):m=e[4];let a;return e[5]!==o||e[6]!==r?(a=(0,c.jsx)("div",{"aria-hidden":"true",className:m,"data-testid":"sql-diagnostics-overlay",ref:r,children:o}),e[5]=o,e[6]=r,e[7]=a):a=e[7],a},"Mn"),Mn={gate:"read-only",plan:"plan",schema:"schema",syntax:"syntax"},Dn=i(l=>{let e=(0,U.c)(10),{diagnostics:t,onSelect:n}=l,r=ne();if(t.length===0)return null;let o;e[0]!==r?(o=r("SQL problems"),e[0]=r,e[1]=o):o=e[1];let s;if(e[2]!==t||e[3]!==n){let a;e[5]!==n?(a=i((d,f)=>(0,c.jsx)("li",{children:(0,c.jsxs)("button",{className:"flex w-full items-start gap-2 px-3 py-1 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-problem",onClick:i(()=>{n(d)},"onClick"),type:"button",children:[(0,c.jsx)("span",{className:ue("mt-px shrink-0 rounded px-1 font-mono text-[10px] uppercase",d.severity==="error"?"bg-destructive/15 text-destructive":"bg-amber-500/15 text-amber-600"),children:Mn[d.source]}),(0,c.jsx)("span",{className:"min-w-0 text-muted-foreground",children:d.message})]})},`${d.source}-${(d.offset??f).toString()}-${f.toString()}`),"a"),e[5]=n,e[6]=a):a=e[6],s=t.map(a),e[2]=t,e[3]=n,e[4]=s}else s=e[4];let m;return e[7]!==o||e[8]!==s?(m=(0,c.jsx)("ul",{"aria-label":o,className:"max-h-24 shrink-0 overflow-y-auto border-t border-border bg-muted/30","data-testid":"sql-problems",children:s}),e[7]=o,e[8]=s,e[9]=m):m=e[9],m},"An"),An={minWidth:"2.75rem",paddingInline:"0.5rem"},$n=i(l=>{let e=(0,U.c)(64),{assistant:t,autocomplete:n,diagnostics:r,draft:o,failed:s,handlers:m,editorRef:a,gutterRef:d,listboxId:f,onGenerated:p,onPickSuggestion:b,onRevealDiagnostic:v,overlayRef:u}=l,x=ne(),y,w,g,h,S,C,k,q;if(e[0]!==t||e[1]!==o||e[2]!==s||e[3]!==d||e[4]!==p){let B=o.split(`
|
|
5
|
+
`).length;k="flex min-h-0 min-w-0 flex-1 flex-col",e[13]!==t||e[14]!==s||e[15]!==p?(q=(0,c.jsx)(_n,{assistant:t,failed:s,onGenerated:p}),e[13]=t,e[14]=s,e[15]=p,e[16]=q):q=e[16],C="flex min-h-0 min-w-0 flex-1",y="true",w="shrink-0 select-none overflow-hidden border-e border-border bg-muted/30 py-3 text-end font-mono text-xs leading-5 text-muted-foreground/60",g=d,h=An,S=Array.from({length:B},zn),e[0]=t,e[1]=o,e[2]=s,e[3]=d,e[4]=p,e[5]=y,e[6]=w,e[7]=g,e[8]=h,e[9]=S,e[10]=C,e[11]=k,e[12]=q}else y=e[5],w=e[6],g=e[7],h=e[8],S=e[9],C=e[10],k=e[11],q=e[12];let I;e[17]!==y||e[18]!==w||e[19]!==g||e[20]!==h||e[21]!==S?(I=(0,c.jsx)("div",{"aria-hidden":y,className:w,ref:g,style:h,children:S}),e[17]=y,e[18]=w,e[19]=g,e[20]=h,e[21]=S,e[22]=I):I=e[22];let O;e[23]!==r||e[24]!==o||e[25]!==u?(O=(0,c.jsx)(On,{diagnostics:r,draft:o,scrollRef:u}),e[23]=r,e[24]=o,e[25]=u,e[26]=O):O=e[26];let L;e[27]!==n||e[28]!==f?(L=n===null?void 0:`${f}-opt-${n.active.toString()}`,e[27]=n,e[28]=f,e[29]=L):L=e[29];let T=n===null?void 0:f,E=n!==null,M;e[30]!==x?(M=x("SQL query"),e[30]=x,e[31]=M):M=e[31];let D;e[32]!==o||e[33]!==a||e[34]!==m.onBlur||e[35]!==m.onChange||e[36]!==m.onKeyDown||e[37]!==m.onScroll||e[38]!==m.onSelect||e[39]!==L||e[40]!==T||e[41]!==E||e[42]!==M?(D=(0,c.jsx)("textarea",{"aria-activedescendant":L,"aria-autocomplete":"list","aria-controls":T,"aria-expanded":E,"aria-label":M,className:`relative size-full resize-none bg-transparent outline-none ${ct}`,"data-testid":"sql-input",onBlur:m.onBlur,onChange:m.onChange,onKeyDown:m.onKeyDown,onScroll:m.onScroll,onSelect:m.onSelect,placeholder:"SELECT * FROM \u2026",ref:a,role:"combobox",spellCheck:!1,value:o}),e[32]=o,e[33]=a,e[34]=m.onBlur,e[35]=m.onChange,e[36]=m.onKeyDown,e[37]=m.onScroll,e[38]=m.onSelect,e[39]=L,e[40]=T,e[41]=E,e[42]=M,e[43]=D):D=e[43];let R;e[44]!==n||e[45]!==f||e[46]!==b?(R=(0,c.jsx)(ln,{listboxId:f,onPick:b,state:n}),e[44]=n,e[45]=f,e[46]=b,e[47]=R):R=e[47];let A;e[48]!==O||e[49]!==D||e[50]!==R?(A=(0,c.jsxs)("div",{className:"relative min-w-0 flex-1 bg-background",children:[O,D,R]}),e[48]=O,e[49]=D,e[50]=R,e[51]=A):A=e[51];let _;e[52]!==A||e[53]!==C||e[54]!==I?(_=(0,c.jsxs)("div",{className:C,children:[I,A]}),e[52]=A,e[53]=C,e[54]=I,e[55]=_):_=e[55];let $;e[56]!==r||e[57]!==v?($=(0,c.jsx)(Dn,{diagnostics:r,onSelect:v}),e[56]=r,e[57]=v,e[58]=$):$=e[58];let N;return e[59]!==_||e[60]!==$||e[61]!==k||e[62]!==q?(N=(0,c.jsxs)("div",{className:k,children:[q,_,$]}),e[59]=_,e[60]=$,e[61]=k,e[62]=q,e[63]=N):N=e[63],N},"zn");function zn(l,e){return(0,c.jsx)("div",{children:e+1},e)}i(zn,"Hn");var dt=[{label:"List tables",sql:"SELECT name FROM sqlite_master WHERE type = 'table' ORDER BY name;"},{label:"Table row count",sql:"SELECT COUNT(*) AS rows FROM messages;"},{label:"Recent rows",sql:"SELECT id, _creationTime, __doc__ FROM messages ORDER BY _creationTime DESC LIMIT 50;"},{label:"Index list",sql:"SELECT name, tbl_name FROM sqlite_master WHERE type = 'index' ORDER BY tbl_name;"}],Bn=i(l=>{let e=(0,U.c)(29),{active:t,onDelete:n,onSelect:r,query:o}=l,s=ne(),m;e[0]!==r||e[1]!==o.id?(m=i(()=>{r(o.id)},"d"),e[0]=r,e[1]=o.id,e[2]=m):m=e[2];let a=m,d;e[3]!==n||e[4]!==o.id?(d=i(k=>{k.stopPropagation(),n(o.id)},"i"),e[3]=n,e[4]=o.id,e[5]=d):d=e[5];let f=d,p=t?"bg-sidebar-accent font-medium text-foreground":"text-muted-foreground",b;e[6]!==p?(b=ue("flex min-w-0 flex-1 items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",p),e[6]=p,e[7]=b):b=e[7];let v=`sql-query-${o.id}`,u;e[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M4 6h16M4 12h10M4 18h7"})}),e[8]=u):u=e[8];let x;e[9]!==o.name?(x=(0,c.jsx)("span",{className:"truncate",children:o.name}),e[9]=o.name,e[10]=x):x=e[10];let y;e[11]!==t||e[12]!==a||e[13]!==b||e[14]!==v||e[15]!==x?(y=(0,c.jsxs)("button",{"aria-pressed":t,className:b,"data-testid":v,onClick:a,type:"button",children:[u,x]}),e[11]=t,e[12]=a,e[13]=b,e[14]=v,e[15]=x,e[16]=y):y=e[16];let w;e[17]!==s?(w=s("Delete query"),e[17]=s,e[18]=w):w=e[18];let g;e[19]!==s?(g=s("Delete query"),e[19]=s,e[20]=g):g=e[20];let h;e[21]===Symbol.for("react.memo_cache_sentinel")?(h=(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M5 7h14M9 7V5h6v2m-1 0v12H10V7M7 7v13h10V7"})}),e[21]=h):h=e[21];let S;e[22]!==f||e[23]!==g||e[24]!==w?(S=(0,c.jsx)("button",{"aria-label":w,className:"me-1 hidden size-6 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive group-hover/q:flex",onClick:f,title:g,type:"button",children:h}),e[22]=f,e[23]=g,e[24]=w,e[25]=S):S=e[25];let C;return e[26]!==S||e[27]!==y?(C=(0,c.jsxs)("li",{className:"group/q flex items-center",children:[y,S]}),e[26]=S,e[27]=y,e[28]=C):C=e[28],C},"Pn"),Pn=i((l,e)=>{let t=e.trim().toLowerCase();return t===""?[...l]:l.filter(n=>n.name.toLowerCase().includes(t))},"Fn"),Qn=i(l=>{let e=(0,U.c)(60),{activeId:t,history:n,listRef:r,onClearHistory:o,onDelete:s,onLoadHistory:m,onLoadTemplate:a,onNew:d,onSearchChange:f,onSelect:p,queries:b,search:v}=l,u=ne(),x,y,w,g;if(e[0]!==t||e[1]!==r||e[2]!==s||e[3]!==d||e[4]!==f||e[5]!==p||e[6]!==b||e[7]!==v||e[8]!==u){let T=Pn(b,v);y="flex h-full w-64 shrink-0 flex-col border-e border-border bg-sidebar";let E;e[13]!==u?(E=u("Search queries\u2026"),e[13]=u,e[14]=E):E=e[14];let M;e[15]!==f||e[16]!==v||e[17]!==E?(M=(0,c.jsx)("input",{className:"h-8 min-w-0 flex-1 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"sql-search",onChange:f,placeholder:E,type:"text",value:v}),e[15]=f,e[16]=v,e[17]=E,e[18]=M):M=e[18];let D;e[19]!==u?(D=u("New query"),e[19]=u,e[20]=D):D=e[20];let R;e[21]!==u?(R=u("New query"),e[21]=u,e[22]=R):R=e[22];let A;e[23]===Symbol.for("react.memo_cache_sentinel")?(A=(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[23]=A):A=e[23];let _;e[24]!==d||e[25]!==D||e[26]!==R?(_=(0,c.jsx)("button",{"aria-label":D,className:"flex size-8 shrink-0 items-center justify-center rounded-md border border-border text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"sql-new",onClick:d,title:R,type:"button",children:A}),e[24]=d,e[25]=D,e[26]=R,e[27]=_):_=e[27],e[28]!==_||e[29]!==M?(w=(0,c.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border p-2",children:[M,_]}),e[28]=_,e[29]=M,e[30]=w):w=e[30],x="flex flex-1 flex-col gap-4 overflow-y-auto p-2";let $;e[31]!==u?($=u("Private"),e[31]=u,e[32]=$):$=e[32];let N;e[33]!==$?(N=(0,c.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:$}),e[33]=$,e[34]=N):N=e[34],g=(0,c.jsxs)("div",{children:[N,T.length===0?(0,c.jsx)("p",{className:"px-1 py-2 text-xs text-muted-foreground","data-testid":"sql-private-empty",children:u("No saved queries yet \u2014 they save to this browser as you type.")}):(0,c.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-private",ref:r,children:T.map(B=>(0,c.jsx)(Bn,{active:t===B.id,onDelete:s,onSelect:p,query:B},B.id))})]}),e[0]=t,e[1]=r,e[2]=s,e[3]=d,e[4]=f,e[5]=p,e[6]=b,e[7]=v,e[8]=u,e[9]=x,e[10]=y,e[11]=w,e[12]=g}else x=e[9],y=e[10],w=e[11],g=e[12];let h;e[35]!==u?(h=u("Reference"),e[35]=u,e[36]=h):h=e[36];let S;e[37]!==h?(S=(0,c.jsx)("p",{className:"px-1 pb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:h}),e[37]=h,e[38]=S):S=e[38];let C;e[39]!==a?(C=dt.map(T=>(0,c.jsx)("li",{children:(0,c.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":T.sql,onClick:a,type:"button",children:[(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M7 4h7l4 4v12H7zM14 4v4h4"})}),T.label]})},T.label)),e[39]=a,e[40]=C):C=e[40];let k;e[41]!==C?(k=(0,c.jsx)("ul",{className:"flex flex-col gap-px",children:C}),e[41]=C,e[42]=k):k=e[42];let q;e[43]!==S||e[44]!==k?(q=(0,c.jsxs)("div",{children:[S,k]}),e[43]=S,e[44]=k,e[45]=q):q=e[45];let I;e[46]!==n||e[47]!==o||e[48]!==m||e[49]!==u?(I=n.length>0&&(0,c.jsxs)("div",{children:[(0,c.jsxs)("div",{className:"flex items-center justify-between px-1 pb-1",children:[(0,c.jsx)("p",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:u("History")}),(0,c.jsx)("button",{className:"rounded px-1 text-[11px] text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:text-foreground","data-testid":"sql-history-clear",onClick:o,type:"button",children:u("Clear history")})]}),(0,c.jsx)("ul",{className:"flex flex-col gap-px","data-testid":"sql-history",children:n.map(T=>(0,c.jsx)("li",{children:(0,c.jsxs)("button",{className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-foreground focus-visible:bg-sidebar-accent","data-sql":T.sql,"data-testid":"sql-history-item",onClick:m,title:T.sql,type:"button",children:[(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3.5 shrink-0 opacity-70",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M12 8v4l3 2M12 21a9 9 0 1 1 0-18 9 9 0 0 1 0 18Z"})}),(0,c.jsx)("span",{className:"truncate font-mono",children:T.sql})]})},`${T.at.toString()}:${T.sql}`))})]}),e[46]=n,e[47]=o,e[48]=m,e[49]=u,e[50]=I):I=e[50];let O;e[51]!==x||e[52]!==I||e[53]!==g||e[54]!==q?(O=(0,c.jsxs)("div",{className:x,children:[g,q,I]}),e[51]=x,e[52]=I,e[53]=g,e[54]=q,e[55]=O):O=e[55];let L;return e[56]!==O||e[57]!==y||e[58]!==w?(L=(0,c.jsxs)("aside",{className:y,children:[w,O]}),e[56]=O,e[57]=y,e[58]=w,e[59]=L):L=e[59],L},"Qn"),jn=i(l=>{let e=(0,U.c)(19),{result:t}=l,n=ne();if(t.columns.length===0){let d;e[0]!==t.rowCount||e[1]!==n?(d=n("{count} rows",{count:t.rowCount}),e[0]=t.rowCount,e[1]=n,e[2]=d):d=e[2];let f;return e[3]!==d?(f=(0,c.jsx)("p",{className:"p-4 text-sm text-muted-foreground",children:d}),e[3]=d,e[4]=f):f=e[4],f}let r;e[5]!==t.columns?(r=t.columns.map(Fn),e[5]=t.columns,e[6]=r):r=e[6];let o;e[7]!==r?(o=(0,c.jsx)(Ue,{className:"sticky top-0 z-10 bg-muted",children:(0,c.jsx)(Ae,{children:r})}),e[7]=r,e[8]=o):o=e[8];let s;if(e[9]!==t.columns||e[10]!==t.rows){let d;e[12]!==t.columns?(d=i((f,p)=>(0,c.jsx)(Ae,{"data-testid":"sql-row",children:t.columns.map(b=>(0,c.jsx)(Ye,{className:"max-w-md truncate font-mono text-xs",children:(0,c.jsx)(Xe,{value:f[b]})},b))},p),"i"),e[12]=t.columns,e[13]=d):d=e[13],s=t.rows.map(d),e[9]=t.columns,e[10]=t.rows,e[11]=s}else s=e[11];let m;e[14]!==s?(m=(0,c.jsx)(Ge,{children:s}),e[14]=s,e[15]=m):m=e[15];let a;return e[16]!==o||e[17]!==m?(a=(0,c.jsxs)(Ke,{"data-testid":"sql-rows",children:[o,m]}),e[16]=o,e[17]=m,e[18]=a):a=e[18],a},"jn");function Fn(l){return(0,c.jsx)(Je,{children:l},l)}i(Fn,"Wn");var Ie=i(l=>`border-b-2 px-3 py-2 text-sm outline-none transition-colors ${l?"border-foreground font-medium text-foreground":"border-transparent text-muted-foreground hover:text-foreground"}`,"Ne"),Hn=i(l=>{let e=(0,U.c)(92),{assistant:t,chart:n,className:r,error:o,onFormat:s,onInferChart:m,onRun:a,onShardKeyChange:d,onShowChart:f,onShowExplain:p,onShowResults:b,onToggleSplit:v,pane:u,result:x,running:y,shardKey:w,splitView:g}=l,h=ne(),S=u==="results",C;e[0]!==S?(C=Ie(S),e[0]=S,e[1]=C):C=e[1];let k;e[2]!==h?(k=h("Results"),e[2]=h,e[3]=k):k=e[3];let q;e[4]!==b||e[5]!==C||e[6]!==k?(q=(0,c.jsx)("button",{className:C,"data-testid":"sql-tab-results",onClick:b,type:"button",children:k}),e[4]=b,e[5]=C,e[6]=k,e[7]=q):q=e[7];let I=u==="chart",O;e[8]!==I?(O=Ie(I),e[8]=I,e[9]=O):O=e[9];let L;e[10]!==h?(L=h("Chart"),e[10]=h,e[11]=L):L=e[11];let T;e[12]!==f||e[13]!==O||e[14]!==L?(T=(0,c.jsx)("button",{className:O,"data-testid":"sql-tab-chart",onClick:f,type:"button",children:L}),e[12]=f,e[13]=O,e[14]=L,e[15]=T):T=e[15];let E;e[16]!==t||e[17]!==m||e[18]!==u||e[19]!==x||e[20]!==h?(E=!t.unavailable&&u==="chart"&&x!==null&&(0,c.jsx)("button",{className:Ie(!1),"data-testid":"sql-infer-chart",disabled:t.pending("chart"),onClick:m,type:"button",children:t.pending("chart")?h("Thinking\u2026"):h("Suggest chart")}),e[16]=t,e[17]=m,e[18]=u,e[19]=x,e[20]=h,e[21]=E):E=e[21];let M=u==="explain",D;e[22]!==M?(D=Ie(M),e[22]=M,e[23]=D):D=e[23];let R;e[24]!==h?(R=h("Explain"),e[24]=h,e[25]=R):R=e[25];let A;e[26]!==p||e[27]!==D||e[28]!==R?(A=(0,c.jsx)("button",{className:D,"data-testid":"sql-tab-explain",onClick:p,type:"button",children:R}),e[26]=p,e[27]=D,e[28]=R,e[29]=A):A=e[29];let _;e[30]!==h?(_=h("Split editor and results"),e[30]=h,e[31]=_):_=e[31];let $=`inline-flex items-center rounded-md border border-border px-2 py-1.5 outline-none transition-colors hover:bg-accent focus-visible:bg-accent ${g?"bg-accent text-foreground":"text-muted-foreground"}`,N;e[32]!==h?(N=h("Split editor and results"),e[32]=h,e[33]=N):N=e[33];let B;e[34]===Symbol.for("react.memo_cache_sentinel")?(B=(0,c.jsxs)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:[(0,c.jsx)("rect",{height:"16",rx:"2",width:"18",x:"3",y:"4"}),(0,c.jsx)("path",{d:"M12 4v16"})]}),e[34]=B):B=e[34];let j;e[35]!==v||e[36]!==g||e[37]!==_||e[38]!==$||e[39]!==N?(j=(0,c.jsx)("button",{"aria-label":_,"aria-pressed":g,className:$,"data-testid":"sql-split-toggle",onClick:v,title:N,type:"button",children:B}),e[35]=v,e[36]=g,e[37]=_,e[38]=$,e[39]=N,e[40]=j):j=e[40];let H;e[41]!==x?(H=x!==null&&x.columns.length>0&&(0,c.jsx)(Ze,{columns:x.columns,name:"query-result",rows:x.rows}),e[41]=x,e[42]=H):H=e[42];let W;e[43]!==h?(W=h("Format"),e[43]=h,e[44]=W):W=e[44];let F;e[45]!==s||e[46]!==y||e[47]!==W?(F=(0,c.jsx)("button",{className:"inline-flex items-center rounded-md border border-border px-3 py-1.5 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-format",disabled:y,onClick:s,type:"button",children:W}),e[45]=s,e[46]=y,e[47]=W,e[48]=F):F=e[48];let Z;e[49]!==d||e[50]!==w?(Z=(0,c.jsx)(Fe,{onChange:d,testId:"sql-shard-input",value:w}),e[49]=d,e[50]=w,e[51]=Z):Z=e[51];let G;e[52]!==y||e[53]!==h?(G=h(y?"Running\u2026":"Run"),e[52]=y,e[53]=h,e[54]=G):G=e[54];let oe;e[55]===Symbol.for("react.memo_cache_sentinel")?(oe=(0,c.jsx)("kbd",{className:"rounded border border-primary-foreground/30 px-1 font-sans text-[10px]",children:"\u2318\u21B5"}),e[55]=oe):oe=e[55];let z;e[56]!==a||e[57]!==y||e[58]!==G?(z=(0,c.jsxs)("button",{className:"inline-flex items-center gap-1.5 rounded-md bg-primary px-3 py-1.5 text-xs font-medium text-primary-foreground outline-none transition-colors hover:bg-primary/90 focus-visible:bg-primary/90 disabled:pointer-events-none disabled:opacity-50","data-testid":"sql-run",disabled:y,onClick:a,type:"button",children:[G,oe]}),e[56]=a,e[57]=y,e[58]=G,e[59]=z):z=e[59];let re;e[60]!==j||e[61]!==H||e[62]!==F||e[63]!==Z||e[64]!==z?(re=(0,c.jsxs)("div",{className:"ms-auto flex items-center gap-2",children:[j,H,F,Z,z]}),e[60]=j,e[61]=H,e[62]=F,e[63]=Z,e[64]=z,e[65]=re):re=e[65];let Y;e[66]!==A||e[67]!==re||e[68]!==q||e[69]!==T||e[70]!==E?(Y=(0,c.jsxs)("div",{className:"flex shrink-0 items-center gap-2 border-b border-border pe-2",children:[q,T,E,A,re]}),e[66]=A,e[67]=re,e[68]=q,e[69]=T,e[70]=E,e[71]=Y):Y=e[71];let ee;e[72]!==o?(ee=o!==null&&(0,c.jsx)(We,{className:"m-3 font-mono text-xs",testId:"sql-error",variant:"destructive",children:o}),e[72]=o,e[73]=ee):ee=e[73];let V;e[74]!==o||e[75]!==x||e[76]!==h?(V=o===null&&x===null&&(0,c.jsx)("p",{className:"p-4 text-sm text-muted-foreground","data-testid":"sql-empty",children:h("Click Run to execute your query.")}),e[74]=o,e[75]=x,e[76]=h,e[77]=V):V=e[77];let te;e[78]!==n||e[79]!==o||e[80]!==u||e[81]!==x||e[82]!==h?(te=o===null&&x!==null&&(0,c.jsxs)("div",{"data-testid":"sql-result",children:[u==="chart"?(0,c.jsx)(et,{axes:n,result:x}):(0,c.jsx)(jn,{result:x}),(0,c.jsx)("p",{className:"border-t border-border px-3 py-1.5 text-xs text-muted-foreground","data-testid":"sql-count",children:x.truncated?h("Showing the first {max} of {count} rows.",{count:x.rowCount,max:x.rows.length}):h("{count} rows",{count:x.rowCount})})]}),e[78]=n,e[79]=o,e[80]=u,e[81]=x,e[82]=h,e[83]=te):te=e[83];let X;e[84]!==ee||e[85]!==V||e[86]!==te?(X=(0,c.jsxs)("div",{className:"min-h-0 flex-1 overflow-auto",children:[ee,V,te]}),e[84]=ee,e[85]=V,e[86]=te,e[87]=X):X=e[87];let le;return e[88]!==r||e[89]!==Y||e[90]!==X?(le=(0,c.jsxs)("div",{className:r,children:[Y,X]}),e[88]=r,e[89]=Y,e[90]=X,e[91]=le):le=e[91],le},"Kn"),Wn=i((l,e)=>l.trim()===""?e:(l.split(`
|
|
6
|
+
`)[0]??l).slice(0,24),"Un"),Kn=i(l=>{l?.focus(),l?.select()},"Yn"),Un=i(l=>{let e=(0,U.c)(14),{initial:t,onCancel:n,onCommit:r,placeholder:o,testId:s}=l,m=ne(),a;e[0]!==r?(a=i(u=>{r(u.currentTarget.value.trim())},"a"),e[0]=r,e[1]=a):a=e[1];let d=a,f;e[2]!==n||e[3]!==r?(f=i(u=>{u.key==="Enter"?r(u.currentTarget.value.trim()):u.key==="Escape"&&n()},"f"),e[2]=n,e[3]=r,e[4]=f):f=e[4];let p=f,b;e[5]!==m?(b=m("Tab title"),e[5]=m,e[6]=b):b=e[6];let v;return e[7]!==t||e[8]!==d||e[9]!==p||e[10]!==o||e[11]!==b||e[12]!==s?(v=(0,c.jsx)("input",{"aria-label":b,className:"w-40 rounded border border-ring bg-background px-1 py-0.5 text-xs outline-none","data-testid":s,defaultValue:t,onBlur:d,onKeyDown:p,placeholder:o,ref:Kn,type:"text"}),e[7]=t,e[8]=d,e[9]=p,e[10]=o,e[11]=b,e[12]=s,e[13]=v):v=e[13],v},"Jn"),Gn=i(l=>{let e=(0,U.c)(29),{idBase:t,onDiscard:n,onKeep:r}=l,o=ne(),s=`sql-tab-close-prompt-${t}`,m;e[0]!==o?(m=o("Discard?"),e[0]=o,e[1]=m):m=e[1];let a;e[2]!==m?(a=(0,c.jsx)("span",{className:"text-[11px] text-muted-foreground",children:m}),e[2]=m,e[3]=a):a=e[3];let d;e[4]!==o?(d=o("Discard changes"),e[4]=o,e[5]=d):d=e[5];let f=`sql-tab-close-confirm-${t}`,p;e[6]!==o?(p=o("Discard changes"),e[6]=o,e[7]=p):p=e[7];let b;e[8]===Symbol.for("react.memo_cache_sentinel")?(b=(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M5 13l4 4L19 7"})}),e[8]=b):b=e[8];let v;e[9]!==n||e[10]!==d||e[11]!==f||e[12]!==p?(v=(0,c.jsx)("button",{"aria-label":d,className:"flex size-5 items-center justify-center rounded text-destructive hover:bg-destructive/10","data-testid":f,onClick:n,title:p,type:"button",children:b}),e[9]=n,e[10]=d,e[11]=f,e[12]=p,e[13]=v):v=e[13];let u;e[14]!==o?(u=o("Keep editing"),e[14]=o,e[15]=u):u=e[15];let x=`sql-tab-close-cancel-${t}`,y;e[16]!==o?(y=o("Keep editing"),e[16]=o,e[17]=y):y=e[17];let w;e[18]===Symbol.for("react.memo_cache_sentinel")?(w=(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2.4,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})}),e[18]=w):w=e[18];let g;e[19]!==r||e[20]!==x||e[21]!==y||e[22]!==u?(g=(0,c.jsx)("button",{"aria-label":u,className:"flex size-5 items-center justify-center rounded text-muted-foreground hover:bg-accent","data-testid":x,onClick:r,title:y,type:"button",children:w}),e[19]=r,e[20]=x,e[21]=y,e[22]=u,e[23]=g):g=e[23];let h;return e[24]!==s||e[25]!==g||e[26]!==a||e[27]!==v?(h=(0,c.jsxs)("span",{className:"flex shrink-0 items-center gap-1","data-testid":s,role:"group",children:[a,v,g]}),e[24]=s,e[25]=g,e[26]=a,e[27]=v,e[28]=h):h=e[28],h},"Gn"),Jn=i(l=>{let e=(0,U.c)(47),{active:t,canClose:n,onClose:r,onMenu:o,onRename:s,onSelect:m,tab:a}=l,d=ne(),[f,p]=(0,Q.useState)(!1),[b,v]=(0,Q.useState)(!1),u;e[0]!==o||e[1]!==a.id?(u=i(F=>{o(a.id,F)},"c"),e[0]=o,e[1]=a.id,e[2]=u):u=e[2];let x=u,y;e[3]!==m||e[4]!==a.id?(y=i(()=>{m(a.id)},"v"),e[3]=m,e[4]=a.id,e[5]=y):y=e[5];let w=y,g;e[6]===Symbol.for("react.memo_cache_sentinel")?(g=i(()=>{p(!0)},"b"),e[6]=g):g=e[6];let h=g,S;e[7]!==r||e[8]!==a?(S=i(F=>{F.stopPropagation(),it(a)?v(!0):r(a.id)},"w"),e[7]=r,e[8]=a,e[9]=S):S=e[9];let C=S,k;e[10]!==r||e[11]!==a.id?(k=i(F=>{F.stopPropagation(),v(!1),r(a.id)},"S"),e[10]=r,e[11]=a.id,e[12]=k):k=e[12];let q=k,I;e[13]===Symbol.for("react.memo_cache_sentinel")?(I=i(F=>{F.stopPropagation(),v(!1)},"q"),e[13]=I):I=e[13];let O=I,L;e[14]!==s||e[15]!==a.id?(L=i(F=>{s(a.id,F),p(!1)},"R"),e[14]=s,e[15]=a.id,e[16]=L):L=e[16];let T=L,E;e[17]===Symbol.for("react.memo_cache_sentinel")?(E=i(()=>{p(!1)},"I"),e[17]=E):E=e[17];let M=E,D;e[18]!==a.name?(D=a.name.trim(),e[18]=a.name,e[19]=D):D=e[19];let R=D,A;e[20]!==d||e[21]!==a.sql?(A=Wn(a.sql,d("Untitled")),e[20]=d,e[21]=a.sql,e[22]=A):A=e[22];let _=A,$=t?"bg-background text-foreground":"bg-muted/40 text-muted-foreground hover:text-foreground",N;e[23]!==$?(N=ue("group/tab flex shrink-0 items-center gap-1 border-e border-border ps-3 pe-1.5 text-xs",$),e[23]=$,e[24]=N):N=e[24];let B=`sql-tab-${a.id}`,j;e[25]!==t||e[26]!==T||e[27]!==R||e[28]!==_||e[29]!==f||e[30]!==w||e[31]!==d||e[32]!==a.id?(j=f?(0,c.jsx)(Un,{initial:R,onCancel:M,onCommit:T,placeholder:_,testId:`sql-tab-rename-${a.id}`}):(0,c.jsx)("button",{"aria-pressed":t,className:"max-w-40 truncate py-1.5 outline-none","data-testid":`sql-tab-select-${a.id}`,onClick:w,onDoubleClick:h,title:d("Double-click to rename"),type:"button",children:R===""?_:R}),e[25]=t,e[26]=T,e[27]=R,e[28]=_,e[29]=f,e[30]=w,e[31]=d,e[32]=a.id,e[33]=j):j=e[33];let H;e[34]!==n||e[35]!==q||e[36]!==b||e[37]!==C||e[38]!==d||e[39]!==a.id?(H=n&&(b?(0,c.jsx)(Gn,{idBase:a.id,onDiscard:q,onKeep:O}):(0,c.jsx)("button",{"aria-label":d("Close tab"),className:"flex size-5 shrink-0 items-center justify-center rounded text-muted-foreground hover:bg-destructive/10 hover:text-destructive","data-testid":`sql-tab-close-${a.id}`,onClick:C,title:d("Close tab"),type:"button",children:(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M6 6l12 12M18 6 6 18"})})})),e[34]=n,e[35]=q,e[36]=b,e[37]=C,e[38]=d,e[39]=a.id,e[40]=H):H=e[40];let W;return e[41]!==x||e[42]!==N||e[43]!==B||e[44]!==j||e[45]!==H?(W=(0,c.jsxs)("div",{className:N,"data-testid":B,onContextMenu:x,children:[j,H]}),e[41]=x,e[42]=N,e[43]=B,e[44]=j,e[45]=H,e[46]=W):W=e[46],W},"Vn"),Yn=i(l=>{let e=(0,U.c)(43),{model:t,onSelect:n}=l,r=ne(),{activeTab:o,addEditorTab:s,cancelBulk:m,closeEditorTab:a,closeTabMenu:d,confirmBulk:f,menuStyle:p,onBackdropContextMenu:b,onCloseAll:v,onCloseOthers:u,onCloseToRight:x,openTabMenu:y,pendingBulk:w,renameTab:g,tabMenu:h,tabs:S}=t,C;if(e[0]!==o||e[1]!==a||e[2]!==n||e[3]!==y||e[4]!==g||e[5]!==S){let D;e[7]!==o||e[8]!==a||e[9]!==n||e[10]!==y||e[11]!==g||e[12]!==S.length?(D=i(R=>(0,c.jsx)(Jn,{active:R.id===o.id,canClose:S.length>1,onClose:a,onMenu:y,onRename:g,onSelect:n,tab:R},R.id),"O"),e[7]=o,e[8]=a,e[9]=n,e[10]=y,e[11]=g,e[12]=S.length,e[13]=D):D=e[13],C=S.map(D),e[0]=o,e[1]=a,e[2]=n,e[3]=y,e[4]=g,e[5]=S,e[6]=C}else C=e[6];let k;e[14]!==r?(k=r("New tab"),e[14]=r,e[15]=k):k=e[15];let q=S.length>=Be,I;e[16]!==r?(I=r("New tab"),e[16]=r,e[17]=I):I=e[17];let O;e[18]===Symbol.for("react.memo_cache_sentinel")?(O=(0,c.jsx)("svg",{"aria-hidden":"true",className:"size-4",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.7,viewBox:"0 0 24 24",children:(0,c.jsx)("path",{d:"M12 5v14M5 12h14"})}),e[18]=O):O=e[18];let L;e[19]!==s||e[20]!==k||e[21]!==q||e[22]!==I?(L=(0,c.jsx)("button",{"aria-label":k,className:"flex size-8 shrink-0 items-center justify-center text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-add",disabled:q,onClick:s,title:I,type:"button",children:O}),e[19]=s,e[20]=k,e[21]=q,e[22]=I,e[23]=L):L=e[23];let T;e[24]!==C||e[25]!==L?(T=(0,c.jsxs)("div",{className:"flex shrink-0 items-stretch overflow-x-auto border-b border-border bg-muted/30","data-testid":"sql-tab-strip",role:"tablist",children:[C,L]}),e[24]=C,e[25]=L,e[26]=T):T=e[26];let E;e[27]!==m||e[28]!==d||e[29]!==f||e[30]!==p||e[31]!==b||e[32]!==v||e[33]!==u||e[34]!==x||e[35]!==w||e[36]!==r||e[37]!==h||e[38]!==S?(E=h!==null&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("div",{className:"fixed inset-0 z-40","data-testid":"sql-tab-menu-backdrop",onClick:d,onContextMenu:b,role:"presentation"}),(0,c.jsx)("div",{className:"fixed z-50 min-w-44 rounded-md border border-border bg-popover py-1 text-popover-foreground shadow-md","data-testid":"sql-tab-menu",role:"menu",style:p,children:w===null?(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-others",disabled:S.length<=1,onClick:u,role:"menuitem",type:"button",children:r("Close other tabs")}),(0,c.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-40","data-testid":"sql-tab-menu-close-right",disabled:S.findIndex(D=>D.id===h.id)>=S.length-1,onClick:x,role:"menuitem",type:"button",children:r("Close tabs to the right")}),(0,c.jsx)("button",{className:"flex w-full items-center px-3 py-1.5 text-start text-xs outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-close-all",onClick:v,role:"menuitem",type:"button",children:r("Close all tabs")})]}):(0,c.jsxs)("div",{className:"px-3 py-1.5","data-testid":"sql-tab-menu-confirm",children:[(0,c.jsx)("p",{className:"pb-1.5 text-xs text-muted-foreground",children:r("Discard unsaved tabs?")}),(0,c.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,c.jsx)("button",{className:"rounded px-2 py-1 text-xs font-medium text-destructive outline-none hover:bg-destructive/10 focus-visible:bg-destructive/10","data-testid":"sql-tab-menu-confirm-discard",onClick:f,type:"button",children:r("Discard")}),(0,c.jsx)("button",{className:"rounded px-2 py-1 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"sql-tab-menu-confirm-cancel",onClick:m,type:"button",children:r("Cancel")})]})]})})]}),e[27]=m,e[28]=d,e[29]=f,e[30]=p,e[31]=b,e[32]=v,e[33]=u,e[34]=x,e[35]=w,e[36]=r,e[37]=h,e[38]=S,e[39]=E):E=e[39];let M;return e[40]!==T||e[41]!==E?(M=(0,c.jsxs)(c.Fragment,{children:[T,E]}),e[40]=T,e[41]=E,e[42]=M):M=e[42],M},"Xn"),Vn=ve(we.runSql),Xn="lunora-studio-sql-split-view",Zn=i(()=>Se(dt[0]?.sql??""),"to"),go=i(l=>{let e=(0,U.c)(102),{initialShardKey:t}=l,n=Ne(),r=kn(Zn),{activeTab:o,output:s,patchActiveOutput:m,patchActiveTab:a,setActiveTabId:d,unlinkQuery:f}=r,p;e[0]!==m||e[1]!==a?(p=i((se,de)=>{a({activeId:de,sql:se}),m({chart:void 0,error:null,failed:void 0,result:null})},"h"),e[0]=m,e[1]=a,e[2]=p):p=e[2];let b=p,v;e[3]!==b||e[4]!==f?(v={loadIntoActiveTab:b,unlinkQuery:f},e[3]=b,e[4]=f,e[5]=v):v=e[5];let u=Tn(v),{recordHistory:x,updateQuerySql:y}=u,w=o.sql,{activeId:g}=o,{chart:h,error:S,failed:C,result:k}=s,q=s.pane,[I,O]=(0,Q.useState)(t??""),[L,T]=(0,Q.useState)(!1),[E,M]=Me(Xn,!1),{probe:D,schema:R}=cn(I),A;e[6]!==g||e[7]!==a||e[8]!==y?(A=i(se=>{a({sql:se}),g!==null&&y(g,se)},"M"),e[6]=g,e[7]=a,e[8]=y,e[9]=A):A=e[9];let _=A,$=Kt(w,R,I),N=Ve(I),B;e[10]!==N||e[11]!==m||e[12]!==k?(B=i(()=>{k!==null&&ce((async()=>{let se=await N.inferChart({columns:k.columns,rowCount:k.rowCount,types:Object.fromEntries(k.columns.map(de=>[de,typeof(k.rows[0]?.[de]??"")]))});m({chart:se})})())},"z"),e[10]=N,e[11]=m,e[12]=k,e[13]=B):B=e[13];let j=B,H;e[14]!==n||e[15]!==w||e[16]!==m||e[17]!==x||e[18]!==I?(H=i(async se=>{if(w.trim()==="")return;T(!0);let de=se==="explain"?`EXPLAIN QUERY PLAN ${w}`:w;try{let Ee=await n.query(Vn,{sql:de},ye(I));m({chart:void 0,error:null,failed:void 0,pane:se,result:Ee}),je(I),x(de)}catch(Ee){let Pe=Ee;m({chart:void 0,error:Oe(Pe),failed:{error:Oe(Pe),sql:de},pane:se,result:null})}T(!1)},"Q"),e[14]=n,e[15]=w,e[16]=m,e[17]=x,e[18]=I,e[19]=H):H=e[19];let W=H,F;e[20]!==W?(F=i(()=>{ce(W("results"))},"F"),e[20]=W,e[21]=F):F=e[21];let Z=F,G;e[22]!==s.pane||e[23]!==W?(G=i(()=>{ce(W(s.pane))},"U"),e[22]=s.pane,e[23]=W,e[24]=G):G=e[24];let oe;e[25]!==D||e[26]!==R||e[27]!==_||e[28]!==G?(oe={onSubmit:G,probe:D,schema:R,setDraft:_},e[25]=D,e[26]=R,e[27]=_,e[28]=G,e[29]=oe):oe=e[29];let z=mn(oe),{closeAutocomplete:re}=z,Y;e[30]!==w||e[31]!==_?(Y=i(()=>{_(vt(w))},"J"),e[30]=w,e[31]=_,e[32]=Y):Y=e[32];let ee=Y,V;e[33]!==re||e[34]!==d?(V=i(se=>{re(),d(se)},"G"),e[33]=re,e[34]=d,e[35]=V):V=e[35];let te=V,X;e[36]!==m?(X=i(()=>{m({pane:"results"})},"V"),e[36]=m,e[37]=X):X=e[37];let le=X,ie;e[38]!==W?(ie=i(()=>{ce(W("explain"))},"ie"),e[38]=W,e[39]=ie):ie=e[39];let P=ie,K;e[40]!==m?(K=i(()=>{m({pane:"chart"})},"W"),e[40]=m,e[41]=K):K=e[41];let J=K,ae;e[42]!==M||e[43]!==E?(ae=i(()=>{M(!E)},"ae"),e[42]=M,e[43]=E,e[44]=ae):ae=e[44];let xe=ae,Te=E?"flex min-h-0 flex-1 flex-row":"flex min-h-0 flex-1 flex-col",Le=E?"flex w-2/5 min-h-0 min-w-0 shrink-0 flex-col border-s border-border":"flex h-2/5 min-h-0 shrink-0 flex-col border-t border-border",me;e[45]!==g||e[46]!==u.clearHistory||e[47]!==u.deleteQuery||e[48]!==u.history||e[49]!==u.listRef||e[50]!==u.loadFromHistory||e[51]!==u.loadTemplate||e[52]!==u.newQuery||e[53]!==u.onSearchChange||e[54]!==u.queries||e[55]!==u.search||e[56]!==u.selectQuery?(me=(0,c.jsx)(Qn,{activeId:g,history:u.history,listRef:u.listRef,onClearHistory:u.clearHistory,onDelete:u.deleteQuery,onLoadHistory:u.loadFromHistory,onLoadTemplate:u.loadTemplate,onNew:u.newQuery,onSearchChange:u.onSearchChange,onSelect:u.selectQuery,queries:u.queries,search:u.search}),e[45]=g,e[46]=u.clearHistory,e[47]=u.deleteQuery,e[48]=u.history,e[49]=u.listRef,e[50]=u.loadFromHistory,e[51]=u.loadTemplate,e[52]=u.newQuery,e[53]=u.onSearchChange,e[54]=u.queries,e[55]=u.search,e[56]=u.selectQuery,e[57]=me):me=e[57];let he;e[58]!==r||e[59]!==te?(he=(0,c.jsx)(Yn,{model:r,onSelect:te}),e[58]=r,e[59]=te,e[60]=he):he=e[60];let fe;e[61]!==N||e[62]!==$||e[63]!==w||e[64]!==C||e[65]!==_||e[66]!==z.autocompleteState||e[67]!==z.editorRef||e[68]!==z.gutterRef||e[69]!==z.handlers||e[70]!==z.listboxId||e[71]!==z.onPickSuggestion||e[72]!==z.overlayRef||e[73]!==z.revealDiagnostic?(fe=(0,c.jsx)($n,{assistant:N,autocomplete:z.autocompleteState,diagnostics:$,draft:w,editorRef:z.editorRef,failed:C,gutterRef:z.gutterRef,handlers:z.handlers,listboxId:z.listboxId,onGenerated:_,onPickSuggestion:z.onPickSuggestion,onRevealDiagnostic:z.revealDiagnostic,overlayRef:z.overlayRef}),e[61]=N,e[62]=$,e[63]=w,e[64]=C,e[65]=_,e[66]=z.autocompleteState,e[67]=z.editorRef,e[68]=z.gutterRef,e[69]=z.handlers,e[70]=z.listboxId,e[71]=z.onPickSuggestion,e[72]=z.overlayRef,e[73]=z.revealDiagnostic,e[74]=fe):fe=e[74];let pe;e[75]!==N||e[76]!==S||e[77]!==ee||e[78]!==j||e[79]!==h||e[80]!==Z||e[81]!==k||e[82]!==Le||e[83]!==L||e[84]!==I||e[85]!==J||e[86]!==P||e[87]!==le||e[88]!==E||e[89]!==q||e[90]!==xe?(pe=(0,c.jsx)(Hn,{assistant:N,chart:h,className:Le,error:S,onFormat:ee,onInferChart:j,onRun:Z,onShardKeyChange:O,onShowChart:J,onShowExplain:P,onShowResults:le,onToggleSplit:xe,pane:q,result:k,running:L,shardKey:I,splitView:E}),e[75]=N,e[76]=S,e[77]=ee,e[78]=j,e[79]=h,e[80]=Z,e[81]=k,e[82]=Le,e[83]=L,e[84]=I,e[85]=J,e[86]=P,e[87]=le,e[88]=E,e[89]=q,e[90]=xe,e[91]=pe):pe=e[91];let be;e[92]!==fe||e[93]!==pe||e[94]!==Te?(be=(0,c.jsxs)("div",{className:Te,children:[fe,pe]}),e[92]=fe,e[93]=pe,e[94]=Te,e[95]=be):be=e[95];let ge;e[96]!==he||e[97]!==be?(ge=(0,c.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[he,be]}),e[96]=he,e[97]=be,e[98]=ge):ge=e[98];let ke;return e[99]!==me||e[100]!==ge?(ke=(0,c.jsxs)("div",{className:"flex h-full min-w-0","data-testid":"lunora-sql-editor",children:[me,ge]}),e[99]=me,e[100]=ge,e[101]=ke):ke=e[101],ke},"So");export{go as SqlEditorPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{D as a,J as j,Y as de,c as J,e as ce,f as le,g as pe,h as fe,ma as me,wa as ge}from"./chunk-
|
|
1
|
+
import{D as a,J as j,Y as de,c as J,e as ce,f as le,g as pe,h as fe,ma as me,wa as ge}from"./chunk-2QSHLBCO.js";import{b as H}from"./chunk-BGBLQ563.js";import{F as B,J as k,O as Y,P as z,h as ue,p as ae}from"./chunk-CFPZYHPY.js";import{a as re}from"./chunk-7QIFDWQV.js";import{a as P,c as F,i as ie,r as se}from"./chunk-2OUPA2WJ.js";import{g as O,i as w}from"./chunk-6ST5ECQA.js";import{a as r,e as b,f as q,h as we}from"./chunk-3XIESWL4.js";var he=b(q(),1),Q=b(re(),1);function $e(e,t){let n=he.useRef(null);function o(u){Q.flushSync(()=>{e.setOpen(!1,z(Y.focusOut,u.nativeEvent,u.currentTarget))}),pe(n.current)?.focus()}r(o,"handlePreFocusGuardFocus");function c(u){let i=e.select("positionerElement");if(i&&fe(u,i))e.context.beforeContentFocusGuardRef.current?.focus();else{Q.flushSync(()=>{e.setOpen(!1,z(Y.focusOut,u.nativeEvent,u.currentTarget))});let s=le(e.context.triggerFocusTargetRef.current||t.current);for(;s!==null&&ae(i,s);){let m=s;if(s=ce(s),s===m)break}s?.focus()}}return r(c,"handleFocusTargetFocus"),{preFocusGuardRef:n,handlePreFocusGuardFocus:o,handleFocusTargetFocus:c}}r($e,"useTriggerFocusGuards");var l=b(q(),1),ve=b(re(),1);var M=b(q(),1);function X(e){let t=se(e),n=parseFloat(t.width)||0,o=parseFloat(t.height)||0,c=ie(e),u=c?e.offsetWidth:n,i=c?e.offsetHeight:o;return(J(n)!==u||J(o)!==i)&&(n=u,o=i),{width:n,height:o}}r(X,"getCssDimensions");function Re(e){let{popupElement:t,positionerElement:n,content:o,mounted:c,onMeasureLayout:u,onMeasureLayoutComplete:i,side:s,direction:m}=e,x=k(t,!0,!1),g=B(),p=M.useRef(null),D=M.useRef(!0),f=M.useRef(O),I=F(u),v=F(i),C=M.useMemo(()=>{let h=s==="top",R=s==="left";return m==="rtl"?(h=h||s==="inline-end",R=R||s==="inline-end"):(h=h||s==="inline-start",R=R||s==="inline-start"),h?{position:"absolute",[s==="top"?"bottom":"top"]:"0",[R?"right":"left"]:"0"}:w},[s,m]);P(()=>{if(!c){f.current=O,D.current=!0,p.current=null;return}if(!t||!n)return;f.current=ye(t,C),Z(t,"auto");let h=K(t,"position","static"),R=K(t,"transform","none"),U=K(t,"scale","1"),y=ye(n,{"--available-width":"max-content","--available-height":"max-content"});function T(){h(),R(),y()}r(T,"restoreMeasurementOverrides");function L(){T(),U()}if(r(L,"restoreMeasurementOverridesIncludingScale"),I?.(),D.current||p.current===null){G(n,"max-content");let E=X(t);return p.current=E,G(n,E),L(),v?.(null,E),D.current=!1,()=>{f.current(),f.current=O}}G(n,"max-content");let N=p.current,S=X(t);p.current=S,Z(t,N),L(),v?.(N,S),G(n,S);let $=new AbortController;return g.request(()=>{Z(t,S),x(()=>{t.style.setProperty("--popup-width","auto"),t.style.setProperty("--popup-height","auto")},$.signal)}),()=>{$.abort(),g.cancel(),f.current(),f.current=O}},[o,t,n,x,g,c,I,v,C])}r(Re,"usePopupAutoResize");function K(e,t,n){let o=e.style.getPropertyValue(t);return e.style.setProperty(t,n),()=>{e.style.setProperty(t,o)}}r(K,"overrideElementStyle");function ye(e,t){let n=[];for(let[o,c]of Object.entries(t))n.push(K(e,o,c));return n.length?()=>{n.forEach(o=>o())}:O}r(ye,"applyElementStyles");function Z(e,t){let n=t==="auto"?"auto":`${t.width}px`,o=t==="auto"?"auto":`${t.height}px`;e.style.setProperty("--popup-width",n),e.style.setProperty("--popup-height",o)}r(Z,"setPopupCssSize");function G(e,t){let n=t==="max-content"?"max-content":`${t.width}px`,o=t==="max-content"?"max-content":`${t.height}px`;e.style.setProperty("--positioner-width",n),e.style.setProperty("--positioner-height",o)}r(G,"setPositionerCssSize");var A=b(we(),1);function pt(e){let{store:t,side:n,cssVars:o,children:c}=e,u=H(),i=t.useState("activeTriggerElement"),s=t.useState("activeTriggerId"),m=t.useState("open"),x=t.useState("payload"),g=t.useState("mounted"),p=t.useState("popupElement"),D=t.useState("positionerElement"),f=ge(m?i:null),I=Ae(s,x),v=l.useRef(null),[C,h]=l.useState(null),[R,U]=l.useState(null),y=l.useRef(null),T=l.useRef(null),L=k(y,!0,!1),N=B(),[S,$]=l.useState(null),[E,te]=l.useState(!1);P(()=>(t.set("hasViewport",!0),()=>{t.set("hasViewport",!1)}),[t]);let Te=F(()=>{y.current?.style.setProperty("animation","none"),y.current?.style.setProperty("transition","none"),T.current?.style.setProperty("display","none")}),Ee=F(d=>{y.current?.style.removeProperty("animation"),y.current?.style.removeProperty("transition"),T.current?.style.removeProperty("display"),d&&$(d)}),W=l.useRef(null);P(()=>{(!m||!g)&&(W.current=null)},[m,g]),P(()=>{if(i&&f&&i!==f&&W.current!==i&&v.current){h(v.current),te(!0);let d=Me(f,i);U(d),N.request(()=>{ve.flushSync(()=>{te(!1)}),L(()=>{h(null),$(null),v.current=null})}),W.current=i}},[i,f,C,L,N]),P(()=>{let d=y.current;if(!d)return;let oe=ue(d).createElement("div");for(let Oe of Array.from(d.childNodes))oe.appendChild(Oe.cloneNode(!0));v.current=oe});let ne=C!=null,_;ne?_=(0,A.jsxs)(l.Fragment,{children:[(0,A.jsx)("div",{"data-previous":!0,inert:me(!0),ref:T,style:{...S?{[o.popupWidth]:`${S.width}px`,[o.popupHeight]:`${S.height}px`}:null,position:"absolute"},"data-ending-style":E?void 0:""},"previous"),(0,A.jsx)("div",{"data-current":!0,ref:y,"data-starting-style":E?"":void 0,children:c},I)]}):_=(0,A.jsx)("div",{"data-current":!0,ref:y,children:c},I),P(()=>{let d=T.current;!d||!C||d.replaceChildren(...Array.from(C.childNodes))},[C]),Re({popupElement:p,positionerElement:D,mounted:g,content:x,onMeasureLayout:Te,onMeasureLayoutComplete:Ee,side:n,direction:u});let be={activationDirection:Fe(R),transitioning:ne};return{children:_,state:be}}r(pt,"usePopupViewport");function Fe(e){if(e)return`${Pe(e.horizontal,5,"right","left")} ${Pe(e.vertical,5,"down","up")}`}r(Fe,"getActivationDirection");function Pe(e,t,n,o){return e>t?n:e<-t?o:""}r(Pe,"getValueWithTolerance");function Me(e,t){let n=e.getBoundingClientRect(),o=t.getBoundingClientRect(),c={x:n.left+n.width/2,y:n.top+n.height/2},u={x:o.left+o.width/2,y:o.top+o.height/2};return{horizontal:u.x-c.x,vertical:u.y-c.y}}r(Me,"calculateRelativePosition");function Ae(e,t){let[n,o]=l.useState(0),c=l.useRef(e),u=l.useRef(t),i=l.useRef(!1);return P(()=>{let s=c.current,m=u.current,x=e!==s,g=t!==m;x?(o(p=>p+1),i.current=!g):i.current&&g&&(o(p=>p+1),i.current=!1),c.current=e,u.current=t},[e,t]),`${e??"current"}-${n}`}r(Ae,"usePopupContentKey");function Ce(){return new j({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:new de,floatingId:void 0,syncOnly:!1,nested:!1,onOpenChange:void 0})}r(Ce,"getEmptyRootContext");function St(){return{open:!1,openProp:void 0,mounted:!1,transitionStatus:void 0,floatingRootContext:Ce(),floatingId:void 0,triggerCount:0,preventUnmountingOnClose:!1,payload:void 0,activeTriggerId:null,activeTriggerElement:null,triggerIdProp:void 0,popupElement:null,positionerElement:null,activeTriggerProps:w,inactiveTriggerProps:w,popupProps:w}}r(St,"createInitialPopupStoreState");function xt(e,t,n=!1){return new j({open:!1,transitionStatus:void 0,floatingElement:null,referenceElement:null,triggerElements:e,floatingId:t,syncOnly:!0,nested:n,onOpenChange:void 0})}r(xt,"createPopupFloatingRootContext");var V=a(e=>e.triggerIdProp??e.activeTriggerId),ee=a(e=>e.openProp??e.open),Se=a(e=>(e.popupElement?.id??e.floatingId)||void 0);function xe(e,t){return t!==void 0&&ee(e)&&V(e)===t}r(xe,"triggerOwnsOpenPopup");function De(e,t){return xe(e,t)?!0:t!==void 0&&ee(e)&&V(e)==null&&e.triggerCount===1}r(De,"triggerOwnsOpenPopupOrIsOnlyTrigger");var Tt={open:ee,mounted:a(e=>e.mounted),transitionStatus:a(e=>e.transitionStatus),floatingRootContext:a(e=>e.floatingRootContext),triggerCount:a(e=>e.triggerCount),preventUnmountingOnClose:a(e=>e.preventUnmountingOnClose),payload:a(e=>e.payload),activeTriggerId:V,activeTriggerElement:a(e=>e.mounted?e.activeTriggerElement:null),popupId:Se,isTriggerActive:a((e,t)=>t!==void 0&&V(e)===t),isOpenedByTrigger:a((e,t)=>xe(e,t)),isMountedByTrigger:a((e,t)=>t!==void 0&&V(e)===t&&e.mounted),triggerProps:a((e,t)=>t?e.activeTriggerProps:e.inactiveTriggerProps),triggerPopupId:a((e,t)=>De(e,t)?Se(e):void 0),popupProps:a(e=>e.popupProps),popupElement:a(e=>e.popupElement),positionerElement:a(e=>e.positionerElement)};export{St as a,xt as b,Tt as c,$e as d,pt as e};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{R as k}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as q}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as F}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as B}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{a as U}from"./chunk-ERMTJYQF.js";import{c as R}from"./chunk-XDAT7LHC.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as M}from"./chunk-XQCVZAGU.js";import{a as G,b as H,c as J,d as P,e as x,f as w}from"./chunk-MIQTKZAR.js";import{a as z,e as D}from"./chunk-UZERI5YC.js";import{d as T,q as O}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as L,e as j,f as V,g as X,h as Y}from"./chunk-3XIESWL4.js";var K=j(X(),1),W=j(V(),1);var t=j(Y(),1);var de=L(()=>{let e=(0,K.c)(39),r=T(),[s,$]=(0,W.useState)(""),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y={},e[0]=y):y=e[0];let{data:b,error:i,errorSource:S,isLoading:_,refetch:E}=R(U.getAuthAuditLog,y),A;if(e[1]!==b?.entries||e[2]!==s){let a=b?.entries??[],v=s.trim().toLowerCase();A=v===""?a:a.filter(N=>N.event.toLowerCase().includes(v)||(N.actorId??"").toLowerCase().includes(v)||(N.actorEmail??"").toLowerCase().includes(v)||(N.ip??"").toLowerCase().includes(v)||N.outcome.toLowerCase().includes(v)),e[1]=b?.entries,e[2]=s,e[3]=A}else A=e[3];let o=A,C;e[4]===Symbol.for("react.memo_cache_sentinel")?(C=L(a=>{$(a.target.value)},"I"),e[4]=C):C=e[4];let Q=C,l;e[5]!==r?(l=r("Filter security events"),e[5]=r,e[6]=l):l=e[6];let n;e[7]!==r?(n=r("filter event, actor, IP"),e[7]=r,e[8]=n):n=e[8];let c;e[9]!==s||e[10]!==l||e[11]!==n?(c=(0,t.jsx)(k,{"aria-label":l,className:"h-8 w-56","data-testid":"aa-search",onChange:Q,placeholder:n,value:s}),e[9]=s,e[10]=l,e[11]=n,e[12]=c):c=e[12];let d;e[13]!==E?(d=L(()=>{E()},"m"),e[13]=E,e[14]=d):d=e[14];let m;e[15]!==r?(m=r("Refresh"),e[15]=r,e[16]=m):m=e[16];let u;e[17]!==d||e[18]!==m?(u=(0,t.jsx)(q,{"data-testid":"aa-refresh",onClick:d,size:"xs",type:"button",variant:"ghost",children:m}),e[17]=d,e[18]=m,e[19]=u):u=e[19];let h;e[20]!==c||e[21]!==u?(h=(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[c,u]}),e[20]=c,e[21]=u,e[22]=h):h=e[22];let f;e[23]!==i||e[24]!==S?(f=i!==null&&(0,t.jsx)(B,{error:S,testId:"aa-error"}),e[23]=i,e[24]=S,e[25]=f):f=e[25];let p;e[26]!==i||e[27]!==o.length||e[28]!==_||e[29]!==r?(p=i===null&&!_&&o.length===0&&(0,t.jsx)(M,{description:r("Authentication and security events are recorded here."),testId:"aa-empty",title:r("No security events.")}),e[26]=i,e[27]=o.length,e[28]=_,e[29]=r,e[30]=p):p=e[30];let g;e[31]!==o||e[32]!==r?(g=o.length>0&&(0,t.jsx)(z,{className:"overflow-hidden py-0",children:(0,t.jsx)(D,{className:"max-h-[30rem] overflow-auto px-0",children:(0,t.jsxs)(G,{"data-testid":"aa-table",children:[(0,t.jsx)(H,{children:(0,t.jsxs)(P,{children:[(0,t.jsx)(x,{children:r("time")}),(0,t.jsx)(x,{children:r("event")}),(0,t.jsx)(x,{children:r("actor")}),(0,t.jsx)(x,{children:r("ip / user agent")}),(0,t.jsx)(x,{children:r("outcome")})]})}),(0,t.jsx)(J,{children:o.map(a=>(0,t.jsxs)(P,{"data-testid":"aa-row",children:[(0,t.jsx)(w,{className:"text-muted-foreground tabular-nums",children:O(a.ts,"\u2014")}),(0,t.jsx)(w,{children:(0,t.jsx)(F,{variant:"secondary",children:a.event})}),(0,t.jsx)(w,{className:"max-w-[24ch] truncate font-mono text-xs",title:a.actorId??void 0,children:a.actorEmail??a.actorId??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"})}),(0,t.jsxs)(w,{className:"max-w-[28ch] truncate text-xs text-muted-foreground",title:a.userAgent??void 0,children:[a.ip??(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),a.userAgent!==void 0&&(0,t.jsxs)("span",{className:"ml-1 opacity-70",children:["\xB7 ",a.userAgent]})]}),(0,t.jsx)(w,{children:(0,t.jsx)(F,{variant:a.outcome==="failure"?"destructive":"outline",children:r(a.outcome)})})]},a.seq))})]})})}),e[31]=o,e[32]=r,e[33]=g):g=e[33];let I;return e[34]!==f||e[35]!==p||e[36]!==g||e[37]!==h?(I=(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-auth-audit",children:[h,f,p,g]}),e[34]=f,e[35]=p,e[36]=g,e[37]=h,e[38]=I):I=e[38],I},"ce");export{de as AuthAuditPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as R}from"./chunk-HJD2YUQS.js";import"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{
|
|
1
|
+
import{b as R}from"./chunk-HJD2YUQS.js";import"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{a as p}from"./chunk-ERMTJYQF.js";import{c as h}from"./chunk-XDAT7LHC.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import"./chunk-MIQTKZAR.js";import"./chunk-UZERI5YC.js";import{d as g}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as s,e as m,g as S,h as _}from"./chunk-3XIESWL4.js";var f=m(S(),1);var k=m(_(),1);var A=s((e,t)=>({"admin-token-weak":e("Weak admin token"),"auth-secret-weak":e("Weak auth secret"),"cookies-insecure":e("Session cookies are not Secure"),"cors-wildcard-credentials":e("Wildcard CORS with credentials"),"csrf-disabled":e("CSRF/origin guard is off"),"dev-args-unredacted":e("Request log keeps un-redacted args"),"security-headers-disabled":e("Security headers are off"),"ws-gate-open":e("Live admin subscriptions are ungated")})[t.kind],"R"),w=s(e=>Array.isArray(e.findings)?e.findings:[],"k"),E=s(e=>({"admin-token-weak":"LUNORA_ADMIN_TOKEN","auth-secret-weak":"AUTH_SECRET","cookies-insecure":"BETTER_AUTH_URL","cors-wildcard-credentials":"LUNORA_ALLOWED_ORIGINS","csrf-disabled":"LUNORA_SECURITY_CSRF","dev-args-unredacted":"request log","security-headers-disabled":"LUNORA_SECURITY_HEADERS","ws-gate-open":"LUNORA_WS_BEARER"})[e.kind],"S"),T=s((e,t)=>({"admin-token-weak":e("Your admin token is {length} characters \u2014 use at least {min} for a brute-force-resistant secret.",{length:t.detail?.length,min:t.detail?.min}),"auth-secret-weak":e("Your auth secret is {length} characters \u2014 use at least {min} (e.g. `openssl rand -hex 32`) to sign sessions safely.",{length:t.detail?.length,min:t.detail?.min}),"cookies-insecure":e("BETTER_AUTH_URL is a plaintext http:// origin, so session cookies cannot be Secure and ride in cleartext. Serve auth over https:// in production."),"cors-wildcard-credentials":e("LUNORA_ALLOWED_ORIGINS includes a wildcard while credentials are allowed \u2014 browsers reject this and it defeats the allowlist. Name explicit origins instead of *."),"csrf-disabled":e("LUNORA_SECURITY_CSRF is off, so cross-origin state-changing cookie requests are not blocked. Re-enable it in production to keep mutations un-forgeable."),"dev-args-unredacted":e("This worker reports a development environment, so the request log stores raw args and identity. Confirm it isn't a mislabeled production deploy."),"security-headers-disabled":e("LUNORA_SECURITY_HEADERS is off, so HSTS, CSP, nosniff, and frame-options are not applied. Re-enable the baseline headers in production."),"ws-gate-open":e("LUNORA_WS_BEARER is unset, so the WebSocket upgrade gate is open: live admin subscriptions need no credential. Set it to gate them like the HTTP admin RPCs.")})[t.kind],"A"),O=s(()=>{let e=(0,f.c)(8),t=g(),r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r={},e[0]=r):r=e[0];let{data:a,error:d,errorSource:c}=h(p.getSecurityAudit,r),n;if(e[1]!==a||e[2]!==t){let u=a===void 0?null:w(a);n=u===null?null:u.map(i=>({description:T(t,i),entity:E(i),issueType:A(t,i),key:i.kind,level:i.level})),e[1]=a,e[2]=t,e[3]=n}else n=e[3];let l=n,o;return e[4]!==d||e[5]!==c||e[6]!==l?(o=(0,k.jsx)(R,{error:d,errorSource:c,rows:l,testId:"lunora-security-advisor"}),e[4]=d,e[5]=c,e[6]=l,e[7]=o):o=e[7],o},"N");export{O as default};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as fe}from"./chunk-LEDWUPXM.js";import"./chunk-2PJNAWB3.js";import{a as ie}from"./chunk-IC4L6G56.js";import{a as pe}from"./chunk-54MMVNPT.js";import"./chunk-BGBLQ563.js";import{R as de}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as x}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as ne}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as he}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{a as I}from"./chunk-ERMTJYQF.js";import{c as ue}from"./chunk-XDAT7LHC.js";import{f as le}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as ce}from"./chunk-XQCVZAGU.js";import{d as oe,f as Z,g as ee,h as te,m as ae,o as me,q as re}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as i,e as Y,f as ge,g as ve,h as Ne,j as se}from"./chunk-3XIESWL4.js";var t=Y(Ne(),1);var xe=Y(ve(),1);var N=Y(ge(),1);function ye({className:a,orientation:e="horizontal",...s}){return(0,t.jsx)(ie,{"data-slot":"separator",orientation:e,className:se("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",a),...s})}i(ye,"xe");var we=/https?:\/\/[^\s"'<>)]+/i,be=i(a=>a===void 0?void 0:we.exec(a)?.[0],"ae"),y=i(a=>a===void 0?"":Array.isArray(a)?a.join(", "):a,"N"),Ce=i(a=>{if(a!==void 0)return be(a.html)??be(a.text)},"Ne"),ke=i((a,e)=>{let s=e.trim().toLowerCase();return s===""?a:a.filter(o=>`${o.subject} ${y(o.to)} ${y(o.cc)}`.toLowerCase().includes(s))},"ye"),Se=i((a,e)=>{if(a.length!==0)return a.find(s=>s.id===e)??a[0]},"we"),Te=Z(I.clearCapturedMail),Le=Z(I.sendTestMail),je=i(a=>{let e=(0,xe.c)(38),{limit:s}=a,o=le(),p;e[0]!==s?(p={limit:s},e[0]=s,e[1]=p):p=e[1];let{data:P,error:w,errorSource:C,isLoading:g,refetch:n}=ue(I.getCapturedMail,p),[k,f]=(0,N.useState)(null),[D,S]=(0,N.useState)(null),[v,l]=(0,N.useState)("html"),[c,W]=(0,N.useState)(""),b=P?.entries??[],r=w??k,u=w===null?k:C,T;e[2]!==o||e[3]!==n?(T=i(async()=>{f(null);try{await o.query(Te,{},ee("")),S(null),n()}catch(m){f(te(m))}},"S"),e[2]=o,e[3]=n,e[4]=T):T=e[4];let B=T,L;e[5]!==o||e[6]!==n?(L=i(async()=>{f(null);try{await o.query(Le,{},ee("")),n()}catch(m){f(te(m))}},"$"),e[5]=o,e[6]=n,e[7]=L):L=e[7];let R=L,j;e[8]!==n?(j=i(()=>{n()},"T"),e[8]=n,e[9]=j):j=e[9],pe(j,!0);let M;e[10]!==B?(M=i(()=>{ae(B())},"L"),e[10]=B,e[11]=M):M=e[11];let U=M,_;e[12]!==R?(_=i(()=>{ae(R())},"j"),e[12]=R,e[13]=_):_=e[13];let G=_,$;e[14]===Symbol.for("react.memo_cache_sentinel")?($=i(m=>{W(m.currentTarget.value)},"M"),e[14]=$):$=e[14];let J=$,z;e[15]===Symbol.for("react.memo_cache_sentinel")?(z=i(m=>{let{id:h}=m.currentTarget.dataset;h!==void 0&&S(h)},"_"),e[15]=z):z=e[15];let K=z,A;e[16]===Symbol.for("react.memo_cache_sentinel")?(A=i(m=>{let h=m.currentTarget.dataset.tab;(h==="headers"||h==="html"||h==="text")&&l(h)},"z"),e[16]=A):A=e[16];let Q=A,F=ke(b,c),O=Se(F,D),d=Ce(O),q;e[17]!==d?(q=i(()=>{d!==void 0&&me(d)},"O"),e[17]=d,e[18]=q):q=e[18];let V=q,E;e[19]!==d?(E=i(()=>{d!==void 0&&"window"in globalThis&&globalThis.window.open(d,"_blank","noopener")},"E"),e[19]=d,e[20]=E):E=e[20];let X=E,H;return e[21]!==b||e[22]!==r||e[23]!==u||e[24]!==c||e[25]!==g||e[26]!==d||e[27]!==U||e[28]!==V||e[29]!==J||e[30]!==X||e[31]!==K||e[32]!==Q||e[33]!==G||e[34]!==O||e[35]!==v||e[36]!==F?(H={entries:b,error:r,errorSource:u,filter:c,isLoading:g,link:d,onClear:U,onCopyLink:V,onFilterChange:J,onOpenLink:X,onSelectMessage:K,onSelectTab:Q,onSendTest:G,selected:O,tab:v,visible:F},e[21]=b,e[22]=r,e[23]=u,e[24]=c,e[25]=g,e[26]=d,e[27]=U,e[28]=V,e[29]=J,e[30]=X,e[31]=K,e[32]=Q,e[33]=G,e[34]=O,e[35]=v,e[36]=F,e[37]=H):H=e[37],H},"Se"),Me=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:">`,_e=i(a=>`${Me}${a}`,"Te"),Je=i(({limit:a=100})=>{let e=oe(),{entries:s,error:o,errorSource:p,filter:P,isLoading:w,link:C,onClear:g,onCopyLink:n,onFilterChange:k,onOpenLink:f,onSelectMessage:D,onSelectTab:S,onSendTest:v,selected:l,tab:c,visible:W}=je({limit:a}),b=i(r=>e(r==="html"?"HTML":r==="text"?"Plain text":"Headers"),"b");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"mail-panel",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)(x,{"data-testid":"mail-send-test",onClick:v,size:"sm",type:"button",variant:"outline",children:e("Send test")}),(0,t.jsx)(x,{"data-testid":"mail-clear",disabled:s.length===0,onClick:g,size:"sm",type:"button",variant:"outline",children:e("Clear inbox")}),s.length>0&&(0,t.jsx)(ne,{className:"ml-auto","data-testid":"mail-count",variant:"secondary",children:e("{count} messages",{count:s.length})})]}),o!==null&&(0,t.jsx)(he,{error:p,testId:"mail-error"}),o===null&&!w&&s.length===0&&(0,t.jsx)(ce,{description:e("Email your app sends in dev is captured here \u2014 nothing is delivered."),icon:(0,t.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,t.jsx)("path",{d:"M4 5h16v14H4z"}),(0,t.jsx)("path",{d:"m4 6 8 6 8-6"})]}),testId:"mail-empty",title:e("No captured email.")}),s.length>0&&(0,t.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[minmax(0,22rem)_1fr]","data-testid":"mail-reader",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsx)(de,{"aria-label":e("Search messages"),"data-testid":"mail-search",onChange:k,placeholder:e("Filter messages"),type:"search",value:P}),(0,t.jsx)(fe,{className:"max-h-[32rem] rounded-xl border border-border bg-card shadow-xs","data-testid":"mail-list",children:(0,t.jsx)("ul",{className:"divide-y",children:W.map(r=>{let u=r.id===l?.id;return(0,t.jsx)("li",{children:(0,t.jsxs)("button",{className:`flex w-full flex-col items-start gap-0.5 px-3 py-2 text-left text-sm hover:bg-muted/60 ${u?"bg-muted":""}`,"data-active":u,"data-id":r.id,"data-testid":"mail-list-item",onClick:D,type:"button",children:[(0,t.jsx)("span",{className:"w-full truncate font-medium",children:r.subject||e("(no subject)")}),(0,t.jsx)("span",{className:"w-full truncate text-xs text-muted-foreground",children:y(r.to)}),(0,t.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:re(r.capturedAt,"\u2014")})]})},r.id)})})})]}),l!==void 0&&(0,t.jsxs)("div",{className:"flex min-w-0 flex-col gap-3 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"mail-detail",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,t.jsx)("h2",{className:"truncate text-base font-semibold","data-testid":"mail-subject",children:l.subject||e("(no subject)")}),(0,t.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-xs text-muted-foreground",children:[(0,t.jsx)("dt",{children:e("From")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:l.from??"\u2014"}),(0,t.jsx)("dt",{children:e("To")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:y(l.to)}),l.cc!==void 0&&l.cc.length>0&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("dt",{children:e("Cc")}),(0,t.jsx)("dd",{className:"truncate font-mono",children:y(l.cc)})]}),(0,t.jsx)("dt",{children:e("Sent")}),(0,t.jsx)("dd",{className:"tabular-nums",children:re(l.capturedAt,"\u2014")})]})]}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"mail-actions",children:[(0,t.jsx)(x,{"data-testid":"mail-copy-link",disabled:C===void 0,onClick:n,size:"sm",type:"button",variant:"outline",children:e("Copy link")}),(0,t.jsx)(x,{"data-testid":"mail-open-link",disabled:C===void 0,onClick:f,size:"sm",type:"button",variant:"outline",children:e("Open in new tab")})]}),(0,t.jsx)(ye,{}),(0,t.jsx)("div",{className:"flex items-center gap-1","data-testid":"mail-tabs",role:"tablist",children:["html","text","headers"].map(r=>(0,t.jsx)(x,{"aria-selected":c===r,"data-tab":r,"data-testid":`mail-tab-${r}`,onClick:S,role:"tab",size:"sm",type:"button",variant:c===r?"secondary":"ghost",children:b(r)},r))}),(0,t.jsxs)("div",{className:"min-h-[12rem]",children:[c==="html"&&(l.html===void 0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No HTML body.")}):(0,t.jsx)("iframe",{className:"h-[24rem] w-full rounded-md border bg-white","data-testid":"mail-preview-html",sandbox:"",srcDoc:_e(l.html),title:e("Email preview")})),c==="text"&&(l.text===void 0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No text body.")}):(0,t.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-text",children:l.text})),c==="headers"&&(l.headers===void 0||Object.keys(l.headers).length===0?(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:e("No headers.")}):(0,t.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-headers",children:Object.entries(l.headers).map(([r,u])=>`${r}: ${u}`).join(`
|
|
2
|
+
`)}))]})]})]})]})},"We");export{Je as MailPanel};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as ee}from"./chunk-QWGT25SE.js";import{a as ke}from"./chunk-ZJGP6EKR.js";import{b as Ce}from"./chunk-AVAC26HJ.js";import{a as de}from"./chunk-XF2B7P5A.js";import{a as Ne}from"./chunk-CTNB2KIA.js";import{a as ve}from"./chunk-X665E2HU.js";import{b as pe}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{a as X}from"./chunk-LFKCLLPT.js";import{R as D}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as ge}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as J}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as be}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{a as se}from"./chunk-ERMTJYQF.js";import{c as ne}from"./chunk-XDAT7LHC.js";import{f as he}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as Z}from"./chunk-XQCVZAGU.js";import{a as xe,b as ye,c as we,d as ie,e as U,f as z}from"./chunk-MIQTKZAR.js";import{d as j,h as ae,i as fe,m as oe}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as N,e as le,f as Ee,g as Fe,h as Me,j as V}from"./chunk-3XIESWL4.js";var _=le(Fe(),1);var T=le(Ee(),1);var r=le(Me(),1);var ue=["trace","debug","log","info","warn","error","fatal"],Ke="LOG_ARCHIVE_NOT_CONFIGURED",Se={debug:"secondary",error:"destructive",fatal:"destructive",info:"outline",log:"outline",trace:"outline",warn:"secondary"},_e={cursor:void 0,error:null,loading:!1,notConfigured:!1,rows:null},$e=N((i,e)=>{switch(e.type){case"append":return{...i,cursor:e.cursor,error:null,loading:!1,rows:[...i.rows??[],...e.rows]};case"failed":return{cursor:void 0,error:e.message,loading:!1,notConfigured:!1,rows:null};case"loaded":return{cursor:e.cursor,error:null,loading:!1,notConfigured:!1,rows:e.rows};case"loading":return{...i,error:null,loading:!0,notConfigured:!1};case"notConfigured":return{cursor:void 0,error:null,loading:!1,notConfigured:!0,rows:null};case"pageFailed":return{...i,error:e.message,loading:!1};default:return i}},"Me"),Ae=N(i=>{let e=(0,_.c)(33),{row:t}=i,n;e[0]!==t.fields?(n=ee(t.fields),e[0]=t.fields,e[1]=n):n=e[1];let c=n,o=`lg-archive-row-${String(t.ts)}`,m;e[2]!==t.ts?(m=new Date(t.ts).toLocaleString(),e[2]=t.ts,e[3]=m):m=e[3];let p;e[4]!==m?(p=(0,r.jsx)(z,{className:"tabular-nums whitespace-nowrap text-xs text-muted-foreground",children:m}),e[4]=m,e[5]=p):p=e[5];let g=Se[t.level],s;e[6]!==t.level||e[7]!==g?(s=(0,r.jsx)(z,{children:(0,r.jsx)(J,{variant:g,children:t.level})}),e[6]=t.level,e[7]=g,e[8]=s):s=e[8];let l;e[9]!==t.functionPath?(l=(0,r.jsx)(z,{className:"font-mono text-xs",children:t.functionPath}),e[9]=t.functionPath,e[10]=l):l=e[10];let v;e[11]!==t.message?(v=(0,r.jsx)("div",{className:"truncate",title:t.message,children:t.message}),e[11]=t.message,e[12]=v):v=e[12];let a;e[13]!==c?(a=c!==""&&(0,r.jsx)("div",{className:"truncate font-mono text-[11px] text-muted-foreground",title:c,children:c}),e[13]=c,e[14]=a):a=e[14];let d;e[15]!==v||e[16]!==a?(d=(0,r.jsxs)(z,{className:"max-w-md",children:[v,a]}),e[15]=v,e[16]=a,e[17]=d):d=e[17];let u=t.traceId??"\u2014",h;e[18]!==u?(h=(0,r.jsx)(z,{className:"font-mono text-[11px] text-muted-foreground",children:u}),e[18]=u,e[19]=h):h=e[19];let x=t.shardKey??"\u2014",f;e[20]!==x?(f=(0,r.jsx)(z,{className:"font-mono text-[11px] text-muted-foreground",children:x}),e[20]=x,e[21]=f):f=e[21];let b=t.userId??"\u2014",y;e[22]!==b?(y=(0,r.jsx)(z,{className:"font-mono text-[11px] text-muted-foreground",children:b}),e[22]=b,e[23]=y):y=e[23];let k;return e[24]!==d||e[25]!==h||e[26]!==f||e[27]!==y||e[28]!==o||e[29]!==p||e[30]!==s||e[31]!==l?(k=(0,r.jsxs)(ie,{"data-testid":o,children:[p,s,l,d,h,f,y]}),e[24]=d,e[25]=h,e[26]=f,e[27]=y,e[28]=o,e[29]=p,e[30]=s,e[31]=l,e[32]=k):k=e[32],k},"Ke"),Oe=N(({shardKey:i})=>{let e=he(),t=j(),[n,c]=(0,T.useState)(""),[o,m]=(0,T.useState)(""),[p,g]=(0,T.useState)(""),[{cursor:s,error:l,loading:v,notConfigured:a,rows:d},u]=(0,T.useReducer)($e,_e),h=X(n.trim(),400),x=X(o.trim(),400),f={...h===""?{}:{functionPathPrefix:h},...p===""?{}:{minLevel:p},...i===""?{}:{shardKey:i},...x===""?{}:{userId:x}},b=JSON.stringify(f),y=(0,T.useRef)(b);(0,T.useEffect)(()=>{let w={cancelled:!1};return y.current=b,oe((async()=>{u({type:"loading"});try{let C=await e.queryLogArchive(f);w.cancelled||u({cursor:C.nextCursor,rows:C.rows,type:"loaded"})}catch(C){w.cancelled||u(fe(C)===Ke?{type:"notConfigured"}:{message:ae(C),type:"failed"})}})()),()=>{w.cancelled=!0}},[e,b]);let k=N(async()=>{if(s===void 0)return;let w=b;u({type:"loading"});try{let C=await e.queryLogArchive({...f,cursor:s});y.current===w&&u({cursor:C.nextCursor,rows:C.rows,type:"append"})}catch(C){y.current===w&&u({message:ae(C),type:"pageFailed"})}},"C"),R=N(w=>{c(w.target.value)},"$"),L=N(w=>{m(w.target.value)},"L"),S=N(w=>{g(w.target.value)},"k"),I=N(()=>{oe(k())},"R");return a?(0,r.jsx)(Z,{action:(0,r.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline",href:de,rel:"noreferrer",target:"_blank",children:t("Open in Cloudflare")}),description:t("Wire pipelineLogSink to a Cloudflare Pipeline \u2192 R2 Data Catalog table and set R2_SQL_ACCOUNT_ID, R2_SQL_TOKEN, R2_SQL_BUCKET to browse the durable log archive here."),testId:"lg-archive-not-configured",title:t("Log archive not configured")}):(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lg-archive",children:[(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,r.jsx)(D,{"aria-label":t("Function path prefix"),className:"h-8 w-48","data-testid":"lg-archive-path",onChange:R,placeholder:t("function path\u2026"),value:n}),(0,r.jsx)(D,{"aria-label":t("User id"),className:"h-8 w-40","data-testid":"lg-archive-user",onChange:L,placeholder:t("user id\u2026"),value:o}),(0,r.jsxs)("select",{"aria-label":t("Minimum level"),className:"h-8 rounded-md border border-border bg-background px-2 text-sm","data-testid":"lg-archive-min-level",onChange:S,value:p,children:[(0,r.jsx)("option",{value:"",children:t("min level")}),ue.map(w=>(0,r.jsx)("option",{value:w,children:w},w))]})]}),l!==null&&(0,r.jsx)("p",{className:"text-sm text-destructive","data-testid":"lg-archive-error",role:"alert",children:l}),v&&d===null&&l===null&&(0,r.jsx)("p",{className:"text-sm text-muted-foreground","data-testid":"lg-archive-loading",children:t("Loading\u2026")}),d!==null&&d.length===0&&(0,r.jsx)(Z,{description:t("No archived logs match these filters. The durable archive fills as pipelineLogSink flushes records to R2."),testId:"lg-archive-empty",title:t("No archived logs.")}),d!==null&&d.length>0&&(0,r.jsx)("div",{className:"overflow-hidden rounded-xl border border-border shadow-xs",children:(0,r.jsxs)(xe,{"data-testid":"lg-archive-table",children:[(0,r.jsx)(ye,{children:(0,r.jsxs)(ie,{children:[(0,r.jsx)(U,{children:t("Time")}),(0,r.jsx)(U,{children:t("Level")}),(0,r.jsx)(U,{children:t("Function")}),(0,r.jsx)(U,{children:t("Message")}),(0,r.jsx)(U,{children:t("Trace")}),(0,r.jsx)(U,{children:t("Shard")}),(0,r.jsx)(U,{children:t("User")})]})}),(0,r.jsx)(we,{children:d.map((w,C)=>(0,r.jsx)(Ae,{row:w},`${String(w.ts)}-${String(C)}`))})]})}),s!==void 0&&(0,r.jsx)("div",{children:(0,r.jsx)(ge,{"data-testid":"lg-archive-more",disabled:v,onClick:I,size:"sm",variant:"outline",children:t(v?"Loading\u2026":"Load more")})})]})},"Ue"),De=N(i=>{let e=(0,_.c)(11),{level:t,onToggle:n,selected:c}=i,o;e[0]!==t||e[1]!==n?(o=N(()=>{n(t)},"o"),e[0]=t,e[1]=n,e[2]=o):o=e[2];let m=o,p=c?"border-border bg-muted font-medium":"border-input text-muted-foreground",g;e[3]!==p?(g=V("rounded-md border px-2 py-1 text-xs",p),e[3]=p,e[4]=g):g=e[4];let s=`logs-level-${t}`,l;return e[5]!==t||e[6]!==m||e[7]!==c||e[8]!==g||e[9]!==s?(l=(0,r.jsx)("button",{"aria-pressed":c,className:g,"data-testid":s,onClick:m,type:"button",children:t}),e[5]=t,e[6]=m,e[7]=c,e[8]=g,e[9]=s,e[10]=l):l=e[10],l},"De"),Ue=N(i=>{let e=(0,_.c)(68),{levelFilter:t,onLogPathChange:n,onSearchChange:c,onTimeRangeChange:o,onToggleLevel:m,onToggleSummary:p,pathFilter:g,search:s,showSummary:l,timeRange:v}=i,a=j(),d;e[0]!==a?(d=a("Search messages"),e[0]=a,e[1]=d):d=e[1];let u;e[2]!==a?(u=a("search message"),e[2]=a,e[3]=u):u=e[3];let h;e[4]!==c||e[5]!==s||e[6]!==d||e[7]!==u?(h=(0,r.jsx)(D,{"aria-label":d,className:"h-8 w-48","data-testid":"lg-search",onChange:c,placeholder:u,value:s}),e[4]=c,e[5]=s,e[6]=d,e[7]=u,e[8]=h):h=e[8];let x;e[9]!==a?(x=a("Function path"),e[9]=a,e[10]=x):x=e[10];let f;e[11]!==a?(f=a("filter path"),e[11]=a,e[12]=f):f=e[12];let b;e[13]!==n||e[14]!==g||e[15]!==x||e[16]!==f?(b=(0,r.jsx)(D,{"aria-label":x,className:"h-8 w-40","data-testid":"logs-path-filter",onChange:n,placeholder:f,value:g}),e[13]=n,e[14]=g,e[15]=x,e[16]=f,e[17]=b):b=e[17];let y;e[18]!==a?(y=a("Level filter"),e[18]=a,e[19]=y):y=e[19];let k;e[20]!==t||e[21]!==m?(k=ue.map(W=>(0,r.jsx)(De,{level:W,onToggle:m,selected:t.has(W)},W)),e[20]=t,e[21]=m,e[22]=k):k=e[22];let R;e[23]!==y||e[24]!==k?(R=(0,r.jsx)("div",{"aria-label":y,className:"inline-flex items-center gap-1","data-testid":"logs-level-filter",role:"group",children:k}),e[23]=y,e[24]=k,e[25]=R):R=e[25];let L;e[26]!==a?(L=a("Time range"),e[26]=a,e[27]=L):L=e[27];let S;e[28]!==a?(S=a("All time"),e[28]=a,e[29]=S):S=e[29];let I;e[30]!==S?(I=(0,r.jsx)("option",{value:"all",children:S}),e[30]=S,e[31]=I):I=e[31];let w;e[32]!==a?(w=a("Last 5m"),e[32]=a,e[33]=w):w=e[33];let C;e[34]!==w?(C=(0,r.jsx)("option",{value:"5m",children:w}),e[34]=w,e[35]=C):C=e[35];let q;e[36]!==a?(q=a("Last 15m"),e[36]=a,e[37]=q):q=e[37];let E;e[38]!==q?(E=(0,r.jsx)("option",{value:"15m",children:q}),e[38]=q,e[39]=E):E=e[39];let F;e[40]!==a?(F=a("Last hour"),e[40]=a,e[41]=F):F=e[41];let M;e[42]!==F?(M=(0,r.jsx)("option",{value:"1h",children:F}),e[42]=F,e[43]=M):M=e[43];let $;e[44]!==o||e[45]!==L||e[46]!==I||e[47]!==C||e[48]!==E||e[49]!==M||e[50]!==v?($=(0,r.jsxs)("select",{"aria-label":L,className:"h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none","data-testid":"logs-time-range",onChange:o,value:v,children:[I,C,E,M]}),e[44]=o,e[45]=L,e[46]=I,e[47]=C,e[48]=E,e[49]=M,e[50]=v,e[51]=$):$=e[51];let G=l?"border-border bg-muted font-medium":"border-input text-muted-foreground",O;e[52]!==G?(O=V("h-8 rounded-md border px-3 text-sm",G),e[52]=G,e[53]=O):O=e[53];let A;e[54]!==l||e[55]!==a?(A=a(l?"List":"Summary"),e[54]=l,e[55]=a,e[56]=A):A=e[56];let K;e[57]!==p||e[58]!==l||e[59]!==O||e[60]!==A?(K=(0,r.jsx)("button",{"aria-pressed":l,className:O,"data-testid":"logs-summary-toggle",onClick:p,type:"button",children:A}),e[57]=p,e[58]=l,e[59]=O,e[60]=A,e[61]=K):K=e[61];let B;return e[62]!==$||e[63]!==K||e[64]!==h||e[65]!==b||e[66]!==R?(B=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[h,b,R,$,K]}),e[62]=$,e[63]=K,e[64]=h,e[65]=b,e[66]=R,e[67]=B):B=e[67],B},"Ve"),ze=N(i=>{let e=(0,_.c)(53),{onOutcomeChange:t,onPathChange:n,onTableChange:c,onUserChange:o,outcomeFilter:m,pathPrefix:p,tableFilter:g,userIdFilter:s}=i,l=j(),v;e[0]!==l?(v=l("Function path"),e[0]=l,e[1]=v):v=e[1];let a;e[2]!==l?(a=l("file:function"),e[2]=l,e[3]=a):a=e[3];let d;e[4]!==n||e[5]!==p||e[6]!==v||e[7]!==a?(d=(0,r.jsx)(D,{"aria-label":v,className:"h-8 w-44","data-testid":"lg-req-path",onChange:n,placeholder:a,value:p}),e[4]=n,e[5]=p,e[6]=v,e[7]=a,e[8]=d):d=e[8];let u;e[9]!==l?(u=l("User id"),e[9]=l,e[10]=u):u=e[10];let h;e[11]!==l?(h=l("userId"),e[11]=l,e[12]=h):h=e[12];let x;e[13]!==o||e[14]!==u||e[15]!==h||e[16]!==s?(x=(0,r.jsx)(D,{"aria-label":u,className:"h-8 w-32","data-testid":"lg-req-user",onChange:o,placeholder:h,value:s}),e[13]=o,e[14]=u,e[15]=h,e[16]=s,e[17]=x):x=e[17];let f;e[18]!==l?(f=l("Table touched"),e[18]=l,e[19]=f):f=e[19];let b;e[20]!==l?(b=l("table"),e[20]=l,e[21]=b):b=e[21];let y;e[22]!==c||e[23]!==f||e[24]!==b||e[25]!==g?(y=(0,r.jsx)(D,{"aria-label":f,className:"h-8 w-32","data-testid":"lg-req-table",onChange:c,placeholder:b,value:g}),e[22]=c,e[23]=f,e[24]=b,e[25]=g,e[26]=y):y=e[26];let k;e[27]!==l?(k=l("Outcome filter"),e[27]=l,e[28]=k):k=e[28];let R;e[29]!==l?(R=l("all"),e[29]=l,e[30]=R):R=e[30];let L;e[31]!==R?(L=(0,r.jsx)("option",{value:"all",children:R}),e[31]=R,e[32]=L):L=e[32];let S;e[33]!==l?(S=l("ok"),e[33]=l,e[34]=S):S=e[34];let I;e[35]!==S?(I=(0,r.jsx)("option",{value:"ok",children:S}),e[35]=S,e[36]=I):I=e[36];let w;e[37]!==l?(w=l("error"),e[37]=l,e[38]=w):w=e[38];let C;e[39]!==w?(C=(0,r.jsx)("option",{value:"error",children:w}),e[39]=w,e[40]=C):C=e[40];let q;e[41]!==t||e[42]!==m||e[43]!==k||e[44]!==L||e[45]!==I||e[46]!==C?(q=(0,r.jsxs)("select",{"aria-label":k,className:"h-8 rounded-md border border-input bg-transparent px-2 text-sm shadow-xs focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-none","data-testid":"lg-req-outcome",onChange:t,value:m,children:[L,I,C]}),e[41]=t,e[42]=m,e[43]=k,e[44]=L,e[45]=I,e[46]=C,e[47]=q):q=e[47];let E;return e[48]!==q||e[49]!==d||e[50]!==x||e[51]!==y?(E=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[d,x,y,q]}),e[48]=q,e[49]=d,e[50]=x,e[51]=y,e[52]=E):E=e[52],E},"je"),Re=N(i=>{let e=(0,_.c)(7),{bucket:t}=i,n;e[0]!==t.key?(n=(0,r.jsx)("span",{className:"truncate text-muted-foreground",role:"gridcell",children:t.key}),e[0]=t.key,e[1]=n):n=e[1];let c;e[2]!==t.count?(c=(0,r.jsx)("span",{className:"shrink-0 tabular-nums",role:"gridcell",children:t.count}),e[2]=t.count,e[3]=c):c=e[3];let o;return e[4]!==n||e[5]!==c?(o=(0,r.jsxs)("div",{className:"flex items-center justify-between gap-4 px-3 py-1 font-mono text-xs","data-testid":"logs-summary-row",role:"row",children:[n,c]}),e[4]=n,e[5]=c,e[6]=o):o=e[6],o},"ve"),We=N(i=>{let e=(0,_.c)(31),{summary:t}=i,n=j(),c;e[0]!==t.total||e[1]!==n?(c=n("{count} entries",{count:t.total}),e[0]=t.total,e[1]=n,e[2]=c):c=e[2];let o;e[3]!==c?(o=(0,r.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"logs-summary-total",children:c}),e[3]=c,e[4]=o):o=e[4];let m;e[5]!==n?(m=n("By level"),e[5]=n,e[6]=m):m=e[6];let p;e[7]!==m?(p=(0,r.jsx)("h4",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:m}),e[7]=m,e[8]=p):p=e[8];let g;e[9]!==t.byLevel?(g=t.byLevel.map(je),e[9]=t.byLevel,e[10]=g):g=e[10];let s;e[11]!==g?(s=(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border","data-testid":"logs-summary-levels",role:"grid",children:g}),e[11]=g,e[12]=s):s=e[12];let l;e[13]!==p||e[14]!==s?(l=(0,r.jsxs)("div",{children:[p,s]}),e[13]=p,e[14]=s,e[15]=l):l=e[15];let v;e[16]!==n?(v=n("By function"),e[16]=n,e[17]=v):v=e[17];let a;e[18]!==v?(a=(0,r.jsx)("h4",{className:"mb-1 font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:v}),e[18]=v,e[19]=a):a=e[19];let d;e[20]!==t.byPath?(d=t.byPath.map(Be),e[20]=t.byPath,e[21]=d):d=e[21];let u;e[22]!==d?(u=(0,r.jsx)("div",{className:"overflow-hidden rounded-lg border border-border","data-testid":"logs-summary-paths",role:"grid",children:d}),e[22]=d,e[23]=u):u=e[23];let h;e[24]!==u||e[25]!==a?(h=(0,r.jsxs)("div",{children:[a,u]}),e[24]=u,e[25]=a,e[26]=h):h=e[26];let x;return e[27]!==h||e[28]!==o||e[29]!==l?(x=(0,r.jsxs)("div",{className:"flex flex-col gap-4 rounded-xl border border-border bg-card p-4 shadow-xs","data-testid":"logs-summary",children:[o,l,h]}),e[27]=h,e[28]=o,e[29]=l,e[30]=x):x=e[30],x},"Be");function je(i){return(0,r.jsx)(Re,{bucket:i},i.key)}N(je,"ze");function Be(i){return(0,r.jsx)(Re,{bucket:i},i.key)}N(Be,"We");var Ve=N(i=>{let e=(0,_.c)(46),{liveError:t,onShardKeyChange:n,onShowArchive:c,onShowErrors:o,onShowRequests:m,shardKey:p,view:g}=i,s=j(),l=g==="requests",v=g==="requests"?"bg-muted font-medium":"text-muted-foreground",a;e[0]!==v?(a=V("px-3 py-1 text-sm",v),e[0]=v,e[1]=a):a=e[1];let d;e[2]!==s?(d=s("Requests"),e[2]=s,e[3]=d):d=e[3];let u;e[4]!==m||e[5]!==l||e[6]!==a||e[7]!==d?(u=(0,r.jsx)("button",{"aria-selected":l,className:a,"data-testid":"lg-view-requests",onClick:m,role:"tab",type:"button",children:d}),e[4]=m,e[5]=l,e[6]=a,e[7]=d,e[8]=u):u=e[8];let h=g==="errors",x=g==="errors"?"bg-muted font-medium":"text-muted-foreground",f;e[9]!==x?(f=V("px-3 py-1 text-sm",x),e[9]=x,e[10]=f):f=e[10];let b;e[11]!==s?(b=s("Errors"),e[11]=s,e[12]=b):b=e[12];let y;e[13]!==o||e[14]!==h||e[15]!==f||e[16]!==b?(y=(0,r.jsx)("button",{"aria-selected":h,className:f,"data-testid":"lg-view-errors",onClick:o,role:"tab",type:"button",children:b}),e[13]=o,e[14]=h,e[15]=f,e[16]=b,e[17]=y):y=e[17];let k=g==="archive",R=g==="archive"?"bg-muted font-medium":"text-muted-foreground",L;e[18]!==R?(L=V("px-3 py-1 text-sm",R),e[18]=R,e[19]=L):L=e[19];let S;e[20]!==s?(S=s("Archive"),e[20]=s,e[21]=S):S=e[21];let I;e[22]!==c||e[23]!==k||e[24]!==L||e[25]!==S?(I=(0,r.jsx)("button",{"aria-selected":k,className:L,"data-testid":"lg-view-archive",onClick:c,role:"tab",type:"button",children:S}),e[22]=c,e[23]=k,e[24]=L,e[25]=S,e[26]=I):I=e[26];let w;e[27]!==y||e[28]!==I||e[29]!==u?(w=(0,r.jsxs)("div",{className:"inline-flex overflow-hidden rounded-lg border border-border",role:"tablist",children:[u,y,I]}),e[27]=y,e[28]=I,e[29]=u,e[30]=w):w=e[30];let C;e[31]!==n||e[32]!==p?(C=(0,r.jsx)(ve,{onChange:n,testId:"lg-shard-input",value:p}),e[31]=n,e[32]=p,e[33]=C):C=e[33];let q;e[34]!==t||e[35]!==g?(q=g!=="archive"&&(0,r.jsx)(Ne,{message:t,prefix:"lg"}),e[34]=t,e[35]=g,e[36]=q):q=e[36];let E;e[37]!==s?(E=s("Open in Cloudflare"),e[37]=s,e[38]=E):E=e[38];let F;e[39]!==E?(F=(0,r.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"lg-cf-link",href:de,rel:"noreferrer",target:"_blank",children:E}),e[39]=E,e[40]=F):F=e[40];let M;return e[41]!==w||e[42]!==C||e[43]!==q||e[44]!==F?(M=(0,r.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[w,C,q,F]}),e[41]=w,e[42]=C,e[43]=q,e[44]=F,e[45]=M):M=e[45],M},"Ge"),ce=400,Ge=36,Qe={height:ce,overflow:"auto"},Ie={left:0,position:"absolute",top:0,width:"100%"},Ye={error:"destructive",ok:"secondary"},He=N(i=>{let e=(0,_.c)(26),{entry:t,index:n,measureRef:c,start:o}=i,m=`translateY(${String(o)}px)`,p;e[0]!==m?(p={...Ie,transform:m},e[0]=m,e[1]=p):p=e[1];let g=p,s;e[2]!==t.fields?(s=ee(t.fields),e[2]=t.fields,e[3]=s):s=e[3];let l=s,v;e[4]!==t.timestamp?(v=new Date(t.timestamp).toLocaleString(),e[4]=t.timestamp,e[5]=v):v=e[5];let a;e[6]!==v?(a=(0,r.jsx)("span",{className:"w-44 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:v}),e[6]=v,e[7]=a):a=e[7];let d=Se[t.level],u;e[8]!==t.level||e[9]!==d?(u=(0,r.jsx)("span",{className:"w-20 shrink-0",role:"gridcell",children:(0,r.jsx)(J,{variant:d,children:t.level})}),e[8]=t.level,e[9]=d,e[10]=u):u=e[10];let h=t.functionPath??"\u2014",x;e[11]!==h?(x=(0,r.jsx)("span",{className:"w-48 shrink-0 truncate text-muted-foreground",role:"gridcell",children:h}),e[11]=h,e[12]=x):x=e[12];let f;e[13]!==l?(f=l===""?null:(0,r.jsx)("span",{className:"ml-2 text-muted-foreground","data-testid":"lg-fields",children:l}),e[13]=l,e[14]=f):f=e[14];let b;e[15]!==t.message||e[16]!==f?(b=(0,r.jsxs)("span",{className:"flex-1 truncate",role:"gridcell",children:[t.message,f]}),e[15]=t.message,e[16]=f,e[17]=b):b=e[17];let y;return e[18]!==n||e[19]!==c||e[20]!==g||e[21]!==b||e[22]!==a||e[23]!==u||e[24]!==x?(y=(0,r.jsxs)("div",{className:"flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50","data-index":n,"data-testid":"lg-row",ref:c,role:"row",style:g,children:[a,u,x,b]}),e[18]=n,e[19]=c,e[20]=g,e[21]=b,e[22]=a,e[23]=u,e[24]=x,e[25]=y):y=e[25],y},"Je"),Le=N(i=>i.length===0?"\u2014":i.join(", "),"ce"),Je=N(i=>{let e=(0,_.c)(37),{entry:t,index:n,measureRef:c,start:o}=i,m=`translateY(${String(o)}px)`,p;e[0]!==m?(p={...Ie,transform:m},e[0]=m,e[1]=p):p=e[1];let g=p,s;e[2]!==t.ts?(s=new Date(t.ts).toLocaleString(),e[2]=t.ts,e[3]=s):s=e[3];let l;e[4]!==s?(l=(0,r.jsx)("span",{className:"w-40 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:s}),e[4]=s,e[5]=l):l=e[5];let v=Ye[t.outcome],a;e[6]!==t.outcome||e[7]!==v?(a=(0,r.jsx)("span",{className:"w-16 shrink-0",role:"gridcell",children:(0,r.jsx)(J,{variant:v,children:t.outcome})}),e[6]=t.outcome,e[7]=v,e[8]=a):a=e[8];let d;e[9]!==t.functionPath?(d=(0,r.jsx)("span",{className:"w-44 shrink-0 truncate",role:"gridcell",title:t.functionPath,children:t.functionPath}),e[9]=t.functionPath,e[10]=d):d=e[10];let u=t.shardKey??"\u2014",h;e[11]!==u?(h=(0,r.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",role:"gridcell",children:u}),e[11]=u,e[12]=h):h=e[12];let x=t.userId??"\u2014",f;e[13]!==x?(f=(0,r.jsx)("span",{className:"w-24 shrink-0 truncate text-muted-foreground",role:"gridcell",children:x}),e[13]=x,e[14]=f):f=e[14];let b;e[15]!==t.durationMs?(b=Math.round(t.durationMs),e[15]=t.durationMs,e[16]=b):b=e[16];let y=`${String(b)}ms`,k;e[17]!==y?(k=(0,r.jsx)("span",{className:"w-16 shrink-0 tabular-nums text-muted-foreground",role:"gridcell",children:y}),e[17]=y,e[18]=k):k=e[18];let R;e[19]!==t.errorMessage||e[20]!==t.outcome||e[21]!==t.tablesRead||e[22]!==t.tablesWritten?(R=t.outcome==="error"&&t.errorMessage!==void 0?t.errorMessage:`r:${Le(t.tablesRead)} \xB7 w:${Le(t.tablesWritten)}`,e[19]=t.errorMessage,e[20]=t.outcome,e[21]=t.tablesRead,e[22]=t.tablesWritten,e[23]=R):R=e[23];let L;e[24]!==R?(L=(0,r.jsx)("span",{className:"flex-1 truncate text-muted-foreground",role:"gridcell",children:R}),e[24]=R,e[25]=L):L=e[25];let S;return e[26]!==n||e[27]!==c||e[28]!==g||e[29]!==f||e[30]!==k||e[31]!==L||e[32]!==l||e[33]!==a||e[34]!==d||e[35]!==h?(S=(0,r.jsxs)("div",{className:"flex items-center border-b border-border px-3 py-1.5 font-mono text-xs hover:bg-muted/50","data-index":n,"data-testid":"lg-req-row",ref:c,role:"row",style:g,children:[l,a,d,h,f,k,L]}),e[26]=n,e[27]=c,e[28]=g,e[29]=f,e[30]=k,e[31]=L,e[32]=l,e[33]=a,e[34]=d,e[35]=h,e[36]=S):S=e[36],S},"Xe"),Pe=N(i=>{let{entries:e}=i??{};return Array.isArray(e)?e:[]},"ue"),Ze=N(i=>{let e={};return i.functionPathPrefix.trim()!==""&&(e.functionPathPrefix=i.functionPathPrefix.trim()),i.userId.trim()!==""&&(e.userId=i.userId.trim()),i.tableTouched.trim()!==""&&(e.tableTouched=i.tableTouched.trim()),(i.outcome==="ok"||i.outcome==="error")&&(e.outcome=i.outcome),e},"Ze"),Xe={"5m":300*1e3,"15m":900*1e3,"1h":3600*1e3},et=N((i,e)=>{let t=e.search.trim().toLowerCase(),n=e.path.trim().toLowerCase(),c=e.range==="all"?Number.NEGATIVE_INFINITY:e.now-Xe[e.range];return i.filter(o=>e.levels.size>0&&!e.levels.has(o.level)||o.timestamp<c||n!==""&&!(o.functionPath??"").toLowerCase().includes(n)?!1:t===""||o.message.toLowerCase().includes(t)||ee(o.fields).toLowerCase().includes(t))},"tt"),tt="\u2014",rt=N(i=>{let e=new Map,t=new Map;for(let o of i){e.set(o.level,(e.get(o.level)??0)+1);let m=o.functionPath??tt;t.set(m,(t.get(m)??0)+1)}let n=ue.filter(o=>e.has(o)).map(o=>({count:e.get(o)??0,key:o})),c=[...t.entries()].map(([o,m])=>({count:m,key:o})).toSorted((o,m)=>m.count===o.count?o.key.localeCompare(m.key):m.count-o.count);return{byLevel:n,byPath:c,total:i.length}},"lt"),Ct=N(({initialShardKey:i})=>{let e=j(),[t,n]=(0,T.useState)("requests"),[c,o]=(0,T.useState)(i??""),[m,p]=(0,T.useState)(""),[g,s]=(0,T.useState)(()=>new Set),[l,v]=(0,T.useState)(""),[a,d]=(0,T.useState)("all"),[u,h]=(0,T.useState)(!1),[x,f]=(0,T.useState)(""),[b,y]=(0,T.useState)(""),[k,R]=(0,T.useState)(""),[L,S]=(0,T.useState)("all"),I=X(c.trim(),400),w=Ze({functionPathPrefix:x,outcome:L,tableTouched:k,userId:b}),C=ne(se.getRequestLog,w,{enabled:t==="requests",live:!0,shardKey:I}),q=ne(se.getLogs,{},{enabled:t==="errors",live:!0,shardKey:I}),E=t==="requests"?C:q,{error:F,errorSource:M,isLoading:$,liveError:G}=E,O=Pe(q.data),A=Pe(C.data);(0,T.useEffect)(()=>{E.data!==void 0&&pe(I)},[E.data,I]);let K=et(O,{levels:g,now:Date.now(),path:l,range:a,search:m}),B=rt(K),W=t==="requests"?A.length:K.length,te=t==="errors"&&u,Q=(0,T.useMemo)(()=>F!==null?"error":W===0?$?te?"summary":"list":"empty":te?"summary":"list",[W,$,F,te]),me=(0,T.useRef)(null),Y=Ce({count:W,estimateSize:N(()=>Ge,"estimateSize"),getScrollElement:N(()=>me.current,"getScrollElement"),initialRect:{height:ce,width:800},observeElementRect:N((P,re)=>ke(P,re,ce),"observeElementRect"),overscan:8}),Te=Y.getVirtualItems(),qe={height:Y.getTotalSize(),position:"relative",width:"100%"};return(0,r.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-logs",children:[(0,r.jsx)(Ve,{liveError:G,onShardKeyChange:o,onShowArchive:N(()=>{n("archive"),h(!1)},"onShowArchive"),onShowErrors:N(()=>{n("errors"),h(!1)},"onShowErrors"),onShowRequests:N(()=>{n("requests"),h(!1)},"onShowRequests"),shardKey:c,view:t}),t==="errors"&&(0,r.jsx)(Ue,{levelFilter:g,onLogPathChange:N(P=>{v(P.target.value)},"onLogPathChange"),onSearchChange:N(P=>{p(P.target.value)},"onSearchChange"),onTimeRangeChange:N(P=>{d(P.target.value)},"onTimeRangeChange"),onToggleLevel:N(P=>{s(re=>{let H=new Set(re);return H.has(P)?H.delete(P):H.add(P),H})},"onToggleLevel"),onToggleSummary:N(()=>{h(P=>!P)},"onToggleSummary"),pathFilter:l,search:m,showSummary:u,timeRange:a}),t==="requests"&&(0,r.jsx)(ze,{onOutcomeChange:N(P=>{S(P.target.value)},"onOutcomeChange"),onPathChange:N(P=>{f(P.target.value)},"onPathChange"),onTableChange:N(P=>{R(P.target.value)},"onTableChange"),onUserChange:N(P=>{y(P.target.value)},"onUserChange"),outcomeFilter:L,pathPrefix:x,tableFilter:k,userIdFilter:b}),t==="archive"?(0,r.jsx)(Oe,{shardKey:I}):(0,r.jsxs)(r.Fragment,{children:[Q==="error"&&(0,r.jsx)(be,{error:M,testId:"lg-error"}),Q==="empty"&&(0,r.jsx)(Z,{description:e("Function and request logs for this shard show up here as your app handles traffic."),icon:(0,r.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,r.jsx)("path",{d:"M4 5h16M4 12h16M4 19h10"})}),testId:"lg-empty",title:e("No logs.")}),Q==="summary"&&(0,r.jsx)(We,{summary:B}),Q==="list"&&(0,r.jsx)("div",{className:"rounded-xl border border-border shadow-xs","data-testid":"lg-scroll",ref:me,style:Qe,children:(0,r.jsx)("div",{"aria-label":e("Recent logs"),"data-testid":"lg-table",role:"grid",style:qe,children:Te.map(P=>t==="requests"?(0,r.jsx)(Je,{entry:A[P.index],index:P.index,measureRef:Y.measureElement,start:P.start},P.key):(0,r.jsx)(He,{entry:K[P.index],index:P.index,measureRef:Y.measureElement,start:P.start},P.key))})})]})]})},"$t");export{Ct as LogsPanel,et as filterLogs,rt as summarizeLogs};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as yt}from"./chunk-V53KNYRN.js";import{a as St}from"./chunk-6VAKZALJ.js";import{a as Nt}from"./chunk-ESVP44Y3.js";import{a as le}from"./chunk-U6TNNM5U.js";import{a as kt}from"./chunk-5Y3QLNWX.js";import{a as Ct}from"./chunk-54MMVNPT.js";import{R as Z}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as L}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import"./chunk-6ST5ECQA.js";import{b as ue}from"./chunk-XDAT7LHC.js";import{f as re}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as ce}from"./chunk-XQCVZAGU.js";import{a as ft,b as pt,c as vt,d as Ze,e as se,f as me}from"./chunk-MIQTKZAR.js";import{a as ht,e as bt}from"./chunk-UZERI5YC.js";import{d as q,h as wt,l as N,m as xt,q as zt}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as c,e as gt,f as Mt,g as Rt,h as Ft}from"./chunk-3XIESWL4.js";var U=gt(Rt(),1);var j=gt(Mt(),1);var n=gt(Ft(),1);var _t=c(t=>{let e=JSON.parse(t);if(typeof e!="object"||e===null||Array.isArray(e))throw new TypeError("Expected a JSON object");return e},"zt"),Et=c(t=>{let e=_t(t),r={};for(let[d,h]of Object.entries(e)){if(!Array.isArray(h)||h.some(i=>typeof i!="string"))throw new TypeError(`"${d}" must map to an array of action strings`);r[d]=h}return r},"Tt"),$t=c(t=>t==null||t===""?"":typeof t=="string"?t:JSON.stringify(t,null,2),"St"),W=c(t=>{let e=(0,U.c)(6),{children:r,htmlFor:d,label:h}=t,i;e[0]!==d||e[1]!==h?(i=(0,n.jsx)(kt,{htmlFor:d,children:h}),e[0]=d,e[1]=h,e[2]=i):i=e[2];let o;return e[3]!==r||e[4]!==i?(o=(0,n.jsxs)("div",{className:"flex flex-col gap-1",children:[i,r]}),e[3]=r,e[4]=i,e[5]=o):o=e[5],o},"G"),de=c(({busy:t,canSubmit:e,children:r,destructive:d=!1,error:h,onClose:i,onSubmit:o,submitLabel:a,testId:l,title:s})=>{let m=q();return(0,n.jsxs)(Nt,{label:s,onClose:i,panelTestId:`${l}-panel`,testId:`${l}-overlay`,variant:"dialog",children:[(0,n.jsx)("h2",{className:"text-sm font-semibold text-foreground",children:s}),r,h!==null&&(0,n.jsx)("p",{className:"text-sm text-destructive","data-testid":`${l}-error`,role:"alert",children:h}),(0,n.jsxs)("div",{className:"flex justify-end gap-2 pt-1",children:[(0,n.jsx)(L,{"data-testid":`${l}-cancel`,onClick:i,size:"sm",type:"button",variant:"outline",children:m("Cancel")}),(0,n.jsx)(L,{"data-testid":`${l}-submit`,disabled:t||!e,onClick:o,size:"sm",type:"button",variant:d?"destructive":"default",children:t?m("Saving\u2026"):a})]})]})},"se"),Dt=c(t=>{let e=(0,U.c)(79),{mode:r,onClose:d,onDone:h,org:i}=t,o=re(),a=q(),{busy:l,error:s,run:m}=le(),b;e[0]!==i?(b=i?N(i.name):"",e[0]=i,e[1]=b):b=e[1];let[u,g]=(0,j.useState)(b),p;e[2]!==i?(p=i?N(i.slug):"",e[2]=i,e[3]=p):p=e[3];let[f,y]=(0,j.useState)(p),z;e[4]!==i?(z=i?N(i.logo):"",e[4]=i,e[5]=z):z=e[5];let[v,I]=(0,j.useState)(z),[C,k]=(0,j.useState)(""),w;e[6]!==r||e[7]!==i?.metadata?(w=r==="edit"?$t(i?.metadata):"",e[6]=r,e[7]=i?.metadata,e[8]=w):w=e[8];let[x,S]=(0,j.useState)(w),_;e[9]!==o||e[10]!==v||e[11]!==x||e[12]!==r||e[13]!==u||e[14]!==d||e[15]!==h||e[16]!==i?.id||e[17]!==C||e[18]!==m||e[19]!==f?(_=c(()=>{m(async()=>{let F=x.trim()===""?void 0:_t(x);r==="create"?await o.createAuthOrganization({logo:v.trim()===""?void 0:v.trim(),metadata:F,name:u.trim(),ownerId:C.trim()===""?void 0:C.trim(),slug:f.trim()===""?void 0:f.trim()}):await o.updateAuthOrganization({logo:v.trim()===""?void 0:v.trim(),metadata:F,name:u.trim()===""?void 0:u.trim(),organizationId:N(i?.id),slug:f.trim()===""?void 0:f.trim()}),h(),d()})},"D"),e[9]=o,e[10]=v,e[11]=x,e[12]=r,e[13]=u,e[14]=d,e[15]=h,e[16]=i?.id,e[17]=C,e[18]=m,e[19]=f,e[20]=_):_=e[20];let A=_,D;e[21]!==r||e[22]!==u?(D=u.trim()!==""||r==="edit",e[21]=r,e[22]=u,e[23]=D):D=e[23];let $;e[24]!==r||e[25]!==a?($=a(r==="create"?"Create":"Save"),e[24]=r,e[25]=a,e[26]=$):$=e[26];let T;e[27]!==r||e[28]!==a?(T=a(r==="create"?"New organization":"Edit organization"),e[27]=r,e[28]=a,e[29]=T):T=e[29];let P;e[30]!==a?(P=a("name"),e[30]=a,e[31]=P):P=e[31];let Q;e[32]===Symbol.for("react.memo_cache_sentinel")?(Q=c(F=>{g(F.target.value)},"q"),e[32]=Q):Q=e[32];let J;e[33]!==u?(J=(0,n.jsx)(Z,{"data-testid":"org-form-name",id:"org-form-name",onChange:Q,value:u}),e[33]=u,e[34]=J):J=e[34];let E;e[35]!==J||e[36]!==P?(E=(0,n.jsx)(W,{htmlFor:"org-form-name",label:P,children:J}),e[35]=J,e[36]=P,e[37]=E):E=e[37];let B;e[38]!==a?(B=a("Slug (optional \u2014 derived from name)"),e[38]=a,e[39]=B):B=e[39];let Y;e[40]===Symbol.for("react.memo_cache_sentinel")?(Y=c(F=>{y(F.target.value)},"Q"),e[40]=Y):Y=e[40];let M;e[41]!==f?(M=(0,n.jsx)(Z,{"data-testid":"org-form-slug",id:"org-form-slug",onChange:Y,value:f}),e[41]=f,e[42]=M):M=e[42];let R;e[43]!==B||e[44]!==M?(R=(0,n.jsx)(W,{htmlFor:"org-form-slug",label:B,children:M}),e[43]=B,e[44]=M,e[45]=R):R=e[45];let H;e[46]!==a?(H=a("Logo URL (optional)"),e[46]=a,e[47]=H):H=e[47];let ie;e[48]===Symbol.for("react.memo_cache_sentinel")?(ie=c(F=>{I(F.target.value)},"le"),e[48]=ie):ie=e[48];let K;e[49]!==v?(K=(0,n.jsx)(Z,{"data-testid":"org-form-logo",id:"org-form-logo",onChange:ie,value:v}),e[49]=v,e[50]=K):K=e[50];let ee;e[51]!==H||e[52]!==K?(ee=(0,n.jsx)(W,{htmlFor:"org-form-logo",label:H,children:K}),e[51]=H,e[52]=K,e[53]=ee):ee=e[53];let X;e[54]!==r||e[55]!==C||e[56]!==a?(X=r==="create"&&(0,n.jsx)(W,{htmlFor:"org-form-owner",label:a("Owner user id (optional)"),children:(0,n.jsx)(Z,{"data-testid":"org-form-owner",id:"org-form-owner",onChange:c(F=>{k(F.target.value)},"onChange"),value:C})}),e[54]=r,e[55]=C,e[56]=a,e[57]=X):X=e[57];let te;e[58]!==a?(te=a("Metadata (JSON, optional)"),e[58]=a,e[59]=te):te=e[59];let oe;e[60]===Symbol.for("react.memo_cache_sentinel")?(oe=c(F=>{S(F.target.value)},"re"),e[60]=oe):oe=e[60];let V;e[61]!==x?(V=(0,n.jsx)(yt,{"data-testid":"org-form-metadata",id:"org-form-metadata",onChange:oe,value:x}),e[61]=x,e[62]=V):V=e[62];let O;e[63]!==te||e[64]!==V?(O=(0,n.jsx)(W,{htmlFor:"org-form-metadata",label:te,children:V}),e[63]=te,e[64]=V,e[65]=O):O=e[65];let ne;return e[66]!==l||e[67]!==s||e[68]!==d||e[69]!==A||e[70]!==E||e[71]!==R||e[72]!==ee||e[73]!==X||e[74]!==O||e[75]!==D||e[76]!==$||e[77]!==T?(ne=(0,n.jsxs)(de,{busy:l,canSubmit:D,error:s,onClose:d,onSubmit:A,submitLabel:$,testId:"org-form",title:T,children:[E,R,ee,X,O]}),e[66]=l,e[67]=s,e[68]=d,e[69]=A,e[70]=E,e[71]=R,e[72]=ee,e[73]=X,e[74]=O,e[75]=D,e[76]=$,e[77]=T,e[78]=ne):ne=e[78],ne},"bt"),Lt=c(t=>{let e=(0,U.c)(40),{onClose:r,onDone:d,organizationId:h}=t,i=re(),o=q(),{busy:a,error:l,run:s}=le(),[m,b]=(0,j.useState)(""),[u,g]=(0,j.useState)(""),p;e[0]!==i||e[1]!==r||e[2]!==d||e[3]!==h||e[4]!==u||e[5]!==s||e[6]!==m?(p=c(()=>{s(async()=>{await i.addAuthOrgMember({organizationId:h,role:u.trim()===""?void 0:u.trim(),userId:m.trim()}),d(),r()})},"f"),e[0]=i,e[1]=r,e[2]=d,e[3]=h,e[4]=u,e[5]=s,e[6]=m,e[7]=p):p=e[7];let f=p,y;e[8]!==m?(y=m.trim(),e[8]=m,e[9]=y):y=e[9];let z=y!=="",v;e[10]!==o?(v=o("Add member"),e[10]=o,e[11]=v):v=e[11];let I;e[12]!==o?(I=o("Add member"),e[12]=o,e[13]=I):I=e[13];let C;e[14]!==o?(C=o("User id"),e[14]=o,e[15]=C):C=e[15];let k;e[16]===Symbol.for("react.memo_cache_sentinel")?(k=c(T=>{b(T.target.value)},"x"),e[16]=k):k=e[16];let w;e[17]!==m?(w=(0,n.jsx)(Z,{"data-testid":"org-add-member-user",id:"org-add-member-user",onChange:k,value:m}),e[17]=m,e[18]=w):w=e[18];let x;e[19]!==C||e[20]!==w?(x=(0,n.jsx)(W,{htmlFor:"org-add-member-user",label:C,children:w}),e[19]=C,e[20]=w,e[21]=x):x=e[21];let S;e[22]!==o?(S=o("Role (optional)"),e[22]=o,e[23]=S):S=e[23];let _;e[24]===Symbol.for("react.memo_cache_sentinel")?(_=c(T=>{g(T.target.value)},"D"),e[24]=_):_=e[24];let A;e[25]!==u?(A=(0,n.jsx)(Z,{"data-testid":"org-add-member-role",id:"org-add-member-role",onChange:_,value:u}),e[25]=u,e[26]=A):A=e[26];let D;e[27]!==S||e[28]!==A?(D=(0,n.jsx)(W,{htmlFor:"org-add-member-role",label:S,children:A}),e[27]=S,e[28]=A,e[29]=D):D=e[29];let $;return e[30]!==a||e[31]!==l||e[32]!==r||e[33]!==f||e[34]!==D||e[35]!==z||e[36]!==v||e[37]!==I||e[38]!==x?($=(0,n.jsxs)(de,{busy:a,canSubmit:z,error:l,onClose:r,onSubmit:f,submitLabel:v,testId:"org-add-member",title:I,children:[x,D]}),e[30]=a,e[31]=l,e[32]=r,e[33]=f,e[34]=D,e[35]=z,e[36]=v,e[37]=I,e[38]=x,e[39]=$):$=e[39],$},"Mt"),jt=c(t=>{let e=(0,U.c)(40),{onClose:r,onDone:d,organizationId:h}=t,i=re(),o=q(),{busy:a,error:l,run:s}=le(),[m,b]=(0,j.useState)(""),[u,g]=(0,j.useState)(""),p;e[0]!==i||e[1]!==m||e[2]!==r||e[3]!==d||e[4]!==h||e[5]!==u||e[6]!==s?(p=c(()=>{s(async()=>{await i.inviteAuthOrgMember({email:m.trim(),organizationId:h,role:u.trim()===""?void 0:u.trim()}),d(),r()})},"f"),e[0]=i,e[1]=m,e[2]=r,e[3]=d,e[4]=h,e[5]=u,e[6]=s,e[7]=p):p=e[7];let f=p,y;e[8]!==m?(y=m.trim(),e[8]=m,e[9]=y):y=e[9];let z=y!=="",v;e[10]!==o?(v=o("Send invitation"),e[10]=o,e[11]=v):v=e[11];let I;e[12]!==o?(I=o("Invite member"),e[12]=o,e[13]=I):I=e[13];let C;e[14]!==o?(C=o("email"),e[14]=o,e[15]=C):C=e[15];let k;e[16]===Symbol.for("react.memo_cache_sentinel")?(k=c(T=>{b(T.target.value)},"x"),e[16]=k):k=e[16];let w;e[17]!==m?(w=(0,n.jsx)(Z,{"data-testid":"org-invite-member-email",id:"org-invite-member-email",onChange:k,type:"email",value:m}),e[17]=m,e[18]=w):w=e[18];let x;e[19]!==C||e[20]!==w?(x=(0,n.jsx)(W,{htmlFor:"org-invite-member-email",label:C,children:w}),e[19]=C,e[20]=w,e[21]=x):x=e[21];let S;e[22]!==o?(S=o("Role (optional)"),e[22]=o,e[23]=S):S=e[23];let _;e[24]===Symbol.for("react.memo_cache_sentinel")?(_=c(T=>{g(T.target.value)},"D"),e[24]=_):_=e[24];let A;e[25]!==u?(A=(0,n.jsx)(Z,{"data-testid":"org-invite-member-role",id:"org-invite-member-role",onChange:_,value:u}),e[25]=u,e[26]=A):A=e[26];let D;e[27]!==S||e[28]!==A?(D=(0,n.jsx)(W,{htmlFor:"org-invite-member-role",label:S,children:A}),e[27]=S,e[28]=A,e[29]=D):D=e[29];let $;return e[30]!==a||e[31]!==l||e[32]!==r||e[33]!==f||e[34]!==D||e[35]!==z||e[36]!==v||e[37]!==I||e[38]!==x?($=(0,n.jsxs)(de,{busy:a,canSubmit:z,error:l,onClose:r,onSubmit:f,submitLabel:v,testId:"org-invite-member",title:I,children:[x,D]}),e[30]=a,e[31]=l,e[32]=r,e[33]=f,e[34]=D,e[35]=z,e[36]=v,e[37]=I,e[38]=x,e[39]=$):$=e[39],$},"Ft"),Pt=c(t=>{let e=(0,U.c)(32),{member:r,onClose:d,onDone:h}=t,i=re(),o=q(),{busy:a,error:l,run:s}=le(),m;e[0]!==r.role?(m=c(()=>N(r.role),"m"),e[0]=r.role,e[1]=m):m=e[1];let[b,u]=(0,j.useState)(m),g;e[2]!==i||e[3]!==r.id||e[4]!==d||e[5]!==h||e[6]!==b||e[7]!==s?(g=c(()=>{s(async()=>{await i.setAuthOrgMemberRole({memberId:N(r.id),role:b.trim()}),h(),d()})},"u"),e[2]=i,e[3]=r.id,e[4]=d,e[5]=h,e[6]=b,e[7]=s,e[8]=g):g=e[8];let p=g,f;e[9]!==b?(f=b.trim(),e[9]=b,e[10]=f):f=e[10];let y=f!=="",z;e[11]!==o?(z=o("Save"),e[11]=o,e[12]=z):z=e[12];let v;e[13]!==o?(v=o("Change member role"),e[13]=o,e[14]=v):v=e[14];let I;e[15]!==o?(I=o("Role"),e[15]=o,e[16]=I):I=e[16];let C;e[17]===Symbol.for("react.memo_cache_sentinel")?(C=c(S=>{u(S.target.value)},"y"),e[17]=C):C=e[17];let k;e[18]!==b?(k=(0,n.jsx)(Z,{"data-testid":"org-member-role-value",id:"org-member-role-value",onChange:C,value:b}),e[18]=b,e[19]=k):k=e[19];let w;e[20]!==I||e[21]!==k?(w=(0,n.jsx)(W,{htmlFor:"org-member-role-value",label:I,children:k}),e[20]=I,e[21]=k,e[22]=w):w=e[22];let x;return e[23]!==a||e[24]!==l||e[25]!==d||e[26]!==p||e[27]!==w||e[28]!==y||e[29]!==z||e[30]!==v?(x=(0,n.jsx)(de,{busy:a,canSubmit:y,error:l,onClose:d,onSubmit:p,submitLabel:z,testId:"org-member-role",title:v,children:w}),e[23]=a,e[24]=l,e[25]=d,e[26]=p,e[27]=w,e[28]=y,e[29]=z,e[30]=v,e[31]=x):x=e[31],x},"Et"),At=c(t=>{let e=(0,U.c)(36),{mode:r,onClose:d,onDone:h,organizationId:i,team:o}=t,a=re(),l=q(),{busy:s,error:m,run:b}=le(),u;e[0]!==o?(u=o?N(o.name):"",e[0]=o,e[1]=u):u=e[1];let[g,p]=(0,j.useState)(u),f;e[2]!==a||e[3]!==r||e[4]!==g||e[5]!==d||e[6]!==h||e[7]!==i||e[8]!==b||e[9]!==o?.id?(f=c(()=>{b(async()=>{await(r==="create"?a.createAuthOrgTeam({name:g.trim(),organizationId:i}):a.updateAuthOrgTeam({name:g.trim(),teamId:N(o?.id)})),h(),d()})},"b"),e[2]=a,e[3]=r,e[4]=g,e[5]=d,e[6]=h,e[7]=i,e[8]=b,e[9]=o?.id,e[10]=f):f=e[10];let y=f,z;e[11]!==g?(z=g.trim(),e[11]=g,e[12]=z):z=e[12];let v=z!=="",I;e[13]!==r||e[14]!==l?(I=l(r==="create"?"Create":"Save"),e[13]=r,e[14]=l,e[15]=I):I=e[15];let C;e[16]!==r||e[17]!==l?(C=l(r==="create"?"New team":"Rename team"),e[16]=r,e[17]=l,e[18]=C):C=e[18];let k;e[19]!==l?(k=l("name"),e[19]=l,e[20]=k):k=e[20];let w;e[21]===Symbol.for("react.memo_cache_sentinel")?(w=c(A=>{p(A.target.value)},"$"),e[21]=w):w=e[21];let x;e[22]!==g?(x=(0,n.jsx)(Z,{"data-testid":"org-team-form-name",id:"org-team-form-name",onChange:w,value:g}),e[22]=g,e[23]=x):x=e[23];let S;e[24]!==k||e[25]!==x?(S=(0,n.jsx)(W,{htmlFor:"org-team-form-name",label:k,children:x}),e[24]=k,e[25]=x,e[26]=S):S=e[26];let _;return e[27]!==s||e[28]!==m||e[29]!==d||e[30]!==y||e[31]!==S||e[32]!==v||e[33]!==I||e[34]!==C?(_=(0,n.jsx)(de,{busy:s,canSubmit:v,error:m,onClose:d,onSubmit:y,submitLabel:I,testId:"org-team-form",title:C,children:S}),e[27]=s,e[28]=m,e[29]=d,e[30]=y,e[31]=S,e[32]=v,e[33]=I,e[34]=C,e[35]=_):_=e[35],_},"ft"),Jt=c(t=>{let e=(0,U.c)(30),{onClose:r,onDone:d,teamId:h}=t,i=re(),o=q(),{busy:a,error:l,run:s}=le(),[m,b]=(0,j.useState)(""),u;e[0]!==i||e[1]!==r||e[2]!==d||e[3]!==s||e[4]!==h||e[5]!==m?(u=c(()=>{s(async()=>{await i.addAuthOrgTeamMember({teamId:h,userId:m.trim()}),d(),r()})},"c"),e[0]=i,e[1]=r,e[2]=d,e[3]=s,e[4]=h,e[5]=m,e[6]=u):u=e[6];let g=u,p;e[7]!==m?(p=m.trim(),e[7]=m,e[8]=p):p=e[8];let f=p!=="",y;e[9]!==o?(y=o("Add member"),e[9]=o,e[10]=y):y=e[10];let z;e[11]!==o?(z=o("Add team member"),e[11]=o,e[12]=z):z=e[12];let v;e[13]!==o?(v=o("User id"),e[13]=o,e[14]=v):v=e[14];let I;e[15]===Symbol.for("react.memo_cache_sentinel")?(I=c(x=>{b(x.target.value)},"C"),e[15]=I):I=e[15];let C;e[16]!==m?(C=(0,n.jsx)(Z,{"data-testid":"org-team-add-member-user",id:"org-team-add-member-user",onChange:I,value:m}),e[16]=m,e[17]=C):C=e[17];let k;e[18]!==v||e[19]!==C?(k=(0,n.jsx)(W,{htmlFor:"org-team-add-member-user",label:v,children:C}),e[18]=v,e[19]=C,e[20]=k):k=e[20];let w;return e[21]!==a||e[22]!==l||e[23]!==r||e[24]!==g||e[25]!==f||e[26]!==y||e[27]!==z||e[28]!==k?(w=(0,n.jsx)(de,{busy:a,canSubmit:f,error:l,onClose:r,onSubmit:g,submitLabel:y,testId:"org-team-add-member",title:z,children:k}),e[21]=a,e[22]=l,e[23]=r,e[24]=g,e[25]=f,e[26]=y,e[27]=z,e[28]=k,e[29]=w):w=e[29],w},"Lt"),Ot=c(t=>{let e=(0,U.c)(47),{mode:r,onClose:d,onDone:h,organizationId:i,role:o}=t,a=re(),l=q(),{busy:s,error:m,run:b}=le(),u;e[0]!==o?(u=o?N(o.role):"",e[0]=o,e[1]=u):u=e[1];let[g,p]=(0,j.useState)(u),f;e[2]!==r||e[3]!==o?.permission?(f=r==="edit"?$t(o?.permission):"",e[2]=r,e[3]=o?.permission,e[4]=f):f=e[4];let[y,z]=(0,j.useState)(f),v;e[5]!==a||e[6]!==r||e[7]!==g||e[8]!==d||e[9]!==h||e[10]!==i||e[11]!==y||e[12]!==o?.id||e[13]!==b?(v=c(()=>{b(async()=>{let T=Et(y);await(r==="create"?a.createAuthOrgRole({organizationId:i,permission:T,role:g.trim()}):a.updateAuthOrgRole({permission:T,roleId:N(o?.id)})),h(),d()})},"p"),e[5]=a,e[6]=r,e[7]=g,e[8]=d,e[9]=h,e[10]=i,e[11]=y,e[12]=o?.id,e[13]=b,e[14]=v):v=e[14];let I=v,C;e[15]!==r||e[16]!==g||e[17]!==y?(C=y.trim()!==""&&(r==="edit"||g.trim()!==""),e[15]=r,e[16]=g,e[17]=y,e[18]=C):C=e[18];let k;e[19]!==r||e[20]!==l?(k=l(r==="create"?"Create":"Save"),e[19]=r,e[20]=l,e[21]=k):k=e[21];let w;e[22]!==r||e[23]!==l?(w=l(r==="create"?"New role":"Edit role"),e[22]=r,e[23]=l,e[24]=w):w=e[24];let x;e[25]!==r||e[26]!==g||e[27]!==l?(x=r==="create"&&(0,n.jsx)(W,{htmlFor:"org-role-form-name",label:l("Role name"),children:(0,n.jsx)(Z,{"data-testid":"org-role-form-name",id:"org-role-form-name",onChange:c(T=>{p(T.target.value)},"onChange"),value:g})}),e[25]=r,e[26]=g,e[27]=l,e[28]=x):x=e[28];let S;e[29]!==l?(S=l('Permission (JSON, e.g. {"project":["create","update"]})'),e[29]=l,e[30]=S):S=e[30];let _;e[31]===Symbol.for("react.memo_cache_sentinel")?(_=c(T=>{z(T.target.value)},"D"),e[31]=_):_=e[31];let A;e[32]!==y?(A=(0,n.jsx)(yt,{"data-testid":"org-role-form-permission",id:"org-role-form-permission",onChange:_,value:y}),e[32]=y,e[33]=A):A=e[33];let D;e[34]!==A||e[35]!==S?(D=(0,n.jsx)(W,{htmlFor:"org-role-form-permission",label:S,children:A}),e[34]=A,e[35]=S,e[36]=D):D=e[36];let $;return e[37]!==s||e[38]!==m||e[39]!==d||e[40]!==I||e[41]!==D||e[42]!==C||e[43]!==k||e[44]!==w||e[45]!==x?($=(0,n.jsxs)(de,{busy:s,canSubmit:C,error:m,onClose:d,onSubmit:I,submitLabel:k,testId:"org-role-form",title:w,children:[x,D]}),e[37]=s,e[38]=m,e[39]=d,e[40]=I,e[41]=D,e[42]=C,e[43]=k,e[44]=w,e[45]=x,e[46]=$):$=e[46],$},"pt"),Tt=c(t=>{let e=(0,U.c)(18),{action:r,message:d,onClose:h,onDone:i,testId:o,title:a}=t,l=q(),{busy:s,error:m,run:b}=le(),u;e[0]!==r||e[1]!==h||e[2]!==i||e[3]!==b?(u=c(()=>{b(async()=>{await r(),i(),h()})},"c"),e[0]=r,e[1]=h,e[2]=i,e[3]=b,e[4]=u):u=e[4];let g=u,p;e[5]!==l?(p=l("Delete"),e[5]=l,e[6]=p):p=e[6];let f;e[7]!==d?(f=(0,n.jsx)("p",{className:"text-sm text-muted-foreground",children:d}),e[7]=d,e[8]=f):f=e[8];let y;return e[9]!==s||e[10]!==m||e[11]!==h||e[12]!==g||e[13]!==p||e[14]!==f||e[15]!==o||e[16]!==a?(y=(0,n.jsx)(de,{busy:s,canSubmit:!0,destructive:!0,error:m,onClose:h,onSubmit:g,submitLabel:p,testId:o,title:a,children:f}),e[9]=s,e[10]=m,e[11]=h,e[12]=g,e[13]=p,e[14]=f,e[15]=o,e[16]=a,e[17]=y):y=e[17],y},"kt"),Ge=c(t=>{let e=(0,U.c)(13),{action:r,children:d,heading:h,testId:i}=t,o;e[0]!==h?(o=(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:h}),e[0]=h,e[1]=o):o=e[1];let a;e[2]!==r?(a=r!==void 0&&(0,n.jsx)("div",{className:"flex items-center gap-2",children:r}),e[2]=r,e[3]=a):a=e[3];let l;e[4]!==o||e[5]!==a?(l=(0,n.jsxs)("header",{className:"flex items-center justify-between gap-2 border-b border-border px-4 py-3",children:[o,a]}),e[4]=o,e[5]=a,e[6]=l):l=e[6];let s;e[7]!==d?(s=(0,n.jsx)(bt,{className:"px-0",children:d}),e[7]=d,e[8]=s):s=e[8];let m;return e[9]!==l||e[10]!==s||e[11]!==i?(m=(0,n.jsxs)(ht,{className:"overflow-hidden py-0","data-testid":i,children:[l,s]}),e[9]=l,e[10]=s,e[11]=i,e[12]=m):m=e[12],m},"Ve"),Ke=c(t=>{let e=(0,U.c)(23),{columns:r,rowActions:d,rowPrefix:h,rows:i}=t,o=q(),a;e[0]!==r?(a=r.map(Bt),e[0]=r,e[1]=a):a=e[1];let l;e[2]!==o?(l=o("Actions"),e[2]=o,e[3]=l):l=e[3];let s;e[4]!==l?(s=(0,n.jsx)(se,{"aria-label":l}),e[4]=l,e[5]=s):s=e[5];let m;e[6]!==a||e[7]!==s?(m=(0,n.jsx)(pt,{children:(0,n.jsxs)(Ze,{children:[a,s]})}),e[6]=a,e[7]=s,e[8]=m):m=e[8];let b;if(e[9]!==r||e[10]!==d||e[11]!==h||e[12]!==i){let p;e[14]!==r||e[15]!==d||e[16]!==h?(p=c((f,y)=>{let z=N(f.id),v=z===""?`index-${y.toString()}`:z;return(0,n.jsxs)(Ze,{"data-testid":`${h}-${v}`,children:[r.map(I=>(0,n.jsx)(me,{className:I.className,children:I.render(f)},I.head)),(0,n.jsx)(me,{children:(0,n.jsx)("div",{className:"flex justify-end gap-1",children:d(f)})})]},v)},"f"),e[14]=r,e[15]=d,e[16]=h,e[17]=p):p=e[17],b=i.map(p),e[9]=r,e[10]=d,e[11]=h,e[12]=i,e[13]=b}else b=e[13];let u;e[18]!==b?(u=(0,n.jsx)(vt,{children:b}),e[18]=b,e[19]=u):u=e[19];let g;return e[20]!==m||e[21]!==u?(g=(0,n.jsxs)(ft,{children:[m,u]}),e[20]=m,e[21]=u,e[22]=g):g=e[22],g},"Xe");function Bt(t){return(0,n.jsx)(se,{children:t.head},t.head)}c(Bt,"jt");var Ut=c(t=>{let e=(0,U.c)(30),{actionBusy:r,onRemoveMember:d,memberColumns:h,members:i,onDialog:o}=t,a=q(),l;e[0]!==o?(l=c(()=>{o({kind:"add-member"})},"a"),e[0]=o,e[1]=l):l=e[1];let s;e[2]!==a?(s=a("Add member"),e[2]=a,e[3]=s):s=e[3];let m;e[4]!==l||e[5]!==s?(m=(0,n.jsx)(L,{"data-testid":"org-open-add-member",onClick:l,size:"xs",type:"button",variant:"outline",children:s}),e[4]=l,e[5]=s,e[6]=m):m=e[6];let b;e[7]!==o?(b=c(()=>{o({kind:"invite-member"})},"h"),e[7]=o,e[8]=b):b=e[8];let u;e[9]!==a?(u=a("Invite member"),e[9]=a,e[10]=u):u=e[10];let g;e[11]!==b||e[12]!==u?(g=(0,n.jsx)(L,{"data-testid":"org-open-invite-member",onClick:b,size:"xs",type:"button",variant:"outline",children:u}),e[11]=b,e[12]=u,e[13]=g):g=e[13];let p;e[14]!==m||e[15]!==g?(p=(0,n.jsxs)(n.Fragment,{children:[m,g]}),e[14]=m,e[15]=g,e[16]=p):p=e[16];let f;e[17]!==a?(f=a("Members"),e[17]=a,e[18]=f):f=e[18];let y;e[19]!==r||e[20]!==h||e[21]!==i||e[22]!==o||e[23]!==d||e[24]!==a?(y=i.length===0?(0,n.jsx)("div",{className:"p-3",children:(0,n.jsx)(ce,{testId:"org-members-empty",title:a("No members.")})}):(0,n.jsx)(Ke,{columns:h,rowActions:c(v=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(L,{"data-testid":`org-member-role-${N(v.id)}`,onClick:c(()=>{o({kind:"member-role",member:v})},"onClick"),size:"xs",type:"button",variant:"ghost",children:a("Change role")}),(0,n.jsx)(L,{"data-testid":`org-remove-member-${N(v.id)}`,disabled:r,onClick:c(()=>{d(N(v.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:a("Remove")})]}),"rowActions"),rowPrefix:"org-member",rows:i}),e[19]=r,e[20]=h,e[21]=i,e[22]=o,e[23]=d,e[24]=a,e[25]=y):y=e[25];let z;return e[26]!==p||e[27]!==f||e[28]!==y?(z=(0,n.jsx)(Ge,{action:p,heading:f,testId:"org-members",children:y}),e[26]=p,e[27]=f,e[28]=y,e[29]=z):z=e[29],z},"Pt"),qt=c(t=>{let e=(0,U.c)(21),{onConfirmDeleteTeam:r,onDialog:d,onSelectTeam:h,selectedTeam:i,teamColumns:o,teams:a}=t,l=q(),s;e[0]!==d?(s=c(()=>{d({kind:"team-create"})},"s"),e[0]=d,e[1]=s):s=e[1];let m;e[2]!==l?(m=l("New team"),e[2]=l,e[3]=m):m=e[3];let b;e[4]!==s||e[5]!==m?(b=(0,n.jsx)(L,{"data-testid":"org-open-create-team",onClick:s,size:"xs",type:"button",variant:"outline",children:m}),e[4]=s,e[5]=m,e[6]=b):b=e[6];let u;e[7]!==l?(u=l("Teams"),e[7]=l,e[8]=u):u=e[8];let g;e[9]!==r||e[10]!==d||e[11]!==h||e[12]!==i||e[13]!==l||e[14]!==o||e[15]!==a?(g=a.length===0?(0,n.jsx)("div",{className:"p-3",children:(0,n.jsx)(ce,{testId:"org-teams-empty",title:l("No teams.")})}):(0,n.jsx)(Ke,{columns:o,rowActions:c(f=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(L,{"aria-pressed":i===N(f.id),"data-testid":`org-team-select-${N(f.id)}`,onClick:c(()=>{h(N(f.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Members")}),(0,n.jsx)(L,{"data-testid":`org-team-rename-${N(f.id)}`,onClick:c(()=>{d({kind:"team-rename",team:f})},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Rename")}),(0,n.jsx)(L,{"data-testid":`org-team-delete-${N(f.id)}`,onClick:c(()=>{r(f)},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Delete")})]}),"rowActions"),rowPrefix:"org-team",rows:a}),e[9]=r,e[10]=d,e[11]=h,e[12]=i,e[13]=l,e[14]=o,e[15]=a,e[16]=g):g=e[16];let p;return e[17]!==b||e[18]!==u||e[19]!==g?(p=(0,n.jsx)(Ge,{action:b,heading:u,testId:"org-teams",children:g}),e[17]=b,e[18]=u,e[19]=g,e[20]=p):p=e[20],p},"Bt"),Ht=c(t=>{let e=(0,U.c)(20),{actionBusy:r,onRemoveTeamMember:d,onDialog:h,selectedTeam:i,teamMemberColumns:o,teamMembers:a}=t,l=q(),s;e[0]!==h||e[1]!==i?(s=c(()=>{h({kind:"team-add-member",teamId:i})},"s"),e[0]=h,e[1]=i,e[2]=s):s=e[2];let m;e[3]!==l?(m=l("Add member"),e[3]=l,e[4]=m):m=e[4];let b;e[5]!==s||e[6]!==m?(b=(0,n.jsx)(L,{"data-testid":"org-open-add-team-member",onClick:s,size:"xs",type:"button",variant:"outline",children:m}),e[5]=s,e[6]=m,e[7]=b):b=e[7];let u;e[8]!==l?(u=l("Team members"),e[8]=l,e[9]=u):u=e[9];let g;e[10]!==r||e[11]!==d||e[12]!==l||e[13]!==o||e[14]!==a?(g=a.length===0?(0,n.jsx)("div",{className:"p-3",children:(0,n.jsx)(ce,{testId:"org-team-members-empty",title:l("No team members.")})}):(0,n.jsx)(Ke,{columns:o,rowActions:c(f=>(0,n.jsx)(L,{"data-testid":`org-team-remove-member-${N(f.id)}`,disabled:r,onClick:c(()=>{d(N(f.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:l("Remove")}),"rowActions"),rowPrefix:"org-team-member",rows:a}),e[10]=r,e[11]=d,e[12]=l,e[13]=o,e[14]=a,e[15]=g):g=e[15];let p;return e[16]!==b||e[17]!==u||e[18]!==g?(p=(0,n.jsx)(Ge,{action:b,heading:u,testId:"org-team-members",children:g}),e[16]=b,e[17]=u,e[18]=g,e[19]=p):p=e[19],p},"Jt"),Qt=c(t=>{let e=(0,U.c)(19),{onConfirmDeleteRole:r,onDialog:d,roleColumns:h,roles:i}=t,o=q(),a;e[0]!==d?(a=c(()=>{d({kind:"role-create"})},"n"),e[0]=d,e[1]=a):a=e[1];let l;e[2]!==o?(l=o("New role"),e[2]=o,e[3]=l):l=e[3];let s;e[4]!==a||e[5]!==l?(s=(0,n.jsx)(L,{"data-testid":"org-open-create-role",onClick:a,size:"xs",type:"button",variant:"outline",children:l}),e[4]=a,e[5]=l,e[6]=s):s=e[6];let m;e[7]!==o?(m=o("Roles"),e[7]=o,e[8]=m):m=e[8];let b;e[9]!==r||e[10]!==d||e[11]!==h||e[12]!==i||e[13]!==o?(b=i.length===0?(0,n.jsx)("div",{className:"p-3",children:(0,n.jsx)(ce,{testId:"org-roles-empty",title:o("No custom roles.")})}):(0,n.jsx)(Ke,{columns:h,rowActions:c(g=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(L,{"data-testid":`org-role-edit-${N(g.id)}`,onClick:c(()=>{d({kind:"role-edit",role:g})},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Edit")}),(0,n.jsx)(L,{"data-testid":`org-role-delete-${N(g.id)}`,onClick:c(()=>{r(N(g.id))},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Delete")})]}),"rowActions"),rowPrefix:"org-role",rows:i}),e[9]=r,e[10]=d,e[11]=h,e[12]=i,e[13]=o,e[14]=b):b=e[14];let u;return e[15]!==s||e[16]!==m||e[17]!==b?(u=(0,n.jsx)(Ge,{action:s,heading:m,testId:"org-roles",children:b}),e[15]=s,e[16]=m,e[17]=b,e[18]=u):u=e[18],u},"Ut"),Wt=c(t=>{let e=(0,U.c)(199),{organizationId:r,rolesEnabled:d,teamsEnabled:h}=t,i=re(),o=q(),[a,l]=(0,j.useState)(null),[s,m]=(0,j.useState)(null),[b,u]=(0,j.useState)(!1),[g,p]=(0,j.useState)(null),f;e[0]!==r?(f=["lunora-auth-org-members",r],e[0]=r,e[1]=f):f=e[1];let y;e[2]!==i||e[3]!==r?(y=c(()=>i.listAuthOrgMembers({limit:200,organizationId:r}),"v"),e[2]=i,e[3]=r,e[4]=y):y=e[4];let z=ue(f,y),v;e[5]!==r?(v=["lunora-auth-org-invitations",r],e[5]=r,e[6]=v):v=e[6];let I;e[7]!==i||e[8]!==r?(I=c(()=>i.listAuthOrgInvitations({limit:200,organizationId:r}),"C"),e[7]=i,e[8]=r,e[9]=I):I=e[9];let C=ue(v,I),k;e[10]!==r?(k=["lunora-auth-org-teams",r],e[10]=r,e[11]=k):k=e[11];let w;e[12]!==i||e[13]!==r?(w=c(()=>i.listAuthOrgTeams({limit:200,organizationId:r}),"$"),e[12]=i,e[13]=r,e[14]=w):w=e[14];let x;e[15]!==h?(x={enabled:h},e[15]=h,e[16]=x):x=e[16];let S=ue(k,w,x),_;e[17]!==r?(_=["lunora-auth-org-roles",r],e[17]=r,e[18]=_):_=e[18];let A;e[19]!==i||e[20]!==r?(A=c(()=>i.listAuthOrgRoles({limit:200,organizationId:r}),"A"),e[19]=i,e[20]=r,e[21]=A):A=e[21];let D;e[22]!==d?(D={enabled:d},e[22]=d,e[23]=D):D=e[23];let $=ue(_,A,D),T;e[24]!==s?(T=["lunora-auth-org-team-members",s],e[24]=s,e[25]=T):T=e[25];let P;e[26]!==i||e[27]!==s?(P=c(()=>i.listAuthOrgTeamMembers({limit:200,teamId:s??""}),"P"),e[26]=i,e[27]=s,e[28]=P):P=e[28];let Q=s!==null,J;e[29]!==Q?(J={enabled:Q},e[29]=Q,e[30]=J):J=e[30];let E=ue(T,P,J),B;e[31]!==z.data?.rows?(B=z.data?.rows??[],e[31]=z.data?.rows,e[32]=B):B=e[32];let Y=B,M;e[33]!==C.data?.rows?(M=C.data?.rows??[],e[33]=C.data?.rows,e[34]=M):M=e[34];let R=M,H;e[35]!==S.data?.rows?(H=S.data?.rows??[],e[35]=S.data?.rows,e[36]=H):H=e[36];let ie=H,K;e[37]!==$.data?.rows?(K=$.data?.rows??[],e[37]=$.data?.rows,e[38]=K):K=e[38];let ee=K,X;e[39]!==s||e[40]!==E?(X=s===null?[]:E.data?.rows??[],e[39]=s,e[40]=E,e[41]=X):X=e[41];let te=X,oe=z.error??C.error??S.error??$.error??E.error,V;e[42]!==C||e[43]!==z||e[44]!==d||e[45]!==$||e[46]!==s||e[47]!==E||e[48]!==h||e[49]!==S?(V=c(()=>{z.refetch(),C.refetch(),h&&S.refetch(),d&&$.refetch(),s!==null&&E.refetch()},"W"),e[42]=C,e[43]=z,e[44]=d,e[45]=$,e[46]=s,e[47]=E,e[48]=h,e[49]=S,e[50]=V):V=e[50];let O=V;Ct(O,!0);let ne;e[51]===Symbol.for("react.memo_cache_sentinel")?(ne=c(()=>{l(null)},"oe"),e[51]=ne):ne=e[51];let F=ne,Xe;e[52]!==O?(Xe=c(G=>{xt((async()=>{u(!0),p(null);try{await G(),O(),u(!1)}catch(lt){p(wt(lt)),u(!1)}})())},"Ye"),e[52]=O,e[53]=Xe):Xe=e[53];let ae=Xe,Ve;e[54]!==i||e[55]!==o?(Ve=c(G=>{let lt=N(G.id);l({action:c(async()=>{await i.removeAuthOrgTeam({teamId:lt}),m(It=>It===lt?null:It)},"action"),kind:"confirm",message:o("Delete this team and its memberships? This cannot be undone."),testId:"org-team-delete",title:o("Delete team")})},"Ze"),e[54]=i,e[55]=o,e[56]=Ve):Ve=e[56];let it=Ve,ge;e[57]!==o?(ge=o("userId"),e[57]=o,e[58]=ge):ge=e[58];let he;e[59]!==ge?(he={head:ge,render:Yt},e[59]=ge,e[60]=he):he=e[60];let be;e[61]!==o?(be=o("role"),e[61]=o,e[62]=be):be=e[62];let fe;e[63]!==be?(fe={head:be,render:Zt},e[63]=be,e[64]=fe):fe=e[64];let et;e[65]!==he||e[66]!==fe?(et=[he,fe],e[65]=he,e[66]=fe,e[67]=et):et=e[67];let st=et,pe;e[68]!==o?(pe=o("email"),e[68]=o,e[69]=pe):pe=e[69];let ve;e[70]!==pe?(ve={head:pe,render:Gt},e[70]=pe,e[71]=ve):ve=e[71];let ye;e[72]!==o?(ye=o("role"),e[72]=o,e[73]=ye):ye=e[73];let Ce;e[74]!==ye?(Ce={head:ye,render:Kt},e[74]=ye,e[75]=Ce):Ce=e[75];let Ie;e[76]!==o?(Ie=o("status"),e[76]=o,e[77]=Ie):Ie=e[77];let we;e[78]!==Ie?(we={head:Ie,render:Xt},e[78]=Ie,e[79]=we):we=e[79];let tt;e[80]!==ve||e[81]!==Ce||e[82]!==we?(tt=[ve,Ce,we],e[80]=ve,e[81]=Ce,e[82]=we,e[83]=tt):tt=e[83];let mt=tt,xe;e[84]!==o?(xe=o("id"),e[84]=o,e[85]=xe):xe=e[85];let ze;e[86]!==xe?(ze={className:"font-mono text-xs",head:xe,render:Vt},e[86]=xe,e[87]=ze):ze=e[87];let ke;e[88]!==o?(ke=o("name"),e[88]=o,e[89]=ke):ke=e[89];let Se;e[90]!==ke?(Se={head:ke,render:er},e[90]=ke,e[91]=Se):Se=e[91];let rt;e[92]!==ze||e[93]!==Se?(rt=[ze,Se],e[92]=ze,e[93]=Se,e[94]=rt):rt=e[94];let dt=rt,Ne;e[95]!==o?(Ne=o("userId"),e[95]=o,e[96]=Ne):Ne=e[96];let ot;e[97]!==Ne?(ot=[{head:Ne,render:tr}],e[97]=Ne,e[98]=ot):ot=e[98];let ct=ot,De;e[99]!==o?(De=o("role"),e[99]=o,e[100]=De):De=e[100];let Ae;e[101]!==De?(Ae={head:De,render:rr},e[101]=De,e[102]=Ae):Ae=e[102];let Oe;e[103]!==o?(Oe=o("Permission"),e[103]=o,e[104]=Oe):Oe=e[104];let _e;e[105]!==Oe?(_e={className:"font-mono text-xs whitespace-pre-wrap",head:Oe,render:or},e[105]=Oe,e[106]=_e):_e=e[106];let nt;e[107]!==Ae||e[108]!==_e?(nt=[Ae,_e],e[107]=Ae,e[108]=_e,e[109]=nt):nt=e[109];let ut=nt,$e;e[110]!==oe?($e=oe!==null&&(0,n.jsx)("p",{className:"text-sm text-destructive","data-testid":"org-detail-error",role:"alert",children:oe}),e[110]=oe,e[111]=$e):$e=e[111];let Te;e[112]!==g?(Te=g!==null&&(0,n.jsx)("p",{className:"text-sm text-destructive","data-testid":"org-action-error",role:"alert",children:g}),e[112]=g,e[113]=Te):Te=e[113];let Me;e[114]!==i||e[115]!==ae?(Me=c(G=>{ae(()=>i.removeAuthOrgMember({memberId:G}))},"_e"),e[114]=i,e[115]=ae,e[116]=Me):Me=e[116];let Re;e[117]!==b||e[118]!==st||e[119]!==Y||e[120]!==Me?(Re=(0,n.jsx)(Ut,{actionBusy:b,memberColumns:st,members:Y,onDialog:l,onRemoveMember:Me}),e[117]=b,e[118]=st,e[119]=Y,e[120]=Me,e[121]=Re):Re=e[121];let Fe;e[122]!==b||e[123]!==i||e[124]!==mt||e[125]!==R||e[126]!==ae||e[127]!==o?(Fe=R.length>0&&(0,n.jsx)(Ge,{heading:o("Invitations"),testId:"org-invitations",children:(0,n.jsx)(Ke,{columns:mt,rowActions:c(G=>(0,n.jsx)(L,{"data-testid":`org-cancel-invitation-${N(G.id)}`,disabled:b,onClick:c(()=>{ae(()=>i.cancelAuthOrgInvitation({invitationId:N(G.id)}))},"onClick"),size:"xs",type:"button",variant:"ghost",children:o("Cancel")}),"rowActions"),rowPrefix:"org-invitation",rows:R})}),e[122]=b,e[123]=i,e[124]=mt,e[125]=R,e[126]=ae,e[127]=o,e[128]=Fe):Fe=e[128];let Ee;e[129]!==it||e[130]!==s||e[131]!==dt||e[132]!==ie||e[133]!==h?(Ee=h&&(0,n.jsx)(qt,{onConfirmDeleteTeam:it,onDialog:l,onSelectTeam:m,selectedTeam:s,teamColumns:dt,teams:ie}),e[129]=it,e[130]=s,e[131]=dt,e[132]=ie,e[133]=h,e[134]=Ee):Ee=e[134];let Le;e[135]!==b||e[136]!==i||e[137]!==ae||e[138]!==s||e[139]!==ct||e[140]!==te||e[141]!==h?(Le=h&&s!==null&&(0,n.jsx)(Ht,{actionBusy:b,onDialog:l,onRemoveTeamMember:c(G=>{ae(()=>i.removeAuthOrgTeamMember({teamMemberId:G}))},"onRemoveTeamMember"),selectedTeam:s,teamMemberColumns:ct,teamMembers:te}),e[135]=b,e[136]=i,e[137]=ae,e[138]=s,e[139]=ct,e[140]=te,e[141]=h,e[142]=Le):Le=e[142];let je;e[143]!==i||e[144]!==ut||e[145]!==ee||e[146]!==d||e[147]!==o?(je=d&&(0,n.jsx)(Qt,{onConfirmDeleteRole:c(G=>{l({action:c(()=>i.deleteAuthOrgRole({roleId:G}),"action"),kind:"confirm",message:o("Delete this custom role? Members keeping it will lose its grants."),testId:"org-role-delete",title:o("Delete role")})},"onConfirmDeleteRole"),onDialog:l,roleColumns:ut,roles:ee}),e[143]=i,e[144]=ut,e[145]=ee,e[146]=d,e[147]=o,e[148]=je):je=e[148];let Pe;e[149]!==a?.kind||e[150]!==r||e[151]!==O?(Pe=a?.kind==="add-member"&&(0,n.jsx)(Lt,{onClose:F,onDone:O,organizationId:r}),e[149]=a?.kind,e[150]=r,e[151]=O,e[152]=Pe):Pe=e[152];let Je;e[153]!==a?.kind||e[154]!==r||e[155]!==O?(Je=a?.kind==="invite-member"&&(0,n.jsx)(jt,{onClose:F,onDone:O,organizationId:r}),e[153]=a?.kind,e[154]=r,e[155]=O,e[156]=Je):Je=e[156];let Be;e[157]!==a||e[158]!==O?(Be=a?.kind==="member-role"&&(0,n.jsx)(Pt,{member:a.member,onClose:F,onDone:O}),e[157]=a,e[158]=O,e[159]=Be):Be=e[159];let Ue;e[160]!==a?.kind||e[161]!==r||e[162]!==O?(Ue=a?.kind==="team-create"&&(0,n.jsx)(At,{mode:"create",onClose:F,onDone:O,organizationId:r}),e[160]=a?.kind,e[161]=r,e[162]=O,e[163]=Ue):Ue=e[163];let qe;e[164]!==a||e[165]!==r||e[166]!==O?(qe=a?.kind==="team-rename"&&(0,n.jsx)(At,{mode:"edit",onClose:F,onDone:O,organizationId:r,team:a.team}),e[164]=a,e[165]=r,e[166]=O,e[167]=qe):qe=e[167];let He;e[168]!==a||e[169]!==O?(He=a?.kind==="team-add-member"&&(0,n.jsx)(Jt,{onClose:F,onDone:O,teamId:a.teamId}),e[168]=a,e[169]=O,e[170]=He):He=e[170];let Qe;e[171]!==a?.kind||e[172]!==r||e[173]!==O?(Qe=a?.kind==="role-create"&&(0,n.jsx)(Ot,{mode:"create",onClose:F,onDone:O,organizationId:r}),e[171]=a?.kind,e[172]=r,e[173]=O,e[174]=Qe):Qe=e[174];let We;e[175]!==a||e[176]!==r||e[177]!==O?(We=a?.kind==="role-edit"&&(0,n.jsx)(Ot,{mode:"edit",onClose:F,onDone:O,organizationId:r,role:a.role}),e[175]=a,e[176]=r,e[177]=O,e[178]=We):We=e[178];let Ye;e[179]!==a||e[180]!==O?(Ye=a?.kind==="confirm"&&(0,n.jsx)(Tt,{action:a.action,message:a.message,onClose:F,onDone:O,testId:a.testId,title:a.title}),e[179]=a,e[180]=O,e[181]=Ye):Ye=e[181];let at;return e[182]!==$e||e[183]!==Te||e[184]!==Re||e[185]!==Fe||e[186]!==Ee||e[187]!==Le||e[188]!==je||e[189]!==Pe||e[190]!==Je||e[191]!==Be||e[192]!==Ue||e[193]!==qe||e[194]!==He||e[195]!==Qe||e[196]!==We||e[197]!==Ye?(at=(0,n.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"org-detail",children:[$e,Te,Re,Fe,Ee,Le,je,Pe,Je,Be,Ue,qe,He,Qe,We,Ye]}),e[182]=$e,e[183]=Te,e[184]=Re,e[185]=Fe,e[186]=Ee,e[187]=Le,e[188]=je,e[189]=Pe,e[190]=Je,e[191]=Be,e[192]=Ue,e[193]=qe,e[194]=He,e[195]=Qe,e[196]=We,e[197]=Ye,e[198]=at):at=e[198],at},"Ht");function Yt(t){return(0,n.jsx)("span",{className:"font-mono text-xs",children:N(t.userId)})}c(Yt,"Kt");function Zt(t){return N(t.role)}c(Zt,"qt");function Gt(t){return N(t.email)}c(Gt,"Gt");function Kt(t){return N(t.role)}c(Kt,"Qt");function Xt(t){return N(t.status)}c(Xt,"Vt");function Vt(t){return N(t.id)}c(Vt,"Xt");function er(t){return N(t.name)}c(er,"Yt");function tr(t){return(0,n.jsx)("span",{className:"font-mono text-xs",children:N(t.userId)})}c(tr,"Zt");function rr(t){return N(t.role)}c(rr,"Wt");function or(t){return N(t.permission)}c(or,"er");var yr=c(()=>{let t=(0,U.c)(62),e=re(),r=q(),{config:d,ready:h}=St(),i=d.capabilities.organization,[o,a]=(0,j.useState)(null),[l,s]=(0,j.useState)(null),m;t[0]===Symbol.for("react.memo_cache_sentinel")?(m=["lunora-auth-orgs"],t[0]=m):m=t[0];let b;t[1]!==e?(b=c(()=>e.listAuthOrganizations({limit:100}),"h"),t[1]=e,t[2]=b):b=t[2];let u;t[3]!==i?(u={enabled:i},t[3]=i,t[4]=u):u=t[4];let g=ue(m,b,u),p=g.data?.rows??null,f;t[5]!==g?(f=c(()=>{g.refetch()},"b"),t[5]=g,t[6]=f):f=t[6],Ct(f,i);let y;t[7]===Symbol.for("react.memo_cache_sentinel")?(y=c(()=>{s(null)},"v"),t[7]=y):y=t[7];let z=y,v;t[8]!==g?(v=c(()=>{g.refetch()},"p"),t[8]=g,t[9]=v):v=t[9];let I=v,C;t[10]===Symbol.for("react.memo_cache_sentinel")?(C=c(M=>{a(M)},"y"),t[10]=C):C=t[10];let k=C;if(h&&!i){let M;t[11]!==r?(M=r("Enable the organization() plugin in your auth config to manage organizations here."),t[11]=r,t[12]=M):M=t[12];let R;t[13]!==r?(R=r("Organizations are not enabled."),t[13]=r,t[14]=R):R=t[14];let H;return t[15]!==M||t[16]!==R?(H=(0,n.jsx)(ce,{description:M,testId:"org-disabled",title:R}),t[15]=M,t[16]=R,t[17]=H):H=t[17],H}let w;t[18]!==r?(w=r("Organizations"),t[18]=r,t[19]=w):w=t[19];let x;t[20]!==w?(x=(0,n.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:w}),t[20]=w,t[21]=x):x=t[21];let S;t[22]===Symbol.for("react.memo_cache_sentinel")?(S=c(()=>{s({kind:"create"})},"z"),t[22]=S):S=t[22];let _;t[23]!==r?(_=r("New organization"),t[23]=r,t[24]=_):_=t[24];let A;t[25]!==_?(A=(0,n.jsx)(L,{"data-testid":"org-new",onClick:S,size:"sm",type:"button",children:_}),t[25]=_,t[26]=A):A=t[26];let D;t[27]!==A||t[28]!==x?(D=(0,n.jsxs)("div",{className:"flex items-center justify-between",children:[x,A]}),t[27]=A,t[28]=x,t[29]=D):D=t[29];let $;t[30]!==g.error?($=g.error!==null&&(0,n.jsx)("p",{className:"text-sm text-destructive","data-testid":"org-error",role:"alert",children:g.error}),t[30]=g.error,t[31]=$):$=t[31];let T;t[32]!==p||t[33]!==r?(T=p!==null&&p.length===0&&(0,n.jsx)(ce,{testId:"org-empty",title:r("No organizations.")}),t[32]=p,t[33]=r,t[34]=T):T=t[34];let P;t[35]!==p||t[36]!==o||t[37]!==r?(P=p!==null&&p.length>0&&(0,n.jsx)(ht,{className:"overflow-hidden py-0",children:(0,n.jsx)(bt,{className:"px-0",children:(0,n.jsxs)(ft,{"data-testid":"org-table",children:[(0,n.jsx)(pt,{children:(0,n.jsxs)(Ze,{children:[(0,n.jsx)(se,{children:r("id")}),(0,n.jsx)(se,{children:r("name")}),(0,n.jsx)(se,{children:r("slug")}),(0,n.jsx)(se,{children:r("created")}),(0,n.jsx)(se,{"aria-label":r("Actions")})]})}),(0,n.jsx)(vt,{children:p.map(M=>{let R=N(M.id);return(0,n.jsxs)(Ze,{"data-testid":`org-row-${R}`,children:[(0,n.jsx)(me,{className:"font-mono text-xs",children:R}),(0,n.jsx)(me,{children:N(M.name)}),(0,n.jsx)(me,{children:N(M.slug)}),(0,n.jsx)(me,{className:"text-muted-foreground tabular-nums",children:zt(M.createdAt)}),(0,n.jsx)(me,{children:(0,n.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,n.jsx)(L,{"aria-pressed":o===R,"data-testid":`org-select-${R}`,onClick:c(()=>{k(R)},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Manage")}),(0,n.jsx)(L,{"data-testid":`org-edit-${R}`,onClick:c(()=>{s({kind:"edit",org:M})},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Edit")}),(0,n.jsx)(L,{"data-testid":`org-delete-${R}`,onClick:c(()=>{s({kind:"delete",org:M})},"onClick"),size:"xs",type:"button",variant:"ghost",children:r("Delete")})]})})]},R)})})]})})}),t[35]=p,t[36]=o,t[37]=r,t[38]=P):P=t[38];let Q;t[39]!==d.organization||t[40]!==o?(Q=o!==null&&(0,n.jsx)(Wt,{organizationId:o,rolesEnabled:d.organization.roles,teamsEnabled:d.organization.teams}),t[39]=d.organization,t[40]=o,t[41]=Q):Q=t[41];let J;t[42]!==l?.kind||t[43]!==I?(J=l?.kind==="create"&&(0,n.jsx)(Dt,{mode:"create",onClose:z,onDone:I}),t[42]=l?.kind,t[43]=I,t[44]=J):J=t[44];let E;t[45]!==l||t[46]!==I?(E=l?.kind==="edit"&&(0,n.jsx)(Dt,{mode:"edit",onClose:z,onDone:I,org:l.org}),t[45]=l,t[46]=I,t[47]=E):E=t[47];let B;t[48]!==e||t[49]!==l||t[50]!==I||t[51]!==r?(B=l?.kind==="delete"&&(0,n.jsx)(Tt,{action:c(async()=>{let M=N(l.org.id);await e.deleteAuthOrganization({organizationId:M}),a(R=>R===M?null:R)},"action"),message:r("Delete this organization? Its members, invitations, teams, and custom roles are removed. This cannot be undone."),onClose:z,onDone:I,testId:"org-delete",title:r("Delete organization")}),t[48]=e,t[49]=l,t[50]=I,t[51]=r,t[52]=B):B=t[52];let Y;return t[53]!==D||t[54]!==$||t[55]!==T||t[56]!==P||t[57]!==Q||t[58]!==J||t[59]!==E||t[60]!==B?(Y=(0,n.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-organizations",children:[D,$,T,P,Q,J,E,B]}),t[53]=D,t[54]=$,t[55]=T,t[56]=P,t[57]=Q,t[58]=J,t[59]=E,t[60]=B,t[61]=Y):Y=t[61],Y},"yr");export{yr as OrganizationsPanel};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{b as de,c as ce}from"./chunk-KUVMORDQ.js";import{a as ie}from"./chunk-QWGT25SE.js";import{a as le}from"./chunk-CTNB2KIA.js";import{a as ne}from"./chunk-LFKCLLPT.js";import{a as oe}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as te}from"./chunk-XDAT7LHC.js";import{a as se}from"./chunk-X665E2HU.js";import{b as ae}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{R as Z}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as Y}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as re}from"./chunk-2WOIRKEI.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as X}from"./chunk-XQCVZAGU.js";import{d as z,q as ee}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as M,e as Q,f as he,g as fe,h as pe,j as V}from"./chunk-3XIESWL4.js";var H=Q(fe(),1),K=Q(he(),1);var a=Q(pe(),1);var me=M(o=>Math.min(100,Math.max(0,o)),"V"),ge=M((o,e)=>{if(!Number.isFinite(e)||e<=0)return{leftPercent:0,widthPercent:100};let t=me(o.offsetMs/e*100),s=o.durationMs/e*100,r=Math.max(.5,Math.min(me(s),100-t));return{leftPercent:t,widthPercent:r}},"he"),xe=M((o,e)=>{let t=e.trim().toLowerCase();return t===""?[...o]:o.filter(s=>s.rootName.toLowerCase().includes(t)||s.functionPath.toLowerCase().includes(t)||s.traceId.toLowerCase().includes(t))},"fe"),G=M(o=>Number.isFinite(o)?o>0&&o<1?`${o.toFixed(2)}ms`:`${String(Math.round(o))}ms`:"\u2014","U"),be=14,we=M(o=>Array.isArray(o?.traces)?o.traces:[],"ge"),Ne=M(o=>{let e=(0,H.c)(50),{span:t,traceDurationMs:s}=o,r=z(),n;e[0]!==t||e[1]!==s?(n=ge(t,s),e[0]=t,e[1]=s,e[2]=n):n=e[2];let{leftPercent:P,widthPercent:x}=n,L;e[3]!==t.attributes?(L=ie(t.attributes),e[3]=t.attributes,e[4]=L):L=e[4];let k=L,C=t.depth*be,y;e[5]!==C?(y={paddingLeft:C},e[5]=C,e[6]=y):y=e[6];let b=y,c=`${String(P)}%`,w=`${String(x)}%`,p;e[7]!==c||e[8]!==w?(p={left:c,width:w},e[7]=c,e[8]=w,e[9]=p):p=e[9];let l=p,f=t.depth,i;e[10]!==t.ok||e[11]!==r?(i=t.ok?null:(0,a.jsx)("span",{"aria-label":r("Errored span"),className:"mr-1 text-destructive","data-testid":"tr-span-error",role:"img",children:"\u25CF"}),e[10]=t.ok,e[11]=r,e[12]=i):i=e[12];let v;e[13]!==b||e[14]!==t.name||e[15]!==i?(v=(0,a.jsxs)("span",{className:"w-56 shrink-0 truncate",role:"gridcell",style:b,title:t.name,children:[i,t.name]}),e[13]=b,e[14]=t.name,e[15]=i,e[16]=v):v=e[16];let d;e[17]!==t.durationMs||e[18]!==t.offsetMs||e[19]!==r?(d=r("starts {offset} in, runs {duration}",{duration:G(t.durationMs),offset:G(t.offsetMs)}),e[17]=t.durationMs,e[18]=t.offsetMs,e[19]=r,e[20]=d):d=e[20];let N=t.ok?"bg-primary/70":"bg-destructive",m;e[21]!==N?(m=V("absolute inset-y-0 rounded-sm",N),e[21]=N,e[22]=m):m=e[22];let u;e[23]!==l||e[24]!==P||e[25]!==m||e[26]!==x?(u=(0,a.jsx)("span",{className:m,"data-left":P,"data-testid":"tr-span-bar","data-width":x,style:l}),e[23]=l,e[24]=P,e[25]=m,e[26]=x,e[27]=u):u=e[27];let h;e[28]!==d||e[29]!==u?(h=(0,a.jsx)("span",{"aria-label":d,className:"relative h-3 flex-1 overflow-hidden rounded-sm bg-muted",role:"gridcell",children:u}),e[28]=d,e[29]=u,e[30]=h):h=e[30];let g;e[31]!==t.durationMs?(g=G(t.durationMs),e[31]=t.durationMs,e[32]=g):g=e[32];let I;e[33]!==g?(I=(0,a.jsx)("span",{className:"w-16 shrink-0 text-right tabular-nums text-muted-foreground",role:"gridcell",children:g}),e[33]=g,e[34]=I):I=e[34];let S;e[35]!==t.error?(S=t.error===void 0?null:(0,a.jsx)("span",{className:"text-destructive","data-testid":"tr-span-error-message",title:t.error.message,children:`${t.error.type}: ${t.error.message}`}),e[35]=t.error,e[36]=S):S=e[36];let T;e[37]!==S?(T=(0,a.jsx)("span",{className:"w-64 shrink-0 truncate text-muted-foreground",role:"gridcell",children:S}),e[37]=S,e[38]=T):T=e[38];let F;e[39]!==k?(F=k===""?null:(0,a.jsx)("span",{"data-testid":"tr-span-attributes",title:k,children:k}),e[39]=k,e[40]=F):F=e[40];let $;e[41]!==F?($=(0,a.jsx)("span",{className:"w-64 shrink-0 truncate text-muted-foreground",role:"gridcell",children:F}),e[41]=F,e[42]=$):$=e[42];let _;return e[43]!==t.depth||e[44]!==v||e[45]!==h||e[46]!==I||e[47]!==T||e[48]!==$?(_=(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3 py-1.5 font-mono text-xs last:border-b-0 hover:bg-muted/50","data-depth":f,"data-testid":"tr-span-row",role:"row",children:[v,h,I,T,$]}),e[43]=t.depth,e[44]=v,e[45]=h,e[46]=I,e[47]=T,e[48]=$,e[49]=_):_=e[49],_},"xe"),Me=M(o=>{let e=(0,H.c)(50),{expanded:t,onToggle:s,trace:r}=o,n=z(),P;e[0]!==s||e[1]!==r.traceId?(P=M(()=>{s(r.traceId)},"S"),e[0]=s,e[1]=r.traceId,e[2]=P):P=e[2];let x=P,L=`tr-row-${r.traceId}`,k=`tr-waterfall-${r.traceId}`,C=`tr-toggle-${r.traceId}`,y=t?"\u25BE":"\u25B8",b;e[3]!==y?(b=(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-xs text-muted-foreground",children:y}),e[3]=y,e[4]=b):b=e[4];let c;e[5]!==r.rootName?(c=(0,a.jsx)("span",{className:"w-56 shrink-0 truncate text-sm font-medium",title:r.rootName,children:r.rootName}),e[5]=r.rootName,e[6]=c):c=e[6];let w;e[7]!==r.functionPath?(w=(0,a.jsx)("span",{className:"w-48 shrink-0 truncate font-mono text-xs text-muted-foreground",title:r.functionPath,children:r.functionPath}),e[7]=r.functionPath,e[8]=w):w=e[8];let p;e[9]!==r.durationMs?(p=G(r.durationMs),e[9]=r.durationMs,e[10]=p):p=e[10];let l;e[11]!==p?(l=(0,a.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:p}),e[11]=p,e[12]=l):l=e[12];let f;e[13]!==n||e[14]!==r.spans.length?(f=n("{count} spans",{count:r.spans.length}),e[13]=n,e[14]=r.spans.length,e[15]=f):f=e[15];let i;e[16]!==f?(i=(0,a.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:f}),e[16]=f,e[17]=i):i=e[17];let v=r.ok?"secondary":"destructive",d;e[18]!==n||e[19]!==r.ok?(d=r.ok?n("ok"):n("error"),e[18]=n,e[19]=r.ok,e[20]=d):d=e[20];let N;e[21]!==v||e[22]!==d?(N=(0,a.jsx)("span",{className:"shrink-0",children:(0,a.jsx)(Y,{variant:v,children:d})}),e[21]=v,e[22]=d,e[23]=N):N=e[23];let m;e[24]!==r.startTs?(m=ee(r.startTs),e[24]=r.startTs,e[25]=m):m=e[25];let u;e[26]!==m?(u=(0,a.jsx)("span",{className:"flex-1 truncate text-right font-mono text-xs tabular-nums text-muted-foreground",children:m}),e[26]=m,e[27]=u):u=e[27];let h;e[28]!==t||e[29]!==x||e[30]!==l||e[31]!==i||e[32]!==N||e[33]!==u||e[34]!==k||e[35]!==C||e[36]!==b||e[37]!==c||e[38]!==w?(h=(0,a.jsxs)("button",{"aria-controls":k,"aria-expanded":t,className:"flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-muted/50","data-testid":C,onClick:x,type:"button",children:[b,c,w,l,i,N,u]}),e[28]=t,e[29]=x,e[30]=l,e[31]=i,e[32]=N,e[33]=u,e[34]=k,e[35]=C,e[36]=b,e[37]=c,e[38]=w,e[39]=h):h=e[39];let g;e[40]!==t||e[41]!==n||e[42]!==r.durationMs||e[43]!==r.spans||e[44]!==r.traceId?(g=t&&(0,a.jsx)("div",{"aria-label":n("Trace waterfall"),className:"bg-muted/20","data-testid":`tr-waterfall-${r.traceId}`,id:`tr-waterfall-${r.traceId}`,role:"grid",children:r.spans.map(S=>(0,a.jsx)(Ne,{span:S,traceDurationMs:r.durationMs},S.spanId))}),e[40]=t,e[41]=n,e[42]=r.durationMs,e[43]=r.spans,e[44]=r.traceId,e[45]=g):g=e[45];let I;return e[46]!==h||e[47]!==g||e[48]!==L?(I=(0,a.jsxs)("div",{className:"border-b border-border last:border-b-0","data-testid":L,children:[h,g]}),e[46]=h,e[47]=g,e[48]=L,e[49]=I):I=e[49],I},"be"),Be=M(o=>{let e=(0,H.c)(44),{initialShardKey:t}=o,s=z(),[r]=(0,K.useState)(de),[n,P]=(0,K.useState)(r?.shardKey!==void 0&&r.shardKey!==""?r.shardKey:t??""),[x,L]=(0,K.useState)(r?.traceId??""),[k,C]=(0,K.useState)(ve),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[0]=y):y=e[0],(0,K.useEffect)(ke,y);let b;e[1]!==n?(b=n.trim(),e[1]=n,e[2]=b):b=e[2];let c=ne(b,400),w;e[3]===Symbol.for("react.memo_cache_sentinel")?(w={},e[3]=w):w=e[3];let p;e[4]!==c?(p={live:!0,shardKey:c},e[4]=c,e[5]=p):p=e[5];let{data:l,error:f,errorSource:i,isLoading:v,liveError:d}=te(re.getTraces,w,p),N,m;e[6]!==l||e[7]!==c?(N=M(()=>{l!==void 0&&ae(c)},"N"),m=[l,c],e[6]=l,e[7]=c,e[8]=N,e[9]=m):(N=e[8],m=e[9]),(0,K.useEffect)(N,m);let u;if(e[10]!==l||e[11]!==f||e[12]!==i||e[13]!==k||e[14]!==v||e[15]!==d||e[16]!==x||e[17]!==n||e[18]!==s){let h=we(l),g=l?.total??h.length,I=g>h.length,S=xe(h,x),T;e[20]===Symbol.for("react.memo_cache_sentinel")?(T=M(E=>{L(E.target.value)},"$"),e[20]=T):T=e[20];let F=T,$;e[21]===Symbol.for("react.memo_cache_sentinel")?($=M(E=>{C(ue=>{let q=new Set(ue);return q.has(E)?q.delete(E):q.add(E),q})},"T"),e[21]=$):$=e[21];let _=$,J=f===null&&S.length===0&&!v,j;e[22]!==n?(j=(0,a.jsx)(se,{onChange:P,testId:"tr-shard-input",value:n}),e[22]=n,e[23]=j):j=e[23];let A;e[24]!==s?(A=s("Search traces"),e[24]=s,e[25]=A):A=e[25];let D;e[26]!==s?(D=s("search trace or function"),e[26]=s,e[27]=D):D=e[27];let B;e[28]!==x||e[29]!==A||e[30]!==D?(B=(0,a.jsx)(Z,{"aria-label":A,className:"h-8 w-56","data-testid":"tr-search",onChange:F,placeholder:D,value:x}),e[28]=x,e[29]=A,e[30]=D,e[31]=B):B=e[31];let O;e[32]!==d?(O=(0,a.jsx)(le,{message:d,prefix:"tr"}),e[32]=d,e[33]=O):O=e[33];let R;e[34]!==j||e[35]!==B||e[36]!==O?(R=(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[j,B,O]}),e[34]=j,e[35]=B,e[36]=O,e[37]=R):R=e[37];let U;e[38]!==f||e[39]!==i?(U=f!==null&&(0,a.jsx)(oe,{error:i,testId:"tr-error"}),e[38]=f,e[39]=i,e[40]=U):U=e[40];let W;e[41]!==J||e[42]!==s?(W=J&&(0,a.jsx)(X,{description:s("Traces recorded with ctx.trace show up here as your app handles traffic. The span buffer resets when the shard hibernates."),icon:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M4 6h10M7 12h13M10 18h7"})}),testId:"tr-empty",title:s("No traces")}),e[41]=J,e[42]=s,e[43]=W):W=e[43],u=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-traces-panel",children:[R,U,W,f===null&&I&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"tr-truncated",children:s("Showing the {shown} most recent of {total} traces in the buffer.",{shown:h.length,total:g})}),f===null&&S.length>0&&(0,a.jsx)("div",{"aria-label":s("Recent traces"),className:"overflow-hidden rounded-xl border border-border shadow-xs","data-testid":"tr-list",children:S.map(E=>(0,a.jsx)(Me,{expanded:k.has(E.traceId),onToggle:_,trace:E},E.traceId))})]}),e[10]=l,e[11]=f,e[12]=i,e[13]=k,e[14]=v,e[15]=d,e[16]=x,e[17]=n,e[18]=s,e[19]=u}else u=e[19];return u},"Be");function ve(){return new Set}M(ve,"we");function ke(){ce()}M(ke,"Ne");export{Be as TracesPanel};
|
|
1
|
+
import{b as de,c as ce}from"./chunk-KUVMORDQ.js";import{a as ie}from"./chunk-QWGT25SE.js";import{a as le}from"./chunk-CTNB2KIA.js";import{a as se}from"./chunk-X665E2HU.js";import{b as ae}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import{a as ne}from"./chunk-LFKCLLPT.js";import{R as Z}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import"./chunk-2OUPA2WJ.js";import{b as Y}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as oe}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{a as re}from"./chunk-ERMTJYQF.js";import{c as te}from"./chunk-XDAT7LHC.js";import"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as X}from"./chunk-XQCVZAGU.js";import{d as z,q as ee}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as M,e as Q,f as he,g as fe,h as pe,j as V}from"./chunk-3XIESWL4.js";var H=Q(fe(),1),K=Q(he(),1);var a=Q(pe(),1);var me=M(o=>Math.min(100,Math.max(0,o)),"V"),ge=M((o,e)=>{if(!Number.isFinite(e)||e<=0)return{leftPercent:0,widthPercent:100};let t=me(o.offsetMs/e*100),s=o.durationMs/e*100,r=Math.max(.5,Math.min(me(s),100-t));return{leftPercent:t,widthPercent:r}},"he"),xe=M((o,e)=>{let t=e.trim().toLowerCase();return t===""?[...o]:o.filter(s=>s.rootName.toLowerCase().includes(t)||s.functionPath.toLowerCase().includes(t)||s.traceId.toLowerCase().includes(t))},"fe"),G=M(o=>Number.isFinite(o)?o>0&&o<1?`${o.toFixed(2)}ms`:`${String(Math.round(o))}ms`:"\u2014","U"),be=14,we=M(o=>Array.isArray(o?.traces)?o.traces:[],"ge"),Ne=M(o=>{let e=(0,H.c)(50),{span:t,traceDurationMs:s}=o,r=z(),n;e[0]!==t||e[1]!==s?(n=ge(t,s),e[0]=t,e[1]=s,e[2]=n):n=e[2];let{leftPercent:P,widthPercent:x}=n,L;e[3]!==t.attributes?(L=ie(t.attributes),e[3]=t.attributes,e[4]=L):L=e[4];let k=L,C=t.depth*be,y;e[5]!==C?(y={paddingLeft:C},e[5]=C,e[6]=y):y=e[6];let b=y,c=`${String(P)}%`,w=`${String(x)}%`,p;e[7]!==c||e[8]!==w?(p={left:c,width:w},e[7]=c,e[8]=w,e[9]=p):p=e[9];let l=p,f=t.depth,i;e[10]!==t.ok||e[11]!==r?(i=t.ok?null:(0,a.jsx)("span",{"aria-label":r("Errored span"),className:"mr-1 text-destructive","data-testid":"tr-span-error",role:"img",children:"\u25CF"}),e[10]=t.ok,e[11]=r,e[12]=i):i=e[12];let v;e[13]!==b||e[14]!==t.name||e[15]!==i?(v=(0,a.jsxs)("span",{className:"w-56 shrink-0 truncate",role:"gridcell",style:b,title:t.name,children:[i,t.name]}),e[13]=b,e[14]=t.name,e[15]=i,e[16]=v):v=e[16];let d;e[17]!==t.durationMs||e[18]!==t.offsetMs||e[19]!==r?(d=r("starts {offset} in, runs {duration}",{duration:G(t.durationMs),offset:G(t.offsetMs)}),e[17]=t.durationMs,e[18]=t.offsetMs,e[19]=r,e[20]=d):d=e[20];let N=t.ok?"bg-primary/70":"bg-destructive",m;e[21]!==N?(m=V("absolute inset-y-0 rounded-sm",N),e[21]=N,e[22]=m):m=e[22];let u;e[23]!==l||e[24]!==P||e[25]!==m||e[26]!==x?(u=(0,a.jsx)("span",{className:m,"data-left":P,"data-testid":"tr-span-bar","data-width":x,style:l}),e[23]=l,e[24]=P,e[25]=m,e[26]=x,e[27]=u):u=e[27];let h;e[28]!==d||e[29]!==u?(h=(0,a.jsx)("span",{"aria-label":d,className:"relative h-3 flex-1 overflow-hidden rounded-sm bg-muted",role:"gridcell",children:u}),e[28]=d,e[29]=u,e[30]=h):h=e[30];let g;e[31]!==t.durationMs?(g=G(t.durationMs),e[31]=t.durationMs,e[32]=g):g=e[32];let I;e[33]!==g?(I=(0,a.jsx)("span",{className:"w-16 shrink-0 text-right tabular-nums text-muted-foreground",role:"gridcell",children:g}),e[33]=g,e[34]=I):I=e[34];let S;e[35]!==t.error?(S=t.error===void 0?null:(0,a.jsx)("span",{className:"text-destructive","data-testid":"tr-span-error-message",title:t.error.message,children:`${t.error.type}: ${t.error.message}`}),e[35]=t.error,e[36]=S):S=e[36];let T;e[37]!==S?(T=(0,a.jsx)("span",{className:"w-64 shrink-0 truncate text-muted-foreground",role:"gridcell",children:S}),e[37]=S,e[38]=T):T=e[38];let F;e[39]!==k?(F=k===""?null:(0,a.jsx)("span",{"data-testid":"tr-span-attributes",title:k,children:k}),e[39]=k,e[40]=F):F=e[40];let $;e[41]!==F?($=(0,a.jsx)("span",{className:"w-64 shrink-0 truncate text-muted-foreground",role:"gridcell",children:F}),e[41]=F,e[42]=$):$=e[42];let _;return e[43]!==t.depth||e[44]!==v||e[45]!==h||e[46]!==I||e[47]!==T||e[48]!==$?(_=(0,a.jsxs)("div",{className:"flex items-center gap-2 border-b border-border px-3 py-1.5 font-mono text-xs last:border-b-0 hover:bg-muted/50","data-depth":f,"data-testid":"tr-span-row",role:"row",children:[v,h,I,T,$]}),e[43]=t.depth,e[44]=v,e[45]=h,e[46]=I,e[47]=T,e[48]=$,e[49]=_):_=e[49],_},"xe"),Me=M(o=>{let e=(0,H.c)(50),{expanded:t,onToggle:s,trace:r}=o,n=z(),P;e[0]!==s||e[1]!==r.traceId?(P=M(()=>{s(r.traceId)},"S"),e[0]=s,e[1]=r.traceId,e[2]=P):P=e[2];let x=P,L=`tr-row-${r.traceId}`,k=`tr-waterfall-${r.traceId}`,C=`tr-toggle-${r.traceId}`,y=t?"\u25BE":"\u25B8",b;e[3]!==y?(b=(0,a.jsx)("span",{"aria-hidden":"true",className:"w-3 shrink-0 text-xs text-muted-foreground",children:y}),e[3]=y,e[4]=b):b=e[4];let c;e[5]!==r.rootName?(c=(0,a.jsx)("span",{className:"w-56 shrink-0 truncate text-sm font-medium",title:r.rootName,children:r.rootName}),e[5]=r.rootName,e[6]=c):c=e[6];let w;e[7]!==r.functionPath?(w=(0,a.jsx)("span",{className:"w-48 shrink-0 truncate font-mono text-xs text-muted-foreground",title:r.functionPath,children:r.functionPath}),e[7]=r.functionPath,e[8]=w):w=e[8];let p;e[9]!==r.durationMs?(p=G(r.durationMs),e[9]=r.durationMs,e[10]=p):p=e[10];let l;e[11]!==p?(l=(0,a.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:p}),e[11]=p,e[12]=l):l=e[12];let f;e[13]!==n||e[14]!==r.spans.length?(f=n("{count} spans",{count:r.spans.length}),e[13]=n,e[14]=r.spans.length,e[15]=f):f=e[15];let i;e[16]!==f?(i=(0,a.jsx)("span",{className:"w-20 shrink-0 text-right font-mono text-xs tabular-nums text-muted-foreground",children:f}),e[16]=f,e[17]=i):i=e[17];let v=r.ok?"secondary":"destructive",d;e[18]!==n||e[19]!==r.ok?(d=r.ok?n("ok"):n("error"),e[18]=n,e[19]=r.ok,e[20]=d):d=e[20];let N;e[21]!==v||e[22]!==d?(N=(0,a.jsx)("span",{className:"shrink-0",children:(0,a.jsx)(Y,{variant:v,children:d})}),e[21]=v,e[22]=d,e[23]=N):N=e[23];let m;e[24]!==r.startTs?(m=ee(r.startTs),e[24]=r.startTs,e[25]=m):m=e[25];let u;e[26]!==m?(u=(0,a.jsx)("span",{className:"flex-1 truncate text-right font-mono text-xs tabular-nums text-muted-foreground",children:m}),e[26]=m,e[27]=u):u=e[27];let h;e[28]!==t||e[29]!==x||e[30]!==l||e[31]!==i||e[32]!==N||e[33]!==u||e[34]!==k||e[35]!==C||e[36]!==b||e[37]!==c||e[38]!==w?(h=(0,a.jsxs)("button",{"aria-controls":k,"aria-expanded":t,className:"flex w-full items-center gap-3 px-3 py-2 text-left hover:bg-muted/50","data-testid":C,onClick:x,type:"button",children:[b,c,w,l,i,N,u]}),e[28]=t,e[29]=x,e[30]=l,e[31]=i,e[32]=N,e[33]=u,e[34]=k,e[35]=C,e[36]=b,e[37]=c,e[38]=w,e[39]=h):h=e[39];let g;e[40]!==t||e[41]!==n||e[42]!==r.durationMs||e[43]!==r.spans||e[44]!==r.traceId?(g=t&&(0,a.jsx)("div",{"aria-label":n("Trace waterfall"),className:"bg-muted/20","data-testid":`tr-waterfall-${r.traceId}`,id:`tr-waterfall-${r.traceId}`,role:"grid",children:r.spans.map(S=>(0,a.jsx)(Ne,{span:S,traceDurationMs:r.durationMs},S.spanId))}),e[40]=t,e[41]=n,e[42]=r.durationMs,e[43]=r.spans,e[44]=r.traceId,e[45]=g):g=e[45];let I;return e[46]!==h||e[47]!==g||e[48]!==L?(I=(0,a.jsxs)("div",{className:"border-b border-border last:border-b-0","data-testid":L,children:[h,g]}),e[46]=h,e[47]=g,e[48]=L,e[49]=I):I=e[49],I},"be"),Be=M(o=>{let e=(0,H.c)(44),{initialShardKey:t}=o,s=z(),[r]=(0,K.useState)(de),[n,P]=(0,K.useState)(r?.shardKey!==void 0&&r.shardKey!==""?r.shardKey:t??""),[x,L]=(0,K.useState)(r?.traceId??""),[k,C]=(0,K.useState)(ve),y;e[0]===Symbol.for("react.memo_cache_sentinel")?(y=[],e[0]=y):y=e[0],(0,K.useEffect)(ke,y);let b;e[1]!==n?(b=n.trim(),e[1]=n,e[2]=b):b=e[2];let c=ne(b,400),w;e[3]===Symbol.for("react.memo_cache_sentinel")?(w={},e[3]=w):w=e[3];let p;e[4]!==c?(p={live:!0,shardKey:c},e[4]=c,e[5]=p):p=e[5];let{data:l,error:f,errorSource:i,isLoading:v,liveError:d}=te(re.getTraces,w,p),N,m;e[6]!==l||e[7]!==c?(N=M(()=>{l!==void 0&&ae(c)},"N"),m=[l,c],e[6]=l,e[7]=c,e[8]=N,e[9]=m):(N=e[8],m=e[9]),(0,K.useEffect)(N,m);let u;if(e[10]!==l||e[11]!==f||e[12]!==i||e[13]!==k||e[14]!==v||e[15]!==d||e[16]!==x||e[17]!==n||e[18]!==s){let h=we(l),g=l?.total??h.length,I=g>h.length,S=xe(h,x),T;e[20]===Symbol.for("react.memo_cache_sentinel")?(T=M(E=>{L(E.target.value)},"$"),e[20]=T):T=e[20];let F=T,$;e[21]===Symbol.for("react.memo_cache_sentinel")?($=M(E=>{C(ue=>{let q=new Set(ue);return q.has(E)?q.delete(E):q.add(E),q})},"T"),e[21]=$):$=e[21];let _=$,J=f===null&&S.length===0&&!v,j;e[22]!==n?(j=(0,a.jsx)(se,{onChange:P,testId:"tr-shard-input",value:n}),e[22]=n,e[23]=j):j=e[23];let A;e[24]!==s?(A=s("Search traces"),e[24]=s,e[25]=A):A=e[25];let D;e[26]!==s?(D=s("search trace or function"),e[26]=s,e[27]=D):D=e[27];let B;e[28]!==x||e[29]!==A||e[30]!==D?(B=(0,a.jsx)(Z,{"aria-label":A,className:"h-8 w-56","data-testid":"tr-search",onChange:F,placeholder:D,value:x}),e[28]=x,e[29]=A,e[30]=D,e[31]=B):B=e[31];let O;e[32]!==d?(O=(0,a.jsx)(le,{message:d,prefix:"tr"}),e[32]=d,e[33]=O):O=e[33];let R;e[34]!==j||e[35]!==B||e[36]!==O?(R=(0,a.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[j,B,O]}),e[34]=j,e[35]=B,e[36]=O,e[37]=R):R=e[37];let U;e[38]!==f||e[39]!==i?(U=f!==null&&(0,a.jsx)(oe,{error:i,testId:"tr-error"}),e[38]=f,e[39]=i,e[40]=U):U=e[40];let W;e[41]!==J||e[42]!==s?(W=J&&(0,a.jsx)(X,{description:s("Traces recorded with ctx.trace show up here as your app handles traffic. The span buffer resets when the shard hibernates."),icon:(0,a.jsx)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:(0,a.jsx)("path",{d:"M4 6h10M7 12h13M10 18h7"})}),testId:"tr-empty",title:s("No traces")}),e[41]=J,e[42]=s,e[43]=W):W=e[43],u=(0,a.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-traces-panel",children:[R,U,W,f===null&&I&&(0,a.jsx)("p",{className:"text-xs text-muted-foreground","data-testid":"tr-truncated",children:s("Showing the {shown} most recent of {total} traces in the buffer.",{shown:h.length,total:g})}),f===null&&S.length>0&&(0,a.jsx)("div",{"aria-label":s("Recent traces"),className:"overflow-hidden rounded-xl border border-border shadow-xs","data-testid":"tr-list",children:S.map(E=>(0,a.jsx)(Me,{expanded:k.has(E.traceId),onToggle:_,trace:E},E.traceId))})]}),e[10]=l,e[11]=f,e[12]=i,e[13]=k,e[14]=v,e[15]=d,e[16]=x,e[17]=n,e[18]=s,e[19]=u}else u=e[19];return u},"Be");function ve(){return new Set}M(ve,"we");function ke(){ce()}M(ke,"Ne");export{Be as TracesPanel};
|