denchclaw 2.0.0 → 2.0.2

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 (36) hide show
  1. package/README.md +1 -1
  2. package/apps/web/.next/standalone/apps/web/.next/BUILD_ID +1 -1
  3. package/apps/web/.next/standalone/apps/web/.next/app-build-manifest.json +95 -95
  4. package/apps/web/.next/standalone/apps/web/.next/app-path-routes-manifest.json +27 -27
  5. package/apps/web/.next/standalone/apps/web/.next/build-manifest.json +2 -2
  6. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found.html +1 -1
  7. package/apps/web/.next/standalone/apps/web/.next/server/app/_not-found.rsc +1 -1
  8. package/apps/web/.next/standalone/apps/web/.next/server/app/api/workspace/init/route.js +1 -1
  9. package/apps/web/.next/standalone/apps/web/.next/server/app/index.html +2 -2
  10. package/apps/web/.next/standalone/apps/web/.next/server/app/index.rsc +1 -1
  11. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page.js +1 -1
  12. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace/page_client-reference-manifest.js +1 -1
  13. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace.html +1 -1
  14. package/apps/web/.next/standalone/apps/web/.next/server/app/workspace.rsc +2 -2
  15. package/apps/web/.next/standalone/apps/web/.next/server/app-paths-manifest.json +27 -27
  16. package/apps/web/.next/standalone/apps/web/.next/server/functions-config-manifest.json +20 -20
  17. package/apps/web/.next/standalone/apps/web/.next/server/pages/404.html +1 -1
  18. package/apps/web/.next/standalone/apps/web/.next/server/pages/500.html +1 -1
  19. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/workspace/page-a9c68aaa3f71a7fe.js +1 -0
  20. package/apps/web/.next/standalone/package.json +2 -2
  21. package/apps/web/.next/static/chunks/app/workspace/page-a9c68aaa3f71a7fe.js +1 -0
  22. package/dist/{cli-name-DUQ-cavN.js → cli-name-8WJ6gVD5.js} +36 -3
  23. package/dist/entry.js +2 -21
  24. package/dist/program-DSR-Zphq.js +2412 -0
  25. package/dist/{run-main-buUOQk0k.js → run-main-B-QwRglo.js} +9 -7
  26. package/package.json +2 -2
  27. package/apps/web/.next/standalone/apps/web/.next/static/chunks/app/workspace/page-d499296a443bbbf0.js +0 -1
  28. package/apps/web/.next/static/chunks/app/workspace/page-d499296a443bbbf0.js +0 -1
  29. package/dist/links-BTx7dmFj.js +0 -57
  30. package/dist/program-DahL9wBm.js +0 -195
  31. package/dist/register.bootstrap-D9YhQgaK.js +0 -1330
  32. package/dist/theme-uCBEEejb.js +0 -36
  33. /package/apps/web/.next/standalone/apps/web/.next/static/{oOwR1DKioMELtFQgLgScE → rfl8V4U-KWtyivUflJxQF}/_buildManifest.js +0 -0
  34. /package/apps/web/.next/standalone/apps/web/.next/static/{oOwR1DKioMELtFQgLgScE → rfl8V4U-KWtyivUflJxQF}/_ssgManifest.js +0 -0
  35. /package/apps/web/.next/static/{oOwR1DKioMELtFQgLgScE → rfl8V4U-KWtyivUflJxQF}/_buildManifest.js +0 -0
  36. /package/apps/web/.next/static/{oOwR1DKioMELtFQgLgScE → rfl8V4U-KWtyivUflJxQF}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6364],{4582:()=>{},40077:(e,t,r)=>{"use strict";r.d(t,{N:()=>U});var o=r(80534),l=r(74166),n=r(44960),a=r(2741),s=r(12890),i=r(19237),c=r(45770),d=r(68354),u=r(48357),x=r(3224),h=r(13707),p=r(23173),m=r(58313),f=r(97726),v=r(90171),g=r(66735),y=r(51329),b=r(12674),j=r(25249),k=r(11913),w=r(67283),N=r(60577),C=r(1208),S=r(84240),L=r(53940),M=r(13847),T=r(49166);let E=["#2563eb","#60a5fa","#22c55e","#f59e0b","#c084fc","#fb923c","#14b8a6","#f43f5e","#a78bfa","#38bdf8"],W={fontSize:11,fill:"var(--color-text-muted)"},R={stroke:"var(--color-border-strong)",strokeDasharray:"3 3"};function D(){return{contentStyle:{background:"var(--color-surface)",border:"1px solid var(--color-border)",borderRadius:8,fontSize:12,color:"var(--color-text)"},itemStyle:{color:"var(--color-text)"},labelStyle:{color:"var(--color-text-muted)",marginBottom:4}}}function I(e){return null==e?"":"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:String(e)}function B(e){return null==e?"":"object"==typeof e?JSON.stringify(e):"number"==typeof e?Math.abs(e)>=1e6?"".concat((e/1e6).toFixed(1),"M"):Math.abs(e)>=1e3?"".concat((e/1e3).toFixed(1),"K"):Number.isInteger(e)?String(e):e.toFixed(2):I(e)}function F(e){if(null==e)return"";let t=I(e);return t.length>16&&!isNaN(Date.parse(t))?t.slice(0,10):t.length>20?t.slice(0,18)+"...":t}function _(e){var t,r,l,p,m,f;let{config:v,data:g,compact:y,ChartComponent:b,SeriesComponent:j,areaProps:k}=e,{mapping:w}=v,N=null!=(l=null!=(r=w.xAxis)?r:Object.keys(null!=(t=g[0])?t:{})[0])?l:"x",C=null!=(m=w.yAxis)?m:Object.keys(null!=(p=g[0])?p:{}).filter(e=>e!==N),S=null!=(f=w.colors)?f:E,L=D();return(0,o.jsx)(n.u,{width:"100%",height:y?200:320,children:(0,o.jsxs)(b,{data:g,margin:{top:8,right:16,left:0,bottom:4},children:[(0,o.jsx)(a.d,{...R}),(0,o.jsx)(s.W,{dataKey:N,tick:W,tickFormatter:F,axisLine:{stroke:"var(--color-border)"},tickLine:!1}),(0,o.jsx)(i.h,{tick:W,tickFormatter:B,axisLine:!1,tickLine:!1,width:48}),(0,o.jsx)(c.m,{...L,formatter:B,labelFormatter:F}),C.length>1&&!y&&(0,o.jsx)(d.s,{wrapperStyle:{fontSize:11}}),C.map((e,t)=>{let r=S[t%S.length],l={key:e,dataKey:e,fill:r,stroke:r,name:e,...k};return j===u.yP&&(l.radius=[4,4,0,0],l.maxBarSize=48),j===x.N1&&(l.strokeWidth=2,l.dot={r:3,fill:r},l.activeDot={r:5}),j===h.Gk&&(l.fillOpacity=.15,l.strokeWidth=2),(0,o.jsx)(j,{...l})})]})})}function P(e){var t,r,l,a,s,i,u;let{config:x,data:h,compact:v}=e,{mapping:g,type:y}=x,b=null!=(l=null!=(r=g.nameKey)?r:Object.keys(null!=(t=h[0])?t:{})[0])?l:"name",j=null!=(i=null!=(s=g.valueKey)?s:Object.keys(null!=(a=h[0])?a:{})[1])?i:"value",k=null!=(u=g.colors)?u:E,w=D();return(0,o.jsx)(n.u,{width:"100%",height:v?200:320,children:(0,o.jsxs)(p.r,{children:[(0,o.jsx)(m.Fq,{data:h,dataKey:j,nameKey:b,cx:"50%",cy:"50%",innerRadius:"donut"===y?"50%":0,outerRadius:v?70:110,paddingAngle:2,label:v?void 0:e=>{let t=e.name,r="number"==typeof e.percent?e.percent:0;return"".concat(F(t)," ").concat((100*r).toFixed(0),"%")},labelLine:!v,style:{fontSize:11},children:h.map((e,t)=>(0,o.jsx)(f.f,{fill:k[t%k.length]},t))}),(0,o.jsx)(c.m,{...w,formatter:B}),!v&&(0,o.jsx)(d.s,{wrapperStyle:{fontSize:11}})]})})}function A(e){var t,r,l,a,s,i,u,x;let{config:h,data:p,compact:m}=e,{mapping:f}=h,k=null!=(a=null!=(l=null!=(t=f.xAxis)?t:f.nameKey)?l:Object.keys(null!=(r=p[0])?r:{})[0])?a:"name",w=null!=(u=f.yAxis)?u:[null!=(i=Object.keys(null!=(s=p[0])?s:{})[1])?i:"value"],N=null!=(x=f.colors)?x:E,C=D();return(0,o.jsx)(n.u,{width:"100%",height:m?200:320,children:(0,o.jsxs)(v.V,{data:p,cx:"50%",cy:"50%",outerRadius:m?60:100,children:[(0,o.jsx)(g.z,{stroke:"var(--color-border)"}),(0,o.jsx)(y.r,{dataKey:k,tick:{fontSize:11,fill:"var(--color-text-muted)"}}),(0,o.jsx)(b.E,{tick:{fontSize:10,fill:"var(--color-text-muted)"}}),w.map((e,t)=>(0,o.jsx)(j.Vd,{name:e,dataKey:e,stroke:N[t%N.length],fill:N[t%N.length],fillOpacity:.2},e)),(0,o.jsx)(c.m,{...C}),!m&&w.length>1&&(0,o.jsx)(d.s,{wrapperStyle:{fontSize:11}})]})})}function z(e){var t,r,l,u,x,h,p;let{config:m,data:f,compact:v}=e,{mapping:g}=m,y=null!=(l=null!=(r=g.xAxis)?r:Object.keys(null!=(t=f[0])?t:{})[0])?l:"x",b=null!=(h=g.yAxis)?h:[null!=(x=Object.keys(null!=(u=f[0])?u:{})[1])?x:"y"],j=null!=(p=g.colors)?p:E,N=D();return(0,o.jsx)(n.u,{width:"100%",height:v?200:320,children:(0,o.jsxs)(k.t,{margin:{top:8,right:16,left:0,bottom:4},children:[(0,o.jsx)(a.d,{...R}),(0,o.jsx)(s.W,{dataKey:y,tick:W,name:y,axisLine:{stroke:"var(--color-border)"},tickLine:!1}),(0,o.jsx)(i.h,{tick:W,tickFormatter:B,axisLine:!1,tickLine:!1,width:48}),(0,o.jsx)(c.m,{...N}),b.map((e,t)=>(0,o.jsx)(w.Xl,{name:e,data:f,fill:j[t%j.length]},e)),!v&&b.length>1&&(0,o.jsx)(d.s,{wrapperStyle:{fontSize:11}})]})})}function O(e){var t,r,l,a,s,i,d;let{config:u,data:x,compact:h}=e,{mapping:p}=u,m=null!=(l=null!=(r=p.nameKey)?r:Object.keys(null!=(t=x[0])?t:{})[0])?l:"name",f=null!=(i=null!=(s=p.valueKey)?s:Object.keys(null!=(a=x[0])?a:{})[1])?i:"value",v=null!=(d=p.colors)?d:E,g=D(),y=x.map((e,t)=>({...e,fill:v[t%v.length]}));return(0,o.jsx)(n.u,{width:"100%",height:h?200:320,children:(0,o.jsxs)(N.v,{children:[(0,o.jsx)(c.m,{...g}),(0,o.jsx)(C.rh,{data:y,dataKey:f,nameKey:m,isAnimationActive:!0,children:(0,o.jsx)(S.Ze,{position:"right",fill:"var(--color-text-muted)",stroke:"none",fontSize:11,dataKey:m})})]})})}function U(e){let{config:t,data:r,compact:n}=e,a=(0,l.useMemo)(()=>{var e;if(!r||0===r.length)return[];let{mapping:o}=t,l=new Set([...null!=(e=o.yAxis)?e:[],...o.valueKey?[o.valueKey]:[]]);return r.map(e=>{let t={...e};for(let e of l)if(e in t){let r=t[e];"string"!=typeof r||""===r||isNaN(Number(r))||(t[e]=Number(r))}return t})},[r,t]);if(0===a.length)return(0,o.jsx)("div",{className:"flex items-center justify-center rounded-xl",style:{height:n?200:320,background:"var(--color-surface)",border:"1px solid var(--color-border)",color:"var(--color-text-muted)",fontSize:13},children:"No data"});switch(t.type){case"bar":default:return(0,o.jsx)(_,{config:t,data:a,compact:n,ChartComponent:L.E,SeriesComponent:u.yP});case"line":return(0,o.jsx)(_,{config:t,data:a,compact:n,ChartComponent:M.b,SeriesComponent:x.N1});case"area":return(0,o.jsx)(_,{config:t,data:a,compact:n,ChartComponent:T.Q,SeriesComponent:h.Gk});case"pie":case"donut":return(0,o.jsx)(P,{config:t,data:a,compact:n});case"radar":case"radialBar":return(0,o.jsx)(A,{config:t,data:a,compact:n});case"scatter":return(0,o.jsx)(z,{config:t,data:a,compact:n});case"funnel":return(0,o.jsx)(O,{config:t,data:a,compact:n})}}},68840:(e,t,r)=>{"use strict";function o(e,t){return"/workspace?entry=".concat(encodeURIComponent(e),":").concat(encodeURIComponent(t))}function l(e){return"/workspace?path=".concat(encodeURIComponent(e))}function n(e){let t=null;try{e.startsWith("/workspace")?t=new URL(e,"http://localhost"):e.includes("/workspace?")&&(t=new URL(e))}catch(e){}if(t){let e=t.searchParams.get("entry");if(e&&e.includes(":")){let t=e.indexOf(":");return{kind:"entry",objectName:e.slice(0,t),entryId:e.slice(t+1)}}let r=t.searchParams.get("path");if(r)return{kind:"file",path:r}}if(e.startsWith("@entry/")){let t=e.slice(7),r=t.indexOf("/");if(r>0)return{kind:"entry",objectName:t.slice(0,r),entryId:t.slice(r+1)}}return null}function a(e){return e.startsWith("/workspace?")||e.startsWith("/workspace#")||"/workspace"===e||e.startsWith("@entry/")}r.d(t,{VE:()=>o,bJ:()=>l,lc:()=>n,m9:()=>a})},71615:()=>{},77704:(e,t,r)=>{"use strict";r.d(t,{$Q:()=>l,IB:()=>a,x_:()=>n,zM:()=>s});var o=r(80534);function l(e){let{children:t}=e;return(0,o.jsx)("div",{className:"editor-toolbar-group",children:t})}function n(){return(0,o.jsx)("div",{className:"editor-toolbar-divider"})}function a(e){let{active:t,onClick:r,title:l,children:n,disabled:a}=e;return(0,o.jsx)("button",{type:"button",className:"editor-toolbar-btn ".concat(t?"editor-toolbar-btn-active":""),onClick:r,title:l,disabled:a,children:n})}function s(e){let{active:t,onClick:r,title:l,children:n}=e;return(0,o.jsx)("button",{type:"button",className:"bubble-menu-btn ".concat(t?"bubble-menu-btn-active":""),onClick:r,title:l,children:n})}},86719:(e,t,r)=>{Promise.resolve().then(r.bind(r,94696))},94696:(e,t,r)=>{"use strict";r.r(t),r.d(t,{default:()=>a1});var o=r(80534),l=r(74166),n=r(99197),a=r(87694),s=r(17763);function i(){return(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.5},children:[(0,o.jsx)("rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"}),(0,o.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]})}function c(e){let{x:t,y:r,target:n,onAction:a,onClose:c}=e,d=(0,l.useRef)(null),u=function(e){let t="empty"!==e.kind&&e.isSystem;return"file"===e.kind?[{action:"open",label:"Open"},{separator:!0},{action:"rename",label:"Rename",shortcut:"Enter",disabled:t},{action:"duplicate",label:"Duplicate",shortcut:"⌘D",disabled:t},{action:"copy",label:"Copy Path",shortcut:"⌘C"},{separator:!0},{action:"getInfo",label:"Get Info",shortcut:"⌘I"},{separator:!0},{action:"delete",label:"Move to Trash",shortcut:"⌘⌫",disabled:t,danger:!0}]:"folder"===e.kind?[{action:"open",label:"Open"},{separator:!0},{action:"newFile",label:"New File",shortcut:"⌘N",disabled:t},{action:"newFolder",label:"New Folder",shortcut:"⇧⌘N",disabled:t},{separator:!0},{action:"rename",label:"Rename",shortcut:"Enter",disabled:t},{action:"duplicate",label:"Duplicate",shortcut:"⌘D",disabled:t},{action:"copy",label:"Copy Path",shortcut:"⌘C"},{separator:!0},{action:"getInfo",label:"Get Info",shortcut:"⌘I"},{separator:!0},{action:"delete",label:"Move to Trash",shortcut:"⌘⌫",disabled:t,danger:!0}]:[{action:"newFile",label:"New File",shortcut:"⌘N"},{action:"newFolder",label:"New Folder",shortcut:"⇧⌘N"},{separator:!0},{action:"paste",label:"Paste",shortcut:"⌘V",disabled:!0}]}(n),x="empty"!==n.kind&&n.isSystem,h=(0,l.useRef)({x:t,y:r});(0,l.useEffect)(()=>{let e=d.current;if(!e)return;let o=e.getBoundingClientRect(),l=window.innerWidth,n=window.innerHeight,a=t,s=r;a+o.width>l-8&&(a=l-o.width-8),s+o.height>n-8&&(s=n-o.height-8),a<8&&(a=8),s<8&&(s=8),h.current={x:a,y:s},e.style.left="".concat(a,"px"),e.style.top="".concat(s,"px")},[t,r]),(0,l.useEffect)(()=>{function e(e){d.current&&!d.current.contains(e.target)&&c()}function t(e){"Escape"===e.key&&c()}function r(){c()}return document.addEventListener("mousedown",e,!0),document.addEventListener("keydown",t,!0),window.addEventListener("scroll",r,!0),()=>{document.removeEventListener("mousedown",e,!0),document.removeEventListener("keydown",t,!0),window.removeEventListener("scroll",r,!0)}},[c]);let p=(0,l.useCallback)((e,t)=>{t||(a(e),c())},[a,c]);return(0,s.createPortal)((0,o.jsxs)("div",{ref:d,className:"fixed z-[9999] min-w-[200px] py-1 rounded-lg shadow-xl border",style:{left:t,top:r,background:"var(--color-surface)",borderColor:"var(--color-border)",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",animation:"contextMenuFadeIn 100ms ease-out"},role:"menu",children:[x&&(0,o.jsxs)("div",{className:"flex items-center gap-1.5 px-3 py-1.5 text-[11px]",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)(i,{}),(0,o.jsx)("span",{children:"System file (locked)"})]}),u.map((e,t)=>{if("separator"in e&&e.separator)return(0,o.jsx)("div",{className:"my-1 mx-2 border-t",style:{borderColor:"var(--color-border)"}},"sep-".concat(t));let r=e.disabled;return(0,o.jsxs)("button",{type:"button",role:"menuitem",disabled:r,className:"w-full flex items-center gap-2 px-3 py-1.5 text-[13px] text-left transition-colors",style:{color:r?"var(--color-text-muted)":e.danger?"#ef4444":"var(--color-text)",opacity:r?.5:1,cursor:r?"default":"pointer"},onMouseEnter:t=>{r||(t.currentTarget.style.background=e.danger?"rgba(239, 68, 68, 0.1)":"var(--color-surface-hover)")},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onClick:()=>p(e.action,r),children:[e.icon,(0,o.jsx)("span",{className:"flex-1",children:e.label}),r&&x&&(0,o.jsx)(i,{}),e.shortcut&&(0,o.jsx)("span",{className:"text-[11px] ml-4",style:{color:"var(--color-text-muted)"},children:e.shortcut})]},e.action)}),(0,o.jsx)("style",{children:"\n @keyframes contextMenuFadeIn {\n from { opacity: 0; transform: scale(0.96); }\n to { opacity: 1; transform: scale(1); }\n }\n "})]}),document.body)}function d(e){let{currentName:t,onCommit:r,onCancel:n}=e,[a,s]=(0,l.useState)(t),[i,c]=(0,l.useState)(!1),d=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=d.current;if(!e)return;e.focus();let r=t.lastIndexOf(".");r>0?e.setSelectionRange(0,r):e.select()},[t]);let u=(0,l.useCallback)(e=>{let t=e.trim();return!(!t||t.includes("/")||t.includes("\\"))},[]),x=(0,l.useCallback)(()=>{let e=a.trim();if(!u(e)){c(!0),setTimeout(()=>c(!1),500);return}if(e===t)return void n();r(e)},[a,t,u,r,n]),h=(0,l.useCallback)(e=>{e.stopPropagation(),"Enter"===e.key?(e.preventDefault(),x()):"Escape"===e.key&&(e.preventDefault(),n())},[x,n]);return(0,o.jsx)("input",{ref:d,type:"text",value:a,onChange:e=>{s(e.target.value),c(!1)},onBlur:x,onKeyDown:h,className:"flex-1 text-sm rounded px-1 py-0 outline-none min-w-0",style:{background:"var(--color-bg)",color:"var(--color-text)",border:i?"1px solid #ef4444":"1px solid var(--color-accent)",animation:i?"renameShake 300ms ease":void 0},onClick:e=>e.stopPropagation(),onMouseDown:e=>e.stopPropagation()})}let u=new Set(["Chats","Skills","Memories"]);function x(e){return!!e.virtual||e.path.startsWith("~")}let h=[/^\.object\.yaml$/,/\.wal$/,/\.tmp$/],p=[/^workspace\.duckdb/,/^workspace_context\.yaml$/];function m(e){var t;let r=null!=(t=e.split("/").pop())?t:"";return!!h.some(e=>e.test(r))||!e.includes("/")&&p.some(e=>e.test(r))}function f(e){let{open:t}=e;return(0,o.jsx)("img",{src:t?"/icons/folder-open.png":"/icons/folder.png",alt:"",width:16,height:16,draggable:!1,style:{flexShrink:0}})}function v(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3v18"}),(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M3 9h18"}),(0,o.jsx)("path",{d:"M3 15h18"})]})}function g(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"6",height:"14",x:"2",y:"5",rx:"1"}),(0,o.jsx)("rect",{width:"6",height:"10",x:"9",y:"5",rx:"1"}),(0,o.jsx)("rect",{width:"6",height:"16",x:"16",y:"3",rx:"1"})]})}function y(){return(0,o.jsx)("img",{src:"/icons/document.png",alt:"",width:16,height:16,draggable:!1,style:{flexShrink:0,filter:"drop-shadow(0 0.5px 1.5px rgba(0,0,0,0.2))"}})}function b(){return(0,o.jsx)("img",{src:"/icons/document.png",alt:"",width:16,height:16,draggable:!1,style:{flexShrink:0,filter:"drop-shadow(0 0.5px 1.5px rgba(0,0,0,0.2))"}})}function j(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),(0,o.jsx)("path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}),(0,o.jsx)("path",{d:"M3 12A9 3 0 0 0 21 12"})]})}function k(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"12",x2:"12",y1:"20",y2:"10"}),(0,o.jsx)("line",{x1:"18",x2:"18",y1:"20",y2:"4"}),(0,o.jsx)("line",{x1:"6",x2:"6",y1:"20",y2:"14"})]})}function w(){return(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}function N(){return(0,o.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.4},children:[(0,o.jsx)("rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"}),(0,o.jsx)("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]})}function C(){return(0,o.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.55},children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})}function S(e){let{open:t}=e;return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{transform:t?"rotate(90deg)":"rotate(0deg)",transition:"transform 150ms ease"},children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})}function L(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"})]})}function M(e){let{node:t,open:r}=e;if(t.path.startsWith("~chats/")||"~chats"===t.path)return(0,o.jsx)(w,{});switch(t.type){case"object":return"kanban"===t.defaultView?(0,o.jsx)(g,{}):(0,o.jsx)(v,{});case"document":return(0,o.jsx)(y,{});case"folder":return(0,o.jsx)(f,{open:r});case"database":return(0,o.jsx)(j,{});case"report":return(0,o.jsx)(k,{});default:return(0,o.jsx)(b,{})}}function T(e){switch(e.type){case"object":return"var(--color-accent)";case"document":return"#60a5fa";case"database":return"#c084fc";case"report":return"#22c55e";default:return"var(--color-text-muted)"}}async function E(e,t){return(await fetch("/api/workspace/rename",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,newName:t})})).json()}async function W(e){return(await fetch("/api/workspace/file",{method:"DELETE",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})})).json()}async function R(e,t){return(await fetch("/api/workspace/move",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sourcePath:e,destinationDir:t})})).json()}async function D(e){return(await fetch("/api/workspace/copy",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})})).json()}async function I(e){return(await fetch("/api/workspace/mkdir",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})})).json()}async function B(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return(await fetch("/api/workspace/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,content:t})})).json()}function F(e){let{message:t,onConfirm:r,onCancel:n}=e;return(0,l.useEffect)(()=>{function e(e){"Escape"===e.key&&n(),"Enter"===e.key&&r()}return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[r,n]),(0,o.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)"},children:(0,o.jsxs)("div",{className:"rounded-xl p-5 max-w-sm w-full shadow-2xl border",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},children:[(0,o.jsx)("p",{className:"text-sm mb-4",style:{color:"var(--color-text)"},children:t}),(0,o.jsxs)("div",{className:"flex justify-end gap-2",children:[(0,o.jsx)("button",{type:"button",onClick:n,className:"px-3 py-1.5 rounded-md text-sm",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)"},children:"Cancel"}),(0,o.jsx)("button",{type:"button",onClick:r,className:"px-3 py-1.5 rounded-md text-sm text-white",style:{background:"#ef4444"},children:"Delete"})]})]})})}function _(e){let{kind:t,parentPath:r,onSubmit:n,onCancel:a}=e,[s,i]=(0,l.useState)("file"===t?"untitled.md":"new-folder"),c=(0,l.useRef)(null);return(0,l.useEffect)(()=>{let e=c.current;if(e)if(e.focus(),"file"===t){let t=s.lastIndexOf(".");e.setSelectionRange(0,t>0?t:s.length)}else e.select()},[]),(0,o.jsx)("div",{className:"fixed inset-0 z-[10000] flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)"},children:(0,o.jsxs)("div",{className:"rounded-xl p-5 max-w-sm w-full shadow-2xl border",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},children:[(0,o.jsxs)("p",{className:"text-sm mb-3 font-medium",style:{color:"var(--color-text)"},children:["New ",t," in ",(0,o.jsx)("span",{style:{color:"var(--color-accent)"},children:r||"/"})]}),(0,o.jsx)("input",{ref:c,type:"text",value:s,onChange:e=>i(e.target.value),onKeyDown:e=>{"Enter"===e.key&&n(s.trim()),"Escape"===e.key&&a()},className:"w-full px-3 py-2 rounded-md text-sm outline-none border",style:{background:"var(--color-bg)",color:"var(--color-text)",borderColor:"var(--color-border)"}}),(0,o.jsxs)("div",{className:"flex justify-end gap-2 mt-3",children:[(0,o.jsx)("button",{type:"button",onClick:a,className:"px-3 py-1.5 rounded-md text-sm",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)"},children:"Cancel"}),(0,o.jsx)("button",{type:"button",onClick:()=>n(s.trim()),className:"px-3 py-1.5 rounded-md text-sm text-white",style:{background:"var(--color-accent)"},children:"Create"})]})]})})}function P(e){let{node:t,depth:r,activePath:n,selectedPath:s,onSelect:i,onNodeSelect:c,expandedPaths:u,onToggleExpand:h,renamingPath:p,onStartRename:f,onCommitRename:v,onCancelRename:g,onContextMenu:y,compact:b,dragOverPath:j,workspaceRoot:k}=e,w=!!k&&t.path===k,E=t.children&&t.children.length>0,W=!w&&(E||"folder"===t.type||"object"===t.type),R=!w&&u.has(t.path),D=n===t.path,I=s===t.path,B=p===t.path,F=m(t.path),_=x(t),A=F||_||w,z=j===t.path&&W,{attributes:O,listeners:U,setNodeRef:H,isDragging:V}=(0,a.PM)({id:"drag-".concat(t.path),data:{node:t},disabled:A}),{setNodeRef:K,isOver:J}=(0,a.zM)({id:"drop-".concat(t.path),data:{node:t},disabled:!W||_}),q=(0,l.useCallback)(()=>{c(t.path),i(t),W&&h(t.path)},[t,W,i,c,h]),G=(0,l.useCallback)(()=>{A||f(t.path)},[t.path,A,f]),$=(0,l.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),c(t.path),y(e,t)},[t,c,y]),Z=(0,l.useCallback)(e=>{H(e),K(e)},[H,K]),Q=(J||z)&&W;return(0,o.jsxs)("div",{style:{opacity:V?.4:1},children:[(0,o.jsxs)("div",{ref:Z,...O,...U,role:"treeitem",tabIndex:-1,draggable:!A,onDragStart:e=>{e.dataTransfer.setData("application/x-file-mention",JSON.stringify({name:t.name,path:t.path})),e.dataTransfer.setData("text/plain",t.path),e.dataTransfer.effectAllowed="copy"},onClick:q,onDoubleClick:G,onContextMenu:$,className:"w-full flex items-center gap-1.5 py-1 px-2 rounded-md text-left text-sm transition-colors duration-100 cursor-pointer select-none",style:{paddingLeft:"".concat(16*r+8,"px"),background:w||Q?"var(--color-accent-light)":I||D?"var(--color-surface-hover)":"transparent",color:w?"var(--color-accent)":D||I?"var(--color-text)":"var(--color-text-muted)",outline:w?"1.5px solid var(--color-accent)":Q?"1px dashed var(--color-accent)":"none",outlineOffset:"-1px",borderRadius:w?"8px":"6px",marginTop:w?"2px":void 0,marginBottom:w?"2px":void 0},onMouseEnter:e=>{w?e.currentTarget.style.opacity="0.8":D||I||Q||(e.currentTarget.style.background="var(--color-surface-hover)")},onMouseLeave:e=>{w?e.currentTarget.style.opacity="1":D||I||Q||(e.currentTarget.style.background="transparent")},children:[(0,o.jsx)("span",{className:"flex-shrink-0 w-4 h-4 flex items-center justify-center",style:{opacity:+!!W,cursor:W?"pointer":void 0},onClick:W?e=>{e.stopPropagation(),h(t.path)}:void 0,children:W&&(0,o.jsx)(S,{open:R})}),(0,o.jsx)("span",{className:"flex-shrink-0 flex items-center",style:{color:w?"var(--color-accent)":T(t)},children:w?(0,o.jsx)(L,{}):(0,o.jsx)(M,{node:t,open:R})}),B?(0,o.jsx)(d,{currentName:t.name,onCommit:v,onCancel:g}):(0,o.jsx)("span",{className:"truncate flex-1",children:t.name}),w&&(0,o.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full flex-shrink-0 font-medium",style:{background:"var(--color-accent)",color:"white"},children:"workspace"}),A&&!w&&!b&&(0,o.jsx)("span",{className:"flex-shrink-0 ml-1",children:(0,o.jsx)(N,{})}),t.symlink&&!b&&(0,o.jsx)("span",{className:"flex-shrink-0 ml-0.5",title:"Symbolic link",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(C,{})}),"object"===t.type&&(0,o.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full flex-shrink-0",style:{background:"var(--color-accent-light)",color:"var(--color-accent)"},children:"kanban"===t.defaultView?"board":"table"})]}),R&&E&&(0,o.jsx)("div",{className:"relative",style:{borderLeft:r>0?"1px solid var(--color-border)":"none",marginLeft:"".concat(16*r+16,"px")},children:t.children.map(e=>(0,o.jsx)(P,{node:e,depth:r+1,activePath:n,selectedPath:s,onSelect:i,onNodeSelect:c,expandedPaths:u,onToggleExpand:h,renamingPath:p,onStartRename:f,onCommitRename:v,onCancelRename:g,onContextMenu:y,compact:b,dragOverPath:j,workspaceRoot:k},e.path))})]})}function A(e){let{isDragging:t}=e,{setNodeRef:r,isOver:l}=(0,a.zM)({id:"drop-__root__",data:{rootDrop:!0}}),n=l&&t;return(0,o.jsx)("div",{ref:r,className:"flex-1 min-h-[48px]",style:{margin:t?"4px 8px":void 0,borderRadius:"6px",border:n?"1.5px dashed var(--color-accent)":t?"1.5px dashed var(--color-border)":"1.5px dashed transparent",background:n?"var(--color-accent-light)":"transparent",transition:"all 150ms ease",display:"flex",alignItems:"center",justifyContent:"center"},children:t&&(0,o.jsx)("span",{className:"text-[11px] select-none",style:{color:n?"var(--color-accent)":"var(--color-text-muted)",opacity:n?1:.6},children:"Drop here to move to root"})})}function z(e){let{node:t}=e;return(0,o.jsxs)("div",{className:"flex items-center gap-2 px-3 py-1.5 rounded-lg text-sm shadow-lg border",style:{background:"var(--color-surface)",borderColor:"var(--color-border)",color:"var(--color-text)",pointerEvents:"none"},children:[(0,o.jsx)("span",{style:{color:T(t)},children:(0,o.jsx)(M,{node:t})}),(0,o.jsx)("span",{children:t.name})]})}function O(e){let t=e.split("/");return t.pop(),t.join("/")||"."}function U(e){let{tree:t,activePath:r,onSelect:n,onRefresh:s,compact:i,parentDir:d,onNavigateUp:h,browseDir:p,workspaceRoot:v,onExternalDrop:g}=e,[y,b]=(0,l.useState)(()=>new Set),[j,k]=(0,l.useState)(null),[w,N]=(0,l.useState)(null),[C,S]=(0,l.useState)(null),[L,M]=(0,l.useState)(null),T=(0,l.useRef)({x:0,y:0}),U=(0,l.useRef)(null),H=(0,l.useCallback)(()=>{let e=e=>{T.current={x:e.clientX,y:e.clientY};let t=document.elementFromPoint(e.clientX,e.clientY),r=null==t?void 0:t.closest("[data-chat-drop-target]"),o=document.querySelector("[data-drag-hover]");r&&!r.hasAttribute("data-drag-hover")&&r.setAttribute("data-drag-hover",""),o&&o!==r&&o.removeAttribute("data-drag-hover")};U.current=e,window.addEventListener("pointermove",e,!0)},[]),V=(0,l.useCallback)(()=>{var e;U.current&&(window.removeEventListener("pointermove",U.current,!0),U.current=null),null==(e=document.querySelector("[data-drag-hover]"))||e.removeAttribute("data-drag-hover")},[]);(0,l.useEffect)(()=>V,[V]);let[K,J]=(0,l.useState)(null),[q,G]=(0,l.useState)(null),[$,Z]=(0,l.useState)(null),Q=(0,l.useRef)(null),Y=new Set(["~skills","~memories"]);(0,l.useEffect)(()=>{if(t.length>0&&0===y.size){let e=new Set;for(let r of t)!Y.has(r.path)&&r.children&&r.children.length>0&&e.add(r.path);b(e)}},[t]);let X=(0,l.useCallback)(e=>{b(t=>{let r=new Set(t);return r.has(e)?r.delete(e):r.add(e),r})},[]),ee=(0,a.FR)((0,a.MS)(a.AN,{activationConstraint:{distance:8}})),et=(0,l.useCallback)(e=>{let t=e.active.data.current;(null==t?void 0:t.node)&&(M(t.node),H())},[H]),er=(0,l.useCallback)(e=>{var t;let r=null==(t=e.over)?void 0:t.data.current;if(null==r?void 0:r.rootDrop)S("__root__");else if(null==r?void 0:r.node){S(r.node.path);let e=r.node.path;("folder"===r.node.type||"object"===r.node.type)&&setTimeout(()=>{b(t=>{if(t.has(e))return t;let r=new Set(t);return r.add(e),r})},300)}else S(null)},[]),eo=(0,l.useCallback)(async e=>{var t;M(null),S(null),V();let r=e.active.data.current;if(!(null==r?void 0:r.node))return;let o=r.node;if(g){let{x:e,y:t}=T.current,r=document.elementFromPoint(e,t);if(null==r?void 0:r.closest("[data-chat-drop-target]"))return void g(o)}let l=null==(t=e.over)?void 0:t.data.current;if(null==l?void 0:l.rootDrop){if("."===O(o.path))return;(await R(o.path,".")).ok&&s();return}if(!(null==l?void 0:l.node))return;let n=l.node;!("folder"!==n.type&&"object"!==n.type||n.path===o.path||n.path.startsWith(o.path+"/"))&&O(o.path)!==n.path&&(await R(o.path,n.path)).ok&&s()},[s,g,V]),el=(0,l.useCallback)(()=>{M(null),S(null),V()},[V]),en=(0,l.useCallback)((e,t)=>{let r=m(t.path)||x(t),o="folder"===t.type||"object"===t.type;J({x:e.clientX,y:e.clientY,target:{kind:o?"folder":"file",path:t.path,name:t.name,isSystem:r}})},[]),ea=(0,l.useCallback)(e=>{e.preventDefault(),J({x:e.clientX,y:e.clientY,target:{kind:"empty"}})},[]),es=(0,l.useCallback)(async e=>{let r=null==K?void 0:K.target;if(r)switch(e){case"open":if("empty"!==r.kind){let e=function e(t,r){for(let o of t){if(o.path===r)return o;if(o.children){let t=e(o.children,r);if(t)return t}}return null}(t,r.path);e&&n(e)}break;case"rename":"empty"!==r.kind&&N(r.path);break;case"duplicate":"empty"!==r.kind&&(await D(r.path),s());break;case"copy":case"getInfo":"empty"!==r.kind&&await navigator.clipboard.writeText(r.path);break;case"delete":"empty"!==r.kind&&G(r.path);break;case"newFile":Z({kind:"file",parentPath:"folder"===r.kind?r.path:"file"===r.kind?O(r.path):""});break;case"newFolder":Z({kind:"folder",parentPath:"folder"===r.kind?r.path:"file"===r.kind?O(r.path):""})}},[K,t,n,s]),ei=(0,l.useCallback)(async e=>{if(!w)return;if(u.has(e)){alert('"'.concat(e,'" is a reserved name and cannot be used.')),N(null);return}let t=await E(w,e);N(null),t.ok&&s()},[w,s]),ec=(0,l.useCallback)(()=>{N(null)},[]),ed=(0,l.useCallback)(async()=>{if(!q)return;let e=await W(q);G(null),e.ok&&s()},[q,s]),eu=(0,l.useCallback)(async e=>{if(!$||!e)return;if(u.has(e))return void alert('"'.concat(e,'" is a reserved name and cannot be used.'));let t=$.parentPath?"".concat($.parentPath,"/").concat(e):e;"folder"===$.kind?await I(t):await B(t,""),Z(null),s(),b(e=>{let t=new Set(e);return t.add($.parentPath),t})},[$,s]),ex=(0,l.useCallback)(e=>{if(w)return;let r=function(e,t){let r=[];return!function e(o){for(let l of o)r.push(l),l.children&&t.has(l.path)&&e(l.children)}(e),r}(t,y),o=r.findIndex(e=>e.path===j),l=o>=0?r[o]:null;switch(e.key){case"ArrowDown":{e.preventDefault();let t=o<r.length-1?r[o+1]:r[0];t&&k(t.path);break}case"ArrowUp":{e.preventDefault();let t=o>0?r[o-1]:r[r.length-1];t&&k(t.path);break}case"ArrowRight":e.preventDefault(),l&&("folder"===l.type||"object"===l.type)&&b(e=>new Set([...e,l.path]));break;case"ArrowLeft":e.preventDefault(),l&&y.has(l.path)&&b(e=>{let t=new Set(e);return t.delete(l.path),t});break;case"Enter":if(e.preventDefault(),l){let t=m(l.path)||x(l);e.shiftKey||t?n(l):N(l.path)}break;case"F2":e.preventDefault(),!l||m(l.path)||x(l)||N(l.path);break;case"Backspace":case"Delete":!l||m(l.path)||x(l)||(e.preventDefault(),G(l.path));break;default:if(e.metaKey||e.ctrlKey){if("c"===e.key&&l)e.preventDefault(),navigator.clipboard.writeText(l.path);else if("d"===e.key&&l&&!m(l.path))e.preventDefault(),D(l.path).then(()=>s());else if("n"===e.key){e.preventDefault();let t=l?"folder"===l.type||"object"===l.type?l.path:O(l.path):"";e.shiftKey?Z({kind:"folder",parentPath:t}):Z({kind:"file",parentPath:t})}}}},[t,y,j,w,n,s]);return 0===t.length?(0,o.jsxs)("div",{className:"px-4 py-6 text-center text-sm",style:{color:"var(--color-text-muted)"},onContextMenu:ea,children:["No files in workspace",K&&(0,o.jsx)(c,{x:K.x,y:K.y,target:K.target,onAction:es,onClose:()=>J(null)}),$&&(0,o.jsx)(_,{kind:$.kind,parentPath:$.parentPath,onSubmit:eu,onCancel:()=>Z(null)})]}):(0,o.jsxs)(a.Mp,{sensors:ee,collisionDetection:a.fp,onDragStart:et,onDragOver:er,onDragEnd:eo,onDragCancel:el,children:[(0,o.jsxs)("div",{ref:Q,className:"py-1 outline-none flex flex-col min-h-full",tabIndex:0,role:"tree",onKeyDown:ex,onContextMenu:ea,children:[null!=d&&h&&(0,o.jsxs)("div",{role:"treeitem",tabIndex:-1,onClick:h,className:"w-full flex items-center gap-1.5 py-1 px-2 rounded-md text-left text-sm transition-colors duration-100 cursor-pointer select-none",style:{paddingLeft:"8px",color:"var(--color-text-muted)",borderRadius:"6px"},onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,o.jsx)("span",{className:"flex-shrink-0 w-4 h-4 flex items-center justify-center",children:(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m15 18-6-6 6-6"})})}),(0,o.jsx)("span",{className:"flex-shrink-0 flex items-center",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(f,{})}),(0,o.jsx)("span",{className:"truncate flex-1",children:".."})]}),t.map(e=>(0,o.jsx)(P,{node:e,depth:0,activePath:r,selectedPath:j,onSelect:n,onNodeSelect:k,expandedPaths:y,onToggleExpand:X,renamingPath:w,onStartRename:N,onCommitRename:ei,onCancelRename:ec,onContextMenu:en,compact:i,dragOverPath:C,workspaceRoot:v},e.path)),(0,o.jsx)(A,{isDragging:!!L})]}),(0,o.jsx)(a.Hd,{dropAnimation:null,style:{pointerEvents:"none"},children:L?(0,o.jsx)(z,{node:L}):null}),K&&(0,o.jsx)(c,{x:K.x,y:K.y,target:K.target,onAction:es,onClose:()=>J(null)}),q&&(0,o.jsx)(F,{message:'Are you sure you want to delete "'.concat(q.split("/").pop(),'"? This action cannot be undone.'),onConfirm:ed,onCancel:()=>G(null)}),$&&(0,o.jsx)(_,{kind:$.kind,parentPath:$.parentPath,onSubmit:eu,onCancel:()=>Z(null)}),(0,o.jsx)("style",{children:"\n @keyframes renameShake {\n 0%, 100% { transform: translateX(0); }\n 20%, 60% { transform: translateX(-3px); }\n 40%, 80% { transform: translateX(3px); }\n }\n"})]})}function H(e){return e.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~").replace(/^[A-Za-z]:[/\\]Users[/\\][^/\\]+/,"~")}function V(e){let{onWorkspaceSwitch:t,onWorkspaceDelete:r,onCreateWorkspace:n,activeWorkspaceHint:a,trigger:s}=e,[i,c]=(0,l.useState)([]),[d,u]=(0,l.useState)(null),[x,h]=(0,l.useState)(!1),[p,m]=(0,l.useState)(!1),[f,v]=(0,l.useState)(null),[g,y]=(0,l.useState)(null),b=(0,l.useRef)(null),j=(0,l.useCallback)(async()=>{try{var e,t,r,o,l,n,a,s;let i=await fetch("/api/workspace/list"),d=await i.json(),x=(null!=(o=null!=(r=d.workspaces)?r:d.profiles)?o:[]).filter(e=>!!e.workspaceDir),h=null!=(n=null!=(l=d.activeWorkspace)?l:d.activeProfile)?n:null,p=h&&x.some(e=>e.name===h)?h:null!=(s=null!=(a=null==(e=x.find(e=>e.isActive))?void 0:e.name)?a:null==(t=x[0])?void 0:t.name)?s:null;c(x),u(p)}catch(e){}},[]);(0,l.useEffect)(()=>{j()},[j,a]),(0,l.useEffect)(()=>{function e(e){b.current&&!b.current.contains(e.target)&&h(!1)}if(x)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[x]);let k=async e=>{if(e===d)return void h(!1);y(null),m(!0);try{var r,o,l;let n=await fetch("/api/workspace/switch",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:e})});if(n.ok){let e=await n.json();u(null!=(o=null!=(r=e.activeWorkspace)?r:e.activeProfile)?o:null),null==t||t(),j()}else{let e=await n.json().catch(()=>({}));y(null!=(l=e.error)?l:"Failed to switch workspace.")}}catch(e){y("Failed to switch workspace.")}finally{m(!1),h(!1)}},w=async e=>{let o=i.find(t=>t.name===e);if((null==o?void 0:o.workspaceDir)&&window.confirm('Delete workspace "'.concat(e,'"?\n\nThis permanently removes:\n').concat(H(o.workspaceDir),"\n\nThis cannot be undone."))){y(null),v(e);try{let o=await fetch("/api/workspace/delete",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:e})});if(!o.ok){var l;let t=await o.json().catch(()=>({}));y(null!=(l=t.error)?l:"Failed to delete workspace '".concat(e,"'."));return}e===d&&(null==t||t()),null==r||r(e),await j()}catch(t){y("Failed to delete workspace '".concat(e,"'."))}finally{v(null)}}},N=i.length>0,C=()=>{N&&h(e=>!e)};return s||N?(0,o.jsxs)("div",{className:"relative ".concat(s?"flex-1 min-w-0":""),ref:b,children:[s?s({isOpen:x,onClick:C,activeWorkspace:d,switching:p}):(0,o.jsxs)("button",{onClick:C,disabled:p,className:"flex items-center gap-1.5 px-2 py-1 rounded-md text-xs transition-colors hover:bg-[var(--color-surface-hover)] disabled:opacity-50",style:{color:"var(--color-text-secondary)"},title:"Switch workspace",children:[(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})}),(0,o.jsx)("span",{className:"truncate max-w-[120px]",children:null!=d?d:"No workspace"}),(0,o.jsx)("svg",{className:"w-3 h-3 transition-transform ".concat(x?"rotate-180":""),fill:"none",stroke:"currentColor",viewBox:"0 0 24 24",children:(0,o.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:2,d:"M19 9l-7 7-7-7"})})]}),N&&x&&(0,o.jsxs)("div",{className:"absolute left-0 top-full mt-1 w-64 rounded-lg overflow-hidden z-50",style:{background:"var(--color-surface-raised)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-lg)"},children:[(0,o.jsx)("div",{className:"px-3 py-2 text-xs font-medium",style:{color:"var(--color-text-muted)",borderBottom:"1px solid var(--color-border)"},children:"Workspaces"}),(0,o.jsx)("div",{className:"py-1 max-h-64 overflow-y-auto",children:i.map(e=>{let t=e.name===d;return(0,o.jsxs)("div",{className:"flex items-center gap-1 px-1.5 py-0.5",children:[(0,o.jsxs)("button",{onClick:()=>void k(e.name),disabled:p||!!f,className:"flex-1 min-w-0 flex items-center gap-2 px-1.5 py-1.5 rounded text-left text-sm transition-colors hover:bg-[var(--color-surface-hover)] disabled:opacity-50",style:{color:"var(--color-text)"},children:[(0,o.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{background:t?"var(--color-success)":"transparent",border:t?"none":"1px solid var(--color-border-strong)"}}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsx)("div",{className:"flex items-center gap-1.5",children:(0,o.jsx)("span",{className:"truncate font-medium",children:e.name})}),(0,o.jsx)("div",{className:"text-xs truncate mt-0.5",style:{color:"var(--color-text-muted)"},children:e.workspaceDir?H(e.workspaceDir):"No workspace yet"})]}),t&&(0,o.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{background:"var(--color-accent-light)",color:"var(--color-accent)"},children:"Active"})]}),e.workspaceDir&&(0,o.jsx)("button",{onClick:()=>void w(e.name),disabled:p||!!f,title:"Delete workspace ".concat(e.name),className:"p-1.5 rounded transition-colors hover:bg-[var(--color-surface-hover)] disabled:opacity-50",style:{color:f===e.name?"var(--color-text-muted)":"var(--color-error)"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M8 6V4h8v2"}),(0,o.jsx)("path",{d:"M19 6l-1 14H6L5 6"}),(0,o.jsx)("path",{d:"M10 11v6"}),(0,o.jsx)("path",{d:"M14 11v6"})]})})]},e.name)})}),g&&(0,o.jsx)("p",{className:"mx-3 mb-2 mt-1 rounded px-2 py-1 text-xs",style:{background:"rgba(220, 38, 38, 0.08)",color:"var(--color-error)"},children:g}),(0,o.jsx)("div",{style:{borderTop:"1px solid var(--color-border)"},children:(0,o.jsxs)("button",{onClick:()=>{h(!1),null==n||n()},className:"w-full flex items-center gap-2 px-3 py-2.5 text-sm transition-colors hover:bg-[var(--color-surface-hover)]",style:{color:"var(--color-accent)"},children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 5v14"}),(0,o.jsx)("path",{d:"M5 12h14"})]}),"New Workspace"]})})]})]}):null}function K(e){let{isOpen:t,onClose:r,onCreated:n}=e,[a,s]=(0,l.useState)(""),[i,c]=(0,l.useState)(!0),[d,u]=(0,l.useState)(!1),[x,h]=(0,l.useState)(null),[p,m]=(0,l.useState)(null),f=(0,l.useRef)(null),v=(0,l.useRef)(null);(0,l.useEffect)(()=>{t&&(s(""),h(null),m(null),setTimeout(()=>{var e;return null==(e=f.current)?void 0:e.focus()},100))},[t]),(0,l.useEffect)(()=>{function e(e){"Escape"===e.key&&r()}if(t)return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[t,r]);let g=async()=>{let e=a.trim();if(!e)return void h("Please enter a workspace name.");if(!/^[a-zA-Z0-9_-]+$/.test(e))return void h("Name must use only letters, numbers, hyphens, or underscores.");u(!0),h(null);try{var t;let r=await fetch("/api/workspace/init",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({workspace:e,seedBootstrap:i})}),o=await r.json();if(!r.ok)return void h(o.error||"Failed to create workspace.");m({workspaceDir:o.workspaceDir,seededFiles:null!=(t=o.seededFiles)?t:[]}),null==n||n()}catch(e){h(e.message)}finally{u(!1)}};return t?(0,o.jsx)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{background:"rgba(0,0,0,0.5)"},onClick:e=>{e.target===e.currentTarget&&r()},children:(0,o.jsxs)("div",{ref:v,className:"w-full max-w-md rounded-xl overflow-hidden",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-xl)"},children:[(0,o.jsxs)("div",{className:"flex items-center justify-between px-5 py-4",style:{borderBottom:"1px solid var(--color-border)"},children:[(0,o.jsx)("h2",{className:"text-base font-semibold",style:{color:"var(--color-text)"},children:"New Workspace"}),(0,o.jsx)("button",{onClick:r,className:"p-1 rounded-md hover:bg-[var(--color-surface-hover)] transition-colors",style:{color:"var(--color-text-muted)"},children:(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]}),(0,o.jsx)("div",{className:"px-5 py-4 space-y-4",children:p?(0,o.jsxs)("div",{className:"text-center py-4",children:[(0,o.jsx)("div",{className:"w-12 h-12 rounded-full flex items-center justify-center mx-auto mb-3",style:{background:"rgba(22, 163, 74, 0.1)"},children:(0,o.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"#16a34a",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 6 9 17l-5-5"})})}),(0,o.jsx)("p",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:"Workspace created"}),(0,o.jsx)("code",{className:"text-xs px-2 py-1 rounded mt-2 inline-block",style:{background:"var(--color-surface-hover)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border)"},children:p.workspaceDir.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~").replace(/^[A-Za-z]:[/\\]Users[/\\][^/\\]+/,"~")}),p.seededFiles.length>0&&(0,o.jsxs)("p",{className:"text-xs mt-2",style:{color:"var(--color-text-muted)"},children:["Seeded: ",p.seededFiles.join(", ")]})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)("div",{children:[(0,o.jsx)("label",{className:"block text-sm font-medium mb-1.5",style:{color:"var(--color-text-secondary)"},children:"Workspace name"}),(0,o.jsx)("input",{ref:f,type:"text",value:a,onChange:e=>{s(e.target.value),h(null)},onKeyDown:e=>{"Enter"!==e.key||d||g()},placeholder:"e.g. work, personal, project-x",className:"w-full px-3 py-2 text-sm rounded-lg focus:outline-none focus:ring-2 focus:ring-[var(--color-accent)]",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}}),(0,o.jsxs)("p",{className:"text-xs mt-1",style:{color:"var(--color-text-muted)"},children:["This creates a workspace under ~/.openclaw-dench/workspace-","{name}","."]})]}),(0,o.jsxs)("label",{className:"flex items-center gap-2 cursor-pointer hidden",children:[(0,o.jsx)("input",{type:"checkbox",checked:i,onChange:e=>c(e.target.checked),className:"rounded",style:{accentColor:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-secondary)"},children:"Seed bootstrap files and workspace database"})]}),x&&(0,o.jsx)("p",{className:"text-sm px-3 py-2 rounded-lg",style:{background:"rgba(220, 38, 38, 0.08)",color:"var(--color-error)"},children:x})]})}),(0,o.jsx)("div",{className:"flex items-center justify-end gap-2 px-5 py-3",style:{borderTop:"1px solid var(--color-border)"},children:p?(0,o.jsx)("button",{onClick:r,className:"px-4 py-2 text-sm font-medium rounded-lg transition-colors",style:{background:"var(--color-accent)",color:"#fff"},children:"Done"}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("button",{onClick:r,className:"px-4 py-2 text-sm rounded-lg transition-colors hover:bg-[var(--color-surface-hover)]",style:{color:"var(--color-text-secondary)"},children:"Cancel"}),(0,o.jsx)("button",{onClick:()=>void g(),disabled:d||!a.trim(),className:"px-4 py-2 text-sm font-medium rounded-lg transition-colors disabled:opacity-50",style:{background:"var(--color-accent)",color:"#fff"},children:d?"Creating...":"Create Workspace"})]})})]})}):null}var J=r(65163);function q(e){let{name:t="braille",children:r,className:n,style:a}=e,[s,i]=(0,l.useState)(0),c=J.Mb[t];return(0,l.useEffect)(()=>{let e=setInterval(()=>i(e=>(e+1)%c.frames.length),c.interval);return()=>clearInterval(e)},[t,c.frames.length,c.interval]),(0,o.jsxs)("span",{className:n,style:{fontFamily:"monospace",...a},children:[c.frames[s],null!=r&&(0,o.jsxs)(o.Fragment,{children:[" ",r]})]})}function G(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),(0,o.jsx)("polyline",{points:"9 22 9 12 15 12 15 22"})]})}function $(){return(0,o.jsx)("img",{src:"/icons/folder-open.png",alt:"",width:20,height:20,draggable:!1,style:{flexShrink:0}})}function Z(){let[e,t]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{t(document.documentElement.classList.contains("dark"))},[]),(0,o.jsx)("button",{type:"button",onClick:()=>{let r=!e;t(r),r?(document.documentElement.classList.add("dark"),localStorage.setItem("theme","dark")):(document.documentElement.classList.remove("dark"),localStorage.setItem("theme","light"))},className:"p-1.5 rounded-lg",style:{color:"var(--color-text-muted)"},title:e?"Switch to light mode":"Switch to dark mode",children:e?(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"4"}),(0,o.jsx)("path",{d:"M12 2v2"}),(0,o.jsx)("path",{d:"M12 20v2"}),(0,o.jsx)("path",{d:"m4.93 4.93 1.41 1.41"}),(0,o.jsx)("path",{d:"m17.66 17.66 1.41 1.41"}),(0,o.jsx)("path",{d:"M2 12h2"}),(0,o.jsx)("path",{d:"M20 12h2"}),(0,o.jsx)("path",{d:"m6.34 17.66-1.41 1.41"}),(0,o.jsx)("path",{d:"m19.07 4.93-1.41 1.41"})]}):(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z"})})})}function Q(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]})}function Y(){return(0,o.jsx)("img",{src:"/icons/folder.png",alt:"",width:14,height:14,draggable:!1,style:{flexShrink:0}})}function X(){return(0,o.jsx)("img",{src:"/icons/document.png",alt:"",width:14,height:14,draggable:!1,style:{flexShrink:0,filter:"drop-shadow(0 0.5px 1.5px rgba(0,0,0,0.2))"}})}function ee(){return(0,o.jsx)("img",{src:"/icons/document.png",alt:"",width:14,height:14,draggable:!1,style:{flexShrink:0,filter:"drop-shadow(0 0.5px 1.5px rgba(0,0,0,0.2))"}})}function et(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),(0,o.jsx)("path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}),(0,o.jsx)("path",{d:"M3 12A9 3 0 0 0 21 12"})]})}function er(e){let{type:t}=e;switch(t){case"folder":return(0,o.jsx)(Y,{});case"document":return(0,o.jsx)(ee,{});case"database":return(0,o.jsx)(et,{});default:return(0,o.jsx)(X,{})}}function eo(e){let{onSelect:t}=e,[r,n]=(0,l.useState)(""),[a,s]=(0,l.useState)([]),[i,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(!1),[x,h]=(0,l.useState)(0),p=(0,l.useRef)(null),m=(0,l.useRef)(null);(0,l.useEffect)(()=>{if(!r.trim()){s([]),c(!1);return}u(!0);let e=setTimeout(async()=>{try{var e;let t=await fetch("/api/workspace/suggest-files?q=".concat(encodeURIComponent(r.trim()))),o=await t.json();s(null!=(e=o.items)?e:[]),c(!0),h(0)}catch(e){s([])}finally{u(!1)}},150);return()=>clearTimeout(e)},[r]),(0,l.useEffect)(()=>{function e(e){m.current&&!m.current.contains(e.target)&&c(!1)}return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let f=(0,l.useCallback)(e=>{var r,o;"ArrowDown"===e.key?(e.preventDefault(),h(e=>Math.min(e+1,a.length-1))):"ArrowUp"===e.key?(e.preventDefault(),h(e=>Math.max(e-1,0))):"Enter"===e.key&&a[x]?(e.preventDefault(),t(a[x]),n(""),c(!1),null==(r=p.current)||r.blur()):"Escape"===e.key&&(c(!1),n(""),null==(o=p.current)||o.blur())},[a,x,t]),v=(0,l.useCallback)(e=>{t(e),n(""),c(!1)},[t]);return(0,o.jsxs)("div",{ref:m,className:"relative px-3 pt-2 pb-1",children:[(0,o.jsxs)("div",{className:"relative",children:[(0,o.jsx)("span",{className:"absolute left-2.5 top-1/2 -translate-y-1/2 pointer-events-none",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(Q,{})}),(0,o.jsx)("input",{ref:p,type:"text",value:r,onChange:e=>n(e.target.value),onKeyDown:f,onFocus:()=>{a.length>0&&c(!0)},placeholder:"Search files...",className:"w-full pl-8 pr-3 py-1.5 rounded-lg text-xs outline-none transition-colors",style:{background:"var(--color-bg)",color:"var(--color-text)",border:"1px solid var(--color-border)"}}),d&&(0,o.jsx)("span",{className:"absolute right-2.5 top-1/2 -translate-y-1/2",children:(0,o.jsx)(q,{name:"braille",className:"text-sm",style:{color:"var(--color-text-muted)"}})})]}),i&&a.length>0&&(0,o.jsx)("div",{className:"absolute left-3 right-3 mt-1 rounded-lg shadow-lg border overflow-hidden z-50 max-h-[300px] overflow-y-auto",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},children:a.map((e,t)=>(0,o.jsxs)("button",{type:"button",onClick:()=>v(e),className:"w-full flex items-center gap-2 px-3 py-2 text-left text-xs cursor-pointer transition-colors",style:{background:t===x?"var(--color-surface-hover)":"transparent",color:"var(--color-text)"},onMouseEnter:()=>h(t),children:[(0,o.jsx)("span",{className:"flex-shrink-0",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(er,{type:e.type})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)("div",{className:"truncate font-medium",children:e.name}),(0,o.jsx)("div",{className:"truncate",style:{color:"var(--color-text-muted)",fontSize:"10px"},children:e.path.split("/").slice(0,-1).join("/")})]}),(0,o.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded-full flex-shrink-0 capitalize",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:e.type})]},e.path))}),i&&r.trim()&&!d&&0===a.length&&(0,o.jsx)("div",{className:"absolute left-3 right-3 mt-1 rounded-lg shadow-lg border z-50 px-3 py-3 text-center",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},children:(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"No files found"})})]})}function el(e){let{tree:t,activePath:r,onSelect:n,onRefresh:a,orgName:s,loading:i,browseDir:c,parentDir:d,onNavigateUp:u,onGoHome:x,onFileSearchSelect:h,workspaceRoot:p,onGoToChat:m,onExternalDrop:f,mobile:v,onClose:g,showHidden:y,onToggleHidden:b,width:j,onCollapse:k,activeWorkspace:w,onWorkspaceChanged:N}=e,C=null!=c,S=v?"280px":null!=j?j:260,[L,M]=(0,l.useState)(!1),T=(0,o.jsxs)("aside",{className:"flex flex-col h-screen shrink-0 ".concat(v?"drawer-left":"border-r"),style:{width:"number"==typeof S?"".concat(S,"px"):S,minWidth:"number"==typeof S?"".concat(S,"px"):S,background:"var(--color-sidebar-bg)",borderColor:"var(--color-border)"},children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 border-b",style:{borderColor:"var(--color-border)"},children:[C?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:"w-8 h-8 rounded-lg flex items-center justify-center flex-shrink-0",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:(0,o.jsx)($,{})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsx)("div",{className:"text-sm font-medium truncate",style:{color:"var(--color-text)"},title:c,children:"/"===c?"/":c.split("/").pop()||c}),(0,o.jsx)("div",{className:"text-[11px] truncate",style:{color:"var(--color-text-muted)"},title:c,children:c})]}),x&&(0,o.jsx)("button",{type:"button",onClick:x,className:"p-1.5 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Return to workspace",children:(0,o.jsx)(G,{})})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("button",{type:"button",onClick:()=>void(null==m||m()),className:"w-7 h-7 rounded-lg flex items-center justify-center shrink-0 cursor-pointer transition-colors hover:bg-stone-200 dark:hover:bg-stone-700",style:{background:"transparent",color:"var(--color-text-muted)"},title:"All Chats",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m3 9 9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z"}),(0,o.jsx)("polyline",{points:"9 22 9 12 15 12 15 22"})]})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0 px-1.5",children:[(0,o.jsx)("div",{className:"text-[13px] font-semibold truncate text-stone-700 dark:text-stone-200",children:s||"Workspace"}),(0,o.jsx)("div",{className:"mt-1",children:(0,o.jsx)(V,{activeWorkspaceHint:null!=w?w:null,onWorkspaceSwitch:()=>{null==N||N()},onWorkspaceDelete:()=>{null==N||N()},onCreateWorkspace:()=>{M(!0)},trigger:e=>{let{onClick:t,activeWorkspace:r,switching:l}=e;return(0,o.jsxs)("button",{type:"button",onClick:t,disabled:l,className:"text-[11px] flex items-center gap-1 truncate w-full transition-colors",style:{color:"var(--color-text-muted)"},title:"Switch workspace",children:[(0,o.jsx)("span",{children:"Workspace"}),(0,o.jsx)("span",{className:"px-1 py-0.5 rounded text-[10px] shrink-0 bg-stone-200 text-stone-600 dark:bg-stone-700 dark:text-stone-300",children:r||"-"}),(0,o.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m6 9 6 6 6-6"})})]})}})})]})]}),k&&(0,o.jsx)("button",{type:"button",onClick:k,className:"p-1 rounded-md shrink-0 transition-colors hover:bg-stone-200 dark:hover:bg-stone-700",style:{color:"var(--color-text-muted)"},title:"Hide sidebar (⌘B)",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M9 3v18"})]})})]}),h&&(0,o.jsx)(eo,{onSelect:h}),(0,o.jsx)("div",{className:"flex-1 overflow-y-auto px-1",children:i?(0,o.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,o.jsx)(q,{name:"braille",className:"text-2xl",style:{color:"var(--color-text-muted)"}})}):(0,o.jsx)(U,{tree:t,activePath:r,onSelect:n,onRefresh:a,parentDir:d,onNavigateUp:u,browseDir:c,workspaceRoot:p,onExternalDrop:f})}),(0,o.jsxs)("div",{className:"px-3 py-2.5 border-t flex items-center justify-between",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("a",{href:"https://denchclaw.sh",target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2 px-2 py-1.5 rounded-lg text-sm",style:{color:"var(--color-text-muted)"},children:"denchclaw.sh"}),(0,o.jsxs)("div",{className:"flex items-center gap-0.5",children:[b&&(0,o.jsx)("button",{type:"button",onClick:b,className:"p-1.5 rounded-lg transition-colors",style:{color:y?"var(--color-accent)":"var(--color-text-muted)"},title:y?"Hide dotfiles":"Show dotfiles",children:(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:y?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49"}),(0,o.jsx)("path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242"}),(0,o.jsx)("path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143"}),(0,o.jsx)("path",{d:"m2 2 20 20"})]})})}),(0,o.jsx)(Z,{})]})]})]});return v?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"drawer-backdrop",onClick:()=>void(null==g||g()),children:(0,o.jsx)("div",{onClick:e=>e.stopPropagation(),className:"fixed inset-y-0 left-0 z-50",children:T})}),(0,o.jsx)(K,{isOpen:L,onClose:()=>M(!1),onCreated:()=>{null==N||N()}})]}):(0,o.jsxs)(o.Fragment,{children:[T,(0,o.jsx)(K,{isOpen:L,onClose:()=>M(!1),onCreated:()=>{null==N||N()}})]})}var en=r(50890),ea=r(76552),es=r(42282),ei=r(24285),ec=r(98832);function ed(e,t,r){return(0,ec.IL)(e.getValue(t),r).passed}function eu(e){let{id:t,children:r,style:l,className:n}=e,{attributes:a,listeners:s,setNodeRef:i,transform:c,transition:d,isDragging:u}=(0,es.gl)({id:t}),x={...l,transform:ei.Ks.Translate.toString(c),transition:d,opacity:u?.5:1,cursor:"grab"};return(0,o.jsx)("th",{ref:i,style:x,className:n,...a,...s,children:r})}function ex(e){let{direction:t}=e;return t?(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:"asc"===t?(0,o.jsx)("path",{d:"m5 12 7-7 7 7"}):(0,o.jsx)("path",{d:"m19 12-7 7-7-7"})}):(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.25},children:[(0,o.jsx)("path",{d:"m7 15 5 5 5-5"}),(0,o.jsx)("path",{d:"m7 9 5-5 5 5"})]})}function eh(e){let{columns:t,data:r,loading:n=!1,searchPlaceholder:s="Search...",enableGlobalFilter:i=!0,enableSorting:c=!0,enableRowSelection:d=!1,rowSelection:u,onRowSelectionChange:x,bulkActions:h,enableColumnReordering:p=!1,onColumnReorder:m,initialColumnVisibility:f,pageSize:v=100,onRefresh:g,onAdd:y,addButtonLabel:b="+ Add",onRowClick:j,rowActions:k,toolbarExtra:w,title:N,titleIcon:C,stickyFirstColumn:S=!0,serverPagination:L,onServerSearch:M}=e,[T,E]=(0,l.useState)([]),[W,R]=(0,l.useState)(""),[D,I]=(0,l.useState)([]),[B,F]=(0,l.useState)(null!=f?f:{});(0,l.useEffect)(()=>{F(null!=f?f:{})},[f]);let[_,P]=(0,l.useState)({}),[A,z]=(0,l.useState)(!1),[O,U]=(0,l.useState)(S),[H,V]=(0,l.useState)(!1),[K,J]=(0,l.useState)({pageIndex:0,pageSize:v}),q=(0,l.useRef)(null),G=(0,l.useRef)(null),$=void 0!==u?u:_,Z=(0,l.useCallback)(e=>"id"in e&&"string"==typeof e.id?e.id:"accessorKey"in e&&"string"==typeof e.accessorKey?e.accessorKey:"",[]),Q=(0,l.useCallback)(e=>{let t=e.map(Z),r=[];return d&&r.push("select"),r.push(...t),k&&r.push("actions"),r},[Z,d,k]),[Y,X]=(0,l.useState)(()=>Q(t));(0,l.useEffect)(()=>{X(Q(t))},[t,Q]);let ee=(0,a.FR)((0,a.MS)(a.AN,{activationConstraint:{distance:5}})),et=(0,l.useCallback)(e=>{let{active:t,over:r}=e;r&&t.id!==r.id&&X(e=>{let o=e.indexOf(t.id),l=e.indexOf(r.id),n=(0,es.be)(e,o,l);return null==m||m(n),n})},[m]),er=(0,l.useCallback)(e=>{V(e.currentTarget.scrollLeft>0)},[]);(0,l.useEffect)(()=>{function e(e){q.current&&!q.current.contains(e.target)&&z(!1)}if(A)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[A]);let eo=d?{id:"select",header:e=>{let{table:t}=e;return(0,o.jsx)("input",{type:"checkbox",checked:t.getIsAllPageRowsSelected(),onChange:t.getToggleAllPageRowsSelectedHandler(),className:"w-3.5 h-3.5 rounded accent-[var(--color-accent)] cursor-pointer"})},cell:e=>{let{row:t}=e;return(0,o.jsx)("input",{type:"checkbox",checked:t.getIsSelected(),onChange:t.getToggleSelectedHandler(),onClick:e=>e.stopPropagation(),className:"w-3.5 h-3.5 rounded accent-[var(--color-accent)] cursor-pointer"})},size:40,enableSorting:!1,enableHiding:!1}:null,el=k?{id:"actions",header:()=>null,cell:e=>{let{row:t}=e;return(0,o.jsx)(em,{row:t.original,actions:k(t.original)})},size:48,enableSorting:!1,enableHiding:!1}:null,ei=(0,l.useMemo)(()=>{let e=[];return eo&&e.push(eo),e.push(...t),el&&e.push(el),e},[t,eo,el]),ec=L?{pageIndex:L.page-1,pageSize:L.pageSize}:void 0,eh=(0,en.N4)({data:r,columns:ei,state:{sorting:T,globalFilter:W,columnFilters:D,columnVisibility:B,rowSelection:$,columnOrder:p?Y:void 0,pagination:null!=ec?ec:K},onSortingChange:E,onGlobalFilterChange:R,onColumnFiltersChange:I,onColumnVisibilityChange:F,onRowSelectionChange:e=>{x?x(e):P(e)},onPaginationChange:L?e=>{let t="function"==typeof e?e(ec):e;t.pageSize!==L.pageSize?L.onPageSizeChange(t.pageSize):t.pageIndex!==L.page-1&&L.onPageChange(t.pageIndex+1)}:J,getCoreRowModel:(0,ea.HT)(),getSortedRowModel:c?(0,ea.h5)():void 0,getFilteredRowModel:L?void 0:(0,ea.hM)(),getPaginationRowModel:L?void 0:(0,ea.kW)(),...L?{manualPagination:!0,pageCount:Math.ceil(L.totalCount/L.pageSize)}:{},enableRowSelection:d,enableSorting:c,globalFilterFn:ed,columnResizeMode:"onChange"}),ev=Object.keys($).filter(e=>$[e]).length,eg=eh.getVisibleFlatColumns().filter(e=>"select"!==e.id&&"actions"!==e.id);return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2.5 flex-shrink-0 flex-wrap",style:{borderBottom:"1px solid var(--color-border)"},children:[N&&(0,o.jsxs)("div",{className:"flex items-center gap-2 mr-2",children:[C,(0,o.jsx)("span",{className:"text-sm font-semibold",style:{color:"var(--color-text)"},children:N})]}),i&&(0,o.jsxs)("div",{className:"relative flex-1 min-w-[180px] max-w-[320px]",children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"absolute left-3 top-1/2 -translate-y-1/2",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]}),(0,o.jsx)("input",{type:"text",value:W,onChange:e=>{R(e.target.value),null==M||M(e.target.value)},placeholder:s,className:"w-full pl-9 pr-3 py-1.5 text-xs rounded-full outline-none",style:{background:"var(--color-surface-hover)",color:"var(--color-text)",border:"1px solid var(--color-border)"}}),W&&(0,o.jsx)("button",{type:"button",onClick:()=>{R(""),null==M||M("")},className:"absolute right-2.5 top-1/2 -translate-y-1/2",style:{color:"var(--color-text-muted)"},children:(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]}),ev>0&&h&&(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsxs)("span",{className:"text-xs font-medium",style:{color:"var(--color-text-muted)"},children:[ev," selected"]}),h]}),(0,o.jsx)("div",{className:"flex-1"}),w,g&&(0,o.jsx)("button",{type:"button",onClick:g,className:"p-1.5 rounded-lg",style:{color:"var(--color-text-muted)"},title:"Refresh",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),(0,o.jsx)("path",{d:"M21 3v5h-5"}),(0,o.jsx)("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"}),(0,o.jsx)("path",{d:"M3 21v-5h5"})]})}),(0,o.jsxs)("div",{className:"relative",ref:q,children:[(0,o.jsxs)("button",{type:"button",onClick:()=>z(e=>!e),className:"flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-xs font-medium",style:{color:"var(--color-text-muted)",border:"1px solid var(--color-border)",background:A?"var(--color-surface-hover)":"transparent"},children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M9 3v18"}),(0,o.jsx)("path",{d:"M15 3v18"})]}),"Columns"]}),A&&(0,o.jsxs)("div",{className:"absolute right-0 top-full mt-1 z-50 min-w-[200px] rounded-xl overflow-hidden py-1",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-lg)"},children:[(0,o.jsxs)("label",{className:"flex items-center gap-2 px-3 py-2 text-xs cursor-pointer",style:{color:"var(--color-text-muted)",borderBottom:"1px solid var(--color-border)"},children:[(0,o.jsx)("input",{type:"checkbox",checked:O,onChange:()=>U(e=>!e),className:"w-3.5 h-3.5 rounded accent-[var(--color-accent)]"}),"Freeze first column"]}),0===eg.length?(0,o.jsx)("div",{className:"px-3 py-2 text-xs",style:{color:"var(--color-text-muted)"},children:"No toggleable columns"}):eh.getAllLeafColumns().filter(e=>"select"!==e.id&&"actions"!==e.id&&e.getCanHide()).map(e=>{var t,r;return(0,o.jsxs)("label",{className:"flex items-center gap-2 px-3 py-1.5 text-xs cursor-pointer",style:{color:"var(--color-text)"},children:[(0,o.jsx)("input",{type:"checkbox",checked:e.getIsVisible(),onChange:e.getToggleVisibilityHandler(),className:"w-3.5 h-3.5 rounded accent-[var(--color-accent)]"}),"string"==typeof e.columnDef.header?e.columnDef.header:String(null!=(r=null==(t=e.columnDef.meta)?void 0:t.label)?r:e.id)]},e.id)})]})]}),y&&(0,o.jsx)("button",{type:"button",onClick:y,className:"flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-xs font-medium",style:{background:"var(--color-accent)",color:"white"},children:b})]}),(0,o.jsx)("div",{ref:G,className:"flex-1 overflow-auto min-w-0",onScroll:er,children:n?(0,o.jsx)(ef,{columnCount:ei.length}):0===r.length?(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3",children:[(0,o.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{color:"var(--color-text-muted)",opacity:.4},children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M3 9h18"}),(0,o.jsx)("path",{d:"M3 15h18"}),(0,o.jsx)("path",{d:"M9 3v18"})]}),(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"No data"})]}):(0,o.jsx)(a.Mp,{sensors:ee,collisionDetection:a.fp,onDragEnd:et,children:(0,o.jsxs)("table",{className:"w-full text-sm",style:{borderCollapse:"separate",borderSpacing:0},children:[(0,o.jsx)("thead",{children:eh.getHeaderGroups().map(e=>(0,o.jsx)("tr",{children:(0,o.jsx)(es.gB,{items:Y,strategy:es.m$,children:e.headers.map((e,t)=>{let r=t===+!!d,l=O&&r,n="select"===e.id,a="actions"===e.id,s=e.column.getCanSort(),i={borderColor:"var(--color-border)",background:"var(--color-surface)",position:"sticky",top:0,zIndex:l||n?31:30,...l?{left:40*!!d,boxShadow:H?"4px 0 8px -2px rgba(0,0,0,0.08)":"none"}:{},...n?{left:0,position:"sticky",zIndex:31,width:40}:{},width:e.getSize()},c=e.isPlaceholder?null:(0,en.Kv)(e.column.columnDef.header,e.getContext());return!p||n||a?(0,o.jsx)("th",{style:i,className:"text-left px-3 py-2.5 font-medium text-xs uppercase tracking-wider whitespace-nowrap border-b select-none",children:(0,o.jsxs)("span",{className:"flex items-center gap-1 ".concat(s?"cursor-pointer":""),onClick:s?e.column.getToggleSortingHandler():void 0,style:{color:"var(--color-text-muted)"},children:[c,s&&(0,o.jsx)(ex,{direction:e.column.getIsSorted()})]})},e.id):(0,o.jsx)(eu,{id:e.id,style:i,className:"text-left px-3 py-2.5 font-medium text-xs uppercase tracking-wider whitespace-nowrap border-b select-none",children:(0,o.jsxs)("span",{className:"flex items-center gap-1 ".concat(s?"cursor-pointer":""),onClick:s?e.column.getToggleSortingHandler():void 0,children:[c,s&&(0,o.jsx)(ex,{direction:e.column.getIsSorted()})]})},e.id)})})},e.id))}),(0,o.jsx)("tbody",{children:eh.getRowModel().rows.map((e,t)=>{let r=e.getIsSelected();return(0,o.jsx)("tr",{className:"transition-colors duration-75 ".concat(j?"cursor-pointer":""),style:{background:r?"var(--color-accent-light)":t%2==0?"transparent":"var(--color-surface)"},onClick:()=>null==j?void 0:j(e.original,t),onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--color-surface-hover)")},onMouseLeave:e=>{r||(e.currentTarget.style.background=t%2==0?"transparent":"var(--color-surface)")},children:e.getVisibleCells().map((e,t)=>{let l=t===+!!d,n=O&&l,a="select"===e.column.id,s={borderColor:"var(--color-border)",...n?{position:"sticky",left:40*!!d,zIndex:20,background:r?"var(--color-accent-light)":"var(--color-bg)",boxShadow:H?"4px 0 8px -2px rgba(0,0,0,0.08)":"none"}:{},...a?{position:"sticky",left:0,zIndex:20,background:r?"var(--color-accent-light)":"var(--color-bg)",width:40}:{}};return(0,o.jsx)("td",{className:"px-3 py-2 border-b whitespace-nowrap",style:s,children:(0,en.Kv)(e.column.columnDef.cell,e.getContext())},e.id)})},e.id)})})]})})}),!n&&r.length>0&&(0,o.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 text-xs flex-shrink-0",style:{borderTop:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:[(0,o.jsxs)("span",{children:[L?"Showing ".concat((L.page-1)*L.pageSize+1,"–").concat(Math.min(L.page*L.pageSize,L.totalCount)," of ").concat(L.totalCount," results"):"Showing ".concat(eh.getRowModel().rows.length," of ").concat(r.length," results"),ev>0&&" (".concat(ev," selected)")]}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{children:"Rows per page"}),(0,o.jsx)("select",{value:L?L.pageSize:K.pageSize,onChange:e=>{let t=Number(e.target.value);L?L.onPageSizeChange(t):J(e=>({...e,pageSize:t,pageIndex:0}))},className:"px-1.5 py-0.5 rounded-md text-xs outline-none",style:{background:"var(--color-surface-hover)",color:"var(--color-text)",border:"1px solid var(--color-border)"},children:[20,50,100,250,500].map(e=>(0,o.jsx)("option",{value:e,children:e},e))}),(0,o.jsxs)("span",{children:["Page ",L?L.page:K.pageIndex+1," of ",eh.getPageCount()]}),(0,o.jsx)("div",{className:"flex gap-0.5",children:L?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ep,{onClick:()=>L.onPageChange(1),disabled:L.page<=1,label:"\xab"}),(0,o.jsx)(ep,{onClick:()=>L.onPageChange(L.page-1),disabled:L.page<=1,label:"‹"}),(0,o.jsx)(ep,{onClick:()=>L.onPageChange(L.page+1),disabled:L.page>=Math.ceil(L.totalCount/L.pageSize),label:"›"}),(0,o.jsx)(ep,{onClick:()=>L.onPageChange(Math.ceil(L.totalCount/L.pageSize)),disabled:L.page>=Math.ceil(L.totalCount/L.pageSize),label:"\xbb"})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ep,{onClick:()=>J(e=>({...e,pageIndex:0})),disabled:!eh.getCanPreviousPage(),label:"\xab"}),(0,o.jsx)(ep,{onClick:()=>eh.previousPage(),disabled:!eh.getCanPreviousPage(),label:"‹"}),(0,o.jsx)(ep,{onClick:()=>eh.nextPage(),disabled:!eh.getCanNextPage(),label:"›"}),(0,o.jsx)(ep,{onClick:()=>J(e=>({...e,pageIndex:eh.getPageCount()-1})),disabled:!eh.getCanNextPage(),label:"\xbb"})]})})]})]})]})}function ep(e){let{onClick:t,disabled:r,label:l}=e;return(0,o.jsx)("button",{type:"button",onClick:t,disabled:r,className:"w-6 h-6 rounded flex items-center justify-center text-xs disabled:opacity-30",style:{color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},dangerouslySetInnerHTML:{__html:l}})}function em(e){let{row:t,actions:r}=e,[n,a]=(0,l.useState)(!1),s=(0,l.useRef)(null);return(0,l.useEffect)(()=>{function e(e){s.current&&!s.current.contains(e.target)&&a(!1)}if(n)return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[n]),(0,o.jsxs)("div",{className:"relative",ref:s,children:[(0,o.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation(),a(e=>!e)},className:"p-1 rounded-md",style:{color:"var(--color-text-muted)"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",children:[(0,o.jsx)("circle",{cx:"12",cy:"5",r:"1.5"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"1.5"}),(0,o.jsx)("circle",{cx:"12",cy:"19",r:"1.5"})]})}),n&&(0,o.jsx)("div",{className:"absolute right-0 top-full mt-1 z-50 min-w-[140px] rounded-xl overflow-hidden py-1",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-lg)"},children:r.map((e,r)=>(0,o.jsxs)("button",{type:"button",onClick:r=>{var o;r.stopPropagation(),null==(o=e.onClick)||o.call(e,t),a(!1)},className:"flex items-center gap-2 w-full px-3 py-1.5 text-xs text-left",style:{color:"destructive"===e.variant?"var(--color-error)":"var(--color-text)"},children:[e.icon,e.label]},r))})]})}function ef(e){let{columnCount:t}=e;return(0,o.jsx)("div",{className:"p-4 space-y-2",children:Array.from({length:12}).map((e,r)=>(0,o.jsx)("div",{className:"flex gap-3",children:Array.from({length:Math.min(t,6)}).map((e,t)=>(0,o.jsx)("div",{className:"h-8 rounded-lg animate-pulse flex-1",style:{background:"var(--color-surface-hover)",animationDelay:"".concat(50*t,"ms")}},t))},r))})}function ev(e){if(!e)return[];let t=e.trim();if(!t)return[];if(t.startsWith("["))try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(String).filter(Boolean)}catch(e){}return[t]}function eg(e){let{relatedObjectName:t,value:r,multiple:n=!1,onChange:a,placeholder:s,variant:i="modal",autoFocus:c=!1}=e,[d,u]=(0,l.useState)(c),[x,h]=(0,l.useState)(""),[p,m]=(0,l.useState)([]),[f,v]=(0,l.useState)(!1),[g,y]=(0,l.useState)(()=>ev(r)),b=(0,l.useRef)(null),j=(0,l.useRef)(null),k=(0,l.useRef)(null);(0,l.useEffect)(()=>{y(ev(r))},[r]);let w=(0,l.useCallback)(async e=>{v(!0);try{let o=new URLSearchParams;e&&o.set("q",e);let l=await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries/options?").concat(o));if(l.ok){var r;let e=await l.json();m(null!=(r=e.options)?r:[])}}catch(e){}finally{v(!1)}},[t]);(0,l.useEffect)(()=>{d&&w(x)},[d]),(0,l.useEffect)(()=>{if(d)return k.current&&clearTimeout(k.current),k.current=setTimeout(()=>w(x),250),()=>{k.current&&clearTimeout(k.current)}},[x]),(0,l.useEffect)(()=>{d&&j.current&&j.current.focus()},[d]),(0,l.useEffect)(()=>{if(!d)return;let e=e=>{b.current&&!b.current.contains(e.target)&&u(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[d]);let N=g.map(e=>{var t;let r=p.find(t=>t.id===e),o=null!=(t=null==r?void 0:r.label)?t:e;return{id:e,label:String(null!=o&&"object"==typeof o?JSON.stringify(o):null!=o?o:"")}}),C="inline"===i;return(0,o.jsxs)("div",{ref:b,className:"relative w-full",children:[(0,o.jsxs)("div",{onClick:()=>u(!d),className:"w-full flex items-center flex-wrap gap-1 cursor-pointer min-h-[1.5em] ".concat(C?"text-xs":"px-3 py-2 text-sm rounded-lg"),style:C?{}:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},children:[N.length>0?N.map(e=>{let{id:t,label:r}=e;return(0,o.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs font-medium",style:{background:"rgba(96, 165, 250, 0.1)",color:"#60a5fa",border:"1px solid rgba(96, 165, 250, 0.2)"},children:[(0,o.jsx)("span",{className:"truncate max-w-[160px]",children:String(null!=r?r:"")}),(0,o.jsx)("button",{type:"button",onClick:e=>{e.stopPropagation();let r=g.filter(e=>e!==t);y(r),n?a(0===r.length?"":JSON.stringify(r)):a("")},className:"ml-0.5 hover:opacity-70",style:{color:"#60a5fa"},children:(0,o.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]},t)}):(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.5},children:null!=s?s:"Select ".concat(t,"...")}),(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"ml-auto flex-shrink-0",style:{color:"var(--color-text-muted)",transform:d?"rotate(180deg)":void 0,transition:"transform 0.15s"},children:(0,o.jsx)("path",{d:"m6 9 6 6 6-6"})})]}),d&&(0,o.jsxs)("div",{className:"absolute z-50 mt-1 w-full rounded-lg shadow-lg overflow-hidden",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",maxHeight:260},children:[(0,o.jsx)("div",{className:"p-2 border-b",style:{borderColor:"var(--color-border)"},children:(0,o.jsx)("input",{ref:j,type:"text",value:x,onChange:e=>h(e.target.value),placeholder:"Search ".concat(t,"..."),className:"w-full px-2.5 py-1.5 text-xs rounded-md outline-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},onKeyDown:e=>{"Escape"===e.key&&u(!1)}})}),(0,o.jsx)("div",{className:"overflow-y-auto",style:{maxHeight:200},children:f?(0,o.jsx)("div",{className:"px-3 py-4 text-center text-xs",style:{color:"var(--color-text-muted)"},children:"Loading..."}):0===p.length?(0,o.jsx)("div",{className:"px-3 py-4 text-center text-xs",style:{color:"var(--color-text-muted)"},children:x?"No matches found":"No entries"}):p.map(e=>{var t;let r=g.includes(e.id);return(0,o.jsxs)("button",{type:"button",onClick:()=>(e=>{if(n){let t=g.includes(e)?g.filter(t=>t!==e):[...g,e];y(t),a(0===t.length?"":JSON.stringify(t))}else y([e]),a(e),u(!1)})(e.id),className:"w-full text-left px-3 py-2 text-xs flex items-center gap-2 transition-colors",style:{background:r?"var(--color-accent-light, rgba(96, 165, 250, 0.08))":"transparent",color:"var(--color-text)"},onMouseEnter:e=>{r||(e.currentTarget.style.background="var(--color-surface-hover, rgba(255,255,255,0.04))")},onMouseLeave:e=>{e.currentTarget.style.background=r?"var(--color-accent-light, rgba(96, 165, 250, 0.08))":"transparent"},children:[n&&(0,o.jsx)("span",{className:"w-3.5 h-3.5 rounded border flex items-center justify-center flex-shrink-0",style:{borderColor:r?"var(--color-accent)":"var(--color-border)",background:r?"var(--color-accent)":"transparent"},children:r&&(0,o.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 6 9 17l-5-5"})})}),!n&&r&&(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-accent)",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0",children:(0,o.jsx)("path",{d:"M20 6 9 17l-5-5"})}),(0,o.jsx)("span",{className:"truncate",children:String(null!=e.label&&"object"==typeof e.label?JSON.stringify(e.label):null!=(t=e.label)?t:"")})]},e.id)})})]})]})}var ey=r(68840);let eb=/^[^\s@]+@[^\s@]+\.[^\s@]+$/,ej=/^https?:\/\/\S+$/i,ek=/^\+?[0-9().\-\s]{7,}$/,ew=/^\d{4}-\d{2}-\d{2}$/,eN=/^\d{4}-\d{2}-\d{2}(?:[T\s]\d{2}:\d{2}(?::\d{2}(?:\.\d{1,9})?)?(?:Z|[+-]\d{2}(?::?\d{2})?)?)?$/,eC=/^\d{1,2}\/\d{1,2}\/\d{2,4}$/,eS=/^([$\u20ac\u00a3\u00a5])\s*(-?\d[\d,]*(?:\.\d+)?)$/,eL=/^-?\d[\d,]*(?:\.\d+)?$/,eM=new Set(["jpg","jpeg","png","gif","webp","svg","bmp","avif","heic","heif","ico","tiff","tif"]),eT=new Set(["mp4","webm","mov","avi","mkv"]),eE=new Set(["mp3","wav","ogg","m4a","aac","flac"]),eW=new Set(["pdf"]),eR=new Set([...eM,...eT,...eE,...eW,"txt","md","json","yaml","yml","csv","sql","doc","docx","xls","xlsx","ppt","pptx","zip","tar","gz"]);function eD(e){var t,r,o,l;return null!=(l=null==(r=(null!=(o=null==(t=e.split("?")[0])?void 0:t.split("#")[0])?o:e).split(".").pop())?void 0:r.toLowerCase())?l:""}function eI(e){let t=eD(e);if(t){if(eM.has(t))return"image";if(eT.has(t))return"video";if(eE.has(t))return"audio";if(eW.has(t))return"pdf"}}function eB(e){return e.startsWith("/")||e.startsWith("~/")||/^[A-Za-z]:[\\/]/.test(e)}function eF(e){let t=(0,ey.lc)(e);if((null==t?void 0:t.kind)==="file")return t.path;let r=function(e){if(!e.startsWith("file://"))return null;try{let t=new URL(e);if("file:"!==t.protocol)return null;let r=decodeURIComponent(t.pathname);if(/^\/[A-Za-z]:\//.test(r))return r.slice(1);return r}catch(e){return null}}(e);if(r)return r;let o=e.trim();return!function(e){let t=e.trim();if(!t||t.includes("://")&&!t.startsWith("file://"))return!1;if(t.startsWith("./")||t.startsWith("../")||eB(t))return!0;let r=t.includes("/")||t.includes("\\"),o=eD(t);return r?o.length>0&&o.length<=8:eR.has(o)}(o)?null:o}function e_(e){let t=e.trim();if(!t)return null;if(t.startsWith("www."))return"https://".concat(t);if(!ej.test(t))return null;try{let e=new URL(t);if("http:"!==e.protocol&&"https:"!==e.protocol)return null;return e.toString()}catch(e){return null}}function eP(e){let t=e.trim();if(!ek.test(t)||t.replace(/\D/g,"").length<7)return null;let r=t.replace(/[^\d+]/g,"");return r?"tel:".concat(r):null}function eA(e){let t=e.replace(/,/g,"").trim();if(!t)return null;let r=Number(t);return Number.isFinite(r)?r:null}function ez(e){return new Intl.NumberFormat(void 0,{maximumFractionDigits:6}).format(e)}function eO(e,t){let r=function(e){switch(e){case"$":return"USD";case"€":return"EUR";case"\xa3":return"GBP";case"\xa5":return"JPY";default:return null}}(e);return r?new Intl.NumberFormat(void 0,{style:"currency",currency:r,maximumFractionDigits:2}).format(t):"".concat(e).concat(ez(t))}function eU(e){let t=function(e){let t,r=e.trim();if(ew.test(r)){let[e,t,o]=r.split("-").map(e=>Number(e)),l=new Date(e,(null!=t?t:1)-1,null!=o?o:1);return Number.isNaN(l.getTime())?null:l}if(!(eN.test(r)||eC.test(r)))return null;let o=new Date(((t=r).includes(" ")&&(t=t.replace(" ","T")),t=(t=(t=t.replace(/(\.\d{3})\d+(?=(?:Z|[+-]\d{2}(?::?\d{2})?)?$)/,"$1")).replace(/([+-]\d{2})$/,"$1:00")).replace(/([+-]\d{2})(\d{2})$/,"$1:$2")));return Number.isNaN(o.getTime())?null:o}(e);return t?{text:e.includes("T")||/\d{1,2}:\d{2}/.test(e)?new Intl.DateTimeFormat(void 0,{dateStyle:"medium",timeStyle:"short"}).format(t):new Intl.DateTimeFormat(void 0,{dateStyle:"medium"}).format(t),iso:t.toISOString()}:null}function eH(e){return e.startsWith("http://")||e.startsWith("https://")?e:eB(e)?"/api/workspace/browse-file?path=".concat(encodeURIComponent(e),"&raw=true"):"/api/workspace/raw-file?path=".concat(encodeURIComponent(e))}function eV(){return(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.5},children:"--"})}function eK(e){let{mediaType:t,url:r,label:l}=e;return"image"===t?(0,o.jsx)("div",{className:"mt-2 rounded-lg overflow-hidden border",style:{borderColor:"var(--color-border)"},children:(0,o.jsx)("img",{src:r,alt:l,className:"max-h-64 w-auto"})}):"video"===t?(0,o.jsx)("video",{src:r,controls:!0,className:"mt-2 w-full max-h-72 rounded-lg border",style:{borderColor:"var(--color-border)",background:"#000"}}):"audio"===t?(0,o.jsx)("audio",{src:r,controls:!0,className:"mt-2 w-full"}):(0,o.jsx)("iframe",{src:"".concat(r,"#toolbar=0&navpanes=0&scrollbar=1"),title:l,className:"mt-2 w-full h-72 rounded-lg border",style:{borderColor:"var(--color-border)",background:"white"}})}function eJ(e){let{value:t,fieldType:r,mode:l="table",className:n}=e,a=function(e,t){let r=function(e){if(null==e)return"";if("string"==typeof e)return e;if("number"==typeof e||"boolean"==typeof e||"bigint"==typeof e)return String(e);if("object"==typeof e)try{return JSON.stringify(e)}catch(e){}return""}(e);if(!r||0===r.trim().length)return{kind:"empty",raw:r,text:""};let o=(null!=t?t:"").trim().toLowerCase(),l=function(e,t){if("email"===t&&eb.test(e.trim())){let t=e.trim();return{kind:"link",raw:e,text:t,linkType:"email",href:"mailto:".concat(t)}}if("phone"===t){let t=eP(e);if(t)return{kind:"link",raw:e,text:e.trim(),linkType:"phone",href:t}}if("url"===t){let t=e_(e);if(t)return{kind:"link",raw:e,text:e.trim(),linkType:"url",href:t,mediaType:eI(t),embedUrl:t}}if("date"===t){let t=eU(e);if(t)return{kind:"date",raw:e,text:t.text,isoDate:t.iso}}if("number"===t){let t=e.trim().match(eS);if(t){var r,o;let l=eA(null!=(r=t[2])?r:"");if(null!=l)return{kind:"currency",raw:e,text:eO(null!=(o=t[1])?o:"$",l),numericValue:l}}let l=eA(e);if(null!=l)return{kind:"number",raw:e,text:ez(l),numericValue:l}}if("file"===t){let t=eF(e);if(t)return{kind:"link",raw:e,text:t,linkType:"file",href:(0,ey.bJ)(t),filePath:t,mediaType:eI(t),embedUrl:eH(t)}}return null}(r,o);return l||("richtext"===o||"relation"===o||"enum"===o||"user"===o?{kind:"text",raw:r,text:r}:function(e){let t=e.trim(),r=eF(t);if(r)return{kind:"link",raw:e,text:r,linkType:"file",href:(0,ey.bJ)(r),filePath:r,mediaType:eI(r),embedUrl:eH(r)};if(eb.test(t))return{kind:"link",raw:e,text:t,linkType:"email",href:"mailto:".concat(t)};let o=e_(t);if(o)return{kind:"link",raw:e,text:t,linkType:"url",href:o,mediaType:eI(o),embedUrl:o};let l=eP(t);if(l)return{kind:"link",raw:e,text:t,linkType:"phone",href:l};let n=eU(t);if(n)return{kind:"date",raw:e,text:n.text,isoDate:n.iso};let a=t.match(eS);if(a){var s,i;let t=eA(null!=(s=a[2])?s:"");if(null!=t)return{kind:"currency",raw:e,text:eO(null!=(i=a[1])?i:"$",t),numericValue:t}}if(eL.test(t)){let r=eA(t);if(null!=r)return{kind:"number",raw:e,text:ez(r),numericValue:r}}return{kind:"text",raw:e,text:e}}(r))}(t,r),s="table"===l,i=null!=n?n:s?"truncate block max-w-[300px]":"break-words";if("empty"===a.kind)return(0,o.jsx)(eV,{});if("link"===a.kind&&a.href){let e="url"===a.linkType||"file"===a.linkType,t=!s&&!!a.embedUrl&&!!a.mediaType;return(0,o.jsxs)("div",{className:s?"truncate block max-w-[300px]":"w-full",children:[(0,o.jsx)("a",{href:a.href,...e?{target:"_blank",rel:"noopener noreferrer"}:{},className:"underline underline-offset-2 ".concat(s?"truncate block":""),style:{color:"var(--color-accent)"},onClick:e=>e.stopPropagation(),children:a.text}),t&&(0,o.jsx)(eK,{mediaType:a.mediaType,url:a.embedUrl,label:a.text})]})}return"number"===a.kind||"currency"===a.kind?(0,o.jsx)("span",{className:"tabular-nums ".concat(i),children:a.text}):(0,o.jsx)("span",{className:i,children:a.text})}let eq=["created_at","Created","createdAt","created"],eG=["updated_at","Updated","updatedAt","updated"];function e$(e){return null==e?"":"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):""}function eZ(e){switch(e){case"number":return"number";case"date":return"date";case"email":return"email";case"phone":return"tel";case"url":return"url";default:return"text"}}function eQ(e,t){for(let r of t){let t=e[r];if(null!=t&&""!==t)return t}}function eY(e){var t;let{value:r,enumValues:l,enumColors:n}=e,a=null!=(t=null==l?void 0:l.indexOf(r))?t:-1,s=a>=0&&n?n[a]:"#94a3b8";return(0,o.jsx)("span",{className:"inline-flex items-center px-2 py-0.5 rounded-full text-xs font-medium",style:{background:"".concat(s,"20"),color:s,border:"1px solid ".concat(s,"40")},children:r})}function eX(e){let{value:t}=e,r=!0===t||"true"===t||"1"===t||"yes"===t;return(0,o.jsx)("span",{style:{color:r?"var(--color-success)":"var(--color-text-muted)"},children:r?"Yes":"No"})}function e0(e){var t,r;let{value:l,members:n}=e,a=String(l),s=null==n?void 0:n.find(e=>e.id===a);return(0,o.jsxs)("span",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("span",{className:"w-5 h-5 rounded-full flex items-center justify-center text-[10px] font-medium flex-shrink-0",style:{background:"var(--color-accent)",color:"white"},children:(null!=(t=null==s?void 0:s.name)?t:a).charAt(0).toUpperCase()}),(0,o.jsx)("span",{className:"truncate",children:null!=(r=null==s?void 0:s.name)?r:a})]})}function e1(e){let{value:t,field:r,relationLabels:l,onNavigateObject:n,onNavigateEntry:a}=e,s=null==l?void 0:l[r.name],i=function(e){if(!e)return[];let t=e.trim();if(!t)return[];if(t.startsWith("["))try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(String).filter(Boolean)}catch(e){}return[t]}(String(t));return 0===i.length?(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.5},children:"--"}):(0,o.jsx)("span",{className:"flex items-center gap-1 flex-wrap",children:i.map(e=>{var t;return(0,o.jsx)("span",{onClick:t=>{if(r.related_object_name&&(a||n)){if(t.stopPropagation(),a)return void a(r.related_object_name,e);null==n||n(r.related_object_name)}},className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs font-medium ".concat(r.related_object_name&&(a||n)?"cursor-pointer":""),style:{background:"var(--color-chip-document)",color:"var(--color-chip-document-text)",border:"1px solid var(--color-border)"},children:(0,o.jsx)("span",{className:"truncate max-w-[180px]",children:null!=(t=null==s?void 0:s[e])?t:e})},e)})})}function e2(e){let{links:t,sourceObjectName:r,onNavigateObject:l,onNavigateEntry:n}=e;if(!t||0===t.length)return(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.5},children:"--"});let a=t.slice(0,5),s=t.length-a.length;return(0,o.jsxs)("span",{className:"flex items-center gap-1 flex-wrap",children:[a.map(e=>(0,o.jsx)("span",{onClick:t=>{if(n||l){if(t.stopPropagation(),n)return void n(r,e.id);null==l||l(r)}},className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-md text-xs font-medium ".concat(n||l?"cursor-pointer":""),style:{background:"var(--color-chip-database)",color:"var(--color-chip-database-text)",border:"1px solid var(--color-border)"},children:(0,o.jsx)("span",{className:"truncate max-w-[180px]",children:e.label})},e.id)),s>0&&(0,o.jsxs)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:["+",s]})]})}function e4(e){let{value:t,entryId:r,fieldName:n,objectName:a,field:s,members:i,relationLabels:c,onNavigateObject:d,onNavigateEntry:u,onLocalValueChange:x,onSaved:h}=e,[p,m]=(0,l.useState)(!1),[f,v]=(0,l.useState)(e$(t)),g=(0,l.useRef)(null),y=(0,l.useRef)(null);(0,l.useEffect)(()=>{p||v(e$(t))},[t,p]),(0,l.useEffect)(()=>{p&&g.current&&g.current.focus()},[p]);let b=!["user"].includes(s.type),j="relation"===s.type&&!!s.related_object_name,k=(0,l.useCallback)(async e=>{null==x||x(e);try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(a),"/entries/").concat(encodeURIComponent(r)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:{[n]:e}})}),null==h||h()}catch(e){}},[a,r,n,x,h]),w=e=>{v(e),y.current&&clearTimeout(y.current),y.current=setTimeout(()=>k(e),500)},N=()=>{y.current&&(clearTimeout(y.current),k(f)),m(!1)},C=e=>{"Enter"===e.key&&N(),"Escape"===e.key&&(m(!1),v(e$(t)))};if(!b)return"user"===s.type?(0,o.jsx)(e0,{value:t,members:i}):(0,o.jsx)("span",{className:"truncate block max-w-[300px]",children:e$(t)});if(p){let e;return j?(0,o.jsx)("div",{className:"-mx-3 -my-2 px-3 py-2",style:{background:"var(--color-bg)",boxShadow:"inset 0 0 0 2px var(--color-accent)"},children:(0,o.jsx)(eg,{relatedObjectName:s.related_object_name,value:e$(t),multiple:"many_to_many"===s.relationship_type,onChange:e=>{k(e),m(!1)},variant:"inline",autoFocus:!0})}):(e="enum"===s.type&&s.enum_values?(0,o.jsxs)("select",{ref:g,value:f,onChange:e=>{w(e.target.value),m(!1)},onBlur:N,onKeyDown:C,className:"w-full text-xs outline-none bg-transparent",style:{color:"var(--color-text)"},children:[(0,o.jsx)("option",{value:"",children:"--"}),s.enum_values.map(e=>(0,o.jsx)("option",{value:e,children:e},e))]}):"boolean"===s.type?(0,o.jsxs)("select",{ref:g,value:f,onChange:e=>{w(e.target.value),m(!1)},onBlur:N,onKeyDown:C,className:"w-full text-xs outline-none bg-transparent",style:{color:"var(--color-text)"},children:[(0,o.jsx)("option",{value:"true",children:"Yes"}),(0,o.jsx)("option",{value:"false",children:"No"})]}):(0,o.jsx)("input",{ref:g,type:eZ(s.type),value:f,onChange:e=>w(e.target.value),onBlur:N,onKeyDown:C,className:"w-full text-xs outline-none bg-transparent",style:{color:"var(--color-text)"}}),(0,o.jsx)("div",{className:"-mx-3 -my-2 px-3 py-2",style:{background:"var(--color-bg)",boxShadow:"inset 0 0 0 2px var(--color-accent)"},children:e}))}return j?(0,o.jsx)("div",{onDoubleClick:()=>m(!0),className:"cursor-cell min-h-[1.5em]",title:"Double-click to edit",children:(0,o.jsx)(e1,{value:t,field:s,relationLabels:c,onNavigateObject:d,onNavigateEntry:u})}):(0,o.jsx)("div",{onDoubleClick:()=>m(!0),className:"cursor-cell min-h-[1.5em]",title:"Double-click to edit",children:null==t||""===t?(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.5},children:"--"}):"enum"===s.type?(0,o.jsx)(eY,{value:e$(t),enumValues:s.enum_values,enumColors:s.enum_colors}):"boolean"===s.type?(0,o.jsx)(eX,{value:t}):(0,o.jsx)(eJ,{value:t,fieldType:s.type,mode:"table"})})}function e5(e){let{objectName:t,fields:r,entries:n,members:a,relationLabels:s,reverseRelations:i,onNavigateToObject:c,onNavigateToEntry:d,onEntryClick:u,onRefresh:x,columnVisibility:h,serverPagination:p,onServerSearch:m}=e,[f,v]=(0,l.useState)({}),[g,y]=(0,l.useState)(!1),[b,j]=(0,l.useState)(n);(0,l.useEffect)(()=>{j(n)},[n]);let k=(0,l.useCallback)((e,t,r)=>{j(o=>o.map(o=>{let l=o.entry_id;return String(null!=l&&"object"==typeof l?JSON.stringify(l):null!=l?l:"")!==e?o:{...o,[t]:r}}))},[]),w=(0,l.useMemo)(()=>i?i.filter(e=>Object.keys(e.entries).length>0):[],[i]),N=(0,l.useMemo)(()=>{let e=r.map((e,r)=>({id:e.id,accessorKey:e.name,meta:{label:e.name,fieldName:e.name},header:()=>(0,o.jsxs)("span",{className:"flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:[e.name,"relation"===e.type&&e.related_object_name&&(0,o.jsxs)("span",{className:"text-[9px] font-normal normal-case tracking-normal opacity-60",children:["(",e.related_object_name,")"]})]}),cell:l=>{let n=l.row.original.entry_id,i=String(null!=n&&"object"==typeof n?JSON.stringify(n):null!=n?n:"");if(0===r&&u){let e=l.getValue(),t=null==e||""===e?"--":e$(e),r="--"===t;return(0,o.jsx)("span",{className:"font-semibold truncate block max-w-[300px] ".concat(r?"":"cursor-pointer hover:underline"),style:{color:r?"var(--color-text-muted)":"var(--color-accent)",opacity:r?.5:1},onClick:e=>{e.stopPropagation(),i&&!r&&u(i)},children:t})}return(0,o.jsx)(e4,{value:l.getValue(),entryId:i,fieldName:e.name,objectName:t,field:e,members:a,relationLabels:s,onNavigateObject:c,onNavigateEntry:d,onLocalValueChange:t=>k(i,e.name,t),onSaved:x})},size:"richtext"===e.type?300:"relation"===e.type?200:180,enableSorting:!0}));for(let t of(e.push({id:"created_at",accessorFn:e=>eQ(e,eq),meta:{label:"Created",fieldName:"created_at"},header:()=>(0,o.jsx)("span",{className:"flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:"Created"}),cell:e=>(0,o.jsx)(eJ,{value:e.getValue(),fieldType:"date",mode:"table"}),size:190,enableSorting:!0}),e.push({id:"updated_at",accessorFn:e=>eQ(e,eG),meta:{label:"Updated",fieldName:"updated_at"},header:()=>(0,o.jsx)("span",{className:"flex items-center gap-1",style:{color:"var(--color-text-muted)"},children:"Updated"}),cell:e=>(0,o.jsx)(eJ,{value:e.getValue(),fieldType:"date",mode:"table"}),size:190,enableSorting:!0}),w))e.push({id:"rev_".concat(t.sourceObjectName,"_").concat(t.fieldName),meta:{label:"".concat(t.sourceObjectName," (via ").concat(t.fieldName,")")},header:()=>(0,o.jsxs)("span",{className:"flex items-center gap-1.5",style:{color:"var(--color-text-muted)"},children:[(0,o.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.4},children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]}),(0,o.jsx)("span",{className:"capitalize",children:t.sourceObjectName}),(0,o.jsxs)("span",{className:"text-[9px] font-normal normal-case tracking-normal opacity-50",children:["via ",t.fieldName]})]}),cell:e=>{var r;let l=e.row.original.entry_id,n=String(null!=l&&"object"==typeof l?JSON.stringify(l):null!=l?l:""),a=null!=(r=t.entries[n])?r:[];return(0,o.jsx)(e2,{links:a,sourceObjectName:t.sourceObjectName,onNavigateObject:c,onNavigateEntry:d})},enableSorting:!1,size:200});return e},[r,w,t,a,s,c,d,x]),C=(0,l.useCallback)(()=>{y(!0)},[]),S=(0,l.useCallback)(async()=>{let e=Object.keys(f).filter(e=>f[e]).map(e=>{var t;return e$(null==(t=b[Number(e)])?void 0:t.entry_id)}).filter(Boolean);if(0!==e.length&&confirm("Delete ".concat(e.length," entries?")))try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries/bulk-delete"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({entryIds:e})}),v({}),null==x||x()}catch(e){}},[f,b,t,x]),L=(0,l.useCallback)(async e=>{let r=e.entry_id,o=String(null!=r&&"object"==typeof r?JSON.stringify(r):null!=r?r:"");if(o&&confirm("Delete this entry?"))try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries/").concat(encodeURIComponent(o)),{method:"DELETE"}),null==x||x()}catch(e){}},[t,x]),M=(0,l.useCallback)(e=>{let t=[];return u&&t.push({label:"View details",onClick:e=>{var t;let r=String(null!=(t=e.entry_id)?t:"");r&&u(r)},icon:(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,o.jsx)("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}),t.push({label:"Delete",variant:"destructive",onClick:L,icon:(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})}),t},[u,L]),T=(0,l.useCallback)(async e=>{let o=new Set(r.map(e=>e.id)),l=e.filter(e=>o.has(e));try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/fields/reorder"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fieldOrder:l})})}catch(e){}},[t,r]),E=(0,o.jsxs)("button",{type:"button",onClick:()=>void S(),className:"flex items-center gap-1 px-2.5 py-1 rounded-lg text-xs font-medium",style:{background:"rgba(220, 38, 38, 0.08)",color:"var(--color-error)",border:"1px solid rgba(220, 38, 38, 0.2)"},children:[(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]}),"Delete"]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(eh,{columns:N,data:b,enableSorting:!0,enableGlobalFilter:!0,enableRowSelection:!0,enableColumnReordering:!0,rowSelection:f,onRowSelectionChange:v,bulkActions:E,onColumnReorder:T,searchPlaceholder:"Search ".concat(t,"..."),onRefresh:x,onAdd:C,addButtonLabel:"+ Add",rowActions:M,stickyFirstColumn:!0,initialColumnVisibility:h,serverPagination:p,onServerSearch:m}),g&&(0,o.jsx)(e6,{objectName:t,fields:r,members:a,onClose:()=>y(!1),onSaved:x})]})}function e6(e){let{objectName:t,fields:r,members:n,onClose:a,onSaved:s}=e,[i,c]=(0,l.useState)({}),[d,u]=(0,l.useState)(!1),x=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=e=>{"Escape"===e.key&&a()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a]);let h=(e,t)=>{c(r=>({...r,[e]:t}))},p=async()=>{u(!0);try{(await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries"),{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:i})})).ok&&(null==s||s(),a())}catch(e){}finally{u(!1)}};return(0,o.jsx)("div",{ref:x,onClick:e=>{e.target===x.current&&a()},className:"fixed inset-0 z-50 flex items-start justify-center",style:{background:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(2px)"},children:(0,o.jsxs)("div",{className:"relative mt-12 mb-12 w-full max-w-lg rounded-2xl overflow-hidden shadow-2xl flex flex-col",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",maxHeight:"calc(100vh - 6rem)"},children:[(0,o.jsxs)("div",{className:"flex items-center justify-between px-6 py-4 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("h2",{className:"text-lg font-semibold capitalize",style:{color:"var(--color-text)"},children:["Add ",t]}),(0,o.jsx)("button",{type:"button",onClick:a,className:"p-1.5 rounded-lg",style:{color:"var(--color-text-muted)"},children:(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]}),(0,o.jsx)("form",{onSubmit:e=>{e.preventDefault(),p()},className:"flex-1 overflow-y-auto px-6 py-5 space-y-4",children:r.map(e=>{var t,r,l,a,s,c;let d="relation"===e.type,u="user"===e.type;return(0,o.jsxs)("div",{children:[(0,o.jsxs)("label",{className:"block text-xs font-medium uppercase tracking-wider mb-1.5",style:{color:"var(--color-text-muted)"},children:[e.name,d&&e.related_object_name&&(0,o.jsxs)("span",{className:"normal-case tracking-normal font-normal opacity-60 ml-1",children:["(",e.related_object_name,")"]})]}),"enum"===e.type&&e.enum_values?(0,o.jsxs)("select",{value:null!=(t=i[e.name])?t:"",onChange:t=>h(e.name,t.target.value),className:"w-full px-3 py-2 text-sm rounded-lg outline-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("option",{value:"",children:"-- Select --"}),e.enum_values.map(e=>(0,o.jsx)("option",{value:e,children:e},e))]}):"boolean"===e.type?(0,o.jsxs)("select",{value:null!=(r=i[e.name])?r:"",onChange:t=>h(e.name,t.target.value),className:"w-full px-3 py-2 text-sm rounded-lg outline-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("option",{value:"",children:"-- Select --"}),(0,o.jsx)("option",{value:"true",children:"Yes"}),(0,o.jsx)("option",{value:"false",children:"No"})]}):"richtext"===e.type?(0,o.jsx)("textarea",{value:null!=(l=i[e.name])?l:"",onChange:t=>h(e.name,t.target.value),rows:3,className:"w-full px-3 py-2 text-sm rounded-lg outline-none resize-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},placeholder:e.name}):d&&e.related_object_name?(0,o.jsx)(eg,{relatedObjectName:e.related_object_name,value:null!=(a=i[e.name])?a:"",multiple:"many_to_many"===e.relationship_type,onChange:t=>h(e.name,t),placeholder:"Select ".concat(e.related_object_name,"...")}):u?(0,o.jsxs)("select",{value:null!=(s=i[e.name])?s:"",onChange:t=>h(e.name,t.target.value),className:"w-full px-3 py-2 text-sm rounded-lg outline-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("option",{value:"",children:"-- Select member --"}),null==n?void 0:n.map(e=>(0,o.jsx)("option",{value:e.id,children:e.name},e.id))]}):(0,o.jsx)("input",{type:eZ(e.type),value:null!=(c=i[e.name])?c:"",onChange:t=>h(e.name,t.target.value),className:"w-full px-3 py-2 text-sm rounded-lg outline-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)"},placeholder:e.name})]},e.id)})}),(0,o.jsxs)("div",{className:"flex items-center justify-end gap-2 px-6 py-4 border-t flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("button",{type:"button",onClick:a,className:"px-4 py-2 text-sm rounded-lg",style:{color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:"Cancel"}),(0,o.jsx)("button",{type:"button",onClick:()=>void p(),disabled:d,className:"px-4 py-2 text-sm font-medium rounded-lg",style:{background:"var(--color-accent)",color:"white",opacity:d?.7:1},children:d?"Saving...":"Save"})]})]})})}function e3(e){return null==e?"":"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):""}function e8(e){let{entry:t,fields:r,members:l,relationLabels:n,onEntryClick:s}=e,i=e3(t.entry_id)||"",{attributes:c,listeners:d,setNodeRef:u,isDragging:x}=(0,a.PM)({id:i,data:{entry:t}});return(0,o.jsx)("div",{ref:u,...d,...c,onClick:e=>{!x&&s&&(e.stopPropagation(),s(i))},className:"rounded-lg p-3 mb-2 transition-all duration-100 cursor-grab active:cursor-grabbing select-none",style:{background:"var(--color-surface)",border:"1px solid ".concat(x?"var(--color-accent)":"var(--color-border)"),opacity:x?.4:1,transform:x?"scale(1.02)":void 0},children:(0,o.jsx)(e7,{entry:t,fields:r,members:l,relationLabels:n})})}function e7(e){let{entry:t,fields:r,members:l,relationLabels:n}=e,a=function(e,t){var r;let o=t.find(e=>e.name.toLowerCase().includes("name")||e.name.toLowerCase().includes("title"));return o?e3(e[o.name])||"Untitled":e3(e[null==(r=t[0])?void 0:r.name])||"Untitled"}(t,r),s=r.filter(e=>"richtext"!==e.type&&null!==t[e.name]&&void 0!==t[e.name]&&""!==t[e.name]).slice(0,4),i=r.find(e=>e.name.toLowerCase().includes("name")||e.name.toLowerCase().includes("title"));return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"text-sm font-medium mb-1.5 truncate",style:{color:"var(--color-text)"},children:a}),(0,o.jsx)("div",{className:"space-y-1",children:s.filter(e=>e!==i).slice(0,3).map(e=>{let r=t[e.name];if(!r)return null;let a=e3(r);if("user"===e.type){let e=null==l?void 0:l.find(e=>e.id===a);e&&(a=e.name)}else if("relation"===e.type){let t=null==n?void 0:n[e.name];a=(function(e){if(!e)return[];let t=e.trim();if(!t)return[];if(t.startsWith("["))try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(String).filter(Boolean)}catch(e){}return[t]})(a).map(e=>{var r;return null!=(r=null==t?void 0:t[e])?r:e}).join(", ")}return(0,o.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,o.jsxs)("span",{style:{color:"var(--color-text-muted)"},children:[e.name,":"]}),"enum"===e.type?(0,o.jsx)(e9,{value:e3(r),enumValues:e.enum_values,enumColors:e.enum_colors}):"relation"===e.type?(0,o.jsxs)("span",{className:"truncate inline-flex items-center gap-0.5",style:{color:"#60a5fa"},children:[(0,o.jsxs)("svg",{width:"8",height:"8",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0",style:{opacity:.5},children:[(0,o.jsx)("path",{d:"M7 7h10v10"}),(0,o.jsx)("path",{d:"M7 17 17 7"})]}),a]}):(0,o.jsx)("span",{className:"truncate",style:{color:"var(--color-text)"},children:a})]},e.id)})})]})}function e9(e){var t;let{value:r,enumValues:l,enumColors:n}=e,a=null!=(t=null==l?void 0:l.indexOf(r))?t:-1,s=a>=0&&n?n[a]:"#94a3b8";return(0,o.jsx)("span",{className:"inline-flex items-center px-1.5 py-0 rounded text-[11px] font-medium",style:{background:"".concat(s,"20"),color:s},children:r})}function te(e){let{columnName:t,color:r,items:n,cardFields:s,members:i,relationLabels:c,onEntryClick:d,isOver:u,groupFieldId:x,objectName:h,onRefresh:p}=e,{setNodeRef:m}=(0,a.zM)({id:"column:".concat(t)}),[f,v]=(0,l.useState)(!1),[g,y]=(0,l.useState)(t),[b,j]=(0,l.useState)(!1),k=(0,l.useRef)(null);(0,l.useEffect)(()=>{f&&k.current&&(k.current.focus(),k.current.select())},[f]);let w=(0,l.useCallback)(async()=>{let e=g.trim();if(!e||e===t||!x){v(!1),y(t);return}j(!0);try{(await fetch("/api/workspace/objects/".concat(encodeURIComponent(h),"/fields/").concat(encodeURIComponent(x),"/enum-rename"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({oldValue:t,newValue:e})})).ok?null==p||p():y(t)}catch(e){y(t)}finally{j(!1),v(!1)}},[g,t,x,h,p]);return(0,o.jsxs)("div",{ref:m,className:"flex-shrink-0 flex flex-col rounded-xl transition-colors duration-150",style:{width:"280px",background:u?"var(--color-surface)":"var(--color-bg)",border:"1px solid ".concat(u?"var(--color-accent)":"var(--color-border)")},children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 border-b",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{background:r}}),f?(0,o.jsx)("input",{ref:k,value:g,onChange:e=>y(e.target.value),onBlur:w,onKeyDown:e=>{"Enter"===e.key&&w(),"Escape"===e.key&&(y(t),v(!1))},disabled:b,className:"text-sm font-medium flex-1 bg-transparent outline-none rounded px-1 -mx-1",style:{color:"var(--color-text)",border:"1px solid var(--color-accent)"}}):(0,o.jsx)("span",{className:"text-sm font-medium flex-1 cursor-text rounded px-1 -mx-1 hover:bg-[var(--color-surface-hover)] transition-colors",style:{color:"var(--color-text)"},onDoubleClick:()=>{x&&(y(t),v(!0))},title:x?"Double-click to rename":void 0,children:t}),(0,o.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)"},children:n.length})]}),(0,o.jsx)("div",{className:"flex-1 overflow-y-auto p-2",style:{minHeight:"80px"},children:0===n.length?(0,o.jsx)("div",{className:"flex items-center justify-center py-8 rounded-lg border border-dashed text-xs transition-colors",style:{borderColor:u?"var(--color-accent)":"var(--color-border)",color:u?"var(--color-accent)":"var(--color-text-muted)"},children:u?"Drop here":"No entries"}):n.map((e,t)=>(0,o.jsx)(e8,{entry:e,fields:s,members:i,relationLabels:c,onEntryClick:d},e3(e.entry_id)||String(t)))})]})}function tt(e){var t;let{objectName:r,fields:n,entries:s,statuses:i,members:c,relationLabels:d,onEntryClick:u,onRefresh:x}=e,[h,p]=(0,l.useState)(null),[m,f]=(0,l.useState)(null),[v,g]=(0,l.useState)(s);(0,l.useEffect)(()=>{g(s)},[s]);let y=(0,a.FR)((0,a.MS)(a.AN,{activationConstraint:{distance:5}})),b=(0,l.useMemo)(()=>{var e;let t=n.find(e=>"enum"===e.type&&e.name.toLowerCase().includes("status"));return t||(null!=(e=n.find(e=>"enum"===e.type))?e:null)},[n]),j=(0,l.useMemo)(()=>{if(i.length>0)return i.map(e=>{var t;return{name:e.name,color:null!=(t=e.color)?t:"#94a3b8"}});if(null==b?void 0:b.enum_values)return b.enum_values.map((e,t)=>{var r,o;return{name:e,color:null!=(o=null==(r=b.enum_colors)?void 0:r[t])?o:"#94a3b8"}});let e=new Set;for(let t of v){let r=b?t[b.name]:void 0;r&&e.add(e3(r))}return Array.from(e).map(e=>({name:e,color:"#94a3b8"}))},[i,b,v]),k=(0,l.useMemo)(()=>{let e={};for(let t of j)e[t.name]=[];for(let t of(e._ungrouped=[],v)){let r=b?e3(t[b.name]):"";e[r]?e[r].push(t):e._ungrouped.push(t)}return e},[j,v,b]),w=n.filter(e=>e!==b),N=(0,l.useMemo)(()=>{var e;return h&&null!=(e=v.find(e=>String(e.entry_id)===h))?e:null},[h,v]),C=(0,l.useCallback)(e=>{p(String(e.active.id))},[]),S=(0,l.useCallback)(e=>{var t;let r=(null==(t=e.over)?void 0:t.id)?String(e.over.id):null;(null==r?void 0:r.startsWith("column:"))?f(r.replace("column:","")):f(null)},[]),L=(0,l.useCallback)(async e=>{p(null),f(null);let{active:t,over:o}=e;if(!o||!b)return;let l=String(o.id);if(!l.startsWith("column:"))return;let n=l.replace("column:",""),a=String(t.id),s=v.find(e=>String(e.entry_id)===a);if(!s)return;let i=e3(s[b.name]);if(i!==n){g(e=>e.map(e=>String(e.entry_id)===a?{...e,[b.name]:n}:e));try{(await fetch("/api/workspace/objects/".concat(encodeURIComponent(r),"/entries/").concat(encodeURIComponent(a)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:{[b.name]:n}})})).ok?null==x||x():g(e=>e.map(e=>String(e.entry_id)===a?{...e,[b.name]:i}:e))}catch(e){g(e=>e.map(e=>String(e.entry_id)===a?{...e,[b.name]:i}:e))}}},[b,v,r,x]);return b?(0,o.jsxs)(a.Mp,{sensors:y,collisionDetection:a.y$,onDragStart:C,onDragOver:S,onDragEnd:L,children:[(0,o.jsxs)("div",{className:"flex gap-4 overflow-x-auto pb-4 px-1",style:{minHeight:"400px"},children:[j.map(e=>{var t;return(0,o.jsx)(te,{columnName:e.name,color:e.color,items:null!=(t=k[e.name])?t:[],cardFields:w,members:c,relationLabels:d,onEntryClick:u,isOver:m===e.name,groupFieldId:b.id,objectName:r,onRefresh:x},e.name)}),(null==(t=k._ungrouped)?void 0:t.length)>0&&(0,o.jsxs)("div",{className:"flex-shrink-0 flex flex-col rounded-xl",style:{width:"280px",background:"var(--color-bg)",border:"1px dashed var(--color-border)"},children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-3 py-2.5 border-b",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("span",{className:"text-sm font-medium",style:{color:"var(--color-text-muted)"},children:"Ungrouped"}),(0,o.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)"},children:k._ungrouped.length})]}),(0,o.jsx)("div",{className:"flex-1 overflow-y-auto p-2",children:k._ungrouped.map((e,t)=>(0,o.jsx)(e8,{entry:e,fields:w,members:c,relationLabels:d,onEntryClick:u},e3(e.entry_id)||String(t)))})]})]}),(0,o.jsx)(a.Hd,{dropAnimation:null,children:N?(0,o.jsx)("div",{className:"rounded-lg p-3 shadow-xl",style:{width:"260px",background:"var(--color-surface)",border:"1px solid var(--color-accent)",transform:"rotate(2deg)"},children:(0,o.jsx)(e7,{entry:N,fields:w,members:c,relationLabels:d})}):null})]}):(0,o.jsx)("div",{className:"flex flex-col items-center justify-center py-20 gap-3",children:(0,o.jsxs)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:["No enum field found for kanban grouping in"," ",(0,o.jsx)("span",{className:"font-medium",style:{color:"var(--color-text)"},children:r})]})})}var tr=r(70739),to=r(30489),tl=r(75885),tn=r(65316),ta=r(1059),ts=r(38804),ti=r(45609),tc=r(98540),td=r(14716),tu=r(92423),tx=r(3904),th=r(67977),tp=r(39682),tm=r(99509),tf=r(89748),tv=r(25277),tg=r(67697),ty=r(77894),tb=r(74575),tj=r(76149),tk=r(49054),tw=r(67034),tN=r(12904),tC=r(84373),tS=r(65440),tL=r(75096);function tM(e){return null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):"object"==typeof e?JSON.stringify(e):""}function tT(e){return(0,to.GP)(e,"yyyy-MM-dd")}function tE(e){return e.toISOString()}function tW(e,t,r){switch(t){case"day":return 1===r?(0,tl.f)(e,1):(0,tn.e)(e,1);case"week":return 1===r?(0,ta.J)(e,1):(0,ts.k)(e,1);case"month":return 1===r?(0,ti.P)(e,1):(0,tc.a)(e,1);case"year":return 1===r?(0,td.e)(e,1):(0,tu.d)(e,1)}}function tR(e){var t;let{event:r,compact:l,onClick:n,draggable:a,onDragStart:s}=e,i=null!=(t=r.color)?t:"var(--color-accent)";return(0,o.jsxs)("button",{type:"button",draggable:a,onDragStart:s,onClick:e=>{e.stopPropagation(),null==n||n()},className:"text-left rounded px-1.5 truncate cursor-pointer transition-opacity hover:opacity-80 ".concat(l?"text-[10px] py-0":"text-[11px] py-0.5"),style:{backgroundColor:i,color:"#fff",border:"none",width:"100%",lineHeight:l?"16px":"18px"},title:r.title,children:[!l&&(0,o.jsx)("span",{className:"opacity-70 mr-1",children:(0,to.GP)(r.date,"HH:mm")}),r.title||"Untitled"]})}function tD(e){let{date:t,events:r,onEntryClick:n,onEntryDateChange:a}=e,[s,i]=(0,l.useState)(null),c=(0,l.useRef)(null),d=(0,tp.w)(t),u=(0,tm.p)(t),x=(0,tx.k)(d,{weekStartsOn:1}),h=(0,th.$)(u,{weekStartsOn:1}),p=(0,tf.k)({start:x,end:h}),m=(0,l.useMemo)(()=>{let e=new Map;for(let t of r){let r=(0,to.GP)(t.date,"yyyy-MM-dd");if(e.has(r)||e.set(r,[]),e.get(r).push(t),t.endDate&&!(0,tv.r)(t.date,t.endDate))for(let r of(0,tf.k)({start:(0,tl.f)(t.date,1),end:t.endDate})){let o=(0,to.GP)(r,"yyyy-MM-dd");e.has(o)||e.set(o,[]),e.get(o).push(t)}}return e},[r]),f=(0,l.useCallback)(e=>{c.current=e},[]),v=(0,l.useCallback)((e,t)=>{e.preventDefault(),i(t)},[]),g=(0,l.useCallback)((e,t)=>{e.preventDefault(),i(null);let r=c.current;if(!r||!a||(0,tv.r)(r.date,t))return;let o=(0,tg.o)((0,ty.o)(t),(0,ty.o)(r.date)),l=(0,tb.z)(r.date,o),n={entryId:r.id,newDate:tT(l)};r.endDate&&(n.newEndDate=tT((0,tb.z)(r.endDate,o))),a(n),c.current=null},[a]),y=(0,l.useCallback)(()=>i(null),[]);return(0,o.jsxs)("div",{className:"w-full",children:[(0,o.jsx)("div",{className:"grid grid-cols-7 border-b",style:{borderColor:"var(--color-border)"},children:["Mon","Tue","Wed","Thu","Fri","Sat","Sun"].map(e=>(0,o.jsx)("div",{className:"text-center text-[11px] font-medium py-2",style:{color:"var(--color-text-muted)"},children:e},e))}),(0,o.jsx)("div",{className:"grid grid-cols-7",children:p.map(e=>{var r;let l=(0,to.GP)(e,"yyyy-MM-dd"),i=null!=(r=m.get(l))?r:[],c=(0,tj.t)(e,t),d=(0,tk.c)(e),u=s===l;return(0,o.jsxs)("div",{className:"min-h-[100px] border-b border-r p-1 transition-colors",style:{borderColor:"var(--color-border)",opacity:c?1:.4,background:u?"var(--color-accent-light, rgba(99,102,241,0.12))":d?"var(--color-surface-hover)":void 0},onDragOver:e=>v(e,l),onDragLeave:y,onDrop:t=>g(t,e),children:[(0,o.jsx)("div",{className:"text-[11px] mb-0.5 ".concat(d?"font-bold":""),style:{color:d?"var(--color-accent)":"var(--color-text-muted)"},children:(0,to.GP)(e,"d")}),(0,o.jsxs)("div",{className:"flex flex-col gap-0.5",children:[i.slice(0,3).map(e=>(0,o.jsx)(tR,{event:e,compact:!0,onClick:()=>null==n?void 0:n(e.id),draggable:!!a,onDragStart:()=>f(e)},e.id)),i.length>3&&(0,o.jsxs)("span",{className:"text-[10px] pl-1",style:{color:"var(--color-text-muted)"},children:["+",i.length-3," more"]})]})]},l)})})]})}function tI(e){var t;let{event:r,hourHeight:n,onEntryClick:a,onEntryDateChange:s}=e,i=(0,l.useRef)(null),[c,d]=(0,l.useState)(null),u=(0,l.useRef)({y:0,startMinute:0,duration:0}),x=(0,tw.O)(r.date)/60*n,h=r.endDate?Math.max((0,tg.o)(r.endDate,r.date),15):30,p=h/60*n,[m,f]=(0,l.useState)(0),[v,g]=(0,l.useState)(0),y=(0,l.useCallback)(e=>{s&&(e.preventDefault(),e.stopPropagation(),d("move"),u.current={y:e.clientY,startMinute:60*(0,tN.q)(r.date)+(0,tw.O)(r.date),duration:h},e.target.setPointerCapture(e.pointerId))},[s,r.date,h]),b=(0,l.useCallback)(e=>{s&&(e.preventDefault(),e.stopPropagation(),d("resize"),u.current={y:e.clientY,startMinute:0,duration:h},e.target.setPointerCapture(e.pointerId))},[s,h]),j=(0,l.useCallback)(e=>{if(!c)return;let t=e.clientY-u.current.y;"move"===c?f(t):g(t)},[c]),k=(0,l.useCallback)(e=>{if(!c||!s)return;let t=15*Math.round((e.clientY-u.current.y)/n*60/15);if("move"===c&&0!==t){let e=(0,tb.z)(r.date,t),o={entryId:r.id,newDate:tE(e)};r.endDate&&(o.newEndDate=tE((0,tb.z)(r.endDate,t))),s(o)}else if("resize"===c&&0!==t){var o;let e=(0,tb.z)(null!=(o=r.endDate)?o:(0,tb.z)(r.date,h),t);e>r.date&&s({entryId:r.id,newDate:tE(r.date),newEndDate:tE(e)})}d(null),f(0),g(0)},[c,s,r,n,h]),w=x+("move"===c?m:0),N=Math.max(p+("resize"===c?v:0),15);return(0,o.jsxs)("div",{ref:i,className:"absolute left-0.5 right-0.5 rounded px-1 text-[10px] truncate select-none",style:{top:w,height:Math.min(N,6*n),backgroundColor:null!=(t=r.color)?t:"var(--color-accent)",color:"#fff",lineHeight:"16px",zIndex:c?20:2,cursor:s?"move"===c?"grabbing":"grab":"pointer",opacity:c?.85:1,transition:c?"none":"top 0.15s, height 0.15s"},onPointerDown:y,onPointerMove:j,onPointerUp:k,onClick:e=>{c||(e.stopPropagation(),null==a||a(r.id))},title:r.title,children:[r.title||"Untitled",s&&(0,o.jsx)("div",{className:"absolute bottom-0 left-0 right-0 h-2 cursor-ns-resize",style:{borderRadius:"0 0 4px 4px"},onPointerDown:b})]})}function tB(e){let{date:t,events:r,onEntryClick:n,onEntryDateChange:a}=e,s=(0,tx.k)(t,{weekStartsOn:1}),i=(0,tf.k)({start:s,end:(0,tl.f)(s,6)}),c=Array.from({length:24},(e,t)=>t+0),d=(0,l.useMemo)(()=>{let e=new Map;for(let t of r){let r=(0,to.GP)(t.date,"yyyy-MM-dd");e.has(r)||e.set(r,[]),e.get(r).push(t)}return e},[r]);return(0,o.jsx)("div",{className:"w-full overflow-auto",style:{maxHeight:"calc(100vh - 280px)"},children:(0,o.jsxs)("div",{className:"grid",style:{gridTemplateColumns:"50px repeat(7, 1fr)"},children:[(0,o.jsx)("div",{className:"sticky top-0 z-10",style:{background:"var(--color-bg)"}}),i.map(e=>(0,o.jsxs)("div",{className:"sticky top-0 z-10 text-center py-2 border-b border-l text-[12px] font-medium",style:{borderColor:"var(--color-border)",background:"var(--color-bg)",color:(0,tk.c)(e)?"var(--color-accent)":"var(--color-text)"},children:[(0,o.jsx)("div",{children:(0,to.GP)(e,"EEE")}),(0,o.jsx)("div",{className:"text-lg ".concat((0,tk.c)(e)?"font-bold":""),children:(0,to.GP)(e,"d")})]},e.toISOString())),c.map(e=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"text-[10px] text-right pr-2 pt-0.5",style:{color:"var(--color-text-muted)",height:60},children:(0,to.GP)(new Date(2e3,0,1,e),"ha")},"label-".concat(e)),i.map(t=>{var r;let l=(0,to.GP)(t,"yyyy-MM-dd"),s=(null!=(r=d.get(l))?r:[]).filter(t=>(0,tN.q)(t.date)===e);return(0,o.jsx)("div",{className:"border-b border-l relative",style:{borderColor:"var(--color-border)",height:60},children:s.map(e=>(0,o.jsx)(tI,{event:e,hourHeight:60,onEntryClick:n,onEntryDateChange:a},e.id))},"".concat(l,"-").concat(e))})]}))]})})}function tF(e){let{date:t,events:r,onEntryClick:n,onEntryDateChange:a}=e,s=Array.from({length:24},(e,t)=>t+0),i=(0,l.useMemo)(()=>r.filter(e=>(0,tv.r)(e.date,t)),[r,t]);return(0,o.jsx)("div",{className:"w-full overflow-auto",style:{maxHeight:"calc(100vh - 280px)"},children:(0,o.jsx)("div",{className:"grid",style:{gridTemplateColumns:"60px 1fr"},children:s.map(e=>{let t=i.filter(t=>(0,tN.q)(t.date)===e);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"text-[11px] text-right pr-3 pt-0.5",style:{color:"var(--color-text-muted)",height:60},children:(0,to.GP)(new Date(2e3,0,1,e),"h:mm a")},"label-".concat(e)),(0,o.jsx)("div",{className:"border-b border-l relative",style:{borderColor:"var(--color-border)",height:60},children:t.map(e=>(0,o.jsx)(tI,{event:e,hourHeight:60,onEntryClick:n,onEntryDateChange:a},e.id))},"cell-".concat(e))]})})})})}function t_(e){let{date:t,events:r}=e,n=(0,tC.D)(t),a=(0,tS.Q)(t),s=(0,tL.i)({start:n,end:a}),i=(0,l.useMemo)(()=>{let e=new Map;for(let t of r){let r=t.date.getMonth();e.has(r)||e.set(r,[]),e.get(r).push(t)}return e},[r]);return(0,o.jsx)("div",{className:"grid grid-cols-3 md:grid-cols-4 gap-4 p-2",children:s.map(e=>{var t;let r=(0,tp.w)(e),l=(0,tm.p)(e),n=(0,tx.k)(r,{weekStartsOn:1}),a=(0,th.$)(l,{weekStartsOn:1}),s=(0,tf.k)({start:n,end:a}),c=null!=(t=i.get(e.getMonth()))?t:[];return(0,o.jsxs)("div",{className:"rounded-lg border p-2",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsx)("div",{className:"text-[12px] font-semibold mb-1",style:{color:"var(--color-text)"},children:(0,to.GP)(e,"MMMM")}),(0,o.jsxs)("div",{className:"grid grid-cols-7 gap-px",children:[["M","T","W","T","F","S","S"].map((e,t)=>(0,o.jsx)("div",{className:"text-[9px] text-center",style:{color:"var(--color-text-muted)"},children:e},t)),s.map(t=>{let r=(0,tj.t)(t,e),l=(0,tk.c)(t),n=c.some(e=>(0,tv.r)(e.date,t));return(0,o.jsxs)("div",{className:"text-[9px] text-center py-0.5 relative",style:{color:r?l?"var(--color-accent)":"var(--color-text)":"transparent",fontWeight:l?700:400},children:[(0,to.GP)(t,"d"),n&&r&&(0,o.jsx)("div",{className:"absolute bottom-0 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full",style:{backgroundColor:"var(--color-accent)"}})]},t.toISOString())})]}),c.length>0&&(0,o.jsxs)("div",{className:"mt-1 text-[10px]",style:{color:"var(--color-text-muted)"},children:[c.length," event",1!==c.length?"s":""]})]},e.toISOString())})})}function tP(e){let{reason:t}=e;return(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 gap-2",children:[(0,o.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{color:"var(--color-text-muted)",opacity:.4},children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"4",rx:"2"}),(0,o.jsx)("path",{d:"M16 2v4"}),(0,o.jsx)("path",{d:"M8 2v4"}),(0,o.jsx)("path",{d:"M3 10h18"})]}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"no-date-field"===t?"No date field configured for calendar view. Open view settings to select one.":"No events to display in this range."})]})}function tA(e){let{objectName:t,fields:r,entries:n,dateField:a,endDateField:s,mode:i,onModeChange:c,members:d,onEntryClick:u,onEntryDateChange:x}=e,[h,p]=(0,l.useState)(()=>new Date),m=(0,l.useMemo)(()=>(function(e,t,r,o){let l=[];for(let a of e){let e=tM(a[r]);if(e)try{var n;let r,s=(0,tr.H)(e);if(Number.isNaN(s.getTime()))continue;if(o){let e=tM(a[o]);if(e){let t=(0,tr.H)(e);Number.isNaN(t.getTime())||(r=t)}}l.push({id:tM(null!=(n=a.entry_id)?n:a.id),title:function(e,t){var r;let o=null!=(r=t.find(e=>"text"===e.type&&/name|title/i.test(e.name)))?r:t.find(e=>"text"===e.type);return o?tM(e[o.name]):tM(e.id)}(a,t),date:s,endDate:r,entry:a,color:function(e,t){var r,o;let l=t.find(e=>{var t;return"enum"===e.type&&(null==(t=e.enum_colors)?void 0:t.length)});if(!l)return;let n=tM(e[l.name]),a=null!=(o=null==(r=l.enum_values)?void 0:r.indexOf(n))?o:-1;return a>=0?l.enum_colors[a]:void 0}(a,t)})}catch(e){}}return l})(n,r,a,s),[n,r,a,s]),f=(0,l.useCallback)(()=>p(e=>tW(e,i,-1)),[i]),v=(0,l.useCallback)(()=>p(e=>tW(e,i,1)),[i]),g=(0,l.useCallback)(()=>p(new Date),[]);return a?(0,o.jsxs)("div",{className:"w-full",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between mb-3 px-1",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("button",{type:"button",onClick:f,className:"p-1.5 rounded-md hover:bg-[var(--color-surface-hover)] transition-colors",style:{color:"var(--color-text)"},children:(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,o.jsx)("path",{d:"m15 18-6-6 6-6"})})}),(0,o.jsx)("button",{type:"button",onClick:v,className:"p-1.5 rounded-md hover:bg-[var(--color-surface-hover)] transition-colors",style:{color:"var(--color-text)"},children:(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})}),(0,o.jsx)("button",{type:"button",onClick:g,className:"text-[12px] px-2.5 py-1 rounded-md border hover:bg-[var(--color-surface-hover)] transition-colors",style:{color:"var(--color-text)",borderColor:"var(--color-border)"},children:"Today"}),(0,o.jsx)("h3",{className:"text-sm font-semibold ml-2",style:{color:"var(--color-text)"},children:function(e,t){switch(t){case"day":return(0,to.GP)(e,"EEEE, MMMM d, yyyy");case"week":{let t=(0,tx.k)(e,{weekStartsOn:1}),r=(0,th.$)(e,{weekStartsOn:1});return"".concat((0,to.GP)(t,"MMM d")," - ").concat((0,to.GP)(r,"MMM d, yyyy"))}case"month":return(0,to.GP)(e,"MMMM yyyy");case"year":return(0,to.GP)(e,"yyyy")}}(h,i)})]}),(0,o.jsx)("div",{className:"flex rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)"},children:["day","week","month","year"].map(e=>(0,o.jsx)("button",{type:"button",onClick:()=>c(e),className:"text-[11px] px-3 py-1 capitalize transition-colors",style:{background:e===i?"var(--color-accent)":"var(--color-surface)",color:e===i?"#fff":"var(--color-text-muted)",borderRight:"year"!==e?"1px solid var(--color-border)":void 0},children:e},e))})]}),(0,o.jsxs)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)",background:"var(--color-bg)"},children:["month"===i&&(0,o.jsx)(tD,{date:h,events:m,onEntryClick:u,onEntryDateChange:x}),"week"===i&&(0,o.jsx)(tB,{date:h,events:m,onEntryClick:u,onEntryDateChange:x}),"day"===i&&(0,o.jsx)(tF,{date:h,events:m,onEntryClick:u,onEntryDateChange:x}),"year"===i&&(0,o.jsx)(t_,{date:h,events:m})]})]}):(0,o.jsx)(tP,{reason:"no-date-field"})}var tz=r(35933),tO=r(22507),tU=r(88382),tH=r(29788);let tV={day:{dayWidth:80,headerFormat:"MMM d"},week:{dayWidth:30,headerFormat:"MMM d"},month:{dayWidth:10,headerFormat:"MMM yyyy"},quarter:{dayWidth:4,headerFormat:"QQQ yyyy"}},tK=["#3b82f6","#22c55e","#f59e0b","#ef4444","#8b5cf6","#06b6d4","#ec4899","#14b8a6","#f97316","#6366f1"];function tJ(e){return null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):"object"==typeof e?JSON.stringify(e):""}function tq(e){return(0,to.GP)(e,"yyyy-MM-dd")}function tG(e){let{item:t,x:r,w:n,dayWidth:a,onEntryClick:s,onEntryDateChange:i}=e,[c,d]=(0,l.useState)(null),[u,x]=(0,l.useState)(0),[h,p]=(0,l.useState)(0),m=(0,l.useRef)(0),f=!!i,v=(0,l.useCallback)(e=>Math.round(e/a)*a,[a]),g=(0,l.useCallback)(e=>Math.round(e/a),[a]),y=(0,l.useCallback)((e,t)=>{f&&(e.preventDefault(),e.stopPropagation(),m.current=e.clientX,d(t),e.target.setPointerCapture(e.pointerId))},[f]),b=(0,l.useCallback)(e=>{if(!c)return;let t=v(e.clientX-m.current);"move"===c?x(t):"resize-left"===c?(x(t),p(-t)):p(t)},[c,v]),j=(0,l.useCallback)(e=>{if(!c||!i)return void d(null);let r=g(e.clientX-m.current);if(0===r&&"move"===c){d(null),x(0),p(0);return}let o=t.startDate,l=t.endDate;"move"===c?(o=(0,tl.f)(t.startDate,r),l=(0,tl.f)(t.endDate,r)):"resize-left"===c?(o=(0,tl.f)(t.startDate,r))>=l&&(o=(0,tl.f)(l,-1)):(l=(0,tl.f)(t.endDate,r))<=o&&(l=(0,tl.f)(o,1)),i({entryId:t.id,newStartDate:tq(o),newEndDate:tq(l)}),d(null),x(0),p(0)},[c,i,t,g]),k=Math.max(n+h,.5*a);return(0,o.jsxs)("div",{className:"absolute rounded flex items-center text-[11px] truncate select-none",style:{left:r+u,width:k,top:6,height:28,backgroundColor:t.color,color:"#fff",zIndex:c?20:2,cursor:f?"move"===c?"grabbing":"grab":"pointer",opacity:c?.85:1,transition:c?"none":"left 0.15s, width 0.15s"},onPointerDown:e=>y(e,"move"),onPointerMove:b,onPointerUp:j,onClick:e=>{c||(e.stopPropagation(),null==s||s(t.id))},title:"".concat(t.title,"\n").concat((0,to.GP)(t.startDate,"MMM d")," - ").concat((0,to.GP)(t.endDate,"MMM d")),children:[f&&(0,o.jsx)("div",{className:"absolute left-0 top-0 bottom-0 cursor-ew-resize hover:bg-white/20 rounded-l",style:{width:8},onPointerDown:e=>y(e,"resize-left")}),(0,o.jsx)("span",{className:"px-2 truncate flex-1",children:k>60?t.title||"Untitled":""}),f&&(0,o.jsx)("div",{className:"absolute right-0 top-0 bottom-0 cursor-ew-resize hover:bg-white/20 rounded-r",style:{width:8},onPointerDown:e=>y(e,"resize-right")})]})}function t$(e){let{reason:t}=e;return(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 gap-2",children:[(0,o.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{color:"var(--color-text-muted)",opacity:.4},children:[(0,o.jsx)("path",{d:"M8 6h13"}),(0,o.jsx)("path",{d:"M8 12h13"}),(0,o.jsx)("path",{d:"M8 18h13"}),(0,o.jsx)("path",{d:"M3 6h.01"}),(0,o.jsx)("path",{d:"M3 12h.01"}),(0,o.jsx)("path",{d:"M3 18h.01"})]}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"no-fields"===t?"No date fields configured for timeline view. Open view settings to select start/end dates.":"No items with dates to display in this view."})]})}function tZ(e){let{objectName:t,fields:r,entries:n,startDateField:a,endDateField:s,groupField:i,zoom:c,onZoomChange:d,members:u,onEntryClick:x,onEntryDateChange:h}=e,p=(0,l.useRef)(null),m=(0,l.useMemo)(()=>(function(e,t,r,o,l){let n=[];for(let s=0;s<e.length;s++){let i=e[s],c=tJ(i[r]);if(c)try{var a;let e,r=(0,tr.H)(c);if(Number.isNaN(r.getTime()))continue;if(o){let t=tJ(i[o]);if(t){let o=(0,tr.H)(t);e=Number.isNaN(o.getTime())?(0,tl.f)(r,1):o}else e=(0,tl.f)(r,1)}else e=(0,tl.f)(r,1);e<=r&&(e=(0,tl.f)(r,1)),n.push({id:tJ(null!=(a=i.entry_id)?a:i.id),title:function(e,t){var r;let o=null!=(r=t.find(e=>"text"===e.type&&/name|title/i.test(e.name)))?r:t.find(e=>"text"===e.type);return o?tJ(e[o.name]):tJ(e.id)}(i,t),startDate:r,endDate:e,group:l?tJ(i[l]):void 0,color:function(e,t,r){let o=t.find(e=>{var t;return"enum"===e.type&&(null==(t=e.enum_colors)?void 0:t.length)});if(o){var l,n;let t=tJ(e[o.name]),r=null!=(n=null==(l=o.enum_values)?void 0:l.indexOf(t))?n:-1;if(r>=0&&o.enum_colors[r])return o.enum_colors[r]}return tK[r%tK.length]}(i,t,s),entry:i})}catch(e){}}return n.toSorted((e,t)=>e.startDate.getTime()-t.startDate.getTime())})(n,r,a,s,i),[n,r,a,s,i]),{start:f,end:v}=(0,l.useMemo)(()=>(function(e,t){if(0===e.length){let e=new Date;return{start:(0,tc.a)(e,1),end:(0,ti.P)(e,2)}}let r=(0,tz.j)(e.map(e=>e.startDate)),o=(0,tO.T)(e.map(e=>e.endDate)),l="day"===t?3:"week"===t?7:"month"===t?14:30;return{start:(0,tl.f)(r,-l),end:(0,tl.f)(o,l)}})(m,c),[m,c]),{dayWidth:g}=tV[c],y=((0,tH.c)(v,f)+1)*g,b=(0,l.useMemo)(()=>(function(e,t,r){switch(r){case"day":return(0,tf.k)({start:e,end:t}).map(e=>({date:e,label:(0,to.GP)(e,"MMM d")}));case"week":return(0,tU.Y)({start:e,end:t},{weekStartsOn:1}).map(e=>({date:e,label:(0,to.GP)(e,"MMM d")}));case"month":return(0,tL.i)({start:e,end:t}).map(e=>({date:e,label:(0,to.GP)(e,"MMM yyyy")}));case"quarter":return(0,tL.i)({start:e,end:t}).filter(e=>e.getMonth()%3==0).map(e=>({date:e,label:(0,to.GP)(e,"QQQ yyyy")}))}})(f,v,c),[f,v,c]),j=(0,l.useMemo)(()=>{if(!i)return[{name:"",items:m}];let e=new Map;for(let t of m){let r=t.group||"Ungrouped";e.has(r)||e.set(r,[]),e.get(r).push(t)}return Array.from(e.entries()).map(e=>{let[t,r]=e;return{name:t,items:r}})},[m,i]),k=(0,l.useMemo)(()=>{let e=[];for(let t of j)for(let r of(i&&t.name&&e.push({type:"group",group:t.name}),t.items))e.push({type:"item",item:r});return e},[j,i]),w=(0,l.useCallback)(e=>(0,tH.c)(e,f)*g,[f,g]);if((0,l.useEffect)(()=>{if(!p.current)return;let e=w(new Date);p.current.scrollLeft=Math.max(0,e-300)},[w]),!a)return(0,o.jsx)(t$,{reason:"no-fields"});if(0===m.length)return(0,o.jsx)(t$,{reason:"no-items"});let N=w((0,ty.o)(new Date));return(0,o.jsxs)("div",{className:"w-full",children:[(0,o.jsxs)("div",{className:"flex items-center justify-between mb-3 px-1",children:[(0,o.jsxs)("div",{className:"text-[12px]",style:{color:"var(--color-text-muted)"},children:[m.length," item",1!==m.length?"s":""]}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"text-[11px]",style:{color:"var(--color-text-muted)"},children:"Zoom:"}),(0,o.jsx)("div",{className:"flex rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)"},children:["day","week","month","quarter"].map(e=>(0,o.jsx)("button",{type:"button",onClick:()=>d(e),className:"text-[11px] px-3 py-1 capitalize transition-colors",style:{background:e===c?"var(--color-accent)":"var(--color-surface)",color:e===c?"#fff":"var(--color-text-muted)",borderRight:"quarter"!==e?"1px solid var(--color-border)":void 0},children:e},e))})]})]}),(0,o.jsx)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)",background:"var(--color-bg)"},children:(0,o.jsxs)("div",{className:"flex",children:[(0,o.jsxs)("div",{className:"flex-shrink-0 border-r",style:{width:200,borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsx)("div",{className:"border-b px-3 flex items-center text-[11px] font-medium",style:{height:50,borderColor:"var(--color-border)",color:"var(--color-text-muted)"},children:"Name"}),k.map((e,t)=>{var r;return(0,o.jsx)("div",{className:"px-3 flex items-center border-b truncate ".concat("group"===e.type?"text-[10px] font-semibold uppercase tracking-wider":"text-[12px] cursor-pointer hover:bg-[var(--color-surface-hover)]"),style:{height:40,borderColor:"var(--color-border)",color:"group"===e.type?"var(--color-text-muted)":"var(--color-text)",background:"group"===e.type?"var(--color-surface-hover)":void 0},onClick:()=>e.item&&(null==x?void 0:x(e.item.id)),children:"group"===e.type?e.group:(null==(r=e.item)?void 0:r.title)||"Untitled"},t)})]}),(0,o.jsx)("div",{ref:p,className:"flex-1 overflow-x-auto overflow-y-hidden",style:{maxHeight:"calc(100vh - 280px)"},children:(0,o.jsxs)("div",{style:{width:y,position:"relative"},children:[(0,o.jsx)("div",{className:"border-b flex",style:{height:50,borderColor:"var(--color-border)"},children:b.map((e,t)=>{let r=w(e.date),l=t<b.length-1?w(b[t+1].date):y;return(0,o.jsx)("div",{className:"absolute border-r flex items-end pb-1 px-2 text-[10px]",style:{left:r,width:l-r,height:50,borderColor:"var(--color-border)",color:"var(--color-text-muted)"},children:e.label},t)})}),k.map((e,t)=>(0,o.jsx)("div",{className:"relative border-b",style:{height:40,borderColor:"var(--color-border)",background:"group"===e.type?"var(--color-surface-hover)":void 0},children:e.item&&(()=>{let t=e.item,r=w(t.startDate),l=Math.max(w(t.endDate)-r,.5*g);return(0,o.jsx)(tG,{item:t,x:r,w:l,dayWidth:g,onEntryClick:x,onEntryDateChange:h})})()},t)),N>=0&&N<=y&&(0,o.jsx)("div",{className:"absolute top-0 bottom-0 pointer-events-none",style:{left:N,width:2,backgroundColor:"var(--color-accent)",opacity:.6,zIndex:10}})]})})]})})]})}function tQ(e){return null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):"object"==typeof e?JSON.stringify(e):""}function tY(e){var t;let{entry:r,fields:n,titleField:a,coverField:s,onEntryClick:i}=e,c=tQ(null!=(t=r.entry_id)?t:r.id),d=function(e,t,r){var o;if(r){let t=tQ(e[r]);if(t)return t}let l=null!=(o=t.find(e=>"text"===e.type&&/name|title/i.test(e.name)))?o:t.find(e=>"text"===e.type);return l?tQ(e[l.name]):tQ(e.id)}(r,n,a),u=(0,l.useMemo)(()=>n.filter(e=>e.name!==a&&e.name!==s).slice(0,4),[n,a,s]),x=n.find(e=>{var t;return"enum"===e.type&&(null==(t=e.enum_values)?void 0:t.length)}),h=x?tQ(r[x.name]):null,p=x&&h?function(e,t){var r;if(!e||!t.enum_values)return null;let o=t.enum_values.indexOf(e);return{text:e,color:o>=0&&(null==(r=t.enum_colors)?void 0:r[o])?t.enum_colors[o]:"#94a3b8"}}(h,x):null;return(0,o.jsxs)("button",{type:"button",onClick:()=>null==i?void 0:i(c),className:"text-left rounded-xl border p-4 hover:shadow-md transition-all cursor-pointer w-full group",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsxs)("div",{className:"flex items-start justify-between gap-2 mb-2",children:[(0,o.jsx)("h4",{className:"text-[13px] font-semibold leading-tight line-clamp-2 group-hover:underline",style:{color:"var(--color-text)"},children:d||"Untitled"}),p&&(0,o.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full flex-shrink-0 whitespace-nowrap",style:{backgroundColor:p.color,color:"#fff"},children:p.text})]}),(0,o.jsx)("div",{className:"flex flex-col gap-1.5",children:u.map(e=>{let t=r[e.name];return null==t||""===tQ(t)?null:(0,o.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,o.jsx)("span",{className:"text-[10px] flex-shrink-0 min-w-[60px]",style:{color:"var(--color-text-muted)"},children:e.name}),(0,o.jsx)("div",{className:"text-[12px] truncate",style:{color:"var(--color-text)"},children:(0,o.jsx)(eJ,{value:t,fieldType:e.type,mode:"table"})})]},e.id)})}),null!=r.created_at&&(0,o.jsx)("div",{className:"mt-3 text-[10px]",style:{color:"var(--color-text-muted)",opacity:.6},children:tQ(r.created_at).slice(0,10)})]})}function tX(){return(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 gap-2",children:[(0,o.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{color:"var(--color-text-muted)",opacity:.4},children:[(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"})]}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"No entries to display in gallery view."})]})}function t0(e){let{objectName:t,fields:r,entries:l,titleField:n,coverField:a,members:s,relationLabels:i,onEntryClick:c}=e;return 0===l.length?(0,o.jsx)(tX,{}):(0,o.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3",children:l.map(e=>{var t;return(0,o.jsx)(tY,{entry:e,fields:r,titleField:n,coverField:a,onEntryClick:c},tQ(null!=(t=e.entry_id)?t:e.id))})})}function t1(e){return null==e?"":"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):"object"==typeof e?JSON.stringify(e):""}function t2(e){var t,r;let{entry:n,fields:a,titleField:s,subtitleField:i,onEntryClick:c}=e,d=t1(null!=(t=n.entry_id)?t:n.id),u=function(e,t,r){var o;if(r){let t=t1(e[r]);if(t)return t}let l=null!=(o=t.find(e=>"text"===e.type&&/name|title/i.test(e.name)))?o:t.find(e=>"text"===e.type);return l?t1(e[l.name]):t1(e.id)}(n,a,s),x=(0,l.useMemo)(()=>{if(i){let e=t1(n[i]);if(e)return e}let e=a.find(e=>"text"===e.type&&e.name!==s&&!/name|title/i.test(e.name));return e?t1(n[e.name]):void 0},[n,a,s,i]),h=a.find(e=>{var t;return"enum"===e.type&&(null==(t=e.enum_values)?void 0:t.length)}),p=h?t1(n[h.name]):null,m=h&&p?function(e,t){var r;if(!e||!t.enum_values)return null;let o=t.enum_values.indexOf(e);return{text:e,color:o>=0&&(null==(r=t.enum_colors)?void 0:r[o])?t.enum_colors[o]:"#94a3b8"}}(p,h):null,f=a.find(e=>"date"===e.type),v=f?t1(n[f.name]):null;return(0,o.jsxs)("button",{type:"button",onClick:()=>null==c?void 0:c(d),className:"w-full text-left flex items-center gap-3 px-4 py-3 border-b hover:bg-[var(--color-surface-hover)] transition-colors cursor-pointer group",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("div",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{backgroundColor:null!=(r=null==m?void 0:m.color)?r:"var(--color-text-muted)",opacity:.6}}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"text-[13px] font-medium truncate group-hover:underline",style:{color:"var(--color-text)"},children:u||"Untitled"}),m&&(0,o.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full flex-shrink-0",style:{backgroundColor:m.color,color:"#fff"},children:m.text})]}),x&&(0,o.jsx)("div",{className:"text-[11px] truncate mt-0.5",style:{color:"var(--color-text-muted)"},children:x})]}),v&&(0,o.jsx)("span",{className:"text-[11px] flex-shrink-0 tabular-nums",style:{color:"var(--color-text-muted)"},children:v.slice(0,10)})]})}function t4(){return(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-16 gap-2",children:[(0,o.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",style:{color:"var(--color-text-muted)",opacity:.4},children:[(0,o.jsx)("path",{d:"M8 6h13"}),(0,o.jsx)("path",{d:"M8 12h13"}),(0,o.jsx)("path",{d:"M8 18h13"}),(0,o.jsx)("path",{d:"M3 6h.01"}),(0,o.jsx)("path",{d:"M3 12h.01"}),(0,o.jsx)("path",{d:"M3 18h.01"})]}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"No entries to display in list view."})]})}function t5(e){let{objectName:t,fields:r,entries:l,titleField:n,subtitleField:a,members:s,onEntryClick:i}=e;return 0===l.length?(0,o.jsx)(t4,{}):(0,o.jsx)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:l.map(e=>{var t;return(0,o.jsx)(t2,{entry:e,fields:r,titleField:n,subtitleField:a,onEntryClick:i},t1(null!=(t=e.entry_id)?t:e.id))})})}let t6=["table","kanban","calendar","timeline","gallery","list"];function t3(e){return"string"==typeof e&&t6.includes(e)}function t8(e,t,r){var o,l,n,a,s,i,c,d,u,x,h,p;switch(t){case"kanbanField":return null!=(n=null==(o=r.find(e=>"enum"===e.type&&/status/i.test(e.name)))?void 0:o.name)?n:null==(l=r.find(e=>"enum"===e.type))?void 0:l.name;case"calendarDateField":case"timelineStartField":return null!=(i=null==(a=r.find(e=>"date"===e.type&&/due|start|begin/i.test(e.name)))?void 0:a.name)?i:null==(s=r.find(e=>"date"===e.type))?void 0:s.name;case"calendarEndDateField":case"timelineEndField":return null==(c=r.find(e=>"date"===e.type&&/end|finish|close/i.test(e.name)))?void 0:c.name;case"timelineGroupField":return null==(d=r.find(e=>"enum"===e.type))?void 0:d.name;case"galleryTitleField":case"listTitleField":return null!=(h=null==(u=r.find(e=>"text"===e.type&&/name|title/i.test(e.name)))?void 0:u.name)?h:null==(x=r.find(e=>"text"===e.type))?void 0:x.name;case"galleryCoverField":default:return;case"listSubtitleField":return null==(p=r.find(e=>"text"===e.type&&!/name|title/i.test(e.name)))?void 0:p.name}}let t7=[{value:"is_empty",label:"is empty"},{value:"is_not_empty",label:"is not empty"}],t9=[{value:"contains",label:"contains"},{value:"not_contains",label:"does not contain"},{value:"equals",label:"equals"},{value:"not_equals",label:"does not equal"},{value:"starts_with",label:"starts with"},{value:"ends_with",label:"ends with"},...t7],re=[{value:"eq",label:"="},{value:"neq",label:"≠"},{value:"gt",label:">"},{value:"gte",label:"≥"},{value:"lt",label:"<"},{value:"lte",label:"≤"},{value:"between",label:"between"},...t7],rt=[{value:"on",label:"is"},{value:"before",label:"before"},{value:"after",label:"after"},{value:"date_between",label:"between"},{value:"relative_past",label:"in the last"},{value:"relative_next",label:"in the next"},...t7],rr=[{value:"is",label:"is"},{value:"is_not",label:"is not"},{value:"is_any_of",label:"is any of"},{value:"is_none_of",label:"is none of"},...t7],ro=[{value:"is_true",label:"is true"},{value:"is_false",label:"is false"},...t7],rl=[{value:"has_any",label:"has any of"},{value:"has_none",label:"has none of"},{value:"has_all",label:"has all of"},...t7];function rn(e){switch(e){case"text":case"richtext":case"email":default:return"contains";case"number":return"eq";case"date":return"relative_past";case"enum":return"is";case"boolean":return"is_true";case"relation":case"user":return"has_any"}}function ra(e){return"conjunction"in e&&"rules"in e}function rs(e){return btoa(JSON.stringify(e))}function ri(){return{id:"root",conjunction:"and",rules:[]}}function rc(e){var t,r;let o=e.field,l=e.operator,n=Array.isArray(e.value)?e.value.join(", "):String(null!=(t=e.value)?t:"");return"is_empty"===l?"".concat(o," is empty"):"is_not_empty"===l?"".concat(o," is not empty"):"is_true"===l?"".concat(o," is true"):"is_false"===l?"".concat(o," is false"):"between"===l||"date_between"===l?"".concat(o," between ").concat(n," and ").concat(e.valueTo):"relative_past"===l?"".concat(o," in the last ").concat(e.relativeAmount," ").concat(e.relativeUnit):"relative_next"===l?"".concat(o," in the next ").concat(e.relativeAmount," ").concat(e.relativeUnit):"".concat(o," ").concat(null!=(r=({contains:"contains",not_contains:"doesn't contain",equals:"=",not_equals:"≠",starts_with:"starts with",ends_with:"ends with",eq:"=",neq:"≠",gt:">",gte:"≥",lt:"<",lte:"≤",before:"before",after:"after",on:"is",is:"is",is_not:"is not",is_any_of:"is any of",is_none_of:"is none of",has_any:"has any of",has_none:"has none of",has_all:"has all of"})[l])?r:l," ").concat(n)}let rd={table:{icon:function(){return(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3v18"}),(0,o.jsx)("path",{d:"M3 12h18"}),(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"})]})},label:"Table"},kanban:{icon:function(){return(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"6",height:"14",x:"3",y:"5",rx:"1"}),(0,o.jsx)("rect",{width:"6",height:"10",x:"9",y:"9",rx:"1"}),(0,o.jsx)("rect",{width:"6",height:"16",x:"15",y:"3",rx:"1"})]})},label:"Board"},calendar:{icon:function(){return(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"4",rx:"2"}),(0,o.jsx)("path",{d:"M16 2v4"}),(0,o.jsx)("path",{d:"M8 2v4"}),(0,o.jsx)("path",{d:"M3 10h18"})]})},label:"Calendar"},timeline:{icon:function(){return(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 6h7"}),(0,o.jsx)("path",{d:"M6 12h10"}),(0,o.jsx)("path",{d:"M5 18h5"}),(0,o.jsx)("path",{d:"M14 6h7"}),(0,o.jsx)("path",{d:"M18 12h3"}),(0,o.jsx)("path",{d:"M12 18h9"})]})},label:"Timeline"},gallery:{icon:function(){return(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"})]})},label:"Gallery"},list:{icon:function(){return(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M8 6h13"}),(0,o.jsx)("path",{d:"M8 12h13"}),(0,o.jsx)("path",{d:"M8 18h13"}),(0,o.jsx)("path",{d:"M3 6h.01"}),(0,o.jsx)("path",{d:"M3 12h.01"}),(0,o.jsx)("path",{d:"M3 18h.01"})]})},label:"List"}};function ru(e){let{value:t,onChange:r}=e;return(0,o.jsx)("div",{className:"flex items-center rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)"},children:t6.map(e=>{let l=rd[e],n=l.icon,a=e===t;return(0,o.jsxs)("button",{type:"button",onClick:()=>r(e),className:"flex items-center gap-1 px-2.5 py-1.5 text-[11px] transition-colors",style:{background:a?"var(--color-accent)":"var(--color-surface)",color:a?"#fff":"var(--color-text-muted)",borderRight:"list"!==e?"1px solid var(--color-border)":void 0},title:l.label,children:[(0,o.jsx)(n,{}),(0,o.jsx)("span",{className:"hidden sm:inline",children:l.label})]},e)})})}function rx(e){let{label:t,value:r,onChange:l,fields:n,filterType:a,allowEmpty:s}=e,i=a?Array.isArray(a)?a:[a]:null,c=i?n.filter(e=>i.includes(e.type)):n;return(0,o.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,o.jsx)("label",{className:"text-[10px] font-medium",style:{color:"var(--color-text-muted)"},children:t}),(0,o.jsxs)("select",{value:null!=r?r:"",onChange:e=>l(e.target.value||void 0),className:"text-[12px] rounded-md border px-2 py-1.5 bg-transparent",style:{borderColor:"var(--color-border)",color:"var(--color-text)",background:"var(--color-surface)"},children:[s&&(0,o.jsx)("option",{value:"",children:"None"}),0===c.length&&(0,o.jsx)("option",{value:"",disabled:!0,children:"No matching fields"}),c.map(e=>(0,o.jsx)("option",{value:e.name,children:e.name},e.id))]})]})}function rh(e){let{label:t,value:r,options:l,onChange:n}=e;return(0,o.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,o.jsx)("label",{className:"text-[10px] font-medium",style:{color:"var(--color-text-muted)"},children:t}),(0,o.jsx)("div",{className:"flex rounded-md border overflow-hidden",style:{borderColor:"var(--color-border)"},children:l.map(e=>(0,o.jsx)("button",{type:"button",onClick:()=>n(e.value),className:"text-[11px] px-2.5 py-1 flex-1 transition-colors capitalize",style:{background:e.value===r?"var(--color-accent)":"var(--color-surface)",color:e.value===r?"#fff":"var(--color-text-muted)"},children:e.label},e.value))})]})}function rp(e){let{settings:t,fields:r,onSettingsChange:l}=e;return(0,o.jsx)(rx,{label:"Group by field",value:t.kanbanField,onChange:e=>l({...t,kanbanField:e}),fields:r,filterType:"enum"})}function rm(e){var t;let{settings:r,fields:l,onSettingsChange:n}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(rx,{label:"Date field",value:r.calendarDateField,onChange:e=>n({...r,calendarDateField:e}),fields:l,filterType:"date"}),(0,o.jsx)(rx,{label:"End date field (optional)",value:r.calendarEndDateField,onChange:e=>n({...r,calendarEndDateField:e}),fields:l,filterType:"date",allowEmpty:!0}),(0,o.jsx)(rh,{label:"Default view",value:null!=(t=r.calendarMode)?t:"month",options:[{value:"day",label:"Day"},{value:"week",label:"Week"},{value:"month",label:"Month"},{value:"year",label:"Year"}],onChange:e=>n({...r,calendarMode:e})})]})}function rf(e){var t;let{settings:r,fields:l,onSettingsChange:n}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(rx,{label:"Start date field",value:r.timelineStartField,onChange:e=>n({...r,timelineStartField:e}),fields:l,filterType:"date"}),(0,o.jsx)(rx,{label:"End date field",value:r.timelineEndField,onChange:e=>n({...r,timelineEndField:e}),fields:l,filterType:"date",allowEmpty:!0}),(0,o.jsx)(rx,{label:"Group by (optional)",value:r.timelineGroupField,onChange:e=>n({...r,timelineGroupField:e}),fields:l,filterType:"enum",allowEmpty:!0}),(0,o.jsx)(rh,{label:"Default zoom",value:null!=(t=r.timelineZoom)?t:"week",options:[{value:"day",label:"Day"},{value:"week",label:"Week"},{value:"month",label:"Month"},{value:"quarter",label:"Quarter"}],onChange:e=>n({...r,timelineZoom:e})})]})}function rv(e){let{settings:t,fields:r,onSettingsChange:l}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(rx,{label:"Title field",value:t.galleryTitleField,onChange:e=>l({...t,galleryTitleField:e}),fields:r,filterType:"text"}),(0,o.jsx)(rx,{label:"Cover field (optional)",value:t.galleryCoverField,onChange:e=>l({...t,galleryCoverField:e}),fields:r,allowEmpty:!0})]})}function rg(e){let{settings:t,fields:r,onSettingsChange:l}=e;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(rx,{label:"Title field",value:t.listTitleField,onChange:e=>l({...t,listTitleField:e}),fields:r,filterType:"text"}),(0,o.jsx)(rx,{label:"Subtitle field (optional)",value:t.listSubtitleField,onChange:e=>l({...t,listSubtitleField:e}),fields:r,filterType:["text","email","richtext"],allowEmpty:!0})]})}function ry(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}function rb(e){let{viewType:t,settings:r,fields:n,onSettingsChange:a}=e,[s,i]=(0,l.useState)(!1),c=(0,l.useRef)(null);return((0,l.useEffect)(()=>{if(!s)return;let e=e=>{c.current&&!c.current.contains(e.target)&&i(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[s]),"table"===t)?null:(0,o.jsxs)("div",{className:"relative",ref:c,children:[(0,o.jsx)("button",{type:"button",onClick:()=>i(!s),className:"p-1.5 rounded-md hover:bg-[var(--color-surface-hover)] transition-colors",style:{color:"var(--color-text-muted)"},title:"View settings",children:(0,o.jsx)(ry,{})}),s&&(0,o.jsxs)("div",{className:"absolute right-0 top-full mt-1 z-50 rounded-lg border shadow-lg p-3 min-w-[240px] flex flex-col gap-3",style:{borderColor:"var(--color-border)",background:"var(--color-surface)",boxShadow:"0 8px 24px rgba(0,0,0,0.12)"},children:[(0,o.jsx)("div",{className:"text-[11px] font-semibold",style:{color:"var(--color-text)"},children:{table:"",kanban:"Board Settings",calendar:"Calendar Settings",timeline:"Timeline Settings",gallery:"Gallery Settings",list:"List Settings"}[t]}),"kanban"===t&&(0,o.jsx)(rp,{settings:r,fields:n,onSettingsChange:a}),"calendar"===t&&(0,o.jsx)(rm,{settings:r,fields:n,onSettingsChange:a}),"timeline"===t&&(0,o.jsx)(rf,{settings:r,fields:n,onSettingsChange:a}),"gallery"===t&&(0,o.jsx)(rv,{settings:r,fields:n,onSettingsChange:a}),"list"===t&&(0,o.jsx)(rg,{settings:r,fields:n,onSettingsChange:a})]})]})}var rj=r(24946);function rk(e){let t=[],r=0;for(let l of e.matchAll(/```report-json\s*\n([\s\S]*?)```/g)){var o;let n=e.slice(r,l.index);n.trim()&&t.push({type:"text",text:n});try{let e=JSON.parse(l[1]);e.panels&&Array.isArray(e.panels)?t.push({type:"report-artifact",config:e}):t.push({type:"text",text:l[0]})}catch(e){t.push({type:"text",text:l[0]})}r=(null!=(o=l.index)?o:0)+l[0].length}let l=e.slice(r);return l.trim()&&t.push({type:"text",text:l}),t}function rw(e){return e.includes("```report-json")}function rN(e){let t=[],r=0;for(let l of e.matchAll(/```diff\s*\n([\s\S]*?)```/g)){var o;let n=e.slice(r,l.index);n.trim()&&t.push({type:"text",text:n});let a=l[1].trimEnd();a?t.push({type:"diff-artifact",diff:a}):t.push({type:"text",text:l[0]}),r=(null!=(o=l.index)?o:0)+l[0].length}let l=e.slice(r);return l.trim()&&t.push({type:"text",text:l}),t}function rC(e){return e.includes("```diff")}function rS(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]})}function rL(e){let{expanded:t}=e;return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{transition:"transform 150ms ease",transform:t?"rotate(90deg)":"rotate(0deg)"},children:(0,o.jsx)("polyline",{points:"9 18 15 12 9 6"})})}function rM(e){let{file:t}=e,[r,n]=(0,l.useState)(!0),a=t.newPath&&"/dev/null"!==t.newPath?t.newPath:t.oldPath&&"/dev/null"!==t.oldPath?t.oldPath:"diff";return(0,o.jsxs)("div",{className:"rounded-lg border overflow-hidden",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("button",{type:"button",onClick:()=>n(!r),className:"flex items-center gap-2 w-full px-3 py-2 text-left",style:{background:"var(--color-surface)",borderBottom:r?"1px solid var(--color-border)":"none"},children:[(0,o.jsx)(rL,{expanded:r}),(0,o.jsx)(rS,{}),(0,o.jsx)("span",{className:"text-sm font-mono font-medium flex-1 truncate",style:{color:"var(--color-text)"},children:a}),t.additions>0&&(0,o.jsxs)("span",{className:"text-xs font-mono font-medium",style:{color:"var(--diff-add-badge)"},children:["+",t.additions]}),t.deletions>0&&(0,o.jsxs)("span",{className:"text-xs font-mono font-medium",style:{color:"var(--diff-del-badge)"},children:["-",t.deletions]})]}),r&&(0,o.jsx)("div",{className:"overflow-x-auto",style:{background:"var(--color-bg)"},children:(0,o.jsx)("table",{className:"w-full text-xs font-mono leading-5 border-collapse",style:{tabSize:4},children:(0,o.jsx)("tbody",{children:t.hunks.map((e,t)=>e.lines.map((e,r)=>{if("header"===e.type)return(0,o.jsx)("tr",{children:(0,o.jsx)("td",{colSpan:3,className:"px-3 py-1 select-none",style:{background:"var(--color-surface)",color:"var(--color-text-muted)"},children:e.content})},"".concat(t,"-").concat(r));let l="addition"===e.type?"var(--diff-add-bg)":"deletion"===e.type?"var(--diff-del-bg)":"transparent",n="addition"===e.type?"var(--diff-add-text)":"deletion"===e.type?"var(--diff-del-text)":"var(--color-text)",a="addition"===e.type?"+":"deletion"===e.type?"-":" ";return(0,o.jsxs)("tr",{style:{background:l},children:[(0,o.jsx)("td",{className:"select-none text-right pr-2 pl-3",style:{color:"var(--color-text-muted)",opacity:.5,width:"1%",whiteSpace:"nowrap",userSelect:"none"},children:"addition"!==e.type?e.oldLine:""}),(0,o.jsx)("td",{className:"select-none text-right pr-3",style:{color:"var(--color-text-muted)",opacity:.5,width:"1%",whiteSpace:"nowrap",userSelect:"none"},children:"deletion"!==e.type?e.newLine:""}),(0,o.jsxs)("td",{className:"pr-4",style:{color:n},children:[(0,o.jsx)("span",{className:"select-none inline-block w-4 text-center",style:{opacity:.6,userSelect:"none"},children:a}),e.content]})]},"".concat(t,"-").concat(r))}))})})})]})}function rT(e){let{diff:t}=e,r=(0,l.useMemo)(()=>(function(e){let t=[],r=e.split("\n"),o=null,l=null,n=0,a=0;for(let e=0;e<r.length;e++){let s=r[e];if(s.startsWith("--- ")){let l=r[e+1];if(null==l?void 0:l.startsWith("+++ ")){o={oldPath:s.replace(/^--- (a\/)?/,"").trim(),newPath:l.replace(/^\+\+\+ (b\/)?/,"").trim(),hunks:[],additions:0,deletions:0},t.push(o),e++;continue}}let i=s.match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@(.*)/);if(i){n=parseInt(i[1],10),a=parseInt(i[2],10),l={header:s,lines:[{type:"header",content:s}]},o?o.hunks.push(l):(o={oldPath:"",newPath:"",hunks:[l],additions:0,deletions:0},t.push(o));continue}l&&o&&(s.startsWith("+")?(l.lines.push({type:"addition",content:s.slice(1),newLine:a}),o.additions++,a++):s.startsWith("-")?(l.lines.push({type:"deletion",content:s.slice(1),oldLine:n}),o.deletions++,n++):(s.startsWith(" ")||""===s)&&(l.lines.push({type:"context",content:s.slice(1)||"",oldLine:n,newLine:a}),n++,a++))}if(0===t.length&&e.trim()){let r=e.split("\n").map(e=>e.startsWith("+")?{type:"addition",content:e.slice(1)}:e.startsWith("-")?{type:"deletion",content:e.slice(1)}:{type:"context",content:e});t.push({oldPath:"",newPath:"",hunks:[{header:"",lines:r}],additions:r.filter(e=>"addition"===e.type).length,deletions:r.filter(e=>"deletion"===e.type).length})}return t})(t),[t]);return(0,o.jsx)("div",{className:"space-y-2 my-3",children:r.map((e,t)=>(0,o.jsx)(rM,{file:e},t))})}let rE=(0,rj.default)(()=>r.e(3867).then(r.bind(r,53867)).then(e=>e.MarkdownContent),{loadableGenerated:{webpack:()=>[53867]},ssr:!1,loading:()=>(0,o.jsxs)("div",{className:"animate-pulse space-y-3 py-4",children:[(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"80%"}}),(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"60%"}}),(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"70%"}})]})}),rW=(0,rj.default)(()=>r.e(5477).then(r.bind(r,45477)).then(e=>({default:e.ReportCard})),{loadableGenerated:{webpack:()=>[45477]},ssr:!1,loading:()=>(0,o.jsx)("div",{className:"h-48 rounded-xl animate-pulse my-4",style:{background:"var(--color-surface)"}})}),rR=(0,rj.default)(()=>Promise.all([r.e(4652),r.e(2597)]).then(r.bind(r,52597)).then(e=>({default:e.MarkdownEditor})),{loadableGenerated:{webpack:()=>[52597]},ssr:!1,loading:()=>(0,o.jsxs)("div",{className:"animate-pulse space-y-3 py-4 px-6",children:[(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"80%"}}),(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"60%"}}),(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"70%"}})]})});function rD(e){let{content:t,title:r,filePath:n,tree:a,onSave:s,onNavigate:i,searchFn:c}=e,[d,u]=(0,l.useState)(!!n),x=t.replace(/^---\s*\n[\s\S]*?\n---\s*\n/,""),h=x.match(/^#\s+(.+)/m),p=null!=r?r:null==h?void 0:h[1],m=p&&h?x.replace(/^#\s+.+\n?/,""):x;if(d&&n)return(0,o.jsx)("div",{className:"max-w-3xl mx-auto",children:(0,o.jsx)(rR,{content:x,rawContent:t,filePath:n,tree:null!=a?a:[],onSave:s,onNavigate:i,searchFn:c})});let f=rw(m)||rC(m),v=(0,l.useCallback)(e=>{if(!i)return;let t=e.target.closest("a");if(!t)return;let r=t.getAttribute("href");r&&(0,ey.m9)(r)&&(e.preventDefault(),e.stopPropagation(),i(r))},[i]);return(0,o.jsxs)("div",{className:"max-w-3xl mx-auto px-6 py-8",onClick:v,children:[(0,o.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[p&&(0,o.jsx)("h1",{className:"text-3xl font-bold mb-6 flex-1",style:{color:"var(--color-text)"},children:p}),n&&(0,o.jsxs)("button",{type:"button",onClick:()=>u(!0),className:"editor-mode-toggle flex-shrink-0 mt-1",title:"Edit this document",children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,o.jsx)("path",{d:"m15 5 4 4"})]}),(0,o.jsx)("span",{children:"Edit"})]})]}),f?(0,o.jsx)(rI,{content:m}):(0,o.jsx)("div",{className:"workspace-prose",children:(0,o.jsx)(rE,{content:m})})]})}function rI(e){let{content:t}=e,r=rk(t),l=[];for(let e of r)if("text"===e.type&&rC(e.text))for(let t of rN(e.text))l.push(t);else l.push(e);return(0,o.jsx)("div",{className:"space-y-4",children:l.map((e,t)=>"report-artifact"===e.type?(0,o.jsx)("div",{className:"my-6",children:(0,o.jsx)(rW,{config:e.config})},t):"diff-artifact"===e.type?(0,o.jsx)("div",{className:"my-4",children:(0,o.jsx)(rT,{diff:e.diff})},t):(0,o.jsx)("div",{className:"workspace-prose",children:(0,o.jsx)(rE,{content:e.text})},t))})}let rB=new Set(["xlsx","xls","xlsb","xlsm","xltx","xltm","ods","fods","csv","tsv","numbers"]);function rF(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return rB.has(o)}function r_(e){let{content:t,filename:r,type:l}=e,n=t.split("\n");return(0,o.jsxs)("div",{className:"max-w-4xl mx-auto px-6 py-8",children:[(0,o.jsx)(rP,{filename:r,label:l.toUpperCase()}),(0,o.jsx)("div",{className:"rounded-b-lg border overflow-x-auto",style:{background:"var(--color-bg)",borderColor:"var(--color-border)"},children:(0,o.jsx)("pre",{className:"text-sm leading-6",style:{margin:0},children:(0,o.jsx)("code",{children:n.map((e,t)=>(0,o.jsxs)("div",{className:"flex hover:bg-[var(--color-surface-hover)] transition-colors duration-75",children:[(0,o.jsx)("span",{className:"select-none text-right pr-4 pl-4 flex-shrink-0 tabular-nums",style:{color:"var(--color-text-muted)",opacity:.5,minWidth:"3rem",userSelect:"none"},children:t+1}),(0,o.jsx)("span",{className:"pr-4 flex-1",style:{color:"var(--color-text)"},children:"yaml"===l?(0,o.jsx)(rA,{line:e}):e||" "})]},t))})})})]})}function rP(e){let{filename:t,label:r,icon:l}=e;return(0,o.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2.5 rounded-t-lg border border-b-0",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},children:[null!=l?l:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]}),(0,o.jsx)("span",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:t}),(0,o.jsx)("span",{className:"text-xs px-1.5 py-0.5 rounded ml-auto",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:r})]})}function rA(e){let{line:t}=e;if(t.trim().startsWith("#"))return(0,o.jsx)("span",{style:{color:"var(--color-text-muted)"},children:t});let r=t.match(/^(\s*)([\w][\w_-]*)\s*(:)(.*)/);if(r){let[,e,t,l,n]=r;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{children:e}),(0,o.jsx)("span",{style:{color:"#60a5fa"},children:t}),(0,o.jsx)("span",{style:{color:"var(--color-text-muted)"},children:l}),(0,o.jsx)(rz,{value:n})]})}let l=t.match(/^(\s*)(-)(\s*)(.*)/);if(l){let[,e,t,r,n]=l;return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{children:e}),(0,o.jsx)("span",{style:{color:"var(--color-accent)"},children:t}),(0,o.jsx)("span",{children:r}),(0,o.jsx)("span",{style:{color:"var(--color-text)"},children:n})]})}return(0,o.jsx)("span",{children:t||" "})}function rz(e){let{value:t}=e,r=t.trim();return r.startsWith('"')&&r.endsWith('"')||r.startsWith("'")&&r.endsWith("'")?(0,o.jsxs)("span",{style:{color:"#a5d6a7"},children:[" ",r]}):"true"===r||"false"===r?(0,o.jsxs)("span",{style:{color:"#f59e0b"},children:[" ",r]}):/^-?\d+(\.\d+)?$/.test(r)?(0,o.jsxs)("span",{style:{color:"#c084fc"},children:[" ",r]}):"null"===r?(0,o.jsxs)("span",{style:{color:"var(--color-text-muted)",fontStyle:"italic"},children:[" ",r]}):(0,o.jsxs)("span",{style:{color:"var(--color-text)"},children:[" ",t]})}var rO=r(81584),rU=r(13292);let rH=new Set(["csv","tsv"]);function rV(e){var t,r;return null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:""}function rK(e){let t="",r=e;do t=String.fromCharCode(65+r%26)+t,r=Math.floor(r/26)-1;while(r>=0);return t}function rJ(e){let{state:t,onClose:r,onInsertRowAbove:n,onInsertRowBelow:a,onInsertColLeft:s,onInsertColRight:i,onDeleteRow:c,onDeleteCol:d,onClearCells:u}=e,x=(0,l.useRef)(null);if((0,l.useEffect)(()=>{if(!t)return;let e=e=>{x.current&&!x.current.contains(e.target)&&r()};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t,r]),!t)return null;let h={padding:"6px 12px",fontSize:"12px",cursor:"pointer",color:"var(--color-text)",borderRadius:"4px"};return(0,o.jsx)("div",{ref:x,style:{position:"fixed",top:t.y,left:t.x,zIndex:9999,background:"var(--color-surface-raised)",border:"1px solid var(--color-border)",borderRadius:"8px",padding:"4px",boxShadow:"var(--shadow-lg)",minWidth:"180px"},children:[{label:"Insert row above",action:n},{label:"Insert row below",action:a},{label:"Insert column left",action:s},{label:"Insert column right",action:i},{label:"Delete row",action:c,danger:!0},{label:"Delete column",action:d,danger:!0},{label:"Clear cells",action:u,danger:!0}].map((e,t)=>(0,o.jsxs)("div",{children:[4===t&&(0,o.jsx)("div",{style:{height:"1px",background:"var(--color-border)",margin:"4px 0"}}),(0,o.jsx)("button",{type:"button",onClick:()=>{e.action(),r()},style:{...h,color:e.danger?"var(--color-error)":"var(--color-text)",display:"block",width:"100%",textAlign:"left",background:"transparent",border:"none"},onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:e.label})]},t))})}function rq(e){let{data:t,onNavigate:r,onClose:n}=e,[a,s]=(0,l.useState)(""),[i,c]=(0,l.useState)([]),[d,u]=(0,l.useState)(0),x=(0,l.useRef)(null);(0,l.useEffect)(()=>{var e;null==(e=x.current)||e.focus()},[]),(0,l.useEffect)(()=>{if(!a.trim()){c([]),u(0);return}let e=a.toLowerCase(),o=[];t.forEach((t,r)=>{null==t||t.forEach((t,l)=>{t&&String(t.value).toLowerCase().includes(e)&&o.push({row:r,column:l})})}),c(o),u(0),o.length>0&&r(o[0])},[a,t,r]);let h=(0,l.useCallback)(e=>{if(0===i.length)return;let t=(e%i.length+i.length)%i.length;u(t),r(i[t])},[i,r]);return(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"6px",padding:"6px 12px",background:"var(--color-surface)",borderBottom:"1px solid var(--color-border)"},children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-text-muted)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]}),(0,o.jsx)("input",{ref:x,value:a,onChange:e=>s(e.target.value),onKeyDown:e=>{"Escape"===e.key&&n(),"Enter"===e.key&&(e.preventDefault(),h(e.shiftKey?d-1:d+1))},placeholder:"Find in sheet...",style:{flex:1,background:"transparent",border:"none",outline:"none",fontSize:"12px",color:"var(--color-text)"}}),a&&(0,o.jsx)("span",{style:{fontSize:"11px",color:"var(--color-text-muted)",whiteSpace:"nowrap"},children:i.length>0?"".concat(d+1," of ").concat(i.length):"No results"}),(0,o.jsx)("button",{type:"button",onClick:()=>h(d-1),disabled:0===i.length,style:{background:"transparent",border:"none",cursor:"pointer",padding:"2px",color:"var(--color-text-muted)",opacity:0===i.length?.3:1},title:"Previous (Shift+Enter)",children:(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,o.jsx)("path",{d:"m18 15-6-6-6 6"})})}),(0,o.jsx)("button",{type:"button",onClick:()=>h(d+1),disabled:0===i.length,style:{background:"transparent",border:"none",cursor:"pointer",padding:"2px",color:"var(--color-text-muted)",opacity:0===i.length?.3:1},title:"Next (Enter)",children:(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:(0,o.jsx)("path",{d:"m6 9 6 6 6-6"})})}),(0,o.jsx)("button",{type:"button",onClick:n,style:{background:"transparent",border:"none",cursor:"pointer",padding:"2px",color:"var(--color-text-muted)"},title:"Close (Esc)",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]})}function rG(e){let{onClick:t,title:r,disabled:l,children:n,accent:a}=e;return(0,o.jsx)("button",{type:"button",onClick:t,disabled:l,title:r,style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:"28px",height:"28px",borderRadius:"6px",border:"none",background:a?"var(--color-accent)":"transparent",color:a?"#fff":"var(--color-text-muted)",cursor:l?"default":"pointer",opacity:l?.35:1,flexShrink:0,transition:"background 0.1s, color 0.1s"},onMouseEnter:e=>{l||a||(e.currentTarget.style.background="var(--color-surface-hover)")},onMouseLeave:e=>{a||(e.currentTarget.style.background="transparent")},children:n})}function r$(){return(0,o.jsx)("div",{style:{width:"1px",height:"18px",background:"var(--color-border)",margin:"0 4px",flexShrink:0}})}function rZ(e){var t,r;let{url:n,filename:a,filePath:s,compact:i=!1}=e,[c,d]=(0,l.useState)(null),[u,x]=(0,l.useState)(0),[h,p]=(0,l.useState)(null),[m,f]=(0,l.useState)(!1),[v,g]=(0,l.useState)(!1),[y,b]=(0,l.useState)(!1),[j,k]=(0,l.useState)(null),[w,N]=(0,l.useState)(null),[C,S]=(0,l.useState)(null),[L,M]=(0,l.useState)(!1),T=(0,l.useRef)(null),[E,W]=(0,l.useState)([]),[R,D]=(0,l.useState)([]);(0,l.useEffect)(()=>{let e=!1;return d(null),x(0),p(null),f(!1),W([]),D([]),fetch(n).then(e=>{if(!e.ok)throw Error("Failed to load file (".concat(e.status,")"));return e.arrayBuffer()}).then(t=>{if(e)return;let r=(0,rU.LF)(t,{type:"array"}),o=r.SheetNames.map(e=>({name:e,data:function(e){let t=rU.Wp.sheet_to_json(e,{header:1,defval:""});if(0===t.length)return(0,rO.JH)(1,1);let r=t.reduce((e,t)=>Math.max(e,t.length),0);return t.map(e=>{let t=[];for(let o=0;o<r;o++){let r=o<e.length?e[o]:"";t.push({value:null==r?"":r})}return t})}(r.Sheets[e])}));0===o.length&&o.push({name:"Sheet1",data:(0,rO.JH)(50,26)}),d(o)}).catch(t=>{e||p(String(t))}),()=>{e=!0}},[n]);let I=null!=(r=null==c||null==(t=c[u])?void 0:t.data)?r:[],B=(0,l.useMemo)(()=>{let e=0;for(let t of I)t&&(e=Math.max(e,t.length));return e},[I]),F=(0,l.useMemo)(()=>Array.from({length:B},(e,t)=>rK(t)),[B]),_=(0,l.useCallback)(()=>{c&&(W(e=>[...e.slice(-49),{sheetIdx:u,data:c[u].data}]),D([]))},[c,u]),P=(0,l.useCallback)(e=>{d(t=>{if(!t)return t;let r=[...t];return r[u]={...r[u],data:e},r}),f(!0)},[u]),A=(0,l.useCallback)(e=>{_(),P(e)},[_,P]),z=(0,l.useCallback)(()=>{if(0===E.length||!c)return;let e=E[E.length-1];D(e=>[...e,{sheetIdx:u,data:c[u].data}]),W(e=>e.slice(0,-1)),d(t=>{if(!t)return t;let r=[...t];return r[e.sheetIdx]={...r[e.sheetIdx],data:e.data},r}),e.sheetIdx!==u&&x(e.sheetIdx)},[E,c,u]),O=(0,l.useCallback)(()=>{if(0===R.length||!c)return;let e=R[R.length-1];W(e=>[...e,{sheetIdx:u,data:c[u].data}]),D(e=>e.slice(0,-1)),d(t=>{if(!t)return t;let r=[...t];return r[e.sheetIdx]={...r[e.sheetIdx],data:e.data},r}),e.sheetIdx!==u&&x(e.sheetIdx)},[R,c,u]),U=(0,l.useCallback)(e=>{_();let t=Array.from({length:B},()=>({value:""})),r=[...I];r.splice(e,0,t),P(r)},[_,P,I,B]),H=(0,l.useCallback)(e=>{if(I.length<=1)return;_();let t=[...I];t.splice(e,1),P(t)},[_,P,I]),V=(0,l.useCallback)(e=>{_(),P(I.map(t=>{let r=[...null!=t?t:[]];return r.splice(e,0,{value:""}),r}))},[_,P,I]),K=(0,l.useCallback)(e=>{B<=1||(_(),P(I.map(t=>{let r=[...null!=t?t:[]];return r.splice(e,1),r})))},[_,P,I,B]),J=(0,l.useCallback)(()=>{if(!w)return;let e=w.toRange(I);if(!e)return;_();let t=I.map(e=>e?[...e]:[]);for(let r of e)t[r.row]&&(t[r.row][r.column]={value:""});P(t)},[w,I,_,P]),q=(0,l.useCallback)(async()=>{if(c&&!v){g(!0);try{if(rH.has(rV(a))){let e="tsv"===rV(a)?" ":",",t=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:",";return e.map(e=>(null!=e?e:[]).map(e=>{let r=e?String(e.value):"";return r.includes(t)||r.includes('"')||r.includes("\n")?'"'.concat(r.replace(/"/g,'""'),'"'):r}).join(t)).join("\n")}(c[u].data,e);if(!(await fetch("/api/workspace/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:s,content:t})})).ok)throw Error("Save failed")}else{let e=rU.Wp.book_new();for(let t of c)rU.Wp.book_append_sheet(e,function(e){let t=e.map(e=>(null!=e?e:[]).map(e=>e?e.value:""));return rU.Wp.aoa_to_sheet(t)}(t.data),t.name);let t=(0,rU.M9)(e,{type:"array",bookType:rV(a)});if(!(await fetch("/api/workspace/raw-file?path=".concat(encodeURIComponent(s)),{method:"POST",body:t})).ok)throw Error("Save failed")}f(!1),b(!0),setTimeout(()=>b(!1),1500)}catch(e){console.error("Spreadsheet save error:",e)}finally{g(!1)}}},[c,v,a,s,u]);(0,l.useEffect)(()=>{let e=e=>{let t=e.metaKey||e.ctrlKey;t&&"s"===e.key&&(e.preventDefault(),q()),t&&"z"===e.key&&!e.shiftKey&&(e.preventDefault(),z()),t&&"z"===e.key&&e.shiftKey&&(e.preventDefault(),O()),t&&"f"===e.key&&(e.preventDefault(),M(e=>!e))};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[q,z,O]);let G=(0,l.useCallback)(e=>{e.preventDefault();let t=e.target.closest("td");if(!t)return;let r=t.closest("tr");if(!r)return;let o=r.closest("tbody");if(!o)return;let l=Array.from(o.children).indexOf(r),n=Array.from(r.children).indexOf(t)-1;l<0||n<0||S({x:e.clientX,y:e.clientY,row:l,col:n})},[]),$=(0,l.useCallback)(e=>{var t;k(e),null==(t=T.current)||t.activate(e),N(new rO.MH(new rO.m9(e,e)))},[]),Z=(0,l.useMemo)(()=>{var e;if(!j)return"";let t=null==(e=I[j.row])?void 0:e[j.column];return t?String(t.value):""},[j,I]),Q=(0,l.useCallback)(e=>{if(!j)return;_();let t=I.map(e=>e?[...e]:[]);t[j.row]||(t[j.row]=[]),t[j.row][j.column]={value:e},P(t)},[j,I,_,P]),Y=(0,l.useMemo)(()=>(function(e,t){if(!t)return null;let r=t.toRange(e);if(!r)return null;let o=0,l=0,n=0;for(let t of r){var a;let r=null==(a=e[t.row])?void 0:a[t.column];if(!r)continue;o++;let s=Number(r.value);""===r.value||isNaN(s)||(l++,n+=s)}return o<=1?null:{count:o,numericCount:l,sum:n,avg:l>0?n/l:0}})(I,w),[I,w]),X=rV(a).toUpperCase()||"SPREADSHEET";return h?(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"12px",padding:"24px"},children:[(0,o.jsx)(rQ,{size:32}),(0,o.jsx)("p",{style:{color:"var(--color-text)",fontWeight:500,fontSize:"14px"},children:"Failed to load spreadsheet"}),(0,o.jsx)("p",{style:{color:"var(--color-text-muted)",fontSize:"12px"},children:h})]}):c?(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",height:"100%",width:"100%",background:"var(--color-bg)",overflow:"hidden"},children:[(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:i?"6px 10px":"8px 16px",borderBottom:"1px solid var(--color-border)",background:"var(--color-surface)",flexShrink:0},children:[(0,o.jsx)(rQ,{size:16}),(0,o.jsx)("span",{style:{fontSize:i?"12px":"13px",fontWeight:600,color:"var(--color-text)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a}),(0,o.jsx)("span",{style:{fontSize:"10px",padding:"1px 6px",borderRadius:"4px",background:"var(--color-surface-hover)",color:"var(--color-text-muted)",fontWeight:500,flexShrink:0},children:X}),m&&(0,o.jsx)("span",{style:{fontSize:"10px",padding:"1px 6px",borderRadius:"4px",background:"var(--color-warning)",color:"#fff",fontWeight:500,flexShrink:0},children:"Unsaved"}),y&&(0,o.jsx)("span",{style:{fontSize:"10px",padding:"1px 6px",borderRadius:"4px",background:"var(--color-success)",color:"#fff",fontWeight:500,flexShrink:0},children:"Saved"}),(0,o.jsx)("div",{style:{flex:1}}),!i&&(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"2px"},children:[(0,o.jsx)(rG,{onClick:q,title:"Save (⌘S)",disabled:!m||v,accent:m,children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"}),(0,o.jsx)("path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"}),(0,o.jsx)("path",{d:"M7 3v4a1 1 0 0 0 1 1h7"})]})}),(0,o.jsx)(r$,{}),(0,o.jsx)(rG,{onClick:z,title:"Undo (⌘Z)",disabled:0===E.length,children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 7v6h6"}),(0,o.jsx)("path",{d:"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"})]})}),(0,o.jsx)(rG,{onClick:O,title:"Redo (⌘⇧Z)",disabled:0===R.length,children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 7v6h-6"}),(0,o.jsx)("path",{d:"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3L21 13"})]})}),(0,o.jsx)(r$,{}),(0,o.jsx)(rG,{onClick:()=>j&&U(j.row),title:"Insert row above",disabled:!j,children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 5v14"}),(0,o.jsx)("path",{d:"M5 12h14"})]})}),(0,o.jsx)(rG,{onClick:()=>j&&V(j.column),title:"Insert column left",disabled:!j,children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2"}),(0,o.jsx)("path",{d:"M12 8v8"}),(0,o.jsx)("path",{d:"M8 12h8"})]})}),(0,o.jsx)(r$,{}),(0,o.jsx)(rG,{onClick:()=>M(e=>!e),title:"Find (⌘F)",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]})})]}),i&&m&&(0,o.jsx)(rG,{onClick:q,title:"Save (⌘S)",disabled:v,accent:!0,children:(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15.2 3a2 2 0 0 1 1.4.6l3.8 3.8a2 2 0 0 1 .6 1.4V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2z"}),(0,o.jsx)("path",{d:"M17 21v-7a1 1 0 0 0-1-1H8a1 1 0 0 0-1 1v7"}),(0,o.jsx)("path",{d:"M7 3v4a1 1 0 0 0 1 1h7"})]})})]}),!i&&(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px",padding:"4px 16px",borderBottom:"1px solid var(--color-border)",background:"var(--color-surface)",flexShrink:0},children:[(0,o.jsx)("span",{style:{fontSize:"11px",fontWeight:600,color:"var(--color-text-muted)",minWidth:"36px",textAlign:"center",padding:"2px 6px",borderRadius:"4px",background:"var(--color-surface-hover)",fontFamily:"monospace"},children:j?"".concat(rK(j.column)).concat(j.row+1):"\xa0"}),(0,o.jsx)("div",{style:{width:"1px",height:"18px",background:"var(--color-border)",flexShrink:0}}),(0,o.jsx)("span",{style:{fontSize:"11px",fontWeight:500,color:"var(--color-text-muted)",flexShrink:0},children:"fx"}),(0,o.jsx)("input",{type:"text",value:Z,onChange:e=>Q(e.target.value),placeholder:"Select a cell",style:{flex:1,background:"transparent",border:"none",outline:"none",fontSize:"12px",color:"var(--color-text)",fontFamily:"monospace"}})]}),L&&(0,o.jsx)(rq,{data:I,onNavigate:$,onClose:()=>M(!1)}),(0,o.jsx)("div",{style:{flex:1,overflow:"auto",position:"relative"},onContextMenu:G,children:(0,o.jsx)(rO.Ay,{ref:T,data:I,onChange:A,columnLabels:F,onActivate:k,onSelect:N,darkMode:"undefined"!=typeof document&&document.documentElement.classList.contains("dark"),className:"spreadsheet-editor-grid"})}),(0,o.jsx)(rJ,{state:C,onClose:()=>S(null),onInsertRowAbove:()=>C&&U(C.row),onInsertRowBelow:()=>C&&U(C.row+1),onInsertColLeft:()=>C&&V(C.col),onInsertColRight:()=>C&&V(C.col+1),onDeleteRow:()=>C&&H(C.row),onDeleteCol:()=>C&&K(C.col),onClearCells:J}),c.length>1&&(0,o.jsx)("div",{style:{display:"flex",alignItems:"center",gap:0,borderTop:"1px solid var(--color-border)",background:"var(--color-surface)",overflow:"auto",flexShrink:0},children:c.map((e,t)=>(0,o.jsxs)("button",{type:"button",onClick:()=>x(t),style:{padding:i?"4px 10px":"6px 16px",fontSize:i?"10px":"11px",fontWeight:t===u?600:400,color:t===u?"var(--color-text)":"var(--color-text-muted)",background:t===u?"var(--color-bg)":"transparent",border:"none",borderRight:"1px solid var(--color-border)",cursor:"pointer",whiteSpace:"nowrap",transition:"background 0.1s",position:"relative"},children:[e.name,t===u&&(0,o.jsx)("div",{style:{position:"absolute",top:0,left:0,right:0,height:"2px",background:"var(--color-accent)",borderRadius:"0 0 2px 2px"}})]},e.name))}),(0,o.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:i?"3px 10px":"4px 16px",borderTop:"1px solid var(--color-border)",background:"var(--color-surface)",fontSize:i?"10px":"11px",color:"var(--color-text-muted)",flexShrink:0,gap:"12px"},children:[(0,o.jsxs)("span",{children:[I.length," row",1!==I.length?"s":""," \xd7 ",B," col",1!==B?"s":"",c.length>1?" \xb7 ".concat(c.length," sheets"):""]}),Y&&(0,o.jsxs)("span",{style:{textAlign:"right"},children:["Count: ",Y.count,Y.numericCount>0&&(0,o.jsxs)(o.Fragment,{children:[" \xb7 ","Sum: ",Y.sum.toLocaleString()," \xb7 ","Avg: ",Y.avg.toLocaleString(void 0,{maximumFractionDigits:2})]})]})]})]}):(0,o.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",gap:"12px"},children:[(0,o.jsx)("div",{className:"animate-spin",style:{width:"20px",height:"20px",border:"2px solid var(--color-border)",borderTopColor:"var(--color-accent)",borderRadius:"50%"}}),(0,o.jsx)("p",{style:{color:"var(--color-text-muted)",fontSize:"12px"},children:"Loading spreadsheet..."})]})}function rQ(e){let{size:t=16}=e;return(0,o.jsxs)("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"#22c55e",flexShrink:0},children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),(0,o.jsx)("path",{d:"M8 13h2"}),(0,o.jsx)("path",{d:"M14 13h2"}),(0,o.jsx)("path",{d:"M8 17h2"}),(0,o.jsx)("path",{d:"M14 17h2"})]})}var rY=r(35778);let rX=null;function r0(e){let{filename:t,rawUrl:r,contentUrl:n}=e,[a,s]=(0,l.useState)("rendered"),[i,c]=(0,l.useState)(null),[d,u]=(0,l.useState)(!1),x=(0,l.useCallback)(()=>{s("code"),null===i&&(u(!0),fetch(n).then(e=>e.json()).then(e=>c(e.content)).catch(()=>c("\x3c!-- Failed to load source --\x3e")).finally(()=>u(!1)))},[n,i]);return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)(r4,{}),(0,o.jsx)("span",{className:"text-sm font-medium truncate",style:{color:"var(--color-text)"},children:t}),(0,o.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full flex-shrink-0",style:{background:"#f9731618",color:"#f97316",border:"1px solid #f9731630"},children:"HTML"}),(0,o.jsxs)("div",{className:"flex items-center ml-auto rounded-lg p-0.5",style:{background:"var(--color-surface-hover)"},children:[(0,o.jsxs)("button",{type:"button",onClick:()=>s("rendered"),className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md text-xs font-medium transition-colors duration-100 cursor-pointer",style:{background:"rendered"===a?"var(--color-surface)":"transparent",color:"rendered"===a?"var(--color-text)":"var(--color-text-muted)",boxShadow:"rendered"===a?"0 1px 2px rgba(0,0,0,0.1)":"none"},children:[(0,o.jsx)(r5,{}),"Preview"]}),(0,o.jsxs)("button",{type:"button",onClick:x,className:"flex items-center gap-1.5 px-2.5 py-1 rounded-md text-xs font-medium transition-colors duration-100 cursor-pointer",style:{background:"code"===a?"var(--color-surface)":"transparent",color:"code"===a?"var(--color-text)":"var(--color-text-muted)",boxShadow:"code"===a?"0 1px 2px rgba(0,0,0,0.1)":"none"},children:[(0,o.jsx)(r6,{}),"Code"]})]}),(0,o.jsx)("a",{href:r,target:"_blank",rel:"noopener noreferrer",className:"p-1.5 rounded-md transition-colors duration-100",style:{color:"var(--color-text-muted)"},title:"Open in new tab",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsx)(r3,{})})]}),"rendered"===a?(0,o.jsx)(r1,{rawUrl:r}):d||null===i?(0,o.jsx)("div",{className:"flex-1 flex items-center justify-center",children:(0,o.jsx)("div",{className:"w-6 h-6 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})}):(0,o.jsx)(r2,{content:i})]})}function r1(e){let{rawUrl:t}=e;return(0,o.jsx)("div",{className:"flex-1 overflow-hidden",style:{background:"white"},children:(0,o.jsx)("iframe",{src:t,className:"w-full h-full border-0",sandbox:"allow-same-origin allow-scripts allow-popups",title:"HTML preview",style:{minHeight:"calc(100vh - 120px)"}})})}function r2(e){let{content:t}=e,[r,n]=(0,l.useState)(null),a=(0,l.useMemo)(()=>t.split("\n").length,[t]);return(0,l.useEffect)(()=>{let e=!1;return(!rX&&(rX=(0,rY.O_)({themes:["github-dark","github-light"],langs:["html"]})),rX).then(r=>{e||n(r.codeToHtml(t,{lang:"html",themes:{dark:"github-dark",light:"github-light"}}))}),()=>{e=!0}},[t]),(0,o.jsx)("div",{className:"flex-1 overflow-auto",style:{background:"var(--color-surface)"},children:(0,o.jsxs)("div",{className:"max-w-4xl mx-auto px-6 py-8",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2.5 rounded-t-lg border border-b-0",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},children:[(0,o.jsx)(r6,{}),(0,o.jsx)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"HTML"}),(0,o.jsxs)("span",{className:"text-xs ml-auto",style:{color:"var(--color-text-muted)"},children:[a," lines"]})]}),(0,o.jsx)("div",{className:"code-viewer-content rounded-b-lg border overflow-x-auto",style:{background:"var(--color-bg)",borderColor:"var(--color-border)"},children:r?(0,o.jsx)("div",{className:"code-viewer-highlighted",dangerouslySetInnerHTML:{__html:r}}):(0,o.jsx)("pre",{className:"text-sm leading-6",style:{margin:0},children:(0,o.jsx)("code",{children:t.split("\n").map((e,t)=>(0,o.jsxs)("div",{className:"flex hover:bg-[var(--color-surface-hover)] transition-colors duration-75",children:[(0,o.jsx)("span",{className:"select-none text-right pr-4 pl-4 flex-shrink-0 tabular-nums",style:{color:"var(--color-text-muted)",opacity:.5,minWidth:"3rem",userSelect:"none"},children:t+1}),(0,o.jsx)("span",{className:"pr-4 flex-1",style:{color:"var(--color-text)"},children:e||" "})]},t))})})})]})})}function r4(){return(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"#f97316",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"}),(0,o.jsx)("line",{x1:"12",x2:"10",y1:"2",y2:"22"})]})}function r5(){return(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}function r6(){return(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"})]})}function r3(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 3h6v6"}),(0,o.jsx)("path",{d:"M10 14 21 3"}),(0,o.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}var r8=r(47164);let r7={ts:"typescript",tsx:"typescript",js:"javascript",jsx:"javascript",mjs:"javascript",cjs:"javascript",py:"python",rb:"ruby",go:"go",rs:"rust",java:"java",kt:"kotlin",swift:"swift",c:"c",cpp:"cpp",h:"c",hpp:"cpp",cs:"csharp",css:"css",scss:"scss",less:"less",html:"html",htm:"html",xml:"xml",svg:"xml",json:"json",jsonc:"json",yaml:"yaml",yml:"yaml",toml:"plaintext",md:"markdown",mdx:"markdown",sh:"shell",bash:"shell",zsh:"shell",fish:"shell",ps1:"powershell",sql:"sql",graphql:"graphql",gql:"graphql",dockerfile:"dockerfile",docker:"dockerfile",makefile:"plaintext",cmake:"plaintext",r:"r",lua:"lua",php:"php",vue:"html",svelte:"html",diff:"plaintext",patch:"plaintext",ini:"ini",env:"ini",tf:"plaintext",proto:"protobuf",zig:"plaintext",elixir:"plaintext",ex:"plaintext",erl:"plaintext",hs:"plaintext",scala:"scala",clj:"clojure",dart:"dart"};function r9(e){var t;let r=e.toLowerCase();return"dockerfile"===r||r.startsWith("dockerfile.")?"dockerfile":"makefile"===r||"gnumakefile"===r?"makefile":"cmakelists.txt"===r?"cmake":null!=(t=r.split(".").pop())?t:""}function oe(e){var t;return null!=(t=r7[r9(e)])?t:"plaintext"}let ot=!1;function or(){return"undefined"!=typeof document&&document.documentElement.classList.contains("dark")}function oo(e){let{content:t,filename:r,filePath:l,className:n}=e,a=r9(r);return"diff"===a||"patch"===a?(0,o.jsx)("div",{className:"max-w-4xl mx-auto px-6 py-8",children:(0,o.jsx)(rT,{diff:t})}):(0,o.jsx)(ol,{content:t,filename:r,filePath:l,className:n})}function ol(e){let{content:t,filename:r,filePath:n,className:a}=e,s=(0,l.useRef)(null),i=(0,l.useRef)(null),[c,d]=(0,l.useState)(or()?"denchclaw-dark":"denchclaw-light"),[u,x]=(0,l.useState)("clean"),[h,p]=(0,l.useState)({line:1,col:1}),m=(0,l.useRef)(null),f=(0,l.useRef)(t),v=oe(r),g=!!n;(0,l.useEffect)(()=>{f.current=t},[t]),(0,l.useEffect)(()=>{let e=document.documentElement,t=new MutationObserver(()=>d(or()?"denchclaw-dark":"denchclaw-light"));return t.observe(e,{attributes:!0,attributeFilter:["class"]}),()=>t.disconnect()},[]);let y=(0,l.useCallback)(async()=>{if(!n||!s.current)return;let e=s.current.getValue();x("saving");try{if(!(await fetch("/api/workspace/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:n,content:e})})).ok)throw Error("Save failed");f.current=e,x("saved"),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>x("clean"),2e3)}catch(e){x("error"),m.current&&clearTimeout(m.current),m.current=setTimeout(()=>x("dirty"),3e3)}},[n]),b=(0,l.useCallback)((e,t)=>{s.current=e,i.current=t,ot||(ot=!0,t.editor.defineTheme("denchclaw-light",{base:"vs",inherit:!0,rules:[],colors:{"editor.background":"#ffffff","editor.foreground":"#1c1c1a","editor.lineHighlightBackground":"#f5f4f1","editor.selectionBackground":"#2563eb20","editor.inactiveSelectionBackground":"#2563eb10","editorLineNumber.foreground":"#8a8a82","editorLineNumber.activeForeground":"#44443e","editorIndentGuide.background":"#00000010","editorIndentGuide.activeBackground":"#00000020","editor.selectionHighlightBackground":"#2563eb12","editorCursor.foreground":"#2563eb","editorWhitespace.foreground":"#00000010","editorBracketMatch.background":"#2563eb15","editorBracketMatch.border":"#2563eb40","editorGutter.background":"#ffffff","editorWidget.background":"#ffffff","editorWidget.border":"#00000014","editorSuggestWidget.background":"#ffffff","editorSuggestWidget.border":"#00000014","editorSuggestWidget.selectedBackground":"#f5f4f1","editorHoverWidget.background":"#ffffff","editorHoverWidget.border":"#00000014","input.background":"#f5f5f4","input.border":"#00000014","input.foreground":"#1c1c1a","minimap.background":"#ffffff","scrollbarSlider.background":"#00000012","scrollbarSlider.hoverBackground":"#00000020","scrollbarSlider.activeBackground":"#0000002a"}}),t.editor.defineTheme("denchclaw-dark",{base:"vs-dark",inherit:!0,rules:[],colors:{"editor.background":"#0c0c0b","editor.foreground":"#ececea","editor.lineHighlightBackground":"#1e1e1c","editor.selectionBackground":"#3b82f630","editor.inactiveSelectionBackground":"#3b82f618","editorLineNumber.foreground":"#78776f","editorLineNumber.activeForeground":"#b8b8b0","editorIndentGuide.background":"#ffffff08","editorIndentGuide.activeBackground":"#ffffff14","editor.selectionHighlightBackground":"#3b82f618","editorCursor.foreground":"#3b82f6","editorWhitespace.foreground":"#ffffff08","editorBracketMatch.background":"#3b82f620","editorBracketMatch.border":"#3b82f650","editorGutter.background":"#0c0c0b","editorWidget.background":"#161615","editorWidget.border":"#ffffff14","editorSuggestWidget.background":"#161615","editorSuggestWidget.border":"#ffffff14","editorSuggestWidget.selectedBackground":"#1e1e1c","editorHoverWidget.background":"#161615","editorHoverWidget.border":"#ffffff14","input.background":"#1e1e1c","input.border":"#ffffff14","input.foreground":"#ececea","minimap.background":"#0c0c0b","scrollbarSlider.background":"#ffffff12","scrollbarSlider.hoverBackground":"#ffffff20","scrollbarSlider.activeBackground":"#ffffff2a"}})),t.editor.setTheme(or()?"denchclaw-dark":"denchclaw-light"),e.addCommand(t.KeyMod.CtrlCmd|t.KeyCode.KeyS,()=>{y()}),e.onDidChangeCursorPosition(e=>{p({line:e.position.lineNumber,col:e.position.column})}),e.onDidChangeModelContent(()=>{e.getValue()!==f.current?x("dirty"):x("clean")}),e.focus()},[y]);(0,l.useEffect)(()=>{i.current&&i.current.editor.setTheme(c)},[c]);let j=function(e){let t=oe(e);return"plaintext"===t?r9(e)||"TEXT":t}(r),k=t.split("\n").length;return(0,o.jsxs)("div",{className:"flex flex-col h-full ".concat(null!=a?a:""),children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 flex-shrink-0",style:{background:"var(--color-surface)",borderBottom:"1px solid var(--color-border)"},children:[(0,o.jsxs)("svg",{width:"15",height:"15",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--color-text-muted)",flexShrink:0},children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"})]}),(0,o.jsx)("span",{className:"text-sm font-medium truncate",style:{color:"var(--color-text)"},children:r}),"dirty"===u&&(0,o.jsx)("span",{className:"w-2 h-2 rounded-full flex-shrink-0",style:{background:"var(--color-text-muted)"},title:"Unsaved changes"}),(0,o.jsx)("div",{className:"flex-1"}),(0,o.jsx)("span",{className:"text-[11px] px-1.5 py-0.5 rounded font-medium",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:j.toUpperCase()}),(0,o.jsxs)("span",{className:"text-[11px] tabular-nums",style:{color:"var(--color-text-muted)"},children:[k," lines"]}),(0,o.jsxs)("span",{className:"text-[11px] tabular-nums",style:{color:"var(--color-text-muted)"},children:["Ln ",h.line,", Col ",h.col]}),g&&(0,o.jsxs)(o.Fragment,{children:["saving"===u&&(0,o.jsx)("span",{className:"text-[11px]",style:{color:"var(--color-text-muted)"},children:"Saving..."}),"saved"===u&&(0,o.jsx)("span",{className:"text-[11px]",style:{color:"var(--color-success)"},children:"Saved"}),"error"===u&&(0,o.jsx)("span",{className:"text-[11px]",style:{color:"var(--color-error)"},children:"Save failed"}),(0,o.jsx)("button",{type:"button",onClick:()=>void y(),disabled:"dirty"!==u,className:"text-[11px] px-2 py-0.5 rounded transition-colors",style:{background:"dirty"===u?"var(--color-accent)":"var(--color-surface-hover)",color:"dirty"===u?"#fff":"var(--color-text-muted)",cursor:"dirty"===u?"pointer":"default",opacity:"dirty"===u?1:.5},children:"Save"})]})]}),(0,o.jsx)("div",{className:"flex-1 min-h-0",children:(0,o.jsx)(r8.Ay,{defaultValue:t,language:v,theme:c,onMount:b,loading:(0,o.jsx)("div",{className:"flex items-center justify-center h-full",style:{background:"var(--color-bg)"},children:(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Loading editor..."})}),options:{readOnly:!g,fontSize:13,lineHeight:20,fontFamily:"'SF Mono', 'Fira Code', 'Cascadia Code', 'JetBrains Mono', Menlo, Monaco, 'Courier New', monospace",fontLigatures:!0,minimap:{enabled:!0,scale:1,showSlider:"mouseover"},scrollBeyondLastLine:!0,smoothScrolling:!0,cursorBlinking:"smooth",cursorSmoothCaretAnimation:"on",renderLineHighlight:"all",renderWhitespace:"selection",bracketPairColorization:{enabled:!0},guides:{bracketPairs:!0,indentation:!0,highlightActiveIndentation:!0},stickyScroll:{enabled:!0},folding:!0,foldingHighlight:!0,showFoldingControls:"mouseover",links:!0,wordWrap:"off",padding:{top:8,bottom:8},scrollbar:{verticalScrollbarSize:10,horizontalScrollbarSize:10,verticalSliderSize:10,horizontalSliderSize:10},overviewRulerBorder:!1,hideCursorInOverviewRuler:!0,automaticLayout:!0,tabSize:2,insertSpaces:!1,detectIndentation:!0,formatOnPaste:!1,formatOnType:!1,suggestOnTriggerCharacters:!0,quickSuggestions:!0,contextmenu:!0,mouseWheelZoom:!0,find:{addExtraSpaceOnTop:!1,autoFindInSelection:"multiline",seedSearchStringFromSelection:"selection"}}})})]})}let on=new Set(["jpg","jpeg","png","gif","webp","svg","bmp","avif","heic","heif","ico","tiff","tif"]),oa=new Set(["mp4","webm","mov","avi","mkv"]),os=new Set(["mp3","wav","ogg","m4a","aac","flac"]),oi=new Set(["pdf"]);function oc(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return on.has(o)?"image":oa.has(o)?"video":os.has(o)?"audio":oi.has(o)?"pdf":null}function od(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,o.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,o.jsx)("line",{x1:"12",x2:"12",y1:"15",y2:"3"})]})}function ou(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 3h6v6"}),(0,o.jsx)("path",{d:"M10 14 21 3"}),(0,o.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}function ox(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65"}),(0,o.jsx)("line",{x1:"11",x2:"11",y1:"8",y2:"14"}),(0,o.jsx)("line",{x1:"8",x2:"14",y1:"11",y2:"11"})]})}function oh(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65"}),(0,o.jsx)("line",{x1:"8",x2:"14",y1:"11",y2:"11"})]})}function op(e){switch(e){case"image":return"#60a5fa";case"video":return"#c084fc";case"audio":return"#f59e0b";case"pdf":return"#ef4444"}}function om(e){let{url:t,filename:r,mediaType:l,filePath:n}=e;return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 px-5 py-3 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)(ob,{mediaType:l}),(0,o.jsx)("span",{className:"text-sm font-medium truncate",style:{color:"var(--color-text)"},children:r}),(0,o.jsx)("span",{className:"text-[10px] px-2 py-0.5 rounded-full flex-shrink-0",style:{background:"".concat(op(l),"18"),color:op(l),border:"1px solid ".concat(op(l),"30")},children:function(e){switch(e){case"image":return"Image";case"video":return"Video";case"audio":return"Audio";case"pdf":return"PDF"}}(l)}),(0,o.jsxs)("div",{className:"flex items-center gap-1 ml-auto",children:[(0,o.jsx)("a",{href:t,target:"_blank",rel:"noopener noreferrer",className:"p-1.5 rounded-md transition-colors duration-100",style:{color:"var(--color-text-muted)"},title:"Open in new tab",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsx)(ou,{})}),(0,o.jsx)("a",{href:t,download:r,className:"p-1.5 rounded-md transition-colors duration-100",style:{color:"var(--color-text-muted)"},title:"Download",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsx)(od,{})})]})]}),(0,o.jsxs)("div",{className:"flex-1 overflow-auto flex items-center justify-center p-6",style:{background:"var(--color-surface)"},children:["image"===l&&(0,o.jsx)(of,{url:t,filename:r}),"video"===l&&(0,o.jsx)(ov,{url:t}),"audio"===l&&(0,o.jsx)(og,{url:t,filename:r}),"pdf"===l&&(0,o.jsx)(oy,{url:t})]}),n&&(0,o.jsx)("div",{className:"px-5 py-2 border-t flex-shrink-0 flex items-center",style:{borderColor:"var(--color-border)"},children:(0,o.jsx)("span",{className:"text-[11px] truncate",style:{color:"var(--color-text-muted)",fontFamily:"'SF Mono', 'Fira Code', monospace"},children:n})})]})}function of(e){let{url:t,filename:r}=e,[n,a]=(0,l.useState)(1),[s,i]=(0,l.useState)(!1),c=(0,l.useCallback)(()=>a(e=>Math.min(1.5*e,5)),[]),d=(0,l.useCallback)(()=>a(e=>Math.max(e/1.5,.25)),[]),u=(0,l.useCallback)(()=>a(1),[]);return s?(0,o.jsxs)("div",{className:"flex flex-col items-center gap-3 py-12",children:[(0,o.jsx)("span",{className:"text-4xl",style:{opacity:.3},children:"\uD83D\uDDBC"}),(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Failed to load image"})]}):(0,o.jsxs)("div",{className:"flex flex-col items-center gap-4 w-full",children:[(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsx)("button",{type:"button",onClick:d,className:"p-1.5 rounded-md transition-colors duration-100 cursor-pointer",style:{color:"var(--color-text-muted)"},title:"Zoom out",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsx)(oh,{})}),(0,o.jsxs)("button",{type:"button",onClick:u,className:"px-2 py-1 rounded-md text-[11px] tabular-nums transition-colors duration-100 cursor-pointer",style:{color:"var(--color-text-muted)"},title:"Reset zoom",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[Math.round(100*n),"%"]}),(0,o.jsx)("button",{type:"button",onClick:c,className:"p-1.5 rounded-md transition-colors duration-100 cursor-pointer",style:{color:"var(--color-text-muted)"},title:"Zoom in",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsx)(ox,{})})]}),(0,o.jsx)("div",{className:"overflow-auto max-w-full max-h-[calc(100vh-260px)] rounded-xl border",style:{borderColor:"var(--color-border)",backgroundImage:"linear-gradient(45deg, var(--color-surface-hover) 25%, transparent 25%), linear-gradient(-45deg, var(--color-surface-hover) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--color-surface-hover) 75%), linear-gradient(-45deg, transparent 75%, var(--color-surface-hover) 75%)",backgroundSize:"20px 20px",backgroundPosition:"0 0, 0 10px, 10px -10px, -10px 0px"},children:(0,o.jsx)("img",{src:t,alt:r,onError:()=>i(!0),style:{transform:"scale(".concat(n,")"),transformOrigin:"center center",transition:"transform 200ms ease",maxWidth:n<=1?"100%":"none",display:"block"},draggable:!1})})]})}function ov(e){let{url:t}=e;return(0,o.jsx)("div",{className:"w-full max-w-4xl",children:(0,o.jsx)("video",{src:t,controls:!0,className:"w-full rounded-xl border",style:{borderColor:"var(--color-border)",maxHeight:"calc(100vh - 220px)",background:"#000"}})})}function og(e){let{url:t,filename:r}=e;return(0,o.jsxs)("div",{className:"flex flex-col items-center gap-6 py-8",children:[(0,o.jsx)("div",{className:"w-32 h-32 rounded-2xl flex items-center justify-center",style:{background:"linear-gradient(135deg, #f59e0b20, #f59e0b10)",border:"1px solid #f59e0b30"},children:(0,o.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"#f59e0b",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,o.jsx)("circle",{cx:"18",cy:"16",r:"3"})]})}),(0,o.jsx)("p",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:r}),(0,o.jsx)("audio",{src:t,controls:!0,className:"w-full max-w-md"})]})}function oy(e){let{url:t}=e;return(0,o.jsx)("div",{className:"w-full h-full flex flex-col",children:(0,o.jsx)("iframe",{src:t,className:"w-full flex-1 rounded-xl border",style:{borderColor:"var(--color-border)",minHeight:"calc(100vh - 220px)",background:"white"},title:"PDF viewer"})})}function ob(e){let{mediaType:t}=e,r=op(t);switch(t){case"image":return(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}),(0,o.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,o.jsx)("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]});case"video":return(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"}),(0,o.jsx)("rect",{x:"2",y:"6",width:"14",height:"12",rx:"2"})]});case"audio":return(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,o.jsx)("circle",{cx:"18",cy:"16",r:"3"})]});case"pdf":return(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),(0,o.jsx)("path",{d:"M10 9H8"}),(0,o.jsx)("path",{d:"M16 13H8"}),(0,o.jsx)("path",{d:"M16 17H8"})]})}}function oj(e){let{size:t=16}=e;return(0,o.jsxs)("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),(0,o.jsx)("path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}),(0,o.jsx)("path",{d:"M3 12A9 3 0 0 0 21 12"})]})}function ok(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3v18"}),(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M3 9h18"}),(0,o.jsx)("path",{d:"M3 15h18"})]})}function ow(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z"}),(0,o.jsx)("circle",{cx:"12",cy:"12",r:"3"})]})}function oN(){return(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("circle",{cx:"12",cy:"12",r:"1"})})}function oC(){return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("polygon",{points:"6 3 20 12 6 21 6 3"})})}function oS(e){let{direction:t}=e;return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:"left"===t?(0,o.jsx)("path",{d:"m15 18-6-6 6-6"}):(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})}function oL(e){let{active:t,direction:r}=e;return(0,o.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:t?1:.25},children:"asc"===r?(0,o.jsx)("path",{d:"m5 12 7-7 7 7"}):(0,o.jsx)("path",{d:"m19 12-7 7-7-7"})})}function oM(e){return null==e?"":"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):""}function oT(e){let t=e.toUpperCase();return t.includes("INT")||t.includes("BIGINT")||t.includes("SMALLINT")||t.includes("TINYINT")||t.includes("HUGEINT")?{label:"int",color:"#c084fc"}:t.includes("FLOAT")||t.includes("DOUBLE")||t.includes("DECIMAL")||t.includes("NUMERIC")||t.includes("REAL")?{label:"float",color:"#c084fc"}:t.includes("BOOL")?{label:"bool",color:"#f59e0b"}:t.includes("VARCHAR")||t.includes("TEXT")||t.includes("STRING")||t.includes("CHAR")||"UUID"===t||"BLOB"===t?{label:t.includes("UUID")?"uuid":"text",color:"#22c55e"}:t.includes("TIMESTAMP")||t.includes("DATETIME")?{label:"timestamp",color:"#60a5fa"}:t.includes("DATE")?{label:"date",color:"#60a5fa"}:t.includes("TIME")?{label:"time",color:"#60a5fa"}:t.includes("JSON")?{label:"json",color:"#fb923c"}:{label:e.toLowerCase(),color:"var(--color-text-muted)"}}function oE(){return(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-5 p-8",children:[(0,o.jsx)("div",{className:"w-16 h-16 rounded-2xl flex items-center justify-center",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-sm)"},children:(0,o.jsx)(oj,{size:32})}),(0,o.jsxs)("div",{className:"text-center max-w-sm",children:[(0,o.jsx)("h3",{className:"text-sm font-medium mb-1",style:{color:"var(--color-text)"},children:"DuckDB is not installed"}),(0,o.jsx)("p",{className:"text-xs leading-relaxed",style:{color:"var(--color-text-muted)"},children:"The DuckDB CLI is required to view database files and workspace data. Click below to install it automatically."})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>{window.location.href="/workspace?send="+encodeURIComponent("install duckdb")},className:"flex items-center gap-2 px-4 py-2 rounded-lg text-sm font-medium transition-colors cursor-pointer",style:{background:"var(--color-accent)",color:"white"},children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,o.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,o.jsx)("line",{x1:"12",x2:"12",y1:"15",y2:"3"})]}),"Install DuckDB"]})]})}function oW(e){let{dbPath:t,filename:r}=e,[n,a]=(0,l.useState)([]),[s,i]=(0,l.useState)(!0),[c,d]=(0,l.useState)(null),[u,x]=(0,l.useState)(!0),[h,p]=(0,l.useState)(null),[m,f]=(0,l.useState)([]),[v,g]=(0,l.useState)(!1),[y,b]=(0,l.useState)(null),[j,k]=(0,l.useState)(0),[w,N]=(0,l.useState)(!1),[C,S]=(0,l.useState)(""),[L,M]=(0,l.useState)(null),[T,E]=(0,l.useState)(null),[W,R]=(0,l.useState)(!1),[D,I]=(0,l.useState)(!1);(0,l.useEffect)(()=>{let e=!1;return async function(){i(!0),d(null);try{let l=await fetch("/api/workspace/db/introspect?path=".concat(encodeURIComponent(t)));if(!l.ok){let e=await l.json().catch(()=>({}));throw Error(e.error||"HTTP ".concat(l.status))}let n=await l.json();if(!e)if(!1===n.duckdb_available)x(!1);else{var r,o;a(null!=(o=n.tables)?o:[]),(null==(r=n.tables)?void 0:r.length)>0&&p(n.tables[0].table_name)}}catch(t){e||d(t instanceof Error?t.message:"Failed to introspect database")}finally{e||i(!1)}}(),()=>{e=!0}},[t]);let B=(0,l.useCallback)(async(e,r)=>{g(!0);try{var o;let l=e.replace(/"/g,'""'),n='SELECT * FROM "'.concat(l,'" LIMIT ').concat(100," OFFSET ").concat(r),a=await fetch("/api/workspace/db/query",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t,sql:n})});if(!a.ok)return void f([]);let s=await a.json();f(null!=(o=s.rows)?o:[])}catch(e){f([])}finally{g(!1)}},[t]);(0,l.useEffect)(()=>{h&&(b(null),B(h,100*j))},[h,j,B]);let F=(0,l.useCallback)(async()=>{if(C.trim()){R(!0),E(null),M(null);try{let r=await fetch("/api/workspace/db/query",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t,sql:C})}),o=await r.json();if(r.ok){var e;M(null!=(e=o.rows)?e:[])}else E(o.error||"HTTP ".concat(r.status))}catch(e){E(e instanceof Error?e.message:"Query failed")}finally{R(!1)}}},[t,C]),_=(0,l.useMemo)(()=>{var e;return null!=(e=n.find(e=>e.table_name===h))?e:null},[n,h]),P=(0,l.useMemo)(()=>{let e=w&&L?L:m;return y?[...e].toSorted((e,t)=>{let r=oM(e[y.column]),o=oM(t[y.column]),l=r.localeCompare(o,void 0,{numeric:!0});return"asc"===y.direction?l:-l}):e},[w,L,m,y]),A=e=>{b(t=>(null==t?void 0:t.column)===e?"asc"===t.direction?{column:e,direction:"desc"}:null:{column:e,direction:"asc"})},z=(0,l.useMemo)(()=>{let e=w&&L?L:m;return 0===e.length?[]:Object.keys(e[0])},[w,L,m]),O=(0,l.useMemo)(()=>{var e;let t=null==(e=r.split(".").pop())?void 0:e.toLowerCase();return"duckdb"===t?"DuckDB":"sqlite"===t||"sqlite3"===t?"SQLite":"postgres"===t?"PostgreSQL":"Database"},[r]);return s?(0,o.jsxs)("div",{className:"flex items-center justify-center h-full gap-3",children:[(0,o.jsx)("div",{className:"w-5 h-5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Loading database..."})]}):c?(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4 p-8",children:[(0,o.jsx)(oj,{size:48}),(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Failed to open database"}),(0,o.jsx)("p",{className:"text-xs px-3 py-2 rounded-lg max-w-md text-center",style:{background:"var(--color-surface)",color:"#f87171"},children:c})]}):u?(0,o.jsxs)("div",{className:"flex h-full",children:[(0,o.jsxs)("div",{className:"w-56 flex-shrink-0 border-r flex flex-col overflow-hidden",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsxs)("div",{className:"px-3 py-3 border-b flex items-center gap-2",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("span",{style:{color:"var(--color-accent)"},children:(0,o.jsx)(oj,{size:18})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)("div",{className:"text-xs font-medium truncate",style:{color:"var(--color-text)"},children:r}),(0,o.jsxs)("div",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:[O," \xb7 ",n.length," table",1!==n.length?"s":""]})]})]}),(0,o.jsx)("div",{className:"flex-1 overflow-y-auto py-1",children:0===n.length?(0,o.jsx)("div",{className:"px-3 py-6 text-center text-xs",style:{color:"var(--color-text-muted)"},children:"No tables found"}):n.map(e=>{var t;let r=e.table_name.startsWith("v_"),l=h===e.table_name;return(0,o.jsxs)("button",{type:"button",onClick:()=>{p(e.table_name),k(0),N(!1)},className:"w-full flex items-center gap-2 px-3 py-1.5 text-left text-xs transition-colors duration-75 cursor-pointer",style:{background:l?"var(--color-surface-hover)":"transparent",color:l?"var(--color-text)":"var(--color-text-muted)"},onMouseEnter:e=>{l||(e.currentTarget.style.background="var(--color-surface-hover)")},onMouseLeave:e=>{l||(e.currentTarget.style.background="transparent")},children:[(0,o.jsx)("span",{className:"flex-shrink-0",style:{color:r?"#60a5fa":"var(--color-accent)"},children:r?(0,o.jsx)(ow,{}):(0,o.jsx)(ok,{})}),(0,o.jsx)("span",{className:"truncate flex-1",children:e.table_name}),(0,o.jsx)("span",{className:"flex-shrink-0 text-[10px] tabular-nums",style:{color:"var(--color-text-muted)"},children:(t=e.estimated_row_count)>=1e6?"".concat((t/1e6).toFixed(1),"M"):t>=1e3?"".concat((t/1e3).toFixed(1),"K"):String(t)})]},e.table_name)})}),(0,o.jsx)("div",{className:"px-3 py-2 border-t",style:{borderColor:"var(--color-border)"},children:(0,o.jsxs)("button",{type:"button",onClick:()=>N(!w),className:"w-full flex items-center justify-center gap-1.5 py-1.5 rounded-md text-xs font-medium transition-colors duration-100 cursor-pointer",style:{background:w?"var(--color-accent-light)":"var(--color-surface-hover)",color:w?"var(--color-accent)":"var(--color-text-muted)",border:"1px solid ".concat(w?"var(--color-accent)":"var(--color-border)")},children:[(0,o.jsx)(oC,{}),"SQL Query"]})})]}),(0,o.jsx)("div",{className:"flex-1 flex flex-col min-w-0 overflow-hidden",children:w?(0,o.jsx)(oD,{sqlInput:C,setSqlInput:S,queryResult:L,queryError:T,queryRunning:W,runQuery:F,dataColumns:z,sortedData:P,sort:y,onSort:A}):_?(0,o.jsx)(oR,{table:_,data:P,dataLoading:v,dataColumns:z,sort:y,onSort:A,page:j,pageSize:100,onPageChange:k,showSchema:D,onToggleSchema:()=>I(!D)}):(0,o.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Select a table to view its data"})})})]}):(0,o.jsx)(oE,{})}function oR(e){let{table:t,data:r,dataLoading:l,dataColumns:n,sort:a,onSort:s,page:i,pageSize:c,onPageChange:d,showSchema:u,onToggleSchema:x}=e,h=t.estimated_row_count,p=Math.max(1,Math.ceil(h/c));return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2.5 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("span",{style:{color:"var(--color-accent)"},children:(0,o.jsx)(ok,{})}),(0,o.jsx)("span",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:t.table_name}),(0,o.jsxs)("div",{className:"flex items-center gap-2 ml-auto",children:[(0,o.jsxs)("span",{className:"text-[10px] px-2 py-0.5 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[t.estimated_row_count.toLocaleString()," rows"]}),(0,o.jsxs)("span",{className:"text-[10px] px-2 py-0.5 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[t.column_count," columns"]}),(0,o.jsx)("button",{type:"button",onClick:x,className:"text-[10px] px-2 py-0.5 rounded-full cursor-pointer transition-colors duration-100",style:{background:u?"rgba(96, 165, 250, 0.15)":"var(--color-surface)",color:u?"#60a5fa":"var(--color-text-muted)",border:"1px solid ".concat(u?"#60a5fa":"var(--color-border)")},children:"Schema"})]})]}),u&&(0,o.jsx)("div",{className:"px-4 py-3 border-b overflow-x-auto flex-shrink-0",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:(0,o.jsx)("div",{className:"flex flex-wrap gap-x-6 gap-y-1.5",children:t.columns.map(e=>{let t=oT(e.type);return(0,o.jsxs)("div",{className:"flex items-center gap-1.5 text-xs",children:[(0,o.jsx)("span",{style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(oN,{})}),(0,o.jsx)("span",{className:"font-medium",style:{color:"var(--color-text)"},children:e.name}),(0,o.jsx)("span",{className:"px-1 py-px rounded text-[10px]",style:{background:"".concat(t.color,"18"),color:t.color},children:t.label}),e.is_nullable&&(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)",opacity:.5},children:"null"})]},e.name)})})}),(0,o.jsx)("div",{className:"flex-1 overflow-auto relative",children:l?(0,o.jsx)("div",{className:"flex items-center justify-center h-32",children:(0,o.jsx)("div",{className:"w-5 h-5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})}):0===r.length?(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-2",children:[(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.4},children:(0,o.jsx)(ok,{})}),(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"No data"})]}):(0,o.jsx)(oI,{columns:n,rows:r,sort:a,onSort:s,schemaColumns:t.columns})}),h>c&&(0,o.jsxs)("div",{className:"flex items-center justify-between px-4 py-2 border-t flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:["Page ",i+1," of ",p]}),(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsx)("button",{type:"button",disabled:0===i,onClick:()=>d(i-1),className:"p-1 rounded transition-colors duration-100 cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(oS,{direction:"left"})}),(0,o.jsx)("button",{type:"button",disabled:i>=p-1,onClick:()=>d(i+1),className:"p-1 rounded transition-colors duration-100 cursor-pointer disabled:opacity-30 disabled:cursor-not-allowed",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(oS,{direction:"right"})})]})]})]})}function oD(e){let{sqlInput:t,setSqlInput:r,queryResult:l,queryError:n,queryRunning:a,runQuery:s,dataColumns:i,sortedData:c,sort:d,onSort:u}=e;return(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsx)("div",{className:"px-4 py-3 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:(0,o.jsxs)("div",{className:"flex items-start gap-2",children:[(0,o.jsxs)("div",{className:"flex-1",children:[(0,o.jsx)("textarea",{value:t,onChange:e=>r(e.target.value),placeholder:"SELECT * FROM table_name LIMIT 100",className:"w-full text-xs rounded-lg px-3 py-2 resize-none outline-none",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)",fontFamily:"'SF Mono', 'Fira Code', 'JetBrains Mono', monospace",minHeight:"60px"},onKeyDown:e=>{(e.metaKey||e.ctrlKey)&&"Enter"===e.key&&(e.preventDefault(),s())}}),(0,o.jsx)("div",{className:"text-[10px] mt-1",style:{color:"var(--color-text-muted)"},children:"Press Cmd+Enter to run"})]}),(0,o.jsxs)("button",{type:"button",onClick:s,disabled:a||!t.trim(),className:"flex items-center gap-1.5 px-3 py-2 rounded-lg text-xs font-medium transition-colors duration-100 cursor-pointer disabled:opacity-40 disabled:cursor-not-allowed",style:{background:"var(--color-accent)",color:"white"},children:[a?(0,o.jsx)("div",{className:"w-3.5 h-3.5 border-2 rounded-full animate-spin",style:{borderColor:"rgba(255,255,255,0.3)",borderTopColor:"white"}}):(0,o.jsx)(oC,{}),"Run"]})]})}),(0,o.jsxs)("div",{className:"flex-1 overflow-auto",children:[n&&(0,o.jsx)("div",{className:"px-4 py-3",children:(0,o.jsx)("div",{className:"px-3 py-2 rounded-lg text-xs",style:{background:"rgba(248, 113, 113, 0.1)",color:"#f87171",border:"1px solid rgba(248, 113, 113, 0.2)"},children:n})}),null!==l&&0===l.length&&!n&&(0,o.jsx)("div",{className:"flex items-center justify-center py-12",children:(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Query returned no results"})}),null!==l&&l.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"px-4 py-1.5",children:(0,o.jsxs)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:[l.length," row",1!==l.length?"s":""]})}),(0,o.jsx)(oI,{columns:i,rows:c,sort:d,onSort:u})]}),null===l&&!n&&(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 gap-3",children:[(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.3},children:(0,o.jsx)(oC,{})}),(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Write a SQL query and press Run"})]})]})]})}function oI(e){let{columns:t,rows:r,sort:l,onSort:n,schemaColumns:a}=e;return(0,o.jsxs)("table",{className:"w-full text-xs",style:{borderCollapse:"separate",borderSpacing:0},children:[(0,o.jsx)("thead",{children:(0,o.jsxs)("tr",{children:[(0,o.jsx)("th",{className:"text-right px-2 py-2 font-normal whitespace-nowrap border-b sticky top-0 z-[1]",style:{color:"var(--color-text-muted)",borderColor:"var(--color-border)",background:"var(--color-surface)",width:"2.5rem",opacity:.5},children:"#"}),t.map(e=>{let t=null==a?void 0:a.find(t=>t.name===e),r=t?oT(t.type):null;return(0,o.jsx)("th",{className:"text-left px-3 py-2 font-medium whitespace-nowrap border-b cursor-pointer select-none sticky top-0 z-[1]",style:{color:"var(--color-text-muted)",borderColor:"var(--color-border)",background:"var(--color-surface)"},onClick:()=>n(e),children:(0,o.jsxs)("span",{className:"flex items-center gap-1",children:[e,r&&(0,o.jsx)("span",{className:"text-[9px] px-1 rounded",style:{color:r.color,opacity:.6},children:r.label}),(0,o.jsx)(oL,{active:(null==l?void 0:l.column)===e,direction:(null==l?void 0:l.column)===e?l.direction:"asc"})]})},e)})]})}),(0,o.jsx)("tbody",{children:r.map((e,r)=>(0,o.jsxs)("tr",{className:"transition-colors duration-75 group",style:{background:r%2==0?"transparent":"var(--color-surface)"},onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background=r%2==0?"transparent":"var(--color-surface)"},children:[(0,o.jsx)("td",{className:"text-right px-2 py-1.5 border-b tabular-nums",style:{color:"var(--color-text-muted)",borderColor:"var(--color-border)",opacity:.4},children:r+1}),t.map(t=>(0,o.jsx)("td",{className:"px-3 py-1.5 border-b whitespace-nowrap",style:{borderColor:"var(--color-border)",color:"var(--color-text)"},children:(0,o.jsx)(oB,{value:e[t]})},t))]},r))})]})}function oB(e){let{value:t}=e;if(null==t)return(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.4,fontStyle:"italic"},children:"null"});if("boolean"==typeof t)return(0,o.jsx)("span",{style:{color:t?"#22c55e":"#f87171"},children:t?"true":"false"});if("number"==typeof t)return(0,o.jsx)("span",{className:"tabular-nums",children:t});let r=oM(t);return r.length>120?(0,o.jsxs)("span",{title:r,className:"cursor-help",children:[r.slice(0,120),(0,o.jsx)("span",{style:{color:"var(--color-text-muted)"},children:"..."})]}):(0,o.jsx)("span",{children:r})}var oF=r(69176),o_=r(87131),oP=r(22856),oA=r(3087),oz=r(86233),oO=r(79919),oU=r(34872),oH=r(8466),oV=r(83879),oK=r(14273),oJ=r(54602),oq=r(95107),oG=r(95573),o$=r(75643),oZ=r(97199),oQ=r(52454),oY=r(47697),oX=r(45679),o0=r(47325),o1=r(68996),o2=r(77704);function o4(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return"docx"===o||"doc"===o}function o5(e){var t;return(null==(t=e.split(".").pop())?void 0:t.toLowerCase())==="txt"}function o6(e){return e.trim()?e.split("\n").map(e=>"<p>".concat(e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")||"<br>","</p>")).join(""):"<p></p>"}function o3(e){var t,n,a,s,i,c;let{mode:d,initialHtml:u,filePath:x,onSave:h,compact:p}=e,[m,f]=(0,l.useState)(!1),[v,g]=(0,l.useState)("idle"),[y,b]=(0,l.useState)(!1),j=(0,l.useRef)(null),k=(0,l.useRef)(null),w=null!=(s=x.split("/").pop())?s:x,N="txt"===d,C=(0,oF.hG)({extensions:[oP.A.configure({codeBlock:{HTMLAttributes:{class:"code-block"}}}),oG.A,oX.A,o0.A,oZ.xJ,oQ.A,oY.Ay.configure({multicolor:!0}),o$.A.configure({types:["heading","paragraph"]}),oA.Ay.configure({inline:!1,allowBase64:!0,HTMLAttributes:{class:"editor-image"}}),oz.Ay.configure({openOnClick:!1,autolink:!0,HTMLAttributes:{class:"editor-link",rel:"noopener"}}),oO.XI.configure({resizable:!1}),oU.A,oH.A,oV.h,oK.A,oJ.A.configure({nested:!0}),oq.A.configure({placeholder:N?"Start typing...":"Start writing your document..."}),o1.A],content:u,immediatelyRender:!1,onUpdate:()=>{b(!0),g("idle")}}),S=(0,l.useCallback)(async e=>{let t=new FormData;t.append("file",e);try{let e=await fetch("/api/workspace/upload",{method:"POST",body:t});if(!e.ok)return null;let r=await e.json();return"/api/workspace/assets/".concat(r.path.replace(/^assets\//,""))}catch(e){return null}},[]),L=(0,l.useCallback)(async e=>{if(C)for(let t of e){let e=await S(t);e&&C.chain().focus().setImage({src:e,alt:t.name}).run()}},[C,S]);(0,l.useEffect)(()=>{if(!C)return;let e=C.view.dom,t=e=>{var t,r;if(!(null==(r=e.dataTransfer)||null==(t=r.files)?void 0:t.length))return;let o=Array.from(e.dataTransfer.files).filter(e=>e.type.startsWith("image/"));0!==o.length&&(e.preventDefault(),e.stopPropagation(),L(o))},r=e=>{var t,r;(null==(r=e.dataTransfer)||null==(t=r.types)?void 0:t.includes("Files"))&&e.preventDefault()},o=e=>{if(!e.clipboardData)return;let t=Array.from(e.clipboardData.files).filter(e=>e.type.startsWith("image/"));t.length>0&&(e.preventDefault(),e.stopPropagation(),L(t))};return e.addEventListener("drop",t),e.addEventListener("dragover",r),e.addEventListener("paste",o),()=>{e.removeEventListener("drop",t),e.removeEventListener("dragover",r),e.removeEventListener("paste",o)}},[C,L]);let M=(0,l.useCallback)(async()=>{if(C&&!m){f(!0),g("idle");try{if(N){let e=C.getText();if(!(await fetch("/api/workspace/file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:x,content:e})})).ok)throw Error("Save failed")}else{let e=C.getHTML(),{default:t}=await Promise.all([r.e(515),r.e(8732),r.e(5360),r.e(2457),r.e(4062)]).then(r.bind(r,77373)),o=await t(e,void 0,{table:{row:{cantSplit:!0}},footer:!0,pageNumber:!0}),l=new FormData;if(l.append("file",o),l.append("path",x),!(await fetch("/api/workspace/write-binary",{method:"POST",body:l})).ok)throw Error("Save failed")}g("saved"),b(!1),null==h||h(),j.current&&clearTimeout(j.current),j.current=setTimeout(()=>g("idle"),2e3)}catch(e){g("error")}finally{f(!1)}}},[C,x,m,N,h]);if((0,l.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"s"===e.key&&(e.preventDefault(),M())};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[M]),!C)return(0,o.jsxs)("div",{className:"animate-pulse space-y-3 py-4 px-6",children:[(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"80%"}}),(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"60%"}}),(0,o.jsx)("div",{className:"h-4 rounded",style:{background:"var(--color-surface)",width:"70%"}})]});let T=null!=(i=null==(t=C.storage.characterCount)?void 0:t.words())?i:0,E=null!=(c=null==(n=C.storage.characterCount)?void 0:n.characters())?c:0;return(0,o.jsxs)("div",{className:"rich-doc-editor ".concat(p?"rich-doc-editor--compact":""),children:[(0,o.jsxs)("div",{className:"rich-doc-topbar",children:[(0,o.jsxs)("div",{className:"rich-doc-topbar-left",children:[(0,o.jsx)(lb,{mode:d}),(0,o.jsx)("span",{className:"rich-doc-filename",children:w}),y&&(0,o.jsx)("span",{className:"editor-save-indicator editor-save-unsaved",children:"Unsaved changes"}),"saved"===v&&!y&&(0,o.jsx)("span",{className:"editor-save-indicator editor-save-saved",children:"Saved"}),"error"===v&&(0,o.jsx)("span",{className:"editor-save-indicator editor-save-error",children:"Save failed"})]}),(0,o.jsxs)("div",{className:"rich-doc-topbar-right",children:[(0,o.jsxs)("span",{className:"editor-save-hint",children:["undefined"!=typeof navigator&&(null==(a=navigator.platform)?void 0:a.includes("Mac"))?"⌘":"Ctrl","+S"]}),(0,o.jsx)("button",{type:"button",onClick:()=>void M(),disabled:m||!y,className:"editor-save-button",children:m?"Saving...":"Save"})]})]}),!N&&(0,o.jsx)(o8,{editor:C,onUploadImages:L,imageInputRef:k}),N&&!p&&(0,o.jsxs)("div",{className:"editor-toolbar rich-doc-toolbar-minimal",children:[(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:!1,onClick:()=>C.chain().focus().undo().run(),title:"Undo",disabled:!C.can().undo(),children:(0,o.jsx)(lr,{})}),(0,o.jsx)(o2.IB,{active:!1,onClick:()=>C.chain().focus().redo().run(),title:"Redo",disabled:!C.can().redo(),children:(0,o.jsx)(lo,{})})]}),(0,o.jsx)("div",{className:"flex-1"}),(0,o.jsx)("span",{className:"rich-doc-txt-hint",children:"Plain text — formatting not preserved on save"})]}),!N&&(0,o.jsx)(o_.m,{editor:C,children:(0,o.jsxs)("div",{className:"bubble-menu",children:[(0,o.jsx)(o2.zM,{active:C.isActive("bold"),onClick:()=>C.chain().focus().toggleBold().run(),title:"Bold",children:(0,o.jsx)("strong",{children:"B"})}),(0,o.jsx)(o2.zM,{active:C.isActive("italic"),onClick:()=>C.chain().focus().toggleItalic().run(),title:"Italic",children:(0,o.jsx)("em",{children:"I"})}),(0,o.jsx)(o2.zM,{active:C.isActive("underline"),onClick:()=>C.chain().focus().toggleUnderline().run(),title:"Underline",children:(0,o.jsx)("span",{style:{textDecoration:"underline"},children:"U"})}),(0,o.jsx)(o2.zM,{active:C.isActive("strike"),onClick:()=>C.chain().focus().toggleStrike().run(),title:"Strikethrough",children:(0,o.jsx)("s",{children:"S"})}),(0,o.jsx)(o2.zM,{active:C.isActive("code"),onClick:()=>C.chain().focus().toggleCode().run(),title:"Inline code",children:"<>"}),(0,o.jsx)(o2.zM,{active:C.isActive("link"),onClick:()=>{if(C.isActive("link"))C.chain().focus().unsetLink().run();else{let e=window.prompt("URL:");e&&C.chain().focus().setLink({href:e}).run()}},title:"Link",children:(0,o.jsx)(lp,{size:14})})]})}),(0,o.jsx)("div",{className:"rich-doc-scroll",children:(0,o.jsx)("div",{className:"rich-doc-page ".concat(N?"rich-doc-page--txt":""),children:(0,o.jsx)(oF.$Z,{editor:C})})}),!p&&(0,o.jsxs)("div",{className:"rich-doc-statusbar",children:[(0,o.jsxs)("span",{children:[T.toLocaleString()," word",1!==T?"s":""]}),(0,o.jsx)("span",{className:"rich-doc-statusbar-sep"}),(0,o.jsxs)("span",{children:[E.toLocaleString()," character",1!==E?"s":""]}),(0,o.jsx)("div",{className:"flex-1"}),(0,o.jsx)("span",{className:"rich-doc-statusbar-mode",children:"docx"===d?"DOCX":"TXT"})]}),(0,o.jsx)("input",{ref:k,type:"file",accept:"image/*",multiple:!0,className:"hidden",onChange:e=>{var t;let r=Array.from(null!=(t=e.target.files)?t:[]);r.length>0&&L(r),e.target.value=""}})]})}function o8(e){var t;let{editor:r,onUploadImages:n,imageInputRef:a}=e,[s,i]=(0,l.useState)(!1),[c,d]=(0,l.useState)(!1),u=(0,l.useRef)(null),x=(0,l.useRef)(null);return(0,l.useEffect)(()=>{let e=e=>{u.current&&!u.current.contains(e.target)&&i(!1),x.current&&!x.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]),(0,o.jsxs)("div",{className:"editor-toolbar rich-doc-toolbar",children:[(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:!1,onClick:()=>r.chain().focus().undo().run(),title:"Undo",disabled:!r.can().undo(),children:(0,o.jsx)(lr,{})}),(0,o.jsx)(o2.IB,{active:!1,onClick:()=>r.chain().focus().redo().run(),title:"Redo",disabled:!r.can().redo(),children:(0,o.jsx)(lo,{})})]}),(0,o.jsx)(o2.x_,{}),(0,o.jsx)(o2.$Q,{children:(0,o.jsx)(o9,{editor:r})}),(0,o.jsx)(o2.x_,{}),(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:r.isActive("bold"),onClick:()=>r.chain().focus().toggleBold().run(),title:"Bold (Cmd+B)",children:(0,o.jsx)("strong",{children:"B"})}),(0,o.jsx)(o2.IB,{active:r.isActive("italic"),onClick:()=>r.chain().focus().toggleItalic().run(),title:"Italic (Cmd+I)",children:(0,o.jsx)("em",{children:"I"})}),(0,o.jsx)(o2.IB,{active:r.isActive("underline"),onClick:()=>r.chain().focus().toggleUnderline().run(),title:"Underline (Cmd+U)",children:(0,o.jsx)("span",{style:{textDecoration:"underline"},children:"U"})}),(0,o.jsx)(o2.IB,{active:r.isActive("strike"),onClick:()=>r.chain().focus().toggleStrike().run(),title:"Strikethrough",children:(0,o.jsx)("s",{children:"S"})}),(0,o.jsx)(o2.IB,{active:r.isActive("superscript"),onClick:()=>r.chain().focus().toggleSuperscript().run(),title:"Superscript",children:(0,o.jsxs)("span",{children:["X",(0,o.jsx)("sup",{style:{fontSize:"0.6em"},children:"2"})]})}),(0,o.jsx)(o2.IB,{active:r.isActive("subscript"),onClick:()=>r.chain().focus().toggleSubscript().run(),title:"Subscript",children:(0,o.jsxs)("span",{children:["X",(0,o.jsx)("sub",{style:{fontSize:"0.6em"},children:"2"})]})})]}),(0,o.jsx)(o2.x_,{}),(0,o.jsxs)(o2.$Q,{children:[(0,o.jsxs)("div",{className:"relative",ref:u,children:[(0,o.jsx)(o2.IB,{active:s,onClick:()=>{i(!s),d(!1)},title:"Text color",children:(0,o.jsx)(lg,{color:null!=(t=r.getAttributes("textStyle").color)?t:"currentColor"})}),s&&(0,o.jsx)(lt,{onSelect:e=>{e?r.chain().focus().setColor(e).run():r.chain().focus().unsetColor().run(),i(!1)}})]}),(0,o.jsxs)("div",{className:"relative",ref:x,children:[(0,o.jsx)(o2.IB,{active:c,onClick:()=>{d(!c),i(!1)},title:"Highlight color",children:(0,o.jsx)(ly,{})}),c&&(0,o.jsx)(lt,{onSelect:e=>{e?r.chain().focus().toggleHighlight({color:e}).run():r.chain().focus().unsetHighlight().run(),d(!1)}})]})]}),(0,o.jsx)(o2.x_,{}),(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:r.isActive({textAlign:"left"}),onClick:()=>r.chain().focus().setTextAlign("left").run(),title:"Align left",children:(0,o.jsx)(ll,{})}),(0,o.jsx)(o2.IB,{active:r.isActive({textAlign:"center"}),onClick:()=>r.chain().focus().setTextAlign("center").run(),title:"Align center",children:(0,o.jsx)(ln,{})}),(0,o.jsx)(o2.IB,{active:r.isActive({textAlign:"right"}),onClick:()=>r.chain().focus().setTextAlign("right").run(),title:"Align right",children:(0,o.jsx)(la,{})}),(0,o.jsx)(o2.IB,{active:r.isActive({textAlign:"justify"}),onClick:()=>r.chain().focus().setTextAlign("justify").run(),title:"Justify",children:(0,o.jsx)(ls,{})})]}),(0,o.jsx)(o2.x_,{}),(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:r.isActive("bulletList"),onClick:()=>r.chain().focus().toggleBulletList().run(),title:"Bullet list",children:(0,o.jsx)(li,{})}),(0,o.jsx)(o2.IB,{active:r.isActive("orderedList"),onClick:()=>r.chain().focus().toggleOrderedList().run(),title:"Ordered list",children:(0,o.jsx)(lc,{})}),(0,o.jsx)(o2.IB,{active:r.isActive("taskList"),onClick:()=>r.chain().focus().toggleTaskList().run(),title:"Task list",children:(0,o.jsx)(ld,{})})]}),(0,o.jsx)(o2.x_,{}),(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:r.isActive("blockquote"),onClick:()=>r.chain().focus().toggleBlockquote().run(),title:"Blockquote",children:(0,o.jsx)(lu,{})}),(0,o.jsx)(o2.IB,{active:r.isActive("codeBlock"),onClick:()=>r.chain().focus().toggleCodeBlock().run(),title:"Code block",children:(0,o.jsx)(lx,{})}),(0,o.jsx)(o2.IB,{active:!1,onClick:()=>r.chain().focus().setHorizontalRule().run(),title:"Horizontal rule",children:(0,o.jsx)(lh,{})})]}),(0,o.jsx)(o2.x_,{}),(0,o.jsxs)(o2.$Q,{children:[(0,o.jsx)(o2.IB,{active:r.isActive("link"),onClick:()=>{if(r.isActive("link"))r.chain().focus().unsetLink().run();else{let e=window.prompt("Link URL:");e&&r.chain().focus().setLink({href:e}).run()}},title:"Insert link",children:(0,o.jsx)(lp,{})}),(0,o.jsx)(o2.IB,{active:!1,onClick:()=>{if(n){var e;null==(e=a.current)||e.click()}else{let e=window.prompt("Image URL:");e&&r.chain().focus().setImage({src:e}).run()}},title:"Insert image",children:(0,o.jsx)(lm,{})}),(0,o.jsx)(o2.IB,{active:!1,onClick:()=>r.chain().focus().insertTable({rows:3,cols:3,withHeaderRow:!0}).run(),title:"Insert table",children:(0,o.jsx)(lf,{})})]})]})}let o7=[{label:"Normal text",level:0},{label:"Heading 1",level:1},{label:"Heading 2",level:2},{label:"Heading 3",level:3},{label:"Heading 4",level:4},{label:"Heading 5",level:5},{label:"Heading 6",level:6}];function o9(e){var t;let{editor:r}=e,[n,a]=(0,l.useState)(!1),s=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=e=>{s.current&&!s.current.contains(e.target)&&a(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[]);let i=null!=(t=o7.find(e=>e.level>0&&r.isActive("heading",{level:e.level})))?t:o7[0];return(0,o.jsxs)("div",{className:"relative",ref:s,children:[(0,o.jsxs)("button",{type:"button",className:"rich-doc-style-dropdown",onClick:()=>a(!n),title:"Paragraph style",children:[(0,o.jsx)("span",{children:i.label}),(0,o.jsx)(lv,{})]}),n&&(0,o.jsx)("div",{className:"rich-doc-style-menu",children:o7.map(e=>(0,o.jsx)("button",{type:"button",className:"rich-doc-style-option ".concat(e.level===i.level?"rich-doc-style-option--active":""),onClick:()=>{0===e.level?r.chain().focus().setParagraph().run():r.chain().focus().toggleHeading({level:e.level}).run(),a(!1)},children:(0,o.jsx)("span",{style:{fontSize:0===e.level?void 0:"".concat(Math.max(.75,1.4-.1*e.level),"rem"),fontWeight:e.level>0?600:400},children:e.label})},e.level))})]})}let le=[null,"#000000","#434343","#666666","#999999","#b7b7b7","#cccccc","#d9d9d9","#efefef","#ffffff","#980000","#ff0000","#ff9900","#ffff00","#00ff00","#00ffff","#4a86e8","#0000ff","#9900ff","#ff00ff","#e6b8af","#f4cccc","#fce5cd","#fff2cc","#d9ead3","#d0e0e3","#c9daf8","#cfe2f3","#d9d2e9","#ead1dc","#dd7e6b","#ea9999","#f9cb9c","#ffe599","#b6d7a8","#a2c4c9","#a4c2f4","#9fc5e8","#b4a7d6","#d5a6bd","#cc4125","#e06666","#f6b26b","#ffd966","#93c47d","#76a5af","#6d9eeb","#6fa8dc","#8e7cc3","#c27ba0"];function lt(e){let{onSelect:t}=e;return(0,o.jsx)("div",{className:"rich-doc-color-palette",children:le.map(e=>(0,o.jsx)("button",{type:"button",className:"rich-doc-color-swatch",style:{background:null!=e?e:"transparent",border:e?"1px solid var(--color-border)":"2px dashed var(--color-border)"},onClick:()=>t(e),title:null!=e?e:"Remove color",children:!e&&(0,o.jsx)("span",{style:{fontSize:"10px",color:"var(--color-text-muted)"},children:"\xd7"})},null!=e?e:"none"))})}function lr(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 7v6h6"}),(0,o.jsx)("path",{d:"M21 17a9 9 0 0 0-9-9 9 9 0 0 0-6 2.3L3 13"})]})}function lo(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 7v6h-6"}),(0,o.jsx)("path",{d:"M3 17a9 9 0 0 1 9-9 9 9 0 0 1 6 2.3L21 13"})]})}function ll(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"17",x2:"3",y1:"10",y2:"10"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"14",y2:"14"}),(0,o.jsx)("line",{x1:"17",x2:"3",y1:"18",y2:"18"})]})}function ln(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"18",x2:"6",y1:"10",y2:"10"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"14",y2:"14"}),(0,o.jsx)("line",{x1:"18",x2:"6",y1:"18",y2:"18"})]})}function la(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"21",x2:"7",y1:"10",y2:"10"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"14",y2:"14"}),(0,o.jsx)("line",{x1:"21",x2:"7",y1:"18",y2:"18"})]})}function ls(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"21",x2:"3",y1:"10",y2:"10"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"14",y2:"14"}),(0,o.jsx)("line",{x1:"21",x2:"3",y1:"18",y2:"18"})]})}function li(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"8",x2:"21",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"8",x2:"21",y1:"12",y2:"12"}),(0,o.jsx)("line",{x1:"8",x2:"21",y1:"18",y2:"18"}),(0,o.jsx)("line",{x1:"3",x2:"3.01",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"3",x2:"3.01",y1:"12",y2:"12"}),(0,o.jsx)("line",{x1:"3",x2:"3.01",y1:"18",y2:"18"})]})}function lc(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"10",x2:"21",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"10",x2:"21",y1:"12",y2:"12"}),(0,o.jsx)("line",{x1:"10",x2:"21",y1:"18",y2:"18"}),(0,o.jsx)("path",{d:"M4 6h1v4"}),(0,o.jsx)("path",{d:"M4 10h2"}),(0,o.jsx)("path",{d:"M6 18H4c0-1 2-2 2-3s-1-1.5-2-1"})]})}function ld(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{x:"3",y:"5",width:"6",height:"6",rx:"1"}),(0,o.jsx)("path",{d:"m3 17 2 2 4-4"}),(0,o.jsx)("line",{x1:"13",x2:"21",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"13",x2:"21",y1:"18",y2:"18"})]})}function lu(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V21z"}),(0,o.jsx)("path",{d:"M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3z"})]})}function lx(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"})]})}function lh(){return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("line",{x1:"2",x2:"22",y1:"12",y2:"12"})})}function lp(e){let{size:t=14}=e;return(0,o.jsxs)("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"}),(0,o.jsx)("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"})]})}function lm(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}),(0,o.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,o.jsx)("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]})}function lf(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3v18"}),(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M3 9h18"}),(0,o.jsx)("path",{d:"M3 15h18"})]})}function lv(){return(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m6 9 6 6 6-6"})})}function lg(e){let{color:t}=e;return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M4 20h16",stroke:t,strokeWidth:"3"}),(0,o.jsx)("path",{d:"m8.5 3 3.5 11 3.5-11"})]})}function ly(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m9 11-6 6v3h9l3-3"}),(0,o.jsx)("path",{d:"m22 12-4.6 4.6a2 2 0 0 1-2.8 0l-5.2-5.2a2 2 0 0 1 0-2.8L14 4"})]})}function lb(e){let{mode:t}=e;return"txt"===t?(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-text-muted)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("line",{x1:"8",x2:"16",y1:"13",y2:"13"}),(0,o.jsx)("line",{x1:"8",x2:"16",y1:"17",y2:"17"}),(0,o.jsx)("line",{x1:"8",x2:"10",y1:"9",y2:"9"})]}):(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"#2b579a",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("line",{x1:"8",x2:"16",y1:"13",y2:"13"}),(0,o.jsx)("line",{x1:"8",x2:"16",y1:"17",y2:"17"}),(0,o.jsx)("line",{x1:"8",x2:"10",y1:"9",y2:"9"})]})}function lj(e){let{path:t,onNavigate:r}=e,l=t.startsWith("/"),n=t.split("/").filter(Boolean);return(0,o.jsxs)("nav",{className:"flex items-center gap-1 text-xs md:text-sm py-2 overflow-x-auto min-w-0",children:[(0,o.jsx)("button",{type:"button",onClick:()=>r(""),className:"px-1.5 py-0.5 rounded transition-colors cursor-pointer",style:{color:"var(--color-text-muted)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--color-text)",e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--color-text-muted)",e.currentTarget.style.background="transparent"},children:"All Chats"}),n.map((e,t)=>{let a=(l?"/":"")+n.slice(0,t+1).join("/"),s=t===n.length-1;return(0,o.jsxs)("span",{className:"flex items-center gap-1",children:[(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--color-text-muted)",opacity:.4},children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})}),s?(0,o.jsx)("span",{className:"px-1.5 py-0.5",style:{color:"var(--color-text)"},children:e.replace(/\.md$/,"")}):(0,o.jsx)("button",{type:"button",onClick:()=>r(a),className:"px-1.5 py-0.5 rounded transition-colors cursor-pointer",style:{color:"var(--color-text-muted)"},onMouseEnter:e=>{e.currentTarget.style.color="var(--color-text)",e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.color="var(--color-text-muted)",e.currentTarget.style.background="transparent"},children:e})]},a)})]})}var lk=r(77223),lw=r(90461),lN=r(13170),lC=r(33668),lS=r(86998),lL=r(2183),lM=r(66862),lT=r(7589);function lE(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,lT.QP)((0,lM.$)(t))}function lW(e){let{...t}=e;return(0,o.jsx)(lk.i,{"data-slot":"dropdown-menu",...t})}function lR(e){let{className:t,...r}=e;return(0,o.jsx)(lw.c,{"data-slot":"dropdown-menu-trigger",className:lE("cursor-pointer outline-none ring-0 border-none",t),...r})}function lD(e){let{align:t="start",alignOffset:r=0,side:l="bottom",sideOffset:n=4,className:a,...s}=e;return(0,o.jsx)(lN.g,{children:(0,o.jsx)(lC.y,{className:"isolate z-[100] outline-none",align:t,alignOffset:r,side:l,sideOffset:n,children:(0,o.jsx)(lS._,{"data-slot":"dropdown-menu-content",className:lE("bg-neutral-100/[0.67] border border-white backdrop-blur-md text-[var(--color-text)] z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] overflow-x-hidden overflow-y-auto rounded-3xl p-1 shadow-[0_0_25px_0_rgba(0,0,0,0.16)] outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-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",a),...s})})})}function lI(e){let{className:t,inset:r,variant:l="default",onSelect:n,onClick:a,...s}=e;return(0,o.jsx)(lL.D,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":l,className:lE("bg-transparent hover:bg-neutral-400/15 text-sm transition-all relative flex cursor-pointer items-center gap-2 rounded-full px-2 py-1.5 outline-none ring-0 border-none select-none","data-[variant=destructive]:text-[var(--color-error)] data-[variant=destructive]:hover:bg-[var(--color-error)]/10 data-[variant=destructive]:hover:text-[var(--color-error)]",r&&"pl-8","[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4","data-disabled:pointer-events-none data-disabled:opacity-50",t),onClick:e=>{null==a||a(e),null==n||n()},...s})}function lB(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M5 12h14"}),(0,o.jsx)("path",{d:"M12 5v14"})]})}function lF(){return(0,o.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M16 3h5v5"}),(0,o.jsx)("path",{d:"m21 3-7 7"}),(0,o.jsx)("path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"})]})}function l_(){return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})}function lP(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,o.jsx)("circle",{cx:"5",cy:"12",r:"1"}),(0,o.jsx)("circle",{cx:"19",cy:"12",r:"1"})]})}function lA(e){let{sessions:t,activeSessionId:r,activeSessionTitle:n,streamingSessionIds:a,subagents:s,activeSubagentKey:i,onSelectSession:c,onNewSession:d,onSelectSubagent:u,onDeleteSession:x,onRenameSession:h,onCollapse:p,mobile:m,onClose:f,width:v,loading:g=!1}=e,[y,b]=(0,l.useState)(null),[j,k]=(0,l.useState)(null),[w,N]=(0,l.useState)(""),C=(0,l.useCallback)(e=>{c(e),null==f||f()},[c,f]),S=(0,l.useCallback)(e=>{null==u||u(e),null==f||f()},[u,f]),L=(0,l.useCallback)(e=>{null==x||x(e)},[x]),M=(0,l.useCallback)((e,t)=>{k(e),N(t||"")},[]),T=(0,l.useCallback)(()=>{j&&w.trim()&&(null==h||h(j,w.trim())),k(null),N("")},[j,w,h]),E=(0,l.useMemo)(()=>{let e=new Map;if(!s)return e;for(let t of s){let r=e.get(t.parentSessionId);r||(r=[],e.set(t.parentSessionId,r)),r.push(t)}return e},[s]),W=function(e){let t=new Date,r=new Date(t.getFullYear(),t.getMonth(),t.getDate()).getTime(),o=r-864e5,l=r-6048e5,n=r-2592e6,a=[],s=[],i=[],c=[],d=[];for(let t of e){let e=t.updatedAt;e>=r?a.push(t):e>=o?s.push(t):e>=l?i.push(t):e>=n?c.push(t):d.push(t)}let u=[];return a.length>0&&u.push({label:"Today",sessions:a}),s.length>0&&u.push({label:"Yesterday",sessions:s}),i.length>0&&u.push({label:"This Week",sessions:i}),c.length>0&&u.push({label:"This Month",sessions:c}),d.length>0&&u.push({label:"Older",sessions:d}),u}((0,l.useMemo)(()=>t.filter(e=>!e.id.includes(":subagent:")),[t])),R=m?"280px":null!=v?v:260,D=(0,o.jsx)("aside",{className:"flex flex-col h-full shrink-0 ".concat(m?"drawer-right":"border-l"),style:{width:"number"==typeof R?"".concat(R,"px"):R,minWidth:"number"==typeof R?"".concat(R,"px"):R,borderColor:"var(--color-border)",background:"var(--color-sidebar-bg)"},children:(0,o.jsxs)("div",{className:"flex-1 min-h-0 relative",children:[(0,o.jsx)("div",{className:"absolute inset-0 overflow-y-auto",style:{paddingTop:40},children:g&&0===t.length?(0,o.jsxs)("div",{className:"px-4 py-8 flex flex-col items-center justify-center min-h-[120px]",children:[(0,o.jsx)(q,{name:"braille",className:"text-xl mb-2",style:{color:"var(--color-text-muted)"}}),(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Loading…"})]}):0===t.length?(0,o.jsxs)("div",{className:"px-4 py-8 text-center",children:[(0,o.jsx)("div",{className:"mx-auto w-10 h-10 rounded-xl flex items-center justify-center mb-3",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:(0,o.jsx)(l_,{})}),(0,o.jsxs)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:["No conversations yet.",(0,o.jsx)("br",{}),"Start a new chat to begin."]})]}):(0,o.jsx)("div",{className:"px-2 py-1",children:W.map(e=>(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"px-2 pt-3 pb-1 text-[10px] font-medium uppercase tracking-wider",style:{color:"var(--color-text-muted)"},children:e.label}),e.sessions.map(e=>{var t;let l=e.id===r&&!i,n=e.id===y,s=null!=(t=null==a?void 0:a.has(e.id))&&t,c=E.get(e.id);return(0,o.jsxs)("div",{className:"group relative",onMouseEnter:()=>b(e.id),onMouseLeave:()=>b(null),children:[(0,o.jsxs)("div",{className:"flex items-stretch w-full rounded-lg",style:{background:l?"var(--color-chat-sidebar-active-bg)":n?"var(--color-surface-hover)":"transparent"},children:[j===e.id?(0,o.jsx)("form",{className:"flex-1 min-w-0 px-2 py-1.5",onSubmit:e=>{e.preventDefault(),T()},children:(0,o.jsx)("input",{type:"text",value:w,onChange:e=>N(e.target.value),onBlur:T,onKeyDown:e=>{"Escape"===e.key&&(k(null),N(""))},autoFocus:!0,className:"w-full text-xs font-medium px-1 py-0.5 rounded outline-none border",style:{color:"var(--color-text)",background:"var(--color-surface)",borderColor:"var(--color-border)"}})}):(0,o.jsxs)("button",{type:"button",onClick:()=>C(e.id),className:"flex-1 min-w-0 text-left px-2 py-2 rounded-l-lg transition-colors cursor-pointer",children:[(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[s&&(0,o.jsx)(q,{name:"braille",className:"text-[10px] flex-shrink-0",style:{color:"var(--color-chat-sidebar-muted)"}}),(0,o.jsx)("div",{className:"text-xs font-medium truncate",style:{color:l?"var(--color-chat-sidebar-active-text)":"var(--color-text)"},children:e.title||"Untitled chat"})]}),(0,o.jsxs)("div",{className:"flex items-center gap-2 mt-0.5",style:{paddingLeft:s?"calc(0.375rem + 6px)":void 0},children:[(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:function(e){let t=Math.floor((Date.now()-e)/1e3);if(t<60)return"just now";let r=Math.floor(t/60);if(r<60)return"".concat(r,"m ago");let o=Math.floor(r/60);if(o<24)return"".concat(o,"h ago");let l=Math.floor(o/24);if(l<30)return"".concat(l,"d ago");let n=Math.floor(l/30);return n<12?"".concat(n,"mo ago"):"".concat(Math.floor(n/12),"y ago")}(e.updatedAt)}),e.messageCount>0&&(0,o.jsxs)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:[e.messageCount," msg",1!==e.messageCount?"s":""]})]})]}),x&&(0,o.jsx)("div",{className:"shrink-0 flex items-center pr-1 transition-opacity ".concat(n?"opacity-100":"opacity-0"),children:(0,o.jsxs)(lW,{children:[(0,o.jsx)(lR,{onClick:e=>e.stopPropagation(),className:"flex items-center justify-center w-6 h-6 rounded-md",style:{color:"var(--color-text-muted)"},title:"More options","aria-label":"More options",children:(0,o.jsx)(lP,{})}),(0,o.jsxs)(lD,{align:"end",side:"bottom",children:[(0,o.jsxs)(lI,{onSelect:()=>M(e.id,e.title),children:[(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"})}),"Rename"]}),(0,o.jsxs)(lI,{variant:"destructive",onSelect:()=>L(e.id),children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]}),"Delete"]})]})]})})]}),c&&c.length>0&&(0,o.jsx)("div",{className:"ml-4 border-l",style:{borderColor:"var(--color-border)"},children:c.map(e=>{let t=i===e.childSessionKey,r="running"===e.status,l=e.label||e.task,n=l.length>40?l.slice(0,40)+"...":l;return(0,o.jsx)("button",{type:"button",onClick:()=>S(e.childSessionKey),className:"w-full text-left pl-3 pr-2 py-1.5 rounded-r-lg transition-colors cursor-pointer",style:{background:t?"var(--color-chat-sidebar-active-bg)":"transparent"},children:(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[r&&(0,o.jsx)(q,{name:"braille",className:"text-[9px] flex-shrink-0",style:{color:"var(--color-chat-sidebar-muted)"}}),(0,o.jsx)(lF,{}),(0,o.jsx)("span",{className:"text-[11px] truncate",style:{color:t?"var(--color-chat-sidebar-active-text)":"var(--color-text-muted)"},children:n})]})},e.childSessionKey)})})]},e.id)})]},e.label))})}),(0,o.jsxs)("div",{className:"absolute top-0 left-0 right-0 z-10 flex items-center justify-between border-b px-4 py-2 backdrop-blur-md",style:{height:40,borderColor:"var(--color-border)",background:"color-mix(in srgb, var(--color-sidebar-bg) 80%, transparent)"},children:[(0,o.jsxs)("div",{className:"min-w-0 flex-1 flex items-center gap-1.5",children:[p&&(0,o.jsx)("button",{type:"button",onClick:p,className:"p-1 rounded-md shrink-0 transition-colors hover:bg-black/5",style:{color:"var(--color-text-muted)"},title:"Hide chat sidebar (⌘⇧B)",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M15 3v18"})]})}),(0,o.jsx)("span",{className:"text-xs font-medium truncate block",style:{color:"var(--color-text)"},children:"Chats"})]}),(0,o.jsxs)("button",{type:"button",onClick:d,className:"flex items-center gap-1 px-2 py-1 rounded-md text-[11px] font-medium transition-colors cursor-pointer shrink-0 ml-1.5",style:{color:"var(--color-chat-sidebar-active-text)",background:"var(--color-chat-sidebar-active-bg)"},title:"New chat",children:[(0,o.jsx)(lB,{}),"New"]})]})]})});return m?(0,o.jsx)("div",{className:"drawer-backdrop",onClick:()=>void(null==f||f()),children:(0,o.jsx)("div",{onClick:e=>e.stopPropagation(),className:"fixed inset-y-0 right-0 z-50",children:D})}):D}function lz(e){let{workspaceExists:t,expectedPath:r}=e;return(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-6 px-8",children:[(0,o.jsx)("div",{className:"w-20 h-20 rounded-2xl flex items-center justify-center",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-sm)"},children:(0,o.jsxs)("svg",{width:"40",height:"40",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--color-text-muted)",opacity:.5},children:[(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"3",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"14",y:"14",rx:"1"}),(0,o.jsx)("rect",{width:"7",height:"7",x:"3",y:"14",rx:"1"})]})}),(0,o.jsxs)("div",{className:"text-center max-w-md",children:[(0,o.jsx)("h2",{className:"font-instrument text-2xl tracking-tight mb-2",style:{color:"var(--color-text)"},children:t?"Workspace is empty":"No workspace found"}),(0,o.jsx)("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:t?(0,o.jsx)(o.Fragment,{children:"The workspace exists but has no knowledge tree yet. Ask the CRM agent to create objects and documents to populate it."}):(0,o.jsx)(o.Fragment,{children:"The workspace directory was not found. Run the denchclaw bootstrap flow or start a conversation and the agent will set it up automatically in the managed profile."})})]}),(0,o.jsxs)("div",{className:"flex items-center gap-2 px-4 py-3 rounded-xl text-sm",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",color:"var(--color-text-muted)",boxShadow:"var(--shadow-sm)"},children:[(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--color-accent)",flexShrink:0},children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("path",{d:"M12 16v-4"}),(0,o.jsx)("path",{d:"M12 8h.01"})]}),(0,o.jsxs)("span",{children:["Expected location:"," ",(0,o.jsx)("code",{className:"px-1.5 py-0.5 rounded-md text-xs",style:{background:"var(--color-surface-hover)",border:"1px solid var(--color-border)"},children:r?r.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~").replace(/^[A-Za-z]:[/\\]Users[/\\][^/\\]+/,"~"):"~/.openclaw-dench/workspace-<name>"})]})]}),(0,o.jsxs)("a",{href:"/",className:"flex items-center gap-2 text-sm mt-2",style:{color:"var(--color-accent)"},children:[(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]}),"Back to Home"]})]})}var lO=r(40077);function lU(){return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"})})}function lH(){return(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})}function lV(e){var t,r;let{filter:l,value:n,onChange:a}=e,s=(null==n?void 0:n.type)==="dateRange"?n:{type:"dateRange"};return(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("label",{className:"text-[11px] whitespace-nowrap",style:{color:"var(--color-text-muted)"},children:l.label}),(0,o.jsx)("input",{type:"date",value:null!=(t=s.from)?t:"",onChange:e=>a({...s,from:e.target.value||void 0}),className:"px-2 py-1 rounded-md text-[11px] outline-none",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",colorScheme:"dark"}}),(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:"to"}),(0,o.jsx)("input",{type:"date",value:null!=(r=s.to)?r:"",onChange:e=>a({...s,to:e.target.value||void 0}),className:"px-2 py-1 rounded-md text-[11px] outline-none",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",colorScheme:"dark"}})]})}function lK(e){let{filter:t,value:r,onChange:l,options:n}=e,a=(null==r?void 0:r.type)==="select"?r.value:void 0;return(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("label",{className:"text-[11px] whitespace-nowrap",style:{color:"var(--color-text-muted)"},children:t.label}),(0,o.jsxs)("select",{value:null!=a?a:"",onChange:e=>l({type:"select",value:e.target.value||void 0}),className:"px-2 py-1 rounded-md text-[11px] outline-none cursor-pointer",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",minWidth:100},children:[(0,o.jsx)("option",{value:"",children:"All"}),n.map(e=>(0,o.jsx)("option",{value:e,children:e},e))]})]})}function lJ(e){var t;let{filter:r,value:l,onChange:n,options:a}=e,s=(null==l?void 0:l.type)==="multiSelect"&&null!=(t=l.values)?t:[];return(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("label",{className:"text-[11px] whitespace-nowrap",style:{color:"var(--color-text-muted)"},children:r.label}),(0,o.jsx)("div",{className:"flex flex-wrap gap-1",children:a.map(e=>{let t=s.includes(e);return(0,o.jsx)("button",{type:"button",onClick:()=>(e=>{let t=s.includes(e)?s.filter(t=>t!==e):[...s,e];n({type:"multiSelect",values:t.length>0?t:void 0})})(e),className:"px-2 py-0.5 rounded-full text-[10px] transition-colors cursor-pointer",style:{background:t?"var(--color-accent-light)":"var(--color-surface)",border:"1px solid ".concat(t?"var(--color-accent)":"var(--color-border)"),color:t?"var(--color-accent)":"var(--color-text-muted)"},children:e},e)})})]})}function lq(e){var t,r;let{filter:l,value:n,onChange:a}=e,s=(null==n?void 0:n.type)==="number"?n:{type:"number"};return(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,o.jsx)("label",{className:"text-[11px] whitespace-nowrap",style:{color:"var(--color-text-muted)"},children:l.label}),(0,o.jsx)("input",{type:"number",placeholder:"Min",value:null!=(t=s.min)?t:"",onChange:e=>a({...s,min:e.target.value?Number(e.target.value):void 0}),className:"px-2 py-1 rounded-md text-[11px] outline-none w-20",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}}),(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:"to"}),(0,o.jsx)("input",{type:"number",placeholder:"Max",value:null!=(r=s.max)?r:"",onChange:e=>a({...s,max:e.target.value?Number(e.target.value):void 0}),className:"px-2 py-1 rounded-md text-[11px] outline-none w-20",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}})]})}function lG(e){let{filters:t,value:r,onChange:n}=e,[a,s]=(0,l.useState)({}),i=(0,l.useCallback)(async()=>{let e=t.filter(e=>("select"===e.type||"multiSelect"===e.type)&&e.sql);if(0===e.length)return;let r={};await Promise.all(e.map(async e=>{try{var t;let o=await fetch("/api/workspace/reports/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sql:e.sql})});if(!o.ok)return;let l=(null!=(t=(await o.json()).rows)?t:[]).map(e=>{let t=Object.values(e)[0];return null==t?null:"object"==typeof t?JSON.stringify(t):"string"==typeof t?t:String(t)}).filter(e=>null!==e);r[e.id]=l}catch(e){}})),s(r)},[t]);(0,l.useEffect)(()=>{i()},[i]);let c=(0,l.useCallback)((e,t)=>{n({...r,[e]:t})},[r,n]),d=Object.values(r).some(e=>!!e&&("dateRange"===e.type?e.from||e.to:"select"===e.type?e.value:"multiSelect"===e.type?e.values&&e.values.length>0:"number"===e.type&&(void 0!==e.min||void 0!==e.max)));return 0===t.length?null:(0,o.jsxs)("div",{className:"flex items-center gap-4 px-4 py-2.5 border-b flex-wrap",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-medium",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)(lU,{}),"Filters"]}),t.map(e=>{var t,l;let n=r[e.id];switch(e.type){case"dateRange":return(0,o.jsx)(lV,{filter:e,value:n,onChange:t=>c(e.id,t)},e.id);case"select":return(0,o.jsx)(lK,{filter:e,value:n,onChange:t=>c(e.id,t),options:null!=(t=a[e.id])?t:[]},e.id);case"multiSelect":return(0,o.jsx)(lJ,{filter:e,value:n,onChange:t=>c(e.id,t),options:null!=(l=a[e.id])?l:[]},e.id);case"number":return(0,o.jsx)(lq,{filter:e,value:n,onChange:t=>c(e.id,t)},e.id);default:return null}}),d&&(0,o.jsxs)("button",{type:"button",onClick:()=>n({}),className:"flex items-center gap-1 px-2 py-1 rounded-md text-[11px] transition-colors cursor-pointer",style:{color:"var(--color-accent)",background:"var(--color-accent-light)"},children:[(0,o.jsx)(lH,{}),"Clear"]})]})}function l$(e){let{size:t=20}=e;return(0,o.jsxs)("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"12",x2:"12",y1:"20",y2:"10"}),(0,o.jsx)("line",{x1:"18",x2:"18",y1:"20",y2:"4"}),(0,o.jsx)("line",{x1:"6",x2:"6",y1:"20",y2:"14"})]})}function lZ(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,o.jsx)("path",{d:"M3 3v5h5"}),(0,o.jsx)("path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16"}),(0,o.jsx)("path",{d:"M16 16h5v5"})]})}function lQ(e){let{config:t,reportPath:r}=e,[n,a]=(0,l.useState)(null!=t?t:null),[s,i]=(0,l.useState)(!t&&!!r),[c,d]=(0,l.useState)(null),[u,x]=(0,l.useState)({}),[h,p]=(0,l.useState)({}),[m,f]=(0,l.useState)(0);(0,l.useEffect)(()=>{if(t)return void a(t);if(!r)return;let e=!1;return i(!0),d(null),fetch("/api/workspace/file?path=".concat(encodeURIComponent(r))).then(async t=>{if(!t.ok)throw Error("Failed to load report: HTTP ".concat(t.status));let r=await t.json();if(!e)try{let e=JSON.parse(r.content);a(e)}catch(e){throw Error("Invalid report JSON")}}).catch(t=>{e||d(t instanceof Error?t.message:"Failed to load report")}).finally(()=>{e||i(!1)}),()=>{e=!0}},[t,r]);let v=(0,l.useCallback)(async()=>{var e;if(!n)return;let t=function(e,t){let r=[];for(let o of t){let t=e[o.id];t&&("dateRange"===t.type&&(t.from||t.to)||"select"===t.type&&t.value||"multiSelect"===t.type&&t.values&&t.values.length>0||"number"===t.type&&(void 0!==t.min||void 0!==t.max))&&r.push({id:o.id,column:o.column,value:t})}return r}(h,null!=(e=n.filters)?e:[]),r={};for(let e of n.panels)r[e.id]={panelId:e.id,rows:[],loading:!0};x(r),await Promise.all(n.panels.map(async e=>{try{let r=await fetch("/api/workspace/reports/execute",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sql:e.sql,filters:t.length>0?t:void 0})});if(!r.ok){let t=await r.json().catch(()=>({}));x(o=>({...o,[e.id]:{panelId:e.id,rows:[],loading:!1,error:t.error||"HTTP ".concat(r.status)}}));return}let o=await r.json();x(t=>{var r;return{...t,[e.id]:{panelId:e.id,rows:null!=(r=o.rows)?r:[],loading:!1}}})}catch(t){x(r=>({...r,[e.id]:{panelId:e.id,rows:[],loading:!1,error:t instanceof Error?t.message:"Query failed"}}))}}))},[n,h]);(0,l.useEffect)(()=>{v()},[v,m]);let g=(0,l.useMemo)(()=>Object.values(u).reduce((e,t)=>e+t.rows.length,0),[u]);return s?(0,o.jsxs)("div",{className:"flex items-center justify-center h-full gap-3",children:[(0,o.jsx)("div",{className:"w-5 h-5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Loading report..."})]}):c?(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4 p-8",children:[(0,o.jsx)(l$,{size:48}),(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Failed to load report"}),(0,o.jsx)("p",{className:"text-xs px-3 py-2 rounded-lg max-w-md text-center",style:{background:"var(--color-surface)",color:"#f87171"},children:c})]}):n?(0,o.jsxs)("div",{className:"flex flex-col h-full",children:[(0,o.jsx)("div",{className:"px-6 py-4 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:(0,o.jsxs)("div",{className:"flex items-start justify-between",children:[(0,o.jsxs)("div",{children:[(0,o.jsxs)("div",{className:"flex items-center gap-2.5 mb-1",children:[(0,o.jsx)("span",{style:{color:"var(--color-accent)"},children:(0,o.jsx)(l$,{})}),(0,o.jsx)("h1",{className:"text-xl font-bold",style:{color:"var(--color-text)"},children:n.title})]}),n.description&&(0,o.jsx)("p",{className:"text-sm ml-7",style:{color:"var(--color-text-muted)"},children:n.description})]}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsxs)("span",{className:"text-[10px] px-2 py-1 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[n.panels.length," panel",1!==n.panels.length?"s":""]}),(0,o.jsxs)("span",{className:"text-[10px] px-2 py-1 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[g," rows"]}),(0,o.jsx)("button",{type:"button",onClick:()=>f(e=>e+1),className:"p-1.5 rounded-md transition-colors cursor-pointer",style:{color:"var(--color-text-muted)"},title:"Refresh data",children:(0,o.jsx)(lZ,{})})]})]})}),n.filters&&n.filters.length>0&&(0,o.jsx)(lG,{filters:n.filters,value:h,onChange:p}),(0,o.jsx)("div",{className:"flex-1 overflow-y-auto p-6",children:(0,o.jsx)("div",{className:"grid grid-cols-6 gap-5",children:n.panels.map(e=>(0,o.jsx)(lY,{panel:e,data:u[e.id]},e.id))})})]}):(0,o.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"No report configuration found"})})}function lY(e){var t;let{panel:r,data:l}=e,n=function(e){switch(e){case"full":return"col-span-6";case"third":return"col-span-2";default:return"col-span-3"}}(r.size);return(0,o.jsxs)("div",{className:"".concat(n," rounded-xl overflow-hidden"),style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:[(0,o.jsxs)("div",{className:"px-4 py-3 flex items-center justify-between",children:[(0,o.jsx)("h3",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:r.title}),l&&!l.loading&&!l.error&&(0,o.jsxs)("span",{className:"text-[10px] px-1.5 py-0.5 rounded",style:{color:"var(--color-text-muted)"},children:[l.rows.length," rows"]})]}),(0,o.jsx)("div",{className:"px-2 pb-3",children:(null==l?void 0:l.loading)?(0,o.jsx)("div",{className:"flex items-center justify-center",style:{height:320},children:(0,o.jsx)("div",{className:"w-5 h-5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})}):(null==l?void 0:l.error)?(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center gap-2",style:{height:320},children:[(0,o.jsx)("p",{className:"text-xs",style:{color:"#f87171"},children:"Query error"}),(0,o.jsx)("p",{className:"text-[10px] px-2 py-1 rounded max-w-xs text-center",style:{background:"rgba(248, 113, 113, 0.1)",color:"#f87171"},children:l.error})]}):(0,o.jsx)(lO.N,{config:r,data:null!=(t=null==l?void 0:l.rows)?t:[]})})]})}var lX=r(77592),l0=r(70793),l1=r(12594),l2=r(60743),l4=r(64049),l5=r(97185);let l6=new Set(["jpg","jpeg","png","gif","webp","svg","bmp","avif","heic","heif","tiff","tif","ico"]),l3=new Set(["mp4","webm","mov","avi","mkv"]),l8=new Set(["pdf"]),l7=new Set(["mp3","wav","ogg","m4a"]);function l9(e){var t;let r=(null!=(t=e.split(".").pop())?t:"").toLowerCase();return l6.has(r)?"image":l3.has(r)?"video":l8.has(r)?"pdf":l7.has(r)?"audio":null}function ne(e){return e.startsWith("http://")||e.startsWith("https://")?e:"/api/workspace/raw-file?path=".concat(encodeURIComponent(e))}let nt=/(?:^|[\s"'(=])(((?:\/|\.\/)?[\w.\-/\\]+)\.(?:jpe?g|png|gif|webp|svg|bmp|avif|heic|heif|tiff?|ico|mp4|webm|mov|avi|mkv|mp3|wav|ogg|m4a|pdf))\b/i,nr=["path","file","file_path","filePath","filename","url","src","name","target"];function no(e,t){if(e)for(let t of nr){let r=e[t];if("string"==typeof r&&r.length>0)return r}if(t)for(let e of nr){let r=t[e];if("string"==typeof r&&r.length>0&&nl(r))return r}if(e){let t=nn(e);if(t)return t}if((null==t?void 0:t.text)&&"string"==typeof t.text){let e=t.text.match(nt);if(e)return e[1]}if(t){let e=nn(t);if(e)return e}return null}function nl(e){return e.length>2&&e.length<500&&/\.\w{1,5}$/.test(e)&&!e.includes(" ")}function nn(e){for(let t of Object.values(e))if("string"==typeof t&&nl(t))return t;return null}let na=/https?:\/\/[^\s"'<>,;)}\]]+/gi;function ns(e){return"https://www.google.com/s2/favicons?sz=64&domain_url=".concat(encodeURIComponent(e))}function ni(e,t){let r=e.toLowerCase().replace(/[_-]/g,"");if(["websearch","search","googlesearch","bingsearch","browsersearch","tavily"].some(e=>r.includes(e)))return"search";if("browser"===r){let e="string"==typeof(null==t?void 0:t.action)?t.action.toLowerCase():"";return"open"===e||"navigate"===e?"fetch":"screenshot"===e?"image":"generic"}return["fetchurl","fetch","browse","browseurl","webfetch"].some(e=>r.includes(e))?"fetch":["read","file","readfile","getfile"].some(e=>r.includes(e))?"read":["bash","shell","execute","exec","terminal","command","run"].some(e=>r.includes(e))?"exec":["write","create","edit","str_replace","save","patch"].some(e=>r.includes(e))?"write":["image","screenshot","photo","picture","dalle","generateimage"].some(e=>r.includes(e))?"image":"generic"}function nc(e){let{parts:t,isStreaming:r}=e,[n,a]=(0,l.useState)(!!r),s=t.some(e=>"reasoning"===e.kind&&e.isStreaming||"tool"===e.kind&&"running"===e.status),i=(0,l.useRef)(null),[c,d]=(0,l.useState)(0);(0,l.useEffect)(()=>{s&&null===i.current&&(i.current=Date.now())},[s]),(0,l.useEffect)(()=>{if(!s)return;let e=()=>{null!==i.current&&d(Math.floor((Date.now()-i.current)/1e3))};e();let t=setInterval(e,1e3);return()=>clearInterval(t)},[s]);let u=(0,l.useCallback)(e=>{if(e<60)return"".concat(e,"s");let t=Math.floor(e/60),r=e%60;return r>0?"".concat(t,"m ").concat(r,"s"):"".concat(t,"m")},[]),x=(0,l.useRef)(!1);(0,l.useEffect)(()=>{r?x.current=!0:x.current&&t.length>0&&(x.current=!1,a(!1))},[r,t.length]);let h=t.filter(e=>"reasoning"===e.kind).map(e=>e.text).join(""),p=t.some(e=>"reasoning"===e.kind&&e.isStreaming),m=function(e){let t=[],r=0;for(;r<e.length;){let o=e[r],l=ni(o.toolName,o.args),n=no(o.args,o.output),a=n?l9(n):null;if("read"===l&&a&&n){let l=[{path:n,tool:o}],s=r+1;for(;s<e.length;){let t=e[s],r=ni(t.toolName,t.args),o=no(t.args,t.output),n=o?l9(o):null;if("read"===r&&n===a&&o)l.push({path:o,tool:t}),s++;else break}t.push({type:"media-group",mediaKind:a,items:l}),r=s}else if("fetch"===l){let l=[o],n=r+1;for(;n<e.length;){let t=e[n];if("fetch"===ni(t.toolName,t.args))l.push(t),n++;else break}l.length>1?t.push({type:"fetch-group",items:l}):t.push({type:"tool",tool:o}),r=n}else t.push({type:"tool",tool:o}),r++}return t}(t.filter(e=>"tool"===e.kind)),f=s?c>0?"Thinking for ".concat(u(c)):"Thinking...":c>0?"Thought for ".concat(u(c)):"Thought";return(0,o.jsxs)("div",{className:"my-3",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>a(e=>!e),className:"flex items-center gap-2 py-1 text-[13px] cursor-pointer group",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)(ny,{className:"w-4 h-4 flex-shrink-0 opacity-60"}),(0,o.jsx)("span",{className:"font-medium",children:f}),(0,o.jsx)(nb,{className:"w-3.5 h-3.5 ml-1 flex-shrink-0 transition-transform duration-200 ".concat(n?"":"-rotate-90")})]}),(0,o.jsx)(l1.N,{initial:!1,children:n&&(0,o.jsx)(l2.P.div,{initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0},transition:{duration:.3,ease:[.25,.1,.25,1]},className:"overflow-hidden",children:(0,o.jsxs)("div",{className:"relative pt-2 pb-1",children:[(0,o.jsx)("div",{className:"absolute w-px",style:{left:9,top:16,bottom:8,background:"var(--color-border)"}}),(0,o.jsxs)(l1.N,{initial:!1,children:[h&&(0,o.jsxs)(l2.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25,ease:"easeOut"},className:"flex items-start gap-2.5 py-1.5",children:[(0,o.jsx)("div",{className:"relative z-10 flex-shrink-0 w-[18px] h-[18px] flex items-center justify-center rounded-full",style:{background:"var(--color-bg)"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-text-muted)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7z"}),(0,o.jsx)("path",{d:"M10 21h4"})]})}),(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)(nd,{text:h,isStreaming:p})})]},"reasoning"),m.map((e,t)=>"media-group"===e.type?(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25,ease:"easeOut"},children:(0,o.jsx)(nx,{mediaKind:e.mediaKind,items:e.items})},"media-".concat(t)):"fetch-group"===e.type?(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25,ease:"easeOut"},children:(0,o.jsx)(nu,{items:e.items})},"fetch-".concat(t)):(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:6},animate:{opacity:1,y:0},transition:{duration:.25,ease:"easeOut"},children:(0,o.jsx)(np,{...e.tool})},e.tool.toolCallId))]})]})},"content")})]})}function nd(e){let{text:t,isStreaming:r}=e;return(0,o.jsx)("div",{className:"mb-2",children:(0,o.jsx)("div",{className:"text-[13px] whitespace-pre-wrap leading-relaxed",style:{color:"var(--color-text-muted)"},children:t})})}function nu(e){let{items:t}=e,r=t.some(e=>"running"===e.status),l=t.filter(e=>"done"===e.status).length;return(0,o.jsxs)("div",{className:"flex items-start gap-2.5 py-1.5",children:[(0,o.jsx)("div",{className:"relative z-10 flex-shrink-0 w-[18px] h-[18px] flex items-center justify-center rounded-full",style:{background:"var(--color-bg)"},children:(0,o.jsx)("span",{className:r?"animate-pulse":"",children:(0,o.jsx)(nf,{kind:"fetch"})})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsxs)("div",{className:"text-[13px] leading-snug mb-1.5 flex items-center justify-between",style:{color:r?"var(--color-text)":"var(--color-text-secondary)"},children:[(0,o.jsx)("span",{className:r?"animate-pulse":"",children:r?"Fetching ".concat(t.length," sources..."):"Fetched ".concat(t.length," sources")}),!r&&(0,o.jsxs)("span",{className:"text-[11px]",style:{color:"var(--color-text-muted)"},children:[l," ",1===l?"result":"results"]})]}),(0,o.jsx)("div",{className:"rounded-2xl overflow-hidden",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:t.map(e=>{var t,r;let{domain:l,url:n}=function(e,t){for(let t of["url","targetUrl","path","src"]){let r=null==e?void 0:e[t];if("string"==typeof r&&r.startsWith("http"))try{return{domain:new URL(r).hostname,url:r}}catch(e){}}for(let e of["url","finalUrl","targetUrl"]){let r=null==t?void 0:t[e];if("string"==typeof r&&r.startsWith("http"))try{return{domain:new URL(r).hostname,url:r}}catch(e){}}return{domain:null,url:null}}(e.args,e.output);return(0,o.jsxs)("a",{href:null!=n?n:void 0,target:"_blank",rel:"noopener noreferrer",className:"flex items-center gap-2.5 px-3 py-2.5 text-[12px] no-underline",style:{color:"var(--color-text)",cursor:n?"pointer":"default"},onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},onClick:n?void 0:e=>e.preventDefault(),children:[l?(0,o.jsx)("img",{src:ns(l),alt:"",width:16,height:16,className:"rounded-sm flex-shrink-0",loading:"lazy"}):(0,o.jsx)("div",{className:"w-4 h-4 rounded-sm flex-shrink-0",style:{background:"var(--color-surface-hover)"}}),(0,o.jsx)("span",{className:"flex-1 min-w-0 truncate",style:{color:"var(--color-text)"},children:null!=(r=null!=(t=null==l?void 0:l.replace(/^www\./,""))?t:n)?r:"Fetching..."}),"running"===e.status?(0,o.jsx)("span",{className:"w-2 h-2 rounded-full animate-pulse flex-shrink-0",style:{background:"var(--color-accent)"}}):n?(0,o.jsx)("span",{className:"text-[11px] truncate max-w-[45%] text-right",style:{color:"var(--color-text-muted)"},title:n,children:n}):null]},e.toolCallId)})})]})]})}function nx(e){let{mediaKind:t,items:r}=e,[n,a]=(0,l.useState)(!1),s=r.some(e=>"running"===e.tool.status),i=r.filter(e=>"done"===e.tool.status),c=i.length,d=s?"Reading ".concat(r.length," ").concat(t).concat(r.length>1?"s":"","..."):"image"===t?1===r.length?"Read 1 image":"Read ".concat(r.length," images"):"video"===t?1===r.length?"Read 1 video":"Read ".concat(r.length," videos"):"pdf"===t?1===r.length?"Read 1 PDF":"Read ".concat(r.length," PDFs"):1===r.length?"Read 1 audio file":"Read ".concat(r.length," audio files"),u=n?i:i.slice(0,6),x=i.length>6&&!n;return(0,o.jsxs)("div",{className:"flex items-start gap-2.5 py-1.5",children:[(0,o.jsx)("div",{className:"relative z-10 flex-shrink-0 w-[18px] h-[18px] flex items-center justify-center rounded-full",style:{background:"var(--color-bg)"},children:(0,o.jsx)("span",{className:s?"animate-pulse":"",children:(0,o.jsx)(nf,{kind:"image"===t?"image":"read"})})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsx)("div",{className:"text-[13px] leading-snug mb-1.5".concat(s?" animate-pulse":""),style:{color:s?"var(--color-text)":"var(--color-text-secondary)"},children:d}),c>0&&"image"===t&&(0,o.jsxs)("div",{className:"flex flex-wrap gap-1.5",children:[u.map(e=>(0,o.jsx)(nh,{path:e.path,single:1===r.length},e.tool.toolCallId)),s&&(0,o.jsx)("div",{className:"flex items-center justify-center rounded-lg",style:{width:80,height:80,background:"var(--color-surface-hover)",border:"1px solid var(--color-border)"},children:(0,o.jsx)("span",{className:"animate-pulse",style:{color:"var(--color-text-muted)"},children:(0,o.jsx)(nf,{kind:"image"})})}),x&&(0,o.jsxs)("button",{type:"button",onClick:()=>a(!0),className:"flex items-center justify-center rounded-lg text-xs font-medium cursor-pointer",style:{width:80,height:80,background:"var(--color-surface-hover)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:["+",i.length-6," ","more"]})]}),c>0&&"video"===t&&(0,o.jsx)("div",{className:"flex flex-wrap gap-2",children:u.map(e=>(0,o.jsx)("video",{src:ne(e.path),controls:!0,preload:"metadata",className:"rounded-lg max-w-[240px] max-h-[160px]",style:{border:"1px solid var(--color-border)"}},e.tool.toolCallId))}),c>0&&"pdf"===t&&(0,o.jsx)("div",{className:"flex flex-col gap-1.5",children:u.map(e=>{var t;let r=null!=(t=e.path.split("/").pop())?t:e.path;return(0,o.jsxs)("a",{href:ne(e.path),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 px-3 py-2 rounded-lg text-[12px]",style:{background:"var(--color-surface-hover)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)(ng,{}),(0,o.jsx)("span",{className:"truncate max-w-[200px]",children:r})]},e.tool.toolCallId)})}),c>0&&"audio"===t&&(0,o.jsx)("div",{className:"flex flex-col gap-1.5",children:u.map(e=>(0,o.jsx)("audio",{src:ne(e.path),controls:!0,preload:"metadata",className:"max-w-[280px] h-8"},e.tool.toolCallId))})]})]})}function nh(e){var t;let{path:r,single:n}=e,[a,s]=(0,l.useState)(!1),i=null!=(t=r.split("/").pop())?t:r,c=ne(r),d=n?200:80,u=n?150:80;return a?(0,o.jsx)("div",{className:"flex items-center justify-center rounded-lg text-[10px] text-center p-1",style:{width:d,height:u,background:"var(--color-surface-hover)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},title:r,children:(0,o.jsx)("span",{className:"truncate",children:i})}):(0,o.jsx)("a",{href:c,target:"_blank",rel:"noopener noreferrer",className:"block rounded-lg overflow-hidden flex-shrink-0",style:{border:"1px solid var(--color-border)",width:d,height:u},title:i,children:(0,o.jsx)("img",{src:c,alt:i,className:"w-full h-full object-cover",loading:"lazy",onError:()=>s(!0)})})}function np(e){var t;let{toolName:r,status:n,args:a,output:s,errorText:i}=e,c=ni(r,a),[d,u]=(0,l.useState)("exec"===c||"generic"===c),[x,h]=(0,l.useState)(!0),p=function(e,t,r,o){var l,n,a,s,i,c,d,u,x,h,p,m,f,v,g,y,b,j,k;let w=e=>{let t=null==r?void 0:r[e];return"string"==typeof t&&t.length>0?t:null};switch(e){case"search":{let e=null!=(a=null!=(n=null!=(l=w("query"))?l:w("search_query"))?n:w("search"))?a:w("q");return e?"Searching for ".concat(e):"Searching..."}case"fetch":{let e=null!=(c=null!=(i=null!=(s=w("url"))?s:w("targetUrl"))?i:w("path"))?c:w("src");if(e)try{return"Fetching ".concat(new URL(e).hostname)}catch(t){return"Fetching ".concat(e)}let t="string"==typeof(null==o?void 0:o.finalUrl)&&o.finalUrl||"string"==typeof(null==o?void 0:o.url)&&o.url;if(t)try{return"Fetched ".concat(new URL(t).hostname)}catch(e){return"Fetched ".concat(t)}return"Fetching page"}case"read":{let e=no(r,o);if(e){let t=null!=(d=e.split("/").pop())?d:e;return t.startsWith("http")?"Fetching ".concat(t):"Reading ".concat(t)}return"Reading file"}case"exec":{let e=null!=(u=w("command"))?u:w("cmd");if(e)return"Running: ".concat(e);return"Running command"}case"write":{let e=null!=(h=null!=(x=w("path"))?x:w("file"))?h:w("file_path");if(e){let t=null!=(p=e.split("/").pop())?p:e;return"Editing ".concat(t)}return"Editing file"}case"image":return w("description")?"Generating image: ".concat(w("description")):"Generating image";default:{let e=t.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase()).trim();if(r){let t=null!=(k=null!=(j=null!=(b=null!=(y=null!=(g=null!=(v=null!=(f=null!=(m=w("command"))?m:w("cmd"))?f:w("query"))?v:w("path"))?g:w("url"))?y:w("message"))?b:w("description"))?j:w("input"))?k:w("text");if(t)return"".concat(e,": ").concat(t)}return e||"Tool"}}}(c,r,a,s),m="search"===c?function(e){var t;if(!e)return[];let r="string"==typeof e.text?e.text:"",o=e.results,l=e.citations,n=r;if(Array.isArray(o))for(let e of o)"string"==typeof e?n+=" ".concat(e):"object"==typeof e&&null!==e&&("string"==typeof e.url&&(n+=" ".concat(e.url)),"string"==typeof e.link&&(n+=" ".concat(e.link)));if(Array.isArray(l))for(let e of l)"string"==typeof e?n+=" ".concat(e):"object"==typeof e&&null!==e&&"string"==typeof e.url&&(n+=" ".concat(e.url));for(let t of Object.values(e))"string"==typeof t&&t!==r&&t.includes("http")&&(n+=" ".concat(t));let a=null!=(t=n.match(na))?t:[],s=new Set;for(let e of a)try{let t=new URL(e).hostname;t&&!t.includes("localhost")&&s.add(t)}catch(e){}return[...s].slice(0,8)}(s):"fetch"===c?function(e,t){let r=new Set;for(let t of["url","targetUrl","path","src"]){let o=null==e?void 0:e[t];if("string"==typeof o&&o.startsWith("http"))try{let e=new URL(o).hostname;e&&!e.includes("localhost")&&r.add(e)}catch(e){}}for(let e of["url","finalUrl","targetUrl"]){let o=null==t?void 0:t[e];if("string"==typeof o&&o.startsWith("http"))try{let e=new URL(o).hostname;e&&!e.includes("localhost")&&r.add(e)}catch(e){}}return[...r].slice(0,4)}(a,s):[],f="string"==typeof(null==s?void 0:s.text)?s.text:void 0,v=(()=>{if("write"!==c||"done"!==n)return;if("string"==typeof(null==s?void 0:s.diff))return s.diff;let e="string"==typeof(null==a?void 0:a.old_string)?a.old_string:"string"==typeof(null==a?void 0:a.oldText)?a.oldText:null,t="string"==typeof(null==a?void 0:a.new_string)?a.new_string:"string"==typeof(null==a?void 0:a.newText)?a.newText:null;if(null!==e&&null!==t){var r="string"==typeof(null==a?void 0:a.path)?a.path:"string"==typeof(null==a?void 0:a.file_path)?a.file_path:"file";let o=e.split("\n"),l=t.split("\n"),n=["--- a/".concat(r),"+++ b/".concat(r),"@@ -1,".concat(o.length," +1,").concat(l.length," @@")];for(let e of o)n.push("-".concat(e));for(let e of l)n.push("+".concat(e));return n.join("\n")}})(),g=no(a,s),y=g?l9(g):null,b="read"===c&&y&&"done"===n;return(0,o.jsxs)("div",{className:"flex items-start gap-2.5 py-1.5",children:[(0,o.jsx)("div",{className:"relative z-10 flex-shrink-0 w-[18px] h-[18px] flex items-center justify-center rounded-full",style:{background:"var(--color-bg)"},children:"error"===n?(0,o.jsx)(nv,{}):(0,o.jsx)("span",{className:"running"===n?"animate-pulse":"",children:(0,o.jsx)(nf,{kind:c})})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsxs)("div",{className:"text-[13px] leading-snug flex items-center gap-2 flex-wrap",style:{color:"running"===n?"var(--color-text)":"var(--color-text-secondary)"},children:[(0,o.jsx)("span",{className:"break-all".concat("running"===n?" animate-pulse":""),children:p}),"exec"===c&&"done"===n&&(null==s?void 0:s.exitCode)!==void 0&&(0,o.jsxs)("span",{className:"text-[11px] font-mono px-1.5 py-0.5 rounded",style:{background:0===s.exitCode?"color-mix(in srgb, var(--color-success, #22c55e) 12%, transparent)":"color-mix(in srgb, var(--color-error) 12%, transparent)",color:0===s.exitCode?"var(--color-success, #22c55e)":"var(--color-error)"},children:["exit ","object"==typeof s.exitCode&&null!=s.exitCode?JSON.stringify(s.exitCode):"number"==typeof s.exitCode?String(s.exitCode):"string"==typeof s.exitCode?s.exitCode:""]})]}),v&&"done"===n&&(0,o.jsxs)("div",{className:"mt-1.5",children:[(0,o.jsx)("button",{type:"button",onClick:()=>h(e=>!e),className:"text-[11px] hover:underline cursor-pointer mb-1",style:{color:"var(--color-accent)"},children:x?"Hide changes":"Show changes"}),x&&(0,o.jsx)(rT,{diff:v})]}),b&&g&&"image"===y&&(0,o.jsx)("div",{className:"mt-1.5",children:(0,o.jsx)(nh,{path:g,single:!0})}),b&&g&&"video"===y&&(0,o.jsx)("video",{src:ne(g),controls:!0,preload:"metadata",className:"mt-1.5 rounded-lg max-w-[240px] max-h-[160px]",style:{border:"1px solid var(--color-border)"}}),b&&g&&"pdf"===y&&(0,o.jsxs)("a",{href:ne(g),target:"_blank",rel:"noopener noreferrer",className:"inline-flex items-center gap-2 mt-1.5 px-3 py-2 rounded-lg text-[12px]",style:{background:"var(--color-surface-hover)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)(ng,{}),(0,o.jsx)("span",{className:"truncate max-w-[200px]",children:null!=(t=g.split("/").pop())?t:g})]}),b&&g&&"audio"===y&&(0,o.jsx)("audio",{src:ne(g),controls:!0,preload:"metadata",className:"mt-1.5 max-w-[280px] h-8"}),m.length>0&&"running"!==n&&(0,o.jsx)("div",{className:"flex items-center gap-1.5 flex-wrap mt-1.5",children:m.map(e=>(0,o.jsx)(nm,{domain:e},e))}),("search"===c||"fetch"===c)&&"running"===n&&a&&(0,o.jsx)("div",{className:"flex items-center gap-1.5 flex-wrap mt-1.5",children:m.length>0?m.map(e=>(0,o.jsxs)("span",{className:"inline-flex items-center gap-1.5 h-7 px-2.5 rounded-full text-[12px]",style:{background:"var(--color-surface-hover)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("img",{src:ns(e),alt:"",width:14,height:14,className:"rounded-sm flex-shrink-0",loading:"lazy"}),e.replace(/^www\./,""),(0,o.jsx)("span",{className:"w-2 h-2 rounded-full animate-pulse",style:{background:"var(--color-accent)"}})]},e)):(0,o.jsxs)("span",{className:"inline-flex items-center gap-1 h-6 px-2 rounded-full text-[11px]",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("span",{className:"w-2 h-2 rounded-full animate-pulse",style:{background:"var(--color-accent)"}}),"fetch"===c?"Fetching...":"Searching..."]})}),"error"===n&&i&&(0,o.jsx)("div",{className:"mt-1.5 text-[12px] font-mono rounded-lg px-2.5 py-1.5",style:{color:"var(--color-error)",background:"color-mix(in srgb, var(--color-error) 6%, var(--color-surface))"},children:i}),!f&&!v&&!b&&"done"===n&&a&&Object.keys(a).length>0&&(0,o.jsx)("pre",{className:"mt-1 text-[11px] font-mono rounded-lg px-2.5 py-1.5 whitespace-pre-wrap break-all max-h-48 overflow-y-auto leading-relaxed",style:{color:"var(--color-text-muted)",background:"var(--color-bg)"},children:function(e){let t=[];for(let[r,o]of Object.entries(e)){if(null==o)continue;let e="string"==typeof o?o:JSON.stringify(o,null,2);t.push("".concat(r,": ").concat(e))}let r=t.join("\n");return r.length>2e3?r.slice(0,2e3)+"\n...":r}(a)}),f&&!b&&!v&&(0,o.jsxs)("div",{className:"mt-1",children:["done"===n&&(0,o.jsx)("button",{type:"button",onClick:()=>u(e=>!e),className:"text-[11px] hover:underline cursor-pointer",style:{color:"var(--color-accent)"},children:d?"Hide output":"Show output"}),(d||"running"===n)&&(0,o.jsx)("pre",{className:"mt-1 text-[11px] font-mono rounded-lg px-2.5 py-2 overflow-x-auto whitespace-pre-wrap break-all max-h-96 overflow-y-auto leading-relaxed",style:{color:"var(--color-text-muted)",background:"var(--color-bg)"},children:f.length>1e4?f.slice(0,1e4)+"\n... (truncated)":f})]})]})]})}function nm(e){let{domain:t}=e,r=t.replace(/^www\./,"");return(0,o.jsxs)("span",{className:"inline-flex items-center gap-1.5 h-7 px-2.5 rounded-full text-[12px]",style:{background:"var(--color-surface-hover)",color:"var(--color-text-secondary)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("img",{src:ns(t),alt:"",width:16,height:16,className:"rounded-sm flex-shrink-0",loading:"lazy"}),r]})}function nf(e){let{kind:t}=e,r="var(--color-text-muted)";switch(t){case"search":return(0,o.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]});case"fetch":return(0,o.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("path",{d:"M2 12h20"}),(0,o.jsx)("path",{d:"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"})]});case"read":return(0,o.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]});case"exec":return(0,o.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("polyline",{points:"4 17 10 11 4 5"}),(0,o.jsx)("line",{x1:"12",x2:"20",y1:"19",y2:"19"})]});case"write":return(0,o.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),(0,o.jsx)("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})]});case"image":return(0,o.jsxs)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}),(0,o.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,o.jsx)("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]});default:return(0,o.jsx)("svg",{width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("circle",{cx:"12",cy:"12",r:"1"})})}}function nv(){return(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-error)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("line",{x1:"15",x2:"9",y1:"9",y2:"15"}),(0,o.jsx)("line",{x1:"9",x2:"15",y1:"9",y2:"15"})]})}function ng(){return(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),(0,o.jsx)("path",{d:"M10 9H8"}),(0,o.jsx)("path",{d:"M16 13H8"}),(0,o.jsx)("path",{d:"M16 17H8"})]})}function ny(e){let{className:t}=e;return(0,o.jsxs)("svg",{className:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7z"}),(0,o.jsx)("path",{d:"M10 21h4"}),(0,o.jsx)("path",{d:"M9 9.4a3 3 0 0 1 5.1-2"})]})}function nb(e){let{className:t}=e;return(0,o.jsx)("svg",{className:t,viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M3 4.5L6 7.5L9 4.5"})})}let nj=null,nk=["typescript","tsx","javascript","jsx","python","ruby","go","rust","java","c","cpp","csharp","swift","kotlin","css","scss","html","xml","json","yaml","toml","bash","sql","graphql","markdown","diff","php","lua","vue","svelte","dart","zig"];function nw(e){let{code:t,lang:r}=e,[n,a]=(0,l.useState)(null);return((0,l.useEffect)(()=>{let e=!1;return(!nj&&(nj=(0,rY.O_)({themes:["github-dark","github-light"],langs:nk})),nj).then(o=>{if(!e)try{let e=o.codeToHtml(t,{lang:r,themes:{dark:"github-dark",light:"github-light"}});a(e)}catch(e){try{let e=o.codeToHtml(t,{lang:"text",themes:{dark:"github-dark",light:"github-light"}});a(e)}catch(e){}}}),()=>{e=!0}},[t,r]),n)?(0,o.jsx)("div",{className:"syntax-block",dangerouslySetInnerHTML:{__html:n}}):(0,o.jsx)("code",{className:"block",children:t})}let nN=(0,rj.default)(()=>r.e(5477).then(r.bind(r,45477)).then(e=>({default:e.ReportCard})),{loadableGenerated:{webpack:()=>[45477]},ssr:!1,loading:()=>(0,o.jsx)("div",{className:"h-48 rounded-2xl animate-pulse",style:{background:"var(--color-surface-hover)"}})}),nC="NO_REPLY";function nS(e){return"output-available"===e?"done":"error"===e?"error":"running"}function nL(e){if(e&&"object"==typeof e&&!Array.isArray(e))return e}function nM(e){let{paths:t}=e;return(0,o.jsx)("div",{className:"flex flex-wrap gap-1.5 mb-2 justify-end",children:t.map((e,t)=>{var r,l,n;let a=function(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic"].includes(o)?"image":["mp4","webm","mov","avi","mkv","flv"].includes(o)?"video":["mp3","wav","ogg","aac","flac","m4a"].includes(o)?"audio":"pdf"===o?"pdf":["js","ts","tsx","jsx","py","rb","go","rs","java","cpp","c","h","css","html","json","yaml","yml","toml","md","sh","bash","sql","swift","kt"].includes(o)?"code":["doc","docx","xls","xlsx","ppt","pptx","txt","rtf","csv","pages","numbers","key"].includes(o)?"document":"other"}(e),s="image"===a?"/api/workspace/raw-file?path=".concat(encodeURIComponent(e)):"/api/workspace/thumbnail?path=".concat(encodeURIComponent(e),"&size=200"),i=null!=(l=null==(r=e.split(".").pop())?void 0:r.toUpperCase())?l:"";return(0,o.jsxs)("div",{className:"relative rounded-xl overflow-hidden shrink-0",children:[(0,o.jsx)("img",{src:s,alt:null!=(n=e.split("/").pop())?n:"",className:"block rounded-xl object-cover",style:{maxHeight:140,maxWidth:160,background:"rgba(0,0,0,0.04)"},loading:"lazy",onError:e=>{e.currentTarget.style.display="none"}}),"image"!==a&&(0,o.jsx)("span",{className:"absolute bottom-2 left-2 rounded-md px-1.5 py-0.5 text-[10px] font-bold uppercase",style:{background:"rgba(255,255,255,0.85)",color:"rgba(0,0,0,0.5)",backdropFilter:"blur(4px)"},children:i})]},t)})})}function nT(e){let t=e.trim();if(!t||t.length<3||t.length>500)return!1;if(t.startsWith("~/")||t.startsWith("/")||t.startsWith("./")||t.startsWith("../")){let e=t.startsWith("~/")?t.slice(2):t.startsWith("../")?t.slice(3):t.startsWith("./")?t.slice(2):t.slice(1);return e.includes("/")||e.includes(".")}return!(!/\.(pdf|docx?|xlsx?|pptx?|csv|txt|rtf|pages|numbers|key|md|json|yaml|yml|toml|xml|html?|css|jsx?|tsx?|py|rb|go|rs|java|cpp|c|h|sh|sql|swift|kt|png|jpe?g|gif|webp|svg|bmp|ico|heic|tiff|mp[34]|webm|mov|avi|mkv|flv|wav|ogg|aac|flac|m4a|zip|tar|gz|dmg)$/i.test(t)||t.includes(" "))}async function nE(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{let r=await fetch("/api/workspace/open-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e,reveal:t})});if(!r.ok){let e=await r.json().catch(()=>({}));console.error("Failed to open file:",e)}}catch(e){console.error("Failed to open file:",e)}}function nW(e){let t=e.trim();if(!t.startsWith("file://"))return t;try{let e=new URL(t);if("file:"!==e.protocol)return t;let r=decodeURIComponent(e.pathname);if(/^\/[A-Za-z]:\//.test(r))return r.slice(1);return r}catch(e){return t}}function nR(e){let{path:t,children:r,onFilePathClick:n}=e,[a,s]=(0,l.useState)("idle"),i=async e=>{e.preventDefault(),s("opening");try{if(n){let e=await n(t);if(!1===e){s("error"),setTimeout(()=>s("idle"),2e3);return}s("idle")}else(await fetch("/api/workspace/open-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:t})})).ok?s("idle"):(s("error"),setTimeout(()=>s("idle"),2e3))}catch(e){s("error"),setTimeout(()=>s("idle"),2e3)}},c=async e=>{e.preventDefault(),await nE(t,!0)};return(0,o.jsx)("code",{className:"px-[0.3em] no-underline transition-colors duration-150 rounded-[4px] border border-[color:var(--color-border)] bg-white/20 hover:bg-white/40 active:bg-white ".concat("opening"===a?"cursor-wait opacity-70":"cursor-pointer"),style:{color:"var(--color-accent)"},onClick:i,onContextMenu:c,title:"error"===a?"File not found":n?"Click to preview in workspace \xb7 Right-click to reveal in Finder":"Click to open \xb7 Right-click to reveal in Finder",children:r})}let nD=(0,l.memo)(function(e){let{message:t,isStreaming:r,onSubagentClick:n,onFilePathClick:a}=e,s="user"===t.role,i=function(e){let t=[],r=[],o=e=>{if(r.length>0){if(e)for(let e of r)"tool"===e.kind&&"running"===e.status&&(e.status="done");t.push({type:"chain",parts:[...r]}),r=[]}};for(let u of e)if("text"===u.type){let e=u.text;if(function(e){let t=e.trim();return!!t&&!!(new RegExp("^".concat(nC,"\\W*$")).test(t)||nC.startsWith(t)&&t.length>=2&&t.length<nC.length)}(e))continue;if(o(!0),rw(e))t.push(...rk(e));else if(rC(e))for(let r of rN(e))"diff-artifact"===r.type?t.push({type:"diff-artifact",diff:r.diff}):t.push({type:"text",text:r.text});else t.push({type:"text",text:e})}else if("reasoning"===u.type){let e=u;["Preparing response...","Optimizing session context...","Waiting for subagent results...","Waiting for subagents..."].some(t=>e.text.startsWith(t))||r.push({kind:"reasoning",text:e.text,isStreaming:"streaming"===e.state})}else if("dynamic-tool"===u.type)if("sessions_spawn"===u.toolName){o(!0);let e=nL(u.input),r="string"==typeof(null==e?void 0:e.task)?e.task:"Subagent task",l="string"==typeof(null==e?void 0:e.label)?e.label:void 0;t.push({type:"subagent-card",task:r,label:l,status:nS(u.state)})}else r.push({kind:"tool",toolName:u.toolName,toolCallId:u.toolCallId,status:nS(u.state),args:nL(u.input),output:nL(u.output)});else if(u.type.startsWith("tool-")){var l,n,a,s,i,c,d;let e=null!=(n=null!=(l=u.title)?l:u.toolName)?n:u.type.replace("tool-","");if("sessions_spawn"===e){o(!0);let e=null!=(a=nL(u.input))?a:nL(u.args),r="string"==typeof(null==e?void 0:e.task)?e.task:"Subagent task",l="string"==typeof(null==e?void 0:e.label)?e.label:void 0,n=null!=(s=u.state)?s:u.errorText?"error":"result"in u||"output"in u?"output-available":"input-available";t.push({type:"subagent-card",task:r,label:l,status:nS(n)})}else{let t=null!=(i=u.state)?i:u.errorText?"error":"result"in u||"output"in u?"output-available":"input-available";r.push({kind:"tool",toolName:e,toolCallId:u.toolCallId,status:nS(t),args:null!=(c=nL(u.input))?c:nL(u.args),output:null!=(d=nL(u.output))?d:nL(u.result)})}}return o(),t}(t.parts),c=(0,l.useMemo)(()=>({a:e=>{let{href:t,children:r,...l}=e,n="string"==typeof t?t:"",s=nW(n),i=n&&(n.startsWith("http://")||n.startsWith("https://")||n.startsWith("//")),c=!n.startsWith("/workspace")&&(!!n.startsWith("file://")||nT(s));return(0,o.jsx)("a",{href:t,...i?{target:"_blank",rel:"noopener noreferrer"}:{},...l,onClick:e=>{c&&a&&(e.preventDefault(),a(s))},children:r})},img:e=>{let{src:t,alt:r,...l}=e,n="string"!=typeof t||t.startsWith("http://")||t.startsWith("https://")||t.startsWith("data:")?t:"/api/workspace/raw-file?path=".concat(encodeURIComponent(t));return(0,o.jsx)("img",{src:n,alt:null!=r?r:"",loading:"lazy",...l})},pre:e=>{let{children:t,...r}=e,l=Array.isArray(t)?t[0]:t;if(l&&"object"==typeof l&&"type"in l&&"code"===l.type){var n,a,s,i;let e=(null!=(s=null==(n=l.props)?void 0:n.className)?s:"").match(/language-(\w+)/),t=null!=(i=null==e?void 0:e[1])?i:"",r="string"==typeof(null==(a=l.props)?void 0:a.children)?l.props.children.replace(/\n$/,""):"";if("diff"===t)return(0,o.jsx)(rT,{diff:r});if(t)return(0,o.jsxs)("div",{className:"chat-code-block",children:[(0,o.jsx)("div",{className:"chat-code-lang",children:t}),(0,o.jsx)(nw,{code:r,lang:t})]})}return(0,o.jsx)("pre",{...r,children:t})},code:e=>{let{children:t,className:r,...l}=e;if(null==r?void 0:r.startsWith("language-"))return(0,o.jsx)("code",{className:r,...l,children:t});let n=nW("string"==typeof t?t:"");return n&&nT(n)?(0,o.jsx)(nR,{path:n,onFilePathClick:a,children:t}):(0,o.jsx)("code",{...l,children:t})},strong:e=>{let{children:t,...r}=e,l="string"==typeof t?t:Array.isArray(t)?t.filter(e=>"string"==typeof e).join(""):"";return l&&function(e){let t=e.trim();return!!t&&!(t.length<3)&&!(t.length>300)&&/\.(pdf|docx?|xlsx?|pptx?|csv|txt|rtf|pages|numbers|key|md|json|yaml|yml|toml|xml|html?|css|jsx?|tsx?|py|rb|go|rs|java|cpp|c|h|sh|sql|swift|kt|png|jpe?g|gif|webp|svg|bmp|ico|heic|tiff|mp[34]|webm|mov|avi|mkv|flv|wav|ogg|aac|flac|m4a|zip|tar|gz|dmg)$/i.test(t)}(l)?(0,o.jsx)("strong",{...r,children:(0,o.jsx)(nR,{path:l,onFilePathClick:a,children:t})}):(0,o.jsx)("strong",{...r,children:t})}}),[a]);if(s){let e=i.filter(e=>"text"===e.type).map(e=>e.text).join("\n"),t=function(e){var t;let r=e.match(/\[Attached files: (.+?)\]/);if(!r)return null;let o=(null!=(t=r.index)?t:0)+r[0].length,l=e.slice(o).trim();return{paths:r[1].split(", ").map(e=>e.trim()).filter(Boolean),message:l}}(e);return t?(0,o.jsxs)("div",{className:"flex flex-col items-end gap-1.5 py-2",children:[(0,o.jsx)(nM,{paths:t.paths}),t.message&&(0,o.jsx)("div",{className:"max-w-[80%] w-fit rounded-2xl rounded-br-sm px-3 py-2 text-sm leading-6 break-words chat-message-font",style:{background:"var(--color-user-bubble)",color:"var(--color-user-bubble-text)"},children:(0,o.jsx)("p",{className:"whitespace-pre-wrap break-words",children:t.message})})]}):(0,o.jsx)("div",{className:"flex justify-end py-2",children:(0,o.jsx)("div",{className:"max-w-[80%] min-w-0 rounded-2xl rounded-br-sm px-3 py-2 text-sm leading-6 overflow-hidden break-words chat-message-font",style:{background:"var(--color-user-bubble)",color:"var(--color-user-bubble-text)"},children:(0,o.jsx)("p",{className:"whitespace-pre-wrap break-words text-right",children:e})})})}return(0,o.jsx)("div",{className:"py-3 space-y-2 min-w-0 overflow-hidden",children:(0,o.jsx)(l1.N,{initial:!1,children:i.map((e,t)=>{if("text"===e.type){let r=e.text.match(/^\[error\]\s*([\s\S]*)$/);return r?(0,o.jsxs)("div",{className:"chat-message-font flex items-start gap-2 rounded-xl px-3 py-2 text-[13px] leading-relaxed overflow-hidden",style:{background:"color-mix(in srgb, var(--color-error) 6%, var(--color-surface))",color:"var(--color-error)",border:"1px solid color-mix(in srgb, var(--color-error) 18%, transparent)"},children:[(0,o.jsx)("span",{className:"flex-shrink-0 mt-0.5","aria-hidden":"true",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,o.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]})}),(0,o.jsx)("span",{className:"whitespace-pre-wrap break-all min-w-0",children:r[1].trim()})]},t):(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},className:"chat-prose chat-message-font text-sm",style:{color:"var(--color-text)"},children:(0,o.jsx)(l4.oz,{remarkPlugins:[l5.A],components:c,children:e.text})},"text-".concat(t))}if("report-artifact"===e.type)return(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:(0,o.jsx)(nN,{config:e.config})},"report-".concat(t));if("diff-artifact"===e.type)return(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:(0,o.jsx)(rT,{diff:e.diff})},"diff-".concat(t));if("subagent-card"===e.type){let r=e.task.length>80?e.task.slice(0,80)+"...":e.task,l="running"===e.status;return(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:(0,o.jsx)("button",{type:"button",onClick:()=>null==n?void 0:n(e.task),className:"w-full text-left rounded-xl px-3.5 py-2.5 transition-colors cursor-pointer",style:{background:"var(--color-accent-light)",border:"1px solid color-mix(in srgb, var(--color-accent) 20%, transparent)"},children:(0,o.jsxs)("div",{className:"flex items-center gap-2.5",children:[l?(0,o.jsx)("span",{className:"inline-block w-2 h-2 rounded-full animate-pulse flex-shrink-0",style:{background:"var(--color-accent)"}}):(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0",style:{color:"var(--color-accent)"},children:[(0,o.jsx)("path",{d:"M16 3h5v5"}),(0,o.jsx)("path",{d:"m21 3-7 7"}),(0,o.jsx)("path",{d:"M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6"})]}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)("div",{className:"flex items-center gap-2",children:(0,o.jsx)("span",{className:"text-[10px] font-semibold uppercase tracking-wider",style:{color:"var(--color-accent)"},children:l?"Running Subagent":"Subagent"})}),(0,o.jsx)("p",{className:"text-xs mt-0.5 leading-relaxed",style:{color:"var(--color-text)"},children:e.label||r})]}),(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0 opacity-40",style:{color:"var(--color-text)"},children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})]})})},"subagent-".concat(t))}return(0,o.jsx)(l2.P.div,{initial:{opacity:0,y:4},animate:{opacity:1,y:0},transition:{duration:.2,ease:"easeOut"},children:(0,o.jsx)(nc,{parts:e.parts,isStreaming:r})},"chain-".concat(t))})})})}),nI={folder:{bg:"rgba(245, 158, 11, 0.12)",fg:"#f59e0b"},image:{bg:"rgba(16, 185, 129, 0.12)",fg:"#10b981"},video:{bg:"rgba(139, 92, 246, 0.12)",fg:"#8b5cf6"},audio:{bg:"rgba(245, 158, 11, 0.12)",fg:"#f59e0b"},pdf:{bg:"rgba(239, 68, 68, 0.12)",fg:"#ef4444"},code:{bg:"rgba(59, 130, 246, 0.12)",fg:"#3b82f6"},document:{bg:"rgba(107, 114, 128, 0.12)",fg:"#6b7280"},other:{bg:"rgba(107, 114, 128, 0.08)",fg:"#9ca3af"}};function nB(e){let{category:t,size:r=16}=e,l={width:r,height:r,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};switch(t){case"folder":return(0,o.jsx)("svg",{...l,children:(0,o.jsx)("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})});case"image":return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}),(0,o.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,o.jsx)("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]});case"video":return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"}),(0,o.jsx)("rect",{x:"2",y:"6",width:"14",height:"12",rx:"2"})]});case"audio":return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,o.jsx)("circle",{cx:"18",cy:"16",r:"3"})]});case"pdf":return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("path",{d:"M10 13h4"}),(0,o.jsx)("path",{d:"M10 17h4"})]});case"code":return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"})]});case"document":return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("path",{d:"M16 13H8"}),(0,o.jsx)("path",{d:"M16 17H8"}),(0,o.jsx)("path",{d:"M10 9H8"})]});default:return(0,o.jsxs)("svg",{...l,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"})]})}}function nF(e){let{open:t,onClose:r,onSelect:n}=e,[a,s]=(0,l.useState)(null),[i,c]=(0,l.useState)(""),[d,u]=(0,l.useState)([]),[x,h]=(0,l.useState)(null),[p,m]=(0,l.useState)(new Map),[f,v]=(0,l.useState)(!1),[g,y]=(0,l.useState)(""),[b,j]=(0,l.useState)(!1),[k,w]=(0,l.useState)(""),[N,C]=(0,l.useState)(null),[S,L]=(0,l.useState)(!1);(0,l.useEffect)(()=>{t?requestAnimationFrame(()=>requestAnimationFrame(()=>L(!0))):L(!1)},[t]),(0,l.useEffect)(()=>{t||(y(""),j(!1),w(""),C(null))},[t]);let M=(0,l.useRef)(null),T=(0,l.useRef)(null),E=(0,l.useCallback)(async e=>{v(!0),C(null);try{var t;let r=e?"/api/workspace/browse?dir=".concat(encodeURIComponent(e)):"/api/workspace/browse",o=await fetch(r);if(!o.ok)throw Error("Failed to list directory");let l=await o.json();u(l.entries||[]),c(l.currentDir||""),h(null!=(t=l.parentDir)?t:null)}catch(e){C("Could not load this directory"),u([])}finally{v(!1)}},[]);(0,l.useEffect)(()=>{t&&E(a)},[t,a,E]),(0,l.useEffect)(()=>{if(!t)return;let e=e=>{"Escape"===e.key&&r()};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[t,r]);let W=(0,l.useCallback)(e=>{m(t=>{let r=new Map(t);return r.has(e.path)?r.delete(e.path):r.set(e.path,{name:e.name,path:e.path}),r})},[]),R=(0,l.useCallback)(e=>{s(e),y(""),j(!1)},[]),D=(0,l.useCallback)(async()=>{if(!k.trim()||!i)return;let e="".concat(i,"/").concat(k.trim());try{await fetch("/api/workspace/mkdir",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:e})}),j(!1),w(""),E(a)}catch(e){C("Failed to create folder")}},[k,i,a,E]),I=(0,l.useCallback)(()=>{n(Array.from(p.values())),m(new Map),r()},[p,n,r]),B=d.filter(e=>!g||e.name.toLowerCase().includes(g.toLowerCase())).toSorted((e,t)=>"folder"===e.type&&"folder"!==t.type?-1:"folder"!==e.type&&"folder"===t.type?1:e.name.localeCompare(t.name)),F=i?function(e){let t=[],r=e.match(/^(\/Users\/[^/]+|\/home\/[^/]+)/),o=null==r?void 0:r[1];if(o){t.push({label:"~",path:o});let r=e.slice(o.length).split("/").filter(Boolean),l=o;for(let e of r)l+="/"+e,t.push({label:e,path:l})}else if("/"===e)t.push({label:"/",path:"/"});else{t.push({label:"/",path:"/"});let r=e.split("/").filter(Boolean),o="";for(let e of r)o+="/"+e,t.push({label:e,path:o})}return t}(i):[];return t?(0,o.jsxs)("div",{className:"fixed inset-0 z-50 flex items-center justify-center",style:{opacity:+!!S,transition:"opacity 150ms ease-out"},children:[(0,o.jsx)("div",{className:"absolute inset-0",style:{background:"rgba(0,0,0,0.4)",backdropFilter:"blur(4px)"},onClick:r}),(0,o.jsxs)("div",{className:"relative flex flex-col rounded-2xl shadow-2xl overflow-hidden w-[calc(100%-2rem)] max-w-[540px]",style:{maxHeight:"70vh",background:"var(--color-surface)",border:"1px solid var(--color-border)",transform:S?"scale(1)":"scale(0.97)",transition:"transform 150ms ease-out"},children:[(0,o.jsxs)("div",{className:"flex items-center justify-between px-5 py-3.5 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("div",{className:"flex items-center gap-2.5",children:[(0,o.jsx)("div",{className:"w-8 h-8 rounded-lg flex items-center justify-center",style:{background:nI.folder.bg,color:nI.folder.fg},children:(0,o.jsx)(nB,{category:"folder",size:18})}),(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{className:"text-sm font-semibold",style:{color:"var(--color-text)"},children:"Select Files"}),(0,o.jsx)("p",{className:"text-[11px]",style:{color:"var(--color-text-muted)"},children:"Browse and attach files"})]})]}),(0,o.jsx)("button",{type:"button",onClick:r,className:"w-7 h-7 rounded-lg flex items-center justify-center",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]}),i&&(0,o.jsx)("div",{className:"flex items-center gap-1 px-5 py-2 border-b overflow-x-auto flex-shrink-0",style:{borderColor:"var(--color-border)",scrollbarWidth:"thin"},children:F.map((e,t)=>(0,o.jsxs)(l.Fragment,{children:[t>0&&(0,o.jsx)("span",{className:"text-[10px] flex-shrink-0",style:{color:"var(--color-text-muted)",opacity:.5},children:"/"}),(0,o.jsx)("button",{type:"button",onClick:()=>R(e.path),className:"text-[12px] font-medium flex-shrink-0 rounded px-1 py-0.5 hover:underline",style:{color:t===F.length-1?"var(--color-text)":"var(--color-text-muted)"},children:e.label})]},e.path))}),(0,o.jsxs)("div",{className:"flex items-center gap-2 px-4 py-2 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("div",{className:"flex-1 flex items-center gap-2 rounded-lg px-2.5 py-1.5",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)"},children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{color:"var(--color-text-muted)",flexShrink:0},children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]}),(0,o.jsx)("input",{ref:M,type:"text",value:g,onChange:e=>y(e.target.value),placeholder:"Filter files...",className:"flex-1 bg-transparent outline-none text-[13px] placeholder:text-[var(--color-text-muted)]",style:{color:"var(--color-text)"}})]}),(0,o.jsxs)("button",{type:"button",onClick:()=>{j(!0),setTimeout(()=>{var e;return null==(e=T.current)?void 0:e.focus()},50)},className:"flex items-center gap-1.5 px-2.5 py-1.5 rounded-lg text-[12px] font-medium whitespace-nowrap",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)",border:"1px solid var(--color-border)"},children:[(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:[(0,o.jsx)("path",{d:"M12 5v14"}),(0,o.jsx)("path",{d:"M5 12h14"})]}),"Folder"]})]}),(0,o.jsx)("div",{className:"flex-1 overflow-y-auto",style:{background:"var(--color-bg)",minHeight:200},children:f?(0,o.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,o.jsx)("div",{className:"w-5 h-5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})}):N?(0,o.jsx)("div",{className:"flex items-center justify-center py-16 text-[13px]",style:{color:"var(--color-text-muted)"},children:N}):(0,o.jsxs)(o.Fragment,{children:[x&&(0,o.jsxs)("button",{type:"button",onClick:()=>R(x),className:"w-full flex items-center gap-3 px-4 py-2 text-left",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)("div",{className:"w-7 h-7 rounded-md flex items-center justify-center flex-shrink-0",style:{background:"var(--color-surface-hover)"},children:(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m15 18-6-6 6-6"})})}),(0,o.jsx)("span",{className:"text-[13px] font-medium",children:".."})]}),b&&(0,o.jsxs)("div",{className:"flex items-center gap-3 px-4 py-2",children:[(0,o.jsx)("div",{className:"w-7 h-7 rounded-md flex items-center justify-center flex-shrink-0",style:{background:nI.folder.bg,color:nI.folder.fg},children:(0,o.jsx)(nB,{category:"folder"})}),(0,o.jsx)("input",{ref:T,type:"text",value:k,onChange:e=>w(e.target.value),onKeyDown:e=>{"Enter"===e.key&&D(),"Escape"===e.key&&(j(!1),w(""))},placeholder:"Folder name...",className:"flex-1 bg-transparent outline-none text-[13px] placeholder:text-[var(--color-text-muted)] rounded px-2 py-1",style:{color:"var(--color-text)",background:"var(--color-surface)",border:"1px solid var(--color-accent)"}})]}),0===B.length&&!x&&(0,o.jsx)("div",{className:"flex items-center justify-center py-16 text-[13px]",style:{color:"var(--color-text-muted)"},children:"This folder is empty"}),B.map(e=>{var t;let r="folder"===e.type,l=r?"folder":function(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic"].includes(o)?"image":["mp4","webm","mov","avi","mkv","flv"].includes(o)?"video":["mp3","wav","ogg","aac","flac","m4a"].includes(o)?"audio":"pdf"===o?"pdf":["js","ts","tsx","jsx","py","rb","go","rs","java","cpp","c","h","css","html","json","yaml","yml","toml","md","sh","bash","sql","swift","kt"].includes(o)?"code":["doc","docx","xls","xlsx","ppt","pptx","txt","rtf","csv"].includes(o)?"document":"other"}(e.name),n=null!=(t=nI[l])?t:nI.other,a=p.has(e.path);return(0,o.jsxs)("div",{className:"flex items-center gap-3 px-4 py-1.5 group cursor-pointer",style:{background:a?"color-mix(in srgb, var(--color-accent) 8%, transparent)":void 0},onClick:()=>{r?R(e.path):W(e)},children:[(0,o.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),W(e)},className:"w-4 h-4 rounded flex items-center justify-center flex-shrink-0 border",style:{borderColor:a?"var(--color-accent)":"var(--color-border-strong)",background:a?"var(--color-accent)":"transparent"},children:a&&(0,o.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"white",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("polyline",{points:"20 6 9 17 4 12"})})}),(0,o.jsx)("div",{className:"w-7 h-7 rounded-md flex items-center justify-center flex-shrink-0",style:{background:n.bg,color:n.fg},children:(0,o.jsx)(nB,{category:l})}),(0,o.jsx)("span",{className:"flex-1 text-[13px] truncate",style:{color:"var(--color-text)",fontWeight:r?500:400},title:e.path,children:e.name}),r&&(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0 opacity-0 group-hover:opacity-50 transition-opacity",children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})]},e.path)})]})}),(0,o.jsxs)("div",{className:"flex items-center justify-between px-5 py-3 border-t flex-shrink-0",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsx)("span",{className:"text-[12px]",style:{color:"var(--color-text-muted)"},children:p.size>0?"".concat(p.size," ").concat(1===p.size?"item":"items"," selected"):"No files selected"}),(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("button",{type:"button",onClick:r,className:"px-3 py-1.5 rounded-lg text-[13px] font-medium",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)",border:"1px solid var(--color-border)"},children:"Cancel"}),(0,o.jsxs)("button",{type:"button",onClick:I,disabled:0===p.size,className:"px-3 py-1.5 rounded-lg text-[13px] font-medium disabled:opacity-40 disabled:cursor-not-allowed",style:{color:"white",background:p.size>0?"var(--color-accent)":"var(--color-border-strong)"},children:["Attach"," ",p.size>0&&"".concat(p.size," ").concat(1===p.size?"file":"files")]})]})]})]})]}):null}var n_=r(48997),nP=r(79534);let nA=new(r(63550)).hs("chatFileMention"),nz=nP.bP.create({name:"chatFileMention",group:"inline",inline:!0,atom:!0,selectable:!0,draggable:!0,addAttributes:()=>({label:{default:""},path:{default:""},mentionType:{default:"file"},objectName:{default:""}}),parseHTML:()=>[{tag:"span[data-chat-file-mention]"}],renderHTML(e){let{HTMLAttributes:t}=e,r=t.label||"file",o=function(e,t){var r,o;if("object"===t)return{bg:"rgba(14,165,233,0.15)",fg:"#0ea5e9"};if("entry"===t)return{bg:"rgba(34,197,94,0.15)",fg:"#22c55e"};let l=null!=(o=null==(r=e.split(".").pop())?void 0:r.toLowerCase())?o:"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic"].includes(l)?{bg:"rgba(16,185,129,0.15)",fg:"#10b981"}:["mp4","webm","mov","avi","mkv","flv"].includes(l)?{bg:"rgba(139,92,246,0.15)",fg:"#8b5cf6"}:["mp3","wav","ogg","aac","flac","m4a"].includes(l)?{bg:"rgba(245,158,11,0.15)",fg:"#f59e0b"}:"pdf"===l?{bg:"rgba(239,68,68,0.15)",fg:"#ef4444"}:["js","ts","tsx","jsx","py","rb","go","rs","java","cpp","c","h","css","html","json","yaml","yml","toml","md","sh","bash","sql","swift","kt"].includes(l)?{bg:"rgba(59,130,246,0.15)",fg:"#3b82f6"}:["doc","docx","xls","xlsx","ppt","pptx","txt","rtf","csv"].includes(l)?{bg:"rgba(107,114,128,0.15)",fg:"#6b7280"}:{bg:"rgba(107,114,128,0.10)",fg:"#9ca3af"}}(r,t.mentionType);return["span",(0,nP.KV)({"data-chat-file-mention":"",class:"chat-file-mention",style:"--mention-bg: ".concat(o.bg,"; --mention-fg: ").concat(o.fg,";"),title:t.path||""},t),"@".concat(r)]}}),nO={folder:{bg:"rgba(245, 158, 11, 0.12)",fg:"#f59e0b"},image:{bg:"rgba(16, 185, 129, 0.12)",fg:"#10b981"},video:{bg:"rgba(139, 92, 246, 0.12)",fg:"#8b5cf6"},audio:{bg:"rgba(245, 158, 11, 0.12)",fg:"#f59e0b"},pdf:{bg:"rgba(239, 68, 68, 0.12)",fg:"#ef4444"},code:{bg:"rgba(59, 130, 246, 0.12)",fg:"#3b82f6"},document:{bg:"rgba(107, 114, 128, 0.12)",fg:"#6b7280"},database:{bg:"rgba(168, 85, 247, 0.12)",fg:"#a855f7"},object:{bg:"rgba(14, 165, 233, 0.12)",fg:"#0ea5e9"},entry:{bg:"rgba(34, 197, 94, 0.12)",fg:"#22c55e"},other:{bg:"rgba(107, 114, 128, 0.08)",fg:"#9ca3af"}};function nU(e){let{category:t}=e,r={width:12,height:12,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};switch(t){case"folder":return(0,o.jsx)("svg",{...r,children:(0,o.jsx)("path",{d:"M4 20h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.93a2 2 0 0 1-1.66-.9l-.82-1.2A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13c0 1.1.9 2 2 2Z"})});case"image":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}),(0,o.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,o.jsx)("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]});case"video":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"}),(0,o.jsx)("rect",{x:"2",y:"6",width:"14",height:"12",rx:"2"})]});case"audio":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,o.jsx)("circle",{cx:"18",cy:"16",r:"3"})]});case"pdf":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("path",{d:"M10 13h4"}),(0,o.jsx)("path",{d:"M10 17h4"})]});case"code":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"})]});case"database":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),(0,o.jsx)("path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}),(0,o.jsx)("path",{d:"M3 12A9 3 0 0 0 21 12"})]});case"object":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("rect",{x:"3",y:"3",width:"7",height:"7",rx:"1"}),(0,o.jsx)("rect",{x:"14",y:"3",width:"7",height:"7",rx:"1"}),(0,o.jsx)("rect",{x:"3",y:"14",width:"7",height:"7",rx:"1"}),(0,o.jsx)("rect",{x:"14",y:"14",width:"7",height:"7",rx:"1"})]});case"entry":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),(0,o.jsx)("circle",{cx:"9",cy:"7",r:"4"}),(0,o.jsx)("path",{d:"M22 21v-2a4 4 0 0 0-3-3.87"}),(0,o.jsx)("path",{d:"M16 3.13a4 4 0 0 1 0 7.75"})]});default:return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"})]})}}let nH=(0,l.forwardRef)((e,t)=>{let{items:r,command:n,loading:a}=e,[s,i]=(0,l.useState)(0),c=(0,l.useRef)(null);(0,l.useEffect)(()=>{i(0)},[r]),(0,l.useEffect)(()=>{var e;let t=null==(e=c.current)?void 0:e.children[s];null==t||t.scrollIntoView({block:"nearest"})},[s]);let d=(0,l.useCallback)(e=>{let t=r[e];t&&n(t)},[r,n]);return((0,l.useImperativeHandle)(t,()=>({onKeyDown:e=>{let{event:t}=e;return"ArrowUp"===t.key?(i(e=>(e+r.length-1)%r.length),!0):"ArrowDown"===t.key?(i(e=>(e+1)%r.length),!0):("Enter"===t.key||"Tab"===t.key)&&(d(s),!0)}})),a)?(0,o.jsx)("div",{className:"rounded-xl py-3 px-4 shadow-xl",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",backdropFilter:"blur(12px)",minWidth:260},children:(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("div",{className:"w-3.5 h-3.5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-[12px]",style:{color:"var(--color-text-muted)"},children:"Searching..."})]})}):0===r.length?(0,o.jsx)("div",{className:"rounded-xl py-3 px-4 shadow-xl",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",backdropFilter:"blur(12px)",minWidth:260},children:(0,o.jsx)("span",{className:"text-[12px]",style:{color:"var(--color-text-muted)"},children:"No results found"})}):(0,o.jsx)("div",{ref:c,className:"rounded-xl py-1 shadow-xl overflow-y-auto",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",backdropFilter:"blur(12px)",minWidth:280,maxWidth:400,maxHeight:300},children:r.map((e,t)=>{var r;let l=function(e,t){var r,o;if("folder"===t)return"folder";if("database"===t)return"database";if("object"===t)return"object";if("entry"===t)return"entry";let l=null!=(o=null==(r=e.split(".").pop())?void 0:r.toLowerCase())?o:"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic"].includes(l)?"image":["mp4","webm","mov","avi","mkv","flv"].includes(l)?"video":["mp3","wav","ogg","aac","flac","m4a"].includes(l)?"audio":"pdf"===l?"pdf":["js","ts","tsx","jsx","py","rb","go","rs","java","cpp","c","h","css","html","json","yaml","yml","toml","md","sh","bash","sql","swift","kt"].includes(l)?"code":"document"===t?"document":"other"}(e.name,e.type),n=null!=(r=nO[l])?r:nO.other,a=e.icon&&RegExp("\\p{Emoji_Presentation}","u").test(e.icon),c="object"===e.type||"entry"===e.type,u="entry"===e.type&&e.objectName?e.objectName:c?e.type:e.path.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~").replace(/^[A-Z]:\\Users\\[^\\]+/,"~");return(0,o.jsxs)("button",{type:"button",className:"w-full flex items-center gap-2.5 px-3 py-1.5 text-left transition-colors",style:{background:t===s?"var(--color-surface-hover)":"transparent"},onClick:()=>d(t),onMouseEnter:()=>i(t),children:[(0,o.jsx)("div",{className:"w-6 h-6 rounded-md flex items-center justify-center flex-shrink-0",style:{background:n.bg,color:n.fg},children:a?(0,o.jsx)("span",{className:"text-[13px] leading-none",children:e.icon}):(0,o.jsx)(nU,{category:l})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)("div",{className:"text-[12px] font-medium truncate",style:{color:"var(--color-text)"},children:e.name}),(0,o.jsxs)("div",{className:"text-[10px] truncate flex items-center gap-1",style:{color:"var(--color-text-muted)"},title:c?u:e.path,children:[c&&(0,o.jsx)("span",{className:"inline-block rounded px-1 py-px text-[9px] font-medium leading-tight",style:{background:n.bg,color:n.fg},children:e.type}),u]})]}),"folder"===e.type&&(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0 opacity-40",children:(0,o.jsx)("path",{d:"m9 18 6-6-6-6"})})]},e.path)})})});function nV(e){let{items:t,command:r,clientRect:n,componentRef:a,loading:i}=e,c=(0,l.useRef)(null);return(0,l.useLayoutEffect)(()=>{if(!c.current||!n)return;let e=n();if(!e)return;let t=c.current,r=t.offsetHeight||200;window.innerHeight-e.bottom<r+8?(t.style.position="fixed",t.style.left="".concat(e.left,"px"),t.style.bottom="".concat(window.innerHeight-e.top+4,"px"),t.style.top="auto"):(t.style.position="fixed",t.style.left="".concat(e.left,"px"),t.style.top="".concat(e.bottom+4,"px"),t.style.bottom="auto"),t.style.zIndex="100"},[n,t,i]),(0,s.createPortal)((0,o.jsx)("div",{ref:c,children:(0,o.jsx)(nH,{ref:a,items:t,command:r,loading:i})}),document.body)}function nK(e){if(!e)return{text:"",mentionedFiles:[]};let t=[],r=[];return e.state.doc.descendants(e=>{if("chatFileMention"===e.type.name){let o=e.attrs.label,l=e.attrs.path,n=e.attrs.mentionType,a=e.attrs.objectName;return t.push({name:o,path:l}),"object"===n?r.push("[object: ".concat(o,"]")):"entry"===n?r.push("[entry: ".concat(a?"".concat(a,"/"):"").concat(o,"]")):r.push("[file: ".concat(l,"]")),!1}if(e.isText&&e.text&&r.push(e.text),"paragraph"===e.type.name&&r.length>0){let e=r[r.length-1];void 0!==e&&"\n"!==e&&r.push("\n")}return!0}),{text:r.join("").trim(),mentionedFiles:t}}nH.displayName="FileMentionList";let nJ=(0,l.forwardRef)(function(e,t){let{onSubmit:n,onChange:a,onNativeFileDrop:s,placeholder:i,disabled:c,compact:d}=e,u=(0,l.useRef)(n);u.current=n;let x=(0,l.useRef)(s);x.current=s;let h=(0,l.useRef)(null),p=(0,oF.hG)({immediatelyRender:!1,extensions:[oP.A.configure({heading:!1,codeBlock:!1,blockquote:!1,horizontalRule:!1,bulletList:!1,orderedList:!1,listItem:!1}),oq.A.configure({placeholder:null!=i?i:"Ask anything...",showOnlyWhenEditable:!1}),nz,nP.YY.create({name:"chatFileMentionSuggestion",addProseMirrorPlugins(){return[(0,n_.Ay)({editor:this.editor,char:"@",pluginKey:nA,startOfLine:!1,allowSpaces:!0,command:e=>{var t;let{editor:r,range:o,props:l}=e;if("folder"===l.type){let e=l.path.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~").replace(/^[A-Z]:\\Users\\[^\\]+/,"~");r.chain().focus().deleteRange(o).insertContent("@".concat(e,"/")).run();return}let n="object"===l.type?"object":"entry"===l.type?"entry":"file";r.chain().focus().deleteRange(o).insertContent([{type:"chatFileMention",attrs:{label:l.name,path:l.path,mentionType:n,objectName:null!=(t=l.objectName)?t:""}},{type:"text",text:" "}]).run()},items:e=>{let{query:t}=e;return[]},render:()=>{let e=null,t=null,l={current:null},n="",a=[],s=!1,i=null,c=null,d=null;function u(){t&&c&&t.render((0,o.jsx)(nV,{items:a,command:c,clientRect:d,componentRef:l,loading:s}))}async function x(e){s=!0,u();try{var t;let r=e.startsWith("/")||e.startsWith("~/")||e.startsWith("../")||e.startsWith("./")||e.includes("/")?"path=".concat(encodeURIComponent(e)):e?"q=".concat(encodeURIComponent(e)):"",o=await fetch("/api/workspace/suggest-files".concat(r?"?".concat(r):""));a=null!=(t=(await o.json()).items)?t:[]}catch(e){a=[]}s=!1,u()}function h(e){i&&clearTimeout(i),i=setTimeout(()=>{x(e)},120)}return{onStart:o=>{var l;e=document.createElement("div"),document.body.appendChild(e),c=o.command,d=null!=(l=o.clientRect)?l:null,n=o.query,Promise.resolve().then(r.t.bind(r,80282,19)).then(r=>{let{createRoot:o}=r;t=o(e),h(n)})},onUpdate:e=>{var t;c=e.command,d=null!=(t=e.clientRect)?t:null,h(n=e.query)},onKeyDown:r=>{var o,n;if("Escape"===r.event.key)return null==t||t.unmount(),null==e||e.remove(),e=null,t=null,!0;let a=null!=(n=null==(o=l.current)?void 0:o.onKeyDown(r))&&n;return a&&r.event.stopImmediatePropagation(),a},onExit:()=>{i&&clearTimeout(i),null==t||t.unmount(),null==e||e.remove(),e=null,t=null}}}})]}})],editorProps:{attributes:{class:"chat-editor-content ".concat(d?"chat-editor-compact":""),style:"color: var(--color-text);"},handleKeyDown:(e,t)=>("Enter"===t.key&&!t.shiftKey,!1),handleDOMEvents:{paste:(e,t)=>{let r=t.clipboardData;if(!r)return!1;let o=[];if(r.items){for(let e of Array.from(r.items))if("file"===e.kind){let t=e.getAsFile();t&&o.push(t)}}if(o.length>0){var l;t.preventDefault();let e=new DataTransfer;for(let t of o)e.items.add(t);return null==(l=x.current)||l.call(x,e.files),!0}return!1},dragover:(e,t)=>{var r,o;return!!((null==(r=t.dataTransfer)?void 0:r.types.includes("application/x-file-mention"))||(null==(o=t.dataTransfer)?void 0:o.types.includes("Files")))&&(t.preventDefault(),t.dataTransfer.dropEffect="copy",!0)},drop:(e,t)=>{var r,o,l,n;let a=null==(r=t.dataTransfer)?void 0:r.getData("application/x-file-mention");if(a){t.preventDefault(),t.stopPropagation();try{let{name:e,path:t}=JSON.parse(a);e&&t&&(null==(l=h.current)||l.chain().focus().insertContent([{type:"chatFileMention",attrs:{label:e,path:t}},{type:"text",text:" "}]).run())}catch(e){}return!0}let s=null==(o=t.dataTransfer)?void 0:o.files;return!!s&&s.length>0&&(t.preventDefault(),t.stopPropagation(),null==(n=x.current)||n.call(x,s),!0)}}},onUpdate:e=>{let{editor:t}=e;null==a||a(t.isEmpty)}});return(0,l.useEffect)(()=>{h.current=null!=p?p:null},[p]),(0,l.useEffect)(()=>{if(!p)return;let e=e=>{if("Enter"===e.key&&!e.shiftKey&&!e.isComposing){let t=nA.getState(p.state);if(null==t?void 0:t.active)return;e.preventDefault();let{text:r,mentionedFiles:o}=nK(p);(r.trim()||o.length>0)&&(u.current(r,o),p.commands.clearContent(!0))}},t=p.view.dom;return t.addEventListener("keydown",e),()=>t.removeEventListener("keydown",e)},[p]),(0,l.useEffect)(()=>{p&&p.setEditable(!c)},[p,c]),(0,l.useImperativeHandle)(t,()=>({insertFileMention:(e,t)=>{null==p||p.chain().focus().insertContent([{type:"chatFileMention",attrs:{label:e,path:t}},{type:"text",text:" "}]).run()},clear:()=>{null==p||p.commands.clearContent(!0)},focus:()=>{null==p||p.commands.focus()},isEmpty:()=>{var e;return null==(e=null==p?void 0:p.isEmpty)||e},submit:()=>{if(!p)return;let{text:e,mentionedFiles:t}=nK(p);(e.trim()||t.length>0)&&(u.current(e,t),p.commands.clearContent(!0))}})),(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(oF.$Z,{editor:p}),(0,o.jsx)("style",{children:"\n .chat-editor-content {\n outline: none;\n min-height: ".concat(d?"16px":"28px",";\n max-height: 200px;\n overflow-y: auto;\n padding: ").concat(d?"10px 12px":"14px 16px",";\n font-size: ").concat(d?"12px":"14px",';\n line-height: 1.5;\n transition: opacity 0.15s ease;\n }\n .chat-editor-content[contenteditable="false"] {\n opacity: 0.5;\n cursor: not-allowed;\n }\n .chat-editor-content p {\n margin: 0;\n }\n .chat-editor-content p.is-editor-empty:first-child::before {\n content: attr(data-placeholder);\n color: var(--color-text-muted);\n float: left;\n height: 0;\n pointer-events: none;\n }\n /* File mention pill styles */\n .chat-editor-content span[data-chat-file-mention] {\n display: inline-flex;\n align-items: center;\n gap: 4px;\n padding: 1px 8px 1px 6px;\n margin: 0 1px;\n border-radius: 6px;\n background: var(--mention-bg, rgba(59, 130, 246, 0.12));\n color: var(--mention-fg, #3b82f6);\n font-size: 12px;\n font-weight: 500;\n line-height: 1.6;\n vertical-align: baseline;\n cursor: default;\n user-select: all;\n white-space: nowrap;\n transition: opacity 0.15s ease;\n }\n .chat-editor-content span[data-chat-file-mention]::before {\n content: "@";\n opacity: 0.5;\n font-size: 11px;\n }\n .chat-editor-content span[data-chat-file-mention]:hover {\n opacity: 0.85;\n }\n .chat-editor-content.chat-editor-compact {\n min-height: 16px;\n }\n ')})]})});function nq(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return["jpg","jpeg","png","gif","webp","svg","bmp","ico","tiff","heic"].includes(o)?"image":["mp4","webm","mov","avi","mkv","flv"].includes(o)?"video":["mp3","wav","ogg","aac","flac","m4a"].includes(o)?"audio":"pdf"===o?"pdf":["js","ts","tsx","jsx","py","rb","go","rs","java","cpp","c","h","css","html","json","yaml","yml","toml","md","sh","bash","sql","swift","kt"].includes(o)?"code":["doc","docx","xls","xlsx","ppt","pptx","txt","rtf","csv","pages","numbers","key"].includes(o)?"document":"other"}let nG={image:{bg:"rgba(16, 185, 129, 0.12)",fg:"#10b981"},video:{bg:"rgba(139, 92, 246, 0.12)",fg:"#8b5cf6"},audio:{bg:"rgba(245, 158, 11, 0.12)",fg:"#f59e0b"},pdf:{bg:"rgba(239, 68, 68, 0.12)",fg:"#ef4444"},code:{bg:"rgba(59, 130, 246, 0.12)",fg:"#3b82f6"},document:{bg:"rgba(107, 114, 128, 0.12)",fg:"#6b7280"},other:{bg:"rgba(107, 114, 128, 0.08)",fg:"#9ca3af"}};function n$(e){let{category:t}=e,r={width:16,height:16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};switch(t){case"image":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2"}),(0,o.jsx)("circle",{cx:"9",cy:"9",r:"2"}),(0,o.jsx)("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})]});case"video":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"m16 13 5.223 3.482a.5.5 0 0 0 .777-.416V7.87a.5.5 0 0 0-.752-.432L16 10.5"}),(0,o.jsx)("rect",{x:"2",y:"6",width:"14",height:"12",rx:"2"})]});case"audio":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,o.jsx)("circle",{cx:"18",cy:"16",r:"3"})]});case"pdf":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("path",{d:"M10 13h4"}),(0,o.jsx)("path",{d:"M10 17h4"})]});case"code":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("polyline",{points:"16 18 22 12 16 6"}),(0,o.jsx)("polyline",{points:"8 6 2 12 8 18"})]});case"document":return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"}),(0,o.jsx)("path",{d:"M16 13H8"}),(0,o.jsx)("path",{d:"M16 17H8"}),(0,o.jsx)("path",{d:"M10 9H8"})]});default:return(0,o.jsxs)("svg",{...r,children:[(0,o.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,o.jsx)("path",{d:"M14 2v6h6"})]})}}function nZ(e){let{msg:t,idx:r,onEdit:n,onSendNow:a,onRemove:s}=e,[i,c]=(0,l.useState)(!1),[d,u]=(0,l.useState)(t.text),x=(0,l.useRef)(null),h=()=>{let e=x.current;e&&(e.style.height="auto",e.style.height="".concat(e.scrollHeight,"px"))};(0,l.useEffect)(()=>{if(i){var e,t,r,o;null==(e=x.current)||e.focus();let l=null!=(o=null==(t=x.current)?void 0:t.value.length)?o:0;null==(r=x.current)||r.setSelectionRange(l,l),h()}},[i]);let p=()=>{let e=d.trim();e&&e!==t.text?n(t.id,e):u(t.text),c(!1)};return(0,o.jsxs)("div",{className:"flex items-start gap-2.5 group py-2 ".concat(r>0?"border-t":""),style:r>0?{borderColor:"var(--color-border)"}:void 0,children:[(0,o.jsx)("span",{className:"shrink-0 mt-px text-[11px] font-medium tabular-nums w-4",style:{color:"var(--color-text-muted)"},children:r+1}),i?(0,o.jsx)("textarea",{ref:x,className:"flex-1 text-[13px] leading-[1.45] min-w-0 resize-none rounded-md px-2 py-1 outline-none",style:{color:"var(--color-text-secondary)",background:"var(--color-bg)",border:"1px solid var(--color-border)"},rows:1,value:d,onChange:e=>{u(e.target.value),h()},onBlur:p,onKeyDown:e=>{"Enter"!==e.key||e.shiftKey||(e.preventDefault(),p()),"Escape"===e.key&&(u(t.text),c(!1))}}):(0,o.jsxs)("div",{className:"flex-1 min-w-0 flex items-center gap-2",children:[t.attachedFiles.length>0&&(0,o.jsx)("div",{className:"flex gap-1 shrink-0",children:t.attachedFiles.map(e=>{let t="image"===nq(e.name)?e.localUrl||"/api/workspace/raw-file?path=".concat(encodeURIComponent(e.path)):e.path?"/api/workspace/thumbnail?path=".concat(encodeURIComponent(e.path),"&size=100"):void 0;return(0,o.jsx)("img",{src:t,alt:e.name,className:"rounded object-cover",style:{height:28,width:28,background:"var(--color-surface-hover)"},onError:e=>{e.currentTarget.style.display="none"}},e.id)})}),(0,o.jsx)("p",{className:"text-[13px] leading-[1.45] line-clamp-1 min-w-0",style:{color:"var(--color-text-secondary)"},children:t.text||"".concat(t.attachedFiles.length," ").concat(1===t.attachedFiles.length?"file":"files")})]}),!i&&(0,o.jsxs)("div",{className:"flex items-center gap-1 shrink-0 opacity-0 group-hover:opacity-100 transition-opacity",children:[(0,o.jsx)("button",{type:"button",className:"rounded-md p-1 transition-colors hover:bg-stone-100 dark:hover:bg-stone-800",title:"Edit message",onClick:()=>{u(t.text),c(!0)},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-stone-400",children:[(0,o.jsx)("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),(0,o.jsx)("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})]})}),(0,o.jsx)("button",{type:"button",className:"rounded-md p-1 transition-colors hover:bg-stone-100 dark:hover:bg-stone-800",title:"Send now",onClick:()=>a(t.id),children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-stone-400",children:[(0,o.jsx)("path",{d:"M12 19V5"}),(0,o.jsx)("path",{d:"m5 12 7-7 7 7"})]})}),(0,o.jsx)("button",{type:"button",className:"rounded-md p-1 transition-colors hover:bg-stone-100 dark:hover:bg-stone-800",title:"Remove from queue",onClick:()=>s(t.id),children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"text-stone-400",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})})]})]})}function nQ(e){let{files:t,compact:r,onRemove:l,onClearAll:n}=e;return 0===t.length?null:(0,o.jsx)("div",{className:"".concat(r?"px-2":"px-3"," pt-2"),children:(0,o.jsx)("div",{className:"flex gap-2 overflow-x-auto pb-1",style:{scrollbarWidth:"thin"},children:t.map(e=>{var t;let r=nq(e.name),n=null!=(t=nG[r])?t:nG.other,a=e.path.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~").replace(/^[A-Z]:\\Users\\[^\\]+/,"~");return(0,o.jsxs)("div",{className:"relative group flex-shrink-0 rounded-xl overflow-hidden",style:{background:"var(--color-surface-hover)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("button",{type:"button",onClick:()=>l(e.id),className:"absolute top-1 right-1 z-10 w-[18px] h-[18px] rounded-full flex items-center justify-center opacity-0 group-hover:opacity-100 transition-opacity",style:{background:"rgba(0,0,0,0.55)",color:"white",backdropFilter:"blur(4px)"},children:(0,o.jsxs)("svg",{width:"8",height:"8",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})}),"image"===r?(0,o.jsx)("img",{src:e.localUrl||"/api/workspace/raw-file?path=".concat(encodeURIComponent(e.path)),alt:e.name,className:"block rounded-xl object-cover",style:{height:80,width:"auto",minWidth:60,maxWidth:140,opacity:e.uploading?.6:1,background:"var(--color-bg-secondary)"},onError:e=>{e.currentTarget.style.display="none"}}):"pdf"===r&&e.path?(0,o.jsx)("img",{src:"/api/workspace/thumbnail?path=".concat(encodeURIComponent(e.path),"&size=200"),alt:e.name,className:"block rounded-xl object-cover",style:{height:80,width:"auto",minWidth:60,maxWidth:140,opacity:e.uploading?.6:1,background:"var(--color-bg-secondary)"},onError:e=>{e.currentTarget.style.display="none"}}):(0,o.jsxs)("div",{className:"flex items-center gap-2.5 px-3 py-2.5",style:{opacity:e.uploading?.6:1},children:[(0,o.jsx)("div",{className:"w-8 h-8 rounded-lg flex items-center justify-center shrink-0",style:{background:n.bg,color:n.fg},children:(0,o.jsx)(n$,{category:r})}),(0,o.jsxs)("div",{className:"min-w-0 max-w-[140px]",children:[(0,o.jsx)("p",{className:"text-[11px] font-medium truncate",style:{color:"var(--color-text)"},title:e.path||e.name,children:e.name}),(0,o.jsx)("p",{className:"text-[9px] truncate",style:{color:"var(--color-text-muted)"},title:e.path||e.name,children:e.uploading?"Uploading...":a})]})]})]},e.id)})})})}let nY=(0,l.forwardRef)(function(e,t){var r;let{fileContext:n,compact:a,sessionTitle:s,initialSessionId:i,onFileChanged:c,onActiveSessionChange:d,onSessionsChange:u,onSubagentSpawned:x,onSubagentClick:h,onFilePathClick:p,onDeleteSession:m,onRenameSession:f,sessionKey:v,subagentTask:g,subagentLabel:y,onBack:b}=e,j=!!v,k=(0,l.useRef)(null),[w,N]=(0,l.useState)(!0),[C,S]=(0,l.useState)(null),[L,M]=(0,l.useState)(!1),T=(0,l.useRef)(null),[E,W]=(0,l.useState)([]),[R,D]=(0,l.useState)(!1),[I,B]=(0,l.useState)(!1),F=(0,l.useRef)(null),_=(0,l.useRef)(new Set),P=(0,l.useRef)(!1),A=(0,l.useRef)(!0),[z,O]=(0,l.useState)([]),[U,H]=(0,l.useState)([]),[V,K]=(0,l.useState)(!1),J=null!=(r=null==n?void 0:n.path)?r:null,G=(0,l.useRef)(null);(0,l.useEffect)(()=>{G.current=C},[C]);let $=(0,l.useRef)(v);(0,l.useEffect)(()=>{$.current=v},[v]);let Z=(0,l.useMemo)(()=>new l0.rL({api:"/api/chat",body:()=>{let e=$.current;if(e)return{sessionKey:e};let t=G.current;return t?{sessionId:t}:{}}}),[]),{messages:Q,sendMessage:Y,status:X,stop:ee,error:et,setMessages:er}=(0,lX.Y_)({transport:Z}),eo="streaming"===X||"submitted"===X||I,el=(0,l.useRef)(null),en=(0,l.useRef)(!1),ea=(0,l.useRef)(0);(0,l.useEffect)(()=>{let e=el.current;if(!e)return;let t=()=>{en.current=e.scrollHeight-e.scrollTop-e.clientHeight>80};return e.addEventListener("scroll",t,{passive:!0}),()=>e.removeEventListener("scroll",t)},[]),(0,l.useEffect)(()=>{!en.current&&(ea.current||(ea.current=requestAnimationFrame(()=>{var e;ea.current=0,null==(e=T.current)||e.scrollIntoView({behavior:"smooth"})})))},[Q]);let es=(0,l.useCallback)(async e=>{let t={title:e};J&&(t.filePath=J);let r=await fetch("/api/web-sessions",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)});return(await r.json()).session.id},[J]),ei=(0,l.useCallback)(async(e,t,r)=>{let o=new AbortController;F.current=o;try{let l=(null==r?void 0:r.sessionKey)?"sessionKey=".concat(encodeURIComponent(r.sessionKey)):"sessionId=".concat(encodeURIComponent(e)),n=await fetch("/api/chat/stream?".concat(l),{signal:o.signal});if(!n.ok||!n.body)return!1;if("false"===n.headers.get("X-Run-Active"))return n.body.cancel(),!1;B(!0);let a=function(){let e=[],t=-1,r=-1;return{processEvent:function(o){var l,n,a,s;switch(o.type){case"user-message":t=-1,r=-1,e.push({type:"user-message",id:o.id,text:null!=(l=o.text)?l:""});break;case"reasoning-start":e.push({type:"reasoning",text:"",state:"streaming"}),r=e.length-1;break;case"reasoning-delta":if(r>=0){let t=e[r];t.text+=o.delta}break;case"reasoning-end":if(r>=0){let t=e[r];delete t.state}r=-1;break;case"text-start":e.push({type:"text",text:""}),t=e.length-1;break;case"text-delta":if(t>=0){let r=e[t];r.text+=o.delta}break;case"text-end":t=-1;break;case"tool-input-start":e.push({type:"dynamic-tool",toolCallId:o.toolCallId,toolName:o.toolName,state:"input-available",input:{}});break;case"tool-input-available":for(let t=e.length-1;t>=0;t--){let r=e[t];if("dynamic-tool"===r.type&&r.toolCallId===o.toolCallId){r.input=null!=(n=o.input)?n:{};break}}break;case"tool-output-partial":for(let t=e.length-1;t>=0;t--){let r=e[t];if("dynamic-tool"===r.type&&r.toolCallId===o.toolCallId){r.output=null!=(a=o.output)?a:{};break}}break;case"tool-output-available":for(let t=e.length-1;t>=0;t--){let r=e[t];if("dynamic-tool"===r.type&&r.toolCallId===o.toolCallId){r.state="output-available",r.output=null!=(s=o.output)?s:{};break}}break;case"tool-output-error":for(let t=e.length-1;t>=0;t--){let r=e[t];if("dynamic-tool"===r.type&&r.toolCallId===o.toolCallId){r.state="error",r.output={error:o.errorText};break}}}},getParts:()=>e.map(e=>({...e}))}}(),s=n.body.getReader(),i=new TextDecoder,c="reconnect-".concat(e),d="",u=!1,x=()=>{if(o.signal.aborted)return;let e={id:c,role:"assistant",parts:a.getParts()};er([...t,e])};for(;;){let e,{done:t,value:r}=await s.read();if(t)break;for(d+=i.decode(r,{stream:!0});-1!==(e=d.indexOf("\n\n"));){let t=d.slice(0,e);if(d=d.slice(e+2),t.startsWith("data: "))try{let e=JSON.parse(t.slice(6));a.processEvent(e)}catch(e){}}u||(u=!0,requestAnimationFrame(()=>{u=!1,x()}))}if(x(),!o.signal.aborted){for(let e of t)_.current.add(e.id);_.current.add(c)}return B(!1),F.current=null,!0}catch(e){return"AbortError"!==e.name&&console.error("Reconnection error:",e),B(!1),F.current=null,!1}},[er]),ec=(0,l.useRef)(null);ec.current=async()=>{if(!J)return[];try{let e=await fetch("/api/web-sessions?filePath=".concat(encodeURIComponent(J)));return(await e.json()).sessions||[]}catch(e){return[]}},(0,l.useEffect)(()=>{if(!J||j)return;let e=!1;return G.current=null,S(null),null==d||d(null),er([]),_.current.clear(),A.current=!0,(async()=>{var t,r;let o=null!=(r=await (null==(t=ec.current)?void 0:t.call(ec)))?r:[];if(!e&&(O(o),o.length>0)){let t=o[0];S(t.id),G.current=t.id,null==d||d(t.id),A.current=!1;try{let r=await fetch("/api/web-sessions/".concat(t.id));if(e)return;let o=(await r.json()).messages||[],l=(o.some(e=>e._streaming)?o.filter(e=>!e._streaming):o).map(e=>{var t;return _.current.add(e.id),{id:e.id,role:e.role,parts:null!=(t=e.parts)?t:[{type:"text",text:e.content}]}});e||er(l),e||await ei(t.id,l)}catch(e){}}})(),()=>{e=!0}},[J,ei]);let ed=(0,l.useRef)(!1);(0,l.useEffect)(()=>{J||j||!i||ed.current||(ed.current=!0,ev(i))},[]),(0,l.useEffect)(()=>{var e;if(!v||!g)return;let t=!1;null==(e=F.current)||e.abort(),ee(),_.current.clear(),H([]);let r={id:"task-".concat(v),role:"user",parts:[{type:"text",text:g}]};return er([r]),(async()=>{if(t)return;let e=[r];try{let o=await fetch("/api/web-sessions/".concat(encodeURIComponent(v)));if(t)return;if(o.ok){let l=(await o.json()).messages||[],n=l.some(e=>e._streaming)?l.filter(e=>!e._streaming):l;if(n.length>0){let o=n.map(e=>{var t;return _.current.add(e.id),{id:e.id,role:e.role,parts:null!=(t=e.parts)?t:[{type:"text",text:e.content}]}});e=[r,...o],t||er(e)}}}catch(e){}t||await ei(v,e,{sessionKey:v})})(),()=>{var e;t=!0,null==(e=F.current)||e.abort()}},[v,g,ei]);let[eu,ex]=(0,l.useState)(!1);(0,l.useEffect)(()=>{if(!C||!x)return;let e=!1,t=async()=>{try{var t;let r=await fetch("/api/chat/subagents?sessionId=".concat(encodeURIComponent(C)));if(e||!r.ok)return;let o=null!=(t=(await r.json()).subagents)?t:[],l=!1;for(let e of o)"running"===e.status&&(l=!0),x({childSessionKey:e.sessionKey,runId:e.runId,task:e.task,label:e.label,parentSessionId:C,status:e.status});e||ex(l)}catch(e){}};t();let r=setInterval(t,3e3);return()=>{e=!0,clearInterval(r)}},[C,x]);let eh=(0,l.useRef)(X);(0,l.useEffect)(()=>{let e="streaming"===eh.current||"submitted"===eh.current,t="ready"===X;if(e&&t&&C){for(let e of Q)_.current.add(e.id);if(J){var r;null==(r=ec.current)||r.call(ec).then(e=>{O(e)})}J&&c&&fetch("/api/workspace/file?path=".concat(encodeURIComponent(J))).then(e=>e.json()).then(e=>{e.content&&c(e.content)}).catch(()=>{}),null==u||u()}eh.current=X},[X,Q,C,J,c,u]);let ep=(0,l.useRef)(()=>{}),em=(0,l.useCallback)(async(e,t,r)=>{let o=e.trim().length>0,l=t.length>0,a=r?r.filter(e=>!e.uploading&&e.path):E.filter(e=>!e.uploading&&e.path),s=a.length>0;if(!o&&!l&&!s)return;let i=e.trim(),c=[...a];if("/new"===i.toLowerCase()){for(let e of E)e.localUrl&&URL.revokeObjectURL(e.localUrl);W([]),ep.current();return}if(eo){r||W([]),H(e=>[...e,{id:crypto.randomUUID(),text:i,mentionedFiles:t,attachedFiles:c,createdAt:Date.now()}]);return}if(!r&&c.length>0){for(let e of E)e.localUrl&&URL.revokeObjectURL(e.localUrl);W([])}let x=C;if(!x&&!j){let e=i||"File attachment",t=e.length>60?e.slice(0,60)+"...":e;if(S(x=await es(t)),G.current=x,null==d||d(x),null==u||u(),J){var h;null==(h=ec.current)||h.call(ec).then(e=>{O(e)})}}let p=i,m=[...t.map(e=>e.path),...c.map(e=>e.path)];if(m.length>0){let e="[Attached files: ".concat(m.join(", "),"]");p=p?"".concat(e,"\n\n").concat(p):e}if(n&&A.current){let e=n.isDirectory?"directory":"file";p="[Context: workspace ".concat(e," '").concat(n.path,"']\n\n").concat(p),A.current=!1}en.current=!1,Y({text:p})},[E,eo,C,es,d,u,J,n,Y]),ef=(0,l.useRef)(X);(0,l.useEffect)(()=>{let e="streaming"===ef.current||"submitted"===ef.current,t="ready"===X;if(ef.current=X,e&&t&&U.length>0){let[e,...t]=U;for(let r of(H(t),e.attachedFiles))r.localUrl&&URL.revokeObjectURL(r.localUrl);queueMicrotask(()=>{em(e.text,e.mentionedFiles,e.attachedFiles)})}},[X,U,em]);let ev=(0,l.useCallback)(async e=>{var t;if(e!==C){null==(t=F.current)||t.abort(),ee(),M(!0),S(e),G.current=e,null==d||d(e),_.current.clear(),A.current=!1,H([]);try{let t=await fetch("/api/web-sessions/".concat(e));if(!t.ok)throw Error("Failed to load session");let r=(await t.json()).messages||[],o=(r.some(e=>e._streaming)?r.filter(e=>!e._streaming):r).map(e=>{var t;return _.current.add(e.id),{id:e.id,role:e.role,parts:null!=(t=e.parts)?t:[{type:"text",text:e.content}]}});er(o),M(!1),await ei(e,o)}catch(e){console.error("Error loading session:",e),M(!1)}}},[C,er,d,ee,ei]),eg=(0,l.useCallback)(()=>{var e;null==(e=F.current)||e.abort(),ee(),B(!1),S(null),G.current=null,null==d||d(null),er([]),_.current.clear(),A.current=!0,P.current=!1,H([]),requestAnimationFrame(()=>{var e;null==(e=k.current)||e.focus()})},[er,d,ee]);ep.current=eg,(0,l.useImperativeHandle)(t,()=>({loadSession:ev,newSession:async()=>{eg()},sendNewMessage:async e=>{eg();let t=e.length>60?e.slice(0,60)+"...":e,r=await es(t);S(r),G.current=r,null==d||d(r),null==u||u(),en.current=!1,Y({text:e})},insertFileMention:(e,t)=>{var r;null==(r=k.current)||r.insertFileMention(e,t)}}),[ev,eg,es,d,u,Y]);let ey=(0,l.useCallback)(async()=>{var e;if(null==(e=F.current)||e.abort(),B(!1),v||C)try{await fetch("/api/chat/stop",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(v?{sessionKey:v}:{sessionId:C})})}catch(e){}ee()},[C,v,ee]),eb=(0,l.useCallback)(e=>{H(t=>t.filter(t=>t.id!==e))},[]),ej=(0,l.useCallback)((e,t)=>{H(r=>r.map(r=>r.id===e?{...r,text:t}:r))},[]),ek=(0,l.useCallback)(async e=>{let t=U.find(t=>t.id===e);t&&(H(t=>t.filter(t=>t.id!==e)),await ey(),setTimeout(()=>{em(t.text,t.mentionedFiles,t.attachedFiles)},100))},[U,ey,em]),ew=(0,l.useCallback)(e=>{let t=e.map(e=>({id:"".concat(e.path,"-").concat(Date.now(),"-").concat(Math.random().toString(36).slice(2)),name:e.name,path:e.path}));W(e=>[...e,...t])},[]),eN=(0,l.useCallback)(e=>{W(t=>{let r=t.find(t=>t.id===e);return(null==r?void 0:r.localUrl)&&URL.revokeObjectURL(r.localUrl),t.filter(t=>t.id!==e)})},[]),eC=(0,l.useCallback)(()=>{W(e=>{for(let t of e)t.localUrl&&URL.revokeObjectURL(t.localUrl);return[]})},[]),eS=(0,l.useCallback)(e=>{let t=Array.from(e),r=t.map(e=>({id:"pending-".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2)),name:e.name,path:"",uploading:!0,localUrl:URL.createObjectURL(e)}));W(e=>[...e,...r]);for(let e=0;e<t.length;e++){let o=t[e],l=r[e].id,n=r[e].localUrl,a=new FormData;a.append("file",o),fetch("/api/workspace/upload",{method:"POST",body:a}).then(e=>e.ok?e.json():null).then(e=>{(null==e?void 0:e.ok)&&e.path?W(t=>t.map(t=>t.id===l?{...t,path:e.path,uploading:!1}:t)):(W(e=>e.filter(e=>e.id!==l)),n&&URL.revokeObjectURL(n))}).catch(()=>{W(e=>e.filter(e=>e.id!==l)),n&&URL.revokeObjectURL(n)})}},[]),eL=Q.length>0?Q[Q.length-1]:null,eM=(null==eL?void 0:eL.role)==="assistant"&&eL.parts.some(e=>"text"===e.type&&e.text.length>0),eT=eo&&!eM;return(0,o.jsxs)("div",{className:"h-full flex flex-col",style:{background:"var(--color-main-bg)"},children:[(0,o.jsx)("header",{className:"".concat(a?"px-3 py-2":"px-3 py-2 md:px-6 md:py-3"," flex items-center ").concat(j?"gap-3":"justify-between"," z-20"),style:{background:"var(--color-bg-glass)"},children:j?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("button",{type:"button",onClick:b,className:"p-1.5 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Back to parent chat",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)("h2",{className:"text-sm font-semibold truncate",style:{color:"var(--color-text)"},children:y||(g&&g.length>60?g.slice(0,60)+"...":g)}),(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:eo?(0,o.jsx)(q,{name:"braille"}):"Completed"})]})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"min-w-0 flex-1",children:a&&n?(0,o.jsxs)("h2",{className:"text-xs font-semibold truncate",style:{color:"var(--color-text)"},children:["Chat: ",n.filename]}):(0,o.jsx)("h2",{className:"text-sm font-semibold",style:{color:"var(--color-text)"},children:C?s||"Chat Session":"New Chat"})}),(0,o.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[C&&m&&(0,o.jsxs)(lW,{children:[(0,o.jsx)(lR,{className:"p-1.5 rounded-lg",style:{color:"var(--color-text-muted)"},title:"More options","aria-label":"More options",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"1"}),(0,o.jsx)("circle",{cx:"5",cy:"12",r:"1"}),(0,o.jsx)("circle",{cx:"19",cy:"12",r:"1"})]})}),(0,o.jsx)(lD,{align:"end",side:"bottom",children:(0,o.jsxs)(lI,{variant:"destructive",onSelect:()=>m(C),children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]}),"Delete"]})})]}),a&&(0,o.jsx)("button",{type:"button",onClick:()=>eg(),className:"p-1.5 rounded-lg",style:{color:"var(--color-text-muted)"},title:"New chat",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 5v14"}),(0,o.jsx)("path",{d:"M5 12h14"})]})})]})]})}),!j&&a&&n&&z.length>0&&(0,o.jsx)("div",{className:"px-2 py-1.5 border-b flex gap-1 overflow-x-auto z-20",style:{borderColor:"var(--color-border)",background:"var(--color-bg-glass)"},children:z.slice(0,10).map(e=>(0,o.jsx)("button",{type:"button",onClick:()=>ev(e.id),className:"px-2.5 py-1 text-[10px] rounded-full whitespace-nowrap shrink-0 font-medium",style:{background:e.id===C?"var(--color-accent)":"var(--color-surface-hover)",color:e.id===C?"white":"var(--color-text-muted)",border:e.id===C?"none":"1px solid var(--color-border)"},children:e.title.length>25?e.title.slice(0,25)+"...":e.title},e.id))}),(0,o.jsxs)("div",{ref:el,className:"flex-1 overflow-y-auto min-h-0",children:[(0,o.jsx)("div",{className:a?"px-3":"px-6",children:L?(0,o.jsx)("div",{className:"flex items-center justify-center h-full min-h-[60vh]",children:(0,o.jsxs)("div",{className:"text-center",children:[(0,o.jsx)(q,{name:"braille",className:"block text-2xl mx-auto mb-3",style:{color:"var(--color-text-muted)"}}),(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Loading session..."})]})}):0===Q.length?(0,o.jsx)("div",{className:"flex items-center justify-center h-full min-h-[60vh]",children:(0,o.jsx)("div",{className:"text-center max-w-md px-4",children:a?(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"Ask about this file"}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("h3",{className:"font-instrument text-3xl tracking-tight mb-2",style:{color:"var(--color-text)"},children:"What can I help with?"}),(0,o.jsx)("p",{className:"text-sm leading-relaxed",style:{color:"var(--color-text-muted)"},children:"Send a message to start a conversation with your agent."})]})})}):(0,o.jsxs)("div",{className:"".concat(a?"":"max-w-2xl mx-auto"," py-3"),children:[V?(0,o.jsx)("pre",{className:"text-xs whitespace-pre-wrap break-all font-mono p-4 rounded-xl",style:{color:"var(--color-text)",background:"var(--color-surface-hover)"},children:JSON.stringify(Q,null,2)}):Q.map((e,t)=>(0,o.jsx)(nD,{message:e,isStreaming:eo&&t===Q.length-1,onSubagentClick:h,onFilePathClick:p},e.id)),eT&&(0,o.jsx)("div",{className:"py-3 min-w-0",children:(0,o.jsx)(q,{name:"pulse",className:"text-base",style:{color:"var(--color-text-muted)"}})}),(0,o.jsx)("div",{ref:T})]})}),et&&(0,o.jsxs)("div",{className:"px-3 py-2 flex items-center gap-2 sticky bottom-[72px] z-10",style:{background:"color-mix(in srgb, var(--color-error) 6%, var(--color-surface))",borderColor:"color-mix(in srgb, var(--color-error) 18%, transparent)",color:"var(--color-error)"},children:[(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"shrink-0",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,o.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),(0,o.jsx)("p",{className:"text-xs",children:et.message})]})]}),(0,o.jsx)("div",{className:"".concat(a?"px-3 py-2":"px-3 pb-3 pt-0 md:px-6 md:pb-5"," z-20"),style:{background:"var(--color-bg-glass)"},children:(0,o.jsx)("div",{className:a?"":"max-w-[720px] mx-auto",children:(0,o.jsxs)("div",{"data-chat-drop-target":"",className:"rounded-3xl overflow-hidden border shadow-[0_0_32px_rgba(0,0,0,0.07)] transition-[outline,box-shadow] duration-150 ease-out data-drag-hover:outline-2 data-drag-hover:outline-dashed data-drag-hover:outline-(--color-accent) data-drag-hover:-outline-offset-2 data-drag-hover:shadow-[0_0_0_4px_color-mix(in_srgb,var(--color-accent)_15%,transparent),0_0_32px_rgba(0,0,0,0.07)]!",style:{background:"var(--color-surface)",borderColor:"var(--color-border)"},onDragOver:e=>{var t,r;((null==(t=e.dataTransfer)?void 0:t.types.includes("application/x-file-mention"))||(null==(r=e.dataTransfer)?void 0:r.types.includes("Files")))&&(e.preventDefault(),e.dataTransfer.dropEffect="copy",e.currentTarget.setAttribute("data-drag-hover",""))},onDragLeave:e=>{e.currentTarget.contains(e.relatedTarget)||e.currentTarget.removeAttribute("data-drag-hover")},onDrop:e=>{var t,r,o;e.currentTarget.removeAttribute("data-drag-hover");let l=null==(t=e.dataTransfer)?void 0:t.getData("application/x-file-mention");if(l){e.preventDefault(),e.stopPropagation();try{let{name:e,path:t}=JSON.parse(l);e&&t&&(null==(o=k.current)||o.insertFileMention(e,t))}catch(e){}return}let n=null==(r=e.dataTransfer)?void 0:r.files;n&&n.length>0&&(e.preventDefault(),e.stopPropagation(),eS(n))},children:[U.length>0&&(0,o.jsx)("div",{className:a?"px-2 pt-2":"px-3 pt-3",children:(0,o.jsxs)("div",{className:"rounded-xl border overflow-hidden",style:{background:"var(--color-surface)",borderColor:"var(--color-border)",boxShadow:"var(--shadow-sm)"},children:[(0,o.jsxs)("div",{className:"px-3 py-1.5 text-[10px] font-semibold uppercase tracking-wider",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)"},children:["Queue (",U.length,")"]}),(0,o.jsx)("div",{className:"flex flex-col p-2",children:U.map((e,t)=>(0,o.jsx)(nZ,{msg:e,idx:t,onEdit:ej,onSendNow:ek,onRemove:eb},e.id))})]})}),!j&&(0,o.jsx)(nQ,{files:E,compact:a,onRemove:eN,onClearAll:eC}),(0,o.jsx)(nJ,{ref:k,onSubmit:em,onChange:e=>N(e),onNativeFileDrop:j?void 0:eS,placeholder:j?eo?"Type to queue a message...":"Type @ to mention files...":a&&n?"Ask about ".concat(n.isDirectory?"this folder":n.filename,"..."):eo?"Type to queue a message...":E.length>0?"Add a message or send files...":"Type @ to mention files...",disabled:L,compact:a}),(0,o.jsxs)("div",{className:"flex items-center justify-between ".concat(a?"px-2 pb-1.5":"px-3 pb-2.5"),children:[(0,o.jsx)("div",{className:"flex items-center gap-0.5",children:!j&&(0,o.jsx)("button",{type:"button",onClick:()=>D(!0),className:"p-1.5 rounded-lg hover:opacity-80 transition-opacity",style:{color:E.length>0?"var(--color-accent)":"var(--color-text-muted)"},title:"Attach files",children:(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m21.44 11.05-9.19 9.19a6 6 0 0 1-8.49-8.49l8.57-8.57A4 4 0 1 1 18 8.84l-8.59 8.57a2 2 0 0 1-2.83-2.83l8.49-8.48"})})})}),(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[eo&&(0,o.jsx)("button",{type:"button",onClick:()=>ey(),className:"".concat(a?"w-6 h-6":"w-7 h-7"," rounded-full flex items-center justify-center"),style:{background:"var(--color-text)",color:"var(--color-bg)"},title:"Stop generating",children:(0,o.jsx)("svg",{width:"8",height:"8",viewBox:"0 0 10 10",fill:"currentColor",children:(0,o.jsx)("rect",{width:"10",height:"10",rx:"1.5"})})}),eo?(0,o.jsxs)("button",{type:"button",onClick:()=>{var e;null==(e=k.current)||e.submit()},disabled:w&&0===E.length||L,className:"h-7 px-3 rounded-full flex items-center gap-1.5 text-[12px] font-medium disabled:opacity-40 disabled:cursor-not-allowed",style:{background:!w||E.length>0?"var(--color-accent)":"var(--color-surface-hover)",color:!w||E.length>0?"white":"var(--color-text-muted)"},title:"Add to queue",children:[(0,o.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("polyline",{points:"9 10 4 15 9 20"}),(0,o.jsx)("path",{d:"M20 4v7a4 4 0 0 1-4 4H4"})]}),"Queue"]}):(0,o.jsx)("button",{type:"button",onClick:()=>{var e;null==(e=k.current)||e.submit()},disabled:w&&0===E.length||L,className:"".concat(a?"w-6 h-6":"w-7 h-7"," rounded-full flex items-center justify-center disabled:opacity-50 disabled:cursor-not-allowed"),style:{background:!w||E.length>0?"var(--color-accent)":"var(--color-text-muted)",color:!w||E.length>0?"white":"var(--color-bg)"},title:"Send message",children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 19V5"}),(0,o.jsx)("path",{d:"m5 12 7-7 7 7"})]})})]})]})]})})}),!j&&(0,o.jsx)(nF,{open:R,onClose:()=>D(!1),onSelect:ew})]})});function nX(e){return null==e?"":"object"==typeof e?JSON.stringify(e):"string"==typeof e?e:"number"==typeof e||"boolean"==typeof e||"bigint"==typeof e?String(e):""}let n0=["created_at","Created","createdAt","created"],n1=["updated_at","Updated","updatedAt","updated"];function n2(e,t){for(let r of t){let t=e[r];if(null!=t&&""!==t)return t}}function n4(e){var t;let{value:r,enumValues:l,enumColors:n}=e,a=null!=(t=null==l?void 0:l.indexOf(r))?t:-1,s=a>=0&&n?n[a]:"#94a3b8";return(0,o.jsx)("span",{className:"inline-flex items-center px-2.5 py-1 rounded-full text-xs font-medium",style:{background:"".concat(s,"20"),color:s,border:"1px solid ".concat(s,"40")},children:r})}function n5(e){var t,r;let{value:l,members:n}=e,a=String(l),s=null==n?void 0:n.find(e=>e.id===a);return(0,o.jsxs)("span",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"w-6 h-6 rounded-full flex items-center justify-center text-xs font-medium flex-shrink-0",style:{background:"var(--color-accent)",color:"white"},children:(null!=(t=null==s?void 0:s.name)?t:a).charAt(0).toUpperCase()}),(0,o.jsx)("span",{children:null!=(r=null==s?void 0:s.name)?r:a})]})}function n6(e){let{value:t,field:r,relationLabels:l,onNavigateEntry:n}=e,a=null==l?void 0:l[r.name],s=function(e){if(!e)return[];let t=e.trim();if(!t)return[];if(t.startsWith("["))try{let e=JSON.parse(t);if(Array.isArray(e))return e.map(String).filter(Boolean)}catch(e){}return[t]}(String(t));return 0===s.length?(0,o.jsx)(n3,{}):(0,o.jsx)("span",{className:"flex items-center gap-1.5 flex-wrap",children:s.map(e=>{var t;let l=null!=(t=null==a?void 0:a[e])?t:e,s=r.related_object_name&&n?t=>{t.stopPropagation(),n(r.related_object_name,e)}:void 0;return(0,o.jsxs)("button",{type:"button",onClick:s,className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium ".concat(s?"cursor-pointer hover:opacity-80":""),style:{background:"rgba(96, 165, 250, 0.1)",color:"#60a5fa",border:"1px solid rgba(96, 165, 250, 0.2)"},title:s?"Open ".concat(l):l,children:[(0,o.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0",style:{opacity:.5},children:[(0,o.jsx)("path",{d:"M7 7h10v10"}),(0,o.jsx)("path",{d:"M7 17 17 7"})]}),(0,o.jsx)("span",{className:"truncate max-w-[200px]",children:l})]},e)})})}function n3(){return(0,o.jsx)("span",{style:{color:"var(--color-text-muted)",opacity:.5},children:"--"})}function n8(e){let{relation:t,onNavigateEntry:r}=e,l=t.links.slice(0,10),n=t.links.length-l.length;return(0,o.jsxs)("div",{children:[(0,o.jsxs)("label",{className:"flex items-center gap-1.5 text-xs font-medium uppercase tracking-wider mb-1.5",style:{color:"var(--color-text-muted)"},children:[(0,o.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",style:{opacity:.4},children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]}),(0,o.jsx)("span",{className:"capitalize",children:t.sourceObjectName}),(0,o.jsxs)("span",{className:"normal-case tracking-normal font-normal opacity-60",children:["via ",t.fieldName]})]}),(0,o.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap text-sm min-h-[1.75rem]",children:[l.map(e=>(0,o.jsxs)("button",{type:"button",onClick:()=>null==r?void 0:r(t.sourceObjectName,e.id),className:"inline-flex items-center gap-1 px-2.5 py-1 rounded-md text-xs font-medium cursor-pointer hover:opacity-80",style:{background:"rgba(192, 132, 252, 0.1)",color:"#c084fc",border:"1px solid rgba(192, 132, 252, 0.2)"},title:"Open ".concat(e.label," in ").concat(t.sourceObjectName),children:[(0,o.jsxs)("svg",{width:"10",height:"10",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0",style:{opacity:.5},children:[(0,o.jsx)("path",{d:"M7 7h10v10"}),(0,o.jsx)("path",{d:"M7 17 17 7"})]}),(0,o.jsx)("span",{className:"truncate max-w-[200px]",children:e.label})]},e.id)),n>0&&(0,o.jsxs)("span",{className:"text-xs px-1.5 py-0.5 rounded",style:{color:"var(--color-text-muted)"},children:["+",n," more"]})]})]})}function n7(e){let{value:t,field:r,members:l,relationLabels:n,onNavigateEntry:a}=e;if(null==t||""===t)return(0,o.jsx)(n3,{});switch(r.type){case"enum":return(0,o.jsx)(n4,{value:nX(t),enumValues:r.enum_values,enumColors:r.enum_colors});case"boolean":{let e=!0===t||"true"===t||"1"===t||"yes"===t;return(0,o.jsx)("span",{style:{color:e?"#22c55e":"var(--color-text-muted)"},children:e?"Yes":"No"})}case"user":return(0,o.jsx)(n5,{value:t,members:l});case"relation":return(0,o.jsx)(n6,{value:t,field:r,relationLabels:n,onNavigateEntry:a});case"email":case"number":case"date":case"phone":case"url":case"file":default:return(0,o.jsx)(eJ,{value:t,fieldType:r.type,mode:"detail"});case"richtext":return(0,o.jsx)("span",{className:"whitespace-pre-wrap",children:nX(t)})}}function n9(e){let{objectName:t,entryId:r,members:n,onClose:a,onNavigateEntry:s,onNavigateObject:i,onRefresh:c}=e,[d,u]=(0,l.useState)(null),[x,h]=(0,l.useState)(!0),[p,m]=(0,l.useState)(null),[f,v]=(0,l.useState)(null),[g,y]=(0,l.useState)(""),[b,j]=(0,l.useState)(!1),[k,w]=(0,l.useState)(!1),N=(0,l.useRef)(null);(0,l.useEffect)(()=>{let e=!1;return h(!0),m(null),async function(){try{let l=await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries/").concat(encodeURIComponent(r)));if(!l.ok){let t=await l.json().catch(()=>({error:"Failed to load"}));if(!e){var o;m(null!=(o=t.error)?o:"Failed to load entry"),h(!1)}return}let n=await l.json();e||(u(n),h(!1))}catch(t){e||(m("Network error"),h(!1))}}(),()=>{e=!0}},[t,r]),(0,l.useEffect)(()=>{let e=e=>{"Escape"===e.key&&a()};return document.addEventListener("keydown",e),()=>document.removeEventListener("keydown",e)},[a]);let C=(0,l.useCallback)(e=>{e.target===N.current&&a()},[a]),S=(0,l.useCallback)(async(e,o)=>{j(!0);try{(await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries/").concat(encodeURIComponent(r)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:{[e]:o}})})).ok&&(u(t=>t?{...t,entry:{...t.entry,[e]:o}}:t),v(null),null==c||c())}catch(e){}finally{j(!1)}},[t,r,c]),L=(0,l.useCallback)(async()=>{if(confirm("Are you sure you want to delete this entry?")){w(!0);try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(t),"/entries/").concat(encodeURIComponent(r)),{method:"DELETE"}),null==c||c(),a()}catch(e){}finally{w(!1)}}},[t,r,c,a]),M=null==d?void 0:d.effectiveDisplayField,T=M&&(null==d?void 0:d.entry[M])?nX(d.entry[M]):"".concat(String(t)," entry"),E=d?n2(d.entry,n0):void 0,W=d?n2(d.entry,n1):void 0;return(0,o.jsx)("div",{ref:N,onClick:C,className:"fixed inset-0 z-50 flex items-start justify-center",style:{background:"rgba(0, 0, 0, 0.5)",backdropFilter:"blur(2px)"},children:(0,o.jsxs)("div",{className:"relative mt-4 mb-4 mx-3 md:mt-12 md:mb-12 md:mx-0 w-full max-w-2xl rounded-2xl overflow-hidden shadow-2xl flex flex-col",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",maxHeight:"calc(100vh - 2rem)"},children:[(0,o.jsxs)("div",{className:"flex items-center justify-between px-4 py-3 md:px-6 md:py-4 border-b flex-shrink-0",style:{borderColor:"var(--color-border)"},children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 min-w-0",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>void(null==i||i(t)),className:"flex items-center gap-1.5 px-2.5 py-1 rounded-lg text-xs font-medium capitalize transition-colors hover:opacity-80 flex-shrink-0",style:{background:"var(--color-accent-light)",color:"var(--color-accent)",border:"1px solid var(--color-border)"},title:"Go to ".concat(t),children:[(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3v18"}),(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M3 9h18"}),(0,o.jsx)("path",{d:"M3 15h18"})]}),t]}),(0,o.jsx)("h2",{className:"text-lg font-semibold truncate",style:{color:"var(--color-text)"},children:x?"Loading...":T})]}),(0,o.jsxs)("div",{className:"flex items-center gap-1 flex-shrink-0",children:[(0,o.jsx)("button",{type:"button",onClick:()=>void L(),disabled:k,className:"p-1.5 rounded-lg flex-shrink-0",style:{color:"var(--color-error)"},title:"Delete entry",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})}),(0,o.jsx)("button",{type:"button",onClick:a,className:"p-1.5 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Close",children:(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})})]})]}),(0,o.jsxs)("div",{className:"flex-1 overflow-y-auto px-6 py-5",children:[x&&(0,o.jsx)("div",{className:"flex items-center justify-center py-16",children:(0,o.jsx)("div",{className:"w-6 h-6 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})}),p&&(0,o.jsx)("div",{className:"text-center py-16",children:(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:p})}),d&&!x&&(0,o.jsxs)("div",{className:"space-y-4",children:[d.fields.map(e=>{let t=d.entry[e.name];return(0,o.jsxs)("div",{children:[(0,o.jsxs)("label",{className:"block text-xs font-medium uppercase tracking-wider mb-1.5",style:{color:"var(--color-text-muted)"},children:[e.name,"relation"===e.type&&e.related_object_name&&(0,o.jsxs)("span",{className:"normal-case tracking-normal font-normal opacity-60 ml-1",children:["(",e.related_object_name,")"]})]}),(0,o.jsx)("div",{className:"text-sm min-h-[1.75rem] flex items-center",style:{color:"var(--color-text)"},children:f===e.name?"relation"===e.type&&e.related_object_name?(0,o.jsxs)("div",{className:"flex items-center gap-2 w-full",children:[(0,o.jsx)("div",{className:"flex-1",children:(0,o.jsx)(eg,{relatedObjectName:e.related_object_name,value:nX(t),multiple:"many_to_many"===e.relationship_type,onChange:t=>{S(e.name,t)},autoFocus:!0})}),(0,o.jsx)("button",{type:"button",onClick:()=>v(null),className:"px-2 py-1 text-xs rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:"Cancel"})]}):(0,o.jsxs)("form",{onSubmit:t=>{t.preventDefault(),S(e.name,g)},className:"flex items-center gap-2 w-full",children:["enum"===e.type&&e.enum_values?(0,o.jsxs)("select",{value:g,onChange:t=>{y(t.target.value),S(e.name,t.target.value)},autoFocus:!0,className:"flex-1 px-2 py-1 text-sm rounded-lg outline-none",style:{background:"var(--color-surface-hover)",color:"var(--color-text)",border:"2px solid var(--color-accent)"},children:[(0,o.jsx)("option",{value:"",children:"--"}),e.enum_values.map(e=>(0,o.jsx)("option",{value:e,children:e},e))]}):"boolean"===e.type?(0,o.jsxs)("select",{value:g,onChange:t=>{y(t.target.value),S(e.name,t.target.value)},autoFocus:!0,className:"flex-1 px-2 py-1 text-sm rounded-lg outline-none",style:{background:"var(--color-surface-hover)",color:"var(--color-text)",border:"2px solid var(--color-accent)"},children:[(0,o.jsx)("option",{value:"true",children:"Yes"}),(0,o.jsx)("option",{value:"false",children:"No"})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("input",{type:function(e){switch(e){case"number":return"number";case"date":return"date";case"email":return"email";case"phone":return"tel";case"url":return"url";default:return"text"}}(e.type),value:g,onChange:e=>y(e.target.value),autoFocus:!0,className:"flex-1 px-2 py-1 text-sm rounded-lg outline-none",style:{background:"var(--color-surface-hover)",color:"var(--color-text)",border:"2px solid var(--color-accent)"}}),(0,o.jsx)("button",{type:"submit",disabled:b,className:"px-2 py-1 text-xs rounded-lg font-medium",style:{background:"var(--color-accent)",color:"white"},children:b?"...":"Save"})]}),(0,o.jsx)("button",{type:"button",onClick:()=>v(null),className:"px-2 py-1 text-xs rounded-lg",style:{color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:"Cancel"})]}):(0,o.jsx)("div",{className:"flex-1 ".concat(["user"].includes(e.type)?"":"cursor-pointer hover:opacity-80"),onClick:()=>{["user"].includes(e.type)||(v(e.name),y(nX(t)))},title:["user"].includes(e.type)?void 0:"Click to edit",children:(0,o.jsx)(n7,{value:t,field:e,members:n,relationLabels:d.relationLabels,onNavigateEntry:s})})})]},e.id)}),d.reverseRelations&&d.reverseRelations.length>0&&(0,o.jsxs)("div",{className:"pt-4 mt-4 border-t space-y-4",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)("div",{className:"text-[10px] font-medium uppercase tracking-widest",style:{color:"var(--color-text-muted)",opacity:.6},children:"Linked from"}),d.reverseRelations.map(e=>(0,o.jsx)(n8,{relation:e,onNavigateEntry:s},"".concat(e.sourceObjectName,"_").concat(e.fieldName)))]}),(null!=E||null!=W)&&(0,o.jsxs)("div",{className:"pt-4 mt-4 border-t text-xs flex gap-6",style:{borderColor:"var(--color-border)",color:"var(--color-text-muted)"},children:[null!=E&&(0,o.jsxs)("span",{children:["Created: ",(0,o.jsx)(eJ,{value:E,fieldType:"date",mode:"detail",className:"inline"})]}),null!=W&&(0,o.jsxs)("span",{children:["Updated: ",(0,o.jsx)(eJ,{value:W,fieldType:"date",mode:"detail",className:"inline"})]})]})]})]})]})})}var ae=r(91365);let at={keys:[{name:"label",weight:3},{name:"sublabel",weight:1},{name:"objectName",weight:1.5},{name:"fieldValues",weight:2}],threshold:.4,distance:200,includeScore:!0,shouldSort:!0,minMatchCharLength:1},ar=new Set(["ts","tsx","js","jsx","mjs","cjs","py","rb","go","rs","java","kt","swift","c","cpp","h","hpp","cs","css","scss","less","html","htm","xml","svg","json","jsonc","yaml","yml","toml","sh","bash","zsh","fish","ps1","sql","graphql","gql","dockerfile","makefile","cmake","r","lua","php","vue","svelte","diff","patch","ini","env","tf","proto","zig","elixir","ex","erl","hs","scala","clj","dart"]);function ao(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return ar.has(o)}function al(e){if(e<=0)return"now";let t=Math.ceil(e/1e3);if(t<60)return"".concat(t,"s");let r=Math.floor(t/60),o=t%60;if(r<60)return o>0?"".concat(r,"m ").concat(o,"s"):"".concat(r,"m");let l=Math.floor(r/60),n=r%60;return n>0?"".concat(l,"h ").concat(n,"m"):"".concat(l,"h")}function an(e){let[t,r]=(0,l.useState)(Date.now());return((0,l.useEffect)(()=>{if(!e)return;let t=setInterval(()=>r(Date.now()),1e3);return()=>clearInterval(t)},[e]),e)?al(e-t):null}function aa(e){let{onSelectJob:t}=e,[r,n]=(0,l.useState)([]),[a,s]=(0,l.useState)({intervalMs:18e5,nextDueEstimateMs:null}),[i,c]=(0,l.useState)({enabled:!1,nextWakeAtMs:null}),[d,u]=(0,l.useState)(!0),x=(0,l.useCallback)(async()=>{try{var e,t,r;let o=await fetch("/api/cron/jobs"),l=await o.json();n(null!=(e=l.jobs)?e:[]),s(null!=(t=l.heartbeat)?t:{intervalMs:18e5,nextDueEstimateMs:null}),c(null!=(r=l.cronStatus)?r:{enabled:!1,nextWakeAtMs:null})}catch(e){}finally{u(!1)}},[]);(0,l.useEffect)(()=>{x();let e=setInterval(()=>void x(),3e4);return()=>clearInterval(e)},[x]);let h=an(a.nextDueEstimateMs),p=an(i.nextWakeAtMs);if(d)return(0,o.jsx)("div",{className:"flex items-center justify-center h-full p-8",children:(0,o.jsx)("div",{className:"w-6 h-6 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})});let m=r.filter(e=>e.enabled),f=r.filter(e=>!e.enabled);return(0,o.jsxs)("div",{className:"p-6 max-w-5xl mx-auto",children:[(0,o.jsx)("h1",{className:"font-instrument text-3xl tracking-tight mb-1",style:{color:"var(--color-text)"},children:"Cron"}),(0,o.jsx)("p",{className:"text-sm mb-6",style:{color:"var(--color-text-muted)"},children:"Scheduled jobs and heartbeat status"}),(0,o.jsxs)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4 mb-8",children:[(0,o.jsx)(as,{title:"Heartbeat",icon:(0,o.jsx)(ad,{}),value:h?"in ".concat(h):"unknown",subtitle:"Interval: ".concat(al(a.intervalMs)),description:"The heartbeat wakes the agent periodically. Cron jobs with wakeMode=next-heartbeat piggyback on this loop."}),(0,o.jsx)(as,{title:"Cron Scheduler",icon:(0,o.jsx)(au,{}),value:p?"next in ".concat(p):0===r.length?"no jobs":"idle",subtitle:"".concat(m.length," active / ").concat(r.length," total jobs"),description:"The cron timer fires every ~60s, checking for due jobs. Isolated jobs run independently; main-session jobs wake the heartbeat."}),(0,o.jsx)(as,{title:"Active Runs",icon:(0,o.jsx)(ax,{}),value:"".concat(r.filter(e=>e.state.runningAtMs).length),subtitle:"".concat(r.filter(e=>"error"===e.state.lastStatus).length," errors"),description:"Jobs currently executing. Errors show consecutive failures."})]}),(0,o.jsx)(ai,{jobs:m}),(0,o.jsxs)("div",{className:"mb-6",children:[(0,o.jsx)("h2",{className:"text-sm font-medium uppercase tracking-wider mb-3",style:{color:"var(--color-text-muted)"},children:"Jobs"}),0===r.length?(0,o.jsx)("div",{className:"p-8 text-center rounded-2xl",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:(0,o.jsxs)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:["No cron jobs configured. Use ",(0,o.jsx)("code",{className:"px-1.5 py-0.5 rounded text-xs",style:{background:"var(--color-surface-hover)"},children:"denchclaw cron add"})," to create one."]})}):(0,o.jsx)("div",{className:"rounded-2xl overflow-hidden",style:{border:"1px solid var(--color-border)",background:"var(--color-surface)"},children:(0,o.jsxs)("table",{className:"w-full text-sm",children:[(0,o.jsx)("thead",{children:(0,o.jsxs)("tr",{style:{borderBottom:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:[(0,o.jsx)("th",{className:"text-left px-4 py-2.5 font-medium text-xs uppercase tracking-wider",children:"Name"}),(0,o.jsx)("th",{className:"text-left px-4 py-2.5 font-medium text-xs uppercase tracking-wider",children:"Schedule"}),(0,o.jsx)("th",{className:"text-left px-4 py-2.5 font-medium text-xs uppercase tracking-wider",children:"Status"}),(0,o.jsx)("th",{className:"text-left px-4 py-2.5 font-medium text-xs uppercase tracking-wider",children:"Next Run"}),(0,o.jsx)("th",{className:"text-left px-4 py-2.5 font-medium text-xs uppercase tracking-wider",children:"Last Run"}),(0,o.jsx)("th",{className:"text-left px-4 py-2.5 font-medium text-xs uppercase tracking-wider",children:"Target"})]})}),(0,o.jsx)("tbody",{children:[...m,...f].map(e=>(0,o.jsx)(ac,{job:e,onClick:()=>t(e.id)},e.id))})]})})]})]})}function as(e){let{title:t,icon:r,value:l,subtitle:n,description:a}=e;return(0,o.jsxs)("div",{className:"rounded-2xl p-4",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-sm)"},children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 mb-2",children:[(0,o.jsx)("span",{style:{color:"var(--color-accent)"},children:r}),(0,o.jsx)("span",{className:"text-xs font-medium uppercase tracking-wider",style:{color:"var(--color-text-muted)"},children:t})]}),(0,o.jsx)("div",{className:"text-lg font-semibold mb-0.5",style:{color:"var(--color-text)"},children:l}),(0,o.jsx)("div",{className:"text-xs mb-2",style:{color:"var(--color-text-muted)"},children:n}),(0,o.jsx)("div",{className:"text-[11px] leading-relaxed",style:{color:"var(--color-text-muted)",opacity:.7},children:a})]})}function ai(e){let{jobs:t}=e,[r,n]=(0,l.useState)(Date.now());(0,l.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),1e4);return()=>clearInterval(e)},[]);let a=t.filter(e=>e.state.nextRunAtMs&&e.state.nextRunAtMs>r&&e.state.nextRunAtMs<r+864e5).toSorted((e,t)=>{var r,o;return(null!=(r=e.state.nextRunAtMs)?r:0)-(null!=(o=t.state.nextRunAtMs)?o:0)});return 0===a.length?null:(0,o.jsxs)("div",{className:"mb-8",children:[(0,o.jsx)("h2",{className:"text-sm font-medium uppercase tracking-wider mb-3",style:{color:"var(--color-text-muted)"},children:"Upcoming (next 24h)"}),(0,o.jsx)("div",{className:"rounded-2xl p-4",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:(0,o.jsxs)("div",{className:"relative",children:[(0,o.jsx)("div",{className:"absolute top-0 left-3 bottom-0 w-px",style:{background:"var(--color-border)"}}),(0,o.jsx)("div",{className:"space-y-3",children:a.map(e=>{var t;let l=(null!=(t=e.state.nextRunAtMs)?t:0)-r;return(0,o.jsxs)("div",{className:"flex items-center gap-3 pl-1",children:[(0,o.jsx)("div",{className:"relative z-10 w-5 h-5 rounded-full flex items-center justify-center flex-shrink-0",style:{background:"var(--color-accent)",opacity:.8},children:(0,o.jsx)("div",{className:"w-2 h-2 rounded-full",style:{background:"var(--color-bg)"}})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsx)("span",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:e.name}),(0,o.jsxs)("span",{className:"text-xs ml-2",style:{color:"var(--color-text-muted)"},children:["in ",al(l)]})]}),(0,o.jsx)("span",{className:"text-[11px] flex-shrink-0",style:{color:"var(--color-text-muted)"},children:new Date(e.state.nextRunAtMs).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})})]},e.id)})})]})})]})}function ac(e){var t,r;let{job:n,onClick:a}=e,s=n.enabled?n.state.runningAtMs?"running":null!=(t=n.state.lastStatus)?t:"idle":"disabled",i=function(e){switch(e){case"ok":return"var(--color-success, #22c55e)";case"running":return"var(--color-accent)";case"error":return"var(--color-error, #ef4444)";case"disabled":default:return"var(--color-text-muted)";case"skipped":return"var(--color-warning, #f59e0b)"}}(s),[c,d]=(0,l.useState)(Date.now());(0,l.useEffect)(()=>{let e=setInterval(()=>d(Date.now()),5e3);return()=>clearInterval(e)},[]);let u=n.state.nextRunAtMs?n.state.nextRunAtMs>c?"in ".concat(al(n.state.nextRunAtMs-c)):"overdue":"-",x=n.state.lastRunAtMs?"".concat(function(e){let t=Date.now()-e;return t<6e4?"just now":t<36e5?"".concat(Math.floor(t/6e4),"m ago"):t<864e5?"".concat(Math.floor(t/36e5),"h ago"):"".concat(Math.floor(t/864e5),"d ago")}(n.state.lastRunAtMs)).concat(n.state.lastDurationMs?" (".concat((r=n.state.lastDurationMs)<1e3?"".concat(r,"ms"):r<6e4?"".concat((r/1e3).toFixed(1),"s"):"".concat(Math.floor(r/6e4),"m ").concat(Math.floor(r%6e4/1e3),"s"),")"):""):"-";return(0,o.jsxs)("tr",{className:"cursor-pointer transition-colors",style:{borderBottom:"1px solid var(--color-border)"},onClick:a,onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,o.jsxs)("td",{className:"px-4 py-3",children:[(0,o.jsx)("div",{className:"font-medium",style:{color:"var(--color-text)"},children:n.name}),n.description&&(0,o.jsx)("div",{className:"text-xs truncate max-w-[200px]",style:{color:"var(--color-text-muted)"},children:n.description})]}),(0,o.jsx)("td",{className:"px-4 py-3 text-xs",style:{color:"var(--color-text-muted)"},children:function(e){switch(e.kind){case"cron":return"cron: ".concat(e.expr).concat(e.tz?" (".concat(e.tz,")"):"");case"every":{let t=e.everyMs;if(t>=864e5)return"every ".concat(Math.round(t/864e5),"d");if(t>=36e5)return"every ".concat(Math.round(t/36e5),"h");if(t>=6e4)return"every ".concat(Math.round(t/6e4),"m");return"every ".concat(Math.round(t/1e3),"s")}case"at":return"at ".concat(e.at);default:return"unknown"}}(n.schedule)}),(0,o.jsx)("td",{className:"px-4 py-3",children:(0,o.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs px-2 py-0.5 rounded-full",style:{background:"color-mix(in srgb, ".concat(i," 12%, transparent)"),color:i},children:["running"===s&&(0,o.jsx)("span",{className:"w-1.5 h-1.5 rounded-full animate-pulse",style:{background:i}}),s]})}),(0,o.jsx)("td",{className:"px-4 py-3 text-xs",style:{color:"var(--color-text-muted)"},children:u}),(0,o.jsx)("td",{className:"px-4 py-3 text-xs",style:{color:"var(--color-text-muted)"},children:x}),(0,o.jsx)("td",{className:"px-4 py-3 text-xs",style:{color:"var(--color-text-muted)"},children:n.sessionTarget})]})}function ad(){return(0,o.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M19.5 12.572l-7.5 7.428l-7.5 -7.428a5 5 0 1 1 7.5 -6.566a5 5 0 1 1 7.5 6.572"})})}function au(){return(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("polyline",{points:"12 6 12 12 16 14"})]})}function ax(){return(0,o.jsx)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("polygon",{points:"6 3 20 12 6 21 6 3"})})}function ah(e){let{sessionId:t}=e,[r,n]=(0,l.useState)([]),[a,s]=(0,l.useState)(!0),[i,c]=(0,l.useState)(null),d=(0,l.useCallback)(async()=>{try{var e;let r=await fetch("/api/cron/runs/".concat(encodeURIComponent(t)));if(!r.ok)return void c(404===r.status?"Session transcript not found":"Failed to load session");let o=await r.json();n(null!=(e=o.messages)?e:[])}catch(e){c("Failed to load session")}finally{s(!1)}},[t]);return((0,l.useEffect)(()=>{d()},[d]),a)?(0,o.jsxs)("div",{className:"flex items-center gap-2 py-4",children:[(0,o.jsx)("div",{className:"w-4 h-4 border-[1.5px] rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Loading session transcript..."})]}):i?(0,o.jsx)("div",{className:"text-xs rounded-lg px-3 py-2",style:{color:"var(--color-text-muted)",background:"var(--color-surface-hover)"},children:i}):0===r.length?(0,o.jsx)("div",{className:"text-xs py-2",style:{color:"var(--color-text-muted)"},children:"Empty session transcript."}):(0,o.jsxs)("div",{className:"space-y-3",children:[(0,o.jsx)("div",{className:"text-[11px] uppercase tracking-wider font-medium mb-2",style:{color:"var(--color-text-muted)"},children:"Session Transcript"}),r.map(e=>(0,o.jsx)(am,{message:e},e.id))]})}function ap(e){let{jobId:t,runAtMs:r,summary:n,fallback:a}=e,[s,i]=(0,l.useState)([]),[c,d]=(0,l.useState)(!0),[u,x]=(0,l.useState)(!1),h=(0,l.useCallback)(async()=>{if(!r||!n){d(!1),x(!0);return}try{let e=new URLSearchParams({jobId:t,runAtMs:String(r),summary:n}),o=await fetch("/api/cron/runs/search-transcript?".concat(e));if(!o.ok)return void x(!0);let l=await o.json();l.messages&&l.messages.length>0?i(l.messages):x(!0)}catch(e){x(!0)}finally{d(!1)}},[t,r,n]);return((0,l.useEffect)(()=>{h()},[h]),c)?(0,o.jsxs)("div",{className:"flex items-center gap-2 py-4",children:[(0,o.jsx)("div",{className:"w-4 h-4 border-[1.5px] rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Searching for transcript..."})]}):u||0===s.length?(0,o.jsx)(o.Fragment,{children:a}):(0,o.jsxs)("div",{className:"space-y-3",children:[(0,o.jsx)("div",{className:"text-[11px] uppercase tracking-wider font-medium mb-2",style:{color:"var(--color-text-muted)"},children:"Session Transcript"}),s.map(e=>(0,o.jsx)(am,{message:e},e.id))]})}function am(e){let{message:t}=e,r="user"===t.role,l="system"===t.role,n=function(e){let t=[],r=[],o=()=>{r.length>0&&(t.push({type:"tool-group",tools:[...r]}),r=[])};for(let l of e)"text"===l.type?(o(),t.push({type:"text",text:l.text})):"thinking"===l.type?(o(),t.push({type:"thinking",thinking:l.thinking})):"tool-call"===l.type&&r.push(l);return o(),t}(t.parts);if(l){let e=t.parts.filter(e=>"text"===e.type).map(e=>e.text).join("\n");return(0,o.jsxs)("div",{className:"text-xs rounded-lg px-3 py-2 font-mono",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)",border:"1px dashed var(--color-border)"},children:[(0,o.jsx)("span",{className:"font-medium",children:"system:"})," ",e.slice(0,500)]})}if(r){let e=t.parts.filter(e=>"text"===e.type).map(e=>e.text).join("\n");return(0,o.jsx)("div",{className:"flex justify-end py-1",children:(0,o.jsx)("div",{className:"max-w-[80%] rounded-2xl rounded-br-sm px-4 py-2.5 text-sm",style:{background:"var(--color-user-bubble)",color:"var(--color-user-bubble-text)"},children:(0,o.jsx)("p",{className:"whitespace-pre-wrap",children:e})})})}return(0,o.jsx)("div",{className:"py-2 space-y-2",children:n.map((e,t)=>"text"===e.type?(0,o.jsx)("div",{className:"chat-prose text-sm",style:{color:"var(--color-text)"},children:(0,o.jsx)(l4.oz,{remarkPlugins:[l5.A],children:e.text})},t):"thinking"===e.type?(0,o.jsx)(af,{text:e.thinking},t):"tool-group"===e.type?(0,o.jsx)(av,{tools:e.tools},t):null)})}function af(e){let{text:t}=e,[r,n]=(0,l.useState)(!0),a=t.length>600;return(0,o.jsxs)("div",{className:"my-2",children:[(0,o.jsxs)("button",{type:"button",onClick:()=>n(e=>!e),className:"flex items-center gap-2 py-1 text-[13px] cursor-pointer",style:{color:"var(--color-text-muted)"},children:[(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"opacity-60",children:[(0,o.jsx)("path",{d:"M12 2a7 7 0 0 0-7 7c0 2.38 1.19 4.47 3 5.74V17a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2v-2.26c1.81-1.27 3-3.36 3-5.74a7 7 0 0 0-7-7z"}),(0,o.jsx)("path",{d:"M10 21h4"})]}),(0,o.jsx)("span",{className:"font-medium",children:"Thinking"}),(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 12 12",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"transition-transform duration-200 ".concat(r?"":"-rotate-90"),children:(0,o.jsx)("path",{d:"M3 4.5L6 7.5L9 4.5"})})]}),r&&(0,o.jsx)("div",{className:"text-[13px] whitespace-pre-wrap leading-relaxed pl-6 ".concat(a&&!r?"max-h-24 overflow-hidden":""),style:{color:"var(--color-text-secondary)"},children:t})]})}function av(e){let{tools:t}=e;return(0,o.jsxs)("div",{className:"my-2 relative",children:[(0,o.jsx)("div",{className:"absolute w-px",style:{left:9,top:8,bottom:8,background:"var(--color-border)"}}),(0,o.jsx)("div",{className:"space-y-1",children:t.map(e=>(0,o.jsx)(ag,{tool:e},e.toolCallId))})]})}function ag(e){let{tool:t}=e,[r,n]=(0,l.useState)(!1),a=function(e,t){var r,o,l,n,a,s;let i=e=>{let r=null==t?void 0:t[e];return"string"==typeof r&&r.length>0?r:null},c=e.toLowerCase().replace(/[_-]/g,"");if(["websearch","search","googlesearch"].some(e=>c.includes(e))){let e=null!=(o=null!=(r=i("query"))?r:i("search_query"))?o:i("q");return e?"Searching: ".concat(e.slice(0,80)):"Searching..."}if(["fetchurl","fetch","webfetch"].some(e=>c.includes(e))){let e=null!=(l=i("url"))?l:i("path");return e?"Fetching: ".concat(e.slice(0,60)):"Fetching page"}if(["read","readfile","getfile"].some(e=>c.includes(e))){let e=null!=(n=i("path"))?n:i("file");return e?"Reading: ".concat(e.split("/").pop()):"Reading file"}if(["bash","shell","execute","exec","terminal"].some(e=>c.includes(e))){let e=null!=(a=i("command"))?a:i("cmd");return e?"Running: ".concat(e.slice(0,60)):"Running command"}if(["write","create","edit","str_replace","save"].some(e=>c.includes(e))){let e=null!=(s=i("path"))?s:i("file");return e?"Editing: ".concat(e.split("/").pop()):"Editing file"}return e.replace(/_/g," ").replace(/\b\w/g,e=>e.toUpperCase())}(t.toolName,t.args);return(0,o.jsxs)("div",{className:"flex items-start gap-2.5 py-1",children:[(0,o.jsx)("div",{className:"relative z-10 flex-shrink-0 w-5 h-5 mt-0.5 flex items-center justify-center rounded-full",style:{background:"var(--color-bg)"},children:(0,o.jsx)(ay,{toolName:t.toolName})}),(0,o.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,o.jsx)("div",{className:"text-[13px] leading-snug",style:{color:"var(--color-text-secondary)"},children:a}),t.output&&(0,o.jsxs)("div",{className:"mt-0.5",children:[(0,o.jsx)("button",{type:"button",onClick:()=>n(e=>!e),className:"text-[11px] hover:underline cursor-pointer",style:{color:"var(--color-accent)"},children:r?"Hide output":"Show output"}),r&&(0,o.jsx)("pre",{className:"mt-1 text-[11px] font-mono rounded-lg px-2.5 py-2 overflow-x-auto whitespace-pre-wrap break-all max-h-48 overflow-y-auto leading-relaxed",style:{color:"var(--color-text-muted)",background:"var(--color-bg)"},children:t.output.length>3e3?t.output.slice(0,3e3)+"\n...":t.output})]})]})]})}function ay(e){let{toolName:t}=e,r="var(--color-text-muted)",l=t.toLowerCase().replace(/[_-]/g,"");return["search","websearch"].some(e=>l.includes(e))?(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,o.jsx)("path",{d:"m21 21-4.3-4.3"})]}):["bash","shell","exec","terminal"].some(e=>l.includes(e))?(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("polyline",{points:"4 17 10 11 4 5"}),(0,o.jsx)("line",{x1:"12",x2:"20",y1:"19",y2:"19"})]}):["write","edit","create","save"].some(e=>l.includes(e))?(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7"}),(0,o.jsx)("path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z"})]}):(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:r,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]})}function ab(e){var t,r;let{job:n,onBack:a}=e,[s,i]=(0,l.useState)([]),[c,d]=(0,l.useState)(!0),[u,x]=(0,l.useState)(null),h=(0,l.useCallback)(async()=>{try{var e;let t=await fetch("/api/cron/jobs/".concat(encodeURIComponent(n.id),"/runs?limit=50")),r=await t.json();i(null!=(e=r.entries)?e:[])}catch(e){}finally{d(!1)}},[n.id]);(0,l.useEffect)(()=>{h();let e=setInterval(h,15e3);return()=>clearInterval(e)},[h]);let p=n.enabled?n.state.runningAtMs?"running":null!=(t=n.state.lastStatus)?t:"idle":"disabled";return(0,o.jsxs)("div",{className:"p-6 max-w-4xl mx-auto",children:[(0,o.jsxs)("button",{type:"button",onClick:a,className:"flex items-center gap-1 text-sm mb-4 cursor-pointer",style:{color:"var(--color-text-muted)"},children:[(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]}),"Back to Cron"]}),(0,o.jsxs)("div",{className:"mb-6",children:[(0,o.jsxs)("div",{className:"flex items-center gap-3 mb-1",children:[(0,o.jsx)("h1",{className:"font-instrument text-3xl tracking-tight",style:{color:"var(--color-text)"},children:n.name}),(0,o.jsx)(aN,{status:p})]}),n.description&&(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:n.description})]}),(0,o.jsxs)("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4 mb-8",children:[(0,o.jsx)(aj,{job:n}),(0,o.jsxs)("div",{className:"rounded-2xl p-4",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider mb-3",style:{color:"var(--color-text-muted)"},children:"Configuration"}),(0,o.jsxs)("div",{className:"space-y-2 text-sm",children:[(0,o.jsx)(aC,{label:"Schedule",value:function(e){switch(e.kind){case"cron":return e.expr+(e.tz?" (".concat(e.tz,")"):"");case"every":{let t=e.everyMs;if(t>=864e5)return"every ".concat(Math.round(t/864e5)," day(s)");if(t>=36e5)return"every ".concat(Math.round(t/36e5)," hour(s)");if(t>=6e4)return"every ".concat(Math.round(t/6e4)," minute(s)");return"every ".concat(Math.round(t/1e3)," second(s)")}case"at":return new Date(e.at).toLocaleString();default:return"unknown"}}(n.schedule)}),(0,o.jsx)(aC,{label:"Target",value:n.sessionTarget}),(0,o.jsx)(aC,{label:"Wake mode",value:n.wakeMode}),(0,o.jsx)(aC,{label:"Payload",value:"".concat(n.payload.kind,": ").concat("systemEvent"===(r=n.payload).kind?r.text.slice(0,120):r.message.slice(0,120))}),n.agentId&&(0,o.jsx)(aC,{label:"Agent",value:n.agentId}),n.delivery&&(0,o.jsx)(aC,{label:"Delivery",value:n.delivery.mode}),(0,o.jsx)(aC,{label:"Created",value:new Date(n.createdAtMs).toLocaleString()})]})]})]}),n.state.consecutiveErrors&&n.state.consecutiveErrors>0&&(0,o.jsxs)("div",{className:"rounded-2xl p-4 mb-6",style:{background:"color-mix(in srgb, var(--color-error, #ef4444) 6%, var(--color-surface))",border:"1px solid color-mix(in srgb, var(--color-error, #ef4444) 18%, transparent)"},children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 mb-1",children:[(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-error, #ef4444)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("line",{x1:"12",y1:"8",x2:"12",y2:"12"}),(0,o.jsx)("line",{x1:"12",y1:"16",x2:"12.01",y2:"16"})]}),(0,o.jsxs)("span",{className:"text-sm font-medium",style:{color:"var(--color-error, #ef4444)"},children:[n.state.consecutiveErrors," consecutive error",n.state.consecutiveErrors>1?"s":""]})]}),n.state.lastError&&(0,o.jsx)("p",{className:"text-xs font-mono mt-1",style:{color:"var(--color-error, #ef4444)",opacity:.8},children:n.state.lastError})]}),(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{className:"text-sm font-medium uppercase tracking-wider mb-3",style:{color:"var(--color-text-muted)"},children:"Run History"}),c?(0,o.jsx)("div",{className:"flex items-center justify-center p-8",children:(0,o.jsx)("div",{className:"w-5 h-5 border-2 rounded-full animate-spin",style:{borderColor:"var(--color-border)",borderTopColor:"var(--color-accent)"}})}):0===s.length?(0,o.jsx)("div",{className:"p-8 text-center rounded-2xl",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"No runs recorded yet."})}):(0,o.jsx)("div",{className:"space-y-2",children:s.toReversed().map(e=>(0,o.jsx)(ak,{run:e,isExpanded:u===e.ts,onToggle:()=>x(u===e.ts?null:e.ts)},"".concat(e.ts,"-").concat(e.jobId)))})]})]})}function aj(e){let{job:t}=e,[r,n]=(0,l.useState)(Date.now());(0,l.useEffect)(()=>{let e=setInterval(()=>n(Date.now()),1e3);return()=>clearInterval(e)},[]);let a=t.state.nextRunAtMs,s=!!t.state.runningAtMs;return(0,o.jsxs)("div",{className:"rounded-2xl p-4 flex flex-col justify-center",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:[(0,o.jsx)("h3",{className:"text-xs font-medium uppercase tracking-wider mb-2",style:{color:"var(--color-text-muted)"},children:s?"Currently Running":"Next Run"}),s?(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[(0,o.jsx)("span",{className:"w-2 h-2 rounded-full animate-pulse",style:{background:"var(--color-accent)"}}),(0,o.jsx)("span",{className:"text-2xl font-semibold",style:{color:"var(--color-accent)"},children:"Running now"})]}):a?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"text-3xl font-semibold mb-1",style:{color:"var(--color-text)"},children:a>r?function(e){if(e<=0)return"now";let t=Math.ceil(e/1e3);if(t<60)return"".concat(t,"s");let r=Math.floor(t/60),o=t%60;if(r<60)return o>0?"".concat(r,"m ").concat(o,"s"):"".concat(r,"m");let l=Math.floor(r/60),n=r%60;return n>0?"".concat(l,"h ").concat(n,"m"):"".concat(l,"h")}(a-r):"overdue"}),(0,o.jsx)("div",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:new Date(a).toLocaleString()})]}):(0,o.jsx)("div",{className:"text-lg",style:{color:"var(--color-text-muted)"},children:t.enabled?"Not scheduled":"Disabled"})]})}function ak(e){var t,r;let{run:l,isExpanded:n,onToggle:a}=e,s="ok"===l.status?"var(--color-success, #22c55e)":"error"===l.status?"var(--color-error, #ef4444)":"var(--color-warning, #f59e0b)";return(0,o.jsxs)("div",{className:"rounded-xl overflow-hidden",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)"},children:[(0,o.jsxs)("button",{type:"button",onClick:a,className:"w-full flex items-center gap-3 px-4 py-3 text-left cursor-pointer transition-colors",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,o.jsx)("span",{className:"w-2.5 h-2.5 rounded-full flex-shrink-0",style:{background:s}}),(0,o.jsx)("span",{className:"text-sm",style:{color:"var(--color-text)"},children:new Date(l.ts).toLocaleString()}),(0,o.jsx)("span",{className:"text-xs px-2 py-0.5 rounded-full",style:{background:"color-mix(in srgb, ".concat(s," 12%, transparent)"),color:s},children:null!=(t=l.status)?t:"unknown"}),null!=l.durationMs&&(0,o.jsx)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:(r=l.durationMs)<1e3?"".concat(r,"ms"):r<6e4?"".concat((r/1e3).toFixed(1),"s"):"".concat(Math.floor(r/6e4),"m ").concat(Math.floor(r%6e4/1e3),"s")}),l.summary&&(0,o.jsx)("span",{className:"text-xs truncate flex-1 min-w-0",style:{color:"var(--color-text-muted)"},children:l.summary}),l.sessionId&&(0,o.jsx)("span",{className:"text-[10px] px-1.5 py-0.5 rounded",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:"chat"}),(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 12 12",fill:"none",stroke:"var(--color-text-muted)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"flex-shrink-0 transition-transform duration-200 ".concat(n?"":"-rotate-90"),children:(0,o.jsx)("path",{d:"M3 4.5L6 7.5L9 4.5"})})]}),n&&(0,o.jsxs)("div",{className:"px-4 pb-4",style:{borderTop:"1px solid var(--color-border)"},children:[l.error&&(0,o.jsx)("div",{className:"mt-3 text-xs font-mono rounded-lg px-3 py-2",style:{color:"var(--color-error, #ef4444)",background:"color-mix(in srgb, var(--color-error, #ef4444) 6%, var(--color-surface))"},children:l.error}),l.sessionId?(0,o.jsx)("div",{className:"mt-4",children:(0,o.jsx)(ah,{sessionId:l.sessionId})}):(0,o.jsx)("div",{className:"mt-4",children:(0,o.jsx)(aw,{run:l})})]})]})}function aw(e){let{run:t}=e,r=t.summary?(0,o.jsxs)("div",{children:[(0,o.jsx)("div",{className:"text-[11px] uppercase tracking-wider font-medium mb-2",style:{color:"var(--color-text-muted)"},children:"Run Output"}),(0,o.jsx)("div",{className:"chat-prose text-sm",style:{color:"var(--color-text)"},children:(0,o.jsx)(l4.oz,{remarkPlugins:[l5.A],children:t.summary})})]}):(0,o.jsx)("div",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"No output recorded for this run."});return(0,o.jsx)(ap,{jobId:t.jobId,runAtMs:t.runAtMs,summary:t.summary,fallback:r})}function aN(e){let{status:t}=e,r="ok"===t?"var(--color-success, #22c55e)":"running"===t?"var(--color-accent)":"error"===t?"var(--color-error, #ef4444)":"var(--color-text-muted)";return(0,o.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-xs px-2.5 py-1 rounded-full",style:{background:"color-mix(in srgb, ".concat(r," 12%, transparent)"),color:r},children:["running"===t&&(0,o.jsx)("span",{className:"w-1.5 h-1.5 rounded-full animate-pulse",style:{background:r}}),t]})}function aC(e){let{label:t,value:r}=e;return(0,o.jsxs)("div",{className:"flex items-start gap-2",children:[(0,o.jsx)("span",{className:"text-xs font-medium w-20 flex-shrink-0",style:{color:"var(--color-text-muted)"},children:t}),(0,o.jsx)("span",{className:"text-xs break-all",style:{color:"var(--color-text)"},children:r})]})}function aS(){return(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("polygon",{points:"22 3 2 3 10 12.46 10 19 14 21 14 12.46 22 3"})})}function aL(){return(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 5v14"}),(0,o.jsx)("path",{d:"M5 12h14"})]})}function aM(e){let{size:t=12}=e;return(0,o.jsxs)("svg",{width:t,height:t,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})}function aT(){return(0,o.jsx)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m6 9 6 6 6-6"})})}function aE(){return(0,o.jsx)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"m19 21-7-4-7 4V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v16z"})})}function aW(){return(0,o.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M3 6h18"}),(0,o.jsx)("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),(0,o.jsx)("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})]})}let aR={text:"Aa",number:"#",date:"\uD83D\uDCC5",boolean:"☑",enum:"\uD83C\uDFF7",relation:"\uD83D\uDD17",user:"\uD83D\uDC64",richtext:"\xb6",email:"@"};function aD(e){let{trigger:t,open:r,onOpenChange:n,children:a,align:s="left"}=e,i=(0,l.useRef)(null);return(0,l.useEffect)(()=>{if(!r)return;let e=e=>{i.current&&!i.current.contains(e.target)&&n(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[r,n]),(0,o.jsxs)("div",{ref:i,className:"relative inline-block",children:[(0,o.jsx)("div",{onClick:()=>n(!r),children:t}),r&&(0,o.jsx)("div",{className:"absolute z-50 mt-1 rounded-lg shadow-lg border py-1 min-w-[200px] max-h-[320px] overflow-y-auto",style:{background:"var(--color-surface)",borderColor:"var(--color-border)",["right"===s?"right":"left"]:0},children:a})]})}function aI(e){let{children:t,onClick:r,danger:l,active:n}=e;return(0,o.jsx)("button",{type:"button",className:"w-full text-left px-3 py-1.5 text-xs transition-colors cursor-pointer flex items-center gap-2",style:{color:l?"var(--color-error, #ef4444)":n?"var(--color-accent)":"var(--color-text)",background:n?"var(--color-accent-light, rgba(99,102,241,0.1))":"transparent"},onMouseEnter:e=>{e.currentTarget.style.background=l?"rgba(239,68,68,0.1)":"var(--color-accent-light, rgba(99,102,241,0.1))"},onMouseLeave:e=>{e.currentTarget.style.background=n?"var(--color-accent-light, rgba(99,102,241,0.1))":"transparent"},onClick:r,children:t})}function aB(e){let{value:t,onChange:r,placeholder:l}=e;return(0,o.jsx)("input",{type:"text",value:t,onChange:e=>r(e.target.value),placeholder:null!=l?l:"Value...",className:"px-2 py-1 rounded-md text-xs outline-none min-w-[120px]",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}})}function aF(e){let{value:t,valueTo:r,showRange:l,onChange:n}=e;return(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsx)("input",{type:"number",value:null!=t?t:"",onChange:e=>n(e.target.value?Number(e.target.value):void 0,r),placeholder:l?"Min":"Value",className:"px-2 py-1 rounded-md text-xs outline-none w-20",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}}),l&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:"to"}),(0,o.jsx)("input",{type:"number",value:null!=r?r:"",onChange:e=>n(t,e.target.value?Number(e.target.value):void 0),placeholder:"Max",className:"px-2 py-1 rounded-md text-xs outline-none w-20",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}})]})]})}function a_(e){let{value:t,valueTo:r,showRange:l,showRelative:n,relativeAmount:a,relativeUnit:s,onChange:i}=e;return n?(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsx)("input",{type:"number",min:1,value:null!=a?a:7,onChange:e=>i({relativeAmount:Number(e.target.value)||7}),className:"px-2 py-1 rounded-md text-xs outline-none w-16",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}}),(0,o.jsxs)("select",{value:null!=s?s:"days",onChange:e=>i({relativeUnit:e.target.value}),className:"px-2 py-1 rounded-md text-xs outline-none cursor-pointer",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"},children:[(0,o.jsx)("option",{value:"days",children:"days"}),(0,o.jsx)("option",{value:"weeks",children:"weeks"}),(0,o.jsx)("option",{value:"months",children:"months"})]})]}):(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsx)("input",{type:"date",value:t,onChange:e=>i({value:e.target.value}),className:"px-2 py-1 rounded-md text-xs outline-none",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",colorScheme:"dark"}}),l&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)"},children:"to"}),(0,o.jsx)("input",{type:"date",value:r,onChange:e=>i({valueTo:e.target.value}),className:"px-2 py-1 rounded-md text-xs outline-none",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",colorScheme:"dark"}})]})]})}function aP(e){var t;let{value:r,enumValues:l,enumColors:n,multiple:a,onChange:s}=e,i=Array.isArray(r)?r:r?[r]:[];return a?(0,o.jsx)("div",{className:"flex flex-wrap gap-1",children:l.map((e,t)=>{var l;let a=i.includes(e),c=null!=(l=null==n?void 0:n[t])?l:"#94a3b8";return(0,o.jsx)("button",{type:"button",onClick:()=>{let t=a?i.filter(t=>t!==e):[...i,e];s(1!==t.length||Array.isArray(r)?t:t[0])},className:"px-2 py-0.5 rounded-full text-[10px] transition-colors cursor-pointer",style:{background:a?"".concat(c,"20"):"var(--color-surface)",border:"1px solid ".concat(a?"".concat(c,"60"):"var(--color-border)"),color:a?c:"var(--color-text-muted)"},children:e},e)})}):(0,o.jsxs)("select",{value:"string"==typeof r?r:null!=(t=r[0])?t:"",onChange:e=>s(e.target.value),className:"px-2 py-1 rounded-md text-xs outline-none cursor-pointer",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",minWidth:100},children:[(0,o.jsx)("option",{value:"",children:"Select..."}),l.map(e=>(0,o.jsx)("option",{value:e,children:e},e))]})}function aA(){return null}function az(e){let{value:t,relatedObjectName:r,members:l,multiple:n,onChange:a}=e;if(l&&l.length>0){let e=Array.isArray(t)?t:t?[t]:[];return(0,o.jsx)("div",{className:"flex flex-wrap gap-1",children:l.map(t=>{let r=e.includes(t.id);return(0,o.jsx)("button",{type:"button",onClick:()=>{n?a(r?e.filter(e=>e!==t.id):[...e,t.id]):a(r?"":t.id)},className:"px-2 py-0.5 rounded-full text-[10px] transition-colors cursor-pointer",style:{background:r?"var(--color-accent-light)":"var(--color-surface)",border:"1px solid ".concat(r?"var(--color-accent)":"var(--color-border)"),color:r?"var(--color-accent)":"var(--color-text-muted)"},children:t.name},t.id)})})}return(0,o.jsx)(aB,{value:Array.isArray(t)?t.join(", "):String(null!=t?t:""),onChange:e=>{let t=e.split(",").map(e=>e.trim()).filter(Boolean);a(1===t.length?t[0]:t)},placeholder:r?"Search ".concat(r,"..."):"ID..."})}function aO(e){var t,r,l,n,a,s,i;let{rule:c,field:d,fields:u,members:x,onUpdate:h,onRemove:p}=e,m=null!=(t=null==d?void 0:d.type)?t:"text",f=function(e){switch(e){case"text":case"richtext":case"email":default:return t9;case"number":return re;case"date":return rt;case"enum":return rr;case"boolean":return ro;case"relation":case"user":return rl}}(m),v="between"===c.operator||"date_between"===c.operator,g="relative_past"===c.operator||"relative_next"===c.operator,y="is_any_of"===c.operator||"is_none_of"===c.operator||"has_any"===c.operator||"has_none"===c.operator||"has_all"===c.operator,b="is_empty"===c.operator||"is_not_empty"===c.operator||"is_true"===c.operator||"is_false"===c.operator;return(0,o.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,o.jsx)("select",{value:c.field,onChange:e=>(e=>{var t;let r=u.find(t=>t.name===e);h({field:e,operator:rn(null!=(t=null==r?void 0:r.type)?t:"text"),value:void 0,valueTo:void 0,relativeAmount:void 0,relativeUnit:void 0})})(e.target.value),className:"px-2 py-1 rounded-md text-xs outline-none cursor-pointer font-medium",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)",maxWidth:140},children:u.map(e=>{var t;return(0,o.jsxs)("option",{value:e.name,children:[null!=(t=aR[e.type])?t:"?"," ",e.name]},e.name)})}),(0,o.jsx)("select",{value:c.operator,onChange:e=>h({operator:e.target.value,value:void 0,valueTo:void 0}),className:"px-2 py-1 rounded-md text-xs outline-none cursor-pointer",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text-muted)"},children:f.map(e=>(0,o.jsx)("option",{value:e.value,children:e.label},e.value))}),!b&&(0,o.jsxs)(o.Fragment,{children:[("text"===m||"richtext"===m||"email"===m)&&(0,o.jsx)(aB,{value:String(null!=(r=c.value)?r:""),onChange:e=>h({value:e})}),"number"===m&&(0,o.jsx)(aF,{value:"number"==typeof c.value?c.value:void 0,valueTo:"number"==typeof c.valueTo?c.valueTo:void 0,showRange:v,onChange:(e,t)=>h({value:e,valueTo:t})}),"date"===m&&(0,o.jsx)(a_,{value:String(null!=(l=c.value)?l:""),valueTo:String(null!=(n=c.valueTo)?n:""),showRange:v,showRelative:g,relativeAmount:c.relativeAmount,relativeUnit:c.relativeUnit,onChange:h}),"enum"===m&&(0,o.jsx)(aP,{value:null!=(a=c.value)?a:"",enumValues:null!=(s=null==d?void 0:d.enum_values)?s:[],enumColors:null==d?void 0:d.enum_colors,multiple:y,onChange:e=>h({value:e})}),"boolean"===m&&(0,o.jsx)(aA,{}),("relation"===m||"user"===m)&&(0,o.jsx)(az,{value:null!=(i=c.value)?i:"",relatedObjectName:null==d?void 0:d.related_object_name,members:"user"===m?x:void 0,multiple:y,onChange:e=>h({value:e})})]}),(0,o.jsx)("button",{type:"button",onClick:p,className:"p-1 rounded transition-colors cursor-pointer",style:{color:"var(--color-text-muted)"},title:"Remove filter",children:(0,o.jsx)(aM,{size:14})})]})}function aU(e){let{fields:t,filters:r,onFiltersChange:n,savedViews:a,activeViewName:s,onSaveView:i,onLoadView:c,onDeleteView:d,onSetActiveView:u,members:x}=e,[h,p]=(0,l.useState)(!1),[m,f]=(0,l.useState)(!1),[v,g]=(0,l.useState)(!1),[y,b]=(0,l.useState)(""),j=(0,l.useRef)(null),k=r.rules.length>0;(0,l.useEffect)(()=>{v&&j.current&&j.current.focus()},[v]);let w=(0,l.useCallback)(e=>{var o;let l=t.find(t=>t.name===e),a=null!=(o=null==l?void 0:l.type)?o:"text",s={id:Math.random().toString(36).slice(2,9),field:e,operator:rn(a)};n({...r,rules:[...r.rules,s]}),p(!1)},[t,r,n]),N=(0,l.useCallback)((e,t)=>{let o=r.rules.map(r=>ra(r)||r.id!==e?r:{...r,...t});n({...r,rules:o})},[r,n]),C=(0,l.useCallback)(e=>{let t=r.rules.filter(t=>!!ra(t)||t.id!==e);n({...r,rules:t})},[r,n]),S=(0,l.useCallback)(()=>{n(ri()),u(void 0)},[n,u]),L=(0,l.useCallback)(()=>{n({...r,conjunction:"and"===r.conjunction?"or":"and"})},[r,n]),M=(0,l.useCallback)(()=>{y.trim()&&(i(y.trim()),b(""),g(!1))},[y,i]),T=(0,l.useMemo)(()=>{let e={};for(let o of t){var r;let t=null!=(r=e[o.type])?r:[];t.push(o),e[o.type]=t}return e},[t]);return(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsxs)("div",{className:"flex items-center gap-2 flex-wrap",children:[(0,o.jsxs)("span",{className:"flex items-center gap-1.5 text-xs font-medium",style:{color:"var(--color-text-muted)"},children:[(0,o.jsx)(aS,{}),"Filters"]}),r.rules.length>=2&&(0,o.jsx)("button",{type:"button",onClick:L,className:"px-2 py-0.5 rounded-full text-[10px] font-semibold uppercase tracking-wider transition-colors cursor-pointer",style:{background:"var(--color-accent-light, rgba(99,102,241,0.1))",color:"var(--color-accent)",border:"1px solid var(--color-accent)"},title:"Matching ".concat("and"===r.conjunction?"ALL":"ANY"," rules. Click to toggle."),children:r.conjunction}),r.rules.map(e=>ra(e)?null:(0,o.jsxs)("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-full text-[11px] max-w-[250px] truncate",style:{background:"var(--color-accent-light, rgba(99,102,241,0.1))",color:"var(--color-accent)",border:"1px solid var(--color-accent)"},title:rc(e),children:[(0,o.jsx)("span",{className:"truncate",children:rc(e)}),(0,o.jsx)("button",{type:"button",onClick:()=>C(e.id),className:"flex-shrink-0 cursor-pointer p-0.5 rounded-full transition-colors",style:{color:"var(--color-accent)"},children:(0,o.jsx)(aM,{size:10})})]},e.id)),(0,o.jsx)(aD,{trigger:(0,o.jsxs)("button",{type:"button",className:"flex items-center gap-1 px-2 py-1 rounded-md text-xs transition-colors cursor-pointer",style:{color:"var(--color-text-muted)",border:"1px dashed var(--color-border)"},children:[(0,o.jsx)(aL,{})," Add filter"]}),open:h,onOpenChange:p,children:Object.entries(T).map(e=>{var t;let[r,l]=e;return(0,o.jsxs)("div",{children:[(0,o.jsxs)("div",{className:"px-3 py-1 text-[10px] font-semibold uppercase tracking-wider",style:{color:"var(--color-text-muted)"},children:[null!=(t=aR[r])?t:"?"," ",r]}),l.map(e=>(0,o.jsx)(aI,{onClick:()=>w(e.name),children:e.name},e.name))]},r)})}),k&&(0,o.jsxs)("button",{type:"button",onClick:S,className:"flex items-center gap-1 px-2 py-1 rounded-md text-[11px] transition-colors cursor-pointer",style:{color:"var(--color-accent)",background:"var(--color-accent-light, rgba(99,102,241,0.1))"},children:[(0,o.jsx)(aM,{size:10}),"Clear all"]}),(0,o.jsx)("div",{className:"flex-1"}),(0,o.jsxs)(aD,{trigger:(0,o.jsxs)("button",{type:"button",className:"flex items-center gap-1 px-2 py-1 rounded-md text-xs transition-colors cursor-pointer",style:{color:s?"var(--color-accent)":"var(--color-text-muted)",border:"1px solid ".concat(s?"var(--color-accent)":"var(--color-border)"),background:s?"var(--color-accent-light, rgba(99,102,241,0.1))":"transparent"},children:[(0,o.jsx)(aE,{}),null!=s?s:"Views",(0,o.jsx)(aT,{})]}),open:m,onOpenChange:f,align:"right",children:[0===a.length&&(0,o.jsx)("div",{className:"px-3 py-2 text-xs",style:{color:"var(--color-text-muted)"},children:"No saved views"}),a.map(e=>(0,o.jsxs)("div",{className:"flex items-center group",children:[(0,o.jsxs)(aI,{onClick:()=>{c(e),f(!1)},active:s===e.name,children:[(0,o.jsx)("span",{className:"flex-1 truncate",children:e.name}),e.view_type&&"table"!==e.view_type&&(0,o.jsx)("span",{className:"text-[9px] px-1.5 py-0.5 rounded ml-1 capitalize",style:{background:"var(--color-surface-hover)",color:"var(--color-text-muted)"},children:e.view_type}),e.filters&&e.filters.rules.length>0&&(0,o.jsxs)("span",{className:"text-[10px] ml-1",style:{color:"var(--color-text-muted)"},children:[e.filters.rules.length," filter",1!==e.filters.rules.length?"s":""]})]}),(0,o.jsx)("button",{type:"button",onClick:t=>{t.stopPropagation(),d(e.name)},className:"px-2 py-1 opacity-0 group-hover:opacity-100 transition-opacity cursor-pointer",style:{color:"var(--color-text-muted)"},title:"Delete view",children:(0,o.jsx)(aW,{})})]},e.name)),(0,o.jsx)("div",{className:"border-t my-1",style:{borderColor:"var(--color-border)"}}),k&&!v&&(0,o.jsxs)(aI,{onClick:()=>g(!0),children:[(0,o.jsx)(aE,{}),"Save current filters as view..."]}),v&&(0,o.jsxs)("div",{className:"px-3 py-2 flex items-center gap-1",children:[(0,o.jsx)("input",{ref:j,type:"text",value:y,onChange:e=>b(e.target.value),onKeyDown:e=>{"Enter"===e.key&&M(),"Escape"===e.key&&g(!1)},placeholder:"View name...",className:"px-2 py-1 rounded-md text-xs outline-none flex-1",style:{background:"var(--color-bg)",border:"1px solid var(--color-border)",color:"var(--color-text)"}}),(0,o.jsx)("button",{type:"button",onClick:M,className:"px-2 py-1 rounded-md text-xs transition-colors cursor-pointer",style:{background:"var(--color-accent)",color:"white"},children:"Save"})]}),s&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"border-t my-1",style:{borderColor:"var(--color-border)"}}),(0,o.jsxs)(aI,{onClick:()=>{S(),f(!1)},children:[(0,o.jsx)(aM,{size:12}),"Clear active view"]})]})]})]}),k&&(0,o.jsx)("div",{className:"space-y-1.5 pl-5",children:r.rules.map((e,l)=>{if(ra(e))return null;let n=t.find(t=>t.name===e.field);return(0,o.jsxs)("div",{className:"flex items-center gap-1.5",children:[l>0&&(0,o.jsx)("span",{className:"text-[10px] font-semibold uppercase w-8 text-center flex-shrink-0",style:{color:"var(--color-text-muted)"},children:r.conjunction}),0===l&&(0,o.jsx)("span",{className:"w-8 flex-shrink-0"}),(0,o.jsx)(aO,{rule:e,field:n,fields:t,members:x,onUpdate:t=>N(e.id,t),onRemove:()=>C(e.id)})]},e.id)})})]})}function aH(e){return e.startsWith("~")&&!e.startsWith("~/")}function aV(e){return e.startsWith("/")}function aK(e){return e.startsWith("~/")}function aJ(e){return aH(e)?"/api/workspace/virtual-file?path=".concat(encodeURIComponent(e)):aV(e)||aK(e)?"/api/workspace/browse-file?path=".concat(encodeURIComponent(e)):"/api/workspace/file?path=".concat(encodeURIComponent(e))}function aq(e){return aV(e)||aK(e)?"/api/workspace/browse-file?path=".concat(encodeURIComponent(e),"&raw=true"):"/api/workspace/raw-file?path=".concat(encodeURIComponent(e))}let aG="dench-workspace-left-sidebar-width",a$="dench-workspace-right-sidebar-width";function aZ(e,t,r){return Math.min(r,Math.max(t,e))}function aQ(e){let{mode:t,containerRef:r,min:n,max:a,onResize:s}=e,[i,c]=(0,l.useState)(!1),d=(0,l.useCallback)(e=>{e.preventDefault(),c(!0);let o=e=>{let o=r.current;if(!o)return;let l=o.getBoundingClientRect();s(aZ("left"===t?e.clientX-l.left:l.right-e.clientX,n,a))},l=()=>{c(!1),document.removeEventListener("mousemove",o),document.removeEventListener("mouseup",l),document.body.style.removeProperty("user-select"),document.body.style.removeProperty("cursor"),document.body.classList.remove("resizing")};document.body.style.setProperty("user-select","none"),document.body.style.setProperty("cursor","col-resize"),document.body.classList.add("resizing"),document.addEventListener("mousemove",o),document.addEventListener("mouseup",l)},[r,t,n,a,s]);return(0,o.jsx)("div",{role:"separator","aria-orientation":"vertical",onMouseDown:d,className:"cursor-col-resize flex justify-center transition-colors ".concat(i?"bg-blue-600/30":"hover:bg-blue-600/30"),style:{position:"absolute",["left"===t?"right":"left"]:-2,top:0,bottom:0,width:4,zIndex:20}})}function aY(e,t){for(let r of e){if(r.path===t)return r;if(r.children){let e=aY(r.children,t);if(e)return e}}return null}function aX(e){let t=e.split("/");return t[t.length-1]}function a0(e,t){let r=aY(e,t);if(r||!t.startsWith("knowledge/")&&(r=aY(e,"knowledge/".concat(t)))||t.startsWith("knowledge/")&&(r=aY(e,t.slice(10))))return r;let o=t.split("/").pop();return o&&(r=function e(t){for(let r of t){if("object"===r.type&&aX(r.path)===o)return r;if(r.children){let t=e(r.children);if(t)return t}}return null}(e))?r:null}function a1(){return(0,o.jsx)(l.Suspense,{fallback:(0,o.jsx)("div",{className:"flex h-screen items-center justify-center",style:{background:"var(--color-bg)"},children:(0,o.jsx)(q,{name:"braille",className:"text-2xl",style:{color:"var(--color-text-muted)"}})}),children:(0,o.jsx)(a2,{})})}function a2(){var e,t,a,s;let i=(0,n.useSearchParams)(),c=(0,n.useRouter)(),d=(0,l.useRef)(!1),u=(0,l.useRef)(null),x=(0,l.useRef)(null),h=(0,l.useRef)(null),{tree:p,loading:m,exists:f,refresh:v,reconnect:g,browseDir:y,setBrowseDir:b,parentDir:j,workspaceRoot:k,openclawDir:w,activeWorkspace:N,showHidden:C,setShowHidden:S}=function(){let[e,t]=(0,l.useState)([]),[r,o]=(0,l.useState)(!0),[n,a]=(0,l.useState)(!1),[s,i]=(0,l.useState)(null),[c,d]=(0,l.useState)(null),[u,x]=(0,l.useState)(null),[h,p]=(0,l.useState)(null),[m,f]=(0,l.useState)(null),[v,g]=(0,l.useState)(!1),y=(0,l.useRef)(!0),b=(0,l.useRef)(1e3),j=(0,l.useRef)(0),[k,w]=(0,l.useState)(0),N=(0,l.useCallback)(async()=>{let e=++j.current;try{let d=v?"?showHidden=1":"",u=await fetch("/api/workspace/tree".concat(d)),h=await u.json();if(y.current&&j.current===e){var r,l,n,s,i,c;t(null!=(r=h.tree)?r:[]),a(null!=(l=h.exists)&&l),x(null!=(n=h.workspaceRoot)?n:null),p(null!=(s=h.openclawDir)?s:null),f(null!=(c=null!=(i=h.workspace)?i:h.profile)?c:null),o(!1)}}catch(t){y.current&&j.current===e&&o(!1)}},[v]),C=(0,l.useCallback)(async e=>{let r=++j.current;try{o(!0);let s=v?"&showHidden=1":"",i=await fetch("/api/workspace/browse?dir=".concat(encodeURIComponent(e)).concat(s)),c=await i.json();if(y.current&&j.current===r){var l,n;t(null!=(l=c.entries)?l:[]),d(null!=(n=c.parentDir)?n:null),a(!0),o(!1)}}catch(e){y.current&&j.current===r&&o(!1)}},[v]),S=(0,l.useRef)(null),L=(0,l.useCallback)(e=>{let t=e;null!=e&&u&&e===u&&(t=null),null!=t&&t!==S.current&&o(!0),S.current=t,i(t)},[u]),M=(0,l.useCallback)(async()=>{s?await C(s):await N()},[s,C,N]),T=(0,l.useCallback)(()=>{M()},[M]),E=(0,l.useCallback)(()=>{w(e=>e+1),M()},[M]);return(0,l.useEffect)(()=>(y.current=!0,M(),()=>{y.current=!1}),[M]),(0,l.useEffect)(()=>{if(s)return;let e=null,t=null,r=null,o=!0,l=null;function n(){!t&&o&&(t=setInterval(()=>{o&&N()},5e3))}return function a(){if(o)try{(e=new EventSource("/api/workspace/watch")).addEventListener("connected",()=>{b.current=1e3,t&&(clearInterval(t),t=null)}),e.addEventListener("change",()=>{l&&clearTimeout(l),l=setTimeout(()=>{o&&N()},300)}),e.addEventListener("error",()=>{null==e||e.close(),e=null,function(){if(!o)return;n();let e=b.current;b.current=Math.min(2*e,3e4),r=setTimeout(()=>{t&&(clearInterval(t),t=null),a()},e)}()})}catch(e){n()}}(),()=>{o=!1,e&&e.close(),t&&clearInterval(t),r&&clearTimeout(r),l&&clearTimeout(l)}},[s,N,k]),{tree:e,loading:r,exists:n,refresh:T,reconnect:E,browseDir:s,setBrowseDir:L,parentDir:c,workspaceRoot:u,openclawDir:h,activeWorkspace:m,showHidden:v,setShowHidden:g}}(),{search:L}=function(e){let[t,r]=(0,l.useState)([]),[o,n]=(0,l.useState)(!0),a=(0,l.useRef)(!0),s=(0,l.useCallback)(async()=>{try{let t=await fetch("/api/workspace/search-index"),o=await t.json();if(a.current){var e;r(null!=(e=o.items)?e:[]),n(!1)}}catch(e){a.current&&n(!1)}},[]);(0,l.useEffect)(()=>(a.current=!0,s(),()=>{a.current=!1}),[s,e]);let i=(0,l.useMemo)(()=>{if(0===t.length)return null;let e=t.map(e=>({...e,fieldValues:e.fields?Object.values(e.fields).join(" "):void 0}));return new ae.A(e,at)},[t]),c=(0,l.useCallback)(function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:20;return e.trim()?i?i.search(e,{limit:r}).map(e=>e.item):[]:[...t].toSorted((e,t)=>{var r,o;let l={object:0,file:1,entry:2};return(null!=(r=l[e.kind])?r:9)-(null!=(o=l[t.kind])?o:9)}).slice(0,r)},[i,t]),d=(0,l.useRef)(c);return d.current=c,{items:t,loading:o,search:(0,l.useCallback)((e,t)=>d.current(e,t),[])}}(),[M,T]=(0,l.useState)(null),[E,W]=(0,l.useState)(null),[R,D]=(0,l.useState)({kind:"none"}),[I,B]=(0,l.useState)(!0),[F,_]=(0,l.useState)(null),[P,A]=(0,l.useState)(null),[z,O]=(0,l.useState)([]),[U,H]=(0,l.useState)(!0),[V,K]=(0,l.useState)(0),[J,q]=(0,l.useState)(new Set),[G,$]=(0,l.useState)([]),[Z,Q]=(0,l.useState)(null),Y=(0,l.useCallback)(e=>{$(t=>{let r=t.findIndex(t=>t.childSessionKey===e.childSessionKey);if(r>=0){if(t[r].status===e.status)return t;let o=[...t];return o[r]={...t[r],...e},o}return[...t,e]})},[]),X=(0,l.useCallback)(e=>{Q(e)},[]),ee=(0,l.useCallback)(()=>{Q(null)},[]),et=(0,l.useCallback)(e=>{let t=G.find(t=>t.task===e);t&&Q(t.childSessionKey)},[G]),er=(0,l.useMemo)(()=>{var e;return Z&&null!=(e=G.find(e=>e.childSessionKey===Z))?e:null},[Z,G]),[eo,en]=(0,l.useState)([]),[ea,es]=(0,l.useState)(null),ei=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:768,[t,r]=(0,l.useState)(!1);return(0,l.useEffect)(()=>{let t=window.matchMedia("(max-width: ".concat(e-1,"px)")),o=()=>r(t.matches);return o(),t.addEventListener("change",o),()=>t.removeEventListener("change",o)},[e]),t}(),[ec,ed]=(0,l.useState)(!1),[eu,ex]=(0,l.useState)(!1),[eh,ep]=(0,l.useState)(!1),[em,ef]=(0,l.useState)(!1),[ev,eg]=(0,l.useState)(260),[eb,ej]=(0,l.useState)(320);(0,l.useEffect)(()=>{let e=window.localStorage.getItem(aG),t=e?parseInt(e,10):NaN;Number.isFinite(t)&&eg(aZ(t,200,480));let r=window.localStorage.getItem(a$),o=r?parseInt(r,10):NaN;Number.isFinite(o)&&ej(aZ(o,260,900))},[]),(0,l.useEffect)(()=>{window.localStorage.setItem(aG,String(ev))},[ev]),(0,l.useEffect)(()=>{window.localStorage.setItem(a$,String(eb))},[eb]),(0,l.useEffect)(()=>{let e=e=>{(e.metaKey||e.ctrlKey)&&"b"===e.key.toLowerCase()&&(e.preventDefault(),e.shiftKey?ef(e=>!e):ep(e=>!e))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[]);let ek=(0,l.useMemo)(()=>{if(!E||aH(E))return;let e=E.split("/").pop()||E;return{path:E,filename:e,isDirectory:"directory"===R.kind}},[E,R.kind]),ew=(0,l.useCallback)(e=>{D(t=>"document"===t.kind||"file"===t.kind||"code"===t.kind?{...t,data:{...t.data,content:e}}:t)},[]),eN=(0,l.useCallback)(async()=>{try{let e=await fetch("/api/workspace/context"),t=await e.json();T(t)}catch(e){}},[]);(0,l.useEffect)(()=>{eN()},[eN]);let eC=(0,l.useCallback)(async()=>{H(!0);try{var e;let t=await fetch("/api/web-sessions"),r=await t.json();O(null!=(e=r.sessions)?e:[])}catch(e){}finally{H(!1)}},[]);(0,l.useEffect)(()=>{eC()},[eC,V]);let eS=(0,l.useCallback)(()=>{K(e=>e+1)},[]),eL=(0,l.useCallback)(()=>{var e;(e={setBrowseDir:b,setActivePath:W,setContent:D,setChatSidebarPreview:_,setShowChatSidebar:B,setActiveSessionId:A,setActiveSubagentKey:Q,resetMainChat:()=>{var e;null==(e=u.current)||e.newSession()},replaceUrlToWorkspace:()=>{c.replace("/workspace",{scroll:!1})},reconnectWorkspaceWatcher:g,refreshSessions:eS,refreshContext:()=>{eN()}}).setBrowseDir(null),e.setActivePath(null),e.setContent({kind:"none"}),e.setChatSidebarPreview(null),e.setShowChatSidebar(!0),e.setActiveSessionId(null),e.setActiveSubagentKey(null),e.resetMainChat(),e.replaceUrlToWorkspace(),e.reconnectWorkspaceWatcher(),e.refreshSessions(),e.refreshContext()},[g,eN,eS,c,b]),eM=(0,l.useCallback)(async e=>{if((await fetch("/api/web-sessions/".concat(e),{method:"DELETE"})).ok){if(P===e){var t,r;A(null),Q(null);let o=z.filter(t=>t.id!==e);if(o.length>0){let e=o[0];A(e.id),null==(t=u.current)||t.loadSession(e.id)}else null==(r=u.current)||r.newSession()}eC()}},[P,z,eC]),eT=(0,l.useCallback)(async(e,t)=>{await fetch("/api/web-sessions/".concat(e),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({title:t})}),eC()},[eC]);(0,l.useEffect)(()=>{let e=!1,t=async()=>{try{var t;let r=await fetch("/api/chat/active");if(e)return;let o=null!=(t=(await r.json()).sessionIds)?t:[];q(e=>e.size===o.length&&o.every(t=>e.has(t))?e:new Set(o))}catch(e){}};t();let r=setInterval(t,3e3);return()=>{e=!0,clearInterval(r)}},[]);let eE=(0,l.useCallback)(async()=>{try{var e;let t=await fetch("/api/cron/jobs"),r=await t.json();en(null!=(e=r.jobs)?e:[])}catch(e){}},[]);(0,l.useEffect)(()=>{eE();let e=setInterval(eE,3e4);return()=>clearInterval(e)},[eE]);let eW=(0,l.useCallback)(async e=>{W(e.path),D({kind:"loading"});try{if("object"===e.type){let t=aX(e.path),r=await fetch("/api/workspace/objects/".concat(encodeURIComponent(t)));if(!r.ok){let e=await r.json().catch(()=>({}));if("DUCKDB_NOT_INSTALLED"===e.code)return void D({kind:"duckdb-missing"});D({kind:"none"});return}let o=await r.json();D({kind:"object",data:o})}else if("document"===e.type){let t=await fetch(aJ(e.path));if(!t.ok)return void D({kind:"none"});let r=await t.json();D({kind:"document",data:r,title:e.name.replace(/\.md$/,"")})}else if("database"===e.type)D({kind:"database",dbPath:e.path,filename:e.name});else if("report"===e.type)D({kind:"report",reportPath:e.path,filename:e.name});else if("file"===e.type){var t,o;if(rF(e.name)){let t=aq(e.path);D({kind:"spreadsheet",url:t,filename:e.name,filePath:e.path});return}if(o4(e.name)){try{let t=await fetch(aq(e.path));if(!t.ok)return void D({kind:"none"});let o=await t.arrayBuffer(),l=await Promise.all([r.e(5360),r.e(4995)]).then(r.t.bind(r,14995,19)),n=await l.convertToHtml({arrayBuffer:o});D({kind:"richDocument",html:n.value,filePath:e.path,mode:"docx"})}catch(e){D({kind:"none"})}return}if(o5(e.name)){let t=await fetch(aJ(e.path));if(!t.ok)return void D({kind:"none"});let r=await t.json();D({kind:"richDocument",html:o6(r.content),filePath:e.path,mode:"txt"});return}let l=null!=(o=null==(t=e.name.split(".").pop())?void 0:t.toLowerCase())?o:"";if("html"===l||"htm"===l)return void D({kind:"html",rawUrl:aq(e.path),contentUrl:aJ(e.path),filename:e.name});let n=oc(e.name);if(n){let t=aq(e.path);D({kind:"media",url:t,mediaType:n,filename:e.name,filePath:e.path});return}let a=await fetch(aJ(e.path));if(!a.ok)return void D({kind:"none"});let s=await a.json();ao(e.name)?D({kind:"code",data:s,filename:e.name,filePath:e.path}):D({kind:"file",data:s,filename:e.name})}else"folder"===e.type&&D({kind:"directory",node:e})}catch(e){D({kind:"none"})}},[]),eR=(0,l.useCallback)(e=>{var t,r,o;if(y&&aV(e.path)){if(k&&e.path===k)return void b(null);if(w){if(e.path===w+"/cron"){b(null),W("~cron"),D({kind:"cron-dashboard"});return}if(w&&e.path.startsWith(w+"/web-chat")){b(null),W(null),D({kind:"none"}),null==(t=u.current)||t.newSession();return}}if("folder"===e.type){b(e.path),W(e.path),D({kind:"directory",node:{name:e.name,path:e.path,type:"folder"}});return}}if(e.path.startsWith("~chats/")){let t=e.path.slice(7);W(null),D({kind:"none"}),A(t),null==(r=u.current)||r.loadSession(t);return}if("~chats"===e.path){W(null),D({kind:"none"}),null==(o=u.current)||o.newSession(),c.replace("/workspace",{scroll:!1});return}if(e.path.startsWith("~cron/")){let t=e.path.slice(6),r=eo.find(e=>e.id===t);if(r){W(e.path),D({kind:"cron-job",jobId:t,job:r}),c.replace("/workspace",{scroll:!1});return}}if("~cron"===e.path){W(e.path),D({kind:"cron-dashboard"}),c.replace("/workspace",{scroll:!1});return}eW(e)},[eW,c,eo,y,k,w,b]),eD=(0,l.useCallback)(async e=>{if("folder"===e.type)return{kind:"directory",path:e.path,name:e.name};if("database"===e.type)return{kind:"database",dbPath:e.path,filename:e.name};let t=oc(e.name);if(t)return{kind:"media",url:aq(e.path),mediaType:t,filename:e.name,filePath:e.path};if(rF(e.name))return{kind:"spreadsheet",url:aq(e.path),filename:e.name,filePath:e.path};if(o4(e.name))try{let t=await fetch(aq(e.path));if(!t.ok)return null;let o=await t.arrayBuffer(),l=await Promise.all([r.e(5360),r.e(4995)]).then(r.t.bind(r,14995,19)),n=await l.convertToHtml({arrayBuffer:o});return{kind:"richDocument",html:n.value,filePath:e.path,mode:"docx"}}catch(e){return null}if(o5(e.name)){let t=await fetch(aJ(e.path));return t.ok?{kind:"richDocument",html:o6((await t.json()).content),filePath:e.path,mode:"txt"}:null}let o=await fetch(aJ(e.path));if(!o.ok)return null;let l=await o.json();return"document"===e.type||"markdown"===l.type?{kind:"document",data:l,title:e.name.replace(/\.mdx?$/,"")}:ao(e.name)?{kind:"code",data:l,filename:e.name,filePath:e.path}:{kind:"file",data:l,filename:e.name}},[]),eI=(0,l.useCallback)(async e=>{let t=function(e){let t=e.trim();if(!t.startsWith("file://"))return t;try{let e=new URL(t);if("file:"!==e.protocol)return t;let r=decodeURIComponent(e.pathname);if(/^\/[A-Za-z]:\//.test(r))return r.slice(1);return r}catch(e){return t}}(e);if(!t)return!1;let r=!ei,o=async e=>{if(!r)return eR(e),B(!0),!0;(E||"none"!==R.kind)&&(W(null),D({kind:"none"}),c.replace("/workspace",{scroll:!1})),_({status:"loading",path:e.path,filename:e.name});let t=await eD(e);return t?(_({status:"ready",path:e.path,filename:e.name,content:t}),!0):(_({status:"error",path:e.path,filename:e.name,message:"Could not preview this file."}),!1)};if(!aV(t)&&!aK(t)&&!t.startsWith("./")&&!t.startsWith("../")){let e=a0(p,t);if(e)return await o(e)}try{let e=await fetch("/api/workspace/path-info?path=".concat(encodeURIComponent(t)));if(!e.ok)return!1;let l=await e.json();if(!l.path||!l.name||!l.type)return!1;if(k&&(l.path===k||l.path.startsWith("".concat(k,"/")))){let e=l.path===k?"":l.path.slice(k.length+1);if(e){let t=a0(p,e);if(t)return await o(t)}}if("directory"===l.type){let e={name:l.name,path:l.path,type:"folder"};if(r)return await o(e);return b(l.path),W(l.path),D({kind:"directory",node:{name:l.name,path:l.path,type:"folder"}}),B(!0),!0}if("file"===l.type){let e={name:l.name,path:l.path,type:function(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return"md"===o||"mdx"===o?"document":"duckdb"===o||"sqlite"===o||"sqlite3"===o||"db"===o?"database":"file"}(l.name)};if(r)return await o(e);let t=l.path.split("/").slice(0,-1).join("/")||"/";return aV(l.path)&&b(t),await eW(e),B(!0),!0}}catch(e){}return!1},[E,R.kind,ei,p,eR,k,eD,b,eW,c]),eB=(0,l.useMemo)(()=>{if(y)return p;let e=eo.map(e=>({name:"".concat(!e.enabled?"○":e.state.runningAtMs?"●":"error"===e.state.lastStatus?"◆":"ok"===e.state.lastStatus?"✓":"○"," ").concat(e.name),path:"~cron/".concat(e.id),type:"file",virtual:!0}));return[...p,{name:"Cron",path:"~cron",type:"folder",virtual:!0,children:e.length>0?e:void 0}]},[p,eo,y]),eF=(0,l.useMemo)(()=>y?j:k?"/"===k?null:k.split("/").slice(0,-1).join("/")||"/":null,[y,j,k]),e_=(0,l.useCallback)(()=>{null!=eF&&b(eF)},[eF,b]),eP=(0,l.useCallback)(()=>{b(null)},[b]),eA=(0,l.useCallback)(()=>{W(null),D({kind:"none"}),c.replace("/workspace",{scroll:!1})},[c]),ez=(0,l.useCallback)(e=>{var t,r;let o=null!=(r=u.current)?r:x.current;null==o||null==(t=o.insertFileMention)||t.call(o,e.name,e.path)},[]),eO=(0,l.useCallback)(e=>{"folder"===e.type?(b(e.path),W(e.path),D({kind:"directory",node:{name:e.name,path:e.path,type:"folder"}})):(b(e.path.split("/").slice(0,-1).join("/")||"/"),eW({name:e.name,path:e.path,type:e.type}))},[b,eW]);(0,l.useEffect)(()=>{let e=new URLSearchParams(window.location.search);if(E){if(e.get("path")!==E||e.has("chat")){let t=new URLSearchParams;t.set("path",E);let r=e.get("entry");r&&t.set("entry",r),c.push("/workspace?".concat(t.toString()),{scroll:!1})}}else P&&(e.get("chat")!==P||e.has("path"))&&c.push("/workspace?chat=".concat(encodeURIComponent(P)),{scroll:!1})},[E,P,c]);let eU=(0,l.useCallback)((e,t)=>{es({objectName:e,entryId:t});let r=new URLSearchParams(i.toString());r.set("entry","".concat(e,":").concat(t)),c.push("/workspace?".concat(r.toString()),{scroll:!1})},[i,c]),eH=(0,l.useCallback)(()=>{es(null);let e=new URLSearchParams(i.toString());e.delete("entry");let t=e.toString();c.replace(t?"/workspace?".concat(t):"/workspace",{scroll:!1})},[i,c]);(0,l.useEffect)(()=>{if(d.current||m||0===p.length)return;let e=i.get("path"),t=i.get("entry"),r=i.get("chat");if(e){let t=a0(p,e);t&&(d.current=!0,eW(t))}else if(r){var o;d.current=!0,A(r),W(null),D({kind:"none"}),null==(o=u.current)||o.loadSession(r)}if(t&&t.includes(":")){let[e,r]=t.split(":",2);e&&r&&es({objectName:e,entryId:r})}},[p,m,i,eW]),(0,l.useEffect)(()=>{let e=i.get("send");e&&(c.replace("/workspace",{scroll:!1}),W(null),D({kind:"none"}),requestAnimationFrame(()=>{var t;null==(t=u.current)||t.sendNewMessage(e)}))},[i,c]);let eV=(0,l.useCallback)(e=>{if(!e){W(null),D({kind:"none"});return}if(aV(e)){let t=e.split("/").pop()||e;b(e),W(e),D({kind:"directory",node:{name:t,path:e,type:"folder"}});return}let t=a0(p,e);t&&eR(t)},[p,eR,b]),eK=(0,l.useCallback)(e=>{let t=function t(r){for(let o of r){if("object"===o.type&&aX(o.path)===e)return o;if(o.children){let e=t(o.children);if(e)return e}}return null}(p);t&&eW(t)},[p,eW]),eJ=(0,l.useCallback)(e=>{let t=(0,ey.lc)(e);if(t){if("entry"===t.kind)return void eU(t.objectName,t.entryId);let e=a0(p,t.path);if(e)return void eR(e)}let r=a0(p,e);r&&eR(r)},[p,eR,eU]),eq=(0,l.useCallback)(async()=>{if("object"!==R.kind)return;let e=R.data.object.name;try{let t=await fetch("/api/workspace/objects/".concat(encodeURIComponent(e)));if(!t.ok)return;let r=await t.json();D({kind:"object",data:r})}catch(e){}},[R]),eG=(0,l.useRef)(p);(0,l.useEffect)(()=>{eG.current!==p&&(eG.current=p,"object"===R.kind&&eq())},[p,R.kind,eq]);let e$=(0,l.useCallback)(e=>{let t=e.target.closest("a");if(!t)return;let r=t.getAttribute("href");r&&(0,ey.m9)(r)&&(e.preventDefault(),e.stopPropagation(),eJ(r))},[eJ]),eZ=(0,l.useCallback)(e=>{let t=eo.find(t=>t.id===e);t&&(W("~cron/".concat(e)),D({kind:"cron-job",jobId:e,job:t}),c.replace("/workspace",{scroll:!1}))},[eo,c]),eQ=(0,l.useCallback)(()=>{W("~cron"),D({kind:"cron-dashboard"}),c.replace("/workspace",{scroll:!1})},[c]),eY=(0,l.useMemo)(()=>{if(!P)return;let e=z.find(e=>e.id===P);return(null==e?void 0:e.title)||void 0},[P,z]),eX=!E||"none"===R.kind;return(0,o.jsxs)("div",{ref:h,className:"flex h-screen",style:{background:"var(--color-main-bg)"},onClick:e$,children:[ei?ec&&(0,o.jsx)(el,{tree:eB,activePath:E,onSelect:e=>{eR(e),ed(!1)},onRefresh:v,orgName:null==M||null==(e=M.organization)?void 0:e.name,loading:m,browseDir:y,parentDir:eF,onNavigateUp:e_,onGoHome:eP,onFileSearchSelect:e=>{null==eO||eO(e),ed(!1)},workspaceRoot:k,onGoToChat:()=>{eA(),ed(!1)},onExternalDrop:ez,showHidden:C,onToggleHidden:()=>S(e=>!e),activeWorkspace:N,onWorkspaceChanged:eL,mobile:!0,onClose:()=>ed(!1)}):(0,o.jsx)(o.Fragment,{children:!eh&&(0,o.jsxs)("div",{className:"flex shrink-0 flex-col relative",style:{width:ev,minWidth:ev},children:[(0,o.jsx)(aQ,{mode:"left",containerRef:h,min:200,max:480,onResize:eg}),(0,o.jsx)(el,{tree:eB,activePath:E,onSelect:eR,onRefresh:v,orgName:null==M||null==(t=M.organization)?void 0:t.name,loading:m,browseDir:y,parentDir:eF,onNavigateUp:e_,onGoHome:eP,onFileSearchSelect:eO,workspaceRoot:k,onGoToChat:eA,onExternalDrop:ez,showHidden:C,onToggleHidden:()=>S(e=>!e),width:ev,onCollapse:()=>ep(!0),activeWorkspace:N,onWorkspaceChanged:eL})]})}),!ei&&eh&&(0,o.jsx)("div",{className:"shrink-0 flex flex-col items-center pt-2.5 px-1.5",children:(0,o.jsx)("button",{type:"button",onClick:()=>ep(!1),className:"p-1.5 rounded-md transition-colors hover:bg-black/5",style:{color:"var(--color-text-muted)"},title:"Show sidebar (⌘B)",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M9 3v18"})]})})}),(0,o.jsxs)("main",{className:"flex-1 flex flex-col min-w-0 overflow-hidden",style:{background:"var(--color-main-bg)"},children:[ei&&(0,o.jsxs)("div",{className:"px-3 py-2 border-b flex-shrink-0 flex items-center justify-between gap-2",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsx)("button",{type:"button",onClick:()=>ed(!0),className:"p-2 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Open sidebar",children:(0,o.jsxs)("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"4",x2:"20",y1:"12",y2:"12"}),(0,o.jsx)("line",{x1:"4",x2:"20",y1:"6",y2:"6"}),(0,o.jsx)("line",{x1:"4",x2:"20",y1:"18",y2:"18"})]})}),(0,o.jsx)("div",{className:"flex-1 min-w-0 text-sm font-medium truncate",style:{color:"var(--color-text)"},children:E?E.split("/").pop():(null==M||null==(a=M.organization)?void 0:a.name)||"Workspace"}),(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[E&&"none"!==R.kind&&(0,o.jsx)("button",{type:"button",onClick:()=>{W(null),D({kind:"none"}),c.replace("/workspace",{scroll:!1})},className:"p-2 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Back to chat",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]})}),eX&&(0,o.jsx)("button",{type:"button",onClick:()=>ex(!0),className:"p-2 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Chat sessions",children:(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})})]})]}),!ei&&E&&"none"!==R.kind&&(0,o.jsxs)("div",{className:"px-6 border-b flex-shrink-0 flex items-center justify-between",style:{borderColor:"var(--color-border)"},children:[(0,o.jsx)(lj,{path:E,onNavigate:eV}),(0,o.jsxs)("div",{className:"flex items-center gap-1",children:[(0,o.jsx)("button",{type:"button",onClick:()=>{W(null),D({kind:"none"}),c.replace("/workspace",{scroll:!1})},className:"p-1.5 rounded-lg flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Back to chat",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"m12 19-7-7 7-7"}),(0,o.jsx)("path",{d:"M19 12H5"})]})}),ek&&(0,o.jsx)("button",{type:"button",onClick:()=>B(e=>!e),className:"p-1.5 rounded-lg flex-shrink-0",style:{color:I?"var(--color-accent)":"var(--color-text-muted)",background:I?"var(--color-accent-light)":"transparent"},title:I?"Hide chat":ek.isDirectory?"Chat about this folder":"Chat about this file",children:(0,o.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"})})})]})]}),(0,o.jsx)("div",{className:"flex-1 flex min-h-0",children:eX?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"flex-1 flex flex-col min-w-0",style:{background:"var(--color-main-bg)"},children:(0,o.jsx)(nY,{ref:er?void 0:u,sessionTitle:eY,initialSessionId:null!=P?P:void 0,onActiveSessionChange:er?void 0:e=>{A(e),Q(null)},onSessionsChange:er?void 0:eS,onSubagentSpawned:er?void 0:Y,onSubagentClick:et,onFilePathClick:eI,onDeleteSession:er?void 0:eM,onRenameSession:er?void 0:eT,compact:ei,sessionKey:null==er?void 0:er.childSessionKey,subagentTask:null==er?void 0:er.task,subagentLabel:null==er?void 0:er.label,onBack:er?ee:void 0},null!=(s=null==er?void 0:er.childSessionKey)?s:"main")}),ei?eu&&(0,o.jsx)(lA,{sessions:z,activeSessionId:P,activeSessionTitle:eY,streamingSessionIds:J,subagents:G,activeSubagentKey:Z,loading:U,onSelectSession:e=>{var t;A(e),Q(null),null==(t=u.current)||t.loadSession(e)},onNewSession:()=>{var e;A(null),Q(null),null==(e=u.current)||e.newSession(),c.replace("/workspace",{scroll:!1}),ex(!1)},onSelectSubagent:X,onDeleteSession:eM,onRenameSession:eT,mobile:!0,onClose:()=>ex(!1)}):(0,o.jsxs)(o.Fragment,{children:[!em&&(0,o.jsxs)("div",{className:"flex shrink-0 flex-col relative",style:{width:eb,minWidth:eb,background:"var(--color-sidebar-bg)"},children:[(0,o.jsx)(aQ,{mode:"right",containerRef:h,min:260,max:900,onResize:ej}),F?(0,o.jsx)(a4,{preview:F,onClose:()=>_(null)}):(0,o.jsx)(lA,{sessions:z,activeSessionId:P,activeSessionTitle:eY,streamingSessionIds:J,subagents:G,activeSubagentKey:Z,loading:U,onSelectSession:e=>{var t;A(e),Q(null),null==(t=u.current)||t.loadSession(e)},onNewSession:()=>{var e;A(null),Q(null),null==(e=u.current)||e.newSession(),c.replace("/workspace",{scroll:!1})},onSelectSubagent:X,onDeleteSession:eM,onRenameSession:eT,onCollapse:()=>ef(!0),width:eb})]}),em&&(0,o.jsx)("div",{className:"shrink-0 flex flex-col items-center pt-2.5 px-1.5",children:(0,o.jsx)("button",{type:"button",onClick:()=>ef(!1),className:"p-1.5 rounded-md transition-colors hover:bg-black/5",style:{color:"var(--color-text-muted)"},title:"Show chat sidebar (⌘⇧B)",children:(0,o.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M15 3v18"})]})})})]})]}):(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,o.jsx)(a5,{content:R,workspaceExists:f,expectedPath:k,tree:p,activePath:E,browseDir:y,treeLoading:m,members:null==M?void 0:M.members,onNodeSelect:eR,onNavigateToObject:eK,onRefreshObject:eq,onRefreshTree:v,onNavigate:eJ,onOpenEntry:eU,searchFn:L,onSelectCronJob:eZ,onBackToCronDashboard:eQ})}),!ei&&ek&&I&&!em&&(0,o.jsx)(o.Fragment,{children:(0,o.jsxs)("aside",{className:"flex-shrink-0 border-l flex flex-col relative",style:{width:eb,borderColor:"var(--color-border)",background:"var(--color-bg)"},children:[(0,o.jsx)(aQ,{mode:"right",containerRef:h,min:260,max:900,onResize:ej}),(0,o.jsx)(nY,{ref:x,compact:!0,fileContext:ek,onFileChanged:ew,onFilePathClick:eI})]})})]})})]}),ea&&(0,o.jsx)(n9,{objectName:ea.objectName,entryId:ea.entryId,members:null==M?void 0:M.members,onClose:eH,onNavigateEntry:(e,t)=>eU(e,t),onNavigateObject:e=>{eH(),eK(e)},onRefresh:eq})]})}function a4(e){let t,{preview:r,onClose:n}=e,a=function(e){var t,r;let o=null!=(r=null==(t=e.split(".").pop())?void 0:t.toLowerCase())?r:"";return"pdf"===o?{label:"PDF",color:"#ef4444"}:["jpg","jpeg","png","gif","webp","svg","bmp","heic","avif"].includes(o)?{label:"Image",color:"#3b82f6"}:["mp4","webm","mov","avi","mkv"].includes(o)?{label:"Video",color:"#8b5cf6"}:["mp3","wav","ogg","m4a","aac","flac"].includes(o)?{label:"Audio",color:"#f59e0b"}:["md","mdx"].includes(o)?{label:"Markdown",color:"#10b981"}:["ts","tsx","js","jsx","py","go","rs","java","rb","swift","kt","c","cpp","h"].includes(o)?{label:o.toUpperCase(),color:"#3b82f6"}:["json","yaml","yml","toml","xml","csv"].includes(o)?{label:o.toUpperCase(),color:"#6b7280"}:["duckdb","sqlite","sqlite3","db"].includes(o)?{label:"Database",color:"#6366f1"}:{label:o.toUpperCase()||"File",color:"#6b7280"}}(r.filename),s=(0,l.useCallback)(async()=>{try{await fetch("/api/workspace/open-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r.path,reveal:!0})})}catch(e){}},[r.path]),i=(0,l.useCallback)(async()=>{try{await fetch("/api/workspace/open-file",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({path:r.path})})}catch(e){}},[r.path]),c="ready"===r.status&&"media"===r.content.kind?r.content.url:null;if("loading"===r.status)t=(0,o.jsxs)("div",{className:"flex flex-col h-full items-center justify-center gap-3",children:[(0,o.jsx)(q,{name:"braille",className:"text-2xl",style:{color:"var(--color-text-muted)"}}),(0,o.jsx)("p",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Loading preview..."})]});else if("error"===r.status)t=(0,o.jsxs)("div",{className:"flex flex-col h-full items-center justify-center gap-4 px-6",children:[(0,o.jsx)("div",{className:"w-14 h-14 rounded-2xl flex items-center justify-center",style:{background:"color-mix(in srgb, var(--color-error) 10%, transparent)"},children:(0,o.jsxs)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-error)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("circle",{cx:"12",cy:"12",r:"10"}),(0,o.jsx)("line",{x1:"15",x2:"9",y1:"9",y2:"15"}),(0,o.jsx)("line",{x1:"9",x2:"15",y1:"9",y2:"15"})]})}),(0,o.jsxs)("div",{className:"text-center",children:[(0,o.jsx)("p",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:"Preview unavailable"}),(0,o.jsx)("p",{className:"text-xs mt-1",style:{color:"var(--color-text-muted)"},children:r.message})]})]});else{let e=r.content;switch(e.kind){case"media":if("pdf"===e.mediaType){let r=e.url+(e.url.includes("#")?"&":"#")+"toolbar=0&navpanes=0&scrollbar=1";t=(0,o.jsx)("iframe",{src:r,className:"w-full h-full",style:{border:"none",colorScheme:"light"},title:"Preview: ".concat(e.filename)})}else"image"===e.mediaType?t=(0,o.jsx)("div",{className:"flex items-center justify-center h-full p-4 overflow-auto",style:{background:"var(--color-bg)"},children:(0,o.jsx)("img",{src:e.url,alt:e.filename,className:"max-w-full max-h-full object-contain rounded-lg",style:{boxShadow:"0 2px 16px rgba(0,0,0,0.08)"},draggable:!1})}):"video"===e.mediaType?t=(0,o.jsx)("div",{className:"flex items-center justify-center h-full p-4",style:{background:"#000"},children:(0,o.jsx)("video",{src:e.url,controls:!0,className:"max-w-full max-h-full rounded-lg"})}):"audio"===e.mediaType&&(t=(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-6 px-6",children:[(0,o.jsx)("div",{className:"w-20 h-20 rounded-2xl flex items-center justify-center",style:{background:"linear-gradient(135deg, #f59e0b20, #f59e0b08)"},children:(0,o.jsxs)("svg",{width:"32",height:"32",viewBox:"0 0 24 24",fill:"none",stroke:"#f59e0b",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M9 18V5l12-2v13"}),(0,o.jsx)("circle",{cx:"6",cy:"18",r:"3"}),(0,o.jsx)("circle",{cx:"18",cy:"16",r:"3"})]})}),(0,o.jsx)("audio",{src:e.url,controls:!0,className:"w-full"})]}));break;case"document":t=(0,o.jsx)("div",{className:"p-5 overflow-auto h-full",children:(0,o.jsx)("div",{className:"workspace-prose text-sm",children:(0,o.jsx)(rD,{content:e.data.content,title:e.title})})});break;case"code":t=(0,o.jsx)("div",{className:"h-full",children:(0,o.jsx)(oo,{content:e.data.content,filename:e.filename,filePath:e.filePath})});break;case"file":t=(0,o.jsx)("div",{className:"overflow-auto h-full",children:(0,o.jsx)(r_,{content:e.data.content,filename:e.filename,type:"yaml"===e.data.type?"yaml":"text"})});break;case"spreadsheet":t=(0,o.jsx)("div",{className:"h-full",children:(0,o.jsx)(rZ,{url:e.url,filename:e.filename,filePath:e.filePath,compact:!0})});break;case"database":t=(0,o.jsx)("div",{className:"overflow-auto h-full",children:(0,o.jsx)(oW,{dbPath:e.dbPath,filename:e.filename})});break;case"richDocument":t=(0,o.jsx)("div",{className:"h-full",children:(0,o.jsx)(o3,{mode:e.mode,initialHtml:e.html,filePath:e.filePath,compact:!0})});break;case"directory":t=(0,o.jsxs)("div",{className:"flex flex-col items-center justify-center h-full gap-4 px-6",children:[(0,o.jsx)("div",{className:"w-14 h-14 rounded-2xl flex items-center justify-center",style:{background:"color-mix(in srgb, var(--color-accent) 10%, transparent)"},children:(0,o.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"var(--color-accent)",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})})}),(0,o.jsx)("p",{className:"text-sm font-medium",style:{color:"var(--color-text)"},children:e.name})]});break;default:t=null}}return(0,o.jsxs)("aside",{className:"h-full border-l flex flex-col",style:{borderColor:"var(--color-border)",background:"var(--color-bg)"},children:[(0,o.jsxs)("div",{className:"px-3 py-2.5 flex items-center gap-2 flex-shrink-0",style:{borderBottom:"1px solid var(--color-border)"},children:[(0,o.jsx)("button",{type:"button",onClick:n,className:"p-1 rounded-md transition-colors flex-shrink-0",style:{color:"var(--color-text-muted)"},title:"Close preview",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M18 6 6 18"}),(0,o.jsx)("path",{d:"m6 6 12 12"})]})}),(0,o.jsx)("span",{className:"text-[13px] font-medium truncate min-w-0",style:{color:"var(--color-text)"},children:r.filename}),(0,o.jsx)("span",{className:"text-[10px] font-medium px-1.5 py-[1px] rounded flex-shrink-0",style:{background:"".concat(a.color,"14"),color:a.color},children:a.label}),(0,o.jsxs)("div",{className:"flex items-center gap-0.5 ml-auto flex-shrink-0",children:[(0,o.jsx)("button",{type:"button",onClick:i,className:"p-1.5 rounded-md transition-colors",style:{color:"var(--color-text-muted)"},title:"Open with default app",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 3h6v6"}),(0,o.jsx)("path",{d:"M10 14 21 3"}),(0,o.jsx)("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"})]})}),c&&(0,o.jsx)("a",{href:c,download:r.filename,className:"p-1.5 rounded-md transition-colors",style:{color:"var(--color-text-muted)"},title:"Download",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),(0,o.jsx)("polyline",{points:"7 10 12 15 17 10"}),(0,o.jsx)("line",{x1:"12",x2:"12",y1:"15",y2:"3"})]})}),(0,o.jsx)("button",{type:"button",onClick:s,className:"p-1.5 rounded-md transition-colors",style:{color:"var(--color-text-muted)"},title:"Reveal in Finder",onMouseEnter:e=>{e.currentTarget.style.background="var(--color-surface-hover)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:(0,o.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})})})]})]}),(0,o.jsx)("div",{className:"flex-1 min-h-0 overflow-hidden",children:t}),(0,o.jsx)("div",{className:"px-3 py-1.5 border-t flex-shrink-0",style:{borderColor:"var(--color-border)"},children:(0,o.jsx)("p",{className:"text-[10px] truncate",style:{color:"var(--color-text-muted)",fontFamily:"'SF Mono', 'Fira Code', monospace"},title:r.path,children:r.path.replace(/^\/Users\/[^/]+/,"~").replace(/^\/home\/[^/]+/,"~")})})]})}function a5(e){let{content:t,workspaceExists:r,expectedPath:l,tree:n,activePath:a,browseDir:s,treeLoading:i,members:c,onNodeSelect:d,onNavigateToObject:u,onRefreshObject:x,onRefreshTree:h,onNavigate:p,onOpenEntry:m,searchFn:f,onSelectCronJob:v,onBackToCronDashboard:g}=e;switch(t.kind){case"loading":return(0,o.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,o.jsx)(q,{name:"braille",className:"text-2xl",style:{color:"var(--color-text-muted)"}})});case"object":return(0,o.jsx)(a6,{data:t.data,members:c,onNavigateToObject:u,onRefreshObject:x,onOpenEntry:m});case"document":return(0,o.jsx)(rD,{content:t.data.content,title:t.title,filePath:null!=a?a:void 0,tree:n,onSave:h,onNavigate:p,searchFn:f});case"file":return(0,o.jsx)(r_,{content:t.data.content,filename:t.filename,type:"yaml"===t.data.type?"yaml":"text"});case"code":return(0,o.jsx)(oo,{content:t.data.content,filename:t.filename,filePath:t.filePath});case"media":return(0,o.jsx)(om,{url:t.url,filename:t.filename,mediaType:t.mediaType,filePath:t.filePath});case"spreadsheet":return(0,o.jsx)(rZ,{url:t.url,filename:t.filename,filePath:t.filePath});case"html":return(0,o.jsx)(r0,{rawUrl:t.rawUrl,contentUrl:t.contentUrl,filename:t.filename});case"database":return(0,o.jsx)(oW,{dbPath:t.dbPath,filename:t.filename});case"report":return(0,o.jsx)(lQ,{reportPath:t.reportPath});case"directory":{let e=null!=s&&a===s;if(e&&i)return(0,o.jsx)("div",{className:"flex items-center justify-center h-full",children:(0,o.jsx)(q,{name:"braille",className:"text-2xl",style:{color:"var(--color-text-muted)"}})});let r=e?{...t.node,children:n}:t.node;return(0,o.jsx)(a3,{node:r,onNodeSelect:d})}case"cron-dashboard":return(0,o.jsx)(aa,{onSelectJob:v});case"cron-job":return(0,o.jsx)(ab,{job:t.job,onBack:g});case"duckdb-missing":return(0,o.jsx)(oE,{});case"richDocument":return(0,o.jsx)(o3,{mode:t.mode,initialHtml:t.html,filePath:t.filePath,onSave:h});default:if(0===n.length)return(0,o.jsx)(lz,{workspaceExists:r,expectedPath:l});return(0,o.jsx)(a8,{tree:n,onNodeSelect:d})}}function a6(e){var t,r,n,a,s,i,c,d,u,x;let{data:h,members:p,onNavigateToObject:m,onRefreshObject:f,onOpenEntry:v}=e,g=e=>{var t;let r=null!=(t=e.entry_id)?t:e.id;return"string"==typeof r?r:"number"==typeof r||"boolean"==typeof r||"bigint"==typeof r?String(r):""},[y,b]=(0,l.useState)(!1),[j,k]=(0,l.useState)(()=>{var e,t,r;return e=void 0,t=void 0,r=h.object.default_view,(null==e?void 0:e.view_type)&&t3(e.view_type)?e.view_type:t&&t3(t)?t:r&&t3(r)?r:"table"}),[w,N]=(0,l.useState)(()=>{var e;return null!=(e=h.viewSettings)?e:{}}),[C,S]=(0,l.useState)(()=>ri()),[L,M]=(0,l.useState)(null!=(t=h.savedViews)?t:[]),[T,E]=(0,l.useState)(h.activeView),[W,R]=(0,l.useState)(null!=(r=h.page)?r:1),[D,I]=(0,l.useState)(null!=(n=h.pageSize)?n:100),[B,F]=(0,l.useState)(null!=(a=h.totalCount)?a:h.entries.length),[_,P]=(0,l.useState)(h.entries),[A,z]=(0,l.useState)(""),[O,U]=(0,l.useState)(void 0),H=(0,l.useRef)(null),V=C.rules.length>0||(null!=(s=null==O?void 0:O.length)?s:0)>0||A.trim().length>0,[K,J]=(0,l.useState)(void 0),q=(0,l.useMemo)(()=>{if(!K||0===K.length)return;let e={};for(let t of h.fields)e[t.id]=K.includes(t.name);return e.created_at=K.includes("created_at"),e.updated_at=K.includes("updated_at"),e},[K,h.fields]),G=(0,l.useCallback)(async e=>{var t,r,o,l,n,a,s,i;let c=null!=(t=null==e?void 0:e.page)?t:W,d=null!=(r=null==e?void 0:e.pageSize)?r:D,u=null!=(o=null==e?void 0:e.filters)?o:C,x=null!=(l=null==e?void 0:e.sort)?l:O,p=null!=(n=null==e?void 0:e.search)?n:A,m=new URLSearchParams;m.set("page",String(c)),m.set("pageSize",String(d)),u&&u.rules.length>0&&m.set("filters",rs(u)),x&&x.length>0&&m.set("sort",JSON.stringify(x)),p&&m.set("search",p);try{let e=await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"?").concat(m.toString()));if(!e.ok)return;let t=await e.json();P(t.entries),F(null!=(a=t.totalCount)?a:t.entries.length),R(null!=(s=t.page)?s:c),I(null!=(i=t.pageSize)?i:d)}catch(e){}},[W,D,C,O,A,h.object.name]);(0,l.useEffect)(()=>{var e;if(V)return void G();P(h.entries),F(null!=(e=h.totalCount)?e:h.entries.length)},[h.entries,h.totalCount]),(0,l.useEffect)(()=>{var e;M(null!=(e=h.savedViews)?e:[]),h.viewSettings&&N(h.viewSettings);let t=function(e){var t,r,o,l;let n=e.activeView;if(!n)return null;let a=(null!=(t=e.savedViews)?t:[]).find(e=>e.name===n);if(!a)return null;let s=null!=(r=a.filters)?r:ri(),i=a.columns,c=a.name,d=a.view_type,u=a.settings,x=e.currentActiveViewName!==c,h=(o=e.currentFilters,rs(o)!==rs(s)),p=!function(e,t){if(!e&&!t)return!0;if(!e||!t||e.length!==t.length)return!1;for(let r=0;r<e.length;r+=1)if(e[r]!==t[r])return!1;return!0}(e.currentViewColumns,i),m=e.currentViewType!==d,f=(l=e.currentSettings,(!!l||!!u)&&(!l||!u||JSON.stringify(l)!==JSON.stringify(u)));return{shouldApply:x||h||p||m||f,nextFilters:s,nextColumns:i,nextActiveViewName:c,nextViewType:d,nextSettings:u}}({savedViews:h.savedViews,activeView:h.activeView,currentActiveViewName:T,currentFilters:C,currentViewColumns:K,currentViewType:j,currentSettings:w});(null==t?void 0:t.shouldApply)&&(S(t.nextFilters),J(t.nextColumns),E(t.nextActiveViewName),t.nextViewType&&k(t.nextViewType),t.nextSettings&&N(e=>({...e,...t.nextSettings})),G({page:1,filters:t.nextFilters}))},[h.savedViews,h.activeView]);let $=(0,l.useCallback)(e=>{S(e),R(1),G({page:1,filters:e})},[G]),Z=(0,l.useCallback)(e=>{z(e),H.current&&clearTimeout(H.current),H.current=setTimeout(()=>{R(1),G({page:1,search:e})},300)},[G]),Q=(0,l.useCallback)(e=>{R(e),G({page:e})},[G]),Y=(0,l.useCallback)(e=>{I(e),R(1),G({page:1,pageSize:e})},[G]),X=(0,l.useCallback)(()=>{G(),f()},[G,f]),ee=(0,l.useCallback)(async e=>{let t=[...L.filter(t=>t.name!==e),{name:e,view_type:j,filters:C,columns:K,settings:w}];M(t),E(e);try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/views"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({views:t,activeView:e,viewSettings:w})})}catch(e){}},[C,L,h.object.name,j,K,w]),et=(0,l.useCallback)(e=>{var t;let r=null!=(t=e.filters)?t:ri();S(r),J(e.columns),E(e.name),e.view_type&&k(e.view_type),e.settings&&N(t=>({...t,...e.settings})),R(1),G({page:1,filters:r})},[G]),er=(0,l.useCallback)(async e=>{let t=L.filter(t=>t.name!==e);M(t),T===e&&(E(void 0),S(ri()),J(void 0));try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/views"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({views:t,activeView:T===e?void 0:T})})}catch(e){}},[L,T,h.object.name]),eo=(0,l.useCallback)(async e=>{E(e),e||J(void 0);try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/views"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({views:L,activeView:e})})}catch(e){}},[L,h.object.name]),el=(0,l.useCallback)(e=>{k(e)},[]),en=(0,l.useCallback)(async e=>{N(e);try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/views"),{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify({views:L,activeView:T,viewSettings:e})})}catch(e){}},[L,T,h.object.name]),ea=(0,l.useMemo)(()=>{let e=L.find(e=>e.name===T),t=function(e,t){if(!t)return null!=e?e:{};if(!e)return t;let r={...t};for(let t of Object.keys(e)){let o=e[t];void 0!==o&&(r[t]=o)}return r}(null==e?void 0:e.settings,w),r=[...h.fields.map(e=>({name:e.name,type:e.type})),{name:"created_at",type:"date"},{name:"updated_at",type:"date"}];return"kanban"!==j||t.kanbanField||(t.kanbanField=t8("kanban","kanbanField",r)),"calendar"!==j||t.calendarDateField||(t.calendarDateField=t8("calendar","calendarDateField",r)),"timeline"!==j||t.timelineStartField||(t.timelineStartField=t8("timeline","timelineStartField",r)),"gallery"!==j||t.galleryTitleField||(t.galleryTitleField=t8("gallery","galleryTitleField",r)),"list"!==j||t.listTitleField||(t.listTitleField=t8("list","listTitleField",r)),t},[j,w,L,T,h.fields]),es=async e=>{b(!0);try{(await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/display-field"),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({displayField:e})})).ok&&f()}catch(e){}finally{b(!1)}},ei=(0,l.useCallback)(async e=>{let t=ea.calendarDateField,r=ea.calendarEndDateField;if(!t)return;let o={[t]:e.newDate};r&&e.newEndDate&&(o[r]=e.newEndDate),P(o=>o.map(o=>{if(g(o)!==e.entryId)return o;let l={...o,[t]:e.newDate};return r&&e.newEndDate&&(l[r]=e.newEndDate),l}));try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/entries/").concat(encodeURIComponent(e.entryId)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:o})})}catch(e){}},[ea,h.object.name]),ec=(0,l.useCallback)(async e=>{let t=ea.timelineStartField,r=ea.timelineEndField;if(!t)return;let o={[t]:e.newStartDate};r&&(o[r]=e.newEndDate),P(o=>o.map(o=>{if(g(o)!==e.entryId)return o;let l={...o,[t]:e.newStartDate};return r&&(l[r]=e.newEndDate),l}));try{await fetch("/api/workspace/objects/".concat(encodeURIComponent(h.object.name),"/entries/").concat(encodeURIComponent(e.entryId)),{method:"PATCH",headers:{"Content-Type":"application/json"},body:JSON.stringify({fields:o})})}catch(e){}},[ea,h.object.name]),ed=h.fields.filter(e=>!["relation","boolean","richtext"].includes(e.type)),eu=h.fields.some(e=>"relation"===e.type),ex=h.reverseRelations&&h.reverseRelations.some(e=>Object.keys(e.entries).length>0),eh=(0,l.useMemo)(()=>null==p?void 0:p.map(e=>({id:e.id,name:e.name})),[p]),ep=(0,l.useMemo)(()=>[...h.fields,{id:"created_at",name:"created_at",type:"date"},{id:"updated_at",name:"updated_at",type:"date"}],[h.fields]);return(0,o.jsxs)("div",{className:"p-6",children:[(0,o.jsxs)("div",{className:"mb-4",children:[(0,o.jsx)("h1",{className:"font-instrument text-3xl tracking-tight capitalize",style:{color:"var(--color-text)"},children:h.object.name}),h.object.description&&(0,o.jsx)("p",{className:"text-sm mt-1",style:{color:"var(--color-text-muted)"},children:h.object.description}),(0,o.jsxs)("div",{className:"flex items-center gap-3 mt-3 flex-wrap",children:[(0,o.jsxs)("span",{className:"text-xs px-2 py-1 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[B," entries"]}),(0,o.jsxs)("span",{className:"text-xs px-2 py-1 rounded-full",style:{background:"var(--color-surface)",color:"var(--color-text-muted)",border:"1px solid var(--color-border)"},children:[h.fields.length," fields"]}),eu&&(0,o.jsxs)("span",{className:"text-xs px-2 py-1 rounded-full",style:{background:"var(--color-chip-document)",color:"var(--color-chip-document-text)",border:"1px solid var(--color-border)"},children:[h.fields.filter(e=>"relation"===e.type).length," relation",1!==h.fields.filter(e=>"relation"===e.type).length?"s":""]}),ex&&(0,o.jsxs)("span",{className:"text-xs px-2 py-1 rounded-full",style:{background:"var(--color-chip-database)",color:"var(--color-chip-database-text)",border:"1px solid var(--color-border)"},children:[h.reverseRelations.filter(e=>Object.keys(e.entries).length>0).length," linked from"]})]}),ed.length>0&&(0,o.jsxs)("div",{className:"flex items-center gap-2 mt-3",children:[(0,o.jsx)("span",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Display field:"}),(0,o.jsx)("select",{value:null!=(i=h.effectiveDisplayField)?i:"",onChange:e=>es(e.target.value),disabled:y,className:"text-xs px-2 py-1 rounded-md outline-none transition-colors cursor-pointer",style:{background:"var(--color-surface)",color:"var(--color-text)",border:"1px solid var(--color-border)",opacity:y?.5:1},children:ed.map(e=>(0,o.jsx)("option",{value:e.name,children:e.name},e.id))}),y&&(0,o.jsx)("div",{className:"w-3 h-3 border border-t-transparent rounded-full animate-spin",style:{borderColor:"var(--color-text-muted)"}}),(0,o.jsx)("span",{className:"text-[10px]",style:{color:"var(--color-text-muted)",opacity:.6},children:"Used when other objects link here"})]})]}),(0,o.jsxs)("div",{className:"mb-4 py-3 px-4 rounded-lg border",style:{borderColor:"var(--color-border)",background:"var(--color-surface)"},children:[(0,o.jsxs)("div",{className:"flex items-center justify-between gap-3 mb-2",children:[(0,o.jsx)(ru,{value:j,onChange:el}),(0,o.jsx)(rb,{viewType:j,settings:ea,fields:ep,onSettingsChange:en})]}),(0,o.jsx)(aU,{fields:h.fields,filters:C,onFiltersChange:$,savedViews:L,activeViewName:T,onSaveView:ee,onLoadView:et,onDeleteView:er,onSetActiveView:eo,members:eh})]}),"kanban"===j&&(0,o.jsx)(tt,{objectName:h.object.name,fields:h.fields,entries:_,statuses:h.statuses,members:p,relationLabels:h.relationLabels,onEntryClick:v?e=>v(h.object.name,e):void 0,onRefresh:X}),"table"===j&&(0,o.jsx)(e5,{objectName:h.object.name,fields:h.fields,entries:_,members:p,relationLabels:h.relationLabels,reverseRelations:h.reverseRelations,onNavigateToObject:m,onNavigateToEntry:v,onEntryClick:v?e=>v(h.object.name,e):void 0,onRefresh:X,columnVisibility:q,serverPagination:{totalCount:B,page:W,pageSize:D,onPageChange:Q,onPageSizeChange:Y},onServerSearch:Z}),"calendar"===j&&(0,o.jsx)(tA,{objectName:h.object.name,fields:h.fields,entries:_,dateField:null!=(c=ea.calendarDateField)?c:"",endDateField:ea.calendarEndDateField,mode:null!=(d=ea.calendarMode)?d:"month",onModeChange:e=>en({...ea,calendarMode:e}),members:p,onEntryClick:v?e=>v(h.object.name,e):void 0,onEntryDateChange:ei}),"timeline"===j&&(0,o.jsx)(tZ,{objectName:h.object.name,fields:h.fields,entries:_,startDateField:null!=(u=ea.timelineStartField)?u:"",endDateField:ea.timelineEndField,groupField:ea.timelineGroupField,zoom:null!=(x=ea.timelineZoom)?x:"week",onZoomChange:e=>en({...ea,timelineZoom:e}),members:p,onEntryClick:v?e=>v(h.object.name,e):void 0,onEntryDateChange:ec}),"gallery"===j&&(0,o.jsx)(t0,{objectName:h.object.name,fields:h.fields,entries:_,titleField:ea.galleryTitleField,coverField:ea.galleryCoverField,members:p,relationLabels:h.relationLabels,onEntryClick:v?e=>v(h.object.name,e):void 0}),"list"===j&&(0,o.jsx)(t5,{objectName:h.object.name,fields:h.fields,entries:_,titleField:ea.listTitleField,subtitleField:ea.listSubtitleField,members:p,onEntryClick:v?e=>v(h.object.name,e):void 0})]})}function a3(e){var t;let{node:r,onNodeSelect:l}=e,n=null!=(t=r.children)?t:[];return(0,o.jsxs)("div",{className:"p-6 max-w-4xl mx-auto",children:[(0,o.jsx)("h1",{className:"font-instrument text-3xl tracking-tight mb-1 capitalize",style:{color:"var(--color-text)"},children:r.name}),(0,o.jsxs)("p",{className:"text-sm mb-6",style:{color:"var(--color-text-muted)"},children:[n.length," items"]}),0===n.length?(0,o.jsx)("p",{className:"text-sm",style:{color:"var(--color-text-muted)"},children:"This folder is empty."}):(0,o.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:n.map(e=>(0,o.jsxs)("button",{type:"button",onClick:()=>l(e),className:"flex items-center gap-3 p-4 rounded-2xl text-left transition-all duration-100 cursor-pointer",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-sm)"},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--color-border-strong)",e.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--color-border)",e.currentTarget.style.transform="translateY(0)"},children:[(0,o.jsx)("span",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"object"===e.type?"var(--color-chip-object)":"document"===e.type?"var(--color-chip-document)":"database"===e.type?"var(--color-chip-database)":"report"===e.type?"var(--color-chip-report)":"var(--color-surface-hover)",color:"object"===e.type?"var(--color-chip-object-text)":"document"===e.type?"var(--color-chip-document-text)":"database"===e.type?"var(--color-chip-database-text)":"report"===e.type?"var(--color-chip-report-text)":"var(--color-text-muted)"},children:(0,o.jsx)(a7,{type:e.type})}),(0,o.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,o.jsx)("div",{className:"text-sm font-medium truncate",style:{color:"var(--color-text)"},children:e.name.replace(/\.md$/,"")}),(0,o.jsxs)("div",{className:"text-xs capitalize",style:{color:"var(--color-text-muted)"},children:[e.type,e.children?" (".concat(e.children.length,")"):""]})]})]},e.path))})]})}function a8(e){let{tree:t,onNodeSelect:r}=e,l=[],n=[];return!function e(t){for(let r of t)"object"===r.type?l.push(r):"document"===r.type&&n.push(r),r.children&&e(r.children)}(t),(0,o.jsxs)("div",{className:"p-8 max-w-4xl mx-auto",children:[(0,o.jsx)("h1",{className:"font-instrument text-3xl tracking-tight mb-2",style:{color:"var(--color-text)"},children:"Workspace"}),(0,o.jsx)("p",{className:"text-sm mb-8",style:{color:"var(--color-text-muted)"},children:"Select an item from the sidebar, or browse the sections below."}),l.length>0&&(0,o.jsxs)("div",{className:"mb-8",children:[(0,o.jsx)("h2",{className:"text-sm font-medium uppercase tracking-wider mb-3",style:{color:"var(--color-text-muted)"},children:"Objects"}),(0,o.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:l.map(e=>(0,o.jsxs)("button",{type:"button",onClick:()=>r(e),className:"flex items-center gap-3 p-4 rounded-2xl text-left transition-all duration-100 cursor-pointer",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-sm)"},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--color-accent)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--color-border)"},children:[(0,o.jsx)("span",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"var(--color-chip-object)",color:"var(--color-chip-object-text)"},children:(0,o.jsx)(a7,{type:"object"})}),(0,o.jsxs)("div",{className:"min-w-0",children:[(0,o.jsx)("div",{className:"text-sm font-medium capitalize truncate",style:{color:"var(--color-text)"},children:e.name}),(0,o.jsx)("div",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"kanban"===e.defaultView?"Kanban board":"Table view"})]})]},e.path))})]}),n.length>0&&(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{className:"text-sm font-medium uppercase tracking-wider mb-3",style:{color:"var(--color-text-muted)"},children:"Documents"}),(0,o.jsx)("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3",children:n.map(e=>(0,o.jsxs)("button",{type:"button",onClick:()=>r(e),className:"flex items-center gap-3 p-4 rounded-2xl text-left transition-all duration-100 cursor-pointer",style:{background:"var(--color-surface)",border:"1px solid var(--color-border)",boxShadow:"var(--shadow-sm)"},onMouseEnter:e=>{e.currentTarget.style.borderColor="var(--color-chip-document-text)"},onMouseLeave:e=>{e.currentTarget.style.borderColor="var(--color-border)"},children:[(0,o.jsx)("span",{className:"w-10 h-10 rounded-xl flex items-center justify-center flex-shrink-0",style:{background:"var(--color-chip-document)",color:"var(--color-chip-document-text)"},children:(0,o.jsx)(a7,{type:"document"})}),(0,o.jsxs)("div",{className:"min-w-0",children:[(0,o.jsx)("div",{className:"text-sm font-medium truncate",style:{color:"var(--color-text)"},children:e.name.replace(/\.md$/,"")}),(0,o.jsx)("div",{className:"text-xs",style:{color:"var(--color-text-muted)"},children:"Document"})]})]},e.path))})]})]})}function a7(e){let{type:t}=e;switch(t){case"object":return(0,o.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M12 3v18"}),(0,o.jsx)("rect",{width:"18",height:"18",x:"3",y:"3",rx:"2"}),(0,o.jsx)("path",{d:"M3 9h18"}),(0,o.jsx)("path",{d:"M3 15h18"})]});case"document":return(0,o.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"}),(0,o.jsx)("path",{d:"M10 9H8"}),(0,o.jsx)("path",{d:"M16 13H8"}),(0,o.jsx)("path",{d:"M16 17H8"})]});case"folder":return(0,o.jsx)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,o.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"})});case"database":return(0,o.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("ellipse",{cx:"12",cy:"5",rx:"9",ry:"3"}),(0,o.jsx)("path",{d:"M3 5V19A9 3 0 0 0 21 19V5"}),(0,o.jsx)("path",{d:"M3 12A9 3 0 0 0 21 12"})]});case"report":return(0,o.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("line",{x1:"12",x2:"12",y1:"20",y2:"10"}),(0,o.jsx)("line",{x1:"18",x2:"18",y1:"20",y2:"4"}),(0,o.jsx)("line",{x1:"6",x2:"6",y1:"20",y2:"14"})]});default:return(0,o.jsxs)("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,o.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,o.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]})}}}},e=>{e.O(0,[6237,2763,7073,1377,9978,1705,8522,7358],()=>e(e.s=86719)),_N_E=e.O()}]);