import { Config, Interrupt, Metadata, ThreadTask } from "./schema.js"; import { Message } from "./types.messages.js"; //#region src/types.stream.d.ts /** import type { SubgraphCheckpointsStreamEvent } from "./types.stream.subgraph.js"; * Stream modes * - "values": Stream only the state values. * - "messages": Stream complete messages. * - "messages-tuple": Stream (message chunk, metadata) tuples. * - "updates": Stream updates to the state. * - "events": Stream events occurring during execution. * - "debug": Stream detailed debug information. * - "custom": Stream custom events. */ type StreamMode = "values" | "messages" | "updates" | "events" | "debug" | "tasks" | "checkpoints" | "custom" | "messages-tuple" | "tools"; type ThreadStreamMode = "run_modes" | "lifecycle" | "state_update"; type MessageTupleMetadata = { tags: string[]; [key: string]: unknown; }; type AsSubgraph = { id?: TEvent["id"]; event: TEvent["event"] | `${TEvent["event"]}|${string}`; data: TEvent["data"]; }; /** * Stream event with values after completion of each step. */ type ValuesStreamEvent = { id?: string; event: "values"; data: StateType; }; /** @internal */ type SubgraphValuesStreamEvent = AsSubgraph>; /** * Stream event with message chunks coming from LLM invocations inside nodes. */ type MessagesTupleStreamEvent = { event: "messages"; data: [message: Message, config: MessageTupleMetadata]; }; /** @internal */ type SubgraphMessagesTupleStreamEvent = AsSubgraph; /** * Metadata stream event with information about the run and thread */ type MetadataStreamEvent = { id?: string; event: "metadata"; data: { run_id: string; thread_id: string; }; }; /** * Stream event with error information. */ type ErrorStreamEvent = { id?: string; event: "error"; data: { error: string; message: string; }; }; /** @internal */ type SubgraphErrorStreamEvent = AsSubgraph; /** * Stream event with updates to the state after each step. * The streamed outputs include the name of the node that * produced the update as well as the update. */ type UpdatesStreamEvent = { id?: string; event: "updates"; data: { [node: string]: UpdateType; }; }; /** @internal */ type SubgraphUpdatesStreamEvent = AsSubgraph>; /** * Streaming custom data from inside the nodes. */ type CustomStreamEvent = { event: "custom"; data: T; }; /** @internal */ type SubgraphCustomStreamEvent = AsSubgraph>; type MessagesMetadataStreamEvent = { id?: string; event: "messages/metadata"; data: { [messageId: string]: { metadata: unknown; }; }; }; type MessagesCompleteStreamEvent = { id?: string; event: "messages/complete"; data: Message[]; }; type MessagesPartialStreamEvent = { id?: string; event: "messages/partial"; data: Message[]; }; type TasksStreamCreateEvent = { id?: string; event: "tasks"; data: { id: string; name: string; interrupts: Interrupt[]; input: StateType; triggers: string[]; }; }; type TasksStreamResultEvent = { id?: string; event: "tasks"; data: { id: string; name: string; interrupts: Interrupt[]; result: [string, UpdateType][]; }; }; type TasksStreamErrorEvent = { id?: string; event: "tasks"; data: { id: string; name: string; interrupts: Interrupt[]; error: string; }; }; type TasksStreamEvent = TasksStreamCreateEvent | TasksStreamResultEvent | TasksStreamErrorEvent; type SubgraphTasksStreamEvent = AsSubgraph> | AsSubgraph> | AsSubgraph; type CheckpointsStreamEvent = { id?: string; event: "checkpoints"; data: { values: StateType; next: string[]; config: Config; metadata: Metadata; tasks: ThreadTask[]; }; }; type SubgraphCheckpointsStreamEvent = AsSubgraph>; /** * Message stream event specific to LangGraph Server. * @deprecated Use `streamMode: "messages-tuple"` instead. */ type MessagesStreamEvent = MessagesMetadataStreamEvent | MessagesCompleteStreamEvent | MessagesPartialStreamEvent; /** @internal */ type SubgraphMessagesStreamEvent = AsSubgraph | AsSubgraph | AsSubgraph; /** * Stream event with detailed debug information. */ type DebugStreamEvent = { id?: string; event: "debug"; data: unknown; }; /** @internal */ type SubgraphDebugStreamEvent = AsSubgraph; /** * Stream event with events occurring during execution. */ type EventsStreamEvent = { id?: string; event: "events"; data: { event: `on_${"chat_model" | "llm" | "chain" | "tool" | "retriever" | "prompt"}_${"start" | "stream" | "end"}` | (string & {}); name: string; tags: string[]; run_id: string; metadata: Record; parent_ids: string[]; data: unknown; }; }; /** @internal */ type SubgraphEventsStreamEvent = AsSubgraph; /** * Stream event with a feedback key to signed URL map. Set `feedbackKeys` in * the `RunsStreamPayload` to receive this event. */ type FeedbackStreamEvent = { id?: string; event: "feedback"; data: { [feedbackKey: string]: string; }; }; type ToolStreamEventData = { event: "on_tool_start"; toolCallId?: string; name: string; input: unknown; } | { event: "on_tool_event"; toolCallId?: string; name: string; data: unknown; } | { event: "on_tool_end"; toolCallId?: string; name: string; output: unknown; } | { event: "on_tool_error"; toolCallId?: string; name: string; error: unknown; }; type ToolsStreamEvent = { event: "tools"; data: ToolStreamEventData; }; type ToolProgress = { toolCallId?: string; name: string; state: "starting" | "running" | "completed" | "error"; input?: unknown; data?: unknown; result?: unknown; error?: unknown; }; /** @internal */ type SubgraphToolsStreamEvent = AsSubgraph; type GetStreamModeMap = { values: ValuesStreamEvent; updates: UpdatesStreamEvent; custom: CustomStreamEvent; debug: DebugStreamEvent; messages: MessagesStreamEvent; "messages-tuple": MessagesTupleStreamEvent; tasks: TasksStreamEvent; checkpoints: CheckpointsStreamEvent; events: EventsStreamEvent; tools: ToolsStreamEvent; }[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | ErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent; type GetSubgraphsStreamModeMap = { values: SubgraphValuesStreamEvent; updates: SubgraphUpdatesStreamEvent; custom: SubgraphCustomStreamEvent; debug: SubgraphDebugStreamEvent; messages: SubgraphMessagesStreamEvent; "messages-tuple": SubgraphMessagesTupleStreamEvent; events: SubgraphEventsStreamEvent; tasks: SubgraphTasksStreamEvent; checkpoints: SubgraphCheckpointsStreamEvent; tools: SubgraphToolsStreamEvent; }[TStreamMode extends StreamMode[] ? TStreamMode[number] : TStreamMode] | SubgraphErrorStreamEvent | MetadataStreamEvent | FeedbackStreamEvent; type TypedAsyncGenerator = AsyncGenerator : GetStreamModeMap>; //#endregion export { CheckpointsStreamEvent, CustomStreamEvent, DebugStreamEvent, ErrorStreamEvent, EventsStreamEvent, FeedbackStreamEvent, MessagesStreamEvent, MessagesTupleStreamEvent, MetadataStreamEvent, StreamMode, TasksStreamEvent, ThreadStreamMode, ToolProgress, ToolsStreamEvent, TypedAsyncGenerator, UpdatesStreamEvent, ValuesStreamEvent }; //# sourceMappingURL=types.stream.d.ts.map