neural-loom 0.2.14 → 0.2.16

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 (71) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +1 -0
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/cache/.previewinfo +1 -1
  5. package/.next/cache/.rscinfo +1 -1
  6. package/.next/cache/.tsbuildinfo +1 -1
  7. package/.next/diagnostics/route-bundle-stats.json +2 -2
  8. package/.next/fallback-build-manifest.json +3 -3
  9. package/.next/prerender-manifest.json +3 -3
  10. package/.next/routes-manifest.json +6 -0
  11. package/.next/server/app/_global-error.html +1 -1
  12. package/.next/server/app/_global-error.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  16. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  17. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  18. package/.next/server/app/_not-found.html +1 -1
  19. package/.next/server/app/_not-found.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  25. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  26. package/.next/server/app/api/sessions/start/route/app-paths-manifest.json +3 -0
  27. package/.next/server/app/api/sessions/start/route/build-manifest.json +9 -0
  28. package/.next/server/app/api/sessions/start/route/server-reference-manifest.json +4 -0
  29. package/.next/server/app/api/sessions/start/route.js +7 -0
  30. package/.next/server/app/api/sessions/start/route.js.map +5 -0
  31. package/.next/server/app/api/sessions/start/route.js.nft.json +1 -0
  32. package/.next/server/app/api/sessions/start/route_client-reference-manifest.js +3 -0
  33. package/.next/server/app/index.html +1 -1
  34. package/.next/server/app/index.rsc +2 -2
  35. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  36. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  37. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  38. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  39. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  40. package/.next/server/app/page/react-loadable-manifest.json +1 -1
  41. package/.next/server/app/page_client-reference-manifest.js +1 -1
  42. package/.next/server/app-paths-manifest.json +1 -0
  43. package/.next/server/chunks/[root-of-the-server]__0-lisav._.js +15 -0
  44. package/.next/server/chunks/[root-of-the-server]__0-lisav._.js.map +1 -0
  45. package/.next/server/chunks/[root-of-the-server]__0d0pykb._.js +3 -3
  46. package/.next/server/chunks/[root-of-the-server]__0d0pykb._.js.map +1 -1
  47. package/.next/server/chunks/_next-internal_server_app_api_sessions_start_route_actions_10.y0di.js +3 -0
  48. package/.next/server/chunks/_next-internal_server_app_api_sessions_start_route_actions_10.y0di.js.map +1 -0
  49. package/.next/server/chunks/ssr/_0t7oqy6._.js +1 -1
  50. package/.next/server/chunks/ssr/_0t7oqy6._.js.map +1 -1
  51. package/.next/server/middleware-build-manifest.js +3 -3
  52. package/.next/server/pages/404.html +1 -1
  53. package/.next/server/pages/500.html +1 -1
  54. package/.next/server/server-reference-manifest.js +1 -1
  55. package/.next/server/server-reference-manifest.json +1 -1
  56. package/.next/static/chunks/0cv9~vnm0atn4.js +1 -0
  57. package/.next/static/chunks/{0g45rn_9mbzt6.js → 0t~533m2dl-bb.js} +1 -1
  58. package/.next/trace +1 -1
  59. package/.next/trace-build +1 -1
  60. package/.next/types/routes.d.ts +2 -1
  61. package/.next/types/validator.ts +9 -0
  62. package/package.json +1 -1
  63. package/src/app/api/sessions/start/route.ts +20 -0
  64. package/src/app/components/IdeLayout.tsx +39 -0
  65. package/src/app/page.tsx +48 -10
  66. package/src/lib/agents/SessionManager.ts +9 -1
  67. package/src/lib/agents/WebSocketServer.ts +14 -10
  68. package/.next/static/chunks/0ew-ei_k3d-qg.js +0 -1
  69. /package/.next/static/{g7S_nNTPWKtmCY0Va4YcB → Sqg0WwYlho2e4abhJPPMw}/_buildManifest.js +0 -0
  70. /package/.next/static/{g7S_nNTPWKtmCY0Va4YcB → Sqg0WwYlho2e4abhJPPMw}/_clientMiddlewareManifest.js +0 -0
  71. /package/.next/static/{g7S_nNTPWKtmCY0Va4YcB → Sqg0WwYlho2e4abhJPPMw}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,3839,e=>{"use strict";var t=e.i(43476),r=e.i(71645),o=e.i(5991),n=e.i(54370);let i={display:"flex",width:"100%",height:"100%",flex:1,minHeight:0,backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"12px",overflow:"hidden",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.6)"},l={width:"50px",backgroundColor:"#030406",borderRight:"1px solid var(--border)",display:"flex",flexDirection:"column",justifyContent:"space-between",alignItems:"center",padding:"0.75rem 0"},a={display:"flex",flexDirection:"column",width:"100%",gap:"0.5rem"},s={width:"100%",height:"45px",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",fontSize:"1.25rem",transition:"all 0.15s ease"},d={width:"260px",backgroundColor:"#080c14",borderRight:"1px solid var(--border)",display:"flex",flexDirection:"column",overflow:"hidden"},c={padding:"0.75rem 1rem",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",background:"rgba(255,255,255,0.02)"},p={flex:1,overflowY:"auto",padding:"0.75rem 0"},m={padding:"0.25rem 1rem",fontSize:"0.75rem",fontWeight:700,color:"var(--muted)",display:"flex",alignItems:"center",justifyContent:"space-between",textTransform:"uppercase",letterSpacing:"0.05em"},u={fontSize:"0.6rem",backgroundColor:"rgba(59, 130, 246, 0.1)",color:"#3b82f6",padding:"0.1rem 0.3rem",borderRadius:"3px",textTransform:"none",letterSpacing:"normal"},f={fontSize:"0.75rem",fontWeight:600,color:"var(--foreground)"},h={flex:1,display:"flex",flexDirection:"column",overflow:"hidden",backgroundColor:"#0b101b"},x={flex:1,display:"flex",flexDirection:"column",borderBottom:"1px solid var(--border)",overflow:"hidden"},g={height:"35px",backgroundColor:"#05070a",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",paddingRight:"0.75rem"},y={display:"flex",height:"100%",overflowX:"auto"},b={padding:"0 1rem",height:"100%",display:"flex",alignItems:"center",gap:"0.75rem",fontSize:"0.75rem",borderRight:"1px solid var(--border)",borderBottom:"2px solid transparent",cursor:"pointer",transition:"all 0.15s ease",maxWidth:"150px"},v={fontSize:"0.65rem",color:"var(--muted)",cursor:"pointer",padding:"2px"},j={color:"var(--primary)",fontSize:"0.65rem",marginLeft:"2px"},C={padding:"0.25rem 0.5rem",borderRadius:"4px",border:"1px solid var(--border-focus)",backgroundColor:"rgba(16, 185, 129, 0.15)",color:"var(--success)",fontSize:"0.7rem",fontWeight:600},w={flex:1,position:"relative",overflow:"hidden"},S={width:"100%",height:"100%",backgroundColor:"#0b101b",border:"none",outline:"none",color:"#e2e8f0",fontFamily:"var(--font-mono), monospace",fontSize:"0.85rem",padding:"1rem",resize:"none",lineHeight:1.5},k={display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",height:"100%",color:"var(--muted)",textAlign:"center",padding:"2rem"},T={flex:1.4,backgroundColor:"#05070a",display:"flex",flexDirection:"column",overflow:"hidden"},z={padding:"0.5rem 1rem",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",backgroundColor:"rgba(255,255,255,0.01)"},R={padding:"0.3rem 0.6rem",borderRadius:"4px",border:"1px solid var(--primary)",backgroundColor:"transparent",color:"var(--primary)",fontSize:"0.7rem",fontWeight:600,cursor:"pointer"},P={padding:"0.3rem 0.6rem",borderRadius:"4px",border:"1px solid var(--success)",backgroundColor:"transparent",color:"var(--success)",fontSize:"0.7rem",fontWeight:600,cursor:"pointer"},F={flex:1,overflow:"hidden"};function I({node:e,onSelect:o,onCreate:n,onRename:i,onDelete:l,isReadOnly:a=!1}){let[s,d]=(0,r.useState)(!1),[c,p]=(0,r.useState)(!1),m="directory"===e.type,u={padding:"0.25rem 0.5rem",display:"flex",alignItems:"center",justifyContent:"space-between",fontSize:"0.8rem",fontFamily:"var(--font-mono), monospace",cursor:"pointer",color:"var(--foreground)",borderRadius:"4px",transition:"background 0.1s ease",userSelect:"none",backgroundColor:c?"rgba(255, 255, 255, 0.05)":"transparent",minWidth:0,width:"100%"},f={display:"flex",alignItems:"center",gap:"0.375rem",flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},h={display:c?"flex":"none",alignItems:"center",gap:"0.25rem",paddingLeft:"0.5rem",flexShrink:0},x={background:"none",border:"none",padding:"2px 4px",cursor:"pointer",fontSize:"0.75rem",color:"var(--muted)",borderRadius:"3px",transition:"all 0.1s ease"},g=(e,t)=>{e.stopPropagation(),t()};return m?(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{onClick:()=>d(!s),style:u,onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),children:[(0,t.jsxs)("div",{style:f,children:[(0,t.jsx)("span",{style:{color:"#eab308"},children:s?"📂":"📁"}),(0,t.jsx)("span",{style:{fontWeight:600,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),!a&&(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("button",{onClick:t=>g(t,()=>n(e.path,"file")),style:x,title:"New File inside...",onMouseEnter:e=>e.currentTarget.style.color="var(--success)",onMouseLeave:e=>e.currentTarget.style.color="var(--muted)",children:"📄+"}),(0,t.jsx)("button",{onClick:t=>g(t,()=>n(e.path,"directory")),style:x,title:"New Folder inside...",onMouseEnter:e=>e.currentTarget.style.color="var(--success)",onMouseLeave:e=>e.currentTarget.style.color="var(--muted)",children:"📁+"}),(0,t.jsx)("button",{onClick:t=>g(t,()=>i(e.path)),style:x,title:"Rename...",onMouseEnter:e=>e.currentTarget.style.color="var(--primary)",onMouseLeave:e=>e.currentTarget.style.color="var(--muted)",children:"✏️"}),(0,t.jsx)("button",{onClick:t=>g(t,()=>l(e.path)),style:x,title:"Delete Folder",onMouseEnter:e=>e.currentTarget.style.color="var(--danger)",onMouseLeave:e=>e.currentTarget.style.color="var(--muted)",children:"🗑️"})]})]}),s&&e.children&&(0,t.jsx)("div",{style:{paddingLeft:"10px",borderLeft:"1px solid rgba(255, 255, 255, 0.05)",marginLeft:"8px"},children:e.children.map(e=>(0,t.jsx)(I,{node:e,onSelect:o,onCreate:n,onRename:i,onDelete:l,isReadOnly:a},e.path))})]}):(0,t.jsxs)("div",{onClick:()=>o(e.path),style:u,onMouseEnter:()=>p(!0),onMouseLeave:()=>p(!1),children:[(0,t.jsxs)("div",{style:f,children:[(0,t.jsx)("span",{style:{color:"#3b82f6"},children:"📄"}),(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.name})]}),!a&&(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("button",{onClick:t=>g(t,()=>i(e.path)),style:x,title:"Rename...",onMouseEnter:e=>e.currentTarget.style.color="var(--primary)",onMouseLeave:e=>e.currentTarget.style.color="var(--muted)",children:"✏️"}),(0,t.jsx)("button",{onClick:t=>g(t,()=>l(e.path)),style:x,title:"Delete File",onMouseEnter:e=>e.currentTarget.style.color="var(--danger)",onMouseLeave:e=>e.currentTarget.style.color="var(--muted)",children:"🗑️"})]})]})}let W={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.7)",display:"flex",alignItems:"center",justifyContent:"center",zIndex:1e3,backdropFilter:"blur(4px)"},L={width:"420px",backgroundColor:"#080c14",border:"1px solid var(--border)",borderRadius:"12px",padding:"1.5rem",boxShadow:"0 20px 25px -5px rgba(0, 0, 0, 0.8)"},O={width:"100%",backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"6px",padding:"0.5rem 0.75rem",color:"#e2e8f0",fontSize:"0.85rem",outline:"none",marginBottom:"1.5rem",fontFamily:"var(--font-mono), monospace"},D={display:"flex",justifyContent:"flex-end",gap:"0.75rem"},E={backgroundColor:"transparent",border:"1px solid var(--border)",color:"var(--foreground)",padding:"0.5rem 1rem",borderRadius:"6px",fontSize:"0.8rem",fontWeight:600,cursor:"pointer"},M={backgroundColor:"var(--primary)",border:"none",color:"#ffffff",padding:"0.5rem 1rem",borderRadius:"6px",fontSize:"0.8rem",fontWeight:600,cursor:"pointer"},B={background:"none",border:"none",color:"var(--muted)",cursor:"pointer",fontSize:"0.8rem",padding:"4px",borderRadius:"3px",transition:"all 0.1s ease"},N={position:"fixed",top:0,left:0,right:0,bottom:0,backgroundColor:"rgba(0,0,0,0.5)",display:"flex",alignItems:"flex-start",justifyContent:"center",zIndex:1100,paddingTop:"5vh",backdropFilter:"blur(2px)"},U={width:"600px",backgroundColor:"#080c14",border:"1px solid var(--border)",borderRadius:"8px",boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.8)",display:"flex",flexDirection:"column",overflow:"hidden"},$={width:"100%",backgroundColor:"#05070a",border:"none",borderBottom:"1px solid var(--border)",padding:"0.75rem 1rem",color:"#e2e8f0",fontSize:"0.9rem",outline:"none",fontFamily:"var(--font-mono), monospace"},A={maxHeight:"300px",overflowY:"auto",padding:"0.25rem 0"},V={display:"flex",alignItems:"center",padding:"0.5rem 1rem",cursor:"pointer",transition:"all 0.1s ease",justifyContent:"space-between"},J={backgroundColor:"rgba(255,255,255,0.02)",border:"1px solid var(--border)",borderRadius:"6px",padding:"0.5rem 0.75rem",display:"flex",flexDirection:"column",gap:"0.25rem"},K={fontSize:"0.6rem",color:"var(--muted)",textTransform:"uppercase"},_={fontSize:"1.1rem",fontWeight:700,fontFamily:"var(--font-mono)"},H={width:"100%",height:"6px",backgroundColor:"rgba(255,255,255,0.05)",borderRadius:"3px",overflow:"hidden"},Y={height:"100%",borderRadius:"3px",transition:"width 0.5s ease-out"},X={padding:"0.35rem 1rem",borderBottom:"1px solid var(--border)",backgroundColor:"#030406",display:"flex",alignItems:"center",gap:"0.75rem",flexWrap:"nowrap",overflowX:"auto"},G={padding:"0.15rem 0.45rem",borderRadius:"4px",border:"1px solid var(--border)",backgroundColor:"rgba(255,255,255,0.02)",color:"var(--muted)",fontSize:"0.7rem",fontFamily:"var(--font-mono)",fontWeight:600,cursor:"pointer",transition:"all 0.1s ease"},Q={backgroundColor:"#05070a",borderBottom:"1px solid var(--border)",padding:"0.25rem 0.75rem 0 0.75rem",display:"flex",alignItems:"center",justifyContent:"space-between"},q={padding:"0.35rem 0.75rem",borderRadius:"6px 6px 0 0",border:"1px solid var(--border)",borderBottom:"none",display:"flex",alignItems:"center",gap:"0.5rem",cursor:"pointer",transition:"all 0.15s ease"};e.s(["default",0,function({sessionId:e,workspaceRoot:Z,scopedDirs:ee,onClose:et,sessions:er,onSwitchSession:eo,onRefreshSessions:en}){let ei=JSON.stringify(ee),[el,ea]=(0,r.useState)(null),[es,ed]=(0,r.useState)([]),[ec,ep]=(0,r.useState)(!1),em=async t=>{try{let r=await fetch("/api/sessions/scope",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,path:t,action:"add"})});if(r.ok)en&&en();else{let e=await r.json();alert(e.error||"Failed to add scoped folder.")}}catch(e){console.error(e),alert("Network error: failed to add scoped folder.")}},eu=async t=>{try{let r=await fetch("/api/sessions/scope",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({sessionId:e,path:t,action:"remove"})});if(r.ok)en&&en();else{let e=await r.json();alert(e.error||"Failed to remove scoped folder.")}}catch(e){console.error(e),alert("Network error: failed to remove scoped folder.")}},[ef,eh]=(0,r.useState)({}),[ex,eg]=(0,r.useState)({}),ey=ef[e]||[],eb=ex[e]||null,ev=(0,r.useCallback)(t=>{eh(r=>{let o=r[e]||[],n="function"==typeof t?t(o):t;return{...r,[e]:n}})},[e]),ej=(0,r.useCallback)(t=>{eg(r=>({...r,[e]:t}))},[e]),[eC,ew]=(0,r.useState)(!0),[eS,ek]=(0,r.useState)("explorer"),[eT,ez]=(0,r.useState)(!1),[eR,eP]=(0,r.useState)([]),[eF,eI]=(0,r.useState)(!1),[eW,eL]=(0,r.useState)(!1),[eO,eD]=(0,r.useState)(null),[eE,eM]=(0,r.useState)(null),[eB,eN]=(0,r.useState)(""),[eU,e$]=(0,r.useState)([]),[eA,eV]=(0,r.useState)(""),[eJ,eK]=(0,r.useState)(""),[e_,eH]=(0,r.useState)(null),eY=(0,r.useCallback)(async()=>{await new Promise(e=>setTimeout(e,0)),eL(!0);try{let e=await fetch(`/api/git?action=status&root=${encodeURIComponent(Z)}`);if(e.ok){let t=await e.json();t.success&&(eI(t.isGit),eP(t.files||[]))}}catch(e){console.error("Failed to load git status:",e)}finally{eL(!1)}},[Z]);(0,r.useEffect)(()=>{setTimeout(()=>{eY()},0);let e=setInterval(eY,5e3);return()=>clearInterval(e)},[eY]),(0,r.useEffect)(()=>{let t=async()=>{try{let t=await fetch(`/api/sessions?id=${e}`);if(t.ok){let e=await t.json();eD(e)}}catch(e){console.error("Failed to fetch session status:",e)}};t();let r=setInterval(t,3e3);return()=>clearInterval(r)},[e]),(0,r.useEffect)(()=>{let t=async()=>{try{let t=await fetch(`/api/sessions/stats?id=${e}`);if(t.ok){let e=await t.json();eM(e)}}catch(e){console.error("Failed to fetch container/process stats:",e)}};t();let r=setInterval(t,3e3);return()=>clearInterval(r)},[e]),(0,r.useEffect)(()=>{let e=localStorage.getItem("neural_loom_custom_commands");if(e)try{let t=JSON.parse(e);setTimeout(()=>{e$(t)},0)}catch{}},[]);let eX=e=>{e$(e),localStorage.setItem("neural_loom_custom_commands",JSON.stringify(e))},eG=async t=>{try{await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,command:t})})}catch(e){console.error("Failed to inject command:",e)}},eQ=eO?.type?.includes("aider"),[eq,eZ]=(0,r.useState)({type:null,targetPath:null,inputValue:"",error:null}),[e0,e5]=(0,r.useState)(!1),[e1,e2]=(0,r.useState)(""),[e7,e8]=(0,r.useState)([]),[e6,e3]=(0,r.useState)(0),e4=(0,r.useCallback)(async()=>{await new Promise(e=>setTimeout(e,0)),ez(!0);try{let e=ee&&ee.length>0?`&scoped=${encodeURIComponent(ee.join(","))}`:"",t=await fetch(`/api/files?action=list&root=${encodeURIComponent(Z)}${e}`);if(t.ok){let e=await t.json();e.success&&(ea(e.workspace),ed(e.scoped||[]))}}catch(e){console.error("Failed to load file explorer:",e)}finally{ez(!1)}},[Z,ei]);(0,r.useEffect)(()=>{setTimeout(()=>{e4()},0)},[e4]);let e9=(e,t)=>{eZ({type:"file"===t?"create-file":"create-folder",targetPath:e,inputValue:"",error:null})},te=e=>{let t=e.split(/[/\\]/).pop()||"";eZ({type:"rename",targetPath:e,inputValue:t,error:null})},tt=e=>{eZ({type:"delete",targetPath:e,inputValue:"",error:null})},tr=async e=>{if(e&&e.preventDefault(),eq.type&&eq.targetPath){eZ(e=>({...e,error:null}));try{if("create-file"===eq.type||"create-folder"===eq.type){if(!eq.inputValue.trim())return void eZ(e=>({...e,error:"Name cannot be empty"}));let e=`${eq.targetPath}/${eq.inputValue.trim()}`,t="create-file"===eq.type?"file":"directory",r=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"create",path:e,type:t})});if(r.ok){let o=await r.json();o.success?(eZ({type:null,targetPath:null,inputValue:"",error:null}),await e4(),"file"===t&&await tn(e)):eZ(e=>({...e,error:o.error||"Failed to create item"}))}else{let e=await r.json();eZ(t=>({...t,error:e.error||"Failed to create item"}))}}if("rename"===eq.type){if(!eq.inputValue.trim())return void eZ(e=>({...e,error:"Name cannot be empty"}));let e=eq.targetPath.replace(/\\/g,"/"),t=e.substring(0,e.lastIndexOf("/")),r=t?`${t}/${eq.inputValue.trim()}`:eq.inputValue.trim(),o=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"rename",oldPath:eq.targetPath,newPath:r})});if(o.ok){let e=await o.json();e.success?(ev(e=>e.map(e=>e.path===eq.targetPath?{...e,path:r,name:eq.inputValue.trim()}:e)),eb===eq.targetPath&&ej(r),eZ({type:null,targetPath:null,inputValue:"",error:null}),await e4()):eZ(t=>({...t,error:e.error||"Failed to rename item"}))}else{let e=await o.json();eZ(t=>({...t,error:e.error||"Failed to rename item"}))}}if("delete"===eq.type){let e=await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"delete",path:eq.targetPath})});if(e.ok){let t=await e.json();t.success?(ti(eq.targetPath),eZ({type:null,targetPath:null,inputValue:"",error:null}),await e4()):eZ(e=>({...e,error:t.error||"Failed to delete item"}))}else{let t=await e.json();eZ(e=>({...e,error:t.error||"Failed to delete item"}))}}}catch(e){console.error("File operation failed:",e),eZ(e=>({...e,error:"An unexpected error occurred"}))}}},to=(0,r.useCallback)(async()=>{try{let e=ee&&ee.length>0?`&scoped=${encodeURIComponent(ee.join(","))}`:"",t=await fetch(`/api/files?action=flat_list&root=${encodeURIComponent(Z)}${e}`);if(t.ok){let e=await t.json();e.success&&e.files&&e8(e.files)}}catch(e){console.error("Failed to load flat files list:",e)}},[Z,ei]);(0,r.useEffect)(()=>{e0&&setTimeout(()=>{e2(""),e3(0),to()},0)},[e0,to]);let tn=async e=>{if(ey.find(t=>t.path===e))return void ej(e);try{let t=await fetch(`/api/files?action=read&path=${encodeURIComponent(e)}`);if(t.ok){let r=await t.json();if(r.success){let t={name:e.split(/[/\\]/).pop()||"Untitled",path:e,content:r.content,isModified:!1};ev([...ey,t]),ej(e)}}}catch(t){console.error(`Failed to read file ${e}:`,t)}},ti=e=>{let t=ey.filter(t=>t.path!==e);ev(t),eb===e&&ej(t.length>0?t[t.length-1].path:null)},tl=ey.find(e=>e.path===eb),ta=(0,r.useCallback)(async()=>{if(tl)try{(await fetch("/api/files",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"write",path:tl.path,content:tl.content})})).ok&&ev(e=>e.map(e=>e.path===eb?{...e,isModified:!1}:e))}catch(e){console.error(`Failed to save file ${tl.path}:`,e)}},[tl,eb,ev]);(0,r.useEffect)(()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&"s"===e.key&&(e.preventDefault(),ta()),(e.ctrlKey||e.metaKey)&&"p"===e.key&&(e.preventDefault(),e5(e=>!e))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[ta]);let ts=e7.filter(e=>e.name.toLowerCase().includes(e1.toLowerCase())||e.relativePath.toLowerCase().includes(e1.toLowerCase())).slice(0,10);return(0,t.jsxs)("div",{style:i,children:[(0,t.jsxs)("div",{style:l,children:[(0,t.jsxs)("div",{style:a,children:[(0,t.jsx)("div",{onClick:()=>{"explorer"===eS?ew(!eC):(ek("explorer"),ew(!0))},style:{...s,backgroundColor:"explorer"===eS&&eC?"rgba(255,255,255,0.08)":"transparent",borderLeft:"explorer"===eS&&eC?"2px solid var(--primary)":"2px solid transparent"},title:"File Explorer (Ctrl+P to search files)",children:"📁"}),(0,t.jsx)("div",{onClick:()=>{"git"===eS?ew(!eC):(ek("git"),ew(!0))},style:{...s,backgroundColor:"git"===eS&&eC?"rgba(255,255,255,0.08)":"transparent",borderLeft:"git"===eS&&eC?"2px solid var(--primary)":"2px solid transparent"},title:"Source Control (Git Changes)",children:"🌿"}),(0,t.jsx)("div",{onClick:()=>{"analytics"===eS?ew(!eC):(ek("analytics"),ew(!0))},style:{...s,backgroundColor:"analytics"===eS&&eC?"rgba(255,255,255,0.08)":"transparent",borderLeft:"analytics"===eS&&eC?"2px solid var(--primary)":"2px solid transparent"},title:"Token Usage & Cost Analytics",children:"📊"}),(0,t.jsx)("div",{onClick:()=>{"auditor"===eS?ew(!eC):(ek("auditor"),ew(!0))},style:{...s,backgroundColor:"auditor"===eS&&eC?"rgba(255,255,255,0.08)":"transparent",borderLeft:"auditor"===eS&&eC?"2px solid var(--primary)":"2px solid transparent"},title:"Session Log Auditor & Search",children:"🔍"})]}),(0,t.jsx)("div",{onClick:et,style:{...s,color:"var(--danger)",fontSize:"1rem"},title:"Exit Session Layout",children:"✖"})]}),eC&&(0,t.jsxs)("div",{style:d,children:[(0,t.jsxs)("div",{style:c,children:[(0,t.jsxs)("span",{style:{fontWeight:700,fontSize:"0.75rem",textTransform:"uppercase",letterSpacing:"0.05em"},children:["explorer"===eS&&"Workspace Explorer","git"===eS&&"Source Control","analytics"===eS&&"Telemetry & Cost","auditor"===eS&&"Session Auditor"]}),"explorer"===eS&&(0,t.jsxs)("div",{style:{display:"flex",gap:"0.25rem"},children:[el&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>e9(el.path,"file"),style:B,title:"New File at Root...",children:"📄+"}),(0,t.jsx)("button",{onClick:()=>e9(el.path,"directory"),style:B,title:"New Folder at Root...",children:"📁+"})]}),(0,t.jsx)("button",{onClick:e4,disabled:eT,style:B,title:"Refresh tree",children:"🔄"})]}),"git"===eS&&(0,t.jsx)("button",{onClick:eY,disabled:eW,style:B,title:"Refresh git status",children:"🔄"})]}),(0,t.jsxs)("div",{style:p,children:["explorer"===eS&&(0,t.jsxs)(t.Fragment,{children:[el?(0,t.jsxs)("div",{style:{marginBottom:"1.5rem"},children:[(0,t.jsxs)("div",{style:m,children:["💼 ",el.name," ",(0,t.jsx)("span",{style:u,title:el.path,children:"root"})]}),(0,t.jsx)("div",{style:{padding:"0.25rem 0.5rem"},children:el.tree.map(e=>(0,t.jsx)(I,{node:e,onSelect:tn,onCreate:e9,onRename:te,onDelete:tt,isReadOnly:!1},e.path))})]}):(0,t.jsx)("div",{style:{padding:"1rem",color:"var(--muted)",fontSize:"0.8rem"},children:"Scanning Workspace directory..."}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{...m,borderTop:"1px solid var(--border)",paddingTop:"1rem"},children:[(0,t.jsxs)("span",{children:["🔍 Scoped Folders (",es.length,")"]}),(0,t.jsx)("button",{onClick:()=>ep(!0),style:B,title:"Add Scoped Folder...",children:"➕"})]}),es.length>0?es.map(e=>(0,t.jsxs)("div",{style:{marginTop:"0.75rem",padding:"0 0.5rem"},children:[(0,t.jsxs)("div",{style:{...f,display:"flex",gap:"0.25rem",color:"#a855f7",fontSize:"0.75rem",fontWeight:700,padding:"0.25rem",justifyContent:"space-between",alignItems:"center"},title:e.path,children:[(0,t.jsxs)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},children:["🔗 ",e.name,"/"]}),(0,t.jsx)("button",{onClick:()=>eu(e.path),style:{background:"none",border:"none",color:"var(--danger)",cursor:"pointer",fontSize:"0.75rem",padding:"0 0.25rem"},title:"Remove Scoped Folder",children:"✖"})]}),(0,t.jsx)("div",{style:{paddingLeft:"0.25rem"},children:e.tree.map(e=>(0,t.jsx)(I,{node:e,onSelect:tn,onCreate:e9,onRename:te,onDelete:tt,isReadOnly:!0},e.path))})]},e.path)):(0,t.jsx)("div",{style:{padding:"0.5rem 1rem",color:"var(--muted)",fontSize:"0.75rem",fontStyle:"italic"},children:"No extra scoped folders. Click [+] to mount a folder."})]})]}),"git"===eS&&(0,t.jsxs)("div",{style:{padding:"0.5rem 1rem"},children:[(0,t.jsx)("div",{style:{fontSize:"0.75rem",fontWeight:700,textTransform:"uppercase",color:"var(--muted)",marginBottom:"0.5rem"},children:"Changes"}),eF?0===eR.length?(0,t.jsx)("div",{style:{color:"var(--success)",fontSize:"0.75rem",padding:"0.5rem 0"},children:"✔ Workspace clean."}):(0,t.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"0.25rem"},children:eR.map(e=>{let r="#eab308";return"??"===e.status&&(r="#10b981"),"A"===e.status&&(r="#10b981"),"D"===e.status&&(r="#ef4444"),(0,t.jsxs)("div",{onClick:async()=>{try{let t=await fetch(`/api/git?action=diff&file=${encodeURIComponent(e.relativePath)}&root=${encodeURIComponent(Z)}`);if(t.ok){let r=await t.json();if(r.success){let t=`diff:${e.relativePath}`;ey.some(e=>e.path===t)||ev(o=>[...o,{name:`Diff: ${e.name}`,path:t,content:r.diff,isModified:!1}]),ej(t)}}}catch(e){console.error(e)}},style:{display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0.35rem 0.5rem",borderRadius:"4px",backgroundColor:"rgba(255,255,255,0.02)",cursor:"pointer",fontSize:"0.75rem",fontFamily:"var(--font-mono)"},onMouseEnter:e=>e.currentTarget.style.backgroundColor="rgba(255,255,255,0.06)",onMouseLeave:e=>e.currentTarget.style.backgroundColor="rgba(255,255,255,0.02)",children:[(0,t.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flex:1},title:e.relativePath,children:e.name}),(0,t.jsx)("span",{style:{fontSize:"0.6rem",padding:"0.1rem 0.3rem",borderRadius:"3px",backgroundColor:r+"22",color:r,fontWeight:700},children:e.status})]},e.relativePath)})}):(0,t.jsx)("div",{style:{color:"var(--muted)",fontSize:"0.75rem",fontStyle:"italic"},children:"Not a git repository."})]}),"analytics"===eS&&(0,t.jsxs)("div",{style:{padding:"0.5rem 1rem",display:"flex",flexDirection:"column",gap:"1.25rem"},children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontSize:"0.75rem",fontWeight:700,textTransform:"uppercase",color:"var(--muted)",marginBottom:"0.5rem"},children:"Token Usage"}),(0,t.jsxs)("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"0.5rem"},children:[(0,t.jsxs)("div",{style:J,children:[(0,t.jsx)("div",{style:K,children:"Input"}),(0,t.jsx)("div",{style:_,children:(eO?.tokenUsage?.input??0).toLocaleString()})]}),(0,t.jsxs)("div",{style:J,children:[(0,t.jsx)("div",{style:K,children:"Output"}),(0,t.jsx)("div",{style:_,children:(eO?.tokenUsage?.output??0).toLocaleString()})]}),(0,t.jsxs)("div",{style:{...J,gridColumn:"span 2"},children:[(0,t.jsx)("div",{style:K,children:"Cost"}),(0,t.jsxs)("div",{style:{..._,color:"#10b981",fontSize:"1.25rem"},children:["$",(eO?.tokenUsage?.cost??0).toFixed(4)]})]})]})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{style:{fontSize:"0.75rem",fontWeight:700,textTransform:"uppercase",color:"var(--muted)",marginBottom:"0.5rem"},children:"Resource Telemetry"}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"0.75rem"},children:[(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"0.7rem",marginBottom:"0.25rem"},children:[(0,t.jsx)("span",{children:"CPU Usage"}),(0,t.jsx)("span",{style:{fontWeight:600,color:"var(--primary)"},children:eE?.cpu??"0.0%"})]}),(0,t.jsx)("div",{style:H,children:(0,t.jsx)("div",{style:{...Y,width:eE?.cpu||"0%",backgroundColor:"var(--primary)"}})})]}),(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",fontSize:"0.7rem",marginBottom:"0.25rem"},children:[(0,t.jsx)("span",{children:"Memory Usage"}),(0,t.jsx)("span",{style:{fontWeight:600,color:"#eab308"},children:eE?.memory??"0.0MiB"})]}),(0,t.jsx)("div",{style:H,children:(0,t.jsx)("div",{style:{...Y,width:eE?.memoryPercent||"0%",backgroundColor:"#eab308"}})})]}),(0,t.jsx)("div",{style:{fontSize:"0.6rem",color:"var(--muted)",marginTop:"0.25rem",fontStyle:"italic"},children:eE?.type?.includes("docker")?"🐳 Docker container statistics":"💻 Local process statistics"})]})]})]}),"auditor"===eS&&(0,t.jsxs)("div",{style:{padding:"0.5rem 1rem",display:"flex",flexDirection:"column",gap:"1rem",height:"100%"},children:[(0,t.jsxs)("div",{style:{display:"flex",gap:"0.25rem"},children:[(0,t.jsx)("input",{type:"text",placeholder:"Search logs...",value:eB,onChange:e=>eN(e.target.value),style:{flex:1,backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"4px",padding:"0.25rem 0.5rem",color:"#ffffff",fontSize:"0.75rem",outline:"none"}}),(0,t.jsx)("button",{onClick:()=>{if(!eO?.logs)return;let t=new Blob([eO.logs.join("").replace(/\x1b\[[0-9;]*m/g,"")],{type:"text/plain;charset=utf-8"}),r=URL.createObjectURL(t),o=document.createElement("a");o.href=r,o.download=`session-${e}-logs.txt`,o.click(),URL.revokeObjectURL(r)},style:{backgroundColor:"rgba(59, 130, 246, 0.15)",border:"1px solid #3b82f6",color:"#3b82f6",padding:"0.25rem 0.5rem",borderRadius:"4px",fontSize:"0.7rem",fontWeight:600,cursor:"pointer"},children:"Export"})]}),(0,t.jsx)("div",{style:{height:"220px",overflowY:"auto",backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"6px",padding:"0.5rem",fontFamily:"var(--font-mono)",fontSize:"0.7rem",lineHeight:"1.4",whiteSpace:"pre-wrap",color:"#cbd5e1"},children:(()=>{if(!eO?.logs||0===eO.logs.length)return(0,t.jsx)("div",{style:{color:"var(--muted)",fontStyle:"italic",textAlign:"center"},children:"No logs captured."});let e=eO.logs.join("").replace(/\x1b\[[0-9;]*m/g,"").split(/\r?\n/),r=eB.trim()?e.filter(e=>e.toLowerCase().includes(eB.toLowerCase())):e;return 0===r.length?(0,t.jsx)("div",{style:{color:"var(--muted)",fontStyle:"italic",textAlign:"center"},children:"No matches."}):r.map((e,r)=>{if(!eB.trim())return(0,t.jsx)("div",{children:e},r);let o=e.split(RegExp(`(${eB})`,"gi"));return(0,t.jsx)("div",{children:o.map((e,r)=>e.toLowerCase()===eB.toLowerCase()?(0,t.jsx)("span",{style:{backgroundColor:"#eab308",color:"#000000",fontWeight:600},children:e},r):e)},r)})})()}),(0,t.jsxs)("div",{style:{borderTop:"1px solid var(--border)",paddingTop:"0.75rem"},children:[(0,t.jsx)("div",{style:{fontSize:"0.75rem",fontWeight:700,color:"var(--muted)",marginBottom:"0.5rem"},children:"Custom Buttons"}),(0,t.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"0.35rem"},children:[(0,t.jsx)("input",{type:"text",placeholder:"Button Name (e.g. /undo)",value:eA,onChange:e=>eV(e.target.value),style:{backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"4px",padding:"0.25rem 0.5rem",color:"#ffffff",fontSize:"0.7rem",outline:"none"}}),(0,t.jsx)("input",{type:"text",placeholder:"Injection Command",value:eJ,onChange:e=>eK(e.target.value),style:{backgroundColor:"#05070a",border:"1px solid var(--border)",borderRadius:"4px",padding:"0.25rem 0.5rem",color:"#ffffff",fontSize:"0.7rem",outline:"none"}}),(0,t.jsx)("button",{onClick:()=>{eA.trim()&&eJ.trim()&&(eX([...eU,{name:eA.trim(),command:eJ.trim()}]),eV(""),eK(""))},style:{backgroundColor:"rgba(168, 85, 247, 0.15)",border:"1px solid #a855f7",color:"#c084fc",padding:"0.3rem",borderRadius:"4px",fontSize:"0.7rem",fontWeight:600,cursor:"pointer"},children:"+ Add Button"}),eU.length>0&&(0,t.jsx)("div",{style:{marginTop:"0.25rem",maxHeight:"60px",overflowY:"auto"},children:eU.map((e,r)=>(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",fontSize:"0.65rem",backgroundColor:"rgba(255,255,255,0.02)",padding:"0.1rem 0.25rem",borderRadius:"3px",marginTop:"0.15rem"},children:[(0,t.jsx)("span",{style:{color:"#c084fc"},children:e.name}),(0,t.jsx)("span",{onClick:()=>{eX(eU.filter((e,t)=>t!==r))},style:{color:"var(--danger)",cursor:"pointer"},children:"✖"})]},r))})]})]})]})]})]}),(0,t.jsxs)("div",{style:h,children:[(0,t.jsx)("div",{style:Q,children:(0,t.jsx)("div",{style:{display:"flex",gap:"0.25rem",overflowX:"auto"},children:er.map(r=>{let o=r.id===e,n="running"===r.status?"#10b981":"rgba(255,255,255,0.2)";return(0,t.jsxs)("div",{onClick:()=>{e_===r.id&&eH(null),eo(r.id)},style:{...q,backgroundColor:o?"#0b101b":"rgba(8,12,20,0.6)",borderColor:o?"var(--border-focus)":"var(--border)",color:o?"var(--foreground)":"var(--muted)"},children:[(0,t.jsx)("span",{style:{width:"6px",height:"6px",borderRadius:"50%",backgroundColor:n,display:"inline-block"}}),(0,t.jsx)("span",{style:{fontSize:"0.75rem",fontWeight:o?600:500},children:r.name}),(0,t.jsx)("span",{style:{fontSize:"0.6rem",color:"var(--muted)",backgroundColor:"rgba(255,255,255,0.05)",padding:"1px 4px",borderRadius:"3px"},children:r.type.replace("claude-","").replace("aider-","")})]},r.id)})})}),(0,t.jsxs)("div",{style:x,children:[(0,t.jsxs)("div",{style:g,children:[(0,t.jsx)("div",{style:y,children:ey.map(e=>(0,t.jsxs)("div",{style:{...b,backgroundColor:eb===e.path?"#0b101b":"rgba(8,12,20,0.4)",borderColor:eb===e.path?"var(--border-focus)":"transparent",color:eb===e.path?"var(--foreground)":"var(--muted)"},onClick:()=>ej(e.path),children:[(0,t.jsxs)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e.name," ",e.isModified&&(0,t.jsx)("span",{style:j,children:"●"})]}),(0,t.jsx)("span",{onClick:t=>{t.stopPropagation(),ti(e.path)},style:v,children:"✖"})]},e.path))}),tl&&!tl.path.startsWith("diff:")&&(0,t.jsx)("button",{onClick:ta,disabled:!tl.isModified,style:{...C,opacity:tl.isModified?1:.5,cursor:tl.isModified?"pointer":"not-allowed"},children:"💾 Save (Ctrl+S)"})]}),(0,t.jsx)("div",{style:w,children:tl?tl.path.startsWith("diff:")?(0,t.jsx)("div",{style:{fontFamily:"var(--font-mono)",fontSize:"0.8rem",padding:"1rem",overflow:"auto",height:"100%",backgroundColor:"#0b101b",lineHeight:1.5},children:tl.content.split("\n").map((e,r)=>{let o="#e2e8f0",n="transparent";return e.startsWith("+")?(o="#4ade80",n="rgba(74, 222, 128, 0.08)"):e.startsWith("-")?(o="#f87171",n="rgba(248, 113, 113, 0.08)"):e.startsWith("@@")&&(o="#60a5fa",n="rgba(96, 165, 250, 0.05)"),(0,t.jsx)("div",{style:{color:o,backgroundColor:n,whiteSpace:"pre-wrap",padding:"0.1rem 0.5rem"},children:e},r)})}):(0,t.jsx)("textarea",{value:tl.content,onChange:e=>{var t;return t=e.target.value,void(eb&&ev(ey.map(e=>e.path===eb?{...e,content:t,isModified:!0}:e)))},style:S,spellCheck:!1}):(0,t.jsxs)("div",{style:k,children:[(0,t.jsx)("div",{style:{fontSize:"2rem",marginBottom:"1rem"},children:"💻"}),(0,t.jsx)("h4",{style:{margin:0,fontWeight:600},children:"NeuralLoom Workspace Editor"}),(0,t.jsx)("p",{style:{margin:"0.5rem 0 0 0",color:"var(--muted)",fontSize:"0.8rem"},children:"Select files from the left explorer panel to view and edit. Use Ctrl+S to save changes."}),(0,t.jsxs)("p",{style:{margin:"0.5rem 0 0 0",color:"var(--muted)",fontSize:"0.75rem",fontStyle:"italic"},children:["Press ",(0,t.jsx)("kbd",{style:{background:"rgba(255,255,255,0.1)",padding:"2px 4px",borderRadius:"3px"},children:"Ctrl+P"})," to search files."]})]})})]}),(0,t.jsxs)("div",{style:T,children:[(0,t.jsxs)("div",{style:z,children:[(0,t.jsxs)("span",{style:{display:"flex",alignItems:"center",gap:"0.5rem",fontWeight:600,fontSize:"0.8rem"},children:["🖥️ Session Console Bridge ",e_&&"(Split View Active)"]}),(0,t.jsxs)("div",{style:{display:"flex",gap:"0.5rem",alignItems:"center"},children:[(0,t.jsxs)("select",{onChange:e=>{eH(e.target.value||null)},value:e_||"",style:{backgroundColor:"#080c14",border:"1px solid var(--border)",borderRadius:"4px",padding:"0.2rem 0.5rem",color:"var(--foreground)",fontSize:"0.7rem",outline:"none",cursor:"pointer"},children:[(0,t.jsx)("option",{value:"",children:"🖥️ Single Terminal"}),er.filter(t=>t.id!==e&&"running"===t.status).map(e=>(0,t.jsxs)("option",{value:e.id,children:["🖥️|🖥️ Split: ",e.name]},e.id))]}),(0,t.jsx)("button",{onClick:async()=>{await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,command:"/ccc"})})},style:R,children:"🚀 Mount Context (/ccc)"}),(0,t.jsx)("button",{onClick:async()=>{await fetch("/api/sessions/inject",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({id:e,command:"/ccp"})})},style:P,children:"⚡ Trigger Prompt (/ccp)"})]})]}),(0,t.jsxs)("div",{style:X,children:[(0,t.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--muted)",textTransform:"uppercase",letterSpacing:"0.05em",fontWeight:700},children:"Quick Commands:"}),(0,t.jsxs)("div",{style:{display:"flex",gap:"0.35rem",flexWrap:"wrap",alignItems:"center"},children:[eQ?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>eG("/undo"),style:G,title:"Aider: undo last commit",children:"/undo"}),(0,t.jsx)("button",{onClick:()=>eG("/diff"),style:G,title:"Aider: show git diff",children:"/diff"}),(0,t.jsx)("button",{onClick:()=>eG("/commit"),style:G,title:"Aider: commit edits",children:"/commit"}),(0,t.jsx)("button",{onClick:()=>eG("/test"),style:G,title:"Aider: run tests",children:"/test"}),(0,t.jsx)("button",{onClick:()=>eG("/clear"),style:G,title:"Clear terminal screen",children:"/clear"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("button",{onClick:()=>eG("/compact"),style:G,title:"Claude Code: compact history",children:"/compact"}),(0,t.jsx)("button",{onClick:()=>eG("/history"),style:G,title:"Claude Code: view history",children:"/history"}),(0,t.jsx)("button",{onClick:()=>eG("/reset"),style:G,title:"Claude Code: reset conversation",children:"/reset"}),(0,t.jsx)("button",{onClick:()=>eG("/help"),style:G,title:"Claude Code: show help",children:"/help"})]}),eU.map((e,r)=>(0,t.jsx)("button",{onClick:()=>eG(e.command),style:{...G,borderColor:"rgba(168, 85, 247, 0.4)",color:"#c084fc"},title:`Inject command: ${e.command}`,children:e.name},r))]})]}),(0,t.jsxs)("div",{style:{...F,display:"flex",width:"100%",height:"100%"},children:[(0,t.jsx)("div",{style:{flex:1,height:"100%",borderRight:e_?"1px solid var(--border)":"none",overflow:"hidden"},children:(0,t.jsx)(o.default,{sessionId:e,height:"100%"})}),e_&&(0,t.jsxs)("div",{style:{flex:1,height:"100%",overflow:"hidden",display:"flex",flexDirection:"column"},children:[(0,t.jsxs)("div",{style:{padding:"0.25rem 0.5rem",backgroundColor:"#030406",fontSize:"0.7rem",borderBottom:"1px solid var(--border)",display:"flex",justifyContent:"space-between",alignItems:"center"},children:[(0,t.jsxs)("span",{style:{color:"#a855f7",fontWeight:600},children:["🔗 Focused PTY Connection: ",er.find(e=>e.id===e_)?.name]}),(0,t.jsx)("button",{onClick:()=>eH(null),style:{background:"none",border:"none",color:"var(--danger)",cursor:"pointer",fontSize:"0.7rem"},children:"Close Split ✖"})]}),(0,t.jsx)("div",{style:{flex:1,overflow:"hidden"},children:(0,t.jsx)(o.default,{sessionId:e_,height:"100%"})})]})]})]})]}),eq.type&&(0,t.jsx)("div",{style:W,children:(0,t.jsxs)("div",{style:L,children:[(0,t.jsxs)("h3",{style:{margin:"0 0 1rem 0",fontSize:"1rem",fontWeight:600},children:["create-file"===eq.type&&"Create New File","create-folder"===eq.type&&"Create New Folder","rename"===eq.type&&"Rename Item","delete"===eq.type&&"Confirm Deletion"]}),eq.error&&(0,t.jsxs)("div",{style:{color:"var(--danger)",fontSize:"0.8rem",marginBottom:"1rem"},children:["⚠️ ",eq.error]}),"delete"!==eq.type?(0,t.jsxs)("form",{onSubmit:tr,children:[(0,t.jsxs)("div",{style:{marginBottom:"0.5rem",fontSize:"0.75rem",color:"var(--muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:eq.targetPath||"",children:["Target: ",eq.targetPath]}),(0,t.jsx)("input",{type:"text",value:eq.inputValue,onChange:e=>eZ({...eq,inputValue:e.target.value}),style:O,autoFocus:!0,placeholder:"rename"===eq.type?"Enter new name":"Enter name"}),(0,t.jsxs)("div",{style:D,children:[(0,t.jsx)("button",{type:"button",onClick:()=>eZ({type:null,targetPath:null,inputValue:"",error:null}),style:E,children:"Cancel"}),(0,t.jsx)("button",{type:"submit",style:M,children:"Submit"})]})]}):(0,t.jsxs)("div",{children:[(0,t.jsxs)("div",{style:{fontSize:"0.85rem",marginBottom:"1.5rem",color:"var(--muted)",overflowWrap:"break-word"},children:["Are you sure you want to delete this item? This action is permanent.",(0,t.jsx)("div",{style:{marginTop:"0.5rem",color:"#e2e8f0",fontFamily:"var(--font-mono)",fontSize:"0.75rem",background:"rgba(255,255,255,0.05)",padding:"0.5rem",borderRadius:"4px"},children:eq.targetPath})]}),(0,t.jsxs)("div",{style:D,children:[(0,t.jsx)("button",{type:"button",onClick:()=>eZ({type:null,targetPath:null,inputValue:"",error:null}),style:E,children:"Cancel"}),(0,t.jsx)("button",{onClick:()=>tr(),style:{...M,backgroundColor:"var(--danger)"},children:"Delete Permanently"})]})]})]})}),e0&&(0,t.jsx)("div",{style:N,onClick:()=>e5(!1),children:(0,t.jsxs)("div",{style:U,onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("input",{type:"text",value:e1,onChange:e=>{e2(e.target.value),e3(0)},onKeyDown:e=>{"ArrowDown"===e.key?(e.preventDefault(),e3(e=>(e+1)%Math.max(1,ts.length))):"ArrowUp"===e.key?(e.preventDefault(),e3(e=>(e-1+ts.length)%Math.max(1,ts.length))):"Enter"===e.key?(e.preventDefault(),ts[e6]&&(tn(ts[e6].path),e5(!1))):"Escape"===e.key&&(e.preventDefault(),e5(!1))},placeholder:"Search files by name or path...",style:$,autoFocus:!0}),(0,t.jsx)("div",{style:A,children:ts.length>0?ts.map((e,r)=>(0,t.jsxs)("div",{onClick:()=>{tn(e.path),e5(!1)},style:{...V,backgroundColor:r===e6?"rgba(168, 85, 247, 0.15)":"transparent",borderLeft:r===e6?"3px solid var(--primary)":"3px solid transparent"},children:[(0,t.jsx)("span",{style:{fontSize:"0.85rem",fontWeight:600},children:e.name}),(0,t.jsx)("span",{style:{fontSize:"0.7rem",color:"var(--muted)",marginLeft:"0.5rem",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:e.relativePath})]},e.path)):(0,t.jsx)("div",{style:{padding:"0.75rem 1rem",color:"var(--muted)",fontSize:"0.8rem",textAlign:"center"},children:"No matching files found"})}),(0,t.jsx)("div",{style:{padding:"0.5rem 1rem",borderTop:"1px solid var(--border)",fontSize:"0.65rem",color:"var(--muted)",textAlign:"right"},children:"Use ↑↓ to navigate, Enter to select, Esc to close"})]})}),ec&&(0,t.jsx)(n.default,{title:"Add Scoped Directory",initialPath:Z,onClose:()=>ep(!1),onSelect:e=>{em(e),ep(!1)}})]})}])},97722,e=>{e.n(e.i(3839))}]);