@ag-ui/client 0.0.40-alpha.7 → 0.0.40-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { Message, State, RunAgentInput, BaseEvent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, StepStartedEvent, StepFinishedEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, StateSnapshotEvent, StateDeltaEvent, MessagesSnapshotEvent, RawEvent, CustomEvent, ToolCall } from '@ag-ui/core';
1
+ import { Message, State, RunAgentInput, BaseEvent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, StepStartedEvent, StepFinishedEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, StateSnapshotEvent, StateDeltaEvent, MessagesSnapshotEvent, ActivitySnapshotEvent, ActivityMessage, ActivityDeltaEvent, RawEvent, CustomEvent, ToolCall } from '@ag-ui/core';
2
2
  export * from '@ag-ui/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { z } from 'zod';
@@ -271,6 +271,15 @@ interface AgentSubscriber {
271
271
  onMessagesSnapshotEvent?(params: {
272
272
  event: MessagesSnapshotEvent;
273
273
  } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
274
+ onActivitySnapshotEvent?(params: {
275
+ event: ActivitySnapshotEvent;
276
+ activityMessage?: ActivityMessage;
277
+ existingMessage?: Message;
278
+ } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
279
+ onActivityDeltaEvent?(params: {
280
+ event: ActivityDeltaEvent;
281
+ activityMessage?: ActivityMessage;
282
+ } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
274
283
  onRawEvent?(params: {
275
284
  event: RawEvent;
276
285
  } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Message, State, RunAgentInput, BaseEvent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, StepStartedEvent, StepFinishedEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, StateSnapshotEvent, StateDeltaEvent, MessagesSnapshotEvent, RawEvent, CustomEvent, ToolCall } from '@ag-ui/core';
1
+ import { Message, State, RunAgentInput, BaseEvent, RunStartedEvent, RunFinishedEvent, RunErrorEvent, StepStartedEvent, StepFinishedEvent, TextMessageStartEvent, TextMessageContentEvent, TextMessageEndEvent, ToolCallStartEvent, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, StateSnapshotEvent, StateDeltaEvent, MessagesSnapshotEvent, ActivitySnapshotEvent, ActivityMessage, ActivityDeltaEvent, RawEvent, CustomEvent, ToolCall } from '@ag-ui/core';
2
2
  export * from '@ag-ui/core';
3
3
  import { Observable } from 'rxjs';
4
4
  import { z } from 'zod';
@@ -271,6 +271,15 @@ interface AgentSubscriber {
271
271
  onMessagesSnapshotEvent?(params: {
272
272
  event: MessagesSnapshotEvent;
273
273
  } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
274
+ onActivitySnapshotEvent?(params: {
275
+ event: ActivitySnapshotEvent;
276
+ activityMessage?: ActivityMessage;
277
+ existingMessage?: Message;
278
+ } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
279
+ onActivityDeltaEvent?(params: {
280
+ event: ActivityDeltaEvent;
281
+ activityMessage?: ActivityMessage;
282
+ } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
274
283
  onRawEvent?(params: {
275
284
  event: RawEvent;
276
285
  } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>;
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
- "use strict";var Lt=Object.create;var K=Object.defineProperty,Ot=Object.defineProperties,wt=Object.getOwnPropertyDescriptor,Pt=Object.getOwnPropertyDescriptors,Dt=Object.getOwnPropertyNames,Et=Object.getOwnPropertySymbols,Ht=Object.getPrototypeOf,pt=Object.prototype.hasOwnProperty,Gt=Object.prototype.propertyIsEnumerable;var ut=(l,s,e)=>s in l?K(l,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[s]=e,I=(l,s)=>{for(var e in s||(s={}))pt.call(s,e)&&ut(l,e,s[e]);if(Et)for(var e of Et(s))Gt.call(s,e)&&ut(l,e,s[e]);return l},j=(l,s)=>Ot(l,Pt(s));var Ft=(l,s)=>{for(var e in s)K(l,e,{get:s[e],enumerable:!0})},q=(l,s,e,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of Dt(s))!pt.call(l,t)&&t!==e&&K(l,t,{get:()=>s[t],enumerable:!(a=wt(s,t))||a.enumerable});return l},O=(l,s,e)=>(q(l,s,"default"),e&&q(e,s,"default")),W=(l,s,e)=>(e=l!=null?Lt(Ht(l)):{},q(s||!l||!l.__esModule?K(e,"default",{value:l,enumerable:!0}):e,l)),Ut=l=>q(K({},"__esModule",{value:!0}),l);var L={};Ft(L,{AbstractAgent:()=>k,HttpAgent:()=>rt,compactEvents:()=>It,convertToLegacyEvents:()=>at,defaultApplyEvents:()=>Y,parseProtoStream:()=>et,parseSSEStream:()=>tt,randomUUID:()=>Xt,runHttpRequest:()=>Z,structuredClone_:()=>y,transformChunks:()=>z,transformHttpEventStream:()=>st,verifyEvents:()=>X});module.exports=Ut(L);var C=require("@ag-ui/core"),U=require("rxjs/operators"),V=require("rxjs");var dt=require("uuid");var y=l=>{if(typeof structuredClone=="function")return structuredClone(l);try{return JSON.parse(JSON.stringify(l))}catch(s){return I({},l)}};function Xt(){return(0,dt.v4)()}var mt=require("fast-json-patch");async function R(l,s,e,a){let t=s,n=e,i;for(let r of l)try{let g=await a(r,y(t),y(n));if(g===void 0)continue;if(g.messages!==void 0&&(t=g.messages),g.state!==void 0&&(n=g.state),i=g.stopPropagation,i===!0)break}catch(g){process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0||console.error("Subscriber error:",g);continue}return I(I(I({},JSON.stringify(t)!==JSON.stringify(s)?{messages:t}:{}),JSON.stringify(n)!==JSON.stringify(e)?{state:n}:{}),i!==void 0?{stopPropagation:i}:{})}var ft=W(require("untruncate-json")),Y=(l,s,e,a)=>{let t=y(l.messages),n=y(l.state),i={},r=u=>{u.messages!==void 0&&(t=u.messages,i.messages=u.messages),u.state!==void 0&&(n=u.state,i.state=u.state)},g=()=>{let u=y(i);return i={},u.messages!==void 0||u.state!==void 0?(0,V.of)(u):V.EMPTY};return s.pipe((0,U.concatMap)(async u=>{var f,v;let S=await R(a,t,n,(o,c,m)=>{var p;return(p=o.onEvent)==null?void 0:p.call(o,{event:u,agent:e,input:l,messages:c,state:m})});if(r(S),S.stopPropagation===!0)return g();switch(u.type){case C.EventType.TEXT_MESSAGE_START:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onTextMessageStartEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let{messageId:c,role:m="assistant"}=u,p={id:c,role:m,content:""};t.push(p),r({messages:t})}return g()}case C.EventType.TEXT_MESSAGE_CONTENT:{let{messageId:o,delta:c}=u,m=t.find(E=>E.id===o);if(!m)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${o}'`),g();let p=await R(a,t,n,(E,_,N)=>{var w;return(w=E.onTextMessageContentEvent)==null?void 0:w.call(E,{event:u,messages:_,state:N,agent:e,input:l,textMessageBuffer:typeof m.content=="string"?m.content:""})});if(r(p),p.stopPropagation!==!0){let E=typeof m.content=="string"?m.content:"";m.content=`${E}${c}`,r({messages:t})}return g()}case C.EventType.TEXT_MESSAGE_END:{let{messageId:o}=u,c=t.find(p=>p.id===o);if(!c)return console.warn(`TEXT_MESSAGE_END: No message found with ID '${o}'`),g();let m=await R(a,t,n,(p,E,_)=>{var N;return(N=p.onTextMessageEndEvent)==null?void 0:N.call(p,{event:u,messages:E,state:_,agent:e,input:l,textMessageBuffer:typeof c.content=="string"?c.content:""})});return r(m),await Promise.all(a.map(p=>{var E;(E=p.onNewMessage)==null||E.call(p,{message:c,messages:t,state:n,agent:e,input:l})})),g()}case C.EventType.TOOL_CALL_START:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onToolCallStartEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let{toolCallId:c,toolCallName:m,parentMessageId:p}=u,E;p&&t.length>0&&t[t.length-1].id===p?E=t[t.length-1]:(E={id:p||c,role:"assistant",toolCalls:[]},t.push(E)),(f=E.toolCalls)!=null||(E.toolCalls=[]),E.toolCalls.push({id:c,type:"function",function:{name:m,arguments:""}}),r({messages:t})}return g()}case C.EventType.TOOL_CALL_ARGS:{let{toolCallId:o,delta:c}=u,m=t.find(_=>{var N;return(N=_.toolCalls)==null?void 0:N.some(w=>w.id===o)});if(!m)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${o}'`),g();let p=m.toolCalls.find(_=>_.id===o);if(!p)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${o}'`),g();let E=await R(a,t,n,(_,N,w)=>{var it;let J=p.function.arguments,$=p.function.name,b={};try{b=(0,ft.default)(J)}catch(Zt){}return(it=_.onToolCallArgsEvent)==null?void 0:it.call(_,{event:u,messages:N,state:w,agent:e,input:l,toolCallBuffer:J,toolCallName:$,partialToolCallArgs:b})});return r(E),E.stopPropagation!==!0&&(p.function.arguments+=c,r({messages:t})),g()}case C.EventType.TOOL_CALL_END:{let{toolCallId:o}=u,c=t.find(E=>{var _;return(_=E.toolCalls)==null?void 0:_.some(N=>N.id===o)});if(!c)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${o}'`),g();let m=c.toolCalls.find(E=>E.id===o);if(!m)return console.warn(`TOOL_CALL_END: No tool call found with ID '${o}'`),g();let p=await R(a,t,n,(E,_,N)=>{var b;let w=m.function.arguments,J=m.function.name,$={};try{$=JSON.parse(w)}catch(it){}return(b=E.onToolCallEndEvent)==null?void 0:b.call(E,{event:u,messages:_,state:N,agent:e,input:l,toolCallName:J,toolCallArgs:$})});return r(p),await Promise.all(a.map(E=>{var _;(_=E.onNewToolCall)==null||_.call(E,{toolCall:m,messages:t,state:n,agent:e,input:l})})),g()}case C.EventType.TOOL_CALL_RESULT:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onToolCallResultEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let{messageId:c,toolCallId:m,content:p,role:E}=u,_={id:c,toolCallId:m,role:E||"tool",content:p};t.push(_),await Promise.all(a.map(N=>{var w;(w=N.onNewMessage)==null||w.call(N,{message:_,messages:t,state:n,agent:e,input:l})})),r({messages:t})}return g()}case C.EventType.STATE_SNAPSHOT:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onStateSnapshotEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let{snapshot:c}=u;n=c,r({state:n})}return g()}case C.EventType.STATE_DELTA:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onStateDeltaEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let{delta:c}=u;try{n=(0,mt.applyPatch)(n,c,!0,!1).newDocument,r({state:n})}catch(m){let p=m instanceof Error?m.message:String(m);console.warn(`Failed to apply state patch:
1
+ "use strict";var wt=Object.create;var b=Object.defineProperty,Pt=Object.defineProperties,Dt=Object.getOwnPropertyDescriptor,Ht=Object.getOwnPropertyDescriptors,Gt=Object.getOwnPropertyNames,dt=Object.getOwnPropertySymbols,Ft=Object.getPrototypeOf,ft=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable;var mt=(l,s,e)=>s in l?b(l,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):l[s]=e,L=(l,s)=>{for(var e in s||(s={}))ft.call(s,e)&&mt(l,e,s[e]);if(dt)for(var e of dt(s))Ut.call(s,e)&&mt(l,e,s[e]);return l},k=(l,s)=>Pt(l,Ht(s));var Xt=(l,s)=>{for(var e in s)b(l,e,{get:s[e],enumerable:!0})},W=(l,s,e,a)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of Gt(s))!ft.call(l,t)&&t!==e&&b(l,t,{get:()=>s[t],enumerable:!(a=Dt(s,t))||a.enumerable});return l},D=(l,s,e)=>(W(l,s,"default"),e&&W(e,s,"default")),q=(l,s,e)=>(e=l!=null?wt(Ft(l)):{},W(s||!l||!l.__esModule?b(e,"default",{value:l,enumerable:!0}):e,l)),Bt=l=>W(b({},"__esModule",{value:!0}),l);var P={};Xt(P,{AbstractAgent:()=>$,HttpAgent:()=>lt,compactEvents:()=>Ot,convertToLegacyEvents:()=>rt,defaultApplyEvents:()=>Z,parseProtoStream:()=>st,parseSSEStream:()=>nt,randomUUID:()=>kt,runHttpRequest:()=>et,structuredClone_:()=>R,transformChunks:()=>Y,transformHttpEventStream:()=>ot,verifyEvents:()=>z});module.exports=Bt(P);var _=require("@ag-ui/core"),j=require("rxjs/operators"),Q=require("rxjs");var Tt=require("uuid");var R=l=>{if(typeof structuredClone=="function")return structuredClone(l);try{return JSON.parse(JSON.stringify(l))}catch(s){return L({},l)}};function kt(){return(0,Tt.v4)()}var ct=require("fast-json-patch");async function x(l,s,e,a){let t=s,n=e,r;for(let o of l)try{let g=await a(o,R(t),R(n));if(g===void 0)continue;if(g.messages!==void 0&&(t=g.messages),g.state!==void 0&&(n=g.state),r=g.stopPropagation,r===!0)break}catch(g){process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0||console.error("Subscriber error:",g);continue}return L(L(L({},JSON.stringify(t)!==JSON.stringify(s)?{messages:t}:{}),JSON.stringify(n)!==JSON.stringify(e)?{state:n}:{}),r!==void 0?{stopPropagation:r}:{})}var St=q(require("untruncate-json"));var Z=(l,s,e,a)=>{let t=R(l.messages),n=R(l.state),r={},o=u=>{u.messages!==void 0&&(t=u.messages,r.messages=u.messages),u.state!==void 0&&(n=u.state,r.state=u.state)},g=()=>{let u=R(r);return r={},u.messages!==void 0||u.state!==void 0?(0,Q.of)(u):Q.EMPTY};return s.pipe((0,j.concatMap)(async u=>{var T,y,c,G;let S=await x(a,t,n,(p,i,d)=>{var m;return(m=p.onEvent)==null?void 0:m.call(p,{event:u,agent:e,input:l,messages:i,state:d})});if(o(S),S.stopPropagation===!0)return g();switch(u.type){case _.EventType.TEXT_MESSAGE_START:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onTextMessageStartEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let{messageId:i,role:d="assistant"}=u,m={id:i,role:d,content:""};t.push(m),o({messages:t})}return g()}case _.EventType.TEXT_MESSAGE_CONTENT:{let{messageId:p,delta:i}=u,d=t.find(E=>E.id===p);if(!d)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${p}'`),g();let m=await x(a,t,n,(E,v,M)=>{var N;return(N=E.onTextMessageContentEvent)==null?void 0:N.call(E,{event:u,messages:v,state:M,agent:e,input:l,textMessageBuffer:typeof d.content=="string"?d.content:""})});if(o(m),m.stopPropagation!==!0){let E=typeof d.content=="string"?d.content:"";d.content=`${E}${i}`,o({messages:t})}return g()}case _.EventType.TEXT_MESSAGE_END:{let{messageId:p}=u,i=t.find(m=>m.id===p);if(!i)return console.warn(`TEXT_MESSAGE_END: No message found with ID '${p}'`),g();let d=await x(a,t,n,(m,E,v)=>{var M;return(M=m.onTextMessageEndEvent)==null?void 0:M.call(m,{event:u,messages:E,state:v,agent:e,input:l,textMessageBuffer:typeof i.content=="string"?i.content:""})});return o(d),await Promise.all(a.map(m=>{var E;(E=m.onNewMessage)==null||E.call(m,{message:i,messages:t,state:n,agent:e,input:l})})),g()}case _.EventType.TOOL_CALL_START:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onToolCallStartEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let{toolCallId:i,toolCallName:d,parentMessageId:m}=u,E;m&&t.length>0&&t[t.length-1].id===m?E=t[t.length-1]:(E={id:m||i,role:"assistant",toolCalls:[]},t.push(E)),(T=E.toolCalls)!=null||(E.toolCalls=[]),E.toolCalls.push({id:i,type:"function",function:{name:d,arguments:""}}),o({messages:t})}return g()}case _.EventType.TOOL_CALL_ARGS:{let{toolCallId:p,delta:i}=u,d=t.find(v=>{var M;return(M=v.toolCalls)==null?void 0:M.some(N=>N.id===p)});if(!d)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${p}'`),g();let m=d.toolCalls.find(v=>v.id===p);if(!m)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${p}'`),g();let E=await x(a,t,n,(v,M,N)=>{var gt;let w=m.function.arguments,F=m.function.name,V={};try{V=(0,St.default)(w)}catch(ee){}return(gt=v.onToolCallArgsEvent)==null?void 0:gt.call(v,{event:u,messages:M,state:N,agent:e,input:l,toolCallBuffer:w,toolCallName:F,partialToolCallArgs:V})});return o(E),E.stopPropagation!==!0&&(m.function.arguments+=i,o({messages:t})),g()}case _.EventType.TOOL_CALL_END:{let{toolCallId:p}=u,i=t.find(E=>{var v;return(v=E.toolCalls)==null?void 0:v.some(M=>M.id===p)});if(!i)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${p}'`),g();let d=i.toolCalls.find(E=>E.id===p);if(!d)return console.warn(`TOOL_CALL_END: No tool call found with ID '${p}'`),g();let m=await x(a,t,n,(E,v,M)=>{var V;let N=d.function.arguments,w=d.function.name,F={};try{F=JSON.parse(N)}catch(gt){}return(V=E.onToolCallEndEvent)==null?void 0:V.call(E,{event:u,messages:v,state:M,agent:e,input:l,toolCallName:w,toolCallArgs:F})});return o(m),await Promise.all(a.map(E=>{var v;(v=E.onNewToolCall)==null||v.call(E,{toolCall:d,messages:t,state:n,agent:e,input:l})})),g()}case _.EventType.TOOL_CALL_RESULT:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onToolCallResultEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let{messageId:i,toolCallId:d,content:m,role:E}=u,v={id:i,toolCallId:d,role:E||"tool",content:m};t.push(v),await Promise.all(a.map(M=>{var N;(N=M.onNewMessage)==null||N.call(M,{message:v,messages:t,state:n,agent:e,input:l})})),o({messages:t})}return g()}case _.EventType.STATE_SNAPSHOT:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onStateSnapshotEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let{snapshot:i}=u;n=i,o({state:n})}return g()}case _.EventType.STATE_DELTA:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onStateDeltaEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let{delta:i}=u;try{n=(0,ct.applyPatch)(n,i,!0,!1).newDocument,o({state:n})}catch(d){let m=d instanceof Error?d.message:String(d);console.warn(`Failed to apply state patch:
2
2
  Current state: ${JSON.stringify(n,null,2)}
3
- Patch operations: ${JSON.stringify(c,null,2)}
4
- Error: ${p}`)}}return g()}case C.EventType.MESSAGES_SNAPSHOT:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onMessagesSnapshotEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let{messages:c}=u;t=c,r({messages:t})}return g()}case C.EventType.RAW:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onRawEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});return r(o),g()}case C.EventType.CUSTOM:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onCustomEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});return r(o),g()}case C.EventType.RUN_STARTED:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onRunStartedEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});if(r(o),o.stopPropagation!==!0){let c=u;if((v=c.input)!=null&&v.messages){for(let m of c.input.messages)t.find(E=>E.id===m.id)||t.push(m);r({messages:t})}}return g()}case C.EventType.RUN_FINISHED:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onRunFinishedEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l,result:u.result})});return r(o),g()}case C.EventType.RUN_ERROR:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onRunErrorEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});return r(o),g()}case C.EventType.STEP_STARTED:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onStepStartedEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});return r(o),g()}case C.EventType.STEP_FINISHED:{let o=await R(a,t,n,(c,m,p)=>{var E;return(E=c.onStepFinishedEvent)==null?void 0:E.call(c,{event:u,messages:m,state:p,agent:e,input:l})});return r(o),g()}case C.EventType.TEXT_MESSAGE_CHUNK:throw new Error("TEXT_MESSAGE_CHUNK must be tranformed before being applied");case C.EventType.TOOL_CALL_CHUNK:throw new Error("TOOL_CALL_CHUNK must be tranformed before being applied");case C.EventType.THINKING_START:return g();case C.EventType.THINKING_END:return g();case C.EventType.THINKING_TEXT_MESSAGE_START:return g();case C.EventType.THINKING_TEXT_MESSAGE_CONTENT:return g();case C.EventType.THINKING_TEXT_MESSAGE_END:return g()}let P=u.type;return g()}),(0,U.mergeAll)(),a.length>0?(0,U.defaultIfEmpty)({}):u=>u)};var T=require("@ag-ui/core"),A=require("rxjs"),St=require("rxjs/operators"),X=l=>s=>{let e=new Map,a=new Map,t=!1,n=!1,i=!1,r=new Map,g=!1,u=!1,S=!1,P=()=>{e.clear(),a.clear(),r.clear(),g=!1,u=!1,t=!1,n=!1,S=!0};return s.pipe((0,St.mergeMap)(f=>{let v=f.type;if(l&&console.debug("[VERIFY]:",JSON.stringify(f)),n)return(0,A.throwError)(()=>new T.AGUIError(`Cannot send event type '${v}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(t&&v!==T.EventType.RUN_ERROR&&v!==T.EventType.RUN_STARTED)return(0,A.throwError)(()=>new T.AGUIError(`Cannot send event type '${v}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(i){if(v===T.EventType.RUN_STARTED){if(S&&!t)return(0,A.throwError)(()=>new T.AGUIError("Cannot send 'RUN_STARTED' while a run is still active. The previous run must be finished with 'RUN_FINISHED' before starting a new run."));t&&P()}}else if(i=!0,v!==T.EventType.RUN_STARTED&&v!==T.EventType.RUN_ERROR)return(0,A.throwError)(()=>new T.AGUIError("First event must be 'RUN_STARTED'"));switch(v){case T.EventType.TEXT_MESSAGE_START:{let o=f.messageId;return e.has(o)?(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'TEXT_MESSAGE_START' event: A text message with ID '${o}' is already in progress. Complete it with 'TEXT_MESSAGE_END' first.`)):(e.set(o,!0),(0,A.of)(f))}case T.EventType.TEXT_MESSAGE_CONTENT:{let o=f.messageId;return e.has(o)?(0,A.of)(f):(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${o}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case T.EventType.TEXT_MESSAGE_END:{let o=f.messageId;return e.has(o)?(e.delete(o),(0,A.of)(f)):(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${o}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case T.EventType.TOOL_CALL_START:{let o=f.toolCallId;return a.has(o)?(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${o}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(a.set(o,!0),(0,A.of)(f))}case T.EventType.TOOL_CALL_ARGS:{let o=f.toolCallId;return a.has(o)?(0,A.of)(f):(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${o}'. Start a tool call with 'TOOL_CALL_START' first.`))}case T.EventType.TOOL_CALL_END:{let o=f.toolCallId;return a.has(o)?(a.delete(o),(0,A.of)(f)):(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${o}'. A 'TOOL_CALL_START' event must be sent first.`))}case T.EventType.STEP_STARTED:{let o=f.stepName;return r.has(o)?(0,A.throwError)(()=>new T.AGUIError(`Step "${o}" is already active for 'STEP_STARTED'`)):(r.set(o,!0),(0,A.of)(f))}case T.EventType.STEP_FINISHED:{let o=f.stepName;return r.has(o)?(r.delete(o),(0,A.of)(f)):(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'STEP_FINISHED' for step "${o}" that was not started`))}case T.EventType.RUN_STARTED:return S=!0,(0,A.of)(f);case T.EventType.RUN_FINISHED:{if(r.size>0){let o=Array.from(r.keys()).join(", ");return(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'RUN_FINISHED' while steps are still active: ${o}`))}if(e.size>0){let o=Array.from(e.keys()).join(", ");return(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'RUN_FINISHED' while text messages are still active: ${o}`))}if(a.size>0){let o=Array.from(a.keys()).join(", ");return(0,A.throwError)(()=>new T.AGUIError(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${o}`))}return t=!0,(0,A.of)(f)}case T.EventType.RUN_ERROR:return n=!0,(0,A.of)(f);case T.EventType.CUSTOM:return(0,A.of)(f);case T.EventType.THINKING_TEXT_MESSAGE_START:return g?u?(0,A.throwError)(()=>new T.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.")):(u=!0,(0,A.of)(f)):(0,A.throwError)(()=>new T.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first."));case T.EventType.THINKING_TEXT_MESSAGE_CONTENT:return u?(0,A.of)(f):(0,A.throwError)(()=>new T.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first."));case T.EventType.THINKING_TEXT_MESSAGE_END:return u?(u=!1,(0,A.of)(f)):(0,A.throwError)(()=>new T.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first."));case T.EventType.THINKING_START:return g?(0,A.throwError)(()=>new T.AGUIError("Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.")):(g=!0,(0,A.of)(f));case T.EventType.THINKING_END:return g?(g=!1,(0,A.of)(f)):(0,A.throwError)(()=>new T.AGUIError("Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first."));default:return(0,A.of)(f)}}))};var ht=require("@ag-ui/core"),nt=require("rxjs");var D=require("rxjs"),Q=require("rxjs/operators");var Z=(l,s)=>(0,D.defer)(()=>(0,D.from)(fetch(l,s))).pipe((0,Q.switchMap)(e=>{var n;if(!e.ok){let i=e.headers.get("content-type")||"";return(0,D.from)(e.text()).pipe((0,Q.mergeMap)(r=>{let g=r;if(i.includes("application/json"))try{g=JSON.parse(r)}catch(S){}let u=new Error(`HTTP ${e.status}: ${typeof g=="string"?g:JSON.stringify(g)}`);return u.status=e.status,u.payload=g,(0,D.throwError)(()=>u)}))}let a={type:"headers",status:e.status,headers:e.headers},t=(n=e.body)==null?void 0:n.getReader();return t?new D.Observable(i=>(i.next(a),(async()=>{try{for(;;){let{done:r,value:g}=await t.read();if(r)break;let u={type:"data",data:g};i.next(u)}i.complete()}catch(r){i.error(r)}})(),()=>{t.cancel().catch(r=>{if((r==null?void 0:r.name)!=="AbortError")throw r})})):(0,D.throwError)(()=>new Error("Failed to getReader() from response"))}));var Tt=require("rxjs");var tt=l=>{let s=new Tt.Subject,e=new TextDecoder("utf-8",{fatal:!1}),a="";l.subscribe({next:n=>{if(n.type!=="headers"&&n.type==="data"&&n.data){let i=e.decode(n.data,{stream:!0});a+=i;let r=a.split(/\n\n/);a=r.pop()||"";for(let g of r)t(g)}},error:n=>s.error(n),complete:()=>{a&&(a+=e.decode(),t(a)),s.complete()}});function t(n){let i=n.split(`
5
- `),r=[];for(let g of i)g.startsWith("data: ")&&r.push(g.slice(6));if(r.length>0)try{let g=r.join(`
6
- `),u=JSON.parse(g);s.next(u)}catch(g){s.error(g)}}return s.asObservable()};var At=require("rxjs");var vt=W(require("@ag-ui/proto")),et=l=>{let s=new At.Subject,e=new Uint8Array(0);l.subscribe({next:t=>{if(t.type!=="headers"&&t.type==="data"&&t.data){let n=new Uint8Array(e.length+t.data.length);n.set(e,0),n.set(t.data,e.length),e=n,a()}},error:t=>s.error(t),complete:()=>{if(e.length>0)try{a()}catch(t){console.warn("Incomplete or invalid protocol buffer data at stream end")}s.complete()}});function a(){for(;e.length>=4;){let i=4+new DataView(e.buffer,e.byteOffset,4).getUint32(0,!1);if(e.length<i)break;try{let r=e.slice(4,i),g=vt.decode(r);s.next(g),e=e.slice(i)}catch(r){let g=r instanceof Error?r.message:String(r);s.error(new Error(`Failed to decode protocol buffer message: ${g}`));return}}}return s.asObservable()};var Mt=W(require("@ag-ui/proto")),yt=require("@ag-ui/core"),st=l=>{let s=new nt.Subject,e=new nt.ReplaySubject,a=!1;return l.subscribe({next:t=>{e.next(t),t.type==="headers"&&!a?(a=!0,t.headers.get("content-type")===Mt.AGUI_MEDIA_TYPE?et(e).subscribe({next:i=>s.next(i),error:i=>s.error(i),complete:()=>s.complete()}):tt(e).subscribe({next:i=>{try{let r=ht.EventSchemas.parse(i);s.next(r)}catch(r){s.error(r)}},error:i=>{if((i==null?void 0:i.name)==="AbortError"){s.next({type:yt.EventType.RUN_ERROR,rawEvent:i}),s.complete();return}return s.error(i)},complete:()=>s.complete()})):a||s.error(new Error("No headers event received before data events"))},error:t=>{e.error(t),s.error(t)},complete:()=>{e.complete()}}),s.asObservable()};var Ct=require("rxjs/operators"),Rt=require("fast-json-patch"),x=require("@ag-ui/core");var d=require("zod"),M=d.z.enum(["TextMessageStart","TextMessageContent","TextMessageEnd","ActionExecutionStart","ActionExecutionArgs","ActionExecutionEnd","ActionExecutionResult","AgentStateMessage","MetaEvent","RunStarted","RunFinished","RunError","NodeStarted","NodeFinished"]),Bt=d.z.enum(["LangGraphInterruptEvent","PredictState","Exit"]),kt=d.z.object({type:d.z.literal(M.enum.TextMessageStart),messageId:d.z.string(),parentMessageId:d.z.string().optional(),role:d.z.string().optional()}),bt=d.z.object({type:d.z.literal(M.enum.TextMessageContent),messageId:d.z.string(),content:d.z.string()}),Kt=d.z.object({type:d.z.literal(M.enum.TextMessageEnd),messageId:d.z.string()}),jt=d.z.object({type:d.z.literal(M.enum.ActionExecutionStart),actionExecutionId:d.z.string(),actionName:d.z.string(),parentMessageId:d.z.string().optional()}),zt=d.z.object({type:d.z.literal(M.enum.ActionExecutionArgs),actionExecutionId:d.z.string(),args:d.z.string()}),Jt=d.z.object({type:d.z.literal(M.enum.ActionExecutionEnd),actionExecutionId:d.z.string()}),$t=d.z.object({type:d.z.literal(M.enum.ActionExecutionResult),actionName:d.z.string(),actionExecutionId:d.z.string(),result:d.z.string()}),qt=d.z.object({type:d.z.literal(M.enum.AgentStateMessage),threadId:d.z.string(),agentName:d.z.string(),nodeName:d.z.string(),runId:d.z.string(),active:d.z.boolean(),role:d.z.string(),state:d.z.string(),running:d.z.boolean()}),Wt=d.z.object({type:d.z.literal(M.enum.MetaEvent),name:Bt,value:d.z.any()}),Vt=d.z.object({type:d.z.literal(M.enum.RunError),message:d.z.string(),code:d.z.string().optional()}),rn=d.z.discriminatedUnion("type",[kt,bt,Kt,jt,zt,Jt,$t,qt,Wt,Vt]),ln=d.z.object({id:d.z.string(),role:d.z.string(),content:d.z.string(),parentMessageId:d.z.string().optional()}),gn=d.z.object({id:d.z.string(),name:d.z.string(),arguments:d.z.any(),parentMessageId:d.z.string().optional()}),cn=d.z.object({id:d.z.string(),result:d.z.any(),actionExecutionId:d.z.string(),actionName:d.z.string()});var _t=W(require("untruncate-json"));var Yt=l=>{if(typeof l=="string")return l;if(!Array.isArray(l))return;let s=l.filter(e=>e.type==="text").map(e=>e.text).filter(e=>e.length>0);if(s.length!==0)return s.join(`
7
- `)},at=(l,s,e)=>a=>{let t={},n=!0,i=!0,r="",g=null,u=null,S=[],P={},f=v=>{typeof v=="object"&&v!==null&&("messages"in v&&delete v.messages,t=v)};return a.pipe((0,Ct.mergeMap)(v=>{switch(v.type){case x.EventType.TEXT_MESSAGE_START:{let o=v;return[{type:M.enum.TextMessageStart,messageId:o.messageId,role:o.role}]}case x.EventType.TEXT_MESSAGE_CONTENT:{let o=v;return[{type:M.enum.TextMessageContent,messageId:o.messageId,content:o.delta}]}case x.EventType.TEXT_MESSAGE_END:{let o=v;return[{type:M.enum.TextMessageEnd,messageId:o.messageId}]}case x.EventType.TOOL_CALL_START:{let o=v;return S.push({id:o.toolCallId,type:"function",function:{name:o.toolCallName,arguments:""}}),i=!0,P[o.toolCallId]=o.toolCallName,[{type:M.enum.ActionExecutionStart,actionExecutionId:o.toolCallId,actionName:o.toolCallName,parentMessageId:o.parentMessageId}]}case x.EventType.TOOL_CALL_ARGS:{let o=v,c=S.find(p=>p.id===o.toolCallId);if(!c)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${o.toolCallId}'`),[];c.function.arguments+=o.delta;let m=!1;if(u){let p=u.find(E=>E.tool==c.function.name);if(p)try{let E=JSON.parse((0,_t.default)(c.function.arguments));p.tool_argument&&p.tool_argument in E?(f(j(I({},t),{[p.state_key]:E[p.tool_argument]})),m=!0):p.tool_argument||(f(j(I({},t),{[p.state_key]:E})),m=!0)}catch(E){}}return[{type:M.enum.ActionExecutionArgs,actionExecutionId:o.toolCallId,args:o.delta},...m?[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:i}]:[]]}case x.EventType.TOOL_CALL_END:{let o=v;return[{type:M.enum.ActionExecutionEnd,actionExecutionId:o.toolCallId}]}case x.EventType.TOOL_CALL_RESULT:{let o=v;return[{type:M.enum.ActionExecutionResult,actionExecutionId:o.toolCallId,result:o.content,actionName:P[o.toolCallId]||"unknown"}]}case x.EventType.RAW:return[];case x.EventType.CUSTOM:{let o=v;switch(o.name){case"Exit":n=!1;break;case"PredictState":u=o.value;break}return[{type:M.enum.MetaEvent,name:o.name,value:o.value}]}case x.EventType.STATE_SNAPSHOT:return f(v.snapshot),[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:i}];case x.EventType.STATE_DELTA:{let c=(0,Rt.applyPatch)(t,v.delta,!0,!1);return c?(f(c.newDocument),[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:i}]):[]}case x.EventType.MESSAGES_SNAPSHOT:return g=v.messages,[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(I(I({},t),g?{messages:g}:{})),active:!0}];case x.EventType.RUN_STARTED:return[];case x.EventType.RUN_FINISHED:return g&&(t.messages=g),Object.keys(t).length===0?[]:[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(I(I({},t),g?{messages:Qt(g)}:{})),active:!1}];case x.EventType.RUN_ERROR:{let o=v;return[{type:M.enum.RunError,message:o.message,code:o.code}]}case x.EventType.STEP_STARTED:return r=v.stepName,S=[],u=null,[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:!0}];case x.EventType.STEP_FINISHED:return S=[],u=null,[{type:M.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:r,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:!1}];default:return[]}}))};function Qt(l){var e;let s=[];for(let a of l)if(a.role==="assistant"||a.role==="user"||a.role==="system"){let t=Yt(a.content);if(t){let n={id:a.id,role:a.role,content:t};s.push(n)}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0)for(let n of a.toolCalls){let i={id:n.id,name:n.function.name,arguments:JSON.parse(n.function.arguments),parentMessageId:a.id};s.push(i)}}else if(a.role==="tool"){let t="unknown";for(let i of l)if(i.role==="assistant"&&((e=i.toolCalls)!=null&&e.length)){for(let r of i.toolCalls)if(r.id===a.toolCallId){t=r.function.name;break}}let n={id:a.id,result:a.content,actionExecutionId:a.toolCallId,actionName:t};s.push(n)}return s}var B=require("uuid");var F=require("rxjs/operators"),lt=require("rxjs/operators"),H=require("rxjs");var gt=require("rxjs");var ot=require("rxjs"),h=require("@ag-ui/core"),z=l=>s=>{let e,a,t,n=()=>{if(!e||t!=="text")throw new Error("No text message to close");let g={type:h.EventType.TEXT_MESSAGE_END,messageId:e.messageId};return t=void 0,e=void 0,l&&console.debug("[TRANSFORM]: TEXT_MESSAGE_END",JSON.stringify(g)),g},i=()=>{if(!a||t!=="tool")throw new Error("No tool call to close");let g={type:h.EventType.TOOL_CALL_END,toolCallId:a.toolCallId};return t=void 0,a=void 0,l&&console.debug("[TRANSFORM]: TOOL_CALL_END",JSON.stringify(g)),g},r=()=>t==="text"?[n()]:t==="tool"?[i()]:[];return s.pipe((0,ot.mergeMap)(g=>{switch(g.type){case h.EventType.TEXT_MESSAGE_START:case h.EventType.TEXT_MESSAGE_CONTENT:case h.EventType.TEXT_MESSAGE_END:case h.EventType.TOOL_CALL_START:case h.EventType.TOOL_CALL_ARGS:case h.EventType.TOOL_CALL_END:case h.EventType.TOOL_CALL_RESULT:case h.EventType.STATE_SNAPSHOT:case h.EventType.STATE_DELTA:case h.EventType.MESSAGES_SNAPSHOT:case h.EventType.CUSTOM:case h.EventType.RUN_STARTED:case h.EventType.RUN_FINISHED:case h.EventType.RUN_ERROR:case h.EventType.STEP_STARTED:case h.EventType.STEP_FINISHED:case h.EventType.THINKING_START:case h.EventType.THINKING_END:case h.EventType.THINKING_TEXT_MESSAGE_START:case h.EventType.THINKING_TEXT_MESSAGE_CONTENT:case h.EventType.THINKING_TEXT_MESSAGE_END:return[...r(),g];case h.EventType.RAW:return[g];case h.EventType.TEXT_MESSAGE_CHUNK:let S=g,P=[];if((t!=="text"||S.messageId!==void 0&&S.messageId!==(e==null?void 0:e.messageId))&&P.push(...r()),t!=="text"){if(S.messageId===void 0)throw new Error("First TEXT_MESSAGE_CHUNK must have a messageId");e={messageId:S.messageId},t="text";let o={type:h.EventType.TEXT_MESSAGE_START,messageId:S.messageId,role:S.role||"assistant"};P.push(o),l&&console.debug("[TRANSFORM]: TEXT_MESSAGE_START",JSON.stringify(o))}if(S.delta!==void 0){let o={type:h.EventType.TEXT_MESSAGE_CONTENT,messageId:e.messageId,delta:S.delta};P.push(o),l&&console.debug("[TRANSFORM]: TEXT_MESSAGE_CONTENT",JSON.stringify(o))}return P;case h.EventType.TOOL_CALL_CHUNK:let f=g,v=[];if((t!=="tool"||f.toolCallId!==void 0&&f.toolCallId!==(a==null?void 0:a.toolCallId))&&v.push(...r()),t!=="tool"){if(f.toolCallId===void 0)throw new Error("First TOOL_CALL_CHUNK must have a toolCallId");if(f.toolCallName===void 0)throw new Error("First TOOL_CALL_CHUNK must have a toolCallName");a={toolCallId:f.toolCallId,toolCallName:f.toolCallName,parentMessageId:f.parentMessageId},t="tool";let o={type:h.EventType.TOOL_CALL_START,toolCallId:f.toolCallId,toolCallName:f.toolCallName,parentMessageId:f.parentMessageId};v.push(o),l&&console.debug("[TRANSFORM]: TOOL_CALL_START",JSON.stringify(o))}if(f.delta!==void 0){let o={type:h.EventType.TOOL_CALL_ARGS,toolCallId:a.toolCallId,delta:f.delta};v.push(o),l&&console.debug("[TRANSFORM]: TOOL_CALL_ARGS",JSON.stringify(o))}return v}let u=g.type}),(0,ot.finalize)(()=>r()))};var ct=require("@ag-ui/core"),k=class{constructor({agentId:s,description:e,threadId:a,initialMessages:t,initialState:n,debug:i}={}){this.debug=!1;this.subscribers=[];this.isRunning=!1;this.agentId=s,this.description=e!=null?e:"",this.threadId=a!=null?a:(0,B.v4)(),this.messages=y(t!=null?t:[]),this.state=y(n!=null?n:{}),this.debug=i!=null?i:!1}subscribe(s){return this.subscribers.push(s),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(e=>e!==s)}}}async runAgent(s,e){var a;try{this.isRunning=!0,this.agentId=(a=this.agentId)!=null?a:(0,B.v4)();let t=this.prepareRunAgentInput(s),n,i=new Set(this.messages.map(S=>S.id)),r=[{onRunFinishedEvent:S=>{n=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,r);let g=(0,H.pipe)(()=>this.run(t),z(this.debug),X(this.debug),S=>this.apply(t,S,r),S=>this.processApplyEvents(t,S,r),(0,F.catchError)(S=>(this.isRunning=!1,this.onError(t,S,r))),(0,lt.finalize)(()=>{this.isRunning=!1,this.onFinalize(t,r)}));await(0,gt.lastValueFrom)(g((0,H.of)(null)));let u=y(this.messages).filter(S=>!i.has(S.id));return{result:n,newMessages:u}}finally{this.isRunning=!1}}connect(s){throw new ct.AGUIConnectNotImplementedError}async connectAgent(s,e){var a;try{this.isRunning=!0,this.agentId=(a=this.agentId)!=null?a:(0,B.v4)();let t=this.prepareRunAgentInput(s),n,i=new Set(this.messages.map(S=>S.id)),r=[{onRunFinishedEvent:S=>{n=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,r);let g=(0,H.pipe)(()=>this.connect(t),z(this.debug),X(this.debug),S=>this.apply(t,S,r),S=>this.processApplyEvents(t,S,r),(0,F.catchError)(S=>(this.isRunning=!1,S instanceof ct.AGUIConnectNotImplementedError?H.EMPTY:this.onError(t,S,r))),(0,lt.finalize)(()=>{this.isRunning=!1,this.onFinalize(t,r)}));await(0,gt.lastValueFrom)(g((0,H.of)(null)));let u=y(this.messages).filter(S=>!i.has(S.id));return{result:n,newMessages:u}}finally{this.isRunning=!1}}abortRun(){}apply(s,e,a){return Y(s,e,this,a)}processApplyEvents(s,e,a){return e.pipe((0,F.tap)(t=>{t.messages&&(this.messages=t.messages,a.forEach(n=>{var i;(i=n.onMessagesChanged)==null||i.call(n,{messages:this.messages,state:this.state,agent:this,input:s})})),t.state&&(this.state=t.state,a.forEach(n=>{var i;(i=n.onStateChanged)==null||i.call(n,{state:this.state,messages:this.messages,agent:this,input:s})}))}))}prepareRunAgentInput(s){var e,a,t;return{threadId:this.threadId,runId:(s==null?void 0:s.runId)||(0,B.v4)(),tools:y((e=s==null?void 0:s.tools)!=null?e:[]),context:y((a=s==null?void 0:s.context)!=null?a:[]),forwardedProps:y((t=s==null?void 0:s.forwardedProps)!=null?t:{}),state:y(this.state),messages:y(this.messages)}}async onInitialize(s,e){let a=await R(e,this.messages,this.state,(t,n,i)=>{var r;return(r=t.onRunInitialized)==null?void 0:r.call(t,{messages:n,state:i,agent:this,input:s})});(a.messages!==void 0||a.state!==void 0)&&(a.messages&&(this.messages=a.messages,s.messages=a.messages,e.forEach(t=>{var n;(n=t.onMessagesChanged)==null||n.call(t,{messages:this.messages,state:this.state,agent:this,input:s})})),a.state&&(this.state=a.state,s.state=a.state,e.forEach(t=>{var n;(n=t.onStateChanged)==null||n.call(t,{state:this.state,messages:this.messages,agent:this,input:s})})))}onError(s,e,a){return(0,H.from)(R(a,this.messages,this.state,(t,n,i)=>{var r;return(r=t.onRunFailed)==null?void 0:r.call(t,{error:e,messages:n,state:i,agent:this,input:s})})).pipe((0,F.map)(t=>{let n=t;if((n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,a.forEach(i=>{var r;(r=i.onMessagesChanged)==null||r.call(i,{messages:this.messages,state:this.state,agent:this,input:s})})),n.state!==void 0&&(this.state=n.state,a.forEach(i=>{var r;(r=i.onStateChanged)==null||r.call(i,{state:this.state,messages:this.messages,agent:this,input:s})}))),n.stopPropagation!==!0)throw console.error("Agent execution failed:",e),e;return{}}))}async onFinalize(s,e){let a=await R(e,this.messages,this.state,(t,n,i)=>{var r;return(r=t.onRunFinalized)==null?void 0:r.call(t,{messages:n,state:i,agent:this,input:s})});(a.messages!==void 0||a.state!==void 0)&&(a.messages!==void 0&&(this.messages=a.messages,e.forEach(t=>{var n;(n=t.onMessagesChanged)==null||n.call(t,{messages:this.messages,state:this.state,agent:this,input:s})})),a.state!==void 0&&(this.state=a.state,e.forEach(t=>{var n;(n=t.onStateChanged)==null||n.call(t,{state:this.state,messages:this.messages,agent:this,input:s})})))}clone(){let s=Object.create(Object.getPrototypeOf(this));return s.agentId=this.agentId,s.description=this.description,s.threadId=this.threadId,s.messages=y(this.messages),s.state=y(this.state),s.debug=this.debug,s.isRunning=this.isRunning,s.subscribers=[...this.subscribers],s}addMessage(s){this.messages.push(s),(async()=>{var e,a,t;for(let n of this.subscribers)await((e=n.onNewMessage)==null?void 0:e.call(n,{message:s,messages:this.messages,state:this.state,agent:this}));if(s.role==="assistant"&&s.toolCalls)for(let n of s.toolCalls)for(let i of this.subscribers)await((a=i.onNewToolCall)==null?void 0:a.call(i,{toolCall:n,messages:this.messages,state:this.state,agent:this}));for(let n of this.subscribers)await((t=n.onMessagesChanged)==null?void 0:t.call(n,{messages:this.messages,state:this.state,agent:this}))})()}addMessages(s){this.messages.push(...s),(async()=>{var e,a,t;for(let n of s){for(let i of this.subscribers)await((e=i.onNewMessage)==null?void 0:e.call(i,{message:n,messages:this.messages,state:this.state,agent:this}));if(n.role==="assistant"&&n.toolCalls)for(let i of n.toolCalls)for(let r of this.subscribers)await((a=r.onNewToolCall)==null?void 0:a.call(r,{toolCall:i,messages:this.messages,state:this.state,agent:this}))}for(let n of this.subscribers)await((t=n.onMessagesChanged)==null?void 0:t.call(n,{messages:this.messages,state:this.state,agent:this}))})()}setMessages(s){this.messages=y(s),(async()=>{var e;for(let a of this.subscribers)await((e=a.onMessagesChanged)==null?void 0:e.call(a,{messages:this.messages,state:this.state,agent:this}))})()}setState(s){this.state=y(s),(async()=>{var e;for(let a of this.subscribers)await((e=a.onStateChanged)==null?void 0:e.call(a,{messages:this.messages,state:this.state,agent:this}))})()}legacy_to_be_removed_runAgentBridged(s){var a;this.agentId=(a=this.agentId)!=null?a:(0,B.v4)();let e=this.prepareRunAgentInput(s);return this.run(e).pipe(z(this.debug),X(this.debug),at(this.threadId,e.runId,this.agentId),t=>t.pipe((0,F.map)(n=>(this.debug&&console.debug("[LEGACY]:",JSON.stringify(n)),n))))}};var rt=class extends k{constructor(e){var a;super(e);this.abortController=new AbortController;this.url=e.url,this.headers=y((a=e.headers)!=null?a:{})}requestInit(e){return{method:"POST",headers:j(I({},this.headers),{"Content-Type":"application/json",Accept:"text/event-stream"}),body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,a){var t;return this.abortController=(t=e==null?void 0:e.abortController)!=null?t:new AbortController,super.runAgent(e,a)}abortRun(){this.abortController.abort(),super.abortRun()}run(e){let a=Z(this.url,this.requestInit(e));return st(a)}clone(){var n;let e=super.clone();e.url=this.url,e.headers=y((n=this.headers)!=null?n:{});let a=new AbortController,t=this.abortController.signal;return t.aborted&&a.abort(t.reason),e.abortController=a,e}};var G=require("@ag-ui/core");function It(l){let s=[],e=new Map,a=new Map;for(let t of l)if(t.type===G.EventType.TEXT_MESSAGE_START){let n=t,i=n.messageId;e.has(i)||e.set(i,{contents:[],otherEvents:[]});let r=e.get(i);r.start=n}else if(t.type===G.EventType.TEXT_MESSAGE_CONTENT){let n=t,i=n.messageId;e.has(i)||e.set(i,{contents:[],otherEvents:[]}),e.get(i).contents.push(n)}else if(t.type===G.EventType.TEXT_MESSAGE_END){let n=t,i=n.messageId;e.has(i)||e.set(i,{contents:[],otherEvents:[]});let r=e.get(i);r.end=n,xt(i,r,s),e.delete(i)}else if(t.type===G.EventType.TOOL_CALL_START){let n=t,i=n.toolCallId;a.has(i)||a.set(i,{args:[],otherEvents:[]});let r=a.get(i);r.start=n}else if(t.type===G.EventType.TOOL_CALL_ARGS){let n=t,i=n.toolCallId;a.has(i)||a.set(i,{args:[],otherEvents:[]}),a.get(i).args.push(n)}else if(t.type===G.EventType.TOOL_CALL_END){let n=t,i=n.toolCallId;a.has(i)||a.set(i,{args:[],otherEvents:[]});let r=a.get(i);r.end=n,Nt(i,r,s),a.delete(i)}else{let n=!1;for(let[i,r]of e)if(r.start&&!r.end){r.otherEvents.push(t),n=!0;break}if(!n){for(let[i,r]of a)if(r.start&&!r.end){r.otherEvents.push(t),n=!0;break}}n||s.push(t)}for(let[t,n]of e)xt(t,n,s);for(let[t,n]of a)Nt(t,n,s);return s}function xt(l,s,e){if(s.start&&e.push(s.start),s.contents.length>0){let a=s.contents.map(n=>n.delta).join(""),t={type:G.EventType.TEXT_MESSAGE_CONTENT,messageId:l,delta:a};e.push(t)}s.end&&e.push(s.end);for(let a of s.otherEvents)e.push(a)}function Nt(l,s,e){if(s.start&&e.push(s.start),s.args.length>0){let a=s.args.map(n=>n.delta).join(""),t={type:G.EventType.TOOL_CALL_ARGS,toolCallId:l,delta:a};e.push(t)}s.end&&e.push(s.end);for(let a of s.otherEvents)e.push(a)}O(L,require("@ag-ui/core"),module.exports);0&&(module.exports={AbstractAgent,HttpAgent,compactEvents,convertToLegacyEvents,defaultApplyEvents,parseProtoStream,parseSSEStream,randomUUID,runHttpRequest,structuredClone_,transformChunks,transformHttpEventStream,verifyEvents,...require("@ag-ui/core")});
3
+ Patch operations: ${JSON.stringify(i,null,2)}
4
+ Error: ${m}`)}}return g()}case _.EventType.MESSAGES_SNAPSHOT:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onMessagesSnapshotEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let{messages:i}=u;t=i,o({messages:t})}return g()}case _.EventType.ACTIVITY_SNAPSHOT:{let p=u,i=t.findIndex(M=>M.id===p.messageId),d=i>=0?t[i]:void 0,m=(d==null?void 0:d.role)==="activity"?d:void 0,E=(y=p.replace)!=null?y:!0,v=await x(a,t,n,(M,N,w)=>{var F;return(F=M.onActivitySnapshotEvent)==null?void 0:F.call(M,{event:p,messages:N,state:w,agent:e,input:l,activityMessage:m,existingMessage:d})});if(o(v),v.stopPropagation!==!0){let M={id:p.messageId,role:"activity",activityType:p.activityType,content:R(p.content)},N;i===-1?(t.push(M),N=M):m?E&&(t[i]=k(L({},m),{activityType:p.activityType,content:R(p.content)})):E&&(t[i]=M,N=M),o({messages:t}),N&&await Promise.all(a.map(w=>{var F;return(F=w.onNewMessage)==null?void 0:F.call(w,{message:N,messages:t,state:n,agent:e,input:l})}))}return g()}case _.EventType.ACTIVITY_DELTA:{let p=u,i=t.findIndex(v=>v.id===p.messageId);if(i===-1)return console.warn(`ACTIVITY_DELTA: No message found with ID '${p.messageId}' to apply patch`),g();let d=t[i];if(d.role!=="activity")return console.warn(`ACTIVITY_DELTA: Message '${p.messageId}' is not an activity message`),g();let m=d,E=await x(a,t,n,(v,M,N)=>{var w;return(w=v.onActivityDeltaEvent)==null?void 0:w.call(v,{event:p,messages:M,state:N,agent:e,input:l,activityMessage:m})});if(o(E),E.stopPropagation!==!0)try{let v=R(m);v.activityType=p.activityType,(c=v.content)!=null||(v.content={});let N=(0,ct.applyPatch)(v,p.patch,!0,!1).newDocument;t[i]=k(L({},N),{id:m.id,role:"activity",activityType:p.activityType}),o({messages:t})}catch(v){let M=v instanceof Error?v.message:String(v);console.warn(`Failed to apply activity patch for '${p.messageId}': ${M}`)}return g()}case _.EventType.RAW:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onRawEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});return o(p),g()}case _.EventType.CUSTOM:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onCustomEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});return o(p),g()}case _.EventType.RUN_STARTED:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onRunStartedEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});if(o(p),p.stopPropagation!==!0){let i=u;if((G=i.input)!=null&&G.messages){for(let d of i.input.messages)t.find(E=>E.id===d.id)||t.push(d);o({messages:t})}}return g()}case _.EventType.RUN_FINISHED:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onRunFinishedEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l,result:u.result})});return o(p),g()}case _.EventType.RUN_ERROR:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onRunErrorEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});return o(p),g()}case _.EventType.STEP_STARTED:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onStepStartedEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});return o(p),g()}case _.EventType.STEP_FINISHED:{let p=await x(a,t,n,(i,d,m)=>{var E;return(E=i.onStepFinishedEvent)==null?void 0:E.call(i,{event:u,messages:d,state:m,agent:e,input:l})});return o(p),g()}case _.EventType.TEXT_MESSAGE_CHUNK:throw new Error("TEXT_MESSAGE_CHUNK must be tranformed before being applied");case _.EventType.TOOL_CALL_CHUNK:throw new Error("TOOL_CALL_CHUNK must be tranformed before being applied");case _.EventType.THINKING_START:return g();case _.EventType.THINKING_END:return g();case _.EventType.THINKING_TEXT_MESSAGE_START:return g();case _.EventType.THINKING_TEXT_MESSAGE_CONTENT:return g();case _.EventType.THINKING_TEXT_MESSAGE_END:return g()}let H=u.type;return g()}),(0,j.mergeAll)(),a.length>0?(0,j.defaultIfEmpty)({}):u=>u)};var A=require("@ag-ui/core"),h=require("rxjs"),At=require("rxjs/operators"),z=l=>s=>{let e=new Map,a=new Map,t=!1,n=!1,r=!1,o=new Map,g=!1,u=!1,S=!1,H=()=>{e.clear(),a.clear(),o.clear(),g=!1,u=!1,t=!1,n=!1,S=!0};return s.pipe((0,At.mergeMap)(T=>{let y=T.type;if(l&&console.debug("[VERIFY]:",JSON.stringify(T)),n)return(0,h.throwError)(()=>new A.AGUIError(`Cannot send event type '${y}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(t&&y!==A.EventType.RUN_ERROR&&y!==A.EventType.RUN_STARTED)return(0,h.throwError)(()=>new A.AGUIError(`Cannot send event type '${y}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(r){if(y===A.EventType.RUN_STARTED){if(S&&!t)return(0,h.throwError)(()=>new A.AGUIError("Cannot send 'RUN_STARTED' while a run is still active. The previous run must be finished with 'RUN_FINISHED' before starting a new run."));t&&H()}}else if(r=!0,y!==A.EventType.RUN_STARTED&&y!==A.EventType.RUN_ERROR)return(0,h.throwError)(()=>new A.AGUIError("First event must be 'RUN_STARTED'"));switch(y){case A.EventType.TEXT_MESSAGE_START:{let c=T.messageId;return e.has(c)?(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'TEXT_MESSAGE_START' event: A text message with ID '${c}' is already in progress. Complete it with 'TEXT_MESSAGE_END' first.`)):(e.set(c,!0),(0,h.of)(T))}case A.EventType.TEXT_MESSAGE_CONTENT:{let c=T.messageId;return e.has(c)?(0,h.of)(T):(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${c}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case A.EventType.TEXT_MESSAGE_END:{let c=T.messageId;return e.has(c)?(e.delete(c),(0,h.of)(T)):(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${c}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case A.EventType.TOOL_CALL_START:{let c=T.toolCallId;return a.has(c)?(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${c}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(a.set(c,!0),(0,h.of)(T))}case A.EventType.TOOL_CALL_ARGS:{let c=T.toolCallId;return a.has(c)?(0,h.of)(T):(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${c}'. Start a tool call with 'TOOL_CALL_START' first.`))}case A.EventType.TOOL_CALL_END:{let c=T.toolCallId;return a.has(c)?(a.delete(c),(0,h.of)(T)):(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${c}'. A 'TOOL_CALL_START' event must be sent first.`))}case A.EventType.STEP_STARTED:{let c=T.stepName;return o.has(c)?(0,h.throwError)(()=>new A.AGUIError(`Step "${c}" is already active for 'STEP_STARTED'`)):(o.set(c,!0),(0,h.of)(T))}case A.EventType.STEP_FINISHED:{let c=T.stepName;return o.has(c)?(o.delete(c),(0,h.of)(T)):(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'STEP_FINISHED' for step "${c}" that was not started`))}case A.EventType.RUN_STARTED:return S=!0,(0,h.of)(T);case A.EventType.RUN_FINISHED:{if(o.size>0){let c=Array.from(o.keys()).join(", ");return(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'RUN_FINISHED' while steps are still active: ${c}`))}if(e.size>0){let c=Array.from(e.keys()).join(", ");return(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'RUN_FINISHED' while text messages are still active: ${c}`))}if(a.size>0){let c=Array.from(a.keys()).join(", ");return(0,h.throwError)(()=>new A.AGUIError(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${c}`))}return t=!0,(0,h.of)(T)}case A.EventType.RUN_ERROR:return n=!0,(0,h.of)(T);case A.EventType.CUSTOM:return(0,h.of)(T);case A.EventType.THINKING_TEXT_MESSAGE_START:return g?u?(0,h.throwError)(()=>new A.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.")):(u=!0,(0,h.of)(T)):(0,h.throwError)(()=>new A.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first."));case A.EventType.THINKING_TEXT_MESSAGE_CONTENT:return u?(0,h.of)(T):(0,h.throwError)(()=>new A.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first."));case A.EventType.THINKING_TEXT_MESSAGE_END:return u?(u=!1,(0,h.of)(T)):(0,h.throwError)(()=>new A.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first."));case A.EventType.THINKING_START:return g?(0,h.throwError)(()=>new A.AGUIError("Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.")):(g=!0,(0,h.of)(T));case A.EventType.THINKING_END:return g?(g=!1,(0,h.of)(T)):(0,h.throwError)(()=>new A.AGUIError("Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first."));default:return(0,h.of)(T)}}))};var Mt=require("@ag-ui/core"),at=require("rxjs");var U=require("rxjs"),tt=require("rxjs/operators");var et=(l,s)=>(0,U.defer)(()=>(0,U.from)(fetch(l,s))).pipe((0,tt.switchMap)(e=>{var n;if(!e.ok){let r=e.headers.get("content-type")||"";return(0,U.from)(e.text()).pipe((0,tt.mergeMap)(o=>{let g=o;if(r.includes("application/json"))try{g=JSON.parse(o)}catch(S){}let u=new Error(`HTTP ${e.status}: ${typeof g=="string"?g:JSON.stringify(g)}`);return u.status=e.status,u.payload=g,(0,U.throwError)(()=>u)}))}let a={type:"headers",status:e.status,headers:e.headers},t=(n=e.body)==null?void 0:n.getReader();return t?new U.Observable(r=>(r.next(a),(async()=>{try{for(;;){let{done:o,value:g}=await t.read();if(o)break;let u={type:"data",data:g};r.next(u)}r.complete()}catch(o){r.error(o)}})(),()=>{t.cancel().catch(o=>{if((o==null?void 0:o.name)!=="AbortError")throw o})})):(0,U.throwError)(()=>new Error("Failed to getReader() from response"))}));var vt=require("rxjs");var nt=l=>{let s=new vt.Subject,e=new TextDecoder("utf-8",{fatal:!1}),a="";l.subscribe({next:n=>{if(n.type!=="headers"&&n.type==="data"&&n.data){let r=e.decode(n.data,{stream:!0});a+=r;let o=a.split(/\n\n/);a=o.pop()||"";for(let g of o)t(g)}},error:n=>s.error(n),complete:()=>{a&&(a+=e.decode(),t(a)),s.complete()}});function t(n){let r=n.split(`
5
+ `),o=[];for(let g of r)g.startsWith("data: ")&&o.push(g.slice(6));if(o.length>0)try{let g=o.join(`
6
+ `),u=JSON.parse(g);s.next(u)}catch(g){s.error(g)}}return s.asObservable()};var ht=require("rxjs");var yt=q(require("@ag-ui/proto")),st=l=>{let s=new ht.Subject,e=new Uint8Array(0);l.subscribe({next:t=>{if(t.type!=="headers"&&t.type==="data"&&t.data){let n=new Uint8Array(e.length+t.data.length);n.set(e,0),n.set(t.data,e.length),e=n,a()}},error:t=>s.error(t),complete:()=>{if(e.length>0)try{a()}catch(t){console.warn("Incomplete or invalid protocol buffer data at stream end")}s.complete()}});function a(){for(;e.length>=4;){let r=4+new DataView(e.buffer,e.byteOffset,4).getUint32(0,!1);if(e.length<r)break;try{let o=e.slice(4,r),g=yt.decode(o);s.next(g),e=e.slice(r)}catch(o){let g=o instanceof Error?o.message:String(o);s.error(new Error(`Failed to decode protocol buffer message: ${g}`));return}}}return s.asObservable()};var Ct=q(require("@ag-ui/proto")),Rt=require("@ag-ui/core"),ot=l=>{let s=new at.Subject,e=new at.ReplaySubject,a=!1;return l.subscribe({next:t=>{e.next(t),t.type==="headers"&&!a?(a=!0,t.headers.get("content-type")===Ct.AGUI_MEDIA_TYPE?st(e).subscribe({next:r=>s.next(r),error:r=>s.error(r),complete:()=>s.complete()}):nt(e).subscribe({next:r=>{try{let o=Mt.EventSchemas.parse(r);s.next(o)}catch(o){s.error(o)}},error:r=>{if((r==null?void 0:r.name)==="AbortError"){s.next({type:Rt.EventType.RUN_ERROR,rawEvent:r}),s.complete();return}return s.error(r)},complete:()=>s.complete()})):a||s.error(new Error("No headers event received before data events"))},error:t=>{e.error(t),s.error(t)},complete:()=>{e.complete()}}),s.asObservable()};var _t=require("rxjs/operators"),It=require("fast-json-patch"),O=require("@ag-ui/core");var f=require("zod"),I=f.z.enum(["TextMessageStart","TextMessageContent","TextMessageEnd","ActionExecutionStart","ActionExecutionArgs","ActionExecutionEnd","ActionExecutionResult","AgentStateMessage","MetaEvent","RunStarted","RunFinished","RunError","NodeStarted","NodeFinished"]),Kt=f.z.enum(["LangGraphInterruptEvent","PredictState","Exit"]),jt=f.z.object({type:f.z.literal(I.enum.TextMessageStart),messageId:f.z.string(),parentMessageId:f.z.string().optional(),role:f.z.string().optional()}),zt=f.z.object({type:f.z.literal(I.enum.TextMessageContent),messageId:f.z.string(),content:f.z.string()}),Jt=f.z.object({type:f.z.literal(I.enum.TextMessageEnd),messageId:f.z.string()}),$t=f.z.object({type:f.z.literal(I.enum.ActionExecutionStart),actionExecutionId:f.z.string(),actionName:f.z.string(),parentMessageId:f.z.string().optional()}),Vt=f.z.object({type:f.z.literal(I.enum.ActionExecutionArgs),actionExecutionId:f.z.string(),args:f.z.string()}),bt=f.z.object({type:f.z.literal(I.enum.ActionExecutionEnd),actionExecutionId:f.z.string()}),Yt=f.z.object({type:f.z.literal(I.enum.ActionExecutionResult),actionName:f.z.string(),actionExecutionId:f.z.string(),result:f.z.string()}),Wt=f.z.object({type:f.z.literal(I.enum.AgentStateMessage),threadId:f.z.string(),agentName:f.z.string(),nodeName:f.z.string(),runId:f.z.string(),active:f.z.boolean(),role:f.z.string(),state:f.z.string(),running:f.z.boolean()}),qt=f.z.object({type:f.z.literal(I.enum.MetaEvent),name:Kt,value:f.z.any()}),Qt=f.z.object({type:f.z.literal(I.enum.RunError),message:f.z.string(),code:f.z.string().optional()}),pn=f.z.discriminatedUnion("type",[jt,zt,Jt,$t,Vt,bt,Yt,Wt,qt,Qt]),dn=f.z.object({id:f.z.string(),role:f.z.string(),content:f.z.string(),parentMessageId:f.z.string().optional()}),mn=f.z.object({id:f.z.string(),name:f.z.string(),arguments:f.z.any(),parentMessageId:f.z.string().optional()}),fn=f.z.object({id:f.z.string(),result:f.z.any(),actionExecutionId:f.z.string(),actionName:f.z.string()});var xt=q(require("untruncate-json"));var Zt=l=>{if(typeof l=="string")return l;if(!Array.isArray(l))return;let s=l.filter(e=>e.type==="text").map(e=>e.text).filter(e=>e.length>0);if(s.length!==0)return s.join(`
7
+ `)},rt=(l,s,e)=>a=>{let t={},n=!0,r=!0,o="",g=null,u=null,S=[],H={},T=y=>{typeof y=="object"&&y!==null&&("messages"in y&&delete y.messages,t=y)};return a.pipe((0,_t.mergeMap)(y=>{switch(y.type){case O.EventType.TEXT_MESSAGE_START:{let c=y;return[{type:I.enum.TextMessageStart,messageId:c.messageId,role:c.role}]}case O.EventType.TEXT_MESSAGE_CONTENT:{let c=y;return[{type:I.enum.TextMessageContent,messageId:c.messageId,content:c.delta}]}case O.EventType.TEXT_MESSAGE_END:{let c=y;return[{type:I.enum.TextMessageEnd,messageId:c.messageId}]}case O.EventType.TOOL_CALL_START:{let c=y;return S.push({id:c.toolCallId,type:"function",function:{name:c.toolCallName,arguments:""}}),r=!0,H[c.toolCallId]=c.toolCallName,[{type:I.enum.ActionExecutionStart,actionExecutionId:c.toolCallId,actionName:c.toolCallName,parentMessageId:c.parentMessageId}]}case O.EventType.TOOL_CALL_ARGS:{let c=y,G=S.find(i=>i.id===c.toolCallId);if(!G)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${c.toolCallId}'`),[];G.function.arguments+=c.delta;let p=!1;if(u){let i=u.find(d=>d.tool==G.function.name);if(i)try{let d=JSON.parse((0,xt.default)(G.function.arguments));i.tool_argument&&i.tool_argument in d?(T(k(L({},t),{[i.state_key]:d[i.tool_argument]})),p=!0):i.tool_argument||(T(k(L({},t),{[i.state_key]:d})),p=!0)}catch(d){}}return[{type:I.enum.ActionExecutionArgs,actionExecutionId:c.toolCallId,args:c.delta},...p?[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:r}]:[]]}case O.EventType.TOOL_CALL_END:{let c=y;return[{type:I.enum.ActionExecutionEnd,actionExecutionId:c.toolCallId}]}case O.EventType.TOOL_CALL_RESULT:{let c=y;return[{type:I.enum.ActionExecutionResult,actionExecutionId:c.toolCallId,result:c.content,actionName:H[c.toolCallId]||"unknown"}]}case O.EventType.RAW:return[];case O.EventType.CUSTOM:{let c=y;switch(c.name){case"Exit":n=!1;break;case"PredictState":u=c.value;break}return[{type:I.enum.MetaEvent,name:c.name,value:c.value}]}case O.EventType.STATE_SNAPSHOT:return T(y.snapshot),[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:r}];case O.EventType.STATE_DELTA:{let G=(0,It.applyPatch)(t,y.delta,!0,!1);return G?(T(G.newDocument),[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:r}]):[]}case O.EventType.MESSAGES_SNAPSHOT:return g=y.messages,[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(L(L({},t),g?{messages:g}:{})),active:!0}];case O.EventType.RUN_STARTED:return[];case O.EventType.RUN_FINISHED:return g&&(t.messages=g),Object.keys(t).length===0?[]:[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(L(L({},t),g?{messages:te(g)}:{})),active:!1}];case O.EventType.RUN_ERROR:{let c=y;return[{type:I.enum.RunError,message:c.message,code:c.code}]}case O.EventType.STEP_STARTED:return o=y.stepName,S=[],u=null,[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:!0}];case O.EventType.STEP_FINISHED:return S=[],u=null,[{type:I.enum.AgentStateMessage,threadId:l,agentName:e,nodeName:o,runId:s,running:n,role:"assistant",state:JSON.stringify(t),active:!1}];default:return[]}}))};function te(l){var e;let s=[];for(let a of l)if(a.role==="assistant"||a.role==="user"||a.role==="system"){let t=Zt(a.content);if(t){let n={id:a.id,role:a.role,content:t};s.push(n)}if(a.role==="assistant"&&a.toolCalls&&a.toolCalls.length>0)for(let n of a.toolCalls){let r={id:n.id,name:n.function.name,arguments:JSON.parse(n.function.arguments),parentMessageId:a.id};s.push(r)}}else if(a.role==="tool"){let t="unknown";for(let r of l)if(r.role==="assistant"&&((e=r.toolCalls)!=null&&e.length)){for(let o of r.toolCalls)if(o.id===a.toolCallId){t=o.function.name;break}}let n={id:a.id,result:a.content,actionExecutionId:a.toolCallId,actionName:t};s.push(n)}return s}var J=require("uuid");var K=require("rxjs/operators"),Et=require("rxjs/operators"),X=require("rxjs");var ut=require("rxjs");var it=require("rxjs"),C=require("@ag-ui/core"),Y=l=>s=>{let e,a,t,n=()=>{if(!e||t!=="text")throw new Error("No text message to close");let g={type:C.EventType.TEXT_MESSAGE_END,messageId:e.messageId};return t=void 0,e=void 0,l&&console.debug("[TRANSFORM]: TEXT_MESSAGE_END",JSON.stringify(g)),g},r=()=>{if(!a||t!=="tool")throw new Error("No tool call to close");let g={type:C.EventType.TOOL_CALL_END,toolCallId:a.toolCallId};return t=void 0,a=void 0,l&&console.debug("[TRANSFORM]: TOOL_CALL_END",JSON.stringify(g)),g},o=()=>t==="text"?[n()]:t==="tool"?[r()]:[];return s.pipe((0,it.mergeMap)(g=>{switch(g.type){case C.EventType.TEXT_MESSAGE_START:case C.EventType.TEXT_MESSAGE_CONTENT:case C.EventType.TEXT_MESSAGE_END:case C.EventType.TOOL_CALL_START:case C.EventType.TOOL_CALL_ARGS:case C.EventType.TOOL_CALL_END:case C.EventType.TOOL_CALL_RESULT:case C.EventType.STATE_SNAPSHOT:case C.EventType.STATE_DELTA:case C.EventType.MESSAGES_SNAPSHOT:case C.EventType.CUSTOM:case C.EventType.RUN_STARTED:case C.EventType.RUN_FINISHED:case C.EventType.RUN_ERROR:case C.EventType.STEP_STARTED:case C.EventType.STEP_FINISHED:case C.EventType.THINKING_START:case C.EventType.THINKING_END:case C.EventType.THINKING_TEXT_MESSAGE_START:case C.EventType.THINKING_TEXT_MESSAGE_CONTENT:case C.EventType.THINKING_TEXT_MESSAGE_END:return[...o(),g];case C.EventType.RAW:case C.EventType.ACTIVITY_SNAPSHOT:case C.EventType.ACTIVITY_DELTA:return[g];case C.EventType.TEXT_MESSAGE_CHUNK:let S=g,H=[];if((t!=="text"||S.messageId!==void 0&&S.messageId!==(e==null?void 0:e.messageId))&&H.push(...o()),t!=="text"){if(S.messageId===void 0)throw new Error("First TEXT_MESSAGE_CHUNK must have a messageId");e={messageId:S.messageId},t="text";let c={type:C.EventType.TEXT_MESSAGE_START,messageId:S.messageId,role:S.role||"assistant"};H.push(c),l&&console.debug("[TRANSFORM]: TEXT_MESSAGE_START",JSON.stringify(c))}if(S.delta!==void 0){let c={type:C.EventType.TEXT_MESSAGE_CONTENT,messageId:e.messageId,delta:S.delta};H.push(c),l&&console.debug("[TRANSFORM]: TEXT_MESSAGE_CONTENT",JSON.stringify(c))}return H;case C.EventType.TOOL_CALL_CHUNK:let T=g,y=[];if((t!=="tool"||T.toolCallId!==void 0&&T.toolCallId!==(a==null?void 0:a.toolCallId))&&y.push(...o()),t!=="tool"){if(T.toolCallId===void 0)throw new Error("First TOOL_CALL_CHUNK must have a toolCallId");if(T.toolCallName===void 0)throw new Error("First TOOL_CALL_CHUNK must have a toolCallName");a={toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId},t="tool";let c={type:C.EventType.TOOL_CALL_START,toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId};y.push(c),l&&console.debug("[TRANSFORM]: TOOL_CALL_START",JSON.stringify(c))}if(T.delta!==void 0){let c={type:C.EventType.TOOL_CALL_ARGS,toolCallId:a.toolCallId,delta:T.delta};y.push(c),l&&console.debug("[TRANSFORM]: TOOL_CALL_ARGS",JSON.stringify(c))}return y}let u=g.type;return[]}),(0,it.finalize)(()=>{o()}))};var pt=require("@ag-ui/core"),$=class{constructor({agentId:s,description:e,threadId:a,initialMessages:t,initialState:n,debug:r}={}){this.debug=!1;this.subscribers=[];this.isRunning=!1;this.agentId=s,this.description=e!=null?e:"",this.threadId=a!=null?a:(0,J.v4)(),this.messages=R(t!=null?t:[]),this.state=R(n!=null?n:{}),this.debug=r!=null?r:!1}subscribe(s){return this.subscribers.push(s),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(e=>e!==s)}}}async runAgent(s,e){var a;try{this.isRunning=!0,this.agentId=(a=this.agentId)!=null?a:(0,J.v4)();let t=this.prepareRunAgentInput(s),n,r=new Set(this.messages.map(S=>S.id)),o=[{onRunFinishedEvent:S=>{n=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o);let g=(0,X.pipe)(()=>this.run(t),Y(this.debug),z(this.debug),S=>this.apply(t,S,o),S=>this.processApplyEvents(t,S,o),(0,K.catchError)(S=>(this.isRunning=!1,this.onError(t,S,o))),(0,Et.finalize)(()=>{this.isRunning=!1,this.onFinalize(t,o)}));await(0,ut.lastValueFrom)(g((0,X.of)(null)));let u=R(this.messages).filter(S=>!r.has(S.id));return{result:n,newMessages:u}}finally{this.isRunning=!1}}connect(s){throw new pt.AGUIConnectNotImplementedError}async connectAgent(s,e){var a;try{this.isRunning=!0,this.agentId=(a=this.agentId)!=null?a:(0,J.v4)();let t=this.prepareRunAgentInput(s),n,r=new Set(this.messages.map(S=>S.id)),o=[{onRunFinishedEvent:S=>{n=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o);let g=(0,X.pipe)(()=>this.connect(t),Y(this.debug),z(this.debug),S=>this.apply(t,S,o),S=>this.processApplyEvents(t,S,o),(0,K.catchError)(S=>(this.isRunning=!1,S instanceof pt.AGUIConnectNotImplementedError?X.EMPTY:this.onError(t,S,o))),(0,Et.finalize)(()=>{this.isRunning=!1,this.onFinalize(t,o)}));await(0,ut.lastValueFrom)(g((0,X.of)(null)));let u=R(this.messages).filter(S=>!r.has(S.id));return{result:n,newMessages:u}}finally{this.isRunning=!1}}abortRun(){}apply(s,e,a){return Z(s,e,this,a)}processApplyEvents(s,e,a){return e.pipe((0,K.tap)(t=>{t.messages&&(this.messages=t.messages,a.forEach(n=>{var r;(r=n.onMessagesChanged)==null||r.call(n,{messages:this.messages,state:this.state,agent:this,input:s})})),t.state&&(this.state=t.state,a.forEach(n=>{var r;(r=n.onStateChanged)==null||r.call(n,{state:this.state,messages:this.messages,agent:this,input:s})}))}))}prepareRunAgentInput(s){var t,n,r;let a=R(this.messages).filter(o=>o.role!=="activity");return{threadId:this.threadId,runId:(s==null?void 0:s.runId)||(0,J.v4)(),tools:R((t=s==null?void 0:s.tools)!=null?t:[]),context:R((n=s==null?void 0:s.context)!=null?n:[]),forwardedProps:R((r=s==null?void 0:s.forwardedProps)!=null?r:{}),state:R(this.state),messages:a}}async onInitialize(s,e){let a=await x(e,this.messages,this.state,(t,n,r)=>{var o;return(o=t.onRunInitialized)==null?void 0:o.call(t,{messages:n,state:r,agent:this,input:s})});(a.messages!==void 0||a.state!==void 0)&&(a.messages&&(this.messages=a.messages,s.messages=a.messages,e.forEach(t=>{var n;(n=t.onMessagesChanged)==null||n.call(t,{messages:this.messages,state:this.state,agent:this,input:s})})),a.state&&(this.state=a.state,s.state=a.state,e.forEach(t=>{var n;(n=t.onStateChanged)==null||n.call(t,{state:this.state,messages:this.messages,agent:this,input:s})})))}onError(s,e,a){return(0,X.from)(x(a,this.messages,this.state,(t,n,r)=>{var o;return(o=t.onRunFailed)==null?void 0:o.call(t,{error:e,messages:n,state:r,agent:this,input:s})})).pipe((0,K.map)(t=>{let n=t;if((n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,a.forEach(r=>{var o;(o=r.onMessagesChanged)==null||o.call(r,{messages:this.messages,state:this.state,agent:this,input:s})})),n.state!==void 0&&(this.state=n.state,a.forEach(r=>{var o;(o=r.onStateChanged)==null||o.call(r,{state:this.state,messages:this.messages,agent:this,input:s})}))),n.stopPropagation!==!0)throw console.error("Agent execution failed:",e),e;return{}}))}async onFinalize(s,e){let a=await x(e,this.messages,this.state,(t,n,r)=>{var o;return(o=t.onRunFinalized)==null?void 0:o.call(t,{messages:n,state:r,agent:this,input:s})});(a.messages!==void 0||a.state!==void 0)&&(a.messages!==void 0&&(this.messages=a.messages,e.forEach(t=>{var n;(n=t.onMessagesChanged)==null||n.call(t,{messages:this.messages,state:this.state,agent:this,input:s})})),a.state!==void 0&&(this.state=a.state,e.forEach(t=>{var n;(n=t.onStateChanged)==null||n.call(t,{state:this.state,messages:this.messages,agent:this,input:s})})))}clone(){let s=Object.create(Object.getPrototypeOf(this));return s.agentId=this.agentId,s.description=this.description,s.threadId=this.threadId,s.messages=R(this.messages),s.state=R(this.state),s.debug=this.debug,s.isRunning=this.isRunning,s.subscribers=[...this.subscribers],s}addMessage(s){this.messages.push(s),(async()=>{var e,a,t;for(let n of this.subscribers)await((e=n.onNewMessage)==null?void 0:e.call(n,{message:s,messages:this.messages,state:this.state,agent:this}));if(s.role==="assistant"&&s.toolCalls)for(let n of s.toolCalls)for(let r of this.subscribers)await((a=r.onNewToolCall)==null?void 0:a.call(r,{toolCall:n,messages:this.messages,state:this.state,agent:this}));for(let n of this.subscribers)await((t=n.onMessagesChanged)==null?void 0:t.call(n,{messages:this.messages,state:this.state,agent:this}))})()}addMessages(s){this.messages.push(...s),(async()=>{var e,a,t;for(let n of s){for(let r of this.subscribers)await((e=r.onNewMessage)==null?void 0:e.call(r,{message:n,messages:this.messages,state:this.state,agent:this}));if(n.role==="assistant"&&n.toolCalls)for(let r of n.toolCalls)for(let o of this.subscribers)await((a=o.onNewToolCall)==null?void 0:a.call(o,{toolCall:r,messages:this.messages,state:this.state,agent:this}))}for(let n of this.subscribers)await((t=n.onMessagesChanged)==null?void 0:t.call(n,{messages:this.messages,state:this.state,agent:this}))})()}setMessages(s){this.messages=R(s),(async()=>{var e;for(let a of this.subscribers)await((e=a.onMessagesChanged)==null?void 0:e.call(a,{messages:this.messages,state:this.state,agent:this}))})()}setState(s){this.state=R(s),(async()=>{var e;for(let a of this.subscribers)await((e=a.onStateChanged)==null?void 0:e.call(a,{messages:this.messages,state:this.state,agent:this}))})()}legacy_to_be_removed_runAgentBridged(s){var a;this.agentId=(a=this.agentId)!=null?a:(0,J.v4)();let e=this.prepareRunAgentInput(s);return this.run(e).pipe(Y(this.debug),z(this.debug),rt(this.threadId,e.runId,this.agentId),t=>t.pipe((0,K.map)(n=>(this.debug&&console.debug("[LEGACY]:",JSON.stringify(n)),n))))}};var lt=class extends ${constructor(e){var a;super(e);this.abortController=new AbortController;this.url=e.url,this.headers=R((a=e.headers)!=null?a:{})}requestInit(e){return{method:"POST",headers:k(L({},this.headers),{"Content-Type":"application/json",Accept:"text/event-stream"}),body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,a){var t;return this.abortController=(t=e==null?void 0:e.abortController)!=null?t:new AbortController,super.runAgent(e,a)}abortRun(){this.abortController.abort(),super.abortRun()}run(e){let a=et(this.url,this.requestInit(e));return ot(a)}clone(){var n;let e=super.clone();e.url=this.url,e.headers=R((n=this.headers)!=null?n:{});let a=new AbortController,t=this.abortController.signal;return t.aborted&&a.abort(t.reason),e.abortController=a,e}};var B=require("@ag-ui/core");function Ot(l){let s=[],e=new Map,a=new Map;for(let t of l)if(t.type===B.EventType.TEXT_MESSAGE_START){let n=t,r=n.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.start=n}else if(t.type===B.EventType.TEXT_MESSAGE_CONTENT){let n=t,r=n.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]}),e.get(r).contents.push(n)}else if(t.type===B.EventType.TEXT_MESSAGE_END){let n=t,r=n.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.end=n,Nt(r,o,s),e.delete(r)}else if(t.type===B.EventType.TOOL_CALL_START){let n=t,r=n.toolCallId;a.has(r)||a.set(r,{args:[],otherEvents:[]});let o=a.get(r);o.start=n}else if(t.type===B.EventType.TOOL_CALL_ARGS){let n=t,r=n.toolCallId;a.has(r)||a.set(r,{args:[],otherEvents:[]}),a.get(r).args.push(n)}else if(t.type===B.EventType.TOOL_CALL_END){let n=t,r=n.toolCallId;a.has(r)||a.set(r,{args:[],otherEvents:[]});let o=a.get(r);o.end=n,Lt(r,o,s),a.delete(r)}else{let n=!1;for(let[r,o]of e)if(o.start&&!o.end){o.otherEvents.push(t),n=!0;break}if(!n){for(let[r,o]of a)if(o.start&&!o.end){o.otherEvents.push(t),n=!0;break}}n||s.push(t)}for(let[t,n]of e)Nt(t,n,s);for(let[t,n]of a)Lt(t,n,s);return s}function Nt(l,s,e){if(s.start&&e.push(s.start),s.contents.length>0){let a=s.contents.map(n=>n.delta).join(""),t={type:B.EventType.TEXT_MESSAGE_CONTENT,messageId:l,delta:a};e.push(t)}s.end&&e.push(s.end);for(let a of s.otherEvents)e.push(a)}function Lt(l,s,e){if(s.start&&e.push(s.start),s.args.length>0){let a=s.args.map(n=>n.delta).join(""),t={type:B.EventType.TOOL_CALL_ARGS,toolCallId:l,delta:a};e.push(t)}s.end&&e.push(s.end);for(let a of s.otherEvents)e.push(a)}D(P,require("@ag-ui/core"),module.exports);0&&(module.exports={AbstractAgent,HttpAgent,compactEvents,convertToLegacyEvents,defaultApplyEvents,parseProtoStream,parseSSEStream,randomUUID,runHttpRequest,structuredClone_,transformChunks,transformHttpEventStream,verifyEvents,...require("@ag-ui/core")});
8
8
  //# sourceMappingURL=index.js.map