@surenkid/acli-hub 1.0.5 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@surenkid/acli-hub",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "Web workbench for AI CLIs — run Claude Code, Codex, Kimi and more in your browser (ttyd + tmux)",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -1,2 +1,2 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/core-DchA7RCO.js","assets/_commonjsHelpers-Cpj98o6Y.js","assets/mammoth.browser-C_M0wsD2.js"])))=>i.map(i=>d[i]);
2
- import{e as H,_ as e,a as S,u as U,r as u,p as N,o as K,b as G,c as t,d as J,f as i,t as c,g as $,h as I,i as z,n as Q,j as s,k as V,F as D,l as B,w as W,T as X,s as q,m as Y,q as Z,v as ee}from"./index-DjL_u17Y.js";const te={javascript:()=>e(()=>import("./javascript-DUNaicwC.js"),[]),typescript:()=>e(()=>import("./typescript-5pldp2kO.js"),[]),xml:()=>e(()=>import("./xml-FcirFJJ2.js"),[]),css:()=>e(()=>import("./css-AVCICof-.js"),[]),scss:()=>e(()=>import("./scss-UZl0Ag-9.js"),[]),json:()=>e(()=>import("./json-DdsocbVI.js"),[]),python:()=>e(()=>import("./python-CXf-_D6G.js"),[]),bash:()=>e(()=>import("./bash-I8pq0VWm.js"),[]),yaml:()=>e(()=>import("./yaml-drsDnIKT.js"),[]),ini:()=>e(()=>import("./ini-B3BVgEsG.js"),[]),markdown:()=>e(()=>import("./markdown-fzgiUVUV.js"),[]),go:()=>e(()=>import("./go-4VmnRw3R.js"),[]),rust:()=>e(()=>import("./rust-DsMvwcVK.js"),[]),java:()=>e(()=>import("./java-DUnkFH8J.js"),[]),c:()=>e(()=>import("./c-D87IyN5J.js"),[]),cpp:()=>e(()=>import("./cpp-BFCWVspj.js"),[]),csharp:()=>e(()=>import("./csharp-D-6syieo.js"),[]),ruby:()=>e(()=>import("./ruby-CcVTKuP4.js"),[]),php:()=>e(()=>import("./php-kjAv1gW4.js"),[]),sql:()=>e(()=>import("./sql-BC88IN-V.js"),[]),swift:()=>e(()=>import("./swift-jkyvy0ac.js"),[]),kotlin:()=>e(()=>import("./kotlin-Za0-TyUR.js"),[]),lua:()=>e(()=>import("./lua-CD7o2Ci6.js"),[]),perl:()=>e(()=>import("./perl-BWtAWCfC.js"),[]),r:()=>e(()=>import("./r-DWz4c2Y4.js"),[]),dart:()=>e(()=>import("./dart-DbQNmsdu.js"),[]),dockerfile:()=>e(()=>import("./dockerfile-Co-AyC30.js"),[]),makefile:()=>e(()=>import("./makefile-BoJC05FH.js"),[]),diff:()=>e(()=>import("./diff-BLTryEFx.js"),[]),plaintext:()=>e(()=>import("./plaintext-CPM70vnn.js"),[])},se={js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",vue:"xml",svelte:"xml",html:"xml",htm:"xml",xml:"xml",svg:"xml",css:"css",scss:"scss",sass:"scss",less:"css",json:"json",jsonc:"json",py:"python",sh:"bash",zsh:"bash",bash:"bash",fish:"bash",yml:"yaml",yaml:"yaml",toml:"ini",ini:"ini",cfg:"ini",conf:"ini",md:"markdown",markdown:"markdown",go:"go",rs:"rust",java:"java",c:"c",h:"c",cpp:"cpp",cc:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",sql:"sql",swift:"swift",kt:"kotlin",kts:"kotlin",lua:"lua",pl:"perl",r:"r",dart:"dart",diff:"diff",patch:"diff"};async function ae(r,k){if(new TextEncoder().encode(r).length>200*1024)return null;const d=k.toLowerCase(),_=d==="dockerfile"?"dockerfile":d==="makefile"?"makefile":se[H(k)];if(!_)return null;const[{default:h},{default:y}]=await Promise.all([e(()=>import("./core-DchA7RCO.js"),__vite__mapDeps([0,1])),te[_]()]);return h.getLanguage(_)||h.registerLanguage(_,y),h.highlight(r,{language:_,ignoreIllegals:!0}).value}const oe={class:"preview-layout"},re={class:"preview-header"},le={class:"preview-heading"},ie={id:"preview-title"},ne=["title"],ue=["href","download"],_e={key:0,class:"preview-message",role:"status"},ce={key:1,class:"preview-message error",role:"alert"},de={key:0,class:"preview-note"},ve={key:0,class:"preview-note"},me={class:"source"},pe=["innerHTML"],fe={key:1},he=["innerHTML"],ye=["srcdoc","title"],Ee=["src","alt"],we=["src"],ge=["src"],ke=["src","title"],be={key:8,class:"table-preview"},Te={class:"preview-note"},Le={class:"row-number"},De={key:9,class:"preview-message"},Pe={__name:"PreviewDialog",props:{entry:{type:Object,required:!0}},emits:["close"],setup(r,{emit:k}){const d=r,_=k,h=U(),y=u(null),a=u(N(d.entry.name)),P=u(!1),f=u(""),v=u(""),A=u(null),E=u(""),w=u([]),b=u(1e3),O=u(!1),g=ee(()=>z(d.entry.path)),R=new AbortController;let x;async function j(n){if(d.entry.size>n)throw new Error(`预览上限为 ${I(n)},请下载文件查看。`);const l=(await h.apiRequest(g.value,{signal:R.signal})).body.getReader(),m=[];let p=0;try{for(;;){const{done:L,value:M}=await l.read();if(L)break;if(p+=M.length,p>n)throw new Error(`预览上限为 ${I(n)},请下载文件查看。`);m.push(M)}}finally{await l.cancel().catch(()=>{})}const T=new Uint8Array(p);let C=0;for(const L of m)T.set(L,C),C+=L.length;return T}async function F(){if(["text","markdown","html","docx","table"].includes(a.value)){P.value=!0;try{if(a.value==="docx"){const n=await j(10485760),{default:o}=await e(async()=>{const{default:m}=await import("./mammoth.browser-C_M0wsD2.js").then(p=>p.m);return{default:m}},__vite__mapDeps([2,1])),l=await o.convertToHtml({arrayBuffer:n.buffer},{externalFileAccess:!1});E.value=q(l.value)}else{if(v.value=new TextDecoder().decode(await j(2*1024*1024)),v.value.includes("\0")){a.value="unsupported";return}if(a.value==="html")E.value=q(v.value);else if(a.value==="markdown")E.value=await Y(v.value);else if(a.value==="table"){const n=await Z(v.value,d.entry.name);n?w.value=n:(O.value=!0,a.value="text")}a.value==="text"&&(A.value=await ae(v.value,d.entry.name).catch(()=>null))}}catch(n){R.signal.aborted||(f.value=n.message)}finally{P.value=!1}}}return K(()=>{x=document.activeElement,y.value.showModal(),F()}),G(()=>{R.abort(),x?.focus()}),(n,o)=>(t(),J(X,{to:"body"},[i("dialog",{ref_key:"dialog",ref:y,class:"preview-dialog","aria-labelledby":"preview-title",onCancel:o[5]||(o[5]=W(l=>_("close"),["prevent"])),onClick:o[6]||(o[6]=l=>{l.target===y.value&&_("close")})},[i("div",oe,[i("header",re,[i("div",le,[i("h3",ie,c(r.entry.name),1),i("p",{title:r.entry.path},c(r.entry.path)+" · "+c($(I)(r.entry.size)),9,ne)]),i("a",{class:"btn",href:$(z)(r.entry.path,!0),download:r.entry.name},"下载",8,ue),i("button",{class:"close","aria-label":"关闭预览",autofocus:"",onClick:o[0]||(o[0]=l=>_("close"))},"×")]),i("main",{class:Q(["preview-body",{"frame-body":["html","docx","pdf"].includes(a.value)}])},[P.value?(t(),s("p",_e,"加载预览…")):f.value?(t(),s("p",ce,c(f.value),1)):(t(),s(D,{key:2},[O.value?(t(),s("p",de,"表格解析失败,已显示原始文本。")):V("",!0),a.value==="text"?(t(),s(D,{key:1},[r.entry.size>200*1024?(t(),s("p",ve,"文件超过 200 KiB,已使用纯文本预览。")):V("",!0),i("pre",me,[A.value!==null?(t(),s("code",{key:0,class:"hljs",innerHTML:A.value},null,8,pe)):(t(),s("code",fe,c(v.value),1))])],64)):a.value==="markdown"?(t(),s("article",{key:2,class:"markdown-body",innerHTML:E.value},null,8,he)):a.value==="html"||a.value==="docx"?(t(),s("iframe",{key:3,srcdoc:E.value,sandbox:"allow-scripts",referrerpolicy:"no-referrer",title:r.entry.name,class:"document-frame"},null,8,ye)):a.value==="image"?(t(),s("img",{key:4,src:g.value,alt:r.entry.name,class:"image-preview",onError:o[1]||(o[1]=l=>f.value="浏览器无法显示这张图片,请下载查看。")},null,40,Ee)):a.value==="audio"?(t(),s("audio",{key:5,src:g.value,controls:"",class:"media-preview",onError:o[2]||(o[2]=l=>f.value="浏览器不支持此音频格式,请下载查看。")},null,40,we)):a.value==="video"?(t(),s("video",{key:6,src:g.value,controls:"",playsinline:"",class:"media-preview",onError:o[3]||(o[3]=l=>f.value="浏览器不支持此视频格式,请下载查看。")},null,40,ge)):a.value==="pdf"?(t(),s("iframe",{key:7,src:g.value,title:r.entry.name,class:"document-frame"},null,8,ke)):a.value==="table"?(t(),s("div",be,[i("p",Te,"已显示 "+c(Math.min(b.value,w.value.length))+" / "+c(w.value.length)+" 行",1),i("table",null,[i("tbody",null,[(t(!0),s(D,null,B(w.value.slice(0,b.value),(l,m)=>(t(),s("tr",{key:m},[i("td",Le,c(m+1),1),(t(!0),s(D,null,B(l,(p,T)=>(t(),s("td",{key:T},c(p),1))),128))]))),128))])]),b.value<w.value.length?(t(),s("button",{key:0,class:"btn btn-primary show-more",onClick:o[4]||(o[4]=l=>b.value+=1e3)},"显示更多(1000 行)")):V("",!0)])):(t(),s("p",De,"此文件类型暂不支持预览,请下载查看。"))],64))],2)])],544)]))}},Re=S(Pe,[["__scopeId","data-v-c613172c"]]);export{Re as default};
2
+ import{e as H,_ as e,a as S,u as U,r as u,p as N,o as K,b as G,c as t,d as J,f as i,t as c,g as $,h as I,i as z,n as Q,j as s,k as V,F as D,l as B,w as W,T as X,s as q,m as Y,q as Z,v as ee}from"./index-DhBFQikm.js";const te={javascript:()=>e(()=>import("./javascript-DUNaicwC.js"),[]),typescript:()=>e(()=>import("./typescript-5pldp2kO.js"),[]),xml:()=>e(()=>import("./xml-FcirFJJ2.js"),[]),css:()=>e(()=>import("./css-AVCICof-.js"),[]),scss:()=>e(()=>import("./scss-UZl0Ag-9.js"),[]),json:()=>e(()=>import("./json-DdsocbVI.js"),[]),python:()=>e(()=>import("./python-CXf-_D6G.js"),[]),bash:()=>e(()=>import("./bash-I8pq0VWm.js"),[]),yaml:()=>e(()=>import("./yaml-drsDnIKT.js"),[]),ini:()=>e(()=>import("./ini-B3BVgEsG.js"),[]),markdown:()=>e(()=>import("./markdown-fzgiUVUV.js"),[]),go:()=>e(()=>import("./go-4VmnRw3R.js"),[]),rust:()=>e(()=>import("./rust-DsMvwcVK.js"),[]),java:()=>e(()=>import("./java-DUnkFH8J.js"),[]),c:()=>e(()=>import("./c-D87IyN5J.js"),[]),cpp:()=>e(()=>import("./cpp-BFCWVspj.js"),[]),csharp:()=>e(()=>import("./csharp-D-6syieo.js"),[]),ruby:()=>e(()=>import("./ruby-CcVTKuP4.js"),[]),php:()=>e(()=>import("./php-kjAv1gW4.js"),[]),sql:()=>e(()=>import("./sql-BC88IN-V.js"),[]),swift:()=>e(()=>import("./swift-jkyvy0ac.js"),[]),kotlin:()=>e(()=>import("./kotlin-Za0-TyUR.js"),[]),lua:()=>e(()=>import("./lua-CD7o2Ci6.js"),[]),perl:()=>e(()=>import("./perl-BWtAWCfC.js"),[]),r:()=>e(()=>import("./r-DWz4c2Y4.js"),[]),dart:()=>e(()=>import("./dart-DbQNmsdu.js"),[]),dockerfile:()=>e(()=>import("./dockerfile-Co-AyC30.js"),[]),makefile:()=>e(()=>import("./makefile-BoJC05FH.js"),[]),diff:()=>e(()=>import("./diff-BLTryEFx.js"),[]),plaintext:()=>e(()=>import("./plaintext-CPM70vnn.js"),[])},se={js:"javascript",mjs:"javascript",cjs:"javascript",jsx:"javascript",ts:"typescript",tsx:"typescript",vue:"xml",svelte:"xml",html:"xml",htm:"xml",xml:"xml",svg:"xml",css:"css",scss:"scss",sass:"scss",less:"css",json:"json",jsonc:"json",py:"python",sh:"bash",zsh:"bash",bash:"bash",fish:"bash",yml:"yaml",yaml:"yaml",toml:"ini",ini:"ini",cfg:"ini",conf:"ini",md:"markdown",markdown:"markdown",go:"go",rs:"rust",java:"java",c:"c",h:"c",cpp:"cpp",cc:"cpp",hpp:"cpp",cs:"csharp",rb:"ruby",php:"php",sql:"sql",swift:"swift",kt:"kotlin",kts:"kotlin",lua:"lua",pl:"perl",r:"r",dart:"dart",diff:"diff",patch:"diff"};async function ae(r,k){if(new TextEncoder().encode(r).length>200*1024)return null;const d=k.toLowerCase(),_=d==="dockerfile"?"dockerfile":d==="makefile"?"makefile":se[H(k)];if(!_)return null;const[{default:h},{default:y}]=await Promise.all([e(()=>import("./core-DchA7RCO.js"),__vite__mapDeps([0,1])),te[_]()]);return h.getLanguage(_)||h.registerLanguage(_,y),h.highlight(r,{language:_,ignoreIllegals:!0}).value}const oe={class:"preview-layout"},re={class:"preview-header"},le={class:"preview-heading"},ie={id:"preview-title"},ne=["title"],ue=["href","download"],_e={key:0,class:"preview-message",role:"status"},ce={key:1,class:"preview-message error",role:"alert"},de={key:0,class:"preview-note"},ve={key:0,class:"preview-note"},me={class:"source"},pe=["innerHTML"],fe={key:1},he=["innerHTML"],ye=["srcdoc","title"],Ee=["src","alt"],we=["src"],ge=["src"],ke=["src","title"],be={key:8,class:"table-preview"},Te={class:"preview-note"},Le={class:"row-number"},De={key:9,class:"preview-message"},Pe={__name:"PreviewDialog",props:{entry:{type:Object,required:!0}},emits:["close"],setup(r,{emit:k}){const d=r,_=k,h=U(),y=u(null),a=u(N(d.entry.name)),P=u(!1),f=u(""),v=u(""),A=u(null),E=u(""),w=u([]),b=u(1e3),O=u(!1),g=ee(()=>z(d.entry.path)),R=new AbortController;let x;async function j(n){if(d.entry.size>n)throw new Error(`预览上限为 ${I(n)},请下载文件查看。`);const l=(await h.apiRequest(g.value,{signal:R.signal})).body.getReader(),m=[];let p=0;try{for(;;){const{done:L,value:M}=await l.read();if(L)break;if(p+=M.length,p>n)throw new Error(`预览上限为 ${I(n)},请下载文件查看。`);m.push(M)}}finally{await l.cancel().catch(()=>{})}const T=new Uint8Array(p);let C=0;for(const L of m)T.set(L,C),C+=L.length;return T}async function F(){if(["text","markdown","html","docx","table"].includes(a.value)){P.value=!0;try{if(a.value==="docx"){const n=await j(10485760),{default:o}=await e(async()=>{const{default:m}=await import("./mammoth.browser-C_M0wsD2.js").then(p=>p.m);return{default:m}},__vite__mapDeps([2,1])),l=await o.convertToHtml({arrayBuffer:n.buffer},{externalFileAccess:!1});E.value=q(l.value)}else{if(v.value=new TextDecoder().decode(await j(2*1024*1024)),v.value.includes("\0")){a.value="unsupported";return}if(a.value==="html")E.value=q(v.value);else if(a.value==="markdown")E.value=await Y(v.value);else if(a.value==="table"){const n=await Z(v.value,d.entry.name);n?w.value=n:(O.value=!0,a.value="text")}a.value==="text"&&(A.value=await ae(v.value,d.entry.name).catch(()=>null))}}catch(n){R.signal.aborted||(f.value=n.message)}finally{P.value=!1}}}return K(()=>{x=document.activeElement,y.value.showModal(),F()}),G(()=>{R.abort(),x?.focus()}),(n,o)=>(t(),J(X,{to:"body"},[i("dialog",{ref_key:"dialog",ref:y,class:"preview-dialog","aria-labelledby":"preview-title",onCancel:o[5]||(o[5]=W(l=>_("close"),["prevent"])),onClick:o[6]||(o[6]=l=>{l.target===y.value&&_("close")})},[i("div",oe,[i("header",re,[i("div",le,[i("h3",ie,c(r.entry.name),1),i("p",{title:r.entry.path},c(r.entry.path)+" · "+c($(I)(r.entry.size)),9,ne)]),i("a",{class:"btn",href:$(z)(r.entry.path,!0),download:r.entry.name},"下载",8,ue),i("button",{class:"close","aria-label":"关闭预览",autofocus:"",onClick:o[0]||(o[0]=l=>_("close"))},"×")]),i("main",{class:Q(["preview-body",{"frame-body":["html","docx","pdf"].includes(a.value)}])},[P.value?(t(),s("p",_e,"加载预览…")):f.value?(t(),s("p",ce,c(f.value),1)):(t(),s(D,{key:2},[O.value?(t(),s("p",de,"表格解析失败,已显示原始文本。")):V("",!0),a.value==="text"?(t(),s(D,{key:1},[r.entry.size>200*1024?(t(),s("p",ve,"文件超过 200 KiB,已使用纯文本预览。")):V("",!0),i("pre",me,[A.value!==null?(t(),s("code",{key:0,class:"hljs",innerHTML:A.value},null,8,pe)):(t(),s("code",fe,c(v.value),1))])],64)):a.value==="markdown"?(t(),s("article",{key:2,class:"markdown-body",innerHTML:E.value},null,8,he)):a.value==="html"||a.value==="docx"?(t(),s("iframe",{key:3,srcdoc:E.value,sandbox:"allow-scripts",referrerpolicy:"no-referrer",title:r.entry.name,class:"document-frame"},null,8,ye)):a.value==="image"?(t(),s("img",{key:4,src:g.value,alt:r.entry.name,class:"image-preview",onError:o[1]||(o[1]=l=>f.value="浏览器无法显示这张图片,请下载查看。")},null,40,Ee)):a.value==="audio"?(t(),s("audio",{key:5,src:g.value,controls:"",class:"media-preview",onError:o[2]||(o[2]=l=>f.value="浏览器不支持此音频格式,请下载查看。")},null,40,we)):a.value==="video"?(t(),s("video",{key:6,src:g.value,controls:"",playsinline:"",class:"media-preview",onError:o[3]||(o[3]=l=>f.value="浏览器不支持此视频格式,请下载查看。")},null,40,ge)):a.value==="pdf"?(t(),s("iframe",{key:7,src:g.value,title:r.entry.name,class:"document-frame"},null,8,ke)):a.value==="table"?(t(),s("div",be,[i("p",Te,"已显示 "+c(Math.min(b.value,w.value.length))+" / "+c(w.value.length)+" 行",1),i("table",null,[i("tbody",null,[(t(!0),s(D,null,B(w.value.slice(0,b.value),(l,m)=>(t(),s("tr",{key:m},[i("td",Le,c(m+1),1),(t(!0),s(D,null,B(l,(p,T)=>(t(),s("td",{key:T},c(p),1))),128))]))),128))])]),b.value<w.value.length?(t(),s("button",{key:0,class:"btn btn-primary show-more",onClick:o[4]||(o[4]=l=>b.value+=1e3)},"显示更多(1000 行)")):V("",!0)])):(t(),s("p",De,"此文件类型暂不支持预览,请下载查看。"))],64))],2)])],544)]))}},Re=S(Pe,[["__scopeId","data-v-c613172c"]]);export{Re as default};
@@ -0,0 +1 @@
1
+ :root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--bg-card-hover: #334155;--border-color: #334155;--border-color-hover: #475569;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-tertiary: #64748b;--accent-primary: #3b82f6;--accent-hover: #2563eb;--accent-dim: rgba(59, 130, 246, .15);--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--sidebar-width: 260px;--sidebar-collapsed-width: 0px;--toolbar-height: 56px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1)}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol;background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}#app{height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.glass{background:#1e293bb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all .2s;border:1px solid transparent;outline:none}.btn-primary{background:var(--accent-primary);color:#fff}.btn-primary:hover{background:var(--accent-hover)}input{background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:var(--radius-md);outline:none;transition:border-color .2s}input:focus{border-color:var(--accent-primary)}.session-card[data-v-0e38e5ff]{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;border:1px solid transparent;color:var(--text-secondary)}.session-card[data-v-0e38e5ff]:hover{background:var(--bg-card-hover);color:var(--text-primary)}.session-card.active[data-v-0e38e5ff]{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.status-indicator[data-v-0e38e5ff]{width:8px;height:8px;border-radius:50%;background:var(--text-tertiary);flex-shrink:0}.status-indicator.running[data-v-0e38e5ff]{background:var(--success);box-shadow:0 0 8px #10b98166}.status-indicator.running.output-active[data-v-0e38e5ff]{background:var(--warning);box-shadow:0 0 8px #f59e0b66}.card-content[data-v-0e38e5ff]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.card-top[data-v-0e38e5ff]{display:flex;align-items:center;gap:4px}.session-name[data-v-0e38e5ff]{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;display:flex;align-items:baseline;gap:6px}.alias-text[data-v-0e38e5ff]{overflow:hidden;text-overflow:ellipsis}.real-name[data-v-0e38e5ff]{flex-shrink:1;max-width:45%;overflow:hidden;text-overflow:ellipsis;font-size:11px;font-weight:400;color:var(--text-tertiary)}.alias-input[data-v-0e38e5ff]{flex:1;min-width:0;padding:2px 6px;font-size:13px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;outline:none}.alias-input[data-v-0e38e5ff]:focus{border-color:var(--accent-primary, #3b82f6)}.close-btn[data-v-0e38e5ff]{display:none;align-items:center;justify-content:center;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:2px;border-radius:4px;flex-shrink:0}.session-card:hover .close-btn[data-v-0e38e5ff]{display:flex}.close-btn[data-v-0e38e5ff]:hover{background:var(--bg-tertiary);color:var(--danger)}.session-info[data-v-0e38e5ff]{display:flex;align-items:baseline;gap:8px;font-size:11px;color:var(--text-tertiary)}.pane-title[data-v-0e38e5ff]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.confirm-bar[data-v-0e38e5ff]{display:flex;align-items:center;gap:6px;font-size:12px}.confirm-text[data-v-0e38e5ff]{color:var(--danger);font-weight:500}.confirm-yes[data-v-0e38e5ff],.confirm-no[data-v-0e38e5ff]{background:none;border:1px solid var(--border-color);border-radius:4px;padding:1px 8px;font-size:11px;cursor:pointer;color:var(--text-secondary)}.confirm-yes[data-v-0e38e5ff]:hover{background:var(--danger);border-color:var(--danger);color:#fff}.confirm-no[data-v-0e38e5ff]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.session-card.collapsed[data-v-0e38e5ff]{justify-content:center;padding:12px}.session-card.collapsed .status-indicator[data-v-0e38e5ff]{width:10px;height:10px}li[data-v-7822209d]{list-style:none}.tree-row[data-v-7822209d]{display:flex;align-items:center;gap:5px;min-height:31px;padding:2px 6px;cursor:pointer;border-radius:3px;outline-offset:-2px}.tree-row[data-v-7822209d]:hover,.tree-row[data-v-7822209d]:focus-visible{background:var(--bg-tertiary)}.chevron[data-v-7822209d]{flex:0 0 10px;color:var(--text-secondary)}.file-icon[data-v-7822209d]{color:var(--text-secondary);font-size:18px;width:15px}.filename[data-v-7822209d]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px}.dotfile[data-v-7822209d]{opacity:.55}.more[data-v-7822209d]{background:transparent;color:var(--text-secondary);border:none;cursor:pointer;padding:0 4px;font-size:18px;opacity:0}.tree-row:hover .more[data-v-7822209d],.tree-row:focus-within .more[data-v-7822209d]{opacity:1}.tree-children[data-v-7822209d]{margin-left:14px;padding-left:5px;border-left:1px solid var(--border-color)}.tree-status[data-v-7822209d]{padding:5px 10px;color:var(--text-secondary);font-size:12px;overflow-wrap:anywhere}.tree-status button[data-v-7822209d]{background:none;color:var(--text-primary);border:none;cursor:pointer;text-decoration:underline}.error[data-v-7822209d]{color:var(--danger)}@media(hover:none){.more[data-v-7822209d]{opacity:1}}.file-dialog[data-v-5ceee09a]{margin:auto;width:min(480px,calc(100vw - 32px));max-height:calc(100dvh - 40px);overflow:auto;padding:24px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.file-dialog[data-v-5ceee09a]::backdrop{background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}p[data-v-5ceee09a]{margin:12px 0;color:var(--text-secondary)}.operation-path[data-v-5ceee09a]{overflow-wrap:anywhere;font:12px/1.6 monospace}label[data-v-5ceee09a]{display:flex;flex-direction:column;gap:8px}.dialog-actions[data-v-5ceee09a]{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}.btn[data-v-5ceee09a]{background:var(--bg-tertiary);color:var(--text-primary)}.btn-primary[data-v-5ceee09a]{background:var(--accent-primary)}.delete-btn[data-v-5ceee09a]{background:var(--danger);color:#fff}.error[data-v-5ceee09a]{color:var(--danger)}button[data-v-5ceee09a]:disabled{opacity:.5;cursor:default}.clipboard-overlay[data-v-317cb3e2]{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.clipboard-dialog[data-v-317cb3e2]{width:min(520px,calc(100vw - 32px));padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}h3[data-v-317cb3e2]{font-size:16px}p[data-v-317cb3e2]{margin:12px 0;color:var(--text-secondary)}textarea[data-v-317cb3e2]{width:100%;height:180px;resize:vertical;padding:12px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);font:13px/1.5 monospace}textarea[data-v-317cb3e2]:focus{outline:2px solid var(--accent-primary);outline-offset:2px}.clipboard-actions[data-v-317cb3e2]{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}button[type=button][data-v-317cb3e2]{color:var(--text-primary);background:var(--bg-tertiary)}button[data-v-317cb3e2]:disabled{opacity:.5;cursor:default}.file-panel[data-v-b1b08d94]{display:flex;flex-direction:column;min-height:0;flex:1}.file-toolbar[data-v-b1b08d94]{display:flex;align-items:center;gap:4px;padding:10px 12px 4px}.project-name[data-v-b1b08d94]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600}.file-toolbar button[data-v-b1b08d94],.panel-hint button[data-v-b1b08d94]{border:none;background:transparent;color:var(--text-secondary);padding:3px 5px;cursor:pointer;font-size:17px}.file-toolbar button[data-v-b1b08d94]:hover{background:var(--bg-tertiary);border-radius:4px}button[data-v-b1b08d94]:disabled{opacity:.4;cursor:default}.root-path[data-v-b1b08d94]{color:var(--text-secondary);font:11px/1.6 monospace;overflow-wrap:anywhere;padding:0 12px 10px;border-bottom:1px solid var(--border-color)}.file-tree[data-v-b1b08d94]{overflow:auto;padding:6px;flex:1;min-height:0}.panel-hint[data-v-b1b08d94]{padding:12px;color:var(--text-secondary);font-size:12px;list-style:none;overflow-wrap:anywhere}.error[data-v-b1b08d94]{color:var(--danger)}.file-menu[data-v-b1b08d94]{position:fixed;z-index:110;width:min(230px,calc(100vw - 16px));padding:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.file-menu button[data-v-b1b08d94]{display:flex;justify-content:space-between;width:100%;text-align:left;padding:8px 10px;background:none;color:var(--text-primary);border:none;border-radius:4px;cursor:pointer}.file-menu button[data-v-b1b08d94]:hover:not(:disabled),.file-menu button[data-v-b1b08d94]:focus-visible{background:var(--bg-tertiary)}.file-menu span[data-v-b1b08d94]{color:var(--text-secondary)}.file-menu .danger[data-v-b1b08d94]{color:var(--danger)}.sidebar[data-v-b8faf56e]{width:var(--sidebar-width);border-right:1px solid var(--border-color);background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;height:100%;z-index:20}.sidebar.collapsed[data-v-b8faf56e]{width:72px}.sidebar-tabs[data-v-b8faf56e]{display:flex;flex-shrink:0;border-bottom:1px solid var(--border-color)}.sidebar-tabs button[data-v-b8faf56e]{flex:1;padding:12px 4px;border:none;border-bottom:2px solid transparent;background:none;color:var(--text-secondary);cursor:pointer;font:inherit;font-size:12px}.sidebar-tabs button[aria-selected=true][data-v-b8faf56e]{border-bottom-color:var(--accent-primary);color:var(--text-primary);background:var(--bg-primary)}.sessions-panel[data-v-b8faf56e],.files-panel[data-v-b8faf56e]{display:flex;flex-direction:column;min-height:0;flex:1}.sidebar-header[data-v-b8faf56e]{padding:16px;border-bottom:1px solid var(--border-color);display:flex;flex-direction:column;gap:12px}.sidebar-title[data-v-b8faf56e]{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);font-weight:600}.new-session-btn[data-v-b8faf56e]{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--accent-primary);color:#fff;border:none;border-radius:var(--radius-md);padding:10px;cursor:pointer;font-weight:500;transition:all .2s}.new-session-btn[data-v-b8faf56e]:hover{background:var(--accent-hover)}.sidebar.collapsed .new-session-btn[data-v-b8faf56e]{padding:10px 0}.session-list[data-v-b8faf56e]{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:4px}.empty-hint[data-v-b8faf56e]{text-align:center;padding:40px 10px;color:var(--text-tertiary)}.empty-hint p[data-v-b8faf56e]{font-size:14px;margin-bottom:4px}.empty-hint .sub-hint[data-v-b8faf56e]{font-size:12px;opacity:.7}@media(max-width:768px){.sidebar[data-v-b8faf56e]{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);transform:translate(0);box-shadow:var(--shadow-md);z-index:50}.sidebar.collapsed[data-v-b8faf56e]{transform:translate(-100%);width:var(--sidebar-width)}}.brand-mark[data-v-f54af403]{display:block;flex-shrink:0;object-fit:contain}.terminal-area[data-v-95819edf]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#000;position:relative}.terminal-frame[data-v-95819edf]{flex:1;width:100%;min-height:0;border:none;background:#000}.terminal-tools[data-v-95819edf]{display:flex;align-items:center;flex-shrink:0;gap:8px;padding:6px 12px;background:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.upload-progress[data-v-95819edf]{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary)}.upload-progress progress[data-v-95819edf]{width:64px;height:4px;accent-color:var(--accent-primary)}.clipboard-btn[data-v-95819edf]{padding:4px 10px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer}.clipboard-btn[data-v-95819edf]:hover:not(:disabled){background:var(--bg-tertiary)}.clipboard-btn[data-v-95819edf]:disabled,.clipboard-menu button[data-v-95819edf]:disabled{opacity:.45;cursor:default}.selection-hint[data-v-95819edf]{color:var(--text-secondary);font-size:12px}.clipboard-menu[data-v-95819edf]{position:fixed;z-index:100;width:min(280px,calc(100vw - 16px));padding:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.clipboard-menu button[data-v-95819edf]{display:flex;justify-content:space-between;width:100%;padding:8px 10px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);text-align:left;cursor:pointer}.clipboard-menu button[data-v-95819edf]:hover:not(:disabled),.clipboard-menu button[data-v-95819edf]:focus-visible{background:var(--bg-tertiary)}.clipboard-menu span[data-v-95819edf],.clipboard-menu p[data-v-95819edf]{color:var(--text-secondary);font-size:12px}.clipboard-menu p[data-v-95819edf]{padding:8px 10px 4px;border-top:1px solid var(--border-color)}@media(max-width:600px){.selection-hint[data-v-95819edf]{display:none}}.welcome__container[data-v-95819edf]{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);background-image:radial-gradient(circle at center,var(--bg-secondary) 0%,var(--bg-primary) 100%)}.welcome__content[data-v-95819edf]{text-align:center;max-width:400px;padding:40px}.welcome-brand[data-v-95819edf]{display:flex;flex-direction:column;align-items:center;gap:12px;margin-bottom:24px}.logo-text[data-v-95819edf]{font-size:32px;font-weight:700;color:var(--text-primary);letter-spacing:-1px}.welcome__text[data-v-95819edf]{color:var(--text-secondary);font-size:16px;margin-bottom:24px}.highlight[data-v-95819edf]{color:var(--text-primary);font-weight:600}.sub-text[data-v-95819edf]{color:var(--text-tertiary);font-size:14px}.modal-overlay[data-v-f9ae44fb]{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-f9ae44fb .2s ease}.modal-content[data-v-f9ae44fb]{width:100%;max-width:400px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin:16px;overflow:hidden;animation:slideUp-f9ae44fb .3s cubic-bezier(.16,1,.3,1)}.modal-header[data-v-f9ae44fb]{padding:16px 20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-f9ae44fb]{font-size:16px;font-weight:600;color:var(--text-primary)}.close-btn[data-v-f9ae44fb]{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:18px;padding:4px;border-radius:4px}.close-btn[data-v-f9ae44fb]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body[data-v-f9ae44fb]{padding:20px;display:flex;flex-direction:column;gap:16px}.form-group[data-v-f9ae44fb]{display:flex;flex-direction:column;gap:8px}.label-text[data-v-f9ae44fb]{font-size:13px;font-weight:500;color:var(--text-secondary)}select[data-v-f9ae44fb],input[data-v-f9ae44fb]{width:100%;background:var(--bg-primary);border:1px solid var(--border-color);color:var(--text-primary);padding:10px;border-radius:var(--radius-md);outline:none;font-size:14px;appearance:none}select[data-v-f9ae44fb]:focus,input[data-v-f9ae44fb]:focus{border-color:var(--accent-primary);box-shadow:0 0 0 2px var(--accent-dim)}.modal-footer[data-v-f9ae44fb]{padding:16px 20px;background:var(--bg-primary);border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}@keyframes fadeIn-f9ae44fb{0%{opacity:0}to{opacity:1}}@keyframes slideUp-f9ae44fb{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.login-screen[data-v-86b6b672]{height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.login-card[data-v-86b6b672]{width:min(360px,calc(100vw - 48px));padding:32px;display:flex;flex-direction:column;align-items:center;gap:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.login-logo[data-v-86b6b672]{display:flex;align-items:center;justify-content:center;width:72px;height:72px}h1[data-v-86b6b672]{font-size:22px;font-weight:600;color:var(--text-primary);letter-spacing:-.5px}.login-hint[data-v-86b6b672]{margin:-4px 0 8px;font-size:13px;color:var(--text-secondary)}input[data-v-86b6b672]{width:100%;padding:10px 12px;font-size:14px;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);outline:none}input[data-v-86b6b672]:focus{border-color:var(--accent-primary, #3b82f6)}.login-error[data-v-86b6b672]{width:100%;margin:0;font-size:13px;color:var(--danger)}.login-btn[data-v-86b6b672]{width:100%;margin-top:4px;padding:10px 12px;font-size:14px;font-weight:500;color:#fff;background:var(--accent-primary, #3b82f6);border:none;border-radius:var(--radius-md);cursor:pointer}.login-btn[data-v-86b6b672]:disabled{opacity:.5;cursor:default}.login-btn[data-v-86b6b672]:not(:disabled):hover{filter:brightness(1.1)}.toast-container[data-v-6bea03ca]{position:fixed;top:60px;right:16px;z-index:200;display:flex;flex-direction:column;gap:8px;max-width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 80px);overflow:auto}.toast[data-v-6bea03ca]{padding:10px 16px;border-radius:8px;font-size:13px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);min-width:200px;background:var(--bg-secondary);display:flex;align-items:flex-start;gap:12px}.toast-message[data-v-6bea03ca]{white-space:pre-wrap;overflow-wrap:anywhere;max-height:35vh;overflow:auto;flex:1}.toast-actions[data-v-6bea03ca]{display:flex;gap:8px;flex-shrink:0}.toast-actions button[data-v-6bea03ca]{border:none;background:transparent;color:inherit;cursor:pointer;font:inherit}.toast.info[data-v-6bea03ca]{background:var(--bg-secondary);color:var(--text-primary)}.toast.error[data-v-6bea03ca]{background:var(--bg-secondary);color:var(--danger)}.toast.success[data-v-6bea03ca]{background:#4ade8026;color:#4ade80}.toast-enter-active[data-v-6bea03ca]{animation:slideIn-6bea03ca .3s ease}.toast-leave-active[data-v-6bea03ca]{animation:slideOut-6bea03ca .3s ease}@keyframes slideIn-6bea03ca{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slideOut-6bea03ca{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.app-layout[data-v-1baffbd3]{height:100vh;display:flex;flex-direction:column}.toolbar[data-v-1baffbd3]{height:var(--toolbar-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color);flex-shrink:0;z-index:30;background:var(--bg-primary)}.toolbar-left[data-v-1baffbd3]{display:flex;align-items:center;gap:12px}.toggle-btn[data-v-1baffbd3]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.toggle-btn[data-v-1baffbd3]:hover{color:var(--text-primary);background:var(--bg-tertiary)}.logo-wrapper[data-v-1baffbd3]{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toolbar-title[data-v-1baffbd3]{font-size:16px;font-weight:600;color:var(--text-primary);letter-spacing:-.5px}.main-area[data-v-1baffbd3]{flex:1;display:flex;overflow:hidden;position:relative}.sidebar-overlay[data-v-1baffbd3]{display:none;position:absolute;inset:0;background:#00000080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:15;opacity:0;transition:opacity .3s ease;pointer-events:none}@media(max-width:768px){.sidebar-overlay[data-v-1baffbd3]{display:block}.sidebar-overlay.show[data-v-1baffbd3]{opacity:1;pointer-events:auto}}