@mcpmesh/sdk 3.2.3 → 3.3.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.
@@ -0,0 +1,217 @@
1
+ /**
2
+ * Provider-side max_iterations exhaustion signal — issue #1355 (Phase 2, TS).
3
+ *
4
+ * The provider-managed agentic loop must mark exhaustion STRUCTURALLY via a
5
+ * `_mesh_stop_reason: "max_iterations"` sibling field on the reply envelope —
6
+ * never an English marker in `content`. Two provider loops are exercised here
7
+ * with the REAL `ai` module (generateText + stopWhen + tool execution) driven
8
+ * by a `MockLanguageModelV3`:
9
+ *
10
+ * 1. Manual loop (Claude/OpenAI): iterates generateText itself. On exhaustion
11
+ * it sets `content` to the last genuine assistant text (or "") and adds the
12
+ * `_mesh_stop_reason` sibling. The old `"Maximum tool call iterations
13
+ * reached"` marker is gone from the wire.
14
+ *
15
+ * 2. Gemini SDK-managed loop (stopWhen = stepCountIs(n)): the AI SDK owns the
16
+ * loop. Step-cap exhaustion is detected post-call via
17
+ * `finishReason === "tool-calls"` at the step cap — the last step still
18
+ * wanted to call tools but the loop was cut off. A normal completion within
19
+ * the cap ends with `finishReason === "stop"` and carries NO discriminant.
20
+ *
21
+ * Tool execution goes through the provider's execute path → `callMcpTool`,
22
+ * mocked here to return a canned tool result.
23
+ */
24
+ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
25
+ // Per-step model results, controllable per test. vi.hoisted so the provider
26
+ // mock factories can reference it.
27
+ const modelHarness = vi.hoisted(() => ({
28
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
29
+ results: [],
30
+ calls: 0,
31
+ }));
32
+ const callMcpToolMock = vi.hoisted(() => vi.fn());
33
+ // Shared doGenerate: return the scripted result for the current call, or the
34
+ // last scripted result if the loop runs past the script (the manual loop keeps
35
+ // calling until its own cap, so an exhaustion script only needs one repeated
36
+ // tool-call step). vi.hoisted so both mock factories can reference it; it closes
37
+ // over the hoisted `modelHarness` (both are hoisted together).
38
+ const doGenerate = vi.hoisted(() => async () => {
39
+ const idx = Math.min(modelHarness.calls, modelHarness.results.length - 1);
40
+ const result = modelHarness.results[idx];
41
+ modelHarness.calls++;
42
+ if (!result) {
43
+ throw new Error(`MockLanguageModelV3: no scripted result for call ${modelHarness.calls}`);
44
+ }
45
+ return result;
46
+ });
47
+ vi.mock("@ai-sdk/anthropic", async () => {
48
+ const { MockLanguageModelV3 } = await import("ai/test");
49
+ return {
50
+ anthropic: (modelId) => new MockLanguageModelV3({ modelId, doGenerate }),
51
+ };
52
+ });
53
+ vi.mock("@ai-sdk/google", async () => {
54
+ const { MockLanguageModelV3 } = await import("ai/test");
55
+ return {
56
+ google: (modelId) => new MockLanguageModelV3({ modelId, doGenerate }),
57
+ };
58
+ });
59
+ // Replace only callMcpTool — keep runWithTraceContext etc. real.
60
+ vi.mock("../proxy.js", async (importOriginal) => {
61
+ const actual = await importOriginal();
62
+ return { ...actual, callMcpTool: callMcpToolMock };
63
+ });
64
+ // Keep tracing inert (publishTraceSpan is best-effort fire-and-forget).
65
+ vi.mock("../tracing.js", async (importOriginal) => {
66
+ const actual = await importOriginal();
67
+ return { ...actual, publishTraceSpan: vi.fn(async () => false) };
68
+ });
69
+ import { llmProvider } from "../llm-provider.js";
70
+ // Tool-call step WITHOUT preamble text (Gemini path).
71
+ const TOOL_CALL_STEP = {
72
+ content: [
73
+ {
74
+ type: "tool-call",
75
+ toolCallId: "call-1",
76
+ toolName: "get_weather",
77
+ input: JSON.stringify({ city: "Paris" }),
78
+ },
79
+ ],
80
+ finishReason: "tool-calls",
81
+ usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
82
+ warnings: [],
83
+ };
84
+ // Tool-call step WITH preamble prose (manual loop — proves `content` carries the
85
+ // last genuine assistant text on exhaustion, never an English marker).
86
+ const TOOL_CALL_STEP_WITH_TEXT = {
87
+ content: [
88
+ { type: "text", text: "still gathering data..." },
89
+ {
90
+ type: "tool-call",
91
+ toolCallId: "call-1",
92
+ toolName: "get_weather",
93
+ input: JSON.stringify({ city: "Paris" }),
94
+ },
95
+ ],
96
+ finishReason: "tool-calls",
97
+ usage: { inputTokens: 10, outputTokens: 5, totalTokens: 15 },
98
+ warnings: [],
99
+ };
100
+ const TEXT_STEP = {
101
+ content: [{ type: "text", text: "It is sunny in Paris." }],
102
+ finishReason: "stop",
103
+ usage: { inputTokens: 20, outputTokens: 8, totalTokens: 28 },
104
+ warnings: [],
105
+ };
106
+ function meshToolRequest(model, modelParams) {
107
+ return {
108
+ request: {
109
+ messages: [{ role: "user", content: "What's the weather in Paris?" }],
110
+ tools: [
111
+ {
112
+ type: "function",
113
+ function: {
114
+ name: "get_weather",
115
+ description: "Get the current weather for a city",
116
+ parameters: {
117
+ type: "object",
118
+ properties: { city: { type: "string" } },
119
+ required: ["city"],
120
+ },
121
+ _mesh_endpoint: "http://weather-agent.local:9100",
122
+ },
123
+ },
124
+ ],
125
+ model_params: { ...modelParams, model },
126
+ },
127
+ };
128
+ }
129
+ beforeEach(() => {
130
+ modelHarness.results = [];
131
+ modelHarness.calls = 0;
132
+ callMcpToolMock.mockReset();
133
+ callMcpToolMock.mockResolvedValue(JSON.stringify({ temperature_c: 21, condition: "sunny" }));
134
+ process.env.ANTHROPIC_API_KEY = "test-key";
135
+ process.env.GOOGLE_GENERATIVE_AI_API_KEY = "test-key";
136
+ delete process.env.MESH_LLM_MAX_ITERATIONS;
137
+ });
138
+ afterEach(() => {
139
+ delete process.env.ANTHROPIC_API_KEY;
140
+ delete process.env.GOOGLE_GENERATIVE_AI_API_KEY;
141
+ vi.restoreAllMocks();
142
+ });
143
+ describe("manual provider loop (Claude) — buffered exhaustion signal", () => {
144
+ it("marks exhaustion with _mesh_stop_reason and NOT an English marker", async () => {
145
+ // The model keeps requesting tools; the loop exhausts its cap (2).
146
+ modelHarness.results = [TOOL_CALL_STEP_WITH_TEXT];
147
+ const tool = llmProvider({ model: "anthropic/claude-sonnet-4-5", capability: "llm" });
148
+ const raw = await tool.execute(meshToolRequest("anthropic/claude-sonnet-4-5", { max_iterations: 2 }));
149
+ const response = JSON.parse(raw);
150
+ // The loop ran exactly the cap number of generations.
151
+ expect(modelHarness.calls).toBe(2);
152
+ // Structural discriminant present; content is the last genuine assistant
153
+ // text, NOT the removed "Maximum tool call iterations reached" marker.
154
+ expect(response._mesh_stop_reason).toBe("max_iterations");
155
+ expect(response.content).toBe("still gathering data...");
156
+ expect(response.content).not.toBe("Maximum tool call iterations reached");
157
+ });
158
+ it("exhaustion content is empty when no assistant preamble text was produced", async () => {
159
+ modelHarness.results = [TOOL_CALL_STEP]; // no text parts
160
+ const tool = llmProvider({ model: "anthropic/claude-sonnet-4-5", capability: "llm" });
161
+ const raw = await tool.execute(meshToolRequest("anthropic/claude-sonnet-4-5", { max_iterations: 2 }));
162
+ const response = JSON.parse(raw);
163
+ expect(response._mesh_stop_reason).toBe("max_iterations");
164
+ expect(response.content).toBe("");
165
+ });
166
+ it("a normal completion carries NO discriminant", async () => {
167
+ // Tool call on step 1, final text on step 2 — completes within the cap.
168
+ modelHarness.results = [TOOL_CALL_STEP_WITH_TEXT, TEXT_STEP];
169
+ const tool = llmProvider({ model: "anthropic/claude-sonnet-4-5", capability: "llm" });
170
+ const raw = await tool.execute(meshToolRequest("anthropic/claude-sonnet-4-5", { max_iterations: 5 }));
171
+ const response = JSON.parse(raw);
172
+ expect(response.content).toBe("It is sunny in Paris.");
173
+ expect(response._mesh_stop_reason).toBeUndefined();
174
+ });
175
+ });
176
+ describe("Gemini SDK-managed loop (stopWhen) — buffered exhaustion signal (T3)", () => {
177
+ it("detects step-cap exhaustion via finishReason=tool-calls at the cap", async () => {
178
+ // stopWhen = stepCountIs(1): the AI SDK executes the tool-call step then
179
+ // stops — the model still wanted to call tools (finishReason tool-calls).
180
+ modelHarness.results = [TOOL_CALL_STEP];
181
+ const tool = llmProvider({ model: "gemini/gemini-2.5-flash", capability: "llm" });
182
+ const raw = await tool.execute(meshToolRequest("gemini/gemini-2.5-flash", { max_iterations: 1 }));
183
+ const response = JSON.parse(raw);
184
+ // The tool executed on step 1, but no follow-up generation happened.
185
+ expect(callMcpToolMock).toHaveBeenCalledTimes(1);
186
+ expect(response._mesh_stop_reason).toBe("max_iterations");
187
+ // Tools were executed provider-side — no tool_calls leak to the consumer.
188
+ expect(response.tool_calls).toBeUndefined();
189
+ });
190
+ it("a normal Gemini completion (finishReason=stop) carries NO discriminant", async () => {
191
+ // Tool call on step 1, follow-up text on step 2 — completes within the cap.
192
+ modelHarness.results = [TOOL_CALL_STEP, TEXT_STEP];
193
+ const tool = llmProvider({ model: "gemini/gemini-2.5-flash", capability: "llm" });
194
+ const raw = await tool.execute(meshToolRequest("gemini/gemini-2.5-flash", { max_iterations: 3 }));
195
+ const response = JSON.parse(raw);
196
+ expect(response.content).toBe("It is sunny in Paris.");
197
+ expect(response._mesh_stop_reason).toBeUndefined();
198
+ });
199
+ it("a natural completion landing EXACTLY at the cap carries NO discriminant", async () => {
200
+ // Boundary case that discriminates last-step vs true-aggregate semantics.
201
+ // stopWhen = stepCountIs(2): tool call on step 1, final text on step 2 — the
202
+ // model stops NATURALLY on the text step, landing exactly at the cap (2==2).
203
+ // The step-cap check (stepCount >= resolvedMaxIterations) now PASSES, so
204
+ // correctness rests entirely on the last-step clause: the LAST step is a text
205
+ // answer (empty `toolCalls`, finishReason "stop"), so NO discriminant. A
206
+ // true-aggregate reading of `toolCalls`/`finishReason` (which would see the
207
+ // step-1 tool call) would FALSELY mark this as exhaustion — this test would
208
+ // then fail, catching that regression.
209
+ modelHarness.results = [TOOL_CALL_STEP, TEXT_STEP];
210
+ const tool = llmProvider({ model: "gemini/gemini-2.5-flash", capability: "llm" });
211
+ const raw = await tool.execute(meshToolRequest("gemini/gemini-2.5-flash", { max_iterations: 2 }));
212
+ const response = JSON.parse(raw);
213
+ expect(response.content).toBe("It is sunny in Paris.");
214
+ expect(response._mesh_stop_reason).toBeUndefined();
215
+ });
216
+ });
217
+ //# sourceMappingURL=llm-provider-max-iterations.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-provider-max-iterations.test.js","sourceRoot":"","sources":["../../src/__tests__/llm-provider-max-iterations.test.ts"],"names":[],"mappings":"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"}
@@ -45,8 +45,14 @@ export interface MeshLlmAgentConfig {
45
45
  systemPrompt?: string;
46
46
  /** Parameter name for template context */
47
47
  contextParam?: string;
48
- /** Max agentic loop iterations */
49
- maxIterations: number;
48
+ /**
49
+ * Max agentic loop iterations. Issue #1360: `undefined` = the consumer
50
+ * configured nothing — the local loop still caps at 10 (applied in run()/
51
+ * stream()), but no `max_iterations` is forwarded to the provider, so the
52
+ * provider's MESH_LLM_MAX_ITERATIONS governs. Any defined value is an
53
+ * explicit consumer cap and IS forwarded.
54
+ */
55
+ maxIterations?: number;
50
56
  /** Max tokens */
51
57
  maxOutputTokens?: number;
52
58
  /** Temperature */
@@ -198,6 +204,16 @@ export declare class MeshLlmAgent<T = string> {
198
204
  * - stream() passes `false` (always mesh-delegated; provider applies formatting).
199
205
  */
200
206
  private buildAgentMessages;
207
+ /**
208
+ * Issue #1360: single-source the max-iterations resolution shared by run() and
209
+ * stream(). `forwarded` is the EXPLICIT cap the consumer configured (runtime
210
+ * option → consumer env → user config), or undefined when nothing is set — in
211
+ * which case the delegation request omits `max_iterations` and the provider's
212
+ * own MESH_LLM_MAX_ITERATIONS governs (parity with Python/Java). `localCap` is
213
+ * the concrete bound the consumer's own loop always needs (#1355), defaulting
214
+ * to 10 when nothing is configured.
215
+ */
216
+ private resolveForwardedMaxIterations;
201
217
  /**
202
218
  * Run the agentic loop.
203
219
  *
@@ -1 +1 @@
1
- {"version":3,"file":"llm-agent.d.ts","sourceRoot":"","sources":["../src/llm-agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-agent.d.ts","sourceRoot":"","sources":["../src/llm-agent.ts"],"names":[],"mappings":"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"}
package/dist/llm-agent.js CHANGED
@@ -37,6 +37,7 @@ import { resolveMediaInputs } from "./media/index.js";
37
37
  import { callMcpTool, streamMcpTool, DEFAULT_CALL_OPTIONS, } from "./proxy.js";
38
38
  import { isTimeoutError } from "./timeout-utils.js";
39
39
  import { envMaxIterations, sanitizeMaxIterations } from "./llm-provider.js";
40
+ import { FRAME_END, FRAME_KEY, STOP_REASON_MAX_ITERATIONS, parseStreamFrame, } from "./llm-stop-reason.js";
40
41
  /**
41
42
  * Mesh provider that delegates to an LLM provider discovered via mesh.
42
43
  */
@@ -191,6 +192,7 @@ export class MeshDelegatedProvider {
191
192
  !("role" in meshResponse) &&
192
193
  !("tool_calls" in meshResponse) &&
193
194
  !("_mesh_usage" in meshResponse) &&
195
+ !("_mesh_stop_reason" in meshResponse) &&
194
196
  !meshMap.error;
195
197
  if (typeof rawContent === "string") {
196
198
  normalizedContent = rawContent;
@@ -240,6 +242,12 @@ export class MeshDelegatedProvider {
240
242
  }
241
243
  : undefined,
242
244
  };
245
+ // Issue #1355: surface the exhaustion discriminant so run()'s loop can raise
246
+ // the typed error. Only forwarded when the provider actually set it — a
247
+ // normal turn omits the field.
248
+ if (meshResponse._mesh_stop_reason !== undefined) {
249
+ openAiResponse._mesh_stop_reason = meshResponse._mesh_stop_reason;
250
+ }
243
251
  return openAiResponse;
244
252
  }
245
253
  /**
@@ -413,6 +421,21 @@ export class MeshLlmAgent {
413
421
  }
414
422
  return messages;
415
423
  }
424
+ /**
425
+ * Issue #1360: single-source the max-iterations resolution shared by run() and
426
+ * stream(). `forwarded` is the EXPLICIT cap the consumer configured (runtime
427
+ * option → consumer env → user config), or undefined when nothing is set — in
428
+ * which case the delegation request omits `max_iterations` and the provider's
429
+ * own MESH_LLM_MAX_ITERATIONS governs (parity with Python/Java). `localCap` is
430
+ * the concrete bound the consumer's own loop always needs (#1355), defaulting
431
+ * to 10 when nothing is configured.
432
+ */
433
+ resolveForwardedMaxIterations(options) {
434
+ const forwarded = sanitizeMaxIterations(options?.maxIterations) ??
435
+ envMaxIterations() ??
436
+ this.config.maxIterations;
437
+ return { forwarded, localCap: forwarded ?? 10 };
438
+ }
416
439
  /**
417
440
  * Run the agentic loop.
418
441
  *
@@ -442,10 +465,12 @@ export class MeshLlmAgent {
442
465
  const messages = await this.buildAgentMessages(messageInput, context, {
443
466
  includeOutputSchemaHint: !isMeshDelegated,
444
467
  });
445
- // Get effective options (runtime options > MESH_LLM_* env > config)
446
- const maxIterations = sanitizeMaxIterations(context.options?.maxIterations) ??
447
- envMaxIterations() ??
448
- this.config.maxIterations;
468
+ // Get effective options (runtime options > MESH_LLM_* env > config).
469
+ // Issue #1360: `forwardedMaxIterations` is the EXPLICIT cap the consumer
470
+ // configured (undefined = omit from the delegation request so the provider's
471
+ // MESH_LLM_MAX_ITERATIONS governs); `maxIterations` is the concrete local
472
+ // exhaustion bound (#1355), default 10 when nothing is configured.
473
+ const { forwarded: forwardedMaxIterations, localCap: maxIterations } = this.resolveForwardedMaxIterations(context.options);
449
474
  const maxTokens = context.options?.maxOutputTokens ?? this.config.maxOutputTokens;
450
475
  const temperature = context.options?.temperature ?? this.config.temperature;
451
476
  // Determine model (mesh provider > MESH_LLM_MODEL env > config > default)
@@ -469,8 +494,10 @@ export class MeshLlmAgent {
469
494
  outputSchema,
470
495
  // Issue #1019: forward caller-supplied escape-hatch kwargs
471
496
  modelParams: context.options?.modelParams,
472
- // Issue #1116: forward the resolved provider-managed loop cap.
473
- maxIterations,
497
+ // Issue #1116/#1360: forward the provider-managed loop cap ONLY when
498
+ // the consumer explicitly configured one (undefined = omit the key so
499
+ // the provider's MESH_LLM_MAX_ITERATIONS / default of 10 applies).
500
+ maxIterations: forwardedMaxIterations,
474
501
  // Issue #1112: forward the RAW (possibly-undefined) output_mode so the
475
502
  // provider honors an explicit override; unset stays auto.
476
503
  outputMode: this.config.outputMode,
@@ -480,6 +507,15 @@ export class MeshLlmAgent {
480
507
  totalInputTokens += response.usage.prompt_tokens;
481
508
  totalOutputTokens += response.usage.completion_tokens;
482
509
  }
510
+ // Issue #1355: the provider-managed loop signals iteration exhaustion
511
+ // structurally via `_mesh_stop_reason` (never in `content`). Raise the
512
+ // typed error so the documented contract holds on the mainline path —
513
+ // otherwise the managed loop's terminal no-tool-calls message would be
514
+ // returned as if it were a normal answer on iteration 1.
515
+ if (response._mesh_stop_reason === STOP_REASON_MAX_ITERATIONS) {
516
+ console.error(`[mesh.llm] Provider-managed loop reported max_iterations exhaustion (max=${maxIterations})`);
517
+ throw new MaxIterationsError(maxIterations, response.choices[0]?.message, messages);
518
+ }
483
519
  const choice = response.choices[0];
484
520
  if (!choice) {
485
521
  throw new Error("No response from LLM");
@@ -625,10 +661,10 @@ export class MeshLlmAgent {
625
661
  const messages = await this.buildAgentMessages(messageInput, context, {
626
662
  includeOutputSchemaHint: false,
627
663
  });
628
- // Effective options (runtime > env > config)
629
- const maxIterations = sanitizeMaxIterations(context.options?.maxIterations) ??
630
- envMaxIterations() ??
631
- this.config.maxIterations;
664
+ // Effective options (runtime > env > config). Issue #1360: forward only an
665
+ // explicitly configured cap (undefined = omit; provider env governs); the
666
+ // local exhaustion cap still defaults to 10.
667
+ const { forwarded: forwardedMaxIterations, localCap: maxIterations } = this.resolveForwardedMaxIterations(context.options);
632
668
  const maxTokens = context.options?.maxOutputTokens ?? this.config.maxOutputTokens;
633
669
  const temperature = context.options?.temperature ?? this.config.temperature;
634
670
  const model = context.meshProvider?.model ??
@@ -637,7 +673,13 @@ export class MeshLlmAgent {
637
673
  this.getDefaultModel();
638
674
  const outputSchema = this.getOutputSchema();
639
675
  const provider = new MeshDelegatedProvider(context.meshProvider.endpoint, context.meshProvider.functionName, this.config.parallelToolCalls ?? false);
640
- yield* provider.streamComplete(model, messages, toolDefs.length > 0 ? toolDefs : undefined, {
676
+ // Issue #1355: every provider chunk is a typed stream-envelope frame keyed
677
+ // by the reserved `_mesh_frame` discriminator (`{"_mesh_frame":"chunk",...}`
678
+ // for text, `{"_mesh_frame":"end",...}` to terminate). The discriminator is
679
+ // the frame TYPE, never the text content, so model text can never be misread
680
+ // as a control signal. Unwrap `chunk` frames to plain text, raise the typed
681
+ // error on an exhaustion `end` frame, and never forward a control frame.
682
+ for await (const chunk of provider.streamComplete(model, messages, toolDefs.length > 0 ? toolDefs : undefined, {
641
683
  maxOutputTokens: maxTokens,
642
684
  temperature,
643
685
  topP: this.config.topP,
@@ -645,12 +687,36 @@ export class MeshLlmAgent {
645
687
  outputSchema,
646
688
  // Issue #1019: forward caller-supplied escape-hatch kwargs
647
689
  modelParams: context.options?.modelParams,
648
- // Issue #1116: forward the resolved provider-managed loop cap.
649
- maxIterations,
690
+ // Issue #1116/#1360: forward the provider-managed loop cap ONLY when
691
+ // the consumer explicitly configured one (undefined = omit the key so
692
+ // the provider's MESH_LLM_MAX_ITERATIONS / default of 10 applies).
693
+ maxIterations: forwardedMaxIterations,
650
694
  // Issue #1112: forward the RAW (possibly-undefined) output_mode so the
651
695
  // provider honors an explicit override; unset stays auto.
652
696
  outputMode: this.config.outputMode,
653
- });
697
+ })) {
698
+ const frame = parseStreamFrame(chunk);
699
+ if (frame === null) {
700
+ // Not a well-formed frame — a provider that isn't yet framing (older
701
+ // provider mid-rollout, or a bug). Degrade to plain passthrough rather
702
+ // than crashing.
703
+ yield chunk;
704
+ continue;
705
+ }
706
+ if (frame[FRAME_KEY] === FRAME_END) {
707
+ if (frame.stop_reason === STOP_REASON_MAX_ITERATIONS) {
708
+ console.error(`[mesh.llm] stream: provider signaled max_iterations exhaustion (max=${maxIterations})`);
709
+ throw new MaxIterationsError(maxIterations, null, messages);
710
+ }
711
+ // Normal terminal frame — stop cleanly, never forward it.
712
+ return;
713
+ }
714
+ // Text delta: unwrap and yield the plain content to the caller. Coerce to
715
+ // string so a malformed frame carrying `content: null` can't leak a
716
+ // non-string into the AsyncGenerator<string>.
717
+ const frameContent = frame.content;
718
+ yield typeof frameContent === "string" ? frameContent : "";
719
+ }
654
720
  }
655
721
  /**
656
722
  * Create a callable LlmAgent interface.
@@ -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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"}
@@ -142,10 +142,10 @@ export declare function envMaxIterations(): number | undefined;
142
142
  *
143
143
  * Note: a *present* paramValue (even if invalid) never falls through to the
144
144
  * env branch — invalid param → default. The env branch is consulted only when
145
- * the param is ABSENT. For TS consumers this means the provider-host env only
146
- * applies when the consumer does not forward a cap: run()/stream() always
147
- * forward one, so provider-side MESH_LLM_MAX_ITERATIONS primarily affects
148
- * non-forwarding / other-language / raw callers.
145
+ * the param is ABSENT. Since #1360, run()/stream() forward max_iterations only
146
+ * when the consumer explicitly configured it (runtime option consumer env →
147
+ * user config); when unset, no cap is forwarded and this provider-side
148
+ * MESH_LLM_MAX_ITERATIONS governs parity with Python/Java.
149
149
  */
150
150
  export declare function resolveMaxIterations(paramValue: unknown): number;
151
151
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../src/llm-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"llm-provider.d.ts","sourceRoot":"","sources":["../src/llm-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,YAAY,CAAC;AA2DpB;;;;;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;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAgBvF;AAyBD,wBAAgB,gCAAgC,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAG1F;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAEjF;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,EAChD,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAC/B,IAAI,CAqBN;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;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;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,CAm8BA;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"}