@ag-ui/client
Advanced tools
| {"version":3,"file":"index.d.mts","names":[],"sources":["../src/agent/types.ts","../src/legacy/types.ts","../src/agent/subscriber.ts","../src/agent/http.ts","../src/middleware/middleware.ts","../src/middleware/filter-tool-calls.ts","../src/middleware/backward-compatibility-0-0-39.ts","../src/middleware/backward-compatibility-0-0-45.ts","../src/agent/agent.ts","../src/apply/default.ts","../src/verify/verify.ts","../src/run/http-request.ts","../src/transform/http.ts","../src/transform/sse.ts","../src/transform/proto.ts","../src/legacy/convert.ts","../src/utils.ts","../src/compact/compact.ts","../src/chunks/transform.ts"],"mappings":"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"} |
| {"version":3,"file":"index.d.ts","names":[],"sources":["../src/agent/types.ts","../src/legacy/types.ts","../src/agent/subscriber.ts","../src/agent/http.ts","../src/middleware/middleware.ts","../src/middleware/filter-tool-calls.ts","../src/middleware/backward-compatibility-0-0-39.ts","../src/middleware/backward-compatibility-0-0-45.ts","../src/agent/agent.ts","../src/apply/default.ts","../src/verify/verify.ts","../src/run/http-request.ts","../src/transform/http.ts","../src/transform/sse.ts","../src/transform/proto.ts","../src/legacy/convert.ts","../src/utils.ts","../src/compact/compact.ts","../src/chunks/transform.ts"],"mappings":"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"} |
+405
-336
@@ -1,225 +0,359 @@ | ||
| import { Message, State, RunAgentInput, BaseEvent, FetchRunHistoryOptions, FetchRunHistoryResult, 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'; | ||
| export * from '@ag-ui/core'; | ||
| import { Observable } from 'rxjs'; | ||
| import { z } from 'zod'; | ||
| import { ActivityDeltaEvent, ActivityMessage, ActivitySnapshotEvent, BaseEvent, CustomEvent, Message, MessagesSnapshotEvent, RawEvent, ReasoningEncryptedValueEvent, ReasoningEndEvent, ReasoningMessageContentEvent, ReasoningMessageEndEvent, ReasoningMessageStartEvent, ReasoningStartEvent, RunAgentInput, RunErrorEvent, RunFinishedEvent, RunStartedEvent, State, StateDeltaEvent, StateSnapshotEvent, StepFinishedEvent, StepStartedEvent, TextMessageContentEvent, TextMessageEndEvent, TextMessageStartEvent, ToolCall, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, ToolCallStartEvent } from "@ag-ui/core"; | ||
| import { Observable } from "rxjs"; | ||
| import { z } from "zod"; | ||
| export * from "@ag-ui/core"; | ||
| //#region src/agent/types.d.ts | ||
| interface AgentConfig { | ||
| agentId?: string; | ||
| description?: string; | ||
| threadId?: string; | ||
| initialMessages?: Message[]; | ||
| initialState?: State; | ||
| debug?: boolean; | ||
| agentId?: string; | ||
| description?: string; | ||
| threadId?: string; | ||
| initialMessages?: Message[]; | ||
| initialState?: State; | ||
| debug?: boolean; | ||
| } | ||
| interface HttpAgentConfig extends AgentConfig { | ||
| url: string; | ||
| headers?: Record<string, string>; | ||
| url: string; | ||
| headers?: Record<string, string>; | ||
| } | ||
| type RunAgentParameters = Partial<Pick<RunAgentInput, "runId" | "tools" | "context" | "forwardedProps">>; | ||
| //#endregion | ||
| //#region src/legacy/types.d.ts | ||
| declare const LegacyRuntimeProtocolEvent: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ | ||
| type: z.ZodLiteral<"TextMessageStart">; | ||
| messageId: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| role: z.ZodOptional<z.ZodString>; | ||
| type: z.ZodLiteral<"TextMessageStart">; | ||
| messageId: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| role: z.ZodOptional<z.ZodString>; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| role?: string | undefined; | ||
| parentMessageId?: string | undefined; | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| parentMessageId?: string | undefined; | ||
| role?: string | undefined; | ||
| }, { | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| role?: string | undefined; | ||
| parentMessageId?: string | undefined; | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| parentMessageId?: string | undefined; | ||
| role?: string | undefined; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"TextMessageContent">; | ||
| messageId: z.ZodString; | ||
| content: z.ZodString; | ||
| type: z.ZodLiteral<"TextMessageContent">; | ||
| messageId: z.ZodString; | ||
| content: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| }, { | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"TextMessageEnd">; | ||
| messageId: z.ZodString; | ||
| type: z.ZodLiteral<"TextMessageEnd">; | ||
| messageId: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| }, { | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionStart">; | ||
| actionExecutionId: z.ZodString; | ||
| actionName: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| type: z.ZodLiteral<"ActionExecutionStart">; | ||
| actionExecutionId: z.ZodString; | ||
| actionName: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| }, { | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionArgs">; | ||
| actionExecutionId: z.ZodString; | ||
| args: z.ZodString; | ||
| type: z.ZodLiteral<"ActionExecutionArgs">; | ||
| actionExecutionId: z.ZodString; | ||
| args: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| }, { | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionEnd">; | ||
| actionExecutionId: z.ZodString; | ||
| type: z.ZodLiteral<"ActionExecutionEnd">; | ||
| actionExecutionId: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| }, { | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionResult">; | ||
| actionName: z.ZodString; | ||
| actionExecutionId: z.ZodString; | ||
| result: z.ZodString; | ||
| type: z.ZodLiteral<"ActionExecutionResult">; | ||
| actionName: z.ZodString; | ||
| actionExecutionId: z.ZodString; | ||
| result: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| }, { | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"AgentStateMessage">; | ||
| threadId: z.ZodString; | ||
| agentName: z.ZodString; | ||
| nodeName: z.ZodString; | ||
| runId: z.ZodString; | ||
| active: z.ZodBoolean; | ||
| role: z.ZodString; | ||
| state: z.ZodString; | ||
| running: z.ZodBoolean; | ||
| type: z.ZodLiteral<"AgentStateMessage">; | ||
| threadId: z.ZodString; | ||
| agentName: z.ZodString; | ||
| nodeName: z.ZodString; | ||
| runId: z.ZodString; | ||
| active: z.ZodBoolean; | ||
| role: z.ZodString; | ||
| state: z.ZodString; | ||
| running: z.ZodBoolean; | ||
| }, "strip", z.ZodTypeAny, { | ||
| role: string; | ||
| runId: string; | ||
| threadId: string; | ||
| state: string; | ||
| type: "AgentStateMessage"; | ||
| agentName: string; | ||
| nodeName: string; | ||
| active: boolean; | ||
| running: boolean; | ||
| type: "AgentStateMessage"; | ||
| role: string; | ||
| threadId: string; | ||
| agentName: string; | ||
| nodeName: string; | ||
| runId: string; | ||
| active: boolean; | ||
| state: string; | ||
| running: boolean; | ||
| }, { | ||
| role: string; | ||
| runId: string; | ||
| threadId: string; | ||
| state: string; | ||
| type: "AgentStateMessage"; | ||
| agentName: string; | ||
| nodeName: string; | ||
| active: boolean; | ||
| running: boolean; | ||
| type: "AgentStateMessage"; | ||
| role: string; | ||
| threadId: string; | ||
| agentName: string; | ||
| nodeName: string; | ||
| runId: string; | ||
| active: boolean; | ||
| state: string; | ||
| running: boolean; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"MetaEvent">; | ||
| name: z.ZodEnum<["LangGraphInterruptEvent", "PredictState", "Exit"]>; | ||
| value: z.ZodAny; | ||
| type: z.ZodLiteral<"MetaEvent">; | ||
| name: z.ZodEnum<["LangGraphInterruptEvent", "PredictState", "Exit"]>; | ||
| value: z.ZodAny; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| }, { | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"RunError">; | ||
| message: z.ZodString; | ||
| code: z.ZodOptional<z.ZodString>; | ||
| type: z.ZodLiteral<"RunError">; | ||
| message: z.ZodString; | ||
| code: z.ZodOptional<z.ZodString>; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| }, { | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| }>]>; | ||
| type LegacyRuntimeProtocolEvent = z.infer<typeof LegacyRuntimeProtocolEvent>; | ||
| //#endregion | ||
| //#region src/agent/subscriber.d.ts | ||
| interface AgentStateMutation { | ||
| messages?: Message[]; | ||
| state?: State; | ||
| stopPropagation?: boolean; | ||
| } | ||
| interface AgentSubscriberParams { | ||
| messages: Message[]; | ||
| state: State; | ||
| agent: AbstractAgent; | ||
| input: RunAgentInput; | ||
| } | ||
| type MaybePromise<T> = T | Promise<T>; | ||
| interface AgentSubscriber { | ||
| onRunInitialized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFailed?(params: { | ||
| error: Error; | ||
| } & AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFinalized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onEvent?(params: { | ||
| event: BaseEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunStartedEvent?(params: { | ||
| event: RunStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunFinishedEvent?(params: { | ||
| event: RunFinishedEvent; | ||
| result?: any; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunErrorEvent?(params: { | ||
| event: RunErrorEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepStartedEvent?(params: { | ||
| event: StepStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepFinishedEvent?(params: { | ||
| event: StepFinishedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageStartEvent?(params: { | ||
| event: TextMessageStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageContentEvent?(params: { | ||
| event: TextMessageContentEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageEndEvent?(params: { | ||
| event: TextMessageEndEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallStartEvent?(params: { | ||
| event: ToolCallStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallArgsEvent?(params: { | ||
| event: ToolCallArgsEvent; | ||
| toolCallBuffer: string; | ||
| toolCallName: string; | ||
| partialToolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallEndEvent?(params: { | ||
| event: ToolCallEndEvent; | ||
| toolCallName: string; | ||
| toolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallResultEvent?(params: { | ||
| event: ToolCallResultEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateSnapshotEvent?(params: { | ||
| event: StateSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateDeltaEvent?(params: { | ||
| event: StateDeltaEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesSnapshotEvent?(params: { | ||
| event: MessagesSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivitySnapshotEvent?(params: { | ||
| event: ActivitySnapshotEvent; | ||
| activityMessage?: ActivityMessage; | ||
| existingMessage?: Message; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivityDeltaEvent?(params: { | ||
| event: ActivityDeltaEvent; | ||
| activityMessage?: ActivityMessage; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRawEvent?(params: { | ||
| event: RawEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onCustomEvent?(params: { | ||
| event: CustomEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningStartEvent?(params: { | ||
| event: ReasoningStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningMessageStartEvent?(params: { | ||
| event: ReasoningMessageStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningMessageContentEvent?(params: { | ||
| event: ReasoningMessageContentEvent; | ||
| reasoningMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningMessageEndEvent?(params: { | ||
| event: ReasoningMessageEndEvent; | ||
| reasoningMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningEndEvent?(params: { | ||
| event: ReasoningEndEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningEncryptedValueEvent?(params: { | ||
| event: ReasoningEncryptedValueEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onStateChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewMessage?(params: { | ||
| message: Message; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewToolCall?(params: { | ||
| toolCall: ToolCall; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| } | ||
| //#endregion | ||
| //#region src/agent/http.d.ts | ||
| interface RunHttpAgentConfig extends RunAgentParameters { | ||
| abortController?: AbortController; | ||
| abortController?: AbortController; | ||
| } | ||
| declare class HttpAgent extends AbstractAgent { | ||
| url: string; | ||
| headers: Record<string, string>; | ||
| abortController: AbortController; | ||
| /** | ||
| * Returns the fetch config for the http request. | ||
| * Override this to customize the request. | ||
| * | ||
| * @returns The fetch config for the http request. | ||
| */ | ||
| protected requestInit(input: RunAgentInput): RequestInit; | ||
| runAgent(parameters?: RunHttpAgentConfig, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| constructor(config: HttpAgentConfig); | ||
| run(input: RunAgentInput): Observable<BaseEvent>; | ||
| clone(): HttpAgent; | ||
| url: string; | ||
| headers: Record<string, string>; | ||
| abortController: AbortController; | ||
| /** | ||
| * Returns the fetch config for the http request. | ||
| * Override this to customize the request. | ||
| * | ||
| * @returns The fetch config for the http request. | ||
| */ | ||
| protected requestInit(input: RunAgentInput): RequestInit; | ||
| runAgent(parameters?: RunHttpAgentConfig, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| constructor(config: HttpAgentConfig); | ||
| run(input: RunAgentInput): Observable<BaseEvent>; | ||
| clone(): HttpAgent; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/middleware.d.ts | ||
| type MiddlewareFunction = (input: RunAgentInput, next: AbstractAgent) => Observable<BaseEvent>; | ||
| interface EventWithState { | ||
| event: BaseEvent; | ||
| messages: Message[]; | ||
| state: any; | ||
| event: BaseEvent; | ||
| messages: Message[]; | ||
| state: any; | ||
| } | ||
| declare abstract class Middleware { | ||
| abstract run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent in the chain with automatic chunk transformation. | ||
| */ | ||
| protected runNext(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent and tracks state, providing current messages and state with each event. | ||
| * The messages and state represent the state AFTER the event has been applied. | ||
| */ | ||
| protected runNextWithState(input: RunAgentInput, next: AbstractAgent): Observable<EventWithState>; | ||
| abstract run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent in the chain with automatic chunk transformation. | ||
| */ | ||
| protected runNext(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent and tracks state, providing current messages and state with each event. | ||
| * The messages and state represent the state AFTER the event has been applied. | ||
| */ | ||
| protected runNextWithState(input: RunAgentInput, next: AbstractAgent): Observable<EventWithState>; | ||
| } | ||
| declare class FunctionMiddleware extends Middleware { | ||
| private fn; | ||
| constructor(fn: MiddlewareFunction); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private fn; | ||
| constructor(fn: MiddlewareFunction); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/filter-tool-calls.d.ts | ||
| type FilterToolCallsConfig = { | ||
| allowedToolCalls: string[]; | ||
| disallowedToolCalls?: never; | ||
| allowedToolCalls: string[]; | ||
| disallowedToolCalls?: never; | ||
| } | { | ||
| disallowedToolCalls: string[]; | ||
| allowedToolCalls?: never; | ||
| disallowedToolCalls: string[]; | ||
| allowedToolCalls?: never; | ||
| }; | ||
| declare class FilterToolCallsMiddleware extends Middleware { | ||
| private blockedToolCallIds; | ||
| private readonly allowedTools?; | ||
| private readonly disallowedTools?; | ||
| constructor(config: FilterToolCallsConfig); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private shouldFilterTool; | ||
| private blockedToolCallIds; | ||
| private readonly allowedTools?; | ||
| private readonly disallowedTools?; | ||
| constructor(config: FilterToolCallsConfig); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private shouldFilterTool; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/backward-compatibility-0-0-39.d.ts | ||
| /** | ||
@@ -230,175 +364,103 @@ * Middleware placeholder that maintains compatibility with AG-UI 0.0.39 flows. | ||
| declare class BackwardCompatibility_0_0_39 extends Middleware { | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/backward-compatibility-0-0-45.d.ts | ||
| /** | ||
| * Middleware that maps deprecated THINKING events to the new REASONING events. | ||
| * | ||
| * This ensures backward compatibility for agents that still emit legacy THINKING | ||
| * events (THINKING_START, THINKING_END, THINKING_TEXT_MESSAGE_START, etc.) | ||
| * by transforming them into the corresponding REASONING events. | ||
| * | ||
| * Event mapping: | ||
| * - THINKING_START → REASONING_START | ||
| * - THINKING_TEXT_MESSAGE_START → REASONING_MESSAGE_START | ||
| * - THINKING_TEXT_MESSAGE_CONTENT → REASONING_MESSAGE_CONTENT | ||
| * - THINKING_TEXT_MESSAGE_END → REASONING_MESSAGE_END | ||
| * - THINKING_END → REASONING_END | ||
| * | ||
| */ | ||
| declare class BackwardCompatibility_0_0_45 extends Middleware { | ||
| private currentReasoningId; | ||
| private currentMessageId; | ||
| private warnAboutTransformation; | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private transformEvent; | ||
| } | ||
| //#endregion | ||
| //#region src/agent/agent.d.ts | ||
| interface RunAgentResult { | ||
| result: any; | ||
| newMessages: Message[]; | ||
| result: any; | ||
| newMessages: Message[]; | ||
| } | ||
| declare abstract class AbstractAgent { | ||
| agentId?: string; | ||
| description: string; | ||
| threadId: string; | ||
| messages: Message[]; | ||
| state: State; | ||
| debug: boolean; | ||
| subscribers: AgentSubscriber[]; | ||
| isRunning: boolean; | ||
| private middlewares; | ||
| private activeRunDetach$?; | ||
| private activeRunCompletionPromise?; | ||
| get maxVersion(): string; | ||
| constructor({ agentId, description, threadId, initialMessages, initialState, debug, }?: AgentConfig); | ||
| subscribe(subscriber: AgentSubscriber): { | ||
| unsubscribe: () => void; | ||
| }; | ||
| abstract run(input: RunAgentInput): Observable<BaseEvent>; | ||
| use(...middlewares: (Middleware | MiddlewareFunction)[]): this; | ||
| runAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| protected connect(input: RunAgentInput): Observable<BaseEvent>; | ||
| protected fetchRunHistory(options: FetchRunHistoryOptions): Promise<FetchRunHistoryResult | undefined>; | ||
| connectAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| detachActiveRun(): Promise<void>; | ||
| protected apply(input: RunAgentInput, events$: Observable<BaseEvent>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected processApplyEvents(input: RunAgentInput, events$: Observable<AgentStateMutation>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected prepareRunAgentInput(parameters?: RunAgentParameters): RunAgentInput; | ||
| protected onInitialize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| protected onError(input: RunAgentInput, error: Error, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected onFinalize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| clone(): any; | ||
| addMessage(message: Message): void; | ||
| addMessages(messages: Message[]): void; | ||
| setMessages(messages: Message[]): void; | ||
| setState(state: State): void; | ||
| legacy_to_be_removed_runAgentBridged(config?: RunAgentParameters): Observable<LegacyRuntimeProtocolEvent>; | ||
| agentId?: string; | ||
| description: string; | ||
| threadId: string; | ||
| messages: Message[]; | ||
| state: State; | ||
| debug: boolean; | ||
| subscribers: AgentSubscriber[]; | ||
| isRunning: boolean; | ||
| private middlewares; | ||
| private activeRunDetach$?; | ||
| private activeRunCompletionPromise?; | ||
| get maxVersion(): string; | ||
| constructor({ | ||
| agentId, | ||
| description, | ||
| threadId, | ||
| initialMessages, | ||
| initialState, | ||
| debug | ||
| }?: AgentConfig); | ||
| subscribe(subscriber: AgentSubscriber): { | ||
| unsubscribe: () => void; | ||
| }; | ||
| abstract run(input: RunAgentInput): Observable<BaseEvent>; | ||
| use(...middlewares: (Middleware | MiddlewareFunction)[]): this; | ||
| runAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| protected connect(input: RunAgentInput): Observable<BaseEvent>; | ||
| connectAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| detachActiveRun(): Promise<void>; | ||
| protected apply(input: RunAgentInput, events$: Observable<BaseEvent>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected processApplyEvents(input: RunAgentInput, events$: Observable<AgentStateMutation>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected prepareRunAgentInput(parameters?: RunAgentParameters): RunAgentInput; | ||
| protected onInitialize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| protected onError(input: RunAgentInput, error: Error, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected onFinalize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| clone(): any; | ||
| addMessage(message: Message): void; | ||
| addMessages(messages: Message[]): void; | ||
| setMessages(messages: Message[]): void; | ||
| setState(state: State): void; | ||
| legacy_to_be_removed_runAgentBridged(config?: RunAgentParameters): Observable<LegacyRuntimeProtocolEvent>; | ||
| } | ||
| interface AgentStateMutation { | ||
| messages?: Message[]; | ||
| state?: State; | ||
| stopPropagation?: boolean; | ||
| } | ||
| interface AgentSubscriberParams { | ||
| messages: Message[]; | ||
| state: State; | ||
| agent: AbstractAgent; | ||
| input: RunAgentInput; | ||
| } | ||
| type MaybePromise<T> = T | Promise<T>; | ||
| interface AgentSubscriber { | ||
| onRunInitialized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFailed?(params: { | ||
| error: Error; | ||
| } & AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFinalized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onEvent?(params: { | ||
| event: BaseEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunStartedEvent?(params: { | ||
| event: RunStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunFinishedEvent?(params: { | ||
| event: RunFinishedEvent; | ||
| result?: any; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunErrorEvent?(params: { | ||
| event: RunErrorEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepStartedEvent?(params: { | ||
| event: StepStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepFinishedEvent?(params: { | ||
| event: StepFinishedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageStartEvent?(params: { | ||
| event: TextMessageStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageContentEvent?(params: { | ||
| event: TextMessageContentEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageEndEvent?(params: { | ||
| event: TextMessageEndEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallStartEvent?(params: { | ||
| event: ToolCallStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallArgsEvent?(params: { | ||
| event: ToolCallArgsEvent; | ||
| toolCallBuffer: string; | ||
| toolCallName: string; | ||
| partialToolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallEndEvent?(params: { | ||
| event: ToolCallEndEvent; | ||
| toolCallName: string; | ||
| toolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallResultEvent?(params: { | ||
| event: ToolCallResultEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateSnapshotEvent?(params: { | ||
| event: StateSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateDeltaEvent?(params: { | ||
| event: StateDeltaEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesSnapshotEvent?(params: { | ||
| event: MessagesSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivitySnapshotEvent?(params: { | ||
| event: ActivitySnapshotEvent; | ||
| activityMessage?: ActivityMessage; | ||
| existingMessage?: Message; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivityDeltaEvent?(params: { | ||
| event: ActivityDeltaEvent; | ||
| activityMessage?: ActivityMessage; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRawEvent?(params: { | ||
| event: RawEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onCustomEvent?(params: { | ||
| event: CustomEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onStateChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewMessage?(params: { | ||
| message: Message; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewToolCall?(params: { | ||
| toolCall: ToolCall; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| } | ||
| //#endregion | ||
| //#region src/apply/default.d.ts | ||
| declare const defaultApplyEvents: (input: RunAgentInput, events$: Observable<BaseEvent>, agent: AbstractAgent, subscribers: AgentSubscriber[]) => Observable<AgentStateMutation>; | ||
| //#endregion | ||
| //#region src/verify/verify.d.ts | ||
| declare const verifyEvents: (debug: boolean) => (source$: Observable<BaseEvent>) => Observable<BaseEvent>; | ||
| //#endregion | ||
| //#region src/run/http-request.d.ts | ||
| declare enum HttpEventType { | ||
| HEADERS = "headers", | ||
| DATA = "data" | ||
| HEADERS = "headers", | ||
| DATA = "data" | ||
| } | ||
| interface HttpDataEvent { | ||
| type: HttpEventType.DATA; | ||
| data?: Uint8Array; | ||
| type: HttpEventType.DATA; | ||
| data?: Uint8Array; | ||
| } | ||
| interface HttpHeadersEvent { | ||
| type: HttpEventType.HEADERS; | ||
| status: number; | ||
| headers: Headers; | ||
| type: HttpEventType.HEADERS; | ||
| status: number; | ||
| headers: Headers; | ||
| } | ||
| type HttpEvent = HttpDataEvent | HttpHeadersEvent; | ||
| declare const runHttpRequest: (url: string, requestInit: RequestInit) => Observable<HttpEvent>; | ||
| //#endregion | ||
| //#region src/transform/http.d.ts | ||
| /** | ||
@@ -408,3 +470,4 @@ * Transforms HTTP events into BaseEvents using the appropriate format parser based on content type. | ||
| declare const transformHttpEventStream: (source$: Observable<HttpEvent>) => Observable<BaseEvent>; | ||
| //#endregion | ||
| //#region src/transform/sse.d.ts | ||
| /** | ||
@@ -419,3 +482,4 @@ * Parses a stream of HTTP events into a stream of JSON objects using Server-Sent Events (SSE) format. | ||
| declare const parseSSEStream: (source$: Observable<HttpEvent>) => Observable<any>; | ||
| //#endregion | ||
| //#region src/transform/proto.d.ts | ||
| /** | ||
@@ -427,5 +491,7 @@ * Parses a stream of HTTP events into a stream of BaseEvent objects using Protocol Buffer format. | ||
| declare const parseProtoStream: (source$: Observable<HttpEvent>) => Observable<BaseEvent>; | ||
| //#endregion | ||
| //#region src/legacy/convert.d.ts | ||
| declare const convertToLegacyEvents: (threadId: string, runId: string, agentName: string) => (events$: Observable<BaseEvent>) => Observable<LegacyRuntimeProtocolEvent>; | ||
| //#endregion | ||
| //#region src/utils.d.ts | ||
| declare const structuredClone_: <T>(obj: T) => T; | ||
@@ -437,3 +503,4 @@ /** | ||
| declare function randomUUID(): string; | ||
| //#endregion | ||
| //#region src/compact/compact.d.ts | ||
| /** | ||
@@ -449,5 +516,7 @@ * Compacts streaming events by consolidating multiple deltas into single events. | ||
| declare function compactEvents(events: BaseEvent[]): BaseEvent[]; | ||
| //#endregion | ||
| //#region src/chunks/transform.d.ts | ||
| declare const transformChunks: (debug: boolean) => (events$: Observable<BaseEvent>) => Observable<BaseEvent>; | ||
| export { AbstractAgent, type AgentConfig, type AgentStateMutation, type AgentSubscriber, type AgentSubscriberParams, BackwardCompatibility_0_0_39, FilterToolCallsMiddleware, FunctionMiddleware, HttpAgent, type HttpAgentConfig, Middleware, type MiddlewareFunction, type RunAgentParameters, type RunAgentResult, compactEvents, convertToLegacyEvents, defaultApplyEvents, parseProtoStream, parseSSEStream, randomUUID, runHttpRequest, structuredClone_, transformChunks, transformHttpEventStream, verifyEvents }; | ||
| //#endregion | ||
| export { AbstractAgent, type AgentConfig, type AgentStateMutation, type AgentSubscriber, type AgentSubscriberParams, BackwardCompatibility_0_0_39, BackwardCompatibility_0_0_45, FilterToolCallsMiddleware, FunctionMiddleware, HttpAgent, type HttpAgentConfig, Middleware, type MiddlewareFunction, type RunAgentParameters, type RunAgentResult, compactEvents, convertToLegacyEvents, defaultApplyEvents, parseProtoStream, parseSSEStream, randomUUID, runHttpRequest, structuredClone_, transformChunks, transformHttpEventStream, verifyEvents }; | ||
| //# sourceMappingURL=index.d.mts.map |
+405
-336
@@ -1,225 +0,359 @@ | ||
| import { Message, State, RunAgentInput, BaseEvent, FetchRunHistoryOptions, FetchRunHistoryResult, 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'; | ||
| export * from '@ag-ui/core'; | ||
| import { Observable } from 'rxjs'; | ||
| import { z } from 'zod'; | ||
| import { ActivityDeltaEvent, ActivityMessage, ActivitySnapshotEvent, BaseEvent, CustomEvent, Message, MessagesSnapshotEvent, RawEvent, ReasoningEncryptedValueEvent, ReasoningEndEvent, ReasoningMessageContentEvent, ReasoningMessageEndEvent, ReasoningMessageStartEvent, ReasoningStartEvent, RunAgentInput, RunErrorEvent, RunFinishedEvent, RunStartedEvent, State, StateDeltaEvent, StateSnapshotEvent, StepFinishedEvent, StepStartedEvent, TextMessageContentEvent, TextMessageEndEvent, TextMessageStartEvent, ToolCall, ToolCallArgsEvent, ToolCallEndEvent, ToolCallResultEvent, ToolCallStartEvent } from "@ag-ui/core"; | ||
| import { Observable } from "rxjs"; | ||
| import { z } from "zod"; | ||
| export * from "@ag-ui/core"; | ||
| //#region src/agent/types.d.ts | ||
| interface AgentConfig { | ||
| agentId?: string; | ||
| description?: string; | ||
| threadId?: string; | ||
| initialMessages?: Message[]; | ||
| initialState?: State; | ||
| debug?: boolean; | ||
| agentId?: string; | ||
| description?: string; | ||
| threadId?: string; | ||
| initialMessages?: Message[]; | ||
| initialState?: State; | ||
| debug?: boolean; | ||
| } | ||
| interface HttpAgentConfig extends AgentConfig { | ||
| url: string; | ||
| headers?: Record<string, string>; | ||
| url: string; | ||
| headers?: Record<string, string>; | ||
| } | ||
| type RunAgentParameters = Partial<Pick<RunAgentInput, "runId" | "tools" | "context" | "forwardedProps">>; | ||
| //#endregion | ||
| //#region src/legacy/types.d.ts | ||
| declare const LegacyRuntimeProtocolEvent: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{ | ||
| type: z.ZodLiteral<"TextMessageStart">; | ||
| messageId: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| role: z.ZodOptional<z.ZodString>; | ||
| type: z.ZodLiteral<"TextMessageStart">; | ||
| messageId: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| role: z.ZodOptional<z.ZodString>; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| role?: string | undefined; | ||
| parentMessageId?: string | undefined; | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| parentMessageId?: string | undefined; | ||
| role?: string | undefined; | ||
| }, { | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| role?: string | undefined; | ||
| parentMessageId?: string | undefined; | ||
| type: "TextMessageStart"; | ||
| messageId: string; | ||
| parentMessageId?: string | undefined; | ||
| role?: string | undefined; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"TextMessageContent">; | ||
| messageId: z.ZodString; | ||
| content: z.ZodString; | ||
| type: z.ZodLiteral<"TextMessageContent">; | ||
| messageId: z.ZodString; | ||
| content: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| }, { | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| type: "TextMessageContent"; | ||
| messageId: string; | ||
| content: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"TextMessageEnd">; | ||
| messageId: z.ZodString; | ||
| type: z.ZodLiteral<"TextMessageEnd">; | ||
| messageId: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| }, { | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| type: "TextMessageEnd"; | ||
| messageId: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionStart">; | ||
| actionExecutionId: z.ZodString; | ||
| actionName: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| type: z.ZodLiteral<"ActionExecutionStart">; | ||
| actionExecutionId: z.ZodString; | ||
| actionName: z.ZodString; | ||
| parentMessageId: z.ZodOptional<z.ZodString>; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| }, { | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| type: "ActionExecutionStart"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| parentMessageId?: string | undefined; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionArgs">; | ||
| actionExecutionId: z.ZodString; | ||
| args: z.ZodString; | ||
| type: z.ZodLiteral<"ActionExecutionArgs">; | ||
| actionExecutionId: z.ZodString; | ||
| args: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| }, { | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| type: "ActionExecutionArgs"; | ||
| actionExecutionId: string; | ||
| args: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionEnd">; | ||
| actionExecutionId: z.ZodString; | ||
| type: z.ZodLiteral<"ActionExecutionEnd">; | ||
| actionExecutionId: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| }, { | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| type: "ActionExecutionEnd"; | ||
| actionExecutionId: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"ActionExecutionResult">; | ||
| actionName: z.ZodString; | ||
| actionExecutionId: z.ZodString; | ||
| result: z.ZodString; | ||
| type: z.ZodLiteral<"ActionExecutionResult">; | ||
| actionName: z.ZodString; | ||
| actionExecutionId: z.ZodString; | ||
| result: z.ZodString; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| }, { | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| type: "ActionExecutionResult"; | ||
| actionExecutionId: string; | ||
| actionName: string; | ||
| result: string; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"AgentStateMessage">; | ||
| threadId: z.ZodString; | ||
| agentName: z.ZodString; | ||
| nodeName: z.ZodString; | ||
| runId: z.ZodString; | ||
| active: z.ZodBoolean; | ||
| role: z.ZodString; | ||
| state: z.ZodString; | ||
| running: z.ZodBoolean; | ||
| type: z.ZodLiteral<"AgentStateMessage">; | ||
| threadId: z.ZodString; | ||
| agentName: z.ZodString; | ||
| nodeName: z.ZodString; | ||
| runId: z.ZodString; | ||
| active: z.ZodBoolean; | ||
| role: z.ZodString; | ||
| state: z.ZodString; | ||
| running: z.ZodBoolean; | ||
| }, "strip", z.ZodTypeAny, { | ||
| role: string; | ||
| runId: string; | ||
| threadId: string; | ||
| state: string; | ||
| type: "AgentStateMessage"; | ||
| agentName: string; | ||
| nodeName: string; | ||
| active: boolean; | ||
| running: boolean; | ||
| type: "AgentStateMessage"; | ||
| role: string; | ||
| threadId: string; | ||
| agentName: string; | ||
| nodeName: string; | ||
| runId: string; | ||
| active: boolean; | ||
| state: string; | ||
| running: boolean; | ||
| }, { | ||
| role: string; | ||
| runId: string; | ||
| threadId: string; | ||
| state: string; | ||
| type: "AgentStateMessage"; | ||
| agentName: string; | ||
| nodeName: string; | ||
| active: boolean; | ||
| running: boolean; | ||
| type: "AgentStateMessage"; | ||
| role: string; | ||
| threadId: string; | ||
| agentName: string; | ||
| nodeName: string; | ||
| runId: string; | ||
| active: boolean; | ||
| state: string; | ||
| running: boolean; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"MetaEvent">; | ||
| name: z.ZodEnum<["LangGraphInterruptEvent", "PredictState", "Exit"]>; | ||
| value: z.ZodAny; | ||
| type: z.ZodLiteral<"MetaEvent">; | ||
| name: z.ZodEnum<["LangGraphInterruptEvent", "PredictState", "Exit"]>; | ||
| value: z.ZodAny; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| }, { | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| type: "MetaEvent"; | ||
| name: "LangGraphInterruptEvent" | "PredictState" | "Exit"; | ||
| value?: any; | ||
| }>, z.ZodObject<{ | ||
| type: z.ZodLiteral<"RunError">; | ||
| message: z.ZodString; | ||
| code: z.ZodOptional<z.ZodString>; | ||
| type: z.ZodLiteral<"RunError">; | ||
| message: z.ZodString; | ||
| code: z.ZodOptional<z.ZodString>; | ||
| }, "strip", z.ZodTypeAny, { | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| }, { | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| type: "RunError"; | ||
| message: string; | ||
| code?: string | undefined; | ||
| }>]>; | ||
| type LegacyRuntimeProtocolEvent = z.infer<typeof LegacyRuntimeProtocolEvent>; | ||
| //#endregion | ||
| //#region src/agent/subscriber.d.ts | ||
| interface AgentStateMutation { | ||
| messages?: Message[]; | ||
| state?: State; | ||
| stopPropagation?: boolean; | ||
| } | ||
| interface AgentSubscriberParams { | ||
| messages: Message[]; | ||
| state: State; | ||
| agent: AbstractAgent; | ||
| input: RunAgentInput; | ||
| } | ||
| type MaybePromise<T> = T | Promise<T>; | ||
| interface AgentSubscriber { | ||
| onRunInitialized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFailed?(params: { | ||
| error: Error; | ||
| } & AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFinalized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onEvent?(params: { | ||
| event: BaseEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunStartedEvent?(params: { | ||
| event: RunStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunFinishedEvent?(params: { | ||
| event: RunFinishedEvent; | ||
| result?: any; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunErrorEvent?(params: { | ||
| event: RunErrorEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepStartedEvent?(params: { | ||
| event: StepStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepFinishedEvent?(params: { | ||
| event: StepFinishedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageStartEvent?(params: { | ||
| event: TextMessageStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageContentEvent?(params: { | ||
| event: TextMessageContentEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageEndEvent?(params: { | ||
| event: TextMessageEndEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallStartEvent?(params: { | ||
| event: ToolCallStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallArgsEvent?(params: { | ||
| event: ToolCallArgsEvent; | ||
| toolCallBuffer: string; | ||
| toolCallName: string; | ||
| partialToolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallEndEvent?(params: { | ||
| event: ToolCallEndEvent; | ||
| toolCallName: string; | ||
| toolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallResultEvent?(params: { | ||
| event: ToolCallResultEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateSnapshotEvent?(params: { | ||
| event: StateSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateDeltaEvent?(params: { | ||
| event: StateDeltaEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesSnapshotEvent?(params: { | ||
| event: MessagesSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivitySnapshotEvent?(params: { | ||
| event: ActivitySnapshotEvent; | ||
| activityMessage?: ActivityMessage; | ||
| existingMessage?: Message; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivityDeltaEvent?(params: { | ||
| event: ActivityDeltaEvent; | ||
| activityMessage?: ActivityMessage; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRawEvent?(params: { | ||
| event: RawEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onCustomEvent?(params: { | ||
| event: CustomEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningStartEvent?(params: { | ||
| event: ReasoningStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningMessageStartEvent?(params: { | ||
| event: ReasoningMessageStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningMessageContentEvent?(params: { | ||
| event: ReasoningMessageContentEvent; | ||
| reasoningMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningMessageEndEvent?(params: { | ||
| event: ReasoningMessageEndEvent; | ||
| reasoningMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningEndEvent?(params: { | ||
| event: ReasoningEndEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onReasoningEncryptedValueEvent?(params: { | ||
| event: ReasoningEncryptedValueEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onStateChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewMessage?(params: { | ||
| message: Message; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewToolCall?(params: { | ||
| toolCall: ToolCall; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| } | ||
| //#endregion | ||
| //#region src/agent/http.d.ts | ||
| interface RunHttpAgentConfig extends RunAgentParameters { | ||
| abortController?: AbortController; | ||
| abortController?: AbortController; | ||
| } | ||
| declare class HttpAgent extends AbstractAgent { | ||
| url: string; | ||
| headers: Record<string, string>; | ||
| abortController: AbortController; | ||
| /** | ||
| * Returns the fetch config for the http request. | ||
| * Override this to customize the request. | ||
| * | ||
| * @returns The fetch config for the http request. | ||
| */ | ||
| protected requestInit(input: RunAgentInput): RequestInit; | ||
| runAgent(parameters?: RunHttpAgentConfig, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| constructor(config: HttpAgentConfig); | ||
| run(input: RunAgentInput): Observable<BaseEvent>; | ||
| clone(): HttpAgent; | ||
| url: string; | ||
| headers: Record<string, string>; | ||
| abortController: AbortController; | ||
| /** | ||
| * Returns the fetch config for the http request. | ||
| * Override this to customize the request. | ||
| * | ||
| * @returns The fetch config for the http request. | ||
| */ | ||
| protected requestInit(input: RunAgentInput): RequestInit; | ||
| runAgent(parameters?: RunHttpAgentConfig, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| constructor(config: HttpAgentConfig); | ||
| run(input: RunAgentInput): Observable<BaseEvent>; | ||
| clone(): HttpAgent; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/middleware.d.ts | ||
| type MiddlewareFunction = (input: RunAgentInput, next: AbstractAgent) => Observable<BaseEvent>; | ||
| interface EventWithState { | ||
| event: BaseEvent; | ||
| messages: Message[]; | ||
| state: any; | ||
| event: BaseEvent; | ||
| messages: Message[]; | ||
| state: any; | ||
| } | ||
| declare abstract class Middleware { | ||
| abstract run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent in the chain with automatic chunk transformation. | ||
| */ | ||
| protected runNext(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent and tracks state, providing current messages and state with each event. | ||
| * The messages and state represent the state AFTER the event has been applied. | ||
| */ | ||
| protected runNextWithState(input: RunAgentInput, next: AbstractAgent): Observable<EventWithState>; | ||
| abstract run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent in the chain with automatic chunk transformation. | ||
| */ | ||
| protected runNext(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| /** | ||
| * Runs the next agent and tracks state, providing current messages and state with each event. | ||
| * The messages and state represent the state AFTER the event has been applied. | ||
| */ | ||
| protected runNextWithState(input: RunAgentInput, next: AbstractAgent): Observable<EventWithState>; | ||
| } | ||
| declare class FunctionMiddleware extends Middleware { | ||
| private fn; | ||
| constructor(fn: MiddlewareFunction); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private fn; | ||
| constructor(fn: MiddlewareFunction); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/filter-tool-calls.d.ts | ||
| type FilterToolCallsConfig = { | ||
| allowedToolCalls: string[]; | ||
| disallowedToolCalls?: never; | ||
| allowedToolCalls: string[]; | ||
| disallowedToolCalls?: never; | ||
| } | { | ||
| disallowedToolCalls: string[]; | ||
| allowedToolCalls?: never; | ||
| disallowedToolCalls: string[]; | ||
| allowedToolCalls?: never; | ||
| }; | ||
| declare class FilterToolCallsMiddleware extends Middleware { | ||
| private blockedToolCallIds; | ||
| private readonly allowedTools?; | ||
| private readonly disallowedTools?; | ||
| constructor(config: FilterToolCallsConfig); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private shouldFilterTool; | ||
| private blockedToolCallIds; | ||
| private readonly allowedTools?; | ||
| private readonly disallowedTools?; | ||
| constructor(config: FilterToolCallsConfig); | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private shouldFilterTool; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/backward-compatibility-0-0-39.d.ts | ||
| /** | ||
@@ -230,175 +364,103 @@ * Middleware placeholder that maintains compatibility with AG-UI 0.0.39 flows. | ||
| declare class BackwardCompatibility_0_0_39 extends Middleware { | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| } | ||
| //#endregion | ||
| //#region src/middleware/backward-compatibility-0-0-45.d.ts | ||
| /** | ||
| * Middleware that maps deprecated THINKING events to the new REASONING events. | ||
| * | ||
| * This ensures backward compatibility for agents that still emit legacy THINKING | ||
| * events (THINKING_START, THINKING_END, THINKING_TEXT_MESSAGE_START, etc.) | ||
| * by transforming them into the corresponding REASONING events. | ||
| * | ||
| * Event mapping: | ||
| * - THINKING_START → REASONING_START | ||
| * - THINKING_TEXT_MESSAGE_START → REASONING_MESSAGE_START | ||
| * - THINKING_TEXT_MESSAGE_CONTENT → REASONING_MESSAGE_CONTENT | ||
| * - THINKING_TEXT_MESSAGE_END → REASONING_MESSAGE_END | ||
| * - THINKING_END → REASONING_END | ||
| * | ||
| */ | ||
| declare class BackwardCompatibility_0_0_45 extends Middleware { | ||
| private currentReasoningId; | ||
| private currentMessageId; | ||
| private warnAboutTransformation; | ||
| run(input: RunAgentInput, next: AbstractAgent): Observable<BaseEvent>; | ||
| private transformEvent; | ||
| } | ||
| //#endregion | ||
| //#region src/agent/agent.d.ts | ||
| interface RunAgentResult { | ||
| result: any; | ||
| newMessages: Message[]; | ||
| result: any; | ||
| newMessages: Message[]; | ||
| } | ||
| declare abstract class AbstractAgent { | ||
| agentId?: string; | ||
| description: string; | ||
| threadId: string; | ||
| messages: Message[]; | ||
| state: State; | ||
| debug: boolean; | ||
| subscribers: AgentSubscriber[]; | ||
| isRunning: boolean; | ||
| private middlewares; | ||
| private activeRunDetach$?; | ||
| private activeRunCompletionPromise?; | ||
| get maxVersion(): string; | ||
| constructor({ agentId, description, threadId, initialMessages, initialState, debug, }?: AgentConfig); | ||
| subscribe(subscriber: AgentSubscriber): { | ||
| unsubscribe: () => void; | ||
| }; | ||
| abstract run(input: RunAgentInput): Observable<BaseEvent>; | ||
| use(...middlewares: (Middleware | MiddlewareFunction)[]): this; | ||
| runAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| protected connect(input: RunAgentInput): Observable<BaseEvent>; | ||
| protected fetchRunHistory(options: FetchRunHistoryOptions): Promise<FetchRunHistoryResult | undefined>; | ||
| connectAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| detachActiveRun(): Promise<void>; | ||
| protected apply(input: RunAgentInput, events$: Observable<BaseEvent>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected processApplyEvents(input: RunAgentInput, events$: Observable<AgentStateMutation>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected prepareRunAgentInput(parameters?: RunAgentParameters): RunAgentInput; | ||
| protected onInitialize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| protected onError(input: RunAgentInput, error: Error, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected onFinalize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| clone(): any; | ||
| addMessage(message: Message): void; | ||
| addMessages(messages: Message[]): void; | ||
| setMessages(messages: Message[]): void; | ||
| setState(state: State): void; | ||
| legacy_to_be_removed_runAgentBridged(config?: RunAgentParameters): Observable<LegacyRuntimeProtocolEvent>; | ||
| agentId?: string; | ||
| description: string; | ||
| threadId: string; | ||
| messages: Message[]; | ||
| state: State; | ||
| debug: boolean; | ||
| subscribers: AgentSubscriber[]; | ||
| isRunning: boolean; | ||
| private middlewares; | ||
| private activeRunDetach$?; | ||
| private activeRunCompletionPromise?; | ||
| get maxVersion(): string; | ||
| constructor({ | ||
| agentId, | ||
| description, | ||
| threadId, | ||
| initialMessages, | ||
| initialState, | ||
| debug | ||
| }?: AgentConfig); | ||
| subscribe(subscriber: AgentSubscriber): { | ||
| unsubscribe: () => void; | ||
| }; | ||
| abstract run(input: RunAgentInput): Observable<BaseEvent>; | ||
| use(...middlewares: (Middleware | MiddlewareFunction)[]): this; | ||
| runAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| protected connect(input: RunAgentInput): Observable<BaseEvent>; | ||
| connectAgent(parameters?: RunAgentParameters, subscriber?: AgentSubscriber): Promise<RunAgentResult>; | ||
| abortRun(): void; | ||
| detachActiveRun(): Promise<void>; | ||
| protected apply(input: RunAgentInput, events$: Observable<BaseEvent>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected processApplyEvents(input: RunAgentInput, events$: Observable<AgentStateMutation>, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected prepareRunAgentInput(parameters?: RunAgentParameters): RunAgentInput; | ||
| protected onInitialize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| protected onError(input: RunAgentInput, error: Error, subscribers: AgentSubscriber[]): Observable<AgentStateMutation>; | ||
| protected onFinalize(input: RunAgentInput, subscribers: AgentSubscriber[]): Promise<void>; | ||
| clone(): any; | ||
| addMessage(message: Message): void; | ||
| addMessages(messages: Message[]): void; | ||
| setMessages(messages: Message[]): void; | ||
| setState(state: State): void; | ||
| legacy_to_be_removed_runAgentBridged(config?: RunAgentParameters): Observable<LegacyRuntimeProtocolEvent>; | ||
| } | ||
| interface AgentStateMutation { | ||
| messages?: Message[]; | ||
| state?: State; | ||
| stopPropagation?: boolean; | ||
| } | ||
| interface AgentSubscriberParams { | ||
| messages: Message[]; | ||
| state: State; | ||
| agent: AbstractAgent; | ||
| input: RunAgentInput; | ||
| } | ||
| type MaybePromise<T> = T | Promise<T>; | ||
| interface AgentSubscriber { | ||
| onRunInitialized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFailed?(params: { | ||
| error: Error; | ||
| } & AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onRunFinalized?(params: AgentSubscriberParams): MaybePromise<Omit<AgentStateMutation, "stopPropagation"> | void>; | ||
| onEvent?(params: { | ||
| event: BaseEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunStartedEvent?(params: { | ||
| event: RunStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunFinishedEvent?(params: { | ||
| event: RunFinishedEvent; | ||
| result?: any; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRunErrorEvent?(params: { | ||
| event: RunErrorEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepStartedEvent?(params: { | ||
| event: StepStartedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStepFinishedEvent?(params: { | ||
| event: StepFinishedEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageStartEvent?(params: { | ||
| event: TextMessageStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageContentEvent?(params: { | ||
| event: TextMessageContentEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onTextMessageEndEvent?(params: { | ||
| event: TextMessageEndEvent; | ||
| textMessageBuffer: string; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallStartEvent?(params: { | ||
| event: ToolCallStartEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallArgsEvent?(params: { | ||
| event: ToolCallArgsEvent; | ||
| toolCallBuffer: string; | ||
| toolCallName: string; | ||
| partialToolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallEndEvent?(params: { | ||
| event: ToolCallEndEvent; | ||
| toolCallName: string; | ||
| toolCallArgs: Record<string, any>; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onToolCallResultEvent?(params: { | ||
| event: ToolCallResultEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateSnapshotEvent?(params: { | ||
| event: StateSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onStateDeltaEvent?(params: { | ||
| event: StateDeltaEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesSnapshotEvent?(params: { | ||
| event: MessagesSnapshotEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivitySnapshotEvent?(params: { | ||
| event: ActivitySnapshotEvent; | ||
| activityMessage?: ActivityMessage; | ||
| existingMessage?: Message; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onActivityDeltaEvent?(params: { | ||
| event: ActivityDeltaEvent; | ||
| activityMessage?: ActivityMessage; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onRawEvent?(params: { | ||
| event: RawEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onCustomEvent?(params: { | ||
| event: CustomEvent; | ||
| } & AgentSubscriberParams): MaybePromise<AgentStateMutation | void>; | ||
| onMessagesChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onStateChanged?(params: Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewMessage?(params: { | ||
| message: Message; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| onNewToolCall?(params: { | ||
| toolCall: ToolCall; | ||
| } & Omit<AgentSubscriberParams, "input"> & { | ||
| input?: RunAgentInput; | ||
| }): MaybePromise<void>; | ||
| } | ||
| //#endregion | ||
| //#region src/apply/default.d.ts | ||
| declare const defaultApplyEvents: (input: RunAgentInput, events$: Observable<BaseEvent>, agent: AbstractAgent, subscribers: AgentSubscriber[]) => Observable<AgentStateMutation>; | ||
| //#endregion | ||
| //#region src/verify/verify.d.ts | ||
| declare const verifyEvents: (debug: boolean) => (source$: Observable<BaseEvent>) => Observable<BaseEvent>; | ||
| //#endregion | ||
| //#region src/run/http-request.d.ts | ||
| declare enum HttpEventType { | ||
| HEADERS = "headers", | ||
| DATA = "data" | ||
| HEADERS = "headers", | ||
| DATA = "data" | ||
| } | ||
| interface HttpDataEvent { | ||
| type: HttpEventType.DATA; | ||
| data?: Uint8Array; | ||
| type: HttpEventType.DATA; | ||
| data?: Uint8Array; | ||
| } | ||
| interface HttpHeadersEvent { | ||
| type: HttpEventType.HEADERS; | ||
| status: number; | ||
| headers: Headers; | ||
| type: HttpEventType.HEADERS; | ||
| status: number; | ||
| headers: Headers; | ||
| } | ||
| type HttpEvent = HttpDataEvent | HttpHeadersEvent; | ||
| declare const runHttpRequest: (url: string, requestInit: RequestInit) => Observable<HttpEvent>; | ||
| //#endregion | ||
| //#region src/transform/http.d.ts | ||
| /** | ||
@@ -408,3 +470,4 @@ * Transforms HTTP events into BaseEvents using the appropriate format parser based on content type. | ||
| declare const transformHttpEventStream: (source$: Observable<HttpEvent>) => Observable<BaseEvent>; | ||
| //#endregion | ||
| //#region src/transform/sse.d.ts | ||
| /** | ||
@@ -419,3 +482,4 @@ * Parses a stream of HTTP events into a stream of JSON objects using Server-Sent Events (SSE) format. | ||
| declare const parseSSEStream: (source$: Observable<HttpEvent>) => Observable<any>; | ||
| //#endregion | ||
| //#region src/transform/proto.d.ts | ||
| /** | ||
@@ -427,5 +491,7 @@ * Parses a stream of HTTP events into a stream of BaseEvent objects using Protocol Buffer format. | ||
| declare const parseProtoStream: (source$: Observable<HttpEvent>) => Observable<BaseEvent>; | ||
| //#endregion | ||
| //#region src/legacy/convert.d.ts | ||
| declare const convertToLegacyEvents: (threadId: string, runId: string, agentName: string) => (events$: Observable<BaseEvent>) => Observable<LegacyRuntimeProtocolEvent>; | ||
| //#endregion | ||
| //#region src/utils.d.ts | ||
| declare const structuredClone_: <T>(obj: T) => T; | ||
@@ -437,3 +503,4 @@ /** | ||
| declare function randomUUID(): string; | ||
| //#endregion | ||
| //#region src/compact/compact.d.ts | ||
| /** | ||
@@ -449,5 +516,7 @@ * Compacts streaming events by consolidating multiple deltas into single events. | ||
| declare function compactEvents(events: BaseEvent[]): BaseEvent[]; | ||
| //#endregion | ||
| //#region src/chunks/transform.d.ts | ||
| declare const transformChunks: (debug: boolean) => (events$: Observable<BaseEvent>) => Observable<BaseEvent>; | ||
| export { AbstractAgent, type AgentConfig, type AgentStateMutation, type AgentSubscriber, type AgentSubscriberParams, BackwardCompatibility_0_0_39, FilterToolCallsMiddleware, FunctionMiddleware, HttpAgent, type HttpAgentConfig, Middleware, type MiddlewareFunction, type RunAgentParameters, type RunAgentResult, compactEvents, convertToLegacyEvents, defaultApplyEvents, parseProtoStream, parseSSEStream, randomUUID, runHttpRequest, structuredClone_, transformChunks, transformHttpEventStream, verifyEvents }; | ||
| //#endregion | ||
| export { AbstractAgent, AgentConfig, AgentStateMutation, AgentSubscriber, AgentSubscriberParams, BackwardCompatibility_0_0_39, BackwardCompatibility_0_0_45, FilterToolCallsMiddleware, FunctionMiddleware, HttpAgent, HttpAgentConfig, Middleware, type MiddlewareFunction, RunAgentParameters, RunAgentResult, compactEvents, convertToLegacyEvents, defaultApplyEvents, parseProtoStream, parseSSEStream, randomUUID, runHttpRequest, structuredClone_, transformChunks, transformHttpEventStream, verifyEvents }; | ||
| //# sourceMappingURL=index.d.ts.map |
+4
-7
@@ -1,8 +0,5 @@ | ||
| "use strict";var Kt=Object.create;var tt=Object.defineProperty,Jt=Object.defineProperties,Vt=Object.getOwnPropertyDescriptor,Wt=Object.getOwnPropertyDescriptors,Yt=Object.getOwnPropertyNames,st=Object.getOwnPropertySymbols,qt=Object.getPrototypeOf,Tt=Object.prototype.hasOwnProperty,Ct=Object.prototype.propertyIsEnumerable;var Mt=(i,s,e)=>s in i?tt(i,s,{enumerable:!0,configurable:!0,writable:!0,value:e}):i[s]=e,L=(i,s)=>{for(var e in s||(s={}))Tt.call(s,e)&&Mt(i,e,s[e]);if(st)for(var e of st(s))Ct.call(s,e)&&Mt(i,e,s[e]);return i},b=(i,s)=>Jt(i,Wt(s));var Rt=(i,s)=>{var e={};for(var n in i)Tt.call(i,n)&&s.indexOf(n)<0&&(e[n]=i[n]);if(i!=null&&st)for(var n of st(i))s.indexOf(n)<0&&Ct.call(i,n)&&(e[n]=i[n]);return e};var Qt=(i,s)=>{for(var e in s)tt(i,e,{get:s[e],enumerable:!0})},at=(i,s,e,n)=>{if(s&&typeof s=="object"||typeof s=="function")for(let t of Yt(s))!Tt.call(i,t)&&t!==e&&tt(i,t,{get:()=>s[t],enumerable:!(n=Vt(s,t))||n.enumerable});return i},D=(i,s,e)=>(at(i,s,"default"),e&&at(e,s,"default")),ot=(i,s,e)=>(e=i!=null?Kt(qt(i)):{},at(s||!i||!i.__esModule?tt(e,"default",{value:i,enumerable:!0}):e,i)),Zt=i=>at(tt({},"__esModule",{value:!0}),i);var P={};Qt(P,{AbstractAgent:()=>Q,BackwardCompatibility_0_0_39:()=>Y,FilterToolCallsMiddleware:()=>nt,FunctionMiddleware:()=>W,HttpAgent:()=>mt,Middleware:()=>U,compactEvents:()=>zt,convertToLegacyEvents:()=>Et,defaultApplyEvents:()=>J,parseProtoStream:()=>ct,parseSSEStream:()=>gt,randomUUID:()=>te,runHttpRequest:()=>lt,structuredClone_:()=>M,transformChunks:()=>$,transformHttpEventStream:()=>dt,verifyEvents:()=>V});module.exports=Zt(P);var x=require("@ag-ui/core"),K=require("rxjs/operators"),rt=require("rxjs");var xt=require("uuid");var M=i=>{if(typeof structuredClone=="function")return structuredClone(i);try{return JSON.parse(JSON.stringify(i))}catch(s){return L({},i)}};function te(){return(0,xt.v4)()}var St=require("fast-json-patch");async function N(i,s,e,n){let t=s,a=e,r;for(let o of i)try{let l=await n(o,M(t),M(a));if(l===void 0)continue;if(l.messages!==void 0&&(t=l.messages),l.state!==void 0&&(a=l.state),r=l.stopPropagation,r===!0)break}catch(l){process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0||console.error("Subscriber error:",l);continue}return L(L(L({},JSON.stringify(t)!==JSON.stringify(s)?{messages:t}:{}),JSON.stringify(a)!==JSON.stringify(e)?{state:a}:{}),r!==void 0?{stopPropagation:r}:{})}var It=ot(require("untruncate-json"));var J=(i,s,e,n)=>{let t=M(e.messages),a=M(i.state),r={},o=E=>{E.messages!==void 0&&(t=E.messages,r.messages=E.messages),E.state!==void 0&&(a=E.state,r.state=E.state)},l=()=>{let E=M(r);return r={},E.messages!==void 0||E.state!==void 0?(0,rt.of)(E):rt.EMPTY};return s.pipe((0,K.concatMap)(async E=>{var T,h,c,F,z;let _=await N(n,t,a,(d,g,p)=>{var m;return(m=d.onEvent)==null?void 0:m.call(d,{event:E,agent:e,input:i,messages:g,state:p})});if(o(_),_.stopPropagation===!0)return l();switch(E.type){case x.EventType.TEXT_MESSAGE_START:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onTextMessageStartEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let{messageId:g,role:p="assistant"}=E;if(!t.find(u=>u.id===g)){let u={id:g,role:p,content:""};t.push(u),o({messages:t})}}return l()}case x.EventType.TEXT_MESSAGE_CONTENT:{let{messageId:d,delta:g}=E,p=t.find(u=>u.id===d);if(!p)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${d}'`),l();let m=await N(n,t,a,(u,y,C)=>{var w;return(w=u.onTextMessageContentEvent)==null?void 0:w.call(u,{event:E,messages:y,state:C,agent:e,input:i,textMessageBuffer:typeof p.content=="string"?p.content:""})});if(o(m),m.stopPropagation!==!0){let u=typeof p.content=="string"?p.content:"";p.content=`${u}${g}`,o({messages:t})}return l()}case x.EventType.TEXT_MESSAGE_END:{let{messageId:d}=E,g=t.find(m=>m.id===d);if(!g)return console.warn(`TEXT_MESSAGE_END: No message found with ID '${d}'`),l();let p=await N(n,t,a,(m,u,y)=>{var C;return(C=m.onTextMessageEndEvent)==null?void 0:C.call(m,{event:E,messages:u,state:y,agent:e,input:i,textMessageBuffer:typeof g.content=="string"?g.content:""})});return o(p),await Promise.all(n.map(m=>{var u;(u=m.onNewMessage)==null||u.call(m,{message:g,messages:t,state:a,agent:e,input:i})})),l()}case x.EventType.TOOL_CALL_START:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onToolCallStartEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let{toolCallId:g,toolCallName:p,parentMessageId:m}=E,u;m&&t.length>0&&t[t.length-1].id===m?u=t[t.length-1]:(u={id:m||g,role:"assistant",toolCalls:[]},t.push(u)),(T=u.toolCalls)!=null||(u.toolCalls=[]),u.toolCalls.push({id:g,type:"function",function:{name:p,arguments:""}}),o({messages:t})}return l()}case x.EventType.TOOL_CALL_ARGS:{let{toolCallId:d,delta:g}=E,p=t.find(y=>{var C;return(C=y.toolCalls)==null?void 0:C.some(w=>w.id===d)});if(!p)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${d}'`),l();let m=p.toolCalls.find(y=>y.id===d);if(!m)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${d}'`),l();let u=await N(n,t,a,(y,C,w)=>{var ft;let H=m.function.arguments,k=m.function.name,Z={};try{Z=(0,It.default)(H)}catch(fe){}return(ft=y.onToolCallArgsEvent)==null?void 0:ft.call(y,{event:E,messages:C,state:w,agent:e,input:i,toolCallBuffer:H,toolCallName:k,partialToolCallArgs:Z})});return o(u),u.stopPropagation!==!0&&(m.function.arguments+=g,o({messages:t})),l()}case x.EventType.TOOL_CALL_END:{let{toolCallId:d}=E,g=t.find(u=>{var y;return(y=u.toolCalls)==null?void 0:y.some(C=>C.id===d)});if(!g)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${d}'`),l();let p=g.toolCalls.find(u=>u.id===d);if(!p)return console.warn(`TOOL_CALL_END: No tool call found with ID '${d}'`),l();let m=await N(n,t,a,(u,y,C)=>{var Z;let w=p.function.arguments,H=p.function.name,k={};try{k=JSON.parse(w)}catch(ft){}return(Z=u.onToolCallEndEvent)==null?void 0:Z.call(u,{event:E,messages:y,state:C,agent:e,input:i,toolCallName:H,toolCallArgs:k})});return o(m),await Promise.all(n.map(u=>{var y;(y=u.onNewToolCall)==null||y.call(u,{toolCall:p,messages:t,state:a,agent:e,input:i})})),l()}case x.EventType.TOOL_CALL_RESULT:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onToolCallResultEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let{messageId:g,toolCallId:p,content:m,role:u}=E,y={id:g,toolCallId:p,role:u||"tool",content:m};t.push(y),await Promise.all(n.map(C=>{var w;(w=C.onNewMessage)==null||w.call(C,{message:y,messages:t,state:a,agent:e,input:i})})),o({messages:t})}return l()}case x.EventType.STATE_SNAPSHOT:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onStateSnapshotEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let{snapshot:g}=E;a=g,o({state:a})}return l()}case x.EventType.STATE_DELTA:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onStateDeltaEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let{delta:g}=E;try{a=(0,St.applyPatch)(a,g,!0,!1).newDocument,o({state:a})}catch(p){let m=p instanceof Error?p.message:String(p);console.warn(`Failed to apply state patch: | ||
| Current state: ${JSON.stringify(a,null,2)} | ||
| Patch operations: ${JSON.stringify(g,null,2)} | ||
| Error: ${m}`)}}return l()}case x.EventType.MESSAGES_SNAPSHOT:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onMessagesSnapshotEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let{messages:g}=E;t=g,o({messages:t})}return l()}case x.EventType.ACTIVITY_SNAPSHOT:{let d=E,g=t.findIndex(C=>C.id===d.messageId),p=g>=0?t[g]:void 0,m=(p==null?void 0:p.role)==="activity"?p:void 0,u=(h=d.replace)!=null?h:!0,y=await N(n,t,a,(C,w,H)=>{var k;return(k=C.onActivitySnapshotEvent)==null?void 0:k.call(C,{event:d,messages:w,state:H,agent:e,input:i,activityMessage:m,existingMessage:p})});if(o(y),y.stopPropagation!==!0){let C={id:d.messageId,role:"activity",activityType:d.activityType,content:M(d.content)},w;g===-1?(t.push(C),w=C):m?u&&(t[g]=b(L({},m),{activityType:d.activityType,content:M(d.content)})):u&&(t[g]=C,w=C),o({messages:t}),w&&await Promise.all(n.map(H=>{var k;return(k=H.onNewMessage)==null?void 0:k.call(H,{message:w,messages:t,state:a,agent:e,input:i})}))}return l()}case x.EventType.ACTIVITY_DELTA:{let d=E,g=t.findIndex(y=>y.id===d.messageId);if(g===-1)return console.warn(`ACTIVITY_DELTA: No message found with ID '${d.messageId}' to apply patch`),l();let p=t[g];if(p.role!=="activity")return console.warn(`ACTIVITY_DELTA: Message '${d.messageId}' is not an activity message`),l();let m=p,u=await N(n,t,a,(y,C,w)=>{var H;return(H=y.onActivityDeltaEvent)==null?void 0:H.call(y,{event:d,messages:C,state:w,agent:e,input:i,activityMessage:m})});if(o(u),u.stopPropagation!==!0)try{let y=M((c=m.content)!=null?c:{}),w=(0,St.applyPatch)(y,(F=d.patch)!=null?F:[],!0,!1).newDocument;t[g]=b(L({},m),{content:M(w),activityType:d.activityType}),o({messages:t})}catch(y){let C=y instanceof Error?y.message:String(y);console.warn(`Failed to apply activity patch for '${d.messageId}': ${C}`)}return l()}case x.EventType.RAW:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onRawEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});return o(d),l()}case x.EventType.CUSTOM:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onCustomEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});return o(d),l()}case x.EventType.RUN_STARTED:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onRunStartedEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});if(o(d),d.stopPropagation!==!0){let g=E;if((z=g.input)!=null&&z.messages){for(let p of g.input.messages)t.find(u=>u.id===p.id)||t.push(p);o({messages:t})}}return l()}case x.EventType.RUN_FINISHED:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onRunFinishedEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i,result:E.result})});return o(d),l()}case x.EventType.RUN_ERROR:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onRunErrorEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});return o(d),l()}case x.EventType.STEP_STARTED:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onStepStartedEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});return o(d),l()}case x.EventType.STEP_FINISHED:{let d=await N(n,t,a,(g,p,m)=>{var u;return(u=g.onStepFinishedEvent)==null?void 0:u.call(g,{event:E,messages:p,state:m,agent:e,input:i})});return o(d),l()}case x.EventType.TEXT_MESSAGE_CHUNK:throw new Error("TEXT_MESSAGE_CHUNK must be tranformed before being applied");case x.EventType.TOOL_CALL_CHUNK:throw new Error("TOOL_CALL_CHUNK must be tranformed before being applied");case x.EventType.THINKING_START:return l();case x.EventType.THINKING_END:return l();case x.EventType.THINKING_TEXT_MESSAGE_START:return l();case x.EventType.THINKING_TEXT_MESSAGE_CONTENT:return l();case x.EventType.THINKING_TEXT_MESSAGE_END:return l()}let v=E.type;return l()}),(0,K.mergeAll)(),n.length>0?(0,K.defaultIfEmpty)({}):E=>E)};var S=require("@ag-ui/core"),A=require("rxjs"),_t=require("rxjs/operators"),V=i=>s=>{let e=new Map,n=new Map,t=!1,a=!1,r=!1,o=new Map,l=!1,E=!1,_=!1,v=()=>{e.clear(),n.clear(),o.clear(),l=!1,E=!1,t=!1,a=!1,_=!0};return s.pipe((0,_t.mergeMap)(T=>{let h=T.type;if(i&&console.debug("[VERIFY]:",JSON.stringify(T)),a)return(0,A.throwError)(()=>new S.AGUIError(`Cannot send event type '${h}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(t&&h!==S.EventType.RUN_ERROR&&h!==S.EventType.RUN_STARTED)return(0,A.throwError)(()=>new S.AGUIError(`Cannot send event type '${h}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(r){if(h===S.EventType.RUN_STARTED){if(_&&!t)return(0,A.throwError)(()=>new S.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&&v()}}else if(r=!0,h!==S.EventType.RUN_STARTED&&h!==S.EventType.RUN_ERROR)return(0,A.throwError)(()=>new S.AGUIError("First event must be 'RUN_STARTED'"));switch(h){case S.EventType.TEXT_MESSAGE_START:{let c=T.messageId;return e.has(c)?(0,A.throwError)(()=>new S.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,A.of)(T))}case S.EventType.TEXT_MESSAGE_CONTENT:{let c=T.messageId;return e.has(c)?(0,A.of)(T):(0,A.throwError)(()=>new S.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 S.EventType.TEXT_MESSAGE_END:{let c=T.messageId;return e.has(c)?(e.delete(c),(0,A.of)(T)):(0,A.throwError)(()=>new S.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 S.EventType.TOOL_CALL_START:{let c=T.toolCallId;return n.has(c)?(0,A.throwError)(()=>new S.AGUIError(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${c}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(n.set(c,!0),(0,A.of)(T))}case S.EventType.TOOL_CALL_ARGS:{let c=T.toolCallId;return n.has(c)?(0,A.of)(T):(0,A.throwError)(()=>new S.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 S.EventType.TOOL_CALL_END:{let c=T.toolCallId;return n.has(c)?(n.delete(c),(0,A.of)(T)):(0,A.throwError)(()=>new S.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 S.EventType.STEP_STARTED:{let c=T.stepName;return o.has(c)?(0,A.throwError)(()=>new S.AGUIError(`Step "${c}" is already active for 'STEP_STARTED'`)):(o.set(c,!0),(0,A.of)(T))}case S.EventType.STEP_FINISHED:{let c=T.stepName;return o.has(c)?(o.delete(c),(0,A.of)(T)):(0,A.throwError)(()=>new S.AGUIError(`Cannot send 'STEP_FINISHED' for step "${c}" that was not started`))}case S.EventType.RUN_STARTED:return _=!0,(0,A.of)(T);case S.EventType.RUN_FINISHED:{if(o.size>0){let c=Array.from(o.keys()).join(", ");return(0,A.throwError)(()=>new S.AGUIError(`Cannot send 'RUN_FINISHED' while steps are still active: ${c}`))}if(e.size>0){let c=Array.from(e.keys()).join(", ");return(0,A.throwError)(()=>new S.AGUIError(`Cannot send 'RUN_FINISHED' while text messages are still active: ${c}`))}if(n.size>0){let c=Array.from(n.keys()).join(", ");return(0,A.throwError)(()=>new S.AGUIError(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${c}`))}return t=!0,(0,A.of)(T)}case S.EventType.RUN_ERROR:return a=!0,(0,A.of)(T);case S.EventType.CUSTOM:return(0,A.of)(T);case S.EventType.THINKING_TEXT_MESSAGE_START:return l?E?(0,A.throwError)(()=>new S.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.")):(E=!0,(0,A.of)(T)):(0,A.throwError)(()=>new S.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first."));case S.EventType.THINKING_TEXT_MESSAGE_CONTENT:return E?(0,A.of)(T):(0,A.throwError)(()=>new S.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first."));case S.EventType.THINKING_TEXT_MESSAGE_END:return E?(E=!1,(0,A.of)(T)):(0,A.throwError)(()=>new S.AGUIError("Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first."));case S.EventType.THINKING_START:return l?(0,A.throwError)(()=>new S.AGUIError("Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.")):(l=!0,(0,A.of)(T));case S.EventType.THINKING_END:return l?(l=!1,(0,A.of)(T)):(0,A.throwError)(()=>new S.AGUIError("Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first."));default:return(0,A.of)(T)}}))};var Ot=require("@ag-ui/core"),ut=require("rxjs");var B=require("rxjs"),it=require("rxjs/operators");var lt=(i,s)=>(0,B.defer)(()=>(0,B.from)(fetch(i,s))).pipe((0,it.switchMap)(e=>{var a;if(!e.ok){let r=e.headers.get("content-type")||"";return(0,B.from)(e.text()).pipe((0,it.mergeMap)(o=>{let l=o;if(r.includes("application/json"))try{l=JSON.parse(o)}catch(_){}let E=new Error(`HTTP ${e.status}: ${typeof l=="string"?l:JSON.stringify(l)}`);return E.status=e.status,E.payload=l,(0,B.throwError)(()=>E)}))}let n={type:"headers",status:e.status,headers:e.headers},t=(a=e.body)==null?void 0:a.getReader();return t?new B.Observable(r=>(r.next(n),(async()=>{try{for(;;){let{done:o,value:l}=await t.read();if(o)break;let E={type:"data",data:l};r.next(E)}r.complete()}catch(o){r.error(o)}})(),()=>{t.cancel().catch(o=>{if((o==null?void 0:o.name)!=="AbortError")throw o})})):(0,B.throwError)(()=>new Error("Failed to getReader() from response"))}));var Nt=require("rxjs");var gt=i=>{let s=new Nt.Subject,e=new TextDecoder("utf-8",{fatal:!1}),n="";i.subscribe({next:a=>{if(a.type!=="headers"&&a.type==="data"&&a.data){let r=e.decode(a.data,{stream:!0});n+=r;let o=n.split(/\n\n/);n=o.pop()||"";for(let l of o)t(l)}},error:a=>s.error(a),complete:()=>{n&&(n+=e.decode(),t(n)),s.complete()}});function t(a){let r=a.split(` | ||
| `),o=[];for(let l of r)l.startsWith("data:")&&o.push(l.slice(5).replace(/^ /,""));if(o.length>0)try{let l=o.join(` | ||
| `),E=JSON.parse(l);s.next(E)}catch(l){s.error(l)}}return s.asObservable()};var wt=require("rxjs");var Lt=ot(require("@ag-ui/proto")),ct=i=>{let s=new wt.Subject,e=new Uint8Array(0);i.subscribe({next:t=>{if(t.type!=="headers"&&t.type==="data"&&t.data){let a=new Uint8Array(e.length+t.data.length);a.set(e,0),a.set(t.data,e.length),e=a,n()}},error:t=>s.error(t),complete:()=>{if(e.length>0)try{n()}catch(t){console.warn("Incomplete or invalid protocol buffer data at stream end")}s.complete()}});function n(){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),l=Lt.decode(o);s.next(l),e=e.slice(r)}catch(o){let l=o instanceof Error?o.message:String(o);s.error(new Error(`Failed to decode protocol buffer message: ${l}`));return}}}return s.asObservable()};var Pt=ot(require("@ag-ui/proto")),Dt=require("@ag-ui/core"),dt=i=>{let s=new ut.Subject,e=new ut.ReplaySubject,n=!1;return i.subscribe({next:t=>{e.next(t),t.type==="headers"&&!n?(n=!0,t.headers.get("content-type")===Pt.AGUI_MEDIA_TYPE?ct(e).subscribe({next:r=>s.next(r),error:r=>s.error(r),complete:()=>s.complete()}):gt(e).subscribe({next:r=>{try{let o=Ot.EventSchemas.parse(r);s.next(o)}catch(o){s.error(o)}},error:r=>{if((r==null?void 0:r.name)==="AbortError"){s.next({type:Dt.EventType.RUN_ERROR,message:r.message||"Request aborted",code:"abort",rawEvent:r}),s.complete();return}return s.error(r)},complete:()=>s.complete()})):n||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 Ht=require("rxjs/operators"),Gt=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"]),ee=f.z.enum(["LangGraphInterruptEvent","PredictState","Exit"]),ne=f.z.object({type:f.z.literal(I.enum.TextMessageStart),messageId:f.z.string(),parentMessageId:f.z.string().optional(),role:f.z.string().optional()}),se=f.z.object({type:f.z.literal(I.enum.TextMessageContent),messageId:f.z.string(),content:f.z.string()}),ae=f.z.object({type:f.z.literal(I.enum.TextMessageEnd),messageId:f.z.string()}),oe=f.z.object({type:f.z.literal(I.enum.ActionExecutionStart),actionExecutionId:f.z.string(),actionName:f.z.string(),parentMessageId:f.z.string().optional()}),re=f.z.object({type:f.z.literal(I.enum.ActionExecutionArgs),actionExecutionId:f.z.string(),args:f.z.string()}),ie=f.z.object({type:f.z.literal(I.enum.ActionExecutionEnd),actionExecutionId:f.z.string()}),le=f.z.object({type:f.z.literal(I.enum.ActionExecutionResult),actionName:f.z.string(),actionExecutionId:f.z.string(),result:f.z.string()}),ge=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()}),ce=f.z.object({type:f.z.literal(I.enum.MetaEvent),name:ee,value:f.z.any()}),ue=f.z.object({type:f.z.literal(I.enum.RunError),message:f.z.string(),code:f.z.string().optional()}),_n=f.z.discriminatedUnion("type",[ne,se,ae,oe,re,ie,le,ge,ce,ue]),Nn=f.z.object({id:f.z.string(),role:f.z.string(),content:f.z.string(),parentMessageId:f.z.string().optional()}),wn=f.z.object({id:f.z.string(),name:f.z.string(),arguments:f.z.any(),parentMessageId:f.z.string().optional()}),Ln=f.z.object({id:f.z.string(),result:f.z.any(),actionExecutionId:f.z.string(),actionName:f.z.string()});var bt=ot(require("untruncate-json"));var de=i=>{if(typeof i=="string")return i;if(!Array.isArray(i))return;let s=i.filter(e=>e.type==="text").map(e=>e.text).filter(e=>e.length>0);if(s.length!==0)return s.join(` | ||
| `)},Et=(i,s,e)=>n=>{let t={},a=!0,r=!0,o="",l=null,E=null,_=[],v={},T=h=>{typeof h=="object"&&h!==null&&("messages"in h&&delete h.messages,t=h)};return n.pipe((0,Ht.mergeMap)(h=>{switch(h.type){case O.EventType.TEXT_MESSAGE_START:{let c=h;return[{type:I.enum.TextMessageStart,messageId:c.messageId,role:c.role}]}case O.EventType.TEXT_MESSAGE_CONTENT:{let c=h;return[{type:I.enum.TextMessageContent,messageId:c.messageId,content:c.delta}]}case O.EventType.TEXT_MESSAGE_END:{let c=h;return[{type:I.enum.TextMessageEnd,messageId:c.messageId}]}case O.EventType.TOOL_CALL_START:{let c=h;return _.push({id:c.toolCallId,type:"function",function:{name:c.toolCallName,arguments:""}}),r=!0,v[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=h,F=_.find(d=>d.id===c.toolCallId);if(!F)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${c.toolCallId}'`),[];F.function.arguments+=c.delta;let z=!1;if(E){let d=E.find(g=>g.tool==F.function.name);if(d)try{let g=JSON.parse((0,bt.default)(F.function.arguments));d.tool_argument&&d.tool_argument in g?(T(b(L({},t),{[d.state_key]:g[d.tool_argument]})),z=!0):d.tool_argument||(T(b(L({},t),{[d.state_key]:g})),z=!0)}catch(g){}}return[{type:I.enum.ActionExecutionArgs,actionExecutionId:c.toolCallId,args:c.delta},...z?[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(t),active:r}]:[]]}case O.EventType.TOOL_CALL_END:{let c=h;return[{type:I.enum.ActionExecutionEnd,actionExecutionId:c.toolCallId}]}case O.EventType.TOOL_CALL_RESULT:{let c=h;return[{type:I.enum.ActionExecutionResult,actionExecutionId:c.toolCallId,result:c.content,actionName:v[c.toolCallId]||"unknown"}]}case O.EventType.RAW:return[];case O.EventType.CUSTOM:{let c=h;switch(c.name){case"Exit":a=!1;break;case"PredictState":E=c.value;break}return[{type:I.enum.MetaEvent,name:c.name,value:c.value}]}case O.EventType.STATE_SNAPSHOT:return T(h.snapshot),[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(t),active:r}];case O.EventType.STATE_DELTA:{let F=(0,Gt.applyPatch)(t,h.delta,!0,!1);return F?(T(F.newDocument),[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(t),active:r}]):[]}case O.EventType.MESSAGES_SNAPSHOT:return l=h.messages,[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(L(L({},t),l?{messages:l}:{})),active:!0}];case O.EventType.RUN_STARTED:return[];case O.EventType.RUN_FINISHED:return l&&(t.messages=l),Object.keys(t).length===0?[]:[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(L(L({},t),l?{messages:Ee(l)}:{})),active:!1}];case O.EventType.RUN_ERROR:{let c=h;return[{type:I.enum.RunError,message:c.message,code:c.code}]}case O.EventType.STEP_STARTED:return o=h.stepName,_=[],E=null,[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(t),active:!0}];case O.EventType.STEP_FINISHED:return _=[],E=null,[{type:I.enum.AgentStateMessage,threadId:i,agentName:e,nodeName:o,runId:s,running:a,role:"assistant",state:JSON.stringify(t),active:!1}];default:return[]}}))};function Ee(i){var e;let s=[];for(let n of i)if(n.role==="assistant"||n.role==="user"||n.role==="system"){let t=de(n.content);if(t){let a={id:n.id,role:n.role,content:t};s.push(a)}if(n.role==="assistant"&&n.toolCalls&&n.toolCalls.length>0)for(let a of n.toolCalls){let r={id:a.id,name:a.function.name,arguments:JSON.parse(a.function.arguments),parentMessageId:n.id};s.push(r)}}else if(n.role==="tool"){let t="unknown";for(let r of i)if(r.role==="assistant"&&((e=r.toolCalls)!=null&&e.length)){for(let o of r.toolCalls)if(o.id===n.toolCallId){t=o.function.name;break}}let a={id:n.id,result:n.content,actionExecutionId:n.toolCallId,actionName:t};s.push(a)}return s}var q=require("uuid");var jt=require("compare-versions"),X=require("rxjs/operators"),vt=require("rxjs/operators"),At=require("rxjs/operators"),G=require("rxjs");var ht=require("rxjs");var pt=require("rxjs"),R=require("@ag-ui/core"),$=i=>s=>{let e,n,t,a=()=>{if(!e||t!=="text")throw new Error("No text message to close");let l={type:R.EventType.TEXT_MESSAGE_END,messageId:e.messageId};return t=void 0,e=void 0,i&&console.debug("[TRANSFORM]: TEXT_MESSAGE_END",JSON.stringify(l)),l},r=()=>{if(!n||t!=="tool")throw new Error("No tool call to close");let l={type:R.EventType.TOOL_CALL_END,toolCallId:n.toolCallId};return t=void 0,n=void 0,i&&console.debug("[TRANSFORM]: TOOL_CALL_END",JSON.stringify(l)),l},o=()=>t==="text"?[a()]:t==="tool"?[r()]:[];return s.pipe((0,pt.mergeMap)(l=>{switch(l.type){case R.EventType.TEXT_MESSAGE_START:case R.EventType.TEXT_MESSAGE_CONTENT:case R.EventType.TEXT_MESSAGE_END:case R.EventType.TOOL_CALL_START:case R.EventType.TOOL_CALL_ARGS:case R.EventType.TOOL_CALL_END:case R.EventType.TOOL_CALL_RESULT:case R.EventType.STATE_SNAPSHOT:case R.EventType.STATE_DELTA:case R.EventType.MESSAGES_SNAPSHOT:case R.EventType.CUSTOM:case R.EventType.RUN_STARTED:case R.EventType.RUN_FINISHED:case R.EventType.RUN_ERROR:case R.EventType.STEP_STARTED:case R.EventType.STEP_FINISHED:case R.EventType.THINKING_START:case R.EventType.THINKING_END:case R.EventType.THINKING_TEXT_MESSAGE_START:case R.EventType.THINKING_TEXT_MESSAGE_CONTENT:case R.EventType.THINKING_TEXT_MESSAGE_END:return[...o(),l];case R.EventType.RAW:case R.EventType.ACTIVITY_SNAPSHOT:case R.EventType.ACTIVITY_DELTA:return[l];case R.EventType.TEXT_MESSAGE_CHUNK:let _=l,v=[];if((t!=="text"||_.messageId!==void 0&&_.messageId!==(e==null?void 0:e.messageId))&&v.push(...o()),t!=="text"){if(_.messageId===void 0)throw new Error("First TEXT_MESSAGE_CHUNK must have a messageId");e={messageId:_.messageId},t="text";let c={type:R.EventType.TEXT_MESSAGE_START,messageId:_.messageId,role:_.role||"assistant"};v.push(c),i&&console.debug("[TRANSFORM]: TEXT_MESSAGE_START",JSON.stringify(c))}if(_.delta!==void 0){let c={type:R.EventType.TEXT_MESSAGE_CONTENT,messageId:e.messageId,delta:_.delta};v.push(c),i&&console.debug("[TRANSFORM]: TEXT_MESSAGE_CONTENT",JSON.stringify(c))}return v;case R.EventType.TOOL_CALL_CHUNK:let T=l,h=[];if((t!=="tool"||T.toolCallId!==void 0&&T.toolCallId!==(n==null?void 0:n.toolCallId))&&h.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");n={toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId},t="tool";let c={type:R.EventType.TOOL_CALL_START,toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId};h.push(c),i&&console.debug("[TRANSFORM]: TOOL_CALL_START",JSON.stringify(c))}if(T.delta!==void 0){let c={type:R.EventType.TOOL_CALL_ARGS,toolCallId:n.toolCallId,delta:T.delta};h.push(c),i&&console.debug("[TRANSFORM]: TOOL_CALL_ARGS",JSON.stringify(c))}return h}let E=l.type;return[]}),(0,pt.finalize)(()=>{o()}))};var yt=require("@ag-ui/core");var Ft=require("rxjs"),kt=require("rxjs/operators");var U=class{runNext(s,e){return e.run(s).pipe($(!1))}runNextWithState(s,e){let n=M(s.messages||[]),t=M(s.state||{}),a=new Ft.ReplaySubject;return J(s,a,e,[]).subscribe(o=>{o.messages!==void 0&&(n=o.messages),o.state!==void 0&&(t=o.state)}),this.runNext(s,e).pipe((0,kt.concatMap)(async o=>(a.next(o),await new Promise(l=>setTimeout(l,0)),{event:o,messages:M(n),state:M(t)})))}},W=class extends U{constructor(e){super();this.fn=e}run(e,n){return this.fn(e,n)}};var et=require("@ag-ui/core"),Bt=require("rxjs/operators"),nt=class extends U{constructor(e){super();this.blockedToolCallIds=new Set;if(e.allowedToolCalls&&e.disallowedToolCalls)throw new Error("Cannot specify both allowedToolCalls and disallowedToolCalls");if(!e.allowedToolCalls&&!e.disallowedToolCalls)throw new Error("Must specify either allowedToolCalls or disallowedToolCalls");e.allowedToolCalls?this.allowedTools=new Set(e.allowedToolCalls):e.disallowedToolCalls&&(this.disallowedTools=new Set(e.disallowedToolCalls))}run(e,n){return this.runNext(e,n).pipe((0,Bt.filter)(t=>{if(t.type===et.EventType.TOOL_CALL_START){let a=t;return this.shouldFilterTool(a.toolCallName)?(this.blockedToolCallIds.add(a.toolCallId),!1):!0}if(t.type===et.EventType.TOOL_CALL_ARGS){let a=t;return!this.blockedToolCallIds.has(a.toolCallId)}if(t.type===et.EventType.TOOL_CALL_END){let a=t;return!this.blockedToolCallIds.has(a.toolCallId)}if(t.type===et.EventType.TOOL_CALL_RESULT){let a=t;return this.blockedToolCallIds.has(a.toolCallId)?(this.blockedToolCallIds.delete(a.toolCallId),!1):!0}return!0}))}shouldFilterTool(e){return this.allowedTools?!this.allowedTools.has(e):this.disallowedTools?this.disallowedTools.has(e):!1}};function pe(i){let s=i.content;if(Array.isArray(s)){let e=s.filter(n=>typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&typeof n.text=="string").map(n=>n.text).join("");return b(L({},i),{content:e})}return typeof s=="string"?i:b(L({},i),{content:""})}var Y=class extends U{run(s,e){let r=s,{parentRunId:n}=r,t=Rt(r,["parentRunId"]),a=b(L({},t),{messages:t.messages.map(pe)});return this.runNext(a,e)}};var Ut={name:"@ag-ui/client",author:"Markus Ecker <markus.ecker@gmail.com>",version:"0.0.45-alpha.0",private:!1,publishConfig:{access:"public"},main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",sideEffects:!1,files:["dist/**","README.md"],scripts:{build:"tsup",dev:"tsup --watch",clean:"rm -rf dist .turbo node_modules",typecheck:"tsc --noEmit",test:"jest","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},dependencies:{"@ag-ui/core":"workspace:*","@ag-ui/encoder":"workspace:*","@ag-ui/proto":"workspace:*","@types/uuid":"^10.0.0","compare-versions":"^6.1.1","fast-json-patch":"^3.1.1",rxjs:"7.8.1","untruncate-json":"^0.0.1",uuid:"^11.1.0",zod:"^3.22.4"},devDependencies:{"@types/jest":"^29.5.14","@types/node":"^20.11.19",jest:"^29.7.0","ts-jest":"^29.1.2",tsup:"^8.0.2",typescript:"^5.3.3"}};var Q=class{constructor({agentId:s,description:e,threadId:n,initialMessages:t,initialState:a,debug:r}={}){this.debug=!1;this.subscribers=[];this.isRunning=!1;this.middlewares=[];this.agentId=s,this.description=e!=null?e:"",this.threadId=n!=null?n:(0,q.v4)(),this.messages=M(t!=null?t:[]),this.state=M(a!=null?a:{}),this.debug=r!=null?r:!1,(0,jt.compareVersions)(this.maxVersion,"0.0.39")<=0&&this.middlewares.unshift(new Y)}get maxVersion(){return Ut.version}subscribe(s){return this.subscribers.push(s),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(e=>e!==s)}}}use(...s){let e=s.map(n=>typeof n=="function"?new W(n):n);return this.middlewares.push(...e),this}async runAgent(s,e){var n;try{this.isRunning=!0,this.agentId=(n=this.agentId)!=null?n:(0,q.v4)();let t=this.prepareRunAgentInput(s),a,r=new Set(this.messages.map(v=>v.id)),o=[{onRunFinishedEvent:v=>{a=v.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o),this.activeRunDetach$=new G.Subject;let l;this.activeRunCompletionPromise=new Promise(v=>{l=v});let E=(0,G.pipe)(()=>this.middlewares.length===0?this.run(t):this.middlewares.reduceRight((T,h)=>({run:c=>h.run(c,T)}),this).run(t),$(this.debug),V(this.debug),v=>v.pipe((0,At.takeUntil)(this.activeRunDetach$)),v=>this.apply(t,v,o),v=>this.processApplyEvents(t,v,o),(0,X.catchError)(v=>(this.isRunning=!1,this.onError(t,v,o))),(0,vt.finalize)(()=>{this.isRunning=!1,this.onFinalize(t,o),l==null||l(),l=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}));await(0,ht.lastValueFrom)(E((0,G.of)(null)));let _=M(this.messages).filter(v=>!r.has(v.id));return{result:a,newMessages:_}}finally{this.isRunning=!1}}connect(s){throw new yt.AGUIConnectNotImplementedError}fetchRunHistory(s){return Promise.resolve(void 0)}async connectAgent(s,e){var n;try{this.isRunning=!0,this.agentId=(n=this.agentId)!=null?n:(0,q.v4)();let t=this.prepareRunAgentInput(s),a,r=new Set(this.messages.map(v=>v.id)),o=[{onRunFinishedEvent:v=>{a=v.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o),this.activeRunDetach$=new G.Subject;let l;this.activeRunCompletionPromise=new Promise(v=>{l=v});let E=(0,G.pipe)(()=>this.connect(t),$(this.debug),V(this.debug),v=>v.pipe((0,At.takeUntil)(this.activeRunDetach$)),v=>this.apply(t,v,o),v=>this.processApplyEvents(t,v,o),(0,X.catchError)(v=>(this.isRunning=!1,v instanceof yt.AGUIConnectNotImplementedError?G.EMPTY:this.onError(t,v,o))),(0,vt.finalize)(()=>{this.isRunning=!1,this.onFinalize(t,o),l==null||l(),l=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}));await(0,ht.lastValueFrom)(E((0,G.of)(null)));let _=M(this.messages).filter(v=>!r.has(v.id));return{result:a,newMessages:_}}finally{this.isRunning=!1}}abortRun(){}async detachActiveRun(){var e,n;if(!this.activeRunDetach$)return;let s=(e=this.activeRunCompletionPromise)!=null?e:Promise.resolve();this.activeRunDetach$.next(),(n=this.activeRunDetach$)==null||n.complete(),await s}apply(s,e,n){return J(s,e,this,n)}processApplyEvents(s,e,n){return e.pipe((0,X.tap)(t=>{t.messages&&(this.messages=t.messages,n.forEach(a=>{var r;(r=a.onMessagesChanged)==null||r.call(a,{messages:this.messages,state:this.state,agent:this,input:s})})),t.state&&(this.state=t.state,n.forEach(a=>{var r;(r=a.onStateChanged)==null||r.call(a,{state:this.state,messages:this.messages,agent:this,input:s})}))}))}prepareRunAgentInput(s){var t,a,r;let n=M(this.messages).filter(o=>o.role!=="activity");return{threadId:this.threadId,runId:(s==null?void 0:s.runId)||(0,q.v4)(),tools:M((t=s==null?void 0:s.tools)!=null?t:[]),context:M((a=s==null?void 0:s.context)!=null?a:[]),forwardedProps:M((r=s==null?void 0:s.forwardedProps)!=null?r:{}),state:M(this.state),messages:n}}async onInitialize(s,e){let n=await N(e,this.messages,this.state,(t,a,r)=>{var o;return(o=t.onRunInitialized)==null?void 0:o.call(t,{messages:a,state:r,agent:this,input:s})});(n.messages!==void 0||n.state!==void 0)&&(n.messages&&(this.messages=n.messages,s.messages=n.messages,e.forEach(t=>{var a;(a=t.onMessagesChanged)==null||a.call(t,{messages:this.messages,state:this.state,agent:this,input:s})})),n.state&&(this.state=n.state,s.state=n.state,e.forEach(t=>{var a;(a=t.onStateChanged)==null||a.call(t,{state:this.state,messages:this.messages,agent:this,input:s})})))}onError(s,e,n){return(0,G.from)(N(n,this.messages,this.state,(t,a,r)=>{var o;return(o=t.onRunFailed)==null?void 0:o.call(t,{error:e,messages:a,state:r,agent:this,input:s})})).pipe((0,X.map)(t=>{let a=t;if((a.messages!==void 0||a.state!==void 0)&&(a.messages!==void 0&&(this.messages=a.messages,n.forEach(r=>{var o;(o=r.onMessagesChanged)==null||o.call(r,{messages:this.messages,state:this.state,agent:this,input:s})})),a.state!==void 0&&(this.state=a.state,n.forEach(r=>{var o;(o=r.onStateChanged)==null||o.call(r,{state:this.state,messages:this.messages,agent:this,input:s})}))),a.stopPropagation!==!0)throw console.error("Agent execution failed:",e),e;return{}}))}async onFinalize(s,e){let n=await N(e,this.messages,this.state,(t,a,r)=>{var o;return(o=t.onRunFinalized)==null?void 0:o.call(t,{messages:a,state:r,agent:this,input:s})});(n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,e.forEach(t=>{var a;(a=t.onMessagesChanged)==null||a.call(t,{messages:this.messages,state:this.state,agent:this,input:s})})),n.state!==void 0&&(this.state=n.state,e.forEach(t=>{var a;(a=t.onStateChanged)==null||a.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=M(this.messages),s.state=M(this.state),s.debug=this.debug,s.isRunning=this.isRunning,s.subscribers=[...this.subscribers],s.middlewares=[...this.middlewares],s}addMessage(s){this.messages.push(s),(async()=>{var e,n,t;for(let a of this.subscribers)await((e=a.onNewMessage)==null?void 0:e.call(a,{message:s,messages:this.messages,state:this.state,agent:this}));if(s.role==="assistant"&&s.toolCalls)for(let a of s.toolCalls)for(let r of this.subscribers)await((n=r.onNewToolCall)==null?void 0:n.call(r,{toolCall:a,messages:this.messages,state:this.state,agent:this}));for(let a of this.subscribers)await((t=a.onMessagesChanged)==null?void 0:t.call(a,{messages:this.messages,state:this.state,agent:this}))})()}addMessages(s){this.messages.push(...s),(async()=>{var e,n,t;for(let a of s){for(let r of this.subscribers)await((e=r.onNewMessage)==null?void 0:e.call(r,{message:a,messages:this.messages,state:this.state,agent:this}));if(a.role==="assistant"&&a.toolCalls)for(let r of a.toolCalls)for(let o of this.subscribers)await((n=o.onNewToolCall)==null?void 0:n.call(o,{toolCall:r,messages:this.messages,state:this.state,agent:this}))}for(let a of this.subscribers)await((t=a.onMessagesChanged)==null?void 0:t.call(a,{messages:this.messages,state:this.state,agent:this}))})()}setMessages(s){this.messages=M(s),(async()=>{var e;for(let n of this.subscribers)await((e=n.onMessagesChanged)==null?void 0:e.call(n,{messages:this.messages,state:this.state,agent:this}))})()}setState(s){this.state=M(s),(async()=>{var e;for(let n of this.subscribers)await((e=n.onStateChanged)==null?void 0:e.call(n,{messages:this.messages,state:this.state,agent:this}))})()}legacy_to_be_removed_runAgentBridged(s){var t;this.agentId=(t=this.agentId)!=null?t:(0,q.v4)();let e=this.prepareRunAgentInput(s);return(this.middlewares.length===0?this.run(e):this.middlewares.reduceRight((r,o)=>({run:l=>o.run(l,r)}),this).run(e)).pipe($(this.debug),V(this.debug),Et(this.threadId,e.runId,this.agentId),a=>a.pipe((0,X.map)(r=>(this.debug&&console.debug("[LEGACY]:",JSON.stringify(r)),r))))}};var mt=class extends Q{constructor(e){var n;super(e);this.abortController=new AbortController;this.url=e.url,this.headers=M((n=e.headers)!=null?n:{})}requestInit(e){return{method:"POST",headers:b(L({},this.headers),{"Content-Type":"application/json",Accept:"text/event-stream"}),body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,n){var t;return this.abortController=(t=e==null?void 0:e.abortController)!=null?t:new AbortController,super.runAgent(e,n)}abortRun(){this.abortController.abort(),super.abortRun()}run(e){let n=lt(this.url,this.requestInit(e));return dt(n)}clone(){var a;let e=super.clone();e.url=this.url,e.headers=M((a=this.headers)!=null?a:{});let n=new AbortController,t=this.abortController.signal;return t.aborted&&n.abort(t.reason),e.abortController=n,e}};var j=require("@ag-ui/core");function zt(i){let s=[],e=new Map,n=new Map;for(let t of i)if(t.type===j.EventType.TEXT_MESSAGE_START){let a=t,r=a.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.start=a}else if(t.type===j.EventType.TEXT_MESSAGE_CONTENT){let a=t,r=a.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]}),e.get(r).contents.push(a)}else if(t.type===j.EventType.TEXT_MESSAGE_END){let a=t,r=a.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.end=a,Xt(r,o,s),e.delete(r)}else if(t.type===j.EventType.TOOL_CALL_START){let a=t,r=a.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]});let o=n.get(r);o.start=a}else if(t.type===j.EventType.TOOL_CALL_ARGS){let a=t,r=a.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]}),n.get(r).args.push(a)}else if(t.type===j.EventType.TOOL_CALL_END){let a=t,r=a.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]});let o=n.get(r);o.end=a,$t(r,o,s),n.delete(r)}else{let a=!1;for(let[r,o]of e)if(o.start&&!o.end){o.otherEvents.push(t),a=!0;break}if(!a){for(let[r,o]of n)if(o.start&&!o.end){o.otherEvents.push(t),a=!0;break}}a||s.push(t)}for(let[t,a]of e)Xt(t,a,s);for(let[t,a]of n)$t(t,a,s);return s}function Xt(i,s,e){if(s.start&&e.push(s.start),s.contents.length>0){let n=s.contents.map(a=>a.delta).join(""),t={type:j.EventType.TEXT_MESSAGE_CONTENT,messageId:i,delta:n};e.push(t)}s.end&&e.push(s.end);for(let n of s.otherEvents)e.push(n)}function $t(i,s,e){if(s.start&&e.push(s.start),s.args.length>0){let n=s.args.map(a=>a.delta).join(""),t={type:j.EventType.TOOL_CALL_ARGS,toolCallId:i,delta:n};e.push(t)}s.end&&e.push(s.end);for(let n of s.otherEvents)e.push(n)}D(P,require("@ag-ui/core"),module.exports);0&&(module.exports={AbstractAgent,BackwardCompatibility_0_0_39,FilterToolCallsMiddleware,FunctionMiddleware,HttpAgent,Middleware,compactEvents,convertToLegacyEvents,defaultApplyEvents,parseProtoStream,parseSSEStream,randomUUID,runHttpRequest,structuredClone_,transformChunks,transformHttpEventStream,verifyEvents,...require("@ag-ui/core")}); | ||
| var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`uuid`),l=require(`@ag-ui/core`),u=require(`fast-json-patch`);u=s(u);let d=require(`rxjs`),f=require(`rxjs/operators`),p=require(`untruncate-json`);p=s(p);let m=require(`@ag-ui/proto`);m=s(m);let h=require(`zod`),g=require(`compare-versions`);const _=e=>{if(typeof structuredClone==`function`)return structuredClone(e);try{return JSON.parse(JSON.stringify(e))}catch{return{...e}}};function v(){return(0,c.v4)()}async function y(e,t,n,r){let i=t,a=n,o;for(let t of e)try{let e=await r(t,_(i),_(a));if(e===void 0)continue;if(e.messages!==void 0&&(i=e.messages),e.state!==void 0&&(a=e.state),o=e.stopPropagation,o===!0)break}catch(e){process.env.NODE_ENV===`test`||process.env.VITEST_WORKER_ID!==void 0||console.error(`Subscriber error:`,e);continue}return{...JSON.stringify(i)===JSON.stringify(t)?{}:{messages:i},...JSON.stringify(a)===JSON.stringify(n)?{}:{state:a},...o===void 0?{}:{stopPropagation:o}}}const b=(e,t,n,r)=>{let i=_(n.messages),a=_(e.state),o={},s=e=>{e.messages!==void 0&&(i=e.messages,o.messages=e.messages),e.state!==void 0&&(a=e.state,o.state=e.state)},c=()=>{let e=_(o);return o={},e.messages!==void 0||e.state!==void 0?(0,d.of)(e):d.EMPTY};return t.pipe((0,f.concatMap)(async t=>{let d=await y(r,i,a,(r,i,a)=>r.onEvent?.({event:t,agent:n,input:e,messages:i,state:a}));if(s(d),d.stopPropagation===!0)return c();switch(t.type){case l.EventType.TEXT_MESSAGE_START:{let o=await y(r,i,a,(r,i,a)=>r.onTextMessageStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{messageId:e,role:n=`assistant`}=t;if(!i.find(t=>t.id===e)){let t={id:e,role:n,content:``};i.push(t),s({messages:i})}}return c()}case l.EventType.TEXT_MESSAGE_CONTENT:{let{messageId:o,delta:l}=t,u=i.find(e=>e.id===o);if(!u)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${o}'`),c();let d=await y(r,i,a,(r,i,a)=>r.onTextMessageContentEvent?.({event:t,messages:i,state:a,agent:n,input:e,textMessageBuffer:typeof u.content==`string`?u.content:``}));return s(d),d.stopPropagation!==!0&&(u.content=`${typeof u.content==`string`?u.content:``}${l}`,s({messages:i})),c()}case l.EventType.TEXT_MESSAGE_END:{let{messageId:o}=t,l=i.find(e=>e.id===o);return l?(s(await y(r,i,a,(r,i,a)=>r.onTextMessageEndEvent?.({event:t,messages:i,state:a,agent:n,input:e,textMessageBuffer:typeof l.content==`string`?l.content:``}))),await Promise.all(r.map(t=>{t.onNewMessage?.({message:l,messages:i,state:a,agent:n,input:e})})),c()):(console.warn(`TEXT_MESSAGE_END: No message found with ID '${o}'`),c())}case l.EventType.TOOL_CALL_START:{let o=await y(r,i,a,(r,i,a)=>r.onToolCallStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{toolCallId:e,toolCallName:n,parentMessageId:r}=t,a;r&&i.length>0&&i[i.length-1].id===r?a=i[i.length-1]:(a={id:r||e,role:`assistant`,toolCalls:[]},i.push(a)),a.toolCalls??=[],a.toolCalls.push({id:e,type:`function`,function:{name:n,arguments:``}}),s({messages:i})}return c()}case l.EventType.TOOL_CALL_ARGS:{let{toolCallId:o,delta:l}=t,u=i.find(e=>e.toolCalls?.some(e=>e.id===o));if(!u)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${o}'`),c();let d=u.toolCalls?.find(e=>e.id===o);if(!d)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${o}'`),c();let f=await y(r,i,a,(r,i,a)=>{let o=d.function.arguments,s=d.function.name,c={};try{c=(0,p.default)(o)}catch{}return r.onToolCallArgsEvent?.({event:t,messages:i,state:a,agent:n,input:e,toolCallBuffer:o,toolCallName:s,partialToolCallArgs:c})});return s(f),f.stopPropagation!==!0&&(d.function.arguments+=l,s({messages:i})),c()}case l.EventType.TOOL_CALL_END:{let{toolCallId:o}=t,l=i.find(e=>e.toolCalls?.some(e=>e.id===o));if(!l)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${o}'`),c();let u=l.toolCalls?.find(e=>e.id===o);return u?(s(await y(r,i,a,(r,i,a)=>{let o=u.function.arguments,s=u.function.name,c={};try{c=JSON.parse(o)}catch{}return r.onToolCallEndEvent?.({event:t,messages:i,state:a,agent:n,input:e,toolCallName:s,toolCallArgs:c})})),await Promise.all(r.map(t=>{t.onNewToolCall?.({toolCall:u,messages:i,state:a,agent:n,input:e})})),c()):(console.warn(`TOOL_CALL_END: No tool call found with ID '${o}'`),c())}case l.EventType.TOOL_CALL_RESULT:{let o=await y(r,i,a,(r,i,a)=>r.onToolCallResultEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{messageId:o,toolCallId:c,content:l,role:u}=t,d={id:o,toolCallId:c,role:u||`tool`,content:l};i.push(d),await Promise.all(r.map(t=>{t.onNewMessage?.({message:d,messages:i,state:a,agent:n,input:e})})),s({messages:i})}return c()}case l.EventType.STATE_SNAPSHOT:{let o=await y(r,i,a,(r,i,a)=>r.onStateSnapshotEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{snapshot:e}=t;a=e,s({state:a})}return c()}case l.EventType.STATE_DELTA:{let o=await y(r,i,a,(r,i,a)=>r.onStateDeltaEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{delta:e}=t;try{a=u.applyPatch(a,e,!0,!1).newDocument,s({state:a})}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(`Failed to apply state patch:\nCurrent state: ${JSON.stringify(a,null,2)}\nPatch operations: ${JSON.stringify(e,null,2)}\nError: ${n}`)}}return c()}case l.EventType.MESSAGES_SNAPSHOT:{let o=await y(r,i,a,(r,i,a)=>r.onMessagesSnapshotEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{messages:e}=t;i=e,s({messages:i})}return c()}case l.EventType.ACTIVITY_SNAPSHOT:{let o=t,l=i.findIndex(e=>e.id===o.messageId),u=l>=0?i[l]:void 0,d=u?.role===`activity`?u:void 0,f=o.replace??!0,p=await y(r,i,a,(t,r,i)=>t.onActivitySnapshotEvent?.({event:o,messages:r,state:i,agent:n,input:e,activityMessage:d,existingMessage:u}));if(s(p),p.stopPropagation!==!0){let t={id:o.messageId,role:`activity`,activityType:o.activityType,content:_(o.content)},c;l===-1?(i.push(t),c=t):d?f&&(i[l]={...d,activityType:o.activityType,content:_(o.content)}):f&&(i[l]=t,c=t),s({messages:i}),c&&await Promise.all(r.map(t=>t.onNewMessage?.({message:c,messages:i,state:a,agent:n,input:e})))}return c()}case l.EventType.ACTIVITY_DELTA:{let o=t,l=i.findIndex(e=>e.id===o.messageId);if(l===-1)return console.warn(`ACTIVITY_DELTA: No message found with ID '${o.messageId}' to apply patch`),c();let d=i[l];if(d.role!==`activity`)return console.warn(`ACTIVITY_DELTA: Message '${o.messageId}' is not an activity message`),c();let f=d,p=await y(r,i,a,(t,r,i)=>t.onActivityDeltaEvent?.({event:o,messages:r,state:i,agent:n,input:e,activityMessage:f}));if(s(p),p.stopPropagation!==!0)try{let e=_(f.content??{}),t=u.applyPatch(e,o.patch??[],!0,!1).newDocument;i[l]={...f,content:_(t),activityType:o.activityType},s({messages:i})}catch(e){let t=e instanceof Error?e.message:String(e);console.warn(`Failed to apply activity patch for '${o.messageId}': ${t}`)}return c()}case l.EventType.RAW:return s(await y(r,i,a,(r,i,a)=>r.onRawEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.CUSTOM:return s(await y(r,i,a,(r,i,a)=>r.onCustomEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.RUN_STARTED:{let o=await y(r,i,a,(r,i,a)=>r.onRunStartedEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let e=t;if(e.input?.messages){for(let t of e.input.messages)i.find(e=>e.id===t.id)||i.push(t);s({messages:i})}}return c()}case l.EventType.RUN_FINISHED:return s(await y(r,i,a,(r,i,a)=>r.onRunFinishedEvent?.({event:t,messages:i,state:a,agent:n,input:e,result:t.result}))),c();case l.EventType.RUN_ERROR:return s(await y(r,i,a,(r,i,a)=>r.onRunErrorEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.STEP_STARTED:return s(await y(r,i,a,(r,i,a)=>r.onStepStartedEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.STEP_FINISHED:return s(await y(r,i,a,(r,i,a)=>r.onStepFinishedEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.TEXT_MESSAGE_CHUNK:throw Error(`TEXT_MESSAGE_CHUNK must be tranformed before being applied`);case l.EventType.TOOL_CALL_CHUNK:throw Error(`TOOL_CALL_CHUNK must be tranformed before being applied`);case l.EventType.THINKING_START:return c();case l.EventType.THINKING_END:return c();case l.EventType.THINKING_TEXT_MESSAGE_START:return c();case l.EventType.THINKING_TEXT_MESSAGE_CONTENT:return c();case l.EventType.THINKING_TEXT_MESSAGE_END:return c();case l.EventType.REASONING_START:return s(await y(r,i,a,(r,i,a)=>r.onReasoningStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.REASONING_MESSAGE_START:{let o=await y(r,i,a,(r,i,a)=>r.onReasoningMessageStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(o),o.stopPropagation!==!0){let{messageId:e}=t;if(!i.find(t=>t.id===e)){let t={id:e,role:`reasoning`,content:``};i.push(t),s({messages:i})}}return c()}case l.EventType.REASONING_MESSAGE_CONTENT:{let{messageId:o,delta:l}=t,u=i.find(e=>e.id===o);if(!u)return console.warn(`REASONING_MESSAGE_CONTENT: No message found with ID '${o}'`),c();let d=await y(r,i,a,(r,i,a)=>r.onReasoningMessageContentEvent?.({event:t,messages:i,state:a,agent:n,input:e,reasoningMessageBuffer:typeof u.content==`string`?u.content:``}));return s(d),d.stopPropagation!==!0&&(u.content=`${typeof u.content==`string`?u.content:``}${l}`,s({messages:i})),c()}case l.EventType.REASONING_MESSAGE_END:{let{messageId:o}=t,l=i.find(e=>e.id===o);return l?(s(await y(r,i,a,(r,i,a)=>r.onReasoningMessageEndEvent?.({event:t,messages:i,state:a,agent:n,input:e,reasoningMessageBuffer:typeof l.content==`string`?l.content:``}))),await Promise.all(r.map(t=>{t.onNewMessage?.({message:l,messages:i,state:a,agent:n,input:e})})),c()):(console.warn(`REASONING_MESSAGE_END: No message found with ID '${o}'`),c())}case l.EventType.REASONING_MESSAGE_CHUNK:throw Error(`REASONING_MESSAGE_CHUNK must be transformed before being applied`);case l.EventType.REASONING_END:return s(await y(r,i,a,(r,i,a)=>r.onReasoningEndEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),c();case l.EventType.REASONING_ENCRYPTED_VALUE:{let{subtype:l,entityId:u,encryptedValue:d}=t,f=await y(r,i,a,(r,i,a)=>r.onReasoningEncryptedValueEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(s(f),f.stopPropagation!==!0){let e=!1;if(l===`tool-call`){for(let t of i)if(t.role===`assistant`&&t.toolCalls){let n=t.toolCalls.find(e=>e.id===u);if(n){n.encryptedValue=d,e=!0;break}}}else{let t=i.find(e=>e.id===u);t?.role!==`activity`&&t&&(t.encryptedValue=d,e=!0)}e&&(o.messages=i)}return c()}}return t.type,c()}),(0,f.mergeAll)(),r.length>0?(0,f.defaultIfEmpty)({}):e=>e)},x=e=>t=>{let n=new Map,r=new Map,i=!1,a=!1,o=!1,s=new Map,c=!1,u=!1,p=!1,m=()=>{n.clear(),r.clear(),s.clear(),c=!1,u=!1,i=!1,a=!1,p=!0};return t.pipe((0,f.mergeMap)(t=>{let f=t.type;if(e&&console.debug(`[VERIFY]:`,JSON.stringify(t)),a)return(0,d.throwError)(()=>new l.AGUIError(`Cannot send event type '${f}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(i&&f!==l.EventType.RUN_ERROR&&f!==l.EventType.RUN_STARTED)return(0,d.throwError)(()=>new l.AGUIError(`Cannot send event type '${f}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(!o){if(o=!0,f!==l.EventType.RUN_STARTED&&f!==l.EventType.RUN_ERROR)return(0,d.throwError)(()=>new l.AGUIError(`First event must be 'RUN_STARTED'`))}else if(f===l.EventType.RUN_STARTED){if(p&&!i)return(0,d.throwError)(()=>new l.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.`));i&&m()}switch(f){case l.EventType.TEXT_MESSAGE_START:{let e=t.messageId;return n.has(e)?(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'TEXT_MESSAGE_START' event: A text message with ID '${e}' is already in progress. Complete it with 'TEXT_MESSAGE_END' first.`)):(n.set(e,!0),(0,d.of)(t))}case l.EventType.TEXT_MESSAGE_CONTENT:{let e=t.messageId;return n.has(e)?(0,d.of)(t):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${e}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case l.EventType.TEXT_MESSAGE_END:{let e=t.messageId;return n.has(e)?(n.delete(e),(0,d.of)(t)):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${e}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case l.EventType.TOOL_CALL_START:{let e=t.toolCallId;return r.has(e)?(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${e}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(r.set(e,!0),(0,d.of)(t))}case l.EventType.TOOL_CALL_ARGS:{let e=t.toolCallId;return r.has(e)?(0,d.of)(t):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${e}'. Start a tool call with 'TOOL_CALL_START' first.`))}case l.EventType.TOOL_CALL_END:{let e=t.toolCallId;return r.has(e)?(r.delete(e),(0,d.of)(t)):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${e}'. A 'TOOL_CALL_START' event must be sent first.`))}case l.EventType.STEP_STARTED:{let e=t.stepName;return s.has(e)?(0,d.throwError)(()=>new l.AGUIError(`Step "${e}" is already active for 'STEP_STARTED'`)):(s.set(e,!0),(0,d.of)(t))}case l.EventType.STEP_FINISHED:{let e=t.stepName;return s.has(e)?(s.delete(e),(0,d.of)(t)):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'STEP_FINISHED' for step "${e}" that was not started`))}case l.EventType.RUN_STARTED:return p=!0,(0,d.of)(t);case l.EventType.RUN_FINISHED:if(s.size>0){let e=Array.from(s.keys()).join(`, `);return(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'RUN_FINISHED' while steps are still active: ${e}`))}if(n.size>0){let e=Array.from(n.keys()).join(`, `);return(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'RUN_FINISHED' while text messages are still active: ${e}`))}if(r.size>0){let e=Array.from(r.keys()).join(`, `);return(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${e}`))}return i=!0,(0,d.of)(t);case l.EventType.RUN_ERROR:return a=!0,(0,d.of)(t);case l.EventType.CUSTOM:return(0,d.of)(t);case l.EventType.THINKING_TEXT_MESSAGE_START:return c?u?(0,d.throwError)(()=>new l.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,d.of)(t)):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first.`));case l.EventType.THINKING_TEXT_MESSAGE_CONTENT:return u?(0,d.of)(t):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first.`));case l.EventType.THINKING_TEXT_MESSAGE_END:return u?(u=!1,(0,d.of)(t)):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first.`));case l.EventType.THINKING_START:return c?(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.`)):(c=!0,(0,d.of)(t));case l.EventType.THINKING_END:return c?(c=!1,(0,d.of)(t)):(0,d.throwError)(()=>new l.AGUIError(`Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first.`));default:return(0,d.of)(t)}}))};let S=function(e){return e.HEADERS=`headers`,e.DATA=`data`,e}({});const C=(e,t)=>(0,d.defer)(()=>(0,d.from)(fetch(e,t))).pipe((0,f.switchMap)(e=>{if(!e.ok){let t=e.headers.get(`content-type`)||``;return(0,d.from)(e.text()).pipe((0,f.mergeMap)(n=>{let r=n;if(t.includes(`application/json`))try{r=JSON.parse(n)}catch{}let i=Error(`HTTP ${e.status}: ${typeof r==`string`?r:JSON.stringify(r)}`);return i.status=e.status,i.payload=r,(0,d.throwError)(()=>i)}))}let t={type:S.HEADERS,status:e.status,headers:e.headers},n=e.body?.getReader();return n?new d.Observable(e=>(e.next(t),(async()=>{try{for(;;){let{done:t,value:r}=await n.read();if(t)break;let i={type:S.DATA,data:r};e.next(i)}e.complete()}catch(t){e.error(t)}})(),()=>{n.cancel().catch(e=>{if(e?.name!==`AbortError`)throw e})})):(0,d.throwError)(()=>Error(`Failed to getReader() from response`))})),w=e=>{let t=new d.Subject,n=new TextDecoder(`utf-8`,{fatal:!1}),r=``;e.subscribe({next:e=>{if(e.type!==S.HEADERS&&e.type===S.DATA&&e.data){let t=n.decode(e.data,{stream:!0});r+=t;let a=r.split(/\n\n/);r=a.pop()||``;for(let e of a)i(e)}},error:e=>t.error(e),complete:()=>{r&&(r+=n.decode(),i(r)),t.complete()}});function i(e){let n=e.split(` | ||
| `),r=[];for(let e of n)e.startsWith(`data:`)&&r.push(e.slice(5).replace(/^ /,``));if(r.length>0)try{let e=r.join(` | ||
| `),n=JSON.parse(e);t.next(n)}catch(e){t.error(e)}}return t.asObservable()},T=e=>{let t=new d.Subject,n=new Uint8Array;e.subscribe({next:e=>{if(e.type!==S.HEADERS&&e.type===S.DATA&&e.data){let t=new Uint8Array(n.length+e.data.length);t.set(n,0),t.set(e.data,n.length),n=t,r()}},error:e=>t.error(e),complete:()=>{if(n.length>0)try{r()}catch{console.warn(`Incomplete or invalid protocol buffer data at stream end`)}t.complete()}});function r(){for(;n.length>=4;){let e=4+new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(n.length<e)break;try{let r=n.slice(4,e),i=m.decode(r);t.next(i),n=n.slice(e)}catch(e){let n=e instanceof Error?e.message:String(e);t.error(Error(`Failed to decode protocol buffer message: ${n}`));return}}}return t.asObservable()},E=e=>{let t=new d.Subject,n=new d.ReplaySubject,r=!1;return e.subscribe({next:e=>{n.next(e),e.type===S.HEADERS&&!r?(r=!0,e.headers.get(`content-type`)===m.AGUI_MEDIA_TYPE?T(n).subscribe({next:e=>t.next(e),error:e=>t.error(e),complete:()=>t.complete()}):w(n).subscribe({next:e=>{try{let n=l.EventSchemas.parse(e);t.next(n)}catch(e){t.error(e)}},error:e=>{if(e?.name===`AbortError`){t.next({type:l.EventType.RUN_ERROR,message:e.message||`Request aborted`,code:`abort`,rawEvent:e}),t.complete();return}return t.error(e)},complete:()=>t.complete()})):r||t.error(Error(`No headers event received before data events`))},error:e=>{n.error(e),t.error(e)},complete:()=>{n.complete()}}),t.asObservable()},D=h.z.enum([`TextMessageStart`,`TextMessageContent`,`TextMessageEnd`,`ActionExecutionStart`,`ActionExecutionArgs`,`ActionExecutionEnd`,`ActionExecutionResult`,`AgentStateMessage`,`MetaEvent`,`RunStarted`,`RunFinished`,`RunError`,`NodeStarted`,`NodeFinished`]),O=h.z.enum([`LangGraphInterruptEvent`,`PredictState`,`Exit`]),ee=h.z.object({type:h.z.literal(D.enum.TextMessageStart),messageId:h.z.string(),parentMessageId:h.z.string().optional(),role:h.z.string().optional()}),te=h.z.object({type:h.z.literal(D.enum.TextMessageContent),messageId:h.z.string(),content:h.z.string()}),k=h.z.object({type:h.z.literal(D.enum.TextMessageEnd),messageId:h.z.string()}),A=h.z.object({type:h.z.literal(D.enum.ActionExecutionStart),actionExecutionId:h.z.string(),actionName:h.z.string(),parentMessageId:h.z.string().optional()}),j=h.z.object({type:h.z.literal(D.enum.ActionExecutionArgs),actionExecutionId:h.z.string(),args:h.z.string()}),M=h.z.object({type:h.z.literal(D.enum.ActionExecutionEnd),actionExecutionId:h.z.string()}),N=h.z.object({type:h.z.literal(D.enum.ActionExecutionResult),actionName:h.z.string(),actionExecutionId:h.z.string(),result:h.z.string()}),P=h.z.object({type:h.z.literal(D.enum.AgentStateMessage),threadId:h.z.string(),agentName:h.z.string(),nodeName:h.z.string(),runId:h.z.string(),active:h.z.boolean(),role:h.z.string(),state:h.z.string(),running:h.z.boolean()}),F=h.z.object({type:h.z.literal(D.enum.MetaEvent),name:O,value:h.z.any()}),I=h.z.object({type:h.z.literal(D.enum.RunError),message:h.z.string(),code:h.z.string().optional()});h.z.discriminatedUnion(`type`,[ee,te,k,A,j,M,N,P,F,I]),h.z.object({id:h.z.string(),role:h.z.string(),content:h.z.string(),parentMessageId:h.z.string().optional()}),h.z.object({id:h.z.string(),name:h.z.string(),arguments:h.z.any(),parentMessageId:h.z.string().optional()}),h.z.object({id:h.z.string(),result:h.z.any(),actionExecutionId:h.z.string(),actionName:h.z.string()});const L=e=>{if(typeof e==`string`)return e;if(!Array.isArray(e))return;let t=e.filter(e=>e.type===`text`).map(e=>e.text).filter(e=>e.length>0);if(t.length!==0)return t.join(` | ||
| `)},R=(e,t,n)=>r=>{let i={},a=!0,o=!0,s=``,c=null,d=null,m=[],h={},g=e=>{typeof e==`object`&&e&&(`messages`in e&&delete e.messages,i=e)};return r.pipe((0,f.mergeMap)(r=>{switch(r.type){case l.EventType.TEXT_MESSAGE_START:{let e=r;return[{type:D.enum.TextMessageStart,messageId:e.messageId,role:e.role}]}case l.EventType.TEXT_MESSAGE_CONTENT:{let e=r;return[{type:D.enum.TextMessageContent,messageId:e.messageId,content:e.delta}]}case l.EventType.TEXT_MESSAGE_END:{let e=r;return[{type:D.enum.TextMessageEnd,messageId:e.messageId}]}case l.EventType.TOOL_CALL_START:{let e=r;return m.push({id:e.toolCallId,type:`function`,function:{name:e.toolCallName,arguments:``}}),o=!0,h[e.toolCallId]=e.toolCallName,[{type:D.enum.ActionExecutionStart,actionExecutionId:e.toolCallId,actionName:e.toolCallName,parentMessageId:e.parentMessageId}]}case l.EventType.TOOL_CALL_ARGS:{let c=r,l=m.find(e=>e.id===c.toolCallId);if(!l)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${c.toolCallId}'`),[];l.function.arguments+=c.delta;let u=!1;if(d){let e=d.find(e=>e.tool==l.function.name);if(e)try{let t=JSON.parse((0,p.default)(l.function.arguments));e.tool_argument&&e.tool_argument in t?(g({...i,[e.state_key]:t[e.tool_argument]}),u=!0):e.tool_argument||(g({...i,[e.state_key]:t}),u=!0)}catch{}}return[{type:D.enum.ActionExecutionArgs,actionExecutionId:c.toolCallId,args:c.delta},...u?[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:o}]:[]]}case l.EventType.TOOL_CALL_END:{let e=r;return[{type:D.enum.ActionExecutionEnd,actionExecutionId:e.toolCallId}]}case l.EventType.TOOL_CALL_RESULT:{let e=r;return[{type:D.enum.ActionExecutionResult,actionExecutionId:e.toolCallId,result:e.content,actionName:h[e.toolCallId]||`unknown`}]}case l.EventType.RAW:return[];case l.EventType.CUSTOM:{let e=r;switch(e.name){case`Exit`:a=!1;break;case`PredictState`:d=e.value;break}return[{type:D.enum.MetaEvent,name:e.name,value:e.value}]}case l.EventType.STATE_SNAPSHOT:return g(r.snapshot),[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:o}];case l.EventType.STATE_DELTA:{let c=r,l=u.applyPatch(i,c.delta,!0,!1);return l?(g(l.newDocument),[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:o}]):[]}case l.EventType.MESSAGES_SNAPSHOT:return c=r.messages,[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify({...i,...c?{messages:c}:{}}),active:!0}];case l.EventType.RUN_STARTED:return[];case l.EventType.RUN_FINISHED:return c&&(i.messages=c),Object.keys(i).length===0?[]:[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify({...i,...c?{messages:ne(c)}:{}}),active:!1}];case l.EventType.RUN_ERROR:{let e=r;return[{type:D.enum.RunError,message:e.message,code:e.code}]}case l.EventType.STEP_STARTED:return s=r.stepName,m=[],d=null,[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:!0}];case l.EventType.STEP_FINISHED:return m=[],d=null,[{type:D.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:s,runId:t,running:a,role:`assistant`,state:JSON.stringify(i),active:!1}];default:return[]}}))};function ne(e){let t=[];for(let n of e)if(n.role===`assistant`||n.role===`user`||n.role===`system`){let e=L(n.content);if(e){let r={id:n.id,role:n.role,content:e};t.push(r)}if(n.role===`assistant`&&n.toolCalls&&n.toolCalls.length>0)for(let e of n.toolCalls){let r={id:e.id,name:e.function.name,arguments:JSON.parse(e.function.arguments),parentMessageId:n.id};t.push(r)}}else if(n.role===`tool`){let r=`unknown`;for(let t of e)if(t.role===`assistant`&&t.toolCalls?.length){for(let e of t.toolCalls)if(e.id===n.toolCallId){r=e.function.name;break}}let i={id:n.id,result:n.content,actionExecutionId:n.toolCallId,actionName:r};t.push(i)}return t}const z=e=>t=>{let n,r,i,a,o=()=>{if(!n||a!==`text`)throw Error(`No text message to close`);let t={type:l.EventType.TEXT_MESSAGE_END,messageId:n.messageId};return a=void 0,n=void 0,e&&console.debug(`[TRANSFORM]: TEXT_MESSAGE_END`,JSON.stringify(t)),t},s=()=>{if(!r||a!==`tool`)throw Error(`No tool call to close`);let t={type:l.EventType.TOOL_CALL_END,toolCallId:r.toolCallId};return a=void 0,r=void 0,e&&console.debug(`[TRANSFORM]: TOOL_CALL_END`,JSON.stringify(t)),t},c=()=>{if(!i||a!==`reasoning`)throw Error(`No reasoning message to close`);let t={type:l.EventType.REASONING_MESSAGE_END,messageId:i.messageId};return a=void 0,i=void 0,e&&console.debug(`[TRANSFORM]: REASONING_MESSAGE_END`,JSON.stringify(t)),t},u=()=>a===`text`?[o()]:a===`tool`?[s()]:a===`reasoning`?[c()]:[];return t.pipe((0,d.mergeMap)(t=>{switch(t.type){case l.EventType.TEXT_MESSAGE_START:case l.EventType.TEXT_MESSAGE_CONTENT:case l.EventType.TEXT_MESSAGE_END:case l.EventType.TOOL_CALL_START:case l.EventType.TOOL_CALL_ARGS:case l.EventType.TOOL_CALL_END:case l.EventType.TOOL_CALL_RESULT:case l.EventType.STATE_SNAPSHOT:case l.EventType.STATE_DELTA:case l.EventType.MESSAGES_SNAPSHOT:case l.EventType.CUSTOM:case l.EventType.RUN_STARTED:case l.EventType.RUN_FINISHED:case l.EventType.RUN_ERROR:case l.EventType.STEP_STARTED:case l.EventType.STEP_FINISHED:case l.EventType.THINKING_START:case l.EventType.THINKING_END:case l.EventType.THINKING_TEXT_MESSAGE_START:case l.EventType.THINKING_TEXT_MESSAGE_CONTENT:case l.EventType.THINKING_TEXT_MESSAGE_END:case l.EventType.REASONING_START:case l.EventType.REASONING_MESSAGE_START:case l.EventType.REASONING_MESSAGE_CONTENT:case l.EventType.REASONING_MESSAGE_END:case l.EventType.REASONING_END:return[...u(),t];case l.EventType.RAW:case l.EventType.ACTIVITY_SNAPSHOT:case l.EventType.ACTIVITY_DELTA:case l.EventType.REASONING_ENCRYPTED_VALUE:return[t];case l.EventType.TEXT_MESSAGE_CHUNK:let o=t,s=[];if((a!==`text`||o.messageId!==void 0&&o.messageId!==n?.messageId)&&s.push(...u()),a!==`text`){if(o.messageId===void 0)throw Error(`First TEXT_MESSAGE_CHUNK must have a messageId`);n={messageId:o.messageId},a=`text`;let t={type:l.EventType.TEXT_MESSAGE_START,messageId:o.messageId,role:o.role||`assistant`};s.push(t),e&&console.debug(`[TRANSFORM]: TEXT_MESSAGE_START`,JSON.stringify(t))}if(o.delta!==void 0){let t={type:l.EventType.TEXT_MESSAGE_CONTENT,messageId:n.messageId,delta:o.delta};s.push(t),e&&console.debug(`[TRANSFORM]: TEXT_MESSAGE_CONTENT`,JSON.stringify(t))}return s;case l.EventType.TOOL_CALL_CHUNK:let c=t,d=[];if((a!==`tool`||c.toolCallId!==void 0&&c.toolCallId!==r?.toolCallId)&&d.push(...u()),a!==`tool`){if(c.toolCallId===void 0)throw Error(`First TOOL_CALL_CHUNK must have a toolCallId`);if(c.toolCallName===void 0)throw Error(`First TOOL_CALL_CHUNK must have a toolCallName`);r={toolCallId:c.toolCallId,toolCallName:c.toolCallName,parentMessageId:c.parentMessageId},a=`tool`;let t={type:l.EventType.TOOL_CALL_START,toolCallId:c.toolCallId,toolCallName:c.toolCallName,parentMessageId:c.parentMessageId};d.push(t),e&&console.debug(`[TRANSFORM]: TOOL_CALL_START`,JSON.stringify(t))}if(c.delta!==void 0){let t={type:l.EventType.TOOL_CALL_ARGS,toolCallId:r.toolCallId,delta:c.delta};d.push(t),e&&console.debug(`[TRANSFORM]: TOOL_CALL_ARGS`,JSON.stringify(t))}return d;case l.EventType.REASONING_MESSAGE_CHUNK:let f=t,p=[];if((a!==`reasoning`||f.messageId&&f.messageId!==i?.messageId)&&p.push(...u()),a!==`reasoning`){if(f.messageId===void 0)throw Error(`First REASONING_MESSAGE_CHUNK must have a messageId`);i={messageId:f.messageId},a=`reasoning`;let t={type:l.EventType.REASONING_MESSAGE_START,messageId:f.messageId};p.push(t),e&&console.debug(`[TRANSFORM]: REASONING_MESSAGE_START`,JSON.stringify(t))}if(f.delta!==void 0){let t={type:l.EventType.REASONING_MESSAGE_CONTENT,messageId:i.messageId,delta:f.delta};p.push(t),e&&console.debug(`[TRANSFORM]: REASONING_MESSAGE_CONTENT`,JSON.stringify(t))}return p}return t.type,[]}),(0,d.finalize)(()=>{u()}))};var B=class{runNext(e,t){return t.run(e).pipe(z(!1))}runNextWithState(e,t){let n=_(e.messages||[]),r=_(e.state||{}),i=new d.ReplaySubject;return b(e,i,t,[]).subscribe(e=>{e.messages!==void 0&&(n=e.messages),e.state!==void 0&&(r=e.state)}),this.runNext(e,t).pipe((0,f.concatMap)(async e=>(i.next(e),await new Promise(e=>setTimeout(e,0)),{event:e,messages:_(n),state:_(r)})))}},V=class extends B{constructor(e){super(),this.fn=e}run(e,t){return this.fn(e,t)}},H=class extends B{constructor(e){if(super(),this.blockedToolCallIds=new Set,e.allowedToolCalls&&e.disallowedToolCalls)throw Error(`Cannot specify both allowedToolCalls and disallowedToolCalls`);if(!e.allowedToolCalls&&!e.disallowedToolCalls)throw Error(`Must specify either allowedToolCalls or disallowedToolCalls`);e.allowedToolCalls?this.allowedTools=new Set(e.allowedToolCalls):e.disallowedToolCalls&&(this.disallowedTools=new Set(e.disallowedToolCalls))}run(e,t){return this.runNext(e,t).pipe((0,f.filter)(e=>{if(e.type===l.EventType.TOOL_CALL_START){let t=e;return this.shouldFilterTool(t.toolCallName)?(this.blockedToolCallIds.add(t.toolCallId),!1):!0}if(e.type===l.EventType.TOOL_CALL_ARGS){let t=e;return!this.blockedToolCallIds.has(t.toolCallId)}if(e.type===l.EventType.TOOL_CALL_END){let t=e;return!this.blockedToolCallIds.has(t.toolCallId)}if(e.type===l.EventType.TOOL_CALL_RESULT){let t=e;return this.blockedToolCallIds.has(t.toolCallId)?(this.blockedToolCallIds.delete(t.toolCallId),!1):!0}return!0}))}shouldFilterTool(e){return this.allowedTools?!this.allowedTools.has(e):this.disallowedTools?this.disallowedTools.has(e):!1}};function U(e){let t=e.content;if(Array.isArray(t)){let n=t.filter(e=>typeof e==`object`&&!!e&&`type`in e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(``);return{...e,content:n}}return typeof t==`string`?e:{...e,content:``}}var W=class extends B{run(e,t){let{parentRunId:n,...r}=e,i={...r,messages:r.messages.map(U)};return this.runNext(i,t)}};const G=`THINKING_START`,K=`THINKING_END`,q=`THINKING_TEXT_MESSAGE_START`,J=`THINKING_TEXT_MESSAGE_CONTENT`,Y=`THINKING_TEXT_MESSAGE_END`;var X=class extends B{constructor(...e){super(...e),this.currentReasoningId=null,this.currentMessageId=null}warnAboutTransformation(e,t){process.env.SUPPRESS_TRANSFORMATION_WARNINGS||console.warn(`AG-UI is converting ${e} to ${t}. To remove this warning, upgrade your AG-UI integration package (e.g. @ag-ui/langgraph). To surpress it, set SUPPRESS_TRANSFORMATION_WARNINGS=true in your .env file.`)}run(e,t){return this.currentReasoningId=null,this.currentMessageId=null,this.runNext(e,t).pipe((0,f.map)(e=>this.transformEvent(e)))}transformEvent(e){switch(e.type){case G:{this.currentReasoningId=v();let{title:t,...n}=e;return this.warnAboutTransformation(G,l.EventType.REASONING_START),{...n,type:l.EventType.REASONING_START,messageId:this.currentReasoningId}}case q:return this.currentMessageId=v(),this.warnAboutTransformation(q,l.EventType.REASONING_MESSAGE_START),{...e,type:l.EventType.REASONING_MESSAGE_START,messageId:this.currentMessageId,role:`assistant`};case J:{let{delta:t,...n}=e;return this.warnAboutTransformation(J,l.EventType.REASONING_MESSAGE_CONTENT),{...n,type:l.EventType.REASONING_MESSAGE_CONTENT,messageId:this.currentMessageId??v(),delta:t}}case Y:{let t=this.currentMessageId??v();return this.warnAboutTransformation(Y,l.EventType.REASONING_MESSAGE_END),{...e,type:l.EventType.REASONING_MESSAGE_END,messageId:t}}case K:{let t=this.currentReasoningId??v();return this.warnAboutTransformation(K,l.EventType.REASONING_END),{...e,type:l.EventType.REASONING_END,messageId:t}}default:return e}}},re=`0.0.45`,Z=class{get maxVersion(){return re}constructor({agentId:e,description:t,threadId:n,initialMessages:r,initialState:i,debug:a}={}){this.debug=!1,this.subscribers=[],this.isRunning=!1,this.middlewares=[],this.agentId=e,this.description=t??``,this.threadId=n??(0,c.v4)(),this.messages=_(r??[]),this.state=_(i??{}),this.debug=a??!1,(0,g.compareVersions)(this.maxVersion,`0.0.39`)<=0&&this.middlewares.unshift(new W),(0,g.compareVersions)(this.maxVersion,`0.0.45`)<=0&&this.middlewares.unshift(new X)}subscribe(e){return this.subscribers.push(e),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(t=>t!==e)}}}use(...e){let t=e.map(e=>typeof e==`function`?new V(e):e);return this.middlewares.push(...t),this}async runAgent(e,t){try{this.isRunning=!0,this.agentId=this.agentId??(0,c.v4)();let n=this.prepareRunAgentInput(e),r,i=new Set(this.messages.map(e=>e.id)),a=[{onRunFinishedEvent:e=>{r=e.result}},...this.subscribers,t??{}];await this.onInitialize(n,a),this.activeRunDetach$=new d.Subject;let o;this.activeRunCompletionPromise=new Promise(e=>{o=e}),await(0,d.lastValueFrom)((0,d.pipe)(()=>this.middlewares.length===0?this.run(n):this.middlewares.reduceRight((e,t)=>({run:n=>t.run(n,e)}),this).run(n),z(this.debug),x(this.debug),e=>e.pipe((0,f.takeUntil)(this.activeRunDetach$)),e=>this.apply(n,e,a),e=>this.processApplyEvents(n,e,a),(0,f.catchError)(e=>(this.isRunning=!1,this.onError(n,e,a))),(0,f.finalize)(()=>{this.isRunning=!1,this.onFinalize(n,a),o?.(),o=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}))((0,d.of)(null)));let s=_(this.messages).filter(e=>!i.has(e.id));return{result:r,newMessages:s}}finally{this.isRunning=!1}}connect(e){throw new l.AGUIConnectNotImplementedError}async connectAgent(e,t){try{this.isRunning=!0,this.agentId=this.agentId??(0,c.v4)();let n=this.prepareRunAgentInput(e),r,i=new Set(this.messages.map(e=>e.id)),a=[{onRunFinishedEvent:e=>{r=e.result}},...this.subscribers,t??{}];await this.onInitialize(n,a),this.activeRunDetach$=new d.Subject;let o;this.activeRunCompletionPromise=new Promise(e=>{o=e}),await(0,d.lastValueFrom)((0,d.pipe)(()=>this.connect(n),z(this.debug),x(this.debug),e=>e.pipe((0,f.takeUntil)(this.activeRunDetach$)),e=>this.apply(n,e,a),e=>this.processApplyEvents(n,e,a),(0,f.catchError)(e=>(this.isRunning=!1,e instanceof l.AGUIConnectNotImplementedError?d.EMPTY:this.onError(n,e,a))),(0,f.finalize)(()=>{this.isRunning=!1,this.onFinalize(n,a),o?.(),o=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}))((0,d.of)(null)));let s=_(this.messages).filter(e=>!i.has(e.id));return{result:r,newMessages:s}}finally{this.isRunning=!1}}abortRun(){}async detachActiveRun(){if(!this.activeRunDetach$)return;let e=this.activeRunCompletionPromise??Promise.resolve();this.activeRunDetach$.next(),this.activeRunDetach$?.complete(),await e}apply(e,t,n){return b(e,t,this,n)}processApplyEvents(e,t,n){return t.pipe((0,f.tap)(t=>{t.messages&&(this.messages=t.messages,n.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),t.state&&(this.state=t.state,n.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})}))}))}prepareRunAgentInput(e){let t=_(this.messages).filter(e=>e.role!==`activity`);return{threadId:this.threadId,runId:e?.runId||(0,c.v4)(),tools:_(e?.tools??[]),context:_(e?.context??[]),forwardedProps:_(e?.forwardedProps??{}),state:_(this.state),messages:t}}async onInitialize(e,t){let n=await y(t,this.messages,this.state,(t,n,r)=>t.onRunInitialized?.({messages:n,state:r,agent:this,input:e}));(n.messages!==void 0||n.state!==void 0)&&(n.messages&&(this.messages=n.messages,e.messages=n.messages,t.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),n.state&&(this.state=n.state,e.state=n.state,t.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})})))}onError(e,t,n){return(0,d.from)(y(n,this.messages,this.state,(n,r,i)=>n.onRunFailed?.({error:t,messages:r,state:i,agent:this,input:e}))).pipe((0,f.map)(r=>{let i=r;if((i.messages!==void 0||i.state!==void 0)&&(i.messages!==void 0&&(this.messages=i.messages,n.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),i.state!==void 0&&(this.state=i.state,n.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})}))),i.stopPropagation!==!0)throw console.error(`Agent execution failed:`,t),t;return{}}))}async onFinalize(e,t){let n=await y(t,this.messages,this.state,(t,n,r)=>t.onRunFinalized?.({messages:n,state:r,agent:this,input:e}));(n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,t.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),n.state!==void 0&&(this.state=n.state,t.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})})))}clone(){let e=Object.create(Object.getPrototypeOf(this));return e.agentId=this.agentId,e.description=this.description,e.threadId=this.threadId,e.messages=_(this.messages),e.state=_(this.state),e.debug=this.debug,e.isRunning=this.isRunning,e.subscribers=[...this.subscribers],e.middlewares=[...this.middlewares],e}addMessage(e){this.messages.push(e),(async()=>{for(let t of this.subscribers)await t.onNewMessage?.({message:e,messages:this.messages,state:this.state,agent:this});if(e.role===`assistant`&&e.toolCalls)for(let t of e.toolCalls)for(let e of this.subscribers)await e.onNewToolCall?.({toolCall:t,messages:this.messages,state:this.state,agent:this});for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}addMessages(e){this.messages.push(...e),(async()=>{for(let t of e){for(let e of this.subscribers)await e.onNewMessage?.({message:t,messages:this.messages,state:this.state,agent:this});if(t.role===`assistant`&&t.toolCalls)for(let e of t.toolCalls)for(let t of this.subscribers)await t.onNewToolCall?.({toolCall:e,messages:this.messages,state:this.state,agent:this})}for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}setMessages(e){this.messages=_(e),(async()=>{for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}setState(e){this.state=_(e),(async()=>{for(let e of this.subscribers)await e.onStateChanged?.({messages:this.messages,state:this.state,agent:this})})()}legacy_to_be_removed_runAgentBridged(e){this.agentId=this.agentId??(0,c.v4)();let t=this.prepareRunAgentInput(e);return(this.middlewares.length===0?this.run(t):this.middlewares.reduceRight((e,t)=>({run:n=>t.run(n,e)}),this).run(t)).pipe(z(this.debug),x(this.debug),R(this.threadId,t.runId,this.agentId),e=>e.pipe((0,f.map)(e=>(this.debug&&console.debug(`[LEGACY]:`,JSON.stringify(e)),e))))}},ie=class extends Z{requestInit(e){return{method:`POST`,headers:{...this.headers,"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,t){return this.abortController=e?.abortController??new AbortController,super.runAgent(e,t)}abortRun(){this.abortController.abort(),super.abortRun()}constructor(e){super(e),this.abortController=new AbortController,this.url=e.url,this.headers=_(e.headers??{})}run(e){return E(C(this.url,this.requestInit(e)))}clone(){let e=super.clone();e.url=this.url,e.headers=_(this.headers??{});let t=new AbortController,n=this.abortController.signal;return n.aborted&&t.abort(n.reason),e.abortController=t,e}};function ae(e){let t=[],n=new Map,r=new Map;for(let i of e)if(i.type===l.EventType.TEXT_MESSAGE_START){let e=i,t=e.messageId;n.has(t)||n.set(t,{contents:[],otherEvents:[]});let r=n.get(t);r.start=e}else if(i.type===l.EventType.TEXT_MESSAGE_CONTENT){let e=i,t=e.messageId;n.has(t)||n.set(t,{contents:[],otherEvents:[]}),n.get(t).contents.push(e)}else if(i.type===l.EventType.TEXT_MESSAGE_END){let e=i,r=e.messageId;n.has(r)||n.set(r,{contents:[],otherEvents:[]});let a=n.get(r);a.end=e,Q(r,a,t),n.delete(r)}else if(i.type===l.EventType.TOOL_CALL_START){let e=i,t=e.toolCallId;r.has(t)||r.set(t,{args:[],otherEvents:[]});let n=r.get(t);n.start=e}else if(i.type===l.EventType.TOOL_CALL_ARGS){let e=i,t=e.toolCallId;r.has(t)||r.set(t,{args:[],otherEvents:[]}),r.get(t).args.push(e)}else if(i.type===l.EventType.TOOL_CALL_END){let e=i,n=e.toolCallId;r.has(n)||r.set(n,{args:[],otherEvents:[]});let a=r.get(n);a.end=e,$(n,a,t),r.delete(n)}else{let e=!1;for(let[t,r]of n)if(r.start&&!r.end){r.otherEvents.push(i),e=!0;break}if(!e){for(let[t,n]of r)if(n.start&&!n.end){n.otherEvents.push(i),e=!0;break}}e||t.push(i)}for(let[e,r]of n)Q(e,r,t);for(let[e,n]of r)$(e,n,t);return t}function Q(e,t,n){if(t.start&&n.push(t.start),t.contents.length>0){let r=t.contents.map(e=>e.delta).join(``),i={type:l.EventType.TEXT_MESSAGE_CONTENT,messageId:e,delta:r};n.push(i)}t.end&&n.push(t.end);for(let e of t.otherEvents)n.push(e)}function $(e,t,n){if(t.start&&n.push(t.start),t.args.length>0){let r=t.args.map(e=>e.delta).join(``),i={type:l.EventType.TOOL_CALL_ARGS,toolCallId:e,delta:r};n.push(i)}t.end&&n.push(t.end);for(let e of t.otherEvents)n.push(e)}exports.AbstractAgent=Z,exports.BackwardCompatibility_0_0_39=W,exports.BackwardCompatibility_0_0_45=X,exports.FilterToolCallsMiddleware=H,exports.FunctionMiddleware=V,exports.HttpAgent=ie,exports.Middleware=B,exports.compactEvents=ae,exports.convertToLegacyEvents=R,exports.defaultApplyEvents=b,exports.parseProtoStream=T,exports.parseSSEStream=w,exports.randomUUID=v,exports.runHttpRequest=C,exports.structuredClone_=_,exports.transformChunks=z,exports.transformHttpEventStream=E,exports.verifyEvents=x,Object.keys(l).forEach(function(e){e!==`default`&&!Object.prototype.hasOwnProperty.call(exports,e)&&Object.defineProperty(exports,e,{enumerable:!0,get:function(){return l[e]}})}); | ||
| //# sourceMappingURL=index.js.map |
+4
-7
@@ -1,8 +0,5 @@ | ||
| var It=Object.defineProperty,_t=Object.defineProperties;var Nt=Object.getOwnPropertyDescriptors;var Y=Object.getOwnPropertySymbols;var it=Object.prototype.hasOwnProperty,lt=Object.prototype.propertyIsEnumerable;var rt=(g,a,e)=>a in g?It(g,a,{enumerable:!0,configurable:!0,writable:!0,value:e}):g[a]=e,N=(g,a)=>{for(var e in a||(a={}))it.call(a,e)&&rt(g,e,a[e]);if(Y)for(var e of Y(a))lt.call(a,e)&&rt(g,e,a[e]);return g},G=(g,a)=>_t(g,Nt(a));var gt=(g,a)=>{var e={};for(var n in g)it.call(g,n)&&a.indexOf(n)<0&&(e[n]=g[n]);if(g!=null&&Y)for(var n of Y(g))a.indexOf(n)<0&<.call(g,n)&&(e[n]=g[n]);return e};import{EventType as R}from"@ag-ui/core";import{mergeAll as Lt,defaultIfEmpty as Ot,concatMap as Pt}from"rxjs/operators";import{of as Dt,EMPTY as Ht}from"rxjs";import{v4 as wt}from"uuid";var y=g=>{if(typeof structuredClone=="function")return structuredClone(g);try{return JSON.parse(JSON.stringify(g))}catch(a){return N({},g)}};function Re(){return wt()}import{applyPatch as ct}from"fast-json-patch";async function I(g,a,e,n){let t=a,s=e,r;for(let o of g)try{let i=await n(o,y(t),y(s));if(i===void 0)continue;if(i.messages!==void 0&&(t=i.messages),i.state!==void 0&&(s=i.state),r=i.stopPropagation,r===!0)break}catch(i){process.env.NODE_ENV==="test"||process.env.JEST_WORKER_ID!==void 0||console.error("Subscriber error:",i);continue}return N(N(N({},JSON.stringify(t)!==JSON.stringify(a)?{messages:t}:{}),JSON.stringify(s)!==JSON.stringify(e)?{state:s}:{}),r!==void 0?{stopPropagation:r}:{})}import Gt from"untruncate-json";var $=(g,a,e,n)=>{let t=y(e.messages),s=y(g.state),r={},o=E=>{E.messages!==void 0&&(t=E.messages,r.messages=E.messages),E.state!==void 0&&(s=E.state,r.state=E.state)},i=()=>{let E=y(r);return r={},E.messages!==void 0||E.state!==void 0?Dt(E):Ht};return a.pipe(Pt(async E=>{var T,v,c,b,U;let x=await I(n,t,s,(d,l,p)=>{var m;return(m=d.onEvent)==null?void 0:m.call(d,{event:E,agent:e,input:g,messages:l,state:p})});if(o(x),x.stopPropagation===!0)return i();switch(E.type){case R.TEXT_MESSAGE_START:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onTextMessageStartEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let{messageId:l,role:p="assistant"}=E;if(!t.find(u=>u.id===l)){let u={id:l,role:p,content:""};t.push(u),o({messages:t})}}return i()}case R.TEXT_MESSAGE_CONTENT:{let{messageId:d,delta:l}=E,p=t.find(u=>u.id===d);if(!p)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${d}'`),i();let m=await I(n,t,s,(u,A,h)=>{var _;return(_=u.onTextMessageContentEvent)==null?void 0:_.call(u,{event:E,messages:A,state:h,agent:e,input:g,textMessageBuffer:typeof p.content=="string"?p.content:""})});if(o(m),m.stopPropagation!==!0){let u=typeof p.content=="string"?p.content:"";p.content=`${u}${l}`,o({messages:t})}return i()}case R.TEXT_MESSAGE_END:{let{messageId:d}=E,l=t.find(m=>m.id===d);if(!l)return console.warn(`TEXT_MESSAGE_END: No message found with ID '${d}'`),i();let p=await I(n,t,s,(m,u,A)=>{var h;return(h=m.onTextMessageEndEvent)==null?void 0:h.call(m,{event:E,messages:u,state:A,agent:e,input:g,textMessageBuffer:typeof l.content=="string"?l.content:""})});return o(p),await Promise.all(n.map(m=>{var u;(u=m.onNewMessage)==null||u.call(m,{message:l,messages:t,state:s,agent:e,input:g})})),i()}case R.TOOL_CALL_START:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onToolCallStartEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let{toolCallId:l,toolCallName:p,parentMessageId:m}=E,u;m&&t.length>0&&t[t.length-1].id===m?u=t[t.length-1]:(u={id:m||l,role:"assistant",toolCalls:[]},t.push(u)),(T=u.toolCalls)!=null||(u.toolCalls=[]),u.toolCalls.push({id:l,type:"function",function:{name:p,arguments:""}}),o({messages:t})}return i()}case R.TOOL_CALL_ARGS:{let{toolCallId:d,delta:l}=E,p=t.find(A=>{var h;return(h=A.toolCalls)==null?void 0:h.some(_=>_.id===d)});if(!p)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${d}'`),i();let m=p.toolCalls.find(A=>A.id===d);if(!m)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${d}'`),i();let u=await I(n,t,s,(A,h,_)=>{var Z;let H=m.function.arguments,F=m.function.name,X={};try{X=Gt(H)}catch(ye){}return(Z=A.onToolCallArgsEvent)==null?void 0:Z.call(A,{event:E,messages:h,state:_,agent:e,input:g,toolCallBuffer:H,toolCallName:F,partialToolCallArgs:X})});return o(u),u.stopPropagation!==!0&&(m.function.arguments+=l,o({messages:t})),i()}case R.TOOL_CALL_END:{let{toolCallId:d}=E,l=t.find(u=>{var A;return(A=u.toolCalls)==null?void 0:A.some(h=>h.id===d)});if(!l)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${d}'`),i();let p=l.toolCalls.find(u=>u.id===d);if(!p)return console.warn(`TOOL_CALL_END: No tool call found with ID '${d}'`),i();let m=await I(n,t,s,(u,A,h)=>{var X;let _=p.function.arguments,H=p.function.name,F={};try{F=JSON.parse(_)}catch(Z){}return(X=u.onToolCallEndEvent)==null?void 0:X.call(u,{event:E,messages:A,state:h,agent:e,input:g,toolCallName:H,toolCallArgs:F})});return o(m),await Promise.all(n.map(u=>{var A;(A=u.onNewToolCall)==null||A.call(u,{toolCall:p,messages:t,state:s,agent:e,input:g})})),i()}case R.TOOL_CALL_RESULT:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onToolCallResultEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let{messageId:l,toolCallId:p,content:m,role:u}=E,A={id:l,toolCallId:p,role:u||"tool",content:m};t.push(A),await Promise.all(n.map(h=>{var _;(_=h.onNewMessage)==null||_.call(h,{message:A,messages:t,state:s,agent:e,input:g})})),o({messages:t})}return i()}case R.STATE_SNAPSHOT:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onStateSnapshotEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let{snapshot:l}=E;s=l,o({state:s})}return i()}case R.STATE_DELTA:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onStateDeltaEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let{delta:l}=E;try{s=ct(s,l,!0,!1).newDocument,o({state:s})}catch(p){let m=p instanceof Error?p.message:String(p);console.warn(`Failed to apply state patch: | ||
| Current state: ${JSON.stringify(s,null,2)} | ||
| Patch operations: ${JSON.stringify(l,null,2)} | ||
| Error: ${m}`)}}return i()}case R.MESSAGES_SNAPSHOT:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onMessagesSnapshotEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let{messages:l}=E;t=l,o({messages:t})}return i()}case R.ACTIVITY_SNAPSHOT:{let d=E,l=t.findIndex(h=>h.id===d.messageId),p=l>=0?t[l]:void 0,m=(p==null?void 0:p.role)==="activity"?p:void 0,u=(v=d.replace)!=null?v:!0,A=await I(n,t,s,(h,_,H)=>{var F;return(F=h.onActivitySnapshotEvent)==null?void 0:F.call(h,{event:d,messages:_,state:H,agent:e,input:g,activityMessage:m,existingMessage:p})});if(o(A),A.stopPropagation!==!0){let h={id:d.messageId,role:"activity",activityType:d.activityType,content:y(d.content)},_;l===-1?(t.push(h),_=h):m?u&&(t[l]=G(N({},m),{activityType:d.activityType,content:y(d.content)})):u&&(t[l]=h,_=h),o({messages:t}),_&&await Promise.all(n.map(H=>{var F;return(F=H.onNewMessage)==null?void 0:F.call(H,{message:_,messages:t,state:s,agent:e,input:g})}))}return i()}case R.ACTIVITY_DELTA:{let d=E,l=t.findIndex(A=>A.id===d.messageId);if(l===-1)return console.warn(`ACTIVITY_DELTA: No message found with ID '${d.messageId}' to apply patch`),i();let p=t[l];if(p.role!=="activity")return console.warn(`ACTIVITY_DELTA: Message '${d.messageId}' is not an activity message`),i();let m=p,u=await I(n,t,s,(A,h,_)=>{var H;return(H=A.onActivityDeltaEvent)==null?void 0:H.call(A,{event:d,messages:h,state:_,agent:e,input:g,activityMessage:m})});if(o(u),u.stopPropagation!==!0)try{let A=y((c=m.content)!=null?c:{}),_=ct(A,(b=d.patch)!=null?b:[],!0,!1).newDocument;t[l]=G(N({},m),{content:y(_),activityType:d.activityType}),o({messages:t})}catch(A){let h=A instanceof Error?A.message:String(A);console.warn(`Failed to apply activity patch for '${d.messageId}': ${h}`)}return i()}case R.RAW:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onRawEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});return o(d),i()}case R.CUSTOM:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onCustomEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});return o(d),i()}case R.RUN_STARTED:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onRunStartedEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});if(o(d),d.stopPropagation!==!0){let l=E;if((U=l.input)!=null&&U.messages){for(let p of l.input.messages)t.find(u=>u.id===p.id)||t.push(p);o({messages:t})}}return i()}case R.RUN_FINISHED:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onRunFinishedEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g,result:E.result})});return o(d),i()}case R.RUN_ERROR:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onRunErrorEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});return o(d),i()}case R.STEP_STARTED:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onStepStartedEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});return o(d),i()}case R.STEP_FINISHED:{let d=await I(n,t,s,(l,p,m)=>{var u;return(u=l.onStepFinishedEvent)==null?void 0:u.call(l,{event:E,messages:p,state:m,agent:e,input:g})});return o(d),i()}case R.TEXT_MESSAGE_CHUNK:throw new Error("TEXT_MESSAGE_CHUNK must be tranformed before being applied");case R.TOOL_CALL_CHUNK:throw new Error("TOOL_CALL_CHUNK must be tranformed before being applied");case R.THINKING_START:return i();case R.THINKING_END:return i();case R.THINKING_TEXT_MESSAGE_START:return i();case R.THINKING_TEXT_MESSAGE_CONTENT:return i();case R.THINKING_TEXT_MESSAGE_END:return i()}let S=E.type;return i()}),Lt(),n.length>0?Ot({}):E=>E)};import{EventType as w,AGUIError as L}from"@ag-ui/core";import{throwError as O,of as P}from"rxjs";import{mergeMap as bt}from"rxjs/operators";var z=g=>a=>{let e=new Map,n=new Map,t=!1,s=!1,r=!1,o=new Map,i=!1,E=!1,x=!1,S=()=>{e.clear(),n.clear(),o.clear(),i=!1,E=!1,t=!1,s=!1,x=!0};return a.pipe(bt(T=>{let v=T.type;if(g&&console.debug("[VERIFY]:",JSON.stringify(T)),s)return O(()=>new L(`Cannot send event type '${v}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(t&&v!==w.RUN_ERROR&&v!==w.RUN_STARTED)return O(()=>new L(`Cannot send event type '${v}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(r){if(v===w.RUN_STARTED){if(x&&!t)return O(()=>new L("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&&S()}}else if(r=!0,v!==w.RUN_STARTED&&v!==w.RUN_ERROR)return O(()=>new L("First event must be 'RUN_STARTED'"));switch(v){case w.TEXT_MESSAGE_START:{let c=T.messageId;return e.has(c)?O(()=>new L(`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),P(T))}case w.TEXT_MESSAGE_CONTENT:{let c=T.messageId;return e.has(c)?P(T):O(()=>new L(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${c}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case w.TEXT_MESSAGE_END:{let c=T.messageId;return e.has(c)?(e.delete(c),P(T)):O(()=>new L(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${c}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case w.TOOL_CALL_START:{let c=T.toolCallId;return n.has(c)?O(()=>new L(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${c}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(n.set(c,!0),P(T))}case w.TOOL_CALL_ARGS:{let c=T.toolCallId;return n.has(c)?P(T):O(()=>new L(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${c}'. Start a tool call with 'TOOL_CALL_START' first.`))}case w.TOOL_CALL_END:{let c=T.toolCallId;return n.has(c)?(n.delete(c),P(T)):O(()=>new L(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${c}'. A 'TOOL_CALL_START' event must be sent first.`))}case w.STEP_STARTED:{let c=T.stepName;return o.has(c)?O(()=>new L(`Step "${c}" is already active for 'STEP_STARTED'`)):(o.set(c,!0),P(T))}case w.STEP_FINISHED:{let c=T.stepName;return o.has(c)?(o.delete(c),P(T)):O(()=>new L(`Cannot send 'STEP_FINISHED' for step "${c}" that was not started`))}case w.RUN_STARTED:return x=!0,P(T);case w.RUN_FINISHED:{if(o.size>0){let c=Array.from(o.keys()).join(", ");return O(()=>new L(`Cannot send 'RUN_FINISHED' while steps are still active: ${c}`))}if(e.size>0){let c=Array.from(e.keys()).join(", ");return O(()=>new L(`Cannot send 'RUN_FINISHED' while text messages are still active: ${c}`))}if(n.size>0){let c=Array.from(n.keys()).join(", ");return O(()=>new L(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${c}`))}return t=!0,P(T)}case w.RUN_ERROR:return s=!0,P(T);case w.CUSTOM:return P(T);case w.THINKING_TEXT_MESSAGE_START:return i?E?O(()=>new L("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.")):(E=!0,P(T)):O(()=>new L("Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first."));case w.THINKING_TEXT_MESSAGE_CONTENT:return E?P(T):O(()=>new L("Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first."));case w.THINKING_TEXT_MESSAGE_END:return E?(E=!1,P(T)):O(()=>new L("Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first."));case w.THINKING_START:return i?O(()=>new L("Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.")):(i=!0,P(T));case w.THINKING_END:return i?(i=!1,P(T)):O(()=>new L("Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first."));default:return P(T)}}))};import{EventSchemas as $t}from"@ag-ui/core";import{Subject as zt,ReplaySubject as Kt}from"rxjs";import{Observable as Ft,from as ut,defer as kt,throwError as dt}from"rxjs";import{mergeMap as Bt,switchMap as Ut}from"rxjs/operators";var tt=(g,a)=>kt(()=>ut(fetch(g,a))).pipe(Ut(e=>{var s;if(!e.ok){let r=e.headers.get("content-type")||"";return ut(e.text()).pipe(Bt(o=>{let i=o;if(r.includes("application/json"))try{i=JSON.parse(o)}catch(x){}let E=new Error(`HTTP ${e.status}: ${typeof i=="string"?i:JSON.stringify(i)}`);return E.status=e.status,E.payload=i,dt(()=>E)}))}let n={type:"headers",status:e.status,headers:e.headers},t=(s=e.body)==null?void 0:s.getReader();return t?new Ft(r=>(r.next(n),(async()=>{try{for(;;){let{done:o,value:i}=await t.read();if(o)break;let E={type:"data",data:i};r.next(E)}r.complete()}catch(o){r.error(o)}})(),()=>{t.cancel().catch(o=>{if((o==null?void 0:o.name)!=="AbortError")throw o})})):dt(()=>new Error("Failed to getReader() from response"))}));import{Subject as jt}from"rxjs";var et=g=>{let a=new jt,e=new TextDecoder("utf-8",{fatal:!1}),n="";g.subscribe({next:s=>{if(s.type!=="headers"&&s.type==="data"&&s.data){let r=e.decode(s.data,{stream:!0});n+=r;let o=n.split(/\n\n/);n=o.pop()||"";for(let i of o)t(i)}},error:s=>a.error(s),complete:()=>{n&&(n+=e.decode(),t(n)),a.complete()}});function t(s){let r=s.split(` | ||
| `),o=[];for(let i of r)i.startsWith("data:")&&o.push(i.slice(5).replace(/^ /,""));if(o.length>0)try{let i=o.join(` | ||
| `),E=JSON.parse(i);a.next(E)}catch(i){a.error(i)}}return a.asObservable()};import{Subject as Xt}from"rxjs";import*as Et from"@ag-ui/proto";var nt=g=>{let a=new Xt,e=new Uint8Array(0);g.subscribe({next:t=>{if(t.type!=="headers"&&t.type==="data"&&t.data){let s=new Uint8Array(e.length+t.data.length);s.set(e,0),s.set(t.data,e.length),e=s,n()}},error:t=>a.error(t),complete:()=>{if(e.length>0)try{n()}catch(t){console.warn("Incomplete or invalid protocol buffer data at stream end")}a.complete()}});function n(){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),i=Et.decode(o);a.next(i),e=e.slice(r)}catch(o){let i=o instanceof Error?o.message:String(o);a.error(new Error(`Failed to decode protocol buffer message: ${i}`));return}}}return a.asObservable()};import*as pt from"@ag-ui/proto";import{EventType as Jt}from"@ag-ui/core";var st=g=>{let a=new zt,e=new Kt,n=!1;return g.subscribe({next:t=>{e.next(t),t.type==="headers"&&!n?(n=!0,t.headers.get("content-type")===pt.AGUI_MEDIA_TYPE?nt(e).subscribe({next:r=>a.next(r),error:r=>a.error(r),complete:()=>a.complete()}):et(e).subscribe({next:r=>{try{let o=$t.parse(r);a.next(o)}catch(o){a.error(o)}},error:r=>{if((r==null?void 0:r.name)==="AbortError"){a.next({type:Jt.RUN_ERROR,message:r.message||"Request aborted",code:"abort",rawEvent:r}),a.complete();return}return a.error(r)},complete:()=>a.complete()})):n||a.error(new Error("No headers event received before data events"))},error:t=>{e.error(t),a.error(t)},complete:()=>{e.complete()}}),a.asObservable()};import{mergeMap as oe}from"rxjs/operators";import{applyPatch as re}from"fast-json-patch";import{EventType as D}from"@ag-ui/core";import{z as f}from"zod";var C=f.enum(["TextMessageStart","TextMessageContent","TextMessageEnd","ActionExecutionStart","ActionExecutionArgs","ActionExecutionEnd","ActionExecutionResult","AgentStateMessage","MetaEvent","RunStarted","RunFinished","RunError","NodeStarted","NodeFinished"]),Vt=f.enum(["LangGraphInterruptEvent","PredictState","Exit"]),Wt=f.object({type:f.literal(C.enum.TextMessageStart),messageId:f.string(),parentMessageId:f.string().optional(),role:f.string().optional()}),Yt=f.object({type:f.literal(C.enum.TextMessageContent),messageId:f.string(),content:f.string()}),qt=f.object({type:f.literal(C.enum.TextMessageEnd),messageId:f.string()}),Qt=f.object({type:f.literal(C.enum.ActionExecutionStart),actionExecutionId:f.string(),actionName:f.string(),parentMessageId:f.string().optional()}),Zt=f.object({type:f.literal(C.enum.ActionExecutionArgs),actionExecutionId:f.string(),args:f.string()}),te=f.object({type:f.literal(C.enum.ActionExecutionEnd),actionExecutionId:f.string()}),ee=f.object({type:f.literal(C.enum.ActionExecutionResult),actionName:f.string(),actionExecutionId:f.string(),result:f.string()}),ne=f.object({type:f.literal(C.enum.AgentStateMessage),threadId:f.string(),agentName:f.string(),nodeName:f.string(),runId:f.string(),active:f.boolean(),role:f.string(),state:f.string(),running:f.boolean()}),se=f.object({type:f.literal(C.enum.MetaEvent),name:Vt,value:f.any()}),ae=f.object({type:f.literal(C.enum.RunError),message:f.string(),code:f.string().optional()}),Qn=f.discriminatedUnion("type",[Wt,Yt,qt,Qt,Zt,te,ee,ne,se,ae]),Zn=f.object({id:f.string(),role:f.string(),content:f.string(),parentMessageId:f.string().optional()}),ts=f.object({id:f.string(),name:f.string(),arguments:f.any(),parentMessageId:f.string().optional()}),es=f.object({id:f.string(),result:f.any(),actionExecutionId:f.string(),actionName:f.string()});import ie from"untruncate-json";var le=g=>{if(typeof g=="string")return g;if(!Array.isArray(g))return;let a=g.filter(e=>e.type==="text").map(e=>e.text).filter(e=>e.length>0);if(a.length!==0)return a.join(` | ||
| `)},at=(g,a,e)=>n=>{let t={},s=!0,r=!0,o="",i=null,E=null,x=[],S={},T=v=>{typeof v=="object"&&v!==null&&("messages"in v&&delete v.messages,t=v)};return n.pipe(oe(v=>{switch(v.type){case D.TEXT_MESSAGE_START:{let c=v;return[{type:C.enum.TextMessageStart,messageId:c.messageId,role:c.role}]}case D.TEXT_MESSAGE_CONTENT:{let c=v;return[{type:C.enum.TextMessageContent,messageId:c.messageId,content:c.delta}]}case D.TEXT_MESSAGE_END:{let c=v;return[{type:C.enum.TextMessageEnd,messageId:c.messageId}]}case D.TOOL_CALL_START:{let c=v;return x.push({id:c.toolCallId,type:"function",function:{name:c.toolCallName,arguments:""}}),r=!0,S[c.toolCallId]=c.toolCallName,[{type:C.enum.ActionExecutionStart,actionExecutionId:c.toolCallId,actionName:c.toolCallName,parentMessageId:c.parentMessageId}]}case D.TOOL_CALL_ARGS:{let c=v,b=x.find(d=>d.id===c.toolCallId);if(!b)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${c.toolCallId}'`),[];b.function.arguments+=c.delta;let U=!1;if(E){let d=E.find(l=>l.tool==b.function.name);if(d)try{let l=JSON.parse(ie(b.function.arguments));d.tool_argument&&d.tool_argument in l?(T(G(N({},t),{[d.state_key]:l[d.tool_argument]})),U=!0):d.tool_argument||(T(G(N({},t),{[d.state_key]:l})),U=!0)}catch(l){}}return[{type:C.enum.ActionExecutionArgs,actionExecutionId:c.toolCallId,args:c.delta},...U?[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(t),active:r}]:[]]}case D.TOOL_CALL_END:{let c=v;return[{type:C.enum.ActionExecutionEnd,actionExecutionId:c.toolCallId}]}case D.TOOL_CALL_RESULT:{let c=v;return[{type:C.enum.ActionExecutionResult,actionExecutionId:c.toolCallId,result:c.content,actionName:S[c.toolCallId]||"unknown"}]}case D.RAW:return[];case D.CUSTOM:{let c=v;switch(c.name){case"Exit":s=!1;break;case"PredictState":E=c.value;break}return[{type:C.enum.MetaEvent,name:c.name,value:c.value}]}case D.STATE_SNAPSHOT:return T(v.snapshot),[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(t),active:r}];case D.STATE_DELTA:{let b=re(t,v.delta,!0,!1);return b?(T(b.newDocument),[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(t),active:r}]):[]}case D.MESSAGES_SNAPSHOT:return i=v.messages,[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(N(N({},t),i?{messages:i}:{})),active:!0}];case D.RUN_STARTED:return[];case D.RUN_FINISHED:return i&&(t.messages=i),Object.keys(t).length===0?[]:[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(N(N({},t),i?{messages:ge(i)}:{})),active:!1}];case D.RUN_ERROR:{let c=v;return[{type:C.enum.RunError,message:c.message,code:c.code}]}case D.STEP_STARTED:return o=v.stepName,x=[],E=null,[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(t),active:!0}];case D.STEP_FINISHED:return x=[],E=null,[{type:C.enum.AgentStateMessage,threadId:g,agentName:e,nodeName:o,runId:a,running:s,role:"assistant",state:JSON.stringify(t),active:!1}];default:return[]}}))};function ge(g){var e;let a=[];for(let n of g)if(n.role==="assistant"||n.role==="user"||n.role==="system"){let t=le(n.content);if(t){let s={id:n.id,role:n.role,content:t};a.push(s)}if(n.role==="assistant"&&n.toolCalls&&n.toolCalls.length>0)for(let s of n.toolCalls){let r={id:s.id,name:s.function.name,arguments:JSON.parse(s.function.arguments),parentMessageId:n.id};a.push(r)}}else if(n.role==="tool"){let t="unknown";for(let r of g)if(r.role==="assistant"&&((e=r.toolCalls)!=null&&e.length)){for(let o of r.toolCalls)if(o.id===n.toolCallId){t=o.function.name;break}}let s={id:n.id,result:n.content,actionExecutionId:n.toolCallId,actionName:t};a.push(s)}return a}import{v4 as V}from"uuid";import{compareVersions as Te}from"compare-versions";import{catchError as ft,map as Tt,tap as Se}from"rxjs/operators";import{finalize as St}from"rxjs/operators";import{takeUntil as vt}from"rxjs/operators";import{pipe as At,from as ve,of as ht,EMPTY as Ae,Subject as yt}from"rxjs";import{lastValueFrom as Mt}from"rxjs";import{mergeMap as ce,finalize as ue}from"rxjs";import{EventType as M}from"@ag-ui/core";var j=g=>a=>{let e,n,t,s=()=>{if(!e||t!=="text")throw new Error("No text message to close");let i={type:M.TEXT_MESSAGE_END,messageId:e.messageId};return t=void 0,e=void 0,g&&console.debug("[TRANSFORM]: TEXT_MESSAGE_END",JSON.stringify(i)),i},r=()=>{if(!n||t!=="tool")throw new Error("No tool call to close");let i={type:M.TOOL_CALL_END,toolCallId:n.toolCallId};return t=void 0,n=void 0,g&&console.debug("[TRANSFORM]: TOOL_CALL_END",JSON.stringify(i)),i},o=()=>t==="text"?[s()]:t==="tool"?[r()]:[];return a.pipe(ce(i=>{switch(i.type){case M.TEXT_MESSAGE_START:case M.TEXT_MESSAGE_CONTENT:case M.TEXT_MESSAGE_END:case M.TOOL_CALL_START:case M.TOOL_CALL_ARGS:case M.TOOL_CALL_END:case M.TOOL_CALL_RESULT:case M.STATE_SNAPSHOT:case M.STATE_DELTA:case M.MESSAGES_SNAPSHOT:case M.CUSTOM:case M.RUN_STARTED:case M.RUN_FINISHED:case M.RUN_ERROR:case M.STEP_STARTED:case M.STEP_FINISHED:case M.THINKING_START:case M.THINKING_END:case M.THINKING_TEXT_MESSAGE_START:case M.THINKING_TEXT_MESSAGE_CONTENT:case M.THINKING_TEXT_MESSAGE_END:return[...o(),i];case M.RAW:case M.ACTIVITY_SNAPSHOT:case M.ACTIVITY_DELTA:return[i];case M.TEXT_MESSAGE_CHUNK:let x=i,S=[];if((t!=="text"||x.messageId!==void 0&&x.messageId!==(e==null?void 0:e.messageId))&&S.push(...o()),t!=="text"){if(x.messageId===void 0)throw new Error("First TEXT_MESSAGE_CHUNK must have a messageId");e={messageId:x.messageId},t="text";let c={type:M.TEXT_MESSAGE_START,messageId:x.messageId,role:x.role||"assistant"};S.push(c),g&&console.debug("[TRANSFORM]: TEXT_MESSAGE_START",JSON.stringify(c))}if(x.delta!==void 0){let c={type:M.TEXT_MESSAGE_CONTENT,messageId:e.messageId,delta:x.delta};S.push(c),g&&console.debug("[TRANSFORM]: TEXT_MESSAGE_CONTENT",JSON.stringify(c))}return S;case M.TOOL_CALL_CHUNK:let T=i,v=[];if((t!=="tool"||T.toolCallId!==void 0&&T.toolCallId!==(n==null?void 0:n.toolCallId))&&v.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");n={toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId},t="tool";let c={type:M.TOOL_CALL_START,toolCallId:T.toolCallId,toolCallName:T.toolCallName,parentMessageId:T.parentMessageId};v.push(c),g&&console.debug("[TRANSFORM]: TOOL_CALL_START",JSON.stringify(c))}if(T.delta!==void 0){let c={type:M.TOOL_CALL_ARGS,toolCallId:n.toolCallId,delta:T.delta};v.push(c),g&&console.debug("[TRANSFORM]: TOOL_CALL_ARGS",JSON.stringify(c))}return v}let E=i.type;return[]}),ue(()=>{o()}))};import{AGUIConnectNotImplementedError as Ct}from"@ag-ui/core";import{ReplaySubject as de}from"rxjs";import{concatMap as Ee}from"rxjs/operators";var k=class{runNext(a,e){return e.run(a).pipe(j(!1))}runNextWithState(a,e){let n=y(a.messages||[]),t=y(a.state||{}),s=new de;return $(a,s,e,[]).subscribe(o=>{o.messages!==void 0&&(n=o.messages),o.state!==void 0&&(t=o.state)}),this.runNext(a,e).pipe(Ee(async o=>(s.next(o),await new Promise(i=>setTimeout(i,0)),{event:o,messages:y(n),state:y(t)})))}},K=class extends k{constructor(e){super();this.fn=e}run(e,n){return this.fn(e,n)}};import{EventType as q}from"@ag-ui/core";import{filter as pe}from"rxjs/operators";var Q=class extends k{constructor(e){super();this.blockedToolCallIds=new Set;if(e.allowedToolCalls&&e.disallowedToolCalls)throw new Error("Cannot specify both allowedToolCalls and disallowedToolCalls");if(!e.allowedToolCalls&&!e.disallowedToolCalls)throw new Error("Must specify either allowedToolCalls or disallowedToolCalls");e.allowedToolCalls?this.allowedTools=new Set(e.allowedToolCalls):e.disallowedToolCalls&&(this.disallowedTools=new Set(e.disallowedToolCalls))}run(e,n){return this.runNext(e,n).pipe(pe(t=>{if(t.type===q.TOOL_CALL_START){let s=t;return this.shouldFilterTool(s.toolCallName)?(this.blockedToolCallIds.add(s.toolCallId),!1):!0}if(t.type===q.TOOL_CALL_ARGS){let s=t;return!this.blockedToolCallIds.has(s.toolCallId)}if(t.type===q.TOOL_CALL_END){let s=t;return!this.blockedToolCallIds.has(s.toolCallId)}if(t.type===q.TOOL_CALL_RESULT){let s=t;return this.blockedToolCallIds.has(s.toolCallId)?(this.blockedToolCallIds.delete(s.toolCallId),!1):!0}return!0}))}shouldFilterTool(e){return this.allowedTools?!this.allowedTools.has(e):this.disallowedTools?this.disallowedTools.has(e):!1}};function me(g){let a=g.content;if(Array.isArray(a)){let e=a.filter(n=>typeof n=="object"&&n!==null&&"type"in n&&n.type==="text"&&typeof n.text=="string").map(n=>n.text).join("");return G(N({},g),{content:e})}return typeof a=="string"?g:G(N({},g),{content:""})}var J=class extends k{run(a,e){let r=a,{parentRunId:n}=r,t=gt(r,["parentRunId"]),s=G(N({},t),{messages:t.messages.map(me)});return this.runNext(s,e)}};var mt={name:"@ag-ui/client",author:"Markus Ecker <markus.ecker@gmail.com>",version:"0.0.45-alpha.0",private:!1,publishConfig:{access:"public"},main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",sideEffects:!1,files:["dist/**","README.md"],scripts:{build:"tsup",dev:"tsup --watch",clean:"rm -rf dist .turbo node_modules",typecheck:"tsc --noEmit",test:"jest","link:global":"pnpm link --global","unlink:global":"pnpm unlink --global"},dependencies:{"@ag-ui/core":"workspace:*","@ag-ui/encoder":"workspace:*","@ag-ui/proto":"workspace:*","@types/uuid":"^10.0.0","compare-versions":"^6.1.1","fast-json-patch":"^3.1.1",rxjs:"7.8.1","untruncate-json":"^0.0.1",uuid:"^11.1.0",zod:"^3.22.4"},devDependencies:{"@types/jest":"^29.5.14","@types/node":"^20.11.19",jest:"^29.7.0","ts-jest":"^29.1.2",tsup:"^8.0.2",typescript:"^5.3.3"}};var W=class{constructor({agentId:a,description:e,threadId:n,initialMessages:t,initialState:s,debug:r}={}){this.debug=!1;this.subscribers=[];this.isRunning=!1;this.middlewares=[];this.agentId=a,this.description=e!=null?e:"",this.threadId=n!=null?n:V(),this.messages=y(t!=null?t:[]),this.state=y(s!=null?s:{}),this.debug=r!=null?r:!1,Te(this.maxVersion,"0.0.39")<=0&&this.middlewares.unshift(new J)}get maxVersion(){return mt.version}subscribe(a){return this.subscribers.push(a),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(e=>e!==a)}}}use(...a){let e=a.map(n=>typeof n=="function"?new K(n):n);return this.middlewares.push(...e),this}async runAgent(a,e){var n;try{this.isRunning=!0,this.agentId=(n=this.agentId)!=null?n:V();let t=this.prepareRunAgentInput(a),s,r=new Set(this.messages.map(S=>S.id)),o=[{onRunFinishedEvent:S=>{s=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o),this.activeRunDetach$=new yt;let i;this.activeRunCompletionPromise=new Promise(S=>{i=S});let E=At(()=>this.middlewares.length===0?this.run(t):this.middlewares.reduceRight((T,v)=>({run:c=>v.run(c,T)}),this).run(t),j(this.debug),z(this.debug),S=>S.pipe(vt(this.activeRunDetach$)),S=>this.apply(t,S,o),S=>this.processApplyEvents(t,S,o),ft(S=>(this.isRunning=!1,this.onError(t,S,o))),St(()=>{this.isRunning=!1,this.onFinalize(t,o),i==null||i(),i=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}));await Mt(E(ht(null)));let x=y(this.messages).filter(S=>!r.has(S.id));return{result:s,newMessages:x}}finally{this.isRunning=!1}}connect(a){throw new Ct}fetchRunHistory(a){return Promise.resolve(void 0)}async connectAgent(a,e){var n;try{this.isRunning=!0,this.agentId=(n=this.agentId)!=null?n:V();let t=this.prepareRunAgentInput(a),s,r=new Set(this.messages.map(S=>S.id)),o=[{onRunFinishedEvent:S=>{s=S.result}},...this.subscribers,e!=null?e:{}];await this.onInitialize(t,o),this.activeRunDetach$=new yt;let i;this.activeRunCompletionPromise=new Promise(S=>{i=S});let E=At(()=>this.connect(t),j(this.debug),z(this.debug),S=>S.pipe(vt(this.activeRunDetach$)),S=>this.apply(t,S,o),S=>this.processApplyEvents(t,S,o),ft(S=>(this.isRunning=!1,S instanceof Ct?Ae:this.onError(t,S,o))),St(()=>{this.isRunning=!1,this.onFinalize(t,o),i==null||i(),i=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}));await Mt(E(ht(null)));let x=y(this.messages).filter(S=>!r.has(S.id));return{result:s,newMessages:x}}finally{this.isRunning=!1}}abortRun(){}async detachActiveRun(){var e,n;if(!this.activeRunDetach$)return;let a=(e=this.activeRunCompletionPromise)!=null?e:Promise.resolve();this.activeRunDetach$.next(),(n=this.activeRunDetach$)==null||n.complete(),await a}apply(a,e,n){return $(a,e,this,n)}processApplyEvents(a,e,n){return e.pipe(Se(t=>{t.messages&&(this.messages=t.messages,n.forEach(s=>{var r;(r=s.onMessagesChanged)==null||r.call(s,{messages:this.messages,state:this.state,agent:this,input:a})})),t.state&&(this.state=t.state,n.forEach(s=>{var r;(r=s.onStateChanged)==null||r.call(s,{state:this.state,messages:this.messages,agent:this,input:a})}))}))}prepareRunAgentInput(a){var t,s,r;let n=y(this.messages).filter(o=>o.role!=="activity");return{threadId:this.threadId,runId:(a==null?void 0:a.runId)||V(),tools:y((t=a==null?void 0:a.tools)!=null?t:[]),context:y((s=a==null?void 0:a.context)!=null?s:[]),forwardedProps:y((r=a==null?void 0:a.forwardedProps)!=null?r:{}),state:y(this.state),messages:n}}async onInitialize(a,e){let n=await I(e,this.messages,this.state,(t,s,r)=>{var o;return(o=t.onRunInitialized)==null?void 0:o.call(t,{messages:s,state:r,agent:this,input:a})});(n.messages!==void 0||n.state!==void 0)&&(n.messages&&(this.messages=n.messages,a.messages=n.messages,e.forEach(t=>{var s;(s=t.onMessagesChanged)==null||s.call(t,{messages:this.messages,state:this.state,agent:this,input:a})})),n.state&&(this.state=n.state,a.state=n.state,e.forEach(t=>{var s;(s=t.onStateChanged)==null||s.call(t,{state:this.state,messages:this.messages,agent:this,input:a})})))}onError(a,e,n){return ve(I(n,this.messages,this.state,(t,s,r)=>{var o;return(o=t.onRunFailed)==null?void 0:o.call(t,{error:e,messages:s,state:r,agent:this,input:a})})).pipe(Tt(t=>{let s=t;if((s.messages!==void 0||s.state!==void 0)&&(s.messages!==void 0&&(this.messages=s.messages,n.forEach(r=>{var o;(o=r.onMessagesChanged)==null||o.call(r,{messages:this.messages,state:this.state,agent:this,input:a})})),s.state!==void 0&&(this.state=s.state,n.forEach(r=>{var o;(o=r.onStateChanged)==null||o.call(r,{state:this.state,messages:this.messages,agent:this,input:a})}))),s.stopPropagation!==!0)throw console.error("Agent execution failed:",e),e;return{}}))}async onFinalize(a,e){let n=await I(e,this.messages,this.state,(t,s,r)=>{var o;return(o=t.onRunFinalized)==null?void 0:o.call(t,{messages:s,state:r,agent:this,input:a})});(n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,e.forEach(t=>{var s;(s=t.onMessagesChanged)==null||s.call(t,{messages:this.messages,state:this.state,agent:this,input:a})})),n.state!==void 0&&(this.state=n.state,e.forEach(t=>{var s;(s=t.onStateChanged)==null||s.call(t,{state:this.state,messages:this.messages,agent:this,input:a})})))}clone(){let a=Object.create(Object.getPrototypeOf(this));return a.agentId=this.agentId,a.description=this.description,a.threadId=this.threadId,a.messages=y(this.messages),a.state=y(this.state),a.debug=this.debug,a.isRunning=this.isRunning,a.subscribers=[...this.subscribers],a.middlewares=[...this.middlewares],a}addMessage(a){this.messages.push(a),(async()=>{var e,n,t;for(let s of this.subscribers)await((e=s.onNewMessage)==null?void 0:e.call(s,{message:a,messages:this.messages,state:this.state,agent:this}));if(a.role==="assistant"&&a.toolCalls)for(let s of a.toolCalls)for(let r of this.subscribers)await((n=r.onNewToolCall)==null?void 0:n.call(r,{toolCall:s,messages:this.messages,state:this.state,agent:this}));for(let s of this.subscribers)await((t=s.onMessagesChanged)==null?void 0:t.call(s,{messages:this.messages,state:this.state,agent:this}))})()}addMessages(a){this.messages.push(...a),(async()=>{var e,n,t;for(let s of a){for(let r of this.subscribers)await((e=r.onNewMessage)==null?void 0:e.call(r,{message:s,messages:this.messages,state:this.state,agent:this}));if(s.role==="assistant"&&s.toolCalls)for(let r of s.toolCalls)for(let o of this.subscribers)await((n=o.onNewToolCall)==null?void 0:n.call(o,{toolCall:r,messages:this.messages,state:this.state,agent:this}))}for(let s of this.subscribers)await((t=s.onMessagesChanged)==null?void 0:t.call(s,{messages:this.messages,state:this.state,agent:this}))})()}setMessages(a){this.messages=y(a),(async()=>{var e;for(let n of this.subscribers)await((e=n.onMessagesChanged)==null?void 0:e.call(n,{messages:this.messages,state:this.state,agent:this}))})()}setState(a){this.state=y(a),(async()=>{var e;for(let n of this.subscribers)await((e=n.onStateChanged)==null?void 0:e.call(n,{messages:this.messages,state:this.state,agent:this}))})()}legacy_to_be_removed_runAgentBridged(a){var t;this.agentId=(t=this.agentId)!=null?t:V();let e=this.prepareRunAgentInput(a);return(this.middlewares.length===0?this.run(e):this.middlewares.reduceRight((r,o)=>({run:i=>o.run(i,r)}),this).run(e)).pipe(j(this.debug),z(this.debug),at(this.threadId,e.runId,this.agentId),s=>s.pipe(Tt(r=>(this.debug&&console.debug("[LEGACY]:",JSON.stringify(r)),r))))}};var ot=class extends W{constructor(e){var n;super(e);this.abortController=new AbortController;this.url=e.url,this.headers=y((n=e.headers)!=null?n:{})}requestInit(e){return{method:"POST",headers:G(N({},this.headers),{"Content-Type":"application/json",Accept:"text/event-stream"}),body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,n){var t;return this.abortController=(t=e==null?void 0:e.abortController)!=null?t:new AbortController,super.runAgent(e,n)}abortRun(){this.abortController.abort(),super.abortRun()}run(e){let n=tt(this.url,this.requestInit(e));return st(n)}clone(){var s;let e=super.clone();e.url=this.url,e.headers=y((s=this.headers)!=null?s:{});let n=new AbortController,t=this.abortController.signal;return t.aborted&&n.abort(t.reason),e.abortController=n,e}};import{EventType as B}from"@ag-ui/core";function he(g){let a=[],e=new Map,n=new Map;for(let t of g)if(t.type===B.TEXT_MESSAGE_START){let s=t,r=s.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.start=s}else if(t.type===B.TEXT_MESSAGE_CONTENT){let s=t,r=s.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]}),e.get(r).contents.push(s)}else if(t.type===B.TEXT_MESSAGE_END){let s=t,r=s.messageId;e.has(r)||e.set(r,{contents:[],otherEvents:[]});let o=e.get(r);o.end=s,Rt(r,o,a),e.delete(r)}else if(t.type===B.TOOL_CALL_START){let s=t,r=s.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]});let o=n.get(r);o.start=s}else if(t.type===B.TOOL_CALL_ARGS){let s=t,r=s.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]}),n.get(r).args.push(s)}else if(t.type===B.TOOL_CALL_END){let s=t,r=s.toolCallId;n.has(r)||n.set(r,{args:[],otherEvents:[]});let o=n.get(r);o.end=s,xt(r,o,a),n.delete(r)}else{let s=!1;for(let[r,o]of e)if(o.start&&!o.end){o.otherEvents.push(t),s=!0;break}if(!s){for(let[r,o]of n)if(o.start&&!o.end){o.otherEvents.push(t),s=!0;break}}s||a.push(t)}for(let[t,s]of e)Rt(t,s,a);for(let[t,s]of n)xt(t,s,a);return a}function Rt(g,a,e){if(a.start&&e.push(a.start),a.contents.length>0){let n=a.contents.map(s=>s.delta).join(""),t={type:B.TEXT_MESSAGE_CONTENT,messageId:g,delta:n};e.push(t)}a.end&&e.push(a.end);for(let n of a.otherEvents)e.push(n)}function xt(g,a,e){if(a.start&&e.push(a.start),a.args.length>0){let n=a.args.map(s=>s.delta).join(""),t={type:B.TOOL_CALL_ARGS,toolCallId:g,delta:n};e.push(t)}a.end&&e.push(a.end);for(let n of a.otherEvents)e.push(n)}export*from"@ag-ui/core";export{W as AbstractAgent,J as BackwardCompatibility_0_0_39,Q as FilterToolCallsMiddleware,K as FunctionMiddleware,ot as HttpAgent,k as Middleware,he as compactEvents,at as convertToLegacyEvents,$ as defaultApplyEvents,nt as parseProtoStream,et as parseSSEStream,Re as randomUUID,tt as runHttpRequest,y as structuredClone_,j as transformChunks,st as transformHttpEventStream,z as verifyEvents}; | ||
| import{v4 as e}from"uuid";import{AGUIConnectNotImplementedError as t,AGUIError as n,EventSchemas as r,EventType as i}from"@ag-ui/core";import*as a from"fast-json-patch";import{EMPTY as o,Observable as s,ReplaySubject as c,Subject as l,defer as u,finalize as d,from as f,lastValueFrom as p,mergeMap as m,of as h,pipe as g,throwError as _}from"rxjs";import{catchError as v,concatMap as y,defaultIfEmpty as ee,filter as te,finalize as b,map as x,mergeAll as ne,mergeMap as S,switchMap as re,takeUntil as C,tap as ie}from"rxjs/operators";import w from"untruncate-json";import*as T from"@ag-ui/proto";import{z as E}from"zod";import{compareVersions as D}from"compare-versions";export*from"@ag-ui/core";const O=e=>{if(typeof structuredClone==`function`)return structuredClone(e);try{return JSON.parse(JSON.stringify(e))}catch{return{...e}}};function k(){return e()}async function A(e,t,n,r){let i=t,a=n,o;for(let t of e)try{let e=await r(t,O(i),O(a));if(e===void 0)continue;if(e.messages!==void 0&&(i=e.messages),e.state!==void 0&&(a=e.state),o=e.stopPropagation,o===!0)break}catch(e){process.env.NODE_ENV===`test`||process.env.VITEST_WORKER_ID!==void 0||console.error(`Subscriber error:`,e);continue}return{...JSON.stringify(i)===JSON.stringify(t)?{}:{messages:i},...JSON.stringify(a)===JSON.stringify(n)?{}:{state:a},...o===void 0?{}:{stopPropagation:o}}}const j=(e,t,n,r)=>{let s=O(n.messages),c=O(e.state),l={},u=e=>{e.messages!==void 0&&(s=e.messages,l.messages=e.messages),e.state!==void 0&&(c=e.state,l.state=e.state)},d=()=>{let e=O(l);return l={},e.messages!==void 0||e.state!==void 0?h(e):o};return t.pipe(y(async t=>{let o=await A(r,s,c,(r,i,a)=>r.onEvent?.({event:t,agent:n,input:e,messages:i,state:a}));if(u(o),o.stopPropagation===!0)return d();switch(t.type){case i.TEXT_MESSAGE_START:{let i=await A(r,s,c,(r,i,a)=>r.onTextMessageStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{messageId:e,role:n=`assistant`}=t;if(!s.find(t=>t.id===e)){let t={id:e,role:n,content:``};s.push(t),u({messages:s})}}return d()}case i.TEXT_MESSAGE_CONTENT:{let{messageId:i,delta:a}=t,o=s.find(e=>e.id===i);if(!o)return console.warn(`TEXT_MESSAGE_CONTENT: No message found with ID '${i}'`),d();let l=await A(r,s,c,(r,i,a)=>r.onTextMessageContentEvent?.({event:t,messages:i,state:a,agent:n,input:e,textMessageBuffer:typeof o.content==`string`?o.content:``}));return u(l),l.stopPropagation!==!0&&(o.content=`${typeof o.content==`string`?o.content:``}${a}`,u({messages:s})),d()}case i.TEXT_MESSAGE_END:{let{messageId:i}=t,a=s.find(e=>e.id===i);return a?(u(await A(r,s,c,(r,i,o)=>r.onTextMessageEndEvent?.({event:t,messages:i,state:o,agent:n,input:e,textMessageBuffer:typeof a.content==`string`?a.content:``}))),await Promise.all(r.map(t=>{t.onNewMessage?.({message:a,messages:s,state:c,agent:n,input:e})})),d()):(console.warn(`TEXT_MESSAGE_END: No message found with ID '${i}'`),d())}case i.TOOL_CALL_START:{let i=await A(r,s,c,(r,i,a)=>r.onToolCallStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{toolCallId:e,toolCallName:n,parentMessageId:r}=t,i;r&&s.length>0&&s[s.length-1].id===r?i=s[s.length-1]:(i={id:r||e,role:`assistant`,toolCalls:[]},s.push(i)),i.toolCalls??=[],i.toolCalls.push({id:e,type:`function`,function:{name:n,arguments:``}}),u({messages:s})}return d()}case i.TOOL_CALL_ARGS:{let{toolCallId:i,delta:a}=t,o=s.find(e=>e.toolCalls?.some(e=>e.id===i));if(!o)return console.warn(`TOOL_CALL_ARGS: No message found containing tool call with ID '${i}'`),d();let l=o.toolCalls?.find(e=>e.id===i);if(!l)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${i}'`),d();let f=await A(r,s,c,(r,i,a)=>{let o=l.function.arguments,s=l.function.name,c={};try{c=w(o)}catch{}return r.onToolCallArgsEvent?.({event:t,messages:i,state:a,agent:n,input:e,toolCallBuffer:o,toolCallName:s,partialToolCallArgs:c})});return u(f),f.stopPropagation!==!0&&(l.function.arguments+=a,u({messages:s})),d()}case i.TOOL_CALL_END:{let{toolCallId:i}=t,a=s.find(e=>e.toolCalls?.some(e=>e.id===i));if(!a)return console.warn(`TOOL_CALL_END: No message found containing tool call with ID '${i}'`),d();let o=a.toolCalls?.find(e=>e.id===i);return o?(u(await A(r,s,c,(r,i,a)=>{let s=o.function.arguments,c=o.function.name,l={};try{l=JSON.parse(s)}catch{}return r.onToolCallEndEvent?.({event:t,messages:i,state:a,agent:n,input:e,toolCallName:c,toolCallArgs:l})})),await Promise.all(r.map(t=>{t.onNewToolCall?.({toolCall:o,messages:s,state:c,agent:n,input:e})})),d()):(console.warn(`TOOL_CALL_END: No tool call found with ID '${i}'`),d())}case i.TOOL_CALL_RESULT:{let i=await A(r,s,c,(r,i,a)=>r.onToolCallResultEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{messageId:i,toolCallId:a,content:o,role:l}=t,d={id:i,toolCallId:a,role:l||`tool`,content:o};s.push(d),await Promise.all(r.map(t=>{t.onNewMessage?.({message:d,messages:s,state:c,agent:n,input:e})})),u({messages:s})}return d()}case i.STATE_SNAPSHOT:{let i=await A(r,s,c,(r,i,a)=>r.onStateSnapshotEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{snapshot:e}=t;c=e,u({state:c})}return d()}case i.STATE_DELTA:{let i=await A(r,s,c,(r,i,a)=>r.onStateDeltaEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{delta:e}=t;try{c=a.applyPatch(c,e,!0,!1).newDocument,u({state:c})}catch(t){let n=t instanceof Error?t.message:String(t);console.warn(`Failed to apply state patch:\nCurrent state: ${JSON.stringify(c,null,2)}\nPatch operations: ${JSON.stringify(e,null,2)}\nError: ${n}`)}}return d()}case i.MESSAGES_SNAPSHOT:{let i=await A(r,s,c,(r,i,a)=>r.onMessagesSnapshotEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{messages:e}=t;s=e,u({messages:s})}return d()}case i.ACTIVITY_SNAPSHOT:{let i=t,a=s.findIndex(e=>e.id===i.messageId),o=a>=0?s[a]:void 0,l=o?.role===`activity`?o:void 0,f=i.replace??!0,p=await A(r,s,c,(t,r,a)=>t.onActivitySnapshotEvent?.({event:i,messages:r,state:a,agent:n,input:e,activityMessage:l,existingMessage:o}));if(u(p),p.stopPropagation!==!0){let t={id:i.messageId,role:`activity`,activityType:i.activityType,content:O(i.content)},o;a===-1?(s.push(t),o=t):l?f&&(s[a]={...l,activityType:i.activityType,content:O(i.content)}):f&&(s[a]=t,o=t),u({messages:s}),o&&await Promise.all(r.map(t=>t.onNewMessage?.({message:o,messages:s,state:c,agent:n,input:e})))}return d()}case i.ACTIVITY_DELTA:{let i=t,o=s.findIndex(e=>e.id===i.messageId);if(o===-1)return console.warn(`ACTIVITY_DELTA: No message found with ID '${i.messageId}' to apply patch`),d();let l=s[o];if(l.role!==`activity`)return console.warn(`ACTIVITY_DELTA: Message '${i.messageId}' is not an activity message`),d();let f=l,p=await A(r,s,c,(t,r,a)=>t.onActivityDeltaEvent?.({event:i,messages:r,state:a,agent:n,input:e,activityMessage:f}));if(u(p),p.stopPropagation!==!0)try{let e=O(f.content??{}),t=a.applyPatch(e,i.patch??[],!0,!1).newDocument;s[o]={...f,content:O(t),activityType:i.activityType},u({messages:s})}catch(e){let t=e instanceof Error?e.message:String(e);console.warn(`Failed to apply activity patch for '${i.messageId}': ${t}`)}return d()}case i.RAW:return u(await A(r,s,c,(r,i,a)=>r.onRawEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.CUSTOM:return u(await A(r,s,c,(r,i,a)=>r.onCustomEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.RUN_STARTED:{let i=await A(r,s,c,(r,i,a)=>r.onRunStartedEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let e=t;if(e.input?.messages){for(let t of e.input.messages)s.find(e=>e.id===t.id)||s.push(t);u({messages:s})}}return d()}case i.RUN_FINISHED:return u(await A(r,s,c,(r,i,a)=>r.onRunFinishedEvent?.({event:t,messages:i,state:a,agent:n,input:e,result:t.result}))),d();case i.RUN_ERROR:return u(await A(r,s,c,(r,i,a)=>r.onRunErrorEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.STEP_STARTED:return u(await A(r,s,c,(r,i,a)=>r.onStepStartedEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.STEP_FINISHED:return u(await A(r,s,c,(r,i,a)=>r.onStepFinishedEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.TEXT_MESSAGE_CHUNK:throw Error(`TEXT_MESSAGE_CHUNK must be tranformed before being applied`);case i.TOOL_CALL_CHUNK:throw Error(`TOOL_CALL_CHUNK must be tranformed before being applied`);case i.THINKING_START:return d();case i.THINKING_END:return d();case i.THINKING_TEXT_MESSAGE_START:return d();case i.THINKING_TEXT_MESSAGE_CONTENT:return d();case i.THINKING_TEXT_MESSAGE_END:return d();case i.REASONING_START:return u(await A(r,s,c,(r,i,a)=>r.onReasoningStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.REASONING_MESSAGE_START:{let i=await A(r,s,c,(r,i,a)=>r.onReasoningMessageStartEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(i),i.stopPropagation!==!0){let{messageId:e}=t;if(!s.find(t=>t.id===e)){let t={id:e,role:`reasoning`,content:``};s.push(t),u({messages:s})}}return d()}case i.REASONING_MESSAGE_CONTENT:{let{messageId:i,delta:a}=t,o=s.find(e=>e.id===i);if(!o)return console.warn(`REASONING_MESSAGE_CONTENT: No message found with ID '${i}'`),d();let l=await A(r,s,c,(r,i,a)=>r.onReasoningMessageContentEvent?.({event:t,messages:i,state:a,agent:n,input:e,reasoningMessageBuffer:typeof o.content==`string`?o.content:``}));return u(l),l.stopPropagation!==!0&&(o.content=`${typeof o.content==`string`?o.content:``}${a}`,u({messages:s})),d()}case i.REASONING_MESSAGE_END:{let{messageId:i}=t,a=s.find(e=>e.id===i);return a?(u(await A(r,s,c,(r,i,o)=>r.onReasoningMessageEndEvent?.({event:t,messages:i,state:o,agent:n,input:e,reasoningMessageBuffer:typeof a.content==`string`?a.content:``}))),await Promise.all(r.map(t=>{t.onNewMessage?.({message:a,messages:s,state:c,agent:n,input:e})})),d()):(console.warn(`REASONING_MESSAGE_END: No message found with ID '${i}'`),d())}case i.REASONING_MESSAGE_CHUNK:throw Error(`REASONING_MESSAGE_CHUNK must be transformed before being applied`);case i.REASONING_END:return u(await A(r,s,c,(r,i,a)=>r.onReasoningEndEvent?.({event:t,messages:i,state:a,agent:n,input:e}))),d();case i.REASONING_ENCRYPTED_VALUE:{let{subtype:i,entityId:a,encryptedValue:o}=t,f=await A(r,s,c,(r,i,a)=>r.onReasoningEncryptedValueEvent?.({event:t,messages:i,state:a,agent:n,input:e}));if(u(f),f.stopPropagation!==!0){let e=!1;if(i===`tool-call`){for(let t of s)if(t.role===`assistant`&&t.toolCalls){let n=t.toolCalls.find(e=>e.id===a);if(n){n.encryptedValue=o,e=!0;break}}}else{let t=s.find(e=>e.id===a);t?.role!==`activity`&&t&&(t.encryptedValue=o,e=!0)}e&&(l.messages=s)}return d()}}return t.type,d()}),ne(),r.length>0?ee({}):e=>e)},M=e=>t=>{let r=new Map,a=new Map,o=!1,s=!1,c=!1,l=new Map,u=!1,d=!1,f=!1,p=()=>{r.clear(),a.clear(),l.clear(),u=!1,d=!1,o=!1,s=!1,f=!0};return t.pipe(S(t=>{let m=t.type;if(e&&console.debug(`[VERIFY]:`,JSON.stringify(t)),s)return _(()=>new n(`Cannot send event type '${m}': The run has already errored with 'RUN_ERROR'. No further events can be sent.`));if(o&&m!==i.RUN_ERROR&&m!==i.RUN_STARTED)return _(()=>new n(`Cannot send event type '${m}': The run has already finished with 'RUN_FINISHED'. Start a new run with 'RUN_STARTED'.`));if(!c){if(c=!0,m!==i.RUN_STARTED&&m!==i.RUN_ERROR)return _(()=>new n(`First event must be 'RUN_STARTED'`))}else if(m===i.RUN_STARTED){if(f&&!o)return _(()=>new n(`Cannot send 'RUN_STARTED' while a run is still active. The previous run must be finished with 'RUN_FINISHED' before starting a new run.`));o&&p()}switch(m){case i.TEXT_MESSAGE_START:{let e=t.messageId;return r.has(e)?_(()=>new n(`Cannot send 'TEXT_MESSAGE_START' event: A text message with ID '${e}' is already in progress. Complete it with 'TEXT_MESSAGE_END' first.`)):(r.set(e,!0),h(t))}case i.TEXT_MESSAGE_CONTENT:{let e=t.messageId;return r.has(e)?h(t):_(()=>new n(`Cannot send 'TEXT_MESSAGE_CONTENT' event: No active text message found with ID '${e}'. Start a text message with 'TEXT_MESSAGE_START' first.`))}case i.TEXT_MESSAGE_END:{let e=t.messageId;return r.has(e)?(r.delete(e),h(t)):_(()=>new n(`Cannot send 'TEXT_MESSAGE_END' event: No active text message found with ID '${e}'. A 'TEXT_MESSAGE_START' event must be sent first.`))}case i.TOOL_CALL_START:{let e=t.toolCallId;return a.has(e)?_(()=>new n(`Cannot send 'TOOL_CALL_START' event: A tool call with ID '${e}' is already in progress. Complete it with 'TOOL_CALL_END' first.`)):(a.set(e,!0),h(t))}case i.TOOL_CALL_ARGS:{let e=t.toolCallId;return a.has(e)?h(t):_(()=>new n(`Cannot send 'TOOL_CALL_ARGS' event: No active tool call found with ID '${e}'. Start a tool call with 'TOOL_CALL_START' first.`))}case i.TOOL_CALL_END:{let e=t.toolCallId;return a.has(e)?(a.delete(e),h(t)):_(()=>new n(`Cannot send 'TOOL_CALL_END' event: No active tool call found with ID '${e}'. A 'TOOL_CALL_START' event must be sent first.`))}case i.STEP_STARTED:{let e=t.stepName;return l.has(e)?_(()=>new n(`Step "${e}" is already active for 'STEP_STARTED'`)):(l.set(e,!0),h(t))}case i.STEP_FINISHED:{let e=t.stepName;return l.has(e)?(l.delete(e),h(t)):_(()=>new n(`Cannot send 'STEP_FINISHED' for step "${e}" that was not started`))}case i.RUN_STARTED:return f=!0,h(t);case i.RUN_FINISHED:if(l.size>0){let e=Array.from(l.keys()).join(`, `);return _(()=>new n(`Cannot send 'RUN_FINISHED' while steps are still active: ${e}`))}if(r.size>0){let e=Array.from(r.keys()).join(`, `);return _(()=>new n(`Cannot send 'RUN_FINISHED' while text messages are still active: ${e}`))}if(a.size>0){let e=Array.from(a.keys()).join(`, `);return _(()=>new n(`Cannot send 'RUN_FINISHED' while tool calls are still active: ${e}`))}return o=!0,h(t);case i.RUN_ERROR:return s=!0,h(t);case i.CUSTOM:return h(t);case i.THINKING_TEXT_MESSAGE_START:return u?d?_(()=>new n(`Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking message is already in progress. Complete it with 'THINKING_TEXT_MESSAGE_END' first.`)):(d=!0,h(t)):_(()=>new n(`Cannot send 'THINKING_TEXT_MESSAGE_START' event: A thinking step is not in progress. Create one with 'THINKING_START' first.`));case i.THINKING_TEXT_MESSAGE_CONTENT:return d?h(t):_(()=>new n(`Cannot send 'THINKING_TEXT_MESSAGE_CONTENT' event: No active thinking message found. Start a message with 'THINKING_TEXT_MESSAGE_START' first.`));case i.THINKING_TEXT_MESSAGE_END:return d?(d=!1,h(t)):_(()=>new n(`Cannot send 'THINKING_TEXT_MESSAGE_END' event: No active thinking message found. A 'THINKING_TEXT_MESSAGE_START' event must be sent first.`));case i.THINKING_START:return u?_(()=>new n(`Cannot send 'THINKING_START' event: A thinking step is already in progress. End it with 'THINKING_END' first.`)):(u=!0,h(t));case i.THINKING_END:return u?(u=!1,h(t)):_(()=>new n(`Cannot send 'THINKING_END' event: No active thinking step found. A 'THINKING_START' event must be sent first.`));default:return h(t)}}))};let N=function(e){return e.HEADERS=`headers`,e.DATA=`data`,e}({});const P=(e,t)=>u(()=>f(fetch(e,t))).pipe(re(e=>{if(!e.ok){let t=e.headers.get(`content-type`)||``;return f(e.text()).pipe(S(n=>{let r=n;if(t.includes(`application/json`))try{r=JSON.parse(n)}catch{}let i=Error(`HTTP ${e.status}: ${typeof r==`string`?r:JSON.stringify(r)}`);return i.status=e.status,i.payload=r,_(()=>i)}))}let t={type:N.HEADERS,status:e.status,headers:e.headers},n=e.body?.getReader();return n?new s(e=>(e.next(t),(async()=>{try{for(;;){let{done:t,value:r}=await n.read();if(t)break;let i={type:N.DATA,data:r};e.next(i)}e.complete()}catch(t){e.error(t)}})(),()=>{n.cancel().catch(e=>{if(e?.name!==`AbortError`)throw e})})):_(()=>Error(`Failed to getReader() from response`))})),F=e=>{let t=new l,n=new TextDecoder(`utf-8`,{fatal:!1}),r=``;e.subscribe({next:e=>{if(e.type!==N.HEADERS&&e.type===N.DATA&&e.data){let t=n.decode(e.data,{stream:!0});r+=t;let a=r.split(/\n\n/);r=a.pop()||``;for(let e of a)i(e)}},error:e=>t.error(e),complete:()=>{r&&(r+=n.decode(),i(r)),t.complete()}});function i(e){let n=e.split(` | ||
| `),r=[];for(let e of n)e.startsWith(`data:`)&&r.push(e.slice(5).replace(/^ /,``));if(r.length>0)try{let e=r.join(` | ||
| `),n=JSON.parse(e);t.next(n)}catch(e){t.error(e)}}return t.asObservable()},I=e=>{let t=new l,n=new Uint8Array;e.subscribe({next:e=>{if(e.type!==N.HEADERS&&e.type===N.DATA&&e.data){let t=new Uint8Array(n.length+e.data.length);t.set(n,0),t.set(e.data,n.length),n=t,r()}},error:e=>t.error(e),complete:()=>{if(n.length>0)try{r()}catch{console.warn(`Incomplete or invalid protocol buffer data at stream end`)}t.complete()}});function r(){for(;n.length>=4;){let e=4+new DataView(n.buffer,n.byteOffset,4).getUint32(0,!1);if(n.length<e)break;try{let r=n.slice(4,e),i=T.decode(r);t.next(i),n=n.slice(e)}catch(e){let n=e instanceof Error?e.message:String(e);t.error(Error(`Failed to decode protocol buffer message: ${n}`));return}}}return t.asObservable()},L=e=>{let t=new l,n=new c,a=!1;return e.subscribe({next:e=>{n.next(e),e.type===N.HEADERS&&!a?(a=!0,e.headers.get(`content-type`)===T.AGUI_MEDIA_TYPE?I(n).subscribe({next:e=>t.next(e),error:e=>t.error(e),complete:()=>t.complete()}):F(n).subscribe({next:e=>{try{let n=r.parse(e);t.next(n)}catch(e){t.error(e)}},error:e=>{if(e?.name===`AbortError`){t.next({type:i.RUN_ERROR,message:e.message||`Request aborted`,code:`abort`,rawEvent:e}),t.complete();return}return t.error(e)},complete:()=>t.complete()})):a||t.error(Error(`No headers event received before data events`))},error:e=>{n.error(e),t.error(e)},complete:()=>{n.complete()}}),t.asObservable()},R=E.enum([`TextMessageStart`,`TextMessageContent`,`TextMessageEnd`,`ActionExecutionStart`,`ActionExecutionArgs`,`ActionExecutionEnd`,`ActionExecutionResult`,`AgentStateMessage`,`MetaEvent`,`RunStarted`,`RunFinished`,`RunError`,`NodeStarted`,`NodeFinished`]),ae=E.enum([`LangGraphInterruptEvent`,`PredictState`,`Exit`]),oe=E.object({type:E.literal(R.enum.TextMessageStart),messageId:E.string(),parentMessageId:E.string().optional(),role:E.string().optional()}),se=E.object({type:E.literal(R.enum.TextMessageContent),messageId:E.string(),content:E.string()}),ce=E.object({type:E.literal(R.enum.TextMessageEnd),messageId:E.string()}),le=E.object({type:E.literal(R.enum.ActionExecutionStart),actionExecutionId:E.string(),actionName:E.string(),parentMessageId:E.string().optional()}),ue=E.object({type:E.literal(R.enum.ActionExecutionArgs),actionExecutionId:E.string(),args:E.string()}),z=E.object({type:E.literal(R.enum.ActionExecutionEnd),actionExecutionId:E.string()}),de=E.object({type:E.literal(R.enum.ActionExecutionResult),actionName:E.string(),actionExecutionId:E.string(),result:E.string()}),fe=E.object({type:E.literal(R.enum.AgentStateMessage),threadId:E.string(),agentName:E.string(),nodeName:E.string(),runId:E.string(),active:E.boolean(),role:E.string(),state:E.string(),running:E.boolean()}),pe=E.object({type:E.literal(R.enum.MetaEvent),name:ae,value:E.any()}),me=E.object({type:E.literal(R.enum.RunError),message:E.string(),code:E.string().optional()});E.discriminatedUnion(`type`,[oe,se,ce,le,ue,z,de,fe,pe,me]),E.object({id:E.string(),role:E.string(),content:E.string(),parentMessageId:E.string().optional()}),E.object({id:E.string(),name:E.string(),arguments:E.any(),parentMessageId:E.string().optional()}),E.object({id:E.string(),result:E.any(),actionExecutionId:E.string(),actionName:E.string()});const he=e=>{if(typeof e==`string`)return e;if(!Array.isArray(e))return;let t=e.filter(e=>e.type===`text`).map(e=>e.text).filter(e=>e.length>0);if(t.length!==0)return t.join(` | ||
| `)},B=(e,t,n)=>r=>{let o={},s=!0,c=!0,l=``,u=null,d=null,f=[],p={},m=e=>{typeof e==`object`&&e&&(`messages`in e&&delete e.messages,o=e)};return r.pipe(S(r=>{switch(r.type){case i.TEXT_MESSAGE_START:{let e=r;return[{type:R.enum.TextMessageStart,messageId:e.messageId,role:e.role}]}case i.TEXT_MESSAGE_CONTENT:{let e=r;return[{type:R.enum.TextMessageContent,messageId:e.messageId,content:e.delta}]}case i.TEXT_MESSAGE_END:{let e=r;return[{type:R.enum.TextMessageEnd,messageId:e.messageId}]}case i.TOOL_CALL_START:{let e=r;return f.push({id:e.toolCallId,type:`function`,function:{name:e.toolCallName,arguments:``}}),c=!0,p[e.toolCallId]=e.toolCallName,[{type:R.enum.ActionExecutionStart,actionExecutionId:e.toolCallId,actionName:e.toolCallName,parentMessageId:e.parentMessageId}]}case i.TOOL_CALL_ARGS:{let i=r,a=f.find(e=>e.id===i.toolCallId);if(!a)return console.warn(`TOOL_CALL_ARGS: No tool call found with ID '${i.toolCallId}'`),[];a.function.arguments+=i.delta;let u=!1;if(d){let e=d.find(e=>e.tool==a.function.name);if(e)try{let t=JSON.parse(w(a.function.arguments));e.tool_argument&&e.tool_argument in t?(m({...o,[e.state_key]:t[e.tool_argument]}),u=!0):e.tool_argument||(m({...o,[e.state_key]:t}),u=!0)}catch{}}return[{type:R.enum.ActionExecutionArgs,actionExecutionId:i.toolCallId,args:i.delta},...u?[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify(o),active:c}]:[]]}case i.TOOL_CALL_END:{let e=r;return[{type:R.enum.ActionExecutionEnd,actionExecutionId:e.toolCallId}]}case i.TOOL_CALL_RESULT:{let e=r;return[{type:R.enum.ActionExecutionResult,actionExecutionId:e.toolCallId,result:e.content,actionName:p[e.toolCallId]||`unknown`}]}case i.RAW:return[];case i.CUSTOM:{let e=r;switch(e.name){case`Exit`:s=!1;break;case`PredictState`:d=e.value;break}return[{type:R.enum.MetaEvent,name:e.name,value:e.value}]}case i.STATE_SNAPSHOT:return m(r.snapshot),[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify(o),active:c}];case i.STATE_DELTA:{let i=r,u=a.applyPatch(o,i.delta,!0,!1);return u?(m(u.newDocument),[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify(o),active:c}]):[]}case i.MESSAGES_SNAPSHOT:return u=r.messages,[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify({...o,...u?{messages:u}:{}}),active:!0}];case i.RUN_STARTED:return[];case i.RUN_FINISHED:return u&&(o.messages=u),Object.keys(o).length===0?[]:[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify({...o,...u?{messages:ge(u)}:{}}),active:!1}];case i.RUN_ERROR:{let e=r;return[{type:R.enum.RunError,message:e.message,code:e.code}]}case i.STEP_STARTED:return l=r.stepName,f=[],d=null,[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify(o),active:!0}];case i.STEP_FINISHED:return f=[],d=null,[{type:R.enum.AgentStateMessage,threadId:e,agentName:n,nodeName:l,runId:t,running:s,role:`assistant`,state:JSON.stringify(o),active:!1}];default:return[]}}))};function ge(e){let t=[];for(let n of e)if(n.role===`assistant`||n.role===`user`||n.role===`system`){let e=he(n.content);if(e){let r={id:n.id,role:n.role,content:e};t.push(r)}if(n.role===`assistant`&&n.toolCalls&&n.toolCalls.length>0)for(let e of n.toolCalls){let r={id:e.id,name:e.function.name,arguments:JSON.parse(e.function.arguments),parentMessageId:n.id};t.push(r)}}else if(n.role===`tool`){let r=`unknown`;for(let t of e)if(t.role===`assistant`&&t.toolCalls?.length){for(let e of t.toolCalls)if(e.id===n.toolCallId){r=e.function.name;break}}let i={id:n.id,result:n.content,actionExecutionId:n.toolCallId,actionName:r};t.push(i)}return t}const V=e=>t=>{let n,r,a,o,s=()=>{if(!n||o!==`text`)throw Error(`No text message to close`);let t={type:i.TEXT_MESSAGE_END,messageId:n.messageId};return o=void 0,n=void 0,e&&console.debug(`[TRANSFORM]: TEXT_MESSAGE_END`,JSON.stringify(t)),t},c=()=>{if(!r||o!==`tool`)throw Error(`No tool call to close`);let t={type:i.TOOL_CALL_END,toolCallId:r.toolCallId};return o=void 0,r=void 0,e&&console.debug(`[TRANSFORM]: TOOL_CALL_END`,JSON.stringify(t)),t},l=()=>{if(!a||o!==`reasoning`)throw Error(`No reasoning message to close`);let t={type:i.REASONING_MESSAGE_END,messageId:a.messageId};return o=void 0,a=void 0,e&&console.debug(`[TRANSFORM]: REASONING_MESSAGE_END`,JSON.stringify(t)),t},u=()=>o===`text`?[s()]:o===`tool`?[c()]:o===`reasoning`?[l()]:[];return t.pipe(m(t=>{switch(t.type){case i.TEXT_MESSAGE_START:case i.TEXT_MESSAGE_CONTENT:case i.TEXT_MESSAGE_END:case i.TOOL_CALL_START:case i.TOOL_CALL_ARGS:case i.TOOL_CALL_END:case i.TOOL_CALL_RESULT:case i.STATE_SNAPSHOT:case i.STATE_DELTA:case i.MESSAGES_SNAPSHOT:case i.CUSTOM:case i.RUN_STARTED:case i.RUN_FINISHED:case i.RUN_ERROR:case i.STEP_STARTED:case i.STEP_FINISHED:case i.THINKING_START:case i.THINKING_END:case i.THINKING_TEXT_MESSAGE_START:case i.THINKING_TEXT_MESSAGE_CONTENT:case i.THINKING_TEXT_MESSAGE_END:case i.REASONING_START:case i.REASONING_MESSAGE_START:case i.REASONING_MESSAGE_CONTENT:case i.REASONING_MESSAGE_END:case i.REASONING_END:return[...u(),t];case i.RAW:case i.ACTIVITY_SNAPSHOT:case i.ACTIVITY_DELTA:case i.REASONING_ENCRYPTED_VALUE:return[t];case i.TEXT_MESSAGE_CHUNK:let s=t,c=[];if((o!==`text`||s.messageId!==void 0&&s.messageId!==n?.messageId)&&c.push(...u()),o!==`text`){if(s.messageId===void 0)throw Error(`First TEXT_MESSAGE_CHUNK must have a messageId`);n={messageId:s.messageId},o=`text`;let t={type:i.TEXT_MESSAGE_START,messageId:s.messageId,role:s.role||`assistant`};c.push(t),e&&console.debug(`[TRANSFORM]: TEXT_MESSAGE_START`,JSON.stringify(t))}if(s.delta!==void 0){let t={type:i.TEXT_MESSAGE_CONTENT,messageId:n.messageId,delta:s.delta};c.push(t),e&&console.debug(`[TRANSFORM]: TEXT_MESSAGE_CONTENT`,JSON.stringify(t))}return c;case i.TOOL_CALL_CHUNK:let l=t,d=[];if((o!==`tool`||l.toolCallId!==void 0&&l.toolCallId!==r?.toolCallId)&&d.push(...u()),o!==`tool`){if(l.toolCallId===void 0)throw Error(`First TOOL_CALL_CHUNK must have a toolCallId`);if(l.toolCallName===void 0)throw Error(`First TOOL_CALL_CHUNK must have a toolCallName`);r={toolCallId:l.toolCallId,toolCallName:l.toolCallName,parentMessageId:l.parentMessageId},o=`tool`;let t={type:i.TOOL_CALL_START,toolCallId:l.toolCallId,toolCallName:l.toolCallName,parentMessageId:l.parentMessageId};d.push(t),e&&console.debug(`[TRANSFORM]: TOOL_CALL_START`,JSON.stringify(t))}if(l.delta!==void 0){let t={type:i.TOOL_CALL_ARGS,toolCallId:r.toolCallId,delta:l.delta};d.push(t),e&&console.debug(`[TRANSFORM]: TOOL_CALL_ARGS`,JSON.stringify(t))}return d;case i.REASONING_MESSAGE_CHUNK:let f=t,p=[];if((o!==`reasoning`||f.messageId&&f.messageId!==a?.messageId)&&p.push(...u()),o!==`reasoning`){if(f.messageId===void 0)throw Error(`First REASONING_MESSAGE_CHUNK must have a messageId`);a={messageId:f.messageId},o=`reasoning`;let t={type:i.REASONING_MESSAGE_START,messageId:f.messageId};p.push(t),e&&console.debug(`[TRANSFORM]: REASONING_MESSAGE_START`,JSON.stringify(t))}if(f.delta!==void 0){let t={type:i.REASONING_MESSAGE_CONTENT,messageId:a.messageId,delta:f.delta};p.push(t),e&&console.debug(`[TRANSFORM]: REASONING_MESSAGE_CONTENT`,JSON.stringify(t))}return p}return t.type,[]}),d(()=>{u()}))};var H=class{runNext(e,t){return t.run(e).pipe(V(!1))}runNextWithState(e,t){let n=O(e.messages||[]),r=O(e.state||{}),i=new c;return j(e,i,t,[]).subscribe(e=>{e.messages!==void 0&&(n=e.messages),e.state!==void 0&&(r=e.state)}),this.runNext(e,t).pipe(y(async e=>(i.next(e),await new Promise(e=>setTimeout(e,0)),{event:e,messages:O(n),state:O(r)})))}},U=class extends H{constructor(e){super(),this.fn=e}run(e,t){return this.fn(e,t)}},_e=class extends H{constructor(e){if(super(),this.blockedToolCallIds=new Set,e.allowedToolCalls&&e.disallowedToolCalls)throw Error(`Cannot specify both allowedToolCalls and disallowedToolCalls`);if(!e.allowedToolCalls&&!e.disallowedToolCalls)throw Error(`Must specify either allowedToolCalls or disallowedToolCalls`);e.allowedToolCalls?this.allowedTools=new Set(e.allowedToolCalls):e.disallowedToolCalls&&(this.disallowedTools=new Set(e.disallowedToolCalls))}run(e,t){return this.runNext(e,t).pipe(te(e=>{if(e.type===i.TOOL_CALL_START){let t=e;return this.shouldFilterTool(t.toolCallName)?(this.blockedToolCallIds.add(t.toolCallId),!1):!0}if(e.type===i.TOOL_CALL_ARGS){let t=e;return!this.blockedToolCallIds.has(t.toolCallId)}if(e.type===i.TOOL_CALL_END){let t=e;return!this.blockedToolCallIds.has(t.toolCallId)}if(e.type===i.TOOL_CALL_RESULT){let t=e;return this.blockedToolCallIds.has(t.toolCallId)?(this.blockedToolCallIds.delete(t.toolCallId),!1):!0}return!0}))}shouldFilterTool(e){return this.allowedTools?!this.allowedTools.has(e):this.disallowedTools?this.disallowedTools.has(e):!1}};function ve(e){let t=e.content;if(Array.isArray(t)){let n=t.filter(e=>typeof e==`object`&&!!e&&`type`in e&&e.type===`text`&&typeof e.text==`string`).map(e=>e.text).join(``);return{...e,content:n}}return typeof t==`string`?e:{...e,content:``}}var W=class extends H{run(e,t){let{parentRunId:n,...r}=e,i={...r,messages:r.messages.map(ve)};return this.runNext(i,t)}};const G=`THINKING_START`,K=`THINKING_END`,q=`THINKING_TEXT_MESSAGE_START`,J=`THINKING_TEXT_MESSAGE_CONTENT`,Y=`THINKING_TEXT_MESSAGE_END`;var X=class extends H{constructor(...e){super(...e),this.currentReasoningId=null,this.currentMessageId=null}warnAboutTransformation(e,t){process.env.SUPPRESS_TRANSFORMATION_WARNINGS||console.warn(`AG-UI is converting ${e} to ${t}. To remove this warning, upgrade your AG-UI integration package (e.g. @ag-ui/langgraph). To surpress it, set SUPPRESS_TRANSFORMATION_WARNINGS=true in your .env file.`)}run(e,t){return this.currentReasoningId=null,this.currentMessageId=null,this.runNext(e,t).pipe(x(e=>this.transformEvent(e)))}transformEvent(e){switch(e.type){case G:{this.currentReasoningId=k();let{title:t,...n}=e;return this.warnAboutTransformation(G,i.REASONING_START),{...n,type:i.REASONING_START,messageId:this.currentReasoningId}}case q:return this.currentMessageId=k(),this.warnAboutTransformation(q,i.REASONING_MESSAGE_START),{...e,type:i.REASONING_MESSAGE_START,messageId:this.currentMessageId,role:`assistant`};case J:{let{delta:t,...n}=e;return this.warnAboutTransformation(J,i.REASONING_MESSAGE_CONTENT),{...n,type:i.REASONING_MESSAGE_CONTENT,messageId:this.currentMessageId??k(),delta:t}}case Y:{let t=this.currentMessageId??k();return this.warnAboutTransformation(Y,i.REASONING_MESSAGE_END),{...e,type:i.REASONING_MESSAGE_END,messageId:t}}case K:{let t=this.currentReasoningId??k();return this.warnAboutTransformation(K,i.REASONING_END),{...e,type:i.REASONING_END,messageId:t}}default:return e}}},ye=`0.0.45`,Z=class{get maxVersion(){return ye}constructor({agentId:t,description:n,threadId:r,initialMessages:i,initialState:a,debug:o}={}){this.debug=!1,this.subscribers=[],this.isRunning=!1,this.middlewares=[],this.agentId=t,this.description=n??``,this.threadId=r??e(),this.messages=O(i??[]),this.state=O(a??{}),this.debug=o??!1,D(this.maxVersion,`0.0.39`)<=0&&this.middlewares.unshift(new W),D(this.maxVersion,`0.0.45`)<=0&&this.middlewares.unshift(new X)}subscribe(e){return this.subscribers.push(e),{unsubscribe:()=>{this.subscribers=this.subscribers.filter(t=>t!==e)}}}use(...e){let t=e.map(e=>typeof e==`function`?new U(e):e);return this.middlewares.push(...t),this}async runAgent(t,n){try{this.isRunning=!0,this.agentId=this.agentId??e();let r=this.prepareRunAgentInput(t),i,a=new Set(this.messages.map(e=>e.id)),o=[{onRunFinishedEvent:e=>{i=e.result}},...this.subscribers,n??{}];await this.onInitialize(r,o),this.activeRunDetach$=new l;let s;this.activeRunCompletionPromise=new Promise(e=>{s=e}),await p(g(()=>this.middlewares.length===0?this.run(r):this.middlewares.reduceRight((e,t)=>({run:n=>t.run(n,e)}),this).run(r),V(this.debug),M(this.debug),e=>e.pipe(C(this.activeRunDetach$)),e=>this.apply(r,e,o),e=>this.processApplyEvents(r,e,o),v(e=>(this.isRunning=!1,this.onError(r,e,o))),b(()=>{this.isRunning=!1,this.onFinalize(r,o),s?.(),s=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}))(h(null)));let c=O(this.messages).filter(e=>!a.has(e.id));return{result:i,newMessages:c}}finally{this.isRunning=!1}}connect(e){throw new t}async connectAgent(n,r){try{this.isRunning=!0,this.agentId=this.agentId??e();let i=this.prepareRunAgentInput(n),a,s=new Set(this.messages.map(e=>e.id)),c=[{onRunFinishedEvent:e=>{a=e.result}},...this.subscribers,r??{}];await this.onInitialize(i,c),this.activeRunDetach$=new l;let u;this.activeRunCompletionPromise=new Promise(e=>{u=e}),await p(g(()=>this.connect(i),V(this.debug),M(this.debug),e=>e.pipe(C(this.activeRunDetach$)),e=>this.apply(i,e,c),e=>this.processApplyEvents(i,e,c),v(e=>(this.isRunning=!1,e instanceof t?o:this.onError(i,e,c))),b(()=>{this.isRunning=!1,this.onFinalize(i,c),u?.(),u=void 0,this.activeRunCompletionPromise=void 0,this.activeRunDetach$=void 0}))(h(null)));let d=O(this.messages).filter(e=>!s.has(e.id));return{result:a,newMessages:d}}finally{this.isRunning=!1}}abortRun(){}async detachActiveRun(){if(!this.activeRunDetach$)return;let e=this.activeRunCompletionPromise??Promise.resolve();this.activeRunDetach$.next(),this.activeRunDetach$?.complete(),await e}apply(e,t,n){return j(e,t,this,n)}processApplyEvents(e,t,n){return t.pipe(ie(t=>{t.messages&&(this.messages=t.messages,n.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),t.state&&(this.state=t.state,n.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})}))}))}prepareRunAgentInput(t){let n=O(this.messages).filter(e=>e.role!==`activity`);return{threadId:this.threadId,runId:t?.runId||e(),tools:O(t?.tools??[]),context:O(t?.context??[]),forwardedProps:O(t?.forwardedProps??{}),state:O(this.state),messages:n}}async onInitialize(e,t){let n=await A(t,this.messages,this.state,(t,n,r)=>t.onRunInitialized?.({messages:n,state:r,agent:this,input:e}));(n.messages!==void 0||n.state!==void 0)&&(n.messages&&(this.messages=n.messages,e.messages=n.messages,t.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),n.state&&(this.state=n.state,e.state=n.state,t.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})})))}onError(e,t,n){return f(A(n,this.messages,this.state,(n,r,i)=>n.onRunFailed?.({error:t,messages:r,state:i,agent:this,input:e}))).pipe(x(r=>{let i=r;if((i.messages!==void 0||i.state!==void 0)&&(i.messages!==void 0&&(this.messages=i.messages,n.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),i.state!==void 0&&(this.state=i.state,n.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})}))),i.stopPropagation!==!0)throw console.error(`Agent execution failed:`,t),t;return{}}))}async onFinalize(e,t){let n=await A(t,this.messages,this.state,(t,n,r)=>t.onRunFinalized?.({messages:n,state:r,agent:this,input:e}));(n.messages!==void 0||n.state!==void 0)&&(n.messages!==void 0&&(this.messages=n.messages,t.forEach(t=>{t.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this,input:e})})),n.state!==void 0&&(this.state=n.state,t.forEach(t=>{t.onStateChanged?.({state:this.state,messages:this.messages,agent:this,input:e})})))}clone(){let e=Object.create(Object.getPrototypeOf(this));return e.agentId=this.agentId,e.description=this.description,e.threadId=this.threadId,e.messages=O(this.messages),e.state=O(this.state),e.debug=this.debug,e.isRunning=this.isRunning,e.subscribers=[...this.subscribers],e.middlewares=[...this.middlewares],e}addMessage(e){this.messages.push(e),(async()=>{for(let t of this.subscribers)await t.onNewMessage?.({message:e,messages:this.messages,state:this.state,agent:this});if(e.role===`assistant`&&e.toolCalls)for(let t of e.toolCalls)for(let e of this.subscribers)await e.onNewToolCall?.({toolCall:t,messages:this.messages,state:this.state,agent:this});for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}addMessages(e){this.messages.push(...e),(async()=>{for(let t of e){for(let e of this.subscribers)await e.onNewMessage?.({message:t,messages:this.messages,state:this.state,agent:this});if(t.role===`assistant`&&t.toolCalls)for(let e of t.toolCalls)for(let t of this.subscribers)await t.onNewToolCall?.({toolCall:e,messages:this.messages,state:this.state,agent:this})}for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}setMessages(e){this.messages=O(e),(async()=>{for(let e of this.subscribers)await e.onMessagesChanged?.({messages:this.messages,state:this.state,agent:this})})()}setState(e){this.state=O(e),(async()=>{for(let e of this.subscribers)await e.onStateChanged?.({messages:this.messages,state:this.state,agent:this})})()}legacy_to_be_removed_runAgentBridged(t){this.agentId=this.agentId??e();let n=this.prepareRunAgentInput(t);return(this.middlewares.length===0?this.run(n):this.middlewares.reduceRight((e,t)=>({run:n=>t.run(n,e)}),this).run(n)).pipe(V(this.debug),M(this.debug),B(this.threadId,n.runId,this.agentId),e=>e.pipe(x(e=>(this.debug&&console.debug(`[LEGACY]:`,JSON.stringify(e)),e))))}},be=class extends Z{requestInit(e){return{method:`POST`,headers:{...this.headers,"Content-Type":`application/json`,Accept:`text/event-stream`},body:JSON.stringify(e),signal:this.abortController.signal}}runAgent(e,t){return this.abortController=e?.abortController??new AbortController,super.runAgent(e,t)}abortRun(){this.abortController.abort(),super.abortRun()}constructor(e){super(e),this.abortController=new AbortController,this.url=e.url,this.headers=O(e.headers??{})}run(e){return L(P(this.url,this.requestInit(e)))}clone(){let e=super.clone();e.url=this.url,e.headers=O(this.headers??{});let t=new AbortController,n=this.abortController.signal;return n.aborted&&t.abort(n.reason),e.abortController=t,e}};function xe(e){let t=[],n=new Map,r=new Map;for(let a of e)if(a.type===i.TEXT_MESSAGE_START){let e=a,t=e.messageId;n.has(t)||n.set(t,{contents:[],otherEvents:[]});let r=n.get(t);r.start=e}else if(a.type===i.TEXT_MESSAGE_CONTENT){let e=a,t=e.messageId;n.has(t)||n.set(t,{contents:[],otherEvents:[]}),n.get(t).contents.push(e)}else if(a.type===i.TEXT_MESSAGE_END){let e=a,r=e.messageId;n.has(r)||n.set(r,{contents:[],otherEvents:[]});let i=n.get(r);i.end=e,Q(r,i,t),n.delete(r)}else if(a.type===i.TOOL_CALL_START){let e=a,t=e.toolCallId;r.has(t)||r.set(t,{args:[],otherEvents:[]});let n=r.get(t);n.start=e}else if(a.type===i.TOOL_CALL_ARGS){let e=a,t=e.toolCallId;r.has(t)||r.set(t,{args:[],otherEvents:[]}),r.get(t).args.push(e)}else if(a.type===i.TOOL_CALL_END){let e=a,n=e.toolCallId;r.has(n)||r.set(n,{args:[],otherEvents:[]});let i=r.get(n);i.end=e,$(n,i,t),r.delete(n)}else{let e=!1;for(let[t,r]of n)if(r.start&&!r.end){r.otherEvents.push(a),e=!0;break}if(!e){for(let[t,n]of r)if(n.start&&!n.end){n.otherEvents.push(a),e=!0;break}}e||t.push(a)}for(let[e,r]of n)Q(e,r,t);for(let[e,n]of r)$(e,n,t);return t}function Q(e,t,n){if(t.start&&n.push(t.start),t.contents.length>0){let r=t.contents.map(e=>e.delta).join(``),a={type:i.TEXT_MESSAGE_CONTENT,messageId:e,delta:r};n.push(a)}t.end&&n.push(t.end);for(let e of t.otherEvents)n.push(e)}function $(e,t,n){if(t.start&&n.push(t.start),t.args.length>0){let r=t.args.map(e=>e.delta).join(``),a={type:i.TOOL_CALL_ARGS,toolCallId:e,delta:r};n.push(a)}t.end&&n.push(t.end);for(let e of t.otherEvents)n.push(e)}export{Z as AbstractAgent,W as BackwardCompatibility_0_0_39,X as BackwardCompatibility_0_0_45,_e as FilterToolCallsMiddleware,U as FunctionMiddleware,be as HttpAgent,H as Middleware,xe as compactEvents,B as convertToLegacyEvents,j as defaultApplyEvents,I as parseProtoStream,F as parseSSEStream,k as randomUUID,P as runHttpRequest,O as structuredClone_,V as transformChunks,L as transformHttpEventStream,M as verifyEvents}; | ||
| //# sourceMappingURL=index.mjs.map |
+23
-12
| { | ||
| "name": "@ag-ui/client", | ||
| "author": "Markus Ecker <markus.ecker@gmail.com>", | ||
| "version": "0.0.45-alpha.0", | ||
| "version": "0.0.45", | ||
| "private": false, | ||
@@ -25,20 +25,31 @@ "publishConfig": { | ||
| "zod": "^3.22.4", | ||
| "@ag-ui/core": "0.0.45-alpha.0", | ||
| "@ag-ui/encoder": "0.0.45-alpha.0", | ||
| "@ag-ui/proto": "0.0.45-alpha.0" | ||
| "@ag-ui/core": "0.0.45", | ||
| "@ag-ui/proto": "0.0.45", | ||
| "@ag-ui/encoder": "0.0.45" | ||
| }, | ||
| "devDependencies": { | ||
| "@types/jest": "^29.5.14", | ||
| "@types/node": "^20.11.19", | ||
| "jest": "^29.7.0", | ||
| "ts-jest": "^29.1.2", | ||
| "tsup": "^8.0.2", | ||
| "@vitest/coverage-istanbul": "^4.0.18", | ||
| "publint": "^0.3.12", | ||
| "@arethetypeswrong/cli": "^0.17.4", | ||
| "vitest": "^4.0.18", | ||
| "tsdown": "^0.20.1", | ||
| "typescript": "^5.3.3" | ||
| }, | ||
| "exports": { | ||
| ".": { | ||
| "require": "./dist/index.js", | ||
| "import": "./dist/index.mjs" | ||
| }, | ||
| "./package.json": "./package.json" | ||
| }, | ||
| "scripts": { | ||
| "build": "tsup", | ||
| "dev": "tsup --watch", | ||
| "clean": "rm -rf dist .turbo node_modules", | ||
| "build": "tsdown", | ||
| "dev": "tsdown --watch", | ||
| "clean": "git clean -fdX --exclude=\"!.env\"", | ||
| "typecheck": "tsc --noEmit", | ||
| "test": "jest", | ||
| "test": "vitest run", | ||
| "test:coverage": "vitest run --coverage", | ||
| "test:watch": "vitest", | ||
| "test:exports": "publint --strict && attw --pack", | ||
| "link:global": "pnpm link --global", | ||
@@ -45,0 +56,0 @@ "unlink:global": "pnpm unlink --global" |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 3 instances in 1 package
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
Found 2 instances in 1 package
URL strings
Supply chain riskPackage contains fragments of external URLs or IP addresses, which the package may be accessing at runtime.
Found 1 instance in 1 package
514936
6%11
22.22%833
11.51%7
16.67%7
16.67%2
100%+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
Updated
Updated
Updated