@townco/gui-template 0.1.114 → 0.1.115

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.
@@ -1 +1 @@
1
- import{n as h,a as p,s as e,o,r as a,u as t,b as l,l as n,c as s,d as m}from"./vendor-Dm9xAZV8.js";const Qe=1,x=h(),C=p(),w=e(),q=o({_meta:a(t()).optional(),content:e(),path:e(),sessionId:e()}),f=o({_meta:a(t()).optional(),limit:p().optional().nullable(),line:p().optional().nullable(),path:e(),sessionId:e()}),M=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),k=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),v=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),O=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),F=a(t()),U=l([n("assistant"),n("user")]),z=o({_meta:a(t()).optional(),mimeType:e().optional().nullable(),text:e(),uri:e()}),N=o({_meta:a(t()).optional(),blob:e(),mimeType:e().optional().nullable(),uri:e()}),b=l([n("read"),n("edit"),n("delete"),n("move"),n("search"),n("execute"),n("think"),n("fetch"),n("switch_mode"),n("other")]),_=l([n("pending"),n("in_progress"),n("completed"),n("failed")]),S=o({code:p(),data:a(t()).optional(),message:e()}),E=o({_meta:a(t()).optional()}),P=o({_meta:t().optional()}),V=o({_meta:a(t()).optional(),stopReason:l([n("end_turn"),n("max_tokens"),n("max_turn_requests"),n("refusal"),n("cancelled")])}),j=o({_meta:a(t()).optional()}),L=a(t()),B=e(),H=a(t()),K=o({hint:e()}),A=h(),D=p(),G=e(),J=o({_meta:a(t()).optional(),methodId:e()}),Q=o({_meta:a(t()).optional(),modeId:e(),sessionId:e()}),W=o({_meta:a(t()).optional(),modelId:e(),sessionId:e()}),X=a(t()),d=o({_meta:a(t()).optional(),name:e(),value:e()}),i=o({_meta:a(t()).optional(),audience:s(U).optional().nullable(),lastModified:e().optional().nullable(),priority:p().optional().nullable()}),c=l([z,N]),Y=o({_meta:a(t()).optional()}),Z=o({_meta:a(t()).optional(),content:e()}),$=o({_meta:a(t()).optional(),outcome:l([o({outcome:n("cancelled")}),o({optionId:e(),outcome:n("selected")})])}),ee=o({_meta:a(t()).optional(),terminalId:e()}),oe=o({_meta:a(t()).optional()}),te=o({_meta:a(t()).optional(),exitCode:p().optional().nullable(),signal:e().optional().nullable()}),ae=o({_meta:a(t()).optional()}),ne=a(t()),le=o({_meta:a(t()).optional(),sessionId:e()}),ie=a(t()),se=o({_meta:a(t()).optional(),kind:l([n("allow_once"),n("allow_always"),n("reject_once"),n("reject_always")]),name:e(),optionId:e()}),u=l([o({content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),type:n("content")}),o({_meta:a(t()).optional(),newText:e(),oldText:e().optional().nullable(),path:e(),type:n("diff")}),o({terminalId:e(),type:n("terminal")})]),r=o({_meta:a(t()).optional(),line:p().optional().nullable(),path:e()}),y=o({_meta:a(t()).optional(),name:e(),value:e()}),R=o({name:e(),title:e().optional().nullable(),version:e()}),pe=o({_meta:a(t()).optional(),description:e().optional().nullable(),id:e(),name:e()}),me=o({_meta:a(t()).optional(),http:m().optional(),sse:m().optional()}),ce=o({_meta:a(t()).optional(),audio:m().optional(),embeddedContext:m().optional(),image:m().optional()}),ue=o({_meta:a(t()).optional(),description:e().optional().nullable(),modelId:e(),name:e()}),re=o({_meta:a(t()).optional(),description:e().optional().nullable(),id:B,name:e()}),T=o({_meta:a(t()).optional(),availableModels:s(ue),currentModelId:e()}),I=o({_meta:a(t()).optional(),availableModes:s(re),currentModeId:e()}),de=o({_meta:a(t()).optional(),content:e(),priority:l([n("high"),n("medium"),n("low")]),status:l([n("pending"),n("in_progress"),n("completed")])}),he=K,be=o({_meta:a(t()).optional(),readTextFile:m().optional(),writeTextFile:m().optional()}),_e=o({args:s(e()),command:e(),env:s(y),name:e()}),g=l([o({headers:s(d),name:e(),type:n("http"),url:e()}),o({headers:s(d),name:e(),type:n("sse"),url:e()}),_e]),Se=l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),ye=o({_meta:a(t()).optional(),exitCode:p().optional().nullable(),signal:e().optional().nullable()}),Re=l([le,ie]),Te=o({_meta:a(t()).optional(),options:s(se),sessionId:e(),toolCall:o({_meta:a(t()).optional(),content:s(u).optional().nullable(),kind:b.optional().nullable(),locations:s(r).optional().nullable(),rawInput:a(t()).optional(),rawOutput:a(t()).optional(),status:_.optional().nullable(),title:e().optional().nullable(),toolCallId:e()})}),Ie=o({_meta:a(t()).optional(),args:s(e()).optional(),command:e(),cwd:e().optional().nullable(),env:s(y).optional(),outputByteLimit:p().optional().nullable(),sessionId:e()}),ge=o({_meta:a(t()).optional(),models:T.optional().nullable(),modes:I.optional().nullable(),sessionId:e()}),xe=o({_meta:a(t()).optional(),models:T.optional().nullable(),modes:I.optional().nullable()}),Ce=o({method:e(),params:Re.optional().nullable()}),we=o({_meta:a(t()).optional(),cwd:e(),mcpServers:s(g)}),qe=o({_meta:a(t()).optional(),cwd:e(),mcpServers:s(g),sessionId:e()}),fe=o({_meta:a(t()).optional(),prompt:s(Se),sessionId:e()}),Me=o({_meta:a(t()).optional(),exitStatus:ye.optional().nullable(),output:e(),truncated:m()}),ke=l([q,f,Te,Ie,M,k,v,O,F]),ve=o({_meta:a(t()).optional(),loadSession:m().optional(),mcpCapabilities:me.optional(),promptCapabilities:ce.optional()}),Oe=o({_meta:a(t()).optional(),description:e(),input:he.optional().nullable(),name:e()}),Fe=o({_meta:a(t()).optional(),fs:be.optional(),terminal:m().optional()}),Ue=o({id:l([x,C,w]),method:e(),params:ke.optional().nullable()}),ze=o({_meta:a(t()).optional(),agentCapabilities:ve.optional(),agentInfo:R.optional().nullable(),authMethods:s(pe).optional(),protocolVersion:p()}),Ne=o({_meta:a(t()).optional(),sessionId:e(),update:l([o({_meta:a(t()).optional(),content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),sessionUpdate:n("user_message_chunk")}),o({_meta:a(t()).optional(),content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),sessionUpdate:n("agent_message_chunk")}),o({_meta:a(t()).optional(),content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),sessionUpdate:n("agent_thought_chunk")}),o({_meta:a(t()).optional(),content:s(u).optional(),kind:l([n("read"),n("edit"),n("delete"),n("move"),n("search"),n("execute"),n("think"),n("fetch"),n("switch_mode"),n("other")]).optional(),locations:s(r).optional(),rawInput:a(t()).optional(),rawOutput:a(t()).optional(),sessionUpdate:n("tool_call"),status:l([n("pending"),n("in_progress"),n("completed"),n("failed")]).optional(),title:e(),toolCallId:e()}),o({_meta:a(t()).optional(),content:s(u).optional().nullable(),kind:b.optional().nullable(),locations:s(r).optional().nullable(),rawInput:a(t()).optional(),rawOutput:a(t()).optional(),sessionUpdate:n("tool_call_update"),status:_.optional().nullable(),title:e().optional().nullable(),toolCallId:e()}),o({_meta:a(t()).optional(),entries:s(de),sessionUpdate:n("plan")}),o({_meta:a(t()).optional(),availableCommands:s(Oe),sessionUpdate:n("available_commands_update")}),o({_meta:a(t()).optional(),currentModeId:e(),sessionUpdate:n("current_mode_update")})])}),Ee=o({_meta:a(t()).optional(),clientCapabilities:Fe.optional(),clientInfo:R.optional().nullable(),protocolVersion:p()}),Pe=l([Y,Z,$,ee,Me,oe,te,ae,ne]),Ve=l([Ne,H]),je=l([Ee,J,we,qe,Q,fe,W,X]),Le=o({method:e(),params:Ve.optional().nullable()}),Be=l([ze,E,ge,xe,P,V,j,L]),He=o({id:l([A,D,G]),method:e(),params:je.optional().nullable()}),Ke=l([o({result:Pe}),o({error:S})]),Ae=l([He,Ke,Ce]),De=l([o({result:Be}),o({error:S})]),Ge=l([Ue,De,Le]);l([Ge,Ae]);export{Qe as P,Ge as a};
1
+ import{n as h,a as p,s as e,o,r as a,u as t,b as l,l as n,c as s,d as m}from"./vendor-B9CCG_zb.js";const Qe=1,x=h(),C=p(),w=e(),q=o({_meta:a(t()).optional(),content:e(),path:e(),sessionId:e()}),f=o({_meta:a(t()).optional(),limit:p().optional().nullable(),line:p().optional().nullable(),path:e(),sessionId:e()}),M=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),k=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),v=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),O=o({_meta:a(t()).optional(),sessionId:e(),terminalId:e()}),F=a(t()),U=l([n("assistant"),n("user")]),z=o({_meta:a(t()).optional(),mimeType:e().optional().nullable(),text:e(),uri:e()}),N=o({_meta:a(t()).optional(),blob:e(),mimeType:e().optional().nullable(),uri:e()}),b=l([n("read"),n("edit"),n("delete"),n("move"),n("search"),n("execute"),n("think"),n("fetch"),n("switch_mode"),n("other")]),_=l([n("pending"),n("in_progress"),n("completed"),n("failed")]),S=o({code:p(),data:a(t()).optional(),message:e()}),E=o({_meta:a(t()).optional()}),P=o({_meta:t().optional()}),V=o({_meta:a(t()).optional(),stopReason:l([n("end_turn"),n("max_tokens"),n("max_turn_requests"),n("refusal"),n("cancelled")])}),j=o({_meta:a(t()).optional()}),L=a(t()),B=e(),H=a(t()),K=o({hint:e()}),A=h(),D=p(),G=e(),J=o({_meta:a(t()).optional(),methodId:e()}),Q=o({_meta:a(t()).optional(),modeId:e(),sessionId:e()}),W=o({_meta:a(t()).optional(),modelId:e(),sessionId:e()}),X=a(t()),d=o({_meta:a(t()).optional(),name:e(),value:e()}),i=o({_meta:a(t()).optional(),audience:s(U).optional().nullable(),lastModified:e().optional().nullable(),priority:p().optional().nullable()}),c=l([z,N]),Y=o({_meta:a(t()).optional()}),Z=o({_meta:a(t()).optional(),content:e()}),$=o({_meta:a(t()).optional(),outcome:l([o({outcome:n("cancelled")}),o({optionId:e(),outcome:n("selected")})])}),ee=o({_meta:a(t()).optional(),terminalId:e()}),oe=o({_meta:a(t()).optional()}),te=o({_meta:a(t()).optional(),exitCode:p().optional().nullable(),signal:e().optional().nullable()}),ae=o({_meta:a(t()).optional()}),ne=a(t()),le=o({_meta:a(t()).optional(),sessionId:e()}),ie=a(t()),se=o({_meta:a(t()).optional(),kind:l([n("allow_once"),n("allow_always"),n("reject_once"),n("reject_always")]),name:e(),optionId:e()}),u=l([o({content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),type:n("content")}),o({_meta:a(t()).optional(),newText:e(),oldText:e().optional().nullable(),path:e(),type:n("diff")}),o({terminalId:e(),type:n("terminal")})]),r=o({_meta:a(t()).optional(),line:p().optional().nullable(),path:e()}),y=o({_meta:a(t()).optional(),name:e(),value:e()}),R=o({name:e(),title:e().optional().nullable(),version:e()}),pe=o({_meta:a(t()).optional(),description:e().optional().nullable(),id:e(),name:e()}),me=o({_meta:a(t()).optional(),http:m().optional(),sse:m().optional()}),ce=o({_meta:a(t()).optional(),audio:m().optional(),embeddedContext:m().optional(),image:m().optional()}),ue=o({_meta:a(t()).optional(),description:e().optional().nullable(),modelId:e(),name:e()}),re=o({_meta:a(t()).optional(),description:e().optional().nullable(),id:B,name:e()}),T=o({_meta:a(t()).optional(),availableModels:s(ue),currentModelId:e()}),I=o({_meta:a(t()).optional(),availableModes:s(re),currentModeId:e()}),de=o({_meta:a(t()).optional(),content:e(),priority:l([n("high"),n("medium"),n("low")]),status:l([n("pending"),n("in_progress"),n("completed")])}),he=K,be=o({_meta:a(t()).optional(),readTextFile:m().optional(),writeTextFile:m().optional()}),_e=o({args:s(e()),command:e(),env:s(y),name:e()}),g=l([o({headers:s(d),name:e(),type:n("http"),url:e()}),o({headers:s(d),name:e(),type:n("sse"),url:e()}),_e]),Se=l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),ye=o({_meta:a(t()).optional(),exitCode:p().optional().nullable(),signal:e().optional().nullable()}),Re=l([le,ie]),Te=o({_meta:a(t()).optional(),options:s(se),sessionId:e(),toolCall:o({_meta:a(t()).optional(),content:s(u).optional().nullable(),kind:b.optional().nullable(),locations:s(r).optional().nullable(),rawInput:a(t()).optional(),rawOutput:a(t()).optional(),status:_.optional().nullable(),title:e().optional().nullable(),toolCallId:e()})}),Ie=o({_meta:a(t()).optional(),args:s(e()).optional(),command:e(),cwd:e().optional().nullable(),env:s(y).optional(),outputByteLimit:p().optional().nullable(),sessionId:e()}),ge=o({_meta:a(t()).optional(),models:T.optional().nullable(),modes:I.optional().nullable(),sessionId:e()}),xe=o({_meta:a(t()).optional(),models:T.optional().nullable(),modes:I.optional().nullable()}),Ce=o({method:e(),params:Re.optional().nullable()}),we=o({_meta:a(t()).optional(),cwd:e(),mcpServers:s(g)}),qe=o({_meta:a(t()).optional(),cwd:e(),mcpServers:s(g),sessionId:e()}),fe=o({_meta:a(t()).optional(),prompt:s(Se),sessionId:e()}),Me=o({_meta:a(t()).optional(),exitStatus:ye.optional().nullable(),output:e(),truncated:m()}),ke=l([q,f,Te,Ie,M,k,v,O,F]),ve=o({_meta:a(t()).optional(),loadSession:m().optional(),mcpCapabilities:me.optional(),promptCapabilities:ce.optional()}),Oe=o({_meta:a(t()).optional(),description:e(),input:he.optional().nullable(),name:e()}),Fe=o({_meta:a(t()).optional(),fs:be.optional(),terminal:m().optional()}),Ue=o({id:l([x,C,w]),method:e(),params:ke.optional().nullable()}),ze=o({_meta:a(t()).optional(),agentCapabilities:ve.optional(),agentInfo:R.optional().nullable(),authMethods:s(pe).optional(),protocolVersion:p()}),Ne=o({_meta:a(t()).optional(),sessionId:e(),update:l([o({_meta:a(t()).optional(),content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),sessionUpdate:n("user_message_chunk")}),o({_meta:a(t()).optional(),content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),sessionUpdate:n("agent_message_chunk")}),o({_meta:a(t()).optional(),content:l([o({_meta:a(t()).optional(),annotations:i.optional().nullable(),text:e(),type:n("text")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("image"),uri:e().optional().nullable()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),data:e(),mimeType:e(),type:n("audio")}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),description:e().optional().nullable(),mimeType:e().optional().nullable(),name:e(),size:p().optional().nullable(),title:e().optional().nullable(),type:n("resource_link"),uri:e()}),o({_meta:a(t()).optional(),annotations:i.optional().nullable(),resource:c,type:n("resource")})]),sessionUpdate:n("agent_thought_chunk")}),o({_meta:a(t()).optional(),content:s(u).optional(),kind:l([n("read"),n("edit"),n("delete"),n("move"),n("search"),n("execute"),n("think"),n("fetch"),n("switch_mode"),n("other")]).optional(),locations:s(r).optional(),rawInput:a(t()).optional(),rawOutput:a(t()).optional(),sessionUpdate:n("tool_call"),status:l([n("pending"),n("in_progress"),n("completed"),n("failed")]).optional(),title:e(),toolCallId:e()}),o({_meta:a(t()).optional(),content:s(u).optional().nullable(),kind:b.optional().nullable(),locations:s(r).optional().nullable(),rawInput:a(t()).optional(),rawOutput:a(t()).optional(),sessionUpdate:n("tool_call_update"),status:_.optional().nullable(),title:e().optional().nullable(),toolCallId:e()}),o({_meta:a(t()).optional(),entries:s(de),sessionUpdate:n("plan")}),o({_meta:a(t()).optional(),availableCommands:s(Oe),sessionUpdate:n("available_commands_update")}),o({_meta:a(t()).optional(),currentModeId:e(),sessionUpdate:n("current_mode_update")})])}),Ee=o({_meta:a(t()).optional(),clientCapabilities:Fe.optional(),clientInfo:R.optional().nullable(),protocolVersion:p()}),Pe=l([Y,Z,$,ee,Me,oe,te,ae,ne]),Ve=l([Ne,H]),je=l([Ee,J,we,qe,Q,fe,W,X]),Le=o({method:e(),params:Ve.optional().nullable()}),Be=l([ze,E,ge,xe,P,V,j,L]),He=o({id:l([A,D,G]),method:e(),params:je.optional().nullable()}),Ke=l([o({result:Pe}),o({error:S})]),Ae=l([He,Ke,Ce]),De=l([o({result:Be}),o({error:S})]),Ge=l([Ue,De,Le]);l([Ge,Ae]);export{Qe as P,Ge as a};
@@ -1,4 +1,4 @@
1
- import{r as m,j as k}from"./react-DiSrVJhY.js";import{i as si,p as nt,e as bt,m as S,t as Q,f as Ht,g as on,h as rn,j as an,k as D,q as Z,K as oi,v as Gt,w as T,x as $,y as ri,z as ai,A as li,B as ui,S as ln,C as zt,D as ci,E as hi,F as fi,G as di,M as dt,H as _t,I as ct,J as ue,L as mi,N as pi,O as gi,P as un,Q as L,R as cn,T as yi,U as Bt,V as hn,W as vi,X as mt,Y,Z as fn,_ as dn,$ as xi,a0 as Pi,a1 as Ti,a2 as Vt,a3 as Vi,a4 as Si}from"./vendor-Dm9xAZV8.js";const Kt=m.createContext({});function Xt(t){const e=m.useRef(null);return e.current===null&&(e.current=t()),e.current}const Yt=typeof window<"u",mn=Yt?m.useLayoutEffect:m.useEffect,vt=m.createContext(null),qt=m.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});function ce(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Ci(...t){return e=>{let n=!1;const i=t.map(o=>{const r=ce(o,e);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let o=0;o<i.length;o++){const r=i[o];typeof r=="function"?r():ce(t[o],null)}}}}function Ai(...t){return m.useCallback(Ci(...t),t)}class wi extends m.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(n&&e.isPresent&&!this.props.isPresent){const i=n.offsetParent,o=si(i)&&i.offsetWidth||0,r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft,r.right=o-r.width-r.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Di({children:t,isPresent:e,anchorX:n,root:i}){const o=m.useId(),r=m.useRef(null),s=m.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=m.useContext(qt),l=Ai(r,t?.ref);return m.useInsertionEffect(()=>{const{width:c,height:u,top:h,left:f,right:d}=s.current;if(e||!r.current||!c||!u)return;const p=n==="left"?`left: ${f}`:`right: ${d}`;r.current.dataset.motionPopId=o;const v=document.createElement("style");a&&(v.nonce=a);const P=i??document.head;return P.appendChild(v),v.sheet&&v.sheet.insertRule(`
1
+ import{r as m,j as k}from"./react-BxR0bfXp.js";import{i as si,p as nt,e as bt,m as S,t as Q,f as Ht,g as on,h as rn,j as an,k as D,q as Z,K as oi,v as Gt,w as T,x as $,y as ri,z as ai,A as li,B as ui,S as ln,C as zt,D as ci,E as hi,F as fi,G as di,M as dt,H as _t,I as ct,J as ue,L as mi,N as pi,O as gi,P as un,Q as L,R as cn,T as yi,U as Bt,V as hn,W as vi,X as mt,Y,Z as fn,_ as dn,$ as xi,a0 as Pi,a1 as Ti,a2 as Vt,a3 as Vi,a4 as Si}from"./vendor-B9CCG_zb.js";const Kt=m.createContext({});function Xt(t){const e=m.useRef(null);return e.current===null&&(e.current=t()),e.current}const Yt=typeof window<"u",mn=Yt?m.useLayoutEffect:m.useEffect,vt=m.createContext(null),qt=m.createContext({transformPagePoint:t=>t,isStatic:!1,reducedMotion:"never"});function ce(t,e){if(typeof t=="function")return t(e);t!=null&&(t.current=e)}function Ci(...t){return e=>{let n=!1;const i=t.map(o=>{const r=ce(o,e);return!n&&typeof r=="function"&&(n=!0),r});if(n)return()=>{for(let o=0;o<i.length;o++){const r=i[o];typeof r=="function"?r():ce(t[o],null)}}}}function Ai(...t){return m.useCallback(Ci(...t),t)}class wi extends m.Component{getSnapshotBeforeUpdate(e){const n=this.props.childRef.current;if(n&&e.isPresent&&!this.props.isPresent){const i=n.offsetParent,o=si(i)&&i.offsetWidth||0,r=this.props.sizeRef.current;r.height=n.offsetHeight||0,r.width=n.offsetWidth||0,r.top=n.offsetTop,r.left=n.offsetLeft,r.right=o-r.width-r.left}return null}componentDidUpdate(){}render(){return this.props.children}}function Di({children:t,isPresent:e,anchorX:n,root:i}){const o=m.useId(),r=m.useRef(null),s=m.useRef({width:0,height:0,top:0,left:0,right:0}),{nonce:a}=m.useContext(qt),l=Ai(r,t?.ref);return m.useInsertionEffect(()=>{const{width:c,height:u,top:h,left:f,right:d}=s.current;if(e||!r.current||!c||!u)return;const p=n==="left"?`left: ${f}`:`right: ${d}`;r.current.dataset.motionPopId=o;const v=document.createElement("style");a&&(v.nonce=a);const P=i??document.head;return P.appendChild(v),v.sheet&&v.sheet.insertRule(`
2
2
  [data-motion-pop-id="${o}"] {
3
3
  position: absolute !important;
4
4
  width: ${c}px !important;
@@ -1 +1 @@
1
- import{r as s}from"./react-DiSrVJhY.js";const x=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),u=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),p=t=>{const a=u(t);return a.charAt(0).toUpperCase()+a.slice(1)},m=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),v=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var $={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const g=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:h="",children:n,iconNode:y,...r},i)=>s.createElement("svg",{ref:i,...$,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:m("lucide",h),...!n&&!v(r)&&{"aria-hidden":"true"},...r},[...y.map(([k,l])=>s.createElement(k,l)),...Array.isArray(n)?n:[n]]));const e=(t,a)=>{const c=s.forwardRef(({className:o,...h},n)=>s.createElement(g,{ref:n,iconNode:a,className:m(`lucide-${x(p(t))}`,`lucide-${t}`,o),...h}));return c.displayName=p(t),c};const f=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Z1=e("arrow-down",f);const w=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],D1=e("arrow-up",w);const N=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]],R1=e("brain-circuit",N);const C=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],B1=e("bug",C);const b=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],F1=e("check",b);const j=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],U1=e("chevron-down",j);const z=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],I1=e("chevron-right",z);const q=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],W1=e("chevron-up",q);const A=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],O1=e("chevrons-up-down",A);const L=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],T1=e("circle-alert",L);const V=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],K1=e("circle-check",V);const H=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]],G1=e("circle-dot",H);const E=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],X1=e("circle",E);const P=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],J1=e("cloud",P);const S=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Q1=e("copy",S);const Z=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Y1=e("database",Z);const D=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],ee=e("download",D);const R=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]],ae=e("ellipsis-vertical",R);const B=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],te=e("ellipsis",B);const F=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],ce=e("external-link",F);const U=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],oe=e("file-code",U);const I=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],ne=e("file-spreadsheet",I);const W=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],se=e("file-text",W);const O=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]],de=e("file-type",O);const T=[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3-3-3 3",key:"e37ymu"}],["path",{d:"m15 5-3 3-3-3",key:"19d6lf"}]],he=e("fold-vertical",T);const K=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],re=e("folder-open",K);const G=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],ye=e("folder",G);const X=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],ie=e("globe",X);const J=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],ke=e("image",J);const Q=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],le=e("link-2",Q);const Y=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],pe=e("link",Y);const e1=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]],_e=e("list-video",e1);const a1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],me=e("loader-circle",a1);const t1=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Me=e("menu",t1);const c1=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],xe=e("mic",c1);const o1=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],ue=e("moon",o1);const n1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],ve=e("panel-left",n1);const s1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],$e=e("panel-right",s1);const d1=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],ge=e("paperclip",d1);const h1=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],fe=e("pencil",h1);const r1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],we=e("plus",r1);const y1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Ne=e("rotate-ccw",y1);const i1=[["path",{d:"M5.42 9.42 8 12",key:"12pkuq"}],["circle",{cx:"4",cy:"8",r:"2",key:"107mxr"}],["path",{d:"m14 6-8.58 8.58",key:"gvzu5l"}],["circle",{cx:"4",cy:"16",r:"2",key:"1ehqvc"}],["path",{d:"M10.8 14.8 14 18",key:"ax7m9r"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}]],Ce=e("scissors-line-dashed",i1);const k1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],be=e("search",k1);const l1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],je=e("settings",l1);const p1=[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],ze=e("square-check-big",p1);const _1=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],qe=e("square-pen",_1);const m1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]],Ae=e("square-slash",m1);const M1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Le=e("square",M1);const x1=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Ve=e("sun",x1);const u1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],He=e("terminal",u1);const v1=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Ee=e("triangle-alert",v1);const $1=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Pe=e("wrench",$1);const g1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Se=e("x",g1);const f1=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),w1=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),_=t=>{const a=w1(t);return a.charAt(0).toUpperCase()+a.slice(1)},M=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),N1=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var C1={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const b1=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:h="",children:n,iconNode:y,...r},i)=>s.createElement("svg",{ref:i,...C1,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:M("lucide",h),...!n&&!N1(r)&&{"aria-hidden":"true"},...r},[...y.map(([k,l])=>s.createElement(k,l)),...Array.isArray(n)?n:[n]]));const d=(t,a)=>{const c=s.forwardRef(({className:o,...h},n)=>s.createElement(b1,{ref:n,iconNode:a,className:M(`lucide-${f1(_(t))}`,`lucide-${t}`,o),...h}));return c.displayName=_(t),c};const j1=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ze=d("check",j1);const z1=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],De=d("copy",z1);const q1=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],Re=d("download",q1);const A1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Be=d("loader-circle",A1);const L1=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Fe=d("maximize-2",L1);const V1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Ue=d("rotate-ccw",V1);const H1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ie=d("x",H1);const E1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],We=d("zoom-in",E1);const P1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],Oe=d("zoom-out",P1);export{Pe as $,Z1 as A,B1 as B,Ze as C,Re as D,te as E,re as F,ie as G,fe as H,me as I,T1 as J,he as K,Be as L,Fe as M,Ne as N,ee as O,ve as P,ne as Q,Ue as R,Ve as S,Ee as T,de as U,_e as V,Ce as W,Ie as X,G1 as Y,We as Z,R1 as _,Oe as a,qe as a0,be as a1,J1 as a2,pe as a3,ke as a4,He as a5,O1 as a6,W1 as a7,Me as a8,De as b,I1 as c,F1 as d,X1 as e,ue as f,we as g,je as h,Le as i,Ae as j,ge as k,xe as l,U1 as m,Se as n,ye as o,oe as p,ae as q,se as r,K1 as s,ze as t,Y1 as u,le as v,$e as w,D1 as x,ce as y,Q1 as z};
1
+ import{r as s}from"./react-BxR0bfXp.js";const x=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),u=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),p=t=>{const a=u(t);return a.charAt(0).toUpperCase()+a.slice(1)},m=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),v=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var $={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const g=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:h="",children:n,iconNode:y,...r},i)=>s.createElement("svg",{ref:i,...$,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:m("lucide",h),...!n&&!v(r)&&{"aria-hidden":"true"},...r},[...y.map(([k,l])=>s.createElement(k,l)),...Array.isArray(n)?n:[n]]));const e=(t,a)=>{const c=s.forwardRef(({className:o,...h},n)=>s.createElement(g,{ref:n,iconNode:a,className:m(`lucide-${x(p(t))}`,`lucide-${t}`,o),...h}));return c.displayName=p(t),c};const f=[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]],Z1=e("arrow-down",f);const w=[["path",{d:"m5 12 7-7 7 7",key:"hav0vg"}],["path",{d:"M12 19V5",key:"x0mq9r"}]],D1=e("arrow-up",w);const N=[["path",{d:"M12 5a3 3 0 1 0-5.997.125 4 4 0 0 0-2.526 5.77 4 4 0 0 0 .556 6.588A4 4 0 1 0 12 18Z",key:"l5xja"}],["path",{d:"M9 13a4.5 4.5 0 0 0 3-4",key:"10igwf"}],["path",{d:"M6.003 5.125A3 3 0 0 0 6.401 6.5",key:"105sqy"}],["path",{d:"M3.477 10.896a4 4 0 0 1 .585-.396",key:"ql3yin"}],["path",{d:"M6 18a4 4 0 0 1-1.967-.516",key:"2e4loj"}],["path",{d:"M12 13h4",key:"1ku699"}],["path",{d:"M12 18h6a2 2 0 0 1 2 2v1",key:"105ag5"}],["path",{d:"M12 8h8",key:"1lhi5i"}],["path",{d:"M16 8V5a2 2 0 0 1 2-2",key:"u6izg6"}],["circle",{cx:"16",cy:"13",r:".5",key:"ry7gng"}],["circle",{cx:"18",cy:"3",r:".5",key:"1aiba7"}],["circle",{cx:"20",cy:"21",r:".5",key:"yhc1fs"}],["circle",{cx:"20",cy:"8",r:".5",key:"1e43v0"}]],R1=e("brain-circuit",N);const C=[["path",{d:"M12 20v-9",key:"1qisl0"}],["path",{d:"M14 7a4 4 0 0 1 4 4v3a6 6 0 0 1-12 0v-3a4 4 0 0 1 4-4z",key:"uouzyp"}],["path",{d:"M14.12 3.88 16 2",key:"qol33r"}],["path",{d:"M21 21a4 4 0 0 0-3.81-4",key:"1b0z45"}],["path",{d:"M21 5a4 4 0 0 1-3.55 3.97",key:"5cxbf6"}],["path",{d:"M22 13h-4",key:"1jl80f"}],["path",{d:"M3 21a4 4 0 0 1 3.81-4",key:"1fjd4g"}],["path",{d:"M3 5a4 4 0 0 0 3.55 3.97",key:"1d7oge"}],["path",{d:"M6 13H2",key:"82j7cp"}],["path",{d:"m8 2 1.88 1.88",key:"fmnt4t"}],["path",{d:"M9 7.13V6a3 3 0 1 1 6 0v1.13",key:"1vgav8"}]],B1=e("bug",C);const b=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],F1=e("check",b);const j=[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]],U1=e("chevron-down",j);const z=[["path",{d:"m9 18 6-6-6-6",key:"mthhwq"}]],I1=e("chevron-right",z);const q=[["path",{d:"m18 15-6-6-6 6",key:"153udz"}]],W1=e("chevron-up",q);const A=[["path",{d:"m7 15 5 5 5-5",key:"1hf1tw"}],["path",{d:"m7 9 5-5 5 5",key:"sgt6xg"}]],O1=e("chevrons-up-down",A);const L=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]],T1=e("circle-alert",L);const V=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],K1=e("circle-check",V);const H=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}]],G1=e("circle-dot",H);const E=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]],X1=e("circle",E);const P=[["path",{d:"M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z",key:"p7xjir"}]],J1=e("cloud",P);const S=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],Q1=e("copy",S);const Z=[["ellipse",{cx:"12",cy:"5",rx:"9",ry:"3",key:"msslwz"}],["path",{d:"M3 5V19A9 3 0 0 0 21 19V5",key:"1wlel7"}],["path",{d:"M3 12A9 3 0 0 0 21 12",key:"mv7ke4"}]],Y1=e("database",Z);const D=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],ee=e("download",D);const R=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"12",cy:"5",r:"1",key:"gxeob9"}],["circle",{cx:"12",cy:"19",r:"1",key:"lyex9k"}]],ae=e("ellipsis-vertical",R);const B=[["circle",{cx:"12",cy:"12",r:"1",key:"41hilf"}],["circle",{cx:"19",cy:"12",r:"1",key:"1wjl8i"}],["circle",{cx:"5",cy:"12",r:"1",key:"1pcz8c"}]],te=e("ellipsis",B);const F=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]],ce=e("external-link",F);const U=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 12.5 8 15l2 2.5",key:"1tg20x"}],["path",{d:"m14 12.5 2 2.5-2 2.5",key:"yinavb"}]],oe=e("file-code",U);const I=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M8 13h2",key:"yr2amv"}],["path",{d:"M14 13h2",key:"un5t4a"}],["path",{d:"M8 17h2",key:"2yhykz"}],["path",{d:"M14 17h2",key:"10kma7"}]],ne=e("file-spreadsheet",I);const W=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]],se=e("file-text",W);const O=[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M11 18h2",key:"12mj7e"}],["path",{d:"M12 12v6",key:"3ahymv"}],["path",{d:"M9 13v-.5a.5.5 0 0 1 .5-.5h5a.5.5 0 0 1 .5.5v.5",key:"qbrxap"}]],de=e("file-type",O);const T=[["path",{d:"M12 22v-6",key:"6o8u61"}],["path",{d:"M12 8V2",key:"1wkif3"}],["path",{d:"M4 12H2",key:"rhcxmi"}],["path",{d:"M10 12H8",key:"s88cx1"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}],["path",{d:"m15 19-3-3-3 3",key:"e37ymu"}],["path",{d:"m15 5-3 3-3-3",key:"19d6lf"}]],he=e("fold-vertical",T);const K=[["path",{d:"m6 14 1.5-2.9A2 2 0 0 1 9.24 10H20a2 2 0 0 1 1.94 2.5l-1.54 6a2 2 0 0 1-1.95 1.5H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H18a2 2 0 0 1 2 2v2",key:"usdka0"}]],re=e("folder-open",K);const G=[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]],ye=e("folder",G);const X=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]],ie=e("globe",X);const J=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",ry:"2",key:"1m3agn"}],["circle",{cx:"9",cy:"9",r:"2",key:"af1f0g"}],["path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21",key:"1xmnt7"}]],ke=e("image",J);const Q=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],le=e("link-2",Q);const Y=[["path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71",key:"1cjeqo"}],["path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71",key:"19qd67"}]],pe=e("link",Y);const e1=[["path",{d:"M21 5H3",key:"1fi0y6"}],["path",{d:"M10 12H3",key:"1ulcyk"}],["path",{d:"M10 19H3",key:"108z41"}],["path",{d:"M15 12.003a1 1 0 0 1 1.517-.859l4.997 2.997a1 1 0 0 1 0 1.718l-4.997 2.997a1 1 0 0 1-1.517-.86z",key:"ms4nik"}]],_e=e("list-video",e1);const a1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],me=e("loader-circle",a1);const t1=[["path",{d:"M4 5h16",key:"1tepv9"}],["path",{d:"M4 12h16",key:"1lakjw"}],["path",{d:"M4 19h16",key:"1djgab"}]],Me=e("menu",t1);const c1=[["path",{d:"M12 19v3",key:"npa21l"}],["path",{d:"M19 10v2a7 7 0 0 1-14 0v-2",key:"1vc78b"}],["rect",{x:"9",y:"2",width:"6",height:"13",rx:"3",key:"s6n7sd"}]],xe=e("mic",c1);const o1=[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]],ue=e("moon",o1);const n1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]],ve=e("panel-left",n1);const s1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M15 3v18",key:"14nvp0"}]],$e=e("panel-right",s1);const d1=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],ge=e("paperclip",d1);const h1=[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]],fe=e("pencil",h1);const r1=[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]],we=e("plus",r1);const y1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Ne=e("rotate-ccw",y1);const i1=[["path",{d:"M5.42 9.42 8 12",key:"12pkuq"}],["circle",{cx:"4",cy:"8",r:"2",key:"107mxr"}],["path",{d:"m14 6-8.58 8.58",key:"gvzu5l"}],["circle",{cx:"4",cy:"16",r:"2",key:"1ehqvc"}],["path",{d:"M10.8 14.8 14 18",key:"ax7m9r"}],["path",{d:"M16 12h-2",key:"10asgb"}],["path",{d:"M22 12h-2",key:"14jgyd"}]],Ce=e("scissors-line-dashed",i1);const k1=[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]],be=e("search",k1);const l1=[["path",{d:"M9.671 4.136a2.34 2.34 0 0 1 4.659 0 2.34 2.34 0 0 0 3.319 1.915 2.34 2.34 0 0 1 2.33 4.033 2.34 2.34 0 0 0 0 3.831 2.34 2.34 0 0 1-2.33 4.033 2.34 2.34 0 0 0-3.319 1.915 2.34 2.34 0 0 1-4.659 0 2.34 2.34 0 0 0-3.32-1.915 2.34 2.34 0 0 1-2.33-4.033 2.34 2.34 0 0 0 0-3.831A2.34 2.34 0 0 1 6.35 6.051a2.34 2.34 0 0 0 3.319-1.915",key:"1i5ecw"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]],je=e("settings",l1);const p1=[["path",{d:"M21 10.656V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h12.344",key:"2acyp4"}],["path",{d:"m9 11 3 3L22 4",key:"1pflzl"}]],ze=e("square-check-big",p1);const _1=[["path",{d:"M12 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7",key:"1m0v6g"}],["path",{d:"M18.375 2.625a1 1 0 0 1 3 3l-9.013 9.014a2 2 0 0 1-.853.505l-2.873.84a.5.5 0 0 1-.62-.62l.84-2.873a2 2 0 0 1 .506-.852z",key:"ohrbg2"}]],qe=e("square-pen",_1);const m1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]],Ae=e("square-slash",m1);const M1=[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}]],Le=e("square",M1);const x1=[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]],Ve=e("sun",x1);const u1=[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]],He=e("terminal",u1);const v1=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],Ee=e("triangle-alert",v1);const $1=[["path",{d:"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.106-3.105c.32-.322.863-.22.983.218a6 6 0 0 1-8.259 7.057l-7.91 7.91a1 1 0 0 1-2.999-3l7.91-7.91a6 6 0 0 1 7.057-8.259c.438.12.54.662.219.984z",key:"1ngwbx"}]],Pe=e("wrench",$1);const g1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Se=e("x",g1);const f1=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),w1=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(a,c,o)=>o?o.toUpperCase():c.toLowerCase()),_=t=>{const a=w1(t);return a.charAt(0).toUpperCase()+a.slice(1)},M=(...t)=>t.filter((a,c,o)=>!!a&&a.trim()!==""&&o.indexOf(a)===c).join(" ").trim(),N1=t=>{for(const a in t)if(a.startsWith("aria-")||a==="role"||a==="title")return!0};var C1={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};const b1=s.forwardRef(({color:t="currentColor",size:a=24,strokeWidth:c=2,absoluteStrokeWidth:o,className:h="",children:n,iconNode:y,...r},i)=>s.createElement("svg",{ref:i,...C1,width:a,height:a,stroke:t,strokeWidth:o?Number(c)*24/Number(a):c,className:M("lucide",h),...!n&&!N1(r)&&{"aria-hidden":"true"},...r},[...y.map(([k,l])=>s.createElement(k,l)),...Array.isArray(n)?n:[n]]));const d=(t,a)=>{const c=s.forwardRef(({className:o,...h},n)=>s.createElement(b1,{ref:n,iconNode:a,className:M(`lucide-${f1(_(t))}`,`lucide-${t}`,o),...h}));return c.displayName=_(t),c};const j1=[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]],Ze=d("check",j1);const z1=[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]],De=d("copy",z1);const q1=[["path",{d:"M12 15V3",key:"m9g1x1"}],["path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4",key:"ih7n3h"}],["path",{d:"m7 10 5 5 5-5",key:"brsn70"}]],Re=d("download",q1);const A1=[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]],Be=d("loader-circle",A1);const L1=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],Fe=d("maximize-2",L1);const V1=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],Ue=d("rotate-ccw",V1);const H1=[["path",{d:"M18 6 6 18",key:"1bl5f8"}],["path",{d:"m6 6 12 12",key:"d8bk6v"}]],Ie=d("x",H1);const E1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],We=d("zoom-in",E1);const P1=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],Oe=d("zoom-out",P1);export{Pe as $,Z1 as A,B1 as B,Ze as C,Re as D,te as E,re as F,ie as G,fe as H,me as I,T1 as J,he as K,Be as L,Fe as M,Ne as N,ee as O,ve as P,ne as Q,Ue as R,Ve as S,Ee as T,de as U,_e as V,Ce as W,Ie as X,G1 as Y,We as Z,R1 as _,Oe as a,qe as a0,be as a1,J1 as a2,pe as a3,ke as a4,He as a5,O1 as a6,W1 as a7,Me as a8,De as b,I1 as c,F1 as d,X1 as e,ue as f,we as g,je as h,Le as i,Ae as j,ge as k,xe as l,U1 as m,Se as n,ye as o,oe as p,ae as q,se as r,K1 as s,ze as t,Y1 as u,le as v,$e as w,D1 as x,ce as y,Q1 as z};
@@ -1,4 +1,4 @@
1
- import{r as l,j as e,M as ya,c as et,h as va}from"./react-DiSrVJhY.js";import{bb as $e,bc as wa,bd as os,be as ie,bf as q,bg as w,bh as ee,bi as F,bj as ae,bk as de,bl as it,bm as vt,bn as te,bo as Ne,bp as Bt,bq as ja,br as Na,bs as Ca,bt as Sa,bu as Te,bv as ka,bw as me,am as Ta,bx as Ia,by as rs}from"./vendor-Dm9xAZV8.js";import{P as is,a as Ra}from"./acp-sdk-D4VsTV6L.js";import{S as ye,P as _a,C as _s,a as Ma,R as Ea,T as Aa,b as Ms,c as Es,d as Pa,e as As,I as Ps,f as Ds,g as Us,h as zs,L as $s,i as Ls,j as Da,k as Ua,l as Os,m as Fs,n as Bs,o as za,O as Nt,p as Hs,q as Ct,r as Ws,s as St,D as kt,t as Vs,u as qs,v as $a,w as Ks,x as Ys,y as La,z as Qs,V as Oa,A as Gs,B as Xs,E as Fa,F as Ba,G as Js}from"./radix-BaZ_UeJz.js";import{c as tt,d as lt,e as Tt,P as Ha,E as Wa,S as Zs,f as en,g as Va,h as Ht,i as qa,j as Ka,k as Ya,l as Qa,m as fe,A as Ga,n as It,F as Xa,o as Ja,p as Za,q as eo,r as We,s as Rt,t as _t,G as tn,u as sn,v as nn,B as ls,w as to,x as so,y as no,z as Wt,H as ao,I as Vt,J as wt,T as oo,K as ce,N as ro,O as an,Q as cs,U as io,V as ds,W as at,Y as qt,_ as lo,$ as co,a0 as uo,a1 as mo,a2 as po,a3 as fo,a4 as go,a5 as ho,a6 as xo,a7 as bo,a8 as yo}from"./icons-B0Ax5AoZ.js";import{A as ot,m as ke}from"./framer-motion-DEDjTHcO.js";import{g as on}from"./markdown-jcH7_RT5.js";import"./katex-C5cjGaLm.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();var vo={};const ht=typeof process<"u"&&process.versions?.node;let wo,jo=0;const $t=new Set;function No(t){return $t.add(t),()=>$t.delete(t)}function Co(t){for(const s of $t)s(t)}const us={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},So={trace:$e.TRACE,debug:$e.DEBUG,info:$e.INFO,warn:$e.WARN,error:$e.ERROR,fatal:$e.FATAL};class ko{service;minLevel;logsDir;enableConsoleOutput;constructor(s,n="debug"){this.service=s,this.minLevel=n,typeof process<"u"&&(this.minLevel="info"),this.enableConsoleOutput=typeof process<"u"&&vo?.TOWN_LOG_CONSOLE==="true"||!1}setupFileLogging(){}async writeToFile(s){this.logsDir}shouldLog(s){return us[s]>=us[this.minLevel]}log(s,n,o){if(!this.shouldLog(s))return;const r={id:`log_${++jo}`,timestamp:new Date().toISOString(),level:s,service:this.service,message:n,...o&&{metadata:o}};if(Co(r),ht&&this.logsDir,ht&&this.logsDir){const c={timestamp:r.timestamp,level:r.level,service:r.service,message:r.message,...r.metadata&&{metadata:r.metadata}};this.writeToFile(JSON.stringify(c)).catch(()=>{})}if(ht&&this.enableConsoleOutput){const c=r.timestamp,u=r.level.toUpperCase().padEnd(5),d=`[${this.service}]`,m=r.metadata?` ${JSON.stringify(r.metadata)}`:"";console.log(`${c} ${u} ${d} ${r.message}${m}`)}const i=wa.getLogger(this.service),a=os.trace.getSpan(os.context.active());i.emit({severityNumber:So[s],severityText:s.toUpperCase(),body:n,attributes:{service:this.service,...o&&Object.fromEntries(Object.entries(o).map(([c,u])=>[`log.${c}`,typeof u=="object"?JSON.stringify(u):u])),...a&&{trace_id:a.spanContext().traceId,span_id:a.spanContext().spanId}}})}trace(s,n){this.log("trace",s,n)}debug(s,n){this.log("debug",s,n)}info(s,n){this.log("info",s,n)}warn(s,n){this.log("warn",s,n)}error(s,n){this.log("error",s,n)}fatal(s,n){this.log("fatal",s,n)}}function ue(t,s="debug"){return new ko(t,s)}const rn=ie(["user","assistant","system","tool"]),To=ie(["text","image","file","tool_call","tool_result"]),ct=q({type:To}),Io=ct.extend({type:ee("text"),text:w()}),Ro=ct.extend({type:ee("image"),url:w().url().optional(),source:q({type:ee("base64"),media_type:ie(["image/jpeg","image/png","image/gif","image/webp"]),data:w()}).optional()}),_o=ct.extend({type:ee("file"),name:w(),path:w().optional(),url:w().url().optional(),mimeType:w(),size:F().optional()}),Mo=ct.extend({type:ee("tool_call"),id:w(),name:w(),arguments:ae(w(),de())}),Eo=ct.extend({type:ee("tool_result"),callId:w(),result:de(),error:w().optional()}),ln=it("type",[Io,Ro,_o,Mo,Eo]),cn=q({id:w(),role:rn,content:te(ln),timestamp:vt(),metadata:ae(w(),de()).optional()}),Ao=q({type:ee("content"),id:w(),role:rn,contentDelta:ln,isComplete:Ne(),tokenUsage:q({inputTokens:F().optional(),outputTokens:F().optional(),totalTokens:F().optional()}).optional(),contextInputTokens:F().optional(),_meta:q({context_size:q({systemPromptTokens:F(),userMessagesTokens:F(),assistantMessagesTokens:F(),toolInputTokens:F(),toolResultsTokens:F(),totalEstimated:F(),llmReportedInputTokens:F().optional()}).optional()}).optional()}),Po=q({type:ee("tool_call"),id:w(),toolCall:Bt(),messageId:w().optional()}),Do=q({type:ee("tool_call_update"),id:w(),toolCallUpdate:Bt(),messageId:w().optional()}),Mt=ie(["context_size","tool_response"]),Uo=q({type:ee("hook_triggered"),hookType:Mt,threshold:F(),currentPercentage:F(),callback:w(),triggeredAt:F().optional(),toolCallId:w().optional()}),zo=q({type:ee("hook_completed"),hookType:Mt,callback:w(),metadata:q({action:w().optional(),messagesRemoved:F().optional(),tokensSaved:F().optional()}).passthrough().optional(),completedAt:F().optional(),toolCallId:w().optional()}),$o=q({type:ee("hook_error"),hookType:Mt,callback:w(),error:w(),completedAt:F().optional(),toolCallId:w().optional()}),Lo=it("type",[Uo,zo,$o]),Oo=q({type:ee("hook_notification"),id:w(),notification:Lo,messageId:w().optional()}),dn=q({id:w(),url:w().url(),title:w(),snippet:w().optional(),favicon:w().optional(),toolCallId:w(),sourceName:w().optional()}),Fo=q({type:ee("sources"),sources:te(dn)});it("type",[Ao,Po,Do,Oo,Fo]);const Bo=q({id:w(),url:w().url(),title:w(),snippet:w().optional(),favicon:w().optional(),toolCallId:w(),sourceName:w().optional()}),ms=q({systemPromptTokens:F(),toolOverheadTokens:F().optional(),mcpOverheadTokens:F().optional(),userMessagesTokens:F(),assistantMessagesTokens:F(),toolInputTokens:F(),toolResultsTokens:F(),totalEstimated:F(),llmReportedInputTokens:F().optional(),modelContextWindow:F().optional()}),Kt=ie(["pending","in_progress","completed","failed"]),Ho=ie(["read","edit","delete","move","search","execute","think","fetch","switch_mode","other"]),un=q({path:w(),line:F().nullable().optional()}),Yt=q({inputTokens:F().optional(),outputTokens:F().optional(),totalTokens:F().optional()}),Qt=it("type",[q({type:ee("content"),content:q({type:ee("text"),text:w()})}),q({type:ee("text"),text:w()}),q({type:ee("image"),data:w(),mimeType:w().optional(),alt:w().optional()}),q({type:ee("image"),url:w(),alt:w().optional()}),q({type:ee("diff"),path:w(),oldText:w(),newText:w(),line:F().nullable().optional()}),q({type:ee("terminal"),terminalId:w()})]),mn=q({id:w(),title:w(),prettyName:w().optional(),icon:w().optional(),status:Kt,content:te(Qt).optional()}),Wo=it("type",[q({type:ee("text"),text:w()}),q({type:ee("tool_call"),toolCall:mn})]),pn=q({id:w(),content:w(),toolCalls:te(mn).optional(),contentBlocks:te(Wo).optional(),isStreaming:Ne().optional(),context_size:ms.optional(),_meta:q({semanticName:w().optional(),agentDefinitionName:w().optional(),currentActivity:w().optional(),statusGenerating:Ne().optional(),context_size:ms.optional()}).passthrough().optional()}),fn=q({id:w(),batchId:w().optional(),title:w(),prettyName:w().optional(),icon:w().optional(),verbiage:q({active:w(),past:w(),paramKey:w().optional()}).optional(),subline:w().optional(),kind:Ho,status:Kt,contentPosition:F().optional(),locations:te(un).optional(),rawInput:ae(w(),de()).optional(),rawOutput:ae(w(),de()).optional(),content:te(Qt).optional(),error:w().optional(),startedAt:F().optional(),completedAt:F().optional(),tokenUsage:Yt.optional(),_meta:q({truncationWarning:w().optional(),compactionAction:ie(["compacted","truncated"]).optional(),originalTokens:F().optional(),finalTokens:F().optional(),originalContentPreview:w().optional(),originalContentPath:w().optional()}).optional(),subagentPort:F().optional(),subagentSessionId:w().optional(),subagentMessages:te(pn).optional(),subagentStreaming:Ne().optional(),subagentCompleted:Ne().optional()}),Vo=q({id:w(),status:Kt.optional(),title:w().optional(),prettyName:w().optional(),icon:w().optional(),batchId:w().optional(),rawInput:ae(w(),de()).optional(),locations:te(un).optional(),rawOutput:ae(w(),de()).optional(),content:te(Qt).optional(),error:w().optional(),completedAt:F().optional(),tokenUsage:Yt.optional(),subagentPort:F().optional(),subagentSessionId:w().optional(),subagentMessages:te(pn).optional(),subagentCompleted:Ne().optional(),_meta:q({truncationWarning:w().optional(),compactionAction:ie(["compacted","truncated"]).optional(),originalTokens:F().optional(),finalTokens:F().optional(),originalContentPreview:w().optional(),originalContentPath:w().optional()}).optional()});function ps(t,s){return{...t,status:s.status??t.status,title:s.title??t.title,prettyName:s.prettyName??t.prettyName,icon:s.icon??t.icon,batchId:s.batchId??t.batchId,rawInput:s.rawInput??t.rawInput,locations:s.locations??t.locations,rawOutput:s.rawOutput??t.rawOutput,content:s.content?[...t.content??[],...s.content]:t.content,error:s.error??t.error,completedAt:s.completedAt??t.completedAt,tokenUsage:s.tokenUsage??t.tokenUsage,subagentPort:s.subagentPort??t.subagentPort,subagentSessionId:s.subagentSessionId??t.subagentSessionId,subagentMessages:s.subagentMessages??t.subagentMessages,subagentCompleted:s.subagentCompleted??t.subagentCompleted,_meta:s._meta??t._meta}}const qo=q({mimeType:w(),data:w()}),Ko=q({id:w(),hookType:Mt,callback:w(),status:ie(["triggered","completed","error"]),threshold:F().optional(),currentPercentage:F().optional(),metadata:q({action:w().optional(),messagesRemoved:F().optional(),tokensSaved:F().optional(),tokensBeforeCompaction:F().optional(),summaryTokens:F().optional(),originalTokens:F().optional(),finalTokens:F().optional(),truncationWarning:w().optional()}).passthrough().optional(),error:w().optional(),triggeredAt:F().optional(),completedAt:F().optional(),contentPosition:F().optional(),toolCallId:w().optional()}),Yo=q({id:w(),role:ie(["user","assistant","system"]),content:w(),timestamp:vt(),isStreaming:Ne().default(!1),streamingStartTime:F().optional(),metadata:ae(w(),de()).optional(),toolCalls:te(fn).optional(),hookNotifications:te(Ko).optional(),tokenUsage:Yt.optional(),images:te(qo).optional(),sources:te(Bo).optional()}),Qo=q({value:w(),isSubmitting:Ne(),attachedFiles:te(q({name:w(),path:w(),size:F(),mimeType:w(),data:w()})),selectedPromptParameters:ae(w(),w()).optional()});q({sessionId:w().nullable(),isConnected:Ne(),isStreaming:Ne(),messages:te(Yo),input:Qo,error:w().nullable()});ie(["disconnected","connecting","connected","error"]);let fs=0,gs=0;function we(t){const s=Date.now();s!==gs&&(fs=0,gs=s);const n=fs++,o=Math.random().toString(36).substring(2,7);return`msg_${s}_${n}_${o}_${t}`}const Go=q({baseUrl:w().url("Invalid base URL. Must be a valid URL (e.g., http://localhost:3000)").refine(t=>{try{const s=new URL(t);return!(s.port&&s.hostname.includes(":"))}catch{return!1}},{message:"Invalid URL format. Check for typos like duplicate ports (e.g., http://localhost:3102:3100)"}),apiKey:w().optional(),timeout:F().optional(),headers:ae(w(),w()).optional()}),L=ue("http-transport");class Xo{connected=!1;sessionUpdateCallbacks=new Set;errorCallbacks=new Set;fileSystemChangeCallbacks=new Map;messageQueue=[];currentSessionId=null;chunkResolvers=[];streamComplete=!1;sseAbortController=null;reconnectAttempts=0;maxReconnectAttempts=5;reconnectDelay=1e3;reconnecting=!1;abortController=null;options;isReceivingMessages=!1;isInReplayMode=!1;pendingReplayUpdates=[];agentInfo;constructor(s){const n=Go.safeParse(s);if(!n.success){const o=n.error.issues.map(r=>`${r.path.join(".")}: ${r.message}`).join("; ");throw new Error(`Invalid HTTP transport configuration: ${o}`)}this.options={...s,baseUrl:s.baseUrl.replace(/\/$/,"")}}async connect(){if(!this.connected)try{this.abortController=new AbortController;const s={protocolVersion:is,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}},n=await this.sendRpcRequest("initialize",s);if(n.agentInfo){const i=n._meta,a=i&&typeof i=="object",c=a&&"agentDescription"in i?String(i.agentDescription):void 0,u=a&&"suggestedPrompts"in i&&Array.isArray(i.suggestedPrompts)?i.suggestedPrompts:void 0,d=a&&"tools"in i&&Array.isArray(i.tools)?i.tools:void 0,m=a&&"mcps"in i&&Array.isArray(i.mcps)?i.mcps:void 0,p=a&&"subagents"in i&&Array.isArray(i.subagents)?i.subagents:void 0,g=a&&"initialMessage"in i&&i.initialMessage&&typeof i.initialMessage=="object"?i.initialMessage:void 0,x=a&&"uiConfig"in i&&i.uiConfig&&typeof i.uiConfig=="object"?i.uiConfig:void 0,h=a&&"promptParameters"in i&&Array.isArray(i.promptParameters)?i.promptParameters:void 0;this.agentInfo={name:n.agentInfo.name,...n.agentInfo.title?{displayName:n.agentInfo.title}:{},version:n.agentInfo.version,...c?{description:c}:{},...u?{suggestedPrompts:u}:{},...g?{initialMessage:g}:{},...x?{uiConfig:x}:{},...d?{tools:d}:{},...m?{mcps:m}:{},...p?{subagents:p}:{},...h?{promptParameters:h}:{}}}L.info("ACP connection initialized",{initResponse:n});const o={cwd:"/",mcpServers:[]},r=await this.sendRpcRequest("session/new",o);this.currentSessionId=r.sessionId,L.info("Session created",{sessionId:this.currentSessionId}),await this.connectSSE(),this.connected=!0,this.reconnectAttempts=0}catch(s){this.connected=!1;const n=s instanceof Error?s:new Error(String(s));throw this.notifyError(n),n}}async loadSession(s){this.connected&&(L.warn("Transport already connected, disconnecting first",{sessionId:s}),await this.disconnect());try{this.abortController=new AbortController;const n={protocolVersion:is,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}};L.info("Loading session - initializing connection",{sessionId:s});const o=await this.sendRpcRequest("initialize",n);if(o.agentInfo){const a=o._meta,c=a&&typeof a=="object",u=c&&"agentDescription"in a?String(a.agentDescription):void 0,d=c&&"suggestedPrompts"in a&&Array.isArray(a.suggestedPrompts)?a.suggestedPrompts:void 0,m=c&&"tools"in a&&Array.isArray(a.tools)?a.tools:void 0,p=c&&"mcps"in a&&Array.isArray(a.mcps)?a.mcps:void 0,g=c&&"subagents"in a&&Array.isArray(a.subagents)?a.subagents:void 0,x=c&&"initialMessage"in a&&a.initialMessage&&typeof a.initialMessage=="object"?a.initialMessage:void 0,h=c&&"uiConfig"in a&&a.uiConfig&&typeof a.uiConfig=="object"?a.uiConfig:void 0,f=c&&"promptParameters"in a&&Array.isArray(a.promptParameters)?a.promptParameters:void 0;this.agentInfo={name:o.agentInfo.name,...o.agentInfo.title?{displayName:o.agentInfo.title}:{},version:o.agentInfo.version,...u?{description:u}:{},...d?{suggestedPrompts:d}:{},...x?{initialMessage:x}:{},...h?{uiConfig:h}:{},...m?{tools:m}:{},...p?{mcps:p}:{},...g?{subagents:g}:{},...f?{promptParameters:f}:{}}}if(!o.agentCapabilities?.loadSession)throw L.error("Agent does not support loading sessions",{capabilities:o.agentCapabilities}),new Error("Agent does not support loading sessions");L.info("ACP connection initialized, loading session",{sessionId:s,capabilities:o.agentCapabilities}),this.isInReplayMode=!0,this.currentSessionId=s,await this.connectSSE();const r={sessionId:s,cwd:"/",mcpServers:[]};L.info("Sending session/load request",{loadRequest:r});const i=await this.sendRpcRequest("session/load",r);L.info("Session loaded successfully",{sessionId:this.currentSessionId,loadResponse:i}),this.connected=!0,this.reconnectAttempts=0}catch(n){this.connected=!1;const o=n instanceof Error?n:new Error(String(n));throw L.error("Failed to load session",{sessionId:s,error:o.message,stack:o.stack}),this.notifyError(o),o}}async listSessions(){try{const s={method:"GET"};this.options.headers&&(s.headers=this.options.headers);const n=await fetch(`${this.options.baseUrl}/sessions`,s);if(!n.ok)throw new Error(`HTTP ${n.status}: ${await n.text()}`);return(await n.json()).sessions||[]}catch(s){return L.error("Failed to list sessions",{error:s}),[]}}async disconnect(){if(this.connected)try{this.abortController&&(this.abortController.abort(),this.abortController=null),this.sseAbortController&&(this.sseAbortController.abort(),this.sseAbortController=null),this.connected=!1,this.currentSessionId=null,this.messageQueue=[],this.chunkResolvers=[],this.streamComplete=!1,this.reconnecting=!1,this.reconnectAttempts=0}catch(s){const n=s instanceof Error?s:new Error(String(s));throw this.notifyError(n),n}}async send(s,n){if(!this.connected||!this.currentSessionId)throw new Error("Transport not connected");this.isInReplayMode&&(L.info("Exiting replay mode - user sent a message"),this.isInReplayMode=!1);try{this.streamComplete=!1,this.messageQueue=[];const o=s.content.map(c=>c.type==="text"?{type:"text",text:c.text}:c.type==="image"?"source"in c&&c.source?{type:"image",data:c.source.data,mimeType:c.source.media_type}:"data"in c&&"mimeType"in c?{type:"image",data:c.data,mimeType:c.mimeType}:c:c),r={sessionId:this.currentSessionId,prompt:o};n?.promptParameters&&(r._meta={promptParameters:n.promptParameters});const i=await this.sendRpcRequest("session/prompt",r);L.debug("Prompt sent",{promptResponse:i}),this.streamComplete=!0;const a=this.chunkResolvers.shift();a?a({type:"content",id:this.currentSessionId||"unknown",role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0}):this.messageQueue.push({type:"content",id:this.currentSessionId||"unknown",role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0})}catch(o){this.streamComplete=!0;const r=o instanceof Error?o:new Error(String(o));throw this.notifyError(r),r}}async cancel(s){if(!this.connected){L.warn("Cannot cancel: transport not connected");return}const n=s||this.currentSessionId;if(!n){L.warn("Cannot cancel: no session ID");return}L.info("Cancelling session",{sessionId:n}),this.streamComplete=!0,this.messageQueue.length=0,await this.sendNotification("session/cancel",{sessionId:n});const o={type:"content",id:n,role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0};for(;this.chunkResolvers.length>0;){const r=this.chunkResolvers.shift();r&&r(o)}}async editAndResend(s,n,o){if(!this.connected)throw new Error("Transport not connected");const r=s||this.currentSessionId;if(!r)throw new Error("No session ID available");this.isInReplayMode&&(L.info("Exiting replay mode - user edited a message"),this.isInReplayMode=!1),this.streamComplete=!1,this.messageQueue=[],L.info("Edit and resend",{sessionId:r,messageIndex:n});const i={"Content-Type":"application/json",...this.options.headers},a=this.options.timeout??600*1e3,c=new AbortController,u=setTimeout(()=>c.abort(),a);try{const d=await fetch(`${this.options.baseUrl}/sessions/${r}/edit-and-resend`,{method:"POST",headers:i,body:JSON.stringify({messageIndex:n,prompt:o}),signal:c.signal});if(clearTimeout(u),!d.ok){const p=await d.text();throw new Error(`HTTP ${d.status}: ${p}`)}this.streamComplete=!0;const m=this.chunkResolvers.shift();m?m({type:"content",id:r,role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0}):this.messageQueue.push({type:"content",id:r,role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0})}catch(d){throw clearTimeout(u),this.streamComplete=!0,d instanceof Error&&d.name==="AbortError"?new Error(`Request timeout after ${a}ms`):d}}async*receive(){this.isReceivingMessages=!0;try{for(;!this.streamComplete;)if(this.messageQueue.length>0){const s=this.messageQueue.shift();if(s&&(yield s,s.type==="content"&&s.isComplete))return}else{const s=await new Promise(n=>{this.chunkResolvers.push(n)});if(s.type==="content"&&s.isComplete){yield s;return}else yield s}for(;this.messageQueue.length>0;){const s=this.messageQueue.shift();s&&(yield s)}yield{type:"content",id:this.currentSessionId||"unknown",role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0}}finally{this.isReceivingMessages=!1}}isConnected(){return this.connected}onSessionUpdate(s){if(this.sessionUpdateCallbacks.add(s),this.pendingReplayUpdates.length>0){L.info("Replaying queued session updates to ALL callbacks",{count:this.pendingReplayUpdates.length,callbackCount:this.sessionUpdateCallbacks.size,updateTypes:this.pendingReplayUpdates.map(o=>o.type),updateDetails:this.pendingReplayUpdates.map(o=>{if(o.type==="tool_call")return{type:"tool_call",toolCallId:o.toolCall?.id};if(o.type==="sources")return{type:"sources",count:o.sources?.length,ids:o.sources?.map(r=>r.id)};if(o.type==="generic"&&o.message){const r=o.message.content?.[0];return{type:"message",role:o.message.role,contentLength:r?.type==="text"?r.text?.length:0}}return{type:o.type}})});const n=[...this.pendingReplayUpdates];this.pendingReplayUpdates=[],setTimeout(()=>{L.info("Starting replay of queued updates to all callbacks",{updateCount:n.length,callbackCount:this.sessionUpdateCallbacks.size});for(const o of n)try{L.info("Replaying update to all callbacks",{type:o.type}),this.notifySessionUpdate(o)}catch(r){L.error("Error replaying session update",{error:r})}L.info("Finished replay of queued updates")},0)}return()=>{this.sessionUpdateCallbacks.delete(s)}}onError(s){return this.errorCallbacks.add(s),()=>{this.errorCallbacks.delete(s)}}onFileSystemChange(s,n){return L.debug("Registering file system change callback",{sessionId:s}),this.fileSystemChangeCallbacks.set(s,n),()=>{L.debug("Unregistering file system change callback",{sessionId:s}),this.fileSystemChangeCallbacks.delete(s)}}notifyFileSystemChange(s){const n=this.fileSystemChangeCallbacks.get(s.sessionId);L.debug("notifyFileSystemChange",{sessionId:s.sessionId,hasCallback:!!n,callbackCount:this.fileSystemChangeCallbacks.size}),n&&n(s)}getAgentInfo(){return this.agentInfo||{}}async sendNotification(s,n){const o={jsonrpc:"2.0",method:s,params:n};L.debug("Sending notification",{method:s,params:n});const r={"Content-Type":"application/json",...this.options.headers};try{const i=await fetch(`${this.options.baseUrl}/rpc`,{method:"POST",headers:r,body:JSON.stringify(o)});if(!i.ok){const a=await i.text();L.error("Notification failed",{status:i.status,errorText:a})}}catch(i){L.error("Error sending notification",{error:i})}}async sendRpcRequest(s,n){const r={jsonrpc:"2.0",id:this.generateRequestId(),method:s,params:n};L.debug("Sending RPC request",{method:s,params:n,request:r});const i={"Content-Type":"application/json",...this.options.headers},a=this.options.timeout??600*1e3,c=new AbortController,u=setTimeout(()=>c.abort(),a);try{const d=await fetch(`${this.options.baseUrl}/rpc`,{method:"POST",headers:i,body:JSON.stringify(r),signal:c.signal});if(clearTimeout(u),!d.ok){const p=await d.text();throw new Error(`HTTP ${d.status}: ${p}`)}const m=await d.json();if(m.error)throw new Error(`ACP error: ${m.error.message||JSON.stringify(m.error)}`);return m.result||m}catch(d){throw clearTimeout(u),d instanceof Error&&d.name==="AbortError"?new Error(`Request timeout after ${a}ms`):d}}async connectSSE(){if(!this.currentSessionId)throw new Error("Cannot connect SSE without a session ID");const s=`${this.options.baseUrl}/events`,n={"X-Session-ID":this.currentSessionId,...this.options.headers};this.sseAbortController=new AbortController;try{const o=await fetch(s,{method:"GET",headers:n,signal:this.sseAbortController.signal});if(!o.ok)throw new Error(`SSE connection failed: HTTP ${o.status}`);if(!o.body)throw new Error("Response body is null");L.debug("SSE connection opened"),this.reconnectAttempts=0,this.reconnectDelay=1e3;const r=o.body.getReader(),i=new TextDecoder;let a="";(async()=>{try{for(;;){const{done:c,value:u}=await r.read();if(c){L.debug("SSE stream closed by server"),this.connected&&await this.handleSSEDisconnect();break}a+=i.decode(u,{stream:!0});const d=a.split(`
1
+ import{r as l,j as e,M as ya,c as et,h as va}from"./react-BxR0bfXp.js";import{bb as $e,bc as wa,bd as os,be as ie,bf as q,bg as w,bh as ee,bi as F,bj as ae,bk as de,bl as it,bm as vt,bn as te,bo as Ne,bp as Bt,bq as ja,br as Na,bs as Ca,bt as Sa,bu as Te,bv as ka,bw as me,am as Ta,bx as Ia,by as rs}from"./vendor-B9CCG_zb.js";import{P as is,a as Ra}from"./acp-sdk-C2gyHhUs.js";import{S as ye,P as _a,C as _s,a as Ma,R as Ea,T as Aa,b as Ms,c as Es,d as Pa,e as As,I as Ps,f as Ds,g as Us,h as zs,L as $s,i as Ls,j as Da,k as Ua,l as Os,m as Fs,n as Bs,o as za,O as Nt,p as Hs,q as Ct,r as Ws,s as St,D as kt,t as Vs,u as qs,v as $a,w as Ks,x as Ys,y as La,z as Qs,V as Oa,A as Gs,B as Xs,E as Fa,F as Ba,G as Js}from"./radix-DV56ifF6.js";import{c as tt,d as lt,e as Tt,P as Ha,E as Wa,S as Zs,f as en,g as Va,h as Ht,i as qa,j as Ka,k as Ya,l as Qa,m as fe,A as Ga,n as It,F as Xa,o as Ja,p as Za,q as eo,r as We,s as Rt,t as _t,G as tn,u as sn,v as nn,B as ls,w as to,x as so,y as no,z as Wt,H as ao,I as Vt,J as wt,T as oo,K as ce,N as ro,O as an,Q as cs,U as io,V as ds,W as at,Y as qt,_ as lo,$ as co,a0 as uo,a1 as mo,a2 as po,a3 as fo,a4 as go,a5 as ho,a6 as xo,a7 as bo,a8 as yo}from"./icons-C7QEqI8s.js";import{A as ot,m as ke}from"./framer-motion-DNsiqoUk.js";import{g as on}from"./markdown-D50x6v1C.js";import"./katex-Dnem94XJ.js";(function(){const s=document.createElement("link").relList;if(s&&s.supports&&s.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))o(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&o(a)}).observe(document,{childList:!0,subtree:!0});function n(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function o(r){if(r.ep)return;r.ep=!0;const i=n(r);fetch(r.href,i)}})();var vo={};const ht=typeof process<"u"&&process.versions?.node;let wo,jo=0;const $t=new Set;function No(t){return $t.add(t),()=>$t.delete(t)}function Co(t){for(const s of $t)s(t)}const us={trace:0,debug:1,info:2,warn:3,error:4,fatal:5},So={trace:$e.TRACE,debug:$e.DEBUG,info:$e.INFO,warn:$e.WARN,error:$e.ERROR,fatal:$e.FATAL};class ko{service;minLevel;logsDir;enableConsoleOutput;constructor(s,n="debug"){this.service=s,this.minLevel=n,typeof process<"u"&&(this.minLevel="info"),this.enableConsoleOutput=typeof process<"u"&&vo?.TOWN_LOG_CONSOLE==="true"||!1}setupFileLogging(){}async writeToFile(s){this.logsDir}shouldLog(s){return us[s]>=us[this.minLevel]}log(s,n,o){if(!this.shouldLog(s))return;const r={id:`log_${++jo}`,timestamp:new Date().toISOString(),level:s,service:this.service,message:n,...o&&{metadata:o}};if(Co(r),ht&&this.logsDir,ht&&this.logsDir){const c={timestamp:r.timestamp,level:r.level,service:r.service,message:r.message,...r.metadata&&{metadata:r.metadata}};this.writeToFile(JSON.stringify(c)).catch(()=>{})}if(ht&&this.enableConsoleOutput){const c=r.timestamp,u=r.level.toUpperCase().padEnd(5),d=`[${this.service}]`,m=r.metadata?` ${JSON.stringify(r.metadata)}`:"";console.log(`${c} ${u} ${d} ${r.message}${m}`)}const i=wa.getLogger(this.service),a=os.trace.getSpan(os.context.active());i.emit({severityNumber:So[s],severityText:s.toUpperCase(),body:n,attributes:{service:this.service,...o&&Object.fromEntries(Object.entries(o).map(([c,u])=>[`log.${c}`,typeof u=="object"?JSON.stringify(u):u])),...a&&{trace_id:a.spanContext().traceId,span_id:a.spanContext().spanId}}})}trace(s,n){this.log("trace",s,n)}debug(s,n){this.log("debug",s,n)}info(s,n){this.log("info",s,n)}warn(s,n){this.log("warn",s,n)}error(s,n){this.log("error",s,n)}fatal(s,n){this.log("fatal",s,n)}}function ue(t,s="debug"){return new ko(t,s)}const rn=ie(["user","assistant","system","tool"]),To=ie(["text","image","file","tool_call","tool_result"]),ct=q({type:To}),Io=ct.extend({type:ee("text"),text:w()}),Ro=ct.extend({type:ee("image"),url:w().url().optional(),source:q({type:ee("base64"),media_type:ie(["image/jpeg","image/png","image/gif","image/webp"]),data:w()}).optional()}),_o=ct.extend({type:ee("file"),name:w(),path:w().optional(),url:w().url().optional(),mimeType:w(),size:F().optional()}),Mo=ct.extend({type:ee("tool_call"),id:w(),name:w(),arguments:ae(w(),de())}),Eo=ct.extend({type:ee("tool_result"),callId:w(),result:de(),error:w().optional()}),ln=it("type",[Io,Ro,_o,Mo,Eo]),cn=q({id:w(),role:rn,content:te(ln),timestamp:vt(),metadata:ae(w(),de()).optional()}),Ao=q({type:ee("content"),id:w(),role:rn,contentDelta:ln,isComplete:Ne(),tokenUsage:q({inputTokens:F().optional(),outputTokens:F().optional(),totalTokens:F().optional()}).optional(),contextInputTokens:F().optional(),_meta:q({context_size:q({systemPromptTokens:F(),userMessagesTokens:F(),assistantMessagesTokens:F(),toolInputTokens:F(),toolResultsTokens:F(),totalEstimated:F(),llmReportedInputTokens:F().optional()}).optional()}).optional()}),Po=q({type:ee("tool_call"),id:w(),toolCall:Bt(),messageId:w().optional()}),Do=q({type:ee("tool_call_update"),id:w(),toolCallUpdate:Bt(),messageId:w().optional()}),Mt=ie(["context_size","tool_response"]),Uo=q({type:ee("hook_triggered"),hookType:Mt,threshold:F(),currentPercentage:F(),callback:w(),triggeredAt:F().optional(),toolCallId:w().optional()}),zo=q({type:ee("hook_completed"),hookType:Mt,callback:w(),metadata:q({action:w().optional(),messagesRemoved:F().optional(),tokensSaved:F().optional()}).passthrough().optional(),completedAt:F().optional(),toolCallId:w().optional()}),$o=q({type:ee("hook_error"),hookType:Mt,callback:w(),error:w(),completedAt:F().optional(),toolCallId:w().optional()}),Lo=it("type",[Uo,zo,$o]),Oo=q({type:ee("hook_notification"),id:w(),notification:Lo,messageId:w().optional()}),dn=q({id:w(),url:w().url(),title:w(),snippet:w().optional(),favicon:w().optional(),toolCallId:w(),sourceName:w().optional()}),Fo=q({type:ee("sources"),sources:te(dn)});it("type",[Ao,Po,Do,Oo,Fo]);const Bo=q({id:w(),url:w().url(),title:w(),snippet:w().optional(),favicon:w().optional(),toolCallId:w(),sourceName:w().optional()}),ms=q({systemPromptTokens:F(),toolOverheadTokens:F().optional(),mcpOverheadTokens:F().optional(),userMessagesTokens:F(),assistantMessagesTokens:F(),toolInputTokens:F(),toolResultsTokens:F(),totalEstimated:F(),llmReportedInputTokens:F().optional(),modelContextWindow:F().optional()}),Kt=ie(["pending","in_progress","completed","failed"]),Ho=ie(["read","edit","delete","move","search","execute","think","fetch","switch_mode","other"]),un=q({path:w(),line:F().nullable().optional()}),Yt=q({inputTokens:F().optional(),outputTokens:F().optional(),totalTokens:F().optional()}),Qt=it("type",[q({type:ee("content"),content:q({type:ee("text"),text:w()})}),q({type:ee("text"),text:w()}),q({type:ee("image"),data:w(),mimeType:w().optional(),alt:w().optional()}),q({type:ee("image"),url:w(),alt:w().optional()}),q({type:ee("diff"),path:w(),oldText:w(),newText:w(),line:F().nullable().optional()}),q({type:ee("terminal"),terminalId:w()})]),mn=q({id:w(),title:w(),prettyName:w().optional(),icon:w().optional(),status:Kt,content:te(Qt).optional()}),Wo=it("type",[q({type:ee("text"),text:w()}),q({type:ee("tool_call"),toolCall:mn})]),pn=q({id:w(),content:w(),toolCalls:te(mn).optional(),contentBlocks:te(Wo).optional(),isStreaming:Ne().optional(),context_size:ms.optional(),_meta:q({semanticName:w().optional(),agentDefinitionName:w().optional(),currentActivity:w().optional(),statusGenerating:Ne().optional(),context_size:ms.optional()}).passthrough().optional()}),fn=q({id:w(),batchId:w().optional(),title:w(),prettyName:w().optional(),icon:w().optional(),verbiage:q({active:w(),past:w(),paramKey:w().optional()}).optional(),subline:w().optional(),kind:Ho,status:Kt,contentPosition:F().optional(),locations:te(un).optional(),rawInput:ae(w(),de()).optional(),rawOutput:ae(w(),de()).optional(),content:te(Qt).optional(),error:w().optional(),startedAt:F().optional(),completedAt:F().optional(),tokenUsage:Yt.optional(),_meta:q({truncationWarning:w().optional(),compactionAction:ie(["compacted","truncated"]).optional(),originalTokens:F().optional(),finalTokens:F().optional(),originalContentPreview:w().optional(),originalContentPath:w().optional()}).optional(),subagentPort:F().optional(),subagentSessionId:w().optional(),subagentMessages:te(pn).optional(),subagentStreaming:Ne().optional(),subagentCompleted:Ne().optional()}),Vo=q({id:w(),status:Kt.optional(),title:w().optional(),prettyName:w().optional(),icon:w().optional(),batchId:w().optional(),rawInput:ae(w(),de()).optional(),locations:te(un).optional(),rawOutput:ae(w(),de()).optional(),content:te(Qt).optional(),error:w().optional(),completedAt:F().optional(),tokenUsage:Yt.optional(),subagentPort:F().optional(),subagentSessionId:w().optional(),subagentMessages:te(pn).optional(),subagentCompleted:Ne().optional(),_meta:q({truncationWarning:w().optional(),compactionAction:ie(["compacted","truncated"]).optional(),originalTokens:F().optional(),finalTokens:F().optional(),originalContentPreview:w().optional(),originalContentPath:w().optional()}).optional()});function ps(t,s){return{...t,status:s.status??t.status,title:s.title??t.title,prettyName:s.prettyName??t.prettyName,icon:s.icon??t.icon,batchId:s.batchId??t.batchId,rawInput:s.rawInput??t.rawInput,locations:s.locations??t.locations,rawOutput:s.rawOutput??t.rawOutput,content:s.content?[...t.content??[],...s.content]:t.content,error:s.error??t.error,completedAt:s.completedAt??t.completedAt,tokenUsage:s.tokenUsage??t.tokenUsage,subagentPort:s.subagentPort??t.subagentPort,subagentSessionId:s.subagentSessionId??t.subagentSessionId,subagentMessages:s.subagentMessages??t.subagentMessages,subagentCompleted:s.subagentCompleted??t.subagentCompleted,_meta:s._meta??t._meta}}const qo=q({mimeType:w(),data:w()}),Ko=q({id:w(),hookType:Mt,callback:w(),status:ie(["triggered","completed","error"]),threshold:F().optional(),currentPercentage:F().optional(),metadata:q({action:w().optional(),messagesRemoved:F().optional(),tokensSaved:F().optional(),tokensBeforeCompaction:F().optional(),summaryTokens:F().optional(),originalTokens:F().optional(),finalTokens:F().optional(),truncationWarning:w().optional()}).passthrough().optional(),error:w().optional(),triggeredAt:F().optional(),completedAt:F().optional(),contentPosition:F().optional(),toolCallId:w().optional()}),Yo=q({id:w(),role:ie(["user","assistant","system"]),content:w(),timestamp:vt(),isStreaming:Ne().default(!1),streamingStartTime:F().optional(),metadata:ae(w(),de()).optional(),toolCalls:te(fn).optional(),hookNotifications:te(Ko).optional(),tokenUsage:Yt.optional(),images:te(qo).optional(),sources:te(Bo).optional()}),Qo=q({value:w(),isSubmitting:Ne(),attachedFiles:te(q({name:w(),path:w(),size:F(),mimeType:w(),data:w()})),selectedPromptParameters:ae(w(),w()).optional()});q({sessionId:w().nullable(),isConnected:Ne(),isStreaming:Ne(),messages:te(Yo),input:Qo,error:w().nullable()});ie(["disconnected","connecting","connected","error"]);let fs=0,gs=0;function we(t){const s=Date.now();s!==gs&&(fs=0,gs=s);const n=fs++,o=Math.random().toString(36).substring(2,7);return`msg_${s}_${n}_${o}_${t}`}const Go=q({baseUrl:w().url("Invalid base URL. Must be a valid URL (e.g., http://localhost:3000)").refine(t=>{try{const s=new URL(t);return!(s.port&&s.hostname.includes(":"))}catch{return!1}},{message:"Invalid URL format. Check for typos like duplicate ports (e.g., http://localhost:3102:3100)"}),apiKey:w().optional(),timeout:F().optional(),headers:ae(w(),w()).optional()}),L=ue("http-transport");class Xo{connected=!1;sessionUpdateCallbacks=new Set;errorCallbacks=new Set;fileSystemChangeCallbacks=new Map;messageQueue=[];currentSessionId=null;chunkResolvers=[];streamComplete=!1;sseAbortController=null;reconnectAttempts=0;maxReconnectAttempts=5;reconnectDelay=1e3;reconnecting=!1;abortController=null;options;isReceivingMessages=!1;isInReplayMode=!1;pendingReplayUpdates=[];agentInfo;constructor(s){const n=Go.safeParse(s);if(!n.success){const o=n.error.issues.map(r=>`${r.path.join(".")}: ${r.message}`).join("; ");throw new Error(`Invalid HTTP transport configuration: ${o}`)}this.options={...s,baseUrl:s.baseUrl.replace(/\/$/,"")}}async connect(){if(!this.connected)try{this.abortController=new AbortController;const s={protocolVersion:is,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}},n=await this.sendRpcRequest("initialize",s);if(n.agentInfo){const i=n._meta,a=i&&typeof i=="object",c=a&&"agentDescription"in i?String(i.agentDescription):void 0,u=a&&"suggestedPrompts"in i&&Array.isArray(i.suggestedPrompts)?i.suggestedPrompts:void 0,d=a&&"tools"in i&&Array.isArray(i.tools)?i.tools:void 0,m=a&&"mcps"in i&&Array.isArray(i.mcps)?i.mcps:void 0,p=a&&"subagents"in i&&Array.isArray(i.subagents)?i.subagents:void 0,g=a&&"initialMessage"in i&&i.initialMessage&&typeof i.initialMessage=="object"?i.initialMessage:void 0,x=a&&"uiConfig"in i&&i.uiConfig&&typeof i.uiConfig=="object"?i.uiConfig:void 0,h=a&&"promptParameters"in i&&Array.isArray(i.promptParameters)?i.promptParameters:void 0;this.agentInfo={name:n.agentInfo.name,...n.agentInfo.title?{displayName:n.agentInfo.title}:{},version:n.agentInfo.version,...c?{description:c}:{},...u?{suggestedPrompts:u}:{},...g?{initialMessage:g}:{},...x?{uiConfig:x}:{},...d?{tools:d}:{},...m?{mcps:m}:{},...p?{subagents:p}:{},...h?{promptParameters:h}:{}}}L.info("ACP connection initialized",{initResponse:n});const o={cwd:"/",mcpServers:[]},r=await this.sendRpcRequest("session/new",o);this.currentSessionId=r.sessionId,L.info("Session created",{sessionId:this.currentSessionId}),await this.connectSSE(),this.connected=!0,this.reconnectAttempts=0}catch(s){this.connected=!1;const n=s instanceof Error?s:new Error(String(s));throw this.notifyError(n),n}}async loadSession(s){this.connected&&(L.warn("Transport already connected, disconnecting first",{sessionId:s}),await this.disconnect());try{this.abortController=new AbortController;const n={protocolVersion:is,clientCapabilities:{fs:{readTextFile:!0,writeTextFile:!0}}};L.info("Loading session - initializing connection",{sessionId:s});const o=await this.sendRpcRequest("initialize",n);if(o.agentInfo){const a=o._meta,c=a&&typeof a=="object",u=c&&"agentDescription"in a?String(a.agentDescription):void 0,d=c&&"suggestedPrompts"in a&&Array.isArray(a.suggestedPrompts)?a.suggestedPrompts:void 0,m=c&&"tools"in a&&Array.isArray(a.tools)?a.tools:void 0,p=c&&"mcps"in a&&Array.isArray(a.mcps)?a.mcps:void 0,g=c&&"subagents"in a&&Array.isArray(a.subagents)?a.subagents:void 0,x=c&&"initialMessage"in a&&a.initialMessage&&typeof a.initialMessage=="object"?a.initialMessage:void 0,h=c&&"uiConfig"in a&&a.uiConfig&&typeof a.uiConfig=="object"?a.uiConfig:void 0,f=c&&"promptParameters"in a&&Array.isArray(a.promptParameters)?a.promptParameters:void 0;this.agentInfo={name:o.agentInfo.name,...o.agentInfo.title?{displayName:o.agentInfo.title}:{},version:o.agentInfo.version,...u?{description:u}:{},...d?{suggestedPrompts:d}:{},...x?{initialMessage:x}:{},...h?{uiConfig:h}:{},...m?{tools:m}:{},...p?{mcps:p}:{},...g?{subagents:g}:{},...f?{promptParameters:f}:{}}}if(!o.agentCapabilities?.loadSession)throw L.error("Agent does not support loading sessions",{capabilities:o.agentCapabilities}),new Error("Agent does not support loading sessions");L.info("ACP connection initialized, loading session",{sessionId:s,capabilities:o.agentCapabilities}),this.isInReplayMode=!0,this.currentSessionId=s,await this.connectSSE();const r={sessionId:s,cwd:"/",mcpServers:[]};L.info("Sending session/load request",{loadRequest:r});const i=await this.sendRpcRequest("session/load",r);L.info("Session loaded successfully",{sessionId:this.currentSessionId,loadResponse:i}),this.connected=!0,this.reconnectAttempts=0}catch(n){this.connected=!1;const o=n instanceof Error?n:new Error(String(n));throw L.error("Failed to load session",{sessionId:s,error:o.message,stack:o.stack}),this.notifyError(o),o}}async listSessions(){try{const s={method:"GET"};this.options.headers&&(s.headers=this.options.headers);const n=await fetch(`${this.options.baseUrl}/sessions`,s);if(!n.ok)throw new Error(`HTTP ${n.status}: ${await n.text()}`);return(await n.json()).sessions||[]}catch(s){return L.error("Failed to list sessions",{error:s}),[]}}async disconnect(){if(this.connected)try{this.abortController&&(this.abortController.abort(),this.abortController=null),this.sseAbortController&&(this.sseAbortController.abort(),this.sseAbortController=null),this.connected=!1,this.currentSessionId=null,this.messageQueue=[],this.chunkResolvers=[],this.streamComplete=!1,this.reconnecting=!1,this.reconnectAttempts=0}catch(s){const n=s instanceof Error?s:new Error(String(s));throw this.notifyError(n),n}}async send(s,n){if(!this.connected||!this.currentSessionId)throw new Error("Transport not connected");this.isInReplayMode&&(L.info("Exiting replay mode - user sent a message"),this.isInReplayMode=!1);try{this.streamComplete=!1,this.messageQueue=[];const o=s.content.map(c=>c.type==="text"?{type:"text",text:c.text}:c.type==="image"?"source"in c&&c.source?{type:"image",data:c.source.data,mimeType:c.source.media_type}:"data"in c&&"mimeType"in c?{type:"image",data:c.data,mimeType:c.mimeType}:c:c),r={sessionId:this.currentSessionId,prompt:o};n?.promptParameters&&(r._meta={promptParameters:n.promptParameters});const i=await this.sendRpcRequest("session/prompt",r);L.debug("Prompt sent",{promptResponse:i}),this.streamComplete=!0;const a=this.chunkResolvers.shift();a?a({type:"content",id:this.currentSessionId||"unknown",role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0}):this.messageQueue.push({type:"content",id:this.currentSessionId||"unknown",role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0})}catch(o){this.streamComplete=!0;const r=o instanceof Error?o:new Error(String(o));throw this.notifyError(r),r}}async cancel(s){if(!this.connected){L.warn("Cannot cancel: transport not connected");return}const n=s||this.currentSessionId;if(!n){L.warn("Cannot cancel: no session ID");return}L.info("Cancelling session",{sessionId:n}),this.streamComplete=!0,this.messageQueue.length=0,await this.sendNotification("session/cancel",{sessionId:n});const o={type:"content",id:n,role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0};for(;this.chunkResolvers.length>0;){const r=this.chunkResolvers.shift();r&&r(o)}}async editAndResend(s,n,o){if(!this.connected)throw new Error("Transport not connected");const r=s||this.currentSessionId;if(!r)throw new Error("No session ID available");this.isInReplayMode&&(L.info("Exiting replay mode - user edited a message"),this.isInReplayMode=!1),this.streamComplete=!1,this.messageQueue=[],L.info("Edit and resend",{sessionId:r,messageIndex:n});const i={"Content-Type":"application/json",...this.options.headers},a=this.options.timeout??600*1e3,c=new AbortController,u=setTimeout(()=>c.abort(),a);try{const d=await fetch(`${this.options.baseUrl}/sessions/${r}/edit-and-resend`,{method:"POST",headers:i,body:JSON.stringify({messageIndex:n,prompt:o}),signal:c.signal});if(clearTimeout(u),!d.ok){const p=await d.text();throw new Error(`HTTP ${d.status}: ${p}`)}this.streamComplete=!0;const m=this.chunkResolvers.shift();m?m({type:"content",id:r,role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0}):this.messageQueue.push({type:"content",id:r,role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0})}catch(d){throw clearTimeout(u),this.streamComplete=!0,d instanceof Error&&d.name==="AbortError"?new Error(`Request timeout after ${a}ms`):d}}async*receive(){this.isReceivingMessages=!0;try{for(;!this.streamComplete;)if(this.messageQueue.length>0){const s=this.messageQueue.shift();if(s&&(yield s,s.type==="content"&&s.isComplete))return}else{const s=await new Promise(n=>{this.chunkResolvers.push(n)});if(s.type==="content"&&s.isComplete){yield s;return}else yield s}for(;this.messageQueue.length>0;){const s=this.messageQueue.shift();s&&(yield s)}yield{type:"content",id:this.currentSessionId||"unknown",role:"assistant",contentDelta:{type:"text",text:""},isComplete:!0}}finally{this.isReceivingMessages=!1}}isConnected(){return this.connected}onSessionUpdate(s){if(this.sessionUpdateCallbacks.add(s),this.pendingReplayUpdates.length>0){L.info("Replaying queued session updates to ALL callbacks",{count:this.pendingReplayUpdates.length,callbackCount:this.sessionUpdateCallbacks.size,updateTypes:this.pendingReplayUpdates.map(o=>o.type),updateDetails:this.pendingReplayUpdates.map(o=>{if(o.type==="tool_call")return{type:"tool_call",toolCallId:o.toolCall?.id};if(o.type==="sources")return{type:"sources",count:o.sources?.length,ids:o.sources?.map(r=>r.id)};if(o.type==="generic"&&o.message){const r=o.message.content?.[0];return{type:"message",role:o.message.role,contentLength:r?.type==="text"?r.text?.length:0}}return{type:o.type}})});const n=[...this.pendingReplayUpdates];this.pendingReplayUpdates=[],setTimeout(()=>{L.info("Starting replay of queued updates to all callbacks",{updateCount:n.length,callbackCount:this.sessionUpdateCallbacks.size});for(const o of n)try{L.info("Replaying update to all callbacks",{type:o.type}),this.notifySessionUpdate(o)}catch(r){L.error("Error replaying session update",{error:r})}L.info("Finished replay of queued updates")},0)}return()=>{this.sessionUpdateCallbacks.delete(s)}}onError(s){return this.errorCallbacks.add(s),()=>{this.errorCallbacks.delete(s)}}onFileSystemChange(s,n){return L.debug("Registering file system change callback",{sessionId:s}),this.fileSystemChangeCallbacks.set(s,n),()=>{L.debug("Unregistering file system change callback",{sessionId:s}),this.fileSystemChangeCallbacks.delete(s)}}notifyFileSystemChange(s){const n=this.fileSystemChangeCallbacks.get(s.sessionId);L.debug("notifyFileSystemChange",{sessionId:s.sessionId,hasCallback:!!n,callbackCount:this.fileSystemChangeCallbacks.size}),n&&n(s)}getAgentInfo(){return this.agentInfo||{}}async sendNotification(s,n){const o={jsonrpc:"2.0",method:s,params:n};L.debug("Sending notification",{method:s,params:n});const r={"Content-Type":"application/json",...this.options.headers};try{const i=await fetch(`${this.options.baseUrl}/rpc`,{method:"POST",headers:r,body:JSON.stringify(o)});if(!i.ok){const a=await i.text();L.error("Notification failed",{status:i.status,errorText:a})}}catch(i){L.error("Error sending notification",{error:i})}}async sendRpcRequest(s,n){const r={jsonrpc:"2.0",id:this.generateRequestId(),method:s,params:n};L.debug("Sending RPC request",{method:s,params:n,request:r});const i={"Content-Type":"application/json",...this.options.headers},a=this.options.timeout??600*1e3,c=new AbortController,u=setTimeout(()=>c.abort(),a);try{const d=await fetch(`${this.options.baseUrl}/rpc`,{method:"POST",headers:i,body:JSON.stringify(r),signal:c.signal});if(clearTimeout(u),!d.ok){const p=await d.text();throw new Error(`HTTP ${d.status}: ${p}`)}const m=await d.json();if(m.error)throw new Error(`ACP error: ${m.error.message||JSON.stringify(m.error)}`);return m.result||m}catch(d){throw clearTimeout(u),d instanceof Error&&d.name==="AbortError"?new Error(`Request timeout after ${a}ms`):d}}async connectSSE(){if(!this.currentSessionId)throw new Error("Cannot connect SSE without a session ID");const s=`${this.options.baseUrl}/events`,n={"X-Session-ID":this.currentSessionId,...this.options.headers};this.sseAbortController=new AbortController;try{const o=await fetch(s,{method:"GET",headers:n,signal:this.sseAbortController.signal});if(!o.ok)throw new Error(`SSE connection failed: HTTP ${o.status}`);if(!o.body)throw new Error("Response body is null");L.debug("SSE connection opened"),this.reconnectAttempts=0,this.reconnectDelay=1e3;const r=o.body.getReader(),i=new TextDecoder;let a="";(async()=>{try{for(;;){const{done:c,value:u}=await r.read();if(c){L.debug("SSE stream closed by server"),this.connected&&await this.handleSSEDisconnect();break}a+=i.decode(u,{stream:!0});const d=a.split(`
2
2
  `);a=d.pop()||"";let m={event:"message",data:""};for(const p of d)p.startsWith("event:")?m.event=p.substring(6).trim():p.startsWith("data:")?m.data=p.substring(5).trim():p===""&&(m.event==="message"&&m.data&&this.handleSSEMessage(m.data),m={event:"message",data:""})}}catch(c){if(c instanceof Error&&c.name==="AbortError"){L.debug("SSE stream aborted");return}L.error("Error reading SSE stream",{error:c}),this.connected&&!this.reconnecting&&await this.handleSSEDisconnect()}})()}catch(o){throw L.error("SSE connection error",{error:o}),o}}async handleSSEDisconnect(){if(this.reconnecting||!this.connected)return;if(this.reconnecting=!0,this.sseAbortController&&(this.sseAbortController.abort(),this.sseAbortController=null),this.reconnectAttempts>=this.maxReconnectAttempts){const n=new Error(`SSE reconnection failed after ${this.maxReconnectAttempts} attempts`);this.notifyError(n),this.connected=!1,this.reconnecting=!1;return}this.reconnectAttempts++;const s=Math.min(this.reconnectDelay*2**(this.reconnectAttempts-1),32e3);L.debug("SSE reconnecting",{delay:s,attempt:this.reconnectAttempts,maxAttempts:this.maxReconnectAttempts}),await new Promise(n=>setTimeout(n,s));try{await this.connectSSE(),L.info("SSE reconnected successfully"),this.reconnecting=!1}catch(n){L.error("SSE reconnection failed",{error:n}),this.reconnecting=!1}}handleSSEMessage(s){try{const n=JSON.parse(s);if(L.debug("Received SSE message",{message:n}),n&&typeof n=="object"&&n.method==="session/update"&&n.params?.update?.sessionUpdate==="sources"){try{this.handleSessionNotification(n.params)}catch(a){L.error("Error in handleSessionNotification for sources",{error:a})}return}const r=Ra.safeParse(n);if(!r.success){L.error("Invalid ACP message from SSE",{issues:r.error.issues});return}const i=r.data;L.debug("Parsed ACP message",{method:"method"in i?i.method:"(no method)"}),"method"in i&&i.method==="session/update"&&(L.debug("Received session/update notification"),"params"in i&&i.params&&(L.debug("Calling handleSessionNotification",{params:i.params}),this.handleSessionNotification(i.params)))}catch(n){L.error("Error parsing SSE message",{error:n}),this.notifyError(n instanceof Error?n:new Error(String(n)))}}handleSessionNotification(s){const r=s.update?.sessionUpdate==="sources";if(this.streamComplete&&!r){L.debug("Skipping session notification - stream complete/cancelled");return}L.debug("handleSessionNotification called",{params:s});const a=s.update,c=this.currentSessionId||s.sessionId;if(L.warn("📥 SSE UPDATE RECEIVED",{sessionUpdate:a?.sessionUpdate,hasUpdate:!!a,isInReplayMode:this.isInReplayMode,callbackCount:this.sessionUpdateCallbacks.size}),a?.sessionUpdate==="sandbox_files_changed"){const d=a;d._meta?.isReplay===!0||(L.debug("Sandbox files changed",{paths:d.paths,source:d._meta?.source}),this.notifyFileSystemChange({sessionId:c,...d.paths&&{paths:d.paths},...d._meta?.source&&{source:d._meta.source}}));return}if(a?.sessionUpdate==="tool_call"){L.debug("Tool call notification",{tokenUsage:a.tokenUsage});const d=a._meta&&typeof a._meta=="object"&&"messageId"in a._meta?String(a._meta.messageId):void 0,m=a._meta&&typeof a._meta=="object"&&"prettyName"in a._meta&&typeof a._meta.prettyName=="string"?a._meta.prettyName:void 0,p=a._meta&&typeof a._meta=="object"&&"icon"in a._meta&&typeof a._meta.icon=="string"?a._meta.icon:void 0,g=a._meta&&typeof a._meta=="object"&&"subline"in a._meta&&typeof a._meta.subline=="string"?a._meta.subline:void 0,x=a._meta&&typeof a._meta=="object"&&"batchId"in a._meta&&typeof a._meta.batchId=="string"?a._meta.batchId:void 0,h=a._meta&&typeof a._meta=="object"&&"subagentPort"in a._meta&&typeof a._meta.subagentPort=="number"?a._meta.subagentPort:void 0,f=a._meta&&typeof a._meta=="object"&&"subagentSessionId"in a._meta&&typeof a._meta.subagentSessionId=="string"?a._meta.subagentSessionId:void 0,b=a._meta&&typeof a._meta=="object"&&"subagentMessages"in a._meta&&Array.isArray(a._meta.subagentMessages)?a._meta.subagentMessages:void 0,N=a._meta&&typeof a._meta=="object"&&"compactionAction"in a._meta&&typeof a._meta.compactionAction=="string"?a._meta.compactionAction:void 0,v=a._meta&&typeof a._meta=="object"&&"originalTokens"in a._meta&&typeof a._meta.originalTokens=="number"?a._meta.originalTokens:void 0,C=a._meta&&typeof a._meta=="object"&&"finalTokens"in a._meta&&typeof a._meta.finalTokens=="number"?a._meta.finalTokens:void 0,U=a._meta&&typeof a._meta=="object"&&"originalContentPreview"in a._meta&&typeof a._meta.originalContentPreview=="string"?a._meta.originalContentPreview:void 0,B=a._meta&&typeof a._meta=="object"&&"originalContentPath"in a._meta&&typeof a._meta.originalContentPath=="string"?a._meta.originalContentPath:void 0,D={id:a.toolCallId??"",batchId:x,title:a.title??"",prettyName:m,icon:p,subline:g,kind:a.kind||"other",status:a.status||"pending",locations:a.locations,rawInput:a.rawInput,tokenUsage:a.tokenUsage,content:a.content?.map(M=>{if(typeof M!="object"||M===null)return{type:"text",text:""};const E=M;if(E.type==="content"&&typeof E.content=="object"&&E.content!==null){const K=E.content;if(K.type==="text")return{type:"content",content:{type:"text",text:typeof K.text=="string"?K.text:""}}}return E.type==="text"?{type:"text",text:typeof E.text=="string"?E.text:""}:E.type==="diff"?{type:"diff",path:typeof E.path=="string"?E.path:"",oldText:typeof E.oldText=="string"?E.oldText:"",newText:typeof E.newText=="string"?E.newText:"",line:typeof E.line=="number"?E.line:null}:E.type==="terminal"?{type:"terminal",terminalId:typeof E.terminalId=="string"?E.terminalId:""}:{type:"text",text:""}}),startedAt:Date.now(),subagentPort:h,subagentSessionId:f,subagentMessages:b,_meta:N||v||C||U||B?{compactionAction:N,originalTokens:v,finalTokens:C,originalContentPreview:U,originalContentPath:B}:void 0},I={type:"tool_call",sessionId:c,status:"active",toolCall:D,messageId:d},_=a._meta&&typeof a._meta=="object"&&"isReplay"in a._meta&&a._meta.isReplay===!0;if(L.info("Creating tool_call session update",{toolCallId:D.id,title:D.title,hasSubagentPort:!!h,hasSubagentSessionId:!!f,hasSubagentMessages:!!b,subagentMessagesCount:b?.length,isReplay:_,isInReplayMode:this.isInReplayMode}),_||this.isInReplayMode)this.sessionUpdateCallbacks.size===0?(L.debug("Queueing tool_call for late-subscribing callbacks",{toolCallId:D.id}),this.pendingReplayUpdates.push(I)):this.notifySessionUpdate(I);else{const M={type:"tool_call",id:c,toolCall:D,messageId:d},E=this.chunkResolvers.shift();E?E(M):this.messageQueue.push(M)}}else if(a?.sessionUpdate==="tool_call_update"){const d=a._meta&&typeof a._meta=="object"&&"messageId"in a._meta?String(a._meta.messageId):void 0,m=a._meta&&typeof a._meta=="object"&&"prettyName"in a._meta&&typeof a._meta.prettyName=="string"?a._meta.prettyName:void 0,p=a._meta&&typeof a._meta=="object"&&"icon"in a._meta&&typeof a._meta.icon=="string"?a._meta.icon:void 0,g=a._meta&&typeof a._meta=="object"&&"batchId"in a._meta&&typeof a._meta.batchId=="string"?a._meta.batchId:void 0,x=a._meta&&typeof a._meta=="object"&&"subagentPort"in a._meta&&typeof a._meta.subagentPort=="number"?a._meta.subagentPort:void 0,h=a._meta&&typeof a._meta=="object"&&"subagentSessionId"in a._meta&&typeof a._meta.subagentSessionId=="string"?a._meta.subagentSessionId:void 0,f=a._meta&&typeof a._meta=="object"&&"subagentMessages"in a._meta&&Array.isArray(a._meta.subagentMessages)?a._meta.subagentMessages:void 0;(x||h||f)&&L.info("Extracted subagent info from tool_call_update",{toolCallId:a.toolCallId,subagentPort:x,subagentSessionId:h,subagentMessagesCount:f?.length});const b=a._meta&&typeof a._meta=="object"&&"compactionAction"in a._meta&&typeof a._meta.compactionAction=="string"?a._meta.compactionAction:void 0,N=a._meta&&typeof a._meta=="object"&&"originalTokens"in a._meta&&typeof a._meta.originalTokens=="number"?a._meta.originalTokens:void 0,v=a._meta&&typeof a._meta=="object"&&"finalTokens"in a._meta&&typeof a._meta.finalTokens=="number"?a._meta.finalTokens:void 0,C=a._meta&&typeof a._meta=="object"&&"originalContentPreview"in a._meta&&typeof a._meta.originalContentPreview=="string"?a._meta.originalContentPreview:void 0,U=a._meta&&typeof a._meta=="object"&&"originalContentPath"in a._meta&&typeof a._meta.originalContentPath=="string"?a._meta.originalContentPath:void 0,B="subagentCompleted"in a&&typeof a.subagentCompleted=="boolean"?a.subagentCompleted:a._meta&&typeof a._meta=="object"&&"subagentCompleted"in a._meta&&typeof a._meta.subagentCompleted=="boolean"?a._meta.subagentCompleted:void 0,D={id:a.toolCallId??"",status:a.status,title:a.title,prettyName:m,icon:p,batchId:g,rawInput:a.rawInput,locations:a.locations,rawOutput:a.rawOutput,tokenUsage:a.tokenUsage,subagentCompleted:B,content:a.content?.map(_=>{if(typeof _!="object"||_===null)return{type:"text",text:""};const M=_;if(M.type==="content"&&typeof M.content=="object"&&M.content!==null){const E=M.content;if(E.type==="text")return{type:"content",content:{type:"text",text:typeof E.text=="string"?E.text:""}}}return M.type==="text"?{type:"text",text:typeof M.text=="string"?M.text:""}:M.type==="diff"?{type:"diff",path:typeof M.path=="string"?M.path:"",oldText:typeof M.oldText=="string"?M.oldText:"",newText:typeof M.newText=="string"?M.newText:"",line:typeof M.line=="number"?M.line:null}:M.type==="terminal"?{type:"terminal",terminalId:typeof M.terminalId=="string"?M.terminalId:""}:{type:"text",text:""}}),error:a.error,completedAt:a.status==="completed"||a.status==="failed"?Date.now():void 0,subagentPort:x,subagentSessionId:h,subagentMessages:f,_meta:b||N||v||C||U?{compactionAction:b,originalTokens:N,finalTokens:v,originalContentPreview:C,originalContentPath:U}:void 0},I={type:"tool_call_update",sessionId:c,status:"active",toolCallUpdate:D,messageId:d};if(this.isInReplayMode)this.sessionUpdateCallbacks.size===0?(L.debug("Queueing tool_call_update for late-subscribing callbacks",{toolCallId:D.id}),this.pendingReplayUpdates.push(I)):this.notifySessionUpdate(I);else{const _={type:"tool_call_update",id:c,toolCallUpdate:D,messageId:d},M=this.chunkResolvers.shift();M?M(_):this.messageQueue.push(_)}L.debug("Processed tool_call_update",{sessionUpdate:I,isReplay:this.isInReplayMode})}else if(a&&"sessionUpdate"in a&&a.sessionUpdate==="hook_notification"){const d=a;L.debug("Received hook_notification",{id:d.id,notificationType:d.notification.type,hookType:d.notification.hookType});const m={type:"hook_notification",id:d.id,notification:d.notification,messageId:d.messageId},p=this.chunkResolvers.shift();p?p(m):this.messageQueue.push(m)}else if(a&&"sessionUpdate"in a&&a.sessionUpdate==="tool_output"){const d=a,m=d._meta&&typeof d._meta=="object"&&"messageId"in d._meta?String(d._meta.messageId):void 0,p={id:d.toolCallId??"",rawOutput:d.rawOutput,content:d.content?.map(x=>{if(typeof x!="object"||x===null)return{type:"text",text:""};const h=x;if(h.type==="content"&&typeof h.content=="object"&&h.content!==null){const f=h.content;if(f.type==="text")return{type:"content",content:{type:"text",text:typeof f.text=="string"?f.text:""}}}return h.type==="text"?{type:"text",text:typeof h.text=="string"?h.text:""}:h.type==="diff"?{type:"diff",path:typeof h.path=="string"?h.path:"",oldText:typeof h.oldText=="string"?h.oldText:"",newText:typeof h.newText=="string"?h.newText:"",line:typeof h.line=="number"?h.line:null}:h.type==="terminal"?{type:"terminal",terminalId:typeof h.terminalId=="string"?h.terminalId:""}:h.type==="image"?{type:"image",data:typeof h.data=="string"?h.data:"",mimeType:typeof h.mimeType=="string"?h.mimeType:"image/png",alt:typeof h.alt=="string"?h.alt:void 0}:{type:"text",text:""}})},g={type:"tool_call_update",sessionId:c,status:"active",toolCallUpdate:p,messageId:m};if(this.isInReplayMode)this.sessionUpdateCallbacks.size===0?(L.debug("Queueing tool_output for late-subscribing callbacks",{toolCallId:p.id}),this.pendingReplayUpdates.push(g)):this.notifySessionUpdate(g);else{const x={type:"tool_call_update",id:c,toolCallUpdate:p,messageId:m},h=this.chunkResolvers.shift();h?h(x):this.messageQueue.push(x)}L.debug("Queued tool_output as tool_call_update chunk",{sessionUpdate:g})}else if(a&&"sessionUpdate"in a&&a.sessionUpdate==="sources"){const d=a,m={type:"sources",sessionId:c,status:"active",sources:d.sources};if(this.isInReplayMode)this.sessionUpdateCallbacks.size===0?this.pendingReplayUpdates.push(m):this.notifySessionUpdate(m);else{const p={type:"sources",sources:d.sources},g=this.chunkResolvers.shift();g?g(p):this.messageQueue.push(p)}}else if(a?.sessionUpdate==="agent_message_chunk"){const d=a._meta&&typeof a._meta=="object"&&"isReplay"in a._meta&&a._meta.isReplay===!0;if(this.isInReplayMode&&!d)return;const m=a._meta&&typeof a._meta=="object"&&"tokenUsage"in a._meta?a._meta.tokenUsage:void 0,p=a._meta&&typeof a._meta=="object"&&"contextInputTokens"in a._meta&&typeof a._meta.contextInputTokens=="number"?a._meta.contextInputTokens:void 0,g=a._meta&&typeof a._meta=="object"&&"context_size"in a._meta?a._meta.context_size:void 0,x={type:"generic",sessionId:c,status:"active",_meta:a._meta},h=a.content;if(h&&typeof h=="object"){const b=h;let N=null;if(b.type==="text"&&typeof b.text=="string"&&(N={type:"content",id:s.sessionId,role:"assistant",contentDelta:{type:"text",text:b.text},tokenUsage:m,contextInputTokens:p,_meta:g?{context_size:g}:void 0,isComplete:!1}),N){const v=this.chunkResolvers.shift();v?v(N):this.messageQueue.push(N)}if(N&&typeof b.text=="string"&&(d||!this.isReceivingMessages)){const v={type:"generic",sessionId:c,status:"active",message:{id:we("assistant"),role:"assistant",content:[{type:"text",text:b.text}],timestamp:new Date().toISOString()}};d&&this.sessionUpdateCallbacks.size===0?(L.debug("Queueing assistant message for late-subscribing callbacks",{textLength:b.text.length}),this.pendingReplayUpdates.push(v)):this.notifySessionUpdate(v)}}const f=x._meta&&"context_size"in x._meta;(!d||f)&&this.notifySessionUpdate(x)}else if(a?.sessionUpdate==="user_message_chunk"){L.debug("Received user_message_chunk",{update:a});const d=a._meta&&typeof a._meta=="object"&&"isReplay"in a._meta&&a._meta.isReplay===!0,m=a.content;if(m&&typeof m=="object"){const p=m;if(p.type==="text"&&typeof p.text=="string"){const g={type:"generic",sessionId:c,status:"active",message:{id:we("user"),role:"user",content:[{type:"text",text:p.text}],timestamp:new Date().toISOString()}};d&&this.sessionUpdateCallbacks.size===0?(L.debug("Queueing user message for late-subscribing callbacks",{textLength:p.text.length}),this.pendingReplayUpdates.push(g)):(L.debug("Notifying session update for user message"),this.notifySessionUpdate(g))}}}else{L.warn("⚠️ UNHANDLED SESSION UPDATE - falling through to generic",{sessionUpdate:a?.sessionUpdate,updateKeys:a?Object.keys(a):[],hasSources:a&&"sources"in a});const d={type:"generic",sessionId:c,status:"active"};this.notifySessionUpdate(d)}}generateRequestId(){return`req-${Date.now()}-${Math.random().toString(36).substring(2,9)}`}notifySessionUpdate(s){for(const n of this.sessionUpdateCallbacks)try{n(s)}catch(o){L.error("Error in session update callback",{error:o})}}notifyError(s){for(const n of this.errorCallbacks)try{n(s)}catch(o){L.error("Error in error callback",{error:o})}}}class Jo{constructor(){throw new Error("StdioTransport is not available in the browser. Use HttpTransport or WebSocketTransport instead.")}async connect(){throw new Error("StdioTransport not available in browser")}async disconnect(){}async send(){throw new Error("StdioTransport not available in browser")}async*receive(){throw new Error("StdioTransport not available in browser")}isConnected(){return!1}onSessionUpdate(){return()=>{}}onError(){return()=>{}}}class Zo{ws=null;connected=!1;sessionUpdateCallbacks=new Set;errorCallbacks=new Set;constructor(s){}async connect(){throw new Error("WebSocketTransport not yet implemented. Waiting for HTTP ACP server.")}async disconnect(){this.ws&&(this.ws.close(),this.ws=null),this.connected=!1}async send(s){throw!this.connected||!this.ws?new Error("Transport not connected"):new Error("WebSocketTransport not yet implemented. Waiting for HTTP ACP server.")}async*receive(){throw new Error("WebSocketTransport not yet implemented. Waiting for HTTP ACP server.")}async cancel(s){throw new Error("WebSocketTransport not yet implemented. Waiting for HTTP ACP server.")}isConnected(){return this.connected}onSessionUpdate(s){return this.sessionUpdateCallbacks.add(s),()=>{this.sessionUpdateCallbacks.delete(s)}}onError(s){return this.errorCallbacks.add(s),()=>{this.errorCallbacks.delete(s)}}}const Le=ue("acp-client","debug");class er{constructor(s){this.config=s,this.transport=this.createTransport(),this.setupTransportListeners(),s.autoConnect&&this.connect().catch(n=>{Le.error("Failed to auto-connect",{error:n instanceof Error?n.message:String(n)})})}transport;sessions=new Map;currentSessionId=null;sessionUpdateHandlers=new Set;errorHandlers=new Set;async connect(){await this.transport.connect()}async disconnect(){await this.transport.disconnect(),this.currentSessionId=null}isConnected(){return this.transport.isConnected()}async startSession(s){const n="currentSessionId"in this.transport?this.transport.currentSessionId:void 0;if(n){const c=new Date().toISOString(),u=this.transport.getAgentInfo?.()?.name,d={id:n,status:"connected",config:s?{...s,agentPath:s.agentPath||""}:{agentPath:""},messages:[],metadata:{startedAt:c,agentName:u}};return this.sessions.set(n,d),this.currentSessionId=n,n}const o=this.generateSessionId(),r=new Date().toISOString(),i=this.transport.getAgentInfo?.()?.name,a={id:o,status:"connecting",config:s?{...s,agentPath:s.agentPath||""}:{agentPath:""},messages:[],metadata:{startedAt:r,agentName:i}};return this.sessions.set(o,a),this.currentSessionId=o,this.updateSessionStatus(o,"connected"),o}async loadSession(s,n){if(!this.transport.loadSession)throw new Error("Transport does not support loading sessions");const o=new Date().toISOString(),r={id:s,status:"connecting",config:n?{...n,agentPath:n.agentPath||""}:{agentPath:""},messages:[],metadata:{startedAt:o}};if(this.sessions.set(s,r),this.currentSessionId=s,await this.transport.loadSession(s),this.transport.getAgentInfo){const i=this.transport.getAgentInfo();i.name&&r.metadata&&(r.metadata.agentName=i.name)}return this.updateSessionStatus(s,"connected"),s}async listSessions(){return this.transport.listSessions?this.transport.listSessions():[]}async sendMessage(s,n,o,r){const i=n||this.currentSessionId;if(!i)throw new Error("No active session. Start a session first.");if(!this.transport.isConnected())throw new Error("Transport not connected");const a=this.sessions.get(i);if(!a)throw new Error(`Session ${i} not found`);const c=[];if(o&&o.length>0)for(const d of o)d.mimeType.startsWith("image/")&&c.push({type:"image",source:{type:"base64",media_type:d.mimeType,data:d.data}});c.push({type:"text",text:s});const u={id:we("user"),role:"user",content:c,timestamp:new Date().toISOString()};a.messages.push(u),this.updateSessionStatus(i,"active"),await this.transport.send(u,r?{promptParameters:r}:void 0)}async*receiveMessages(){if(!this.transport.isConnected())throw new Error("Transport not connected");yield*this.transport.receive()}async cancel(s){const n=s||this.currentSessionId;if(!n){Le.warn("Cannot cancel: no session ID");return}Le.info("Cancelling session",{sessionId:n}),await this.transport.cancel(n)}async editAndResend(s,n,o,r){const i=o||this.currentSessionId;if(!i)throw new Error("No active session. Start a session first.");if(!this.transport.isConnected())throw new Error("Transport not connected");if(!this.transport.editAndResend)throw new Error("Transport does not support edit and resend");const a=[];if(r&&r.length>0)for(const c of r)c.mimeType.startsWith("image/")&&a.push({type:"image",data:c.data,mimeType:c.mimeType});a.push({type:"text",text:n}),Le.info("Edit and resend",{sessionId:i,messageIndex:s}),await this.transport.editAndResend(i,s,a)}getSession(s){return this.sessions.get(s)}getCurrentSession(){return this.currentSessionId?this.sessions.get(this.currentSessionId):void 0}getAllSessions(){return Array.from(this.sessions.values())}onSessionUpdate(s){return this.sessionUpdateHandlers.add(s),()=>{this.sessionUpdateHandlers.delete(s)}}onError(s){return this.errorHandlers.add(s),()=>{this.errorHandlers.delete(s)}}onFileSystemChange(s,n){return this.transport&&"onFileSystemChange"in this.transport?this.transport.onFileSystemChange(s,n):()=>{}}getAgentInfo(){return this.transport.getAgentInfo?.()||{}}getBaseUrl(){if(this.config.type==="http")return this.config.options.baseUrl}createTransport(){switch(this.config.type){case"stdio":return new Jo(this.config.options);case"http":return new Xo(this.config.options);case"websocket":return new Zo(this.config.options);default:throw new Error(`Unknown transport type: ${this.config.type}`)}}setupTransportListeners(){this.transport.onSessionUpdate(s=>{this.handleSessionUpdate(s)}),this.transport.onError(s=>{this.handleError(s)})}handleSessionUpdate(s){if(s.sessionId){const n=this.sessions.get(s.sessionId);n&&(s.status&&(n.status=s.status),s.message&&n.messages.push(s.message),s.error&&(n.error=s.error))}for(const n of this.sessionUpdateHandlers)try{n(s)}catch(o){Le.error("Error in session update handler",{error:o instanceof Error?o.message:String(o)})}}handleError(s){for(const n of this.errorHandlers)try{n(s)}catch(o){Le.error("Error in error handler",{error:o instanceof Error?o.message:String(o)})}}updateSessionStatus(s,n){const o=this.sessions.get(s);o&&(o.status=n,this.handleSessionUpdate({sessionId:s,status:n}))}generateSessionId(){return`session_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}}const Oe=ue("acp-client-hook");function tr(t){const[s,n]=l.useState(null),[o,r]=l.useState(null),[i,a]=l.useState(null);return l.useEffect(()=>{const u=new URLSearchParams(window.location.search).get("session");u&&(Oe.info("Session ID found in URL",{sessionId:u}),a(u));try{Oe.info("Initializing ACP client",{serverUrl:t.serverUrl});const d=new er({type:"http",options:{baseUrl:t.serverUrl}});return n(d),Oe.info("ACP client initialized successfully"),()=>{Oe.debug("Disconnecting ACP client"),d.disconnect().catch(m=>{Oe.error("Failed to disconnect ACP client",{error:m instanceof Error?m.message:String(m)})})}}catch(d){const m=d instanceof Error?d.message:"Failed to initialize ACP client";r(m),Oe.error("Failed to initialize ACP client",{error:d instanceof Error?d.message:String(d),stack:d instanceof Error?d.stack:void 0});return}},[t.serverUrl]),{client:s,error:o,sessionId:i}}const se=ue("chat-store","debug"),yt=[];function Et(t){const s={id:`hook_${Date.now()}_${t.hookType}_${t.callback}`,hookType:t.hookType,callback:t.callback,...t.toolCallId?{toolCallId:t.toolCallId}:{}};switch(t.type){case"hook_triggered":return{...s,status:"triggered",threshold:t.threshold,currentPercentage:t.currentPercentage,triggeredAt:t.triggeredAt??Date.now()};case"hook_completed":return{...s,status:"completed",metadata:t.metadata,completedAt:t.completedAt??Date.now()};case"hook_error":return{...s,status:"error",error:t.error,completedAt:t.completedAt??Date.now()}}}let xt={sessionId:null,toolCallId:null,todos:yt};const sr=t=>{const s=t.sessionId;if(!s)return yt;const o=(t.toolCalls[s]||[]).filter(a=>a.title==="todo_write").sort((a,c)=>(c.startedAt||0)-(a.startedAt||0));if(o.length===0)return yt;const r=o[0];if(!r?.rawInput?.todos||!Array.isArray(r.rawInput.todos))return yt;if(xt.sessionId===s&&xt.toolCallId===r.id)return xt.todos;const i=r.rawInput.todos.map((a,c)=>({id:`${r.id}-${c}`,text:a.status==="in_progress"?a.activeForm:a.content,status:a.status}));return xt={sessionId:s,toolCallId:r.id,todos:i},i},H=ja(t=>({connectionStatus:"disconnected",sessionId:null,error:null,messages:[],isStreaming:!1,streamingStartTime:null,sources:[],toolCalls:{},totalBilled:{inputTokens:0,outputTokens:0,totalTokens:0},currentContext:{inputTokens:0,outputTokens:0,totalTokens:0},latestContextSize:null,currentModel:"claude-sonnet-4-5-20250929",tokenDisplayMode:"context",logs:[],activeTab:"chat",input:{value:"",isSubmitting:!1,attachedFiles:[]},setConnectionStatus:s=>t({connectionStatus:s}),setSessionId:s=>t({sessionId:s}),setError:s=>t({error:s}),addMessage:s=>t(n=>({messages:[...n.messages,s]})),updateMessage:(s,n)=>t(o=>{const r=o.messages.find(d=>d.id===s);let i=o.totalBilled,a=o.currentContext,c=n;if(n.tokenUsage){const d=r?.tokenUsage;se.debug("updateMessage: incoming tokenUsage",{incoming:n.tokenUsage,existing:d});const m={inputTokens:Math.max(n.tokenUsage.inputTokens??0,d?.inputTokens??0),outputTokens:Math.max(n.tokenUsage.outputTokens??0,d?.outputTokens??0),totalTokens:Math.max(n.tokenUsage.inputTokens??0,d?.inputTokens??0)+Math.max(n.tokenUsage.outputTokens??0,d?.outputTokens??0)};se.debug("updateMessage: merged tokenUsage",{merged:m}),c={...n,tokenUsage:m};const p=m.inputTokens-(d?.inputTokens??0),g=m.outputTokens-(d?.outputTokens??0),x=m.totalTokens-(d?.totalTokens??0);i={inputTokens:o.totalBilled.inputTokens+p,outputTokens:o.totalBilled.outputTokens+g,totalTokens:o.totalBilled.totalTokens+x},a={inputTokens:m.inputTokens,outputTokens:o.currentContext.outputTokens+g,totalTokens:m.totalTokens}}const u=o.messages.map(d=>d.id===s?{...d,...c}:d);if(n.tokenUsage&&c.tokenUsage){const d=r?.tokenUsage,m=c.tokenUsage,p=(m.inputTokens??0)-(d?.inputTokens??0),g=(m.outputTokens??0)-(d?.outputTokens??0),x=(m.totalTokens??0)-(d?.totalTokens??0),h=u.filter(N=>N.tokenUsage).map(N=>({id:N.id,role:N.role,tokens:N.tokenUsage})),f=u.reduce((N,v)=>({inputTokens:N.inputTokens+(v.tokenUsage?.inputTokens??0),outputTokens:N.outputTokens+(v.tokenUsage?.outputTokens??0),totalTokens:N.totalTokens+(v.tokenUsage?.totalTokens??0)}),{inputTokens:0,outputTokens:0,totalTokens:0}),b=f.inputTokens===i.inputTokens&&f.outputTokens===i.outputTokens&&f.totalTokens===i.totalTokens;se.debug("updateMessage: tokenUsage update",{messageId:s,updates:n.tokenUsage,existing:d,messageMax:m,delta:{inputDelta:p,outputDelta:g,totalDelta:x},totalBilled:i,currentContext:a,actualSum:f,billedCorrect:b?"✅":"❌",messageCount:u.length,messagesWithTokens:h.length,breakdown:h})}return{messages:u,totalBilled:i,currentContext:a}}),clearMessages:()=>t({messages:[],sources:[]}),addSources:s=>t(n=>{if(!s||s.length===0)return n;const o=new Map;for(const r of n.sources)o.set(r.id,r);for(const r of s)o.set(r.id,r);return{sources:Array.from(o.values())}}),setIsStreaming:s=>t({isStreaming:s}),setStreamingStartTime:s=>t({streamingStartTime:s}),addToolCall:(s,n)=>t(o=>({toolCalls:{...o.toolCalls,[s]:[...o.toolCalls[s]||[],n]}})),addToolCallToCurrentMessage:s=>t(n=>{const o=n.messages.findLastIndex(u=>u.role==="assistant");if(o===-1){se.debug("No assistant message found, creating one for tool call at position 0");const u={id:we("assistant"),role:"assistant",content:"",timestamp:new Date().toISOString(),isStreaming:!1,toolCalls:[{...s,contentPosition:0}]};return{messages:[...n.messages,u]}}const r=[...n.messages],i=r[o];if(!i)return n;const a=i.content.length,c={...s,contentPosition:a};return r[o]={...i,toolCalls:[...i.toolCalls||[],c]},{messages:r}}),updateToolCallInCurrentMessage:s=>t(n=>{const o=n.messages.findLastIndex(p=>p.role==="assistant");if(o===-1)return se.warn("No assistant message found to update tool call in"),n;const r=[...n.messages],i=r[o];if(!i)return n;const a=i.toolCalls||[],c=a.findIndex(p=>p.id===s.id);if(c===-1)return se.warn(`Tool call ${s.id} not found in message`),n;const u=a[c];if(!u)return n;const d=[...a],m=ps(u,s);return d[c]=m,r[o]={...i,toolCalls:d},{messages:r}}),addHookNotificationToCurrentMessage:s=>t(n=>{const o=n.messages.findLastIndex(m=>m.role==="assistant");if(o===-1){se.debug("No assistant message found, creating one for hook notification");const m={...Et(s),contentPosition:0},p={id:we("assistant"),role:"assistant",content:"",timestamp:new Date().toISOString(),isStreaming:!1,hookNotifications:[m]};return{messages:[...n.messages,p]}}const r=[...n.messages],i=r[o];if(!i)return n;const a=i.hookNotifications||[],c=i.content.length;if(s.type==="hook_triggered"){se.debug("Adding hook_triggered notification for loading state",{hookType:s.hookType,callback:s.callback,contentPosition:c});const m={...Et(s),contentPosition:c},p=[...a,m];return r[o]={...i,hookNotifications:p},{messages:r}}let u;const d=a.findIndex(m=>m.hookType===s.hookType&&m.callback===s.callback&&m.status==="triggered");if(d!==-1){const m=a[d];u=[...a];const p=s.type==="hook_completed"||s.type==="hook_error"?s.completedAt??Date.now():Date.now();u[d]={...m,status:s.type==="hook_completed"?"completed":"error",completedAt:p,...s.type==="hook_completed"&&s.metadata?{metadata:s.metadata}:{},...s.type==="hook_error"?{error:s.error}:{}},se.debug("Merged hook notification with triggered state",{hookType:s.hookType,status:u[d]?.status})}else{const m={...Et(s),contentPosition:c};u=[...a,m],se.debug("Added hook notification without prior triggered state",{hookType:s.hookType,callback:s.callback,contentPosition:c})}return r[o]={...i,hookNotifications:u},{messages:r}}),addSourcesToCurrentMessage:s=>t(n=>{const o=n.messages.findLastIndex(c=>c.role==="assistant");if(o===-1){se.debug("No assistant message found, creating one for sources");const c={id:we("assistant"),role:"assistant",content:"",timestamp:new Date().toISOString(),isStreaming:!1,sources:s},u=new Map;for(const d of n.sources)u.set(d.id,d);for(const d of s)u.set(d.id,d);return{messages:[...n.messages,c],sources:[...u.values()]}}const r=[...n.messages],i=r[o];if(!i)return n;r[o]={...i,sources:[...i.sources||[],...s]},se.debug("Added sources to current message",{sourcesCount:s.length,totalSources:(i.sources?.length||0)+s.length});const a=new Map;for(const c of n.sources)a.set(c.id,c);for(const c of s)a.set(c.id,c);return{messages:r,sources:[...a.values()]}}),addSourcesByToolCallId:s=>t(n=>{se.info("addSourcesByToolCallId called",{sourcesCount:s.length,messagesCount:n.messages.length,sourceDetails:s.map(c=>({id:c.id,toolCallId:c.toolCallId,title:c.title?.slice(0,30)}))}),se.info("Current messages state",{messages:n.messages.map((c,u)=>({index:u,role:c.role,contentLength:c.content?.length||0,toolCallIds:c.toolCalls?.map(d=>d.id)||[],existingSources:c.sources?.length||0}))});const o=new Map;for(const c of s){if(!c.toolCallId){se.warn("Source missing toolCallId",{sourceId:c.id});continue}const u=o.get(c.toolCallId)||[];u.push(c),o.set(c.toolCallId,u)}if(o.size===0)return se.warn("No sources with toolCallId to distribute"),n;const r=[...n.messages];let i=0;for(const[c,u]of o){const d=r.findIndex(m=>m.role==="assistant"&&m.toolCalls?.some(p=>p.id===c));if(se.info("Looking for message with toolCallId",{toolCallId:c,foundIndex:d,sourcesCount:u.length}),d!==-1){const m=r[d];m&&(r[d]={...m,sources:[...m.sources||[],...u]},i+=u.length,se.info("Added sources to message",{messageIndex:d,messageId:m.id,toolCallId:c,sourcesAdded:u.length,totalSourcesNow:r[d]?.sources?.length,messageContentPreview:m.content.slice(0,100)}))}else{se.warn("Tool call not found in any message, using fallback",{toolCallId:c});const m=r.findLastIndex(p=>p.role==="assistant");if(m!==-1){const p=r[m];p&&(r[m]={...p,sources:[...p.sources||[],...u]},i+=u.length,se.info("Added sources to last assistant message (fallback)",{lastAssistantIndex:m,sourcesAdded:u.length}))}else se.error("No assistant message found to add sources to")}}se.info("Finished distributing sources",{totalSources:s.length,sourcesAdded:i,toolCallIds:Array.from(o.keys())});const a=new Map;for(const c of n.sources)a.set(c.id,c);for(const c of s)a.set(c.id,c);return{messages:r,sources:[...a.values()]}}),updateToolCall:(s,n)=>t(o=>{const r=o.toolCalls[s]||[],i=r.findIndex(u=>u.id===n.id);if(i===-1)return o;const a=r[i];if(!a)return o;const c=[...r];return c[i]=ps(a,n),{toolCalls:{...o.toolCalls,[s]:c}}}),setInputValue:s=>t(n=>({input:{...n.input,value:s}})),setInputSubmitting:s=>t(n=>({input:{...n.input,isSubmitting:s}})),addFileAttachment:s=>t(n=>({input:{...n.input,attachedFiles:[...n.input.attachedFiles,s]}})),removeFileAttachment:s=>t(n=>({input:{...n.input,attachedFiles:n.input.attachedFiles.filter((o,r)=>r!==s)}})),setSelectedPromptParameters:s=>t(n=>({input:{...n.input,selectedPromptParameters:s}})),clearInput:()=>t(s=>({input:{value:"",isSubmitting:!1,attachedFiles:[],selectedPromptParameters:void 0}})),addTokenUsage:s=>t(n=>({totalBilled:{inputTokens:n.totalBilled.inputTokens+(s.inputTokens??0),outputTokens:n.totalBilled.outputTokens+(s.outputTokens??0),totalTokens:n.totalBilled.totalTokens+(s.totalTokens??0)},currentContext:{inputTokens:s.inputTokens??n.currentContext.inputTokens,outputTokens:n.currentContext.outputTokens+(s.outputTokens??0),totalTokens:(s.inputTokens??n.currentContext.inputTokens)+(n.currentContext.outputTokens+(s.outputTokens??0))}})),setLatestContextSize:s=>t({latestContextSize:s}),setCurrentModel:s=>t({currentModel:s}),resetTokens:()=>t({totalBilled:{inputTokens:0,outputTokens:0,totalTokens:0},currentContext:{inputTokens:0,outputTokens:0,totalTokens:0},latestContextSize:null}),cycleTokenDisplayMode:()=>t(s=>{const n=["context","input","output"],r=(n.indexOf(s.tokenDisplayMode)+1)%n.length,i=n[r];return i?{tokenDisplayMode:i}:s}),addLog:s=>t(n=>({logs:[...n.logs,s]})),clearLogs:()=>t({logs:[]}),setActiveTab:s=>t({activeTab:s}),truncateMessagesFrom:s=>t(n=>({messages:n.messages.slice(0,s),totalBilled:{inputTokens:0,outputTokens:0,totalTokens:0},currentContext:{inputTokens:0,outputTokens:0,totalTokens:0},latestContextSize:null}))})),Z=ue("use-chat-messages","debug");function gn(t,s){const n=H(I=>I.messages),o=H(I=>I.isStreaming),r=H(I=>I.sessionId),i=H(I=>I.setIsStreaming),a=H(I=>I.setStreamingStartTime),c=H(I=>I.addMessage),u=H(I=>I.updateMessage),d=H(I=>I.setError),m=H(I=>I.setLatestContextSize),p=H(I=>I.addToolCall),g=H(I=>I.updateToolCall),x=H(I=>I.addToolCallToCurrentMessage),h=H(I=>I.updateToolCallInCurrentMessage),f=H(I=>I.addHookNotificationToCurrentMessage),b=H(I=>I.addSourcesByToolCallId),N=H(I=>I.truncateMessagesFrom),v=l.useRef(null),C=l.useRef(!1),U=l.useCallback(async(I,_,M)=>{if(Z.debug("[sendMessage] Called with",{contentLength:I.length,attachmentsCount:_?.length||0,hasAttachments:!!_&&_.length>0,hasPromptParameters:!!M,promptParameters:M}),!t){Z.error("No client available"),d("No client available");return}let E=r;if(!E){Z.info("Creating new session before sending first message");const Y=await s();if(!Y){Z.error("Failed to create session"),d("Failed to create session");return}E=Y,Z.info("Session created successfully",{sessionId:Y})}const K=we("assistant");try{const Y=Date.now();i(!0),a(Y);const z={id:we("user"),role:"user",content:I,timestamp:new Date().toISOString(),isStreaming:!1,..._&&_.length>0?{images:_.filter(S=>S.mimeType.startsWith("image/")).map(S=>({mimeType:S.mimeType,data:S.data}))}:{}};c(z);const W={id:K,role:"assistant",content:"",timestamp:new Date().toISOString(),isStreaming:!0,streamingStartTime:Y};c(W),v.current=K,C.current=!1;const V=t.receiveMessages();t.sendMessage(I,E,_,M).catch(S=>{const P=S instanceof Error?S.message:String(S);d(P),i(!1),a(null)});let T="",k=!1;for await(const S of V){if(C.current){Z.info("Stream cancelled, exiting loop");break}if(S.type==="content"){const P=S._meta,j=P?.context_size||S.context_size;if(j!=null){const O=j;Z.info("✅ Received context_size from backend",{context_size:O,totalEstimated:O.totalEstimated,source:P?.context_size?"_meta":"direct"}),m(O)}else Z.debug("Chunk does not have context_size",{hasContextSize:"context_size"in S,hasMeta:"_meta"in S,metaKeys:P?Object.keys(P):null});if(S.tokenUsage&&Z.debug("Received tokenUsage from backend",{tokenUsage:S.tokenUsage}),S.isComplete){u(K,{content:T,isStreaming:!1,streamingStartTime:void 0,...S.tokenUsage?{tokenUsage:S.tokenUsage}:{}}),i(!1),a(null),v.current=null,k=!0;break}else S.contentDelta.type==="text"&&(T+=S.contentDelta.text,u(K,{content:T,...S.tokenUsage?{tokenUsage:S.tokenUsage}:{}}),document.hidden||await new Promise(O=>setTimeout(O,16)))}else S.type==="tool_call"?(Z.debug("Received tool_call chunk",{chunk:S}),p(E,S.toolCall),x(S.toolCall)):S.type==="tool_call_update"?(Z.debug("Received tool_call_update chunk",{chunk:S}),g(E,S.toolCallUpdate),h(S.toolCallUpdate)):S.type==="hook_notification"?(Z.debug("Received hook_notification chunk",{chunk:S}),f(S.notification)):S.type==="sources"&&(Z.debug("Received sources chunk",{chunk:S}),b(S.sources))}k||(C.current?(Z.info("Stream cancelled by user"),u(K,{content:`${T}
3
3
 
4
4
  [Cancelled]`,isStreaming:!1,streamingStartTime:void 0})):(Z.warn("Stream ended without isComplete flag"),u(K,{isStreaming:!1,streamingStartTime:void 0})),i(!1),a(null),v.current=null)}catch(Y){const z=Y instanceof Error?Y.message:String(Y);d(z),i(!1),a(null),v.current=null,u(K,{isStreaming:!1,streamingStartTime:void 0})}},[t,r,s,c,u,i,a,d,m,p,g,x,h,f,b]),B=l.useCallback(async()=>{if(!t||!o){Z.debug("Cannot cancel: not streaming or no client");return}Z.info("Cancelling current turn"),C.current=!0;try{await t.cancel(r||void 0)}catch(I){Z.error("Error cancelling turn",{error:I})}},[t,o,r]),D=l.useCallback(async(I,_,M)=>{if(Z.debug("[editAndResend] Called with",{userMessageIndex:I,contentLength:_.length,attachmentsCount:M?.length||0}),!t){Z.error("No client available"),d("No client available");return}if(!r){Z.error("No session available"),d("No session available");return}let E=0,K=-1;for(let W=0;W<n.length;W++)if(n[W]?.role==="user"){if(E===I){K=W;break}E++}if(K===-1){Z.error("User message not found",{userMessageIndex:I,totalUserMessages:E}),d("User message not found");return}const Y=n[K];Z.debug("[editAndResend] Found target message",{userMessageIndex:I,targetArrayIndex:K,messageRole:Y?.role});const z=we("assistant");try{const W=Date.now();i(!0),a(W),N(K);const V={id:we("user"),role:"user",content:_,timestamp:new Date().toISOString(),isStreaming:!1,...M&&M.length>0?{images:M.filter(j=>j.mimeType.startsWith("image/")).map(j=>({mimeType:j.mimeType,data:j.data}))}:{}};c(V);const T={id:z,role:"assistant",content:"",timestamp:new Date().toISOString(),isStreaming:!0,streamingStartTime:W};c(T),v.current=z,C.current=!1;const k=t.receiveMessages();t.editAndResend(I,_,r,M).catch(j=>{const O=j instanceof Error?j.message:String(j);d(O),i(!1),a(null)});let S="",P=!1;for await(const j of k){if(C.current){Z.info("Stream cancelled, exiting loop");break}if(j.type==="content"){const Q=j._meta?.context_size||j.context_size;if(Q!=null){const $=Q;Z.info("✅ Received context_size from backend",{context_size:$,totalEstimated:$.totalEstimated}),m($)}if(j.isComplete){u(z,{content:S,isStreaming:!1,streamingStartTime:void 0,...j.tokenUsage?{tokenUsage:j.tokenUsage}:{}}),i(!1),a(null),v.current=null,P=!0;break}else j.contentDelta.type==="text"&&(S+=j.contentDelta.text,u(z,{content:S,...j.tokenUsage?{tokenUsage:j.tokenUsage}:{}}),document.hidden||await new Promise($=>setTimeout($,16)))}else j.type==="tool_call"?(Z.debug("Received tool_call chunk",{chunk:j}),p(r,j.toolCall),x(j.toolCall)):j.type==="tool_call_update"?(Z.debug("Received tool_call_update chunk",{chunk:j}),g(r,j.toolCallUpdate),h(j.toolCallUpdate)):j.type==="hook_notification"?(Z.debug("Received hook_notification chunk",{chunk:j}),f(j.notification)):j.type==="sources"&&(Z.debug("Received sources chunk",{chunk:j}),b(j.sources))}P||(C.current?(Z.info("Stream cancelled by user"),u(z,{content:`${S}