@mcpmesh/sdk 2.3.0 → 2.5.0

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.
Files changed (166) hide show
  1. package/dist/__tests__/agent-single-instance.spec.d.ts +2 -0
  2. package/dist/__tests__/agent-single-instance.spec.d.ts.map +1 -0
  3. package/dist/__tests__/agent-single-instance.spec.js +80 -0
  4. package/dist/__tests__/agent-single-instance.spec.js.map +1 -0
  5. package/dist/__tests__/event-loop-resilience.spec.d.ts +2 -0
  6. package/dist/__tests__/event-loop-resilience.spec.d.ts.map +1 -0
  7. package/dist/__tests__/event-loop-resilience.spec.js +321 -0
  8. package/dist/__tests__/event-loop-resilience.spec.js.map +1 -0
  9. package/dist/__tests__/llm-agent-model-params.test.js +83 -0
  10. package/dist/__tests__/llm-agent-model-params.test.js.map +1 -1
  11. package/dist/__tests__/llm-max-iterations.test.d.ts +20 -0
  12. package/dist/__tests__/llm-max-iterations.test.d.ts.map +1 -0
  13. package/dist/__tests__/llm-max-iterations.test.js +252 -0
  14. package/dist/__tests__/llm-max-iterations.test.js.map +1 -0
  15. package/dist/__tests__/llm-mesh-error-mapping.test.d.ts +16 -0
  16. package/dist/__tests__/llm-mesh-error-mapping.test.d.ts.map +1 -0
  17. package/dist/__tests__/llm-mesh-error-mapping.test.js +135 -0
  18. package/dist/__tests__/llm-mesh-error-mapping.test.js.map +1 -0
  19. package/dist/__tests__/llm-provider-multistep.test.d.ts +20 -0
  20. package/dist/__tests__/llm-provider-multistep.test.d.ts.map +1 -0
  21. package/dist/__tests__/llm-provider-multistep.test.js +138 -0
  22. package/dist/__tests__/llm-provider-multistep.test.js.map +1 -0
  23. package/dist/__tests__/llm-provider-output-mode.test.d.ts +21 -0
  24. package/dist/__tests__/llm-provider-output-mode.test.d.ts.map +1 -0
  25. package/dist/__tests__/llm-provider-output-mode.test.js +116 -0
  26. package/dist/__tests__/llm-provider-output-mode.test.js.map +1 -0
  27. package/dist/__tests__/llm-provider-stopwhen.test.d.ts +22 -0
  28. package/dist/__tests__/llm-provider-stopwhen.test.d.ts.map +1 -0
  29. package/dist/__tests__/llm-provider-stopwhen.test.js +127 -0
  30. package/dist/__tests__/llm-provider-stopwhen.test.js.map +1 -0
  31. package/dist/__tests__/llm-provider-system-synthesis.test.d.ts +20 -0
  32. package/dist/__tests__/llm-provider-system-synthesis.test.d.ts.map +1 -0
  33. package/dist/__tests__/llm-provider-system-synthesis.test.js +168 -0
  34. package/dist/__tests__/llm-provider-system-synthesis.test.js.map +1 -0
  35. package/dist/__tests__/llm-provider-vertex-settings.test.d.ts +18 -0
  36. package/dist/__tests__/llm-provider-vertex-settings.test.d.ts.map +1 -0
  37. package/dist/__tests__/llm-provider-vertex-settings.test.js +128 -0
  38. package/dist/__tests__/llm-provider-vertex-settings.test.js.map +1 -0
  39. package/dist/__tests__/llm-response-model.test.d.ts +10 -0
  40. package/dist/__tests__/llm-response-model.test.d.ts.map +1 -0
  41. package/dist/__tests__/llm-response-model.test.js +92 -0
  42. package/dist/__tests__/llm-response-model.test.js.map +1 -0
  43. package/dist/__tests__/port-conflict-fallback.spec.d.ts +2 -0
  44. package/dist/__tests__/port-conflict-fallback.spec.d.ts.map +1 -0
  45. package/dist/__tests__/port-conflict-fallback.spec.js +123 -0
  46. package/dist/__tests__/port-conflict-fallback.spec.js.map +1 -0
  47. package/dist/__tests__/port-probe-errors.spec.d.ts +2 -0
  48. package/dist/__tests__/port-probe-errors.spec.d.ts.map +1 -0
  49. package/dist/__tests__/port-probe-errors.spec.js +100 -0
  50. package/dist/__tests__/port-probe-errors.spec.js.map +1 -0
  51. package/dist/__tests__/provider-handler-registry.test.d.ts +0 -1
  52. package/dist/__tests__/provider-handler-registry.test.d.ts.map +1 -1
  53. package/dist/__tests__/provider-handler-registry.test.js +23 -1
  54. package/dist/__tests__/provider-handler-registry.test.js.map +1 -1
  55. package/dist/__tests__/proxy-sse-no-data.test.d.ts +13 -0
  56. package/dist/__tests__/proxy-sse-no-data.test.d.ts.map +1 -0
  57. package/dist/__tests__/proxy-sse-no-data.test.js +147 -0
  58. package/dist/__tests__/proxy-sse-no-data.test.js.map +1 -0
  59. package/dist/__tests__/proxy-stream.test.js +26 -0
  60. package/dist/__tests__/proxy-stream.test.js.map +1 -1
  61. package/dist/__tests__/proxy-timeout-guard.test.d.ts +12 -0
  62. package/dist/__tests__/proxy-timeout-guard.test.d.ts.map +1 -0
  63. package/dist/__tests__/proxy-timeout-guard.test.js +85 -0
  64. package/dist/__tests__/proxy-timeout-guard.test.js.map +1 -0
  65. package/dist/__tests__/proxy-timer-leak.test.d.ts +16 -0
  66. package/dist/__tests__/proxy-timer-leak.test.d.ts.map +1 -0
  67. package/dist/__tests__/proxy-timer-leak.test.js +97 -0
  68. package/dist/__tests__/proxy-timer-leak.test.js.map +1 -0
  69. package/dist/__tests__/proxy-tool-error.test.d.ts +13 -0
  70. package/dist/__tests__/proxy-tool-error.test.d.ts.map +1 -0
  71. package/dist/__tests__/proxy-tool-error.test.js +313 -0
  72. package/dist/__tests__/proxy-tool-error.test.js.map +1 -0
  73. package/dist/__tests__/registry-disconnect-retains-deps.spec.d.ts +2 -0
  74. package/dist/__tests__/registry-disconnect-retains-deps.spec.d.ts.map +1 -0
  75. package/dist/__tests__/registry-disconnect-retains-deps.spec.js +101 -0
  76. package/dist/__tests__/registry-disconnect-retains-deps.spec.js.map +1 -0
  77. package/dist/__tests__/response-parser.test.js +29 -0
  78. package/dist/__tests__/response-parser.test.js.map +1 -1
  79. package/dist/__tests__/route.test.js +21 -1
  80. package/dist/__tests__/route.test.js.map +1 -1
  81. package/dist/__tests__/settle-window.spec.d.ts +2 -0
  82. package/dist/__tests__/settle-window.spec.d.ts.map +1 -0
  83. package/dist/__tests__/settle-window.spec.js +324 -0
  84. package/dist/__tests__/settle-window.spec.js.map +1 -0
  85. package/dist/__tests__/sse.test.js +12 -0
  86. package/dist/__tests__/sse.test.js.map +1 -1
  87. package/dist/__tests__/stop-dispatchers.spec.d.ts +2 -0
  88. package/dist/__tests__/stop-dispatchers.spec.d.ts.map +1 -0
  89. package/dist/__tests__/stop-dispatchers.spec.js +227 -0
  90. package/dist/__tests__/stop-dispatchers.spec.js.map +1 -0
  91. package/dist/agent.d.ts +65 -5
  92. package/dist/agent.d.ts.map +1 -1
  93. package/dist/agent.js +317 -78
  94. package/dist/agent.js.map +1 -1
  95. package/dist/api-runtime.d.ts +33 -3
  96. package/dist/api-runtime.d.ts.map +1 -1
  97. package/dist/api-runtime.js +133 -33
  98. package/dist/api-runtime.js.map +1 -1
  99. package/dist/claim-dispatcher.d.ts +25 -0
  100. package/dist/claim-dispatcher.d.ts.map +1 -1
  101. package/dist/claim-dispatcher.js +59 -1
  102. package/dist/claim-dispatcher.js.map +1 -1
  103. package/dist/config.d.ts +73 -1
  104. package/dist/config.d.ts.map +1 -1
  105. package/dist/config.js +108 -2
  106. package/dist/config.js.map +1 -1
  107. package/dist/debug.d.ts +1 -1
  108. package/dist/debug.d.ts.map +1 -1
  109. package/dist/express.d.ts +33 -0
  110. package/dist/express.d.ts.map +1 -1
  111. package/dist/express.js +157 -32
  112. package/dist/express.js.map +1 -1
  113. package/dist/index.d.ts +1 -1
  114. package/dist/index.d.ts.map +1 -1
  115. package/dist/index.js +1 -1
  116. package/dist/index.js.map +1 -1
  117. package/dist/llm-agent.d.ts +34 -0
  118. package/dist/llm-agent.d.ts.map +1 -1
  119. package/dist/llm-agent.js +239 -434
  120. package/dist/llm-agent.js.map +1 -1
  121. package/dist/llm-provider.d.ts +51 -4
  122. package/dist/llm-provider.d.ts.map +1 -1
  123. package/dist/llm-provider.js +175 -36
  124. package/dist/llm-provider.js.map +1 -1
  125. package/dist/llm.d.ts +1 -1
  126. package/dist/llm.d.ts.map +1 -1
  127. package/dist/llm.js +8 -5
  128. package/dist/llm.js.map +1 -1
  129. package/dist/provider-handlers/gemini-handler.d.ts.map +1 -1
  130. package/dist/provider-handlers/gemini-handler.js +8 -14
  131. package/dist/provider-handlers/gemini-handler.js.map +1 -1
  132. package/dist/provider-handlers/openai-handler.d.ts.map +1 -1
  133. package/dist/provider-handlers/openai-handler.js +2 -15
  134. package/dist/provider-handlers/openai-handler.js.map +1 -1
  135. package/dist/provider-handlers/provider-handler-registry.d.ts +10 -1
  136. package/dist/provider-handlers/provider-handler-registry.d.ts.map +1 -1
  137. package/dist/provider-handlers/provider-handler-registry.js +4 -1
  138. package/dist/provider-handlers/provider-handler-registry.js.map +1 -1
  139. package/dist/provider-handlers/provider-handler.d.ts +12 -0
  140. package/dist/provider-handlers/provider-handler.d.ts.map +1 -1
  141. package/dist/provider-handlers/provider-handler.js +24 -0
  142. package/dist/provider-handlers/provider-handler.js.map +1 -1
  143. package/dist/proxy.d.ts.map +1 -1
  144. package/dist/proxy.js +360 -287
  145. package/dist/proxy.js.map +1 -1
  146. package/dist/response-parser.d.ts +10 -0
  147. package/dist/response-parser.d.ts.map +1 -1
  148. package/dist/response-parser.js +55 -0
  149. package/dist/response-parser.js.map +1 -1
  150. package/dist/route.d.ts.map +1 -1
  151. package/dist/route.js +38 -0
  152. package/dist/route.js.map +1 -1
  153. package/dist/settle.d.ts +129 -0
  154. package/dist/settle.d.ts.map +1 -0
  155. package/dist/settle.js +284 -0
  156. package/dist/settle.js.map +1 -0
  157. package/dist/sse.d.ts.map +1 -1
  158. package/dist/sse.js +5 -2
  159. package/dist/sse.js.map +1 -1
  160. package/dist/tracing.d.ts +13 -0
  161. package/dist/tracing.d.ts.map +1 -1
  162. package/dist/tracing.js +40 -0
  163. package/dist/tracing.js.map +1 -1
  164. package/dist/types.d.ts +10 -2
  165. package/dist/types.d.ts.map +1 -1
  166. package/package.json +2 -2
@@ -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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"}
@@ -30,6 +30,24 @@ import type { LlmProviderConfig } from "./types.js";
30
30
  * falling back to the vendor name unchanged for unknown vendors.
31
31
  */
32
32
  export declare function providerOptionsKey(vendor: string): string;
33
+ /**
34
+ * Resolve Vertex AI provider settings from the environment (issue #1181).
35
+ *
36
+ * Accepts both the @ai-sdk/google-vertex native names (GOOGLE_VERTEX_PROJECT /
37
+ * GOOGLE_VERTEX_LOCATION) and the mesh-standard names (GOOGLE_CLOUD_PROJECT /
38
+ * GOOGLE_CLOUD_LOCATION, per #834). The vendor-specific name wins when both
39
+ * are set; an empty string counts as unset (falls through to the other name).
40
+ * Settings that resolve to nothing are omitted; createVertex() then falls
41
+ * back to the SDK's own GOOGLE_VERTEX_* env lookup, which throws a clear
42
+ * LoadSettingError when the var is absent — but accepts an empty string
43
+ * (producing a malformed baseURL), since the SDK's loadSetting only rejects
44
+ * undefined. Omission therefore yields a clean error only when the
45
+ * GOOGLE_VERTEX_* var is truly unset, not when it is set to "".
46
+ */
47
+ export declare function resolveVertexSettings(): {
48
+ project?: string;
49
+ location?: string;
50
+ };
33
51
  /**
34
52
  * Extract vendor name from model string.
35
53
  *
@@ -59,6 +77,35 @@ export declare function extractVendorFromModel(model: string): string | null;
59
77
  * ```
60
78
  */
61
79
  export declare function extractModelName(model: string): string;
80
+ /**
81
+ * Coerce an arbitrary value to a positive integer iteration cap, or undefined
82
+ * when it is unset/invalid (NaN, non-finite, <= 0, or floors to 0). Floors
83
+ * BEFORE the > 0 check so fractional values in (0,1) are rejected, not zeroed.
84
+ * Single source of truth for max-iterations normalization.
85
+ */
86
+ export declare function sanitizeMaxIterations(value: unknown): number | undefined;
87
+ /**
88
+ * Parse MESH_LLM_MAX_ITERATIONS into a positive integer, or undefined when
89
+ * unset/empty/invalid. Single source of truth for env parsing of the cap.
90
+ */
91
+ export declare function envMaxIterations(): number | undefined;
92
+ /**
93
+ * Issue #1116: resolve the provider-managed agentic-loop cap.
94
+ *
95
+ * Precedence: consumer-forwarded ``model_params.max_iterations`` →
96
+ * ``MESH_LLM_MAX_ITERATIONS`` env → default 10. Invalid inputs (NaN, <= 0,
97
+ * non-finite, non-numeric, fractional <1) fall back to 10. Fractional values
98
+ * are floored BEFORE the >0 check, so e.g. 0.5 → 0 → default (not a zero cap).
99
+ * Matches Python parity in ``mesh/helpers.py``.
100
+ *
101
+ * Note: a *present* paramValue (even if invalid) never falls through to the
102
+ * env branch — invalid param → default. The env branch is consulted only when
103
+ * the param is ABSENT. For TS consumers this means the provider-host env only
104
+ * applies when the consumer does not forward a cap: run()/stream() always
105
+ * forward one, so provider-side MESH_LLM_MAX_ITERATIONS primarily affects
106
+ * non-forwarding / other-language / raw callers.
107
+ */
108
+ export declare function resolveMaxIterations(paramValue: unknown): number;
62
109
  /**
63
110
  * Dynamically load a Vercel AI SDK provider.
64
111
  *
@@ -201,7 +248,6 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
201
248
  name?: string | undefined;
202
249
  tool_call_id?: string | undefined;
203
250
  }[];
204
- model_params?: Record<string, unknown> | null | undefined;
205
251
  tools?: {
206
252
  function: {
207
253
  name: string;
@@ -213,6 +259,7 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
213
259
  };
214
260
  type: "function";
215
261
  }[] | null | undefined;
262
+ model_params?: Record<string, unknown> | null | undefined;
216
263
  context?: Record<string, unknown> | null | undefined;
217
264
  request_id?: string | null | undefined;
218
265
  caller_agent?: string | null | undefined;
@@ -233,7 +280,6 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
233
280
  name?: string | undefined;
234
281
  tool_call_id?: string | undefined;
235
282
  }[];
236
- model_params?: Record<string, unknown> | null | undefined;
237
283
  tools?: {
238
284
  function: {
239
285
  name: string;
@@ -245,6 +291,7 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
245
291
  };
246
292
  type: "function";
247
293
  }[] | null | undefined;
294
+ model_params?: Record<string, unknown> | null | undefined;
248
295
  context?: Record<string, unknown> | null | undefined;
249
296
  request_id?: string | null | undefined;
250
297
  caller_agent?: string | null | undefined;
@@ -267,7 +314,6 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
267
314
  name?: string | undefined;
268
315
  tool_call_id?: string | undefined;
269
316
  }[];
270
- model_params?: Record<string, unknown> | null | undefined;
271
317
  tools?: {
272
318
  function: {
273
319
  name: string;
@@ -279,6 +325,7 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
279
325
  };
280
326
  type: "function";
281
327
  }[] | null | undefined;
328
+ model_params?: Record<string, unknown> | null | undefined;
282
329
  context?: Record<string, unknown> | null | undefined;
283
330
  request_id?: string | null | undefined;
284
331
  caller_agent?: string | null | undefined;
@@ -301,7 +348,6 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
301
348
  name?: string | undefined;
302
349
  tool_call_id?: string | undefined;
303
350
  }[];
304
- model_params?: Record<string, unknown> | null | undefined;
305
351
  tools?: {
306
352
  function: {
307
353
  name: string;
@@ -313,6 +359,7 @@ declare const MeshLlmRequestSchema: z.ZodObject<{
313
359
  };
314
360
  type: "function";
315
361
  }[] | null | undefined;
362
+ model_params?: Record<string, unknown> | null | undefined;
316
363
  context?: Record<string, unknown> | null | undefined;
317
364
  request_id?: string | null | undefined;
318
365
  caller_agent?: string | 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;AAuDpB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAoDD;;;;;;;;;;;;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CxB,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,CAmyBA;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;AA0DpB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEzD;AAsDD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,IAAI;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAa/E;AAED;;;;;;;;;;;;;;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;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAGxE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,GAAG,SAAS,CAErD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,OAAO,GAAG,MAAM,CAMhE;AAMD;;;;;GAKG;AACH,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC,CAsDhD;AAkDD;;GAEG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CxB,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,CAo2BA;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"}
@@ -46,10 +46,13 @@ const VENDOR_PROVIDERS = {
46
46
  * Mapping from vendor name to the export name in the provider module.
47
47
  * Most providers export a function with the same name as the vendor,
48
48
  * but some (like gemini) use a different name (google).
49
+ *
50
+ * Note: vertex_ai is NOT listed here — it bypasses the default-instance
51
+ * lookup entirely and is constructed via createVertex() in loadProvider()
52
+ * with explicitly resolved project/location (issue #1181).
49
53
  */
50
54
  const VENDOR_EXPORTS = {
51
55
  gemini: "google", // @ai-sdk/google exports 'google', not 'gemini'
52
- vertex_ai: "vertex", // @ai-sdk/google-vertex exports 'vertex'
53
56
  };
54
57
  /**
55
58
  * Mapping from mesh's vendor name to the key Vercel AI SDK uses inside
@@ -105,26 +108,54 @@ function normalizeEnvVars(vendor) {
105
108
  }
106
109
  }
107
110
  else if (vendor === "vertex_ai") {
108
- // Vercel AI SDK's @ai-sdk/google-vertex reads:
109
- // GOOGLE_VERTEX_PROJECT - GCP project ID
110
- // GOOGLE_VERTEX_LOCATION - GCP region (e.g., us-central1)
111
- // GOOGLE_APPLICATION_CREDENTIALS - path to service-account JSON (or rely on
112
- // gcloud user ADC / GCE/GKE workload identity)
113
- // We don't auto-copy from any other env var because the Python (LiteLLM) and
114
- // Vercel SDK conventions diverge (VERTEXAI_PROJECT vs GOOGLE_VERTEX_PROJECT)
115
- // each runtime follows its own ecosystem's naming.
116
- if (!process.env.GOOGLE_VERTEX_PROJECT) {
117
- debug("vertex_ai vendor selected but GOOGLE_VERTEX_PROJECT is not set — " +
118
- "@ai-sdk/google-vertex will throw a LoadSettingError on the first call " +
119
- "(the SDK requires the env var; it does not auto-discover from ADC)");
111
+ // Vertex AI settings (issue #1181). The mesh contract (#834) uses
112
+ // GOOGLE_CLOUD_PROJECT / GOOGLE_CLOUD_LOCATION (honored by the Python
113
+ // runtime); @ai-sdk/google-vertex natively reads GOOGLE_VERTEX_PROJECT /
114
+ // GOOGLE_VERTEX_LOCATION. We accept BOTH names per setting (vendor-specific
115
+ // name wins) and pass the resolved values explicitly to createVertex() in
116
+ // loadProvider(). Credentials (GOOGLE_APPLICATION_CREDENTIALS, or gcloud
117
+ // user ADC / GCE/GKE workload identity) are read by google-auth-library
118
+ // directly and need no mapping.
119
+ if (!process.env.GOOGLE_VERTEX_PROJECT && !process.env.GOOGLE_CLOUD_PROJECT) {
120
+ debug("vertex_ai vendor selected but neither GOOGLE_VERTEX_PROJECT nor " +
121
+ "GOOGLE_CLOUD_PROJECT is set — @ai-sdk/google-vertex will throw a " +
122
+ "LoadSettingError on the first call " +
123
+ "(the SDK requires a project; it does not auto-discover from ADC)");
120
124
  }
121
- if (!process.env.GOOGLE_VERTEX_LOCATION) {
122
- debug("vertex_ai vendor selected but GOOGLE_VERTEX_LOCATION is not set — " +
123
- "@ai-sdk/google-vertex will throw a LoadSettingError on the first call " +
125
+ if (!process.env.GOOGLE_VERTEX_LOCATION && !process.env.GOOGLE_CLOUD_LOCATION) {
126
+ debug("vertex_ai vendor selected but neither GOOGLE_VERTEX_LOCATION nor " +
127
+ "GOOGLE_CLOUD_LOCATION is set — @ai-sdk/google-vertex will throw a " +
128
+ "LoadSettingError on the first call " +
124
129
  "(the SDK has no default location; set e.g. 'us-central1' or 'global')");
125
130
  }
126
131
  }
127
132
  }
133
+ /**
134
+ * Resolve Vertex AI provider settings from the environment (issue #1181).
135
+ *
136
+ * Accepts both the @ai-sdk/google-vertex native names (GOOGLE_VERTEX_PROJECT /
137
+ * GOOGLE_VERTEX_LOCATION) and the mesh-standard names (GOOGLE_CLOUD_PROJECT /
138
+ * GOOGLE_CLOUD_LOCATION, per #834). The vendor-specific name wins when both
139
+ * are set; an empty string counts as unset (falls through to the other name).
140
+ * Settings that resolve to nothing are omitted; createVertex() then falls
141
+ * back to the SDK's own GOOGLE_VERTEX_* env lookup, which throws a clear
142
+ * LoadSettingError when the var is absent — but accepts an empty string
143
+ * (producing a malformed baseURL), since the SDK's loadSetting only rejects
144
+ * undefined. Omission therefore yields a clean error only when the
145
+ * GOOGLE_VERTEX_* var is truly unset, not when it is set to "".
146
+ */
147
+ export function resolveVertexSettings() {
148
+ const settings = {};
149
+ const project = process.env.GOOGLE_VERTEX_PROJECT || process.env.GOOGLE_CLOUD_PROJECT;
150
+ const location = process.env.GOOGLE_VERTEX_LOCATION || process.env.GOOGLE_CLOUD_LOCATION;
151
+ if (project) {
152
+ settings.project = project;
153
+ }
154
+ if (location) {
155
+ settings.location = location;
156
+ }
157
+ return settings;
158
+ }
128
159
  /**
129
160
  * Extract vendor name from model string.
130
161
  *
@@ -170,6 +201,46 @@ export function extractModelName(model) {
170
201
  }
171
202
  return model;
172
203
  }
204
+ /**
205
+ * Coerce an arbitrary value to a positive integer iteration cap, or undefined
206
+ * when it is unset/invalid (NaN, non-finite, <= 0, or floors to 0). Floors
207
+ * BEFORE the > 0 check so fractional values in (0,1) are rejected, not zeroed.
208
+ * Single source of truth for max-iterations normalization.
209
+ */
210
+ export function sanitizeMaxIterations(value) {
211
+ const parsed = Math.floor(Number(value));
212
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
213
+ }
214
+ /**
215
+ * Parse MESH_LLM_MAX_ITERATIONS into a positive integer, or undefined when
216
+ * unset/empty/invalid. Single source of truth for env parsing of the cap.
217
+ */
218
+ export function envMaxIterations() {
219
+ return sanitizeMaxIterations(process.env.MESH_LLM_MAX_ITERATIONS);
220
+ }
221
+ /**
222
+ * Issue #1116: resolve the provider-managed agentic-loop cap.
223
+ *
224
+ * Precedence: consumer-forwarded ``model_params.max_iterations`` →
225
+ * ``MESH_LLM_MAX_ITERATIONS`` env → default 10. Invalid inputs (NaN, <= 0,
226
+ * non-finite, non-numeric, fractional <1) fall back to 10. Fractional values
227
+ * are floored BEFORE the >0 check, so e.g. 0.5 → 0 → default (not a zero cap).
228
+ * Matches Python parity in ``mesh/helpers.py``.
229
+ *
230
+ * Note: a *present* paramValue (even if invalid) never falls through to the
231
+ * env branch — invalid param → default. The env branch is consulted only when
232
+ * the param is ABSENT. For TS consumers this means the provider-host env only
233
+ * applies when the consumer does not forward a cap: run()/stream() always
234
+ * forward one, so provider-side MESH_LLM_MAX_ITERATIONS primarily affects
235
+ * non-forwarding / other-language / raw callers.
236
+ */
237
+ export function resolveMaxIterations(paramValue) {
238
+ const DEFAULT = 10;
239
+ if (paramValue !== undefined) {
240
+ return sanitizeMaxIterations(paramValue) ?? DEFAULT;
241
+ }
242
+ return envMaxIterations() ?? DEFAULT;
243
+ }
173
244
  // ============================================================================
174
245
  // Vercel AI SDK Integration
175
246
  // ============================================================================
@@ -190,6 +261,21 @@ export async function loadProvider(vendor) {
190
261
  try {
191
262
  // Dynamic import of the provider module
192
263
  const providerModule = (await import(providerPath));
264
+ // vertex_ai: always construct via the factory with explicitly resolved
265
+ // settings instead of the default `vertex` instance, whose env lookups
266
+ // (GOOGLE_VERTEX_PROJECT/GOOGLE_VERTEX_LOCATION) miss the mesh-standard
267
+ // GOOGLE_CLOUD_PROJECT/GOOGLE_CLOUD_LOCATION contract (#834, #1181).
268
+ if (vendor === "vertex_ai") {
269
+ const createVertex = providerModule.createVertex;
270
+ if (typeof createVertex !== "function") {
271
+ debug(`Provider ${vendor} does not export createVertex`);
272
+ return null;
273
+ }
274
+ const settings = resolveVertexSettings();
275
+ debug(`Creating Vertex AI provider via createVertex ` +
276
+ `(project=${settings.project ?? "<unset>"}, location=${settings.location ?? "<unset>"})`);
277
+ return createVertex(settings);
278
+ }
193
279
  // Get the export name (may differ from vendor name, e.g., gemini -> google)
194
280
  const exportName = VENDOR_EXPORTS[vendor] ?? vendor;
195
281
  // Each provider exports a function with the vendor name (e.g., anthropic, openai)
@@ -387,6 +473,16 @@ export function llmProvider(config) {
387
473
  if (parallelToolCalls) {
388
474
  debug("🔀 Provider parallel tool calls enabled — tools will execute concurrently via Promise.all()");
389
475
  }
476
+ // Resolve provider-managed loop cap. Precedence: model_params.max_iterations
477
+ // (consumer-forwarded) → MESH_LLM_MAX_ITERATIONS env → default 10.
478
+ const resolvedMaxIterations = resolveMaxIterations(modelParams.max_iterations);
479
+ delete modelParams.max_iterations;
480
+ // Issue #1112: extract the consumer-supplied output_mode override. Strip it
481
+ // from modelParams so it never leaks to the vendor LLM API. Validity is
482
+ // checked against the known modes; an invalid value is ignored (auto + warn)
483
+ // below where the effective mode is decided.
484
+ const outputModeOverrideRaw = modelParams.output_mode;
485
+ delete modelParams.output_mode;
390
486
  // Build OutputSchema object for handler (prompt formatting) - generateObject uses it directly
391
487
  const outputSchemaObj = outputSchema ? {
392
488
  schema: outputSchema,
@@ -412,7 +508,24 @@ export function llmProvider(config) {
412
508
  debug(`Using provider handler: ${handler.constructor.name} for vendor: ${vendor}`);
413
509
  // Determine output mode early (needed for system prompt formatting and prepareRequest)
414
510
  const hasTools = request.tools && request.tools.length > 0;
415
- const outputMode = handler.determineOutputMode(outputSchemaObj);
511
+ // Issue #1112: a consumer-supplied output_mode override fully replaces the
512
+ // provider's auto per-vendor selection. Override wins when present + valid
513
+ // (one of strict/hint/text); invalid → ignore + warn + auto. When the consumer
514
+ // omits it (unset), this is byte-identical to today's determineOutputMode().
515
+ const autoOutputMode = handler.determineOutputMode(outputSchemaObj);
516
+ let outputMode = autoOutputMode;
517
+ if (outputModeOverrideRaw !== undefined && outputModeOverrideRaw !== null) {
518
+ if (outputModeOverrideRaw === "strict" ||
519
+ outputModeOverrideRaw === "hint" ||
520
+ outputModeOverrideRaw === "text") {
521
+ outputMode = outputModeOverrideRaw;
522
+ debug(`Output mode override from consumer: '${outputMode}' (replaces auto '${autoOutputMode}')`);
523
+ }
524
+ else {
525
+ debug(`Ignoring invalid output_mode override '${String(outputModeOverrideRaw)}' ` +
526
+ `(expected strict/hint/text); falling back to auto '${autoOutputMode}'`);
527
+ }
528
+ }
416
529
  // When tools are present with structured output, we use generateText() with two strategies:
417
530
  // 1. HINT mode instructions in the system prompt (DECISION GUIDE + JSON schema + field
418
531
  // descriptions + example format) so the LLM knows exactly what JSON structure to return
@@ -439,13 +552,33 @@ export function llmProvider(config) {
439
552
  }
440
553
  return msg;
441
554
  });
555
+ // Synthesize a system message when the consumer supplied none but the
556
+ // hint-mode structured-output instructions still need to reach the model.
557
+ // In hint mode there is no native response_format backstop (that's
558
+ // strict-only), so without a system message the schema/JSON instructions
559
+ // would be silently dropped and the model returns prose — breaking the
560
+ // consumer's ResponseParser ("Could not extract JSON from response"). We
561
+ // build it via the same formatSystemPrompt call used for the augment
562
+ // branch, with an empty base prompt, so it is identical to what augmenting
563
+ // an empty system message would produce. Gated to hint mode + schema:
564
+ // strict has the response_format backstop, text has no schema instructions,
565
+ // and the no-schema case is a no-op — all unchanged.
566
+ const hasSystemMessage = formattedMessages.some(msg => msg.role === "system");
567
+ if (!hasSystemMessage && promptOutputMode === "hint" && outputSchemaObj) {
568
+ const synthesizedContent = handler.formatSystemPrompt("", request.tools ?? null, // ToolSchema[] format (OpenAI function calling)
569
+ outputSchemaObj, promptOutputMode);
570
+ if (synthesizedContent) {
571
+ debug(`Synthesized system prompt (${promptOutputMode} mode, no consumer system message): ${synthesizedContent.substring(0, 200)}...`);
572
+ formattedMessages.unshift({ role: "system", content: synthesizedContent });
573
+ }
574
+ }
442
575
  // Import generateText from ai package
443
576
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
444
577
  const aiModule = await import("ai");
445
578
  const generateText = aiModule.generateText;
446
579
  // Convert tools to Vercel AI SDK format using the tool() helper
447
580
  // Import jsonSchema and tool from ai package for proper schema handling
448
- const { jsonSchema, tool: aiTool } = aiModule;
581
+ const { jsonSchema, tool: aiTool, stepCountIs } = aiModule;
449
582
  // Extract _mesh_endpoint from tool schemas for provider-side execution.
450
583
  // When the consumer sends tools enriched with _mesh_endpoint, the provider
451
584
  // executes tools internally via MCP calls instead of returning tool_calls.
@@ -461,14 +594,17 @@ export function llmProvider(config) {
461
594
  }
462
595
  }
463
596
  const hasToolEndpoints = Object.keys(toolEndpoints).length > 0;
464
- // Gemini: use AI SDK's maxSteps with execute functions instead of manual loop.
465
- // The manual loop drops Gemini's thought_signature from assistant messages,
466
- // causing 400 errors in multi-turn tool conversations. AI SDK preserves it.
597
+ // Gemini: use the AI SDK's built-in agentic loop (stopWhen + execute
598
+ // functions) instead of the manual loop. The manual loop drops Gemini's
599
+ // thought_signature from assistant messages, causing 400 errors in
600
+ // multi-turn tool conversations. AI SDK preserves it.
467
601
  // Claude/OpenAI keep the manual loop (they need response_format on every call).
468
602
  // vertex_ai is the same Gemini model on the wire, so it gets the same treatment.
603
+ // Note: `useMaxSteps` is a historical name — AI SDK v6 removed `maxSteps`;
604
+ // this flag now drives `stopWhen: stepCountIs(n)` (the v6 loop control).
469
605
  const useMaxSteps = hasToolEndpoints && (vendor === "gemini" || vendor === "google" || vendor === "vertex_ai");
470
606
  if (hasToolEndpoints) {
471
- debug(`Provider-managed loop: ${Object.keys(toolEndpoints).length} tools with endpoints${useMaxSteps ? " (Gemini maxSteps mode)" : ""}`);
607
+ debug(`Provider-managed loop: ${Object.keys(toolEndpoints).length} tools with endpoints${useMaxSteps ? " (Gemini SDK-managed stopWhen mode)" : ""}`);
472
608
  }
473
609
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
474
610
  let vercelTools;
@@ -489,7 +625,7 @@ export function llmProvider(config) {
489
625
  debug(`Tool '${tool.function.name}' cleanSchema: ${JSON.stringify(cleanSchema, null, 2)}`);
490
626
  const toolName = tool.function.name;
491
627
  if (useMaxSteps) {
492
- // Gemini: use execute functions + maxSteps (AI SDK preserves thought_signature)
628
+ // Gemini: use execute functions + stopWhen (AI SDK preserves thought_signature)
493
629
  const toolEndpoint = toolEndpoints[toolName];
494
630
  vercelTools[toolName] = aiTool({
495
631
  description: tool.function.description ?? "",
@@ -525,7 +661,7 @@ export function llmProvider(config) {
525
661
  }
526
662
  },
527
663
  });
528
- debug(`Tool '${toolName}' vercelTool created (with execute for Gemini maxSteps)`);
664
+ debug(`Tool '${toolName}' vercelTool created (with execute for Gemini SDK-managed loop)`);
529
665
  }
530
666
  else {
531
667
  // Claude/OpenAI or no endpoints: schema only (manual loop or consumer handles)
@@ -560,12 +696,15 @@ export function llmProvider(config) {
560
696
  if (vercelTools && Object.keys(vercelTools).length > 0) {
561
697
  requestOptions.tools = vercelTools;
562
698
  if (useMaxSteps) {
563
- // Gemini: let AI SDK manage the agentic loop via maxSteps.
699
+ // Gemini: let AI SDK manage the agentic loop via stopWhen.
700
+ // AI SDK v6 removed `maxSteps`; without stopWhen the default is
701
+ // stepCountIs(1), which would stop right after the tool-call step
702
+ // and return an empty assistant message (#1160).
564
703
  // AI SDK preserves thought_signature across turns automatically.
565
- requestOptions.maxSteps = 10;
566
- debug(`Gemini provider-managed loop via maxSteps=10 (AI SDK preserves thought_signature)`);
704
+ requestOptions.stopWhen = stepCountIs(resolvedMaxIterations);
705
+ debug(`Gemini provider-managed loop via stopWhen=stepCountIs(${resolvedMaxIterations}) (AI SDK preserves thought_signature)`);
567
706
  }
568
- // Note: for non-Gemini vendors, maxSteps is NOT set. We manage
707
+ // Note: for non-Gemini vendors, stopWhen is NOT set. We manage
569
708
  // the agentic loop manually so that providerOptions (including
570
709
  // response_format) is applied on every LLM call, not just the first.
571
710
  }
@@ -657,11 +796,11 @@ export function llmProvider(config) {
657
796
  }
658
797
  else if (hasToolEndpoints && !useMaxSteps) {
659
798
  // Provider-managed agentic loop: execute tools internally.
660
- // Unlike AI SDK's maxSteps, this manual loop ensures providerOptions
661
- // (including response_format for structured output) is applied on
662
- // EVERY LLM call, not just the first one.
799
+ // Unlike the AI SDK's stopWhen-managed loop, this manual loop ensures
800
+ // providerOptions (including response_format for structured output) is
801
+ // applied on EVERY LLM call, not just the first one.
663
802
  let iteration = 0;
664
- const maxIterations = 10;
803
+ const maxIterations = resolvedMaxIterations;
665
804
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
666
805
  let currentMessages = [...convertedMessages];
667
806
  while (iteration < maxIterations) {
@@ -671,7 +810,7 @@ export function llmProvider(config) {
671
810
  ...requestOptions,
672
811
  messages: currentMessages,
673
812
  };
674
- // Do NOT set maxSteps — we manage the loop manually
813
+ // Do NOT set stopWhen — we manage the loop manually
675
814
  const result = await generateText(iterRequest);
676
815
  // Accumulate usage across iterations
677
816
  if (result.usage) {
@@ -847,7 +986,7 @@ export function llmProvider(config) {
847
986
  }
848
987
  else {
849
988
  // generateText path covers:
850
- // 1. Gemini maxSteps: AI SDK manages the tool loop (execute functions + maxSteps)
989
+ // 1. Gemini SDK-managed loop: AI SDK runs the tool loop (execute functions + stopWhen)
851
990
  // 2. No tool endpoints: consumer-managed tools or plain text
852
991
  const result = await generateText(requestOptions);
853
992
  latencyMs = Date.now() - startTime;
@@ -861,8 +1000,8 @@ export function llmProvider(config) {
861
1000
  content: result.text ?? "",
862
1001
  };
863
1002
  // Include tool_calls for consumer-managed execution only.
864
- // When hasToolEndpoints is true (Gemini maxSteps), tools were already
865
- // executed by AI SDK via execute functions — don't return tool_calls.
1003
+ // When hasToolEndpoints is true (Gemini SDK-managed loop), tools were
1004
+ // already executed by AI SDK via execute functions — don't return tool_calls.
866
1005
  if (!hasToolEndpoints && result.toolCalls && result.toolCalls.length > 0) {
867
1006
  response.tool_calls = convertToolCalls(result.toolCalls);
868
1007
  }