codex-mobile-re 0.1.95 → 0.1.97
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/{AutomationsPanel-L3Dmhf5P.js → AutomationsPanel-BM68E8O8.js} +1 -1
- package/dist/assets/{DirectoryHub-BtP13Q0A.js → DirectoryHub-rK4pGPCJ.js} +1 -1
- package/dist/assets/{ReviewPane-C2FeOMMp.js → ReviewPane-BgaQ7pMs.js} +1 -1
- package/dist/assets/{ThreadConversation-CePFhT28.js → ThreadConversation-Ct2n-SwV.js} +1 -1
- package/dist/assets/{ThreadTerminalPanel-ahrD1lQx.js → ThreadTerminalPanel-DQnmzO-G.js} +1 -1
- package/dist/assets/{index-Cu7x4SXC.css → index-CJxQMdGE.css} +1 -1
- package/dist/assets/{index-BItdblN0.js → index-CNFcjd2m.js} +5 -5
- package/dist/index.html +2 -2
- package/dist-cli/index.js +22 -5
- package/dist-cli/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{d as Xe,A as Ke,q as y,l as G,M as je,N as Ye,m as qe,o,a as r,b as a,t as s,u as c,e as w,g as ae,I as Je,U as Qe,n as be,F as C,r as P,p as U,f as T,i as Ze,w as se,h as et,j as tt,k as b,V as at,W as st,X as nt,_ as it}from"./index-BItdblN0.js";const lt={class:"review-pane-header"},ot={class:"review-pane-heading"},rt={class:"review-pane-eyebrow"},ut={class:"review-pane-title"},dt={class:"review-pane-header-actions"},ct=["aria-label"],vt={class:"review-pane-toolbar"},pt={class:"review-pane-toolbar-controls"},ht={key:0,class:"review-pane-control-cluster"},ft={class:"review-pane-control-label"},wt={class:"review-pane-segmented"},mt=["data-active"],_t=["data-active","disabled"],yt={key:1,class:"review-pane-control-cluster"},bt={class:"review-pane-control-label"},kt={key:2,class:"review-pane-control-cluster"},gt={class:"review-pane-control-label"},Ct={class:"review-pane-segmented"},Bt=["data-active"],Ft=["data-active"],St={class:"review-pane-toolbar-actions"},It=["disabled"],Lt={key:1,class:"review-pane-meta"},xt={class:"review-pane-summary-pill review-pane-summary-pill-add"},$t={class:"review-pane-summary-pill review-pane-summary-pill-remove"},At={key:0},Et={key:1},Pt={key:2},Nt={class:"review-pane-content"},Rt={key:0,class:"review-pane-empty"},Tt={class:"review-pane-empty-title"},Mt={key:1,class:"review-pane-empty"},Dt={class:"review-pane-empty-title"},Wt={class:"review-pane-empty-text"},Vt=["disabled"],zt={key:2,class:"review-pane-empty"},Gt={class:"review-pane-empty-title"},Ut={class:"review-pane-empty-text"},Ht={key:0,class:"review-pane-bulk-actions"},Ot=["disabled","onClick"],Xt={key:1,class:"review-pane-empty"},Kt={class:"review-pane-empty-title"},jt={class:"review-pane-empty-text"},Yt={key:0,class:"review-pane-file-list"},qt=["data-expanded","onClick"],Jt=["data-expanded"],Qt={class:"review-pane-tree-folder-name"},Zt={class:"review-pane-tree-folder-count"},ea=["data-active","title","onClick"],ta={class:"review-pane-file-meta-row"},aa={class:"review-pane-file-path"},sa={class:"review-pane-file-delta"},na={class:"review-pane-delta-add"},ia={class:"review-pane-delta-remove"},la=["data-operation"],oa={class:"review-pane-diff"},ra={class:"review-pane-file-header"},ua={class:"review-pane-file-header-main"},da={class:"review-pane-file-title"},ca={class:"review-pane-file-subtitle"},va={key:0,class:"review-pane-row-actions"},pa=["disabled","onClick"],ha={key:0,class:"review-pane-raw-diff"},fa={key:1,class:"review-pane-hunks"},wa=["data-active","onClick"],ma={class:"review-pane-hunk-header"},_a={class:"review-pane-hunk-title"},ya={class:"review-pane-hunk-meta"},ba={key:0,class:"review-pane-row-actions"},ka=["disabled","onClick"],ga={class:"review-pane-lines"},Ca=["data-kind"],Ba={class:"review-pane-line-number"},Fa={class:"review-pane-line-number"},Sa={class:"review-pane-line-marker"},Ia={class:"review-pane-line-code"},La={class:"review-pane-sheet-header"},xa={class:"review-pane-sheet-title"},$a={class:"review-pane-sheet-count"},Aa={class:"review-pane-sheet-list"},Ea=["data-expanded","onClick"],Pa=["data-expanded"],Na={class:"review-pane-tree-folder-name"},Ra={class:"review-pane-tree-folder-count"},Ta=["data-active","title","onClick"],Ma={class:"review-pane-file-meta-row"},Da={class:"review-pane-file-path"},Wa={class:"review-pane-file-delta"},Va={class:"review-pane-delta-add"},za={class:"review-pane-delta-remove"},Ga=["data-operation"],ke="codex-web-local.review-pane-file-list-width.v1",Ua=220,Ha=420,ge=288,Oa=Xe({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean},initialFilePath:{},commitSha:{}},emits:["close"],setup(Ce){const g=Ce,{isMobile:B}=Ke(),{t:l}=tt(),m=y("workspace"),F=y("unstaged"),d=y(null),L=y(""),H=y(!1),x=y(""),I=y(""),O=y(!1),J=y(!1),N=y(!1),X=y(!1),M=y(""),$=y(""),K=y("");let j=null,A=null;const k=b(()=>{var e,t;return((e=d.value)==null?void 0:e.files.find(u=>u.id===x.value))??((t=d.value)==null?void 0:t.files[0])??null}),R=y({}),S=b(()=>{var e;return!!((e=g.commitSha)!=null&&e.trim())}),Be=b(()=>{var e;return(((e=d.value)==null?void 0:e.baseBranchOptions)??[]).map(t=>({value:t,label:t}))}),Fe=b(()=>{var e;return((e=d.value)==null?void 0:e.scope)==="commit"||S.value?l("No file changes in this commit."):m.value==="workspace"?l("Your current workspace is clean."):l("No merge diff found against the base branch.")});function ne(e){return e.trim().replace(/\\/g,"/")}function Se(e){const t=ne(e);return!t||!d.value?null:d.value.files.find(u=>[u.path,u.absolutePath,u.previousPath,u.previousAbsolutePath].some(v=>typeof v=="string"&&ne(v)===t))??null}function ie(){const e=Se(g.initialFilePath??"");return e?(ee(e.id),!0):!1}const Ie=b(()=>{var e,t;return(e=d.value)!=null&&e.isGitRepo?S.value?d.value.commitSha?`${l("Commit")} ${_e(d.value.commitSha)}`:l("Commit"):m.value==="workspace"?F.value==="staged"?l("Staged changes"):l("Workspace changes"):(t=d.value)!=null&&t.baseBranch?`${l("Against")} ${d.value.baseBranch}`:l("Base branch"):l("Repository review")}),le=b(()=>{var e;return!S.value&&m.value==="workspace"&&((e=d.value)==null?void 0:e.isGitRepo)===!0&&d.value.files.length>0}),oe=b(()=>le.value&&!N.value),Le=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage all")}]:[{value:"stage",label:l("Stage all")},{value:"revert",label:l("Revert all")}]),xe=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage file")}]:[{value:"stage",label:l("Stage file")},{value:"revert",label:l("Revert file")}]),$e=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage hunk")}]:[{value:"stage",label:l("Stage hunk")},{value:"revert",label:l("Revert hunk")}]),re=b(()=>$.value||M.value||K.value),Ae=b(()=>!!($.value||M.value)),Y=y(Ne()),Ee=b(()=>{const e={};return B.value||(e["--review-file-list-width"]=`${Y.value}px`),e}),ue=b(()=>{var e;return De(((e=d.value)==null?void 0:e.files)??[],R.value)}),de=b(()=>ue.value.nodes),Pe=b(()=>ue.value.folderIdsByFileId);function Q(e){return Number.isFinite(e)?Math.min(Ha,Math.max(Ua,Math.round(e))):ge}function Ne(){if(typeof window>"u")return ge;const e=window.localStorage.getItem(ke),t=e?Number(e):Number.NaN;return Q(t)}function Re(e){typeof window>"u"||window.localStorage.setItem(ke,String(Q(e)))}function Te(e){if(B.value)return;e.preventDefault(),A==null||A();const t=e.clientX,u=Y.value,v=i=>{Y.value=Q(u+(i.clientX-t))},p=()=>{window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",n),A=null},n=()=>{p(),Re(Y.value)};window.addEventListener("pointermove",v),window.addEventListener("pointerup",n),A=p}function Me(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function ce(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function ve(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function De(e,t){const u={folders:new Map,files:[]},v={};for(const f of e){const _=f.path.split("/").filter(Boolean),W=_.pop()??f.path;let h=u,E="";const ye=[];for(const[Oe,V]of _.entries()){E=E?`${E}/${V}`:V;let z=h.folders.get(V);z||(z={id:E,name:V,depth:Oe,folders:new Map,files:[]},h.folders.set(V,z)),h=z,ye.push(z.id)}h.files.push({file:f,name:W,depth:_.length}),v[f.id]=ye}const p=[],n=f=>f.files.length+Array.from(f.folders.values()).reduce((_,W)=>_+n(W),0),i=f=>{const _=Array.from(f.folders.values()).sort((h,E)=>ve(h.name,E.name)),W=[...f.files].sort((h,E)=>ve(h.name,E.name));for(const h of _)p.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:n(h)}),t[h.id]!==!1&&i(h);for(const h of W)p.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return i(u),{nodes:p,folderIdsByFileId:v}}function D(e){return R.value[e]!==!1}function pe(e){R.value={...R.value,[e]:!D(e)}}function he(e){const t=Pe.value[e]??[];if(t.length===0)return;const u={...R.value};let v=!1;for(const p of t)u[p]===!1&&(u[p]=!0,v=!0);v&&(R.value=u)}function fe(e){const t=B.value?8:10,u=B.value?12:14;return{paddingLeft:`${t+e*u}px`}}function we(){return{paddingLeft:B.value?"8px":"10px"}}function Z(e){return l(e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified")}function We(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 q(){var e,t,u,v;if(g.cwd.trim()){J.value=!0,M.value="";try{const p=m.value==="baseBranch"?L.value.trim():"",n=((e=g.commitSha)==null?void 0:e.trim())??"",i=await at(g.cwd,S.value?"commit":m.value,F.value,p||null,n||null);if(i.baseBranchOptions.length>0){const _=i.baseBranch??i.baseBranchOptions[0]??"";L.value!==_&&(H.value=!0,L.value=_)}else L.value!==""&&(H.value=!0,L.value="");d.value=i;const f=i.files.some(_=>_.id===x.value);!ie()&&!f&&(x.value=((t=i.files[0])==null?void 0:t.id)??"",I.value=((v=(u=i.files[0])==null?void 0:u.hunks[0])==null?void 0:v.id)??"")}catch(p){M.value=p instanceof Error?p.message:"Failed to load review snapshot"}finally{J.value=!1}}}async function me(){await q()}function ee(e){var u,v;he(e),x.value=e;const t=((u=d.value)==null?void 0:u.files.find(p=>p.id===e))??null;I.value=((v=t==null?void 0:t.hunks[0])==null?void 0:v.id)??"",B.value&&(O.value=!1)}function _e(e){return e.trim().slice(0,7)}async function te(e,t,u=""){var v,p,n;if(d.value){N.value=!0,$.value="";try{const i=await nt({cwd:g.cwd,scope:m.value,workspaceView:F.value,action:e,level:t,patch:u});d.value=i,i.files.some(_=>_.id===x.value)||(x.value=((v=i.files[0])==null?void 0:v.id)??"",I.value=((n=(p=i.files[0])==null?void 0:p.hunks[0])==null?void 0:n.id)??"")}catch(i){$.value=i instanceof Error?i.message:"Failed to apply review action"}finally{N.value=!1}}}async function Ve(e){await te(e,"all")}async function ze(e,t){await te(e,"file",t.diff)}async function Ge(e,t){I.value=t.id,await te(e,"hunk",t.patch)}async function Ue(){if(g.cwd.trim()){X.value=!0,$.value="";try{await st(g.cwd),await q()}catch(e){$.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{X.value=!1}}}function He(e){if(We(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,u=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,v=typeof(u==null?void 0:u.type)=="string"?u.type:"";if(e.method==="item/started"&&v==="enteredReviewMode"){K.value=typeof(u==null?void 0:u.review)=="string"?u.review:"Review in progress";return}e.method==="item/completed"&&v==="exitedReviewMode"&&(K.value="")}return G(()=>[g.threadId,g.cwd,g.commitSha],()=>{S.value&&(m.value="workspace"),x.value="",I.value="",$.value="",K.value="",me()},{immediate:!0}),G(()=>[g.initialFilePath,g.commitSha],()=>{ie()}),G(()=>[m.value,F.value],()=>{x.value="",I.value="",$.value="",M.value="",q()}),G(L,(e,t)=>{if(H.value){H.value=!1;return}m.value==="baseBranch"&&(!e||e===t||q())}),G(k,e=>{var t;e&&(he(e.id),e.hunks.some(u=>u.id===I.value)||(I.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),je(()=>{j=Ye(He)}),qe(()=>{j&&(j(),j=null),A==null||A()}),(e,t)=>{var u,v,p;return o(),r("section",{class:be(["review-pane",{"is-mobile":c(B)}]),onPointerdown:t[9]||(t[9]=se(()=>{},["stop"])),onClick:t[10]||(t[10]=se(()=>{},["stop"]))},[a("header",lt,[a("div",ot,[a("p",rt,s(c(l)("Review")),1),a("p",ut,s(Ie.value),1)]),a("div",dt,[c(B)&&((u=d.value)!=null&&u.files.length)?(o(),r("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=n=>O.value=!0)},s(c(l)("Files")),1)):w("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":c(l)("Close review pane"),onClick:t[1]||(t[1]=n=>e.$emit("close"))},[ae(Je,{class:"icon-svg"})],8,ct)])]),a("div",vt,[a("div",pt,[S.value?w("",!0):(o(),r("div",ht,[a("span",ft,s(c(l)("Compare")),1),a("div",wt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":m.value==="workspace",onClick:t[2]||(t[2]=n=>m.value="workspace")},s(c(l)("Workspace")),9,mt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":m.value==="baseBranch",disabled:!((v=d.value)!=null&&v.baseBranch),onClick:t[3]||(t[3]=n=>m.value="baseBranch")},s(c(l)("Base branch")),9,_t)])])),!S.value&&m.value==="baseBranch"&&((p=d.value)!=null&&p.baseBranchOptions.length)?(o(),r("div",yt,[a("span",bt,s(c(l)("Branch")),1),ae(Qe,{modelValue:L.value,"onUpdate:modelValue":t[4]||(t[4]=n=>L.value=n),class:"review-pane-branch-dropdown",options:Be.value,placeholder:c(l)("Branch"),"enable-search":"","search-placeholder":c(l)("Search branches...")},null,8,["modelValue","options","placeholder","search-placeholder"])])):w("",!0),!S.value&&m.value==="workspace"?(o(),r("div",kt,[a("span",gt,s(c(l)("Changes")),1),a("div",Ct,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":F.value==="unstaged",onClick:t[5]||(t[5]=n=>F.value="unstaged")},s(c(l)("Unstaged")),9,Bt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":F.value==="staged",onClick:t[6]||(t[6]=n=>F.value="staged")},s(c(l)("Staged")),9,Ft)])])):w("",!0)]),a("div",St,[a("button",{type:"button",class:"review-pane-refresh",disabled:J.value,onClick:me},s(c(l)("Refresh")),9,It)])]),re.value?(o(),r("div",{key:0,class:be(["review-pane-banner",{"is-error":Ae.value}])},s(re.value),3)):w("",!0),d.value?(o(),r("div",Lt,[a("span",null,s(d.value.summary.fileCount)+" "+s(c(l)("files")),1),a("span",xt,"+"+s(d.value.summary.addedLineCount),1),a("span",$t,"-"+s(d.value.summary.removedLineCount),1),d.value.headBranch?(o(),r("span",At,s(d.value.headBranch),1)):w("",!0),S.value&&d.value.commitSha?(o(),r("span",Et,s(_e(d.value.commitSha)),1)):w("",!0),!S.value&&m.value==="baseBranch"&&d.value.baseBranch?(o(),r("span",Pt,"vs "+s(d.value.baseBranch),1)):w("",!0)])):w("",!0),a("div",Nt,[d.value?d.value.isGitRepo?!S.value&&m.value==="baseBranch"&&!d.value.baseBranch?(o(),r("div",zt,[a("p",Gt,s(c(l)("Base branch unavailable")),1),a("p",Ut,s(c(l)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(o(),r(C,{key:3},[le.value?(o(),r("div",Ht,[(o(!0),r(C,null,P(Le.value,n=>(o(),r("button",{key:n.value,type:"button",class:"review-pane-bulk-button",disabled:N.value,onClick:i=>Ve(n.value)},s(n.label),9,Ot))),128))])):w("",!0),d.value.files.length?(o(),r("div",{key:2,class:"review-pane-main",style:U(Ee.value)},[c(B)?w("",!0):(o(),r("aside",Yt,[(o(!0),r(C,null,P(de.value,n=>{var i;return o(),r(C,{key:n.treeKey},[n.kind==="folder"?(o(),r("button",{key:0,type:"button",class:"review-pane-tree-folder",style:U(fe(n.depth)),"data-expanded":D(n.id),onClick:f=>pe(n.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":D(n.id)},null,8,Jt),a("span",Qt,s(n.name),1),a("span",Zt,s(n.fileCount),1)],12,qt)):(o(),r("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:U(we()),"data-active":((i=k.value)==null?void 0:i.id)===n.file.id,title:n.file.path,onClick:f=>ee(n.file.id)},[a("span",ta,[a("span",aa,[T(s(n.name)+" ",1),n.file.previousPath?(o(),r(C,{key:0},[T(" ← "+s(ce(n.file.previousPath)),1)],64)):w("",!0)]),a("span",sa,[a("span",na,"+"+s(n.file.addedLineCount),1),t[11]||(t[11]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ia,"-"+s(n.file.removedLineCount),1)])]),a("span",{class:"review-pane-file-op","data-operation":n.file.operation},s(Z(n.file.operation)),9,la)],12,ea))],64)}),128))])),c(B)?w("",!0):(o(),r("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:Te},null,32)),a("section",oa,[k.value?(o(),r(C,{key:0},[a("div",ra,[a("div",ua,[a("p",da,[T(s(k.value.path)+" ",1),k.value.previousPath?(o(),r(C,{key:0},[T(" ← "+s(k.value.previousPath),1)],64)):w("",!0)]),a("p",ca,s(Z(k.value.operation))+" · +"+s(k.value.addedLineCount)+" / -"+s(k.value.removedLineCount),1)]),oe.value?(o(),r("div",va,[(o(!0),r(C,null,P(xe.value,n=>(o(),r("button",{key:`${k.value.id}:${n.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:i=>ze(n.value,k.value)},s(n.label),9,pa))),128))])):w("",!0)]),k.value.hunks.length===0?(o(),r("div",ha,[a("pre",null,s(k.value.diff||"No unified diff available."),1)])):(o(),r("div",fa,[(o(!0),r(C,null,P(k.value.hunks,n=>(o(),r("article",{key:n.id,class:"review-pane-hunk","data-active":I.value===n.id,onClick:i=>I.value=n.id},[a("div",ma,[a("div",null,[a("p",_a,s(n.header),1),a("p",ya,"+"+s(n.addedLineCount)+" / -"+s(n.removedLineCount),1)]),oe.value?(o(),r("div",ba,[(o(!0),r(C,null,P($e.value,i=>(o(),r("button",{key:`${n.id}:${i.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:f=>Ge(i.value,n)},s(i.label),9,ka))),128))])):w("",!0)]),a("div",ga,[(o(!0),r(C,null,P(n.lines,i=>(o(),r("div",{key:i.key,class:"review-pane-line","data-kind":i.kind},[a("span",Ba,s(i.oldLine??""),1),a("span",Fa,s(i.newLine??""),1),a("span",Sa,s(Me(i.kind)),1),a("code",Ia,s(i.text||" "),1)],8,Ca))),128))])],8,wa))),128))]))],64)):w("",!0)])],4)):(o(),r("div",Xt,[a("p",Kt,s(c(l)("No changes in this scope")),1),a("p",jt,s(Fe.value),1)]))],64)):(o(),r("div",Mt,[a("p",Dt,s(c(l)("This folder is not a Git repository")),1),a("p",Wt,s(c(l)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:X.value,onClick:Ue},s(X.value?c(l)("Initializing…"):c(l)("Initialize Git")),9,Vt)])):(o(),r("div",Rt,[a("p",Tt,s(c(l)("Loading review state")),1)]))]),ae(et,{name:"review-pane-sheet"},{default:Ze(()=>{var n;return[c(B)&&O.value&&((n=d.value)!=null&&n.files.length)?(o(),r("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=i=>O.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=se(()=>{},["stop"]))},[t[13]||(t[13]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",La,[a("p",xa,s(c(l)("Changed files")),1),a("p",$a,s(d.value.files.length),1)]),a("div",Aa,[(o(!0),r(C,null,P(de.value,i=>{var f;return o(),r(C,{key:`sheet:${i.treeKey}`},[i.kind==="folder"?(o(),r("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:U(fe(i.depth)),"data-expanded":D(i.id),onClick:_=>pe(i.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":D(i.id)},null,8,Pa),a("span",Na,s(i.name),1),a("span",Ra,s(i.fileCount),1)],12,Ea)):(o(),r("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:U(we()),"data-active":((f=k.value)==null?void 0:f.id)===i.file.id,title:i.file.path,onClick:_=>ee(i.file.id)},[a("span",Ma,[a("span",Da,[T(s(i.name)+" ",1),i.file.previousPath?(o(),r(C,{key:0},[T(" ← "+s(ce(i.file.previousPath)),1)],64)):w("",!0)]),a("span",Wa,[a("span",Va,"+"+s(i.file.addedLineCount),1),t[12]||(t[12]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",za,"-"+s(i.file.removedLineCount),1)])]),a("span",{class:"review-pane-file-op","data-operation":i.file.operation},s(Z(i.file.operation)),9,Ga)],12,Ta))],64)}),128))])])])):w("",!0)]}),_:1})],34)}}}),Ka=it(Oa,[["__scopeId","data-v-b6468d35"]]);export{Ka as default};
|
|
1
|
+
import{d as Xe,A as Ke,q as y,l as G,M as je,N as Ye,m as qe,o,a as r,b as a,t as s,u as c,e as w,g as ae,I as Je,U as Qe,n as be,F as C,r as P,p as U,f as T,i as Ze,w as se,h as et,j as tt,k as b,V as at,W as st,X as nt,_ as it}from"./index-CNFcjd2m.js";const lt={class:"review-pane-header"},ot={class:"review-pane-heading"},rt={class:"review-pane-eyebrow"},ut={class:"review-pane-title"},dt={class:"review-pane-header-actions"},ct=["aria-label"],vt={class:"review-pane-toolbar"},pt={class:"review-pane-toolbar-controls"},ht={key:0,class:"review-pane-control-cluster"},ft={class:"review-pane-control-label"},wt={class:"review-pane-segmented"},mt=["data-active"],_t=["data-active","disabled"],yt={key:1,class:"review-pane-control-cluster"},bt={class:"review-pane-control-label"},kt={key:2,class:"review-pane-control-cluster"},gt={class:"review-pane-control-label"},Ct={class:"review-pane-segmented"},Bt=["data-active"],Ft=["data-active"],St={class:"review-pane-toolbar-actions"},It=["disabled"],Lt={key:1,class:"review-pane-meta"},xt={class:"review-pane-summary-pill review-pane-summary-pill-add"},$t={class:"review-pane-summary-pill review-pane-summary-pill-remove"},At={key:0},Et={key:1},Pt={key:2},Nt={class:"review-pane-content"},Rt={key:0,class:"review-pane-empty"},Tt={class:"review-pane-empty-title"},Mt={key:1,class:"review-pane-empty"},Dt={class:"review-pane-empty-title"},Wt={class:"review-pane-empty-text"},Vt=["disabled"],zt={key:2,class:"review-pane-empty"},Gt={class:"review-pane-empty-title"},Ut={class:"review-pane-empty-text"},Ht={key:0,class:"review-pane-bulk-actions"},Ot=["disabled","onClick"],Xt={key:1,class:"review-pane-empty"},Kt={class:"review-pane-empty-title"},jt={class:"review-pane-empty-text"},Yt={key:0,class:"review-pane-file-list"},qt=["data-expanded","onClick"],Jt=["data-expanded"],Qt={class:"review-pane-tree-folder-name"},Zt={class:"review-pane-tree-folder-count"},ea=["data-active","title","onClick"],ta={class:"review-pane-file-meta-row"},aa={class:"review-pane-file-path"},sa={class:"review-pane-file-delta"},na={class:"review-pane-delta-add"},ia={class:"review-pane-delta-remove"},la=["data-operation"],oa={class:"review-pane-diff"},ra={class:"review-pane-file-header"},ua={class:"review-pane-file-header-main"},da={class:"review-pane-file-title"},ca={class:"review-pane-file-subtitle"},va={key:0,class:"review-pane-row-actions"},pa=["disabled","onClick"],ha={key:0,class:"review-pane-raw-diff"},fa={key:1,class:"review-pane-hunks"},wa=["data-active","onClick"],ma={class:"review-pane-hunk-header"},_a={class:"review-pane-hunk-title"},ya={class:"review-pane-hunk-meta"},ba={key:0,class:"review-pane-row-actions"},ka=["disabled","onClick"],ga={class:"review-pane-lines"},Ca=["data-kind"],Ba={class:"review-pane-line-number"},Fa={class:"review-pane-line-number"},Sa={class:"review-pane-line-marker"},Ia={class:"review-pane-line-code"},La={class:"review-pane-sheet-header"},xa={class:"review-pane-sheet-title"},$a={class:"review-pane-sheet-count"},Aa={class:"review-pane-sheet-list"},Ea=["data-expanded","onClick"],Pa=["data-expanded"],Na={class:"review-pane-tree-folder-name"},Ra={class:"review-pane-tree-folder-count"},Ta=["data-active","title","onClick"],Ma={class:"review-pane-file-meta-row"},Da={class:"review-pane-file-path"},Wa={class:"review-pane-file-delta"},Va={class:"review-pane-delta-add"},za={class:"review-pane-delta-remove"},Ga=["data-operation"],ke="codex-web-local.review-pane-file-list-width.v1",Ua=220,Ha=420,ge=288,Oa=Xe({__name:"ReviewPane",props:{threadId:{},cwd:{},isThreadInProgress:{type:Boolean},initialFilePath:{},commitSha:{}},emits:["close"],setup(Ce){const g=Ce,{isMobile:B}=Ke(),{t:l}=tt(),m=y("workspace"),F=y("unstaged"),d=y(null),L=y(""),H=y(!1),x=y(""),I=y(""),O=y(!1),J=y(!1),N=y(!1),X=y(!1),M=y(""),$=y(""),K=y("");let j=null,A=null;const k=b(()=>{var e,t;return((e=d.value)==null?void 0:e.files.find(u=>u.id===x.value))??((t=d.value)==null?void 0:t.files[0])??null}),R=y({}),S=b(()=>{var e;return!!((e=g.commitSha)!=null&&e.trim())}),Be=b(()=>{var e;return(((e=d.value)==null?void 0:e.baseBranchOptions)??[]).map(t=>({value:t,label:t}))}),Fe=b(()=>{var e;return((e=d.value)==null?void 0:e.scope)==="commit"||S.value?l("No file changes in this commit."):m.value==="workspace"?l("Your current workspace is clean."):l("No merge diff found against the base branch.")});function ne(e){return e.trim().replace(/\\/g,"/")}function Se(e){const t=ne(e);return!t||!d.value?null:d.value.files.find(u=>[u.path,u.absolutePath,u.previousPath,u.previousAbsolutePath].some(v=>typeof v=="string"&&ne(v)===t))??null}function ie(){const e=Se(g.initialFilePath??"");return e?(ee(e.id),!0):!1}const Ie=b(()=>{var e,t;return(e=d.value)!=null&&e.isGitRepo?S.value?d.value.commitSha?`${l("Commit")} ${_e(d.value.commitSha)}`:l("Commit"):m.value==="workspace"?F.value==="staged"?l("Staged changes"):l("Workspace changes"):(t=d.value)!=null&&t.baseBranch?`${l("Against")} ${d.value.baseBranch}`:l("Base branch"):l("Repository review")}),le=b(()=>{var e;return!S.value&&m.value==="workspace"&&((e=d.value)==null?void 0:e.isGitRepo)===!0&&d.value.files.length>0}),oe=b(()=>le.value&&!N.value),Le=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage all")}]:[{value:"stage",label:l("Stage all")},{value:"revert",label:l("Revert all")}]),xe=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage file")}]:[{value:"stage",label:l("Stage file")},{value:"revert",label:l("Revert file")}]),$e=b(()=>F.value==="staged"?[{value:"unstage",label:l("Unstage hunk")}]:[{value:"stage",label:l("Stage hunk")},{value:"revert",label:l("Revert hunk")}]),re=b(()=>$.value||M.value||K.value),Ae=b(()=>!!($.value||M.value)),Y=y(Ne()),Ee=b(()=>{const e={};return B.value||(e["--review-file-list-width"]=`${Y.value}px`),e}),ue=b(()=>{var e;return De(((e=d.value)==null?void 0:e.files)??[],R.value)}),de=b(()=>ue.value.nodes),Pe=b(()=>ue.value.folderIdsByFileId);function Q(e){return Number.isFinite(e)?Math.min(Ha,Math.max(Ua,Math.round(e))):ge}function Ne(){if(typeof window>"u")return ge;const e=window.localStorage.getItem(ke),t=e?Number(e):Number.NaN;return Q(t)}function Re(e){typeof window>"u"||window.localStorage.setItem(ke,String(Q(e)))}function Te(e){if(B.value)return;e.preventDefault(),A==null||A();const t=e.clientX,u=Y.value,v=i=>{Y.value=Q(u+(i.clientX-t))},p=()=>{window.removeEventListener("pointermove",v),window.removeEventListener("pointerup",n),A=null},n=()=>{p(),Re(Y.value)};window.addEventListener("pointermove",v),window.addEventListener("pointerup",n),A=p}function Me(e){return e==="add"?"+":e==="remove"?"-":e==="hunk"?"@@":" "}function ce(e){const t=e.split("/").filter(Boolean);return t[t.length-1]??e}function ve(e,t){return e.localeCompare(t,void 0,{numeric:!0,sensitivity:"base"})}function De(e,t){const u={folders:new Map,files:[]},v={};for(const f of e){const _=f.path.split("/").filter(Boolean),W=_.pop()??f.path;let h=u,E="";const ye=[];for(const[Oe,V]of _.entries()){E=E?`${E}/${V}`:V;let z=h.folders.get(V);z||(z={id:E,name:V,depth:Oe,folders:new Map,files:[]},h.folders.set(V,z)),h=z,ye.push(z.id)}h.files.push({file:f,name:W,depth:_.length}),v[f.id]=ye}const p=[],n=f=>f.files.length+Array.from(f.folders.values()).reduce((_,W)=>_+n(W),0),i=f=>{const _=Array.from(f.folders.values()).sort((h,E)=>ve(h.name,E.name)),W=[...f.files].sort((h,E)=>ve(h.name,E.name));for(const h of _)p.push({kind:"folder",treeKey:`folder:${h.id}`,id:h.id,name:h.name,depth:h.depth,fileCount:n(h)}),t[h.id]!==!1&&i(h);for(const h of W)p.push({kind:"file",treeKey:`file:${h.file.id}`,id:h.file.id,name:h.name,depth:h.depth,file:h.file})};return i(u),{nodes:p,folderIdsByFileId:v}}function D(e){return R.value[e]!==!1}function pe(e){R.value={...R.value,[e]:!D(e)}}function he(e){const t=Pe.value[e]??[];if(t.length===0)return;const u={...R.value};let v=!1;for(const p of t)u[p]===!1&&(u[p]=!0,v=!0);v&&(R.value=u)}function fe(e){const t=B.value?8:10,u=B.value?12:14;return{paddingLeft:`${t+e*u}px`}}function we(){return{paddingLeft:B.value?"8px":"10px"}}function Z(e){return l(e==="add"?"Added":e==="delete"?"Deleted":e==="rename"?"Renamed":"Modified")}function We(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 q(){var e,t,u,v;if(g.cwd.trim()){J.value=!0,M.value="";try{const p=m.value==="baseBranch"?L.value.trim():"",n=((e=g.commitSha)==null?void 0:e.trim())??"",i=await at(g.cwd,S.value?"commit":m.value,F.value,p||null,n||null);if(i.baseBranchOptions.length>0){const _=i.baseBranch??i.baseBranchOptions[0]??"";L.value!==_&&(H.value=!0,L.value=_)}else L.value!==""&&(H.value=!0,L.value="");d.value=i;const f=i.files.some(_=>_.id===x.value);!ie()&&!f&&(x.value=((t=i.files[0])==null?void 0:t.id)??"",I.value=((v=(u=i.files[0])==null?void 0:u.hunks[0])==null?void 0:v.id)??"")}catch(p){M.value=p instanceof Error?p.message:"Failed to load review snapshot"}finally{J.value=!1}}}async function me(){await q()}function ee(e){var u,v;he(e),x.value=e;const t=((u=d.value)==null?void 0:u.files.find(p=>p.id===e))??null;I.value=((v=t==null?void 0:t.hunks[0])==null?void 0:v.id)??"",B.value&&(O.value=!1)}function _e(e){return e.trim().slice(0,7)}async function te(e,t,u=""){var v,p,n;if(d.value){N.value=!0,$.value="";try{const i=await nt({cwd:g.cwd,scope:m.value,workspaceView:F.value,action:e,level:t,patch:u});d.value=i,i.files.some(_=>_.id===x.value)||(x.value=((v=i.files[0])==null?void 0:v.id)??"",I.value=((n=(p=i.files[0])==null?void 0:p.hunks[0])==null?void 0:n.id)??"")}catch(i){$.value=i instanceof Error?i.message:"Failed to apply review action"}finally{N.value=!1}}}async function Ve(e){await te(e,"all")}async function ze(e,t){await te(e,"file",t.diff)}async function Ge(e,t){I.value=t.id,await te(e,"hunk",t.patch)}async function Ue(){if(g.cwd.trim()){X.value=!0,$.value="";try{await st(g.cwd),await q()}catch(e){$.value=e instanceof Error?e.message:"Failed to initialize Git"}finally{X.value=!1}}}function He(e){if(We(e)!==g.threadId)return;const t=e.params!==null&&typeof e.params=="object"&&!Array.isArray(e.params)?e.params:null,u=(t==null?void 0:t.item)!==null&&typeof(t==null?void 0:t.item)=="object"&&!Array.isArray(t.item)?t.item:null,v=typeof(u==null?void 0:u.type)=="string"?u.type:"";if(e.method==="item/started"&&v==="enteredReviewMode"){K.value=typeof(u==null?void 0:u.review)=="string"?u.review:"Review in progress";return}e.method==="item/completed"&&v==="exitedReviewMode"&&(K.value="")}return G(()=>[g.threadId,g.cwd,g.commitSha],()=>{S.value&&(m.value="workspace"),x.value="",I.value="",$.value="",K.value="",me()},{immediate:!0}),G(()=>[g.initialFilePath,g.commitSha],()=>{ie()}),G(()=>[m.value,F.value],()=>{x.value="",I.value="",$.value="",M.value="",q()}),G(L,(e,t)=>{if(H.value){H.value=!1;return}m.value==="baseBranch"&&(!e||e===t||q())}),G(k,e=>{var t;e&&(he(e.id),e.hunks.some(u=>u.id===I.value)||(I.value=((t=e.hunks[0])==null?void 0:t.id)??""))}),je(()=>{j=Ye(He)}),qe(()=>{j&&(j(),j=null),A==null||A()}),(e,t)=>{var u,v,p;return o(),r("section",{class:be(["review-pane",{"is-mobile":c(B)}]),onPointerdown:t[9]||(t[9]=se(()=>{},["stop"])),onClick:t[10]||(t[10]=se(()=>{},["stop"]))},[a("header",lt,[a("div",ot,[a("p",rt,s(c(l)("Review")),1),a("p",ut,s(Ie.value),1)]),a("div",dt,[c(B)&&((u=d.value)!=null&&u.files.length)?(o(),r("button",{key:0,type:"button",class:"review-pane-mobile-files-button",onClick:t[0]||(t[0]=n=>O.value=!0)},s(c(l)("Files")),1)):w("",!0),a("button",{type:"button",class:"review-pane-close","aria-label":c(l)("Close review pane"),onClick:t[1]||(t[1]=n=>e.$emit("close"))},[ae(Je,{class:"icon-svg"})],8,ct)])]),a("div",vt,[a("div",pt,[S.value?w("",!0):(o(),r("div",ht,[a("span",ft,s(c(l)("Compare")),1),a("div",wt,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":m.value==="workspace",onClick:t[2]||(t[2]=n=>m.value="workspace")},s(c(l)("Workspace")),9,mt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-scope","data-active":m.value==="baseBranch",disabled:!((v=d.value)!=null&&v.baseBranch),onClick:t[3]||(t[3]=n=>m.value="baseBranch")},s(c(l)("Base branch")),9,_t)])])),!S.value&&m.value==="baseBranch"&&((p=d.value)!=null&&p.baseBranchOptions.length)?(o(),r("div",yt,[a("span",bt,s(c(l)("Branch")),1),ae(Qe,{modelValue:L.value,"onUpdate:modelValue":t[4]||(t[4]=n=>L.value=n),class:"review-pane-branch-dropdown",options:Be.value,placeholder:c(l)("Branch"),"enable-search":"","search-placeholder":c(l)("Search branches...")},null,8,["modelValue","options","placeholder","search-placeholder"])])):w("",!0),!S.value&&m.value==="workspace"?(o(),r("div",kt,[a("span",gt,s(c(l)("Changes")),1),a("div",Ct,[a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":F.value==="unstaged",onClick:t[5]||(t[5]=n=>F.value="unstaged")},s(c(l)("Unstaged")),9,Bt),a("button",{type:"button",class:"review-pane-segmented-button review-pane-view","data-active":F.value==="staged",onClick:t[6]||(t[6]=n=>F.value="staged")},s(c(l)("Staged")),9,Ft)])])):w("",!0)]),a("div",St,[a("button",{type:"button",class:"review-pane-refresh",disabled:J.value,onClick:me},s(c(l)("Refresh")),9,It)])]),re.value?(o(),r("div",{key:0,class:be(["review-pane-banner",{"is-error":Ae.value}])},s(re.value),3)):w("",!0),d.value?(o(),r("div",Lt,[a("span",null,s(d.value.summary.fileCount)+" "+s(c(l)("files")),1),a("span",xt,"+"+s(d.value.summary.addedLineCount),1),a("span",$t,"-"+s(d.value.summary.removedLineCount),1),d.value.headBranch?(o(),r("span",At,s(d.value.headBranch),1)):w("",!0),S.value&&d.value.commitSha?(o(),r("span",Et,s(_e(d.value.commitSha)),1)):w("",!0),!S.value&&m.value==="baseBranch"&&d.value.baseBranch?(o(),r("span",Pt,"vs "+s(d.value.baseBranch),1)):w("",!0)])):w("",!0),a("div",Nt,[d.value?d.value.isGitRepo?!S.value&&m.value==="baseBranch"&&!d.value.baseBranch?(o(),r("div",zt,[a("p",Gt,s(c(l)("Base branch unavailable")),1),a("p",Ut,s(c(l)("Could not resolve `origin/HEAD`, `main`, or `master` for this repository.")),1)])):(o(),r(C,{key:3},[le.value?(o(),r("div",Ht,[(o(!0),r(C,null,P(Le.value,n=>(o(),r("button",{key:n.value,type:"button",class:"review-pane-bulk-button",disabled:N.value,onClick:i=>Ve(n.value)},s(n.label),9,Ot))),128))])):w("",!0),d.value.files.length?(o(),r("div",{key:2,class:"review-pane-main",style:U(Ee.value)},[c(B)?w("",!0):(o(),r("aside",Yt,[(o(!0),r(C,null,P(de.value,n=>{var i;return o(),r(C,{key:n.treeKey},[n.kind==="folder"?(o(),r("button",{key:0,type:"button",class:"review-pane-tree-folder",style:U(fe(n.depth)),"data-expanded":D(n.id),onClick:f=>pe(n.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":D(n.id)},null,8,Jt),a("span",Qt,s(n.name),1),a("span",Zt,s(n.fileCount),1)],12,qt)):(o(),r("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:U(we()),"data-active":((i=k.value)==null?void 0:i.id)===n.file.id,title:n.file.path,onClick:f=>ee(n.file.id)},[a("span",ta,[a("span",aa,[T(s(n.name)+" ",1),n.file.previousPath?(o(),r(C,{key:0},[T(" ← "+s(ce(n.file.previousPath)),1)],64)):w("",!0)]),a("span",sa,[a("span",na,"+"+s(n.file.addedLineCount),1),t[11]||(t[11]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",ia,"-"+s(n.file.removedLineCount),1)])]),a("span",{class:"review-pane-file-op","data-operation":n.file.operation},s(Z(n.file.operation)),9,la)],12,ea))],64)}),128))])),c(B)?w("",!0):(o(),r("div",{key:1,class:"review-pane-resizer",role:"separator","aria-orientation":"vertical","aria-label":"Resize file list",onPointerdown:Te},null,32)),a("section",oa,[k.value?(o(),r(C,{key:0},[a("div",ra,[a("div",ua,[a("p",da,[T(s(k.value.path)+" ",1),k.value.previousPath?(o(),r(C,{key:0},[T(" ← "+s(k.value.previousPath),1)],64)):w("",!0)]),a("p",ca,s(Z(k.value.operation))+" · +"+s(k.value.addedLineCount)+" / -"+s(k.value.removedLineCount),1)]),oe.value?(o(),r("div",va,[(o(!0),r(C,null,P(xe.value,n=>(o(),r("button",{key:`${k.value.id}:${n.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:i=>ze(n.value,k.value)},s(n.label),9,pa))),128))])):w("",!0)]),k.value.hunks.length===0?(o(),r("div",ha,[a("pre",null,s(k.value.diff||"No unified diff available."),1)])):(o(),r("div",fa,[(o(!0),r(C,null,P(k.value.hunks,n=>(o(),r("article",{key:n.id,class:"review-pane-hunk","data-active":I.value===n.id,onClick:i=>I.value=n.id},[a("div",ma,[a("div",null,[a("p",_a,s(n.header),1),a("p",ya,"+"+s(n.addedLineCount)+" / -"+s(n.removedLineCount),1)]),oe.value?(o(),r("div",ba,[(o(!0),r(C,null,P($e.value,i=>(o(),r("button",{key:`${n.id}:${i.value}`,type:"button",class:"review-pane-row-button",disabled:N.value,onClick:f=>Ge(i.value,n)},s(i.label),9,ka))),128))])):w("",!0)]),a("div",ga,[(o(!0),r(C,null,P(n.lines,i=>(o(),r("div",{key:i.key,class:"review-pane-line","data-kind":i.kind},[a("span",Ba,s(i.oldLine??""),1),a("span",Fa,s(i.newLine??""),1),a("span",Sa,s(Me(i.kind)),1),a("code",Ia,s(i.text||" "),1)],8,Ca))),128))])],8,wa))),128))]))],64)):w("",!0)])],4)):(o(),r("div",Xt,[a("p",Kt,s(c(l)("No changes in this scope")),1),a("p",jt,s(Fe.value),1)]))],64)):(o(),r("div",Mt,[a("p",Dt,s(c(l)("This folder is not a Git repository")),1),a("p",Wt,s(c(l)("Initialize Git to review local changes and run Codex review.")),1),a("button",{type:"button",class:"review-pane-primary-cta",disabled:X.value,onClick:Ue},s(X.value?c(l)("Initializing…"):c(l)("Initialize Git")),9,Vt)])):(o(),r("div",Rt,[a("p",Tt,s(c(l)("Loading review state")),1)]))]),ae(et,{name:"review-pane-sheet"},{default:Ze(()=>{var n;return[c(B)&&O.value&&((n=d.value)!=null&&n.files.length)?(o(),r("div",{key:0,class:"review-pane-sheet-backdrop",onClick:t[8]||(t[8]=i=>O.value=!1)},[a("div",{class:"review-pane-sheet",onClick:t[7]||(t[7]=se(()=>{},["stop"]))},[t[13]||(t[13]=a("div",{class:"review-pane-sheet-handle","aria-hidden":"true"},null,-1)),a("div",La,[a("p",xa,s(c(l)("Changed files")),1),a("p",$a,s(d.value.files.length),1)]),a("div",Aa,[(o(!0),r(C,null,P(de.value,i=>{var f;return o(),r(C,{key:`sheet:${i.treeKey}`},[i.kind==="folder"?(o(),r("button",{key:0,type:"button",class:"review-pane-tree-folder review-pane-tree-folder-sheet",style:U(fe(i.depth)),"data-expanded":D(i.id),onClick:_=>pe(i.id)},[a("span",{class:"review-pane-tree-caret","data-expanded":D(i.id)},null,8,Pa),a("span",Na,s(i.name),1),a("span",Ra,s(i.fileCount),1)],12,Ea)):(o(),r("button",{key:1,type:"button",class:"review-pane-file review-pane-tree-file",style:U(we()),"data-active":((f=k.value)==null?void 0:f.id)===i.file.id,title:i.file.path,onClick:_=>ee(i.file.id)},[a("span",Ma,[a("span",Da,[T(s(i.name)+" ",1),i.file.previousPath?(o(),r(C,{key:0},[T(" ← "+s(ce(i.file.previousPath)),1)],64)):w("",!0)]),a("span",Wa,[a("span",Va,"+"+s(i.file.addedLineCount),1),t[12]||(t[12]=a("span",{class:"review-pane-delta-separator"},"/",-1)),a("span",za,"-"+s(i.file.removedLineCount),1)])]),a("span",{class:"review-pane-file-op","data-operation":i.file.operation},s(Z(i.file.operation)),9,Ga)],12,Ta))],64)}),128))])])])):w("",!0)]}),_:1})],34)}}}),Ka=it(Oa,[["__scopeId","data-v-b6468d35"]]);export{Ka as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as G,o as l,c as X,a as d,w as Ae,b as v,t as y,n as z,e as L,T as Mo,_ as U,u as T,F as E,r as D,f as ie,g as W,I as ds,h as Po,i as Ut,j as ee,k as M,l as ce,m as nn,p as je,q as O,s as Vt,v as fs,x as So,y as hs,z as Ao,A as Eo,B as st,C as Fo,D as Bo,E as Ro,G as Gn,H as Oo,J as Do,K as Ho,L as Wo}from"./index-
|
|
1
|
+
import{d as G,o as l,c as X,a as d,w as Ae,b as v,t as y,n as z,e as L,T as Mo,_ as U,u as T,F as E,r as D,f as ie,g as W,I as ds,h as Po,i as Ut,j as ee,k as M,l as ce,m as nn,p as je,q as O,s as Vt,v as fs,x as So,y as hs,z as Ao,A as Eo,B as st,C as Fo,D as Bo,E as Ro,G as Gn,H as Oo,J as Do,K as Ho,L as Wo}from"./index-CNFcjd2m.js";import{s as Ht}from"./sanitizeHtml-Bd3No2dT.js";function jo(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("/"),s=/^[A-Za-z]:[\\/]/u.test(e),i=e.startsWith("./")||e.startsWith("../")||e.startsWith("~/");return n||s||i||/^[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 it(e){return e.replace(/\\/gu,"/").split("/").filter(Boolean).pop()||e}function Ee(e){return e.replace(/\\/gu,"/")}function ms(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 No(e){const n=Ee(e),s=n.match(/^\/Users\/([^/]+)/u);if(s)return`/Users/${s[1]}`;const i=n.match(/^\/home\/([^/]+)/u);return i?`/home/${i[1]}`:""}function Pe(e){const n=Ee(e);if(!n)return n;let s="",i=n;const a=i.match(/^([A-Za-z]:)(\/.*)?$/u);a?(s=`${a[1]}/`,i=(a[2]??"").replace(/^\/+/u,"")):i.startsWith("/")&&(s="/",i=i.slice(1));const f=i.split("/").filter(Boolean),c=[];for(const g of f)if(g!=="."){if(g===".."){c.length>0&&c.pop();continue}c.push(g)}const u=c.join("/");return s?`${s}${u}`.replace(/\/+$/u,"")||s:u||n}function gs(e,n){const s=Ee(ms(e.trim()));if(!s)return"";if(s.startsWith("/")||/^[A-Za-z]:\//u.test(s))return Pe(s);if(s.startsWith("~/")){const f=No(n);if(f)return Pe(`${f}/${s.slice(2)}`)}const a=Ee(n.trim());return Pe(a?`${a.replace(/\/+$/u,"")}/${s}`:s)}function rt(e){let n=e,s="",i="";const a={"(":")","[":"]","{":"}","<":">",'"':'"',"'":"'","`":"`","“":"”","‘":"’"};for(;n.length>0;){const f=n[0],c=Object.prototype.hasOwnProperty.call(a,f)?a[f]:"";if(!c||!n.endsWith(c))break;s+=f,i+=c,n=n.slice(1,-1)}return{core:n,leading:s,trailing:i}}function Ne(e){if(!e)return null;let n=e.trim();n=rt(n).core.trim();let i=null;const a=n.match(/^(.*)#L(\d+)(?:C\d+)?$/u);if(a)n=a[1],i=Number(a[2]);else{const f=n.match(/^(.*):(\d+)(?::\d+)?$/u);f&&(n=f[1],i=Number(f[2]))}return n=ms(n),jo(n)?{path:n,line:i}:null}function Zn(e,n,s){let i=0,a=n-1;for(;a>=s&&e[a]==="*";)i+=1,a-=1;return i}function zo(e,n){let s=0,i=n;for(;i<e.length&&e[i]==="*";)s+=1,i+=1;return s}function ps(e,n,s,i,a){const f=Zn(e,n,i);return f<2?null:zo(e,s)>=f?{segmentStart:n-f,segmentEnd:s+f,tokenEndTrim:0}:Zn(a,a.length,0)>=f?{segmentStart:n-f,segmentEnd:s,tokenEndTrim:f}:null}function Kt(e){const n=e.trim();if(!n.startsWith("[")||!n.endsWith(")"))return null;const s=n.indexOf("]");if(s<=1||n[s+1]!=="(")return null;const i=n.slice(1,s).trim(),a=n.slice(s+2,-1).trim();if(i.includes(`
|
|
2
2
|
`)||a.includes(`
|
|
3
3
|
`))return null;const f=rt(i).core.trim()||i,c=rt(a).core.trim();return c?{label:f,target:c}:null}function lt(e){const n=e.trim().match(/^codex:\/\/threads\/([A-Za-z0-9-]+)$/u);if(!n)return null;if(typeof window>"u")return`/#/thread/${n[1]}`;const s=window.location.pathname.replace(/\/?$/u,"/");return`${window.location.origin}${s}#/thread/${n[1]}`}function Jn(e){const n=Math.min(6,Math.max(1,Math.trunc(e)));return`h${String(n)}`}function Xn(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 qo(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 s=n.startsWith("/"),i=/^[A-Za-z]:[\\/]/u.test(n);return s||i?`/codex-local-image?path=${encodeURIComponent(n)}`:n}function Se(e,n={}){const s=[],i=/codex:\/\/threads\/[A-Za-z0-9-]+|https?:\/\/[^\s<>"'`,。;:!?、()[\]{}「」『』《》]+|file:\/\/[^\n<>"'`,。;:!?、[\]{}「」『』《》]+|["'](?:[A-Za-z]:[\\/]|~\/|\.{1,2}\/|\/)[^\n"']+["']|`(?:[A-Za-z]:[\\/]|~\/|\.{1,2}\/|\/)[^`\n]+`/gu;let a=0;for(const f of e.matchAll(i)){if(typeof f.index!="number")continue;const c=f.index,u=c+f[0].length;let g=f[0],p="";for(;/[.,;:!?,。;:!?、]$/u.test(g);)p=g.slice(-1)+p,g=g.slice(0,-1);const b=ps(e,c,u,a,g),I=(b==null?void 0:b.segmentStart)??c,A=(b==null?void 0:b.segmentEnd)??u;I>a&&s.push({kind:"text",value:e.slice(a,I)}),b!=null&&b.tokenEndTrim&&(g=g.slice(0,-b.tokenEndTrim));const x=rt(g);g=x.core;const P=x.leading,w=x.trailing+p;P&&s.push({kind:"text",value:P});const F=lt(g);if(F)s.push({kind:"url",value:F,href:F}),w&&s.push({kind:"text",value:w});else if(g.startsWith("**")&&g.endsWith("**")&&g.length>4)s.push({kind:"bold",value:g.slice(2,-2)}),w&&s.push({kind:"text",value:w});else if(/^https?:\/\//u.test(g))s.push({kind:"url",value:g,href:g}),w&&s.push({kind:"text",value:w});else{const B=Ne(g);B?(s.push({kind:"file",value:g,path:B.path,displayPath:g,downloadName:it(B.path)}),w&&s.push({kind:"text",value:w})):s.push({kind:"text",value:f[0]})}a=A}return a<e.length&&s.push({kind:"text",value:e.slice(a)}),n.applyMarkdownMarkers===!1?s:vs(s)}function Wt(e,n){const s=[];let i=!1,a="";const f=c=>{c&&s.push({kind:"text",value:c})};for(const c of e){if(c.kind!=="text"){i&&(f(`${n.marker}${a}`),i=!1,a=""),s.push(c);continue}let u=c.value;for(;u.length>0;){const g=u.indexOf(n.marker);if(g<0){i?a+=u:f(u);break}const p=u.slice(0,g);if(i?a+=p:f(p),u=u.slice(g+n.marker.length),i){const b=a;b.length>0&&(!n.isValidContent||n.isValidContent(b))?s.push({kind:n.kind,value:b}):f(`${n.marker}${b}${n.marker}`),a="",i=!1}else i=!0}}return i&&f(`${n.marker}${a}`),s}function vs(e){const n=i=>i.trim().length>0&&!/^\s/u.test(i)&&!/\s$/u.test(i);let s=Wt(e,{marker:"**",kind:"bold",isValidContent:n});return s=Wt(s,{marker:"~~",kind:"strikethrough",isValidContent:n}),s=Wt(s,{marker:"*",kind:"italic",isValidContent:n}),s}function Uo(e,n={}){const s=[];let i=0,a=0;const f=(c,u)=>{let g=c.indexOf("[",u);for(;g>=0;){const p=c.indexOf("]",g+1);if(p<0)return null;if(c[p+1]!=="("){g=c.indexOf("[",g+1);continue}let b=1,I=p+2,A=!1;for(;I<c.length;){const x=c[I];if(x===`
|
|
4
4
|
`){A=!0;break}if(x==="("&&(b+=1),x===")"&&(b-=1,b===0)){const P=c.slice(g,I+1);if(Kt(P))return{start:g,end:I+1,token:P};break}I+=1}if(A){g=c.indexOf("[",g+1);continue}g=c.indexOf("[",g+1)}return null};for(;a<e.length;){const c=f(e,a);if(!c)break;const{start:u,end:g,token:p}=c,b=ps(e,u,g,i,p),I=(b==null?void 0:b.segmentStart)??u,A=(b==null?void 0:b.segmentEnd)??g;I>i&&s.push(...Se(e.slice(i,I),n));const x=Kt(p);if(!x){s.push(...Se(e.slice(I,A),n)),i=A,a=A;continue}const P=x.label,w=x.target,F=lt(w);if(F)s.push({kind:"url",value:P||F,href:F});else if(/^https?:\/\//u.test(w))s.push({kind:"url",value:P||w,href:w});else{const B=Ne(w);B?s.push({kind:"file",value:w,path:B.path,displayPath:P||w,downloadName:it(B.path)}):s.push({kind:"text",value:p})}i=A,a=A}return i<e.length&&s.push(...Se(e.slice(i),n)),s}function Vo(e){const n=e.includes("`"),s=Uo(e,{applyMarkdownMarkers:!n});if(!n)return s;if(!s.some(a=>a.kind==="text"&&a.value.includes("`")))return vs(s);const i=a=>{if(!a.includes("`"))return Se(a);const f=[];let c=0,u=0;for(;c<a.length;){if(a[c]!=="`"){c+=1;continue}let g=1;for(;c+g<a.length&&a[c+g]==="`";)g+=1;const p="`".repeat(g);let b=c+g,I=-1;for(;b<a.length;){const x=a.indexOf(p,b);if(x<0)break;const P=x>0&&a[x-1]==="`",w=x+g<a.length&&a[x+g]==="`",F=a.slice(c+g,x).includes(`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{d as dn,q as ct,M as un,N as _n,m as fn,l as pn,O as vs,B as gn,P as vn,Q as mn,R as Sn,o as Ht,a as Wt,b as Ke,F as wn,r as bn,n as ms,t as zt,u as Ft,e as yn,j as Cn,S as kn,_ as xn}from"./index-
|
|
1
|
+
import{d as dn,q as ct,M as un,N as _n,m as fn,l as pn,O as vs,B as gn,P as vn,Q as mn,R as Sn,o as Ht,a as Wt,b as Ke,F as wn,r as bn,n as ms,t as zt,u as Ft,e as yn,j as Cn,S as kn,_ as xn}from"./index-CNFcjd2m.js";/**
|
|
2
2
|
* Copyright (c) 2014-2024 The xterm.js authors. All rights reserved.
|
|
3
3
|
* @license MIT
|
|
4
4
|
*
|