UNPKG

@langchain/langgraph-sdk

Version:

Client library for interacting with the LangGraph API

58 lines (57 loc) • 3.27 kB
import { ThreadState } from "../schema.cjs"; import { Message } from "../types.messages.cjs"; import * as _langchain_core_messages0 from "@langchain/core/messages"; import { BaseMessage, BaseMessageChunk } from "@langchain/core/messages"; //#region src/ui/messages.d.ts /** * Replaces the `messages` property in a state type with `BaseMessage[]`. * Used by framework SDKs to reflect that `ensureHistoryMessageInstances` * converts plain message objects to class instances at runtime. */ type StateWithBaseMessages<S> = S extends { messages: unknown; } ? Omit<S, "messages"> & { messages: BaseMessage[]; } : S; /** * Maps a `ThreadState<StateType>[]` so that the `messages` field inside * `values` is typed as `BaseMessage[]` instead of `Message[]`. */ type HistoryWithBaseMessages<T> = T extends ThreadState<infer S>[] ? ThreadState<StateWithBaseMessages<S>>[] : T; declare class MessageTupleManager { chunks: Record<string, { chunk?: BaseMessageChunk | BaseMessage; metadata?: Record<string, unknown>; index?: number; }>; constructor(); add(serialized: Message, metadata: Record<string, unknown> | undefined): string | null; clear(): void; get(id: string | null | undefined, defaultIndex?: number): { chunk?: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType> | BaseMessageChunk<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType> | undefined; metadata?: Record<string, unknown> | undefined; index?: number | undefined; } | null; } declare const toMessageDict: (chunk: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>) => Message; /** * Identity converter that keeps @langchain/core class instances. * Used by framework SDKs to expose BaseMessage instances instead of plain dicts. */ declare const toMessageClass: (chunk: BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>) => BaseMessage<_langchain_core_messages0.MessageStructure<_langchain_core_messages0.MessageToolSet>, _langchain_core_messages0.MessageType>; /** * Ensures all messages in an array are BaseMessage class instances. * Messages that are already class instances pass through unchanged. * Plain message objects (e.g. from API values/history) are converted * via {@link tryCoerceMessageLikeToMessage}. */ declare function ensureMessageInstances(messages: (Message | BaseMessage)[]): (BaseMessage | BaseMessageChunk)[]; /** * Converts plain message objects within each history state's values * to proper BaseMessage class instances. Returns a new array with * shallow-copied states whose messages have been coerced. */ declare function ensureHistoryMessageInstances<StateType extends Record<string, unknown>>(history: ThreadState<StateType>[], messagesKey?: string): ThreadState<StateType>[]; //#endregion export { HistoryWithBaseMessages, MessageTupleManager, StateWithBaseMessages, ensureHistoryMessageInstances, ensureMessageInstances, toMessageClass, toMessageDict }; //# sourceMappingURL=messages.d.cts.map