@langchain/langgraph-sdk
Version:
Client library for interacting with the LangGraph API
46 lines (45 loc) • 2.02 kB
text/typescript
import { AssembledMessage } from "../client/stream/messages.cjs";
import { ContentBlock, MessageRole, UsageInfo } from "@langchain/protocol";
import { BaseMessage } from "@langchain/core/messages";
//#region src/stream/assembled-to-message.d.ts
type ExtendedMessageRole = MessageRole | "tool";
interface AssembledToMessageInput {
/** Stable message id (from `MessageStartData.id`). */
id?: string;
/** Author role captured from the `message-start` event. */
role: ExtendedMessageRole;
/** Content blocks assembled so far. */
blocks: ContentBlock[];
/** Namespace associated with the streamed message. */
namespace?: readonly string[];
/** Graph node associated with the streamed message. */
node?: string;
runId?: string;
/** Tool-call id a `role: "tool"` message is responding to, if any. */
toolCallId?: string;
/** Provider metadata (populated on `message-start`). */
metadata?: Readonly<Record<string, unknown>>;
/** Final-token usage (populated on `message-finish`). */
usage?: UsageInfo;
/** Response metadata (populated on `message-finish`). */
finishMetadata?: Readonly<Record<string, unknown>>;
/** Finish reason (populated on `message-finish`). */
finishReason?: string;
}
/**
* Produce a `BaseMessage` class instance from an in-progress or
* finished assembled message. Safe to call repeatedly across deltas —
* each call returns a new instance whose content reflects the
* currently-observed blocks.
*/
declare function assembledToBaseMessage(input: AssembledToMessageInput): BaseMessage;
/**
* Convenience: given the raw assembled message + the role captured
* from `message-start`, produce a `BaseMessage` with the same id.
*/
declare function assembledMessageToBaseMessage(assembled: AssembledMessage, role: ExtendedMessageRole, extras?: {
toolCallId?: string;
}): BaseMessage;
//#endregion
export { AssembledToMessageInput, ExtendedMessageRole, assembledMessageToBaseMessage, assembledToBaseMessage };
//# sourceMappingURL=assembled-to-message.d.cts.map