@mastra/core 0.24.1 → 0.24.2-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 +15 -0
  2. package/dist/agent/agent.d.ts +1 -1
  3. package/dist/agent/agent.d.ts.map +1 -1
  4. package/dist/agent/agent.types.d.ts +2 -2
  5. package/dist/agent/agent.types.d.ts.map +1 -1
  6. package/dist/agent/index.cjs +13 -13
  7. package/dist/agent/index.js +2 -2
  8. package/dist/agent/input-processor/index.cjs +6 -6
  9. package/dist/agent/input-processor/index.js +1 -1
  10. package/dist/agent/message-list/index.d.ts.map +1 -1
  11. package/dist/agent/message-list/prompt/convert-file.d.ts +1 -1
  12. package/dist/agent/message-list/prompt/convert-file.d.ts.map +1 -1
  13. package/dist/agent/types.d.ts +1 -0
  14. package/dist/agent/types.d.ts.map +1 -1
  15. package/dist/agent/utils.d.ts.map +1 -1
  16. package/dist/agent/workflows/prepare-stream/index.d.ts +2 -1
  17. package/dist/agent/workflows/prepare-stream/index.d.ts.map +1 -1
  18. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts +3 -1
  19. package/dist/agent/workflows/prepare-stream/map-results-step.d.ts.map +1 -1
  20. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts +2 -1
  21. package/dist/agent/workflows/prepare-stream/prepare-memory-step.d.ts.map +1 -1
  22. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts +2 -1
  23. package/dist/agent/workflows/prepare-stream/prepare-tools-step.d.ts.map +1 -1
  24. package/dist/agent/workflows/prepare-stream/stream-step.d.ts +3 -1
  25. package/dist/agent/workflows/prepare-stream/stream-step.d.ts.map +1 -1
  26. package/dist/ai-tracing/index.cjs +36 -36
  27. package/dist/ai-tracing/index.js +1 -1
  28. package/dist/{chunk-EDVPIVAB.js → chunk-4OPPKDPO.js} +3 -3
  29. package/dist/{chunk-EDVPIVAB.js.map → chunk-4OPPKDPO.js.map} +1 -1
  30. package/dist/{chunk-BCFLCIAX.cjs → chunk-B6RCPK2E.cjs} +173 -15
  31. package/dist/chunk-B6RCPK2E.cjs.map +1 -0
  32. package/dist/{chunk-UBVIPDVD.cjs → chunk-BC5S7YUC.cjs} +4 -4
  33. package/dist/{chunk-UBVIPDVD.cjs.map → chunk-BC5S7YUC.cjs.map} +1 -1
  34. package/dist/{chunk-DNYWTNND.js → chunk-DBVX3GFJ.js} +27 -22
  35. package/dist/chunk-DBVX3GFJ.js.map +1 -0
  36. package/dist/{chunk-6OGG24PY.cjs → chunk-DE7YOOVP.cjs} +55 -52
  37. package/dist/chunk-DE7YOOVP.cjs.map +1 -0
  38. package/dist/{chunk-II37LKES.js → chunk-EFNEFT4U.js} +173 -15
  39. package/dist/chunk-EFNEFT4U.js.map +1 -0
  40. package/dist/{chunk-HKT62GIP.js → chunk-FKV5666D.js} +3 -3
  41. package/dist/{chunk-HKT62GIP.js.map → chunk-FKV5666D.js.map} +1 -1
  42. package/dist/{chunk-LILCMG3L.cjs → chunk-GCMRHVCZ.cjs} +8 -8
  43. package/dist/{chunk-LILCMG3L.cjs.map → chunk-GCMRHVCZ.cjs.map} +1 -1
  44. package/dist/{chunk-MXLKXD6Q.js → chunk-IZJTEPQQ.js} +4 -4
  45. package/dist/{chunk-MXLKXD6Q.js.map → chunk-IZJTEPQQ.js.map} +1 -1
  46. package/dist/{chunk-Q7VW22SF.js → chunk-J2YC7IYA.js} +5 -5
  47. package/dist/{chunk-Q7VW22SF.js.map → chunk-J2YC7IYA.js.map} +1 -1
  48. package/dist/{chunk-TVZB5572.cjs → chunk-JBYJAIFU.cjs} +12 -12
  49. package/dist/chunk-JBYJAIFU.cjs.map +1 -0
  50. package/dist/{chunk-Z3BWWT7E.js → chunk-K7MEUZ3O.js} +3 -3
  51. package/dist/{chunk-Z3BWWT7E.js.map → chunk-K7MEUZ3O.js.map} +1 -1
  52. package/dist/{chunk-O5PROZMW.cjs → chunk-LZFCR2SE.cjs} +4 -4
  53. package/dist/chunk-LZFCR2SE.cjs.map +1 -0
  54. package/dist/{chunk-TPYSVJ5T.cjs → chunk-NJKNZXAS.cjs} +12 -12
  55. package/dist/{chunk-TPYSVJ5T.cjs.map → chunk-NJKNZXAS.cjs.map} +1 -1
  56. package/dist/{chunk-V66IXQAJ.js → chunk-OLERJ2OU.js} +3 -3
  57. package/dist/{chunk-V66IXQAJ.js.map → chunk-OLERJ2OU.js.map} +1 -1
  58. package/dist/{chunk-EJPCH5WB.cjs → chunk-RHZQQQZ4.cjs} +28 -23
  59. package/dist/chunk-RHZQQQZ4.cjs.map +1 -0
  60. package/dist/{chunk-ZVAWVX5J.js → chunk-SHPLHQFH.js} +20 -17
  61. package/dist/chunk-SHPLHQFH.js.map +1 -0
  62. package/dist/{chunk-VBQZFQXS.cjs → chunk-UD7DS7OY.cjs} +4 -4
  63. package/dist/{chunk-VBQZFQXS.cjs.map → chunk-UD7DS7OY.cjs.map} +1 -1
  64. package/dist/{chunk-CESZ2AOS.js → chunk-XC2OEALC.js} +5 -5
  65. package/dist/chunk-XC2OEALC.js.map +1 -0
  66. package/dist/{chunk-KDNLQBCW.cjs → chunk-YDFWVGCR.cjs} +11 -11
  67. package/dist/{chunk-KDNLQBCW.cjs.map → chunk-YDFWVGCR.cjs.map} +1 -1
  68. package/dist/{chunk-5D6TMUAG.cjs → chunk-YSQE5IHK.cjs} +6 -6
  69. package/dist/{chunk-5D6TMUAG.cjs.map → chunk-YSQE5IHK.cjs.map} +1 -1
  70. package/dist/{chunk-MBMPTC7F.js → chunk-ZIHEKHUB.js} +4 -4
  71. package/dist/chunk-ZIHEKHUB.js.map +1 -0
  72. package/dist/index.cjs +49 -49
  73. package/dist/index.js +8 -8
  74. package/dist/llm/index.cjs +7 -7
  75. package/dist/llm/index.js +1 -1
  76. package/dist/llm/model/aisdk/v5/model.d.ts +47 -0
  77. package/dist/llm/model/aisdk/v5/model.d.ts.map +1 -0
  78. package/dist/llm/model/is-v2-model.d.ts +3 -0
  79. package/dist/llm/model/is-v2-model.d.ts.map +1 -0
  80. package/dist/llm/model/model-method-from-agent.d.ts +4 -0
  81. package/dist/llm/model/model-method-from-agent.d.ts.map +1 -0
  82. package/dist/llm/model/model.loop.d.ts +2 -2
  83. package/dist/llm/model/model.loop.d.ts.map +1 -1
  84. package/dist/llm/model/model.loop.types.d.ts +2 -0
  85. package/dist/llm/model/model.loop.types.d.ts.map +1 -1
  86. package/dist/llm/model/resolve-model.d.ts +1 -1
  87. package/dist/llm/model/resolve-model.d.ts.map +1 -1
  88. package/dist/llm/model/router.d.ts +6 -4
  89. package/dist/llm/model/router.d.ts.map +1 -1
  90. package/dist/llm/model/shared.types.d.ts +10 -4
  91. package/dist/llm/model/shared.types.d.ts.map +1 -1
  92. package/dist/loop/index.cjs +2 -2
  93. package/dist/loop/index.js +1 -1
  94. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts +37 -0
  95. package/dist/loop/test-utils/MastraLanguageModelV2Mock.d.ts.map +1 -0
  96. package/dist/loop/test-utils/fullStream.d.ts.map +1 -1
  97. package/dist/loop/test-utils/generateText.d.ts.map +1 -1
  98. package/dist/loop/test-utils/options.d.ts.map +1 -1
  99. package/dist/loop/test-utils/resultObject.d.ts.map +1 -1
  100. package/dist/loop/test-utils/streamObject.d.ts.map +1 -1
  101. package/dist/loop/test-utils/telemetry.d.ts.map +1 -1
  102. package/dist/loop/test-utils/textStream.d.ts.map +1 -1
  103. package/dist/loop/test-utils/toUIMessageStream.d.ts.map +1 -1
  104. package/dist/loop/test-utils/tools.d.ts.map +1 -1
  105. package/dist/loop/test-utils/utils.d.ts +1 -1
  106. package/dist/loop/test-utils/utils.d.ts.map +1 -1
  107. package/dist/loop/types.d.ts +8 -3
  108. package/dist/loop/types.d.ts.map +1 -1
  109. package/dist/loop/workflows/agentic-execution/index.d.ts +12 -12
  110. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts +9 -9
  111. package/dist/loop/workflows/agentic-execution/llm-execution-step.d.ts.map +1 -1
  112. package/dist/loop/workflows/agentic-execution/llm-mapping-step.d.ts +4 -4
  113. package/dist/loop/workflows/agentic-loop/index.d.ts +12 -12
  114. package/dist/loop/workflows/run-state.d.ts +2 -2
  115. package/dist/loop/workflows/run-state.d.ts.map +1 -1
  116. package/dist/loop/workflows/schema.d.ts +4 -4
  117. package/dist/mastra/index.cjs +2 -2
  118. package/dist/mastra/index.d.ts +2 -2
  119. package/dist/mastra/index.d.ts.map +1 -1
  120. package/dist/mastra/index.js +1 -1
  121. package/dist/memory/index.cjs +4 -4
  122. package/dist/memory/index.js +1 -1
  123. package/dist/processors/index.cjs +11 -11
  124. package/dist/processors/index.js +1 -1
  125. package/dist/relevance/index.cjs +4 -4
  126. package/dist/relevance/index.js +1 -1
  127. package/dist/scores/index.cjs +9 -9
  128. package/dist/scores/index.js +2 -2
  129. package/dist/scores/scoreTraces/index.cjs +8 -8
  130. package/dist/scores/scoreTraces/index.js +3 -3
  131. package/dist/storage/index.cjs +3 -3
  132. package/dist/storage/index.js +1 -1
  133. package/dist/stream/aisdk/v5/execute.d.ts +6 -3
  134. package/dist/stream/aisdk/v5/execute.d.ts.map +1 -1
  135. package/dist/stream/aisdk/v5/output.d.ts.map +1 -1
  136. package/dist/stream/base/output.d.ts.map +1 -1
  137. package/dist/stream/index.cjs +11 -11
  138. package/dist/stream/index.js +2 -2
  139. package/dist/stream/types.d.ts +4 -3
  140. package/dist/stream/types.d.ts.map +1 -1
  141. package/dist/test-utils/llm-mock.cjs +2 -2
  142. package/dist/test-utils/llm-mock.js +1 -1
  143. package/dist/tools/tool-builder/builder.d.ts.map +1 -1
  144. package/dist/utils.cjs +17 -17
  145. package/dist/utils.d.ts +1 -1
  146. package/dist/utils.d.ts.map +1 -1
  147. package/dist/utils.js +1 -1
  148. package/dist/workflows/evented/index.cjs +10 -10
  149. package/dist/workflows/evented/index.js +1 -1
  150. package/dist/workflows/index.cjs +14 -14
  151. package/dist/workflows/index.js +1 -1
  152. package/dist/workflows/legacy/index.cjs +22 -22
  153. package/dist/workflows/legacy/index.js +1 -1
  154. package/dist/workflows/types.d.ts +1 -1
  155. package/dist/workflows/types.d.ts.map +1 -1
  156. package/dist/workflows/workflow.d.ts +2 -2
  157. package/dist/workflows/workflow.d.ts.map +1 -1
  158. package/package.json +2 -2
  159. package/dist/chunk-6OGG24PY.cjs.map +0 -1
  160. package/dist/chunk-BCFLCIAX.cjs.map +0 -1
  161. package/dist/chunk-CESZ2AOS.js.map +0 -1
  162. package/dist/chunk-DNYWTNND.js.map +0 -1
  163. package/dist/chunk-EJPCH5WB.cjs.map +0 -1
  164. package/dist/chunk-II37LKES.js.map +0 -1
  165. package/dist/chunk-MBMPTC7F.js.map +0 -1
  166. package/dist/chunk-O5PROZMW.cjs.map +0 -1
  167. package/dist/chunk-TVZB5572.cjs.map +0 -1
  168. package/dist/chunk-ZVAWVX5J.js.map +0 -1
@@ -1,148 +1,148 @@
1
1
  'use strict';
2
2
 
3
- var chunkO5PROZMW_cjs = require('../chunk-O5PROZMW.cjs');
3
+ var chunkLZFCR2SE_cjs = require('../chunk-LZFCR2SE.cjs');
4
4
 
5
5
 
6
6
 
7
7
  Object.defineProperty(exports, "AISpanType", {
8
8
  enumerable: true,
9
- get: function () { return chunkO5PROZMW_cjs.AISpanType; }
9
+ get: function () { return chunkLZFCR2SE_cjs.AISpanType; }
10
10
  });
11
11
  Object.defineProperty(exports, "AITracingEventType", {
12
12
  enumerable: true,
13
- get: function () { return chunkO5PROZMW_cjs.AITracingEventType; }
13
+ get: function () { return chunkLZFCR2SE_cjs.AITracingEventType; }
14
14
  });
15
15
  Object.defineProperty(exports, "BaseAISpan", {
16
16
  enumerable: true,
17
- get: function () { return chunkO5PROZMW_cjs.BaseAISpan; }
17
+ get: function () { return chunkLZFCR2SE_cjs.BaseAISpan; }
18
18
  });
19
19
  Object.defineProperty(exports, "BaseAITracing", {
20
20
  enumerable: true,
21
- get: function () { return chunkO5PROZMW_cjs.BaseAITracing; }
21
+ get: function () { return chunkLZFCR2SE_cjs.BaseAITracing; }
22
22
  });
23
23
  Object.defineProperty(exports, "BaseExporter", {
24
24
  enumerable: true,
25
- get: function () { return chunkO5PROZMW_cjs.BaseExporter; }
25
+ get: function () { return chunkLZFCR2SE_cjs.BaseExporter; }
26
26
  });
27
27
  Object.defineProperty(exports, "CloudExporter", {
28
28
  enumerable: true,
29
- get: function () { return chunkO5PROZMW_cjs.CloudExporter; }
29
+ get: function () { return chunkLZFCR2SE_cjs.CloudExporter; }
30
30
  });
31
31
  Object.defineProperty(exports, "ConsoleExporter", {
32
32
  enumerable: true,
33
- get: function () { return chunkO5PROZMW_cjs.ConsoleExporter; }
33
+ get: function () { return chunkLZFCR2SE_cjs.ConsoleExporter; }
34
34
  });
35
35
  Object.defineProperty(exports, "DefaultAISpan", {
36
36
  enumerable: true,
37
- get: function () { return chunkO5PROZMW_cjs.DefaultAISpan; }
37
+ get: function () { return chunkLZFCR2SE_cjs.DefaultAISpan; }
38
38
  });
39
39
  Object.defineProperty(exports, "DefaultAITracing", {
40
40
  enumerable: true,
41
- get: function () { return chunkO5PROZMW_cjs.DefaultAITracing; }
41
+ get: function () { return chunkLZFCR2SE_cjs.DefaultAITracing; }
42
42
  });
43
43
  Object.defineProperty(exports, "DefaultExporter", {
44
44
  enumerable: true,
45
- get: function () { return chunkO5PROZMW_cjs.DefaultExporter; }
45
+ get: function () { return chunkLZFCR2SE_cjs.DefaultExporter; }
46
46
  });
47
47
  Object.defineProperty(exports, "InternalSpans", {
48
48
  enumerable: true,
49
- get: function () { return chunkO5PROZMW_cjs.InternalSpans; }
49
+ get: function () { return chunkLZFCR2SE_cjs.InternalSpans; }
50
50
  });
51
51
  Object.defineProperty(exports, "ModelSpanTracker", {
52
52
  enumerable: true,
53
- get: function () { return chunkO5PROZMW_cjs.ModelSpanTracker; }
53
+ get: function () { return chunkLZFCR2SE_cjs.ModelSpanTracker; }
54
54
  });
55
55
  Object.defineProperty(exports, "NoOpAISpan", {
56
56
  enumerable: true,
57
- get: function () { return chunkO5PROZMW_cjs.NoOpAISpan; }
57
+ get: function () { return chunkLZFCR2SE_cjs.NoOpAISpan; }
58
58
  });
59
59
  Object.defineProperty(exports, "SamplingStrategyType", {
60
60
  enumerable: true,
61
- get: function () { return chunkO5PROZMW_cjs.SamplingStrategyType; }
61
+ get: function () { return chunkLZFCR2SE_cjs.SamplingStrategyType; }
62
62
  });
63
63
  Object.defineProperty(exports, "SensitiveDataFilter", {
64
64
  enumerable: true,
65
- get: function () { return chunkO5PROZMW_cjs.SensitiveDataFilter; }
65
+ get: function () { return chunkLZFCR2SE_cjs.SensitiveDataFilter; }
66
66
  });
67
67
  Object.defineProperty(exports, "clearAITracingRegistry", {
68
68
  enumerable: true,
69
- get: function () { return chunkO5PROZMW_cjs.clearAITracingRegistry; }
69
+ get: function () { return chunkLZFCR2SE_cjs.clearAITracingRegistry; }
70
70
  });
71
71
  Object.defineProperty(exports, "deepClean", {
72
72
  enumerable: true,
73
- get: function () { return chunkO5PROZMW_cjs.deepClean; }
73
+ get: function () { return chunkLZFCR2SE_cjs.deepClean; }
74
74
  });
75
75
  Object.defineProperty(exports, "getAITracing", {
76
76
  enumerable: true,
77
- get: function () { return chunkO5PROZMW_cjs.getAITracing; }
77
+ get: function () { return chunkLZFCR2SE_cjs.getAITracing; }
78
78
  });
79
79
  Object.defineProperty(exports, "getAllAITracing", {
80
80
  enumerable: true,
81
- get: function () { return chunkO5PROZMW_cjs.getAllAITracing; }
81
+ get: function () { return chunkLZFCR2SE_cjs.getAllAITracing; }
82
82
  });
83
83
  Object.defineProperty(exports, "getDefaultAITracing", {
84
84
  enumerable: true,
85
- get: function () { return chunkO5PROZMW_cjs.getDefaultAITracing; }
85
+ get: function () { return chunkLZFCR2SE_cjs.getDefaultAITracing; }
86
86
  });
87
87
  Object.defineProperty(exports, "getNestedValue", {
88
88
  enumerable: true,
89
- get: function () { return chunkO5PROZMW_cjs.getNestedValue; }
89
+ get: function () { return chunkLZFCR2SE_cjs.getNestedValue; }
90
90
  });
91
91
  Object.defineProperty(exports, "getOrCreateSpan", {
92
92
  enumerable: true,
93
- get: function () { return chunkO5PROZMW_cjs.getOrCreateSpan; }
93
+ get: function () { return chunkLZFCR2SE_cjs.getOrCreateSpan; }
94
94
  });
95
95
  Object.defineProperty(exports, "getSelectedAITracing", {
96
96
  enumerable: true,
97
- get: function () { return chunkO5PROZMW_cjs.getSelectedAITracing; }
97
+ get: function () { return chunkLZFCR2SE_cjs.getSelectedAITracing; }
98
98
  });
99
99
  Object.defineProperty(exports, "getValidTraceId", {
100
100
  enumerable: true,
101
- get: function () { return chunkO5PROZMW_cjs.getValidTraceId; }
101
+ get: function () { return chunkLZFCR2SE_cjs.getValidTraceId; }
102
102
  });
103
103
  Object.defineProperty(exports, "hasAITracing", {
104
104
  enumerable: true,
105
- get: function () { return chunkO5PROZMW_cjs.hasAITracing; }
105
+ get: function () { return chunkLZFCR2SE_cjs.hasAITracing; }
106
106
  });
107
107
  Object.defineProperty(exports, "isMastra", {
108
108
  enumerable: true,
109
- get: function () { return chunkO5PROZMW_cjs.isMastra; }
109
+ get: function () { return chunkLZFCR2SE_cjs.isMastra; }
110
110
  });
111
111
  Object.defineProperty(exports, "omitKeys", {
112
112
  enumerable: true,
113
- get: function () { return chunkO5PROZMW_cjs.omitKeys; }
113
+ get: function () { return chunkLZFCR2SE_cjs.omitKeys; }
114
114
  });
115
115
  Object.defineProperty(exports, "registerAITracing", {
116
116
  enumerable: true,
117
- get: function () { return chunkO5PROZMW_cjs.registerAITracing; }
117
+ get: function () { return chunkLZFCR2SE_cjs.registerAITracing; }
118
118
  });
119
119
  Object.defineProperty(exports, "selectFields", {
120
120
  enumerable: true,
121
- get: function () { return chunkO5PROZMW_cjs.selectFields; }
121
+ get: function () { return chunkLZFCR2SE_cjs.selectFields; }
122
122
  });
123
123
  Object.defineProperty(exports, "setNestedValue", {
124
124
  enumerable: true,
125
- get: function () { return chunkO5PROZMW_cjs.setNestedValue; }
125
+ get: function () { return chunkLZFCR2SE_cjs.setNestedValue; }
126
126
  });
127
127
  Object.defineProperty(exports, "setSelector", {
128
128
  enumerable: true,
129
- get: function () { return chunkO5PROZMW_cjs.setSelector; }
129
+ get: function () { return chunkLZFCR2SE_cjs.setSelector; }
130
130
  });
131
131
  Object.defineProperty(exports, "setupAITracing", {
132
132
  enumerable: true,
133
- get: function () { return chunkO5PROZMW_cjs.setupAITracing; }
133
+ get: function () { return chunkLZFCR2SE_cjs.setupAITracing; }
134
134
  });
135
135
  Object.defineProperty(exports, "shutdownAITracingRegistry", {
136
136
  enumerable: true,
137
- get: function () { return chunkO5PROZMW_cjs.shutdownAITracingRegistry; }
137
+ get: function () { return chunkLZFCR2SE_cjs.shutdownAITracingRegistry; }
138
138
  });
139
139
  Object.defineProperty(exports, "unregisterAITracing", {
140
140
  enumerable: true,
141
- get: function () { return chunkO5PROZMW_cjs.unregisterAITracing; }
141
+ get: function () { return chunkLZFCR2SE_cjs.unregisterAITracing; }
142
142
  });
143
143
  Object.defineProperty(exports, "wrapMastra", {
144
144
  enumerable: true,
145
- get: function () { return chunkO5PROZMW_cjs.wrapMastra; }
145
+ get: function () { return chunkLZFCR2SE_cjs.wrapMastra; }
146
146
  });
147
147
  //# sourceMappingURL=index.cjs.map
148
148
  //# sourceMappingURL=index.cjs.map
@@ -1,3 +1,3 @@
1
- export { AISpanType, AITracingEventType, BaseAISpan, BaseAITracing, BaseExporter, CloudExporter, ConsoleExporter, DefaultAISpan, DefaultAITracing, DefaultExporter, InternalSpans, ModelSpanTracker, NoOpAISpan, SamplingStrategyType, SensitiveDataFilter, clearAITracingRegistry, deepClean, getAITracing, getAllAITracing, getDefaultAITracing, getNestedValue, getOrCreateSpan, getSelectedAITracing, getValidTraceId, hasAITracing, isMastra, omitKeys, registerAITracing, selectFields, setNestedValue, setSelector, setupAITracing, shutdownAITracingRegistry, unregisterAITracing, wrapMastra } from '../chunk-MBMPTC7F.js';
1
+ export { AISpanType, AITracingEventType, BaseAISpan, BaseAITracing, BaseExporter, CloudExporter, ConsoleExporter, DefaultAISpan, DefaultAITracing, DefaultExporter, InternalSpans, ModelSpanTracker, NoOpAISpan, SamplingStrategyType, SensitiveDataFilter, clearAITracingRegistry, deepClean, getAITracing, getAllAITracing, getDefaultAITracing, getNestedValue, getOrCreateSpan, getSelectedAITracing, getValidTraceId, hasAITracing, isMastra, omitKeys, registerAITracing, selectFields, setNestedValue, setSelector, setupAITracing, shutdownAITracingRegistry, unregisterAITracing, wrapMastra } from '../chunk-ZIHEKHUB.js';
2
2
  //# sourceMappingURL=index.js.map
3
3
  //# sourceMappingURL=index.js.map
@@ -1,4 +1,4 @@
1
- import { Agent } from './chunk-ZVAWVX5J.js';
1
+ import { Agent } from './chunk-SHPLHQFH.js';
2
2
 
3
3
  // src/relevance/cohere/index.ts
4
4
  var CohereRelevanceScorer = class {
@@ -83,5 +83,5 @@ Always return just the number, no explanation.`,
83
83
  };
84
84
 
85
85
  export { CohereRelevanceScorer, MastraAgentRelevanceScorer, createSimilarityPrompt };
86
- //# sourceMappingURL=chunk-EDVPIVAB.js.map
87
- //# sourceMappingURL=chunk-EDVPIVAB.js.map
86
+ //# sourceMappingURL=chunk-4OPPKDPO.js.map
87
+ //# sourceMappingURL=chunk-4OPPKDPO.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/relevance/cohere/index.ts","../src/relevance/relevance-score-provider.ts","../src/relevance/mastra-agent/index.ts"],"names":[],"mappings":";;;AAoBO,IAAM,wBAAN,MAA8D;AAAA,EAC3D,KAAA;AAAA,EACA,MAAA;AAAA,EACR,WAAA,CAAY,OAAe,MAAA,EAAiB;AAC1C,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,EACf;AAAA,EACA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,gCAAA,CAAA,EAAoC;AAAA,MAC/D,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,aAAA,EAAe,CAAA,OAAA,EAAU,IAAA,CAAK,MAAM,CAAA;AAAA,OACtC;AAAA,MACA,IAAA,EAAM,KAAK,SAAA,CAAU;AAAA,QACnB,KAAA;AAAA,QACA,SAAA,EAAW,CAAC,IAAI,CAAA;AAAA,QAChB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,KAAA,EAAO;AAAA,OACR;AAAA,KACF,CAAA;AAED,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,kBAAA,EAAqB,QAAA,CAAS,MAAM,IAAI,MAAM,QAAA,CAAS,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,IACjF;AAEA,IAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,IAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,OAAA,CAAQ,CAAC,CAAA,EAAG,eAAA;AAExC,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,IAC/D;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AACF;;;ACpDO,SAAS,sBAAA,CAAuB,OAAe,IAAA,EAAsB;AAC1E,EAAA,OAAO,CAAA;;AAAA,OAAA,EAEA,KAAK;;AAAA,MAAA,EAEN,IAAI;;AAAA,sBAAA,CAAA;AAGZ;;;ACRO,IAAM,6BAAN,MAAmE;AAAA,EAChE,KAAA;AAAA,EAER,WAAA,CAAY,MAAc,KAAA,EAA0B;AAClD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAI,KAAA,CAAM;AAAA,MACrB,IAAA,EAAM,oBAAoB,IAAI,CAAA,CAAA;AAAA,MAC9B,YAAA,EAAc,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CAAA,CAAA;AAAA,MAUd;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,MAAA,GAAS,sBAAA,CAAuB,KAAA,EAAO,IAAI,CAAA;AAEjD,IAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,KAAA,CAAM,QAAA,EAAS;AAExC,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,KAAA,CAAM,yBAAyB,IAAA,EAAM;AACvC,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,SAAS,MAAM,CAAA;AACrD,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,eAAe,MAAM,CAAA;AAC3D,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B;AACA,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF","file":"chunk-EDVPIVAB.js","sourcesContent":["import type { RelevanceScoreProvider } from '../relevance-score-provider';\n\ninterface CohereRerankingResponse {\n results: Array<{\n index: number;\n relevance_score: number;\n }>;\n id: string;\n meta: {\n api_version: {\n version: string;\n is_experimental: boolean;\n };\n billed_units: {\n search_units: number;\n };\n };\n}\n\n/** @deprecated Import from `@mastra/rag` instead */\nexport class CohereRelevanceScorer implements RelevanceScoreProvider {\n private model: string;\n private apiKey?: string;\n constructor(model: string, apiKey?: string) {\n console.warn(\n 'CohereRelevanceScorer exported from @mastra/core is deprecated. Please import from \"@mastra/rag\" instead.',\n );\n this.apiKey = apiKey;\n this.model = model;\n }\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const response = await fetch(`https://api.cohere.com/v2/rerank`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n },\n body: JSON.stringify({\n query,\n documents: [text],\n model: this.model,\n top_n: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Cohere API error: ${response.status} ${await response.text()}`);\n }\n\n const data = (await response.json()) as CohereRerankingResponse;\n const relevanceScore = data.results[0]?.relevance_score;\n\n if (!relevanceScore) {\n throw new Error('No relevance score found on Cohere response');\n }\n\n return relevanceScore;\n }\n}\n","// Provider interfaces\nexport interface RelevanceScoreProvider {\n getRelevanceScore(text1: string, text2: string): Promise<number>;\n}\n\n// Helper function used by providers\nexport function createSimilarityPrompt(query: string, text: string): string {\n return `Rate the semantic similarity between the following the query and the text on a scale from 0 to 1 (decimals allowed), where 1 means exactly the same meaning and 0 means completely different:\n\nQuery: ${query}\n\nText: ${text}\n\nRelevance score (0-1):`;\n}\n","import { Agent } from '../../agent';\nimport type { MastraModelConfig } from '../../llm/model/shared.types';\nimport { createSimilarityPrompt } from '../relevance-score-provider';\nimport type { RelevanceScoreProvider } from '../relevance-score-provider';\n\n// Mastra Agent implementation\nexport class MastraAgentRelevanceScorer implements RelevanceScoreProvider {\n private agent: Agent;\n\n constructor(name: string, model: MastraModelConfig) {\n this.agent = new Agent({\n name: `Relevance Scorer ${name}`,\n instructions: `You are a specialized agent for evaluating the relevance of text to queries.\nYour task is to rate how well a text passage answers a given query.\nOutput only a number between 0 and 1, where:\n1.0 = Perfectly relevant, directly answers the query\n0.0 = Completely irrelevant\nConsider:\n- Direct relevance to the question\n- Completeness of information\n- Quality and specificity\nAlways return just the number, no explanation.`,\n model,\n });\n }\n\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const prompt = createSimilarityPrompt(query, text);\n\n const model = await this.agent.getModel();\n\n let response: string;\n if (model.specificationVersion === 'v2') {\n const responseText = await this.agent.generate(prompt);\n response = responseText.text;\n } else {\n const responseText = await this.agent.generateLegacy(prompt);\n response = responseText.text;\n }\n return parseFloat(response);\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/relevance/cohere/index.ts","../src/relevance/relevance-score-provider.ts","../src/relevance/mastra-agent/index.ts"],"names":[],"mappings":";;;AAoBO,IAAM,wBAAN,MAA8D;AAAA,EAC3D,KAAA;AAAA,EACA,MAAA;AAAA,EACR,WAAA,CAAY,OAAe,MAAA,EAAiB;AAC1C,IAAA,OAAA,CAAQ,IAAA;AAAA,MACN;AAAA,KACF;AACA,IAAA,IAAA,CAAK,MAAA,GAAS,MAAA;AACd,IAAA,IAAA,CAAK,KAAA,GAAQ,KAAA;AAAA,EACf;AAAA,EACA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,QAAA,GAAW,MAAM,KAAA,CAAM,CAAA,gCAAA,CAAA,EAAoC;AAAA,MAC/D,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS;AAAA,QACP,cAAA,EAAgB,kBAAA;AAAA,QAChB,aAAA,EAAe,CAAA,OAAA,EAAU,IAAA,CAAK,MAAM,CAAA;AAAA,OACtC;AAAA,MACA,IAAA,EAAM,KAAK,SAAA,CAAU;AAAA,QACnB,KAAA;AAAA,QACA,SAAA,EAAW,CAAC,IAAI,CAAA;AAAA,QAChB,OAAO,IAAA,CAAK,KAAA;AAAA,QACZ,KAAA,EAAO;AAAA,OACR;AAAA,KACF,CAAA;AAED,IAAA,IAAI,CAAC,SAAS,EAAA,EAAI;AAChB,MAAA,MAAM,IAAI,KAAA,CAAM,CAAA,kBAAA,EAAqB,QAAA,CAAS,MAAM,IAAI,MAAM,QAAA,CAAS,IAAA,EAAM,CAAA,CAAE,CAAA;AAAA,IACjF;AAEA,IAAA,MAAM,IAAA,GAAQ,MAAM,QAAA,CAAS,IAAA,EAAK;AAClC,IAAA,MAAM,cAAA,GAAiB,IAAA,CAAK,OAAA,CAAQ,CAAC,CAAA,EAAG,eAAA;AAExC,IAAA,IAAI,CAAC,cAAA,EAAgB;AACnB,MAAA,MAAM,IAAI,MAAM,6CAA6C,CAAA;AAAA,IAC/D;AAEA,IAAA,OAAO,cAAA;AAAA,EACT;AACF;;;ACpDO,SAAS,sBAAA,CAAuB,OAAe,IAAA,EAAsB;AAC1E,EAAA,OAAO,CAAA;;AAAA,OAAA,EAEA,KAAK;;AAAA,MAAA,EAEN,IAAI;;AAAA,sBAAA,CAAA;AAGZ;;;ACRO,IAAM,6BAAN,MAAmE;AAAA,EAChE,KAAA;AAAA,EAER,WAAA,CAAY,MAAc,KAAA,EAA0B;AAClD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAI,KAAA,CAAM;AAAA,MACrB,IAAA,EAAM,oBAAoB,IAAI,CAAA,CAAA;AAAA,MAC9B,YAAA,EAAc,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,8CAAA,CAAA;AAAA,MAUd;AAAA,KACD,CAAA;AAAA,EACH;AAAA,EAEA,MAAM,iBAAA,CAAkB,KAAA,EAAe,IAAA,EAA+B;AACpE,IAAA,MAAM,MAAA,GAAS,sBAAA,CAAuB,KAAA,EAAO,IAAI,CAAA;AAEjD,IAAA,MAAM,KAAA,GAAQ,MAAM,IAAA,CAAK,KAAA,CAAM,QAAA,EAAS;AAExC,IAAA,IAAI,QAAA;AACJ,IAAA,IAAI,KAAA,CAAM,yBAAyB,IAAA,EAAM;AACvC,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,SAAS,MAAM,CAAA;AACrD,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B,CAAA,MAAO;AACL,MAAA,MAAM,YAAA,GAAe,MAAM,IAAA,CAAK,KAAA,CAAM,eAAe,MAAM,CAAA;AAC3D,MAAA,QAAA,GAAW,YAAA,CAAa,IAAA;AAAA,IAC1B;AACA,IAAA,OAAO,WAAW,QAAQ,CAAA;AAAA,EAC5B;AACF","file":"chunk-4OPPKDPO.js","sourcesContent":["import type { RelevanceScoreProvider } from '../relevance-score-provider';\n\ninterface CohereRerankingResponse {\n results: Array<{\n index: number;\n relevance_score: number;\n }>;\n id: string;\n meta: {\n api_version: {\n version: string;\n is_experimental: boolean;\n };\n billed_units: {\n search_units: number;\n };\n };\n}\n\n/** @deprecated Import from `@mastra/rag` instead */\nexport class CohereRelevanceScorer implements RelevanceScoreProvider {\n private model: string;\n private apiKey?: string;\n constructor(model: string, apiKey?: string) {\n console.warn(\n 'CohereRelevanceScorer exported from @mastra/core is deprecated. Please import from \"@mastra/rag\" instead.',\n );\n this.apiKey = apiKey;\n this.model = model;\n }\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const response = await fetch(`https://api.cohere.com/v2/rerank`, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${this.apiKey}`,\n },\n body: JSON.stringify({\n query,\n documents: [text],\n model: this.model,\n top_n: 1,\n }),\n });\n\n if (!response.ok) {\n throw new Error(`Cohere API error: ${response.status} ${await response.text()}`);\n }\n\n const data = (await response.json()) as CohereRerankingResponse;\n const relevanceScore = data.results[0]?.relevance_score;\n\n if (!relevanceScore) {\n throw new Error('No relevance score found on Cohere response');\n }\n\n return relevanceScore;\n }\n}\n","// Provider interfaces\nexport interface RelevanceScoreProvider {\n getRelevanceScore(text1: string, text2: string): Promise<number>;\n}\n\n// Helper function used by providers\nexport function createSimilarityPrompt(query: string, text: string): string {\n return `Rate the semantic similarity between the following the query and the text on a scale from 0 to 1 (decimals allowed), where 1 means exactly the same meaning and 0 means completely different:\n\nQuery: ${query}\n\nText: ${text}\n\nRelevance score (0-1):`;\n}\n","import { Agent } from '../../agent';\nimport type { MastraModelConfig } from '../../llm/model/shared.types';\nimport { createSimilarityPrompt } from '../relevance-score-provider';\nimport type { RelevanceScoreProvider } from '../relevance-score-provider';\n\n// Mastra Agent implementation\nexport class MastraAgentRelevanceScorer implements RelevanceScoreProvider {\n private agent: Agent;\n\n constructor(name: string, model: MastraModelConfig) {\n this.agent = new Agent({\n name: `Relevance Scorer ${name}`,\n instructions: `You are a specialized agent for evaluating the relevance of text to queries.\nYour task is to rate how well a text passage answers a given query.\nOutput only a number between 0 and 1, where:\n1.0 = Perfectly relevant, directly answers the query\n0.0 = Completely irrelevant\nConsider:\n- Direct relevance to the question\n- Completeness of information\n- Quality and specificity\nAlways return just the number, no explanation.`,\n model,\n });\n }\n\n async getRelevanceScore(query: string, text: string): Promise<number> {\n const prompt = createSimilarityPrompt(query, text);\n\n const model = await this.agent.getModel();\n\n let response: string;\n if (model.specificationVersion === 'v2') {\n const responseText = await this.agent.generate(prompt);\n response = responseText.text;\n } else {\n const responseText = await this.agent.generateLegacy(prompt);\n response = responseText.text;\n }\n return parseFloat(response);\n }\n}\n"]}
@@ -2204,7 +2204,7 @@ function saveLastRefreshTimeToDisk(date) {
2204
2204
  }
2205
2205
  function getPackageRoot() {
2206
2206
  try {
2207
- const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-BCFLCIAX.cjs', document.baseURI).href)) || "file://");
2207
+ const require2 = module$1.createRequire((typeof document === 'undefined' ? require('u' + 'rl').pathToFileURL(__filename).href : (_documentCurrentScript && _documentCurrentScript.tagName.toUpperCase() === 'SCRIPT' && _documentCurrentScript.src || new URL('chunk-B6RCPK2E.cjs', document.baseURI).href)) || "file://");
2208
2208
  const packageJsonPath = require2.resolve("@mastra/core/package.json");
2209
2209
  return path__default.default.dirname(packageJsonPath);
2210
2210
  } catch {
@@ -2474,6 +2474,137 @@ var autoRefreshEnabled = process.env.MASTRA_AUTO_REFRESH_PROVIDERS === "true" ||
2474
2474
  if (autoRefreshEnabled) {
2475
2475
  GatewayRegistry.getInstance({ useDynamicLoading: isDev }).startAutoRefresh();
2476
2476
  }
2477
+ var AISDKV5LanguageModel = class {
2478
+ /**
2479
+ * The language model must specify which language model interface version it implements.
2480
+ */
2481
+ specificationVersion = "v2";
2482
+ /**
2483
+ * Name of the provider for logging purposes.
2484
+ */
2485
+ provider;
2486
+ /**
2487
+ * Provider-specific model ID for logging purposes.
2488
+ */
2489
+ modelId;
2490
+ /**
2491
+ * Supported URL patterns by media type for the provider.
2492
+ *
2493
+ * The keys are media type patterns or full media types (e.g. `*\/*` for everything, `audio/*`, `video/*`, or `application/pdf`).
2494
+ * and the values are arrays of regular expressions that match the URL paths.
2495
+ * The matching should be against lower-case URLs.
2496
+ * Matched URLs are supported natively by the model and are not downloaded.
2497
+ * @returns A map of supported URL patterns by media type (as a promise or a plain object).
2498
+ */
2499
+ supportedUrls;
2500
+ #model;
2501
+ constructor(config) {
2502
+ this.#model = config;
2503
+ this.provider = this.#model.provider;
2504
+ this.modelId = this.#model.modelId;
2505
+ this.supportedUrls = this.#model.supportedUrls;
2506
+ }
2507
+ async doGenerate(options) {
2508
+ const result = await this.#model.doGenerate(options);
2509
+ return {
2510
+ request: result.request,
2511
+ response: result.response,
2512
+ stream: new ReadableStream({
2513
+ start(controller) {
2514
+ controller.enqueue({ type: "stream-start", warnings: result.warnings });
2515
+ controller.enqueue({
2516
+ type: "response-metadata",
2517
+ id: result.response?.id,
2518
+ modelId: result.response?.modelId,
2519
+ timestamp: result.response?.timestamp
2520
+ });
2521
+ for (const message of result.content) {
2522
+ if (message.type === "tool-call") {
2523
+ const toolCall = message;
2524
+ controller.enqueue({
2525
+ type: "tool-input-start",
2526
+ id: toolCall.toolCallId,
2527
+ toolName: toolCall.toolName
2528
+ });
2529
+ controller.enqueue({
2530
+ type: "tool-input-delta",
2531
+ id: toolCall.toolCallId,
2532
+ delta: toolCall.input
2533
+ });
2534
+ controller.enqueue({
2535
+ type: "tool-input-end",
2536
+ id: toolCall.toolCallId
2537
+ });
2538
+ controller.enqueue(toolCall);
2539
+ } else if (message.type === "text") {
2540
+ const text = message;
2541
+ const id = `msg_${crypto.randomUUID()}`;
2542
+ controller.enqueue({
2543
+ type: "text-start",
2544
+ id,
2545
+ providerMetadata: text.providerMetadata
2546
+ });
2547
+ controller.enqueue({
2548
+ type: "text-delta",
2549
+ id,
2550
+ delta: text.text
2551
+ });
2552
+ controller.enqueue({
2553
+ type: "text-end",
2554
+ id
2555
+ });
2556
+ } else if (message.type === "reasoning") {
2557
+ const id = `reasoning_${crypto.randomUUID()}`;
2558
+ const reasoning = message;
2559
+ controller.enqueue({
2560
+ type: "reasoning-start",
2561
+ id,
2562
+ providerMetadata: reasoning.providerMetadata
2563
+ });
2564
+ controller.enqueue({
2565
+ type: "reasoning-delta",
2566
+ id,
2567
+ delta: reasoning.text,
2568
+ providerMetadata: reasoning.providerMetadata
2569
+ });
2570
+ controller.enqueue({
2571
+ type: "reasoning-end",
2572
+ id,
2573
+ providerMetadata: reasoning.providerMetadata
2574
+ });
2575
+ } else if (message.type === "file") {
2576
+ const file = message;
2577
+ controller.enqueue({
2578
+ type: "file",
2579
+ mediaType: file.mediaType,
2580
+ data: file.data
2581
+ });
2582
+ } else if (message.type === "source") {
2583
+ const source = message;
2584
+ controller.enqueue({
2585
+ type: "source",
2586
+ id: source.id,
2587
+ sourceType: source.sourceType,
2588
+ title: source.title,
2589
+ providerMetadata: source.providerMetadata
2590
+ });
2591
+ }
2592
+ }
2593
+ controller.enqueue({
2594
+ type: "finish",
2595
+ finishReason: result.finishReason,
2596
+ usage: result.usage,
2597
+ providerMetadata: result.providerMetadata
2598
+ });
2599
+ controller.close();
2600
+ }
2601
+ })
2602
+ };
2603
+ }
2604
+ async doStream(options) {
2605
+ return await this.#model.doStream(options);
2606
+ }
2607
+ };
2477
2608
 
2478
2609
  // src/llm/model/gateways/index.ts
2479
2610
  function findGatewayForModel(gatewayId, gateways2) {
@@ -2540,10 +2671,33 @@ var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2540
2671
  this.modelId = parsedConfig.id;
2541
2672
  this.config = parsedConfig;
2542
2673
  }
2543
- async doGenerate() {
2544
- throw new Error(
2545
- "doGenerate is not supported by Mastra model router. Mastra only uses streaming (doStream) for all LLM calls."
2546
- );
2674
+ async doGenerate(options) {
2675
+ let apiKey;
2676
+ try {
2677
+ if (this.config.url) {
2678
+ apiKey = this.config.apiKey || "";
2679
+ } else {
2680
+ apiKey = this.config.apiKey || await this.gateway.getApiKey(this.config.routerId);
2681
+ }
2682
+ } catch (error) {
2683
+ return {
2684
+ stream: new ReadableStream({
2685
+ start(controller) {
2686
+ controller.enqueue({
2687
+ type: "error",
2688
+ error
2689
+ });
2690
+ controller.close();
2691
+ }
2692
+ })
2693
+ };
2694
+ }
2695
+ const model = await this.resolveLanguageModel({
2696
+ apiKey,
2697
+ ...chunkIJRERAWQ_cjs.parseModelRouterId(this.config.routerId, this.gateway.prefix)
2698
+ });
2699
+ const aiSDKV5Model = new AISDKV5LanguageModel(model);
2700
+ return aiSDKV5Model.doGenerate(options);
2547
2701
  }
2548
2702
  async doStream(options) {
2549
2703
  let apiKey;
@@ -2561,6 +2715,7 @@ var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2561
2715
  type: "error",
2562
2716
  error
2563
2717
  });
2718
+ controller.close();
2564
2719
  }
2565
2720
  })
2566
2721
  };
@@ -2569,7 +2724,8 @@ var ModelRouterLanguageModel = class _ModelRouterLanguageModel {
2569
2724
  apiKey,
2570
2725
  ...chunkIJRERAWQ_cjs.parseModelRouterId(this.config.routerId, this.gateway.prefix)
2571
2726
  });
2572
- return model.doStream(options);
2727
+ const aiSDKV5Model = new AISDKV5LanguageModel(model);
2728
+ return aiSDKV5Model.doStream(options);
2573
2729
  }
2574
2730
  async resolveLanguageModel({
2575
2731
  modelId,
@@ -2606,19 +2762,21 @@ function isOpenAICompatibleObjectConfig(modelConfig) {
2606
2762
  return false;
2607
2763
  }
2608
2764
  async function resolveModelConfig(modelConfig, runtimeContext = new chunkGPWMM745_cjs.RuntimeContext(), mastra) {
2765
+ if (typeof modelConfig === "function") {
2766
+ modelConfig = await modelConfig({ runtimeContext, mastra });
2767
+ }
2768
+ if (modelConfig instanceof ModelRouterLanguageModel || modelConfig instanceof AISDKV5LanguageModel) {
2769
+ return modelConfig;
2770
+ }
2609
2771
  if (typeof modelConfig === "object" && "specificationVersion" in modelConfig) {
2772
+ if (modelConfig.specificationVersion === "v2") {
2773
+ return new AISDKV5LanguageModel(modelConfig);
2774
+ }
2610
2775
  return modelConfig;
2611
2776
  }
2612
2777
  if (typeof modelConfig === "string" || isOpenAICompatibleObjectConfig(modelConfig)) {
2613
2778
  return new ModelRouterLanguageModel(modelConfig);
2614
2779
  }
2615
- if (typeof modelConfig === "function") {
2616
- const fromDynamic = await modelConfig({ runtimeContext, mastra });
2617
- if (typeof fromDynamic === "string" || isOpenAICompatibleObjectConfig(fromDynamic)) {
2618
- return new ModelRouterLanguageModel(fromDynamic);
2619
- }
2620
- return fromDynamic;
2621
- }
2622
2780
  throw new Error("Invalid model configuration provided");
2623
2781
  }
2624
2782
  var ModelRouterEmbeddingModel = class {
@@ -2728,5 +2886,5 @@ exports.PROVIDER_REGISTRY = PROVIDER_REGISTRY;
2728
2886
  exports.getProviderConfig = getProviderConfig;
2729
2887
  exports.parseModelString = parseModelString;
2730
2888
  exports.resolveModelConfig = resolveModelConfig;
2731
- //# sourceMappingURL=chunk-BCFLCIAX.cjs.map
2732
- //# sourceMappingURL=chunk-BCFLCIAX.cjs.map
2889
+ //# sourceMappingURL=chunk-B6RCPK2E.cjs.map
2890
+ //# sourceMappingURL=chunk-B6RCPK2E.cjs.map