diff --git a/.changeset/cute-nights-buy.md b/.changeset/cute-nights-buy.md new file mode 100644 index 0000000..18a1cd6 --- /dev/null +++ b/.changeset/cute-nights-buy.md @@ -0,0 +1,5 @@ +--- +"@mrck-labs/grid-core": patch +--- + +fix tool calling while streaming diff --git a/packages/core/src/services/base.llm.service.ts b/packages/core/src/services/base.llm.service.ts index a5d8e06..218071a 100644 --- a/packages/core/src/services/base.llm.service.ts +++ b/packages/core/src/services/base.llm.service.ts @@ -435,12 +435,14 @@ export const baseLLMService = ( aiModel = openai(model); } - const result = await streamText({ + const result = streamText({ model: aiModel, messages: messages as any, temperature, maxOutputTokens, tools: tools && tools.length > 0 ? (tools as any) : undefined, + // Enable multi-step tool execution (same as non-streaming) + stopWhen: stepCountIs(12), // Forward provider-specific options ...(providerOptions ? { providerOptions: providerOptions as any } : {}), onStepFinish: (step) => {