@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.
Files changed (134) hide show
  1. package/dist/index.d.ts +35 -6
  2. package/dist/index.js +1 -1
  3. package/dist/mount.js +1 -1
  4. package/dist/packem_chunks/AdvisorHealthPanel.js +1 -0
  5. package/dist/packem_chunks/ApiTab.js +1 -1
  6. package/dist/packem_chunks/AuditPanel.js +1 -1
  7. package/dist/packem_chunks/ExportImportPanel.js +1 -1
  8. package/dist/packem_chunks/FileBrowser.js +1 -1
  9. package/dist/packem_chunks/FunctionRunner.js +1 -1
  10. package/dist/packem_chunks/FunctionStatsPanel.js +1 -1
  11. package/dist/packem_chunks/HealthPanel.js +1 -1
  12. package/dist/packem_chunks/InsightsPanel.js +1 -1
  13. package/dist/packem_chunks/LogsPanel.js +1 -1
  14. package/dist/packem_chunks/MailPanel.js +2 -2
  15. package/dist/packem_chunks/MetricsPanel.js +1 -1
  16. package/dist/packem_chunks/NotificationsPanel.js +1 -1
  17. package/dist/packem_chunks/PitrPanel.js +1 -1
  18. package/dist/packem_chunks/SchemaViewer.js +1 -1
  19. package/dist/packem_chunks/SecurityAdvisorPanel.js +1 -1
  20. package/dist/packem_chunks/SettingsPanel.js +1 -1
  21. package/dist/packem_chunks/SqlEditorPanel.js +6 -6
  22. package/dist/packem_chunks/TableEditor.js +1 -1
  23. package/dist/packem_chunks/agents-panel.js +1 -1
  24. package/dist/packem_chunks/auth-audit-panel.js +1 -1
  25. package/dist/packem_chunks/containers-panel.js +1 -1
  26. package/dist/packem_chunks/dashboards-panel.js +1 -1
  27. package/dist/packem_chunks/fanout-panel.js +1 -1
  28. package/dist/packem_chunks/flags-panel.js +1 -1
  29. package/dist/packem_chunks/issues-panel.js +1 -1
  30. package/dist/packem_chunks/kv-browser.js +1 -1
  31. package/dist/packem_chunks/log-drains-panel.js +1 -1
  32. package/dist/packem_chunks/migrations-route.js +1 -1
  33. package/dist/packem_chunks/organizations-panel.js +1 -1
  34. package/dist/packem_chunks/payments-panel.js +1 -1
  35. package/dist/packem_chunks/permissions-panel.js +1 -1
  36. package/dist/packem_chunks/queues-panel.js +1 -1
  37. package/dist/packem_chunks/rls-panel.js +1 -1
  38. package/dist/packem_chunks/storage-rules-panel.js +1 -1
  39. package/dist/packem_chunks/subscriptions-panel.js +1 -1
  40. package/dist/packem_chunks/traces-panel.js +1 -1
  41. package/dist/packem_chunks/workflows-panel.js +1 -1
  42. package/dist/packem_shared/ADMIN_FUNCTIONS-CZESgd10.js +1 -0
  43. package/dist/packem_shared/{ApiDocsPanel-DfUQ1ZAF.js → ApiDocsPanel-fYS9NiLg.js} +1 -1
  44. package/dist/packem_shared/DataBrowser-C4J4gVUu.js +1 -0
  45. package/dist/packem_shared/GlobalDataBrowser-CSttudUx.js +1 -0
  46. package/dist/packem_shared/{HomePanel-Dcs4a3Ax.js → HomePanel-BYsfMhKh.js} +1 -1
  47. package/dist/packem_shared/{MigrationsPanel-C2OnsqRb.js → MigrationsPanel-2JbQ2HwG.js} +1 -1
  48. package/dist/packem_shared/{Studio-B26_pT8J.js → Studio-Ba9x0dG_.js} +1 -1
  49. package/dist/packem_shared/{StudioApp-bXhJeLlZ.js → StudioApp-B_PRdg4h.js} +1 -1
  50. package/dist/packem_shared/{cf-links-gbDy51nR.js → cf-links-Dmg86v1D.js} +1 -1
  51. package/dist/packem_shared/{home-panel-CU6MWLHG.js → home-panel-B60-5YfI.js} +1 -1
  52. package/dist/packem_shared/stat-card-fm_TF1mo.js +1 -0
  53. package/dist/packem_shared/studio-CPuoAmjh.js +2 -0
  54. package/dist/packem_shared/table-list-sidebar-BRv3hTLX.js +1 -0
  55. package/dist/packem_shared/{use-sql-assistant-CHEu2-Rk.js → use-sql-assistant-BLG9unQN.js} +1 -1
  56. package/dist/standalone/{chunk-RQ7AFLIV.js → chunk-2QSHLBCO.js} +1 -1
  57. package/dist/standalone/{chunk-33CL6OHR.js → chunk-5SQRE3VR.js} +1 -1
  58. package/dist/standalone/{chunk-5CVJS7ON.js → chunk-6QP5N57V.js} +1 -1
  59. package/dist/standalone/chunk-73GRNONE.js +1 -0
  60. package/dist/standalone/{chunk-JRMMYIAF.js → chunk-74DN6HIE.js} +1 -1
  61. package/dist/standalone/{chunk-KZ3ALMMP.js → chunk-7H7LZRLP.js} +1 -1
  62. package/dist/standalone/{chunk-FOBRNWBG.js → chunk-7YKWP4QK.js} +1 -1
  63. package/dist/standalone/{chunk-T7IUZIF4.js → chunk-7ZUQE3KU.js} +1 -1
  64. package/dist/standalone/{chunk-P4YLIBCN.js → chunk-A3KUNMU6.js} +1 -1
  65. package/dist/standalone/{chunk-S2VVR7HI.js → chunk-B2H5DK55.js} +1 -1
  66. package/dist/standalone/{chunk-FNPJ7GJZ.js → chunk-BDJCCVB6.js} +1 -1
  67. package/dist/standalone/{chunk-KJB7YAKB.js → chunk-C7EOC2WS.js} +1 -1
  68. package/dist/standalone/{chunk-KLQYC6CC.js → chunk-CGLS2ILT.js} +1 -1
  69. package/dist/standalone/chunk-CPSGJSHY.js +1 -0
  70. package/dist/standalone/{chunk-RJP3WBZ4.js → chunk-CU6SCYQ7.js} +1 -1
  71. package/dist/standalone/chunk-DGBJE7YF.js +4 -0
  72. package/dist/standalone/{chunk-G6PSMGLD.js → chunk-DOZAODYC.js} +1 -1
  73. package/dist/standalone/chunk-EQZTSISX.js +1 -0
  74. package/dist/standalone/chunk-ERMTJYQF.js +1 -0
  75. package/dist/standalone/{chunk-QZGTH6WH.js → chunk-GB6LP6UJ.js} +1 -1
  76. package/dist/standalone/{chunk-GYKVBKT5.js → chunk-GM67EQJU.js} +1 -1
  77. package/dist/standalone/chunk-GN567L2T.js +1 -0
  78. package/dist/standalone/{chunk-L7R74G63.js → chunk-GWHM4C4N.js} +1 -1
  79. package/dist/standalone/{chunk-JLOWAJRR.js → chunk-GWQIPIYA.js} +1 -1
  80. package/dist/standalone/{chunk-6YTSSIEJ.js → chunk-HEB6GQQ6.js} +1 -1
  81. package/dist/standalone/chunk-HOR3JLUY.js +6 -0
  82. package/dist/standalone/{chunk-7LWMHTJ3.js → chunk-I6A5C46N.js} +1 -1
  83. package/dist/standalone/{chunk-H6YOWRFB.js → chunk-KAPSM6AI.js} +1 -1
  84. package/dist/standalone/{chunk-6NY7SPDL.js → chunk-KSRP7GZV.js} +1 -1
  85. package/dist/standalone/chunk-LLF5KWDZ.js +2 -0
  86. package/dist/standalone/chunk-NRCXRCJX.js +1 -0
  87. package/dist/standalone/chunk-OE465DVY.js +1 -0
  88. package/dist/standalone/{chunk-HJ3E4YF5.js → chunk-PXYWCZ7T.js} +1 -1
  89. package/dist/standalone/{chunk-PZVU2QMX.js → chunk-Q7QTRX2E.js} +1 -1
  90. package/dist/standalone/{chunk-E3NMX2VU.js → chunk-S4ILMYP5.js} +1 -1
  91. package/dist/standalone/{chunk-KC44QCN6.js → chunk-SDQBPFLO.js} +1 -1
  92. package/dist/standalone/chunk-SV52HB7D.js +1 -0
  93. package/dist/standalone/{chunk-WBYSSCV2.js → chunk-T242WITF.js} +1 -1
  94. package/dist/standalone/{chunk-VHWOCPRK.js → chunk-TBRZQICB.js} +1 -1
  95. package/dist/standalone/{chunk-6LNCYDZO.js → chunk-TQXZ7LG4.js} +1 -1
  96. package/dist/standalone/chunk-U457LHCO.js +1 -0
  97. package/dist/standalone/chunk-UBPYN4DU.js +1 -0
  98. package/dist/standalone/{chunk-34D36UCW.js → chunk-UDVB4URN.js} +1 -1
  99. package/dist/standalone/{chunk-6IKEW5LG.js → chunk-UETNCBWU.js} +1 -1
  100. package/dist/standalone/{chunk-OY2RVUZL.js → chunk-UU2QJMGJ.js} +1 -1
  101. package/dist/standalone/chunk-VC5SSRUP.js +1 -0
  102. package/dist/standalone/{chunk-GXSZH7VJ.js → chunk-VCXH5V3Z.js} +1 -1
  103. package/dist/standalone/{chunk-RNRJKBY3.js → chunk-VTLYN3CX.js} +1 -1
  104. package/dist/standalone/{chunk-3O3HAXW7.js → chunk-WDG4WFUV.js} +1 -1
  105. package/dist/standalone/{chunk-3STOIE7Q.js → chunk-WJGOI3FZ.js} +1 -1
  106. package/dist/standalone/{chunk-W6SAOXGH.js → chunk-WLZ7YPBH.js} +1 -1
  107. package/dist/standalone/{chunk-2VDFV5TD.js → chunk-WQVVA5NB.js} +1 -1
  108. package/dist/standalone/{chunk-TTGOOYLF.js → chunk-WZ3B3MEV.js} +1 -1
  109. package/dist/standalone/{chunk-SKW6J4VW.js → chunk-Y7A5NCXT.js} +1 -1
  110. package/dist/standalone/{chunk-IHQC7J35.js → chunk-YSRW5RNU.js} +1 -1
  111. package/dist/standalone/{chunk-GAX5IZYG.js → chunk-YTA2HGRD.js} +1 -1
  112. package/dist/standalone/chunk-ZHBIKP5G.js +1 -0
  113. package/dist/standalone/{chunk-CCVXYYPJ.js → chunk-ZK3XKFCI.js} +1 -1
  114. package/dist/standalone/studio.js +1 -1
  115. package/dist/styles.css +1 -1
  116. package/package.json +5 -5
  117. package/dist/packem_shared/ADMIN_FUNCTIONS-BnD4aovm.js +0 -1
  118. package/dist/packem_shared/DataBrowser-CuRlztBz.js +0 -1
  119. package/dist/packem_shared/GlobalDataBrowser-DB-vQ2_H.js +0 -1
  120. package/dist/packem_shared/studio-q-C-acL7.js +0 -2
  121. package/dist/packem_shared/table-list-sidebar-BFkSQwlB.js +0 -1
  122. package/dist/standalone/chunk-2GA4SHO7.js +0 -1
  123. package/dist/standalone/chunk-2WOIRKEI.js +0 -1
  124. package/dist/standalone/chunk-6PNPIW6I.js +0 -2
  125. package/dist/standalone/chunk-6YI4WJO4.js +0 -1
  126. package/dist/standalone/chunk-A74VSSA2.js +0 -4
  127. package/dist/standalone/chunk-CT5MMH4O.js +0 -1
  128. package/dist/standalone/chunk-GB6U2BPU.js +0 -1
  129. package/dist/standalone/chunk-GEDMLM4A.js +0 -6
  130. package/dist/standalone/chunk-S252DAFP.js +0 -1
  131. package/dist/standalone/chunk-XS5LDR52.js +0 -1
  132. package/dist/standalone/chunk-YJYTMQJI.js +0 -1
  133. package/dist/standalone/chunk-Z2V42P7J.js +0 -1
  134. /package/dist/standalone/{chunk-SKHEGARW.js → chunk-XF2B7P5A.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lunora/studio",
3
- "version": "1.0.0-alpha.80",
3
+ "version": "1.0.0-alpha.82",
4
4
  "description": "The Lunora Studio: a local admin UI for your schema, data, logs, and advisors",
5
5
  "keywords": [
6
6
  "admin-ui",
@@ -58,11 +58,11 @@
58
58
  "@hugeicons/react": "^1.1.9",
59
59
  "@lingui/core": "^6.6.0",
60
60
  "@lingui/message-utils": "^6.6.0",
61
- "@lunora/advisor": "1.0.0-alpha.54",
62
- "@lunora/bindings": "1.0.0-alpha.13",
63
- "@lunora/client": "1.0.0-alpha.32",
61
+ "@lunora/advisor": "1.0.0-alpha.57",
62
+ "@lunora/bindings": "1.0.0-alpha.14",
63
+ "@lunora/client": "1.0.0-alpha.33",
64
64
  "@lunora/errors": "1.0.0-alpha.9",
65
- "@lunora/react": "1.0.0-alpha.36",
65
+ "@lunora/react": "1.0.0-alpha.37",
66
66
  "@tanstack/react-query": "^5.101.4",
67
67
  "@tanstack/react-router": "^1.170.18",
68
68
  "@tanstack/react-table": "^8.21.3",
@@ -1 +0,0 @@
1
- const _="__lunora_admin__:",a={aiAvailable:"__lunora_admin__:aiAvailable",aiChartConfig:"__lunora_admin__:aiChartConfig",aiGenerateSql:"__lunora_admin__:aiGenerateSql",aiTableFilter:"__lunora_admin__:aiTableFilter",assignIssue:"__lunora_admin__:assignIssue",backRelationCounts:"__lunora_admin__:backRelationCounts",clearCapturedMail:"__lunora_admin__:clearCapturedMail",clearQueueMessages:"__lunora_admin__:clearQueueMessages",clearTable:"__lunora_admin__:clearTable",createWorkflowInstance:"__lunora_admin__:createWorkflowInstance",deleteRows:"__lunora_admin__:deleteRows",describeTable:"__lunora_admin__:describeTable",describeTables:"__lunora_admin__:describeTables",explainIssue:"__lunora_admin__:explainIssue",exportShard:"__lunora_admin__:exportShard",facetColumn:"__lunora_admin__:facetColumn",getAdvisories:"__lunora_admin__:getAdvisories",getAuditLog:"__lunora_admin__:getAuditLog",getAuthAuditLog:"__lunora_admin__:getAuthAuditLog",getAuthMetrics:"__lunora_admin__:getAuthMetrics",getCapturedMail:"__lunora_admin__:getCapturedMail",getFanoutMetrics:"__lunora_admin__:getFanoutMetrics",getFunctionStats:"__lunora_admin__:getFunctionStats",getIssues:"__lunora_admin__:getIssues",lintSql:"__lunora_admin__:lintSql",listFlags:"__lunora_admin__:listFlags",listPushSubscriptions:"__lunora_admin__:listPushSubscriptions",listQueues:"__lunora_admin__:listQueues",listSubscriptions:"__lunora_admin__:listSubscriptions",listTableIndexes:"__lunora_admin__:listTableIndexes",listWorkflows:"__lunora_admin__:listWorkflows",getLogs:"__lunora_admin__:getLogs",getMetricHistory:"__lunora_admin__:getMetricHistory",getMetricSeries:"__lunora_admin__:getMetricSeries",getMetrics:"__lunora_admin__:getMetrics",getPitrBookmark:"__lunora_admin__:getPitrBookmark",getQueryInsights:"__lunora_admin__:getQueryInsights",getQueueMessages:"__lunora_admin__:getQueueMessages",getRequestLog:"__lunora_admin__:getRequestLog",getSecurityAudit:"__lunora_admin__:getSecurityAudit",getSettings:"__lunora_admin__:getSettings",getTraces:"__lunora_admin__:getTraces",getWorkflowInstanceStatus:"__lunora_admin__:getWorkflowInstanceStatus",ignoreIssue:"__lunora_admin__:ignoreIssue",importShard:"__lunora_admin__:importShard",listTables:"__lunora_admin__:listTables",maskPolicies:"__lunora_admin__:maskPolicies",migrationStatus:"__lunora_admin__:migrationStatus",pitrRestore:"__lunora_admin__:pitrRestore",readTablePage:"__lunora_admin__:readTablePage",replayQueueMessage:"__lunora_admin__:replayQueueMessage",resolveIssue:"__lunora_admin__:resolveIssue",rlsPolicies:"__lunora_admin__:rlsPolicies",schemaHistory:"__lunora_admin__:schemaHistory",schemaVersion:"__lunora_admin__:schemaVersion",runAs:"__lunora_admin__:runAs",runMigration:"__lunora_admin__:runMigration",runSql:"__lunora_admin__:runSql",sendQueueMessage:"__lunora_admin__:sendQueueMessage",sendTestMail:"__lunora_admin__:sendTestMail",setIssueSeverity:"__lunora_admin__:setIssueSeverity",storageOrphans:"__lunora_admin__:storageOrphans",storageReferences:"__lunora_admin__:storageReferences",storageRules:"__lunora_admin__:storageRules",studioFeatures:"__lunora_admin__:studioFeatures",writeRow:"__lunora_admin__:writeRow"};export{a as ADMIN_FUNCTIONS,_ as ADMIN_FUNCTION_PREFIX};
@@ -1 +0,0 @@
1
- import{c as B}from"react/compiler-runtime";import{useLunora as lt}from"@lunora/react";import{useState as T,useRef as Oe,useEffect as Te,useMemo as Pt,useCallback as Dt}from"react";import{ConfirmButton as Mt}from"./ConfirmButton-CTL3f3kr.js";import{ShardInput as pn}from"./ShardInput-BVn2iCU0.js";import{E as xn}from"./empty-state-Cg7t_8qu.js";import{N as qe}from"./use-admin-query-QJ-ibl5u.js";import{useT as ue}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{ADMIN_FUNCTIONS as Y}from"./ADMIN_FUNCTIONS-BnD4aovm.js";import{b as Kt}from"./browser-storage-xjTyMKY0.js";import{h as Ie,f as oe,d as ce,g as ye,i as vn}from"./internal-BSIsQVC6.js";import{k as yn}from"./use-sql-assistant-CHEu2-Rk.js";import{useReactTable as wn,getSortedRowModel as Nn,getCoreRowModel as Sn,flexRender as Cn}from"@tanstack/react-table";import{useVirtualizer as kn}from"@tanstack/react-virtual";import{f as zt}from"./checkbox-StT4Gob6.js";import{c as nt}from"./utils-bhneXptQ.js";import{l as $n}from"./virtual-rect-1o1veP7R.js";import{g as Tt,k as _n,v as Tn}from"./data-grid-DcxyIXwG.js";import{jsx as c,jsxs as $,Fragment as rt}from"react/jsx-runtime";import{i as _e,u as Rn,_ as En,a as Pn,$ as Dn}from"./table-list-sidebar-BFkSQwlB.js";import{toFilterClauses as Me,DataFilters as Mn}from"./DataFilters-B26ZeqBZ.js";import{M as tn}from"./modal-shell-CUwwWC2o.js";import{r as In,i as On}from"./grid-features-jnrD0SpX.js";import Vt from"./useDebounced-Ihdiid_k.js";import{r as Fn,l as zn}from"./shard-history-DMEW5VBE.js";const jn=/([a-z\d])([A-Z])/gu,An=/[\s_-]+/u,Ln=new Set(["access_token","api_key","apikey","card_number","client_secret","credit_card","cvv","passwd","password","private_key","pwd","refresh_token","secret","ssn","token"]),Bn=r=>{const e=r.replaceAll(jn,"$1 $2").split(An).map(n=>n.toLowerCase()).filter(n=>n.length>0),t=new Set(e);for(let n=0;n<e.length-1;n+=1){const l=e[n],o=e[n+1];l===void 0||o===void 0||(t.add(`${l}${o}`),t.add(`${l}_${o}`))}return[...t]},Ht="•••",qn=r=>{let e=2166136261;for(let t=0;t<r.length;t+=1)e^=r.codePointAt(t)??0,e=Math.imul(e,16777619);return(e>>>0).toString(16).padStart(8,"0")},nn=(r,e)=>{try{return e==="redact"?null:e==="hash"?r==null?r:qn(typeof r=="string"?r:JSON.stringify(r)):Ht}catch{return Ht}},Jn=(r,e)=>{const t=new Map;for(const n of r)n.table===e&&t.set(n.column,n.strategy);return t},Kn=r=>{for(const e of Bn(r))if(Ln.has(e))return!0;return!1},Vn=(r,e)=>{const t=e.filter(l=>!r.has(l)&&Kn(l));if(t.length===0)return r;const n=new Map(r);for(const l of t)n.set(l,"redact");return n},Hn=(r,e,t)=>{if(!t.enabled)return r;const n=t.columns.get(e);return n===void 0?r:nn(r,n)},Wt=(r,e)=>!e.enabled||e.columns.size===0?r:r.map(t=>{const n={...t};for(const[l,o]of e.columns)l in n&&(n[l]=nn(n[l],o));return n}),Gt=(r,e)=>{const t=[];for(const[n,l]of Object.entries(e))for(const o of l)o.ref===r&&t.push({column:o.name,table:n});return t.sort((n,l)=>n.table.localeCompare(l.table)||n.column.localeCompare(l.column)),t},jt=r=>`${r.table}.${r.column}`,Wn=(r,e,t,n,l=300)=>{if(n<=0)return{ids:new Set(r.map(m=>m.id)),leadPx:0,tailPx:0};const o=t-l,i=t+n+l,a=new Set;let d=0,s=0,u=0;for(const m of r){const b=m.getSize(),f=e.has(m.id),g=d+b>o&&d<i;f||g?a.add(m.id):d<o?s+=b:u+=b,d+=b}return{ids:a,leadPx:s,tailPx:u}},Gn=(r,e)=>{const t=new Map;let n=0;for(const l of r)e.has(l.id)&&(t.set(l.id,n),n+=l.getSize());return t},Qn=()=>{const r=B(11);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e={},r[0]=e):e=r[0];const[t,n]=T(e);let l;r[1]===Symbol.for("react.memo_cache_sentinel")?(l=(f,g,h)=>{n(p=>({...p,[f]:{...p[f],[g]:h}}))},r[1]=l):l=r[1];const o=l;let i;r[2]===Symbol.for("react.memo_cache_sentinel")?(i=()=>{n({})},r[2]=i):i=r[2];const a=i;let d;r[3]!==t?(d=(f,g)=>{const h=t[f];return h!==void 0&&g in h?{value:h[g]}:void 0},r[3]=t,r[4]=d):d=r[4];const s=d;let u;r[5]!==t?(u=Object.values(t).reduce(Xn,0),r[5]=t,r[6]=u):u=r[6];const m=u;let b;return r[7]!==m||r[8]!==t||r[9]!==s?(b={clear:a,count:m,stage:o,staged:t,stagedValue:s},r[7]=m,r[8]=t,r[9]=s,r[10]=b):b=r[10],b},Un=(r,e)=>{if(typeof e=="number"){const t=Number(r);return r.trim()===""||Number.isNaN(t)?r:t}if(typeof e=="boolean"){if(r==="true")return!0;if(r==="false")return!1}return r},Zn=r=>{const e=B(29),{changes:t,committing:n,onCommit:l,onDiscard:o}=r,i=ue();let a;e[0]!==t.length||e[1]!==i?(a=i("{count} pending changes",{count:t.length}),e[0]=t.length,e[1]=i,e[2]=a):a=e[2];let d;e[3]!==a?(d=c("span",{className:"font-mono text-[11px] tracking-wide uppercase text-warning","data-testid":"db-staged-count",children:a}),e[3]=a,e[4]=d):d=e[4];let s;e[5]!==n||e[6]!==i?(s=i(n?"Committing…":"Commit"),e[5]=n,e[6]=i,e[7]=s):s=e[7];let u;e[8]!==n||e[9]!==l||e[10]!==s?(u=c("button",{className:"ms-auto rounded-md bg-primary px-2.5 py-1 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":"db-staged-commit",disabled:n,onClick:l,type:"button",children:s}),e[8]=n,e[9]=l,e[10]=s,e[11]=u):u=e[11];let m;e[12]!==i?(m=i("Discard"),e[12]=i,e[13]=m):m=e[13];let b;e[14]!==n||e[15]!==o||e[16]!==m?(b=c("button",{className:"rounded-md border border-border px-2.5 py-1 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":"db-staged-discard",disabled:n,onClick:o,type:"button",children:m}),e[14]=n,e[15]=o,e[16]=m,e[17]=b):b=e[17];let f;e[18]!==d||e[19]!==u||e[20]!==b?(f=$("div",{className:"flex flex-wrap items-center gap-2",children:[d,u,b]}),e[18]=d,e[19]=u,e[20]=b,e[21]=f):f=e[21];let g;e[22]!==t?(g=t.map(Yn),e[22]=t,e[23]=g):g=e[23];let h;e[24]!==g?(h=c("ul",{className:"flex flex-col gap-1","data-testid":"db-staged-list",children:g}),e[24]=g,e[25]=h):h=e[25];let p;return e[26]!==f||e[27]!==h?(p=$("div",{className:"flex flex-col gap-2 border border-warning/40 bg-warning/5 p-3","data-testid":"db-staged",children:[f,h]}),e[26]=f,e[27]=h,e[28]=p):p=e[28],p};function Xn(r,e){return r+Object.keys(e).length}function Yn(r){return $("li",{className:"flex flex-wrap items-center gap-2 font-mono text-xs",children:[$("span",{className:"text-muted-foreground",children:[r.rowId,".",r.column]}),c("span",{className:"text-destructive line-through",children:Ie(r.oldValue)}),c("span",{"aria-hidden":"true",className:"text-muted-foreground",children:"→"}),c("span",{className:"text-foreground",children:Ie(r.newValue)})]},`${r.rowId}:${r.column}`)}const Qt=400,er=36,tr={flex:"1 1 0%",minHeight:0,overflow:"auto",position:"relative"},nr={width:"100%"},rr={alignItems:"center",display:"flex",left:0,position:"absolute",top:0,width:"100%"},lr={display:"flex",width:"100%"},Ut={flex:"0 0 8.5rem",padding:"0.375rem 0.75rem"},or="2.5rem",rn={alignItems:"center",display:"flex",flex:"0 0 2.5rem",justifyContent:"center",left:0,padding:"0.375rem 0",position:"sticky",zIndex:2},At=r=>({flex:"0 0 auto",overflow:"hidden",padding:"0.375rem 0.75rem",position:"relative",textOverflow:"ellipsis",whiteSpace:"nowrap",width:`${r.toString()}px`}),ln=(r,e)=>({...At(r),left:`calc(${or} + ${e.toString()}px)`,position:"sticky",zIndex:2}),Zt="rounded-md px-2 py-0.5 text-xs font-medium text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",ar=(r,e,t)=>e.enabled&&e.columns.has(t)?void 0:r,It="__back__:",sr=r=>`${It}${r.table}.${r.column}`,ir=r=>{const e=B(3),{counts:t,rowId:n}=r;if(t===void 0){let i;return e[0]===Symbol.for("react.memo_cache_sentinel")?(i=c("span",{className:"text-muted-foreground/50",children:"—"}),e[0]=i):i=e[0],i}const l=t[n]??0;let o;return e[1]!==l?(o=c("span",{className:"tabular-nums",children:l}),e[1]=l,e[2]=o):o=e[2],o},Ne=r=>{for(const e of["id","__id__","_id"]){const t=r[e];if(typeof t=="string"||typeof t=="number")return String(t)}return null},on=(r,e)=>Ne(r)??`row-${e.toString()}`,dr=8,cr=r=>{const e=B(16),{anchor:t,state:n}=r,l=ue();let o;e[0]!==t.left||e[1]!==t.top?(o={left:t.left,position:"fixed",top:t.top,zIndex:50},e[0]=t.left,e[1]=t.top,e[2]=o):o=e[2];const i=o;let a;if(n==="loading"){let s;e[3]!==l?(s=l("Loading…"),e[3]=l,e[4]=s):s=e[4];let u;e[5]!==s?(u=c("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:s}),e[5]=s,e[6]=u):u=e[6],a=u}else if(n.row===null){let s;e[7]!==l?(s=l("No matching row."),e[7]=l,e[8]=s):s=e[8];let u;e[9]!==s?(u=c("p",{className:"px-3 py-2 text-xs text-muted-foreground",children:s}),e[9]=s,e[10]=u):u=e[10],a=u}else{let s;if(e[11]!==n.row){const u=Object.entries(n.row).slice(0,dr);s=c("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 px-3 py-2",children:u.map(Nr)}),e[11]=n.row,e[12]=s}else s=e[12];a=s}let d;return e[13]!==a||e[14]!==i?(d=c("div",{className:"pointer-events-none w-72 overflow-hidden rounded-md border border-border bg-popover text-popover-foreground","data-testid":"db-ref-preview",role:"tooltip",style:i,children:a}),e[13]=a,e[14]=i,e[15]=d):d=e[15],d},ur=r=>{const e=B(22),{column:t,id:n,onNavigate:l,onPreview:o,target:i}=r,[a,d]=T(null),[s,u]=T("idle");let m;e[0]!==n||e[1]!==l||e[2]!==i?(m=()=>{l(i,n)},e[0]=n,e[1]=l,e[2]=i,e[3]=m):m=e[3];const b=m;let f;e[4]!==n||e[5]!==o||e[6]!==s||e[7]!==i?(f=_=>{const y=_.currentTarget.getBoundingClientRect();d({left:y.left,top:y.bottom+4}),s==="idle"&&(u("loading"),oe((async()=>{try{u({row:await o(i,n)})}catch{u({row:null})}})()))},e[4]=n,e[5]=o,e[6]=s,e[7]=i,e[8]=f):f=e[8];const g=f;let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=()=>{d(null)},e[9]=h):h=e[9];const p=h,v=`db-ref-${t}`,x=`Open ${i} ${n}`;let w;e[10]!==n||e[11]!==b||e[12]!==g||e[13]!==v||e[14]!==x?(w=$("button",{"data-testid":v,onBlur:p,onClick:b,onFocus:g,onMouseEnter:g,onMouseLeave:p,title:x,type:"button",children:[n," ↗"]}),e[10]=n,e[11]=b,e[12]=g,e[13]=v,e[14]=x,e[15]=w):w=e[15];let k;e[16]!==a||e[17]!==s?(k=a!==null&&s!=="idle"&&c(cr,{anchor:a,state:s}),e[16]=a,e[17]=s,e[18]=k):k=e[18];let C;return e[19]!==w||e[20]!==k?(C=$(rt,{children:[w,k]}),e[19]=w,e[20]=k,e[21]=C):C=e[21],C},mr=r=>r==="asc"?" ▲":r==="desc"?" ▼":"",gr="absolute end-1 top-1/2 hidden -translate-y-1/2 items-center justify-center rounded text-muted-foreground outline-none group-hover/cell:flex hover:text-foreground focus-visible:flex",Xt=r=>{const e=B(8),{column:t,onExpand:n,value:l}=r;let o;e[0]!==t||e[1]!==n||e[2]!==l?(o=()=>{n(t,l)},e[0]=t,e[1]=n,e[2]=l,e[3]=o):o=e[3];const i=o,a=`db-expand-${t}`;let d;e[4]===Symbol.for("react.memo_cache_sentinel")?(d=c("svg",{"aria-hidden":"true",className:"size-3",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:c("path",{d:"M9 21H5a2 2 0 0 1-2-2v-4m18 0v4a2 2 0 0 1-2 2h-4M3 9V5a2 2 0 0 1 2-2h4m6 0h4a2 2 0 0 1 2 2v4"})}),e[4]=d):d=e[4];let s;return e[5]!==i||e[6]!==a?(s=c("button",{"aria-label":"Expand cell",className:gr,"data-testid":a,onClick:i,type:"button",children:d}),e[5]=i,e[6]=a,e[7]=s):s=e[7],s},br=r=>{const e=B(15),{column:t,initial:n,onCancel:l,onCommit:o,recordId:i}=r,a=Oe(null);let d,s;e[0]===Symbol.for("react.memo_cache_sentinel")?(d=()=>{a.current?.select()},s=[],e[0]=d,e[1]=s):(d=e[0],s=e[1]),Te(d,s);let u;e[2]!==l||e[3]!==o?(u=v=>{v.key==="Enter"?(v.preventDefault(),o(v.currentTarget.value)):v.key==="Escape"&&(v.preventDefault(),l())},e[2]=l,e[3]=o,e[4]=u):u=e[4];const m=u;let b;e[5]!==o?(b=v=>{o(v.currentTarget.value)},e[5]=o,e[6]=b):b=e[6];const f=b,g=`db-cell-input-${i}-${t}`;let h;e[7]!==n?(h=Ie(n),e[7]=n,e[8]=h):h=e[8];let p;return e[9]!==t||e[10]!==f||e[11]!==m||e[12]!==g||e[13]!==h?(p=c("input",{"aria-label":t,className:"w-full rounded border border-ring bg-background px-1 py-0.5 font-mono text-xs outline-none","data-testid":g,defaultValue:h,onBlur:f,onKeyDown:m,ref:a}),e[9]=t,e[10]=f,e[11]=m,e[12]=g,e[13]=h,e[14]=p):p=e[14],p},fr=r=>{const e=B(68),{cell:t,edit:n,highlight:l,mask:o,refs:i}=r,a=t.column.id;let d,s,u,m;if(e[0]!==t||e[1]!==a||e[2]!==n||e[3]!==o||e[4]!==i.columns||e[5]!==i.onNavigate||e[6]!==i.onPreview){m=Symbol.for("react.early_return_sentinel");e:{s=t.getValue(),d=Ne(t.row.original);const R=i.columns?.[a];if(o.enabled&&o.columns.has(a)){const P=`db-masked-${a}`,D=c(Tt,{value:Hn(s,a,o)});let M;e[11]!==P||e[12]!==D?(M=c("span",{className:"text-muted-foreground italic","data-testid":P,title:"Masked (preview)",children:D}),e[11]=P,e[12]=D,e[13]=M):M=e[13],m=M;break e}if(R!==void 0&&(typeof s=="string"||typeof s=="number")&&String(s)!==""){const P=String(s),D=`${R}:${String(s)}`;let M;e[14]!==a||e[15]!==i.onNavigate||e[16]!==i.onPreview||e[17]!==P||e[18]!==D||e[19]!==R?(M=c(ur,{column:a,id:P,onNavigate:i.onNavigate,onPreview:i.onPreview,target:R},D),e[14]=a,e[15]=i.onNavigate,e[16]=i.onPreview,e[17]=P,e[18]=D,e[19]=R,e[20]=M):M=e[20],m=M;break e}if(d===null){let P;e[21]!==s?(P=c(Tt,{value:s}),e[21]=s,e[22]=P):P=e[22];let D;e[23]!==a||e[24]!==n.onExpandCell||e[25]!==s?(D=c(Xt,{column:a,onExpand:n.onExpandCell,value:s}),e[23]=a,e[24]=n.onExpandCell,e[25]=s,e[26]=D):D=e[26];let M;e[27]!==P||e[28]!==D?(M=$(rt,{children:[P,D]}),e[27]=P,e[28]=D,e[29]=M):M=e[29],m=M;break e}u=n.stagedValue(d,a)}e[0]=t,e[1]=a,e[2]=n,e[3]=o,e[4]=i.columns,e[5]=i.onNavigate,e[6]=i.onPreview,e[7]=d,e[8]=s,e[9]=u,e[10]=m}else d=e[7],s=e[8],u=e[9],m=e[10];if(m!==Symbol.for("react.early_return_sentinel"))return m;const b=u,f=b===void 0?s:b.value;let g;e[30]!==a||e[31]!==n?(g=n.editable&&n.editableColumn(a),e[30]=a,e[31]=n,e[32]=g):g=e[32];const h=g;if(n.editingCell!==null&&n.editingCell.rowId===d&&n.editingCell.column===a){let R;e[33]!==a||e[34]!==n||e[35]!==d||e[36]!==s?(R=D=>{n.stage(d,a,Un(D,s)),n.cancelEdit()},e[33]=a,e[34]=n,e[35]=d,e[36]=s,e[37]=R):R=e[37];let P;return e[38]!==a||e[39]!==f||e[40]!==n.cancelEdit||e[41]!==d||e[42]!==R?(P=c(br,{column:a,initial:f,onCancel:n.cancelEdit,onCommit:R,recordId:d}),e[38]=a,e[39]=f,e[40]=n.cancelEdit,e[41]=d,e[42]=R,e[43]=P):P=e[43],P}let p;b!==void 0?p="rounded bg-warning/15 px-1":h&&(p="cursor-text");let v;e[44]!==h||e[45]!==a||e[46]!==n||e[47]!==d?(v=h?()=>{n.startEdit(d,a)}:void 0,e[44]=h,e[45]=a,e[46]=n,e[47]=d,e[48]=v):v=e[48];const x=v,w=p,k=`db-cell-${d}-${a}`;let C;e[49]!==a||e[50]!==l||e[51]!==o?(C=ar(l,o,a),e[49]=a,e[50]=l,e[51]=o,e[52]=C):C=e[52];let _;e[53]!==f||e[54]!==C?(_=c(Tt,{highlight:C,value:f}),e[53]=f,e[54]=C,e[55]=_):_=e[55];let y;e[56]!==p||e[57]!==x||e[58]!==k||e[59]!==_?(y=c("span",{className:w,"data-testid":k,onDoubleClick:x,children:_}),e[56]=p,e[57]=x,e[58]=k,e[59]=_,e[60]=y):y=e[60];let N;e[61]!==a||e[62]!==f||e[63]!==n.onExpandCell?(N=c(Xt,{column:a,onExpand:n.onExpandCell,value:f}),e[61]=a,e[62]=f,e[63]=n.onExpandCell,e[64]=N):N=e[64];let E;return e[65]!==N||e[66]!==y?(E=$(rt,{children:[y,N]}),e[65]=N,e[66]=y,e[67]=E):E=e[67],E},hr=r=>{r.preventDefault()},pr=({draggedRef:r,header:e,masked:t=!1,onTogglePin:n,pinnedOffset:l,table:o})=>{const i=()=>{r.current=e.column.id},a=()=>{const d=r.current,s=e.column.id;if(r.current=null,d===null||d===s)return;const u=o.getState().columnOrder,m=(u.length>0?u:o.getAllLeafColumns().map(f=>f.id)).filter(f=>f!==d),b=m.indexOf(s);m.splice(b===-1?m.length:b,0,d),o.setColumnOrder(m)};return $("th",{className:nt("group/head text-start text-xs font-medium text-muted-foreground",l!==void 0&&"border-e border-border bg-muted"),draggable:!0,onDragOver:hr,onDragStart:i,onDrop:a,style:l===void 0?At(e.getSize()):ln(e.getSize(),l),children:[$("button",{className:"inline-flex max-w-full cursor-grab items-center gap-1 truncate outline-none hover:text-foreground","data-testid":`db-sort-${e.column.id}`,onClick:e.column.getToggleSortingHandler(),type:"button",children:[Cn(e.column.columnDef.header,e.getContext()),mr(e.column.getIsSorted())]}),t&&c("span",{className:"ms-1 inline-flex items-center rounded-sm bg-warning/15 px-1 text-[0.625rem] font-medium uppercase text-warning","data-testid":`db-mask-chip-${e.column.id}`,title:"This column is masked by a mask() policy",children:"masked"}),c("button",{"aria-label":l===void 0?`Pin ${e.column.id}`:`Unpin ${e.column.id}`,"aria-pressed":l!==void 0,className:nt("ms-1 rounded-sm px-1 text-[0.625rem] outline-none transition-opacity hover:bg-accent focus-visible:bg-accent",l===void 0?"opacity-0 group-hover/head:opacity-100 focus-visible:opacity-100":"opacity-100 text-foreground"),"data-testid":`db-pin-${e.column.id}`,onClick:()=>{n(e.column.id)},type:"button",children:"📌"}),c("span",{"aria-hidden":"true",className:"absolute inset-y-0 end-0 w-1 cursor-col-resize touch-none select-none hover:bg-ring/60 data-[resizing=true]:bg-ring","data-resizing":e.column.getIsResizing(),"data-testid":`db-resize-${e.column.id}`,onMouseDown:e.getResizeHandler(),onTouchStart:e.getResizeHandler()})]})},xr=r=>{const e=B(13),{table:t}=r,n=ue();let l;e[0]!==t?(l=u=>{t.toggleAllRowsSelected(u)},e[0]=t,e[1]=l):l=e[1];const o=l;let i;e[2]!==n?(i=n("Select all rows"),e[2]=n,e[3]=i):i=e[3];let a;e[4]!==t?(a=t.getIsAllRowsSelected(),e[4]=t,e[5]=a):a=e[5];let d;e[6]!==t?(d=t.getIsSomeRowsSelected()&&!t.getIsAllRowsSelected(),e[6]=t,e[7]=d):d=e[7];let s;return e[8]!==o||e[9]!==i||e[10]!==a||e[11]!==d?(s=c("th",{className:"bg-muted",style:rn,children:c(zt,{"aria-label":i,checked:a,"data-testid":"db-select-all",indeterminate:d,onCheckedChange:o})}),e[8]=o,e[9]=i,e[10]=a,e[11]=d,e[12]=s):s=e[12],s},vr=r=>{const e=B(17),{row:t}=r,n=ue();let l;e[0]!==t.original?(l=Ne(t.original),e[0]=t.original,e[1]=l):l=e[1];const o=l;let i;e[2]!==t?(i=g=>{t.toggleSelected(g)},e[2]=t,e[3]=i):i=e[3];const a=i;let d;e[4]!==n?(d=n("Select row"),e[4]=n,e[5]=d):d=e[5];let s;e[6]!==t?(s=t.getIsSelected(),e[6]=t,e[7]=s):s=e[7];let u;e[8]!==t.index||e[9]!==t.original?(u=on(t.original,t.index),e[8]=t.index,e[9]=t.original,e[10]=u):u=e[10];const m=`db-select-${u}`,b=o===null;let f;return e[11]!==a||e[12]!==d||e[13]!==s||e[14]!==m||e[15]!==b?(f=c("td",{className:"bg-background",style:rn,children:c(zt,{"aria-label":d,checked:s,"data-testid":m,disabled:b,onCheckedChange:a})}),e[11]=a,e[12]=d,e[13]=s,e[14]=m,e[15]=b,e[16]=f):f=e[16],f},yr=r=>{const e=B(70),{edit:t,editable:n,mask:l,onDelete:o,onEdit:i,onInspect:a,highlight:d,backRelationCounts:s,attachScroll:u,onTogglePin:m,pinnedColumns:b,refs:f,scrollLeft:g,scrollToIndex:h,table:p,tableRows:v,tbodyStyle:x,viewportWidth:w,virtualRows:k}=r,C=Oe(null),[_,y]=T(null);let N;e[0]!==p?(N=p.getVisibleLeafColumns(),e[0]=p,e[1]=N):N=e[1];const E=N.length;let R;e[2]!==_||e[3]!==E||e[4]!==t||e[5]!==p||e[6]!==v?(R=pe=>{if(!["ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Enter"].includes(pe.key))return;pe.preventDefault();const I=_??{col:0,row:0};if(pe.key==="Enter"){const ie=v[I.row],re=p.getVisibleLeafColumns()[I.col];if(ie!==void 0&&re!==void 0){const H=Ne(ie.original);H!==null&&t.editableColumn(re.id)&&t.startEdit(H,re.id)}y(I);return}let{col:te,row:se}=I;e:switch(pe.key){case"ArrowDown":{se=Math.min(se+1,v.length-1);break e}case"ArrowRight":{te=Math.min(te+1,E-1);break e}case"ArrowUp":{se=Math.max(se-1,0);break e}default:te=Math.max(te-1,0)}y({col:te,row:se})},e[2]=_,e[3]=E,e[4]=t,e[5]=p,e[6]=v,e[7]=R):R=e[7];const P=R;let D,M;e[8]!==_||e[9]!==h?(D=()=>{_!==null&&h(_.row)},M=[_,h],e[8]=_,e[9]=h,e[10]=D,e[11]=M):(D=e[10],M=e[11]),Te(D,M);let q,J,j,A,K,O,L,G,Q,me,ae,ee,ge,be;if(e[12]!==_||e[13]!==u||e[14]!==s||e[15]!==t||e[16]!==n||e[17]!==d||e[18]!==l||e[19]!==o||e[20]!==i||e[21]!==P||e[22]!==a||e[23]!==m||e[24]!==b||e[25]!==f||e[26]!==g||e[27]!==p||e[28]!==v||e[29]!==x||e[30]!==w||e[31]!==k){const pe=p.getVisibleLeafColumns().map(Sr),I=Wn(pe,b,g,w),te=Gn(p.getVisibleLeafColumns().map(Cr),b),se=H=>{const Se=v[H.index],{original:Ce}=Se,V=Ne(Ce),we=on(Ce,H.index),Pe={...rr,height:`${H.size.toString()}px`,transform:`translateY(${H.start.toString()}px)`};return $("tr",{className:"border-b border-border text-xs transition-colors hover:bg-muted/50","data-testid":"db-row",style:Pe,children:[c(vr,{row:Se}),I.leadPx>0&&c("td",{"aria-hidden":"true",style:{flex:`0 0 ${I.leadPx.toString()}px`}}),Se.getVisibleCells().map((ne,Re)=>{if(!I.ids.has(ne.column.id))return null;const Ee=te.get(ne.column.id),Fe=_!==null&&_.row===H.index&&_.col===Re?" ring-1 ring-ring ring-inset":"";return c("td",{className:nt("group/cell truncate font-mono text-muted-foreground",Ee!==void 0&&"border-e border-border bg-background",Fe),style:Ee===void 0?At(ne.column.getSize()):ln(ne.column.getSize(),Ee),children:ne.column.id.startsWith(It)?c(ir,{counts:s[ne.column.id.slice(It.length)],rowId:we}):c(fr,{cell:ne,edit:t,highlight:d,mask:l,refs:f})},ne.id)}),I.tailPx>0&&c("td",{"aria-hidden":"true",style:{flex:`0 0 ${I.tailPx.toString()}px`}}),$("td",{className:"flex items-center gap-1",style:Ut,children:[c("button",{className:Zt,"data-testid":`db-inspect-${we}`,onClick:()=>{a(Ce)},type:"button",children:"Details"}),n&&$(rt,{children:[c("button",{className:Zt,"data-testid":`db-edit-${we}`,disabled:V===null,onClick:()=>{i(V,Ce)},type:"button",children:"Edit"}),c(Mt,{confirmLabel:"Delete?",disabled:V===null,onConfirm:()=>{o(V)},testId:`db-delete-${we}`,children:"Delete"})]})]})]},Se.id)};q=_n,Q="fill",j="db-scroll",A=P,K=u,O="grid",L=tr,G=0,ee="w-full text-xs",ge="db-rows",be=nr;let ie;e[46]!==p?(ie=c(xr,{table:p}),e[46]=p,e[47]=ie):ie=e[47];let re;e[48]===Symbol.for("react.memo_cache_sentinel")?(re=c("th",{"aria-label":"Row actions",style:Ut}),e[48]=re):re=e[48],J=c("thead",{className:"bg-muted/50",children:$("tr",{className:"border-b border-border",style:lr,children:[ie,I.leadPx>0&&c("th",{"aria-hidden":"true",style:{flex:`0 0 ${I.leadPx.toString()}px`}}),p.getFlatHeaders().map(H=>I.ids.has(H.column.id)?c(pr,{draggedRef:C,header:H,masked:l.columns.has(H.column.id),onTogglePin:m,pinnedOffset:te.get(H.column.id),table:p},H.id):null),I.tailPx>0&&c("th",{"aria-hidden":"true",style:{flex:`0 0 ${I.tailPx.toString()}px`}}),re]})}),me=x,ae=k.map(H=>se(H)),e[12]=_,e[13]=u,e[14]=s,e[15]=t,e[16]=n,e[17]=d,e[18]=l,e[19]=o,e[20]=i,e[21]=P,e[22]=a,e[23]=m,e[24]=b,e[25]=f,e[26]=g,e[27]=p,e[28]=v,e[29]=x,e[30]=w,e[31]=k,e[32]=q,e[33]=J,e[34]=j,e[35]=A,e[36]=K,e[37]=O,e[38]=L,e[39]=G,e[40]=Q,e[41]=me,e[42]=ae,e[43]=ee,e[44]=ge,e[45]=be}else q=e[32],J=e[33],j=e[34],A=e[35],K=e[36],O=e[37],L=e[38],G=e[39],Q=e[40],me=e[41],ae=e[42],ee=e[43],ge=e[44],be=e[45];let fe;e[49]!==me||e[50]!==ae?(fe=c("tbody",{style:me,children:ae}),e[49]=me,e[50]=ae,e[51]=fe):fe=e[51];let he;e[52]!==J||e[53]!==fe||e[54]!==ee||e[55]!==ge||e[56]!==be?(he=$("table",{className:ee,"data-testid":ge,style:be,children:[J,fe]}),e[52]=J,e[53]=fe,e[54]=ee,e[55]=ge,e[56]=be,e[57]=he):he=e[57];let Z;e[58]!==j||e[59]!==A||e[60]!==K||e[61]!==O||e[62]!==L||e[63]!==G||e[64]!==he?(Z=c("div",{"data-testid":j,onKeyDown:A,ref:K,role:O,style:L,tabIndex:G,children:he}),e[58]=j,e[59]=A,e[60]=K,e[61]=O,e[62]=L,e[63]=G,e[64]=he,e[65]=Z):Z=e[65];let W;return e[66]!==q||e[67]!==Q||e[68]!==Z?(W=c(q,{layout:Q,children:Z}),e[66]=q,e[67]=Q,e[68]=Z,e[69]=W):W=e[69],W},wr=(r,e,t,n=[])=>{const l=r?.columns,o=r?.rows,i=r?.refs,a=Pt(()=>{if(l===void 0)return[];const y=l.map(N=>({accessorFn:E=>E[N],header:i?.[N]===void 0?N:`${N} →`,id:N}));for(const N of n)y.push({accessorFn:()=>{},enableSorting:!1,header:`← ${N.table}`,id:sr(N)});return y},[n,l,i]),d=Pt(()=>o??[],[o]),[s,u]=T({}),[m,b]=T({}),f=wn({columnResizeMode:"onChange",columns:a,data:d,defaultColumn:{minSize:80,size:200},enableColumnResizing:!0,enableRowSelection:y=>Ne(y.original)!==null,getCoreRowModel:Sn(),getRowId:(y,N)=>Ne(y)??`row-${N.toString()}`,getSortedRowModel:Nn(),manualSorting:!0,onColumnVisibilityChange:b,onRowSelectionChange:u,onSortingChange:t,state:{columnVisibility:m,rowSelection:s,sorting:e}}),g=f.getRowModel().rows,h=Oe(null),p=kn({count:g.length,estimateSize:()=>er,getScrollElement:()=>h.current,initialRect:{height:Qt,width:0},observeElementRect:(y,N)=>$n(y,N,Qt),overscan:8}),v=Dt(y=>{p.scrollToIndex(y)},[p]),[x,w]=T({left:0,width:0}),k=Dt(y=>{if(h.current=y,y===null)return;const N=()=>{w(R=>R.left===y.scrollLeft&&R.width===y.clientWidth?R:{left:y.scrollLeft,width:y.clientWidth})};y.addEventListener("scroll",N,{passive:!0});const E=new ResizeObserver(N);return E.observe(y),()=>{y.removeEventListener("scroll",N),E.disconnect(),h.current=null}},[]),C=p.getVirtualItems(),_={display:"block",height:`${p.getTotalSize().toString()}px`,position:"relative"};return{attachScroll:k,scrollLeft:x.left,scrollToIndex:v,table:f,tableRows:g,tbodyStyle:_,viewportWidth:x.width,virtualRows:C}};function Nr(r){const[e,t]=r;return $("div",{className:"contents",children:[c("dt",{className:"truncate font-mono text-[11px] text-muted-foreground",children:e}),c("dd",{className:"truncate font-mono text-[11px] text-foreground",title:Ie(t),children:Ie(t)})]},e)}function Sr(r){return{getSize:()=>r.getSize(),id:r.id}}function Cr(r){return{getSize:()=>r.getSize(),id:r.id}}const Ot="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",kr=r=>{const e=B(22),{onCommit:t}=r,n=ue(),[l,o]=T(""),i=Oe(null);let a,d;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=()=>{i.current?.focus()},d=[],e[0]=a,e[1]=d):(a=e[0],d=e[1]),Te(a,d);let s;e[2]===Symbol.for("react.memo_cache_sentinel")?(s=w=>{o(w.target.value)},e[2]=s):s=e[2];const u=s;let m;e[3]!==l||e[4]!==t?(m=()=>{const w=l.trim();w!==""&&t(w)},e[3]=l,e[4]=t,e[5]=m):m=e[5];const b=m;let f;e[6]!==n?(f=n("Query name"),e[6]=n,e[7]=f):f=e[7];let g;e[8]!==n?(g=n("Query name"),e[8]=n,e[9]=g):g=e[9];let h;e[10]!==l||e[11]!==f||e[12]!==g?(h=c("input",{"aria-label":f,className:"h-7 rounded-md border border-border bg-background px-2 text-xs outline-none focus-visible:border-ring","data-testid":"db-save-query-name",onChange:u,placeholder:g,ref:i,value:l}),e[10]=l,e[11]=f,e[12]=g,e[13]=h):h=e[13];let p;e[14]!==n?(p=n("Save"),e[14]=n,e[15]=p):p=e[15];let v;e[16]!==b||e[17]!==p?(v=c("button",{className:Ot,"data-testid":"db-save-query-confirm",onClick:b,type:"button",children:p}),e[16]=b,e[17]=p,e[18]=v):v=e[18];let x;return e[19]!==h||e[20]!==v?(x=$("span",{className:"inline-flex items-center gap-1",children:[h,v]}),e[19]=h,e[20]=v,e[21]=x):x=e[21],x},$r=r=>{const e=B(27),{onApply:t,onCopyLink:n,onDelete:l,onSave:o,saved:i}=r,a=ue(),[d,s]=T(!1);let u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u=()=>{s(!0)},e[0]=u):u=e[0];const m=u;let b;e[1]!==o?(b=y=>{o(y),s(!1)},e[1]=o,e[2]=b):b=e[2];const f=b;let g;e[3]!==t||e[4]!==i?(g=y=>{const N=i[Number(y.currentTarget.dataset.index)];N!==void 0&&t(N)},e[3]=t,e[4]=i,e[5]=g):g=e[5];const h=g;let p;e[6]!==l||e[7]!==i?(p=y=>{const N=i[Number(y.currentTarget.dataset.index)];N!==void 0&&l(N.name)},e[6]=l,e[7]=i,e[8]=p):p=e[8];const v=p;let x;e[9]!==a?(x=a("Copy link"),e[9]=a,e[10]=x):x=e[10];let w;e[11]!==n||e[12]!==x?(w=c("button",{className:Ot,"data-testid":"db-copy-link",onClick:n,type:"button",children:x}),e[11]=n,e[12]=x,e[13]=w):w=e[13];let k;e[14]!==f||e[15]!==d||e[16]!==a?(k=d?c(kr,{onCommit:f}):c("button",{className:Ot,"data-testid":"db-save-query",onClick:m,type:"button",children:a("Save query")}),e[14]=f,e[15]=d,e[16]=a,e[17]=k):k=e[17];let C;e[18]!==h||e[19]!==v||e[20]!==i||e[21]!==a?(C=i.length>0&&$("div",{className:"flex flex-wrap items-center gap-1","data-testid":"db-saved-queries",children:[c("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:a("Saved")}),i.map((y,N)=>$("span",{className:"inline-flex items-center overflow-hidden rounded-md border border-border",children:[c("button",{className:"px-2 py-0.5 text-xs text-foreground transition-colors hover:bg-accent","data-index":N,"data-testid":`db-saved-query-${y.name}`,onClick:h,type:"button",children:y.name}),c("button",{"aria-label":a("Delete saved query {name}",{name:y.name}),className:"border-l border-border px-1 py-0.5 text-xs text-muted-foreground transition-colors hover:bg-destructive/10 hover:text-destructive","data-index":N,"data-testid":`db-saved-query-delete-${y.name}`,onClick:v,type:"button",children:"✕"})]},y.name))]}),e[18]=h,e[19]=v,e[20]=i,e[21]=a,e[22]=C):C=e[22];let _;return e[23]!==w||e[24]!==k||e[25]!==C?(_=$("div",{className:"flex flex-wrap items-center gap-1.5","data-testid":"db-query-bar",children:[w,k,C]}),e[23]=w,e[24]=k,e[25]=C,e[26]=_):_=e[26],_},_r="/__lunora/seed",Rt=200,Tr=50,Rr=(r,e)=>{const t=[];for(const n of r)n.pk!==!0&&n.ref!==void 0&&n.type==="id"&&(e[n.ref]??[]).length===0&&t.push(n.name);return t},Er=async r=>{const e=await fetch(_r,{body:JSON.stringify(r),headers:{"Content-Type":"application/json"},method:"POST"}),t=await e.json();return e.ok&&t.rows!==void 0?{kind:"ok",rows:t.rows}:{kind:"error",message:t.error??`seed request failed (${String(e.status)})`}},Pr="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",Dr="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",Mr=({columns:r,fkPools:e,onClose:t,onInsertRows:n,table:l})=>{const o=ue(),[i,a]=T(10),[d,s]=T(!1),[u,m]=T(void 0),[b,f]=T(void 0),g=x=>{const w=Number(x.target.value);!Number.isNaN(w)&&w>=1&&a(Math.min(w,Rt))},h=async()=>{m(void 0),f(void 0),s(!0);try{const x=await Er({count:i,existingIds:e,seed:Date.now(),table:l});if(x.kind==="error"){m(x.message);return}const{rows:w}=x;if(w.length===0){m(o("No rows generated — all columns were skipped."));return}const k=await n(w);if(k!==void 0){m(k);return}f(w.length);const C=Rr(r,e);C.length>0&&m(o("Inserted {count} rows. Skipped FK columns: {cols}",{cols:C.join(", "),count:w.length.toString()}))}finally{s(!1)}},p=()=>{oe(h())},v=r.filter(x=>x.pk!==!0);return $(tn,{label:o("Generate dummy rows"),onClose:t,panelTestId:"gen-rows-panel",testId:"gen-rows-overlay",variant:"dialog",children:[$("div",{className:"flex items-start justify-between",children:[$("div",{className:"flex flex-col gap-0.5",children:[c("h3",{className:"text-base text-foreground","data-testid":"gen-rows-title",children:o("Generate dummy rows")}),c("p",{className:"text-xs text-muted-foreground","data-testid":"gen-rows-desc",children:o("Seed {table} with Faker-generated rows. Existing rows are not affected.",{table:l})})]}),c("button",{className:"text-xs text-muted-foreground hover:text-foreground","data-testid":"gen-rows-close",onClick:t,type:"button",children:o("Close")})]}),$("div",{className:"flex items-center gap-2",children:[c("label",{className:"text-xs font-medium text-foreground",htmlFor:"gen-rows-count",children:o("Row count")}),c("input",{className:"w-20 rounded-md border border-border bg-background px-2 py-1 text-xs outline-none focus-visible:border-ring","data-testid":"gen-rows-count",id:"gen-rows-count",max:Rt,min:1,onChange:g,type:"number",value:i}),c("span",{className:"text-xs text-muted-foreground",children:o("(max {max})",{max:Rt.toString()})})]}),v.length>0&&$("div",{className:"flex flex-col gap-1",children:[c("p",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:o("Columns to seed")}),c("ul",{className:"flex flex-col gap-0.5","data-testid":"gen-rows-columns",children:v.map(x=>{const w=x.ref!==void 0&&x.type==="id",k=w&&(e[x.ref??""]??[]).length===0,C=k?"rounded bg-destructive/10 px-1 text-destructive":"rounded bg-muted px-1 text-muted-foreground",_=k?`gen-rows-fk-empty-${x.name}`:`gen-rows-fk-ok-${x.name}`,y=k?o("FK: no rows in {ref} — will skip",{ref:x.ref??""}):o("→ {ref}",{ref:x.ref??""});return $("li",{className:"flex items-center gap-1.5 font-mono text-xs",children:[c("span",{className:"text-foreground",children:x.name}),$("span",{className:"text-muted-foreground",children:["(",x.type,")"]}),x.optional&&c("span",{className:"rounded bg-muted px-1 font-mono text-[10px] tracking-wide uppercase",children:"optional"}),w&&c("span",{className:C,"data-testid":_,children:y})]},x.name)})})]}),u!==void 0&&c("p",{className:"text-xs text-destructive","data-testid":"gen-rows-error",role:"alert",children:u}),b!==void 0&&u===void 0&&c("p",{className:"text-xs text-success","data-testid":"gen-rows-success",children:o("Inserted {count} rows successfully.",{count:b.toString()})}),$("div",{className:"flex justify-end gap-2",children:[c("button",{className:Pr,"data-testid":"gen-rows-cancel",onClick:t,type:"button",children:o("Cancel")}),c("button",{className:Dr,"data-testid":"gen-rows-generate",disabled:d,onClick:p,type:"button",children:o(d?"Inserting…":"Generate & insert")})]})]})},Ir=ye(Y.backRelationCounts),Or=(r,e,t,n)=>{const l=B(16),o=lt();let i;l[0]===Symbol.for("react.memo_cache_sentinel")?(i={},l[0]=i):i=l[0];const[a,d]=T(i);let s;if(l[1]!==r||l[2]!==e){let v;l[4]!==r?(v=x=>r.has(jt(x)),l[4]=r,l[5]=v):v=l[5],s=e.filter(v),l[1]=r,l[2]=e,l[3]=s}else s=l[3];const u=s;let m;l[6]!==t||l[7]!==u?(m=JSON.stringify([u,t]),l[6]=t,l[7]=u,l[8]=m):m=l[8];const b=m;let f;l[9]!==o||l[10]!==n||l[11]!==b?(f=async v=>{const[x,w]=JSON.parse(b);if(x.length===0||w.length===0){v.cancelled||d({});return}try{const k=await o.query(Ir,{ids:w,relations:x},ce(n));v.cancelled||d(Object.fromEntries(k.relations.map(Fr)))}catch{}},l[9]=o,l[10]=n,l[11]=b,l[12]=f):f=l[12];const g=f;let h,p;return l[13]!==g?(h=()=>{const v={cancelled:!1};return oe(g(v)),()=>{v.cancelled=!0}},p=[g],l[13]=g,l[14]=h,l[15]=p):(h=l[14],p=l[15]),Te(h,p),a};function Fr(r){return[jt(r),r.counts]}const Ft=r=>{const e=r[0];return e===void 0?void 0:{column:e.id,direction:e.desc?"desc":"asc"}},an=r=>r==null?"":typeof r=="object"?JSON.stringify(r):String(r),Yt=r=>r.map(e=>({column:e.column,operator:e.operator,value:e.value===void 0?"":an(e.value)})),en=r=>r===void 0?[]:[{desc:r.direction==="desc",id:r.column}],zr=200,jr=20,Ar=ye(Y.readTablePage),Lr=ye(Y.facetColumn),Et=ye(Y.writeRow),Br=ye(Y.deleteRows),qr=ye(Y.clearTable),Jr={},Lt=new Set(["__doc__","__id__","_creationTime","_id","id"]),Kr=r=>{const e=r.__doc__;if(typeof e=="string")try{const n=JSON.parse(e);if(n!==null&&typeof n=="object"&&!Array.isArray(n))return n}catch{}const t={};for(const[n,l]of Object.entries(r))Lt.has(n)||(t[n]=l);return t},Vr=({filters:r,offset:e,pageSize:t,search:n,sorting:l,table:o})=>({filters:Me(r),limit:t,offset:e,orderBy:Ft(l),search:n,skipCount:!0,table:o}),Hr=({filters:r,search:e,table:t})=>({filters:Me(r),limit:1,search:e,table:t}),Wr=(r,e)=>{const t=new Map;for(const l of r?.rows??[]){const o=Ne(l);o!==null&&t.set(o,l)}const n=[];for(const[l,o]of Object.entries(e))for(const[i,a]of Object.entries(o))n.push({column:i,newValue:a,oldValue:t.get(l)?.[i],rowId:l});return n},Gr=r=>!Lt.has(r),Qr=({initialFilters:r,initialOrderBy:e,initialSearch:t,initialShardKey:n,onSelectTable:l,onViewChange:o,pageSize:i,resolveBackRelations:a,tableParam:d})=>{const s=lt(),[u,m]=T(i),[b,f]=T(n??""),g=d===void 0||d===""?null:d,[h,p]=T(0),[v,x]=T("table"),[w,k]=T(()=>en(e)),[C,_]=T(t??""),y=Vt(C.trim(),300),N=Vt(b.trim(),400),[E,R]=T(()=>Yt(r??[])),P=_e(E),{clearFacets:D,facets:M,refetchFacets:q,toggleFacet:J}=Rn(),[j,A]=T(null),[K,O]=T(null),L=Qn(),[G,Q]=T(null),[me,ae]=T(!1),ee=qe(Y.listTables,Jr,{live:!0,shardKey:N}),ge=ee.data??null,be=ee.error,fe=Vr({filters:E,offset:h,pageSize:u,search:y,sorting:w,table:g??""}),he=Hr({filters:E,search:y,table:g??""}),Z=qe(Y.readTablePage,fe,{enabled:g!==null,keepPreviousData:!1,live:!0,shardKey:N}),W=Z.data??null,pe=Z.error,{liveError:I}=Z,te=qe(Y.readTablePage,he,{enabled:g!==null,live:!0,shardKey:N});Te(()=>{ee.data!==void 0&&Fn(N)},[ee.data,N]);const se=S=>{l?.(S)},ie=(S,z)=>{l?.(S,{search:z})},re=async(S,z)=>{try{return(await s.query(Ar,{filters:[],limit:jr,offset:0,search:z,table:S},ce(N))).rows.find(X=>Ne(X)===z)??null}catch{return null}},H=(S,z,X,$e)=>xe=>s.query(Lr,{column:xe,filters:Me(X),search:$e,table:z},ce(S)),Se=S=>{J(S,g===null?null:H(N,g,P.current,y))},Ce=(S,z)=>{const X=an(z);R($e=>[...$e.filter(xe=>xe.column!==S),{column:S,operator:"eq",value:X}]),p(0)},V=_e(H),we=_e(q),Pe=_e(o);Te(()=>{g!==null&&we.current(V.current(N,g,E,y))},[N,g,E,y]);const ne=Oe(d);Te(()=>{g===null||Pe.current===void 0||ne.current!==d||Pe.current({filters:Me(E),orderBy:Ft(w),search:y,shard:N})},[g,d,E,w,y,N]);const Re=_e(r),Ee=_e(e),Fe=_e(t),at=_e(n);Te(()=>{ne.current!==d&&(ne.current=d,queueMicrotask(()=>{const S=Yt(Re.current??[]);k(en(Ee.current)),_(Fe.current??""),R(S),P.current=S,f(at.current??""),D(),L.clear(),Q(null),p(0)}))},[d]);const De=S=>{g!==null&&p(Math.max(0,S))},st=(S,z)=>{Q({column:z,rowId:S})},it=()=>{Q(null)},de=async()=>{if(g!==null){O(null),ae(!0);try{for(const[S,z]of Object.entries(L.staged))await s.query(Et,{doc:z,id:S,op:"patch",table:g},ce(N));L.clear(),Q(null),Z.refetch()}catch(S){O(S.message)}ae(!1)}},dt=()=>{L.clear(),Q(null)},Je=Wr(W,L.staged),Ke=async(S,z,X)=>{if(g===null)return;O(null);let $e;if(S!=="delete")try{$e=X===void 0||X.trim()===""?{}:JSON.parse(X)}catch(xe){O(`Invalid JSON: ${xe.message}`);return}try{await s.query(Et,{doc:$e,id:z??void 0,op:S,table:g},ce(N)),A(null),Z.refetch()}catch(xe){O(xe.message)}},ze=async(S,z)=>{if(g!==null){O(null);try{for(let X=0;X<zr&&(await s.query(S,z,ce(N))).hasMore;X+=1);p(0),Z.refetch()}catch(X){O(X.message)}}},ke=S=>{k(S),p(0)},Ve=Pt(()=>g===null?[]:a?.(g)??[],[a,g]),He=wr(W,w,ke,Ve),ct={filters:Me(E),orderBy:Ft(w),search:y,shard:b,table:g??void 0},je=te.data?.total??(W===null?0:h+W.rows.length),We=h>0,Ge=W!==null&&h+W.rows.length<je,ut=W===null||W.rows.length===0?0:h+1,mt=W===null?0:h+W.rows.length,gt=()=>{ee.refetch()},bt=()=>{x("table")},Ae=()=>{x("json")},Qe=()=>{oe(ze(Br,{filters:Me(P.current),search:y,table:g}))},Ue=()=>{oe(ze(qr,{table:g}))},ft=S=>{_(S.target.value),p(0)},ht=S=>{R(S),p(0)},pt=()=>{O(null);const S={};for(const z of W?.columns??[])Lt.has(z)||(S[z]="");A({docText:JSON.stringify(S,null,2),id:""})},xt=S=>{A(z=>z===null?z:{docText:S,id:z.id})},Ze=()=>{j!==null&&oe(Ke(j.id===""?"insert":"patch",j.id===""?null:j.id,j.docText))},Xe=()=>{A(null),O(null)},vt=()=>{De(h-u)},yt=()=>{De(h+u)},wt=S=>{De(Math.max(0,(S-1)*u))},Nt=S=>{m(S),p(0)},St=(S,z)=>{O(null),A({docText:JSON.stringify(Kr(z),null,2),id:S})},Ct=S=>{oe(Ke("delete",S))},Ye=async S=>{if(!(g===null||S.length===0)){O(null);try{for(const z of S)await s.query(Et,{id:z,op:"delete",table:g},ce(N));Z.refetch()}catch(z){O(z.message)}}},et=S=>{oe(Ye(S))},kt=()=>{oe(de())};return{addRow:pt,bulkDelete:Qe,cancelCellEdit:it,cancelEdit:Xe,changePageSize:Nt,clearTable:Ue,columns:W?.columns??[],committing:me,currentView:ct,discardStaged:dt,editableColumn:Gr,editing:j,editingCell:G,facetFilter:Ce,facets:M,filter:C,filters:E,goNext:yt,goPrevious:vt,hasNext:Ge,hasPrevious:We,jumpToPage:wt,liveError:I,loadTables:gt,navigateToRef:ie,onBulkDeleteSelected:et,onCommitStaged:kt,onFilterChange:ft,onFiltersChange:ht,onRowDelete:Ct,onRowEdit:St,page:W,previewRef:re,pageError:pe,pageSize:u,rangeEnd:mt,rangeStart:ut,queryShardKey:N,saveEdit:Ze,selectedTable:g,selectTable:se,setEditorDocumentText:xt,setShardKey:f,shardKey:b,showJson:Ae,showTable:bt,stage:L.stage,stagedChanges:Je,stagedValue:L.stagedValue,startCellEdit:st,table:He,tables:ge,tablesError:be,toggleFacet:Se,total:je,viewMode:v,writeError:K}},Ur=ye(Y.describeTable),Zr=ye(Y.readTablePage),Xr=ye(Y.writeRow),Yr=r=>{const e=r._id??r.id??r.__id__??"";return typeof e=="string"?e:typeof e=="number"?String(e):""},el=r=>{const e=lt(),[t,n]=T(!1),[l,o]=T(void 0),[i,a]=T(void 0),[d,s]=T(void 0),[u,m]=T({}),[b,f]=T(!1),[g,h]=T(void 0),p=async(v,x)=>{n(!0),o(v),a(x),s(void 0),m({}),h(void 0),f(!0);try{const w=await e.query(Ur,{table:v},ce(x)),{columns:k}=w;s(k);const C={},_=k.filter(y=>y.ref!==void 0&&y.type==="id"&&y.pk!==!0);for(const y of _){if(y.ref===void 0)continue;const{ref:N}=y;if(C[N]===void 0)try{const E=await e.query(Zr,{filters:[],limit:Tr,offset:0,search:"",table:N},ce(x));C[N]=E.rows.flatMap(R=>Yr(R)||[])}catch{C[N]=[]}}m(C)}catch(w){h(w.message)}f(!1)};return{closeDialog:()=>{n(!1),o(void 0),a(void 0),s(void 0),m({}),h(void 0)},columnMeta:d,error:g,fkPools:u,insertBatch:async(v,x)=>{if(l===void 0||i===void 0)return"No table selected.";try{for(const w of v)await e.query(Xr,{doc:w,op:"insert",table:l},ce(i));x(),r();return}catch(w){return w.message}},loading:b,open:t,openDialog:(v,x)=>{oe(p(v,x))},shardKey:i,table:l}},tl=[],nl=()=>{const r=B(1);let e;r[0]===Symbol.for("react.memo_cache_sentinel")?(e={},r[0]=e):e=r[0];const{data:t}=qe(Y.maskPolicies,e);return Array.isArray(t?.columns)?t.columns:tl},rl=/(?:_creationtime|(?:^|[a-z])(?:time|at))$/iu,ll=(r,e)=>typeof e=="number"&&rl.test(r),ol=r=>{const e=B(26),{column:t,onNavigate:n,target:l,value:o}=r;let i;e[0]!==n||e[1]!==l||e[2]!==o?(i=()=>{l!==void 0&&n(l,String(o))},e[0]=n,e[1]=l,e[2]=o,e[3]=i):i=e[3];const a=i;if(o==null){let u;return e[4]===Symbol.for("react.memo_cache_sentinel")?(u=c("span",{className:"italic text-muted-foreground",children:"null"}),e[4]=u):u=e[4],u}if(l!==void 0&&(typeof o=="string"||typeof o=="number")&&String(o)!==""){const u=`rd-ref-${t}`,m=`Open ${l} ${String(o)}`,b=String(o);let f;return e[5]!==a||e[6]!==u||e[7]!==m||e[8]!==b?(f=$("button",{"data-testid":u,onClick:a,title:m,type:"button",children:[b," ↗"]}),e[5]=a,e[6]=u,e[7]=m,e[8]=b,e[9]=f):f=e[9],f}if(ll(t,o)){const u=`rd-ts-${t}`;let m;e[10]!==o?(m=o.toString(),e[10]=o,e[11]=m):m=e[11];let b;e[12]!==o?(b=vn(o),e[12]=o,e[13]=b):b=e[13];let f;return e[14]!==u||e[15]!==m||e[16]!==b?(f=c("span",{"data-testid":u,title:m,children:b}),e[14]=u,e[15]=m,e[16]=b,e[17]=f):f=e[17],f}if(typeof o=="object"){let u;e[18]!==o?(u=JSON.stringify(o,null,2),e[18]=o,e[19]=u):u=e[19];let m;return e[20]!==u?(m=c("pre",{className:"m-0 overflow-auto rounded-md bg-muted/50 p-2 text-xs",children:u}),e[20]=u,e[21]=m):m=e[21],m}let d;e[22]!==o?(d=Ie(o),e[22]=o,e[23]=d):d=e[23];let s;return e[24]!==d?(s=c("span",{children:d}),e[24]=d,e[25]=s):s=e[25],s},al=r=>{const e=B(21),{columns:t,onClose:n,onNavigate:l,refs:o,row:i}=r;let a;e[0]!==n||e[1]!==l?(a=(g,h)=>{l(g,h),n()},e[0]=n,e[1]=l,e[2]=a):a=e[2];const d=a;let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=c("h3",{className:"m-0 text-base text-foreground",children:"Row detail"}),e[3]=s):s=e[3];let u;e[4]!==n?(u=$("div",{className:"mb-3 flex items-center justify-between",children:[s,c("button",{"data-testid":"rd-close",onClick:n,type:"button",children:"Close"})]}),e[4]=n,e[5]=u):u=e[5];let m;if(e[6]!==t||e[7]!==d||e[8]!==o||e[9]!==i){let g;e[11]!==d||e[12]!==o||e[13]!==i?(g=h=>$("div",{className:"border-t border-border py-2 first:border-t-0","data-testid":`rd-field-${h}`,children:[c("dt",{className:"mb-0.5 text-xs font-semibold text-muted-foreground",children:h}),c("dd",{className:"m-0",children:c(ol,{column:h,onNavigate:d,target:o?.[h],value:i[h]})})]},h),e[11]=d,e[12]=o,e[13]=i,e[14]=g):g=e[14],m=t.map(g),e[6]=t,e[7]=d,e[8]=o,e[9]=i,e[10]=m}else m=e[10];let b;e[15]!==m?(b=c("dl",{"data-testid":"rd-fields",children:m}),e[15]=m,e[16]=b):b=e[16];let f;return e[17]!==n||e[18]!==u||e[19]!==b?(f=$(tn,{label:"Row detail",onClose:n,panelTestId:"rd-panel",testId:"rd-overlay",variant:"drawer",children:[u,b]}),e[17]=n,e[18]=u,e[19]=b,e[20]=f):f=e[20],f},tt="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground disabled:pointer-events-none disabled:opacity-50",ot="w-full rounded-md border border-border bg-background px-2 py-1 font-mono text-xs outline-none focus-visible:border-ring",sl=/(?:_creationtime|(?:^|[a-z])(?:time|at))$/iu,il=(r,e)=>typeof e=="boolean"?"boolean":typeof e=="number"?sl.test(r)?"date":"number":e!==null&&typeof e=="object"?"json":"text",dl=r=>{try{const e=JSON.parse(r);return e!==null&&typeof e=="object"&&!Array.isArray(e)?e:null}catch{return null}},cl=r=>{const e=new Date(r),t=n=>String(n).padStart(2,"0");return`${e.getFullYear().toString()}-${t(e.getMonth()+1)}-${t(e.getDate())}T${t(e.getHours())}:${t(e.getMinutes())}`},ul=r=>{const e=B(8),{column:t,onChange:n,value:l}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{n(t,u)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const i=o,a=l===!0,d=`db-field-${t}`;let s;return e[3]!==t||e[4]!==i||e[5]!==a||e[6]!==d?(s=c(zt,{"aria-label":t,checked:a,"data-testid":d,onCheckedChange:i}),e[3]=t,e[4]=i,e[5]=a,e[6]=d,e[7]=s):s=e[7],s},ml=r=>{const e=B(8),{column:t,onChange:n,value:l}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{const m=Number(u.target.value);u.target.value!==""&&!Number.isNaN(m)&&n(t,m)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const i=o,a=`db-field-${t}`,d=typeof l=="number"?l:"";let s;return e[3]!==t||e[4]!==i||e[5]!==a||e[6]!==d?(s=c("input",{"aria-label":t,className:ot,"data-testid":a,onChange:i,type:"number",value:d}),e[3]=t,e[4]=i,e[5]=a,e[6]=d,e[7]=s):s=e[7],s},gl=r=>{const e=B(10),{column:t,onChange:n,value:l}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{const m=new Date(u.target.value).getTime();Number.isNaN(m)||n(t,m)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const i=o,a=`db-field-${t}`;let d;e[3]!==l?(d=typeof l=="number"?cl(l):"",e[3]=l,e[4]=d):d=e[4];let s;return e[5]!==t||e[6]!==i||e[7]!==a||e[8]!==d?(s=c("input",{"aria-label":t,className:ot,"data-testid":a,onChange:i,type:"datetime-local",value:d}),e[5]=t,e[6]=i,e[7]=a,e[8]=d,e[9]=s):s=e[9],s},bl=r=>{const e=B(8),{column:t,onChange:n,value:l}=r;let o;e[0]!==t||e[1]!==n?(o=u=>{n(t,u.target.value)},e[0]=t,e[1]=n,e[2]=o):o=e[2];const i=o,a=`db-field-${t}`,d=typeof l=="string"?l:"";let s;return e[3]!==t||e[4]!==i||e[5]!==a||e[6]!==d?(s=c("input",{"aria-label":t,className:ot,"data-testid":a,onChange:i,type:"text",value:d}),e[3]=t,e[4]=i,e[5]=a,e[6]=d,e[7]=s):s=e[7],s},fl=r=>{const e=B(20),{column:t,onChange:n,value:l}=r,o=ue();let i;e[0]!==l?(i=()=>JSON.stringify(l,null,2),e[0]=l,e[1]=i):i=e[1];const[a,d]=T(i),[s,u]=T(!1);let m;e[2]!==t||e[3]!==n?(m=w=>{const k=w.target.value;d(k);try{n(t,JSON.parse(k)),u(!1)}catch{u(!0)}},e[2]=t,e[3]=n,e[4]=m):m=e[4];const b=m,f=s&&"border-destructive";let g;e[5]!==f?(g=nt(ot,"min-h-16",f),e[5]=f,e[6]=g):g=e[6];const h=`db-field-${t}`;let p;e[7]!==t||e[8]!==b||e[9]!==g||e[10]!==h||e[11]!==a?(p=c("textarea",{"aria-label":t,className:g,"data-testid":h,onChange:b,value:a}),e[7]=t,e[8]=b,e[9]=g,e[10]=h,e[11]=a,e[12]=p):p=e[12];let v;e[13]!==t||e[14]!==s||e[15]!==o?(v=s&&c("span",{className:"text-xs text-destructive","data-testid":`db-field-error-${t}`,children:o("Invalid JSON")}),e[13]=t,e[14]=s,e[15]=o,e[16]=v):v=e[16];let x;return e[17]!==p||e[18]!==v?(x=$("div",{className:"flex flex-col gap-1",children:[p,v]}),e[17]=p,e[18]=v,e[19]=x):x=e[19],x},hl=r=>{const e=B(43),{column:t,onChange:n,target:l,value:o}=r;let i;e[0]!==t||e[1]!==o?(i=il(t,o),e[0]=t,e[1]=o,e[2]=i):i=e[2];const a=i,d=`db-field-${t}`;let s;e[3]!==t?(s=c("span",{className:"font-mono",children:t}),e[3]=t,e[4]=s):s=e[4];let u;e[5]!==l?(u=l!==void 0&&$("span",{className:"rounded bg-muted px-1 font-mono text-[10px] tracking-wide uppercase",children:["→ ",l]}),e[5]=l,e[6]=u):u=e[6];let m;e[7]!==s||e[8]!==u?(m=$("span",{className:"flex items-center gap-1.5 font-medium text-muted-foreground",children:[s,u]}),e[7]=s,e[8]=u,e[9]=m):m=e[9];let b;e[10]!==t||e[11]!==a||e[12]!==n||e[13]!==o?(b=a==="boolean"&&c(ul,{column:t,onChange:n,value:o}),e[10]=t,e[11]=a,e[12]=n,e[13]=o,e[14]=b):b=e[14];let f;e[15]!==t||e[16]!==a||e[17]!==n||e[18]!==o?(f=a==="number"&&c(ml,{column:t,onChange:n,value:o}),e[15]=t,e[16]=a,e[17]=n,e[18]=o,e[19]=f):f=e[19];let g;e[20]!==t||e[21]!==a||e[22]!==n||e[23]!==o?(g=a==="date"&&c(gl,{column:t,onChange:n,value:o}),e[20]=t,e[21]=a,e[22]=n,e[23]=o,e[24]=g):g=e[24];let h;e[25]!==t||e[26]!==a||e[27]!==n||e[28]!==o?(h=a==="json"&&c(fl,{column:t,onChange:n,value:o}),e[25]=t,e[26]=a,e[27]=n,e[28]=o,e[29]=h):h=e[29];let p;e[30]!==t||e[31]!==a||e[32]!==n||e[33]!==o?(p=a==="text"&&c(bl,{column:t,onChange:n,value:o}),e[30]=t,e[31]=a,e[32]=n,e[33]=o,e[34]=p):p=e[34];let v;return e[35]!==p||e[36]!==d||e[37]!==m||e[38]!==b||e[39]!==f||e[40]!==g||e[41]!==h?(v=$("label",{className:"flex flex-col gap-1 text-xs",htmlFor:d,children:[m,b,f,g,h,p]}),e[35]=p,e[36]=d,e[37]=m,e[38]=b,e[39]=f,e[40]=g,e[41]=h,e[42]=v):v=e[42],v},pl=r=>{const e=B(48),{documentText:t,onCancel:n,onDocumentTextChange:l,onSave:o,refs:i}=r,a=ue();let d;e[0]!==t?(d=dl(t),e[0]=t,e[1]=d):d=e[1];const s=d,[u,m]=T(!1),b=!u&&s!==null;let f;e[2]!==s||e[3]!==l?(f=(O,L)=>{l(JSON.stringify({...s,[O]:L},null,2))},e[2]=s,e[3]=l,e[4]=f):f=e[4];const g=f;let h;e[5]!==l?(h=O=>{l(O.target.value)},e[5]=l,e[6]=h):h=e[6];const p=h;let v;e[7]===Symbol.for("react.memo_cache_sentinel")?(v=()=>{m(!1)},e[7]=v):v=e[7];const x=v;let w;e[8]===Symbol.for("react.memo_cache_sentinel")?(w=()=>{m(!0)},e[8]=w):w=e[8];const k=w,C=s===null;let _;e[9]!==a?(_=a("Form"),e[9]=a,e[10]=_):_=e[10];let y;e[11]!==b||e[12]!==C||e[13]!==_?(y=c("button",{"aria-pressed":b,className:tt,"data-testid":"db-editor-form",disabled:C,onClick:x,type:"button",children:_}),e[11]=b,e[12]=C,e[13]=_,e[14]=y):y=e[14];const N=!b;let E;e[15]!==a?(E=a("JSON"),e[15]=a,e[16]=E):E=e[16];let R;e[17]!==E||e[18]!==N?(R=c("button",{"aria-pressed":N,className:tt,"data-testid":"db-editor-json",onClick:k,type:"button",children:E}),e[17]=E,e[18]=N,e[19]=R):R=e[19];let P;e[20]!==R||e[21]!==y?(P=$("div",{className:"flex items-center gap-1.5",children:[y,R]}),e[20]=R,e[21]=y,e[22]=P):P=e[22];let D;e[23]!==t||e[24]!==s||e[25]!==g||e[26]!==p||e[27]!==i||e[28]!==b||e[29]!==a?(D=b?c("div",{className:"flex flex-col gap-3","data-testid":"db-editor-fields",children:Object.entries(s).map(O=>{const[L,G]=O;return c(hl,{column:L,onChange:g,target:i?.[L],value:G},L)})}):c("textarea",{"aria-label":a("Row document JSON"),className:"min-h-28 w-full rounded-md border border-border bg-background px-2 py-1.5 font-mono text-xs outline-none focus-visible:border-ring","data-testid":"db-editor-doc",onChange:p,value:t}),e[23]=t,e[24]=s,e[25]=g,e[26]=p,e[27]=i,e[28]=b,e[29]=a,e[30]=D):D=e[30];let M;e[31]!==a?(M=a("Save"),e[31]=a,e[32]=M):M=e[32];let q;e[33]!==o||e[34]!==M?(q=c("button",{className:tt,"data-testid":"db-editor-save",onClick:o,type:"button",children:M}),e[33]=o,e[34]=M,e[35]=q):q=e[35];let J;e[36]!==a?(J=a("Cancel"),e[36]=a,e[37]=J):J=e[37];let j;e[38]!==n||e[39]!==J?(j=c("button",{className:tt,"data-testid":"db-editor-cancel",onClick:n,type:"button",children:J}),e[38]=n,e[39]=J,e[40]=j):j=e[40];let A;e[41]!==q||e[42]!==j?(A=$("div",{className:"flex items-center gap-1.5",children:[q,j]}),e[41]=q,e[42]=j,e[43]=A):A=e[43];let K;return e[44]!==P||e[45]!==D||e[46]!==A?(K=$("div",{className:"flex flex-col gap-2 border border-border bg-card p-3","data-testid":"db-editor",children:[P,D,A]}),e[44]=P,e[45]=D,e[46]=A,e[47]=K):K=e[47],K},xl=50,vl=r=>{const e=B(8),{active:t,onPick:n,shard:l}=r;let o;e[0]!==n||e[1]!==l?(o=()=>{n(l)},e[0]=n,e[1]=l,e[2]=o):o=e[2];const i=o,a=`w-full rounded px-2 py-0.5 text-left text-xs transition-colors hover:bg-accent ${t?"bg-accent font-medium":""}`,d=`shard-explorer-item-${l}`;let s;return e[3]!==i||e[4]!==l||e[5]!==a||e[6]!==d?(s=c("button",{className:a,"data-testid":d,onClick:i,type:"button",children:l}),e[3]=i,e[4]=l,e[5]=a,e[6]=d,e[7]=s):s=e[7],s},yl=({onFetchTables:r,onSelect:e})=>{const t=ue(),[n]=T(()=>zn()),[l,o]=T(!1),[i,a]=T(void 0),[d,s]=T(void 0),[u,m]=T(!1),[b,f]=T(void 0),g=Oe(0),h=()=>{o(x=>!x)},p=async x=>{e(x),a(x),s(void 0),f(void 0),m(!0),g.current+=1;const w=g.current;try{const k=await r(x);g.current===w&&s(k?.slice(0,xl))}catch(k){g.current===w&&f(k.message)}g.current===w&&m(!1)},v=x=>{oe(p(x))};return n.length===0?null:$("div",{"data-testid":"shard-explorer",children:[$("button",{"aria-controls":"shard-explorer-panel","aria-expanded":l,className:"inline-flex items-center gap-1 rounded-md border border-border px-2 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"shard-explorer-toggle",onClick:h,type:"button",children:[t("Shards seen"),c("span",{"aria-hidden":"true",className:`ml-0.5 transition-transform ${l?"rotate-180":""}`,children:"▾"})]}),l&&$("div",{className:"mt-1 flex flex-col gap-1 rounded-md border border-border bg-popover p-2","data-testid":"shard-explorer-panel",id:"shard-explorer-panel",children:[c("p",{className:"text-xs text-muted-foreground","data-testid":"shard-explorer-hint",children:t("Recently visited shards — click to switch")}),c("ul",{className:"flex flex-col gap-0.5","data-testid":"shard-explorer-list",children:n.map(x=>c("li",{children:c(vl,{active:i===x,onPick:v,shard:x})},x))}),i!==void 0&&$("div",{className:"mt-1 border-t border-border pt-1","data-testid":"shard-explorer-summary",children:[c("p",{className:"mb-1 text-xs font-medium text-foreground","data-testid":"shard-explorer-summary-title",children:t("{shard} tables",{shard:i})}),u&&c("p",{className:"text-xs text-muted-foreground","data-testid":"shard-explorer-loading",children:t("Loading…")}),b!==void 0&&c("p",{className:"text-xs text-destructive","data-testid":"shard-explorer-error",role:"alert",children:b}),!u&&b===void 0&&d?.length===0&&c("p",{className:"text-xs text-muted-foreground","data-testid":"shard-explorer-empty",children:t("No tables in this shard.")}),!u&&b===void 0&&d!==void 0&&d.length>0&&c("ul",{className:"flex flex-col gap-0.5","data-testid":"shard-explorer-tables",children:d.map(x=>$("li",{className:"flex items-center justify-between text-xs",children:[c("span",{"data-testid":`shard-explorer-table-${x.name}`,children:x.name}),c("span",{className:"text-muted-foreground","data-testid":`shard-explorer-rowcount-${x.name}`,children:x.rowCount})]},x.name))})]})]})]})},wl="lunora-studio-pinned-columns",Nl="lunora-studio-back-relations",Sl={},Cl=50,kl=[],Be="inline-flex items-center gap-1 rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50 aria-pressed:bg-accent aria-pressed:text-accent-foreground",$l=ye(Y.listTables),_l=r=>{const e=B(10),{onFetchShardTables:t,onShardChange:n,schemaSwitch:l,shardKey:o}=r;let i;e[0]!==n||e[1]!==o?(i=c(pn,{onChange:n,testId:"db-shard-input",value:o}),e[0]=n,e[1]=o,e[2]=i):i=e[2];let a;e[3]!==t||e[4]!==n?(a=c(yl,{onFetchTables:t,onSelect:n}),e[3]=t,e[4]=n,e[5]=a):a=e[5];let d;return e[6]!==l||e[7]!==i||e[8]!==a?(d=$("div",{className:"flex shrink-0 flex-col items-stretch gap-2 border-b border-border p-3",children:[l,i,a]}),e[6]=l,e[7]=i,e[8]=a,e[9]=d):d=e[9],d},Tl=r=>{const e=B(61),{columns:t,editable:n,filter:l,filters:o,hasMaskedColumns:i,liveError:a,maskOn:d,onAddRow:s,onBulkDelete:u,onAskAiFilter:m,onClearTable:b,onFilterChange:f,onFiltersChange:g,onGenerateRows:h,onShowJson:p,onShowTable:v,onToggleMask:x,total:w,viewMode:k}=r,C=ue(),_=k==="table";let y;e[0]!==v||e[1]!==_?(y=c("button",{"aria-pressed":_,className:Be,"data-testid":"db-view-table",onClick:v,type:"button",children:"Table"}),e[0]=v,e[1]=_,e[2]=y):y=e[2];const N=k==="json";let E;e[3]!==p||e[4]!==N?(E=c("button",{"aria-pressed":N,className:Be,"data-testid":"db-view-json",onClick:p,type:"button",children:"JSON"}),e[3]=p,e[4]=N,e[5]=E):E=e[5];let R;e[6]!==a||e[7]!==C?(R=a===void 0?C("Live — changes stream in automatically"):C("Live unavailable: {liveError}",{liveError:a}),e[6]=a,e[7]=C,e[8]=R):R=e[8];const P=`size-1.5 rounded-full ${a===void 0?"bg-success":"bg-muted-foreground/50"}`;let D;e[9]!==P?(D=c("span",{"aria-hidden":"true",className:P}),e[9]=P,e[10]=D):D=e[10];let M;e[11]!==a||e[12]!==C?(M=C(a===void 0?"Live":"Live unavailable"),e[11]=a,e[12]=C,e[13]=M):M=e[13];let q;e[14]!==R||e[15]!==D||e[16]!==M?(q=$("span",{className:"inline-flex items-center gap-1.5 px-1 text-xs font-medium text-muted-foreground","data-testid":"db-live-indicator",role:"status",title:R,children:[D,M]}),e[14]=R,e[15]=D,e[16]=M,e[17]=q):q=e[17];let J;e[18]!==i||e[19]!==d||e[20]!==x||e[21]!==C?(J=i&&c("button",{"aria-pressed":d,className:Be,"data-testid":"db-mask-toggle",onClick:x,type:"button",children:C("Mask sensitive columns")}),e[18]=i,e[19]=d,e[20]=x,e[21]=C,e[22]=J):J=e[22];let j;e[23]!==n||e[24]!==s?(j=n&&c("button",{className:Be,"data-testid":"db-add-row",onClick:s,type:"button",children:"Add row"}),e[23]=n,e[24]=s,e[25]=j):j=e[25];let A;e[26]!==n||e[27]!==h||e[28]!==C?(A=n&&c("button",{className:Be,"data-testid":"db-generate-rows",onClick:h,type:"button",children:C("Generate rows")}),e[26]=n,e[27]=h,e[28]=C,e[29]=A):A=e[29];let K;e[30]!==n||e[31]!==l||e[32]!==o||e[33]!==u||e[34]!==w?(K=n&&w>0&&(l!==""||o.length>0)&&c(Mt,{confirmLabel:`Delete ${w.toString()} matching?`,onConfirm:u,testId:"db-bulk-delete",children:`Delete ${w.toString()} matching`}),e[30]=n,e[31]=l,e[32]=o,e[33]=u,e[34]=w,e[35]=K):K=e[35];let O;e[36]!==n||e[37]!==l||e[38]!==o||e[39]!==b||e[40]!==w?(O=n&&w>0&&l===""&&o.length===0&&c(Mt,{confirmLabel:`Clear all ${w.toString()} rows?`,onConfirm:b,testId:"db-clear-table",children:`Clear table (${w.toString()})`}),e[36]=n,e[37]=l,e[38]=o,e[39]=b,e[40]=w,e[41]=O):O=e[41];let L;e[42]!==J||e[43]!==j||e[44]!==A||e[45]!==K||e[46]!==O||e[47]!==y||e[48]!==E||e[49]!==q?(L=$("div",{className:"flex flex-wrap items-center gap-1.5",children:[y,E,q,J,j,A,K,O]}),e[42]=J,e[43]=j,e[44]=A,e[45]=K,e[46]=O,e[47]=y,e[48]=E,e[49]=q,e[50]=L):L=e[50];let G;e[51]!==t||e[52]!==l||e[53]!==o||e[54]!==m||e[55]!==f||e[56]!==g?(G=c(Mn,{columns:t,filters:o,onAskAi:m,onFiltersChange:g,onSearchChange:f,search:l}),e[51]=t,e[52]=l,e[53]=o,e[54]=m,e[55]=f,e[56]=g,e[57]=G):G=e[57];let Q;return e[58]!==L||e[59]!==G?(Q=$("div",{className:"flex flex-col gap-2","data-testid":"db-view-toggle",children:[L,G]}),e[58]=L,e[59]=G,e[60]=Q):Q=e[60],Q},eo=({editable:r=!1,globalTableNames:e,initialFilters:t,initialOrderBy:n,initialPins:l,initialSearch:o,initialShardKey:i,onNavigateToGlobal:a,onSelectTable:d,onViewChange:s,pageSize:u=Cl,queryBar:m,schemaSwitch:b,tableParam:f})=>{const g=qe(Y.describeTables,{},{shardKey:i??""}).data?.columnsByTable??Sl,[h,p]=Kt(Nl,{}),v=Dt(F=>{const U=new Set(h[F]);return Gt(F,g).filter(le=>U.has(jt(le)))},[h,g]),{addRow:x,bulkDelete:w,cancelCellEdit:k,cancelEdit:C,changePageSize:_,clearTable:y,columns:N,committing:E,currentView:R,discardStaged:P,editableColumn:D,editing:M,editingCell:q,facetFilter:J,facets:j,filter:A,filters:K,goNext:O,goPrevious:L,hasNext:G,hasPrevious:Q,jumpToPage:me,liveError:ae,loadTables:ee,navigateToRef:ge,onBulkDeleteSelected:be,onCommitStaged:fe,onFilterChange:he,onFiltersChange:Z,onRowDelete:W,onRowEdit:pe,page:I,pageError:te,previewRef:se,pageSize:ie,queryShardKey:re,rangeEnd:H,rangeStart:Se,saveEdit:Ce,selectedTable:V,selectTable:we,setEditorDocumentText:Pe,setShardKey:ne,shardKey:Re,showJson:Ee,showTable:Fe,stage:at,stagedChanges:De,stagedValue:st,startCellEdit:it,table:de,tables:dt,tablesError:Je,toggleFacet:Ke,total:ze,viewMode:ke,writeError:Ve}=Qr({initialFilters:t,initialOrderBy:n,initialSearch:o,initialShardKey:i,onSelectTable:d,onViewChange:s,pageSize:u,resolveBackRelations:v,tableParam:f}),He=yn(Re),ct=F=>{oe((async()=>{const U=await He.suggestFilter(F,V??"");U!==void 0&&Z(U.map(le=>{const ve=le.value,Le=typeof ve=="string"||typeof ve=="number"||typeof ve=="boolean"?String(ve):"";return{column:le.column,operator:le.operator,value:Le}}))})())},je=V===null?[]:Gt(V,g),We=new Set(h[V??""]),Ge=[];for(const F of I?.rows??[]){const U=F._id??F.id;typeof U=="string"&&U!==""&&Ge.push(U)}const ut=Or(We,je,Ge,re),mt=F=>{p(U=>{const le=V??"",ve=U[le]??[];return{...U,[le]:ve.includes(F)?ve.filter(Le=>Le!==F):[...ve,F]}})},[gt,bt]=Kt(wl,{}),Ae=V??"",Qe=gt[Ae],Ue=Qe===void 0?new Set((l??"").split(",").filter(F=>F!=="")):new Set(Qe),ft=F=>{bt(U=>{const le=U[Ae]??[...Ue],ve=le.includes(F)?le.filter(Le=>Le!==F):[...le,F];return{...U,[Ae]:ve}})},ht=lt(),pt=async F=>await ht.query($l,{},ce(F)),xt=()=>{V!==null&&we(V)},{closeDialog:Ze,columnMeta:Xe,fkPools:vt,insertBatch:yt,open:wt,openDialog:Nt}=el(xt),St=()=>{V!==null&&Nt(V,Re)},Ct=F=>yt(F,Ze),[Ye,et]=T(null),kt=()=>{et(null)},[S,z]=T(!1),X=()=>{z(F=>!F)},$e=nl(),[xe,sn]=T(!0),dn=()=>{sn(F=>!F)},cn=Jn($e,V??""),Bt=Vn(cn,N),$t={columns:Bt,enabled:xe},[_t,qt]=T(null),un=(F,U)=>{qt({column:F,value:U})},mn=()=>{qt(null)},Jt=(F,U)=>{if(a!==void 0&&e?.has(F)===!0){a(F,U);return}ge(F,U)},gn=m?.onSaveQuery,bn=F=>{gn?.(F,R)},fn={cancelEdit:k,editable:r,editableColumn:D,editingCell:q,onExpandCell:un,stage:at,stagedValue:st,startEdit:it},hn={columns:I?.refs,onNavigate:Jt,onPreview:se};return $("div",{className:"flex h-full min-w-0","data-testid":"lunora-data-browser",children:[c(En,{header:c(_l,{onFetchShardTables:pt,onShardChange:ne,schemaSwitch:b,shardKey:Re}),onReload:ee,onSelect:we,prefix:"db",selected:V,tables:dt??kl}),$("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:[Je!==null&&c("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"db-tables-error",role:"alert",children:Je}),I===null&&te===null&&c("div",{className:"flex flex-1 items-center justify-center p-6",children:c("p",{className:"text-sm text-muted-foreground",children:"Select a table to browse its rows."})}),te!==null&&c("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"db-page-error",role:"alert",children:te}),I!==null&&$("div",{className:"flex min-h-0 flex-1 flex-col","data-testid":"db-page",children:[$("div",{className:"flex shrink-0 flex-col gap-2 border-b border-border px-4 py-3",children:[c(Tl,{columns:N,editable:r,filter:A,filters:K,hasMaskedColumns:Bt.size>0,liveError:ae,maskOn:xe,onAddRow:x,onAskAiFilter:He.unavailable?void 0:ct,onBulkDelete:w,onClearTable:y,onFilterChange:he,onFiltersChange:Z,onGenerateRows:St,onShowJson:Ee,onShowTable:Fe,onToggleMask:dn,total:ze,viewMode:ke}),m!==void 0&&c($r,{onApply:m.onApplyQuery,onCopyLink:m.onCopyLink,onDelete:m.onDeleteQuery,onSave:bn,saved:m.saved}),ke==="table"&&I.rows.length>0&&c(In,{backRelations:je,columns:I.columns,editable:r,enabledBackRelations:We,name:V??"export",onBulkDelete:be,onToggleBackRelation:mt,onToggleTranspose:X,rows:I.rows,table:de.table,transposed:S}),r&&M!==null&&c(pl,{documentText:M.docText,onCancel:C,onDocumentTextChange:Pe,onSave:Ce,refs:I.refs}),r&&De.length>0&&c(Zn,{changes:De,committing:E,onCommit:fe,onDiscard:P}),Ve!==null&&c("p",{className:"text-sm text-destructive","data-testid":"db-write-error",role:"alert",children:Ve})]}),ke==="table"&&I.rows.length===0&&c("div",{className:"flex flex-1 items-center justify-center p-6",children:c(xn,{description:"Rows you insert into this table will show up here.",icon:c("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:c("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"})}),testId:"db-empty-rows",title:"This table is empty."})}),ke==="table"&&I.rows.length>0&&S&&c(Tn,{columns:I.columns,rows:Wt(I.rows,$t)}),ke==="table"&&I.rows.length>0&&!S&&c(yr,{attachScroll:de.attachScroll,backRelationCounts:ut,edit:fn,editable:r,highlight:A,mask:$t,onDelete:W,onEdit:pe,onInspect:et,onTogglePin:ft,pinnedColumns:Ue,refs:hn,scrollLeft:de.scrollLeft,scrollToIndex:de.scrollToIndex,table:de.table,tableRows:de.tableRows,tbodyStyle:de.tbodyStyle,viewportWidth:de.viewportWidth,virtualRows:de.virtualRows}),ke==="json"&&c("pre",{className:"min-h-0 flex-1 overflow-auto border-t border-border bg-muted/30 p-3 text-xs","data-testid":"db-json",children:JSON.stringify(Wt(I.rows,$t),null,2)}),c("div",{className:"flex shrink-0 items-center border-t border-border px-4 py-2",children:c(Pn,{hasNext:G,hasPrevious:Q,onJumpToPage:me,onNext:O,onPageSizeChange:_,onPrevious:L,pageSize:ie,prefix:"db",rangeEnd:H,rangeStart:Se,total:ze})})]})]}),I!==null&&c(Dn,{columns:N,facets:j,onFacetFilter:J,onToggleFacet:Ke}),Ye!==null&&I!==null&&c(al,{columns:I.columns,onClose:kt,onNavigate:Jt,refs:I.refs,row:Ye}),_t!==null&&c(On,{column:_t.column,onClose:mn,value:_t.value}),wt&&V!==null&&Xe!==void 0&&c(Mr,{columns:Xe,fkPools:vt,onClose:Ze,onInsertRows:Ct,table:V})]})};export{eo as DataBrowser};
@@ -1 +0,0 @@
1
- import{useLunora as le}from"@lunora/react";import{useState as g,useRef as j,useEffect as E}from"react";import{E as ae}from"./empty-state-Cg7t_8qu.js";import{n as ne,d as oe,m as L,p as se,f as ie,u as de}from"./table-DdJBrClo.js";import{O as D}from"./use-admin-query-QJ-ibl5u.js";import{useAutoRefresh as ce}from"./DEFAULT_AUTO_REFRESH_MS-BCC8_4BQ.js";import{i as ue,u as me,_ as fe,a as be,$ as pe}from"./table-list-sidebar-BFkSQwlB.js";import{useT as he}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{C as ge}from"./cf-links-gbDy51nR.js";import{k as xe,g as ve}from"./data-grid-DcxyIXwG.js";import{jsxs as i,jsx as r}from"react/jsx-runtime";const Ne=50,we=[],ye=[],ke=(t,x)=>{const u=t._id;return typeof u=="string"||typeof u=="number"?String(u):`row-${x.toString()}`},G=t=>t==null?"∅":t===""?"(empty)":typeof t=="object"?JSON.stringify(t):String(t),De=({initialTable:t,onSelectTable:x,pageSize:u=Ne,schemaSwitch:M}={})=>{const v=le(),m=he(),[a,O]=g(t??null),[o,p]=g(0),[d,z]=g(u),[f,$]=g([]),c=ue(f),{clearFacets:J,facets:A,refetchFacets:B,toggleFacet:U}=me(),h=D(["lunora-global-tables"],()=>v.listGlobalTables()),b=h.data??null,T=h.error,N=D(["lunora-global-page",a??"",o,d,JSON.stringify(f)],()=>v.readGlobalTablePage({filters:f,limit:d,offset:o,table:a??""}),{enabled:a!==null,keepPreviousData:!1}),l=N.data??null,w=N.error,F=(e,n)=>s=>v.facetGlobalColumn({column:s,filters:n,table:e}),C=(e,n)=>{B(F(e,n))};ce(()=>{h.refetch(),a!==null&&(N.refetch(),C(a,c.current))},!0);const y=j(void 0),k=e=>{O(e),y.current=e,$([]),c.current=[],J(),p(0),x?.(e)},q=e=>{U(e,a===null?null:F(a,c.current))},P=e=>{$(e),c.current=e,p(0),a!==null&&C(a,e)},I=(e,n)=>{P([...c.current.filter(s=>s.column!==e),{column:e,value:n}])},W=e=>{const n=Number(e.currentTarget.dataset.index);P(c.current.filter((s,te)=>te!==n))},R=j(k);E(()=>{R.current=k}),E(()=>{if(t===void 0||t===""||y.current===t)return;y.current=t;const e=t;queueMicrotask(()=>{R.current(e)})},[t]);const S=e=>{a!==null&&p(Math.max(0,e))},_=l?.total??0,Z=o>0,H=l!==null&&o+l.rows.length<_,K=l===null||l.rows.length===0?0:o+1,Q=l===null?0:o+l.rows.length,V=()=>{h.refetch()},X=()=>{S(o-d)},Y=()=>{S(o+d)},ee=e=>{S(Math.max(0,(e-1)*d))},re=e=>{z(e),p(0)};return i("div",{className:"flex h-full min-w-0","data-testid":"lunora-global-data-browser",children:[r(fe,{header:i("div",{className:"flex shrink-0 flex-col items-stretch gap-2 border-b border-border p-3",children:[M,r("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"gdb-cf-link",href:ge,rel:"noreferrer",target:"_blank",children:m("Open in Cloudflare")})]}),onReload:V,onSelect:k,prefix:"gdb",selected:a,tables:b??we}),i("div",{className:"flex min-w-0 flex-1 flex-col overflow-hidden",children:[T!==null&&r("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"gdb-tables-error",role:"alert",children:T}),b!==null&&b.length===0&&r("div",{className:"flex flex-1 items-center justify-center p-6",children:r(ae,{description:m("Tables marked .global() (D1-backed, region-replicated) will appear here."),icon:i("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[r("circle",{cx:"12",cy:"12",r:"9"}),r("path",{d:"M3 12h18M12 3a14 14 0 0 1 0 18 14 14 0 0 1 0-18Z"})]}),testId:"gdb-empty",title:m("No global tables.")})}),w!==null&&r("p",{className:"shrink-0 border-b border-border px-4 py-2 text-sm text-destructive","data-testid":"gdb-page-error",role:"alert",children:w}),b!==null&&b.length>0&&l===null&&w===null&&r("div",{className:"flex flex-1 items-center justify-center p-6",children:r("p",{className:"text-sm text-muted-foreground",children:m("Select a table to browse its rows.")})}),l!==null&&i("div",{className:"flex min-h-0 flex-1 flex-col","data-testid":"gdb-page",children:[f.length>0&&r("div",{className:"flex shrink-0 flex-wrap items-center gap-1.5 border-b border-border px-4 py-2 text-xs","data-testid":"gdb-filters",children:f.map((e,n)=>i("span",{className:"inline-flex items-center gap-1 rounded border border-border bg-muted px-1.5 py-0.5","data-testid":"gdb-filter-chip",children:[r("span",{className:"font-medium text-foreground",children:e.column}),r("span",{className:"text-muted-foreground",children:"="}),r("span",{className:"font-mono text-foreground",children:G(e.value)}),r("button",{"aria-label":m("Remove filter"),className:"ml-0.5 text-muted-foreground hover:text-foreground","data-index":n,"data-testid":"gdb-filter-remove",onClick:W,type:"button",children:"✕"})]},`${e.column}:${G(e.value)}`))}),r(xe,{layout:"fill",children:r("div",{className:"min-h-0 flex-1 overflow-auto",children:i(ne,{"data-testid":"gdb-rows",children:[r(oe,{children:r(L,{children:l.columns.map(e=>r(se,{children:e},e))})}),r(ie,{children:l.rows.map((e,n)=>r(L,{"data-testid":"gdb-row",children:l.columns.map(s=>r(de,{className:"max-w-xs truncate font-mono text-xs",children:r(ve,{value:e[s]})},s))},ke(e,n)))})]})})}),r("div",{className:"flex shrink-0 items-center border-t border-border px-4 py-2",children:r(be,{hasNext:H,hasPrevious:Z,onJumpToPage:ee,onNext:Y,onPageSizeChange:re,onPrevious:X,pageSize:d,prefix:"gdb",rangeEnd:Q,rangeStart:K,total:_})})]})]}),r(pe,{columns:l?.columns??ye,facets:A,onFacetFilter:I,onToggleFacet:q})]})};export{De as GlobalDataBrowser};
@@ -1,2 +0,0 @@
1
- 'use client';
2
- import{c as w}from"react/compiler-runtime";import{RouterProvider as Qt,createRootRoute as Jt,createRoute as kt,createBrowserHistory as Xt,createMemoryHistory as Yt,createRouter as Gt,useSearch as ea,useNavigate as _t,useRouterState as ta,Outlet as aa}from"@tanstack/react-router";import*as at from"react";import{useState as nt,useEffect as rt,use as yt,createContext as Lt,useSyncExternalStore as ra,lazy as X,Suspense as sa}from"react";import{c as A}from"./utils-bhneXptQ.js";import{jsx as s,jsxs as x,Fragment as Pt}from"react/jsx-runtime";import{ErrorBoundary as na}from"./ErrorBoundary-DvzYskH7.js";import{O as oa,u as ia}from"./operation-console-provider-BMJNtiyB.js";import{useT as G}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{LunoraError as $t}from"@lunora/errors";import{g as ot}from"./badge-BbuuAio7.js";import{u as At}from"./input-JHu63lTv.js";import{Popover as st}from"@base-ui/react/popover";import{Cancel01Icon as la,SidebarLeftIcon as da}from"@hugeicons/core-free-icons";import{HugeiconsIcon as Tt}from"@hugeicons/react";import{mergeProps as zt}from"@base-ui/react/merge-props";import{useRender as Et}from"@base-ui/react/use-render";import{cva as ca}from"class-variance-authority";import{u as Rt}from"./button-BkCrNcAs.js";import{Dialog as ae}from"@base-ui/react/dialog";import{Tooltip as te}from"@base-ui/react/tooltip";import{n as pt}from"./skeleton-C1wQ9M5t.js";import{H as ua,S as ha}from"./home-panel-CU6MWLHG.js";import{c as ma,f as bt}from"./internal-BSIsQVC6.js";import{y as ct}from"./use-admin-query-QJ-ibl5u.js";import{StudioI18nProvider as pa}from"./StudioI18nProvider-CZ5h4nrV.js";import{v as fa,a as ga}from"./data-view-params-ClrV7XgF.js";import{CommandPalette as ba,openCommandPalette as va}from"./CommandPalette--SQwfTW1.js";import{motion as ya}from"motion/react";const It="(prefers-color-scheme: dark)",Kt=()=>{try{return globalThis.localStorage}catch{return}},xa=t=>t==="system"||t==="light"||t==="dark",Vt=()=>globalThis.matchMedia,Zt="lunora-studio-theme",ft=["system","light","dark"],ka=(t="system")=>{try{const e=Kt()?.getItem(Zt);return xa(e)?e:t}catch{return t}},wt=t=>{const e=Kt();if(e!==void 0)try{e.setItem(Zt,t)}catch{}},wa=()=>{try{return Vt()?.(It).matches?"dark":"light"}catch{return"light"}},Na=(t,e)=>t==="system"?e:t,Sa=t=>{let e;try{e=Vt()?.(It)}catch{e=void 0}if(e===void 0)return()=>{};const a=r=>{t(r.matches?"dark":"light")};return e.addEventListener("change",a),()=>{e.removeEventListener("change",a)}},xt=Lt(null),Ma=({children:t,defaultTheme:e="system"})=>{const[a,r]=nt(()=>ka(e)),[n,o]=nt(()=>wa());rt(()=>Sa(o),[]);const i=d=>{wt(d),r(d)},l={cycleTheme:()=>{r(d=>{const u=ft[(ft.indexOf(d)+1)%ft.length]??d;return wt(u),u})},resolvedTheme:Na(a,n),setTheme:i,systemTheme:n,theme:a};return s(xt,{value:l,children:t})},Ca=t=>{const e=w(3),{children:a}=t,r=yt(xt);let n;return e[0]!==a||e[1]!==r?(n=r===null?s(Ma,{children:a}):a,e[0]=a,e[1]=r,e[2]=n):n=e[2],n},_a=()=>{const t=yt(xt);if(t===null)throw new $t("INTERNAL","useTheme must be used within a <ThemeProvider>");return t};function nn({delay:t=0,...e}){return s(te.Provider,{"data-slot":"tooltip-provider",delay:t,...e})}function La(t){const e=w(4);let a;e[0]!==t?({...a}=t,e[0]=t,e[1]=a):a=e[1];let r;return e[2]!==a?(r=s(te.Root,{"data-slot":"tooltip",...a}),e[2]=a,e[3]=r):r=e[3],r}function Pa(t){const e=w(4);let a;e[0]!==t?({...a}=t,e[0]=t,e[1]=a):a=e[1];let r;return e[2]!==a?(r=s(te.Trigger,{"data-slot":"tooltip-trigger",...a}),e[2]=a,e[3]=r):r=e[3],r}function $a({className:t,side:e="top",sideOffset:a=4,align:r="center",alignOffset:n=0,children:o,...i}){return s(te.Portal,{children:s(te.Positioner,{align:r,alignOffset:n,side:e,sideOffset:a,className:"isolate z-50",children:x(te.Popup,{"data-slot":"tooltip-content",className:A("z-50 inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-start-2 data-[side=inline-start]:slide-in-from-end-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-md data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",t),...i,children:[o,s(te.Arrow,{className:"z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-md bg-foreground fill-foreground data-[side=bottom]:top-1 data-[side=inline-end]:top-1/2! data-[side=inline-end]:-start-1 data-[side=inline-end]:-translate-y-1/2 data-[side=inline-start]:top-1/2! data-[side=inline-start]:-end-1 data-[side=inline-start]:-translate-y-1/2 data-[side=left]:top-1/2! data-[side=left]:-right-1 data-[side=left]:-translate-y-1/2 data-[side=right]:top-1/2! data-[side=right]:-left-1 data-[side=right]:-translate-y-1/2 data-[side=top]:-bottom-2.5"})]})})})}const Aa=t=>{const e=w(5),{className:a}=t;let r;e[0]!==a?(r=A("h-full w-full text-foreground",a),e[0]=a,e[1]=r):r=e[1];let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=s("path",{d:"M 259.500 10.552 C 220.080 15.859, 182.424 32.566, 152.500 58.025 C 110.179 94.031, 85.380 137.183, 77.518 188.500 C 75.410 202.255, 74.569 225.677, 75.796 236.466 C 76.757 244.917, 76.683 245.692, 74.518 249.966 C 63.118 272.466, 53.141 303.876, 51.382 322.799 L 50.718 329.943 71.960 320.471 C 83.643 315.262, 93.326 311, 93.478 311 C 93.630 311, 96.547 316.063, 99.959 322.250 C 103.371 328.438, 107.249 334.850, 108.577 336.500 L 110.990 339.500 110.981 336 C 110.977 334.075, 111.499 324.991, 112.143 315.813 L 113.312 299.127 121.406 293.336 C 132.495 285.403, 149.593 271.554, 161 261.268 C 171.556 251.748, 189.116 235, 188.540 235 C 188.337 235, 183.069 238.648, 176.835 243.106 C 142.318 267.789, 68.537 314, 63.646 314 C 61.843 314, 72.791 281.179, 80.905 262.259 C 92.233 235.845, 107.473 212.389, 132.106 183.453 L 138.451 176 148.268 176 C 176.192 176, 197.512 187.154, 212.868 209.797 C 216.470 215.108, 217.035 216.595, 216.477 219.297 C 211.386 243.968, 202.359 274.496, 193.797 296 C 183.898 320.861, 167.147 352.101, 152.395 373.215 L 147.004 380.930 152.891 385.830 C 161.400 392.911, 165.563 396, 166.594 395.998 C 167.092 395.998, 168.772 391.641, 170.327 386.317 C 176.279 365.934, 188.422 338.749, 200.942 317.778 C 223.060 280.731, 256.432 244.369, 294.500 215.836 C 309.956 204.252, 313.937 201.603, 314.719 202.385 C 315.116 202.783, 315.449 213.096, 315.460 225.304 C 315.474 241.855, 315.021 250.405, 313.680 258.924 C 307.009 301.272, 291.175 336.677, 263.112 372 C 255.259 381.883, 227.182 410.673, 218.516 417.727 L 213.532 421.783 223.439 424.880 C 281.705 443.093, 349.165 436.018, 398.616 406.508 C 446.728 377.797, 483.322 331.466, 497.366 281.481 C 503.381 260.075, 504.480 250.741, 504.491 221 C 504.501 191.997, 503.598 184.047, 497.987 163.732 C 484.768 115.871, 452.505 72.708, 407.718 42.964 C 381.051 25.254, 352.818 14.828, 319.695 10.460 C 305.932 8.645, 273.298 8.695, 259.500 10.552",fillRule:"evenodd"}),e[2]=n):n=e[2];let o;return e[3]!==r?(o=s("svg",{"aria-hidden":"true",className:r,fill:"currentColor",viewBox:"0 0 543 446",children:n}),e[3]=r,e[4]=o):o=e[4],o},Ht="lunora.studio.rulesBannerDismissed",Ta=()=>{try{return globalThis.localStorage.getItem(Ht)==="1"}catch{return!1}},za=()=>{try{globalThis.localStorage.setItem(Ht,"1")}catch{}},Ea=()=>{const t=w(18),e=G(),[a,r]=nt(Ra);let n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=()=>{r(!0),za()},t[0]=n):n=t[0];const o=n;if(a)return null;let i;t[1]===Symbol.for("react.memo_cache_sentinel")?(i=s("span",{"aria-hidden":"true",className:"text-warning",children:"⚠"}),t[1]=i):i=t[1];let l;t[2]!==e?(l=e("Lunora AI rules aren't installed."),t[2]=e,t[3]=l):l=t[3];let d;t[4]===Symbol.for("react.memo_cache_sentinel")?(d=s("code",{className:"rounded bg-muted px-1 py-0.5 font-mono text-[11px]",children:"lunora rules install"}),t[4]=d):d=t[4];let u;t[5]!==e?(u=e("lets your coding agent use Lunora correctly."),t[5]=e,t[6]=u):u=t[6];let c;t[7]!==l||t[8]!==u?(c=x("span",{children:[l," ",d," ",u]}),t[7]=l,t[8]=u,t[9]=c):c=t[9];let p;t[10]!==e?(p=e("Dismiss"),t[10]=e,t[11]=p):p=t[11];let g;t[12]===Symbol.for("react.memo_cache_sentinel")?(g=s("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:s("path",{d:"M18 6 6 18M6 6l12 12"})}),t[12]=g):g=t[12];let h;t[13]!==p?(h=s("button",{"aria-label":p,className:"ms-auto flex size-5 items-center justify-center rounded text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":"dash-app-rules-banner-dismiss",onClick:o,type:"button",children:g}),t[13]=p,t[14]=h):h=t[14];let f;return t[15]!==c||t[16]!==h?(f=x("div",{className:"flex shrink-0 items-center gap-2 border-b border-warning/30 bg-warning/10 px-6 py-2 text-[12px] text-foreground","data-testid":"dash-app-rules-banner",role:"note",children:[i,c,h]}),t[15]=c,t[16]=h,t[17]=f):f=t[17],f};function Ra(){return Ta()}function Ot(t){const e=w(4);let a;e[0]!==t?({...a}=t,e[0]=t,e[1]=a):a=e[1];let r;return e[2]!==a?(r=s(st.Root,{"data-slot":"popover",...a}),e[2]=a,e[3]=r):r=e[3],r}function qt(t){const e=w(4);let a;e[0]!==t?({...a}=t,e[0]=t,e[1]=a):a=e[1];let r;return e[2]!==a?(r=s(st.Trigger,{"data-slot":"popover-trigger",...a}),e[2]=a,e[3]=r):r=e[3],r}function Bt({align:t="end",alignOffset:e=0,className:a,keepMounted:r=!1,side:n="bottom",sideOffset:o=6,...i}){return s(st.Portal,{keepMounted:r,children:s(st.Positioner,{align:t,alignOffset:e,className:"isolate z-50 outline-none",side:n,sideOffset:o,children:s(st.Popup,{className:A("z-50 w-72 origin-(--transform-origin) rounded-lg border border-border bg-popover p-3 text-popover-foreground shadow-md outline-none data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95",a),"data-slot":"popover-content",...i})})})}const gt=768;function Ia(){const t=w(2),[e,a]=nt(void 0);let r,n;return t[0]===Symbol.for("react.memo_cache_sentinel")?(r=()=>{const o=globalThis.matchMedia(`(max-width: ${gt-1}px)`),i=()=>{a(globalThis.innerWidth<gt)};return o.addEventListener("change",i),a(globalThis.innerWidth<gt),()=>{o.removeEventListener("change",i)}},n=[],t[0]=r,t[1]=n):(r=t[0],n=t[1]),rt(r,n),!!e}function Ka(t){const e=w(4);let a;e[0]!==t?({...a}=t,e[0]=t,e[1]=a):a=e[1];let r;return e[2]!==a?(r=s(ae.Root,{"data-slot":"sheet",...a}),e[2]=a,e[3]=r):r=e[3],r}function Va(t){const e=w(4);let a;e[0]!==t?({...a}=t,e[0]=t,e[1]=a):a=e[1];let r;return e[2]!==a?(r=s(ae.Portal,{"data-slot":"sheet-portal",...a}),e[2]=a,e[3]=r):r=e[3],r}function Za(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("fixed inset-0 z-50 bg-black/10 text-xs/relaxed transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-backdrop-filter:",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s(ae.Backdrop,{"data-slot":"sheet-overlay",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function Ha({className:t,children:e,side:a="right",showCloseButton:r=!0,...n}){return x(Va,{children:[s(Za,{}),x(ae.Popup,{"data-slot":"sheet-content","data-side":a,className:A("fixed z-50 flex flex-col bg-popover bg-clip-padding text-xs/relaxed text-popover-foreground shadow-lg transition duration-200 ease-in-out data-ending-style:opacity-0 data-starting-style:opacity-0 data-[side=bottom]:inset-x-0 data-[side=bottom]:bottom-0 data-[side=bottom]:h-auto data-[side=bottom]:border-t data-[side=bottom]:data-ending-style:translate-y-[2.5rem] data-[side=bottom]:data-starting-style:translate-y-[2.5rem] data-[side=left]:inset-y-0 data-[side=left]:left-0 data-[side=left]:h-full data-[side=left]:w-3/4 data-[side=left]:border-e data-[side=left]:data-ending-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-ending-style:-translate-x-[-2.5rem] data-[side=left]:data-starting-style:translate-x-[-2.5rem] rtl:data-[side=left]:data-starting-style:-translate-x-[-2.5rem] data-[side=right]:inset-y-0 data-[side=right]:right-0 data-[side=right]:h-full data-[side=right]:w-3/4 data-[side=right]:border-s data-[side=right]:data-ending-style:translate-x-[2.5rem] rtl:data-[side=right]:data-ending-style:-translate-x-[2.5rem] data-[side=right]:data-starting-style:translate-x-[2.5rem] rtl:data-[side=right]:data-starting-style:-translate-x-[2.5rem] data-[side=top]:inset-x-0 data-[side=top]:top-0 data-[side=top]:h-auto data-[side=top]:border-b data-[side=top]:data-ending-style:translate-y-[-2.5rem] data-[side=top]:data-starting-style:translate-y-[-2.5rem] data-[side=left]:sm:max-w-sm data-[side=right]:sm:max-w-sm",t),...n,children:[e,r&&x(ae.Close,{"data-slot":"sheet-close",render:s(Rt,{variant:"ghost",className:"absolute top-3 end-3",size:"icon-sm"}),children:[s(Tt,{icon:la,strokeWidth:2}),s("span",{className:"sr-only",children:"Close"})]})]})]})}function Oa(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("flex flex-col gap-0.5 p-4",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("div",{"data-slot":"sheet-header",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function qa(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("text-sm font-medium text-foreground",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s(ae.Title,{"data-slot":"sheet-title",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function Ba(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("text-xs/relaxed text-muted-foreground",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s(ae.Description,{"data-slot":"sheet-description",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}const Da="sidebar_state",Wa=3600*24*7,Fa="16rem",ja="18rem",Ua="3rem",Qa="b",Dt=at.createContext(null);function ut(){const t=at.useContext(Dt);if(!t)throw new $t("INTERNAL","useSidebar must be used within a SidebarProvider.");return t}function Ja({defaultOpen:t=!0,open:e,onOpenChange:a,className:r,style:n,children:o,...i}){const l=Ia(),[d,u]=at.useState(!1),[c,p]=at.useState(t),g=e??c,h=m=>{const y=typeof m=="function"?m(g):m;a?a(y):p(y),document.cookie=`${Da}=${y}; path=/; max-age=${Wa}`},f=()=>l?u(m=>!m):h(m=>!m),v=at.useEffectEvent(()=>{f()});at.useEffect(()=>{const m=y=>{y.key===Qa&&(y.metaKey||y.ctrlKey)&&(y.preventDefault(),v())};return globalThis.addEventListener("keydown",m),()=>globalThis.removeEventListener("keydown",m)},[]);const b={state:g?"expanded":"collapsed",open:g,setOpen:h,isMobile:l,openMobile:d,setOpenMobile:u,toggleSidebar:f};return s(Dt.Provider,{value:b,children:s("div",{"data-slot":"sidebar-wrapper",style:{"--sidebar-width":Fa,"--sidebar-width-icon":Ua,...n},className:A("group/sidebar-wrapper flex min-h-svh w-full has-data-[variant=inset]:bg-sidebar",r),...i,children:o})})}function Xa({side:t="left",variant:e="sidebar",collapsible:a="offcanvas",className:r,children:n,dir:o,...i}){const{isMobile:l,state:d,openMobile:u,setOpenMobile:c}=ut();return a==="none"?s("div",{"data-slot":"sidebar",className:A("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",r),...i,children:n}):l?s(Ka,{open:u,onOpenChange:c,...i,children:x(Ha,{dir:o,"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":ja},side:t,children:[x(Oa,{className:"sr-only",children:[s(qa,{children:"Sidebar"}),s(Ba,{children:"Displays the mobile sidebar."})]}),s("div",{className:"flex h-full w-full flex-col",children:n})]})}):x("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":d,"data-collapsible":d==="collapsed"?a:"","data-variant":e,"data-side":t,"data-slot":"sidebar",children:[s("div",{"data-slot":"sidebar-gap",className:A("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),s("div",{"data-slot":"sidebar-container","data-side":t,className:A("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear data-[side=left]:left-0 data-[side=left]:group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)] data-[side=right]:right-0 data-[side=right]:group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)] md:flex",e==="floating"||e==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-e group-data-[side=right]:border-s",r),...i,children:s("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex size-full flex-col bg-sidebar group-data-[variant=floating]:rounded-none group-data-[variant=floating]:shadow-sm group-data-[variant=floating]:ring-1 group-data-[variant=floating]:ring-sidebar-border",children:n})})]})}function Ya(t){const e=w(15);let a,r,n;e[0]!==t?({className:a,onClick:r,...n}=t,e[0]=t,e[1]=a,e[2]=r,e[3]=n):(a=e[1],r=e[2],n=e[3]);const{toggleSidebar:o}=ut();let i;e[4]!==a?(i=A(a),e[4]=a,e[5]=i):i=e[5];let l;e[6]!==r||e[7]!==o?(l=p=>{r?.(p),o()},e[6]=r,e[7]=o,e[8]=l):l=e[8];let d,u;e[9]===Symbol.for("react.memo_cache_sentinel")?(d=s(Tt,{icon:da,strokeWidth:2,className:"rtl:rotate-180"}),u=s("span",{className:"sr-only",children:"Toggle Sidebar"}),e[9]=d,e[10]=u):(d=e[9],u=e[10]);let c;return e[11]!==n||e[12]!==i||e[13]!==l?(c=x(Rt,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon-sm",className:i,onClick:l,...n,children:[d,u]}),e[11]=n,e[12]=i,e[13]=l,e[14]=c):c=e[14],c}function Ga(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("relative flex w-full flex-1 flex-col bg-background md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ms-0 md:peer-data-[variant=inset]:rounded-none md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ms-2",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("main",{"data-slot":"sidebar-inset",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function er(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("flex flex-col gap-2 p-2",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function tr(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("flex flex-col gap-2 p-2",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function ar(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("flex min-h-0 flex-1 flex-col gap-0 overflow-x-hidden overflow-y-auto [scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_25%,transparent)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-muted-foreground/25 [&::-webkit-scrollbar-track]:bg-transparent [&::-webkit-scrollbar]:w-1.5 hover:[scrollbar-color:color-mix(in_oklch,var(--muted-foreground)_50%,transparent)_transparent] hover:[&::-webkit-scrollbar-thumb]:bg-muted-foreground/50",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function rr(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("relative flex w-full min-w-0 flex-col p-2",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function sr(t){const e=w(10);let a,r,n,o;if(e[0]!==t){const{className:d,render:u,...c}=t;a=u,o=Et,r="div",n=zt({className:A("flex h-8 shrink-0 items-center rounded-none px-2 text-xs text-sidebar-foreground/70 ring-sidebar-ring outline-hidden transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",d)},c),e[0]=t,e[1]=a,e[2]=r,e[3]=n,e[4]=o}else a=e[1],r=e[2],n=e[3],o=e[4];let i;e[5]===Symbol.for("react.memo_cache_sentinel")?(i={slot:"sidebar-group-label",sidebar:"group-label"},e[5]=i):i=e[5];let l;return e[6]!==a||e[7]!==r||e[8]!==n?(l={defaultTagName:r,props:n,render:a,state:i},e[6]=a,e[7]=r,e[8]=n,e[9]=l):l=e[9],o(l)}function nr(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("w-full text-xs",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("div",{"data-slot":"sidebar-group-content","data-sidebar":"group-content",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function Nt(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("flex w-full min-w-0 flex-col gap-0",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}function St(t){const e=w(8);let a,r;e[0]!==t?({className:a,...r}=t,e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]);let n;e[3]!==a?(n=A("group/menu-item relative",a),e[3]=a,e[4]=n):n=e[4];let o;return e[5]!==r||e[6]!==n?(o=s("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:n,...r}),e[5]=r,e[6]=n,e[7]=o):o=e[7],o}const or=ca("peer/menu-button group/menu-button flex w-full items-center gap-2 overflow-hidden rounded-none p-2 text-start text-xs ring-sidebar-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pe-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-open:hover:bg-sidebar-accent data-open:hover:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:font-medium data-active:text-sidebar-accent-foreground [&_svg]:size-4 [&_svg]:shrink-0 [&>span:last-child]:truncate",{variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"},size:{default:"h-8 text-xs",sm:"h-7 text-xs",lg:"h-12 text-xs group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function Wt({render:t,isActive:e=!1,variant:a="default",size:r="default",tooltip:n,className:o,...i}){const{isMobile:l,state:d}=ut(),u=Et({defaultTagName:"button",props:zt({className:A(or({variant:a,size:r}),o)},i),render:n?s(Pa,{render:t}):t,state:{slot:"sidebar-menu-button",sidebar:"menu-button",size:r,active:e}});return n?(typeof n=="string"&&(n={children:n}),x(La,{children:[u,s($a,{side:"right",align:"center",hidden:d!=="collapsed"||l,...n})]})):u}const ir=t=>t.replace("__lunora_admin__:",""),lr=()=>ra(ct.subscribe,ct.getSnapshot,ct.getSnapshot),dr=t=>t==="error"?"destructive":t==="pending"?"secondary":"default",cr=t=>{const e=w(56),{entry:a,focused:r}=t,n=G();let o;e[0]!==r?(o=E=>{E!==null&&r&&E.scrollIntoView({block:"nearest"})},e[0]=r,e[1]=o):o=e[1];const i=o;let l;e[2]!==a.functionPath||e[3]!==a.shardKey||e[4]!==a.summary?(l=()=>{ma(`${a.functionPath} ${a.summary}${a.shardKey===""?"":` (shard ${a.shardKey})`}`)},e[2]=a.functionPath,e[3]=a.shardKey,e[4]=a.summary,e[5]=l):l=e[5];const d=l,u=r&&"bg-accent ring-1 ring-inset ring-primary/40";let c;e[6]!==u?(c=A("border-b border-border/60 last:border-b-0",u),e[6]=u,e[7]=c):c=e[7];let p;e[8]!==a.status?(p=dr(a.status),e[8]=a.status,e[9]=p):p=e[9];const g=a.status==="pending"?"…":a.status;let h;e[10]!==p||e[11]!==g?(h=s(ot,{className:"mt-px shrink-0",variant:p,children:g}),e[10]=p,e[11]=g,e[12]=h):h=e[12];let f;e[13]!==a.functionPath?(f=ir(a.functionPath),e[13]=a.functionPath,e[14]=f):f=e[14];let v;e[15]!==f?(v=s("span",{className:"shrink-0 font-mono text-[11px] text-foreground",children:f}),e[15]=f,e[16]=v):v=e[16];let b;e[17]!==a.kind||e[18]!==n?(b=a.kind==="subscription"&&s(ot,{className:"shrink-0",variant:"outline",children:n("live")}),e[17]=a.kind,e[18]=n,e[19]=b):b=e[19];let m;e[20]!==a.summary?(m=a.summary!==""&&s("span",{className:"min-w-0 truncate text-muted-foreground",children:a.summary}),e[20]=a.summary,e[21]=m):m=e[21];let y;e[22]!==a.shardKey?(y=a.shardKey!==""&&s("span",{className:"font-mono",children:a.shardKey}),e[22]=a.shardKey,e[23]=y):y=e[23];let k;e[24]!==a.resultCount||e[25]!==n?(k=a.resultCount!==void 0&&s("span",{children:n("{count} rows",{count:a.resultCount})}),e[24]=a.resultCount,e[25]=n,e[26]=k):k=e[26];let S;e[27]!==a.pushes||e[28]!==n?(S=a.pushes!==void 0&&a.pushes>0&&s("span",{children:n("{count} pushes",{count:a.pushes})}),e[27]=a.pushes,e[28]=n,e[29]=S):S=e[29];let _;e[30]!==a.durationMs?(_=a.durationMs!==void 0&&x("span",{children:[a.durationMs,"ms"]}),e[30]=a.durationMs,e[31]=_):_=e[31];let L;e[32]!==n?(L=n("Copy"),e[32]=n,e[33]=L):L=e[33];let N;e[34]!==d||e[35]!==L?(N=s("button",{"aria-label":L,className:"rounded px-1 outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-copy",onClick:d,type:"button",children:"⧉"}),e[34]=d,e[35]=L,e[36]=N):N=e[36];let P;e[37]!==y||e[38]!==k||e[39]!==S||e[40]!==_||e[41]!==N?(P=x("span",{className:"ms-auto flex shrink-0 items-center gap-2 text-[11px] text-muted-foreground",children:[y,k,S,_,N]}),e[37]=y,e[38]=k,e[39]=S,e[40]=_,e[41]=N,e[42]=P):P=e[42];let M;e[43]!==b||e[44]!==m||e[45]!==P||e[46]!==h||e[47]!==v?(M=x("div",{className:"flex items-start gap-2 px-3 py-1.5 text-xs",children:[h,v,b,m,P]}),e[43]=b,e[44]=m,e[45]=P,e[46]=h,e[47]=v,e[48]=M):M=e[48];let $;e[49]!==a.error?($=a.error!==void 0&&s("p",{className:"px-3 pb-1.5 font-mono text-[11px] text-destructive","data-testid":"oc-error",children:a.error}),e[49]=a.error,e[50]=$):$=e[50];let T;return e[51]!==i||e[52]!==M||e[53]!==$||e[54]!==c?(T=x("li",{className:c,"data-testid":"oc-row",ref:i,children:[M,$]}),e[51]=i,e[52]=M,e[53]=$,e[54]=c,e[55]=T):T=e[55],T},ur=t=>{const e=w(62),{focusSeq:a,onClose:r,onShownChange:n,shown:o}=t,i=G(),l=lr(),[d,u]=nt("");let c;if(e[0]!==l||e[1]!==a||e[2]!==d||e[3]!==r||e[4]!==n||e[5]!==o||e[6]!==i){const p=d.trim().toLowerCase(),g=l.filter(z=>(o==="errors"?z.status==="error":!0)&&(p===""||`${z.functionPath} ${z.summary} ${z.shardKey}`.toLowerCase().includes(p))).toReversed();let h;e[8]!==l?(h=l.filter(hr),e[8]=l,e[9]=h):h=e[9];const f=h.length;let v;e[10]!==i?(v=i("Operation console"),e[10]=i,e[11]=v):v=e[11];let b;e[12]!==i?(b=i("Operation console"),e[12]=i,e[13]=b):b=e[13];let m;e[14]!==b?(m=s("span",{className:"text-xs font-medium",children:b}),e[14]=b,e[15]=m):m=e[15];let y;e[16]!==l.length||e[17]!==i?(y=i("{count} calls",{count:l.length}),e[16]=l.length,e[17]=i,e[18]=y):y=e[18];let k;e[19]!==y?(k=s(ot,{variant:"secondary",children:y}),e[19]=y,e[20]=k):k=e[20];let S;e[21]!==f||e[22]!==i?(S=f>0&&s(ot,{variant:"destructive",children:i("{count} failed",{count:f})}),e[21]=f,e[22]=i,e[23]=S):S=e[23];const _=o==="errors",L=o==="errors"&&"bg-accent";let N;e[24]!==L?(N=A("rounded px-2 py-0.5 text-xs outline-none hover:bg-accent focus-visible:bg-accent",L),e[24]=L,e[25]=N):N=e[25];let P;e[26]!==n||e[27]!==o?(P=()=>{n(o==="errors"?"all":"errors")},e[26]=n,e[27]=o,e[28]=P):P=e[28];let M;e[29]!==i?(M=i("Errors"),e[29]=i,e[30]=M):M=e[30];let $;e[31]!==N||e[32]!==P||e[33]!==M||e[34]!==_?($=s("button",{"aria-pressed":_,className:N,"data-testid":"oc-filter-errors",onClick:P,type:"button",children:M}),e[31]=N,e[32]=P,e[33]=M,e[34]=_,e[35]=$):$=e[35];let T;e[36]!==i?(T=i("Filter"),e[36]=i,e[37]=T):T=e[37];let E;e[38]===Symbol.for("react.memo_cache_sentinel")?(E=z=>{u(z.target.value)},e[38]=E):E=e[38];let K;e[39]!==i?(K=i("Filter"),e[39]=i,e[40]=K):K=e[40];let V;e[41]!==d||e[42]!==T||e[43]!==K?(V=s(At,{"aria-label":T,className:"h-7 w-40 text-xs","data-testid":"oc-search",onChange:E,placeholder:K,value:d}),e[41]=d,e[42]=T,e[43]=K,e[44]=V):V=e[44];let R;e[45]!==i?(R=i("Clear"),e[45]=i,e[46]=R):R=e[46];let I;e[47]!==R?(I=s("button",{className:"ms-auto rounded px-2 py-0.5 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-clear",onClick:mr,type:"button",children:R}),e[47]=R,e[48]=I):I=e[48];let Z;e[49]!==i?(Z=i("Hide"),e[49]=i,e[50]=Z):Z=e[50];let H;e[51]!==r||e[52]!==Z?(H=s("button",{"aria-label":Z,className:"rounded px-2 py-0.5 text-xs text-muted-foreground outline-none hover:bg-accent focus-visible:bg-accent","data-testid":"oc-close",onClick:r,type:"button",children:"✕"}),e[51]=r,e[52]=Z,e[53]=H):H=e[53];let O;e[54]!==$||e[55]!==V||e[56]!==I||e[57]!==H||e[58]!==m||e[59]!==k||e[60]!==S?(O=x("div",{className:"flex shrink-0 items-center gap-2 border-b border-border px-3 py-1.5",children:[m,k,S,$,V,I,H]}),e[54]=$,e[55]=V,e[56]=I,e[57]=H,e[58]=m,e[59]=k,e[60]=S,e[61]=O):O=e[61],c=x("section",{"aria-label":v,className:"flex max-h-80 flex-col border-t border-border bg-card","data-testid":"lunora-operation-console",children:[O,g.length===0?s("p",{className:"p-3 text-xs text-muted-foreground","data-testid":"oc-empty",children:i("Every admin call this studio makes is recorded here.")}):s("ul",{className:"min-h-0 flex-1 overflow-y-auto","data-testid":"oc-rows",children:g.map(z=>s(cr,{entry:z,focused:z.seq===a},z.seq))})]}),e[0]=l,e[1]=a,e[2]=d,e[3]=r,e[4]=n,e[5]=o,e[6]=i,e[7]=c}else c=e[7];return c};function hr(t){return t.status==="error"}function mr(){ct.clear()}const pr=()=>{const t=w(298),e=G();let a;t[0]!==e?(a=e("Agents"),t[0]=e,t[1]=a):a=t[1];let r;t[2]!==e?(r=e("Analytics"),t[2]=e,t[3]=r):r=t[3];let n;t[4]!==e?(n=e("API"),t[4]=e,t[5]=n):n=t[5];let o;t[6]!==e?(o=e("Audit"),t[6]=e,t[7]=o):o=t[7];let i;t[8]!==e?(i=e("Auth audit"),t[8]=e,t[9]=i):i=t[9];let l;t[10]!==e?(l=e("Configuration"),t[10]=e,t[11]=l):l=t[11];let d;t[12]!==e?(d=e("Sessions"),t[12]=e,t[13]=d):d=t[13];let u;t[14]!==e?(u=e("Containers"),t[14]=e,t[15]=u):u=t[15];let c;t[16]!==e?(c=e("Dashboards"),t[16]=e,t[17]=c):c=t[17];let p;t[18]!==e?(p=e("Data"),t[18]=e,t[19]=p):p=t[19];let g;t[20]!==e?(g=e("Deployment health"),t[20]=e,t[21]=g):g=t[21];let h;t[22]!==e?(h=e("Log drains"),t[22]=e,t[23]=h):h=t[23];let f;t[24]!==e?(f=e("Export / Import"),t[24]=e,t[25]=f):f=t[25];let v;t[26]!==e?(v=e("Fan-out"),t[26]=e,t[27]=v):v=t[27];let b;t[28]!==e?(b=e("Files"),t[28]=e,t[29]=b):b=t[29];let m;t[30]!==e?(m=e("Flags"),t[30]=e,t[31]=m):m=t[31];let y;t[32]!==e?(y=e("Functions"),t[32]=e,t[33]=y):y=t[33];let k;t[34]!==e?(k=e("Health"),t[34]=e,t[35]=k):k=t[35];let S;t[36]!==e?(S=e("Home"),t[36]=e,t[37]=S):S=t[37];let _;t[38]!==e?(_=e("Performance"),t[38]=e,t[39]=_):_=t[39];let L;t[40]!==e?(L=e("Issues"),t[40]=e,t[41]=L):L=t[41];let N;t[42]!==e?(N=e("KV"),t[42]=e,t[43]=N):N=t[43];let P;t[44]!==e?(P=e("Logs"),t[44]=e,t[45]=P):P=t[45];let M;t[46]!==e?(M=e("Metrics"),t[46]=e,t[47]=M):M=t[47];let $;t[48]!==e?($=e("Migrations"),t[48]=e,t[49]=$):$=t[49];let T;t[50]!==e?(T=e("Notifications"),t[50]=e,t[51]=T):T=t[51];let E;t[52]!==e?(E=e("Organizations"),t[52]=e,t[53]=E):E=t[53];let K;t[54]!==e?(K=e("Time Travel"),t[54]=e,t[55]=K):K=t[55];let V;t[56]!==e?(V=e("Mail"),t[56]=e,t[57]=V):V=t[57];let R;t[58]!==e?(R=e("Payments"),t[58]=e,t[59]=R):R=t[59];let I;t[60]!==e?(I=e("Permissions"),t[60]=e,t[61]=I):I=t[61];let Z;t[62]!==e?(Z=e("Queues"),t[62]=e,t[63]=Z):Z=t[63];let H;t[64]!==e?(H=e("Realtime"),t[64]=e,t[65]=H):H=t[65];let O;t[66]!==e?(O=e("RLS Policies"),t[66]=e,t[67]=O):O=t[67];let z;t[68]!==e?(z=e("Scheduled"),t[68]=e,t[69]=z):z=t[69];let Y;t[70]!==e?(Y=e("Schema"),t[70]=e,t[71]=Y):Y=t[71];let B;t[72]!==e?(B=e("Security"),t[72]=e,t[73]=B):B=t[73];let Q;t[74]!==e?(Q=e("Settings"),t[74]=e,t[75]=Q):Q=t[75];let D;t[76]!==e?(D=e("SQL editor"),t[76]=e,t[77]=D):D=t[77];let W;t[78]!==e?(W=e("Traces"),t[78]=e,t[79]=W):W=t[79];let F;t[80]!==e?(F=e("Access Rules"),t[80]=e,t[81]=F):F=t[81];let j;t[82]!==e?(j=e("Users"),t[82]=e,t[83]=j):j=t[83];let U;t[84]!==e?(U=e("Vectors"),t[84]=e,t[85]=U):U=t[85];let J;t[86]!==e?(J=e("Workflows"),t[86]=e,t[87]=J):J=t[87];let q;t[88]!==a||t[89]!==r||t[90]!==g||t[91]!==h||t[92]!==f||t[93]!==v||t[94]!==b||t[95]!==m||t[96]!==y||t[97]!==k||t[98]!==S||t[99]!==_||t[100]!==n||t[101]!==L||t[102]!==N||t[103]!==P||t[104]!==M||t[105]!==$||t[106]!==T||t[107]!==E||t[108]!==K||t[109]!==V||t[110]!==R||t[111]!==o||t[112]!==I||t[113]!==Z||t[114]!==H||t[115]!==O||t[116]!==z||t[117]!==Y||t[118]!==B||t[119]!==Q||t[120]!==D||t[121]!==W||t[122]!==i||t[123]!==F||t[124]!==j||t[125]!==U||t[126]!==J||t[127]!==l||t[128]!==d||t[129]!==u||t[130]!==c||t[131]!==p?(q={agents:a,analytics:r,api:n,audit:o,authAudit:i,authConfig:l,authSessions:d,containers:u,dashboards:c,data:p,deploymentHealth:g,drains:h,export:f,fanout:v,files:b,flags:m,functions:y,health:k,home:S,insights:_,issues:L,kv:N,logs:P,metrics:M,migrations:$,notifications:T,organizations:E,pitr:K,mail:V,payments:R,permissions:I,queues:Z,realtime:H,rls:O,schedule:z,schema:Y,security:B,settings:Q,sql:D,traces:W,storageRules:F,users:j,vectors:U,workflows:J},t[88]=a,t[89]=r,t[90]=g,t[91]=h,t[92]=f,t[93]=v,t[94]=b,t[95]=m,t[96]=y,t[97]=k,t[98]=S,t[99]=_,t[100]=n,t[101]=L,t[102]=N,t[103]=P,t[104]=M,t[105]=$,t[106]=T,t[107]=E,t[108]=K,t[109]=V,t[110]=R,t[111]=o,t[112]=I,t[113]=Z,t[114]=H,t[115]=O,t[116]=z,t[117]=Y,t[118]=B,t[119]=Q,t[120]=D,t[121]=W,t[122]=i,t[123]=F,t[124]=j,t[125]=U,t[126]=J,t[127]=l,t[128]=d,t[129]=u,t[130]=c,t[131]=p,t[132]=q):q=t[132];const ee=q;let re;t[133]!==e?(re=e("Advisors"),t[133]=e,t[134]=re):re=t[134];let se;t[135]!==e?(se=e("Auth"),t[135]=e,t[136]=se):se=t[136];let ne;t[137]!==e?(ne=e("Database"),t[137]=e,t[138]=ne):ne=t[138];let oe;t[139]!==e?(oe=e("Functions"),t[139]=e,t[140]=oe):oe=t[140];let ie;t[141]!==e?(ie=e("Observability"),t[141]=e,t[142]=ie):ie=t[142];let le;t[143]!==e?(le=e("Operations"),t[143]=e,t[144]=le):le=t[144];let de;t[145]!==e?(de=e("Overview"),t[145]=e,t[146]=de):de=t[146];let ce;t[147]!==e?(ce=e("Settings"),t[147]=e,t[148]=ce):ce=t[148];let ue;t[149]!==e?(ue=e("Storage"),t[149]=e,t[150]=ue):ue=t[150];let it;t[151]!==re||t[152]!==se||t[153]!==ne||t[154]!==oe||t[155]!==ie||t[156]!==le||t[157]!==de||t[158]!==ce||t[159]!==ue?(it={advisors:re,auth:se,database:ne,functions:oe,observability:ie,operations:le,overview:de,settings:ce,storage:ue},t[151]=re,t[152]=se,t[153]=ne,t[154]=oe,t[155]=ie,t[156]=le,t[157]=de,t[158]=ce,t[159]=ue,t[160]=it):it=t[160];const ht=it;let he;t[161]!==e?(he=e("Inspect agent threads, message timelines, tool calls, and token usage."),t[161]=e,t[162]=he):he=t[162];let me;t[163]!==e?(me=e("Usage and latency from Analytics Engine — request volume, p50/p95, and hot shards."),t[163]=e,t[164]=me):me=t[164];let pe;t[165]!==e?(pe=e("Interactive OpenAPI reference and copy-paste snippets for your functions."),t[165]=e,t[166]=pe):pe=t[166];let fe;t[167]!==e?(fe=e("A durable log of admin state-changing operations."),t[167]=e,t[168]=fe):fe=t[168];let ge;t[169]!==e?(ge=e("Authentication and security events — sign-ins, MFA, and session changes."),t[169]=e,t[170]=ge):ge=t[170];let be;t[171]!==e?(be=e("Enabled plugins and session config (read-only)."),t[171]=e,t[172]=be):be=t[172];let ve;t[173]!==e?(ve=e("Browse and revoke active sessions across all users."),t[173]=e,t[174]=ve):ve=t[174];let ye;t[175]!==e?(ye=e("Live Cloudflare Containers — current lifecycle state per instance from the log stream."),t[175]=e,t[176]=ye):ye=t[176];let xe;t[177]!==e?(xe=e("Chart widgets backed by saved read-only SQL queries."),t[177]=e,t[178]=xe):xe=t[178];let ke;t[179]!==e?(ke=e("Browse and edit rows across your shard and global tables."),t[179]=e,t[180]=ke):ke=t[180];let we;t[181]!==e?(we=e("Live liveness, readiness, and per-binding health from the deployment's /_lunora/health endpoint."),t[181]=e,t[182]=we):we=t[182];let Ne;t[183]!==e?(Ne=e("Forward logs to Logpush, Tail Workers, or a webhook collector."),t[183]=e,t[184]=Ne):Ne=t[184];let Se;t[185]!==e?(Se=e("Export a shard to NDJSON, or import rows from it."),t[185]=e,t[186]=Se):Se=t[186];let Me;t[187]!==e?(Me=e("Realtime fan-out cost and per-topic subscriber counts for this shard."),t[187]=e,t[188]=Me):Me=t[188];let Ce;t[189]!==e?(Ce=e("Browse objects in your R2 storage buckets."),t[189]=e,t[190]=Ce):Ce=t[190];let _e;t[191]!==e?(_e=e("Inspect feature flags and their live evaluation under a targeting context."),t[191]=e,t[192]=_e):_e=t[192];let Le;t[193]!==e?(Le=e("Run registered queries, mutations, and actions."),t[193]=e,t[194]=Le):Le=t[194];let Pe;t[195]!==e?(Pe=e("At-a-glance connection, error, and shard signals."),t[195]=e,t[196]=Pe):Pe=t[196];let $e;t[197]!==e?($e=e("Connection, health, and advisor summary for your deployment."),t[197]=e,t[198]=$e):$e=t[198];let Ae;t[199]!==e?(Ae=e("Surface slow functions, error spikes, and cache problems."),t[199]=e,t[200]=Ae):Ae=t[200];let Te;t[201]!==e?(Te=e("Grouped error triage — Worker throws and container crashes folded by fingerprint."),t[201]=e,t[202]=Te):Te=t[202];let ze;t[203]!==e?(ze=e("A live stream of recent function logs."),t[203]=e,t[204]=ze):ze=t[204];let Ee;t[205]!==e?(Ee=e("Per-shard health and aggregate metrics."),t[205]=e,t[206]=Ee):Ee=t[206];let Re;t[207]!==e?(Re=e("Review migration status and run them."),t[207]=e,t[208]=Re):Re=t[208];let Ie;t[209]!==e?(Ie=e("Registered push devices — endpoint, kind, last-send status, and delivery errors."),t[209]=e,t[210]=Ie):Ie=t[210];let Ke;t[211]!==e?(Ke=e("Browse and manage organizations, members, and invitations."),t[211]=e,t[212]=Ke):Ke=t[212];let Ve;t[213]!==e?(Ve=e("Restore a shard to a point in the last 30 days."),t[213]=e,t[214]=Ve):Ve=t[214];let Ze;t[215]!==e?(Ze=e("Email your app sent, captured in dev."),t[215]=e,t[216]=Ze):Ze=t[216];let He;t[217]!==e?(He=e("Synced customers, subscriptions, and webhook events."),t[217]=e,t[218]=He):He=t[218];let Oe;t[219]!==e?(Oe=e("Inspect access policies per table, and probe a function as any identity."),t[219]=e,t[220]=Oe):Oe=t[220];let qe;t[221]!==e?(qe=e("Inspect declared Cloudflare Queues — their producer bindings, consumer mode, and dead-letter queue."),t[221]=e,t[222]=qe):qe=t[222];let Be;t[223]!==e?(Be=e("Active WebSocket subscriptions on this shard."),t[223]=e,t[224]=Be):Be=t[224];let De;t[225]!==e?(De=e("Inspect row-level-security policies and roles, per table."),t[225]=e,t[226]=De):De=t[226];let We;t[227]!==e?(We=e("Inspect and cancel scheduled jobs."),t[227]=e,t[228]=We):We=t[228];let Fe;t[229]!==e?(Fe=e("Inspect each table and its columns."),t[229]=e,t[230]=Fe):Fe=t[230];let je;t[231]!==e?(je=e("Review admin gates, credentials, and log redaction."),t[231]=e,t[232]=je):je=t[232];let Ue;t[233]!==e?(Ue=e("Read-only deployment config — vars, secrets, and bindings."),t[233]=e,t[234]=Ue):Ue=t[234];let Qe;t[235]!==e?(Qe=e("Run read-only SQL against a shard."),t[235]=e,t[236]=Qe):Qe=t[236];let Je;t[237]!==e?(Je=e("Browse and edit key-value pairs in your Workers KV namespaces."),t[237]=e,t[238]=Je):Je=t[238];let Xe;t[239]!==e?(Xe=e("Inspect storage access rules — per bucket, operation, and key prefix."),t[239]=e,t[240]=Xe):Xe=t[240];let Ye;t[241]!==e?(Ye=e("Recent ctx.trace waterfalls for this shard — the drill-down from a log line."),t[241]=e,t[242]=Ye):Ye=t[242];let Ge;t[243]!==e?(Ge=e("Manage auth users — roles, bans, sessions, and identity."),t[243]=e,t[244]=Ge):Ge=t[244];let et;t[245]!==e?(et=e("Browse Vectorize indexes and run similarity searches."),t[245]=e,t[246]=et):et=t[246];let tt;t[247]!==e?(tt=e("Inspect declared Cloudflare Workflows and their bindings."),t[247]=e,t[248]=tt):tt=t[248];let lt;t[249]!==he||t[250]!==me||t[251]!==pe||t[252]!==fe||t[253]!==ge||t[254]!==be||t[255]!==ve||t[256]!==ye||t[257]!==xe||t[258]!==ke||t[259]!==we||t[260]!==Ne||t[261]!==Se||t[262]!==Me||t[263]!==Ce||t[264]!==_e||t[265]!==Le||t[266]!==Pe||t[267]!==$e||t[268]!==Ae||t[269]!==Te||t[270]!==ze||t[271]!==Ee||t[272]!==Re||t[273]!==Ie||t[274]!==Ke||t[275]!==Ve||t[276]!==Ze||t[277]!==He||t[278]!==Oe||t[279]!==qe||t[280]!==Be||t[281]!==De||t[282]!==We||t[283]!==Fe||t[284]!==je||t[285]!==Ue||t[286]!==Qe||t[287]!==Je||t[288]!==Xe||t[289]!==Ye||t[290]!==Ge||t[291]!==et||t[292]!==tt?(lt={agents:he,analytics:me,api:pe,audit:fe,authAudit:ge,authConfig:be,authSessions:ve,containers:ye,dashboards:xe,data:ke,deploymentHealth:we,drains:Ne,export:Se,fanout:Me,files:Ce,flags:_e,functions:Le,health:Pe,home:$e,insights:Ae,issues:Te,logs:ze,metrics:Ee,migrations:Re,notifications:Ie,organizations:Ke,pitr:Ve,mail:Ze,payments:He,permissions:Oe,queues:qe,realtime:Be,rls:De,schedule:We,schema:Fe,security:je,settings:Ue,sql:Qe,kv:Je,storageRules:Xe,traces:Ye,users:Ge,vectors:et,workflows:tt},t[249]=he,t[250]=me,t[251]=pe,t[252]=fe,t[253]=ge,t[254]=be,t[255]=ve,t[256]=ye,t[257]=xe,t[258]=ke,t[259]=we,t[260]=Ne,t[261]=Se,t[262]=Me,t[263]=Ce,t[264]=_e,t[265]=Le,t[266]=Pe,t[267]=$e,t[268]=Ae,t[269]=Te,t[270]=ze,t[271]=Ee,t[272]=Re,t[273]=Ie,t[274]=Ke,t[275]=Ve,t[276]=Ze,t[277]=He,t[278]=Oe,t[279]=qe,t[280]=Be,t[281]=De,t[282]=We,t[283]=Fe,t[284]=je,t[285]=Ue,t[286]=Qe,t[287]=Je,t[288]=Xe,t[289]=Ye,t[290]=Ge,t[291]=et,t[292]=tt,t[293]=lt):lt=t[293];const mt=lt;let dt;return t[294]!==ht||t[295]!==mt||t[296]!==ee?(dt={groupLabel:ht,tabDescription:mt,tabLabel:ee},t[294]=ht,t[295]=mt,t[296]=ee,t[297]=dt):dt=t[297],dt},fr=()=>{const t=w(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=x("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[s("rect",{height:"14",rx:"2",width:"20",x:"2",y:"3"}),s("path",{d:"M8 21h8M12 17v4"})]}),t[0]=e):e=t[0],e},gr=()=>{const t=w(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=x("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:[s("circle",{cx:"12",cy:"12",r:"4"}),s("path",{d:"M12 2v2m0 16v2M4.9 4.9l1.4 1.4m11.4 11.4 1.4 1.4M2 12h2m16 0h2M4.9 19.1l1.4-1.4M17.7 6.3l1.4-1.4"})]}),t[0]=e):e=t[0],e},br=()=>{const t=w(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.8,viewBox:"0 0 24 24",children:s("path",{d:"M21 12.8A9 9 0 1 1 11.2 3a7 7 0 0 0 9.8 9.8Z"})}),t[0]=e):e=t[0],e},vr=[{Icon:fr,value:"system"},{Icon:gr,value:"light"},{Icon:br,value:"dark"}],yr=()=>{const t=w(19),{theme:e,setTheme:a}=_a(),r=G();let n;t[0]!==r?(n=r("Dark theme"),t[0]=r,t[1]=n):n=t[1];let o;t[2]!==r?(o=r("Light theme"),t[2]=r,t[3]=o):o=t[3];let i;t[4]!==r?(i=r("System theme"),t[4]=r,t[5]=i):i=t[5];let l;t[6]!==n||t[7]!==o||t[8]!==i?(l={dark:n,light:o,system:i},t[6]=n,t[7]=o,t[8]=i,t[9]=l):l=t[9];const d=l;let u;t[10]!==r?(u=r("Theme"),t[10]=r,t[11]=u):u=t[11];let c;t[12]!==d||t[13]!==a||t[14]!==e?(c=vr.map(g=>{const{Icon:h,value:f}=g,v=e===f;return x("button",{"aria-checked":v,"aria-label":d[f],className:A("relative flex size-7 cursor-pointer items-center justify-center rounded-md outline-none transition-colors focus-visible:bg-accent",v?"text-foreground":"text-muted-foreground hover:text-foreground"),"data-testid":`dash-app-theme-${f}`,onClick:()=>{a(f)},role:"radio",title:d[f],type:"button",children:[v&&s(ya.span,{className:"absolute inset-0 rounded-md border border-muted-foreground/40 bg-background/40",layoutId:"studio-theme-active",transition:{bounce:.1,duration:.45,type:"spring"}}),s("span",{className:"relative",children:s(h,{})})]},f)}),t[12]=d,t[13]=a,t[14]=e,t[15]=c):c=t[15];let p;return t[16]!==u||t[17]!==c?(p=s("div",{"aria-label":u,className:"inline-flex items-center gap-0.5 overflow-hidden rounded-md border border-border bg-muted/60 p-0.5","data-testid":"dash-app-theme",role:"radiogroup",children:c}),t[16]=u,t[17]=c,t[18]=p):p=t[18],p},xr=t=>{const e=w(23),{domain:a,onOpenCommandPalette:r,page:n}=t,o=G();let i;e[0]===Symbol.for("react.memo_cache_sentinel")?(i=s(Ya,{className:"-ms-1"}),e[0]=i):i=e[0];let l;e[1]!==o?(l=o("Breadcrumb"),e[1]=o,e[2]=l):l=e[2];let d;e[3]!==a?(d=s("span",{className:"text-muted-foreground",children:a}),e[3]=a,e[4]=d):d=e[4];let u;e[5]===Symbol.for("react.memo_cache_sentinel")?(u=s("svg",{"aria-hidden":"true",className:"size-3.5 text-muted-foreground/60",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:s("path",{d:"m9 6 6 6-6 6",strokeLinecap:"round",strokeLinejoin:"round"})}),e[5]=u):u=e[5];let c;e[6]!==n?(c=s("span",{className:"font-medium text-foreground",children:n}),e[6]=n,e[7]=c):c=e[7];let p;e[8]!==l||e[9]!==d||e[10]!==c?(p=x("nav",{"aria-label":l,className:"flex items-center gap-1.5 text-[13px]",children:[d,u,c]}),e[8]=l,e[9]=d,e[10]=c,e[11]=p):p=e[11];let g;e[12]===Symbol.for("react.memo_cache_sentinel")?(g=x("svg",{"aria-hidden":"true",className:"size-3.5",fill:"none",stroke:"currentColor",strokeWidth:1.8,viewBox:"0 0 24 24",children:[s("circle",{cx:"11",cy:"11",r:"7"}),s("path",{d:"m21 21-4.3-4.3",strokeLinecap:"round"})]}),e[12]=g):g=e[12];let h;e[13]!==o?(h=o("Search…"),e[13]=o,e[14]=h):h=e[14];let f;e[15]===Symbol.for("react.memo_cache_sentinel")?(f=s("kbd",{className:"ms-auto rounded border border-border bg-background px-1 font-sans text-[10px] text-muted-foreground",children:"⌘K"}),e[15]=f):f=e[15];let v;e[16]!==r||e[17]!==h?(v=x("button",{className:"mx-auto hidden h-8 w-72 items-center gap-2 rounded-lg border border-border bg-muted/40 px-3 text-xs text-muted-foreground transition-colors hover:bg-muted md:flex","data-testid":"dash-app-search",onClick:r,type:"button",children:[g,h,f]}),e[16]=r,e[17]=h,e[18]=v):v=e[18];let b;e[19]===Symbol.for("react.memo_cache_sentinel")?(b=s("div",{className:"ms-auto flex items-center gap-1.5 md:ms-0",children:s(yr,{})}),e[19]=b):b=e[19];let m;return e[20]!==v||e[21]!==p?(m=x("header",{className:"flex h-11 shrink-0 items-center gap-2 border-b border-border px-4","data-testid":"dash-app-header",children:[i,p,v,b]}),e[20]=v,e[21]=p,e[22]=m):m=e[22],m},kr=t=>{const e=w(3);let a,r;e[0]!==t?(a=()=>{if(t===void 0)return;const n=o=>{if(!o.ctrlKey||o.metaKey||o.altKey||o.shiftKey||o.repeat||o.key!=="`")return;const{target:i}=o;i instanceof HTMLElement&&(i.isContentEditable||["INPUT","SELECT","TEXTAREA"].includes(i.tagName))||(o.preventDefault(),t())};return globalThis.addEventListener("keydown",n),()=>{globalThis.removeEventListener("keydown",n)}},r=[t],e[0]=t,e[1]=a,e[2]=r):(a=e[1],r=e[2]),rt(a,r)},C=(t,e)=>X(()=>t().then(a=>({default:a[e]}))),wr=C(()=>import("../packem_chunks/InsightsPanel.js"),"InsightsPanel"),Nr=X(()=>import("../packem_chunks/rls-panel.js")),Sr=X(()=>import("../packem_chunks/SecurityAdvisorPanel.js")),Mr=C(()=>import("../packem_chunks/agents-panel.js"),"AgentsPanel"),Cr=C(()=>import("../packem_chunks/analytics-panel.js"),"AnalyticsPanel"),_r=X(()=>import("../packem_chunks/ApiTab.js")),Lr=C(()=>import("../packem_chunks/auth-audit-panel.js"),"AuthAuditPanel"),Pr=C(()=>import("../packem_chunks/auth-config-panel.js"),"AuthConfigPanel"),$r=C(()=>import("../packem_chunks/auth-sessions-panel.js"),"AuthSessionsPanel"),Ar=C(()=>import("../packem_chunks/organizations-panel.js"),"OrganizationsPanel"),Tr=C(()=>import("../packem_chunks/users-panel.js"),"UsersPanel"),zr=C(()=>import("../packem_chunks/containers-panel.js"),"ContainersPanel"),Er=C(()=>import("../packem_chunks/DeploymentHealthPanel.js"),"DeploymentHealthPanel"),Rr=C(()=>import("../packem_chunks/TableEditor.js"),"TableEditor"),Ir=C(()=>import("../packem_chunks/ExportImportPanel.js"),"ExportImportPanel"),Kr=C(()=>import("../packem_chunks/migrations-route.js"),"MigrationsRoutePanel"),Vr={data:ga,migrations:fa},Zr=C(()=>import("../packem_chunks/PitrPanel.js"),"PitrPanel"),Hr=C(()=>import("../packem_chunks/flags-panel.js"),"FlagsPanel"),Or=C(()=>import("../packem_chunks/FunctionRunner.js"),"FunctionRunner"),qr=C(()=>import("../packem_chunks/FunctionStatsPanel.js"),"FunctionStatsPanel"),Br=C(()=>import("../packem_chunks/issues-panel.js"),"IssuesPanel"),Dr=C(()=>import("../packem_chunks/AuditPanel.js"),"AuditPanel"),Wr=C(()=>import("../packem_chunks/log-drains-panel.js"),"LogDrainsPanel"),Fr=X(()=>import("../packem_chunks/LogsPanel.js").then(t=>({default:t.LogsPanel}))),jr=C(()=>import("../packem_chunks/MailPanel.js"),"MailPanel"),Ur=C(()=>import("../packem_chunks/schedule-panel.js"),"SchedulePanel"),Qr=X(()=>import("../packem_chunks/subscriptions-panel.js")),Jr=X(()=>import("../packem_chunks/sync-client-panel.js")),Xr=C(()=>import("../packem_chunks/kv-browser.js"),"KvBrowser"),Yr=C(()=>import("../packem_chunks/NotificationsPanel.js"),"NotificationsPanel"),Gr=C(()=>import("../packem_chunks/payments-panel.js"),"PaymentsPanel"),es=C(()=>import("../packem_chunks/permissions-panel.js"),"PermissionsPanel"),ts=X(()=>import("../packem_chunks/queues-panel.js")),as=X(()=>import("../packem_chunks/dashboards-panel.js")),rs=X(()=>import("../packem_chunks/fanout-panel.js")),ss=C(()=>import("../packem_chunks/HealthPanel.js"),"HealthPanel"),ns=C(()=>import("../packem_chunks/MetricsPanel.js"),"MetricsPanel"),os=C(()=>import("../packem_chunks/SchemaViewer.js"),"SchemaViewer"),is=C(()=>import("../packem_chunks/SettingsPanel.js"),"SettingsPanel"),ls=C(()=>import("../packem_chunks/SqlEditorPanel.js"),"SqlEditorPanel"),ds=C(()=>import("../packem_chunks/FileBrowser.js"),"FileBrowser"),cs=C(()=>import("../packem_chunks/storage-rules-panel.js"),"StorageRulesPanel"),us=C(()=>import("../packem_chunks/traces-panel.js"),"TracesPanel"),hs=C(()=>import("../packem_chunks/vector-browser.js"),"VectorBrowser"),ms=X(()=>import("../packem_chunks/workflows-panel.js")),Ft=Lt(null),ps={analytics:s("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),api:s("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4M13 5l-2 14"}),audit:s("path",{d:"M7 4h7l4 4v11a1 1 0 0 1-1 1H7a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1Zm6 0v5h5M9 13h6M9 16h6M9 10h2"}),authAudit:s("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8h6m-6 3h6"}),authConfig:s("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6h-3.6l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"}),agents:s("path",{d:"M12 8V5m0 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM6 8h12a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-6a2 2 0 0 1 2-2Zm3 5h.01M15 13h.01M9 21h6"}),authSessions:s("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),containers:s("path",{d:"M3 7.5 12 3l9 4.5v9L12 21l-9-4.5v-9Zm0 0 9 4.5m0 0 9-4.5m-9 4.5V21"}),dashboards:s("path",{d:"M4 5h7v6H4V5Zm9 0h7v4h-7V5ZM4 14h7v5H4v-5Zm9-1h7v6h-7v-6Z"}),deploymentHealth:s("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2 3 4-5"}),drains:s("path",{d:"M5 5h14M7 5v6a5 5 0 0 0 10 0V5M10 16h4v3h-4zM12 19v2"}),data:s("path",{d:"M5 6c0-1.4 3.1-2.5 7-2.5s7 1.1 7 2.5-3.1 2.5-7 2.5S5 7.4 5 6Zm0 0v12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5V6M5 12c0 1.4 3.1 2.5 7 2.5s7-1.1 7-2.5"}),export:s("path",{d:"M12 3v11m0 0 4-4m-4 4-4-4M4 17v2a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2"}),fanout:s("path",{d:"M12 5a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm-7 16a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm14 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM12 7v3.5M12 10.5 6 17m6-6.5 6 6.5"}),files:s("path",{d:"M4 7a2 2 0 0 1 2-2h3l2 2.5h7a2 2 0 0 1 2 2V18a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V7Z"}),flags:s("path",{d:"M6 21V4m0 0h11l-2 3 2 3H6"}),functions:s("path",{d:"m9 8-4 4 4 4m6-8 4 4-4 4"}),health:s("path",{d:"M3 12h4l2 6 4-14 2 8h6"}),home:s("path",{d:"M3 11.5 12 4l9 7.5M5 10v9a1 1 0 0 0 1 1h4v-6h4v6h4a1 1 0 0 0 1-1v-9"}),insights:s("path",{d:"M12 3a6 6 0 0 0-3.6 10.8c.5.4.8.9.9 1.5l.2 1.2h5l.2-1.2c.1-.6.4-1.1.9-1.5A6 6 0 0 0 12 3ZM9.5 20.5h5M10 18h4"}),issues:s("path",{d:"M10.3 4.3 2.5 18a2 2 0 0 0 1.7 3h15.6a2 2 0 0 0 1.7-3L13.7 4.3a2 2 0 0 0-3.4 0ZM12 9v4m0 3v.01"}),kv:s("path",{d:"M5 5h14v4H5V5Zm0 5h14v4H5v-4Zm0 5h14v4H5v-4Z"}),logs:s("path",{d:"M5 6h14M5 10h14M5 14h9M5 18h11"}),mail:s("path",{d:"M4 5h16v14H4V5Zm0 1.5 8 6 8-6"}),payments:s("path",{d:"M3 7h18v10H3V7Zm0 3h18M7 14h4"}),metrics:s("path",{d:"M5 20V10m6.5 10V4M18 20v-7M3 20h18"}),migrations:s("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"}),notifications:s("path",{d:"M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 0 0-4-5.7V5a2 2 0 1 0-4 0v.3A6 6 0 0 0 6 11v3.2a2 2 0 0 1-.6 1.4L4 17h5m6 0v1a3 3 0 1 1-6 0v-1m6 0H9"}),organizations:s("path",{d:"M3 21V8l6-4 6 4v13M9 21v-5h2v5M15 11h6v10M18 14v.01M18 17v.01M6 9v.01M6 12v.01M6 15v.01"}),permissions:s("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-3 8 2.2 2.2L15 9.5M8.5 16h7"}),pitr:s("path",{d:"M12 21a9 9 0 1 0-9-9M12 7.5V12l3 2M3 12l-2-2m2 2 2-2"}),queues:s("path",{d:"M4 6h16M4 10h16M4 14h10M4 18h10m4-2 3 2-3 2v-4Z"}),realtime:s("path",{d:"M5 12a7 7 0 0 1 14 0M8 12a4 4 0 0 1 8 0M12 12v8m0-8a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"}),rls:s("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3ZM8.5 10h7M8.5 13h7"}),schedule:s("path",{d:"M12 21a9 9 0 1 0 0-18 9 9 0 0 0 0 18Zm0-13.5V12l4 2"}),schema:s("path",{d:"M4 5h16v14H4V5Zm0 5h16M10 10v9M4 14.5h16"}),sql:s("path",{d:"M4 5h16v14H4V5Zm3 4 3 3-3 3m6 0h4"}),storageRules:s("path",{d:"M7 10V7a5 5 0 0 1 10 0v3m-11 0h12a1 1 0 0 1 1 1v8a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1v-8a1 1 0 0 1 1-1Zm6 4v2"}),security:s("path",{d:"M12 3 5 6v5c0 4.5 3 7.8 7 9 4-1.2 7-4.5 7-9V6l-7-3Zm-2.5 8.5 2 2 4-4"}),traces:s("path",{d:"M3 6h9M6 12h12M10 18h7"}),settings:s("path",{d:"M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6Zm7.4-3a7.4 7.4 0 0 0-.1-1.2l2-1.6-2-3.4-2.4 1a7.3 7.3 0 0 0-2-1.2l-.4-2.6H10.5l-.4 2.6a7.3 7.3 0 0 0-2 1.2l-2.4-1-2 3.4 2 1.6a7.4 7.4 0 0 0 0 2.4l-2 1.6 2 3.4 2.4-1a7.3 7.3 0 0 0 2 1.2l.4 2.6h3.6l.4-2.6a7.3 7.3 0 0 0 2-1.2l2.4 1 2-3.4-2-1.6a7.4 7.4 0 0 0 .1-1.2Z"}),users:s("path",{d:"M16 20v-2a4 4 0 0 0-4-4H7a4 4 0 0 0-4 4v2M9.5 10a3.5 3.5 0 1 0 0-7 3.5 3.5 0 0 0 0 7Zm11.5 10v-2a4 4 0 0 0-3-3.85M16 3.13A4 4 0 0 1 16 11"}),vectors:s("path",{d:"M4 7l8-4 8 4-8 4-8-4Zm0 5 8 4 8-4M4 17l8 4 8-4"}),workflows:s("path",{d:"M5 5h5v5H5V5Zm9 9h5v5h-5v-5ZM7.5 10v2a2 2 0 0 0 2 2H14m2.5-4V8a2 2 0 0 0-2-2H10"})},Mt=[{key:"overview",tabs:["home","dashboards"]},{key:"database",tabs:["data","sql","schema","migrations","vectors","pitr","export"]},{key:"functions",tabs:["functions","api","workflows","agents","queues"]},{key:"auth",tabs:["users","organizations","authSessions","authAudit","authConfig"]},{key:"storage",tabs:["files","storageRules","kv"]},{key:"observability",tabs:["issues","logs","traces","audit","realtime","fanout","containers","metrics","analytics","health","deploymentHealth"]},{key:"advisors",tabs:["security","rls","permissions","insights"]},{key:"operations",tabs:["schedule","mail","drains","notifications","payments","flags"]},{key:"settings",tabs:["settings"]}],fs={analytics:"analytics",authAudit:"auth",authConfig:"auth",authSessions:"auth",containers:"containers",files:"storage",flags:"flags",kv:"kv",mail:"mail",notifications:"notifications",organizations:"auth",payments:"payments",queues:"queues",schedule:"scheduler",storageRules:"storage",users:"auth",vectors:"vectors",workflows:"workflows"},Ct=(t,e)=>{const a=fs[t];return a===void 0||e[a]},vt=t=>{const e=w(2),{tab:a}=t,r=ps[a];let n;return e[0]!==r?(n=s("svg",{"aria-hidden":"true",className:"size-4 shrink-0",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:r}),e[0]=r,e[1]=n):n=e[1],n},gs=t=>t,jt=gs(["home","data","sql","functions","api","workflows","agents","queues","containers","schema","migrations","vectors","export","pitr","users","organizations","authSessions","authAudit","authConfig","files","storageRules","kv","dashboards","metrics","analytics","health","deploymentHealth","security","rls","permissions","insights","issues","logs","traces","realtime","fanout","mail","notifications","payments","audit","schedule","drains","flags","settings"]),bs=new Set(["api","data","migrations","sql"]),vs=t=>{const e=t.split("/").findLast(Boolean)??"";return jt.includes(e)?e:"home"},ys=t=>{const e=w(19),{chrome:a,connected:r}=t,n=G();let o;e[0]!==n?(o=n("admin token"),e[0]=n,e[1]=o):o=e[1];let i;e[2]!==o?(i=s("label",{className:"text-xs font-medium text-foreground",htmlFor:"dash-app-token",children:o}),e[2]=o,e[3]=i):i=e[3];let l;e[4]!==a.onTokenChange||e[5]!==a.token?(l=s(At,{className:"h-8","data-testid":"dash-app-token",id:"dash-app-token",onChange:a.onTokenChange,placeholder:"LUNORA_ADMIN_TOKEN",type:"password",value:a.token}),e[4]=a.onTokenChange,e[5]=a.token,e[6]=l):l=e[6];let d;e[7]!==r||e[8]!==n?(d=r&&x("p",{className:"flex items-start gap-1.5 text-[11px] text-muted-foreground","data-testid":"dash-app-token-warning",role:"note",children:[s("span",{"aria-hidden":"true",className:"text-warning",children:"⚠"}),n("Token rides the WebSocket URL — it can surface in browser DevTools and server logs. Use a dev-only token.")]}),e[7]=r,e[8]=n,e[9]=d):d=e[9];let u;e[10]!==a.clearToken||e[11]!==r||e[12]!==n?(u=r&&s("button",{className:"self-start rounded-md border border-border px-2.5 py-1 text-xs font-medium outline-none transition-colors hover:bg-accent focus-visible:bg-accent","data-testid":"dash-app-clear-token",onClick:a.clearToken,type:"button",children:n("Clear")}),e[10]=a.clearToken,e[11]=r,e[12]=n,e[13]=u):u=e[13];let c;return e[14]!==i||e[15]!==l||e[16]!==d||e[17]!==u?(c=x("div",{className:"flex flex-col gap-2",children:[i,l,d,u]}),e[14]=i,e[15]=l,e[16]=d,e[17]=u,e[18]=c):c=e[18],c},xs=t=>{const e=w(25),{current:a,group:r,groupLabel:n,selectTab:o,tabDescription:i,tabLabel:l}=t,d=r.tabs.includes(a)?"page":void 0,u=n[r.key],c=r.tabs[0];let p;e[0]!==c?(p=s(vt,{tab:c}),e[0]=c,e[1]=p):p=e[1];let g;e[2]!==d||e[3]!==u||e[4]!==p?(g=s(qt,{"aria-current":d,"aria-label":u,className:"mx-auto flex size-8 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:bg-sidebar-accent data-[popup-open]:bg-sidebar-accent data-[popup-open]:text-sidebar-accent-foreground data-[popup-open]:shadow-xs aria-[current=page]:bg-sidebar-accent aria-[current=page]:text-sidebar-accent-foreground aria-[current=page]:shadow-xs",delay:120,openOnHover:!0,children:p}),e[2]=d,e[3]=u,e[4]=p,e[5]=g):g=e[5];const h=n[r.key];let f;e[6]!==h?(f=s("div",{className:"px-2 py-1.5 text-[11px] font-medium tracking-wider text-muted-foreground uppercase",children:h}),e[6]=h,e[7]=f):f=e[7];let v;if(e[8]!==a||e[9]!==r.tabs||e[10]!==o||e[11]!==i||e[12]!==l){let y;e[14]!==a||e[15]!==o||e[16]!==i||e[17]!==l?(y=k=>x("button",{"aria-current":a===k?"page":void 0,className:"flex w-full items-center gap-2 rounded-md px-2 py-1.5 text-start text-[13px] text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent aria-[current=page]:bg-accent aria-[current=page]:font-medium [&_svg]:opacity-70 aria-[current=page]:[&_svg]:opacity-100","data-tab":k,"data-testid":`dash-tab-${k}`,onClick:o,title:i[k],type:"button",children:[s(vt,{tab:k}),s("span",{children:l[k]})]},k),e[14]=a,e[15]=o,e[16]=i,e[17]=l,e[18]=y):y=e[18],v=r.tabs.map(y),e[8]=a,e[9]=r.tabs,e[10]=o,e[11]=i,e[12]=l,e[13]=v}else v=e[13];let b;e[19]!==f||e[20]!==v?(b=x(Bt,{align:"start",className:"w-56 p-1",side:"right",sideOffset:8,children:[f,v]}),e[19]=f,e[20]=v,e[21]=b):b=e[21];let m;return e[22]!==g||e[23]!==b?(m=x(Ot,{children:[g,b]}),e[22]=g,e[23]=b,e[24]=m):m=e[24],m},ks=t=>{const e=w(45),{chrome:a,collapsed:r,connected:n}=t,o=G();if(a===null){let k;e[0]!==o?(k=o("Admin"),e[0]=o,e[1]=k):k=e[1];let S;e[2]===Symbol.for("react.memo_cache_sentinel")?(S=s("span",{className:"flex size-8 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:"C"}),e[2]=S):S=e[2];let _;e[3]!==o?(_=o("Admin"),e[3]=o,e[4]=_):_=e[4];let L;e[5]!==_?(L=s("span",{className:"truncate text-[13px] font-medium",children:_}),e[5]=_,e[6]=L):L=e[6];let N;e[7]!==o?(N=o("Studio"),e[7]=o,e[8]=N):N=e[8];let P;e[9]!==N?(P=s("span",{className:"truncate text-[11px] text-muted-foreground",children:N}),e[9]=N,e[10]=P):P=e[10];let M;e[11]!==L||e[12]!==P?(M=x("span",{className:"grid flex-1 text-start leading-tight",children:[L,P]}),e[11]=L,e[12]=P,e[13]=M):M=e[13];let $;return e[14]!==k||e[15]!==M?($=x(Wt,{className:"data-active:bg-transparent",size:"lg",tooltip:k,children:[S,M]}),e[14]=k,e[15]=M,e[16]=$):$=e[16],$}const i=r?"mx-auto size-8 justify-center":"w-full p-2";let l;e[17]!==i?(l=A("flex items-center gap-2 rounded-md text-start outline-none transition-colors hover:bg-sidebar-accent focus-visible:bg-sidebar-accent",i),e[17]=i,e[18]=l):l=e[18];let d;e[19]!==n||e[20]!==o?(d=o(n?"Connected":"Not connected"),e[19]=n,e[20]=o,e[21]=d):d=e[21];const u=n?"bg-success":"bg-muted-foreground/50";let c;e[22]!==u?(c=A("absolute -end-0.5 -bottom-0.5 size-2.5 rounded-full border-2 border-sidebar",u),e[22]=u,e[23]=c):c=e[23];let p;e[24]!==c?(p=x("span",{className:"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-sidebar-accent text-[11px] font-medium",children:["C",s("span",{"aria-hidden":"true",className:c})]}),e[24]=c,e[25]=p):p=e[25];let g;e[26]!==r||e[27]!==n||e[28]!==o?(g=!r&&x(Pt,{children:[x("span",{className:"grid flex-1 text-start leading-tight",children:[s("span",{className:"truncate text-[13px] font-medium",children:o("Admin")}),s("span",{className:"truncate text-[11px] text-muted-foreground",children:o(n?"Connected":"Not connected")})]}),s("svg",{"aria-hidden":"true",className:"size-4 text-muted-foreground",fill:"none",stroke:"currentColor",strokeWidth:1.7,viewBox:"0 0 24 24",children:s("path",{d:"m8 9 4-4 4 4M8 15l4 4 4-4",strokeLinecap:"round",strokeLinejoin:"round"})})]}),e[26]=r,e[27]=n,e[28]=o,e[29]=g):g=e[29];let h;e[30]!==l||e[31]!==d||e[32]!==p||e[33]!==g?(h=x(qt,{className:l,"data-testid":"dash-app-connect",title:d,children:[p,g]}),e[30]=l,e[31]=d,e[32]=p,e[33]=g,e[34]=h):h=e[34];const f=r?"end":"start",v=r?"right":"top";let b;e[35]!==a||e[36]!==n?(b=s(ys,{chrome:a,connected:n}),e[35]=a,e[36]=n,e[37]=b):b=e[37];let m;e[38]!==v||e[39]!==b||e[40]!==f?(m=s(Bt,{align:f,keepMounted:!0,side:v,children:b}),e[38]=v,e[39]=b,e[40]=f,e[41]=m):m=e[41];let y;return e[42]!==m||e[43]!==h?(y=x(Ot,{children:[h,m]}),e[42]=m,e[43]=h,e[44]=y):y=e[44],y},ws=t=>{const e=w(28),{chrome:a,connected:r,current:n,groupLabel:o,groups:i,selectTab:l,tabDescription:d,tabLabel:u}=t,c=G(),{state:p}=ut(),g=p==="collapsed",h=g&&"justify-center px-0";let f;e[0]!==h?(f=A("flex items-center gap-2.5 px-1.5 py-1",h),e[0]=h,e[1]=f):f=e[1];let v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=s(Aa,{className:"size-9 shrink-0 text-foreground"}),e[2]=v):v=e[2];let b;e[3]!==g||e[4]!==r||e[5]!==c?(b=!g&&x(Pt,{children:[x("span",{className:"grid flex-1 leading-tight",children:[s("span",{className:"truncate text-sm font-semibold text-foreground",children:"lunora"}),s("span",{className:"truncate text-[11px] text-muted-foreground",children:c("Studio")})]}),s(ot,{className:"px-1.5 text-[10px] tracking-wider uppercase",variant:"secondary",children:c(r?"Live":"Local")})]}),e[3]=g,e[4]=r,e[5]=c,e[6]=b):b=e[6];let m;e[7]!==f||e[8]!==b?(m=s(er,{children:x("div",{className:f,children:[v,b]})}),e[7]=f,e[8]=b,e[9]=m):m=e[9];let y;e[10]!==g||e[11]!==n||e[12]!==o||e[13]!==i||e[14]!==l||e[15]!==d||e[16]!==u?(y=g?i.map(L=>s(xs,{current:n,group:L,groupLabel:o,selectTab:l,tabDescription:d,tabLabel:u},L.key)):i.map(L=>x(rr,{children:[s(sr,{className:"text-[11px] font-medium tracking-wider uppercase",children:o[L.key]}),s(nr,{children:s(Nt,{children:L.tabs.map(N=>s(St,{children:x(Wt,{className:"data-active:text-foreground dark:data-active:text-royal-amethyst data-active:shadow-[inset_2px_0_0_0_var(--royal-amethyst)]","data-tab":N,"data-testid":`dash-tab-${N}`,isActive:n===N,onClick:l,title:d[N],tooltip:d[N],children:[s(vt,{tab:N}),s("span",{children:u[N]})]})},N))})})]},L.key)),e[10]=g,e[11]=n,e[12]=o,e[13]=i,e[14]=l,e[15]=d,e[16]=u,e[17]=y):y=e[17];let k;e[18]!==y?(k=s(ar,{children:y}),e[18]=y,e[19]=k):k=e[19];let S;e[20]!==a||e[21]!==g||e[22]!==r?(S=s(tr,{children:s(Nt,{children:s(St,{children:s(ks,{chrome:a,collapsed:g,connected:r})})})}),e[20]=a,e[21]=g,e[22]=r,e[23]=S):S=e[23];let _;return e[24]!==m||e[25]!==k||e[26]!==S?(_=x(Xa,{collapsible:"icon",variant:"inset",children:[m,k,S]}),e[24]=m,e[25]=k,e[26]=S,e[27]=_):_=e[27],_},Ut=()=>{const t=w(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=x("div",{className:"flex flex-col gap-4","data-testid":"dash-pending",children:[x("div",{className:"flex items-center gap-2",children:[s(pt,{className:"h-8 w-40"}),s(pt,{className:"h-8 w-24"})]}),s(pt,{className:"h-72 w-full"})]}),t[0]=e):e=t[0],e},Ns=()=>{const t=w(64),e=G(),a=_t();let r;t[0]===Symbol.for("react.memo_cache_sentinel")?(r={select:Ps},t[0]=r):r=t[0];const n=ta(r);let o,i;t[1]!==n?(o=vs(n),i=bs.has(o),t[1]=n,t[2]=o,t[3]=i):(o=t[2],i=t[3]);const l=i,d=ia(),u=d?.toggle;kr(u);const c=ha(),{groupLabel:p,tabDescription:g,tabLabel:h}=pr();let f;t[4]!==c?(f=q=>({...q,tabs:q.tabs.filter(ee=>Ct(ee,c))}),t[4]=c,t[5]=f):f=t[5];const v=Mt.map(f).filter($s);let b,m;t[6]!==o||t[7]!==c||t[8]!==a?(b=()=>{Ct(o,c)||bt(a({replace:!0,to:"/home"}))},m=[o,c,a],t[6]=o,t[7]=c,t[8]=a,t[9]=b,t[10]=m):(b=t[9],m=t[10]),rt(b,m);let y;t[11]!==a?(y=q=>{bt(a({to:`/${q.currentTarget.dataset.tab??""}`}))},t[11]=a,t[12]=y):y=t[12];const k=y;let S,_;t[13]!==o||t[14]!==h?(S=()=>{typeof document<"u"&&(document.title=`${h[o]} · lunora`)},_=[o,h],t[13]=o,t[14]=h,t[15]=S,t[16]=_):(S=t[15],_=t[16]),rt(S,_);const L=v.find(q=>q.tabs.includes(o))??Mt[0];let N;t[17]!==p||t[18]!==h?(N=q=>q.tabs.map(ee=>({group:p[q.key],label:h[ee],to:`/${ee}`})),t[17]=p,t[18]=h,t[19]=N):N=t[19];const P=v.flatMap(N),M=yt(Ft),$=M!==null&&M.token!=="";let T;t[20]!==P?(T=s(ba,{items:P}),t[20]=P,t[21]=T):T=t[21];let E;t[22]!==M||t[23]!==$||t[24]!==o||t[25]!==p||t[26]!==k||t[27]!==g||t[28]!==h||t[29]!==v?(E=s(ws,{chrome:M,connected:$,current:o,groupLabel:p,groups:v,selectTab:k,tabDescription:g,tabLabel:h}),t[22]=M,t[23]=$,t[24]=o,t[25]=p,t[26]=k,t[27]=g,t[28]=h,t[29]=v,t[30]=E):E=t[30];const K=p[L.key],V=h[o];let R;t[31]!==K||t[32]!==V?(R=s(xr,{domain:K,onOpenCommandPalette:va,page:V}),t[31]=K,t[32]=V,t[33]=R):R=t[33];let I;t[34]!==M?.rulesInstalled?(I=M?.rulesInstalled===!1&&s(Ea,{}),t[34]=M?.rulesInstalled,t[35]=I):I=t[35];const Z=`dash-tab-${o}`,H=l?"flex min-w-0 flex-1 flex-col overflow-hidden":"min-w-0 flex-1 overflow-auto p-6",O=h[o];let z;t[36]!==e||t[37]!==O?(z=e("{title} failed",{title:O}),t[36]=e,t[37]=O,t[38]=z):z=t[38];const Y=h[o];let B;t[39]!==e?(B=e("Try again"),t[39]=e,t[40]=B):B=t[40];let Q;t[41]===Symbol.for("react.memo_cache_sentinel")?(Q=s(sa,{fallback:s(Ut,{}),children:s(aa,{})}),t[41]=Q):Q=t[41];let D;t[42]!==o||t[43]!==z||t[44]!==Y||t[45]!==B?(D=s(na,{fallbackTitle:z,label:Y,retryLabel:B,children:Q},o),t[42]=o,t[43]=z,t[44]=Y,t[45]=B,t[46]=D):D=t[46];let W;t[47]!==H||t[48]!==D?(W=s("div",{className:H,children:D}),t[47]=H,t[48]=D,t[49]=W):W=t[49];let F;t[50]!==d?(F=d?.open===!0&&s(ur,{focusSeq:d.focusSeq,onClose:d.close,onShownChange:d.setShown,shown:d.shown}),t[50]=d,t[51]=F):F=t[51];let j;t[52]!==Z||t[53]!==W||t[54]!==F?(j=x("div",{"aria-labelledby":Z,className:"flex min-w-0 flex-1 flex-col overflow-hidden","data-testid":"dash-panel",id:"dash-panel",role:"tabpanel",children:[W,F]}),t[52]=Z,t[53]=W,t[54]=F,t[55]=j):j=t[55];let U;t[56]!==R||t[57]!==I||t[58]!==j?(U=x(Ga,{className:"overflow-hidden md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm",children:[R,I,j]}),t[56]=R,t[57]=I,t[58]=j,t[59]=U):U=t[59];let J;return t[60]!==E||t[61]!==U||t[62]!==T?(J=x(Ja,{className:"min-h-0 flex-1","data-testid":"lunora-studio",children:[T,E,U]}),t[60]=E,t[61]=U,t[62]=T,t[63]=J):J=t[63],J},Ss=()=>{const t=w(1);let e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=s(oa,{children:s(Ns,{})}),t[0]=e):e=t[0],e},Ms=t=>{const e=w(5),{initialShardKey:a,schemaEditable:r}=t;let n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n={strict:!1},e[0]=n):n=e[0];const o=ea(n),{table:i}=o,l=typeof i=="string"?i:void 0;let d;return e[1]!==a||e[2]!==l||e[3]!==r?(d=s(os,{initialShardKey:a,initialTable:l,schemaEditable:r}),e[1]=a,e[2]=l,e[3]=r,e[4]=d):d=e[4],d},Cs=()=>{const t=w(3),e=_t();let a,r;return t[0]!==e?(a=()=>{bt(e({replace:!0,to:"/home"}))},r=[e],t[0]=e,t[1]=a,t[2]=r):(a=t[1],r=t[2]),rt(a,r),null},_s=({basePath:t,dataEditable:e=!1,functions:a,initialShardKey:r,openApiSpec:n,openRpcSpec:o,runAsIdentity:i=!1,schemaEditable:l=!1,scheduledCancel:d,scheduledCron:u,scheduledLoad:c})=>{const p=Jt({component:Ss}),g={agents:s(Mr,{initialShardKey:r}),analytics:s(Cr,{}),api:s(_r,{functions:a,initialShardKey:r,openApiSpec:n,openRpcSpec:o}),audit:s(Dr,{initialShardKey:r}),authAudit:s(Lr,{}),authConfig:s(Pr,{}),authSessions:s($r,{}),containers:s(zr,{}),dashboards:s(as,{initialShardKey:r}),data:s(Rr,{editable:e,initialShardKey:r}),deploymentHealth:s(Er,{}),drains:s(Wr,{}),export:s(Ir,{initialShardKey:r}),fanout:s(rs,{initialShardKey:r}),files:s(ds,{}),kv:s(Xr,{}),flags:s(Hr,{initialShardKey:r}),functions:x("div",{className:"flex flex-col gap-8",children:[s(qr,{functions:a,initialShardKey:r}),s(Or,{functions:a,runAsIdentity:i})]}),health:s(ss,{initialShardKey:r}),home:s(ua,{initialShardKey:r}),insights:s(wr,{initialShardKey:r}),issues:s(Br,{initialShardKey:r}),logs:s(Fr,{initialShardKey:r}),traces:s(us,{initialShardKey:r}),metrics:s(ns,{initialShardKey:r}),migrations:s(Kr,{initialShardKey:r}),notifications:s(Yr,{}),organizations:s(Ar,{}),permissions:s(es,{functions:a,runAsIdentity:i,schemaEditable:l}),pitr:s(Zr,{initialShardKey:r}),mail:s(jr,{}),payments:s(Gr,{}),queues:s(ts,{}),realtime:x("div",{className:"flex flex-col gap-8",children:[s(Qr,{initialShardKey:r}),s(Jr,{})]}),rls:s(Nr,{}),schedule:s(Ur,{loadCronJobs:u,scheduledCancel:d,scheduledLoad:c}),schema:s(Ms,{initialShardKey:r,schemaEditable:l}),security:s(Sr,{}),settings:s(is,{initialShardKey:r}),sql:s(ls,{initialShardKey:r}),storageRules:s(cs,{}),users:s(Tr,{}),vectors:s(hs,{}),workflows:s(ms,{})},h=kt({component:()=>g.home,getParentRoute:()=>p,path:"/"}),f=jt.map(m=>kt({component:()=>g[m],getParentRoute:()=>p,path:`/${m}`,validateSearch:Vr[m]})),v=p.addChildren([h,...f]),b="window"in globalThis?Xt():Yt({initialEntries:["/home"]});return Gt({...t===void 0||t==="/"?{}:{basepath:t},defaultNotFoundComponent:Cs,defaultPendingComponent:Ut,defaultPendingMinMs:0,defaultPendingMs:0,history:b,routeTree:v})},Ls=t=>{const e=w(17),{basePath:a,chrome:r,dataEditable:n,functions:o,initialShardKey:i,openApiSpec:l,openRpcSpec:d,runAsIdentity:u,schemaEditable:c,scheduledCancel:p,scheduledCron:g,scheduledLoad:h}=t;let f;e[0]!==a||e[1]!==n||e[2]!==o||e[3]!==i||e[4]!==l||e[5]!==d||e[6]!==u||e[7]!==p||e[8]!==g||e[9]!==h||e[10]!==c?(f=_s({basePath:a,dataEditable:n,functions:o,initialShardKey:i,openApiSpec:l,openRpcSpec:d,runAsIdentity:u,schemaEditable:c,scheduledCancel:p,scheduledCron:g,scheduledLoad:h}),e[0]=a,e[1]=n,e[2]=o,e[3]=i,e[4]=l,e[5]=d,e[6]=u,e[7]=p,e[8]=g,e[9]=h,e[10]=c,e[11]=f):f=e[11];const v=f,b=r??null;let m;e[12]!==v?(m=s(Qt,{router:v}),e[12]=v,e[13]=m):m=e[13];let y;return e[14]!==b||e[15]!==m?(y=s(Ft,{value:b,children:m}),e[14]=b,e[15]=m,e[16]=y):y=e[16],y},on=t=>{const e=w(17),{basePath:a,chrome:r,dataEditable:n,functions:o,i18n:i,initialShardKey:l,locale:d,openApiSpec:u,openRpcSpec:c,runAsIdentity:p,schemaEditable:g,scheduledCancel:h,scheduledCron:f,scheduledLoad:v}=t;let b;e[0]!==a||e[1]!==r||e[2]!==n||e[3]!==o||e[4]!==l||e[5]!==u||e[6]!==c||e[7]!==p||e[8]!==h||e[9]!==f||e[10]!==v||e[11]!==g?(b=s(Ca,{children:s(Ls,{basePath:a,chrome:r,dataEditable:n,functions:o,initialShardKey:l,openApiSpec:u,openRpcSpec:c,runAsIdentity:p,scheduledCancel:h,scheduledCron:f,scheduledLoad:v,schemaEditable:g})}),e[0]=a,e[1]=r,e[2]=n,e[3]=o,e[4]=l,e[5]=u,e[6]=c,e[7]=p,e[8]=h,e[9]=f,e[10]=v,e[11]=g,e[12]=b):b=e[12];const m=b;if(i===void 0&&d===void 0)return m;let y;return e[13]!==i||e[14]!==d||e[15]!==m?(y=s(pa,{i18n:i,locale:d,children:m}),e[13]=i,e[14]=d,e[15]=m,e[16]=y):y=e[16],y};function Ps(t){return t.location.pathname}function $s(t){return t.tabs.length>0}export{Oa as N,on as S,Ma as a,_a as b,Ha as c,Aa as f,Ka as g,nn as m,qa as v};
@@ -1 +0,0 @@
1
- import{c as w}from"react/compiler-runtime";import{useT as k}from"./DEFAULT_LOCALE-BZ4NojpD.js";import{jsx as x,jsxs as N}from"react/jsx-runtime";import{useRef as C,useEffect as T,useState as L,useMemo as E}from"react";import{f as F,b as P}from"./internal-BSIsQVC6.js";import{useVirtualizer as R}from"@tanstack/react-virtual";import{c as O}from"./utils-bhneXptQ.js";import{l as I}from"./virtual-rect-1o1veP7R.js";const S=b=>b==null?"∅":b===""?"(empty)":typeof b=="object"?JSON.stringify(b):String(b),J=b=>{const e=w(32),{column:t,onFacetFilter:l,state:r}=b,n=k();let a;e[0]!==t||e[1]!==l||e[2]!==r.result?.values?(a=u=>{const h=Number(u.currentTarget.dataset.index),v=r.result?.values[h];v!==void 0&&l(t,v.value)},e[0]=t,e[1]=l,e[2]=r.result?.values,e[3]=a):a=e[3];const i=a,o=`db-facet-${t}`;let c;e[4]!==t?(c=x("span",{className:"font-medium text-foreground",children:t}),e[4]=t,e[5]=c):c=e[5];let m;e[6]!==r.loading||e[7]!==r.result||e[8]!==n?(m=r.loading&&r.result===null&&x("span",{className:"text-muted-foreground",children:n("Loading…")}),e[6]=r.loading,e[7]=r.result,e[8]=n,e[9]=m):m=e[9];let g;e[10]!==r.error?(g=r.error!==null&&x("span",{className:"text-destructive",role:"alert",children:r.error}),e[10]=r.error,e[11]=g):g=e[11];let p;e[12]!==r.result?.values?(p=r.result?.values??[],e[12]=r.result?.values,e[13]=p):p=e[13];let d;if(e[14]!==t||e[15]!==i||e[16]!==p){let u;e[18]!==t||e[19]!==i?(u=(h,v)=>N("button",{className:"flex items-center justify-between gap-2 rounded px-1 py-0.5 text-left text-muted-foreground transition-colors hover:bg-accent hover:text-accent-foreground","data-index":v,"data-testid":`db-facet-value-${t}`,onClick:i,type:"button",children:[x("span",{className:"truncate",children:S(h.value)}),x("span",{className:"shrink-0 tabular-nums text-foreground/70",children:h.count})]},S(h.value)),e[18]=t,e[19]=i,e[20]=u):u=e[20],d=p.map(u),e[14]=t,e[15]=i,e[16]=p,e[17]=d}else d=e[17];let f;e[21]!==t||e[22]!==r.result||e[23]!==n?(f=r.result?.truncated===!0&&x("span",{className:"text-muted-foreground","data-testid":`db-facet-truncated-${t}`,children:n("Showing the {n} most common values.",{n:r.result.values.length})}),e[21]=t,e[22]=r.result,e[23]=n,e[24]=f):f=e[24];let s;return e[25]!==o||e[26]!==c||e[27]!==m||e[28]!==g||e[29]!==d||e[30]!==f?(s=N("section",{className:"flex flex-col gap-1","data-testid":o,children:[c,m,g,d,f]}),e[25]=o,e[26]=c,e[27]=m,e[28]=g,e[29]=d,e[30]=f,e[31]=s):s=e[31],s},Z=b=>{const e=w(26),{columns:t,facets:l,onFacetFilter:r,onToggleFacet:n}=b,a=k();let i;e[0]!==n?(i=h=>{const{column:v}=h.currentTarget.dataset;v!==void 0&&n(v)},e[0]=n,e[1]=i):i=e[1];const o=i;if(t.length===0)return null;let c;e[2]!==a?(c=a("Facets"),e[2]=a,e[3]=c):c=e[3];let m;e[4]!==c?(m=x("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:c}),e[4]=c,e[5]=m):m=e[5];let g;if(e[6]!==t||e[7]!==l||e[8]!==o){let h;e[10]!==l||e[11]!==o?(h=v=>x("button",{"aria-pressed":v in l,className:"rounded border border-border px-1.5 py-0.5 text-muted-foreground transition-colors hover:bg-accent aria-pressed:bg-accent aria-pressed:text-accent-foreground","data-column":v,"data-testid":`db-facet-toggle-${v}`,onClick:o,type:"button",children:v},v),e[10]=l,e[11]=o,e[12]=h):h=e[12],g=t.map(h),e[6]=t,e[7]=l,e[8]=o,e[9]=g}else g=e[9];let p;e[13]!==g?(p=x("div",{className:"flex flex-wrap gap-1",children:g}),e[13]=g,e[14]=p):p=e[14];let d;e[15]!==m||e[16]!==p?(d=N("div",{className:"flex flex-col gap-1.5",children:[m,p]}),e[15]=m,e[16]=p,e[17]=d):d=e[17];let f;e[18]!==l?(f=Object.entries(l),e[18]=l,e[19]=f):f=e[19];let s;e[20]!==r||e[21]!==f?(s=f.map(h=>{const[v,$]=h;return x(J,{column:v,onFacetFilter:r,state:$},v)}),e[20]=r,e[21]=f,e[22]=s):s=e[22];let u;return e[23]!==d||e[24]!==s?(u=N("aside",{className:"flex w-56 shrink-0 flex-col gap-3 overflow-auto border-l border-border p-3 text-xs","data-testid":"db-facets",children:[d,s]}),e[23]=d,e[24]=s,e[25]=u):u=e[25],u},V=[25,50,100,250],B=b=>{const e=w(18),{onChange:t,options:l,prefix:r,value:n}=b,a=k();let i;e[0]!==t?(i=h=>{t(Number.parseInt(h.target.value,10))},e[0]=t,e[1]=i):i=e[1];const o=i,c=`${r}-page-size`;let m;e[2]!==a?(m=a("Rows per page"),e[2]=a,e[3]=m):m=e[3];let g;e[4]!==m?(g=x("span",{children:m}),e[4]=m,e[5]=g):g=e[5];const p=`${r}-page-size`,d=`${r}-page-size`;let f;e[6]!==l?(f=l.map(A),e[6]=l,e[7]=f):f=e[7];let s;e[8]!==o||e[9]!==p||e[10]!==d||e[11]!==f||e[12]!==n?(s=x("select",{className:"h-6 rounded-md border border-border bg-background px-1 tabular-nums outline-none focus-visible:border-ring","data-testid":p,id:d,onChange:o,value:n,children:f}),e[8]=o,e[9]=p,e[10]=d,e[11]=f,e[12]=n,e[13]=s):s=e[13];let u;return e[14]!==c||e[15]!==g||e[16]!==s?(u=N("label",{className:"flex items-center gap-1.5",htmlFor:c,children:[g,s]}),e[14]=c,e[15]=g,e[16]=s,e[17]=u):u=e[17],u},_=b=>{const e=w(25),{onJump:t,page:l,pages:r,prefix:n}=b,a=k();let i;e[0]!==t||e[1]!==r?(i=y=>{const j=Number.parseInt(y,10);Number.isNaN(j)||t(Math.min(Math.max(1,j),Math.max(1,r)))},e[0]=t,e[1]=r,e[2]=i):i=e[2];const o=i;let c;e[3]!==o?(c=y=>{y.key==="Enter"&&o(y.currentTarget.value)},e[3]=o,e[4]=c):c=e[4];const m=c;let g;e[5]!==o?(g=y=>{o(y.currentTarget.value)},e[5]=o,e[6]=g):g=e[6];const p=g;let d;e[7]!==a?(d=a("Page"),e[7]=a,e[8]=d):d=e[8];let f;e[9]!==a?(f=a("Page"),e[9]=a,e[10]=f):f=e[10];const s=`${n}-page-jump`,u=Math.max(1,r);let h;e[11]!==p||e[12]!==m||e[13]!==l||e[14]!==f||e[15]!==s||e[16]!==u?(h=x("input",{"aria-label":f,className:"h-6 w-12 rounded-md border border-border bg-background px-1 text-center tabular-nums outline-none focus-visible:border-ring","data-testid":s,defaultValue:l,max:u,min:1,onBlur:p,onKeyDown:m,type:"number"},l),e[11]=p,e[12]=m,e[13]=l,e[14]=f,e[15]=s,e[16]=u,e[17]=h):h=e[17];let v;e[18]!==r||e[19]!==a?(v=a("of {pages}",{pages:r}),e[18]=r,e[19]=a,e[20]=v):v=e[20];let $;return e[21]!==d||e[22]!==h||e[23]!==v?($=N("span",{className:"flex items-center gap-1.5 tabular-nums",children:[d,h,v]}),e[21]=d,e[22]=h,e[23]=v,e[24]=$):$=e[24],$},ee=({hasNext:b,hasPrevious:e,onJumpToPage:t,onNext:l,onPageSizeChange:r,onPrevious:n,pageSize:a,pageSizeOptions:i=V,prefix:o,rangeEnd:c,rangeStart:m,total:g})=>{const p=k(),d="rounded-md border border-border px-2.5 py-1 text-xs font-medium text-foreground outline-none transition-colors hover:bg-accent focus-visible:bg-accent disabled:pointer-events-none disabled:opacity-50",f=a!==void 0&&a>0?Math.max(1,Math.ceil(g/a)):1,s=a!==void 0&&a>0?Math.floor(Math.max(0,m-1)/a)+1:1;return N("div",{className:"flex w-full items-center justify-between gap-3 text-xs text-muted-foreground",children:[N("div",{className:"flex items-center gap-3",children:[a!==void 0&&r!==void 0&&x(B,{onChange:r,options:i,prefix:o,value:a}),x("span",{className:"tabular-nums","data-testid":`${o}-page-info`,children:p("{rangeStart}-{rangeEnd} of {total}",{rangeEnd:c,rangeStart:m,total:g})})]}),N("div",{className:"flex items-center gap-3",children:[x("button",{className:d,"data-testid":`${o}-prev`,disabled:!e,onClick:n,type:"button",children:p("Previous")}),a!==void 0&&t!==void 0&&x(_,{onJump:t,page:s,pages:f,prefix:o}),x("button",{className:d,"data-testid":`${o}-next`,disabled:!b,onClick:l,type:"button",children:p("Next")})]})]})};function A(b){return x("option",{value:b,children:b},b)}function D(b){const e=w(2),t=C(b);let l;return e[0]!==b?(l=()=>{t.current=b},e[0]=b,e[1]=l):l=e[1],T(l),t}const te=()=>{const[b,e]=L({}),t=D(b),l=C({}),r=async(n,a)=>{const i=(l.current[n]??0)+1;l.current[n]=i,e(o=>n in o?{...o,[n]:{error:null,loading:!0,result:o[n]?.result??null}}:o);try{const o=await a(n);if(l.current[n]!==i)return;e(c=>n in c?{...c,[n]:{error:null,loading:!1,result:o}}:c)}catch(o){if(l.current[n]!==i)return;e(c=>n in c?{...c,[n]:{error:P(o),loading:!1,result:null}}:c)}};return{clearFacets:()=>{e({}),t.current={}},facets:b,facetsRef:t,refetchFacets:n=>{for(const a of Object.keys(t.current))F(r(a,n))},toggleFacet:(n,a)=>{if(n in t.current){e(i=>Object.fromEntries(Object.entries(i).filter(([o])=>o!==n)));return}e(i=>({...i,[n]:{error:null,loading:!0,result:null}})),a!==null&&F(r(n,a))}}},M=34,z=600,K=b=>{const e=w(21),{item:t,onSelect:l,prefix:r,selected:n,start:a}=b;let i;e[0]!==t.name||e[1]!==l?(i=()=>{l(t.name)},e[0]=t.name,e[1]=l,e[2]=i):i=e[2];const o=i,c=`translateY(${String(a)}px)`;let m;e[3]!==c?(m={insetInline:0,position:"absolute",top:0,transform:c},e[3]=c,e[4]=m):m=e[4];const g=m,p=n?"bg-accent font-medium text-accent-foreground":"text-foreground";let d;e[5]!==p?(d=O("flex w-full items-center justify-between gap-2 rounded-md px-2 py-1.5 text-start text-sm outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent",p),e[5]=p,e[6]=d):d=e[6];const f=`${r}-table-${t.name}`;let s;e[7]!==t.name?(s=x("span",{className:"truncate",children:t.name}),e[7]=t.name,e[8]=s):s=e[8];let u;e[9]!==t.rowCount?(u=x("span",{className:"shrink-0 rounded bg-muted px-1.5 text-xs tabular-nums text-muted-foreground",children:t.rowCount}),e[9]=t.rowCount,e[10]=u):u=e[10];let h;e[11]!==o||e[12]!==n||e[13]!==d||e[14]!==f||e[15]!==s||e[16]!==u?(h=N("button",{"aria-pressed":n,className:d,"data-testid":f,onClick:o,type:"button",children:[s,u]}),e[11]=o,e[12]=n,e[13]=d,e[14]=f,e[15]=s,e[16]=u,e[17]=h):h=e[17];let v;return e[18]!==g||e[19]!==h?(v=x("li",{style:g,children:h}),e[18]=g,e[19]=h,e[20]=v):v=e[20],v},re=({header:b,onReload:e,onSelect:t,prefix:l,reloadLabel:r,selected:n,tables:a})=>{const i=k(),[o,c]=L(""),m=C(null),g=s=>{c(s.target.value)},p=E(()=>{const s=o.trim().toLowerCase();return s===""?a:a.filter(u=>u.name.toLowerCase().includes(s))},[o,a]),d=R({count:p.length,estimateSize:()=>M,getScrollElement:()=>m.current,initialRect:{height:z,width:240},observeElementRect:(s,u)=>I(s,u,z),overscan:12}).getVirtualItems(),f={height:p.length*M};return N("aside",{className:"flex h-full w-60 shrink-0 flex-col border-e border-border bg-sidebar","data-testid":`${l}-table-list`,children:[b,N("div",{className:"flex h-9 shrink-0 items-center justify-between gap-2 border-b border-border px-3",children:[x("span",{className:"font-mono text-[11px] tracking-wide uppercase text-muted-foreground",children:i("Tables")}),e!==void 0&&x("button",{"aria-label":r??i("Refresh"),className:"flex size-6 items-center justify-center rounded-md text-muted-foreground outline-none transition-colors hover:bg-accent hover:text-foreground focus-visible:bg-accent","data-testid":`${l}-load-tables`,onClick:e,title:r??i("Refresh"),type:"button",children:x("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:x("path",{d:"M4 12a8 8 0 0 1 13.7-5.6L20 8M20 4v4h-4M20 12a8 8 0 0 1-13.7 5.6L4 16m0 4v-4h4"})})})]}),x("div",{className:"shrink-0 border-b border-border p-2",children:x("input",{className:"h-7 w-full rounded-md border border-border bg-background px-2 text-xs outline-none placeholder:text-muted-foreground focus-visible:border-ring","data-testid":`${l}-table-search`,onChange:g,placeholder:i("search table…"),type:"search",value:o})}),N("ul",{className:"relative flex-1 overflow-y-auto p-1.5","data-testid":`${l}-table-list-rows`,ref:m,children:[x("li",{"aria-hidden":"true",style:f}),d.map(s=>{const u=p[s.index];return u===void 0?null:x(K,{item:u,onSelect:t,prefix:l,selected:n===u.name,start:s.start},u.name)})]})]})};export{Z as $,re as _,ee as a,D as i,te as u};
@@ -1 +0,0 @@
1
- import{a as Rt}from"./chunk-KUVMORDQ.js";import{a as Kt,b as Lt,c as zt,d as At,e as ot}from"./chunk-Y5Y7DHFW.js";import{a as Ot}from"./chunk-QWGT25SE.js";import{a as Ct,b as Dt,c as Ft,d as Tt,e as Ee}from"./chunk-OY2RVUZL.js";import"./chunk-2PJNAWB3.js";import{a as Mt}from"./chunk-CTNB2KIA.js";import{e as It}from"./chunk-SKHEGARW.js";import"./chunk-SD4BERSA.js";import"./chunk-IC4L6G56.js";import"./chunk-RQ7AFLIV.js";import"./chunk-BGBLQ563.js";import"./chunk-IVFHIQOT.js";import{a as et,b as tt,c as rt,d as yt,e as Nt,f as at,g as lt,h as wt,i as St}from"./chunk-CU55Y5TV.js";import"./chunk-4UOFSGUS.js";import"./chunk-ILNELDFC.js";import{e as ut}from"./chunk-SMIESS7P.js";import{a as _t}from"./chunk-LFKCLLPT.js";import"./chunk-T6VMSOBB.js";import"./chunk-QLQADHFE.js";import{c as Re}from"./chunk-XDAT7LHC.js";import{a as st,b as nt,c as it,d as je,e as ne,f as P}from"./chunk-MIQTKZAR.js";import{a as ce,b as ze,c as Ae,d as gt,e as ge}from"./chunk-UZERI5YC.js";import"./chunk-QBWRC5YX.js";import{a as $t}from"./chunk-X665E2HU.js";import{a as qt,b as kt}from"./chunk-GRL5MG3Z.js";import"./chunk-7T7UOTYK.js";import"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c as Ye}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as We}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as Oe}from"./chunk-2WOIRKEI.js";import{f as mt}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as pt}from"./chunk-XQCVZAGU.js";import{d as Te,f as ft,g as xt,h as bt,i as vt,m as Ze,p as Ge}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as n,e as Xe,f as Jt,g as Qt,h as Ut,j as ht}from"./chunk-3XIESWL4.js";var Ke=Xe(Qt(),1);var _=Xe(Jt(),1);var t=Xe(Ut(),1);var Ht=n((l,e)=>l<e?-1:l>e?1:0,"Bt"),ct=n(l=>{if(l===void 0)return"null";if(typeof l=="bigint")throw new TypeError("stableStringify: cannot use a bigint in a stable JSON cache key \u2014 pass it as a string, or use stableWireKey");if(l===null||typeof l!="object")return JSON.stringify(l);if(Array.isArray(l))return`[${l.map(u=>ct(u)).join(",")}]`;let e=Object.getPrototypeOf(l);if(e!==null&&e!==Object.prototype){let u=l.constructor?.name??"value";throw new TypeError(`stableStringify: cannot use a ${u} in a stable JSON cache key \u2014 only plain objects, arrays, and JSON primitives are supported (wire-typed values key via stableWireKey)`)}let s=l,r=Object.keys(s).toSorted(Ht),a=[];for(let u of r){let c=s[u];c!==void 0&&a.push(`${JSON.stringify(u)}:${ct(c)}`)}return`{${a.join(",")}}`},"Ze"),Et=n((l,e,s)=>`${l}:${e}:${ct(s??{})}`,"gt"),Pt=n((l,e)=>l==="gauge"?e.last:l==="histogram"?e.sum/Math.max(1,e.count):e.sum,"ft"),Wt=n((l,e)=>Pt(l,e),"Ht"),Gt=n(l=>Pt(l.kind,l),"Wt"),dt=n(l=>Number.isInteger(l)?l.toLocaleString():l.toLocaleString(void 0,{maximumFractionDigits:2}),"Ve"),Bt=n(l=>Array.isArray(l?.series)?l.series:[],"Gt"),Vt="FUNCTION_NOT_FOUND",Xt=n(l=>{let e=new Map;if(!Array.isArray(l?.series))return e;for(let s of l.series)e.set(Et(s.kind,s.name,s.attributes),s.points);return e},"Yt"),Yt={counter:"secondary",gauge:"default",histogram:"outline"},Zt=n(l=>{let e=(0,Ke.c)(18),{name:s,onOpenTrace:r,traceId:a}=l,u=Te();if(a===void 0){let m;return e[0]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("span",{className:"text-muted-foreground",children:"\u2014"}),e[0]=m):m=e[0],m}let c;e[1]!==a?(c=a.slice(0,8),e[1]=a,e[2]=c):c=e[2];let g=c;if(r===void 0){let m=`mt-instrument-trace-${s}`,b;return e[3]!==g||e[4]!==m||e[5]!==a?(b=(0,t.jsx)("span",{className:"text-muted-foreground","data-testid":m,title:a,children:g}),e[3]=g,e[4]=m,e[5]=a,e[6]=b):b=e[6],b}let f=`mt-instrument-trace-${s}`,x;e[7]!==r||e[8]!==a?(x=n(()=>{r(a)},"x"),e[7]=r,e[8]=a,e[9]=x):x=e[9];let v;e[10]!==u||e[11]!==a?(v=u("Open the exemplar trace {trace}",{trace:a}),e[10]=u,e[11]=a,e[12]=v):v=e[12];let h;return e[13]!==g||e[14]!==f||e[15]!==x||e[16]!==v?(h=(0,t.jsx)("button",{className:"text-primary underline-offset-4 hover:underline","data-testid":f,onClick:x,title:v,type:"button",children:g}),e[13]=g,e[14]=f,e[15]=x,e[16]=v,e[17]=h):h=e[17],h},"Zt"),er=n(l=>{let e=(0,Ke.c)(105),{onOpenTrace:s,shardKey:r}=l,a=Te(),u;e[0]===Symbol.for("react.memo_cache_sentinel")?(u={},e[0]=u):u=e[0];let c;e[1]!==r?(c={live:!0,shardKey:r},e[1]=r,e[2]=c):c=e[2];let{data:g,error:f,errorSource:x}=Re(Oe.getMetricSeries,u,c),v;e[3]===Symbol.for("react.memo_cache_sentinel")?(v={},e[3]=v):v=e[3];let h;e[4]!==r?(h={live:!0,shardKey:r},e[4]=r,e[5]=h):h=e[5];let{data:m}=Re(Oe.getMetricHistory,v,h),b,L,k,D,z,o,y,q,F,T,M,N,A;if(e[6]!==g||e[7]!==f||e[8]!==x||e[9]!==m||e[10]!==s||e[11]!==a){q=Symbol.for("react.early_return_sentinel");e:{let me=Bt(g),ue=vt(x)===Vt;if(f!==null&&!ue){let i;e[25]!==a?(i=a("Instruments"),e[25]=a,e[26]=i):i=e[26];let C;e[27]!==i?(C=(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:i}),e[27]=i,e[28]=C):C=e[28];let O;e[29]!==f||e[30]!==a?(O=a("Instruments unavailable: {error}",{error:f}),e[29]=f,e[30]=a,e[31]=O):O=e[31];let K;e[32]!==O?(K=(0,t.jsx)("span",{className:"text-xs text-muted-foreground","data-testid":"mt-instruments-error",role:"status",children:O}),e[32]=O,e[33]=K):K=e[33];let se;e[34]!==C||e[35]!==K?(se=(0,t.jsxs)("section",{className:"flex flex-col gap-2","data-testid":"mt-instruments",children:[C,K]}),e[34]=C,e[35]=K,e[36]=se):se=e[36],q=se;break e}if(me.length===0){q=null;break e}let Le=Xt(m),d;e[37]!==a?(d=n(i=>a(i==="counter"?"Counter":i==="gauge"?"Gauge":"Histogram"),"d"),e[37]=a,e[38]=d):d=e[38];let j=d;z="flex flex-col gap-2",o="mt-instruments";let w;e[39]!==a?(w=a("Instruments"),e[39]=a,e[40]=w):w=e[40],e[41]!==w?(y=(0,t.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:w}),e[41]=w,e[42]=y):y=e[42],D=ce,A="overflow-hidden py-0",k=ge,N="px-0",L=st,T="mt-instruments-table";let S;e[43]!==a?(S=a("name"),e[43]=a,e[44]=S):S=e[44];let Q;e[45]!==S?(Q=(0,t.jsx)(ne,{children:S}),e[45]=S,e[46]=Q):Q=e[46];let U;e[47]!==a?(U=a("kind"),e[47]=a,e[48]=U):U=e[48];let H;e[49]!==U?(H=(0,t.jsx)(ne,{children:U}),e[49]=U,e[50]=H):H=e[50];let W;e[51]!==a?(W=a("value"),e[51]=a,e[52]=W):W=e[52];let G;e[53]!==W?(G=(0,t.jsx)(ne,{className:"text-right",children:W}),e[53]=W,e[54]=G):G=e[54];let B;e[55]!==a?(B=a("count"),e[55]=a,e[56]=B):B=e[56];let V;e[57]!==B?(V=(0,t.jsx)(ne,{className:"text-right",children:B}),e[57]=B,e[58]=V):V=e[58];let X;e[59]!==a?(X=a("range"),e[59]=a,e[60]=X):X=e[60];let Y;e[61]!==X?(Y=(0,t.jsx)(ne,{className:"text-right",children:X}),e[61]=X,e[62]=Y):Y=e[62];let Z;e[63]!==a?(Z=a("trend"),e[63]=a,e[64]=Z):Z=e[64];let ee;e[65]!==Z?(ee=(0,t.jsx)(ne,{children:Z}),e[65]=Z,e[66]=ee):ee=e[66];let te;e[67]!==a?(te=a("trace"),e[67]=a,e[68]=te):te=e[68];let re;e[69]!==te?(re=(0,t.jsx)(ne,{children:te}),e[69]=te,e[70]=re):re=e[70];let ae;e[71]!==a?(ae=a("dimensions"),e[71]=a,e[72]=ae):ae=e[72];let le;e[73]!==ae?(le=(0,t.jsx)(ne,{children:ae}),e[73]=ae,e[74]=le):le=e[74],e[75]!==Q||e[76]!==H||e[77]!==G||e[78]!==V||e[79]!==Y||e[80]!==ee||e[81]!==re||e[82]!==le?(M=(0,t.jsx)(nt,{children:(0,t.jsxs)(je,{children:[Q,H,G,V,Y,ee,re,le]})}),e[75]=Q,e[76]=H,e[77]=G,e[78]=V,e[79]=Y,e[80]=ee,e[81]=re,e[82]=le,e[83]=M):M=e[83],b=it,F=me.map(i=>{let C=Ot(i.attributes),O=Et(i.kind,i.name,i.attributes),K=(Le.get(O)??[]).map(se=>Wt(i.kind,se));return(0,t.jsxs)(je,{"data-testid":`mt-instrument-${i.name}`,children:[(0,t.jsx)(P,{className:"font-mono text-xs",title:i.functionPath,children:i.name}),(0,t.jsx)(P,{children:(0,t.jsx)(We,{variant:Yt[i.kind],children:j(i.kind)})}),(0,t.jsx)(P,{className:"text-right font-mono tabular-nums","data-testid":`mt-instrument-value-${i.name}`,children:dt(Gt(i))}),(0,t.jsx)(P,{className:"text-right tabular-nums text-muted-foreground",children:i.count.toLocaleString()}),(0,t.jsx)(P,{className:"text-right font-mono text-xs tabular-nums text-muted-foreground",children:i.min===i.max?"\u2014":`${dt(i.min)}\u2013${dt(i.max)}`}),(0,t.jsx)(P,{children:K.length>=2?(0,t.jsx)(ot,{ariaLabel:a("{name} trend",{name:i.name}),className:"h-6 w-24 text-foreground",series:K,testId:`mt-instrument-trend-${i.name}`}):(0,t.jsx)("span",{className:"text-xs text-muted-foreground",children:"\u2014"})}),(0,t.jsx)(P,{className:"font-mono text-xs",children:(0,t.jsx)(Zt,{name:i.name,onOpenTrace:s,traceId:i.exemplarTraceId})}),(0,t.jsx)(P,{className:"max-w-64 truncate font-mono text-xs text-muted-foreground",title:C,children:C===""?"\u2014":C})]},O)})}e[6]=g,e[7]=f,e[8]=x,e[9]=m,e[10]=s,e[11]=a,e[12]=b,e[13]=L,e[14]=k,e[15]=D,e[16]=z,e[17]=o,e[18]=y,e[19]=q,e[20]=F,e[21]=T,e[22]=M,e[23]=N,e[24]=A}else b=e[12],L=e[13],k=e[14],D=e[15],z=e[16],o=e[17],y=e[18],q=e[19],F=e[20],T=e[21],M=e[22],N=e[23],A=e[24];if(q!==Symbol.for("react.early_return_sentinel"))return q;let J;e[84]!==b||e[85]!==F?(J=(0,t.jsx)(b,{children:F}),e[84]=b,e[85]=F,e[86]=J):J=e[86];let R;e[87]!==L||e[88]!==J||e[89]!==T||e[90]!==M?(R=(0,t.jsxs)(L,{"data-testid":T,children:[M,J]}),e[87]=L,e[88]=J,e[89]=T,e[90]=M,e[91]=R):R=e[91];let I;e[92]!==k||e[93]!==R||e[94]!==N?(I=(0,t.jsx)(k,{className:N,children:R}),e[92]=k,e[93]=R,e[94]=N,e[95]=I):I=e[95];let $;e[96]!==D||e[97]!==I||e[98]!==A?($=(0,t.jsx)(D,{className:A,children:I}),e[96]=D,e[97]=I,e[98]=A,e[99]=$):$=e[99];let de;return e[100]!==z||e[101]!==o||e[102]!==y||e[103]!==$?(de=(0,t.jsxs)("section",{className:z,"data-testid":o,children:[y,$]}),e[100]=z,e[101]=o,e[102]=y,e[103]=$,e[104]=de):de=e[104],de},"er"),Ve=n(l=>l>=100?"critical":l>=50?"warning":"good","We"),Pe=n(l=>l<1?`${(l*1e3).toFixed(0)}\u03BCs`:l<1e3?`${l.toFixed(1)}ms`:`${(l/1e3).toFixed(2)}s`,"Le"),Be=n(l=>l>=1e9?`${(l/1e9).toFixed(1)}B`:l>=1e6?`${(l/1e6).toFixed(1)}M`:l>=1e3?`${(l/1e3).toFixed(1)}K`:l.toLocaleString(),"Je"),tr=n(l=>{let e=(0,Ke.c)(3),{level:s}=l;if(s==="critical"){let a;return e[0]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)(We,{variant:"destructive",children:"Slow"}),e[0]=a):a=e[0],a}if(s==="warning"){let a;return e[1]===Symbol.for("react.memo_cache_sentinel")?(a=(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-md border border-transparent bg-warning/10 px-2 py-0.5 text-xs font-medium text-warning",children:"Moderate"}),e[1]=a):a=e[1],a}let r;return e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,t.jsx)("span",{className:"inline-flex items-center gap-1 rounded-md border border-transparent bg-success/10 px-2 py-0.5 text-xs font-medium text-success",children:"Fast"}),e[2]=r):r=e[2],r},"tr"),rr=n((l,e)=>{let s=[...l];return s.sort((r,a)=>{switch(e){case"avgTime":return a.avgDurationMs-r.avgDurationMs;case"execCount":return a.execCount-r.execCount;case"rowsRead":return a.rowsRead-r.rowsRead;default:return a.totalDurationMs-r.totalDurationMs}}),s},"rr"),ar=n(l=>{let e=(0,Ke.c)(161),{queryStats:s}=l,r=Te(),[a,u]=(0,_.useState)("totalTime"),c;e[0]===Symbol.for("react.memo_cache_sentinel")?(c=new Set,e[0]=c):c=e[0];let[g,f]=(0,_.useState)(c),x;e[1]===Symbol.for("react.memo_cache_sentinel")?(x=n(A=>{A!==null&&u(A)},"x"),e[1]=x):x=e[1];let v=x,h,m,b,L,k,D,z,o,y,q;if(e[2]!==g||e[3]!==s||e[4]!==a||e[5]!==r){b=Symbol.for("react.early_return_sentinel");e:{let A=rr(s,a),J;e[16]!==s?(J=s.filter(lr),e[16]=s,e[17]=J):J=e[17];let R=J.length,I;e[18]!==s?(I=s.filter(sr),e[18]=s,e[19]=I):I=e[19];let $=I.length,de;e[20]!==s?(de=s.filter(nr),e[20]=s,e[21]=de):de=e[21];let me=de.length,ue;e[22]===Symbol.for("react.memo_cache_sentinel")?(ue=n(p=>{f(ie=>{let E=new Set(ie);return E.has(p)?E.delete(p):E.add(p),E})},"ce"),e[22]=ue):ue=e[22];let Le=ue;if(s.length===0){let p;e[23]!==r?(p=r("No query insights yet"),e[23]=r,e[24]=p):p=e[24];let ie;e[25]!==p?(ie=(0,t.jsx)("p",{className:"text-lg font-medium","data-testid":"qi-empty",children:p}),e[25]=p,e[26]=ie):ie=e[26];let E;e[27]!==r?(E=r("Query insights appear once statements are executed against this shard."),e[27]=r,e[28]=E):E=e[28];let he;e[29]!==E?(he=(0,t.jsx)("p",{className:"mt-1 text-sm",children:E}),e[29]=E,e[30]=he):he=e[30];let He;e[31]!==ie||e[32]!==he?(He=(0,t.jsx)(ce,{children:(0,t.jsx)(ge,{className:"py-12",children:(0,t.jsxs)("div",{className:"text-center text-muted-foreground",children:[ie,he]})})}),e[31]=ie,e[32]=he,e[33]=He):He=e[33],b=He;break e}z="space-y-4",o="qi-root";let d;e[34]!==r?(d=r("Critical queries"),e[34]=r,e[35]=d):d=e[35];let j;e[36]!==d?(j=(0,t.jsx)(ze,{className:"pb-2",children:(0,t.jsx)(Ae,{className:"text-sm font-medium",children:d})}),e[36]=d,e[37]=j):j=e[37];let w;e[38]!==R?(w=(0,t.jsx)("div",{className:"text-2xl font-bold text-destructive","data-testid":"qi-critical",children:R}),e[38]=R,e[39]=w):w=e[39];let S;e[40]!==r?(S=r(">100ms avg execution"),e[40]=r,e[41]=S):S=e[41];let Q;e[42]!==S?(Q=(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:S}),e[42]=S,e[43]=Q):Q=e[43];let U;e[44]!==w||e[45]!==Q?(U=(0,t.jsxs)(ge,{children:[w,Q]}),e[44]=w,e[45]=Q,e[46]=U):U=e[46];let H;e[47]!==j||e[48]!==U?(H=(0,t.jsxs)(ce,{children:[j,U]}),e[47]=j,e[48]=U,e[49]=H):H=e[49];let W;e[50]!==r?(W=r("Moderate queries"),e[50]=r,e[51]=W):W=e[51];let G;e[52]!==W?(G=(0,t.jsx)(ze,{className:"pb-2",children:(0,t.jsx)(Ae,{className:"text-sm font-medium",children:W})}),e[52]=W,e[53]=G):G=e[53];let B;e[54]!==$?(B=(0,t.jsx)("div",{className:"text-2xl font-bold text-warning","data-testid":"qi-moderate",children:$}),e[54]=$,e[55]=B):B=e[55];let V;e[56]!==r?(V=r("50\u2013100ms avg execution"),e[56]=r,e[57]=V):V=e[57];let X;e[58]!==V?(X=(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:V}),e[58]=V,e[59]=X):X=e[59];let Y;e[60]!==B||e[61]!==X?(Y=(0,t.jsxs)(ge,{children:[B,X]}),e[60]=B,e[61]=X,e[62]=Y):Y=e[62];let Z;e[63]!==G||e[64]!==Y?(Z=(0,t.jsxs)(ce,{children:[G,Y]}),e[63]=G,e[64]=Y,e[65]=Z):Z=e[65];let ee;e[66]!==r?(ee=r("Fast queries"),e[66]=r,e[67]=ee):ee=e[67];let te;e[68]!==ee?(te=(0,t.jsx)(ze,{className:"pb-2",children:(0,t.jsx)(Ae,{className:"text-sm font-medium",children:ee})}),e[68]=ee,e[69]=te):te=e[69];let re;e[70]!==me?(re=(0,t.jsx)("div",{className:"text-2xl font-bold text-success","data-testid":"qi-fast",children:me}),e[70]=me,e[71]=re):re=e[71];let ae;e[72]!==r?(ae=r("<50ms avg execution"),e[72]=r,e[73]=ae):ae=e[73];let le;e[74]!==ae?(le=(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:ae}),e[74]=ae,e[75]=le):le=e[75];let i;e[76]!==re||e[77]!==le?(i=(0,t.jsxs)(ge,{children:[re,le]}),e[76]=re,e[77]=le,e[78]=i):i=e[78];let C;e[79]!==te||e[80]!==i?(C=(0,t.jsxs)(ce,{children:[te,i]}),e[79]=te,e[80]=i,e[81]=C):C=e[81],e[82]!==H||e[83]!==Z||e[84]!==C?(y=(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-3",children:[H,Z,C]}),e[82]=H,e[83]=Z,e[84]=C,e[85]=y):y=e[85];let O;e[86]!==r?(O=r("Query leaderboard"),e[86]=r,e[87]=O):O=e[87];let K;e[88]!==O?(K=(0,t.jsx)("h3",{className:"text-lg font-semibold",children:O}),e[88]=O,e[89]=K):K=e[89];let se;e[90]!==a||e[91]!==r?(se=r("Slow queries sorted by {sortField}",{sortField:r(a)}),e[90]=a,e[91]=r,e[92]=se):se=e[92];let pe;e[93]!==se?(pe=(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:se}),e[93]=se,e[94]=pe):pe=e[94];let fe;e[95]!==K||e[96]!==pe?(fe=(0,t.jsxs)("div",{children:[K,pe]}),e[95]=K,e[96]=pe,e[97]=fe):fe=e[97];let xe;e[98]!==r?(xe=r("Sort by"),e[98]=r,e[99]=xe):xe=e[99];let be;e[100]!==xe?(be=(0,t.jsx)("span",{className:"text-sm text-muted-foreground",children:xe}),e[100]=xe,e[101]=be):be=e[101];let ve;e[102]!==r?(ve=r("Sort queries by"),e[102]=r,e[103]=ve):ve=e[103];let Je;e[104]===Symbol.for("react.memo_cache_sentinel")?(Je=(0,t.jsx)(Dt,{}),e[104]=Je):Je=e[104];let ye;e[105]!==ve?(ye=(0,t.jsx)(Ft,{"aria-label":ve,className:"w-[140px]","data-testid":"qi-sort",children:Je}),e[105]=ve,e[106]=ye):ye=e[106];let Ne;e[107]!==r?(Ne=r("Total time"),e[107]=r,e[108]=Ne):Ne=e[108];let we;e[109]!==Ne?(we=(0,t.jsx)(Ee,{value:"totalTime",children:Ne}),e[109]=Ne,e[110]=we):we=e[110];let Se;e[111]!==r?(Se=r("Avg time"),e[111]=r,e[112]=Se):Se=e[112];let qe;e[113]!==Se?(qe=(0,t.jsx)(Ee,{value:"avgTime",children:Se}),e[113]=Se,e[114]=qe):qe=e[114];let ke;e[115]!==r?(ke=r("Execution count"),e[115]=r,e[116]=ke):ke=e[116];let $e;e[117]!==ke?($e=(0,t.jsx)(Ee,{value:"execCount",children:ke}),e[117]=ke,e[118]=$e):$e=e[118];let _e;e[119]!==r?(_e=r("Rows read"),e[119]=r,e[120]=_e):_e=e[120];let Me;e[121]!==_e?(Me=(0,t.jsx)(Ee,{value:"rowsRead",children:_e}),e[121]=_e,e[122]=Me):Me=e[122];let Ie;e[123]!==we||e[124]!==qe||e[125]!==$e||e[126]!==Me?(Ie=(0,t.jsxs)(Tt,{children:[we,qe,$e,Me]}),e[123]=we,e[124]=qe,e[125]=$e,e[126]=Me,e[127]=Ie):Ie=e[127];let Ce;e[128]!==a||e[129]!==ye||e[130]!==Ie?(Ce=(0,t.jsxs)(Ct,{onValueChange:v,value:a,children:[ye,Ie]}),e[128]=a,e[129]=ye,e[130]=Ie,e[131]=Ce):Ce=e[131];let De;e[132]!==be||e[133]!==Ce?(De=(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[be,Ce]}),e[132]=be,e[133]=Ce,e[134]=De):De=e[134],e[135]!==fe||e[136]!==De?(q=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[fe,De]}),e[135]=fe,e[136]=De,e[137]=q):q=e[137],m=ce;let Fe;e[138]!==r?(Fe=r("Statements"),e[138]=r,e[139]=Fe):Fe=e[139];let Qe;e[140]!==Fe?(Qe=(0,t.jsx)(Ae,{children:Fe}),e[140]=Fe,e[141]=Qe):Qe=e[141],D=(0,t.jsxs)(ze,{children:[Qe,(0,t.jsx)(gt,{children:r("{count} tracked statements",{count:A.length})})]}),h=ge,L="space-y-2";let Ue;e[142]!==g||e[143]!==r?(Ue=n(p=>{let ie=p.normalizedSql,E=g.has(ie),he=Ve(p.avgDurationMs);return(0,t.jsxs)("div",{className:"overflow-hidden rounded-lg border","data-testid":"qi-row",children:[(0,t.jsxs)("button",{"aria-expanded":E,className:"flex w-full items-center justify-between p-3 text-left transition-colors hover:bg-muted/50",onClick:n(()=>{Le(ie)},"onClick"),type:"button",children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)(tr,{level:he}),(0,t.jsx)("span",{className:"max-w-[300px] truncate font-mono text-sm lg:max-w-[500px]",children:p.normalizedSql})]}),(0,t.jsxs)("div",{className:"flex shrink-0 items-center gap-4",children:[(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:Pe(p.totalDurationMs)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:r("total")})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:Pe(p.avgDurationMs)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:r("avg")})]}),p.p95DurationMs!==void 0&&(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:Pe(p.p95DurationMs)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:r("p95")})]}),(0,t.jsxs)("div",{className:"text-right",children:[(0,t.jsx)("div",{className:"text-sm font-medium",children:Be(p.execCount)}),(0,t.jsx)("div",{className:"text-xs text-muted-foreground",children:r("calls")})]})]})]}),E&&(0,t.jsxs)("div",{className:"space-y-3 border-t bg-muted/30 p-4",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("p",{className:"mb-2 text-sm font-medium",children:r("Full statement")}),(0,t.jsx)("pre",{className:"overflow-x-auto rounded-md bg-muted p-3 font-mono text-sm whitespace-pre-wrap break-all",children:p.normalizedSql})]}),(0,t.jsxs)("div",{className:"grid grid-cols-2 gap-4 text-sm md:grid-cols-4",children:[p.p50DurationMs!==void 0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:r("p50")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Pe(p.p50DurationMs)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:r("Exec count")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Be(p.execCount)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:r("Total time")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Pe(p.totalDurationMs)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:r("Rows read")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Be(p.rowsRead)})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:r("Rows written")}),(0,t.jsx)("span",{className:"block font-medium tabular-nums",children:Be(p.rowsWritten)})]})]})]})]},ie)},"Ee"),e[142]=g,e[143]=r,e[144]=Ue):Ue=e[144],k=A.map(Ue)}e[2]=g,e[3]=s,e[4]=a,e[5]=r,e[6]=h,e[7]=m,e[8]=b,e[9]=L,e[10]=k,e[11]=D,e[12]=z,e[13]=o,e[14]=y,e[15]=q}else h=e[6],m=e[7],b=e[8],L=e[9],k=e[10],D=e[11],z=e[12],o=e[13],y=e[14],q=e[15];if(b!==Symbol.for("react.early_return_sentinel"))return b;let F;e[145]!==L||e[146]!==k?(F=(0,t.jsx)("div",{className:L,children:k}),e[145]=L,e[146]=k,e[147]=F):F=e[147];let T;e[148]!==h||e[149]!==F?(T=(0,t.jsx)(h,{children:F}),e[148]=h,e[149]=F,e[150]=T):T=e[150];let M;e[151]!==m||e[152]!==T||e[153]!==D?(M=(0,t.jsxs)(m,{children:[D,T]}),e[151]=m,e[152]=T,e[153]=D,e[154]=M):M=e[154];let N;return e[155]!==M||e[156]!==z||e[157]!==o||e[158]!==y||e[159]!==q?(N=(0,t.jsxs)("div",{className:z,"data-testid":o,children:[y,q,M]}),e[155]=M,e[156]=z,e[157]=o,e[158]=y,e[159]=q,e[160]=N):N=e[160],N},"ar");function lr(l){return Ve(l.avgDurationMs)==="critical"}n(lr,"sr");function sr(l){return Ve(l.avgDurationMs)==="warning"}n(sr,"lr");function nr(l){return Ve(l.avgDurationMs)==="good"}n(nr,"nr");var ir=["1m","5m","15m","1h"],or=n(l=>new Date(l).toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit"}),"or"),dr=n(l=>l.map(e=>({avg:Math.round(e.avgDurationMs*100)/100,execs:e.execCount,label:or(e.bucketMs)})),"dr"),cr=n(({shardKey:l=""})=>{let e=Te(),[s,r]=(0,_.useState)("15m"),a=Re(Oe.getQueryInsights,{range:s},{live:!0,shardKey:l}).data,u=dr(a?.buckets??[]);return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"qi-range",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)("div",{className:"flex gap-1 rounded-lg border border-border p-0.5","data-testid":"qi-ranges",role:"group",children:ir.map(c=>(0,t.jsx)("button",{"aria-pressed":c===s,className:ht("rounded px-2 py-1 text-xs outline-none transition-colors hover:bg-accent focus-visible:bg-accent",c===s&&"bg-accent font-medium text-foreground"),"data-testid":`qi-range-${c}`,onClick:n(()=>{r(c)},"onClick"),type:"button",children:c},c))}),a?.capped===!0&&(0,t.jsx)(We,{"data-testid":"qi-capped",variant:"secondary",children:e("showing a capped set")})]}),u.length===0?(0,t.jsx)(pt,{description:e("Statements executed in the selected window appear here, with throughput and latency over time."),testId:"qi-empty",title:e("No queries in this window.")}):(0,t.jsxs)("div",{className:"grid gap-4 lg:grid-cols-2",children:[(0,t.jsxs)("figure",{className:"rounded-xl border border-border p-3","data-testid":"qi-throughput",children:[(0,t.jsx)("figcaption",{className:"mb-2 text-xs font-medium text-muted-foreground",children:e("Throughput")}),(0,t.jsx)(et,{height:140,width:"100%",children:(0,t.jsxs)(St,{data:u,children:[(0,t.jsx)(rt,{strokeDasharray:"3 3",vertical:!1}),(0,t.jsx)(at,{dataKey:"label",fontSize:10,tickLine:!1}),(0,t.jsx)(lt,{allowDecimals:!1,fontSize:10,tickLine:!1,width:32}),(0,t.jsx)(tt,{}),(0,t.jsx)(Nt,{dataKey:"execs",fill:"var(--color-primary)",fillOpacity:.15,stroke:"var(--color-primary)",type:"monotone"})]})})]}),(0,t.jsxs)("figure",{className:"rounded-xl border border-border p-3","data-testid":"qi-latency",children:[(0,t.jsx)("figcaption",{className:"mb-2 text-xs font-medium text-muted-foreground",children:e("Mean latency (ms)")}),(0,t.jsx)(et,{height:140,width:"100%",children:(0,t.jsxs)(wt,{data:u,children:[(0,t.jsx)(rt,{strokeDasharray:"3 3",vertical:!1}),(0,t.jsx)(at,{dataKey:"label",fontSize:10,tickLine:!1}),(0,t.jsx)(lt,{fontSize:10,tickLine:!1,width:32}),(0,t.jsx)(tt,{}),(0,t.jsx)(yt,{dataKey:"avg",dot:!1,stroke:"var(--color-destructive)",type:"monotone"})]})})]})]}),(0,t.jsx)(ar,{queryStats:a?.entries??[]})]})},"cr"),mr=ft(Oe.getMetrics),ur=n(l=>{let e=Math.floor(l/1e3),s=Math.floor(e/3600),r=Math.floor(e%3600/60),a=e%60;return s>0?`${s.toString()}h ${r.toString()}m`:r>0?`${r.toString()}m ${a.toString()}s`:`${a.toString()}s`},"ur"),hr=n((l,e)=>l?e:"overview","hr"),gr=n((l,e)=>{let s=l+e;return s===0?"\u2014":`${(l/s*100).toFixed(1)}%`},"gr"),oe=n(l=>{let e=(0,Ke.c)(16),{chart:s,footer:r,label:a,testId:u,value:c}=l,g;e[0]!==a?(g=(0,t.jsx)("span",{className:"font-mono text-[11px] tracking-wide text-muted-foreground uppercase",children:a}),e[0]=a,e[1]=g):g=e[1];let f;e[2]!==u||e[3]!==c?(f=(0,t.jsx)("span",{className:"truncate text-2xl font-semibold tabular-nums text-foreground","data-testid":u,children:c}),e[2]=u,e[3]=c,e[4]=f):f=e[4];let x;e[5]!==s||e[6]!==f?(x=(0,t.jsxs)("div",{className:"flex items-center justify-between gap-3",children:[f,s]}),e[5]=s,e[6]=f,e[7]=x):x=e[7];let v;e[8]!==g||e[9]!==x?(v=(0,t.jsxs)("div",{className:"flex flex-col gap-2.5 p-4",children:[g,x]}),e[8]=g,e[9]=x,e[10]=v):v=e[10];let h;e[11]!==r?(h=r!=null&&(0,t.jsx)("div",{className:"border-t border-border bg-muted/50 px-4 py-2.5 text-[11px] text-muted-foreground",children:r}),e[11]=r,e[12]=h):h=e[12];let m;return e[13]!==v||e[14]!==h?(m=(0,t.jsxs)(ce,{className:"justify-between gap-0 py-0",children:[v,h]}),e[13]=v,e[14]=h,e[15]=m):m=e[15],m},"ne"),jt=n(l=>l<=0?"\u2014":l<1?`${(l*1e3).toFixed(0)}\u03BCs`:l<1e3?`${l.toFixed(1)}ms`:`${(l/1e3).toFixed(2)}s`,"dt"),Ar=n(({initialShardKey:l})=>{let e=mt(),s=Te(),r=ut(),[a,u]=(0,_.useState)(l??""),[c,g]=(0,_.useState)("overview"),[f,x]=(0,_.useState)([]),v=(0,_.useRef)(null),h=(0,_.useRef)(null),m=(0,_.useRef)(!0);(0,_.useEffect)(()=>(m.current=!0,()=>{m.current=!1}),[]);let b=_t(a.trim(),400),L=n(d=>{Rt({shardKey:b,traceId:d}),Ze(r({to:"/traces"}))},"O"),{data:k,error:D,liveError:z}=Re(Oe.getMetrics,{},{live:!0,shardKey:b}),o=k??null;(0,_.useEffect)(()=>{if(k===void 0)return;kt(b);let d=k,j=v.current,w=h.current!==null&&h.current!==d.shard;if(h.current=d.shard,v.current=d.requests,w){x([]);return}j!==null&&d.requests>=j&&x(S=>[...S,d.requests-j].slice(-30))},[k,b]);let[y,q]=(0,_.useState)(null),[F,T]=(0,_.useState)(!1),M=n(async()=>{T(!0);let d=Lt(a,qt());try{let j=await Promise.all(d.map(async w=>{try{let S=await e.query(mr,{},xt(w));return{error:null,metrics:S,shard:w===""?S.shard:w}}catch(S){return{error:bt(S),metrics:null,shard:w===""?"__root__":w}}}));m.current&&q(j)}finally{m.current&&T(!1)}},"_"),N=y===null?null:Kt(y),A=o===null||o.requests===0?"\u2014":`${(o.errors/o.requests*100).toFixed(1)}%`,J=f.length>0?f.at(-1):0,R=o?zt(o):{p90:0,p95:0},I=(0,_.useMemo)(()=>{if(!o||!("queryStats"in o))return;let d=o.queryStats;if(!(!d||!Array.isArray(d)))return At(d)},[o]),$=hr(I!==void 0,c),de=n(()=>{Ze(M())},"oe"),me=n(()=>{q(null)},"de"),ue=n(()=>{g("overview")},"ce"),Le=n(()=>{g("query-insights")},"Fe");return(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"lunora-metrics",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,t.jsx)($t,{onChange:u,testId:"mt-shard-input",value:a}),(0,t.jsx)(Mt,{message:z,prefix:"mt"}),(0,t.jsx)(Ye,{"data-testid":"mt-aggregate",disabled:F,onClick:de,size:"sm",type:"button",variant:"secondary",children:s(F?"Aggregating\u2026":"All shards")}),y!==null&&(0,t.jsx)(Ye,{"data-testid":"mt-aggregate-clear",onClick:me,size:"sm",type:"button",variant:"ghost",children:s("Hide")}),(0,t.jsx)("a",{className:"text-sm text-primary underline-offset-4 hover:underline","data-testid":"mt-cf-link",href:It,rel:"noreferrer",target:"_blank",children:s("Open in Cloudflare")})]}),D!==null&&(0,t.jsx)("p",{className:"text-sm text-destructive","data-testid":"mt-error",role:"alert",children:D}),I!==void 0&&(0,t.jsxs)("div",{className:"flex gap-2 border-b","data-testid":"mt-tabs",children:[(0,t.jsx)("button",{className:`pb-2 text-sm font-medium transition-colors ${$==="overview"?"border-b-2 border-primary text-foreground":"text-muted-foreground hover:text-foreground"}`,"data-testid":"mt-tab-overview",onClick:ue,type:"button",children:s("Overview")}),(0,t.jsxs)("button",{className:`pb-2 text-sm font-medium transition-colors ${$==="query-insights"?"border-b-2 border-primary text-foreground":"text-muted-foreground hover:text-foreground"}`,"data-testid":"mt-tab-query-insights",onClick:Le,type:"button",children:[s("Query insights"),I.length>0&&(0,t.jsx)("span",{className:"ml-1.5 rounded-full bg-primary/10 px-1.5 py-0.5 text-xs text-primary",children:I.length})]})]}),$==="query-insights"&&I!==void 0&&(0,t.jsx)(cr,{shardKey:b}),$==="overview"&&o!==null&&(0,t.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4","data-testid":"mt-stats",children:[(0,t.jsx)(oe,{chart:f.length>=2?(0,t.jsx)(ot,{ariaLabel:s("Requests per interval over time"),className:"h-7 w-24 text-foreground",series:f,testId:"mt-sparkline"}):void 0,footer:f.length>=2?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"font-semibold text-foreground",children:`+${J.toLocaleString()}`})," ",s("last interval")]}):(0,t.jsx)("span",{"data-testid":"mt-sparkline-empty",children:s("collecting samples\u2026")}),label:s("Requests"),testId:"mt-requests",value:o.requests}),(0,t.jsx)(oe,{footer:s("{rate} error rate",{rate:A}),label:s("Errors"),testId:"mt-errors",value:(0,t.jsxs)(t.Fragment,{children:[o.errors," (",A,")"]})}),(0,t.jsx)(oe,{footer:R.p90>0?`P90 ${jt(R.p90)}`:void 0,label:s("P95 latency"),testId:"mt-p95",value:R.p95>0?jt(R.p95):"\u2014"}),(0,t.jsx)(oe,{footer:o.cache===null?void 0:`${o.cache.entries.toLocaleString()} ${s("cache entries")}`,label:s("Database size"),testId:"mt-db-size",value:Ge(o.databaseSize)}),(0,t.jsx)(oe,{label:s("Shard"),testId:"mt-shard",value:o.shard}),(0,t.jsx)(oe,{label:s("Uptime"),testId:"mt-uptime",value:ur(o.uptimeMs)}),(0,t.jsx)(oe,{label:s("Cache hit rate"),testId:"mt-cache",value:o.cache===null?s("no cache configured"):s("{rate} ({count} entries)",{count:o.cache.entries,rate:gr(o.cache.hits,o.cache.misses)})})]}),$==="overview"&&o===null&&null,$==="overview"&&(0,t.jsx)(er,{onOpenTrace:L,shardKey:b}),$==="overview"&&N!==null&&y!==null&&(0,t.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"mt-aggregate-view",children:[(0,t.jsxs)("dl",{className:"grid gap-3 sm:grid-cols-2 lg:grid-cols-3","data-testid":"mt-aggregate-stats",children:[(0,t.jsx)(oe,{label:s("Shards"),testId:"mt-agg-shards",value:N.failed>0?s("{reachable} reachable, {failed} unreachable",{failed:N.failed,reachable:N.reachable}):s("{reachable} reachable",{reachable:N.reachable})}),(0,t.jsx)(oe,{label:s("Total requests"),testId:"mt-agg-requests",value:N.totalRequests}),(0,t.jsx)(oe,{label:s("Total errors"),testId:"mt-agg-errors",value:N.totalErrors}),(0,t.jsx)(oe,{label:s("Total database size"),testId:"mt-agg-db-size",value:Ge(N.totalDatabaseSize)}),(0,t.jsx)(oe,{label:s("Combined cache hit rate"),testId:"mt-agg-cache",value:N.hitRate===null?s("no cache configured"):`${(N.hitRate*100).toFixed(1)}%`})]}),(0,t.jsx)(ce,{className:"overflow-hidden py-0",children:(0,t.jsx)(ge,{className:"px-0",children:(0,t.jsxs)(st,{"data-testid":"mt-agg-table",children:[(0,t.jsx)(nt,{children:(0,t.jsxs)(je,{children:[(0,t.jsx)(ne,{children:s("shard")}),(0,t.jsx)(ne,{children:s("requests")}),(0,t.jsx)(ne,{children:s("errors")}),(0,t.jsx)(ne,{children:s("db size")})]})}),(0,t.jsx)(it,{children:y.map(d=>(0,t.jsxs)(je,{"data-testid":`mt-agg-row-${d.shard}`,children:[(0,t.jsx)(P,{children:d.shard}),d.metrics===null?(0,t.jsx)(P,{className:"text-destructive",colSpan:3,children:d.error??s("unreachable")}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(P,{className:"tabular-nums",children:d.metrics.requests}),(0,t.jsx)(P,{className:"tabular-nums",children:d.metrics.errors}),(0,t.jsx)(P,{className:"tabular-nums",children:Ge(d.metrics.databaseSize)})]})]},d.shard))})]})})})]})]})},"jr");export{Ar as MetricsPanel};
@@ -1 +0,0 @@
1
- var _={aiAvailable:"__lunora_admin__:aiAvailable",aiChartConfig:"__lunora_admin__:aiChartConfig",aiGenerateSql:"__lunora_admin__:aiGenerateSql",aiTableFilter:"__lunora_admin__:aiTableFilter",assignIssue:"__lunora_admin__:assignIssue",backRelationCounts:"__lunora_admin__:backRelationCounts",clearCapturedMail:"__lunora_admin__:clearCapturedMail",clearQueueMessages:"__lunora_admin__:clearQueueMessages",clearTable:"__lunora_admin__:clearTable",createWorkflowInstance:"__lunora_admin__:createWorkflowInstance",deleteRows:"__lunora_admin__:deleteRows",describeTable:"__lunora_admin__:describeTable",describeTables:"__lunora_admin__:describeTables",explainIssue:"__lunora_admin__:explainIssue",exportShard:"__lunora_admin__:exportShard",facetColumn:"__lunora_admin__:facetColumn",getAdvisories:"__lunora_admin__:getAdvisories",getAuditLog:"__lunora_admin__:getAuditLog",getAuthAuditLog:"__lunora_admin__:getAuthAuditLog",getAuthMetrics:"__lunora_admin__:getAuthMetrics",getCapturedMail:"__lunora_admin__:getCapturedMail",getFanoutMetrics:"__lunora_admin__:getFanoutMetrics",getFunctionStats:"__lunora_admin__:getFunctionStats",getIssues:"__lunora_admin__:getIssues",lintSql:"__lunora_admin__:lintSql",listFlags:"__lunora_admin__:listFlags",listPushSubscriptions:"__lunora_admin__:listPushSubscriptions",listQueues:"__lunora_admin__:listQueues",listSubscriptions:"__lunora_admin__:listSubscriptions",listTableIndexes:"__lunora_admin__:listTableIndexes",listWorkflows:"__lunora_admin__:listWorkflows",getLogs:"__lunora_admin__:getLogs",getMetricHistory:"__lunora_admin__:getMetricHistory",getMetricSeries:"__lunora_admin__:getMetricSeries",getMetrics:"__lunora_admin__:getMetrics",getPitrBookmark:"__lunora_admin__:getPitrBookmark",getQueryInsights:"__lunora_admin__:getQueryInsights",getQueueMessages:"__lunora_admin__:getQueueMessages",getRequestLog:"__lunora_admin__:getRequestLog",getSecurityAudit:"__lunora_admin__:getSecurityAudit",getSettings:"__lunora_admin__:getSettings",getTraces:"__lunora_admin__:getTraces",getWorkflowInstanceStatus:"__lunora_admin__:getWorkflowInstanceStatus",ignoreIssue:"__lunora_admin__:ignoreIssue",importShard:"__lunora_admin__:importShard",listTables:"__lunora_admin__:listTables",maskPolicies:"__lunora_admin__:maskPolicies",migrationStatus:"__lunora_admin__:migrationStatus",pitrRestore:"__lunora_admin__:pitrRestore",readTablePage:"__lunora_admin__:readTablePage",replayQueueMessage:"__lunora_admin__:replayQueueMessage",resolveIssue:"__lunora_admin__:resolveIssue",rlsPolicies:"__lunora_admin__:rlsPolicies",schemaHistory:"__lunora_admin__:schemaHistory",schemaVersion:"__lunora_admin__:schemaVersion",runAs:"__lunora_admin__:runAs",runMigration:"__lunora_admin__:runMigration",runSql:"__lunora_admin__:runSql",sendQueueMessage:"__lunora_admin__:sendQueueMessage",sendTestMail:"__lunora_admin__:sendTestMail",setIssueSeverity:"__lunora_admin__:setIssueSeverity",storageOrphans:"__lunora_admin__:storageOrphans",storageReferences:"__lunora_admin__:storageReferences",storageRules:"__lunora_admin__:storageRules",studioFeatures:"__lunora_admin__:studioFeatures",writeRow:"__lunora_admin__:writeRow"};export{_ as a};
@@ -1,2 +0,0 @@
1
- import{a as D}from"./chunk-LEDWUPXM.js";import"./chunk-2PJNAWB3.js";import{a as C}from"./chunk-IC4L6G56.js";import{a as P}from"./chunk-54MMVNPT.js";import"./chunk-BGBLQ563.js";import{a as q}from"./chunk-53WEPGUD.js";import"./chunk-XXQUMVWH.js";import"./chunk-RNL6BSFM.js";import"./chunk-QLQADHFE.js";import{c as _}from"./chunk-XDAT7LHC.js";import{R as H}from"./chunk-CFPZYHPY.js";import"./chunk-7QIFDWQV.js";import{c}from"./chunk-FXCBF4XT.js";import"./chunk-2OUPA2WJ.js";import{b as F}from"./chunk-THIXMMZD.js";import"./chunk-6ST5ECQA.js";import{a as f}from"./chunk-2WOIRKEI.js";import{f as $}from"./chunk-EN2QAEO4.js";import"./chunk-XBDKZZ67.js";import{a as I}from"./chunk-XQCVZAGU.js";import{d as E,f as g,g as v,h as N,m as w,o as O,q as y}from"./chunk-OG4N2XHD.js";import"./chunk-AADILRJW.js";import{a as i,e as L,f as se,h as de,j as A}from"./chunk-3XIESWL4.js";var u=L(se(),1);var e=L(de(),1);function le({className:r,orientation:l="horizontal",...a}){return(0,e.jsx)(C,{"data-slot":"separator",orientation:l,className:A("shrink-0 bg-border data-horizontal:h-px data-horizontal:w-full data-vertical:w-px data-vertical:self-stretch",r),...a})}i(le,"de");var oe=g(f.clearCapturedMail),ne=g(f.sendTestMail),ce=/https?:\/\/[^\s"'<>)]+/i,B=i(r=>r===void 0?void 0:ce.exec(r)?.[0],"z"),me=i(r=>{if(r!==void 0)return B(r.html)??B(r.text)},"ne"),ue=`<meta http-equiv="Content-Security-Policy" content="default-src 'none'; img-src data:; style-src 'unsafe-inline'; font-src data:">`,he=i(r=>`${ue}${r}`,"me"),x=i(r=>r===void 0?"":Array.isArray(r)?r.join(", "):r,"f"),pe=i((r,l)=>{let a=l.trim().toLowerCase();return a===""?r:r.filter(h=>`${h.subject} ${x(h.to)}`.toLowerCase().includes(a))},"ue"),fe=i((r,l)=>{if(r.length!==0)return r.find(a=>a.id===l)??r[0]},"he"),Ae=i(({limit:r=100})=>{let l=$(),a=E(),{data:h,error:k,errorSource:R,isLoading:U,refetch:b}=_(f.getCapturedMail,{limit:r}),[j,p]=(0,u.useState)(null),[W,T]=(0,u.useState)(null),[m,G]=(0,u.useState)("html"),[z,J]=(0,u.useState)(""),o=h?.entries??[],M=k??j,K=k===null?j:R,Q=i(async()=>{p(null);try{await l.query(oe,{},v("")),T(null),b()}catch(t){p(N(t))}},"H"),V=i(async()=>{p(null);try{await l.query(ne,{},v("")),b()}catch(t){p(N(t))}},"I");P(()=>{b()},!0);let X=i(()=>{w(Q())},"_"),Y=i(()=>{w(V())},"q"),Z=i(t=>{J(t.currentTarget.value)},"P"),ee=i(t=>{let{id:d}=t.currentTarget.dataset;d!==void 0&&T(d)},"D"),te=i(t=>{let d=t.currentTarget.dataset.tab;(d==="headers"||d==="html"||d==="text")&&G(d)},"R"),ae=i(t=>a(t==="html"?"HTML":t==="text"?"Plain text":"Headers"),"B"),S=pe(o,z),s=fe(S,W),n=me(s),re=i(()=>{n!==void 0&&O(n)},"U"),ie=i(()=>{n!==void 0&&"window"in globalThis&&globalThis.window.open(n,"_blank","noopener")},"W");return(0,e.jsxs)("div",{className:"flex flex-col gap-4","data-testid":"mail-panel",children:[(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[(0,e.jsx)(c,{"data-testid":"mail-send-test",onClick:Y,size:"sm",type:"button",variant:"outline",children:a("Send test")}),(0,e.jsx)(c,{"data-testid":"mail-clear",disabled:o.length===0,onClick:X,size:"sm",type:"button",variant:"outline",children:a("Clear inbox")}),o.length>0&&(0,e.jsx)(F,{className:"ml-auto","data-testid":"mail-count",variant:"secondary",children:a("{count} messages",{count:o.length})})]}),M!==null&&(0,e.jsx)(q,{error:K,testId:"mail-error"}),M===null&&!U&&o.length===0&&(0,e.jsx)(I,{description:a("Email your app sends in dev is captured here \u2014 nothing is delivered."),icon:(0,e.jsxs)("svg",{"aria-hidden":"true",fill:"none",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:1.6,viewBox:"0 0 24 24",children:[(0,e.jsx)("path",{d:"M4 5h16v14H4z"}),(0,e.jsx)("path",{d:"m4 6 8 6 8-6"})]}),testId:"mail-empty",title:a("No captured email.")}),o.length>0&&(0,e.jsxs)("div",{className:"grid grid-cols-1 gap-4 md:grid-cols-[minmax(0,22rem)_1fr]","data-testid":"mail-reader",children:[(0,e.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,e.jsx)(H,{"aria-label":a("Search messages"),"data-testid":"mail-search",onChange:Z,placeholder:a("Filter messages"),type:"search",value:z}),(0,e.jsx)(D,{className:"max-h-[32rem] rounded-xl border border-border bg-card shadow-xs","data-testid":"mail-list",children:(0,e.jsx)("ul",{className:"divide-y",children:S.map(t=>{let d=t.id===s?.id;return(0,e.jsx)("li",{children:(0,e.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 ${d?"bg-muted":""}`,"data-active":d,"data-id":t.id,"data-testid":"mail-list-item",onClick:ee,type:"button",children:[(0,e.jsx)("span",{className:"w-full truncate font-medium",children:t.subject||a("(no subject)")}),(0,e.jsx)("span",{className:"w-full truncate text-xs text-muted-foreground",children:x(t.to)}),(0,e.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums",children:y(t.capturedAt,"\u2014")})]})},t.id)})})})]}),s!==void 0&&(0,e.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,e.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,e.jsx)("h2",{className:"truncate text-base font-semibold","data-testid":"mail-subject",children:s.subject||a("(no subject)")}),(0,e.jsxs)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-0.5 text-xs text-muted-foreground",children:[(0,e.jsx)("dt",{children:a("From")}),(0,e.jsx)("dd",{className:"truncate font-mono",children:s.from??"\u2014"}),(0,e.jsx)("dt",{children:a("To")}),(0,e.jsx)("dd",{className:"truncate font-mono",children:x(s.to)}),s.cc!==void 0&&s.cc.length>0&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)("dt",{children:a("Cc")}),(0,e.jsx)("dd",{className:"truncate font-mono",children:x(s.cc)})]}),(0,e.jsx)("dt",{children:a("Sent")}),(0,e.jsx)("dd",{className:"tabular-nums",children:y(s.capturedAt,"\u2014")})]})]}),(0,e.jsxs)("div",{className:"flex flex-wrap items-center gap-2","data-testid":"mail-actions",children:[(0,e.jsx)(c,{"data-testid":"mail-copy-link",disabled:n===void 0,onClick:re,size:"sm",type:"button",variant:"outline",children:a("Copy link")}),(0,e.jsx)(c,{"data-testid":"mail-open-link",disabled:n===void 0,onClick:ie,size:"sm",type:"button",variant:"outline",children:a("Open in new tab")})]}),(0,e.jsx)(le,{}),(0,e.jsx)("div",{className:"flex items-center gap-1","data-testid":"mail-tabs",role:"tablist",children:["html","text","headers"].map(t=>(0,e.jsx)(c,{"aria-selected":m===t,"data-tab":t,"data-testid":`mail-tab-${t}`,onClick:te,role:"tab",size:"sm",type:"button",variant:m===t?"secondary":"ghost",children:ae(t)},t))}),(0,e.jsxs)("div",{className:"min-h-[12rem]",children:[m==="html"&&(s.html===void 0?(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:a("No HTML body.")}):(0,e.jsx)("iframe",{className:"h-[24rem] w-full rounded-md border bg-white","data-testid":"mail-preview-html",sandbox:"",srcDoc:he(s.html),title:a("Email preview")})),m==="text"&&(s.text===void 0?(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:a("No text body.")}):(0,e.jsx)("pre",{className:"overflow-auto whitespace-pre-wrap rounded-md border bg-muted/30 p-3 text-xs","data-testid":"mail-preview-text",children:s.text})),m==="headers"&&(s.headers===void 0||Object.keys(s.headers).length===0?(0,e.jsx)("p",{className:"text-sm text-muted-foreground",children:a("No headers.")}):(0,e.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(s.headers).map(([t,d])=>`${t}: ${d}`).join(`
2
- `)}))]})]})]})]})},"Me");export{Ae as MailPanel};