@ycodium-ai/plugin-conversation 0.2.2958 → 0.2.2962

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.
Files changed (2) hide show
  1. package/assets/ui.js +1 -1
  2. package/package.json +2 -2
package/assets/ui.js CHANGED
@@ -4135,7 +4135,7 @@ ${t.context.body}`:t.context.header;return I(ze,{children:[I(Ke,{render:c("span"
4135
4135
  `)}function Zk(e,t,n){let o=n?.maxLines??8,r=ty(e).trimEnd().split(/\r?\n/).map(l=>l.trimEnd()),a=[],i=0,s=!1;for(let l of r){let d=l.trim().length>0;if(d&&i>=o){s=!0;break}a.push(l),d&&(i+=1)}for(;a.length>0&&a.at(-1)?.trim().length===0;)a.pop();return a.length===0?Wf(e)??t("proposedPlan.previewUnavailable"):(s&&a.push("","..."),a.join(`
4136
4136
  `))}function Rq(e){let t=e.toLowerCase().replace(/[`'".,!?()[\]{}]+/g,"").replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,"");return t.length>0?t:"plan"}function eP(e){let t=Wf(e);return`${Rq(t??"plan")}.md`}function tP(e){return`${e.trimEnd()}
4137
4137
  `}function nP(e,t){let n=new Blob([t],{type:"text/markdown;charset=utf-8"}),o=URL.createObjectURL(n),r=document.createElement("a");r.href=o,r.download=e,r.click(),window.setTimeout(()=>{URL.revokeObjectURL(o)},0)}function Fc(e,t,n="duration"){let o=`<${n}></${n}>`,r=`<${n}/>`,a=s=>{let l=e.indexOf(s);return l<0?null:[e.slice(0,l),e.slice(l+s.length)]},i=a(o)??a(r);return i===null?I(he,{children:[e,t]}):I(he,{children:[i[0],t,i[1]]})}var jf=1024,oP=ce(function({planMarkdown:t,threadKey:n,rowId:o,environmentId:r,threadRef:a,cwd:i,workspaceRoot:s,onSavePlanToWorkspace:l}){let{t:d}=We(),u=Jk(),[p,f]=go(n,`proposed-plan:${o}:expanded`,!1),[m,h]=W(!1),[g,v]=go(n,`proposed-plan:${o}:save-path`,""),[C,y]=W(!1);pp(o,m||C);let x=M(!1),b=M(!1);fe(()=>(x.current=!0,()=>{x.current=!1}),[]);let{copyToClipboard:w,isCopied:T}=Tf({target:"plan",onError:_=>{u.error(d("proposedPlan.couldNotCopy"),_,{description:d("proposedPlan.copyErrorDescription")})}}),P=lo(),k=Wf(t)??d("proposedPlan.defaultTitle"),S=t.split(`
4138
- `).length,L=t.length>900||S>20,R=ty(t),N=L?Zk(t,d,{maxLines:10}):null,A=eP(t),D=tP(t),q=()=>{nP(A,D)},H=()=>{w(D)},F=()=>{if(!s){u.error(d("proposedPlan.workspacePathUnavailable"),d("proposedPlan.workspacePathUnavailableDescription"));return}g.length===0&&v(A.slice(0,jf)),h(!0)},V=()=>{if(b.current)return;let _=g.trim();if(!(!s||l===null)){if(!_){u.warning(d("proposedPlan.enterWorkspacePath"));return}if(_.length>jf){u.warning(d("proposedPlan.pathTooLong"));return}b.current=!0,y(!0),(async()=>{try{let z=await l({environmentId:r,workspaceRoot:s,relativePath:_,contents:D});if(!x.current)return;z.ok?(h(!1),u.success(d("proposedPlan.savedToWorkspace"),z.relativePath)):u.error(d("proposedPlan.couldNotSave"),void 0,{description:d("proposedPlan.saveErrorDescription")})}catch(z){x.current&&u.error(d("proposedPlan.couldNotSave"),z,{description:d("proposedPlan.saveErrorDescription")})}finally{b.current=!1,x.current&&y(!1)}})()}};return I("div",{className:"rounded-[24px] border border-border/80 bg-card/70 p-4 sm:p-5",children:[I("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[I("div",{className:"flex min-w-0 items-center gap-2",children:[c(Lr,{variant:"secondary",children:d("proposedPlan.badge")}),c("p",{className:"truncate text-sm font-medium text-foreground",children:k})]}),I(po,{children:[c(mo,{render:c(ee,{"aria-label":d("proposedPlan.actions"),size:"icon-xs",variant:"outline"}),children:c(Uo,{"aria-hidden":"true",className:"size-4"})}),I(fo,{align:"end",children:[c(zo,{onClick:H,children:d(T?"proposedPlan.copied":"proposedPlan.copyToClipboard")}),c(zo,{onClick:q,children:d("proposedPlan.downloadAsMarkdown")}),l!==null?c(zo,{onClick:F,disabled:!s||C,children:d("proposedPlan.saveToWorkspace")}):null]})]})]}),I("div",{className:"mt-4",children:[I("div",{className:j("relative",L&&!p&&"max-h-104 overflow-hidden"),children:[L&&!p?c(Xn,{disclosureKey:`proposed-plan:${o}:plan`,text:N??"",cwd:i,threadRef:a,isStreaming:!1}):c(Xn,{disclosureKey:`proposed-plan:${o}:plan`,text:R,cwd:i,threadRef:a,isStreaming:!1}),L&&!p?c("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-24 bg-linear-to-t from-card/95 via-card/80 to-transparent"}):null]}),L?c("div",{className:"mt-4 flex justify-center",children:c(ee,{size:"sm",variant:"outline","data-scroll-anchor-ignore":!0,onClick:()=>f(!p),children:d(p?"proposedPlan.collapse":"proposedPlan.expand")})}):null]}),c(bp,{open:m,onOpenChange:_=>{C||h(_)},children:I(Tp,{className:"max-w-xl",children:[I(wp,{children:[c(kp,{children:d("proposedPlan.saveToWorkspace")}),c(Sp,{children:Fc(d("proposedPlan.pathHint"),c("code",{children:s??d("proposedPlan.theWorkspace")}),"path")})]}),c(cI,{className:"space-y-3",children:I("label",{htmlFor:P,className:"grid gap-1.5",children:[c("span",{className:"text-xs font-medium text-foreground",children:d("proposedPlan.workspacePath")}),c(Rr,{id:P,value:g,maxLength:jf,onChange:_=>v(_.target.value.slice(0,jf)),placeholder:A,spellCheck:!1,disabled:C})]})}),I(Ip,{children:[c(ee,{variant:"outline",size:"sm",onClick:()=>h(!1),disabled:C,children:d("proposedPlan.cancel")}),c(ee,{size:"sm",onClick:()=>{V()},disabled:C,children:d(C?"proposedPlan.saving":"proposedPlan.save")})]})]})})]})});Y();var hl=class extends Vr{state={failed:!1,error:null};static getDerivedStateFromError(t){return{failed:!0,error:t instanceof Error?t:new Error(String(t))}}componentDidUpdate(t){this.state.failed&&t.resetKey!==this.props.resetKey&&this.setState({failed:!1,error:null})}render(){if(!this.state.failed)return this.props.children;let{fallback:t}=this.props;return typeof t=="function"?t(this.state.error):t}};function Aq({error:e,className:t}){let{t:n}=We();return I(ze,{children:[I(Ke,{render:c("div",{className:j("flex min-h-6 min-w-0 items-center gap-1.5 px-0.5 py-0.5 text-destructive-foreground",t)}),children:[c(nn,{"aria-hidden":!0,className:"size-4 shrink-0"}),c("span",{className:"min-w-0 flex-1 truncate",children:n("timeline.entryUnavailable")})]}),c(He,{className:"max-w-xs whitespace-pre-wrap font-mono text-[11px]",children:e.message})]})}function rP(e){return c(Aq,{error:e})}Y();var ny=ct(void 0);function aP(){return Ye(ny)}function iP(e){let t=e.threadRef;if(typeof t=="object"&&t!==null&&"threadId"in t){let o=t.threadId;if(typeof o=="string"&&o.length>0)return o}let n=`${e.environmentId}:`;return e.threadKey.startsWith(n)&&e.threadKey.length>n.length?e.threadKey.slice(n.length):e.threadKey}Y();function sP({row:e}){let{workingStepLabel:t,stall:n,retry:o}=Ye(xf),{t:r}=We();return I("div",{className:"border-b border-border/60 pb-2 pt-1",children:[c("div",{className:"flex min-w-0 flex-wrap items-center gap-x-1.5 px-1 text-chat text-muted-foreground tabular-nums","data-testid":"working-row",children:I("span",{className:"min-w-0",children:[e.compacting?r("activity.compacting"):e.createdAt?Fc(r("activity.workingForLive"),c(Dq,{createdAt:e.createdAt})):r("activity.workingNoTimer"),t&&!e.compacting?I("span",{className:"ml-2 text-muted-foreground/55",children:["\xB7 ",t]}):null]})}),o?c(Eq,{retry:o}):n&&!e.compacting?c(Nq,{stall:n}):null]})}function Eq({retry:e}){let{t}=We(),n=Ye(wt);return I(rc,{variant:"warning",className:"mt-2 px-2 py-1.5 text-chat-row",children:[c(Lp,{children:n.derive.providerRetryMessage(e,(o,r)=>t(o,r))}),n.onInterrupt?c(ac,{children:c(ee,{onClick:n.onInterrupt,size:"sm",variant:"ghost",title:t("stall.interruptHint"),children:t("stall.interrupt")})}):null]})}var Mq={childThread:"stall.reasonChildThread",tool:"stall.reasonTool",approval:"stall.reasonApproval",userInput:"stall.reasonUserInput",model:"stall.reasonModel"};function Nq({stall:e}){let{t}=We(),{onInterrupt:n}=Ye(wt),o=t(Mq[e.reason]);return I("div",{className:"mt-1 flex items-center gap-2 px-1 text-chat-row text-muted-foreground/70",children:[c("span",{className:"tabular-nums",children:Fc(t("stall.noOutputForLive"),c(_q,{since:e.since}))}),c("span",{"aria-hidden":!0,children:"\xB7"}),c("span",{children:o}),n?c(ee,{className:"h-5 px-1.5 text-chat-row",onClick:n,size:"sm",title:t("stall.interruptHint"),variant:"ghost",children:t("stall.interrupt")}):null]})}function lP(e,t){let n=Bo();U(()=>{let o=()=>{t.current&&(t.current.textContent=oy(e))};if(o(),!n)return;let r=setInterval(o,1e3);return document.addEventListener("visibilitychange",o),()=>{clearInterval(r),document.removeEventListener("visibilitychange",o)}},[n,e,t])}function _q({since:e}){let t=M(null);return lP(e,t),c("span",{className:"timeline-timer tabular-nums",ref:t,children:oy(e)})}function Dq({createdAt:e}){let t=M(null);return lP(e,t),c("span",{ref:t,className:"timeline-timer tabular-nums",children:oy(e)})}function Oq(e,t){let n=Date.parse(e),o=Date.parse(t);if(!Number.isFinite(n)||!Number.isFinite(o))return null;let r=Math.max(0,Math.floor((o-n)/1e3));return r<60?`${r}s`:dr(r*1e3)}function oy(e){return Oq(e,new Date().toISOString())??"0s"}var dP=ce(function({rowsStore:t,rowId:n}){let o=v0(t,n),r=aP(),a=Ye(wt),{t:i}=We();if(o===void 0)return null;let s=iP({threadKey:a.threadKey,environmentId:a.activeThreadEnvironmentId,threadRef:a.threadRef});return c(Qs,{value:o.id,children:c("div",{className:j("relative",o.kind==="message"&&o.message.role==="user"?"pb-6":o.kind==="message"&&o.message.role==="assistant"?o.copyInFooter?"pb-1 group/assistant":"pb-4 group/assistant":o.kind==="turn-summary"?"pb-2 empty:pb-0":"pb-2"),"data-timeline-row-id":o.id,"data-timeline-row-kind":o.kind,"data-message-id":o.kind==="message"?o.message.id:void 0,"data-message-role":o.kind==="message"?o.message.role:void 0,children:I(hl,{resetKey:o.id,fallback:rP,children:[o.kind==="turn-summary"?I(he,{children:[r?.renderDeliverableTools?.({turnId:o.footer.turnId,environmentId:a.activeThreadEnvironmentId,threadId:s}),o.cardAnchor===!0?null:c(Hk,{footer:o.footer,copyText:o.copyText,timestampFormat:a.timestampFormat,identity:o.identity}),r?.renderSlot("conversation.chat.turnTail",{turnId:o.footer.turnId,environmentId:a.activeThreadEnvironmentId,threadId:s})]}):null,o.kind==="tool-group"?c(Yk,{entries:o.entries,groupId:o.groupId,threadKey:a.threadKey,workspaceRoot:a.workspaceRoot,onDisclosureChange:()=>a.onProcessDisclosureChange?.(o.id)}):null,o.kind==="work"?c(Fq,{row:o}):null,o.kind==="model-switch"?c(mk,{row:o}):null,o.kind==="turn-identity"?c("div",{"data-turn-identity":o.turnId,className:"sr-only",children:i("timeline.answeredBy",{name:o.badge.providerDisplayName??o.badge.modelLabel})}):null,o.kind==="message"&&o.message.role==="user"?c(Qv,{row:o}):null,o.kind==="message"&&o.message.role==="assistant"?c(fk,{row:o}):null,o.kind==="proposed-plan"?c(Uq,{row:o}):null,o.kind==="turn-plan"?c(zq,{row:o}):null,o.kind==="working"?c(sP,{row:o}):null]})})})});function Fq({row:e}){let t=Ye(wt),n=Bo(),o=t.renderWorkGroup?.({row:e,threadRef:t.threadRef,visible:n});return o!==void 0?c(he,{children:o}):c("div",{className:"min-w-0 space-y-px py-0.5",children:e.groupedEntries.map(r=>c(Bq,{entry:r},r.id))})}function Bq({entry:e}){let t=Ye(wt),[n,o]=go(t.threadKey,`work-fallback:${Vf(e)}`,!1),r=e.detail??e.command??e.rawCommand??e.toolLabel?.detail;return I("div",{children:[I("button",{type:"button","aria-expanded":n,className:j("chat-process-row flex w-full min-w-0 items-center gap-1.5 px-2 text-left",e.tone==="error"?"text-destructive-foreground":"text-muted-foreground"),onClick:()=>o(!n),disabled:r===void 0,children:[c("span",{"aria-hidden":!0,className:j("block size-2 shrink-0 rounded-full",e.tone==="error"?"bg-destructive":e.tone==="thinking"||e.tone==="info"?"bg-muted-foreground/60":"border border-muted-foreground/60")}),c("span",{className:"chat-process-text min-w-0 flex-1 truncate",children:e.label}),r!==void 0?c(tn,{"aria-hidden":!0,className:j("size-icon-1 shrink-0",!n&&"-rotate-90")}):null]}),n&&r!==void 0?c("pre",{className:"chat-tool-body mx-2 overflow-x-auto rounded-md bg-muted/40 p-2",children:r}):null]})}function Uq({row:e}){let t=Ye(wt);return c("div",{className:"min-w-0 px-1 py-0.5",children:c(oP,{threadKey:t.threadKey,rowId:e.id,planMarkdown:e.proposedPlan.planMarkdown,environmentId:t.activeThreadEnvironmentId,threadRef:t.threadRef??void 0,cwd:t.markdownCwd,workspaceRoot:t.workspaceRoot,onSavePlanToWorkspace:t.onSavePlanToWorkspace})})}var zq=ce(function({row:t}){let n=Ye(wt),{t:o}=We(),[r,a]=go(n.threadKey,`turn-plan:${t.id}`,!1),{steps:i}=t.turnPlan.plan,s=i.filter(p=>p.status==="completed").length,l=s===i.length,d=i.find(p=>p.status==="inProgress")?.step??i.find(p=>p.status==="pending")?.step??i.at(-1)?.step??o("proposedPlan.badge");return I("div",{className:"min-w-0 px-1 py-0.5",children:[I("button",{type:"button",className:"relative flex w-full min-w-0 cursor-pointer items-center gap-2 rounded-md px-0.5 py-0.5 text-left text-[12px] leading-5 transition-colors duration-(--control-duration) hover:bg-accent/20 pointer-coarse:after:absolute pointer-coarse:after:inset-0 pointer-coarse:after:min-h-11","aria-expanded":r,onClick:()=>a(!r),children:[c(r?tn:co,{className:"size-icon-1 shrink-0 text-muted-foreground/65"}),i.length>1?c("span",{"aria-hidden":!0,className:"flex shrink-0 items-center gap-0.5",children:i.map(p=>c("span",{className:j("h-[3px] w-2.5 rounded-full",p.status==="completed"?"bg-success":p.status==="inProgress"?"bg-primary":"bg-muted-foreground/25")},p.step))}):null,c("span",{className:j("min-w-0 truncate",l?"text-muted-foreground/65":"font-medium text-foreground/85"),children:d}),i.length>1?I("span",{className:"shrink-0 text-muted-foreground/50 tabular-nums",children:[s,"/",i.length]}):null]}),r?c("div",{className:"mt-0.5 space-y-px pl-6",children:i.map(p=>I("div",{className:"flex items-baseline gap-2 text-[12px] leading-5",children:[c("span",{className:j("w-3 shrink-0 text-center font-mono text-chat-meta",p.status==="completed"?"text-success":p.status==="inProgress"?"text-primary":"text-muted-foreground/40"),"aria-hidden":!0,children:p.status==="completed"?"\u2713":p.status==="inProgress"?"\u25CF":"\u25CB"}),c("span",{className:j("min-w-0",p.status==="completed"?"text-muted-foreground/55":p.status==="inProgress"?"text-foreground/90":"text-muted-foreground/70"),children:p.step})]},p.step))}):null]})});Y();var Hq=e=>{let t=e.getMeta().status.latestTurn;return t?.state==="completed"?t.completedAt:null},Kq=e=>e.getMeta().status.latestAssistantMessageId??null,$q=e=>e.getMeta().finalAssistantMessageReceived,cP=ce(function({rowsStore:t,useVisibleThreadCompletion:n,viewport:o,viewActive:r,threadKey:a,settledView:i,bottomInset:s}){let l=wn(t,Hq),d=wn(t,Kq),u=wn(t,$q);return n({viewport:o,viewActive:r,threadKey:a,completedAt:i&&u?l:null,messageId:d,bottomInset:s}),null});Y();var Vq=[];function uP({rowsStore:e,derive:t,paneVisible:n,routeThreadKey:o}){let r=E(g=>n?xk(g,t):Vq,[t,n]),a=wn(e,r,bk),i=M(a);i.current=a;let s=ot("timeline-active-header",o,null),l=a.at(-1)?.text??null,d=l!==null,u=M(null),p=M(null),[f,m]=Pt("timeline-pinned-header-expanded",o,!1),h=M(f);return h.current=f,{turnHeadersRef:i,activeTurnHeaderKeyRef:s,initialTurnHeaderText:l,hasTurnHeaders:d,pinnedTurnHeaderRef:u,pinnedTurnHeaderTextRef:p,pinnedTurnHeaderExpanded:f,setPinnedTurnHeaderExpanded:m,pinnedTurnHeaderExpandedRef:h}}function pP({routeThreadKey:e,paneVisibleRef:t,turnHeadersRef:n,activeTurnHeaderKeyRef:o,pinnedTurnHeaderRef:r,pinnedTurnHeaderTextRef:a,pinnedTurnHeaderExpandedRef:i,setPinnedTurnHeaderExpanded:s}){let l=E(()=>{if(!t.current)return;let f=r.current,m=a.current;!f||!m||(f.dataset.truncated=i.current||m.scrollWidth>m.clientWidth+1?"true":"false")},[]),d=M(null),u=E(()=>{t.current&&d.current===null&&(d.current=requestAnimationFrame(()=>{d.current=null,l()}))},[l]);return U(()=>()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null)},[e]),{applyActiveSection:E(f=>{if(f===null||f===o.current)return;o.current=f;let m=n.current.find(h=>h.sectionKey===f);m&&a.current&&(a.current.textContent=m.text),i.current&&s(!1),u()},[o,u,s]),scheduleMeasurePinnedTurnHeaderOverflow:u}}function fP({paneVisible:e,turnHeadersRef:t,activeTurnHeaderKeyRef:n,pinnedTurnHeaderTextRef:o,pinnedTurnHeaderExpanded:r,setPinnedTurnHeaderExpanded:a,scheduleMeasurePinnedTurnHeaderOverflow:i}){let s=E(()=>{a(l=>!l)},[a]);return fe(()=>{if(!e)return;let l=n.current,d=l===null?void 0:t.current.find(u=>u.sectionKey===l);d&&o.current&&(o.current.textContent=d.text),i()},[e,i,r]),s}Y();function qq(e,t,n){let o=n-t;if(Math.abs(o)<1)return null;let r=Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+o));return Math.abs(r-e.scrollTop)<1?null:r}function mP(e){let{viewport:t,anchor:n,row:o,scrollToOffset:r}=e,a=n.getBoundingClientRect().top,i=!0,s=null,l=()=>{if(s=null,!i||!n.isConnected||!t.contains(n))return;let p=qq(t,a,n.getBoundingClientRect().top);p!==null&&r(p),a=n.getBoundingClientRect().top},d=()=>{i&&s===null&&(s=requestAnimationFrame(l))},u=typeof ResizeObserver>"u"?null:new ResizeObserver(d);return u?.observe(o),d(),{schedule:d,stop:()=>{i=!1,u?.disconnect(),s!==null&&cancelAnimationFrame(s),s=null}}}function gP(e){return Pt("timeline-disclosure-reading",e,!1)}function hP({routeThreadKey:e,listRef:t,liveFollowEnabled:n,onDisclosureNavigation:o,rowsStore:r,setDisclosureReading:a}){let i=Ao(e,null),s=Ao(e,null),l=Ao(e,null);U(()=>()=>{s.current?.stop()},[]);let d=E(()=>{s.current?.stop(),s.current=null,i.current=null,a(!1)},[i,s,a]),u=E(m=>{o(),i.current=m,a(!0),s.current?.stop();let h=t.current?.node??null;if(!h)return;let g=Array.from(h.querySelectorAll("[data-timeline-row-id]")).find(C=>C.dataset.timelineRowId===m);if(!g)return;let v=l.current;s.current=mP({viewport:h,row:g,anchor:v&&g.contains(v)?v:g,scrollToOffset:C=>{h.scrollTop=C}})},[o]),p=ot("timeline-live-follow-previous",e,n);fe(()=>{n&&!p.current&&d(),p.current=n},[n,d]);let f=E(m=>{let h=r.getRows().find(g=>g.id===m||g.kind==="work"&&g.groupedEntries.some(v=>v.id===m)||g.kind==="tool-group"&&g.entries.some(v=>v.id===m));u(h?.id??m)},[r,u]);return{disclosureButtonRef:l,releaseDisclosureAnchor:d,onProcessDisclosureChange:f}}Y();var ry=1e4;function vP({routeThreadKey:e,routeThreadKeyRef:t,pagingBlockedRef:n,pagingBlockedByInteraction:o,loadEarlier:r,loadLater:a,hasHiddenOlder:i,visibleTurnSections:s,capturePrependAnchor:l,revealWindowRef:d,pendingNetworkPrependRef:u,turnSectionsRef:p}){let f=E(()=>{l(),d.current.revealOlder()},[l]),m=M(f);m.current=f;let h=M(i);h.current=i;let g=M(null),v=E(()=>{if(n.current||t.current!==e||r===null||r.loading)return;let y=s[0]?.key;y!==void 0&&(l(y),u.current={firstMountedSectionKey:y,loadingObserved:!1,sectionsWhileLoading:p.current,until:Date.now()+ry},r.onLoadEarlier())},[l,r,u,e,s]);g.current=r===null||r.loading||o?null:v;let C=E(()=>{n.current||t.current!==e||(l(),a?.onLoadLater())},[l,a,e]);return{revealOlderTurns:f,revealOlderTurnsRef:m,hasHiddenOlderRef:h,loadEarlierRef:g,handleLoadEarlier:v,handleLoadLater:C}}Y();Y();var Ji=3,ay=Ji;function yP(e){let[t,n]=Pt("timeline-reveal-window",e,Ji),o=E(()=>{n(s=>s+ay)},[n]),r=E(s=>{n(l=>s>l?s:l)},[n]),a=E(()=>{n(Ji)},[n]),i=E(s=>{n(l=>Math.min(l,Math.max(Ji,s)))},[n]);return{revealedCount:t,revealOlder:o,revealAtLeast:r,compactTo:i,reset:a}}Y();function Wq(e){return e!==null&&"tagName"in e&&"closest"in e}function Qa(e){return Wq(e)?e.tagName==="INPUT"||e.tagName==="TEXTAREA"?!0:e.closest('[contenteditable]:not([contenteditable="false"])')!==null:!1}function iy(e,t){if(!/^[1-9]$/.test(e))return null;let n=Number(e)-1;return n<t?n:null}function CP(e,t){let n=e.findIndex(o=>o.decision===t);return n===-1?null:{type:"respond",index:n}}function xP(e,t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return null;switch(e.key){case"Enter":return CP(t,"accept");case"Escape":return CP(t,"cancel");case"ArrowDown":case"ArrowRight":return{type:"move",delta:1};case"ArrowUp":case"ArrowLeft":return{type:"move",delta:-1};default:{let n=iy(e.key,t.length);return n===null?null:{type:"respond",index:n}}}}var Bc=600;function sy(e,t){if(typeof Element>"u"||!(e instanceof Element))return!1;if(t===null||!t.contains(e))return!0;for(let n=e;n&&n!==t;){if(n instanceof HTMLElement&&n.scrollHeight>n.clientHeight&&n.scrollTop>0)return!0;n=n.parentElement}return!1}function bP({routeThreadKey:e,routeThreadKeyRef:t,paneVisibleRef:n,pagingBlockedRef:o,scrollRestorePendingRef:r,listRef:a,topRevealArmedRef:i,hasHiddenOlderRef:s,revealOlderTurnsRef:l,loadEarlierRef:d,networkPrependAwaitingUserNavigationRef:u,networkPrependScrollTopRef:p,topRevealTouchStartYRef:f,topRevealUserNavigationFrameRef:m}){let h=E(y=>{if(y>Bc){i.current=!0;return}if(i.current){if(i.current=!1,s.current){l.current();return}d.current?.()}},[i]),g=E(()=>{u.current&&(u.current=!1,p.current=null,i.current=!0)},[u,p,i]),v=E(()=>{if(m.current!==null||o.current||!n.current||t.current!==e||r.current)return!1;let y=a.current?.measure();return!y||y.scroll>2||y.contentLength-y.scrollLength-y.scroll<=2||!s.current&&d.current===null?!1:(u.current=!1,p.current=null,i.current=!0,m.current=requestAnimationFrame(()=>{m.current=null}),h(y.scroll),!0)},[h,u,p,e,r,i,m]);return{maybeRevealOlderOnScroll:h,rearmNetworkPrependForUserNavigation:g,continueTopRevealAtTopForUserNavigation:v,contentGestureHandlers:{onWheel:y=>{y.defaultPrevented||y.deltaY>=0||Qa(y.target)||sy(y.target,a.current?.node??null)||v()},onTouchStartCapture:y=>{f.current=y.touches[0]?.clientY??null},onTouchMove:y=>{let x=y.touches[0],b=f.current;y.defaultPrevented||Qa(y.target)||sy(y.target,a.current?.node??null)||x===void 0||b===null||x.clientY<=b||v()&&(f.current=null)},onTouchEndCapture:()=>{f.current=null},onTouchCancelCapture:()=>{f.current=null},onKeyDown:y=>{y.defaultPrevented||y.repeat||y.metaKey||y.ctrlKey||y.altKey||y.shiftKey||Qa(y.target)||sy(y.target,a.current?.node??null)||!["ArrowUp","PageUp","Home"].includes(y.key)||v()}}}}function SP({paneVisible:e,paneVisibleRef:t,loadLater:n,liveFollowEnabled:o,disclosureReading:r,restoreInProgress:a,loadEarlier:i,scrollNode:s,revealWindow:l,turnSections:d,followEnabledRef:u,compactionStateRef:p,compactionRef:f,prependAnchorRef:m,interactionRowsRef:h,revealWindowRef:g,topRevealArmedRef:v,capturePrependAnchor:C}){let y=e&&n===null&&o&&!r&&!a;return u.current=y,p.current={followEnabled:y,restoreInProgress:a,loadEarlier:i},U(()=>{if(!s||!e)return;let x=m0({root:s,minimumCount:Ji,keepAbovePx:Bc,canCompact:()=>{let b=p.current,w=m.current;return b.followEnabled&&h.current.length===0&&!b.restoreInProgress&&!b.loadEarlier?.loading&&!(w&&w.until>Date.now())&&g.current.revealedCount>Ji},onCompact:b=>{v.current=!0,C(),g.current.compactTo(b)}});return f.current=x,()=>{x.disconnect(),f.current=null}},[C,e,s]),U(()=>{f.current?.schedule()},[y,i?.loading,l.revealedCount,d.length]),U(()=>{if(!s||!e||typeof ResizeObserver>"u")return;let x=()=>{if(!t.current||!u.current)return;let T=s.scrollHeight-s.clientHeight;Math.abs(s.scrollTop-T)>.5&&(s.scrollTop=T)},b=new ResizeObserver(x);b.observe(s);let w=s.firstElementChild;return w&&b.observe(w),()=>b.disconnect()},[e,s]),{followEnabled:y}}Y();function IP({hasHiddenOlder:e,hasTurnHeaders:t,loadEarlier:n,pagingBlockedByInteraction:o,topFadeEnabled:r,revealOlderTurns:a,handleLoadEarlier:i}){return K(()=>{let s=e?c(Ok,{onReveal:a,fade:r}):n!==null?c(_k,{loading:n.loading,blocked:o,onLoadEarlier:i,fade:r}):r?Nk:Mk;return t?I(he,{children:[c("div",{style:{height:_c}}),s]}):s},[i,e,t,n,o,a,r])}Y();Y();function wP(e,t,n){let o=ot("timeline-last-requested-reveal",e,n);return fe(()=>{o.current=n}),t&&n>=o.current}function TP(e,t,n,o){if(t<e.revealedCount)e.compactTo(t);else{if(t<=e.revealedCount)return;n?requestAnimationFrame(()=>setTimeout(()=>{o()&&e.revealAtLeast(t)},0)):e.revealAtLeast(t)}}function kP(e,t){return t.prefixMounted?"mounted":t.loading===null||t.now>e.until?"abandoned":t.loading?(e.loadingObserved=!0,e.sectionsWhileLoading=t.sections,"waiting"):e.loadingObserved?t.sections===e.sectionsWhileLoading?"waiting":"landed":"waiting"}function jq(e,t,n){for(let o=t;o<n;o+=1){let r=e[o];switch(r.kind){case"turn-identity":return r.turnId;case"working":return r.turnId??null;case"message":if(r.message.role==="assistant")return r.message.turnId;break;case"tool-group":if(r.entries[0]?.turnId!==void 0)return r.entries[0].turnId??null;break;case"work":if(r.groupedEntries[0]?.turnId!==void 0)return r.groupedEntries[0].turnId??null;break;case"turn-plan":return r.turnPlan.turnId;case"proposed-plan":return r.proposedPlan.turnId;case"turn-summary":return r.footer.turnId}}return null}function PP(e,t,n=[]){let o=new Map(n.map(a=>[a.key,a])),r=[];for(let a of t){if(a.end<=a.start)continue;let i=jq(e,a.start,a.end),s=o.get(a.key);if(s!==void 0&&s.turnId===i&&Gq(s,e,a.start,a.end)){r.push(s);continue}r.push({key:a.key,turnId:i,firstRowIndex:a.start,rowIds:e.slice(a.start,a.end).map(l=>l.id)})}return r}function Gq(e,t,n,o){if(e.firstRowIndex!==n||e.rowIds.length!==o-n)return!1;for(let r=0;r<e.rowIds.length;r+=1)if(e.rowIds[r]!==t[n+r].id)return!1;return!0}function LP(e,t){let n=Math.max(0,Math.min(t,e)),o=e-n;return{startIndex:o,hasHiddenOlder:o>0}}function Zi(e,t,n){let o=e.findIndex(r=>r.rowIds.includes(t));return o<0?n:Math.max(n,e.length-o)}var Qq=new Set;function RP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,paneVisibleRef:o,listRef:r,scrollSnapshotRef:a,structure:i,loadLater:s,loadEarlier:l,liveFollowEnabled:d,disclosureReading:u,nativeSelectionRef:p,interactionRowsRef:f}){let m=i.sections,h=yP(e),g=M(h);g.current=h;let v=ot("timeline-top-reveal-armed",e,!0),C=ot("timeline-network-prepend-awaiting-navigation",e,!1),y=M(null),x=M(null);fe(()=>()=>{x.current!==null&&(cancelAnimationFrame(x.current),x.current=null)},[e,n]);let b=ot("timeline-network-prepend-scroll-top",e,null),w=ot("timeline-mounted-section-keys",e,Qq,3),T=Ao(e,null),P=T.current,k=P===null?-1:m.findIndex(B=>B.key===P.firstMountedSectionKey),S=k>0?m.length-Math.max(0,k-ay):h.revealedCount,L=k>0?S:h.revealedCount,R=s!==null||!d||u||p.current||f.current.length>0,N=wP(e,d,L),A=d0(m.map(B=>B.key),w.current,L,R||N),{startIndex:D,hasHiddenOlder:q}=LP(m.length,A),H=K(()=>m.slice(D),[D,m]),F=P!==null&&k>0&&D<k,V=M(m);V.current=m,fe(()=>{if(!n)return;if(w.current=new Set(H.map(ae=>ae.key)),P!==null){let ae=kP(P,{prefixMounted:F,loading:l===null?null:l.loading,sections:m,now:Date.now()});ae!=="waiting"&&(T.current=null),ae==="mounted"&&(C.current=!0)}let B=e;TP(g.current,A,!R,()=>t.current===B)},[C,l,n,P,F,T,w,R,A,e,m,H]);let _=Ao(e,null),z=E((B=null)=>{if(!o.current)return;let ae=r.current?.node;ae&&(_.current={scrollHeight:ae.scrollHeight,scrollTop:ae.scrollTop,row:r.current?.measure()?.rowAtScroll()??null,firstMountedSectionKey:B,until:Date.now()+ry})},[_]),Ce=E(()=>{let B=_.current;if(B===null||B.firstMountedSectionKey===null||Date.now()>B.until)return;let ae=r.current?.node;if(!ae)return;let X=a.current;B.scrollHeight=ae.scrollHeight,B.scrollTop=ae.scrollTop,B.row=X?.threadKey===e?X.anchor:null},[_,e,a]);return fe(()=>{if(!n)return;let B=_.current;if(!B)return;if(Date.now()>B.until){_.current=null;return}if(B.firstMountedSectionKey!==null&&T.current!==null)return;_.current=null;let ae=r.current?.node;if(ae){if(B.row){Hf(ae,B.row.rowId);let X=r.current?.measure()?.topOf(B.row.rowId);X!=null&&(ae.scrollTop=X+B.row.offsetPx)}else ae.scrollTop=B.scrollTop+(ae.scrollHeight-B.scrollHeight);F&&(b.current=ae.scrollTop)}},[b,n,P,F,D,i]),{revealWindow:h,revealWindowRef:g,topRevealArmedRef:v,networkPrependAwaitingUserNavigationRef:C,topRevealTouchStartYRef:y,topRevealUserNavigationFrameRef:x,networkPrependScrollTopRef:b,pendingNetworkPrependRef:T,hasHiddenOlder:q,visibleTurnSections:H,turnSectionsRef:V,prependAnchorRef:_,capturePrependAnchor:z,refreshPendingPrependAnchor:Ce}}Y();function Xq(e,t){let n=d=>d.replace(/\s+/g,""),o=n(t.text);if(o.length===0)return null;let r=(d,u)=>e.slice(Math.max(0,d-t.prefix.length),d)===t.prefix&&e.slice(u,u+t.suffix.length)===t.suffix;if(t.start<t.end&&t.end<=e.length&&n(e.slice(t.start,t.end))===o&&r(t.start,t.end))return{start:t.start,end:t.end};let a=Tc(t.text).trim(),i=[];for(let d=e.indexOf(a);d>=0;d=e.indexOf(a,d+1))i.push(d);let s=i.filter(d=>r(d,d+a.length)),l=s.length===1?s[0]:s.length===0&&i.length===1?i[0]:null;return l===null?null:{start:l,end:l+a.length}}function EP(e,t){let n=e.querySelector("[data-assistant-quote-body]")??mf(e);if(n===null)return null;let o=[],r="",a=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(let u=a.nextNode();u;u=a.nextNode()){let p=u.data;for(let f=0;f<p.length;f+=1){let m=/\s/.test(p[f]);m&&r.endsWith(" ")||(r+=m?" ":p[f],o.push({node:u,offset:f}))}}let i=Xq(r,t);if(i===null)return null;let s=o[i.start],l=o[i.end-1];if(!s||!l)return null;let d=document.createRange();return d.setStart(s.node,s.offset),d.setEnd(l.node,l.offset+1),d}var ly="assistant-quote",AP=2400;function MP(e){let t=globalThis.CSS?.highlights,n=globalThis.Highlight;if(t&&n){let r=new n(e);t.set(ly,r),setTimeout(()=>{t.get(ly)===r&&t.delete(ly)},AP);return}let o=document.getSelection();o&&(o.removeAllRanges(),o.addRange(e),setTimeout(()=>{let r=o.rangeCount>0?o.getRangeAt(0):null;r&&r.compareBoundaryPoints(Range.START_TO_START,e)===0&&o.removeAllRanges()},AP))}var Yq=20;function NP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,derive:o,rowsStore:r,structure:a,loadEarlier:i,loadEarlierRef:s,listRef:l,revealWindowRef:d,turnSectionsRef:u,scrollToRowWithRevealRef:p,onManualNavigation:f,releaseDisclosureAnchor:m,revealMessageRequest:h,onRevealMessageHandled:g,revealQuoteRequest:v,onRevealQuoteDone:C}){let y=E(b=>{m(),f(),d.current.revealAtLeast(Zi(u.current,b.anchorRowId,d.current.revealedCount));let w=e;requestAnimationFrame(()=>{t.current===w&&p.current(b.anchorRowId,24)})},[f,m,e]);U(()=>{if(h===null||!n)return;m(),f();let b=o.resolveToolGroupRevealRowId(r.getRows(),h.rowId);d.current.revealAtLeast(Zi(u.current,b,d.current.revealedCount));let w=requestAnimationFrame(()=>{t.current===e&&(p.current(b,24),g?.())});return()=>cancelAnimationFrame(w)},[h,n,f,m,g,o,e,r]);let x=M(null);return U(()=>{if(v===null||!n)return;let b=x.current;if((b===null||b.request!==v)&&(b={request:v,pages:0,done:!1},x.current=b),b.done)return;let{quote:w}=v,T=w.messageId;if(!r.getRows().some(P=>P.id===T)){if(i?.loading)return;let P=s.current;if(P!==null&&b.pages<Yq){b.pages+=1,P();return}b.done=!0,C?.("message-missing");return}b.done=!0,m(),f(),d.current.revealAtLeast(Zi(u.current,T,d.current.revealedCount)),requestAnimationFrame(()=>{t.current===e&&(p.current(T,24),requestAnimationFrame(()=>{let P=l.current?.node?.querySelector(`[data-timeline-row-id="${CSS.escape(T)}"]`),k=P?EP(P,w):null,S=l.current?.node;if(k&&S){let L=k.getBoundingClientRect().top-S.getBoundingClientRect().top-S.clientHeight/3;l.current?.scrollToOffset(S.scrollTop+L)}k&&MP(k),C?.(k?"found":"passage-missing")}))})},[v,n,a,i,r,C,f,m,e]),{jumpToTurnSection:y}}Y();function _P({timestampFormat:e,routeThreadKey:t,threadRef:n,markdownCwd:o,resolvedTheme:r,workspaceRoot:a,skills:i,environmentId:s,onForkFromUserMessage:l,selfUserId:d,onImageExpand:u,onAttachmentDocumentOpen:p,onOpenFileDiff:f,onProcessDisclosureChange:m,agentPanelModel:h,onOpenAgents:g,onInterrupt:v,onRespondToDecision:C,scheduledWakes:y,onCancelScheduledWake:x,derive:b,SiteIcon:w,threadReferences:T,renderWorkGroup:P,renderToolCallDetail:k,onSavePlanToWorkspace:S,declaredToolTitles:L}){let R=K(()=>Ef(i),[i]);return K(()=>({timestampFormat:e,threadKey:t,threadRef:n,markdownCwd:o,resolvedTheme:r,workspaceRoot:a,skills:i,skillIndex:R,activeThreadEnvironmentId:s,onForkFromUserMessage:l,selfUserId:d,onImageExpand:u,onAttachmentDocumentOpen:p,onOpenFileDiff:f,onProcessDisclosureChange:m,agentPanelModel:h,onOpenAgents:g,onInterrupt:v,onRespondToDecision:C,scheduledWakes:y,onCancelScheduledWake:x,derive:b,SiteIcon:w,threadReferences:T,renderWorkGroup:P,renderToolCallDetail:k,onSavePlanToWorkspace:S,declaredToolTitles:L}),[e,t,n,o,r,a,i,R,s,l,d,u,p,f,m,h,g,v,C,y,x,b,w,T,P,k,S,L])}Y();var Jq=200;function DP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,paneVisibleRef:o,listRef:r,derive:a,contentInsetEndAdjustment:i,onIsAtEndChange:s,loadLater:l,restoreInProgress:d,rowCount:u,followingEndRef:p,scrollRestorePendingRef:f,laterLoadArmedRef:m,pagingBlockedRef:h,lastScrollAnchorSaveAtRef:g,networkPrependAwaitingUserNavigationRef:v,networkPrependScrollTopRef:C,cacheScrollSnapshot:y,persistScrollSnapshot:x,refreshPendingPrependAnchor:b,maybeRevealOlderOnScroll:w,rearmNetworkPrependForUserNavigation:T,handleLoadLater:P}){let k=E(()=>{if(!o.current||t.current!==e)return;let S=r.current?.measure();if(!S||f.current)return;y(S);let L=C.current;v.current&&L!==null&&Math.abs(S.scroll-L)>.5&&T(),b();let R=a.resolveIsAtEnd({contentLength:S.contentLength,scroll:S.scroll,scrollLength:S.scrollLength},i);R!==void 0&&s(l===null&&R);let N=S.contentLength-S.scrollLength-S.scroll;!p.current&&N>2&&w(S.scroll),N>Bc?m.current=!0:m.current&&l&&!l.loading&&!h.current&&(m.current=!1,P());let A=Date.now();A-g.current>=Jq&&(g.current=A,x())},[y,i,a,w,s,x,b,e,l,m,P,v,C,T,f]);return U(()=>{if(!n)return;let S=requestAnimationFrame(k);return()=>cancelAnimationFrame(S)},[k,n,d,u]),{handleScroll:k}}Y();function OP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,paneVisibleRef:o,revealRequestRef:r,listRef:a,rowCount:i,structure:s,loadScrollAnchor:l,loadLater:d,onManualNavigation:u,onIsAtEndChange:p,revealWindowRef:f,turnSectionsRef:m,followingEndRef:h,followEnabledRef:g,compactionStateRef:v,scrollRestorePendingRef:C,persistScrollSnapshot:y,captureFinalScrollSnapshot:x}){let b=ot("timeline-scroll-restore",e,void 0);if(b.current===void 0&&i>0){let D=l(e);b.current=D!==null&&s.rowIds.includes(D.rowId)?D:null}let w=b.current??null,T=M(()=>{}),[P,k]=Pt("timeline-scroll-restore-settled",e,!1),S=w!==null&&!P,L=ot("timeline-last-anchor-save",e,0);U(()=>{let D=w;if(!n||P||D===null)return;if(r.current!==null){k(!0);return}let q=null,H=requestAnimationFrame(()=>{!o.current||t.current!==e||(u(),f.current.revealAtLeast(Zi(m.current,D.rowId,f.current.revealedCount)),q=requestAnimationFrame(()=>{!o.current||t.current!==e||(k(!0),T.current(D.rowId,-D.offsetPx))}))});return()=>{cancelAnimationFrame(H),q!==null&&cancelAnimationFrame(q)}},[u,n,e,w,P]);let R=ot("timeline-restore-after-presentation",e,!1),N=S||R.current;C.current=N,fe(()=>{if(n)return()=>{t.current!==e?y():x(),R.current=!0}},[n,e]),fe(()=>{if(!n||!R.current)return;if(r.current!==null){R.current=!1,C.current=!1;return}let D=null,q=null,H=()=>{!o.current||t.current!==e||(a.current?.scrollToEnd(),R.current=!1,C.current=!1,h.current=d===null,g.current=d===null,v.current={...v.current,followEnabled:!0,restoreInProgress:!1},p(d===null))},F=l(e),V=F!==null&&m.current.some(_=>_.rowIds.includes(F.rowId));return F===null?D=requestAnimationFrame(H):V?(u(),f.current.revealAtLeast(Zi(m.current,F.rowId,f.current.revealedCount)),D=requestAnimationFrame(()=>{q=requestAnimationFrame(()=>{!o.current||t.current!==e||(T.current(F.rowId,-F.offsetPx),R.current=!1,C.current=!1)})})):i>0&&(D=requestAnimationFrame(H)),()=>{D!==null&&cancelAnimationFrame(D),q!==null&&cancelAnimationFrame(q)}},[l,d,p,u,n,e,i,s.sections.length]);let A=E((D,q)=>{if(!o.current)return;let H=a.current?.node;H&&(Hf(H,D),a.current?.scrollToRow(D,{viewOffset:q}))},[]);return T.current=A,{restoreInProgress:N,lastScrollAnchorSaveAtRef:L,scrollToRowWithRevealRef:T}}Y();function FP({routeThreadKey:e,listRef:t,followingEndRef:n,scrollRestorePendingRef:o,paneVisible:r,rowCount:a,derive:i,contentInsetEndAdjustment:s,saveScrollAnchor:l}){let d=ot("timeline-scroll-snapshot",e,null),u=E((m,h=n.current)=>{m.scrollLength<=0||(d.current={threadKey:e,anchor:Pk({measurement:m,followingEnd:h})})},[n,e,d]),p=E(()=>{let m=d.current;m&&l(m.threadKey,m.anchor)},[l,d]),f=E(()=>{if(!r||o.current)return;if(a===0){p();return}let m=t.current?.measure();m&&m.scrollLength>0&&(u(m,n.current&&i.resolveIsAtEnd(m,s)!==!1),p())},[u,s,i,n,r,p,o,a]);return{scrollSnapshotRef:d,cacheScrollSnapshot:u,persistScrollSnapshot:p,captureFinalScrollSnapshot:f}}var dy="ycodium-select-all-copy";Y();function Zq(e,t){let n=e.detail;n===null||typeof n!="object"||!("text"in n)||(n.text=t)}function e4(e,t){let n=o=>{Zq(o,t())};return e.addEventListener(dy,n),()=>e.removeEventListener(dy,n)}function BP({rowsStore:e}){let t=M(e);t.current=e;let n=M(null);return U(()=>{let o=n.current?.closest("[data-select-all-scope]");if(o!=null)return e4(o,()=>t.current.getMeta().exportApi.markdown())},[]),c("span",{ref:n,hidden:!0})}var t4=[],n4=()=>{},UP=ce(function({derive:t,rowsStore:n,data:o,target:r,threadKey:a,threadRef:i,environmentId:s,onInterrupt:l=null,onRespondToDecision:d=null,onCancelScheduledWake:u=null,agentPanelModel:p,onOpenAgents:f=n4,onOpenFileDiff:m,onForkFromUserMessage:h,selfUserId:g=null,onImageExpand:v,onAttachmentDocumentOpen:C,markdownCwd:y,resolvedTheme:x,timestampFormat:b,workspaceRoot:w,skills:T=t4,onRowsChange:P,contentInsetEndAdjustment:k,liveFollowEnabled:S,awaitingUserDecision:L=!1,onIsAtEndChange:R,onManualNavigation:N,onDisclosureNavigation:A=N,hideEmptyPlaceholder:D=!1,topFadeEnabled:q=!1,scrollerRef:H,loadEarlier:F=null,loadLater:V=null,pagingBlockedByInteraction:_=!1,onReturnToLatest:z=null,onVisibleTurnRangeChange:Ce=null,revealMessageRequest:B=null,onRevealMessageHandled:ae,revealQuoteRequest:X=null,onRevealQuoteDone:G,renderWorkGroup:Q,renderToolCallDetail:oe,loadScrollAnchor:de,saveScrollAnchor:J,useVisibleThreadCompletion:ie,onSavePlanToWorkspace:Te,paneActive:Me,onTurnNavigatorChange:xe,declaredToolTitles:Re}){let Ze=wn(n,Bk),Z=Bo(),re=M(Z);re.current=Z;let te=M(B);te.current=B;let[ue,ve]=gP(a),$e=M(a);$e.current=a;let et=M(_);et.current=_;let ut=ot("timeline-following-end",a,!0);ut.current=V===null&&S;let rt=ot("timeline-scroll-restore-pending",a,!1),Xt=ot("timeline-content-inset",a,k),tt=M(null),ft=Ao(a,[]),pt=Ao(a,!1),Ct=M(null),Gt=M(null),zt=E(()=>ft.current,[ft]),ln=E(yt=>{ft.current=yt,Ct.current?.(),Gt.current?.schedule()},[ft]),on=E(yt=>{pt.current=yt,Gt.current?.schedule()},[pt]),Ft=E(yt=>{yt!==null&&(tt.current=yt),H(yt)},[H]);fe(()=>{Tk({timeline:tt.current,previousOverlayHeight:Xt.current,overlayHeight:k,followingEnd:Z&&V===null&&S&&!ue}),Xt.current=k},[k,ue,S,V,Z]);let{disclosureButtonRef:Ht,releaseDisclosureAnchor:It,onProcessDisclosureChange:Kt}=hP({routeThreadKey:a,listRef:tt,liveFollowEnabled:S,onDisclosureNavigation:A,rowsStore:n,setDisclosureReading:ve}),en=Uk(V!==null,Z),Bt=h0(n),mt=Bt.sections,Et=Bt.rowIds.length,lt=K(()=>Bt.rowIds.some(yt=>n.getRow(yt)?.kind==="message"),[Bt,n]),{scrollSnapshotRef:vt,cacheScrollSnapshot:St,persistScrollSnapshot:$t,captureFinalScrollSnapshot:$}=FP({routeThreadKey:a,listRef:tt,followingEndRef:ut,scrollRestorePendingRef:rt,paneVisible:Z,rowCount:Et,derive:t,contentInsetEndAdjustment:k,saveScrollAnchor:J}),{revealWindow:le,revealWindowRef:ye,topRevealArmedRef:Ie,networkPrependAwaitingUserNavigationRef:Pe,topRevealTouchStartYRef:nt,topRevealUserNavigationFrameRef:we,networkPrependScrollTopRef:Fe,pendingNetworkPrependRef:at,hasHiddenOlder:Je,visibleTurnSections:dt,turnSectionsRef:it,prependAnchorRef:Qt,capturePrependAnchor:Vt,refreshPendingPrependAnchor:fn}=RP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,paneVisibleRef:re,listRef:tt,scrollSnapshotRef:vt,structure:Bt,loadLater:V,loadEarlier:F,liveFollowEnabled:S,disclosureReading:ue,nativeSelectionRef:pt,interactionRowsRef:ft}),{revealOlderTurns:ao,revealOlderTurnsRef:Cn,hasHiddenOlderRef:Io,loadEarlierRef:qn,handleLoadEarlier:io,handleLoadLater:be}=vP({routeThreadKey:a,routeThreadKeyRef:$e,pagingBlockedRef:et,pagingBlockedByInteraction:_,loadEarlier:F,loadLater:V,hasHiddenOlder:Je,visibleTurnSections:dt,capturePrependAnchor:Vt,revealWindowRef:ye,pendingNetworkPrependRef:at,turnSectionsRef:it}),Xe=M(!1),kt=M({followEnabled:!1,restoreInProgress:!1,loadEarlier:F}),{restoreInProgress:gt,lastScrollAnchorSaveAtRef:xn,scrollToRowWithRevealRef:bn}=OP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,paneVisibleRef:re,revealRequestRef:te,listRef:tt,rowCount:Et,structure:Bt,loadScrollAnchor:de,loadLater:V,onManualNavigation:N,onIsAtEndChange:R,revealWindowRef:ye,turnSectionsRef:it,followingEndRef:ut,followEnabledRef:Xe,compactionStateRef:kt,scrollRestorePendingRef:rt,persistScrollSnapshot:$t,captureFinalScrollSnapshot:$}),{jumpToTurnSection:dn}=NP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,derive:t,rowsStore:n,structure:Bt,loadEarlier:F,loadEarlierRef:qn,listRef:tt,revealWindowRef:ye,turnSectionsRef:it,scrollToRowWithRevealRef:bn,onManualNavigation:N,releaseDisclosureAnchor:It,revealMessageRequest:B,onRevealMessageHandled:ae,revealQuoteRequest:X,onRevealQuoteDone:G}),{turnHeadersRef:rn,activeTurnHeaderKeyRef:so,initialTurnHeaderText:an,hasTurnHeaders:Dn,pinnedTurnHeaderRef:ka,pinnedTurnHeaderTextRef:tr,pinnedTurnHeaderExpanded:mi,setPinnedTurnHeaderExpanded:Be,pinnedTurnHeaderExpandedRef:Pa}=uP({rowsStore:n,derive:t,paneVisible:Z,routeThreadKey:a}),[La,Ra]=W(null),[gi,hi]=W(null),{followEnabled:Oo}=SP({paneVisible:Z,paneVisibleRef:re,loadLater:V,liveFollowEnabled:S,disclosureReading:ue,restoreInProgress:gt,loadEarlier:F,scrollNode:gi,revealWindow:le,turnSections:mt,followEnabledRef:Xe,compactionStateRef:kt,compactionRef:Gt,prependAnchorRef:Qt,interactionRowsRef:ft,revealWindowRef:ye,topRevealArmedRef:Ie,capturePrependAnchor:Vt}),Wn=Bt.rowIds.at(-1)??null;U(()=>{P?.(Wn)},[Wn,P,a]);let vi=ot("timeline-later-load-armed",a,!0),{maybeRevealOlderOnScroll:Kr,rearmNetworkPrependForUserNavigation:Bs,continueTopRevealAtTopForUserNavigation:On,contentGestureHandlers:$r}=bP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisibleRef:re,pagingBlockedRef:et,scrollRestorePendingRef:rt,listRef:tt,topRevealArmedRef:Ie,hasHiddenOlderRef:Io,revealOlderTurnsRef:Cn,loadEarlierRef:qn,networkPrependAwaitingUserNavigationRef:Pe,networkPrependScrollTopRef:Fe,topRevealTouchStartYRef:nt,topRevealUserNavigationFrameRef:we}),{applyActiveSection:Us,scheduleMeasurePinnedTurnHeaderOverflow:Ue}=pP({routeThreadKey:a,paneVisibleRef:re,turnHeadersRef:rn,activeTurnHeaderKeyRef:so,pinnedTurnHeaderRef:ka,pinnedTurnHeaderTextRef:tr,pinnedTurnHeaderExpandedRef:Pa,setPinnedTurnHeaderExpanded:Be}),jn=g0({root:gi,topInsetPx:_c,onActiveSectionChange:Us,active:Z}),zs=K(()=>l0(mt),[mt]),Hs=p0({root:gi,inputKey:a,visible:Z,index:zs,topInset:Dn?_c:0,bottomInset:k,interactionRows:zt,onRangeChange:Ce,onSelectionChange:on});Ct.current=Hs,U(()=>{if(!Z){$t();return}let yt=requestAnimationFrame(()=>{if(!re.current)return;let Gn=tt.current?.node;Gn&&Xe.current&&(Gn.scrollTop=Gn.scrollHeight-Gn.clientHeight),jn.refresh()});return()=>cancelAnimationFrame(yt)},[$t,jn,Z]);let ud=fP({paneVisible:Z,turnHeadersRef:rn,activeTurnHeaderKeyRef:so,pinnedTurnHeaderTextRef:tr,pinnedTurnHeaderExpanded:mi,setPinnedTurnHeaderExpanded:Be,scheduleMeasurePinnedTurnHeaderOverflow:Ue}),Ks=IP({hasHiddenOlder:Je,hasTurnHeaders:Dn,loadEarlier:F,pagingBlockedByInteraction:_,topFadeEnabled:q,revealOlderTurns:ao,handleLoadEarlier:io}),{handleScroll:Aa}=DP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,paneVisibleRef:re,listRef:tt,derive:t,contentInsetEndAdjustment:k,onIsAtEndChange:R,loadLater:V,restoreInProgress:gt,rowCount:Et,followingEndRef:ut,scrollRestorePendingRef:rt,laterLoadArmedRef:vi,pagingBlockedRef:et,lastScrollAnchorSaveAtRef:xn,networkPrependAwaitingUserNavigationRef:Pe,networkPrependScrollTopRef:Fe,cacheScrollSnapshot:St,persistScrollSnapshot:$t,refreshPendingPrependAnchor:fn,maybeRevealOlderOnScroll:Kr,rearmNetworkPrependForUserNavigation:Bs,handleLoadLater:be}),yi=_P({timestampFormat:b,routeThreadKey:a,threadRef:i,markdownCwd:y,resolvedTheme:x,workspaceRoot:w,skills:T,environmentId:s,onForkFromUserMessage:h,selfUserId:g,onImageExpand:v,onAttachmentDocumentOpen:C,onOpenFileDiff:m,onProcessDisclosureChange:Kt,agentPanelModel:p,onOpenAgents:f,onInterrupt:l,onRespondToDecision:d,scheduledWakes:Ze,onCancelScheduledWake:u,derive:t,SiteIcon:o.SiteIcon,threadReferences:o.threadReferences,renderWorkGroup:Q,renderToolCallDetail:oe,onSavePlanToWorkspace:Te,declaredToolTitles:Re}),$s=E(yt=>c(dP,{rowsStore:n,rowId:yt}),[n]);return c(wt,{value:yi,children:I(Lk,{rowsStore:n,historyWindow:en,children:[c(wk,{rowsStore:n,derive:t,paneVisible:Z,bottomInset:k,onSelect:dn,onTurnNavigatorChange:xe}),c(cP,{rowsStore:n,useVisibleThreadCompletion:ie,viewport:La,viewActive:Me&&Z,threadKey:a,settledView:V===null&&!gt,bottomInset:k}),I("div",{ref:Ra,onClickCapture:yt=>{Ht.current=yt.target instanceof Element?yt.target.closest("button"):null},onWheelCapture:It,onTouchMoveCapture:It,onPointerDownCapture:yt=>{yt.target===tt.current?.node&&(It(),On())},onKeyDownCapture:yt=>{["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"].includes(yt.key)&&It()},className:"chat-timeline relative h-full min-h-0","data-awaiting-user-decision":L?"true":"false","data-disclosure-reading":ue?"true":void 0,"data-timeline-follow-end":Oo?"true":"false","data-timeline-end-inset":k,children:[c(u0,{inputKey:a,onBeforeInputChange:$,handleRef:Ft,onAttach:hi,onInteractionRowsChange:ln,onScroll:Aa,className:j("scrollbar-gutter-both h-full min-h-0 overflow-y-auto overflow-x-hidden overscroll-y-contain px-3 sm:px-5",q&&"topbar-scroll-fade"),children:I("div",{"data-select-all-scope":"",style:{paddingBottom:k},...$r,children:[c(BP,{rowsStore:n}),Ks,dt.map(yt=>c(f0,{sectionKey:yt.key,rowKeyPrefix:a,rowIds:yt.rowIds,renderRow:$s,sectionRef:jn.observeSection(yt.key)},`${a}:${yt.key}`)),V?c(Dk,{loading:V.loading,blocked:_,onLoadLater:be,onReturnToLatest:z}):null,Fk]})}),lt?null:c(Ek,{data:o,target:r,rowsStore:n,historyWindow:en,hideEmptyPlaceholder:D||Et>0}),an!==null?c(pk,{ref:ka,textRef:tr,initialText:an,expanded:mi,onToggleExpanded:ud}):null]})]})})});function Gf(e,t){return e===t?!0:!e||!t?!1:e.identity===t.identity&&e.instanceId===t.instanceId&&e.driverKind===t.driverKind&&e.providerDisplayName===t.providerDisplayName&&e.accentColor===t.accentColor&&e.modelLabel===t.modelLabel&&e.effortLabel===t.effortLabel&&e.effortLevel===t.effortLevel}function zP(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function HP(e,t){return e.turnId===t.turnId&&e.createdAt===t.createdAt&&Gf(e.badge,t.badge)}function KP(e,t){if(e===t)return!0;if(e.kind!==t.kind||e.id!==t.id)return!1;switch(e.kind){case"turn-identity":return HP(e,t);case"turn-summary":{let n=t;return e.createdAt===n.createdAt&&e.copyText===n.copyText&&e.cardAnchor===n.cardAnchor&&e.footer===n.footer&&(e.identity===void 0?n.identity===void 0:n.identity!==void 0&&HP(e.identity,n.identity))}case"tool-group":{let n=t;return e.createdAt===n.createdAt&&e.groupId===n.groupId&&zP(e.entries,n.entries)}case"working":{let n=t;return e.createdAt===n.createdAt&&e.turnId===n.turnId&&e.compacting===n.compacting&&Gf(e.modelBadge,n.modelBadge)}case"model-switch":{let n=t;return e.createdAt===n.createdAt&&e.pending===n.pending&&Gf(e.badge,n.badge)}case"proposed-plan":return e.proposedPlan===t.proposedPlan;case"turn-plan":{let n=t;return e.createdAt===n.createdAt&&e.turnPlan.plan===n.turnPlan.plan}case"work":{let n=t;return e.isExpandedToolGroupEntry===n.isExpandedToolGroupEntry&&e.isLastExpandedToolGroupEntry===n.isLastExpandedToolGroupEntry&&zP(e.groupedEntries,n.groupedEntries)}case"message":{let n=t;return e.message===n.message&&e.presentation===n.presentation&&e.textTone===n.textTone&&e.durationStart===n.durationStart&&e.showAssistantMeta===n.showAssistantMeta&&e.showAssistantCopyButton===n.showAssistantCopyButton&&e.copyInFooter===n.copyInFooter&&e.assistantCopyStreaming===n.assistantCopyStreaming&&Gf(e.modelBadge,n.modelBadge)}}}function o4(e,t){let n=t.historyWindow,{status:o}=t,r={activities:t.activities,timelineEntries:t.timelineEntries,latestTurn:n?null:o.latestTurn,runningTurnId:n?null:o.runningTurnId,expandedTurnIds:t.expandedTurnIds,isWorking:!n&&o.isWorking,activeTurnStartedAt:n?null:o.activeTurnStartedAt,resolveModelBadge:t.resolveModelBadge,pendingModelSelection:n?null:o.pendingModelSelection},a=e.deriveGroups(r),i=o.latestTurn;if(n&&i&&i.completedAt!==null){let s=i.turnId;if(a.rows.some(d=>d.kind==="message"?d.message.role==="assistant"&&d.message.turnId===s:d.kind==="work"?d.groupedEntries.some(u=>u.turnId===s):d.kind==="tool-group"&&d.entries.some(u=>u.turnId===s)))return e.deriveGroups({...r,latestTurn:i})}return a}var r4=new Map,a4={markdown:()=>"",download(){}},i4=[],s4={latestTurn:null,latestAssistantMessageId:null,runningTurnId:null,isWorking:!1,workingStepLabel:null,stall:null,retry:null,activeTurnStartedAt:null,totalTurnCount:null,pendingModelSelection:null,scheduledWakes:i4},l4={inputs:null,structure:{rowIds:[],sections:[]},indexById:new Map,rows:[],meta:{status:s4,usageByTurnId:r4,exportApi:a4,finalAssistantMessageReceived:!1},version:0};function d4(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function c4(e,t,n,o){let r=o4(n,e),a=u4(t.structure.rowIds,r.rows),i=a?t.indexById:new Map(r.rows.map((h,g)=>[h.id,g])),s=r.rows.map((h,g)=>{let v=a?t.rows[g]:t.rows[t.indexById.get(h.id)??-1],C=v!==void 0&&KP(v,h)?v:h;return C!==v&&o.add(h.id),C});if(!a)for(let h of t.indexById.keys())i.has(h)||o.add(h);let l=PP(s,r.turnGroups,t.structure.sections),d=a?t.structure.rowIds:s.map(h=>h.id),u=a&&d4(t.structure.sections,l)?t.structure:{rowIds:d,sections:l},p=e.derive.hasSettledAssistantMessage(e.timelineEntries,e.status.latestAssistantMessageId),f=t.meta.status===e.status&&t.meta.usageByTurnId===e.usageByTurnId&&t.meta.exportApi===e.exportApi&&t.meta.finalAssistantMessageReceived===p?t.meta:{status:e.status,usageByTurnId:e.usageByTurnId,exportApi:e.exportApi,finalAssistantMessageReceived:p},m=o.size>0||u!==t.structure||f!==t.meta;return{inputs:e,structure:u,indexById:i,rows:s,meta:f,version:m?t.version+1:t.version}}function u4(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n].id)return!1;return!0}function $P(){let e=null,t=null,n=l4,o=new Set,r=0,a=new Set,i=new Map,s=()=>{if(e===null||n.inputs===e)return n;t??=e.derive.createRowsCache();let l=new Set;n=c4(e,n,t,l);for(let d of l)o.add(d);return n};return{setInputs(l){e=l},hasInputs:()=>e!==null,flush(){if(a.size===0&&i.size===0||e===null)return;let{version:l}=s();if(l===r&&o.size===0)return;r=l;let d=[...o];o.clear();for(let u of d){let p=i.get(u);if(p!==void 0)for(let f of Array.from(p))f()}for(let u of Array.from(a))u()},subscribe(l){return a.add(l),()=>{a.delete(l)}},subscribeRow(l,d){let u=i.get(l);return u===void 0&&(u=new Set,i.set(l,u)),u.add(d),()=>{u.delete(d),u.size===0&&i.get(l)===u&&i.delete(l)}},getStructure:()=>s().structure,getRow(l){let{indexById:d,rows:u}=s(),p=d.get(l);return p===void 0?void 0:u[p]},getRows:()=>s().rows,getMeta:()=>s().meta,getVersion:()=>s().version}}Y();var p4=new Set;function VP({data:e,target:t,threadKey:n,visible:o,rowsStore:r,derive:a,resolveModelBadge:i,disclosure:s,historyWindow:l}){let d=e.useChatTimeline({target:t,threadKey:n,visible:o}),u=e.useTurnStatus({target:t,threadKey:n,visible:o}),p=Bo(),f=s.usePersistedExpandedTurnIds(n),[m,h]=Pt("timeline-auto-expanded-turns",n,p4),g=K(()=>a.resolveExpandedTurnIds(f??[],m),[m,a,f]),{latestTurn:v}=u,C=ot("timeline-latest-turn-previous",n,v);U(()=>{let x=C.current;if(C.current=v,!(!v||x?.turnId===void 0)){if(v.turnId===x.turnId){x.state==="running"&&v.state==="interrupted"&&h(b=>{let w=new Set(b);return w.add(v.turnId),w});return}h(b=>{if(!b.has(x.turnId))return b;let w=new Set(b);return w.delete(x.turnId),w})}},[v]);let y=K(()=>({derive:a,timelineEntries:d.timelineEntries,activities:d.activities,status:u,expandedTurnIds:g,resolveModelBadge:i,historyWindow:l,usageByTurnId:d.usageByTurnId,exportApi:d.export}),[d.activities,d.export,d.timelineEntries,d.usageByTurnId,a,g,l,i,u]);return(p||!r.hasInputs())&&r.setInputs(y),fe(()=>{r.flush()}),null}var qP=ce(function({data:t,target:n,threadKey:o,visible:r,...a}){let i=ot("timeline-rows-store",o,null,3);i.current??=$P();let s=i.current;return I(he,{children:[c(VP,{data:t,target:n,threadKey:o,visible:r,rowsStore:s,derive:a.derive,resolveModelBadge:a.resolveModelBadge,disclosure:a.disclosure,historyWindow:(a.loadLater??null)!==null}),c(UP,{...a,threadKey:o,rowsStore:s,data:t,target:n})]})});function WP({phase:e}){let{t}=se(),n=t(Kf(e));return I("div",{"aria-label":n,className:"pointer-events-none flex items-center gap-2 rounded-full border border-border/60 bg-background/90 px-3 py-1 text-xs font-medium text-foreground shadow-sm backdrop-blur","data-thread-sync-pill":"true",role:"status",children:[c(Fa,{"aria-hidden":!0,className:"size-icon-2 shrink-0 text-muted-foreground"}),c("span",{className:"truncate",children:n})]})}function jP({data:e,target:t,bottomInset:n,showScrollToEnd:o,onScrollToEnd:r}){let{t:a}=se(),i=$f(e.useThreadSyncPhase(t));return i===null&&!o?null:I("div",{className:"pointer-events-none absolute left-1/2 z-30 flex -translate-x-1/2 flex-col items-center gap-1.5 py-1.5",style:{bottom:n+4},children:[i!==null?c(WP,{phase:i}):null,o?I(ee,{onClick:r,className:"pointer-events-auto gap-1.5 rounded-full px-3 text-muted-foreground hover:text-foreground",size:"xs",variant:"glass",children:[c(tn,{}),a("timeline.scrollToEnd")]}):null]})}Y();function GP(){let e=!1;return{lock:()=>{e=!0},resume:()=>{e=!1},navigate:t=>!t||!e?!1:(e=!1,!0),isLocked:()=>e}}function QP(e){return e.requestedGeneration===e.currentGeneration&&e.mode==="following-end"&&!e.readingLocked}var f4=150,m4=16;function XP(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function YP({inputKey:e,visible:t,endInset:n,derive:o,onReturnToLatest:r,controlRef:a}){let[i,s]=Pt("timeline-live-follow-enabled",e,!0),[l,d]=Pt("timeline-show-scroll-to-end",e,!1),u=Ao(e,null),[p,f]=i0(e,null),m=E(B=>{u.current=B;let ae=B?.node??null;f(X=>X===ae?X:ae)},[u,f]),h=ot("timeline-is-at-end",e,!0),g=Ao(e,null),v=E(()=>{g.current!==null&&clearTimeout(g.current),g.current=null},[g]),C=E(()=>{v(),g.current=setTimeout(()=>{g.current=null,d(!0)},f4)},[v,d,g]);U(()=>v,[v]);let y=E(()=>{let B=u.current?.measure();return B==null?void 0:{contentLength:B.contentLength,scroll:B.scroll,scrollLength:B.scrollLength}},[u]),x=ot("timeline-scroll-mode",e,"following-end"),b=qa(t);fe(()=>()=>b.cancel(),[b,e]);let w=ot("timeline-user-scroll-generation",e,0),T=ot("timeline-live-follow-generation",e,0),P=ot("timeline-disclosure-reading-lock",e,GP),k=ot("timeline-last-row-id",e,null),S=E(()=>{b.cancel(),w.current+=1,x.current="free-scrolling",T.current=null,s(!1)},[b,T,x,s,w]),L=E(()=>{P.current.lock(),S(),h.current=!1,v(),d(!0)},[v,h,S,P,d]),R=M(S);R.current=S;let N=E(()=>{let B=u.current?.measure(),ae=k.current;if(!B||ae===null)return!1;let X=kk(B,ae);return X===null?!1:X>Math.max(0,B.scrollLength-n-m4)},[n,u,k]),A=E(B=>{P.current.resume();let ae=++w.current;h.current=!0,x.current="following-end",T.current=w.current,s(!0),v(),d(!1),b.request(()=>{QP({requestedGeneration:ae,currentGeneration:w.current,mode:x.current,readingLocked:P.current.isLocked()})&&u.current?.scrollToEnd({animated:B})})},[v,b,u,h,T,P,x,s,d,w]),D=M(r);D.current=r;let q=E((B=!1)=>{let ae=D.current;if(ae){ae(()=>A(B));return}A(B)},[A]),H=E(()=>q(!0),[q]),F=E(()=>{P.current.navigate(!0)&&(h.current=!1,o.resolveIsAtEnd(y(),n)===!0&&q())},[o,n,h,y,P,q]);U(()=>{if(!t||p===null)return;let B=null,ae=requestAnimationFrame(()=>{let X=()=>{R.current()},G=ue=>{let ve=ue instanceof Element?ue:null;for(;ve&&ve!==p;){if(ve instanceof HTMLElement&&ve.scrollHeight>ve.clientHeight+1&&ve.scrollTop+ve.clientHeight<ve.scrollHeight-1&&/auto|scroll/u.test(getComputedStyle(ve).overflowY))return!1;ve=ve.parentElement}return ve===p},Q=ue=>{P.current.isLocked()&&G(ue)&&F()},oe=null,de=!1,J=p.scrollTop,ie=ue=>{oe=ue.touches[0]?.clientY??null},Te=()=>{oe=null,de=!1},Me=()=>{let ue=p.scrollTop;de&&ue>J&&Q(p),J=ue},xe=()=>N(),Re=()=>o.resolveIsAtEnd(y(),n)===!1,Ze=ue=>{ue.deltaY>0&&Q(ue.target),ue.deltaY<0&&xe()&&X()},Z=ue=>{let ve=ue.touches[0]?.clientY??null,$e=oe!==null&&ve!==null&&ve<oe;oe=ve,Re()&&X(),$e&&Q(ue.target)},re=ue=>{if(ue.target===p){de=!0,J=p.scrollTop,xe()&&X();return}Re()&&X()},te=ue=>{if(!(ue.target instanceof Element?ue.target:null)?.closest("input, textarea, select, [contenteditable='true'], button, [role='button']"))switch(ue.key){case"PageUp":case"Home":case"ArrowUp":xe()&&X();break;case"PageDown":case"End":case"ArrowDown":Q(ue.target);break;case" ":ue.shiftKey||Q(ue.target);break;default:break}};p.addEventListener("wheel",Ze,{passive:!0}),p.addEventListener("touchmove",Z,{passive:!0}),p.addEventListener("touchstart",ie,{passive:!0}),p.addEventListener("touchend",Te,{passive:!0}),p.addEventListener("touchcancel",Te,{passive:!0}),p.addEventListener("scroll",Me,{passive:!0}),window.addEventListener("pointerup",Te,{passive:!0}),window.addEventListener("pointercancel",Te,{passive:!0}),p.addEventListener("pointerdown",re,{passive:!0}),p.addEventListener("keydown",te),B=()=>{p.removeEventListener("wheel",Ze),p.removeEventListener("touchmove",Z),p.removeEventListener("touchstart",ie),p.removeEventListener("touchend",Te),p.removeEventListener("touchcancel",Te),p.removeEventListener("scroll",Me),window.removeEventListener("pointerup",Te),window.removeEventListener("pointercancel",Te),p.removeEventListener("pointerdown",re),p.removeEventListener("keydown",te)}});return()=>{cancelAnimationFrame(ae),B?.()}},[N,o,n,e,y,P,F,p,t]);let V=E(B=>{k.current=B},[k]),_=E(B=>{if(P.current.isLocked()){h.current=!1,v(),d(!0);return}if(!B&&T.current===w.current){v(),d(!1);return}h.current!==B&&(h.current=B,B?(x.current="following-end",T.current=w.current,s(!0),v(),d(!1)):(x.current="free-scrolling",T.current=null,C()))},[v,h,T,P,C,x,s,d,w]),z=M(q);z.current=q;let Ce=K(()=>({followEnd:B=>z.current(B?.animated??!1)}),[]);return fe(()=>(XP(a,Ce),()=>XP(a,null)),[Ce,a]),{liveFollowEnabled:i,showScrollToEnd:l,bindTimelineHandle:m,onRowsChange:V,onIsAtEndChange:_,onManualNavigation:S,onDisclosureNavigation:L,returnToEnd:H}}Y();Y();var cy="max-h-80 overflow-auto rounded-md bg-muted/40 p-3 font-mono text-xs break-words whitespace-pre-wrap";function JP({useToolCallDetail:e,threadRef:t,toolCallId:n,turnId:o,fallback:r,revision:a}){let i=e===void 0?null:e({threadRef:t,toolCallId:n,turnId:o??null,revision:a??r??"initial"}),s=i===null?[]:[i.input,i.output].filter(d=>d!==void 0&&d.length>0),l=i?.input!==void 0&&i?.output!==void 0?s.join(`
4138
+ `).length,L=t.length>900||S>20,R=ty(t),N=L?Zk(t,d,{maxLines:10}):null,A=eP(t),D=tP(t),q=()=>{nP(A,D)},H=()=>{w(D)},F=()=>{if(!s){u.error(d("proposedPlan.workspacePathUnavailable"),d("proposedPlan.workspacePathUnavailableDescription"));return}g.length===0&&v(A.slice(0,jf)),h(!0)},V=()=>{if(b.current)return;let _=g.trim();if(!(!s||l===null)){if(!_){u.warning(d("proposedPlan.enterWorkspacePath"));return}if(_.length>jf){u.warning(d("proposedPlan.pathTooLong"));return}b.current=!0,y(!0),(async()=>{try{let z=await l({environmentId:r,workspaceRoot:s,relativePath:_,contents:D});if(!x.current)return;z.ok?(h(!1),u.success(d("proposedPlan.savedToWorkspace"),z.relativePath)):u.error(d("proposedPlan.couldNotSave"),void 0,{description:d("proposedPlan.saveErrorDescription")})}catch(z){x.current&&u.error(d("proposedPlan.couldNotSave"),z,{description:d("proposedPlan.saveErrorDescription")})}finally{b.current=!1,x.current&&y(!1)}})()}};return I("div",{className:"rounded-[24px] border border-border/80 bg-card/70 p-4 sm:p-5",children:[I("div",{className:"flex flex-wrap items-center justify-between gap-3",children:[I("div",{className:"flex min-w-0 items-center gap-2",children:[c(Lr,{variant:"secondary",children:d("proposedPlan.badge")}),c("p",{className:"truncate text-sm font-medium text-foreground",children:k})]}),I(po,{children:[c(mo,{render:c(ee,{"aria-label":d("proposedPlan.actions"),size:"icon-xs",variant:"outline"}),children:c(Uo,{"aria-hidden":"true",className:"size-4"})}),I(fo,{align:"end",children:[c(zo,{onClick:H,children:d(T?"proposedPlan.copied":"proposedPlan.copyToClipboard")}),c(zo,{onClick:q,children:d("proposedPlan.downloadAsMarkdown")}),l!==null?c(zo,{onClick:F,disabled:!s||C,children:d("proposedPlan.saveToWorkspace")}):null]})]})]}),I("div",{className:"mt-4",children:[I("div",{className:j("relative",L&&!p&&"max-h-104 overflow-hidden"),children:[L&&!p?c(Xn,{disclosureKey:`proposed-plan:${o}:plan`,text:N??"",cwd:i,threadRef:a,isStreaming:!1}):c(Xn,{disclosureKey:`proposed-plan:${o}:plan`,text:R,cwd:i,threadRef:a,isStreaming:!1}),L&&!p?c("div",{className:"pointer-events-none absolute inset-x-0 bottom-0 h-24 bg-linear-to-t from-card/95 via-card/80 to-transparent"}):null]}),L?c("div",{className:"mt-4 flex justify-center",children:c(ee,{size:"sm",variant:"outline","data-scroll-anchor-ignore":!0,onClick:()=>f(!p),children:d(p?"proposedPlan.collapse":"proposedPlan.expand")})}):null]}),c(bp,{open:m,onOpenChange:_=>{C||h(_)},children:I(Tp,{className:"max-w-xl",children:[I(wp,{children:[c(kp,{children:d("proposedPlan.saveToWorkspace")}),c(Sp,{children:Fc(d("proposedPlan.pathHint"),c("code",{children:s??d("proposedPlan.theWorkspace")}),"path")})]}),c(cI,{className:"space-y-3",children:I("label",{htmlFor:P,className:"grid gap-1.5",children:[c("span",{className:"text-xs font-medium text-foreground",children:d("proposedPlan.workspacePath")}),c(Rr,{id:P,value:g,maxLength:jf,onChange:_=>v(_.target.value.slice(0,jf)),placeholder:A,spellCheck:!1,disabled:C})]})}),I(Ip,{children:[c(ee,{variant:"outline",size:"sm",onClick:()=>h(!1),disabled:C,children:d("proposedPlan.cancel")}),c(ee,{size:"sm",onClick:()=>{V()},disabled:C,children:d(C?"proposedPlan.saving":"proposedPlan.save")})]})]})})]})});Y();var hl=class extends Vr{state={failed:!1,error:null};static getDerivedStateFromError(t){return{failed:!0,error:t instanceof Error?t:new Error(String(t))}}componentDidUpdate(t){this.state.failed&&t.resetKey!==this.props.resetKey&&this.setState({failed:!1,error:null})}render(){if(!this.state.failed)return this.props.children;let{fallback:t}=this.props;return typeof t=="function"?t(this.state.error):t}};function Aq({error:e,className:t}){let{t:n}=We();return I(ze,{children:[I(Ke,{render:c("div",{className:j("flex min-h-6 min-w-0 items-center gap-1.5 px-0.5 py-0.5 text-destructive-foreground",t)}),children:[c(nn,{"aria-hidden":!0,className:"size-4 shrink-0"}),c("span",{className:"min-w-0 flex-1 truncate",children:n("timeline.entryUnavailable")})]}),c(He,{className:"max-w-xs whitespace-pre-wrap font-mono text-[11px]",children:e.message})]})}function rP(e){return c(Aq,{error:e})}Y();var ny=ct(void 0);function aP(){return Ye(ny)}function iP(e){let t=e.threadRef;if(typeof t=="object"&&t!==null&&"threadId"in t){let o=t.threadId;if(typeof o=="string"&&o.length>0)return o}let n=`${e.environmentId}:`;return e.threadKey.startsWith(n)&&e.threadKey.length>n.length?e.threadKey.slice(n.length):e.threadKey}Y();function sP({row:e}){let{workingStepLabel:t,stall:n,retry:o}=Ye(xf),{t:r}=We();return I("div",{className:"border-b border-border/60 pb-2 pt-1",children:[c("div",{className:"flex min-w-0 flex-wrap items-center gap-x-1.5 px-1 text-chat text-muted-foreground tabular-nums","data-testid":"working-row",children:I("span",{className:"min-w-0",children:[e.compacting?r("activity.compacting"):e.createdAt?Fc(r("activity.workingForLive"),c(Dq,{createdAt:e.createdAt})):r("activity.workingNoTimer"),t&&!e.compacting?I("span",{className:"ml-2 text-muted-foreground/55",children:["\xB7 ",t]}):null]})}),o?c(Eq,{retry:o}):n&&!e.compacting?c(Nq,{stall:n}):null]})}function Eq({retry:e}){let{t}=We(),n=Ye(wt);return I(rc,{variant:"warning",className:"mt-2 px-2 py-1.5 text-chat-row",children:[c(Lp,{children:n.derive.providerRetryMessage(e,(o,r)=>t(o,r))}),n.onInterrupt?c(ac,{children:c(ee,{onClick:n.onInterrupt,size:"sm",variant:"ghost",title:t("stall.interruptHint"),children:t("stall.interrupt")})}):null]})}var Mq={childThread:"stall.reasonChildThread",tool:"stall.reasonTool",approval:"stall.reasonApproval",userInput:"stall.reasonUserInput",model:"stall.reasonModel"};function Nq({stall:e}){let{t}=We(),{onInterrupt:n}=Ye(wt),o=t(Mq[e.reason]);return I("div",{className:"mt-1 flex items-center gap-2 px-1 text-chat-row text-muted-foreground/70",children:[c("span",{className:"tabular-nums",children:Fc(t("stall.noOutputForLive"),c(_q,{since:e.since}))}),c("span",{"aria-hidden":!0,children:"\xB7"}),c("span",{children:o}),n?c(ee,{className:"h-5 px-1.5 text-chat-row",onClick:n,size:"sm",title:t("stall.interruptHint"),variant:"ghost",children:t("stall.interrupt")}):null]})}function lP(e,t){let n=Bo();U(()=>{let o=()=>{t.current&&(t.current.textContent=oy(e))};if(o(),!n)return;let r=setInterval(o,1e3);return document.addEventListener("visibilitychange",o),()=>{clearInterval(r),document.removeEventListener("visibilitychange",o)}},[n,e,t])}function _q({since:e}){let t=M(null);return lP(e,t),c("span",{className:"timeline-timer tabular-nums",ref:t,children:oy(e)})}function Dq({createdAt:e}){let t=M(null);return lP(e,t),c("span",{ref:t,className:"timeline-timer tabular-nums",children:oy(e)})}function Oq(e,t){let n=Date.parse(e),o=Date.parse(t);if(!Number.isFinite(n)||!Number.isFinite(o))return null;let r=Math.max(0,Math.floor((o-n)/1e3));return r<60?`${r}s`:dr(r*1e3)}function oy(e){return Oq(e,new Date().toISOString())??"0s"}var dP=ce(function({rowsStore:t,rowId:n}){let o=v0(t,n),r=aP(),a=Ye(wt),{t:i}=We();if(o===void 0)return null;let s=iP({threadKey:a.threadKey,environmentId:a.activeThreadEnvironmentId,threadRef:a.threadRef});return c(Qs,{value:o.id,children:c("div",{className:j("relative",o.kind==="message"&&o.message.role==="user"?"pb-6":o.kind==="message"&&o.message.role==="assistant"?o.copyInFooter?"pb-1 group/assistant":"pb-4 group/assistant":o.kind==="turn-summary"?"pb-2 empty:pb-0":"pb-2"),"data-timeline-row-id":o.id,"data-timeline-row-kind":o.kind,"data-message-id":o.kind==="message"?o.message.id:void 0,"data-message-role":o.kind==="message"?o.message.role:void 0,children:I(hl,{resetKey:o.id,fallback:rP,children:[o.kind==="turn-summary"?I(he,{children:[r?.renderDeliverableTools?.({turnId:o.footer.turnId,environmentId:a.activeThreadEnvironmentId,threadId:s}),o.cardAnchor===!0?null:c(Hk,{footer:o.footer,copyText:o.copyText,timestampFormat:a.timestampFormat,identity:o.identity}),r?.renderSlot("conversation.chat.turnTail",{turnId:o.footer.turnId,environmentId:a.activeThreadEnvironmentId,threadId:s})]}):null,o.kind==="tool-group"?c(Yk,{entries:o.entries,groupId:o.groupId,threadKey:a.threadKey,workspaceRoot:a.workspaceRoot,onDisclosureChange:()=>a.onProcessDisclosureChange?.(o.id)}):null,o.kind==="work"?c(Fq,{row:o}):null,o.kind==="model-switch"?c(mk,{row:o}):null,o.kind==="turn-identity"?c("div",{"data-turn-identity":o.turnId,className:"sr-only",children:i("timeline.answeredBy",{name:o.badge.providerDisplayName??o.badge.modelLabel})}):null,o.kind==="message"&&o.message.role==="user"?c(Qv,{row:o}):null,o.kind==="message"&&o.message.role==="assistant"?c(fk,{row:o}):null,o.kind==="proposed-plan"?c(Uq,{row:o}):null,o.kind==="turn-plan"?c(zq,{row:o}):null,o.kind==="working"?c(sP,{row:o}):null]})})})});function Fq({row:e}){let t=Ye(wt),n=Bo(),o=t.renderWorkGroup?.({row:e,threadRef:t.threadRef,visible:n});return o!==void 0?c(he,{children:o}):c("div",{className:"min-w-0 space-y-px py-0.5",children:e.groupedEntries.map(r=>c(Bq,{entry:r},r.id))})}function Bq({entry:e}){let t=Ye(wt),[n,o]=go(t.threadKey,`work-fallback:${Vf(e)}`,!1),r=e.detail??e.command??e.rawCommand??e.toolLabel?.detail;return I("div",{children:[I("button",{type:"button","aria-expanded":n,className:j("chat-process-row flex w-full min-w-0 items-center gap-1.5 px-2 text-left",e.tone==="error"?"text-destructive-foreground":"text-muted-foreground"),onClick:()=>o(!n),disabled:r===void 0,children:[c("span",{"aria-hidden":!0,className:j("block size-2 shrink-0 rounded-full",e.tone==="error"?"bg-destructive":e.tone==="thinking"||e.tone==="info"?"bg-muted-foreground/60":"border border-muted-foreground/60")}),c("span",{className:"chat-process-text min-w-0 flex-1 truncate",children:e.label}),r!==void 0?c(tn,{"aria-hidden":!0,className:j("size-icon-1 shrink-0",!n&&"-rotate-90")}):null]}),n&&r!==void 0?c("pre",{className:"chat-tool-body mx-2 overflow-x-auto rounded-md bg-muted/40 p-2",children:r}):null]})}function Uq({row:e}){let t=Ye(wt);return c("div",{className:"min-w-0 px-1 py-0.5",children:c(oP,{threadKey:t.threadKey,rowId:e.id,planMarkdown:e.proposedPlan.planMarkdown,environmentId:t.activeThreadEnvironmentId,threadRef:t.threadRef??void 0,cwd:t.markdownCwd,workspaceRoot:t.workspaceRoot,onSavePlanToWorkspace:t.onSavePlanToWorkspace})})}var zq=ce(function({row:t}){let n=Ye(wt),{t:o}=We(),[r,a]=go(n.threadKey,`turn-plan:${t.id}`,!1),{steps:i}=t.turnPlan.plan,s=i.filter(p=>p.status==="completed").length,l=s===i.length,d=i.find(p=>p.status==="inProgress")?.step??i.find(p=>p.status==="pending")?.step??i.at(-1)?.step??o("proposedPlan.badge");return I("div",{className:"min-w-0 px-1 py-0.5",children:[I("button",{type:"button",className:"relative flex w-full min-w-0 cursor-pointer items-center gap-2 rounded-md px-0.5 py-0.5 text-left text-[12px] leading-5 transition-colors duration-(--control-duration) hover:bg-accent/20 pointer-coarse:after:absolute pointer-coarse:after:inset-0 pointer-coarse:after:min-h-11","aria-expanded":r,onClick:()=>a(!r),children:[c(r?tn:co,{className:"size-icon-1 shrink-0 text-muted-foreground/65"}),i.length>1?c("span",{"aria-hidden":!0,className:"flex shrink-0 items-center gap-0.5",children:i.map(p=>c("span",{className:j("h-[3px] w-2.5 rounded-full",p.status==="completed"?"bg-success":p.status==="inProgress"?"bg-primary":"bg-muted-foreground/25")},p.step))}):null,c("span",{className:j("min-w-0 truncate",l?"text-muted-foreground/65":"font-medium text-foreground/85"),children:d}),i.length>1?I("span",{className:"shrink-0 text-muted-foreground/50 tabular-nums",children:[s,"/",i.length]}):null]}),r?c("div",{className:"mt-0.5 space-y-px pl-6",children:i.map(p=>I("div",{className:"flex items-baseline gap-2 text-[12px] leading-5",children:[c("span",{className:j("w-3 shrink-0 text-center font-mono text-chat-meta",p.status==="completed"?"text-success":p.status==="inProgress"?"text-primary":"text-muted-foreground/40"),"aria-hidden":!0,children:p.status==="completed"?"\u2713":p.status==="inProgress"?"\u25CF":"\u25CB"}),c("span",{className:j("min-w-0",p.status==="completed"?"text-muted-foreground/55":p.status==="inProgress"?"text-foreground/90":"text-muted-foreground/70"),children:p.step})]},p.step))}):null]})});Y();var Hq=e=>{let t=e.getMeta().status.latestTurn;return t?.state==="completed"?t.completedAt:null},Kq=e=>e.getMeta().status.latestAssistantMessageId??null,$q=e=>e.getMeta().finalAssistantMessageReceived,cP=ce(function({rowsStore:t,useVisibleThreadCompletion:n,viewport:o,viewActive:r,threadKey:a,settledView:i,bottomInset:s}){let l=wn(t,Hq),d=wn(t,Kq),u=wn(t,$q);return n({viewport:o,viewActive:r,threadKey:a,completedAt:i&&u?l:null,messageId:d,bottomInset:s}),null});Y();var Vq=[];function uP({rowsStore:e,derive:t,paneVisible:n,routeThreadKey:o}){let r=E(g=>n?xk(g,t):Vq,[t,n]),a=wn(e,r,bk),i=M(a);i.current=a;let s=ot("timeline-active-header",o,null),l=a.at(-1)?.text??null,d=l!==null,u=M(null),p=M(null),[f,m]=Pt("timeline-pinned-header-expanded",o,!1),h=M(f);return h.current=f,{turnHeadersRef:i,activeTurnHeaderKeyRef:s,initialTurnHeaderText:l,hasTurnHeaders:d,pinnedTurnHeaderRef:u,pinnedTurnHeaderTextRef:p,pinnedTurnHeaderExpanded:f,setPinnedTurnHeaderExpanded:m,pinnedTurnHeaderExpandedRef:h}}function pP({routeThreadKey:e,paneVisibleRef:t,turnHeadersRef:n,activeTurnHeaderKeyRef:o,pinnedTurnHeaderRef:r,pinnedTurnHeaderTextRef:a,pinnedTurnHeaderExpandedRef:i,setPinnedTurnHeaderExpanded:s}){let l=E(()=>{if(!t.current)return;let f=r.current,m=a.current;!f||!m||(f.dataset.truncated=i.current||m.scrollWidth>m.clientWidth+1?"true":"false")},[]),d=M(null),u=E(()=>{t.current&&d.current===null&&(d.current=requestAnimationFrame(()=>{d.current=null,l()}))},[l]);return U(()=>()=>{d.current!==null&&(cancelAnimationFrame(d.current),d.current=null)},[e]),{applyActiveSection:E(f=>{if(f===null||f===o.current)return;o.current=f;let m=n.current.find(h=>h.sectionKey===f);m&&a.current&&(a.current.textContent=m.text),i.current&&s(!1),u()},[o,u,s]),scheduleMeasurePinnedTurnHeaderOverflow:u}}function fP({paneVisible:e,turnHeadersRef:t,activeTurnHeaderKeyRef:n,pinnedTurnHeaderTextRef:o,pinnedTurnHeaderExpanded:r,setPinnedTurnHeaderExpanded:a,scheduleMeasurePinnedTurnHeaderOverflow:i}){let s=E(()=>{a(l=>!l)},[a]);return fe(()=>{if(!e)return;let l=n.current,d=l===null?void 0:t.current.find(u=>u.sectionKey===l);d&&o.current&&(o.current.textContent=d.text),i()},[e,i,r]),s}Y();function qq(e,t,n){let o=n-t;if(Math.abs(o)<1)return null;let r=Math.max(0,Math.min(e.scrollHeight-e.clientHeight,e.scrollTop+o));return Math.abs(r-e.scrollTop)<1?null:r}function mP(e){let{viewport:t,anchor:n,row:o,scrollToOffset:r}=e,a=n.getBoundingClientRect().top,i=!0,s=null,l=()=>{if(s=null,!i||!n.isConnected||!t.contains(n))return;let p=qq(t,a,n.getBoundingClientRect().top);p!==null&&r(p),a=n.getBoundingClientRect().top},d=()=>{i&&s===null&&(s=requestAnimationFrame(l))},u=typeof ResizeObserver>"u"?null:new ResizeObserver(d);return u?.observe(o),d(),{schedule:d,stop:()=>{i=!1,u?.disconnect(),s!==null&&cancelAnimationFrame(s),s=null}}}function gP(e){return Pt("timeline-disclosure-reading",e,!1)}function hP({routeThreadKey:e,listRef:t,liveFollowEnabled:n,onDisclosureNavigation:o,rowsStore:r,setDisclosureReading:a}){let i=Ao(e,null),s=Ao(e,null),l=Ao(e,null);U(()=>()=>{s.current?.stop()},[]);let d=E(()=>{s.current?.stop(),s.current=null,i.current=null,a(!1)},[i,s,a]),u=E(m=>{o(),i.current=m,a(!0),s.current?.stop();let h=t.current?.node??null;if(!h)return;let g=Array.from(h.querySelectorAll("[data-timeline-row-id]")).find(C=>C.dataset.timelineRowId===m);if(!g)return;let v=l.current;s.current=mP({viewport:h,row:g,anchor:v&&g.contains(v)?v:g,scrollToOffset:C=>{h.scrollTop=C}})},[o]),p=ot("timeline-live-follow-previous",e,n);fe(()=>{n&&!p.current&&d(),p.current=n},[n,d]);let f=E(m=>{let h=r.getRows().find(g=>g.id===m||g.kind==="work"&&g.groupedEntries.some(v=>v.id===m)||g.kind==="tool-group"&&g.entries.some(v=>v.id===m));u(h?.id??m)},[r,u]);return{disclosureButtonRef:l,releaseDisclosureAnchor:d,onProcessDisclosureChange:f}}Y();var ry=1e4;function vP({routeThreadKey:e,routeThreadKeyRef:t,pagingBlockedRef:n,pagingBlockedByInteraction:o,loadEarlier:r,loadLater:a,hasHiddenOlder:i,visibleTurnSections:s,capturePrependAnchor:l,revealWindowRef:d,pendingNetworkPrependRef:u,turnSectionsRef:p}){let f=E(()=>{l(),d.current.revealOlder()},[l]),m=M(f);m.current=f;let h=M(i);h.current=i;let g=M(null),v=E(()=>{if(n.current||t.current!==e||r===null||r.loading)return;let y=s[0]?.key;y!==void 0&&(l(y),u.current={firstMountedSectionKey:y,loadingObserved:!1,sectionsWhileLoading:p.current,until:Date.now()+ry},r.onLoadEarlier())},[l,r,u,e,s]);g.current=r===null||r.loading||o?null:v;let C=E(()=>{n.current||t.current!==e||(l(),a?.onLoadLater())},[l,a,e]);return{revealOlderTurns:f,revealOlderTurnsRef:m,hasHiddenOlderRef:h,loadEarlierRef:g,handleLoadEarlier:v,handleLoadLater:C}}Y();Y();var Ji=3,ay=Ji;function yP(e){let[t,n]=Pt("timeline-reveal-window",e,Ji),o=E(()=>{n(s=>s+ay)},[n]),r=E(s=>{n(l=>s>l?s:l)},[n]),a=E(()=>{n(Ji)},[n]),i=E(s=>{n(l=>Math.min(l,Math.max(Ji,s)))},[n]);return{revealedCount:t,revealOlder:o,revealAtLeast:r,compactTo:i,reset:a}}Y();function Wq(e){return e!==null&&"tagName"in e&&"closest"in e}function Qa(e){return Wq(e)?e.tagName==="INPUT"||e.tagName==="TEXTAREA"?!0:e.closest('[contenteditable]:not([contenteditable="false"])')!==null:!1}function iy(e,t){if(!/^[1-9]$/.test(e))return null;let n=Number(e)-1;return n<t?n:null}function CP(e,t){let n=e.findIndex(o=>o.decision===t);return n===-1?null:{type:"respond",index:n}}function xP(e,t){if(e.metaKey||e.ctrlKey||e.altKey||e.shiftKey)return null;switch(e.key){case"Enter":return CP(t,"accept");case"Escape":return CP(t,"cancel");case"ArrowDown":case"ArrowRight":return{type:"move",delta:1};case"ArrowUp":case"ArrowLeft":return{type:"move",delta:-1};default:{let n=iy(e.key,t.length);return n===null?null:{type:"respond",index:n}}}}var Bc=600;function sy(e,t){if(typeof Element>"u"||!(e instanceof Element))return!1;if(t===null||!t.contains(e))return!0;for(let n=e;n&&n!==t;){if(n instanceof HTMLElement&&n.scrollHeight>n.clientHeight&&n.scrollTop>0)return!0;n=n.parentElement}return!1}function bP({routeThreadKey:e,routeThreadKeyRef:t,paneVisibleRef:n,pagingBlockedRef:o,scrollRestorePendingRef:r,listRef:a,topRevealArmedRef:i,hasHiddenOlderRef:s,revealOlderTurnsRef:l,loadEarlierRef:d,networkPrependAwaitingUserNavigationRef:u,networkPrependScrollTopRef:p,topRevealTouchStartYRef:f,topRevealUserNavigationFrameRef:m}){let h=E(y=>{if(y>Bc){i.current=!0;return}if(i.current){if(i.current=!1,s.current){l.current();return}d.current?.()}},[i]),g=E(()=>{u.current&&(u.current=!1,p.current=null,i.current=!0)},[u,p,i]),v=E(()=>{if(m.current!==null||o.current||!n.current||t.current!==e||r.current)return!1;let y=a.current?.measure();return!y||y.scroll>2||y.contentLength-y.scrollLength-y.scroll<=2||!s.current&&d.current===null?!1:(u.current=!1,p.current=null,i.current=!0,m.current=requestAnimationFrame(()=>{m.current=null}),h(y.scroll),!0)},[h,u,p,e,r,i,m]);return{maybeRevealOlderOnScroll:h,rearmNetworkPrependForUserNavigation:g,continueTopRevealAtTopForUserNavigation:v,contentGestureHandlers:{onWheel:y=>{y.defaultPrevented||y.deltaY>=0||Qa(y.target)||sy(y.target,a.current?.node??null)||v()},onTouchStartCapture:y=>{f.current=y.touches[0]?.clientY??null},onTouchMove:y=>{let x=y.touches[0],b=f.current;y.defaultPrevented||Qa(y.target)||sy(y.target,a.current?.node??null)||x===void 0||b===null||x.clientY<=b||v()&&(f.current=null)},onTouchEndCapture:()=>{f.current=null},onTouchCancelCapture:()=>{f.current=null},onKeyDown:y=>{y.defaultPrevented||y.repeat||y.metaKey||y.ctrlKey||y.altKey||y.shiftKey||Qa(y.target)||sy(y.target,a.current?.node??null)||!["ArrowUp","PageUp","Home"].includes(y.key)||v()}}}}function SP({paneVisible:e,paneVisibleRef:t,loadLater:n,liveFollowEnabled:o,disclosureReading:r,restoreInProgress:a,loadEarlier:i,scrollNode:s,revealWindow:l,turnSections:d,followEnabledRef:u,compactionStateRef:p,compactionRef:f,prependAnchorRef:m,interactionRowsRef:h,revealWindowRef:g,topRevealArmedRef:v,capturePrependAnchor:C}){let y=e&&n===null&&o&&!r&&!a;return u.current=y,p.current={followEnabled:y,restoreInProgress:a,loadEarlier:i},U(()=>{if(!s||!e)return;let x=m0({root:s,minimumCount:Ji,keepAbovePx:Bc,canCompact:()=>{let b=p.current,w=m.current;return b.followEnabled&&h.current.length===0&&!b.restoreInProgress&&!b.loadEarlier?.loading&&!(w&&w.until>Date.now())&&g.current.revealedCount>Ji},onCompact:b=>{v.current=!0,C(),g.current.compactTo(b)}});return f.current=x,()=>{x.disconnect(),f.current=null}},[C,e,s]),U(()=>{f.current?.schedule()},[y,i?.loading,l.revealedCount,d.length]),U(()=>{if(!s||!e||typeof ResizeObserver>"u")return;let x=()=>{if(!t.current||!u.current)return;let T=s.scrollHeight-s.clientHeight;Math.abs(s.scrollTop-T)>.5&&(s.scrollTop=T)},b=new ResizeObserver(x);b.observe(s);let w=s.firstElementChild;return w&&b.observe(w),()=>b.disconnect()},[e,s]),{followEnabled:y}}Y();function IP({hasHiddenOlder:e,hasTurnHeaders:t,loadEarlier:n,pagingBlockedByInteraction:o,topFadeEnabled:r,revealOlderTurns:a,handleLoadEarlier:i}){return K(()=>{let s=e?c(Ok,{onReveal:a,fade:r}):n!==null?c(_k,{loading:n.loading,blocked:o,onLoadEarlier:i,fade:r}):r?Nk:Mk;return t?I(he,{children:[c("div",{style:{height:_c}}),s]}):s},[i,e,t,n,o,a,r])}Y();Y();function wP(e,t,n){let o=ot("timeline-last-requested-reveal",e,n);return fe(()=>{o.current=n}),t&&n>=o.current}function TP(e,t,n,o){if(t<e.revealedCount)e.compactTo(t);else{if(t<=e.revealedCount)return;n?requestAnimationFrame(()=>setTimeout(()=>{o()&&e.revealAtLeast(t)},0)):e.revealAtLeast(t)}}function kP(e,t){return t.prefixMounted?"mounted":t.loading===null||t.now>e.until?"abandoned":t.loading?(e.loadingObserved=!0,e.sectionsWhileLoading=t.sections,"waiting"):e.loadingObserved?t.sections===e.sectionsWhileLoading?"waiting":"landed":"waiting"}function jq(e,t,n){for(let o=t;o<n;o+=1){let r=e[o];switch(r.kind){case"turn-identity":return r.turnId;case"working":return r.turnId??null;case"message":if(r.message.role==="assistant")return r.message.turnId;break;case"tool-group":if(r.entries[0]?.turnId!==void 0)return r.entries[0].turnId??null;break;case"work":if(r.groupedEntries[0]?.turnId!==void 0)return r.groupedEntries[0].turnId??null;break;case"turn-plan":return r.turnPlan.turnId;case"proposed-plan":return r.proposedPlan.turnId;case"turn-summary":return r.footer.turnId}}return null}function PP(e,t,n=[]){let o=new Map(n.map(a=>[a.key,a])),r=[];for(let a of t){if(a.end<=a.start)continue;let i=jq(e,a.start,a.end),s=o.get(a.key);if(s!==void 0&&s.turnId===i&&Gq(s,e,a.start,a.end)){r.push(s);continue}r.push({key:a.key,turnId:i,firstRowIndex:a.start,rowIds:e.slice(a.start,a.end).map(l=>l.id)})}return r}function Gq(e,t,n,o){if(e.firstRowIndex!==n||e.rowIds.length!==o-n)return!1;for(let r=0;r<e.rowIds.length;r+=1)if(e.rowIds[r]!==t[n+r].id)return!1;return!0}function LP(e,t){let n=Math.max(0,Math.min(t,e)),o=e-n;return{startIndex:o,hasHiddenOlder:o>0}}function Zi(e,t,n){let o=e.findIndex(r=>r.rowIds.includes(t));return o<0?n:Math.max(n,e.length-o)}var Qq=new Set;function RP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,paneVisibleRef:o,listRef:r,scrollSnapshotRef:a,structure:i,loadLater:s,loadEarlier:l,liveFollowEnabled:d,disclosureReading:u,nativeSelectionRef:p,interactionRowsRef:f}){let m=i.sections,h=yP(e),g=M(h);g.current=h;let v=ot("timeline-top-reveal-armed",e,!0),C=ot("timeline-network-prepend-awaiting-navigation",e,!1),y=M(null),x=M(null);fe(()=>()=>{x.current!==null&&(cancelAnimationFrame(x.current),x.current=null)},[e,n]);let b=ot("timeline-network-prepend-scroll-top",e,null),w=ot("timeline-mounted-section-keys",e,Qq,3),T=Ao(e,null),P=T.current,k=P===null?-1:m.findIndex(B=>B.key===P.firstMountedSectionKey),S=k>0?m.length-Math.max(0,k-ay):h.revealedCount,L=k>0?S:h.revealedCount,R=s!==null||!d||u||p.current||f.current.length>0,N=wP(e,d,L),A=d0(m.map(B=>B.key),w.current,L,R||N),{startIndex:D,hasHiddenOlder:q}=LP(m.length,A),H=K(()=>m.slice(D),[D,m]),F=P!==null&&k>0&&D<k,V=M(m);V.current=m,fe(()=>{if(!n)return;if(w.current=new Set(H.map(ae=>ae.key)),P!==null){let ae=kP(P,{prefixMounted:F,loading:l===null?null:l.loading,sections:m,now:Date.now()});ae!=="waiting"&&(T.current=null),ae==="mounted"&&(C.current=!0)}let B=e;TP(g.current,A,!R,()=>t.current===B)},[C,l,n,P,F,T,w,R,A,e,m,H]);let _=Ao(e,null),z=E((B=null)=>{if(!o.current)return;let ae=r.current?.node;ae&&(_.current={scrollHeight:ae.scrollHeight,scrollTop:ae.scrollTop,row:r.current?.measure()?.rowAtScroll()??null,firstMountedSectionKey:B,until:Date.now()+ry})},[_]),Ce=E(()=>{let B=_.current;if(B===null||B.firstMountedSectionKey===null||Date.now()>B.until)return;let ae=r.current?.node;if(!ae)return;let X=a.current;B.scrollHeight=ae.scrollHeight,B.scrollTop=ae.scrollTop,B.row=X?.threadKey===e?X.anchor:null},[_,e,a]);return fe(()=>{if(!n)return;let B=_.current;if(!B)return;if(Date.now()>B.until){_.current=null;return}if(B.firstMountedSectionKey!==null&&T.current!==null)return;_.current=null;let ae=r.current?.node;if(ae){if(B.row){Hf(ae,B.row.rowId);let X=r.current?.measure()?.topOf(B.row.rowId);X!=null&&(ae.scrollTop=X+B.row.offsetPx)}else ae.scrollTop=B.scrollTop+(ae.scrollHeight-B.scrollHeight);F&&(b.current=ae.scrollTop)}},[b,n,P,F,D,i]),{revealWindow:h,revealWindowRef:g,topRevealArmedRef:v,networkPrependAwaitingUserNavigationRef:C,topRevealTouchStartYRef:y,topRevealUserNavigationFrameRef:x,networkPrependScrollTopRef:b,pendingNetworkPrependRef:T,hasHiddenOlder:q,visibleTurnSections:H,turnSectionsRef:V,prependAnchorRef:_,capturePrependAnchor:z,refreshPendingPrependAnchor:Ce}}Y();function Xq(e,t){let n=d=>d.replace(/\s+/g,""),o=n(t.text);if(o.length===0)return null;let r=(d,u)=>e.slice(Math.max(0,d-t.prefix.length),d)===t.prefix&&e.slice(u,u+t.suffix.length)===t.suffix;if(t.start<t.end&&t.end<=e.length&&n(e.slice(t.start,t.end))===o&&r(t.start,t.end))return{start:t.start,end:t.end};let a=Tc(t.text).trim(),i=[];for(let d=e.indexOf(a);d>=0;d=e.indexOf(a,d+1))i.push(d);let s=i.filter(d=>r(d,d+a.length)),l=s.length===1?s[0]:s.length===0&&i.length===1?i[0]:null;return l===null?null:{start:l,end:l+a.length}}function EP(e,t){let n=e.querySelector("[data-assistant-quote-body]")??mf(e);if(n===null)return null;let o=[],r="",a=document.createTreeWalker(n,NodeFilter.SHOW_TEXT);for(let u=a.nextNode();u;u=a.nextNode()){let p=u.data;for(let f=0;f<p.length;f+=1){let m=/\s/.test(p[f]);m&&r.endsWith(" ")||(r+=m?" ":p[f],o.push({node:u,offset:f}))}}let i=Xq(r,t);if(i===null)return null;let s=o[i.start],l=o[i.end-1];if(!s||!l)return null;let d=document.createRange();return d.setStart(s.node,s.offset),d.setEnd(l.node,l.offset+1),d}var ly="assistant-quote",AP=2400;function MP(e){let t=globalThis.CSS?.highlights,n=globalThis.Highlight;if(t&&n){let r=new n(e);t.set(ly,r),setTimeout(()=>{t.get(ly)===r&&t.delete(ly)},AP);return}let o=document.getSelection();o&&(o.removeAllRanges(),o.addRange(e),setTimeout(()=>{let r=o.rangeCount>0?o.getRangeAt(0):null;r&&r.compareBoundaryPoints(Range.START_TO_START,e)===0&&o.removeAllRanges()},AP))}var Yq=20;function NP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,derive:o,rowsStore:r,structure:a,loadEarlier:i,loadEarlierRef:s,listRef:l,revealWindowRef:d,turnSectionsRef:u,scrollToRowWithRevealRef:p,onManualNavigation:f,releaseDisclosureAnchor:m,revealMessageRequest:h,onRevealMessageHandled:g,revealQuoteRequest:v,onRevealQuoteDone:C}){let y=E(b=>{m(),f(),d.current.revealAtLeast(Zi(u.current,b.anchorRowId,d.current.revealedCount));let w=e;requestAnimationFrame(()=>{t.current===w&&p.current(b.anchorRowId,24)})},[f,m,e]);U(()=>{if(h===null||!n)return;m(),f();let b=o.resolveToolGroupRevealRowId(r.getRows(),h.rowId);d.current.revealAtLeast(Zi(u.current,b,d.current.revealedCount));let w=requestAnimationFrame(()=>{t.current===e&&(p.current(b,24),g?.())});return()=>cancelAnimationFrame(w)},[h,n,f,m,g,o,e,r]);let x=M(null);return U(()=>{if(v===null||!n)return;let b=x.current;if((b===null||b.request!==v)&&(b={request:v,pages:0,done:!1},x.current=b),b.done)return;let{quote:w}=v,T=w.messageId;if(!r.getRows().some(P=>P.id===T)){if(i?.loading)return;let P=s.current;if(P!==null&&b.pages<Yq){b.pages+=1,P();return}b.done=!0,C?.("message-missing");return}b.done=!0,m(),f(),d.current.revealAtLeast(Zi(u.current,T,d.current.revealedCount)),requestAnimationFrame(()=>{t.current===e&&(p.current(T,24),requestAnimationFrame(()=>{let P=l.current?.node?.querySelector(`[data-timeline-row-id="${CSS.escape(T)}"]`),k=P?EP(P,w):null,S=l.current?.node;if(k&&S){let L=k.getBoundingClientRect().top-S.getBoundingClientRect().top-S.clientHeight/3;l.current?.scrollToOffset(S.scrollTop+L)}k&&MP(k),C?.(k?"found":"passage-missing")}))})},[v,n,a,i,r,C,f,m,e]),{jumpToTurnSection:y}}Y();function _P({timestampFormat:e,routeThreadKey:t,threadRef:n,markdownCwd:o,resolvedTheme:r,workspaceRoot:a,skills:i,environmentId:s,onForkFromUserMessage:l,selfUserId:d,onImageExpand:u,onAttachmentDocumentOpen:p,onOpenFileDiff:f,onProcessDisclosureChange:m,agentPanelModel:h,onOpenAgents:g,onInterrupt:v,onRespondToDecision:C,scheduledWakes:y,onCancelScheduledWake:x,derive:b,SiteIcon:w,threadReferences:T,renderWorkGroup:P,renderToolCallDetail:k,onSavePlanToWorkspace:S,declaredToolTitles:L}){let R=K(()=>Ef(i),[i]);return K(()=>({timestampFormat:e,threadKey:t,threadRef:n,markdownCwd:o,resolvedTheme:r,workspaceRoot:a,skills:i,skillIndex:R,activeThreadEnvironmentId:s,onForkFromUserMessage:l,selfUserId:d,onImageExpand:u,onAttachmentDocumentOpen:p,onOpenFileDiff:f,onProcessDisclosureChange:m,agentPanelModel:h,onOpenAgents:g,onInterrupt:v,onRespondToDecision:C,scheduledWakes:y,onCancelScheduledWake:x,derive:b,SiteIcon:w,threadReferences:T,renderWorkGroup:P,renderToolCallDetail:k,onSavePlanToWorkspace:S,declaredToolTitles:L}),[e,t,n,o,r,a,i,R,s,l,d,u,p,f,m,h,g,v,C,y,x,b,w,T,P,k,S,L])}Y();var Jq=200;function DP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,paneVisibleRef:o,listRef:r,derive:a,contentInsetEndAdjustment:i,onIsAtEndChange:s,loadLater:l,restoreInProgress:d,rowCount:u,followingEndRef:p,scrollRestorePendingRef:f,laterLoadArmedRef:m,pagingBlockedRef:h,lastScrollAnchorSaveAtRef:g,networkPrependAwaitingUserNavigationRef:v,networkPrependScrollTopRef:C,cacheScrollSnapshot:y,persistScrollSnapshot:x,refreshPendingPrependAnchor:b,maybeRevealOlderOnScroll:w,rearmNetworkPrependForUserNavigation:T,handleLoadLater:P}){let k=E(()=>{if(!o.current||t.current!==e)return;let S=r.current?.measure();if(!S||f.current)return;y(S);let L=C.current;v.current&&L!==null&&Math.abs(S.scroll-L)>.5&&T(),b();let R=a.resolveIsAtEnd({contentLength:S.contentLength,scroll:S.scroll,scrollLength:S.scrollLength},i);R!==void 0&&s(l===null&&R);let N=S.contentLength-S.scrollLength-S.scroll;!p.current&&N>2&&w(S.scroll),N>Bc?m.current=!0:m.current&&l&&!l.loading&&!h.current&&(m.current=!1,P());let A=Date.now();A-g.current>=Jq&&(g.current=A,x())},[y,i,a,w,s,x,b,e,l,m,P,v,C,T,f]);return U(()=>{if(!n)return;let S=requestAnimationFrame(k);return()=>cancelAnimationFrame(S)},[k,n,d,u]),{handleScroll:k}}Y();function OP({routeThreadKey:e,routeThreadKeyRef:t,paneVisible:n,paneVisibleRef:o,revealRequestRef:r,listRef:a,rowCount:i,structure:s,loadScrollAnchor:l,loadLater:d,onManualNavigation:u,onIsAtEndChange:p,revealWindowRef:f,turnSectionsRef:m,followingEndRef:h,followEnabledRef:g,compactionStateRef:v,scrollRestorePendingRef:C,persistScrollSnapshot:y,captureFinalScrollSnapshot:x}){let b=ot("timeline-scroll-restore",e,void 0);if(b.current===void 0&&i>0){let D=l(e);b.current=D!==null&&s.rowIds.includes(D.rowId)?D:null}let w=b.current??null,T=M(()=>{}),[P,k]=Pt("timeline-scroll-restore-settled",e,!1),S=w!==null&&!P,L=ot("timeline-last-anchor-save",e,0);U(()=>{let D=w;if(!n||P||D===null)return;if(r.current!==null){k(!0);return}let q=null,H=requestAnimationFrame(()=>{!o.current||t.current!==e||(u(),f.current.revealAtLeast(Zi(m.current,D.rowId,f.current.revealedCount)),q=requestAnimationFrame(()=>{!o.current||t.current!==e||(k(!0),T.current(D.rowId,-D.offsetPx))}))});return()=>{cancelAnimationFrame(H),q!==null&&cancelAnimationFrame(q)}},[u,n,e,w,P]);let R=ot("timeline-restore-after-presentation",e,!1),N=S||R.current;C.current=N,fe(()=>{if(n)return()=>{t.current!==e?y():x(),R.current=!0}},[n,e]),fe(()=>{if(!n||!R.current)return;if(r.current!==null){R.current=!1,C.current=!1;return}let D=null,q=null,H=()=>{!o.current||t.current!==e||(a.current?.scrollToEnd(),R.current=!1,C.current=!1,h.current=d===null,g.current=d===null,v.current={...v.current,followEnabled:!0,restoreInProgress:!1},p(d===null))},F=l(e),V=F!==null&&m.current.some(_=>_.rowIds.includes(F.rowId));return F===null?D=requestAnimationFrame(H):V?(u(),f.current.revealAtLeast(Zi(m.current,F.rowId,f.current.revealedCount)),D=requestAnimationFrame(()=>{q=requestAnimationFrame(()=>{!o.current||t.current!==e||(T.current(F.rowId,-F.offsetPx),R.current=!1,C.current=!1)})})):i>0&&(D=requestAnimationFrame(H)),()=>{D!==null&&cancelAnimationFrame(D),q!==null&&cancelAnimationFrame(q)}},[l,d,p,u,n,e,i,s.sections.length]);let A=E((D,q)=>{if(!o.current)return;let H=a.current?.node;H&&(Hf(H,D),a.current?.scrollToRow(D,{viewOffset:q}))},[]);return T.current=A,{restoreInProgress:N,lastScrollAnchorSaveAtRef:L,scrollToRowWithRevealRef:T}}Y();function FP({routeThreadKey:e,listRef:t,followingEndRef:n,scrollRestorePendingRef:o,paneVisible:r,rowCount:a,derive:i,contentInsetEndAdjustment:s,saveScrollAnchor:l}){let d=ot("timeline-scroll-snapshot",e,null),u=ot("timeline-last-measured-scroll",e,null),p=E((h,g=n.current)=>{h.scrollLength<=0||(u.current=h.scroll,d.current={threadKey:e,anchor:Pk({measurement:h,followingEnd:g})})},[n,u,e,d]),f=E(()=>{let h=d.current;h&&l(h.threadKey,h.anchor)},[l,d]),m=E(()=>{if(!r||o.current)return;if(a===0){f();return}let h=t.current?.measure();if(h&&h.scrollLength>0){let g=u.current,v=g!==null&&Math.abs(h.scroll-g)>.5;p(h,n.current&&!(v&&i.resolveIsAtEnd(h,s)===!1)),f()}},[p,s,i,n,u,r,f,o,a]);return{scrollSnapshotRef:d,cacheScrollSnapshot:p,persistScrollSnapshot:f,captureFinalScrollSnapshot:m}}var dy="ycodium-select-all-copy";Y();function Zq(e,t){let n=e.detail;n===null||typeof n!="object"||!("text"in n)||(n.text=t)}function e4(e,t){let n=o=>{Zq(o,t())};return e.addEventListener(dy,n),()=>e.removeEventListener(dy,n)}function BP({rowsStore:e}){let t=M(e);t.current=e;let n=M(null);return U(()=>{let o=n.current?.closest("[data-select-all-scope]");if(o!=null)return e4(o,()=>t.current.getMeta().exportApi.markdown())},[]),c("span",{ref:n,hidden:!0})}var t4=[],n4=()=>{},UP=ce(function({derive:t,rowsStore:n,data:o,target:r,threadKey:a,threadRef:i,environmentId:s,onInterrupt:l=null,onRespondToDecision:d=null,onCancelScheduledWake:u=null,agentPanelModel:p,onOpenAgents:f=n4,onOpenFileDiff:m,onForkFromUserMessage:h,selfUserId:g=null,onImageExpand:v,onAttachmentDocumentOpen:C,markdownCwd:y,resolvedTheme:x,timestampFormat:b,workspaceRoot:w,skills:T=t4,onRowsChange:P,contentInsetEndAdjustment:k,liveFollowEnabled:S,awaitingUserDecision:L=!1,onIsAtEndChange:R,onManualNavigation:N,onDisclosureNavigation:A=N,hideEmptyPlaceholder:D=!1,topFadeEnabled:q=!1,scrollerRef:H,loadEarlier:F=null,loadLater:V=null,pagingBlockedByInteraction:_=!1,onReturnToLatest:z=null,onVisibleTurnRangeChange:Ce=null,revealMessageRequest:B=null,onRevealMessageHandled:ae,revealQuoteRequest:X=null,onRevealQuoteDone:G,renderWorkGroup:Q,renderToolCallDetail:oe,loadScrollAnchor:de,saveScrollAnchor:J,useVisibleThreadCompletion:ie,onSavePlanToWorkspace:Te,paneActive:Me,onTurnNavigatorChange:xe,declaredToolTitles:Re}){let Ze=wn(n,Bk),Z=Bo(),re=M(Z);re.current=Z;let te=M(B);te.current=B;let[ue,ve]=gP(a),$e=M(a);$e.current=a;let et=M(_);et.current=_;let ut=ot("timeline-following-end",a,!0);ut.current=V===null&&S;let rt=ot("timeline-scroll-restore-pending",a,!1),Xt=ot("timeline-content-inset",a,k),tt=M(null),ft=Ao(a,[]),pt=Ao(a,!1),Ct=M(null),Gt=M(null),zt=E(()=>ft.current,[ft]),ln=E(yt=>{ft.current=yt,Ct.current?.(),Gt.current?.schedule()},[ft]),on=E(yt=>{pt.current=yt,Gt.current?.schedule()},[pt]),Ft=E(yt=>{yt!==null&&(tt.current=yt),H(yt)},[H]);fe(()=>{Tk({timeline:tt.current,previousOverlayHeight:Xt.current,overlayHeight:k,followingEnd:Z&&V===null&&S&&!ue}),Xt.current=k},[k,ue,S,V,Z]);let{disclosureButtonRef:Ht,releaseDisclosureAnchor:It,onProcessDisclosureChange:Kt}=hP({routeThreadKey:a,listRef:tt,liveFollowEnabled:S,onDisclosureNavigation:A,rowsStore:n,setDisclosureReading:ve}),en=Uk(V!==null,Z),Bt=h0(n),mt=Bt.sections,Et=Bt.rowIds.length,lt=K(()=>Bt.rowIds.some(yt=>n.getRow(yt)?.kind==="message"),[Bt,n]),{scrollSnapshotRef:vt,cacheScrollSnapshot:St,persistScrollSnapshot:$t,captureFinalScrollSnapshot:$}=FP({routeThreadKey:a,listRef:tt,followingEndRef:ut,scrollRestorePendingRef:rt,paneVisible:Z,rowCount:Et,derive:t,contentInsetEndAdjustment:k,saveScrollAnchor:J}),{revealWindow:le,revealWindowRef:ye,topRevealArmedRef:Ie,networkPrependAwaitingUserNavigationRef:Pe,topRevealTouchStartYRef:nt,topRevealUserNavigationFrameRef:we,networkPrependScrollTopRef:Fe,pendingNetworkPrependRef:at,hasHiddenOlder:Je,visibleTurnSections:dt,turnSectionsRef:it,prependAnchorRef:Qt,capturePrependAnchor:Vt,refreshPendingPrependAnchor:fn}=RP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,paneVisibleRef:re,listRef:tt,scrollSnapshotRef:vt,structure:Bt,loadLater:V,loadEarlier:F,liveFollowEnabled:S,disclosureReading:ue,nativeSelectionRef:pt,interactionRowsRef:ft}),{revealOlderTurns:ao,revealOlderTurnsRef:Cn,hasHiddenOlderRef:Io,loadEarlierRef:qn,handleLoadEarlier:io,handleLoadLater:be}=vP({routeThreadKey:a,routeThreadKeyRef:$e,pagingBlockedRef:et,pagingBlockedByInteraction:_,loadEarlier:F,loadLater:V,hasHiddenOlder:Je,visibleTurnSections:dt,capturePrependAnchor:Vt,revealWindowRef:ye,pendingNetworkPrependRef:at,turnSectionsRef:it}),Xe=M(!1),kt=M({followEnabled:!1,restoreInProgress:!1,loadEarlier:F}),{restoreInProgress:gt,lastScrollAnchorSaveAtRef:xn,scrollToRowWithRevealRef:bn}=OP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,paneVisibleRef:re,revealRequestRef:te,listRef:tt,rowCount:Et,structure:Bt,loadScrollAnchor:de,loadLater:V,onManualNavigation:N,onIsAtEndChange:R,revealWindowRef:ye,turnSectionsRef:it,followingEndRef:ut,followEnabledRef:Xe,compactionStateRef:kt,scrollRestorePendingRef:rt,persistScrollSnapshot:$t,captureFinalScrollSnapshot:$}),{jumpToTurnSection:dn}=NP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,derive:t,rowsStore:n,structure:Bt,loadEarlier:F,loadEarlierRef:qn,listRef:tt,revealWindowRef:ye,turnSectionsRef:it,scrollToRowWithRevealRef:bn,onManualNavigation:N,releaseDisclosureAnchor:It,revealMessageRequest:B,onRevealMessageHandled:ae,revealQuoteRequest:X,onRevealQuoteDone:G}),{turnHeadersRef:rn,activeTurnHeaderKeyRef:so,initialTurnHeaderText:an,hasTurnHeaders:Dn,pinnedTurnHeaderRef:ka,pinnedTurnHeaderTextRef:tr,pinnedTurnHeaderExpanded:mi,setPinnedTurnHeaderExpanded:Be,pinnedTurnHeaderExpandedRef:Pa}=uP({rowsStore:n,derive:t,paneVisible:Z,routeThreadKey:a}),[La,Ra]=W(null),[gi,hi]=W(null),{followEnabled:Oo}=SP({paneVisible:Z,paneVisibleRef:re,loadLater:V,liveFollowEnabled:S,disclosureReading:ue,restoreInProgress:gt,loadEarlier:F,scrollNode:gi,revealWindow:le,turnSections:mt,followEnabledRef:Xe,compactionStateRef:kt,compactionRef:Gt,prependAnchorRef:Qt,interactionRowsRef:ft,revealWindowRef:ye,topRevealArmedRef:Ie,capturePrependAnchor:Vt}),Wn=Bt.rowIds.at(-1)??null;U(()=>{P?.(Wn)},[Wn,P,a]);let vi=ot("timeline-later-load-armed",a,!0),{maybeRevealOlderOnScroll:Kr,rearmNetworkPrependForUserNavigation:Bs,continueTopRevealAtTopForUserNavigation:On,contentGestureHandlers:$r}=bP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisibleRef:re,pagingBlockedRef:et,scrollRestorePendingRef:rt,listRef:tt,topRevealArmedRef:Ie,hasHiddenOlderRef:Io,revealOlderTurnsRef:Cn,loadEarlierRef:qn,networkPrependAwaitingUserNavigationRef:Pe,networkPrependScrollTopRef:Fe,topRevealTouchStartYRef:nt,topRevealUserNavigationFrameRef:we}),{applyActiveSection:Us,scheduleMeasurePinnedTurnHeaderOverflow:Ue}=pP({routeThreadKey:a,paneVisibleRef:re,turnHeadersRef:rn,activeTurnHeaderKeyRef:so,pinnedTurnHeaderRef:ka,pinnedTurnHeaderTextRef:tr,pinnedTurnHeaderExpandedRef:Pa,setPinnedTurnHeaderExpanded:Be}),jn=g0({root:gi,topInsetPx:_c,onActiveSectionChange:Us,active:Z}),zs=K(()=>l0(mt),[mt]),Hs=p0({root:gi,inputKey:a,visible:Z,index:zs,topInset:Dn?_c:0,bottomInset:k,interactionRows:zt,onRangeChange:Ce,onSelectionChange:on});Ct.current=Hs,U(()=>{if(!Z){$t();return}let yt=requestAnimationFrame(()=>{if(!re.current)return;let Gn=tt.current?.node;Gn&&Xe.current&&(Gn.scrollTop=Gn.scrollHeight-Gn.clientHeight),jn.refresh()});return()=>cancelAnimationFrame(yt)},[$t,jn,Z]);let ud=fP({paneVisible:Z,turnHeadersRef:rn,activeTurnHeaderKeyRef:so,pinnedTurnHeaderTextRef:tr,pinnedTurnHeaderExpanded:mi,setPinnedTurnHeaderExpanded:Be,scheduleMeasurePinnedTurnHeaderOverflow:Ue}),Ks=IP({hasHiddenOlder:Je,hasTurnHeaders:Dn,loadEarlier:F,pagingBlockedByInteraction:_,topFadeEnabled:q,revealOlderTurns:ao,handleLoadEarlier:io}),{handleScroll:Aa}=DP({routeThreadKey:a,routeThreadKeyRef:$e,paneVisible:Z,paneVisibleRef:re,listRef:tt,derive:t,contentInsetEndAdjustment:k,onIsAtEndChange:R,loadLater:V,restoreInProgress:gt,rowCount:Et,followingEndRef:ut,scrollRestorePendingRef:rt,laterLoadArmedRef:vi,pagingBlockedRef:et,lastScrollAnchorSaveAtRef:xn,networkPrependAwaitingUserNavigationRef:Pe,networkPrependScrollTopRef:Fe,cacheScrollSnapshot:St,persistScrollSnapshot:$t,refreshPendingPrependAnchor:fn,maybeRevealOlderOnScroll:Kr,rearmNetworkPrependForUserNavigation:Bs,handleLoadLater:be}),yi=_P({timestampFormat:b,routeThreadKey:a,threadRef:i,markdownCwd:y,resolvedTheme:x,workspaceRoot:w,skills:T,environmentId:s,onForkFromUserMessage:h,selfUserId:g,onImageExpand:v,onAttachmentDocumentOpen:C,onOpenFileDiff:m,onProcessDisclosureChange:Kt,agentPanelModel:p,onOpenAgents:f,onInterrupt:l,onRespondToDecision:d,scheduledWakes:Ze,onCancelScheduledWake:u,derive:t,SiteIcon:o.SiteIcon,threadReferences:o.threadReferences,renderWorkGroup:Q,renderToolCallDetail:oe,onSavePlanToWorkspace:Te,declaredToolTitles:Re}),$s=E(yt=>c(dP,{rowsStore:n,rowId:yt}),[n]);return c(wt,{value:yi,children:I(Lk,{rowsStore:n,historyWindow:en,children:[c(wk,{rowsStore:n,derive:t,paneVisible:Z,bottomInset:k,onSelect:dn,onTurnNavigatorChange:xe}),c(cP,{rowsStore:n,useVisibleThreadCompletion:ie,viewport:La,viewActive:Me&&Z,threadKey:a,settledView:V===null&&!gt,bottomInset:k}),I("div",{ref:Ra,onClickCapture:yt=>{Ht.current=yt.target instanceof Element?yt.target.closest("button"):null},onWheelCapture:It,onTouchMoveCapture:It,onPointerDownCapture:yt=>{yt.target===tt.current?.node&&(It(),On())},onKeyDownCapture:yt=>{["ArrowUp","ArrowDown","PageUp","PageDown","Home","End"].includes(yt.key)&&It()},className:"chat-timeline relative h-full min-h-0","data-awaiting-user-decision":L?"true":"false","data-disclosure-reading":ue?"true":void 0,"data-timeline-follow-end":Oo?"true":"false","data-timeline-end-inset":k,children:[c(u0,{inputKey:a,onBeforeInputChange:$,handleRef:Ft,onAttach:hi,onInteractionRowsChange:ln,onScroll:Aa,className:j("scrollbar-gutter-both h-full min-h-0 overflow-y-auto overflow-x-hidden overscroll-y-contain px-3 sm:px-5",q&&"topbar-scroll-fade"),children:I("div",{"data-select-all-scope":"",style:{paddingBottom:k},...$r,children:[c(BP,{rowsStore:n}),Ks,dt.map(yt=>c(f0,{sectionKey:yt.key,rowKeyPrefix:a,rowIds:yt.rowIds,renderRow:$s,sectionRef:jn.observeSection(yt.key)},`${a}:${yt.key}`)),V?c(Dk,{loading:V.loading,blocked:_,onLoadLater:be,onReturnToLatest:z}):null,Fk]})}),lt?null:c(Ek,{data:o,target:r,rowsStore:n,historyWindow:en,hideEmptyPlaceholder:D||Et>0}),an!==null?c(pk,{ref:ka,textRef:tr,initialText:an,expanded:mi,onToggleExpanded:ud}):null]})]})})});function Gf(e,t){return e===t?!0:!e||!t?!1:e.identity===t.identity&&e.instanceId===t.instanceId&&e.driverKind===t.driverKind&&e.providerDisplayName===t.providerDisplayName&&e.accentColor===t.accentColor&&e.modelLabel===t.modelLabel&&e.effortLabel===t.effortLabel&&e.effortLevel===t.effortLevel}function zP(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function HP(e,t){return e.turnId===t.turnId&&e.createdAt===t.createdAt&&Gf(e.badge,t.badge)}function KP(e,t){if(e===t)return!0;if(e.kind!==t.kind||e.id!==t.id)return!1;switch(e.kind){case"turn-identity":return HP(e,t);case"turn-summary":{let n=t;return e.createdAt===n.createdAt&&e.copyText===n.copyText&&e.cardAnchor===n.cardAnchor&&e.footer===n.footer&&(e.identity===void 0?n.identity===void 0:n.identity!==void 0&&HP(e.identity,n.identity))}case"tool-group":{let n=t;return e.createdAt===n.createdAt&&e.groupId===n.groupId&&zP(e.entries,n.entries)}case"working":{let n=t;return e.createdAt===n.createdAt&&e.turnId===n.turnId&&e.compacting===n.compacting&&Gf(e.modelBadge,n.modelBadge)}case"model-switch":{let n=t;return e.createdAt===n.createdAt&&e.pending===n.pending&&Gf(e.badge,n.badge)}case"proposed-plan":return e.proposedPlan===t.proposedPlan;case"turn-plan":{let n=t;return e.createdAt===n.createdAt&&e.turnPlan.plan===n.turnPlan.plan}case"work":{let n=t;return e.isExpandedToolGroupEntry===n.isExpandedToolGroupEntry&&e.isLastExpandedToolGroupEntry===n.isLastExpandedToolGroupEntry&&zP(e.groupedEntries,n.groupedEntries)}case"message":{let n=t;return e.message===n.message&&e.presentation===n.presentation&&e.textTone===n.textTone&&e.durationStart===n.durationStart&&e.showAssistantMeta===n.showAssistantMeta&&e.showAssistantCopyButton===n.showAssistantCopyButton&&e.copyInFooter===n.copyInFooter&&e.assistantCopyStreaming===n.assistantCopyStreaming&&Gf(e.modelBadge,n.modelBadge)}}}function o4(e,t){let n=t.historyWindow,{status:o}=t,r={activities:t.activities,timelineEntries:t.timelineEntries,latestTurn:n?null:o.latestTurn,runningTurnId:n?null:o.runningTurnId,expandedTurnIds:t.expandedTurnIds,isWorking:!n&&o.isWorking,activeTurnStartedAt:n?null:o.activeTurnStartedAt,resolveModelBadge:t.resolveModelBadge,pendingModelSelection:n?null:o.pendingModelSelection},a=e.deriveGroups(r),i=o.latestTurn;if(n&&i&&i.completedAt!==null){let s=i.turnId;if(a.rows.some(d=>d.kind==="message"?d.message.role==="assistant"&&d.message.turnId===s:d.kind==="work"?d.groupedEntries.some(u=>u.turnId===s):d.kind==="tool-group"&&d.entries.some(u=>u.turnId===s)))return e.deriveGroups({...r,latestTurn:i})}return a}var r4=new Map,a4={markdown:()=>"",download(){}},i4=[],s4={latestTurn:null,latestAssistantMessageId:null,runningTurnId:null,isWorking:!1,workingStepLabel:null,stall:null,retry:null,activeTurnStartedAt:null,totalTurnCount:null,pendingModelSelection:null,scheduledWakes:i4},l4={inputs:null,structure:{rowIds:[],sections:[]},indexById:new Map,rows:[],meta:{status:s4,usageByTurnId:r4,exportApi:a4,finalAssistantMessageReceived:!1},version:0};function d4(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n])return!1;return!0}function c4(e,t,n,o){let r=o4(n,e),a=u4(t.structure.rowIds,r.rows),i=a?t.indexById:new Map(r.rows.map((h,g)=>[h.id,g])),s=r.rows.map((h,g)=>{let v=a?t.rows[g]:t.rows[t.indexById.get(h.id)??-1],C=v!==void 0&&KP(v,h)?v:h;return C!==v&&o.add(h.id),C});if(!a)for(let h of t.indexById.keys())i.has(h)||o.add(h);let l=PP(s,r.turnGroups,t.structure.sections),d=a?t.structure.rowIds:s.map(h=>h.id),u=a&&d4(t.structure.sections,l)?t.structure:{rowIds:d,sections:l},p=e.derive.hasSettledAssistantMessage(e.timelineEntries,e.status.latestAssistantMessageId),f=t.meta.status===e.status&&t.meta.usageByTurnId===e.usageByTurnId&&t.meta.exportApi===e.exportApi&&t.meta.finalAssistantMessageReceived===p?t.meta:{status:e.status,usageByTurnId:e.usageByTurnId,exportApi:e.exportApi,finalAssistantMessageReceived:p},m=o.size>0||u!==t.structure||f!==t.meta;return{inputs:e,structure:u,indexById:i,rows:s,meta:f,version:m?t.version+1:t.version}}function u4(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n+=1)if(e[n]!==t[n].id)return!1;return!0}function $P(){let e=null,t=null,n=l4,o=new Set,r=0,a=new Set,i=new Map,s=()=>{if(e===null||n.inputs===e)return n;t??=e.derive.createRowsCache();let l=new Set;n=c4(e,n,t,l);for(let d of l)o.add(d);return n};return{setInputs(l){e=l},hasInputs:()=>e!==null,flush(){if(a.size===0&&i.size===0||e===null)return;let{version:l}=s();if(l===r&&o.size===0)return;r=l;let d=[...o];o.clear();for(let u of d){let p=i.get(u);if(p!==void 0)for(let f of Array.from(p))f()}for(let u of Array.from(a))u()},subscribe(l){return a.add(l),()=>{a.delete(l)}},subscribeRow(l,d){let u=i.get(l);return u===void 0&&(u=new Set,i.set(l,u)),u.add(d),()=>{u.delete(d),u.size===0&&i.get(l)===u&&i.delete(l)}},getStructure:()=>s().structure,getRow(l){let{indexById:d,rows:u}=s(),p=d.get(l);return p===void 0?void 0:u[p]},getRows:()=>s().rows,getMeta:()=>s().meta,getVersion:()=>s().version}}Y();var p4=new Set;function VP({data:e,target:t,threadKey:n,visible:o,rowsStore:r,derive:a,resolveModelBadge:i,disclosure:s,historyWindow:l}){let d=e.useChatTimeline({target:t,threadKey:n,visible:o}),u=e.useTurnStatus({target:t,threadKey:n,visible:o}),p=Bo(),f=s.usePersistedExpandedTurnIds(n),[m,h]=Pt("timeline-auto-expanded-turns",n,p4),g=K(()=>a.resolveExpandedTurnIds(f??[],m),[m,a,f]),{latestTurn:v}=u,C=ot("timeline-latest-turn-previous",n,v);U(()=>{let x=C.current;if(C.current=v,!(!v||x?.turnId===void 0)){if(v.turnId===x.turnId){x.state==="running"&&v.state==="interrupted"&&h(b=>{let w=new Set(b);return w.add(v.turnId),w});return}h(b=>{if(!b.has(x.turnId))return b;let w=new Set(b);return w.delete(x.turnId),w})}},[v]);let y=K(()=>({derive:a,timelineEntries:d.timelineEntries,activities:d.activities,status:u,expandedTurnIds:g,resolveModelBadge:i,historyWindow:l,usageByTurnId:d.usageByTurnId,exportApi:d.export}),[d.activities,d.export,d.timelineEntries,d.usageByTurnId,a,g,l,i,u]);return(p||!r.hasInputs())&&r.setInputs(y),fe(()=>{r.flush()}),null}var qP=ce(function({data:t,target:n,threadKey:o,visible:r,...a}){let i=ot("timeline-rows-store",o,null,3);i.current??=$P();let s=i.current;return I(he,{children:[c(VP,{data:t,target:n,threadKey:o,visible:r,rowsStore:s,derive:a.derive,resolveModelBadge:a.resolveModelBadge,disclosure:a.disclosure,historyWindow:(a.loadLater??null)!==null}),c(UP,{...a,threadKey:o,rowsStore:s,data:t,target:n})]})});function WP({phase:e}){let{t}=se(),n=t(Kf(e));return I("div",{"aria-label":n,className:"pointer-events-none flex items-center gap-2 rounded-full border border-border/60 bg-background/90 px-3 py-1 text-xs font-medium text-foreground shadow-sm backdrop-blur","data-thread-sync-pill":"true",role:"status",children:[c(Fa,{"aria-hidden":!0,className:"size-icon-2 shrink-0 text-muted-foreground"}),c("span",{className:"truncate",children:n})]})}function jP({data:e,target:t,bottomInset:n,showScrollToEnd:o,onScrollToEnd:r}){let{t:a}=se(),i=$f(e.useThreadSyncPhase(t));return i===null&&!o?null:I("div",{className:"pointer-events-none absolute left-1/2 z-30 flex -translate-x-1/2 flex-col items-center gap-1.5 py-1.5",style:{bottom:n+4},children:[i!==null?c(WP,{phase:i}):null,o?I(ee,{onClick:r,className:"pointer-events-auto gap-1.5 rounded-full px-3 text-muted-foreground hover:text-foreground",size:"xs",variant:"glass",children:[c(tn,{}),a("timeline.scrollToEnd")]}):null]})}Y();function GP(){let e=!1;return{lock:()=>{e=!0},resume:()=>{e=!1},navigate:t=>!t||!e?!1:(e=!1,!0),isLocked:()=>e}}function QP(e){return e.requestedGeneration===e.currentGeneration&&e.mode==="following-end"&&!e.readingLocked}var f4=150,m4=16;function XP(e,t){typeof e=="function"?e(t):e&&(e.current=t)}function YP({inputKey:e,visible:t,endInset:n,derive:o,onReturnToLatest:r,controlRef:a}){let[i,s]=Pt("timeline-live-follow-enabled",e,!0),[l,d]=Pt("timeline-show-scroll-to-end",e,!1),u=Ao(e,null),[p,f]=i0(e,null),m=E(B=>{u.current=B;let ae=B?.node??null;f(X=>X===ae?X:ae)},[u,f]),h=ot("timeline-is-at-end",e,!0),g=Ao(e,null),v=E(()=>{g.current!==null&&clearTimeout(g.current),g.current=null},[g]),C=E(()=>{v(),g.current=setTimeout(()=>{g.current=null,d(!0)},f4)},[v,d,g]);U(()=>v,[v]);let y=E(()=>{let B=u.current?.measure();return B==null?void 0:{contentLength:B.contentLength,scroll:B.scroll,scrollLength:B.scrollLength}},[u]),x=ot("timeline-scroll-mode",e,"following-end"),b=qa(t);fe(()=>()=>b.cancel(),[b,e]);let w=ot("timeline-user-scroll-generation",e,0),T=ot("timeline-live-follow-generation",e,0),P=ot("timeline-disclosure-reading-lock",e,GP),k=ot("timeline-last-row-id",e,null),S=E(()=>{b.cancel(),w.current+=1,x.current="free-scrolling",T.current=null,s(!1)},[b,T,x,s,w]),L=E(()=>{P.current.lock(),S(),h.current=!1,v(),d(!0)},[v,h,S,P,d]),R=M(S);R.current=S;let N=E(()=>{let B=u.current?.measure(),ae=k.current;if(!B||ae===null)return!1;let X=kk(B,ae);return X===null?!1:X>Math.max(0,B.scrollLength-n-m4)},[n,u,k]),A=E(B=>{P.current.resume();let ae=++w.current;h.current=!0,x.current="following-end",T.current=w.current,s(!0),v(),d(!1),b.request(()=>{QP({requestedGeneration:ae,currentGeneration:w.current,mode:x.current,readingLocked:P.current.isLocked()})&&u.current?.scrollToEnd({animated:B})})},[v,b,u,h,T,P,x,s,d,w]),D=M(r);D.current=r;let q=E((B=!1)=>{let ae=D.current;if(ae){ae(()=>A(B));return}A(B)},[A]),H=E(()=>q(!0),[q]),F=E(()=>{P.current.navigate(!0)&&(h.current=!1,o.resolveIsAtEnd(y(),n)===!0&&q())},[o,n,h,y,P,q]);U(()=>{if(!t||p===null)return;let B=null,ae=requestAnimationFrame(()=>{let X=()=>{R.current()},G=ue=>{let ve=ue instanceof Element?ue:null;for(;ve&&ve!==p;){if(ve instanceof HTMLElement&&ve.scrollHeight>ve.clientHeight+1&&ve.scrollTop+ve.clientHeight<ve.scrollHeight-1&&/auto|scroll/u.test(getComputedStyle(ve).overflowY))return!1;ve=ve.parentElement}return ve===p},Q=ue=>{P.current.isLocked()&&G(ue)&&F()},oe=null,de=!1,J=p.scrollTop,ie=ue=>{oe=ue.touches[0]?.clientY??null},Te=()=>{oe=null,de=!1},Me=()=>{let ue=p.scrollTop;de&&ue>J&&Q(p),J=ue},xe=()=>N(),Re=()=>o.resolveIsAtEnd(y(),n)===!1,Ze=ue=>{ue.deltaY>0&&Q(ue.target),ue.deltaY<0&&xe()&&X()},Z=ue=>{let ve=ue.touches[0]?.clientY??null,$e=oe!==null&&ve!==null&&ve<oe;oe=ve,Re()&&X(),$e&&Q(ue.target)},re=ue=>{if(ue.target===p){de=!0,J=p.scrollTop,xe()&&X();return}Re()&&X()},te=ue=>{if(!(ue.target instanceof Element?ue.target:null)?.closest("input, textarea, select, [contenteditable='true'], button, [role='button']"))switch(ue.key){case"PageUp":case"Home":case"ArrowUp":xe()&&X();break;case"PageDown":case"End":case"ArrowDown":Q(ue.target);break;case" ":ue.shiftKey||Q(ue.target);break;default:break}};p.addEventListener("wheel",Ze,{passive:!0}),p.addEventListener("touchmove",Z,{passive:!0}),p.addEventListener("touchstart",ie,{passive:!0}),p.addEventListener("touchend",Te,{passive:!0}),p.addEventListener("touchcancel",Te,{passive:!0}),p.addEventListener("scroll",Me,{passive:!0}),window.addEventListener("pointerup",Te,{passive:!0}),window.addEventListener("pointercancel",Te,{passive:!0}),p.addEventListener("pointerdown",re,{passive:!0}),p.addEventListener("keydown",te),B=()=>{p.removeEventListener("wheel",Ze),p.removeEventListener("touchmove",Z),p.removeEventListener("touchstart",ie),p.removeEventListener("touchend",Te),p.removeEventListener("touchcancel",Te),p.removeEventListener("scroll",Me),window.removeEventListener("pointerup",Te),window.removeEventListener("pointercancel",Te),p.removeEventListener("pointerdown",re),p.removeEventListener("keydown",te)}});return()=>{cancelAnimationFrame(ae),B?.()}},[N,o,n,e,y,P,F,p,t]);let V=E(B=>{k.current=B},[k]),_=E(B=>{if(P.current.isLocked()){h.current=!1,v(),d(!0);return}if(!B&&T.current===w.current){v(),d(!1);return}h.current!==B&&(h.current=B,B?(x.current="following-end",T.current=w.current,s(!0),v(),d(!1)):(x.current="free-scrolling",T.current=null,C()))},[v,h,T,P,C,x,s,d,w]),z=M(q);z.current=q;let Ce=K(()=>({followEnd:B=>z.current(B?.animated??!1)}),[]);return fe(()=>(XP(a,Ce),()=>XP(a,null)),[Ce,a]),{liveFollowEnabled:i,showScrollToEnd:l,bindTimelineHandle:m,onRowsChange:V,onIsAtEndChange:_,onManualNavigation:S,onDisclosureNavigation:L,returnToEnd:H}}Y();Y();var cy="max-h-80 overflow-auto rounded-md bg-muted/40 p-3 font-mono text-xs break-words whitespace-pre-wrap";function JP({useToolCallDetail:e,threadRef:t,toolCallId:n,turnId:o,fallback:r,revision:a}){let i=e===void 0?null:e({threadRef:t,toolCallId:n,turnId:o??null,revision:a??r??"initial"}),s=i===null?[]:[i.input,i.output].filter(d=>d!==void 0&&d.length>0),l=i?.input!==void 0&&i?.output!==void 0?s.join(`
4139
4139
 
4140
4140
  `):[r,...s].filter(Boolean).join(`
4141
4141
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ycodium-ai/plugin-conversation",
3
- "version": "0.2.2958",
3
+ "version": "0.2.2962",
4
4
  "description": "The conversation surface: chat, trajectory, and session map, the input card, the queue, and turn navigation.",
5
5
  "keywords": [
6
6
  "chat",
@@ -41,7 +41,7 @@
41
41
  "tailwindcss": "^4.0.0",
42
42
  "typescript": "~6.0.3",
43
43
  "vite-plus": "0.2.2",
44
- "@ycodium-ai/plugin-api": "0.2.2958",
44
+ "@ycodium-ai/plugin-api": "0.2.2962",
45
45
  "ycodium-workspace-path": "0.0.0",
46
46
  "ycodium-composer-tokens": "0.0.0"
47
47
  },