From 1546eddfbe257e4995edc9a21829fee8a4b66966 Mon Sep 17 00:00:00 2001 From: Vadym Barda Date: Wed, 8 Jan 2025 10:58:07 -0500 Subject: [PATCH] sdk-js: add stream mode and stream subgraphs to runs.create (#2958) --- libs/sdk-js/src/client.ts | 2 ++ libs/sdk-js/src/types.ts | 30 ++++++++++++++++++++++-------- 2 files changed, 24 insertions(+), 8 deletions(-) diff --git a/libs/sdk-js/src/client.ts b/libs/sdk-js/src/client.ts index 581145229..b340274ca 100644 --- a/libs/sdk-js/src/client.ts +++ b/libs/sdk-js/src/client.ts @@ -817,6 +817,8 @@ export class RunsClient extends BaseClient { command: payload?.command, config: payload?.config, metadata: payload?.metadata, + stream_mode: payload?.streamMode, + stream_subgraphs: payload?.streamSubgraphs, assistant_id: assistantId, interrupt_before: payload?.interruptBefore, interrupt_after: payload?.interruptAfter, diff --git a/libs/sdk-js/src/types.ts b/libs/sdk-js/src/types.ts index 116a1d244..27e5c1857 100644 --- a/libs/sdk-js/src/types.ts +++ b/libs/sdk-js/src/types.ts @@ -1,5 +1,15 @@ import { Checkpoint, Config, Metadata } from "./schema.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. + */ export type StreamMode = | "values" | "messages" @@ -140,13 +150,7 @@ interface RunsInvokePayload { export interface RunsStreamPayload extends RunsInvokePayload { /** - * One of `"values"`, `"messages"`, `"updates"` or `"events"`. - * - `"values"`: Stream the thread state any time it changes. - * - `"messages"`: Stream chat messages from thread state and calls to chat models, - * token-by-token where possible. - * - `"updates"`: Stream the state updates returned by each node. - * - `"events"`: Stream all events produced by the run. You can also access these - * afterwards using the `client.runs.listEvents()` method. + * One of `"values"`, `"messages"`, `"messages-tuple"`, `"updates"`, `"events"`, `"debug"`, `"custom"`. */ streamMode?: StreamMode | Array; @@ -162,7 +166,17 @@ export interface RunsStreamPayload extends RunsInvokePayload { feedbackKeys?: string[]; } -export interface RunsCreatePayload extends RunsInvokePayload {} +export interface RunsCreatePayload extends RunsInvokePayload { + /** + * One of `"values"`, `"messages"`, `"messages-tuple"`, `"updates"`, `"events"`, `"debug"`, `"custom"`. + */ + streamMode?: StreamMode | Array; + + /** + * Stream output from subgraphs. By default, streams only the top graph. + */ + streamSubgraphs?: boolean; +} export interface CronsCreatePayload extends RunsCreatePayload { /**