@mastra/core 0.16.2 → 0.16.3-alpha.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 (169) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/dist/agent/agent.d.ts +316 -0
  3. package/dist/agent/agent.d.ts.map +1 -0
  4. package/dist/agent/agent.types.d.ts +19 -2
  5. package/dist/agent/agent.types.d.ts.map +1 -1
  6. package/dist/agent/index.cjs +11 -11
  7. package/dist/agent/index.d.ts +4 -313
  8. package/dist/agent/index.d.ts.map +1 -1
  9. package/dist/agent/index.js +2 -2
  10. package/dist/agent/input-processor/index.cjs +6 -6
  11. package/dist/agent/input-processor/index.js +1 -1
  12. package/dist/agent/types.d.ts +8 -1
  13. package/dist/agent/types.d.ts.map +1 -1
  14. package/dist/ai-tracing/base.d.ts.map +1 -1
  15. package/dist/ai-tracing/context.d.ts.map +1 -1
  16. package/dist/ai-tracing/default.d.ts +1 -2
  17. package/dist/ai-tracing/default.d.ts.map +1 -1
  18. package/dist/ai-tracing/exporters/cloud.d.ts +32 -0
  19. package/dist/ai-tracing/exporters/cloud.d.ts.map +1 -0
  20. package/dist/ai-tracing/exporters/default.d.ts.map +1 -1
  21. package/dist/ai-tracing/exporters/index.d.ts +2 -0
  22. package/dist/ai-tracing/exporters/index.d.ts.map +1 -1
  23. package/dist/ai-tracing/index.cjs +36 -40
  24. package/dist/ai-tracing/index.js +1 -1
  25. package/dist/ai-tracing/no-op.d.ts +1 -0
  26. package/dist/ai-tracing/no-op.d.ts.map +1 -1
  27. package/dist/ai-tracing/registry.d.ts.map +1 -1
  28. package/dist/ai-tracing/types.d.ts +39 -14
  29. package/dist/ai-tracing/types.d.ts.map +1 -1
  30. package/dist/ai-tracing/utils.d.ts +29 -19
  31. package/dist/ai-tracing/utils.d.ts.map +1 -1
  32. package/dist/{chunk-JLVFFZT7.cjs → chunk-2LEMTQEN.cjs} +4 -4
  33. package/dist/{chunk-JLVFFZT7.cjs.map → chunk-2LEMTQEN.cjs.map} +1 -1
  34. package/dist/{chunk-6RVOPJVP.cjs → chunk-37GX66ZQ.cjs} +7 -7
  35. package/dist/{chunk-6RVOPJVP.cjs.map → chunk-37GX66ZQ.cjs.map} +1 -1
  36. package/dist/{chunk-IMDDMIVR.cjs → chunk-3CYEVZGC.cjs} +6 -6
  37. package/dist/{chunk-IMDDMIVR.cjs.map → chunk-3CYEVZGC.cjs.map} +1 -1
  38. package/dist/{chunk-P67M4R6G.js → chunk-46ZMVRXN.js} +5 -5
  39. package/dist/{chunk-P67M4R6G.js.map → chunk-46ZMVRXN.js.map} +1 -1
  40. package/dist/chunk-4WQYXT2I.cjs +12 -0
  41. package/dist/chunk-4WQYXT2I.cjs.map +1 -0
  42. package/dist/{chunk-YYRE76UM.js → chunk-6ILOFPTU.js} +4 -4
  43. package/dist/{chunk-YYRE76UM.js.map → chunk-6ILOFPTU.js.map} +1 -1
  44. package/dist/{chunk-YI3AIJJL.js → chunk-7ARB2XCY.js} +4 -4
  45. package/dist/chunk-7ARB2XCY.js.map +1 -0
  46. package/dist/{chunk-SJO2HEVU.cjs → chunk-AV5QBG6P.cjs} +185 -125
  47. package/dist/chunk-AV5QBG6P.cjs.map +1 -0
  48. package/dist/{chunk-RVNDGKE5.js → chunk-BE6HGZV7.js} +3 -3
  49. package/dist/{chunk-RVNDGKE5.js.map → chunk-BE6HGZV7.js.map} +1 -1
  50. package/dist/chunk-CM4UEIAB.cjs +808 -0
  51. package/dist/chunk-CM4UEIAB.cjs.map +1 -0
  52. package/dist/{chunk-DUABZASJ.js → chunk-DWGGSV3L.js} +4 -4
  53. package/dist/{chunk-DUABZASJ.js.map → chunk-DWGGSV3L.js.map} +1 -1
  54. package/dist/chunk-HHRWDBFK.js +737 -0
  55. package/dist/chunk-HHRWDBFK.js.map +1 -0
  56. package/dist/{chunk-D3UG2YLU.cjs → chunk-I77GWNQI.cjs} +5 -5
  57. package/dist/chunk-I77GWNQI.cjs.map +1 -0
  58. package/dist/chunk-PJKCPRYF.js +3 -0
  59. package/dist/chunk-PJKCPRYF.js.map +1 -0
  60. package/dist/{chunk-ZIDWSQFD.cjs → chunk-PPMRSBCA.cjs} +8 -8
  61. package/dist/{chunk-ZIDWSQFD.cjs.map → chunk-PPMRSBCA.cjs.map} +1 -1
  62. package/dist/{chunk-YBKHXKRR.js → chunk-SLQGF75B.js} +3 -3
  63. package/dist/{chunk-YBKHXKRR.js.map → chunk-SLQGF75B.js.map} +1 -1
  64. package/dist/{chunk-OYHHJUTH.cjs → chunk-VK7LOYGD.cjs} +12 -12
  65. package/dist/{chunk-OYHHJUTH.cjs.map → chunk-VK7LOYGD.cjs.map} +1 -1
  66. package/dist/{chunk-UGCG7DI3.cjs → chunk-VVUCWRGD.cjs} +855 -87
  67. package/dist/chunk-VVUCWRGD.cjs.map +1 -0
  68. package/dist/{chunk-2NKNTPFR.js → chunk-W5K2KOZX.js} +834 -85
  69. package/dist/chunk-W5K2KOZX.js.map +1 -0
  70. package/dist/{chunk-BQ43NQXK.js → chunk-WAN6BRTN.js} +182 -122
  71. package/dist/chunk-WAN6BRTN.js.map +1 -0
  72. package/dist/index.cjs +38 -38
  73. package/dist/index.js +7 -7
  74. package/dist/llm/model/base.types.d.ts +6 -4
  75. package/dist/llm/model/base.types.d.ts.map +1 -1
  76. package/dist/llm/model/model.d.ts +0 -2
  77. package/dist/llm/model/model.d.ts.map +1 -1
  78. package/dist/llm/model/model.loop.d.ts.map +1 -1
  79. package/dist/loop/index.cjs +2 -2
  80. package/dist/loop/index.js +1 -1
  81. package/dist/loop/loop.d.ts.map +1 -1
  82. package/dist/loop/network/index.d.ts +139 -0
  83. package/dist/loop/network/index.d.ts.map +1 -0
  84. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  85. package/dist/loop/types.d.ts +2 -0
  86. package/dist/loop/types.d.ts.map +1 -1
  87. package/dist/loop/workflow/llm-execution.d.ts +5 -5
  88. package/dist/loop/workflow/llm-execution.d.ts.map +1 -1
  89. package/dist/loop/workflow/outer-llm-step.d.ts +2 -2
  90. package/dist/loop/workflow/schema.d.ts +12 -12
  91. package/dist/loop/workflow/stream.d.ts.map +1 -1
  92. package/dist/loop/workflow/tool-call-step.d.ts +10 -10
  93. package/dist/mastra/index.cjs +2 -2
  94. package/dist/mastra/index.js +1 -1
  95. package/dist/memory/index.cjs +4 -4
  96. package/dist/memory/index.js +1 -1
  97. package/dist/network/index.cjs +6 -3
  98. package/dist/network/index.cjs.map +1 -1
  99. package/dist/network/index.js +5 -2
  100. package/dist/network/index.js.map +1 -1
  101. package/dist/network/network.d.ts.map +1 -1
  102. package/dist/network/vNext/index.cjs +32 -30
  103. package/dist/network/vNext/index.cjs.map +1 -1
  104. package/dist/network/vNext/index.d.ts +7 -7
  105. package/dist/network/vNext/index.d.ts.map +1 -1
  106. package/dist/network/vNext/index.js +5 -3
  107. package/dist/network/vNext/index.js.map +1 -1
  108. package/dist/processors/index.cjs +8 -8
  109. package/dist/processors/index.js +2 -2
  110. package/dist/processors/runner.d.ts +2 -2
  111. package/dist/processors/runner.d.ts.map +1 -1
  112. package/dist/relevance/index.cjs +4 -4
  113. package/dist/relevance/index.js +1 -1
  114. package/dist/scores/index.cjs +8 -8
  115. package/dist/scores/index.js +1 -1
  116. package/dist/scores/types.d.ts +2 -2
  117. package/dist/storage/index.cjs +3 -3
  118. package/dist/storage/index.js +1 -1
  119. package/dist/stream/MastraWorkflowStream.d.ts +1 -1
  120. package/dist/stream/base/output-format-handlers.d.ts.map +1 -1
  121. package/dist/stream/base/output.d.ts +13 -3
  122. package/dist/stream/base/output.d.ts.map +1 -1
  123. package/dist/stream/base/schema.d.ts +3 -2
  124. package/dist/stream/base/schema.d.ts.map +1 -1
  125. package/dist/stream/index.cjs +3 -3
  126. package/dist/stream/index.d.ts +1 -1
  127. package/dist/stream/index.d.ts.map +1 -1
  128. package/dist/stream/index.js +1 -1
  129. package/dist/stream/types.d.ts +139 -1
  130. package/dist/stream/types.d.ts.map +1 -1
  131. package/dist/test-utils/llm-mock.cjs +2 -2
  132. package/dist/test-utils/llm-mock.js +1 -1
  133. package/dist/utils.cjs +17 -17
  134. package/dist/utils.js +1 -1
  135. package/dist/workflows/default.d.ts +3 -2
  136. package/dist/workflows/default.d.ts.map +1 -1
  137. package/dist/workflows/evented/index.cjs +10 -10
  138. package/dist/workflows/evented/index.js +1 -1
  139. package/dist/workflows/execution-engine.d.ts +2 -2
  140. package/dist/workflows/execution-engine.d.ts.map +1 -1
  141. package/dist/workflows/index.cjs +10 -10
  142. package/dist/workflows/index.js +1 -1
  143. package/dist/workflows/legacy/index.cjs +22 -22
  144. package/dist/workflows/legacy/index.js +1 -1
  145. package/dist/workflows/legacy/machine.d.ts +1 -1
  146. package/dist/workflows/legacy/workflow.d.ts +1 -1
  147. package/dist/workflows/types.d.ts +5 -4
  148. package/dist/workflows/types.d.ts.map +1 -1
  149. package/dist/workflows/workflow.d.ts +8 -4
  150. package/dist/workflows/workflow.d.ts.map +1 -1
  151. package/dist/zod-to-json.cjs +2 -2
  152. package/dist/zod-to-json.cjs.map +1 -1
  153. package/dist/zod-to-json.js +1 -1
  154. package/dist/zod-to-json.js.map +1 -1
  155. package/package.json +5 -5
  156. package/dist/chunk-2NKNTPFR.js.map +0 -1
  157. package/dist/chunk-3MSZBGO3.js +0 -15991
  158. package/dist/chunk-3MSZBGO3.js.map +0 -1
  159. package/dist/chunk-BJASJTXK.cjs +0 -16061
  160. package/dist/chunk-BJASJTXK.cjs.map +0 -1
  161. package/dist/chunk-BQ43NQXK.js.map +0 -1
  162. package/dist/chunk-D3UG2YLU.cjs.map +0 -1
  163. package/dist/chunk-KB4IEMPV.cjs +0 -548
  164. package/dist/chunk-KB4IEMPV.cjs.map +0 -1
  165. package/dist/chunk-SJO2HEVU.cjs.map +0 -1
  166. package/dist/chunk-TDLB5JKT.js +0 -527
  167. package/dist/chunk-TDLB5JKT.js.map +0 -1
  168. package/dist/chunk-UGCG7DI3.cjs.map +0 -1
  169. package/dist/chunk-YI3AIJJL.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/llm/model/model.ts"],"names":["MastraBase","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","isZodType","z","zodToJsonSchema","jsonSchema","MastraError","delay","Output","generateText","generateObject","streamText","streamObject"],"mappings":"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","file":"chunk-SJO2HEVU.cjs","sourcesContent":["import type { LanguageModelV1FinishReason, LanguageModelV1StreamPart } from '@ai-sdk/provider';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n} from '@mastra/schema-compat';\nimport { zodToJsonSchema } from '@mastra/schema-compat/zod-to-json';\nimport type { CoreMessage, LanguageModel, Schema, StreamObjectOnFinishCallback, StreamTextOnFinishCallback } from 'ai';\nimport { generateObject, generateText, jsonSchema, Output, streamObject, streamText } from 'ai';\nimport type { JSONSchema7 } from 'json-schema';\nimport type { ZodSchema } from 'zod';\nimport { z } from 'zod';\nimport type { MastraPrimitives } from '../../action';\nimport { AISpanType } from '../../ai-tracing';\nimport type { AnyAISpan, TracingContext } from '../../ai-tracing';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { delay, isZodType } from '../../utils';\n\nimport type {\n GenerateObjectWithMessagesArgs,\n GenerateTextResult,\n GenerateObjectResult,\n GenerateTextWithMessagesArgs,\n OriginalGenerateTextOptions,\n ToolSet,\n GenerateReturn,\n OriginalGenerateObjectOptions,\n StreamTextWithMessagesArgs,\n StreamTextResult,\n OriginalStreamTextOptions,\n StreamObjectWithMessagesArgs,\n OriginalStreamObjectOptions,\n StreamObjectResult,\n StreamReturn,\n} from './base.types';\nimport type { inferOutput } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n\n constructor({ model, mastra }: { model: LanguageModel; mastra?: Mastra }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n\n if (mastra) {\n this.#mastra = mastra;\n if (mastra.getLogger()) {\n this.__setLogger(this.#mastra.getLogger());\n }\n }\n }\n\n __registerPrimitives(p: MastraPrimitives) {\n if (p.telemetry) {\n this.__setTelemetry(p.telemetry);\n }\n\n if (p.logger) {\n this.__setLogger(p.logger);\n }\n }\n\n __registerMastra(p: Mastra) {\n this.#mastra = p;\n }\n\n getProvider() {\n return this.#model.provider;\n }\n\n getModelId() {\n return this.#model.modelId;\n }\n\n getModel() {\n return this.#model;\n }\n\n private _applySchemaCompat(schema: ZodSchema | JSONSchema7): Schema {\n const model = this.#model;\n\n const schemaCompatLayers = [];\n\n if (model) {\n const modelInfo = {\n modelId: model.modelId,\n supportsStructuredOutputs: model.supportsStructuredOutputs ?? false,\n provider: model.provider,\n };\n schemaCompatLayers.push(\n new OpenAIReasoningSchemaCompatLayer(modelInfo),\n new OpenAISchemaCompatLayer(modelInfo),\n new GoogleSchemaCompatLayer(modelInfo),\n new AnthropicSchemaCompatLayer(modelInfo),\n new DeepSeekSchemaCompatLayer(modelInfo),\n new MetaSchemaCompatLayer(modelInfo),\n );\n }\n\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\n });\n }\n\n private _startAISpan(params: {\n model: LanguageModel;\n tracingContext: TracingContext;\n name: string;\n streaming: boolean;\n options: any;\n }): AnyAISpan | undefined {\n const { model, tracingContext, name, streaming, options } = params;\n return tracingContext.currentSpan?.createChildSpan({\n name,\n type: AISpanType.LLM_GENERATION,\n input: options.prompt,\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: options.temperature,\n maxTokens: options.maxTokens,\n topP: options.topP,\n frequencyPenalty: options.frequencyPenalty,\n presencePenalty: options.presencePenalty,\n stop: options.stop,\n },\n streaming,\n },\n });\n }\n\n private _wrapModel(model: LanguageModel, tracingContext: TracingContext): LanguageModel {\n if (!tracingContext.currentSpan) {\n return model;\n }\n\n const wrappedDoGenerate = async (options: any) => {\n const llmSpan = this._startAISpan({\n model,\n tracingContext,\n name: `llm generate: '${model.modelId}'`,\n streaming: false,\n options,\n });\n\n try {\n const result = await model.doGenerate(options);\n\n llmSpan?.end({\n output: result.text,\n attributes: {\n usage: result.usage\n ? {\n promptTokens: result.usage.promptTokens,\n completionTokens: result.usage.completionTokens,\n }\n : undefined,\n },\n });\n return result;\n } catch (error) {\n llmSpan?.error({ error: error as Error });\n throw error;\n }\n };\n\n const wrappedDoStream = async (options: any) => {\n const llmSpan = this._startAISpan({\n model,\n tracingContext,\n name: `llm stream: '${model.modelId}'`,\n streaming: true,\n options,\n });\n\n try {\n const result = await model.doStream(options);\n\n // Create a wrapped stream that tracks the final result\n const originalStream = result.stream;\n let finishReason: LanguageModelV1FinishReason;\n let finalUsage: any = null;\n let textOutput: string = '';\n\n const wrappedStream = originalStream.pipeThrough(\n new TransformStream({\n // this gets called on each chunk output\n transform(chunk: LanguageModelV1StreamPart, controller) {\n //TODO: for tracing, do we want to do anything with the other chunk types?\n switch (chunk.type) {\n case 'text-delta':\n textOutput += chunk.textDelta;\n break;\n case 'finish':\n finishReason = chunk.finishReason;\n finalUsage = chunk.usage;\n break;\n }\n controller.enqueue(chunk);\n },\n // this gets called at the end of the stream\n flush() {\n llmSpan?.end({\n attributes: {\n output: textOutput,\n usage: finalUsage\n ? {\n promptTokens: finalUsage.promptTokens,\n completionTokens: finalUsage.completionTokens,\n totalTokens: finalUsage.totalTokens,\n }\n : undefined,\n },\n metadata: {\n finishReason,\n },\n });\n },\n }),\n );\n\n return {\n ...result,\n stream: wrappedStream,\n };\n } catch (error) {\n llmSpan?.error({ error: error as Error });\n throw error;\n }\n };\n\n // Create a proper proxy to preserve all model properties including getters/setters\n return new Proxy(model, {\n get(target, prop) {\n if (prop === 'doGenerate') return wrappedDoGenerate;\n if (prop === 'doStream') return wrappedDoStream;\n return target[prop as keyof typeof target];\n },\n });\n }\n\n async __text<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined>({\n runId,\n messages,\n maxSteps = 5,\n tools = {},\n temperature,\n toolChoice = 'auto',\n onStepFinish,\n experimental_output,\n telemetry,\n threadId,\n resourceId,\n runtimeContext,\n tracingContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n\n this.logger.debug(`[LLM] - Generating text`, {\n runId,\n messages,\n maxSteps,\n threadId,\n resourceId,\n tools: Object.keys(tools),\n });\n\n let schema: z.ZodType<inferOutput<Z>> | Schema<inferOutput<Z>> | undefined = undefined;\n\n if (experimental_output) {\n this.logger.debug('[LLM] - Using experimental output', {\n runId,\n });\n\n if (isZodType(experimental_output)) {\n schema = experimental_output as z.ZodType<inferOutput<Z>>;\n if (schema instanceof z.ZodArray) {\n schema = schema._def.type as z.ZodType<inferOutput<Z>>;\n }\n\n let jsonSchemaToUse;\n jsonSchemaToUse = zodToJsonSchema(schema, 'jsonSchema7') as JSONSchema7;\n\n schema = jsonSchema(jsonSchemaToUse) as Schema<inferOutput<Z>>;\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<inferOutput<Z>>;\n }\n }\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model: this._wrapModel(model, tracingContext),\n temperature,\n tools: {\n ...(tools as Tools),\n },\n toolChoice,\n maxSteps,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_TEXT_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Text Step Change:', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n if (\n props?.response?.headers?.['x-ratelimit-remaining-tokens'] &&\n parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'], 10) < 2000\n ) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await generateText(argsForExecute);\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n\n return result;\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n telemetry,\n threadId,\n resourceId,\n runtimeContext,\n tracingContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n\n this.logger.debug(`[LLM] - Generating a text object`, { runId });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (structuredOutput instanceof z.ZodArray) {\n output = 'array';\n structuredOutput = structuredOutput._def.type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model: this._wrapModel(model, tracingContext),\n // @ts-expect-error - output in our implementation can only be object or array\n output,\n schema: processedSchema as Schema<Z>,\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n return await generateObject(argsForExecute);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_GENERATE_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n __stream<Tools extends ToolSet, Z extends ZodSchema | JSONSchema7 | undefined = undefined>({\n messages,\n onStepFinish,\n onFinish,\n maxSteps = 5,\n tools = {},\n runId,\n temperature,\n toolChoice = 'auto',\n experimental_output,\n telemetry,\n threadId,\n resourceId,\n runtimeContext,\n tracingContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n this.logger.debug(`[LLM] - Streaming text`, {\n runId,\n threadId,\n resourceId,\n messages,\n maxSteps,\n tools: Object.keys(tools || {}),\n });\n\n let schema: z.ZodType<Z> | Schema<Z> | undefined;\n if (experimental_output) {\n this.logger.debug('[LLM] - Using experimental output', {\n runId,\n });\n if (typeof (experimental_output as any).parse === 'function') {\n schema = experimental_output as z.ZodType<Z>;\n if (schema instanceof z.ZodArray) {\n schema = schema._def.type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model: this._wrapModel(model, tracingContext),\n temperature,\n tools: {\n ...(tools as Tools),\n },\n maxSteps,\n toolChoice,\n onStepFinish: async props => {\n try {\n await onStepFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_STEP_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Stream Step Change:', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n });\n\n if (\n props?.response?.headers?.['x-ratelimit-remaining-tokens'] &&\n parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'], 10) < 2000\n ) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n onFinish: async props => {\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n finishReason: props?.finishReason,\n toolCalls: props?.toolCalls ? JSON.stringify(props.toolCalls) : '',\n toolResults: props?.toolResults ? JSON.stringify(props.toolResults) : '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Stream Finished:', {\n text: props?.text,\n toolCalls: props?.toolCalls,\n toolResults: props?.toolResults,\n finishReason: props?.finishReason,\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n ...rest,\n messages,\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return streamText(argsForExecute);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n runtimeContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n telemetry,\n tracingContext,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n this.logger.debug(`[LLM] - Streaming structured output`, {\n runId,\n messages,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (structuredOutput instanceof z.ZodArray) {\n output = 'array';\n structuredOutput = structuredOutput._def.type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model: this._wrapModel(model, tracingContext),\n onFinish: async (props: any) => {\n try {\n await onFinish?.({ ...props, runId: runId! });\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_ON_FINISH_CALLBACK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n toolCalls: '',\n toolResults: '',\n finishReason: '',\n usage: props?.usage ? JSON.stringify(props.usage) : '',\n },\n },\n e,\n );\n this.logger.trackException(mastraError);\n throw mastraError;\n }\n\n this.logger.debug('[LLM] - Object Stream Finished:', {\n usage: props?.usage,\n runId,\n threadId,\n resourceId,\n });\n },\n messages,\n // @ts-expect-error - output in our implementation can only be object or array\n output,\n experimental_telemetry: {\n ...this.experimental_telemetry,\n ...telemetry,\n },\n schema: processedSchema as Schema<inferOutput<T>>,\n };\n\n try {\n return streamObject(argsForExecute as any);\n } catch (e: unknown) {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_EXECUTION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.THIRD_PARTY,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n throw e;\n }\n\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_SCHEMA_CONVERSION_FAILED',\n domain: ErrorDomain.LLM,\n category: ErrorCategory.USER,\n details: {\n modelId: model.modelId,\n modelProvider: model.provider,\n runId: runId ?? 'unknown',\n threadId: threadId ?? 'unknown',\n resourceId: resourceId ?? 'unknown',\n },\n },\n e,\n );\n throw mastraError;\n }\n }\n\n convertToMessages(messages: string | string[] | CoreMessage[]): CoreMessage[] {\n if (Array.isArray(messages)) {\n return messages.map(m => {\n if (typeof m === 'string') {\n return {\n role: 'user',\n content: m,\n };\n }\n return m;\n });\n }\n\n return [\n {\n role: 'user',\n content: messages,\n },\n ];\n }\n\n async generate<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n {\n output,\n ...rest\n }: Omit<\n Output extends undefined\n ? GenerateTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<GenerateObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'>,\n 'messages'\n > & { output?: Output },\n ): Promise<GenerateReturn<Tools, Output, StructuredOutput>> {\n const msgs = this.convertToMessages(messages);\n\n if (!output) {\n const { maxSteps, onStepFinish, ...textOptions } = rest as Omit<\n GenerateTextWithMessagesArgs<Tools, StructuredOutput>,\n 'messages'\n >;\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n maxSteps,\n onStepFinish,\n ...textOptions,\n })) as unknown as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...rest,\n })) as unknown as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n stream<\n Output extends ZodSchema | JSONSchema7 | undefined = undefined,\n StructuredOutput extends ZodSchema | JSONSchema7 | undefined = undefined,\n Tools extends ToolSet = ToolSet,\n >(\n messages: string | string[] | CoreMessage[],\n {\n maxSteps = 5,\n output,\n onFinish,\n ...rest\n }: Omit<\n Output extends undefined\n ? StreamTextWithMessagesArgs<Tools, StructuredOutput>\n : Omit<StreamObjectWithMessagesArgs<NonNullable<Output>>, 'structuredOutput' | 'output'> & { maxSteps?: never },\n 'messages'\n > & { output?: Output },\n ): StreamReturn<Tools, Output, StructuredOutput> {\n const msgs = this.convertToMessages(messages);\n\n if (!output) {\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...rest,\n }) as unknown as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...rest,\n }) as unknown as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n"]}
@@ -1,527 +0,0 @@
1
- import { RuntimeContext } from './chunk-HLRWYUFN.js';
2
- import { ToolStream } from './chunk-YW7UILPE.js';
3
- import { isVercelTool, validateToolInput } from './chunk-BJGHUKKM.js';
4
- import { wrapMastra } from './chunk-2NKNTPFR.js';
5
- import { MastraError } from './chunk-MCOVMKIS.js';
6
- import { MastraBase } from './chunk-6GF5M4GX.js';
7
- import { createHash } from 'crypto';
8
- import jsonSchemaToZod from 'json-schema-to-zod';
9
- import { z } from 'zod';
10
- import { convertZodSchemaToAISDKSchema, OpenAIReasoningSchemaCompatLayer, OpenAISchemaCompatLayer, GoogleSchemaCompatLayer, AnthropicSchemaCompatLayer, DeepSeekSchemaCompatLayer, MetaSchemaCompatLayer, applyCompatLayer } from '@mastra/schema-compat';
11
-
12
- var CoreToolBuilder = class extends MastraBase {
13
- originalTool;
14
- options;
15
- logType;
16
- constructor(input) {
17
- super({ name: "CoreToolBuilder" });
18
- this.originalTool = input.originalTool;
19
- this.options = input.options;
20
- this.logType = input.logType;
21
- }
22
- // Helper to get parameters based on tool type
23
- getParameters = () => {
24
- if (isVercelTool(this.originalTool)) {
25
- return this.originalTool.parameters ?? z.object({});
26
- }
27
- return this.originalTool.inputSchema ?? z.object({});
28
- };
29
- getOutputSchema = () => {
30
- if ("outputSchema" in this.originalTool) return this.originalTool.outputSchema;
31
- return null;
32
- };
33
- // For provider-defined tools, we need to include all required properties
34
- buildProviderTool(tool) {
35
- if ("type" in tool && tool.type === "provider-defined" && "id" in tool && typeof tool.id === "string" && tool.id.includes(".")) {
36
- const parameters = this.getParameters();
37
- const outputSchema = this.getOutputSchema();
38
- return {
39
- type: "provider-defined",
40
- id: tool.id,
41
- args: "args" in this.originalTool ? this.originalTool.args : {},
42
- description: tool.description,
43
- parameters: convertZodSchemaToAISDKSchema(parameters),
44
- ...outputSchema ? { outputSchema: convertZodSchemaToAISDKSchema(outputSchema) } : {},
45
- execute: this.originalTool.execute ? this.createExecute(
46
- this.originalTool,
47
- { ...this.options, description: this.originalTool.description },
48
- this.logType
49
- ) : void 0
50
- };
51
- }
52
- return void 0;
53
- }
54
- createLogMessageOptions({ agentName, toolName, type }) {
55
- if (!agentName) {
56
- return {
57
- start: `Executing tool ${toolName}`,
58
- error: `Failed tool execution`
59
- };
60
- }
61
- const prefix = `[Agent:${agentName}]`;
62
- const toolType = type === "toolset" ? "toolset" : "tool";
63
- return {
64
- start: `${prefix} - Executing ${toolType} ${toolName}`,
65
- error: `${prefix} - Failed ${toolType} execution`
66
- };
67
- }
68
- createExecute(tool, options, logType) {
69
- const { logger, mastra: _mastra, memory: _memory, runtimeContext, ...rest } = options;
70
- const { start, error } = this.createLogMessageOptions({
71
- agentName: options.agentName,
72
- toolName: options.name,
73
- type: logType
74
- });
75
- const execFunction = async (args, execOptions) => {
76
- const toolSpan = options.tracingContext?.currentSpan?.createChildSpan({
77
- type: "tool_call" /* TOOL_CALL */,
78
- name: `tool: ${options.name}`,
79
- input: args,
80
- attributes: {
81
- toolId: options.name,
82
- toolDescription: options.description,
83
- toolType: logType || "tool"
84
- }
85
- });
86
- try {
87
- let result;
88
- if (isVercelTool(tool)) {
89
- result = await tool?.execute?.(args, execOptions);
90
- } else {
91
- const wrappedMastra = options.mastra ? wrapMastra(options.mastra, { currentSpan: toolSpan }) : options.mastra;
92
- result = await tool?.execute?.(
93
- {
94
- context: args,
95
- threadId: options.threadId,
96
- resourceId: options.resourceId,
97
- mastra: wrappedMastra,
98
- memory: options.memory,
99
- runId: options.runId,
100
- runtimeContext: options.runtimeContext ?? new RuntimeContext(),
101
- writer: new ToolStream(
102
- {
103
- prefix: "tool",
104
- callId: execOptions.toolCallId,
105
- name: options.name,
106
- runId: options.runId
107
- },
108
- options.writableStream || execOptions.writableStream
109
- ),
110
- tracingContext: { currentSpan: toolSpan }
111
- },
112
- execOptions
113
- );
114
- }
115
- toolSpan?.end({ output: result });
116
- return result ?? void 0;
117
- } catch (error2) {
118
- toolSpan?.error({ error: error2 });
119
- throw error2;
120
- }
121
- };
122
- return async (args, execOptions) => {
123
- let logger2 = options.logger || this.logger;
124
- try {
125
- logger2.debug(start, { ...rest, args });
126
- const parameters = this.getParameters();
127
- const { data, error: error2 } = validateToolInput(parameters, args, options.name);
128
- if (error2) {
129
- logger2.warn(`Tool input validation failed for '${options.name}'`, {
130
- toolName: options.name,
131
- errors: error2.validationErrors,
132
- args
133
- });
134
- return error2;
135
- }
136
- args = data;
137
- return await new Promise((resolve, reject) => {
138
- setImmediate(async () => {
139
- try {
140
- const result = await execFunction(args, execOptions);
141
- resolve(result);
142
- } catch (err) {
143
- reject(err);
144
- }
145
- });
146
- });
147
- } catch (err) {
148
- const mastraError = new MastraError(
149
- {
150
- id: "TOOL_EXECUTION_FAILED",
151
- domain: "TOOL" /* TOOL */,
152
- category: "USER" /* USER */,
153
- details: {
154
- errorMessage: String(error),
155
- argsJson: JSON.stringify(args),
156
- model: rest.model?.modelId ?? ""
157
- }
158
- },
159
- err
160
- );
161
- logger2.trackException(mastraError);
162
- logger2.error(error, { ...rest, error: mastraError, args });
163
- return mastraError;
164
- }
165
- };
166
- }
167
- buildV5() {
168
- const builtTool = this.build();
169
- if (!builtTool.parameters) {
170
- throw new Error("Tool parameters are required");
171
- }
172
- return {
173
- ...builtTool,
174
- inputSchema: builtTool.parameters,
175
- onInputStart: "onInputStart" in this.originalTool ? this.originalTool.onInputStart : void 0,
176
- onInputDelta: "onInputDelta" in this.originalTool ? this.originalTool.onInputDelta : void 0,
177
- onInputAvailable: "onInputAvailable" in this.originalTool ? this.originalTool.onInputAvailable : void 0
178
- };
179
- }
180
- build() {
181
- const providerTool = this.buildProviderTool(this.originalTool);
182
- if (providerTool) {
183
- return providerTool;
184
- }
185
- const definition = {
186
- type: "function",
187
- description: this.originalTool.description,
188
- parameters: this.getParameters(),
189
- outputSchema: this.getOutputSchema(),
190
- execute: this.originalTool.execute ? this.createExecute(
191
- this.originalTool,
192
- { ...this.options, description: this.originalTool.description },
193
- this.logType
194
- ) : void 0
195
- };
196
- const model = this.options.model;
197
- const schemaCompatLayers = [];
198
- if (model) {
199
- const supportsStructuredOutputs = model.specificationVersion !== "v2" ? model.supportsStructuredOutputs ?? false : false;
200
- const modelInfo = {
201
- modelId: model.modelId,
202
- supportsStructuredOutputs,
203
- provider: model.provider
204
- };
205
- schemaCompatLayers.push(
206
- new OpenAIReasoningSchemaCompatLayer(modelInfo),
207
- new OpenAISchemaCompatLayer(modelInfo),
208
- new GoogleSchemaCompatLayer(modelInfo),
209
- new AnthropicSchemaCompatLayer(modelInfo),
210
- new DeepSeekSchemaCompatLayer(modelInfo),
211
- new MetaSchemaCompatLayer(modelInfo)
212
- );
213
- }
214
- const processedSchema = applyCompatLayer({
215
- schema: this.getParameters(),
216
- compatLayers: schemaCompatLayers,
217
- mode: "aiSdkSchema"
218
- });
219
- let processedOutputSchema;
220
- if (this.getOutputSchema()) {
221
- processedOutputSchema = applyCompatLayer({
222
- schema: this.getOutputSchema(),
223
- compatLayers: schemaCompatLayers,
224
- mode: "aiSdkSchema"
225
- });
226
- }
227
- return {
228
- ...definition,
229
- id: "id" in this.originalTool ? this.originalTool.id : void 0,
230
- parameters: processedSchema,
231
- outputSchema: processedOutputSchema
232
- };
233
- }
234
- };
235
-
236
- // src/utils.ts
237
- var delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
238
- function deepMerge(target, source) {
239
- const output = { ...target };
240
- if (!source) return output;
241
- Object.keys(source).forEach((key) => {
242
- const targetValue = output[key];
243
- const sourceValue = source[key];
244
- if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
245
- output[key] = sourceValue;
246
- } else if (sourceValue instanceof Object && targetValue instanceof Object && !Array.isArray(sourceValue) && !Array.isArray(targetValue)) {
247
- output[key] = deepMerge(targetValue, sourceValue);
248
- } else if (sourceValue !== void 0) {
249
- output[key] = sourceValue;
250
- }
251
- });
252
- return output;
253
- }
254
- function generateEmptyFromSchema(schema) {
255
- try {
256
- const parsedSchema = JSON.parse(schema);
257
- if (!parsedSchema || parsedSchema.type !== "object" || !parsedSchema.properties) return {};
258
- const obj = {};
259
- const TYPE_DEFAULTS = {
260
- string: "",
261
- array: [],
262
- object: {},
263
- number: 0,
264
- integer: 0,
265
- boolean: false
266
- };
267
- for (const [key, prop] of Object.entries(parsedSchema.properties)) {
268
- obj[key] = TYPE_DEFAULTS[prop.type] ?? null;
269
- }
270
- return obj;
271
- } catch {
272
- return {};
273
- }
274
- }
275
- async function* maskStreamTags(stream, tag, options = {}) {
276
- const { onStart, onEnd, onMask } = options;
277
- const openTag = `<${tag}>`;
278
- const closeTag = `</${tag}>`;
279
- let buffer = "";
280
- let fullContent = "";
281
- let isMasking = false;
282
- let isBuffering = false;
283
- const trimOutsideDelimiter = (text, delimiter, trim) => {
284
- if (!text.includes(delimiter)) {
285
- return text;
286
- }
287
- const parts = text.split(delimiter);
288
- if (trim === `before-start`) {
289
- return `${delimiter}${parts[1]}`;
290
- }
291
- return `${parts[0]}${delimiter}`;
292
- };
293
- const startsWith = (text, pattern) => {
294
- if (pattern.includes(openTag.substring(0, 3))) {
295
- pattern = trimOutsideDelimiter(pattern, `<`, `before-start`);
296
- }
297
- return text.trim().startsWith(pattern.trim());
298
- };
299
- for await (const chunk of stream) {
300
- fullContent += chunk;
301
- if (isBuffering) buffer += chunk;
302
- const chunkHasTag = startsWith(chunk, openTag);
303
- const bufferHasTag = !chunkHasTag && isBuffering && startsWith(openTag, buffer);
304
- let toYieldBeforeMaskedStartTag = ``;
305
- if (!isMasking && (chunkHasTag || bufferHasTag)) {
306
- isMasking = true;
307
- isBuffering = false;
308
- const taggedTextToMask = trimOutsideDelimiter(buffer, `<`, `before-start`);
309
- if (taggedTextToMask !== buffer.trim()) {
310
- toYieldBeforeMaskedStartTag = buffer.replace(taggedTextToMask, ``);
311
- }
312
- buffer = "";
313
- onStart?.();
314
- }
315
- if (!isMasking && !isBuffering && startsWith(openTag, chunk) && chunk.trim() !== "") {
316
- isBuffering = true;
317
- buffer += chunk;
318
- continue;
319
- }
320
- if (isBuffering && buffer && !startsWith(openTag, buffer)) {
321
- yield buffer;
322
- buffer = "";
323
- isBuffering = false;
324
- continue;
325
- }
326
- if (isMasking && fullContent.includes(closeTag)) {
327
- onMask?.(chunk);
328
- onEnd?.();
329
- isMasking = false;
330
- const lastFullContent = fullContent;
331
- fullContent = ``;
332
- const textUntilEndTag = trimOutsideDelimiter(lastFullContent, closeTag, "after-end");
333
- if (textUntilEndTag !== lastFullContent) {
334
- yield lastFullContent.replace(textUntilEndTag, ``);
335
- }
336
- continue;
337
- }
338
- if (isMasking) {
339
- onMask?.(chunk);
340
- if (toYieldBeforeMaskedStartTag) {
341
- yield toYieldBeforeMaskedStartTag;
342
- }
343
- continue;
344
- }
345
- yield chunk;
346
- }
347
- }
348
- function resolveSerializedZodOutput(schema) {
349
- return Function("z", `"use strict";return (${schema});`)(z);
350
- }
351
- function isZodType(value) {
352
- return typeof value === "object" && value !== null && "_def" in value && "parse" in value && typeof value.parse === "function" && "safeParse" in value && typeof value.safeParse === "function";
353
- }
354
- function createDeterministicId(input) {
355
- return createHash("sha256").update(input).digest("hex").slice(0, 8);
356
- }
357
- function setVercelToolProperties(tool) {
358
- const inputSchema = convertVercelToolParameters(tool);
359
- const toolId = !("id" in tool) ? tool.description ? `tool-${createDeterministicId(tool.description)}` : `tool-${Math.random().toString(36).substring(2, 9)}` : tool.id;
360
- return {
361
- ...tool,
362
- id: toolId,
363
- inputSchema
364
- };
365
- }
366
- function ensureToolProperties(tools) {
367
- const toolsWithProperties = Object.keys(tools).reduce((acc, key) => {
368
- const tool = tools?.[key];
369
- if (tool) {
370
- if (isVercelTool(tool)) {
371
- acc[key] = setVercelToolProperties(tool);
372
- } else {
373
- acc[key] = tool;
374
- }
375
- }
376
- return acc;
377
- }, {});
378
- return toolsWithProperties;
379
- }
380
- function convertVercelToolParameters(tool) {
381
- const schema = tool.parameters ?? z.object({});
382
- return isZodType(schema) ? schema : resolveSerializedZodOutput(jsonSchemaToZod(schema));
383
- }
384
- function makeCoreTool(originalTool, options, logType) {
385
- return new CoreToolBuilder({ originalTool, options, logType }).build();
386
- }
387
- function makeCoreToolV5(originalTool, options, logType) {
388
- return new CoreToolBuilder({ originalTool, options, logType }).buildV5();
389
- }
390
- function createMastraProxy({ mastra, logger }) {
391
- return new Proxy(mastra, {
392
- get(target, prop) {
393
- const hasProp = Reflect.has(target, prop);
394
- if (hasProp) {
395
- const value = Reflect.get(target, prop);
396
- const isFunction = typeof value === "function";
397
- if (isFunction) {
398
- return value.bind(target);
399
- }
400
- return value;
401
- }
402
- if (prop === "logger") {
403
- logger.warn(`Please use 'getLogger' instead, logger is deprecated`);
404
- return Reflect.apply(target.getLogger, target, []);
405
- }
406
- if (prop === "telemetry") {
407
- logger.warn(`Please use 'getTelemetry' instead, telemetry is deprecated`);
408
- return Reflect.apply(target.getTelemetry, target, []);
409
- }
410
- if (prop === "storage") {
411
- logger.warn(`Please use 'getStorage' instead, storage is deprecated`);
412
- return Reflect.get(target, "storage");
413
- }
414
- if (prop === "agents") {
415
- logger.warn(`Please use 'getAgents' instead, agents is deprecated`);
416
- return Reflect.apply(target.getAgents, target, []);
417
- }
418
- if (prop === "tts") {
419
- logger.warn(`Please use 'getTTS' instead, tts is deprecated`);
420
- return Reflect.apply(target.getTTS, target, []);
421
- }
422
- if (prop === "vectors") {
423
- logger.warn(`Please use 'getVectors' instead, vectors is deprecated`);
424
- return Reflect.apply(target.getVectors, target, []);
425
- }
426
- if (prop === "memory") {
427
- logger.warn(`Please use 'getMemory' instead, memory is deprecated`);
428
- return Reflect.get(target, "memory");
429
- }
430
- return Reflect.get(target, prop);
431
- }
432
- });
433
- }
434
- function checkEvalStorageFields(traceObject, logger) {
435
- const missingFields = [];
436
- if (!traceObject.input) missingFields.push("input");
437
- if (!traceObject.output) missingFields.push("output");
438
- if (!traceObject.agentName) missingFields.push("agent_name");
439
- if (!traceObject.metricName) missingFields.push("metric_name");
440
- if (!traceObject.instructions) missingFields.push("instructions");
441
- if (!traceObject.globalRunId) missingFields.push("global_run_id");
442
- if (!traceObject.runId) missingFields.push("run_id");
443
- if (missingFields.length > 0) {
444
- if (logger) {
445
- logger.warn("Skipping evaluation storage due to missing required fields", {
446
- missingFields,
447
- runId: traceObject.runId,
448
- agentName: traceObject.agentName
449
- });
450
- } else {
451
- console.warn("Skipping evaluation storage due to missing required fields", {
452
- missingFields,
453
- runId: traceObject.runId,
454
- agentName: traceObject.agentName
455
- });
456
- }
457
- return false;
458
- }
459
- return true;
460
- }
461
- function detectSingleMessageCharacteristics(message) {
462
- if (typeof message === "object" && message !== null && (message.role === "function" || // UI-only role
463
- message.role === "data" || // UI-only role
464
- "toolInvocations" in message || // UI-specific field
465
- "parts" in message || // UI-specific field
466
- "experimental_attachments" in message)) {
467
- return "has-ui-specific-parts";
468
- } else if (typeof message === "object" && message !== null && "content" in message && (Array.isArray(message.content) || // Core messages can have array content
469
- "experimental_providerMetadata" in message || "providerOptions" in message)) {
470
- return "has-core-specific-parts";
471
- } else if (typeof message === "object" && message !== null && "role" in message && "content" in message && typeof message.content === "string" && ["system", "user", "assistant", "tool"].includes(message.role)) {
472
- return "message";
473
- } else {
474
- return "other";
475
- }
476
- }
477
- function isUiMessage(message) {
478
- return detectSingleMessageCharacteristics(message) === `has-ui-specific-parts`;
479
- }
480
- function isCoreMessage(message) {
481
- return [`has-core-specific-parts`, `message`].includes(detectSingleMessageCharacteristics(message));
482
- }
483
- var SQL_IDENTIFIER_PATTERN = /^[a-zA-Z_][a-zA-Z0-9_]*$/;
484
- function parseSqlIdentifier(name, kind = "identifier") {
485
- if (!SQL_IDENTIFIER_PATTERN.test(name) || name.length > 63) {
486
- throw new Error(
487
- `Invalid ${kind}: ${name}. Must start with a letter or underscore, contain only letters, numbers, or underscores, and be at most 63 characters long.`
488
- );
489
- }
490
- return name;
491
- }
492
- function parseFieldKey(key) {
493
- if (!key) throw new Error("Field key cannot be empty");
494
- const segments = key.split(".");
495
- for (const segment of segments) {
496
- if (!SQL_IDENTIFIER_PATTERN.test(segment) || segment.length > 63) {
497
- throw new Error(`Invalid field key segment: ${segment} in ${key}`);
498
- }
499
- }
500
- return key;
501
- }
502
- async function fetchWithRetry(url, options = {}, maxRetries = 3) {
503
- let retryCount = 0;
504
- let lastError = null;
505
- while (retryCount < maxRetries) {
506
- try {
507
- const response = await fetch(url, options);
508
- if (!response.ok) {
509
- throw new Error(`Request failed with status: ${response.status} ${response.statusText}`);
510
- }
511
- return response;
512
- } catch (error) {
513
- lastError = error instanceof Error ? error : new Error(String(error));
514
- retryCount++;
515
- if (retryCount >= maxRetries) {
516
- break;
517
- }
518
- const delay2 = Math.min(1e3 * Math.pow(2, retryCount) * 1e3, 1e4);
519
- await new Promise((resolve) => setTimeout(resolve, delay2));
520
- }
521
- }
522
- throw lastError || new Error("Request failed after multiple retry attempts");
523
- }
524
-
525
- export { checkEvalStorageFields, createMastraProxy, deepMerge, delay, ensureToolProperties, fetchWithRetry, generateEmptyFromSchema, isCoreMessage, isUiMessage, isZodType, makeCoreTool, makeCoreToolV5, maskStreamTags, parseFieldKey, parseSqlIdentifier, resolveSerializedZodOutput };
526
- //# sourceMappingURL=chunk-TDLB5JKT.js.map
527
- //# sourceMappingURL=chunk-TDLB5JKT.js.map