@dexto/core 1.6.27 → 1.7.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 (79) hide show
  1. package/dist/agent/DextoAgent.d.ts +3 -3
  2. package/dist/agent/DextoAgent.d.ts.map +1 -1
  3. package/dist/agent/schemas.cjs +5 -5
  4. package/dist/agent/schemas.d.ts +69 -980
  5. package/dist/agent/schemas.d.ts.map +1 -1
  6. package/dist/agent/schemas.js +5 -5
  7. package/dist/approval/schemas.cjs +6 -6
  8. package/dist/approval/schemas.d.ts +316 -1292
  9. package/dist/approval/schemas.d.ts.map +1 -1
  10. package/dist/approval/schemas.js +6 -6
  11. package/dist/approval/session-approval-store.cjs +1 -1
  12. package/dist/approval/session-approval-store.d.ts +12 -30
  13. package/dist/approval/session-approval-store.d.ts.map +1 -1
  14. package/dist/approval/session-approval-store.js +1 -1
  15. package/dist/llm/formatters/vercel.cjs +43 -29
  16. package/dist/llm/formatters/vercel.d.ts.map +1 -1
  17. package/dist/llm/formatters/vercel.js +49 -30
  18. package/dist/llm/providers/local/schemas.d.ts +102 -262
  19. package/dist/llm/providers/local/schemas.d.ts.map +1 -1
  20. package/dist/llm/registry/index.d.ts +5 -3
  21. package/dist/llm/registry/index.d.ts.map +1 -1
  22. package/dist/llm/registry/models.generated.cjs +967 -201
  23. package/dist/llm/registry/models.generated.d.ts +317 -27
  24. package/dist/llm/registry/models.generated.d.ts.map +1 -1
  25. package/dist/llm/registry/models.generated.js +967 -201
  26. package/dist/llm/resolver.cjs +0 -1
  27. package/dist/llm/resolver.d.ts.map +1 -1
  28. package/dist/llm/resolver.js +0 -1
  29. package/dist/llm/schemas.d.ts +95 -199
  30. package/dist/llm/schemas.d.ts.map +1 -1
  31. package/dist/logger/default-logger-factory.d.ts +28 -256
  32. package/dist/logger/default-logger-factory.d.ts.map +1 -1
  33. package/dist/logger/v2/schemas.d.ts +18 -120
  34. package/dist/logger/v2/schemas.d.ts.map +1 -1
  35. package/dist/mcp/schemas.cjs +4 -4
  36. package/dist/mcp/schemas.d.ts +77 -270
  37. package/dist/mcp/schemas.d.ts.map +1 -1
  38. package/dist/mcp/schemas.js +4 -4
  39. package/dist/memory/schemas.d.ts +37 -117
  40. package/dist/memory/schemas.d.ts.map +1 -1
  41. package/dist/prompts/schemas.d.ts +46 -190
  42. package/dist/prompts/schemas.d.ts.map +1 -1
  43. package/dist/resources/schemas.d.ts +14 -68
  44. package/dist/resources/schemas.d.ts.map +1 -1
  45. package/dist/runtime/host-runtime.d.ts +1 -5
  46. package/dist/runtime/host-runtime.d.ts.map +1 -1
  47. package/dist/session/history/database.cjs +37 -54
  48. package/dist/session/history/database.d.ts +3 -18
  49. package/dist/session/history/database.d.ts.map +1 -1
  50. package/dist/session/history/database.js +37 -54
  51. package/dist/session/schemas.d.ts +1 -7
  52. package/dist/session/schemas.d.ts.map +1 -1
  53. package/dist/systemPrompt/schemas.cjs +2 -10
  54. package/dist/systemPrompt/schemas.d.ts +53 -343
  55. package/dist/systemPrompt/schemas.d.ts.map +1 -1
  56. package/dist/systemPrompt/schemas.js +2 -10
  57. package/dist/telemetry/schemas.cjs +1 -1
  58. package/dist/telemetry/schemas.d.ts +9 -44
  59. package/dist/telemetry/schemas.d.ts.map +1 -1
  60. package/dist/telemetry/schemas.js +1 -1
  61. package/dist/tools/schemas.cjs +1 -1
  62. package/dist/tools/schemas.d.ts +19 -62
  63. package/dist/tools/schemas.d.ts.map +1 -1
  64. package/dist/tools/schemas.js +1 -1
  65. package/dist/tools/session-tool-preferences-store.d.ts +3 -9
  66. package/dist/tools/session-tool-preferences-store.d.ts.map +1 -1
  67. package/dist/utils/result.cjs +11 -8
  68. package/dist/utils/result.d.ts +6 -6
  69. package/dist/utils/result.d.ts.map +1 -1
  70. package/dist/utils/result.js +12 -9
  71. package/dist/utils/schema.cjs +6 -2
  72. package/dist/utils/schema.d.ts +2 -7
  73. package/dist/utils/schema.d.ts.map +1 -1
  74. package/dist/utils/schema.js +6 -2
  75. package/dist/utils/zod-schema-converter.cjs +66 -66
  76. package/dist/utils/zod-schema-converter.d.ts +3 -2
  77. package/dist/utils/zod-schema-converter.d.ts.map +1 -1
  78. package/dist/utils/zod-schema-converter.js +66 -66
  79. package/package.json +4 -5
@@ -1 +1 @@
1
- {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/approval/schemas.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../src/approval/schemas.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { z } from "zod";
3
3
  import { APPROVAL_TYPES, APPROVAL_STATUSES, DENIAL_REASONS, ApprovalType } from "./types.js";
4
4
  import { isValidDisplayData } from "../tools/display-types.js";
5
5
  import { HostRuntimeContextSchema } from "../runtime/index.js";
6
- const JsonSchema7Schema = z.record(z.unknown());
6
+ const JsonSchema7Schema = z.record(z.string(), z.unknown());
7
7
  const ApprovalTypeSchema = z.enum(APPROVAL_TYPES);
8
8
  const ApprovalStatusSchema = z.enum(APPROVAL_STATUSES);
9
9
  const DenialReasonSchema = z.enum(DENIAL_REASONS);
@@ -28,7 +28,7 @@ const ToolApprovalMetadataSchema = z.object({
28
28
  "Optional UI-agnostic presentation snapshot for the tool call. Clients MUST ignore unknown fields."
29
29
  ),
30
30
  toolCallId: z.string().describe("Unique tool call ID for tracking parallel tool calls"),
31
- args: z.record(z.unknown()).describe("Arguments for the tool"),
31
+ args: z.record(z.string(), z.unknown()).describe("Arguments for the tool"),
32
32
  description: z.string().optional().describe("Description of the tool"),
33
33
  displayPreview: ToolDisplayDataSchema.optional().describe(
34
34
  "Preview display data for approval UI (e.g., diff preview)"
@@ -49,9 +49,9 @@ const ElicitationMetadataSchema = z.object({
49
49
  schema: JsonSchema7Schema.describe("JSON Schema for the form"),
50
50
  prompt: z.string().describe("High-level prompt/context for the form (clients may show it)"),
51
51
  serverName: z.string().describe("MCP server requesting input"),
52
- context: z.record(z.unknown()).optional().describe("Additional context")
52
+ context: z.record(z.string(), z.unknown()).optional().describe("Additional context")
53
53
  }).strict().describe("Elicitation metadata");
54
- const CustomApprovalMetadataSchema = z.record(z.unknown()).describe("Custom metadata");
54
+ const CustomApprovalMetadataSchema = z.record(z.string(), z.unknown()).describe("Custom metadata");
55
55
  const BaseApprovalRequestSchema = z.object({
56
56
  approvalId: z.string().uuid().describe("Unique approval identifier"),
57
57
  type: ApprovalTypeSchema.describe("Type of approval"),
@@ -103,9 +103,9 @@ const CommandConfirmationResponseDataSchema = z.object({
103
103
  // Could add command pattern remembering in future (e.g., "remember git push *")
104
104
  }).strict().describe("Command confirmation response data");
105
105
  const ElicitationResponseDataSchema = z.object({
106
- formData: z.record(z.unknown()).describe("Form data matching schema")
106
+ formData: z.record(z.string(), z.unknown()).describe("Form data matching schema")
107
107
  }).strict().describe("Elicitation response data");
108
- const CustomApprovalResponseDataSchema = z.record(z.unknown()).describe("Custom response data");
108
+ const CustomApprovalResponseDataSchema = z.record(z.string(), z.unknown()).describe("Custom response data");
109
109
  const DirectoryAccessResponseDataSchema = z.object({
110
110
  rememberDirectory: z.boolean().optional().describe("Remember this directory for the session (allows all file access within it)")
111
111
  }).strict().describe("Directory access response data");
@@ -28,7 +28,7 @@ const PersistedApprovedDirectorySchema = import_zod.z.object({
28
28
  type: ApprovedDirectoryTypeSchema
29
29
  }).strict();
30
30
  const SessionApprovalStateSchema = import_zod.z.object({
31
- toolPatterns: import_zod.z.record(import_zod.z.array(import_zod.z.string())).default({}),
31
+ toolPatterns: import_zod.z.record(import_zod.z.string(), import_zod.z.array(import_zod.z.string())).default({}),
32
32
  approvedDirectories: import_zod.z.array(PersistedApprovedDirectorySchema).default([])
33
33
  }).strict();
34
34
  const DEFAULT_APPROVAL_STATE = {
@@ -3,39 +3,21 @@ import type { StorageManager } from '../storage/index.js';
3
3
  import type { Logger } from '../logger/v2/types.js';
4
4
  declare const PersistedApprovedDirectorySchema: z.ZodObject<{
5
5
  path: z.ZodString;
6
- type: z.ZodEnum<["session", "once"]>;
7
- }, "strict", z.ZodTypeAny, {
8
- path: string;
9
- type: "session" | "once";
10
- }, {
11
- path: string;
12
- type: "session" | "once";
13
- }>;
6
+ type: z.ZodEnum<{
7
+ session: "session";
8
+ once: "once";
9
+ }>;
10
+ }, z.core.$strict>;
14
11
  declare const SessionApprovalStateSchema: z.ZodObject<{
15
- toolPatterns: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>>;
12
+ toolPatterns: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString>>>;
16
13
  approvedDirectories: z.ZodDefault<z.ZodArray<z.ZodObject<{
17
14
  path: z.ZodString;
18
- type: z.ZodEnum<["session", "once"]>;
19
- }, "strict", z.ZodTypeAny, {
20
- path: string;
21
- type: "session" | "once";
22
- }, {
23
- path: string;
24
- type: "session" | "once";
25
- }>, "many">>;
26
- }, "strict", z.ZodTypeAny, {
27
- toolPatterns: Record<string, string[]>;
28
- approvedDirectories: {
29
- path: string;
30
- type: "session" | "once";
31
- }[];
32
- }, {
33
- toolPatterns?: Record<string, string[]> | undefined;
34
- approvedDirectories?: {
35
- path: string;
36
- type: "session" | "once";
37
- }[] | undefined;
38
- }>;
15
+ type: z.ZodEnum<{
16
+ session: "session";
17
+ once: "once";
18
+ }>;
19
+ }, z.core.$strict>>>;
20
+ }, z.core.$strict>;
39
21
  export type PersistedApprovedDirectory = z.output<typeof PersistedApprovedDirectorySchema>;
40
22
  export type SessionApprovalState = z.output<typeof SessionApprovalStateSchema>;
41
23
  export declare class SessionApprovalStore {
@@ -1 +1 @@
1
- {"version":3,"file":"session-approval-store.d.ts","sourceRoot":"","sources":["../../src/approval/session-approval-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,QAAA,MAAM,gCAAgC;;;;;;;;;EAKzB,CAAC;AAEd,QAAA,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;EAKnB,CAAC;AAEd,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC3F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAO/E,qBAAa,oBAAoB;IAIzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGpB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EAC/B,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMzC,OAAO,CAAC,QAAQ;IAIV,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBvD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/E,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,OAAO,CAAC,UAAU;CAYrB"}
1
+ {"version":3,"file":"session-approval-store.d.ts","sourceRoot":"","sources":["../../src/approval/session-approval-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAIpD,QAAA,MAAM,gCAAgC;;;;;;kBAKzB,CAAC;AAEd,QAAA,MAAM,0BAA0B;;;;;;;;;kBAKnB,CAAC;AAEd,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,gCAAgC,CAAC,CAAC;AAC3F,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAO/E,qBAAa,oBAAoB;IAIzB,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,MAAM;IAJ3B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAS;gBAGpB,cAAc,EAAE,cAAc,EAC9B,MAAM,EAAE,MAAM,EAC/B,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO;IAMzC,OAAO,CAAC,QAAQ;IAIV,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAiBvD,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,IAAI,CAAC;IAO/E,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ/C,OAAO,CAAC,UAAU;CAYrB"}
@@ -6,7 +6,7 @@ const PersistedApprovedDirectorySchema = z.object({
6
6
  type: ApprovedDirectoryTypeSchema
7
7
  }).strict();
8
8
  const SessionApprovalStateSchema = z.object({
9
- toolPatterns: z.record(z.array(z.string())).default({}),
9
+ toolPatterns: z.record(z.string(), z.array(z.string())).default({}),
10
10
  approvedDirectories: z.array(PersistedApprovedDirectorySchema).default([])
11
11
  }).strict();
12
12
  const DEFAULT_APPROVAL_STATE = {
@@ -33,6 +33,14 @@ function toUrlIfString(value) {
33
33
  }
34
34
  return value;
35
35
  }
36
+ function normalizeToolMediaData(data) {
37
+ const dataUri = (0, import_utils.parseDataUri)(data);
38
+ if (dataUri) return dataUri.base64;
39
+ if (/^https?:\/\//i.test(data) || data.startsWith("blob:") || data.startsWith("@blob:")) {
40
+ return null;
41
+ }
42
+ return data;
43
+ }
36
44
  class VercelMessageFormatter {
37
45
  logger;
38
46
  constructor(logger) {
@@ -252,51 +260,57 @@ class VercelMessageFormatter {
252
260
  formatToolMessage(msg) {
253
261
  let toolResultPart;
254
262
  if (Array.isArray(msg.content)) {
255
- if (msg.content[0]?.type === "image") {
256
- const imagePart = msg.content[0];
257
- const imageDataBase64 = (0, import_utils.getImageData)(imagePart, this.logger);
258
- toolResultPart = {
259
- type: "tool-result",
260
- toolCallId: msg.toolCallId,
261
- toolName: msg.name,
262
- output: {
263
- type: "content",
264
- value: [
265
- {
266
- type: "media",
267
- data: imageDataBase64,
268
- mediaType: imagePart.mimeType || "image/jpeg"
269
- }
270
- ]
263
+ const content = msg.content.map((part) => {
264
+ if (part.type === "text") {
265
+ return { type: "text", text: part.text };
266
+ }
267
+ if (part.type === "image") {
268
+ const data = (0, import_utils.getImageData)(part, this.logger);
269
+ const mediaData = normalizeToolMediaData(data);
270
+ if (!mediaData) {
271
+ return { type: "text", text: `Attached image: ${data}` };
271
272
  }
272
- };
273
- } else if (msg.content[0]?.type === "file") {
274
- const filePart = msg.content[0];
275
- const fileDataBase64 = (0, import_utils.getFileData)(filePart, this.logger);
273
+ return {
274
+ type: "media",
275
+ data: mediaData,
276
+ mediaType: part.mimeType || "image/jpeg"
277
+ };
278
+ }
279
+ if (part.type === "file") {
280
+ const data = (0, import_utils.getFileData)(part, this.logger);
281
+ const mediaData = normalizeToolMediaData(data);
282
+ if (!mediaData) {
283
+ return { type: "text", text: `Attached file: ${data}` };
284
+ }
285
+ return {
286
+ type: "media",
287
+ data: mediaData,
288
+ mediaType: part.mimeType
289
+ };
290
+ }
291
+ if (part.type === "resource") {
292
+ return { type: "text", text: `${part.name}: ${part.uri}` };
293
+ }
294
+ return null;
295
+ }).filter((part) => part !== null);
296
+ if (content.some((part) => part.type === "media")) {
276
297
  toolResultPart = {
277
298
  type: "tool-result",
278
299
  toolCallId: msg.toolCallId,
279
300
  toolName: msg.name,
280
301
  output: {
281
302
  type: "content",
282
- value: [
283
- {
284
- type: "media",
285
- data: fileDataBase64,
286
- mediaType: filePart.mimeType
287
- }
288
- ]
303
+ value: content
289
304
  }
290
305
  };
291
306
  } else {
292
- const textContent = Array.isArray(msg.content) ? msg.content.map((part) => part.type === "text" ? part.text : JSON.stringify(part)).join("\n") : String(msg.content);
293
307
  toolResultPart = {
294
308
  type: "tool-result",
295
309
  toolCallId: msg.toolCallId,
296
310
  toolName: msg.name,
297
311
  output: {
298
312
  type: "text",
299
- value: textContent
313
+ value: content.filter((part) => part.type === "text").map((part) => part.text).join("\n") || "[empty result]"
300
314
  }
301
315
  };
302
316
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,wBAAwB,CAAC;AAE7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAmBvD;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAG1B;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;IAkKjB;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,sBAAsB;IAmG9B,OAAO,CAAC,iBAAiB;CAoE5B"}
1
+ {"version":3,"file":"vercel.d.ts","sourceRoot":"","sources":["../../../src/llm/formatters/vercel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAiD,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,eAAe,EAAiC,MAAM,wBAAwB,CAAC;AAO7F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AA8BvD;;;;;;;;;;GAUG;AACH,qBAAa,sBAAsB;IAC/B,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,MAAM;IAG1B;;;;;;OAMG;IACH,MAAM,CACF,OAAO,EAAE,QAAQ,CAAC,eAAe,EAAE,CAAC,EACpC,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC5B,YAAY,EAAE;IAkKjB;;;;;;OAMG;IACH,kBAAkB,IAAI,IAAI;IAI1B,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,sBAAsB;IAmG9B,OAAO,CAAC,iBAAiB;CA6E5B"}
@@ -1,5 +1,10 @@
1
1
  import "../../chunk-PTJYTZNU.js";
2
- import { getImageData, getFileData, filterMessagesByLLMCapabilities } from "../../context/utils.js";
2
+ import {
3
+ getImageData,
4
+ getFileData,
5
+ filterMessagesByLLMCapabilities,
6
+ parseDataUri
7
+ } from "../../context/utils.js";
3
8
  import { DextoLogComponent } from "../../logger/v2/types.js";
4
9
  function toUrlIfString(value) {
5
10
  if (typeof value === "string" && /^https?:\/\//i.test(value)) {
@@ -11,6 +16,14 @@ function toUrlIfString(value) {
11
16
  }
12
17
  return value;
13
18
  }
19
+ function normalizeToolMediaData(data) {
20
+ const dataUri = parseDataUri(data);
21
+ if (dataUri) return dataUri.base64;
22
+ if (/^https?:\/\//i.test(data) || data.startsWith("blob:") || data.startsWith("@blob:")) {
23
+ return null;
24
+ }
25
+ return data;
26
+ }
14
27
  class VercelMessageFormatter {
15
28
  logger;
16
29
  constructor(logger) {
@@ -230,51 +243,57 @@ class VercelMessageFormatter {
230
243
  formatToolMessage(msg) {
231
244
  let toolResultPart;
232
245
  if (Array.isArray(msg.content)) {
233
- if (msg.content[0]?.type === "image") {
234
- const imagePart = msg.content[0];
235
- const imageDataBase64 = getImageData(imagePart, this.logger);
236
- toolResultPart = {
237
- type: "tool-result",
238
- toolCallId: msg.toolCallId,
239
- toolName: msg.name,
240
- output: {
241
- type: "content",
242
- value: [
243
- {
244
- type: "media",
245
- data: imageDataBase64,
246
- mediaType: imagePart.mimeType || "image/jpeg"
247
- }
248
- ]
246
+ const content = msg.content.map((part) => {
247
+ if (part.type === "text") {
248
+ return { type: "text", text: part.text };
249
+ }
250
+ if (part.type === "image") {
251
+ const data = getImageData(part, this.logger);
252
+ const mediaData = normalizeToolMediaData(data);
253
+ if (!mediaData) {
254
+ return { type: "text", text: `Attached image: ${data}` };
249
255
  }
250
- };
251
- } else if (msg.content[0]?.type === "file") {
252
- const filePart = msg.content[0];
253
- const fileDataBase64 = getFileData(filePart, this.logger);
256
+ return {
257
+ type: "media",
258
+ data: mediaData,
259
+ mediaType: part.mimeType || "image/jpeg"
260
+ };
261
+ }
262
+ if (part.type === "file") {
263
+ const data = getFileData(part, this.logger);
264
+ const mediaData = normalizeToolMediaData(data);
265
+ if (!mediaData) {
266
+ return { type: "text", text: `Attached file: ${data}` };
267
+ }
268
+ return {
269
+ type: "media",
270
+ data: mediaData,
271
+ mediaType: part.mimeType
272
+ };
273
+ }
274
+ if (part.type === "resource") {
275
+ return { type: "text", text: `${part.name}: ${part.uri}` };
276
+ }
277
+ return null;
278
+ }).filter((part) => part !== null);
279
+ if (content.some((part) => part.type === "media")) {
254
280
  toolResultPart = {
255
281
  type: "tool-result",
256
282
  toolCallId: msg.toolCallId,
257
283
  toolName: msg.name,
258
284
  output: {
259
285
  type: "content",
260
- value: [
261
- {
262
- type: "media",
263
- data: fileDataBase64,
264
- mediaType: filePart.mimeType
265
- }
266
- ]
286
+ value: content
267
287
  }
268
288
  };
269
289
  } else {
270
- const textContent = Array.isArray(msg.content) ? msg.content.map((part) => part.type === "text" ? part.text : JSON.stringify(part)).join("\n") : String(msg.content);
271
290
  toolResultPart = {
272
291
  type: "tool-result",
273
292
  toolCallId: msg.toolCallId,
274
293
  toolName: msg.name,
275
294
  output: {
276
295
  type: "text",
277
- value: textContent
296
+ value: content.filter((part) => part.type === "text").map((part) => part.text).join("\n") || "[empty result]"
278
297
  }
279
298
  };
280
299
  }