diff --git a/packages/sdk/src/actions/index.ts b/packages/sdk/src/actions/index.ts index e73947a4e..045254643 100644 --- a/packages/sdk/src/actions/index.ts +++ b/packages/sdk/src/actions/index.ts @@ -37,4 +37,5 @@ export { type StreamMessageEvent, type StreamToolEvent, extractTextFromEvent, + extractThinkingFromEvent, } from "./stream"; diff --git a/packages/sdk/src/actions/stream.ts b/packages/sdk/src/actions/stream.ts index 513290400..032bb9628 100644 --- a/packages/sdk/src/actions/stream.ts +++ b/packages/sdk/src/actions/stream.ts @@ -12,7 +12,7 @@ export interface StreamMessageEvent { message: { id?: string; role: string; - content?: Array<{ type: string; text?: string }>; + content?: Array<{ type: string; text?: string; thinking?: string }>; }; assistantMessageEvent?: unknown; } @@ -47,3 +47,13 @@ export function extractTextFromEvent(event: StreamMessageEvent): string { .map((c) => c.text ?? "") .join(""); } + +/** Extract thinking/reasoning content from an AgentMessage content array */ +export function extractThinkingFromEvent(event: StreamMessageEvent): string { + const content = event.message?.content; + if (!Array.isArray(content)) return ""; + return content + .filter((c) => c.type === "thinking") + .map((c) => c.thinking ?? "") + .join(""); +}