@mastra/core 0.15.3-alpha.1 → 0.15.3-alpha.3

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 (131) hide show
  1. package/dist/agent/index.cjs +11 -11
  2. package/dist/agent/index.js +2 -2
  3. package/dist/agent/input-processor/index.cjs +6 -6
  4. package/dist/agent/input-processor/index.js +1 -1
  5. package/dist/agent/message-list/index.d.ts +5 -1
  6. package/dist/agent/message-list/index.d.ts.map +1 -1
  7. package/dist/agent/message-list/prompt/convert-file.d.ts +7 -0
  8. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -0
  9. package/dist/agent/message-list/prompt/download-assets.d.ts +15 -0
  10. package/dist/agent/message-list/prompt/download-assets.d.ts.map +1 -0
  11. package/dist/{chunk-6VROHRAR.cjs → chunk-24TFSB6Z.cjs} +30 -7
  12. package/dist/chunk-24TFSB6Z.cjs.map +1 -0
  13. package/dist/{chunk-BRNBKCHE.js → chunk-5TFCIXWE.js} +10 -8
  14. package/dist/chunk-5TFCIXWE.js.map +1 -0
  15. package/dist/{chunk-TINMY4WA.js → chunk-APVV75XG.js} +3 -3
  16. package/dist/{chunk-TINMY4WA.js.map → chunk-APVV75XG.js.map} +1 -1
  17. package/dist/{chunk-HRDADYVX.cjs → chunk-AYFN43FB.cjs} +4 -4
  18. package/dist/{chunk-HRDADYVX.cjs.map → chunk-AYFN43FB.cjs.map} +1 -1
  19. package/dist/{chunk-FGCA6CCM.js → chunk-BGOXFBFK.js} +295 -275
  20. package/dist/chunk-BGOXFBFK.js.map +1 -0
  21. package/dist/{chunk-XEY3CWQW.cjs → chunk-D2GH2HAK.cjs} +9 -9
  22. package/dist/{chunk-XEY3CWQW.cjs.map → chunk-D2GH2HAK.cjs.map} +1 -1
  23. package/dist/{chunk-6Z7D7CA3.cjs → chunk-DJKIK6ZB.cjs} +326 -306
  24. package/dist/chunk-DJKIK6ZB.cjs.map +1 -0
  25. package/dist/{chunk-XOZ737RO.js → chunk-EMAAAVRA.js} +3 -3
  26. package/dist/{chunk-XOZ737RO.js.map → chunk-EMAAAVRA.js.map} +1 -1
  27. package/dist/chunk-GOG77M6R.js +103 -0
  28. package/dist/chunk-GOG77M6R.js.map +1 -0
  29. package/dist/{chunk-UG3KS3XV.cjs → chunk-HXEHQLBD.cjs} +4 -4
  30. package/dist/{chunk-UG3KS3XV.cjs.map → chunk-HXEHQLBD.cjs.map} +1 -1
  31. package/dist/{chunk-MKWJKRSX.js → chunk-MEROMP3Z.js} +3 -3
  32. package/dist/{chunk-MKWJKRSX.js.map → chunk-MEROMP3Z.js.map} +1 -1
  33. package/dist/{chunk-C5C4PN54.js → chunk-O7IQL4DX.js} +288 -5
  34. package/dist/chunk-O7IQL4DX.js.map +1 -0
  35. package/dist/{chunk-VBAWR62U.cjs → chunk-QHEB6ZLO.cjs} +13 -11
  36. package/dist/chunk-QHEB6ZLO.cjs.map +1 -0
  37. package/dist/{chunk-5MCNXLGT.js → chunk-TQRLZH64.js} +4 -4
  38. package/dist/{chunk-5MCNXLGT.js.map → chunk-TQRLZH64.js.map} +1 -1
  39. package/dist/{chunk-QA2TWVUS.cjs → chunk-TWNFR6MQ.cjs} +288 -5
  40. package/dist/chunk-TWNFR6MQ.cjs.map +1 -0
  41. package/dist/{chunk-CDLIHAX2.cjs → chunk-UGN2UU3K.cjs} +4 -4
  42. package/dist/{chunk-CDLIHAX2.cjs.map → chunk-UGN2UU3K.cjs.map} +1 -1
  43. package/dist/{chunk-E3LAPNKY.js → chunk-WUQSFK7W.js} +4 -4
  44. package/dist/{chunk-E3LAPNKY.js.map → chunk-WUQSFK7W.js.map} +1 -1
  45. package/dist/{chunk-QBNRMJAN.cjs → chunk-YTVX52NU.cjs} +6 -6
  46. package/dist/{chunk-QBNRMJAN.cjs.map → chunk-YTVX52NU.cjs.map} +1 -1
  47. package/dist/chunk-ZAJTIZZF.cjs +108 -0
  48. package/dist/chunk-ZAJTIZZF.cjs.map +1 -0
  49. package/dist/{chunk-FLXWZUIG.js → chunk-ZC64CG7J.js} +26 -4
  50. package/dist/chunk-ZC64CG7J.js.map +1 -0
  51. package/dist/index.cjs +47 -43
  52. package/dist/index.js +10 -10
  53. package/dist/integration/index.cjs +3 -3
  54. package/dist/integration/index.js +1 -1
  55. package/dist/llm/model/model.d.ts.map +1 -1
  56. package/dist/llm/model/model.loop.d.ts +1 -1
  57. package/dist/llm/model/model.loop.d.ts.map +1 -1
  58. package/dist/loop/index.cjs +2 -2
  59. package/dist/loop/index.js +1 -1
  60. package/dist/loop/types.d.ts +2 -0
  61. package/dist/loop/types.d.ts.map +1 -1
  62. package/dist/loop/workflow/llm-execution.d.ts +1 -1
  63. package/dist/loop/workflow/llm-execution.d.ts.map +1 -1
  64. package/dist/mastra/index.cjs +2 -2
  65. package/dist/mastra/index.js +1 -1
  66. package/dist/memory/index.cjs +4 -4
  67. package/dist/memory/index.js +1 -1
  68. package/dist/network/index.cjs +4 -4
  69. package/dist/network/index.js +2 -2
  70. package/dist/network/vNext/index.cjs +14 -14
  71. package/dist/network/vNext/index.js +2 -2
  72. package/dist/processors/index.cjs +8 -8
  73. package/dist/processors/index.js +2 -2
  74. package/dist/relevance/index.cjs +4 -4
  75. package/dist/relevance/index.js +1 -1
  76. package/dist/scores/index.cjs +5 -5
  77. package/dist/scores/index.js +1 -1
  78. package/dist/storage/index.cjs +3 -3
  79. package/dist/storage/index.js +1 -1
  80. package/dist/stream/aisdk/v5/compat/consume-stream.d.ts +8 -0
  81. package/dist/stream/aisdk/v5/compat/consume-stream.d.ts.map +1 -0
  82. package/dist/stream/aisdk/v5/compat/content.d.ts +7 -0
  83. package/dist/stream/aisdk/v5/compat/content.d.ts.map +1 -0
  84. package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts +23 -0
  85. package/dist/stream/aisdk/v5/compat/delayed-promise.d.ts.map +1 -0
  86. package/dist/stream/aisdk/v5/compat/index.d.ts +8 -0
  87. package/dist/stream/aisdk/v5/compat/index.d.ts.map +1 -0
  88. package/dist/stream/aisdk/v5/compat/media.d.ts +91 -0
  89. package/dist/stream/aisdk/v5/compat/media.d.ts.map +1 -0
  90. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts +11 -0
  91. package/dist/stream/aisdk/v5/compat/prepare-tools.d.ts.map +1 -0
  92. package/dist/stream/aisdk/v5/compat/ui-message.d.ts +20 -0
  93. package/dist/stream/aisdk/v5/compat/ui-message.d.ts.map +1 -0
  94. package/dist/stream/aisdk/v5/compat/validation.d.ts +17 -0
  95. package/dist/stream/aisdk/v5/compat/validation.d.ts.map +1 -0
  96. package/dist/stream/aisdk/v5/output.d.ts +1 -1
  97. package/dist/stream/base/output.d.ts +1 -1
  98. package/dist/stream/index.cjs +3 -3
  99. package/dist/stream/index.js +1 -1
  100. package/dist/test-utils/llm-mock.cjs +2 -2
  101. package/dist/test-utils/llm-mock.js +1 -1
  102. package/dist/tools/index.cjs +4 -4
  103. package/dist/tools/index.js +1 -1
  104. package/dist/tools/is-vercel-tool.cjs +2 -2
  105. package/dist/tools/is-vercel-tool.js +1 -1
  106. package/dist/tools/validation.d.ts.map +1 -1
  107. package/dist/utils.cjs +20 -16
  108. package/dist/utils.d.ts +9 -0
  109. package/dist/utils.d.ts.map +1 -1
  110. package/dist/utils.js +1 -1
  111. package/dist/workflows/evented/index.cjs +10 -10
  112. package/dist/workflows/evented/index.js +1 -1
  113. package/dist/workflows/index.cjs +10 -10
  114. package/dist/workflows/index.js +1 -1
  115. package/dist/workflows/legacy/index.cjs +22 -22
  116. package/dist/workflows/legacy/index.js +1 -1
  117. package/package.json +3 -3
  118. package/dist/chunk-6VROHRAR.cjs.map +0 -1
  119. package/dist/chunk-6Z7D7CA3.cjs.map +0 -1
  120. package/dist/chunk-BRNBKCHE.js.map +0 -1
  121. package/dist/chunk-C5C4PN54.js.map +0 -1
  122. package/dist/chunk-E4XQMNEI.cjs +0 -77
  123. package/dist/chunk-E4XQMNEI.cjs.map +0 -1
  124. package/dist/chunk-FGCA6CCM.js.map +0 -1
  125. package/dist/chunk-FLXWZUIG.js.map +0 -1
  126. package/dist/chunk-IVGAHFAJ.js +0 -72
  127. package/dist/chunk-IVGAHFAJ.js.map +0 -1
  128. package/dist/chunk-QA2TWVUS.cjs.map +0 -1
  129. package/dist/chunk-VBAWR62U.cjs.map +0 -1
  130. package/dist/stream/aisdk/v5/compat.d.ts +0 -182
  131. package/dist/stream/aisdk/v5/compat.d.ts.map +0 -1
@@ -1,77 +0,0 @@
1
- 'use strict';
2
-
3
- // src/tools/validation.ts
4
- function validateToolInput(schema, input, toolId) {
5
- if (!schema || !("safeParse" in schema)) {
6
- return { data: input };
7
- }
8
- let actualInput = input;
9
- if (input && typeof input === "object" && "context" in input) {
10
- actualInput = input.context;
11
- }
12
- if (actualInput && typeof actualInput === "object" && "inputData" in actualInput) {
13
- actualInput = actualInput.inputData;
14
- }
15
- const validation = schema.safeParse(actualInput);
16
- if (!validation.success) {
17
- const errorMessages = validation.error.issues.map((e) => `- ${e.path?.join(".") || "root"}: ${e.message}`).join("\n");
18
- const error = {
19
- error: true,
20
- message: `Tool validation failed${toolId ? ` for ${toolId}` : ""}. Please fix the following errors and try again:
21
- ${errorMessages}
22
-
23
- Provided arguments: ${JSON.stringify(actualInput, null, 2)}`,
24
- validationErrors: validation.error.format()
25
- };
26
- return { data: input, error };
27
- }
28
- if (input && typeof input === "object" && "context" in input) {
29
- if (input.context && typeof input.context === "object" && "inputData" in input.context) {
30
- return { data: { ...input, context: { ...input.context, inputData: validation.data } } };
31
- }
32
- return { data: { ...input, context: validation.data } };
33
- }
34
- return { data: validation.data };
35
- }
36
-
37
- // src/tools/tool.ts
38
- var Tool = class {
39
- id;
40
- description;
41
- inputSchema;
42
- outputSchema;
43
- execute;
44
- mastra;
45
- constructor(opts) {
46
- this.id = opts.id;
47
- this.description = opts.description;
48
- this.inputSchema = opts.inputSchema;
49
- this.outputSchema = opts.outputSchema;
50
- this.mastra = opts.mastra;
51
- if (opts.execute) {
52
- const originalExecute = opts.execute;
53
- this.execute = async (context, options) => {
54
- const { data, error } = validateToolInput(this.inputSchema, context, this.id);
55
- if (error) {
56
- return error;
57
- }
58
- return originalExecute(data, options);
59
- };
60
- }
61
- }
62
- };
63
- function createTool(opts) {
64
- return new Tool(opts);
65
- }
66
-
67
- // src/tools/toolchecks.ts
68
- function isVercelTool(tool) {
69
- return !!(tool && !(tool instanceof Tool) && "parameters" in tool);
70
- }
71
-
72
- exports.Tool = Tool;
73
- exports.createTool = createTool;
74
- exports.isVercelTool = isVercelTool;
75
- exports.validateToolInput = validateToolInput;
76
- //# sourceMappingURL=chunk-E4XQMNEI.cjs.map
77
- //# sourceMappingURL=chunk-E4XQMNEI.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/tools/validation.ts","../src/tools/tool.ts","../src/tools/toolchecks.ts"],"names":[],"mappings":"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","file":"chunk-E4XQMNEI.cjs","sourcesContent":["import type { z } from 'zod';\n\nexport interface ValidationError<T = any> {\n error: true;\n message: string;\n validationErrors: z.ZodFormattedError<T>;\n}\n\n/**\n * Validates input against a Zod schema and returns a structured error if validation fails\n * @param schema The Zod schema to validate against\n * @param input The input to validate\n * @param toolId Optional tool ID for better error messages\n * @returns The validation error object if validation fails, undefined if successful\n */\nexport function validateToolInput<T = any>(\n schema: z.ZodSchema<T> | undefined,\n input: unknown,\n toolId?: string,\n): { data: T | unknown; error?: ValidationError<T> } {\n if (!schema || !('safeParse' in schema)) {\n return { data: input };\n }\n\n // Extract the actual input data from various context formats\n let actualInput = input;\n\n // Handle ToolExecutionContext format { context: data, ... }\n if (input && typeof input === 'object' && 'context' in input) {\n actualInput = (input as any).context;\n }\n\n // Handle StepExecutionContext format { context: { inputData: data, ... }, ... }\n if (actualInput && typeof actualInput === 'object' && 'inputData' in actualInput) {\n actualInput = (actualInput as any).inputData;\n }\n\n const validation = schema.safeParse(actualInput);\n if (!validation.success) {\n const errorMessages = validation.error.issues\n .map((e: z.ZodIssue) => `- ${e.path?.join('.') || 'root'}: ${e.message}`)\n .join('\\n');\n\n const error: ValidationError<T> = {\n error: true,\n message: `Tool validation failed${toolId ? ` for ${toolId}` : ''}. Please fix the following errors and try again:\\n${errorMessages}\\n\\nProvided arguments: ${JSON.stringify(actualInput, null, 2)}`,\n validationErrors: validation.error.format(),\n };\n\n return { data: input, error };\n }\n\n // Return the original input structure with validated data in the right place\n if (input && typeof input === 'object' && 'context' in input) {\n if ((input as any).context && typeof (input as any).context === 'object' && 'inputData' in (input as any).context) {\n return { data: { ...input, context: { ...(input as any).context, inputData: validation.data } } };\n }\n return { data: { ...input, context: validation.data } };\n }\n\n return { data: validation.data };\n}\n","import type { ToolExecutionOptions } from 'ai';\nimport type { z } from 'zod';\n\nimport type { Mastra } from '../mastra';\nimport type { ToolAction, ToolExecutionContext } from './types';\nimport { validateToolInput } from './validation';\n\nexport class Tool<\n TSchemaIn extends z.ZodSchema | undefined = undefined,\n TSchemaOut extends z.ZodSchema | undefined = undefined,\n TContext extends ToolExecutionContext<TSchemaIn> = ToolExecutionContext<TSchemaIn>,\n> implements ToolAction<TSchemaIn, TSchemaOut, TContext>\n{\n id: string;\n description: string;\n inputSchema?: TSchemaIn;\n outputSchema?: TSchemaOut;\n execute?: ToolAction<TSchemaIn, TSchemaOut, TContext>['execute'];\n mastra?: Mastra;\n\n constructor(opts: ToolAction<TSchemaIn, TSchemaOut, TContext>) {\n this.id = opts.id;\n this.description = opts.description;\n this.inputSchema = opts.inputSchema;\n this.outputSchema = opts.outputSchema;\n this.mastra = opts.mastra;\n\n // Wrap the execute function with validation if it exists\n if (opts.execute) {\n const originalExecute = opts.execute;\n this.execute = async (context: TContext, options?: ToolExecutionOptions) => {\n // Validate input if schema exists\n const { data, error } = validateToolInput(this.inputSchema, context, this.id);\n if (error) {\n return error as any;\n }\n\n return originalExecute(data as TContext, options);\n };\n }\n }\n}\n\nexport function createTool<\n TSchemaIn extends z.ZodSchema | undefined = undefined,\n TSchemaOut extends z.ZodSchema | undefined = undefined,\n TContext extends ToolExecutionContext<TSchemaIn> = ToolExecutionContext<TSchemaIn>,\n TExecute extends ToolAction<TSchemaIn, TSchemaOut, TContext>['execute'] = ToolAction<\n TSchemaIn,\n TSchemaOut,\n TContext\n >['execute'],\n>(\n opts: ToolAction<TSchemaIn, TSchemaOut, TContext> & {\n execute?: TExecute;\n },\n): [TSchemaIn, TSchemaOut, TExecute] extends [z.ZodSchema, z.ZodSchema, Function]\n ? Tool<TSchemaIn, TSchemaOut, TContext> & {\n inputSchema: TSchemaIn;\n outputSchema: TSchemaOut;\n execute: (context: TContext) => Promise<any>;\n }\n : Tool<TSchemaIn, TSchemaOut, TContext> {\n return new Tool(opts) as any;\n}\n","import { Tool } from './tool';\nimport type { ToolToConvert } from './tool-builder/builder';\nimport type { VercelTool } from './types';\n\n/**\n * Checks if a tool is a Vercel Tool\n * @param tool - The tool to check\n * @returns True if the tool is a Vercel Tool, false otherwise\n */\nexport function isVercelTool(tool?: ToolToConvert): tool is VercelTool {\n // Checks if this tool is not an instance of Tool\n return !!(tool && !(tool instanceof Tool) && 'parameters' in tool);\n}\n"]}