@mcpmesh/sdk 0.9.11 → 1.0.0-beta.1

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 (94) hide show
  1. package/dist/__tests__/claude-handler.test.js +119 -71
  2. package/dist/__tests__/claude-handler.test.js.map +1 -1
  3. package/dist/__tests__/llm-agent-media.test.d.ts +8 -0
  4. package/dist/__tests__/llm-agent-media.test.d.ts.map +1 -0
  5. package/dist/__tests__/llm-agent-media.test.js +167 -0
  6. package/dist/__tests__/llm-agent-media.test.js.map +1 -0
  7. package/dist/__tests__/media-helpers.test.d.ts +7 -0
  8. package/dist/__tests__/media-helpers.test.d.ts.map +1 -0
  9. package/dist/__tests__/media-helpers.test.js +60 -0
  10. package/dist/__tests__/media-helpers.test.js.map +1 -0
  11. package/dist/__tests__/media-param.test.d.ts +7 -0
  12. package/dist/__tests__/media-param.test.d.ts.map +1 -0
  13. package/dist/__tests__/media-param.test.js +104 -0
  14. package/dist/__tests__/media-param.test.js.map +1 -0
  15. package/dist/__tests__/media-resolver.test.d.ts +8 -0
  16. package/dist/__tests__/media-resolver.test.d.ts.map +1 -0
  17. package/dist/__tests__/media-resolver.test.js +298 -0
  18. package/dist/__tests__/media-resolver.test.js.map +1 -0
  19. package/dist/__tests__/media-result.test.d.ts +5 -0
  20. package/dist/__tests__/media-result.test.d.ts.map +1 -0
  21. package/dist/__tests__/media-result.test.js +180 -0
  22. package/dist/__tests__/media-result.test.js.map +1 -0
  23. package/dist/__tests__/media-store.test.d.ts +7 -0
  24. package/dist/__tests__/media-store.test.d.ts.map +1 -0
  25. package/dist/__tests__/media-store.test.js +102 -0
  26. package/dist/__tests__/media-store.test.js.map +1 -0
  27. package/dist/__tests__/proxy-resource-link.test.d.ts +8 -0
  28. package/dist/__tests__/proxy-resource-link.test.d.ts.map +1 -0
  29. package/dist/__tests__/proxy-resource-link.test.js +175 -0
  30. package/dist/__tests__/proxy-resource-link.test.js.map +1 -0
  31. package/dist/agent.d.ts +1 -0
  32. package/dist/agent.d.ts.map +1 -1
  33. package/dist/agent.js +76 -10
  34. package/dist/agent.js.map +1 -1
  35. package/dist/api-runtime.d.ts.map +1 -1
  36. package/dist/api-runtime.js +7 -1
  37. package/dist/api-runtime.js.map +1 -1
  38. package/dist/config.d.ts +17 -0
  39. package/dist/config.d.ts.map +1 -1
  40. package/dist/config.js +19 -0
  41. package/dist/config.js.map +1 -1
  42. package/dist/debug.d.ts +1 -1
  43. package/dist/debug.d.ts.map +1 -1
  44. package/dist/express.d.ts.map +1 -1
  45. package/dist/express.js +33 -18
  46. package/dist/express.js.map +1 -1
  47. package/dist/index.d.ts +5 -2
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +6 -1
  50. package/dist/index.js.map +1 -1
  51. package/dist/llm-agent.d.ts +2 -0
  52. package/dist/llm-agent.d.ts.map +1 -1
  53. package/dist/llm-agent.js +62 -13
  54. package/dist/llm-agent.js.map +1 -1
  55. package/dist/llm-provider.d.ts +55 -16
  56. package/dist/llm-provider.d.ts.map +1 -1
  57. package/dist/llm-provider.js +321 -32
  58. package/dist/llm-provider.js.map +1 -1
  59. package/dist/media/index.d.ts +104 -0
  60. package/dist/media/index.d.ts.map +1 -0
  61. package/dist/media/index.js +135 -0
  62. package/dist/media/index.js.map +1 -0
  63. package/dist/media/media-store.d.ts +75 -0
  64. package/dist/media/media-store.d.ts.map +1 -0
  65. package/dist/media/media-store.js +217 -0
  66. package/dist/media/media-store.js.map +1 -0
  67. package/dist/media/resolver.d.ts +67 -0
  68. package/dist/media/resolver.d.ts.map +1 -0
  69. package/dist/media/resolver.js +311 -0
  70. package/dist/media/resolver.js.map +1 -0
  71. package/dist/media-param.d.ts +17 -0
  72. package/dist/media-param.d.ts.map +1 -0
  73. package/dist/media-param.js +32 -0
  74. package/dist/media-param.js.map +1 -0
  75. package/dist/provider-handlers/claude-handler.d.ts +21 -26
  76. package/dist/provider-handlers/claude-handler.d.ts.map +1 -1
  77. package/dist/provider-handlers/claude-handler.js +65 -45
  78. package/dist/provider-handlers/claude-handler.js.map +1 -1
  79. package/dist/provider-handlers/provider-handler.d.ts.map +1 -1
  80. package/dist/provider-handlers/provider-handler.js +5 -4
  81. package/dist/provider-handlers/provider-handler.js.map +1 -1
  82. package/dist/proxy.d.ts +29 -0
  83. package/dist/proxy.d.ts.map +1 -1
  84. package/dist/proxy.js +66 -21
  85. package/dist/proxy.js.map +1 -1
  86. package/dist/tls-config.d.ts +31 -0
  87. package/dist/tls-config.d.ts.map +1 -0
  88. package/dist/tls-config.js +102 -0
  89. package/dist/tls-config.js.map +1 -0
  90. package/dist/types.d.ts +63 -2
  91. package/dist/types.d.ts.map +1 -1
  92. package/dist/types.js +33 -1
  93. package/dist/types.js.map +1 -1
  94. package/package.json +3 -3
@@ -19,7 +19,7 @@ describe("ClaudeHandler", () => {
19
19
  it("should return Claude capabilities", () => {
20
20
  const capabilities = handler.getCapabilities();
21
21
  expect(capabilities.nativeToolCalling).toBe(true);
22
- expect(capabilities.structuredOutput).toBe(false); // Uses HINT mode, not native response_format
22
+ expect(capabilities.structuredOutput).toBe(true); // Native response_format in mesh delegation
23
23
  expect(capabilities.streaming).toBe(true);
24
24
  expect(capabilities.vision).toBe(true);
25
25
  expect(capabilities.jsonMode).toBe(false); // No native JSON mode used
@@ -40,9 +40,7 @@ describe("ClaudeHandler", () => {
40
40
  expect(handler.determineOutputMode(schema, "strict")).toBe("strict");
41
41
  expect(handler.determineOutputMode(schema, "text")).toBe("text");
42
42
  });
43
- it("should always return 'hint' for any schema (Claude strategy)", () => {
44
- // Claude always uses "hint" mode because generateObject() has issues with Anthropic
45
- // and native structured output is slow. Prompt-based JSON is fast and reliable.
43
+ it("should return 'strict' for schemas (native response_format)", () => {
46
44
  const simpleSchema = {
47
45
  name: "SimpleSchema",
48
46
  schema: {
@@ -54,9 +52,9 @@ describe("ClaudeHandler", () => {
54
52
  },
55
53
  };
56
54
  const mode = handler.determineOutputMode(simpleSchema);
57
- expect(mode).toBe("hint");
55
+ expect(mode).toBe("strict");
58
56
  });
59
- it("should return 'hint' for complex schemas (Claude always uses hint)", () => {
57
+ it("should return 'strict' for complex schemas", () => {
60
58
  const complexSchema = {
61
59
  name: "ComplexSchema",
62
60
  schema: {
@@ -70,11 +68,10 @@ describe("ClaudeHandler", () => {
70
68
  },
71
69
  },
72
70
  };
73
- // Claude always uses hint mode regardless of complexity
74
71
  const mode = handler.determineOutputMode(complexSchema);
75
- expect(mode).toBe("hint");
72
+ expect(mode).toBe("strict");
76
73
  });
77
- it("should return 'hint' for schemas with nested objects (Claude always uses hint)", () => {
74
+ it("should return 'strict' for schemas with nested objects", () => {
78
75
  const nestedSchema = {
79
76
  name: "NestedSchema",
80
77
  schema: {
@@ -91,11 +88,10 @@ describe("ClaudeHandler", () => {
91
88
  },
92
89
  },
93
90
  };
94
- // Claude always uses hint mode regardless of nesting
95
91
  const mode = handler.determineOutputMode(nestedSchema);
96
- expect(mode).toBe("hint");
92
+ expect(mode).toBe("strict");
97
93
  });
98
- it("should return 'hint' for schemas with $defs (Claude always uses hint)", () => {
94
+ it("should return 'strict' for schemas with $defs", () => {
99
95
  const schemaWithDefs = {
100
96
  name: "SchemaWithDefs",
101
97
  schema: {
@@ -108,11 +104,10 @@ describe("ClaudeHandler", () => {
108
104
  },
109
105
  },
110
106
  };
111
- // Claude always uses hint mode regardless of $defs
112
107
  const mode = handler.determineOutputMode(schemaWithDefs);
113
- expect(mode).toBe("hint");
108
+ expect(mode).toBe("strict");
114
109
  });
115
- it("should return 'hint' for schemas with $ref (Claude always uses hint)", () => {
110
+ it("should return 'strict' for schemas with $ref", () => {
116
111
  const schemaWithRef = {
117
112
  name: "SchemaWithRef",
118
113
  schema: {
@@ -122,30 +117,27 @@ describe("ClaudeHandler", () => {
122
117
  },
123
118
  },
124
119
  };
125
- // Claude always uses hint mode regardless of $ref
126
120
  const mode = handler.determineOutputMode(schemaWithRef);
127
- expect(mode).toBe("hint");
121
+ expect(mode).toBe("strict");
128
122
  });
129
- it("should return 'hint' regardless of pre-computed fieldCount", () => {
123
+ it("should return 'strict' regardless of pre-computed fieldCount", () => {
130
124
  const schemaWithFieldCount = {
131
125
  name: "SchemaWithFieldCount",
132
126
  schema: { type: "object" },
133
127
  fieldCount: 10,
134
128
  };
135
- // Claude always uses hint mode regardless of field count
136
129
  const mode = handler.determineOutputMode(schemaWithFieldCount);
137
- expect(mode).toBe("hint");
130
+ expect(mode).toBe("strict");
138
131
  });
139
- it("should return 'hint' regardless of pre-computed hasNestedObjects", () => {
132
+ it("should return 'strict' regardless of pre-computed hasNestedObjects", () => {
140
133
  const schemaWithFlag = {
141
134
  name: "SchemaWithFlag",
142
135
  schema: { type: "object", properties: { a: { type: "string" } } },
143
136
  fieldCount: 1,
144
137
  hasNestedObjects: false,
145
138
  };
146
- // Claude always uses hint mode regardless of flags
147
139
  const mode = handler.determineOutputMode(schemaWithFlag);
148
- expect(mode).toBe("hint");
140
+ expect(mode).toBe("strict");
149
141
  });
150
142
  });
151
143
  describe("prepareRequest", () => {
@@ -182,7 +174,7 @@ describe("ClaudeHandler", () => {
182
174
  const request = handler.prepareRequest(messages, tools, null);
183
175
  expect(request.tools).toEqual(tools);
184
176
  });
185
- it("should not include response_format by default (Claude uses hint mode)", () => {
177
+ it("should set responseFormat with strict schema by default for schemas", () => {
186
178
  const messages = [{ role: "user", content: "Hello" }];
187
179
  const outputSchema = {
188
180
  name: "Response",
@@ -191,17 +183,17 @@ describe("ClaudeHandler", () => {
191
183
  properties: {
192
184
  field1: { type: "string" },
193
185
  field2: { type: "string" },
194
- field3: { type: "string" },
195
- field4: { type: "string" },
196
- field5: { type: "string" },
197
186
  },
198
187
  },
199
188
  };
200
- // Claude always uses hint mode by default, so no responseFormat
189
+ // Default mode is strict, so responseFormat should be set
201
190
  const request = handler.prepareRequest(messages, null, outputSchema);
202
- expect(request.responseFormat).toBeUndefined();
191
+ expect(request.responseFormat).toBeDefined();
192
+ expect(request.responseFormat?.type).toBe("json_schema");
193
+ expect(request.responseFormat?.jsonSchema.name).toBe("Response");
194
+ expect(request.responseFormat?.jsonSchema.strict).toBe(true);
203
195
  });
204
- it("should not include response_format even when outputMode: strict is explicitly set (STRICT removed)", () => {
196
+ it("should set responseFormat with strict schema when outputMode: strict is explicitly set", () => {
205
197
  const messages = [{ role: "user", content: "Hello" }];
206
198
  const outputSchema = {
207
199
  name: "Response",
@@ -212,11 +204,16 @@ describe("ClaudeHandler", () => {
212
204
  },
213
205
  },
214
206
  };
215
- // STRICT mode was removed from Claude handler - always uses HINT
216
207
  const request = handler.prepareRequest(messages, null, outputSchema, { outputMode: "strict" });
217
- expect(request.responseFormat).toBeUndefined();
208
+ expect(request.responseFormat).toBeDefined();
209
+ expect(request.responseFormat?.type).toBe("json_schema");
210
+ expect(request.responseFormat?.jsonSchema.name).toBe("Response");
211
+ expect(request.responseFormat?.jsonSchema.strict).toBe(true);
212
+ // Strict schema should have additionalProperties: false and all required
213
+ expect(request.responseFormat?.jsonSchema.schema.additionalProperties).toBe(false);
214
+ expect(request.responseFormat?.jsonSchema.schema.required).toEqual(["field1"]);
218
215
  });
219
- it("should not include response_format in hint mode (any schema)", () => {
216
+ it("should not include response_format in hint mode", () => {
220
217
  const messages = [{ role: "user", content: "Hello" }];
221
218
  const simpleSchema = {
222
219
  name: "Simple",
@@ -225,8 +222,8 @@ describe("ClaudeHandler", () => {
225
222
  properties: { name: { type: "string" } },
226
223
  },
227
224
  };
228
- const request = handler.prepareRequest(messages, null, simpleSchema);
229
- // Claude always uses hint mode, no response_format
225
+ // Explicitly force hint mode
226
+ const request = handler.prepareRequest(messages, null, simpleSchema, { outputMode: "hint" });
230
227
  expect(request.responseFormat).toBeUndefined();
231
228
  });
232
229
  it("should not include response_format in text mode", () => {
@@ -234,21 +231,6 @@ describe("ClaudeHandler", () => {
234
231
  const request = handler.prepareRequest(messages, null, null, { outputMode: "text" });
235
232
  expect(request.responseFormat).toBeUndefined();
236
233
  });
237
- it("should not set responseFormat even with explicit strict mode (STRICT removed)", () => {
238
- const messages = [{ role: "user", content: "Hello" }];
239
- const outputSchema = {
240
- name: "Test",
241
- schema: {
242
- type: "object",
243
- properties: {
244
- field1: { type: "string" },
245
- },
246
- },
247
- };
248
- // STRICT mode was removed - no responseFormat for Claude
249
- const request = handler.prepareRequest(messages, null, outputSchema, { outputMode: "strict" });
250
- expect(request.responseFormat).toBeUndefined();
251
- });
252
234
  it("should pass through temperature, maxOutputTokens, and topP", () => {
253
235
  const messages = [{ role: "user", content: "Hello" }];
254
236
  const request = handler.prepareRequest(messages, null, null, {
@@ -288,7 +270,7 @@ describe("ClaudeHandler", () => {
288
270
  const messages = [
289
271
  {
290
272
  role: "tool",
291
- content: "Sunny, 75°F",
273
+ content: "Sunny, 75\u00b0F",
292
274
  tool_call_id: "call_123",
293
275
  name: "get_weather",
294
276
  },
@@ -303,7 +285,7 @@ describe("ClaudeHandler", () => {
303
285
  expect(content[0].toolName).toBe("get_weather");
304
286
  // AI SDK v6 expects output as { type: 'text' | 'json', value: ... }
305
287
  expect(content[0].output.type).toBe("text");
306
- expect(content[0].output.value).toBe("Sunny, 75°F");
288
+ expect(content[0].output.value).toBe("Sunny, 75\u00b0F");
307
289
  });
308
290
  it("should handle malformed tool_call arguments gracefully", () => {
309
291
  const messages = [
@@ -343,27 +325,25 @@ describe("ClaudeHandler", () => {
343
325
  expect(result).toContain("Make ONE tool call at a time");
344
326
  expect(result).toContain("NEVER use XML-style syntax");
345
327
  });
346
- it("should add detailed JSON schema for any schema (Claude uses hint mode by default)", () => {
328
+ it("should add brief JSON note in strict mode (default for schemas)", () => {
347
329
  const basePrompt = "You are a helpful assistant.";
348
- const complexSchema = {
330
+ const schema = {
349
331
  name: "ComplexOutput",
350
332
  schema: {
351
333
  type: "object",
352
334
  properties: {
353
335
  a: { type: "string" },
354
336
  b: { type: "string" },
355
- c: { type: "string" },
356
- d: { type: "string" },
357
- e: { type: "string" },
358
337
  },
359
338
  },
360
339
  };
361
- // Claude always uses hint mode, so detailed JSON instructions are added
362
- const result = handler.formatSystemPrompt(basePrompt, null, complexSchema);
363
- expect(result).toContain("RESPONSE FORMAT:");
364
- expect(result).toContain("CRITICAL: Your response must be ONLY the raw JSON object");
340
+ // Default mode is strict, so brief note should be added
341
+ const result = handler.formatSystemPrompt(basePrompt, null, schema);
342
+ expect(result).toContain("structured as JSON matching the ComplexOutput format");
343
+ expect(result).not.toContain("RESPONSE FORMAT:");
344
+ expect(result).not.toContain("CRITICAL:");
365
345
  });
366
- it("should not add JSON instructions when strict is specified (STRICT removed, no hint fallback)", () => {
346
+ it("should add brief JSON note in explicit strict mode", () => {
367
347
  const basePrompt = "You are a helpful assistant.";
368
348
  const schema = {
369
349
  name: "StrictOutput",
@@ -374,11 +354,8 @@ describe("ClaudeHandler", () => {
374
354
  },
375
355
  },
376
356
  };
377
- // STRICT mode was removed - determineOutputMode returns "strict" but
378
- // formatSystemPrompt has no branch for it, so no JSON instructions added
379
357
  const result = handler.formatSystemPrompt(basePrompt, null, schema, "strict");
380
- // No JSON instructions since there is no strict branch in formatSystemPrompt
381
- expect(result).toBe(basePrompt);
358
+ expect(result).toContain("structured as JSON matching the StrictOutput format");
382
359
  expect(result).not.toContain("RESPONSE FORMAT:");
383
360
  });
384
361
  it("should add detailed JSON schema in hint mode", () => {
@@ -394,7 +371,7 @@ describe("ClaudeHandler", () => {
394
371
  required: ["name"],
395
372
  },
396
373
  };
397
- const result = handler.formatSystemPrompt(basePrompt, null, simpleSchema);
374
+ const result = handler.formatSystemPrompt(basePrompt, null, simpleSchema, "hint");
398
375
  expect(result).toContain("RESPONSE FORMAT:");
399
376
  expect(result).toContain("name: string (required)");
400
377
  expect(result).toContain("age: number (optional)");
@@ -406,9 +383,54 @@ describe("ClaudeHandler", () => {
406
383
  expect(result).toBe(basePrompt);
407
384
  expect(result).not.toContain("JSON");
408
385
  });
386
+ it("should add DECISION GUIDE in hint mode with tools", () => {
387
+ const basePrompt = "You are a helpful assistant.";
388
+ const tools = [
389
+ { type: "function", function: { name: "get_weather" } },
390
+ ];
391
+ const schema = {
392
+ name: "Output",
393
+ schema: {
394
+ type: "object",
395
+ properties: { result: { type: "string" } },
396
+ },
397
+ };
398
+ const result = handler.formatSystemPrompt(basePrompt, tools, schema, "hint");
399
+ expect(result).toContain("DECISION GUIDE:");
400
+ expect(result).toContain("RESPONSE FORMAT:");
401
+ });
402
+ it("should add DECISION GUIDE in strict mode with tools", () => {
403
+ const basePrompt = "You are a helpful assistant.";
404
+ const tools = [
405
+ { type: "function", function: { name: "get_weather" } },
406
+ ];
407
+ const schema = {
408
+ name: "Output",
409
+ schema: {
410
+ type: "object",
411
+ properties: { result: { type: "string" } },
412
+ },
413
+ };
414
+ const result = handler.formatSystemPrompt(basePrompt, tools, schema, "strict");
415
+ expect(result).toContain("DECISION GUIDE:");
416
+ expect(result).toContain("structured as JSON matching the Output format");
417
+ });
418
+ it("should NOT add DECISION GUIDE in strict mode without tools", () => {
419
+ const basePrompt = "You are a helpful assistant.";
420
+ const schema = {
421
+ name: "Output",
422
+ schema: {
423
+ type: "object",
424
+ properties: { result: { type: "string" } },
425
+ },
426
+ };
427
+ const result = handler.formatSystemPrompt(basePrompt, null, schema, "strict");
428
+ expect(result).not.toContain("DECISION GUIDE:");
429
+ expect(result).toContain("structured as JSON matching the Output format");
430
+ });
409
431
  });
410
- describe("schema strictness - STRICT mode removed for Claude", () => {
411
- it("should not apply makeSchemaStrict since STRICT mode was removed", () => {
432
+ describe("schema strictness in prepareRequest", () => {
433
+ it("should apply makeSchemaStrict with additionalProperties and required in strict mode", () => {
412
434
  const messages = [{ role: "user", content: "Hello" }];
413
435
  const nestedSchema = {
414
436
  name: "Nested",
@@ -425,9 +447,35 @@ describe("ClaudeHandler", () => {
425
447
  },
426
448
  },
427
449
  };
428
- // Even with explicit strict mode, Claude no longer sets responseFormat
429
450
  const request = handler.prepareRequest(messages, null, nestedSchema, { outputMode: "strict" });
430
- expect(request.responseFormat).toBeUndefined();
451
+ expect(request.responseFormat).toBeDefined();
452
+ expect(request.responseFormat?.jsonSchema.schema.additionalProperties).toBe(false);
453
+ expect(request.responseFormat?.jsonSchema.schema.required).toEqual(["user", "a"]);
454
+ // Nested objects should also have strict constraints
455
+ const userSchema = request.responseFormat?.jsonSchema.schema.properties?.user;
456
+ expect(userSchema?.additionalProperties).toBe(false);
457
+ expect(userSchema?.required).toEqual(["name"]);
458
+ });
459
+ it("should sanitize validation keywords from schema", () => {
460
+ const messages = [{ role: "user", content: "Hello" }];
461
+ const schemaWithValidation = {
462
+ name: "Validated",
463
+ schema: {
464
+ type: "object",
465
+ properties: {
466
+ age: { type: "number", minimum: 0, maximum: 150 },
467
+ name: { type: "string", minLength: 1, maxLength: 100 },
468
+ },
469
+ },
470
+ };
471
+ const request = handler.prepareRequest(messages, null, schemaWithValidation);
472
+ expect(request.responseFormat).toBeDefined();
473
+ // Validation keywords should be stripped
474
+ const props = request.responseFormat?.jsonSchema.schema.properties;
475
+ expect(props.age.minimum).toBeUndefined();
476
+ expect(props.age.maximum).toBeUndefined();
477
+ expect(props.name.minLength).toBeUndefined();
478
+ expect(props.name.maxLength).toBeUndefined();
431
479
  });
432
480
  });
433
481
  });
@@ -1 +1 @@
1
- {"version":3,"file":"claude-handler.test.js","sourceRoot":"","sources":["../../src/__tests__/claude-handler.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"claude-handler.test.js","sourceRoot":"","sources":["../../src/__tests__/claude-handler.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Unit tests for media option in LLM agent calls.
3
+ *
4
+ * Tests resolveMediaInputs() and the integration of media items
5
+ * into multipart user messages for LLM completions.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=llm-agent-media.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-agent-media.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/llm-agent-media.test.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Unit tests for media option in LLM agent calls.
3
+ *
4
+ * Tests resolveMediaInputs() and the integration of media items
5
+ * into multipart user messages for LLM completions.
6
+ */
7
+ import { describe, it, expect, vi, beforeEach } from "vitest";
8
+ // Mock @mcpmesh/core before importing
9
+ vi.mock("@mcpmesh/core", () => ({
10
+ resolveConfig: vi.fn((_key, _value) => ""),
11
+ resolveConfigInt: vi.fn((_key, _value) => null),
12
+ getDefault: vi.fn((_key) => null),
13
+ }));
14
+ // Mock the media store
15
+ const mockFetch = vi.fn();
16
+ vi.mock("../media/media-store.js", () => ({
17
+ getMediaStore: vi.fn(() => ({
18
+ fetch: mockFetch,
19
+ upload: vi.fn(),
20
+ exists: vi.fn(),
21
+ })),
22
+ resolveMediaConfig: vi.fn(() => ({
23
+ storage: "local",
24
+ storagePath: "/tmp/media",
25
+ storagePrefix: "",
26
+ })),
27
+ guessMimeType: vi.fn(() => "application/octet-stream"),
28
+ }));
29
+ import { resolveMediaInputs } from "../media/index.js";
30
+ describe("resolveMediaInputs", () => {
31
+ beforeEach(() => {
32
+ vi.clearAllMocks();
33
+ });
34
+ it("resolves a URI string via MediaStore.fetch()", async () => {
35
+ const imageData = Buffer.from("fake-png-data");
36
+ mockFetch.mockResolvedValue({ data: imageData, mimeType: "image/png" });
37
+ const parts = await resolveMediaInputs(["file:///tmp/photo.png"]);
38
+ expect(parts).toHaveLength(1);
39
+ expect(parts[0]).toEqual({
40
+ type: "image_url",
41
+ image_url: {
42
+ url: `data:image/png;base64,${imageData.toString("base64")}`,
43
+ detail: "high",
44
+ },
45
+ });
46
+ expect(mockFetch).toHaveBeenCalledWith("file:///tmp/photo.png");
47
+ });
48
+ it("resolves an inline Buffer media object", async () => {
49
+ const imageData = Buffer.from("inline-jpeg-data");
50
+ const parts = await resolveMediaInputs([
51
+ { data: imageData, mimeType: "image/jpeg" },
52
+ ]);
53
+ expect(parts).toHaveLength(1);
54
+ expect(parts[0]).toEqual({
55
+ type: "image_url",
56
+ image_url: {
57
+ url: `data:image/jpeg;base64,${imageData.toString("base64")}`,
58
+ detail: "high",
59
+ },
60
+ });
61
+ // Should NOT call MediaStore.fetch for inline buffers
62
+ expect(mockFetch).not.toHaveBeenCalled();
63
+ });
64
+ it("resolves multiple media items (mixed URI and Buffer)", async () => {
65
+ const uriImageData = Buffer.from("uri-image-data");
66
+ const bufferImageData = Buffer.from("buffer-image-data");
67
+ mockFetch.mockResolvedValue({ data: uriImageData, mimeType: "image/png" });
68
+ const parts = await resolveMediaInputs([
69
+ "file:///tmp/chart.png",
70
+ { data: bufferImageData, mimeType: "image/webp" },
71
+ ]);
72
+ expect(parts).toHaveLength(2);
73
+ // First: URI-resolved image
74
+ expect(parts[0]).toEqual({
75
+ type: "image_url",
76
+ image_url: {
77
+ url: `data:image/png;base64,${uriImageData.toString("base64")}`,
78
+ detail: "high",
79
+ },
80
+ });
81
+ // Second: inline buffer image
82
+ expect(parts[1]).toEqual({
83
+ type: "image_url",
84
+ image_url: {
85
+ url: `data:image/webp;base64,${bufferImageData.toString("base64")}`,
86
+ detail: "high",
87
+ },
88
+ });
89
+ });
90
+ it("returns empty array for empty media list", async () => {
91
+ const parts = await resolveMediaInputs([]);
92
+ expect(parts).toHaveLength(0);
93
+ expect(mockFetch).not.toHaveBeenCalled();
94
+ });
95
+ it("resolves S3 URIs via MediaStore.fetch()", async () => {
96
+ const imageData = Buffer.from("s3-image");
97
+ mockFetch.mockResolvedValue({ data: imageData, mimeType: "image/gif" });
98
+ const parts = await resolveMediaInputs(["s3://bucket/images/logo.gif"]);
99
+ expect(parts).toHaveLength(1);
100
+ expect(parts[0].type).toBe("image_url");
101
+ expect(mockFetch).toHaveBeenCalledWith("s3://bucket/images/logo.gif");
102
+ });
103
+ });
104
+ describe("LlmCallOptions.media integration", () => {
105
+ // These tests verify the message structure that would be built
106
+ // by MeshLlmAgent.run() when media is provided.
107
+ it("builds multipart content for string message with media", () => {
108
+ // Simulate what run() does: text + image parts
109
+ const prompt = "Describe this image";
110
+ const mediaParts = [
111
+ {
112
+ type: "image_url",
113
+ image_url: {
114
+ url: "data:image/png;base64,abc123",
115
+ detail: "high",
116
+ },
117
+ },
118
+ ];
119
+ const message = {
120
+ role: "user",
121
+ content: [
122
+ { type: "text", text: prompt },
123
+ ...mediaParts,
124
+ ],
125
+ };
126
+ expect(message.content).toHaveLength(2);
127
+ expect(message.content[0]).toEqual({ type: "text", text: "Describe this image" });
128
+ expect(message.content[1]).toEqual({
129
+ type: "image_url",
130
+ image_url: { url: "data:image/png;base64,abc123", detail: "high" },
131
+ });
132
+ });
133
+ it("preserves plain string message when no media provided", () => {
134
+ const prompt = "Hello world";
135
+ const mediaParts = [];
136
+ // When media is empty, run() uses plain string content
137
+ const message = mediaParts.length > 0
138
+ ? { role: "user", content: [{ type: "text", text: prompt }, ...mediaParts] }
139
+ : { role: "user", content: prompt };
140
+ expect(message.content).toBe("Hello world");
141
+ });
142
+ it("builds multipart with multiple images", () => {
143
+ const prompt = "Compare these two images";
144
+ const mediaParts = [
145
+ {
146
+ type: "image_url",
147
+ image_url: { url: "data:image/png;base64,img1", detail: "high" },
148
+ },
149
+ {
150
+ type: "image_url",
151
+ image_url: { url: "data:image/jpeg;base64,img2", detail: "high" },
152
+ },
153
+ ];
154
+ const message = {
155
+ role: "user",
156
+ content: [
157
+ { type: "text", text: prompt },
158
+ ...mediaParts,
159
+ ],
160
+ };
161
+ expect(message.content).toHaveLength(3);
162
+ expect(message.content[0].type).toBe("text");
163
+ expect(message.content[1].type).toBe("image_url");
164
+ expect(message.content[2].type).toBe("image_url");
165
+ });
166
+ });
167
+ //# sourceMappingURL=llm-agent-media.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"llm-agent-media.test.js","sourceRoot":"","sources":["../../src/__tests__/llm-agent-media.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Unit tests for media/index.ts helper functions.
3
+ *
4
+ * Tests mediaResult() and uploadMedia() convenience functions.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=media-helpers.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media-helpers.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/media-helpers.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}