ompgui 0.7.5 → 0.7.6
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 +5 -5
- package/.next/build-manifest.json +3 -3
- package/.next/prerender-manifest.json +3 -3
- package/.next/react-loadable-manifest.json +1 -1
- 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 +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- 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 +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- 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/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- 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 +1 -1
- package/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/page.js +1 -1
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pair/page_client-reference-manifest.js +1 -1
- package/.next/server/app/pair.html +1 -1
- package/.next/server/app/pair.rsc +1 -1
- package/.next/server/app/pair.segments/_full.segment.rsc +1 -1
- package/.next/server/app/pair.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/pair.segments/pair/__PAGE__.segment.rsc +1 -1
- package/.next/server/app-paths-manifest.json +5 -5
- package/.next/server/chunks/6480.js +1 -1
- package/.next/server/chunks/7226.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/{4318.9c215a4cb05a3069.js → 4318.262b14251f05c7a0.js} +1 -1
- package/.next/static/chunks/app/{page-e7eb05ca875bdff3.js → page-52be30b788f58e8c.js} +1 -1
- package/.next/static/chunks/{webpack-6731a6d88b6564cc.js → webpack-71c49b2d000b4171.js} +1 -1
- package/README.ja.md +1 -1
- package/README.ko.md +1 -1
- package/README.md +1 -1
- package/README.zh-CN.md +1 -1
- package/package.json +1 -1
- /package/.next/static/{PqMs7GKEACvEL4dphX3Ma → kCY3TYrtVGBtbLBIXH4MJ}/_buildManifest.js +0 -0
- /package/.next/static/{PqMs7GKEACvEL4dphX3Ma → kCY3TYrtVGBtbLBIXH4MJ}/_ssgManifest.js +0 -0
|
@@ -15,4 +15,4 @@ Reproduce the problem, apply the smallest correct fix, and verify it works befor
|
|
|
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
17
|
${f}`});return[a.trim(),...c].filter(Boolean).join("\n\n")}var hk=c(89591),hl=c(89417),hm=c(87300);let hn=["auto","off","minimal","low","medium","high","xhigh","max"];function ho(a,b,c){let d;return d=a&&"function"==typeof a.closest?a:a?.parentElement,("function"!=typeof d?.closest||null==d.closest(".mobile-sheet-overlay"))&&!!a&&"number"==typeof a.nodeType&&!b?.contains(a)&&!!c&&!c.contains(a)}function hp(a){return"number"==typeof a&&Number.isFinite(a)&&a>0}function hq(a){let b=Math.round(10*a)/10;return`${b%1==0?b.toFixed(0):b.toFixed(1)}%`}let hr=2*Math.PI*9.5;function hs(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 ht={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 hu(a,b){return(0,hb.wk)(a,b)}function hv(a,b){return"skill"===a.source&&b.has(a.name)}let hw=[...hg.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"}],hx=new Set(hw.map(a=>a.name)),hy=["builtin","extension","prompt","skill","ompBuiltin"],hz={builtin:"chatInput.groupBuiltin",extension:"chatInput.groupExtensions",prompt:"chatInput.groupPrompts",skill:"chatInput.groupSkills",ompBuiltin:"chatInput.groupOmpBuiltin"},hA={builtin:0,extension:1,prompt:2,skill:3,ompBuiltin:4};function hB(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 hC(a){return{data:a.data,mimeType:a.mimeType}}function hD(a){return{...a,previewUrl:`data:${a.mimeType};base64,${a.data}`}}function hE(a){return(a??[]).filter(gf).slice(0,10).map(hD)}function hF(a){return{name:a.name,mimeType:a.mimeType,content:a.content,size:a.size}}function hG(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 hH(a){a.previewUrl.startsWith("blob:")&&URL.revokeObjectURL(a.previewUrl)}function hI({onClick:a,title:b,accent:c=!1,disabled:d=!1,busy:e=!1,children:f}){return(0,A.jsx)("button",{type:"button",onClick:a,disabled:d||e,title:b,"aria-label":b,"aria-busy":e||void 0,style:{flexShrink:0,padding:"4px 8px",minHeight:24,border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:c?"var(--accent)":"var(--text-dim)",cursor:d||e?"not-allowed":"pointer",opacity:d||e?.5:1,fontSize:"var(--text-sm)",fontWeight:c?600:400,transition:"background var(--dur-fast) var(--ease-out-warm), color var(--dur-fast) var(--ease-out-warm)"},onMouseEnter:a=>{d||e||(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:f})}function hJ({error:a}){let{t:b}=(0,G.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:"var(--text-sm)",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 hK({goal:a,plan:b}){let c,d,e,{t:f}=(0,G.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)(g0,{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:"var(--text-xs)",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:"var(--text-sm)",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:"var(--text-sm)"},children:[(0,A.jsx)(g1,{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 hL=(0,B.memo)((0,B.forwardRef)(function({onSend:a,onAbort:b,isStreaming:c,model:d,isAutoModelSelection:e,modelNames:f,modelList:g,modelError:h,modelsLoading:i,onModelChange:j,fastModeEnabled:k,fastModeActive:l,fastModeSupported:m,onFastModeChange:n,onAbortCompaction:o,isCompacting:p,compactResult:q,thinkingLevel:r,onThinkingLevelChange:s,availableThinkingLevels:t,thinkingLevelMap:u,modelNameOverride:v,retryInfo:w,queuedMessages:x,inputHistory:y=[],onAbortRetry:z,onRecallQueuedMessage:E,onDeleteQueuedMessage:F,onPromoteQueuedToSteer:H,queueEnqueuePending:I=!1,slashCommands:J,slashCommandsLoading:K,onLoadSlashCommands:M,onBuiltinCommand:N,onAudioUnlock:O,onPromptWithStreamingBehavior:P,runtimeReady:Q=!0,contextUsage:R,sessionCost:S,draftKey:T,cwd:U,activeGoal:V,activePlan:W,advisorEnabled:X},Y){var Z,$,_,aa;let ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao=(0,hm.a)(),{t:ap,tn:aq,locale:ar}=(0,G.s9)(),as=C().useMemo(()=>new Intl.Collator(ar,{numeric:!0,sensitivity:"base"}),[ar]),[at,au]=(0,B.useState)(()=>T?he(T)?.value??"":""),[av,aw]=(0,B.useState)(!1),[ax,ay]=(0,B.useState)(null),[az,aA]=(0,B.useState)(!1),[aB,aC]=(0,B.useState)(null),[aD,aE]=(0,B.useState)(!1),[aF,aG]=(0,B.useState)(""),[aH,aI]=(0,B.useState)(()=>T?hE(he(T)?.images):[]),[aJ,aK]=(0,B.useState)(()=>T?hG(he(T)?.files):[]),[aL,aM]=(0,B.useState)(null),aN=at.trimStart(),aO=0===aH.length&&0===aJ.length&&aN.startsWith("!"),aP=aO&&aN.startsWith("!!"),[aQ,aR]=(0,B.useState)(!1),[aS,aT]=(0,B.useState)(0),[aU,aV]=(0,B.useState)(null),[aW,aX]=(0,B.useState)(!1),[aY,aZ]=(0,B.useState)(0),[a$,a_]=(0,B.useState)(!1),[a0,a1]=(0,B.useState)(0),[a2,a3]=(0,B.useState)(null),[a4,a5]=(0,B.useState)(!1),[a6,a7]=(0,B.useState)(null),[a8,a9]=(0,B.useState)(null),ba=(0,B.useRef)(null),bb=(0,B.useRef)(null),bc=(0,B.useRef)(null),bd=(0,B.useRef)(null),be=(0,B.useRef)(null),bf=(0,B.useRef)(null),bg=(0,B.useRef)(null),bh=(0,B.useRef)(null),bi=(0,B.useRef)(null),bj=(0,B.useRef)(!1),bk=(0,B.useRef)(0),bl=(0,B.useRef)(!1),bm=(0,B.useRef)([]),bn=(0,B.useRef)([]),bo=(0,B.useRef)([]),bp=(0,B.useRef)(null),bq=(0,B.useRef)(T),br=(0,B.useRef)({draftKey:T,mounted:!0});br.current.draftKey=T,(0,B.useEffect)(()=>{let a=br.current;return a.mounted=!0,()=>{a.mounted=!1}},[]);let bs=(0,B.useRef)(at),bt=(0,B.useRef)(!1),[bu,bv]=(0,B.useState)(!1),bw=I||bu,bx=(0,B.useRef)(aH),by=(0,B.useRef)(aJ),bz=(0,B.useRef)(0),bA=(0,B.useRef)(Q);bA.current=Q;let bB=(0,B.useRef)(0),bC=(0,B.useRef)(0);bs.current=at,bx.current=aH,by.current=aJ,(0,B.useEffect)(()=>{Q||(bz.current+=1)},[Q]);let bD=(0,B.useCallback)(a=>{if(!a.trim())return;let b=ba.current,c=[a,b?b.value:bs.current].filter(a=>a.trim()).join("\n\n");bs.current=c,au(c),aV(null),requestAnimationFrame(()=>{b&&(b.focus(),b.setSelectionRange(c.length,c.length),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)})},[]);(0,B.useImperativeHandle)(Y,()=>({insertIfEmpty(a){let b=ba.current;(b?b.value:at).trim()||(au(a),aV(null),requestAnimationFrame(()=>{b&&(b.focus(),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)}))},prependText(a){bD(a)},insertText(a){let b=ba.current;if(!b)return void au(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(" ")?" ":"";au(e+g+a+f),aV(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){bA.current&&bG(a)}}));let bE=(0,B.useCallback)(async a=>{if(!bA.current)return;let b=Math.max(0,10-bx.current.length-bB.current),c=a.filter(a=>a.type.startsWith("image/")&&a.size<=0xa00000).slice(0,b);if(!c.length){a.length>0&&aM(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=bz.current;bB.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(bz.current!==d||!bA.current)return void a.forEach(hH);aI(b=>{let c=a.slice(0,Math.max(0,10-b.length));return a.slice(c.length).forEach(hH),[...b,...c]}),aM(null)}catch{e.forEach(hH),aM("One or more images could not be read. Try a different file.")}finally{bB.current-=c.length}},[]),bF=(0,B.useCallback)(async a=>{if(!bA.current)return;let b=Math.max(0,10-by.current.length-bC.current),c=a.filter(a=>a.size<=262144).slice(0,b);if(!c.length){a.length>0&&aM(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=bz.current;bC.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(bz.current!==d||!bA.current)return;let b=a.filter(a=>!a.content.includes("\0")&&!a.content.includes("�")),e=c.length-b.length;aK(a=>[...a,...b.slice(0,Math.max(0,10-a.length))]),e>0?aM(`${e} file(s) skipped: binary or non-text files cannot be attached.`):aM(null)}catch{aM("One or more files could not be read. Try a different file.")}finally{bC.current-=c.length}},[]),bG=(0,B.useCallback)(a=>{if(!Q||!bA.current||I||bt.current)return;let b=a.filter(a=>a.type.startsWith("image/")),c=a.filter(a=>!a.type.startsWith("image/"));bE(b),bF(c)},[bE,bF,Q,I]),bH=(0,B.useCallback)(a=>{bA.current&&(aI(b=>{let c=[...b],[d]=c.splice(a,1);return d&&hH(d),c}),aM(null))},[]),bI=(0,B.useCallback)(a=>{bA.current&&(aK(b=>b.filter((b,c)=>c!==a)),aM(null))},[]),bJ=(0,B.useCallback)(()=>{aI(a=>(a.forEach(hH),[]))},[]),bK=(0,B.useCallback)(()=>{aK([])},[]),bL=(0,B.useCallback)(()=>{var a;au(""),aV(null),a_(!1),T&&hc.delete(T),bq.current&&bq.current!==T&&(a=bq.current,hc.delete(a)),bJ(),bK(),bz.current+=1,ba.current&&(ba.current.style.height="auto")},[bJ,bK,T]);(0,B.useEffect)(()=>{T&&bq.current===T&&hf(T,{value:at,images:aH.map(hC),files:aJ.map(hF)})},[aH,aJ,T,at]),(0,B.useEffect)(()=>{let a=bq.current;if(a===T)return;a&&hf(a,{value:bs.current,images:bx.current.map(hC),files:by.current.map(hF)});let b=T?he(T):null;bq.current=T,au(b?.value??""),aV(null),a_(!1),aI(a=>(a.forEach(hH),hE(b?.images))),aK(hG(b?.files))},[T]),(0,B.useEffect)(()=>{let a=ba.current;a&&(a.style.height="auto",at&&(a.style.height=`${Math.min(a.scrollHeight,200)}px`))},[at]),(0,B.useEffect)(()=>()=>{bx.current.forEach(hH)},[]);let bM=(0,B.useCallback)(async()=>{let b=at.trim();if(!b&&!aH.length&&!aJ.length||!Q||c||I||bt.current)return;O?.();let d=hj(b,aJ);if(!aH.length&&!aJ.length&&b.startsWith("/")&&N){let a=await N(b);if(a.handled){a.error||a.retainInput||bL();return}}a(d,aH.length?aH:void 0),bL()},[at,aH,aJ,c,Q,I,N,a,bL,O]),bN=at.startsWith("/")&&!/\s/.test(at.slice(1))?at.slice(1).toLowerCase():null,[bO,bP]=(0,B.useState)(()=>new Set);(0,B.useEffect)(()=>{if(null===bN||!U)return;let a=new AbortController;return fetch(`/api/skills?cwd=${encodeURIComponent(U)}`,{signal:a.signal}).then(a=>a.ok?a.json():null).then(a=>{a&&bP(new Set((a.skills??[]).flatMap(a=>a.disableModelInvocation&&a.name?[a.name]:[])))}).catch(()=>{}),()=>a.abort()},[U,bN]);let bQ=C().useMemo(()=>hw.map(a=>({name:a.name,description:ap(a.descriptionKey),...a.argumentHintKey?{argumentHint:ap(a.argumentHintKey)}:{},source:"builtin"})),[ap]),bR=C().useMemo(()=>(J??[]).flatMap(a=>{let b=a.source;return hx.has(a.name)?[]:"builtin"===b||"ompBuiltin"===b?[{name:a.name,description:a.description,source:"ompBuiltin"}]:[a]}),[J]),bS=null===bN?[]:[...c?[]:bQ,...bR].filter(a=>{let b=a.name.toLowerCase(),c=a.description?.toLowerCase()??"";return b.includes(bN)||c.includes(bN)}).sort((a,b)=>{let c=hB(a,bN)-hB(b,bN);if(0!==c)return c;let d=Number(hv(a,bO))-Number(hv(b,bO));return 0!==d?d:hA[a.source]-hA[b.source]||as.compare(a.name,b.name)}),bT=(()=>{let a=new Map;for(let b of hy)a.set(b,{source:b,items:[]});return bS.forEach((b,c)=>{a.get(b.source)?.items.push({command:b,index:c})}),hy.map(b=>a.get(b)).filter(a=>a.items.length>0)})(),bU=aq(bN?"chatInput.matchCount":"chatInput.commandCount",bS.length),bV=(0,B.useCallback)((a,b)=>{if(!U)return void aV(null);let c=b??a.length;aV((0,hk.RO)(a.slice(0,c)))},[U]),bW=aU?.query??null,bX=C().useMemo(()=>null!==bW&&a2&&a2.cwd===U?(0,hk.R7)(a2.entries,bW):[],[bW,a2,U]),bY=!!(bW&&a2?.truncated&&a2.cwd===U);(0,B.useEffect)(()=>{if(!bY||!U||!bW)return;let a=new AbortController,b=setTimeout(()=>{fetch(`/api/file-index?cwd=${encodeURIComponent(U)}&q=${encodeURIComponent(bW)}`,{signal:a.signal}).then(a=>{if(!a.ok)throw Error(`file search failed: ${a.status}`);return a.json()}).then(b=>{a.signal.aborted||a7({cwd:U,query:bW,matches:b.matches??[]})}).catch(()=>{})},150);return()=>{clearTimeout(b),a.abort()}},[bY,bW,U]);let bZ=bY&&null!==a6&&a6.cwd===U&&a6.query===bW,b$=bZ?a6.matches:bX,b_=null===aU?null:`${aU.start}:${+!!aU.quoted}:${aU.query}`;(0,B.useEffect)(()=>{if(null===b_){aX(!1),aZ(0);return}aX(!0),aZ(0)},[b_]);let b0=null!==aU;(0,B.useEffect)(()=>{let a=bp.current;if(!b0||!U||a&&a.cwd===U&&Date.now()-a.fetchedAt<1e4)return void a5(!1);let b=new AbortController;return a5(!0),fetch(`/api/file-index?cwd=${encodeURIComponent(U)}`,{signal:b.signal}).then(a=>{if(!a.ok)throw Error(`file index failed: ${a.status}`);return a.json()}).then(a=>{b.signal.aborted||(a3({cwd:U,entries:(0,hk.Yh)(a.files??[]),truncated:!!a.truncated}),bp.current={cwd:U,fetchedAt:Date.now()})}).catch(()=>{b.signal.aborted||(bp.current=null)}).finally(()=>{b.signal.aborted||a5(!1)}),()=>b.abort()},[b0,U]);let b1=(0,B.useCallback)(a=>{if(!aU)return;let b=ba.current,c=b?.selectionStart??at.length,d=at.slice(0,aU.start),e=at.slice(c);aU.quoted&&e.startsWith('"')&&(e=e.slice(1));let f=(0,hk.W)(a.path,a.isDir,aU.quoted),g=d+f.text+e,h=d.length+f.cursorOffset;au(g),aV((0,hk.RO)(g.slice(0,h))),requestAnimationFrame(()=>{let a=ba.current;a&&(a.focus(),a.setSelectionRange(h,h),a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)})},[aU,at]);(0,B.useEffect)(()=>{aY>=b$.length&&aZ(Math.max(0,b$.length-1))},[b$.length,aY]),(0,B.useEffect)(()=>{bn.current.length=b$.length},[b$.length]),(0,B.useEffect)(()=>{aW&&bn.current[aY]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aY,aW]),(0,B.useEffect)(()=>{a0>=y.length&&a1(Math.max(0,y.length-1))},[y.length,a0]),(0,B.useEffect)(()=>{bo.current.length=y.length},[y.length]),(0,B.useEffect)(()=>{a$&&bo.current[a0]?.scrollIntoView({block:"nearest",inline:"nearest"})},[a0,a$]);let b2=(0,B.useCallback)(a=>{au(a),a_(!1),a1(0),aV(null),requestAnimationFrame(()=>{let b=ba.current;b&&(b.focus(),b.setSelectionRange(a.length,a.length),b.style.height="auto",b.style.height=`${Math.min(b.scrollHeight,200)}px`)})},[]),b3=(0,B.useCallback)(a=>{let b=`/${a.name} `;au(b),aR(!1),aT(0),requestAnimationFrame(()=>{let a=ba.current;a&&(a.focus(),a.setSelectionRange(b.length,b.length),a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)})},[]),b4=(0,B.useCallback)(async a=>{let b=at.trim();if(!Q||I||bt.current||!P||!b&&!aH.length&&!aJ.length)return;O?.();let c=hi(b);if("usage-error"===c.kind)return void ha.oR.error(ap("chatInput.commandUsageTitle"),ap("agentSession.commandRequiresArgs",{command:c.command,usage:ap(c.argumentHintKey)}));let d=bz.current;bt.current=!0,bv(!0);try{await P(hj("expand"===c.kind?c.prompt:b,aJ),"steer"===a?"steer":"followUp",aH.length?aH:void 0)&&d===bz.current&&bs.current===at&&bx.current===aH&&by.current===aJ&&bL()}finally{bt.current=!1,bv(!1)}},[at,aH,aJ,Q,I,P,bL,O,ap]),b5=x?.items??[],b6=x?.nativeQueuedCount??0,b7=b5.length>0||b6>0,b8=(0,B.useCallback)(async(a,b)=>{if(Q&&!a8){a9(a);try{await b()}finally{a9(b=>b===a?null:b)}}},[a8,Q]),b9=(0,B.useCallback)(a=>{if("sending"===a.status||!E||(bs.current.trim()||bx.current.length||by.current.length)&&!window.confirm(ap("chatInput.queuedRecallConfirm")))return;let b=a.attachments?.length??0;bx.current.length+bB.current+b>10?ha.oR.error(ap("chatInput.queuedOpFailed"),ap("chatInput.queuedRecallImageLimit")):b8(a.id,async()=>{bB.current+=b;try{let b=await E(a.id);if(!b)return;let c=br.current.mounted&&br.current.draftKey===T,d=br.current.mounted&&bq.current===T,e=d?{value:bs.current,images:bx.current.map(hC),files:by.current.map(hF)}:T?he(T):null;if(T&&hf(T,{value:[b.text,e?.value??""].filter(a=>a.trim()).join("\n\n"),images:[...e?.images??[],...(b.images??[]).map(({data:a,mimeType:b})=>({data:a,mimeType:b}))],files:e?.files??[]}),!c){d&&(bs.current=[b.text,e?.value??""].filter(a=>a.trim()).join("\n\n"),bx.current=[...bx.current,...(b.images??[]).map(hD)]);return}if(bD(b.text),b.images?.length){let a=b.images.map(hD);bx.current=[...bx.current,...a],aI(bx.current)}}finally{bB.current-=b}})},[T,E,bD,b8,ap]),ca=(0,B.useCallback)(a=>{"sending"!==a.status&&F&&b8(a.id,async()=>{await F(a.id)})},[F,b8]),cb=(0,B.useCallback)(a=>{"queued"===a.status&&"followUp"===a.lane&&H&&b8(a.id,async()=>{await H(a.id)})},[H,b8]),cc=(0,B.useCallback)(a=>{let b=bS.length-1;if(b<0)return 0;if("left"===a)return Math.max(0,aS-1);if("right"===a)return Math.min(b,aS+1);let c=bm.current[aS];if(!c)return"down"===a?Math.min(b,aS+1):Math.max(0,aS-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===aS)continue;let b=bm.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,aS+1):Math.max(0,aS-1)},[bS.length,aS]),cd=(0,B.useCallback)(a=>{let d=a.nativeEvent,e=Date.now()-bk.current<100,f=bj.current||d.isComposing||229===d.keyCode;if("Enter"===a.key&&!a.shiftKey&&(f||e)){e&&a.preventDefault();return}if(a$&&!f){if("ArrowDown"===a.key){a.preventDefault(),a1(a=>Math.min(Math.max(0,y.length-1),a+1));return}if("ArrowUp"===a.key){a.preventDefault(),a1(a=>Math.max(0,a-1));return}if("Escape"===a.key){a.preventDefault(),a_(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&y[a0]){a.preventDefault(),b2(y[a0]);return}}if(aQ&&null!==bN){if("ArrowDown"===a.key){a.preventDefault(),aT(cc("down"));return}if("ArrowUp"===a.key){a.preventDefault(),aT(cc("up"));return}if("ArrowRight"===a.key){a.preventDefault(),aT(cc("right"));return}if("ArrowLeft"===a.key){a.preventDefault(),aT(cc("left"));return}if("Escape"===a.key){a.preventDefault(),aR(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&bS[aS]){a.preventDefault(),b3(bS[aS]);return}}if(aW&&null!==aU&&!f){if("ArrowDown"===a.key){a.preventDefault(),aZ(a=>Math.min(Math.max(0,b$.length-1),a+1));return}if("ArrowUp"===a.key){a.preventDefault(),aZ(a=>Math.max(0,a-1));return}if("Escape"===a.key){a.preventDefault(),aX(!1);return}if(("Tab"===a.key||"Enter"===a.key&&!a.shiftKey)&&b$[aY]){a.preventDefault(),b1(b$[aY]);return}}if("ArrowUp"===a.key&&!f&&!c&&y.length>0&&0===at.trim().length){a.preventDefault(),aR(!1),aX(!1),a1(y.length-1),a_(!0);return}if("Escape"===a.key&&!f&&Q&&c&&b){a.preventDefault(),b();return}if("Enter"===a.key&&!a.shiftKey){if(ao)return;a.preventDefault(),c&&P?"steer"===g8()?b4("steer"):b4("followup"):bM()}},[ao,c,Q,P,b,aQ,bN,bS,aS,b3,b4,bM,cc,aW,aU,b$,aY,b1,a$,y,a0,b2,at]),ce=(0,B.useCallback)(()=>{let a=ba.current;a&&(a.style.height="auto",a.style.height=`${Math.min(a.scrollHeight,200)}px`)},[]),cf=(0,B.useCallback)(a=>{let b=Array.from(a.clipboardData?.items??[]).filter(a=>a.type.startsWith("image/"));b.length&&(a.preventDefault(),bG(b.map(a=>a.getAsFile()).filter(a=>null!==a)))},[bG]);(0,B.useEffect)(()=>{if(null===bN){aR(!1),aT(0),bl.current=!1;return}aR(!0),aT(0),!bl.current&&M&&(bl.current=!0,Promise.resolve(M()).catch(()=>{bl.current=!1}))},[bN,M]),(0,B.useEffect)(()=>{aS>=bS.length&&aT(Math.max(0,bS.length-1))},[bS.length,aS]),(0,B.useEffect)(()=>{bm.current.length=bS.length},[bS.length]),(0,B.useEffect)(()=>{aQ&&bm.current[aS]?.scrollIntoView({block:"nearest",inline:"nearest"})},[aS,aQ]);let[cg,ch]=(0,B.useState)(null);(0,B.useEffect)(()=>{let a=()=>ch(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 ci=C().useMemo(()=>g&&g.length>0?g.map(a=>({provider:a.provider,modelId:a.id,name:a.name})).filter(a=>null===cg||cg.has(`${a.provider}:${a.modelId}`)).sort((a,b)=>hs(as,a,b)):Object.entries(f??{}).map(([a,b])=>({provider:d?.provider??"unknown",modelId:a,name:b})).sort((a,b)=>hs(as,a,b)),[g,f,d?.provider,cg,as]),cj=C().useMemo(()=>{let a;return(a=aF.trim().toLocaleLowerCase(ar))?ci.filter(b=>b.name.toLocaleLowerCase(ar).includes(a)||b.modelId.toLocaleLowerCase(ar).includes(a)||b.provider.toLocaleLowerCase(ar).includes(a)):ci},[ar,ci,aF]),ck=C().useMemo(()=>{let a=[];for(let b of cj){let c=a.find(a=>a.provider===b.provider);c?c.options.push(b):a.push({provider:b.provider,options:[b]})}return a},[cj]),cl=d?ci.find(a=>a.modelId===d.modelId&&a.provider===d.provider)?.name??v??f?.[`${d.provider}:${d.modelId}`]??d.modelId:null,cm=!!i&&!h,cn=!Q||c||cm&&0===ci.length,co=q?Math.max(0,q.tokensBefore-q.estimatedTokensAfter):0,cp=q?.reason&&"manual"!==q.reason?ap("chatInput.compactedWithReason",{reason:`${q.reason[0].toUpperCase()}${q.reason.slice(1)}`}):ap("chatInput.compacted"),cq=q?ap("chatInput.compactResult",{verb:cp,before:hu(q.tokensBefore,ar),after:hu(q.estimatedTokensAfter,ar),saved:hu(co,ar)}):null,cr="auto"!==(ab=r??"auto")&&u?u[ab]??ab:ab,cs="medium"===cr.toLowerCase()?"med":cr,ct=null==(Z=R?.percent)||Number.isNaN(Z)?0:Math.min(100,Math.max(0,Z)),cu=ct>0&&ct<10?hq(ct):`${Math.round(ct)}%`,cv=!!(R&&null!=R.percent&&R.contextWindow>0),cw=cv&&R?`${hq(ct)} / ${!hp($=R.contextWindow)?"":$>=1e6?`${$/1e6}M`:$>=1e3?`${$/1e3}k`:String($)}`:null,cx=cv&&R?.tokens!=null?ap("chatInput.contextTokens",{used:(0,hb.wk)(R.tokens,ar),total:(0,hb.wk)(R.contextWindow,ar)}):null,cy=null!=S&&Number.isFinite(S)&&S>=0?ap("chatInput.sessionCost",{cost:`$${S.toFixed(S>0&&S<.01?4:2)}`}):null,cz=C().useSyncExternalStore(g9,g8,()=>"steer"),cA=!!(at.trim()||aH.length||aJ.length),cB=(_=!!P,aa=!!P,ao&&c&&cA?"steer"===cz&&_?"steer":"queue"===cz&&aa?"followup":_?"steer":aa?"followup":null:null),cC=C().useMemo(()=>(function(a){if(!a)return[...hn];let b=new Set(a.filter(a=>a&&"auto"!==a));return[...hn.filter(a=>"auto"===a||b.delete(a)),...b]})(t),[t]);return(0,B.useEffect)(()=>{if(!cv)return void aE(!1);if(!aD)return;let a=a=>{let b=bg.current;b&&!b.contains(a.target)&&aE(!1)},b=a=>{"Escape"===a.key&&aE(!1)};return document.addEventListener("pointerdown",a),document.addEventListener("keydown",b),()=>{document.removeEventListener("pointerdown",a),document.removeEventListener("keydown",b)}},[aD,cv]),(0,B.useEffect)(()=>{av?requestAnimationFrame(()=>bd.current?.focus()):aG("")},[av]),(0,B.useEffect)(()=>{let a=a=>{let b=a.target;ho(b,bb.current,bc.current)&&aw(!1),ho(b,be.current,bf.current)&&aA(!1),ho(b,bh.current,bh.current)&&!ba.current?.contains(b)&&a_(!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, 0px))",paddingLeft:"max(16px, env(safe-area-inset-left, 0px))",paddingRight:"max(16px, env(safe-area-inset-right, 0px))"},children:[(0,A.jsx)("input",{ref:bi,type:"file",accept:"*/*",multiple:!0,disabled:bw||!Q,style:{display:"none"},onChange:a=>{bG(Array.from(a.target.files??[])),a.target.value=""}}),(0,A.jsxs)("div",{style:{maxWidth:744,margin:"0 auto"},children:[(0,A.jsx)(hJ,{error:h}),(0,A.jsx)(hK,{goal:V,plan:W}),w&&(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:"var(--radius-control)",fontSize:"var(--text-sm)",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"})]}),ap("chatInput.retrying",{attempt:w.attempt,maxAttempts:w.maxAttempts}),w.errorMessage&&(0,A.jsxs)("span",{style:{opacity:.7,marginLeft:4},children:["— ",w.errorMessage]}),z&&(0,A.jsx)("button",{type:"button",onClick:z,title:"Stop the automatic retry and leave the failed turn as-is",style:{marginLeft:"auto",padding:"3px 9px",fontSize:"var(--text-xs)",color:"var(--status-warning)",background:"transparent",border:"1px solid color-mix(in srgb, var(--status-warning) 45%, transparent)",borderRadius:"var(--radius-control)",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"})]}),cq&&(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:"var(--radius-control)",fontSize:"var(--text-sm)",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"})}),cq]}),aL&&(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:"var(--radius-control)",fontSize:"var(--text-sm)",color:"var(--status-error)"},children:aL}),aH.length>0&&(0,A.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:aH.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:"var(--radius-control)",border:"1px solid var(--border)",display:"block"}}),(0,A.jsx)("button",{onClick:()=>bH(b),disabled:!Q,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))}),aJ.length>0&&(0,A.jsx)("div",{style:{display:"flex",gap:6,marginBottom:6,flexWrap:"wrap"},children:aJ.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:"var(--radius-control)",background:"var(--bg-panel)",fontSize:"var(--text-sm)",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:"var(--text-sm)"},children:a.name}),(0,A.jsx)("span",{style:{flexShrink:0,fontSize:"var(--text-xs)",color:"var(--text-dim)"},children:a.size<1024?`${a.size} B`:`${Math.round(a.size/1024)} KB`}),(0,A.jsx)("button",{onClick:()=>bI(b),disabled:!Q,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:[a$&&!ao&&y.length>0&&(0,A.jsxs)("div",{ref:bh,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:ap("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:y.map((a,b)=>{let c=b===a0;return(0,A.jsxs)("button",{ref:a=>{bo.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),b2(a)},onMouseEnter:()=>a1(b),style:{width:"100%",display:"flex",alignItems:"flex-start",gap:8,padding:"7px 8px",border:"none",borderRadius:"var(--radius-control)",background:c?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:"var(--text-base)",lineHeight:1.45},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",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}`)})})]}),a$&&ao&&y.length>0&&(0,A.jsx)(g7,{open:a$,onClose:()=>a_(!1),title:ap("chatInput.inputHistory"),maxHeight:"min(65dvh, 480px)",children:(0,A.jsx)("div",{style:{padding:"var(--space-2) var(--space-3)"},children:y.map((a,b)=>(0,A.jsxs)("button",{type:"button",onClick:()=>{b2(a),a_(!1)},style:{width:"100%",display:"flex",alignItems:"flex-start",gap:12,minHeight:48,padding:"10px 12px",border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:"var(--text-base)",lineHeight:1.45,touchAction:"manipulation"},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontFamily:"var(--font-mono)",fontSize:"var(--text-sm)",color:"var(--text-dim)",paddingTop:2},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}`))})}),aQ&&null!==bN&&!ao&&(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:"var(--text-sm)",color:"var(--text-dim)"},children:[(0,A.jsx)("span",{children:K?ap("chatInput.loadingCommands"):ap("chatInput.slashCommandsHeader",{countLabel:bU})}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:ap("chatInput.tabEnterHint")})]}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(56vh, 460px) - 34px)",overflowY:"auto",padding:10},children:K||0!==bS.length?bT.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:"var(--text-xs)",fontWeight:600,textTransform:"uppercase"},children:[(0,A.jsx)("span",{children:ap(hz[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===aS,d=hv(a,bO);return(0,A.jsxs)("button",{ref:a=>{bm.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),b3(a)},onMouseEnter:()=>aT(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:"var(--radius-control)",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:"var(--text-base)",fontFamily:"var(--font-mono)",overflowWrap:"anywhere",wordBreak:"break-word"},children:["/",a.name,a.argumentHint&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:"var(--text-xs)",color:"var(--text-dim)"},children:a.argumentHint}),d&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:"var(--text-xs)",color:"var(--text-dim)"},children:ap("chatInput.dormant")})]}),a.description&&(0,A.jsx)("span",{style:{display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden",fontSize:"var(--text-sm)",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:"var(--text-sm)",color:"var(--text-dim)"},children:ap("chatInput.noCommandsFound")})})]}),aQ&&null!==bN&&ao&&(0,A.jsx)(g7,{open:aQ,onClose:()=>aR(!1),title:K?ap("chatInput.loadingCommands"):ap("chatInput.slashCommandsHeader",{countLabel:bU}),maxHeight:"min(75dvh, 520px)",children:(0,A.jsx)("div",{style:{padding:"var(--space-2) var(--space-3)"},children:K||0!==bS.length?bT.map(a=>(0,A.jsxs)("section",{style:{marginBottom:12},children:[(0,A.jsxs)("div",{style:{position:"sticky",top:0,zIndex:1,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"6px var(--space-2)",background:"var(--bg)",color:"var(--text-dim)",fontSize:"var(--text-sm)",fontWeight:600,textTransform:"uppercase"},children:[(0,A.jsx)("span",{children:ap(hz[a.source])}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)",fontWeight:500},children:a.items.length})]}),(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:6},children:a.items.map(({command:a})=>{let b=hv(a,bO);return(0,A.jsxs)("button",{type:"button",onClick:()=>{b3(a),aR(!1)},style:{width:"100%",minHeight:52,display:"flex",flexDirection:"column",gap:4,justifyContent:"center",padding:"10px 12px",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-panel)",color:b?"var(--text-dim)":"var(--text)",cursor:"pointer",textAlign:"left",touchAction:"manipulation"},children:[(0,A.jsxs)("span",{style:{fontSize:"var(--text-base)",fontFamily:"var(--font-mono)",fontWeight:600},children:["/",a.name,a.argumentHint&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:"var(--text-sm)",color:"var(--text-dim)",fontWeight:400},children:a.argumentHint}),b&&(0,A.jsx)("span",{style:{marginLeft:6,fontSize:"var(--text-sm)",color:"var(--text-dim)",fontWeight:400},children:ap("chatInput.dormant")})]}),a.description&&(0,A.jsx)("span",{style:{fontSize:"var(--text-sm)",lineHeight:1.35,color:"var(--text-dim)",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:2,overflow:"hidden"},children:a.description})]},`${a.source}:${a.name}`)})})]},a.source)):(0,A.jsx)("div",{style:{padding:"16px var(--space-4)",fontSize:"var(--text-base)",color:"var(--text-dim)",textAlign:"center"},children:ap("chatInput.noCommandsFound")})})}),aW&&null!==aU&&!ao&&(ac=a4&&(!a2||a2.cwd!==U),ad=aq("chatInput.matchCount",b$.length),ae=a2?.truncated&&!bZ?` \xb7 ${aU.query?ap("chatInput.searchingAllFiles"):ap("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:"var(--text-sm)",color:"var(--text-dim)"},children:[(0,A.jsx)("span",{children:ac?ap("chatInput.loadingFiles"):`${ap("chatInput.filesHeader",{countLabel:ad})}${ae}`}),(0,A.jsx)("span",{style:{fontFamily:"var(--font-mono)"},children:ap("chatInput.tabEnterHint")})]}),(0,A.jsx)("div",{style:{maxHeight:"calc(min(48vh, 400px) - 34px)",overflowY:"auto",padding:4},children:ac||0!==b$.length?b$.map((a,b)=>{let c=b===aY,d=a.path.split("/").pop()??a.path,e=a.path.slice(0,a.path.length-d.length);return(0,A.jsxs)("button",{ref:a=>{bn.current[b]=a},type:"button",onMouseDown:b=>{b.preventDefault(),b1(a)},onMouseEnter:()=>aZ(b),style:{width:"100%",display:"flex",alignItems:"center",gap:8,padding:"6px 8px",border:"none",borderRadius:"var(--radius-control)",background:c?"var(--bg-selected)":"none",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:"var(--text-base)",fontFamily:"var(--font-mono)"},children:[(0,A.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a.isDir?(0,A.jsx)(hl.sj,{size:14}):(0,hl.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:"var(--text-sm)",color:"var(--text-dim)"},children:bY&&!bZ?ap("chatInput.searching"):ap("chatInput.noMatchingFiles")})})]})),aW&&null!==aU&&ao&&(af=a4&&(!a2||a2.cwd!==U),ag=aq("chatInput.matchCount",b$.length),ah=a2?.truncated&&!bZ?` \xb7 ${aU.query?ap("chatInput.searchingAllFiles"):ap("chatInput.indexTruncated")}`:"",(0,A.jsx)(g7,{open:aW,onClose:()=>aX(!1),title:af?ap("chatInput.loadingFiles"):`${ap("chatInput.filesHeader",{countLabel:ag})}${ah}`,maxHeight:"min(75dvh, 520px)",children:(0,A.jsx)("div",{style:{padding:"var(--space-2) var(--space-3)"},children:af||0!==b$.length?b$.map(a=>{let b=a.path.split("/").pop()??a.path,c=a.path.slice(0,a.path.length-b.length);return(0,A.jsxs)("button",{type:"button",onClick:()=>{b1(a),aX(!1)},style:{width:"100%",minHeight:48,display:"flex",alignItems:"center",gap:10,padding:"10px 12px",border:"none",borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text)",cursor:"pointer",textAlign:"left",fontSize:"var(--text-base)",fontFamily:"var(--font-mono)",touchAction:"manipulation"},children:[(0,A.jsx)("span",{style:{flexShrink:0,display:"flex",alignItems:"center"},children:a.isDir?(0,A.jsx)(hl.sj,{size:16}):(0,hl.I3)(b,16)}),(0,A.jsxs)("span",{style:{minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[c&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:c}),b,a.isDir&&(0,A.jsx)("span",{style:{color:"var(--text-dim)"},children:"/"})]})]},`${a.isDir?"d":"f"}:${a.path}`)}):(0,A.jsx)("div",{style:{padding:"16px var(--space-4)",fontSize:"var(--text-base)",color:"var(--text-dim)",textAlign:"center"},children:bY&&!bZ?ap("chatInput.searching"):ap("chatInput.noMatchingFiles")})})})),b7&&(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)",display:"flex",flexDirection:"column",maxHeight:168,overflowY:"auto",minWidth:0},children:[b6>0&&(0,A.jsx)("div",{role:"status",style:{padding:"5px 12px",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:ap("chatInput.queuedNativeCount",{count:String(b6)})}),b5.map(a=>{let b=a8===a.id,c="sending"===a.status,d="failed"===a.status,e=!Q||b||c;return(0,A.jsxs)("div",{"data-queue-id":a.id,style:{padding:"5px 8px 5px 12px",display:"flex",alignItems:"center",gap:8,minWidth:0,borderTop:"1px solid color-mix(in srgb, var(--border) 70%, transparent)"},children:[(0,A.jsx)("span",{style:{flexShrink:0,fontSize:"var(--text-xs)",fontWeight:600,letterSpacing:"0.06em",textTransform:"uppercase",color:d?"var(--status-error)":"var(--text-muted)"},children:c?ap("chatInput.queuedSending"):d?ap("chatInput.queuedFailed"):"steer"===a.lane?ap("chatInput.queuedSteer"):ap("chatInput.queuedFollowUp")}),(0,A.jsx)("span",{title:a.text,style:{flex:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:"var(--text-sm)",color:"var(--text-muted)"},children:a.text}),!!a.attachments?.length&&(0,A.jsx)("span",{style:{color:"var(--text-muted)",flexShrink:0},children:ap("chatInput.queuedImages",{count:a.attachments.length})}),d&&(0,A.jsx)("span",{role:"alert",title:a.error||ap("chatInput.queuedUncertain"),style:{flexShrink:1,minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",fontSize:"var(--text-xs)",color:"var(--status-error)"},children:a.error||ap("chatInput.queuedUncertain")}),(0,A.jsx)(hI,{disabled:e,busy:b,onClick:()=>b9(a),title:ap("chatInput.queuedEditTitle"),children:ap("chatInput.queuedEdit")}),(0,A.jsx)(hI,{disabled:e,busy:b,onClick:()=>ca(a),title:ap("chatInput.queuedDeleteTitle"),children:ap("chatInput.queuedDelete")}),"followUp"===a.lane&&"queued"===a.status&&(0,A.jsx)(hI,{disabled:e,busy:b,onClick:()=>cb(a),title:ap("chatInput.queuedSteerTitle"),accent:!0,children:ap("chatInput.queuedSteerAction")})]},a.id)})]}),(0,A.jsxs)("div",{className:"chat-input-shell",style:{display:"flex",flexDirection:"column",background:"var(--bg)",border:`1px solid ${aO?"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:ba,value:at,onChange:a=>{au(a.target.value),a_(!1),bV(a.target.value,a.target.selectionStart)},onSelect:a=>{let b=a.currentTarget;bV(b.value,b.selectionStart)},onKeyDown:cd,onCompositionStart:()=>{bj.current=!0},onCompositionEnd:a=>{bj.current=!1,bk.current=Date.now();let b=a.currentTarget;bV(b.value,b.selectionStart)},onInput:ce,onPaste:cf,readOnly:!Q,placeholder:ap("chatInput.placeholder"),rows:1,className:"chat-input-textarea",style:{width:"100%",background:"none",border:"none",outline:"none",resize:"none",color:"var(--text)",fontSize:ao?16:"var(--text-base)",lineHeight:1.6,fontFamily:"inherit",minHeight:24,maxHeight:200,overflow:"auto"}}),(0,A.jsxs)("div",{className:"composer-toolbar",style:{display:"flex",alignItems:"center",gap:"var(--space-1)",marginTop:"var(--composer-toolbar-separation)",paddingTop:"var(--composer-toolbar-separation)",borderTop:"1px solid color-mix(in srgb, var(--border) 62%, transparent)",flexWrap:ao?"wrap":"nowrap"},children:[(0,A.jsx)("button",{className:"composer-attachment ui-focus-ring",onClick:()=>bi.current?.click(),disabled:bw||!Q,title:ap("chatInput.attachFile"),"aria-label":ap("chatInput.attachFile"),"data-has-attachments":aH.length||aJ.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"})]})}),(ci.length>0||cl||h||cm)&&j&&(0,A.jsxs)("div",{ref:bb,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();ay({top:b.top,left:b.left,width:b.width}),aw(a=>!a)},disabled:cn,style:{background:av?"var(--bg-hover)":"none",cursor:cn?"not-allowed":"pointer",opacity:cn?.5:1},onMouseEnter:a=>{c||(a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)")},onMouseLeave:a=>{a.currentTarget.style.background=av?"var(--bg-hover)":"none",a.currentTarget.style.color="var(--text-muted)"},title:ci.length>0?ap("chatInput.changeModel"):cm?ap("chatInput.loadingModels"):ap("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"})]}),X&&(0,A.jsx)("span",{title:ap("chatInput.advisorEnabled"),"aria-label":ap("chatInput.advisorEnabled"),style:{display:"flex",flexShrink:0,color:"var(--accent)"},children:(0,A.jsx)(g2,{size:13,strokeWidth:2,"aria-hidden":"true"})}),(0,A.jsx)("span",{className:"composer-model-name",title:cl??void 0,children:cl??(ci.length>0?ap("chatInput.selectModel"):cm?ap("chatInput.loadingModels"):ap("chatInput.noModels"))}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),av&&!ao&&ax&&(aj=(ai=window.visualViewport?.height??window.innerHeight)-ax.top+6,ak=Math.max(120,Math.min(ax.top-8,.6*ai)),(0,A.jsxs)("div",{ref:bc,className:"dropdown-surface",style:{position:"fixed",bottom:aj,left:ax.left,width:"max-content",minWidth:ax.width,maxWidth:"calc(100vw - 16px)",zIndex:500,display:"flex",flexDirection:"column",overflow:"hidden",maxHeight:ak},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)(g3.A,{size:13,strokeWidth:1.8,color:"var(--text-dim)","aria-hidden":"true"}),(0,A.jsx)("input",{ref:bd,type:"search",autoComplete:"off",spellCheck:!1,value:aF,onChange:a=>aG(a.target.value),onKeyDown:a=>{"Escape"===a.key&&(a.preventDefault(),aw(!1))},placeholder:ap("chatInput.searchModels"),"aria-label":ap("chatInput.searchModels"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:"var(--text-md)",boxSizing:"border-box",minWidth:0}})]})}),(0,A.jsx)("div",{style:{overflowY:"auto",minHeight:0,paddingBottom:4},children:0===ck.length?(0,A.jsx)("div",{style:{padding:"8px 12px",color:"var(--text-dim)",fontSize:"var(--text-sm)",whiteSpace:"nowrap"},children:aF.trim()?ap("chatInput.noMatchingModels"):cm?ap("chatInput.loadingModels"):ap("chatInput.noAvailableModels")}):ck.map((a,b)=>(0,A.jsxs)("div",{children:[ck.length>1&&(0,A.jsx)("div",{style:{padding:"6px 12px 4px",fontSize:"var(--text-xs)",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===d?.modelId&&a.provider===d?.provider;return(0,A.jsxs)("button",{className:"dropdown-item",onClick:()=>{aw(!1),!c&&Q&&(!b||e)&&j(a.provider,a.modelId)},disabled:!Q||c,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:"var(--text-sm)",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))})]})),av&&ao&&(0,A.jsxs)(g7,{open:av,onClose:()=>aw(!1),title:ap("chatInput.selectModel"),maxHeight:"min(82dvh, 600px)",children:[(0,A.jsx)("div",{style:{padding:"8px var(--space-4) 10px",flexShrink:0,borderBottom:"1px solid var(--border)"},children:(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,padding:"8px 12px",background:"var(--bg-panel)",border:"1px solid var(--border)",borderRadius:"var(--radius-control)",minHeight:44},children:[(0,A.jsx)(g3.A,{size:16,strokeWidth:1.8,color:"var(--text-dim)","aria-hidden":"true"}),(0,A.jsx)("input",{ref:bd,type:"search",autoComplete:"off",spellCheck:!1,value:aF,onChange:a=>aG(a.target.value),placeholder:ap("chatInput.searchModels"),"aria-label":ap("chatInput.searchModels"),style:{flex:1,background:"none",border:"none",outline:"none",color:"var(--text)",fontSize:16,boxSizing:"border-box",minWidth:0,touchAction:"manipulation"}})]})}),(0,A.jsx)("div",{style:{overflowY:"auto",minHeight:0,padding:"var(--space-2) var(--space-3)"},children:0===ck.length?(0,A.jsx)("div",{style:{padding:"16px var(--space-4)",color:"var(--text-dim)",fontSize:"var(--text-base)",textAlign:"center"},children:aF.trim()?ap("chatInput.noMatchingModels"):cm?ap("chatInput.loadingModels"):ap("chatInput.noAvailableModels")}):ck.map((a,b)=>(0,A.jsxs)("div",{style:{marginBottom:12},children:[ck.length>1&&(0,A.jsx)("div",{style:{padding:"6px var(--space-2)",fontSize:"var(--text-sm)",fontWeight:600,color:"var(--text-dim)",textTransform:"uppercase",letterSpacing:"0.07em",borderTop:b>0?"1px solid var(--border)":"none"},children:a.provider}),(0,A.jsx)("div",{style:{display:"flex",flexDirection:"column",gap:4},children:a.options.map(a=>{let b=a.modelId===d?.modelId&&a.provider===d?.provider;return(0,A.jsxs)("button",{type:"button",onClick:()=>{aw(!1),!c&&Q&&(!b||e)&&j(a.provider,a.modelId)},disabled:!Q||c,style:{display:"flex",alignItems:"center",justifyContent:"space-between",gap:12,minHeight:48,padding:"10px 12px",borderRadius:"var(--radius-control)",background:b?"var(--bg-selected)":"transparent",border:"none",color:"var(--text)",cursor:"pointer",textAlign:"left",touchAction:"manipulation"},children:[(0,A.jsxs)("div",{style:{minWidth:0,flex:1},children:[(0,A.jsx)("div",{style:{fontSize:"var(--text-base)",fontWeight:b?600:400},children:a.name}),(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)",marginTop:2},children:a.provider})]}),b&&(0,A.jsx)(L.A,{size:16,color:"var(--accent)",style:{flexShrink:0}})]},`${a.provider}:${a.modelId}`)})})]},a.provider))})]})]}),s&&(0,A.jsxs)("div",{ref:be,className:"composer-thinking-control",style:{position:"relative"},children:[(0,A.jsxs)("button",{className:"composer-thinking-button ui-focus-ring",onClick:a=>{let b=a.currentTarget.getBoundingClientRect();aC({top:b.top,left:b.left,width:b.width}),aA(a=>!a)},disabled:!Q,title:ap("chatInput.changeReasoningTitle",{level:cr}),"aria-label":`${ap("chatInput.changeReasoning")}: ${cr}`,style:{background:az?"var(--bg-hover)":"none"},onMouseEnter:a=>{a.currentTarget.style.background="var(--bg-hover)",a.currentTarget.style.color="var(--text)"},onMouseLeave:a=>{a.currentTarget.style.background=az?"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:cs}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,style:{flexShrink:0,opacity:.7},"aria-hidden":"true"})]}),az&&!ao&&aB&&(am=(al=window.visualViewport?.height??window.innerHeight)-aB.top+6,an=Math.max(120,Math.min(aB.top-8,.6*al)),(0,A.jsx)("div",{ref:bf,className:"dropdown-surface",style:{position:"fixed",bottom:am,left:aB.left,zIndex:500,minWidth:Math.max(250,aB.width),maxWidth:"calc(100vw - 32px)",maxHeight:an,overflowY:"auto"},children:cC.map(a=>{let b=(r??"auto")===a,c=ht[a],d=c?ap(c):"",e="auto"!==a&&u?u[a]:void 0,f=null!=e&&e!==a?e:a,g=null!=e&&e!==a;return(0,A.jsxs)("button",{className:"dropdown-item",onClick:()=>{aA(!1),Q&&!b&&s(a)},disabled:!Q,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:"var(--text-sm)",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:[f,g&&(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:"var(--text-sm)",color:"var(--text-dim)",marginLeft:8},children:d})]},a)})})),az&&ao&&(0,A.jsx)(g7,{open:az,onClose:()=>aA(!1),title:ap("chatInput.changeReasoning"),maxHeight:"min(60dvh, 400px)",children:(0,A.jsx)("div",{style:{padding:"var(--space-2) var(--space-3)"},children:cC.map(a=>{let b=(r??"auto")===a,c=ht[a],d=c?ap(c):"",e="auto"!==a&&u?u[a]:void 0,f=null!=e&&e!==a?e:a,g=null!=e&&e!==a;return(0,A.jsxs)("button",{type:"button",onClick:()=>{aA(!1),Q&&!b&&s(a)},disabled:!Q,style:{display:"flex",alignItems:"center",gap:12,width:"100%",minHeight:48,padding:"10px 14px",background:b?"var(--bg-selected)":"transparent",border:"none",borderRadius:"var(--radius-control)",color:b?"var(--text)":"var(--text-muted)",cursor:"pointer",textAlign:"left",fontSize:"var(--text-base)",touchAction:"manipulation"},children:[(0,A.jsxs)("div",{style:{flex:1,minWidth:0},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:6,fontWeight:b?600:400},children:[(0,A.jsx)("span",{children:f}),g&&(0,A.jsxs)("span",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)"},children:["(",a,")"]})]}),d&&(0,A.jsx)("div",{style:{fontSize:"var(--text-sm)",color:"var(--text-dim)",marginTop:2},children:d})]}),b&&(0,A.jsx)(L.A,{size:16,color:"var(--accent)",style:{flexShrink:0}})]},a)})})})]}),m&&n&&(0,A.jsxs)("button",{className:"composer-fast-toggle ui-focus-ring",type:"button",onClick:()=>{Q&&!c&&n(!k)},disabled:!Q||c,title:k&&!1===l?"Fast mode is enabled but inactive for this model":`Turn OMP Fast mode ${k?"off":"on"} for this model`,"aria-pressed":k,style:{background:k?"var(--bg-selected)":"none",color:k&&!1===l?"var(--status-warning)":k?"var(--accent)":"var(--text-muted)",cursor:c?"not-allowed":"pointer",opacity:c?.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"})}),ap("chatInput.fastLabel")]}),(0,A.jsx)("div",{className:"composer-toolbar-spacer",style:{flex:1}}),(0,A.jsxs)("div",{ref:bg,className:"composer-context-ring-wrap",children:[(0,A.jsxs)("button",{type:"button",className:"composer-context-ring","aria-haspopup":cv?"dialog":void 0,"aria-expanded":aD,"aria-label":cv?ap("chatInput.contextWindow"):ap("chatInput.contextWindowUnavailable"),title:cw??void 0,disabled:!cv,onClick:()=>aE(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:hr,strokeDashoffset:hr*(1-ct/100),transform:"rotate(-90 13 13)"})]}),(0,A.jsx)("span",{className:"composer-context-ring-label",children:cu})]}),cv&&cw&&aD&&(0,A.jsxs)("div",{className:"dropdown-surface composer-context-ring-popup",role:"dialog","aria-label":ap("chatInput.contextWindow"),children:[(0,A.jsx)("strong",{className:"composer-context-ring-popup-title",children:ap("chatInput.contextWindow")}),(0,A.jsx)("span",{className:"composer-context-ring-popup-used",children:ap("chatInput.contextUsed",{percent:hq(ct)})}),cx&&(0,A.jsx)("span",{className:"composer-context-ring-popup-meta",children:cx}),cy&&(0,A.jsx)("span",{className:"composer-context-ring-popup-meta",children:cy})]})]}),c&&!ao&&P&&(0,A.jsxs)("button",{type:"button",className:"composer-queue-action composer-queue-action-steer ui-focus-ring",onClick:()=>b4("steer"),disabled:!Q||bw||!cA,title:ap("chatInput.steerNowTitle"),"aria-label":ap("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:ap("chatInput.steer")})]}),c&&!ao&&P&&(0,A.jsxs)("button",{type:"button",className:"composer-queue-action composer-queue-action-followup ui-focus-ring",onClick:()=>b4("followup"),disabled:!Q||bw||!cA,title:ap("chatInput.followUpTitle"),"aria-label":ap("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:ap("chatInput.followUp")})]}),c&&cB?(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:()=>b4(cB),title:"steer"===cB?ap("chatInput.steerNowTitle"):ap("chatInput.followUpTitle"),"aria-label":"steer"===cB?ap("chatInput.steer"):ap("chatInput.followUp"),disabled:!Q||bw,"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"===cB?ap("chatInput.steer"):ap("chatInput.followUp")})]}):c?(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:p?o:b,title:ap("chatInput.stopAgent"),"aria-label":ap("chatInput.stopAgent"),disabled:!Q,"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:ap("chatInput.stop")})]}):(0,A.jsxs)("button",{className:"composer-primary-action ui-focus-ring",type:"button",onClick:bM,disabled:!Q||bw||!at.trim()&&!aH.length&&!aJ.length,title:ap("chatInput.send"),"aria-label":ap("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:ap("chatInput.send")})]})]})]})]}),aO&&(0,A.jsx)("div",{className:"text-xs px-2 py-1",style:{color:aP?"var(--text-muted)":"var(--accent)",marginTop:4},children:aP?ap("chatInput.shellLocal"):ap("chatInput.shellToModel")})]})]})}));function hM({request:a,onRespond:b,runtimeReady:c=!0}){let{t:d}=(0,G.s9)(),[e,f]=(0,B.useState)("editor"===a.method?a.prefill??"":""),g=()=>{c&&b(a,{cancelled:!0})},h=(0,g5.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 hN=c(60776);async function hO(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,hN.K)(d):`HTTP ${c.status}`);return d.data}function hP({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 hQ="calc(var(--space-4) + var(--space-1)) var(--space-5)",hR={fontFamily:"var(--font-mono)",fontSize:"var(--text-xs)",fontWeight:700,letterSpacing:.4,textTransform:"uppercase",color:"var(--text-dim)"};function hS({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)(hS,{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)(hS,{value:a[b]})})]},b))}):(0,A.jsx)("span",{style:{color:"var(--text-muted)",fontSize:"var(--text-md)"},children:String(a)})}function hT({task:a}){let{t:b}=(0,G.s9)();return a?(0,A.jsxs)("section",{style:{border:"1px solid var(--border)",borderRadius:"var(--radius-control)",background:"var(--bg-subtle)",padding:hQ},children:[(0,A.jsx)("span",{style:hR,children:b("subagentTranscript.taskLabel")}),(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(gb,{className:"markdown-subagent-text",children:a})})]}):null}function hU({completion:a,truncated:b}){let{t:c}=(0,G.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:hQ},children:[(0,A.jsxs)("div",{style:{display:"flex",alignItems:"baseline",gap:"var(--space-4)"},children:[(0,A.jsx)("span",{style:hR,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)(hS,{value:d})}):a?(0,A.jsx)("div",{style:{marginTop:"var(--space-3)"},children:(0,A.jsx)(gb,{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 hV({subagent:a,sessionId:b,transcriptVersion:c,events:d,onClose:e}){let{t:f}=(0,G.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),E=(0,B.useRef)(0),F=(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 hO(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=++F.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!==F.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!==F.current)return;z(a instanceof Error?a.message:String(a))}finally{d===F.current&&x(!1)}},[b,a?.id,I,L]);(0,B.useCallback)(async()=>{if(!b||!a?.id)return;let c=++E.current;n(!0),p(null);try{let d=await K();if(null===d.completion&&J){let d=((await hO(b,{type:"get_subagents"})).subagents??[]).find(b=>b.id===a?.id);if(c!==E.current)return;d&&h(d)}if(c!==E.current)return;j(d.completion),l(d.truncated)}catch(a){if(c!==E.current)return;p(a instanceof Error?a.message:String(a))}finally{c===E.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=gs(Q?.tokens),S=a?.source==="history"?[R?f("chatWindow.tokensUnit",{count:R}):null,gt(Q?.cost),gu(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)(gl.lG,{open:H,onOpenChange:a=>{a||e()},children:a&&(0,A.jsx)(gl.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)(gl.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)(gl.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)(hT,{task:P}),(0,A.jsx)(hU,{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:hQ,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)(hP,{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 hW(a,b,c){return`${a}:${b}:${c}`}function hX(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 hY(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 hZ=(0,B.memo)(function({messages:a,scrollContainer:b,messageRefs:c,layoutKey:d}){let[e,f]=(0,B.useState)(0),[g,h]=(0,B.useState)(1),[i,j]=(0,B.useState)(!1),[k,l]=(0,B.useState)([]),[m,n]=(0,B.useState)(!1),[o,p]=(0,B.useState)(null),q=(0,B.useRef)(!1),r=(0,B.useRef)(null),s=(0,B.useRef)(null),t=(0,B.useRef)(null),u=(0,B.useRef)(null),v=(0,B.useRef)(a);v.current=a;let w=(0,B.useCallback)(()=>{let a=b.current;if(!a)return;let c=a.scrollHeight,d=a.clientHeight,e=c-d;j(e>20),e<=0?(f(0),h(1)):(f(a.scrollTop/e),h(d/c))},[b]),x=(0,B.useRef)(null),y=(0,B.useCallback)(()=>{let a=b.current;if(!a)return;let d=a.scrollHeight;if(d<=0)return;let e=c.current,f=[],g=0,h=v.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?.isConnected){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})}}l(f)},[b,c]),z=(0,B.useCallback)(()=>{x.current||(x.current=setTimeout(()=>{x.current=null,y()},150))},[y]),C=(0,B.useRef)(null),D=(0,B.useCallback)(()=>{C.current=null,w()},[w]);(0,B.useEffect)(()=>{let a=b.current;if(!a)return;let c=()=>{null===C.current&&(C.current=requestAnimationFrame(D))};return a.addEventListener("scroll",c,{passive:!0}),()=>{a.removeEventListener("scroll",c),null!==C.current&&(cancelAnimationFrame(C.current),C.current=null)}},[b,D]),(0,B.useEffect)(()=>{let a=b.current;if(!a)return;let c=()=>{w(),z()},d=new ResizeObserver(c);return d.observe(a),a.firstElementChild&&d.observe(a.firstElementChild),c(),()=>{d.disconnect(),x.current&&(clearTimeout(x.current),x.current=null)}},[b,z,w]),(0,B.useEffect)(()=>{let a=setTimeout(()=>{x.current&&(clearTimeout(x.current),x.current=null),w(),y()},50);return()=>clearTimeout(a)},[a.length,d,y,w]),(0,B.useEffect)(()=>()=>{null!==t.current&&(cancelAnimationFrame(t.current),t.current=null)},[]);let E=(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-g,a))/(1-g)*d)},[b,g]),F=(0,B.useCallback)(()=>{t.current=null,null!==u.current&&(p(u.current),u.current=null)},[]),G=(0,B.useCallback)(a=>{let b=a.currentTarget.getBoundingClientRect();u.current=(a.clientY-b.top)/b.height,null===t.current&&(t.current=requestAnimationFrame(F))},[F]),H=(0,B.useCallback)(a=>{if(!i)return;q.current=!0;let b=a.currentTarget.getBoundingClientRect(),c=(a.clientY-b.top)/b.height,d=c-e*(1-g),f=d>=0&&d<=g?d:g/2;E(c-f);let h=a=>{q.current&&E((a.clientY-b.top)/b.height-f)},j=()=>{q.current=!1,r.current=null,window.removeEventListener("mousemove",h),window.removeEventListener("mouseup",j)};window.addEventListener("mousemove",h),window.addEventListener("mouseup",j),r.current={onMove:h,onUp:j}},[i,g,e,E]);(0,B.useEffect)(()=>()=>{let a=r.current;a&&(window.removeEventListener("mousemove",a.onMove),window.removeEventListener("mouseup",a.onUp),r.current=null),q.current=!1},[]);let I=s.current?.clientHeight??600,J=(0,B.useMemo)(()=>k.map(a=>hY(a.msg)),[k]),K=(0,B.useMemo)(()=>k.map(a=>hX(a.msg)),[k]),L=(0,B.useMemo)(()=>{if(!m||0===k.length)return[];let a=k.map(a=>Math.round(a.topRatio*I-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(I-22,a[b]));return a},[m,k,I]);if(!i)return null;let M=e*(1-g)*100,N=100*g,O=null!==o&&k.length>0?k.reduce((a,b)=>Math.abs(b.topRatio-o)<Math.abs(k[a].topRatio-o)?b.index:a,0):null;return(0,A.jsxs)("div",{ref:s,onMouseDown:H,onMouseEnter:()=>n(!0),onMouseLeave:()=>{n(!1),p(null)},onMouseMove:G,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:`${M}%`,height:`${N}%`,background:"color-mix(in srgb, var(--text-dim) 32%, transparent)",borderRadius:2,pointerEvents:"none",zIndex:1}}),k.map(a=>{let b=J[a.index]??hY(a.msg),c=m&&O===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}}),m&&k.map((a,b)=>{let c=K[b]??hX(a.msg),d=J[b]??hY(a.msg),e=O===a.index;return c&&0!==L.length?(0,A.jsx)("div",{style:{position:"absolute",top:L[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})]})}),h$=(0,E.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"}]]),h_={display:"flex",alignItems:"center",gap:"var(--space-4)",padding:"var(--space-4) var(--space-5)",fontSize:"var(--text-xs)",color:"var(--text-muted)"};function h0({status:a}){let b={size:14,strokeWidth:1.8,"aria-hidden":!0};return"completed"===a?(0,A.jsx)(gm,{...b,color:"var(--accent)"}):"in_progress"===a?(0,A.jsx)(h$,{...b,color:"var(--accent)"}):"blocked"===a?(0,A.jsx)(gn.A,{...b,color:"var(--text-muted)"}):"abandoned"===a?(0,A.jsx)(gp,{...b,color:"var(--text-dim)"}):(0,A.jsx)(gq,{...b,color:"var(--text-dim)"})}function h1({phases:a=[],collapsible:b=!1,defaultExpanded:c=!1}){let{t:d}=(0,G.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:{...h_,background:"none"},children:[(0,A.jsx)(g1,{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:h_,children:[(0,A.jsx)(g1,{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)(h0,{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 h2=c(27993);let h3=(0,E.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"}]]),h4=(0,E.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"}]]),h5=(0,E.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 h6=c(28624);let h7=(0,E.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"}]]),h8=(0,E.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 h9=c(58250);let ia=(0,E.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"}]]),ib=(0,E.A)("clock-3",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 6v6h4",key:"135r8i"}]]),ic=(0,E.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 id=c(77265);function ie(a,b){switch(a){case"pending":case"running":return"started";case"completed":case"failed":case"aborted":return a;default:return b}}function ig(a,b=Date.now()){return"history"===a.source?"history":"started"!==a.status?"live":void 0===a.lastUpdate||b-a.lastUpdate>15e3?"stale":"live"}function ih(a,b,c=Date.now()){switch(b){case"active":return a.filter(a=>"history"!==a.source&&"started"===a.status&&"live"===ig(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 ii(a){return"history"===a.source?"history":"live"}function ij(a){return"started"!==a.status}function ik(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=ii(b),f=ii(a);if(!(!ij(a)&&ij(b))){if("history"===f&&"live"===c){if(!ij(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 il={started:"chatWindow.subagentState.started",completed:"chatWindow.subagentState.completed",failed:"chatWindow.subagentState.failed",aborted:"chatWindow.subagentState.aborted",lost:"chatWindow.subagentState.lost"},im=[{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 io({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 ip({subagent:a}){let{t:b}=(0,G.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)(io,{icon:h2.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)(io,{icon:c?.currentTool?h3:h4,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=gs(c?.tokens),i=gt(c?.cost??a.result?.cost),j=gs(c?.contextTokens),k=j?`${j}/${gs(c?.contextWindow)??"?"}`:null,l=gv(c?.resolvedModel),m=gu(c?.durationMs),n=[g?(0,A.jsx)(io,{icon:h5,label:g,children:"user"===g?null:g},"source"):null,f>0?(0,A.jsx)(io,{icon:h6.A,label:b("chatWindow.subagentNestedCount",{count:f}),children:f},"nested"):null,h?(0,A.jsx)(io,{icon:h7,label:b("chatWindow.tokensUnit",{count:h}),children:h},"tokens"):null,i?(0,A.jsx)(io,{icon:h8,label:i,children:i},"cost"):null,k?(0,A.jsx)(io,{icon:h9.A,label:b("chatWindow.contextGauge",{used:j??"?",total:gs(c?.contextWindow)??"?"}),children:k},"context"):null,l?(0,A.jsx)(io,{icon:ia,label:l,children:l},"model"):null,m?(0,A.jsx)(io,{icon:ib,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 iq({events:a}){let{t:b}=(0,G.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 ir({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 is({subagent:a,events:b,freshnessNow:c,onSelectSubagent:d}){let{t:e}=(0,G.s9)(),f="history"!==a.source,g=e(il[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":ig(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)(gr,{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)(ip,{subagent:a}),(0,A.jsx)(iq,{events:b})]})}function it(a,b){return"history"!==a.source&&"started"===a.status&&"live"===ig(a,b)}function iu({subagents:a,subagentEvents:b={},onSelectSubagent:c,defaultExpanded:d=!1,now:e}){let{t:f}=(0,G.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:ih(a,"active",m).length,completed:ih(a,"completed",m).length,failed:ih(a,"failed",m).length}),[a,m]),p=o.active,q=(0,B.useMemo)(()=>ih(a,i,m),[a,i,m]),r=(0,B.useMemo)(()=>(function(a,b=Date.now()){let c=[...a].sort((a,c)=>{let d=it(a,b);return d!==it(c,b)?d?-1:1:c.index-a.index||c.id.localeCompare(a.id)}),d=new Set(c.map(a=>a.id)),e=new Map,f=[],g=new Map;for(let a of c){let b=a.parentToolCallId;if(!b){f.push(a);continue}let c=e.get(b)??[];if(c.push(a),e.set(b,c),!d.has(b)){let c=g.get(b)??[];c.push(a),g.set(b,c)}}let h=[],i=new Set,j=(a,b)=>{for(let c of a){if(i.has(c.id))continue;i.add(c.id),h.push({kind:"row",key:`row-${c.id}`,subagent:c,depth:b});let a=(e.get(c.id)??[]).filter(a=>!i.has(a.id));0!==a.length&&(h.push({kind:"group",key:`group-nested-${c.id}`,group:"nested",parentLabel:c.agent,depth:b+1}),j(a,b+1))}},k=a=>{let c=-1/0,d=-1/0,f=[...a],g=new Set;for(;f.length>0;){let a=f.pop();g.has(a.id)||(g.add(a.id),c=Math.max(c,a.index),it(a,b)&&(d=Math.max(d,a.index)),f.push(...e.get(a.id)??[]))}let h=d!==-1/0;return{active:h,sortIndex:h?d:c}},l=[...f.map(a=>{let b=k([a]);return{kind:"root",key:a.id,items:[a],...b}}),...[...g.entries()].map(([a,b])=>{let c=k(b);return{kind:"orphan",key:a,parentId:a,items:b,...c}})];l.sort((a,b)=>a.active!==b.active?a.active?-1:1:b.sortIndex-a.sortIndex||a.key.localeCompare(b.key));let m=null;for(let a of l){if("root"===a.kind){"root"!==m&&h.push({kind:"group",key:`group-roots-${a.key}`,group:"roots",depth:0}),j(a.items,0),m="root";continue}"orphan"!==m&&h.push({kind:"group",key:`group-orphans-${a.key}`,group:"orphans",depth:0}),h.push({kind:"group",key:`group-parent-${a.parentId}`,group:"nested",parentLabel:a.parentId,depth:0}),j(a.items,0),m="orphan"}let n=c.filter(a=>!i.has(a.id));return n.length>0&&j(n,0),h})(q,m),[q,m]);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)(ic,{"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:im.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)(ir,{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)(is,{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)(id.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")})]})]})]})]})}let iv=(0,B.memo)(function({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)(h1,{phases:a,collapsible:!0,defaultExpanded:e}),b.length>0&&(0,A.jsx)(iu,{subagents:b,subagentEvents:c,onSelectSubagent:d,defaultExpanded:e})]})},function(a,b){return a.todoPhases===b.todoPhases&&a.subagents===b.subagents&&a.subagentEvents===b.subagentEvents&&a.onSelectSubagent===b.onSelectSubagent&&a.defaultExpanded===b.defaultExpanded});function iw(a){if("assistant"!==a.role)return a;let b=a.content;if("string"==typeof b)return{...a,content:[{type:"text",text:b}]};if(!Array.isArray(b))return a;let c=b.map(a=>(gi(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}}function ix(a,b,c,d,e,f,g,h){return a===b&&c===d&&e===f&&(void 0===h||g===h)}let iy={revision:0,items:[]},iz=new Set(["steer","followUp"]),iA=new Set(["queued","sending","failed"]);function iB(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=gj(a.id),c=gj(a.text),d=gj(a.lane),e=gj(a.status);if(!b||void 0===c||!iz.has(d??"")||!iA.has(e??""))return null;let f={id:b,text:c,lane:d,status:e};if(void 0!==a.error){let b=gj(a.error);if(void 0===b)return null;f.error=b}if(void 0!==a.attachments){if(!Array.isArray(a.attachments)||a.attachments.length>10)return null;let b=[];for(let c of a.attachments){if("object"!=typeof c||null===c||"string"!=typeof c.mimeType||!c.mimeType.startsWith("image/")||"number"!=typeof c.bytes||!Number.isSafeInteger(c.bytes)||c.bytes<=0||c.bytes>0xa00000)return null;b.push({mimeType:c.mimeType,bytes:c.bytes})}f.attachments=b}return f}function iC(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=gk(a.revision);if(void 0===b||!Array.isArray(a.items))return null;let c=[];for(let b of a.items){let a=iB(b);if(!a)return null;c.push(a)}let d={revision:b,items:c};if(void 0!==a.nativeQueuedCount){let b=gk(a.nativeQueuedCount);if(void 0===b)return null;d.nativeQueuedCount=b}return d}function iD(a){return"object"!=typeof a||null===a||Array.isArray(a)?null:"message_queue_update"===a.type?iC(a.queue):iC(a)}function iE(a){if("object"!=typeof a||null===a||Array.isArray(a))return null;let b=iC(a.queue),c=iB(a.recalled);if(!b||!c||"object"!=typeof a.recalled||null===a.recalled)return null;let d="images"in a.recalled?a.recalled.images:void 0;if(function(a){if(void 0===a)return null;if(!Array.isArray(a))return"images must be an array";if(a.length>10)return"A message can include at most 10 images";for(let b of a){if(!b||"object"!=typeof b||"image"!==b.type)return"Each attachment must be an image";if(!gf(b))return"Each image must be valid base64 image data of 10MB or smaller"}return null}(d))return null;let e=[];if(Array.isArray(d))for(let a of d){if("object"!=typeof a||null===a||"image"!==a.type||"string"!=typeof a.data||"string"!=typeof a.mimeType)return null;e.push({type:"image",data:a.data,mimeType:a.mimeType})}if((c.attachments?.length??0)!==e.length)return null;for(let a=0;a<e.length;a+=1){let b=c.attachments?.[a],d=e[a];if(!b||b.mimeType!==d.mimeType||b.bytes!==ge(d.data))return null}return{queue:b,recalled:e.length?{...c,images:e}:c}}function iF(a){if("object"!=typeof a||null===a||Array.isArray(a)||!("queue"in a))return null;let b=iD(a.queue);return b?"recalled"in a&&void 0!==a.recalled&&null!==a.recalled?iE(a):{queue:b}:null}function iG(a){return"bundled"===a||"user"===a||"project"===a?a:void 0}function iH(a){var b;if(!gi(a))return;let c={},d=gk(a.index);void 0!==d&&(c.index=d);let e=gj(a.id);void 0!==e&&(c.id=e);let f=gj(a.agent);void 0!==f&&(c.agent=f);let g=iG(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=gj(a.task);void 0!==i&&(c.task=i);let j=gj(a.assignment);void 0!==j&&(c.assignment=j);let k=gj(a.description);void 0!==k&&(c.description=k);let l=gj(a.lastIntent);void 0!==l&&(c.lastIntent=l);let m=gj(a.currentTool);void 0!==m&&(c.currentTool=m);let n=gj(a.currentToolArgs);void 0!==n&&(c.currentToolArgs=n);let o=gk(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=gk(a.toolCount);void 0!==p&&(c.toolCount=p);let q=gk(a.requests);void 0!==q&&(c.requests=q);let r=gk(a.tokens);void 0!==r&&(c.tokens=r);let s=gk(a.contextTokens);void 0!==s&&(c.contextTokens=s);let t=gk(a.contextWindow);void 0!==t&&(c.contextWindow=t);let u=gk(a.cost);void 0!==u&&(c.cost=u);let v=gk(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=gj(a.modelRole);void 0!==w&&(c.modelRole=w);let x=gj(a.resolvedModel);if(void 0!==x&&(c.resolvedModel=x),"boolean"==typeof a.resolvedModelIsFallback&&(c.resolvedModelIsFallback=a.resolvedModelIsFallback),gi(a.retryState)){let b=gk(a.retryState.attempt),d=gk(a.retryState.maxAttempts),e=gk(a.retryState.delayMs),f=gj(a.retryState.errorMessage),g=gk(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(gi(a.retryFailure)){let b=gk(a.retryFailure.attempt),d=gj(a.retryFailure.errorMessage);void 0!==b&&void 0!==d&&(c.retryFailure={attempt:b,errorMessage:d})}return void 0!==a.inflightTaskDetails&&(c.inflightTaskDetails=a.inflightTaskDetails),gi(a.extractedToolData)&&(c.extractedToolData=a.extractedToolData),Object.keys(c).length>0?c:void 0}function iI(a){let b;if(!gi(a))return;let c=gj(a.id),d=gj(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:gk(a.index)??-1,source:"live"},f=iG(a.agentSource);void 0!==f&&(e.agentSource=f);let g=gj(a.description);void 0!==g&&(e.description=g);let h=gj(a.task);void 0!==h&&(e.task=h);let i=gj(a.assignment);void 0!==i&&(e.assignment=i);let j=gj(a.sessionFile);void 0!==j&&(e.sessionFile=j);let k=gj(a.parentToolCallId);void 0!==k&&(e.parentToolCallId=k);let l=gk(a.lastUpdate);void 0!==l&&(e.lastUpdate=l);let m=iH(a.progress);return void 0!==m&&(e.progress=m),e}function iJ(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 iK(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}var iL=c(48043);let iM=[],iN=["read","bash","edit","write","task"],iO=["bash","read","edit","write","grep","find","ls","task"];c(57548);let iP="omp-web:tool-preset";function iQ(){return globalThis.__ompClientModelStore||(globalThis.__ompClientModelStore={globalGeneration:0,entries:new Map,inFlight:new Map,listeners:new Map}),globalThis.__ompClientModelStore}function iR(a,b){b.snapshot={status:b.status,data:b.data,error:b.error,cwd:a,expiresAt:b.expiresAt};let c=iQ().listeners.get(a);if(c)for(let a of[...c])try{a(b.snapshot)}catch{}return b.snapshot}function iS(a,b){let c=a.entries.get(b);if(c)return c;let d={data:null,error:null,status:"idle",expiresAt:null,generation:0,snapshot:{status:"idle",data:null,error:null,cwd:b,expiresAt:null}};return a.entries.set(b,d),d}function iT(a){return Math.max(0,a.scrollHeight-a.clientHeight)}function iU(a,b){switch(b.type){case"start":return{isStreaming:!0,streamingMessage:null,revision:a.revision+1};case"update":return{isStreaming:!0,streamingMessage:b.message,revision:a.revision+1};case"end":case"reset":return{isStreaming:!1,streamingMessage:null,revision:a.revision+1};default:return a}}function iV(a){return a&&"inherit"!==a?a:"auto"}function iW(a){return a?.provider&&a.id?{provider:a.provider,modelId:a.id,name:a.name,reasoning:a.reasoning,thinking:a.thinking}:null}let iX=new Set(["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"," ","Space","Spacebar"]);function iY(a){return/429|quota|RESOURCE_EXHAUSTED|Cloud Code Assist/i.test(a)}class iZ extends Error{constructor(a){super("timeout"===a?(0,G.Tl)("agentSession.eventStreamTimeout"):(0,G.Tl)("agentSession.eventStreamFailed")),this.status=a,this.name="EventStreamConnectionError"}}function i$(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 i_(a){let b=a.findIndex(a=>!a.exiting);return -1===b?a:a.map((a,c)=>c===b?{...a,exiting:!0}:a)}function i0(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:i_(a.visible),pending:[...a.pending,b.notice]};return{...a,visible:[...a.visible,b.notice]};case"mark_oldest_exiting":return{...a,visible:i_(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=i_(c)),{visible:c,pending:d}}(a.visible.filter(a=>a.id!==b.id),a.pending);default:return a}}function i1(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 i2(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 i3(a){let b=a.content;return"string"==typeof b?JSON.stringify({text:b,images:[]}):Array.isArray(b)?JSON.stringify({text:i1(a),images:b.map(i2).filter(Boolean)}):JSON.stringify({text:"",images:[]})}function i4(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 i5(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 i6(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 i7(a){return a.type.startsWith("image/")||"text/plain"===a.type||"text/markdown"===a.type}let i8=/\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/g,i9=/^\x1B(?:[@-Z\\-_]|\[[0-?]*[ -/]*[@-~]|\][^\x07]*(?:\x07|\x1B\\))/,ja=/\x1B\[([0-9;]*)m/g,jb=/\x1B_pi:c\x07/g,jc=["#1f2937","#dc2626","#16a34a","#d97706","#2563eb","#9333ea","#0891b2","#6b7280"],jd=["#9ca3af","#ef4444","#22c55e","#f59e0b","#3b82f6","#a855f7","#06b6d4","#e5e7eb"];function je(a){return a.replace(jb,"").replace(i8,"")}function jf(a){let b=[],c=0;for(;c<a.length;){if(27===a.charCodeAt(c)){let b=a.slice(c).match(i9);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 jg(a,b){let c=jf(a)[b];return c?a.slice(0,c.start)+a.slice(c.end):a}function jh(a){return jf(a)[0]?.char}let ji={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:""},jj={ArrowLeft:"\x1bb",ArrowRight:"\x1bf",ArrowUp:"\x1bp",ArrowDown:"\x1bn"};function jk(a,b,c){return Math.min(Math.max(a,b),c)}function jl(a,b,c=150){let d=Math.max(0,a),e=Math.max(0,c),f=jk(b.startIndex,0,d),g=jk(b.endIndex,f,d);return g-f>e&&(g=f+e)>d&&(f=Math.max(0,(g=d)-e)),g===f&&d>0&&e>0&&(g=Math.min(d,f+Math.min(e,d)))===f&&(f=Math.max(0,d-Math.min(e,d)),g=d),{startIndex:f,endIndex:g,hasMoreAbove:f>0,hasMoreBelow:g<d}}function jm(a,b=50,c=150){let d=Math.max(0,a),e=Math.min(Math.max(b,0),c,d);return jl(d,{startIndex:d-e,endIndex:d},c)}function jn(a){return"user"===a.role||"custom"===a.role&&"compaction"===a.customType}function jo(a,b,c={}){let d={...a,content:b};return c.omitUsage&&(d.usage=void 0),d}function jp({refreshKey:a=0}){let{t:b}=(0,G.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 jq({messageCount:a,toolCallCount:b,children:c}){let{t:d,tn:e}=(0,G.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 jr=(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,sessionKey:r,scrollContainerRef:s,onRenderWindowChange:t}){let{t:u}=(0,G.s9)(),{toolResultsMap:v,lastAnchorIdx:w,visibleRefIndexByMessage:x}=c,[y,z]=(0,B.useState)(()=>jm(0)),[C,E]=(0,B.useState)(!0),H=(0,B.useRef)(null),L=(0,B.useRef)(null),M=(0,B.useRef)(!1),N=(0,B.useRef)(null),O=(0,B.useRef)(jm(0)),P=(0,B.useMemo)(()=>(function(a,b){let c=[];for(let e=0;e<a.length;){if(!jn(a[e])){c.push({kind:"message",idx:e}),e+=1;continue}let f=e,g=f+1;for(;g<a.length&&!jn(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&&J(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,f,g),i=(b.sessionBusy||b.isStreaming)&&g===a.length&&f===b.lastAnchorIdx;if(-1===h||i){for(let a=f;a<g;a++)c.push({kind:"message",idx:a});e=g;continue}c.push({kind:"message",idx:f});let j=[];for(let b=f+1;b<h;b++){var d;("assistant"===(d=a[b]).role?I(d).length>0:"custom"===d.role)&&j.push(b)}let k=J(a[h]),l=k.processBlocks.length>0,m=k.answerBlocks.length>0;j.length+ +!!l>0&&c.push({kind:"process-group",userIdx:f,finalAssistantIdx:h,visibleProcessIndices:j}),m&&c.push({kind:"answer",idx:h});for(let a=h+1;a<g;a++)c.push({kind:"message",idx:a});e=g}return c})(a,{lastAnchorIdx:w,isStreaming:e,sessionBusy:f}),[a,w,e,f]),Q=P.length,R=function(a,b,c={}){let d=c.maxRendered??150,e=c.pageSize??50;if(c.pinToEnd){let c=Math.max(0,a),f=jk(b.endIndex-b.startIndex,0,d),g=Math.min(d,Math.max(f,Math.min(e,c)),c);return jl(c,{startIndex:c-g,endIndex:c},d)}return jl(a,b,d)}(Q,y,{pinToEnd:C}),{startIndex:S,endIndex:T,hasMoreAbove:U,hasMoreBelow:V}=R,W=P.slice(S,T);(0,B.useLayoutEffect)(()=>{O.current=R},[R]);let X=(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,w=x.get(c),y=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)(gC,{message:s,toolResults:v,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},`${y}-view-${c}`);return u&&!1!==r.attachRef&&void 0!==w?(0,A.jsx)("div",{ref:a=>{d.current[w]=a},children:B},`${y}-${c}`):B},Y=(0,B.useCallback)((a,b)=>{var c;let d,e=s.current,f=(c=O.current,d=Math.max(c.startIndex,a.startIndex),Math.min(c.endIndex,a.endIndex)>d?d:a.startIndex),g=e?.querySelector(`[data-render-index="${f}"]`);N.current={index:f,previousTop:g?.getBoundingClientRect().top??0,scrollTop:e?.scrollTop??0,mode:b}},[s]),Z=(0,B.useCallback)(a=>{let b=O.current;if(!b.hasMoreAbove)return;let c=function(a,b,c=50,d=150){let e=Math.max(0,b.startIndex-Math.max(c,0)),f=b.endIndex;return f-e>d&&(f=e+d),jl(a,{startIndex:e,endIndex:f},d)}(Q,b);(c.startIndex!==b.startIndex||c.endIndex!==b.endIndex)&&(Y(c,a),E(!1),z(c))},[Q,Y]),$=(0,B.useCallback)(()=>{let a=O.current;if(!a.hasMoreBelow)return;let b=function(a,b,c=50,d=150){let e=Math.max(0,a),f=Math.min(e,b.endIndex+Math.max(c,0)),g=b.startIndex;return f-g>d&&(g=f-d),jl(e,{startIndex:g,endIndex:f},d)}(Q,a);(b.startIndex!==a.startIndex||b.endIndex!==a.endIndex)&&(Y(b,"auto"),z(b))},[Q,Y]);return(0,B.useEffect)(()=>{z(jm(0)),E(!0),M.current=!1},[r]),(0,B.useLayoutEffect)(()=>{t?.(S,T)},[S,T,t]),(0,B.useLayoutEffect)(()=>{let a=N.current;if(!a)return;N.current=null;let b=s.current;if(!b)return;if("click-above"===a.mode){let a=H.current;if(a){let c=b.getBoundingClientRect(),d=a.getBoundingClientRect();b.scrollTop=b.scrollTop+(d.bottom-c.top)+1}else b.scrollTop=0;return}let c=b.querySelector(`[data-render-index="${a.index}"]`);if(c){var d,e;d=a.scrollTop,e=a.previousTop,b.scrollTop=Math.max(0,d+(c.getBoundingClientRect().top-e))}},[S,T,s]),(0,B.useEffect)(()=>{let a=s.current;if(!a)return;let b=null,c=()=>{if(b=null,a.scrollTop>0&&(M.current=!0),!(a.scrollTop+a.clientHeight>=a.scrollHeight-96)){var c;let b=O.current;z(a=>a.startIndex===b.startIndex&&a.endIndex===b.endIndex?a:b),E(!1),(c={scrollTop:a.scrollTop,hasLeftTop:M.current,hasMoreAbove:b.hasMoreAbove}).hasLeftTop&&c.hasMoreAbove&&c.scrollTop<=0&&Z("click-above");return}O.current.endIndex>=Q&&E(!0)},d=()=>{null===b&&(b=requestAnimationFrame(c))};return c(),a.addEventListener("scroll",d,{passive:!0}),()=>{a.removeEventListener("scroll",d),null!==b&&cancelAnimationFrame(b)}},[s,Q,r,S,T,Z]),(0,B.useEffect)(()=>{let a=H.current,b=s.current;if(!a||!b)return;let c=new IntersectionObserver(a=>{var c;let d=(c={intersecting:!!a[0]?.isIntersecting,scrollTop:b.scrollTop,hasLeftTop:M.current}).intersecting?c.scrollTop>0?"auto":c.hasLeftTop?"click-above":null:null;d&&Z(d)},{root:b,rootMargin:"400px 0px 0px 0px",threshold:0});return c.observe(a),()=>c.disconnect()},[S,T,Q,s,Z]),(0,B.useEffect)(()=>{let a=L.current,b=s.current;if(!a||!b)return;let c=new IntersectionObserver(a=>{a[0]?.isIntersecting&&$()},{root:b,rootMargin:"0px 0px 400px 0px",threshold:0});return c.observe(a),()=>c.disconnect()},[S,T,Q,s,$]),(0,A.jsxs)(A.Fragment,{children:[U&&(0,A.jsxs)("button",{ref:H,type:"button",onClick:()=>Z("click-above"),className:"py-3 w-full min-h-[44px] text-center text-xs text-text-muted hover:text-text transition-colors cursor-pointer inline-flex items-center justify-center gap-1",children:[(0,A.jsx)(F,{size:12,strokeWidth:1.8,"aria-hidden":"true"}),u("chatWindow.scrollUpToLoad",{count:S})]}),W.map((b,c)=>(0,A.jsx)("div",{"data-render-index":S+c,children:(b=>{if("message"===b.kind)return X(b.idx);if("answer"===b.kind){let c=a[b.idx],d=J(c),e=jo(c,d.answerBlocks);return X(b.idx,{messageOverride:e})}let{userIdx:c,finalAssistantIdx:e,visibleProcessIndices:f}=b,g=a[e],h=J(g),i=h.processBlocks.length>0?jo(g,h.processBlocks,{omitUsage:!0}):null,j=h.answerBlocks.length>0,k=f.length+ +!!i,l=f.map(a=>x.get(a)).find(a=>"number"==typeof a)??(j?void 0:x.get(e));return(0,A.jsx)("div",{ref:void 0===l?void 0:a=>{d.current[l]=a},children:(0,A.jsxs)(jq,{messageCount:k,toolCallCount:function(a,b,c){let d=0;for(let c of b){let b=a[c];b?.role==="assistant"&&(d+=K(I(b)))}return d+K(J(a[c]).processBlocks)}(a,f,e),children:[f.map(a=>X(a,{attachRef:!1,keyPrefix:"process"})),i&&X(e,{attachRef:!1,keyPrefix:"process-final",messageOverride:i,showTimestamp:!1})]})},`process-group-${c}-${e}`)})(b)},"message"===b.kind?`message-${b.idx}`:"answer"===b.kind?`answer-${b.idx}`:`process-group-${b.userIdx}-${b.finalAssistantIdx}`)),V&&(0,A.jsxs)("button",{ref:L,type:"button",onClick:$,className:"py-3 w-full min-h-[44px] text-center text-xs text-text-muted hover:text-text transition-colors cursor-pointer inline-flex items-center justify-center gap-1",children:[u("chatWindow.scrollDownToLoad",{count:Q-T}),(0,A.jsx)(D.A,{size:12,strokeWidth:1.8,"aria-hidden":"true"})]})]})});function js({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,G.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,hm.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:E,messages:F,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,queueEnqueuePending:ai,notices:aj,dismissNotice:ak,extensionDialog:al,extensionCustomUi:am,extensionStatuses:an,extensionWidgets:ao,respondToExtensionUi:ap,sendExtensionCustomInput:aq,isAutoModelSelection:ar,agentPhase:as,activeGoal:at,activePlan:au,subagents:av,subagentEvents:aw,subagentTranscriptVersions:ax,activeSubagentCount:ay,currentTodoPhase:az,todoPhases:aA,isNew:aB,sessionIdRef:aC,messagesEndRef:aD,scrollContainerRef:aE,handleSend:aF,handleAbort:aG,handleFork:aH,handleNavigate:aI,handleModelChange:aJ,handlePromptWithStreamingBehavior:aK,handleAbortCompaction:aL,handleRecallQueuedMessage:aM,handleDeleteQueuedMessage:aN,handlePromoteQueuedMessage:aO,handleBuiltinSlashCommand:aP,handleThinkingLevelChange:aQ,handleFastModeChange:aR,handleCycleModel:aS,handleCycleThinkingLevel:aT,handleAbortRetry:aU,loadSlashCommands:aV}=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,iL.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),[E,F]=(0,B.useState)([]),[H,I]=(0,B.useState)(null),[J,K]=(0,B.useState)([]),[L,M]=(0,B.useReducer)(iU,{isStreaming:!1,streamingMessage:null,revision:0}),[N,O]=(0,B.useState)(!1),[P,Q]=(0,B.useState)(!1),[R,S]=(0,B.useState)(null),T=(0,B.useRef)(!0),[U,V]=(0,B.useState)({}),[W,X]=(0,B.useState)([]),[Y,Z]=(0,B.useState)(!1),[$,_]=(0,B.useState)(null),[aa,ab]=(0,B.useState)(null),[ac,ad]=(0,B.useState)({}),[ae,af]=(0,B.useState)({}),[ag,ah]=(0,B.useState)(null),[ai,aj]=(0,B.useState)(null),[ak,al]=(0,B.useState)(()=>(function(a=null){if(!a)return"default";try{let b=a.getItem(iP);return"none"===b||"default"===b||"full"===b?b:"default"}catch{return"default"}})()),[am,an]=(0,B.useState)("auto"),ao=(0,B.useRef)("auto"),ap=(0,B.useRef)(!1),aq=(0,B.useCallback)((a,b=!0)=>{ao.current=a,b&&(ap.current=!0),an(a)},[]),ar=(0,B.useCallback)(a=>{void 0===a||ap.current&&"auto"===ao.current||aq(iV(a),!1)},[aq]),[as,at]=(0,B.useState)(!1),[au,av]=(0,B.useState)(void 0),[aw,ax]=(0,B.useState)("immediate"),[ay,az]=(0,B.useState)(!0),[aA,aB]=(0,B.useState)(!1),[aC,aD]=(0,B.useState)("all"),[aE,aF]=(0,B.useState)("all"),[aG,aH]=(0,B.useState)(null),[aI,aJ]=(0,B.useState)(null),aK=(0,B.useRef)(0),aL=(0,B.useCallback)(a=>{a&&a.contextWindow>0&&(aK.current=a.contextWindow),aJ(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))},[]),[aM,aN]=(0,B.useState)(null),[aO,aP]=(0,B.useState)(null),[aQ,aR]=(0,B.useState)(null),[aS,aT]=(0,B.useState)(null),[aU,aV]=(0,B.useState)(!1),[aW,aX]=(0,B.useState)(null),[aY,aZ]=(0,B.useState)(null),[a$,a_]=(0,B.useState)(null),[a0,a1]=(0,B.useState)([]),[a2,a3]=(0,B.useState)(!1),[a4,a5]=(0,B.useReducer)(i0,{visible:[],pending:[]}),[a6,a7]=(0,B.useState)(null),[a8,a9]=(0,B.useState)(null),[ba,bb]=(0,B.useState)(null),[bc,bd]=(0,B.useState)([]),[be,bf]=(0,B.useState)([]),[bg,bh]=(0,B.useState)([]),[bi,bj]=(0,B.useState)(null),[bk,bl]=(0,B.useState)(null),bm=(0,B.useRef)(null),bn=(0,B.useRef)(null),bo=(0,B.useRef)(null),bp=(0,B.useRef)(null),bq=(0,B.useRef)(null),br=(0,B.useRef)(0),bs=(0,B.useRef)(new AbortController),bt=(0,B.useRef)(b?.id??null);(0,B.useRef)(b?.id??null).current=b?.id??null;let bu=(0,B.useRef)(0),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)(!1),bE=(0,B.useRef)(!1),bF=(0,B.useRef)(0),bG=(0,B.useRef)(null),bH=(0,B.useRef)(!1),bI=(0,B.useRef)(!1),bJ=(0,B.useRef)(!0),bK=(0,B.useRef)(void 0),bL=(0,B.useRef)(0),bM=(0,B.useRef)(0),bN=(0,B.useRef)(null),bO=(0,B.useRef)(null),bP=(0,B.useRef)(null),bQ=(0,B.useRef)(!1),bR=(0,B.useRef)(0),bS=(0,B.useRef)(new WeakSet),bT=(0,B.useRef)(null),bU=(0,B.useRef)(!1),bV=(0,B.useRef)(null),bW=(0,B.useRef)(null),bX=(0,B.useCallback)((a=bt.current)=>!!p||!!a&&bt.current===a&&bz.current,[p]),bY=(0,B.useCallback)(a=>{let b=a.message.trim();b&&a5({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"}})},[]),bZ=(0,B.useCallback)(()=>({sessionId:bt.current,loadGeneration:bu.current,runtimeGeneration:bv.current,alive:T.current,runtimeReady:bz.current}),[]),{queuedMessages:b$,queueEnqueuePending:b_,beginQueueEpoch:b0,disposeQueue:b1,applyQueueFromAgentState:b2,fetchMessageQueue:b3,handleQueueEvent:b4,enqueueMessage:b5,handleRecallQueuedMessage:b6,handleDeleteQueuedMessage:b7,handlePromoteQueuedMessage:b8}=function({getSessionContext:a,canMutateSession:b,addNotice:c}){let[d,e]=(0,B.useState)(()=>({...iy,items:[],nativeQueuedCount:void 0})),[f,g]=(0,B.useState)(!1),h=(0,B.useRef)(-1),i=(0,B.useRef)(0),j=(0,B.useCallback)(()=>{i.current+=1,h.current=-1,e({...iy,items:[],nativeQueuedCount:void 0})},[]),k=(0,B.useCallback)((b,c,d,f,g,j)=>{let k=a();if(!k.alive||!function(a,b,c,d,e,f,g,h,i="fetch"){return a===b&&c===d&&e===f&&!!Number.isFinite(h)&&("event"===i?g<0||h>g:g<0||h>=g)}(k.sessionId,c,k.loadGeneration,d,i.current,f,h.current,b.revision,g))return!1;h.current=b.revision;let l=j??b.nativeQueuedCount;return e({...b,nativeQueuedCount:l}),!0},[a]),l=(0,B.useCallback)((b,c,d,f)=>{let g=a();void 0!==b&&g.alive&&g.sessionId===c&&g.loadGeneration===d&&i.current===f&&e(a=>a.nativeQueuedCount===b?a:{...a,nativeQueuedCount:b})},[a]),m=(0,B.useCallback)((a,b,c)=>{let d=i.current,e=gk(a?.queuedMessageCount),f="object"==typeof a&&null!==a&&"messageQueue"in a?iC(a.messageQueue):null;f?k(f,b,c,d,"fetch",e):l(e,b,c,d)},[l,k]),n=(0,B.useCallback)(async b=>{let c=a(),d=c.loadGeneration,e=c.runtimeGeneration,f=i.current;try{var g,h;let c=await hO(b,{type:"get_message_queue"}),j=a();if(!j.alive||(g=j.sessionId,h=j.loadGeneration,g!==b||h!==d)||j.runtimeGeneration!==e||i.current!==f)return;let l=iF(c);l&&k(l.queue,b,d,f,"fetch")}catch{}},[k,a]),o=(0,B.useCallback)(async(d,e,f,h)=>{let j=a().sessionId;if(!j||!b(j))return!1;g(!0);try{var l,m;await h(j);let c=a(),g=c.loadGeneration,o=i.current;if(l=c.sessionId,m=c.loadGeneration,l!==j||m!==g||!b(j))return!1;let p=await hO(j,{type:"enqueue_message",message:d,lane:"steer"===e?"steer":"followUp",...f?.length?{images:f.map(({data:a,mimeType:b})=>({type:"image",data:a,mimeType:b}))}:{}});if(i.current!==o)return n(j),!0;let q=iF(p);return q?k(q.queue,j,g,o,"fetch"):await n(j),!0}catch(a){return console.error("Failed to queue prompt:",a),c({type:"error",message:a instanceof Error?a.message:String(a)}),n(j),!1}finally{g(!1)}},[c,k,b,n,a]),p=(0,B.useCallback)((a,b)=>{c({type:"error",message:b instanceof Error?b.message:(0,G.Tl)("chatInput.queuedOpFailed")}),n(a)},[c,n]),q=(0,B.useCallback)(async c=>{let d=a(),e=d.sessionId;if(!e||!c||!b(e))return null;let f=d.loadGeneration,g=i.current,j=h.current;if(j<0)return p(e,Error((0,G.Tl)("chatInput.queuedOpFailed"))),null;try{let a=await hO(e,{type:"recall_queued_message",id:c,expectedRevision:j}),b=iE(a);if(!b)return p(e,Error((0,G.Tl)("chatInput.queuedOpFailed"))),null;return k(b.queue,e,f,g,"fetch"),b.recalled}catch(a){return p(e,a),null}},[k,b,p,a]),r=(0,B.useCallback)(async c=>{let d=a(),e=d.sessionId;if(!e||!c||!b(e))return!1;let f=d.loadGeneration,g=i.current,j=h.current;if(j<0)return p(e,Error((0,G.Tl)("chatInput.queuedOpFailed"))),!1;try{var l,m;let b=await hO(e,{type:"delete_queued_message",id:c,expectedRevision:j}),d=a();if(l=d.sessionId,m=d.loadGeneration,l!==e||m!==f||i.current!==g)return!1;let h=iF(b);if(!h)return p(e,Error((0,G.Tl)("chatInput.queuedOpFailed"))),!1;return k(h.queue,e,f,g,"fetch"),!0}catch(a){return p(e,a),!1}},[k,b,p,a]),s=(0,B.useCallback)(async c=>{let d=a(),e=d.sessionId;if(!e||!c||!b(e))return!1;let f=d.loadGeneration,g=i.current,j=h.current;if(j<0)return p(e,Error((0,G.Tl)("chatInput.queuedOpFailed"))),!1;try{var l,m;let b=await hO(e,{type:"promote_queued_message",id:c,expectedRevision:j}),d=a();if(l=d.sessionId,m=d.loadGeneration,l!==e||m!==f||i.current!==g)return!1;let h=iF(b);if(!h)return p(e,Error((0,G.Tl)("chatInput.queuedOpFailed"))),!1;return k(h.queue,e,f,g,"fetch"),!0}catch(a){return p(e,a),!1}},[k,b,p,a]),t=(0,B.useCallback)(b=>{let c=a();if(!c.sessionId)return;let d=iD(b);d&&k(d,c.sessionId,c.loadGeneration,i.current,"event")},[k,a]),u=(0,B.useCallback)(()=>{j(),g(!1)},[j]);return{queuedMessages:d,queueEnqueuePending:f,beginQueueEpoch:j,disposeQueue:u,applyQueueFromAgentState:m,fetchMessageQueue:n,handleQueueEvent:t,enqueueMessage:o,handleRecallQueuedMessage:q,handleDeleteQueuedMessage:r,handlePromoteQueuedMessage:s}}({getSessionContext:bZ,canMutateSession:bX,addNotice:bY}),{subagents:b9,subagentEvents:ca,subagentTranscriptVersions:cb,activeSubagentCount:cc,handleEvent:cd,reset:ce,dispose:cf,refreshHistory:cg,refreshRoster:ch,scheduleInitialRosterRefresh:ci,pauseHiddenTimers:cj,resumeVisibleSession:ck}=function({getSessionContext:a,canMutateSession:b}){let[c,d]=(0,B.useState)([]),[e,f]=(0,B.useState)({}),[g,h]=(0,B.useState)({}),i=0;for(let a of c)"history"!==a.source&&"started"===a.status&&(i+=1);let j=(0,B.useRef)(null),k=(0,B.useRef)(null),l=(0,B.useRef)(null),m=(0,B.useRef)(null),n=(0,B.useRef)(null),o=(0,B.useRef)(!1),p=(0,B.useRef)(null),q=(0,B.useRef)(0),r=(0,B.useRef)(null),s=(0,B.useRef)([]);s.current=c;let t=(0,B.useRef)(0),u=(0,B.useCallback)((b,c)=>{d(d=>{let e=a();if(c?.sessionId!==void 0&&(!e.alive||e.sessionId!==c.sessionId||void 0!==c.rosterGeneration&&t.current!==c.rosterGeneration))return d;let f=ik(d,b,c);return s.current=f,f})},[a]),v=(0,B.useCallback)(async(b,c=a().loadGeneration)=>{let d=t.current;try{let e=await fetch(`/api/sessions/${encodeURIComponent(b)}/subagents`);if(!e.ok)return!1;let f=await e.json(),g=a();if(g.sessionId!==b||t.current!==d||void 0!==c&&g.loadGeneration!==c)return!1;let h=(f.subagents??[]).map(iK);return u(h,{sessionId:b,rosterGeneration:d}),!0}catch{return!1}},[a,u]),w=(0,B.useCallback)(b=>{let c=a();if(!c.alive||c.sessionId!==b||!c.runtimeReady||!s.current.some(a=>"history"!==a.source&&"started"===a.status)||gx()||m.current||p.current)return;let d=t.current;n.current="reconcile",m.current=window.setTimeout(()=>{m.current=null,n.current=null;let c=a();!c.alive||c.sessionId!==b||t.current!==d||gx()||(function(a,b=Date.now()){return a.some(a=>"history"!==a.source&&"started"===a.status&&("stale"===ig(a,b)||(a.missingSnapshots??0)>0||void 0!==a.missingSince))}(s.current)?r.current?.(b):w(b))},5e3)},[a]),x=(0,B.useCallback)(c=>{if(!b(c))return Promise.resolve(!1);let e=p.current;if(e)return e;let f=Date.now(),g=t.current,h=++q.current,i=(async()=>{try{let b=await hO(c,{type:"get_subagents"}),e=a();if(!e.alive||e.sessionId!==c||t.current!==g)return!1;let h=(b?.subagents??[]).map(iI).filter(a=>void 0!==a),i=new Set(h.map(a=>a.id)),j=Date.now();return d(b=>{let d=a();if(!d.alive||d.sessionId!==c||t.current!==g)return b;let e=ik(b,h,{skipNewerThan:f}),k=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}(e,i,f,j);return s.current=k,k}),v(c),!0}catch{return!1}finally{q.current===h&&(p.current=null,w(c))}})();return p.current=i,i},[b,a,v,w]);r.current=x;let y=(0,B.useCallback)(()=>{null!==l.current&&(cancelAnimationFrame(l.current),l.current=null),j.current=null,k.current=null,f({}),h({})},[]),z=(0,B.useCallback)(()=>{s.current=[],d([]),t.current+=1,y()},[y]),A=(0,B.useCallback)(b=>{let c=a();if(clearTimeout(m.current??void 0),m.current=null,c.alive&&c.sessionId===b&&c.runtimeReady){if(gx()){o.current=!0;return}o.current=!1,n.current="initial",m.current=window.setTimeout(()=>{m.current=null,n.current=null;let c=a();if(gx()){o.current=!0;return}c.sessionId===b&&c.runtimeReady&&x(b)},600)}},[a,x]),C=(0,B.useCallback)(b=>{switch(b.type){case"subagent_lifecycle":{let c=a(),d=c.sessionId,e=t.current;if(!c.alive||!d)break;let f=function(a){if(!gi(a))return;let b=gj(a.id),c=gj(a.status);if(!b||!c||"started"!==c&&"completed"!==c&&"failed"!==c&&"aborted"!==c)return;let d={id:b,agent:gj(a.agent)??"subagent",status:c,index:gk(a.index)??-1,lastUpdate:Date.now(),source:"live"},e=iG(a.agentSource);void 0!==e&&(d.agentSource=e);let f=gj(a.description);void 0!==f&&(d.description=f);let g=gj(a.sessionFile);void 0!==g&&(d.sessionFile=g);let h=gj(a.parentToolCallId);return void 0!==h&&(d.parentToolCallId=h),"boolean"==typeof a.detached&&(d.detached=a.detached),d}(b.payload);if(!f)break;u([f],{sessionId:d,rosterGeneration:e});break}case"subagent_progress":{let c=a(),e=c.sessionId,f=t.current;if(!c.alive||!e)break;let g=b.payload,h=iH(g?.progress),i=h?.id,j="number"==typeof g?.index&&Number.isFinite(g.index)?g.index:h?.index??-1,k="string"==typeof g?.parentToolCallId?g.parentToolCallId:null,l="string"==typeof g?.task&&g.task.trim()?g.task:h?.task??null,m="string"==typeof g?.assignment?g.assignment:h?.assignment;if(!i&&!l&&!k&&j<0)break;d(b=>{let c=a();if(!c.alive||c.sessionId!==e||t.current!==f)return b;let d=-1;if(i){if(-1===(d=b.findIndex(a=>a.id===i))&&h){let a=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=ie(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 g?.index&&Number.isFinite(g.index)?g.index:void 0,agent:"string"==typeof g?.agent?g.agent:void 0,agentSource:"string"==typeof g?.agentSource&&("bundled"===g.agentSource||"user"===g.agentSource||"project"===g.agentSource)?g.agentSource:void 0,task:"string"==typeof g?.task?g.task:void 0,assignment:m,description:"string"==typeof g?.description?g.description:void 0,parentToolCallId:k??void 0,sessionFile:"string"==typeof g?.sessionFile?g.sessionFile:void 0,detached:"boolean"==typeof g?.detached?g.detached:void 0},h);return a?ik(b,[a]):b}}else k&&j>=0&&(d=b.findIndex(a=>a.parentToolCallId===k&&a.index===j)),-1===d&&k&&(d=b.findIndex(a=>a.parentToolCallId===k)),-1===d&&j>=0&&(d=b.findIndex(a=>a.index===j));if(-1===d)return b;let n=b[d],o=ie(h?.status,n.status);if("started"!==n.status&&"started"===o)return b;let p={...n,status:o,agent:"string"==typeof g?.agent?g.agent:n.agent,agentSource:"string"==typeof g?.agentSource&&("bundled"===g.agentSource||"user"===g.agentSource||"project"===g.agentSource)?g.agentSource:n.agentSource,..."string"==typeof g?.sessionFile?{sessionFile:g.sessionFile}:{},..."boolean"==typeof g?.detached?{detached:g.detached}:{},...l?{task:l}:{},...void 0!==m?{assignment:m}:{},...h?{progress:h}:{},lastUpdate:Date.now(),source:"history"===n.source&&"started"!==n.status?"history":"live"};if(n.agent===p.agent&&n.agentSource===p.agentSource&&n.sessionFile===p.sessionFile&&n.detached===p.detached&&n.task===p.task&&n.assignment===p.assignment&&JSON.stringify(n.progress)===JSON.stringify(p.progress))return b;let q=[...b];return q[d]=p,q});break}case"subagent_event":{let c=a(),d=c.sessionId,e=t.current;if(!c.alive||!d)break;let g=b.payload,i="string"==typeof g?.id?g.id:null;if(i){(j.current??(j.current=new Set)).add(i);let b=function(a){if(!gi(a))return null;let b=gi(a.event)?a.event:null;if(!b)return null;let c=gj(b.type),d=Date.now();if("tool_execution_start"===c){let a=gj(b.toolName)??"tool",c=gj(b.intent)?.trim();if(c)return{kind:"tool",label:`→ ${a} — ${c}`,ts:d};let e=gi(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=gi(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=>gi(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=gj(b.message);if(a)return{kind:"notice",label:a.slice(0,140),ts:d}}return null}(g);if(b){let a=k.current??(k.current=new Map),c=a.get(i);c?(c.length>=50&&c.shift(),c.push(b),a.delete(i),a.set(i,c)):a.set(i,[b])}null===l.current&&(l.current=requestAnimationFrame(()=>{l.current=null;let b=a();if(!b.alive||b.sessionId!==d||t.current!==e){j.current=null,k.current=null;return}let c=j.current;j.current=null;let g=k.current;k.current=null;let i=null!==c&&c.size>0,m=null!==g&&g.size>0;(i||m)&&(c&&c.size>0&&h(a=>{let b=a;for(let a of c)b={...b,[a]:(b[a]??0)+1};return iJ(b)}),g&&g.size>0&&f(a=>{let b=a;for(let[c,d]of g){let e=a[c]??[],f=0===e.length?d.length<=50?d:d.slice(-50):[...e,...d].slice(-50);b===a&&(b={...a}),delete b[c],b[c]=f}return iJ(b)}))}))}}}},[a,u]),D=(0,B.useCallback)(()=>{gx()&&m.current&&("initial"===n.current&&(o.current=!0),clearTimeout(m.current),m.current=null,n.current=null)},[]),E=(0,B.useCallback)(a=>{w(a),o.current&&A(a)},[A,w]);return{subagents:c,subagentEvents:e,subagentTranscriptVersions:g,activeSubagentCount:i,handleEvent:C,reset:z,dispose:(0,B.useCallback)(()=>{clearTimeout(m.current??void 0),m.current=null,n.current=null,p.current=null,q.current+=1,null!==l.current&&(cancelAnimationFrame(l.current),l.current=null),j.current=null,k.current=null},[]),refreshHistory:v,refreshRoster:x,scheduleInitialRosterRefresh:A,pauseHiddenTimers:D,resumeVisibleSession:E}}({getSessionContext:bZ,canMutateSession:bX}),cl=(0,B.useCallback)(a=>{let b=bw.current+1;bw.current=b,bu.current=b,a&&(bv.current=b);let c={...by.current,history:"loading",...a&&!p?{runtime:"loading"}:{}};return by.current=c,bz.current=p||"ready"===c.runtime,y(c),a&&!p&&A(null),b},[p]),cm=(0,B.useCallback)((a,b,c)=>{if(!T.current||bt.current!==a||bu.current!==b)return!1;let d={...by.current,...c};return by.current=d,bz.current=p||"ready"===d.runtime,y(d),!0},[p]),cn=(0,B.useCallback)((a,b,c)=>{if(!T.current||bt.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]);null===bW.current&&(bW.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=>{bG.current?.(a)}));let co=bW.current;null===bn.current&&(bn.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)=>{co.reset();let c=new EventSource(`/api/agent/${encodeURIComponent(a)}/events`);return c.onopen=()=>{br.current=0,b.onOpen()},c.onerror=b.onError,bm.current=c,c},onFatalClose:(a,b)=>{if(bm.current!==b||(bm.current=null,bq.current&&(clearTimeout(bq.current),bq.current=null),!bD.current||gx()))return;let c=function(a,b=1e3,c=3e4){let d=Number.isFinite(a)?Math.max(0,Math.floor(a)):0;return Math.min(c,b*2**d)}(br.current);br.current+=1,bq.current=setTimeout(()=>{bq.current=null,!gx()&&bD.current&&bt.current===a&&(bo.current?.(a),bp.current?.(a))},c)}}));let cp=bn.current,cq=a.setToolPreset??al,cr=p||"ready"===x.runtime,cs=aQ??r?.context.model??aS??null,ct=p?ag??ai:aQ??(aa?{provider:aa.provider,modelId:aa.modelId}:r?.context.model??aS),cu=function(a,b,c){if(hp(c))return c;if(!b)return 0;let d=a.find(a=>a.provider===b.provider&&a.id===b.modelId);return hp(d?.contextWindow)?d.contextWindow:0}(W,ct,aK.current),cv=(0,B.useMemo)(()=>aI??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}(E,cu),[aI,E,cu]),cw=(0,B.useMemo)(()=>{if(a6)return a6;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 E){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===E.length)?null:{sessionFile:r?.filePath||void 0,sessionId:bt.current??b?.id??"",sessionName:b?.name,userMessages:d,assistantMessages:e,toolCalls:g,toolResults:f,totalMessages:E.length,tokens:a,cost:c,...cv?{contextUsage:cv}:{}}},[E,a6,cv,r?.filePath,b?.id,b?.name]),cx=(0,B.useMemo)(()=>{for(let a=0;a<bg.length;a++){let b=bg[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:bg.length,done:d,total:c.length}}return null},[bg]),cy=(0,B.useRef)(0),cz=(0,B.useCallback)(()=>(cy.current+=1,cy.current),[]),cA=(0,B.useCallback)((a,b)=>(void 0===b||b===cy.current)&&(cy.current+=1,ab(a),!a||(aR(b=>b&&(b.provider!==a.provider||b.modelId!==a.modelId)?null:b),!0)),[]),cB=(0,B.useCallback)(async a=>{if(!bX(a))return;let b=bv.current,c=cz();try{let d=await fetch(`/api/sessions/${encodeURIComponent(a)}/state`);if(!d.ok)return;let e=await d.json();if(bt.current!==a||bv.current!==b||!cA(iW(e.state?.model),c))return;e.state?.thinkingLevel!==void 0&&ar(e.state.thinkingLevel),e.state?.fastModeEnabled!==void 0&&at(e.state.fastModeEnabled),av(e.state?.fastModeActive),e.state?.autoRetryEnabled!==void 0&&aB(e.state.autoRetryEnabled),e.state?.interruptMode!==void 0&&ax(e.state.interruptMode),e.state?.autoCompactionEnabled!==void 0&&az(e.state.autoCompactionEnabled),e.state?.steeringMode!==void 0&&aD(e.state.steeringMode),e.state?.followUpMode!==void 0&&aF(e.state.followUpMode)}catch{}},[cA,cz,bX,ar]),cC=(0,B.useCallback)((a,b,c,d,e,f)=>{if(!T.current||!ix(bt.current,a,bu.current,e,bv.current,d,bR.current,f))return!1;let g=b.state,h=cA(iW(g?.model),c);return g?(void 0!==g.contextUsage&&aL(g.contextUsage??null),void 0!==g.systemPrompt&&aN(g.systemPrompt||null),h&&void 0!==g.thinkingLevel&&ar(g.thinkingLevel),void 0!==g.fastModeEnabled&&at(g.fastModeEnabled),av(g.fastModeActive),void 0!==g.autoRetryEnabled&&aB(g.autoRetryEnabled),void 0!==g.interruptMode&&ax(g.interruptMode),void 0!==g.isCompacting&&(bB.current=g.isCompacting,aV(g.isCompacting)),void 0!==g.autoCompactionEnabled&&az(g.autoCompactionEnabled),void 0!==g.steeringMode&&aD(g.steeringMode),void 0!==g.followUpMode&&aF(g.followUpMode),void 0!==g.extensionStatuses&&bd(g.extensionStatuses??[]),void 0!==g.extensionWidgets&&bf(g.extensionWidgets??[]),void 0!==g.todoPhases&&bh(g.todoPhases??[]),b2(g,a,e)):(aL(null),bB.current=!1,aV(!1)),cn(a,d,{runtime:"ready"}),A(null),!0},[cA,b2,aL,cn,ar]),cD=(0,B.useCallback)(async(a,b,c,d)=>{let e=cz();try{let f=await fetch(`/api/sessions/${encodeURIComponent(a)}/state`);if(!f.ok)throw Error(`HTTP ${f.status}`);let g=await f.json();return cC(a,g,e,b,c,d)?g:null}catch(e){if(T.current&&ix(bt.current,a,bu.current,c,bv.current,b,bR.current,d)){let c=e instanceof Error?e.message:String(e);cn(a,b,{runtime:"error"}),A(c)}return console.error("Failed to load agent state:",e),null}},[cC,cz,cn]),cE=(0,B.useCallback)(async(a,b=!1,c=!1,d)=>{let e="ready"===by.current.history,f=cl(c);(b&&u(!0),e)?I(null):I(null);let g=new URLSearchParams({deferThinking:"1",deferMedia:"1"}),h=fetch(`/api/sessions/${encodeURIComponent(a)}?${g}`),i=(async()=>{try{let b=await h;if(404===b.status){if(!T.current||bt.current!==a||bu.current!==f||void 0!==d&&bR.current!==d)return!1;return s(null),D(null),F([]),I(null),K([]),w(null),cm(a,f,{history:"error"}),u(!1),!1}if(!b.ok)throw Error(`HTTP ${b.status}`);let c=await b.json();if(!T.current||bt.current!==a||bu.current!==f||void 0!==d&&bR.current!==d)return!1;return s(c),D(c.leafId),F(c.context.messages),I(null),K(c.context.entryIds??[]),bh(c.context.todoPhases??[]),cg(a,f),aR(null),w(null),c.context.thinkingLevel&&"off"!==c.context.thinkingLevel&&aq(c.context.thinkingLevel),cm(a,f,{history:"ready"}),u(!1),!0}catch(b){return T.current&&bt.current===a&&bu.current===f&&(void 0===d||bR.current===d)&&(w(String(b)),I(null),cm(a,f,{history:"error"}),u(!1)),!1}})(),j=c?cD(a,f,f,d):Promise.resolve(null);if(!c)return await i,null;let k=await j;return await i,k},[cl,cD,cg,aq,cm]),cF=(0,B.useCallback)(async(a,b)=>{let c=++bA.current,d=bu.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(bt.current!==a||bA.current!==c||bu.current!==d)return;F(h.context.messages),K(h.context.entryIds??[]),bh(h.context.todoPhases??[])}catch(a){console.error("Failed to load context:",a)}},[]),cG=(0,B.useCallback)((a=0,b)=>{b??=(0,G.Tl)("agentSession.noMessages");let d=bt.current;p&&c&&d&&!bQ.current&&(bQ.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]),cH=(0,B.useCallback)(async()=>{if(bt.current||!p||!c)return bt.current;if(bP.current)return bP.current;let a=(async()=>{let a=ag??ai;a&&aT(a);let b="none"===ak?[...iM]:"full"===ak?[...iO]:[...iN],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"!==ao.current?{thinkingLevel:ao.current}:{},...d?{advisor:!0}:{}})});if(!e.ok)throw Error(`HTTP ${e.status}`);let f=(await e.json()).sessionId;return bt.current=f,f})();bP.current=a;try{return await a}finally{bP.current=null}},[d,p,c,ag,ai,ak]);(0,B.useCallback)(async()=>{let a=bt.current??await cH();if(!a||!bX(a))return;let b=await hO(a,{type:"get_state"});T.current&&bt.current===a&&aN(b.systemPrompt??"")},[bX,cH]);let cI=(0,B.useCallback)(async()=>{let a=bt.current??await cH();if(!a||!bX(a))return a1([]),[];a3(!0);try{let b=await hO(a,{type:"get_commands"}),c=(b?.commands??[]).map(i6).filter(a=>null!==a);return a1(c),c}catch(a){return console.error("Failed to load slash commands:",a),a1([]),[]}finally{a3(!1)}},[bX,cH]),cJ=(0,B.useCallback)(a=>{let b=cp.ensure(a),c=cp.currentSource(a);return c&&(c.onmessage=b=>{if(cp.isCurrent(a,c))try{let d=JSON.parse(b.data);if("connected"===d.type&&(cp.markConnected(a,c),b0(),b3(a)),"session_closed"===d.type){co.push(d),cp.invalidate(a,c),bm.current===c&&(bm.current=null);return}co.push(d)}catch{}}),b},[b0,co,cp,b3]);bo.current=cJ;let cK=(0,B.useCallback)(async(a,b)=>{let c=bt.current;if(c&&bX(c)){a9(b=>b?.id===a.id?null:b);try{await hO(c,{type:"extension_ui_response",id:a.id,...b})}catch(a){console.error("Failed to send extension UI response:",a)}}},[bX]),cL=(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"]}}],[]),cM=(0,B.useCallback)(async a=>{if(bX(a))try{await hO(a,{type:"set_host_tools",tools:cL})}catch{}},[cL,bX]),cN=(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}],[]),cO=(0,B.useCallback)(async a=>{if(bX(a))try{await hO(a,{type:"set_host_uri_schemes",schemes:cN})}catch{}},[cN,bX]);bp.current=a=>{cM(a),cO(a),ch(a),b0(),b3(a)};let cP=(0,B.useCallback)(async(a,b,c,d=!1)=>{if(bX(a))try{await hO(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)}},[bX]),cQ=(0,B.useCallback)(async(a,b,c)=>{let d=bt.current;if(!d||!bX(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=i$(b),f=e?b?`Opened ${b}`:"No URL provided":"Unsafe or invalid URL not opened";await cP(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 cP(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 cP(d,a,b?`Opened ${b}`:"No path provided",!b);break}default:await cP(d,a,`Host tool "${b}" is not available in omp-web`,!0)}},[bX,n,cP]),cR=(0,B.useCallback)(async(a,b,c)=>{if(bX(a))try{await hO(a,{type:"host_uri_result",id:b,...c})}catch(a){console.error("Failed to send host URI result:",a)}},[bX]),cS=(0,B.useCallback)(async(a,b,c,d)=>{let e=bt.current;if(!e||!bX(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 cR(e,a,{isError:!0,error:"Clipboard read is not available in this browser"});try{let b=await navigator.clipboard.readText();await cR(e,a,{content:b||"(clipboard is empty)",contentType:"text/plain"})}catch{await cR(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 cR(e,a,{});return}catch{await cR(e,a,{isError:!0,error:"Clipboard write failed in this browser"});return}return void await cR(e,a,{isError:!0,error:"Clipboard write is not available in this browser"})}await cR(e,a,{isError:!0,error:`Unknown pi-web resource: ${f}`})},[bX,cR]),cT=(0,B.useCallback)(async(a,b)=>{let c=bt.current;if(c&&bX(c))try{await hO(c,{type:"extension_ui_input",id:a.id,data:b})}catch(a){console.error("Failed to send extension custom UI input:",a)}},[bX]),cU=(0,B.useCallback)(a=>{a5({type:"remove",id:a})},[]),cV=(0,B.useCallback)(async a=>{let b,c=setTimeout(()=>{bY({type:"info",message:(0,G.Tl)("agentSession.startingAgent")})},4e3);try{b=await cJ(a)}finally{clearTimeout(c)}if("connected"===b.status||b.source.readyState===EventSource.OPEN)return;let d=cp.isCurrent(a,b.source);throw bm.current===b.source&&(bm.current=null),d?cp.invalidate(a,b.source):b.source.close(),new iZ(b.status)},[bY,cJ,cp]),cW=(0,B.useCallback)(b=>{switch(b.method){case"select":case"confirm":case"input":case"editor":a9(b);break;case"cancel":a9(a=>a?.id===b.targetId?null:a);break;case"open_url":{let a=b.launchUrl??b.url,c=i$(a)?a:"";if(c)try{window.open(c,"_blank","noopener,noreferrer")}catch{}bY({id:b.id,type:"info",message:c?b.instructions?`${b.instructions}
|
|
18
|
-
${c}`:(0,G.Tl)("agentSession.openInBrowser",{url:c}):(0,G.Tl)("agentSession.unsafeUrlBlocked")});break}case"notify":bY({id:b.id,message:b.message,type:b.notifyType??"info"});break;case"setStatus":bd(a=>{let c=a.filter(a=>a.key!==b.statusKey);return b.statusText?[...c,{key:b.statusKey,text:b.statusText}]:c});break;case"setWidget":bf(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":bb(a=>b.closed?a?.id===b.id?null:a:b)}},[bY,a.chatInputRef]),cX=(0,B.useCallback)(async(a=bt.current,b)=>{if(void 0!==b&&bR.current!==b)return;let c=bU.current,d=bT.current;try{a&&await cE(a,!1,!0,b)}finally{if(void 0!==b&&bR.current!==b||(bV.current=null,!bD.current))return;!c&&d&&iY(d)&&(bY({type:"error",message:d}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),d,{timeout:12e3})),bD.current=!1,O(!1),a_(null),aH(null),a&&(ch(a),cg(a)),M({type:"end"}),bU.current=!1,bT.current=null,e?.()}},[bY,cE,e,cg,ch]),cY=(0,B.useCallback)(async(a,b)=>{await gy(800,void 0,void 0,bs.current.signal);let c=Date.now(),d=bv.current;for(;T.current&&bt.current===a&&bD.current&&Date.now()-c<2e4;){if(void 0!==b&&bR.current!==b)return;try{let c=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(c.ok){let e=await c.json();if(bt.current!==a||bv.current!==d)continue;let f=e.state;if(!e.running||!f||!f.isStreaming&&!f.isPromptRunning)return void await cX(a,b)}}catch{}await gy(600,void 0,void 0,bs.current.signal)}},[cX]),cZ=(0,B.useCallback)(async a=>{let b=bF.current+1;bF.current=b;let c=bv.current;for(;bE.current&&bF.current===b&&bt.current===a;){let d=bs.current.signal;if(await gy(1e3,void 0,void 0,d),d.aborted||!bE.current||bF.current!==b||bt.current!==a)return;try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)continue;let e=await d.json();if(bt.current!==a||bv.current!==c||e.state?.isBashRunning)continue;if(await cE(a),bF.current!==b||bt.current!==a)return;bE.current=!1,Q(!1),S(null);return}catch{}}},[cE]),c$=(0,B.useCallback)((a,b)=>{if(!T.current||bt.current!==a||!bz.current)return;let c=b.state;b.running&&c&&(c.isStreaming||c.isPromptRunning)&&(bD.current=!0,O(!0),a_(c.isStreaming?{kind:"waiting_model"}:{kind:"running_command"}),M({type:"start"}),cJ(a),cM(a),cO(a),ci(a),!c.isStreaming&&c.isPromptRunning&&cY(a)),c?.isBashRunning&&(bE.current=!0,Q(!0),cZ(a)),c&&b2(c,a,bu.current),b3(a)},[b2,cJ,b3,cM,cO,ci,cZ,cY]),c_=(0,B.useCallback)(async()=>{let a=bt.current;if(!a||p)return null;let b=bw.current+1;bw.current=b,bv.current=b;let c=bu.current,d={...by.current,runtime:"loading"};by.current=d,bz.current=!1,y(d),A(null);let e=await cD(a,b,c);return e&&c$(a,e),e},[p,cD,c$]),c0=(0,B.useCallback)(async a=>{if(!bD.current||!bX(a))return;let b=bR.current,c=bv.current;try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)return;let e=await d.json();if(bR.current!==b||bt.current!==a||bv.current!==c)return;let f=e.state;if(bB.current=f?.isCompacting??!1,aV(f?.isCompacting??!1),f?.todoPhases!==void 0&&bh(f.todoPhases??[]),b2(f,a,bu.current),ch(a),e.running&&f&&(f.isStreaming||f.isPromptRunning||f.isCompacting)||!bD.current)return;f?(void 0!==f.contextUsage&&aL(f.contextUsage??null),void 0!==f.systemPrompt&&aN(f.systemPrompt??null),void 0!==f.extensionStatuses&&bd(f.extensionStatuses??[]),void 0!==f.extensionWidgets&&bf(f.extensionWidgets??[])):aL(null),await cX(a,b)}catch{}},[b2,bX,cX,ch,aL]);bG.current=(0,B.useCallback)(a=>{switch(a.type){case"agent_start":if(bD.current){if(!bC.current)break}else bR.current+=1;bC.current=!1,bD.current=!0,O(!0),a_({kind:"waiting_model"}),M({type:"start"}),bU.current=!1,bT.current=null;break;case"agent_end":{if(!1===a.isTerminal)break;if(bC.current){bC.current=!1;break}if(!bD.current)break;let b=bU.current,c=bT.current,d="string"==typeof a.errorMessage?a.errorMessage.trim():"",f="string"==typeof a.message?a.message.trim():"",g=d||f;if(g&&iY(g)&&(bT.current=g),b)g&&iY(g)&&(bY({type:"error",message:g}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),g,{timeout:12e3}));else if(c&&iY(c)){let a=c||g;bY({type:"error",message:a}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),a,{timeout:12e3})}else if(g){let a=iY(g)?"error":"warning";bY({type:a,message:g}),"error"===a&&ha.oR.error((0,G.Tl)("agentSession.requestFailed"),g,{timeout:1e4})}let h=bt.current,i=bR.current;if(bD.current=!1,O(!1),a_(null),aH(null),h&&ch(h),M({type:"end"}),bU.current=!1,bT.current=null,h){cE(h,!1,!1,i),cg(h);let a=bv.current,b=cz();fetch(`/api/agent/${encodeURIComponent(h)}`).then(a=>a.ok?a.json():null).then(c=>{!c?.state?.model||bt.current!==h||bR.current!==i||bv.current!==a||cA(iW(c.state.model),b)&&(c.state?.contextUsage!==void 0&&aL(c.state.contextUsage??null),c.state?.systemPrompt!==void 0&&aN(c.state.systemPrompt||null),c.state?.fastModeEnabled!==void 0&&at(c.state.fastModeEnabled),av(c.state?.fastModeActive),c.state?.extensionStatuses!==void 0&&bd(c.state.extensionStatuses??[]),c.state?.extensionWidgets!==void 0&&bf(c.state.extensionWidgets??[]),c.state?.todoPhases!==void 0&&bh(c.state.todoPhases??[]),b2(c.state,h,bu.current),b3(h))}).catch(()=>{})}e?.();break}case"message_queue_update":b4(a.queue);break;case"prompt_result":if(!1!==a.agentInvoked||!bD.current)break;cX(bt.current,bR.current);break;case"prompt_error":{let b=a.errorMessage?.trim()??(0,G.Tl)("agentSession.commandFailed");bY({type:"error",message:b}),iY(b)&&(bT.current=b,ha.oR.error((0,G.Tl)("agentSession.quotaReached"),b,{timeout:12e3})),bD.current&&cX(bt.current,bR.current);break}case"notice":{let b=a.level,c=a.message?.trim()??"";if(/^xd:\/\/:\s*mounted\s+mcp__/i.test(c))ha.oR.info("MCP tools updated",c,{clamp:!0});else{let a="error"===b?"error":"warning"===b?"warning":"info";bY({type:a,message:c}),iY(c)&&(bT.current=c,"error"!==a&&bY({type:"error",message:c}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),c,{timeout:12e3}))}break}case"command_output":{let b=a.text?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(b)?ha.oR.info("MCP tools updated",b,{clamp:!0}):b&&(bY({type:"info",message:b}),iY(b)&&(bT.current=b,ha.oR.error((0,G.Tl)("agentSession.quotaReached"),b,{timeout:12e3})));break}case"thinking_level_changed":aq(iV(a.configured??a.thinkingLevel));break;case"model_changed":{let a=bt.current;if(!a)break;let b=bv.current,c=cz();fetch(`/api/agent/${encodeURIComponent(a)}`).then(a=>a.ok?a.json():null).then(d=>{!d?.state?.model||bt.current!==a||bv.current!==b||cA(iW(d.state.model),c)&&(void 0!==d.state.thinkingLevel&&ar(d.state.thinkingLevel),void 0!==d.state.fastModeEnabled&&at(d.state.fastModeEnabled),av(d.state.fastModeActive),void 0!==d.state.autoRetryEnabled&&aB(d.state.autoRetryEnabled),void 0!==d.state.interruptMode&&ax(d.state.interruptMode),void 0!==d.state.autoCompactionEnabled&&az(d.state.autoCompactionEnabled),void 0!==d.state.steeringMode&&aD(d.state.steeringMode),void 0!==d.state.followUpMode&&aF(d.state.followUpMode))}).catch(()=>{});break}case"config_update":{let b=a.model;b&&cA(iW(b)),void 0!==a.thinkingLevel&&ar(a.thinkingLevel);break}case"available_commands_update":a1((a.commands??[]).map(i6).filter(a=>null!==a));break;case"message_start":case"message_update":{if(!bD.current)break;let b=a.message;if(b?.role==="user")break;if(b){bU.current=!0;let a=i1(b);a&&iY(a)&&(bT.current=a.slice(0,800)),M({type:"update",message:iw(b)})}a_(null);break}case"message_end":{if(!bD.current)break;let b=a.message;if(b&&(bU.current=!0,"assistant"===b.role||"custom"===b.role)){let a=i1(b);a&&iY(a)&&(bT.current=a.slice(0,800))}if(b&&"user"===b.role){let a=iw(b),c=i3(a),d=bV.current;bV.current=null,F(b=>{let e=b[b.length-1];return d&&e?.role==="user"&&i3(e)===d?d===c?b:[...b.slice(0,-1),a]:[...b,a]})}else b?.role==="toolResult"?F(a=>{let c=a.findIndex(a=>"toolResult"===a.role&&a.toolCallId===b.toolCallId);if(c<0)return[...a,b];let d=[...a];return d[c]=b,d}):b?.role==="custom"&&"xdev-mount-notice"===b.customType?ha.oR.info("MCP tools updated",i1(b).trim()||"The MCP tool inventory changed.",{clamp:!0}):b&&F(a=>[...a,iw(b)]);M({type:"reset"}),a_({kind:"waiting_model"});break}case"tool_execution_update":{if(!bD.current||"string"!=typeof a.toolCallId)break;let b=a.partialResult;if("object"!=typeof b||null===b||!("content"in b)||!Array.isArray(b.content))break;let c=[];for(let a of b.content)"object"==typeof a&&null!==a&&"type"in a&&("text"===a.type&&"text"in a&&"string"==typeof a.text?c.push({type:"text",text:a.text}):"image"===a.type&&"data"in a&&"string"==typeof a.data&&"mimeType"in a&&"string"==typeof a.mimeType&&c.push({type:"image",data:a.data,mimeType:a.mimeType}));let d={role:"toolResult",toolCallId:a.toolCallId,toolName:"string"==typeof a.toolName?a.toolName:void 0,content:c,..."details"in b?{details:b.details}:{}};bS.current.add(d),F(a=>{let b=a.findIndex(a=>"toolResult"===a.role&&a.toolCallId===d.toolCallId);if(b<0)return[...a,d];let c=a[b];if("toolResult"!==c.role||!bS.current.has(c))return a;let e=[...a];return e[b]=d,e});break}case"tool_execution_start":{if(!bD.current)break;let b=a.toolCallId,c=a.toolName;bU.current=!0,a_(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&&bt.current&&c0(bt.current),a_(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":bt.current&&c0(bt.current);break;case"auto_retry_start":{let b=a.errorMessage;aH({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:b}),b&&iY(b)&&(bT.current=b);break}case"auto_retry_end":aH(null);break;case"auto_compaction_start":aV(!0),aX(null),aZ(null);break;case"auto_compaction_end":aV(!1),a.errorMessage?(aX(a.errorMessage),aZ(null)):a.aborted||a.skipped||(aZ(i4(a.result,"auto")),bt.current&&cE(bt.current));break;case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"",d=gi(a.arguments)?a.arguments:{};b&&c&&cQ(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&&cS(b,d,c,e);break}case"subagent_lifecycle":case"subagent_progress":case"subagent_event":cd(a);break;case"extension_ui_pending":{if(!Array.isArray(a.ids)||!a.ids.every(a=>"string"==typeof a))break;let b=new Set(a.ids);a9(a=>a&&!b.has(a.id)?null:a);break}case"extension_ui_request":cW(a)}},[bY,b2,b4,b3,cX,cW,cQ,cS,cE,cd,e,c0,cA,cz,cg,ch,aL,ar,aq]);let c1=(0,B.useCallback)(async(d,e)=>{let f=d.trim();if(!f&&!e?.length||!bX()||bD.current||bE.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 bK.current?.(b,a),!0)}let h=bR.current+1,{userMsg:i,piImages:j}=i5(d,e);F(a=>[...a,i]),bV.current=i3(i),bR.current=h,bD.current=!0,O(!0),a_(g?{kind:"running_command"}:{kind:"waiting_model"}),M({type:"start"}),bI.current=!0,bJ.current=!0,bL.current=0;try{let a=null;if(p&&c){let b=bt.current??await bP.current,c=b??await cH();c&&(a=c,cG(1,d),ag&&(aT(ag),b&&await hO(c,{type:"set_model",provider:ag.provider,modelId:ag.modelId})),await cV(c),ch(c),await hO(c,{type:"prompt",message:d,...j?.length?{images:j}:{}}))}else b&&(a=b.id,await cV(b.id),ch(b.id),cM(b.id),cO(b.id),await hO(b.id,{type:"prompt",message:d,...j?.length?{images:j}:{}}));return g&&a&&cY(a,h),!0}catch(c){console.error("Failed to send message:",c);let b=bV.current;return b&&F(a=>{let c=a[a.length-1];return c?.role==="user"&&i3(c)===b?a.slice(0,-1):a}),bY({type:"error",message:c instanceof iZ?c.message:(0,G.Tl)("agentSession.sendFailed",{detail:c instanceof Error?c.message:String(c)})}),d&&a.chatInputRef?.current?.insertIfEmpty(d),bV.current=null,bD.current=!1,O(!1),a_(null),M({type:"end"}),!1}},[bX,p,c,ag,b,cH,cV,cG,cY,bY,a.chatInputRef,ch,cM,cO]),c2=(0,B.useCallback)(async(a,b)=>{let c=a.trim();if(!c&&!b?.length)return!1;let d=bt.current;if(!d||!bX(d)||!bD.current)return!1;let{userMsg:e,piImages:f}=i5(a,b);F(a=>[...a,e]),bV.current=i3(e),bC.current=!0,bI.current=!0,bJ.current=!0,bL.current=0;try{return await cV(d),ch(d),await hO(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=bV.current;return a&&F(b=>{let c=b[b.length-1];return c?.role==="user"&&i3(c)===a?b.slice(0,-1):b}),bV.current=null,bY({type:"error",message:b instanceof Error?b.message:String(b)}),!1}},[bY,bX,cV,ch]);bK.current=(0,B.useCallback)(async(c,d)=>{if(!bX()||bD.current||bE.current)return;let e=`${d?"!!":"!"}${c}`;bE.current=!0,S({command:c,excludeFromContext:d}),Q(!0);try{let a=bt.current??b?.id??await cH();if(!a)throw Error((0,G.Tl)("agentSession.shellSessionFailed"));await hO(a,{type:"bash",command:c,excludeFromContext:d}),await cE(a),cG(1,e)}catch(b){console.error("Failed to execute shell command:",b),bY({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{bE.current=!1,S(null),Q(!1)}},[bY,bX,cH,cE,a.chatInputRef,cG,b]);let c3=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)){if(bE.current){try{await hO(a,{type:"abort_bash"})}catch(a){console.error("Failed to abort bash:",a)}return}try{await hO(a,{type:"abort"})}catch(a){console.error("Failed to abort:",a)}}},[bX]),c4=(0,B.useCallback)(async a=>{if(bE.current)return;let b=bt.current;if(b&&bX(b)){aP(a);try{let{cancelled:c,newSessionId:d}=await hO(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aP(null)}}},[bX,g]),c5=(0,B.useCallback)(async a=>{if(bE.current||bD.current)return;let b=bt.current;b&&bX(b)&&(D(a),await cF(b,a))},[bX,cF]);(0,B.useCallback)(async a=>{if(bE.current||bD.current)return;let b=bt.current;b&&bX(b)&&(D(a),await cF(b,a))},[bX,cF]);let c6=(0,B.useCallback)(async(a,b)=>{if(p){ah({provider:a,modelId:b}),aT({provider:a,modelId:b});let c=bt.current??await bP.current;if(!c)return;try{await hO(c,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bt.current;if(c&&bX(c))try{await hO(c,{type:"set_model",provider:a,modelId:b}),aR({provider:a,modelId:b}),cB(c)}catch(a){console.error("Failed to set model:",a)}},[bX,p,ah,cB]),c7=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current??await cH();if(b)try{let c=await hO(b,{type:"set_fast_mode",enabled:a});at(c?.enabled??a),av(c?.active),cB(b)}catch(a){console.error("Failed to change Fast mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cH,p,cB]),c8=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){aB(a);try{await hO(b,{type:"set_auto_retry",enabled:a})}catch(b){aB(b=>b===a?!a:b),bY({type:"error",message:b instanceof Error?b.message:String(b)})}}},[bY,bX,p]),c9=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){ax(a);try{await hO(b,{type:"set_interrupt_mode",mode:a})}catch(a){console.error("Failed to change interrupt mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),da=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){az(a);try{await hO(b,{type:"set_auto_compaction",enabled:a})}catch(a){console.error("Failed to change auto-compaction:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),db=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){aD(a);try{await hO(b,{type:"set_steering_mode",mode:a})}catch(a){console.error("Failed to change steering mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),dc=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){aF(a);try{await hO(b,{type:"set_follow_up_mode",mode:a})}catch(a){console.error("Failed to change follow-up mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),dd=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)&&!bD.current&&!bE.current)try{await hO(a,{type:"cycle_model"}),cB(a)}catch(a){console.error("Failed to cycle model:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cB]),de=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a))try{await hO(a,{type:"cycle_thinking_level"}),cB(a)}catch(a){console.error("Failed to cycle thinking level:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cB]),df=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)){aH(null);try{await hO(a,{type:"abort_retry"})}catch(a){console.error("Failed to abort retry:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX]),dg=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)&&!bB.current&&!bD.current&&!bE.current)try{await hO(a,{type:"handoff"}),await cE(a,!0),cB(a)}catch(a){bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cE,cB]),dh=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)&&!bB.current&&!aU){bB.current=!0,aV(!0),aX(null),aZ(null);try{let b=await hO(a,{type:"compact"});aZ(i4(b,"manual")),await cE(a,!0),cB(a)}catch(a){aX(a instanceof Error?a.message:String(a)),aZ(null)}finally{bB.current=!1,aV(!1)}}},[bX,aU,cE,cB]),di=(0,B.useCallback)(async(a,d=!1)=>{let e=bx.current+1;bx.current=e;let f=c??b?.cwd??"",g=()=>!a?.aborted&&bx.current===e&&(c??b?.cwd??"")===f;Z(!0);try{let a=await function(a,b){let c=a??"";b?.force&&function(a){let b=iQ();if(void 0===a){for(let[a,c]of(b.globalGeneration+=1,b.entries))c.generation+=1,c.data=null,c.error=null,c.status="idle",c.expiresAt=null,iR(a,c);b.inFlight.clear();return}let c=a??"",d=iS(b,c);d.generation+=1,d.data=null,d.error=null,d.status="idle",d.expiresAt=null,b.inFlight.delete(c),iR(c,d)}(c);let d=iQ(),e=iS(d,c),f=Date.now();if(e.data&&null!==e.expiresAt&&e.expiresAt>f&&!b?.force)return Promise.resolve(e.data);let g=d.inFlight.get(c);if(g)return g;let h=e.generation,i=d.globalGeneration;"ready"!==e.status&&(e.status="loading",e.error=null,iR(c,e));let j=(async()=>{let a=await fetch(c?`/api/models?cwd=${encodeURIComponent(c)}`:"/api/models",{cache:"no-store"});if(!a.ok)throw Error(`HTTP ${a.status}`);var b=await a.json();if(!b||"object"!=typeof b)throw Error("invalid models response");return{models:b.models&&"object"==typeof b.models?b.models:{},modelList:Array.isArray(b.modelList)?b.modelList:[],defaultModel:b.defaultModel??null,thinkingLevels:b.thinkingLevels&&"object"==typeof b.thinkingLevels?b.thinkingLevels:{},...b.thinkingLevelMaps?{thinkingLevelMaps:b.thinkingLevelMaps}:{},...b.connectedProviders?{connectedProviders:b.connectedProviders}:{},..."string"==typeof b.modelError?{modelError:b.modelError}:{}}})().then(a=>{let b=iQ(),d=b.entries.get(c);return d&&d.generation===h&&b.globalGeneration===i&&(d.data=a,d.error=null,d.status="ready",d.expiresAt=Date.now()+3e4,iR(c,d)),a}).catch(a=>{let b=iQ(),d=b.entries.get(c);throw d&&d.generation===h&&b.globalGeneration===i&&(d.status="error",d.error=a instanceof Error?a.message:String(a),d.expiresAt=null,iR(c,d)),a}).finally(()=>{let a=iQ();a.inFlight.get(c)===j&&a.inFlight.delete(c)});return d.inFlight.set(c,j),j}(f,d?{force:!0}:void 0);if(!g())return;V(a.models),_(a.modelError??null),ad(a.thinkingLevels??{}),af(a.thinkingLevelMaps??{});let b=a.modelList??[];if(X(b),p){let c=(a.defaultModel?b.find(b=>b.id===a.defaultModel?.modelId&&b.provider===a.defaultModel?.provider):void 0)??b[0];aj(c?{provider:c.provider,modelId:c.id}:null)}}catch(a){if(!g())return;_(a instanceof Error?a.message:String(a))}finally{if(!g())return;Z(!1)}},[p,c,b?.cwd]),dj=(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=bt.current??await cH(),g=a=>(a.handled&&(a.error?bY({type:"error",message:a.error}):"openSessionStats"!==a.action&&bY({type:"success",message:a.message??(0,G.Tl)("agentSession.commandCompleted")})),a);if(!f||!bX(f))return g({handled:!0,error:z??"Session runtime is not ready."});try{switch(c){case"compact":{if(!f||bB.current||aU)return g({handled:!0,error:(0,G.Tl)("agentSession.noSessionToCompact")});bB.current=!0,aV(!0),aX(null),aZ(null);let a=await hO(f,{type:"compact",...e?{customInstructions:e}:{}});return aZ(i4(a,"manual")),await cE(f,!0),bB.current=!1,aV(!1),cG(),g({handled:!0,message:(0,G.Tl)("agentSession.compactedContext")})}case"reload":if(!f)return g({handled:!0,error:(0,G.Tl)("agentSession.noSessionToReload")});return await hO(f,{type:"reload"}),await Promise.all([cE(f,!1,!0),cI(),di(void 0,!0)]),g({handled:!0,message:(0,G.Tl)("agentSession.reloadedResources")});case"name":if(!f)return g({handled:!0,error:(0,G.Tl)("agentSession.noSessionToName")});if(!e)return g({handled:!0,error:(0,G.Tl)("agentSession.nameUsage")});return await hO(f,{type:"set_session_name",name:e}),await cE(f),cG(),g({handled:!0,message:(0,G.Tl)("agentSession.sessionRenamed",{name:e})});case"session":{if(!f)return g({handled:!0,error:(0,G.Tl)("agentSession.noActiveSession")});let a=await hO(f,{type:"get_session_stats"});return a&&a7(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,G.Tl)("agentSession.noActiveSession")});let a=await hO(f,{type:"get_last_assistant_text"}),b=a?.text??"";if(!b)return g({handled:!0,error:(0,G.Tl)("agentSession.noMessageToCopy")});return await navigator.clipboard.writeText(b),g({handled:!0,message:(0,G.Tl)("agentSession.copiedLastMessage")})}default:{let b=hi(a);if("not-web"===b.kind)return{handled:!1};if("usage-error"===b.kind)return g({handled:!0,error:(0,G.Tl)("agentSession.commandRequiresArgs",{command:b.command,usage:(0,G.Tl)(b.argumentHintKey)})});if("plan"===c&&bl({objective:e}),!await c1(b.prompt))return"plan"===c&&bl(null),{handled:!0,retainInput:!0};if("goal"===c){let a=function(a,b=Date.now()){return{objective:a.trim(),startedAt:b}}(e);bj(a);let b=bt.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,aV(!1))}},[bY,bX,cH,c1,aU,di,cE,cI,cG,m,l,z]),dk=(0,B.useCallback)((a,b,c)=>b5(a,b,c,cV),[b5,cV]),dl=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a))try{await hO(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[bX]),dm=(0,B.useCallback)(async a=>{if(!bX())return;let b=ao.current;aq(a);let c=bt.current??await bP.current;if(c)try{await hO(c,{type:"set_thinking_level",level:a}),cB(c)}catch(c){ao.current===a&&aq(b),console.error("Failed to set thinking level:",c)}},[bX,cB,aq]),dn=(0,B.useCallback)(async a=>{!bX()||(cq(a),function(a,b=null){if(b)try{b.setItem(iP,a)}catch{}}(a),(bt.current??await bP.current)&&bY({type:"info",message:(0,G.Tl)("agentSession.toolPresetNotice")}))},[cq,bY,bX]);(0,B.useCallback)(a=>{var b;let c,d=bO.current,e=bN.current;if(!d||!e)return;let f=iT(d),g=(c="initial"===(b={following:"initial"===a||"user-send"===a||bJ.current,intent:a,scrollTop:d.scrollTop,nextScrollTop:f,reducedMotion:o}).intent||"user-send"===b.intent,(b.following||c)&&b.scrollTop!==b.nextScrollTop?"follow-stream"===b.intent||"initial"===b.intent||b.reducedMotion?{mode:"assign"}:{mode:"into-view",behavior:"smooth"}:{mode:"skip"});(function(a){if("skip"===a.decision.mode)return{wrote:!1,method:"none"};if("assign"===a.decision.mode){let b=iT(a.container);return a.container.scrollTop===b?{wrote:!1,method:"none"}:(a.container.scrollTop=b,{wrote:!0,method:"scrollTop"})}return a.end.scrollIntoView({block:"nearest",behavior:a.decision.behavior??"smooth"}),{wrote:!0,method:"scrollIntoView"}})({container:d,end:e,decision:g}).wrote&&(bM.current=Date.now()+700)},[o]),(0,B.useCallback)(a=>{a instanceof KeyboardEvent&&(!iX.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))||(bL.current=Date.now()+1200)},[]),(0,B.useCallback)(()=>{let a=Date.now()<=bL.current;if(!a&&Date.now()<bM.current||!a)return;let b=bO.current,c=bN.current;b&&c&&(bJ.current=c.getBoundingClientRect().bottom-b.getBoundingClientRect().bottom<=24)},[]),(0,B.useCallback)(()=>{bF.current+=1,bW.current?.reset();let a=bm.current;cp.invalidate(),a&&a.readyState!==EventSource.CLOSED&&a.close(),bm.current=null,bq.current&&(clearTimeout(bq.current),bq.current=null),br.current=0,cf(),bs.current.abort(),bs.current=new AbortController,b1()},[b1,cf,cp]),(0,B.useRef)(cE).current=cE,(0,B.useRef)(c$).current=c$,(0,B.useRef)(null),(0,B.useRef)(L.isStreaming).current=L.isStreaming,(0,B.useRef)(E.length).current=E.length,(0,B.useRef)(t).current=t;let dp=J.length>0?J[J.length-1]:"";return(0,B.useMemo)(()=>{var a;return[(a={loading:t,messageCount:E.length,lastEntryId:dp,streaming:L.isStreaming,streamRevision:L.revision,agentRunning:N,agentPhase:a$?"running_tools"===a$.kind?`running_tools:${a$.tools.map(a=>a.name).join(",")}`:a$.kind:null,widgetSignature:be.map(a=>`${a.key}:${a.lines.join("\n")}`).join(","),isCompacting:aU,retrySignature:aG?`${aG.attempt}/${aG.maxAttempts}`:"",activeSubagentCount:cc,todoSignature:bg?.length?bg.map(a=>{let b=Array.isArray(a.tasks)?a.tasks:[];return`${a.name??""}:${b.map(a=>a.status??"").join("")}:${b.length}`}).join(","):""}).loading?"1":"0",String(a.messageCount),a.lastEntryId,a.streaming?"1":"0",String(a.streamRevision),a.agentRunning?"1":"0",a.agentPhase??"",a.widgetSignature,a.isCompacting?"1":"0",a.retrySignature,String(a.activeSubagentCount),a.todoSignature].join("\x1f")},[t,E.length,dp,L.isStreaming,L.revision,N,a$,be,aU,aG,cc,bg]),(0,B.useRef)(null),{data:r,loading:t,error:v,sessionReadiness:x,runtimeError:z,runtimeReady:cr,activeLeafId:C,messages:E,replicaPreview:H,entryIds:J,streamState:L,agentRunning:N,modelNames:U,modelList:W,modelsLoading:Y,modelError:$,modelThinkingLevels:ac,modelThinkingLevelMaps:ae,newSessionModel:ag,toolPreset:ak,thinkingLevel:am,fastModeEnabled:as,fastModeActive:au,autoRetryEnabled:aA,interruptMode:aw,autoCompactionEnabled:ay,steeringMode:aC,followUpMode:aE,liveModelMeta:aa,retryInfo:aG,contextUsage:cv,systemPrompt:aM,forkingEntryId:aO,isCompacting:aU,compactError:aW,compactResult:aY,currentModel:cs,displayModel:ct,sessionStats:cw,slashCommands:a0,slashCommandsLoading:a2,queuedMessages:b$,queueEnqueuePending:b_,notices:a4.visible,dismissNotice:cU,extensionDialog:a8,extensionCustomUi:ba,extensionStatuses:bc,extensionWidgets:be,respondToExtensionUi:cK,sendExtensionCustomInput:cT,isAutoModelSelection:p&&null===ag,agentPhase:a$,subagents:b9,subagentEvents:ca,subagentTranscriptVersions:cb,activeSubagentCount:cc,currentTodoPhase:cx,todoPhases:bg,activeGoal:bi,activePlan:bk,isNew:p,sessionIdRef:bt,messagesEndRef:bN,scrollContainerRef:bO,pendingScrollToUserRef:bI,initialScrollDoneRef:bH,handleSend:c1,handleAbort:c3,handleFork:c4,handleNavigate:c5,handleModelChange:c6,handleFastModeChange:c7,handleAutoRetryChange:c8,handleInterruptModeChange:c9,handleAutoCompactionChange:da,handleSteeringModeChange:db,handleFollowUpModeChange:dc,handleCycleModel:dd,handleCycleThinkingLevel:de,handleAbortRetry:df,handleInterruptAndReply:c2,handleCompact:dh,handleHandoff:dg,handlePromptWithStreamingBehavior:dk,handleAbortCompaction:dl,retryRuntimeState:c_,handleRecallQueuedMessage:b6,handleDeleteQueuedMessage:b7,handlePromoteQueuedMessage:b8,handleBuiltinSlashCommand:dj,handleToolPresetChange:dn,handleThinkingLevelChange:dm,loadSlashCommands:cI,setActiveLeafId:D,setData:s,setMessages:F,dispatch:M,setAgentRunning:O,setForkingEntryId:aP,bashRunning:P,pendingBash:R,handleAgentEventRef:bG}}({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}),aW=N||O,aX=a?.id??(b?`new:${b}`:"empty"),[aY,aZ]=(0,B.useState)(()=>hW(0,0,0)),a$=(0,B.useCallback)((a,b)=>{let c=hW(F.length,a,b);aZ(a=>a===c?a:c)},[F.length]),[a_,a0]=(0,B.useState)(null);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:a1,handleDragEnter:a2,handleDragOver:a3,handleDragLeave:a4,handleDrop:a5}=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(i7)&&(a.preventDefault(),d.current+=1,c(!0))},[]),f=(0,B.useCallback)(a=>{Array.from(a.dataTransfer.items).some(i7)&&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=>{!aW&&L&&j?.current?.addFiles(a)},[L,aW,j])),a6=(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]),a7=(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),jn(e)&&(b=f),("user"===e.role||"assistant"===e.role)&&c.set(f,d++)}),{toolResultsMap:a,lastAnchorIdx:b,visibleRefIndexByMessage:c}},[F]),a8=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}(a7.visibleRefIndexByMessage.size),a9=(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]),ba=(0,B.useMemo)(()=>{if(as?.kind!=="running_tools")return[];let a=new Set(a9),b=I.streamingMessage;if(b?.role==="assistant")for(let c of b.content??[])"toolCall"===c.type&&a.add(c.toolCallId);return as.tools.filter(b=>!a.has(b.id))},[as,a9,I.streamingMessage]),bb=aB&&0===F.length&&!I.isStreaming&&!aW,bc=a?.cwd??b??void 0,bd=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,be=ad?V[`${ad.provider}:${ad.modelId}`]??null:null,bf=(0,A.jsx)(hL,{ref:j,onSend:aF,onAbort:aG,runtimeReady:L,onPromptWithStreamingBehavior:L&&N?aK:void 0,isStreaming:aW,model:ad,isAutoModelSelection:ar,modelNames:Q,modelList:R,modelsLoading:S,modelError:T,onModelChange:L?aJ:void 0,onAbortCompaction:L?aL:void 0,isCompacting:ab,compactResult:ac,thinkingLevel:W,onThinkingLevelChange:L&&(a||aB)?aQ:void 0,fastModeEnabled:X,fastModeActive:Y,fastModeSupported:!!(ad&&R.some(a=>a.provider===ad.provider&&a.id===ad.modelId&&a.supportsFastMode)),onFastModeChange:L&&(a||aB)?aR:void 0,onAbortRetry:L&&a?aU:void 0,availableThinkingLevels:bd,thinkingLevelMap:be,modelNameOverride:Z?.name??null,retryInfo:$,activeGoal:at,activePlan:au,advisorEnabled:c,queuedMessages:ah,onRecallQueuedMessage:L?aM:void 0,onDeleteQueuedMessage:L?aN:void 0,onPromoteQueuedToSteer:L?aO:void 0,queueEnqueuePending:ai,inputHistory:a6,contextUsage:_,sessionCost:ae?.cost??null,slashCommands:af,slashCommandsLoading:ag,onLoadSlashCommands:L?aV:void 0,onBuiltinCommand:L?aP:void 0,onAudioUnlock:w,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),bg=ao.filter(a=>"belowEditor"!==a.placement),bh=ao.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(E)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:E});let bi=aB||"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:744,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:a2,onDragOver:a3,onDragLeave:a4,onDrop:a5,children:[a1&&L&&!aW&&(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"})]})]})]}),al&&(0,A.jsx)(hM,{request:al,onRespond:ap,runtimeReady:L}),(0,A.jsx)(hV,{subagent:a_,sessionId:a?.id??aC.current??null,transcriptVersion:a_?ax[a_.id]??0:0,events:a_?aw[a_.id]??[]:void 0,onClose:()=>a0(null)}),am&&(0,A.jsx)(jw,{request:am,onInput:aq,runtimeReady:L}),bb?(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:744,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.7.5"]})]}),(0,A.jsx)(jp,{refreshKey:i})]})]}),(0,A.jsx)(jv,{notices:aj,onDismiss:ak,align:"right"})]})}),bf]})})}):(0,A.jsxs)(A.Fragment,{children:[bi,(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:744,margin:"0 auto"},children:(0,A.jsx)(jv,{notices:aj,onDismiss:ak,floating:!0,align:"right"})})}),(0,A.jsx)("div",{ref:aE,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:744,margin:"0 auto"},children:[(0,A.jsx)(jt,{statuses:an}),(0,A.jsx)(ju,{widgets:bg}),(0,A.jsx)(jr,{messages:F,entryIds:H,conversationMeta:a7,messageRefs:a8,isStreaming:I.isStreaming,sessionBusy:aW,runtimeReady:L,isNew:aB,forkingEntryId:aa,handleFork:aH,handleNavigate:aI,handleEditContent:C,modelNames:Q,messageCwd:bc,onOpenFile:r,sessionId:a?.id??aC.current??void 0,toolCallsDefaultCollapsed:d,sessionKey:aX,scrollContainerRef:aE,onRenderWindowChange:a$}),I.isStreaming&&I.streamingMessage&&(0,A.jsx)(gC,{message:I.streamingMessage,isStreaming:!0,modelNames:Q,cwd:bc,onOpenFile:r,toolCallsDefaultCollapsed:d}),d&&ba.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===ba.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,G.Tl)("chatWindow.runningTool"):b.length<=3?(0,G.Tl)("chatWindow.runningNamed",{names:b.join(", ")}):(0,G.Tl)("chatWindow.runningNamedMore",{names:b.slice(0,2).join(", "),more:b.length-2})}return a?.kind==="waiting_model"?(0,G.Tl)("chatWindow.waitingModel"):a?.kind==="running_command"?(0,G.Tl)("chatWindow.runningCommand"):(0,G.Tl)("chatWindow.thinking")}(as),ay>0?u("chatWindow.subagentCount",ay):null,az?t("chatWindow.todoPhaseStatus",{name:az.name,done:az.done,total:az.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)(gC,{message:{role:"bashExecution",command:P.command,output:"",excludeFromContext:P.excludeFromContext},sessionId:a?.id??aC.current??void 0}),(0,A.jsx)("div",{ref:aD})]})})}),x?null:(0,A.jsx)(hZ,{messages:F,scrollContainer:aE,messageRefs:a8,layoutKey:aY})]}),(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:744,margin:"0 auto"},children:[(0,A.jsx)(iv,{todoPhases:aA,subagents:av,subagentEvents:aw,onSelectSubagent:a0}),(0,A.jsx)(ju,{widgets:bh})]})}),bf]})]})]})}function jt({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 ju({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 jv({notices:a,onDismiss:b,floating:c=!1,align:d="left"}){return 0===a.length?null:(0,A.jsx)("div",{role:"status","aria-live":"polite",style:{display:"flex",flexDirection:"column",alignItems:"right"===d?"flex-end":"stretch",marginBottom:10*!c,pointerEvents:c?"auto":void 0},children:a.map((d,e)=>{let f="error"===d.type?"var(--status-error)":"warning"===d.type?"var(--status-warning)":"success"===d.type?"var(--status-success)":"var(--accent)",g="error"===d.type;return(0,A.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:g?"flex-start":"center",gap:"var(--space-4)",minHeight:"var(--control-height-lg)",height:g?"auto":"var(--control-height-lg)",maxHeight:g?96:48,marginBottom:e===a.length-1?0:"var(--space-2)",overflow:"hidden",borderRadius:"var(--radius-control)",border:`1px solid ${g?"color-mix(in srgb, var(--status-error) 35%, var(--border))":"color-mix(in srgb, var(--border) 70%, transparent)"}`,background:g?"color-mix(in srgb, var(--status-error) 7%, var(--bg))":"var(--bg)",color:g?"var(--text)":"var(--text-muted)",width:"fit-content",maxWidth:g?"min(100%, 640px)":"min(100%, 620px)",boxShadow:c?"var(--shadow-pop)":"var(--shadow-card)",fontSize:"var(--text-md)",lineHeight:g?1.4:1.35,transformOrigin:"top center",animation:d.exiting?"notice-shelf-out var(--dur-med) ease-in forwards":"notice-shelf-in var(--dur-med) var(--ease-out-warm) both",padding:g?"8px 8px 8px 10px":"0 10px"},children:[(0,A.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:f,flexShrink:0,marginTop:6*!!g}}),(0,A.jsx)("span",{style:{padding:g?"0":"8px 0",minWidth:0,maxWidth:"100%",overflow:"hidden",display:g?"-webkit-box":"block",WebkitLineClamp:g?3:void 0,WebkitBoxOrient:g?"vertical":void 0,overflowWrap:"anywhere",whiteSpace:g?"normal":"nowrap",textOverflow:g?"clip":"ellipsis",flex:1},title:d.message,children:d.message}),b&&(0,A.jsx)("button",{type:"button",onClick:()=>b(d.id),"aria-label":(0,G.Tl)("ui.dismiss"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:18,height:18,padding:0,border:0,borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0,marginTop:+!!g},children:(0,A.jsx)("span",{"aria-hidden":!0,style:{fontSize:12,lineHeight:1},children:"\xd7"})})]},d.id)})})}function jw({request:a,onInput:b,runtimeReady:c=!0}){let{t:d}=(0,G.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(jb,""),e=je(a).trimEnd();if(b.test(e))continue;let f=a,g=jh(f);("│"===g||"┃"===g)&&" "===jh(f=jg(f,0))&&(f=jg(f,0));let h=function(a){let b=jf(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(f),i=h>=0?jf(f)[h]?.char:void 0;("│"===i||"┃"===i)&&(f=jg(f,h)),c.push(function(a){let b=a;for(;;){let a=jf(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&&""===je(c[0]).trim();)c.shift();for(;c.length>0&&""===je(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=jj[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":" ":ji[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(ja.lastIndex=0;null!==(b=ja.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=jc[d-30];else if(d>=90&&d<=97)c.color=jd[d-90];else if(d>=40&&d<=47)c.background=jc[d-40];else if(d>=100&&d<=107)c.background=jd[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 jc[a];if(a>=8&&a<16)return jd[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)})})]})})}},89988:(a,b,c)=>{function d(a){let b=[],c=String(a||""),d=c.indexOf(","),e=0,f=!1;for(;!f;){-1===d&&(d=c.length,f=!0);let a=c.slice(e,d).trim();(a||!f)&&b.push(a),e=d+1,d=c.indexOf(",",e)}return b}function e(a,b){let c=b||{};return(""===a[a.length-1]?[...a,""]:a).join((c.padRight?" ":"")+","+(!1===c.padLeft?"":" ")).trim()}c.d(b,{A:()=>e,q:()=>d})},92382:(a,b,c)=>{c.d(b,{qy:()=>r,JW:()=>s});class d{constructor(a,b,c){this.normal=b,this.property=a,c&&(this.space=c)}}function e(a,b){let c={},e={};for(let b of a)Object.assign(c,b.property),Object.assign(e,b.normal);return new d(c,e,b)}d.prototype.normal={},d.prototype.property={},d.prototype.space=void 0;var f=c(61135),g=c(12525);function h(a){let b={},c={};for(let[d,e]of Object.entries(a.properties)){let h=new g.E(d,a.transform(a.attributes||{},d),e,a.space);a.mustUseProperty&&a.mustUseProperty.includes(d)&&(h.mustUseProperty=!0),b[d]=h,c[(0,f.S)(d)]=d,c[(0,f.S)(h.attribute)]=d}return new d(b,c,a.space)}var i=c(98448);let j=h({properties:{ariaActiveDescendant:null,ariaAtomic:i.booleanish,ariaAutoComplete:null,ariaBusy:i.booleanish,ariaChecked:i.booleanish,ariaColCount:i.number,ariaColIndex:i.number,ariaColSpan:i.number,ariaControls:i.spaceSeparated,ariaCurrent:null,ariaDescribedBy:i.spaceSeparated,ariaDetails:null,ariaDisabled:i.booleanish,ariaDropEffect:i.spaceSeparated,ariaErrorMessage:null,ariaExpanded:i.booleanish,ariaFlowTo:i.spaceSeparated,ariaGrabbed:i.booleanish,ariaHasPopup:null,ariaHidden:i.booleanish,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:i.spaceSeparated,ariaLevel:i.number,ariaLive:null,ariaModal:i.booleanish,ariaMultiLine:i.booleanish,ariaMultiSelectable:i.booleanish,ariaOrientation:null,ariaOwns:i.spaceSeparated,ariaPlaceholder:null,ariaPosInSet:i.number,ariaPressed:i.booleanish,ariaReadOnly:i.booleanish,ariaRelevant:null,ariaRequired:i.booleanish,ariaRoleDescription:i.spaceSeparated,ariaRowCount:i.number,ariaRowIndex:i.number,ariaRowSpan:i.number,ariaSelected:i.booleanish,ariaSetSize:i.number,ariaSort:null,ariaValueMax:i.number,ariaValueMin:i.number,ariaValueNow:i.number,ariaValueText:null,role:null},transform:(a,b)=>"role"===b?b:"aria-"+b.slice(4).toLowerCase()});function k(a,b){return b in a?a[b]:b}function l(a,b){return k(a,b.toLowerCase())}let m=h({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:i.commaSeparated,acceptCharset:i.spaceSeparated,accessKey:i.spaceSeparated,action:null,allow:null,allowFullScreen:i.boolean,allowPaymentRequest:i.boolean,allowUserMedia:i.boolean,alt:null,as:null,async:i.boolean,autoCapitalize:null,autoComplete:i.spaceSeparated,autoFocus:i.boolean,autoPlay:i.boolean,blocking:i.spaceSeparated,capture:null,charSet:null,checked:i.boolean,cite:null,className:i.spaceSeparated,cols:i.number,colSpan:null,content:null,contentEditable:i.booleanish,controls:i.boolean,controlsList:i.spaceSeparated,coords:i.number|i.commaSeparated,crossOrigin:null,data:null,dateTime:null,decoding:null,default:i.boolean,defer:i.boolean,dir:null,dirName:null,disabled:i.boolean,download:i.overloadedBoolean,draggable:i.booleanish,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:i.boolean,formTarget:null,headers:i.spaceSeparated,height:i.number,hidden:i.overloadedBoolean,high:i.number,href:null,hrefLang:null,htmlFor:i.spaceSeparated,httpEquiv:i.spaceSeparated,id:null,imageSizes:null,imageSrcSet:null,inert:i.boolean,inputMode:null,integrity:null,is:null,isMap:i.boolean,itemId:null,itemProp:i.spaceSeparated,itemRef:i.spaceSeparated,itemScope:i.boolean,itemType:i.spaceSeparated,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:i.boolean,low:i.number,manifest:null,max:null,maxLength:i.number,media:null,method:null,min:null,minLength:i.number,multiple:i.boolean,muted:i.boolean,name:null,nonce:null,noModule:i.boolean,noValidate:i.boolean,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:i.boolean,optimum:i.number,pattern:null,ping:i.spaceSeparated,placeholder:null,playsInline:i.boolean,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:i.boolean,referrerPolicy:null,rel:i.spaceSeparated,required:i.boolean,reversed:i.boolean,rows:i.number,rowSpan:i.number,sandbox:i.spaceSeparated,scope:null,scoped:i.boolean,seamless:i.boolean,selected:i.boolean,shadowRootClonable:i.boolean,shadowRootDelegatesFocus:i.boolean,shadowRootMode:null,shape:null,size:i.number,sizes:null,slot:null,span:i.number,spellCheck:i.booleanish,src:null,srcDoc:null,srcLang:null,srcSet:null,start:i.number,step:null,style:null,tabIndex:i.number,target:null,title:null,translate:null,type:null,typeMustMatch:i.boolean,useMap:null,value:i.booleanish,width:i.number,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:i.spaceSeparated,axis:null,background:null,bgColor:null,border:i.number,borderColor:null,bottomMargin:i.number,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:i.boolean,declare:i.boolean,event:null,face:null,frame:null,frameBorder:null,hSpace:i.number,leftMargin:i.number,link:null,longDesc:null,lowSrc:null,marginHeight:i.number,marginWidth:i.number,noResize:i.boolean,noHref:i.boolean,noShade:i.boolean,noWrap:i.boolean,object:null,profile:null,prompt:null,rev:null,rightMargin:i.number,rules:null,scheme:null,scrolling:i.booleanish,standby:null,summary:null,text:null,topMargin:i.number,valueType:null,version:null,vAlign:null,vLink:null,vSpace:i.number,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:i.boolean,disableRemotePlayback:i.boolean,prefix:null,property:null,results:i.number,security:null,unselectable:null},space:"html",transform:l}),n=h({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:i.commaOrSpaceSeparated,accentHeight:i.number,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:i.number,amplitude:i.number,arabicForm:null,ascent:i.number,attributeName:null,attributeType:null,azimuth:i.number,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:i.number,by:null,calcMode:null,capHeight:i.number,className:i.spaceSeparated,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:i.number,diffuseConstant:i.number,direction:null,display:null,dur:null,divisor:i.number,dominantBaseline:null,download:i.boolean,dx:null,dy:null,edgeMode:null,editable:null,elevation:i.number,enableBackground:null,end:null,event:null,exponent:i.number,externalResourcesRequired:null,fill:null,fillOpacity:i.number,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:i.commaSeparated,g2:i.commaSeparated,glyphName:i.commaSeparated,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:i.number,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:i.number,horizOriginX:i.number,horizOriginY:i.number,id:null,ideographic:i.number,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:i.number,k:i.number,k1:i.number,k2:i.number,k3:i.number,k4:i.number,kernelMatrix:i.commaOrSpaceSeparated,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:i.number,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:i.number,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:i.number,overlineThickness:i.number,paintOrder:null,panose1:null,path:null,pathLength:i.number,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:i.spaceSeparated,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:i.number,pointsAtY:i.number,pointsAtZ:i.number,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:i.commaOrSpaceSeparated,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:i.commaOrSpaceSeparated,rev:i.commaOrSpaceSeparated,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:i.commaOrSpaceSeparated,requiredFeatures:i.commaOrSpaceSeparated,requiredFonts:i.commaOrSpaceSeparated,requiredFormats:i.commaOrSpaceSeparated,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:i.number,specularExponent:i.number,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:i.number,strikethroughThickness:i.number,string:null,stroke:null,strokeDashArray:i.commaOrSpaceSeparated,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:i.number,strokeOpacity:i.number,strokeWidth:null,style:null,surfaceScale:i.number,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:i.commaOrSpaceSeparated,tabIndex:i.number,tableValues:null,target:null,targetX:i.number,targetY:i.number,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:i.commaOrSpaceSeparated,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:i.number,underlineThickness:i.number,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:i.number,values:null,vAlphabetic:i.number,vMathematical:i.number,vectorEffect:null,vHanging:i.number,vIdeographic:i.number,version:null,vertAdvY:i.number,vertOriginX:i.number,vertOriginY:i.number,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:i.number,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:k}),o=h({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(a,b)=>"xlink:"+b.slice(5).toLowerCase()}),p=h({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:l}),q=h({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(a,b)=>"xml:"+b.slice(3).toLowerCase()}),r=e([j,m,o,p,q],"html"),s=e([j,n,o,p,q],"svg")},96510:a=>{var b=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,c=/\n/g,d=/^\s*/,e=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,f=/^:\s*/,g=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,h=/^[;\s]*/,i=/^\s+|\s+$/g;function j(a){return a?a.replace(i,""):""}a.exports=function(a,i){if("string"!=typeof a)throw TypeError("First argument must be a string");if(!a)return[];i=i||{};var k=1,l=1;function m(a){var b=a.match(c);b&&(k+=b.length);var d=a.lastIndexOf("\n");l=~d?a.length-d:l+a.length}function n(){var a={line:k,column:l};return function(b){return b.position=new o(a),q(d),b}}function o(a){this.start=a,this.end={line:k,column:l},this.source=i.source}function p(b){var c=Error(i.source+":"+k+":"+l+": "+b);if(c.reason=b,c.filename=i.source,c.line=k,c.column=l,c.source=a,i.silent);else throw c}function q(b){var c=b.exec(a);if(c){var d=c[0];return m(d),a=a.slice(d.length),c}}function r(a){var b;for(a=a||[];b=s();)!1!==b&&a.push(b);return a}function s(){var b=n();if("/"==a.charAt(0)&&"*"==a.charAt(1)){for(var c=2;""!=a.charAt(c)&&("*"!=a.charAt(c)||"/"!=a.charAt(c+1));)++c;if(c+=2,""===a.charAt(c-1))return p("End of comment missing");var d=a.slice(2,c-2);return l+=2,m(d),a=a.slice(c),l+=2,b({type:"comment",comment:d})}}o.prototype.content=a,q(d);var t,u=[];for(r(u);t=function(){var a=n(),c=q(e);if(c){if(s(),!q(f))return p("property missing ':'");var d=q(g),i=a({type:"declaration",property:j(c[0].replace(b,"")),value:d?j(d[0].replace(b,"")):""});return q(h),i}}();)!1!==t&&(u.push(t),r(u));return u}},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/"}}};
|
|
18
|
+
${c}`:(0,G.Tl)("agentSession.openInBrowser",{url:c}):(0,G.Tl)("agentSession.unsafeUrlBlocked")});break}case"notify":bY({id:b.id,message:b.message,type:b.notifyType??"info"});break;case"setStatus":bd(a=>{let c=a.filter(a=>a.key!==b.statusKey);return b.statusText?[...c,{key:b.statusKey,text:b.statusText}]:c});break;case"setWidget":bf(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":bb(a=>b.closed?a?.id===b.id?null:a:b)}},[bY,a.chatInputRef]),cX=(0,B.useCallback)(async(a=bt.current,b)=>{if(void 0!==b&&bR.current!==b)return;let c=bU.current,d=bT.current;try{a&&await cE(a,!1,!0,b)}finally{if(void 0!==b&&bR.current!==b||(bV.current=null,!bD.current))return;!c&&d&&iY(d)&&(bY({type:"error",message:d}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),d,{timeout:12e3})),bD.current=!1,O(!1),a_(null),aH(null),a&&(ch(a),cg(a)),M({type:"end"}),bU.current=!1,bT.current=null,e?.()}},[bY,cE,e,cg,ch]),cY=(0,B.useCallback)(async(a,b)=>{await gy(800,void 0,void 0,bs.current.signal);let c=Date.now(),d=bv.current;for(;T.current&&bt.current===a&&bD.current&&Date.now()-c<2e4;){if(void 0!==b&&bR.current!==b)return;try{let c=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(c.ok){let e=await c.json();if(bt.current!==a||bv.current!==d)continue;let f=e.state;if(!e.running||!f||!f.isStreaming&&!f.isPromptRunning)return void await cX(a,b)}}catch{}await gy(600,void 0,void 0,bs.current.signal)}},[cX]),cZ=(0,B.useCallback)(async a=>{let b=bF.current+1;bF.current=b;let c=bv.current;for(;bE.current&&bF.current===b&&bt.current===a;){let d=bs.current.signal;if(await gy(1e3,void 0,void 0,d),d.aborted||!bE.current||bF.current!==b||bt.current!==a)return;try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)continue;let e=await d.json();if(bt.current!==a||bv.current!==c||e.state?.isBashRunning)continue;if(await cE(a),bF.current!==b||bt.current!==a)return;bE.current=!1,Q(!1),S(null);return}catch{}}},[cE]),c$=(0,B.useCallback)((a,b)=>{if(!T.current||bt.current!==a||!bz.current)return;let c=b.state;b.running&&c&&(c.isStreaming||c.isPromptRunning)&&(bD.current=!0,O(!0),a_(c.isStreaming?{kind:"waiting_model"}:{kind:"running_command"}),M({type:"start"}),cJ(a),cM(a),cO(a),ci(a),!c.isStreaming&&c.isPromptRunning&&cY(a)),c?.isBashRunning&&(bE.current=!0,Q(!0),cZ(a)),c&&b2(c,a,bu.current),b3(a)},[b2,cJ,b3,cM,cO,ci,cZ,cY]),c_=(0,B.useCallback)(async()=>{let a=bt.current;if(!a||p)return null;let b=bw.current+1;bw.current=b,bv.current=b;let c=bu.current,d={...by.current,runtime:"loading"};by.current=d,bz.current=!1,y(d),A(null);let e=await cD(a,b,c);return e&&c$(a,e),e},[p,cD,c$]),c0=(0,B.useCallback)(async a=>{if(!bD.current||!bX(a))return;let b=bR.current,c=bv.current;try{let d=await fetch(`/api/agent/${encodeURIComponent(a)}`);if(!d.ok)return;let e=await d.json();if(bR.current!==b||bt.current!==a||bv.current!==c)return;let f=e.state;if(bB.current=f?.isCompacting??!1,aV(f?.isCompacting??!1),f?.todoPhases!==void 0&&bh(f.todoPhases??[]),b2(f,a,bu.current),ch(a),e.running&&f&&(f.isStreaming||f.isPromptRunning||f.isCompacting)||!bD.current)return;f?(void 0!==f.contextUsage&&aL(f.contextUsage??null),void 0!==f.systemPrompt&&aN(f.systemPrompt??null),void 0!==f.extensionStatuses&&bd(f.extensionStatuses??[]),void 0!==f.extensionWidgets&&bf(f.extensionWidgets??[])):aL(null),await cX(a,b)}catch{}},[b2,bX,cX,ch,aL]);bG.current=(0,B.useCallback)(a=>{switch(a.type){case"agent_start":if(bD.current){if(!bC.current)break}else bR.current+=1;bC.current=!1,bD.current=!0,O(!0),a_({kind:"waiting_model"}),M({type:"start"}),bU.current=!1,bT.current=null;break;case"agent_end":{if(!1===a.isTerminal)break;if(bC.current){bC.current=!1;break}if(!bD.current)break;let b=bU.current,c=bT.current,d="string"==typeof a.errorMessage?a.errorMessage.trim():"",f="string"==typeof a.message?a.message.trim():"",g=d||f;if(g&&iY(g)&&(bT.current=g),b)g&&iY(g)&&(bY({type:"error",message:g}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),g,{timeout:12e3}));else if(c&&iY(c)){let a=c||g;bY({type:"error",message:a}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),a,{timeout:12e3})}else if(g){let a=iY(g)?"error":"warning";bY({type:a,message:g}),"error"===a&&ha.oR.error((0,G.Tl)("agentSession.requestFailed"),g,{timeout:1e4})}let h=bt.current,i=bR.current;if(bD.current=!1,O(!1),a_(null),aH(null),h&&ch(h),M({type:"end"}),bU.current=!1,bT.current=null,h){cE(h,!1,!1,i),cg(h);let a=bv.current,b=cz();fetch(`/api/agent/${encodeURIComponent(h)}`).then(a=>a.ok?a.json():null).then(c=>{!c?.state?.model||bt.current!==h||bR.current!==i||bv.current!==a||cA(iW(c.state.model),b)&&(c.state?.contextUsage!==void 0&&aL(c.state.contextUsage??null),c.state?.systemPrompt!==void 0&&aN(c.state.systemPrompt||null),c.state?.fastModeEnabled!==void 0&&at(c.state.fastModeEnabled),av(c.state?.fastModeActive),c.state?.extensionStatuses!==void 0&&bd(c.state.extensionStatuses??[]),c.state?.extensionWidgets!==void 0&&bf(c.state.extensionWidgets??[]),c.state?.todoPhases!==void 0&&bh(c.state.todoPhases??[]),b2(c.state,h,bu.current),b3(h))}).catch(()=>{})}e?.();break}case"message_queue_update":b4(a.queue);break;case"prompt_result":if(!1!==a.agentInvoked||!bD.current)break;cX(bt.current,bR.current);break;case"prompt_error":{let b=a.errorMessage?.trim()??(0,G.Tl)("agentSession.commandFailed");bY({type:"error",message:b}),iY(b)&&(bT.current=b,ha.oR.error((0,G.Tl)("agentSession.quotaReached"),b,{timeout:12e3})),bD.current&&cX(bt.current,bR.current);break}case"notice":{let b=a.level,c=a.message?.trim()??"";if(/^xd:\/\/:\s*mounted\s+mcp__/i.test(c))ha.oR.info("MCP tools updated",c,{clamp:!0});else{let a="error"===b?"error":"warning"===b?"warning":"info";bY({type:a,message:c}),iY(c)&&(bT.current=c,"error"!==a&&bY({type:"error",message:c}),ha.oR.error((0,G.Tl)("agentSession.quotaReached"),c,{timeout:12e3}))}break}case"command_output":{let b=a.text?.trim()??"";/^xd:\/\/:\s*mounted\s+mcp__/i.test(b)?ha.oR.info("MCP tools updated",b,{clamp:!0}):b&&(bY({type:"info",message:b}),iY(b)&&(bT.current=b,ha.oR.error((0,G.Tl)("agentSession.quotaReached"),b,{timeout:12e3})));break}case"thinking_level_changed":aq(iV(a.configured??a.thinkingLevel));break;case"model_changed":{let a=bt.current;if(!a)break;let b=bv.current,c=cz();fetch(`/api/agent/${encodeURIComponent(a)}`).then(a=>a.ok?a.json():null).then(d=>{!d?.state?.model||bt.current!==a||bv.current!==b||cA(iW(d.state.model),c)&&(void 0!==d.state.thinkingLevel&&ar(d.state.thinkingLevel),void 0!==d.state.fastModeEnabled&&at(d.state.fastModeEnabled),av(d.state.fastModeActive),void 0!==d.state.autoRetryEnabled&&aB(d.state.autoRetryEnabled),void 0!==d.state.interruptMode&&ax(d.state.interruptMode),void 0!==d.state.autoCompactionEnabled&&az(d.state.autoCompactionEnabled),void 0!==d.state.steeringMode&&aD(d.state.steeringMode),void 0!==d.state.followUpMode&&aF(d.state.followUpMode))}).catch(()=>{});break}case"config_update":{let b=a.model;b&&cA(iW(b)),void 0!==a.thinkingLevel&&ar(a.thinkingLevel);break}case"available_commands_update":a1((a.commands??[]).map(i6).filter(a=>null!==a));break;case"message_start":case"message_update":{if(!bD.current)break;let b=a.message;if(b?.role==="user")break;if(b){bU.current=!0;let a=i1(b);a&&iY(a)&&(bT.current=a.slice(0,800)),M({type:"update",message:iw(b)})}a_(null);break}case"message_end":{if(!bD.current)break;let b=a.message;if(b&&(bU.current=!0,"assistant"===b.role||"custom"===b.role)){let a=i1(b);a&&iY(a)&&(bT.current=a.slice(0,800))}if(b&&"user"===b.role){let a=iw(b),c=i3(a),d=bV.current;bV.current=null,F(b=>{let e=b[b.length-1];return d&&e?.role==="user"&&i3(e)===d?d===c?b:[...b.slice(0,-1),a]:[...b,a]})}else b?.role==="toolResult"?F(a=>{let c=a.findIndex(a=>"toolResult"===a.role&&a.toolCallId===b.toolCallId);if(c<0)return[...a,b];let d=[...a];return d[c]=b,d}):b?.role==="custom"&&"xdev-mount-notice"===b.customType?ha.oR.info("MCP tools updated",i1(b).trim()||"The MCP tool inventory changed.",{clamp:!0}):b&&F(a=>[...a,iw(b)]);M({type:"reset"}),a_({kind:"waiting_model"});break}case"tool_execution_update":{if(!bD.current||"string"!=typeof a.toolCallId)break;let b=a.partialResult;if("object"!=typeof b||null===b||!("content"in b)||!Array.isArray(b.content))break;let c=[];for(let a of b.content)"object"==typeof a&&null!==a&&"type"in a&&("text"===a.type&&"text"in a&&"string"==typeof a.text?c.push({type:"text",text:a.text}):"image"===a.type&&"data"in a&&"string"==typeof a.data&&"mimeType"in a&&"string"==typeof a.mimeType&&c.push({type:"image",data:a.data,mimeType:a.mimeType}));let d={role:"toolResult",toolCallId:a.toolCallId,toolName:"string"==typeof a.toolName?a.toolName:void 0,content:c,..."details"in b?{details:b.details}:{}};bS.current.add(d),F(a=>{let b=a.findIndex(a=>"toolResult"===a.role&&a.toolCallId===d.toolCallId);if(b<0)return[...a,d];let c=a[b];if("toolResult"!==c.role||!bS.current.has(c))return a;let e=[...a];return e[b]=d,e});break}case"tool_execution_start":{if(!bD.current)break;let b=a.toolCallId,c=a.toolName;bU.current=!0,a_(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&&bt.current&&c0(bt.current),a_(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":bt.current&&c0(bt.current);break;case"auto_retry_start":{let b=a.errorMessage;aH({attempt:a.attempt,maxAttempts:a.maxAttempts,errorMessage:b}),b&&iY(b)&&(bT.current=b);break}case"auto_retry_end":aH(null);break;case"auto_compaction_start":aV(!0),aX(null),aZ(null);break;case"auto_compaction_end":aV(!1),a.errorMessage?(aX(a.errorMessage),aZ(null)):a.aborted||a.skipped||(aZ(i4(a.result,"auto")),bt.current&&cE(bt.current));break;case"host_tool_call":{let b="string"==typeof a.id?a.id:"",c="string"==typeof a.toolName?a.toolName:"",d=gi(a.arguments)?a.arguments:{};b&&c&&cQ(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&&cS(b,d,c,e);break}case"subagent_lifecycle":case"subagent_progress":case"subagent_event":cd(a);break;case"extension_ui_pending":{if(!Array.isArray(a.ids)||!a.ids.every(a=>"string"==typeof a))break;let b=new Set(a.ids);a9(a=>a&&!b.has(a.id)?null:a);break}case"extension_ui_request":cW(a)}},[bY,b2,b4,b3,cX,cW,cQ,cS,cE,cd,e,c0,cA,cz,cg,ch,aL,ar,aq]);let c1=(0,B.useCallback)(async(d,e)=>{let f=d.trim();if(!f&&!e?.length||!bX()||bD.current||bE.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 bK.current?.(b,a),!0)}let h=bR.current+1,{userMsg:i,piImages:j}=i5(d,e);F(a=>[...a,i]),bV.current=i3(i),bR.current=h,bD.current=!0,O(!0),a_(g?{kind:"running_command"}:{kind:"waiting_model"}),M({type:"start"}),bI.current=!0,bJ.current=!0,bL.current=0;try{let a=null;if(p&&c){let b=bt.current??await bP.current,c=b??await cH();c&&(a=c,cG(1,d),ag&&(aT(ag),b&&await hO(c,{type:"set_model",provider:ag.provider,modelId:ag.modelId})),await cV(c),ch(c),await hO(c,{type:"prompt",message:d,...j?.length?{images:j}:{}}))}else b&&(a=b.id,await cV(b.id),ch(b.id),cM(b.id),cO(b.id),await hO(b.id,{type:"prompt",message:d,...j?.length?{images:j}:{}}));return g&&a&&cY(a,h),!0}catch(c){console.error("Failed to send message:",c);let b=bV.current;return b&&F(a=>{let c=a[a.length-1];return c?.role==="user"&&i3(c)===b?a.slice(0,-1):a}),bY({type:"error",message:c instanceof iZ?c.message:(0,G.Tl)("agentSession.sendFailed",{detail:c instanceof Error?c.message:String(c)})}),d&&a.chatInputRef?.current?.insertIfEmpty(d),bV.current=null,bD.current=!1,O(!1),a_(null),M({type:"end"}),!1}},[bX,p,c,ag,b,cH,cV,cG,cY,bY,a.chatInputRef,ch,cM,cO]),c2=(0,B.useCallback)(async(a,b)=>{let c=a.trim();if(!c&&!b?.length)return!1;let d=bt.current;if(!d||!bX(d)||!bD.current)return!1;let{userMsg:e,piImages:f}=i5(a,b);F(a=>[...a,e]),bV.current=i3(e),bC.current=!0,bI.current=!0,bJ.current=!0,bL.current=0;try{return await cV(d),ch(d),await hO(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=bV.current;return a&&F(b=>{let c=b[b.length-1];return c?.role==="user"&&i3(c)===a?b.slice(0,-1):b}),bV.current=null,bY({type:"error",message:b instanceof Error?b.message:String(b)}),!1}},[bY,bX,cV,ch]);bK.current=(0,B.useCallback)(async(c,d)=>{if(!bX()||bD.current||bE.current)return;let e=`${d?"!!":"!"}${c}`;bE.current=!0,S({command:c,excludeFromContext:d}),Q(!0);try{let a=bt.current??b?.id??await cH();if(!a)throw Error((0,G.Tl)("agentSession.shellSessionFailed"));await hO(a,{type:"bash",command:c,excludeFromContext:d}),await cE(a),cG(1,e)}catch(b){console.error("Failed to execute shell command:",b),bY({type:"error",message:b instanceof Error?b.message:String(b)}),a.chatInputRef?.current?.insertIfEmpty(e)}finally{bE.current=!1,S(null),Q(!1)}},[bY,bX,cH,cE,a.chatInputRef,cG,b]);let c3=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)){if(bE.current){try{await hO(a,{type:"abort_bash"})}catch(a){console.error("Failed to abort bash:",a)}return}try{await hO(a,{type:"abort"})}catch(a){console.error("Failed to abort:",a)}}},[bX]),c4=(0,B.useCallback)(async a=>{if(bE.current)return;let b=bt.current;if(b&&bX(b)){aP(a);try{let{cancelled:c,newSessionId:d}=await hO(b,{type:"fork",entryId:a})??{};!c&&d&&g?.(d)}catch(a){console.error("Fork failed:",a)}finally{aP(null)}}},[bX,g]),c5=(0,B.useCallback)(async a=>{if(bE.current||bD.current)return;let b=bt.current;b&&bX(b)&&(D(a),await cF(b,a))},[bX,cF]);(0,B.useCallback)(async a=>{if(bE.current||bD.current)return;let b=bt.current;b&&bX(b)&&(D(a),await cF(b,a))},[bX,cF]);let c6=(0,B.useCallback)(async(a,b)=>{if(p){ah({provider:a,modelId:b}),aT({provider:a,modelId:b});let c=bt.current??await bP.current;if(!c)return;try{await hO(c,{type:"set_model",provider:a,modelId:b})}catch(a){console.error("Failed to set model:",a)}return}let c=bt.current;if(c&&bX(c))try{await hO(c,{type:"set_model",provider:a,modelId:b}),aR({provider:a,modelId:b}),cB(c)}catch(a){console.error("Failed to set model:",a)}},[bX,p,ah,cB]),c7=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current??await cH();if(b)try{let c=await hO(b,{type:"set_fast_mode",enabled:a});at(c?.enabled??a),av(c?.active),cB(b)}catch(a){console.error("Failed to change Fast mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cH,p,cB]),c8=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){aB(a);try{await hO(b,{type:"set_auto_retry",enabled:a})}catch(b){aB(b=>b===a?!a:b),bY({type:"error",message:b instanceof Error?b.message:String(b)})}}},[bY,bX,p]),c9=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){ax(a);try{await hO(b,{type:"set_interrupt_mode",mode:a})}catch(a){console.error("Failed to change interrupt mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),da=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){az(a);try{await hO(b,{type:"set_auto_compaction",enabled:a})}catch(a){console.error("Failed to change auto-compaction:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),db=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){aD(a);try{await hO(b,{type:"set_steering_mode",mode:a})}catch(a){console.error("Failed to change steering mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),dc=(0,B.useCallback)(async a=>{if(!p&&!bX())return;let b=bt.current??await bP.current;if(b){aF(a);try{await hO(b,{type:"set_follow_up_mode",mode:a})}catch(a){console.error("Failed to change follow-up mode:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX,p]),dd=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)&&!bD.current&&!bE.current)try{await hO(a,{type:"cycle_model"}),cB(a)}catch(a){console.error("Failed to cycle model:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cB]),de=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a))try{await hO(a,{type:"cycle_thinking_level"}),cB(a)}catch(a){console.error("Failed to cycle thinking level:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cB]),df=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)){aH(null);try{await hO(a,{type:"abort_retry"})}catch(a){console.error("Failed to abort retry:",a),bY({type:"error",message:a instanceof Error?a.message:String(a)})}}},[bY,bX]),dg=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)&&!bB.current&&!bD.current&&!bE.current)try{await hO(a,{type:"handoff"}),await cE(a,!0),cB(a)}catch(a){bY({type:"error",message:a instanceof Error?a.message:String(a)})}},[bY,bX,cE,cB]),dh=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a)&&!bB.current&&!aU){bB.current=!0,aV(!0),aX(null),aZ(null);try{let b=await hO(a,{type:"compact"});aZ(i4(b,"manual")),await cE(a,!0),cB(a)}catch(a){aX(a instanceof Error?a.message:String(a)),aZ(null)}finally{bB.current=!1,aV(!1)}}},[bX,aU,cE,cB]),di=(0,B.useCallback)(async(a,d=!1)=>{let e=bx.current+1;bx.current=e;let f=c??b?.cwd??"",g=()=>!a?.aborted&&bx.current===e&&(c??b?.cwd??"")===f;Z(!0);try{let a=await function(a,b){let c=a??"";b?.force&&function(a){let b=iQ();if(void 0===a){for(let[a,c]of(b.globalGeneration+=1,b.entries))c.generation+=1,c.data=null,c.error=null,c.status="idle",c.expiresAt=null,iR(a,c);b.inFlight.clear();return}let c=a??"",d=iS(b,c);d.generation+=1,d.data=null,d.error=null,d.status="idle",d.expiresAt=null,b.inFlight.delete(c),iR(c,d)}(c);let d=iQ(),e=iS(d,c),f=Date.now();if(e.data&&null!==e.expiresAt&&e.expiresAt>f&&!b?.force)return Promise.resolve(e.data);let g=d.inFlight.get(c);if(g)return g;let h=e.generation,i=d.globalGeneration;"ready"!==e.status&&(e.status="loading",e.error=null,iR(c,e));let j=(async()=>{let a=await fetch(c?`/api/models?cwd=${encodeURIComponent(c)}`:"/api/models",{cache:"no-store"});if(!a.ok)throw Error(`HTTP ${a.status}`);var b=await a.json();if(!b||"object"!=typeof b)throw Error("invalid models response");return{models:b.models&&"object"==typeof b.models?b.models:{},modelList:Array.isArray(b.modelList)?b.modelList:[],defaultModel:b.defaultModel??null,thinkingLevels:b.thinkingLevels&&"object"==typeof b.thinkingLevels?b.thinkingLevels:{},...b.thinkingLevelMaps?{thinkingLevelMaps:b.thinkingLevelMaps}:{},...b.connectedProviders?{connectedProviders:b.connectedProviders}:{},..."string"==typeof b.modelError?{modelError:b.modelError}:{}}})().then(a=>{let b=iQ(),d=b.entries.get(c);return d&&d.generation===h&&b.globalGeneration===i&&(d.data=a,d.error=null,d.status="ready",d.expiresAt=Date.now()+3e4,iR(c,d)),a}).catch(a=>{let b=iQ(),d=b.entries.get(c);throw d&&d.generation===h&&b.globalGeneration===i&&(d.status="error",d.error=a instanceof Error?a.message:String(a),d.expiresAt=null,iR(c,d)),a}).finally(()=>{let a=iQ();a.inFlight.get(c)===j&&a.inFlight.delete(c)});return d.inFlight.set(c,j),j}(f,d?{force:!0}:void 0);if(!g())return;V(a.models),_(a.modelError??null),ad(a.thinkingLevels??{}),af(a.thinkingLevelMaps??{});let b=a.modelList??[];if(X(b),p){let c=(a.defaultModel?b.find(b=>b.id===a.defaultModel?.modelId&&b.provider===a.defaultModel?.provider):void 0)??b[0];aj(c?{provider:c.provider,modelId:c.id}:null)}}catch(a){if(!g())return;_(a instanceof Error?a.message:String(a))}finally{if(!g())return;Z(!1)}},[p,c,b?.cwd]),dj=(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=bt.current??await cH(),g=a=>(a.handled&&(a.error?bY({type:"error",message:a.error}):"openSessionStats"!==a.action&&bY({type:"success",message:a.message??(0,G.Tl)("agentSession.commandCompleted")})),a);if(!f||!bX(f))return g({handled:!0,error:z??"Session runtime is not ready."});try{switch(c){case"compact":{if(!f||bB.current||aU)return g({handled:!0,error:(0,G.Tl)("agentSession.noSessionToCompact")});bB.current=!0,aV(!0),aX(null),aZ(null);let a=await hO(f,{type:"compact",...e?{customInstructions:e}:{}});return aZ(i4(a,"manual")),await cE(f,!0),bB.current=!1,aV(!1),cG(),g({handled:!0,message:(0,G.Tl)("agentSession.compactedContext")})}case"reload":if(!f)return g({handled:!0,error:(0,G.Tl)("agentSession.noSessionToReload")});return await hO(f,{type:"reload"}),await Promise.all([cE(f,!1,!0),cI(),di(void 0,!0)]),g({handled:!0,message:(0,G.Tl)("agentSession.reloadedResources")});case"name":if(!f)return g({handled:!0,error:(0,G.Tl)("agentSession.noSessionToName")});if(!e)return g({handled:!0,error:(0,G.Tl)("agentSession.nameUsage")});return await hO(f,{type:"set_session_name",name:e}),await cE(f),cG(),g({handled:!0,message:(0,G.Tl)("agentSession.sessionRenamed",{name:e})});case"session":{if(!f)return g({handled:!0,error:(0,G.Tl)("agentSession.noActiveSession")});let a=await hO(f,{type:"get_session_stats"});return a&&a7(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,G.Tl)("agentSession.noActiveSession")});let a=await hO(f,{type:"get_last_assistant_text"}),b=a?.text??"";if(!b)return g({handled:!0,error:(0,G.Tl)("agentSession.noMessageToCopy")});return await navigator.clipboard.writeText(b),g({handled:!0,message:(0,G.Tl)("agentSession.copiedLastMessage")})}default:{let b=hi(a);if("not-web"===b.kind)return{handled:!1};if("usage-error"===b.kind)return g({handled:!0,error:(0,G.Tl)("agentSession.commandRequiresArgs",{command:b.command,usage:(0,G.Tl)(b.argumentHintKey)})});if("plan"===c&&bl({objective:e}),!await c1(b.prompt))return"plan"===c&&bl(null),{handled:!0,retainInput:!0};if("goal"===c){let a=function(a,b=Date.now()){return{objective:a.trim(),startedAt:b}}(e);bj(a);let b=bt.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,aV(!1))}},[bY,bX,cH,c1,aU,di,cE,cI,cG,m,l,z]),dk=(0,B.useCallback)((a,b,c)=>b5(a,b,c,cV),[b5,cV]),dl=(0,B.useCallback)(async()=>{let a=bt.current;if(a&&bX(a))try{await hO(a,{type:"abort_compaction"})}catch(a){console.error("Failed to abort compaction:",a)}},[bX]),dm=(0,B.useCallback)(async a=>{if(!bX())return;let b=ao.current;aq(a);let c=bt.current??await bP.current;if(c)try{await hO(c,{type:"set_thinking_level",level:a}),cB(c)}catch(c){ao.current===a&&aq(b),console.error("Failed to set thinking level:",c)}},[bX,cB,aq]),dn=(0,B.useCallback)(async a=>{!bX()||(cq(a),function(a,b=null){if(b)try{b.setItem(iP,a)}catch{}}(a),(bt.current??await bP.current)&&bY({type:"info",message:(0,G.Tl)("agentSession.toolPresetNotice")}))},[cq,bY,bX]);(0,B.useCallback)(a=>{var b;let c,d=bO.current,e=bN.current;if(!d||!e)return;let f=iT(d),g=(c="initial"===(b={following:"initial"===a||"user-send"===a||bJ.current,intent:a,scrollTop:d.scrollTop,nextScrollTop:f,reducedMotion:o}).intent||"user-send"===b.intent,(b.following||c)&&b.scrollTop!==b.nextScrollTop?"follow-stream"===b.intent||"initial"===b.intent||b.reducedMotion?{mode:"assign"}:{mode:"into-view",behavior:"smooth"}:{mode:"skip"});(function(a){if("skip"===a.decision.mode)return{wrote:!1,method:"none"};if("assign"===a.decision.mode){let b=iT(a.container);return a.container.scrollTop===b?{wrote:!1,method:"none"}:(a.container.scrollTop=b,{wrote:!0,method:"scrollTop"})}return a.end.scrollIntoView({block:"nearest",behavior:a.decision.behavior??"smooth"}),{wrote:!0,method:"scrollIntoView"}})({container:d,end:e,decision:g}).wrote&&(bM.current=Date.now()+700)},[o]),(0,B.useCallback)(a=>{a instanceof KeyboardEvent&&(!iX.has(a.key)||a.target instanceof Element&&a.target.closest("input, textarea, [contenteditable='true']"))||(bL.current=Date.now()+1200)},[]),(0,B.useCallback)(()=>{let a=Date.now()<=bL.current;if(!a&&Date.now()<bM.current||!a)return;let b=bO.current,c=bN.current;b&&c&&(bJ.current=c.getBoundingClientRect().bottom-b.getBoundingClientRect().bottom<=24)},[]),(0,B.useCallback)(()=>{bF.current+=1,bW.current?.reset();let a=bm.current;cp.invalidate(),a&&a.readyState!==EventSource.CLOSED&&a.close(),bm.current=null,bq.current&&(clearTimeout(bq.current),bq.current=null),br.current=0,cf(),bs.current.abort(),bs.current=new AbortController,b1()},[b1,cf,cp]),(0,B.useRef)(cE).current=cE,(0,B.useRef)(c$).current=c$,(0,B.useRef)(null),(0,B.useRef)(L.isStreaming).current=L.isStreaming,(0,B.useRef)(E.length).current=E.length,(0,B.useRef)(t).current=t;let dp=J.length>0?J[J.length-1]:"";return(0,B.useMemo)(()=>{var a;return[(a={loading:t,messageCount:E.length,lastEntryId:dp,streaming:L.isStreaming,streamRevision:L.revision,agentRunning:N,agentPhase:a$?"running_tools"===a$.kind?`running_tools:${a$.tools.map(a=>a.name).join(",")}`:a$.kind:null,widgetSignature:be.map(a=>`${a.key}:${a.lines.join("\n")}`).join(","),isCompacting:aU,retrySignature:aG?`${aG.attempt}/${aG.maxAttempts}`:"",activeSubagentCount:cc,todoSignature:bg?.length?bg.map(a=>{let b=Array.isArray(a.tasks)?a.tasks:[];return`${a.name??""}:${b.map(a=>a.status??"").join("")}:${b.length}`}).join(","):""}).loading?"1":"0",String(a.messageCount),a.lastEntryId,a.streaming?"1":"0",String(a.streamRevision),a.agentRunning?"1":"0",a.agentPhase??"",a.widgetSignature,a.isCompacting?"1":"0",a.retrySignature,String(a.activeSubagentCount),a.todoSignature].join("\x1f")},[t,E.length,dp,L.isStreaming,L.revision,N,a$,be,aU,aG,cc,bg]),(0,B.useRef)(null),{data:r,loading:t,error:v,sessionReadiness:x,runtimeError:z,runtimeReady:cr,activeLeafId:C,messages:E,replicaPreview:H,entryIds:J,streamState:L,agentRunning:N,modelNames:U,modelList:W,modelsLoading:Y,modelError:$,modelThinkingLevels:ac,modelThinkingLevelMaps:ae,newSessionModel:ag,toolPreset:ak,thinkingLevel:am,fastModeEnabled:as,fastModeActive:au,autoRetryEnabled:aA,interruptMode:aw,autoCompactionEnabled:ay,steeringMode:aC,followUpMode:aE,liveModelMeta:aa,retryInfo:aG,contextUsage:cv,systemPrompt:aM,forkingEntryId:aO,isCompacting:aU,compactError:aW,compactResult:aY,currentModel:cs,displayModel:ct,sessionStats:cw,slashCommands:a0,slashCommandsLoading:a2,queuedMessages:b$,queueEnqueuePending:b_,notices:a4.visible,dismissNotice:cU,extensionDialog:a8,extensionCustomUi:ba,extensionStatuses:bc,extensionWidgets:be,respondToExtensionUi:cK,sendExtensionCustomInput:cT,isAutoModelSelection:p&&null===ag,agentPhase:a$,subagents:b9,subagentEvents:ca,subagentTranscriptVersions:cb,activeSubagentCount:cc,currentTodoPhase:cx,todoPhases:bg,activeGoal:bi,activePlan:bk,isNew:p,sessionIdRef:bt,messagesEndRef:bN,scrollContainerRef:bO,pendingScrollToUserRef:bI,initialScrollDoneRef:bH,handleSend:c1,handleAbort:c3,handleFork:c4,handleNavigate:c5,handleModelChange:c6,handleFastModeChange:c7,handleAutoRetryChange:c8,handleInterruptModeChange:c9,handleAutoCompactionChange:da,handleSteeringModeChange:db,handleFollowUpModeChange:dc,handleCycleModel:dd,handleCycleThinkingLevel:de,handleAbortRetry:df,handleInterruptAndReply:c2,handleCompact:dh,handleHandoff:dg,handlePromptWithStreamingBehavior:dk,handleAbortCompaction:dl,retryRuntimeState:c_,handleRecallQueuedMessage:b6,handleDeleteQueuedMessage:b7,handlePromoteQueuedMessage:b8,handleBuiltinSlashCommand:dj,handleToolPresetChange:dn,handleThinkingLevelChange:dm,loadSlashCommands:cI,setActiveLeafId:D,setData:s,setMessages:F,dispatch:M,setAgentRunning:O,setForkingEntryId:aP,bashRunning:P,pendingBash:R,handleAgentEventRef:bG}}({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}),aW=N||O,aX=a?.id??(b?`new:${b}`:"empty"),[aY,aZ]=(0,B.useState)(()=>hW(0,0,0)),a$=(0,B.useCallback)((a,b)=>{let c=hW(F.length,a,b);aZ(a=>a===c?a:c)},[F.length]),[a_,a0]=(0,B.useState)(null);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:a1,handleDragEnter:a2,handleDragOver:a3,handleDragLeave:a4,handleDrop:a5}=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(i7)&&(a.preventDefault(),d.current+=1,c(!0))},[]),f=(0,B.useCallback)(a=>{Array.from(a.dataTransfer.items).some(i7)&&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=>{!aW&&L&&j?.current?.addFiles(a)},[L,aW,j])),a6=(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]),a7=(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),jn(e)&&(b=f),("user"===e.role||"assistant"===e.role)&&c.set(f,d++)}),{toolResultsMap:a,lastAnchorIdx:b,visibleRefIndexByMessage:c}},[F]),a8=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}(a7.visibleRefIndexByMessage.size),a9=(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]),ba=(0,B.useMemo)(()=>{if(as?.kind!=="running_tools")return[];let a=new Set(a9),b=I.streamingMessage;if(b?.role==="assistant")for(let c of b.content??[])"toolCall"===c.type&&a.add(c.toolCallId);return as.tools.filter(b=>!a.has(b.id))},[as,a9,I.streamingMessage]),bb=aB&&0===F.length&&!I.isStreaming&&!aW,bc=a?.cwd??b??void 0,bd=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,be=ad?V[`${ad.provider}:${ad.modelId}`]??null:null,bf=(0,A.jsx)(hL,{ref:j,onSend:aF,onAbort:aG,runtimeReady:L,onPromptWithStreamingBehavior:L&&N?aK:void 0,isStreaming:aW,model:ad,isAutoModelSelection:ar,modelNames:Q,modelList:R,modelsLoading:S,modelError:T,onModelChange:L?aJ:void 0,onAbortCompaction:L?aL:void 0,isCompacting:ab,compactResult:ac,thinkingLevel:W,onThinkingLevelChange:L&&(a||aB)?aQ:void 0,fastModeEnabled:X,fastModeActive:Y,fastModeSupported:!!(ad&&R.some(a=>a.provider===ad.provider&&a.id===ad.modelId&&a.supportsFastMode)),onFastModeChange:L&&(a||aB)?aR:void 0,onAbortRetry:L&&a?aU:void 0,availableThinkingLevels:bd,thinkingLevelMap:be,modelNameOverride:Z?.name??null,retryInfo:$,activeGoal:at,activePlan:au,advisorEnabled:c,queuedMessages:ah,onRecallQueuedMessage:L?aM:void 0,onDeleteQueuedMessage:L?aN:void 0,onPromoteQueuedToSteer:L?aO:void 0,queueEnqueuePending:ai,inputHistory:a6,contextUsage:_,sessionCost:ae?.cost??null,slashCommands:af,slashCommandsLoading:ag,onLoadSlashCommands:L?aV:void 0,onBuiltinCommand:L?aP:void 0,onAudioUnlock:w,draftKey:a?.id??(b?`new:${b}`:void 0),cwd:a?.cwd??b}),bg=ao.filter(a=>"belowEditor"!==a.placement),bh=ao.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(E)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:E});let bi=aB||"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:744,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:a2,onDragOver:a3,onDragLeave:a4,onDrop:a5,children:[a1&&L&&!aW&&(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"})]})]})]}),al&&(0,A.jsx)(hM,{request:al,onRespond:ap,runtimeReady:L}),(0,A.jsx)(hV,{subagent:a_,sessionId:a?.id??aC.current??null,transcriptVersion:a_?ax[a_.id]??0:0,events:a_?aw[a_.id]??[]:void 0,onClose:()=>a0(null)}),am&&(0,A.jsx)(jw,{request:am,onInput:aq,runtimeReady:L}),bb?(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:744,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.7.6"]})]}),(0,A.jsx)(jp,{refreshKey:i})]})]}),(0,A.jsx)(jv,{notices:aj,onDismiss:ak,align:"right"})]})}),bf]})})}):(0,A.jsxs)(A.Fragment,{children:[bi,(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:744,margin:"0 auto"},children:(0,A.jsx)(jv,{notices:aj,onDismiss:ak,floating:!0,align:"right"})})}),(0,A.jsx)("div",{ref:aE,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:744,margin:"0 auto"},children:[(0,A.jsx)(jt,{statuses:an}),(0,A.jsx)(ju,{widgets:bg}),(0,A.jsx)(jr,{messages:F,entryIds:H,conversationMeta:a7,messageRefs:a8,isStreaming:I.isStreaming,sessionBusy:aW,runtimeReady:L,isNew:aB,forkingEntryId:aa,handleFork:aH,handleNavigate:aI,handleEditContent:C,modelNames:Q,messageCwd:bc,onOpenFile:r,sessionId:a?.id??aC.current??void 0,toolCallsDefaultCollapsed:d,sessionKey:aX,scrollContainerRef:aE,onRenderWindowChange:a$}),I.isStreaming&&I.streamingMessage&&(0,A.jsx)(gC,{message:I.streamingMessage,isStreaming:!0,modelNames:Q,cwd:bc,onOpenFile:r,toolCallsDefaultCollapsed:d}),d&&ba.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===ba.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,G.Tl)("chatWindow.runningTool"):b.length<=3?(0,G.Tl)("chatWindow.runningNamed",{names:b.join(", ")}):(0,G.Tl)("chatWindow.runningNamedMore",{names:b.slice(0,2).join(", "),more:b.length-2})}return a?.kind==="waiting_model"?(0,G.Tl)("chatWindow.waitingModel"):a?.kind==="running_command"?(0,G.Tl)("chatWindow.runningCommand"):(0,G.Tl)("chatWindow.thinking")}(as),ay>0?u("chatWindow.subagentCount",ay):null,az?t("chatWindow.todoPhaseStatus",{name:az.name,done:az.done,total:az.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)(gC,{message:{role:"bashExecution",command:P.command,output:"",excludeFromContext:P.excludeFromContext},sessionId:a?.id??aC.current??void 0}),(0,A.jsx)("div",{ref:aD})]})})}),x?null:(0,A.jsx)(hZ,{messages:F,scrollContainer:aE,messageRefs:a8,layoutKey:aY})]}),(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:744,margin:"0 auto"},children:[(0,A.jsx)(iv,{todoPhases:aA,subagents:av,subagentEvents:aw,onSelectSubagent:a0}),(0,A.jsx)(ju,{widgets:bh})]})}),bf]})]})]})}function jt({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 ju({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 jv({notices:a,onDismiss:b,floating:c=!1,align:d="left"}){return 0===a.length?null:(0,A.jsx)("div",{role:"status","aria-live":"polite",style:{display:"flex",flexDirection:"column",alignItems:"right"===d?"flex-end":"stretch",marginBottom:10*!c,pointerEvents:c?"auto":void 0},children:a.map((d,e)=>{let f="error"===d.type?"var(--status-error)":"warning"===d.type?"var(--status-warning)":"success"===d.type?"var(--status-success)":"var(--accent)",g="error"===d.type;return(0,A.jsxs)("div",{className:"notice-shelf-item",style:{display:"flex",alignItems:g?"flex-start":"center",gap:"var(--space-4)",minHeight:"var(--control-height-lg)",height:g?"auto":"var(--control-height-lg)",maxHeight:g?96:48,marginBottom:e===a.length-1?0:"var(--space-2)",overflow:"hidden",borderRadius:"var(--radius-control)",border:`1px solid ${g?"color-mix(in srgb, var(--status-error) 35%, var(--border))":"color-mix(in srgb, var(--border) 70%, transparent)"}`,background:g?"color-mix(in srgb, var(--status-error) 7%, var(--bg))":"var(--bg)",color:g?"var(--text)":"var(--text-muted)",width:"fit-content",maxWidth:g?"min(100%, 640px)":"min(100%, 620px)",boxShadow:c?"var(--shadow-pop)":"var(--shadow-card)",fontSize:"var(--text-md)",lineHeight:g?1.4:1.35,transformOrigin:"top center",animation:d.exiting?"notice-shelf-out var(--dur-med) ease-in forwards":"notice-shelf-in var(--dur-med) var(--ease-out-warm) both",padding:g?"8px 8px 8px 10px":"0 10px"},children:[(0,A.jsx)("span",{style:{width:7,height:7,borderRadius:"50%",background:f,flexShrink:0,marginTop:6*!!g}}),(0,A.jsx)("span",{style:{padding:g?"0":"8px 0",minWidth:0,maxWidth:"100%",overflow:"hidden",display:g?"-webkit-box":"block",WebkitLineClamp:g?3:void 0,WebkitBoxOrient:g?"vertical":void 0,overflowWrap:"anywhere",whiteSpace:g?"normal":"nowrap",textOverflow:g?"clip":"ellipsis",flex:1},title:d.message,children:d.message}),b&&(0,A.jsx)("button",{type:"button",onClick:()=>b(d.id),"aria-label":(0,G.Tl)("ui.dismiss"),style:{display:"inline-flex",alignItems:"center",justifyContent:"center",width:18,height:18,padding:0,border:0,borderRadius:"var(--radius-control)",background:"transparent",color:"var(--text-dim)",cursor:"pointer",flexShrink:0,marginTop:+!!g},children:(0,A.jsx)("span",{"aria-hidden":!0,style:{fontSize:12,lineHeight:1},children:"\xd7"})})]},d.id)})})}function jw({request:a,onInput:b,runtimeReady:c=!0}){let{t:d}=(0,G.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(jb,""),e=je(a).trimEnd();if(b.test(e))continue;let f=a,g=jh(f);("│"===g||"┃"===g)&&" "===jh(f=jg(f,0))&&(f=jg(f,0));let h=function(a){let b=jf(a);for(let a=b.length-1;a>=0;a--)if(""!==b[a].char.trim())return a;return -1}(f),i=h>=0?jf(f)[h]?.char:void 0;("│"===i||"┃"===i)&&(f=jg(f,h)),c.push(function(a){let b=a;for(;;){let a=jf(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&&""===je(c[0]).trim();)c.shift();for(;c.length>0&&""===je(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=jj[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":" ":ji[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(ja.lastIndex=0;null!==(b=ja.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=jc[d-30];else if(d>=90&&d<=97)c.color=jd[d-90];else if(d>=40&&d<=47)c.background=jc[d-40];else if(d>=100&&d<=107)c.background=jd[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 jc[a];if(a>=8&&a<16)return jd[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)})})]})})}},89988:(a,b,c)=>{function d(a){let b=[],c=String(a||""),d=c.indexOf(","),e=0,f=!1;for(;!f;){-1===d&&(d=c.length,f=!0);let a=c.slice(e,d).trim();(a||!f)&&b.push(a),e=d+1,d=c.indexOf(",",e)}return b}function e(a,b){let c=b||{};return(""===a[a.length-1]?[...a,""]:a).join((c.padRight?" ":"")+","+(!1===c.padLeft?"":" ")).trim()}c.d(b,{A:()=>e,q:()=>d})},92382:(a,b,c)=>{c.d(b,{qy:()=>r,JW:()=>s});class d{constructor(a,b,c){this.normal=b,this.property=a,c&&(this.space=c)}}function e(a,b){let c={},e={};for(let b of a)Object.assign(c,b.property),Object.assign(e,b.normal);return new d(c,e,b)}d.prototype.normal={},d.prototype.property={},d.prototype.space=void 0;var f=c(61135),g=c(12525);function h(a){let b={},c={};for(let[d,e]of Object.entries(a.properties)){let h=new g.E(d,a.transform(a.attributes||{},d),e,a.space);a.mustUseProperty&&a.mustUseProperty.includes(d)&&(h.mustUseProperty=!0),b[d]=h,c[(0,f.S)(d)]=d,c[(0,f.S)(h.attribute)]=d}return new d(b,c,a.space)}var i=c(98448);let j=h({properties:{ariaActiveDescendant:null,ariaAtomic:i.booleanish,ariaAutoComplete:null,ariaBusy:i.booleanish,ariaChecked:i.booleanish,ariaColCount:i.number,ariaColIndex:i.number,ariaColSpan:i.number,ariaControls:i.spaceSeparated,ariaCurrent:null,ariaDescribedBy:i.spaceSeparated,ariaDetails:null,ariaDisabled:i.booleanish,ariaDropEffect:i.spaceSeparated,ariaErrorMessage:null,ariaExpanded:i.booleanish,ariaFlowTo:i.spaceSeparated,ariaGrabbed:i.booleanish,ariaHasPopup:null,ariaHidden:i.booleanish,ariaInvalid:null,ariaKeyShortcuts:null,ariaLabel:null,ariaLabelledBy:i.spaceSeparated,ariaLevel:i.number,ariaLive:null,ariaModal:i.booleanish,ariaMultiLine:i.booleanish,ariaMultiSelectable:i.booleanish,ariaOrientation:null,ariaOwns:i.spaceSeparated,ariaPlaceholder:null,ariaPosInSet:i.number,ariaPressed:i.booleanish,ariaReadOnly:i.booleanish,ariaRelevant:null,ariaRequired:i.booleanish,ariaRoleDescription:i.spaceSeparated,ariaRowCount:i.number,ariaRowIndex:i.number,ariaRowSpan:i.number,ariaSelected:i.booleanish,ariaSetSize:i.number,ariaSort:null,ariaValueMax:i.number,ariaValueMin:i.number,ariaValueNow:i.number,ariaValueText:null,role:null},transform:(a,b)=>"role"===b?b:"aria-"+b.slice(4).toLowerCase()});function k(a,b){return b in a?a[b]:b}function l(a,b){return k(a,b.toLowerCase())}let m=h({attributes:{acceptcharset:"accept-charset",classname:"class",htmlfor:"for",httpequiv:"http-equiv"},mustUseProperty:["checked","multiple","muted","selected"],properties:{abbr:null,accept:i.commaSeparated,acceptCharset:i.spaceSeparated,accessKey:i.spaceSeparated,action:null,allow:null,allowFullScreen:i.boolean,allowPaymentRequest:i.boolean,allowUserMedia:i.boolean,alt:null,as:null,async:i.boolean,autoCapitalize:null,autoComplete:i.spaceSeparated,autoFocus:i.boolean,autoPlay:i.boolean,blocking:i.spaceSeparated,capture:null,charSet:null,checked:i.boolean,cite:null,className:i.spaceSeparated,cols:i.number,colSpan:null,content:null,contentEditable:i.booleanish,controls:i.boolean,controlsList:i.spaceSeparated,coords:i.number|i.commaSeparated,crossOrigin:null,data:null,dateTime:null,decoding:null,default:i.boolean,defer:i.boolean,dir:null,dirName:null,disabled:i.boolean,download:i.overloadedBoolean,draggable:i.booleanish,encType:null,enterKeyHint:null,fetchPriority:null,form:null,formAction:null,formEncType:null,formMethod:null,formNoValidate:i.boolean,formTarget:null,headers:i.spaceSeparated,height:i.number,hidden:i.overloadedBoolean,high:i.number,href:null,hrefLang:null,htmlFor:i.spaceSeparated,httpEquiv:i.spaceSeparated,id:null,imageSizes:null,imageSrcSet:null,inert:i.boolean,inputMode:null,integrity:null,is:null,isMap:i.boolean,itemId:null,itemProp:i.spaceSeparated,itemRef:i.spaceSeparated,itemScope:i.boolean,itemType:i.spaceSeparated,kind:null,label:null,lang:null,language:null,list:null,loading:null,loop:i.boolean,low:i.number,manifest:null,max:null,maxLength:i.number,media:null,method:null,min:null,minLength:i.number,multiple:i.boolean,muted:i.boolean,name:null,nonce:null,noModule:i.boolean,noValidate:i.boolean,onAbort:null,onAfterPrint:null,onAuxClick:null,onBeforeMatch:null,onBeforePrint:null,onBeforeToggle:null,onBeforeUnload:null,onBlur:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onContextLost:null,onContextMenu:null,onContextRestored:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnded:null,onError:null,onFocus:null,onFormData:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLanguageChange:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadEnd:null,onLoadStart:null,onMessage:null,onMessageError:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRejectionHandled:null,onReset:null,onResize:null,onScroll:null,onScrollEnd:null,onSecurityPolicyViolation:null,onSeeked:null,onSeeking:null,onSelect:null,onSlotChange:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnhandledRejection:null,onUnload:null,onVolumeChange:null,onWaiting:null,onWheel:null,open:i.boolean,optimum:i.number,pattern:null,ping:i.spaceSeparated,placeholder:null,playsInline:i.boolean,popover:null,popoverTarget:null,popoverTargetAction:null,poster:null,preload:null,readOnly:i.boolean,referrerPolicy:null,rel:i.spaceSeparated,required:i.boolean,reversed:i.boolean,rows:i.number,rowSpan:i.number,sandbox:i.spaceSeparated,scope:null,scoped:i.boolean,seamless:i.boolean,selected:i.boolean,shadowRootClonable:i.boolean,shadowRootDelegatesFocus:i.boolean,shadowRootMode:null,shape:null,size:i.number,sizes:null,slot:null,span:i.number,spellCheck:i.booleanish,src:null,srcDoc:null,srcLang:null,srcSet:null,start:i.number,step:null,style:null,tabIndex:i.number,target:null,title:null,translate:null,type:null,typeMustMatch:i.boolean,useMap:null,value:i.booleanish,width:i.number,wrap:null,writingSuggestions:null,align:null,aLink:null,archive:i.spaceSeparated,axis:null,background:null,bgColor:null,border:i.number,borderColor:null,bottomMargin:i.number,cellPadding:null,cellSpacing:null,char:null,charOff:null,classId:null,clear:null,code:null,codeBase:null,codeType:null,color:null,compact:i.boolean,declare:i.boolean,event:null,face:null,frame:null,frameBorder:null,hSpace:i.number,leftMargin:i.number,link:null,longDesc:null,lowSrc:null,marginHeight:i.number,marginWidth:i.number,noResize:i.boolean,noHref:i.boolean,noShade:i.boolean,noWrap:i.boolean,object:null,profile:null,prompt:null,rev:null,rightMargin:i.number,rules:null,scheme:null,scrolling:i.booleanish,standby:null,summary:null,text:null,topMargin:i.number,valueType:null,version:null,vAlign:null,vLink:null,vSpace:i.number,allowTransparency:null,autoCorrect:null,autoSave:null,disablePictureInPicture:i.boolean,disableRemotePlayback:i.boolean,prefix:null,property:null,results:i.number,security:null,unselectable:null},space:"html",transform:l}),n=h({attributes:{accentHeight:"accent-height",alignmentBaseline:"alignment-baseline",arabicForm:"arabic-form",baselineShift:"baseline-shift",capHeight:"cap-height",className:"class",clipPath:"clip-path",clipRule:"clip-rule",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",crossOrigin:"crossorigin",dataType:"datatype",dominantBaseline:"dominant-baseline",enableBackground:"enable-background",fillOpacity:"fill-opacity",fillRule:"fill-rule",floodColor:"flood-color",floodOpacity:"flood-opacity",fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",hrefLang:"hreflang",horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",horizOriginY:"horiz-origin-y",imageRendering:"image-rendering",letterSpacing:"letter-spacing",lightingColor:"lighting-color",markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",navDown:"nav-down",navDownLeft:"nav-down-left",navDownRight:"nav-down-right",navLeft:"nav-left",navNext:"nav-next",navPrev:"nav-prev",navRight:"nav-right",navUp:"nav-up",navUpLeft:"nav-up-left",navUpRight:"nav-up-right",onAbort:"onabort",onActivate:"onactivate",onAfterPrint:"onafterprint",onBeforePrint:"onbeforeprint",onBegin:"onbegin",onCancel:"oncancel",onCanPlay:"oncanplay",onCanPlayThrough:"oncanplaythrough",onChange:"onchange",onClick:"onclick",onClose:"onclose",onCopy:"oncopy",onCueChange:"oncuechange",onCut:"oncut",onDblClick:"ondblclick",onDrag:"ondrag",onDragEnd:"ondragend",onDragEnter:"ondragenter",onDragExit:"ondragexit",onDragLeave:"ondragleave",onDragOver:"ondragover",onDragStart:"ondragstart",onDrop:"ondrop",onDurationChange:"ondurationchange",onEmptied:"onemptied",onEnd:"onend",onEnded:"onended",onError:"onerror",onFocus:"onfocus",onFocusIn:"onfocusin",onFocusOut:"onfocusout",onHashChange:"onhashchange",onInput:"oninput",onInvalid:"oninvalid",onKeyDown:"onkeydown",onKeyPress:"onkeypress",onKeyUp:"onkeyup",onLoad:"onload",onLoadedData:"onloadeddata",onLoadedMetadata:"onloadedmetadata",onLoadStart:"onloadstart",onMessage:"onmessage",onMouseDown:"onmousedown",onMouseEnter:"onmouseenter",onMouseLeave:"onmouseleave",onMouseMove:"onmousemove",onMouseOut:"onmouseout",onMouseOver:"onmouseover",onMouseUp:"onmouseup",onMouseWheel:"onmousewheel",onOffline:"onoffline",onOnline:"ononline",onPageHide:"onpagehide",onPageShow:"onpageshow",onPaste:"onpaste",onPause:"onpause",onPlay:"onplay",onPlaying:"onplaying",onPopState:"onpopstate",onProgress:"onprogress",onRateChange:"onratechange",onRepeat:"onrepeat",onReset:"onreset",onResize:"onresize",onScroll:"onscroll",onSeeked:"onseeked",onSeeking:"onseeking",onSelect:"onselect",onShow:"onshow",onStalled:"onstalled",onStorage:"onstorage",onSubmit:"onsubmit",onSuspend:"onsuspend",onTimeUpdate:"ontimeupdate",onToggle:"ontoggle",onUnload:"onunload",onVolumeChange:"onvolumechange",onWaiting:"onwaiting",onZoom:"onzoom",overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pointerEvents:"pointer-events",referrerPolicy:"referrerpolicy",renderingIntent:"rendering-intent",shapeRendering:"shape-rendering",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",strokeDashArray:"stroke-dasharray",strokeDashOffset:"stroke-dashoffset",strokeLineCap:"stroke-linecap",strokeLineJoin:"stroke-linejoin",strokeMiterLimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",tabIndex:"tabindex",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",transformOrigin:"transform-origin",typeOf:"typeof",underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",vectorEffect:"vector-effect",vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",wordSpacing:"word-spacing",writingMode:"writing-mode",xHeight:"x-height",playbackOrder:"playbackorder",timelineBegin:"timelinebegin"},properties:{about:i.commaOrSpaceSeparated,accentHeight:i.number,accumulate:null,additive:null,alignmentBaseline:null,alphabetic:i.number,amplitude:i.number,arabicForm:null,ascent:i.number,attributeName:null,attributeType:null,azimuth:i.number,bandwidth:null,baselineShift:null,baseFrequency:null,baseProfile:null,bbox:null,begin:null,bias:i.number,by:null,calcMode:null,capHeight:i.number,className:i.spaceSeparated,clip:null,clipPath:null,clipPathUnits:null,clipRule:null,color:null,colorInterpolation:null,colorInterpolationFilters:null,colorProfile:null,colorRendering:null,content:null,contentScriptType:null,contentStyleType:null,crossOrigin:null,cursor:null,cx:null,cy:null,d:null,dataType:null,defaultAction:null,descent:i.number,diffuseConstant:i.number,direction:null,display:null,dur:null,divisor:i.number,dominantBaseline:null,download:i.boolean,dx:null,dy:null,edgeMode:null,editable:null,elevation:i.number,enableBackground:null,end:null,event:null,exponent:i.number,externalResourcesRequired:null,fill:null,fillOpacity:i.number,fillRule:null,filter:null,filterRes:null,filterUnits:null,floodColor:null,floodOpacity:null,focusable:null,focusHighlight:null,fontFamily:null,fontSize:null,fontSizeAdjust:null,fontStretch:null,fontStyle:null,fontVariant:null,fontWeight:null,format:null,fr:null,from:null,fx:null,fy:null,g1:i.commaSeparated,g2:i.commaSeparated,glyphName:i.commaSeparated,glyphOrientationHorizontal:null,glyphOrientationVertical:null,glyphRef:null,gradientTransform:null,gradientUnits:null,handler:null,hanging:i.number,hatchContentUnits:null,hatchUnits:null,height:null,href:null,hrefLang:null,horizAdvX:i.number,horizOriginX:i.number,horizOriginY:i.number,id:null,ideographic:i.number,imageRendering:null,initialVisibility:null,in:null,in2:null,intercept:i.number,k:i.number,k1:i.number,k2:i.number,k3:i.number,k4:i.number,kernelMatrix:i.commaOrSpaceSeparated,kernelUnitLength:null,keyPoints:null,keySplines:null,keyTimes:null,kerning:null,lang:null,lengthAdjust:null,letterSpacing:null,lightingColor:null,limitingConeAngle:i.number,local:null,markerEnd:null,markerMid:null,markerStart:null,markerHeight:null,markerUnits:null,markerWidth:null,mask:null,maskContentUnits:null,maskUnits:null,mathematical:null,max:null,media:null,mediaCharacterEncoding:null,mediaContentEncodings:null,mediaSize:i.number,mediaTime:null,method:null,min:null,mode:null,name:null,navDown:null,navDownLeft:null,navDownRight:null,navLeft:null,navNext:null,navPrev:null,navRight:null,navUp:null,navUpLeft:null,navUpRight:null,numOctaves:null,observer:null,offset:null,onAbort:null,onActivate:null,onAfterPrint:null,onBeforePrint:null,onBegin:null,onCancel:null,onCanPlay:null,onCanPlayThrough:null,onChange:null,onClick:null,onClose:null,onCopy:null,onCueChange:null,onCut:null,onDblClick:null,onDrag:null,onDragEnd:null,onDragEnter:null,onDragExit:null,onDragLeave:null,onDragOver:null,onDragStart:null,onDrop:null,onDurationChange:null,onEmptied:null,onEnd:null,onEnded:null,onError:null,onFocus:null,onFocusIn:null,onFocusOut:null,onHashChange:null,onInput:null,onInvalid:null,onKeyDown:null,onKeyPress:null,onKeyUp:null,onLoad:null,onLoadedData:null,onLoadedMetadata:null,onLoadStart:null,onMessage:null,onMouseDown:null,onMouseEnter:null,onMouseLeave:null,onMouseMove:null,onMouseOut:null,onMouseOver:null,onMouseUp:null,onMouseWheel:null,onOffline:null,onOnline:null,onPageHide:null,onPageShow:null,onPaste:null,onPause:null,onPlay:null,onPlaying:null,onPopState:null,onProgress:null,onRateChange:null,onRepeat:null,onReset:null,onResize:null,onScroll:null,onSeeked:null,onSeeking:null,onSelect:null,onShow:null,onStalled:null,onStorage:null,onSubmit:null,onSuspend:null,onTimeUpdate:null,onToggle:null,onUnload:null,onVolumeChange:null,onWaiting:null,onZoom:null,opacity:null,operator:null,order:null,orient:null,orientation:null,origin:null,overflow:null,overlay:null,overlinePosition:i.number,overlineThickness:i.number,paintOrder:null,panose1:null,path:null,pathLength:i.number,patternContentUnits:null,patternTransform:null,patternUnits:null,phase:null,ping:i.spaceSeparated,pitch:null,playbackOrder:null,pointerEvents:null,points:null,pointsAtX:i.number,pointsAtY:i.number,pointsAtZ:i.number,preserveAlpha:null,preserveAspectRatio:null,primitiveUnits:null,propagate:null,property:i.commaOrSpaceSeparated,r:null,radius:null,referrerPolicy:null,refX:null,refY:null,rel:i.commaOrSpaceSeparated,rev:i.commaOrSpaceSeparated,renderingIntent:null,repeatCount:null,repeatDur:null,requiredExtensions:i.commaOrSpaceSeparated,requiredFeatures:i.commaOrSpaceSeparated,requiredFonts:i.commaOrSpaceSeparated,requiredFormats:i.commaOrSpaceSeparated,resource:null,restart:null,result:null,rotate:null,rx:null,ry:null,scale:null,seed:null,shapeRendering:null,side:null,slope:null,snapshotTime:null,specularConstant:i.number,specularExponent:i.number,spreadMethod:null,spacing:null,startOffset:null,stdDeviation:null,stemh:null,stemv:null,stitchTiles:null,stopColor:null,stopOpacity:null,strikethroughPosition:i.number,strikethroughThickness:i.number,string:null,stroke:null,strokeDashArray:i.commaOrSpaceSeparated,strokeDashOffset:null,strokeLineCap:null,strokeLineJoin:null,strokeMiterLimit:i.number,strokeOpacity:i.number,strokeWidth:null,style:null,surfaceScale:i.number,syncBehavior:null,syncBehaviorDefault:null,syncMaster:null,syncTolerance:null,syncToleranceDefault:null,systemLanguage:i.commaOrSpaceSeparated,tabIndex:i.number,tableValues:null,target:null,targetX:i.number,targetY:i.number,textAnchor:null,textDecoration:null,textRendering:null,textLength:null,timelineBegin:null,title:null,transformBehavior:null,type:null,typeOf:i.commaOrSpaceSeparated,to:null,transform:null,transformOrigin:null,u1:null,u2:null,underlinePosition:i.number,underlineThickness:i.number,unicode:null,unicodeBidi:null,unicodeRange:null,unitsPerEm:i.number,values:null,vAlphabetic:i.number,vMathematical:i.number,vectorEffect:null,vHanging:i.number,vIdeographic:i.number,version:null,vertAdvY:i.number,vertOriginX:i.number,vertOriginY:i.number,viewBox:null,viewTarget:null,visibility:null,width:null,widths:null,wordSpacing:null,writingMode:null,x:null,x1:null,x2:null,xChannelSelector:null,xHeight:i.number,y:null,y1:null,y2:null,yChannelSelector:null,z:null,zoomAndPan:null},space:"svg",transform:k}),o=h({properties:{xLinkActuate:null,xLinkArcRole:null,xLinkHref:null,xLinkRole:null,xLinkShow:null,xLinkTitle:null,xLinkType:null},space:"xlink",transform:(a,b)=>"xlink:"+b.slice(5).toLowerCase()}),p=h({attributes:{xmlnsxlink:"xmlns:xlink"},properties:{xmlnsXLink:null,xmlns:null},space:"xmlns",transform:l}),q=h({properties:{xmlBase:null,xmlLang:null,xmlSpace:null},space:"xml",transform:(a,b)=>"xml:"+b.slice(3).toLowerCase()}),r=e([j,m,o,p,q],"html"),s=e([j,n,o,p,q],"svg")},96510:a=>{var b=/\/\*[^*]*\*+([^/*][^*]*\*+)*\//g,c=/\n/g,d=/^\s*/,e=/^(\*?[-#/*\\\w]+(\[[0-9a-z_-]+\])?)\s*/,f=/^:\s*/,g=/^((?:'(?:\\'|.)*?'|"(?:\\"|.)*?"|\([^)]*?\)|[^};])+)/,h=/^[;\s]*/,i=/^\s+|\s+$/g;function j(a){return a?a.replace(i,""):""}a.exports=function(a,i){if("string"!=typeof a)throw TypeError("First argument must be a string");if(!a)return[];i=i||{};var k=1,l=1;function m(a){var b=a.match(c);b&&(k+=b.length);var d=a.lastIndexOf("\n");l=~d?a.length-d:l+a.length}function n(){var a={line:k,column:l};return function(b){return b.position=new o(a),q(d),b}}function o(a){this.start=a,this.end={line:k,column:l},this.source=i.source}function p(b){var c=Error(i.source+":"+k+":"+l+": "+b);if(c.reason=b,c.filename=i.source,c.line=k,c.column=l,c.source=a,i.silent);else throw c}function q(b){var c=b.exec(a);if(c){var d=c[0];return m(d),a=a.slice(d.length),c}}function r(a){var b;for(a=a||[];b=s();)!1!==b&&a.push(b);return a}function s(){var b=n();if("/"==a.charAt(0)&&"*"==a.charAt(1)){for(var c=2;""!=a.charAt(c)&&("*"!=a.charAt(c)||"/"!=a.charAt(c+1));)++c;if(c+=2,""===a.charAt(c-1))return p("End of comment missing");var d=a.slice(2,c-2);return l+=2,m(d),a=a.slice(c),l+=2,b({type:"comment",comment:d})}}o.prototype.content=a,q(d);var t,u=[];for(r(u);t=function(){var a=n(),c=q(e);if(c){if(s(),!q(f))return p("property missing ':'");var d=q(g),i=a({type:"declaration",property:j(c[0].replace(b,"")),value:d?j(d[0].replace(b,"")):""});return q(h),i}}();)!1!==t&&(u.push(t),r(u));return u}},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/"}}};
|