codexui-android 0.1.105 → 0.1.107

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.
@@ -1 +1 @@
1
- import{d as tt,u as at,x as _,w as O,b as st,C as nt,e as it,o as l,c as o,a,t as n,q as p,f as y,i as ue,l as lt,F as b,r as T,L as ot,g as Ce,p as X,s as G,v as rt,m as Be,T as ut,J as vt,y as k,M as dt,N as ct,O as pt,n as ht,P as Le,Q as ft,_ as wt}from"./index-D7tjO7bS.js";const _t={class:"review-pane-header"},yt={class:"review-pane-heading"},mt={class:"review-pane-eyebrow"},bt={class:"review-pane-title"},kt={class:"review-pane-header-actions"},gt=["aria-label"],Ct={class:"review-pane-toolbar"},Bt={class:"review-pane-toolbar-tabs"},Lt={class:"review-pane-segmented review-pane-segmented-primary"},Ft=["data-active","onClick"],It={class:"review-pane-toolbar-controls"},xt={class:"review-pane-control-cluster"},Rt={class:"review-pane-control-label"},St={class:"review-pane-segmented"},$t=["data-active"],Tt=["data-active","disabled"],At={key:0,class:"review-pane-control-cluster"},Et={class:"review-pane-control-label"},Mt={key:1,class:"review-pane-control-cluster"},Nt={class:"review-pane-control-label"},Pt={class:"review-pane-segmented"},Dt=["data-active"],Wt=["data-active"],Gt={class:"review-pane-toolbar-actions"},zt=["disabled"],Vt=["disabled"],Kt={key:1,class:"review-pane-meta"},Ut={class:"review-pane-summary-pill review-pane-summary-pill-add"},Ht={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Ot={key:0},Xt={key:1},jt={key:2,class:"review-pane-content"},Yt={key:0,class:"review-pane-empty"},qt={class:"review-pane-empty-title"},Jt={key:1,class:"review-pane-empty"},Qt={class:"review-pane-empty-title"},Zt={class:"review-pane-empty-text"},ea=["disabled"],ta={key:2,class:"review-pane-empty"},aa={class:"review-pane-empty-title"},sa={class:"review-pane-empty-text"},na={key:0,class:"review-pane-bulk-actions"},ia=["disabled","onClick"],la={key:1,class:"review-pane-empty"},oa={class:"review-pane-empty-title"},ra={class:"review-pane-empty-text"},ua={key:0,class:"review-pane-file-list"},va=["data-expanded","onClick"],da=["data-expanded"],ca={class:"review-pane-tree-folder-name"},pa={class:"review-pane-tree-folder-count"},ha=["data-active","title","onClick"],fa={class:"review-pane-file-meta-row"},wa={class:"review-pane-file-main"},_a=["data-operation"],ya={class:"review-pane-file-path"},ma={class:"review-pane-file-delta"},ba={class:"review-pane-delta-add"},ka={class:"review-pane-delta-remove"},ga={class:"review-pane-diff"},Ca={class:"review-pane-file-header"},Ba={class:"review-pane-file-header-main"},La={class:"review-pane-file-title"},Fa={class:"review-pane-file-subtitle"},Ia={key:0,class:"review-pane-row-actions"},xa=["disabled","onClick"],Ra={key:0,class:"review-pane-raw-diff"},Sa={key:1,class:"review-pane-hunks"},$a=["data-active","onClick"],Ta={class:"review-pane-hunk-header"},Aa={class:"review-pane-hunk-title"},Ea={class:"review-pane-hunk-meta"},Ma={key:0,class:"review-pane-row-actions"},Na=["disabled","onClick"],Pa={class:"review-pane-lines"},Da=["data-kind"],Wa={class:"review-pane-line-number"},Ga={class:"review-pane-line-number"},za={class:"review-pane-line-marker"},Va={class:"review-pane-line-code"},Ka={key:3,class:"review-pane-findings"},Ua={key:0,class:"review-pane-summary-card"},Ha={class:"review-pane-summary-text"},Oa={key:1,class:"review-pane-findings-list"},Xa=["onClick"],ja={class:"review-pane-finding-title"},Ya={key:0,class:"review-pane-finding-location"},qa={key:1,class:"review-pane-finding-body"},Ja={key:2,class:"review-pane-empty"},Qa={class:"review-pane-empty-text"},Za={class:"review-pane-sheet-header"},es={class:"review-pane-sheet-count"},ts={class:"review-pane-sheet-list"},as=["data-expanded","onClick"],ss=["data-expanded"],ns={class:"review-pane-tree-folder-name"},is={class:"review-pane-tree-folder-count"},ls=["data-active","title","onClick"],os={class:"review-pane-file-meta-row"},rs={class:"review-pane-file-main"},us=["data-operation"],vs={class:"review-pane-file-path"},ds={class:"review-pane-file-delta"},cs={class:"review-pane-delta-add"},ps={class:"review-pane-delta-remove"},Fe="codex-web-local.review-pane-file-list-width.v1",hs=220,fs=420,Ie=288,ws=tt({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(xe){const g=xe,{isMobile:x}=at(),{t:u}=vt(),M=_("changes"),f=_("workspace"),L=_("unstaged"),v=_(null),S=_(""),j=_(!1),$=_(""),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 Re=[{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===$.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")}),ve=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))}),de=k(()=>{var e;return f.value==="workspace"&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&v.value.files.length>0}),ce=k(()=>de.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")}]),pe=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}),he=k(()=>{var e;return ze(((e=v.value)==null?void 0:e.files)??[],W.value)}),fe=k(()=>he.value.nodes),Ne=k(()=>he.value.folderIdsByFileId);function ie(e){return Number.isFinite(e)?Math.min(fs,Math.max(hs,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,d=w=>{ee.value=ie(i+(w.clientX-t))},c=()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",m),A=null},m=()=>{c(),De(ee.value)};window.addEventListener("pointermove",d),window.addEventListener("pointerup",m),A=c}function Ge(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function we(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function _e(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function ze(e,t){const i={folders:new Map,files:[]},d={};for(const B of e){const s=B.path.split("/").filter(Boolean),r=s.pop()??B.path;let h=i,R="";const ge=[];for(const[et,U]of s.entries()){R=R?`${R}/${U}`:U;let H=h.folders.get(U);H||(H={id:R,name:U,depth:et,folders:new Map,files:[]},h.folders.set(U,H)),h=H,ge.push(H.id)}h.files.push({file:B,name:r,depth:s.length}),d[B.id]=ge}const c=[],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)=>_e(h.name,R.name)),r=[...B.files].sort((h,R)=>_e(h.name,R.name));for(const h of s)c.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)c.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:c,folderIdsByFileId:d}}function K(e){return W.value[e]!==!1}function ye(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 d=!1;for(const c of t)i[c]===!1&&(i[c]=!0,d=!0);d&&(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 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 d=f.value==="baseBranch"?S.value.trim():"",c=await dt(g.cwd,f.value,L.value,d||null);if(c.baseBranchOptions.length>0){const w=c.baseBranch??c.baseBranchOptions[0]??"";S.value!==w&&(j.value=!0,S.value=w)}else S.value!==""&&(j.value=!0,S.value="");v.value=c,c.files.some(w=>w.id===$.value)||($.value=((e=c.files[0])==null?void 0:e.id)??"",F.value=((i=(t=c.files[0])==null?void 0:t.hunks[0])==null?void 0:i.id)??"")}catch(d){z.value=d instanceof Error?d.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 me(){await Promise.all([ae(),Ue()])}function be(e){var i,d;le(e),$.value=e;const t=((i=v.value)==null?void 0:i.files.find(c=>c.id===e))??null;F.value=((d=t==null?void 0:t.hunks[0])==null?void 0:d.id)??"",x.value&&(Y.value=!1)}async function re(e,t,i=""){var d,c,m;if(v.value){N.value=!0,I.value="";try{const w=await ft({cwd:g.cwd,scope:f.value,workspaceView:L.value,action:e,level:t,patch:i});v.value=w,w.files.some(s=>s.id===$.value)||($.value=((d=w.files[0])==null?void 0:d.id)??"",F.value=((m=(c=w.files[0])==null?void 0:c.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 ct(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(!(!ve.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 pt(g.threadId,f.value,L.value,S.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 d=i.newStart+Math.max(i.newLineCount,1)-1;if(t.startLine>=i.newStart&&t.startLine<=d)return i}if(i.oldStart!==null){const d=i.oldStart+Math.max(i.oldLineCount,1)-1;if(t.startLine>=i.oldStart&&t.startLine<=d)return i}}return e.hunks[0]??null}async function ke(e){await ht();const t=ne.get(e);t==null||t.scrollIntoView({block:"center",behavior:"smooth"})}async function Qe(e){var d;M.value="changes";const t=((d=v.value)==null?void 0:d.files.find(c=>c.absolutePath===e.absolutePath||c.previousAbsolutePath===e.absolutePath))??null;if(!t)return;le(t.id),$.value=t.id;const i=Je(t,e);F.value=(i==null?void 0:i.id)??"",i!=null&&i.id&&await ke(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,d=typeof(i==null?void 0:i.type)=="string"?i.type:"";if(e.method==="item/started"&&d==="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"&&d==="exitedReviewMode"){const c=J.value||Z.value;E.value=!1,P.value="",Le(g.threadId).then(m=>{m.result&&(D.value={...D.value,[c]: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],()=>{$.value="",F.value="",D.value={},J.value="",I.value="",P.value="",me()},{immediate:!0}),O(()=>[f.value,L.value],()=>{$.value="",F.value="",I.value="",z.value="",ae()}),O(S,(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&&ke(e)}),st(()=>{Q=nt(Ze)}),it(()=>{Q&&(Q(),Q=null),A==null||A()}),(e,t)=>{var i,d,c,m,w,B;return l(),o("section",{class:Ce(["review-pane",{"is-mobile":p(x)}]),onClick:t[9]||(t[9]=Be(()=>{},["stop"]))},[a("header",_t,[a("div",yt,[a("p",mt,n(p(u)("Review")),1),a("p",bt,n(Se.value),1)]),a("div",kt,[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"))},[ue(lt,{class:"icon-svg"})],8,gt)])]),a("div",Ct,[a("div",Bt,[a("div",Lt,[(l(),o(b,null,T(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,Ft)),64))])]),a("div",It,[a("div",xt,[a("span",Rt,n(p(u)("Compare")),1),a("div",St,[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,$t),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="baseBranch",disabled:!((d=v.value)!=null&&d.baseBranch),onClick:t[3]||(t[3]=s=>f.value="baseBranch")},n(p(u)("Base branch")),9,Tt)])]),f.value==="baseBranch"&&((c=v.value)!=null&&c.baseBranchOptions.length)?(l(),o("div",At,[a("span",Et,n(p(u)("Branch")),1),ue(ot,{class:"review-pane-branch-select","model-value":S.value,options:v.value.baseBranchOptions.map(s=>({value:s,label:s})),"onUpdate:modelValue":t[4]||(t[4]=s=>S.value=s)},null,8,["model-value","options"])])):y("",!0),f.value==="workspace"?(l(),o("div",Mt,[a("span",Nt,n(p(u)("Changes")),1),a("div",Pt,[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,Dt),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,Wt)])])):y("",!0)]),a("div",Gt,[a("button",{type:"button",class:"review-pane-run",disabled:!ve.value||E.value,onClick:Ye},n(E.value?p(u)("Reviewing…"):p(u)("Run review")),9,zt),a("button",{type:"button",class:"review-pane-refresh",disabled:se.value,onClick:me},n(p(u)("Refresh")),9,Vt)])]),pe.value?(l(),o("div",{key:0,class:Ce(["review-pane-banner",{"is-error":Ee.value}])},n(pe.value),3)):y("",!0),v.value?(l(),o("div",Kt,[a("span",null,n(v.value.summary.fileCount)+" "+n(p(u)("files")),1),a("span",Ut,"+"+n(v.value.summary.addedLineCount),1),a("span",Ht,"-"+n(v.value.summary.removedLineCount),1),v.value.headBranch?(l(),o("span",Ot,n(v.value.headBranch),1)):y("",!0),f.value==="baseBranch"&&v.value.baseBranch?(l(),o("span",Xt,"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",ta,[a("p",aa,n(p(u)("Base branch unavailable")),1),a("p",sa,n(p(u)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(l(),o(b,{key:3},[de.value?(l(),o("div",na,[(l(!0),o(b,null,T($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,ia))),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",ua,[(l(!0),o(b,null,T(fe.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=>ye(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(s.id)},null,8,da),a("span",ca,n(s.name),1),a("span",pa,n(s.fileCount),1)],12,va)):(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=>be(s.file.id)},[a("span",fa,[a("span",wa,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},n(oe(s.file.operation)),9,_a),a("span",ya,[G(n(s.name)+" ",1),s.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(we(s.file.previousPath)),1)],64)):y("",!0)])]),a("span",ma,[a("span",ba,"+"+n(s.file.addedLineCount),1),t[10]||(t[10]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ka,"-"+n(s.file.removedLineCount),1)])])],12,ha))],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",ga,[C.value?(l(),o(b,{key:0},[a("div",Ca,[a("div",Ba,[a("p",La,[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",Fa,n(oe(C.value.operation))+" · +"+n(C.value.addedLineCount)+" / -"+n(C.value.removedLineCount),1)]),ce.value?(l(),o("div",Ia,[(l(!0),o(b,null,T(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,xa))),128))])):y("",!0)]),C.value.hunks.length===0?(l(),o("div",Ra,[a("pre",null,n(C.value.diff||"No unified diff available."),1)])):(l(),o("div",Sa,[(l(!0),o(b,null,T(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",Ta,[a("div",null,[a("p",Aa,n(s.header),1),a("p",Ea,"+"+n(s.addedLineCount)+" / -"+n(s.removedLineCount),1)]),ce.value?(l(),o("div",Ma,[(l(!0),o(b,null,T(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,Na))),128))])):y("",!0)]),a("div",Pa,[(l(!0),o(b,null,T(s.lines,r=>(l(),o("div",{key:r.key,class:"review-pane-line","data-kind":r.kind},[a("span",Wa,n(r.oldLine??""),1),a("span",Ga,n(r.newLine??""),1),a("span",za,n(Ge(r.kind)),1),a("code",Va,n(r.text||" "),1)],8,Da))),128))])],8,$a))),128))]))],64)):y("",!0)])],4)):(l(),o("div",la,[a("p",oa,n(p(u)("No changes in this scope")),1),a("p",ra,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",Jt,[a("p",Qt,n(p(u)("This folder is not a Git repository")),1),a("p",Zt,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,ea)])):(l(),o("div",Yt,[a("p",qt,n(p(u)("Loading review state")),1)]))])):(l(),o("div",Ka,[(m=V.value)!=null&&m.summary?(l(),o("div",Ua,[t[11]||(t[11]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",Ha,n(V.value.summary),1)])):y("",!0),(w=V.value)!=null&&w.findings.length?(l(),o("div",Oa,[(l(!0),o(b,null,T(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",Ya,n(qe(s)),1)):y("",!0),s.body?(l(),o("span",qa,n(s.body),1)):y("",!0)],8,Xa))),128))])):(l(),o("div",Ja,[t[12]||(t[12]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",Qa,n((B=V.value)!=null&&B.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ue(ut,{name:"review-pane-sheet"},{default:rt(()=>{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",Za,[t[13]||(t[13]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",es,n(v.value.files.length),1)]),a("div",ts,[(l(!0),o(b,null,T(fe.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:R=>ye(r.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(r.id)},null,8,ss),a("span",ns,n(r.name),1),a("span",is,n(r.fileCount),1)],12,as)):(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=>be(r.file.id)},[a("span",os,[a("span",rs,[a("span",{class:"review-pane-file-op","data-operation":r.file.operation},n(oe(r.file.operation)),9,us),a("span",vs,[G(n(r.name)+" ",1),r.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(we(r.file.previousPath)),1)],64)):y("",!0)])]),a("span",ds,[a("span",cs,"+"+n(r.file.addedLineCount),1),t[14]||(t[14]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ps,"-"+n(r.file.removedLineCount),1)])])],12,ls))],64)}),128))])])])):y("",!0)]}),_:1})],2)}}}),ys=wt(ws,[["__scopeId","data-v-db0162f9"]]);export{ys as default};
1
+ import{d as tt,u as at,x as _,w as O,b as st,C as nt,e as it,o as l,c as o,a,t as n,q as p,f as y,i as ue,l as lt,F as b,r as T,L as ot,g as Ce,p as X,s as G,v as rt,m as Be,T as ut,J as vt,y as k,M as dt,N as ct,O as pt,n as ht,P as Le,Q as ft,_ as wt}from"./index-7uudGTMH.js";const _t={class:"review-pane-header"},yt={class:"review-pane-heading"},mt={class:"review-pane-eyebrow"},bt={class:"review-pane-title"},kt={class:"review-pane-header-actions"},gt=["aria-label"],Ct={class:"review-pane-toolbar"},Bt={class:"review-pane-toolbar-tabs"},Lt={class:"review-pane-segmented review-pane-segmented-primary"},Ft=["data-active","onClick"],It={class:"review-pane-toolbar-controls"},xt={class:"review-pane-control-cluster"},Rt={class:"review-pane-control-label"},St={class:"review-pane-segmented"},$t=["data-active"],Tt=["data-active","disabled"],At={key:0,class:"review-pane-control-cluster"},Et={class:"review-pane-control-label"},Mt={key:1,class:"review-pane-control-cluster"},Nt={class:"review-pane-control-label"},Pt={class:"review-pane-segmented"},Dt=["data-active"],Wt=["data-active"],Gt={class:"review-pane-toolbar-actions"},zt=["disabled"],Vt=["disabled"],Kt={key:1,class:"review-pane-meta"},Ut={class:"review-pane-summary-pill review-pane-summary-pill-add"},Ht={class:"review-pane-summary-pill review-pane-summary-pill-remove"},Ot={key:0},Xt={key:1},jt={key:2,class:"review-pane-content"},Yt={key:0,class:"review-pane-empty"},qt={class:"review-pane-empty-title"},Jt={key:1,class:"review-pane-empty"},Qt={class:"review-pane-empty-title"},Zt={class:"review-pane-empty-text"},ea=["disabled"],ta={key:2,class:"review-pane-empty"},aa={class:"review-pane-empty-title"},sa={class:"review-pane-empty-text"},na={key:0,class:"review-pane-bulk-actions"},ia=["disabled","onClick"],la={key:1,class:"review-pane-empty"},oa={class:"review-pane-empty-title"},ra={class:"review-pane-empty-text"},ua={key:0,class:"review-pane-file-list"},va=["data-expanded","onClick"],da=["data-expanded"],ca={class:"review-pane-tree-folder-name"},pa={class:"review-pane-tree-folder-count"},ha=["data-active","title","onClick"],fa={class:"review-pane-file-meta-row"},wa={class:"review-pane-file-main"},_a=["data-operation"],ya={class:"review-pane-file-path"},ma={class:"review-pane-file-delta"},ba={class:"review-pane-delta-add"},ka={class:"review-pane-delta-remove"},ga={class:"review-pane-diff"},Ca={class:"review-pane-file-header"},Ba={class:"review-pane-file-header-main"},La={class:"review-pane-file-title"},Fa={class:"review-pane-file-subtitle"},Ia={key:0,class:"review-pane-row-actions"},xa=["disabled","onClick"],Ra={key:0,class:"review-pane-raw-diff"},Sa={key:1,class:"review-pane-hunks"},$a=["data-active","onClick"],Ta={class:"review-pane-hunk-header"},Aa={class:"review-pane-hunk-title"},Ea={class:"review-pane-hunk-meta"},Ma={key:0,class:"review-pane-row-actions"},Na=["disabled","onClick"],Pa={class:"review-pane-lines"},Da=["data-kind"],Wa={class:"review-pane-line-number"},Ga={class:"review-pane-line-number"},za={class:"review-pane-line-marker"},Va={class:"review-pane-line-code"},Ka={key:3,class:"review-pane-findings"},Ua={key:0,class:"review-pane-summary-card"},Ha={class:"review-pane-summary-text"},Oa={key:1,class:"review-pane-findings-list"},Xa=["onClick"],ja={class:"review-pane-finding-title"},Ya={key:0,class:"review-pane-finding-location"},qa={key:1,class:"review-pane-finding-body"},Ja={key:2,class:"review-pane-empty"},Qa={class:"review-pane-empty-text"},Za={class:"review-pane-sheet-header"},es={class:"review-pane-sheet-count"},ts={class:"review-pane-sheet-list"},as=["data-expanded","onClick"],ss=["data-expanded"],ns={class:"review-pane-tree-folder-name"},is={class:"review-pane-tree-folder-count"},ls=["data-active","title","onClick"],os={class:"review-pane-file-meta-row"},rs={class:"review-pane-file-main"},us=["data-operation"],vs={class:"review-pane-file-path"},ds={class:"review-pane-file-delta"},cs={class:"review-pane-delta-add"},ps={class:"review-pane-delta-remove"},Fe="codex-web-local.review-pane-file-list-width.v1",hs=220,fs=420,Ie=288,ws=tt({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean}},emits:["close"],setup(xe){const g=xe,{isMobile:x}=at(),{t:u}=vt(),M=_("changes"),f=_("workspace"),L=_("unstaged"),v=_(null),S=_(""),j=_(!1),$=_(""),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 Re=[{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===$.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")}),ve=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))}),de=k(()=>{var e;return f.value==="workspace"&&((e=v.value)==null?void 0:e.isGitRepo)===!0&&v.value.files.length>0}),ce=k(()=>de.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")}]),pe=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}),he=k(()=>{var e;return ze(((e=v.value)==null?void 0:e.files)??[],W.value)}),fe=k(()=>he.value.nodes),Ne=k(()=>he.value.folderIdsByFileId);function ie(e){return Number.isFinite(e)?Math.min(fs,Math.max(hs,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,d=w=>{ee.value=ie(i+(w.clientX-t))},c=()=>{window.removeEventListener("pointermove",d),window.removeEventListener("pointerup",m),A=null},m=()=>{c(),De(ee.value)};window.addEventListener("pointermove",d),window.addEventListener("pointerup",m),A=c}function Ge(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function we(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function _e(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function ze(e,t){const i={folders:new Map,files:[]},d={};for(const B of e){const s=B.path.split("/").filter(Boolean),r=s.pop()??B.path;let h=i,R="";const ge=[];for(const[et,U]of s.entries()){R=R?`${R}/${U}`:U;let H=h.folders.get(U);H||(H={id:R,name:U,depth:et,folders:new Map,files:[]},h.folders.set(U,H)),h=H,ge.push(H.id)}h.files.push({file:B,name:r,depth:s.length}),d[B.id]=ge}const c=[],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)=>_e(h.name,R.name)),r=[...B.files].sort((h,R)=>_e(h.name,R.name));for(const h of s)c.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)c.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:c,folderIdsByFileId:d}}function K(e){return W.value[e]!==!1}function ye(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 d=!1;for(const c of t)i[c]===!1&&(i[c]=!0,d=!0);d&&(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 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 d=f.value==="baseBranch"?S.value.trim():"",c=await dt(g.cwd,f.value,L.value,d||null);if(c.baseBranchOptions.length>0){const w=c.baseBranch??c.baseBranchOptions[0]??"";S.value!==w&&(j.value=!0,S.value=w)}else S.value!==""&&(j.value=!0,S.value="");v.value=c,c.files.some(w=>w.id===$.value)||($.value=((e=c.files[0])==null?void 0:e.id)??"",F.value=((i=(t=c.files[0])==null?void 0:t.hunks[0])==null?void 0:i.id)??"")}catch(d){z.value=d instanceof Error?d.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 me(){await Promise.all([ae(),Ue()])}function be(e){var i,d;le(e),$.value=e;const t=((i=v.value)==null?void 0:i.files.find(c=>c.id===e))??null;F.value=((d=t==null?void 0:t.hunks[0])==null?void 0:d.id)??"",x.value&&(Y.value=!1)}async function re(e,t,i=""){var d,c,m;if(v.value){N.value=!0,I.value="";try{const w=await ft({cwd:g.cwd,scope:f.value,workspaceView:L.value,action:e,level:t,patch:i});v.value=w,w.files.some(s=>s.id===$.value)||($.value=((d=w.files[0])==null?void 0:d.id)??"",F.value=((m=(c=w.files[0])==null?void 0:c.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 ct(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(!(!ve.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 pt(g.threadId,f.value,L.value,S.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 d=i.newStart+Math.max(i.newLineCount,1)-1;if(t.startLine>=i.newStart&&t.startLine<=d)return i}if(i.oldStart!==null){const d=i.oldStart+Math.max(i.oldLineCount,1)-1;if(t.startLine>=i.oldStart&&t.startLine<=d)return i}}return e.hunks[0]??null}async function ke(e){await ht();const t=ne.get(e);t==null||t.scrollIntoView({block:"center",behavior:"smooth"})}async function Qe(e){var d;M.value="changes";const t=((d=v.value)==null?void 0:d.files.find(c=>c.absolutePath===e.absolutePath||c.previousAbsolutePath===e.absolutePath))??null;if(!t)return;le(t.id),$.value=t.id;const i=Je(t,e);F.value=(i==null?void 0:i.id)??"",i!=null&&i.id&&await ke(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,d=typeof(i==null?void 0:i.type)=="string"?i.type:"";if(e.method==="item/started"&&d==="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"&&d==="exitedReviewMode"){const c=J.value||Z.value;E.value=!1,P.value="",Le(g.threadId).then(m=>{m.result&&(D.value={...D.value,[c]: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],()=>{$.value="",F.value="",D.value={},J.value="",I.value="",P.value="",me()},{immediate:!0}),O(()=>[f.value,L.value],()=>{$.value="",F.value="",I.value="",z.value="",ae()}),O(S,(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&&ke(e)}),st(()=>{Q=nt(Ze)}),it(()=>{Q&&(Q(),Q=null),A==null||A()}),(e,t)=>{var i,d,c,m,w,B;return l(),o("section",{class:Ce(["review-pane",{"is-mobile":p(x)}]),onClick:t[9]||(t[9]=Be(()=>{},["stop"]))},[a("header",_t,[a("div",yt,[a("p",mt,n(p(u)("Review")),1),a("p",bt,n(Se.value),1)]),a("div",kt,[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"))},[ue(lt,{class:"icon-svg"})],8,gt)])]),a("div",Ct,[a("div",Bt,[a("div",Lt,[(l(),o(b,null,T(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,Ft)),64))])]),a("div",It,[a("div",xt,[a("span",Rt,n(p(u)("Compare")),1),a("div",St,[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,$t),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":f.value==="baseBranch",disabled:!((d=v.value)!=null&&d.baseBranch),onClick:t[3]||(t[3]=s=>f.value="baseBranch")},n(p(u)("Base branch")),9,Tt)])]),f.value==="baseBranch"&&((c=v.value)!=null&&c.baseBranchOptions.length)?(l(),o("div",At,[a("span",Et,n(p(u)("Branch")),1),ue(ot,{class:"review-pane-branch-select","model-value":S.value,options:v.value.baseBranchOptions.map(s=>({value:s,label:s})),"onUpdate:modelValue":t[4]||(t[4]=s=>S.value=s)},null,8,["model-value","options"])])):y("",!0),f.value==="workspace"?(l(),o("div",Mt,[a("span",Nt,n(p(u)("Changes")),1),a("div",Pt,[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,Dt),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,Wt)])])):y("",!0)]),a("div",Gt,[a("button",{type:"button",class:"review-pane-run",disabled:!ve.value||E.value,onClick:Ye},n(E.value?p(u)("Reviewing…"):p(u)("Run review")),9,zt),a("button",{type:"button",class:"review-pane-refresh",disabled:se.value,onClick:me},n(p(u)("Refresh")),9,Vt)])]),pe.value?(l(),o("div",{key:0,class:Ce(["review-pane-banner",{"is-error":Ee.value}])},n(pe.value),3)):y("",!0),v.value?(l(),o("div",Kt,[a("span",null,n(v.value.summary.fileCount)+" "+n(p(u)("files")),1),a("span",Ut,"+"+n(v.value.summary.addedLineCount),1),a("span",Ht,"-"+n(v.value.summary.removedLineCount),1),v.value.headBranch?(l(),o("span",Ot,n(v.value.headBranch),1)):y("",!0),f.value==="baseBranch"&&v.value.baseBranch?(l(),o("span",Xt,"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",ta,[a("p",aa,n(p(u)("Base branch unavailable")),1),a("p",sa,n(p(u)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(l(),o(b,{key:3},[de.value?(l(),o("div",na,[(l(!0),o(b,null,T($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,ia))),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",ua,[(l(!0),o(b,null,T(fe.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=>ye(s.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(s.id)},null,8,da),a("span",ca,n(s.name),1),a("span",pa,n(s.fileCount),1)],12,va)):(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=>be(s.file.id)},[a("span",fa,[a("span",wa,[a("span",{class:"review-pane-file-op","data-operation":s.file.operation},n(oe(s.file.operation)),9,_a),a("span",ya,[G(n(s.name)+" ",1),s.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(we(s.file.previousPath)),1)],64)):y("",!0)])]),a("span",ma,[a("span",ba,"+"+n(s.file.addedLineCount),1),t[10]||(t[10]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ka,"-"+n(s.file.removedLineCount),1)])])],12,ha))],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",ga,[C.value?(l(),o(b,{key:0},[a("div",Ca,[a("div",Ba,[a("p",La,[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",Fa,n(oe(C.value.operation))+" · +"+n(C.value.addedLineCount)+" / -"+n(C.value.removedLineCount),1)]),ce.value?(l(),o("div",Ia,[(l(!0),o(b,null,T(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,xa))),128))])):y("",!0)]),C.value.hunks.length===0?(l(),o("div",Ra,[a("pre",null,n(C.value.diff||"No unified diff available."),1)])):(l(),o("div",Sa,[(l(!0),o(b,null,T(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",Ta,[a("div",null,[a("p",Aa,n(s.header),1),a("p",Ea,"+"+n(s.addedLineCount)+" / -"+n(s.removedLineCount),1)]),ce.value?(l(),o("div",Ma,[(l(!0),o(b,null,T(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,Na))),128))])):y("",!0)]),a("div",Pa,[(l(!0),o(b,null,T(s.lines,r=>(l(),o("div",{key:r.key,class:"review-pane-line","data-kind":r.kind},[a("span",Wa,n(r.oldLine??""),1),a("span",Ga,n(r.newLine??""),1),a("span",za,n(Ge(r.kind)),1),a("code",Va,n(r.text||" "),1)],8,Da))),128))])],8,$a))),128))]))],64)):y("",!0)])],4)):(l(),o("div",la,[a("p",oa,n(p(u)("No changes in this scope")),1),a("p",ra,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",Jt,[a("p",Qt,n(p(u)("This folder is not a Git repository")),1),a("p",Zt,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,ea)])):(l(),o("div",Yt,[a("p",qt,n(p(u)("Loading review state")),1)]))])):(l(),o("div",Ka,[(m=V.value)!=null&&m.summary?(l(),o("div",Ua,[t[11]||(t[11]=a("p",{class:"review-pane-summary-title"},"Summary",-1)),a("pre",Ha,n(V.value.summary),1)])):y("",!0),(w=V.value)!=null&&w.findings.length?(l(),o("div",Oa,[(l(!0),o(b,null,T(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",Ya,n(qe(s)),1)):y("",!0),s.body?(l(),o("span",qa,n(s.body),1)):y("",!0)],8,Xa))),128))])):(l(),o("div",Ja,[t[12]||(t[12]=a("p",{class:"review-pane-empty-title"},"No structured findings yet",-1)),a("p",Qa,n((B=V.value)!=null&&B.summary?"The latest review only returned summary text.":"Run review to populate this pane."),1)]))])),ue(ut,{name:"review-pane-sheet"},{default:rt(()=>{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",Za,[t[13]||(t[13]=a("p",{class:"review-pane-sheet-title"},"Changed files",-1)),a("p",es,n(v.value.files.length),1)]),a("div",ts,[(l(!0),o(b,null,T(fe.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:R=>ye(r.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":K(r.id)},null,8,ss),a("span",ns,n(r.name),1),a("span",is,n(r.fileCount),1)],12,as)):(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=>be(r.file.id)},[a("span",os,[a("span",rs,[a("span",{class:"review-pane-file-op","data-operation":r.file.operation},n(oe(r.file.operation)),9,us),a("span",vs,[G(n(r.name)+" ",1),r.file.previousPath?(l(),o(b,{key:0},[G(" ← "+n(we(r.file.previousPath)),1)],64)):y("",!0)])]),a("span",ds,[a("span",cs,"+"+n(r.file.addedLineCount),1),t[14]||(t[14]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ps,"-"+n(r.file.removedLineCount),1)])])],12,ls))],64)}),128))])])])):y("",!0)]}),_:1})],2)}}}),ys=wt(ws,[["__scopeId","data-v-db0162f9"]]);export{ys as default};
@@ -1,4 +1,4 @@
1
- import{_ as In,o as r,c as l,a as u,d as Ns,u as Vs,w as Y,n as bt,b as Us,e as qs,t as h,f as v,F as y,r as b,g as x,h as Ks,i as Q,I as Gs,j as Zs,k as Xs,l as Tn,m as Ge,p as xt,q as Ct,s as ee,v as Mn,T as Js,x as C,y as L,z as Ys,A as Qs,B as ei}from"./index-D7tjO7bS.js";const ti={},ni={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function si(M,xe){return r(),l("svg",ni,[...xe[0]||(xe[0]=[u("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 ii=In(ti,[["render",si]]),oi={key:0,class:"conversation-loading"},ai={key:1,class:"conversation-empty"},ri={key:0,class:"conversation-load-more"},li=["disabled"],ci=["data-role","data-message-type"],ui={key:0,class:"message-row","data-role":"system"},di={class:"message-stack","data-role":"system"},fi=["onClick"],hi={class:"cmd-group-label"},pi={class:"cmd-status"},mi={class:"cmd-group-inner"},ki=["onClick"],vi={class:"cmd-label"},gi={class:"cmd-status"},yi={class:"cmd-output-inner"},_i=["textContent"],wi=["onClick"],bi={class:"cmd-label"},xi={class:"cmd-status"},Ci={class:"cmd-output-inner"},$i=["textContent"],Li=["data-role","data-message-type"],Ti=["data-role"],Mi=["data-role"],Ii={key:0,class:"file-change-summary-block"},Si=["onClick"],Pi={class:"file-change-summary-label"},Ai={class:"file-change-summary-status"},Ei=["data-tone"],Bi={class:"file-change-panel-inner"},Fi={class:"file-change-list"},Wi=["data-operation"],Ri=["title","onClick"],Hi={key:0,class:"file-change-arrow"},Oi=["title","onClick"],zi={key:2,class:"file-change-delta"},ji=["data-tone"],Di=["data-role","data-message-type"],Ni=["data-role"],Vi=["data-role"],Ui=["data-role"],qi=["onClick"],Ki=["src","alt"],Gi={key:1,class:"message-file-attachments"},Zi=["href","title"],Xi={key:2,class:"message-skill-attachments"},Ji=["href","title"],Yi={class:"message-skill-chip-name"},Qi=["data-role"],eo={key:0,class:"automation-message-label"},to={key:0},no={key:1,class:"worked-separator-wrap","aria-live":"polite"},so=["onClick"],io={class:"worked-separator-text"},oo={key:0,class:"worked-details"},ao=["onClick"],ro={class:"cmd-label"},lo={class:"cmd-status"},co={class:"cmd-output-inner"},uo=["textContent"],fo=["data-streaming"],ho={class:"plan-card-header"},po={key:0,class:"plan-card-badge"},mo=["innerHTML"],ko={key:1,class:"plan-step-list"},vo=["data-status"],go=["data-status"],yo=["innerHTML"],_o=["innerHTML"],wo={key:3,class:"plan-card-actions"},bo=["onClick"],xo={key:0,class:"message-text"},Co={key:0},$o={key:1,class:"message-bold-text"},Lo={key:2,class:"message-italic-text"},To={key:3,class:"message-strikethrough-text"},Mo=["href","title"],Io=["href","title"],So={key:6,class:"message-inline-code"},Po={key:0},Ao={key:1,class:"message-bold-text"},Eo={key:2,class:"message-italic-text"},Bo={key:3,class:"message-strikethrough-text"},Fo=["href","title"],Wo=["href","title"],Ro={key:6,class:"message-inline-code"},Ho={key:2,class:"message-blockquote"},Oo={key:0},zo={key:1,class:"message-bold-text"},jo={key:2,class:"message-italic-text"},Do={key:3,class:"message-strikethrough-text"},No=["href","title"],Vo=["href","title"],Uo={key:6,class:"message-inline-code"},qo={key:3,class:"message-list message-list-unordered"},Ko=["innerHTML"],Go={key:4,class:"message-list message-task-list"},Zo=["data-checked"],Xo={class:"message-list-item-text"},Jo={key:0},Yo={key:1,class:"message-bold-text"},Qo={key:2,class:"message-italic-text"},ea={key:3,class:"message-strikethrough-text"},ta=["href","title"],na=["href","title"],sa={key:6,class:"message-inline-code"},ia=["start"],oa=["innerHTML"],aa={key:6,class:"message-table-wrap"},ra={class:"message-table"},la={key:0},ca={key:1,class:"message-bold-text"},ua={key:2,class:"message-italic-text"},da={key:3,class:"message-strikethrough-text"},fa=["href","title"],ha=["href","title"],pa={key:6,class:"message-inline-code"},ma={key:0},ka={key:0},va={key:1,class:"message-bold-text"},ga={key:2,class:"message-italic-text"},ya={key:3,class:"message-strikethrough-text"},_a=["href","title"],wa=["href","title"],ba={key:6,class:"message-inline-code"},xa={key:7,class:"message-code-block"},Ca={key:0,class:"message-code-language"},$a={class:"message-code-pre"},La=["innerHTML"],Ta={key:8,class:"message-divider"},Ma={key:9,class:"message-text"},Ia=["onClick"],Sa=["src","alt","onError"],Pa={key:4,class:"file-change-summary-block file-change-summary-block-inline"},Aa=["onClick"],Ea={class:"file-change-summary-label"},Ba={class:"file-change-summary-status"},Fa=["data-tone"],Wa={class:"file-change-panel-inner"},Ra={class:"file-change-list"},Ha=["data-operation"],Oa=["title","onClick"],za={key:0,class:"file-change-arrow"},ja=["title","onClick"],Da={key:2,class:"file-change-delta"},Na=["data-tone"],Va=["data-role"],Ua=["onClick"],qa=["onClick"],Ka=["data-copied","aria-label","title","onClick"],Ga={class:"message-copy-label"},Za={key:1,class:"conversation-item conversation-item-overlay"},Xa={class:"message-row"},Ja={class:"message-stack"},Ya={class:"live-overlay-inline","aria-live":"polite"},Qa={class:"live-overlay-label"},er={key:0,class:"live-overlay-reasoning"},tr={key:1,class:"live-overlay-error"},nr=["src"],sr={key:0,class:"diff-viewer-sidebar"},ir={class:"diff-viewer-sidebar-header"},or={class:"diff-viewer-sidebar-count"},ar={class:"diff-viewer-sidebar-list"},rr=["data-active","onClick"],lr=["data-operation"],cr={class:"diff-viewer-file-label"},ur={key:0,class:"diff-viewer-file-delta"},dr={class:"diff-viewer-main"},fr={class:"diff-viewer-toolbar"},hr={class:"diff-viewer-title-wrap"},pr={class:"diff-viewer-title"},mr={class:"diff-viewer-subtitle"},kr={key:0},vr={class:"diff-viewer-toolbar-actions"},gr={key:0,class:"diff-viewer-empty"},yr={key:1,class:"diff-viewer-panel"},_r={class:"diff-viewer-meta"},wr={class:"diff-viewer-language"},br={class:"diff-viewer-lines"},xr=["data-kind"],Cr={class:"diff-viewer-line-number"},$r={class:"diff-viewer-line-number"},Lr={class:"diff-viewer-line-marker"},Tr=["innerHTML"],Mr={class:"diff-viewer-mobile-sheet-header"},Ir={class:"diff-viewer-sidebar-count"},Sr={class:"diff-viewer-mobile-sheet-list"},Pr=["data-active","onClick"],Ar=["data-operation"],Er={class:"diff-viewer-file-label"},Br={key:0,class:"diff-viewer-file-delta"},Fr=16,Wr=300,Rr=1200,Hr=300,Or=250,$t=50,zr=30,jr=200,Dr=Ns({__name:"ThreadConversation",props:{messages:{},pendingRequests:{},liveOverlay:{},isLoading:{type:Boolean},activeThreadId:{},cwd:{}},emits:["forkThread","rollback","implementPlan","respondServerRequest"],setup(M,{expose:xe,emit:Sn}){const fe=C(new Set),z=C(new Set),he=C(new Set),Ze=C(new Set),pe=C(new Set),Xe=C(null),Ce=C(""),D=C(!1),Lt=C(null),me=C(!1),Tt=C(0),Mt=C(0),Je=C(""),Ye=C(""),{isMobile:$e}=Vs();function Pn(e){var i;const n=e.replace(/\r\n/g,`
1
+ import{_ as In,o as r,c as l,a as u,d as Ns,u as Vs,w as Y,n as bt,b as Us,e as qs,t as h,f as v,F as y,r as b,g as x,h as Ks,i as Q,I as Gs,j as Zs,k as Xs,l as Tn,m as Ge,p as xt,q as Ct,s as ee,v as Mn,T as Js,x as C,y as L,z as Ys,A as Qs,B as ei}from"./index-7uudGTMH.js";const ti={},ni={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function si(M,xe){return r(),l("svg",ni,[...xe[0]||(xe[0]=[u("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 ii=In(ti,[["render",si]]),oi={key:0,class:"conversation-loading"},ai={key:1,class:"conversation-empty"},ri={key:0,class:"conversation-load-more"},li=["disabled"],ci=["data-role","data-message-type"],ui={key:0,class:"message-row","data-role":"system"},di={class:"message-stack","data-role":"system"},fi=["onClick"],hi={class:"cmd-group-label"},pi={class:"cmd-status"},mi={class:"cmd-group-inner"},ki=["onClick"],vi={class:"cmd-label"},gi={class:"cmd-status"},yi={class:"cmd-output-inner"},_i=["textContent"],wi=["onClick"],bi={class:"cmd-label"},xi={class:"cmd-status"},Ci={class:"cmd-output-inner"},$i=["textContent"],Li=["data-role","data-message-type"],Ti=["data-role"],Mi=["data-role"],Ii={key:0,class:"file-change-summary-block"},Si=["onClick"],Pi={class:"file-change-summary-label"},Ai={class:"file-change-summary-status"},Ei=["data-tone"],Bi={class:"file-change-panel-inner"},Fi={class:"file-change-list"},Wi=["data-operation"],Ri=["title","onClick"],Hi={key:0,class:"file-change-arrow"},Oi=["title","onClick"],zi={key:2,class:"file-change-delta"},ji=["data-tone"],Di=["data-role","data-message-type"],Ni=["data-role"],Vi=["data-role"],Ui=["data-role"],qi=["onClick"],Ki=["src","alt"],Gi={key:1,class:"message-file-attachments"},Zi=["href","title"],Xi={key:2,class:"message-skill-attachments"},Ji=["href","title"],Yi={class:"message-skill-chip-name"},Qi=["data-role"],eo={key:0,class:"automation-message-label"},to={key:0},no={key:1,class:"worked-separator-wrap","aria-live":"polite"},so=["onClick"],io={class:"worked-separator-text"},oo={key:0,class:"worked-details"},ao=["onClick"],ro={class:"cmd-label"},lo={class:"cmd-status"},co={class:"cmd-output-inner"},uo=["textContent"],fo=["data-streaming"],ho={class:"plan-card-header"},po={key:0,class:"plan-card-badge"},mo=["innerHTML"],ko={key:1,class:"plan-step-list"},vo=["data-status"],go=["data-status"],yo=["innerHTML"],_o=["innerHTML"],wo={key:3,class:"plan-card-actions"},bo=["onClick"],xo={key:0,class:"message-text"},Co={key:0},$o={key:1,class:"message-bold-text"},Lo={key:2,class:"message-italic-text"},To={key:3,class:"message-strikethrough-text"},Mo=["href","title"],Io=["href","title"],So={key:6,class:"message-inline-code"},Po={key:0},Ao={key:1,class:"message-bold-text"},Eo={key:2,class:"message-italic-text"},Bo={key:3,class:"message-strikethrough-text"},Fo=["href","title"],Wo=["href","title"],Ro={key:6,class:"message-inline-code"},Ho={key:2,class:"message-blockquote"},Oo={key:0},zo={key:1,class:"message-bold-text"},jo={key:2,class:"message-italic-text"},Do={key:3,class:"message-strikethrough-text"},No=["href","title"],Vo=["href","title"],Uo={key:6,class:"message-inline-code"},qo={key:3,class:"message-list message-list-unordered"},Ko=["innerHTML"],Go={key:4,class:"message-list message-task-list"},Zo=["data-checked"],Xo={class:"message-list-item-text"},Jo={key:0},Yo={key:1,class:"message-bold-text"},Qo={key:2,class:"message-italic-text"},ea={key:3,class:"message-strikethrough-text"},ta=["href","title"],na=["href","title"],sa={key:6,class:"message-inline-code"},ia=["start"],oa=["innerHTML"],aa={key:6,class:"message-table-wrap"},ra={class:"message-table"},la={key:0},ca={key:1,class:"message-bold-text"},ua={key:2,class:"message-italic-text"},da={key:3,class:"message-strikethrough-text"},fa=["href","title"],ha=["href","title"],pa={key:6,class:"message-inline-code"},ma={key:0},ka={key:0},va={key:1,class:"message-bold-text"},ga={key:2,class:"message-italic-text"},ya={key:3,class:"message-strikethrough-text"},_a=["href","title"],wa=["href","title"],ba={key:6,class:"message-inline-code"},xa={key:7,class:"message-code-block"},Ca={key:0,class:"message-code-language"},$a={class:"message-code-pre"},La=["innerHTML"],Ta={key:8,class:"message-divider"},Ma={key:9,class:"message-text"},Ia=["onClick"],Sa=["src","alt","onError"],Pa={key:4,class:"file-change-summary-block file-change-summary-block-inline"},Aa=["onClick"],Ea={class:"file-change-summary-label"},Ba={class:"file-change-summary-status"},Fa=["data-tone"],Wa={class:"file-change-panel-inner"},Ra={class:"file-change-list"},Ha=["data-operation"],Oa=["title","onClick"],za={key:0,class:"file-change-arrow"},ja=["title","onClick"],Da={key:2,class:"file-change-delta"},Na=["data-tone"],Va=["data-role"],Ua=["onClick"],qa=["onClick"],Ka=["data-copied","aria-label","title","onClick"],Ga={class:"message-copy-label"},Za={key:1,class:"conversation-item conversation-item-overlay"},Xa={class:"message-row"},Ja={class:"message-stack"},Ya={class:"live-overlay-inline","aria-live":"polite"},Qa={class:"live-overlay-label"},er={key:0,class:"live-overlay-reasoning"},tr={key:1,class:"live-overlay-error"},nr=["src"],sr={key:0,class:"diff-viewer-sidebar"},ir={class:"diff-viewer-sidebar-header"},or={class:"diff-viewer-sidebar-count"},ar={class:"diff-viewer-sidebar-list"},rr=["data-active","onClick"],lr=["data-operation"],cr={class:"diff-viewer-file-label"},ur={key:0,class:"diff-viewer-file-delta"},dr={class:"diff-viewer-main"},fr={class:"diff-viewer-toolbar"},hr={class:"diff-viewer-title-wrap"},pr={class:"diff-viewer-title"},mr={class:"diff-viewer-subtitle"},kr={key:0},vr={class:"diff-viewer-toolbar-actions"},gr={key:0,class:"diff-viewer-empty"},yr={key:1,class:"diff-viewer-panel"},_r={class:"diff-viewer-meta"},wr={class:"diff-viewer-language"},br={class:"diff-viewer-lines"},xr=["data-kind"],Cr={class:"diff-viewer-line-number"},$r={class:"diff-viewer-line-number"},Lr={class:"diff-viewer-line-marker"},Tr=["innerHTML"],Mr={class:"diff-viewer-mobile-sheet-header"},Ir={class:"diff-viewer-sidebar-count"},Sr={class:"diff-viewer-mobile-sheet-list"},Pr=["data-active","onClick"],Ar=["data-operation"],Er={class:"diff-viewer-file-label"},Br={key:0,class:"diff-viewer-file-delta"},Fr=16,Wr=300,Rr=1200,Hr=300,Or=250,$t=50,zr=30,jr=200,Dr=Ns({__name:"ThreadConversation",props:{messages:{},pendingRequests:{},liveOverlay:{},isLoading:{type:Boolean},activeThreadId:{},cwd:{}},emits:["forkThread","rollback","implementPlan","respondServerRequest"],setup(M,{expose:xe,emit:Sn}){const fe=C(new Set),z=C(new Set),he=C(new Set),Ze=C(new Set),pe=C(new Set),Xe=C(null),Ce=C(""),D=C(!1),Lt=C(null),me=C(!1),Tt=C(0),Mt=C(0),Je=C(""),Ye=C(""),{isMobile:$e}=Vs();function Pn(e){var i;const n=e.replace(/\r\n/g,`
2
2
  `).trim();if(!n)return null;const t=[],s=[];for(const a of n.split(`
3
3
  `)){const c=a.trim();if(!c){t.length===0&&s.push("");continue}const o=c.match(/^[-*]\s+\[([ xX~>|-])\]\s+(.+)$/);if(o){const f=(o[1]??" ").toLowerCase();let d="pending";f==="x"&&(d="completed"),(f==="~"||f===">"||f==="-")&&(d="inProgress"),t.push({step:((i=o[2])==null?void 0:i.trim())??"",status:d});continue}s.push(c)}return t.length===0?null:{explanation:s.join(`
4
4
  `).trim(),steps:t.filter(a=>a.step.length>0)}}function Qe(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}:Pn(e.text)}function B(e){return e.messageType==="commandExecution"&&!!e.commandExecution}function et(e){return e.messageType==="plan"||e.messageType==="plan.live"}function An(e){return et(e)&&e.messageType!=="plan.live"&&e.role==="assistant"&&!!e.turnId}function En(e){var t;const n=((t=e.turnId)==null?void 0:t.trim())??"";n&&lt("implementPlan",{turnId:n})}function tt(e){return e.messageType==="fileChange"&&e.fileChangeStatus==="completed"&&Array.isArray(e.fileChanges)&&e.fileChanges.length>0}function Le(e){return e.role==="assistant"&&!B(e)&&e.messageType!=="worked"&&!(e.messageType??"").endsWith(".live")}const nt=L(()=>{var e;for(let n=g.messages.length-1;n>=0;n-=1){const t=g.messages[n];if(t.messageType==="commandExecution"&&((e=t.commandExecution)==null?void 0:e.status)==="inProgress")return t.id}return""}),It=L(()=>g.messages.some(e=>e.role==="assistant"&&e.messageType==="agentMessage.live"&&e.text.trim().length>0)),St=L(()=>!!g.liveOverlay||nt.value.length>0||It.value),st=L(()=>{const e={};for(let n=0;n<g.messages.length;){const t=g.messages[n];if(!B(t)){n+=1;continue}const s=[];for(;n<g.messages.length&&B(g.messages[n]);)s.push(g.messages[n]),n+=1;if(s.length<=1)continue;const i=s[s.length-1];e[i.id]=s.slice(0,-1)}return e}),Bn=L(()=>{const e=new Set;for(const n of Object.values(st.value))for(const t of n)e.add(t.id);return e});function Pt(e){var n;return((n=Qe(e))==null?void 0:n.explanation)??""}function At(e){var n;return((n=Qe(e))==null?void 0:n.steps)??[]}function Fn(e){switch(e){case"completed":return"✓";case"inProgress":return"•";default:return"○"}}function Et(e){return!It.value&&e.id===nt.value}function F(e){return B(e)?fe.value.has(e.id)||!z.value.has(e.id)&&Et(e):!1}function it(e){return B(e)&&St.value}function ot(e){var n;return B(e)&&(St.value||((n=e.commandExecution)==null?void 0:n.status)==="inProgress")}function at(e){if(!B(e))return;const n=new Set(fe.value),t=new Set(z.value),s=Et(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)),fe.value=n,z.value=t}function Te(e){return st.value[e.id]??[]}function Bt(e){return B(e)?[...Te(e),e]:[]}function Wn(e){if(Te(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 rt(e){return he.value.has(e.id)}function Rn(e){var a,c;const t=Bt(e).length,s=((c=(a=e.commandExecution)==null?void 0:a.command)==null?void 0:c.trim())||"(command)";return`${t===1?"1 command":`${t} commands`} · latest: ${s}`}function Hn(e){return Ie(e)}function On(e){const n=new Set(Ze.value);n.has(e.id)?n.delete(e.id):n.add(e.id),Ze.value=n}function Ft(e){return Ze.value.has(e.id)}function Wt(e){const n=new Set(pe.value);n.has(e.id)?n.delete(e.id):n.add(e.id),pe.value=n}function te(e){return pe.value.has(e.id)}function T(e){return`${e.path}\0${e.movedToPath??""}`}function Me(e,n){e&&(Xe.value=e,Ce.value=T(n),D.value=!1)}function Rt(){Xe.value=null,Ce.value="",D.value=!1}function zn(){D.value=!D.value}function jn(){D.value=!1}function Ht(e){Ce.value=T(e),$e.value&&(D.value=!1)}function Ie(e){const n=e.commandExecution;if(!n)return"";const t=it(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 Pe(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 Dn(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 g=M,lt=Sn,N=C(null),Ot=C(null),ke=C(""),V=C(""),j=C(!0),zt={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,E=0,Ae=0,q=null,ve=null;const jt=new WeakSet,Ee=C(null),ne=C(0),Dt=C(0);let Be=null;const ge=new Map,ye=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 W=C(0),K=C(!1),Nn=L(()=>g.messages.slice(W.value)),ct=L(()=>W.value>0),Vn=L(()=>!j.value&&(g.messages.length>0||g.pendingRequests.length>0||!!g.liveOverlay));function Un(){return Ee.value?Promise.resolve():(Be||(Be=Ys(()=>import("./common-BeuopZEI.js"),[]).then(e=>{Ee.value=e.default,ie.clear(),se.clear(),ne.value+=1}).finally(()=>{Be=null})),Be)}function qn(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||/^[A-Za-z0-9._@() -]+\.[A-Za-z0-9]{1,12}$/u.test(e)?!0:/^[A-Za-z0-9._@() -]+(?:[\\/][A-Za-z0-9._@() -]+)+$/u.test(e)}function We(e){return e.replace(/\\/gu,"/").split("/").filter(Boolean).pop()||e}function oe(e){return e.replace(/\\/gu,"/")}function Nt(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 Kn(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),c=[];for(const f of a)if(f!=="."){if(f===".."){c.length>0&&c.pop();continue}c.push(f)}const o=c.join("/");return t?`${t}${o}`.replace(/\/+$/u,"")||t:o||n}function Vt(e,n){const t=oe(Nt(e.trim()));if(!t)return"";if(t.startsWith("/")||/^[A-Za-z]:\//u.test(t))return ae(t);if(t.startsWith("~/")){const a=Kn(n);if(a)return ae(`${a}/${t.slice(2)}`)}const i=oe(n.trim());return ae(i?`${i.replace(/\/+$/u,"")}/${t}`:t)}function _e(e){if(!e)return null;let n=e.trim();n=Re(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=Nt(n),qn(n)?{path:n,line:s}:null}function Re(e){let n=e,t="",s="";const i={"(":")","[":"]","{":"}","<":">",'"':'"',"'":"'","`":"`","“":"”","‘":"’"};for(;n.length>0;){const a=n[0],c=Object.prototype.hasOwnProperty.call(i,a)?i[a]:"";if(!c||!n.endsWith(c))break;t+=a,s+=c,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(`