@mastra/core 1.15.0-alpha.4 → 1.16.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +115 -0
  2. package/dist/_types/@internal_core/dist/index.d.ts +7 -0
  3. package/dist/agent/index.cjs +8 -8
  4. package/dist/agent/index.js +1 -1
  5. package/dist/agent/workflows/prepare-stream/index.d.ts +1 -1
  6. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  7. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +1 -1
  8. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  9. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +1 -1
  10. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  11. package/dist/{chunk-ALQKGV35.js → chunk-2PSKFARX.js} +5 -5
  12. package/dist/{chunk-ALQKGV35.js.map → chunk-2PSKFARX.js.map} +1 -1
  13. package/dist/{chunk-MJKEBUMM.js → chunk-3IACFBML.js} +3 -3
  14. package/dist/{chunk-MJKEBUMM.js.map → chunk-3IACFBML.js.map} +1 -1
  15. package/dist/{chunk-LFMJYWJ7.js → chunk-3SDR4BWW.js} +10 -3
  16. package/dist/chunk-3SDR4BWW.js.map +1 -0
  17. package/dist/{chunk-JUL4UHWQ.cjs → chunk-4SE5WPZS.cjs} +6 -3
  18. package/dist/chunk-4SE5WPZS.cjs.map +1 -0
  19. package/dist/{chunk-YVFFNB2F.cjs → chunk-542IIQM4.cjs} +9 -9
  20. package/dist/{chunk-YVFFNB2F.cjs.map → chunk-542IIQM4.cjs.map} +1 -1
  21. package/dist/{chunk-ZHWQKPUV.cjs → chunk-57NZ23ZE.cjs} +39 -32
  22. package/dist/chunk-57NZ23ZE.cjs.map +1 -0
  23. package/dist/{chunk-Y6DV2OT2.js → chunk-5QV7Z7XH.js} +32 -5
  24. package/dist/chunk-5QV7Z7XH.js.map +1 -0
  25. package/dist/{chunk-FYQXIWRH.cjs → chunk-64L4MPSZ.cjs} +13 -13
  26. package/dist/{chunk-FYQXIWRH.cjs.map → chunk-64L4MPSZ.cjs.map} +1 -1
  27. package/dist/{chunk-W7I3FI2N.cjs → chunk-6W6AOWKN.cjs} +82 -82
  28. package/dist/{chunk-W7I3FI2N.cjs.map → chunk-6W6AOWKN.cjs.map} +1 -1
  29. package/dist/{chunk-CGQ7ENXU.js → chunk-7QYYD3UW.js} +7 -7
  30. package/dist/{chunk-CGQ7ENXU.js.map → chunk-7QYYD3UW.js.map} +1 -1
  31. package/dist/{chunk-ERY767HB.js → chunk-A5LEVLFM.js} +16 -8
  32. package/dist/chunk-A5LEVLFM.js.map +1 -0
  33. package/dist/{chunk-OY45D5N5.js → chunk-DQDA2GAF.js} +3 -3
  34. package/dist/{chunk-OY45D5N5.js.map → chunk-DQDA2GAF.js.map} +1 -1
  35. package/dist/{chunk-CK5R5ZNR.cjs → chunk-H2KIHE4I.cjs} +51 -9
  36. package/dist/chunk-H2KIHE4I.cjs.map +1 -0
  37. package/dist/{chunk-U3ZKCVTO.js → chunk-HQH3FILI.js} +4 -4
  38. package/dist/{chunk-U3ZKCVTO.js.map → chunk-HQH3FILI.js.map} +1 -1
  39. package/dist/{chunk-XQHRNOOO.cjs → chunk-LHNUJEV5.cjs} +23 -23
  40. package/dist/chunk-LHNUJEV5.cjs.map +1 -0
  41. package/dist/{chunk-BJYSPRTD.js → chunk-NMVEVERK.js} +3 -3
  42. package/dist/{chunk-BJYSPRTD.js.map → chunk-NMVEVERK.js.map} +1 -1
  43. package/dist/{chunk-VZWFITNF.cjs → chunk-P3Z47LFL.cjs} +13 -13
  44. package/dist/{chunk-VZWFITNF.cjs.map → chunk-P3Z47LFL.cjs.map} +1 -1
  45. package/dist/{chunk-6EG7YHGD.js → chunk-PQWKSCWD.js} +11 -4
  46. package/dist/chunk-PQWKSCWD.js.map +1 -0
  47. package/dist/{chunk-ZFVANSSN.cjs → chunk-QKZGMKBV.cjs} +13 -6
  48. package/dist/chunk-QKZGMKBV.cjs.map +1 -0
  49. package/dist/{chunk-FRPV7F7E.cjs → chunk-R5IZY5AI.cjs} +185 -185
  50. package/dist/{chunk-FRPV7F7E.cjs.map → chunk-R5IZY5AI.cjs.map} +1 -1
  51. package/dist/{chunk-ELXO2ZGY.cjs → chunk-RAPHSIIS.cjs} +68 -68
  52. package/dist/{chunk-ELXO2ZGY.cjs.map → chunk-RAPHSIIS.cjs.map} +1 -1
  53. package/dist/{chunk-K636CQJK.js → chunk-TE3EH746.js} +3 -3
  54. package/dist/{chunk-K636CQJK.js.map → chunk-TE3EH746.js.map} +1 -1
  55. package/dist/{chunk-LVA4AOT3.js → chunk-VAPRBIHM.js} +50 -8
  56. package/dist/chunk-VAPRBIHM.js.map +1 -0
  57. package/dist/{chunk-3PUUIEVX.js → chunk-VBVVGBJJ.js} +6 -3
  58. package/dist/chunk-VBVVGBJJ.js.map +1 -0
  59. package/dist/{chunk-VSGRSX3N.cjs → chunk-XAFCD3W2.cjs} +49 -22
  60. package/dist/chunk-XAFCD3W2.cjs.map +1 -0
  61. package/dist/{chunk-GU6MTO2I.js → chunk-XHXYXSH7.js} +5 -5
  62. package/dist/{chunk-GU6MTO2I.js.map → chunk-XHXYXSH7.js.map} +1 -1
  63. package/dist/{chunk-PDAZKZWB.cjs → chunk-XIC3EDT4.cjs} +3 -3
  64. package/dist/{chunk-PDAZKZWB.cjs.map → chunk-XIC3EDT4.cjs.map} +1 -1
  65. package/dist/{chunk-NI24OP2N.cjs → chunk-XZE2N5VH.cjs} +179 -171
  66. package/dist/chunk-XZE2N5VH.cjs.map +1 -0
  67. package/dist/{chunk-NYOTRFJQ.js → chunk-YQECYE7N.js} +12 -12
  68. package/dist/chunk-YQECYE7N.js.map +1 -0
  69. package/dist/{chunk-65K5KHEQ.cjs → chunk-YVVZSL6J.cjs} +7 -7
  70. package/dist/{chunk-65K5KHEQ.cjs.map → chunk-YVVZSL6J.cjs.map} +1 -1
  71. package/dist/{chunk-EYLPPZIF.js → chunk-YZZRYFTN.js} +4 -4
  72. package/dist/{chunk-EYLPPZIF.js.map → chunk-YZZRYFTN.js.map} +1 -1
  73. package/dist/{chunk-DIMION2S.cjs → chunk-Z6SLUMEY.cjs} +9 -9
  74. package/dist/{chunk-DIMION2S.cjs.map → chunk-Z6SLUMEY.cjs.map} +1 -1
  75. package/dist/datasets/dataset.d.ts +8 -1
  76. package/dist/datasets/dataset.d.ts.map +1 -1
  77. package/dist/datasets/index.cjs +17 -17
  78. package/dist/datasets/index.js +2 -2
  79. package/dist/datasets/manager.d.ts +3 -0
  80. package/dist/datasets/manager.d.ts.map +1 -1
  81. package/dist/docs/SKILL.md +1 -1
  82. package/dist/docs/assets/SOURCE_MAP.json +456 -456
  83. package/dist/evals/index.cjs +20 -20
  84. package/dist/evals/index.js +3 -3
  85. package/dist/evals/scoreTraces/index.cjs +7 -7
  86. package/dist/evals/scoreTraces/index.js +3 -3
  87. package/dist/harness/index.cjs +7 -7
  88. package/dist/harness/index.js +5 -5
  89. package/dist/index.cjs +2 -2
  90. package/dist/index.js +1 -1
  91. package/dist/llm/index.cjs +16 -16
  92. package/dist/llm/index.js +5 -5
  93. package/dist/llm/model/provider-types.generated.d.ts +22 -1
  94. package/dist/loop/index.cjs +14 -14
  95. package/dist/loop/index.js +1 -1
  96. package/dist/mastra/index.cjs +2 -2
  97. package/dist/mastra/index.js +1 -1
  98. package/dist/memory/index.cjs +14 -14
  99. package/dist/memory/index.js +1 -1
  100. package/dist/models-dev-46T4RYCV.js +3 -0
  101. package/dist/{models-dev-WCXTFBNF.js.map → models-dev-46T4RYCV.js.map} +1 -1
  102. package/dist/models-dev-IXRDPMYE.cjs +12 -0
  103. package/dist/{models-dev-DJ7R4TZH.cjs.map → models-dev-IXRDPMYE.cjs.map} +1 -1
  104. package/dist/netlify-A25PHNK2.js +3 -0
  105. package/dist/{netlify-NMYNMNGY.js.map → netlify-A25PHNK2.js.map} +1 -1
  106. package/dist/netlify-AERELDDR.cjs +12 -0
  107. package/dist/{netlify-YEHOZHML.cjs.map → netlify-AERELDDR.cjs.map} +1 -1
  108. package/dist/observability/index.cjs +18 -18
  109. package/dist/observability/index.js +1 -1
  110. package/dist/processor-provider/index.cjs +10 -10
  111. package/dist/processor-provider/index.js +1 -1
  112. package/dist/processors/index.cjs +42 -42
  113. package/dist/processors/index.js +1 -1
  114. package/dist/provider-registry-6T2HS3XM.cjs +40 -0
  115. package/dist/{provider-registry-7QEVAVHF.cjs.map → provider-registry-6T2HS3XM.cjs.map} +1 -1
  116. package/dist/provider-registry-FE4XSUID.js +3 -0
  117. package/dist/{provider-registry-S7PSD7QK.js.map → provider-registry-FE4XSUID.js.map} +1 -1
  118. package/dist/provider-registry.json +46 -4
  119. package/dist/relevance/index.cjs +3 -3
  120. package/dist/relevance/index.js +1 -1
  121. package/dist/storage/constants.cjs +56 -56
  122. package/dist/storage/constants.d.ts.map +1 -1
  123. package/dist/storage/constants.js +1 -1
  124. package/dist/storage/domains/datasets/inmemory.d.ts.map +1 -1
  125. package/dist/storage/domains/experiments/base.d.ts +2 -1
  126. package/dist/storage/domains/experiments/base.d.ts.map +1 -1
  127. package/dist/storage/domains/experiments/inmemory.d.ts +2 -1
  128. package/dist/storage/domains/experiments/inmemory.d.ts.map +1 -1
  129. package/dist/storage/index.cjs +264 -264
  130. package/dist/storage/index.js +3 -3
  131. package/dist/storage/types.d.ts +30 -0
  132. package/dist/storage/types.d.ts.map +1 -1
  133. package/dist/stream/index.cjs +8 -8
  134. package/dist/stream/index.js +1 -1
  135. package/dist/test-utils/llm-mock.cjs +4 -4
  136. package/dist/test-utils/llm-mock.js +1 -1
  137. package/dist/tool-loop-agent/index.cjs +4 -4
  138. package/dist/tool-loop-agent/index.js +1 -1
  139. package/dist/utils.cjs +23 -23
  140. package/dist/utils.js +1 -1
  141. package/dist/vector/index.cjs +7 -7
  142. package/dist/vector/index.js +1 -1
  143. package/dist/workflows/evented/index.cjs +10 -10
  144. package/dist/workflows/evented/index.js +1 -1
  145. package/dist/workflows/index.cjs +24 -24
  146. package/dist/workflows/index.js +1 -1
  147. package/package.json +10 -10
  148. package/src/llm/model/provider-types.generated.d.ts +22 -1
  149. package/dist/chunk-3PUUIEVX.js.map +0 -1
  150. package/dist/chunk-6EG7YHGD.js.map +0 -1
  151. package/dist/chunk-CK5R5ZNR.cjs.map +0 -1
  152. package/dist/chunk-ERY767HB.js.map +0 -1
  153. package/dist/chunk-JUL4UHWQ.cjs.map +0 -1
  154. package/dist/chunk-LFMJYWJ7.js.map +0 -1
  155. package/dist/chunk-LVA4AOT3.js.map +0 -1
  156. package/dist/chunk-NI24OP2N.cjs.map +0 -1
  157. package/dist/chunk-NYOTRFJQ.js.map +0 -1
  158. package/dist/chunk-VSGRSX3N.cjs.map +0 -1
  159. package/dist/chunk-XQHRNOOO.cjs.map +0 -1
  160. package/dist/chunk-Y6DV2OT2.js.map +0 -1
  161. package/dist/chunk-ZFVANSSN.cjs.map +0 -1
  162. package/dist/chunk-ZHWQKPUV.cjs.map +0 -1
  163. package/dist/models-dev-DJ7R4TZH.cjs +0 -12
  164. package/dist/models-dev-WCXTFBNF.js +0 -3
  165. package/dist/netlify-NMYNMNGY.js +0 -3
  166. package/dist/netlify-YEHOZHML.cjs +0 -12
  167. package/dist/provider-registry-7QEVAVHF.cjs +0 -40
  168. package/dist/provider-registry-S7PSD7QK.js +0 -3
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkSQINVD7G_cjs = require('./chunk-SQINVD7G.cjs');
4
- var chunkYVFFNB2F_cjs = require('./chunk-YVFFNB2F.cjs');
5
- var chunkJUL4UHWQ_cjs = require('./chunk-JUL4UHWQ.cjs');
4
+ var chunk542IIQM4_cjs = require('./chunk-542IIQM4.cjs');
5
+ var chunk4SE5WPZS_cjs = require('./chunk-4SE5WPZS.cjs');
6
6
  var chunkRLPRSIR2_cjs = require('./chunk-RLPRSIR2.cjs');
7
7
  var chunkVWJ7H3MJ_cjs = require('./chunk-VWJ7H3MJ.cjs');
8
8
  var chunk4U7ZLI36_cjs = require('./chunk-4U7ZLI36.cjs');
@@ -93,7 +93,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
93
93
  ...rest
94
94
  }) {
95
95
  const model = this.#model;
96
- const observabilityContext = chunkJUL4UHWQ_cjs.resolveObservabilityContext(rest);
96
+ const observabilityContext = chunk4SE5WPZS_cjs.resolveObservabilityContext(rest);
97
97
  this.logger.debug(`[LLM] - Generating text`, {
98
98
  runId,
99
99
  messages,
@@ -107,7 +107,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
107
107
  this.logger.debug("[LLM] - Using experimental output", {
108
108
  runId
109
109
  });
110
- if (chunkYVFFNB2F_cjs.isZodType(experimental_output)) {
110
+ if (chunk542IIQM4_cjs.isZodType(experimental_output)) {
111
111
  schema = experimental_output;
112
112
  if (chunkRLPRSIR2_cjs.isZodArray(schema)) {
113
113
  schema = chunkRLPRSIR2_cjs.getZodDef(schema).type;
@@ -205,7 +205,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
205
205
  const remainingTokens = parseInt(props?.response?.headers?.["x-ratelimit-remaining-tokens"] ?? "", 10);
206
206
  if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2e3) {
207
207
  this.logger.warn("Rate limit approaching, waiting 10 seconds", { runId });
208
- await chunkYVFFNB2F_cjs.delay(10 * 1e3);
208
+ await chunk542IIQM4_cjs.delay(10 * 1e3);
209
209
  }
210
210
  },
211
211
  experimental_output: schema ? chunkSQINVD7G_cjs.output_exports.object({
@@ -213,7 +213,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
213
213
  }) : void 0
214
214
  };
215
215
  try {
216
- const result = await chunkJUL4UHWQ_cjs.executeWithContext({
216
+ const result = await chunk4SE5WPZS_cjs.executeWithContext({
217
217
  span: llmSpan,
218
218
  fn: () => chunkSQINVD7G_cjs.generateText(argsForExecute)
219
219
  });
@@ -277,7 +277,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
277
277
  ...rest
278
278
  }) {
279
279
  const model = this.#model;
280
- const observabilityContext = chunkJUL4UHWQ_cjs.resolveObservabilityContext(rest);
280
+ const observabilityContext = chunk4SE5WPZS_cjs.resolveObservabilityContext(rest);
281
281
  this.logger.debug(`[LLM] - Generating a text object`, { runId });
282
282
  const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({
283
283
  name: `llm: '${model.modelId}'`,
@@ -420,7 +420,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
420
420
  ...rest
421
421
  }) {
422
422
  const model = this.#model;
423
- const observabilityContext = chunkJUL4UHWQ_cjs.resolveObservabilityContext(rest);
423
+ const observabilityContext = chunk4SE5WPZS_cjs.resolveObservabilityContext(rest);
424
424
  this.logger.debug(`[LLM] - Streaming text`, {
425
425
  runId,
426
426
  threadId,
@@ -528,7 +528,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
528
528
  const remainingTokens = parseInt(props?.response?.headers?.["x-ratelimit-remaining-tokens"] ?? "", 10);
529
529
  if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2e3) {
530
530
  this.logger.warn("Rate limit approaching, waiting 10 seconds", { runId });
531
- await chunkYVFFNB2F_cjs.delay(10 * 1e3);
531
+ await chunk542IIQM4_cjs.delay(10 * 1e3);
532
532
  }
533
533
  },
534
534
  onFinish: async (props) => {
@@ -617,7 +617,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
617
617
  }) : void 0
618
618
  };
619
619
  try {
620
- return chunkJUL4UHWQ_cjs.executeWithContextSync({ span: llmSpan, fn: () => chunkSQINVD7G_cjs.streamText(argsForExecute) });
620
+ return chunk4SE5WPZS_cjs.executeWithContextSync({ span: llmSpan, fn: () => chunkSQINVD7G_cjs.streamText(argsForExecute) });
621
621
  } catch (e) {
622
622
  const mastraError = new chunk4U7ZLI36_cjs.MastraError(
623
623
  {
@@ -657,7 +657,7 @@ var MastraLLMV1 = class extends chunkRO47SMI7_cjs.MastraBase {
657
657
  ...rest
658
658
  }) {
659
659
  const model = this.#model;
660
- const observabilityContext = chunkJUL4UHWQ_cjs.resolveObservabilityContext(rest);
660
+ const observabilityContext = chunk4SE5WPZS_cjs.resolveObservabilityContext(rest);
661
661
  this.logger.debug(`[LLM] - Streaming structured output`, {
662
662
  runId,
663
663
  messages
@@ -1069,5 +1069,5 @@ var AISDKV5LanguageModel = class {
1069
1069
  exports.AISDKV5LanguageModel = AISDKV5LanguageModel;
1070
1070
  exports.MastraLLMV1 = MastraLLMV1;
1071
1071
  exports.createStreamFromGenerateResult = createStreamFromGenerateResult;
1072
- //# sourceMappingURL=chunk-FYQXIWRH.cjs.map
1073
- //# sourceMappingURL=chunk-FYQXIWRH.cjs.map
1072
+ //# sourceMappingURL=chunk-64L4MPSZ.cjs.map
1073
+ //# sourceMappingURL=chunk-64L4MPSZ.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/stream/aisdk/v4/usage.ts","../src/llm/model/model.ts","../src/llm/model/aisdk/generate-to-stream.ts","../src/llm/model/aisdk/v5/model.ts"],"names":["MastraBase","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","resolveObservabilityContext","isZodType","isZodArray","getZodDef","toStandardSchema","standardSchemaToJSONSchema","jsonSchema","isStandardSchemaWithJSON","MastraError","delay","output_exports","executeWithContext","generateText","generateObject","executeWithContextSync","streamText","streamObject","onFinish","randomUUID"],"mappings":"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","file":"chunk-FYQXIWRH.cjs","sourcesContent":["import type { UsageStats } from '../../../observability';\n\n/**\n * AI SDK v4 LanguageModelUsage type definition\n * (matches the ai package's LanguageModelUsage)\n */\ninterface LanguageModelUsageV4 {\n promptTokens: number;\n completionTokens: number;\n totalTokens?: number;\n}\n\n/**\n * Converts AI SDK v4 LanguageModelUsage to our UsageStats format.\n *\n * @param usage - The LanguageModelUsage from AI SDK v4\n * @returns Normalized UsageStats\n */\nexport function convertV4Usage(usage: LanguageModelUsageV4 | undefined): UsageStats {\n if (!usage) {\n return {};\n }\n\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n };\n}\n","import { generateObject, generateText, Output, streamObject, streamText } from '@internal/ai-sdk-v4';\nimport type {\n CoreMessage,\n LanguageModelV1 as LanguageModel,\n StreamObjectOnFinishCallback,\n StreamTextOnFinishCallback,\n} from '@internal/ai-sdk-v4';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n jsonSchema,\n} from '@mastra/schema-compat';\nimport type { JSONSchema7, Schema } from '@mastra/schema-compat';\nimport type { ZodSchema, z } from 'zod/v3';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { SpanType, resolveObservabilityContext } from '../../observability';\nimport { executeWithContext, executeWithContextSync } from '../../observability/utils';\nimport { toStandardSchema, standardSchemaToJSONSchema, isStandardSchemaWithJSON } from '../../schema';\nimport { convertV4Usage } from '../../stream/aisdk/v4/usage';\nimport { delay, isZodType } from '../../utils';\nimport { isZodArray, getZodDef } from '../../utils/zod-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, MastraModelOptions } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n #options?: MastraModelOptions;\n\n constructor({ model, mastra, options }: { model: LanguageModel; mastra?: Mastra; options?: MastraModelOptions }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n this.#options = options;\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.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 // \"Type instantiation is excessively deep\" error from complex ZodSchema generic inference\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\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 threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\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 (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<inferOutput<Z>>;\n }\n\n // Convert Zod schema to JSON Schema via standard schema interface\n const standardSchema = toStandardSchema(schema as any);\n const jsonSchemaToUse = standardSchemaToJSONSchema(standardSchema);\n\n schema = jsonSchema<inferOutput<Z>>(jsonSchemaToUse);\n } else {\n schema = jsonSchema<inferOutput<Z>>(experimental_output);\n }\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n schema,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model,\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 const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await executeWithContext({\n span: llmSpan,\n fn: () => generateText(argsForExecute),\n });\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n llmSpan?.end({\n output: {\n text: result.text,\n object: result.object,\n reasoning: result.reasoningDetails,\n reasoningText: result.reasoning,\n files: result.files,\n sources: result.sources,\n toolCalls: result.toolCalls,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\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 this.logger.error('[LLM] - Generate text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug(`[LLM] - Generating a text object`, { runId });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n const zodDef = getZodDef(structuredOutput);\n if ('element' in zodDef) {\n structuredOutput = zodDef.element;\n } else {\n structuredOutput = zodDef.type;\n }\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model,\n // @ts-expect-error - output in our implementation can only be object or array\n output,\n schema: processedSchema as Schema<Z>,\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n const result = await generateObject(argsForExecute);\n\n llmSpan?.end({\n output: {\n object: result.object,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n // @ts-expect-error - output in our implementation can only be object or array\n return result;\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 this.logger.error('[LLM] - Generate object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\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 this.logger.error('[LLM] - Generate object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\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 threadId,\n resourceId,\n requestContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\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 (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model,\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 llmSpan?.error({ error: 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 const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n onFinish: async props => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n toolCalls: props?.toolCalls,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: convertV4Usage(props?.usage),\n },\n });\n\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 llmSpan?.error({ error: mastraError });\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 onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_STREAMING_ERROR',\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 error,\n );\n this.logger.error('[LLM] - Stream text error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n ...rest,\n messages,\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return executeWithContextSync({ span: llmSpan, fn: () => 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 this.logger.error('[LLM] - Stream text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n requestContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug(`[LLM] - Streaming structured output`, {\n runId,\n messages,\n });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n structuredOutput = getZodDef(structuredOutput).type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model,\n onFinish: async (props: any) => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n object: props?.object,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: props?.usage,\n },\n });\n\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 llmSpan?.error({ error: 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 onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_STREAMING_ERROR',\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 error,\n );\n this.logger.error('[LLM] - Stream object error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n messages,\n // @ts-expect-error - output in our implementation can only be object or array\n output,\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 this.logger.error('[LLM] - Stream object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n llmSpan?.error({ error: e });\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 this.logger.error('[LLM] - Stream object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\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 args?: 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 const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n ...(rest as unknown as Omit<GenerateTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...(rest as unknown as Omit<\n GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >),\n })) 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 args?: 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 const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n const {\n maxSteps = 5,\n onFinish,\n ...streamRest\n } = rest as unknown as Omit<StreamTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>;\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...streamRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n const { onFinish, ...objectRest } = rest as unknown as Omit<\n StreamObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >;\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...objectRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n","import { randomUUID } from 'node:crypto';\n\n/**\n * Converts a doGenerate result to a ReadableStream format.\n * This is shared between V2 and V3 model wrappers since the content/result structure is compatible.\n */\nexport function createStreamFromGenerateResult(result: {\n warnings: unknown[];\n response?: {\n id?: string;\n modelId?: string;\n timestamp?: Date;\n };\n content: Array<{\n type: string;\n [key: string]: unknown;\n }>;\n finishReason: unknown;\n usage: unknown;\n providerMetadata?: unknown;\n}): ReadableStream {\n return new ReadableStream({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings: result.warnings });\n controller.enqueue({\n type: 'response-metadata',\n id: result.response?.id,\n modelId: result.response?.modelId,\n timestamp: result.response?.timestamp,\n });\n\n const toolCallMeta: Record<string, { providerExecuted?: boolean }> = {};\n for (const message of result.content) {\n if (message.type === 'tool-call') {\n const toolCall = message as {\n type: 'tool-call';\n toolCallId: string;\n toolName: string;\n input: unknown;\n providerExecuted?: boolean;\n dynamic?: boolean;\n };\n toolCallMeta[toolCall.toolCallId] = { providerExecuted: toolCall.providerExecuted };\n controller.enqueue({\n type: 'tool-input-start',\n id: toolCall.toolCallId,\n toolName: toolCall.toolName,\n providerExecuted: toolCall.providerExecuted,\n dynamic: toolCall.dynamic,\n });\n controller.enqueue({\n type: 'tool-input-delta',\n id: toolCall.toolCallId,\n delta: toolCall.input,\n });\n controller.enqueue({\n type: 'tool-input-end',\n id: toolCall.toolCallId,\n });\n controller.enqueue(toolCall);\n } else if (message.type === 'tool-result') {\n const toolResult = message as { type: 'tool-result'; toolCallId: string; [key: string]: unknown };\n const meta = toolCallMeta[toolResult.toolCallId];\n if (meta?.providerExecuted) {\n controller.enqueue({ ...toolResult, providerExecuted: meta.providerExecuted });\n } else {\n controller.enqueue(message);\n }\n } else if (message.type === 'text') {\n const text = message as {\n type: 'text';\n text: string;\n providerMetadata?: unknown;\n };\n const id = `msg_${randomUUID()}`;\n controller.enqueue({\n type: 'text-start',\n id,\n providerMetadata: text.providerMetadata,\n });\n controller.enqueue({\n type: 'text-delta',\n id,\n delta: text.text,\n });\n controller.enqueue({\n type: 'text-end',\n id,\n });\n } else if (message.type === 'reasoning') {\n const id = `reasoning_${randomUUID()}`;\n const reasoning = message as {\n type: 'reasoning';\n text: string;\n providerMetadata?: unknown;\n };\n controller.enqueue({\n type: 'reasoning-start',\n id,\n providerMetadata: reasoning.providerMetadata,\n });\n controller.enqueue({\n type: 'reasoning-delta',\n id,\n delta: reasoning.text,\n providerMetadata: reasoning.providerMetadata,\n });\n controller.enqueue({\n type: 'reasoning-end',\n id,\n providerMetadata: reasoning.providerMetadata,\n });\n } else if (message.type === 'file') {\n const file = message as {\n type: 'file';\n mediaType: string;\n data: unknown;\n };\n controller.enqueue({\n type: 'file',\n mediaType: file.mediaType,\n data: file.data,\n });\n } else if (message.type === 'source') {\n const source = message as {\n type: 'source';\n sourceType: 'url' | 'document';\n id: string;\n url?: string;\n mediaType?: string;\n filename?: string;\n title?: string;\n providerMetadata?: unknown;\n };\n if (source.sourceType === 'url') {\n controller.enqueue({\n type: 'source',\n id: source.id,\n sourceType: 'url',\n url: source.url,\n title: source.title,\n providerMetadata: source.providerMetadata,\n });\n } else {\n controller.enqueue({\n type: 'source',\n id: source.id,\n sourceType: 'document',\n mediaType: source.mediaType,\n filename: source.filename,\n title: source.title,\n providerMetadata: source.providerMetadata,\n });\n }\n }\n }\n\n controller.enqueue({\n type: 'finish',\n finishReason: result.finishReason,\n usage: result.usage,\n providerMetadata: result.providerMetadata,\n });\n\n controller.close();\n },\n });\n}\n","import type { LanguageModelV2, LanguageModelV2CallOptions } from '@ai-sdk/provider-v5';\nimport type { MastraLanguageModelV2 } from '../../shared.types';\nimport { createStreamFromGenerateResult } from '../generate-to-stream';\n\ntype StreamResult = Awaited<ReturnType<LanguageModelV2['doStream']>>;\n\n/**\n * Wrapper class for AI SDK V5 (LanguageModelV2) that converts doGenerate to return\n * a stream format for consistency with Mastra's streaming architecture.\n */\nexport class AISDKV5LanguageModel implements MastraLanguageModelV2 {\n /**\n * The language model must specify which language model interface version it implements.\n */\n readonly specificationVersion: 'v2' = 'v2';\n /**\n * Name of the provider for logging purposes.\n */\n readonly provider: string;\n /**\n * Provider-specific model ID for logging purposes.\n */\n readonly modelId: string;\n /**\n * Supported URL patterns by media type for the provider.\n *\n * The keys are media type patterns or full media types (e.g. `*\\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).\n * and the values are arrays of regular expressions that match the URL paths.\n * The matching should be against lower-case URLs.\n * Matched URLs are supported natively by the model and are not downloaded.\n * @returns A map of supported URL patterns by media type (as a promise or a plain object).\n */\n supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;\n\n #model: LanguageModelV2;\n\n constructor(config: LanguageModelV2) {\n this.#model = config;\n this.provider = this.#model.provider;\n this.modelId = this.#model.modelId;\n this.supportedUrls = this.#model.supportedUrls;\n }\n\n async doGenerate(options: LanguageModelV2CallOptions) {\n const result = await this.#model.doGenerate(options);\n\n return {\n request: result.request!,\n response: result.response as unknown as StreamResult['response'],\n stream: createStreamFromGenerateResult(result),\n };\n }\n\n async doStream(options: LanguageModelV2CallOptions) {\n return await this.#model.doStream(options);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/stream/aisdk/v4/usage.ts","../src/llm/model/model.ts","../src/llm/model/aisdk/generate-to-stream.ts","../src/llm/model/aisdk/v5/model.ts"],"names":["MastraBase","OpenAIReasoningSchemaCompatLayer","OpenAISchemaCompatLayer","GoogleSchemaCompatLayer","AnthropicSchemaCompatLayer","DeepSeekSchemaCompatLayer","MetaSchemaCompatLayer","applyCompatLayer","resolveObservabilityContext","isZodType","isZodArray","getZodDef","toStandardSchema","standardSchemaToJSONSchema","jsonSchema","isStandardSchemaWithJSON","MastraError","delay","output_exports","executeWithContext","generateText","generateObject","executeWithContextSync","streamText","streamObject","onFinish","randomUUID"],"mappings":"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","file":"chunk-64L4MPSZ.cjs","sourcesContent":["import type { UsageStats } from '../../../observability';\n\n/**\n * AI SDK v4 LanguageModelUsage type definition\n * (matches the ai package's LanguageModelUsage)\n */\ninterface LanguageModelUsageV4 {\n promptTokens: number;\n completionTokens: number;\n totalTokens?: number;\n}\n\n/**\n * Converts AI SDK v4 LanguageModelUsage to our UsageStats format.\n *\n * @param usage - The LanguageModelUsage from AI SDK v4\n * @returns Normalized UsageStats\n */\nexport function convertV4Usage(usage: LanguageModelUsageV4 | undefined): UsageStats {\n if (!usage) {\n return {};\n }\n\n return {\n inputTokens: usage.promptTokens,\n outputTokens: usage.completionTokens,\n };\n}\n","import { generateObject, generateText, Output, streamObject, streamText } from '@internal/ai-sdk-v4';\nimport type {\n CoreMessage,\n LanguageModelV1 as LanguageModel,\n StreamObjectOnFinishCallback,\n StreamTextOnFinishCallback,\n} from '@internal/ai-sdk-v4';\nimport {\n AnthropicSchemaCompatLayer,\n applyCompatLayer,\n DeepSeekSchemaCompatLayer,\n GoogleSchemaCompatLayer,\n MetaSchemaCompatLayer,\n OpenAIReasoningSchemaCompatLayer,\n OpenAISchemaCompatLayer,\n jsonSchema,\n} from '@mastra/schema-compat';\nimport type { JSONSchema7, Schema } from '@mastra/schema-compat';\nimport type { ZodSchema, z } from 'zod/v3';\nimport type { MastraPrimitives } from '../../action';\nimport { MastraBase } from '../../base';\nimport { MastraError, ErrorDomain, ErrorCategory } from '../../error';\nimport type { Mastra } from '../../mastra';\nimport { SpanType, resolveObservabilityContext } from '../../observability';\nimport { executeWithContext, executeWithContextSync } from '../../observability/utils';\nimport { toStandardSchema, standardSchemaToJSONSchema, isStandardSchemaWithJSON } from '../../schema';\nimport { convertV4Usage } from '../../stream/aisdk/v4/usage';\nimport { delay, isZodType } from '../../utils';\nimport { isZodArray, getZodDef } from '../../utils/zod-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, MastraModelOptions } from './shared.types';\n\nexport class MastraLLMV1 extends MastraBase {\n #model: LanguageModel;\n #mastra?: Mastra;\n #options?: MastraModelOptions;\n\n constructor({ model, mastra, options }: { model: LanguageModel; mastra?: Mastra; options?: MastraModelOptions }) {\n super({ name: 'aisdk' });\n\n this.#model = model;\n this.#options = options;\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.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 // \"Type instantiation is excessively deep\" error from complex ZodSchema generic inference\n return applyCompatLayer({\n schema: schema as any,\n compatLayers: schemaCompatLayers,\n mode: 'aiSdkSchema',\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 threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateTextWithMessagesArgs<Tools, Z>): Promise<GenerateTextResult<Tools, Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\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 (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<inferOutput<Z>>;\n }\n\n // Convert Zod schema to JSON Schema via standard schema interface\n const standardSchema = toStandardSchema(schema as any);\n const jsonSchemaToUse = standardSchemaToJSONSchema(standardSchema);\n\n schema = jsonSchema<inferOutput<Z>>(jsonSchemaToUse);\n } else {\n schema = jsonSchema<inferOutput<Z>>(experimental_output);\n }\n }\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n schema,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n const argsForExecute: OriginalGenerateTextOptions<Tools, Z> = {\n ...rest,\n messages,\n model,\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 const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n experimental_output: schema\n ? Output.object({\n schema,\n })\n : undefined,\n };\n\n try {\n const result: GenerateTextResult<Tools, Z> = await executeWithContext({\n span: llmSpan,\n fn: () => generateText(argsForExecute),\n });\n\n if (schema && result.finishReason === 'stop') {\n result.object = (result as any).experimental_output;\n }\n llmSpan?.end({\n output: {\n text: result.text,\n object: result.object,\n reasoning: result.reasoningDetails,\n reasoningText: result.reasoning,\n files: result.files,\n sources: result.sources,\n toolCalls: result.toolCalls,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\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 this.logger.error('[LLM] - Generate text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n async __textObject<Z extends ZodSchema | JSONSchema7>({\n messages,\n structuredOutput,\n runId,\n threadId,\n resourceId,\n requestContext,\n ...rest\n }: GenerateObjectWithMessagesArgs<Z>): Promise<GenerateObjectResult<Z>> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug(`[LLM] - Generating a text object`, { runId });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: false,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n const zodDef = getZodDef(structuredOutput);\n if ('element' in zodDef) {\n structuredOutput = zodDef.element;\n } else {\n structuredOutput = zodDef.type;\n }\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalGenerateObjectOptions<Z> = {\n ...rest,\n messages,\n model,\n // @ts-expect-error - output in our implementation can only be object or array\n output,\n schema: processedSchema as Schema<Z>,\n };\n\n try {\n // @ts-expect-error - output in our implementation can only be object or array\n const result = await generateObject(argsForExecute);\n\n llmSpan?.end({\n output: {\n object: result.object,\n warnings: result.warnings,\n },\n attributes: {\n finishReason: result.finishReason,\n responseId: result.response?.id,\n responseModel: result.response?.modelId,\n usage: convertV4Usage(result.usage),\n },\n });\n\n // @ts-expect-error - output in our implementation can only be object or array\n return result;\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 this.logger.error('[LLM] - Generate object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\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 this.logger.error('[LLM] - Generate object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\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 threadId,\n resourceId,\n requestContext,\n ...rest\n }: StreamTextWithMessagesArgs<Tools, Z>): StreamTextResult<Tools, Z> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\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 (isZodArray(schema)) {\n schema = getZodDef(schema).type as z.ZodType<Z>;\n }\n } else {\n schema = jsonSchema(experimental_output as JSONSchema7) as Schema<Z>;\n }\n }\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n // make json schema a ai sdk schema\n if (tools && Object.keys(tools).length > 0) {\n for (const tool of Object.values(tools)) {\n if (tool.parameters) {\n if ('validate' in tool.parameters) {\n tool.parameters = tool.parameters;\n } else if (isStandardSchemaWithJSON(tool.parameters)) {\n tool.parameters = jsonSchema(standardSchemaToJSONSchema(tool.parameters));\n } else {\n tool.parameters = jsonSchema(tool.parameters);\n }\n }\n }\n }\n\n const argsForExecute: OriginalStreamTextOptions<Tools, Z> = {\n model,\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 llmSpan?.error({ error: 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 const remainingTokens = parseInt(props?.response?.headers?.['x-ratelimit-remaining-tokens'] ?? '', 10);\n if (!isNaN(remainingTokens) && remainingTokens > 0 && remainingTokens < 2000) {\n this.logger.warn('Rate limit approaching, waiting 10 seconds', { runId });\n await delay(10 * 1000);\n }\n },\n onFinish: async props => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n toolCalls: props?.toolCalls,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: convertV4Usage(props?.usage),\n },\n });\n\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 llmSpan?.error({ error: mastraError });\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 onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_TEXT_AI_SDK_STREAMING_ERROR',\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 error,\n );\n this.logger.error('[LLM] - Stream text error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n ...rest,\n messages,\n experimental_output: schema\n ? (Output.object({\n schema,\n }) as any)\n : undefined,\n };\n\n try {\n return executeWithContextSync({ span: llmSpan, fn: () => 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 this.logger.error('[LLM] - Stream text failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n }\n\n __streamObject<T extends ZodSchema | JSONSchema7>({\n messages,\n runId,\n requestContext,\n threadId,\n resourceId,\n onFinish,\n structuredOutput,\n ...rest\n }: StreamObjectWithMessagesArgs<T>): StreamObjectResult<T> {\n const model = this.#model;\n const observabilityContext = resolveObservabilityContext(rest);\n\n this.logger.debug(`[LLM] - Streaming structured output`, {\n runId,\n messages,\n });\n\n const llmSpan = observabilityContext.tracingContext.currentSpan?.createChildSpan({\n name: `llm: '${model.modelId}'`,\n type: SpanType.MODEL_GENERATION,\n input: {\n messages,\n },\n attributes: {\n model: model.modelId,\n provider: model.provider,\n parameters: {\n temperature: rest.temperature,\n maxOutputTokens: rest.maxTokens,\n topP: rest.topP,\n frequencyPenalty: rest.frequencyPenalty,\n presencePenalty: rest.presencePenalty,\n },\n streaming: true,\n },\n metadata: {\n runId,\n threadId,\n resourceId,\n },\n tracingPolicy: this.#options?.tracingPolicy,\n requestContext,\n });\n\n try {\n let output: 'object' | 'array' = 'object';\n if (isZodArray(structuredOutput)) {\n output = 'array';\n structuredOutput = getZodDef(structuredOutput).type;\n }\n\n const processedSchema = this._applySchemaCompat(structuredOutput!);\n llmSpan?.update({\n input: {\n messages,\n schema: processedSchema,\n },\n });\n\n const argsForExecute: OriginalStreamObjectOptions<T> = {\n ...rest,\n model,\n onFinish: async (props: any) => {\n // End the model generation span BEFORE calling the user's onFinish callback\n // This ensures the model span ends before the agent span\n llmSpan?.end({\n output: {\n text: props?.text,\n object: props?.object,\n reasoning: props?.reasoningDetails,\n reasoningText: props?.reasoning,\n files: props?.files,\n sources: props?.sources,\n warnings: props?.warnings,\n },\n attributes: {\n finishReason: props?.finishReason,\n usage: props?.usage,\n },\n });\n\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 llmSpan?.error({ error: 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 onError: ({ error }) => {\n const mastraError = new MastraError(\n {\n id: 'LLM_STREAM_OBJECT_AI_SDK_STREAMING_ERROR',\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 error,\n );\n this.logger.error('[LLM] - Stream object error', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n },\n messages,\n // @ts-expect-error - output in our implementation can only be object or array\n output,\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 this.logger.error('[LLM] - Stream object failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\n throw mastraError;\n }\n } catch (e: unknown) {\n if (e instanceof MastraError) {\n llmSpan?.error({ error: e });\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 this.logger.error('[LLM] - Stream object schema conversion failed', {\n error: mastraError,\n runId,\n threadId,\n resourceId,\n modelId: model.modelId,\n modelProvider: model.provider,\n });\n llmSpan?.error({ error: mastraError });\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 args?: 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 const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n return (await this.__text<Tools, StructuredOutput>({\n messages: msgs,\n ...(rest as unknown as Omit<GenerateTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>),\n })) as GenerateReturn<Tools, Output, StructuredOutput>;\n }\n\n return (await this.__textObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n ...(rest as unknown as Omit<\n GenerateObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >),\n })) 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 args?: 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 const { output, ...rest } = args ?? ({} as NonNullable<typeof args>);\n\n if (!output) {\n const {\n maxSteps = 5,\n onFinish,\n ...streamRest\n } = rest as unknown as Omit<StreamTextWithMessagesArgs<Tools, StructuredOutput>, 'messages'>;\n return this.__stream({\n messages: msgs,\n maxSteps,\n onFinish: onFinish as StreamTextOnFinishCallback<Tools> | undefined,\n ...streamRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n\n const { onFinish, ...objectRest } = rest as unknown as Omit<\n StreamObjectWithMessagesArgs<NonNullable<Output>>,\n 'messages' | 'structuredOutput'\n >;\n return this.__streamObject({\n messages: msgs,\n structuredOutput: output as NonNullable<Output>,\n onFinish: onFinish as StreamObjectOnFinishCallback<inferOutput<Output>> | undefined,\n ...objectRest,\n }) as StreamReturn<Tools, Output, StructuredOutput>;\n }\n}\n","import { randomUUID } from 'node:crypto';\n\n/**\n * Converts a doGenerate result to a ReadableStream format.\n * This is shared between V2 and V3 model wrappers since the content/result structure is compatible.\n */\nexport function createStreamFromGenerateResult(result: {\n warnings: unknown[];\n response?: {\n id?: string;\n modelId?: string;\n timestamp?: Date;\n };\n content: Array<{\n type: string;\n [key: string]: unknown;\n }>;\n finishReason: unknown;\n usage: unknown;\n providerMetadata?: unknown;\n}): ReadableStream {\n return new ReadableStream({\n start(controller) {\n controller.enqueue({ type: 'stream-start', warnings: result.warnings });\n controller.enqueue({\n type: 'response-metadata',\n id: result.response?.id,\n modelId: result.response?.modelId,\n timestamp: result.response?.timestamp,\n });\n\n const toolCallMeta: Record<string, { providerExecuted?: boolean }> = {};\n for (const message of result.content) {\n if (message.type === 'tool-call') {\n const toolCall = message as {\n type: 'tool-call';\n toolCallId: string;\n toolName: string;\n input: unknown;\n providerExecuted?: boolean;\n dynamic?: boolean;\n };\n toolCallMeta[toolCall.toolCallId] = { providerExecuted: toolCall.providerExecuted };\n controller.enqueue({\n type: 'tool-input-start',\n id: toolCall.toolCallId,\n toolName: toolCall.toolName,\n providerExecuted: toolCall.providerExecuted,\n dynamic: toolCall.dynamic,\n });\n controller.enqueue({\n type: 'tool-input-delta',\n id: toolCall.toolCallId,\n delta: toolCall.input,\n });\n controller.enqueue({\n type: 'tool-input-end',\n id: toolCall.toolCallId,\n });\n controller.enqueue(toolCall);\n } else if (message.type === 'tool-result') {\n const toolResult = message as { type: 'tool-result'; toolCallId: string; [key: string]: unknown };\n const meta = toolCallMeta[toolResult.toolCallId];\n if (meta?.providerExecuted) {\n controller.enqueue({ ...toolResult, providerExecuted: meta.providerExecuted });\n } else {\n controller.enqueue(message);\n }\n } else if (message.type === 'text') {\n const text = message as {\n type: 'text';\n text: string;\n providerMetadata?: unknown;\n };\n const id = `msg_${randomUUID()}`;\n controller.enqueue({\n type: 'text-start',\n id,\n providerMetadata: text.providerMetadata,\n });\n controller.enqueue({\n type: 'text-delta',\n id,\n delta: text.text,\n });\n controller.enqueue({\n type: 'text-end',\n id,\n });\n } else if (message.type === 'reasoning') {\n const id = `reasoning_${randomUUID()}`;\n const reasoning = message as {\n type: 'reasoning';\n text: string;\n providerMetadata?: unknown;\n };\n controller.enqueue({\n type: 'reasoning-start',\n id,\n providerMetadata: reasoning.providerMetadata,\n });\n controller.enqueue({\n type: 'reasoning-delta',\n id,\n delta: reasoning.text,\n providerMetadata: reasoning.providerMetadata,\n });\n controller.enqueue({\n type: 'reasoning-end',\n id,\n providerMetadata: reasoning.providerMetadata,\n });\n } else if (message.type === 'file') {\n const file = message as {\n type: 'file';\n mediaType: string;\n data: unknown;\n };\n controller.enqueue({\n type: 'file',\n mediaType: file.mediaType,\n data: file.data,\n });\n } else if (message.type === 'source') {\n const source = message as {\n type: 'source';\n sourceType: 'url' | 'document';\n id: string;\n url?: string;\n mediaType?: string;\n filename?: string;\n title?: string;\n providerMetadata?: unknown;\n };\n if (source.sourceType === 'url') {\n controller.enqueue({\n type: 'source',\n id: source.id,\n sourceType: 'url',\n url: source.url,\n title: source.title,\n providerMetadata: source.providerMetadata,\n });\n } else {\n controller.enqueue({\n type: 'source',\n id: source.id,\n sourceType: 'document',\n mediaType: source.mediaType,\n filename: source.filename,\n title: source.title,\n providerMetadata: source.providerMetadata,\n });\n }\n }\n }\n\n controller.enqueue({\n type: 'finish',\n finishReason: result.finishReason,\n usage: result.usage,\n providerMetadata: result.providerMetadata,\n });\n\n controller.close();\n },\n });\n}\n","import type { LanguageModelV2, LanguageModelV2CallOptions } from '@ai-sdk/provider-v5';\nimport type { MastraLanguageModelV2 } from '../../shared.types';\nimport { createStreamFromGenerateResult } from '../generate-to-stream';\n\ntype StreamResult = Awaited<ReturnType<LanguageModelV2['doStream']>>;\n\n/**\n * Wrapper class for AI SDK V5 (LanguageModelV2) that converts doGenerate to return\n * a stream format for consistency with Mastra's streaming architecture.\n */\nexport class AISDKV5LanguageModel implements MastraLanguageModelV2 {\n /**\n * The language model must specify which language model interface version it implements.\n */\n readonly specificationVersion: 'v2' = 'v2';\n /**\n * Name of the provider for logging purposes.\n */\n readonly provider: string;\n /**\n * Provider-specific model ID for logging purposes.\n */\n readonly modelId: string;\n /**\n * Supported URL patterns by media type for the provider.\n *\n * The keys are media type patterns or full media types (e.g. `*\\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).\n * and the values are arrays of regular expressions that match the URL paths.\n * The matching should be against lower-case URLs.\n * Matched URLs are supported natively by the model and are not downloaded.\n * @returns A map of supported URL patterns by media type (as a promise or a plain object).\n */\n supportedUrls: PromiseLike<Record<string, RegExp[]>> | Record<string, RegExp[]>;\n\n #model: LanguageModelV2;\n\n constructor(config: LanguageModelV2) {\n this.#model = config;\n this.provider = this.#model.provider;\n this.modelId = this.#model.modelId;\n this.supportedUrls = this.#model.supportedUrls;\n }\n\n async doGenerate(options: LanguageModelV2CallOptions) {\n const result = await this.#model.doGenerate(options);\n\n return {\n request: result.request!,\n response: result.response as unknown as StreamResult['response'],\n stream: createStreamFromGenerateResult(result),\n };\n }\n\n async doStream(options: LanguageModelV2CallOptions) {\n return await this.#model.doStream(options);\n }\n}\n"]}