ompgui 0.5.9 → 0.5.10
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/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +7 -7
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +9 -3
- package/.next/required-server-files.js +2 -2
- package/.next/required-server-files.json +2 -2
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +2 -2
- package/.next/server/app/_global-error.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +2 -2
- package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/app-update/route.js +1 -1
- package/.next/server/app/api/omp-update/route.js +1 -1
- package/.next/server/app/api/omp-version/route.js +1 -1
- package/.next/server/app/api/plugins/route.js +1 -1
- package/.next/server/app/api/sessions/[id]/export/route.js +1 -1
- package/.next/server/app/api/usage/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +3 -3
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +3 -3
- package/.next/server/app/index.segments/_full.segment.rsc +3 -3
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +2 -2
- package/.next/server/app/login.segments/_full.segment.rsc +2 -2
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +7 -7
- package/.next/server/chunks/3798.js +1 -1
- package/.next/server/chunks/8005.js +2 -2
- package/.next/server/chunks/8501.js +1 -1
- package/.next/server/chunks/933.js +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/{2041.4e10fe5e336c8426.js → 2041.17ffd4146285d582.js} +2 -2
- package/.next/static/chunks/4315-003248443d68d4df.js +1 -0
- package/.next/static/chunks/7488.1403755f69bda581.js +1 -0
- package/.next/static/chunks/8486.304d239e5e097b1b.js +1 -0
- package/.next/static/chunks/app/page-c650f2d9ae8d199b.js +59 -0
- package/.next/static/chunks/webpack-c01e953327d82b66.js +1 -0
- package/package.json +1 -1
- package/.next/static/chunks/4315-89ce29b4967be748.js +0 -1
- package/.next/static/chunks/6338.d20f504e8890057e.js +0 -1
- package/.next/static/chunks/app/page-77ea00b588788c0d.js +0 -59
- package/.next/static/chunks/webpack-167605108a414cd7.js +0 -1
- /package/.next/static/{say7tTKCMe35Qg-7bMRZ9 → NYtVaQy909o9b9LqcM3T6}/_buildManifest.js +0 -0
- /package/.next/static/{say7tTKCMe35Qg-7bMRZ9 → NYtVaQy909o9b9LqcM3T6}/_ssgManifest.js +0 -0
|
@@ -14,5 +14,5 @@ ${a}
|
|
|
14
14
|
Reproduce the problem, apply the smallest correct fix, and verify it works before finishing.`},{name:"test",descriptionKey:"chatInput.cmdTest",argumentHintKey:"chatInput.cmdTestArg",requiresArgs:!0,buildPrompt:a=>`Write tests for ${a}. Follow the project's test conventions, cover the important behavior and edge cases, and run the tests to confirm they pass.`},{name:"explain",descriptionKey:"chatInput.cmdExplain",argumentHintKey:"chatInput.cmdExplainArg",requiresArgs:!0,buildPrompt:a=>`Explain ${a} concisely: what it does, how it works, and the key details worth knowing.`},{name:"simplify",descriptionKey:"chatInput.cmdSimplify",argumentHintKey:"chatInput.cmdSimplifyArg",requiresArgs:!0,buildPrompt:a=>`Simplify ${a}. Remove unnecessary complexity while preserving behavior, keep the change focused, and verify nothing breaks.`},{name:"commit",descriptionKey:"chatInput.cmdCommit",argumentHintKey:"chatInput.cmdCommitArg",requiresArgs:!1,buildPrompt:a=>a?`Stage the relevant files and commit the current changes with this message: ${JSON.stringify(a)}. Run the project's checks first so the commit is green.`:"Stage the relevant files and commit the current changes with a clear conventional commit message. Run the project's checks first so the commit is green."}],gO=new Map(gN.map(a=>[a.name,a]));function gP(a){var b;if(!a.startsWith("/"))return{kind:"not-web"};let c=a.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!c)return{kind:"not-web"};let d=(b=c[1],gO.get(b));if(!d)return{kind:"not-web"};let e=(c[2]??"").trim();return d.requiresArgs&&!e?{kind:"usage-error",command:`/${d.name}`,argumentHintKey:d.argumentHintKey}:{kind:"expand",prompt:d.buildPrompt(e)}}function gQ(a){if(!a||"object"!=typeof a||"string"!=typeof a.data||"string"!=typeof a.mimeType||!a.mimeType.startsWith("image/"))return!1;let b=function(a){if(!a||a.length%4!=0)return null;let b=a.endsWith("==")?2:+!!a.endsWith("="),c=a.length-b;for(let b=0;b<c;b+=1){var d;if(!((d=a.charCodeAt(b))>=65&&d<=90||d>=97&&d<=122||d>=48&&d<=57||43===d||47===d))return null}for(let b=c;b<a.length;b+=1)if("="!==a[b])return null;return a.length/4*3-b}(a.data);return null!==b&&b<=0xa00000}var gR=c(89591),gS=c(89417),gT=c(87300);let gU=["auto","off","minimal","low","medium","high","xhigh","max"];function gV(a){return"number"==typeof a&&Number.isFinite(a)&&a>0}function gW(a){let b=Math.round(10*a)/10;return`${b%1==0?b.toFixed(0):b.toFixed(1)}%`}let gX=2*Math.PI*9.5;function gY(a,b,c){return a.compare(b.name||b.modelId,c.name||c.modelId)||a.compare(b.provider,c.provider)||a.compare(b.modelId,c.modelId)}let gZ={auto:"chatInput.thinkingAuto",off:"chatInput.thinkingOff",minimal:"chatInput.thinkingMinimal",low:"chatInput.thinkingLow",medium:"chatInput.thinkingMedium",high:"chatInput.thinkingHigh",xhigh:"chatInput.thinkingXhigh",max:"chatInput.thinkingMax"};function g$(a,b){return(0,gI.wk)(a,b)}function g_(a,b){return"skill"===a.source&&b.has(a.name)}let g0=[...gN.map(a=>({name:a.name,descriptionKey:a.descriptionKey,argumentHintKey:a.argumentHintKey})),{name:"compact",descriptionKey:"chatInput.cmdCompact"},{name:"reload",descriptionKey:"chatInput.cmdReload"},{name:"name",descriptionKey:"chatInput.cmdName"},{name:"session",descriptionKey:"chatInput.cmdSession"},{name:"agents",descriptionKey:"chatInput.cmdAgents"},{name:"copy",descriptionKey:"chatInput.cmdCopy"}],g1=new Set(g0.map(a=>a.name)),g2=["builtin","extension","prompt","skill","ompBuiltin"],g3={builtin:"chatInput.groupBuiltin",extension:"chatInput.groupExtensions",prompt:"chatInput.groupPrompts",skill:"chatInput.groupSkills",ompBuiltin:"chatInput.groupOmpBuiltin"},g4={builtin:0,extension:1,prompt:2,skill:3,ompBuiltin:4};function g5(a,b){let c=a.name.toLowerCase(),d=a.description?.toLowerCase()??"";return c===b?0:c.startsWith(b)?1:c.includes(b)?2:d.includes(b)?3:4}function g6(a){return{data:a.data,mimeType:a.mimeType}}function g7(a){return{...a,previewUrl:`data:${a.mimeType};base64,${a.data}`}}function g8(a){return(a??[]).filter(gQ).slice(0,10).map(g7)}function g9(a){return{name:a.name,mimeType:a.mimeType,content:a.content,size:a.size}}function ha(a){return(a??[]).filter(a=>"string"==typeof a.name&&"string"==typeof a.mimeType&&"string"==typeof a.content&&Number.isFinite(a.size)&&a.size<=262144).slice(0,10)}function hb(a){a.previewUrl.startsWith("blob:")&&URL.revokeObjectURL(a.previewUrl)}function hc({onClick:a,title:b,accent:c=!1,disabled:d=!1,children:e}){return(0,A.jsx)("button",{type:"button",onClick:a,disabled:d,title:b,style:{flexShrink:0,padding:"4px 8px",minHeight:24,border:"none",borderRadius:6,background:"transparent",color:c?"var(--accent)":"var(--text-dim)",cursor:d?"not-allowed":"pointer",opacity:d?.5:1,fontSize:11,fontWeight:c?600:400,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",c||(a.currentTarget.style.color="var(--text-muted)")},onMouseLeave:a=>{a.currentTarget.style.background="transparent",c||(a.currentTarget.style.color="var(--text-dim)")},children:e})}function hd({error:a}){let{t:b}=(0,E.s9)();return a?(0,A.jsxs)("div",{role:"alert",style:{display:"flex",alignItems:"flex-start",gap:8,maxHeight:120,marginBottom:8,padding:"7px 10px",overflowY:"auto",border:"1px solid color-mix(in srgb, var(--status-error) 35%, transparent)",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-error) 8%, transparent)",color:"var(--status-error)",fontSize:11,lineHeight:1.45},children:[(0,A.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0,marginTop:1},"aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M10.3 2.9 1.8 17a2 2 0 0 0 1.7 3h17a2 2 0 0 0 1.7-3L13.7 2.9a2 2 0 0 0-3.4 0Z"}),(0,A.jsx)("line",{x1:"12",y1:"9",x2:"12",y2:"13"}),(0,A.jsx)("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})]}),(0,A.jsxs)("div",{style:{minWidth:0},children:[(0,A.jsx)("div",{style:{fontWeight:600},children:b("chatInput.modelError")}),(0,A.jsx)("div",{style:{whiteSpace:"pre-wrap",overflowWrap:"anywhere"},children:a})]})]}):null}function he({goal:a,plan:b}){let c,d,e,{t:f}=(0,E.s9)(),[g,h]=(0,B.useState)(!1),[i,j]=(0,B.useState)(()=>Date.now());return a||b?(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:6,marginBottom:8},children:[a&&(0,A.jsxs)("button",{type:"button","aria-expanded":g,onClick:()=>h(a=>!a),title:f(g?"chatInput.collapseGoal":"chatInput.expandGoal"),style:{display:"flex",alignItems:g?"flex-start":"center",gap:8,width:"100%",padding:"6px 9px",border:"1px solid color-mix(in srgb, var(--accent) 32%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--accent) 7%, var(--bg-panel))",color:"var(--text)",cursor:"pointer",textAlign:"left",transition:"background var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},children:[(0,A.jsx)(gB,{size:14,strokeWidth:2,style:{flexShrink:0,marginTop:+!!g,color:"var(--accent)"},"aria-hidden":"true"}),(0,A.jsxs)("span",{style:{flexShrink:0,color:"var(--text-dim)",fontSize:10,fontFamily:"var(--font-mono)",textTransform:"uppercase",letterSpacing:"0.04em"},children:[f("chatInput.goalActive")," \xb7 ",(d=Math.floor((c=Math.max(0,Math.floor((i-a.startedAt)/6e4)))/60),e=c%60,d>0?`${d}h ${e}m`:`${e}m`)]}),(0,A.jsx)("span",{style:{minWidth:0,flex:1,overflow:g?"visible":"hidden",textOverflow:g?void 0:"ellipsis",whiteSpace:g?"pre-wrap":"nowrap",fontSize:12,lineHeight:1.4},children:a.objective})]}),b&&(0,A.jsxs)("div",{role:"status","aria-live":"polite",style:{display:"flex",alignItems:"center",gap:7,padding:"5px 9px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:"var(--text-muted)",fontSize:12},children:[(0,A.jsx)(gC,{size:14,strokeWidth:2,style:{flexShrink:0,color:"var(--accent)"},"aria-hidden":"true"}),(0,A.jsx)("span",{style:{fontWeight:600},children:f("chatInput.planningInProgress")}),(0,A.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"var(--text-dim)"},children:b.objective})]})]}):null}let hf=(0,B.memo)((0,B.forwardRef)(function({onSend:a,onAbort:b,onSteer:c,onFollowUp:d,isStreaming:e,model:f,isAutoModelSelection:g,modelNames:h,modelList:i,modelError:j,modelsLoading:k,onModelChange:l,fastModeEnabled:m,fastModeActive:n,fastModeSupported:o,onFastModeChange:p,onAbortCompaction:q,isCompacting:r,compactResult:s,thinkingLevel:t,onThinkingLevelChange:u,availableThinkingLevels:v,thinkingLevelMap:w,modelNameOverride:x,retryInfo:y,queuedMessages:z,inputHistory:F=[],onAbortRetry:G,slashCommands:H,slashCommandsLoading:I,onLoadSlashCommands:J,onBuiltinCommand:K,onAudioUnlock:L,onPromptWithStreamingBehavior:M,runtimeReady:N=!0,contextUsage:O,sessionCost:P,onRemoveQueuedMessage:Q,onPromoteQueuedToSteer:R,draftKey:S,cwd:T,activeGoal:U,activePlan:V,advisorEnabled:W},X){var Y,Z,$,_;let aa,ab,ac,ad,ae,af,ag,ah,ai=(0,gT.a)(),{t:aj,tn:ak,locale:al}=(0,E.s9)(),am=C().useMemo(()=>new Intl.Collator(al,{numeric:!0,sensitivity:"base"}),[al]),[an,ao]=(0,B.useState)(()=>S?gL(S)?.value??"":""),[ap,aq]=(0,B.useState)(!1),[ar,as]=(0,B.useState)(null),[at,au]=(0,B.useState)(!1),[av,aw]=(0,B.useState)(!1),[ax,ay]=(0,B.useState)(""),[az,aA]=(0,B.useState)(()=>S?g8(gL(S)?.images):[]),[aB,aC]=(0,B.useState)(()=>S?ha(gL(S)?.files):[]),[aD,aE]=(0,B.useState)(null),aF=an.trimStart(),aG=0===az.length&&0===aB.length&&aF.startsWith("!"),aH=aG&&aF.startsWith("!!"),[aI,aJ]=(0,B.useState)(!1),[aK,aL]=(0,B.useState)(0),[aM,aN]=(0,B.useState)(null),[aO,aP]=(0,B.useState)(!1),[aQ,aR]=(0,B.useState)(0),[aS,aT]=(0,B.useState)(!1),[aU,aV]=(0,B.useState)(0),[aW,aX]=(0,B.useState)(null),[aY,aZ]=(0,B.useState)(!1),[a$,a_]=(0,B.useState)(null),a0=(0,B.useRef)(null),a1=(0,B.useRef)(null),a2=(0,B.useRef)(null),a3=(0,B.useRef)(null),a4=(0,B.useRef)(null),a5=(0,B.useRef)(null),a6=(0,B.useRef)(null),a7=(0,B.useRef)(null),a8=(0,B.useRef)(!1),a9=(0,B.useRef)(0),ba=(0,B.useRef)(!1),bb=(0,B.useRef)([]),bc=(0,B.useRef)([]),bd=(0,B.useRef)([]),be=(0,B.useRef)(null),bf=(0,B.useRef)(null),bg=(0,B.useRef)(S),bh=(0,B.useRef)(an),bi=(0,B.useRef)(az),bj=(0,B.useRef)(aB),bk=(0,B.useRef)(0),bl=(0,B.useRef)(N);bl.current=N;let bm=(0,B.useRef)(0),bn=(0,B.useRef)(0);bh.current=an,bi.current=az,bj.current=aB,(0,B.useEffect)(()=>{N||(bk.current+=1)},[N]),(0,B.useImperativeHandle)(X,()=>({insertIfEmpty(a){let b=a0.current;(b?b.value:an).trim()||(ao(a),aN(null),requestAnimationFrame(()=>{b&&(b.focus(),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)}))},prependText(a){if(!a.trim())return;let b=a0.current,c=[a,b?b.value:an].filter(a=>a.trim()).join("\n\n");ao(c),aN(null),requestAnimationFrame(()=>{b&&(b.focus(),b.setSelectionRange(c.length,c.length),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)})},insertText(a){let b=a0.current;if(!b)return void ao(b=>b+(b?" ":"")+a);let c=b.selectionStart??b.value.length,d=b.selectionEnd??b.value.length,e=b.value.slice(0,c),f=b.value.slice(d),g=e.length>0&&!e.endsWith(" ")?" ":"";ao(e+g+a+f),aN(null),requestAnimationFrame(()=>{if(!b)return;let d=c+g.length+a.length;b.setSelectionRange(d,d),b.focus(),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`})},addFiles(a){bl.current&&bq(a)}}));let bo=(0,B.useCallback)(async a=>{if(!bl.current)return;let b=Math.max(0,10-bi.current.length-bm.current),c=a.filter(a=>a.type.startsWith("image/")&&a.size<=0xa00000).slice(0,b);if(!c.length){a.length>0&&aE(0===b?"Maximum of 10 attached images reached.":`${a.length} image(s) skipped: images up to ${Math.round(10)} MB are supported.`);return}let d=bk.current;bm.current+=c.length;let e=[];try{let a=await Promise.all(c.map(a=>new Promise((b,c)=>{let d=new FileReader;d.onload=()=>{let c={data:d.result.split(",")[1],mimeType:a.type,previewUrl:URL.createObjectURL(a)};e.push(c),b(c)},d.onerror=c,d.readAsDataURL(a)})));if(bk.current!==d||!bl.current)return void a.forEach(hb);aA(b=>{let c=a.slice(0,Math.max(0,10-b.length));return a.slice(c.length).forEach(hb),[...b,...c]}),aE(null)}catch{e.forEach(hb),aE("One or more images could not be read. Try a different file.")}finally{bm.current-=c.length}},[]),bp=(0,B.useCallback)(async a=>{if(!bl.current)return;let b=Math.max(0,10-bj.current.length-bn.current),c=a.filter(a=>a.size<=262144).slice(0,b);if(!c.length){a.length>0&&aE(0===b?"Maximum of 10 text files reached.":`${a.length} file(s) skipped: files up to ${Math.round(256)} KB are supported.`);return}let d=bk.current;bn.current+=c.length;try{let a=await Promise.all(c.map(async a=>({name:a.name,mimeType:a.type,content:await a.text(),size:a.size})));if(bk.current!==d||!bl.current)return;let b=a.filter(a=>!a.content.includes("\0")&&!a.content.includes("�")),e=c.length-b.length;aC(a=>[...a,...b.slice(0,Math.max(0,10-a.length))]),e>0?aE(`${e} file(s) skipped: binary or non-text files cannot be attached.`):aE(null)}catch{aE("One or more files could not be read. Try a different file.")}finally{bn.current-=c.length}},[]),bq=(0,B.useCallback)(a=>{if(!N||!bl.current)return;if(e)return void aE("Attachments are disabled while the agent is running.");let b=a.filter(a=>a.type.startsWith("image/")),c=a.filter(a=>!a.type.startsWith("image/"));bo(b),bp(c)},[e,bo,bp,N]),br=(0,B.useCallback)(a=>{bl.current&&(aA(b=>{let c=[...b],[d]=c.splice(a,1);return d&&hb(d),c}),aE(null))},[]),bs=(0,B.useCallback)(a=>{bl.current&&(aC(b=>b.filter((b,c)=>c!==a)),aE(null))},[]),bt=(0,B.useCallback)(()=>{aA(a=>(a.forEach(hb),[]))},[]),bu=(0,B.useCallback)(()=>{aC([])},[]),bv=(0,B.useCallback)(()=>{var a;ao(""),aN(null),aT(!1),S&&gJ.delete(S),bg.current&&bg.current!==S&&(a=bg.current,gJ.delete(a)),bt(),bu(),bk.current+=1,a0.current&&(a0.current.style.height="auto")},[bt,bu,S]);(0,B.useEffect)(()=>{S&&bg.current===S&&gM(S,{value:an,images:az.map(g6),files:aB.map(g9)})},[az,aB,S,an]),(0,B.useEffect)(()=>{let a=bg.current;if(a===S)return;a&&gM(a,{value:bh.current,images:bi.current.map(g6),files:bj.current.map(g9)});let b=S?gL(S):null;bg.current=S,ao(b?.value??""),aN(null),aT(!1),aA(a=>(a.forEach(hb),g8(b?.images))),aC(ha(b?.files))},[S]),(0,B.useEffect)(()=>{let a=a0.current;a&&(a.style.height="auto",an&&(a.style.height=`${Math.min(a.scrollHeight,200)}px`))},[an]),(0,B.useEffect)(()=>()=>{bi.current.forEach(hb)},[]);let bw=(0,B.useCallback)(async()=>{let b=an.trim();if(!b&&!az.length&&!aB.length||!N||e)return;L?.();let c=function(a,b){if(0===b.length)return a;let c=b.map(a=>{var b,c;let d,e,f=(b=a.content,d=b.match(/`+/g)?.reduce((a,b)=>Math.max(a,b.length),0)??0,"`".repeat(Math.max(3,d+1)));return`Attached file: ${a.name}
|
|
15
15
|
${f}${c=a.name,"md"===(e=c.toLowerCase().replace(/\\/g,"/").split("/").pop()?.split(".").pop()??"")||"markdown"===e||"mdx"===e?"markdown":"text"}
|
|
16
16
|
${a.content}
|
|
17
|
-
${f}`});return[a.trim(),...c].filter(Boolean).join("\n\n")}(b,aB);if(!az.length&&!aB.length&&b.startsWith("/")&&K){let a=await K(b);if(a.handled){a.error||a.retainInput||bv();return}}a(c,az.length?az:void 0),bv()},[an,az,aB,e,N,K,a,bv,L]),bx=an.startsWith("/")&&!/\s/.test(an.slice(1))?an.slice(1).toLowerCase():null,[by,bz]=(0,B.useState)(()=>new Set);(0,B.useEffect)(()=>{if(null===bx||!T)return;let a=new AbortController;return fetch(`/api/skills?cwd=${encodeURIComponent(T)}`,{signal:a.signal}).then(a=>a.ok?a.json():null).then(a=>{a&&bz(new Set((a.skills??[]).flatMap(a=>a.disableModelInvocation&&a.name?[a.name]:[])))}).catch(()=>{}),()=>a.abort()},[T,bx]);let bA=C().useMemo(()=>g0.map(a=>({name:a.name,description:aj(a.descriptionKey),...a.argumentHintKey?{argumentHint:aj(a.argumentHintKey)}:{},source:"builtin"})),[aj]),bB=C().useMemo(()=>(H??[]).flatMap(a=>{let b=a.source;return g1.has(a.name)?[]:"builtin"===b||"ompBuiltin"===b?[{name:a.name,description:a.description,source:"ompBuiltin"}]:[a]}),[H]),bC=null===bx?[]:[...e?[]:bA,...bB].filter(a=>{let b=a.name.toLowerCase(),c=a.description?.toLowerCase()??"";return b.includes(bx)||c.includes(bx)}).sort((a,b)=>{let c=g5(a,bx)-g5(b,bx);if(0!==c)return c;let d=Number(g_(a,by))-Number(g_(b,by));return 0!==d?d:g4[a.source]-g4[b.source]||am.compare(a.name,b.name)}),bD=(()=>{let a=new Map;for(let b of g2)a.set(b,{source:b,items:[]});return bC.forEach((b,c)=>{a.get(b.source)?.items.push({command:b,index:c})}),g2.map(b=>a.get(b)).filter(a=>a.items.length>0)})(),bE=ak(bx?"chatInput.matchCount":"chatInput.commandCount",bC.length),bF=(0,B.useCallback)((a,b)=>{if(!T)return void aN(null);let c=b??a.length;aN((0,gR.RO)(a.slice(0,c)))},[T]),bG=aM?.query??null,bH=C().useMemo(()=>null!==bG&&aW&&aW.cwd===T?(0,gR.R7)(aW.entries,bG):[],[bG,aW,T]),bI=!!(bG&&aW?.truncated&&aW.cwd===T);(0,B.useEffect)(()=>{if(!bI||!T||!bG)return;let a=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent(T)}&q=${encodeURIComponent(bG)}`).then(a=>{if(!a.ok)throw Error(`file search failed: ${a.status}`);return a.json()}).then(a=>a_({cwd:T,query:bG,matches:a.matches??[]})).catch(()=>{})},150);return()=>clearTimeout(a)},[bI,bG,T]);let bJ=bI&&null!==a$&&a$.cwd===T&&a$.query===bG,bK=bJ?a$.matches:bH,bL=null===aM?null:`${aM.start}:${+!!aM.quoted}:${aM.query}`;(0,B.useEffect)(()=>{if(null===bL){aP(!1),aR(0);return}aP(!0),aR(0)},[bL]);let bM=null!==aM;(0,B.useEffect)(()=>{if(!bM||!T)return;let a=be.current;a&&a.cwd===T&&Date.now()-a.fetchedAt<1e4||bf.current===T||(bf.current=T,aZ(!0),fetch(`/api/file-index?cwd=${encodeURIComponent(T)}`).then(a=>{if(!a.ok)throw Error(`file index failed: ${a.status}`);return a.json()}).then(a=>{aX({cwd:T,entries:(0,gR.Yh)(a.files??[]),truncated:!!a.truncated}),be.current={cwd:T,fetchedAt:Date.now()}}).catch(()=>{be.current=null}).finally(()=>{bf.current=null,aZ(!1)}))},[bM,T]);let bN=(0,B.useCallback)(a=>{if(!aM)return;let b=a0.current,c=b?.selectionStart??an.length,d=an.slice(0,aM.start),e=an.slice(c);aM.quoted&&e.startsWith('"')&&(e=e.slice(1));let f=(0,gR.W)(a.path,a.isDir,aM.quoted),g=d+f.text+e,h=d.length+f.cursorOffset;ao(g),aN((0,gR.RO)(g.slice(0,h))),requestAnimationFrame(()=>{let a=a0.current;a&&(a.focus(),a.setSelectionRange(h,h),a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)})},[aM,an]);(0,B.useEffect)(()=>{aQ>=bK.length&&aR(Math.max(0,bK.length-1))},[bK.length,aQ]),(0,B.useEffect)(()=>{bc.current.length=bK.length},[bK.length]),(0,B.useEffect)(()=>{aO&&bc.current[aQ]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aQ,aO]),(0,B.useEffect)(()=>{aU>=F.length&&aV(Math.max(0,F.length-1))},[F.length,aU]),(0,B.useEffect)(()=>{bd.current.length=F.length},[F.length]),(0,B.useEffect)(()=>{aS&&bd.current[aU]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aU,aS]);let bO=(0,B.useCallback)(a=>{ao(a),aT(!1),aV(0),aN(null),requestAnimationFrame(()=>{let b=a0.current;b&&(b.focus(),b.setSelectionRange(a.length,a.length),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)})},[]),bP=(0,B.useCallback)(a=>{let b=`/${a.name} `;ao(b),aJ(!1),aL(0),requestAnimationFrame(()=>{let a=a0.current;a&&(a.focus(),a.setSelectionRange(b.length,b.length),a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)})},[]),bQ=(0,B.useCallback)(a=>{let b=an.trim();if(!N||!b&&!az.length&&!aB.length||az.length||aB.length)return;L?.();let e="steer"===a?"steer":"followUp";if(b.startsWith("/")&&M){let a=gP(b);if("expand"===a.kind){M(a.prompt,e,az.length?az:void 0),bv();return}return"usage-error"===a.kind?void gH.oR.error(aj("chatInput.commandUsageTitle"),aj("agentSession.commandRequiresArgs",{command:a.command,usage:aj(a.argumentHintKey)})):(M(b,e,az.length?az:void 0),void bv())}"steer"===a&&c?c(b,az.length?az:void 0):"followup"===a&&d&&d(b,az.length?az:void 0),bv()},[an,az,aB,N,M,c,d,bv,L,aj]),bR=[...(z?.followUp??[]).map(a=>({kind:"follow-up",text:a})),...(z?.steering??[]).map(a=>({kind:"steer",text:a}))],bS=bR[0]??null,bT=bR.length,bU=(0,B.useCallback)(()=>{N&&bS&&(Q?.(bS.text),ao(bS.text),aN(null),aT(!1),requestAnimationFrame(()=>{let a=a0.current;a&&(a.focus(),a.setSelectionRange(bS.text.length,bS.text.length),a.style.height="auto",a.style.height=Math.min(a.scrollHeight,200)+"px")}))},[bS,Q,N]),bV=(0,B.useCallback)(()=>{N&&bS&&Q?.(bS.text)},[bS,Q,N]),bW=(0,B.useCallback)(()=>{N&&bS&&"follow-up"===bS.kind&&R?.(bS.text)},[bS,R,N]),bX=(0,B.useCallback)(a=>{let b=bC.length-1;if(b<0)return 0;if("left"===a)return Math.max(0,aK-1);if("right"===a)return Math.min(b,aK+1);let c=bb.current[aK];if(!c)return"down"===a?Math.min(b,aK+1):Math.max(0,aK-1);let d=c.getBoundingClientRect(),e=d.left+d.width/2,f=d.top+d.height/2,g=-1,h=1/0;for(let c=0;c<=b;c+=1){if(c===aK)continue;let b=bb.current[c];if(!b)continue;let d=b.getBoundingClientRect(),i=d.top+d.height/2-f;if("down"===a?i<=4:i>=-4)continue;let j=1e3*Math.abs(i)+Math.abs(d.left+d.width/2-e);j<h&&(g=c,h=j)}return g>=0?g:"down"===a?Math.min(b,aK+1):Math.max(0,aK-1)},[bC.length,aK]),bY=(0,B.useCallback)(a=>{let f=a.nativeEvent,g=Date.now()-a9.current<100,h=a8.current||f.isComposing||229===f.keyCode;if("Enter"===a.key&&!a.shiftKey&&(h||g)){g&&a.preventDefault();return}if(aS&&!h){if("ArrowDown"===a.key){a.preventDefault(),aV(a=>Math.min(Math.max(0,F.length-1),a+1));return}if("ArrowUp"===a.key){a.preventDefault(),aV(a=>Math.max(0,a-1));return}if("Escape"===a.key){a.preventDefault(),aT(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&F[aU]){a.preventDefault(),bO(F[aU]);return}}if(aI&&null!==bx){if("ArrowDown"===a.key){a.preventDefault(),aL(bX("down"));return}if("ArrowUp"===a.key){a.preventDefault(),aL(bX("up"));return}if("ArrowRight"===a.key){a.preventDefault(),aL(bX("right"));return}if("ArrowLeft"===a.key){a.preventDefault(),aL(bX("left"));return}if("Escape"===a.key){a.preventDefault(),aJ(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&bC[aK]){a.preventDefault(),bP(bC[aK]);return}}if(aO&&null!==aM&&!h){if("ArrowDown"===a.key){a.preventDefault(),aR(a=>Math.min(Math.max(0,bK.length-1),a+1));return}if("ArrowUp"===a.key){a.preventDefault(),aR(a=>Math.max(0,a-1));return}if("Escape"===a.key){a.preventDefault(),aP(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&bK[aQ]){a.preventDefault(),bN(bK[aQ]);return}}if("ArrowUp"===a.key&&!h&&!e&&F.length>0&&0===an.trim().length){a.preventDefault(),aJ(!1),aP(!1),aV(F.length-1),aT(!0);return}if("Escape"===a.key&&!h&&N&&e&&b){a.preventDefault(),b();return}if("Enter"===a.key&&!a.shiftKey){if(ai)return;a.preventDefault(),e&&(c||d)?"steer"===gF()&&c?bQ("steer"):bQ("followup"):bw()}},[ai,e,N,c,d,b,aI,bx,bC,aK,bP,bQ,bw,bX,aO,aM,bK,aQ,bN,aS,F,aU,bO,an]),bZ=(0,B.useCallback)(()=>{let a=a0.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)},[]),b$=(0,B.useCallback)(a=>{let b=Array.from(a.clipboardData?.items??[]).filter(a=>a.type.startsWith("image/"));b.length&&(a.preventDefault(),bq(b.map(a=>a.getAsFile()).filter(a=>null!==a)))},[bq]);(0,B.useEffect)(()=>{if(null===bx){aJ(!1),aL(0),ba.current=!1;return}aJ(!0),aL(0),!ba.current&&J&&(ba.current=!0,Promise.resolve(J()).catch(()=>{ba.current=!1}))},[bx,J]),(0,B.useEffect)(()=>{aK>=bC.length&&aL(Math.max(0,bC.length-1))},[bC.length,aK]),(0,B.useEffect)(()=>{bb.current.length=bC.length},[bC.length]),(0,B.useEffect)(()=>{aI&&bb.current[aK]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aK,aI]);let[b_,b0]=(0,B.useState)(null);(0,B.useEffect)(()=>{let a=()=>b0(function(){try{let a=JSON.parse(localStorage.getItem("omp-composer-models")??"null");return Array.isArray(a)?new Set(a.filter(a=>"string"==typeof a)):null}catch{return null}}());return a(),window.addEventListener("omp-composer-models-change",a),()=>window.removeEventListener("omp-composer-models-change",a)},[]);let b1=C().useMemo(()=>i&&i.length>0?i.map(a=>({provider:a.provider,modelId:a.id,name:a.name})).filter(a=>null===b_||b_.has(`${a.provider}:${a.modelId}`)).sort((a,b)=>gY(am,a,b)):Object.entries(h??{}).map(([a,b])=>({provider:f?.provider??"unknown",modelId:a,name:b})).sort((a,b)=>gY(am,a,b)),[i,h,f?.provider,b_,am]),b2=C().useMemo(()=>{let a;return(a=ax.trim().toLocaleLowerCase(al))?b1.filter(b=>b.name.toLocaleLowerCase(al).includes(a)||b.modelId.toLocaleLowerCase(al).includes(a)||b.provider.toLocaleLowerCase(al).includes(a)):b1},[al,b1,ax]),b3=C().useMemo(()=>{let a=[];for(let b of b2){let c=a.find(a=>a.provider===b.provider);c?c.options.push(b):a.push({provider:b.provider,options:[b]})}return a},[b2]),b4=f?b1.find(a=>a.modelId===f.modelId&&a.provider===f.provider)?.name??x??h?.[`${f.provider}:${f.modelId}`]??f.modelId:null,b5=!!k&&!j,b6=!N||e||b5&&0===b1.length,b7=s?Math.max(0,s.tokensBefore-s.estimatedTokensAfter):0,b8=s?.reason&&"manual"!==s.reason?aj("chatInput.compactedWithReason",{reason:`${s.reason[0].toUpperCase()}${s.reason.slice(1)}`}):aj("chatInput.compacted"),b9=s?aj("chatInput.compactResult",{verb:b8,before:g$(s.tokensBefore,al),after:g$(s.estimatedTokensAfter,al),saved:g$(b7,al)}):null,ca="auto"!==(aa=t??"auto")&&w?w[aa]??aa:aa,cb="medium"===ca.toLowerCase()?"med":ca,cc=null==(Y=O?.percent)||Number.isNaN(Y)?0:Math.min(100,Math.max(0,Y)),cd=cc>0&&cc<10?gW(cc):`${Math.round(cc)}%`,ce=!!(O&&null!=O.percent&&O.contextWindow>0),cf=ce&&O?`${gW(cc)} / ${!gV(Z=O.contextWindow)?"":Z>=1e6?`${Z/1e6}M`:Z>=1e3?`${Z/1e3}k`:String(Z)}`:null,cg=ce&&O?.tokens!=null?aj("chatInput.contextTokens",{used:(0,gI.wk)(O.tokens,al),total:(0,gI.wk)(O.contextWindow,al)}):null,ch=null!=P&&Number.isFinite(P)&&P>=0?aj("chatInput.sessionCost",{cost:`$${P.toFixed(P>0&&P<.01?4:2)}`}):null,ci=C().useSyncExternalStore(gG,gF,()=>"steer"),cj=!!an.trim()&&0===az.length&&0===aB.length,ck=($=!!c,_=!!d,ai&&e&&cj?"steer"===ci&&$?"steer":"queue"===ci&&_?"followup":$?"steer":_?"followup":null:null),cl=C().useMemo(()=>(function(a){if(!a)return[...gU];let b=new Set(a.filter(a=>a&&"auto"!==a));return[...gU.filter(a=>"auto"===a||b.delete(a)),...b]})(v),[v]);return(0,B.useEffect)(()=>{e&&au(!1)},[e]),(0,B.useEffect)(()=>{if(!ce)return void aw(!1);if(!av)return;let a=a=>{let b=a5.current;b&&!b.contains(a.target)&&aw(!1)},b=a=>{"Escape"===a.key&&aw(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[av,ce]),(0,B.useEffect)(()=>{ap?requestAnimationFrame(()=>a3.current?.focus()):ay("")},[ap]),(0,B.useEffect)(()=>{let a=a=>{a1.current&&!a1.current.contains(a.target)&&a2.current&&!a2.current.contains(a.target)&&aq(!1),a4.current&&!a4.current.contains(a.target)&&au(!1),!a6.current||a6.current.contains(a.target)||a0.current?.contains(a.target)||aT(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]),(0,A.jsxs)("div",{style:{flexShrink:0,background:"transparent",paddingTop:0,paddingBottom:"calc(8px + env(safe-area-inset-bottom))",paddingLeft:16,paddingRight:16},children:[(0,A.jsx)("input",{ref:a7,type:"file",accept:"*/*",multiple:!0,disabled:e||!N,style:{display:"none"},onChange:a=>{bq(Array.from(a.target.files??[])),a.target.value=""}}),(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsx)(hd,{error:j}),(0,A.jsx)(he,{goal:U,plan:V}),y&&(0,A.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-warning) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-warning) 25%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-warning)",display:"flex",alignItems:"center",gap:6},children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,A.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,A.jsx)("path",{d:"M3 3v5h5"})]}),aj("chatInput.retrying",{attempt:y.attempt,maxAttempts:y.maxAttempts}),y.errorMessage&&(0,A.jsxs)("span",{style:{opacity:.7,marginLeft:4},children:["— ",y.errorMessage]}),G&&(0,A.jsx)("button",{type:"button",onClick:G,title:"Stop the automatic retry and leave the failed turn as-is",style:{marginLeft:"auto",padding:"3px 9px",fontSize:11,color:"var(--status-warning)",background:"transparent",border:"1px solid color-mix(in srgb, var(--status-warning) 45%, transparent)",borderRadius:6,cursor:"pointer",whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.background="color-mix(in srgb, var(--status-warning) 12%, transparent)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:"Abort retry"})]}),b9&&(0,A.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-success) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-success) 24%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-success)",display:"flex",alignItems:"center",gap:6},children:[(0,A.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,A.jsx)("polyline",{points:"20 6 9 17 4 12"})}),b9]}),aD&&(0,A.jsx)("div",{role:"alert",style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-error) 7%, transparent)",border:"1px solid color-mix(in srgb, var(--status-error) 30%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-error)"},children:aD}),az.length>0&&(0,A.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:az.map((a,b)=>(0,A.jsxs)("div",{style:{position:"relative",flexShrink:0},children:[(0,A.jsx)("img",{src:a.previewUrl,alt:"",style:{width:56,height:56,objectFit:"cover",borderRadius:6,border:"1px solid var(--border)",display:"block"}}),(0,A.jsx)("button",{onClick:()=>br(b),disabled:!N,title:"Remove image","aria-label":"Remove image",style:{position:"absolute",top:-5,right:-5,width:24,height:24,borderRadius:"50%",background:"var(--bg-panel)",border:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0,color:"var(--text-muted)",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.color="var(--text)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.background="var(--bg-panel)"},children:(0,A.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,A.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,A.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},b))}),aB.length>0&&(0,A.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:aB.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,maxWidth:260,height:30,padding:"0 6px 0 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",fontSize:12,color:"var(--text)"},children:[(0,A.jsx)("span",{style:{flexShrink:0,display:"flex",color:"var(--text-muted)"},children:(0,A.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,A.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,A.jsx)("polyline",{points:"14 2 14 8 20 8"})]})}),(0,A.jsx)("span",{title:a.name,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11.5},children:a.name}),(0,A.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"var(--text-dim)"},children:a.size<1024?`${a.size} B`:`${Math.round(a.size/1024)} KB`}),(0,A.jsx)("button",{onClick:()=>bs(b),disabled:!N,title:"Remove file","aria-label":"Remove file",style:{flexShrink:0,width:18,height:18,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",border:"none",cursor:"pointer",padding:0,color:"var(--text-muted)",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.color="var(--text)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.background="transparent"},children:(0,A.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,A.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,A.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},b))}),(0,A.jsxs)("div",{style:{position:"relative"},children:[aS&&F.length>0&&(0,A.jsxs)("div",{ref:a6,className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(44vh, 360px)"},children:[(0,A.jsx)("div",{title:aj("chatInput.inputHistory"),style:{height:30,padding:"0 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",color:"var(--text-dim)"},children:(0,A.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,A.jsx)("path",{d:"M3 4v5h5"}),(0,A.jsx)("path",{d:"M12 7v5l3 2"})]})}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(44vh, 360px) - 31px)",overflowY:"auto",padding:4},children:F.map((a,b)=>{let c=b===aU;return(0,A.jsxs)("button",{ref:a=>{bd.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),bO(a)},onMouseEnter:()=>aV(b),style:{width:"100%",display:"flex",alignItems:"flex-start",gap:8,padding:"7px 8px",border:"none",borderRadius:6,background:c?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,lineHeight:1.45},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)",paddingTop:1},children:b+1}),(0,A.jsx)("span",{style:{minWidth:0,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",overflowWrap:"anywhere"},children:a})]},`${b}:${a}`)})})]}),aI&&null!==bx&&(0,A.jsxs)("div",{className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(56vh, 460px)"},children:[(0,A.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)"},children:[(0,A.jsx)("span",{children:I?aj("chatInput.loadingCommands"):aj("chatInput.slashCommandsHeader",{countLabel:bE})}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:aj("chatInput.tabEnterHint")})]}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(56vh, 460px) - 34px)",overflowY:"auto",padding:10},children:I||0!==bC.length?bD.map(a=>(0,A.jsxs)("section",{style:{marginBottom:12},children:[(0,A.jsxs)("div",{style:{position:"sticky",top:-10,zIndex:1,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"4px 0 6px",background:"var(--bg)",color:"var(--text-dim)",fontSize:10,fontWeight:600,textTransform:"uppercase"},children:[(0,A.jsx)("span",{children:aj(g3[a.source])}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:500},children:a.items.length})]}),(0,A.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:8},children:a.items.map(({command:a,index:b})=>{let c=b===aK,d=g_(a,by);return(0,A.jsxs)("button",{ref:a=>{bb.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),bP(a)},onMouseEnter:()=>aL(b),style:{width:"100%",minWidth:0,minHeight:58,display:"flex",flexDirection:"column",gap:4,justifyContent:"center",padding:"9px 10px",border:`1px solid ${c?"var(--accent)":"var(--border)"}`,borderRadius:7,background:c?"var(--bg-selected)":"var(--bg-panel)",color:d?"var(--text-dim)":"var(--text)",cursor:"pointer",textAlign:"left",boxShadow:c?"0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)":"none"},children:[(0,A.jsxs)("span",{style:{fontSize:13,fontFamily:"var(--font-mono)",overflowWrap:"anywhere",wordBreak:"break-word"},children:["/",a.name,a.argumentHint&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--text-dim)"},children:a.argumentHint}),d&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--text-dim)"},children:aj("chatInput.dormant")})]}),a.description&&(0,A.jsx)("span",{style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",fontSize:11,lineHeight:1.35,color:"var(--text-dim)"},children:a.description})]},`${a.source}:${a.name}`)})})]},a.source)):(0,A.jsx)("div",{style:{padding:"2px 2px 4px",fontSize:12,color:"var(--text-dim)"},children:aj("chatInput.noCommandsFound")})})]}),aO&&null!==aM&&(ab=aY&&(!aW||aW.cwd!==T),ac=ak("chatInput.matchCount",bK.length),ad=aW?.truncated&&!bJ?` \xb7 ${aM.query?aj("chatInput.searchingAllFiles"):aj("chatInput.indexTruncated")}`:"",(0,A.jsxs)("div",{className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(48vh, 400px)"},children:[(0,A.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)"},children:[(0,A.jsx)("span",{children:ab?aj("chatInput.loadingFiles"):`${aj("chatInput.filesHeader",{countLabel:ac})}${ad}`}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:aj("chatInput.tabEnterHint")})]}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(48vh, 400px) - 34px)",overflowY:"auto",padding:4},children:ab||0!==bK.length?bK.map((a,b)=>{let c=b===aQ,d=a.path.split("/").pop()??a.path,e=a.path.slice(0,a.path.length-d.length);return(0,A.jsxs)("button",{ref:a=>{bc.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),bN(a)},onMouseEnter:()=>aR(b),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 8px",border:"none",borderRadius:6,background:c?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,fontFamily:"var(--font-mono)"},children:[(0,A.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a.isDir?(0,A.jsx)(gS.sj,{size:14}):(0,gS.I3)(d,14)}),(0,A.jsxs)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:e}),d,a.isDir&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:"/"})]})]},`${a.isDir?"d":"f"}:${a.path}`)}):(0,A.jsx)("div",{style:{padding:"6px 8px",fontSize:12,color:"var(--text-dim)"},children:bI&&!bJ?aj("chatInput.searching"):aj("chatInput.noMatchingFiles")})})]})),bS&&(0,A.jsxs)("div",{style:{border:"1px solid var(--border)",borderBottom:"none",borderRadius:"var(--radius-card) var(--radius-card) 0 0",background:"var(--bg-panel)",padding:"5px 8px 5px 12px",display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,A.jsxs)("span",{style:{flexShrink:0,fontSize:10,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--text-muted)"},children:["steer"===bS.kind?aj("chatInput.queuedSteer"):aj("chatInput.queuedFollowUp"),bT>1&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:" \xb7 "+bT})]}),(0,A.jsx)("span",{title:bS.text,style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,color:"var(--text-muted)"},children:bS.text}),(0,A.jsx)(hc,{disabled:!N,onClick:bU,title:aj("chatInput.queuedEditTitle"),children:aj("chatInput.queuedEdit")}),(0,A.jsx)(hc,{disabled:!N,onClick:bV,title:aj("chatInput.queuedDeleteTitle"),children:aj("chatInput.queuedDelete")}),(0,A.jsx)(hc,{disabled:!N,onClick:bW,title:aj("chatInput.queuedSteerTitle"),accent:!0,children:aj("chatInput.queuedSteerAction")})]}),(0,A.jsxs)("div",{className:"chat-input-shell",style:{display:"flex",flexDirection:"column",background:"var(--bg)",border:`1px solid ${aG?"var(--tool-bg)":"color-mix(in srgb, var(--border) 70%, transparent)"}`,borderRadius:"var(--radius-card)",padding:"var(--composer-shell-padding)",boxShadow:"var(--shadow-card)",transition:"border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm), box-shadow var(--dur-fast) var(--ease-out-warm)"},children:[(0,A.jsx)("textarea",{ref:a0,value:an,onChange:a=>{ao(a.target.value),aT(!1),bF(a.target.value,a.target.selectionStart)},onSelect:a=>{let b=a.currentTarget;bF(b.value,b.selectionStart)},onKeyDown:bY,onCompositionStart:()=>{a8.current=!0},onCompositionEnd:a=>{a8.current=!1,a9.current=Date.now();let b=a.currentTarget;bF(b.value,b.selectionStart)},onInput:bZ,onPaste:b$,readOnly:!N,placeholder:aj("chatInput.placeholder"),rows:1,style:{width:"100%",background:"none",border:"none",outline:"none",resize:"none",color:"var(--text)",fontSize:14,lineHeight:1.6,fontFamily:"inherit",minHeight:24,maxHeight:200,overflow:"auto"}}),(0,A.jsxs)("div",{className:"composer-toolbar",style:{display:"flex",alignItems:"center",gap:2,marginTop:"var(--composer-toolbar-separation)",paddingTop:"var(--composer-toolbar-separation)",borderTop:"1px solid color-mix(in srgb, var(--border) 62%, transparent)",flexWrap:ai?"wrap":"nowrap"},children:[(0,A.jsx)("button",{className:"composer-attachment ui-focus-ring",onClick:()=>a7.current?.click(),disabled:e||!N,title:aj("chatInput.attachFile"),"aria-label":aj("chatInput.attachFile"),"data-has-attachments":az.length||aB.length?"true":void 0,children:(0,A.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,A.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,A.jsx)("polyline",{points:"14 2 14 8 20 8"})]})}),(b1.length>0||b4||j||b5)&&l&&(0,A.jsxs)("div",{ref:a1,className:"composer-model-control",style:{position:"relative",minWidth:0},children:[(0,A.jsxs)("button",{className:"composer-model-button ui-focus-ring",onClick:a=>{let b=a.currentTarget.getBoundingClientRect();as({top:b.top,left:b.left,width:b.width}),aq(a=>!a)},disabled:b6,style:{background:ap?"var(--bg-hover)":"none",cursor:b6?"not-allowed":"pointer",opacity:b6?.5:1},onMouseEnter:a=>{e||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{a.currentTarget.style.background=ap?"var(--bg-hover)":"none",a.currentTarget.style.color="var(--text-muted)"},title:b1.length>0?aj("chatInput.changeModel"):b5?aj("chatInput.loadingModels"):aj("chatInput.noAvailableModels"),children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,A.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),(0,A.jsx)("rect",{x:"9",y:"9",width:"6",height:"6"}),(0,A.jsx)("line",{x1:"9",y1:"1",x2:"9",y2:"4"}),(0,A.jsx)("line",{x1:"15",y1:"1",x2:"15",y2:"4"}),(0,A.jsx)("line",{x1:"9",y1:"20",x2:"9",y2:"23"}),(0,A.jsx)("line",{x1:"15",y1:"20",x2:"15",y2:"23"}),(0,A.jsx)("line",{x1:"20",y1:"9",x2:"23",y2:"9"}),(0,A.jsx)("line",{x1:"20",y1:"14",x2:"23",y2:"14"}),(0,A.jsx)("line",{x1:"1",y1:"9",x2:"4",y2:"9"}),(0,A.jsx)("line",{x1:"1",y1:"14",x2:"4",y2:"14"})]}),W&&(0,A.jsx)("span",{title:aj("chatInput.advisorEnabled"),"aria-label":aj("chatInput.advisorEnabled"),style:{display:"flex",flexShrink:0,color:"var(--accent)"},children:(0,A.jsx)(gD,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,A.jsx)("span",{className:"composer-model-name",title:b4??void 0,children:b4??(b1.length>0?aj("chatInput.selectModel"):b5?aj("chatInput.loadingModels"):aj("chatInput.noModels"))}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),ap&&ar&&(af=(ae=window.visualViewport?.height??window.innerHeight)-ar.top+6,ag=Math.max(120,Math.min(ar.top-8,.6*ae)),ah=ai?{left:8,right:8,maxWidth:"calc(100vw - 16px)"}:{left:ar.left,width:"max-content",minWidth:ar.width,maxWidth:"calc(100vw - 16px)"},(0,A.jsxs)("div",{ref:a2,className:"dropdown-surface",style:{position:"fixed",bottom:af,...ah,zIndex:500,display:"flex",flexDirection:"column",overflow:"hidden",maxHeight:ag},children:[(0,A.jsx)("div",{style:{padding:"8px 8px 6px",flexShrink:0},children:(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)"},children:[(0,A.jsx)(gE.A,{size:13,strokeWidth:1.8,color:"var(--text-dim)","aria-hidden":"true"}),(0,A.jsx)("input",{ref:a3,type:"search",autoComplete:"off",spellCheck:!1,value:ax,onChange:a=>ay(a.target.value),onKeyDown:a=>{"Escape"===a.key&&(a.preventDefault(),aq(!1))},placeholder:aj("chatInput.searchModels"),"aria-label":aj("chatInput.searchModels"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:13,boxSizing:"border-box",minWidth:0}})]})}),(0,A.jsx)("div",{style:{overflowY:"auto",minHeight:0,paddingBottom:4},children:0===b3.length?(0,A.jsx)("div",{style:{padding:"8px 12px",color:"var(--text-dim)",fontSize:12,whiteSpace:"nowrap"},children:ax.trim()?aj("chatInput.noMatchingModels"):b5?aj("chatInput.loadingModels"):aj("chatInput.noAvailableModels")}):b3.map((a,b)=>(0,A.jsxs)("div",{children:[b3.length>1&&(0,A.jsx)("div",{style:{padding:"6px 12px 4px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em",borderTop:b>0?"1px solid var(--border)":"none"},children:a.provider}),a.options.map(a=>{let b=a.modelId===f?.modelId&&a.provider===f?.provider;return(0,A.jsxs)("button",{className:"dropdown-item",onClick:()=>{aq(!1),N&&(!b||g)&&l(a.provider,a.modelId)},disabled:!N,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:b?"var(--bg-selected)":"transparent",border:"none",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",fontWeight:b?600:400,whiteSpace:"nowrap"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="none")},children:[b?(0,A.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,A.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})}):(0,A.jsx)("span",{style:{width:10,flexShrink:0}}),(0,A.jsx)("span",{className:"model-option-name",title:a.name,style:{flex:1,minWidth:0},children:a.name})]},`${a.provider}:${a.modelId}`)})]},a.provider))})]}))]}),u&&(0,A.jsxs)("div",{ref:a4,className:"composer-thinking-control",style:{position:"relative"},children:[(0,A.jsxs)("button",{className:"composer-thinking-button ui-focus-ring",onClick:()=>au(a=>!a),disabled:!N||e,title:aj("chatInput.changeReasoningTitle",{level:ca}),"aria-label":`${aj("chatInput.changeReasoning")}: ${ca}`,style:{background:at?"var(--bg-hover)":"none",cursor:e?"not-allowed":"pointer",opacity:e?.5:1},onMouseEnter:a=>{e||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{a.currentTarget.style.background=at?"var(--bg-hover)":"none",a.currentTarget.style.color="var(--text-muted)"},children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,A.jsx)("path",{d:"M9.5 2A5.5 5.5 0 0 0 4 7.5c0 1.7.78 3.21 2 4.21V14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-2.29c1.22-1 2-2.51 2-4.21A5.5 5.5 0 0 0 9.5 2z"}),(0,A.jsx)("line",{x1:"7",y1:"18",x2:"12",y2:"18"}),(0,A.jsx)("line",{x1:"8",y1:"21",x2:"11",y2:"21"})]}),(0,A.jsx)("span",{style:{whiteSpace:"nowrap"},children:cb}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),at&&(0,A.jsx)("div",{className:"dropdown-surface",style:{position:"absolute",bottom:"calc(100% + 6px)",left:ai?"auto":0,right:ai?0:void 0,zIndex:100,minWidth:250,maxWidth:"calc(100vw - 32px)"},children:cl.map(a=>{let b=(t??"auto")===a,c=gZ[a],d=c?aj(c):"",f="auto"!==a&&w?w[a]:void 0,g=null!=f&&f!==a?f:a,h=null!=f&&f!==a;return(0,A.jsxs)("button",{className:"dropdown-item",onClick:()=>{au(!1),!N||b||e||u(a)},disabled:!N,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:b?"var(--bg-selected)":"transparent",border:"none",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",fontWeight:b?600:400,whiteSpace:"nowrap"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="transparent")},children:[b?(0,A.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,A.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})}):(0,A.jsx)("span",{style:{width:10,flexShrink:0}}),(0,A.jsxs)("span",{style:{flexShrink:0,whiteSpace:"nowrap"},children:[g,h&&(0,A.jsxs)("span",{style:{color:"var(--text-dim)",fontWeight:400},children:[" (",a,")"]})]}),d&&(0,A.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11,color:"var(--text-dim)",marginLeft:8},children:d})]},a)})})]}),o&&p&&(0,A.jsxs)("button",{className:"composer-fast-toggle ui-focus-ring",type:"button",onClick:()=>{N&&!e&&p(!m)},disabled:!N||e,title:m&&!1===n?"Fast mode is enabled but inactive for this model":`Turn OMP Fast mode ${m?"off":"on"} for this model`,"aria-pressed":m,style:{background:m?"var(--bg-selected)":"none",color:m&&!1===n?"var(--status-warning)":m?"var(--accent)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",opacity:e?.5:1},children:[(0,A.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,A.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),aj("chatInput.fastLabel")]}),(0,A.jsx)("div",{className:"composer-toolbar-spacer",style:{flex:1}}),(0,A.jsxs)("div",{ref:a5,className:"composer-context-ring-wrap",children:[(0,A.jsxs)("button",{type:"button",className:"composer-context-ring","aria-haspopup":ce?"dialog":void 0,"aria-expanded":av,"aria-label":ce?aj("chatInput.contextWindow"):aj("chatInput.contextWindowUnavailable"),title:cf??void 0,disabled:!ce,onClick:()=>aw(a=>!a),children:[(0,A.jsxs)("svg",{width:"100%",height:"100%",viewBox:"0 0 26 26","aria-hidden":"true",style:{position:"absolute",inset:0},children:[(0,A.jsx)("circle",{cx:"13",cy:"13",r:"9.5",fill:"none",stroke:"var(--border)",strokeWidth:"2.5"}),(0,A.jsx)("circle",{cx:"13",cy:"13",r:"9.5",fill:"none",stroke:"var(--accent)",strokeWidth:"2.5",strokeLinecap:"round",strokeDasharray:gX,strokeDashoffset:gX*(1-cc/100),transform:"rotate(-90 13 13)"})]}),(0,A.jsx)("span",{className:"composer-context-ring-label",children:cd})]}),ce&&cf&&av&&(0,A.jsxs)("div",{className:"dropdown-surface composer-context-ring-popup",role:"dialog","aria-label":aj("chatInput.contextWindow"),children:[(0,A.jsx)("strong",{className:"composer-context-ring-popup-title",children:aj("chatInput.contextWindow")}),(0,A.jsx)("span",{className:"composer-context-ring-popup-used",children:aj("chatInput.contextUsed",{percent:gW(cc)})}),cg&&(0,A.jsx)("span",{className:"composer-context-ring-popup-meta",children:cg}),ch&&(0,A.jsx)("span",{className:"composer-context-ring-popup-meta",children:ch})]})]}),e&&!ai&&c&&(0,A.jsxs)("button",{type:"button",className:"composer-queue-action composer-queue-action-steer ui-focus-ring",onClick:()=>bQ("steer"),disabled:!N||!an.trim()||!!az.length||!!aB.length,title:az.length||aB.length?aj("chatInput.imagesCannotQueue"):aj("chatInput.steerNowTitle"),"aria-label":aj("chatInput.steer"),children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M5 1 L9 5 L5 9"}),(0,A.jsx)("line",{x1:"1",y1:"5",x2:"9",y2:"5"})]}),(0,A.jsx)("span",{className:"composer-queue-action-label",children:aj("chatInput.steer")})]}),e&&!ai&&d&&(0,A.jsxs)("button",{type:"button",className:"composer-queue-action composer-queue-action-followup ui-focus-ring",onClick:()=>bQ("followup"),disabled:!N||!an.trim()||!!az.length||!!aB.length,title:az.length||aB.length?aj("chatInput.imagesCannotQueue"):aj("chatInput.followUpTitle"),"aria-label":aj("chatInput.followUp"),children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,A.jsx)("line",{x1:"5",y1:"1",x2:"5",y2:"6"}),(0,A.jsx)("polyline",{points:"2.5 3.5 5 1 7.5 3.5"}),(0,A.jsx)("line",{x1:"2",y1:"9",x2:"8",y2:"9"})]}),(0,A.jsx)("span",{className:"composer-queue-action-label",children:aj("chatInput.followUp")})]}),e&&ck?(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:()=>bQ(ck),title:"steer"===ck?aj("chatInput.steerNowTitle"):aj("chatInput.followUpTitle"),"aria-label":"steer"===ck?aj("chatInput.steer"):aj("chatInput.followUp"),disabled:!N,"data-state":"run-submit",children:[(0,A.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M3 8h10"}),(0,A.jsx)("path",{d:"m9 4 4 4-4 4"})]}),(0,A.jsx)("span",{className:"composer-primary-label",children:"steer"===ck?aj("chatInput.steer"):aj("chatInput.followUp")})]}):e?(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:r?q:b,title:aj("chatInput.stopAgent"),"aria-label":aj("chatInput.stopAgent"),disabled:!N,"data-state":"stop",children:[(0,A.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:(0,A.jsx)("rect",{x:"1.5",y:"1.5",width:"7",height:"7",rx:"1.5",fill:"currentColor"})}),(0,A.jsx)("span",{className:"composer-primary-label",children:aj("chatInput.stop")})]}):(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:bw,disabled:!N||!an.trim()&&!az.length&&!aB.length,title:aj("chatInput.send"),"aria-label":aj("chatInput.send"),"data-state":"send",children:[(0,A.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,A.jsx)("line",{x1:"2",y1:"7",x2:"11",y2:"7"}),(0,A.jsx)("polyline",{points:"7.5 3 12 7 7.5 11"})]}),(0,A.jsx)("span",{className:"composer-primary-label",children:aj("chatInput.send")})]})]})]})]}),aG&&(0,A.jsx)("div",{className:"text-xs px-2 py-1",style:{color:aH?"var(--text-muted)":"var(--accent)",marginTop:4},children:aH?aj("chatInput.shellLocal"):aj("chatInput.shellToModel")})]})]})}));var hg=c(26065);function hh({request:a,onRespond:b,runtimeReady:c=!0}){let{t:d}=(0,E.s9)(),[e,f]=(0,B.useState)("editor"===a.method?a.prefill??"":""),g=()=>{c&&b(a,{cancelled:!0})},h=(0,hg.Z)({onClose:g,active:c}),i=()=>{c&&("confirm"===a.method?b(a,{confirmed:!0}):b(a,{value:e}))};return(0,A.jsx)("div",{className:"animate-fade-in",onMouseDown:a=>{c&&a.target===a.currentTarget&&g()},style:{position:"absolute",inset:0,zIndex:"var(--z-dialog)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay-backdrop)"},children:(0,A.jsxs)("div",{ref:h,role:"dialog","aria-modal":"true","aria-label":a.title,tabIndex:-1,className:"animate-scale-in",style:{width:"min(560px, 100%)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",background:"var(--bg)",boxShadow:"var(--shadow-modal)",overflow:"hidden",outline:"none"},children:[(0,A.jsxs)("div",{style:{padding:"var(--space-5) 14px",borderBottom:"1px solid var(--border)"},children:[(0,A.jsx)("div",{style:{color:"var(--text)",fontSize:"var(--text-lg)",fontWeight:650},children:a.title}),(0,A.jsx)("div",{style:{marginTop:3,color:"var(--text-dim)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)"},children:d("chatWindow.extensionRequest")})]}),(0,A.jsxs)("div",{style:{padding:14},children:["confirm"===a.method&&(0,A.jsx)("div",{style:{color:"var(--text-muted)",fontSize:"var(--text-base)",lineHeight:1.6,whiteSpace:"pre-wrap"},children:a.message}),"select"===a.method&&(0,A.jsx)("div",{style:{display:"grid",gap:"var(--space-4)"},children:a.options.map(d=>(0,A.jsx)("button",{disabled:!c,"aria-disabled":!c,onClick:()=>{c&&b(a,{value:d})},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,textAlign:"left",fontSize:"var(--text-base)",transition:"background-color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--bg-panel)")},children:d},d))}),"input"===a.method&&(0,A.jsx)("input",{autoFocus:c,disabled:!c,"aria-disabled":!c,readOnly:!c,"aria-label":a.title||a.placeholder||"Input value",value:e,placeholder:a.placeholder,onChange:a=>f(a.target.value),onKeyDown:a=>{c&&"Enter"===a.key&&i()},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",fontSize:"var(--text-base)",opacity:c?void 0:.6,cursor:c?void 0:"not-allowed"}}),"editor"===a.method&&(0,A.jsx)("textarea",{autoFocus:c,disabled:!c,"aria-disabled":!c,readOnly:!c,"aria-label":a.title||"Input value",value:e,onChange:a=>f(a.target.value),onKeyDown:a=>{c&&(a.metaKey||a.ctrlKey)&&"Enter"===a.key&&i()},style:{width:"100%",minHeight:220,padding:10,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",resize:"vertical",fontSize:"var(--text-base)",lineHeight:1.55,fontFamily:"var(--font-mono)",opacity:c?void 0:.6,cursor:c?void 0:"not-allowed"}})]}),(0,A.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"var(--space-4)",padding:"10px 14px",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,A.jsx)("button",{onClick:g,disabled:!c,"aria-disabled":!c,style:{padding:"var(--space-3) 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--bg)",a.currentTarget.style.color="var(--text-muted)")},children:d("chatWindow.cancel")}),"confirm"===a.method?(0,A.jsx)("button",{onClick:i,disabled:!c,"aria-disabled":!c,style:{padding:"var(--space-3) 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--on-accent)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,transition:"background-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--accent)")},children:d("chatWindow.confirm")}):"select"!==a.method?(0,A.jsx)("button",{onClick:i,disabled:!c,"aria-disabled":!c,style:{padding:"var(--space-3) 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--on-accent)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,transition:"background-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--accent)")},children:d("chatWindow.submit")}):null]})]})})}var hi=c(60776);async function hj(a,b){let c=await fetch(`/api/agent/${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw Error(d.error||d.code?(0,hi.K)(d):`HTTP ${c.status}`);return d.data}function hk({message:a}){let b="user"===a.role?"U":"assistant"===a.role?"A":"R",c="user"===a.role?"var(--accent)":"assistant"===a.role?"var(--text-muted)":"var(--text-dim)",d=a.content,e=("string"==typeof d?[{type:"text",text:d}]:Array.isArray(d)?d:[]).filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n").slice(0,400),f=!0===a.isError;return(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-4)",minWidth:0},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontSize:"var(--text-xs)",fontFamily:"var(--font-mono)",color:c,paddingTop:"var(--space-1)"},children:b}),(0,A.jsx)("div",{style:{fontSize:"toolResult"===a.role||"assistant"===a.role?11.5:12.5,lineHeight:1.55,minWidth:0,whiteSpace:"pre-wrap",wordBreak:"break-word",color:"toolResult"===a.role?"var(--text-muted)":"var(--text)",fontFamily:"toolResult"===a.role?"var(--font-mono)":"inherit"},children:"assistant"===a.role&&"string"!=typeof d&&Array.isArray(d)?d.map((a,b)=>(0,A.jsx)("div",{children:a&&"object"==typeof a&&"toolCall"===a.type?`→ ${a.toolName??"tool"} ${JSON.stringify(a.input??{})}`:a&&"object"==typeof a&&"text"===a.type?a.text??"":""},b)):e||("user"===a.role||"assistant"===a.role?"":f?"(error)":"(no output)")})]})}let hl="calc(var(--space-4) + var(--space-1)) var(--space-5)",hm={fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",fontWeight:700,letterSpacing:.4,textTransform:"uppercase",color:"var(--text-dim)"};function hn({value:a}){return"string"==typeof a?(0,A.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text-muted)",fontSize:"var(--text-md)",lineHeight:1.55},children:a}):Array.isArray(a)?(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"calc(var(--space-3) / 2)"},children:a.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",alignItems:"flex-start"},children:[(0,A.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0},children:"•"}),(0,A.jsx)("div",{style:{minWidth:0,flex:1},children:(0,A.jsx)(hn,{value:a})})]},b))}):null!==a&&"object"==typeof a?(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-2)"},children:Object.keys(a).map(b=>(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-4)",alignItems:"flex-start"},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--text-dim)",minWidth:110,textAlign:"right",paddingTop:"var(--space-1)"},children:b}),(0,A.jsx)("div",{style:{minWidth:0,flex:1},children:(0,A.jsx)(hn,{value:a[b]})})]},b))}):(0,A.jsx)("span",{style:{color:"var(--text-muted)",fontSize:"var(--text-md)"},children:String(a)})}function ho({task:a}){let{t:b}=(0,E.s9)();return a?(0,A.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",padding:hl},children:[(0,A.jsx)("span",{style:hm,children:b("subagentTranscript.taskLabel")}),(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(fV,{className:"markdown-subagent-text",children:a})})]}):null}function hp({completion:a,truncated:b}){let{t:c}=(0,E.s9)(),d=null;if(a)try{let b=JSON.parse(a);null===b||"object"!=typeof b||Array.isArray(b)||(d=b)}catch{d=null}let e=d?Object.keys(d):[],f=d&&1===e.length&&"string"==typeof d[e[0]]?d[e[0]]:null;return(0,A.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",padding:hl},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:"var(--space-4)"},children:[(0,A.jsx)("span",{style:hm,children:c("subagentTranscript.resultLabel")}),b&&(0,A.jsx)("span",{style:{fontSize:10.5,color:"var(--text-dim)"},children:c("subagentTranscript.completionTruncated")})]}),f?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)",whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text-muted)",fontSize:"var(--text-md)",lineHeight:1.55},children:f}):d?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(hn,{value:d})}):a?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(fV,{className:"markdown-subagent-text",children:a})}):(0,A.jsx)("div",{style:{marginTop:"var(--space-3)",fontSize:"var(--text-md)",color:"var(--text-dim)",fontStyle:"italic"},children:c("subagentTranscript.noCompletion")})]})}function hq({subagent:a,sessionId:b,transcriptVersion:c,events:d,onClose:e}){let{t:f}=(0,E.s9)(),[g,h]=(0,B.useState)(null),[i,j]=(0,B.useState)(null),[k,l]=(0,B.useState)(!1),[m,n]=(0,B.useState)(!1),[o,p]=(0,B.useState)(null),[q,r]=(0,B.useState)(!1),[s,t]=(0,B.useState)([]),[u,v]=(0,B.useState)(0),[w,x]=(0,B.useState)(!1),[y,z]=(0,B.useState)(null),[C,D]=(0,B.useState)(!1),F=(0,B.useRef)(0),G=(0,B.useRef)(0);(0,B.useRef)(0),(0,B.useRef)(0),(0,B.useRef)(0),(0,B.useRef)(null);let H=null!==a,I=a?.source==="history",J=!I,K=(0,B.useCallback)(async()=>{if(!b||!a?.id)throw Error("No session");let c=await fetch(`/api/sessions/${encodeURIComponent(b)}/subagents/${encodeURIComponent(a.id)}?mode=completion`);if(404===c.status)return{completion:null,truncated:!1};if(!c.ok)throw Error(`HTTP ${c.status}`);return await c.json()},[b,a?.id]),L=(0,B.useCallback)(async(c,d)=>{if(!b||!a?.id)throw Error("No session");if(d){let d=await fetch(`/api/sessions/${encodeURIComponent(b)}/subagents/${encodeURIComponent(a.id)}?fromByte=${c}`);if(!d.ok)throw Error(`HTTP ${d.status}`);return await d.json()}return await hj(b,{type:"get_subagent_messages",subagentId:a.id,sessionFile:a.sessionFile,fromByte:c})},[b,a?.id,a?.sessionFile]),M=(0,B.useCallback)(async c=>{if(!b||!a?.id)return;let d=++G.current;x(!0),z(null);try{let b;try{b=await L(c,I)}catch(d){if(I||!a.id)throw d;b=await L(c,!0)}if(d!==G.current)return;b.reset?t(b.messages):t(a=>[...a,...b.messages]),v(b.nextByte);let e="number"==typeof b.totalBytes?b.nextByte>=b.totalBytes:0===b.messages.length;D(e||b.nextByte<=b.fromByte)}catch(a){if(d!==G.current)return;z(a instanceof Error?a.message:String(a))}finally{d===G.current&&x(!1)}},[b,a?.id,I,L]);(0,B.useCallback)(async()=>{if(!b||!a?.id)return;let c=++F.current;n(!0),p(null);try{let d=await K();if(null===d.completion&&J){let d=((await hj(b,{type:"get_subagents"})).subagents??[]).find(b=>b.id===a?.id);if(c!==F.current)return;d&&h(d)}if(c!==F.current)return;j(d.completion),l(d.truncated)}catch(a){if(c!==F.current)return;p(a instanceof Error?a.message:String(a))}finally{c===F.current&&n(!1)}},[b,a?.id,J,K]);let N=g?.agent??a?.agent??"",O=g?.description??a?.description??"",P=g?.task??a?.task??a?.assignment??"",Q=a?.progress,R=f7(Q?.tokens),S=a?.source==="history"?[R?f("chatWindow.tokensUnit",{count:R}):null,f8(Q?.cost),f9(Q?.durationMs),Q?.resolvedModel?Q.resolvedModel.replace(/:.*$/,""):null].filter(Boolean).join(" \xb7 "):null,T=a?.source==="history"?a?.result?.abortReason??a?.result?.error:void 0,U=J&&!i&&d&&d.length>0?d.slice(-4):null;return(0,A.jsx)(f0.lG,{open:H,onOpenChange:a=>{a||e()},children:a&&(0,A.jsx)(f0.Cf,{ariaLabel:f("subagentTranscript.title"),style:{width:"min(94vw, 920px)",maxWidth:"min(94vw, 920px)"},children:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:"calc(var(--space-4) + var(--space-1))",marginBottom:"var(--space-5)"},children:[(0,A.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,A.jsx)(f0.L3,{style:{marginBottom:2,fontSize:16,lineHeight:1.3},children:(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)",color:"var(--accent)",fontSize:"var(--text-lg)"},children:N})}),O&&(0,A.jsx)("div",{style:{fontSize:12.5,color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:"var(--space-2)"},children:O}),(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:g?.sessionFile??a.sessionFile??a.id}),S&&(0,A.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:"var(--space-1)"},children:S}),T&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--status-error)",marginTop:"var(--space-1)",wordBreak:"break-word"},children:T})]}),(0,A.jsx)(f0.HM,{style:{flexShrink:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:18,lineHeight:1,padding:"2px 6px"},"aria-label":f("subagentTranscript.close"),children:"\xd7"})]}),U&&(0,A.jsx)("div",{"aria-live":"polite",style:{display:"grid",gap:"var(--space-1)",marginBottom:"var(--space-4)",padding:"var(--space-3) var(--control-padding-inline)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)"},children:U.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)",color:"tool"===a.kind?"var(--accent)":"var(--text-muted)",minWidth:0},children:[(0,A.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0},children:"tool"===a.kind?"\xb7":"notice"===a.kind?"!":"\xbb"}),(0,A.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.label})]},b))}),o?(0,A.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)",padding:"8px 2px"},children:o}):(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"calc(var(--space-4) + var(--space-1))"},children:[(0,A.jsx)(ho,{task:P}),(0,A.jsx)(hp,{completion:i,truncated:k}),m&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:f("subagentTranscript.loading")}),(0,A.jsx)("button",{type:"button","aria-expanded":q,"aria-controls":"subagent-transcript-panel",onClick:()=>{let a=!q;r(a),a&&0===s.length&&!w&&M(0)},style:{alignSelf:"flex-start",background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:"var(--text-md)",fontFamily:"inherit",padding:0},children:f(q?"subagentTranscript.hideTranscript":"subagentTranscript.showTranscript")}),q&&(0,A.jsxs)("div",{id:"subagent-transcript-panel",style:{display:"grid",gap:"var(--space-4)",padding:hl,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",maxHeight:"50dvh",overflowY:"auto"},children:[y?(0,A.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)"},children:y}):0!==s.length||w?s.map((a,b)=>(0,A.jsx)(hk,{message:a},b)):(0,A.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text-dim)",fontStyle:"italic"},children:f("subagentTranscript.noMessages")}),w&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:f("subagentTranscript.loading")}),!C&&!w&&(0,A.jsx)("button",{type:"button",onClick:()=>void M(u),style:{background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:"var(--text-md)",fontFamily:"inherit",padding:0},children:f("subagentTranscript.loadMore")})]})]})]})},a.id)})}function hr(a){if("user"===a.role){let b=a.content;return"string"==typeof b?b.slice(0,200):Array.isArray(b)?b.filter(a=>"text"===a.type&&a.text).map(a=>a.text).join("\n").slice(0,200):""}if("assistant"===a.role){let b=a.content??[],c=b.filter(a=>"text"===a.type).map(a=>a.text).join(" ");if(c)return c.slice(0,200);let d=b.filter(a=>"toolCall"===a.type).map(a=>a.toolName);if(d.length)return d.join(", ")}return""}function hs(a){return"user"===a.role?{bg:"color-mix(in srgb, var(--accent) 18%, transparent)",border:"color-mix(in srgb, var(--accent) 70%, transparent)"}:{bg:"color-mix(in srgb, var(--text-dim) 12%, transparent)",border:"color-mix(in srgb, var(--text-dim) 50%, transparent)"}}let ht=(0,B.memo)(function({messages:a,scrollContainer:b,messageRefs:c}){let[d,e]=(0,B.useState)(0),[f,g]=(0,B.useState)(1),[h,i]=(0,B.useState)(!1),[j,k]=(0,B.useState)([]),[l,m]=(0,B.useState)(!1),[n,o]=(0,B.useState)(null),p=(0,B.useRef)(!1),q=(0,B.useRef)(null),r=(0,B.useRef)(null),s=(0,B.useRef)(null),t=(0,B.useRef)(null),u=(0,B.useRef)(a);u.current=a;let v=(0,B.useCallback)(()=>{let a=b.current;if(!a)return;let c=a.scrollHeight,d=a.clientHeight,f=c-d;i(f>20),f<=0?(e(0),g(1)):(e(a.scrollTop/f),g(d/c))},[b]),w=(0,B.useRef)(null),x=(0,B.useCallback)(()=>{w.current||(w.current=setTimeout(()=>{w.current=null;let a=b.current;if(!a)return;let d=a.scrollHeight;if(d<=0)return;let e=c.current,f=[],g=0,h=u.current,i=a.getBoundingClientRect();for(let b=0;b<h.length;b++){let c=h[b];if("user"!==c.role&&"assistant"!==c.role)continue;let j=e?.[g];if(g++,("user"===c.role||"assistant"===c.role&&(c.content??[]).some(a=>"text"===a.type))&&j){let b=j.getBoundingClientRect(),e=b.top-i.top+a.scrollTop,g=b.height;f.push({topRatio:e/d,heightRatio:g/d,msg:c,index:f.length})}}k(f)},150))},[b,c]),y=(0,B.useRef)(null),z=(0,B.useCallback)(()=>{y.current=null,v()},[v]);(0,B.useEffect)(()=>{let a=b.current;if(!a)return;let c=()=>{null===y.current&&(y.current=requestAnimationFrame(z))};return a.addEventListener("scroll",c,{passive:!0}),()=>{a.removeEventListener("scroll",c),null!==y.current&&(cancelAnimationFrame(y.current),y.current=null)}},[b,z]),(0,B.useEffect)(()=>{let a=b.current;if(!a)return;let c=()=>{v(),x()},d=new ResizeObserver(c);return d.observe(a),a.firstElementChild&&d.observe(a.firstElementChild),c(),()=>{d.disconnect(),w.current&&(clearTimeout(w.current),w.current=null)}},[b,x,v]),(0,B.useEffect)(()=>{let a=setTimeout(()=>{v(),x()},50);return()=>clearTimeout(a)},[a.length,x,v]),(0,B.useEffect)(()=>()=>{null!==s.current&&(cancelAnimationFrame(s.current),s.current=null)},[]);let C=(0,B.useCallback)(a=>{let c=b.current;if(!c)return;let d=c.scrollHeight-c.clientHeight;d<=0||(c.scrollTop=Math.max(0,Math.min(1-f,a))/(1-f)*d)},[b,f]),D=(0,B.useCallback)(()=>{s.current=null,null!==t.current&&(o(t.current),t.current=null)},[]),E=(0,B.useCallback)(a=>{let b=a.currentTarget.getBoundingClientRect();t.current=(a.clientY-b.top)/b.height,null===s.current&&(s.current=requestAnimationFrame(D))},[D]),F=(0,B.useCallback)(a=>{if(!h)return;p.current=!0;let b=a.currentTarget.getBoundingClientRect(),c=(a.clientY-b.top)/b.height,e=c-d*(1-f),g=e>=0&&e<=f?e:f/2;C(c-g);let i=a=>{p.current&&C((a.clientY-b.top)/b.height-g)},j=()=>{p.current=!1,q.current=null,window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",j)};window.addEventListener("mousemove",i),window.addEventListener("mouseup",j),q.current={onMove:i,onUp:j}},[h,f,d,C]);(0,B.useEffect)(()=>()=>{let a=q.current;a&&(window.removeEventListener("mousemove",a.onMove),window.removeEventListener("mouseup",a.onUp),q.current=null),p.current=!1},[]);let G=r.current?.clientHeight??600,H=(0,B.useMemo)(()=>j.map(a=>hs(a.msg)),[j]),I=(0,B.useMemo)(()=>j.map(a=>hr(a.msg)),[j]),J=(0,B.useMemo)(()=>{if(!l||0===j.length)return[];let a=j.map(a=>Math.round(a.topRatio*G-11));for(let b=0;b<10;b++){for(let b=1;b<a.length;b++){let c=a[b-1]+22+2;a[b]<c&&(a[b]=c)}for(let b=a.length-2;b>=0;b--){let c=a[b+1]-22-2;a[b]>c&&(a[b]=c)}}for(let b=0;b<a.length;b++)a[b]=Math.max(0,Math.min(G-22,a[b]));return a},[l,j,G]);if(!h)return null;let K=d*(1-f)*100,L=100*f,M=null!==n&&j.length>0?j.reduce((a,b)=>Math.abs(b.topRatio-n)<Math.abs(j[a].topRatio-n)?b.index:a,0):null;return(0,A.jsxs)("div",{ref:r,onMouseDown:F,onMouseEnter:()=>m(!0),onMouseLeave:()=>{m(!1),o(null)},onMouseMove:E,style:{position:"absolute",top:0,right:0,bottom:0,width:20,zIndex:20,cursor:"default",userSelect:"none",background:"transparent",overflow:"visible"},children:[(0,A.jsx)("div",{style:{position:"absolute",right:3,width:3,top:`${K}%`,height:`${L}%`,background:"color-mix(in srgb, var(--text-dim) 32%, transparent)",borderRadius:2,pointerEvents:"none",zIndex:1}}),j.map(a=>{let b=H[a.index]??hs(a.msg),c=l&&M===a.index,d="user"===a.msg.role,e=100*a.topRatio;return(0,A.jsx)("div",{style:{position:"absolute",top:`${e}%`,transform:"translateY(-50%)",left:0,right:0,height:"12px",display:"flex",alignItems:"center",justifyContent:"flex-end",paddingRight:1,cursor:"pointer",zIndex:2},children:(0,A.jsx)("div",{style:{width:d?8:6,height:d?8:6,borderRadius:d?2:"50%",background:b.bg,border:`1.5px solid ${b.border}`,flexShrink:0,transition:"transform var(--dur-fast) var(--ease-out-warm)",transform:c?"scale(1.6)":"scale(1)"}})},a.index)}),(0,A.jsx)("div",{style:{position:"absolute",right:4,top:0,bottom:0,width:1,background:"color-mix(in srgb, var(--border) 72%, transparent)",zIndex:0}}),l&&j.map((a,b)=>{let c=I[b]??hr(a.msg),d=H[b]??hs(a.msg),e=M===a.index;return c&&0!==J.length?(0,A.jsx)("div",{style:{position:"absolute",top:J[b],right:"100%",marginRight:6,background:"var(--bg)",borderTop:`1px solid ${e?d.border:"var(--border)"}`,borderRight:`1px solid ${e?d.border:"var(--border)"}`,borderBottom:`1px solid ${e?d.border:"var(--border)"}`,borderLeft:`2px solid ${d.border}`,borderRadius:4,padding:"2px 7px",width:200,zIndex:100,pointerEvents:"none",opacity:e?1:.45,transition:"top var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:e?"var(--text)":"var(--text-muted)",lineHeight:1.4,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c})},a.index):null})]})}),hu=(0,K.A)("circle-dot-dashed",[["path",{d:"M10.1 2.18a9.93 9.93 0 0 1 3.8 0",key:"1qdqn0"}],["path",{d:"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7",key:"1bq7p6"}],["path",{d:"M21.82 10.1a9.93 9.93 0 0 1 0 3.8",key:"1rlaqf"}],["path",{d:"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69",key:"1xk03u"}],["path",{d:"M13.9 21.82a9.94 9.94 0 0 1-3.8 0",key:"l7re25"}],["path",{d:"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7",key:"1v18p6"}],["path",{d:"M2.18 13.9a9.93 9.93 0 0 1 0-3.8",key:"xdo6bj"}],["path",{d:"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69",key:"1jjmaz"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),hv={display:"flex",alignItems:"center",gap:"var(--space-4)",padding:"var(--space-4) var(--space-5)",fontSize:"var(--text-xs)",color:"var(--text-muted)"};function hw({status:a}){let b={size:14,strokeWidth:1.8,"aria-hidden":!0};return"completed"===a?(0,A.jsx)(f1,{...b,color:"var(--accent)"}):"in_progress"===a?(0,A.jsx)(hu,{...b,color:"var(--accent)"}):"blocked"===a?(0,A.jsx)(f2.A,{...b,color:"var(--text-muted)"}):"abandoned"===a?(0,A.jsx)(f4,{...b,color:"var(--text-dim)"}):(0,A.jsx)(f5,{...b,color:"var(--text-dim)"})}function hx({phases:a=[],collapsible:b=!1,defaultExpanded:c=!1}){let{t:d}=(0,E.s9)(),[e,f]=(0,B.useState)(!1),[g,h]=(0,B.useState)(!!b&&!c);if(0===a.length)return null;let i=a.flatMap(a=>a.tasks),j=i.filter(a=>"completed"===a.status).length,k=5,l=(e?a:a.slice(0,4)).map(a=>{let b=e?a.tasks:a.tasks.slice(0,k);return k-=b.length,{...a,tasks:b}}).filter(a=>a.tasks.length>0),m=l.reduce((a,b)=>a+b.tasks.length,0)<i.length,n=g?"":"border-b border-border",o=d("chatWindow.todoProgress",{done:j,total:i.length});return(0,A.jsxs)("section",{"aria-label":d("chatWindow.todoList"),className:"overflow-hidden border border-border bg-bg-subtle",style:{borderRadius:"var(--radius-card)",marginBlock:b?void 0:"var(--space-4)"},children:[b?(0,A.jsxs)("button",{type:"button","aria-expanded":!g,onClick:()=>h(a=>!a),title:g?d("chatWindow.expandPanel"):d("chatWindow.collapsePanel"),className:`${n} w-full cursor-pointer text-left`,style:{...hv,background:"none"},children:[(0,A.jsx)(gC,{size:15,strokeWidth:1.8,"aria-hidden":!0}),(0,A.jsx)("strong",{className:"font-medium text-text",children:d("chatWindow.todoList")}),(0,A.jsx)("span",{className:"ml-auto",children:o}),(0,A.jsx)(D.A,{size:14,strokeWidth:1.8,"aria-hidden":!0,style:{color:"var(--text-dim)",transform:g?"rotate(-90deg)":"rotate(0deg)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})]}):(0,A.jsxs)("div",{className:n,style:hv,children:[(0,A.jsx)(gC,{size:15,strokeWidth:1.8,"aria-hidden":!0}),(0,A.jsx)("strong",{className:"font-medium text-text",children:d("chatWindow.todoList")}),(0,A.jsx)("span",{className:"ml-auto",children:o})]}),!g&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("div",{className:"animate-slide-down",style:{display:"grid",gap:"var(--space-5)",padding:"calc(var(--space-4) + var(--space-1)) var(--space-5)"},children:l.map((a,b)=>(0,A.jsxs)("div",{style:{display:"grid",gap:"var(--space-3)"},children:[(0,A.jsx)("div",{className:"text-sm font-medium text-text-muted",children:a.name}),(0,A.jsx)("div",{style:{display:"grid",gap:"var(--space-3)"},children:a.tasks.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",minWidth:0,alignItems:"flex-start",gap:"var(--space-4)",fontSize:"var(--text-base)",color:"var(--text)"},"aria-label":`${d(`chatWindow.todoStatus.${a.status}`)}: ${a.content}`,children:[(0,A.jsx)("span",{style:{marginTop:"var(--space-1)",flexShrink:0},children:(0,A.jsx)(hw,{status:a.status})}),(0,A.jsxs)("span",{className:"min-w-0",children:[(0,A.jsx)("span",{className:"completed"===a.status||"abandoned"===a.status?"text-text-dim line-through":void 0,children:a.content}),a.blocker&&(0,A.jsx)("span",{style:{display:"block",marginTop:"var(--space-1)",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:d("chatWindow.todoBlocker",{blocker:a.blocker})})]})]},a.id??`${a.content}-${b}`))})]},a.id??`${a.name}-${b}`))}),(m||e)&&(0,A.jsx)("button",{type:"button",className:"border-t border-border text-left text-xs text-accent hover:text-accent-hover",style:{padding:"var(--space-4) var(--space-5)"},onClick:()=>f(a=>!a),children:e?d("chatWindow.todoShowLess"):d("chatWindow.todoShowAll")})]})]})}var hy=c(27993);let hz=(0,K.A)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),hA=(0,K.A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),hB=(0,K.A)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);var hC=c(28624);let hD=(0,K.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),hE=(0,K.A)("circle-dollar-sign",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 18V6",key:"zqpxq5"}]]);var hF=c(58250);let hG=(0,K.A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),hH=(0,K.A)("clock-3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]]),hI=(0,K.A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);var hJ=c(77265);function hK(a,b){switch(a){case"pending":case"running":return"started";case"completed":case"failed":case"aborted":return a;default:return b}}function hL(a,b=Date.now()){return"history"===a.source?"history":"started"!==a.status?"live":void 0===a.lastUpdate||b-a.lastUpdate>15e3?"stale":"live"}function hM(a,b,c=Date.now()){switch(b){case"active":return a.filter(a=>"history"!==a.source&&"started"===a.status&&"live"===hL(a,c));case"completed":return a.filter(a=>"completed"===a.status);case"failed":return a.filter(a=>"failed"===a.status||"aborted"===a.status||"lost"===a.status);default:return a}}function hN(a){return"history"===a.source?"history":"live"}function hO(a){return"started"!==a.status}function hP(a,b,c){if(0===b.length)return a;let d=new Map;for(let b of a)d.set(b.id,b);let e=c?.skipNewerThan;for(let a of b){let b=d.get(a.id);if(!b){d.set(a.id,a);continue}if(void 0!==e&&(b.lastUpdate??0)>=e)continue;let c=hN(b),f=hN(a);if(!(!hO(a)&&hO(b))){if("history"===f&&"live"===c){if(!hO(a))continue;let c={...b};for(let[b,d]of Object.entries(a))void 0!==d&&(c[b]=d);c.source="history",d.set(a.id,c);continue}if("live"===f&&"history"===c){d.set(a.id,a);continue}d.set(a.id,{...b,...a,source:f})}}return[...d.values()].sort((a,b)=>a.index-b.index||a.id.localeCompare(b.id))}let hQ={started:"chatWindow.subagentState.started",completed:"chatWindow.subagentState.completed",failed:"chatWindow.subagentState.failed",aborted:"chatWindow.subagentState.aborted",lost:"chatWindow.subagentState.lost"},hR=[{value:"all",key:"chatWindow.subagentHub.filter.all"},{value:"active",key:"chatWindow.subagentHub.filter.active"},{value:"completed",key:"chatWindow.subagentHub.filter.completed"},{value:"failed",key:"chatWindow.subagentHub.filter.failed"}];function hS({icon:a,label:b,children:c}){return(0,A.jsxs)("span",{"aria-label":b,title:b,"data-subagent-metric":b,style:{display:"inline-flex",alignItems:"center",gap:"var(--space-2)",minWidth:0,fontVariantNumeric:"tabular-nums"},children:[(0,A.jsx)(a,{"aria-hidden":!0,style:{width:"var(--text-md)",height:"var(--text-md)",flexShrink:0}}),(0,A.jsx)("span",{children:c})]})}function hT({subagent:a}){let{t:b}=(0,E.s9)(),c=a.progress,d=!!(c?.retryState??c?.retryFailure),e=[];if(d){let a=c?.retryState?.attempt??c?.retryFailure?.attempt??0,d=c?.retryState?.maxAttempts??0,f=d>0?b("chatWindow.subagentRetrying",{attempt:a,max:d}):b("chatWindow.subagentRetryAttempt",{attempt:a});e.push((0,A.jsx)(hS,{icon:hy.A,label:f,children:d>0?`${a}/${d}`:a},"retry"))}else if("started"===a.status){let a=c?.currentTool?`${c.currentTool}${c.lastIntent?` — ${c.lastIntent}`:""}`:c?.lastIntent;a&&e.push((0,A.jsx)(hS,{icon:c?.currentTool?hz:hA,label:a,children:a},"activity"))}let f=function(a){if(!a)return 0;let b=0,c=a.inflightTaskDetails;c&&"object"==typeof c&&!Array.isArray(c)&&Array.isArray(c.progress)&&(b+=c.progress.length);let d=a.extractedToolData?.task;if(Array.isArray(d))for(let a of d)a&&"object"==typeof a&&!Array.isArray(a)&&Array.isArray(a.progress)&&(b+=a.progress.length);return b}(c),g=a.agentSource&&"bundled"!==a.agentSource?a.agentSource:null,h=f7(c?.tokens),i=f8(c?.cost??a.result?.cost),j=f7(c?.contextTokens),k=j?`${j}/${f7(c?.contextWindow)??"?"}`:null,l=ga(c?.resolvedModel),m=f9(c?.durationMs),n=[g?(0,A.jsx)(hS,{icon:hB,label:g,children:"user"===g?null:g},"source"):null,f>0?(0,A.jsx)(hS,{icon:hC.A,label:b("chatWindow.subagentNestedCount",{count:f}),children:f},"nested"):null,h?(0,A.jsx)(hS,{icon:hD,label:b("chatWindow.tokensUnit",{count:h}),children:h},"tokens"):null,i?(0,A.jsx)(hS,{icon:hE,label:i,children:i},"cost"):null,k?(0,A.jsx)(hS,{icon:hF.A,label:b("chatWindow.contextGauge",{used:j??"?",total:f7(c?.contextWindow)??"?"}),children:k},"context"):null,l?(0,A.jsx)(hS,{icon:hG,label:l,children:l},"model"):null,m?(0,A.jsx)(hS,{icon:hH,label:m,children:m},"duration"):null].filter(Boolean);return(n.length>0&&e.push((0,A.jsx)("span",{style:{display:"inline-flex",flexWrap:"wrap",gap:"var(--space-2) var(--space-4)"},children:n},"meta")),0===e.length)?null:(0,A.jsx)("span",{"data-subagent-activity-line":!0,className:"subagent-hub-activity-line",style:{display:"flex",minWidth:0,overflow:"hidden",fontSize:"var(--text-xs)",fontFamily:"var(--font-mono)",color:d?"var(--accent)":"var(--text-dim)",lineHeight:1.4,fontVariantNumeric:"tabular-nums",gap:"var(--space-4)",flexWrap:"wrap"},children:e})}function hU({events:a}){let{t:b}=(0,E.s9)(),c=(a??[]).slice(-2).map(a=>a.label.trim()).filter(Boolean);if(0===c.length)return null;let d=c.join(" \xb7 "),e=`${b("chatWindow.subagentHub.preview")}: ${d}`;return(0,A.jsxs)("span",{"data-subagent-activity-preview":!0,className:"subagent-hub-activity-preview",title:e,"aria-label":e,style:{display:"flex",minWidth:0,overflow:"hidden",color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",lineHeight:1.4,wordBreak:"keep-all"},children:[(0,A.jsxs)("span",{style:{flexShrink:0,color:"var(--text-muted)"},children:[b("chatWindow.subagentHub.preview"),":"]}),(0,A.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginLeft:"var(--space-2)"},children:d})]})}function hV({children:a,depth:b=0}){return(0,A.jsx)("div",{"data-subagent-group-label":!0,className:"subagent-hub-group-label",style:{marginLeft:b>0?`calc(var(--space-6) * ${b})`:void 0,color:"var(--text-dim)",fontSize:"var(--text-xs)",fontWeight:650,letterSpacing:"0.04em",textTransform:"uppercase",padding:"var(--space-2) var(--space-5) var(--space-2)",wordBreak:"keep-all"},children:a})}function hW({subagent:a,events:b,freshnessNow:c,onSelectSubagent:d}){let{t:e}=(0,E.s9)(),f="history"!==a.source,g=e(hQ[a.status]),h="history"!==a.source||"started"!==a.status,i=a.task??a.description??a.assignment??e("chatWindow.subagentHub.noTask"),j=void 0===c?"history"===a.source?"history":"live":hL(a,c),k=e(`chatWindow.subagentHub.fresh.${j}`),l="stale"===j&&void 0!==c&&"number"==typeof a.lastUpdate?Math.max(Math.ceil(15),Math.floor(Math.max(0,c-a.lastUpdate)/1e3)):null,m=null===l?null:e("chatWindow.subagentHub.lastUpdated",{value:`${l}s`}),n=m?`${k} \xb7 ${m}`:k,o="live"===j?"var(--status-success)":"stale"===j?"var(--status-warning)":"var(--text-dim)",p=[a.agent,i,h?g:null,n].filter(Boolean).join(" \xb7 ");return(0,A.jsxs)("button",{type:"button",className:"ui-focus-ring subagent-hub-row",onClick:()=>d(a),"aria-label":p,title:p,style:{display:"flex",width:"100%",minWidth:0,minHeight:"var(--control-touch, 44px)",flexDirection:"column",alignItems:"stretch",justifyContent:"center",gap:"var(--space-2)",padding:"var(--space-4) var(--space-5)",border:"thin solid var(--border)",borderRadius:"var(--radius-control)",background:f?"var(--bg)":"var(--bg-panel)",color:f?"var(--text)":"var(--text-dim)",opacity:f?1:.72,fontFamily:"inherit",fontSize:"var(--text-sm)",textAlign:"left",cursor:"pointer",wordBreak:"keep-all",transition:"border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 40%, var(--border))",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background=f?"var(--bg)":"var(--bg-panel)"},children:[(0,A.jsxs)("span",{className:"subagent-hub-row-main",style:{display:"flex",minWidth:0,alignItems:"center",gap:"var(--space-3)"},children:[(0,A.jsx)(f6,{status:a.status,live:f}),(0,A.jsx)("span",{className:"subagent-hub-row-agent",style:{flexShrink:0,color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",fontWeight:650},children:a.agent}),(0,A.jsx)("span",{title:i,className:"subagent-hub-row-task",style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"inherit"},children:i}),h&&(0,A.jsx)("span",{className:"subagent-hub-row-state",style:{flexShrink:0,color:f?"var(--text-muted)":"var(--text-dim)",fontSize:"var(--text-xs)"},children:g}),(0,A.jsxs)("span",{"data-subagent-freshness":j,className:"subagent-hub-freshness","aria-label":n,title:n,style:{display:"inline-flex",flexShrink:0,alignItems:"center",gap:"var(--space-2)",color:o,fontSize:"var(--text-xs)",fontVariantNumeric:"tabular-nums",opacity:"history"===j?.8:.9},children:[(0,A.jsx)("span",{"aria-hidden":!0,style:{width:"var(--space-2)",height:"var(--space-2)",flexShrink:0,borderRadius:"var(--radius-control)",background:o}}),(0,A.jsx)("span",{children:k}),m&&(0,A.jsx)("span",{children:m})]}),a.detached&&(0,A.jsx)("span",{"aria-hidden":!0,"data-subagent-detached":!0,className:"subagent-hub-detached",style:{flexShrink:0,color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},children:"⤴"})]}),(0,A.jsx)(hT,{subagent:a}),(0,A.jsx)(hU,{events:b})]})}function hX({subagents:a,subagentEvents:b={},onSelectSubagent:c,defaultExpanded:d=!1,now:e}){let{t:f}=(0,E.s9)(),[g,h]=(0,B.useState)(!d),[i,j]=(0,B.useState)("all"),[k,l]=(0,B.useState)(null);a.some(a=>"history"!==a.source&&"started"===a.status);let m=e??k??0,n=void 0!==e||null!==k,o=(0,B.useMemo)(()=>({all:a.length,active:hM(a,"active",m).length,completed:hM(a,"completed",m).length,failed:hM(a,"failed",m).length}),[a,m]),p=o.active,q=(0,B.useMemo)(()=>hM(a,i,m),[a,i,m]),r=(0,B.useMemo)(()=>(function(a){let b=[...a].sort((a,b)=>a.index-b.index||a.id.localeCompare(b.id)),c=new Set(b.map(a=>a.id)),d=new Map,e=[],f=new Map;for(let a of b){let b=a.parentToolCallId;if(!b){e.push(a);continue}let g=d.get(b)??[];if(g.push(a),d.set(b,g),!c.has(b)){let c=f.get(b)??[];c.push(a),f.set(b,c)}}let g=[],h=new Set,i=(a,b)=>{for(let c of a){if(h.has(c.id))continue;h.add(c.id),g.push({kind:"row",key:`row-${c.id}`,subagent:c,depth:b});let a=(d.get(c.id)??[]).filter(a=>!h.has(a.id));0!==a.length&&(g.push({kind:"group",key:`group-nested-${c.id}`,group:"nested",parentLabel:c.agent,depth:b+1}),i(a,b+1))}};if(e.length>0&&(g.push({kind:"group",key:"group-roots",group:"roots",depth:0}),i(e,0)),f.size>0)for(let[a,b]of(g.push({kind:"group",key:"group-orphans",group:"orphans",depth:0}),f))g.push({kind:"group",key:`group-parent-${a}`,group:"nested",parentLabel:a,depth:0}),i(b,0);let j=b.filter(a=>!h.has(a.id));return j.length>0&&i(j,0),g})(q),[q]);return(0,A.jsxs)("section",{"aria-label":f("chatWindow.subagentsPanel"),className:"subagent-hub-root",style:{width:"100%",minWidth:0,overflow:"hidden",border:"thin solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)"},children:[(0,A.jsxs)("button",{type:"button",className:"ui-focus-ring subagent-hub-header-trigger","aria-expanded":!g,onClick:()=>h(a=>!a),title:g?f("chatWindow.subagentHub.expand"):f("chatWindow.subagentHub.collapse"),style:{display:"flex",width:"100%",minHeight:"var(--control-touch, 44px)",alignItems:"center",gap:"var(--space-3)",padding:"var(--space-4) var(--space-5)",border:"none",borderBottom:g?"none":"thin solid var(--border)",background:"transparent",color:"var(--text-muted)",fontFamily:"inherit",fontSize:"var(--text-sm)",textAlign:"left",cursor:"pointer",wordBreak:"keep-all"},children:[(0,A.jsx)(hI,{"aria-hidden":!0,style:{width:"var(--text-lg)",height:"var(--text-lg)",flexShrink:0}}),(0,A.jsx)("strong",{style:{color:"var(--text)",fontWeight:650},children:f("chatWindow.subagentsPanel")}),(0,A.jsxs)("span",{"aria-label":f("chatWindow.subagentSummary",{running:p,total:a.length}),title:f("chatWindow.subagentSummary",{running:p,total:a.length}),style:{display:"inline-flex",alignItems:"center",gap:"var(--space-2)",marginLeft:"auto",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",fontVariantNumeric:"tabular-nums"},children:[(0,A.jsx)("span",{children:p}),(0,A.jsx)("span",{"aria-hidden":!0,children:"/"}),(0,A.jsx)("span",{children:a.length})]}),(0,A.jsx)(D.A,{"aria-hidden":!0,style:{width:"var(--text-lg)",height:"var(--text-lg)",flexShrink:0,color:"var(--text-dim)",transform:g?"rotate(-90deg)":"rotate(0deg)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})]}),!g&&(0,A.jsxs)("div",{className:"subagent-hub-content",style:{display:"grid",maxHeight:"30vh",gap:"var(--space-4)",overflowY:"auto",padding:"var(--space-4) var(--space-5) var(--space-5)"},children:[(0,A.jsx)("div",{"data-subagent-filter-row":!0,className:"subagent-hub-filters",role:"group",style:{display:"flex",minWidth:0,flexWrap:"wrap",gap:"var(--space-1)",alignItems:"center",padding:"var(--space-1)",border:"thin solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)"},children:hR.map(({value:a,key:b})=>{let c=i===a,d=f(b);return(0,A.jsxs)("button",{type:"button",className:"ui-focus-ring","data-subagent-filter":a,"aria-pressed":c,title:`${d} (${o[a]})`,onClick:()=>j(a),style:{display:"inline-flex",minHeight:"var(--control-touch, 44px)",alignItems:"center",gap:"var(--space-2)",padding:"var(--space-2) var(--space-3)",border:"none",borderRadius:"var(--radius-control)",background:c?"color-mix(in srgb, var(--accent) 16%, var(--bg))":"transparent",color:c?"var(--accent)":"var(--text-muted)",fontFamily:"inherit",fontSize:"var(--text-xs)",fontWeight:c?650:550,cursor:"pointer",wordBreak:"keep-all",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,A.jsx)("span",{children:d}),(0,A.jsx)("span",{"aria-hidden":!0,style:{display:"inline-flex",minWidth:"var(--space-8)",height:"var(--space-6)",alignItems:"center",justifyContent:"center",padding:"0 var(--space-2)",borderRadius:"var(--radius-control)",background:c?"color-mix(in srgb, var(--accent) 20%, transparent)":"var(--bg-subtle)",color:c?"var(--accent)":"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",fontVariantNumeric:"tabular-nums"},children:o[a]})]},a)})}),0===q.length?(0,A.jsx)("div",{style:{padding:"var(--space-5)",color:"var(--text-dim)",fontSize:"var(--text-sm)",textAlign:"center",wordBreak:"keep-all"},children:f("chatWindow.subagentHub.empty")}):r.map(a=>{if("group"===a.kind){let b="roots"===a.group?f("chatWindow.subagentHub.group.roots"):"orphans"===a.group?f("chatWindow.subagentHub.group.orphans"):f("chatWindow.subagentHub.group.nested",{agent:a.parentLabel??""});return(0,A.jsx)(hV,{depth:a.depth,children:b},a.key)}let d=a.depth>0?{marginLeft:`calc(var(--space-6) * ${a.depth})`,paddingLeft:"var(--space-5)",borderLeft:"thin solid var(--border)"}:void 0;return(0,A.jsx)("div",{"data-subagent-row-wrap":!0,"data-subagent-depth":a.depth,className:`subagent-hub-row-wrap${a.depth>0?" subagent-hub-nested":""}`,style:{display:"grid",gap:"var(--space-3)",...d},children:(0,A.jsx)(hW,{subagent:a.subagent,events:b[a.subagent.id],freshnessNow:n?m:void 0,onSelectSubagent:c})},a.key)}),(0,A.jsxs)("div",{"data-subagent-observe-only":!0,className:"subagent-hub-observe-only",role:"note",style:{display:"flex",minWidth:0,alignItems:"flex-start",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",border:"thin solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",color:"var(--text-dim)",wordBreak:"keep-all"},children:[(0,A.jsx)(hJ.A,{"aria-hidden":!0,style:{width:"var(--text-md)",height:"var(--text-md)",flexShrink:0,marginTop:"var(--space-1)"}}),(0,A.jsxs)("span",{style:{display:"grid",minWidth:0,gap:"var(--space-1)",fontSize:"var(--text-xs)",lineHeight:1.4},children:[(0,A.jsx)("strong",{style:{color:"var(--text-muted)",fontWeight:650},children:f("chatWindow.subagentHub.observeOnly")}),(0,A.jsx)("span",{title:f("chatWindow.subagentHub.observeOnlyHint"),children:f("chatWindow.subagentHub.observeOnlyHint")})]})]})]})]})}function hY({todoPhases:a,subagents:b,subagentEvents:c,onSelectSubagent:d,defaultExpanded:e=!1}){return 0===a.length&&0===b.length?null:(0,A.jsxs)("div",{style:{display:"grid",gap:"var(--space-3)",marginBottom:"var(--space-4)"},children:[(0,A.jsx)(hx,{phases:a,collapsible:!0,defaultExpanded:e}),b.length>0&&(0,A.jsx)(hX,{subagents:b,subagentEvents:c,onSelectSubagent:d,defaultExpanded:e})]})}function hZ(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>(fZ(a)&&"toolCall"===a.type?{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input}:null)??a);return{...a,content:c}}var h$=c(48043);let h_=[],h0=["read","bash","edit","write","task"],h1=["bash","read","edit","write","grep","find","ls","task"];c(57548);let h2="omp-web:tool-preset";function h3(a,b,c,d,e,f,g,h){return a===b&&c===d&&e===f&&(void 0===h||g===h)}function h4(a){return"bundled"===a||"user"===a||"project"===a?a:void 0}function h5(a){var b;if(!fZ(a))return;let c={},d=f_(a.index);void 0!==d&&(c.index=d);let e=f$(a.id);void 0!==e&&(c.id=e);let f=f$(a.agent);void 0!==f&&(c.agent=f);let g=h4(a.agentSource);void 0!==g&&(c.agentSource=g);let h="pending"===(b=a.status)||"running"===b||"completed"===b||"failed"===b||"aborted"===b?b:void 0;void 0!==h&&(c.status=h);let i=f$(a.task);void 0!==i&&(c.task=i);let j=f$(a.assignment);void 0!==j&&(c.assignment=j);let k=f$(a.description);void 0!==k&&(c.description=k);let l=f$(a.lastIntent);void 0!==l&&(c.lastIntent=l);let m=f$(a.currentTool);void 0!==m&&(c.currentTool=m);let n=f$(a.currentToolArgs);void 0!==n&&(c.currentToolArgs=n);let o=f_(a.currentToolStartMs);void 0!==o&&(c.currentToolStartMs=o),Array.isArray(a.recentTools)&&(c.recentTools=a.recentTools),Array.isArray(a.recentOutput)&&(c.recentOutput=a.recentOutput.filter(a=>"string"==typeof a));let p=f_(a.toolCount);void 0!==p&&(c.toolCount=p);let q=f_(a.requests);void 0!==q&&(c.requests=q);let r=f_(a.tokens);void 0!==r&&(c.tokens=r);let s=f_(a.contextTokens);void 0!==s&&(c.contextTokens=s);let t=f_(a.contextWindow);void 0!==t&&(c.contextWindow=t);let u=f_(a.cost);void 0!==u&&(c.cost=u);let v=f_(a.durationMs);void 0!==v&&(c.durationMs=v),("string"==typeof a.modelOverride||Array.isArray(a.modelOverride)&&a.modelOverride.every(a=>"string"==typeof a))&&(c.modelOverride=a.modelOverride);let w=f$(a.modelRole);void 0!==w&&(c.modelRole=w);let x=f$(a.resolvedModel);if(void 0!==x&&(c.resolvedModel=x),"boolean"==typeof a.resolvedModelIsFallback&&(c.resolvedModelIsFallback=a.resolvedModelIsFallback),fZ(a.retryState)){let b=f_(a.retryState.attempt),d=f_(a.retryState.maxAttempts),e=f_(a.retryState.delayMs),f=f$(a.retryState.errorMessage),g=f_(a.retryState.startedAtMs);void 0!==b&&void 0!==d&&void 0!==e&&void 0!==f&&void 0!==g&&(c.retryState={attempt:b,maxAttempts:d,delayMs:e,errorMessage:f,startedAtMs:g})}if(fZ(a.retryFailure)){let b=f_(a.retryFailure.attempt),d=f$(a.retryFailure.errorMessage);void 0!==b&&void 0!==d&&(c.retryFailure={attempt:b,errorMessage:d})}return void 0!==a.inflightTaskDetails&&(c.inflightTaskDetails=a.inflightTaskDetails),fZ(a.extractedToolData)&&(c.extractedToolData=a.extractedToolData),Object.keys(c).length>0?c:void 0}function h6(a){let b;if(!fZ(a))return;let c=f$(a.id),d=f$(a.agent);if(!c||!d)return;if("started"===a.status||"completed"===a.status||"failed"===a.status||"aborted"===a.status)b=a.status;else{if("pending"!==a.status&&"running"!==a.status)return;b="started"}let e={id:c,agent:d,status:b,index:f_(a.index)??-1,source:"live"},f=h4(a.agentSource);void 0!==f&&(e.agentSource=f);let g=f$(a.description);void 0!==g&&(e.description=g);let h=f$(a.task);void 0!==h&&(e.task=h);let i=f$(a.assignment);void 0!==i&&(e.assignment=i);let j=f$(a.sessionFile);void 0!==j&&(e.sessionFile=j);let k=f$(a.parentToolCallId);void 0!==k&&(e.parentToolCallId=k);let l=f_(a.lastUpdate);void 0!==l&&(e.lastUpdate=l);let m=h5(a.progress);return void 0!==m&&(e.progress=m),e}function h7(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null};case"update":return{isStreaming:!0,streamingMessage:b.message};case"end":case"reset":return{isStreaming:!1,streamingMessage:null};default:return a}}function h8(a){let b=Object.keys(a);if(b.length<=64)return a;let c={...a},d=b.length-64;for(let a of b.filter(a=>!/^(?:0|[1-9]\d*)$/.test(a))){if(d<=0)break;delete c[a],d-=1}if(d>0)for(let a of b){if(d<=0)break;void 0!==c[a]&&(delete c[a],d-=1)}return c}function h9(a){let b={id:a.id,agent:a.agent,agentSource:a.agentSource,description:a.description,status:a.status,task:a.task,assignment:a.assignment,index:a.index,sessionFile:a.sessionFile,source:"history",detached:a.detached,result:a.result};return b.progress={status:"started"===a.status?"running":a.status,task:a.task,assignment:a.assignment,description:a.description,lastIntent:a.lastIntent,toolCount:a.toolCount,requests:a.requests,tokens:a.tokens,contextTokens:a.contextTokens,contextWindow:a.contextWindow,cost:a.cost,durationMs:a.durationMs,modelOverride:a.modelOverride,modelRole:a.modelRole,resolvedModel:a.resolvedModel,resolvedModelIsFallback:a.resolvedModelIsFallback,retryFailure:a.retryFailure},b}let ia={steering:[],followUp:[]},ib="omp-queue-";function ic(a){return 0===a.steering.length&&0===a.followUp.length}function id(a){return a&&"inherit"!==a?a:"auto"}function ie(a){return a?.provider&&a.id?{provider:a.provider,modelId:a.id,name:a.name,reasoning:a.reasoning,thinking:a.thinking}:null}let ig=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," ","Space","Spacebar"]);class ih extends Error{constructor(a){super("timeout"===a?(0,E.Tl)("agentSession.eventStreamTimeout"):(0,E.Tl)("agentSession.eventStreamFailed")),this.status=a,this.name="EventStreamConnectionError"}}function ii(a){if("string"!=typeof a)return!1;let b=a.trim();if(!b||b.startsWith("//"))return!1;let c=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(b);if(!c)return!1;let d=c[1].toLowerCase();return"http"===d||"https"===d||"mailto"===d}function ij(a){return new Promise(b=>setTimeout(b,a))}function ik(a){let b=a.findIndex(a=>!a.exiting);return -1===b?a:a.map((a,c)=>c===b?{...a,exiting:!0}:a)}function il(a,b){switch(b.type){case"add":if(a.visible.some(a=>a.exiting)||a.visible.length>=5)return{visible:a.visible.some(a=>a.exiting)?a.visible:ik(a.visible),pending:[...a.pending,b.notice]};return{...a,visible:[...a.visible,b.notice]};case"mark_oldest_exiting":return{...a,visible:ik(a.visible)};case"remove":return function(a,b){let c=a,d=b;for(;d.length>0&&c.length<5;){let[a,...b]=d;c=[...c,a],d=b}return d.length>0&&!c.some(a=>a.exiting)&&(c=ik(c)),{visible:c,pending:d}}(a.visible.filter(a=>a.id!==b.id),a.pending);default:return a}}function im(a){let b=a.content;return"string"==typeof b?b:Array.isArray(b)?b.map(a=>a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function io(a){if(!a||"object"!=typeof a||"image"!==a.type)return"";let b=a.source;return b&&"object"==typeof b?["url"===b.type?"url":"base64","string"==typeof b.media_type?b.media_type:"","string"==typeof b.data?b.data:"","string"==typeof b.url?b.url:""].join(":"):["base64","string"==typeof a.mimeType?a.mimeType:"","string"==typeof a.data?a.data:"",""].join(":")}function ip(a){let b=a.content;return"string"==typeof b?JSON.stringify({text:b,images:[]}):Array.isArray(b)?JSON.stringify({text:im(a),images:b.map(io).filter(Boolean)}):JSON.stringify({text:"",images:[]})}function iq(a,b){return a&&"object"==typeof a?"number"!=typeof a.tokensBefore?null:{reason:b,tokensBefore:a.tokensBefore,estimatedTokensAfter:"number"==typeof a.estimatedTokensAfter?a.estimatedTokensAfter:0}:null}function ir(a,b){let c=b?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}}));return{userMsg:{role:"user",content:c?.length?[...a.trim()?[{type:"text",text:a}]:[],...c]:a,timestamp:Date.now()},piImages:b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}))}}function is(a){if("builtin"===a.source)return null;let b="extension"===a.source?"extension":"skill"===a.source?"skill":"prompt";return{name:a.name,description:a.description,source:b}}function it(a){return a.type.startsWith("image/")||"text/plain"===a.type||"text/markdown"===a.type}let iu=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,iv=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,iw=/\x1B\[([0-9;]*)m/g,ix=/\x1B_pi:c\x07/g,iy=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],iz=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function iA(a){return a.replace(ix,"").replace(iu,"")}function iB(a){let b=[],c=0;for(;c<a.length;){if(27===a.charCodeAt(c)){let b=a.slice(c).match(iv);if(b){c+=b[0].length;continue}}let d=a.codePointAt(c);if(void 0===d)break;let e=String.fromCodePoint(d);b.push({start:c,end:c+e.length,char:e}),c+=e.length}return b}function iC(a,b){let c=iB(a)[b];return c?a.slice(0,c.start)+a.slice(c.end):a}function iD(a){return iB(a)[0]?.char}let iE={ArrowUp:"\x1b[A",ArrowDown:"\x1b[B",ArrowRight:"\x1b[C",ArrowLeft:"\x1b[D",Home:"\x1b[H",End:"\x1b[F",Insert:"\x1b[2~",Delete:"\x1b[3~",PageUp:"\x1b[5~",PageDown:"\x1b[6~",Escape:"\x1b",Backspace:""},iF={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function iG(a){return"user"===a.role||"custom"===a.role&&"compaction"===a.customType}function iH(a,b,c={}){let d={...a,content:b};return c.omitUsage&&(d.usage=void 0),d}function iI(){let{t:a}=(0,E.s9)(),[b,c]=(0,B.useState)(null);return(0,A.jsxs)("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:["omp ",(0,A.jsx)("span",{style:{color:"var(--text)"},children:b?`v${b}`:a("chatWindow.versionNotFound")})]})}function iJ({messageCount:a,toolCallCount:b,children:c}){let{t:d,tn:e}=(0,E.s9)(),[f,g]=(0,B.useState)(!1),h=[d("chatWindow.processDetails"),e("chatWindow.messageCount",a)];return b>0&&h.push(e("chatWindow.toolCallCount",b)),(0,A.jsxs)("div",{style:{marginBottom:"var(--space-5)"},children:[(0,A.jsxs)("button",{type:"button","aria-expanded":f,onClick:()=>g(a=>!a),className:"process-details-toggle",title:d(f?"chatWindow.collapseProcessDetails":"chatWindow.expandProcessDetails"),children:[(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,"aria-hidden":"true",style:{flexShrink:0,transform:f?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"}}),(0,A.jsx)("span",{className:"process-details-label",children:h.join(" \xb7 ")})]}),f&&(0,A.jsx)("div",{style:{marginTop:"var(--space-4)"},children:c})]})}let iK=(0,B.memo)(function({messages:a,entryIds:b,conversationMeta:c,messageRefs:d,isStreaming:e,sessionBusy:f,runtimeReady:g,isNew:h,forkingEntryId:i,handleFork:j,handleNavigate:k,handleEditContent:l,modelNames:m,messageCwd:n,onOpenFile:o,sessionId:p,toolCallsDefaultCollapsed:q,visibleCount:r,nearBottom:s,sentinelRef:t,handleLoadMoreClick:u}){let{t:v}=(0,E.s9)(),{toolResultsMap:w,lastAnchorIdx:x,visibleRefIndexByMessage:y}=c,z=(c,r={})=>{let s=r.messageOverride??a[c],t="user"===s.role&&c>0&&"assistant"===a[c-1].role?b[c-1]:void 0,u="user"===s.role||"assistant"===s.role,v=y.get(c),x=r.keyPrefix??"message",z=!1;if("assistant"===s.role){z=!0;for(let b=c+1;b<a.length;b++){let c=a[b].role;if("user"===c)break;if("assistant"===c){z=!1;break}}z&&e&&c===a.length-1&&(z=!1)}void 0!==r.showTimestamp&&(z=r.showTimestamp);let B=(0,A.jsx)(gf,{message:s,toolResults:w,modelNames:m,cwd:n,onOpenFile:o,entryId:b[c],onFork:!g||f||h||0===c&&"user"===s.role?void 0:j,forking:i===b[c],onNavigate:!g||f?void 0:k,prevAssistantEntryId:!g||f?void 0:t,onEditContent:g?l:void 0,showTimestamp:z,prevTimestamp:c>0?a[c-1].timestamp:void 0,sessionId:p,toolCallsDefaultCollapsed:q},`${x}-view-${c}`);return u&&!1!==r.attachRef&&void 0!==v?(0,A.jsx)("div",{ref:a=>{d.current[v]=a},children:B},`${x}-${c}`):B},C=[];for(let b=0;b<a.length;){if(!iG(a[b])){C.push(z(b)),b+=1;continue}let c=b,g=c+1;for(;g<a.length&&!iG(a[g]);)g+=1;let h=function(a,b,c){for(let e=c-1;e>b;e--){var d;if("assistant"===(d=a[e]).role&&H(d).answerBlocks.some(a=>"image"===a.type||"text"===a.type&&a.text.trim().length>0))return e}for(let d=c-1;d>b;d--)if(a[d]?.role==="assistant")return d;return -1}(a,c,g);if(-1===h||(f||e)&&g===a.length&&c===x){for(let a=c;a<g;a++)C.push(z(a));b=g;continue}C.push(z(c));let i=[];for(let a=c+1;a<h;a++)i.push(a);let j=i.filter(b=>{var c;return"assistant"===(c=a[b]).role?G(c).length>0:"custom"===c.role}),k=a[h],l=H(k),m=l.processBlocks.length>0?iH(k,l.processBlocks,{omitUsage:!0}):null,n=l.answerBlocks.length>0?iH(k,l.answerBlocks):null,o=j.length+ +!!m;if(o>0){let b=j.map(a=>y.get(a)).find(a=>"number"==typeof a)??(n?void 0:y.get(h)),e=(0,A.jsxs)(iJ,{messageCount:o,toolCallCount:function(a,b){let c=0;for(let d of b){let b=a[d];b?.role==="assistant"&&(c+=I(G(b)))}return c}(a,j)+I(l.processBlocks),children:[j.map(a=>z(a,{attachRef:!1,keyPrefix:"process"})),m&&z(h,{attachRef:!1,keyPrefix:"process-final",messageOverride:m,showTimestamp:!1})]});C.push((0,A.jsx)("div",{ref:void 0===b?void 0:a=>{d.current[b]=a},children:e},`process-group-${c}-${h}`))}n&&C.push(z(h,{messageOverride:n}));for(let a=h+1;a<g;a++)C.push(z(a));b=g}let D=(0,B.useRef)(null),{startIndex:F,hasMore:J}=(0,B.useMemo)(()=>{let a=Math.max(0,C.length-r);if(s||null===D.current)return D.current=a,{startIndex:a,hasMore:a>0};let b=Math.min(D.current,a);return D.current=b,{startIndex:b,hasMore:b>0}},[C.length,r,s]);return(0,A.jsxs)(A.Fragment,{children:[J&&(0,A.jsx)("button",{ref:t,type:"button",onClick:u,className:"py-3 w-full text-center text-xs text-text-muted hover:text-text transition-colors cursor-pointer",children:v("chatWindow.scrollUpToLoad",{count:F})}),C.slice(F)]})});function iL({session:a,newSessionCwd:b,advisorEnabled:c,toolCallsDefaultCollapsed:d=!0,onAgentEnd:e,onSessionCreated:f,onSessionForked:g,modelsRefreshKey:h,chatInputRef:i,onBranchDataChange:j,onSystemPromptChange:k,onSystemPromptLoaderChange:l,onSessionStatsChange:m,onSessionStatsPanelOpen:n,onOpenSettingsTab:o,onContextUsageChange:p,onOpenFile:q,onRuntimeReadyChange:r}){let{t:s,tn:t}=(0,E.s9)(),{playDoneSound:u,unlockAudio:v}=function(){let[a,b]=(0,B.useState)(()=>!0),c=(0,B.useRef)(a),d=(0,B.useRef)(null),e=(0,B.useCallback)(()=>{if(d.current&&"closed"!==d.current.state)return d.current;try{d.current=new AudioContext}catch{return null}return d.current},[]),f=(0,B.useCallback)((a=!1)=>{if(!a&&!c.current)return;let b=e();b&&"suspended"===b.state&&b.resume().catch(()=>{})},[e]);return{playDoneSound:(0,B.useCallback)(()=>{if(!c.current)return;let a=e();if(!a)return;let b=()=>{try{let b;b=a.currentTime,[523.25,659.25].forEach((c,d)=>{let e=a.createOscillator(),f=a.createGain();e.connect(f),f.connect(a.destination),e.type="sine",e.frequency.value=c;let g=b+.18*d;f.gain.setValueAtTime(0,g),f.gain.linearRampToValueAtTime(.18,g+.02),f.gain.exponentialRampToValueAtTime(.001,g+.45),e.start(g),e.stop(g+.45),e.onended=()=>{e.disconnect(),f.disconnect()}})}catch{}};"suspended"===a.state?a.resume().then(b).catch(()=>{}):b()},[e]),unlockAudio:f}}(),w=(0,gT.a)(),x=(0,B.useRef)(u);x.current=u;let y=(0,B.useCallback)(()=>{x.current(),e?.()},[e]),z=(0,B.useCallback)(a=>{i?.current?.insertIfEmpty(a)},[i]),{loading:C,error:D,messages:F,entryIds:G,streamState:H,sessionReadiness:I,runtimeError:J,runtimeReady:K,retryRuntimeState:L,agentRunning:M,bashRunning:N,pendingBash:O,modelNames:P,modelList:Q,modelsLoading:R,modelError:S,modelThinkingLevels:T,modelThinkingLevelMaps:U,thinkingLevel:V,fastModeEnabled:W,fastModeActive:X,liveModelMeta:Y,retryInfo:Z,contextUsage:$,forkingEntryId:_,isCompacting:aa,compactResult:ab,displayModel:ac,sessionStats:ad,slashCommands:ae,slashCommandsLoading:af,queuedMessages:ag,notices:ah,extensionDialog:ai,extensionCustomUi:aj,extensionStatuses:ak,extensionWidgets:al,respondToExtensionUi:am,sendExtensionCustomInput:an,isAutoModelSelection:ao,agentPhase:ap,activeGoal:aq,activePlan:ar,subagents:as,subagentEvents:at,subagentTranscriptVersions:au,activeSubagentCount:av,currentTodoPhase:aw,todoPhases:ax,isNew:ay,sessionIdRef:az,messagesEndRef:aA,scrollContainerRef:aB,handleSend:aC,handleAbort:aD,handleFork:aE,handleNavigate:aF,handleModelChange:aG,handleSteer:aH,handleFollowUp:aI,handlePromptWithStreamingBehavior:aJ,handleAbortCompaction:aK,removeQueuedMessage:aL,promoteQueuedToSteer:aM,handleBuiltinSlashCommand:aN,handleThinkingLevelChange:aO,handleFastModeChange:aP,handleCycleModel:aQ,handleCycleThinkingLevel:aR,handleAbortRetry:aS,loadSlashCommands:aT}=function(a){let{session:b,newSessionCwd:c,advisorEnabled:d,onAgentEnd:e,onSessionCreated:f,onSessionForked:g,modelsRefreshKey:h,onBranchDataChange:i,onSystemPromptChange:j,onSystemPromptLoaderChange:k,onSessionStatsPanelOpen:l,onOpenSettingsTab:m,onOpenFile:n}=a,o=(0,h$.j)(),p=null===b&&null!==c,q=p?{history:"ready",runtime:"ready"}:{history:"idle",runtime:"idle"},[r,s]=(0,B.useState)(null),[t,u]=(0,B.useState)(!p),[v,w]=(0,B.useState)(null),[x,y]=(0,B.useState)(q),[z,A]=(0,B.useState)(null),[C,D]=(0,B.useState)(null),[F,G]=(0,B.useState)([]),[H,I]=(0,B.useState)([]),[J,K]=(0,B.useReducer)(h7,{isStreaming:!1,streamingMessage:null}),[L,M]=(0,B.useState)(!1),[N,O]=(0,B.useState)(!1),[P,Q]=(0,B.useState)(null),R=(0,B.useRef)(!0),[S,T]=(0,B.useState)({}),[U,V]=(0,B.useState)([]),[W,X]=(0,B.useState)(!1),[Y,Z]=(0,B.useState)(null),[$,_]=(0,B.useState)(null),[aa,ab]=(0,B.useState)({}),[ac,ad]=(0,B.useState)({}),[ae,af]=(0,B.useState)(null),[ag,ah]=(0,B.useState)(null),[ai,aj]=(0,B.useState)(()=>(function(a=null){if(!a)return"default";try{let b=a.getItem(h2);return"none"===b||"default"===b||"full"===b?b:"default"}catch{return"default"}})()),[ak,al]=(0,B.useState)("auto"),[am,an]=(0,B.useState)(!1),[ao,ap]=(0,B.useState)(void 0),[aq,ar]=(0,B.useState)("immediate"),[as,at]=(0,B.useState)(!0),[au,av]=(0,B.useState)(!1),[aw,ax]=(0,B.useState)("all"),[ay,az]=(0,B.useState)("all"),[aA,aB]=(0,B.useState)(null),[aC,aD]=(0,B.useState)(null),aE=(0,B.useRef)(0),aF=(0,B.useCallback)(a=>{a&&a.contextWindow>0&&(aE.current=a.contextWindow),aD(b=>(function(a,b){if(!b)return null;let c=0===b.tokens||null===b.tokens,d=(a?.tokens??0)>0;if(c&&d||null!=b.tokens&&b.contextWindow>0&&b.tokens>1.1*b.contextWindow)return a;let e=b.tokens??a?.tokens??null;return{percent:b.percent??(b.contextWindow>0&&null!=e?e/b.contextWindow*100:a?.percent??null),contextWindow:b.contextWindow,tokens:e}})(b,a))},[]),[aG,aH]=(0,B.useState)(null),[aI,aJ]=(0,B.useState)(null),[aK,aL]=(0,B.useState)(null),[aM,aN]=(0,B.useState)(null),[aO,aP]=(0,B.useState)(!1),[aQ,aR]=(0,B.useState)(null),[aS,aT]=(0,B.useState)(null),[aU,aV]=(0,B.useState)(null),[aW,aX]=(0,B.useState)([]),[aY,aZ]=(0,B.useState)(!1),[a$,a_]=(0,B.useReducer)(il,{visible:[],pending:[]}),[a0,a1]=(0,B.useState)(null),[a2,a3]=(0,B.useState)(null),[a4,a5]=(0,B.useState)(null),[a6,a7]=(0,B.useState)([]),[a8,a9]=(0,B.useState)([]),[ba,bb]=(0,B.useState)({steering:[],followUp:[]}),[bc,bd]=(0,B.useState)([]),[be,bf]=(0,B.useState)({}),[bg,bh]=(0,B.useState)({}),[bi,bj]=(0,B.useState)([]),[bk,bl]=(0,B.useState)(null),[bm,bn]=(0,B.useState)(null),bo=bc.filter(a=>"history"!==a.source&&"started"===a.status).length,bp=(0,B.useRef)(null),bq=(0,B.useRef)(null),br=(0,B.useRef)(null),bs=(0,B.useRef)(null),bt=(0,B.useRef)(null),bu=(0,B.useRef)(b?.id??null);(0,B.useRef)(b?.id??null).current=b?.id??null;let bv=(0,B.useRef)(0),bw=(0,B.useRef)(0),bx=(0,B.useRef)(0),by=(0,B.useRef)(q),bz=(0,B.useRef)(p||"ready"===q.runtime);by.current=x,bz.current=p||"ready"===x.runtime;let bA=(0,B.useRef)(0),bB=(0,B.useRef)(!1),bC=(0,B.useRef)(!1),bD=(0,B.useRef)(0),bE=(0,B.useRef)(!1),bF=(0,B.useRef)(!1),bG=(0,B.useRef)(0),bH=(0,B.useRef)(null),bI=(0,B.useRef)(!1),bJ=(0,B.useRef)(!1),bK=(0,B.useRef)(!0),bL=(0,B.useRef)(void 0),bM=(0,B.useRef)(0),bN=(0,B.useRef)(0),bO=(0,B.useRef)(null),bP=(0,B.useRef)(null),bQ=(0,B.useRef)(null),bR=(0,B.useRef)(!1),bS=(0,B.useRef)(null),bT=(0,B.useRef)(null),bU=(0,B.useRef)(null),bV=(0,B.useRef)(null),bW=(0,B.useRef)(null),bX=(0,B.useRef)(null),bY=(0,B.useRef)(0),bZ=(0,B.useRef)(null),b$=(0,B.useRef)([]);b$.current=bc;let b_=(0,B.useRef)(0),b0=(0,B.useRef)(0),b1=(0,B.useRef)(null);(0,B.useRef)(!1);let b2=(0,B.useRef)(null),b3=(0,B.useCallback)((a=bu.current)=>!!p||!!a&&bu.current===a&&bz.current,[p]),b4=(0,B.useCallback)((a,b)=>{let c=bx.current+1;bx.current=c,bv.current=c,b&&(bw.current=c);let d={...by.current,history:"loading",...b&&!p?{runtime:"loading"}:{}};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),b&&!p&&A(null),c},[p]),b5=(0,B.useCallback)((a,b,c)=>{if(!R.current||bu.current!==a||bv.current!==b)return!1;let d={...by.current,...c};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),!0},[p]),b6=(0,B.useCallback)((a,b,c)=>{if(!R.current||bu.current!==a||bw.current!==b)return!1;let d={...by.current,...c};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),!0},[p]);null===b2.current&&(b2.current=function(a,b=function(a){if("u">typeof document&&!document.hidden&&"function"==typeof requestAnimationFrame){let b=requestAnimationFrame(a);return()=>cancelAnimationFrame(b)}let b=setTimeout(a,50);return()=>clearTimeout(b)}){let c=null,d=null,e=()=>{d&&(d(),d=null)},f=()=>{d=null;let b=c;c=null,b&&a(b)};return{push(g){if("message_update"===g.type){c=g,d||(d=b(f));return}if("message_end"===g.type)c=null,e();else if(c){e();let b=c;c=null,a(b)}a(g)},reset(){c=null,e()}}}(a=>{bH.current?.(a)}));let b7=b2.current;null===bq.current&&(bq.current=function({createSource:a,timeoutMs:b,onFatalClose:c}){let d=null,e=a=>d===a&&!a.invalidated,f=a=>{null!==a.timeout&&(clearTimeout(a.timeout),a.timeout=null),a.timeout=setTimeout(()=>{e(a)&&h(a,"timeout")},b)},g=a=>{a.promise=new Promise(b=>{a.resolve=b}),a.settled=!1,f(a)},h=(a,b)=>{a.settled||(a.settled=!0,null!==a.timeout&&(clearTimeout(a.timeout),a.timeout=null),a.resolve({status:b,source:a.source}))},i=(a,b)=>{!a.invalidated&&(a.invalidated=!0,d===a&&(d=null),h(a,"closed"),b&&2!==a.source.readyState&&a.source.close())},j=a=>{e(a)&&2!==a.source.readyState&&h(a,"connected")},k=a=>{if(e(a)){if(2===a.source.readyState){h(a,"closed"),i(a,!1),c?.(a.sessionId,a.source);return}0===a.source.readyState&&a.settled&&g(a)}};return{ensure(b){let c,e,l,m,n=d;if(n&&n.sessionId===b){if(1===n.source.readyState)return n.settled||h(n,"connected"),Promise.resolve({status:"connected",source:n.source});if(0===n.source.readyState)return n.settled&&g(n),n.promise;i(n,!0)}else n&&i(n,!0);return e=null,l=new Promise(a=>{c=a}),m=a(b,{onOpen:()=>{e&&j(e)},onError:()=>{e&&k(e)}}),d=e={sessionId:b,source:m,promise:l,resolve:c,settled:!1,invalidated:!1,timeout:null},f(e),1===m.readyState?h(e,"connected"):2===m.readyState&&k(e),e.promise},currentSource:a=>d?.sessionId!==a||d.invalidated?null:d.source,isCurrent:(a,b)=>d?.sessionId===a&&d.source===b&&!d.invalidated,markConnected(a,b){let c=d;c&&c.sessionId===a&&c.source===b&&j(c)},invalidate(a,b){let c=d;c&&(void 0===a||c.sessionId===a)&&(void 0===b||c.source===b)&&i(c,!0)}}}({timeoutMs:6e4,createSource:(a,b)=>{b7.reset();let c=new EventSource(`/api/agent/${encodeURIComponent(a)}/events`);return c.onopen=b.onOpen,c.onerror=b.onError,bp.current=c,c},onFatalClose:(a,b)=>{bp.current!==b||(bp.current=null,bt.current&&(clearTimeout(bt.current),bt.current=null),bE.current&&(bt.current=setTimeout(()=>{bt.current=null,bE.current&&bu.current===a&&(br.current?.(a),bs.current?.(a))},1e3)))}}));let b8=bq.current,b9=a.setToolPreset??aj,ca=p||"ready"===x.runtime,cb=aK??r?.context.model??aM??null,cc=p?ae??ag:aK??($?{provider:$.provider,modelId:$.modelId}:r?.context.model??aM),cd=function(a,b,c){if(gV(c))return c;if(!b)return 0;let d=a.find(a=>a.provider===b.provider&&a.id===b.modelId);return gV(d?.contextWindow)?d.contextWindow:0}(U,cc,aE.current),ce=(0,B.useMemo)(()=>aC??function(a,b){if(!b||!(b>0))return null;for(let c=a.length-1;c>=0;c--){let d=a[c];if("assistant"!==d.role||!d.usage)continue;let e=d.usage,f=(e.input??0)+(e.output??0)+(e.cacheRead??0)+(e.cacheWrite??0);if(!(f<=0)&&!(f>1.1*b))return{tokens:f,contextWindow:b,percent:f/b*100}}return null}(F,cd),[aC,F,cd]),cf=(0,B.useMemo)(()=>{if(a0)return a0;let a={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},c=0,d=0,e=0,f=0,g=0;for(let b of F){if("user"===b.role&&(d+=1),"toolResult"===b.role&&(f+=1),"assistant"!==b.role)continue;e+=1;let h=b.usage;g+=b.content.filter(a=>"toolCall"===a.type).length,h&&(a.input+=h.input??0,a.output+=h.output??0,a.cacheRead+=h.cacheRead??0,a.cacheWrite+=h.cacheWrite??0,c+=h.cost?.total??0)}return(a.total=a.input+a.output+a.cacheRead+a.cacheWrite,0===a.total&&0===F.length)?null:{sessionFile:r?.filePath||void 0,sessionId:bu.current??b?.id??"",sessionName:b?.name,userMessages:d,assistantMessages:e,toolCalls:g,toolResults:f,totalMessages:F.length,tokens:a,cost:c,...ce?{contextUsage:ce}:{}}},[F,a0,ce,r?.filePath,b?.id,b?.name]),cg=(0,B.useMemo)(()=>{for(let a=0;a<bi.length;a++){let b=bi[a],c=Array.isArray(b?.tasks)?b.tasks:[],d=c.filter(a=>"completed"===a.status).length;if(c.some(a=>"pending"===a.status||"in_progress"===a.status))return{name:b.name,index:a+1,phaseCount:bi.length,done:d,total:c.length}}return null},[bi]),ch=(0,B.useCallback)((a,b)=>{bd(c=>{if(b?.sessionId!==void 0&&(!R.current||bu.current!==b.sessionId||void 0!==b.rosterGeneration&&b0.current!==b.rosterGeneration))return c;let d=hP(c,a,b);return b$.current=d,d})},[]),ci=(0,B.useCallback)(async(a,b=bv.current)=>{let c=b0.current;try{let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/subagents`);if(!d.ok)return!1;let e=await d.json();if(bu.current!==a||b0.current!==c||void 0!==b&&bv.current!==b)return!1;let f=(e.subagents??[]).map(h9);return ch(f,{sessionId:a,rosterGeneration:c}),!0}catch{return!1}},[ch]),cj=(0,B.useCallback)(a=>{if(!R.current||bu.current!==a||!bz.current||!b$.current.some(a=>"history"!==a.source&&"started"===a.status)||bV.current||bX.current)return;let b=b0.current;bW.current="reconcile",bV.current=setTimeout(()=>{bV.current=null,bW.current=null,R.current&&bu.current===a&&b0.current===b&&(function(a,b=Date.now()){return a.some(a=>"history"!==a.source&&"started"===a.status&&("stale"===hL(a,b)||(a.missingSnapshots??0)>0||void 0!==a.missingSince))}(b$.current)?bZ.current?.(a):cj(a))},5e3)},[]),ck=(0,B.useCallback)(a=>{if(!b3(a))return Promise.resolve(!1);let b=bX.current;if(b)return b;let c=Date.now(),d=b0.current,e=++bY.current,f=(async()=>{try{let b=await hj(a,{type:"get_subagents"});if(!R.current||bu.current!==a||b0.current!==d)return!1;let e=(b?.subagents??[]).map(h6).filter(a=>void 0!==a),f=new Set(e.map(a=>a.id)),g=Date.now();return bd(b=>{if(!R.current||bu.current!==a||b0.current!==d)return b;let h=hP(b,e,{skipNewerThan:c}),i=function(a,b,c,d=Date.now()){let e=!1,f=a.map(a=>{if("history"===a.source||"started"!==a.status)return a;if(b.has(a.id)){if(void 0===a.missingSnapshots&&void 0===a.missingSince)return a;let b={...a};return delete b.missingSnapshots,delete b.missingSince,e=!0,b}if((a.lastUpdate??0)>=c)return a;let f=("number"==typeof a.missingSnapshots&&Number.isFinite(a.missingSnapshots)&&a.missingSnapshots>=0?Math.floor(a.missingSnapshots):0)+1,g="number"==typeof a.missingSince&&Number.isFinite(a.missingSince)?a.missingSince:d;return e=!0,{...a,missingSnapshots:f,missingSince:g,...f>=2&&d-g>=3e4?{status:"lost"}:{}}});return e?f:a}(h,f,c,g);return b$.current=i,i}),ci(a),!0}catch{return!1}finally{bY.current===e&&(bX.current=null,cj(a))}})();return bX.current=f,f},[b3,ci,cj]);bZ.current=ck;let cl=(0,B.useCallback)(()=>{null!==bU.current&&(cancelAnimationFrame(bU.current),bU.current=null),bS.current=null,bT.current=null,bf({}),bh({})},[]);(0,B.useCallback)(()=>{b$.current=[],bd([]),b0.current+=1,cl()},[cl]);let cm=(0,B.useRef)(0),cn=(0,B.useCallback)(()=>(cm.current+=1,cm.current),[]),co=(0,B.useCallback)((a,b)=>(void 0===b||b===cm.current)&&(cm.current+=1,_(a),!a||(aL(b=>b&&(b.provider!==a.provider||b.modelId!==a.modelId)?null:b),!0)),[]),cp=(0,B.useCallback)(async a=>{if(!b3(a))return;let b=bw.current,c=cn();try{let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/state`);if(!d.ok)return;let e=await d.json();if(bu.current!==a||bw.current!==b||!co(ie(e.state?.model),c))return;e.state?.thinkingLevel!==void 0&&al(id(e.state.thinkingLevel)),e.state?.fastModeEnabled!==void 0&&an(e.state.fastModeEnabled),ap(e.state?.fastModeActive),e.state?.autoRetryEnabled!==void 0&&av(e.state.autoRetryEnabled),e.state?.interruptMode!==void 0&&ar(e.state.interruptMode),e.state?.autoCompactionEnabled!==void 0&&at(e.state.autoCompactionEnabled),e.state?.steeringMode!==void 0&&ax(e.state.steeringMode),e.state?.followUpMode!==void 0&&az(e.state.followUpMode)}catch{}},[co,cn,b3]),cq=(0,B.useCallback)((a,b,c,d,e,f)=>{if(!R.current||!h3(bu.current,a,bv.current,e,bw.current,d,b_.current,f))return!1;let g=b.state,h=co(ie(g?.model),c);return g?(void 0!==g.contextUsage&&aF(g.contextUsage??null),void 0!==g.systemPrompt&&aH(g.systemPrompt||null),h&&void 0!==g.thinkingLevel&&al(id(g.thinkingLevel)),void 0!==g.fastModeEnabled&&an(g.fastModeEnabled),ap(g.fastModeActive),void 0!==g.autoRetryEnabled&&av(g.autoRetryEnabled),void 0!==g.interruptMode&&ar(g.interruptMode),void 0!==g.isCompacting&&(bB.current=g.isCompacting,aP(g.isCompacting)),void 0!==g.autoCompactionEnabled&&at(g.autoCompactionEnabled),void 0!==g.steeringMode&&ax(g.steeringMode),void 0!==g.followUpMode&&az(g.followUpMode),void 0!==g.extensionStatuses&&a7(g.extensionStatuses??[]),void 0!==g.extensionWidgets&&a9(g.extensionWidgets??[]),void 0!==g.todoPhases&&bj(g.todoPhases??[]),0===g.queuedMessageCount&&Date.now()-bD.current>=5e3&&bb(ia)):(aF(null),bB.current=!1,aP(!1),!b.running&&Date.now()-bD.current>=5e3&&bb(ia)),b6(a,d,{runtime:"ready"}),A(null),!0},[co,aF,b6]),cr=(0,B.useCallback)(async(a,b,c,d)=>{let e=cn();try{let f=await fetch(`/api/sessions/${encodeURIComponent(a)}/state`);if(!f.ok)throw Error(`HTTP ${f.status}`);let g=await f.json();return cq(a,g,e,b,c,d)?g:null}catch(e){if(R.current&&h3(bu.current,a,bv.current,c,bw.current,b,b_.current,d)){let c=e instanceof Error?e.message:String(e);b6(a,b,{runtime:"error"}),A(c)}return console.error("Failed to load agent state:",e),null}},[cq,cn,b6]),cs=(0,B.useCallback)(async(a,b=!1,c=!1,d)=>{let e=b4(a,c);b&&u(!0);let f=new URLSearchParams({deferThinking:"1",deferMedia:"1"}),g=fetch(`/api/sessions/${encodeURIComponent(a)}?${f}`),h=(async()=>{try{let b=await g;if(404===b.status){if(!R.current||bu.current!==a||bv.current!==e||void 0!==d&&b_.current!==d)return!1;return s(null),D(null),G([]),I([]),w(null),b5(a,e,{history:"error"}),u(!1),!1}if(!b.ok)throw Error(`HTTP ${b.status}`);let c=await b.json();if(!R.current||bu.current!==a||bv.current!==e||void 0!==d&&b_.current!==d)return!1;return s(c),D(c.leafId),G(c.context.messages),I(c.context.entryIds??[]),bj(c.context.todoPhases??[]),ci(a,e),aL(null),w(null),c.context.thinkingLevel&&"off"!==c.context.thinkingLevel&&al(c.context.thinkingLevel),b5(a,e,{history:"ready"}),u(!1),!0}catch(b){return R.current&&bu.current===a&&bv.current===e&&(void 0===d||b_.current===d)&&(w(String(b)),b5(a,e,{history:"error"}),u(!1)),!1}})(),i=c?cr(a,e,e,d):Promise.resolve(null);if(!c)return await h,null;let j=await i;return await h,j},[b4,cr,ci,b5]),ct=(0,B.useCallback)(async(a,b)=>{let c=++bA.current,d=bv.current;try{let e=new URLSearchParams({deferThinking:"1",deferMedia:"1"});b&&e.set("leafId",b);let f=`/api/sessions/${encodeURIComponent(a)}/context?${e}`,g=await fetch(f);if(!g.ok)throw Error(`HTTP ${g.status}`);let h=await g.json();if(bu.current!==a||bA.current!==c||bv.current!==d)return;G(h.context.messages),I(h.context.entryIds??[]),bj(h.context.todoPhases??[])}catch(a){console.error("Failed to load context:",a)}},[]),cu=(0,B.useCallback)((a=0,b)=>{b??=(0,E.Tl)("agentSession.noMessages");let d=bu.current;p&&c&&d&&!bR.current&&(bR.current=!0,f?.({id:d,path:"",cwd:c,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:a,firstMessage:b}))},[p,c,f]),cv=(0,B.useCallback)(async()=>{if(bu.current||!p||!c)return bu.current;if(bQ.current)return bQ.current;let a=(async()=>{let a=ae??ag;a&&aN(a);let b="none"===ai?[...h_]:"full"===ai?[...h1]:[...h0],e=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:c,type:"ensure_session",toolNames:b,...a?{provider:a.provider,modelId:a.modelId}:{},..."auto"!==ak?{thinkingLevel:ak}:{},...d?{advisor:!0}:{}})});if(!e.ok)throw Error(`HTTP ${e.status}`);let f=(await e.json()).sessionId;return bu.current=f,f})();bQ.current=a;try{return await a}finally{bQ.current=null}},[d,p,c,ae,ag,ai,ak]);(0,B.useCallback)(async()=>{let a=bu.current??await cv();if(!a||!b3(a))return;let b=await hj(a,{type:"get_state"});R.current&&bu.current===a&&aH(b.systemPrompt??"")},[b3,cv]);let cw=(0,B.useCallback)(async()=>{let a=bu.current??await cv();if(!a||!b3(a))return aX([]),[];aZ(!0);try{let b=await hj(a,{type:"get_commands"}),c=(b?.commands??[]).map(is).filter(a=>null!==a);return aX(c),c}catch(a){return console.error("Failed to load slash commands:",a),aX([]),[]}finally{aZ(!1)}},[b3,cv]),cx=(0,B.useCallback)(a=>{let b=b8.ensure(a),c=b8.currentSource(a);return c&&(c.onmessage=b=>{if(b8.isCurrent(a,c))try{let d=JSON.parse(b.data);if("connected"===d.type&&b8.markConnected(a,c),"session_closed"===d.type){b7.push(d),b8.invalidate(a,c),bp.current===c&&(bp.current=null);return}b7.push(d)}catch{}}),b},[b7,b8]);br.current=cx;let cy=(0,B.useCallback)(async(a,b)=>{let c=bu.current;if(c&&b3(c)){a3(b=>b?.id===a.id?null:b);try{await hj(c,{type:"extension_ui_response",id:a.id,...b})}catch(a){console.error("Failed to send extension UI response:",a)}}},[b3]),cz=(0,B.useMemo)(()=>[{name:"open_url",description:"Open a URL in the user's browser.",parameters:{type:"object",properties:{url:{type:"string"}},required:["url"]}},{name:"notify",description:"Show a browser notification to the user.",parameters:{type:"object",properties:{title:{type:"string"},message:{type:"string",description:"Optional notification body."}},required:["title"]}},{name:"open_file",description:"Open a file in the workspace file viewer.",parameters:{type:"object",properties:{path:{type:"string",description:"Absolute or workspace-relative file path."}},required:["path"]}}],[]),cA=(0,B.useCallback)(async a=>{if(b3(a))try{await hj(a,{type:"set_host_tools",tools:cz})}catch{}},[cz,b3]),cB=(0,B.useMemo)(()=>[{scheme:"pi-web",description:"Browser-integrated resources: pi-web://clipboard reads/writes the user's clipboard via the web UI.",writable:!0}],[]),cC=(0,B.useCallback)(async a=>{if(b3(a))try{await hj(a,{type:"set_host_uri_schemes",schemes:cB})}catch{}},[cB,b3]);bs.current=a=>{cA(a),cC(a),ck(a)};let cD=(0,B.useCallback)(async(a,b,c,d=!1)=>{if(b3(a))try{await hj(a,{type:"host_tool_result",id:b,isError:d,result:{content:[{type:"text",text:c}]}})}catch(a){console.error("Failed to send host tool result:",a)}},[b3]),cE=(0,B.useCallback)(async(a,b,c)=>{let d=bu.current;if(!d||!b3(d))return;let e=a=>"string"==typeof a?a:void 0;switch(b){case"open_url":{let b="string"==typeof c.url?c.url:"",e=ii(b),f=e?b?`Opened ${b}`:"No URL provided":"Unsafe or invalid URL not opened";await cD(d,a,f,!e&&!!b);break}case"notify":{let b=e(c.title)??"OMP",f=e(c.message)??"";if("u">typeof Notification)try{if("granted"===Notification.permission)new Notification(b,{body:f});else if("default"===Notification.permission){let a=await Notification.requestPermission();"granted"===a&&new Notification(b,{body:f})}}catch{}await cD(d,a,"Notification shown");break}case"open_file":{let b=e(c.path)??"";if(b&&n)try{let a=b.split(/[\\/]/).pop()||b;n(b,a,d)}catch{}await cD(d,a,b?`Opened ${b}`:"No path provided",!b);break}default:await cD(d,a,`Host tool "${b}" is not available in omp-web`,!0)}},[b3,n,cD]),cF=(0,B.useCallback)(async(a,b,c)=>{if(b3(a))try{await hj(a,{type:"host_uri_result",id:b,...c})}catch(a){console.error("Failed to send host URI result:",a)}},[b3]),cG=(0,B.useCallback)(async(a,b,c,d)=>{let e=bu.current;if(!e||!b3(e))return;let f=c.replace(/^pi-web:\/\//i,"")||"";if("clipboard"===f){if("read"===b){if("u"<typeof navigator||!navigator.clipboard?.readText)return void await cF(e,a,{isError:!0,error:"Clipboard read is not available in this browser"});try{let b=await navigator.clipboard.readText();await cF(e,a,{content:b||"(clipboard is empty)",contentType:"text/plain"})}catch{await cF(e,a,{isError:!0,error:"Clipboard read was denied. Click into the omp-web window and try again."})}return}if("u">typeof navigator&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(d??""),await cF(e,a,{});return}catch{await cF(e,a,{isError:!0,error:"Clipboard write failed in this browser"});return}return void await cF(e,a,{isError:!0,error:"Clipboard write is not available in this browser"})}await cF(e,a,{isError:!0,error:`Unknown pi-web resource: ${f}`})},[b3,cF]),cH=(0,B.useCallback)(async(a,b)=>{let c=bu.current;if(c&&b3(c))try{await hj(c,{type:"extension_ui_input",id:a.id,data:b})}catch(a){console.error("Failed to send extension custom UI input:",a)}},[b3]),cI=(0,B.useCallback)(a=>{let b=a.message.trim();b&&a_({type:"add",notice:{id:a.id??("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`),message:b,type:a.type??"info"}})},[]),cJ=(0,B.useCallback)(async a=>{let b,c=setTimeout(()=>{cI({type:"info",message:(0,E.Tl)("agentSession.startingAgent")})},4e3);try{b=await cx(a)}finally{clearTimeout(c)}if("connected"===b.status||b.source.readyState===EventSource.OPEN)return;let d=b8.isCurrent(a,b.source);throw bp.current===b.source&&(bp.current=null),d?b8.invalidate(a,b.source):b.source.close(),new ih(b.status)},[cI,cx,b8]),cK=(0,B.useCallback)(b=>{switch(b.method){case"select":case"confirm":case"input":case"editor":a3(b);break;case"cancel":a3(a=>a?.id===b.targetId?null:a);break;case"open_url":{let a=b.launchUrl??b.url,c=ii(a)?a:"";if(c)try{window.open(c,"_blank","noopener,noreferrer")}catch{}cI({id:b.id,type:"info",message:c?b.instructions?`${b.instructions}
|
|
18
|
-
${c}`:(0,E.Tl)("agentSession.openInBrowser",{url:c}):(0,E.Tl)("agentSession.unsafeUrlBlocked")});break}case"notify":cI({id:b.id,message:b.message,type:b.notifyType??"info"});break;case"setStatus":a7(a=>{let c=a.filter(a=>a.key!==b.statusKey);return b.statusText?[...c,{key:b.statusKey,text:b.statusText}]:c});break;case"setWidget":a9(a=>{let c=a.filter(a=>a.key!==b.widgetKey);return b.widgetLines?[...c,{key:b.widgetKey,lines:b.widgetLines,placement:b.widgetPlacement??"aboveEditor"}]:c});break;case"setTitle":b.title&&(document.title=b.title);break;case"set_editor_text":a.chatInputRef?.current?.insertText(b.text);break;case"custom":a5(a=>b.closed?a?.id===b.id?null:a:b)}},[cI,a.chatInputRef]),cL=(0,B.useCallback)(async(a=bu.current,b)=>{if(void 0===b||b_.current===b)try{a&&await cs(a,!1,!0,b)}finally{if(void 0!==b&&b_.current!==b||(b1.current=null,!bE.current))return;bE.current=!1,M(!1),aV(null),aB(null),a&&(bZ.current?.(a),ci(a)),K({type:"end"}),e?.()}},[cs,e,ci]),cM=(0,B.useCallback)(async(a,b)=>{await ij(800);let c=Date.now(),d=bw.current;for(;R.current&&bu.current===a&&bE.current&&Date.now()-c<2e4;){if(void 0!==b&&b_.current!==b)return;try{let c=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(c.ok){let e=await c.json();if(bu.current!==a||bw.current!==d)continue;let f=e.state;if(!e.running||!f||!f.isStreaming&&!f.isPromptRunning)return void await cL(a,b)}}catch{}await ij(600)}},[cL]),cN=(0,B.useCallback)(async a=>{let b=bG.current+1;bG.current=b;let c=bw.current;for(;bF.current&&bG.current===b&&bu.current===a;){await ij(1e3);try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)continue;let e=await d.json();if(bu.current!==a||bw.current!==c||e.state?.isBashRunning)continue;if(await cs(a),bG.current!==b||bu.current!==a)return;bF.current=!1,O(!1),Q(null);return}catch{}}},[cs]),cO=(0,B.useCallback)((a,b)=>{if(!R.current||bu.current!==a||!bz.current)return;let c=b.state;if(b.running&&c&&(c.isStreaming||c.isPromptRunning)&&(bE.current=!0,M(!0),aV(c.isStreaming?{kind:"waiting_model"}:{kind:"running_command"}),K({type:"start"}),cx(a),cA(a),cC(a),bV.current&&(clearTimeout(bV.current),bV.current=null),bW.current="initial",bV.current=setTimeout(()=>{bV.current=null,bW.current=null,bu.current===a&&bz.current&&ck(a)},600),!c.isStreaming&&c.isPromptRunning&&cM(a)),c?.isBashRunning&&(bF.current=!0,O(!0),cN(a)),c?.queuedMessageCount===0){if(a)try{sessionStorage.removeItem(ib+a)}catch{}}else if("number"==typeof c?.queuedMessageCount){let b=function(a){try{let b=sessionStorage.getItem(ib+a);if(!b)return null;let c=JSON.parse(b),d=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a):[],e={steering:d(c?.steering),followUp:d(c?.followUp)};return ic(e)?null:e}catch{return null}}(a);b&&bb(a=>ic(a)?b:a)}},[cx,ck,cA,cC,cN,cM]),cP=(0,B.useCallback)(async()=>{let a=bu.current;if(!a||p)return null;let b=bx.current+1;bx.current=b,bw.current=b;let c=bv.current,d={...by.current,runtime:"loading"};by.current=d,bz.current=!1,y(d),A(null);let e=await cr(a,b,c);return e&&cO(a,e),e},[p,cr,cO]),cQ=(0,B.useCallback)(async a=>{if(!bE.current||!b3(a))return;let b=b_.current,c=bw.current;try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)return;let e=await d.json();if(b_.current!==b||bu.current!==a||bw.current!==c)return;let f=e.state;if(bB.current=f?.isCompacting??!1,aP(f?.isCompacting??!1),f?.todoPhases!==void 0&&bj(f.todoPhases??[]),ck(a),(!f||0===f.queuedMessageCount)&&Date.now()-bD.current>=5e3&&bb(ia),e.running&&f&&(f.isStreaming||f.isPromptRunning||f.isCompacting)||!bE.current)return;f?(void 0!==f.contextUsage&&aF(f.contextUsage??null),void 0!==f.systemPrompt&&aH(f.systemPrompt??null),void 0!==f.extensionStatuses&&a7(f.extensionStatuses??[]),void 0!==f.extensionWidgets&&a9(f.extensionWidgets??[])):aF(null),await cL(a,b)}catch{}},[b3,cL,ck,aF]),cR=(0,B.useCallback)(a=>{a&&bb(b=>{let c=b.steering.indexOf(a);if(-1!==c)return{...b,steering:b.steering.filter((a,b)=>b!==c)};let d=b.followUp.indexOf(a);return -1!==d?{...b,followUp:b.followUp.filter((a,b)=>b!==d)}:b})},[]),cS=(0,B.useCallback)(a=>{a&&b3()&&bb(b=>{let c=b.steering.indexOf(a),d=b.followUp.indexOf(a);return -1===c&&-1===d?b:{steering:-1===c?b.steering:b.steering.filter((a,b)=>b!==c),followUp:-1===d?b.followUp:b.followUp.filter((a,b)=>b!==d)}})},[b3]),cT=(0,B.useCallback)(a=>{a&&b3()&&bb(b=>{let c=b.followUp.indexOf(a);return -1===c?b:{steering:[...b.steering,a],followUp:b.followUp.filter((a,b)=>b!==c)}})},[b3]);bH.current=(0,B.useCallback)(a=>{switch(a.type){case"agent_start":bC.current=!1,bE.current=!0,M(!0),aV({kind:"waiting_model"}),K({type:"start"});break;case"agent_end":if(!1===a.isTerminal)break;if(bC.current){bC.current=!1;break}if(!bE.current)break;let b=bu.current,c=b_.current;if(bE.current=!1,M(!1),aV(null),aB(null),b&&bZ.current?.(b),K({type:"end"}),b){cs(b,!1,!1,c),ci(b);let a=bw.current,d=cn();fetch(`/api/agent/${encodeURIComponent(b)}`).then(a=>a.ok?a.json():null).then(e=>{!e?.state?.model||bu.current!==b||b_.current!==c||bw.current!==a||co(ie(e.state.model),d)&&(e.state?.contextUsage!==void 0&&aF(e.state.contextUsage??null),e.state?.systemPrompt!==void 0&&aH(e.state.systemPrompt||null),e.state?.fastModeEnabled!==void 0&&an(e.state.fastModeEnabled),ap(e.state?.fastModeActive),e.state?.extensionStatuses!==void 0&&a7(e.state.extensionStatuses??[]),e.state?.extensionWidgets!==void 0&&a9(e.state.extensionWidgets??[]),e.state?.todoPhases!==void 0&&bj(e.state.todoPhases??[]),(!e.state||0===e.state.queuedMessageCount)&&Date.now()-bD.current>=5e3&&bb(ia))}).catch(()=>{})}e?.();break;case"prompt_result":if(!1!==a.agentInvoked||!bE.current)break;cL(bu.current,b_.current);break;case"prompt_error":cI({type:"error",message:a.errorMessage??(0,E.Tl)("agentSession.commandFailed")}),bE.current&&cL(bu.current,b_.current);break;case"notice":{let b=a.level,c=a.message?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(c)?gH.oR.info("MCP tools updated",c,{clamp:!0}):cI({type:"error"===b?"error":"warning"===b?"warning":"info",message:c});break}case"command_output":{let b=a.text?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(b)?gH.oR.info("MCP tools updated",b,{clamp:!0}):b&&cI({type:"info",message:b});break}case"thinking_level_changed":al(id(a.thinkingLevel));break;case"model_changed":{let a=bu.current;if(!a)break;let b=bw.current,c=cn();fetch(`/api/agent/${encodeURIComponent(a)}`).then(a=>a.ok?a.json():null).then(d=>{!d?.state?.model||bu.current!==a||bw.current!==b||co(ie(d.state.model),c)&&(void 0!==d.state.thinkingLevel&&al(id(d.state.thinkingLevel)),void 0!==d.state.fastModeEnabled&&an(d.state.fastModeEnabled),ap(d.state.fastModeActive),void 0!==d.state.autoRetryEnabled&&av(d.state.autoRetryEnabled),void 0!==d.state.interruptMode&&ar(d.state.interruptMode),void 0!==d.state.autoCompactionEnabled&&at(d.state.autoCompactionEnabled),void 0!==d.state.steeringMode&&ax(d.state.steeringMode),void 0!==d.state.followUpMode&&az(d.state.followUpMode))}).catch(()=>{});break}case"config_update":{let b=a.model;b&&co(ie(b)),void 0!==a.thinkingLevel&&al(id(a.thinkingLevel));break}case"available_commands_update":aX((a.commands??[]).map(is).filter(a=>null!==a));break;case"message_start":case"message_update":{if(!bE.current)break;let b=a.message;if(b?.role==="user")break;b&&K({type:"update",message:hZ(b)}),aV(null);break}case"message_end":{if(!bE.current)break;let b=a.message;if(b&&"user"===b.role){let a=hZ(b),c=ip(a),d=b1.current;b1.current=null,cR(im(a)),G(b=>{let e=b[b.length-1];return d&&e?.role==="user"&&ip(e)===d?d===c?b:[...b.slice(0,-1),a]:[...b,a]})}else b?.role==="custom"&&"xdev-mount-notice"===b.customType?gH.oR.info("MCP tools updated",im(b).trim()||"The MCP tool inventory changed.",{clamp:!0}):b&&G(a=>[...a,hZ(b)]);K({type:"reset"}),aV({kind:"waiting_model"});break}case"tool_execution_start":{let b=a.toolCallId,c=a.toolName;aV(a=>{let d=a?.kind==="running_tools"?[...a.tools]:[];return d.some(a=>a.id===b)||d.push({id:b,name:c}),{kind:"running_tools",tools:d}});break}case"tool_execution_end":{let b=a.toolCallId;"todo"===a.toolName&&bu.current&&cQ(bu.current),aV(a=>{if(a?.kind!=="running_tools")return a;let c=a.tools.filter(a=>a.id!==b);return 0===c.length?{kind:"waiting_model"}:{kind:"running_tools",tools:c}});break}case"todo_reminder":case"todo_auto_clear":bu.current&&cQ(bu.current);break;case"auto_retry_start":aB({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:a.errorMessage});break;case"auto_retry_end":aB(null);break;case"auto_compaction_start":aP(!0),aR(null),aT(null);break;case"auto_compaction_end":aP(!1),a.errorMessage?(aR(a.errorMessage),aT(null)):a.aborted||a.skipped||(aT(iq(a.result,"auto")),bu.current&&cs(bu.current));break;case"subagent_lifecycle":{let b=bu.current,c=b0.current;if(!R.current||!b)break;let d=function(a){if(!fZ(a))return;let b=f$(a.id),c=f$(a.status);if(!b||!c||"started"!==c&&"completed"!==c&&"failed"!==c&&"aborted"!==c)return;let d={id:b,agent:f$(a.agent)??"subagent",status:c,index:f_(a.index)??-1,lastUpdate:Date.now(),source:"live"},e=h4(a.agentSource);void 0!==e&&(d.agentSource=e);let f=f$(a.description);void 0!==f&&(d.description=f);let g=f$(a.sessionFile);void 0!==g&&(d.sessionFile=g);let h=f$(a.parentToolCallId);return void 0!==h&&(d.parentToolCallId=h),"boolean"==typeof a.detached&&(d.detached=a.detached),d}(a.payload);if(!d)break;ch([d],{sessionId:b,rosterGeneration:c});break}case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"",d=fZ(a.arguments)?a.arguments:{};b&&c&&cE(b,c,d);break}case"host_uri_request":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.url?a.url:"",d="write"===a.operation?"write":"read",e="string"==typeof a.content?a.content:void 0;b&&c&&cG(b,d,c,e);break}case"subagent_progress":{let b=bu.current,c=b0.current;if(!R.current||!b)break;let d=a.payload,e=h5(d?.progress),f=e?.id,g="number"==typeof d?.index&&Number.isFinite(d.index)?d.index:e?.index??-1,h="string"==typeof d?.parentToolCallId?d.parentToolCallId:null,i="string"==typeof d?.task&&d.task.trim()?d.task:e?.task??null,j="string"==typeof d?.assignment?d.assignment:e?.assignment;if(!f&&!i&&!h&&g<0)break;bd(a=>{if(!R.current||bu.current!==b||b0.current!==c)return a;let k=-1;if(f){if(-1===(k=a.findIndex(a=>a.id===f))&&e){let b=function(a,b,c=Date.now()){let d=b.id;if(!d)return;let e=a?.index,f=b.index,g="number"==typeof e&&Number.isFinite(e)&&e>=0?e:"number"==typeof f&&Number.isFinite(f)&&f>=0?f:0,h=hK(b.status,"started"),i={id:d,agent:a?.agent||b.agent||"task",index:g,status:h,progress:b,lastUpdate:c,source:"live"},j=a?.agentSource??b.agentSource;void 0!==j&&(i.agentSource=j);let k=a?.task?.trim()?a.task:b.task;void 0!==k&&(i.task=k);let l=a?.assignment??b.assignment;void 0!==l&&(i.assignment=l);let m=a?.description??b.description;return void 0!==m&&(i.description=m),a?.parentToolCallId!==void 0&&(i.parentToolCallId=a.parentToolCallId),a?.sessionFile!==void 0&&(i.sessionFile=a.sessionFile),a?.detached!==void 0&&(i.detached=a.detached),i}({index:"number"==typeof d?.index&&Number.isFinite(d.index)?d.index:void 0,agent:"string"==typeof d?.agent?d.agent:void 0,agentSource:"string"==typeof d?.agentSource&&("bundled"===d.agentSource||"user"===d.agentSource||"project"===d.agentSource)?d.agentSource:void 0,task:"string"==typeof d?.task?d.task:void 0,assignment:j,description:"string"==typeof d?.description?d.description:void 0,parentToolCallId:h??void 0,sessionFile:"string"==typeof d?.sessionFile?d.sessionFile:void 0,detached:"boolean"==typeof d?.detached?d.detached:void 0},e);return b?hP(a,[b]):a}}else h&&g>=0&&(k=a.findIndex(a=>a.parentToolCallId===h&&a.index===g)),-1===k&&h&&(k=a.findIndex(a=>a.parentToolCallId===h)),-1===k&&g>=0&&(k=a.findIndex(a=>a.index===g));if(-1===k)return a;let l=a[k],m=hK(e?.status,l.status);if("started"!==l.status&&"started"===m)return a;let n={...l,status:m,agent:"string"==typeof d?.agent?d.agent:l.agent,agentSource:"string"==typeof d?.agentSource&&("bundled"===d.agentSource||"user"===d.agentSource||"project"===d.agentSource)?d.agentSource:l.agentSource,..."string"==typeof d?.sessionFile?{sessionFile:d.sessionFile}:{},..."boolean"==typeof d?.detached?{detached:d.detached}:{},...i?{task:i}:{},...void 0!==j?{assignment:j}:{},...e?{progress:e}:{},lastUpdate:Date.now(),source:"history"===l.source&&"started"!==l.status?"history":"live"};if(l.agent===n.agent&&l.agentSource===n.agentSource&&l.sessionFile===n.sessionFile&&l.detached===n.detached&&l.task===n.task&&l.assignment===n.assignment&&JSON.stringify(l.progress)===JSON.stringify(n.progress))return a;let o=[...a];return o[k]=n,o});break}case"subagent_event":{let b=bu.current,c=b0.current;if(!R.current||!b)break;let d=a.payload,e="string"==typeof d?.id?d.id:null;if(e){(bS.current??(bS.current=new Set)).add(e);let a=function(a){if(!fZ(a))return null;let b=fZ(a.event)?a.event:null;if(!b)return null;let c=f$(b.type),d=Date.now();if("tool_execution_start"===c){let a=f$(b.toolName)??"tool",c=f$(b.intent)?.trim();if(c)return{kind:"tool",label:`→ ${a} — ${c}`,ts:d};let e=fZ(b.args)?Object.keys(b.args).slice(0,3).join(", "):void 0;return{kind:"tool",label:e?`→ ${a} (${e})`:`→ ${a}`,ts:d}}if("message_end"===c){let a=fZ(b.message)?b.message:null;if(a&&"assistant"===a.role){let b=a.content,c=("string"==typeof b?b:Array.isArray(b)?b.filter(a=>fZ(a)&&"text"===a.type).map(a=>"string"==typeof a.text?a.text:"").join("\n"):"").trim();if(c)return{kind:"text",label:c.slice(0,140),ts:d}}}if("notice"===c){let a=f$(b.message);if(a)return{kind:"notice",label:a.slice(0,140),ts:d}}return null}(d);if(a){let b=bT.current??(bT.current=new Map),c=b.get(e);c?(c.length>=50&&c.shift(),c.push(a),b.delete(e),b.set(e,c)):b.set(e,[a])}null===bU.current&&(bU.current=requestAnimationFrame(()=>{if(bU.current=null,!R.current||bu.current!==b||b0.current!==c){bS.current=null,bT.current=null;return}let a=bS.current;bS.current=null;let d=bT.current;bT.current=null;let e=null!==a&&a.size>0,f=null!==d&&d.size>0;(e||f)&&(a&&a.size>0&&bh(b=>{let c=b;for(let b of a)c={...c,[b]:(c[b]??0)+1};return h8(c)}),d&&d.size>0&&bf(a=>{let b=a;for(let[c,e]of d){let d=a[c]??[],f=0===d.length?e.length<=50?e:e.slice(-50):[...d,...e].slice(-50);b===a&&(b={...a}),delete b[c],b[c]=f}return h8(b)}))}))}break}case"extension_ui_request":cK(a)}},[cI,cR,cL,cK,cE,cG,cs,ch,e,cQ,co,cn,ci,aF]);let cU=(0,B.useCallback)(async(d,e)=>{let f=d.trim();if(!f&&!e?.length||!b3()||bE.current||bF.current)return!1;let g=!e?.length&&f.startsWith("/");if(!e?.length&&f.startsWith("!")){let a=f.startsWith("!!"),b=(a?f.slice(2):f.slice(1)).trim();return!!b&&(await bL.current?.(b,a),!0)}let h=b_.current+1,{userMsg:i,piImages:j}=ir(d,e);G(a=>[...a,i]),b1.current=ip(i),b_.current=h,bE.current=!0,M(!0),aV(g?{kind:"running_command"}:{kind:"waiting_model"}),K({type:"start"}),bJ.current=!0,bK.current=!0,bM.current=0;try{let a=null;if(p&&c){let b=bu.current??await bQ.current,c=b??await cv();c&&(a=c,cu(1,d),ae&&(aN(ae),b&&await hj(c,{type:"set_model",provider:ae.provider,modelId:ae.modelId})),await cJ(c),ck(c),await hj(c,{type:"prompt",message:d,...j?.length?{images:j}:{}}))}else b&&(a=b.id,await cJ(b.id),ck(b.id),cA(b.id),cC(b.id),await hj(b.id,{type:"prompt",message:d,...j?.length?{images:j}:{}}));return g&&a&&cM(a,h),!0}catch(c){console.error("Failed to send message:",c);let b=b1.current;return b&&G(a=>{let c=a[a.length-1];return c?.role==="user"&&ip(c)===b?a.slice(0,-1):a}),cI({type:"error",message:c instanceof ih?c.message:(0,E.Tl)("agentSession.sendFailed",{detail:c instanceof Error?c.message:String(c)})}),d&&a.chatInputRef?.current?.insertIfEmpty(d),b1.current=null,bE.current=!1,M(!1),aV(null),K({type:"end"}),!1}},[b3,p,c,ae,b,cv,cJ,cu,cM,cI,a.chatInputRef,ck,cA,cC]),cV=(0,B.useCallback)(async(a,b)=>{let c=a.trim();if(!c&&!b?.length)return!1;let d=bu.current;if(!d||!b3(d)||!bE.current)return!1;let{userMsg:e,piImages:f}=ir(a,b);G(a=>[...a,e]),b1.current=ip(e),bC.current=!0,bJ.current=!0,bK.current=!0,bM.current=0;try{return await cJ(d),ck(d),await hj(d,{type:"abort_and_prompt",message:c,...f?.length?{images:f}:{}}),!0}catch(b){console.error("Failed to interrupt and reply:",b),bC.current=!1;let a=b1.current;return a&&G(b=>{let c=b[b.length-1];return c?.role==="user"&&ip(c)===a?b.slice(0,-1):b}),b1.current=null,cI({type:"error",message:b instanceof Error?b.message:String(b)}),!1}},[cI,b3,cJ,ck]);bL.current=(0,B.useCallback)(async(c,d)=>{if(!b3()||bE.current||bF.current)return;let e=`${d?"!!":"!"}${c}`;bF.current=!0,Q({command:c,excludeFromContext:d}),O(!0);try{let a=bu.current??b?.id??await cv();if(!a)throw Error((0,E.Tl)("agentSession.shellSessionFailed"));await hj(a,{type:"bash",command:c,excludeFromContext:d}),await cs(a),cu(1,e)}catch(b){console.error("Failed to execute shell command:",b),cI({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{bF.current=!1,Q(null),O(!1)}},[cI,b3,cv,cs,a.chatInputRef,cu,b]);let cW=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)){if(bF.current){try{await hj(a,{type:"abort_bash"})}catch(a){console.error("Failed to abort bash:",a)}return}try{await hj(a,{type:"abort"})}catch(a){console.error("Failed to abort:",a)}}},[b3]),cX=(0,B.useCallback)(async a=>{if(bF.current)return;let b=bu.current;if(b&&b3(b)){aJ(a);try{let{cancelled:c,newSessionId:d}=await hj(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aJ(null)}}},[b3,g]),cY=(0,B.useCallback)(async a=>{if(bF.current||bE.current)return;let b=bu.current;b&&b3(b)&&(D(a),await ct(b,a))},[b3,ct]);(0,B.useCallback)(async a=>{if(bF.current||bE.current)return;let b=bu.current;b&&b3(b)&&(D(a),await ct(b,a))},[b3,ct]);let cZ=(0,B.useCallback)(async(a,b)=>{if(p){af({provider:a,modelId:b}),aN({provider:a,modelId:b});let c=bu.current??await bQ.current;if(!c)return;try{await hj(c,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bu.current;if(c&&b3(c))try{await hj(c,{type:"set_model",provider:a,modelId:b}),aL({provider:a,modelId:b}),cp(c)}catch(a){console.error("Failed to set model:",a)}},[b3,p,af,cp]),c$=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current??await cv();if(b)try{let c=await hj(b,{type:"set_fast_mode",enabled:a});an(c?.enabled??a),ap(c?.active),cp(b)}catch(a){console.error("Failed to change Fast mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cv,p,cp]),c_=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){av(a);try{await hj(b,{type:"set_auto_retry",enabled:a})}catch(b){av(b=>b===a?!a:b),cI({type:"error",message:b instanceof Error?b.message:String(b)})}}},[cI,b3,p]),c0=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){ar(a);try{await hj(b,{type:"set_interrupt_mode",mode:a})}catch(a){console.error("Failed to change interrupt mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c1=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){at(a);try{await hj(b,{type:"set_auto_compaction",enabled:a})}catch(a){console.error("Failed to change auto-compaction:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c2=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){ax(a);try{await hj(b,{type:"set_steering_mode",mode:a})}catch(a){console.error("Failed to change steering mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c3=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){az(a);try{await hj(b,{type:"set_follow_up_mode",mode:a})}catch(a){console.error("Failed to change follow-up mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c4=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a))try{await hj(a,{type:"cycle_model"}),cp(a)}catch(a){console.error("Failed to cycle model:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cp]),c5=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a))try{await hj(a,{type:"cycle_thinking_level"}),cp(a)}catch(a){console.error("Failed to cycle thinking level:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cp]),c6=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)){aB(null);try{await hj(a,{type:"abort_retry"})}catch(a){console.error("Failed to abort retry:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3]),c7=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)&&!bB.current&&!bE.current&&!bF.current)try{await hj(a,{type:"handoff"}),await cs(a,!0),cp(a)}catch(a){cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cs,cp]),c8=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)&&!bB.current&&!aO){bB.current=!0,aP(!0),aR(null),aT(null);try{let b=await hj(a,{type:"compact"});aT(iq(b,"manual")),await cs(a,!0),cp(a)}catch(a){aR(a instanceof Error?a.message:String(a)),aT(null)}finally{bB.current=!1,aP(!1)}}},[b3,aO,cs,cp]),c9=(0,B.useCallback)(async a=>{X(!0);try{let d=c??b?.cwd??"",e=d?`/api/models?cwd=${encodeURIComponent(d)}`:"/api/models",f=await fetch(e,{cache:"no-store",...a?{signal:a}:{}});if(!f.ok)throw Error(`HTTP ${f.status}`);let g=await f.json();T(g.models),Z(g.modelError??null),ab(g.thinkingLevels??{}),ad(g.thinkingLevelMaps??{});let h=g.modelList??[];if(V(h),p){let a=(g.defaultModel?h.find(a=>a.id===g.defaultModel?.modelId&&a.provider===g.defaultModel?.provider):void 0)??h[0];ah(a?{provider:a.provider,modelId:a.id}:null)}}catch(b){a?.aborted||Z(b instanceof Error?b.message:String(b))}finally{X(!1)}},[p,c,b?.cwd]),da=(0,B.useCallback)(async a=>{if(!a.startsWith("/"))return{handled:!1};let b=a.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!b)return{handled:!1};let[,c,d=""]=b,e=d.trim(),f=bu.current??await cv(),g=a=>(a.handled&&(a.error?cI({type:"error",message:a.error}):"openSessionStats"!==a.action&&cI({type:"success",message:a.message??(0,E.Tl)("agentSession.commandCompleted")})),a);if(!f||!b3(f))return g({handled:!0,error:z??"Session runtime is not ready."});try{switch(c){case"compact":{if(!f||bB.current||aO)return g({handled:!0,error:(0,E.Tl)("agentSession.noSessionToCompact")});bB.current=!0,aP(!0),aR(null),aT(null);let a=await hj(f,{type:"compact",...e?{customInstructions:e}:{}});return aT(iq(a,"manual")),await cs(f,!0),bB.current=!1,aP(!1),cu(),g({handled:!0,message:(0,E.Tl)("agentSession.compactedContext")})}case"reload":if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noSessionToReload")});return await hj(f,{type:"reload"}),await Promise.all([cs(f,!1,!0),cw(),c9()]),g({handled:!0,message:(0,E.Tl)("agentSession.reloadedResources")});case"name":if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noSessionToName")});if(!e)return g({handled:!0,error:(0,E.Tl)("agentSession.nameUsage")});return await hj(f,{type:"set_session_name",name:e}),await cs(f),cu(),g({handled:!0,message:(0,E.Tl)("agentSession.sessionRenamed",{name:e})});case"session":{if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noActiveSession")});let a=await hj(f,{type:"get_session_stats"});return a&&a1(a),l?.(),g({handled:!0,action:"openSessionStats"})}case"agents":return m?.("agents"),g({handled:!0,action:"openSettings"});case"copy":{if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noActiveSession")});let a=await hj(f,{type:"get_last_assistant_text"}),b=a?.text??"";if(!b)return g({handled:!0,error:(0,E.Tl)("agentSession.noMessageToCopy")});return await navigator.clipboard.writeText(b),g({handled:!0,message:(0,E.Tl)("agentSession.copiedLastMessage")})}default:{let b=gP(a);if("not-web"===b.kind)return{handled:!1};if("usage-error"===b.kind)return g({handled:!0,error:(0,E.Tl)("agentSession.commandRequiresArgs",{command:b.command,usage:(0,E.Tl)(b.argumentHintKey)})});if("plan"===c&&bn({objective:e}),!await cU(b.prompt))return"plan"===c&&bn(null),{handled:!0,retainInput:!0};if("goal"===c){let a=function(a,b=Date.now()){return{objective:a.trim(),startedAt:b}}(e);bl(a);let b=bu.current;b&&sessionStorage.setItem(`ompgui:goal:${b}`,JSON.stringify(a))}return{handled:!0}}}}catch(a){return g({handled:!0,error:a instanceof Error?a.message:String(a)})}finally{"compact"===c&&(bB.current=!1,aP(!1))}},[cI,b3,cv,cU,aO,c9,cs,cw,cu,m,l,z]),db=a=>a?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})),dc=(0,B.useCallback)(async(b,c)=>{let d=bu.current;if(!d||!b3(d))return;let e=db(c);try{await hj(d,{type:"prompt",message:b,streamingBehavior:"steer",...e?.length?{images:e}:{}}),bD.current=Date.now(),bb(a=>({...a,steering:[...a.steering,b]}))}catch(c){console.error("Failed to steer:",c),cI({type:"error",message:c instanceof Error?c.message:String(c)}),a.chatInputRef?.current?.insertIfEmpty(b)}},[cI,b3,a.chatInputRef]),dd=(0,B.useCallback)(async(b,c,d)=>{let e=bu.current;if(!e||!b3(e))return;let f=db(d);try{await hj(e,{type:"prompt",message:b,streamingBehavior:c,...f?.length?{images:f}:{}}),bD.current=Date.now(),bb(a=>"steer"===c?{...a,steering:[...a.steering,b]}:{...a,followUp:[...a.followUp,b]})}catch(c){console.error("Failed to queue prompt:",c),cI({type:"error",message:c instanceof Error?c.message:String(c)}),a.chatInputRef?.current?.insertIfEmpty(b)}},[cI,b3,a.chatInputRef]),de=(0,B.useCallback)(async(b,c)=>{let d=bu.current;if(!d||!b3(d))return;let e=db(c);try{await hj(d,{type:"prompt",message:b,streamingBehavior:"followUp",...e?.length?{images:e}:{}}),bD.current=Date.now(),bb(a=>({...a,followUp:[...a.followUp,b]}))}catch(c){console.error("Failed to follow up:",c),cI({type:"error",message:c instanceof Error?c.message:String(c)}),a.chatInputRef?.current?.insertIfEmpty(b)}},[cI,b3,a.chatInputRef]),df=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a))try{await hj(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[b3]),dg=(0,B.useCallback)(async a=>{if(!b3()||(al(a),"auto"===a))return;let b=bu.current??await bQ.current;if(b)try{await hj(b,{type:"set_thinking_level",level:a}),cp(b)}catch(a){console.error("Failed to set thinking level:",a)}},[b3,cp]),dh=(0,B.useCallback)(async a=>{!b3()||(b9(a),function(a,b=null){if(b)try{b.setItem(h2,a)}catch{}}(a),(bu.current??await bQ.current)&&cI({type:"info",message:(0,E.Tl)("agentSession.toolPresetNotice")}))},[b9,cI,b3]);return(0,B.useCallback)((a="smooth")=>{let b=bP.current,c=bO.current;b&&c&&(bN.current=Date.now()+700,c.scrollIntoView({block:"nearest",behavior:o?"instant":a}))},[o]),(0,B.useCallback)(a=>{a instanceof KeyboardEvent&&(!ig.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))||(bM.current=Date.now()+1200)},[]),(0,B.useCallback)(()=>{let a=Date.now()<=bM.current;if(!a&&Date.now()<bN.current||!a)return;let b=bP.current,c=bO.current;b&&c&&(bK.current=c.getBoundingClientRect().bottom-b.getBoundingClientRect().bottom<=24)},[]),(0,B.useCallback)(()=>{bG.current+=1,b2.current?.reset();let a=bp.current;b8.invalidate(),a&&a.readyState!==EventSource.CLOSED&&a.close(),bp.current=null,bt.current&&(clearTimeout(bt.current),bt.current=null),bV.current&&(clearTimeout(bV.current),bV.current=null),bW.current=null,bX.current=null,bY.current+=1,null!==bU.current&&(cancelAnimationFrame(bU.current),bU.current=null),bS.current=null,bT.current=null},[b8]),(0,B.useRef)(cs).current=cs,(0,B.useRef)(cO).current=cO,(0,B.useRef)(null),(0,B.useRef)(null),{data:r,loading:t,error:v,sessionReadiness:x,runtimeError:z,runtimeReady:ca,activeLeafId:C,messages:F,entryIds:H,streamState:J,agentRunning:L,modelNames:S,modelList:U,modelsLoading:W,modelError:Y,modelThinkingLevels:aa,modelThinkingLevelMaps:ac,newSessionModel:ae,toolPreset:ai,thinkingLevel:ak,fastModeEnabled:am,fastModeActive:ao,autoRetryEnabled:au,interruptMode:aq,autoCompactionEnabled:as,steeringMode:aw,followUpMode:ay,liveModelMeta:$,retryInfo:aA,contextUsage:ce,systemPrompt:aG,forkingEntryId:aI,isCompacting:aO,compactError:aQ,compactResult:aS,currentModel:cb,displayModel:cc,sessionStats:cf,slashCommands:aW,slashCommandsLoading:aY,queuedMessages:ba,notices:a$.visible,extensionDialog:a2,extensionCustomUi:a4,extensionStatuses:a6,extensionWidgets:a8,respondToExtensionUi:cy,sendExtensionCustomInput:cH,isAutoModelSelection:p&&null===ae,agentPhase:aU,subagents:bc,subagentEvents:be,subagentTranscriptVersions:bg,activeSubagentCount:bo,currentTodoPhase:cg,todoPhases:bi,activeGoal:bk,activePlan:bm,isNew:p,sessionIdRef:bu,messagesEndRef:bO,scrollContainerRef:bP,pendingScrollToUserRef:bJ,initialScrollDoneRef:bI,handleSend:cU,handleAbort:cW,handleFork:cX,handleNavigate:cY,handleModelChange:cZ,handleFastModeChange:c$,handleAutoRetryChange:c_,handleInterruptModeChange:c0,handleAutoCompactionChange:c1,handleSteeringModeChange:c2,handleFollowUpModeChange:c3,handleCycleModel:c4,handleCycleThinkingLevel:c5,handleAbortRetry:c6,handleInterruptAndReply:cV,handleCompact:c8,handleHandoff:c7,handleSteer:dc,handleFollowUp:de,handlePromptWithStreamingBehavior:dd,handleAbortCompaction:df,retryRuntimeState:cP,removeQueuedMessage:cS,promoteQueuedToSteer:cT,handleBuiltinSlashCommand:da,handleToolPresetChange:dh,handleThinkingLevelChange:dg,loadSlashCommands:cw,setActiveLeafId:D,setData:s,setMessages:G,dispatch:K,setAgentRunning:M,setForkingEntryId:aJ,bashRunning:N,pendingBash:P,handleAgentEventRef:bH}}({session:a,newSessionCwd:b,advisorEnabled:c,onAgentEnd:y,onSessionCreated:f,onSessionForked:g,modelsRefreshKey:h,chatInputRef:i,onBranchDataChange:j,onSystemPromptChange:k,onSystemPromptLoaderChange:l,onSessionStatsPanelOpen:n,onOpenSettingsTab:o,onOpenFile:q}),aU=M||N,[aV,aW]=(0,B.useState)(50);(0,B.useRef)(null),a?.id??(b&&`new:${b}`);let[aX,aY]=(0,B.useState)(null),[aZ,a$]=(0,B.useState)(!0),a_=(0,B.useRef)(null),a0=(0,B.useRef)(null),a1=(0,B.useRef)("auto"),a2=(0,B.useCallback)(()=>{let a=aB.current;a&&(a0.current=a.scrollHeight-a.scrollTop),a1.current="click",aW(a=>(function(a,b=50){return a+b})(a))},[aB]);ad&&[ad.sessionId,ad.sessionFile??"",ad.sessionName??"",ad.userMessages,ad.assistantMessages,ad.toolCalls,ad.toolResults,ad.totalMessages,ad.tokens.input,ad.tokens.output,ad.tokens.cacheRead,ad.tokens.cacheWrite,ad.tokens.total,ad.cost??0].join("|"),(0,B.useRef)(ad).current=ad,$&&($.percent,$.contextWindow,$.tokens),(0,B.useRef)($).current=$;let{isDragOver:a3,handleDragEnter:a4,handleDragOver:a5,handleDragLeave:a6,handleDrop:a7}=function(a){let[b,c]=(0,B.useState)(!1),d=(0,B.useRef)(0),e=(0,B.useCallback)(a=>{Array.from(a.dataTransfer.items).some(it)&&(a.preventDefault(),d.current+=1,c(!0))},[]),f=(0,B.useCallback)(a=>{Array.from(a.dataTransfer.items).some(it)&&a.preventDefault()},[]);return{isDragOver:b,handleDragEnter:e,handleDragOver:f,handleDragLeave:(0,B.useCallback)(()=>{d.current-=1,d.current<=0&&(d.current=0,c(!1))},[]),handleDrop:(0,B.useCallback)(b=>{b.preventDefault(),d.current=0,c(!1),a(Array.from(b.dataTransfer.files))},[a])}}((0,B.useCallback)(a=>{!aU&&K&&i?.current?.addFiles(a)},[K,aU,i])),a8=(0,B.useMemo)(()=>{let a=new Set,b=[];for(let c=F.length-1;c>=0;c-=1){let d=function(a){if("user"!==a.role)return null;if("string"==typeof a.content){let b=a.content.trim();return b.length>0?b:null}let b=a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n").trim();return b.length>0?b:null}(F[c]);if(!(!d||a.has(d))&&(a.add(d),b.push(d),b.length>=50))break}return b.reverse()},[F]),a9=(0,B.useMemo)(()=>{let a=new Map,b=-1,c=new Map,d=0;return F.forEach((e,f)=>{"toolResult"===e.role&&a.set(e.toolCallId,e),iG(e)&&(b=f),("user"===e.role||"assistant"===e.role)&&c.set(f,d++)}),{toolResultsMap:a,lastAnchorIdx:b,visibleRefIndexByMessage:c}},[F]),ba=function(a){let b=(0,B.useRef)([]),c=(0,B.useRef)(0);if(c.current!==a){c.current=a;let d=Array(a);for(let c=0;c<a;c+=1)d[c]=b.current[c]??null;b.current=d}return b}(a9.visibleRefIndexByMessage.size),bb=(0,B.useMemo)(()=>{let a=new Set;for(let b of F)if(b?.role==="assistant")for(let c of b.content??[])"toolCall"===c.type&&a.add(c.toolCallId);return a},[F]),bc=(0,B.useMemo)(()=>{if(ap?.kind!=="running_tools")return[];let a=new Set(bb),b=H.streamingMessage;if(b?.role==="assistant")for(let c of b.content??[])"toolCall"===c.type&&a.add(c.toolCallId);return ap.tools.filter(b=>!a.has(b.id))},[ap,bb,H.streamingMessage]),bd=ay&&0===F.length&&!H.isStreaming&&!aU,be=a?.cwd??b??void 0,bf=ac?function(a,b,c){if(a&&a.length>0)return a;if(b&&c&&c.provider===b.provider&&c.modelId===b.modelId)return c.reasoning?["off",...c.thinking?.efforts??[]]:["off"];return null}(T[`${ac.provider}:${ac.modelId}`],ac,Y):null,bg=ac?U[`${ac.provider}:${ac.modelId}`]??null:null,bh=(0,A.jsx)(hf,{ref:i,onSend:aC,onAbort:aD,runtimeReady:K,onSteer:K&&M?aH:void 0,onFollowUp:K&&M?aI:void 0,onPromptWithStreamingBehavior:K&&M?aJ:void 0,isStreaming:aU,model:ac,isAutoModelSelection:ao,modelNames:P,modelList:Q,modelsLoading:R,modelError:S,onModelChange:K?aG:void 0,onAbortCompaction:K?aK:void 0,isCompacting:aa,compactResult:ab,thinkingLevel:V,onThinkingLevelChange:K&&(a||ay)?aO:void 0,fastModeEnabled:W,fastModeActive:X,fastModeSupported:!!(ac&&Q.some(a=>a.provider===ac.provider&&a.id===ac.modelId&&a.supportsFastMode)),onFastModeChange:K&&(a||ay)?aP:void 0,onAbortRetry:K&&a?aS:void 0,availableThinkingLevels:bf,thinkingLevelMap:bg,modelNameOverride:Y?.name??null,retryInfo:Z,activeGoal:aq,activePlan:ar,advisorEnabled:c,queuedMessages:ag,inputHistory:a8,contextUsage:$,sessionCost:ad?.cost??null,onRemoveQueuedMessage:aL,onPromoteQueuedToSteer:aM,slashCommands:ae,slashCommandsLoading:af,onLoadSlashCommands:K?aT:void 0,onBuiltinCommand:K?aN:void 0,onAudioUnlock:v,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),bi=al.filter(a=>"belowEditor"!==a.placement),bj=al.filter(a=>"belowEditor"===a.placement);if(C)return(0,A.jsx)("div",{role:"status",className:"flex h-full items-center justify-center",style:{color:"var(--text-muted)"},children:s("chatWindow.loadingSession")});if(D)return(0,A.jsx)("div",{role:"alert",className:"flex h-full items-center justify-center",style:{color:"var(--accent-strong)",padding:"0 var(--space-6)",textAlign:"center",fontSize:"var(--text-base)"},children:D});let bk=ay||"ready"===I.runtime?null:(0,A.jsxs)("div",{role:"error"===I.runtime?"alert":"status","aria-live":"polite",style:{display:"flex",alignItems:"center",gap:10,margin:"0 auto var(--space-3)",maxWidth:960,padding:"8px 10px",border:"1px solid color-mix(in srgb, var(--status-warning) 35%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-warning) 8%, var(--bg-panel))",color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:[(0,A.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere"},children:"error"===I.runtime?J?s("chatWindow.runtimeUnavailableDetail",{error:J}):s("chatWindow.runtimeUnavailable"):s("chatWindow.runtimePreparing")}),"error"===I.runtime&&(0,A.jsx)("button",{type:"button",onClick:()=>void L(),style:{flexShrink:0,padding:"4px 9px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text)",cursor:"pointer",fontSize:"var(--text-sm)"},children:s("chatWindow.runtimeRetry")})]});return(0,A.jsxs)("div",{className:"relative flex h-full flex-col overflow-hidden",onDragEnter:a4,onDragOver:a5,onDragLeave:a6,onDrop:a7,children:[a3&&K&&!aU&&(0,A.jsxs)("div",{className:"drop-zone-overlay pointer-events-none absolute inset-0 flex items-center justify-center backdrop-blur-[1px]",style:{zIndex:"var(--z-dropdown)"},children:[(0,A.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[0,.8,1.6].map(a=>(0,A.jsx)("div",{className:"drop-ripple-ring absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid",style:{transformOrigin:"center",animationDelay:`${a}s`}},a))}),(0,A.jsxs)("svg",{width:"280",height:"280",viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-zone-illustration",children:[(0,A.jsx)("rect",{x:"28",y:"44",width:"84",height:"60",rx:"8",fill:"color-mix(in srgb, var(--accent) 8%, transparent)",stroke:"color-mix(in srgb, var(--accent) 50%, transparent)",strokeWidth:"1.8"}),(0,A.jsx)("path",{d:"M36 100 L54 72 L68 88 L80 74 L104 100Z",fill:"color-mix(in srgb, var(--accent) 16%, transparent)",stroke:"color-mix(in srgb, var(--accent) 40%, transparent)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,A.jsx)("circle",{cx:"96",cy:"58",r:"8",fill:"color-mix(in srgb, var(--accent) 22%, transparent)",stroke:"color-mix(in srgb, var(--accent) 55%, transparent)",strokeWidth:"1.6"}),(0,A.jsxs)("g",{stroke:"color-mix(in srgb, var(--accent) 45%, transparent)",strokeWidth:"1.4",strokeLinecap:"round",children:[(0,A.jsx)("line",{x1:"96",y1:"46",x2:"96",y2:"43"}),(0,A.jsx)("line",{x1:"96",y1:"70",x2:"96",y2:"73"}),(0,A.jsx)("line",{x1:"84",y1:"58",x2:"81",y2:"58"}),(0,A.jsx)("line",{x1:"108",y1:"58",x2:"111",y2:"58"}),(0,A.jsx)("line",{x1:"87.5",y1:"49.5",x2:"85.4",y2:"47.4"}),(0,A.jsx)("line",{x1:"104.5",y1:"66.5",x2:"106.6",y2:"68.6"}),(0,A.jsx)("line",{x1:"104.5",y1:"49.5",x2:"106.6",y2:"47.4"}),(0,A.jsx)("line",{x1:"87.5",y1:"66.5",x2:"85.4",y2:"68.6"})]})]})]}),ai&&(0,A.jsx)(hh,{request:ai,onRespond:am,runtimeReady:K}),(0,A.jsx)(hq,{subagent:aX,sessionId:a?.id??az.current??null,transcriptVersion:aX?au[aX.id]??0:0,events:aX?at[aX.id]??[]:void 0,onClose:()=>aY(null)}),aj&&(0,A.jsx)(iP,{request:aj,onInput:an,runtimeReady:K}),bd?(0,A.jsx)("div",{className:"relative flex flex-1 flex-col overflow-hidden",children:(0,A.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center overflow-y-auto py-8",style:{minHeight:0},children:(0,A.jsxs)("div",{className:"w-full",children:[(0,A.jsx)("div",{style:{paddingLeft:16,paddingRight:16},children:(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsxs)("div",{className:"mb-3 empty-chat-brand",style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",fontFamily:"var(--font-mono)"},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0,flex:1,lineHeight:1.4,overflow:"hidden"},children:[(0,A.jsx)("span",{style:{fontSize:18,fontWeight:600,letterSpacing:"0.04em",color:"var(--accent)",flexShrink:0,whiteSpace:"nowrap"},children:"⌥"}),(0,A.jsx)("span",{style:{fontSize:18,color:"var(--text)",fontWeight:600,letterSpacing:"0.02em",flexShrink:0,whiteSpace:"nowrap"},children:"ompgui"})]}),(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"var(--space-1)",flexShrink:0},children:[(0,A.jsxs)("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:["gui ",(0,A.jsxs)("span",{style:{color:"var(--text)"},children:["v","0.5.9"]})]}),(0,A.jsx)(iI,{})]})]}),(0,A.jsx)(iO,{notices:ah,align:"right"})]})}),bh]})})}):(0,A.jsxs)(A.Fragment,{children:[bk,(0,A.jsxs)("div",{className:"relative flex flex-1 overflow-hidden",children:[(0,A.jsx)("div",{style:{position:"absolute",top:12,left:0,right:20*!w,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,A.jsx)("div",{style:{maxWidth:960,margin:"0 auto"},children:(0,A.jsx)(iO,{notices:ah,floating:!0,align:"right"})})}),(0,A.jsx)("div",{ref:aB,className:"flex-1 overflow-y-auto pt-6"+(w?"":" [scrollbar-width:none]"),children:(0,A.jsx)("div",{style:{paddingLeft:16,paddingRight:16},children:(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsx)(iM,{statuses:ak}),(0,A.jsx)(iN,{widgets:bi}),(0,A.jsx)(iK,{messages:F,entryIds:G,conversationMeta:a9,messageRefs:ba,isStreaming:H.isStreaming,sessionBusy:aU,runtimeReady:K,isNew:ay,forkingEntryId:_,handleFork:aE,handleNavigate:aF,handleEditContent:z,modelNames:P,messageCwd:be,onOpenFile:q,sessionId:a?.id??az.current??void 0,toolCallsDefaultCollapsed:d,visibleCount:aV,nearBottom:aZ,sentinelRef:a_,handleLoadMoreClick:a2}),H.isStreaming&&H.streamingMessage&&(0,A.jsx)(gf,{message:H.streamingMessage,isStreaming:!0,modelNames:P,cwd:be,onOpenFile:q,toolCallsDefaultCollapsed:d}),d&&bc.map(a=>(0,A.jsxs)("div",{role:"status","aria-label":s("chatWindow.runningNamed",{names:a.name}),style:{display:"flex",alignItems:"center",gap:7,marginBottom:"var(--space-4)",padding:"var(--space-3) 10px",border:"1px solid color-mix(in srgb, var(--status-success) 25%, transparent)",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-success) 4%, transparent)",color:"var(--text-muted)",fontSize:"var(--text-md)"},children:[(0,A.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"}),(0,A.jsx)("span",{style:{color:"var(--status-success)",fontFamily:"var(--font-mono)",fontWeight:600,fontSize:"var(--text-sm)"},children:a.name})]},a.id)),M&&!H.streamingMessage&&0===bc.length&&(0,A.jsxs)("div",{role:"status","aria-live":"polite",className:"py-2 text-text-muted flex items-center gap-2",style:{fontSize:"var(--text-base)"},children:[(0,A.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-2 w-2 shrink-0 rounded-full bg-accent"}),(0,A.jsx)("span",{children:[function(a){if(a?.kind==="running_tools"){let b=a.tools.map(a=>a.name);return 0===b.length?(0,E.Tl)("chatWindow.runningTool"):b.length<=3?(0,E.Tl)("chatWindow.runningNamed",{names:b.join(", ")}):(0,E.Tl)("chatWindow.runningNamedMore",{names:b.slice(0,2).join(", "),more:b.length-2})}return a?.kind==="waiting_model"?(0,E.Tl)("chatWindow.waitingModel"):a?.kind==="running_command"?(0,E.Tl)("chatWindow.runningCommand"):(0,E.Tl)("chatWindow.thinking")}(ap),av>0?t("chatWindow.subagentCount",av):null,aw?s("chatWindow.todoPhaseStatus",{name:aw.name,done:aw.done,total:aw.total}):null].filter(Boolean).join(" \xb7 ")})]}),N&&!O&&(0,A.jsxs)("div",{role:"status","aria-live":"polite",className:"py-2 text-text-muted flex items-center gap-2",style:{fontSize:"var(--text-base)"},children:[(0,A.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-2 w-2 shrink-0 rounded-full bg-accent"}),(0,A.jsx)("span",{children:s("chatWindow.runningCommand")})]}),O&&(0,A.jsx)(gf,{message:{role:"bashExecution",command:O.command,output:"",excludeFromContext:O.excludeFromContext},sessionId:a?.id??az.current??void 0}),(0,A.jsx)("div",{ref:aA})]})})}),w?null:(0,A.jsx)(ht,{messages:F,scrollContainer:aB,messageRefs:ba})]}),(0,A.jsxs)("div",{className:"relative",style:{flexShrink:0},children:[(0,A.jsx)("div",{style:{paddingLeft:16,paddingRight:16},children:(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsx)(hY,{todoPhases:ax,subagents:as,subagentEvents:at,onSelectSubagent:aY}),(0,A.jsx)(iN,{widgets:bj})]})}),bh]})]})]})}function iM({statuses:a}){return 0===a.length?null:(0,A.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-2)",marginBottom:"var(--space-4)"},children:a.map(a=>(0,A.jsxs)("div",{className:"ui-compact-surface",style:{display:"flex",alignItems:"center",gap:"var(--space-3)",maxWidth:"100%",padding:"var(--space-2) var(--space-4)",border:"1px solid color-mix(in srgb, var(--accent) 24%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--accent) 7%, var(--bg))",color:"var(--text-muted)",fontSize:"var(--text-md)"},children:[(0,A.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},children:a.key}),(0,A.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.text})]},a.key))})}function iN({widgets:a}){return 0===a.length?null:(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)",marginBottom:"var(--space-4)"},children:a.map(a=>(0,A.jsxs)("div",{className:"ui-compact-surface",style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",overflow:"hidden"},children:[(0,A.jsx)("div",{style:{padding:"5px 9px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)"},children:a.key}),(0,A.jsx)("pre",{style:{margin:0,padding:"var(--space-4) 9px",color:"var(--text-muted)",fontSize:"var(--text-md)",lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)"},children:a.lines.join("\n")})]},a.key))})}function iO({notices:a,floating:b=!1,align:c="left"}){return 0===a.length?null:(0,A.jsx)("div",{role:"status","aria-live":"polite",style:{display:"flex",flexDirection:"column",alignItems:"right"===c?"flex-end":"stretch",marginBottom:10*!b},children:a.map((c,d)=>{let e="error"===c.type?"var(--status-error)":"warning"===c.type?"var(--status-warning)":"success"===c.type?"var(--status-success)":"var(--accent)";return(0,A.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:"center",gap:"var(--space-4)",minHeight:"var(--control-height-lg)",height:"var(--control-height-lg)",maxHeight:48,marginBottom:d===a.length-1?0:"var(--space-2)",overflow:"hidden",borderRadius:"var(--radius-control)",border:"1px solid color-mix(in srgb, var(--border) 70%, transparent)",background:"var(--bg)",color:"var(--text-muted)",width:"fit-content",maxWidth:"min(100%, 620px)",boxShadow:b?"var(--shadow-pop)":"var(--shadow-card)",fontSize:"var(--text-md)",lineHeight:1.35,transformOrigin:"top center",animation:c.exiting?"notice-shelf-out var(--dur-med) ease-in forwards":"notice-shelf-in var(--dur-med) var(--ease-out-warm) both",padding:"0 10px"},children:[(0,A.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:e,flexShrink:0}}),(0,A.jsx)("span",{style:{padding:"8px 0",minWidth:0,maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.message})]},c.id)})})}function iP({request:a,onInput:b,runtimeReady:c=!0}){let{t:d}=(0,E.s9)(),e=(0,B.useRef)(null),f=(0,B.useRef)(!1),g=function(a){let b=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,c=[];for(let d of a){let a=d.replace(ix,""),e=iA(a).trimEnd();if(b.test(e))continue;let f=a,g=iD(f);("│"===g||"┃"===g)&&" "===iD(f=iC(f,0))&&(f=iC(f,0));let h=function(a){let b=iB(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(f),i=h>=0?iB(f)[h]?.char:void 0;("│"===i||"┃"===i)&&(f=iC(f,h)),c.push(function(a){let b=a;for(;;){let a=iB(b),c=a[a.length-1];if(!c||""!==c.char.trim())return b;b=b.slice(0,c.start)+b.slice(c.end)}}(f))}for(;c.length>0&&""===iA(c[0]).trim();)c.shift();for(;c.length>0&&""===iA(c[c.length-1]).trim();)c.pop();return c.length?c:a}(a.lines);return(0,A.jsx)("div",{style:{position:"absolute",inset:0,zIndex:"var(--z-extension-dialog)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay-backdrop)"},children:(0,A.jsxs)("div",{role:"dialog","aria-modal":"true",onClick:a=>{c&&(a.target.closest("button")||e.current?.focus())},style:{position:"relative",width:"min(920px, 100%)",maxHeight:"min(760px, calc(100vh - 40px))",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",boxShadow:"var(--shadow-modal)",overflow:"hidden",outline:"none"},children:[(0,A.jsx)("textarea",{ref:e,"aria-label":d("chatWindow.extensionTerminalInput"),"aria-disabled":!c,disabled:!c,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,onKeyDown:d=>{if(!c||f.current||d.nativeEvent.isComposing)return;let e=function(a){if(a.metaKey||a.ctrlKey&&!a.altKey&&"v"===a.key.toLowerCase())return null;if(a.ctrlKey&&!a.altKey){let b=function(a){if(1!==a.length)return null;let b=a.toUpperCase().charCodeAt(0);return b>=64&&b<=95?String.fromCharCode(31&b):"?"===a?"":null}(a.key);if(b)return b}if(a.altKey&&!a.ctrlKey){if("Backspace"===a.key)return"\x1b\x7f";let b=iF[a.key];if(b)return b;if(1===a.key.length)return`\x1b${a.key}`}return"Enter"===a.key?a.shiftKey?"\n":"\r":"Tab"===a.key?a.shiftKey?"\x1b[Z":" ":iE[a.key]??null}(d);e&&(d.preventDefault(),d.stopPropagation(),b(a,e))},onInput:d=>{if(!c||f.current||d.nativeEvent.isComposing)return;let e=d.currentTarget.value;d.currentTarget.value="",e&&b(a,e)},onCompositionStart:()=>{f.current=!0},onCompositionEnd:d=>{if(f.current=!1,!c)return;let e=d.currentTarget;queueMicrotask(()=>{let d=e.value;e.value="",d&&c&&b(a,d)})},onPaste:d=>{if(d.preventDefault(),!c)return;let e=d.clipboardData.getData("text");e&&b(a,`\x1b[200~${e}\x1b[201~`)},style:{position:"absolute",width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:"none"}}),(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",padding:"10px var(--space-5)",borderBottom:"1px solid var(--border)"},children:[(0,A.jsx)("div",{style:{color:"var(--text)",fontSize:"var(--text-base)",fontWeight:650},children:d("chatWindow.extensionPanel")}),(0,A.jsx)("button",{onClick:()=>{c&&b(a,"\x03")},disabled:!c,"aria-disabled":!c,style:{padding:"5px 9px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,fontSize:"var(--text-md)"},children:d("chatWindow.close")})]}),(0,A.jsx)("pre",{style:{margin:0,padding:14,maxHeight:"calc(min(760px, 100vh - 40px) - 48px)",overflow:"auto",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:"var(--text-base)",lineHeight:1.45,whiteSpace:"pre"},children:(g.length?g:[""]).map((a,b,c)=>{var d;return(0,A.jsxs)(B.Fragment,{children:[(d=`line-${b}`,(function(a){let b,c=[],d={},e=0;for(iw.lastIndex=0;null!==(b=iw.exec(a));)b.index>e&&c.push({text:a.slice(e,b.index),style:d}),d=function(a,b){let c={...a};for(let a=0;a<b.length;a++){let d=b[a];if(0===d)for(let a of Object.keys(c))delete c[a];else if(1===d)c.fontWeight=700;else if(2===d)c.opacity=.65;else if(3===d)c.fontStyle="italic";else if(4===d)c.textDecoration="underline";else if(22===d)delete c.fontWeight,delete c.opacity;else if(23===d)delete c.fontStyle;else if(24===d)delete c.textDecoration;else if(39===d)delete c.color;else if(49===d)delete c.background;else if(d>=30&&d<=37)c.color=iy[d-30];else if(d>=90&&d<=97)c.color=iz[d-90];else if(d>=40&&d<=47)c.background=iy[d-40];else if(d>=100&&d<=107)c.background=iz[d-100];else if((38===d||48===d)&&2===b[a+1]){let[e,f,g]=[b[a+2],b[a+3],b[a+4]];[e,f,g].every(a=>"number"==typeof a&&Number.isFinite(a))&&(38===d?c.color=`rgb(${e}, ${f}, ${g})`:c.background=`rgb(${e}, ${f}, ${g})`),a+=4}else if((38===d||48===d)&&5===b[a+1]){let e=function(a){if(a>=0&&a<8)return iy[a];if(a>=8&&a<16)return iz[a-8];if(a>=16&&a<=231){let b=a-16,c=Math.floor(b/36),d=Math.floor(b%36/6),e=a=>0===a?0:55+40*a;return`rgb(${e(c)}, ${e(d)}, ${e(b%6)})`}if(a>=232&&a<=255){let b=8+(a-232)*10;return`rgb(${b}, ${b}, ${b})`}}(b[a+2]);e&&(38===d?c.color=e:c.background=e),a+=2}}return c}(d,b[1]?b[1].split(";").map(a=>Number(a||"0")):[0]),e=b.index+b[0].length;return e<a.length&&c.push({text:a.slice(e),style:d}),c})(a).map((a,b)=>Object.keys(a.style).length>0?(0,A.jsx)("span",{style:a.style,children:a.text},`${d}-${b}`):a.text)),b<c.length-1?"\n":null]},b)})})]})})}},98328:(a,b,c)=>{c.d(b,{D:()=>l});var d=c(42385),e=c(15473),f=c(92382),g=c(37517);function h(a,b){let c=a.indexOf("\r",b),d=a.indexOf("\n",b);return -1===d?c:-1===c||c+1===d?d:c<d?c:d}var i=c(99779);let j={}.hasOwnProperty,k=Object.prototype;function l(a,b){let c=b||{};return m({file:c.file||void 0,location:!1,schema:"svg"===c.space?f.JW:f.qy,verbose:c.verbose||!1},a)}function m(a,b){let c;switch(b.nodeName){case"#comment":return c={type:"comment",value:b.data},o(a,b,c),c;case"#document":case"#document-fragment":{let e="mode"in b&&("quirks"===b.mode||"limited-quirks"===b.mode);if(c={type:"root",children:n(a,b.childNodes),data:{quirksMode:e}},a.file&&a.location){let b,e,f=String(a.file),g=(b=String(f),e=[],{toOffset:function(a){if(a&&"number"==typeof a.line&&"number"==typeof a.column&&!Number.isNaN(a.line)&&!Number.isNaN(a.column)){for(;e.length<a.line;){let a=e[e.length-1],c=h(b,a),d=-1===c?b.length+1:c+1;if(a===d)break;e.push(d)}let c=(a.line>1?e[a.line-2]:0)+a.column-1;if(c<e[a.line-1])return c}},toPoint:function(a){if("number"==typeof a&&a>-1&&a<=b.length){let c=0;for(;;){let d=e[c];if(void 0===d){let a=h(b,e[c-1]);d=-1===a?b.length+1:a+1,e[c]=d}if(d>a)return{line:c+1,column:a-(c>0?e[c-1]:0)+1,offset:a};c++}}}}),i=g.toPoint(0),j=g.toPoint(f.length);(0,d.ok)(i,"expected `start`"),(0,d.ok)(j,"expected `end`"),c.position={start:i,end:j}}return c}case"#documentType":return o(a,b,c={type:"doctype"}),c;case"#text":return c={type:"text",value:b.value},o(a,b,c),c;default:return function(a,b){let c=a.schema;a.schema=b.namespaceURI===i.t.svg?f.JW:f.qy;let d=-1,g={};for(;++d<b.attrs.length;){let a=b.attrs[d],c=(a.prefix?a.prefix+":":"")+a.name;j.call(k,c)||(g[c]=a.value)}let h=("svg"===a.schema.space?e.s:e.h)(b.tagName,g,n(a,b.childNodes));if(o(a,b,h),"template"===h.tagName){let c=b.sourceCodeLocation,d=c&&c.startTag&&p(c.startTag),e=c&&c.endTag&&p(c.endTag),f=m(a,b.content);d&&e&&a.file&&(f.position={start:d.end,end:e.start}),h.content=f}return a.schema=c,h}(a,b)}}function n(a,b){let c=-1,d=[];for(;++c<b.length;){let e=m(a,b[c]);d.push(e)}return d}function o(a,b,c){if("sourceCodeLocation"in b&&b.sourceCodeLocation&&a.file){let e=function(a,b,c){let e=p(c);if("element"===b.type){let f=b.children[b.children.length-1];if(e&&!c.endTag&&f&&f.position&&f.position.end&&(e.end=Object.assign({},f.position.end)),a.verbose){let e,f={};if(c.attrs)for(e in c.attrs)j.call(c.attrs,e)&&(f[(0,g.I)(a.schema,e).property]=p(c.attrs[e]));(0,d.ok)(c.startTag,"a start tag should exist");let h=p(c.startTag),i=c.endTag?p(c.endTag):void 0,k={opening:h};i&&(k.closing=i),k.properties=f,b.data={position:k}}}return e}(a,c,b.sourceCodeLocation);e&&(a.location=!0,c.position=e)}}function p(a){let b=q({line:a.startLine,column:a.startCol,offset:a.startOffset}),c=q({line:a.endLine,column:a.endCol,offset:a.endOffset});return b||c?{start:b,end:c}:void 0}function q(a){return a.line&&a.column?a:void 0}},98448:(a,b,c)=>{c.r(b),c.d(b,{boolean:()=>e,booleanish:()=>f,commaOrSpaceSeparated:()=>k,commaSeparated:()=>j,number:()=>h,overloadedBoolean:()=>g,spaceSeparated:()=>i});let d=0,e=l(),f=l(),g=l(),h=l(),i=l(),j=l(),k=l();function l(){return 2**++d}},99779:(a,b,c)=>{c.d(b,{t:()=>d});let d={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}}};
|
|
17
|
+
${f}`});return[a.trim(),...c].filter(Boolean).join("\n\n")}(b,aB);if(!az.length&&!aB.length&&b.startsWith("/")&&K){let a=await K(b);if(a.handled){a.error||a.retainInput||bv();return}}a(c,az.length?az:void 0),bv()},[an,az,aB,e,N,K,a,bv,L]),bx=an.startsWith("/")&&!/\s/.test(an.slice(1))?an.slice(1).toLowerCase():null,[by,bz]=(0,B.useState)(()=>new Set);(0,B.useEffect)(()=>{if(null===bx||!T)return;let a=new AbortController;return fetch(`/api/skills?cwd=${encodeURIComponent(T)}`,{signal:a.signal}).then(a=>a.ok?a.json():null).then(a=>{a&&bz(new Set((a.skills??[]).flatMap(a=>a.disableModelInvocation&&a.name?[a.name]:[])))}).catch(()=>{}),()=>a.abort()},[T,bx]);let bA=C().useMemo(()=>g0.map(a=>({name:a.name,description:aj(a.descriptionKey),...a.argumentHintKey?{argumentHint:aj(a.argumentHintKey)}:{},source:"builtin"})),[aj]),bB=C().useMemo(()=>(H??[]).flatMap(a=>{let b=a.source;return g1.has(a.name)?[]:"builtin"===b||"ompBuiltin"===b?[{name:a.name,description:a.description,source:"ompBuiltin"}]:[a]}),[H]),bC=null===bx?[]:[...e?[]:bA,...bB].filter(a=>{let b=a.name.toLowerCase(),c=a.description?.toLowerCase()??"";return b.includes(bx)||c.includes(bx)}).sort((a,b)=>{let c=g5(a,bx)-g5(b,bx);if(0!==c)return c;let d=Number(g_(a,by))-Number(g_(b,by));return 0!==d?d:g4[a.source]-g4[b.source]||am.compare(a.name,b.name)}),bD=(()=>{let a=new Map;for(let b of g2)a.set(b,{source:b,items:[]});return bC.forEach((b,c)=>{a.get(b.source)?.items.push({command:b,index:c})}),g2.map(b=>a.get(b)).filter(a=>a.items.length>0)})(),bE=ak(bx?"chatInput.matchCount":"chatInput.commandCount",bC.length),bF=(0,B.useCallback)((a,b)=>{if(!T)return void aN(null);let c=b??a.length;aN((0,gR.RO)(a.slice(0,c)))},[T]),bG=aM?.query??null,bH=C().useMemo(()=>null!==bG&&aW&&aW.cwd===T?(0,gR.R7)(aW.entries,bG):[],[bG,aW,T]),bI=!!(bG&&aW?.truncated&&aW.cwd===T);(0,B.useEffect)(()=>{if(!bI||!T||!bG)return;let a=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent(T)}&q=${encodeURIComponent(bG)}`).then(a=>{if(!a.ok)throw Error(`file search failed: ${a.status}`);return a.json()}).then(a=>a_({cwd:T,query:bG,matches:a.matches??[]})).catch(()=>{})},150);return()=>clearTimeout(a)},[bI,bG,T]);let bJ=bI&&null!==a$&&a$.cwd===T&&a$.query===bG,bK=bJ?a$.matches:bH,bL=null===aM?null:`${aM.start}:${+!!aM.quoted}:${aM.query}`;(0,B.useEffect)(()=>{if(null===bL){aP(!1),aR(0);return}aP(!0),aR(0)},[bL]);let bM=null!==aM;(0,B.useEffect)(()=>{if(!bM||!T)return;let a=be.current;a&&a.cwd===T&&Date.now()-a.fetchedAt<1e4||bf.current===T||(bf.current=T,aZ(!0),fetch(`/api/file-index?cwd=${encodeURIComponent(T)}`).then(a=>{if(!a.ok)throw Error(`file index failed: ${a.status}`);return a.json()}).then(a=>{aX({cwd:T,entries:(0,gR.Yh)(a.files??[]),truncated:!!a.truncated}),be.current={cwd:T,fetchedAt:Date.now()}}).catch(()=>{be.current=null}).finally(()=>{bf.current=null,aZ(!1)}))},[bM,T]);let bN=(0,B.useCallback)(a=>{if(!aM)return;let b=a0.current,c=b?.selectionStart??an.length,d=an.slice(0,aM.start),e=an.slice(c);aM.quoted&&e.startsWith('"')&&(e=e.slice(1));let f=(0,gR.W)(a.path,a.isDir,aM.quoted),g=d+f.text+e,h=d.length+f.cursorOffset;ao(g),aN((0,gR.RO)(g.slice(0,h))),requestAnimationFrame(()=>{let a=a0.current;a&&(a.focus(),a.setSelectionRange(h,h),a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)})},[aM,an]);(0,B.useEffect)(()=>{aQ>=bK.length&&aR(Math.max(0,bK.length-1))},[bK.length,aQ]),(0,B.useEffect)(()=>{bc.current.length=bK.length},[bK.length]),(0,B.useEffect)(()=>{aO&&bc.current[aQ]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aQ,aO]),(0,B.useEffect)(()=>{aU>=F.length&&aV(Math.max(0,F.length-1))},[F.length,aU]),(0,B.useEffect)(()=>{bd.current.length=F.length},[F.length]),(0,B.useEffect)(()=>{aS&&bd.current[aU]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aU,aS]);let bO=(0,B.useCallback)(a=>{ao(a),aT(!1),aV(0),aN(null),requestAnimationFrame(()=>{let b=a0.current;b&&(b.focus(),b.setSelectionRange(a.length,a.length),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)})},[]),bP=(0,B.useCallback)(a=>{let b=`/${a.name} `;ao(b),aJ(!1),aL(0),requestAnimationFrame(()=>{let a=a0.current;a&&(a.focus(),a.setSelectionRange(b.length,b.length),a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)})},[]),bQ=(0,B.useCallback)(a=>{let b=an.trim();if(!N||!b&&!az.length&&!aB.length||az.length||aB.length)return;L?.();let e="steer"===a?"steer":"followUp";if(b.startsWith("/")&&M){let a=gP(b);if("expand"===a.kind){M(a.prompt,e,az.length?az:void 0),bv();return}return"usage-error"===a.kind?void gH.oR.error(aj("chatInput.commandUsageTitle"),aj("agentSession.commandRequiresArgs",{command:a.command,usage:aj(a.argumentHintKey)})):(M(b,e,az.length?az:void 0),void bv())}"steer"===a&&c?c(b,az.length?az:void 0):"followup"===a&&d&&d(b,az.length?az:void 0),bv()},[an,az,aB,N,M,c,d,bv,L,aj]),bR=[...(z?.followUp??[]).map(a=>({kind:"follow-up",text:a})),...(z?.steering??[]).map(a=>({kind:"steer",text:a}))],bS=bR[0]??null,bT=bR.length,bU=(0,B.useCallback)(()=>{N&&bS&&(Q?.(bS.text),ao(bS.text),aN(null),aT(!1),requestAnimationFrame(()=>{let a=a0.current;a&&(a.focus(),a.setSelectionRange(bS.text.length,bS.text.length),a.style.height="auto",a.style.height=Math.min(a.scrollHeight,200)+"px")}))},[bS,Q,N]),bV=(0,B.useCallback)(()=>{N&&bS&&Q?.(bS.text)},[bS,Q,N]),bW=(0,B.useCallback)(()=>{N&&bS&&"follow-up"===bS.kind&&R?.(bS.text)},[bS,R,N]),bX=(0,B.useCallback)(a=>{let b=bC.length-1;if(b<0)return 0;if("left"===a)return Math.max(0,aK-1);if("right"===a)return Math.min(b,aK+1);let c=bb.current[aK];if(!c)return"down"===a?Math.min(b,aK+1):Math.max(0,aK-1);let d=c.getBoundingClientRect(),e=d.left+d.width/2,f=d.top+d.height/2,g=-1,h=1/0;for(let c=0;c<=b;c+=1){if(c===aK)continue;let b=bb.current[c];if(!b)continue;let d=b.getBoundingClientRect(),i=d.top+d.height/2-f;if("down"===a?i<=4:i>=-4)continue;let j=1e3*Math.abs(i)+Math.abs(d.left+d.width/2-e);j<h&&(g=c,h=j)}return g>=0?g:"down"===a?Math.min(b,aK+1):Math.max(0,aK-1)},[bC.length,aK]),bY=(0,B.useCallback)(a=>{let f=a.nativeEvent,g=Date.now()-a9.current<100,h=a8.current||f.isComposing||229===f.keyCode;if("Enter"===a.key&&!a.shiftKey&&(h||g)){g&&a.preventDefault();return}if(aS&&!h){if("ArrowDown"===a.key){a.preventDefault(),aV(a=>Math.min(Math.max(0,F.length-1),a+1));return}if("ArrowUp"===a.key){a.preventDefault(),aV(a=>Math.max(0,a-1));return}if("Escape"===a.key){a.preventDefault(),aT(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&F[aU]){a.preventDefault(),bO(F[aU]);return}}if(aI&&null!==bx){if("ArrowDown"===a.key){a.preventDefault(),aL(bX("down"));return}if("ArrowUp"===a.key){a.preventDefault(),aL(bX("up"));return}if("ArrowRight"===a.key){a.preventDefault(),aL(bX("right"));return}if("ArrowLeft"===a.key){a.preventDefault(),aL(bX("left"));return}if("Escape"===a.key){a.preventDefault(),aJ(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&bC[aK]){a.preventDefault(),bP(bC[aK]);return}}if(aO&&null!==aM&&!h){if("ArrowDown"===a.key){a.preventDefault(),aR(a=>Math.min(Math.max(0,bK.length-1),a+1));return}if("ArrowUp"===a.key){a.preventDefault(),aR(a=>Math.max(0,a-1));return}if("Escape"===a.key){a.preventDefault(),aP(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&bK[aQ]){a.preventDefault(),bN(bK[aQ]);return}}if("ArrowUp"===a.key&&!h&&!e&&F.length>0&&0===an.trim().length){a.preventDefault(),aJ(!1),aP(!1),aV(F.length-1),aT(!0);return}if("Escape"===a.key&&!h&&N&&e&&b){a.preventDefault(),b();return}if("Enter"===a.key&&!a.shiftKey){if(ai)return;a.preventDefault(),e&&(c||d)?"steer"===gF()&&c?bQ("steer"):bQ("followup"):bw()}},[ai,e,N,c,d,b,aI,bx,bC,aK,bP,bQ,bw,bX,aO,aM,bK,aQ,bN,aS,F,aU,bO,an]),bZ=(0,B.useCallback)(()=>{let a=a0.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)},[]),b$=(0,B.useCallback)(a=>{let b=Array.from(a.clipboardData?.items??[]).filter(a=>a.type.startsWith("image/"));b.length&&(a.preventDefault(),bq(b.map(a=>a.getAsFile()).filter(a=>null!==a)))},[bq]);(0,B.useEffect)(()=>{if(null===bx){aJ(!1),aL(0),ba.current=!1;return}aJ(!0),aL(0),!ba.current&&J&&(ba.current=!0,Promise.resolve(J()).catch(()=>{ba.current=!1}))},[bx,J]),(0,B.useEffect)(()=>{aK>=bC.length&&aL(Math.max(0,bC.length-1))},[bC.length,aK]),(0,B.useEffect)(()=>{bb.current.length=bC.length},[bC.length]),(0,B.useEffect)(()=>{aI&&bb.current[aK]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aK,aI]);let[b_,b0]=(0,B.useState)(null);(0,B.useEffect)(()=>{let a=()=>b0(function(){try{let a=JSON.parse(localStorage.getItem("omp-composer-models")??"null");return Array.isArray(a)?new Set(a.filter(a=>"string"==typeof a)):null}catch{return null}}());return a(),window.addEventListener("omp-composer-models-change",a),()=>window.removeEventListener("omp-composer-models-change",a)},[]);let b1=C().useMemo(()=>i&&i.length>0?i.map(a=>({provider:a.provider,modelId:a.id,name:a.name})).filter(a=>null===b_||b_.has(`${a.provider}:${a.modelId}`)).sort((a,b)=>gY(am,a,b)):Object.entries(h??{}).map(([a,b])=>({provider:f?.provider??"unknown",modelId:a,name:b})).sort((a,b)=>gY(am,a,b)),[i,h,f?.provider,b_,am]),b2=C().useMemo(()=>{let a;return(a=ax.trim().toLocaleLowerCase(al))?b1.filter(b=>b.name.toLocaleLowerCase(al).includes(a)||b.modelId.toLocaleLowerCase(al).includes(a)||b.provider.toLocaleLowerCase(al).includes(a)):b1},[al,b1,ax]),b3=C().useMemo(()=>{let a=[];for(let b of b2){let c=a.find(a=>a.provider===b.provider);c?c.options.push(b):a.push({provider:b.provider,options:[b]})}return a},[b2]),b4=f?b1.find(a=>a.modelId===f.modelId&&a.provider===f.provider)?.name??x??h?.[`${f.provider}:${f.modelId}`]??f.modelId:null,b5=!!k&&!j,b6=!N||e||b5&&0===b1.length,b7=s?Math.max(0,s.tokensBefore-s.estimatedTokensAfter):0,b8=s?.reason&&"manual"!==s.reason?aj("chatInput.compactedWithReason",{reason:`${s.reason[0].toUpperCase()}${s.reason.slice(1)}`}):aj("chatInput.compacted"),b9=s?aj("chatInput.compactResult",{verb:b8,before:g$(s.tokensBefore,al),after:g$(s.estimatedTokensAfter,al),saved:g$(b7,al)}):null,ca="auto"!==(aa=t??"auto")&&w?w[aa]??aa:aa,cb="medium"===ca.toLowerCase()?"med":ca,cc=null==(Y=O?.percent)||Number.isNaN(Y)?0:Math.min(100,Math.max(0,Y)),cd=cc>0&&cc<10?gW(cc):`${Math.round(cc)}%`,ce=!!(O&&null!=O.percent&&O.contextWindow>0),cf=ce&&O?`${gW(cc)} / ${!gV(Z=O.contextWindow)?"":Z>=1e6?`${Z/1e6}M`:Z>=1e3?`${Z/1e3}k`:String(Z)}`:null,cg=ce&&O?.tokens!=null?aj("chatInput.contextTokens",{used:(0,gI.wk)(O.tokens,al),total:(0,gI.wk)(O.contextWindow,al)}):null,ch=null!=P&&Number.isFinite(P)&&P>=0?aj("chatInput.sessionCost",{cost:`$${P.toFixed(P>0&&P<.01?4:2)}`}):null,ci=C().useSyncExternalStore(gG,gF,()=>"steer"),cj=!!an.trim()&&0===az.length&&0===aB.length,ck=($=!!c,_=!!d,ai&&e&&cj?"steer"===ci&&$?"steer":"queue"===ci&&_?"followup":$?"steer":_?"followup":null:null),cl=C().useMemo(()=>(function(a){if(!a)return[...gU];let b=new Set(a.filter(a=>a&&"auto"!==a));return[...gU.filter(a=>"auto"===a||b.delete(a)),...b]})(v),[v]);return(0,B.useEffect)(()=>{e&&au(!1)},[e]),(0,B.useEffect)(()=>{if(!ce)return void aw(!1);if(!av)return;let a=a=>{let b=a5.current;b&&!b.contains(a.target)&&aw(!1)},b=a=>{"Escape"===a.key&&aw(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[av,ce]),(0,B.useEffect)(()=>{ap?requestAnimationFrame(()=>a3.current?.focus()):ay("")},[ap]),(0,B.useEffect)(()=>{let a=a=>{a1.current&&!a1.current.contains(a.target)&&a2.current&&!a2.current.contains(a.target)&&aq(!1),a4.current&&!a4.current.contains(a.target)&&au(!1),!a6.current||a6.current.contains(a.target)||a0.current?.contains(a.target)||aT(!1)};return document.addEventListener("mousedown",a),()=>document.removeEventListener("mousedown",a)},[]),(0,A.jsxs)("div",{style:{flexShrink:0,background:"transparent",paddingTop:0,paddingBottom:"calc(8px + env(safe-area-inset-bottom))",paddingLeft:16,paddingRight:16},children:[(0,A.jsx)("input",{ref:a7,type:"file",accept:"*/*",multiple:!0,disabled:e||!N,style:{display:"none"},onChange:a=>{bq(Array.from(a.target.files??[])),a.target.value=""}}),(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsx)(hd,{error:j}),(0,A.jsx)(he,{goal:U,plan:V}),y&&(0,A.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-warning) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-warning) 25%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-warning)",display:"flex",alignItems:"center",gap:6},children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,A.jsx)("path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"}),(0,A.jsx)("path",{d:"M3 3v5h5"})]}),aj("chatInput.retrying",{attempt:y.attempt,maxAttempts:y.maxAttempts}),y.errorMessage&&(0,A.jsxs)("span",{style:{opacity:.7,marginLeft:4},children:["— ",y.errorMessage]}),G&&(0,A.jsx)("button",{type:"button",onClick:G,title:"Stop the automatic retry and leave the failed turn as-is",style:{marginLeft:"auto",padding:"3px 9px",fontSize:11,color:"var(--status-warning)",background:"transparent",border:"1px solid color-mix(in srgb, var(--status-warning) 45%, transparent)",borderRadius:6,cursor:"pointer",whiteSpace:"nowrap",transition:"background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.background="color-mix(in srgb, var(--status-warning) 12%, transparent)"},onMouseLeave:a=>{a.currentTarget.style.background="transparent"},children:"Abort retry"})]}),b9&&(0,A.jsxs)("div",{style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-success) 8%, transparent)",border:"1px solid color-mix(in srgb, var(--status-success) 24%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-success)",display:"flex",alignItems:"center",gap:6},children:[(0,A.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,A.jsx)("polyline",{points:"20 6 9 17 4 12"})}),b9]}),aD&&(0,A.jsx)("div",{role:"alert",style:{marginBottom:8,padding:"5px 10px",background:"color-mix(in srgb, var(--status-error) 7%, transparent)",border:"1px solid color-mix(in srgb, var(--status-error) 30%, transparent)",borderRadius:6,fontSize:12,color:"var(--status-error)"},children:aD}),az.length>0&&(0,A.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:az.map((a,b)=>(0,A.jsxs)("div",{style:{position:"relative",flexShrink:0},children:[(0,A.jsx)("img",{src:a.previewUrl,alt:"",style:{width:56,height:56,objectFit:"cover",borderRadius:6,border:"1px solid var(--border)",display:"block"}}),(0,A.jsx)("button",{onClick:()=>br(b),disabled:!N,title:"Remove image","aria-label":"Remove image",style:{position:"absolute",top:-5,right:-5,width:24,height:24,borderRadius:"50%",background:"var(--bg-panel)",border:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"center",cursor:"pointer",padding:0,color:"var(--text-muted)",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.color="var(--text)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.background="var(--bg-panel)"},children:(0,A.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,A.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,A.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},b))}),aB.length>0&&(0,A.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:aB.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:7,maxWidth:260,height:30,padding:"0 6px 0 9px",border:"1px solid var(--border)",borderRadius:6,background:"var(--bg-panel)",fontSize:12,color:"var(--text)"},children:[(0,A.jsx)("span",{style:{flexShrink:0,display:"flex",color:"var(--text-muted)"},children:(0,A.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,A.jsx)("path",{d:"M14.5 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7.5L14.5 2z"}),(0,A.jsx)("polyline",{points:"14 2 14 8 20 8"})]})}),(0,A.jsx)("span",{title:a.name,style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontFamily:"var(--font-mono)",fontSize:11.5},children:a.name}),(0,A.jsx)("span",{style:{flexShrink:0,fontSize:10,color:"var(--text-dim)"},children:a.size<1024?`${a.size} B`:`${Math.round(a.size/1024)} KB`}),(0,A.jsx)("button",{onClick:()=>bs(b),disabled:!N,title:"Remove file","aria-label":"Remove file",style:{flexShrink:0,width:18,height:18,borderRadius:"50%",display:"flex",alignItems:"center",justifyContent:"center",background:"transparent",border:"none",cursor:"pointer",padding:0,color:"var(--text-muted)",transition:"color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.color="var(--text)",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.color="var(--text-muted)",a.currentTarget.style.background="transparent"},children:(0,A.jsxs)("svg",{width:"9",height:"9",viewBox:"0 0 8 8",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",children:[(0,A.jsx)("line",{x1:"1",y1:"1",x2:"7",y2:"7"}),(0,A.jsx)("line",{x1:"7",y1:"1",x2:"1",y2:"7"})]})})]},b))}),(0,A.jsxs)("div",{style:{position:"relative"},children:[aS&&F.length>0&&(0,A.jsxs)("div",{ref:a6,className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(44vh, 360px)"},children:[(0,A.jsx)("div",{title:aj("chatInput.inputHistory"),style:{height:30,padding:"0 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",color:"var(--text-dim)"},children:(0,A.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M3 12a9 9 0 1 0 3-6.7"}),(0,A.jsx)("path",{d:"M3 4v5h5"}),(0,A.jsx)("path",{d:"M12 7v5l3 2"})]})}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(44vh, 360px) - 31px)",overflowY:"auto",padding:4},children:F.map((a,b)=>{let c=b===aU;return(0,A.jsxs)("button",{ref:a=>{bd.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),bO(a)},onMouseEnter:()=>aV(b),style:{width:"100%",display:"flex",alignItems:"flex-start",gap:8,padding:"7px 8px",border:"none",borderRadius:6,background:c?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,lineHeight:1.45},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:11,color:"var(--text-dim)",paddingTop:1},children:b+1}),(0,A.jsx)("span",{style:{minWidth:0,display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",overflowWrap:"anywhere"},children:a})]},`${b}:${a}`)})})]}),aI&&null!==bx&&(0,A.jsxs)("div",{className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(56vh, 460px)"},children:[(0,A.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)"},children:[(0,A.jsx)("span",{children:I?aj("chatInput.loadingCommands"):aj("chatInput.slashCommandsHeader",{countLabel:bE})}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:aj("chatInput.tabEnterHint")})]}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(56vh, 460px) - 34px)",overflowY:"auto",padding:10},children:I||0!==bC.length?bD.map(a=>(0,A.jsxs)("section",{style:{marginBottom:12},children:[(0,A.jsxs)("div",{style:{position:"sticky",top:-10,zIndex:1,display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,padding:"4px 0 6px",background:"var(--bg)",color:"var(--text-dim)",fontSize:10,fontWeight:600,textTransform:"uppercase"},children:[(0,A.jsx)("span",{children:aj(g3[a.source])}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:500},children:a.items.length})]}),(0,A.jsx)("div",{style:{display:"grid",gridTemplateColumns:"repeat(auto-fit, minmax(220px, 1fr))",gap:8},children:a.items.map(({command:a,index:b})=>{let c=b===aK,d=g_(a,by);return(0,A.jsxs)("button",{ref:a=>{bb.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),bP(a)},onMouseEnter:()=>aL(b),style:{width:"100%",minWidth:0,minHeight:58,display:"flex",flexDirection:"column",gap:4,justifyContent:"center",padding:"9px 10px",border:`1px solid ${c?"var(--accent)":"var(--border)"}`,borderRadius:7,background:c?"var(--bg-selected)":"var(--bg-panel)",color:d?"var(--text-dim)":"var(--text)",cursor:"pointer",textAlign:"left",boxShadow:c?"0 0 0 1px color-mix(in srgb, var(--accent) 28%, transparent)":"none"},children:[(0,A.jsxs)("span",{style:{fontSize:13,fontFamily:"var(--font-mono)",overflowWrap:"anywhere",wordBreak:"break-word"},children:["/",a.name,a.argumentHint&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--text-dim)"},children:a.argumentHint}),d&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:10,color:"var(--text-dim)"},children:aj("chatInput.dormant")})]}),a.description&&(0,A.jsx)("span",{style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",fontSize:11,lineHeight:1.35,color:"var(--text-dim)"},children:a.description})]},`${a.source}:${a.name}`)})})]},a.source)):(0,A.jsx)("div",{style:{padding:"2px 2px 4px",fontSize:12,color:"var(--text-dim)"},children:aj("chatInput.noCommandsFound")})})]}),aO&&null!==aM&&(ab=aY&&(!aW||aW.cwd!==T),ac=ak("chatInput.matchCount",bK.length),ad=aW?.truncated&&!bJ?` \xb7 ${aM.query?aj("chatInput.searchingAllFiles"):aj("chatInput.indexTruncated")}`:"",(0,A.jsxs)("div",{className:"dropdown-surface",style:{position:"absolute",left:0,right:0,bottom:"calc(100% + 8px)",zIndex:120,maxHeight:"min(48vh, 400px)"},children:[(0,A.jsxs)("div",{style:{padding:"8px 10px",borderBottom:"1px solid var(--border)",display:"flex",alignItems:"center",justifyContent:"space-between",gap:8,fontSize:11,color:"var(--text-dim)"},children:[(0,A.jsx)("span",{children:ab?aj("chatInput.loadingFiles"):`${aj("chatInput.filesHeader",{countLabel:ac})}${ad}`}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:aj("chatInput.tabEnterHint")})]}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(48vh, 400px) - 34px)",overflowY:"auto",padding:4},children:ab||0!==bK.length?bK.map((a,b)=>{let c=b===aQ,d=a.path.split("/").pop()??a.path,e=a.path.slice(0,a.path.length-d.length);return(0,A.jsxs)("button",{ref:a=>{bc.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),bN(a)},onMouseEnter:()=>aR(b),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 8px",border:"none",borderRadius:6,background:c?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:12.5,fontFamily:"var(--font-mono)"},children:[(0,A.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a.isDir?(0,A.jsx)(gS.sj,{size:14}):(0,gS.I3)(d,14)}),(0,A.jsxs)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[e&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:e}),d,a.isDir&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:"/"})]})]},`${a.isDir?"d":"f"}:${a.path}`)}):(0,A.jsx)("div",{style:{padding:"6px 8px",fontSize:12,color:"var(--text-dim)"},children:bI&&!bJ?aj("chatInput.searching"):aj("chatInput.noMatchingFiles")})})]})),bS&&(0,A.jsxs)("div",{style:{border:"1px solid var(--border)",borderBottom:"none",borderRadius:"var(--radius-card) var(--radius-card) 0 0",background:"var(--bg-panel)",padding:"5px 8px 5px 12px",display:"flex",alignItems:"center",gap:8,minWidth:0},children:[(0,A.jsxs)("span",{style:{flexShrink:0,fontSize:10,fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:"var(--text-muted)"},children:["steer"===bS.kind?aj("chatInput.queuedSteer"):aj("chatInput.queuedFollowUp"),bT>1&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:" \xb7 "+bT})]}),(0,A.jsx)("span",{title:bS.text,style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:12,color:"var(--text-muted)"},children:bS.text}),(0,A.jsx)(hc,{disabled:!N,onClick:bU,title:aj("chatInput.queuedEditTitle"),children:aj("chatInput.queuedEdit")}),(0,A.jsx)(hc,{disabled:!N,onClick:bV,title:aj("chatInput.queuedDeleteTitle"),children:aj("chatInput.queuedDelete")}),(0,A.jsx)(hc,{disabled:!N,onClick:bW,title:aj("chatInput.queuedSteerTitle"),accent:!0,children:aj("chatInput.queuedSteerAction")})]}),(0,A.jsxs)("div",{className:"chat-input-shell",style:{display:"flex",flexDirection:"column",background:"var(--bg)",border:`1px solid ${aG?"var(--tool-bg)":"color-mix(in srgb, var(--border) 70%, transparent)"}`,borderRadius:"var(--radius-card)",padding:"var(--composer-shell-padding)",boxShadow:"var(--shadow-card)",transition:"border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm), box-shadow var(--dur-fast) var(--ease-out-warm)"},children:[(0,A.jsx)("textarea",{ref:a0,value:an,onChange:a=>{ao(a.target.value),aT(!1),bF(a.target.value,a.target.selectionStart)},onSelect:a=>{let b=a.currentTarget;bF(b.value,b.selectionStart)},onKeyDown:bY,onCompositionStart:()=>{a8.current=!0},onCompositionEnd:a=>{a8.current=!1,a9.current=Date.now();let b=a.currentTarget;bF(b.value,b.selectionStart)},onInput:bZ,onPaste:b$,readOnly:!N,placeholder:aj("chatInput.placeholder"),rows:1,style:{width:"100%",background:"none",border:"none",outline:"none",resize:"none",color:"var(--text)",fontSize:14,lineHeight:1.6,fontFamily:"inherit",minHeight:24,maxHeight:200,overflow:"auto"}}),(0,A.jsxs)("div",{className:"composer-toolbar",style:{display:"flex",alignItems:"center",gap:2,marginTop:"var(--composer-toolbar-separation)",paddingTop:"var(--composer-toolbar-separation)",borderTop:"1px solid color-mix(in srgb, var(--border) 62%, transparent)",flexWrap:ai?"wrap":"nowrap"},children:[(0,A.jsx)("button",{className:"composer-attachment ui-focus-ring",onClick:()=>a7.current?.click(),disabled:e||!N,title:aj("chatInput.attachFile"),"aria-label":aj("chatInput.attachFile"),"data-has-attachments":az.length||aB.length?"true":void 0,children:(0,A.jsxs)("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,A.jsx)("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),(0,A.jsx)("polyline",{points:"14 2 14 8 20 8"})]})}),(b1.length>0||b4||j||b5)&&l&&(0,A.jsxs)("div",{ref:a1,className:"composer-model-control",style:{position:"relative",minWidth:0},children:[(0,A.jsxs)("button",{className:"composer-model-button ui-focus-ring",onClick:a=>{let b=a.currentTarget.getBoundingClientRect();as({top:b.top,left:b.left,width:b.width}),aq(a=>!a)},disabled:b6,style:{background:ap?"var(--bg-hover)":"none",cursor:b6?"not-allowed":"pointer",opacity:b6?.5:1},onMouseEnter:a=>{e||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{a.currentTarget.style.background=ap?"var(--bg-hover)":"none",a.currentTarget.style.color="var(--text-muted)"},title:b1.length>0?aj("chatInput.changeModel"):b5?aj("chatInput.loadingModels"):aj("chatInput.noAvailableModels"),children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,A.jsx)("rect",{x:"4",y:"4",width:"16",height:"16",rx:"2"}),(0,A.jsx)("rect",{x:"9",y:"9",width:"6",height:"6"}),(0,A.jsx)("line",{x1:"9",y1:"1",x2:"9",y2:"4"}),(0,A.jsx)("line",{x1:"15",y1:"1",x2:"15",y2:"4"}),(0,A.jsx)("line",{x1:"9",y1:"20",x2:"9",y2:"23"}),(0,A.jsx)("line",{x1:"15",y1:"20",x2:"15",y2:"23"}),(0,A.jsx)("line",{x1:"20",y1:"9",x2:"23",y2:"9"}),(0,A.jsx)("line",{x1:"20",y1:"14",x2:"23",y2:"14"}),(0,A.jsx)("line",{x1:"1",y1:"9",x2:"4",y2:"9"}),(0,A.jsx)("line",{x1:"1",y1:"14",x2:"4",y2:"14"})]}),W&&(0,A.jsx)("span",{title:aj("chatInput.advisorEnabled"),"aria-label":aj("chatInput.advisorEnabled"),style:{display:"flex",flexShrink:0,color:"var(--accent)"},children:(0,A.jsx)(gD,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,A.jsx)("span",{className:"composer-model-name",title:b4??void 0,children:b4??(b1.length>0?aj("chatInput.selectModel"):b5?aj("chatInput.loadingModels"):aj("chatInput.noModels"))}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),ap&&ar&&(af=(ae=window.visualViewport?.height??window.innerHeight)-ar.top+6,ag=Math.max(120,Math.min(ar.top-8,.6*ae)),ah=ai?{left:8,right:8,maxWidth:"calc(100vw - 16px)"}:{left:ar.left,width:"max-content",minWidth:ar.width,maxWidth:"calc(100vw - 16px)"},(0,A.jsxs)("div",{ref:a2,className:"dropdown-surface",style:{position:"fixed",bottom:af,...ah,zIndex:500,display:"flex",flexDirection:"column",overflow:"hidden",maxHeight:ag},children:[(0,A.jsx)("div",{style:{padding:"8px 8px 6px",flexShrink:0},children:(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"6px 10px",background:"var(--bg)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)"},children:[(0,A.jsx)(gE.A,{size:13,strokeWidth:1.8,color:"var(--text-dim)","aria-hidden":"true"}),(0,A.jsx)("input",{ref:a3,type:"search",autoComplete:"off",spellCheck:!1,value:ax,onChange:a=>ay(a.target.value),onKeyDown:a=>{"Escape"===a.key&&(a.preventDefault(),aq(!1))},placeholder:aj("chatInput.searchModels"),"aria-label":aj("chatInput.searchModels"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:13,boxSizing:"border-box",minWidth:0}})]})}),(0,A.jsx)("div",{style:{overflowY:"auto",minHeight:0,paddingBottom:4},children:0===b3.length?(0,A.jsx)("div",{style:{padding:"8px 12px",color:"var(--text-dim)",fontSize:12,whiteSpace:"nowrap"},children:ax.trim()?aj("chatInput.noMatchingModels"):b5?aj("chatInput.loadingModels"):aj("chatInput.noAvailableModels")}):b3.map((a,b)=>(0,A.jsxs)("div",{children:[b3.length>1&&(0,A.jsx)("div",{style:{padding:"6px 12px 4px",fontSize:10,fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em",borderTop:b>0?"1px solid var(--border)":"none"},children:a.provider}),a.options.map(a=>{let b=a.modelId===f?.modelId&&a.provider===f?.provider;return(0,A.jsxs)("button",{className:"dropdown-item",onClick:()=>{aq(!1),N&&(!b||g)&&l(a.provider,a.modelId)},disabled:!N,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:b?"var(--bg-selected)":"transparent",border:"none",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",fontWeight:b?600:400,whiteSpace:"nowrap"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="none")},children:[b?(0,A.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,A.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})}):(0,A.jsx)("span",{style:{width:10,flexShrink:0}}),(0,A.jsx)("span",{className:"model-option-name",title:a.name,style:{flex:1,minWidth:0},children:a.name})]},`${a.provider}:${a.modelId}`)})]},a.provider))})]}))]}),u&&(0,A.jsxs)("div",{ref:a4,className:"composer-thinking-control",style:{position:"relative"},children:[(0,A.jsxs)("button",{className:"composer-thinking-button ui-focus-ring",onClick:()=>au(a=>!a),disabled:!N||e,title:aj("chatInput.changeReasoningTitle",{level:ca}),"aria-label":`${aj("chatInput.changeReasoning")}: ${ca}`,style:{background:at?"var(--bg-hover)":"none",cursor:e?"not-allowed":"pointer",opacity:e?.5:1},onMouseEnter:a=>{e||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{a.currentTarget.style.background=at?"var(--bg-hover)":"none",a.currentTarget.style.color="var(--text-muted)"},children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:[(0,A.jsx)("path",{d:"M9.5 2A5.5 5.5 0 0 0 4 7.5c0 1.7.78 3.21 2 4.21V14a1 1 0 0 0 1 1h5a1 1 0 0 0 1-1v-2.29c1.22-1 2-2.51 2-4.21A5.5 5.5 0 0 0 9.5 2z"}),(0,A.jsx)("line",{x1:"7",y1:"18",x2:"12",y2:"18"}),(0,A.jsx)("line",{x1:"8",y1:"21",x2:"11",y2:"21"})]}),(0,A.jsx)("span",{style:{whiteSpace:"nowrap"},children:cb}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),at&&(0,A.jsx)("div",{className:"dropdown-surface",style:{position:"absolute",bottom:"calc(100% + 6px)",left:ai?"auto":0,right:ai?0:void 0,zIndex:100,minWidth:250,maxWidth:"calc(100vw - 32px)"},children:cl.map(a=>{let b=(t??"auto")===a,c=gZ[a],d=c?aj(c):"",f="auto"!==a&&w?w[a]:void 0,g=null!=f&&f!==a?f:a,h=null!=f&&f!==a;return(0,A.jsxs)("button",{className:"dropdown-item",onClick:()=>{au(!1),!N||b||e||u(a)},disabled:!N,style:{display:"flex",alignItems:"center",gap:8,width:"100%",padding:"7px 12px",background:b?"var(--bg-selected)":"transparent",border:"none",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",fontSize:12,textAlign:"left",fontWeight:b?600:400,whiteSpace:"nowrap"},onMouseEnter:a=>{b||(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{b||(a.currentTarget.style.background="transparent")},children:[b?(0,A.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none",stroke:"var(--accent)",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},children:(0,A.jsx)("polyline",{points:"1.5 5 4 7.5 8.5 2.5"})}):(0,A.jsx)("span",{style:{width:10,flexShrink:0}}),(0,A.jsxs)("span",{style:{flexShrink:0,whiteSpace:"nowrap"},children:[g,h&&(0,A.jsxs)("span",{style:{color:"var(--text-dim)",fontWeight:400},children:[" (",a,")"]})]}),d&&(0,A.jsx)("span",{style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:11,color:"var(--text-dim)",marginLeft:8},children:d})]},a)})})]}),o&&p&&(0,A.jsxs)("button",{className:"composer-fast-toggle ui-focus-ring",type:"button",onClick:()=>{N&&!e&&p(!m)},disabled:!N||e,title:m&&!1===n?"Fast mode is enabled but inactive for this model":`Turn OMP Fast mode ${m?"off":"on"} for this model`,"aria-pressed":m,style:{background:m?"var(--bg-selected)":"none",color:m&&!1===n?"var(--status-warning)":m?"var(--accent)":"var(--text-muted)",cursor:e?"not-allowed":"pointer",opacity:e?.5:1},children:[(0,A.jsx)("svg",{width:"11",height:"11",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:(0,A.jsx)("polygon",{points:"13 2 3 14 12 14 11 22 21 10 12 10 13 2"})}),aj("chatInput.fastLabel")]}),(0,A.jsx)("div",{className:"composer-toolbar-spacer",style:{flex:1}}),(0,A.jsxs)("div",{ref:a5,className:"composer-context-ring-wrap",children:[(0,A.jsxs)("button",{type:"button",className:"composer-context-ring","aria-haspopup":ce?"dialog":void 0,"aria-expanded":av,"aria-label":ce?aj("chatInput.contextWindow"):aj("chatInput.contextWindowUnavailable"),title:cf??void 0,disabled:!ce,onClick:()=>aw(a=>!a),children:[(0,A.jsxs)("svg",{width:"100%",height:"100%",viewBox:"0 0 26 26","aria-hidden":"true",style:{position:"absolute",inset:0},children:[(0,A.jsx)("circle",{cx:"13",cy:"13",r:"9.5",fill:"none",stroke:"var(--border)",strokeWidth:"2.5"}),(0,A.jsx)("circle",{cx:"13",cy:"13",r:"9.5",fill:"none",stroke:"var(--accent)",strokeWidth:"2.5",strokeLinecap:"round",strokeDasharray:gX,strokeDashoffset:gX*(1-cc/100),transform:"rotate(-90 13 13)"})]}),(0,A.jsx)("span",{className:"composer-context-ring-label",children:cd})]}),ce&&cf&&av&&(0,A.jsxs)("div",{className:"dropdown-surface composer-context-ring-popup",role:"dialog","aria-label":aj("chatInput.contextWindow"),children:[(0,A.jsx)("strong",{className:"composer-context-ring-popup-title",children:aj("chatInput.contextWindow")}),(0,A.jsx)("span",{className:"composer-context-ring-popup-used",children:aj("chatInput.contextUsed",{percent:gW(cc)})}),cg&&(0,A.jsx)("span",{className:"composer-context-ring-popup-meta",children:cg}),ch&&(0,A.jsx)("span",{className:"composer-context-ring-popup-meta",children:ch})]})]}),e&&!ai&&c&&(0,A.jsxs)("button",{type:"button",className:"composer-queue-action composer-queue-action-steer ui-focus-ring",onClick:()=>bQ("steer"),disabled:!N||!an.trim()||!!az.length||!!aB.length,title:az.length||aB.length?aj("chatInput.imagesCannotQueue"):aj("chatInput.steerNowTitle"),"aria-label":aj("chatInput.steer"),children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M5 1 L9 5 L5 9"}),(0,A.jsx)("line",{x1:"1",y1:"5",x2:"9",y2:"5"})]}),(0,A.jsx)("span",{className:"composer-queue-action-label",children:aj("chatInput.steer")})]}),e&&!ai&&d&&(0,A.jsxs)("button",{type:"button",className:"composer-queue-action composer-queue-action-followup ui-focus-ring",onClick:()=>bQ("followup"),disabled:!N||!an.trim()||!!az.length||!!aB.length,title:az.length||aB.length?aj("chatInput.imagesCannotQueue"):aj("chatInput.followUpTitle"),"aria-label":aj("chatInput.followUp"),children:[(0,A.jsxs)("svg",{width:"11",height:"11",viewBox:"0 0 10 10",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round",style:{flexShrink:0},"aria-hidden":"true",children:[(0,A.jsx)("line",{x1:"5",y1:"1",x2:"5",y2:"6"}),(0,A.jsx)("polyline",{points:"2.5 3.5 5 1 7.5 3.5"}),(0,A.jsx)("line",{x1:"2",y1:"9",x2:"8",y2:"9"})]}),(0,A.jsx)("span",{className:"composer-queue-action-label",children:aj("chatInput.followUp")})]}),e&&ck?(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:()=>bQ(ck),title:"steer"===ck?aj("chatInput.steerNowTitle"):aj("chatInput.followUpTitle"),"aria-label":"steer"===ck?aj("chatInput.steer"):aj("chatInput.followUp"),disabled:!N,"data-state":"run-submit",children:[(0,A.jsxs)("svg",{width:"13",height:"13",viewBox:"0 0 16 16",fill:"none",stroke:"currentColor",strokeWidth:"1.8",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,A.jsx)("path",{d:"M3 8h10"}),(0,A.jsx)("path",{d:"m9 4 4 4-4 4"})]}),(0,A.jsx)("span",{className:"composer-primary-label",children:"steer"===ck?aj("chatInput.steer"):aj("chatInput.followUp")})]}):e?(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:r?q:b,title:aj("chatInput.stopAgent"),"aria-label":aj("chatInput.stopAgent"),disabled:!N,"data-state":"stop",children:[(0,A.jsx)("svg",{width:"9",height:"9",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:(0,A.jsx)("rect",{x:"1.5",y:"1.5",width:"7",height:"7",rx:"1.5",fill:"currentColor"})}),(0,A.jsx)("span",{className:"composer-primary-label",children:aj("chatInput.stop")})]}):(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:bw,disabled:!N||!an.trim()&&!az.length&&!aB.length,title:aj("chatInput.send"),"aria-label":aj("chatInput.send"),"data-state":"send",children:[(0,A.jsxs)("svg",{width:"12",height:"12",viewBox:"0 0 14 14",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round","aria-hidden":"true",children:[(0,A.jsx)("line",{x1:"2",y1:"7",x2:"11",y2:"7"}),(0,A.jsx)("polyline",{points:"7.5 3 12 7 7.5 11"})]}),(0,A.jsx)("span",{className:"composer-primary-label",children:aj("chatInput.send")})]})]})]})]}),aG&&(0,A.jsx)("div",{className:"text-xs px-2 py-1",style:{color:aH?"var(--text-muted)":"var(--accent)",marginTop:4},children:aH?aj("chatInput.shellLocal"):aj("chatInput.shellToModel")})]})]})}));var hg=c(26065);function hh({request:a,onRespond:b,runtimeReady:c=!0}){let{t:d}=(0,E.s9)(),[e,f]=(0,B.useState)("editor"===a.method?a.prefill??"":""),g=()=>{c&&b(a,{cancelled:!0})},h=(0,hg.Z)({onClose:g,active:c}),i=()=>{c&&("confirm"===a.method?b(a,{confirmed:!0}):b(a,{value:e}))};return(0,A.jsx)("div",{className:"animate-fade-in",onMouseDown:a=>{c&&a.target===a.currentTarget&&g()},style:{position:"absolute",inset:0,zIndex:"var(--z-dialog)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay-backdrop)"},children:(0,A.jsxs)("div",{ref:h,role:"dialog","aria-modal":"true","aria-label":a.title,tabIndex:-1,className:"animate-scale-in",style:{width:"min(560px, 100%)",border:"1px solid var(--border)",borderRadius:"var(--radius-modal)",background:"var(--bg)",boxShadow:"var(--shadow-modal)",overflow:"hidden",outline:"none"},children:[(0,A.jsxs)("div",{style:{padding:"var(--space-5) 14px",borderBottom:"1px solid var(--border)"},children:[(0,A.jsx)("div",{style:{color:"var(--text)",fontSize:"var(--text-lg)",fontWeight:650},children:a.title}),(0,A.jsx)("div",{style:{marginTop:3,color:"var(--text-dim)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)"},children:d("chatWindow.extensionRequest")})]}),(0,A.jsxs)("div",{style:{padding:14},children:["confirm"===a.method&&(0,A.jsx)("div",{style:{color:"var(--text-muted)",fontSize:"var(--text-base)",lineHeight:1.6,whiteSpace:"pre-wrap"},children:a.message}),"select"===a.method&&(0,A.jsx)("div",{style:{display:"grid",gap:"var(--space-4)"},children:a.options.map(d=>(0,A.jsx)("button",{disabled:!c,"aria-disabled":!c,onClick:()=>{c&&b(a,{value:d})},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,textAlign:"left",fontSize:"var(--text-base)",transition:"background-color var(--dur-fast) var(--ease-out-warm), border-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--bg-hover)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--bg-panel)")},children:d},d))}),"input"===a.method&&(0,A.jsx)("input",{autoFocus:c,disabled:!c,"aria-disabled":!c,readOnly:!c,"aria-label":a.title||a.placeholder||"Input value",value:e,placeholder:a.placeholder,onChange:a=>f(a.target.value),onKeyDown:a=>{c&&"Enter"===a.key&&i()},style:{width:"100%",padding:"9px 10px",borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",fontSize:"var(--text-base)",opacity:c?void 0:.6,cursor:c?void 0:"not-allowed"}}),"editor"===a.method&&(0,A.jsx)("textarea",{autoFocus:c,disabled:!c,"aria-disabled":!c,readOnly:!c,"aria-label":a.title||"Input value",value:e,onChange:a=>f(a.target.value),onKeyDown:a=>{c&&(a.metaKey||a.ctrlKey)&&"Enter"===a.key&&i()},style:{width:"100%",minHeight:220,padding:10,borderRadius:7,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text)",outline:"none",resize:"vertical",fontSize:"var(--text-base)",lineHeight:1.55,fontFamily:"var(--font-mono)",opacity:c?void 0:.6,cursor:c?void 0:"not-allowed"}})]}),(0,A.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"var(--space-4)",padding:"10px 14px",borderTop:"1px solid var(--border)",background:"var(--bg-panel)"},children:[(0,A.jsx)("button",{onClick:g,disabled:!c,"aria-disabled":!c,style:{padding:"var(--space-3) 10px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg)",color:"var(--text-muted)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,transition:"background-color var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--bg)",a.currentTarget.style.color="var(--text-muted)")},children:d("chatWindow.cancel")}),"confirm"===a.method?(0,A.jsx)("button",{onClick:i,disabled:!c,"aria-disabled":!c,style:{padding:"var(--space-3) 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--on-accent)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,transition:"background-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--accent)")},children:d("chatWindow.confirm")}):"select"!==a.method?(0,A.jsx)("button",{onClick:i,disabled:!c,"aria-disabled":!c,style:{padding:"var(--space-3) 10px",borderRadius:6,border:"1px solid var(--accent)",background:"var(--accent)",color:"var(--on-accent)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,transition:"background-color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{c&&(a.currentTarget.style.background="var(--accent-hover)")},onMouseLeave:a=>{c&&(a.currentTarget.style.background="var(--accent)")},children:d("chatWindow.submit")}):null]})]})})}var hi=c(60776);async function hj(a,b){let c=await fetch(`/api/agent/${encodeURIComponent(a)}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(b)}),d=await c.json().catch(()=>({}));if(!c.ok||d.error)throw Error(d.error||d.code?(0,hi.K)(d):`HTTP ${c.status}`);return d.data}function hk({message:a}){let b="user"===a.role?"U":"assistant"===a.role?"A":"R",c="user"===a.role?"var(--accent)":"assistant"===a.role?"var(--text-muted)":"var(--text-dim)",d=a.content,e=("string"==typeof d?[{type:"text",text:d}]:Array.isArray(d)?d:[]).filter(a=>"text"===a.type&&"string"==typeof a.text).map(a=>a.text).join("\n").slice(0,400),f=!0===a.isError;return(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-4)",minWidth:0},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontSize:"var(--text-xs)",fontFamily:"var(--font-mono)",color:c,paddingTop:"var(--space-1)"},children:b}),(0,A.jsx)("div",{style:{fontSize:"toolResult"===a.role||"assistant"===a.role?11.5:12.5,lineHeight:1.55,minWidth:0,whiteSpace:"pre-wrap",wordBreak:"break-word",color:"toolResult"===a.role?"var(--text-muted)":"var(--text)",fontFamily:"toolResult"===a.role?"var(--font-mono)":"inherit"},children:"assistant"===a.role&&"string"!=typeof d&&Array.isArray(d)?d.map((a,b)=>(0,A.jsx)("div",{children:a&&"object"==typeof a&&"toolCall"===a.type?`→ ${a.toolName??"tool"} ${JSON.stringify(a.input??{})}`:a&&"object"==typeof a&&"text"===a.type?a.text??"":""},b)):e||("user"===a.role||"assistant"===a.role?"":f?"(error)":"(no output)")})]})}let hl="calc(var(--space-4) + var(--space-1)) var(--space-5)",hm={fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",fontWeight:700,letterSpacing:.4,textTransform:"uppercase",color:"var(--text-dim)"};function hn({value:a}){return"string"==typeof a?(0,A.jsx)("div",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text-muted)",fontSize:"var(--text-md)",lineHeight:1.55},children:a}):Array.isArray(a)?(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"calc(var(--space-3) / 2)"},children:a.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",alignItems:"flex-start"},children:[(0,A.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0},children:"•"}),(0,A.jsx)("div",{style:{minWidth:0,flex:1},children:(0,A.jsx)(hn,{value:a})})]},b))}):null!==a&&"object"==typeof a?(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-2)"},children:Object.keys(a).map(b=>(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-4)",alignItems:"flex-start"},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:10.5,color:"var(--text-dim)",minWidth:110,textAlign:"right",paddingTop:"var(--space-1)"},children:b}),(0,A.jsx)("div",{style:{minWidth:0,flex:1},children:(0,A.jsx)(hn,{value:a[b]})})]},b))}):(0,A.jsx)("span",{style:{color:"var(--text-muted)",fontSize:"var(--text-md)"},children:String(a)})}function ho({task:a}){let{t:b}=(0,E.s9)();return a?(0,A.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",padding:hl},children:[(0,A.jsx)("span",{style:hm,children:b("subagentTranscript.taskLabel")}),(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(fV,{className:"markdown-subagent-text",children:a})})]}):null}function hp({completion:a,truncated:b}){let{t:c}=(0,E.s9)(),d=null;if(a)try{let b=JSON.parse(a);null===b||"object"!=typeof b||Array.isArray(b)||(d=b)}catch{d=null}let e=d?Object.keys(d):[],f=d&&1===e.length&&"string"==typeof d[e[0]]?d[e[0]]:null;return(0,A.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",padding:hl},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:"var(--space-4)"},children:[(0,A.jsx)("span",{style:hm,children:c("subagentTranscript.resultLabel")}),b&&(0,A.jsx)("span",{style:{fontSize:10.5,color:"var(--text-dim)"},children:c("subagentTranscript.completionTruncated")})]}),f?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)",whiteSpace:"pre-wrap",wordBreak:"break-word",color:"var(--text-muted)",fontSize:"var(--text-md)",lineHeight:1.55},children:f}):d?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(hn,{value:d})}):a?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(fV,{className:"markdown-subagent-text",children:a})}):(0,A.jsx)("div",{style:{marginTop:"var(--space-3)",fontSize:"var(--text-md)",color:"var(--text-dim)",fontStyle:"italic"},children:c("subagentTranscript.noCompletion")})]})}function hq({subagent:a,sessionId:b,transcriptVersion:c,events:d,onClose:e}){let{t:f}=(0,E.s9)(),[g,h]=(0,B.useState)(null),[i,j]=(0,B.useState)(null),[k,l]=(0,B.useState)(!1),[m,n]=(0,B.useState)(!1),[o,p]=(0,B.useState)(null),[q,r]=(0,B.useState)(!1),[s,t]=(0,B.useState)([]),[u,v]=(0,B.useState)(0),[w,x]=(0,B.useState)(!1),[y,z]=(0,B.useState)(null),[C,D]=(0,B.useState)(!1),F=(0,B.useRef)(0),G=(0,B.useRef)(0);(0,B.useRef)(0),(0,B.useRef)(0),(0,B.useRef)(0),(0,B.useRef)(null);let H=null!==a,I=a?.source==="history",J=!I,K=(0,B.useCallback)(async()=>{if(!b||!a?.id)throw Error("No session");let c=await fetch(`/api/sessions/${encodeURIComponent(b)}/subagents/${encodeURIComponent(a.id)}?mode=completion`);if(404===c.status)return{completion:null,truncated:!1};if(!c.ok)throw Error(`HTTP ${c.status}`);return await c.json()},[b,a?.id]),L=(0,B.useCallback)(async(c,d)=>{if(!b||!a?.id)throw Error("No session");if(d){let d=await fetch(`/api/sessions/${encodeURIComponent(b)}/subagents/${encodeURIComponent(a.id)}?fromByte=${c}`);if(!d.ok)throw Error(`HTTP ${d.status}`);return await d.json()}return await hj(b,{type:"get_subagent_messages",subagentId:a.id,sessionFile:a.sessionFile,fromByte:c})},[b,a?.id,a?.sessionFile]),M=(0,B.useCallback)(async c=>{if(!b||!a?.id)return;let d=++G.current;x(!0),z(null);try{let b;try{b=await L(c,I)}catch(d){if(I||!a.id)throw d;b=await L(c,!0)}if(d!==G.current)return;b.reset?t(b.messages):t(a=>[...a,...b.messages]),v(b.nextByte);let e="number"==typeof b.totalBytes?b.nextByte>=b.totalBytes:0===b.messages.length;D(e||b.nextByte<=b.fromByte)}catch(a){if(d!==G.current)return;z(a instanceof Error?a.message:String(a))}finally{d===G.current&&x(!1)}},[b,a?.id,I,L]);(0,B.useCallback)(async()=>{if(!b||!a?.id)return;let c=++F.current;n(!0),p(null);try{let d=await K();if(null===d.completion&&J){let d=((await hj(b,{type:"get_subagents"})).subagents??[]).find(b=>b.id===a?.id);if(c!==F.current)return;d&&h(d)}if(c!==F.current)return;j(d.completion),l(d.truncated)}catch(a){if(c!==F.current)return;p(a instanceof Error?a.message:String(a))}finally{c===F.current&&n(!1)}},[b,a?.id,J,K]);let N=g?.agent??a?.agent??"",O=g?.description??a?.description??"",P=g?.task??a?.task??a?.assignment??"",Q=a?.progress,R=f7(Q?.tokens),S=a?.source==="history"?[R?f("chatWindow.tokensUnit",{count:R}):null,f8(Q?.cost),f9(Q?.durationMs),Q?.resolvedModel?Q.resolvedModel.replace(/:.*$/,""):null].filter(Boolean).join(" \xb7 "):null,T=a?.source==="history"?a?.result?.abortReason??a?.result?.error:void 0,U=J&&!i&&d&&d.length>0?d.slice(-4):null;return(0,A.jsx)(f0.lG,{open:H,onOpenChange:a=>{a||e()},children:a&&(0,A.jsx)(f0.Cf,{ariaLabel:f("subagentTranscript.title"),style:{width:"min(94vw, 920px)",maxWidth:"min(94vw, 920px)"},children:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"flex-start",gap:"calc(var(--space-4) + var(--space-1))",marginBottom:"var(--space-5)"},children:[(0,A.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,A.jsx)(f0.L3,{style:{marginBottom:2,fontSize:16,lineHeight:1.3},children:(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)",color:"var(--accent)",fontSize:"var(--text-lg)"},children:N})}),O&&(0,A.jsx)("div",{style:{fontSize:12.5,color:"var(--text-muted)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginBottom:"var(--space-2)"},children:O}),(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)",fontFamily:"var(--font-mono)",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:g?.sessionFile??a.sessionFile??a.id}),S&&(0,A.jsx)("div",{style:{fontSize:10.5,color:"var(--text-dim)",fontFamily:"var(--font-mono)",marginTop:"var(--space-1)"},children:S}),T&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--status-error)",marginTop:"var(--space-1)",wordBreak:"break-word"},children:T})]}),(0,A.jsx)(f0.HM,{style:{flexShrink:0,background:"none",border:"none",color:"var(--text-muted)",cursor:"pointer",fontSize:18,lineHeight:1,padding:"2px 6px"},"aria-label":f("subagentTranscript.close"),children:"\xd7"})]}),U&&(0,A.jsx)("div",{"aria-live":"polite",style:{display:"grid",gap:"var(--space-1)",marginBottom:"var(--space-4)",padding:"var(--space-3) var(--control-padding-inline)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)"},children:U.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",gap:"var(--space-3)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)",color:"tool"===a.kind?"var(--accent)":"var(--text-muted)",minWidth:0},children:[(0,A.jsx)("span",{style:{color:"var(--text-dim)",flexShrink:0},children:"tool"===a.kind?"\xb7":"notice"===a.kind?"!":"\xbb"}),(0,A.jsx)("span",{style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.label})]},b))}),o?(0,A.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)",padding:"8px 2px"},children:o}):(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",gap:"calc(var(--space-4) + var(--space-1))"},children:[(0,A.jsx)(ho,{task:P}),(0,A.jsx)(hp,{completion:i,truncated:k}),m&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:f("subagentTranscript.loading")}),(0,A.jsx)("button",{type:"button","aria-expanded":q,"aria-controls":"subagent-transcript-panel",onClick:()=>{let a=!q;r(a),a&&0===s.length&&!w&&M(0)},style:{alignSelf:"flex-start",background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:"var(--text-md)",fontFamily:"inherit",padding:0},children:f(q?"subagentTranscript.hideTranscript":"subagentTranscript.showTranscript")}),q&&(0,A.jsxs)("div",{id:"subagent-transcript-panel",style:{display:"grid",gap:"var(--space-4)",padding:hl,border:"1px solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)",maxHeight:"50dvh",overflowY:"auto"},children:[y?(0,A.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--status-error)"},children:y}):0!==s.length||w?s.map((a,b)=>(0,A.jsx)(hk,{message:a},b)):(0,A.jsx)("div",{style:{fontSize:"var(--text-md)",color:"var(--text-dim)",fontStyle:"italic"},children:f("subagentTranscript.noMessages")}),w&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:f("subagentTranscript.loading")}),!C&&!w&&(0,A.jsx)("button",{type:"button",onClick:()=>void M(u),style:{background:"none",border:"none",color:"var(--accent)",cursor:"pointer",fontSize:"var(--text-md)",fontFamily:"inherit",padding:0},children:f("subagentTranscript.loadMore")})]})]})]})},a.id)})}function hr(a){if("user"===a.role){let b=a.content;return"string"==typeof b?b.slice(0,200):Array.isArray(b)?b.filter(a=>"text"===a.type&&a.text).map(a=>a.text).join("\n").slice(0,200):""}if("assistant"===a.role){let b=a.content??[],c=b.filter(a=>"text"===a.type).map(a=>a.text).join(" ");if(c)return c.slice(0,200);let d=b.filter(a=>"toolCall"===a.type).map(a=>a.toolName);if(d.length)return d.join(", ")}return""}function hs(a){return"user"===a.role?{bg:"color-mix(in srgb, var(--accent) 18%, transparent)",border:"color-mix(in srgb, var(--accent) 70%, transparent)"}:{bg:"color-mix(in srgb, var(--text-dim) 12%, transparent)",border:"color-mix(in srgb, var(--text-dim) 50%, transparent)"}}let ht=(0,B.memo)(function({messages:a,scrollContainer:b,messageRefs:c}){let[d,e]=(0,B.useState)(0),[f,g]=(0,B.useState)(1),[h,i]=(0,B.useState)(!1),[j,k]=(0,B.useState)([]),[l,m]=(0,B.useState)(!1),[n,o]=(0,B.useState)(null),p=(0,B.useRef)(!1),q=(0,B.useRef)(null),r=(0,B.useRef)(null),s=(0,B.useRef)(null),t=(0,B.useRef)(null),u=(0,B.useRef)(a);u.current=a;let v=(0,B.useCallback)(()=>{let a=b.current;if(!a)return;let c=a.scrollHeight,d=a.clientHeight,f=c-d;i(f>20),f<=0?(e(0),g(1)):(e(a.scrollTop/f),g(d/c))},[b]),w=(0,B.useRef)(null),x=(0,B.useCallback)(()=>{w.current||(w.current=setTimeout(()=>{w.current=null;let a=b.current;if(!a)return;let d=a.scrollHeight;if(d<=0)return;let e=c.current,f=[],g=0,h=u.current,i=a.getBoundingClientRect();for(let b=0;b<h.length;b++){let c=h[b];if("user"!==c.role&&"assistant"!==c.role)continue;let j=e?.[g];if(g++,("user"===c.role||"assistant"===c.role&&(c.content??[]).some(a=>"text"===a.type))&&j){let b=j.getBoundingClientRect(),e=b.top-i.top+a.scrollTop,g=b.height;f.push({topRatio:e/d,heightRatio:g/d,msg:c,index:f.length})}}k(f)},150))},[b,c]),y=(0,B.useRef)(null),z=(0,B.useCallback)(()=>{y.current=null,v()},[v]);(0,B.useEffect)(()=>{let a=b.current;if(!a)return;let c=()=>{null===y.current&&(y.current=requestAnimationFrame(z))};return a.addEventListener("scroll",c,{passive:!0}),()=>{a.removeEventListener("scroll",c),null!==y.current&&(cancelAnimationFrame(y.current),y.current=null)}},[b,z]),(0,B.useEffect)(()=>{let a=b.current;if(!a)return;let c=()=>{v(),x()},d=new ResizeObserver(c);return d.observe(a),a.firstElementChild&&d.observe(a.firstElementChild),c(),()=>{d.disconnect(),w.current&&(clearTimeout(w.current),w.current=null)}},[b,x,v]),(0,B.useEffect)(()=>{let a=setTimeout(()=>{v(),x()},50);return()=>clearTimeout(a)},[a.length,x,v]),(0,B.useEffect)(()=>()=>{null!==s.current&&(cancelAnimationFrame(s.current),s.current=null)},[]);let C=(0,B.useCallback)(a=>{let c=b.current;if(!c)return;let d=c.scrollHeight-c.clientHeight;d<=0||(c.scrollTop=Math.max(0,Math.min(1-f,a))/(1-f)*d)},[b,f]),D=(0,B.useCallback)(()=>{s.current=null,null!==t.current&&(o(t.current),t.current=null)},[]),E=(0,B.useCallback)(a=>{let b=a.currentTarget.getBoundingClientRect();t.current=(a.clientY-b.top)/b.height,null===s.current&&(s.current=requestAnimationFrame(D))},[D]),F=(0,B.useCallback)(a=>{if(!h)return;p.current=!0;let b=a.currentTarget.getBoundingClientRect(),c=(a.clientY-b.top)/b.height,e=c-d*(1-f),g=e>=0&&e<=f?e:f/2;C(c-g);let i=a=>{p.current&&C((a.clientY-b.top)/b.height-g)},j=()=>{p.current=!1,q.current=null,window.removeEventListener("mousemove",i),window.removeEventListener("mouseup",j)};window.addEventListener("mousemove",i),window.addEventListener("mouseup",j),q.current={onMove:i,onUp:j}},[h,f,d,C]);(0,B.useEffect)(()=>()=>{let a=q.current;a&&(window.removeEventListener("mousemove",a.onMove),window.removeEventListener("mouseup",a.onUp),q.current=null),p.current=!1},[]);let G=r.current?.clientHeight??600,H=(0,B.useMemo)(()=>j.map(a=>hs(a.msg)),[j]),I=(0,B.useMemo)(()=>j.map(a=>hr(a.msg)),[j]),J=(0,B.useMemo)(()=>{if(!l||0===j.length)return[];let a=j.map(a=>Math.round(a.topRatio*G-11));for(let b=0;b<10;b++){for(let b=1;b<a.length;b++){let c=a[b-1]+22+2;a[b]<c&&(a[b]=c)}for(let b=a.length-2;b>=0;b--){let c=a[b+1]-22-2;a[b]>c&&(a[b]=c)}}for(let b=0;b<a.length;b++)a[b]=Math.max(0,Math.min(G-22,a[b]));return a},[l,j,G]);if(!h)return null;let K=d*(1-f)*100,L=100*f,M=null!==n&&j.length>0?j.reduce((a,b)=>Math.abs(b.topRatio-n)<Math.abs(j[a].topRatio-n)?b.index:a,0):null;return(0,A.jsxs)("div",{ref:r,onMouseDown:F,onMouseEnter:()=>m(!0),onMouseLeave:()=>{m(!1),o(null)},onMouseMove:E,style:{position:"absolute",top:0,right:0,bottom:0,width:20,zIndex:20,cursor:"default",userSelect:"none",background:"transparent",overflow:"visible"},children:[(0,A.jsx)("div",{style:{position:"absolute",right:3,width:3,top:`${K}%`,height:`${L}%`,background:"color-mix(in srgb, var(--text-dim) 32%, transparent)",borderRadius:2,pointerEvents:"none",zIndex:1}}),j.map(a=>{let b=H[a.index]??hs(a.msg),c=l&&M===a.index,d="user"===a.msg.role,e=100*a.topRatio;return(0,A.jsx)("div",{style:{position:"absolute",top:`${e}%`,transform:"translateY(-50%)",left:0,right:0,height:"12px",display:"flex",alignItems:"center",justifyContent:"flex-end",paddingRight:1,cursor:"pointer",zIndex:2},children:(0,A.jsx)("div",{style:{width:d?8:6,height:d?8:6,borderRadius:d?2:"50%",background:b.bg,border:`1.5px solid ${b.border}`,flexShrink:0,transition:"transform var(--dur-fast) var(--ease-out-warm)",transform:c?"scale(1.6)":"scale(1)"}})},a.index)}),(0,A.jsx)("div",{style:{position:"absolute",right:4,top:0,bottom:0,width:1,background:"color-mix(in srgb, var(--border) 72%, transparent)",zIndex:0}}),l&&j.map((a,b)=>{let c=I[b]??hr(a.msg),d=H[b]??hs(a.msg),e=M===a.index;return c&&0!==J.length?(0,A.jsx)("div",{style:{position:"absolute",top:J[b],right:"100%",marginRight:6,background:"var(--bg)",borderTop:`1px solid ${e?d.border:"var(--border)"}`,borderRight:`1px solid ${e?d.border:"var(--border)"}`,borderBottom:`1px solid ${e?d.border:"var(--border)"}`,borderLeft:`2px solid ${d.border}`,borderRadius:4,padding:"2px 7px",width:200,zIndex:100,pointerEvents:"none",opacity:e?1:.45,transition:"top var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},children:(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:e?"var(--text)":"var(--text-muted)",lineHeight:1.4,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"},children:c})},a.index):null})]})}),hu=(0,K.A)("circle-dot-dashed",[["path",{d:"M10.1 2.18a9.93 9.93 0 0 1 3.8 0",key:"1qdqn0"}],["path",{d:"M17.6 3.71a9.95 9.95 0 0 1 2.69 2.7",key:"1bq7p6"}],["path",{d:"M21.82 10.1a9.93 9.93 0 0 1 0 3.8",key:"1rlaqf"}],["path",{d:"M20.29 17.6a9.95 9.95 0 0 1-2.7 2.69",key:"1xk03u"}],["path",{d:"M13.9 21.82a9.94 9.94 0 0 1-3.8 0",key:"l7re25"}],["path",{d:"M6.4 20.29a9.95 9.95 0 0 1-2.69-2.7",key:"1v18p6"}],["path",{d:"M2.18 13.9a9.93 9.93 0 0 1 0-3.8",key:"xdo6bj"}],["path",{d:"M3.71 6.4a9.95 9.95 0 0 1 2.7-2.69",key:"1jjmaz"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]]),hv={display:"flex",alignItems:"center",gap:"var(--space-4)",padding:"var(--space-4) var(--space-5)",fontSize:"var(--text-xs)",color:"var(--text-muted)"};function hw({status:a}){let b={size:14,strokeWidth:1.8,"aria-hidden":!0};return"completed"===a?(0,A.jsx)(f1,{...b,color:"var(--accent)"}):"in_progress"===a?(0,A.jsx)(hu,{...b,color:"var(--accent)"}):"blocked"===a?(0,A.jsx)(f2.A,{...b,color:"var(--text-muted)"}):"abandoned"===a?(0,A.jsx)(f4,{...b,color:"var(--text-dim)"}):(0,A.jsx)(f5,{...b,color:"var(--text-dim)"})}function hx({phases:a=[],collapsible:b=!1,defaultExpanded:c=!1}){let{t:d}=(0,E.s9)(),[e,f]=(0,B.useState)(!1),[g,h]=(0,B.useState)(!!b&&!c);if(0===a.length)return null;let i=a.flatMap(a=>a.tasks),j=i.filter(a=>"completed"===a.status).length,k=5,l=(e?a:a.slice(0,4)).map(a=>{let b=e?a.tasks:a.tasks.slice(0,k);return k-=b.length,{...a,tasks:b}}).filter(a=>a.tasks.length>0),m=l.reduce((a,b)=>a+b.tasks.length,0)<i.length,n=g?"":"border-b border-border",o=d("chatWindow.todoProgress",{done:j,total:i.length});return(0,A.jsxs)("section",{"aria-label":d("chatWindow.todoList"),className:"overflow-hidden border border-border bg-bg-subtle",style:{borderRadius:"var(--radius-card)",marginBlock:b?void 0:"var(--space-4)"},children:[b?(0,A.jsxs)("button",{type:"button","aria-expanded":!g,onClick:()=>h(a=>!a),title:g?d("chatWindow.expandPanel"):d("chatWindow.collapsePanel"),className:`${n} w-full cursor-pointer text-left`,style:{...hv,background:"none"},children:[(0,A.jsx)(gC,{size:15,strokeWidth:1.8,"aria-hidden":!0}),(0,A.jsx)("strong",{className:"font-medium text-text",children:d("chatWindow.todoList")}),(0,A.jsx)("span",{className:"ml-auto",children:o}),(0,A.jsx)(D.A,{size:14,strokeWidth:1.8,"aria-hidden":!0,style:{color:"var(--text-dim)",transform:g?"rotate(-90deg)":"rotate(0deg)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})]}):(0,A.jsxs)("div",{className:n,style:hv,children:[(0,A.jsx)(gC,{size:15,strokeWidth:1.8,"aria-hidden":!0}),(0,A.jsx)("strong",{className:"font-medium text-text",children:d("chatWindow.todoList")}),(0,A.jsx)("span",{className:"ml-auto",children:o})]}),!g&&(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("div",{className:"animate-slide-down",style:{display:"grid",gap:"var(--space-5)",padding:"calc(var(--space-4) + var(--space-1)) var(--space-5)"},children:l.map((a,b)=>(0,A.jsxs)("div",{style:{display:"grid",gap:"var(--space-3)"},children:[(0,A.jsx)("div",{className:"text-sm font-medium text-text-muted",children:a.name}),(0,A.jsx)("div",{style:{display:"grid",gap:"var(--space-3)"},children:a.tasks.map((a,b)=>(0,A.jsxs)("div",{style:{display:"flex",minWidth:0,alignItems:"flex-start",gap:"var(--space-4)",fontSize:"var(--text-base)",color:"var(--text)"},"aria-label":`${d(`chatWindow.todoStatus.${a.status}`)}: ${a.content}`,children:[(0,A.jsx)("span",{style:{marginTop:"var(--space-1)",flexShrink:0},children:(0,A.jsx)(hw,{status:a.status})}),(0,A.jsxs)("span",{className:"min-w-0",children:[(0,A.jsx)("span",{className:"completed"===a.status||"abandoned"===a.status?"text-text-dim line-through":void 0,children:a.content}),a.blocker&&(0,A.jsx)("span",{style:{display:"block",marginTop:"var(--space-1)",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:d("chatWindow.todoBlocker",{blocker:a.blocker})})]})]},a.id??`${a.content}-${b}`))})]},a.id??`${a.name}-${b}`))}),(m||e)&&(0,A.jsx)("button",{type:"button",className:"border-t border-border text-left text-xs text-accent hover:text-accent-hover",style:{padding:"var(--space-4) var(--space-5)"},onClick:()=>f(a=>!a),children:e?d("chatWindow.todoShowLess"):d("chatWindow.todoShowAll")})]})]})}var hy=c(27993);let hz=(0,K.A)("wrench",[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]]),hA=(0,K.A)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]),hB=(0,K.A)("user-round",[["circle",{cx:"12",cy:"8",r:"5",key:"1hypcn"}],["path",{d:"M20 21a8 8 0 0 0-16 0",key:"rfgkzh"}]]);var hC=c(28624);let hD=(0,K.A)("cpu",[["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M17 20v2",key:"1rnc9c"}],["path",{d:"M17 2v2",key:"11trls"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M2 17h2",key:"7oei6x"}],["path",{d:"M2 7h2",key:"asdhe0"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 17h2",key:"1fpfkl"}],["path",{d:"M20 7h2",key:"1o8tra"}],["path",{d:"M7 20v2",key:"4gnj0m"}],["path",{d:"M7 2v2",key:"1i4yhu"}],["rect",{x:"4",y:"4",width:"16",height:"16",rx:"2",key:"1vbyd7"}],["rect",{x:"8",y:"8",width:"8",height:"8",rx:"1",key:"z9xiuo"}]]),hE=(0,K.A)("circle-dollar-sign",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M16 8h-6a2 2 0 1 0 0 4h4a2 2 0 1 1 0 4H8",key:"1h4pet"}],["path",{d:"M12 18V6",key:"zqpxq5"}]]);var hF=c(58250);let hG=(0,K.A)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]),hH=(0,K.A)("clock-3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]]),hI=(0,K.A)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);var hJ=c(77265);function hK(a,b){switch(a){case"pending":case"running":return"started";case"completed":case"failed":case"aborted":return a;default:return b}}function hL(a,b=Date.now()){return"history"===a.source?"history":"started"!==a.status?"live":void 0===a.lastUpdate||b-a.lastUpdate>15e3?"stale":"live"}function hM(a,b,c=Date.now()){switch(b){case"active":return a.filter(a=>"history"!==a.source&&"started"===a.status&&"live"===hL(a,c));case"completed":return a.filter(a=>"completed"===a.status);case"failed":return a.filter(a=>"failed"===a.status||"aborted"===a.status||"lost"===a.status);default:return a}}function hN(a){return"history"===a.source?"history":"live"}function hO(a){return"started"!==a.status}function hP(a,b,c){if(0===b.length)return a;let d=new Map;for(let b of a)d.set(b.id,b);let e=c?.skipNewerThan;for(let a of b){let b=d.get(a.id);if(!b){d.set(a.id,a);continue}if(void 0!==e&&(b.lastUpdate??0)>=e)continue;let c=hN(b),f=hN(a);if(!(!hO(a)&&hO(b))){if("history"===f&&"live"===c){if(!hO(a))continue;let c={...b};for(let[b,d]of Object.entries(a))void 0!==d&&(c[b]=d);c.source="history",d.set(a.id,c);continue}if("live"===f&&"history"===c){d.set(a.id,a);continue}d.set(a.id,{...b,...a,source:f})}}return[...d.values()].sort((a,b)=>a.index-b.index||a.id.localeCompare(b.id))}let hQ={started:"chatWindow.subagentState.started",completed:"chatWindow.subagentState.completed",failed:"chatWindow.subagentState.failed",aborted:"chatWindow.subagentState.aborted",lost:"chatWindow.subagentState.lost"},hR=[{value:"all",key:"chatWindow.subagentHub.filter.all"},{value:"active",key:"chatWindow.subagentHub.filter.active"},{value:"completed",key:"chatWindow.subagentHub.filter.completed"},{value:"failed",key:"chatWindow.subagentHub.filter.failed"}];function hS({icon:a,label:b,children:c}){return(0,A.jsxs)("span",{"aria-label":b,title:b,"data-subagent-metric":b,style:{display:"inline-flex",alignItems:"center",gap:"var(--space-2)",minWidth:0,fontVariantNumeric:"tabular-nums"},children:[(0,A.jsx)(a,{"aria-hidden":!0,style:{width:"var(--text-md)",height:"var(--text-md)",flexShrink:0}}),(0,A.jsx)("span",{children:c})]})}function hT({subagent:a}){let{t:b}=(0,E.s9)(),c=a.progress,d=!!(c?.retryState??c?.retryFailure),e=[];if(d){let a=c?.retryState?.attempt??c?.retryFailure?.attempt??0,d=c?.retryState?.maxAttempts??0,f=d>0?b("chatWindow.subagentRetrying",{attempt:a,max:d}):b("chatWindow.subagentRetryAttempt",{attempt:a});e.push((0,A.jsx)(hS,{icon:hy.A,label:f,children:d>0?`${a}/${d}`:a},"retry"))}else if("started"===a.status){let a=c?.currentTool?`${c.currentTool}${c.lastIntent?` — ${c.lastIntent}`:""}`:c?.lastIntent;a&&e.push((0,A.jsx)(hS,{icon:c?.currentTool?hz:hA,label:a,children:a},"activity"))}let f=function(a){if(!a)return 0;let b=0,c=a.inflightTaskDetails;c&&"object"==typeof c&&!Array.isArray(c)&&Array.isArray(c.progress)&&(b+=c.progress.length);let d=a.extractedToolData?.task;if(Array.isArray(d))for(let a of d)a&&"object"==typeof a&&!Array.isArray(a)&&Array.isArray(a.progress)&&(b+=a.progress.length);return b}(c),g=a.agentSource&&"bundled"!==a.agentSource?a.agentSource:null,h=f7(c?.tokens),i=f8(c?.cost??a.result?.cost),j=f7(c?.contextTokens),k=j?`${j}/${f7(c?.contextWindow)??"?"}`:null,l=ga(c?.resolvedModel),m=f9(c?.durationMs),n=[g?(0,A.jsx)(hS,{icon:hB,label:g,children:"user"===g?null:g},"source"):null,f>0?(0,A.jsx)(hS,{icon:hC.A,label:b("chatWindow.subagentNestedCount",{count:f}),children:f},"nested"):null,h?(0,A.jsx)(hS,{icon:hD,label:b("chatWindow.tokensUnit",{count:h}),children:h},"tokens"):null,i?(0,A.jsx)(hS,{icon:hE,label:i,children:i},"cost"):null,k?(0,A.jsx)(hS,{icon:hF.A,label:b("chatWindow.contextGauge",{used:j??"?",total:f7(c?.contextWindow)??"?"}),children:k},"context"):null,l?(0,A.jsx)(hS,{icon:hG,label:l,children:l},"model"):null,m?(0,A.jsx)(hS,{icon:hH,label:m,children:m},"duration"):null].filter(Boolean);return(n.length>0&&e.push((0,A.jsx)("span",{style:{display:"inline-flex",flexWrap:"wrap",gap:"var(--space-2) var(--space-4)"},children:n},"meta")),0===e.length)?null:(0,A.jsx)("span",{"data-subagent-activity-line":!0,className:"subagent-hub-activity-line",style:{display:"flex",minWidth:0,overflow:"hidden",fontSize:"var(--text-xs)",fontFamily:"var(--font-mono)",color:d?"var(--accent)":"var(--text-dim)",lineHeight:1.4,fontVariantNumeric:"tabular-nums",gap:"var(--space-4)",flexWrap:"wrap"},children:e})}function hU({events:a}){let{t:b}=(0,E.s9)(),c=(a??[]).slice(-2).map(a=>a.label.trim()).filter(Boolean);if(0===c.length)return null;let d=c.join(" \xb7 "),e=`${b("chatWindow.subagentHub.preview")}: ${d}`;return(0,A.jsxs)("span",{"data-subagent-activity-preview":!0,className:"subagent-hub-activity-preview",title:e,"aria-label":e,style:{display:"flex",minWidth:0,overflow:"hidden",color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",lineHeight:1.4,wordBreak:"keep-all"},children:[(0,A.jsxs)("span",{style:{flexShrink:0,color:"var(--text-muted)"},children:[b("chatWindow.subagentHub.preview"),":"]}),(0,A.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",marginLeft:"var(--space-2)"},children:d})]})}function hV({children:a,depth:b=0}){return(0,A.jsx)("div",{"data-subagent-group-label":!0,className:"subagent-hub-group-label",style:{marginLeft:b>0?`calc(var(--space-6) * ${b})`:void 0,color:"var(--text-dim)",fontSize:"var(--text-xs)",fontWeight:650,letterSpacing:"0.04em",textTransform:"uppercase",padding:"var(--space-2) var(--space-5) var(--space-2)",wordBreak:"keep-all"},children:a})}function hW({subagent:a,events:b,freshnessNow:c,onSelectSubagent:d}){let{t:e}=(0,E.s9)(),f="history"!==a.source,g=e(hQ[a.status]),h="history"!==a.source||"started"!==a.status,i=a.task??a.description??a.assignment??e("chatWindow.subagentHub.noTask"),j=void 0===c?"history"===a.source?"history":"live":hL(a,c),k=e(`chatWindow.subagentHub.fresh.${j}`),l="stale"===j&&void 0!==c&&"number"==typeof a.lastUpdate?Math.max(Math.ceil(15),Math.floor(Math.max(0,c-a.lastUpdate)/1e3)):null,m=null===l?null:e("chatWindow.subagentHub.lastUpdated",{value:`${l}s`}),n=m?`${k} \xb7 ${m}`:k,o="live"===j?"var(--status-success)":"stale"===j?"var(--status-warning)":"var(--text-dim)",p=[a.agent,i,h?g:null,n].filter(Boolean).join(" \xb7 ");return(0,A.jsxs)("button",{type:"button",className:"ui-focus-ring subagent-hub-row",onClick:()=>d(a),"aria-label":p,title:p,style:{display:"flex",width:"100%",minWidth:0,minHeight:"var(--control-touch, 44px)",flexDirection:"column",alignItems:"stretch",justifyContent:"center",gap:"var(--space-2)",padding:"var(--space-4) var(--space-5)",border:"thin solid var(--border)",borderRadius:"var(--radius-control)",background:f?"var(--bg)":"var(--bg-panel)",color:f?"var(--text)":"var(--text-dim)",opacity:f?1:.72,fontFamily:"inherit",fontSize:"var(--text-sm)",textAlign:"left",cursor:"pointer",wordBreak:"keep-all",transition:"border-color var(--dur-fast) var(--ease-out-warm), background var(--dur-fast) var(--ease-out-warm), opacity var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{a.currentTarget.style.borderColor="color-mix(in srgb, var(--accent) 40%, var(--border))",a.currentTarget.style.background="var(--bg-hover)"},onMouseLeave:a=>{a.currentTarget.style.borderColor="var(--border)",a.currentTarget.style.background=f?"var(--bg)":"var(--bg-panel)"},children:[(0,A.jsxs)("span",{className:"subagent-hub-row-main",style:{display:"flex",minWidth:0,alignItems:"center",gap:"var(--space-3)"},children:[(0,A.jsx)(f6,{status:a.status,live:f}),(0,A.jsx)("span",{className:"subagent-hub-row-agent",style:{flexShrink:0,color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",fontWeight:650},children:a.agent}),(0,A.jsx)("span",{title:i,className:"subagent-hub-row-task",style:{minWidth:0,flex:1,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",color:"inherit"},children:i}),h&&(0,A.jsx)("span",{className:"subagent-hub-row-state",style:{flexShrink:0,color:f?"var(--text-muted)":"var(--text-dim)",fontSize:"var(--text-xs)"},children:g}),(0,A.jsxs)("span",{"data-subagent-freshness":j,className:"subagent-hub-freshness","aria-label":n,title:n,style:{display:"inline-flex",flexShrink:0,alignItems:"center",gap:"var(--space-2)",color:o,fontSize:"var(--text-xs)",fontVariantNumeric:"tabular-nums",opacity:"history"===j?.8:.9},children:[(0,A.jsx)("span",{"aria-hidden":!0,style:{width:"var(--space-2)",height:"var(--space-2)",flexShrink:0,borderRadius:"var(--radius-control)",background:o}}),(0,A.jsx)("span",{children:k}),m&&(0,A.jsx)("span",{children:m})]}),a.detached&&(0,A.jsx)("span",{"aria-hidden":!0,"data-subagent-detached":!0,className:"subagent-hub-detached",style:{flexShrink:0,color:"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},children:"⤴"})]}),(0,A.jsx)(hT,{subagent:a}),(0,A.jsx)(hU,{events:b})]})}function hX({subagents:a,subagentEvents:b={},onSelectSubagent:c,defaultExpanded:d=!1,now:e}){let{t:f}=(0,E.s9)(),[g,h]=(0,B.useState)(!d),[i,j]=(0,B.useState)("all"),[k,l]=(0,B.useState)(null);a.some(a=>"history"!==a.source&&"started"===a.status);let m=e??k??0,n=void 0!==e||null!==k,o=(0,B.useMemo)(()=>({all:a.length,active:hM(a,"active",m).length,completed:hM(a,"completed",m).length,failed:hM(a,"failed",m).length}),[a,m]),p=o.active,q=(0,B.useMemo)(()=>hM(a,i,m),[a,i,m]),r=(0,B.useMemo)(()=>(function(a){let b=[...a].sort((a,b)=>{let c="history"!==a.source&&"started"===a.status;return c!==("history"!==b.source&&"started"===b.status)?c?-1:1:b.index-a.index||b.id.localeCompare(a.id)}),c=new Set(b.map(a=>a.id)),d=new Map,e=[],f=new Map;for(let a of b){let b=a.parentToolCallId;if(!b){e.push(a);continue}let g=d.get(b)??[];if(g.push(a),d.set(b,g),!c.has(b)){let c=f.get(b)??[];c.push(a),f.set(b,c)}}let g=[],h=new Set,i=(a,b)=>{for(let c of a){if(h.has(c.id))continue;h.add(c.id),g.push({kind:"row",key:`row-${c.id}`,subagent:c,depth:b});let a=(d.get(c.id)??[]).filter(a=>!h.has(a.id));0!==a.length&&(g.push({kind:"group",key:`group-nested-${c.id}`,group:"nested",parentLabel:c.agent,depth:b+1}),i(a,b+1))}};if(e.length>0&&(g.push({kind:"group",key:"group-roots",group:"roots",depth:0}),i(e,0)),f.size>0)for(let[a,b]of(g.push({kind:"group",key:"group-orphans",group:"orphans",depth:0}),f))g.push({kind:"group",key:`group-parent-${a}`,group:"nested",parentLabel:a,depth:0}),i(b,0);let j=b.filter(a=>!h.has(a.id));return j.length>0&&i(j,0),g})(q),[q]);return(0,A.jsxs)("section",{"aria-label":f("chatWindow.subagentsPanel"),className:"subagent-hub-root",style:{width:"100%",minWidth:0,overflow:"hidden",border:"thin solid var(--border)",borderRadius:"var(--radius-card)",background:"var(--bg-panel)"},children:[(0,A.jsxs)("button",{type:"button",className:"ui-focus-ring subagent-hub-header-trigger","aria-expanded":!g,onClick:()=>h(a=>!a),title:g?f("chatWindow.subagentHub.expand"):f("chatWindow.subagentHub.collapse"),style:{display:"flex",width:"100%",alignItems:"center",gap:"var(--space-4)",padding:"var(--space-4) var(--space-5)",border:"none",borderBottom:g?"none":"thin solid var(--border)",background:"transparent",color:"var(--text-muted)",fontFamily:"inherit",fontSize:"var(--text-xs)",textAlign:"left",cursor:"pointer",wordBreak:"keep-all"},children:[(0,A.jsx)(hI,{"aria-hidden":!0,size:15,strokeWidth:1.8,style:{flexShrink:0}}),(0,A.jsx)("strong",{style:{color:"var(--text)",fontWeight:500},children:f("chatWindow.subagentsPanel")}),(0,A.jsxs)("span",{"aria-label":f("chatWindow.subagentSummary",{running:p,total:a.length}),title:f("chatWindow.subagentSummary",{running:p,total:a.length}),style:{display:"inline-flex",alignItems:"center",gap:"var(--space-2)",marginLeft:"auto",fontFamily:"var(--font-mono)",fontVariantNumeric:"tabular-nums"},children:[(0,A.jsx)("span",{children:p}),(0,A.jsx)("span",{"aria-hidden":!0,children:"/"}),(0,A.jsx)("span",{children:a.length})]}),(0,A.jsx)(D.A,{"aria-hidden":!0,size:14,strokeWidth:1.8,style:{flexShrink:0,color:"var(--text-dim)",transform:g?"rotate(-90deg)":"rotate(0deg)",transition:"transform var(--dur-med) var(--ease-out-warm)"}})]}),!g&&(0,A.jsxs)("div",{className:"subagent-hub-content",style:{display:"grid",maxHeight:"30vh",gap:"var(--space-4)",overflowY:"auto",padding:"var(--space-4) var(--space-5) var(--space-5)"},children:[(0,A.jsx)("div",{"data-subagent-filter-row":!0,className:"subagent-hub-filters",role:"group",style:{display:"flex",minWidth:0,flexWrap:"wrap",gap:"var(--space-1)",alignItems:"center",padding:"var(--space-1)",border:"thin solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)"},children:hR.map(({value:a,key:b})=>{let c=i===a,d=f(b);return(0,A.jsxs)("button",{type:"button",className:"ui-focus-ring","data-subagent-filter":a,"aria-pressed":c,title:`${d} (${o[a]})`,onClick:()=>j(a),style:{display:"inline-flex",minHeight:"var(--control-touch, 44px)",alignItems:"center",gap:"var(--space-2)",padding:"var(--space-2) var(--space-3)",border:"none",borderRadius:"var(--radius-control)",background:c?"color-mix(in srgb, var(--accent) 16%, var(--bg))":"transparent",color:c?"var(--accent)":"var(--text-muted)",fontFamily:"inherit",fontSize:"var(--text-xs)",fontWeight:c?650:550,cursor:"pointer",wordBreak:"keep-all",transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},children:[(0,A.jsx)("span",{children:d}),(0,A.jsx)("span",{"aria-hidden":!0,style:{display:"inline-flex",minWidth:"var(--space-8)",height:"var(--space-6)",alignItems:"center",justifyContent:"center",padding:"0 var(--space-2)",borderRadius:"var(--radius-control)",background:c?"color-mix(in srgb, var(--accent) 20%, transparent)":"var(--bg-subtle)",color:c?"var(--accent)":"var(--text-dim)",fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",fontVariantNumeric:"tabular-nums"},children:o[a]})]},a)})}),0===q.length?(0,A.jsx)("div",{style:{padding:"var(--space-5)",color:"var(--text-dim)",fontSize:"var(--text-sm)",textAlign:"center",wordBreak:"keep-all"},children:f("chatWindow.subagentHub.empty")}):r.map(a=>{if("group"===a.kind){let b="roots"===a.group?f("chatWindow.subagentHub.group.roots"):"orphans"===a.group?f("chatWindow.subagentHub.group.orphans"):f("chatWindow.subagentHub.group.nested",{agent:a.parentLabel??""});return(0,A.jsx)(hV,{depth:a.depth,children:b},a.key)}let d=a.depth>0?{marginLeft:`calc(var(--space-6) * ${a.depth})`,paddingLeft:"var(--space-5)",borderLeft:"thin solid var(--border)"}:void 0;return(0,A.jsx)("div",{"data-subagent-row-wrap":!0,"data-subagent-depth":a.depth,className:`subagent-hub-row-wrap${a.depth>0?" subagent-hub-nested":""}`,style:{display:"grid",gap:"var(--space-3)",...d},children:(0,A.jsx)(hW,{subagent:a.subagent,events:b[a.subagent.id],freshnessNow:n?m:void 0,onSelectSubagent:c})},a.key)}),(0,A.jsxs)("div",{"data-subagent-observe-only":!0,className:"subagent-hub-observe-only",role:"note",style:{display:"flex",minWidth:0,alignItems:"flex-start",gap:"var(--space-3)",padding:"var(--space-3) var(--space-4)",border:"thin solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",color:"var(--text-dim)",wordBreak:"keep-all"},children:[(0,A.jsx)(hJ.A,{"aria-hidden":!0,style:{width:"var(--text-md)",height:"var(--text-md)",flexShrink:0,marginTop:"var(--space-1)"}}),(0,A.jsxs)("span",{style:{display:"grid",minWidth:0,gap:"var(--space-1)",fontSize:"var(--text-xs)",lineHeight:1.4},children:[(0,A.jsx)("strong",{style:{color:"var(--text-muted)",fontWeight:650},children:f("chatWindow.subagentHub.observeOnly")}),(0,A.jsx)("span",{title:f("chatWindow.subagentHub.observeOnlyHint"),children:f("chatWindow.subagentHub.observeOnlyHint")})]})]})]})]})}function hY({todoPhases:a,subagents:b,subagentEvents:c,onSelectSubagent:d,defaultExpanded:e=!1}){return 0===a.length&&0===b.length?null:(0,A.jsxs)("div",{style:{display:"grid",gap:"var(--space-3)",marginBottom:"var(--space-4)"},children:[(0,A.jsx)(hx,{phases:a,collapsible:!0,defaultExpanded:e}),b.length>0&&(0,A.jsx)(hX,{subagents:b,subagentEvents:c,onSelectSubagent:d,defaultExpanded:e})]})}function hZ(a){if("assistant"!==a.role)return a;let b=a.content;if(!Array.isArray(b))return a;let c=b.map(a=>(fZ(a)&&"toolCall"===a.type?{type:"toolCall",toolCallId:"string"==typeof a.toolCallId?a.toolCallId:"string"==typeof a.id?a.id:"",toolName:"string"==typeof a.toolName?a.toolName:"string"==typeof a.name?a.name:"",input:"object"!=typeof a.input||null===a.input||Array.isArray(a.input)?"object"!=typeof a.arguments||null===a.arguments||Array.isArray(a.arguments)?{}:a.arguments:a.input}:null)??a);return{...a,content:c}}var h$=c(48043);let h_=[],h0=["read","bash","edit","write","task"],h1=["bash","read","edit","write","grep","find","ls","task"];c(57548);let h2="omp-web:tool-preset";function h3(a,b,c,d,e,f,g,h){return a===b&&c===d&&e===f&&(void 0===h||g===h)}function h4(a){return"bundled"===a||"user"===a||"project"===a?a:void 0}function h5(a){var b;if(!fZ(a))return;let c={},d=f_(a.index);void 0!==d&&(c.index=d);let e=f$(a.id);void 0!==e&&(c.id=e);let f=f$(a.agent);void 0!==f&&(c.agent=f);let g=h4(a.agentSource);void 0!==g&&(c.agentSource=g);let h="pending"===(b=a.status)||"running"===b||"completed"===b||"failed"===b||"aborted"===b?b:void 0;void 0!==h&&(c.status=h);let i=f$(a.task);void 0!==i&&(c.task=i);let j=f$(a.assignment);void 0!==j&&(c.assignment=j);let k=f$(a.description);void 0!==k&&(c.description=k);let l=f$(a.lastIntent);void 0!==l&&(c.lastIntent=l);let m=f$(a.currentTool);void 0!==m&&(c.currentTool=m);let n=f$(a.currentToolArgs);void 0!==n&&(c.currentToolArgs=n);let o=f_(a.currentToolStartMs);void 0!==o&&(c.currentToolStartMs=o),Array.isArray(a.recentTools)&&(c.recentTools=a.recentTools),Array.isArray(a.recentOutput)&&(c.recentOutput=a.recentOutput.filter(a=>"string"==typeof a));let p=f_(a.toolCount);void 0!==p&&(c.toolCount=p);let q=f_(a.requests);void 0!==q&&(c.requests=q);let r=f_(a.tokens);void 0!==r&&(c.tokens=r);let s=f_(a.contextTokens);void 0!==s&&(c.contextTokens=s);let t=f_(a.contextWindow);void 0!==t&&(c.contextWindow=t);let u=f_(a.cost);void 0!==u&&(c.cost=u);let v=f_(a.durationMs);void 0!==v&&(c.durationMs=v),("string"==typeof a.modelOverride||Array.isArray(a.modelOverride)&&a.modelOverride.every(a=>"string"==typeof a))&&(c.modelOverride=a.modelOverride);let w=f$(a.modelRole);void 0!==w&&(c.modelRole=w);let x=f$(a.resolvedModel);if(void 0!==x&&(c.resolvedModel=x),"boolean"==typeof a.resolvedModelIsFallback&&(c.resolvedModelIsFallback=a.resolvedModelIsFallback),fZ(a.retryState)){let b=f_(a.retryState.attempt),d=f_(a.retryState.maxAttempts),e=f_(a.retryState.delayMs),f=f$(a.retryState.errorMessage),g=f_(a.retryState.startedAtMs);void 0!==b&&void 0!==d&&void 0!==e&&void 0!==f&&void 0!==g&&(c.retryState={attempt:b,maxAttempts:d,delayMs:e,errorMessage:f,startedAtMs:g})}if(fZ(a.retryFailure)){let b=f_(a.retryFailure.attempt),d=f$(a.retryFailure.errorMessage);void 0!==b&&void 0!==d&&(c.retryFailure={attempt:b,errorMessage:d})}return void 0!==a.inflightTaskDetails&&(c.inflightTaskDetails=a.inflightTaskDetails),fZ(a.extractedToolData)&&(c.extractedToolData=a.extractedToolData),Object.keys(c).length>0?c:void 0}function h6(a){let b;if(!fZ(a))return;let c=f$(a.id),d=f$(a.agent);if(!c||!d)return;if("started"===a.status||"completed"===a.status||"failed"===a.status||"aborted"===a.status)b=a.status;else{if("pending"!==a.status&&"running"!==a.status)return;b="started"}let e={id:c,agent:d,status:b,index:f_(a.index)??-1,source:"live"},f=h4(a.agentSource);void 0!==f&&(e.agentSource=f);let g=f$(a.description);void 0!==g&&(e.description=g);let h=f$(a.task);void 0!==h&&(e.task=h);let i=f$(a.assignment);void 0!==i&&(e.assignment=i);let j=f$(a.sessionFile);void 0!==j&&(e.sessionFile=j);let k=f$(a.parentToolCallId);void 0!==k&&(e.parentToolCallId=k);let l=f_(a.lastUpdate);void 0!==l&&(e.lastUpdate=l);let m=h5(a.progress);return void 0!==m&&(e.progress=m),e}function h7(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null};case"update":return{isStreaming:!0,streamingMessage:b.message};case"end":case"reset":return{isStreaming:!1,streamingMessage:null};default:return a}}function h8(a){let b=Object.keys(a);if(b.length<=64)return a;let c={...a},d=b.length-64;for(let a of b.filter(a=>!/^(?:0|[1-9]\d*)$/.test(a))){if(d<=0)break;delete c[a],d-=1}if(d>0)for(let a of b){if(d<=0)break;void 0!==c[a]&&(delete c[a],d-=1)}return c}function h9(a){let b={id:a.id,agent:a.agent,agentSource:a.agentSource,description:a.description,status:a.status,task:a.task,assignment:a.assignment,index:a.index,sessionFile:a.sessionFile,source:"history",detached:a.detached,result:a.result};return b.progress={status:"started"===a.status?"running":a.status,task:a.task,assignment:a.assignment,description:a.description,lastIntent:a.lastIntent,toolCount:a.toolCount,requests:a.requests,tokens:a.tokens,contextTokens:a.contextTokens,contextWindow:a.contextWindow,cost:a.cost,durationMs:a.durationMs,modelOverride:a.modelOverride,modelRole:a.modelRole,resolvedModel:a.resolvedModel,resolvedModelIsFallback:a.resolvedModelIsFallback,retryFailure:a.retryFailure},b}let ia={steering:[],followUp:[]},ib="omp-queue-";function ic(a){return 0===a.steering.length&&0===a.followUp.length}function id(a){return a&&"inherit"!==a?a:"auto"}function ie(a){return a?.provider&&a.id?{provider:a.provider,modelId:a.id,name:a.name,reasoning:a.reasoning,thinking:a.thinking}:null}let ig=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," ","Space","Spacebar"]);class ih extends Error{constructor(a){super("timeout"===a?(0,E.Tl)("agentSession.eventStreamTimeout"):(0,E.Tl)("agentSession.eventStreamFailed")),this.status=a,this.name="EventStreamConnectionError"}}function ii(a){if("string"!=typeof a)return!1;let b=a.trim();if(!b||b.startsWith("//"))return!1;let c=/^([a-zA-Z][a-zA-Z0-9+.-]*):/.exec(b);if(!c)return!1;let d=c[1].toLowerCase();return"http"===d||"https"===d||"mailto"===d}function ij(a){return new Promise(b=>setTimeout(b,a))}function ik(a){let b=a.findIndex(a=>!a.exiting);return -1===b?a:a.map((a,c)=>c===b?{...a,exiting:!0}:a)}function il(a,b){switch(b.type){case"add":if(a.visible.some(a=>a.exiting)||a.visible.length>=5)return{visible:a.visible.some(a=>a.exiting)?a.visible:ik(a.visible),pending:[...a.pending,b.notice]};return{...a,visible:[...a.visible,b.notice]};case"mark_oldest_exiting":return{...a,visible:ik(a.visible)};case"remove":return function(a,b){let c=a,d=b;for(;d.length>0&&c.length<5;){let[a,...b]=d;c=[...c,a],d=b}return d.length>0&&!c.some(a=>a.exiting)&&(c=ik(c)),{visible:c,pending:d}}(a.visible.filter(a=>a.id!==b.id),a.pending);default:return a}}function im(a){let b=a.content;return"string"==typeof b?b:Array.isArray(b)?b.map(a=>a&&"object"==typeof a&&"text"===a.type&&"string"==typeof a.text?a.text:"").filter(Boolean).join("\n"):""}function io(a){if(!a||"object"!=typeof a||"image"!==a.type)return"";let b=a.source;return b&&"object"==typeof b?["url"===b.type?"url":"base64","string"==typeof b.media_type?b.media_type:"","string"==typeof b.data?b.data:"","string"==typeof b.url?b.url:""].join(":"):["base64","string"==typeof a.mimeType?a.mimeType:"","string"==typeof a.data?a.data:"",""].join(":")}function ip(a){let b=a.content;return"string"==typeof b?JSON.stringify({text:b,images:[]}):Array.isArray(b)?JSON.stringify({text:im(a),images:b.map(io).filter(Boolean)}):JSON.stringify({text:"",images:[]})}function iq(a,b){return a&&"object"==typeof a?"number"!=typeof a.tokensBefore?null:{reason:b,tokensBefore:a.tokensBefore,estimatedTokensAfter:"number"==typeof a.estimatedTokensAfter?a.estimatedTokensAfter:0}:null}function ir(a,b){let c=b?.map(a=>({type:"image",source:{type:"base64",media_type:a.mimeType,data:a.data}}));return{userMsg:{role:"user",content:c?.length?[...a.trim()?[{type:"text",text:a}]:[],...c]:a,timestamp:Date.now()},piImages:b?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType}))}}function is(a){if("builtin"===a.source)return null;let b="extension"===a.source?"extension":"skill"===a.source?"skill":"prompt";return{name:a.name,description:a.description,source:b}}function it(a){return a.type.startsWith("image/")||"text/plain"===a.type||"text/markdown"===a.type}let iu=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,iv=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,iw=/\x1B\[([0-9;]*)m/g,ix=/\x1B_pi:c\x07/g,iy=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],iz=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function iA(a){return a.replace(ix,"").replace(iu,"")}function iB(a){let b=[],c=0;for(;c<a.length;){if(27===a.charCodeAt(c)){let b=a.slice(c).match(iv);if(b){c+=b[0].length;continue}}let d=a.codePointAt(c);if(void 0===d)break;let e=String.fromCodePoint(d);b.push({start:c,end:c+e.length,char:e}),c+=e.length}return b}function iC(a,b){let c=iB(a)[b];return c?a.slice(0,c.start)+a.slice(c.end):a}function iD(a){return iB(a)[0]?.char}let iE={ArrowUp:"\x1b[A",ArrowDown:"\x1b[B",ArrowRight:"\x1b[C",ArrowLeft:"\x1b[D",Home:"\x1b[H",End:"\x1b[F",Insert:"\x1b[2~",Delete:"\x1b[3~",PageUp:"\x1b[5~",PageDown:"\x1b[6~",Escape:"\x1b",Backspace:""},iF={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function iG(a){return"user"===a.role||"custom"===a.role&&"compaction"===a.customType}function iH(a,b,c={}){let d={...a,content:b};return c.omitUsage&&(d.usage=void 0),d}function iI({refreshKey:a=0}){let{t:b}=(0,E.s9)(),[c,d]=(0,B.useState)(null);return(0,A.jsxs)("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:["omp ",(0,A.jsx)("span",{style:{color:"var(--text)"},children:c?`v${c}`:b("chatWindow.versionNotFound")})]})}function iJ({messageCount:a,toolCallCount:b,children:c}){let{t:d,tn:e}=(0,E.s9)(),[f,g]=(0,B.useState)(!1),h=[d("chatWindow.processDetails"),e("chatWindow.messageCount",a)];return b>0&&h.push(e("chatWindow.toolCallCount",b)),(0,A.jsxs)("div",{style:{marginBottom:"var(--space-5)"},children:[(0,A.jsxs)("button",{type:"button","aria-expanded":f,onClick:()=>g(a=>!a),className:"process-details-toggle",title:d(f?"chatWindow.collapseProcessDetails":"chatWindow.expandProcessDetails"),children:[(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,"aria-hidden":"true",style:{flexShrink:0,transform:f?"rotate(180deg)":"none",transition:"transform var(--dur-fast) var(--ease-out-warm)"}}),(0,A.jsx)("span",{className:"process-details-label",children:h.join(" \xb7 ")})]}),f&&(0,A.jsx)("div",{style:{marginTop:"var(--space-4)"},children:c})]})}let iK=(0,B.memo)(function({messages:a,entryIds:b,conversationMeta:c,messageRefs:d,isStreaming:e,sessionBusy:f,runtimeReady:g,isNew:h,forkingEntryId:i,handleFork:j,handleNavigate:k,handleEditContent:l,modelNames:m,messageCwd:n,onOpenFile:o,sessionId:p,toolCallsDefaultCollapsed:q,visibleCount:r,nearBottom:s,sentinelRef:t,handleLoadMoreClick:u}){let{t:v}=(0,E.s9)(),{toolResultsMap:w,lastAnchorIdx:x,visibleRefIndexByMessage:y}=c,z=(c,r={})=>{let s=r.messageOverride??a[c],t="user"===s.role&&c>0&&"assistant"===a[c-1].role?b[c-1]:void 0,u="user"===s.role||"assistant"===s.role,v=y.get(c),x=r.keyPrefix??"message",z=!1;if("assistant"===s.role){z=!0;for(let b=c+1;b<a.length;b++){let c=a[b].role;if("user"===c)break;if("assistant"===c){z=!1;break}}z&&e&&c===a.length-1&&(z=!1)}void 0!==r.showTimestamp&&(z=r.showTimestamp);let B=(0,A.jsx)(gf,{message:s,toolResults:w,modelNames:m,cwd:n,onOpenFile:o,entryId:b[c],onFork:!g||f||h||0===c&&"user"===s.role?void 0:j,forking:i===b[c],onNavigate:!g||f?void 0:k,prevAssistantEntryId:!g||f?void 0:t,onEditContent:g?l:void 0,showTimestamp:z,prevTimestamp:c>0?a[c-1].timestamp:void 0,sessionId:p,toolCallsDefaultCollapsed:q},`${x}-view-${c}`);return u&&!1!==r.attachRef&&void 0!==v?(0,A.jsx)("div",{ref:a=>{d.current[v]=a},children:B},`${x}-${c}`):B},C=[];for(let b=0;b<a.length;){if(!iG(a[b])){C.push(z(b)),b+=1;continue}let c=b,g=c+1;for(;g<a.length&&!iG(a[g]);)g+=1;let h=function(a,b,c){for(let e=c-1;e>b;e--){var d;if("assistant"===(d=a[e]).role&&H(d).answerBlocks.some(a=>"image"===a.type||"text"===a.type&&a.text.trim().length>0))return e}for(let d=c-1;d>b;d--)if(a[d]?.role==="assistant")return d;return -1}(a,c,g);if(-1===h||(f||e)&&g===a.length&&c===x){for(let a=c;a<g;a++)C.push(z(a));b=g;continue}C.push(z(c));let i=[];for(let a=c+1;a<h;a++)i.push(a);let j=i.filter(b=>{var c;return"assistant"===(c=a[b]).role?G(c).length>0:"custom"===c.role}),k=a[h],l=H(k),m=l.processBlocks.length>0?iH(k,l.processBlocks,{omitUsage:!0}):null,n=l.answerBlocks.length>0?iH(k,l.answerBlocks):null,o=j.length+ +!!m;if(o>0){let b=j.map(a=>y.get(a)).find(a=>"number"==typeof a)??(n?void 0:y.get(h)),e=(0,A.jsxs)(iJ,{messageCount:o,toolCallCount:function(a,b){let c=0;for(let d of b){let b=a[d];b?.role==="assistant"&&(c+=I(G(b)))}return c}(a,j)+I(l.processBlocks),children:[j.map(a=>z(a,{attachRef:!1,keyPrefix:"process"})),m&&z(h,{attachRef:!1,keyPrefix:"process-final",messageOverride:m,showTimestamp:!1})]});C.push((0,A.jsx)("div",{ref:void 0===b?void 0:a=>{d.current[b]=a},children:e},`process-group-${c}-${h}`))}n&&C.push(z(h,{messageOverride:n}));for(let a=h+1;a<g;a++)C.push(z(a));b=g}let D=(0,B.useRef)(null),{startIndex:F,hasMore:J}=(0,B.useMemo)(()=>{let a=Math.max(0,C.length-r);if(s||null===D.current)return D.current=a,{startIndex:a,hasMore:a>0};let b=Math.min(D.current,a);return D.current=b,{startIndex:b,hasMore:b>0}},[C.length,r,s]);return(0,A.jsxs)(A.Fragment,{children:[J&&(0,A.jsx)("button",{ref:t,type:"button",onClick:u,className:"py-3 w-full text-center text-xs text-text-muted hover:text-text transition-colors cursor-pointer",children:v("chatWindow.scrollUpToLoad",{count:F})}),C.slice(F)]})});function iL({session:a,newSessionCwd:b,advisorEnabled:c,toolCallsDefaultCollapsed:d=!0,onAgentEnd:e,onSessionCreated:f,onSessionForked:g,modelsRefreshKey:h,ompVersionRefreshKey:i,chatInputRef:j,onBranchDataChange:k,onSystemPromptChange:l,onSystemPromptLoaderChange:m,onSessionStatsChange:n,onSessionStatsPanelOpen:o,onOpenSettingsTab:p,onContextUsageChange:q,onOpenFile:r,onRuntimeReadyChange:s}){let{t,tn:u}=(0,E.s9)(),{playDoneSound:v,unlockAudio:w}=function(){let[a,b]=(0,B.useState)(()=>!0),c=(0,B.useRef)(a),d=(0,B.useRef)(null),e=(0,B.useCallback)(()=>{if(d.current&&"closed"!==d.current.state)return d.current;try{d.current=new AudioContext}catch{return null}return d.current},[]),f=(0,B.useCallback)((a=!1)=>{if(!a&&!c.current)return;let b=e();b&&"suspended"===b.state&&b.resume().catch(()=>{})},[e]);return{playDoneSound:(0,B.useCallback)(()=>{if(!c.current)return;let a=e();if(!a)return;let b=()=>{try{let b;b=a.currentTime,[523.25,659.25].forEach((c,d)=>{let e=a.createOscillator(),f=a.createGain();e.connect(f),f.connect(a.destination),e.type="sine",e.frequency.value=c;let g=b+.18*d;f.gain.setValueAtTime(0,g),f.gain.linearRampToValueAtTime(.18,g+.02),f.gain.exponentialRampToValueAtTime(.001,g+.45),e.start(g),e.stop(g+.45),e.onended=()=>{e.disconnect(),f.disconnect()}})}catch{}};"suspended"===a.state?a.resume().then(b).catch(()=>{}):b()},[e]),unlockAudio:f}}(),x=(0,gT.a)(),y=(0,B.useRef)(v);y.current=v;let z=(0,B.useCallback)(()=>{y.current(),e?.()},[e]),C=(0,B.useCallback)(a=>{j?.current?.insertIfEmpty(a)},[j]),{loading:D,error:F,messages:G,entryIds:H,streamState:I,sessionReadiness:J,runtimeError:K,runtimeReady:L,retryRuntimeState:M,agentRunning:N,bashRunning:O,pendingBash:P,modelNames:Q,modelList:R,modelsLoading:S,modelError:T,modelThinkingLevels:U,modelThinkingLevelMaps:V,thinkingLevel:W,fastModeEnabled:X,fastModeActive:Y,liveModelMeta:Z,retryInfo:$,contextUsage:_,forkingEntryId:aa,isCompacting:ab,compactResult:ac,displayModel:ad,sessionStats:ae,slashCommands:af,slashCommandsLoading:ag,queuedMessages:ah,notices:ai,extensionDialog:aj,extensionCustomUi:ak,extensionStatuses:al,extensionWidgets:am,respondToExtensionUi:an,sendExtensionCustomInput:ao,isAutoModelSelection:ap,agentPhase:aq,activeGoal:ar,activePlan:as,subagents:at,subagentEvents:au,subagentTranscriptVersions:av,activeSubagentCount:aw,currentTodoPhase:ax,todoPhases:ay,isNew:az,sessionIdRef:aA,messagesEndRef:aB,scrollContainerRef:aC,handleSend:aD,handleAbort:aE,handleFork:aF,handleNavigate:aG,handleModelChange:aH,handleSteer:aI,handleFollowUp:aJ,handlePromptWithStreamingBehavior:aK,handleAbortCompaction:aL,removeQueuedMessage:aM,promoteQueuedToSteer:aN,handleBuiltinSlashCommand:aO,handleThinkingLevelChange:aP,handleFastModeChange:aQ,handleCycleModel:aR,handleCycleThinkingLevel:aS,handleAbortRetry:aT,loadSlashCommands:aU}=function(a){let{session:b,newSessionCwd:c,advisorEnabled:d,onAgentEnd:e,onSessionCreated:f,onSessionForked:g,modelsRefreshKey:h,onBranchDataChange:i,onSystemPromptChange:j,onSystemPromptLoaderChange:k,onSessionStatsPanelOpen:l,onOpenSettingsTab:m,onOpenFile:n}=a,o=(0,h$.j)(),p=null===b&&null!==c,q=p?{history:"ready",runtime:"ready"}:{history:"idle",runtime:"idle"},[r,s]=(0,B.useState)(null),[t,u]=(0,B.useState)(!p),[v,w]=(0,B.useState)(null),[x,y]=(0,B.useState)(q),[z,A]=(0,B.useState)(null),[C,D]=(0,B.useState)(null),[F,G]=(0,B.useState)([]),[H,I]=(0,B.useState)([]),[J,K]=(0,B.useReducer)(h7,{isStreaming:!1,streamingMessage:null}),[L,M]=(0,B.useState)(!1),[N,O]=(0,B.useState)(!1),[P,Q]=(0,B.useState)(null),R=(0,B.useRef)(!0),[S,T]=(0,B.useState)({}),[U,V]=(0,B.useState)([]),[W,X]=(0,B.useState)(!1),[Y,Z]=(0,B.useState)(null),[$,_]=(0,B.useState)(null),[aa,ab]=(0,B.useState)({}),[ac,ad]=(0,B.useState)({}),[ae,af]=(0,B.useState)(null),[ag,ah]=(0,B.useState)(null),[ai,aj]=(0,B.useState)(()=>(function(a=null){if(!a)return"default";try{let b=a.getItem(h2);return"none"===b||"default"===b||"full"===b?b:"default"}catch{return"default"}})()),[ak,al]=(0,B.useState)("auto"),[am,an]=(0,B.useState)(!1),[ao,ap]=(0,B.useState)(void 0),[aq,ar]=(0,B.useState)("immediate"),[as,at]=(0,B.useState)(!0),[au,av]=(0,B.useState)(!1),[aw,ax]=(0,B.useState)("all"),[ay,az]=(0,B.useState)("all"),[aA,aB]=(0,B.useState)(null),[aC,aD]=(0,B.useState)(null),aE=(0,B.useRef)(0),aF=(0,B.useCallback)(a=>{a&&a.contextWindow>0&&(aE.current=a.contextWindow),aD(b=>(function(a,b){if(!b)return null;let c=0===b.tokens||null===b.tokens,d=(a?.tokens??0)>0;if(c&&d||null!=b.tokens&&b.contextWindow>0&&b.tokens>1.1*b.contextWindow)return a;let e=b.tokens??a?.tokens??null;return{percent:b.percent??(b.contextWindow>0&&null!=e?e/b.contextWindow*100:a?.percent??null),contextWindow:b.contextWindow,tokens:e}})(b,a))},[]),[aG,aH]=(0,B.useState)(null),[aI,aJ]=(0,B.useState)(null),[aK,aL]=(0,B.useState)(null),[aM,aN]=(0,B.useState)(null),[aO,aP]=(0,B.useState)(!1),[aQ,aR]=(0,B.useState)(null),[aS,aT]=(0,B.useState)(null),[aU,aV]=(0,B.useState)(null),[aW,aX]=(0,B.useState)([]),[aY,aZ]=(0,B.useState)(!1),[a$,a_]=(0,B.useReducer)(il,{visible:[],pending:[]}),[a0,a1]=(0,B.useState)(null),[a2,a3]=(0,B.useState)(null),[a4,a5]=(0,B.useState)(null),[a6,a7]=(0,B.useState)([]),[a8,a9]=(0,B.useState)([]),[ba,bb]=(0,B.useState)({steering:[],followUp:[]}),[bc,bd]=(0,B.useState)([]),[be,bf]=(0,B.useState)({}),[bg,bh]=(0,B.useState)({}),[bi,bj]=(0,B.useState)([]),[bk,bl]=(0,B.useState)(null),[bm,bn]=(0,B.useState)(null),bo=bc.filter(a=>"history"!==a.source&&"started"===a.status).length,bp=(0,B.useRef)(null),bq=(0,B.useRef)(null),br=(0,B.useRef)(null),bs=(0,B.useRef)(null),bt=(0,B.useRef)(null),bu=(0,B.useRef)(b?.id??null);(0,B.useRef)(b?.id??null).current=b?.id??null;let bv=(0,B.useRef)(0),bw=(0,B.useRef)(0),bx=(0,B.useRef)(0),by=(0,B.useRef)(q),bz=(0,B.useRef)(p||"ready"===q.runtime);by.current=x,bz.current=p||"ready"===x.runtime;let bA=(0,B.useRef)(0),bB=(0,B.useRef)(!1),bC=(0,B.useRef)(!1),bD=(0,B.useRef)(0),bE=(0,B.useRef)(!1),bF=(0,B.useRef)(!1),bG=(0,B.useRef)(0),bH=(0,B.useRef)(null),bI=(0,B.useRef)(!1),bJ=(0,B.useRef)(!1),bK=(0,B.useRef)(!0),bL=(0,B.useRef)(void 0),bM=(0,B.useRef)(0),bN=(0,B.useRef)(0),bO=(0,B.useRef)(null),bP=(0,B.useRef)(null),bQ=(0,B.useRef)(null),bR=(0,B.useRef)(!1),bS=(0,B.useRef)(null),bT=(0,B.useRef)(null),bU=(0,B.useRef)(null),bV=(0,B.useRef)(null),bW=(0,B.useRef)(null),bX=(0,B.useRef)(null),bY=(0,B.useRef)(0),bZ=(0,B.useRef)(null),b$=(0,B.useRef)([]);b$.current=bc;let b_=(0,B.useRef)(0),b0=(0,B.useRef)(0),b1=(0,B.useRef)(null);(0,B.useRef)(!1);let b2=(0,B.useRef)(null),b3=(0,B.useCallback)((a=bu.current)=>!!p||!!a&&bu.current===a&&bz.current,[p]),b4=(0,B.useCallback)((a,b)=>{let c=bx.current+1;bx.current=c,bv.current=c,b&&(bw.current=c);let d={...by.current,history:"loading",...b&&!p?{runtime:"loading"}:{}};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),b&&!p&&A(null),c},[p]),b5=(0,B.useCallback)((a,b,c)=>{if(!R.current||bu.current!==a||bv.current!==b)return!1;let d={...by.current,...c};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),!0},[p]),b6=(0,B.useCallback)((a,b,c)=>{if(!R.current||bu.current!==a||bw.current!==b)return!1;let d={...by.current,...c};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),!0},[p]);null===b2.current&&(b2.current=function(a,b=function(a){if("u">typeof document&&!document.hidden&&"function"==typeof requestAnimationFrame){let b=requestAnimationFrame(a);return()=>cancelAnimationFrame(b)}let b=setTimeout(a,50);return()=>clearTimeout(b)}){let c=null,d=null,e=()=>{d&&(d(),d=null)},f=()=>{d=null;let b=c;c=null,b&&a(b)};return{push(g){if("message_update"===g.type){c=g,d||(d=b(f));return}if("message_end"===g.type)c=null,e();else if(c){e();let b=c;c=null,a(b)}a(g)},reset(){c=null,e()}}}(a=>{bH.current?.(a)}));let b7=b2.current;null===bq.current&&(bq.current=function({createSource:a,timeoutMs:b,onFatalClose:c}){let d=null,e=a=>d===a&&!a.invalidated,f=a=>{null!==a.timeout&&(clearTimeout(a.timeout),a.timeout=null),a.timeout=setTimeout(()=>{e(a)&&h(a,"timeout")},b)},g=a=>{a.promise=new Promise(b=>{a.resolve=b}),a.settled=!1,f(a)},h=(a,b)=>{a.settled||(a.settled=!0,null!==a.timeout&&(clearTimeout(a.timeout),a.timeout=null),a.resolve({status:b,source:a.source}))},i=(a,b)=>{!a.invalidated&&(a.invalidated=!0,d===a&&(d=null),h(a,"closed"),b&&2!==a.source.readyState&&a.source.close())},j=a=>{e(a)&&2!==a.source.readyState&&h(a,"connected")},k=a=>{if(e(a)){if(2===a.source.readyState){h(a,"closed"),i(a,!1),c?.(a.sessionId,a.source);return}0===a.source.readyState&&a.settled&&g(a)}};return{ensure(b){let c,e,l,m,n=d;if(n&&n.sessionId===b){if(1===n.source.readyState)return n.settled||h(n,"connected"),Promise.resolve({status:"connected",source:n.source});if(0===n.source.readyState)return n.settled&&g(n),n.promise;i(n,!0)}else n&&i(n,!0);return e=null,l=new Promise(a=>{c=a}),m=a(b,{onOpen:()=>{e&&j(e)},onError:()=>{e&&k(e)}}),d=e={sessionId:b,source:m,promise:l,resolve:c,settled:!1,invalidated:!1,timeout:null},f(e),1===m.readyState?h(e,"connected"):2===m.readyState&&k(e),e.promise},currentSource:a=>d?.sessionId!==a||d.invalidated?null:d.source,isCurrent:(a,b)=>d?.sessionId===a&&d.source===b&&!d.invalidated,markConnected(a,b){let c=d;c&&c.sessionId===a&&c.source===b&&j(c)},invalidate(a,b){let c=d;c&&(void 0===a||c.sessionId===a)&&(void 0===b||c.source===b)&&i(c,!0)}}}({timeoutMs:6e4,createSource:(a,b)=>{b7.reset();let c=new EventSource(`/api/agent/${encodeURIComponent(a)}/events`);return c.onopen=b.onOpen,c.onerror=b.onError,bp.current=c,c},onFatalClose:(a,b)=>{bp.current!==b||(bp.current=null,bt.current&&(clearTimeout(bt.current),bt.current=null),bE.current&&(bt.current=setTimeout(()=>{bt.current=null,bE.current&&bu.current===a&&(br.current?.(a),bs.current?.(a))},1e3)))}}));let b8=bq.current,b9=a.setToolPreset??aj,ca=p||"ready"===x.runtime,cb=aK??r?.context.model??aM??null,cc=p?ae??ag:aK??($?{provider:$.provider,modelId:$.modelId}:r?.context.model??aM),cd=function(a,b,c){if(gV(c))return c;if(!b)return 0;let d=a.find(a=>a.provider===b.provider&&a.id===b.modelId);return gV(d?.contextWindow)?d.contextWindow:0}(U,cc,aE.current),ce=(0,B.useMemo)(()=>aC??function(a,b){if(!b||!(b>0))return null;for(let c=a.length-1;c>=0;c--){let d=a[c];if("assistant"!==d.role||!d.usage)continue;let e=d.usage,f=(e.input??0)+(e.output??0)+(e.cacheRead??0)+(e.cacheWrite??0);if(!(f<=0)&&!(f>1.1*b))return{tokens:f,contextWindow:b,percent:f/b*100}}return null}(F,cd),[aC,F,cd]),cf=(0,B.useMemo)(()=>{if(a0)return a0;let a={input:0,output:0,cacheRead:0,cacheWrite:0,total:0},c=0,d=0,e=0,f=0,g=0;for(let b of F){if("user"===b.role&&(d+=1),"toolResult"===b.role&&(f+=1),"assistant"!==b.role)continue;e+=1;let h=b.usage;g+=b.content.filter(a=>"toolCall"===a.type).length,h&&(a.input+=h.input??0,a.output+=h.output??0,a.cacheRead+=h.cacheRead??0,a.cacheWrite+=h.cacheWrite??0,c+=h.cost?.total??0)}return(a.total=a.input+a.output+a.cacheRead+a.cacheWrite,0===a.total&&0===F.length)?null:{sessionFile:r?.filePath||void 0,sessionId:bu.current??b?.id??"",sessionName:b?.name,userMessages:d,assistantMessages:e,toolCalls:g,toolResults:f,totalMessages:F.length,tokens:a,cost:c,...ce?{contextUsage:ce}:{}}},[F,a0,ce,r?.filePath,b?.id,b?.name]),cg=(0,B.useMemo)(()=>{for(let a=0;a<bi.length;a++){let b=bi[a],c=Array.isArray(b?.tasks)?b.tasks:[],d=c.filter(a=>"completed"===a.status).length;if(c.some(a=>"pending"===a.status||"in_progress"===a.status))return{name:b.name,index:a+1,phaseCount:bi.length,done:d,total:c.length}}return null},[bi]),ch=(0,B.useCallback)((a,b)=>{bd(c=>{if(b?.sessionId!==void 0&&(!R.current||bu.current!==b.sessionId||void 0!==b.rosterGeneration&&b0.current!==b.rosterGeneration))return c;let d=hP(c,a,b);return b$.current=d,d})},[]),ci=(0,B.useCallback)(async(a,b=bv.current)=>{let c=b0.current;try{let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/subagents`);if(!d.ok)return!1;let e=await d.json();if(bu.current!==a||b0.current!==c||void 0!==b&&bv.current!==b)return!1;let f=(e.subagents??[]).map(h9);return ch(f,{sessionId:a,rosterGeneration:c}),!0}catch{return!1}},[ch]),cj=(0,B.useCallback)(a=>{if(!R.current||bu.current!==a||!bz.current||!b$.current.some(a=>"history"!==a.source&&"started"===a.status)||bV.current||bX.current)return;let b=b0.current;bW.current="reconcile",bV.current=setTimeout(()=>{bV.current=null,bW.current=null,R.current&&bu.current===a&&b0.current===b&&(function(a,b=Date.now()){return a.some(a=>"history"!==a.source&&"started"===a.status&&("stale"===hL(a,b)||(a.missingSnapshots??0)>0||void 0!==a.missingSince))}(b$.current)?bZ.current?.(a):cj(a))},5e3)},[]),ck=(0,B.useCallback)(a=>{if(!b3(a))return Promise.resolve(!1);let b=bX.current;if(b)return b;let c=Date.now(),d=b0.current,e=++bY.current,f=(async()=>{try{let b=await hj(a,{type:"get_subagents"});if(!R.current||bu.current!==a||b0.current!==d)return!1;let e=(b?.subagents??[]).map(h6).filter(a=>void 0!==a),f=new Set(e.map(a=>a.id)),g=Date.now();return bd(b=>{if(!R.current||bu.current!==a||b0.current!==d)return b;let h=hP(b,e,{skipNewerThan:c}),i=function(a,b,c,d=Date.now()){let e=!1,f=a.map(a=>{if("history"===a.source||"started"!==a.status)return a;if(b.has(a.id)){if(void 0===a.missingSnapshots&&void 0===a.missingSince)return a;let b={...a};return delete b.missingSnapshots,delete b.missingSince,e=!0,b}if((a.lastUpdate??0)>=c)return a;let f=("number"==typeof a.missingSnapshots&&Number.isFinite(a.missingSnapshots)&&a.missingSnapshots>=0?Math.floor(a.missingSnapshots):0)+1,g="number"==typeof a.missingSince&&Number.isFinite(a.missingSince)?a.missingSince:d;return e=!0,{...a,missingSnapshots:f,missingSince:g,...f>=2&&d-g>=3e4?{status:"lost"}:{}}});return e?f:a}(h,f,c,g);return b$.current=i,i}),ci(a),!0}catch{return!1}finally{bY.current===e&&(bX.current=null,cj(a))}})();return bX.current=f,f},[b3,ci,cj]);bZ.current=ck;let cl=(0,B.useCallback)(()=>{null!==bU.current&&(cancelAnimationFrame(bU.current),bU.current=null),bS.current=null,bT.current=null,bf({}),bh({})},[]);(0,B.useCallback)(()=>{b$.current=[],bd([]),b0.current+=1,cl()},[cl]);let cm=(0,B.useRef)(0),cn=(0,B.useCallback)(()=>(cm.current+=1,cm.current),[]),co=(0,B.useCallback)((a,b)=>(void 0===b||b===cm.current)&&(cm.current+=1,_(a),!a||(aL(b=>b&&(b.provider!==a.provider||b.modelId!==a.modelId)?null:b),!0)),[]),cp=(0,B.useCallback)(async a=>{if(!b3(a))return;let b=bw.current,c=cn();try{let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/state`);if(!d.ok)return;let e=await d.json();if(bu.current!==a||bw.current!==b||!co(ie(e.state?.model),c))return;e.state?.thinkingLevel!==void 0&&al(id(e.state.thinkingLevel)),e.state?.fastModeEnabled!==void 0&&an(e.state.fastModeEnabled),ap(e.state?.fastModeActive),e.state?.autoRetryEnabled!==void 0&&av(e.state.autoRetryEnabled),e.state?.interruptMode!==void 0&&ar(e.state.interruptMode),e.state?.autoCompactionEnabled!==void 0&&at(e.state.autoCompactionEnabled),e.state?.steeringMode!==void 0&&ax(e.state.steeringMode),e.state?.followUpMode!==void 0&&az(e.state.followUpMode)}catch{}},[co,cn,b3]),cq=(0,B.useCallback)((a,b,c,d,e,f)=>{if(!R.current||!h3(bu.current,a,bv.current,e,bw.current,d,b_.current,f))return!1;let g=b.state,h=co(ie(g?.model),c);return g?(void 0!==g.contextUsage&&aF(g.contextUsage??null),void 0!==g.systemPrompt&&aH(g.systemPrompt||null),h&&void 0!==g.thinkingLevel&&al(id(g.thinkingLevel)),void 0!==g.fastModeEnabled&&an(g.fastModeEnabled),ap(g.fastModeActive),void 0!==g.autoRetryEnabled&&av(g.autoRetryEnabled),void 0!==g.interruptMode&&ar(g.interruptMode),void 0!==g.isCompacting&&(bB.current=g.isCompacting,aP(g.isCompacting)),void 0!==g.autoCompactionEnabled&&at(g.autoCompactionEnabled),void 0!==g.steeringMode&&ax(g.steeringMode),void 0!==g.followUpMode&&az(g.followUpMode),void 0!==g.extensionStatuses&&a7(g.extensionStatuses??[]),void 0!==g.extensionWidgets&&a9(g.extensionWidgets??[]),void 0!==g.todoPhases&&bj(g.todoPhases??[]),0===g.queuedMessageCount&&Date.now()-bD.current>=5e3&&bb(ia)):(aF(null),bB.current=!1,aP(!1),!b.running&&Date.now()-bD.current>=5e3&&bb(ia)),b6(a,d,{runtime:"ready"}),A(null),!0},[co,aF,b6]),cr=(0,B.useCallback)(async(a,b,c,d)=>{let e=cn();try{let f=await fetch(`/api/sessions/${encodeURIComponent(a)}/state`);if(!f.ok)throw Error(`HTTP ${f.status}`);let g=await f.json();return cq(a,g,e,b,c,d)?g:null}catch(e){if(R.current&&h3(bu.current,a,bv.current,c,bw.current,b,b_.current,d)){let c=e instanceof Error?e.message:String(e);b6(a,b,{runtime:"error"}),A(c)}return console.error("Failed to load agent state:",e),null}},[cq,cn,b6]),cs=(0,B.useCallback)(async(a,b=!1,c=!1,d)=>{let e=b4(a,c);b&&u(!0);let f=new URLSearchParams({deferThinking:"1",deferMedia:"1"}),g=fetch(`/api/sessions/${encodeURIComponent(a)}?${f}`),h=(async()=>{try{let b=await g;if(404===b.status){if(!R.current||bu.current!==a||bv.current!==e||void 0!==d&&b_.current!==d)return!1;return s(null),D(null),G([]),I([]),w(null),b5(a,e,{history:"error"}),u(!1),!1}if(!b.ok)throw Error(`HTTP ${b.status}`);let c=await b.json();if(!R.current||bu.current!==a||bv.current!==e||void 0!==d&&b_.current!==d)return!1;return s(c),D(c.leafId),G(c.context.messages),I(c.context.entryIds??[]),bj(c.context.todoPhases??[]),ci(a,e),aL(null),w(null),c.context.thinkingLevel&&"off"!==c.context.thinkingLevel&&al(c.context.thinkingLevel),b5(a,e,{history:"ready"}),u(!1),!0}catch(b){return R.current&&bu.current===a&&bv.current===e&&(void 0===d||b_.current===d)&&(w(String(b)),b5(a,e,{history:"error"}),u(!1)),!1}})(),i=c?cr(a,e,e,d):Promise.resolve(null);if(!c)return await h,null;let j=await i;return await h,j},[b4,cr,ci,b5]),ct=(0,B.useCallback)(async(a,b)=>{let c=++bA.current,d=bv.current;try{let e=new URLSearchParams({deferThinking:"1",deferMedia:"1"});b&&e.set("leafId",b);let f=`/api/sessions/${encodeURIComponent(a)}/context?${e}`,g=await fetch(f);if(!g.ok)throw Error(`HTTP ${g.status}`);let h=await g.json();if(bu.current!==a||bA.current!==c||bv.current!==d)return;G(h.context.messages),I(h.context.entryIds??[]),bj(h.context.todoPhases??[])}catch(a){console.error("Failed to load context:",a)}},[]),cu=(0,B.useCallback)((a=0,b)=>{b??=(0,E.Tl)("agentSession.noMessages");let d=bu.current;p&&c&&d&&!bR.current&&(bR.current=!0,f?.({id:d,path:"",cwd:c,name:void 0,created:new Date().toISOString(),modified:new Date().toISOString(),messageCount:a,firstMessage:b}))},[p,c,f]),cv=(0,B.useCallback)(async()=>{if(bu.current||!p||!c)return bu.current;if(bQ.current)return bQ.current;let a=(async()=>{let a=ae??ag;a&&aN(a);let b="none"===ai?[...h_]:"full"===ai?[...h1]:[...h0],e=await fetch("/api/agent/new",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({cwd:c,type:"ensure_session",toolNames:b,...a?{provider:a.provider,modelId:a.modelId}:{},..."auto"!==ak?{thinkingLevel:ak}:{},...d?{advisor:!0}:{}})});if(!e.ok)throw Error(`HTTP ${e.status}`);let f=(await e.json()).sessionId;return bu.current=f,f})();bQ.current=a;try{return await a}finally{bQ.current=null}},[d,p,c,ae,ag,ai,ak]);(0,B.useCallback)(async()=>{let a=bu.current??await cv();if(!a||!b3(a))return;let b=await hj(a,{type:"get_state"});R.current&&bu.current===a&&aH(b.systemPrompt??"")},[b3,cv]);let cw=(0,B.useCallback)(async()=>{let a=bu.current??await cv();if(!a||!b3(a))return aX([]),[];aZ(!0);try{let b=await hj(a,{type:"get_commands"}),c=(b?.commands??[]).map(is).filter(a=>null!==a);return aX(c),c}catch(a){return console.error("Failed to load slash commands:",a),aX([]),[]}finally{aZ(!1)}},[b3,cv]),cx=(0,B.useCallback)(a=>{let b=b8.ensure(a),c=b8.currentSource(a);return c&&(c.onmessage=b=>{if(b8.isCurrent(a,c))try{let d=JSON.parse(b.data);if("connected"===d.type&&b8.markConnected(a,c),"session_closed"===d.type){b7.push(d),b8.invalidate(a,c),bp.current===c&&(bp.current=null);return}b7.push(d)}catch{}}),b},[b7,b8]);br.current=cx;let cy=(0,B.useCallback)(async(a,b)=>{let c=bu.current;if(c&&b3(c)){a3(b=>b?.id===a.id?null:b);try{await hj(c,{type:"extension_ui_response",id:a.id,...b})}catch(a){console.error("Failed to send extension UI response:",a)}}},[b3]),cz=(0,B.useMemo)(()=>[{name:"open_url",description:"Open a URL in the user's browser.",parameters:{type:"object",properties:{url:{type:"string"}},required:["url"]}},{name:"notify",description:"Show a browser notification to the user.",parameters:{type:"object",properties:{title:{type:"string"},message:{type:"string",description:"Optional notification body."}},required:["title"]}},{name:"open_file",description:"Open a file in the workspace file viewer.",parameters:{type:"object",properties:{path:{type:"string",description:"Absolute or workspace-relative file path."}},required:["path"]}}],[]),cA=(0,B.useCallback)(async a=>{if(b3(a))try{await hj(a,{type:"set_host_tools",tools:cz})}catch{}},[cz,b3]),cB=(0,B.useMemo)(()=>[{scheme:"pi-web",description:"Browser-integrated resources: pi-web://clipboard reads/writes the user's clipboard via the web UI.",writable:!0}],[]),cC=(0,B.useCallback)(async a=>{if(b3(a))try{await hj(a,{type:"set_host_uri_schemes",schemes:cB})}catch{}},[cB,b3]);bs.current=a=>{cA(a),cC(a),ck(a)};let cD=(0,B.useCallback)(async(a,b,c,d=!1)=>{if(b3(a))try{await hj(a,{type:"host_tool_result",id:b,isError:d,result:{content:[{type:"text",text:c}]}})}catch(a){console.error("Failed to send host tool result:",a)}},[b3]),cE=(0,B.useCallback)(async(a,b,c)=>{let d=bu.current;if(!d||!b3(d))return;let e=a=>"string"==typeof a?a:void 0;switch(b){case"open_url":{let b="string"==typeof c.url?c.url:"",e=ii(b),f=e?b?`Opened ${b}`:"No URL provided":"Unsafe or invalid URL not opened";await cD(d,a,f,!e&&!!b);break}case"notify":{let b=e(c.title)??"OMP",f=e(c.message)??"";if("u">typeof Notification)try{if("granted"===Notification.permission)new Notification(b,{body:f});else if("default"===Notification.permission){let a=await Notification.requestPermission();"granted"===a&&new Notification(b,{body:f})}}catch{}await cD(d,a,"Notification shown");break}case"open_file":{let b=e(c.path)??"";if(b&&n)try{let a=b.split(/[\\/]/).pop()||b;n(b,a,d)}catch{}await cD(d,a,b?`Opened ${b}`:"No path provided",!b);break}default:await cD(d,a,`Host tool "${b}" is not available in omp-web`,!0)}},[b3,n,cD]),cF=(0,B.useCallback)(async(a,b,c)=>{if(b3(a))try{await hj(a,{type:"host_uri_result",id:b,...c})}catch(a){console.error("Failed to send host URI result:",a)}},[b3]),cG=(0,B.useCallback)(async(a,b,c,d)=>{let e=bu.current;if(!e||!b3(e))return;let f=c.replace(/^pi-web:\/\//i,"")||"";if("clipboard"===f){if("read"===b){if("u"<typeof navigator||!navigator.clipboard?.readText)return void await cF(e,a,{isError:!0,error:"Clipboard read is not available in this browser"});try{let b=await navigator.clipboard.readText();await cF(e,a,{content:b||"(clipboard is empty)",contentType:"text/plain"})}catch{await cF(e,a,{isError:!0,error:"Clipboard read was denied. Click into the omp-web window and try again."})}return}if("u">typeof navigator&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(d??""),await cF(e,a,{});return}catch{await cF(e,a,{isError:!0,error:"Clipboard write failed in this browser"});return}return void await cF(e,a,{isError:!0,error:"Clipboard write is not available in this browser"})}await cF(e,a,{isError:!0,error:`Unknown pi-web resource: ${f}`})},[b3,cF]),cH=(0,B.useCallback)(async(a,b)=>{let c=bu.current;if(c&&b3(c))try{await hj(c,{type:"extension_ui_input",id:a.id,data:b})}catch(a){console.error("Failed to send extension custom UI input:",a)}},[b3]),cI=(0,B.useCallback)(a=>{let b=a.message.trim();b&&a_({type:"add",notice:{id:a.id??("u">typeof crypto&&"function"==typeof crypto.randomUUID?crypto.randomUUID():`${Date.now()}-${Math.random().toString(36).slice(2)}`),message:b,type:a.type??"info"}})},[]),cJ=(0,B.useCallback)(async a=>{let b,c=setTimeout(()=>{cI({type:"info",message:(0,E.Tl)("agentSession.startingAgent")})},4e3);try{b=await cx(a)}finally{clearTimeout(c)}if("connected"===b.status||b.source.readyState===EventSource.OPEN)return;let d=b8.isCurrent(a,b.source);throw bp.current===b.source&&(bp.current=null),d?b8.invalidate(a,b.source):b.source.close(),new ih(b.status)},[cI,cx,b8]),cK=(0,B.useCallback)(b=>{switch(b.method){case"select":case"confirm":case"input":case"editor":a3(b);break;case"cancel":a3(a=>a?.id===b.targetId?null:a);break;case"open_url":{let a=b.launchUrl??b.url,c=ii(a)?a:"";if(c)try{window.open(c,"_blank","noopener,noreferrer")}catch{}cI({id:b.id,type:"info",message:c?b.instructions?`${b.instructions}
|
|
18
|
+
${c}`:(0,E.Tl)("agentSession.openInBrowser",{url:c}):(0,E.Tl)("agentSession.unsafeUrlBlocked")});break}case"notify":cI({id:b.id,message:b.message,type:b.notifyType??"info"});break;case"setStatus":a7(a=>{let c=a.filter(a=>a.key!==b.statusKey);return b.statusText?[...c,{key:b.statusKey,text:b.statusText}]:c});break;case"setWidget":a9(a=>{let c=a.filter(a=>a.key!==b.widgetKey);return b.widgetLines?[...c,{key:b.widgetKey,lines:b.widgetLines,placement:b.widgetPlacement??"aboveEditor"}]:c});break;case"setTitle":b.title&&(document.title=b.title);break;case"set_editor_text":a.chatInputRef?.current?.insertText(b.text);break;case"custom":a5(a=>b.closed?a?.id===b.id?null:a:b)}},[cI,a.chatInputRef]),cL=(0,B.useCallback)(async(a=bu.current,b)=>{if(void 0===b||b_.current===b)try{a&&await cs(a,!1,!0,b)}finally{if(void 0!==b&&b_.current!==b||(b1.current=null,!bE.current))return;bE.current=!1,M(!1),aV(null),aB(null),a&&(bZ.current?.(a),ci(a)),K({type:"end"}),e?.()}},[cs,e,ci]),cM=(0,B.useCallback)(async(a,b)=>{await ij(800);let c=Date.now(),d=bw.current;for(;R.current&&bu.current===a&&bE.current&&Date.now()-c<2e4;){if(void 0!==b&&b_.current!==b)return;try{let c=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(c.ok){let e=await c.json();if(bu.current!==a||bw.current!==d)continue;let f=e.state;if(!e.running||!f||!f.isStreaming&&!f.isPromptRunning)return void await cL(a,b)}}catch{}await ij(600)}},[cL]),cN=(0,B.useCallback)(async a=>{let b=bG.current+1;bG.current=b;let c=bw.current;for(;bF.current&&bG.current===b&&bu.current===a;){await ij(1e3);try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)continue;let e=await d.json();if(bu.current!==a||bw.current!==c||e.state?.isBashRunning)continue;if(await cs(a),bG.current!==b||bu.current!==a)return;bF.current=!1,O(!1),Q(null);return}catch{}}},[cs]),cO=(0,B.useCallback)((a,b)=>{if(!R.current||bu.current!==a||!bz.current)return;let c=b.state;if(b.running&&c&&(c.isStreaming||c.isPromptRunning)&&(bE.current=!0,M(!0),aV(c.isStreaming?{kind:"waiting_model"}:{kind:"running_command"}),K({type:"start"}),cx(a),cA(a),cC(a),bV.current&&(clearTimeout(bV.current),bV.current=null),bW.current="initial",bV.current=setTimeout(()=>{bV.current=null,bW.current=null,bu.current===a&&bz.current&&ck(a)},600),!c.isStreaming&&c.isPromptRunning&&cM(a)),c?.isBashRunning&&(bF.current=!0,O(!0),cN(a)),c?.queuedMessageCount===0){if(a)try{sessionStorage.removeItem(ib+a)}catch{}}else if("number"==typeof c?.queuedMessageCount){let b=function(a){try{let b=sessionStorage.getItem(ib+a);if(!b)return null;let c=JSON.parse(b),d=a=>Array.isArray(a)?a.filter(a=>"string"==typeof a):[],e={steering:d(c?.steering),followUp:d(c?.followUp)};return ic(e)?null:e}catch{return null}}(a);b&&bb(a=>ic(a)?b:a)}},[cx,ck,cA,cC,cN,cM]),cP=(0,B.useCallback)(async()=>{let a=bu.current;if(!a||p)return null;let b=bx.current+1;bx.current=b,bw.current=b;let c=bv.current,d={...by.current,runtime:"loading"};by.current=d,bz.current=!1,y(d),A(null);let e=await cr(a,b,c);return e&&cO(a,e),e},[p,cr,cO]),cQ=(0,B.useCallback)(async a=>{if(!bE.current||!b3(a))return;let b=b_.current,c=bw.current;try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)return;let e=await d.json();if(b_.current!==b||bu.current!==a||bw.current!==c)return;let f=e.state;if(bB.current=f?.isCompacting??!1,aP(f?.isCompacting??!1),f?.todoPhases!==void 0&&bj(f.todoPhases??[]),ck(a),(!f||0===f.queuedMessageCount)&&Date.now()-bD.current>=5e3&&bb(ia),e.running&&f&&(f.isStreaming||f.isPromptRunning||f.isCompacting)||!bE.current)return;f?(void 0!==f.contextUsage&&aF(f.contextUsage??null),void 0!==f.systemPrompt&&aH(f.systemPrompt??null),void 0!==f.extensionStatuses&&a7(f.extensionStatuses??[]),void 0!==f.extensionWidgets&&a9(f.extensionWidgets??[])):aF(null),await cL(a,b)}catch{}},[b3,cL,ck,aF]),cR=(0,B.useCallback)(a=>{a&&bb(b=>{let c=b.steering.indexOf(a);if(-1!==c)return{...b,steering:b.steering.filter((a,b)=>b!==c)};let d=b.followUp.indexOf(a);return -1!==d?{...b,followUp:b.followUp.filter((a,b)=>b!==d)}:b})},[]),cS=(0,B.useCallback)(a=>{a&&b3()&&bb(b=>{let c=b.steering.indexOf(a),d=b.followUp.indexOf(a);return -1===c&&-1===d?b:{steering:-1===c?b.steering:b.steering.filter((a,b)=>b!==c),followUp:-1===d?b.followUp:b.followUp.filter((a,b)=>b!==d)}})},[b3]),cT=(0,B.useCallback)(a=>{a&&b3()&&bb(b=>{let c=b.followUp.indexOf(a);return -1===c?b:{steering:[...b.steering,a],followUp:b.followUp.filter((a,b)=>b!==c)}})},[b3]);bH.current=(0,B.useCallback)(a=>{switch(a.type){case"agent_start":bC.current=!1,bE.current=!0,M(!0),aV({kind:"waiting_model"}),K({type:"start"});break;case"agent_end":if(!1===a.isTerminal)break;if(bC.current){bC.current=!1;break}if(!bE.current)break;let b=bu.current,c=b_.current;if(bE.current=!1,M(!1),aV(null),aB(null),b&&bZ.current?.(b),K({type:"end"}),b){cs(b,!1,!1,c),ci(b);let a=bw.current,d=cn();fetch(`/api/agent/${encodeURIComponent(b)}`).then(a=>a.ok?a.json():null).then(e=>{!e?.state?.model||bu.current!==b||b_.current!==c||bw.current!==a||co(ie(e.state.model),d)&&(e.state?.contextUsage!==void 0&&aF(e.state.contextUsage??null),e.state?.systemPrompt!==void 0&&aH(e.state.systemPrompt||null),e.state?.fastModeEnabled!==void 0&&an(e.state.fastModeEnabled),ap(e.state?.fastModeActive),e.state?.extensionStatuses!==void 0&&a7(e.state.extensionStatuses??[]),e.state?.extensionWidgets!==void 0&&a9(e.state.extensionWidgets??[]),e.state?.todoPhases!==void 0&&bj(e.state.todoPhases??[]),(!e.state||0===e.state.queuedMessageCount)&&Date.now()-bD.current>=5e3&&bb(ia))}).catch(()=>{})}e?.();break;case"prompt_result":if(!1!==a.agentInvoked||!bE.current)break;cL(bu.current,b_.current);break;case"prompt_error":cI({type:"error",message:a.errorMessage??(0,E.Tl)("agentSession.commandFailed")}),bE.current&&cL(bu.current,b_.current);break;case"notice":{let b=a.level,c=a.message?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(c)?gH.oR.info("MCP tools updated",c,{clamp:!0}):cI({type:"error"===b?"error":"warning"===b?"warning":"info",message:c});break}case"command_output":{let b=a.text?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(b)?gH.oR.info("MCP tools updated",b,{clamp:!0}):b&&cI({type:"info",message:b});break}case"thinking_level_changed":al(id(a.thinkingLevel));break;case"model_changed":{let a=bu.current;if(!a)break;let b=bw.current,c=cn();fetch(`/api/agent/${encodeURIComponent(a)}`).then(a=>a.ok?a.json():null).then(d=>{!d?.state?.model||bu.current!==a||bw.current!==b||co(ie(d.state.model),c)&&(void 0!==d.state.thinkingLevel&&al(id(d.state.thinkingLevel)),void 0!==d.state.fastModeEnabled&&an(d.state.fastModeEnabled),ap(d.state.fastModeActive),void 0!==d.state.autoRetryEnabled&&av(d.state.autoRetryEnabled),void 0!==d.state.interruptMode&&ar(d.state.interruptMode),void 0!==d.state.autoCompactionEnabled&&at(d.state.autoCompactionEnabled),void 0!==d.state.steeringMode&&ax(d.state.steeringMode),void 0!==d.state.followUpMode&&az(d.state.followUpMode))}).catch(()=>{});break}case"config_update":{let b=a.model;b&&co(ie(b)),void 0!==a.thinkingLevel&&al(id(a.thinkingLevel));break}case"available_commands_update":aX((a.commands??[]).map(is).filter(a=>null!==a));break;case"message_start":case"message_update":{if(!bE.current)break;let b=a.message;if(b?.role==="user")break;b&&K({type:"update",message:hZ(b)}),aV(null);break}case"message_end":{if(!bE.current)break;let b=a.message;if(b&&"user"===b.role){let a=hZ(b),c=ip(a),d=b1.current;b1.current=null,cR(im(a)),G(b=>{let e=b[b.length-1];return d&&e?.role==="user"&&ip(e)===d?d===c?b:[...b.slice(0,-1),a]:[...b,a]})}else b?.role==="custom"&&"xdev-mount-notice"===b.customType?gH.oR.info("MCP tools updated",im(b).trim()||"The MCP tool inventory changed.",{clamp:!0}):b&&G(a=>[...a,hZ(b)]);K({type:"reset"}),aV({kind:"waiting_model"});break}case"tool_execution_start":{let b=a.toolCallId,c=a.toolName;aV(a=>{let d=a?.kind==="running_tools"?[...a.tools]:[];return d.some(a=>a.id===b)||d.push({id:b,name:c}),{kind:"running_tools",tools:d}});break}case"tool_execution_end":{let b=a.toolCallId;"todo"===a.toolName&&bu.current&&cQ(bu.current),aV(a=>{if(a?.kind!=="running_tools")return a;let c=a.tools.filter(a=>a.id!==b);return 0===c.length?{kind:"waiting_model"}:{kind:"running_tools",tools:c}});break}case"todo_reminder":case"todo_auto_clear":bu.current&&cQ(bu.current);break;case"auto_retry_start":aB({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:a.errorMessage});break;case"auto_retry_end":aB(null);break;case"auto_compaction_start":aP(!0),aR(null),aT(null);break;case"auto_compaction_end":aP(!1),a.errorMessage?(aR(a.errorMessage),aT(null)):a.aborted||a.skipped||(aT(iq(a.result,"auto")),bu.current&&cs(bu.current));break;case"subagent_lifecycle":{let b=bu.current,c=b0.current;if(!R.current||!b)break;let d=function(a){if(!fZ(a))return;let b=f$(a.id),c=f$(a.status);if(!b||!c||"started"!==c&&"completed"!==c&&"failed"!==c&&"aborted"!==c)return;let d={id:b,agent:f$(a.agent)??"subagent",status:c,index:f_(a.index)??-1,lastUpdate:Date.now(),source:"live"},e=h4(a.agentSource);void 0!==e&&(d.agentSource=e);let f=f$(a.description);void 0!==f&&(d.description=f);let g=f$(a.sessionFile);void 0!==g&&(d.sessionFile=g);let h=f$(a.parentToolCallId);return void 0!==h&&(d.parentToolCallId=h),"boolean"==typeof a.detached&&(d.detached=a.detached),d}(a.payload);if(!d)break;ch([d],{sessionId:b,rosterGeneration:c});break}case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"",d=fZ(a.arguments)?a.arguments:{};b&&c&&cE(b,c,d);break}case"host_uri_request":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.url?a.url:"",d="write"===a.operation?"write":"read",e="string"==typeof a.content?a.content:void 0;b&&c&&cG(b,d,c,e);break}case"subagent_progress":{let b=bu.current,c=b0.current;if(!R.current||!b)break;let d=a.payload,e=h5(d?.progress),f=e?.id,g="number"==typeof d?.index&&Number.isFinite(d.index)?d.index:e?.index??-1,h="string"==typeof d?.parentToolCallId?d.parentToolCallId:null,i="string"==typeof d?.task&&d.task.trim()?d.task:e?.task??null,j="string"==typeof d?.assignment?d.assignment:e?.assignment;if(!f&&!i&&!h&&g<0)break;bd(a=>{if(!R.current||bu.current!==b||b0.current!==c)return a;let k=-1;if(f){if(-1===(k=a.findIndex(a=>a.id===f))&&e){let b=function(a,b,c=Date.now()){let d=b.id;if(!d)return;let e=a?.index,f=b.index,g="number"==typeof e&&Number.isFinite(e)&&e>=0?e:"number"==typeof f&&Number.isFinite(f)&&f>=0?f:0,h=hK(b.status,"started"),i={id:d,agent:a?.agent||b.agent||"task",index:g,status:h,progress:b,lastUpdate:c,source:"live"},j=a?.agentSource??b.agentSource;void 0!==j&&(i.agentSource=j);let k=a?.task?.trim()?a.task:b.task;void 0!==k&&(i.task=k);let l=a?.assignment??b.assignment;void 0!==l&&(i.assignment=l);let m=a?.description??b.description;return void 0!==m&&(i.description=m),a?.parentToolCallId!==void 0&&(i.parentToolCallId=a.parentToolCallId),a?.sessionFile!==void 0&&(i.sessionFile=a.sessionFile),a?.detached!==void 0&&(i.detached=a.detached),i}({index:"number"==typeof d?.index&&Number.isFinite(d.index)?d.index:void 0,agent:"string"==typeof d?.agent?d.agent:void 0,agentSource:"string"==typeof d?.agentSource&&("bundled"===d.agentSource||"user"===d.agentSource||"project"===d.agentSource)?d.agentSource:void 0,task:"string"==typeof d?.task?d.task:void 0,assignment:j,description:"string"==typeof d?.description?d.description:void 0,parentToolCallId:h??void 0,sessionFile:"string"==typeof d?.sessionFile?d.sessionFile:void 0,detached:"boolean"==typeof d?.detached?d.detached:void 0},e);return b?hP(a,[b]):a}}else h&&g>=0&&(k=a.findIndex(a=>a.parentToolCallId===h&&a.index===g)),-1===k&&h&&(k=a.findIndex(a=>a.parentToolCallId===h)),-1===k&&g>=0&&(k=a.findIndex(a=>a.index===g));if(-1===k)return a;let l=a[k],m=hK(e?.status,l.status);if("started"!==l.status&&"started"===m)return a;let n={...l,status:m,agent:"string"==typeof d?.agent?d.agent:l.agent,agentSource:"string"==typeof d?.agentSource&&("bundled"===d.agentSource||"user"===d.agentSource||"project"===d.agentSource)?d.agentSource:l.agentSource,..."string"==typeof d?.sessionFile?{sessionFile:d.sessionFile}:{},..."boolean"==typeof d?.detached?{detached:d.detached}:{},...i?{task:i}:{},...void 0!==j?{assignment:j}:{},...e?{progress:e}:{},lastUpdate:Date.now(),source:"history"===l.source&&"started"!==l.status?"history":"live"};if(l.agent===n.agent&&l.agentSource===n.agentSource&&l.sessionFile===n.sessionFile&&l.detached===n.detached&&l.task===n.task&&l.assignment===n.assignment&&JSON.stringify(l.progress)===JSON.stringify(n.progress))return a;let o=[...a];return o[k]=n,o});break}case"subagent_event":{let b=bu.current,c=b0.current;if(!R.current||!b)break;let d=a.payload,e="string"==typeof d?.id?d.id:null;if(e){(bS.current??(bS.current=new Set)).add(e);let a=function(a){if(!fZ(a))return null;let b=fZ(a.event)?a.event:null;if(!b)return null;let c=f$(b.type),d=Date.now();if("tool_execution_start"===c){let a=f$(b.toolName)??"tool",c=f$(b.intent)?.trim();if(c)return{kind:"tool",label:`→ ${a} — ${c}`,ts:d};let e=fZ(b.args)?Object.keys(b.args).slice(0,3).join(", "):void 0;return{kind:"tool",label:e?`→ ${a} (${e})`:`→ ${a}`,ts:d}}if("message_end"===c){let a=fZ(b.message)?b.message:null;if(a&&"assistant"===a.role){let b=a.content,c=("string"==typeof b?b:Array.isArray(b)?b.filter(a=>fZ(a)&&"text"===a.type).map(a=>"string"==typeof a.text?a.text:"").join("\n"):"").trim();if(c)return{kind:"text",label:c.slice(0,140),ts:d}}}if("notice"===c){let a=f$(b.message);if(a)return{kind:"notice",label:a.slice(0,140),ts:d}}return null}(d);if(a){let b=bT.current??(bT.current=new Map),c=b.get(e);c?(c.length>=50&&c.shift(),c.push(a),b.delete(e),b.set(e,c)):b.set(e,[a])}null===bU.current&&(bU.current=requestAnimationFrame(()=>{if(bU.current=null,!R.current||bu.current!==b||b0.current!==c){bS.current=null,bT.current=null;return}let a=bS.current;bS.current=null;let d=bT.current;bT.current=null;let e=null!==a&&a.size>0,f=null!==d&&d.size>0;(e||f)&&(a&&a.size>0&&bh(b=>{let c=b;for(let b of a)c={...c,[b]:(c[b]??0)+1};return h8(c)}),d&&d.size>0&&bf(a=>{let b=a;for(let[c,e]of d){let d=a[c]??[],f=0===d.length?e.length<=50?e:e.slice(-50):[...d,...e].slice(-50);b===a&&(b={...a}),delete b[c],b[c]=f}return h8(b)}))}))}break}case"extension_ui_request":cK(a)}},[cI,cR,cL,cK,cE,cG,cs,ch,e,cQ,co,cn,ci,aF]);let cU=(0,B.useCallback)(async(d,e)=>{let f=d.trim();if(!f&&!e?.length||!b3()||bE.current||bF.current)return!1;let g=!e?.length&&f.startsWith("/");if(!e?.length&&f.startsWith("!")){let a=f.startsWith("!!"),b=(a?f.slice(2):f.slice(1)).trim();return!!b&&(await bL.current?.(b,a),!0)}let h=b_.current+1,{userMsg:i,piImages:j}=ir(d,e);G(a=>[...a,i]),b1.current=ip(i),b_.current=h,bE.current=!0,M(!0),aV(g?{kind:"running_command"}:{kind:"waiting_model"}),K({type:"start"}),bJ.current=!0,bK.current=!0,bM.current=0;try{let a=null;if(p&&c){let b=bu.current??await bQ.current,c=b??await cv();c&&(a=c,cu(1,d),ae&&(aN(ae),b&&await hj(c,{type:"set_model",provider:ae.provider,modelId:ae.modelId})),await cJ(c),ck(c),await hj(c,{type:"prompt",message:d,...j?.length?{images:j}:{}}))}else b&&(a=b.id,await cJ(b.id),ck(b.id),cA(b.id),cC(b.id),await hj(b.id,{type:"prompt",message:d,...j?.length?{images:j}:{}}));return g&&a&&cM(a,h),!0}catch(c){console.error("Failed to send message:",c);let b=b1.current;return b&&G(a=>{let c=a[a.length-1];return c?.role==="user"&&ip(c)===b?a.slice(0,-1):a}),cI({type:"error",message:c instanceof ih?c.message:(0,E.Tl)("agentSession.sendFailed",{detail:c instanceof Error?c.message:String(c)})}),d&&a.chatInputRef?.current?.insertIfEmpty(d),b1.current=null,bE.current=!1,M(!1),aV(null),K({type:"end"}),!1}},[b3,p,c,ae,b,cv,cJ,cu,cM,cI,a.chatInputRef,ck,cA,cC]),cV=(0,B.useCallback)(async(a,b)=>{let c=a.trim();if(!c&&!b?.length)return!1;let d=bu.current;if(!d||!b3(d)||!bE.current)return!1;let{userMsg:e,piImages:f}=ir(a,b);G(a=>[...a,e]),b1.current=ip(e),bC.current=!0,bJ.current=!0,bK.current=!0,bM.current=0;try{return await cJ(d),ck(d),await hj(d,{type:"abort_and_prompt",message:c,...f?.length?{images:f}:{}}),!0}catch(b){console.error("Failed to interrupt and reply:",b),bC.current=!1;let a=b1.current;return a&&G(b=>{let c=b[b.length-1];return c?.role==="user"&&ip(c)===a?b.slice(0,-1):b}),b1.current=null,cI({type:"error",message:b instanceof Error?b.message:String(b)}),!1}},[cI,b3,cJ,ck]);bL.current=(0,B.useCallback)(async(c,d)=>{if(!b3()||bE.current||bF.current)return;let e=`${d?"!!":"!"}${c}`;bF.current=!0,Q({command:c,excludeFromContext:d}),O(!0);try{let a=bu.current??b?.id??await cv();if(!a)throw Error((0,E.Tl)("agentSession.shellSessionFailed"));await hj(a,{type:"bash",command:c,excludeFromContext:d}),await cs(a),cu(1,e)}catch(b){console.error("Failed to execute shell command:",b),cI({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{bF.current=!1,Q(null),O(!1)}},[cI,b3,cv,cs,a.chatInputRef,cu,b]);let cW=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)){if(bF.current){try{await hj(a,{type:"abort_bash"})}catch(a){console.error("Failed to abort bash:",a)}return}try{await hj(a,{type:"abort"})}catch(a){console.error("Failed to abort:",a)}}},[b3]),cX=(0,B.useCallback)(async a=>{if(bF.current)return;let b=bu.current;if(b&&b3(b)){aJ(a);try{let{cancelled:c,newSessionId:d}=await hj(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aJ(null)}}},[b3,g]),cY=(0,B.useCallback)(async a=>{if(bF.current||bE.current)return;let b=bu.current;b&&b3(b)&&(D(a),await ct(b,a))},[b3,ct]);(0,B.useCallback)(async a=>{if(bF.current||bE.current)return;let b=bu.current;b&&b3(b)&&(D(a),await ct(b,a))},[b3,ct]);let cZ=(0,B.useCallback)(async(a,b)=>{if(p){af({provider:a,modelId:b}),aN({provider:a,modelId:b});let c=bu.current??await bQ.current;if(!c)return;try{await hj(c,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bu.current;if(c&&b3(c))try{await hj(c,{type:"set_model",provider:a,modelId:b}),aL({provider:a,modelId:b}),cp(c)}catch(a){console.error("Failed to set model:",a)}},[b3,p,af,cp]),c$=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current??await cv();if(b)try{let c=await hj(b,{type:"set_fast_mode",enabled:a});an(c?.enabled??a),ap(c?.active),cp(b)}catch(a){console.error("Failed to change Fast mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cv,p,cp]),c_=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){av(a);try{await hj(b,{type:"set_auto_retry",enabled:a})}catch(b){av(b=>b===a?!a:b),cI({type:"error",message:b instanceof Error?b.message:String(b)})}}},[cI,b3,p]),c0=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){ar(a);try{await hj(b,{type:"set_interrupt_mode",mode:a})}catch(a){console.error("Failed to change interrupt mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c1=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){at(a);try{await hj(b,{type:"set_auto_compaction",enabled:a})}catch(a){console.error("Failed to change auto-compaction:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c2=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){ax(a);try{await hj(b,{type:"set_steering_mode",mode:a})}catch(a){console.error("Failed to change steering mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c3=(0,B.useCallback)(async a=>{if(!p&&!b3())return;let b=bu.current??await bQ.current;if(b){az(a);try{await hj(b,{type:"set_follow_up_mode",mode:a})}catch(a){console.error("Failed to change follow-up mode:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3,p]),c4=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a))try{await hj(a,{type:"cycle_model"}),cp(a)}catch(a){console.error("Failed to cycle model:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cp]),c5=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a))try{await hj(a,{type:"cycle_thinking_level"}),cp(a)}catch(a){console.error("Failed to cycle thinking level:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cp]),c6=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)){aB(null);try{await hj(a,{type:"abort_retry"})}catch(a){console.error("Failed to abort retry:",a),cI({type:"error",message:a instanceof Error?a.message:String(a)})}}},[cI,b3]),c7=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)&&!bB.current&&!bE.current&&!bF.current)try{await hj(a,{type:"handoff"}),await cs(a,!0),cp(a)}catch(a){cI({type:"error",message:a instanceof Error?a.message:String(a)})}},[cI,b3,cs,cp]),c8=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a)&&!bB.current&&!aO){bB.current=!0,aP(!0),aR(null),aT(null);try{let b=await hj(a,{type:"compact"});aT(iq(b,"manual")),await cs(a,!0),cp(a)}catch(a){aR(a instanceof Error?a.message:String(a)),aT(null)}finally{bB.current=!1,aP(!1)}}},[b3,aO,cs,cp]),c9=(0,B.useCallback)(async a=>{X(!0);try{let d=c??b?.cwd??"",e=d?`/api/models?cwd=${encodeURIComponent(d)}`:"/api/models",f=await fetch(e,{cache:"no-store",...a?{signal:a}:{}});if(!f.ok)throw Error(`HTTP ${f.status}`);let g=await f.json();T(g.models),Z(g.modelError??null),ab(g.thinkingLevels??{}),ad(g.thinkingLevelMaps??{});let h=g.modelList??[];if(V(h),p){let a=(g.defaultModel?h.find(a=>a.id===g.defaultModel?.modelId&&a.provider===g.defaultModel?.provider):void 0)??h[0];ah(a?{provider:a.provider,modelId:a.id}:null)}}catch(b){a?.aborted||Z(b instanceof Error?b.message:String(b))}finally{X(!1)}},[p,c,b?.cwd]),da=(0,B.useCallback)(async a=>{if(!a.startsWith("/"))return{handled:!1};let b=a.match(/^\/([^\s]+)(?:\s+([\s\S]*))?$/);if(!b)return{handled:!1};let[,c,d=""]=b,e=d.trim(),f=bu.current??await cv(),g=a=>(a.handled&&(a.error?cI({type:"error",message:a.error}):"openSessionStats"!==a.action&&cI({type:"success",message:a.message??(0,E.Tl)("agentSession.commandCompleted")})),a);if(!f||!b3(f))return g({handled:!0,error:z??"Session runtime is not ready."});try{switch(c){case"compact":{if(!f||bB.current||aO)return g({handled:!0,error:(0,E.Tl)("agentSession.noSessionToCompact")});bB.current=!0,aP(!0),aR(null),aT(null);let a=await hj(f,{type:"compact",...e?{customInstructions:e}:{}});return aT(iq(a,"manual")),await cs(f,!0),bB.current=!1,aP(!1),cu(),g({handled:!0,message:(0,E.Tl)("agentSession.compactedContext")})}case"reload":if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noSessionToReload")});return await hj(f,{type:"reload"}),await Promise.all([cs(f,!1,!0),cw(),c9()]),g({handled:!0,message:(0,E.Tl)("agentSession.reloadedResources")});case"name":if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noSessionToName")});if(!e)return g({handled:!0,error:(0,E.Tl)("agentSession.nameUsage")});return await hj(f,{type:"set_session_name",name:e}),await cs(f),cu(),g({handled:!0,message:(0,E.Tl)("agentSession.sessionRenamed",{name:e})});case"session":{if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noActiveSession")});let a=await hj(f,{type:"get_session_stats"});return a&&a1(a),l?.(),g({handled:!0,action:"openSessionStats"})}case"agents":return m?.("agents"),g({handled:!0,action:"openSettings"});case"copy":{if(!f)return g({handled:!0,error:(0,E.Tl)("agentSession.noActiveSession")});let a=await hj(f,{type:"get_last_assistant_text"}),b=a?.text??"";if(!b)return g({handled:!0,error:(0,E.Tl)("agentSession.noMessageToCopy")});return await navigator.clipboard.writeText(b),g({handled:!0,message:(0,E.Tl)("agentSession.copiedLastMessage")})}default:{let b=gP(a);if("not-web"===b.kind)return{handled:!1};if("usage-error"===b.kind)return g({handled:!0,error:(0,E.Tl)("agentSession.commandRequiresArgs",{command:b.command,usage:(0,E.Tl)(b.argumentHintKey)})});if("plan"===c&&bn({objective:e}),!await cU(b.prompt))return"plan"===c&&bn(null),{handled:!0,retainInput:!0};if("goal"===c){let a=function(a,b=Date.now()){return{objective:a.trim(),startedAt:b}}(e);bl(a);let b=bu.current;b&&sessionStorage.setItem(`ompgui:goal:${b}`,JSON.stringify(a))}return{handled:!0}}}}catch(a){return g({handled:!0,error:a instanceof Error?a.message:String(a)})}finally{"compact"===c&&(bB.current=!1,aP(!1))}},[cI,b3,cv,cU,aO,c9,cs,cw,cu,m,l,z]),db=a=>a?.map(a=>({type:"image",data:a.data,mimeType:a.mimeType})),dc=(0,B.useCallback)(async(b,c)=>{let d=bu.current;if(!d||!b3(d))return;let e=db(c);try{await hj(d,{type:"prompt",message:b,streamingBehavior:"steer",...e?.length?{images:e}:{}}),bD.current=Date.now(),bb(a=>({...a,steering:[...a.steering,b]}))}catch(c){console.error("Failed to steer:",c),cI({type:"error",message:c instanceof Error?c.message:String(c)}),a.chatInputRef?.current?.insertIfEmpty(b)}},[cI,b3,a.chatInputRef]),dd=(0,B.useCallback)(async(b,c,d)=>{let e=bu.current;if(!e||!b3(e))return;let f=db(d);try{await hj(e,{type:"prompt",message:b,streamingBehavior:c,...f?.length?{images:f}:{}}),bD.current=Date.now(),bb(a=>"steer"===c?{...a,steering:[...a.steering,b]}:{...a,followUp:[...a.followUp,b]})}catch(c){console.error("Failed to queue prompt:",c),cI({type:"error",message:c instanceof Error?c.message:String(c)}),a.chatInputRef?.current?.insertIfEmpty(b)}},[cI,b3,a.chatInputRef]),de=(0,B.useCallback)(async(b,c)=>{let d=bu.current;if(!d||!b3(d))return;let e=db(c);try{await hj(d,{type:"prompt",message:b,streamingBehavior:"followUp",...e?.length?{images:e}:{}}),bD.current=Date.now(),bb(a=>({...a,followUp:[...a.followUp,b]}))}catch(c){console.error("Failed to follow up:",c),cI({type:"error",message:c instanceof Error?c.message:String(c)}),a.chatInputRef?.current?.insertIfEmpty(b)}},[cI,b3,a.chatInputRef]),df=(0,B.useCallback)(async()=>{let a=bu.current;if(a&&b3(a))try{await hj(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[b3]),dg=(0,B.useCallback)(async a=>{if(!b3()||(al(a),"auto"===a))return;let b=bu.current??await bQ.current;if(b)try{await hj(b,{type:"set_thinking_level",level:a}),cp(b)}catch(a){console.error("Failed to set thinking level:",a)}},[b3,cp]),dh=(0,B.useCallback)(async a=>{!b3()||(b9(a),function(a,b=null){if(b)try{b.setItem(h2,a)}catch{}}(a),(bu.current??await bQ.current)&&cI({type:"info",message:(0,E.Tl)("agentSession.toolPresetNotice")}))},[b9,cI,b3]);return(0,B.useCallback)((a="smooth")=>{let b=bP.current,c=bO.current;b&&c&&(bN.current=Date.now()+700,c.scrollIntoView({block:"nearest",behavior:o?"instant":a}))},[o]),(0,B.useCallback)(a=>{a instanceof KeyboardEvent&&(!ig.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))||(bM.current=Date.now()+1200)},[]),(0,B.useCallback)(()=>{let a=Date.now()<=bM.current;if(!a&&Date.now()<bN.current||!a)return;let b=bP.current,c=bO.current;b&&c&&(bK.current=c.getBoundingClientRect().bottom-b.getBoundingClientRect().bottom<=24)},[]),(0,B.useCallback)(()=>{bG.current+=1,b2.current?.reset();let a=bp.current;b8.invalidate(),a&&a.readyState!==EventSource.CLOSED&&a.close(),bp.current=null,bt.current&&(clearTimeout(bt.current),bt.current=null),bV.current&&(clearTimeout(bV.current),bV.current=null),bW.current=null,bX.current=null,bY.current+=1,null!==bU.current&&(cancelAnimationFrame(bU.current),bU.current=null),bS.current=null,bT.current=null},[b8]),(0,B.useRef)(cs).current=cs,(0,B.useRef)(cO).current=cO,(0,B.useRef)(null),(0,B.useRef)(null),{data:r,loading:t,error:v,sessionReadiness:x,runtimeError:z,runtimeReady:ca,activeLeafId:C,messages:F,entryIds:H,streamState:J,agentRunning:L,modelNames:S,modelList:U,modelsLoading:W,modelError:Y,modelThinkingLevels:aa,modelThinkingLevelMaps:ac,newSessionModel:ae,toolPreset:ai,thinkingLevel:ak,fastModeEnabled:am,fastModeActive:ao,autoRetryEnabled:au,interruptMode:aq,autoCompactionEnabled:as,steeringMode:aw,followUpMode:ay,liveModelMeta:$,retryInfo:aA,contextUsage:ce,systemPrompt:aG,forkingEntryId:aI,isCompacting:aO,compactError:aQ,compactResult:aS,currentModel:cb,displayModel:cc,sessionStats:cf,slashCommands:aW,slashCommandsLoading:aY,queuedMessages:ba,notices:a$.visible,extensionDialog:a2,extensionCustomUi:a4,extensionStatuses:a6,extensionWidgets:a8,respondToExtensionUi:cy,sendExtensionCustomInput:cH,isAutoModelSelection:p&&null===ae,agentPhase:aU,subagents:bc,subagentEvents:be,subagentTranscriptVersions:bg,activeSubagentCount:bo,currentTodoPhase:cg,todoPhases:bi,activeGoal:bk,activePlan:bm,isNew:p,sessionIdRef:bu,messagesEndRef:bO,scrollContainerRef:bP,pendingScrollToUserRef:bJ,initialScrollDoneRef:bI,handleSend:cU,handleAbort:cW,handleFork:cX,handleNavigate:cY,handleModelChange:cZ,handleFastModeChange:c$,handleAutoRetryChange:c_,handleInterruptModeChange:c0,handleAutoCompactionChange:c1,handleSteeringModeChange:c2,handleFollowUpModeChange:c3,handleCycleModel:c4,handleCycleThinkingLevel:c5,handleAbortRetry:c6,handleInterruptAndReply:cV,handleCompact:c8,handleHandoff:c7,handleSteer:dc,handleFollowUp:de,handlePromptWithStreamingBehavior:dd,handleAbortCompaction:df,retryRuntimeState:cP,removeQueuedMessage:cS,promoteQueuedToSteer:cT,handleBuiltinSlashCommand:da,handleToolPresetChange:dh,handleThinkingLevelChange:dg,loadSlashCommands:cw,setActiveLeafId:D,setData:s,setMessages:G,dispatch:K,setAgentRunning:M,setForkingEntryId:aJ,bashRunning:N,pendingBash:P,handleAgentEventRef:bH}}({session:a,newSessionCwd:b,advisorEnabled:c,onAgentEnd:z,onSessionCreated:f,onSessionForked:g,modelsRefreshKey:h,chatInputRef:j,onBranchDataChange:k,onSystemPromptChange:l,onSystemPromptLoaderChange:m,onSessionStatsPanelOpen:o,onOpenSettingsTab:p,onOpenFile:r}),aV=N||O,[aW,aX]=(0,B.useState)(50);(0,B.useRef)(null),a?.id??(b&&`new:${b}`);let[aY,aZ]=(0,B.useState)(null),[a$,a_]=(0,B.useState)(!0),a0=(0,B.useRef)(null),a1=(0,B.useRef)(null),a2=(0,B.useRef)("auto"),a3=(0,B.useCallback)(()=>{let a=aC.current;a&&(a1.current=a.scrollHeight-a.scrollTop),a2.current="click",aX(a=>(function(a,b=50){return a+b})(a))},[aC]);ae&&[ae.sessionId,ae.sessionFile??"",ae.sessionName??"",ae.userMessages,ae.assistantMessages,ae.toolCalls,ae.toolResults,ae.totalMessages,ae.tokens.input,ae.tokens.output,ae.tokens.cacheRead,ae.tokens.cacheWrite,ae.tokens.total,ae.cost??0].join("|"),(0,B.useRef)(ae).current=ae,_&&(_.percent,_.contextWindow,_.tokens),(0,B.useRef)(_).current=_;let{isDragOver:a4,handleDragEnter:a5,handleDragOver:a6,handleDragLeave:a7,handleDrop:a8}=function(a){let[b,c]=(0,B.useState)(!1),d=(0,B.useRef)(0),e=(0,B.useCallback)(a=>{Array.from(a.dataTransfer.items).some(it)&&(a.preventDefault(),d.current+=1,c(!0))},[]),f=(0,B.useCallback)(a=>{Array.from(a.dataTransfer.items).some(it)&&a.preventDefault()},[]);return{isDragOver:b,handleDragEnter:e,handleDragOver:f,handleDragLeave:(0,B.useCallback)(()=>{d.current-=1,d.current<=0&&(d.current=0,c(!1))},[]),handleDrop:(0,B.useCallback)(b=>{b.preventDefault(),d.current=0,c(!1),a(Array.from(b.dataTransfer.files))},[a])}}((0,B.useCallback)(a=>{!aV&&L&&j?.current?.addFiles(a)},[L,aV,j])),a9=(0,B.useMemo)(()=>{let a=new Set,b=[];for(let c=G.length-1;c>=0;c-=1){let d=function(a){if("user"!==a.role)return null;if("string"==typeof a.content){let b=a.content.trim();return b.length>0?b:null}let b=a.content.filter(a=>"text"===a.type).map(a=>a.text).join("\n").trim();return b.length>0?b:null}(G[c]);if(!(!d||a.has(d))&&(a.add(d),b.push(d),b.length>=50))break}return b.reverse()},[G]),ba=(0,B.useMemo)(()=>{let a=new Map,b=-1,c=new Map,d=0;return G.forEach((e,f)=>{"toolResult"===e.role&&a.set(e.toolCallId,e),iG(e)&&(b=f),("user"===e.role||"assistant"===e.role)&&c.set(f,d++)}),{toolResultsMap:a,lastAnchorIdx:b,visibleRefIndexByMessage:c}},[G]),bb=function(a){let b=(0,B.useRef)([]),c=(0,B.useRef)(0);if(c.current!==a){c.current=a;let d=Array(a);for(let c=0;c<a;c+=1)d[c]=b.current[c]??null;b.current=d}return b}(ba.visibleRefIndexByMessage.size),bc=(0,B.useMemo)(()=>{let a=new Set;for(let b of G)if(b?.role==="assistant")for(let c of b.content??[])"toolCall"===c.type&&a.add(c.toolCallId);return a},[G]),bd=(0,B.useMemo)(()=>{if(aq?.kind!=="running_tools")return[];let a=new Set(bc),b=I.streamingMessage;if(b?.role==="assistant")for(let c of b.content??[])"toolCall"===c.type&&a.add(c.toolCallId);return aq.tools.filter(b=>!a.has(b.id))},[aq,bc,I.streamingMessage]),be=az&&0===G.length&&!I.isStreaming&&!aV,bf=a?.cwd??b??void 0,bg=ad?function(a,b,c){if(a&&a.length>0)return a;if(b&&c&&c.provider===b.provider&&c.modelId===b.modelId)return c.reasoning?["off",...c.thinking?.efforts??[]]:["off"];return null}(U[`${ad.provider}:${ad.modelId}`],ad,Z):null,bh=ad?V[`${ad.provider}:${ad.modelId}`]??null:null,bi=(0,A.jsx)(hf,{ref:j,onSend:aD,onAbort:aE,runtimeReady:L,onSteer:L&&N?aI:void 0,onFollowUp:L&&N?aJ:void 0,onPromptWithStreamingBehavior:L&&N?aK:void 0,isStreaming:aV,model:ad,isAutoModelSelection:ap,modelNames:Q,modelList:R,modelsLoading:S,modelError:T,onModelChange:L?aH:void 0,onAbortCompaction:L?aL:void 0,isCompacting:ab,compactResult:ac,thinkingLevel:W,onThinkingLevelChange:L&&(a||az)?aP:void 0,fastModeEnabled:X,fastModeActive:Y,fastModeSupported:!!(ad&&R.some(a=>a.provider===ad.provider&&a.id===ad.modelId&&a.supportsFastMode)),onFastModeChange:L&&(a||az)?aQ:void 0,onAbortRetry:L&&a?aT:void 0,availableThinkingLevels:bg,thinkingLevelMap:bh,modelNameOverride:Z?.name??null,retryInfo:$,activeGoal:ar,activePlan:as,advisorEnabled:c,queuedMessages:ah,inputHistory:a9,contextUsage:_,sessionCost:ae?.cost??null,onRemoveQueuedMessage:aM,onPromoteQueuedToSteer:aN,slashCommands:af,slashCommandsLoading:ag,onLoadSlashCommands:L?aU:void 0,onBuiltinCommand:L?aO:void 0,onAudioUnlock:w,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),bj=am.filter(a=>"belowEditor"!==a.placement),bk=am.filter(a=>"belowEditor"===a.placement);if(D)return(0,A.jsx)("div",{role:"status",className:"flex h-full items-center justify-center",style:{color:"var(--text-muted)"},children:t("chatWindow.loadingSession")});if(F)return(0,A.jsx)("div",{role:"alert",className:"flex h-full items-center justify-center",style:{color:"var(--accent-strong)",padding:"0 var(--space-6)",textAlign:"center",fontSize:"var(--text-base)"},children:F});let bl=az||"ready"===J.runtime?null:(0,A.jsxs)("div",{role:"error"===J.runtime?"alert":"status","aria-live":"polite",style:{display:"flex",alignItems:"center",gap:10,margin:"0 auto var(--space-3)",maxWidth:960,padding:"8px 10px",border:"1px solid color-mix(in srgb, var(--status-warning) 35%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-warning) 8%, var(--bg-panel))",color:"var(--text-muted)",fontSize:"var(--text-sm)"},children:[(0,A.jsx)("span",{style:{minWidth:0,flex:1,overflowWrap:"anywhere"},children:"error"===J.runtime?K?t("chatWindow.runtimeUnavailableDetail",{error:K}):t("chatWindow.runtimeUnavailable"):t("chatWindow.runtimePreparing")}),"error"===J.runtime&&(0,A.jsx)("button",{type:"button",onClick:()=>void M(),style:{flexShrink:0,padding:"4px 9px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg)",color:"var(--text)",cursor:"pointer",fontSize:"var(--text-sm)"},children:t("chatWindow.runtimeRetry")})]});return(0,A.jsxs)("div",{className:"relative flex h-full flex-col overflow-hidden",onDragEnter:a5,onDragOver:a6,onDragLeave:a7,onDrop:a8,children:[a4&&L&&!aV&&(0,A.jsxs)("div",{className:"drop-zone-overlay pointer-events-none absolute inset-0 flex items-center justify-center backdrop-blur-[1px]",style:{zIndex:"var(--z-dropdown)"},children:[(0,A.jsx)("div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:[0,.8,1.6].map(a=>(0,A.jsx)("div",{className:"drop-ripple-ring absolute h-[720px] w-[720px] rounded-full border-[1.5px] border-solid",style:{transformOrigin:"center",animationDelay:`${a}s`}},a))}),(0,A.jsxs)("svg",{width:"280",height:"280",viewBox:"0 0 140 140",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"drop-zone-illustration",children:[(0,A.jsx)("rect",{x:"28",y:"44",width:"84",height:"60",rx:"8",fill:"color-mix(in srgb, var(--accent) 8%, transparent)",stroke:"color-mix(in srgb, var(--accent) 50%, transparent)",strokeWidth:"1.8"}),(0,A.jsx)("path",{d:"M36 100 L54 72 L68 88 L80 74 L104 100Z",fill:"color-mix(in srgb, var(--accent) 16%, transparent)",stroke:"color-mix(in srgb, var(--accent) 40%, transparent)",strokeWidth:"1.4",strokeLinejoin:"round"}),(0,A.jsx)("circle",{cx:"96",cy:"58",r:"8",fill:"color-mix(in srgb, var(--accent) 22%, transparent)",stroke:"color-mix(in srgb, var(--accent) 55%, transparent)",strokeWidth:"1.6"}),(0,A.jsxs)("g",{stroke:"color-mix(in srgb, var(--accent) 45%, transparent)",strokeWidth:"1.4",strokeLinecap:"round",children:[(0,A.jsx)("line",{x1:"96",y1:"46",x2:"96",y2:"43"}),(0,A.jsx)("line",{x1:"96",y1:"70",x2:"96",y2:"73"}),(0,A.jsx)("line",{x1:"84",y1:"58",x2:"81",y2:"58"}),(0,A.jsx)("line",{x1:"108",y1:"58",x2:"111",y2:"58"}),(0,A.jsx)("line",{x1:"87.5",y1:"49.5",x2:"85.4",y2:"47.4"}),(0,A.jsx)("line",{x1:"104.5",y1:"66.5",x2:"106.6",y2:"68.6"}),(0,A.jsx)("line",{x1:"104.5",y1:"49.5",x2:"106.6",y2:"47.4"}),(0,A.jsx)("line",{x1:"87.5",y1:"66.5",x2:"85.4",y2:"68.6"})]})]})]}),aj&&(0,A.jsx)(hh,{request:aj,onRespond:an,runtimeReady:L}),(0,A.jsx)(hq,{subagent:aY,sessionId:a?.id??aA.current??null,transcriptVersion:aY?av[aY.id]??0:0,events:aY?au[aY.id]??[]:void 0,onClose:()=>aZ(null)}),ak&&(0,A.jsx)(iP,{request:ak,onInput:ao,runtimeReady:L}),be?(0,A.jsx)("div",{className:"relative flex flex-1 flex-col overflow-hidden",children:(0,A.jsx)("div",{className:"flex flex-1 flex-col items-center justify-center overflow-y-auto py-8",style:{minHeight:0},children:(0,A.jsxs)("div",{className:"w-full",children:[(0,A.jsx)("div",{style:{paddingLeft:16,paddingRight:16},children:(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsxs)("div",{className:"mb-3 empty-chat-brand",style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",fontFamily:"var(--font-mono)"},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:10,minWidth:0,flex:1,lineHeight:1.4,overflow:"hidden"},children:[(0,A.jsx)("span",{style:{fontSize:18,fontWeight:600,letterSpacing:"0.04em",color:"var(--accent)",flexShrink:0,whiteSpace:"nowrap"},children:"⌥"}),(0,A.jsx)("span",{style:{fontSize:18,color:"var(--text)",fontWeight:600,letterSpacing:"0.02em",flexShrink:0,whiteSpace:"nowrap"},children:"ompgui"})]}),(0,A.jsxs)("div",{style:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:"var(--space-1)",flexShrink:0},children:[(0,A.jsxs)("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:["gui ",(0,A.jsxs)("span",{style:{color:"var(--text)"},children:["v","0.5.10"]})]}),(0,A.jsx)(iI,{refreshKey:i})]})]}),(0,A.jsx)(iO,{notices:ai,align:"right"})]})}),bi]})})}):(0,A.jsxs)(A.Fragment,{children:[bl,(0,A.jsxs)("div",{className:"relative flex flex-1 overflow-hidden",children:[(0,A.jsx)("div",{style:{position:"absolute",top:12,left:0,right:20*!x,zIndex:40,padding:"0 16px",pointerEvents:"none"},children:(0,A.jsx)("div",{style:{maxWidth:960,margin:"0 auto"},children:(0,A.jsx)(iO,{notices:ai,floating:!0,align:"right"})})}),(0,A.jsx)("div",{ref:aC,className:"flex-1 overflow-y-auto pt-6"+(x?"":" [scrollbar-width:none]"),children:(0,A.jsx)("div",{style:{paddingLeft:16,paddingRight:16},children:(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsx)(iM,{statuses:al}),(0,A.jsx)(iN,{widgets:bj}),(0,A.jsx)(iK,{messages:G,entryIds:H,conversationMeta:ba,messageRefs:bb,isStreaming:I.isStreaming,sessionBusy:aV,runtimeReady:L,isNew:az,forkingEntryId:aa,handleFork:aF,handleNavigate:aG,handleEditContent:C,modelNames:Q,messageCwd:bf,onOpenFile:r,sessionId:a?.id??aA.current??void 0,toolCallsDefaultCollapsed:d,visibleCount:aW,nearBottom:a$,sentinelRef:a0,handleLoadMoreClick:a3}),I.isStreaming&&I.streamingMessage&&(0,A.jsx)(gf,{message:I.streamingMessage,isStreaming:!0,modelNames:Q,cwd:bf,onOpenFile:r,toolCallsDefaultCollapsed:d}),d&&bd.map(a=>(0,A.jsxs)("div",{role:"status","aria-label":t("chatWindow.runningNamed",{names:a.name}),style:{display:"flex",alignItems:"center",gap:7,marginBottom:"var(--space-4)",padding:"var(--space-3) 10px",border:"1px solid color-mix(in srgb, var(--status-success) 25%, transparent)",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--status-success) 4%, transparent)",color:"var(--text-muted)",fontSize:"var(--text-md)"},children:[(0,A.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-1.5 w-1.5 shrink-0 rounded-full bg-accent"}),(0,A.jsx)("span",{style:{color:"var(--status-success)",fontFamily:"var(--font-mono)",fontWeight:600,fontSize:"var(--text-sm)"},children:a.name})]},a.id)),N&&!I.streamingMessage&&0===bd.length&&(0,A.jsxs)("div",{role:"status","aria-live":"polite",className:"py-2 text-text-muted flex items-center gap-2",style:{fontSize:"var(--text-base)"},children:[(0,A.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-2 w-2 shrink-0 rounded-full bg-accent"}),(0,A.jsx)("span",{children:[function(a){if(a?.kind==="running_tools"){let b=a.tools.map(a=>a.name);return 0===b.length?(0,E.Tl)("chatWindow.runningTool"):b.length<=3?(0,E.Tl)("chatWindow.runningNamed",{names:b.join(", ")}):(0,E.Tl)("chatWindow.runningNamedMore",{names:b.slice(0,2).join(", "),more:b.length-2})}return a?.kind==="waiting_model"?(0,E.Tl)("chatWindow.waitingModel"):a?.kind==="running_command"?(0,E.Tl)("chatWindow.runningCommand"):(0,E.Tl)("chatWindow.thinking")}(aq),aw>0?u("chatWindow.subagentCount",aw):null,ax?t("chatWindow.todoPhaseStatus",{name:ax.name,done:ax.done,total:ax.total}):null].filter(Boolean).join(" \xb7 ")})]}),O&&!P&&(0,A.jsxs)("div",{role:"status","aria-live":"polite",className:"py-2 text-text-muted flex items-center gap-2",style:{fontSize:"var(--text-base)"},children:[(0,A.jsx)("span",{"aria-hidden":!0,className:"live-status-dot live-pulse inline-block h-2 w-2 shrink-0 rounded-full bg-accent"}),(0,A.jsx)("span",{children:t("chatWindow.runningCommand")})]}),P&&(0,A.jsx)(gf,{message:{role:"bashExecution",command:P.command,output:"",excludeFromContext:P.excludeFromContext},sessionId:a?.id??aA.current??void 0}),(0,A.jsx)("div",{ref:aB})]})})}),x?null:(0,A.jsx)(ht,{messages:G,scrollContainer:aC,messageRefs:bb})]}),(0,A.jsxs)("div",{className:"relative",style:{flexShrink:0},children:[(0,A.jsx)("div",{style:{paddingLeft:16,paddingRight:16},children:(0,A.jsxs)("div",{style:{maxWidth:960,margin:"0 auto"},children:[(0,A.jsx)(hY,{todoPhases:ay,subagents:at,subagentEvents:au,onSelectSubagent:aZ}),(0,A.jsx)(iN,{widgets:bk})]})}),bi]})]})]})}function iM({statuses:a}){return 0===a.length?null:(0,A.jsx)("div",{style:{display:"flex",flexWrap:"wrap",gap:"var(--space-2)",marginBottom:"var(--space-4)"},children:a.map(a=>(0,A.jsxs)("div",{className:"ui-compact-surface",style:{display:"flex",alignItems:"center",gap:"var(--space-3)",maxWidth:"100%",padding:"var(--space-2) var(--space-4)",border:"1px solid color-mix(in srgb, var(--accent) 24%, var(--border))",borderRadius:"var(--radius-control)",background:"color-mix(in srgb, var(--accent) 7%, var(--bg))",color:"var(--text-muted)",fontSize:"var(--text-md)"},children:[(0,A.jsx)("span",{style:{color:"var(--accent)",fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)"},children:a.key}),(0,A.jsx)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a.text})]},a.key))})}function iN({widgets:a}){return 0===a.length?null:(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:"var(--space-3)",marginBottom:"var(--space-4)"},children:a.map(a=>(0,A.jsxs)("div",{className:"ui-compact-surface",style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",overflow:"hidden"},children:[(0,A.jsx)("div",{style:{padding:"5px 9px",borderBottom:"1px solid var(--border)",color:"var(--text-dim)",fontSize:"var(--text-sm)",fontFamily:"var(--font-mono)"},children:a.key}),(0,A.jsx)("pre",{style:{margin:0,padding:"var(--space-4) 9px",color:"var(--text-muted)",fontSize:"var(--text-md)",lineHeight:1.5,whiteSpace:"pre-wrap",wordBreak:"break-word",fontFamily:"var(--font-mono)"},children:a.lines.join("\n")})]},a.key))})}function iO({notices:a,floating:b=!1,align:c="left"}){return 0===a.length?null:(0,A.jsx)("div",{role:"status","aria-live":"polite",style:{display:"flex",flexDirection:"column",alignItems:"right"===c?"flex-end":"stretch",marginBottom:10*!b},children:a.map((c,d)=>{let e="error"===c.type?"var(--status-error)":"warning"===c.type?"var(--status-warning)":"success"===c.type?"var(--status-success)":"var(--accent)";return(0,A.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:"center",gap:"var(--space-4)",minHeight:"var(--control-height-lg)",height:"var(--control-height-lg)",maxHeight:48,marginBottom:d===a.length-1?0:"var(--space-2)",overflow:"hidden",borderRadius:"var(--radius-control)",border:"1px solid color-mix(in srgb, var(--border) 70%, transparent)",background:"var(--bg)",color:"var(--text-muted)",width:"fit-content",maxWidth:"min(100%, 620px)",boxShadow:b?"var(--shadow-pop)":"var(--shadow-card)",fontSize:"var(--text-md)",lineHeight:1.35,transformOrigin:"top center",animation:c.exiting?"notice-shelf-out var(--dur-med) ease-in forwards":"notice-shelf-in var(--dur-med) var(--ease-out-warm) both",padding:"0 10px"},children:[(0,A.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:e,flexShrink:0}}),(0,A.jsx)("span",{style:{padding:"8px 0",minWidth:0,maxWidth:"100%",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c.message})]},c.id)})})}function iP({request:a,onInput:b,runtimeReady:c=!0}){let{t:d}=(0,E.s9)(),e=(0,B.useRef)(null),f=(0,B.useRef)(!1),g=function(a){let b=/^[┌├└╭╰][─┬┴┼]+[┐┤┘╮╯]$/,c=[];for(let d of a){let a=d.replace(ix,""),e=iA(a).trimEnd();if(b.test(e))continue;let f=a,g=iD(f);("│"===g||"┃"===g)&&" "===iD(f=iC(f,0))&&(f=iC(f,0));let h=function(a){let b=iB(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(f),i=h>=0?iB(f)[h]?.char:void 0;("│"===i||"┃"===i)&&(f=iC(f,h)),c.push(function(a){let b=a;for(;;){let a=iB(b),c=a[a.length-1];if(!c||""!==c.char.trim())return b;b=b.slice(0,c.start)+b.slice(c.end)}}(f))}for(;c.length>0&&""===iA(c[0]).trim();)c.shift();for(;c.length>0&&""===iA(c[c.length-1]).trim();)c.pop();return c.length?c:a}(a.lines);return(0,A.jsx)("div",{style:{position:"absolute",inset:0,zIndex:"var(--z-extension-dialog)",display:"flex",alignItems:"center",justifyContent:"center",padding:20,background:"var(--overlay-backdrop)"},children:(0,A.jsxs)("div",{role:"dialog","aria-modal":"true",onClick:a=>{c&&(a.target.closest("button")||e.current?.focus())},style:{position:"relative",width:"min(920px, 100%)",maxHeight:"min(760px, calc(100vh - 40px))",border:"1px solid var(--border)",borderRadius:8,background:"var(--bg)",boxShadow:"var(--shadow-modal)",overflow:"hidden",outline:"none"},children:[(0,A.jsx)("textarea",{ref:e,"aria-label":d("chatWindow.extensionTerminalInput"),"aria-disabled":!c,disabled:!c,autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",spellCheck:!1,onKeyDown:d=>{if(!c||f.current||d.nativeEvent.isComposing)return;let e=function(a){if(a.metaKey||a.ctrlKey&&!a.altKey&&"v"===a.key.toLowerCase())return null;if(a.ctrlKey&&!a.altKey){let b=function(a){if(1!==a.length)return null;let b=a.toUpperCase().charCodeAt(0);return b>=64&&b<=95?String.fromCharCode(31&b):"?"===a?"":null}(a.key);if(b)return b}if(a.altKey&&!a.ctrlKey){if("Backspace"===a.key)return"\x1b\x7f";let b=iF[a.key];if(b)return b;if(1===a.key.length)return`\x1b${a.key}`}return"Enter"===a.key?a.shiftKey?"\n":"\r":"Tab"===a.key?a.shiftKey?"\x1b[Z":" ":iE[a.key]??null}(d);e&&(d.preventDefault(),d.stopPropagation(),b(a,e))},onInput:d=>{if(!c||f.current||d.nativeEvent.isComposing)return;let e=d.currentTarget.value;d.currentTarget.value="",e&&b(a,e)},onCompositionStart:()=>{f.current=!0},onCompositionEnd:d=>{if(f.current=!1,!c)return;let e=d.currentTarget;queueMicrotask(()=>{let d=e.value;e.value="",d&&c&&b(a,d)})},onPaste:d=>{if(d.preventDefault(),!c)return;let e=d.clipboardData.getData("text");e&&b(a,`\x1b[200~${e}\x1b[201~`)},style:{position:"absolute",width:1,height:1,padding:0,border:0,opacity:0,pointerEvents:"none"}}),(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:"var(--space-5)",padding:"10px var(--space-5)",borderBottom:"1px solid var(--border)"},children:[(0,A.jsx)("div",{style:{color:"var(--text)",fontSize:"var(--text-base)",fontWeight:650},children:d("chatWindow.extensionPanel")}),(0,A.jsx)("button",{onClick:()=>{c&&b(a,"\x03")},disabled:!c,"aria-disabled":!c,style:{padding:"5px 9px",borderRadius:6,border:"1px solid var(--border)",background:"var(--bg-panel)",color:"var(--text-muted)",cursor:c?"pointer":"not-allowed",opacity:c?void 0:.5,fontSize:"var(--text-md)"},children:d("chatWindow.close")})]}),(0,A.jsx)("pre",{style:{margin:0,padding:14,maxHeight:"calc(min(760px, 100vh - 40px) - 48px)",overflow:"auto",background:"var(--bg-panel)",color:"var(--text)",fontFamily:"var(--font-mono)",fontSize:"var(--text-base)",lineHeight:1.45,whiteSpace:"pre"},children:(g.length?g:[""]).map((a,b,c)=>{var d;return(0,A.jsxs)(B.Fragment,{children:[(d=`line-${b}`,(function(a){let b,c=[],d={},e=0;for(iw.lastIndex=0;null!==(b=iw.exec(a));)b.index>e&&c.push({text:a.slice(e,b.index),style:d}),d=function(a,b){let c={...a};for(let a=0;a<b.length;a++){let d=b[a];if(0===d)for(let a of Object.keys(c))delete c[a];else if(1===d)c.fontWeight=700;else if(2===d)c.opacity=.65;else if(3===d)c.fontStyle="italic";else if(4===d)c.textDecoration="underline";else if(22===d)delete c.fontWeight,delete c.opacity;else if(23===d)delete c.fontStyle;else if(24===d)delete c.textDecoration;else if(39===d)delete c.color;else if(49===d)delete c.background;else if(d>=30&&d<=37)c.color=iy[d-30];else if(d>=90&&d<=97)c.color=iz[d-90];else if(d>=40&&d<=47)c.background=iy[d-40];else if(d>=100&&d<=107)c.background=iz[d-100];else if((38===d||48===d)&&2===b[a+1]){let[e,f,g]=[b[a+2],b[a+3],b[a+4]];[e,f,g].every(a=>"number"==typeof a&&Number.isFinite(a))&&(38===d?c.color=`rgb(${e}, ${f}, ${g})`:c.background=`rgb(${e}, ${f}, ${g})`),a+=4}else if((38===d||48===d)&&5===b[a+1]){let e=function(a){if(a>=0&&a<8)return iy[a];if(a>=8&&a<16)return iz[a-8];if(a>=16&&a<=231){let b=a-16,c=Math.floor(b/36),d=Math.floor(b%36/6),e=a=>0===a?0:55+40*a;return`rgb(${e(c)}, ${e(d)}, ${e(b%6)})`}if(a>=232&&a<=255){let b=8+(a-232)*10;return`rgb(${b}, ${b}, ${b})`}}(b[a+2]);e&&(38===d?c.color=e:c.background=e),a+=2}}return c}(d,b[1]?b[1].split(";").map(a=>Number(a||"0")):[0]),e=b.index+b[0].length;return e<a.length&&c.push({text:a.slice(e),style:d}),c})(a).map((a,b)=>Object.keys(a.style).length>0?(0,A.jsx)("span",{style:a.style,children:a.text},`${d}-${b}`):a.text)),b<c.length-1?"\n":null]},b)})})]})})}},98328:(a,b,c)=>{c.d(b,{D:()=>l});var d=c(42385),e=c(15473),f=c(92382),g=c(37517);function h(a,b){let c=a.indexOf("\r",b),d=a.indexOf("\n",b);return -1===d?c:-1===c||c+1===d?d:c<d?c:d}var i=c(99779);let j={}.hasOwnProperty,k=Object.prototype;function l(a,b){let c=b||{};return m({file:c.file||void 0,location:!1,schema:"svg"===c.space?f.JW:f.qy,verbose:c.verbose||!1},a)}function m(a,b){let c;switch(b.nodeName){case"#comment":return c={type:"comment",value:b.data},o(a,b,c),c;case"#document":case"#document-fragment":{let e="mode"in b&&("quirks"===b.mode||"limited-quirks"===b.mode);if(c={type:"root",children:n(a,b.childNodes),data:{quirksMode:e}},a.file&&a.location){let b,e,f=String(a.file),g=(b=String(f),e=[],{toOffset:function(a){if(a&&"number"==typeof a.line&&"number"==typeof a.column&&!Number.isNaN(a.line)&&!Number.isNaN(a.column)){for(;e.length<a.line;){let a=e[e.length-1],c=h(b,a),d=-1===c?b.length+1:c+1;if(a===d)break;e.push(d)}let c=(a.line>1?e[a.line-2]:0)+a.column-1;if(c<e[a.line-1])return c}},toPoint:function(a){if("number"==typeof a&&a>-1&&a<=b.length){let c=0;for(;;){let d=e[c];if(void 0===d){let a=h(b,e[c-1]);d=-1===a?b.length+1:a+1,e[c]=d}if(d>a)return{line:c+1,column:a-(c>0?e[c-1]:0)+1,offset:a};c++}}}}),i=g.toPoint(0),j=g.toPoint(f.length);(0,d.ok)(i,"expected `start`"),(0,d.ok)(j,"expected `end`"),c.position={start:i,end:j}}return c}case"#documentType":return o(a,b,c={type:"doctype"}),c;case"#text":return c={type:"text",value:b.value},o(a,b,c),c;default:return function(a,b){let c=a.schema;a.schema=b.namespaceURI===i.t.svg?f.JW:f.qy;let d=-1,g={};for(;++d<b.attrs.length;){let a=b.attrs[d],c=(a.prefix?a.prefix+":":"")+a.name;j.call(k,c)||(g[c]=a.value)}let h=("svg"===a.schema.space?e.s:e.h)(b.tagName,g,n(a,b.childNodes));if(o(a,b,h),"template"===h.tagName){let c=b.sourceCodeLocation,d=c&&c.startTag&&p(c.startTag),e=c&&c.endTag&&p(c.endTag),f=m(a,b.content);d&&e&&a.file&&(f.position={start:d.end,end:e.start}),h.content=f}return a.schema=c,h}(a,b)}}function n(a,b){let c=-1,d=[];for(;++c<b.length;){let e=m(a,b[c]);d.push(e)}return d}function o(a,b,c){if("sourceCodeLocation"in b&&b.sourceCodeLocation&&a.file){let e=function(a,b,c){let e=p(c);if("element"===b.type){let f=b.children[b.children.length-1];if(e&&!c.endTag&&f&&f.position&&f.position.end&&(e.end=Object.assign({},f.position.end)),a.verbose){let e,f={};if(c.attrs)for(e in c.attrs)j.call(c.attrs,e)&&(f[(0,g.I)(a.schema,e).property]=p(c.attrs[e]));(0,d.ok)(c.startTag,"a start tag should exist");let h=p(c.startTag),i=c.endTag?p(c.endTag):void 0,k={opening:h};i&&(k.closing=i),k.properties=f,b.data={position:k}}}return e}(a,c,b.sourceCodeLocation);e&&(a.location=!0,c.position=e)}}function p(a){let b=q({line:a.startLine,column:a.startCol,offset:a.startOffset}),c=q({line:a.endLine,column:a.endCol,offset:a.endOffset});return b||c?{start:b,end:c}:void 0}function q(a){return a.line&&a.column?a:void 0}},98448:(a,b,c)=>{c.r(b),c.d(b,{boolean:()=>e,booleanish:()=>f,commaOrSpaceSeparated:()=>k,commaSeparated:()=>j,number:()=>h,overloadedBoolean:()=>g,spaceSeparated:()=>i});let d=0,e=l(),f=l(),g=l(),h=l(),i=l(),j=l(),k=l();function l(){return 2**++d}},99779:(a,b,c)=>{c.d(b,{t:()=>d});let d={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"}}};
|