codexui-android 0.1.98 → 0.1.99
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/DirectoryHub-BsQI3jt6.js +2 -0
- package/dist/assets/DirectoryHub-DEzhdxiz.css +1 -0
- package/dist/assets/{ReviewPane-BJuXPOZb.css → ReviewPane-AzgWKh85.css} +1 -1
- package/dist/assets/{ReviewPane-BwO2MHvI.js → ReviewPane-BkNGxMQY.js} +1 -1
- package/dist/assets/ThreadConversation-08orN8b4.js +39 -0
- package/dist/assets/ThreadConversation-CJqnXrJL.css +1 -0
- package/dist/assets/{ThreadTerminalPanel-pVx2Zv0U.css → ThreadTerminalPanel-Bik-IBVJ.css} +1 -1
- package/dist/assets/ThreadTerminalPanel-Dw7SInGu.js +38 -0
- package/dist/assets/index-BpQcV8Wg.css +1 -0
- package/dist/assets/index-Ce2BNria.js +63 -0
- package/dist/assets/{index.esm-Bi-9KxvS.js → index.esm--s_sgTDk.js} +2 -2
- package/dist/assets/{index.esm-DECIu6Fp.js → index.esm-D_uN0D-X.js} +1 -1
- package/dist/assets/{index.esm-DPq88-QA.js → index.esm-DvadSfWE.js} +3 -18
- package/dist/index.html +2 -2
- package/dist-cli/index.js +922 -348
- package/dist-cli/index.js.map +1 -1
- package/package.json +2 -1
- package/scripts/dev.cjs +11 -7
- package/dist/assets/DirectoryHub-CAcNjRYF.css +0 -1
- package/dist/assets/DirectoryHub-D6h4lJqw.js +0 -2
- package/dist/assets/ThreadConversation-CsHUh1AP.js +0 -39
- package/dist/assets/ThreadConversation-J3tJ8-9X.css +0 -1
- package/dist/assets/ThreadTerminalPanel-BTHfTRnz.js +0 -38
- package/dist/assets/index-23FodFfK.js +0 -64
- package/dist/assets/index-Wz7G59hk.css +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as tt,u as at,r as _,w as O,b as st,C as nt,e as it,o as l,c as o,a,t as n,s as p,f as y,j as ge,m as lt,F as b,g as S,K as ot,L as rt,h as Ce,q as X,v as G,x as ut,p as Be,T as vt,H as ct,y as k,M as dt,N as pt,O as ht,n as ft,P as Le,Q as wt,_ as _t}from"./index-23FodFfK.js";const yt={class:"review-pane-header"},mt={class:"review-pane-heading"},bt={class:"review-pane-eyebrow"},kt={class:"review-pane-title"},gt={class:"review-pane-header-actions"},Ct=["aria-label"],Bt={class:"review-pane-toolbar"},Lt={class:"review-pane-toolbar-tabs"},Ft={class:"review-pane-segmented review-pane-segmented-primary"},It=["data-active","onClick"],xt={class:"review-pane-toolbar-controls"},Rt={class:"review-pane-control-cluster"},St={class:"review-pane-control-label"},$t={class:"review-pane-segmented"},Tt=["data-active"],At=["data-active","disabled"],Et={key:0,class:"review-pane-control-cluster"},Mt={class:"review-pane-control-label"},Nt={class:"review-pane-branch-select-wrap"},Pt=["value"],Dt={key:1,class:"review-pane-control-cluster"},Wt={class:"review-pane-control-label"},Gt={class:"review-pane-segmented"},zt=["data-active"],Kt=["data-active"],Vt={class:"review-pane-toolbar-actions"},Ht=["disabled"],Ut=["disabled"],Ot={key:1,class:"review-pane-meta"},Xt={class:"review-pane-summary-pill review-pane-summary-pill-add"},jt={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Yt={key:0},qt={key:1},Qt={key:2,class:"review-pane-content"},Jt={key:0,class:"review-pane-empty"},Zt={class:"review-pane-empty-title"},ea={key:1,class:"review-pane-empty"},ta={class:"review-pane-empty-title"},aa={class:"review-pane-empty-text"},sa=["disabled"],na={key:2,class:"review-pane-empty"},ia={class:"review-pane-empty-title"},la={class:"review-pane-empty-text"},oa={key:0,class:"review-pane-bulk-actions"},ra=["disabled","onClick"],ua={key:1,class:"review-pane-empty"},va={class:"review-pane-empty-title"},ca={class:"review-pane-empty-text"},da={key:0,class:"review-pane-file-list"},pa=["data-expanded","onClick"],ha=["data-expanded"],fa={class:"review-pane-tree-folder-name"},wa={class:"review-pane-tree-folder-count"},_a=["data-active","title","onClick"],ya={class:"review-pane-file-meta-row"},ma={class:"review-pane-file-main"},ba=["data-operation"],ka={class:"review-pane-file-path"},ga={class:"review-pane-file-delta"},Ca={class:"review-pane-delta-add"},Ba={class:"review-pane-delta-remove"},La={class:"review-pane-diff"},Fa={class:"review-pane-file-header"},Ia={class:"review-pane-file-header-main"},xa={class:"review-pane-file-title"},Ra={class:"review-pane-file-subtitle"},Sa={key:0,class:"review-pane-row-actions"},$a=["disabled","onClick"],Ta={key:0,class:"review-pane-raw-diff"},Aa={key:1,class:"review-pane-hunks"},Ea=["data-active","onClick"],Ma={class:"review-pane-hunk-header"},Na={class:"review-pane-hunk-title"},Pa={class:"review-pane-hunk-meta"},Da={key:0,class:"review-pane-row-actions"},Wa=["disabled","onClick"],Ga={class:"review-pane-lines"},za=["data-kind"],Ka={class:"review-pane-line-number"},Va={class:"review-pane-line-number"},Ha={class:"review-pane-line-marker"},Ua={class:"review-pane-line-code"},Oa={key:3,class:"review-pane-findings"},Xa={key:0,class:"review-pane-summary-card"},ja={class:"review-pane-summary-text"},Ya={key:1,class:"review-pane-findings-list"},qa=["onClick"],Qa={class:"review-pane-finding-title"},Ja={key:0,class:"review-pane-finding-location"},Za={key:1,class:"review-pane-finding-body"},es={key:2,class:"review-pane-empty"},ts={class:"review-pane-empty-text"},as={class:"review-pane-sheet-header"},ss={class:"review-pane-sheet-count"},ns={class:"review-pane-sheet-list"},is=["data-expanded","onClick"],ls=["data-expanded"],os={class:"review-pane-tree-folder-name"},rs={class:"review-pane-tree-folder-count"},us=["data-active","title","onClick"],vs={class:"review-pane-file-meta-row"},cs={class:"review-pane-file-main"},ds=["data-operation"],ps={class:"review-pane-file-path"},hs={class:"review-pane-file-delta"},fs={class:"review-pane-delta-add"},ws={class:"review-pane-delta-remove"},Fe="codex-web-local.review-pane-file-list-width.v1",_s=220,ys=420,Ie=288,ms=tt({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(xe){const g=xe,{isMobile:x}=at(),{t:u}=ct(),M=_("changes"),f=_("workspace"),L=_("unstaged"),v=_(null),$=_(""),j=_(!1),T=_(""),F=_(""),Y=_(!1),se=_(!1),N=_(!1),E=_(!1),q=_(!1),z=_(""),I=_(""),P=_(""),D=_({}),Q=_(""),ne=new Map;let J=null,A=null;const Re=[{value:"changes",label:u("Changes")},{value:"findings",label:u("Findings")}],Z=k(()=>`${f.value}:${L.value}`),K=k(()=>D.value[Z.value]??null),C=k(()=>{var e,t;return((e=v.value)==null?void 0:e.files.find(i=>i.id===T.value))??((t=v.value)==null?void 0:t.files[0])??null}),W=_({}),Se=k(()=>{var e,t;return(e=v.value)!=null&&e.isGitRepo?f.value==="workspace"?L.value==="staged"?u("Staged changes"):u("Workspace changes"):(t=v.value)!=null&&t.baseBranch?`${u("Against")} ${v.value.baseBranch}`:u("Base branch"):u("Repository review")}),ue=k(()=>{var e,t;return g.threadId.trim().length>0&&g.cwd.trim().length>0&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&!g.isThreadInProgress&&!(f.value==="baseBranch"&&!((t=v.value)!=null&&t.baseBranch))}),ve=k(()=>{var e;return f.value==="workspace"&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&v.value.files.length>0}),ce=k(()=>ve.value&&!N.value),$e=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage all")}]:[{value:"stage",label:u("Stage all")},{value:"revert",label:u("Revert all")}]),Te=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage file")}]:[{value:"stage",label:u("Stage file")},{value:"revert",label:u("Revert file")}]),Ae=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage hunk")}]:[{value:"stage",label:u("Stage hunk")},{value:"revert",label:u("Revert hunk")}]),de=k(()=>I.value||z.value||P.value),Ee=k(()=>!!(I.value||z.value)),ee=_(Pe()),Me=k(()=>{const e={};return x.value||(e["--review-file-list-width"]=`${ee.value}px`),e}),pe=k(()=>{var e;return ze(((e=v.value)==null?void 0:e.files)??[],W.value)}),he=k(()=>pe.value.nodes),Ne=k(()=>pe.value.folderIdsByFileId);function ie(e){return Number.isFinite(e)?Math.min(ys,Math.max(_s,Math.round(e))):Ie}function Pe(){if(typeof window>"u")return Ie;const e=window.localStorage.getItem(Fe),t=e?Number(e):Number.NaN;return ie(t)}function De(e){typeof window>"u"||window.localStorage.setItem(Fe,String(ie(e)))}function We(e){if(x.value)return;e.preventDefault(),A==null||A();const t=e.clientX,i=ee.value,c=w=>{ee.value=ie(i+(w.clientX-t))},d=()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",m),A=null},m=()=>{d(),De(ee.value)};window.addEventListener("pointermove",c),window.addEventListener("pointerup",m),A=d}function Ge(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function fe(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function we(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function ze(e,t){const i={folders:new Map,files:[]},c={};for(const B of e){const s=B.path.split("/").filter(Boolean),r=s.pop()??B.path;let h=i,R="";const ke=[];for(const[et,H]of s.entries()){R=R?`${R}/${H}`:H;let U=h.folders.get(H);U||(U={id:R,name:H,depth:et,folders:new Map,files:[]},h.folders.set(H,U)),h=U,ke.push(U.id)}h.files.push({file:B,name:r,depth:s.length}),c[B.id]=ke}const d=[],m=B=>B.files.length+Array.from(B.folders.values()).reduce((s,r)=>s+m(r),0),w=B=>{const s=Array.from(B.folders.values()).sort((h,R)=>we(h.name,R.name)),r=[...B.files].sort((h,R)=>we(h.name,R.name));for(const h of s)d.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:m(h)}),t[h.id]!==!1&&w(h);for(const h of r)d.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return w(i),{nodes:d,folderIdsByFileId:c}}function V(e){return W.value[e]!==!1}function _e(e){W.value={...W.value,[e]:!V(e)}}function le(e){const t=Ne.value[e]??[];if(t.length===0)return;const i={...W.value};let c=!1;for(const d of t)i[d]===!1&&(i[d]=!0,c=!0);c&&(W.value=i)}function te(e){const t=x.value?8:10,i=x.value?12:14;return{paddingLeft:`${t+e*i}px`}}function oe(e){return e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified"}function Ke(e,t){if(!(t instanceof HTMLElement)){ne.delete(e);return}ne.set(e,t)}function Ve(e){const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null;return typeof(t==null?void 0:t.threadId)=="string"?t.threadId:""}async function ae(){var e,t,i;if(g.cwd.trim()){se.value=!0,z.value="";try{const c=f.value==="baseBranch"?$.value.trim():"",d=await dt(g.cwd,f.value,L.value,c||null);if(d.baseBranchOptions.length>0){const w=d.baseBranch??d.baseBranchOptions[0]??"";$.value!==w&&(j.value=!0,$.value=w)}else $.value!==""&&(j.value=!0,$.value="");v.value=d,d.files.some(w=>w.id===T.value)||(T.value=((e=d.files[0])==null?void 0:e.id)??"",F.value=((i=(t=d.files[0])==null?void 0:t.hunks[0])==null?void 0:i.id)??"")}catch(c){z.value=c instanceof Error?c.message:"Failed to load review snapshot"}finally{se.value=!1}}}async function He(){if(g.threadId.trim())try{const e=await Le(g.threadId);e.result&&(D.value={...D.value,[Z.value]:e.result})}catch{}}async function ye(){await Promise.all([ae(),He()])}function me(e){var i,c;le(e),T.value=e;const t=((i=v.value)==null?void 0:i.files.find(d=>d.id===e))??null;F.value=((c=t==null?void 0:t.hunks[0])==null?void 0:c.id)??"",x.value&&(Y.value=!1)}async function re(e,t,i=""){var c,d,m;if(v.value){N.value=!0,I.value="";try{const w=await wt({cwd:g.cwd,scope:f.value,workspaceView:L.value,action:e,level:t,patch:i});v.value=w,w.files.some(s=>s.id===T.value)||(T.value=((c=w.files[0])==null?void 0:c.id)??"",F.value=((m=(d=w.files[0])==null?void 0:d.hunks[0])==null?void 0:m.id)??"")}catch(w){I.value=w instanceof Error?w.message:"Failed to apply review action"}finally{N.value=!1}}}async function Ue(e){await re(e,"all")}async function Oe(e,t){await re(e,"file",t.diff)}async function Xe(e,t){F.value=t.id,await re(e,"hunk",t.patch)}async function je(){if(g.cwd.trim()){q.value=!0,I.value="";try{await pt(g.cwd),await ae()}catch(e){I.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{q.value=!1}}}async function Ye(){var e,t;if(!(!ue.value||E.value)){I.value="",P.value=f.value==="workspace"?"Reviewing current changes":`Reviewing against ${((e=v.value)==null?void 0:e.baseBranch)??"base branch"}`,E.value=!0,Q.value=Z.value;try{await ht(g.threadId,f.value,L.value,$.value||(((t=v.value)==null?void 0:t.baseBranch)??null))}catch(i){E.value=!1,P.value="",I.value=i instanceof Error?i.message:"Failed to start review"}}}function qe(e){if(!e.absolutePath)return"";const t=e.startLine?`:${e.startLine}${e.endLine&&e.endLine!==e.startLine?`-${e.endLine}`:""}`:"";return`${e.absolutePath}${t}`}function Qe(e,t){if(!t.startLine)return e.hunks[0]??null;for(const i of e.hunks){if(i.newStart!==null){const c=i.newStart+Math.max(i.newLineCount,1)-1;if(t.startLine>=i.newStart&&t.startLine<=c)return i}if(i.oldStart!==null){const c=i.oldStart+Math.max(i.oldLineCount,1)-1;if(t.startLine>=i.oldStart&&t.startLine<=c)return i}}return e.hunks[0]??null}async function be(e){await ft();const t=ne.get(e);t==null||t.scrollIntoView({block:"center",behavior:"smooth"})}async function Je(e){var c;M.value="changes";const t=((c=v.value)==null?void 0:c.files.find(d=>d.absolutePath===e.absolutePath||d.previousAbsolutePath===e.absolutePath))??null;if(!t)return;le(t.id),T.value=t.id;const i=Qe(t,e);F.value=(i==null?void 0:i.id)??"",i!=null&&i.id&&await be(i.id)}function Ze(e){if(Ve(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,i=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,c=typeof(i==null?void 0:i.type)=="string"?i.type:"";if(e.method==="item/started"&&c==="enteredReviewMode"){E.value=!0,P.value=typeof(i==null?void 0:i.review)=="string"?i.review:"Review in progress";return}if(e.method==="item/completed"&&c==="exitedReviewMode"){const d=Q.value||Z.value;E.value=!1,P.value="",Le(g.threadId).then(m=>{m.result&&(D.value={...D.value,[d]:m.result},M.value="findings")}).catch(m=>{I.value=m instanceof Error?m.message:"Failed to load review result"}).finally(()=>{Q.value=""})}}return O(()=>[g.threadId,g.cwd],()=>{T.value="",F.value="",D.value={},Q.value="",I.value="",P.value="",ye()},{immediate:!0}),O(()=>[f.value,L.value],()=>{T.value="",F.value="",I.value="",z.value="",ae()}),O($,(e,t)=>{if(j.value){j.value=!1;return}f.value==="baseBranch"&&(!e||e===t||ae())}),O(C,e=>{var t;e&&(le(e.id),e.hunks.some(i=>i.id===F.value)||(F.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),O(F,e=>{e&&be(e)}),st(()=>{J=nt(Ze)}),it(()=>{J&&(J(),J=null),A==null||A()}),(e,t)=>{var i,c,d,m,w,B;return l(),o("section",{class:Ce(["review-pane",{"is-mobile":p(x)}]),onClick:t[9]||(t[9]=Be(()=>{},["stop"]))},[a("header",yt,[a("div",mt,[a("p",bt,n(p(u)("Review")),1),a("p",kt,n(Se.value),1)]),a("div",gt,[p(x)&&M.value==="changes"&&((i=v.value)!=null&&i.files.length)?(l(),o("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=s=>Y.value=!0)},n(p(u)("Files")),1)):y("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":p(u)("Close review pane"),onClick:t[1]||(t[1]=s=>e.$emit("close"))},[ge(lt,{class:"icon-svg"})],8,Ct)])]),a("div",Bt,[a("div",Lt,[a("div",Ft,[(l(),o(b,null,S(Re,s=>a("button",{key:s.value,type:"button",class:"review-pane-segmented-button review-pane-tab","data-active":M.value===s.value,onClick:r=>M.value=s.value},n(s.label),9,It)),64))])]),a("div",xt,[a("div",Rt,[a("span",St,n(p(u)("Compare")),1),a("div",$t,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="workspace",onClick:t[2]||(t[2]=s=>f.value="workspace")},n(p(u)("Workspace")),9,Tt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="baseBranch",disabled:!((c=v.value)!=null&&c.baseBranch),onClick:t[3]||(t[3]=s=>f.value="baseBranch")},n(p(u)("Base branch")),9,At)])]),f.value==="baseBranch"&&((d=v.value)!=null&&d.baseBranchOptions.length)?(l(),o("div",Et,[a("span",Mt,n(p(u)("Branch")),1),a("label",Nt,[ot(a("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>$.value=s),class:"review-pane-branch-select"},[(l(!0),o(b,null,S(v.value.baseBranchOptions,s=>(l(),o("option",{key:s,value:s},n(s),9,Pt))),128))],512),[[rt,$.value]])])])):y("",!0),f.value==="workspace"?(l(),o("div",Dt,[a("span",Wt,n(p(u)("Changes")),1),a("div",Gt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="unstaged",onClick:t[5]||(t[5]=s=>L.value="unstaged")},n(p(u)("Unstaged")),9,zt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="staged",onClick:t[6]||(t[6]=s=>L.value="staged")},n(p(u)("Staged")),9,Kt)])])):y("",!0)]),a("div",Vt,[a("button",{type:"button",class:"review-pane-run",disabled:!ue.value||E.value,onClick:Ye},n(E.value?p(u)("Reviewing…"):p(u)("Run review")),9,Ht),a("button",{type:"button",class:"review-pane-refresh",disabled:se.value,onClick:ye},n(p(u)("Refresh")),9,Ut)])]),de.value?(l(),o("div",{key:0,class:Ce(["review-pane-banner",{"is-error":Ee.value}])},n(de.value),3)):y("",!0),v.value?(l(),o("div",Ot,[a("span",null,n(v.value.summary.fileCount)+" "+n(p(u)("files")),1),a("span",Xt,"+"+n(v.value.summary.addedLineCount),1),a("span",jt,"-"+n(v.value.summary.removedLineCount),1),v.value.headBranch?(l(),o("span",Yt,n(v.value.headBranch),1)):y("",!0),f.value==="baseBranch"&&v.value.baseBranch?(l(),o("span",qt,"vs "+n(v.value.baseBranch),1)):y("",!0)])):y("",!0),M.value==="changes"?(l(),o("div",Qt,[v.value?v.value.isGitRepo?f.value==="baseBranch"&&!v.value.baseBranch?(l(),o("div",na,[a("p",ia,n(p(u)("Base branch unavailable")),1),a("p",la,n(p(u)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(l(),o(b,{key:3},[ve.value?(l(),o("div",oa,[(l(!0),o(b,null,S($e.value,s=>(l(),o("button",{key:s.value,type:"button",class:"review-pane-bulk-button",disabled:N.value,onClick:r=>Ue(s.value)},n(s.label),9,ra))),128))])):y("",!0),v.value.files.length?(l(),o("div",{key:2,class:"review-pane-main",style:X(Me.value)},[p(x)?y("",!0):(l(),o("aside",da,[(l(!0),o(b,null,S(he.value,s=>{var r;return l(),o(b,{key:s.treeKey},[s.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder",style:X(te(s.depth)),"data-expanded":V(s.id),onClick:h=>_e(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":V(s.id)},null,8,ha),a("span",fa,n(s.name),1),a("span",wa,n(s.fileCount),1)],12,pa)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(s.depth)),"data-active":((r=C.value)==null?void 0:r.id)===s.file.id,title:s.file.path,onClick:h=>me(s.file.id)},[a("span",ya,[a("span",ma,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},n(oe(s.file.operation)),9,ba),a("span",ka,[G(n(s.name)+" ",1),s.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(s.file.previousPath)),1)],64)):y("",!0)])]),a("span",ga,[a("span",Ca,"+"+n(s.file.addedLineCount),1),t[10]||(t[10]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",Ba,"-"+n(s.file.removedLineCount),1)])])],12,_a))],64)}),128))])),p(x)?y("",!0):(l(),o("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:We},null,32)),a("section",La,[C.value?(l(),o(b,{key:0},[a("div",Fa,[a("div",Ia,[a("p",xa,[G(n(C.value.path)+" ",1),C.value.previousPath?(l(),o(b,{key:0},[G(" ← "+n(C.value.previousPath),1)],64)):y("",!0)]),a("p",Ra,n(oe(C.value.operation))+" · +"+n(C.value.addedLineCount)+" / -"+n(C.value.removedLineCount),1)]),ce.value?(l(),o("div",Sa,[(l(!0),o(b,null,S(Te.value,s=>(l(),o("button",{key:`${C.value.id}:${s.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:r=>Oe(s.value,C.value)},n(s.label),9,$a))),128))])):y("",!0)]),C.value.hunks.length===0?(l(),o("div",Ta,[a("pre",null,n(C.value.diff||"No unified diff available."),1)])):(l(),o("div",Aa,[(l(!0),o(b,null,S(C.value.hunks,s=>(l(),o("article",{key:s.id,ref_for:!0,ref:r=>Ke(s.id,r),class:"review-pane-hunk","data-active":F.value===s.id,onClick:r=>F.value=s.id},[a("div",Ma,[a("div",null,[a("p",Na,n(s.header),1),a("p",Pa,"+"+n(s.addedLineCount)+" / -"+n(s.removedLineCount),1)]),ce.value?(l(),o("div",Da,[(l(!0),o(b,null,S(Ae.value,r=>(l(),o("button",{key:`${s.id}:${r.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:h=>Xe(r.value,s)},n(r.label),9,Wa))),128))])):y("",!0)]),a("div",Ga,[(l(!0),o(b,null,S(s.lines,r=>(l(),o("div",{key:r.key,class:"review-pane-line","data-kind":r.kind},[a("span",Ka,n(r.oldLine??""),1),a("span",Va,n(r.newLine??""),1),a("span",Ha,n(Ge(r.kind)),1),a("code",Ua,n(r.text||" "),1)],8,za))),128))])],8,Ea))),128))]))],64)):y("",!0)])],4)):(l(),o("div",ua,[a("p",va,n(p(u)("No changes in this scope")),1),a("p",ca,n(f.value==="workspace"?p(u)("Your current workspace is clean."):p(u)("No merge diff found against the base branch.")),1)]))],64)):(l(),o("div",ea,[a("p",ta,n(p(u)("This folder is not a Git repository")),1),a("p",aa,n(p(u)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:q.value,onClick:je},n(q.value?p(u)("Initializing…"):p(u)("Initialize Git")),9,sa)])):(l(),o("div",Jt,[a("p",Zt,n(p(u)("Loading review state")),1)]))])):(l(),o("div",Oa,[(m=K.value)!=null&&m.summary?(l(),o("div",Xa,[t[11]||(t[11]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",ja,n(K.value.summary),1)])):y("",!0),(w=K.value)!=null&&w.findings.length?(l(),o("div",Ya,[(l(!0),o(b,null,S(K.value.findings,s=>(l(),o("button",{key:s.id,type:"button",class:"review-pane-finding",onClick:r=>Je(s)},[a("span",Qa,n(s.title),1),s.absolutePath?(l(),o("span",Ja,n(qe(s)),1)):y("",!0),s.body?(l(),o("span",Za,n(s.body),1)):y("",!0)],8,qa))),128))])):(l(),o("div",es,[t[12]||(t[12]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",ts,n((B=K.value)!=null&&B.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ge(vt,{name:"review-pane-sheet"},{default:ut(()=>{var s;return[p(x)&&Y.value&&((s=v.value)!=null&&s.files.length)?(l(),o("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=r=>Y.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=Be(()=>{},["stop"]))},[t[15]||(t[15]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",as,[t[13]||(t[13]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",ss,n(v.value.files.length),1)]),a("div",ns,[(l(!0),o(b,null,S(he.value,r=>{var h;return l(),o(b,{key:`sheet:${r.treeKey}`},[r.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:X(te(r.depth)),"data-expanded":V(r.id),onClick:R=>_e(r.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":V(r.id)},null,8,ls),a("span",os,n(r.name),1),a("span",rs,n(r.fileCount),1)],12,is)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(r.depth)),"data-active":((h=C.value)==null?void 0:h.id)===r.file.id,title:r.file.path,onClick:R=>me(r.file.id)},[a("span",vs,[a("span",cs,[a("span",{class:"review-pane-file-op","data-operation":r.file.operation},n(oe(r.file.operation)),9,ds),a("span",ps,[G(n(r.name)+" ",1),r.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(r.file.previousPath)),1)],64)):y("",!0)])]),a("span",hs,[a("span",fs,"+"+n(r.file.addedLineCount),1),t[14]||(t[14]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ws,"-"+n(r.file.removedLineCount),1)])])],12,us))],64)}),128))])])])):y("",!0)]}),_:1})],2)}}}),ks=_t(ms,[["__scopeId","data-v-24eaecc6"]]);export{ks as default};
|
|
1
|
+
import{d as tt,u as at,r as _,w as O,b as st,C as nt,e as it,o as l,c as o,a,t as n,s as p,f as y,j as ge,m as lt,F as b,g as S,L as ot,M as rt,h as Ce,q as X,v as G,x as ut,p as Be,T as vt,J as ct,y as k,N as dt,O as pt,P as ht,n as ft,Q as Le,R as wt,_ as _t}from"./index-Ce2BNria.js";const yt={class:"review-pane-header"},mt={class:"review-pane-heading"},bt={class:"review-pane-eyebrow"},kt={class:"review-pane-title"},gt={class:"review-pane-header-actions"},Ct=["aria-label"],Bt={class:"review-pane-toolbar"},Lt={class:"review-pane-toolbar-tabs"},Ft={class:"review-pane-segmented review-pane-segmented-primary"},It=["data-active","onClick"],Rt={class:"review-pane-toolbar-controls"},xt={class:"review-pane-control-cluster"},St={class:"review-pane-control-label"},$t={class:"review-pane-segmented"},Tt=["data-active"],At=["data-active","disabled"],Et={key:0,class:"review-pane-control-cluster"},Mt={class:"review-pane-control-label"},Nt={class:"review-pane-branch-select-wrap"},Pt=["value"],Dt={key:1,class:"review-pane-control-cluster"},Wt={class:"review-pane-control-label"},Gt={class:"review-pane-segmented"},zt=["data-active"],Vt=["data-active"],Kt={class:"review-pane-toolbar-actions"},Ut=["disabled"],Ht=["disabled"],Ot={key:1,class:"review-pane-meta"},Xt={class:"review-pane-summary-pill review-pane-summary-pill-add"},jt={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Yt={key:0},qt={key:1},Jt={key:2,class:"review-pane-content"},Qt={key:0,class:"review-pane-empty"},Zt={class:"review-pane-empty-title"},ea={key:1,class:"review-pane-empty"},ta={class:"review-pane-empty-title"},aa={class:"review-pane-empty-text"},sa=["disabled"],na={key:2,class:"review-pane-empty"},ia={class:"review-pane-empty-title"},la={class:"review-pane-empty-text"},oa={key:0,class:"review-pane-bulk-actions"},ra=["disabled","onClick"],ua={key:1,class:"review-pane-empty"},va={class:"review-pane-empty-title"},ca={class:"review-pane-empty-text"},da={key:0,class:"review-pane-file-list"},pa=["data-expanded","onClick"],ha=["data-expanded"],fa={class:"review-pane-tree-folder-name"},wa={class:"review-pane-tree-folder-count"},_a=["data-active","title","onClick"],ya={class:"review-pane-file-meta-row"},ma={class:"review-pane-file-main"},ba=["data-operation"],ka={class:"review-pane-file-path"},ga={class:"review-pane-file-delta"},Ca={class:"review-pane-delta-add"},Ba={class:"review-pane-delta-remove"},La={class:"review-pane-diff"},Fa={class:"review-pane-file-header"},Ia={class:"review-pane-file-header-main"},Ra={class:"review-pane-file-title"},xa={class:"review-pane-file-subtitle"},Sa={key:0,class:"review-pane-row-actions"},$a=["disabled","onClick"],Ta={key:0,class:"review-pane-raw-diff"},Aa={key:1,class:"review-pane-hunks"},Ea=["data-active","onClick"],Ma={class:"review-pane-hunk-header"},Na={class:"review-pane-hunk-title"},Pa={class:"review-pane-hunk-meta"},Da={key:0,class:"review-pane-row-actions"},Wa=["disabled","onClick"],Ga={class:"review-pane-lines"},za=["data-kind"],Va={class:"review-pane-line-number"},Ka={class:"review-pane-line-number"},Ua={class:"review-pane-line-marker"},Ha={class:"review-pane-line-code"},Oa={key:3,class:"review-pane-findings"},Xa={key:0,class:"review-pane-summary-card"},ja={class:"review-pane-summary-text"},Ya={key:1,class:"review-pane-findings-list"},qa=["onClick"],Ja={class:"review-pane-finding-title"},Qa={key:0,class:"review-pane-finding-location"},Za={key:1,class:"review-pane-finding-body"},es={key:2,class:"review-pane-empty"},ts={class:"review-pane-empty-text"},as={class:"review-pane-sheet-header"},ss={class:"review-pane-sheet-count"},ns={class:"review-pane-sheet-list"},is=["data-expanded","onClick"],ls=["data-expanded"],os={class:"review-pane-tree-folder-name"},rs={class:"review-pane-tree-folder-count"},us=["data-active","title","onClick"],vs={class:"review-pane-file-meta-row"},cs={class:"review-pane-file-main"},ds=["data-operation"],ps={class:"review-pane-file-path"},hs={class:"review-pane-file-delta"},fs={class:"review-pane-delta-add"},ws={class:"review-pane-delta-remove"},Fe="codex-web-local.review-pane-file-list-width.v1",_s=220,ys=420,Ie=288,ms=tt({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(Re){const g=Re,{isMobile:R}=at(),{t:u}=ct(),M=_("changes"),f=_("workspace"),L=_("unstaged"),v=_(null),$=_(""),j=_(!1),T=_(""),F=_(""),Y=_(!1),se=_(!1),N=_(!1),E=_(!1),q=_(!1),z=_(""),I=_(""),P=_(""),D=_({}),J=_(""),ne=new Map;let Q=null,A=null;const xe=[{value:"changes",label:u("Changes")},{value:"findings",label:u("Findings")}],Z=k(()=>`${f.value}:${L.value}`),V=k(()=>D.value[Z.value]??null),C=k(()=>{var e,t;return((e=v.value)==null?void 0:e.files.find(i=>i.id===T.value))??((t=v.value)==null?void 0:t.files[0])??null}),W=_({}),Se=k(()=>{var e,t;return(e=v.value)!=null&&e.isGitRepo?f.value==="workspace"?L.value==="staged"?u("Staged changes"):u("Workspace changes"):(t=v.value)!=null&&t.baseBranch?`${u("Against")} ${v.value.baseBranch}`:u("Base branch"):u("Repository review")}),ue=k(()=>{var e,t;return g.threadId.trim().length>0&&g.cwd.trim().length>0&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&!g.isThreadInProgress&&!(f.value==="baseBranch"&&!((t=v.value)!=null&&t.baseBranch))}),ve=k(()=>{var e;return f.value==="workspace"&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&v.value.files.length>0}),ce=k(()=>ve.value&&!N.value),$e=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage all")}]:[{value:"stage",label:u("Stage all")},{value:"revert",label:u("Revert all")}]),Te=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage file")}]:[{value:"stage",label:u("Stage file")},{value:"revert",label:u("Revert file")}]),Ae=k(()=>L.value==="staged"?[{value:"unstage",label:u("Unstage hunk")}]:[{value:"stage",label:u("Stage hunk")},{value:"revert",label:u("Revert hunk")}]),de=k(()=>I.value||z.value||P.value),Ee=k(()=>!!(I.value||z.value)),ee=_(Pe()),Me=k(()=>{const e={};return R.value||(e["--review-file-list-width"]=`${ee.value}px`),e}),pe=k(()=>{var e;return ze(((e=v.value)==null?void 0:e.files)??[],W.value)}),he=k(()=>pe.value.nodes),Ne=k(()=>pe.value.folderIdsByFileId);function ie(e){return Number.isFinite(e)?Math.min(ys,Math.max(_s,Math.round(e))):Ie}function Pe(){if(typeof window>"u")return Ie;const e=window.localStorage.getItem(Fe),t=e?Number(e):Number.NaN;return ie(t)}function De(e){typeof window>"u"||window.localStorage.setItem(Fe,String(ie(e)))}function We(e){if(R.value)return;e.preventDefault(),A==null||A();const t=e.clientX,i=ee.value,c=w=>{ee.value=ie(i+(w.clientX-t))},d=()=>{window.removeEventListener("pointermove",c),window.removeEventListener("pointerup",m),A=null},m=()=>{d(),De(ee.value)};window.addEventListener("pointermove",c),window.addEventListener("pointerup",m),A=d}function Ge(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function fe(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function we(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function ze(e,t){const i={folders:new Map,files:[]},c={};for(const B of e){const s=B.path.split("/").filter(Boolean),r=s.pop()??B.path;let h=i,x="";const ke=[];for(const[et,U]of s.entries()){x=x?`${x}/${U}`:U;let H=h.folders.get(U);H||(H={id:x,name:U,depth:et,folders:new Map,files:[]},h.folders.set(U,H)),h=H,ke.push(H.id)}h.files.push({file:B,name:r,depth:s.length}),c[B.id]=ke}const d=[],m=B=>B.files.length+Array.from(B.folders.values()).reduce((s,r)=>s+m(r),0),w=B=>{const s=Array.from(B.folders.values()).sort((h,x)=>we(h.name,x.name)),r=[...B.files].sort((h,x)=>we(h.name,x.name));for(const h of s)d.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:m(h)}),t[h.id]!==!1&&w(h);for(const h of r)d.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return w(i),{nodes:d,folderIdsByFileId:c}}function K(e){return W.value[e]!==!1}function _e(e){W.value={...W.value,[e]:!K(e)}}function le(e){const t=Ne.value[e]??[];if(t.length===0)return;const i={...W.value};let c=!1;for(const d of t)i[d]===!1&&(i[d]=!0,c=!0);c&&(W.value=i)}function te(e){const t=R.value?8:10,i=R.value?12:14;return{paddingLeft:`${t+e*i}px`}}function oe(e){return e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified"}function Ve(e,t){if(!(t instanceof HTMLElement)){ne.delete(e);return}ne.set(e,t)}function Ke(e){const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null;return typeof(t==null?void 0:t.threadId)=="string"?t.threadId:""}async function ae(){var e,t,i;if(g.cwd.trim()){se.value=!0,z.value="";try{const c=f.value==="baseBranch"?$.value.trim():"",d=await dt(g.cwd,f.value,L.value,c||null);if(d.baseBranchOptions.length>0){const w=d.baseBranch??d.baseBranchOptions[0]??"";$.value!==w&&(j.value=!0,$.value=w)}else $.value!==""&&(j.value=!0,$.value="");v.value=d,d.files.some(w=>w.id===T.value)||(T.value=((e=d.files[0])==null?void 0:e.id)??"",F.value=((i=(t=d.files[0])==null?void 0:t.hunks[0])==null?void 0:i.id)??"")}catch(c){z.value=c instanceof Error?c.message:"Failed to load review snapshot"}finally{se.value=!1}}}async function Ue(){if(g.threadId.trim())try{const e=await Le(g.threadId);e.result&&(D.value={...D.value,[Z.value]:e.result})}catch{}}async function ye(){await Promise.all([ae(),Ue()])}function me(e){var i,c;le(e),T.value=e;const t=((i=v.value)==null?void 0:i.files.find(d=>d.id===e))??null;F.value=((c=t==null?void 0:t.hunks[0])==null?void 0:c.id)??"",R.value&&(Y.value=!1)}async function re(e,t,i=""){var c,d,m;if(v.value){N.value=!0,I.value="";try{const w=await wt({cwd:g.cwd,scope:f.value,workspaceView:L.value,action:e,level:t,patch:i});v.value=w,w.files.some(s=>s.id===T.value)||(T.value=((c=w.files[0])==null?void 0:c.id)??"",F.value=((m=(d=w.files[0])==null?void 0:d.hunks[0])==null?void 0:m.id)??"")}catch(w){I.value=w instanceof Error?w.message:"Failed to apply review action"}finally{N.value=!1}}}async function He(e){await re(e,"all")}async function Oe(e,t){await re(e,"file",t.diff)}async function Xe(e,t){F.value=t.id,await re(e,"hunk",t.patch)}async function je(){if(g.cwd.trim()){q.value=!0,I.value="";try{await pt(g.cwd),await ae()}catch(e){I.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{q.value=!1}}}async function Ye(){var e,t;if(!(!ue.value||E.value)){I.value="",P.value=f.value==="workspace"?"Reviewing current changes":`Reviewing against ${((e=v.value)==null?void 0:e.baseBranch)??"base branch"}`,E.value=!0,J.value=Z.value;try{await ht(g.threadId,f.value,L.value,$.value||(((t=v.value)==null?void 0:t.baseBranch)??null))}catch(i){E.value=!1,P.value="",I.value=i instanceof Error?i.message:"Failed to start review"}}}function qe(e){if(!e.absolutePath)return"";const t=e.startLine?`:${e.startLine}${e.endLine&&e.endLine!==e.startLine?`-${e.endLine}`:""}`:"";return`${e.absolutePath}${t}`}function Je(e,t){if(!t.startLine)return e.hunks[0]??null;for(const i of e.hunks){if(i.newStart!==null){const c=i.newStart+Math.max(i.newLineCount,1)-1;if(t.startLine>=i.newStart&&t.startLine<=c)return i}if(i.oldStart!==null){const c=i.oldStart+Math.max(i.oldLineCount,1)-1;if(t.startLine>=i.oldStart&&t.startLine<=c)return i}}return e.hunks[0]??null}async function be(e){await ft();const t=ne.get(e);t==null||t.scrollIntoView({block:"center",behavior:"smooth"})}async function Qe(e){var c;M.value="changes";const t=((c=v.value)==null?void 0:c.files.find(d=>d.absolutePath===e.absolutePath||d.previousAbsolutePath===e.absolutePath))??null;if(!t)return;le(t.id),T.value=t.id;const i=Je(t,e);F.value=(i==null?void 0:i.id)??"",i!=null&&i.id&&await be(i.id)}function Ze(e){if(Ke(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,i=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,c=typeof(i==null?void 0:i.type)=="string"?i.type:"";if(e.method==="item/started"&&c==="enteredReviewMode"){E.value=!0,P.value=typeof(i==null?void 0:i.review)=="string"?i.review:"Review in progress";return}if(e.method==="item/completed"&&c==="exitedReviewMode"){const d=J.value||Z.value;E.value=!1,P.value="",Le(g.threadId).then(m=>{m.result&&(D.value={...D.value,[d]:m.result},M.value="findings")}).catch(m=>{I.value=m instanceof Error?m.message:"Failed to load review result"}).finally(()=>{J.value=""})}}return O(()=>[g.threadId,g.cwd],()=>{T.value="",F.value="",D.value={},J.value="",I.value="",P.value="",ye()},{immediate:!0}),O(()=>[f.value,L.value],()=>{T.value="",F.value="",I.value="",z.value="",ae()}),O($,(e,t)=>{if(j.value){j.value=!1;return}f.value==="baseBranch"&&(!e||e===t||ae())}),O(C,e=>{var t;e&&(le(e.id),e.hunks.some(i=>i.id===F.value)||(F.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),O(F,e=>{e&&be(e)}),st(()=>{Q=nt(Ze)}),it(()=>{Q&&(Q(),Q=null),A==null||A()}),(e,t)=>{var i,c,d,m,w,B;return l(),o("section",{class:Ce(["review-pane",{"is-mobile":p(R)}]),onClick:t[9]||(t[9]=Be(()=>{},["stop"]))},[a("header",yt,[a("div",mt,[a("p",bt,n(p(u)("Review")),1),a("p",kt,n(Se.value),1)]),a("div",gt,[p(R)&&M.value==="changes"&&((i=v.value)!=null&&i.files.length)?(l(),o("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=s=>Y.value=!0)},n(p(u)("Files")),1)):y("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":p(u)("Close review pane"),onClick:t[1]||(t[1]=s=>e.$emit("close"))},[ge(lt,{class:"icon-svg"})],8,Ct)])]),a("div",Bt,[a("div",Lt,[a("div",Ft,[(l(),o(b,null,S(xe,s=>a("button",{key:s.value,type:"button",class:"review-pane-segmented-button review-pane-tab","data-active":M.value===s.value,onClick:r=>M.value=s.value},n(s.label),9,It)),64))])]),a("div",Rt,[a("div",xt,[a("span",St,n(p(u)("Compare")),1),a("div",$t,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="workspace",onClick:t[2]||(t[2]=s=>f.value="workspace")},n(p(u)("Workspace")),9,Tt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="baseBranch",disabled:!((c=v.value)!=null&&c.baseBranch),onClick:t[3]||(t[3]=s=>f.value="baseBranch")},n(p(u)("Base branch")),9,At)])]),f.value==="baseBranch"&&((d=v.value)!=null&&d.baseBranchOptions.length)?(l(),o("div",Et,[a("span",Mt,n(p(u)("Branch")),1),a("label",Nt,[ot(a("select",{"onUpdate:modelValue":t[4]||(t[4]=s=>$.value=s),class:"review-pane-branch-select"},[(l(!0),o(b,null,S(v.value.baseBranchOptions,s=>(l(),o("option",{key:s,value:s},n(s),9,Pt))),128))],512),[[rt,$.value]])])])):y("",!0),f.value==="workspace"?(l(),o("div",Dt,[a("span",Wt,n(p(u)("Changes")),1),a("div",Gt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="unstaged",onClick:t[5]||(t[5]=s=>L.value="unstaged")},n(p(u)("Unstaged")),9,zt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":L.value==="staged",onClick:t[6]||(t[6]=s=>L.value="staged")},n(p(u)("Staged")),9,Vt)])])):y("",!0)]),a("div",Kt,[a("button",{type:"button",class:"review-pane-run",disabled:!ue.value||E.value,onClick:Ye},n(E.value?p(u)("Reviewing…"):p(u)("Run review")),9,Ut),a("button",{type:"button",class:"review-pane-refresh",disabled:se.value,onClick:ye},n(p(u)("Refresh")),9,Ht)])]),de.value?(l(),o("div",{key:0,class:Ce(["review-pane-banner",{"is-error":Ee.value}])},n(de.value),3)):y("",!0),v.value?(l(),o("div",Ot,[a("span",null,n(v.value.summary.fileCount)+" "+n(p(u)("files")),1),a("span",Xt,"+"+n(v.value.summary.addedLineCount),1),a("span",jt,"-"+n(v.value.summary.removedLineCount),1),v.value.headBranch?(l(),o("span",Yt,n(v.value.headBranch),1)):y("",!0),f.value==="baseBranch"&&v.value.baseBranch?(l(),o("span",qt,"vs "+n(v.value.baseBranch),1)):y("",!0)])):y("",!0),M.value==="changes"?(l(),o("div",Jt,[v.value?v.value.isGitRepo?f.value==="baseBranch"&&!v.value.baseBranch?(l(),o("div",na,[a("p",ia,n(p(u)("Base branch unavailable")),1),a("p",la,n(p(u)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(l(),o(b,{key:3},[ve.value?(l(),o("div",oa,[(l(!0),o(b,null,S($e.value,s=>(l(),o("button",{key:s.value,type:"button",class:"review-pane-bulk-button",disabled:N.value,onClick:r=>He(s.value)},n(s.label),9,ra))),128))])):y("",!0),v.value.files.length?(l(),o("div",{key:2,class:"review-pane-main",style:X(Me.value)},[p(R)?y("",!0):(l(),o("aside",da,[(l(!0),o(b,null,S(he.value,s=>{var r;return l(),o(b,{key:s.treeKey},[s.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder",style:X(te(s.depth)),"data-expanded":K(s.id),onClick:h=>_e(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(s.id)},null,8,ha),a("span",fa,n(s.name),1),a("span",wa,n(s.fileCount),1)],12,pa)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(s.depth)),"data-active":((r=C.value)==null?void 0:r.id)===s.file.id,title:s.file.path,onClick:h=>me(s.file.id)},[a("span",ya,[a("span",ma,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},n(oe(s.file.operation)),9,ba),a("span",ka,[G(n(s.name)+" ",1),s.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(s.file.previousPath)),1)],64)):y("",!0)])]),a("span",ga,[a("span",Ca,"+"+n(s.file.addedLineCount),1),t[10]||(t[10]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",Ba,"-"+n(s.file.removedLineCount),1)])])],12,_a))],64)}),128))])),p(R)?y("",!0):(l(),o("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:We},null,32)),a("section",La,[C.value?(l(),o(b,{key:0},[a("div",Fa,[a("div",Ia,[a("p",Ra,[G(n(C.value.path)+" ",1),C.value.previousPath?(l(),o(b,{key:0},[G(" ← "+n(C.value.previousPath),1)],64)):y("",!0)]),a("p",xa,n(oe(C.value.operation))+" · +"+n(C.value.addedLineCount)+" / -"+n(C.value.removedLineCount),1)]),ce.value?(l(),o("div",Sa,[(l(!0),o(b,null,S(Te.value,s=>(l(),o("button",{key:`${C.value.id}:${s.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:r=>Oe(s.value,C.value)},n(s.label),9,$a))),128))])):y("",!0)]),C.value.hunks.length===0?(l(),o("div",Ta,[a("pre",null,n(C.value.diff||"No unified diff available."),1)])):(l(),o("div",Aa,[(l(!0),o(b,null,S(C.value.hunks,s=>(l(),o("article",{key:s.id,ref_for:!0,ref:r=>Ve(s.id,r),class:"review-pane-hunk","data-active":F.value===s.id,onClick:r=>F.value=s.id},[a("div",Ma,[a("div",null,[a("p",Na,n(s.header),1),a("p",Pa,"+"+n(s.addedLineCount)+" / -"+n(s.removedLineCount),1)]),ce.value?(l(),o("div",Da,[(l(!0),o(b,null,S(Ae.value,r=>(l(),o("button",{key:`${s.id}:${r.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:h=>Xe(r.value,s)},n(r.label),9,Wa))),128))])):y("",!0)]),a("div",Ga,[(l(!0),o(b,null,S(s.lines,r=>(l(),o("div",{key:r.key,class:"review-pane-line","data-kind":r.kind},[a("span",Va,n(r.oldLine??""),1),a("span",Ka,n(r.newLine??""),1),a("span",Ua,n(Ge(r.kind)),1),a("code",Ha,n(r.text||" "),1)],8,za))),128))])],8,Ea))),128))]))],64)):y("",!0)])],4)):(l(),o("div",ua,[a("p",va,n(p(u)("No changes in this scope")),1),a("p",ca,n(f.value==="workspace"?p(u)("Your current workspace is clean."):p(u)("No merge diff found against the base branch.")),1)]))],64)):(l(),o("div",ea,[a("p",ta,n(p(u)("This folder is not a Git repository")),1),a("p",aa,n(p(u)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:q.value,onClick:je},n(q.value?p(u)("Initializing…"):p(u)("Initialize Git")),9,sa)])):(l(),o("div",Qt,[a("p",Zt,n(p(u)("Loading review state")),1)]))])):(l(),o("div",Oa,[(m=V.value)!=null&&m.summary?(l(),o("div",Xa,[t[11]||(t[11]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",ja,n(V.value.summary),1)])):y("",!0),(w=V.value)!=null&&w.findings.length?(l(),o("div",Ya,[(l(!0),o(b,null,S(V.value.findings,s=>(l(),o("button",{key:s.id,type:"button",class:"review-pane-finding",onClick:r=>Qe(s)},[a("span",Ja,n(s.title),1),s.absolutePath?(l(),o("span",Qa,n(qe(s)),1)):y("",!0),s.body?(l(),o("span",Za,n(s.body),1)):y("",!0)],8,qa))),128))])):(l(),o("div",es,[t[12]||(t[12]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",ts,n((B=V.value)!=null&&B.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ge(vt,{name:"review-pane-sheet"},{default:ut(()=>{var s;return[p(R)&&Y.value&&((s=v.value)!=null&&s.files.length)?(l(),o("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=r=>Y.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=Be(()=>{},["stop"]))},[t[15]||(t[15]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",as,[t[13]||(t[13]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",ss,n(v.value.files.length),1)]),a("div",ns,[(l(!0),o(b,null,S(he.value,r=>{var h;return l(),o(b,{key:`sheet:${r.treeKey}`},[r.kind==="folder"?(l(),o("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:X(te(r.depth)),"data-expanded":K(r.id),onClick:x=>_e(r.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(r.id)},null,8,ls),a("span",os,n(r.name),1),a("span",rs,n(r.fileCount),1)],12,is)):(l(),o("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:X(te(r.depth)),"data-active":((h=C.value)==null?void 0:h.id)===r.file.id,title:r.file.path,onClick:x=>me(r.file.id)},[a("span",vs,[a("span",cs,[a("span",{class:"review-pane-file-op","data-operation":r.file.operation},n(oe(r.file.operation)),9,ds),a("span",ps,[G(n(r.name)+" ",1),r.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(fe(r.file.previousPath)),1)],64)):y("",!0)])]),a("span",hs,[a("span",fs,"+"+n(r.file.addedLineCount),1),t[14]||(t[14]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ws,"-"+n(r.file.removedLineCount),1)])])],12,us))],64)}),128))])])])):y("",!0)]}),_:1})],2)}}}),ks=_t(ms,[["__scopeId","data-v-24eaecc6"]]);export{ks as default};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import{_ as En,o as r,c as l,a as d,d as qs,u as Ks,r as b,w as Y,n as Ct,b as Gs,e as Zs,t as f,f as k,F as g,g as w,h as C,i as Xs,j as Q,I as Js,k as Ys,l as Qs,m as Pn,p as Ze,q as $t,s as Lt,v as ee,x as An,T as ei,y as L,z as ti,A as ni,B as si}from"./index-Ce2BNria.js";const ii={},oi={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function ai(M,be){return r(),l("svg",oi,[...be[0]||(be[0]=[d("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M8 16a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2zm-4 4a2 2 0 0 1-2-2V8m4 8h10"},null,-1)])])}const ri=En(ii,[["render",ai]]),li={key:0,class:"conversation-loading"},ci={key:1,class:"conversation-empty"},ui={key:0,class:"conversation-load-more"},di=["disabled"],hi=["data-role","data-message-type"],fi={key:0,class:"message-row","data-role":"system"},pi={class:"message-stack","data-role":"system"},mi=["onClick"],vi={class:"cmd-group-label"},ki={class:"cmd-status"},gi={class:"cmd-group-inner"},yi=["onClick"],_i={class:"cmd-label"},wi={class:"cmd-status"},bi={class:"cmd-output-inner"},xi=["textContent"],Ci=["onClick"],$i={class:"cmd-label"},Li={class:"cmd-status"},Ti={class:"cmd-output-inner"},Mi=["textContent"],Si=["data-role","data-message-type"],Ii=["data-role"],Pi=["data-role"],Ai={key:0,class:"file-change-summary-block"},Ei=["onClick"],Bi={class:"file-change-summary-label"},Fi={class:"file-change-summary-status"},Ri=["data-tone"],Hi={class:"file-change-panel-inner"},Wi={class:"file-change-list"},Oi=["data-operation"],zi=["title","onClick"],ji={key:0,class:"file-change-arrow"},Di=["title","onClick"],Vi={key:2,class:"file-change-delta"},Ni=["data-tone"],Ui=["data-role","data-message-type"],qi=["data-role"],Ki=["data-role"],Gi=["data-role"],Zi=["onClick"],Xi=["src","alt"],Ji={key:1,class:"message-file-attachments"},Yi=["href","title"],Qi=["data-role"],eo={key:0,class:"worked-separator-wrap","aria-live":"polite"},to=["onClick"],no={class:"worked-separator-text"},so={key:0,class:"worked-details"},io=["onClick"],oo={class:"cmd-label"},ao={class:"cmd-status"},ro={class:"cmd-output-inner"},lo=["textContent"],co=["data-streaming"],uo={class:"plan-card-header"},ho={key:0,class:"plan-card-badge"},fo=["innerHTML"],po={key:1,class:"plan-step-list"},mo=["data-status"],vo=["data-status"],ko=["innerHTML"],go=["innerHTML"],yo={key:3,class:"plan-card-actions"},_o=["onClick"],wo={key:0,class:"message-text"},bo={key:0},xo={key:1,class:"message-bold-text"},Co={key:2,class:"message-italic-text"},$o={key:3,class:"message-strikethrough-text"},Lo=["href","title"],To=["href","title"],Mo={key:6,class:"message-inline-code"},So={key:0},Io={key:1,class:"message-bold-text"},Po={key:2,class:"message-italic-text"},Ao={key:3,class:"message-strikethrough-text"},Eo=["href","title"],Bo=["href","title"],Fo={key:6,class:"message-inline-code"},Ro={key:2,class:"message-blockquote"},Ho={key:0},Wo={key:1,class:"message-bold-text"},Oo={key:2,class:"message-italic-text"},zo={key:3,class:"message-strikethrough-text"},jo=["href","title"],Do=["href","title"],Vo={key:6,class:"message-inline-code"},No={key:3,class:"message-list message-list-unordered"},Uo=["innerHTML"],qo={key:4,class:"message-list message-task-list"},Ko=["data-checked"],Go={class:"message-list-item-text"},Zo={key:0},Xo={key:1,class:"message-bold-text"},Jo={key:2,class:"message-italic-text"},Yo={key:3,class:"message-strikethrough-text"},Qo=["href","title"],ea=["href","title"],ta={key:6,class:"message-inline-code"},na=["start"],sa=["innerHTML"],ia={key:6,class:"message-table-wrap"},oa={class:"message-table"},aa={key:0},ra={key:1,class:"message-bold-text"},la={key:2,class:"message-italic-text"},ca={key:3,class:"message-strikethrough-text"},ua=["href","title"],da=["href","title"],ha={key:6,class:"message-inline-code"},fa={key:0},pa={key:0},ma={key:1,class:"message-bold-text"},va={key:2,class:"message-italic-text"},ka={key:3,class:"message-strikethrough-text"},ga=["href","title"],ya=["href","title"],_a={key:6,class:"message-inline-code"},wa={key:7,class:"message-code-block"},ba={key:0,class:"message-code-language"},xa={class:"message-code-pre"},Ca=["innerHTML"],$a={key:8,class:"message-divider"},La={key:9,class:"message-text"},Ta=["onClick"],Ma=["src","alt","onError"],Sa={key:3,class:"file-change-summary-block file-change-summary-block-inline"},Ia=["onClick"],Pa={class:"file-change-summary-label"},Aa={class:"file-change-summary-status"},Ea=["data-tone"],Ba={class:"file-change-panel-inner"},Fa={class:"file-change-list"},Ra=["data-operation"],Ha=["title","onClick"],Wa={key:0,class:"file-change-arrow"},Oa=["title","onClick"],za={key:2,class:"file-change-delta"},ja=["data-tone"],Da=["data-role"],Va=["onClick"],Na=["onClick"],Ua=["data-copied","aria-label","title","onClick"],qa={class:"message-copy-label"},Ka={key:1,class:"conversation-item conversation-item-overlay"},Ga={class:"message-row"},Za={class:"message-stack"},Xa={class:"live-overlay-inline","aria-live":"polite"},Ja={class:"live-overlay-label"},Ya={key:0,class:"live-overlay-reasoning"},Qa={key:1,class:"live-overlay-error"},er=["src"],tr={key:0,class:"diff-viewer-sidebar"},nr={class:"diff-viewer-sidebar-header"},sr={class:"diff-viewer-sidebar-count"},ir={class:"diff-viewer-sidebar-list"},or=["data-active","onClick"],ar=["data-operation"],rr={class:"diff-viewer-file-label"},lr={key:0,class:"diff-viewer-file-delta"},cr={class:"diff-viewer-main"},ur={class:"diff-viewer-toolbar"},dr={class:"diff-viewer-title-wrap"},hr={class:"diff-viewer-title"},fr={class:"diff-viewer-subtitle"},pr={key:0},mr={class:"diff-viewer-toolbar-actions"},vr={key:0,class:"diff-viewer-empty"},kr={key:1,class:"diff-viewer-panel"},gr={class:"diff-viewer-meta"},yr={class:"diff-viewer-language"},_r={class:"diff-viewer-lines"},wr=["data-kind"],br={class:"diff-viewer-line-number"},xr={class:"diff-viewer-line-number"},Cr={class:"diff-viewer-line-marker"},$r=["innerHTML"],Lr={class:"diff-viewer-mobile-sheet-header"},Tr={class:"diff-viewer-sidebar-count"},Mr={class:"diff-viewer-mobile-sheet-list"},Sr=["data-active","onClick"],Ir=["data-operation"],Pr={class:"diff-viewer-file-label"},Ar={key:0,class:"diff-viewer-file-delta"},Er=16,Br=300,Fr=1200,Rr=300,Hr=250,Tt=50,Wr=30,Or=200,zr=qs({__name:"ThreadConversation",props:{messages:{},pendingRequests:{},liveOverlay:{},isLoading:{type:Boolean},activeThreadId:{},cwd:{},scrollState:{}},emits:["updateScrollState","forkThread","rollback","implementPlan","respondServerRequest"],setup(M,{expose:be,emit:Bn}){var In;const de=b(new Set),W=b(new Set),he=b(new Set),Xe=b(new Set),fe=b(new Set),Je=b(null),xe=b(""),D=b(!1),Mt=b(null),pe=b(!1),St=b(0),It=b(0),Ye=b(""),Qe=b(""),{isMobile:Ce}=Ks();function Fn(e){var i;const n=e.replace(/\r\n/g,`
|
|
2
|
+
`).trim();if(!n)return null;const t=[],s=[];for(const a of n.split(`
|
|
3
|
+
`)){const u=a.trim();if(!u){t.length===0&&s.push("");continue}const o=u.match(/^[-*]\s+\[([ xX~>|-])\]\s+(.+)$/);if(o){const h=(o[1]??" ").toLowerCase();let c="pending";h==="x"&&(c="completed"),(h==="~"||h===">"||h==="-")&&(c="inProgress"),t.push({step:((i=o[2])==null?void 0:i.trim())??"",status:c});continue}s.push(u)}return t.length===0?null:{explanation:s.join(`
|
|
4
|
+
`).trim(),steps:t.filter(a=>a.step.length>0)}}function et(e){var n;return e.plan&&e.plan.steps.length>0?{explanation:((n=e.plan.explanation)==null?void 0:n.trim())??"",steps:e.plan.steps}:Fn(e.text)}function E(e){return e.messageType==="commandExecution"&&!!e.commandExecution}function tt(e){return e.messageType==="plan"||e.messageType==="plan.live"}function Rn(e){return tt(e)&&e.messageType!=="plan.live"&&e.role==="assistant"&&!!e.turnId}function Hn(e){var t;const n=((t=e.turnId)==null?void 0:t.trim())??"";n&&Pe("implementPlan",{turnId:n})}function nt(e){return e.messageType==="fileChange"&&e.fileChangeStatus==="completed"&&Array.isArray(e.fileChanges)&&e.fileChanges.length>0}function $e(e){return e.role==="assistant"&&!E(e)&&e.messageType!=="worked"&&!(e.messageType??"").endsWith(".live")}const st=L(()=>{var e;for(let n=v.messages.length-1;n>=0;n-=1){const t=v.messages[n];if(t.messageType==="commandExecution"&&((e=t.commandExecution)==null?void 0:e.status)==="inProgress")return t.id}return""}),Pt=L(()=>v.messages.some(e=>e.role==="assistant"&&e.messageType==="agentMessage.live"&&e.text.trim().length>0)),At=L(()=>!!v.liveOverlay||st.value.length>0||Pt.value),it=L(()=>{const e={};for(let n=0;n<v.messages.length;){const t=v.messages[n];if(!E(t)){n+=1;continue}const s=[];for(;n<v.messages.length&&E(v.messages[n]);)s.push(v.messages[n]),n+=1;if(s.length<=1)continue;const i=s[s.length-1];e[i.id]=s.slice(0,-1)}return e}),Wn=L(()=>{const e=new Set;for(const n of Object.values(it.value))for(const t of n)e.add(t.id);return e});function Et(e){var n;return((n=et(e))==null?void 0:n.explanation)??""}function Bt(e){var n;return((n=et(e))==null?void 0:n.steps)??[]}function On(e){switch(e){case"completed":return"✓";case"inProgress":return"•";default:return"○"}}function Ft(e){return!Pt.value&&e.id===st.value}function B(e){return E(e)?de.value.has(e.id)||!W.value.has(e.id)&&Ft(e):!1}function ot(e){return E(e)&&At.value}function at(e){var n;return E(e)&&(At.value||((n=e.commandExecution)==null?void 0:n.status)==="inProgress")}function rt(e){if(!E(e))return;const n=new Set(de.value),t=new Set(W.value),s=Ft(e);n.has(e.id)?(n.delete(e.id),s&&t.add(e.id)):s&&!t.has(e.id)?t.add(e.id):(n.add(e.id),t.delete(e.id)),de.value=n,W.value=t}function Le(e){return it.value[e.id]??[]}function Rt(e){return E(e)?[...Le(e),e]:[]}function zn(e){if(Le(e).length===0)return;const t=new Set(he.value);t.has(e.id)?t.delete(e.id):t.add(e.id),he.value=t}function lt(e){return he.value.has(e.id)}function jn(e){var a,u;const t=Rt(e).length,s=((u=(a=e.commandExecution)==null?void 0:a.command)==null?void 0:u.trim())||"(command)";return`${t===1?"1 command":`${t} commands`} · latest: ${s}`}function Dn(e){return Me(e)}function Vn(e){const n=new Set(Xe.value);n.has(e.id)?n.delete(e.id):n.add(e.id),Xe.value=n}function Ht(e){return Xe.value.has(e.id)}function Wt(e){const n=new Set(fe.value);n.has(e.id)?n.delete(e.id):n.add(e.id),fe.value=n}function te(e){return fe.value.has(e.id)}function T(e){return`${e.path}\0${e.movedToPath??""}`}function Te(e,n){e&&(Je.value=e,xe.value=T(n),D.value=!1)}function Ot(){Je.value=null,xe.value="",D.value=!1}function Nn(){D.value=!D.value}function Un(){D.value=!1}function zt(e){xe.value=T(e),Ce.value&&(D.value=!1)}function Me(e){const n=e.commandExecution;if(!n)return"";const t=ot(e);switch(n.status){case"inProgress":return t?"Running":"⟳ Running";case"completed":return n.exitCode===0?t?"Done":"✓ Completed":`Exit ${n.exitCode??"?"}`;case"failed":return t?"Failed":"✗ Failed";case"declined":return t?"Declined":"⊘ Declined";case"interrupted":return t?"Stopped":"⊘ Interrupted";default:return""}}function Se(e){var t,s;const n=(t=e.commandExecution)==null?void 0:t.status;return n==="inProgress"?"cmd-status-running":n==="completed"&&((s=e.commandExecution)==null?void 0:s.exitCode)===0?"cmd-status-ok":"cmd-status-error"}function Ie(e,n){if(e.size===0)return e;const t=new Set;for(const s of e)n.has(s)&&t.add(s);return t.size===e.size?e:t}function qn(e,n){const t=[];for(let s=n-1;s>=0;s--){const i=e[s];if(i.messageType==="commandExecution")t.unshift(i);else if(i.role==="user"||i.messageType==="worked")break}return t}const v=M,Pe=Bn,V=b(null),jt=b(null),me=b(""),N=b(""),Kn=b(null),O=b(((In=v.scrollState)==null?void 0:In.isAtBottom)!==!1),Dt={js:"javascript",jsx:"jsx",ts:"typescript",tsx:"tsx",py:"python",rb:"ruby",sh:"bash",shell:"bash",zsh:"bash",yml:"yaml",md:"markdown","c++":"cpp","c#":"csharp",ps1:"powershell"};let U=0,A=0,Ae=0,q=null,ve=null;const Vt=new WeakSet,Ee=b(null),ne=b(0),Nt=b(0);let Be=null;const ke=new Map,ge=new Map,se=new Map,ie=new Map;function Fe(e,n,t,s){for(e.has(n)&&e.delete(n),e.set(n,t);e.size>s;){const i=e.keys().next().value;if(i===void 0)break;e.delete(i)}return t}const F=b(0),K=b(!1),Gn=L(()=>v.messages.slice(F.value)),ct=L(()=>F.value>0),Zn=L(()=>!O.value&&(v.messages.length>0||v.pendingRequests.length>0||!!v.liveOverlay));function Xn(){return Ee.value?Promise.resolve():(Be||(Be=ti(()=>import("./common-BeuopZEI.js"),[]).then(e=>{Ee.value=e.default,ie.clear(),se.clear(),ne.value+=1}).finally(()=>{Be=null})),Be)}function Jn(e){if(!e||/[\r\n]/u.test(e)||e.endsWith("/")||e.endsWith("\\")||/^[A-Za-z][A-Za-z0-9+.-]*:\/\//u.test(e))return!1;const n=e.startsWith("/"),t=/^[A-Za-z]:[\\/]/u.test(e),s=e.startsWith("./")||e.startsWith("../")||e.startsWith("~/");return n||t||s?!0:/^[A-Za-z0-9._@() -]+(?:[\\/][A-Za-z0-9._@() -]+)+$/u.test(e)}function Re(e){return e.replace(/\\/gu,"/").split("/").filter(Boolean).pop()||e}function oe(e){return e.replace(/\\/gu,"/")}function Ut(e){if(!e.startsWith("file://"))return e;let n=e.replace(/^file:\/\//u,"");try{n=decodeURIComponent(n)}catch{}return/^\/[A-Za-z]:\//u.test(n)&&(n=n.slice(1)),n}function Yn(e){const n=oe(e),t=n.match(/^\/Users\/([^/]+)/u);if(t)return`/Users/${t[1]}`;const s=n.match(/^\/home\/([^/]+)/u);return s?`/home/${s[1]}`:""}function ae(e){const n=oe(e);if(!n)return n;let t="",s=n;const i=s.match(/^([A-Za-z]:)(\/.*)?$/u);i?(t=`${i[1]}/`,s=(i[2]??"").replace(/^\/+/u,"")):s.startsWith("/")&&(t="/",s=s.slice(1));const a=s.split("/").filter(Boolean),u=[];for(const h of a)if(h!=="."){if(h===".."){u.length>0&&u.pop();continue}u.push(h)}const o=u.join("/");return t?`${t}${o}`.replace(/\/+$/u,"")||t:o||n}function qt(e,n){const t=oe(Ut(e.trim()));if(!t)return"";if(t.startsWith("/")||/^[A-Za-z]:\//u.test(t))return ae(t);if(t.startsWith("~/")){const a=Yn(n);if(a)return ae(`${a}/${t.slice(2)}`)}const i=oe(n.trim());return ae(i?`${i.replace(/\/+$/u,"")}/${t}`:t)}function ye(e){if(!e)return null;let n=e.trim();n=He(n).core.trim();let s=null;const i=n.match(/^(.*)#L(\d+)(?:C\d+)?$/u);if(i)n=i[1],s=Number(i[2]);else{const a=n.match(/^(.*):(\d+)(?::\d+)?$/u);a&&(n=a[1],s=Number(a[2]))}return n=Ut(n),Jn(n)?{path:n,line:s}:null}function He(e){let n=e,t="",s="";const i={"(":")","[":"]","{":"}","<":">",'"':'"',"'":"'","`":"`","“":"”","‘":"’"};for(;n.length>0;){const a=n[0],u=Object.prototype.hasOwnProperty.call(i,a)?i[a]:"";if(!u||!n.endsWith(u))break;t+=a,s+=u,n=n.slice(1,-1)}return{core:n,leading:t,trailing:s}}function ut(e){const n=e.trim();if(!n.startsWith("[")||!n.endsWith(")"))return null;const t=n.indexOf("]");if(t<=1||n[t+1]!=="(")return null;const s=n.slice(1,t).trim(),i=n.slice(t+2,-1).trim();if(s.includes(`
|
|
5
|
+
`)||i.includes(`
|
|
6
|
+
`))return null;const a=He(s).core.trim()||s,u=He(i).core.trim();return u?{label:a,target:u}:null}function Kt(e){const n=Math.min(6,Math.max(1,Math.trunc(e)));return`h${String(n)}`}function Gt(e){switch(Math.min(6,Math.max(1,Math.trunc(e)))){case 1:return"message-heading-h1";case 2:return"message-heading-h2";case 3:return"message-heading-h3";case 4:return"message-heading-h4";case 5:return"message-heading-h5";default:return"message-heading-h6"}}function Qn(e){switch(e){case"completed":return"[x]";case"inProgress":return"[~]";default:return"[ ]"}}function es(e){var s;const n=et(e);if(!n)return"";const t=[];return(s=n.explanation)!=null&&s.trim()&&t.push(n.explanation.trim()),n.steps.length>0&&t.push(n.steps.map(i=>`- ${Qn(i.status)} ${i.step}`.trim()).join(`
|
|
7
|
+
`)),t.join(`
|
|
8
|
+
|
|
9
|
+
`).trim()}function ts(e){const n=[],t=e.text.trim()||es(e),s=tt(e)&&t?`Plan
|
|
10
|
+
${t}`:t;s&&n.push(s);const i=(e.fileAttachments??[]).map(u=>u.path.trim()).filter(u=>u.length>0);i.length>0&&n.push(`Files:
|
|
11
|
+
${i.join(`
|
|
12
|
+
`)}`);const a=(e.images??[]).map(u=>u.trim()).filter(u=>u.length>0);return a.length>0&&n.push(`Images:
|
|
13
|
+
${a.join(`
|
|
14
|
+
`)}`),n.join(`
|
|
15
|
+
|
|
16
|
+
`).trim()}const Zt=L(()=>{var t;const e=new Map;for(const s of v.messages){if(!$e(s))continue;const i=ts(s);if(!i)continue;const a=typeof s.turnIndex=="number"?`turn:${s.turnIndex}`:`message:${s.id}`,u=e.get(a);if(u){u.anchorMessageId=s.id,u.parts.push(i);continue}e.set(a,{anchorMessageId:s.id,parts:[i]})}const n={};for(const s of e.values()){const i=s.parts.join(`
|
|
17
|
+
|
|
18
|
+
`).trim();i&&(n[s.anchorMessageId]=i)}for(const[s,i]of Object.entries(We.value)){if(i.source!=="metadata")continue;const a=ls(i);if(!a)continue;const u=(t=n[s])==null?void 0:t.trim();n[s]=u?`${u}
|
|
19
|
+
|
|
20
|
+
${a}`:a}return n}),Xt=L(()=>{const e=new Map;for(const t of v.messages){if(!$e(t)||typeof t.turnIndex!="number")continue;const s=`turn:${t.turnIndex}`,i=e.get(s);if(i){i.anchorMessageId=t.id,i.turnIndex=t.turnIndex;continue}e.set(s,{anchorMessageId:t.id,turnIndex:t.turnIndex})}const n={};for(const t of e.values())n[t.anchorMessageId]=t.turnIndex;return n});function Jt(e){return typeof Zt.value[e.id]=="string"}function ns(e){return typeof Xt.value[e.id]=="number"}function ss(e,n){return e?!n||e===n?e:`${e}
|
|
21
|
+
${n}`.trim():n}function is(e,n){const t=e.operation==="add"||n.operation==="add"?"add":e.operation==="delete"||n.operation==="delete"?"delete":"update";return{path:n.path||e.path,operation:t,movedToPath:n.movedToPath??e.movedToPath??null,diff:ss(e.diff,n.diff),addedLineCount:e.addedLineCount+n.addedLineCount,removedLineCount:e.removedLineCount+n.removedLineCount}}function os(e,n){const t=e.operation==="add"?0:e.operation==="update"?1:2,s=n.operation==="add"?0:n.operation==="update"?1:2;if(t!==s)return t-s;const i=`${e.path}\0${e.movedToPath??""}`,a=`${n.path}\0${n.movedToPath??""}`;return i.localeCompare(a)}function dt(e){const n=new Map;for(const t of e){const s=`${t.path}\0${t.movedToPath??""}`,i=n.get(s);n.set(s,i?is(i,t):{...t})}return Array.from(n.values()).sort(os)}const We=L(()=>{const e=new Map,n=new Map,t=new Map;for(const i of v.messages){if($e(i)&&typeof i.turnIndex=="number"&&(e.set(`turn:${i.turnIndex}`,i.id),Array.isArray(i.fileChanges)&&i.fileChanges.length>0&&n.set(i.id,{changes:dt(i.fileChanges),sourceMessageIds:[],source:"assistant"})),!nt(i))continue;const a=typeof i.turnIndex=="number"?`turn:${i.turnIndex}`:`message:${i.id}`,u=t.get(a);u?u.push(i):t.set(a,[i])}const s={};for(const[i,a]of t.entries()){const u=e.get(i);u&&(s[u]={changes:dt(a.flatMap(o=>o.fileChanges??[])),sourceMessageIds:a.map(o=>o.id),source:"metadata"})}for(const[i,a]of n.entries())s[i]||(s[i]=a);return s}),ht=L(()=>{const e=new Map,n=new Map;for(const s of v.messages){if($e(s)&&typeof s.turnIndex=="number"&&e.set(`turn:${s.turnIndex}`,s.id),!nt(s))continue;const i=typeof s.turnIndex=="number"?`turn:${s.turnIndex}`:`message:${s.id}`,a=n.get(i);a?a.push(s):n.set(i,[s])}const t={};for(const[s,i]of n.entries()){if(e.has(s))continue;const a=i[i.length-1];a&&(t[a.id]={changes:dt(i.flatMap(u=>u.fileChanges??[])),sourceMessageIds:i.map(u=>u.id),source:"metadata"})}return t}),as=L(()=>{const e=new Set;for(const n of Object.values(We.value))for(const t of n.sourceMessageIds)e.add(t);for(const[n,t]of Object.entries(ht.value))for(const s of t.sourceMessageIds)s!==n&&e.add(s);return e});function re(e){return We.value[e.id]??null}function le(e){return ht.value[e.id]??null}function ce(e){return e.operation==="update"&&e.movedToPath?e.addedLineCount>0||e.removedLineCount>0?"Moved + edited":"Moved":e.operation==="add"?"Added":e.operation==="delete"?"Deleted":"Edited"}function Oe(e){return e.operation==="update"&&e.movedToPath?"move":e.operation}function G(e){const n=[];return e.addedLineCount>0&&n.push(`+${e.addedLineCount}`),e.removedLineCount>0&&n.push(`-${e.removedLineCount}`),n.join(" ")}function Yt(e,n,t=""){const s=[];return e>0&&s.push({tone:"add",label:`+${e}`}),n>0&&s.push({tone:"remove",label:`-${n}`}),s.length>0?s:t?[{tone:"neutral",label:t}]:[]}function Qt(e){return Yt(e.addedLineCount,e.removedLineCount)}function ze(e){return e===1?"1 file changed":`${e} files changed`}function rs(e){if(!e||e.changes.length===0)return"";let n=0,t=0,s=0,i=0;for(const u of e.changes){if(u.operation==="add"){n+=1;continue}if(u.operation==="delete"){t+=1;continue}if(u.movedToPath){i+=1;continue}s+=1}const a=[];return s>0&&a.push(`${s} edited`),n>0&&a.push(`${n} added`),t>0&&a.push(`${t} deleted`),i>0&&a.push(`${i} moved`),a.join(", ")}function en(e){if(!e||e.changes.length===0)return"Modified files";const n=ze(e.changes.length),t=rs(e);return t?`${n} · ${t}`:n}function tn(e){if(!e||e.changes.length===0)return[];const n=e.changes.reduce((i,a)=>i+a.addedLineCount,0),t=e.changes.reduce((i,a)=>i+a.removedLineCount,0),s=e.changes.some(i=>i.movedToPath)?"Moved":"Ready";return Yt(n,t,s)}function S(e){const n=qt(e,v.cwd),t=ae(oe(v.cwd.trim())),s=ae(oe(n));return t&&s.startsWith(`${t}/`)?s.slice(t.length+1):e}function ls(e){return!e||e.changes.length===0?"":`Modified files:
|
|
22
|
+
${e.changes.map(t=>{const s=S(t.path),i=t.movedToPath?` -> ${S(t.movedToPath)}`:"",a=G(t);return`- ${ce(t)}: ${s}${i}${a?` (${a})`:""}`}).join(`
|
|
23
|
+
`)}`.trim()}const ue=L(()=>{var e;return((e=Je.value)==null?void 0:e.changes)??[]}),I=L(()=>{const e=ue.value;return e.length===0?null:e.find(n=>T(n)===xe.value)??e[0]});function cs(e){var s;const t=((s=(e.movedToPath||e.path).split(".").pop())==null?void 0:s.toLowerCase())??"";return Dt[t]??t??""}function us(e){return e.operation==="update"&&/^diff --git |^@@ |^--- |^\+\+\+ |^[ +-]|^\*\*\* (Move to:|End of File)/mu.test(e.diff)}function ds(e){const n=e.diff.replace(/\r\n/g,`
|
|
24
|
+
`),t=n.length>0?n.split(`
|
|
25
|
+
`):[];return t.length>0&&t[t.length-1]===""&&t.pop(),t.map((s,i)=>({key:`${T(e)}:synthetic:${i}`,kind:e.operation==="delete"?"remove":"add",oldLine:e.operation==="delete"?i+1:null,newLine:e.operation==="delete"?null:i+1,text:s}))}function hs(e){const n=e.diff.replace(/\r\n/g,`
|
|
26
|
+
`),t=n.length>0?n.split(`
|
|
27
|
+
`):[];t.length>0&&t[t.length-1]===""&&t.pop();const s=[];let i=0,a=0;for(const[u,o]of t.entries()){const h=o.match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/u);if(h){i=Number(h[1]),a=Number(h[2]),s.push({key:`${T(e)}:hunk:${u}`,kind:"hunk",oldLine:null,newLine:null,text:o});continue}if(o.startsWith("+")&&!o.startsWith("+++")){s.push({key:`${T(e)}:add:${u}`,kind:"add",oldLine:null,newLine:a,text:o.slice(1)}),a+=1;continue}if(o.startsWith("-")&&!o.startsWith("---")){s.push({key:`${T(e)}:remove:${u}`,kind:"remove",oldLine:i,newLine:null,text:o.slice(1)}),i+=1;continue}if(o.startsWith(" ")){s.push({key:`${T(e)}:context:${u}`,kind:"context",oldLine:i,newLine:a,text:o.slice(1)}),i+=1,a+=1;continue}s.push({key:`${T(e)}:meta:${u}`,kind:"meta",oldLine:null,newLine:null,text:o})}return s}function fs(e){return!e||!e.diff.trim()?[]:us(e)?hs(e):ds(e)}const ps=L(()=>fs(I.value));function ms(e){return!!(e!=null&&e.diff.trim())}function vs(e){return e.kind==="add"?"+":e.kind==="remove"?"-":e.kind==="hunk"?"@@":""}function ks(e){if(typeof document>"u")return!1;const n=document.createElement("textarea");n.value=e,n.setAttribute("readonly","true"),n.style.position="fixed",n.style.left="-9999px",n.style.opacity="0",n.style.pointerEvents="none",document.body.appendChild(n),n.focus(),n.select(),n.setSelectionRange(0,e.length);try{return document.execCommand("copy")}catch{return!1}finally{document.body.removeChild(n)}}async function gs(e){var s;const n=Zt.value[e]??"";if(!n)return;let t=!1;if(typeof navigator<"u"&&((s=navigator.clipboard)!=null&&s.writeText))try{await navigator.clipboard.writeText(n),t=!0}catch{t=!1}t||(t=ks(n)),t&&(N.value=e,q&&clearTimeout(q),q=setTimeout(()=>{N.value===e&&(N.value=""),q=null},1800))}function ys(e){const n=Xt.value[e];typeof n=="number"&&v.activeThreadId&&Pe("forkThread",{threadId:v.activeThreadId,turnIndex:n})}const nn=L(()=>{const e={};for(const n of v.messages){if(n.role!=="user"||typeof n.turnIndex!="number")continue;const t=typeof n.turnId=="string"&&n.turnId.length>0?n.turnId:"";!t||n.text.trim().length===0||(e[n.id]=t)}return e});function sn(e){return typeof nn.value[e.id]=="string"}function _s(e){const n=nn.value[e];n&&Pe("rollback",{turnId:n})}function ft(e){const n=[],t=/https?:\/\/[^\s<>"'`,。;:!?、()[\]{}「」『』《》]+|file:\/\/[^\n<>"'`,。;:!?、[\]{}「」『』《》]+|["'](?:[A-Za-z]:[\\/]|~\/|\.{1,2}\/|\/)[^\n"']+["']|`(?:[A-Za-z]:[\\/]|~\/|\.{1,2}\/|\/)[^`\n]+`/gu;let s=0;for(const i of e.matchAll(t)){if(typeof i.index!="number")continue;const a=i.index,u=a+i[0].length;a>s&&n.push({kind:"text",value:e.slice(s,a)});let o=i[0],h="";for(;/[.,;:!?,。;:!?、]$/u.test(o);)h=o.slice(-1)+h,o=o.slice(0,-1);const c=He(o);o=c.core;const m=c.leading,p=c.trailing+h;if(m&&n.push({kind:"text",value:m}),o.startsWith("**")&&o.endsWith("**")&&o.length>4)n.push({kind:"bold",value:o.slice(2,-2)}),p&&n.push({kind:"text",value:p});else if(/^https?:\/\//u.test(o))n.push({kind:"url",value:o,href:o}),p&&n.push({kind:"text",value:p});else{const y=ye(o);y?(n.push({kind:"file",value:o,path:y.path,displayPath:o,downloadName:Re(y.path)}),p&&n.push({kind:"text",value:p})):n.push({kind:"text",value:i[0]})}s=u}return s<e.length&&n.push({kind:"text",value:e.slice(s)}),ws(n)}function pt(e,n){const t=[];let s=!1,i="";const a=u=>{u&&t.push({kind:"text",value:u})};for(const u of e){if(u.kind!=="text"){s&&(a(`${n.marker}${i}`),s=!1,i=""),t.push(u);continue}let o=u.value;for(;o.length>0;){const h=o.indexOf(n.marker);if(h<0){s?i+=o:a(o);break}const c=o.slice(0,h);if(s?i+=c:a(c),o=o.slice(h+n.marker.length),s){const m=i;m.length>0&&(!n.isValidContent||n.isValidContent(m))?t.push({kind:n.kind,value:m}):a(`${n.marker}${m}${n.marker}`),i="",s=!1}else s=!0}}return s&&a(`${n.marker}${i}`),t}function ws(e){const n=s=>s.trim().length>0&&!/^\s/u.test(s)&&!/\s$/u.test(s);let t=pt(e,{marker:"**",kind:"bold",isValidContent:n});return t=pt(t,{marker:"~~",kind:"strikethrough",isValidContent:n}),t=pt(t,{marker:"*",kind:"italic",isValidContent:n}),t}function je(e){const n=[];let t=0,s=0;const i=(a,u)=>{let o=a.indexOf("[",u);for(;o>=0;){const h=a.indexOf("]",o+1);if(h<0)return null;if(a[h+1]!=="("){o=a.indexOf("[",o+1);continue}let c=1,m=h+2,p=!1;for(;m<a.length;){const y=a[m];if(y===`
|
|
28
|
+
`){p=!0;break}if(y==="("&&(c+=1),y===")"&&(c-=1,c===0)){const x=a.slice(o,m+1);if(ut(x))return{start:o,end:m+1,token:x};break}m+=1}if(p){o=a.indexOf("[",o+1);continue}o=a.indexOf("[",o+1)}return null};for(;s<e.length;){const a=i(e,s);if(!a)break;const{start:u,end:o,token:h}=a;u>t&&n.push(...ft(e.slice(t,u)));const c=ut(h);if(!c){n.push(...ft(e.slice(u,o))),t=o,s=o;continue}const m=c.label,p=c.target;if(/^https?:\/\//u.test(p))n.push({kind:"url",value:m||p,href:p});else{const y=ye(p);y?n.push({kind:"file",value:p,path:y.path,displayPath:m||p,downloadName:Re(y.path)}):n.push({kind:"text",value:h})}t=o,s=o}return t<e.length&&n.push(...ft(e.slice(t))),n}function bs(e){if(e.includes("](")){const i=je(e);if(i.some(a=>a.kind==="file"||a.kind==="url")&&!e.includes("`"))return i}if(!e.includes("`"))return je(e);const n=[];let t=0,s=0;for(;t<e.length;){if(e[t]!=="`"){t+=1;continue}let i=1;for(;t+i<e.length&&e[t+i]==="`";)i+=1;const a="`".repeat(i);let u=t+i,o=-1;for(;u<e.length;){const c=e.indexOf(a,u);if(c<0)break;const m=c>0&&e[c-1]==="`",p=c+i<e.length&&e[c+i]==="`",y=e.slice(t+i,c).includes(`
|
|
29
|
+
`);if(!m&&!p&&!y){o=c;break}u=c+1}if(o<0){t+=i;continue}t>s&&n.push(...je(e.slice(s,t)));const h=e.slice(t+i,o);if(h.length>0){const c=ut(h);if(c)if(/^https?:\/\//u.test(c.target))n.push({kind:"url",value:c.label||c.target,href:c.target});else{const m=ye(c.target);m?n.push({kind:"file",value:c.target,path:m.path,displayPath:c.label||c.target,downloadName:Re(m.path)}):n.push({kind:"code",value:h})}else if(/^https?:\/\/[^\s]+$/u.test(h))n.push({kind:"url",value:h,href:h});else{const m=ye(h);if(m){const p=m.line?`${m.path}:${String(m.line)}`:m.path;n.push({kind:"file",value:h,path:m.path,displayPath:p,downloadName:Re(m.path)})}else n.push({kind:"code",value:h})}}else n.push({kind:"text",value:`${a}${a}`});t=o+i,s=t}return s<e.length&&n.push(...je(e.slice(s))),n}function Z(e){const n=ge.get(e);return n?(ge.delete(e),ge.set(e,n),n):Fe(ge,e,bs(e),Fr)}function xs(e){const n=e.trim();if(!n)return"";if(n.startsWith("data:")||n.startsWith("blob:")||n.startsWith("http://")||n.startsWith("https://")||n.startsWith("/codex-local-image?"))return n;if(n.startsWith("file://"))return`/codex-local-image?path=${encodeURIComponent(n)}`;const t=n.startsWith("/"),s=/^[A-Za-z]:[\\/]/u.test(n);return t||s?`/codex-local-image?path=${encodeURIComponent(n)}`:n}function z(e){const n=e.trim();if(!n)return"#";const t=u=>u.startsWith("/")||/^[A-Za-z]:[\\/]/u.test(u),s=ye(n),i=(s==null?void 0:s.path)??n,a=qt(i,v.cwd);if(t(a)){const u=a.startsWith("/")?a:`/${a}`;return`/codex-local-browse${encodeURI(u)}`}return"#"}const Cs=L(()=>({left:`${String(St.value)}px`,top:`${String(It.value)}px`}));function $s(e){const n=e.trim();if(!n)return"";try{const t=new URL(n,window.location.href);return t.pathname.startsWith("/codex-local-browse")?`${`/codex-local-edit${t.pathname.slice(19)}`}${t.search}${t.hash}`:""}catch{return""}}function Ls(e){const n=e.target;if(!(n instanceof Element))return;const t=n.closest("a.message-file-link");if(!(t instanceof HTMLAnchorElement))return;const s=(t.getAttribute("href")??"").trim();!s||s==="#"||(e.preventDefault(),e.stopPropagation(),Ye.value=s,Qe.value=$s(s),St.value=e.clientX,It.value=e.clientY,pe.value=!0)}function X(){pe.value&&(pe.value=!1)}function Ts(){const e=Ye.value;X(),!(!e||e==="#")&&window.open(e,"_blank","noopener,noreferrer")}function Ms(){const e=Qe.value;X(),!(!e||e==="#")&&window.open(e,"_blank","noopener,noreferrer")}async function Ss(){const e=Ye.value;if(X(),!(!e||e==="#"))try{await navigator.clipboard.writeText(e)}catch{const n=document.createElement("textarea");n.value=e,n.setAttribute("readonly","true"),n.style.position="fixed",n.style.opacity="0",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}}function on(e){if(!pe.value)return;const n=Mt.value;if(!n){X();return}const t=e.target;t instanceof Node&&n.contains(t)||X()}function an(){X()}function rn(e){e.key==="Escape"&&X()}function ln(e){return e.replace(/\r\n/gu,`
|
|
30
|
+
`)}function R(e){var t;return(((t=e.match(/^\s*/u))==null?void 0:t[0])??"").replace(/\t/gu," ").length}function cn(e,n){if(n<=0)return e.trimStart();let t=0,s=0;for(;t<e.length&&s<n;){const i=e[t];s+=i===" "?4:1,t+=1}return e.slice(t)}function H(e){return e.trim().length===0}function mt(e){const n=e.match(/^\s{0,3}(#{1,6})\s+(.+)$/u);return n?{level:n[1].length,value:n[2].trim()}:null}function De(e){const n=e.match(/^\s{0,3}>\s?(.*)$/u);return n?n[1]??"":null}function _e(e){var t;const n=e.match(/^\s*[-*+]\s+(.+)$/u);return((t=n==null?void 0:n[1])==null?void 0:t.trim())??null}function Is(e){var t;const n=e.match(/^(\s*)[-*+]\s+(.+)$/u);return n?{indent:R(n[1]??""),text:((t=n[2])==null?void 0:t.trim())??""}:null}function we(e){var t;const n=e.match(/^\s*[-*+]\s+\[([ xX])\]\s+(.+)$/u);return n?{checked:(n[1]??" ").toLowerCase()==="x",text:((t=n[2])==null?void 0:t.trim())??""}:null}function un(e){var t;const n=e.match(/^(\s*)[-*+]\s+\[([ xX])\]\s+(.+)$/u);return n?{indent:R(n[1]??""),item:{checked:(n[2]??" ").toLowerCase()==="x",text:((t=n[3])==null?void 0:t.trim())??""}}:null}function dn(e){var t;const n=e.match(/^(\s*)(\d+)[.)]\s+(.+)$/u);return n?{indent:R(n[1]??""),start:Number.parseInt(n[2]??"1",10)||1,text:((t=n[3])==null?void 0:t.trim())??""}:null}function vt(e){var n;return((n=dn(e))==null?void 0:n.text)??null}function hn(e){return dn(e)}function kt(e){const n=e.trim();if(!n.includes("|"))return null;let t=n;t.startsWith("|")&&(t=t.slice(1)),t.endsWith("|")&&(t=t.slice(0,-1));const s=[];let i="",a=0;for(let u=0;u<t.length;u+=1){const o=t[u];if(o==="\\"&&t[u+1]==="|"){i+="|",u+=1;continue}if(o==="`"){let h=1;for(;t[u+h]==="`";)h+=1;i+=t.slice(u,u+h),a===0?a=h:a===h&&(a=0),u+=h-1;continue}if(o==="|"&&a===0){s.push(i.trim()),i="";continue}i+=o}return s.push(i.trim()),s.some(u=>u.length>0)?s:null}function Ps(e){const n=kt(e);if(!n||n.length===0)return null;const t=n.map(s=>{const i=s.replace(/\s+/gu,"");if(!/^:?-{3,}:?$/u.test(i))return null;const a=i.startsWith(":"),u=i.endsWith(":");return a&&u?"center":u?"right":a?"left":null});return t.every((s,i)=>s!==null||/^-+$/u.test(n[i].replace(/\s+/gu,"")))?t:null}function fn(e,n){return e.length===n?e:e.length>n?e.slice(0,n):[...e,...Array.from({length:n-e.length},()=>"")]}function pn(e,n){var m;if(n+1>=e.length)return null;const t=e[n],s=e[n+1],i=kt(t),a=Ps(s);if(!i||!a||i.length!==a.length)return null;const u=t.trim();if(!u.startsWith("|")&&(((m=u.match(/\|/gu))==null?void 0:m.length)??0)<2)return null;const o=i.length,h=[];let c=n+2;for(;c<e.length&&!H(e[c]);){const p=kt(e[c]);if(!p)break;h.push(fn(p,o)),c+=1}return{kind:"table",headers:fn(i,o),rows:h,alignments:a}}function As(e){return H(e)||Ve(e)!==null||gt(e)||mt(e)!==null||De(e)!==null||we(e)!==null||_e(e)!==null||vt(e)!==null}function Es(e,n,t=-1){const s=[];let i=n;for(;i<e.length&&!(As(e[i])||t>=0&&R(e[i])<=t);)s.push(t>=0?cn(e[i],t+1):e[i]),i+=1;const a=s.join(`
|
|
31
|
+
`).trim();return a?{value:a,nextIndex:i}:null}function mn(e,n){for(let t=n;t<e.length;t+=1)if(!H(e[t]))return t;return-1}function Bs(e,n,t,s=null,i=!1){const a=[];let u=n;for(;u<e.length;){const o=e[u];if(H(o)){const p=mn(e,u+1);if(p===-1){a.push(""),u=e.length;break}const y=s==null?void 0:s(e[p]);if(y&&y.indent===t||R(e[p])<=t)break;a.push(""),u+=1;continue}const h=s==null?void 0:s(o);if(h&&h.indent===t)break;const c=R(o),m=i&&(we(o)!==null||_e(o)!==null);if(c<=t&&!m)break;a.push(c>t?cn(o,t+1):o.trimStart()),u+=1}for(;a.length>0&&H(a[0]);)a.shift();for(;a.length>0&&H(a[a.length-1]);)a.pop();return a.length===0?null:{blocks:Ne(a.join(`
|
|
32
|
+
`)),nextIndex:u}}function vn(e,n,t,s=!1){const i=[];let a=n;const u=t(e[n]);if(!u)return null;const o=u.indent;for(;a<e.length;){const h=t(e[a]);if(h===null||h.indent!==o)break;const c=[h.text],m=[];for(a+=1;a<e.length;){if(H(e[a])){const _=mn(e,a+1);if(_===-1){a=e.length;break}const P=t(e[_]);if(P&&P.indent===o){a=_;break}if(R(e[_])<=o){a=_;break}a+=1;continue}const p=t(e[a]);if(p&&p.indent===o)break;const y=R(e[a])>o,x=s&&(we(e[a])!==null||_e(e[a])!==null);if(y||x){const _=Bs(e,a,o,t,s);if(_){m.push(..._.blocks),a=_.nextIndex;continue}}if(R(e[a])<=o)break;const j=Es(e,a,o);if(!j)break;c.push(j.value),a=j.nextIndex}i.push(m.length>0?{paragraphs:c,children:m}:{paragraphs:c})}return i.length>0?{items:i,nextIndex:a}:null}function gt(e){return/^\s{0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/u.test(e.trim())}function Ve(e){const n=e.match(/^\s{0,3}(```+|~~~+)\s*([^\s`~][^`]*)?\s*$/u);return n?{marker:n[1],language:(n[2]??"").trim()}:null}function Ne(e){var a;const t=ln(e).split(`
|
|
33
|
+
`),s=[];let i=0;for(;i<t.length;){if(H(t[i])){i+=1;continue}const u=Ve(t[i]);if(u){i+=1;const _=[];for(;i<t.length;){if(t[i].trim()===u.marker){i+=1;break}_.push(t[i]),i+=1}s.push({kind:"codeBlock",language:u.language,value:_.join(`
|
|
34
|
+
`)});continue}if(gt(t[i])){s.push({kind:"thematicBreak"}),i+=1;continue}const o=mt(t[i]);if(o){s.push({kind:"heading",level:o.level,value:o.value}),i+=1;continue}if(De(t[i])!==null){const _=[];for(;i<t.length;){const P=De(t[i]);if(P===null)break;_.push(P),i+=1}s.push({kind:"blockquote",value:_.join(`
|
|
35
|
+
`).trim()});continue}const c=pn(t,i);if(c){s.push(c),i+=2+c.rows.length;continue}if(we(t[i])!==null){const _=[],P=((a=un(t[i]))==null?void 0:a.indent)??0;for(;i<t.length;){const xt=un(t[i]);if(xt===null||xt.indent!==P)break;_.push(xt.item),i+=1}if(_.length>0){s.push({kind:"taskList",items:_});continue}}const p=_e(t[i]);if(p!==null){const _=vn(t,i,Is);if(_){s.push({kind:"unorderedList",items:_.items}),i=_.nextIndex;continue}if(p.length>0){s.push({kind:"unorderedList",items:[{paragraphs:[p]}]}),i+=1;continue}}const y=vt(t[i]);if(y!==null){const _=hn(t[i]),P=vn(t,i,hn,!0);if(P){s.push({kind:"orderedList",items:P.items,start:(_==null?void 0:_.start)??1}),i=P.nextIndex;continue}if(y.length>0){s.push({kind:"orderedList",items:[{paragraphs:[y]}],start:(_==null?void 0:_.start)??1}),i+=1;continue}}const x=[];for(;i<t.length&&!(H(t[i])||Ve(t[i])||gt(t[i])||mt(t[i])||pn(t,i)||De(t[i])!==null||we(t[i])!==null||_e(t[i])!==null||vt(t[i])!==null);)x.push(t[i]),i+=1;const j=x.join(`
|
|
36
|
+
`).trim();j&&s.push({kind:"paragraph",value:j})}return s}function Fs(e){if(!e.includes(")return Ne(e);const n=[],t=/!\[([^\]]*)\]\(([^)\n]+)\)/gu;let s=0;for(const i of e.matchAll(t)){const[a,u,o]=i;if(typeof i.index!="number")continue;const h=i.index,c=h+a.length,m=xs(o.trim());m&&(h>s&&n.push(...Ne(e.slice(s,h))),n.push({kind:"image",url:m,alt:u.trim(),markdown:a}),s=c)}return s<e.length&&n.push(...Ne(e.slice(s))),n}function kn(e){const t=ln(e).split(`
|
|
37
|
+
`),s=[];let i=0,a=0;const u=o=>{if(o<=a)return;const h=t.slice(a,o).join(`
|
|
38
|
+
`);s.push(...Fs(h))};for(;i<t.length;){const o=Ve(t[i]);if(!o){i+=1;continue}u(i),i+=1;const h=[];for(;i<t.length;){if(t[i].trim()===o.marker){i+=1;break}h.push(t[i]),i+=1}s.push({kind:"codeBlock",language:o.language,value:h.join(`
|
|
39
|
+
`)}),a=i}return u(t.length),s.length>0?s:[{kind:"paragraph",value:e}]}function Rs(e){const n=ke.get(e.id);if(n&&n.text===e.text&&n.cwd===v.cwd)return ke.delete(e.id),ke.set(e.id,n),n.blocks;const t=kn(e.text);return Fe(ke,e.id,{text:e.text,cwd:v.cwd,blocks:t},Br).blocks}function $(e){return e.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">").replace(/"/gu,""").replace(/'/gu,"'")}function gn(e){var t;const n=((t=e.trim().split(/\s+/u)[0])==null?void 0:t.toLowerCase())??"";return n?Dt[n]??n:""}function Hs(e,n){const t=gn(e);if(!t)return $(n);const s=Ee.value;if(!s)return $(n);try{if(s.getLanguage(t))return s.highlight(n,{language:t,ignoreIllegals:!0}).value}catch{}return $(n)}function yn(e,n){const t=`${ne.value}\0${gn(e)}\0${e}\0${n}`,s=ie.get(t);return s!==void 0?(ie.delete(t),ie.set(t,s),s):Fe(ie,t,Hs(e,n),Hr)}function J(e){return Z(e).map(n=>n.kind==="text"?$(n.value):n.kind==="bold"?`<strong class="message-bold-text">${$(n.value)}</strong>`:n.kind==="italic"?`<em class="message-italic-text">${$(n.value)}</em>`:n.kind==="strikethrough"?`<s class="message-strikethrough-text">${$(n.value)}</s>`:n.kind==="file"?`<a class="message-file-link" href="${$(z(n.path))}" target="_blank" rel="noopener noreferrer" title="${$(n.path)}">${$(n.displayPath)}</a>`:n.kind==="url"?`<a class="message-file-link" href="${$(n.href)}" target="_blank" rel="noopener noreferrer" title="${$(n.href)}">${$(n.value)}</a>`:`<code class="message-inline-code">${$(n.value)}</code>`).join("")}function Ws(e){return e.paragraphs.map(n=>`<div class="message-list-item-text message-list-item-paragraph">${J(n)}</div>`).join("")}function Ue(e){var s;const n=Ws(e),t=((s=e.children)==null?void 0:s.map(i=>wn(i)).join(""))??"";return n+t}function _n(e){return e?` style="text-align:${e}"`:""}function wn(e){if(e.kind==="paragraph")return`<p class="message-text">${J(e.value)}</p>`;if(e.kind==="heading"){const n=Math.min(6,Math.max(1,Math.trunc(e.level))),t=Kt(n),s=`message-heading ${Gt(n)}`;return`<${t} class="${s}">${J(e.value)}</${t}>`}if(e.kind==="blockquote")return`<blockquote class="message-blockquote">${J(e.value)}</blockquote>`;if(e.kind==="unorderedList")return`<ul class="message-list message-list-unordered">${e.items.map(t=>`<li class="message-list-item"><div class="message-list-item-content">${Ue(t)}</div></li>`).join("")}</ul>`;if(e.kind==="taskList")return`<ul class="message-list message-task-list">${e.items.map(t=>`<li class="message-task-item"><span class="message-task-checkbox" data-checked="${t.checked?"true":"false"}">${t.checked?"☑":"☐"}</span><div class="message-list-item-text">${J(t.text)}</div></li>`).join("")}</ul>`;if(e.kind==="orderedList"){const n=e.items.map(t=>`<li class="message-list-item"><div class="message-list-item-content">${Ue(t)}</div></li>`).join("");return`<ol class="message-list message-list-ordered" start="${e.start}">${n}</ol>`}if(e.kind==="table"){const n=e.headers.map((i,a)=>`<th class="message-table-head-cell"${_n(e.alignments[a]??null)}>${J(i)}</th>`).join(""),t=e.rows.map(i=>'<tr class="message-table-body-row">'+i.map((a,u)=>`<td class="message-table-cell"${_n(e.alignments[u]??null)}>${J(a)}</td>`).join("")+"</tr>").join(""),s=t?`<tbody>${t}</tbody>`:"";return`<div class="message-table-wrap"><table class="message-table"><thead><tr>${n}</tr></thead>${s}</table></div>`}return e.kind==="codeBlock"?`<div class="message-code-block">${e.language?`<div class="message-code-language">${$(e.language)}</div>`:""}<pre class="message-code-pre"><code class="hljs">${yn(e.language,e.value)}</code></pre></div>`:e.kind==="thematicBreak"?'<hr class="message-divider">':`<img class="message-image-preview message-markdown-image" src="${$(e.url)}" alt="${$(e.alt||"Embedded message image")}" loading="lazy">`}function yt(e){const n=`${v.cwd}\0${ne.value}\0${e}`,t=se.get(n);if(t&&t.text===e&&t.cwd===v.cwd&&t.highlightVersion===ne.value)return se.delete(n),se.set(n,t),t.html;const s=kn(e).map(i=>wn(i)).join("");return Fe(se,n,{text:e,cwd:v.cwd,highlightVersion:ne.value,html:s},Rr).html}function Os(){const e=V.value,n=jt.value;!e||!n||(e.scrollTop=e.scrollHeight,n.scrollIntoView({block:"end"}))}function bn(e){return e.scrollHeight-(e.scrollTop+e.clientHeight)<=Er}function qe(e){if(!v.activeThreadId)return;const n=Math.max(e.scrollHeight-e.clientHeight,0),t=n>0?Math.min(Math.max(e.scrollTop/n,0),1):1;Pe("updateScrollState",{threadId:v.activeThreadId,state:{scrollTop:e.scrollTop,isAtBottom:bn(e),scrollRatio:t}})}function zs(){const e=V.value;if(!e)return;if(O.value){Ke();return}const n=v.scrollState;if(!n||n.isAtBottom){qe(e);return}const t=Math.max(e.scrollHeight-e.clientHeight,0),s=n.scrollTop;e.scrollTop=Math.min(Math.max(s,0),t),qe(e)}function Ke(){const e=V.value;e&&(Os(),qe(e))}function _t(){return O.value}function xn(){if(!_t()){Ae=0,A=0;return}if(Ke(),Ae-=1,Ae<=0){A=0;return}A=requestAnimationFrame(xn)}function Ge(e=6){_t()&&(A&&(cancelAnimationFrame(A),A=0),Ae=Math.max(e,1),A=requestAnimationFrame(xn))}function Cn(){Ge(3)}function $n(){O.value=!0,Ke(),Ge(4)}async function Ln(){const e=V.value;if(!e||!ct.value||K.value)return;K.value=!0;const n=v.activeThreadId,t=e.scrollHeight,s=e.scrollTop;F.value=Math.max(0,F.value-Wr),await Ct(),v.activeThreadId===n&&(e.scrollTop=s+(e.scrollHeight-t),K.value=!1)}be({jumpToLatest:$n});function js(){if(!_t())return;const e=V.value;if(!e)return;const n=e.querySelectorAll("img.message-image-preview");for(const t of n)t.complete||Vt.has(t)||(Vt.add(t),t.addEventListener("load",Cn,{once:!0}),t.addEventListener("error",Cn,{once:!0}))}async function wt(){return ve||(ve=Ct().then(()=>new Promise(e=>{U&&cancelAnimationFrame(U),U=requestAnimationFrame(()=>{U=0,ve=null,zs(),js(),Ge(),e()})})),ve)}function Ds(){ke.clear(),ge.clear(),se.clear(),ie.clear()}Y(()=>v.messages,async e=>{if(v.isLoading)return;const n=new Set(e.filter(t=>t.messageType==="commandExecution"&&t.commandExecution).map(t=>t.id));de.value=Ie(de.value,n),W.value=Ie(W.value,n),he.value=Ie(he.value,new Set(Object.keys(it.value))),fe.value=Ie(fe.value,new Set([...Object.keys(We.value),...Object.keys(ht.value)])),O.value?F.value=Math.max(0,e.length-Tt):F.value=Math.min(F.value,Math.max(0,e.length-1)),await wt()}),Y(()=>v.messages.some(e=>e.text.includes("```")),e=>{!e||Ee.value||Xn()},{immediate:!0}),Y(st,(e,n)=>{if(!n||n===e||!W.value.has(n))return;const t=new Set(W.value);t.delete(n),W.value=t}),Y(()=>v.pendingRequests,async()=>{v.isLoading||await wt()},{deep:!0}),Y(()=>v.liveOverlay,async e=>{e&&O.value&&(await Ct(),Ke(),Ge(8))},{deep:!0}),Y(()=>v.isLoading,async e=>{e||(F.value=Math.max(0,v.messages.length-Tt),await wt())}),Y(()=>v.activeThreadId,()=>{Kn.value=null,O.value=!0,me.value="",K.value=!1,F.value=Math.max(0,v.messages.length-Tt)},{flush:"post"});function Vs(){const e=V.value;!e||v.isLoading||(O.value=bn(e),qe(e),ct.value&&!K.value&&e.scrollTop<Or&&Ln())}const bt=b(new Set);function Tn(e,n){return`${e}:${n}`}function Ns(e,n){return bt.value.has(Tn(e,n))}function Us(e,n){const t=new Set(bt.value);t.add(Tn(e,n)),bt.value=t,Nt.value+=1}function Mn(e){me.value=e}function Sn(){me.value=""}return Gs(()=>{window.addEventListener("pointerdown",on),window.addEventListener("blur",an),window.addEventListener("keydown",rn)}),Zs(()=>{Ds(),U&&(cancelAnimationFrame(U),U=0),A&&(cancelAnimationFrame(A),A=0),q&&(clearTimeout(q),q=null),window.removeEventListener("pointerdown",on),window.removeEventListener("blur",an),window.removeEventListener("keydown",rn)}),(e,n)=>(r(),l("section",{class:"conversation-root",onContextmenuCapture:Ls},[M.isLoading?(r(),l("p",li,"Loading messages...")):M.messages.length===0&&M.pendingRequests.length===0&&!M.liveOverlay?(r(),l("p",ci," No messages in this thread yet. ")):(r(),l("ul",{key:2,ref_key:"conversationListRef",ref:V,class:"conversation-list",onScroll:Vs},[ct.value?(r(),l("li",ui,[d("button",{type:"button",class:"load-more-button",disabled:K.value,onClick:Ln},f(K.value?"Loading…":"Load earlier messages"),9,di)])):k("",!0),(r(!0),l(g,null,w(Gn.value,t=>{var s,i,a,u;return r(),l(g,{key:t.id},[!Wn.value.has(t.id)&&!as.value.has(t.id)?(r(),l("li",{key:0,class:"conversation-item","data-role":t.role,"data-message-type":t.messageType||""},[E(t)?(r(),l("div",fi,[d("div",pi,[Le(t).length>0?(r(),l("button",{key:0,type:"button",class:C(["cmd-row cmd-row-group cmd-compact",[Se(t),{"cmd-expanded":lt(t)}]]),onClick:o=>zn(t)},[d("span",{class:C(["cmd-chevron",{"cmd-chevron-open":lt(t)}])},"▶",2),d("span",vi,f(jn(t)),1),d("span",ki,f(Dn(t)),1)],10,mi)):k("",!0),Le(t).length>0?(r(),l("div",{key:1,class:C(["cmd-group-wrap",{"cmd-group-visible":lt(t)}])},[d("div",gi,[(r(!0),l(g,null,w(Rt(t),o=>{var h,c;return r(),l("div",{key:`grouped-cmd-${o.id}`,class:"worked-cmd-item"},[d("button",{type:"button",class:C(["cmd-row",[Se(o),{"cmd-expanded":B(o),"cmd-compact":!0}]]),onClick:m=>rt(o)},[d("span",{class:C(["cmd-chevron",{"cmd-chevron-open":B(o)}])},"▶",2),d("code",_i,f(((h=o.commandExecution)==null?void 0:h.command)||"(command)"),1),d("span",wi,f(Me(o)),1)],10,yi),d("div",{class:C(["cmd-output-wrap",{"cmd-output-visible":B(o)}])},[d("div",bi,[d("pre",{class:C(["cmd-output",{"cmd-output-condensed":at(o)}]),textContent:f(((c=o.commandExecution)==null?void 0:c.aggregatedOutput)||"(no output)")},null,10,xi)])],2)])}),128))])],2)):(r(),l(g,{key:2},[d("button",{type:"button",class:C(["cmd-row",[Se(t),{"cmd-expanded":B(t),"cmd-compact":ot(t)}]]),onClick:o=>rt(t)},[d("span",{class:C(["cmd-chevron",{"cmd-chevron-open":B(t)}])},"▶",2),d("code",$i,f(((s=t.commandExecution)==null?void 0:s.command)||"(command)"),1),d("span",Li,f(Me(t)),1)],10,Ci),d("div",{class:C(["cmd-output-wrap",{"cmd-output-visible":B(t)}])},[d("div",Ti,[d("pre",{class:C(["cmd-output",{"cmd-output-condensed":at(t)}]),textContent:f(((i=t.commandExecution)==null?void 0:i.aggregatedOutput)||"(no output)")},null,10,Mi)])],2)],64))])])):nt(t)?(r(),l("div",{key:1,class:"message-row","data-role":t.role,"data-message-type":t.messageType||""},[d("div",{class:"message-stack","data-role":t.role},[d("article",{class:"message-body","data-role":t.role},[le(t)?(r(),l("section",Ai,[d("button",{type:"button",class:C(["cmd-row cmd-row-group cmd-compact file-change-summary-row",{"cmd-expanded":te(t)}]),onClick:o=>Wt(t)},[d("span",{class:C(["cmd-chevron",{"cmd-chevron-open":te(t)}])},"▶",2),d("span",Bi,f(en(le(t))),1),d("span",Fi,[(r(!0),l(g,null,w(tn(le(t)),o=>(r(),l("span",{key:`summary-status:${t.id}:${o.tone}:${o.label}`,class:"file-change-signed-count","data-tone":o.tone},f(o.label),9,Ri))),128))])],10,Ei),d("div",{class:C(["cmd-group-wrap",{"cmd-group-visible":te(t)}])},[d("div",Hi,[d("ul",Wi,[(r(!0),l(g,null,w(((a=le(t))==null?void 0:a.changes)??[],o=>(r(),l("li",{key:`file-change:${t.id}:${o.path}:${o.movedToPath||""}`,class:"file-change-item"},[d("span",{class:"file-change-badge","data-operation":Oe(o)},f(ce(o)),9,Oi),d("button",{type:"button",class:"file-change-path-button",title:o.path,onClick:h=>Te(le(t),o)},f(S(o.path)),9,zi),o.movedToPath?(r(),l("span",ji,"→")):k("",!0),o.movedToPath?(r(),l("button",{key:1,type:"button",class:"file-change-path-button",title:o.movedToPath,onClick:h=>Te(le(t),o)},f(S(o.movedToPath)),9,Di)):k("",!0),o.addedLineCount>0||o.removedLineCount>0?(r(),l("span",Vi,[(r(!0),l(g,null,w(Qt(o),h=>(r(),l("span",{key:`change-delta:${t.id}:${o.path}:${h.tone}:${h.label}`,class:"file-change-signed-count","data-tone":h.tone},f(h.label),9,Ni))),128))])):k("",!0)]))),128))])])],2)])):k("",!0)],8,Pi)],8,Ii)],8,Si)):(r(),l("div",{key:2,class:"message-row","data-role":t.role,"data-message-type":t.messageType||""},[d("div",{class:"message-stack","data-role":t.role},[d("article",{class:"message-body","data-role":t.role},[t.images&&t.images.length>0?(r(),l("ul",{key:0,class:C(["message-image-list",{"message-generated-image-list":t.messageType==="imageView"}]),"data-role":t.role},[(r(!0),l(g,null,w(t.images,o=>(r(),l("li",{key:o,class:"message-image-item"},[d("button",{class:"message-image-button",type:"button",onClick:h=>Mn(o)},[d("img",{class:C(["message-image-preview",{"message-generated-image-preview":t.messageType==="imageView"}]),src:o,alt:t.messageType==="imageView"?"Generated image":"Message image preview",loading:"lazy"},null,10,Xi)],8,Zi)]))),128))],10,Gi)):k("",!0),t.fileAttachments&&t.fileAttachments.length>0?(r(),l("div",Ji,[(r(!0),l(g,null,w(t.fileAttachments,o=>(r(),l("span",{key:`${t.id}:${o.path}`,class:"message-file-chip"},[n[5]||(n[5]=d("span",{class:"message-file-chip-icon"},"📄",-1)),d("a",{class:"message-file-link message-file-chip-name",href:z(o.path),target:"_blank",rel:"noopener noreferrer",title:o.path},f(o.label),9,Yi)]))),128))])):k("",!0),t.text.length>0?(r(),l("article",{key:2,class:"message-card","data-role":t.role},[t.messageType==="worked"?(r(),l("div",eo,[d("button",{type:"button",class:"worked-separator",onClick:o=>Vn(t)},[n[6]||(n[6]=d("span",{class:"worked-separator-line","aria-hidden":"true"},null,-1)),d("span",{class:C(["worked-chevron",{"worked-chevron-open":Ht(t)}])},"▶",2),d("p",no,f(t.text),1),n[7]||(n[7]=d("span",{class:"worked-separator-line","aria-hidden":"true"},null,-1))],8,to),Ht(t)?(r(),l("div",so,[(r(!0),l(g,null,w(qn(M.messages,M.messages.indexOf(t)),o=>{var h,c;return r(),l("div",{key:`worked-cmd-${o.id}`,class:"worked-cmd-item"},[d("button",{type:"button",class:C(["cmd-row",[Se(o),{"cmd-expanded":B(o),"cmd-compact":ot(o)}]]),onClick:m=>rt(o)},[d("span",{class:C(["cmd-chevron",{"cmd-chevron-open":B(o)}])},"▶",2),d("code",oo,f(((h=o.commandExecution)==null?void 0:h.command)||"(command)"),1),d("span",ao,f(Me(o)),1)],10,io),d("div",{class:C(["cmd-output-wrap",{"cmd-output-visible":B(o)}])},[d("div",ro,[d("pre",{class:C(["cmd-output",{"cmd-output-condensed":at(o)}]),textContent:f(((c=o.commandExecution)==null?void 0:c.aggregatedOutput)||"(no output)")},null,10,lo)])],2)])}),128))])):k("",!0)])):tt(t)?(r(),l("div",{key:1,class:"plan-card","data-streaming":t.messageType==="plan.live"},[d("div",uo,[n[8]||(n[8]=d("p",{class:"plan-card-title"},"Plan",-1)),t.messageType==="plan.live"?(r(),l("span",ho,"Updating")):k("",!0)]),Et(t)?(r(),l("div",{key:0,class:"plan-card-explanation plan-card-markdown",innerHTML:yt(Et(t))},null,8,fo)):k("",!0),Bt(t).length>0?(r(),l("ol",po,[(r(!0),l(g,null,w(Bt(t),(o,h)=>(r(),l("li",{key:`${t.id}:plan-step:${h}`,class:"plan-step-item","data-status":o.status},[d("span",{class:"plan-step-status","data-status":o.status},f(On(o.status)),9,vo),d("div",{class:"plan-step-text plan-card-markdown",innerHTML:yt(o.step)},null,8,ko)],8,mo))),128))])):(r(),l("div",{key:2,class:"plan-card-markdown",innerHTML:yt(t.text)},null,8,go)),Rn(t)?(r(),l("div",yo,[d("button",{type:"button",class:"plan-card-implement-button",onClick:o=>Hn(t)}," Implement plan ",8,_o)])):k("",!0)],8,co)):Xs([t.id,t.text,v.cwd,ne.value,Nt.value],()=>(r(),l("div",{key:2,class:"message-text-flow"},[(r(!0),l(g,null,w(Rs(t),(o,h)=>(r(),l(g,{key:`block-${h}`},[o.kind==="paragraph"?(r(),l("p",wo,[(r(!0),l(g,null,w(Z(o.value),(c,m)=>(r(),l(g,{key:`seg-${h}-${m}`},[c.kind==="text"?(r(),l("span",bo,f(c.value),1)):c.kind==="bold"?(r(),l("strong",xo,f(c.value),1)):c.kind==="italic"?(r(),l("em",Co,f(c.value),1)):c.kind==="strikethrough"?(r(),l("s",$o,f(c.value),1)):c.kind==="file"?(r(),l("a",{key:4,class:"message-file-link",href:z(c.path),target:"_blank",rel:"noopener noreferrer",title:c.path},f(c.displayPath),9,Lo)):c.kind==="url"?(r(),l("a",{key:5,class:"message-file-link",href:c.href,target:"_blank",rel:"noopener noreferrer",title:c.href},f(c.value),9,To)):(r(),l("code",Mo,f(c.value),1))],64))),128))])):o.kind==="heading"?(r(),ni(si(Kt(o.level)),{key:1,class:C(["message-heading",Gt(o.level)])},{default:An(()=>[(r(!0),l(g,null,w(Z(o.value),(c,m)=>(r(),l(g,{key:`heading-seg-${h}-${m}`},[c.kind==="text"?(r(),l("span",So,f(c.value),1)):c.kind==="bold"?(r(),l("strong",Io,f(c.value),1)):c.kind==="italic"?(r(),l("em",Po,f(c.value),1)):c.kind==="strikethrough"?(r(),l("s",Ao,f(c.value),1)):c.kind==="file"?(r(),l("a",{key:4,class:"message-file-link",href:z(c.path),target:"_blank",rel:"noopener noreferrer",title:c.path},f(c.displayPath),9,Eo)):c.kind==="url"?(r(),l("a",{key:5,class:"message-file-link",href:c.href,target:"_blank",rel:"noopener noreferrer",title:c.href},f(c.value),9,Bo)):(r(),l("code",Fo,f(c.value),1))],64))),128))]),_:2},1032,["class"])):o.kind==="blockquote"?(r(),l("blockquote",Ro,[(r(!0),l(g,null,w(Z(o.value),(c,m)=>(r(),l(g,{key:`quote-seg-${h}-${m}`},[c.kind==="text"?(r(),l("span",Ho,f(c.value),1)):c.kind==="bold"?(r(),l("strong",Wo,f(c.value),1)):c.kind==="italic"?(r(),l("em",Oo,f(c.value),1)):c.kind==="strikethrough"?(r(),l("s",zo,f(c.value),1)):c.kind==="file"?(r(),l("a",{key:4,class:"message-file-link",href:z(c.path),target:"_blank",rel:"noopener noreferrer",title:c.path},f(c.displayPath),9,jo)):c.kind==="url"?(r(),l("a",{key:5,class:"message-file-link",href:c.href,target:"_blank",rel:"noopener noreferrer",title:c.href},f(c.value),9,Do)):(r(),l("code",Vo,f(c.value),1))],64))),128))])):o.kind==="unorderedList"?(r(),l("ul",No,[(r(!0),l(g,null,w(o.items,(c,m)=>(r(),l("li",{key:`ul-${h}-${m}`,class:"message-list-item"},[d("div",{class:"message-list-item-content",innerHTML:Ue(c)},null,8,Uo)]))),128))])):o.kind==="taskList"?(r(),l("ul",qo,[(r(!0),l(g,null,w(o.items,(c,m)=>(r(),l("li",{key:`task-${h}-${m}`,class:"message-task-item"},[d("span",{class:"message-task-checkbox","data-checked":c.checked},f(c.checked?"☑":"☐"),9,Ko),d("div",Go,[(r(!0),l(g,null,w(Z(c.text),(p,y)=>(r(),l(g,{key:`task-seg-${h}-${m}-${y}`},[p.kind==="text"?(r(),l("span",Zo,f(p.value),1)):p.kind==="bold"?(r(),l("strong",Xo,f(p.value),1)):p.kind==="italic"?(r(),l("em",Jo,f(p.value),1)):p.kind==="strikethrough"?(r(),l("s",Yo,f(p.value),1)):p.kind==="file"?(r(),l("a",{key:4,class:"message-file-link",href:z(p.path),target:"_blank",rel:"noopener noreferrer",title:p.path},f(p.displayPath),9,Qo)):p.kind==="url"?(r(),l("a",{key:5,class:"message-file-link",href:p.href,target:"_blank",rel:"noopener noreferrer",title:p.href},f(p.value),9,ea)):(r(),l("code",ta,f(p.value),1))],64))),128))])]))),128))])):o.kind==="orderedList"?(r(),l("ol",{key:5,class:"message-list message-list-ordered",start:o.start},[(r(!0),l(g,null,w(o.items,(c,m)=>(r(),l("li",{key:`ol-${h}-${m}`,class:"message-list-item"},[d("div",{class:"message-list-item-content",innerHTML:Ue(c)},null,8,sa)]))),128))],8,na)):o.kind==="table"?(r(),l("div",ia,[d("table",oa,[d("thead",null,[d("tr",null,[(r(!0),l(g,null,w(o.headers,(c,m)=>(r(),l("th",{key:`th-${h}-${m}`,class:"message-table-head-cell",style:$t({textAlign:o.alignments[m]??"left"})},[(r(!0),l(g,null,w(Z(c),(p,y)=>(r(),l(g,{key:`th-seg-${h}-${m}-${y}`},[p.kind==="text"?(r(),l("span",aa,f(p.value),1)):p.kind==="bold"?(r(),l("strong",ra,f(p.value),1)):p.kind==="italic"?(r(),l("em",la,f(p.value),1)):p.kind==="strikethrough"?(r(),l("s",ca,f(p.value),1)):p.kind==="file"?(r(),l("a",{key:4,class:"message-file-link",href:z(p.path),target:"_blank",rel:"noopener noreferrer",title:p.path},f(p.displayPath),9,ua)):p.kind==="url"?(r(),l("a",{key:5,class:"message-file-link",href:p.href,target:"_blank",rel:"noopener noreferrer",title:p.href},f(p.value),9,da)):(r(),l("code",ha,f(p.value),1))],64))),128))],4))),128))])]),o.rows.length>0?(r(),l("tbody",fa,[(r(!0),l(g,null,w(o.rows,(c,m)=>(r(),l("tr",{key:`tr-${h}-${m}`,class:"message-table-body-row"},[(r(!0),l(g,null,w(c,(p,y)=>(r(),l("td",{key:`td-${h}-${m}-${y}`,class:"message-table-cell",style:$t({textAlign:o.alignments[y]??"left"})},[(r(!0),l(g,null,w(Z(p),(x,j)=>(r(),l(g,{key:`td-seg-${h}-${m}-${y}-${j}`},[x.kind==="text"?(r(),l("span",pa,f(x.value),1)):x.kind==="bold"?(r(),l("strong",ma,f(x.value),1)):x.kind==="italic"?(r(),l("em",va,f(x.value),1)):x.kind==="strikethrough"?(r(),l("s",ka,f(x.value),1)):x.kind==="file"?(r(),l("a",{key:4,class:"message-file-link",href:z(x.path),target:"_blank",rel:"noopener noreferrer",title:x.path},f(x.displayPath),9,ga)):x.kind==="url"?(r(),l("a",{key:5,class:"message-file-link",href:x.href,target:"_blank",rel:"noopener noreferrer",title:x.href},f(x.value),9,ya)):(r(),l("code",_a,f(x.value),1))],64))),128))],4))),128))]))),128))])):k("",!0)])])):o.kind==="codeBlock"?(r(),l("div",wa,[o.language?(r(),l("div",ba,f(o.language),1)):k("",!0),d("pre",xa,[d("code",{class:"hljs",innerHTML:yn(o.language,o.value)},null,8,Ca)])])):o.kind==="thematicBreak"?(r(),l("hr",$a)):Ns(t.id,h)?(r(),l("p",La,f(o.markdown),1)):(r(),l("button",{key:10,class:"message-image-button",type:"button",onClick:c=>Mn(o.url)},[d("img",{class:"message-image-preview message-markdown-image",src:o.url,alt:o.alt||"Embedded message image",loading:"lazy",onError:c=>Us(t.id,h)},null,40,Ma)],8,Ta))],64))),128))])),n,0)],8,Qi)):k("",!0),re(t)?(r(),l("section",Sa,[d("button",{type:"button",class:C(["cmd-row cmd-row-group cmd-compact file-change-summary-row",{"cmd-expanded":te(t)}]),onClick:o=>Wt(t)},[d("span",{class:C(["cmd-chevron",{"cmd-chevron-open":te(t)}])},"▶",2),d("span",Pa,f(en(re(t))),1),d("span",Aa,[(r(!0),l(g,null,w(tn(re(t)),o=>(r(),l("span",{key:`summary-status:${t.id}:${o.tone}:${o.label}`,class:"file-change-signed-count","data-tone":o.tone},f(o.label),9,Ea))),128))])],10,Ia),d("div",{class:C(["cmd-group-wrap",{"cmd-group-visible":te(t)}])},[d("div",Ba,[d("ul",Fa,[(r(!0),l(g,null,w(((u=re(t))==null?void 0:u.changes)??[],o=>(r(),l("li",{key:`file-change:inline:${t.id}:${o.path}:${o.movedToPath||""}`,class:"file-change-item"},[d("span",{class:"file-change-badge","data-operation":Oe(o)},f(ce(o)),9,Ra),d("button",{type:"button",class:"file-change-path-button",title:o.path,onClick:h=>Te(re(t),o)},f(S(o.path)),9,Ha),o.movedToPath?(r(),l("span",Wa,"→")):k("",!0),o.movedToPath?(r(),l("button",{key:1,type:"button",class:"file-change-path-button",title:o.movedToPath,onClick:h=>Te(re(t),o)},f(S(o.movedToPath)),9,Oa)):k("",!0),o.addedLineCount>0||o.removedLineCount>0?(r(),l("span",za,[(r(!0),l(g,null,w(Qt(o),h=>(r(),l("span",{key:`change-delta:inline:${t.id}:${o.path}:${h.tone}:${h.label}`,class:"file-change-signed-count","data-tone":h.tone},f(h.label),9,ja))),128))])):k("",!0)]))),128))])])],2)])):k("",!0),Jt(t)||sn(t)?(r(),l("div",{key:4,class:"message-toolbar","data-role":t.role},[sn(t)?(r(),l("button",{key:0,type:"button",class:"message-edit-button","aria-label":"Edit this message",title:"Edit this message",onClick:o=>_s(t.id)},[Q(Js,{class:"icon-svg message-edit-icon"}),n[9]||(n[9]=d("span",{class:"message-edit-label"},"Edit message",-1))],8,Va)):k("",!0),ns(t)?(r(),l("button",{key:1,type:"button",class:"message-fork-button","aria-label":"Fork thread from this response",title:"Fork thread from this response",onClick:o=>ys(t.id)},[Q(Ys,{class:"icon-svg message-fork-icon"}),n[10]||(n[10]=d("span",{class:"message-fork-label"},"Fork",-1))],8,Na)):k("",!0),Jt(t)?(r(),l("button",{key:2,type:"button",class:"message-copy-button","data-copied":N.value===t.id,"aria-label":N.value===t.id?"Response copied":"Copy response",title:N.value===t.id?"Response copied":"Copy response",onClick:o=>gs(t.id)},[Q(ri,{class:"icon-svg message-copy-icon"}),d("span",qa,f(N.value===t.id?"Copied":"Copy"),1)],8,Ua)):k("",!0)],8,Da)):k("",!0)],8,Ki)],8,qi)],8,Ui))],8,hi)):k("",!0)],64)}),128)),M.liveOverlay?(r(),l("li",Ka,[d("div",Ga,[d("div",Za,[d("article",Xa,[d("p",Ja,f(M.liveOverlay.activityLabel),1),M.liveOverlay.reasoningText?(r(),l("p",Ya,f(M.liveOverlay.reasoningText),1)):k("",!0),M.liveOverlay.errorText?(r(),l("p",Qa,f(M.liveOverlay.errorText),1)):k("",!0)])])])])):k("",!0),d("li",{ref_key:"bottomAnchorRef",ref:jt,class:"conversation-bottom-anchor"},null,512)],544)),Zn.value?(r(),l("button",{key:3,type:"button",class:"jump-to-latest-button",title:"Jump to latest","aria-label":"Jump to latest output",onClick:$n},[Q(Qs,{class:"icon-svg jump-to-latest-icon"})])):k("",!0),me.value.length>0?(r(),l("div",{key:4,class:"image-modal-backdrop",onClick:Sn},[d("div",{class:"image-modal-content",onClick:n[1]||(n[1]=Ze(()=>{},["stop"]))},[d("button",{class:"image-modal-close",type:"button","aria-label":"Close image preview",onClick:Sn},[Q(Pn,{class:"icon-svg"})]),d("img",{class:"image-modal-image",src:me.value,alt:"Expanded message image"},null,8,er)])])):k("",!0),pe.value?(r(),l("div",{key:5,ref_key:"fileLinkContextMenuRef",ref:Mt,class:"file-link-context-menu",style:$t(Cs.value),onClick:n[2]||(n[2]=Ze(()=>{},["stop"]))},[d("button",{type:"button",class:"file-link-context-menu-item",onClick:Ts}," Open link "),d("button",{type:"button",class:"file-link-context-menu-item",onClick:Ss}," Copy link "),Qe.value?(r(),l("button",{key:0,type:"button",class:"file-link-context-menu-item",onClick:Ms}," Edit file ")):k("",!0)],4)):k("",!0),I.value?(r(),l("div",{key:6,class:"diff-viewer-backdrop",onClick:Ot},[d("div",{class:"diff-viewer-shell",onClick:n[4]||(n[4]=Ze(()=>{},["stop"]))},[Lt(Ce)?k("",!0):(r(),l("aside",tr,[d("div",nr,[n[11]||(n[11]=d("p",{class:"diff-viewer-sidebar-title"},"Changed files",-1)),d("p",sr,f(ze(ue.value.length)),1)]),d("div",ir,[(r(!0),l(g,null,w(ue.value,t=>(r(),l("button",{key:`diff-viewer:${T(t)}`,type:"button",class:"diff-viewer-file-button","data-active":T(t)===T(I.value),onClick:s=>zt(t)},[d("span",{class:"file-change-badge","data-operation":Oe(t)},f(ce(t)),9,ar),d("span",rr,[ee(f(S(t.path))+" ",1),t.movedToPath?(r(),l(g,{key:0},[ee(" → "+f(S(t.movedToPath)),1)],64)):k("",!0)]),G(t)?(r(),l("span",lr,f(G(t)),1)):k("",!0)],8,or))),128))])])),d("section",cr,[d("div",ur,[d("div",dr,[d("p",hr,[ee(f(S(I.value.path))+" ",1),I.value.movedToPath?(r(),l(g,{key:0},[ee(" → "+f(S(I.value.movedToPath)),1)],64)):k("",!0)]),d("p",fr,[ee(f(ce(I.value))+" ",1),G(I.value)?(r(),l("span",pr," · "+f(G(I.value)),1)):k("",!0)])]),d("div",mr,[Lt(Ce)?(r(),l("button",{key:0,type:"button",class:"diff-viewer-mobile-files-button",onClick:Nn},f(ze(ue.value.length)),1)):k("",!0),d("button",{class:"image-modal-close diff-viewer-close",type:"button","aria-label":"Close diff viewer",onClick:Ot},[Q(Pn,{class:"icon-svg"})])])]),ms(I.value)?(r(),l("div",kr,[d("div",gr,[d("span",yr,f(cs(I.value)||"diff"),1)]),d("div",_r,[(r(!0),l(g,null,w(ps.value,t=>(r(),l("div",{key:t.key,class:"diff-viewer-line","data-kind":t.kind},[d("span",br,f(t.oldLine??""),1),d("span",xr,f(t.newLine??""),1),d("span",Cr,f(vs(t)),1),d("code",{class:"diff-viewer-line-code",innerHTML:$(t.text)||" "},null,8,$r)],8,wr))),128))])])):(r(),l("div",vr,[...n[12]||(n[12]=[d("p",{class:"diff-viewer-empty-title"},"No diff available",-1),d("p",{class:"diff-viewer-empty-text"},"This summary was restored from the final answer text, but the thread history does not include patch diff content for this file.",-1)])]))]),Q(ei,{name:"diff-viewer-sheet"},{default:An(()=>[Lt(Ce)&&D.value?(r(),l("div",{key:0,class:"diff-viewer-mobile-sheet-backdrop",onClick:Un},[d("div",{class:"diff-viewer-mobile-sheet",onClick:n[3]||(n[3]=Ze(()=>{},["stop"]))},[n[14]||(n[14]=d("div",{class:"diff-viewer-mobile-sheet-handle","aria-hidden":"true"},null,-1)),d("div",Lr,[n[13]||(n[13]=d("p",{class:"diff-viewer-sidebar-title"},"Changed files",-1)),d("p",Tr,f(ze(ue.value.length)),1)]),d("div",Mr,[(r(!0),l(g,null,w(ue.value,t=>(r(),l("button",{key:`diff-viewer-sheet:${T(t)}`,type:"button",class:"diff-viewer-file-button","data-active":T(t)===T(I.value),onClick:s=>zt(t)},[d("span",{class:"file-change-badge","data-operation":Oe(t)},f(ce(t)),9,Ir),d("span",Pr,[ee(f(S(t.path))+" ",1),t.movedToPath?(r(),l(g,{key:0},[ee(" → "+f(S(t.movedToPath)),1)],64)):k("",!0)]),G(t)?(r(),l("span",Ar,f(G(t)),1)):k("",!0)],8,Sr))),128))])])])):k("",!0)]),_:1})])])):k("",!0)],32))}}),Dr=En(zr,[["__scopeId","data-v-dd33b8d4"]]);export{Dr as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
/*! tailwindcss v4.2.2 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-dd33b8d4],[data-v-dd33b8d4]:before,[data-v-dd33b8d4]:after,[data-v-dd33b8d4]::backdrop{--tw-border-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-leading:initial;--tw-font-weight:initial;--tw-duration:initial;--tw-tracking:initial;--tw-border-spacing-x:0;--tw-border-spacing-y:0}}}.conversation-root[data-v-dd33b8d4]{height:100%;min-height:calc(var(--spacing,.25rem) * 0);min-width:calc(var(--spacing,.25rem) * 0);--tw-border-style:none;padding:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;border-radius:0;flex-direction:column;display:flex;position:relative;overflow:hidden}.conversation-loading[data-v-dd33b8d4],.conversation-empty[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 6);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-slate-500,oklch(55.4% .046 257.417))}.conversation-list[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);height:100%;min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 0);flex-direction:column;list-style-type:none;display:flex;overflow:visible auto}@media(min-width:40rem){.conversation-list[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 3);padding-inline:calc(var(--spacing,.25rem) * 6)}}.conversation-load-more[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 3);justify-content:center;display:flex}.load-more-button[data-v-dd33b8d4]{cursor:pointer;border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-slate-500,oklch(55.4% .046 257.417));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-radius:3.40282e38px}@media(hover:hover){.load-more-button[data-v-dd33b8d4]:hover{background-color:var(--color-slate-100,oklch(96.8% .007 247.896))}}.load-more-button[data-v-dd33b8d4]:disabled{cursor:not-allowed;opacity:.4}@media(prefers-color-scheme:dark){.load-more-button[data-v-dd33b8d4]{border-color:var(--color-slate-600,oklch(44.6% .043 257.281));color:var(--color-slate-400,oklch(70.4% .04 256.788))}@media(hover:hover){.load-more-button[data-v-dd33b8d4]:hover{background-color:var(--color-slate-800,oklch(27.9% .041 260.031))}}}.conversation-item[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);width:100%;min-width:calc(var(--spacing,.25rem) * 0);display:flex}.conversation-item-request[data-v-dd33b8d4],.conversation-item-overlay[data-v-dd33b8d4]{justify-content:center}.message-row[data-v-dd33b8d4]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);min-width:calc(var(--spacing,.25rem) * 0);margin-inline:auto;display:flex;position:relative}.message-row[data-role=user][data-v-dd33b8d4]{justify-content:flex-end}.message-row[data-role=assistant][data-v-dd33b8d4],.message-row[data-role=system][data-v-dd33b8d4]{justify-content:flex-start}.conversation-bottom-anchor[data-v-dd33b8d4]{height:1px}.jump-to-latest-button[data-v-dd33b8d4]{bottom:calc(var(--spacing,.25rem) * 4);z-index:20;height:calc(var(--spacing,.25rem) * 11);width:calc(var(--spacing,.25rem) * 11);--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#fffffff5;border-radius:3.40282e38px;justify-content:center;align-items:center;display:inline-flex;position:absolute;left:50%}@supports (color:color-mix(in lab,red,red)){.jump-to-latest-button[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-white,#fff) 96%,transparent)}}.jump-to-latest-button[data-v-dd33b8d4]{color:var(--color-slate-700,oklch(37.2% .044 257.287));--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);--tw-shadow-color:#0f172b1a}@supports (color:color-mix(in lab,red,red)){.jump-to-latest-button[data-v-dd33b8d4]{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-slate-900,oklch(20.8% .042 265.755)) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.jump-to-latest-button[data-v-dd33b8d4]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.jump-to-latest-button[data-v-dd33b8d4]:hover{--tw-translate-x: -50% ;--tw-translate-y:calc(var(--spacing,.25rem) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y);background-color:var(--color-white,#fff);color:var(--color-slate-900,oklch(20.8% .042 265.755))}}.jump-to-latest-icon[data-v-dd33b8d4]{transform:rotate(180deg)}.message-stack[data-v-dd33b8d4]{width:100%;min-width:calc(var(--spacing,.25rem) * 0);flex-direction:column;display:flex}.request-card[data-v-dd33b8d4]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-amber-50,oklch(98.7% .022 95.277));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.request-title[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-amber-900,oklch(41.4% .112 45.904))}.request-meta[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-amber-700,oklch(55.5% .163 48.998))}.request-reason[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-amber-900,oklch(41.4% .112 45.904));overflow-wrap:anywhere}.request-actions[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 2);flex-wrap:wrap;display:flex}.request-button[data-v-dd33b8d4]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-amber-900,oklch(41.4% .112 45.904));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.request-button[data-v-dd33b8d4]:hover{background-color:var(--color-amber-100,oklch(96.2% .059 95.617))}}.request-button-primary[data-v-dd33b8d4]{border-color:var(--color-amber-500,oklch(76.9% .188 70.08));background-color:var(--color-amber-500,oklch(76.9% .188 70.08));color:var(--color-white,#fff)}@media(hover:hover){.request-button-primary[data-v-dd33b8d4]:hover{background-color:var(--color-amber-600,oklch(66.6% .179 58.318))}}.request-user-input[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex}.request-question[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.request-question-title[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-amber-900,oklch(41.4% .112 45.904))}.request-question-text[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-amber-800,oklch(47.3% .137 46.201))}.request-question-option-description[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-amber-700,oklch(55.5% .163 48.998))}.request-link[data-v-dd33b8d4]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-white,#fff);width:fit-content;padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-amber-900,oklch(41.4% .112 45.904));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:inline-flex}@media(hover:hover){.request-link[data-v-dd33b8d4]:hover{background-color:var(--color-amber-100,oklch(96.2% .059 95.617))}}.request-select[data-v-dd33b8d4],.request-input[data-v-dd33b8d4]{height:calc(var(--spacing,.25rem) * 8);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-amber-300,oklch(87.9% .169 91.605));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-amber-900,oklch(41.4% .112 45.904))}.request-input[data-v-dd33b8d4]::placeholder{color:var(--color-amber-500,oklch(76.9% .188 70.08))}.request-checkbox-list[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 1.5);flex-direction:column;display:flex}.request-checkbox-row[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-amber-900,oklch(41.4% .112 45.904));display:flex}.live-overlay-inline[data-v-dd33b8d4]{width:100%;max-width:min(var(--chat-column-max,45rem),100%);gap:calc(var(--spacing,.25rem) * 1);padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 1);flex-direction:column;display:flex}.live-overlay-label[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.live-overlay-reasoning[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-zinc-500,oklch(55.2% .016 285.938));overflow-wrap:anywhere;scrollbar-width:none;max-height:6.25rem;display:block;overflow:auto;-webkit-mask-image:linear-gradient(#0000 0%,#000 25%);mask-image:linear-gradient(#0000,#000 25%)}.live-overlay-reasoning[data-v-dd33b8d4]::-webkit-scrollbar{display:none}.live-overlay-error[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);white-space:pre-wrap;color:var(--color-rose-600,oklch(58.6% .253 17.585))}.message-body[data-v-dd33b8d4]{max-width:100%;min-width:calc(var(--spacing,.25rem) * 0);flex-direction:column;width:fit-content;display:flex}.message-body[data-role=user][data-v-dd33b8d4]{align-self:flex-end;align-items:flex-end;margin-left:auto}.message-toolbar[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 1);align-items:center;gap:calc(var(--spacing,.25rem) * 1);opacity:.01;transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;align-self:flex-start;transition-duration:.2s;display:flex}.message-row:hover .message-toolbar[data-v-dd33b8d4]{opacity:1}.message-copy-button[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * .5);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:#ffffffe6;border-radius:3.40282e38px;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.message-copy-button[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-white,#fff) 90%,transparent)}}.message-copy-button[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 1.25);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:9px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-slate-500,oklch(55.4% .046 257.417));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.message-copy-button[data-v-dd33b8d4]:hover{border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:var(--color-white,#fff);color:var(--color-slate-900,oklch(20.8% .042 265.755))}}.message-fork-button[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * .5);padding-inline:calc(var(--spacing,.25rem) * .5);padding-block:calc(var(--spacing,.25rem) * 0);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:9px;line-height:1;font-weight:var(--font-weight-medium,500);color:var(--color-slate-500,oklch(55.4% .046 257.417));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:inline-flex}@media(hover:hover){.message-fork-button[data-v-dd33b8d4]:hover{color:var(--color-slate-900,oklch(20.8% .042 265.755))}}.message-copy-button[data-copied=true][data-v-dd33b8d4]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.message-edit-button[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * .5);padding-inline:calc(var(--spacing,.25rem) * .5);padding-block:calc(var(--spacing,.25rem) * 0);--tw-leading:1;--tw-font-weight:var(--font-weight-medium,500);font-size:9px;line-height:1;font-weight:var(--font-weight-medium,500);color:#dd7400b3;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.message-edit-button[data-v-dd33b8d4]{color:color-mix(in oklab,var(--color-amber-600,oklch(66.6% .179 58.318)) 70%,transparent)}}.message-edit-button[data-v-dd33b8d4]{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s))}@media(hover:hover){.message-edit-button[data-v-dd33b8d4]:hover{color:var(--color-amber-700,oklch(55.5% .163 48.998))}}.message-fork-icon[data-v-dd33b8d4],.message-copy-icon[data-v-dd33b8d4],.message-edit-icon[data-v-dd33b8d4]{font-size:10px}.message-fork-label[data-v-dd33b8d4],.message-copy-label[data-v-dd33b8d4],.message-edit-label[data-v-dd33b8d4]{--tw-leading:1;line-height:1}.message-image-list[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);margin-bottom:calc(var(--spacing,.25rem) * 2);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 0);flex-wrap:wrap;list-style-type:none;display:flex}.message-image-list[data-role=user][data-v-dd33b8d4]{justify-content:flex-end;margin-left:auto}.message-generated-image-list[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 3)}.message-image-item[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0)}.message-image-button[data-v-dd33b8d4]{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 0);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:block;overflow:hidden}@media(hover:hover){.message-image-button[data-v-dd33b8d4]:hover{border-color:var(--color-slate-400,oklch(70.4% .04 256.788))}}.message-image-preview[data-v-dd33b8d4]{height:calc(var(--spacing,.25rem) * 16);width:calc(var(--spacing,.25rem) * 16);object-fit:cover;display:block}.message-generated-image-preview[data-v-dd33b8d4]{background-color:var(--color-white,#fff);object-fit:contain;width:auto;max-width:min(560px,85vw);height:auto;max-height:min(460px,62vh)}.message-file-attachments[data-v-dd33b8d4]{margin-bottom:calc(var(--spacing,.25rem) * 2);gap:calc(var(--spacing,.25rem) * 1.5);flex-wrap:wrap;display:flex}.message-file-chip[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * 1);border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));display:inline-flex}.message-file-chip-icon[data-v-dd33b8d4]{--tw-leading:1;font-size:10px;line-height:1}.message-file-chip-name[data-v-dd33b8d4]{max-width:calc(var(--spacing,.25rem) * 48);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);overflow:hidden}.message-card[data-v-dd33b8d4]{max-width:min(var(--chat-card-max,76ch),100%);--tw-border-style:none;padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;border-radius:0}.message-text-flow[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.plan-card[data-v-dd33b8d4]{max-width:min(var(--chat-card-max,76ch),100%);gap:calc(var(--spacing,.25rem) * 3);border-radius:var(--radius-2xl,1rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-sky-200,oklch(90.1% .058 230.902));background-color:var(--color-sky-50,oklch(97.7% .013 236.62));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);color:var(--color-slate-900,oklch(20.8% .042 265.755));flex-direction:column;display:flex}.plan-card-header[data-v-dd33b8d4]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);display:flex}.plan-card-title[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-sky-900,oklch(39.1% .09 240.876))}.plan-card-badge[data-v-dd33b8d4]{background-color:var(--color-sky-200,oklch(90.1% .058 230.902));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);--tw-leading:calc(var(--spacing,.25rem) * 4);font-size:11px;line-height:calc(var(--spacing,.25rem) * 4);--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-sky-900,oklch(39.1% .09 240.876));border-radius:3.40282e38px;align-items:center;display:inline-flex}.plan-card-explanation[data-v-dd33b8d4]{color:var(--color-slate-700,oklch(37.2% .044 257.287))}.plan-card-markdown[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}:is(.plan-card-markdown[data-v-dd33b8d4] .message-text,.plan-card-markdown[data-v-dd33b8d4] .message-heading,.plan-card-markdown[data-v-dd33b8d4] .message-blockquote,.plan-card-markdown[data-v-dd33b8d4] .message-list,.plan-card-markdown[data-v-dd33b8d4] .message-table-wrap,.plan-card-markdown[data-v-dd33b8d4] .message-code-block,.plan-card-markdown[data-v-dd33b8d4] .message-divider){margin:calc(var(--spacing,.25rem) * 0)}.plan-card-markdown[data-v-dd33b8d4] .message-text{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);white-space:pre-wrap;color:var(--color-slate-800,oklch(27.9% .041 260.031))}.plan-card-markdown[data-v-dd33b8d4] .message-heading{--tw-tracking:var(--tracking-tight,-.025em);letter-spacing:var(--tracking-tight,-.025em);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.plan-card-markdown[data-v-dd33b8d4] .message-heading-h1{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-dd33b8d4] .message-heading-h2{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-dd33b8d4] .message-heading-h3{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-dd33b8d4] .message-heading-h4{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.plan-card-markdown[data-v-dd33b8d4] .message-heading-h5{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.02em;letter-spacing:.02em;text-transform:uppercase}.plan-card-markdown[data-v-dd33b8d4] .message-heading-h6{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.04em;letter-spacing:.04em;color:var(--color-slate-600,oklch(44.6% .043 257.281));text-transform:uppercase}.plan-card-markdown[data-v-dd33b8d4] .message-blockquote{border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-dd33b8d4] .message-blockquote{background-color:color-mix(in oklab,var(--color-slate-50,oklch(98.4% .003 247.858)) 70%,transparent)}}.plan-card-markdown[data-v-dd33b8d4] .message-blockquote{padding-block:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);white-space:pre-wrap;color:var(--color-slate-700,oklch(37.2% .044 257.287))}.plan-card-markdown[data-v-dd33b8d4] .message-list{gap:calc(var(--spacing,.25rem) * 1.5);padding-left:calc(var(--spacing,.25rem) * 5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-800,oklch(27.9% .041 260.031));flex-direction:column;display:flex}.plan-card-markdown[data-v-dd33b8d4] .message-list-unordered{list-style-type:disc}.plan-card-markdown[data-v-dd33b8d4] .message-list-ordered{list-style-type:decimal}.plan-card-markdown[data-v-dd33b8d4] .message-list-item{padding-left:calc(var(--spacing,.25rem) * 1)}.plan-card-markdown[data-v-dd33b8d4] .message-list-item-text{white-space:pre-wrap}.plan-card-markdown[data-v-dd33b8d4] .message-list-item-paragraph+.message-list-item-paragraph{margin-top:calc(var(--spacing,.25rem) * 2)}.plan-card-markdown[data-v-dd33b8d4] .message-task-list{padding-left:calc(var(--spacing,.25rem) * 0);list-style-type:none}.plan-card-markdown[data-v-dd33b8d4] .message-task-item{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);display:flex}.plan-card-markdown[data-v-dd33b8d4] .message-task-checkbox{margin-top:calc(var(--spacing,.25rem) * .5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:1;color:var(--color-slate-500,oklch(55.4% .046 257.417));-webkit-user-select:none;user-select:none;line-height:1}.plan-card-markdown[data-v-dd33b8d4] .message-code-block{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:#020618f2;overflow:hidden}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-dd33b8d4] .message-code-block{background-color:color-mix(in oklab,var(--color-slate-950,oklch(12.9% .042 264.695)) 95%,transparent)}}.plan-card-markdown[data-v-dd33b8d4] .message-code-block{color:var(--color-slate-100,oklch(96.8% .007 247.896))}.plan-card-markdown[data-v-dd33b8d4] .message-code-language{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-800,oklch(27.9% .041 260.031));background-color:#0f172be6}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-dd33b8d4] .message-code-language{background-color:color-mix(in oklab,var(--color-slate-900,oklch(20.8% .042 265.755)) 90%,transparent)}}.plan-card-markdown[data-v-dd33b8d4] .message-code-language{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);--tw-tracking:.08em;letter-spacing:.08em;color:var(--color-slate-400,oklch(70.4% .04 256.788));text-transform:uppercase}.plan-card-markdown[data-v-dd33b8d4] .message-code-pre{margin:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);--tw-leading:calc(var(--spacing,.25rem) * 6);font-size:13px;line-height:calc(var(--spacing,.25rem) * 6);overflow-x:auto}.plan-card-markdown[data-v-dd33b8d4] .message-inline-code{border-radius:var(--radius-md,.375rem);background-color:#e2e8f0cc}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-dd33b8d4] .message-inline-code{background-color:color-mix(in oklab,var(--color-slate-200,oklch(92.9% .013 255.508)) 80%,transparent)}}.plan-card-markdown[data-v-dd33b8d4] .message-inline-code{padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);color:var(--color-slate-900,oklch(20.8% .042 265.755));font-size:.9em}.plan-card-markdown[data-v-dd33b8d4] .message-file-link{color:var(--color-sky-700,oklch(50% .134 242.749));text-decoration-line:underline;-webkit-text-decoration-color:var(--color-sky-300,oklch(82.8% .111 230.318));text-decoration-color:var(--color-sky-300,oklch(82.8% .111 230.318));text-underline-offset:2px}.plan-card-markdown[data-v-dd33b8d4] .message-table{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.plan-card-markdown[data-v-dd33b8d4] .message-table{background-color:color-mix(in oklab,var(--color-white,#fff) 90%,transparent)}}.plan-step-list[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 0);flex-direction:column;list-style-type:none;display:flex}.plan-step-item[data-v-dd33b8d4]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:#ffffffb3;display:flex}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-v-dd33b8d4]{border-color:color-mix(in oklab,var(--color-white,#fff) 70%,transparent)}}.plan-step-item[data-v-dd33b8d4]{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-white,#fff) 80%,transparent)}}.plan-step-item[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-800,oklch(27.9% .041 260.031))}.plan-step-item[data-status=completed][data-v-dd33b8d4]{border-color:var(--color-emerald-200,oklch(90.5% .093 164.15));background-color:#ecfdf5cc}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-status=completed][data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-emerald-50,oklch(97.9% .021 166.113)) 80%,transparent)}}.plan-step-item[data-status=inProgress][data-v-dd33b8d4]{border-color:var(--color-amber-200,oklch(92.4% .12 95.746));background-color:#fffbebcc}@supports (color:color-mix(in lab,red,red)){.plan-step-item[data-status=inProgress][data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-amber-50,oklch(98.7% .022 95.277)) 80%,transparent)}}.plan-step-status[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * .5);height:calc(var(--spacing,.25rem) * 5);width:calc(var(--spacing,.25rem) * 5);background-color:var(--color-slate-200,oklch(92.9% .013 255.508));font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-700,oklch(37.2% .044 257.287));border-radius:3.40282e38px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.plan-step-status[data-status=completed][data-v-dd33b8d4]{background-color:var(--color-emerald-200,oklch(90.5% .093 164.15));color:var(--color-emerald-900,oklch(37.8% .077 168.94))}.plan-step-status[data-status=inProgress][data-v-dd33b8d4]{background-color:var(--color-amber-200,oklch(92.4% .12 95.746));color:var(--color-amber-900,oklch(41.4% .112 45.904))}.plan-step-text[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0);flex:1}.plan-card-actions[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 3);justify-content:flex-end;display:flex}.plan-card-implement-button[data-v-dd33b8d4]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-slate-800,oklch(27.9% .041 260.031));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));border-radius:3.40282e38px;align-items:center;display:inline-flex}@media(hover:hover){.plan-card-implement-button[data-v-dd33b8d4]:hover{border-color:var(--color-slate-400,oklch(70.4% .04 256.788));background-color:var(--color-slate-50,oklch(98.4% .003 247.858))}}.message-text[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-slate-800,oklch(27.9% .041 260.031));overflow-wrap:anywhere}.message-heading[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);--tw-tracking:var(--tracking-tight,-.025em);letter-spacing:var(--tracking-tight,-.025em);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.message-heading-h1[data-v-dd33b8d4]{font-size:var(--text-2xl,1.5rem);line-height:var(--tw-leading,var(--text-2xl--line-height,calc(2 / 1.5)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h2[data-v-dd33b8d4]{font-size:var(--text-xl,1.25rem);line-height:var(--tw-leading,var(--text-xl--line-height,calc(1.75 / 1.25)));--tw-leading:var(--leading-tight,1.25);line-height:var(--leading-tight,1.25);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h3[data-v-dd33b8d4]{font-size:var(--text-lg,1.125rem);line-height:var(--tw-leading,var(--text-lg--line-height,calc(1.75 / 1.125)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h4[data-v-dd33b8d4]{font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.message-heading-h5[data-v-dd33b8d4]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.02em;letter-spacing:.02em;text-transform:uppercase}.message-heading-h6[data-v-dd33b8d4]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:var(--leading-snug,1.375);line-height:var(--leading-snug,1.375);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);--tw-tracking:.04em;letter-spacing:.04em;color:var(--color-slate-600,oklch(44.6% .043 257.281));text-transform:uppercase}.message-blockquote[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);border-top-right-radius:var(--radius-lg,.5rem);border-bottom-right-radius:var(--radius-lg,.5rem);border-left-style:var(--tw-border-style);border-left-width:4px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#f8fafcb3}@supports (color:color-mix(in lab,red,red)){.message-blockquote[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-slate-50,oklch(98.4% .003 247.858)) 70%,transparent)}}.message-blockquote[data-v-dd33b8d4]{padding-block:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 4);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-slate-700,oklch(37.2% .044 257.287));overflow-wrap:anywhere}.message-list[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 1.5);padding-left:calc(var(--spacing,.25rem) * 5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-slate-800,oklch(27.9% .041 260.031));flex-direction:column;display:flex}.message-list-unordered[data-v-dd33b8d4]{list-style-type:disc}.message-list-ordered[data-v-dd33b8d4]{list-style-type:decimal}.message-list-item[data-v-dd33b8d4]{padding-left:calc(var(--spacing,.25rem) * 1)}.message-list-item-content[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 1.5);flex-direction:column;display:flex}.message-list-item-text[data-v-dd33b8d4]{overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:anywhere}.message-list-item-paragraph+.message-list-item-paragraph[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 2)}.message-task-list[data-v-dd33b8d4]{padding-left:calc(var(--spacing,.25rem) * 0);list-style-type:none}.message-task-item[data-v-dd33b8d4]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);display:flex}.message-task-checkbox[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * .5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:1;color:var(--color-slate-500,oklch(55.4% .046 257.417));-webkit-user-select:none;user-select:none;line-height:1}.message-table-wrap[data-v-dd33b8d4]{width:100%;overflow-x:auto}.message-table[data-v-dd33b8d4]{border-collapse:separate;--tw-border-spacing-x:calc(var(--spacing,.25rem) * 0);--tw-border-spacing-y:calc(var(--spacing,.25rem) * 0);min-width:100%;border-spacing:var(--tw-border-spacing-x) var(--tw-border-spacing-y);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:var(--color-white,#fff);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-slate-800,oklch(27.9% .041 260.031));overflow:hidden}.message-table-head-cell[data-v-dd33b8d4],.message-table-cell[data-v-dd33b8d4]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-left-style:var(--tw-border-style);border-left-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);vertical-align:top;overflow-wrap:break-word;white-space:pre-wrap;overflow-wrap:anywhere}.message-table-head-cell[data-v-dd33b8d4]:first-child,.message-table-cell[data-v-dd33b8d4]:first-child{border-left-style:var(--tw-border-style);border-left-width:0}.message-table-head-cell[data-v-dd33b8d4]{background-color:var(--color-slate-100,oklch(96.8% .007 247.896));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.message-table-body-row:last-child .message-table-cell[data-v-dd33b8d4]{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.message-bold-text[data-v-dd33b8d4]{--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-slate-900,oklch(20.8% .042 265.755))}.message-italic-text[data-v-dd33b8d4]{font-style:italic}.message-strikethrough-text[data-v-dd33b8d4]{color:var(--color-slate-500,oklch(55.4% .046 257.417));text-decoration-line:line-through}.message-markdown-image[data-v-dd33b8d4]{background-color:var(--color-white,#fff);object-fit:contain;width:auto;max-width:min(560px,85vw);height:auto;max-height:min(460px,62vh)}.message-inline-code[data-v-dd33b8d4]{border-radius:var(--radius-md,.375rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:#f1f5f999}@supports (color:color-mix(in lab,red,red)){.message-inline-code[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-slate-100,oklch(96.8% .007 247.896)) 60%,transparent)}}.message-inline-code[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * .5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:1.4;color:var(--color-slate-900,oklch(20.8% .042 265.755));font-size:.875em;line-height:1.4}.message-code-block[data-v-dd33b8d4]{border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-200,oklch(92.9% .013 255.508));background-color:var(--color-slate-950,oklch(12.9% .042 264.695));color:var(--color-slate-100,oklch(96.8% .007 247.896));overflow:hidden}.message-code-language[data-v-dd33b8d4]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-slate-800,oklch(27.9% .041 260.031));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-tracking:.08em;letter-spacing:.08em;color:var(--color-slate-400,oklch(70.4% .04 256.788));text-transform:uppercase;font-size:11px}.message-code-pre[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:var(--leading-relaxed,1.625);font-size:13px;line-height:var(--leading-relaxed,1.625);white-space:pre;overflow-x:auto}.message-code-pre[data-v-dd33b8d4] .hljs{padding:calc(var(--spacing,.25rem) * 0);color:inherit;background-color:#0000;display:block}.message-file-link[data-v-dd33b8d4]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:#0969da;text-underline-offset:2px;text-decoration-line:none}@media(hover:hover){.message-file-link[data-v-dd33b8d4]:hover{color:#1f6feb;text-decoration-line:underline}}.file-link-context-menu[data-v-dd33b8d4]{z-index:50;min-width:calc(var(--spacing,.25rem) * 36);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);padding:calc(var(--spacing,.25rem) * 1);--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);position:fixed}.file-link-context-menu-item[data-v-dd33b8d4]{border-radius:var(--radius-md,.375rem);width:100%;padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:left;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));display:block}@media(hover:hover){.file-link-context-menu-item[data-v-dd33b8d4]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.message-divider[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);border-style:var(--tw-border-style);background-color:#cad5e2cc;border-width:0;height:1px}@supports (color:color-mix(in lab,red,red)){.message-divider[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-slate-300,oklch(86.9% .022 252.894)) 80%,transparent)}}.message-stack[data-role=user][data-v-dd33b8d4]{align-items:flex-end}.message-stack[data-role=assistant][data-v-dd33b8d4],.message-stack[data-role=system][data-v-dd33b8d4]{align-items:flex-start}.message-card[data-role=user][data-v-dd33b8d4]{border-radius:var(--radius-2xl,1rem);background-color:var(--color-slate-200,oklch(92.9% .013 255.508));max-width:min(560px,100%);padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 3);align-self:flex-end;width:fit-content;margin-left:auto}.message-card[data-role=assistant][data-v-dd33b8d4],.message-card[data-role=system][data-v-dd33b8d4]{--tw-border-style:none;padding-inline:calc(var(--spacing,.25rem) * 0);padding-block:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;border-radius:0}.conversation-item[data-message-type=worked] .message-stack[data-v-dd33b8d4],.conversation-item[data-message-type=worked] .message-body[data-v-dd33b8d4],.conversation-item[data-message-type=worked] .message-card[data-v-dd33b8d4]{width:100%;max-width:100%}.worked-separator-wrap[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 0);flex-direction:column;width:100%;display:flex}.worked-separator[data-v-dd33b8d4]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 3);--tw-border-style:none;width:100%;padding:calc(var(--spacing,.25rem) * 0);background-color:#0000;border-style:none;display:flex}.worked-chevron[data-v-dd33b8d4]{color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;flex-shrink:0;font-size:9px;transition-duration:.2s}.worked-chevron-open[data-v-dd33b8d4]{transform:rotate(90deg)}.worked-separator-line[data-v-dd33b8d4]{background-color:#d4d4d8cc;flex:1;height:1px}@supports (color:color-mix(in lab,red,red)){.worked-separator-line[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-zinc-300,oklch(87.1% .006 286.286)) 80%,transparent)}}.worked-separator-text[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);--tw-font-weight:var(--font-weight-normal,400);font-weight:var(--font-weight-normal,400);color:var(--color-slate-800,oklch(27.9% .041 260.031))}.worked-details[data-v-dd33b8d4]{gap:calc(var(--spacing,.25rem) * 1.5);padding-top:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex}.worked-cmd-item[data-v-dd33b8d4]{flex-direction:column;display:flex}.image-modal-backdrop[data-v-dd33b8d4]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.image-modal-backdrop[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-black,#000) 40%,transparent)}}.image-modal-backdrop[data-v-dd33b8d4]{padding:calc(var(--spacing,.25rem) * 6)}.image-modal-content[data-v-dd33b8d4]{max-width:min(92vw,1100px);max-height:92vh;position:relative}.image-modal-close[data-v-dd33b8d4]{top:calc(var(--spacing,.25rem) * 2);right:calc(var(--spacing,.25rem) * 2);z-index:10;height:calc(var(--spacing,.25rem) * 10);width:calc(var(--spacing,.25rem) * 10);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-slate-300,oklch(86.9% .022 252.894));background-color:#ffffffe6;border-radius:3.40282e38px;justify-content:center;align-items:center;display:flex;position:absolute}@supports (color:color-mix(in lab,red,red)){.image-modal-close[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-white,#fff) 90%,transparent)}}.image-modal-close[data-v-dd33b8d4]{color:var(--color-slate-900,oklch(20.8% .042 265.755))}.image-modal-image[data-v-dd33b8d4]{border-radius:var(--radius-2xl,1rem);background-color:var(--color-white,#fff);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);max-width:100%;max-height:90vh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);display:block}.icon-svg[data-v-dd33b8d4]{height:calc(var(--spacing,.25rem) * 5);width:calc(var(--spacing,.25rem) * 5)}.cmd-row[data-v-dd33b8d4]{cursor:pointer;align-items:center;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-lg,.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));width:100%;padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));display:flex}@media(hover:hover){.cmd-row[data-v-dd33b8d4]:hover{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375))}}.cmd-row.cmd-row-group[data-v-dd33b8d4]{--tw-border-style:dashed;border-style:dashed;border-color:var(--color-zinc-300,oklch(87.1% .006 286.286));background-color:#f4f4f5e6}@supports (color:color-mix(in lab,red,red)){.cmd-row.cmd-row-group[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-zinc-100,oklch(96.7% .001 286.375)) 90%,transparent)}}.cmd-row.cmd-row-group[data-v-dd33b8d4]{color:var(--color-zinc-600,oklch(44.2% .017 285.786))}.cmd-row.cmd-compact[data-v-dd33b8d4]{border-radius:.625rem;gap:.375rem;padding:.375rem .625rem}.cmd-row.cmd-compact .cmd-chevron[data-v-dd33b8d4]{font-size:9px}.cmd-row.cmd-compact .cmd-label[data-v-dd33b8d4]{font-size:.75rem}.cmd-row.cmd-compact .cmd-status[data-v-dd33b8d4]{max-width:4.5rem;font-size:.75rem}.cmd-row.cmd-expanded[data-v-dd33b8d4]{border-bottom-right-radius:0;border-bottom-left-radius:0}.cmd-chevron[data-v-dd33b8d4]{color:var(--color-zinc-400,oklch(70.5% .015 286.067));transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.15s;flex-shrink:0;font-size:10px;transition-duration:.15s}.cmd-chevron-open[data-v-dd33b8d4]{transform:rotate(90deg)}.cmd-label[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex:1;overflow:hidden}.cmd-group-label[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));flex:1;overflow:hidden}.cmd-status[data-v-dd33b8d4]{max-width:calc(var(--spacing,.25rem) * 24);text-overflow:ellipsis;white-space:nowrap;text-align:right;--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);flex-shrink:0;overflow:hidden}.cmd-status-running .cmd-status[data-v-dd33b8d4]{color:var(--color-amber-600,oklch(66.6% .179 58.318))}.cmd-status-ok .cmd-status[data-v-dd33b8d4]{color:var(--color-emerald-600,oklch(59.6% .145 163.225))}.cmd-status-error .cmd-status[data-v-dd33b8d4]{color:var(--color-rose-600,oklch(58.6% .253 17.585))}.cmd-output-wrap[data-v-dd33b8d4]{border-bottom-right-radius:var(--radius-lg,.5rem);border-bottom-left-radius:var(--radius-lg,.5rem);background-color:var(--color-zinc-900,oklch(21% .006 285.885));border:1px solid #0000;border-top:none;grid-template-rows:0fr;transition:grid-template-rows .3s ease-out,border-color .3s ease-out;display:grid}.cmd-output-wrap.cmd-output-visible[data-v-dd33b8d4]{border-color:#e4e4e7;grid-template-rows:1fr}.cmd-group-wrap[data-v-dd33b8d4]{grid-template-rows:0fr;transition:grid-template-rows .22s ease-out;display:grid}.cmd-group-wrap.cmd-group-visible[data-v-dd33b8d4]{grid-template-rows:1fr}.cmd-group-inner[data-v-dd33b8d4]{margin-bottom:calc(var(--spacing,.25rem) * 1);min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 1);padding-left:calc(var(--spacing,.25rem) * 2);flex-direction:column;display:flex;overflow:hidden}.cmd-output-inner[data-v-dd33b8d4]{min-height:0;overflow:hidden}.cmd-output[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);max-height:calc(var(--spacing,.25rem) * 60);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));overflow-wrap:break-word;white-space:pre-wrap;color:var(--color-zinc-200,oklch(92% .004 286.32));overflow-y:auto}.cmd-output.cmd-output-condensed[data-v-dd33b8d4]{max-height:9rem}.file-change-summary-block[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 3);gap:calc(var(--spacing,.25rem) * 0);flex-direction:column;display:flex}.file-change-summary-block-inline[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 4)}.file-change-summary-row[data-v-dd33b8d4]{--tw-border-style:dashed;border-style:dashed}.file-change-summary-label[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));flex:1;overflow:hidden}.file-change-summary-status[data-v-dd33b8d4]{max-width:calc(var(--spacing,.25rem) * 28);justify-content:flex-end;align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);text-align:right;--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-500,oklch(55.2% .016 285.938));flex-shrink:0;display:inline-flex}.file-change-panel-inner[data-v-dd33b8d4]{margin-bottom:calc(var(--spacing,.25rem) * 1);min-height:calc(var(--spacing,.25rem) * 0);padding-left:calc(var(--spacing,.25rem) * 2);overflow:hidden}.file-change-list[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * .5);border-radius:var(--radius-xl,.75rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:#fffc;flex-direction:column;list-style-type:none;display:flex}@supports (color:color-mix(in lab,red,red)){.file-change-list[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-white,#fff) 80%,transparent)}}.file-change-list[data-v-dd33b8d4]{padding:calc(var(--spacing,.25rem) * 1.5)}.file-change-item[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);border-radius:var(--radius-lg,.5rem);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-wrap:wrap;display:flex}.file-change-badge[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);--tw-tracking:.08em;letter-spacing:.08em;text-transform:uppercase;border-radius:3.40282e38px;align-items:center;display:inline-flex}.file-change-badge[data-operation=add][data-v-dd33b8d4]{background-color:var(--color-emerald-50,oklch(97.9% .021 166.113));color:var(--color-emerald-700,oklch(50.8% .118 165.612))}.file-change-badge[data-operation=update][data-v-dd33b8d4]{background-color:var(--color-sky-50,oklch(97.7% .013 236.62));color:var(--color-sky-700,oklch(50% .134 242.749))}.file-change-badge[data-operation=delete][data-v-dd33b8d4]{background-color:var(--color-rose-50,oklch(96.9% .015 12.422));color:var(--color-rose-700,oklch(51.4% .222 16.935))}.file-change-badge[data-operation=move][data-v-dd33b8d4]{background-color:var(--color-amber-50,oklch(98.7% .022 95.277));color:var(--color-amber-700,oklch(55.5% .163 48.998))}.file-change-path[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);word-break:break-all;font-size:13px}.file-change-path-button[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0);border-style:var(--tw-border-style);padding:calc(var(--spacing,.25rem) * 0);text-align:left;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);color:#0969da;text-underline-offset:2px;background-color:#0000;border-width:0;font-size:13px}@media(hover:hover){.file-change-path-button[data-v-dd33b8d4]:hover{color:#1f6feb;text-decoration-line:underline}}.file-change-arrow[data-v-dd33b8d4]{color:var(--color-zinc-400,oklch(70.5% .015 286.067))}.file-change-delta[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * 1.5);background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-600,oklch(44.2% .017 285.786));border-radius:3.40282e38px;margin-left:auto;display:inline-flex}.file-change-signed-count[data-v-dd33b8d4]{white-space:nowrap;align-items:center;display:inline-flex}.file-change-signed-count[data-tone=add][data-v-dd33b8d4]{color:var(--color-emerald-600,oklch(59.6% .145 163.225))}.file-change-signed-count[data-tone=remove][data-v-dd33b8d4]{color:var(--color-rose-600,oklch(58.6% .253 17.585))}.diff-viewer-backdrop[data-v-dd33b8d4]{inset:calc(var(--spacing,.25rem) * 0);z-index:50;background-color:#00000073;justify-content:center;align-items:center;display:flex;position:fixed}@supports (color:color-mix(in lab,red,red)){.diff-viewer-backdrop[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-black,#000) 45%,transparent)}}.diff-viewer-backdrop[data-v-dd33b8d4]{padding:calc(var(--spacing,.25rem) * 3)}@media(min-width:40rem){.diff-viewer-backdrop[data-v-dd33b8d4]{padding:calc(var(--spacing,.25rem) * 6)}}.diff-viewer-shell[data-v-dd33b8d4]{border-radius:var(--radius-3xl,1.5rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);width:min(96vw,1320px);height:min(88vh,920px);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);grid-template-columns:repeat(1,minmax(0,1fr));display:grid;position:relative;overflow:hidden}@media(min-width:64rem){.diff-viewer-shell[data-v-dd33b8d4]{grid-template-columns:320px minmax(0,1fr)}}.diff-viewer-sidebar[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));flex-direction:column;display:flex}@media(min-width:64rem){.diff-viewer-sidebar[data-v-dd33b8d4]{border-right-style:var(--tw-border-style);border-right-width:1px;border-bottom-style:var(--tw-border-style);border-bottom-width:0}}.diff-viewer-sidebar-header[data-v-dd33b8d4]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 4);padding-block:calc(var(--spacing,.25rem) * 4);display:flex}.diff-viewer-sidebar-title[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-sidebar-count[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.diff-viewer-sidebar-list[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex;overflow-y:auto}.diff-viewer-file-button[data-v-dd33b8d4]{align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-2xl,1rem);border-style:var(--tw-border-style);width:100%;padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);text-align:left;transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));background-color:#0000;border-width:1px;border-color:#0000;flex-direction:column;display:flex}@media(hover:hover){.diff-viewer-file-button[data-v-dd33b8d4]:hover{border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff)}}.diff-viewer-file-button[data-active=true][data-v-dd33b8d4]{border-color:var(--color-sky-200,oklch(90.1% .058 230.902));background-color:var(--color-white,#fff);--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.diff-viewer-file-label[data-v-dd33b8d4]{font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);word-break:break-all;color:var(--color-zinc-700,oklch(37% .013 285.805));font-size:13px}.diff-viewer-file-delta[data-v-dd33b8d4]{background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-medium,500);font-size:11px;font-weight:var(--font-weight-medium,500);color:var(--color-zinc-600,oklch(44.2% .017 285.786));border-radius:3.40282e38px;align-items:center;display:inline-flex}.diff-viewer-main[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);background-color:var(--color-white,#fff);flex-direction:column;display:flex}.diff-viewer-toolbar[data-v-dd33b8d4]{justify-content:space-between;align-items:flex-start;gap:calc(var(--spacing,.25rem) * 4);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 4);display:flex}.diff-viewer-toolbar-actions[data-v-dd33b8d4]{align-items:center;gap:calc(var(--spacing,.25rem) * 2);flex-shrink:0;display:flex}.diff-viewer-title-wrap[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0)}.diff-viewer-title[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);word-break:break-all;color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-subtitle[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 1);margin-bottom:calc(var(--spacing,.25rem) * 0);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.diff-viewer-close[data-v-dd33b8d4]{border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));color:var(--color-zinc-700,oklch(37% .013 285.805));flex-shrink:0;position:static}.diff-viewer-mobile-files-button[data-v-dd33b8d4]{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-100,oklch(96.7% .001 286.375));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-font-weight:var(--font-weight-medium,500);font-weight:var(--font-weight-medium,500);color:var(--color-zinc-700,oklch(37% .013 285.805));border-radius:3.40282e38px;align-items:center;display:inline-flex}.diff-viewer-empty[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);padding-inline:calc(var(--spacing,.25rem) * 6);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.diff-viewer-empty-title[data-v-dd33b8d4]{margin:calc(var(--spacing,.25rem) * 0);font-size:var(--text-base,1rem);line-height:var(--tw-leading,var(--text-base--line-height, 1.5 ));--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600);color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-empty-text[data-v-dd33b8d4]{margin-top:calc(var(--spacing,.25rem) * 2);max-width:var(--container-2xl,42rem);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:var(--leading-relaxed,1.625);line-height:var(--leading-relaxed,1.625);color:var(--color-zinc-500,oklch(55.2% .016 285.938))}.diff-viewer-panel[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);flex-direction:column;flex:1;display:flex}.diff-viewer-meta[data-v-dd33b8d4]{border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-zinc-50,oklch(98.5% 0 0));padding-inline:calc(var(--spacing,.25rem) * 5);padding-block:calc(var(--spacing,.25rem) * 2)}.diff-viewer-language[data-v-dd33b8d4]{background-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 2.5);padding-block:calc(var(--spacing,.25rem) * 1);--tw-font-weight:var(--font-weight-semibold,600);font-size:11px;font-weight:var(--font-weight-semibold,600);--tw-tracking:.08em;letter-spacing:.08em;color:var(--color-zinc-700,oklch(37% .013 285.805));text-transform:uppercase;border-radius:3.40282e38px;align-items:center;display:inline-flex}.diff-viewer-lines[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);background-color:var(--color-zinc-950,oklch(14.1% .005 285.823));flex:1;overflow:auto}.diff-viewer-line[data-v-dd33b8d4]{grid-template-columns:4rem 4rem 2rem minmax(0,1fr);align-items:stretch;min-width:fit-content;display:grid}.diff-viewer-line-number[data-v-dd33b8d4]{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-zinc-800,oklch(27.4% .006 286.033));padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:right;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-user-select:none;user-select:none}.diff-viewer-line-marker[data-v-dd33b8d4]{border-right-style:var(--tw-border-style);border-right-width:1px;border-color:var(--color-zinc-800,oklch(27.4% .006 286.033));padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1.5);text-align:center;font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));color:var(--color-zinc-500,oklch(55.2% .016 285.938));-webkit-user-select:none;user-select:none}.diff-viewer-line-code[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 1.5);font-family:var(--font-mono,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);--tw-leading:calc(var(--spacing,.25rem) * 5);font-size:12px;line-height:calc(var(--spacing,.25rem) * 5);white-space:pre;color:var(--color-zinc-100,oklch(96.7% .001 286.375));display:block}.diff-viewer-line[data-kind=meta][data-v-dd33b8d4]{background-color:var(--color-zinc-900,oklch(21% .006 285.885))}.diff-viewer-line[data-kind=meta] .diff-viewer-line-code[data-v-dd33b8d4],.diff-viewer-line[data-kind=meta] .diff-viewer-line-marker[data-v-dd33b8d4]{color:var(--color-sky-300,oklch(82.8% .111 230.318))}.diff-viewer-line[data-kind=hunk][data-v-dd33b8d4]{background-color:#052f4a66}@supports (color:color-mix(in lab,red,red)){.diff-viewer-line[data-kind=hunk][data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-sky-950,oklch(29.3% .066 243.157)) 40%,transparent)}}.diff-viewer-line[data-kind=hunk] .diff-viewer-line-code[data-v-dd33b8d4],.diff-viewer-line[data-kind=hunk] .diff-viewer-line-marker[data-v-dd33b8d4]{color:var(--color-sky-300,oklch(82.8% .111 230.318))}.diff-viewer-line[data-kind=add][data-v-dd33b8d4]{background:#14532d61}.diff-viewer-line[data-kind=add] .diff-viewer-line-marker[data-v-dd33b8d4],.diff-viewer-line[data-kind=add] .diff-viewer-line-code[data-v-dd33b8d4]{color:var(--color-emerald-200,oklch(90.5% .093 164.15))}.diff-viewer-line[data-kind=remove][data-v-dd33b8d4]{background:#7f1d1d52}.diff-viewer-line[data-kind=remove] .diff-viewer-line-marker[data-v-dd33b8d4],.diff-viewer-line[data-kind=remove] .diff-viewer-line-code[data-v-dd33b8d4]{color:var(--color-rose-200,oklch(89.2% .058 10.001))}.diff-viewer-line[data-kind=context][data-v-dd33b8d4]{background-color:var(--color-zinc-950,oklch(14.1% .005 285.823))}.diff-viewer-line[data-kind=context] .diff-viewer-line-code[data-v-dd33b8d4]{color:var(--color-zinc-100,oklch(96.7% .001 286.375))}.diff-viewer-mobile-sheet-backdrop[data-v-dd33b8d4]{inset:calc(var(--spacing,.25rem) * 0);z-index:20;background-color:#00000059;align-items:flex-end;display:flex;position:absolute}@supports (color:color-mix(in lab,red,red)){.diff-viewer-mobile-sheet-backdrop[data-v-dd33b8d4]{background-color:color-mix(in oklab,var(--color-black,#000) 35%,transparent)}}.diff-viewer-mobile-sheet[data-v-dd33b8d4]{border-top-left-radius:var(--radius-3xl,1.5rem);border-top-right-radius:var(--radius-3xl,1.5rem);border-top-style:var(--tw-border-style);border-top-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));background-color:var(--color-white,#fff);--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);width:100%;max-height:70vh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);flex-direction:column;display:flex;overflow:hidden}.diff-viewer-mobile-sheet-handle[data-v-dd33b8d4]{margin-inline:auto;margin-top:calc(var(--spacing,.25rem) * 3);height:calc(var(--spacing,.25rem) * 1.5);width:calc(var(--spacing,.25rem) * 12);background-color:var(--color-zinc-300,oklch(87.1% .006 286.286));border-radius:3.40282e38px}.diff-viewer-mobile-sheet-header[data-v-dd33b8d4]{justify-content:space-between;align-items:center;gap:calc(var(--spacing,.25rem) * 3);border-bottom-style:var(--tw-border-style);border-bottom-width:1px;border-color:var(--color-zinc-200,oklch(92% .004 286.32));padding-inline:calc(var(--spacing,.25rem) * 4);padding-top:calc(var(--spacing,.25rem) * 3);padding-bottom:calc(var(--spacing,.25rem) * 2);display:flex}.diff-viewer-mobile-sheet-list[data-v-dd33b8d4]{min-height:calc(var(--spacing,.25rem) * 0);gap:calc(var(--spacing,.25rem) * 2);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);flex-direction:column;display:flex;overflow-y:auto}.diff-viewer-sheet-enter-active[data-v-dd33b8d4],.diff-viewer-sheet-leave-active[data-v-dd33b8d4]{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function,cubic-bezier(.4, 0, .2, 1)));transition-duration:var(--tw-duration,var(--default-transition-duration,.15s));--tw-duration:.2s;transition-duration:.2s}.diff-viewer-sheet-enter-active .diff-viewer-mobile-sheet[data-v-dd33b8d4],.diff-viewer-sheet-leave-active .diff-viewer-mobile-sheet[data-v-dd33b8d4]{transition:transform .2s}.diff-viewer-sheet-enter-from[data-v-dd33b8d4],.diff-viewer-sheet-leave-to[data-v-dd33b8d4]{opacity:0}.diff-viewer-sheet-enter-from .diff-viewer-mobile-sheet[data-v-dd33b8d4],.diff-viewer-sheet-leave-to .diff-viewer-mobile-sheet[data-v-dd33b8d4]{transform:translateY(100%)}@media(max-width:767px){.diff-viewer-backdrop[data-v-dd33b8d4]{padding:calc(var(--spacing,.25rem) * 0);align-items:stretch}.diff-viewer-shell[data-v-dd33b8d4]{border-style:var(--tw-border-style);--tw-shadow:0 0 #0000;width:100vw;height:100dvh;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);border-width:0;border-radius:0}.diff-viewer-main[data-v-dd33b8d4]{min-width:calc(var(--spacing,.25rem) * 0)}.diff-viewer-toolbar[data-v-dd33b8d4]{top:calc(var(--spacing,.25rem) * 0);z-index:10;background-color:var(--color-white,#fff);padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 3);position:sticky}.diff-viewer-title[data-v-dd33b8d4]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5)}.diff-viewer-subtitle[data-v-dd33b8d4]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)))}.diff-viewer-meta[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 3);padding-block:calc(var(--spacing,.25rem) * 2)}.diff-viewer-language[data-v-dd33b8d4]{font-size:10px}.diff-viewer-line[data-v-dd33b8d4]{grid-template-columns:2.75rem 2.75rem 1.5rem minmax(0,1fr)}.diff-viewer-line-number[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 1.5);padding-block:calc(var(--spacing,.25rem) * 1);font-size:10px}.diff-viewer-line-marker[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 1);padding-block:calc(var(--spacing,.25rem) * 1);font-size:10px}.diff-viewer-line-code[data-v-dd33b8d4]{padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * 1);--tw-leading:calc(var(--spacing,.25rem) * 5);font-size:11px;line-height:calc(var(--spacing,.25rem) * 5)}}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}
|