@mcpmesh/sdk 0.9.11 → 0.9.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"llm-agent.js","sourceRoot":"","sources":["../src/llm-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-agent.js","sourceRoot":"","sources":["../src/llm-agent.ts"],"names":[],"mappings":"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"}
@@ -130,20 +130,26 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
130
130
  name: z.ZodString;
131
131
  description: z.ZodOptional<z.ZodString>;
132
132
  parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
133
- }, "strip", z.ZodTypeAny, {
134
- name: string;
135
- description?: string | undefined;
136
- parameters?: Record<string, unknown> | undefined;
137
- }, {
138
- name: string;
139
- description?: string | undefined;
140
- parameters?: Record<string, unknown> | undefined;
141
- }>;
133
+ _mesh_endpoint: z.ZodOptional<z.ZodString>;
134
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
135
+ name: z.ZodString;
136
+ description: z.ZodOptional<z.ZodString>;
137
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
138
+ _mesh_endpoint: z.ZodOptional<z.ZodString>;
139
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
140
+ name: z.ZodString;
141
+ description: z.ZodOptional<z.ZodString>;
142
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
143
+ _mesh_endpoint: z.ZodOptional<z.ZodString>;
144
+ }, z.ZodTypeAny, "passthrough">>;
142
145
  }, "strip", z.ZodTypeAny, {
143
146
  function: {
144
147
  name: string;
145
148
  description?: string | undefined;
146
149
  parameters?: Record<string, unknown> | undefined;
150
+ _mesh_endpoint?: string | undefined;
151
+ } & {
152
+ [k: string]: unknown;
147
153
  };
148
154
  type: "function";
149
155
  }, {
@@ -151,6 +157,9 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
151
157
  name: string;
152
158
  description?: string | undefined;
153
159
  parameters?: Record<string, unknown> | undefined;
160
+ _mesh_endpoint?: string | undefined;
161
+ } & {
162
+ [k: string]: unknown;
154
163
  };
155
164
  type: "function";
156
165
  }>, "many">>>;
@@ -178,6 +187,9 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
178
187
  name: string;
179
188
  description?: string | undefined;
180
189
  parameters?: Record<string, unknown> | undefined;
190
+ _mesh_endpoint?: string | undefined;
191
+ } & {
192
+ [k: string]: unknown;
181
193
  };
182
194
  type: "function";
183
195
  }[] | null | undefined;
@@ -205,6 +217,9 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
205
217
  name: string;
206
218
  description?: string | undefined;
207
219
  parameters?: Record<string, unknown> | undefined;
220
+ _mesh_endpoint?: string | undefined;
221
+ } & {
222
+ [k: string]: unknown;
208
223
  };
209
224
  type: "function";
210
225
  }[] | null | undefined;
@@ -234,6 +249,9 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
234
249
  name: string;
235
250
  description?: string | undefined;
236
251
  parameters?: Record<string, unknown> | undefined;
252
+ _mesh_endpoint?: string | undefined;
253
+ } & {
254
+ [k: string]: unknown;
237
255
  };
238
256
  type: "function";
239
257
  }[] | null | undefined;
@@ -263,6 +281,9 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
263
281
  name: string;
264
282
  description?: string | undefined;
265
283
  parameters?: Record<string, unknown> | undefined;
284
+ _mesh_endpoint?: string | undefined;
285
+ } & {
286
+ [k: string]: unknown;
266
287
  };
267
288
  type: "function";
268
289
  }[] | null | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../src/llm-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AA2DpB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD;AAMD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,CAkChD;AAkDD;;GAEG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCxB,CAAC;AAEH,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CAseA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,UAAU,CAAC,OAAO,WAAW,CAAC,CAOxC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAEP"}
1
+ {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../src/llm-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AA2DpB;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAYnE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMtD;AAMD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,CAkChD;AAkDD;;GAEG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwCxB,CAAC;AAEH,KAAK,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAChE,OAAO,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAExD,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;CACH,CA0rBA;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,OAAO,GACZ,IAAI,IAAI,UAAU,CAAC,OAAO,WAAW,CAAC,CAOxC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG;IACxE,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB,GAAG,IAAI,CAEP"}
@@ -25,7 +25,7 @@ import { z } from "zod";
25
25
  import { createDebug } from "./debug.js";
26
26
  import { ProviderHandlerRegistry, makeSchemaStrict } from "./provider-handlers/index.js";
27
27
  import { generateTraceId, generateSpanId, publishTraceSpan, matchesPropagateHeader } from "./tracing.js";
28
- import { runWithTraceContext, runWithPropagatedHeaders } from "./proxy.js";
28
+ import { runWithTraceContext, runWithPropagatedHeaders, callMcpTool } from "./proxy.js";
29
29
  const debug = createDebug("llm-provider");
30
30
  // ============================================================================
31
31
  // Vendor Extraction
@@ -210,7 +210,8 @@ const MeshLlmRequestSchema = z.object({
210
210
  name: z.string(),
211
211
  description: z.string().optional(),
212
212
  parameters: z.record(z.unknown()).optional(),
213
- }),
213
+ _mesh_endpoint: z.string().optional(),
214
+ }).passthrough(),
214
215
  }))
215
216
  .nullish(),
216
217
  model_params: z.record(z.unknown()).nullish(),
@@ -347,25 +348,31 @@ export function llmProvider(config) {
347
348
  // Get vendor-specific handler for optimizations
348
349
  const handler = ProviderHandlerRegistry.getHandler(vendor);
349
350
  debug(`Using provider handler: ${handler.constructor.name} for vendor: ${vendor}`);
350
- // Determine output mode early (needed for system prompt formatting)
351
- // When tools are present, we can't use generateObject() (it doesn't support tools),
352
- // so we must fall back to "hint" mode to add JSON instructions to the system prompt.
353
- // This ensures the LLM knows to return structured JSON even when using generateText().
351
+ // Determine output mode early (needed for system prompt formatting and prepareRequest)
354
352
  const hasTools = request.tools && request.tools.length > 0;
355
- let outputMode = handler.determineOutputMode(outputSchemaObj);
356
- if (outputMode === "strict" && hasTools && outputSchemaObj) {
357
- debug(`Forcing hint mode: tools present (${request.tools?.length}), can't use generateObject`);
358
- outputMode = "hint";
353
+ const outputMode = handler.determineOutputMode(outputSchemaObj);
354
+ // When tools are present with structured output, we use generateText() with two strategies:
355
+ // 1. HINT mode instructions in the system prompt (DECISION GUIDE + JSON schema + field
356
+ // descriptions + example format) so the LLM knows exactly what JSON structure to return
357
+ // 2. responseFormat via providerOptions (native enforcement via prepareRequest)
358
+ // The prompt uses "hint" mode for detailed instructions, while prepareRequest keeps
359
+ // "strict" mode to set responseFormat for native API enforcement.
360
+ const promptOutputMode = (hasTools && outputSchemaObj && outputMode === "strict")
361
+ ? "hint"
362
+ : outputMode;
363
+ if (promptOutputMode !== outputMode) {
364
+ debug(`Tools present with structured output: using hint mode for prompt (strict for responseFormat)`);
359
365
  }
360
- debug(`Output mode for system prompt: ${outputMode}`);
366
+ debug(`Output mode: ${outputMode}, prompt mode: ${promptOutputMode}`);
361
367
  // Format system prompt with vendor-specific instructions (JSON format, tool rules, etc.)
362
- // This is critical for structured output - handlers add JSON instructions in "hint" mode
363
- // and brief notes in "strict" mode. Without this, LLMs may return plain text.
368
+ // Uses promptOutputMode so handlers add detailed HINT instructions (DECISION GUIDE,
369
+ // JSON schema, field descriptions, example format) when tools + structured output
370
+ // are both present. Without this, LLMs return wrong data.
364
371
  const formattedMessages = request.messages.map(msg => {
365
372
  if (msg.role === "system" && msg.content) {
366
373
  const formattedContent = handler.formatSystemPrompt(msg.content, request.tools ?? null, // ToolSchema[] format (OpenAI function calling)
367
- outputSchemaObj, outputMode);
368
- debug(`Formatted system prompt (${outputMode} mode): ${formattedContent.substring(0, 200)}...`);
374
+ outputSchemaObj, promptOutputMode);
375
+ debug(`Formatted system prompt (${promptOutputMode} mode): ${formattedContent.substring(0, 200)}...`);
369
376
  return { ...msg, content: formattedContent };
370
377
  }
371
378
  return msg;
@@ -377,6 +384,29 @@ export function llmProvider(config) {
377
384
  // Convert tools to Vercel AI SDK format using the tool() helper
378
385
  // Import jsonSchema and tool from ai package for proper schema handling
379
386
  const { jsonSchema, tool: aiTool } = aiModule;
387
+ // Extract _mesh_endpoint from tool schemas for provider-side execution.
388
+ // When the consumer sends tools enriched with _mesh_endpoint, the provider
389
+ // executes tools internally via MCP calls instead of returning tool_calls.
390
+ const toolEndpoints = {};
391
+ if (request.tools && request.tools.length > 0) {
392
+ for (const tool of request.tools) {
393
+ const funcDef = tool.function;
394
+ const endpoint = funcDef._mesh_endpoint;
395
+ if (typeof endpoint === "string") {
396
+ toolEndpoints[tool.function.name] = endpoint;
397
+ delete funcDef._mesh_endpoint;
398
+ }
399
+ }
400
+ }
401
+ const hasToolEndpoints = Object.keys(toolEndpoints).length > 0;
402
+ // Gemini: use AI SDK's maxSteps with execute functions instead of manual loop.
403
+ // The manual loop drops Gemini's thought_signature from assistant messages,
404
+ // causing 400 errors in multi-turn tool conversations. AI SDK preserves it.
405
+ // Claude/OpenAI keep the manual loop (they need response_format on every call).
406
+ const useMaxSteps = hasToolEndpoints && (vendor === "gemini" || vendor === "google");
407
+ if (hasToolEndpoints) {
408
+ debug(`Provider-managed loop: ${Object.keys(toolEndpoints).length} tools with endpoints${useMaxSteps ? " (Gemini maxSteps mode)" : ""}`);
409
+ }
380
410
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
381
411
  let vercelTools;
382
412
  if (request.tools && request.tools.length > 0) {
@@ -394,13 +424,43 @@ export function llmProvider(config) {
394
424
  ...schemaWithoutMeta,
395
425
  };
396
426
  debug(`Tool '${tool.function.name}' cleanSchema: ${JSON.stringify(cleanSchema, null, 2)}`);
397
- // Use AI SDK's tool() helper with jsonSchema() for proper schema handling
398
- vercelTools[tool.function.name] = aiTool({
399
- description: tool.function.description ?? "",
400
- inputSchema: jsonSchema(cleanSchema),
401
- // No execute - we're in provider mode, consumer handles execution
402
- });
403
- debug(`Tool '${tool.function.name}' vercelTool created with aiTool() helper`);
427
+ const toolName = tool.function.name;
428
+ if (useMaxSteps) {
429
+ // Gemini: use execute functions + maxSteps (AI SDK preserves thought_signature)
430
+ const toolEndpoint = toolEndpoints[toolName];
431
+ vercelTools[toolName] = aiTool({
432
+ description: tool.function.description ?? "",
433
+ inputSchema: jsonSchema(cleanSchema),
434
+ execute: async (args) => {
435
+ const toolArgs = (args ?? {});
436
+ debug(`Provider executing tool '${toolName}' at ${toolEndpoint}`);
437
+ try {
438
+ const result = await callMcpTool(toolEndpoint, toolName, toolArgs, 30000, 1, "tool");
439
+ debug(`Tool '${toolName}' result: ${result.substring(0, 200)}`);
440
+ try {
441
+ return JSON.parse(result);
442
+ }
443
+ catch {
444
+ return result;
445
+ }
446
+ }
447
+ catch (err) {
448
+ const errorMsg = err instanceof Error ? err.message : String(err);
449
+ debug(`Tool '${toolName}' execution failed: ${errorMsg}`);
450
+ return { error: errorMsg };
451
+ }
452
+ },
453
+ });
454
+ debug(`Tool '${toolName}' vercelTool created (with execute for Gemini maxSteps)`);
455
+ }
456
+ else {
457
+ // Claude/OpenAI or no endpoints: schema only (manual loop or consumer handles)
458
+ vercelTools[toolName] = aiTool({
459
+ description: tool.function.description ?? "",
460
+ inputSchema: jsonSchema(cleanSchema),
461
+ });
462
+ debug(`Tool '${toolName}' vercelTool created (schema only, no execute)`);
463
+ }
404
464
  }
405
465
  }
406
466
  // Apply vendor-specific request preparation (e.g., Claude prompt caching)
@@ -425,6 +485,15 @@ export function llmProvider(config) {
425
485
  // Add tools if present
426
486
  if (vercelTools && Object.keys(vercelTools).length > 0) {
427
487
  requestOptions.tools = vercelTools;
488
+ if (useMaxSteps) {
489
+ // Gemini: let AI SDK manage the agentic loop via maxSteps.
490
+ // AI SDK preserves thought_signature across turns automatically.
491
+ requestOptions.maxSteps = 10;
492
+ debug(`Gemini provider-managed loop via maxSteps=10 (AI SDK preserves thought_signature)`);
493
+ }
494
+ // Note: for non-Gemini vendors, maxSteps is NOT set. We manage
495
+ // the agentic loop manually so that providerOptions (including
496
+ // response_format) is applied on every LLM call, not just the first.
428
497
  }
429
498
  // Apply default config values
430
499
  if (maxTokens) {
@@ -446,6 +515,23 @@ export function llmProvider(config) {
446
515
  if (modelParams.top_p !== undefined) {
447
516
  requestOptions.topP = modelParams.top_p;
448
517
  }
518
+ // Pass responseFormat from handler's prepareRequest to generateText via providerOptions.
519
+ // This enables native structured output (response_format) alongside tools in generateText(),
520
+ // which generateObject() doesn't support. The handler sets responseFormat when in strict mode.
521
+ // EXCEPTION: Gemini 3 + response_format + tools causes infinite tool loops,
522
+ // so skip responseFormat when Gemini has tools (matching Python handler guard).
523
+ const skipResponseFormat = (vendor === "gemini" || vendor === "google") && hasTools;
524
+ if (preparedRequest.responseFormat && !skipResponseFormat) {
525
+ requestOptions.providerOptions = {
526
+ [vendor]: {
527
+ response_format: preparedRequest.responseFormat,
528
+ },
529
+ };
530
+ debug(`Passing responseFormat via providerOptions for vendor: ${vendor}`);
531
+ }
532
+ else if (skipResponseFormat) {
533
+ debug(`Skipping responseFormat for Gemini (tools present — avoids infinite loop)`);
534
+ }
449
535
  debug(`Calling Vercel AI SDK: model=${effectiveModelName}`);
450
536
  // Issue #459: Use generateObject for structured output based on handler's output mode
451
537
  // - "strict" mode: Use generateObject() for native structured output (OpenAI/Gemini)
@@ -458,7 +544,7 @@ export function llmProvider(config) {
458
544
  const useStructuredOutput = outputMode === "strict" && outputSchema && !vercelTools;
459
545
  debug(`Output mode: ${outputMode}, useStructuredOutput: ${useStructuredOutput}`);
460
546
  let response;
461
- let latencyMs;
547
+ let latencyMs = 0;
462
548
  let resultUsage;
463
549
  if (useStructuredOutput) {
464
550
  // Use generateObject for structured output
@@ -493,8 +579,120 @@ export function llmProvider(config) {
493
579
  };
494
580
  resultUsage = objectResult.usage;
495
581
  }
582
+ else if (hasToolEndpoints && !useMaxSteps) {
583
+ // Provider-managed agentic loop: execute tools internally.
584
+ // Unlike AI SDK's maxSteps, this manual loop ensures providerOptions
585
+ // (including response_format for structured output) is applied on
586
+ // EVERY LLM call, not just the first one.
587
+ let iteration = 0;
588
+ const maxIterations = 10;
589
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
590
+ let currentMessages = [...convertedMessages];
591
+ while (iteration < maxIterations) {
592
+ iteration++;
593
+ // Build request for this iteration — reuse all options but update messages
594
+ const iterRequest = {
595
+ ...requestOptions,
596
+ messages: currentMessages,
597
+ };
598
+ // Do NOT set maxSteps — we manage the loop manually
599
+ const result = await generateText(iterRequest);
600
+ // Accumulate usage across iterations
601
+ if (result.usage) {
602
+ if (!resultUsage) {
603
+ resultUsage = { inputTokens: 0, outputTokens: 0 };
604
+ }
605
+ resultUsage.inputTokens = (resultUsage.inputTokens ?? 0) + (result.usage.inputTokens ?? 0);
606
+ resultUsage.outputTokens = (resultUsage.outputTokens ?? 0) + (result.usage.outputTokens ?? 0);
607
+ }
608
+ if (result.toolCalls && result.toolCalls.length > 0) {
609
+ debug(`Provider executing ${result.toolCalls.length} tool calls (iteration ${iteration}/${maxIterations})`);
610
+ // Add assistant message with tool calls (Vercel AI SDK content block format)
611
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
612
+ const assistantContentParts = [];
613
+ if (result.text) {
614
+ assistantContentParts.push({ type: "text", text: result.text });
615
+ }
616
+ for (const tc of result.toolCalls) {
617
+ assistantContentParts.push({
618
+ type: "tool-call",
619
+ toolCallId: tc.toolCallId,
620
+ toolName: tc.toolName,
621
+ input: tc.input,
622
+ });
623
+ }
624
+ currentMessages.push({
625
+ role: "assistant",
626
+ content: assistantContentParts,
627
+ });
628
+ // Execute each tool call and add results as tool messages
629
+ for (const tc of result.toolCalls) {
630
+ const toolName = tc.toolName;
631
+ const toolEndpoint = toolEndpoints[toolName];
632
+ let toolResultStr;
633
+ if (toolEndpoint) {
634
+ try {
635
+ const toolArgs = (tc.input ?? {});
636
+ debug(`Provider executing tool '${toolName}' at ${toolEndpoint}`);
637
+ toolResultStr = await callMcpTool(toolEndpoint, toolName, toolArgs, 30000, // 30s timeout
638
+ 1, // 1 attempt
639
+ "tool");
640
+ debug(`Tool '${toolName}' result: ${toolResultStr.substring(0, 200)}`);
641
+ }
642
+ catch (err) {
643
+ const errorMsg = err instanceof Error ? err.message : String(err);
644
+ debug(`Tool '${toolName}' execution failed: ${errorMsg}`);
645
+ toolResultStr = JSON.stringify({ error: errorMsg });
646
+ }
647
+ }
648
+ else {
649
+ toolResultStr = JSON.stringify({ error: `No endpoint for tool ${toolName}` });
650
+ }
651
+ // Parse JSON result if possible for structured output
652
+ let toolOutput;
653
+ try {
654
+ toolOutput = { type: "json", value: JSON.parse(toolResultStr) };
655
+ }
656
+ catch {
657
+ toolOutput = { type: "text", value: toolResultStr };
658
+ }
659
+ // Add tool result message in Vercel AI SDK format
660
+ currentMessages.push({
661
+ role: "tool",
662
+ content: [{
663
+ type: "tool-result",
664
+ toolCallId: tc.toolCallId,
665
+ toolName,
666
+ output: toolOutput,
667
+ }],
668
+ });
669
+ }
670
+ }
671
+ else {
672
+ // No tool calls — final response
673
+ latencyMs = Date.now() - startTime;
674
+ debug(`Provider-managed loop completed in ${iteration} iterations, latency=${latencyMs}ms`);
675
+ response = {
676
+ role: "assistant",
677
+ content: result.text ?? "",
678
+ };
679
+ break;
680
+ }
681
+ }
682
+ // Safety: max iterations reached without a final text response
683
+ if (iteration >= maxIterations && !response) {
684
+ latencyMs = Date.now() - startTime;
685
+ debug(`Provider-managed loop hit max iterations (${maxIterations}), latency=${latencyMs}ms`);
686
+ response = {
687
+ role: "assistant",
688
+ content: "Maximum tool call iterations reached",
689
+ };
690
+ }
691
+ }
496
692
  else {
497
- // Use generateText for regular text or tool-calling scenarios
693
+ // generateText path covers:
694
+ // 1. Gemini maxSteps: AI SDK manages the tool loop (execute functions + maxSteps)
695
+ // 2. No tool endpoints: consumer-managed tools or plain text
498
696
  const result = await generateText(requestOptions);
499
697
  latencyMs = Date.now() - startTime;
500
698
  debug(`LLM response received: ` +
@@ -506,15 +704,19 @@ export function llmProvider(config) {
506
704
  role: "assistant",
507
705
  content: result.text ?? "",
508
706
  };
509
- // Include tool_calls if present (critical for agentic loop!)
510
- if (result.toolCalls && result.toolCalls.length > 0) {
707
+ // Include tool_calls for consumer-managed execution only.
708
+ // When hasToolEndpoints is true (Gemini maxSteps), tools were already
709
+ // executed by AI SDK via execute functions — don't return tool_calls.
710
+ if (!hasToolEndpoints && result.toolCalls && result.toolCalls.length > 0) {
511
711
  response.tool_calls = convertToolCalls(result.toolCalls);
512
712
  }
513
713
  resultUsage = result.usage;
514
714
  }
515
- // Include usage metadata for cost tracking (shared for both paths)
715
+ // All code paths above must set response; assert it here
716
+ const finalResponse = response;
717
+ // Include usage metadata for cost tracking (shared for all paths)
516
718
  if (resultUsage) {
517
- response._mesh_usage = {
719
+ finalResponse._mesh_usage = {
518
720
  prompt_tokens: resultUsage.inputTokens ?? 0,
519
721
  completion_tokens: resultUsage.outputTokens ?? 0,
520
722
  model: effectiveModel,
@@ -522,12 +724,12 @@ export function llmProvider(config) {
522
724
  }
523
725
  debug(`LLM provider processed request ` +
524
726
  `(model=${effectiveModel}, messages=${request.messages.length}, ` +
525
- `structured=${useStructuredOutput}, tool_calls=${response.tool_calls?.length ?? 0})`);
727
+ `structured=${useStructuredOutput}, tool_calls=${finalResponse.tool_calls?.length ?? 0})`);
526
728
  // Return JSON-stringified response
527
729
  // The consumer (MeshDelegatedProvider.complete) expects content.text to be
528
730
  // a JSON string that it can parse to get the MeshLlmResponse object.
529
731
  // FastMCP wraps this in { content: [{ type: "text", text: <return_value> }] }
530
- return JSON.stringify(response);
732
+ return JSON.stringify(finalResponse);
531
733
  }
532
734
  catch (err) {
533
735
  console.error("[llm-provider] execute error:", err);