codex-mobile-re 0.1.131 → 0.1.133
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-CZ_k1aNL.js → AutomationsPanel-B9A37CNa.js} +1 -1
- package/dist/assets/DirectoryHub-D_TdDpHF.js +2 -0
- package/dist/assets/{QueuedMessages-DSxRli0y.js → QueuedMessages-CsAVexKb.js} +1 -1
- package/dist/assets/{ReviewPane-DO60w4j5.js → ReviewPane-XhRr3646.js} +1 -1
- package/dist/assets/{RightFilePreview-B2tx1lOm.js → RightFilePreview-Ch_neGS2.js} +1 -1
- package/dist/assets/RightFilesPanel-5fMx5J84.js +1 -0
- package/dist/assets/RightGitPanel-irYPFJZZ.js +2 -0
- package/dist/assets/{SettingsDialog-D9kB2mzO.js → SettingsDialog-Dg10TF-D.js} +3 -3
- package/dist/assets/ThreadConversation-8TMOUqdg.js +25 -0
- package/dist/assets/ThreadConversation-Dx1ZKW94.css +1 -0
- package/dist/assets/{ThreadPendingRequestPanel-DGbhyPFH.js → ThreadPendingRequestPanel-DorbAtp9.js} +1 -1
- package/dist/assets/{ThreadTerminalPanel-DhYhXg8u.js → ThreadTerminalPanel-CKhCiseu.js} +1 -1
- package/dist/assets/index-CMrfiiel.js +98 -0
- package/dist/assets/index-Dm1iQsik.css +1 -0
- package/dist/index.html +2 -2
- package/dist-cli/index.js +257 -221
- package/dist-cli/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/assets/DirectoryHub-Yd0fIqxf.js +0 -2
- package/dist/assets/RightFilesPanel-r9ijJqw4.js +0 -1
- package/dist/assets/RightGitPanel-BxZdreeN.js +0 -2
- package/dist/assets/ThreadConversation-CVVohemt.js +0 -39
- package/dist/assets/ThreadConversation-D1JHRys4.css +0 -1
- package/dist/assets/index-ClI-fbXf.js +0 -83
- package/dist/assets/index-DthBwStG.css +0 -1
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import{c as F,r as W,g as Co,o as $t,a as kt,b as Fn,d as tt,e as oe,f as r,h as se,i as u,w as Ve,j as m,t as y,n as te,k as M,T as Yn,_ as ne,u as d,F as q,l as K,m as xe,p as ee,I as Xn,q as $o,s as qe,v as me,x as _e,y as nt,z as Qn,A as xo,B as Ee,C as _o,D as es,E as Ut,G as To,H as Io,J as Lo,K as Bn,L as gt,M as Mo,N as So,O as Ao,P as Fo,Q as Bo,R as Eo,S as En,U as Po,V as Ro,W as Pn,X as Oo,Y as Do,Z as Ho,$ as No,a0 as jo,a1 as qo,a2 as Uo,a3 as Wo}from"./index-ClI-fbXf.js";import{s as Ht}from"./sanitizeHtml-Bd3No2dT.js";function Vo(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),o=e.startsWith("./")||e.startsWith("../")||e.startsWith("~/");return n||t||o||/^[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 yt(e){return e.replace(/\\/gu,"/").split("/").filter(Boolean).pop()||e}function ze(e){return e.replace(/\\/gu,"/")}function ts(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 zo(e){const n=ze(e),t=n.match(/^\/Users\/([^/]+)/u);if(t)return`/Users/${t[1]}`;const o=n.match(/^\/home\/([^/]+)/u);return o?`/home/${o[1]}`:""}function Ue(e){const n=ze(e);if(!n)return n;let t="",o=n;const s=o.match(/^([A-Za-z]:)(\/.*)?$/u);s?(t=`${s[1]}/`,o=(s[2]??"").replace(/^\/+/u,"")):o.startsWith("/")&&(t="/",o=o.slice(1));const a=o.split("/").filter(Boolean),i=[];for(const f of a)if(f!=="."){if(f===".."){i.length>0&&i.pop();continue}i.push(f)}const l=i.join("/");return t?`${t}${l}`.replace(/\/+$/u,"")||t:l||n}function ns(e,n){const t=ze(ts(e.trim()));if(!t)return"";if(t.startsWith("/")||/^[A-Za-z]:\//u.test(t))return Ue(t);if(t.startsWith("~/")){const a=zo(n);if(a)return Ue(`${a}/${t.slice(2)}`)}const s=ze(n.trim());return Ue(s?`${s.replace(/\/+$/u,"")}/${t}`:t)}function wt(e){let n=e,t="",o="";const s={"(":")","[":"]","{":"}","<":">",'"':'"',"'":"'","`":"`","“":"”","‘":"’"};for(;n.length>0;){const a=n[0],i=Object.prototype.hasOwnProperty.call(s,a)?s[a]:"";if(!i||!n.endsWith(i))break;t+=a,o+=i,n=n.slice(1,-1)}return{core:n,leading:t,trailing:o}}function st(e){if(!e)return null;let n=e.trim();n=wt(n).core.trim();let o=null;const s=n.match(/^(.*)#L(\d+)(?:C\d+)?$/u);if(s)n=s[1],o=Number(s[2]);else{const a=n.match(/^(.*):(\d+)(?::\d+)?$/u);a&&(n=a[1],o=Number(a[2]))}return n=ts(n),Vo(n)?{path:n,line:o}:null}function Rn(e,n,t){let o=0,s=n-1;for(;s>=t&&e[s]==="*";)o+=1,s-=1;return o}function Ko(e,n){let t=0,o=n;for(;o<e.length&&e[o]==="*";)t+=1,o+=1;return t}function ss(e,n,t,o,s){const a=Rn(e,n,o);return a<2?null:Ko(e,t)>=a?{segmentStart:n-a,segmentEnd:t+a,tokenEndTrim:0}:Rn(s,s.length,0)>=a?{segmentStart:n-a,segmentEnd:t,tokenEndTrim:a}:null}function Wt(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 o=n.slice(1,t).trim(),s=n.slice(t+2,-1).trim();if(o.includes(`
|
|
2
|
-
`)||s.includes(`
|
|
3
|
-
`))return null;const a=wt(o).core.trim()||o,i=wt(s).core.trim();return i?{label:a,target:i}:null}function bt(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 t=window.location.pathname.replace(/\/?$/u,"/");return`${window.location.origin}${t}#/thread/${n[1]}`}function os(e){const n=Math.min(6,Math.max(1,Math.trunc(e)));return`h${String(n)}`}function as(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"}}const is={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"};function ue(e){return`${e.path}\0${e.movedToPath??""}`}function Go(e,n){return e?!n||e===n?e:`${e}
|
|
4
|
-
${n}`.trim():n}function Zo(e,n){const t=e.operation==="add"||n.operation==="add"?"add":e.operation==="delete"||n.operation==="delete"?"delete":"update";return{path:n.path||e.path,operation:t,movedToPath:n.movedToPath??e.movedToPath??null,diff:Go(e.diff,n.diff),addedLineCount:e.addedLineCount+n.addedLineCount,removedLineCount:e.removedLineCount+n.removedLineCount}}function Jo(e,n){const t=e.operation==="add"?0:e.operation==="update"?1:2,o=n.operation==="add"?0:n.operation==="update"?1:2;if(t!==o)return t-o;const s=`${e.path}\0${e.movedToPath??""}`,a=`${n.path}\0${n.movedToPath??""}`;return s.localeCompare(a)}function Nt(e){const n=new Map;for(const t of e){const o=`${t.path}\0${t.movedToPath??""}`,s=n.get(o);n.set(o,s?Zo(s,t):{...t})}return Array.from(n.values()).sort(Jo)}function Xt(e,n){return e.operation==="update"&&e.movedToPath?e.addedLineCount>0||e.removedLineCount>0?n("Moved + edited"):n("Moved"):e.operation==="add"?n("Added"):e.operation==="delete"?n("Deleted"):n("Edited")}function Yo(e){return e.operation==="update"&&e.movedToPath?"→":e.operation==="add"?"+":e.operation==="delete"?"−":"M"}function Vt(e){return e.operation==="update"&&e.movedToPath?"move":e.operation}function Re(e){const n=[];return e.addedLineCount>0&&n.push(`+${e.addedLineCount}`),e.removedLineCount>0&&n.push(`-${e.removedLineCount}`),n.join(" ")}function rs(e,n,t=""){const o=[];return e>0&&o.push({tone:"add",label:`+${e}`}),n>0&&o.push({tone:"remove",label:`-${n}`}),o.length>0?o:t?[{tone:"neutral",label:t}]:[]}function Xo(e){return rs(e.addedLineCount,e.removedLineCount)}function ls(e,n){return e===1?`1 ${n("file changed")}`:`${e} ${n("files changed")}`}function Qo(e,n){if(!e||e.changes.length===0)return"";let t=0,o=0,s=0,a=0;for(const l of e.changes){if(l.operation==="add"){t+=1;continue}if(l.operation==="delete"){o+=1;continue}if(l.movedToPath){a+=1;continue}s+=1}const i=[];return s>0&&i.push(`${s} ${n("edited")}`),t>0&&i.push(`${t} ${n("added")}`),o>0&&i.push(`${o} ${n("deleted")}`),a>0&&i.push(`${a} ${n("moved")}`),i.join(", ")}function ea(e,n){if(!e||e.changes.length===0)return n("Modified files");const t=ls(e.changes.length,n),o=Qo(e,n);return o?`${t} · ${o}`:t}function ta(e){if(!e||e.changes.length===0)return[];const n=e.changes.reduce((s,a)=>s+a.addedLineCount,0),t=e.changes.reduce((s,a)=>s+a.removedLineCount,0),o=e.changes.some(s=>s.movedToPath)?"Moved":"Ready";return rs(n,t,o)}function Ke(e,n){const t=ns(e,n),o=Ue(ze(n.trim())),s=Ue(ze(t));return o&&s.startsWith(`${o}/`)?s.slice(o.length+1):e}function na(e,n,t){if(!e||e.changes.length===0)return"";const o=e.changes.map(s=>{const a=Ke(s.path,n),i=s.movedToPath?` -> ${Ke(s.movedToPath,n)}`:"",l=Re(s);return`- ${Xt(s,t)}: ${a}${i}${l?` (${l})`:""}`});return`${t("Modified files")}:
|
|
5
|
-
${o.join(`
|
|
6
|
-
`)}`.trim()}function sa(e){var o;const t=((o=(e.movedToPath||e.path).split(".").pop())==null?void 0:o.toLowerCase())??"";return is[t]??t??""}function oa(e){return e.operation==="update"&&/^diff --git |^@@ |^--- |^\+\+\+ |^[ +-]|^\*\*\* (Move to:|End of File)/mu.test(e.diff)}function aa(e){const n=e.diff.replace(/\r\n/g,`
|
|
7
|
-
`),t=n.length>0?n.split(`
|
|
8
|
-
`):[];return t.length>0&&t[t.length-1]===""&&t.pop(),t.map((o,s)=>({key:`${ue(e)}:synthetic:${s}`,kind:e.operation==="delete"?"remove":"add",oldLine:e.operation==="delete"?s+1:null,newLine:e.operation==="delete"?null:s+1,text:o}))}function ia(e){const n=e.diff.replace(/\r\n/g,`
|
|
9
|
-
`),t=n.length>0?n.split(`
|
|
10
|
-
`):[];t.length>0&&t[t.length-1]===""&&t.pop();const o=[];let s=0,a=0;for(const[i,l]of t.entries()){const f=l.match(/^@@\s+-(\d+)(?:,\d+)?\s+\+(\d+)(?:,\d+)?\s+@@/u);if(f){s=Number(f[1]),a=Number(f[2]),o.push({key:`${ue(e)}:hunk:${i}`,kind:"hunk",oldLine:null,newLine:null,text:l});continue}if(l.startsWith("+")&&!l.startsWith("+++")){o.push({key:`${ue(e)}:add:${i}`,kind:"add",oldLine:null,newLine:a,text:l.slice(1)}),a+=1;continue}if(l.startsWith("-")&&!l.startsWith("---")){o.push({key:`${ue(e)}:remove:${i}`,kind:"remove",oldLine:s,newLine:null,text:l.slice(1)}),s+=1;continue}if(l.startsWith(" ")){o.push({key:`${ue(e)}:context:${i}`,kind:"context",oldLine:s,newLine:a,text:l.slice(1)}),s+=1,a+=1;continue}o.push({key:`${ue(e)}:meta:${i}`,kind:"meta",oldLine:null,newLine:null,text:l})}return o}function ra(e){return!e||!e.diff.trim()?[]:oa(e)?ia(e):aa(e)}function la(e){return!!(e!=null&&e.diff.trim())}function ca(e){return e.kind==="add"?"+":e.kind==="remove"?"-":e.kind==="hunk"?"@@":""}function ua(e,n){if(e.size===0)return e;const t=new Set;for(const o of e)n.has(o)&&t.add(o);return t.size===e.size?e:t}function da(e){const{getMessages:n,getLiveTurnId:t,isFileChangeMessage:o,isCopyableAssistantMessage:s,isReasoningMessage:a,isPlanMessage:i,isFoldMember:l,getHiddenGroupedCommandIds:f,isMobile:h}=e,k=W(new Set),v=W(null),S=W(""),$=W(!1),E=F(()=>{var re,pe;const H=new Map,z=new Map,de=new Map,ge=V=>!o(V)&&!a(V)&&!i(V)&&!f().has(V.id)&&!l(V);for(const V of n()){const ve=typeof V.turnIndex=="number"?`turn:${V.turnIndex}`:`message:${V.id}`;if(ge(V)&&H.set(ve,V.id),s(V)&&typeof V.turnIndex=="number"&&Array.isArray(V.fileChanges)&&V.fileChanges.length>0&&z.set(V.id,{changes:Nt(V.fileChanges),sourceMessageIds:[],source:"assistant",turnId:V.turnId??""}),!o(V))continue;const Le=de.get(ve);Le?Le.push(V):de.set(ve,[V])}const ie={};for(const[V,ve]of de.entries()){const Le=H.get(V);if(!Le)continue;const it=((re=z.get(Le))==null?void 0:re.turnId)??"";ie[Le]={changes:Nt(ve.flatMap(Me=>Me.fileChanges??[])),sourceMessageIds:ve.map(Me=>Me.id),source:"metadata",turnId:((pe=ve.find(Me=>typeof Me.turnId=="string"&&Me.turnId.length>0))==null?void 0:pe.turnId)??it}}for(const[V,ve]of z.entries())ie[V]||(ie[V]=ve);return ie}),T=F(()=>{var ge;const H=new Map,z=new Set;for(const ie of Object.values(E.value))for(const re of ie.sourceMessageIds)z.add(re);for(const ie of n()){if(!o(ie))continue;const re=typeof ie.turnIndex=="number"?`turn:${ie.turnIndex}`:`message:${ie.id}`,pe=H.get(re);pe?pe.push(ie):H.set(re,[ie])}const de={};for(const[ie,re]of H.entries()){if(re.some(V=>z.has(V.id)))continue;const pe=re[re.length-1];pe&&(de[pe.id]={changes:Nt(re.flatMap(V=>V.fileChanges??[])),sourceMessageIds:re.map(V=>V.id),source:"metadata",turnId:pe.turnId??((ge=re.find(V=>typeof V.turnId=="string"&&V.turnId.length>0))==null?void 0:ge.turnId)??""})}return de}),O=F(()=>{const H=new Set;for(const z of Object.values(E.value))for(const de of z.sourceMessageIds)H.add(de);for(const[z,de]of Object.entries(T.value))for(const ge of de.sourceMessageIds)ge!==z&&H.add(ge);return H}),L=F(()=>{var H;return((H=v.value)==null?void 0:H.changes)??[]}),b=F(()=>{const H=L.value;return H.length===0?null:H.find(z=>ue(z)===S.value)??H[0]}),A=F(()=>ra(b.value));function _(H){const z=new Set(k.value);z.has(H.id)?z.delete(H.id):z.add(H.id),k.value=z}function R(H){return k.value.has(H.id)}function D(H,z){H&&(v.value=H,S.value=ue(z),$.value=!1)}function w(){v.value=null,S.value="",$.value=!1}function G(){$.value=!$.value}function U(){$.value=!1}function le(H){S.value=ue(H),h()&&($.value=!1)}function Oe(H){return E.value[H]??null}function Ge(H){return k.value.has(H)}function I(H){const z=n().find(de=>de.id===H);z&&_(z)}function B(H){return Oe(H.id)}function N(H){return T.value[H.id]??null}function Q(H){if(!H)return!1;const z=t();return z?(H.turnId??"")!==z:!0}function ae(){const H=new Set([...Object.keys(E.value),...Object.keys(T.value)]);k.value=ua(k.value,H)}return{anchoredFileChangeSummaryByAnchorId:E,standaloneFileChangeSummaryByMessageId:T,hiddenFileChangeMessageIds:O,isDiffViewerFileListOpen:$,diffViewerChanges:L,activeDiffViewerChange:b,activeDiffViewerLines:A,toggleFileChangeSummary:_,isFileChangeSummaryExpanded:R,openDiffViewer:D,closeDiffViewer:w,toggleDiffViewerFileList:G,closeDiffViewerFileList:U,selectDiffViewerChange:le,readAnchoredFileChangeSummaryById:Oe,isFileChangeSummaryExpandedById:Ge,toggleFileChangeSummaryById:I,readAnchoredFileChangeSummary:B,readStandaloneFileChangeSummary:N,isFileChangeSummaryVisible:Q,pruneFileChangeSummaryIds:ae}}function fa(e){const{getMessages:n,isCopyableAssistantMessage:t,isPlanMessage:o,planStepCopyMarker:s,buildFileChangeCopyText:a,getAnchoredFileChangeSummaries:i}=e,l=W("");let f=null;function h(A){var D;const _=tt(A);if(!_)return"";const R=[];return(D=_.explanation)!=null&&D.trim()&&R.push(_.explanation.trim()),_.steps.length>0&&R.push(_.steps.map(w=>`- ${s(w.status)} ${w.step}`.trim()).join(`
|
|
11
|
-
`)),R.join(`
|
|
12
|
-
|
|
13
|
-
`).trim()}function k(A){const _=[],R=A.text.trim()||h(A),D=o(A)&&R?`Plan
|
|
14
|
-
${R}`:R;D&&_.push(D);const w=(A.fileAttachments??[]).map(U=>U.path.trim()).filter(U=>U.length>0);w.length>0&&_.push(`Files:
|
|
15
|
-
${w.join(`
|
|
16
|
-
`)}`);const G=(A.images??[]).map(U=>U.trim()).filter(U=>U.length>0);return G.length>0&&_.push(`Images:
|
|
17
|
-
${G.join(`
|
|
18
|
-
`)}`),_.join(`
|
|
19
|
-
|
|
20
|
-
`).trim()}const v=F(()=>{var R;const A=new Map;for(const D of n()){if(!t(D))continue;const w=k(D);if(!w)continue;const G=typeof D.turnIndex=="number"?`turn:${D.turnIndex}`:`message:${D.id}`,U=A.get(G);if(U){U.anchorMessageId=D.id,U.parts.push(w);continue}A.set(G,{anchorMessageId:D.id,parts:[w]})}const _={};for(const D of A.values()){const w=D.parts.join(`
|
|
21
|
-
|
|
22
|
-
`).trim();w&&(_[D.anchorMessageId]=w)}for(const[D,w]of Object.entries(i())){if(w.source!=="metadata")continue;const G=a(w);if(!G)continue;const U=(R=_[D])==null?void 0:R.trim();_[D]=U?`${U}
|
|
23
|
-
|
|
24
|
-
${G}`:G}return _}),S=F(()=>{const A=new Map;for(const R of n()){if(!t(R)||typeof R.turnIndex!="number")continue;const D=`turn:${R.turnIndex}`,w=A.get(D);if(w){w.anchorMessageId=R.id,w.turnIndex=R.turnIndex;continue}A.set(D,{anchorMessageId:R.id,turnIndex:R.turnIndex})}const _={};for(const R of A.values())_[R.anchorMessageId]=R.turnIndex;return _});function $(A){return typeof v.value[A.id]=="string"}function E(A){return A.role==="user"&&k(A).length>0}function T(A){l.value=A,f&&clearTimeout(f),f=setTimeout(()=>{l.value===A&&(l.value=""),f=null},1800)}Co()&&$t(()=>{f&&(clearTimeout(f),f=null)});async function O(A){const _=n().find(w=>w.id===A);if(!_)return;const R=k(_);if(!R)return;let D=!1;try{await kt(R),D=!0}catch{D=!1}D||(D=Fn(R)),D&&T(A)}function L(A){return typeof S.value[A.id]=="number"}async function b(A){const _=v.value[A]??"";if(!_)return;let R=!1;try{await kt(_),R=!0}catch{R=!1}R||(R=Fn(_)),R&&T(A)}return{copiedResponseAnchorId:l,copyableResponseContentByAnchorId:v,forkableTurnIndexByAnchorId:S,showCopyResponseButton:$,isCopyableUserMessage:E,copyUserMessage:O,showForkResponseButton:L,copyResponse:b}}function ha(e){const{getMessages:n,getLiveOverlay:t,isCommandMessage:o}=e,s=W(new Set),a=F(()=>{var A;const b=n();for(let _=b.length-1;_>=0;_-=1){const R=b[_];if(R.messageType==="commandExecution"&&((A=R.commandExecution)==null?void 0:A.status)==="inProgress")return R.id}return""}),i=F(()=>n().some(b=>b.role==="assistant"&&b.messageType==="agentMessage.live"&&b.text.trim().length>0)),l=F(()=>!!t()||a.value.length>0||i.value),f=F(()=>{const b=n(),A={};for(let _=0;_<b.length;){const R=b[_];if(!o(R)){_+=1;continue}const D=[];for(;_<b.length&&o(b[_]);)D.push(b[_]),_+=1;if(D.length<=1)continue;const w=D[D.length-1];A[w.id]=D.slice(0,-1)}return A}),h=F(()=>{const b=new Set;for(const A of Object.values(f.value))for(const _ of A)b.add(_.id);return b});function k(b){return o(b)&&s.value.has(b.id)}function v(b){return o(b)&&l.value}function S(b){var A;return o(b)&&(l.value||((A=b.commandExecution)==null?void 0:A.status)==="inProgress")}function $(b){if(!o(b))return;const A=new Set(s.value);A.has(b.id)?A.delete(b.id):A.add(b.id),s.value=A}function E(b){return f.value[b.id]??[]}function T(b){return o(b)?[...E(b),b]:[]}function O(b,A){if(b.size===0)return b;const _=new Set;for(const R of b)A.has(R)&&_.add(R);return _.size===b.size?b:_}function L(b){s.value=O(s.value,b)}return{expandedCommandIds:s,activeCommandMessageId:a,hasLiveAssistantText:i,isLiveTurnRuntime:l,groupedCommandsByLatestId:f,hiddenGroupedCommandIds:h,isCommandExpanded:k,isCommandCompact:v,isCommandOutputCondensed:S,toggleCommandExpand:$,getGroupedCommandsForLatest:E,getWorkBlockCommands:T,pruneCommandIdSets:L}}function ma(e){const{getActiveThreadId:n,getCwd:t,onFileChangesChanged:o,updateThreadFileChanges:s,t:a}=e,i=W({}),l=W({}),f=W({});function h(L){const b=n();return L!=null&&L.turnId&&b?`thread:${b}:turn:${L.turnId}`:""}function k(L){return h(L).length>0}function v(L){const b=h(L);return b?i.value[b]??"idle":"idle"}function S(L){const b=h(L);return b?l.value[b]??"":""}function $(L){const b=v(L);return b==="undone"||b==="redoing"?"redo":"undo"}function E(L){const b=v(L);return b==="undoing"?a("Undoing"):b==="redoing"?a("Redoing"):$(L)==="redo"?a("Redo"):a("Undo")}async function T(L,b,A){const _=h(L),R=n(),D=t();if(!L||!_||!R||!D)return;const w=v(L),G=b==="undo"?"undoing":"redoing";i.value={...i.value,[_]:G},l.value={...l.value,[_]:""};let U;try{const le=f.value[_]??[];U=await s(R,L.turnId,D,b,le.length>0?le:void 0,"single_turn",A)}catch(le){i.value={...i.value,[_]:w},l.value={...l.value,[_]:le instanceof Error?le.message:a("Failed to update file changes.")};return}if(U.errors.length>0){b==="undo"?(f.value={...f.value,[_]:U.revertedPatchIds??[]},i.value={...i.value,[_]:"undone"}):((U.appliedPatchIds??[]).length>0&&(f.value={...f.value,[_]:U.appliedPatchIds??[]}),i.value={...i.value,[_]:"undone"}),l.value={...l.value,[_]:U.errors.join("; ")};return}if((U.changed??0)<=0){i.value={...i.value,[_]:w},l.value={...l.value,[_]:U.message||a(b==="undo"?"No file changes to undo.":"No file changes to redo.")};return}b==="undo"?(f.value={...f.value,[_]:U.revertedPatchIds??[]},i.value={...i.value,[_]:"undone"}):(f.value={...f.value,[_]:U.appliedPatchIds??[]},i.value={...i.value,[_]:"redone"}),o()}function O(){i.value={},l.value={},f.value={}}return{fileChangeActionState:i,fileChangeActionError:l,fileChangeRedoPatchIds:f,fileChangeActionKey:h,isFileChangeActionable:k,fileChangeActionStatus:v,fileChangeActionErrorText:S,fileChangeNextAction:$,fileChangeActionLabel:E,runFileChangeAction:T,resetFileChangeActions:O}}function ga(e){const{toEditUrlFromBrowseHref:n}=e,t=W(!1),o=W(0),s=W(0),a=W(""),i=W("");function l(h){var $,E;const k=h.target,v=($=k==null?void 0:k.closest)==null?void 0:$.call(k,"a.message-file-link");if(!v)return;const S=(((E=v.getAttribute)==null?void 0:E.call(v,"href"))??"").trim();!S||S==="#"||(h.preventDefault(),h.stopPropagation(),a.value=S,i.value=n(S),o.value=h.clientX,s.value=h.clientY,t.value=!0)}function f(){t.value&&(t.value=!1)}return{isFileLinkContextMenuVisible:t,fileLinkContextMenuX:o,fileLinkContextMenuY:s,fileLinkContextBrowseUrl:a,fileLinkContextEditUrl:i,handleConversationContextMenu:l,closeFileLinkContextMenu:f}}function pa(e){const{isVideo:n}=e,t=W(""),o=W(!1),s=W(0),a=W(new Set);function i(v,S){return`${v}:${S}`}function l(v,S){return a.value.has(i(v,S))}function f(v,S){const $=new Set(a.value);$.add(i(v,S)),a.value=$,s.value+=1}function h(v){t.value=v,o.value=n(v)}function k(){t.value="",o.value=!1}return{modalImageUrl:t,modalIsVideo:o,markdownImageFailureVersion:s,isMarkdownImageFailed:l,onMarkdownImageError:f,openImageModal:h,closeImageModal:k}}const va=["aria-label"],ka={class:"confirm-dialog-title"},ya={class:"confirm-dialog-message"},wa={class:"confirm-dialog-actions"},ba=oe({__name:"ConfirmDialog",props:{visible:{type:Boolean},title:{},message:{},confirmLabel:{default:""},cancelLabel:{default:""},danger:{type:Boolean,default:!1}},emits:["confirm","cancel"],setup(e){return(n,t)=>(r(),se(Yn,{to:"body"},[e.visible?(r(),u("div",{key:0,class:"confirm-dialog-overlay",onClick:t[2]||(t[2]=Ve(o=>n.$emit("cancel"),["self"]))},[m("div",{class:"confirm-dialog-panel",role:"alertdialog","aria-modal":"true","aria-label":e.title},[m("h3",ka,y(e.title),1),m("p",ya,y(e.message),1),m("div",wa,[m("button",{class:"confirm-dialog-btn confirm-dialog-btn-cancel",type:"button",onClick:t[0]||(t[0]=o=>n.$emit("cancel"))},y(e.cancelLabel||"Cancel"),1),m("button",{class:te(["confirm-dialog-btn confirm-dialog-btn-confirm",{"is-danger":e.danger}]),type:"button",onClick:t[1]||(t[1]=o=>n.$emit("confirm"))},y(e.confirmLabel||"Confirm"),3)])],8,va)])):M("",!0)]))}}),Ca=ne(ba,[["__scopeId","data-v-860b1449"]]),$a={key:0,class:"diff-viewer-sidebar"},xa={class:"diff-viewer-sidebar-header"},_a={class:"diff-viewer-sidebar-title"},Ta={class:"diff-viewer-sidebar-count"},Ia={class:"diff-viewer-sidebar-list"},La=["data-active","onClick"],Ma=["data-operation"],Sa={class:"diff-viewer-file-label"},Aa={key:0,class:"diff-viewer-file-delta"},Fa={class:"diff-viewer-main"},Ba={class:"diff-viewer-toolbar"},Ea={class:"diff-viewer-title-wrap"},Pa={class:"diff-viewer-title"},Ra={class:"diff-viewer-subtitle"},Oa={key:0},Da={class:"diff-viewer-toolbar-actions"},Ha=["aria-label"],Na={key:0,class:"diff-viewer-empty"},ja={class:"diff-viewer-empty-title"},qa={class:"diff-viewer-empty-text"},Ua={key:1,class:"diff-viewer-panel"},Wa={class:"diff-viewer-meta"},Va={class:"diff-viewer-language"},za={class:"diff-viewer-lines"},Ka=["data-kind"],Ga={class:"diff-viewer-line-number"},Za={class:"diff-viewer-line-number"},Ja={class:"diff-viewer-line-marker"},Ya=["innerHTML"],Xa={class:"diff-viewer-mobile-sheet-header"},Qa={class:"diff-viewer-sidebar-title"},ei={class:"diff-viewer-sidebar-count"},ti={class:"diff-viewer-mobile-sheet-list"},ni=["data-active","onClick"],si=["data-operation"],oi={class:"diff-viewer-file-label"},ai={key:0,class:"diff-viewer-file-delta"},ii=oe({__name:"DiffViewer",props:{change:{},changes:{},lines:{},isMobile:{type:Boolean},isFileListOpen:{type:Boolean},cwd:{}},emits:["close","select-change","toggle-file-list","close-file-list"],setup(e){const n=e,{t}=me();function o(l){return l.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">").replace(/"/gu,""").replace(/'/gu,"'")}const s=F(()=>l=>Xt(l,t)),a=F(()=>l=>ls(l,t)),i=F(()=>l=>Ke(l,n.cwd));return(l,f)=>(r(),se(Yn,{to:"body"},[e.change?(r(),u("div",{key:0,class:"diff-viewer-backdrop",onClick:f[5]||(f[5]=h=>l.$emit("close"))},[m("div",{class:"diff-viewer-shell",onClick:f[4]||(f[4]=Ve(()=>{},["stop"]))},[e.isMobile?M("",!0):(r(),u("aside",$a,[m("div",xa,[m("p",_a,y(d(t)("Changed files")),1),m("p",Ta,y(a.value(e.changes.length)),1)]),m("div",Ia,[(r(!0),u(q,null,K(e.changes,h=>(r(),u("button",{key:`diff-viewer:${d(ue)(h)}`,type:"button",class:"diff-viewer-file-button","data-active":d(ue)(h)===d(ue)(e.change),onClick:k=>l.$emit("select-change",h)},[m("span",{class:"file-change-badge","data-operation":d(Vt)(h)},y(s.value(h)),9,Ma),m("span",Sa,[xe(y(i.value(h.path))+" ",1),h.movedToPath?(r(),u(q,{key:0},[xe(" → "+y(i.value(h.movedToPath)),1)],64)):M("",!0)]),d(Re)(h)?(r(),u("span",Aa,y(d(Re)(h)),1)):M("",!0)],8,La))),128))])])),m("section",Fa,[m("div",Ba,[m("div",Ea,[m("p",Pa,[xe(y(i.value(e.change.path))+" ",1),e.change.movedToPath?(r(),u(q,{key:0},[xe(" → "+y(i.value(e.change.movedToPath)),1)],64)):M("",!0)]),m("p",Ra,[xe(y(s.value(e.change))+" ",1),d(Re)(e.change)?(r(),u("span",Oa," · "+y(d(Re)(e.change)),1)):M("",!0)])]),m("div",Da,[e.isMobile?(r(),u("button",{key:0,type:"button",class:"diff-viewer-mobile-files-button",onClick:f[0]||(f[0]=h=>l.$emit("toggle-file-list"))},y(a.value(e.changes.length)),1)):M("",!0),m("button",{class:"image-modal-close diff-viewer-close",type:"button","aria-label":d(t)("Close diff viewer"),onClick:f[1]||(f[1]=h=>l.$emit("close"))},[ee(Xn,{class:"icon-svg"})],8,Ha)])]),d(la)(e.change)?(r(),u("div",Ua,[m("div",Wa,[m("span",Va,y(d(sa)(e.change)||"diff"),1)]),m("div",za,[(r(!0),u(q,null,K(e.lines,h=>(r(),u("div",{key:h.key,class:"diff-viewer-line","data-kind":h.kind},[m("span",Ga,y(h.oldLine??""),1),m("span",Za,y(h.newLine??""),1),m("span",Ja,y(d(ca)(h)),1),m("code",{class:"diff-viewer-line-code",innerHTML:o(h.text)||" "},null,8,Ya)],8,Ka))),128))])])):(r(),u("div",Na,[m("p",ja,y(d(t)("No diff available")),1),m("p",qa,y(d(t)("This summary was restored from the final answer text, but the thread history does not include patch diff content for this file.")),1)]))]),ee($o,{name:"diff-viewer-sheet"},{default:qe(()=>[e.isMobile&&e.isFileListOpen?(r(),u("div",{key:0,class:"diff-viewer-mobile-sheet-backdrop",onClick:f[3]||(f[3]=h=>l.$emit("close-file-list"))},[m("div",{class:"diff-viewer-mobile-sheet",onClick:f[2]||(f[2]=Ve(()=>{},["stop"]))},[f[6]||(f[6]=m("div",{class:"diff-viewer-mobile-sheet-handle","aria-hidden":"true"},null,-1)),m("div",Xa,[m("p",Qa,y(d(t)("Changed files")),1),m("p",ei,y(a.value(e.changes.length)),1)]),m("div",ti,[(r(!0),u(q,null,K(e.changes,h=>(r(),u("button",{key:`diff-viewer-sheet:${d(ue)(h)}`,type:"button",class:"diff-viewer-file-button","data-active":d(ue)(h)===d(ue)(e.change),onClick:k=>l.$emit("select-change",h)},[m("span",{class:"file-change-badge","data-operation":d(Vt)(h)},y(s.value(h)),9,si),m("span",oi,[xe(y(i.value(h.path))+" ",1),h.movedToPath?(r(),u(q,{key:0},[xe(" → "+y(i.value(h.movedToPath)),1)],64)):M("",!0)]),d(Re)(h)?(r(),u("span",ai,y(d(Re)(h)),1)):M("",!0)],8,ni))),128))])])])):M("",!0)]),_:1})])])):M("",!0)]))}}),ri=ne(ii,[["__scopeId","data-v-a9ed279d"]]),li={},ci={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function ui(e,n){return r(),u("svg",ci,[...n[0]||(n[0]=[m("path",{fill:"none",stroke:"currentColor","stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M9 14L4 9l5-5m-5 5h11a4 4 0 0 1 0 8H4"},null,-1)])])}const zt=ne(li,[["render",ui]]),di={class:"file-change-summary-label"},fi={class:"file-change-summary-status"},hi=["data-tone"],mi={class:"file-change-panel-inner"},gi={class:"file-change-list"},pi=["data-operation","title"],vi={class:"file-change-path-group"},ki=["title","onClick"],yi={key:0,class:"file-change-arrow"},wi=["title","onClick"],bi={key:0,class:"file-change-delta"},Ci=["data-tone"],$i=["title","aria-label","onClick"],xi={key:0,class:"file-change-actions"},_i={key:0,class:"file-change-action-error"},Ti=["disabled","title","aria-label"],Ii=oe({__name:"FileChangeSummaryBlock",props:{summary:{},expanded:{type:Boolean},inline:{type:Boolean},cwd:{},actionable:{type:Boolean},actionStatus:{},actionErrorText:{},nextAction:{},actionLabel:{}},emits:["toggle","open-diff","request-action","request-file-action"],setup(e){const n=e,{t}=me(),o=F(()=>l=>Xt(l,t)),s=F(()=>l=>ea(l,t)),a=F(()=>l=>Ke(l,n.cwd)),i=F(()=>l=>`${t("Undo")} ${Ke(l.path,n.cwd)}`);return(l,f)=>e.summary?(r(),u("section",{key:0,class:te(["file-change-summary-block",{"file-change-summary-block-inline":e.inline}])},[m("button",{type:"button",class:te(["file-change-summary-row",{"file-change-summary-row-expanded":e.expanded}]),onClick:f[0]||(f[0]=h=>l.$emit("toggle"))},[m("span",{class:te(["file-change-chevron",{"file-change-chevron-open":e.expanded}])},"▶",2),m("span",di,y(s.value(e.summary)),1),m("span",fi,[(r(!0),u(q,null,K(d(ta)(e.summary),h=>(r(),u("span",{key:`summary-status:${e.summary.turnId}:${h.tone}:${h.label}`,class:"file-change-signed-count","data-tone":h.tone},y(h.label),9,hi))),128))])],2),m("div",{class:te(["file-change-panel",{"file-change-panel-visible":e.expanded}])},[m("div",mi,[m("ul",gi,[(r(!0),u(q,null,K(e.summary.changes,h=>(r(),u("li",{key:`file-change:${e.summary.turnId}:${h.path}:${h.movedToPath||""}`,class:"file-change-item"},[m("span",{class:"file-change-badge","data-operation":d(Vt)(h),title:o.value(h)},y(d(Yo)(h)),9,pi),m("span",vi,[m("button",{type:"button",class:"file-change-path-button",title:h.path,onClick:k=>l.$emit("open-diff",h)},y(a.value(h.path)),9,ki),h.movedToPath?(r(),u("span",yi,"→")):M("",!0),h.movedToPath?(r(),u("button",{key:1,type:"button",class:"file-change-path-button",title:h.movedToPath,onClick:k=>l.$emit("open-diff",h)},y(a.value(h.movedToPath)),9,wi)):M("",!0)]),h.addedLineCount>0||h.removedLineCount>0?(r(),u("span",bi,[(r(!0),u(q,null,K(d(Xo)(h),k=>(r(),u("span",{key:`change-delta:${e.summary.turnId}:${h.path}:${k.tone}:${k.label}`,class:"file-change-signed-count","data-tone":k.tone},y(k.label),9,Ci))),128))])):M("",!0),e.actionable?(r(),u("button",{key:1,type:"button",class:"file-change-file-undo-button",title:i.value(h),"aria-label":i.value(h),onClick:k=>l.$emit("request-file-action",h)},[ee(zt,{class:"icon-svg file-change-action-icon"})],8,$i)):M("",!0)]))),128))]),e.actionable?(r(),u("div",xi,[e.actionErrorText?(r(),u("p",_i,y(e.actionErrorText),1)):M("",!0),m("button",{type:"button",class:"file-change-action-button",disabled:e.actionStatus==="undoing"||e.actionStatus==="redoing",title:e.nextAction==="redo"?"Redo file changes from this turn":"Undo file changes from this turn","aria-label":e.nextAction==="redo"?"Redo file changes from this turn":"Undo file changes from this turn",onClick:f[1]||(f[1]=h=>l.$emit("request-action",e.nextAction))},[ee(zt,{class:te(["icon-svg file-change-action-icon",{"file-change-action-icon-redo":e.nextAction==="redo"}])},null,8,["class"]),xe(" "+y(e.actionLabel),1)],8,Ti)])):M("",!0)])],2)],2)):M("",!0)}}),On=ne(Ii,[["__scopeId","data-v-32872c73"]]),Li=oe({__name:"FileLinkContextMenu",props:{visible:{type:Boolean},x:{},y:{},browseUrl:{},editUrl:{}},emits:["close"],setup(e,{emit:n}){const t=e,o=n,s=W(null),a=F(()=>({left:`${String(t.x)}px`,top:`${String(t.y)}px`}));function i(){o("close")}function l(){const $=t.browseUrl;i(),!(!$||$==="#")&&window.open($,"_blank","noopener,noreferrer")}function f(){const $=t.editUrl;i(),!(!$||$==="#")&&window.open($,"_blank","noopener,noreferrer")}async function h(){const $=t.browseUrl;if(i(),!(!$||$==="#"))try{await kt($)}catch{}}function k($){if(!t.visible)return;const E=s.value;if(!E){i();return}const T=$.target;T instanceof Node&&E.contains(T)||i()}function v(){i()}function S($){$.key==="Escape"&&i()}return _e(()=>t.visible,$=>{$?(window.addEventListener("pointerdown",k,!0),window.addEventListener("blur",v),window.addEventListener("keydown",S,!0)):(window.removeEventListener("pointerdown",k,!0),window.removeEventListener("blur",v),window.removeEventListener("keydown",S,!0))}),$t(()=>{window.removeEventListener("pointerdown",k,!0),window.removeEventListener("blur",v),window.removeEventListener("keydown",S,!0)}),($,E)=>e.visible?(r(),u("div",{key:0,ref_key:"menuRef",ref:s,class:"file-link-context-menu",style:nt(a.value),onClick:E[0]||(E[0]=Ve(()=>{},["stop"]))},[m("button",{type:"button",class:"file-link-context-menu-item",onClick:l}," Open link "),m("button",{type:"button",class:"file-link-context-menu-item",onClick:h}," Copy link "),e.editUrl?(r(),u("button",{key:0,type:"button",class:"file-link-context-menu-item",onClick:f}," Edit file ")):M("",!0)],4)):M("",!0)}}),Mi=ne(Li,[["__scopeId","data-v-fa2f389c"]]),Si=12e3,Ai=240;function Fi(e,{streaming:n,truncateStreaming:t=!0,maxChars:o=Si,maxLines:s=Ai}){if(!t)return e;let a=e,i=!1;if(o>0&&a.length>o&&(a=a.slice(-o),i=!0),s>0){const l=a.split(/\r?\n/);l.length>s&&(a=l.slice(-s).join(`
|
|
25
|
-
`),i=!0)}return i?`...
|
|
26
|
-
${a}`:a}const Bi={class:"conversation-item conversation-item-overlay"},Ei={class:"message-row"},Pi={class:"message-stack"},Ri={class:"live-overlay-inline","aria-live":"polite"},Oi={class:"live-overlay-title-row"},Di={key:0,class:"live-overlay-spinner","aria-hidden":"true"},Hi=["aria-expanded"],Ni={class:"live-overlay-label"},ji={class:"live-overlay-toggle","aria-hidden":"true"},qi={key:2,class:"live-overlay-label"},Ui={key:0,class:"live-overlay-reasoning"},Wi={key:1,class:"live-overlay-error"},Vi=["href"],zi=oe({__name:"LiveOverlayItem",props:{overlay:{},feedbackMailto:{}},setup(e){const n=e,{buildFeedbackMailto:t,recordVisibleFailure:o}=Qn(),{t:s}=me(),a=W(!0);function i(){a.value=!a.value}const l=F(()=>{var h;return Fi(((h=n.overlay)==null?void 0:h.reasoningText)??"",{streaming:!0})});function f(h,k){o(k);const v=h.currentTarget;v instanceof HTMLAnchorElement&&(v.href=t())}return(h,k)=>{var v,S,$,E,T,O;return r(),u("li",Bi,[m("div",Ei,[m("div",Pi,[m("article",Ri,[m("div",Oi,[(v=e.overlay)!=null&&v.errorText?M("",!0):(r(),u("span",Di)),(S=e.overlay)!=null&&S.reasoningText?(r(),u("button",{key:1,type:"button",class:"live-overlay-heading","aria-expanded":a.value,onClick:i},[m("span",Ni,y(($=e.overlay)==null?void 0:$.activityLabel),1),m("span",ji,y(a.value?"▾":"▸"),1)],8,Hi)):(r(),u("p",qi,y((E=e.overlay)==null?void 0:E.activityLabel),1))]),(T=e.overlay)!=null&&T.reasoningText&&a.value?(r(),u("p",Ui,y(l.value),1)):M("",!0),(O=e.overlay)!=null&&O.errorText?(r(),u("div",Wi,[m("span",null,y(e.overlay.errorText),1),m("a",{class:"live-overlay-feedback",href:e.feedbackMailto,onClick:k[0]||(k[0]=L=>f(L,e.overlay.errorText))},y(d(s)("Send feedback")),9,Vi)])):M("",!0)])])])])}}}),Ki=ne(zi,[["__scopeId","data-v-edcf19dd"]]),Gi=["title"],Zi={class:"model-switch-label"},Ji=oe({__name:"ModelSwitchDivider",props:{from:{},to:{}},setup(e){return(n,t)=>(r(),u("div",{class:"model-switch-divider",title:e.to?`切换模型:${e.from??""} → ${e.to}`:void 0},[t[0]||(t[0]=m("span",{class:"model-switch-track","aria-hidden":"true"},null,-1)),m("span",Zi,y(e.from?`${e.from} → `:"")+y(e.to),1),t[1]||(t[1]=m("span",{class:"model-switch-track","aria-hidden":"true"},null,-1))],8,Gi))}}),Dn=ne(Ji,[["__scopeId","data-v-1fba0d09"]]),Yi={key:0},Xi={key:1,class:"message-bold-text"},Qi={key:2,class:"message-italic-text"},er={key:3,class:"message-strikethrough-text"},tr=["href","title"],nr=["href","title"],sr={key:6,class:"message-inline-code"},or=oe({__name:"MessageInlineContent",props:{segments:{},toBrowseUrl:{type:Function}},setup(e){return(n,t)=>(r(!0),u(q,null,K(e.segments,(o,s)=>(r(),u(q,{key:s},[o.kind==="text"?(r(),u("span",Yi,y(o.value),1)):o.kind==="bold"?(r(),u("strong",Xi,y(o.value),1)):o.kind==="italic"?(r(),u("em",Qi,y(o.value),1)):o.kind==="strikethrough"?(r(),u("s",er,y(o.value),1)):o.kind==="file"?(r(),u("a",{key:4,class:"message-file-link",href:e.toBrowseUrl(o.path),target:"_blank",rel:"noopener noreferrer",title:o.path},y(o.displayPath),9,tr)):o.kind==="url"?(r(),u("a",{key:5,class:"message-file-link",href:o.href,target:"_blank",rel:"noopener noreferrer",title:o.href},y(o.value),9,nr)):(r(),u("code",sr,y(o.value),1))],64))),128))}}),je=ne(or,[["__scopeId","data-v-1cf69093"]]),ar={},ir={xmlns:"http://www.w3.org/2000/svg",width:"1em",height:"1em",viewBox:"0 0 24 24","aria-hidden":"true"};function rr(e,n){return r(),u("svg",ir,[...n[0]||(n[0]=[m("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 lr=ne(ar,[["render",rr]]),cr=["data-role"],ur={key:0,class:"message-timestamp"},dr=["aria-label","title"],fr={key:0,class:"message-rollback-label"},hr=["aria-label","title"],mr={class:"message-fork-label"},gr=["data-copied","aria-label","title"],pr={key:0,class:"message-copy-label"},vr=oe({__name:"MessageToolbar",props:{role:{},showEdit:{type:Boolean,default:!1},showFork:{type:Boolean,default:!1},showCopy:{type:Boolean,default:!1},copied:{type:Boolean,default:!1},timestamp:{default:""}},emits:["edit","fork","copy"],setup(e){const{t:n}=me();return(t,o)=>e.showEdit||e.showFork||e.showCopy||e.timestamp?(r(),u("div",{key:0,class:"message-toolbar","data-role":e.role},[e.timestamp?(r(),u("span",ur,y(e.timestamp),1)):M("",!0),e.showEdit?(r(),u("button",{key:1,type:"button",class:"message-rollback-button","aria-label":d(n)("Rollback this message"),title:d(n)("Rollback this message"),onClick:o[0]||(o[0]=s=>t.$emit("edit"))},[ee(zt,{class:"icon-svg message-rollback-icon"}),e.role!=="user"?(r(),u("span",fr,y(d(n)("Rollback")),1)):M("",!0)],8,dr)):M("",!0),e.showFork?(r(),u("button",{key:2,type:"button",class:"message-fork-button","aria-label":d(n)("Fork thread from this response"),title:d(n)("Fork thread from this response"),onClick:o[1]||(o[1]=s=>t.$emit("fork"))},[ee(xo,{class:"icon-svg message-fork-icon"}),m("span",mr,y(d(n)("Fork")),1)],8,hr)):M("",!0),e.showCopy?(r(),u("button",{key:3,type:"button",class:"message-copy-button","data-copied":e.copied,"aria-label":e.copied?d(n)("Response copied"):d(n)("Copy response"),title:e.copied?d(n)("Response copied"):d(n)("Copy response"),onClick:o[2]||(o[2]=s=>t.$emit("copy"))},[ee(lr,{class:"icon-svg message-copy-icon"}),e.role!=="user"?(r(),u("span",pr,y(e.copied?"Copied":"Copy"),1)):M("",!0)],8,gr)):M("",!0)],8,cr)):M("",!0)}}),kr=ne(vr,[["__scopeId","data-v-ae54aab9"]]),yr="codex-web-local.process-fold.v1",Hn="codex:web-local:process-fold";function jt(){return typeof localStorage>"u"?"auto":localStorage.getItem(yr)==="expanded"?"expanded":"auto"}function wr(e){const n=t=>e(t.detail);return window.addEventListener(Hn,n),()=>window.removeEventListener(Hn,n)}const br=["aria-expanded"],Cr={class:"process-fold-label"},$r={class:"process-fold-toggle","aria-hidden":"true"},xr={key:0,class:"process-fold-body"},_r=oe({__name:"ProcessFold",props:{label:{},running:{type:Boolean},hasOutsideContent:{type:Boolean}},setup(e){const n=e,t=W(jt()==="expanded"||!n.hasOutsideContent),o=W(!1);let s=!1;const a=wr(()=>{o.value=!1,jt()==="expanded"?t.value=!0:!n.running&&n.hasOutsideContent&&(t.value=!1)});_e(()=>n.running,l=>{const f=s;s=l,l?(f||(o.value=!1),o.value||(t.value=!0)):f&&!o.value&&n.hasOutsideContent&&jt()!=="expanded"&&(t.value=!1)},{immediate:!0}),$t(()=>a());function i(){o.value=!0,t.value=!t.value}return(l,f)=>(r(),u("div",{class:te(["process-fold",{"process-fold--open":t.value,"process-fold--running":e.running}])},[m("button",{type:"button",class:"process-fold-header","aria-expanded":t.value,onClick:i},[m("span",Cr,y(e.label),1),m("span",$r,y(t.value?"▾":"▸"),1)],8,br),t.value?(r(),u("div",xr,[Ee(l.$slots,"default",{},void 0)])):M("",!0)],2))}}),Tr=ne(_r,[["__scopeId","data-v-d29a5266"]]),Ir=["aria-label"],Lr=["data-turn","aria-label","onClick"],Mr={class:"question-jump-preview-text"},Sr=2,Ar=oe({__name:"QuestionJumpBar",props:{anchors:{},activeTurn:{}},emits:["jump"],setup(e,{emit:n}){const t=()=>getComputedStyle(document.documentElement).getPropertyValue("--live").trim()||"#b26a12",o=e,s=n,{t:a}=me(),i=W(null),l=W(-1),f=W("0px"),h=F(()=>{const O=l.value;return O<0?null:o.anchors[O]??null});function k(O){var R;const L=o.activeTurn===((R=o.anchors[O])==null?void 0:R.turn),b=t(),A={};if(l.value<0)return A.width=L?"18px":"12px",A.background=L?b:void 0,A;const _=Math.abs(O-l.value);return A.width=_===0?"32px":_===1?"20px":_===2?"14px":L?"18px":"12px",A.background=_===0?b:_===1?b+"99":_===2?b+"59":L?b:void 0,A.transitionDelay=`${_*20}ms`,A}function v(O){const L=i.value;if(!L)return-1;const b=Array.from(L.querySelectorAll(".question-jump-item"));let A=-1,_=Number.POSITIVE_INFINITY;for(let R=0;R<b.length;R+=1){const D=b[R].getBoundingClientRect(),w=D.top+D.height/2,G=Math.abs(O-w);G<_&&(_=G,A=R)}return A}function S(O){var w;const L=v(O.clientY);if(L<0)return;l.value=L;const b=i.value;if(!b)return;const _=(w=Array.from(b.querySelectorAll(".question-jump-item"))[L])==null?void 0:w.getBoundingClientRect(),R=b.getBoundingClientRect();if(!_)return;const D=_.top+_.height/2;f.value=`${D-R.top}px`}function $(){l.value=-1}function E(O){const L=v(O.clientY),b=L>=0?o.anchors[L]:null;b&&s("jump",b.turn)}function T(O){s("jump",O.turn)}return(O,L)=>e.anchors.length>=Sr?(r(),u("nav",{key:0,class:"question-jump-bar","aria-label":d(a)("Question navigation")},[m("div",{ref_key:"trackRef",ref:i,class:"question-jump-track",onMousemove:S,onMouseleave:$,onMousedown:E},[(r(!0),u(q,null,K(e.anchors,(b,A)=>(r(),u("button",{key:b.turn,type:"button",class:"question-jump-item","data-turn":b.turn,"aria-label":d(a)("Jump to question {n}",{n:b.turn+1}),onMousedown:L[0]||(L[0]=Ve(()=>{},["prevent"])),onClick:_=>T(b)},[m("span",{class:"question-jump-dot",style:nt(k(A))},null,4)],40,Lr))),128))],544),h.value?(r(),u("div",{key:0,class:"question-jump-preview",role:"tooltip",style:nt({top:f.value})},[m("span",Mr,y(h.value.text),1)],4)):M("",!0)],8,Ir)):M("",!0)}}),Fr=ne(Ar,[["__scopeId","data-v-f2cd9065"]]),Br=["data-state"],Er=["aria-expanded"],Pr={class:"reasoning-block-title"},Rr={class:"reasoning-block-toggle","aria-hidden":"true"},Or={key:0,class:"reasoning-block-body"},Dr={key:0,class:"reasoning-block-summary"},Hr=["innerHTML"],Nr=oe({__name:"ReasoningBlock",props:{message:{},expanded:{type:Boolean},contentHtml:{}},emits:["toggle"],setup(e){const n=e,{t}=me(),o=F(()=>{var a;return(((a=n.message.reasoning)==null?void 0:a.summary)??[]).map(i=>i.trim()).filter(Boolean).join(`
|
|
27
|
-
`).trim()});return(s,a)=>(r(),u("div",{class:"reasoning-block","data-state":e.expanded?"expanded":"collapsed"},[m("button",{type:"button",class:"reasoning-block-header","aria-expanded":e.expanded,onClick:a[0]||(a[0]=i=>s.$emit("toggle"))},[m("span",Pr,y(d(t)("Thinking process")),1),m("span",Rr,y(e.expanded?"▾":"▸"),1)],8,Er),e.expanded?(r(),u("div",Or,[o.value?(r(),u("p",Dr,y(o.value),1)):M("",!0),m("div",{class:"reasoning-block-content message-card",innerHTML:e.contentHtml},null,8,Hr)])):M("",!0)],8,Br))}}),Nn=ne(Nr,[["__scopeId","data-v-e64f7962"]]),jr=new Set(["read_file","ls","grep","glob","web_fetch","read_skill","code_index","connect_tool_source"]),qr=new Set(["write_file","edit_file","multi_edit","move_file","delete_range","delete_symbol","notebook_edit"]),Ur=new Set(["task","run_skill","explore","research","review","security_review"]);function Wr(e){var t;const n=((t=e.toolCall)==null?void 0:t.tool)??"";return jr.has(n)?"readonly":qr.has(n)?"modify":Ur.has(n)?"delegate":null}const Vr=2;function zr(e){var a;const n=[];let t=[],o=null;const s=()=>{if(o!==null&&t.length>=Vr)n.push({type:"batch",kind:o,messages:t});else for(const i of t)n.push({type:"tool",message:i});t=[],o=null};for(const i of e){if(i.messageType!=="toolCall"||((a=i.toolCall)==null?void 0:a.status)==="inProgress"){s(),n.push({type:"tool",message:i});continue}const l=Wr(i);if(l===null){s(),n.push({type:"tool",message:i});continue}o!==null&&o!==l&&s(),o=l,t.push(i)}return s(),n}function Kr(e,n,t){const{t:o}=t;if(e==="readonly"){const s=n.filter(f=>{var h,k;return((h=f.toolCall)==null?void 0:h.tool)==="read_file"||((k=f.toolCall)==null?void 0:k.tool)==="ls"}).length,a=n.filter(f=>{var k;const h=((k=f.toolCall)==null?void 0:k.tool)??"";return h==="grep"||h==="glob"||h==="web_fetch"||h==="code_index"}).length,i=n.length-s-a,l=[];return s>0&&l.push(o("Read {n} files",{n:s})),a>0&&l.push(o("Search {n} files",{n:a})),i>0&&l.push(o("{n} read calls",{n:i})),l.join(" · ")}return e==="modify"?o("Modified {n} files",{n:n.length}):e==="delegate"?o("Delegated {n} tasks",{n:n.length}):o("Explored {n} items",{n:n.length})}const Gr={class:"message-row","data-role":"system"},Zr={class:"message-stack","data-role":"system"},Jr=["title"],Yr={class:"tool-call-name"},Xr={key:0,class:"tool-call-metric"},Qr=oe({__name:"ToolCallRow",props:{message:{}},setup(e){const n=e,{t}=me(),o=F(()=>{const v=n.message.toolCall;return v?v.server?`${v.server} · ${v.tool}`:v.tool:n.message.text||"(tool)"}),s=F(()=>{var S;const v=(S=n.message.toolCall)==null?void 0:S.durationMs;return typeof v!="number"||v<0?"":v<1e3?`${v}ms`:`${(v/1e3).toFixed(1)}s`}),a=F(()=>{var v;switch((v=n.message.toolCall)==null?void 0:v.status){case"inProgress":return{text:"RUN",cls:"is-live"};case"failed":return{text:"FAIL",cls:"is-alert"};case"completed":return{text:"OK",cls:"is-ok"};default:return{text:"",cls:""}}}),i=F(()=>a.value.text),l=F(()=>a.value.cls),f=F(()=>{const v=n.message.toolCall;if(!v)return"";switch(v.status){case"inProgress":return t("Running");case"failed":return t("Failed");default:return t("Done")}}),h=F(()=>{var v;switch((v=n.message.toolCall)==null?void 0:v.status){case"inProgress":return"tool-call-running";case"failed":return"tool-call-error";default:return"tool-call-ok"}}),k=F(()=>{const v=n.message.toolCall;if(!v)return"";const S=[o.value,f.value];return v.error&&S.push(v.error),typeof v.durationMs=="number"&&v.durationMs>=0&&S.push(`${v.durationMs}ms`),S.join(" · ")});return(v,S)=>(r(),u("div",Gr,[m("div",Zr,[m("div",{class:te(["tool-call-block",h.value]),title:k.value},[m("span",{class:te(["tool-call-pip",l.value]),"aria-hidden":"true"},null,2),m("code",Yr,y(o.value),1),s.value?(r(),u("span",Xr,y(s.value),1)):M("",!0),i.value?(r(),u("span",{key:1,class:te(["tool-call-status",l.value])},y(i.value),3)):M("",!0)],10,Jr)])]))}}),Kt=ne(Qr,[["__scopeId","data-v-f0b29923"]]),el=["aria-expanded","title"],tl={class:"tool-batch-toggle","aria-hidden":"true"},nl={class:"tool-batch-label"},sl={class:"tool-batch-count"},ol={key:0,class:"tool-batch-body"},al=oe({__name:"ToolBatchBlock",props:{kind:{},messages:{}},setup(e){const n=e,{t}=me(),o=W(!1),s=F(()=>Kr(n.kind,n.messages,{t})),a=F(()=>n.messages.map(i=>{var l;return((l=i.toolCall)==null?void 0:l.tool)??""}).join(" · "));return(i,l)=>(r(),u("div",{class:te(["tool-batch-block",{"tool-batch-block--open":o.value}])},[m("button",{type:"button",class:"tool-batch-head","aria-expanded":o.value,title:a.value,onClick:l[0]||(l[0]=f=>o.value=!o.value)},[m("span",tl,y(o.value?"▾":"▸"),1),l[1]||(l[1]=m("span",{class:"tool-batch-icon","aria-hidden":"true"},"🛠",-1)),m("span",nl,y(s.value),1),m("span",sl,y(e.messages.length),1)],8,el),o.value?(r(),u("div",ol,[(r(!0),u(q,null,K(e.messages,f=>(r(),se(Kt,{key:f.id,message:f},null,8,["message"]))),128))])):M("",!0)],2))}}),il=ne(al,[["__scopeId","data-v-7b951bea"]]),rl=["data-turn-key"],ll={key:0,class:"conversation-turn-request","aria-label":"User request"},cl={class:"conversation-turn-items"},ul={key:1,class:"conversation-turn-process","aria-label":"Turn process"},dl=["aria-expanded","aria-label"],fl={key:2,class:"conversation-turn-time"},hl={class:"conversation-turn-process-count"},ml={key:1,class:"conversation-turn-process-heading"},gl={key:0,class:"conversation-turn-time"},pl={key:2,class:"conversation-turn-items conversation-turn-process-items"},vl={key:2,class:"conversation-turn-final","aria-label":"Assistant final response"},kl={class:"conversation-turn-items"},yl=oe({__name:"ThreadTurn",props:{turnKey:{},request:{},processItems:{default:()=>[]},finalItem:{},fileChangeAnchorIds:{default:()=>[]},durationMs:{},warm:{},warmItems:{default:()=>[]}},setup(e){const n=e,{t}=me(),o=W(!0),s=F(()=>n.processItems.length+n.fileChangeAnchorIds.length),a=F(()=>!!n.finalItem);return _e(s,(i,l)=>{i>l&&(o.value=!0)}),(i,l)=>e.warm?(r(),u(q,{key:0},[Ee(i.$slots,"warm-card",{warm:e.warm},void 0),(r(!0),u(q,null,K(e.warmItems,f=>Ee(i.$slots,"default",{key:f.message.id,item:f,section:"warm"},void 0)),128))],64)):(r(),u("li",{key:1,class:"conversation-turn","data-turn-key":e.turnKey},[e.request?(r(),u("section",ll,[m("ol",cl,[Ee(i.$slots,"default",{item:e.request,section:"request"},void 0)])])):M("",!0),s.value>0?(r(),u("section",ul,[a.value?(r(),u("button",{key:0,class:"conversation-turn-process-heading conversation-turn-process-toggle",type:"button","aria-expanded":o.value,"aria-label":o.value?d(t)("Collapse turn process"):d(t)("Expand turn process"),onClick:l[0]||(l[0]=f=>o.value=!o.value)},[o.value?(r(),se(_o,{key:0,class:"conversation-turn-process-toggle-icon"})):(r(),se(es,{key:1,class:"conversation-turn-process-toggle-icon"})),m("span",null,y(d(t)("Turn process")),1),e.durationMs!=null&&e.durationMs>0?(r(),u("span",fl,y(d(Ut)(e.durationMs)),1)):M("",!0),m("span",hl,y(d(t)("{n} process items",{n:s.value})),1)],8,dl)):(r(),u("div",ml,[xe(y(d(t)("Turn process"))+" ",1),e.durationMs!=null&&e.durationMs>0?(r(),u("span",gl,y(d(Ut)(e.durationMs)),1)):M("",!0)])),o.value?(r(),u("ol",pl,[(r(!0),u(q,null,K(e.processItems,f=>Ee(i.$slots,"default",{key:f.message.id,item:f,section:"process"},void 0)),128)),(r(!0),u(q,null,K(e.fileChangeAnchorIds,f=>(r(),u("li",{key:`file-change-${f}`,class:"conversation-turn-row conversation-turn-file-change"},[Ee(i.$slots,"file-change",{anchorMessageId:f},void 0)]))),128))])):M("",!0)])):M("",!0),e.finalItem?(r(),u("section",vl,[m("ol",kl,[Ee(i.$slots,"default",{item:e.finalItem,section:"final"},void 0)])])):M("",!0)],8,rl))}}),wl=ne(yl,[["__scopeId","data-v-7e124617"]]),bl=["aria-expanded"],Cl={class:"warm-turn__preview"},$l={key:0,class:"warm-turn__meta"},xl={class:"warm-turn__content"},_l={key:1,class:"warm-turn__assistant"},Tl=oe({__name:"WarmTurnCard",props:{userText:{},assistantPreview:{},toolCount:{},expanded:{type:Boolean}},emits:["toggle"],setup(e,{emit:n}){const t=n,{t:o}=me();function s(){t("toggle")}return(a,i)=>(r(),u("div",{class:te(["warm-turn",{"warm-turn--expanded":e.expanded}])},[m("button",{type:"button",class:"warm-turn__head","aria-expanded":e.expanded,onClick:s},[ee(es,{class:te(["warm-turn__chevron",{"warm-turn__chevron--open":e.expanded}])},null,8,["class"]),m("span",Cl,y(e.userText),1),e.toolCount>0?(r(),u("span",$l,y(d(o)("{n} tools",{n:e.toolCount})),1)):M("",!0)],8,bl),m("div",xl,[e.expanded?Ee(a.$slots,"default",{},void 0,!0,0):e.assistantPreview?(r(),u("div",_l,y(e.assistantPreview),1)):M("",!0)])],2))}}),Il=ne(Tl,[["__scopeId","data-v-cda74ec1"]]),Ll=["aria-expanded","aria-label","title"],Ml={class:"work-block-command"},Sl={key:0,class:"work-block-metric"},Al={class:"work-block-output-inner"},Fl=["textContent"],Bl=["textContent"],El={key:0,class:"work-block-output-spill",role:"note"},Pl=["disabled"],Rl={key:1},Ol={key:0,class:"work-block-permission-hint",role:"note"},Dl=oe({__name:"WorkBlockItem",props:{command:{},stepIndex:{},expanded:{type:Boolean},compact:{type:Boolean},outputCondensed:{type:Boolean}},emits:["toggle"],setup(e){const n=e,{t}=me(),o=F(()=>{var w;return(w=n.command.commandExecution)==null?void 0:w.outputSpill}),s=F(()=>{var w;return((w=o.value)==null?void 0:w.ref)??""}),a=W("idle"),i=W(null),l=F(()=>{const w=o.value;return!!(w&&i.value&&i.value.ref===w.ref)}),f=F(()=>{const w=n.command.commandExecution,G=w==null?void 0:w.outputSpill,U=i.value;return G&&U&&U.ref===G.ref?U.text:(w==null?void 0:w.aggregatedOutput)||"(no output)"});function h(w){return w<1024?`${w} B`:w<1024*1024?`${(w/1024).toFixed(1)} KB`:`${(w/(1024*1024)).toFixed(1)} MB`}const k=F(()=>{const w=o.value;return!w||w.omittedBytes<=0?"":t("Output trimmed: {omitted} omitted of {total}.",{omitted:h(w.omittedBytes),total:h(w.totalBytes)})});async function v(){const w=o.value;if(!(!(w!=null&&w.ref)||a.value==="loading")){a.value="loading";try{i.value={ref:w.ref,text:await To(w.ref)},a.value="idle"}catch{a.value="error"}}}const S=F(()=>{var G,U;const w=(G=n.command.commandExecution)==null?void 0:G.status;return w==="inProgress"?"cmd-status-running":w==="completed"&&((U=n.command.commandExecution)==null?void 0:U.exitCode)===0?"cmd-status-ok":"cmd-status-error"}),$=F(()=>{const w=n.command.commandExecution;if(!w)return"";switch(w.status){case"inProgress":return t("Running");case"completed":return w.exitCode===0?t("Done"):`${t("Exit")} ${w.exitCode??"?"}`;case"failed":return t("Failed");case"declined":return t("Declined");case"interrupted":return t("Stopped");default:return""}}),E=F(()=>{var w;return((w=n.command.commandExecution)==null?void 0:w.command)||"(command)"}),T=F(()=>{const w=n.command.commandExecution;return w?w.outputSpill&&w.outputSpill.totalBytes>0?w.outputSpill.totalBytes:w.aggregatedOutput?new TextEncoder().encode(w.aggregatedOutput).length:0:0}),O=F(()=>T.value>0?h(T.value):""),L=F(()=>{const w=n.command.commandExecution;if(!w)return{text:"",cls:""};switch(w.status){case"inProgress":return{text:"RUN",cls:"is-live"};case"completed":return w.exitCode===0?{text:"OK",cls:"is-ok"}:{text:`EXIT ${w.exitCode??"?"}`,cls:"is-alert"};case"failed":return{text:"FAIL",cls:"is-alert"};case"declined":return{text:"SKIP",cls:"is-alert"};case"interrupted":return{text:"STOP",cls:"is-alert"};default:return{text:"",cls:""}}}),b=F(()=>L.value.text),A=F(()=>L.value.cls),_=F(()=>[E.value,$.value,O.value].filter(Boolean).join(" · ")),R=[/access to the path .* is denied/iu,/access is denied/iu,/permission denied/iu,/not permitted/iu,/EACCES|EPERM/iu,/denied access|deny access/iu,/拒绝访问/iu,/没有权限/iu,/权限不足/iu,/要求提权|需要提权|require_escalated/iu],D=F(()=>{const w=n.command.commandExecution;if(!w||!(w.status==="failed"||w.status==="declined"||typeof w.exitCode=="number"&&w.exitCode!==0))return"";const U=w.aggregatedOutput??"";return!U||!R.some(le=>le.test(U))?"":t("Command blocked by a permission or sandbox restriction; no approval prompt was shown. Check the approval policy or trusted directories if you expected one.")});return(w,G)=>{var U;return r(),u("div",{class:te(["work-block",[S.value,{"work-block-expanded":e.expanded,"work-block-compact":e.compact}]])},[m("button",{type:"button",class:"work-block-header","aria-expanded":e.expanded,"aria-label":_.value,title:_.value,onClick:G[0]||(G[0]=le=>w.$emit("toggle"))},[m("span",{class:te(["work-block-pip",A.value]),"aria-hidden":"true"},null,2),m("code",Ml,y(E.value),1),O.value?(r(),u("span",Sl,y(O.value),1)):M("",!0),b.value?(r(),u("span",{key:1,class:te(["work-block-status",A.value])},y(b.value),3)):M("",!0)],8,Ll),m("div",{class:te(["work-block-output-wrap",{"work-block-output-visible":e.expanded}])},[m("div",Al,[m("pre",{class:"work-block-output-command",textContent:y(((U=e.command.commandExecution)==null?void 0:U.command)||"(command)")},null,8,Fl),m("pre",{class:te(["work-block-output",{"cmd-output-condensed":e.outputCondensed}]),textContent:y(f.value)},null,10,Bl),k.value?(r(),u("p",El,[m("span",null,y(k.value),1),s.value&&!l.value?(r(),u("button",{key:0,type:"button",class:"work-block-output-spill-action",disabled:a.value==="loading",onClick:v},y(a.value==="loading"?d(t)("Loading full output…"):d(t)("Show full output")),9,Pl)):a.value==="error"?(r(),u("span",Rl,y(d(t)("Could not load the full output.")),1)):M("",!0)])):M("",!0)])],2),D.value?(r(),u("p",Ol,y(D.value),1)):M("",!0)],2)}}}),jn=ne(Dl,[["__scopeId","data-v-daded7af"]]),Hl=2;function qn(e){const n=e.messageType;return n==="commandExecution"||n==="toolCall"}function Nl(e){var t,o;return(((t=e.commandExecution)==null?void 0:t.status)??"")==="inProgress"||(((o=e.toolCall)==null?void 0:o.status)??"")==="inProgress"?!0:(e.messageType??"").endsWith(".live")}function jl(e,n){return e.messages.every(t=>n(t))}function ql(e){const n=[];let t=[],o="";const s=()=>{t.length>0&&(n.push(t),t=[])};for(const l of e){const f=l.turnId??"",h=qn(l)&&f!=="";(!h||f!==o)&&(t.length>0&&s(),o=h?f:""),h&&t.push(l)}s();const a=new Map;for(const l of e)l.messageType==="worked"&&l.turnId&&typeof l.durationMs=="number"&&a.set(l.turnId,l.durationMs);const i=[];for(const l of n){if(l.length<Hl)continue;const f=l[0].turnId??"";let h=0,k=0,v=0,S=!1;for(const E of l)E.messageType==="toolCall"?h+=1:E.messageType==="reasoning"?k+=1:E.messageType==="commandExecution"&&(v+=1),Nl(E)&&(S=!0);const $=e.some(E=>E.turnId===f&&!qn(E));i.push({turnId:f,messages:l,running:S,toolCount:h,thoughtCount:k,commandCount:v,durationMs:a.get(f)??0,hasOutsideContent:$})}return i}function Ul(e,n){const{t,formatDuration:o}=n,s=[];return e.running?s.push(t("Working…")):e.durationMs>0?s.push(o(e.durationMs)):s.push(t("Processed")),e.toolCount>0&&s.push(t("{n} tools",{n:e.toolCount})),e.thoughtCount>0&&s.push(t("{n} thoughts",{n:e.thoughtCount})),e.commandCount>0&&s.push(t("{n} commands",{n:e.commandCount})),s.join(" · ")}function Wl(e){return e.text.length>0||Array.isArray(e.images)&&e.images.length>0||Array.isArray(e.fileAttachments)&&e.fileAttachments.length>0||Array.isArray(e.skills)&&e.skills.length>0||Array.isArray(e.imageAttachmentIds)&&e.imageAttachmentIds.length>0||Array.isArray(e.audioSources)&&e.audioSources.length>0||Array.isArray(e.mentions)&&e.mentions.length>0}function Vl(e){return!Wl(e)}function zl(e){const n={};for(const t of e)t.messageType==="worked"&&t.turnId&&typeof t.durationMs=="number"&&(n[t.turnId]=(n[t.turnId]??0)+t.durationMs);return n}function Kl(e){const n=e.trim();if(!n)return"";if(n.startsWith("data:")||n.startsWith("blob:")||n.startsWith("http://")||n.startsWith("https://")||n.startsWith("/codex-local-image?"))return n;if(n.startsWith("file://"))return`/codex-local-image?path=${encodeURIComponent(n)}`;const t=n.startsWith("/"),o=/^[A-Za-z]:[\\/]/u.test(n);return t||o?`/codex-local-image?path=${encodeURIComponent(n)}`:n}function We(e,n={}){const t=[],o=/codex:\/\/threads\/[A-Za-z0-9-]+|https?:\/\/[^\s<>"'`,。;:!?、()[\]{}「」『』《》]+|file:\/\/[^\n<>"'`,。;:!?、[\]{}「」『』《》]+|["'](?:[A-Za-z]:[\\/]|~\/|\.{1,2}\/|\/)[^\n"']+["']|`(?:[A-Za-z]:[\\/]|~\/|\.{1,2}\/|\/)[^`\n]+`/gu;let s=0;for(const a of e.matchAll(o)){if(typeof a.index!="number")continue;const i=a.index,l=i+a[0].length;let f=a[0],h="";for(;/[.,;:!?,。;:!?、]$/u.test(f);)h=f.slice(-1)+h,f=f.slice(0,-1);const k=ss(e,i,l,s,f),v=(k==null?void 0:k.segmentStart)??i,S=(k==null?void 0:k.segmentEnd)??l;v>s&&t.push({kind:"text",value:e.slice(s,v)}),k!=null&&k.tokenEndTrim&&(f=f.slice(0,-k.tokenEndTrim));const $=wt(f);f=$.core;const E=$.leading,T=$.trailing+h;E&&t.push({kind:"text",value:E});const O=bt(f);if(O)t.push({kind:"url",value:O,href:O}),T&&t.push({kind:"text",value:T});else if(f.startsWith("**")&&f.endsWith("**")&&f.length>4)t.push({kind:"bold",value:f.slice(2,-2)}),T&&t.push({kind:"text",value:T});else if(/^https?:\/\//u.test(f))t.push({kind:"url",value:f,href:f}),T&&t.push({kind:"text",value:T});else{const L=st(f);L?(t.push({kind:"file",value:f,path:L.path,displayPath:f,downloadName:yt(L.path)}),T&&t.push({kind:"text",value:T})):t.push({kind:"text",value:a[0]})}s=S}return s<e.length&&t.push({kind:"text",value:e.slice(s)}),n.applyMarkdownMarkers===!1?t:cs(t)}function qt(e,n){const t=[];let o=!1,s="";const a=i=>{i&&t.push({kind:"text",value:i})};for(const i of e){if(i.kind!=="text"){o&&(a(`${n.marker}${s}`),o=!1,s=""),t.push(i);continue}let l=i.value;for(;l.length>0;){const f=l.indexOf(n.marker);if(f<0){o?s+=l:a(l);break}const h=l.slice(0,f);if(o?s+=h:a(h),l=l.slice(f+n.marker.length),o){const k=s;k.length>0&&(!n.isValidContent||n.isValidContent(k))?t.push({kind:n.kind,value:k}):a(`${n.marker}${k}${n.marker}`),s="",o=!1}else o=!0}}return o&&a(`${n.marker}${s}`),t}function cs(e){const n=o=>o.trim().length>0&&!/^\s/u.test(o)&&!/\s$/u.test(o);let t=qt(e,{marker:"**",kind:"bold",isValidContent:n});return t=qt(t,{marker:"~~",kind:"strikethrough",isValidContent:n}),t=qt(t,{marker:"*",kind:"italic",isValidContent:n}),t}function Gl(e,n={}){const t=[];let o=0,s=0;const a=(i,l)=>{let f=i.indexOf("[",l);for(;f>=0;){const h=i.indexOf("]",f+1);if(h<0)return null;if(i[h+1]!=="("){f=i.indexOf("[",f+1);continue}let k=1,v=h+2,S=!1;for(;v<i.length;){const $=i[v];if($===`
|
|
28
|
-
`){S=!0;break}if($==="("&&(k+=1),$===")"&&(k-=1,k===0)){const E=i.slice(f,v+1);if(Wt(E))return{start:f,end:v+1,token:E};break}v+=1}if(S){f=i.indexOf("[",f+1);continue}f=i.indexOf("[",f+1)}return null};for(;s<e.length;){const i=a(e,s);if(!i)break;const{start:l,end:f,token:h}=i,k=ss(e,l,f,o,h),v=(k==null?void 0:k.segmentStart)??l,S=(k==null?void 0:k.segmentEnd)??f;v>o&&t.push(...We(e.slice(o,v),n));const $=Wt(h);if(!$){t.push(...We(e.slice(v,S),n)),o=S,s=S;continue}const E=$.label,T=$.target,O=bt(T);if(O)t.push({kind:"url",value:E||O,href:O});else if(/^https?:\/\//u.test(T))t.push({kind:"url",value:E||T,href:T});else{const L=st(T);L?t.push({kind:"file",value:T,path:L.path,displayPath:E||T,downloadName:yt(L.path)}):t.push({kind:"text",value:h})}o=S,s=S}return o<e.length&&t.push(...We(e.slice(o),n)),t}function Zl(e){const n=e.includes("`"),t=Gl(e,{applyMarkdownMarkers:!n});if(!n)return t;if(!t.some(s=>s.kind==="text"&&s.value.includes("`")))return cs(t);const o=s=>{if(!s.includes("`"))return We(s);const a=[];let i=0,l=0;for(;i<s.length;){if(s[i]!=="`"){i+=1;continue}let f=1;for(;i+f<s.length&&s[i+f]==="`";)f+=1;const h="`".repeat(f);let k=i+f,v=-1;for(;k<s.length;){const $=s.indexOf(h,k);if($<0)break;const E=$>0&&s[$-1]==="`",T=$+f<s.length&&s[$+f]==="`",O=s.slice(i+f,$).includes(`
|
|
29
|
-
`);if(!E&&!T&&!O){v=$;break}k=$+1}if(v<0){i+=f;continue}i>l&&a.push(...We(s.slice(l,i)));const S=s.slice(i+f,v);if(S.length>0){const $=Wt(S);if($){const E=bt($.target);if(E)a.push({kind:"url",value:$.label||E,href:E});else if(/^https?:\/\//u.test($.target))a.push({kind:"url",value:$.label||$.target,href:$.target});else{const T=st($.target);T?a.push({kind:"file",value:$.target,path:T.path,displayPath:$.label||$.target,downloadName:yt(T.path)}):a.push({kind:"code",value:S})}}else{const E=bt(S);if(E)a.push({kind:"url",value:E,href:E});else if(/^https?:\/\/[^\s]+$/u.test(S))a.push({kind:"url",value:S,href:S});else{const T=st(S);if(T){const O=T.line?`${T.path}:${String(T.line)}`:T.path;a.push({kind:"file",value:S,path:T.path,displayPath:O,downloadName:yt(T.path)})}else a.push({kind:"code",value:S})}}}else a.push({kind:"text",value:`${h}${h}`});i=v+f,l=i}return l<s.length&&a.push(...We(s.slice(l))),a};return t.flatMap(s=>s.kind==="text"?o(s.value):[s])}function us(e){return e.replace(/\r\n/gu,`
|
|
30
|
-
`)}function Te(e){var t;return(((t=e.match(/^\s*/u))==null?void 0:t[0])??"").replace(/\t/gu," ").length}function ds(e,n){if(n<=0)return e.trimStart();let t=0,o=0;for(;t<e.length&&o<n;){const s=e[t];o+=s===" "?4:1,t+=1}return e.slice(t)}function Ie(e){return e.trim().length===0}function Gt(e){const n=e.match(/^\s{0,3}(#{1,6})\s+(.+)$/u);return n?{level:n[1].length,value:n[2].trim()}:null}function pt(e){const n=e.match(/^\s{0,3}>\s?(.*)$/u);return n?n[1]??"":null}function ot(e){var t;const n=e.match(/^\s*[-*+]\s+(.+)$/u);return((t=n==null?void 0:n[1])==null?void 0:t.trim())??null}function Jl(e){var t;const n=e.match(/^(\s*)[-*+]\s+(.+)$/u);return n?{indent:Te(n[1]??""),text:((t=n[2])==null?void 0:t.trim())??""}:null}function at(e){var t;const n=e.match(/^\s*[-*+]\s+\[([ xX])\]\s+(.+)$/u);return n?{checked:(n[1]??" ").toLowerCase()==="x",text:((t=n[2])==null?void 0:t.trim())??""}:null}function Un(e){var t;const n=e.match(/^(\s*)[-*+]\s+\[([ xX])\]\s+(.+)$/u);return n?{indent:Te(n[1]??""),item:{checked:(n[2]??" ").toLowerCase()==="x",text:((t=n[3])==null?void 0:t.trim())??""}}:null}function fs(e){var t;const n=e.match(/^(\s*)(\d+)[.)]\s+(.+)$/u);return n?{indent:Te(n[1]??""),start:Number.parseInt(n[2]??"1",10)||1,text:((t=n[3])==null?void 0:t.trim())??""}:null}function Zt(e){var n;return((n=fs(e))==null?void 0:n.text)??null}function Wn(e){return fs(e)}function Jt(e){const n=e.trim();if(!n.includes("|"))return null;let t=n;t.startsWith("|")&&(t=t.slice(1)),t.endsWith("|")&&(t=t.slice(0,-1));const o=[];let s="",a=0;for(let i=0;i<t.length;i+=1){const l=t[i];if(l==="\\"&&t[i+1]==="|"){s+="|",i+=1;continue}if(l==="`"){let f=1;for(;t[i+f]==="`";)f+=1;s+=t.slice(i,i+f),a===0?a=f:a===f&&(a=0),i+=f-1;continue}if(l==="|"&&a===0){o.push(s.trim()),s="";continue}s+=l}return o.push(s.trim()),o.some(i=>i.length>0)?o:null}function Yl(e){const n=Jt(e);if(!n||n.length===0)return null;const t=n.map(o=>{const s=o.replace(/\s+/gu,"");if(!/^:?-{3,}:?$/u.test(s))return null;const a=s.startsWith(":"),i=s.endsWith(":");return a&&i?"center":i?"right":a?"left":null});return t.every((o,s)=>o!==null||/^-+$/u.test(n[s].replace(/\s+/gu,"")))?t:null}function Vn(e,n){return e.length===n?e:e.length>n?e.slice(0,n):[...e,...Array.from({length:n-e.length},()=>"")]}function zn(e,n){var k;if(n+1>=e.length)return null;const t=e[n],o=e[n+1],s=Jt(t),a=Yl(o);if(!s||!a||s.length!==a.length)return null;const i=t.trim();if(!i.startsWith("|")&&(((k=i.match(/\|/gu))==null?void 0:k.length)??0)<2)return null;const l=s.length,f=[];let h=n+2;for(;h<e.length&&!Ie(e[h]);){const v=Jt(e[h]);if(!v)break;f.push(Vn(v,l)),h+=1}return{kind:"table",headers:Vn(s,l),rows:f,alignments:a}}function Xl(e){return Ie(e)||Ct(e)!==null||Yt(e)||Gt(e)!==null||pt(e)!==null||at(e)!==null||ot(e)!==null||Zt(e)!==null}function Ql(e,n,t=-1){const o=[];let s=n;for(;s<e.length&&!(Xl(e[s])||t>=0&&Te(e[s])<=t);)o.push(t>=0?ds(e[s],t+1):e[s]),s+=1;const a=o.join(`
|
|
31
|
-
`).trim();return a?{value:a,nextIndex:s}:null}function hs(e,n){for(let t=n;t<e.length;t+=1)if(!Ie(e[t]))return t;return-1}function ec(e,n,t,o=null,s=!1){const a=[];let i=n;for(;i<e.length;){const l=e[i];if(Ie(l)){const v=hs(e,i+1);if(v===-1){a.push(""),i=e.length;break}const S=o==null?void 0:o(e[v]);if(S&&S.indent===t||Te(e[v])<=t)break;a.push(""),i+=1;continue}const f=o==null?void 0:o(l);if(f&&f.indent===t)break;const h=Te(l),k=s&&(at(l)!==null||ot(l)!==null);if(h<=t&&!k)break;a.push(h>t?ds(l,t+1):l.trimStart()),i+=1}for(;a.length>0&&Ie(a[0]);)a.shift();for(;a.length>0&&Ie(a[a.length-1]);)a.pop();return a.length===0?null:{blocks:vt(a.join(`
|
|
32
|
-
`)),nextIndex:i}}function Kn(e,n,t,o=!1){const s=[];let a=n;const i=t(e[n]);if(!i)return null;const l=i.indent;for(;a<e.length;){const f=t(e[a]);if(f===null||f.indent!==l)break;const h=[f.text],k=[];for(a+=1;a<e.length;){if(Ie(e[a])){const T=hs(e,a+1);if(T===-1){a=e.length;break}const O=t(e[T]);if(O&&O.indent===l){a=T;break}if(Te(e[T])<=l){a=T;break}a+=1;continue}const v=t(e[a]);if(v&&v.indent===l)break;const S=Te(e[a])>l,$=o&&(at(e[a])!==null||ot(e[a])!==null);if(S||$){const T=ec(e,a,l,t,o);if(T){k.push(...T.blocks),a=T.nextIndex;continue}}if(Te(e[a])<=l)break;const E=Ql(e,a,l);if(!E)break;h.push(E.value),a=E.nextIndex}s.push(k.length>0?{paragraphs:h,children:k}:{paragraphs:h})}return s.length>0?{items:s,nextIndex:a}:null}function Yt(e){return/^\s{0,3}(?:-{3,}|\*{3,}|_{3,})\s*$/u.test(e.trim())}function Ct(e){const n=e.match(/^\s{0,3}(```+|~~~+)\s*([^\s`~][^`]*)?\s*$/u);return n?{marker:n[1],language:(n[2]??"").trim()}:null}function vt(e){var a;const t=us(e).split(`
|
|
33
|
-
`),o=[];let s=0;for(;s<t.length;){if(Ie(t[s])){s+=1;continue}const i=Ct(t[s]);if(i){s+=1;const T=[];for(;s<t.length;){if(t[s].trim()===i.marker){s+=1;break}T.push(t[s]),s+=1}o.push({kind:"codeBlock",language:i.language,value:T.join(`
|
|
34
|
-
`)});continue}if(Yt(t[s])){o.push({kind:"thematicBreak"}),s+=1;continue}const l=Gt(t[s]);if(l){o.push({kind:"heading",level:l.level,value:l.value}),s+=1;continue}if(pt(t[s])!==null){const T=[];for(;s<t.length;){const O=pt(t[s]);if(O===null)break;T.push(O),s+=1}o.push({kind:"blockquote",value:T.join(`
|
|
35
|
-
`).trim()});continue}const h=zn(t,s);if(h){o.push(h),s+=2+h.rows.length;continue}if(at(t[s])!==null){const T=[],O=((a=Un(t[s]))==null?void 0:a.indent)??0;for(;s<t.length;){const L=Un(t[s]);if(L===null||L.indent!==O)break;T.push(L.item),s+=1}if(T.length>0){o.push({kind:"taskList",items:T});continue}}const v=ot(t[s]);if(v!==null){const T=Kn(t,s,Jl);if(T){o.push({kind:"unorderedList",items:T.items}),s=T.nextIndex;continue}if(v.length>0){o.push({kind:"unorderedList",items:[{paragraphs:[v]}]}),s+=1;continue}}const S=Zt(t[s]);if(S!==null){const T=Wn(t[s]),O=Kn(t,s,Wn,!0);if(O){o.push({kind:"orderedList",items:O.items,start:(T==null?void 0:T.start)??1}),s=O.nextIndex;continue}if(S.length>0){o.push({kind:"orderedList",items:[{paragraphs:[S]}],start:(T==null?void 0:T.start)??1}),s+=1;continue}}const $=[];for(;s<t.length&&!(Ie(t[s])||Ct(t[s])||Yt(t[s])||Gt(t[s])||zn(t,s)||pt(t[s])!==null||at(t[s])!==null||ot(t[s])!==null||Zt(t[s])!==null);)$.push(t[s]),s+=1;const E=$.join(`
|
|
36
|
-
`).trim();E&&o.push({kind:"paragraph",value:E})}return o}function tc(e){if(!e.includes(")return vt(e);const n=[],t=/!\[([^\]]*)\]\(([^)\n]+)\)/gu;let o=0;for(const s of e.matchAll(t)){const[a,i,l]=s;if(typeof s.index!="number")continue;const f=s.index,h=f+a.length,k=Kl(l.trim());k&&(f>o&&n.push(...vt(e.slice(o,f))),n.push({kind:"image",url:k,alt:i.trim(),markdown:a}),o=h)}return o<e.length&&n.push(...vt(e.slice(o))),n}function Gn(e){const t=us(e).split(`
|
|
37
|
-
`),o=[];let s=0,a=0;const i=l=>{if(l<=a)return;const f=t.slice(a,l).join(`
|
|
38
|
-
`);o.push(...tc(f))};for(;s<t.length;){const l=Ct(t[s]);if(!l){s+=1;continue}i(s),s+=1;const f=[];for(;s<t.length;){if(t[s].trim()===l.marker){s+=1;break}f.push(t[s]),s+=1}o.push({kind:"codeBlock",language:l.language,value:f.join(`
|
|
39
|
-
`)}),a=s}return i(t.length),o.length>0?o:[{kind:"paragraph",value:e}]}const nc=300,sc=1200,oc=300,ac=250;function ic(e){const{getCwd:n,isVideoMediaUrl:t}=e,o=W(null),s=W(0);let a=null;const i=new Map,l=new Map,f=new Map,h=new Map;function k(I,B,N,Q){for(I.has(B)&&I.delete(B),I.set(B,N);I.size>Q;){const ae=I.keys().next().value;if(ae===void 0)break;I.delete(ae)}return N}function v(){return o.value?Promise.resolve():(a||(a=Io(()=>import("./common-DEPjExR-.js"),[]).then(I=>{o.value=I.default,h.clear(),f.clear(),s.value+=1}).finally(()=>{a=null})),a)}function S(){return!!o.value}function $(I){const B=l.get(I);return B?(l.delete(I),l.set(I,B),B):k(l,I,Zl(I),sc)}function E(I){const B=I.trim();if(!B)return"#";const N=z=>z.startsWith("/")||/^[A-Za-z]:[\\/]/u.test(z),Q=st(B),ae=(Q==null?void 0:Q.path)??B,H=ns(ae,n());if(N(H)){const z=H.startsWith("/")?H:`/${H}`;return`/codex-local-browse${encodeURI(z)}`}return"#"}function T(I){const B=I.trim();if(!B)return"";try{const N=new URL(B,window.location.href);return N.pathname.startsWith("/codex-local-browse")?`${`/codex-local-edit${N.pathname.slice(19)}`}${N.search}${N.hash}`:""}catch{return""}}function O(I){const B=i.get(I.id);if(B&&B.text===I.text&&B.cwd===n())return i.delete(I.id),i.set(I.id,B),B.blocks;const N=Gn(I.text);return k(i,I.id,{text:I.text,cwd:n(),blocks:N},nc).blocks}function L(I){return I.replace(/&/gu,"&").replace(/</gu,"<").replace(/>/gu,">").replace(/"/gu,""").replace(/'/gu,"'")}function b(I){var N;const B=((N=I.trim().split(/\s+/u)[0])==null?void 0:N.toLowerCase())??"";return B?is[B]??B:""}function A(I,B){const N=b(I);if(!N)return L(B);const Q=o.value;if(!Q)return L(B);try{if(Q.getLanguage(N))return Q.highlight(B,{language:N,ignoreIllegals:!0}).value}catch{}return L(B)}function _(I,B){return Ht(R(I,B))}function R(I,B){const N=`${s.value}\0${b(I)}\0${I}\0${B}`,Q=h.get(N);return Q!==void 0?(h.delete(N),h.set(N,Q),Q):k(h,N,A(I,B),ac)}function D(I){return $(I).map(B=>B.kind==="text"?L(B.value):B.kind==="bold"?`<strong class="message-bold-text">${L(B.value)}</strong>`:B.kind==="italic"?`<em class="message-italic-text">${L(B.value)}</em>`:B.kind==="strikethrough"?`<s class="message-strikethrough-text">${L(B.value)}</s>`:B.kind==="file"?`<a class="message-file-link" href="${L(E(B.path))}" target="_blank" rel="noopener noreferrer" title="${L(B.path)}">${L(B.displayPath)}</a>`:B.kind==="url"?`<a class="message-file-link" href="${L(B.href)}" target="_blank" rel="noopener noreferrer" title="${L(B.href)}">${L(B.value)}</a>`:`<code class="message-inline-code">${L(B.value)}</code>`).join("")}function w(I){return I.paragraphs.map(B=>`<div class="message-list-item-text message-list-item-paragraph">${D(B)}</div>`).join("")}function G(I){var Q;const B=w(I),N=((Q=I.children)==null?void 0:Q.map(ae=>le(ae)).join(""))??"";return Ht(B+N)}function U(I){return I?` style="text-align:${I}"`:""}function le(I){if(I.kind==="paragraph")return`<p class="message-text">${D(I.value)}</p>`;if(I.kind==="heading"){const B=Math.min(6,Math.max(1,Math.trunc(I.level))),N=os(B),Q=`message-heading ${as(B)}`;return`<${N} class="${Q}">${D(I.value)}</${N}>`}if(I.kind==="blockquote")return`<blockquote class="message-blockquote">${D(I.value)}</blockquote>`;if(I.kind==="unorderedList")return`<ul class="message-list message-list-unordered">${I.items.map(N=>`<li class="message-list-item"><div class="message-list-item-content">${G(N)}</div></li>`).join("")}</ul>`;if(I.kind==="taskList")return`<ul class="message-list message-task-list">${I.items.map(N=>`<li class="message-task-item"><span class="message-task-checkbox" data-checked="${N.checked?"true":"false"}">${N.checked?"☑":"☐"}</span><div class="message-list-item-text">${D(N.text)}</div></li>`).join("")}</ul>`;if(I.kind==="orderedList"){const B=I.items.map(N=>`<li class="message-list-item"><div class="message-list-item-content">${G(N)}</div></li>`).join("");return`<ol class="message-list message-list-ordered" start="${I.start}">${B}</ol>`}if(I.kind==="table"){const B=I.headers.map((ae,H)=>`<th class="message-table-head-cell"${U(I.alignments[H]??null)}>${D(ae)}</th>`).join(""),N=I.rows.map(ae=>'<tr class="message-table-body-row">'+ae.map((H,z)=>`<td class="message-table-cell"${U(I.alignments[z]??null)}>${D(H)}</td>`).join("")+"</tr>").join(""),Q=N?`<tbody>${N}</tbody>`:"";return`<div class="message-table-wrap"><table class="message-table"><thead><tr>${B}</tr></thead>${Q}</table></div>`}return I.kind==="codeBlock"?`<div class="message-code-block"><div class="message-code-bar">${I.language?`<span class="message-code-language">${L(I.language)}</span>`:""}<span class="message-code-copy" role="button" tabindex="0" data-code-copy>Copy</span></div><pre class="message-code-pre"><code class="hljs">${_(I.language,I.value)}</code></pre></div>`:I.kind==="thematicBreak"?'<hr class="message-divider">':t(I.url)?`<video class="message-image-preview message-video-preview message-markdown-image" src="${L(I.url)}" controls preload="metadata"></video>`:`<img class="message-image-preview message-markdown-image" src="${L(I.url)}" alt="${L(I.alt||"Embedded message image")}" loading="lazy">`}function Oe(I){const B=`${n()}\0${s.value}\0${I}`,N=f.get(B);if(N&&N.text===I&&N.cwd===n()&&N.highlightVersion===s.value)return f.delete(B),f.set(B,N),N.html;const Q=Gn(I).map(H=>le(H)).join(""),ae=Ht(Q);return k(f,B,{text:I,cwd:n(),highlightVersion:s.value,html:ae},oc).html}function Ge(){i.clear(),l.clear(),f.clear(),h.clear()}return{highlightCacheVersion:s,hasHighlightLoaded:S,ensureHighlightJsLoaded:v,getInlineSegments:$,toBrowseUrl:E,toEditUrlFromBrowseHref:T,getMessageBlocks:O,renderListItemContentAsHtml:G,renderCachedHighlightedCodeAsHtml:_,renderMarkdownBlocksAsHtml:Oe,clearRenderCaches:Ge}}const rc=["data-thread-id"],lc={key:0,class:"conversation-switching-bar",role:"status"},cc={key:1,class:"conversation-loading"},uc={key:2,class:"conversation-loading conversation-loading-slow",role:"status"},dc={key:3,class:"conversation-empty"},fc={key:0,class:"conversation-load-more"},hc=["disabled"],mc={key:1,class:"conversation-load-more conversation-warm-collapse"},gc=["disabled"],pc=["id"],vc={class:"message-row","data-role":"system"},kc={class:"message-stack","data-role":"system"},yc={class:"message-row","data-role":"system","data-message-type":"fileChange"},wc={class:"message-stack","data-role":"system"},bc={key:0,class:"conversation-item conversation-item-fold","data-role":"system","data-message-type":"processFold"},Cc={class:"message-row","data-role":"system"},$c={class:"message-stack","data-role":"system"},xc={key:0,class:"work-block-list"},_c=["id","data-role","data-message-type"],Tc={key:0,class:"message-row thread-compaction-row","data-role":"system"},Ic={class:"thread-compaction-inline thread-compaction-inline--pending",role:"status"},Lc={key:1,class:"message-row thread-compaction-row","data-role":"system"},Mc={class:"thread-compaction-inline thread-compaction-inline--done",role:"status"},Sc={key:2,class:"message-row","data-role":"system"},Ac={class:"message-stack","data-role":"system"},Fc={class:"work-block-list"},Bc=["data-role","data-message-type"],Ec=["data-role"],Pc=["data-role"],Rc={key:5,class:"message-row","data-role":"system","data-message-type":"plan"},Oc={class:"message-stack","data-role":"system"},Dc={class:"thread-plan-record"},Hc={class:"thread-plan-record-header"},Nc={key:0,class:"thread-plan-record-explanation"},jc={key:1,class:"thread-plan-record-steps"},qc=["data-status"],Uc={class:"thread-plan-record-marker","aria-hidden":"true"},Wc={key:6,class:"message-row thread-agent-note-row","data-role":"system","data-message-type":"agentNote"},Vc={class:"message-stack","data-role":"system"},zc={class:"thread-agent-note"},Kc={class:"thread-agent-note-header"},Gc=["innerHTML"],Zc=["data-role","data-message-type"],Jc=["data-role"],Yc=["data-role"],Xc=["data-role"],Qc=["onClick"],eu=["src"],tu=["src","alt"],nu={key:1,class:"message-file-attachments"},su=["href","title"],ou={key:2,class:"message-file-attachments"},au=["title"],iu={class:"message-file-chip-name"},ru={key:3,class:"message-skill-attachments"},lu=["href","title"],cu={class:"message-skill-chip-prefix"},uu={class:"message-skill-chip-name"},du={key:4,class:"message-audio-attachments"},fu=["src"],hu={key:5,class:"message-file-attachments"},mu=["title"],gu={class:"message-file-chip-name"},pu=["data-role"],vu={key:0,class:"automation-message-label"},ku={key:0},yu={key:1,class:"work-summary-wrap","aria-live":"polite"},wu={class:"work-summary-text"},bu={key:0,class:"message-text"},Cu={key:2,class:"message-blockquote"},$u={key:3,class:"message-list message-list-unordered"},xu=["innerHTML"],_u={key:4,class:"message-list message-task-list"},Tu=["data-checked"],Iu={class:"message-list-item-text"},Lu=["start"],Mu=["innerHTML"],Su={key:6,class:"message-table-wrap"},Au={class:"message-table"},Fu={key:0},Bu={key:7,class:"message-code-block"},Eu={class:"message-code-bar"},Pu={key:0,class:"message-code-language"},Ru={class:"message-code-copy",role:"button",tabindex:"0","data-code-copy":""},Ou={class:"message-code-pre"},Du=["innerHTML"],Hu={key:8,class:"message-divider"},Nu={key:9,class:"message-text"},ju=["onClick"],qu=["src"],Uu=["src","alt","onError"],Wu=["href","onClick"],Vu=["title","aria-label"],zu=["aria-label"],Ku=["src"],Gu=["src","alt"],Zu=16,Zn=30,Jn=20,Ju=200,Yu=oe({__name:"ThreadConversation",props:{messages:{},pendingRequests:{},liveOverlay:{},liveTurnId:{},isLoading:{type:Boolean},isSlowOpen:{type:Boolean},activeThreadId:{},cwd:{},hasMorePersistedAbove:{type:Boolean},isLoadingPersistedAbove:{type:Boolean},loadEarlierMessages:{type:Function}},emits:["forkThread","rollback","respondServerRequest","fileChangesChanged"],setup(e,{expose:n,emit:t}){function o(c){return na(c,a.cwd,J)}function s(c){return Ke(c,a.cwd)}const a=e,i=ic({getCwd:()=>a.cwd,isVideoMediaUrl:ht}),{highlightCacheVersion:l,hasHighlightLoaded:f,ensureHighlightJsLoaded:h,getInlineSegments:k,toBrowseUrl:v,toEditUrlFromBrowseHref:S,getMessageBlocks:$,renderListItemContentAsHtml:E,renderCachedHighlightedCodeAsHtml:T,renderMarkdownBlocksAsHtml:O,clearRenderCaches:L}=i,b=ha({getMessages:()=>a.messages,getLiveOverlay:()=>a.liveOverlay,isCommandMessage:Ze}),{hiddenGroupedCommandIds:A,isCommandExpanded:_,isCommandCompact:R,isCommandOutputCondensed:D,toggleCommandExpand:w,getWorkBlockCommands:G,pruneCommandIdSets:U}=b,le=ga({toEditUrlFromBrowseHref:S}),{isFileLinkContextMenuVisible:Oe,fileLinkContextMenuX:Ge,fileLinkContextMenuY:I,fileLinkContextBrowseUrl:B,fileLinkContextEditUrl:N,handleConversationContextMenu:Q,closeFileLinkContextMenu:ae}=le,{isMobile:H}=Lo(),z=da({getMessages:()=>a.messages,getLiveTurnId:()=>a.liveTurnId??"",isFileChangeMessage:Mt,isCopyableAssistantMessage:ln,isReasoningMessage:Tt,isPlanMessage:_t,isFoldMember:$n,getHiddenGroupedCommandIds:()=>A.value,isMobile:()=>H.value}),{anchoredFileChangeSummaryByAnchorId:de,hiddenFileChangeMessageIds:ge,isDiffViewerFileListOpen:ie,diffViewerChanges:re,activeDiffViewerChange:pe,activeDiffViewerLines:V,toggleFileChangeSummary:ve,isFileChangeSummaryExpanded:Le,openDiffViewer:it,closeDiffViewer:Me,toggleDiffViewerFileList:ms,closeDiffViewerFileList:gs,selectDiffViewerChange:ps,readAnchoredFileChangeSummaryById:ke,isFileChangeSummaryExpandedById:vs,toggleFileChangeSummaryById:ks,readStandaloneFileChangeSummary:ye,isFileChangeSummaryVisible:Qt,pruneFileChangeSummaryIds:ys}=z,ws=fa({getMessages:()=>a.messages,isCopyableAssistantMessage:ln,isPlanMessage:_t,planStepCopyMarker:xn,buildFileChangeCopyText:o,getAnchoredFileChangeSummaries:()=>de.value}),{copiedResponseAnchorId:bs,forkableTurnIndexByAnchorId:Cs,showCopyResponseButton:$s,isCopyableUserMessage:xs,copyUserMessage:_s,showForkResponseButton:Ts,copyResponse:Is}=ws,{buildFeedbackMailto:Ls,feedbackMailtoBase:Ms,recordVisibleFailure:Ss}=Qn(),{t:J}=me(),en=Ms();function As(c){if(!c)return"";const g=new Date(c);if(Number.isNaN(g.getTime()))return"";const x=new Date,P=g.getFullYear()===x.getFullYear()&&g.getMonth()===x.getMonth()&&g.getDate()===x.getDate(),Y=g.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",hour12:!1});return P?Y:`${g.toLocaleDateString([],{month:"2-digit",day:"2-digit"})} ${Y}`}const xt=new WeakMap;async function tn(c){var p;const g=c.target,x=g==null?void 0:g.closest("[data-code-copy]");if(!x)return;const P=(p=x.closest(".message-code-block"))==null?void 0:p.querySelector("code");if(!P)return;try{await kt(P.textContent??"")}catch{return}x.textContent=J("Copied"),x.dataset.copied="true";const Y=xt.get(x);Y!==void 0&&window.clearTimeout(Y),xt.set(x,window.setTimeout(()=>{x.textContent=J("Copy"),delete x.dataset.copied,xt.delete(x)},1600))}function Fs(c,g){Ss(g);const x=c.currentTarget;x instanceof HTMLAnchorElement&&(x.href=Ls())}function Ze(c){return c.messageType==="commandExecution"&&!!c.commandExecution}function nn(c){return c.messageType==="compaction.pending"}function sn(c){return c.messageType==="compaction.done"}function _t(c){return c.messageType==="plan"||c.messageType==="plan.live"}function on(c){return c.messageType==="modelSwitch"}function Tt(c){return c.messageType==="reasoning"&&!!c.reasoning}const It=W(new Set);function an(c){return It.value.has(c.id)}function rn(c){const g=new Set(It.value);g.has(c.id)?g.delete(c.id):g.add(c.id),It.value=g}function Lt(c){return c.messageType==="toolCall"&&!!c.toolCall}function Bs(c){return c.messageType==="turnError"}function Mt(c){return c.messageType==="fileChange"&&c.fileChangeStatus==="completed"&&Array.isArray(c.fileChanges)&&c.fileChanges.length>0}function Es(c){return Ze(c)||Lt(c)||Mt(c)||nn(c)||sn(c)||c.messageType==="plan"?!1:Vl(c)}function ln(c){return c.role==="assistant"&&!Ze(c)&&c.messageType!=="worked"&&!(c.messageType??"").endsWith(".live")}const St=t,Se=W(null),cn=W(null),Ps=pa({isVideo:ht}),{modalImageUrl:rt,modalIsVideo:Rs,markdownImageFailureVersion:Os,isMarkdownImageFailed:Ds,onMarkdownImageError:Hs,openImageModal:un,closeImageModal:lt}=Ps,Ns=ma({getActiveThreadId:()=>a.activeThreadId,getCwd:()=>a.cwd,onFileChangesChanged:()=>St("fileChangesChanged",a.activeThreadId),updateThreadFileChanges:Wo,t:J}),{fileChangeActionKey:dn,isFileChangeActionable:fn,fileChangeActionStatus:hn,fileChangeActionErrorText:mn,fileChangeNextAction:gn,fileChangeActionLabel:pn,runFileChangeAction:js,resetFileChangeActions:qs}=Ns,Ce=W(null),Us=F(()=>{const c=Ce.value;return c?c.kind==="edit-message"?J("Rollback this turn?"):c.action==="undo"?J("Undo file changes?"):J("Redo file changes?"):""}),Ws=F(()=>{const c=Ce.value;return c?c.kind==="edit-message"?J("This rolls the thread back to this turn so you can edit the message. Later replies will be removed."):c.filePathLabel?c.action==="undo"?J("Undo the changes to {file}? This modifies the working tree and Codex cannot revert it automatically.",{file:c.filePathLabel}):J("Redo the changes to {file}? This reapplies the edits to the working tree.",{file:c.filePathLabel}):c.action==="undo"?J("Undo the file changes from this turn? This modifies the working tree and Codex cannot revert it automatically."):J("Redo the file changes from this turn? This reapplies the edits to the working tree."):""}),Ae=W(!0);let Pe=0,we=0,ct=0,Je=null;const vn=new WeakSet,Fe=W(Bn(a.activeThreadId)),kn=F(()=>Uo(Fe.value,a.activeThreadId)),Be=W(!1),At=F(()=>a.messages.filter(c=>!_t(c)&&!on(c))),De=F(()=>No(At.value)),Ft=F(()=>jo({turnCount:De.value.length,hotTurns:Zn,pageSize:Jn,coldPage:kn.value.coldPage})),Bt=F(()=>Ft.value.warmStartTurn),He=F(()=>Ft.value.warmEndTurn),yn=F(()=>Ft.value.coldTurnCount),wn=F(()=>yn.value>0),Et=F(()=>kn.value.expandedWarmTurns),Vs=F(()=>{const c=At.value,g=De.value,x=[],P=Et.value,Y=new Map,p=[];for(const j of a.messages){if(!on(j))continue;const X={from:j.modelSwitchFrom,to:j.modelSwitchTo};if(j.modelSwitchInsertAfterId){const fe=Y.get(j.modelSwitchInsertAfterId)??[];fe.push(X),Y.set(j.modelSwitchInsertAfterId,fe)}else p.push(X)}function he(j){const X=[];for(const fe of j){const be=Y.get(fe.message.id);be&&be.length>0&&(X.push(...be),Y.delete(fe.message.id))}return X}for(let j=Bt.value;j<He.value;j+=1){const X=g[j];if(!X)continue;const fe={turn:j,userText:Eo(X.userItem.text),assistantPreview:X.assistantPreview,toolCount:X.toolCount,expanded:P.has(j)},be=P.has(j)?c.slice(X.startIdx,X.endIdx).map(Ne=>({message:Ne})):[],mt=he(c.slice(X.startIdx,Math.min(X.endIdx,c.length)).map(Ne=>({message:Ne})));x.push({key:`warm-${j}`,warm:fe,warmItems:be,processItems:[],fileChangeAnchorIds:[],...mt.length>0?{dividers:mt}:{}})}const $e=En(c,g,He.value),Qe=$e[0];if(!Qe)return x;const et=c.findIndex(j=>j.id===Qe.id),C=et>=0?c.slice(et):$e;for(const j of Po(C,{liveOverlayActive:a.liveOverlay!==null,liveTurnId:a.liveTurnId})){const X=j.items.find(ce=>ce.kind==="user"),fe=j.items.find(ce=>ce.kind==="final-assistant"),be=j.items.filter(ce=>ce!==X&&ce!==fe&&ce.message.messageType!=="worked").map(ce=>({message:ce.message,presentation:ce.kind==="plan"?"plan":ce.kind==="agent-note"?"agent-note":"process"})),mt=j.items.map(ce=>ce.message.id).filter(ce=>!!ke(ce)),Ne=he(j.items);x.push({key:j.key,warmItems:[],request:X?{message:X.message}:void 0,processItems:be,fileChangeAnchorIds:mt,finalItem:fe?{message:fe.message,presentation:"final-assistant"}:void 0,...Ne.length>0?{dividers:Ne}:{}})}const Z=[...p,...Y.values()].flat();return Z.length>0&&(x.length>0?x[0]={...x[0],leadingDividers:[...x[0].leadingDividers??[],...Z]}:x.push({key:"leading-divider",warmItems:[],processItems:[],fileChangeAnchorIds:[],leadingDividers:Z})),x}),zs=F(()=>zl(a.messages));function Ks(c){var x,P;const g=((x=c.request)==null?void 0:x.message.turnId)??((P=c.finalItem)==null?void 0:P.message.turnId);return g?zs.value[g]:void 0}function bn(){Fe.value=Ro(Fe.value,a.activeThreadId)}function Gs(c){Fe.value=Pn(Fe.value,a.activeThreadId,c,!Et.value.has(c))}const Cn=F(()=>De.value.map((c,g)=>({turn:g,text:Oo(c.userItem.text)}))),Zs=F(()=>Math.max(0,Cn.value.length-1)),Js=F(()=>{const c=new Map;return De.value.forEach((g,x)=>{c.set(g.userItem.id,x)}),c});function Pt(c){return`question-anchor-${c}`}function Ys(c){const g=Js.value.get(c.id);if(g!==void 0&&!(g<He.value))return Pt(g)}function Xs(c){if(c<He.value){let g=Fe.value;if(c<Bt.value){const x=Do({turn:c,turnCount:De.value.length,hotTurns:Zn,pageSize:Jn});g=Ho(g,a.activeThreadId,x)}g=Pn(g,a.activeThreadId,c,!0),Fe.value=g}Ae.value=!1,gt().then(()=>{const g=Se.value,x=document.getElementById(Pt(c));if(!g||!x)return;const P=x.getBoundingClientRect(),Y=g.getBoundingClientRect(),p=g.scrollTop+P.top-Y.top-12;g.scrollTo({top:Math.max(0,p),behavior:"smooth"})})}const Qs=F(()=>{const c=At.value,g=De.value,x=[];for(let he=Bt.value;he<He.value;he+=1){if(!Et.value.has(he))continue;const $e=g[he];$e&&x.push(...c.slice($e.startIdx,$e.endIdx))}const P=En(c,g,He.value),Y=P[0];if(!Y)return x;const p=c.findIndex(he=>he.id===Y.id);return x.push(...p>=0?c.slice(p):P),x}),ut=F(()=>ql(Qs.value)),Ye=F(()=>{var g;const c=new Map;for(const x of ut.value){const P=((g=x.messages[0])==null?void 0:g.id)??"";P&&c.set(P,x)}return c}),eo=F(()=>{const c=new Set;for(const g of ut.value)for(const x of g.messages)c.add(x.id);return c}),to=F(()=>{var x;const c=new Set,g=P=>A.value.has(P.id)||ge.value.has(P.id);for(const P of ut.value)jl(P,g)&&c.add(((x=P.messages[0])==null?void 0:x.id)??"");return c}),no=F(()=>{const c=new Set;for(const g of ut.value)c.add(g.turnId);return c});function so(c){return Ye.value.has(c.id)}function $n(c){return eo.value.has(c.id)}function oo(c){var g;return((g=Ye.value.get(c.id))==null?void 0:g.messages)??[]}function ao(c){return zr(oo(c))}function io(c){var g;return c.type==="batch"?`tool-batch-${c.kind}-${((g=c.messages[0])==null?void 0:g.id)??""}`:c.message.id}function ro(c){const g=Ye.value.get(c.id);return g?Ul(g,{t:J,formatDuration:Ut}):""}function lo(c){var g;return((g=Ye.value.get(c.id))==null?void 0:g.running)??!1}function co(c){var g;return((g=Ye.value.get(c.id))==null?void 0:g.hasOutsideContent)??!0}function uo(c){return c.messageType==="worked"}const fo=F(()=>a.hasMorePersistedAbove===!0),ho=F(()=>!Ae.value&&(a.messages.length>0||a.pendingRequests.length>0||!!a.liveOverlay));function xn(c){switch(c){case"completed":return"[x]";case"inProgress":return"[~]";default:return"[ ]"}}function mo(c){const g=Cs.value[c];typeof g=="number"&&a.activeThreadId&&St("forkThread",{threadId:a.activeThreadId,turnIndex:g})}const Rt=F(()=>{const c={};for(const g of a.messages){if(!qo(g)||typeof g.turnIndex!="number")continue;const x=typeof g.turnId=="string"&&g.turnId.length>0?g.turnId:"";!x||g.text.trim().length===0||(c[g.id]=x)}return c});function go(c){return typeof Rt.value[c.id]=="string"}function po(c){Rt.value[c]&&(Ce.value={kind:"edit-message",messageId:c})}function _n(c,g){dn(c)&&(Ce.value={kind:"file-change",summary:c,action:g})}function Tn(c,g){!c||!dn(c)||!g.path||(Ce.value={kind:"file-change",summary:c,action:"undo",filePaths:[g.path],filePathLabel:s(g.path)})}function vo(){const c=Ce.value;if(Ce.value=null,!!c){if(c.kind==="edit-message"){const g=Rt.value[c.messageId];g&&St("rollback",{turnId:g});return}js(c.summary,c.action,c.filePaths)}}function ko(){const c=Se.value,g=cn.value;!c||!g||In(c)||(c.scrollTop=c.scrollHeight,g.scrollIntoView({block:"end"}))}function In(c){return c.scrollHeight-(c.scrollTop+c.clientHeight)<=Zu}function yo(){if(Se.value&&Ae.value){dt();return}}function dt(){Se.value&&ko()}function Ot(){return Ae.value}function Ln(){if(!Ot()){ct=0,we=0;return}if(dt(),ct-=1,ct<=0){we=0;return}we=requestAnimationFrame(Ln)}function ft(c=6){Ot()&&(we&&(cancelAnimationFrame(we),we=0),ct=Math.max(c,1),we=requestAnimationFrame(Ln))}function Mn(){ft(3)}function Sn(){Ae.value=!0,dt(),ft(4)}async function An(){var Y;const c=Se.value;if(!c||!a.hasMorePersistedAbove||Be.value||a.isLoadingPersistedAbove===!0)return;Be.value=!0;const g=a.activeThreadId,x=c.scrollHeight,P=c.scrollTop;try{await((Y=a.loadEarlierMessages)==null?void 0:Y.call(a,g)),await gt(),a.activeThreadId===g&&(c.scrollTop=P+(c.scrollHeight-x))}finally{Be.value=!1}}n({jumpToLatest:Sn});function wo(){if(!Ot())return;const c=Se.value;if(!c)return;const g=c.querySelectorAll("img.message-image-preview");for(const x of g)x.complete||vn.has(x)||(vn.add(x),x.addEventListener("load",Mn,{once:!0}),x.addEventListener("error",Mn,{once:!0}))}async function Xe(){return Je||(Je=gt().then(()=>new Promise(c=>{Pe&&cancelAnimationFrame(Pe),Pe=requestAnimationFrame(()=>{Pe=0,Je=null,yo(),wo(),ft(),c()})})),Je)}_e(()=>a.messages,async c=>{if(a.isLoading)return;const g=new Set(c.filter(x=>x.messageType==="commandExecution"&&x.commandExecution).map(x=>x.id));U(g),ys(),await Xe()}),_e(()=>a.messages.some(c=>c.text.includes("```")),c=>{!c||f()||h()},{immediate:!0}),_e(()=>a.pendingRequests,async()=>{a.isLoading||await Xe()},{deep:!0}),_e(()=>a.liveOverlay,async c=>{c&&Ae.value&&(await gt(),dt(),ft(8))},{deep:!0}),_e(()=>a.isLoading,async()=>{await Xe()}),_e(()=>a.activeThreadId,async()=>{Ae.value=!0,rt.value="",Be.value=!1,qs(),Fe.value=Bn(a.activeThreadId),await Xe()},{flush:"post"}),Mo(()=>{Xe()});function bo(){const c=Se.value;!c||a.isLoading||(Ae.value=In(c),c.scrollTop<Ju&&!Be.value&&(wn.value?bn():a.hasMorePersistedAbove===!0&&An()))}const Dt=/\.(mp4|m4v|webm|mov|mkv|ogv|ogg|mpeg|avi)$/iu;function ht(c){const g=c.trim();if(!g)return!1;if(g.startsWith("data:video/"))return!0;try{const x=new URL(g,window.location.href);return Dt.test(x.pathname)?!0:x.pathname==="/codex-local-image"?Dt.test(x.searchParams.get("path")??""):!1}catch{return Dt.test(g)}}return $t(()=>{L(),Pe&&(cancelAnimationFrame(Pe),Pe=0),we&&(cancelAnimationFrame(we),we=0)}),(c,g)=>(r(),u(q,null,[m("section",{class:"conversation-root","data-thread-id":a.activeThreadId,onContextmenuCapture:g[4]||(g[4]=(...x)=>d(Q)&&d(Q)(...x)),onClick:tn,onKeydown:Bo(tn,["enter"])},[e.isLoading&&e.messages.length>0?(r(),u("div",lc,y(d(J)("Loading messages...")),1)):M("",!0),e.isLoading&&e.messages.length===0?(r(),u("p",cc,y(d(J)("Loading messages...")),1)):M("",!0),e.isSlowOpen?(r(),u("p",uc,y(d(J)("Still loading — the first open of a large history can take a while.")),1)):M("",!0),e.messages.length===0&&e.pendingRequests.length===0&&!e.liveOverlay&&!e.isSlowOpen?(r(),u("p",dc,y(d(J)("No messages in this thread yet. Type a message below to get started.")),1)):M("",!0),m("ul",{ref_key:"conversationListRef",ref:Se,class:"conversation-list",onScroll:bo},[fo.value?(r(),u("li",fc,[m("button",{type:"button",class:"load-more-button",disabled:Be.value||e.isLoadingPersistedAbove,onClick:An},y(Be.value||e.isLoadingPersistedAbove?d(J)("Loading…"):d(J)("Load earlier messages")),9,hc)])):M("",!0),wn.value?(r(),u("li",mc,[m("button",{type:"button",class:"load-more-button",disabled:Be.value,onClick:bn},y(d(J)("Load earlier ({n} turns)",{n:yn.value})),9,gc)])):M("",!0),(r(!0),u(q,null,K(Vs.value,x=>(r(),u(q,{key:x.key},[(r(!0),u(q,null,K(x.leadingDividers??[],P=>(r(),u("li",{key:`${x.key}-leading-${P.to??""}-${P.from??""}`,class:"conversation-item conversation-item-model-switch","data-role":"system","data-message-type":"modelSwitch"},[ee(Dn,{from:P.from,to:P.to},null,8,["from","to"])]))),128)),ee(wl,{"turn-key":x.key,warm:x.warm,"warm-items":x.warmItems,request:x.request,"process-items":x.processItems,"final-item":x.finalItem,"file-change-anchor-ids":x.fileChangeAnchorIds,"duration-ms":Ks(x)},{"warm-card":qe(({warm:P})=>[m("li",{id:Pt(P.turn),class:"conversation-item conversation-item-warm-card","data-role":"system","data-message-type":"warmTurn"},[m("div",vc,[m("div",kc,[ee(Il,{"user-text":P.userText,"assistant-preview":P.assistantPreview,"tool-count":P.toolCount,expanded:P.expanded,onToggle:Y=>Gs(P.turn)},null,8,["user-text","assistant-preview","tool-count","expanded","onToggle"])])])],8,pc)]),"file-change":qe(({anchorMessageId:P})=>[m("div",yc,[m("div",wc,[d(Qt)(d(ke)(P))?(r(),se(On,{key:0,summary:d(ke)(P),expanded:d(vs)(P),cwd:a.cwd,actionable:d(fn)(d(ke)(P)),"action-status":d(hn)(d(ke)(P)),"action-error-text":d(mn)(d(ke)(P)),"next-action":d(gn)(d(ke)(P)),"action-label":d(pn)(d(ke)(P)),onToggle:Y=>d(ks)(P),onOpenDiff:Y=>d(it)(d(ke)(P),Y),onRequestAction:Y=>_n(d(ke)(P),Y),onRequestFileAction:Y=>Tn(d(ke)(P),Y)},null,8,["summary","expanded","cwd","actionable","action-status","action-error-text","next-action","action-label","onToggle","onOpenDiff","onRequestAction","onRequestFileAction"])):M("",!0)])])]),default:qe(({item:P,section:Y})=>[(r(!0),u(q,null,K([P.message],p=>{var he,$e,Qe,et;return r(),u(q,{key:p.id},[so(p)&&!to.value.has(p.id)?(r(),u("li",bc,[m("div",Cc,[m("div",$c,[ee(Tr,{label:ro(p),running:lo(p),"has-outside-content":co(p)},{default:qe(()=>[(r(!0),u(q,null,K(ao(p),C=>(r(),u(q,{key:io(C)},[C.type==="batch"?(r(),se(il,{key:0,kind:C.kind,messages:C.messages},null,8,["kind","messages"])):(r(!0),u(q,{key:1},K([C.message],Z=>(r(),u(q,{key:Z.id},[!d(A).has(Z.id)&&!d(ge).has(Z.id)?(r(),u(q,{key:0},[Ze(Z)?(r(),u("div",xc,[(r(!0),u(q,null,K(d(G)(Z),(j,X)=>(r(),se(jn,{key:`work-cmd-${j.id}`,command:j,"step-index":X,expanded:d(_)(j),compact:d(R)(j),"output-condensed":d(D)(j),onToggle:fe=>d(w)(j)},null,8,["command","step-index","expanded","compact","output-condensed","onToggle"]))),128))])):Lt(Z)?(r(),se(Kt,{key:1,message:Z},null,8,["message"])):Tt(Z)?(r(),se(Nn,{key:2,message:Z,expanded:an(Z),"content-html":d(O)(Z.text),onToggle:j=>rn(Z)},null,8,["message","expanded","content-html","onToggle"])):M("",!0)],64)):M("",!0)],64))),128))],64))),128))]),_:2},1032,["label","running","has-outside-content"])])])])):!$n(p)&&!d(A).has(p.id)&&!d(ge).has(p.id)&&!(uo(p)&&no.value.has(p.turnId??""))&&!Es(p)?(r(),u("li",{key:1,id:Ys(p),class:te(["conversation-item",{"conversation-item-request":Y==="request","conversation-item-process":Y==="process"||P.presentation==="process","conversation-item-final":Y==="final"||P.presentation==="final-assistant","conversation-item-plan":P.presentation==="plan"}]),"data-role":p.role,"data-message-type":p.messageType||""},[nn(p)?(r(),u("div",Tc,[m("div",Ic,[g[6]||(g[6]=m("span",{class:"thread-compaction-spinner","aria-hidden":"true"},null,-1)),m("span",null,y(d(J)("Compacting thread context…")),1)])])):sn(p)?(r(),u("div",Lc,[m("div",Mc,y(d(J)("Context compacted")),1)])):Ze(p)?(r(),u("div",Sc,[m("div",Ac,[m("div",Fc,[(r(!0),u(q,null,K(d(G)(p),(C,Z)=>(r(),se(jn,{key:`work-cmd-${C.id}`,command:C,"step-index":Z,expanded:d(_)(C),compact:d(R)(C),"output-condensed":d(D)(C),onToggle:j=>d(w)(C)},null,8,["command","step-index","expanded","compact","output-condensed","onToggle"]))),128))])])])):Lt(p)?(r(),se(Kt,{key:3,message:p},null,8,["message"])):Mt(p)?(r(),u("div",{key:4,class:"message-row","data-role":p.role,"data-message-type":p.messageType||""},[m("div",{class:"message-stack","data-role":p.role},[m("article",{class:"message-body","data-role":p.role},[d(Qt)(d(ye)(p))?(r(),se(On,{key:0,summary:d(ye)(p),expanded:d(Le)(p),cwd:a.cwd,actionable:d(fn)(d(ye)(p)),"action-status":d(hn)(d(ye)(p)),"action-error-text":d(mn)(d(ye)(p)),"next-action":d(gn)(d(ye)(p)),"action-label":d(pn)(d(ye)(p)),onToggle:C=>d(ve)(p),onOpenDiff:C=>d(it)(d(ye)(p),C),onRequestAction:C=>_n(d(ye)(p),C),onRequestFileAction:C=>Tn(d(ye)(p),C)},null,8,["summary","expanded","cwd","actionable","action-status","action-error-text","next-action","action-label","onToggle","onOpenDiff","onRequestAction","onRequestFileAction"])):M("",!0)],8,Pc)],8,Ec)],8,Bc)):P.presentation==="plan"?(r(),u("div",Rc,[m("div",Oc,[m("article",Dc,[m("div",Hc,y(d(J)("Plan")),1),(he=d(tt)(p))!=null&&he.explanation?(r(),u("p",Nc,y(($e=d(tt)(p))==null?void 0:$e.explanation),1)):M("",!0),(Qe=d(tt)(p))!=null&&Qe.steps.length?(r(),u("ol",jc,[(r(!0),u(q,null,K((et=d(tt)(p))==null?void 0:et.steps,(C,Z)=>(r(),u("li",{key:`${p.id}-plan-${Z}`,"data-status":C.status},[m("span",Uc,y(xn(C.status)),1),m("span",null,y(C.step),1)],8,qc))),128))])):M("",!0)])])])):P.presentation==="agent-note"?(r(),u("div",Wc,[m("div",Vc,[m("article",zc,[m("div",Kc,y(d(J)("Agent note")),1),m("div",{class:"thread-agent-note-body",innerHTML:d(O)(p.text)},null,8,Gc)])])])):(r(),u("div",{key:7,class:te(["message-row",{"message-row-final":P.presentation==="final-assistant"}]),"data-role":p.role,"data-message-type":p.messageType||""},[m("div",{class:"message-stack","data-role":p.role},[m("article",{class:"message-body","data-role":p.role},[p.images&&p.images.length>0?(r(),u("ul",{key:0,class:te(["message-image-list",{"message-generated-image-list":p.messageType==="imageView"}]),"data-role":p.role},[(r(!0),u(q,null,K(p.images,C=>(r(),u("li",{key:C,class:"message-image-item"},[m("button",{class:"message-image-button",type:"button",onClick:Z=>d(un)(C)},[ht(C)?(r(),u("video",{key:0,class:te(["message-image-preview message-video-preview",{"message-generated-image-preview":p.messageType==="imageView"}]),src:C,controls:"",preload:"metadata"},null,10,eu)):(r(),u("img",{key:1,class:te(["message-image-preview",{"message-generated-image-preview":p.messageType==="imageView"}]),src:C,alt:p.messageType==="imageView"?"Generated image":"Message image preview",loading:"lazy"},null,10,tu))],8,Qc)]))),128))],10,Xc)):M("",!0),p.fileAttachments&&p.fileAttachments.length>0?(r(),u("div",nu,[(r(!0),u(q,null,K(p.fileAttachments,C=>(r(),u("span",{key:`${p.id}:${C.path}`,class:"message-file-chip"},[g[7]||(g[7]=m("span",{class:"message-file-chip-icon"},"📄",-1)),m("a",{class:"message-file-link message-file-chip-name",href:d(v)(C.path),target:"_blank",rel:"noopener noreferrer",title:C.path},y(C.label),9,su)]))),128))])):M("",!0),p.imageAttachmentIds&&p.imageAttachmentIds.length>0?(r(),u("div",ou,[(r(!0),u(q,null,K(p.imageAttachmentIds,C=>(r(),u("span",{key:`${p.id}:${C}`,class:"message-file-chip message-image-attachment-chip",title:C},[g[8]||(g[8]=m("span",{class:"message-file-chip-icon"},"🖼",-1)),m("span",iu,y(d(J)("Image attachment (preview unavailable)")),1)],8,au))),128))])):M("",!0),p.skills&&p.skills.length>0?(r(),u("div",ru,[(r(!0),u(q,null,K(p.skills,C=>(r(),u("a",{key:`${p.id}:${C.path}`,class:"message-skill-chip",href:d(v)(C.path),title:C.path},[m("span",cu,y(d(J)("Skill")),1),m("span",uu,y(C.name),1)],8,lu))),128))])):M("",!0),p.audioSources&&p.audioSources.length>0?(r(),u("div",du,[(r(!0),u(q,null,K(p.audioSources,(C,Z)=>(r(),u("audio",{key:`${p.id}:audio:${Z}`,class:"message-audio-player",controls:"",preload:"metadata",src:C},null,8,fu))),128))])):M("",!0),p.mentions&&p.mentions.length>0?(r(),u("div",hu,[(r(!0),u(q,null,K(p.mentions,C=>(r(),u("span",{key:`${p.id}:mention:${C.name}:${C.path}`,class:"message-file-chip message-mention-chip",title:C.path||C.name},[g[9]||(g[9]=m("span",{class:"message-file-chip-icon"},"@",-1)),m("span",gu,y(C.name),1)],8,mu))),128))])):M("",!0),p.text.length>0?(r(),u("article",{key:6,class:"message-card","data-role":p.role},[p.isAutomationRun?(r(),u("div",vu,[g[10]||(g[10]=m("span",null,"Sent via automation",-1)),p.automationDisplayName?(r(),u("code",ku,y(p.automationDisplayName),1)):M("",!0)])):M("",!0),p.messageType==="worked"?(r(),u("div",yu,[m("p",wu,y(p.text),1)])):Tt(p)?(r(),se(Nn,{key:2,message:p,expanded:an(p),"content-html":d(O)(p.text),onToggle:C=>rn(p)},null,8,["message","expanded","content-html","onToggle"])):So([p.id,p.text,a.cwd,d(l),d(Os)],()=>(r(),u("div",{key:3,class:"message-text-flow"},[(r(!0),u(q,null,K(d($)(p),(C,Z)=>(r(),u(q,{key:`block-${Z}`},[C.kind==="paragraph"?(r(),u("p",bu,[ee(je,{segments:d(k)(C.value),"to-browse-url":d(v)},null,8,["segments","to-browse-url"])])):C.kind==="heading"?(r(),se(Ao(d(os)(C.level)),{key:1,class:te(["message-heading",d(as)(C.level)])},{default:qe(()=>[ee(je,{segments:d(k)(C.value),"to-browse-url":d(v)},null,8,["segments","to-browse-url"])]),_:2},1032,["class"])):C.kind==="blockquote"?(r(),u("blockquote",Cu,[ee(je,{segments:d(k)(C.value),"to-browse-url":d(v)},null,8,["segments","to-browse-url"])])):C.kind==="unorderedList"?(r(),u("ul",$u,[(r(!0),u(q,null,K(C.items,(j,X)=>(r(),u("li",{key:`ul-${Z}-${X}`,class:"message-list-item"},[m("div",{class:"message-list-item-content",innerHTML:d(E)(j)},null,8,xu)]))),128))])):C.kind==="taskList"?(r(),u("ul",_u,[(r(!0),u(q,null,K(C.items,(j,X)=>(r(),u("li",{key:`task-${Z}-${X}`,class:"message-task-item"},[m("span",{class:"message-task-checkbox","data-checked":j.checked},y(j.checked?"☑":"☐"),9,Tu),m("div",Iu,[ee(je,{segments:d(k)(j.text),"to-browse-url":d(v)},null,8,["segments","to-browse-url"])])]))),128))])):C.kind==="orderedList"?(r(),u("ol",{key:5,class:"message-list message-list-ordered",start:C.start},[(r(!0),u(q,null,K(C.items,(j,X)=>(r(),u("li",{key:`ol-${Z}-${X}`,class:"message-list-item"},[m("div",{class:"message-list-item-content",innerHTML:d(E)(j)},null,8,Mu)]))),128))],8,Lu)):C.kind==="table"?(r(),u("div",Su,[m("table",Au,[m("thead",null,[m("tr",null,[(r(!0),u(q,null,K(C.headers,(j,X)=>(r(),u("th",{key:`th-${Z}-${X}`,class:"message-table-head-cell",style:nt({textAlign:C.alignments[X]??"left"})},[ee(je,{segments:d(k)(j),"to-browse-url":d(v)},null,8,["segments","to-browse-url"])],4))),128))])]),C.rows.length>0?(r(),u("tbody",Fu,[(r(!0),u(q,null,K(C.rows,(j,X)=>(r(),u("tr",{key:`tr-${Z}-${X}`,class:"message-table-body-row"},[(r(!0),u(q,null,K(j,(fe,be)=>(r(),u("td",{key:`td-${Z}-${X}-${be}`,class:"message-table-cell",style:nt({textAlign:C.alignments[be]??"left"})},[ee(je,{segments:d(k)(fe),"to-browse-url":d(v)},null,8,["segments","to-browse-url"])],4))),128))]))),128))])):M("",!0)])])):C.kind==="codeBlock"?(r(),u("div",Bu,[m("div",Eu,[C.language?(r(),u("span",Pu,y(C.language),1)):M("",!0),m("span",Ru,y(d(J)("Copy")),1)]),m("pre",Ou,[m("code",{class:"hljs",innerHTML:d(T)(C.language,C.value)},null,8,Du)])])):C.kind==="thematicBreak"?(r(),u("hr",Hu)):d(Ds)(p.id,Z)?(r(),u("p",Nu,y(C.markdown),1)):(r(),u("button",{key:10,class:"message-image-button",type:"button",onClick:j=>d(un)(C.url)},[ht(C.url)?(r(),u("video",{key:0,class:"message-image-preview message-video-preview message-markdown-image",src:C.url,controls:"",preload:"metadata"},null,8,qu)):(r(),u("img",{key:1,class:"message-image-preview message-markdown-image",src:C.url,alt:C.alt||"Embedded message image",loading:"lazy",onError:j=>d(Hs)(p.id,Z)},null,40,Uu))],8,ju))],64))),128))])),g,0),Bs(p)?(r(),u("a",{key:4,class:"turn-error-feedback",href:d(en),onClick:C=>Fs(C,p.text)},y(d(J)("Send feedback")),9,Wu)):M("",!0)],8,pu)):M("",!0),Y!=="process"?(r(),se(kr,{key:7,role:p.role,"show-edit":go(p),"show-fork":d(Ts)(p),"show-copy":d($s)(p)||d(xs)(p),copied:d(bs)===p.id,timestamp:As(p.turnStartedAtIso),onEdit:C=>po(p.id),onFork:C=>mo(p.id),onCopy:C=>p.role==="user"?d(_s)(p.id):d(Is)(p.id)},null,8,["role","show-edit","show-fork","show-copy","copied","timestamp","onEdit","onFork","onCopy"])):M("",!0)],8,Yc)],8,Jc)],10,Zc))],10,_c)):M("",!0)],64)}),128))]),_:2},1032,["turn-key","warm","warm-items","request","process-items","final-item","file-change-anchor-ids","duration-ms"]),(r(!0),u(q,null,K(x.dividers??[],P=>(r(),u("li",{key:`${x.key}-divider-${P.to??""}-${P.from??""}`,class:"conversation-item conversation-item-model-switch","data-role":"system","data-message-type":"modelSwitch"},[ee(Dn,{from:P.from,to:P.to},null,8,["from","to"])]))),128))],64))),128)),e.liveOverlay?(r(),se(Ki,{key:2,overlay:e.liveOverlay,"feedback-mailto":d(en)},null,8,["overlay","feedback-mailto"])):M("",!0),m("li",{ref_key:"bottomAnchorRef",ref:cn,class:"conversation-bottom-anchor"},null,512)],544),ee(Fr,{anchors:Cn.value,"active-turn":Zs.value,onJump:Xs},null,8,["anchors","active-turn"]),ho.value?(r(),u("button",{key:4,type:"button",class:"jump-to-latest-button",title:d(J)("Jump to latest"),"aria-label":d(J)("Jump to latest output"),onClick:Sn},[ee(Fo,{class:"icon-svg jump-to-latest-icon"})],8,Vu)):M("",!0),d(rt).length>0?(r(),u("div",{key:5,class:"image-modal-backdrop",onClick:g[3]||(g[3]=(...x)=>d(lt)&&d(lt)(...x))},[m("div",{class:"image-modal-content",onClick:g[2]||(g[2]=Ve(()=>{},["stop"]))},[m("button",{class:"image-modal-close",type:"button","aria-label":d(J)("Close image preview"),onClick:g[1]||(g[1]=(...x)=>d(lt)&&d(lt)(...x))},[ee(Xn,{class:"icon-svg"})],8,zu),d(Rs)?(r(),u("video",{key:0,class:"image-modal-image",src:d(rt),controls:"",autoplay:""},null,8,Ku)):(r(),u("img",{key:1,class:"image-modal-image",src:d(rt),alt:d(J)("Expanded message image")},null,8,Gu))])])):M("",!0),ee(Mi,{visible:d(Oe),x:d(Ge),y:d(I),"browse-url":d(B),"edit-url":d(N),onClose:d(ae)},null,8,["visible","x","y","browse-url","edit-url","onClose"]),ee(ri,{change:d(pe),changes:d(re),lines:d(V),"is-mobile":d(H),"is-file-list-open":d(ie),cwd:a.cwd,onClose:d(Me),onSelectChange:d(ps),onToggleFileList:d(ms),onCloseFileList:d(gs)},null,8,["change","changes","lines","is-mobile","is-file-list-open","cwd","onClose","onSelectChange","onToggleFileList","onCloseFileList"])],40,rc),ee(Ca,{visible:Ce.value!==null,title:Us.value,message:Ws.value,"confirm-label":"Confirm",danger:"",onConfirm:vo,onCancel:g[5]||(g[5]=x=>Ce.value=null)},null,8,["visible","title","message"])],64))}}),ed=ne(Yu,[["__scopeId","data-v-06ebadba"]]);export{ed as default};
|